本申请是申请人“夏普株式会社”于2008年6月26日提出的申请号为PCT/JP2008/061672、发明名称为“图像编码装置、图像编码方法、图像译码装置、图像译码方法、程序以及记录介质”的申请的分案申请。
具体实施方式
<实施方式1>
以下,参照图1至图13来说明本发明的实施方式1的图像编码装置。
(图像编码装置100的结构)
首先,参照图1来说明本实施方式的图像编码装置100的结构。图1是表示本实施方式的图像编码装置100的结构的框图。图像编码装置100具备差分运算部1、正交变换部2、量子化部3、熵编码部4、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部10、预测模式确定部11、边缘解析部12、预测套组确定部13、以及相对预测套组信息作成部51(图1)。在本实施方式中,将对上述现有技术中未说明的主要结构即、熵编码部4、帧内预测部10、预测模式确定部11、边缘解析部12、预测套组确定部13、相对预测套组信息作成部51进行说明。
(熵编码部4)
熵编码部4对预测残差数据、预测模式信息、相对预测套组信息等进行熵编码,并输出编码数据。
(帧内预测部10)
帧内预测部10使用存储器9中存储的局部译码图像,进行、预测套组信息及预测模式信息所表示的帧内预测,并生成预测图像。关于预测像素的详细生成方法,将在以后详述。
(预测模式确定部11)
预测模式确定部11基于输入过来的编码对象像块的原始图像、以及从存储器9输入过来的局部译码图像,从预测套组信息所示的多个预测模式中确定出一个、编码对象像块的预测时所要用的预测模式,其中,预测套组信息由预测套组确定部13输入过来。然后,把用以表示所确定的预测模式的预测模式信息输出至帧内预测部10以及熵编码部4。另外,关于预测模式的确定,可以使用预测残差成本最小化法或斜失真最佳化法来进行。
(边缘解析部12)
边缘解析部12根据其检测出的边缘,算出边缘强度以及边缘方向。具体为,把输入过来的呈M×M像素的编码对象像块中进一步分割成呈N×N像素的子像块,并就每一个子像块进行边缘检测,然后根据所检测出的边缘,算出边缘强度以及边缘方向。
(预测套组确定部13)
预测套组确定部13确定可应用于编码对象像块的预测套组。具体为,根据边缘解析部12所计算出的、编码对象像块的边缘方向以及边缘强度,从预先规定的预测套组群中确定出可应用于编码对象像块的预测套组,然后把用以表示该确定了的预测套组的预测套组信息输出。关于预测套组(群)的详细内容,将在以后详述。
(相对预测套组信息作成部51)
相对预测套组信息作成部51将用以表示预测套组确定部13所确定的可应用于编码对象像块的预测套组的预测套组信息,基于用以表示已编码的预测套组的信息来进行预测,然后输出通过预测中涉及的标示(flag)及差分来表示预测套组的信息(相对预测套组信息)(某信息)。关于相对预测套组信息作成部51的详细内容,将在以后说明。
(图像编码处理的概要)
以下参照图2来说明图像编码装置100的图像编码处理的概要。图2是表示图像编码装置100的图像编码处理概要的流程图。
(编码对象像块的输入以及边缘信息的计算)
当呈M×M像素的编码对象像块的被输入至图像编码装置100时(步骤S1),边缘解析部12把呈M×M像素的编码对象像块进一步分割成呈N×N像素(N M)的子像块(步骤S2)。接着,边缘解析部12把构成M×M像素像块的所有子像块的边缘强度以及边缘方向作为边缘信息来算出(步骤S3)。关于边缘信息的详细计算方法,将在以后详述。
(预测套组的确定、预测套组信息的编码)
预测套组确定部13根据步骤S3中所算出的边缘信息,确定出可应用于编码对象像块的预测套组,并把用以表示所确定的预测套组的信息(以下也称预测套组信息)输出至预测模式确定部11、相对预测套组信息作成部51、以及帧内预测部10(步骤S4)。相对预测套组信息作成部51从预测套组确定部13接收了预测套组信息后,根据用以表示已编码的预测套组的信息,就所接收的预测套组信息进行预测,然后把相对预测套组信息输出至熵编码部4(步骤S5)。熵编码部4把相对预测套组信息进行熵编码后,将其输出(步骤S6)。关于预测套组的详细确定方法以及预测套组信息的详细编码方法、以及预测套组信息的数据结构,将在以后详述。
(预测模式的确定、以及预测模式信息的编码)
预测模式确定部11根据存储器9输入过来的、已编码邻接子像块的局部译码图像,从预测套组确定部13输入的预测套组信息所示的多个预测模式中,确定出编码对象像块的预测时所要用的预测模式,并把确定出的预测模式的信息输出至帧内预测部10、以及熵编码部4(步骤S7)。熵编码部4对输入过来的预测模式信息进行熵编码,并将预测模式信息的编码数据输出(步骤S8)。在此,编码对象子像块是指,将编码对象像块分割成N×N像素像块后所得到的子像块。
(预测图像的生成)
帧内预测部10使用从存储器9输入过来的已编码邻接子像块中局部译码图像,依照上述步骤S4中所确定的预测套组以及上述步骤S7中所确定的预测模式,进行帧内预测,并生成编码对象子像块的预测图像,然后将该预测图像输出至差分运算部1以及相加运算部8(步骤S9)。
(预测残差数据的计算)
差分运算部1计算出N×N像素像块的预测残差数据,并将其输出,其中,N×N像素像块的预测残差数据是指输入过来的编码对象子像块的原始图像与上述步骤S9中所生成的预测图像之间的差分(步骤S10)。
(正交变换以及量子化)
上述步骤S10中所算出的预测残差数据被先后输入至正交变换部2、量子化部3,并被进行正交变换/量子化,然后被输出至熵编码部4以及逆量子化部6(步骤S11)。
(逆正交变换以及逆量子化)
被进行了正交变换/量子化后的预测残差数据被先后输入至逆量子化部6、逆正交变换部7,并被进行逆量子化/逆正交变换,然后被输出至相加运算部8(步骤S12)。
(局部译码图像的生成)
相加运算部8把步骤S12中被进行了逆量子化以及逆正交变换的预测残差数据、以及步骤S9中生成的预测图像进行相加,以生成N×N像素像块的局部译码图像(步骤S13)。所生成的局部译码图像被存储于存储器9。
(预测残差数据的编码)
熵编码部4对编码对象子像块的已量子化预测残差数据进行熵编码,然后将预测残差数据的编码数据输出(步骤S14)。
步骤S7至S14的处理是就构成编码对象像块的所有子像块所进行的。另外,步骤S1至S14的处理是就构成编码对象图像的所有像块所进行的。
(附注事项)
在本实施方式中,虽然按步骤S1至S14的顺序说明了图像编码装置100的编码处理,但并不限定于此。本发明能够在实施可能的范围内进行各种变更。
(边缘解析部12的详细动作以及边缘信息的数据结构)
表1表示了边缘解析部12所计算出的边缘信息的数据结构。在表1中,“bk”是指用以表示编码对象像块中子像块位置的计数器(counter);“end_bk”是指编码对象像块中末端子像块的编号。
[表1]
参数 |
详细 |
edge_data(){ |
边缘信息 |
for(bk=0;bk<=end_bk;bk++){ |
|
edge_orientation[bk] |
表示了位置bk上的子像块的边缘方向 |
edge_strength[bk] |
表示了位置bk上的子像块的边缘强度 |
} |
|
} |
|
关于边缘解析部12的详细动作,以下参照图3进行说明。图3是表示边缘信息的详细确定处理的流程图。
当被输入了呈M×M像素(M N)的编码对象像块后,边缘解析部12将输入过来的编码对象像块进一步分割成呈N×N像素的子像块(步骤S20),然后把用以表示编码对象像块中子像块位置的计数器bk初始化成零值(步骤S21)。
接着,边缘解析部12通过算子来计算计数器bk所示子像块(以下也称对象子像块)中的所有像素的梯度矢量(水平成分、垂直成分)(步骤S22)。关于计算梯度矢量时的算子,例如有索贝尔(sobel)算子、帕维特(prewitt)算子等。另外,关于梯度矢量,其可以如以下的式子(7)那样,根据梯度矢量计算对象的像素的、上下左右各像素值间的差分来算出。
[数学式4]
在式子中,I(x,y)表示了对象子像块中的、像素位置(x,y)上的像素值,G(x,y)表示了像素位置(x,y)上的梯度矢量。
边缘解析部12根据步骤S22中所算出的对象子像块内所有像素的梯度矢量,算出边缘信息(步骤S23)。在本说明书中,“边缘信息”是指对象子像块的边缘方向即、edge_orientation[bk]以及边缘强度即、edge_strength[bk]。关于边缘方向以及边缘强度的计算方法,将在以后详述。
边缘解析部12把步骤S23中所算出的对象子像块的边缘方向以及边缘强度放入至边缘信息edge_data()(步骤S24),然后将计数器bk的值相加1(步骤S25)。
接着,边缘解析部12判断计数器bk的值是否大于end_bk的值(步骤S26)。若bk所示的值小于等于编码对象像块内末端子像块位置end_bk的值(在步骤S26中为“是”),便计算下一子像块内所有像素的梯度矢量。即,再次返回步骤S22。若bk所示的值大于编码对象像块内末端子像块位置end_bk的值(在步骤S26中为“否”),便输出边缘信息edge_data(),并结束编码对象像块的边缘解析处理(步骤S27)。
(边缘方向以及边缘强度的详细计算方法)
以下说明边缘方向以及边缘强度的计算方法的具体例。
边缘强度表示了对象子像块中各像素的梯度矢量的平均强度,其可通过以下式子(8)或(9)算出。Gx、Gy分别表示了梯度矢量G(x,y)中的x成分、y成分。
[数学式5]
边缘方向可以通过多种方法来求取,对此并不作特别限定。在本实施方式中,使用非专利文献2中记载的方法为例,对边缘方向的计算方法进行说明。在非专利文献2中记载了指纹检测时所用的边缘方向导入法。
首先,通过以下的式子(10)来计算对象子像块内的像素位置上的梯度矢量。在此,式子(10)中的sign()是以下的式子(11)所示的函数,即,当大于等于0时,便返回为“1”;当为负时,便返回为“-1”的函数。其次,通过以下的式子(12),使用所算出的对象子像块内像素位置(x,y)上的梯度矢量G(x,y),算出平方梯度矢量Gs(x,y)。然后,通过以下的式子(13),使用所求出的对象子像块内所有像素的平方梯度矢量,算出对象子像块的平均平方梯度矢量。
[数学式6]
接着,通过以下式子组(14)来定义Gxx、Gyy、Gxy。关于对象子像块的梯度矢量的方向φ,使用规定义的Gxx、Gyy以及Gxy,并通过以下式子(15)来算出。在此,关于∠(x,y),通过以下式子(16)来定义。另外,以下式子(16)中的[rad]是弧度法中的角度单位。
[数学式7]
关于对象子像块的边缘方向θ,由于其与对象子像块的梯度方向垂直,因此能够通过以下式子(17)算出。另外,若要以度数法来表示对象子像块的边缘方向的话,可通过以下式子(18)来变换。在此,以下式子(18)中的[deg]是度数法中的角度单位。
另外,上述边缘方向的计算方法以及边缘强度的计算方法将被应用于后述实施方式3的图像编码装置200的边缘解析部212。
[数学式8]
(边缘检测的具体例)
以下,参照图4的(a)至(f)来说明边缘解析部12所检测出的边缘的具体例。图4的(a)至(f)是边缘解析部12所检测出的边缘的具体例图,(a)是形成有横条纹的原始图像,(b)是从该原始图像中检测出的边缘图像;(c)是形成有纵条纹的原始图像,(d)是从该原始图像中检测出的边缘图像;(e)是形成有扭转图案的原始图像,(f)是从该原始图像中检测出的边缘图像。在各边缘图像中,黑色部分都表示了平坦部,白色部分都表示了边缘部。
关于图4的(a)所示的横条纹图案,如图4的(b)所示,其在水平方向上被检测出较多的边缘。因此,呈图5的(a)所示的边缘方向分布。关于图4的(c)所示的横条纹图案,如图4的(d)所示,其在垂直方向上被检测出较多的边缘。因此,呈图5的(b)所示的边缘方向分布。关于图4的(e)所示的扭转图案,如图4的(f)所示,其在水平方向以及垂直方向上被检测出较多的边缘。因此,呈图5的(c)所示的边缘方向分布。
图5的(a)至(c)是图4的(b)、(d)、(f)所示边缘图像的边缘方向分布图,(a)表示了图4的(b)的边缘方向分布,(b)表示了图4的(d)的边缘方向分布,(c)表示了图4的(f)的边缘方向分布。
(预测套组确定部13的动作以及预测套组的详细内容)
以下通过图6以及图7来说明预测套组确定部13的动作以及预测套组的详细内容。如以上所述,预测套组确定部13主要根据边缘解析部12所算出的编码对象像块的边缘信息,从预测套组群中确定出可应用于编码对象像块的预测套组。
(预测套组的详细内容)
本说明书中的预测套组群是由L个预测套组所构成的集合。另外,预测套组群内的各预测套组i(0 i L-1)是Ki个预测模式的集合,各预测模式定义了不同的预测方式。i表示了用以识别各预测套组的编号。
另外,关于预测套组中的预测方式,可以包括有预测方向(边缘)θ规定义的空间预测以及DC预测,此外,其还可以由平面预测、频率预测,或模板匹配(template matching)等这些预测方式所构成。此外,每一预测套组i(0 i L-1)的预测模式数Ki(0 i L-1)也可以相互不同。
(预测套组群以及预测套组的具体例)
以下参照表2以及图6来说明预测套组群以及预测套组的具体例。表2表示了,预测套组数L=4、预测模式数K0=K1=K2=K3=9时的一例预测套组群。另外,表2中的[0][deg]、[-90][deg]、[±15][deg]、[±22.5][deg]、[±30][deg]、[±45][deg]、[±67.5][deg]、[±75][deg]表示了预测方向θ规定义的空间预测,“DC”表示了DC预测。
[表2]
图6的(a)至(d)是表示、表2的各预测套组中的除DC预测之外的其他预测模式的图,(a)至(d)分别对应了预测套组0至3。
图6的(a)所示的预测套组0与现有技术的帧内预测时所用的预测套组相同,所以在此省略其说明。
图6的(b)所示的预测套组1是重视于水平方向预测的预测套组,其对、图5的(a)所示的边缘集中于水平方向(0[deg]左右)时的情况较有效。关于边缘集中于水平方向的图像,例如有图4的(a)所示的横条纹图像。
图6的(c)所示的预测套组2是重视于垂直方向预测的预测套组,其对、图5的(b)所示的边缘集中于垂直方向(±90[deg]左右)时的情况较有效。关于边缘集中于垂直方向的图像,例如有图4的(c)所示的纵条纹图像。
图6的(d)所示的预测套组3是重视于垂直方向预测及水平方向预测的预测套组,其对、图5的(c)所示的边缘集中于垂直方向(±90[deg]左右)及水平方向(0[deg]左右)这两方时的情况较有效。关于边缘集中于垂直方向及水平方向这两方的图像,例如有图4的(e)所示的扭转图案图像。
如此,通过预先设定多个诸如预测套组0至3的这些重视于不同特定方向预测的预测套组,并按每一编码对象像块来切换使用预先规定的预测套组,便能够从现有图像编码装置所不能处理的方向来进行预测。
(预测套组信息的确定处理的详细内容)
以下参照图7来说明预测套组的详细的确定处理。图7是表示预测套组确定部13的详细动作的流程图。另外,关于说明预测套组确定部13的动作时所涉及的参数,将通过表3来表示其定义。
[表3]
边缘信息edge_data()被输入了预测套组确定部13后(步骤S30),预测套组确定部13便将计数器set_num设定成零值,并将min_sum_of_delta_angle设定成初始值,由此进行初始化(步骤S31)。其次,将计数器bk以及sum_of_delta_angle[set_sum]设定成零值,并将min_delta_angle设定成初始值,由此进行初始化(步骤S32)。
接着,预测套组确定部13判断计数器bk所示编码对象像块中的子像块(以下也称对象子像块)的边缘强度edge_strength[bk]是否大于等于阈值Th(步骤S33)。关于阈值Th,可以预先设定为适宜的值,或也可以适当地设定。
当edge_strength[bk]大于等于阈值Th时(在步骤S33中为“是”),预测套组确定部13便在预测套组内计算出以下两者间差分角度的最小绝对值(以下称最小绝对差分角度)min_delta_angle,该两者是指:对象子像块中的边缘方向edge_angle[bk];预测套组编号set_num所示预测套组中的、预测模式编号mode_num所示预测模式的预测方向pred_angle[set_num][mode_num]。关于该计算,可以使用以下式子(19)。
[数学式9]
另外,可以把表2所示预测套组中各预测模式所示的预测方向的值代入预测方向pred_angle[set_num][mode_num]。例如,若是表2的预测套组1(即、set_num=1)中的预测模式6(即、mode_num=6)的话,由于预测模式6的预测方向为15[deg],所以pred_angle[1][6]=15[deg]。
预测套组确定部13算出了最小绝对差分角度min_delta_angle后,将所算出的min_delta_angle乘以常数α,然后把乘积相加到成本sum_of_delta_angle[set_num]中(步骤S35)。另外,常数α是对应了绝对差分角度大小的规定加权系数。
接着,预测套组确定部13使计数器bk相加1,由此设置下一个子像块编号(步骤S36)。然后判断计数器bk是否小于等于end_bk(步骤S37)。若计数器bk的值小于等于编码对象像块内末端子像块的编号end_bk(在步骤S37中为“是”),预测套组确定部13便再次从步骤S33开始进行处理。若计数器bk的值大于end_bk(在步骤S37中为“否”),便使计数器set_num相加1,由此设置下一个预测套组编号(步骤S38)。
步骤S32至步骤S38的处理是为了计算出表示以下两者有多近似的类似度,该两者为:预测套组编号set_num所示预测套组中规定义的预测方向、以及编码对象像块内所有子像块的边缘方向。预测套组中的预测方向与所有字像块的边缘方向越近似,类似度sum_of_delta_angle[set_num]的值便越小。
接着,预测套组确定部13判断计数器set_num以及末端编号end_set_num的大小(步骤S39)。若计数器set_num小于等于end_set_num(在步骤S39中为“是”),便再次从步骤S32开始进行处理。若计数器set_num大于end_set_num(在步骤S39中为“否”),便把sum_of_delta_angle[set_num]呈最小值时的预测套组编号set_num所示的、预测套组作为可应用于编码对象像块的预测套组pred_set(步骤S40)。然后,预测套组确定部13把用以表示预测套组pred_set的预测套组信息输出至帧内预测部10、预测模式确定部11以及相对预测套组信息作成部51(步骤S41)。关于预测套组pred_set,可以使用以下的式子(20)来确定出sum_of_delta_angle[set_num]呈最小时的预测套组的编号。在此,式子(20)中的set_group表示了预测套组群。另外,表4表示了预测套组信息的数据结构。
[数学式10]
[表4]
语法 |
详细 |
prediction_set_data(){ |
预测套组信息 |
pred_set |
表示是哪个预测套组 |
} |
|
(预测套组信息的编码处理)
以下说明预测套组信息的详细的编码处理。相对预测套组信息作成部51根据已编码的预测套组信息,就预测套组确定部13所确定的可应用于编码对象像块的预测套组信息来进行预测,然后把以该预测中涉及的标示(flag)及差分来表示预测套组时的信息(相对预测套组信息)输出至熵编码部4。另外,在熵编码部4中,也可以不对相对预测套组信息进行熵编码,而直接对预测套组信息进行熵编码。
表5表示了相对预测套组信息的数据结构。在表5中,relative_predicition_set_data()中的probable_pred_set_flag是用以表示可应用于编码对象像块的预测套组是否与所预测的预测套组相同的标示(flag)。另外,rem_pred_set是用以表示除预测时所用的预测套组probable_pred_set之外的某一剩余预测套组的信息。相对预测套组信息可以是、可应用于编码对象像块的预测套组pred_set的值;也可以是、可应用于编码对象像块的预测套组pred_set的值与预测值probable_pred_set之间的差值。
[表5]
(相对预测套组信息作成部51的结构)
在说明相对预测套组信息作成部51的动作之前,先参照图8来说明相对预测套组信息作成部51的结构。图8是表示相对预测套组信息作成部51的结构的框图。相对预测套组信息作成部51具有相对预测套组信息生成部511、预测套组信息预测部512以及预测套组信息存储部513。以下就该些结构进行说明。
(相对预测套组信息生成部511)
相对预测套组信息生成部511根据预测套组信息预测部512所确定的预测值,就输入过来的预测套组信息来进行预测,并将相对预测套组信息输出。
(预测套组信息预测部512)
预测套组信息预测部512根据预测套组信息存储部513中存储的已编码预测套组信息,确定出可应用于编码对象像块的预测套组的、预测值,然后将该预测值输出。
在确定可应用于编码对象像块的预测套组的预测值时,可以使用以下(1)至(5)所述的方法。为了明确图像区域中的像块的位置,在此通过图9来表示预测套组信息的预测时所用的像块的位置。
(1)在图9中位于编码对象像块61附近的像块(60a至60k)中,把该些像块所被应用的预测套组中的、出现频度最高的预测套组作为预测值。
(2)在图9中位于编码对象像块61附近的像块(60a至60c,或60a、60c、60d)中,把该些像块所被应用的预测套组的中间值作为预测值。
(3)把图9中位于编码对象像块61左侧的已编码像块(60a)所被应用的预测套组作为预测值。
(4)把图9中位于编码对象像块61上侧的已编码像块(60c)所被应用的预测套组作为预测值。
(5)在图9的编码对象帧中,从、在对象像块61之前被编码了的像块(图9中的已编码图像区域60,即、由已编码像块60s、60t、60u、60v、60a、60b、60c、60d所围住的区域中的所有像块)所被应用的预测套组中,把出现频度最高的预测套组作为预测值。
另外,若不存在已被编码的预测套组信息,可以把预先规定的预测套组设定为probable_pred_set。
(预测套组信息存储部513)
预测套组信息存储部513对输入过来的预测套组信息进行存储。
(预测套组信息的预测处理的详细内容)
以下参照图10来说明预测套组信息的预测处理的详细内容。图10是相对预测套组信息作成部51中的、预测套组信息的预测处理的流程图。
预测套组信息预测部512根据预测套组信息存储部513中存储的已编码预测套组信息,确定出预测套组的预测值,并将该预测值输出(步骤S50)。接着,输入至相对预测套组信息作成部51的预测套组信息被输入给预测套组信息存储部513以及相对预测套组信息生成部511(步骤S51)。预测套组信息存储部513对输入过来的预测套组信息进行存储(步骤S52)。相对预测套组信息生成部511对以下两者进行比较,该两者为:可应用于编码对象像块的预测套组pred_set;通过上述(1)至(5)的任意一方法,由预测套组信息预测部512所确定的、预测套组的预测值probable_pred_set(步骤S53)。
若预测套组pred_set与预测套组的预测值probable_pred_set呈相一致(在步骤S53中为“是”),相对预测套组信息生成部511便把用以表示“相一致”的信息设定给probable_pred_set_flag(probable_pred_set_flag=1)(步骤S54),把该信息作为相对预测信息,输出至熵编码部4(步骤S58)。
若预测套组pred_set与预测套组的预测值probable_pred_set不一致(在步骤S53中为“否”),相对预测套组信息生成部511便把用以表示“不一致”的信息设定给probable_pred_set_flag(probable_pred_set_flag=0),并求取用以表示剩余某一预测套组的信息(rem_pred_set)。
具体为,首先对pred_set以及probable_pred_set的值进行比较(步骤S55)。若pred_set小于probable_pred_set(在步骤S55中为“是”),便设定probable_pred_set_flag=0,设定rem_pred_set=pred_set(步骤S56),然后把该些作为相对预测套组信息来输出(步骤S58)。若pred_set大于probable_pred_set(在步骤S55中为“否”),便设定probable_pred_set_flag=0,设定rem_pred_set=pred_set-1(步骤S57),然后把该些作为相对预测套组信息来输出(步骤S58)。
(从预测方向θ进行的预测图像生成方法的详细内容)
以下参照图11来说明从预测方向θ进行的预测图像生成方法。在图11所示的N×N像素像块的预测图像生成方法中,直线l通过了X-Y平面上的点P(xp,yp),从直线1的方向来预测点P上的像素值I(xp,yp)。图11中格子的交点表示了整数像素位置,图中的X轴自身部分以及Y轴自身部分表示了参照像素区域。
在X-Y平面中,把满足0<x N且0<y N的区域作为预测对象像素区域;把满足0 xL且y 0、或x 0且y 0、或x 0且0 y K的区域作为编码像素区域;把除该些之外的其他区域作为未编码像素区域。另外,把编码像素区域中的满足0 x L且y=0的区域、或满足x=0且y=0的区域、或满足x=0且0 y K的区域作为参照像素区域。
关于预测方向,例如有以下的2种情况,即,从区域(0 x L且y=0)上的参照像素区域来预测点P的像素值;或,从区域(x=0且0y K)上的参照像素区域来预测点P的像素值。
关于上述的“N”、“L”以及“K”,将参照图12的(a)至(f)来进行说明。如图12的(a)至(f)所示,“N”表示了预测对象图像区域的纵尺寸以及横尺寸,“L”以及“K”表示了参照像素区域的尺寸。具体为,“K”表示了位于预测对象像素区域左侧的参照像素区域的纵尺寸,“L”表示了位于预测对象像素区域上侧的参照像素区域的横尺寸。
如图12的(a)至(f)所示,“L”以及“K”被取值为0、“N”或“2N”中的某一者。在图12的(a)至(f)所示的例中,所形成的参照像素区域的“L”以及“K”是取了0或“N”或“2N”的值。在此所示的仅是一例,也可以组合除上述的值之外的值来表示“L”以及“K”。
若把预测方向θ的方向矢量设成矢量R=(rx,ry),那么X轴与直线l的交点A、以及Y轴与直线l的交点B可通过下式(21)、(22)来表示。
[数学式11]
点A:
点B:
当交点A以及交点B满足了以下所示的条件(1)至(4)时,便把交点A或交点B作为、预测点P时所要用的预测像素。(1)当预测方向θ为-π/2θ≤φ时,把交点A作为预测像素。(2)当预测方向θ为φ<θ0时,把交点B作为预测像素。(3)当预测方向θ为0<θ<π/2,且xa0、yb0时,把交点A作为预测像素。(4)当预测方向θ为0<θ<π/2,且xa<0、yb 0时,把交点B作为预测像素。其中,φ满足-π/2<φ<0。
关于交点A的预测像素值IA以及交点B的预测像素值IB,能够通过、基于了邻接像素的线性插值或3次插值等插值处理来生成。但当交点A以及交点B位于整数像素位置上时,可以通过例如3抽头滤波器(tap filter)等n抽头滤波器来进行滤波处理。
在运用线性插值或3抽头滤波器时,交点A以及交点B的预测像素值IA以及IB能够通过以下的式子(23)、(24)来表示。在以下的式子(23)、(24)中,Irec(x,y)表示了局部译码图像的像素值。在此,Floor{x}的运算用于求取小于等于x的最大整数,Ceil{x}的运算是用于求取大于等于x的最小整数。另外,Z表示了整数的集合。
[数学式12]
α=xa-Floor{xa}
…(23)
β=yb-Floor{yb}
…(24)
在上述式子(23)、(24)中,若(Ceil{xa},0)、(xa+1,0)、(0,Ceil{yb})、以及(0,yb+1)位置上的像素处在未编码像素区域中的话,可以使用(L,0)位置上的像素值来取代(Ceil{xa},0)以及(xa+1,0)位置上的像素值,使用(0,K)位置上的像素值来取代(0,Ceil{yb})以及(0,yb+1)位置上的像素值。
关于预测对象像素区域全体中的预测像素,可以把预测对象像素区域中点P的相关预测像素的生成方法应用于预测对象像素区域中的、所有位于整数像素位置上的点,由此能够生成预测对象像素区域全体中的预测像素。
在本实施方式中,虽然是把M×M像素像块作为预测套组的编码单位来进行说明的,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group OfPicture:像组)作为预测套组的编码单位。例如,若以像条为单位来切换预测套组的话,就需要在像条的先头对所选择的预测套组的相关信息进行编码。关于预测套组的编码单位,可以预先在图像编码装置和图像译码装置之间进行决定,也可以在编码数据的先头中、图片头或GOP头中指定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。
图13的(a)至(e)表示了本说明书中的像块、像条、图片(帧)以及GOP。图13的(a)至(e)模式地表示了本发明的各编码单位间的关系,(a)表示了GOP,(b)表示了图片(帧),(c)表示了像条,(d)表示了大像块,(d)表示了子像块。在图13中,虽然子像块为M=2N,但并不限定于此。例如,也可以为M=N、2N、4N、8N、16N。
(作用效果)
如以上所述,在图像编码装置100中,根据构成图像的各像块,算出该图像的边缘信息。关于边缘信息,例如可以算出图像的边缘方向、边缘强度、或该两者的分布信息。在图像编码装置中,从聚集有多个预测套组的预测套组群中,选出与所计算的边缘信息相对应的预测套组,其中,每一预测套组中含有多个预测模式,该些预测模式在每一预测套组中的组合都不同,各预测模式对应的预测方向互不相同。然后,使用所选择的预测套组对图像进行编码。例如,若边缘信息表示的是、边缘偏重于水平方向,便使用重视于水平方向预测的预测套组来对图像进行编码。另一方面,若边缘信息表示的是、边缘偏重于垂直方向,便使用重视于垂直方向预测的预测套组来对进行编码。
如此,在图象编码装置100中,使用与图像的边缘信息相对应的最佳预测套组来对图像进行编码。因此,比起现有技术,能够从多样的角度来进行预测,所以能够减少图像的编码量,且能够提高像质。
另外,在图象编码装置100中,由于通过预测套组信息和预测模式信息来阶层性地表示预测方式,所以能够提高选择预测方式时的自由性。如此,能够防止表示预测方式时所需的编码量的增加,并能够提高预测效率。
(附注事项)
在本实施方式中,关于预测套组群的例子,是就预测套组数L=4、预测模式数Ki=9(i=0、1、2、3)时的情况来进行说明的,但并不限定于此。例如,在预测套组群中,可以使预测套组数L=5或9,预测套组数L也可以是其他的自然数。表6以及表7分别表示了预测套组数L=5、L=9时的预测套组群以及预测套组的例子。表6表示了预测套组数L=5、预测模式数Ki=9(0 i<5,i∈整数)时的预测套组群以及预测套组的例子,表7表示了预测套组数L=9、预测模式数Ki=9(0 i<9,i∈整数)时的预测套组群以及预测套组的例子。
[表6]
[表7]
<实施方式2>
以下,参照图14至图17说明本发明的实施方式2的图像译码装置。关于与实施方式1相同的结构,赋予其同样的标号,并省略其说明。
(图像译码装置150的结构)
以下参照图14来说明实施方式2的图像译码装置150的结构。图14是表示图像译码装置150的结构的框图。
如图14所示,图像译码装置150主要具备熵译码部5、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部10、以及预测套组信息作成部52。在本实施方式中,将仅对之前未说明的熵译码部5以及预测套组信息作成部52进行说明。
(熵译码部5)
熵译码部5用以对预测残差数据、预测模式信息、相对预测套组信息等的编码数据进行熵译码,并输出。
(预测套组信息作成部52)
预测套组信息作成部52根据被进行了熵译码的相对预测套组信息以及已译码预测套组信息,作成目标像块的预测套组信息。关于预测套组信息作成部52的结构以及动作,将在以后说明。
(图像译码处理的概要)
以下参照图15来说明图像译码装置150中的图像译码处理的概要。图15表示了图像译码装置150的图像译码处理概要的流程图。
(编码数据的输入以及预测套组信息的作成)
当M×M像素像块的编码数据被输入图像译码装置150时(步骤S60),熵译码部5对输入过来的编码数据中的预测套组的相对预测套组信息进行熵译码,其中,该预测套组可应用于由M×M像素像块所构成的译码对象图像(以下也称译码对象像块)(步骤S61),预测套组信息作成部52根据被进行了熵译码的相对预测套组信息以及已译码预测套组信息,作成译码对象像块的预测套组信息(步骤S62)。关于预测套组信息作成部52中的预测套组信息作成的详细处理,将在以后详述。
(预测残差数据以及预测模式信息的译码)
关于进一步被分割出的呈规定像块尺寸(N×N像素像块)的各译码对象子像块,熵译码部5也对其预测残差数据的量子化值以及其预测模式信息进行熵译码(步骤S63)。
(预测图像的生成)
帧内预测部10使用存储器9中所存储的已译码邻接子像块的局部译码图像来进行帧内预测,以生成与译码对象子像块所被应用的预测模式相对应的预测图像(N×N像素像块)(步骤S64),其中,译码对象子像块由被译码了的预测套组信息以及预测模式所表示。关于通过帧内预测生成预测图像的生成方法,由于其已在实施方式1中有所说明,所以在省略其说明。
(逆量子化以及逆正交变换)
逆量子化部6对步骤S63中所译码的预测残差数据进行逆量子化,然后把逆量子化后的预测残差数据输出至逆正交变换部7(步骤S65),逆正交变换部7对逆量子化后的预测残差数据进行逆正交变换,然后输出至相加运算部8(步骤S66)。
(译码对象子像块的译码图像的生成)
相加运算部8把步骤S64中生成的预测图像以及步骤S66中所输出的预测残差数据进行相加,然后把相加结果作为译码对象子像块的译码图像(N×N像素像块)进行输出(步骤S67)。
存储器9对所被输出的译码对象子像块的译码图像进行存储(步骤S68)。
(附注事项)
在图像译码装置150中,对构成译码对象像块的所有子像块都重复进行步骤S63至S68,另外,对构成译码对象图像的所有像块都重复步骤S60至S68的处理。
(预测套组信息作成部52的详细内容)
接着,对预测套组信息作成部52的详细内容进行说明。
预测套组信息作成部52所进行的是与相对预测套组信息作成部51相反的处理,即,根据相对预测套组信息以及已译码预测套组信息,作成预测套组信息。
(预测套组信息作成部52的结构)
首先,参照图16来说明预测套组信息作成部52的结构。图16是表示预测套组信息作成部52的结构的框图。预测套组信息作成部52具备预测套组信息生成部521、预测套组信息预测部512、以及预测套组信息存储部513。以下,将对之前未说明的预测套组信息生成部521进行说明。
(预测套组信息生成部521)
预测套组信息生成部521根据在熵译码部5中被进行了熵译码的相对预测套组信息、以及在预测套组信息预测部512中被确定的预测值,生成预测套组信息,并将其输出。
(预测套组信息的作成处理的详细内容)
关于预测套组信息的作成处理的详细内容,以下参照图17来说明。图17是表示预测套组信息作成部52中的预测套组信息作成处理的流程图。
预测套组信息预测部512根据预测套组信息存储部513中存储的已译码预测套组信息,确定出可应用于译码对象像块的预测套组的预测值probable_pred_set,然后将其输出(步骤S70)。关于可应用于译码对象像块的预测套组的预测值的确定,其与实施方式1的图像编码装置100的预测套组的预测值确定方法相同,所以省略其说明。
接着,相对预测套组信息被输入至预测套组信息生成部521(步骤S71),预测套组信息生成部521判断所输入过来相对预测套组信息内的probable_pred_set_flag的值是否为“1”(步骤S72)。若probable_pred_set_flag的值是否为“1”(在步骤S72中为“是”),预测套组信息生成部521便把probable_pred_set的值设定给预测套组信息probable_set_data()中的pred_set,并输出pred_set的值(步骤S73),其中,预测套组信息probable_set_data()用以表示、可被应用于译码对象像块的预测套组。在该情况时,pred_set=probable_pred_set。
若probable_pred_set_flag的值是“0”(在步骤S72中为“否”),预测套组信息生成部521便根据rem_pred_set和probable_pred_set来设定pred_set,并输出pred_set的值。具体为,首先对rem_pred_set的值和probable_pred_set的值进行比较(步骤S74)。若rem_pred_set小于probable_pred_set(在步骤S74中为“是”),便设定pred_set=rem_pred_set(步骤S75)。若rem_pred_set大于等于probable_pred_set(在步骤S74中为“否”),便设定pred_set=rem_pred_set+1(步骤S76)。
其后,预测套组信息存储部513对被译码了的预测套组信息prediction_set_data()进行存储,并将其输出(步骤S77)。
在本实施方式中,虽然是以M×M像素像块为预测套组的译码单位来进行说明的,但并不限定于此。例如,也可以把像块、像条、图片(帧)或GOP(Group Of Picture:像组)作为预测套组的译码单位。例如,若以像条为单位来切换预测套组的话,就需要在图象切片的先头对所选择的预测套组的相关信息进行译码。关于预测套组的译码单位,可以预先在图像编码装置和图像译码装置之间来进行决定,也可以在译码数据的先头中、图片头或GOP头中指定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。
另外,在本实施方式中,虽然对相对预测套组信息的编码数据进行熵译码,并根据被译码了的相对预测套组信息来作成预测套组信息。但也可以不对相对预测套组信息的编码数据进行熵译码,而是对预测套组信息的编码数据进行熵译码,并根据被译码了的预测套组信息来切换使用预测套组。
(作用效果)
图像译码装置150中具有聚集有多个预测套组的预测套组群,其中,每一预测套组中含有多个预测模式,该些预测模式在每一预测套组中的组合都不同,各预测模式对应的预测方向互不相同。图像译码装置150就构成图像的每一像块,使用相对预测套组信息以及已译码预测套组信息,对要被用于译码对象像块的预测套组信息进行译码。然后,就每一从译码对象像块中进一步分割出的子像块,使用邻接于该子像块的子像块的局部译码图像,进行帧内预测,以生成子像块的预测图像。其后,对所生成的预测图像以及译码后的子像块的译码预测残差数据进行合成,从而重建子像块的图像。
如此,例如若被译码了的预测套组信息表示的是重视于水平方向预测的预测套组,便能够以水平方向为中心,从更微小的角度来生成预测图像。另外,若被译码了的预测套组信息表示的是重视于垂直方向预测的预测套组,便能够以垂直方向为中心,从更微小的角度来生成预测图像。因此,比起现有技术,通过图像译码装置150能够实现从更多角度进行预测的译码处理,所以能够以较好的效率来再现边缘部分。因此,能够重建出具有较高像质的图像。
另外,在图像译码装置150中,由于通过预测套组、预测模式这2个阶段来进行预测,所以能够实现较高的预测精度,并能够防止编码量的增加。
<实施方式3>
关于本发明的图像编码装置的其他方式,以下参照图18至图25来说明实施方式3。关于与实施方式1以及2相同的结构,赋予其同样的标号,并省略其说明。在实施方式1的说明中,从预先规定的多个预测套组中,以规定像素像块为单位,根据编码对象像块的边缘方向来切换使用预测套组,如此,比起现有技术,图像编码装置能够进行更多样的预测。另一方面,在实施方式3中,将要说明以下的图像编码装置,即,能够根据图像来自动组合预测套组中的预测模式,以此作成预测套组,并能够根据编码对象像块的边缘方向,对该些作成的预测套组进行切换使用,以进一步提高预测效率。
(图像编码装置200的结构)
首先,参照图18来说明本实施方式的图像编码装置200的结构。图18是表示本实施方式的图像编码装置200的结构的框图。如图18所示,图像编码装置200主要具备差分运算部1、正交变换部2、量子化部3、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部210、预测模式确定部211、熵编码部204、边缘解析部212、预测套组确定部213、相对预测套组信息作成部51、预测套组定义确定部214、以及相对预测套组定义信息作成部53。在本实施方式中,将仅对实施方式1以及2中未说明的熵编码部204、预测模式确定部211、边缘解析部212、预测套组确定部213、预测套组定义确定部214、以及相对预测套组定义信息作成部53进行说明。
(边缘解析部212)
边缘解析部212计算边缘强度以及边缘方向(以下,把边缘强度以及边缘方向总称为边缘信息)。具体为,按每一个、从输入过来的编码对象图像帧中进一步分割出的N×N像素子像块,计算该N×N像素子像块的边缘信息,然后把构成编码对象帧的所有子像块的边缘信息输出。
(预测套组定义确定部214)
预测套组定义确定部214根据边缘解析部212所求出的编码对象帧的边缘信息,确定出可应用于编码对象帧的多个预测套组的、定义(预测套组中所含的预测模式),然后更新用以表示预测模式以及预测套组的表(表2),其中,该表将在帧内预测部210、预测模式确定部211以及预测套组确定部213中被参照,最后,把用以表示该表的预测套组定义信息prediciton_method_data()输出。
(相对预测套组定义信息作成部53)
相对预测套组定义信息作成部53根据已编码预测套组定义信息,就预测套组定义确定部214所确定的、可应用于编码对象帧的预测套组的定义信息进行预测,然后输出相对预测套组定义信息。
(熵编码部204)
熵编码部204对预测残差数据、预测模式信息、相对预测套组信息以及相对预测套组定义信息等进行熵编码,然后将编码数据输出。
(预测套组确定部213)
预测套组确定部213根据边缘解析部212输入过来的边缘信息,从预测套组定义信息内的多个预测套组中,确定出可应用于编码对象像块的预测套组,然后把用以表示该确定的预测套组的预测套组信息输出,其中,预测套组定义信息由预测套组定义确定部214所输入。关于预测套组的确定方法,其与实施方式1相同,所以在本实施方式中省略其说明。
(预测模式确定部211)
预测模式确定部211根据输入过来的编码对象像块的原始图像以及从存储器9输入过来的局部译码图像,从、由输入过来的预测套组定义信息以及预测套组信息规定的多个预测模式中,确定出1个可用于编码对象像块的预测的、预测模式,然后把用以表示该确定的预测模式的预测模式信息输出至帧内预测部210以及熵编码部204。关于预测模式的确定方法,其与实施方式1相同,所以在本实施方式中省略其说明。
(帧内预测部210)
帧内预测部210使用存储器9中存储的局部译码图像,进行由预测套组信息、预测套组定义信息、预测模式信息规定的帧内预测,以生成预测图像。
(图像编码处理的概要)
接着,参照图19来说明图像编码装置200中的图像编码处理的概要。图19是表示图像编码装置200中的图像编码处理概要的流程图。
(编码对象帧的输入以及边缘信息的计算)
由多个M×M像素像块所构成的帧(以下也称编码对象帧)被输入至图像编码装置200(步骤S80)后,边缘解析部212把编码对象帧进一步分割成呈N×N像素(N M)的子像块(步骤S81),然后计算编码对象帧的所有子像块的、边缘信息(步骤S82)。
(预测套组定义信息的确定以及预测套组定义信息的编码)
接着,预测套组定义确定部214根据步骤S82中所算出的边缘信息,确定出要分配的预测方式,并更新预测模式和预测套组的表,其中,该预测方式被分配给可应用于编码对象帧的各预测套组所含的、多个预测模式。然后,把所确定的用以表示各预测套组中预测模式之组合状况的信息(以下也称预测套组定义信息)输出至帧内预测部210、预测模式确定部211、预测套组确定部213、以及相对预测套组定义信息作成部53(步骤S83)。关于预测套组定义的详细确定方法,将在以后详述。另外,预测方式包括有DC预测、模板匹配(templatematching)、预测方向等预测方法。
在相对预测套组定义信息作成部53中,根据已编码预测套组定义信息,就预测套组定义信息进行预测,然后将相对预测套组定义信息输出(步骤S84)。关于相对预测套组定义信息作成部53的结构、以及预测套组定义信息的详细预测处理,将在以后详述。
在熵编码部204中,相对预测套组定义信息作成部53输入过来的相对预测套组定义信息被进行熵编码,然后相对预测套组定义信息的编码数据被输出(步骤S85)。
(预测套组的确定、预测套组信息的编码)
在预测套组确定部213中,根据步骤S82中所算出的边缘信息,就构成编码对象帧的每一M×M像素像块(以下称编码对象像块),确定出可应用于编码对象像块的预测套组,然后把用以表示所确定的预测套组的信息(以下也称预测套组信息)输出至预测模式确定部211、相对预测套组信息作成部51、以及帧内预测部210(步骤S86)。
相对预测套组信息作成部51从预测套组确定部213接收了预测套组信息后,根据用以表示已编码预测套组的信息,就所接收了预测套组信息进行预测,然后把相对预测套组信息输出至熵编码部204(步骤S87)。熵编码部204对相对预测套组信息进行熵编码,并输出(步骤S88)。预测套组的详细确定方法、预测套组信息的详细编码方法、以及预测套组信息的数据结构是与实施方式1相同的。
(预测模式的确定以及预测模式信息的编码)
在预测模式确定部211中,把编码对象像块进一步分割成N×N像素像块,从而得到子像块(以下称编码对象子像块)。预测模式确定部211根据从存储部9输入过来的已编码邻接子像块的局部译码图像,并参照预测套组定义确定部214中所被更新的预测套组定义信息,从、预测套组确定部213输入的预测套组信息所示的预测套组内的预测模式中,确定出可应用于编码对象子像块的最佳预测模式,然后把该预测模式的信息输出至帧内预测部210、以及熵编码部204(步骤S89)。
熵编码部204对输入过来的预测模式信息进行熵编码,然后输出预测模式信息的编码数据(步骤S90)。
(预测图像的生成)
帧内预测部210使用从存储器9输入过来的已编码邻接子像块的局部译码图像,并参照上述步骤S83中所确定的预测套组定义信息,进行、由上述步骤S86中确定的预测套组信息及上述步骤S89中确定的预测模式信息规定的帧内预测,由此生成编码对象化子像块的预测图像,然后把该预测图像输出至差分运算部1、以及相加运算部8(步骤S91)。
(预测残差数据的计算)
差分运算部1算出所被输入的编码对象亚大像块与上述步骤S91中生成的预测图像之间的差分即、N×N像素像块的预测残差数据,并将其输出(步骤S92)。
(正交变换以及量子化)
上述步骤S92中算出的预测残差数据被先后输入至正交变换部2、量子化部3,然后被进行正交变换/量子化,其后被输出至熵编码部204以及逆量子化部6(步骤S93)。
(逆正交变换以及逆量子化)
被进行了正交变换/量子化的预测残差数据被先后输入至逆量子化部6、逆正交变换部7,然后被进行逆量子化/逆正交变换,其后被输出至相加运算部8(步骤S94)。
(局部译码图像的生成)
相加运算部8对步骤S94中被进行了逆量子化以及逆正交变换的预测残差数据、以及步骤S91中生成的预测图像进行相加,以生成N×N像素像块的局部译码图像(步骤S95)。所生成的局部译码图像被存储至存储器9。
(预测残差数据的编码)
熵编码部204对编码对象子像块的已被量子化了的预测残差数据进行熵编码,然后将预测残差数据的编码数据输出(步骤S96)。
步骤S89至S96的处理是就构成M×M像素像块的所有子像块所进行的。另外,步骤S86至S96的处理是就构成编码对象帧的所有像块所进行的。另外,步骤S80至S96的处理是就构成编码对象图像的所有帧所进行的。
(附注事项)
在本实施方式中,按步骤S80至步骤S96的顺序,对图像编码装置200的编码处理进行了说明,但并不限定于此,本发明可以在实施可能的范围内进行变更。
(预测套组定义的详细确定方法)
以下,对预测套组定义确定部214的详细动作进行说明。预测套组定义确定部214根据边缘解析部212所算出的边缘信息,确定出要分配的预测方式,其中,预测方式被分配给、可应用于编码对象帧的多个预测套组中的各预测模式;然后,输出用以表示所被分配的预测方式的、预测套组定义信息。
下面参照图20来说明预测套组定义信息的详细确定方法。图20是表示预测套组定义信息的详细确定处理的流程图。
(边缘信息的输入)
边缘解析部212把编码对象帧的边缘信息输入给预测套组定义确定部241(步骤S100)。
(边缘方向直方图的计算)
预测套组定义确定部214根据输入过来的边缘信息,对具有大于等于规定阈值Th的边缘强度的、像块(N×N像素像块)的边缘方向直方图f(θ)进行计算,以求取边缘方向直方图信息histogram_data()(步骤S101)。阈值Th可以预先设定为适宜的值,也可以进行适当设定。另外,关于边缘方向直方图,例如,当以1[deg]单位的角度来表示边缘方向时,边缘方向直方图便表示了从-90[deg]起至89[deg]为止的、与各角度对应的边缘方向的出现频度。作为一例,图21表示了、边缘集中于水平方向时所得到的边缘方向直方图。另外,表8具体地表示了所算出的边缘方向直方图信息的数据结构。表8中的angle_idx是用以表示边缘方向的角度的索引,toal_angle_idx是用以表示角度分割数的索引。
[表8]
(边缘方向积累度分布的计算)
预测套组定义确定部214根据上述步骤S101中算出的边缘方向直方图信息,计算边缘方向累积度(累积度数)分布(步骤S102)。例如,当以1[deg]单位的角度来表示边缘方向时,可以通过以下式子(25)来计算从-90[deg]起至某边缘方向θ[deg]为止的这一范围中的边缘方向累积度。若求出从-90[deg]起至89[deg]为止的这一范围中的所有边缘方向的累积度,便能够得到边缘方向累积度分布F(θ)。如此,能够根据图21所示的边缘方向直方图,得出图22所示的边缘方向累积度分布。图22是、对应具有大于等于规定阈值的边缘强度的像块的数量来进行正规化后的图表。
[数学式13]
(对应于累积度的边缘方向的、分布计算)
预测套组定义确定部214使用步骤S102中算出的边缘方向累积度分布,计算对应于累计度的边缘方向的分布(边缘方向累积度分布的反函数)G(x)(步骤S103)。
(确定、分配预测方向时的中心方向)
预测套组定义确定部214使用步骤S102中算出的边缘方向累积度分布,决定以哪个方向为中心来分配预测方向(步骤S104)。具体为,首先根据以下式子(26)所示的边缘集中度S(θc,Δθ),判断是以水平方向(0[deg])为中心来定出预测方向,还是以垂直方向(-90[deg])为中心来定出预测方向。在此,边缘集中度S(θc,Δθ)是指以某边缘方向θc[deg]为中心,在±Δθ[deg]的范围中出现的边缘方向的出现频度数。另外,F(θ)表示了在边缘方向θ上的边缘方向累积度。
[数学式14]
S(θc,Δθ)=F(θc+Δθ)-F(θc-Δθ)
…(26)
若水平方向的边缘集中度S(0,Δθ)大于等于垂直方向的集中度S(-90,Δθ),便以水平方向(0[deg])为中心来分配预测方向;若是除该情况之外的其他情况,便以垂直方向(-90[deg])为中心来分配预测方向。
(确定出要分配给各预测模式的预测方式)
预测套组定义确定部214根据与步骤S103中算出的累积度相对应的边缘方向、步骤S104中确定的预测方向的中心θc[deg]、以及预先规定的预测方式表(表10),确定出要分配给各预测模式的预测方式。
具体为,关于预测方向θn[deg],若其角度大于预测方向中心θc[deg],则可以使用以下式子(27)的递推公式,确定满足以下情况时的预测方向θn[deg],该情况为:相邻两预测方向(θn和θn+1)各自所对应边缘方向累积度的差为d(阈值);若预测方向θn[deg]的角度小于预测方向中心θc[deg],则可以使用以下式子(28)的递推公式,确定同样满足上述情况时的预测方向θn[deg]。其中,当n=0时,便设定为θ0=θc,d表示了累积度最大值除以预测方向总数后所得的值。图23表示了θn和θn+1的位置关系。θn满足以下式子(29)。另外,图23中的与边缘方向相对应的累积率F′(θ)是通过对、与边缘方向相对应的累积度F(θ)进行正规化所得到的。
[数学式15]
θn+1=G(F(θn)+d) (n+1>0)
…(27)
…(28)
θn-1=G(F(θn)-d)(n-1<0)
-90[deg]≤θn<90[deg],θn≠θm (n≠m)
…(29)
接下来,说明一下根据图22的边缘方向累积度分布来确定预测方向θn时的例子。在该例中,设预测套组数L=3,设预测模式数K=9,向各预测套组中的模式编号0至2预先分配0[deg]、-90[deg]、DC预测,然后确定、向各预测套组中剩下的模式编号3至8所要分配的预测方向(18个方向)。
在图22中,由于边缘较多集中于水平方向(0[deg]),所以以水平方向(0[deg])为中心来分配预测方向,其中,是在满足、各预测方向间的边缘方向累积率的差(阈值)呈相等的条件下来进行分配的。在此,所要确定的预测方向的数量为18,且存在2个已被预先确定的预测方向0[deg]、-90[deg],然后在该基础上,将预测方向间的边缘方向累积率的差(阈值)d设为5.0[%](=100/(18+2))。其后,把角度0[deg]作为初始值,然后根据与累积度相对应的边缘方向的分布、上述式子(27)以及上述式子(28),计算出各预测方向间的边缘方向累积概率的差为5.0[%]时的、角度,如此可以得到表9所示的预测方向θn。
[表9]
(a)
n |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
θn[deg] |
0.5 |
1 |
2 |
4 |
8 |
12 |
15 |
40 |
72 |
(b)
n |
-1 |
-2 |
-3 |
-4 |
-5 |
-6 |
-7 |
-8 |
-9 |
θn[deg] |
-1 |
-2 |
-4 |
-7 |
-11 |
-15 |
-20 |
-38 |
-60 |
根据表10中的预测方向θn的分配方式,把所求取的“正”的预测方向θn(表9(a)),按从小到大的次序,分配给各预测套组中的模式编号3、5、7。另外,把所求取的“负”的负预测方向θn(表9(b)),按从大到小的次序,分配给各预测套组中的模式编号4、6、8。表11表示了通过上述操作所得的预测套组的定义例。另外,把所确定的预测套组的定义放入至表12所示的预测套组定义信息prediciton_method_data()的数据结构中。在表12中,total_set表示了预测套组的总数,total_mode表示了预测套组所含预测模式的总数。表11的预测套组以及预测模式将被帧内预测部210、预测模式确定部211、预测套组确定部214所参照。另外,可以把表13所示的被预先定义有预测方式的表中的、预测方式编号设定给预测套组定义信息中的预测方式pred_method[set_idx][mode_idx],其中,预测方式pred_method[set_idx][mode_idx]被分配给预测模式mode_idx,预测模式mode_idx包含于预测套组set_idx中。另外,在表13中也可以定义有平面预测、频域预测、模板匹配等预测方法。另外,预测套组定义信息也可以是发生有预测方式变更的、一部分预测套组和预测模式的相关信息。例如,可以是表10中预测套组编号0至L-1中的、模式编号3至8的预测方向θ的相关信息。另外,预测套组的总数也能够以一定的单位来发生改变,此时,可以向预测套组定义信息中追加预测套组数量的相关信息。
[表10]
[表11]
[表12]
[表13]
(预测套组定义信息的输出)
预测套组定义确定部214把步骤S105中规定的预测套组定义信息输出(步骤S106)。
通过以上的结构,能够就边缘所集中的方向,确定细小的预测方向。
(预测套组定义信息的编码程序)
以下说明对预测套组定义信息进行编码时的详细处理。相对预测套组定义信息作成部53根据已编码预测套组定义信息,就用以表示预测套组定义确定部214所确定的、可应用于编码对象帧的预测套组定义的信息(预测套组定义信息)进行预测,以作成相对预测套组定义信息。熵编码部204也可以不对相对预测套组定义信息进行熵编码,而直接对预测套组定义信息进行熵编码。
(相对预测套组定义信息作成部53的结构)
首先,参照图24对相对预测套组定义信息作成部53的结构进行说明。图24是表示相对预测套组定义信息作成部53的结构的框图。相对预测套组定义信息作成部53具备相对预测套组定义信息生成部531、预测套组定义信息预测部532、以及预测套组定义信息存储部533(图24)。
(相对预测套组定义信息生成部531)
相对预测套组定义信息生成部531根据所被确定的预测值(由预测套组定义信息预测部532所确定),就输入过来的预测套组定义信息进行预测,然后输出相对预测套组定义信息,其中,所述预测值是根据已编码预测套组定义信息所被确定的。表14表示了相对预测套组定义信息的数据结构。
[表14]
除了上述的内容,相对预测套组定义信息也可以是、可应用于编码对象帧的各预测套组set_idx中的各预测模式mode_idx所示的预测方式pred_method[set_idx][mode_idx]的值;或可以是,可应用于编码对象帧的各预测套组set_idx中的各预测模式mode_idx所示的预测方式pred_method[set_idx][mode_idx]的值、与预测值probable_pred_method[set_idx][mode_idx]的值之间的差分值。
(预测套组定义信息预测部532)
预测套组定义信息预测部532根据预测套组定义信息存储部533所存储的已编码预测套组定义信息,确定可应用于编码对象帧的预测套组定义信息的预测值,并输出预测值。
在此,使用以下(1)至(3)中的任意一方法,就可应用于编码对象帧的预测套组定义信息来进行预测。
(1)就编码对象帧之前的已被编码了的帧,把各预测模式中出现频度最高的预测方式作为预测值。
(2)就编码对象帧的前一个已被进行了编码处理的帧,把应用于该帧的各预测套组中的各预测模式的预测方式作为预测值。
(3)把多个规定预测模式中的各预测模式所被分配的预测方式作为预测值。
若不存在已编码预测套组定义信息,可以把编号mode_idx所示预测模式的预测值probable_pred_method[set_idx][mode_idx]的初始值作为表15所示预测方式的预测值。此时,probable_pred_method[set_idx][mode_idx]=init_pred_method[mode_idx]。
[表15]
(预测套组定义信息存储部533)
预测套组定义信息存储部533对输入过来的预测套组定义信息进行存储。
(预测套组定义信息的预测处理的详细内容)
以下,参照图25,对、预测套组定义信息的预测时的详细处理进行说明。图25是表示就预测套组定义信息进行预测时的详细处理流程图。
预测套组定义信息预测部532根据预测套组定义信息存储部533中存储的已编码预测套组定义信息,确定预测套组的预测值,并将预测值输出(步骤S110)。
预测套组定义信息被输入至预测套组定义信息存储部533以及相对预测套组定义信息生成部531(步骤S111)。预测套组定义信息存储部533对预测套组定义信息进行存储(步骤S112)。相对预测套组定义信息生成部531对用以表示预测套组编号的计数器set_idx进行初始化(set_idx=0)(步骤S113),并对用以表示预测模式编号的计数器mode_idx进行初始化(mode_idx=0)(步骤S114)。接着,相对预测套组定义信息生成部531对以下两者进行比较,该两者为:可应用的预测套组set_idx内的预测模式mode_idx所表示的预测方式pred_method[set_idx][mode_idx],以及通过上述(1)至(3)中的任意一方法所确定的、预测套组set_idx内的预测模式mode_idx的预测方式的预测值probable_pred_method[set_idx][mode_idx](步骤S115)。
若预测模式mode_idx的预测方式相同(在步骤S115中为“是”),相对预测套组定义信息生成部531便把用以表示“呈一致”的值“1”设定给probable_pred_method_flag[set_idx][mode_idx](步骤S116)。若预测模式mode_idx的预测方式不同(在步骤S115中为“否”),相对预测套组定义信息生成部531把用以表示“不一致”的值“0”设定给probable_pred_method_flag[set_idx][mode_idx],并把用以表示剩余某一预测方式的信息设定给rem_pred_method[set_idx][mode_idx](步骤S117)。关于向rem_pred_method[set_idx][mode_idx]所进行的值设定,是根据以下(1)以及(2)所述的情况进行的。(1)若pred_method[set_idx][mode_idx]小于probable_pred_method[set_idx][mode_idx],便设定rem_pred_method[set_idx][mode_idx]=pred_method[set_idx][mode_idx]。若pred_method[set_idx][mode_idx]大于probable_pred_method[set_idx][mode_idx],便设定rem_pred_method[set_idx][mode_idx]=pred_method[set_idx][mode_idx]-1。
接着,相对预测套组定义信息生成部531使计数器mode_idx相加1(步骤S118),然后对计数器mode_idx以及预测模式数total_mode进行比较(步骤S119)。
若计数器mode_idx小于预测模式数total_mode(在步骤S119中为“是”),相对预测套组定义信息生成部531便再次从步骤S115开始重复处理。若计数器mode_idx大于等于预测模式数total_mode(在步骤S119中为“否”),相对预测套组定义信息生成部531便使计数器set_idx相加1(步骤S120),然后对计数器set_idx以及预测套组数total_set进行比较(步骤S121)。若计数器set_idx小于预测套组数total_set(在步骤S121中为“是”),相对预测套组定义信息生成部531便再次从步骤S114开始重复处理。若计数器set_idx大于等于预测套组数total_set(在步骤S121中为“否”),相对预测套组定义信息生成部531便把相对预测套组定义信息relative_prediction_method_data()的编码数据输出(步骤S122)。
在本实施方式中,虽然是把帧单位作为预测套组定义信息的编码单位来进行说明的,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group Of Picture:像组)作为预测套组定义信息的编码单位。例如,若要以像条为单位来作成预测套组定义信息的话,就需要在像条的先头对新更新后的预测套组定义信息进行编码,并改写用以表示预测套组以及预测模式的表(表11)。若编码单位较小的话,便能够作成与局部图像的性质相适合的预测套组,从而提高预测效率。关于使用什么样的编码单位,可以预先在图像编码装置和图像译码装置之间决定要使用的编码单位,也可以在编码数据的先头中、图片或GOP的先头中指定。或,也能够通过外部的单元来进行通知。
在实施方式3中,预测套组的选择是以像块单位来进行的,但并不限定于像块单位,也可以使用大像块单位、具有规定数量的像块单位。由于能够改变选择预测套组时的单位,所以能够选择与图像性质更适合的预测套组。
如以上所述,在预测套组定义信息的编码单位、预测套组的选择单位为较小时,能够进行与图像的局部性质相适合的预测。然而,若将编码单位、选择单位设定得太小的话,进行编码时的编码量便会增加,所以从编码效率这一点来看,较小的单位设定也未必最理想。
因此,通过以预测套组定义信息、预测套组信息、预测模式信息来阶层性地表现预测方式,比起现有技术能够提高选择的自由性,并防止编码量的增加,提高预测效率。
(作用效果)
如以上所述,图像编码装置200根据构成图像的各帧,计算出帧的边缘信息。关于边缘信息,例如可以计算图像的边缘方向、边缘强度、或该两者的分布信息。图像编码装置200根据边缘方向的相关分布信息,以较好的效率确定出多个接近于边缘方向的预测方向,并决定出各预测套组中预测模式的组合。
例如,当边缘方向的相关分布信息表示为边缘偏重于水平方向时,可以自动确定出组合有最佳预测模式的多个预测套组,通过该些最佳预测模式,能够就水平方向进行较细小的预测,而就垂直方向进行较粗略的预测。如此,从适合于水平方向预测的多个预测套组中,切换使用与编码对象像块的边缘方向相对应的预测套组,并对图像进行编码。另一方面,当边缘方向的相关分布信息表示为边缘偏重于垂直方向时,可以自动确定出多个组合有最佳预测模式的预测套组,其中,通过该些最佳预测模式,能够就垂直方向进行较细小的预测,而就水平方向进行较粗略的预测。如此,从适合于垂直方向预测的多个预测套组中,切换使用与编码对象像块的边缘方向相对应的预测套组,并对图像进行编码。
图像编码装置200根据图像作成自动组合有预测模式的、最适合于该图像的多个预测套组,并从该些预测套组中切换使用与编码对象像块的边缘方向相对应的预测套组,所以与使用预先规定的预测套组时相比,能够进一步提高预测效率。
<实施方式4>
作为本发明的图像译码装置的其他方式,以下参照图20至图29来说明实施方式4。关于与实施方式1至3相同的结构,赋予其同样的标号,并省略其说明。
在实施方式2的图像译码装置的说明中,以规定的像素像块为单位,从预先规定的多个预测套组中选出可应用于译码对象像块的预测套组,因此比起现有技术能够从多样的角度来进行预测。在本实施方式的图像译码装置的说明中,将根据编码数据来作成多个自动组合有预测模式的预测套组,并从该些预测套组中选出可应用于译码对象像块的预测套组,由此能够进一步从多样的角度来进行预测。
(图像译码装置250的结构)
以下,参照图26对实施方式4的图像译码装置250的结构进行说明。图26是表示图像译码装置250的结构的框图。
如图26所示,图像译码装置250主要具备熵译码部205、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部210、预测套组信息作成部52、以及预测套组定义信息作成部54。在本实施方式中,将仅对之前未说明的熵译码部205以及预测定义信息作成部54进行说明。
(熵译码部205)
熵译码部205在实施方式1的熵译码部5的功能的基础上,对相对预测套组定义信息的编码数据进行熵译码,并将相对预测套组定义信息进行输出。
(预测套组定义信息作成部54)
预测套组定义信息作成部54根据被进行了熵译码的相对预测套组定义信息以及已译码预测套组定义信息,作成预测套组定义信息。关于预测套组定义信息作成部54的结构以及动作,将在以后说明。
(图像译码处理的概要)
以下,参照图27来说明图像译码装置250中的图像译码处理的概要。图27是表示图像译码装置250中的图像译码处理概要的流程图。
(编码数据的输入以及预测套组定义信息的作成)
当译码对象帧的编码数据被输入至图像译码装置250(步骤S130)时,熵译码化部205便从输入过来的编码数据中提取出预测套组定义信息的相对信息(相对预测套组定义信息),其中,该预测套组定义信息表示了预测套组和预测模式的表(表11),该预测套组和该预测模式可被应用于译码对象帧。然后,对提取出的相对预测套组定义信息进行熵译码(步骤S131)。预测套组定义信息作成部54根据被熵译码了的相对预测套组定义信息、以及已译码预测套组定义信息,作成预测套组定义信息,并更新、用以表示可应用于译码对象帧的预测套组及预测模式的表(表11),然后把作成的预测套组定义信息输出至帧内预测部210(步骤S132)。
关于预测套组定义信息作成部54中的预测套组定义信息的详细作成处理,将在以后详述。
(预测套组信息的作成)
熵译码部205对输入过来的译码对象帧的编码数据中的可应用于由M×M像素像块所构成的译码对象图像(以下也称译码对象像块)的预测套组的、相对预测套组信息进行熵译码(步骤S133)。预测套组信息作成部52根据被熵译码了的相对预测套组信息、以及已译码预测套组信息,作成译码对象像块的预测套组信息(步骤S134)。关于预测套组信息作成部52中的预测套组信息的作成处理,与实施方式1相同。
(预测残差数据以及预测模式信息的译码)
熵译码部205还就进一步被分割出的具有一定像块尺寸(N×N像素像块)的各译码对象子像块,对预测残差数据的量子化值以及预测模式信息进行熵译码(步骤S135)。
(预测图像的生成)
帧内预测部210使用预测套组定义信息以及存储器9中存储的已译码邻接子像块的局部译码图像,进行帧内预测,从而生成与、预测套组信息及预测模式信息所示的可应用于译码对象子像块的预测模式相对应的预测图像(N×N像素像块)(步骤S136)。
(逆量子化以及逆正交变换)
逆量子化部6对步骤S135中所被译码的预测残差数据进行逆量子化,然后把逆量子化后的预测残差数据输出至逆正交变换部7(步骤S137),逆正交变换部7对逆量子化后的预测残差数据进行逆正交变换,然后输出至相加运算部8(步骤S138)。
(译码对象子像块的译码图像的生成)
相加运算部8把步骤S136中生成的预测图像以及步骤S138中输出的预测残差数据进行相加,然后把相加结果作为译码对象子像块的译码图像(N×N像素像块)进行输出(步骤S139)。
存储器9对所被输出的译码对象子像块的译码图像进行存储(步骤S140)。
(附记事项)
在图像译码装置250中,对构成译码对象像块(M×M像素像块)的所有子像块(N×N像素像块)都重复进行步骤S135至S140的处理。另外,对构成译码对象帧的所有译码对象像块都重复步骤S133至S140的处理,对构成译码对象图像的所有帧都重复上述步骤S130至S140的处理。另外,虽然从步骤S135至步骤S140的处理是以N×N像素的子像块为单位来进行的,但也能够以M×M像素的像块单位来进行处理。
(预测套组定义信息的作成处理)
以下说明作成预测套组定义信息时的详细处理。预测套组定义信息作成部54根据被熵译码了的相对预测套组定义信息以及已译码预测套组定义信息,作成预测套组定义信息。
(预测套组定义信息作成部54的结构)
首先,参照图28来对预测套组定义信息作成部54的结构进行说明。图28是表示预测套组定义信息作成部54的结构的框图。预测套组定义信息作成部54具备预测套组定义信息生成部541、预测套组定义信息预测部532、以及预测套组定义信息存储部533。以下将对之前未说明的预测套组定义信息生成部541进行说明。
(预测套组定义信息生成部541)
预测套组定义信息生成部541根据熵译码部205中被进行了熵译码的相对预测套组定义信息、以及预测套组定义信息预测部532中所被确定的预测值,生成预测套组定义信息,并将其输出,其中,预测值是根据被译码后的预测套组定义信息所被确定的。
(预测套组定义信息的生成处理)
以下参照图29来说明生成预测套组定义信息时的详细处理。图29是表示生成预测套组定义信息时的详细处理的流程图。
预测套组定义信息预测部532根据预测套组定义信息存储部533中存储的已译码预测套组定义信息,计算可应用于译码对象帧的多个预测套组中的预测模式所要被分配的预测方式的相关预测值,然后将预测值输出(步骤S150)。关于可应用于译码对象帧的多个预测套组中的预测模式所要被分配的预测方式之相关预测值的确定方法,其与实施方式3的图像编码装置200中的预测套组定义的预测值确定方法相同,所以省略其说明。输入至预测套组定义信息作成部54的相对预测套组定义信息被输出至预测套组定义信息生成部541(步骤S151)。
接着,预测套组定义信息生成部541对用以表示预测套组编号的计数器set_idx进行初始化(set_idx=0)(步骤S152),并对用以表示预测模式编号的计数器mode_idx进行初始化(mode_idx=0)(步骤S153),然后对用以表示预测套组set_idx的预测模式mode_idx与预测值是否一致的、probable_pred_method_flag[set_idx][mode_idx]的值进行判断(步骤S154)。
若probable_pred_method_flag[set_idx][mode_idx]的值为“1”(在步骤S154中为“是”),预测套组定义信息生成部541便把预测值probable_pred_method[set_idx][mode_idx]设定给pred_method[set_idx][mode_idx](步骤S155)。也就是说,此时pred_method[set_idx][mode_idx]=probable_pred_method[set_idx][mode_idx]。
若probable_pred_method_flag[set_idx][mode_idx]的值为“0”(在步骤S154中为“否”),预测套组定义信息生成部541便根据rem pred_method[set_idx][mode_idx]以及预测值probable_pred_method[set_idx][mode_idx],对pred_method[set_idx][mode_idx]进行设定(步骤S156)。具体为,基于以下(1)、(2)的内容来对pred_method[set_idx][mode_idx]的值进行设定。(1)若rem_pred_method[set_idx][mode_idx]小于probable_pred_method_flag[set_idx][mode_idx],便使pred_method[set_idx][mode_idx]=rem_pred_method[set_idx][mode_idx]。(2)若rem_pred_method[set_idx][mode_idx]大于等于probable_pred_method_flag[set_idx][mode_idx],便使pred_method[set_idx][mode_idx]=rem_pred_method[set_idx][mode_idx]+1。
然后,预测套组定义信息生成部541使计数器mode_idx相加1(步骤S157),并对计数器mode_idx与预测模式数total_mode进行比较(步骤S158)。
若计数器mode_idx小于预测模式数total_mode(在步骤S158中为“是”),预测套组定义信息生成部541便再次从步骤S154开始重复进行处理。若计数器mode_idx大于等于预测模式数total_mode(在步骤S158中为“否”),便使计数器set_idx相加1(步骤S159),然后对计数器set_idx与预测套组数计数器total_set进行比较(步骤S160)。
若计数器set_idx小于预测模式数total_set(在步骤S160中为“是”),便再次从步骤S153开始重复进行处理。若计数器set_idx大于等于预测模式数total_set(在步骤S160中为“否”),便把预测套组定义信息prediction_method_data()存储至预测套组定义信息存储部533,并将其输出(步骤S161)。
在本实施方式中,虽然是以帧单位为预测套组定义信息的译码单位来进行说明的,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group Of Picture:像组)作为预测套组定义信息的译码单位。例如,若要以像条为单位来作成预测套组定义信息的话,就需要在像条的先头对预测套组定义信息的相关编码数据进行译码。至于使用什么样的编码单位,可以预先在图像编码装置和图像译码装置之间来决定要使用的译码单位,也可以在编码数据的先头、图片或GOP的先头进行指定。或,也能够通过外部的单元来进行通知。
在实施方式4中,预测套组的选择是以像块单位来进行的,但并不限定于像块单位,也可以使用大像块单位、规定的像块单位。由于能够改变选择预测套组时的单位,所以能够选择与图像性质更适合的预测套组。
另外,在本实施方式中,对相对预测套组定义信息的编码数据进行熵译码,并根据被译码了的相对定义预测套组信息来作成预测套组定义信息。但也可以不根据相对预测套组定义信息进行处理,而对预测套组定义信息的编码数据进行熵译码,并根据被译码了的预测套组信息,确定出要分配给可应用于译码对象帧的多个预测套组中的各预测模式的、预测方式。
另外,在图像译码装置250中,由于是以预测套组定义信息、预测套组信息、预测模式信息来阶层性地表现预测方式的,所以比起现有技术能够提高选择的自由性。由此能够提高预测效率。
(作用效果)
如以上所述,在图像译码装置250中,就构成图像编码数据的各帧,根据相对预测套组定义信息以及已已译码预测套组定义信息,作成预测套组定义信息,其中,预测套组定义信息用以表示要分配给可应用于译码对象帧的多个预测套组中各预测模式的预测方式。然后,就构成译码对象帧的每一像块(M×M像素像块),对可应用于该像块的预测套组进行译码。此外,进一步就构成像块的每一子像块(N×N像素像块)进行帧内预测,并生成子像块的预测图像。然后将生成的预测图像与子像块的译码后的预测残差数据进行合成,由此重建子像块的图像。
如此,例如若预测套组定义信息表示的是重视于水平方向预测的预测套组定义,便能够以水平方向为中心,从更细小的角度来生成预测图像。另外,若预测套组定义信息表示的是重视于垂直方向预测的预测套组,便能够以垂直方向为中心,从更细小的角度来生成预测图像。因此,图像译码装置250能够对应图像来恰当地定义多个预测套组中的预测模式,并能够进行最适合于译码对象像块中边缘的预测。因此,与使用预先规定的预测套组时相比,能够进一步提高预测效率。
由于使用预测套组和预测模式来阶层性地表示预测方式,所以能够防止编码量的增加,并能够提高预测效率。
<实施方式5>
关于本发明的图像编码装置的其他方式,以下参照图30至图37来说明实施方式5。关于与实施方式1至4相同的结构,赋予其同样的标号,并省略其说明。在实施方式1说明的图像编码装置中,从预先规定的多个预测套组中,按规定的像素像块单位来切换可应用于编码对象像块的预测套组,由此,比起现有技术能够进行更多样的预测。另一方面,在实施方式5说明的图像编码装置中,在实施方式1的功能的基础上,根据被选择的预测模式、用以表示已编码邻接子像块的方向的标示、以及编码对象子像块的位置,来推断可应用于编码对象像块中各子像块的预测模式,其中,已编码邻接子像块的方向被用于进行编码对象子像块的预测模式的推断。由此,能够效率性地减少表示预测模式时所需的编码量,并进一步提高编码效率。
(图像编码装置500的结构)
首先,参照图30来说明本实施方式的图像编码装置500的结构。图30是表示本实施方式的图像编码装置500的结构的框图。图像编码装置500具备差分运算部1、正交变换部2、量子化部3、熵编码部504、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部10、编码参数确定部14、相对预测套组信息作成部51、相对预测模式信息作成部61。以下将对熵编码部504、相对预测模式信息作成部61、以及编码参数确定部14进行说明。
(编码参数确定部14)
编码参数确定部14根据输入的编码对象像块的原始图像以及存储器9中存储的局部译码图像,确定出可用于比编码对象像块的预测套组、参照子像块的组合信息(参照方向组合索引)、以及可应用于各子像块的预测模式等编码参数,其中,参照子像块被用于进行编码对象像块中各子像块的预测模式的推断。其后,把所确定的预测套组输出至帧内预测部10、相对预测套组信息作成部51、以及相对预测模式信息作成部61。
另外,把所确定的参照方向组合索引输出至相对预测模式信息作成部61以及熵编码部504。另外,把所确定的各子像块的预测模式输出至帧内预测部10以及相对预测模式信息作成部61。
(熵编码部504)
熵编码部504对预测残差数据、相对预测模式信息、相对预测套组信息、以及参照方向组合索引进行熵编码,并输出编码数据。
另外,考虑到参照方向组合的出现频度的偏重性,在熵编码部504中将利用以下所述的参照方向组合索引编码表,对参照方向组合索引进行熵编码,以使其成为可变长度编码。
具体为,若参照方向组合索引可取的值的范围是下述表20所示参照方向组合表1的值域0至4,便使用表16的参照方向组合索引编码表。另外,若参照方向组合索引的可取值的范围是下述表21所示参照方向组合表2的值域0至1,便使用表17的参照方向组合索引编码表。参照方向组合索引的编码并不被限定于表16以及表17。例如,作为参照方向组合索引的编码,可以使用葛洛姆(Golomb)编码,也可以使用固定长度编码。另外,若要使用算术(Arithmetic)编码的话,可以把参照方向组合索引编码表作为二进值变换表来使用。
[表16]
参照方向组合索引 |
编码 |
0 |
1 |
1 |
000 |
2 |
001 |
3 |
010 |
4 |
011 |
[表17]
(相对预测模式信息作成部61)
相对预测模式信息作成部61根据编码参数确定部14输入过来的预测套组信息和预测模式信息及参照方向组合索引、以及相对预测模式信息作成部61内部所存储的邻接于当前子像块的已编码子像块的预测套组信息及预测模式信息,作成当前子像块的相对预测模式信息,并将其输出。
以下参照图31来说明相对预测模式信息作成部61的结构。图31是表示相对预测模式信息作成部61的结构的框图。
如图31所示,相对预测模式信息作成部61具备存储部611a、存储部611b、参照方向确定部612、预测模式信息推断部613、以及相对预测模式信息生成部614。以下说明各个部。
(存储部611a、611b)
存储部611a、611b临时存储输入信息。存储部611a对输入过来的当前子像块的预测模式信息进行存储。存储部611b对当前子像块的预测套组信息进行存储。所被存储的预测模式信息以及预测套组信息被用于进行当前子像块之后要被进行编码的子像块的、预测模式信息的推断。
(参照方向确定部612)
参照方向确定部612根据当前子像块的位置、以及输入过来的预测套组信息及参照方向组合索引(在内部被计数),按照下述表20所示的参照方向组合表,确定在推断当前子像块的预测模式信息时所要用的已编码邻接子像块(参照子像块)的方向(参照方向),并将参照方向输出至预测模式信息推断部613。
(预测模式信息推断部613)
预测模式信息推断部613根据输入过来的预测套组信息、参照方向确定部612所确定的参照方向、分别存储于存储部611a以及611b的已编码邻接子像块的预测模式以及预测套组信息,通过一定的方法来确定可用于当前子像块的、预测模式信息的推断值。然后把确定了的推断值输出至相对预测模式信息生成部614。
(相对预测模式信息生成部614)
相对预测模式信息生成部614根据输入过来的预测套组信息、以及预测模式信息推断部613所确定的预测模式信息的推断值probable_mode,生成与推断值相对应的预测模式的相对信息(相对预测模式信息)。然后,把生成的相对预测模式信息输出至熵编码部504。
表18表示了相对预测模式信息relative_mode_data()的数据结构。表18的relative_mode_data()中的probable_mode_flag是用以表示、可应用于当前子像块的预测模式是否与预测模式信息推断部613所确定的推断值相一致的标示(flag)。当probable_mode_flag的值为“1”时,便表示与推断值相一致,当probable_mode_flag的值为“0”时,便表示与推断值不一致。另外,当probable_mode_flag的值为“0”时,还进一步使用rem_mode来表示相对预测模式信息,rem_mode是用以表示除与推断值相对应的预测模式之外的剩余某一预测模式的、信息。另外,相对预测模式信息也可以是、可应用于当前子像块的预测模式的值与推断值之间的差分。
[表18]
语法 |
详细 |
re|ative_mode_data(){ |
相对预测模式信息 |
probab|e_mode_f|ag |
用以表示是否与预测模式的推断值相同的、标示 |
if(probable_mode_flag !=1){ |
当不同于预测模式的推断值时,附加以后的信息 |
rem_mode |
表示除预测模式的推断值之外的剩余的某一预测模式 |
} |
|
(图像编码处理的概要)
以下参照图32来说明图像编码装置500中的图像编码处理的概要。图32是表示图像编码装置500中的图像编码处理概要的流程图。
首先,将编码对象像块(M×M像素像块)输入图像编码装置500(步骤S170)。
编码参数确定部14根据编码对象像块的原始图像以及存储器9中存储的局部译码图像,使用率失真最佳化法来确定编码参数(预测套组、参照方向组合索引、以及所有子像块的预测模式)(步骤S171)。其中,所确定的预测套组被输出至帧内预测部10、相对预测套组信息作成部51、以及相对预测模式信息作成部61。另外,所确定的参照方向组合索引被输出至相对预测模式信息作成部61以及熵编码部504。所确定的所有子像块的预测模式信息被输出至帧内预测部10以及相对预测模式信息作成部61。
接着,相对预测套组信息作成部51就步骤S171中确定的预测套组信息,根据已编码预测套组,作成相对预测套组信息,并将相对预测套组信息输出至熵编码部504(步骤S172)。
熵编码部504分别对步骤S172中作成的相对预测套组信息以及步骤S171中确定的参照方向组合索引进行熵编码,然后输出(步骤S173)。
相对预测模式信息作成部61根据参照子像块的预测套组信息以及预测模式信息、从编码参数确定部14输入过来的预测套组信息、参照方向组合索引、编码对象子像块的预测模式信息,作成编码对象子像块的相对预测模式信息,然后将其输出(步骤S174)。
熵编码部504对所作成的相对预测模式信息进行熵编码,然后把相对预测模式信息的编码数据输出(步骤S175)。
帧内预测部10使用从存储器9取得的已编码邻接子像块的局部译码图像,进行、由步骤S171中确定的预测套组及预测模式规定的帧内预测,以生成编码对象子像块的预测图像(步骤S176)。所生成的编码对象子像块的预测图像被输出至差分运算部1以及相加运算部8。
差分运算部1算出编码对象子像块的预测残差数据即、所输入的编码对象子像块的原始图像与步骤S176中生成的预测图像之间的差分,然后输出该预测残差数据(步骤S177)。
步骤S177中算出的预测残差数据被先后输入正交变换部2、量子化部3,并被进行正交变换/量子化,然后被输出至熵编码部504以及逆量子化部6(步骤S178)。
被进行了正交变换/量子化的预测残差数据被先后输入逆量子化部6、逆正交变换部7,并被进行逆量子化/逆正交变换,然后被输出至相加运算部8(步骤S179)。
相加运算部8对步骤S179中被进行了逆量子化以及逆正交变换的预测残差数据、以及步骤S176中生成的预测图像进行相加,以生成编码对象子像块的局部译码图像(步骤180)。所生成的局部译码图像被存储至存储器9。
熵编码部504对编码对象子像块的量子化后预测残差数据进行熵编码,然后把预测残差数据的编码数据输出(步骤S181)。
步骤174至步骤S181的处理是就构成编码对象像块的所有子像块进行的。另外,步骤S170至步骤S181的处理是就构成编码对象图像的所有像块进行的。
0在本实施方式中,虽然按步骤S170至步骤S181的顺序说明了图像编码装置500的编码处理,但并不限定于此,本发明能够在实施可能的范围内进行变更。
(参照方向的确定方法)
接下来,对参照方向的确定方法进行说明。首先说明子像块组、参照方向、参照方向组合索引、参照方向组合表。
以下参照图33的(a)以及(b)来说明子像块组。图33的(a)以及(b)是用以说明子像块组的图,在(a)所示的子像块组中,对象像块的尺寸M与子像块的尺寸N的关系为N=M/4;在(b)所示的子像块组中,对象像块的尺寸M与子像块的尺寸N的关系为N=M/2。
图33的(a)所示的子像块组B1是由4个子像块a、b、c、d所构成的集合。同样,子像块组B2是由4个子像块e、f、g、h所构成的集合;子像块组B3是由4个子像块i、j、k、l所构成的集合;子像块组B4是由4个子像块m、n、o、p所构成的集合。图33的(b)所示的子像块组B1是由子像块a至d构成的集合。另外,子像块组中的子像块组合并不限定于此。
“参照方向”是指,在推断子像块组中各子像块的预测模式时所要共通参照的已编码子像块的相对位置(参照子像块位置)。例如,若参照方向为“0”,则表示了、参照子像块是当前子像块左侧的已编码子像块。另外,若参照方向为“1”,则表示了、参照子像块是当前子像块上侧的已编码子像块。关于表示参照方向的值,并不限定上述的两个值。例如,如表19那样,邻接在左上侧的已编码子像块可以用参照方向“2”来表示,邻接在右上侧的已编码子像块可以用参照方向“3”来表示。另外,参照方向的值与参照子像块位置的对应关系并不限定为表19所示的内容。
[表19]
参照方向 |
参照子像块的位置 |
0 |
左 |
1 |
上 |
2 |
左上 |
3 |
右上 |
“参照方向组合索引”是指,向子像块组B1至B4的参照方向的组合所附加的索引。
“参照方向组合表”是指预先确定有参照方向组合索引与子像块组的参照方向之间的对应关系的表。不过,决定参照方向时所用的参照方向组合表随当前子像块的尺寸而不同。以下进行详细说明。
(1)子像块的尺寸为N=M/4时
表20是子像块的尺寸为N=M/4时所用的参照方向组合表的例子。在表20中,当预测套组标示(flag)为“0”时,预测套组信息表示的是重视于水平方向预测的预测套组;当为“1”时,所表示的是重视于垂直方向预测的预测套组。另外,图34表示了,表20中的预测套组标示为“0”且参照方向组合索引为“2”时的参照子像块的方向。在图34中,由于子像块组B1、B2、B4的参照方向为“0”,所以把左侧的已编码子像块作为子像块组中各子像块的参照子像块(图34中的右箭头标)。同样,由于子像块组B3的参照方向为“1”,所以把左侧的已编码子像块作为子像块组B3中各子像块的参照子像块(图34中的下箭头标)。另外,随预测套组标示(flag)表示的是水平方向重视还是垂直方向重视,参照方向组合索引与子像块组的参照方向之间的对应关系会不同。
[表20]
(2)子像块的尺寸为N=M/2时
在子像块的尺寸为N=M/2时,不通过预测套组信息,而是使用表21所示的参照方向组合表。
[表21]
如以上所述,当子像块的的尺寸为N=M/4时,参照方向确定部612根据输入过来的预测套组信息、参照方向组合索引以及当前子像块的位置(表示属于子像块组Bi中的哪一组),从表20取得子像块组Bi的参照方向,并将取得的参照方向输出。
另外,当子像块的的尺寸为N=M/2时,根据输入过来的参照方向组合索引,从表21取得子像块组B1的参照方向,并将取得的参照方向输出。
(预测模式信息的推断值的确定方法)
接着,对预测模式信息推断部613的、预测模式信息的推断值确定方法进行说明。在本实施方式的说明中,将通过图35的(a)以及(b)所示的情况来假设参照方向所示编码对象子像块P与参照子像块Q之间的位置关系。图35的(a)表示了参照方向“0”时的、编码对象子像块(图中的P)与参照子像块(图中的Q)之间的位置关系;。图35的(b)表示了参照方向“1”时的、编码对象子像块P与参照子像块Q之间的位置关系。
首先,预测模式信息推断部613根据参照方向,从存储部611a、存储部611b分别取得参照子像块Q的预测模式信息以及预测套组信息。
接着,根据编码对象子像块P的预测套组以及参照子像块Q的预测套组,通过以下的2种方法进行预测模式的推断。
(1)当编码对象子像块P的预测套组与参照子像块Q的预测套组相同时,便把参照子像块Q的预测模式的值作为预测模式的推断值。但如果无法取得参照子像块Q的预测模式信息,便把规定的预测模式的值作为预测模式的推断值。
(2)当编码对象子像块P的预测套组与参照子像块Q的预测套组不同时,便参照后述的预测模式对应表,求取参照子像块Q的预测模式是否与编码对象子像块P的预测套组中的预测模式相对应。然后把被对应的预测模式作为与编码对象子像块P的预测套组相对应的推断值。但如果无法分别从存储部611a、611b取得参照子像块Q的预测模式信息和预测套组信息的话,便把规定的预测模式作为推断值。关于无法取得参照子像块Q的预测模式信息或预测套组信息时的事例,例如有,因编码对象子像块P位于编码对象图像的边端而不存在参照子像块Q时。
在表22所示的对应表中,把表2中的预测套组1作为了参照子像块Q的预测套组,把表2中的预测套组0作为了编码对象子像块P的预测套组。
[表22]
优选在预测模式对应表中,把以下所述的预测模式y的值设定给可应用于编码对象子像块P的预测套组Y,预测模式y是指:与应用于参照子像块Q的预测套组X中的预测模式呈一致(预测方法呈一致)、或最类似(预测方向的差的绝对值为最小)的预测模式。例如,表2的预测套组1中的预测模式0、以及预测套组2中的预测模式0都表示了预测方向-90[deg],所以把预测套组2中的预测模式0设定到表22中的预测套组1的预测模式0的那一行中。另外,由于表2的预测套组1中的预测模式2、以及预测套组2中的预测模式2都表示了DC预测,所以把预测套组2中的预测模式2设定到表22中的预测套组1的预测模式2的那一行中。另外,若要注意预测套组1中的预测模式3(预测方向-30[deg])与预测套组2中的哪个预测模式呈相一致或类似的话,会发现预测套组2中的预测模式8(预测方向-30[deg])最为类似(预测方向差的绝对值为最小的0[deg])。因此,把预测套组2的预测模式8设定到表22中的预测套组1的预测模式3的那一行中。
但是,关于所注目的预测套组X中的预测模式x、以及预测套组Y中的预测模式y,当相一致或类似的预测模式存在2个以上时,,选择预测模式y的值呈较小的一者。例如,若要注意预测套组1中的预测模式6(预测方向15[deg])与预测套组2中的哪个预测模式呈相一致或类似的话,会发现有2个候补,即:预测套组2中的预测模式1(预测方向0[deg])以及预测模式6(预测方向30[deg])。此时,优选把值呈较小的预测模式1设定到表22中的预测套组1的预测模式6的那一行。
以下对使用表22时的预测模式推断值的具体确定方法进行说明。在此,把参照子像块Q的预测套组设为1,把编码对象子像块P的预测套组设为2。例如,根据表22,若参照子像块Q的预测模式为“0”,则编码对象子像块P的预测模式的推断值为“0”。另外,根据表22,若参照子像块Q的预测模式为“6”,则编码对象子像块P的预测模式的推断值为“1”。
当编码对象子像块P的预测套组与参照子像块Q的预测套组呈不同时,通过利用上述的预测模式对应表,在编码对象子像块的预测套组中转换出与参照子像块的预测模式最类似的预测模式,所以能够提高编码对象子像块P的预测模式的对应推断值的精度。
(相对预测模式信息的详细作成处理)
以下参照图36,对作成相对预测模式信息时的处理进行说明。图36是表示生成相对预测模式信息时的详细处理的流程图。
首先,存储部611a、611b分别将输入过来的预测套组信息、预测模式信息进行存储(步骤S190)。接着,参照方向确定部612根据当前子像块的位置以及输入过来的预测套组信息和参照方向组合索引,通过参照方向组合表,确定当前子像块的预测模式信息的推断时所要用的参照子像块的参照方向,然后把确定的参照方向输出至预测模式信息推断部613(步骤S191)。
预测模式信息推断部613从存储部611a、611b分别取得上述参照方向所示已编码邻接子像块(参照子像块)的、预测模式信息以及预测套组信息(步骤S192)。然后,基于所取得的参照子像块的预测模式信息和预测套组信息、以及当前子像块的预测套组信息,并根据预测模式对应表,确定出预测模式信息的推断值,然后把所确定的推断值输出至相对预测模式信息生成部614(步骤S193)。
相对预测模式信息生成部614根据输入过来的预测模式信息以及预测模式信息的推断值,生成当前子像块的相对预测模式信息,并将其输出(步骤S194)。
(编码参数的详细的确定处理)
接着,就编码参数确定部14中的编码参数(s,p,M)的确定方法进行说明。在说明编码参数的确定方法之前,以下先对编码参数的确定方法中所使用的用语进行记述。
s:预测套组
p:参照方向组合索引
bk:子像块
m(bk):子像块bk的预测模式
M:编码对象像块所含所有子像块的预测模式
M=(m(0),m(1),…,m(bk),…)
W:编码对象像块
J(s,p,m):使用率失真最佳化法时的编码成本(cost)
Jmin:编码成本的最小值
sbest:编码时所用的预测套组
pbest:编码时所用的参照方向组合索引
mbest(bk):子像块bk的编码时所用的预测模式
Mbest:编码对象像块所含所有子像块的编码时所用的预测模式
Mbest=(mbest(0),mbest(1),…,mbest(bk),…)
Rs(s):预测套组s的编码时所需的编码量
Rp(p):参照方向组合索引p的编码时所需的编码量
Rm(s,p,m(bk)):在应用了预测套组s、参照方向组合索引p时,对用于子像块bk的预测模式m(bk)进行编码时所需的编码量
Rd(s,p,m(bk)):通过预测套组s、参照方向组合索引p、预测模式m(bk)来对子像块bk进行编码时所需的预测残差数据的编码量
Dd(s,p,m(bk)):通过预测套组s、参照方向组合索引p、预测模式m(bk)来对子像块bk进行编码时所发生的编码失真。
λs:与预测套组s相关的拉格朗日(Lagrange)乘子
λp:与参照方向组合索引p相关的拉格朗日乘子
λm:与预测模式m(bk)相关的拉格朗日乘子
λd:与编码失真相关的拉格朗日乘子
在确定各种参数时,基于率失真最佳化法,就各预测套组s、各参照方向组合索引p、以及编码对象像块所含全部子像块的预测模式M(M=m(0),m(1),…,m(bk),…)的所有组合,计算以下式子(30)所示的编码成本J(s,p,m)。然后,把编码成本J(s,p,m)呈最小时的参数(sbest,pbest,Mbest)确定为编码对象像块的编码时所要用的参数。
要计算编码成本J(s,p,m),就需要求出各种参数的编码量、以及子像块bk的编码量和编码失真,因此编码参数确定部具备了相当于差分运算部1、正交变换部2、量子化部3、熵编码部504、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部10、相对预测套组信息作成部51、相对预测模式信息作成部61的功能块。另外,该功能块在图中无显示。
[数学式16]
以下参照图37来说明编码参数(s,p,M)的确定处理。图37是表示编码参数确定部14的编码参数(s,p,M)确定处理的流程图。
首先,编码参数确定部14将编码成本的最小值Jmin初始化成足够大的值。另外,将编码参数(s,p,M)设定成规定的初始值(步骤S200)。然后,计算出以下情况时的编码成本J(s,p,M),该情况为:使用预测套组s、参照方向组合索引p,并对应预测模式M的组合来对编码对象像块W所含所有子像块进行编码(步骤S201)。
接着,更新编码成本的最小值Jmin、以及该最小值Jmin时的编码参数(sbest,pbest,Mbest)以及(s,p,M)。
在此,若满足J(s,p,M)<Jmin,便把J(s,p,M)作为编码成本最小值Jmin的值,另外,把(s,p,M)的值作为编码参数(sbest,pbest,Mbest)的值。若J(s,p,M)Jmin,便不进行Jmin以及编码参数(sbest,pbest,Mbest)的更新,另外,把用以计算下个编码成本的编码参数的组合设定至(s,p,M)(步骤S202)。
接着,判断是否就所有的编码参数(s,p,M)完成了步骤S201至步骤S202的处理。若已就编码参数(s,p,M)的所有组合计算出了编码成本(在步骤S203中为“是”),便实行步骤S204。若还有未计算出的编码成本(在步骤S203中为“否”),便从步骤S201开始再次进行处理。也就是说,就预测套组s、参照方向组合索引p、编码对象像块所含全部子像块的预测模式M的所有组合,反复进行步骤S201以及步骤S202的处理。
从、通过步骤S201至S203的处理所得到的编码成本中,把实现最小值Jmin的编码参数(sbest,pbest,Mbest)确定为实际进行编码时所要用的参数(步骤S204)。所确定的预测套组sbest被输出至帧内预测部10、相对预测套组信息作成部51、以及相对预测模式信息作成部61。另外,所确定的参照方向组合索引pbest被输出至相对预测模式信息作成部61、以及熵编码部504。另外,所确定的、编码对象像块含有的全部子像块的预测模式Mbest被输出至帧内预测部10以及相对预测模式信息作成部61。
(附记事项)
在本实施方式中,关于参照方向确定部613,是以子像块尺寸为N=M/4时的参照方向组合表为例来提示表20的,但并不限定于。例如也可以使用表23来代替表20。使用表23时,优选熵编码部504使用表24所示的参照方向组合索引编码表。另外,在本实施方式所使用的参照方向组合表中,参照方向组合索引与子像块组的参照方向之间的对应关系是随预测套组信息重视的是水平方向还是垂直方向而不同,但也可以不根据预测套组信息,而使用表25或表26所示的参照方向组合表。使用表25时,优选熵编码部504使用表27所示的参照方向组合索引编码表。另外,使用表26时,优选熵编码部504使用表28所示的参照方向组合索引编码表。
[表23]
[表24]
参照方向组合索引 |
编码 |
0 |
1 |
1 |
0000 |
2 |
0001 |
3 |
0010 |
4 |
0011 |
5 |
0100 |
6 |
0101 |
7 |
0110 |
8 |
0111 |
[表25]
[表26]
[表27]
参照方向组合索引 |
编码 |
0 |
10 |
1 |
11 |
2 |
000 |
3 |
001 |
4 |
010 |
5 |
011 |
[表28]
参照方向组合索引 |
编码 |
0 |
110 |
1 |
111 |
2 |
0100 |
3 |
0101 |
4 |
0110 |
5 |
0111 |
6 |
00000 |
7 |
00001 |
8 |
00010 |
9 |
00011 |
10 |
00100 |
11 |
00101 |
12 |
00110 |
13 |
00111 |
在本实施方式中,虽然是以M×M像素像块为预测套组及参照方向组合索引的编码单位来进行说明的,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(GroupOf Picture:像组)作为预测套组的编码单位。例如,若要以像条为单位来切换使用预测套组及参照方向组合索引的话,就需要在图象切片的先头对所选择预测套组的相关信息进行编码。关于预测套组及参照方向组合索引的编码单位,可以预先在图像编码装置和图像译码装置之间进行决定,也可以在编码数据的先头中、图片头或GOP头中指定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。
(作用效果)
如以上所述,在图象编码装置500中,把构成图像的各像块作为单位,根据编码成本,确定可用于当前像块的预测套组、子像块组的共通已编码邻接子像块的参照方向、以及当前像块中的所有预测模式,其中,子像块组由当前像块中规定数的子像块所构成,参照方向被用于预测模式的推断。另外,在图像编码装置500中,还进一步把构成上述像块的各子像块作为单位,根据上述所确定的预测套组、上述所确定的参照方向、邻接于当前子像块的已编码子像块的预测套组以及预测模式、当前子像块的位置,推断当前子像块的预测模式,并对推断出的预测模式进行编码。因此,图像编码装置500能够对当前子像块的预测模式的推断时所要用的参照子像块进行选择,所以能够提高预测模式的推断精度,效率性地减少表示预测模式时所要的编码量,并进一步提高编码效率。另外,在图像编码装置500中,在当前子像块的预测模式与预测模式的推断时所要用的参照子像块的预测模式不同时,能够利用上述预测模式对应表,在当前子像块的预测套组中转换出与参照子像块的预测模式最类似的预测模式,因此能够提高当前子像块的预测模式的推断精度,效率性地减少表示预测模式时所要的编码量,并进一步提高编码效率。另外,在图像编码装置500中,根据预测模式推断时所用的参照方向的出现频度偏重性,对用以表示参照方向组合的信息进行可变长度编码,因此能够抑制参照方向组合索引的所需编码量。
<实施方式6>
关于本发明的图像译码装置的其他方式,以下参照图38至图41来说明实施方式6。关于与实施方式1至5相同的结构,赋予其相同的标号,并省略其说明。
(图像译码装置550的结构)
以下参照图38来说明实施方式6的图像译码装置550的结构。图38是表示图像译码装置550的结构的框图。
如图38所示,图像译码装置550主要具备熵译码部505、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部10、预测套组信息作成部52、以及预测模式信息作成部62。在本实施方式中,以下仅对未说明的熵译码部505、预测模式信息作成部62进行说明。
(熵译码部505)
熵译码部505实行熵编码部504的逆处理,即,对预测残差数据、相对预测模式信息、参照方向组合索引、相对预测套组信息等这些编码数据进行熵译码,并输出。
在熵译码部505中,对照参照方向组合索引编码表,把参照方向组合索引的编码数据(编码)熵译码成与编码相对应的参照方向组合索引。译码后的参照方向组合索引被输出至预测模式信息作成部62。此时,优选使用与图像编码装置500相同的参照方向组合索引编码表。另外,也可以在实施方式5的图像编码装置500和本实施方式的图像译码装置550之间,预先决定出可共通使用的参照方向组合索引编码表,或也可以通过外部的通知单元来指定参照方向组合索引编码表。
(预测模式信息作成部62)
预测模式信息作成部62实行相对预测模式信息作成部61的逆处理,即,根据预测套组信息作成部52所复原的预测套组信息、被熵译码后的相对预测模式信息及参照方向组合索引、邻接子像块的已译码预测套组信息以及已译码预测模式信息,作成当前子像块的预测模式信息,并将其输出。
以下说明预测模式信息作成部62的结构。图39是表示预测模式信息作成部62的结构的框图。如图39所示,预测模式信息作成部62具备存储部621a、存储部621b、参照方向确定部622、预测模式信息推断部623、以及预测模式信息生成部624。以下对各部进行说明。
(存储部621a、621b)
与相对预测模式信息作成部61的存储部611a、611b同样,存储部621a、621b对输入信息进行暂时存储。存储部621a对预测模式信息生成部624中生成的当前子像块的预测模式信息进行存储。存储部621b对输入过来的预测套组信息进行存储。另外,所被存储的预测模式信息以及预测套组信息将被用于当前子像块之后要被译码的子像块的预测模式信息的推断。
(参照方向确定部622)
与相对预测模式信息作成部61的参照方向确定部612同样,参照方向确定部622被输入预测套组信息以及参照方向组合索引,其后把子像块的预测模式信息的推断时所要用的已编码邻接子像块(参照子像块)的参照方向输出至预测模式信息推断部623。参照方向是根据所输入的预测套组信息、参照方向组合索引以及当前子像块的位置(在内部被计数),通过参照方向组合表来确定的。此时,优选使用与编码装置500同样的参照方向组合表。另外,也可以在实施方式5的图像编码装置500和本实施方式的图像译码装置550之间,预先决定出可共通使用的参照方向组合表,或也可以通过外部的通知单元来指定参照方向组合表。参照方向的确定方法与实施方式5中记载的方法相同,所以在此省略其说明。
(预测模式信息推断部623)
预测模式信息推断部623根据被输入的预测套组信息、参照方向确定部622所确定的参照方向、存储部621a、621b中存储的已译码邻接子像块的预测模式信息及预测套组信息,通过一定的方法来确定可被应用于当前子像块的预测模式信息的、推断值。然后,把所确定的推断值输出至预测模式信息生成部624。预测模式信息的推断值的确定方法与实施方式5的预测模式信息推断部613相同,所以在此省略其说明。
(预测模式信息生成部624)
预测模式信息生成部624实行相对预测模式生成部614的逆处理,即,根据输入过来的相对预测模式信息、以及预测模式信息推断部623所确定的预测模式信息的推断值probable_mode,生成要被应用于当前子像块的预测模式信息。所生成的预测模式信息被输出至存储器621a以及帧内预测部10。表29表示了预测模式信息mode_data()的数据结构。
[表29]
参数 |
详细 |
mode_data(){ |
预测模式信息 |
mode |
表示了要被应用于当前子像块之帧内预测的、预测模式 |
} |
|
以下参照图40来说明图像译码装置550中的图像译码处理的概要。图40是表示图像译码装置550中的图像译码处理概要的流程图。
将译码对象像块(M×M像素像块)的编码数据输入图像译码装置550(步骤S210)。
熵译码部505对输入过来的编码数据中的、译码对象像块的相对预测套组信息以及参照方向组合索引分别进行熵译码,然后输入(步骤S211)。
预测套组信息作成部52根据步骤S211中被熵译码的相对预测套组信息、以及已被存储的已译码预测套组信息,作成译码对象像块的预测套组信息(步骤S212)。
熵译码部505对相对预测模式信息的编码数据进行熵译码,然后把相对预测模式信息输出至预测模式信息作成部62(步骤S213)。
预测模式信息作成部62根据输入过来的预测套组信息和参照方向组合索引、以及当前子像块的相对预测模式信息、邻接于当前子像块的已译码子像块的预测套组信息及预测模式信息,作成当前子像块的预测模式信息(步骤S214)。
熵译码部505还进一步就分割出的具有规定像块尺寸(N×N像素像块)的各译码对象子像块,对预测残差数据的量子化值进行熵译码(步骤S215)。
帧内预测部10使用存储器9中存储的已译码邻接子像块的局部译码图像,根据可应用于译码对象子像块的预测模式,进行帧内预测,以生成与该预测模式相对应的预测图像(N×N像素像块)(步骤S216)。关于使用帧内预测来生成预测图像的生成方法,在实施方式1中已有说明,所以在此省略其说明。
步骤S215中所被译码的预测残差数据被先后输入逆量子化部6、逆正交变换部7,以进行逆量子化/逆正交变换,然后把完成了逆量子化/逆正交变换后的预测残差数据输出至相加运算部8(步骤S217)。
相加运算部8对步骤S216中生成的预测图像以及步骤S217中被进行了逆量子化/逆正交变换的预测残差数据进行相加,然后输出译码对象子像块的译码图像(N×N像素像块)(步骤S218)。
存储器9存储步骤S218中生成的译码对象子像块的译码图像(步骤S219)。
在图像译码装置550中,对构成译码对象像块的所有子像块都重复进行步骤S213至S219的处理,另外,对构成译码对象图像的所有像块都重复进行步骤S210至S219的处理。
在本实施方式中,虽然按步骤S210至S219的顺序说明了图像译码装置550的译码处理,但并不限定于此,本发明能够在实施可能的范围内进行变更。
(预测模式信息的详细作成处理)
以下,参照图41来说明作成预测模式信息时的处理。图41是表示生成预测模式信息时的详细处理的流程图。
首先,参照方向确定部622根据当前子像块的位置以及输入过来的预测套组信息和参照方向组合索引,通过参照方向组合表,确定预测模式信息的推断时所要用的参照子像块的、参照方向(步骤S220)。然后,把所确定的参照方向输出至预测模式信息推断部623。
预测模式信息推断部623分别从存储器621a、621b取得输入过来的参照方向所示的参照子像块的、预测模式信息以及预测套组信息(步骤S221)。接着,预测模式信息推断部623根据所取得的参照子像块的预测模式信息及预测套组信息、以及当前子像块的预测套组信息,并通过预测模式对应表,确定预测模式信息的推断值(步骤S222)。另外,所被确定的推断值被输出至预测模式信息生成部624。
预测模式信息生成部624根据输入过来的相对预测模式信息以及预测模式信息的推断值,生成当前子像块的预测模式信息,并将其输出(步骤S223)。
最后,存储部621a、621b分别存储当前子像块的预测模式信息、预测套组信息(步骤S224)。
在本实施方式中,虽然是把M×M像素像块作为预测套组以及参照方向组合索引的译码单位来进行说明的,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group Of Picture:像组)作为译码单位。例如,若要以像条为单位来切换使用预测套组及参照方向组合索引的话,就需要在图象切片的先头对预测套组以及参照方向组合索引的相关信息进行译码。关于预测套组及参照方向组合索引的译码单位,可以预先在图像编码装置和图像译码装置之间进行决定,也可以在编码数据的先头、图片头、GOP头中指定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。
(作用效果)
如以上所述,图像译码装置550具备了聚集有多个预测套组的预测套组群,其中,每一预测套组中含有多个预测模式,该些预测模式在每一预测套组中的组合都不同,每一预测模式对应的预测方向都不同。在图像译码装置550中,按构成图像的各像块,使用相对预测套组信息以及已译码预测套组信息,就可用于译码对象像块的预测套组信息进行译码。接着,对用以表示参照方向之组合的参照方向组合索引进行译码,其中,参照方向将被用来推断当前像块中所有子像块的预测模式。然后,图像译码装置550就每一从上述像块中进一步分割出的子像块,根据上述译码后的预测套组信息、上述译码后的参照方向组合索引、邻接于当前子像块的已译码子像块的预测套组信息以及预测模式信息,就当前子像块的预测模式进行推断,然后基于上述推断值以及相对模式信息,译码出预测模式信息。因此,图像译码装置550能够对当前子像块的预测模式的推断时所要用的参照子像块进行选择,所以能够提高预测模式的推断精度,减少对预测模式进行译码时所要的编码量。另外,在图像译码装置550中,在当前子像块的预测模式与预测模式的推断时所要用的参照子像块的预测模式不同时,能够利用上述预测模式对应表,在当前子像块的预测套组中转换出与参照子像块的预测模式最类似的预测模式,因此能够提高当前子像块的预测模式的推断精度,并效率性地减少对预测模式进行译码时所要的编码量。另外,在图像译码装置550中,使用与参照方向组合的出现频度偏重性相对应的可变长度编码,对上述参照方向组合索引进行译码,因此能够抑制参照方向组合索引的译码时所需编码量的增加。
<实施方式7>
关于本发明的图像编码装置的其他方式,以下参照图42至图49来说明实施方式7。关于与实施方式1至6相同的结构,赋予其相同的标号,并省略其说明。
在实施方式5中的说明中,利用预测套组信息来确定在当前子像块的预测模式的推断时所要用的参照子像块。在本实施方式的图像编码装置中,不利用预测套组信息,而是利用位于当前子像块周边的已编码子像块的预测模式来确定在当前子像块的预测模式的推断时所要用的参照子像块的。
(图像编码装置600的结构)
以下参照图42来说明本实施方式的图像编码装置600的结构。图42是表示本实施方式的图像编码装置600的结构的框图。图像编码装置600具备差分运算部1、正交变换部2、量子化部3、熵编码部304、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部310、预测模式确定部311、相对预测模式信息作成部661。在本实施方式中,以下将对未说明的相对预测模式信息作成部661进行说明。
(相对预测模式信息作成部661)
相对预测模式信息作成部661根据从预测模式确定部311输入过来的预测模式信息以及存储于相对预测模式信息作成部661内部的、邻接于当前子像块的已编码子像块的预测模式信息,作成当前子像块的相对预测模式信息。
以下参照图43来说明的相对预测模式信息作成部661的结构。图43是表示相对预测模式信息作成部661的结构的框图。
如图43所示,相对预测模式信息作成部661具备存储部662、参照位置确定部663、预测模式信息推断部664、以及相对预测模式信息生成部665。
(存储部662)
存储部662对输入过来的当前子像块的预测模式信息进行存储。另外,所被存储的预测模式信息将被用于当前子像块之后要被译码的子像块的预测模式信息的推断。
(参照位置确定部663)
参照位置确定部663利用位于当前子像块周边的已编码子像块的预测模式信息,从邻接于当前子像块的4处子像块(图44中的邻接子像块A、B、C、D)中,确定出与当前子像块呈最高相关性的子像块(参照子像块),然后把确定出的参照子像块的位置信息(参照位置信息)输出至预测模式信息推断部664。在此,把当前子像块成为当前子像块O。
(预测模式信息推断部664)
预测模式信息推断部664根据参照位置确定部663所确定的参照位置信息、以及存储于存储部662中的已译码邻接子像块的预测模式信息,通过一定的方法来确定可用于当前子像块的预测模式信息的、推断值,然后把所确定的推断值输出至预测模式信息生成部665。
(相对预测模式信息生成部665)
相对预测模式信息生成部665具有与相对预测模式信息生成部614相同的功能,即,根据输入过来的预测模式信息以及预测模式信息推断部664所确定的预测模式信息的推断值probable_mode,生成与推断值相对应的、预测模式的相对信息(相对预测模式信息)。另外,所生成的相对预测模式信息被输出至熵编码部304。关于相对预测模式信息relative_mode_data()的数据结构,与表18所示的相同。
(图像编码处理的概要)
以下参照图45来说明图像编码装置600的图像编码处理的概要。图45是表示图像编码装置600的图像编码处理概要的流程图。
将编码对象子像块(N×N像素像块)输入至图象编码装置600(步骤S230)。
预测模式确定部311根据编码对象子像块的原始图像、存储器9中存储的局部译码图像(N×N像素像块),确定出编码对象子像块的预测模式(步骤S231)。另外,与所确定的预测模式相关的预测模式信息被输出至帧内预测部310以及相对预测模式信息作成部661。
相对预测模式信息作成部661就预测模式确定部311输入过来的编码对象子像块的预测模式信息,根据参照子像块的预测模式信息,作成编码对象子像块的相对预测模式信息,然后将其输入(步骤S232)。
熵译码部304对输入过来的相对预测模式信息进行熵编码,并将相对预测模式信息的编码数据输入(步骤S233)。
帧内预测部310使用从存储器9取得的已编码邻接子像块的局部译码图像,进行、由上述步骤S231中确定的预测模式规定的帧内预测,以生成编码对象子像块的预测图像(步骤S234)。所生成的编码对象子像块的预测图像被输出至差分运算部1以及相加元算部8。预测图像的生成方法与现有技术相同,所以在此省略其说明。
差分运算部1计算出N×N像素像块的预测残差数据即、输入过来的编码对象子像块的原始图像与步骤S234中生成的预测图像之间的差分,然后将预测残差数输出。(步骤S235)。
步骤S235中所算出的预测残差数据被先后输入至正交变换部2、量子化部3,并被进行正交变换/量子化,然后被输出至熵编码部304以及逆量子化部6(步骤S236)。
被进行了正交变换/量子化后的预测残差数据被先后输入至逆量子化部6、逆正交变换部7,并被进行逆正交变换/逆量子化,然后被输出至相加运算部8(步骤S237)。
相加运算部8对步骤S237中被进行了逆量子化以及逆正交变换的预测残差数据、以及步骤S234中生成的预测图像进行相加,以生成编码对象子像块的局部译码图像(步骤S238)。所生成的局部译码图像被存储于存储器9。
熵编码部304对编码对象子像块的量子化后预测残差数据进行熵编码,然后将预测残差数据的编码数据输出(步骤S239)。
在图像编码装置600中,就构成编码对象图像的所有子像块进行步骤S230至S239的处理。
在本实施方式中,虽然按步骤S230至S239的顺序说明了图像编码装置600的编码处理,但并不限定于此。本发明也能够在实施可能的范围内进行变更。
(参照子像块的详细的确定处理)
以下说明参照子像块的确定方法。首先说明子像块Q相对于对象子像块P的相对位置。如图46所示,对象子像块P被作为原点(0,0),把水平方向作为X轴(以右方为“正”),把垂直方向作为Y轴(以下方为“正”),(x,y)表示了Q相对于P的相对位置。例如,邻接于当前子像块的子像块A、B、C、D的相对位置可以分别通过(-1,0)、(0,-1)、(-1,-1)、(1,-1)来表示。
接着,把相对于对象子像块P的、相对位置(x,y)上子像块Q的联系度定义为Sp(x,y)。在此,联系度Sp(x,y)是用于表示对象子像块P与相对位置(x,y)上子像块Q之间相关性程度的成本函数,其通过式子(31)来表示。另外,联系度Sp(x,y)的值越大,就表示子像块P与子像块Q之间的相关性越强。
[数学式17]
Sp(x,y)=wp×wq×d…(31)
上述式子(31)的wp是,子像块Q中所出现的与子像块P的预测模式mp相类似的预测模式的、出现程度的加权系数。同样,wq是子像块P中所出现的与子像块Q的预测模式mq相类似的预测模式的、出现程度的加权系数。
加权系数wp、wq可以通过参照表30,并根据预测模式mp、mq以及相对位置(x,y)来定。另外,表30中的加权系数w1、w2具有以下式子(32)所示的大小关系,加权系数wi的值越大,就表示所出现的相类似预测模式越多。
[数学式18]
0≤w2≤w1…(32)
[表30]
例如,当对象子像块P的预测模式mp为预测模式1(水平方向的预测)时,在4种相对位置之中,位于对象子像块P左侧的子像块(位于相对位置(-1,0))中出现了较多的相类似预测模式。因此,把呈较大值的加权系数w1设定给相对位置(-1,0),把呈较小值的加权系数w2设定给其他相对位置(0,-1)(-1,-1)(1,-1)。但加权系数的值并不限定于w1、w2这两种。
另外,上述式子(31)中的d是用来表示对象子像块P的预测模式mp的预测方向与子像块Q的预测模式mq的预测方向有多类似的类似度,式子(31)d可以通过表31来算出。表31中的di(i=1,2,3,4,5)是用以表示类似度的规定值,各di的相互大小关系通过以下式子(33)来表示。即,di的值越大,就表示类似度越高。
[数学式19]
0≤d5≤d4≤d3≤d2≤d1…(33)
[表31]
例如,若预测模式mp为预测模式1(水平方向的预测),且预测模式mq也是预测模式1,那么两者的预测方向便一致。因此把较大的d1设定成类似度的值。另外,若mq是图68中最接近于预测模式1的预测模式6、8,便设定为d2。另外,若mq是图68中第二接近于预测模式1的预测模式3、4,便设定为d3。另外,若mq是图68中第三接近于预测模式1的预测模式5、7,便设定为d4。若mq是图68中最远离于预测模式1的预测模式0,便设定为d5。若mq是预测模式2,便设定d1至d5的中间值d3。但类似度的值并不限定于d1至d5这5种。在存在有对象子像块P的预测模式mp的情况下,优选根据邻接子像块中的更类似预测模式的出现特性,对类似度d进行设定。例如,可以根据预测模式mq相对于预先所求预测模式mp的出现率(同时发生率)来设定类似度d。
接着,就邻接于当前子像块O的子像块A、B、C、D,分别求取子像块A、B、C、D各自与4个相对位置(-1,0)、(0,-1)、(-1,-1)、(1,-1)之间的联系度Sp(x,y)(p=a、b、c、d)。例如,若是邻接子像块A,便求取Sa(-1,0)、Sa(0,-1)、Sa(-1,-1)、Sa(1,-1)。
根据所求取的邻接子像块A、B、C、D的联系度,通过以下的式子(34)至(37),推断对应了相对位置(-1,0)、(0,-1)、(-1,-1)、(1,-1)时的当前子像块O的联系度So(x,y)。另外,在通过以下的式子(34)至(37)来进行推断时,若在邻接子像块A、B、C、D的联系度Sp(x,y)之中有无法求取的某联系度的话(例如,邻接子像块位于编码对象图像之外等情况),优选代入规定的值来进行代替。
[数学式20]
So(-1,0)={Sa(-1,0)+Sb(-1,0)+Sc(-1,0)+Sd(-1,0)}/4…(34)
So(0,-1)={Sa(0,-1)+Sb(0,-1)+Sc(0,-1)+Sd(0,-1)}/4…(35)
So(-1,-1)={Sa(-1,-1)+Sb(-1,-1)+Sc(-1,-1)+Sd(-1,-1)}/4…(36)
So(1,-1)={Sa(1,-1)+Sb(1,-1)+Sc(1,-1)+Sd(1,-1)}/4…(37)
从通过上述式子(34)至(37)所推断出的联系度SO(x,y)中,把实现最大联系度值时的相对位置(x,y)作为当前子像块O的参照子像块。另外,当存在多个值呈相同的联系度时,优先把规定的相对位置(x,y)作为当前子像块O的参照子像块。
(相对预测模式信息作成部661的动作处理)
以下参照图47来说明在相对预测模式信息作成部661中作成相对预测模式信息时的处理。图47是表示生成相对预测模式信息时的详细处理的流程图。
首先,存储部662将输入过来的预测模式信息进行存储(步骤S240)。接着,参照位置确定部663根据存储部662中存储的、位于当前子像块周边的多个已编码子像块的预测模式信息,推断当前子像块与邻接子像块(A、B、C、D)之间的相关性(步骤S241)。
根据步骤S241中所求取得相关性,从邻接子像块A、B、C、D中确定出要当前子像块的预测模式信息的推断时所要用的参照子像块(步骤S242)。另外,用以表示被确定的参照子像块之位置的参照位置信息被输出至预测模式信息推断部664。
预测模式信息推断部664从存储部662取出、输入过来的参照位置信息所示的参照子像块的预测模式信息(步骤S243)。然后,根据所取得的参照子像块的预测模式信息,确定预测模式信息的推断值,并把所确定的推断值输出至相对预测模式信息生成部665(步骤S244)。
相对预测模式信息生成部665根据输入过来的预测模式信息、预测模式信息的推断值,生成当前子像块的相对预测模式信息,并将其输出(步骤S245)。
(变形例)
以下说明本实施方式变形例的相对预测模式信息作成部611b,在相对预测模式信息作成部611b中,不利用邻接已编码子像块的预测模式信息,而是利用邻接已编码子像块的局部译码图像来确定出参照子像块。
在本实施方式7的例子中,相对预测模式信息作成部661根据邻接已编码子像块的预测模式信息,确定编码对象子像块的预测模式的推断时所要用的参照子像块。
(图像编码装置600b的结构)
以下参照图48来说明使用有相对预测模式信息作成部661b的图像编码装置600b的结构。图像编码装置600b主要具备差分运算部1、正交变换部2、量子化部3、熵编码部304、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部310、预测模式确定部311、以及相对预测模式信息作成部661b。以下就相对预测模式信息作成部661b进行说明。
(相对预测模式信息作成部661b)
相对预测模式信息作成部661b根据预测模式确定部311输入过来的预测模式信息、存储器9中存储的、邻接于当前子像块的已编码子像块的局部译码图像,作成当前子像块的相对预测模式信息。
以下参照图49来说明相对预测模式信息作成部661b的结构。图49是表示相对预测模式信息作成部661b的结构的框图。
如图49所示,相对预测模式信息作成部611b具备存储部662、参照位置确定部663b、预测模式信息推断部664、以及相对预测模式信息生成部665。以下就参照位置确定部663b进行说明。
(参照位置确定部663b)
参照位置确定部663b利用位于当前子像块周边的已编码子像块的局部译码图像,从邻接于当前子像块的4处的子像块(图44中的邻接子像块A、B、C、D)中确定出与当前子像块呈最高相关性的子像块(参照子像块)。然后,把确定的参照子像块的位置信息(参照位置信息)输出至预测模式信息推断部664。在此,把当前子像块称为当前子像块O。
(图像编码处理的概要)
关于图像编码装置600b中的图像编码处理,除了步骤S232,其他都与图像编码装置600的图像编码处理大致相同,因此省略说明。关于与图像编码装置600的图像编码处理不同的步骤S232,其说明如下。
相对预测模式信息作成部661b根据存储器9输入过来的、位于编码对象子像块周边的已编码子像块的局部译码图像,就预测模式确定部311输入过来的编码对象子像块的预测模式信息,作成编码对象子像块的相对预测模式信息,并将其输出(步骤S232)。
(参照子像块位置的详细的确定处理)
以下就使用位于当前子像块周边的已编码子像块的局部译码图像时的、参照子像块位置的确定方法进行说明。
在参照位置确定部663b中,为了评价对象子像块与相对位置(x,y)上的子像块Q之间的相关性,不使用联系度Sp(x,y),而是使用成本函数f(θp,θq,Tp,Tq)。在此,变数θp是对象子像块P中的主导性边缘方向,变数θq是相对位置(x,y)上子像块Q中的主导性边缘方向。另外,Tp表示了对象子像块P的边缘强度,Tq表示了相对位置(x,y)上子像块Q的边缘强度。关于边缘方向、边缘强度的计算方法,已在实施方式1中有所说明,所以在此省略。
作为成本函数f(θp,θq,Tp,Tq)的具体例子,例如有以下式子(38)、(39)。
[数学式21]
f(θp,θq,Tp,Tq)=|θp-θq|α×|Tp-Tq|β…(38)
f(θp,θq,Tp,Tq)=γ|θp-θq|+ε|Tp-Tq|…(39)
上述式子(38)是由以下两者的积所赋予的成本函数f(θp,θq,Tp,Tq),另外,上述式子(39)是由以下两者的和所赋予的成本函数f(θp,θq,Tp,Tq),该两者为:边缘方向θp和θq之间的差分的绝对值、以及边缘强度Tp和Tq之间的差分的绝对值。式子(38)、(39)中的参数α、β、γ、ε是规定的定标变数。
上述式子(38)、(39)所示的成本函数f(θp,θq,Tp,Tq)的值越小,就表示对象子像块P与相对位置(x,y)上的子像块Q之间的相关性越强。在此,为了方便,把对象子像块P与子像块Q之间的成本函数f(θp,θq,Tp,Tq)记载成fp(x,y),其中,子像块Q位于、相对于对象子像块P的相对位置(x,y)上。
接着,求取邻接于图44中当前子像块O的子像块A、B、C、D各自与4个相对位置(-1,0)、(0,-1)、(-1,-1)、(1,-1)之间的成本函数fp(x,y)。例如,若是邻接子像块A,便求取fa(-1,0)、fa(0,-1)、fa(-1,-1)、fa(1,-1)。
然后,根据、就各邻接子像块A、B、C、D所求取的成本函数fp(x,y),通过以下的式子(40)至(43)来推断当前子像块分别对应相对位置(-1,0)、(0,-1)、(-1,-1)、(1,-1)时的成本函数fo(x,y)。另外,在通过以下的式子(40)至(43)来进行推断时,若在邻接子像块A、B、C、D的对应成本函数fp(x,y)之中有无法求取的成本函数的话,优选代入规定的值来进行代替。
[数学式22]
fo(-1,0)={fa(-1,0)+fb(-1,0)+fc(-1,0)+fd(-1,0)}/4…(40)
fo(0,-1)={fa(0,-1)+fb(0,-1)+fc(0,-1)+fd(0,-1)}/4…(41)
fo(-1,-1)={fa(-1,-1)+fb(-1,-1)+fc(-1,-1)+fd(-1,-1)}/4…(42)
fo(1,-1)={fa(1,-1)+fb(1,-1)+fc(1,-1)+fd(1,-1)}/4…(43)
在通过上述式子(40)至(43)所推断出的成本函数fo(x,y)中,把实现最小成本时的相对位置(x,y)上的子像块作为当前子像块O的参照子像块。另外,当出现多个值呈相同的成本时,优先把规定相对位置(x,y)上的子像块作为当前子像块O的参照子像块。
(相对预测模式信息的详细作成处理)
关于作成相对预测模式信息时的处理,除了步骤S241,其他都与相对预测模式信息作成部661的处理动作大致相同,因此省略说明。关于与相对预测模式信息作成部661的处理动作不同的步骤S241,其说明如下。
参照位置确定部663b根据存储器9中存储的、位于当前子像块周边的多个已编码子像块的局部译码图像,计算该些已编码子像块的边缘信息,然后根据所计算的边缘信息,推断当前子像块与邻接子像块(A、B、C、D)之间的相关性(步骤S241)。
(附注事项)
在本实施方式以及本实施方式的变形例的说明中,虽然把子像块作为预测模式的推断时所要用的子像块的位置选择单位,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group Of Picture:像组)作为子像块的位置选择单位。关于预测模式的推断时所要用的子像块的、位置选择单位,可以预先在图像编码装置和图像译码装置之间进行决定,也可以在编码数据的先头、图片头、GOP头中进行指定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。另外,在本实施方式以及本实施方式的变形例中,虽然把图44中的子像块A、B、C、D作为了预测模式的推断时所要用的邻接子像块,但并不限定于此。例如,也可以仅使用子像块A、B,或使用A、B、C、D以及靠近于编码对象子像块的其他已编码子像块。
(作用效果)
如以上所述,本实施方式的图像编码装置600至少具有1个预测套组,该预测套组含有多个预测模式,每一预测模式所对应的预测方向互不相同。
在图像编码装置600中,就构成图像的各像块,按每一从编码对象像块中进一步分割出的子像块,根据已编码邻接子像块的预测模式信息、或已编码邻接子像块的译码图像,通过一定的方法来推断当前子像块与邻接子像块之间的相关性。然后,根据所推断的相关性的结果,选择出与当前子像块呈最高相关性的已编码邻接子像块,并根据所选择出的已编码邻接子像块的预测模式,推断当前子像块的预测模式,然后对其进行编码。
如此,图像编码装置600能够选择出与当前子像块呈最高相关性的子像块,所以能够提高当前子像块的预测模式的推断精度,减少表示预测模式时所需的编码量,并提高编码效率。
<实施方式8>
关于本发明的图像译码装置的其他方式,以下参照图50至图55来说明实施方式8。关于与实施方式1至7相同的结构,赋予其相同的标号,并省略其说明。
(图像译码装置650的结构)
以下参照图50来说明实施方式8的图像译码装置650的结构。图50是表示图像译码装置650的结构的框图。
如图50所示,图像译码装置650主要具备熵译码部305、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部310、预测模式信息作成部666。在本实施方式中,以下仅对预测模式信息作成部662进行说明。
(预测模式信息作成部666)
预测模式信息作成部666实行实施方式7中的相对预测模式信息作成部661的逆处理,即,根据译码对象子像块的熵译码后的相对预测模式信息以及预测模式信息作成部666内部所存储的、位于当前子像块周边的已译码子像块的预测模式信息,作成当前子像块的预测模式信息。
以下参照图51来说明预测模式信息作成部666的结构。图51是表示预测模式信息作成部662的结构的框图。如图51所示,预测模式信息作成部666具备存储部667、参照位置确定部668、预测模式信息推断部669、以及预测模式信息生成部670。
(存储部667)
存储部667具有与相对预测模式信息作成部661的存储部662相同的功能,其对预测模式信息生成部670所生成的当前子像块的预测模式信息进行存储。所被存储的预测模式信息将被用于当前子像块之后要被译码的子像块的、预测模式信息的推断。
(参照位置确定部668)
参照位置确定部668具有与相对预测模式信息作成部661的参照位置确定部663相同的功能。即,利用位于当前子像块周边的已编码子像块的预测模式信息,从邻接于当前子像块的4处子像块(图44中的邻接子像块A、B、C、D)中,确定出与当前子像块呈最高相关性的子像块(参照子像块)。然后,把所确定出的参照子像块的位置信息(参照位置信息)输出至预测模式信息推断部669。关于参照子像块的确定方法,与实施方式7的参照位置确定部663相同,所以在此省略其说明。
(预测模式信息推断部669)
预测模式信息推断部669具有与相对预测模式信息作成部661的预测模式信息推断部664相同的功能。即,根据参照位置确定部668所确定的参照位置信息、以及存储于存储部667中的已译码邻接子像块的预测模式信息,通过一定的方法来确定可用于当前子像块的预测模式信息的、推断值,然后把所确定的推断值输出至预测模式信息生成部670。
(预测模式信息生成部670)
预测模式信息生成部670实行相对预测模式信息生成部665的逆处理。即,根据输入过来的预测模式信息、以及预测模式信息推断部669所确定的预测模式信息的推断值probable_mode,生成要被用于当前子像块的预测模式信息。另外,所生成的预测模式信息被输出至存储部666以及熵编码部310。预测模式信息mode_data()的数据结构与表29所示的相同。
(图像译码处理的概要)
以下参照图52来说明图像译码装置650的图像译码处理的概要。图52是表示图像译码装置650的图像译码处理概要的流程图。
将译码对象子像块(N×N像素像块)输入至图象译码装置650(步骤S250)。
熵译码部305对输入过来的编码数据中的、译码对象子像块的相对预测模式信息的编码数据进行熵译码,然后把相对预测模式信息输出至预测模式信息作成部666(步骤S251)。
预测模式信息作成部666根据位于译码对象子像块周边的已译码子像块的预测模式信息、以及输入过来的译码对象子像块的相对预测模式信息,作成当前子像块的预测模式信息(步骤S252)。
熵译码部305对预测残差数据的编码数据进行熵译码(步骤S253)。
帧内预测部310使用存储器9中存储的已译码邻接子像块的局部译码图像,进行与译码后的预测模式相对应的帧内预测,以生成译码对象子像块的预测图像(N×N像素像块)(步骤S254)。预测图像的生成方法与现有技术相同,所以在此省略其说明。
在步骤S253中所被译码的预测残差数据被先后输入逆量子化部6、逆正交变换部7,以进行逆量子化/逆正交变换,然后把完成了逆量子化/逆正交变换后的预测残差数据输出至相加运算部8(步骤S255)。
相加运算部8对步骤S254中生成的预测图像、以及步骤S255中被进行了逆量子化/逆正交变换后的预测残差数据进行相加,以生成译码对象子像块的译码图像(N×N像素像块),然后将译码图像输出(步骤S256)。
存储器9对所生成的译码对象子像块的译码图像进行存储(步骤S257)。
在图像译码装置650中,对构成译码对象图像的所有子像块都重复步骤S250至S257的处理。
在本实施方式中,虽然按步骤S250至步骤S257的顺序说明了图像译码装置650的译码处理,但并不限定于此,本发明能够在实施可能的范围内进行变更。
(预测模式信息作成部662的动作处理)
以下参照图53来说明作成预测模式信息时的详细处理。图53是表示生成预测模式信息时的详细处理的流程图。
首先,参照位置确定部668根据存储部667中存储的、位于当前子像块周边的多个已译码子像块的预测模式信息,推断当前子像块与邻接子像块(A、B、C、D)之间的相关性(步骤S260)。接着,根据步骤S260中所求得的相关性,从邻接子像块A、B、C、D中确定出当前子像块的预测模式信息的推断时所要用的参照子像块,然后把用以表示所确定的参照子像块之位置的参照位置信息输出至预测模式信息推断部669(步骤S261)。
预测模式信息推断部669从存储部667取得输入过来的参照位置信息所示的参照子像块的、预测模式信息(步骤S262)。接着,根据所取得的参照子像块的预测模式信息,确定预测模式信息的推断值,然后把所确定的推断值输出至相对预测模式信息生成部670(步骤S263)。
相对预测模式信息生成部670根据输入过来的相对预测模式信息以及预测模式信息的推断值,生成当前子像块的预测模式信息,并将其输出(步骤S264)。
最后,存储部667把所生成的当前子像块的预测模式信息进行存储(步骤S265)。
(变形例)
以下说明本实施方式变形例的图像译码装置,该变形例的图像译码装置具备了预测模式信息作成部662b,预测模式信息作成部662b不利用邻接已译码子像块的预测模式信息,而是利用邻接已编码子像块的局部译码图像来确定参照子像块。
在本实施方式8的例示中,预测模式信息作成部666根据邻接已编码子像块的预测模式信息,确定在当前子像块的预测模式的推断时所要利用的参照子像块。
(图像译码装置650b的结构)
以下参照图54来说明具备有预测模式信息作成部666b的图像编码装置650b的结构。图54是表示图像译码装置650b的结构的框图。
如图54所示,图像译码装置650b主要具备熵译码部305、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、帧内预测部310、预测模式信息作成部666b。在本实施方式中,以下仅对预测模式信息作成部662b进行说明。
(预测模式信息作成部666b)
预测模式信息作成部666b实行实施方式7之变形例的图像译码装置600b所具备的相对预测模式信息作成部661b的逆处理。即,根据译码对象子像块的熵译码后的相对预测模式信息、以及存储器9中存储的、邻接于译码对象子像块的已译码子像块的局部译码图像,作成当前子像块的预测模式信息。
以下说明预测模式信息作成部666b的结构。图55是表示预测模式信息作成部666b的结构的框图。如图55所示,预测模式信息作成部666b具备存储部667、参照位置确定部668b、预测模式信息推断部669、以及预测模式信息生成部670。在此,仅对参照位置确定部668b进行说明。
(参照位置确定部668b)
参照位置确定部668b具有与、图像编码装置660b所具备相对预测模式信息作成部661b中的参照位置确定部663b相同的功能。即,利用位于当前子像块周边的已译码子像块的局部译码图像,从邻接于当前子像块的4处子像块(图44中的邻接子像块A、B、C、D)中确定出参照子像块。然后,把用以表示所确定的参照子像块的位置的参照位置信息输出至预测模式信息推断部669。关于参照子像块的确定方法,与实施方式7的参照位置确定部663b相同,所以在此省略其说明。
(图像译码处理的概要)
关于图像编码装置650b中的图像译码处理,除了步骤S252,其他都与图像译码装置650的图像译码处理大致相同,因此省略说明。关于与图像译码装置650的图像编码处理不同的步骤S252,其说明如下。
预测模式信息作成部666b根据输入过来的译码对象子像块的相对预测模式信息、以及存储器9中存储的位于译码对象子像块周边的已译码子像块的局部译码图像,作成当前子像块的预测模式信息(步骤S252)。
(预测模式信息的详细的作成处理)
关于作成预测模式信息时的处理,除了步骤S261,其他都与相对预测模式信息作成部661的处理动作大致相同,因此省略其说明。关于与相对预测模式信息作成部661的处理动作呈不同的步骤S241,其说明如下。
参照位置确定部668b根据存储器9中存储的、位于当前子像块周边的多个已译码子像块的局部译码图像,计算该些已译码子像块的边缘信息,然后根据所计算的边缘信息,推断当前子像块与邻接子像块(A、B、C、D)之间的相关性(步骤S241)。
(附注事项)
在本实施方式以及本实施方式的变形例的说明中,虽然把子像块作为预测模式的推断时所要用的子像块的位置选择单位,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group Of Picture:像组)作为子像块的位置选择单位。关于预测模式的推断时所要用的子像块的位置选择单位,可以预先在图像编码装置和图像译码装置之间进行决定,也可以在编码数据的先头、图片头、GOP头中进行指定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。另外,在本实施方式以及本实施方式的变形例中,虽然把图44中的子像块A、B、C、D作为了预测模式的推断时所要用的邻接子像块,但并不限定于此。例如,也可以仅使用子像块A、B,或使用A、B、C、D以及靠近于译码对象子像块的其他已译码子像块。
(作用效果)
如以上所述,本实施方式的图像译码装置650至少具有1个预测套组,该预测套组含有多个预测模式,每一预测模式所对应的预测方向互不相同。
在图像译码装置650中,就构成图像的各像块,按每一从译码对象像块中进一步分割出的子像块,根据已译码邻接子像块的预测模式信息、或已译码邻接子像块的译码图像,通过一定的方法来推断当前子像块与邻接子像块之间的相关性。然后,根据所推断的相关性的结果,选择出与当前子像块呈最高相关性的已译码邻接子像块,并根据所选择出的已译码邻接子像块的预测模式,推断当前子像块的预测模式,然后根据推断结果以及当前子像块的相对预测模式信息,译码出预测模式信息。
如此,图像译码装置650能够选择出与当前子像块呈最高相关性的子像块,所以能够提高当前子像块的预测模式的推断精度,减少对预测模式进行译码时所需的编码量。
<实施方式9>
关于本发明的图像编码装置的其他方式,以下参照图56至图60来说明实施方式9。关于与实施方式1至8相同的结构,赋予其相同的标号,并省略其说明。
在实施方式1的图像编码装置100中,是从预先规定的1个预测套组群(例如表2)中确定出1个要被用于编码对象像块(M×M像素像块)的预测套组的。在本实施方式所说明的图像编码装置中,利用已编码邻接像块的信息(例如,已编码邻接像块中子像块所被使用的帧内预测的预测方向),按每一像块,从预先规定的多个预测套组群中选择出1个预测套组群,并从所选择的预测套组群中确定出1个要被应用于编码对象像块的预测套组。
(图像编码装置700的结构)
以下参照图56来说明本实施方式的图像编码装置700的结构。图56是表示本实施方式的图像编码装置700的结构的框图。
图像编码装置700具备差分运算部1、正交变换部2、量子化部3、熵编码部4、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、预测套组群选择部15、帧内预测部710、编码参数确定部714、相对预测套组信息作成部751。以下,就预测套组群选择部15、帧内预测部710、编码参数确定部714、以及相对预测套组信息作成部751进行说明。
(预测套组群选择部15)
预测套组群选择部15根据已编码邻接像块的预测套组信息以及已编码邻接像块内所有子像块的预测模式信息,从规定的多个预测套组群中选择出可应用于编码对象像块的预测套组群。然后,把用以表示所选择的预测套组群的预测套组群信息输出。
另外,已编码邻接像块的预测套组信息以及已编码邻接像块内各子像块的预测模式信息由编码参数确定部714所输入,并被存储于预测套组群选择部15的内部。
(帧内预测部710)
帧内预测部710使用存储器9中存储的已编码邻接子像块的局部译码图像,实行由预测套组群信息、预测套组信息、以及预测模式信息规定的帧内预测,并生成预测图像。关于预测图像的详细生成方法,与帧内预测部10相同,所以在此省略说明。
(编码参数确定部714)
编码参数确定部714把编码对象像块的原始图像、存储器9中存储的已编码邻接像块的局部译码图像、以及预测套组群选择部15所选择的预测套组群信息作为输入,并确定出要被用于编码对象像块的预测套组、以及要被用于编码对象像块内各子像块的预测模式等这些编码参数。所确定的预测套组被输出至帧内预测部710、相对预测套组信息作成部751、以及预测套组群选择部15。另外,所确定的各子像块的预测模式被输出至预测套组群选择部15、帧内预测部710、以及熵编码部4。
另外,在编码参数确定部714中,从预测套组群选择部15选择的预测套组群信息所示的、预测套组群中,确定要被用于编码对象像块的预测套组、以及要被用于编码对象像块中各子像块的预测模式。在确定预测套组以及预测模式时,与编码参数确定部14同样,优选使用率失真最佳化法。
(相对预测套组信息作成部751)
相对预测套组信息作成部751基于预测套组群选择部15所输入的预测套组群信息、以及相对预测套组信息作成部751内部存储的已编码邻接子像块的预测套组信息,根据编码参数确定部714输入过来的编码对象像块的预测套组信息,作成相对预测套组信息,并将其输出。
如图57所示,相对预测套组信息作成部751主要具备存储部752a、存储部752b、预测套组信息预测部753、以及相对预测套组信息生成部754。图57是表示相对预测套组信息作成部751的结构的框图。以下就各个部进行说明。
(存储部752a、存储部752b)
存储部752a、存储部752b对输入信息进行暂时存储。存储部752a存储输入过来的编码对象像块的预测套组信息。存储部752b存储预测套组群选择部15输入过来的编码对象像块的预测套组群信息。另外,所被存储的预测套组信息以及预测套组群信息将被用于编码对象像块之后要被进行编码的像块的、预测套组的预测。
(预测套组信息预测部753)
预测套组信息预测部753根据输入过来的预测套组群信息、存储部752a和存储部752b中分别存储的已编码邻接像块的预测套组信息以及预测套组群信息,通过一定的方法确定可用于编码对象像块的预测套组的、预测值。然后,把所确定的预测值输出至相对预测套组信息生成部754。
(相对预测套组信息生成部754)
相对预测套组信息生成部754具有与实施方式1的相对预测套组信息生成部511相同的功能。相对预测套组信息生成部754根据输入过来的预测套组信息、预测套组信息预测部753所确定的预测套组的预测值,生成相对预测套组信息,并将其输出。
(图像编码处理的概要)
以下参照图58来说明图像编码装置700的图像编码处理的概要。图58是表示图像编码装置700的图像编码处理概要的流程图。
将编码对象像块输入图像编码装置700(步骤S270)。
预测套组群选择部15根据已编码邻接像块的预测套组信息、以及已编码邻接像块中各子像块的预测模式信息,选择可用于编码对象像块的预测套组群(步骤S271)。所选择的预测套组群的预测套组群信息被输出至编码参数确定部714、相对预测套组信息作成部751、以及帧内预测部710。
编码参数确定部714根据编码对象像块的原始图像、存储器9中存储的局部译码图像、以及预测套组群选择部15所选择的预测套组群信息,确定出编码对象像块的预测套组、以及编码对象像块中所有子像块的预测模式(步骤S272)。所被确定的预测套组被输出至帧内预测部710、相对预测套组信息作成部751、以及预测套组群选择部15。另外,所被确定的所有子像块的预测模式被输出至帧内预测部710以及预测套组群选择部15。
相对预测套组信息作成部751基于已编码邻接像块的、预测套组群信息以及预测套组信息,根据步骤S271中所得的预测套组群信息以及步骤S272中所得的预测套组信息,作成相对预测套组信息,并将作成的相对预测套组信息输出至熵编码部4(步骤S273)。
熵编码部4对步骤S273中作成的相对预测套组信息进行熵编码,然后输出(步骤S274)。另外,对步骤S272中确定的编码对象子像块的预测模式信息进行熵编码,然后把预测模式信息的编码数据输出(步骤S275)。
帧内预测部710使用存储器9中存储的已编码邻接子像块的局部译码图像,进行由、步骤S271中选择的预测套组群和步骤S272中确定的预测套组及预测模式规定的帧内预测,以生成编码对象子像块的预测图像(步骤S276)。所生成的编码对象子像块的预测图像被输出至差分运算部1以及相加运算部8。
差分运算部1算出编码对象子像块的预测残差数据即、输入过来的编码对象子像块的原始图像与步骤S276中生成的预测图像之间的差分,然后输出该预测残差数据(步骤S277)。
步骤S277中算出的预测残差数据被先后输入正交变换部2、量子化部3,并被进行正交变换/量子化,然后被输出至熵编码部4以及逆量子化部6(步骤S278)。
被进行了正交变换/量子化的预测残差数据被先后输入逆量子化部6、逆正交变换部7,并被进行逆量子化/逆正交变换,然后被输出至相加运算部8(步骤S279)。
相加运算部8对步骤S279中被进行了逆量子化以及逆正交变换的预测残差数据、以及步骤S276中生成的预测图像进行相加,以生成编码对象子像块的局部译码图像(步骤280)。所生成的局部译码图像被存储至存储器9。
熵编码部4对编码对象子像块的量子化后预测残差数据进行熵编码,然后把预测残差数据的编码数据输出(步骤S281)。
步骤275至步骤S281的处理是就构成编码对象像块的所有子像块进行的。另外,步骤S270至步骤S281的处理是就构成编码对象图像的所有像块进行的。
在本实施方式中,虽然按步骤S270至步骤S281的顺序说明了图像编码装置700的图像编码处理,但并不限定于此,本发明能够在实施可能的范围内进行变更。
(预测套组群的结构)
接着,以预测套组群数为3个时的情况为例,通过表32至表34来表示本实施方式中所用的预测套组群的具体结构例。
表32表示了第1预测套组群,第1预测套组群由以下三者构成,即,现有技术中所用的预测套组0(现有技术预测套组)、重视于水平方向预测的预测套组1(第1水平方向预测套组)、重视于垂直方向预测的预测套组2(第1垂直方向预测套组)。优选第1预测套组群中既含有重视于水平方向的预测套组,又含有重视于垂直方向的预测套组。
表33表示了第2预测套组群,第2预测套组群由以下三者构成,即,作为现有技术预测套组的预测套组0、作为第1水平方向预测套组的预测套组1、重视于与第1水平方向预测套组不同的水平方向预测的预测套组2(第2水平方向预测套组)。
表34表示了第3预测套组群,第3预测套组群由以下三者构成,即,作为现有技术预测套组的预测套组0、作为第1垂直方向预测套组的预测套组1、重视于与第1垂直方向预测套组不同的垂直方向预测的预测套组2(第2垂直方向预测套组)。
[表32]
[表33]
[表34]
根据图9中邻接于编码对象像块61的已编码像块60a和60c、或60a至60d、或60a至60e和60h、或60a至60k中的全部子像块的帧内预测,使用以下(1)至(6)的指标,从第1预测套组群至第3预测套组群之中确定出可用于编码对象像块的预测套组群。
(1)以水平方向为中心时的预测方向θ(-45[deg]<θ 45[deg])的出现频度数Nh(0)。
(2)以垂直方向为中心时的预测方向θ(-90[deg] θ-45[deg]、45[deg]<θ<90[deg])的出现频度数Nv(0)。
(3)Nh与Nv的合计值Nmax(=Nh+Nv)。
(4)规定的阈值T0。
(5)规定的阈值T1。
(6)规定的阈值T2。
也就是说,通过以下式子(44)至(47)所示的不等式来计算可用于编码对象像块的预测套组群。
[数学式23]
Nmax<T0…(44)
0≤Nh<T1…(45)
T1≤Nh≤T2…(46)
T2<Nh≤Nmax…(47)
具体为,根据以下的不同情况来确定预测套组群。
(1)当满足不等式(44)时,把第1预测套组群作为可应用于编码对象像块的预测套组群。
(2)在不满足不等式(44)时,并且,
(2-a)满足不等式(45)时,判断为:在编码对象像块中,以水平方向为中心时的预测方向比以垂直方向为中心时的预测方向要出现的多,所以把第2预测套组群应用于编码对象像块。
(2-b)满足不等式(46)时,判断为:在编码对象像块中,以水平方向为中心时的预测方向的出现频度和以垂直方向为中心时的预测方向的出现频度大致相同,所以把第1预测套组群应用于编码对象像块。
(2-c)满足不等式(47)时,判断为:在编码对象像块中,以垂直方向为中心时的预测方向比以水平方向为中心时的预测方向要出现的多,所以把第3预测套组群应用于编码对象像块。
另外,可以把阈值T1设定为T1=Nmax/3,把阈值T2设定为T2=2Nmax/3。阈值T0是根据所能参照已编码邻接像块中的子像块数量而定的规定值。
(预测套组群的选择动作处理)
接着,参照图59来说明预测套组群选择部15在选择预测套组群时的动作处理。图59是表示预测套组群选择部15选择预测套组群时的动作处理的流程图。
首先,预测套组群选择部15判断在邻接于编码对象像块的已编码像块之中是否存在能够参照的像块(步骤S290)。若没有能够参照的像块(在步骤S290中为“否”),便把第1预测套组群设定为可用于编码对象像块的预测套组群,然后把用以表示“第1预测套组群”的预测套组群信息输出,并结束动作(步骤S291)。
若存在能够参照的像块(在步骤S290中为“是”),便根据能够参照的已编码邻接像块的所有预测套组信息以及所有预测模式信息,计算Nh、Nv、Nmax、T1、以及T2这些参数(步骤S292)。接着,使用步骤S292中计算出的Nh、Nv、Nmax、T1、以及T2,确定可用于编码对象像块的预测套组群。具体为,判断是否满足上述式子(44)(步骤S293)。
若满足上述式子(44)(在步骤S293中为“是”),便把第1预测套组群设定为可用于编码对象像块的预测套组群,然后把用以表示“第1预测套组群”的预测套组群信息输出,并结束动作(步骤S294)。
若不满足上述式子(44)(在步骤S293中为“否”),便判断是否满足上述式子(45)(步骤S295)。
若满足上述式子(45)(在步骤S295中为“是”),便把第2预测套组群设定为可用于编码对象像块的预测套组群,然后把用以表示“第2预测套组群”的预测套组群信息输出,并结束动作(步骤S296)。
若不满足上述式子(45)(在步骤S295中为“否”),便进一步判断是否满足上述式子(46)(步骤S297)。
若满足上述式子(46)(在步骤S297中为“是”),便把第1预测套组群设定为可用于编码对象像块的预测套组群,然后把用以表示“第1预测套组群”的预测套组群信息输出,并结束动作(步骤S298)。
若不满足上述式子(46)(在步骤S297中为“否”),便视为是满足了上述式子(47),并把第3预测套组群设定为可用于编码对象像块的预测套组群,然后把用以表示“第3预测套组群”的预测套组群信息输出,其后结束动作(步骤S299)。
另外,预测套组群选择部15把要输出的预测套组群信息存储于其内部所持的存储器。虽然按步骤S290至S299的顺序来说明了预测套组群选择部15选择预测套组群时的动作处理,但并不限定于此。本发明可以在实施可能的范围内进行变更。
通过以上的结构,预测套组群选择部15能够根据位于编码对象像块周边的已编码邻接像块的信息,自动确定出可用于编码对象像块的预测套组群。
例如,在已编码邻接像块中,若以水平方向为中心时的预测方向的出现频度高于以垂直方向为中心时的预测方向的出现频度,便把具备有多个重视水平方向预测的预测套组的预测套组群应用于编码对象像块。另外,在已编码邻接像块中,若以垂直方向为中心时的预测方向的出现频度高于以水平方向为中心时的预测方向的出现频度,便把具备有多个重视垂直方向预测的预测套组的预测套组群应用于编码对象像块。另外,若以水平方向为中心时的预测方向的出现频度和以垂直方向为中心时的预测方向的出现频度大致相同,便选择具备有相同数量的重视水平方向的预测套组和重视垂直方向的预测套组的、预测套组群。
因此,由于预测套组群具备有更适于图像的预测的、预测套组,所以能够效率性地对编码对象像块进行编码。
另外,上述预测套组群选择部15也同样能够适用于图像译码装置。此时,能够根据已译码邻接像块的信息,自动确定出可用于译码对象像块的预测套组群。
(确定预测套组的预测值时的详细处理)
以下,就确定预测套组的预测值时的详细处理进行说明。
首先,通过以下(1)至(3)中的任意一方法来临时确定预测套组的预测值。
(1)从图9中位于编码对象像块61附近的像块(60a至60k)的、所被应用了的预测套组中,把出现频度最高的预测套组作为预测值。
(2)把图9中位于编码对象像块61左侧的已编码像块(60a)的、所被应用了的预测套组作为预测值。
(3)把图9中位于编码对象像块61上侧的已编码像块(60c)的、所被应用了的预测套组作为预测值。
在此,所确定的预测套组的预测值表示了从属于‘第i预测套组群’的‘第i预测套组’。
接着,对所确定的预测套组的预测值所表示的“第i预测套组群”、以及编码对象像块的预测套组群信息所示的“第k预测套组群”进行比较。若预测套组的预测值所示的“第i预测套组群”和编码对象像块的“第k预测套组群”是同一预测套组群,便把所确定的预测值输出至相对预测套组信息生成部754。
若是除上述以外的其他情况,便使用后述的预测套组对应表,求取“所确定的预测值与可应用于编码对象像块的预测套组群中的哪个预测套组相对应”,并把呈相对应的预测套组作为预测值。然后,把所确定的该预测值输出至相对预测套组信息生成部754。
以下的表35至37分别例示了上述表32至表34所示第1预测套组群、第2预测套组群、第3预测套组群的预测套组对应表。
表35所示的预测套组对应表表示了与第1预测套组群中的预测套组最相似的其他预测套组群中的预测套组。表36所示的预测套组对应表表示了与第2预测套组群中的预测套组最相似的其他预测套组群中的预测套组。表37所示的预测套组对应表表示了与第3预测套组群中的预测套组最相似的其他预测套组群中的预测套组。具体为,在表31中,第1预测套组群中的预测套组1与第2预测套组群中的预测套组1、第3预测套组群中的预测套组最为相似。关于预测套组对应表,优选通过一定的方法来预先定出。
[表35]
[表36]
[表37]
(相对预测套组信息作成部751的动作处理)
以下参照图60来说明相对预测套组信息作成部751的动作处理。图60是表示相对预测套组信息作成部751的动作处理的相关流程图。
首先,把输入过来的编码对象像块的相关预测套组信息和预测套组群信息分别存储至存储部752a、以及存储部752b(步骤S300)。
接着,预测套组信息预测部753根据已编码邻接像块的预测套组群信息及预测套组信息,计算预测套组的预测值(步骤S301)。然后,根据步骤S301中计算的预测值所表示的预测套组群、以及编码对象像块的预测套组群,判断是否要对步骤S301中计算的预测值进行校正(步骤S302)。
若不校正预测值(在步骤S302中为“否”),预测套组信息预测部753便把预测值输出给相对预测套组信息生成部754。若要校正预测值(在步骤S302中为“是”),预测套组信息预测部753便根据预测套组对应表,对步骤S301中计算出的预测值进行校正,然后把校正后的预测值输出给相对预测套组信息生成部754(步骤S303)。
相对预测套组信息生成部754根据输入过来的编码对象像块的预测套组信息、以及预测套组信息预测部753输入过来的预测值,生成相对预测套组信息,并将其输出(步骤S304)。
如以上所述,在预测套组信息预测部753中,当编码对象像块的预测套组所示的预测套组群与、以规定方法求取的预测值(上述预测套组的对应预测值)所示的预测套组群不同时,根据上述预测套组对应表,把上述预测值对应地校正成编码对象像块的预测套组群中的预测套组来,如此能够提高预测套组的预测精度,并能够减少表示预测套组时所需的编码量。
(附注事项)
在本实施方式的说明中,在预先规定的各预测套组群的构成例中,预测套组数L=3、预测模式数Ki=9(i=0、1、2)。但并不限定于此。例如,在各预测套组群中,也可以使预测套组数L=5,或L=9,或为其他的自然数。另外,各预测套组群中的预测套组数也可以各不相同。但在改变各预测套组群的构成时,需要相对应地设定预测套组对应表。
另外,虽然本实施方式的预测套组群选择部15根据已编码邻接像块中所有子像块的帧内预测的预测方向来选择预测套组群,但并不限定于此。例如,也可以根据编码对象像块周围的已编码邻接子像块的预测套组来选择预测套组群。此时,若水平方向预测套组的出现频度较高的话,便选择第2预测套组群;若垂直方向预测套组的出现频度较高的话,便选择第3预测套组群;若水平方向预测套组的出现频度和垂直方向预测套组的出现频度大致相同的话,便选择第1预测套组群。另外,也可以根据编码对象像块周围的译码图像来计算边缘方向,然后根据所计算的边缘方向来选择预测套组群。
在本实施方式中,虽然是以M×M像素像块为预测套组群的切换单位来进行说明的,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group Of Picture:像组)作为预测套组群的切换单位。另外,预测套组群的切换单位也可以在图像编码装置和图像译码装置之间预先决定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。
(作用效果)
如以上所述,图像编码装置700以构成图像的各像块为单位,计算已编码邻接像块中的、帧内预测的预测方向的出现频度。关于预测方向的频度,例如,计算以水平方向为中心时的预测方向的出现频度、以及以垂直方向为中心时的预测方向的出现频度。
图像编码装置中具有聚集有多个预测套组的预测套组群,其中,每一预测套组中含有多个预测模式,该些预测模式在预测套组中的组合都不同,预测模式所对应的预测方向互不相同。图像编码装置对应上述帧内预测的预测方向的出现频度倾向来选择预测套组群。例如,若以水平方向为中心时的预测方向的出现频度数较高,便选择具有较多重视于水平方向预测的预测套组的、预测套组群。另外,若以垂直方向为中心时的预测方向的出现频度数较高,便选择具有较多重视于垂直方向预测的预测套组的、预测套组群。另外,若以水平方向为中心时的出现频度和以垂直方向为中心时的出现频度大致相同,便选择具有同等数量的重视水平方向的预测套组和重视垂直方向的预测套组的、预测套组群。
然后,从上述选择的预测套组群中选择出最适合于编码对象像块的预测套组,并使用上述选择的预测套组来对编码对象像块进行编码。
如此,图像编码装置700使用与图像特性相对应的最佳预测套组,对图像进行编码。因此,比起现有技术,能够从多样的角度来进行预测,所以能够减少图像的编码量,且能够提高像质。
另外,在图像编码装置700中,由于是通过预测套组信息以及预测模式信息来阶层性地表现预测方式的,所以能够提高选择预测方式时的自由性。由此能够防止表示预测方式时的所需编码量的增加,并提高预测效率。
另外,在图象编码装置700中,当编码对象像块的预测套组所示的预测套组群与、以一定方法求取的上述预测值所示的预测套组群不同时,根据上述预测套组对应表,把上述预测值对应地校正成编码对象像块的预测套组群中的预测套组,所以能够提高预测套组的预测精度,并减少表示预测套组时所需的编码量。
<实施方式10>
关于本发明的图像译码装置的其他方式,以下参照图61至图64来说明实施方式10。
在实施方式2的图像译码装置150中,是根据已译码预测套组信息,从预先规定的1个预测套组群(例如,表2)中确定出1个要被用于译码对象像块(M×M像素像块)的预测套组的。在本实施方式所说明的图像译码装置中,利用已译码邻接像块的信息(例如,被应用于已译码邻接像块中子像块的帧内预测的、预测方向),就每一像块,从预先规定的多个预测套组群中选择出1个预测套组群,并根据已译码预测套组信息,从所选择的预测套组群中确定出1个要被应用于译码对象像块的预测套组。
(图像译码装置750的结构)
以下参照图61来说明本实施方式的图像译码装置的结构。图61是表示图像译码装置750的结构的框图。如图61所示,图像译码装置750主要具备熵译码部5、逆量子化部6、逆正交变换部7、相加运算部8、存储器9、预测套组群选择部15、帧内预测部710、以及预测套组信息作成部752。以下,仅对之前未说明的、本实施方式中的预测套组信息作成部755进行说明。
(预测套组信息作成部755)
预测套组信息作成部755根据熵译码部5输入过来的译码对象像块的相对预测套组信息、预测套组群选择部15输入过过来的译码对象像块的预测套组群信息、预测套组信息作成部755内部存储的已译码邻接像块的预测套组群信息及预测套组信息,作成译码对象像块的预测套组信息,并将其输出。
以下参照图62来说明预测套组信息作成部755的结构。图62是表示预测套组信息作成部755的结构的框图。如图62所示,预测套组信息作成部755主要具备存储部756a、存储部756b、预测套组信息预测部757、以及预测套组信息生成部758。以下就各个部进行说明。
(存储部756a、存储部756b)
存储部756a、756b对输入信息进行暂时存储。存储部756a存储输入过来的译码对象像块的预测套组信息。另外,存储部756b存储预测套组群选择部15输入过来的译码对象像块的预测套组群信息。所被存储的预测套组信息以及预测套组群信息将被用于译码对象像块之后要被进行译码的像块的、预测套组的预测。
(预测套组信息预测部757)
预测套组信息预测部757根据输入过来的预测套组群信息、存储部756a和存储部756b中分别存储的已译码邻接像块的预测套组信息以及预测套组群信息,通过一定的方法确定出可用于译码对象像块的预测套组的、预测值。然后,把所确定的预测值输出至预测套组信息生成部758。
关于预测套组的预测值的确定方法,与预测套组信息预测部753同样,所以省略说明。
(预测套组信息生成部758)
预测套组信息生成部758具有与实施方式2的预测套组信息生成部521相同的功能。即,相对预测套组信息生成部758根据输入过来的相对预测套组信息、以及预测套组信息预测部757所确定的预测套组的预测值,生成预测套组信息,并将其输出。
(图像译码处理的概要)
以下参照图63来说明图像译码装置750的图像译码处理的概要。图63是表示图像译码装置750的图像译码处理概要的流程图。
将译码对象像块输入图像译码装置750(步骤S310)。
预测套组群选择部15根据已译码邻接像块的预测套组群、以及已译码邻接像块中各子像块的预测模式信息,选择出可用于译码对象像块的预测套组群,然后把预测套组群信息输出至预测套组信息作成部755以及帧内预测部710(步骤S311)。
熵译码部5对输出过来的编码数据中的、译码对象像块的相对预测套组信息进行熵译码,然后把熵译码后的相对预测套组信息输出至预测套组信息作成部755(步骤S312)。
预测套组信息作成部755根据步骤S312中被熵译码了的相对预测套组信息、步骤S311中选择的预测套组群信息、预测套组信息作成部755内部存储的已译码邻接像块的预测套组群信息及预测套组信息,作成译码对象像块的预测套组信息(步骤S313)。所作成的译码对象像块的预测套组信息被输出至预测套组群选择部15以及帧内预测部710。
熵译码部5对进一步被分割出的具有规定像块尺寸(N×N像素像块)的各译码对象子像块的、预测模式信息进行熵译码,然后把熵译码后的预测模式信息输出至帧内预测部710(步骤S314)。另外,还对译码对象子像块的预测残差数据的量子化值进行熵译码(步骤S315)。
帧内预测部710使用存储器9中存储的已译码邻接子像块的局部译码图像,进行由步骤S311中选择的预测套组群、步骤S313中作成的预测套组信息、步骤S314中被熵译码了的预测模式信息规定的帧内预测,以生成译码对象子像块的预测图像(N×N像素像块)(步骤S316)。
步骤S315中所被译码的预测残差数据被先后输入逆量子化部6、逆正交变换部7,以进行逆量子化/逆正交变换,然后把完成了逆量子化/逆正交变换后的预测残差数据输出至相加运算部8(步骤S317)。
相加运算部8对步骤S316中生成的预测图像以及步骤S317中被进行了逆量子化/逆正交变换的预测残差数据进行相加,然后输出译码对象子像块的译码图像(N×N像素像块)(步骤S318)。
最后,存储器9对步骤S318中生成的译码对象子像块的译码图像进行存储(步骤S319)。
在图像译码装置750中,对构成译码对象像块的所有子像块都重复进行步骤S314至S319的处理,另外,对构成译码对象图像的所有像块都重复步骤S310至S319的处理。
在本实施方式中,虽然按步骤S310至步骤S319的顺序说明了图像译码装置750的译码处理,但并不限定于此,本发明能够在实施可能的范围内进行变更。
(预测套组信息作成部755的动作处理)
以下参照图64来说明预测套组信息作成部755的动作处理。图64是表示预测套组信息作成部755的动作处理的相关流程图。
首先,预测套组信息预测部757根据已译码邻接像块的预测套组群信息及预测套组信息,计算预测套组的预测值(步骤S320)。接着,预测套组信息预测部757就步骤320中算出的预测值,基于该预测值所示的预测套组群、以及译码对象像块的预测套组群,判断是否要校正该预测值(步骤S321)。
若不校正预测值(在步骤S321中为“否”),预测套组信息预测部757便把预测值输出给预测套组信息生成部758。若要校正预测值(在步骤S321中为“是”),预测套组信息预测部757便根据预测套组对应表,对步骤S320中计算出的预测值进行校正,然后把校正后的预测值输出给预测套组信息生成部758(步骤S322)。
预测套组信息生成部758根据输入过来的译码对象像块的相对预测套组信息、以及预测套组信息预测部757输入过来的预测值,生成预测套组信息,并将其输出(步骤S323)。
最后,存储部756a对步骤S323中作成的译码对象像块的预测套组信息进行存储;存储部756b对输入过来的译码对象像块的预测套组群信息进行存储(步骤S324)。
0683如以上所述,在预测套组信息预测部757中,当译码对象像块的预测套组所示的预测套组群与、以一定方法求取的上述预测套组之对应预测值所示的预测套组群不同时,根据上述预测套组对应表,把上述预测值对应地校正成译码对象像块的预测套组群中的预测套组,所以能够提高预测套组的预测精度,并减少预测套组的译码时所需的编码量。
(附注事项)
在本实施方式中,虽然预测套组群选择部15根据已译码邻接像块中所有子像块的帧内预测的预测方向来选择预测套组群,但并不限定于此。也可以根据译码对象像块周围的已译码邻接子像块的预测套组来选择预测套组群。此时,若水平方向预测套组的出现频度较高的话,便选择第2预测套组群;若垂直方向预测套组的出现频度较高的话,便选择第3预测套组群;若水平方向预测套组的出现频度和垂直方向预测套组的出现频度大致相同的话,便选择第1预测套组群。另外,也可以根据译码对象像块周围的译码图像来计算边缘方向,然后根据所计算的边缘方向来选择预测套组群。
此外,在本实施方式中,虽然是以M×M像素像块为预测套组群的切换单位来进行说明的,但并不限定于此。例如,也可以把大像块、像条、图片(帧)或GOP(Group OfPicture:像组)作为预测套组群的切换单位。另外,预测套组群的切换单位也可以在图像编码装置和图像译码装置之间预先决定。或,也能够不通过图像编码装置/图像译码装置,而是通过外部的单元来进行通知。
(作用效果)
如以上所述,图像译码装置750具备聚集有多个预测套组的预测套组群,其中,各预测套组中含有多个预测模式,预测模式在各预测套组中的组合都不同预测模式所对应的预测方向互不相同。
图像译码装置750以构成图像的各像块,计算已译码邻接像块中的、帧内预测的预测方向的出现频度。关于预测方向的频度,例如,计算以水平方向为中心时的预测方向的出现频度、以及以垂直方向为中心时的预测方向的出现频度。
然后,选择与上述帧内预测的预测方向的出现频度倾向相对应的预测套组群。例如,若以水平方向为中心时的预测方向的出现频度数较高,便选择具有较多重视于水平方向预测的预测套组的、预测套组群。另外,若以垂直方向为中心时的预测方向的出现频度数较高,便选择具有较多重视于垂直方向预测的预测套组的、预测套组群。另外,若以水平方向为中心时的出现频度和以垂直方向为中心时的出现频度大致相同,便选择具有同等数量的重视水平方向的预测套组和重视垂直方向的预测套组的、预测套组群。
接着,就构成图像的各像块,使用预测套组群信息、相对预测套组信息、已译码邻接像块的预测套组信息及预测套组群信息,译码出要被用于译码对象像块的预测套组信息。
最后,按每一从译码对象像块中进一步分割出的子像块,使用邻接于该子像块的子像块的局部译码图像,进行帧内预测,以生成该子像块的预测图像。其后,对所生成的预测图像以及该子像块的译码后预测残差数据进行合成,从而重建该子像块的图像。
如此,例如若译码后的预测套组信息表示的是重视于水平方向预测的预测套组,便能够以水平方向为中心,从更细小的角度来生成预测图像。另外,若译码后的预测套组信息表示的是重视于垂直方向预测的预测套组,便能够以垂直方向为中心,从更细小的角度来生成预测图像。因此,比起现有技术,通过图像译码装置750能够实现从更多角度来进行预测的译码处理,所以能够以较好的效率来再现边缘部分。因此能够重建出具有较高像质的图像。
另外,在图像译码装置750中,由于通过预测套组群、预测套组、预测模式这3个阶段来进行预测,所以能够实现较高的预测精度,并能够防止编码量的增加。
另外,在图象译码装置750中,当译码对象像块的预测套组所示的预测套组群与、以一定方法求取的预测值(上述预测套组的对应预测值)所示的预测套组群不同时,便根据上述预测套组对应表,把上述预测值对应地校正成译码对象像块的预测套组群中的预测套组,所以能够提高预测套组的预测精度,并减少预测套组的译码时所需的编码量。
(程序以及记录介质)
最后,图像编码装置100、200、500、500b、600、600b、700以及图像译码装置150、250、550、550b、650、650b、750的各功能块可由硬件逻辑来构成,也可以通过利用CPU以软件来实现。
即,图像编码装置100、200、500、500b、600、600b、700以及图像译码装置150、250、550、550b、650、650b、750具有:执行用于实现各功能之控制程序命令的CPU(centralprocessing unit:中央处理器);存储上述程序的ROM(read only memory:只读存储器);展开上述程序的RAM(random access memory:随机存取存储器);存储上述程序及各种数据的存储器等存储装置(记录介质)。另外,向上述图像编码装置100、200、500、500b、600、600b、700以及图像译码装置150、250、550、550b、650、650b、750提供记录介质,该记录介质可由计算机读取且记录有图像编码装置100、200、500、500b、600、600b、700以及图像译码装置150、250、550、550b、650、650b、750之控制程序的程序代码(执行形式程序、中间代码程序、源程序),所述控制程序是用于实现以上所述功能的软件,通过由图像编码装置100、200、500、500b、600、600b、700以及图像译码装置150、250、550、550b、650、650b、750的计算机(或CPU、MPU)来读出并执行记录介质中所记录的程序代码,也能够实现本发明的目的。
关于上述记录介质,例如可以是磁带、盒式带等的带类;也可以是包括软盘(注册商标)、硬盘等磁盘以及CD-ROM、MO、MD、DVD、CD-R等光盘的盘类;也可以是IC卡(包括存储卡)、光卡等的卡类;或是掩模型ROM、EPROM、EEPROM、闪存ROM等半导体存储器类。
另外,图像编码装置100、200、500、500b、600、600b、700以及图像译码装置150、250、550、550b、650、650b、750也能够连接通信网络,上述程序代码也能够借助于通信网络来提供。关于上述通信网络,并没有特别的限制,例如,可以利用互联网(internet)、内联网(intranet)、外联网(extranet)、LAN、ISDN、VAN、CATV通信网、虚拟专用网络(virtualprivate network)、电话回线网络、移动通信网络、卫星通信网络等。另外,关于用以构成通信网络的传输介质,并没有特别的限制,例如,可以利用IEEE1394、USB、电力线、电缆电视回线、电话线、ADSL回线等的有线通信,也可以利用诸如IrDA或遥控器等的红外线、Bluetooth(注册商标)、802.11无线通信、HDR、便携式电话网络、卫星回线、地面数字广播网络(terrestrial digital net)等无线通信。另外,即使是通过电子传输而实现了上述程序代码的、载置于载波的计算机数字信号,也可以实现本发明。
本发明并不限于上述各实施方式,可以根据权利要求所示的范围进行各种的变化,适当地组合不同实施方式记述的技术手段而得到的实施方式也包含于本发明的技术范围之内。
(附注事项)
本发明还可以作以下的表述。
(第1结构)
一种对图像进行编码的图像编码装置,其特征在于,具备:计算单元,根据构成上述图像的各图像,计算该图像的边缘中的至少与边缘方向相关的边缘信息;选择单元,从聚集有多个预测套组的预测套组群中,选择出与上述所计算的边缘信息相对应的预测套组,其中,上述预测套组含有多个预测模式,上述预测模式在上述预测套组中的组合互不相同,上述预测模式所对应的预测方向互不相同;编码单元,使用上述所选择的预测套组,对上述图像进行编码。
根据上述结构,图像编码装置根据构成上述图像的各图像,计算该图像的边缘中的至少与边缘方向相关的边缘信息。关于边缘信息,例如可以计算图像的边缘方向、边缘强度、或该两者的分布信息。在图象编码装置中,从聚集有多个预测套组的预测套组群中,选择出与所计算的边缘信息相对应的预测套组,其中,上述预测套组含有多个预测模式,上述预测模式在上述预测套组中的组合互不相同,上述预测模式所对应的预测方向互不相同。然后,使用所选择的预测套组对图像进行编码。例如,若边缘信息表示的是以水平方向为中心时的边缘方向,便使用重视于水平方向预测的预测套组来对图像进行编码。另一方面,若边缘信息表示的是以垂直方向为中心时的边缘方向,便使用重视于垂直方向预测的预测套组来对图像进行编码。
如以上所述,图像编码装置使用与图像的边缘信息相对应的最佳预测套组,对图像进行编码。因此,比起现有技术,能够从细小的角度来进行预测,并减少图像的预测残差数据的相关编码量,且能够提高像质。
(第2结构)
根据第1结构所述的图像编码装置,其特征在于:进一步具备分割单元,把上述图像分割成呈规定单位的像块;上述计算单元就每一上述像块,计算上述边缘信息;上述选择单元就每一上述像块,选择与上述所计算的边缘信息相对应的上述预测套组;上述编码单元对表示上述预测套组的信息进行编码,并使用、就每一上述像块所选择的上述预测套组,对当前像块进行编码。
根据上述结构,图像编码装置对构成图像的呈规定单位的各像块进行编码。此时,就每一像块,使用与当前像块的边缘信息相对应的预测套组。例如,在一张图像中,对具有较多水平方向边缘的像块,使用重视于水平方向预测的预测套组来进行编码。另一方面,在与上述同样的图像中,对具有较多垂直方向边缘的像块,使用重视于垂直方向预测的预测套组来进行编码。
通过以上结构,图像编码装置能够进一步提高像质。
(第3结构)
根据第2结构所述的图像编码装置,其特征在于:进一步具备像块分割单元,将上述像块分割成多个子像块;就上述每一子像块,计算表示当前子像块之边缘方向的上述边缘信息;上述选择单元从多个上述预测套组中选择出满足、上述预测套组中的预测模式所表示的预测方向与上述像块内所有子像块之上述边缘方向间的类似度为最小时的预测套组。
根据上述结构,图像编码装置把构成图像的像块进一步分割成多个子像块。另外,就所得到的每一子像块,计算表示当前子像块边缘方向的边缘信息。即,求取像块中所含的多个边缘方向。然后,图像编码装置从多个预测套组中选择出满足、上述预测套组中的预测模式所表示的预测方向与上述像块内所有子像块之上述边缘方向间的类似度为最小时的预测套组。
通过以上的处理,图像编码装置能够从多个预测套组中计算出最适合于对像块进行编码的预测套组。因此,能够最大程度地减少图像的编码量,并能够最大程度地提高像质。
(第4结构)
一种对图像进行编码的图像编码装置,其特征在于,具备:计算单元,根据构成上述图像的各图像,计算该图像的边缘中的至少与边缘方向相关的边缘信息;确定单元,根据上述所计算的边缘信息,确定、与预测套组中的多个预测模式相对应的各预测方向;编码单元,使用上述所被选择的预测套组,对上述图像进行编码。
根据上述结构,图像编码装置根据构成上述图像的各图像,计算该图像的边缘中的至少与边缘方向相关的边缘信息。关于边缘信息,例如可以计算图像的边缘方向、边缘强度、或该两者的分布信息。图像编码装置根据上述所计算的边缘信息,确定与预测套组中的多个预测模式相对应的各预测方向。例如,若边缘信息表示的是以水平方向为中心时的边缘方向,便确定出重视于水平方向预测的预测方向。如此,使用适合于水平方向预测的预测套组来对图像进行编码。另一方面,若边缘信息表示的是以垂直方向为中心时的边缘方向,便使用定义有重视垂直方向预测的预测方向的、预测套组来进行编码。如此,使用适合于垂直方向预测的预测套组来对图像进行编码。
如以上所述,图像编码装置使用与图像的边缘信息相对应的最佳预测套组,对图像进行编码。因此,比起现有技术,能够从细小的角度来进行预测,并减少图像的编码量,且能够提高像质。
(第5结构)
根据第4结构所述的图像编码装置,其特征在于:进一步具备分割单元,把上述图像分割成呈规定单位的像块;上述计算单元就每一上述像块,计算上述边缘信息;上述选择单元就每一上述像块,确定上述预测套组的预测方向;上述编码单元对表示上述预测套组的信息进行编码,并使用、就每一上述像块而被确定了预测方向的上述预测套组,对当前像块进行编码。
根据上述结构,图像编码装置对构成图像的呈规定单位的各像块进行编码。此时,就每一像块,使用与当前像块的边缘信息相对应的预测套组。例如,在一张图像中,对具有较多水平方向边缘的像块,使用重视于水平方向预测的预测套组来进行编码。另一方面,在与上述同样的图像中,对具有较多垂直方向边缘的像块,使用重视于垂直方向预测的预测套组来进行编码。
通过以上结构,图像编码装置能够进一步提高像质。
(第6结构)
根据第4或第5结构所述的图像编码装置,其特征在于:上述确定单元计算与上述像块中所含的多个边缘方向相关的、用于表示边缘方向和该边缘方向之累积率间的关系的直方图,并把满足该直方图中累积率差呈均等的、多个边缘方向分别确定为预测套组的预测方向。
根据上述结构,图像编码装置计算与上述像块中所含的多个边缘方向相关的、用于表示边缘方向和该边缘方向之累积率间的关系的直方图。然后,把满足该直方图中累积率差呈均等的、多个边缘方向分别确定为预测套组的预测方向。由此,例如,若1个像块内的边缘方向多集中于水平方向,那么所确定的预测方向也多接近于水平方向。反之,若1个像块内的边缘方向多集中于垂直方向,那么所确定的预测方向也多接近于垂直方向。
因此,图像编码装置能够使用最适合于像块内所含边缘方向的预测的、预测套组来对像块进行编码。因此,能够最大程度地减少像块的编码量,并能够最大程度地提高像质。
(第7结构)
一种用于对图像进行编码的图像编码方法,其特征在于,含有:计算步骤,根据构成上述图像的各图像,计算该图像的边缘中的至少与边缘方向相关的边缘信息;选择步骤,从聚集有多个预测套组的预测套组群中,选择出与上述所计算的边缘信息相对应的预测套组,其中,上述预测套组含有多个预测模式,上述预测模式在上述预测套组中的组合互不相同,上述预测模式所对应的预测方向互不相同;编码步骤,使用上述所被选择的预测套组,对上述图像进行编码。
通过上述结构,可得到与第1结构相同的作用效果。
(第8结构)
一种用于对图像进行编码的图像编码方法,其特征在于,含有:计算步骤,根据构成上述图像的各图像,计算该图像的边缘中的至少与边缘方向相关的边缘信息;确定步骤,根据上述所计算的边缘信息,确定与预测套组中的多个预测模式相对应的各预测方向;编码步骤,使用上述被选择了的预测套组,对上述图像进行编码。
通过上述结构,可得到与第4结构相同的作用效果。
(第9结构)
对第1至6的结构所述的任意一图像编码装置所编码的图像进行译码的图像译码装置,其特征在于:具备译码单元,使用、上述编码单元对上述图像进行编码时所用的预测套组,对上述图像进行译码。
根据上述结构,图像译码装置使用与图像的边缘信息相对应的最佳的、被编码后预测套组,对图像编码数据进行译码。
因此,图像译码装置能够得提高了像质的图像。
另外,图像译码装置能够削减、对编码后图像进行译码时的预测残差数据的译码处理量。
(第10结构)
对、通过第7或第8结构所述的图像编码方法所编码的图像进行译码的图像译码方法,其特征在于:含有译码步骤,使用、上述编码步骤中进行上述图像的编码时所用的预测套组,对上述图像进行译码。
通过上述结构,可得到与第9结构相同的作用效果。
(第11结构)
使第1至6结构所述的任意一图像编码装置、或第9结构所述的图像译码装置发生动作,且使计算机作为上述各单元发挥功能的程序。
(第12结构)
记录有第11结构所述的各程序的计算机可读取记录介质。
本发明的图像编码装置具备:选择单元,从聚集有多个预测套组的预测套组群中,选择出预测套组,其中,上述预测套组含有多个预测模式,上述预测模式在上述预测套组中的组合互不相同,上述预测模式所对应的预测方向互不相同;编码单元,使用上述所被选择的预测套组,对上述图像进行编码。因此,能够从更细小的角度来进行预测,并能够提高预测效率,减少预测残差数据的编码量。
本发明的图像编码装置具备:选择单元,具有包含了多个预测模式的至少1个预测套组,从上述预测套组中选择出要被用于当前子像块的预测模式,其中,上述预测模式所对应的预测方向互不相同;使用上述所被选择的预测模式对上述子像块的图像进行编码的编码单元;根据邻接于当前子像块的已编码子像块的预测模式信息、或已编码子像块的译码图像来选择出与当前子像块呈较高相关性的已编码邻接子像块的、选择单元;根据上述所被选择的已编码子像块的预测模式信息,对上述所被选择的预测模式进行编码的编码单元。因此,能够减少表示预测模式时所需的编码量。
另外,本发明的图像译码装置具备:根据聚集有多个预测套组的预测套组群,对用以表示可被用于当前像块的预测套组的、信息进行译码的译码单元,其中,上述预测套组含有多个预测模式,上述预测模式在上述预测套组中的组合互不相同,上述预测模式所对应的预测方向互不相同;使用上述所被选择的预测套组,对上述像块的图像进行译码的译码单元。因此,能够从更细小的角度来效率性地重建图像中呈特定方向的边缘成分,并能够提高像质。
本发明的图像译码装置具备:选择单元,具有包含了多个预测模式的至少1个预测套组,根据邻接于当前子像块的已译码子像块的预测模式信息、或已译码子像块的译码图像,选择出与当前子像块呈较高相关性的已译码邻接子像块,其中,上述预测模式所对应的预测方向互不相同;基于上述所被选择的已译码子像块的预测模式信息,从上述预测套组中译码出要被用于当前子像块的预测模式的、译码单元;使用上述所被译码出的预测模式,对上述子像块的图像进行译码的译码单元。因此,能够减少对预测模式进行译码时所需的编码量。
以上,对本发明进行了详细的说明,上述具体实施方式或实施例仅仅是揭示本发明的技术内容的示例,本发明并不限于上述具体示例,不应对本发明进行狭义的解释,上述具体实施方式或实施例可在本发明的精神和权利要求的范围内进行各种变更来实施。
(工业上的利用可能性)
本发明的图像编码装置以及图像译码装置能够应用于数字电视、硬盘记录器、DVD照相机、以及能够进行图像处理的便携式电话等这些的影像装置。