技术领域
本发明涉及对图像进行压缩编码而传送的图像编码装置以及图像编码方法、和从由图像编码装置传送的编码数据解码出图像的图像解码装置以及图像解码方法。
背景技术:
以往,在MPEG、ITU-TH.26x等国际标准影像编码方式中,将输入影像帧分割成由16×16像素块构成的宏块的单位并实施了运动补偿预测之后,将预测误差信号正交变换·量化为块单位,从而进行信息压缩。
但是,如果压缩率变高,则在实施运动补偿预测时使用的预测参照图像的质量降低,从而存在压缩效率受到阻碍的问题。
因此,在MPEG-4AVC/H.264的编码方式(参照非专利文献1)中,通过实施循环内闭塞滤波器的处理,去除伴随正交变换系数的量化而产生的预测参照图像的块失真。
此处,图17是示出非专利文献1公开的图像编码装置的结构图。
在该图像编码装置中,如果块分割部101输入了编码对象的图像信号,则将该图像信号分割成宏块单位,将宏块单位的图像信号作为分割图像信号输出到预测部102。
预测部102如果从块分割部101接收到分割图像信号,则在帧内或者帧间预测宏块内的各颜色分量的图像信号,而计算预测误差信号。
特别,在帧间实施运动补偿预测的情况下,按照宏块自身或者将宏块进一步细致地分割而得到的子块的单位搜索运动矢量。
然后,使用该运动矢量,实施针对由存储器107保存的参照图像信号的运动补偿预测,从而生成运动补偿预测图像,求出表示该运动补偿预测图像的预测信号与分割图像信号的差分,从而计算预测误差信号。
另外,预测部102将在得到预测信号时决定的预测信号生成用参数输出到可变长编码部108。
另外,在预测信号生成用参数中,例如,包括表示如何进行帧内的空间预测的帧内部预测模式、表示帧间的运动量的运动矢量等信息。
压缩部103如果从预测部102接收到预测误差信号,则通过实施针对该预测误差信号的DCT(离散余弦变换)处理而去除了信号相关之后,进行量化,从而得到压缩数据。
局部解码部104如果从压缩部103接收到压缩数据,则通过对该压缩数据进行逆量化并实施逆DCT处理,计算与从预测部102输出的预测误差信号相当的预测误差信号。
加法器105如果从局部解码部104接收到预测误差信号,则将该预测误差信号和从预测部102输出的预测信号相加,而生成局部解码图像。
环路滤波器106去除重叠到表示由加法器105生成的局部解码图像的局部解码图像信号的块失真,将除去失真后的局部解码图像信号作为参照图像信号保存到存储器107。
可变长编码部108如果从压缩部103接收到压缩数据,则对该压缩数据进行熵编码,输出作为其编码结果的比特流。
另外,可变长编码部108在输出比特流时,将从预测部102输出的预测信号生成用参数多路复用到比特流而输出。
此处,在非专利文献1公开的方式中,环路滤波器106针对DCT的块边界的周边像素,根据量化的粗细、编码模式、运动矢量的偏差程度等信息,决定平滑化强度,降低在块边界产生的失真。
由此,参照图像信号的质量改善,可以提高以后的编码中的运动补偿预测的效率。
另一方面,在非专利文献1公开的方式中,存在越是高压缩率地编码,信号的高频分量越损失,画面整体被过度平滑化而影像变得模糊这样的问题。
为了解决该问题,在非专利文献2中,提出了作为环路滤波器106,应用维纳滤波器(Wiener Filter),以使作为原图像信号的编码对象的图像信号、和与其对应的参照图像信号的平方误差(squared error)失真成为最小的方式,构成环路滤波器106的技术。
图18是示出在非专利文献2公开的图像编码装置中,通过维纳滤波器改善参照图像信号的质量的原理的说明图。
在图18中,信号s是与输入到图17的块分割部101的编码对象的图像信号相当的信号,信号s’是与从图17的加法器105输出的局部解码图像信号、或者非专利文献1中的通过环路滤波器106而在块边界产生的失真被降低的局部解码图像信号相当的信号。
即,信号s’是在信号s中重叠了编码失真(噪声)e的信号。
维纳滤波器被定义为以使该编码失真(噪声)e在平方误差失真的规范中成为最小的方式对信号s’实施的滤波器,一般,可以通过信号s’的自相关矩阵Rs’s’、和信号s、s’的互相关矩阵Rss’,根据下述式(1)求出滤波系数w。矩阵Rs’s’、Rss’的大小对应于所求出的滤波器的抽头数。
通过实施滤波系数w的维纳滤波,作为与参照图像信号相当的信号,得到质量被改善了的信号
另外,在非专利文献2中,在编码对象的图像的帧整体中求出多种抽头数的滤波系数w,确定滤波系数w的代码量和滤波处理实施后的失真在率失真规范(rate distortion criterion)中成为最佳的抽头数的滤波器之后,进而将信号s’分割成多个尺寸的块,选择是否针对每个块应用上述中求出的最佳的抽头数的维纳滤波器,针对每个块传送滤波器ON/OFF(接通/截止)的信息。
由此,可以抑制维纳滤波处理所需的追加的代码量,改善预测图像质量。
【非专利文献1】
MPEG-4AVC(ISO/IEC 14496-10)/ITU-T H.264标准
【非专利文献2】
T.Chujoh,G.Yasuda,N.Wada,T.Watanabe,T.Yamakage,“Block-based Adaptive Loop Filter”,VCEG-AI18,ITU-TSG16/Q.6meeting,July 2008
技术实现要素:
以往的图像编码装置如以上那样构成,所以在编码对象的图像的帧整体中设计1个维纳滤波器,适用针对构成该帧的多个块是否分别应用维纳滤波处理。但是,由于在任一块中都应用相同的维纳滤波器,所以存在该维纳滤波器不一定是对该块来说最佳的滤波器,而有时无法充分地改善图像质量的课题。
本发明是为了解决上述那样的课题而完成的,其目的在于得到一种可以提高图像质量的改善精度的图像编码装置、图像解码装置、图像编码方法以及图像解码方法。
在本发明的图像编码装置中,滤波动作单元包括:区域分类部,分别抽出构成由局部解码单元得到的局部解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类;以及滤波器设计处理部,针对每个构成该局部解码图像的多个区域中的1个以上的区域所属的类别,生成使属于该类别的1个以上的区域中的输入图像与局部解码图像之间的误差成为最小的滤波器,使用该滤波器,对重叠到该区域的失真进行补偿。
根据本发明,滤波动作单元包括:区域分类部,分别抽出构成由局部解码单元得到的局部解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类;以及滤波器设计处理部,针对每个构成该局部解码图像的多个区域中的1个以上的区域所属的类别,生成使属于该类别的1个以上的区域中的输入图像与局部解码图像之间的误差成为最小的滤波器,使用该滤波器,对重叠到该区域的失真进行补偿,所以具有可以提高图像质量的改善精度的效果。
附图说明
图1是示出本发明的实施方式1的图像编码装置的结构图。
图2是示出本发明的实施方式1的图像编码装置的环路滤波器6的结构图。
图3是示出本发明的实施方式1的图像编码装置的环路滤波器6的处理内容的流程图。
图4是示出分配了构成局部解码图像的4个区域(区域A、区域B、区域C、区域D)的类别的一个例子的说明图。
图5是示出构成局部解码图像的16个块(K)的说明图。
图6是示出由可变长编码部8生成的比特流的一个例子的说明图。
图7是示出本发明的实施方式1的图像解码装置的结构图。
图8是示出本发明的实施方式1的图像解码装置的环路滤波器25的结构图。
图9是示出本发明的实施方式1的图像解码装置的环路滤波器25的结构图。
图10是示出本发明的实施方式1的图像解码装置的环路滤波器25的处理内容的流程图。
图11是示出本发明的实施方式2的图像编码装置的环路滤波器6的处理内容的流程图。
图12是示出构成局部解码图像的多个块(K)中的维纳滤波器的选择例的说明图。
图13是示出本发明的实施方式2的图像解码装置的环路滤波器25的处理内容的流程图。
图14是示出本发明的实施方式3的图像编码装置的环路滤波器6的处理内容的流程图。
图15是示出第1帧中的环路滤波器6的处理内容的流程图。
图16是示出第2帧以后的环路滤波器6的处理内容的流程图。
图17是示出非专利文献1公开的图像编码装置的结构图。
图18是示出通过维纳滤波器改善参照图像信号的质量的原理的说明图。
具体实施方式
以下,为了更详细说明本发明,根据附图,说明具体实施方式。
实施方式1.
图1是示出本发明的实施方式1的图像编码装置的结构图。
在图1中,块分割部1实施如下处理:将作为输入图像的编码对象的图像信号分割成宏块单位,将宏块单位的图像信号作为分割图像信号输出到预测部2。
预测部2如果从块分割部1接收到分割图像信号,则针对该分割图像信号在帧内或者帧间进行预测来生成预测信号。
特别在帧间实施运动补偿预测的情况下,从该分割图像信号和表示由存储器7保存的参照图像的参照图像信号,按照宏块自身、或者将宏块进一步细致地分割而得到的子块的单位,检测运动矢量,根据该运动矢量和参照图像信号,生成表示预测图像的预测信号。
然后,在生成了预测信号之后,实施计算作为该分割图像信号与预测信号的差分的预测误差信号的处理。
另外,预测部2在生成预测信号时决定预测信号生成用参数,将该预测信号生成用参数输出到可变长编码部8。
在预测信号生成用参数中,例如,包括表示如何进行帧内的空间预测的帧内部预测模式、表示帧间的运动量的运动矢量等信息。
另外,由块分割部1以及预测部2构成预测处理单元。
压缩部3实施如下处理:通过实施针对由预测部2计算出的预测误差信号的DCT(离散余弦变换)处理,计算DCT系数,并且对该DCT系数进行量化,将作为量化后的DCT系数的压缩数据输出到局部解码部4以及可变长编码部8。另外,压缩部3构成差分图像压缩单元。
局部解码部4实施如下处理:通过对从压缩部3输出的压缩数据进行逆量化并实施逆DCT处理,计算与从预测部2输出的预测误差信号相当的预测误差信号。
加法器5实施如下处理:通过将由局部解码部4计算出的预测误差信号和由预测部2生成的预测信号相加,生成表示局部解码图像的局部解码图像信号。
另外,由局部解码部4以及加法器5构成局部解码单元。
环路滤波器6实施如下处理:实施对重叠到由加法器5生成的局部解码图像信号的失真进行补偿的滤波处理,将滤波处理后的局部解码图像信号作为参照图像信号输出到存储器7,并且将在实施滤波处理时使用的滤波器的信息输出到可变长编码部8。另外,环路滤波器6构成滤波动作单元。
存储器7是保存从环路滤波器6输出的参照图像信号的记录介质。
可变长编码部8实施如下处理:对从压缩部3输出的压缩数据、从环路滤波器6输出的滤波器信息以及从预测部2输出的预测信号生成用参数进行熵编码,生成表示它们的编码结果的比特流。另外,可变长编码部8构成可变长编码单元。
图2是示出本发明的实施方式1的图像编码装置的环路滤波器6的结构图。
在图2中,帧存储器11是保存1帧的由加法器5生成的局部解码图像信号的记录介质。
区域分类部12实施如下处理:分别抽出构成由帧存储器11保存的1帧的局部解码图像信号表示的局部解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类。
滤波器设计处理部13实施如下处理:针对每个构成局部解码图像的多个区域中的1个以上的区域所属的类别,生成使属于该类别的1个以上的区域中的编码对象的图像信号与局部解码图像信号之间的误差成为最小的维纳滤波器,使用该维纳滤波器,对重叠到该区域的失真进行补偿。
另外,滤波器设计处理部13实施将与维纳滤波器有关的滤波器信息输出到可变长编码部8的处理。
接下来,说明动作。
块分割部1如果输入了编码对象的图像信号,则将该图像信号分割成宏块单位,将宏块单位的图像信号作为分割图像信号输出到预测部2。
预测部2如果从块分割部1接收到分割图像信号,则检测用于针对该分割图像信号在帧内或者帧间进行预测的预测信号生成用参数。之后,使用预测信号生成用参数生成表示预测图像的预测信号。
特别是关于作为用于在帧间进行预测的预测信号生成用参数的运动矢量,从分割图像信号和由存储器7保存的参照图像信号进行检测。
然后,预测部2如果检测到运动矢量,则使用该运动矢量,实施针对该参照图像信号的运动补偿预测,从而生成预测信号。
预测部2如果生成了表示预测图像的预测信号,则计算作为该预测信号与分割图像信号的差分的预测误差信号,将该预测误差信号输出到压缩部3。
另外,预测部2在生成该预测信号时决定预测信号生成用参数,将该预测信号生成用参数输出到可变长编码部8。
另外,在预测信号生成用参数中,例如,包括表示如何进行帧内的空间预测的帧内部预测模式、表示帧间的运动量的运动矢量等信息。
压缩部3如果从预测部2接收到预测误差信号,则实施针对该预测误差信号的DCT(离散余弦变换)处理,从而计算DCT系数,对该DCT系数进行量化。
然后,压缩部3将作为量化后的DCT系数的压缩数据输出到局部解码部4以及可变长编码部8。
局部解码部4如果从压缩部3接收到压缩数据,则对该压缩数据进行逆量化,实施逆DCT处理,从而计算与从预测部2输出的预测误差信号相当的预测误差信号。
如果局部解码部4计算出预测误差信号,则加法器5将该预测误差信号和由预测部2生成的预测信号相加,从而生成表示局部解码图像的局部解码图像信号。
如果加法器5生成了局部解码图像信号,则环路滤波器6实施对重叠到该局部解码图像信号的失真进行补偿的滤波处理,将滤波处理后的局部解码图像信号作为参照图像信号保存到存储器7。
另外,环路滤波器6将在实施滤波处理时使用的滤波器的信息输出到可变长编码部8。
可变长编码部8实施如下处理:对从压缩部3输出的压缩数据、从环路滤波器6输出的滤波器信息以及从预测部2输出的预测信号生成用参数进行熵编码,生成表示它们的编码结果的比特流。
此处,对预测信号生成用参数也进行了熵编码,但也可以对预测信号生成用参数不进行熵编码,而将该预测信号生成用参数多路复用到所生成的比特流来输出。
以下,具体说明环路滤波器6的处理内容。
图3是示出本发明的实施方式1的图像编码装置的环路滤波器6的处理内容的流程图。
首先,环路滤波器6的帧存储器11保存1帧的由加法器5生成的局部解码图像信号。
区域分类部12分别抽出构成由帧存储器11保存的1帧的局部解码图像信号表示的局部解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类(步骤ST1)。
例如,针对某区域(任意的尺寸(M×M像素)的块)的每一个,抽出该区域内的局部解码图像信号的分散值(variance)、DCT系数、运动矢量、DCT系数的量化参数等而作为特征量,根据这些信息实施类别分类。M是1以上的整数。
在将多个区域分配成类别1~类别N(N是1以上的整数)中的某一个的情况下,例如,在作为特征量使用该区域内的局部解码图像信号的分散值的情况下,预先准备N-1个阈值,对该局部解码图像信号的分散值和N-1个阈值(th1<th2<…<thN-1)进行比较,而对该区域所属的类别进行分类。
例如,在局部解码图像信号的分散值是thN-3以上并且小于thN-2的情况下,将该区域分配成类别N-2,在局部解码图像信号的分散值是th2以上并且小于th3的情况下,将该区域分配成类别3。
此处,示出了预先准备N-1个阈值的情况,但也可以针对每个序列、每个帧,使这些阈值动态地变化。
例如,在作为特征量,使用该区域内的运动矢量的情况下,计算该运动矢量的平均矢量或者中间矢量,根据该矢量的大小或者方向,对该区域所属的类别进行分类。
此处,关于平均矢量,将针对每个运动矢量的分量(x分量、y分量)取平均值而得到的结果作为矢量的分量。
另外,关于中间矢量,将针对每个运动矢量的分量(x分量、y分量)取中间值而得到的结果作为矢量的分量。
如果区域分类部12将多个区域分配成类别1~类别N中的某一个,则滤波器设计处理部13针对每个构成局部解码图像的多个区域中的1个以上的区域所属的类别,生成使属于该类别的1个以上的区域中的编码对象的图像信号与局部解码图像信号之间的误差成为最小的维纳滤波器(步骤ST2~ST8)。
例如,如图4所示,在局部解码图像由4个区域(区域A、区域B、区域C、区域D)构成的情况下,如果区域A、区域C被分配成类别3,区域B被分配成类别5,区域D被分配成类别6,则生成使属于类别3的区域A、区域C中的编码对象的图像信号和局部解码图像信号之间的误差成为最小的维纳滤波器。
另外,生成使属于类别5的区域B中的编码对象的图像信号与局部解码图像信号之间的误差成为最小的维纳滤波器,生成使属于类别6的区域D中的编码对象的图像信号与局部解码图像信号之间的误差成为最小的维纳滤波器。
另外,滤波器设计处理部13在生成使误差成为最小的维纳滤波器时,例如,在以各种抽头数进行了滤波器设计的情况下,分别计算下述那样的成本,决定该成本成为最小的滤波器的抽头数以及系数值。
成本=D+λ·R (2)
其中,D是应用作为对象的滤波器的区域内的编码对象的图像信号、与滤波处理后的局部解码图像信号间的平方误差和,λ是常数,R是在环路滤波器6中产生的代码量。
此处,用式(2)表示了成本,但其仅为一个例子,例如,也可以仅将平方误差和D作为成本。
另外,也可以并非平方误差和D,而是误差的绝对值和等其他评价值。
滤波器设计处理部13如果针对每个1个以上的区域所属的类别,生成了维纳滤波器,则针对构成局部解码图像的多个块(例如,比构成局部解码图像的区域A~D小的局部性的区域),对各块分别决定是否为实施滤波处理的块(步骤ST9~ST16)。
即,滤波器设计处理部13针对构成局部解码图像的多个块,对各块分别比较在滤波处理的前后的块内的编码对象的图像信号与局部解码图像信号之间的误差。
例如,如图5所示,在局部解码图像由16个块(K)(K=1、2、…16)构成的情况下,针对每个块,分别比较在滤波处理的前后的该块(K)中的编码对象的图像信号与局部解码图像信号之间的平方误差和。
另外,图5的块1、块2、块5、块6对应于图4的区域A,块3、块4、块7、块8对应于区域B,块9、块10、块13、块14对应于区域C,块11、块12、块15、块16对应于区域D。
此处,虽然比较了在滤波处理的前后的平方误差和,但也可以比较在滤波处理的前后的式(2)所示的成本(D+λ·R),也可以比较在滤波处理的前后的误差的绝对值和。
如果滤波处理后的平方误差和小于滤波处理前的平方误差和,则滤波器设计处理部13决定为该块(K)是实施滤波处理的块。
另一方面,如果滤波处理后的平方误差和大于滤波处理前的平方误差和,则决定为该块(K)是不实施滤波处理的块。
然后,滤波器设计处理部13计算实施了在步骤ST1~ST16中成本成为最小的情况的滤波处理的情况、和在该帧整体没有实施滤波处理的情况的成本,决定是否在该帧整体进行滤波处理(步骤ST17~ST18)。
在步骤ST18中决定为进行滤波处理的帧中,设置标志(frame_filter_on_off_flag)=1(ON),实施在步骤ST1~ST16中成本成为最小的情况的滤波处理,将滤波处理后的局部解码图像信号作为参照图像信号输出到存储器7(步骤ST19~ST20)。
例如,如果包含该块(K)的区域是区域B,区域B所属的类别是类别5,则使用类别5的维纳滤波器,实施该块(K)中的滤波处理,将滤波处理后的局部解码图像信号作为参照图像信号输出到存储器7。
此时,在步骤ST1~ST16中成本成为最小的是实施了选择是否针对每个块进行滤波处理的处理的情况时(标志(block_filter_on_off_flag)=1(ON)时),对于决定为不实施滤波处理的块(K),不实施该块(K)中的滤波处理,将滤波处理前的局部解码图像信号原样地作为参照图像信号输出到存储器7。另一方面,在步骤ST1~ST16中成本成为最小的是不实施选择是否针对每个块进行滤波处理的处理的情况时(标志(block_filter_on_off_flag)=0(OFF)时),针对帧内的所有局部解码图像信号,使用各个信号所属的区域所属的类别的维纳滤波器来分别实施滤波处理,将滤波处理后的局部解码图像信号作为参照图像信号输出到存储器7。
另外,在步骤ST18中决定为不进行滤波处理的帧中,设置标志(frame_filter_on_off_flag)=0(OFF),将滤波处理前的局部解码图像信号原样地作为参照图像信号输出到存储器7(步骤ST21~ST22)。
在流程图中的步骤ST2~ST22中,“min_cost”是保存成本的最小值的变量、“i”是滤波器抽头数tap[i]的索引以及循环计数器、“j”是块尺寸bl_size[j]的索引以及循环计数器。
另外,“min_tap_idx”是成本成为最小时的滤波器抽头数的索引(i)、“min_bl_size_idx”是成本成为最小时的块尺寸的索引(j)。
另外,“MAX”是成本最小值的初始值(充分大的值)。
·tap[i](i=0~N1)
保存有预定的可选择的N1(N1≥1)种类的滤波器抽头数的排列。
·bl_size[j](j=0~N2)
保存有预定的可选择的N2(N2≥1)种类的块尺寸(bl_size[j]×bl_size[j]像素)的排列。
·block_filter_on_off_flag
表示是否实施选择是否在该帧中针对每个块进行滤波处理的处理的标志。
·frame_filter_on_off_flag
表示是否在该帧中进行滤波处理的标志。
另外,步骤ST2是设定初始值的步骤,步骤ST3~ST8是进行滤波器抽头数的选择处理的循环。
另外,步骤ST9是设定初始值的步骤,步骤ST10~ST16是进行块尺寸的选择处理以及决定是否针对所选择出的块尺寸的每个块实施滤波处理的处理的循环。
进而,步骤ST17~ST18是决定是否在该帧整体中进行滤波处理的步骤,步骤ST19~ST20是设成frame_filter_on_off_flag=1(ON),进行在步骤ST1~ST16中决定的最佳的滤波处理的步骤,步骤ST21~ST22是设成frame_filter_on_off_flag=0(OFF),在该帧中不进行滤波处理的步骤。
滤波器设计处理部13如果如上所述,生成维纳滤波器并实施了滤波处理,则将与该维纳滤波器相关的滤波器信息输出到可变长编码部8。
在滤波器信息中,包括表示是否在该帧中进行滤波处理的标志(frame_filter_on_off_flag)。
在该标志是ON(进行滤波处理)的情况下,作为滤波器信息包括以下所示的信息。
(1)维纳滤波器的数量(1个以上的区域所属的类别的数量)
·维纳滤波器的数量也可以针对每个帧不同。
(2)维纳滤波器的抽头数的信息(索引)
·在帧内的所有滤波器中是共同的情况下,包括共同的抽头数。
·在针对每个滤波器,抽头数不同的情况下,包括各个滤波器的抽头数。
(3)实际使用的维纳滤波器(1个以上的区域所属的类别的维纳滤波器)的系数的信息
·不包括与即使生成实际上也不使用的维纳滤波器相关的信息。
(4)每个块的滤波器的ON/OFF信息以及块尺寸信息
·表示是否在该帧中进行每个块的ON/OFF(有无滤波处理)的标志(block_filter_on_off_flag)。
·仅限于block_filter_on_off_flag是ON的情况,包括块尺寸信息(索引)以及每个块的滤波处理的ON/OFF信息。
此处,示出了作为滤波器信息包括(1)~(4)的信息,但对于维纳滤波器的数量、维纳滤波器的抽头数、ON/OFF的块尺寸,也可以不进行编码发送,而设成在图像编码装置以及图像解码装置中共同地确定的信息,来分别保持着。
另外,在此前的说明中将图3作为环路滤波器6的具体的处理内容而进行了说明,但也可以将省略步骤ST9~ST16而针对每个块不进行滤波处理的ON/OFF(作为滤波器信息没有(4))的处理内容作为环路滤波器6的处理内容。
针对从滤波器设计处理部13输出的滤波器信息,如上所述,通过可变长编码部8进行熵编码而发送到图像解码装置。
图6是示出由可变长编码部8生成的比特流的一个例子的说明图。
图7是示出本发明的实施方式1的图像解码装置的结构图。
在图7中,可变长解码部21如果从图像编码装置接收到比特流,则实施从该比特流对压缩数据、滤波器信息以及预测信号生成用参数进行可变长解码的处理。另外,可变长解码部21构成可变长解码单元。
预测部22实施使用由可变长解码部21可变长解码了的预测信号生成用参数来生成表示预测图像的预测信号的处理。特别是在将运动矢量用作预测信号生成用参数的情况下,实施根据该运动矢量和由存储器26保存的参照图像信号生成预测信号的处理。另外,预测部22构成预测图像生成单元。
预测误差解码部23实施如下处理:通过对由可变长解码部21可变长解码了的压缩数据进行逆量化并实施逆DCT处理,计算与从图1的预测部2输出的预测误差信号相当的预测误差信号。
加法器24实施通过将由预测误差解码部23计算出的预测误差信号与由预测部22生成的预测信号相加,计算与从图1的加法器5输出的解码图像信号相当的解码图像信号的处理。
另外,由预测误差解码部23以及加法器24构成解码单元。
环路滤波器25实施对重叠到从加法器24输出的解码图像信号的失真进行补偿的滤波处理,并实施将滤波处理后的解码图像信号作为滤波处理完毕解码图像信号输出到外部以及存储器26的处理。另外,环路滤波器25构成滤波动作单元。
存储器26是将从环路滤波器25输出的滤波处理完毕解码图像信号保存为参照图像信号的记录介质。
图8是示出本发明的实施方式1的图像解码装置的环路滤波器25的结构图。
在图8中,帧存储器31是保存1帧的从加法器24输出的解码图像信号的记录介质。
区域分类部32与图2的区域分类部12同样地,实施分别抽出构成由帧存储器31保存的1帧的解码图像信号表示的解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类的处理。
滤波处理部33实施参照由可变长解码部21可变长解码了的滤波器信息,生成对由区域分类部32分类了的各区域所属的类别适用的维纳滤波器,使用该维纳滤波器,补偿重叠到该区域的失真的处理。
在图8的例子中,示出了在前级安装了帧存储器31的环路滤波器25,但在进行闭合于宏块单位的滤波处理的情况下,也可以如图9所示,在前级不安装帧存储器31,而区域分类部32分别抽出构成该宏块的解码图像的多个区域的特征量。
但是,在该情况下,需要在图像编码装置中的滤波处理中实施针对每个宏块能够独立的处理。
接下来,说明动作。
可变长解码部21如果从图像编码装置接收到比特流,则从该比特流对压缩数据、滤波器信息以及预测信号生成用参数进行可变长解码。
预测部22如果从可变长解码部21接收到预测信号生成用参数,则根据该预测信号生成用参数生成预测信号。特别是在作为预测信号生成用参数接收到运动矢量的情况下,根据该运动矢量和由存储器26保存的参照图像信号生成预测信号。
预测误差解码部23如果从可变长解码部21接收到压缩数据,则通过对该压缩数据进行逆量化并实施逆DCT处理,计算与从图1的预测部2输出的预测误差信号相当的预测误差信号。
如果预测误差解码部23计算出预测误差信号,则加法器24通过将该预测误差信号与由预测部22生成的预测信号相加,计算与从图1的加法器5输出的局部解码图像信号相当的解码图像信号。
环路滤波器25如果从加法器24接收到解码图像信号,则实施对重叠到该解码图像信号的失真进行补偿的滤波处理,将滤波处理后的解码图像信号作为滤波处理完毕解码图像信号输出到外部并且作为参照图像信号保存到存储器26。
以下,具体说明环路滤波器25的处理内容。
图10是示出本发明的实施方式1的图像解码装置的环路滤波器25的处理内容的流程图。
首先,环路滤波器25的帧存储器31保存1帧的从加法器24输出的解码图像信号。
区域分类部32在滤波器信息中包含的标志(frame_filter_on_off_flag)是ON(进行滤波处理)的情况下(步骤ST31),与图2的区域分类部12同样地,分别抽出构成由帧存储器31保存的1帧的解码图像信号表示的解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类(步骤ST32)。
滤波处理部33如果从可变长解码部21接收到滤波器信息,则参照该滤波器信息,生成对由区域分类部32分类了的各区域所属的类别适用的维纳滤波器(步骤ST33)。
例如,在维纳滤波器的数量(1个以上的区域所属的类别的数量)是N个、维纳滤波器的抽头数是L×L、各维纳滤波器的系数值用wi11、wi12、…、wi1L、…、wiL1、wiL2、…、wiLL来表示的情况下,N个维纳滤波器Wi(i=1、2、…、N)如下式所示。
滤波处理部33如果生成了N个维纳滤波器Wi,则使用这些维纳滤波器,对重叠到1帧的解码图像信号的失真进行补偿,将补偿后的解码图像信号作为滤波处理完毕解码图像信号输出到外部以及存储器26(步骤ST34)。
此处,滤波处理后的解码图像信号用下述式(4)来表示。
矩阵S是包括滤波处理对象的解码图像信号s的L×L像素的参照信号群,id(s)是包含由区域分类部32求出的信号s的区域所属的类别的编号(滤波器编号)。
其中,滤波处理部33在上述滤波处理时参照滤波器信息中包含的标志(block_filter_on_off_flag),在标志(block_filter_on_off_flag)=1(ON)的情况下,参照滤波器信息中包含的块尺寸信息,确定了构成解码图像的多个块(K)之后,参照滤波器信息中包含的是否进行每个块(K)的滤波处理的信息来进行滤波处理。
即,滤波处理部33在标志(block_filter_on_off_flag)=1(ON)的情况下,针对构成解码图像的多个块中的进行滤波处理的块(K),使用包含该块(K)的区域所属的类别的维纳滤波器,对块(K)内的解码图像信号实施滤波处理,但对于不进行滤波处理的块(K),将滤波处理前的解码图像信号原样地作为滤波处理完毕解码图像信号输出到外部以及存储器26。
另一方面,在标志(block_filter_on_off_flag)=0(OFF)的情况下,使用与由区域分类部32对各区域分配的类别对应的滤波器,对该帧内的所有解码图像信号实施滤波处理。
滤波处理部33在滤波器信息中包含的标志(frame_filter_on_off_flag)是OFF(不进行滤波处理)的情况(步骤ST31)下,针对该帧不实施滤波处理,而将从加法器24输出的解码图像信号原样地作为滤波处理完毕解码图像信号输出到外部以及存储器26(步骤ST35)。
如上所述,根据该实施方式1,环路滤波器6包括:区域分类部12,分别抽出构成从加法器5输出的局部解码图像信号表示的局部解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类;以及滤波器设计处理部13,针对每个构成该局部解码图像的多个区域中的1个以上的区域所属的类别,生成使属于该类别的1个以上的区域中的编码对象的图像信号与局部解码图像信号之间的平方误差和成为最小的维纳滤波器,使用该维纳滤波器,对重叠到该区域的失真进行补偿,所以实现与图像的局部性的性质对应的滤波处理,其结果,具有得到可以提高图像质量的改善精度的图像编码装置的效果。
另外,根据该实施方式1,环路滤波器25包括:区域分类部32,分别抽出构成从加法器24输出的解码图像信号表示的解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类;以及滤波处理部33,参照由可变长解码部21可变长解码了的滤波器信息,生成对由区域分类部32分类了的各区域所属的类别适用的维纳滤波器,使用该维纳滤波器,对重叠到该区域的失真进行补偿,所以实现与图像的局部性的性质对应的滤波处理,其结果,具有得到可以提高图像质量的改善精度的图像解码装置的效果。
实施方式2.
在上述实施方式1中,示出了滤波器设计处理部13针对每个1个以上的区域所属的类别生成维纳滤波器,对构成局部解码图像的多个块(K),对各块分别使用包含该块(K)的区域所属的类别的维纳滤波器,实施该块(K)中的滤波处理,但也可以从针对每个1个以上的区域所属的类别生成的维纳滤波器中,对各块分别选择该块(K)中的编码对象的图像信号与局部解码图像信号之间的平方误差和成为最小的维纳滤波器,使用该维纳滤波器,对重叠到该块(K)的失真进行补偿。
具体而言,如下所述。
图11是示出本发明的实施方式2的图像编码装置的环路滤波器6的处理内容的流程图。
滤波器设计处理部13与上述实施方式1同样地,针对每个1个以上的区域所属的类别生成维纳滤波器(步骤ST2~ST8)。
但是,在该实施方式2中,不使用表示是否在该帧中实施选择是否针对每个块进行滤波处理的处理的标志(block_filter_on_off_fiag),而使用表示是否在该帧中针对每个块选择所使用的滤波器的标志(block_filter_selection_flag),在步骤ST40中,标志(block_filter_selection_flag)初始设定成OFF,仅在实施步骤ST46的情况下标志(block_filter_selection_flag)成为ON。
另外,如后所述,仅限于标志(block_filter_selection_flag)是ON的情况,将块尺寸以及每个块的滤波器选择信息包含于滤波器信息。
滤波器设计处理部13如果针对每个1个以上的区域所属的类别,生成了维纳滤波器,则针对构成局部解码图像的多个块(K),在对各块分别从针对每个1个以上的区域所属的类别生成的维纳滤波器中选择一个来进行滤波处理的情况、和不进行滤波处理的情况中,选择最佳的处理(例如,该块(K)中的编码对象的图像信号与局部解码图像信号之间的平方误差和成为最小的处理)(步骤ST9、ST41~ST47)。
具体而言,在生成了4个维纳滤波器W1、W2、W3、W4的情况下,在分别使用4个维纳滤波器实施了滤波处理时,如果块(K)中的平方误差和E的大小关系如下所述,则针对块(K),选择平方误差和E成为最小的维纳滤波器W3。
EW3<EW2<EW4<EW0<EW1
其中,EW0表示不进行滤波处理的情况的平方误差和E。
此处,图12是示出构成局部解码图像的多个块(K)中的维纳滤波器的选择例的说明图,例如,在块(1)中,选择维纳滤波器W2,在块(2)中,选择维纳滤波器W3。
滤波器设计处理部13在决定为对该帧使用维纳滤波器进行滤波处理的情况下,设置标志(frame_filter_on_off_flag)=1(ON),实施在步骤ST1~ST9以及ST40~ST47中成本成为最小的情况的滤波处理,将滤波处理后的局部解码图像信号作为参照图像信号输出到存储器7(步骤ST17~ST20)。
另一方面,在决定为在该帧整体中不进行滤波处理的情况下(步骤ST17~ST18),设置标志(frame_filter_on_off_flag)=0(OFF),将滤波处理前的局部解码图像信号原样地作为参照图像信号输出到存储器7(步骤ST21~ST22)。
滤波器设计处理部13如果如上所述,生成维纳滤波器并实施了滤波处理,则将与该维纳滤波器相关的滤波器信息输出到可变长编码部8。
在滤波器信息中,包括表示是否在该帧中进行滤波处理的标志(frame_filter_on_off_flag)。
在该标志是ON(进行滤波处理)的情况下,作为滤波器信息包括以下所示的信息。
(1)维纳滤波器的数量(1个以上的区域所属的类别的数量)
·维纳滤波器的数量也可以针对每个帧不同。
(2)维纳滤波器的抽头数的信息(索引)
·在帧内的所有滤波器中是共同的情况下,包括共同的抽头数。
·在针对每个滤波器抽头数不同的情况下,包括各个滤波器的抽头数。
(3)实际使用的维纳滤波器(1个以上的区域所属的类别的维纳滤波器)的系数的信息
·不包括与即使生成实际上也不使用的维纳滤波器相关的信息。
(4)每个块的滤波器的选择信息以及块尺寸信息
·表示是否按照帧单位选择每个块的滤波器的标志(block_filter_selection_flag)。
·仅限于block_filter_selection_flag是ON的情况,包括块尺寸的信息(索引)以及每个块的选择信息。
此处,示出了作为滤波器信息包括(1)~(4)的信息,但也可以对于维纳滤波器的数量、维纳滤波器的抽头数、块尺寸,不编码发送,而设成在图像编码装置以及图像解码装置中共同地确定的信息,并分别保持。
在图像解码装置中的环路滤波器25中,实施以下的处理内容。
图13是示出本发明的实施方式2的图像解码装置的环路滤波器25的处理内容的流程图。
首先,环路滤波器25的帧存储器31保存1帧的从加法器24输出的解码图像信号。
区域分类部32在滤波器信息中包含的标志(frame_filter_on_off_flag)是ON(进行滤波处理)(步骤ST31)、并且滤波器信息中包含的标志(block_filtelr_selection_flag)是OFF的情况下(步骤ST51),与上述实施方式1同样地,分别抽出构成由帧存储器31保存的1帧的解码图像信号表示的解码图像的多个区域的特征量,根据该特征量对各区域所属的类别进行分类(步骤ST32)。
另一方面,在滤波器信息中包含的标志(frame_filter_on_off_flag)是ON(进行滤波处理)(步骤ST31)、并且滤波器信息中包含的标志(block_filter_selection_flag)是ON的情况下(步骤ST51),参照滤波器信息中包含的信息中的成为滤波器的选择单位的块尺寸的信息、每个块的滤波器选择信息,针对每个块进行类别分类(步骤ST52)。
如果区域分类部32对各区域(各块)所属的类别进行了分类,则滤波处理部33与上述实施方式1同样地,参照从可变长解码部21输出的滤波器信息,生成对由区域分类部32分类了的各区域(各块)所属的类别适用的维纳滤波器(步骤ST33)。
滤波处理部33如果生成了在各类别中适用的维纳滤波器,则在(block_filter_selection_flag)是OFF的情况下,与在上述实施方式1中标志(block_filter_on_off_flag)是OFF的情况同样地,使用所生成的维纳滤波器,对该帧内的所有解码图像信号实施滤波处理,将滤波处理后的解码图像信号作为滤波处理完毕解码图像信号输出到外部以及存储器26(步骤ST53)。
另一方面,在(block_filter_selection_flag)是ON的情况下,滤波处理部33如果生成了在各类别中适用的维纳滤波器,则针对每个块,使用所选择出的维纳滤波器对重叠到块内的解码图像信号的失真进行补偿,将滤波处理后的解码图像信号作为滤波处理完毕解码图像信号输出到外部以及存储器26(步骤ST53)。
此时的、滤波处理后的解码图像信号用下述式(5)表示。
矩阵S是包括滤波处理对象的解码图像信号s的L×L像素的参照信号群。
id_2(bl)是包括解码图像信号s的块bl中的滤波器选择信息、即块bl的类别编号(滤波器编号)。
另外,在id_2(bl)=0的情况下,认为表示不实施滤波处理的块,而不实施该块的滤波处理。
如上所述,根据该实施方式2,针对构成解码图像的多个块(K),对各块分别从针对每个1个以上的区域所属的类别生成的维纳滤波器中选择该块(K)中的编码对象的图像信号与解码图像信号之间的平方误差和成为最小的维纳滤波器,使用该维纳滤波器,对重叠到该块(K)的失真进行补偿,所以起到可以比上述实施方式1进一步提高图像质量的改善精度的效果。
实施方式3.
在上述实施方式2中,示出了针对构成解码图像的多个块(K),对各块分别从使用在该帧中针对每个1个以上的块所属的类别生成的维纳滤波器中的某一个的情况和不进行滤波处理的情况中选择该块(K)中的编码对象的图像信号与局部解码图像信号之间的平方误差和成为最小的情况的方法,但也可以预先准备1个以上的维纳滤波器,从使用上述预先准备的维纳滤波器中的某一个的情况、使用在该帧中针对每个1个以上的块所属的类别生成的维纳滤波器中的某一个的情况、以及不进行滤波处理的情况中,选择该块(K)中的编码对象的图像信号与局部解码图像信号之间的平方误差和成为最小的情况。
图14是示出本发明的实施方式3的图像编码装置的环路滤波器6的处理内容的流程图。
在该实施方式3的情况下,维纳滤波器的选择分支增加,所以相比于上述实施方式2,选择最佳的维纳滤波器的概率提高。
另外,维纳滤波器的选择方法与上述实施方式2相同,所以省略说明。
另外,对于图像解码装置的处理内容,也与上述实施方式2相同,所以省略说明。
实施方式4.
在上述实施方式2中,示出了针对构成解码图像的多个块(K),对各块分别从使用在该帧中针对每个1个以上的块所属的类别生成的维纳滤波器中的某一个的情况和不进行滤波处理的情况中,选择该块(K)中的编码对象的图像信号与局部解码图像信号之间的平方误差和成为最小的情况的方法,但也可以从使用在该帧中针对每个1个以上的块所属的类别生成的维纳滤波器中的某一个的情况、使用在已经编码了的帧中使用的维纳滤波器中的某一个的情况、以及不进行滤波处理的情况中,选择该块(K)中的编码对象的图像信号与局部解码图像信号之间的平方误差和成为最小的情况。
此处,图15是示出第1帧中的环路滤波器6的处理内容的流程图,与上述实施方式2中的图11的流程图相同。
图16是示出第2帧以后的环路滤波器6的处理内容的流程图。
另外,作为在已经编码了的帧中使用的维纳滤波器的参照方法,例如,考虑下述那样的参照方法。
(1)从滤波处理对象块内计算出的某代表性的运动矢量指示的位置的块中使用的维纳滤波器
(2)与滤波处理对象块在时间上最近的帧中的相同位置的块中使用的维纳滤波器
(3)在编码了的帧内的块中互相关系数最高的块中使用的维纳滤波器
在(3)的情况下,在图像编码装置以及图像解码装置中,需要相同的块搜索处理。
在该实施方式4的情况下,维纳滤波器的选择分支增加,所以相比于上述实施方式2,选择最佳的维纳滤波器的概率提高。
另外,维纳滤波器的选择方法与上述实施方式2相同,所以省略说明。
另外,对于图像解码装置的处理内容,也与上述实施方式2相同,所以省略说明。
产业上的可利用性
本发明的图像编码装置、图像解码装置、图像编码方法以及图像解码方法可以提高图像质量的改善精度,适用于对图像进行压缩编码而传送的图像编码装置以及图像编码方法、从由图像编码装置传送的编码数据解码出图像的图像解码装置以及图像解码方法等。