具体实施方式
(第一实施方式)
以下,参照附图对本发明的实施方式进行说明。
图1是表示本实施方式的图像传输***1的构成的概略图。
图像传输***1是传输对编码对象图像进行了编码而得到的代码,并显示对所传输的代码进行解码而得到的图像的***。图像传输***1构成为包括图像编码装置(运动图像编码装置)11、网络21、图像解码装置(运动图像解码装置)31以及图像显示装置41。
图像编码装置11中输入表示单层或者多层的图像的图像T。层是在构成某一时间的图片存在一个以上的情况下用于区分多个图片的概念。例如,当将相同图片在画质、分辨率不同的多个层进行编码时则成为可伸缩编码,当将不同视点的图片在多个层进行编码时则成为视点可伸缩编码。当在多个层的图片间进行预测(层间预测、视点间预测)的情况下,编码效率大幅提高。此外,即使在不进行预测的情况(同时联播)的情况下,也能汇总编码数据。
网络21将图像编码装置11所生成的编码流Te传输至图像解码装置 31。网络21是互联网(internet)、广域网(WAN:Wide Area Network)、小型网络(LAN:Local AreaNetwork,局域网)或它们的组合。网络21 不一定限定于双向的通信网,也可以是传输地面数字广播、卫星广播等广播波的单向的通信网。此外,网络21也可以用DVD(DigitalVersatile Disc:数字通用光盘)、BD(Blue-ray Disc:蓝光光盘)等记录有编码流Te的存储介质代替。
图像解码装置31对网络21所传输的编码流Te分别进行解码,生成分别解码后的一个或多个解码图像Td。
图像显示装置41显示图像解码装置31所生成的一个或多个解码图像 Td的全部或一部分。图像显示装置41例如具备液晶显示器、有机EL (Electro-luminescence:电致发光)显示器等显示设备。此外,在空间可伸缩编码、SNR可伸缩编码中,在图像解码装置31、图像显示装置41具有高处理能力的情况下显示画质高的扩展层图像,在仅具有较低处理能力的情况下显示不需要扩展层那么高的处理能力、显示能力的基本层图像。
<运算符>
以下记述在本说明书中使用的运算符。
>>为向右位移,<<为向左位移,&为逐位AND,|为逐位OR,|=为 OR代入运算符。
x?y:z是在x为真(0以外)的情况下取y、在x为假(0)的情况下取z的3项运算符。
Clip3(a,b,c)是将c限幅于a以上b以下的值的函数,是在c<a 的情况下返回a、在c>b的情况下返回b、在其它情况下返回c的函数(其中,a<=b)。
X mod Y是X的将Y作为除数得到的余数。
<编码流Te的结构>
在对本实施方式的图像编码装置11和图像解码装置31进行详细说明之前,对由图像编码装置11生成并被图像解码装置31解码的编码流 Te的数据结构进行说明。
图2是表示编码流Te中的数据的分级结构的图。编码流Te示例性地包括序列和构成序列的多个图片。图2的(a)~(f)分别是表示既定序列SEQ的编码视频序列、规定图片PICT的编码图片、规定切片S的编码切片、规定切片数据的编码切片数据、编码切片数据中所包括的编码树单元以及编码树单元中所包括的编码单元(Coding Unit:CU)的图。
(编码视频序列)
在编码视频序列中,规定有图像解码装置31为了对处理对象的序列 SEQ进行解码而参考的数据的集合。序列SEQ如图2的(a)所示,包括视频参数集(Video Parameter Set)、序列参数集SPS(Sequence Parameter Set)、图片参数集PPS(Picture Parameter Set)、图片PICT以及补充增强信息SEI(Supplemental Enhancement Information)。在此,在#后示出的值表示层ID。在图2中示出了存在#0和#1即层0和层1的编码数据的示例,但层的种类和层数并不取决于此。
视频参数集VPS在由多个层构成的运动图像中,规定有多个运动图像共用的编码参数的集合以及运动图像中所包括的多个层和与各层关联的编码参数的集合。
在序列参数集SPS中,规定有图像解码装置31为了对对象序列进行解码而参考的编码参数的集合。例如,规定了图片的宽度、高度。需要说明的是,SPS可以存在多个。在该情况下,从PPS中选择多个SPS中的任一个。
在图片参数集PPS中,规定有图像解码装置31为了对对象序列内的各图片进行解码而参照的编码参数的集合。例如包括用于图片的解码的量化宽度的基准值(pic_init_qp_minus26)以及指示加权预测的应用的标志 (weighted_pred_flag)。需要说明的是,PPS可以存在多个。在该情况下,从对象序列内的各图片中选择多个PPS中的任一个。
(编码图片)
在编码图片中,规定有图像解码装置31为了对处理对象的图片PICT 进行解码而参考的数据的集合。图片PICT如图2的(b)所示,包括切片 S0~SNS-1(NS为图片PICT中所包括的切片的总数)。
需要说明的是,以下,在无需对各切片S0~SNS-1进行区分的情况下,有时会省略代码的后缀来进行记述。此外,以下所说明的包括于编码流Te且带有后缀的其他数据也是相同的。
(编码切片)
在编码切片中,规定有图像解码装置31为了对处理对象的切片S进行解码而参考的数据的集合。切片S如图2的(c)所示,包括切片报头 (slice header)SH和切片数据SDATA。
切片报头SH中包括图像解码装置31用于确定对象切片的解码方法而参考的编码参数群。指定切片类型的切片类型指定信息(slice_type)是切片报头SH中所包括的编码参数的一个示例。
作为可由切片类型指定信息指定的切片类型,可列举:(1)在进行编码时仅使用帧内预测的I切片、(2)在进行编码时使用单向预测或帧内预测的P切片以及(3)在进行编码时使用单向预测、双向预测或帧内预测的B切片等。
需要说明的是,切片报头SH中也可以包括上述编码视频序列中所包括的对图片参数集PPS的参考(pic_parameter_set_id)。
(编码切片数据)
在编码切片数据中,规定有图像解码装置31为了对处理对象的切片数据SDATA进行解码而参考的数据的集合。切片数据SDATA如图2的 (d)所示,包括编码树单元(CodingTree Unit:CTU)。CTU是构成切片的固定尺寸(例如64×64)的块,有时也被称为最大编码单位(LCU: Largest Coding Unit)。
(编码树单元)
如图2的(e)所示,规定有图像解码装置31为了对处理对象的编码树单元进行解码而参考的数据的集合。编码树单元通过递归的四叉树分割 (QT分割)或二叉树分割(BT分割)来分割。将通过递归的四叉树分割或二叉树分割得到的树形结构的节点称为编码节点(Coding Node:CN)。四叉树和二叉树的中间节点为编码树(Coding Tree:CT),编码树单元本身也被规定为最上层的编码树。
CTU包括:表示是否进行QT分割的QT分割标志(cu_split_flag) 以及表示BT分割的分割方法的BT分割模式(split_bt_mode)。在 cu_split_flag为1的情况下,分割为4个编码节点CN。在cu_split_flag为 0的情况下,编码节点CN具有一个编码单元(CodingUnit:CU)来作为节点而不被分割。
编码单元CU是编码节点的末端节点(叶节点),且不进行进一步分割。编码单元CU为编码处理的基本单位。
此外,在编码树单元CTU的尺寸为64×64像素的情况下,编码单元的尺寸能取64×64像素、64×32像素、32×64像素、32×32像素、64 ×16像素、16×64像素、32×16像素、16×32像素、16×16像素、64 ×8像素、8×64像素、32×8像素、8×32像素、16×8像素、8×16像素以及8×8像素中的任一个。
(编码单元)
如图2的(f)所示,规定有图像解码装置31为了对处理对象的编码单元进行解码而参考的数据的集合。具体而言,编码单元包括预测树、变换树以及CU报头CUH。在CU报头中规定有预测模式、分割方法(PU 分割模式)等。
在预测树中,规定有将编码单元分割为一个或多个而得到的各预测单元(PU)的预测信息(参考图片索引、运动矢量等)。如果换为其他表述,预测单元是构成编码单元的一个或多个不重复的区域。此外,预测树包括通过上述分割而得到的一个或多个预测单元。需要说明的是,以下将进一步分割预测单元而得到的预测单位称为“子块”。子块由多个像素构成。在预测单元与子块的尺寸相等的情况下,预测单元中的子块为一个。在预测单元的尺寸大于子块的尺寸的情况下,预测单元会被分割为子块。例如在预测单元为8×8、子块为4×4的情况下,预测单元会被分割为四个子块,包括水平分割的两部分和垂直分割的两部分。
预测处理可以按每个该预测单元(子块)进行。
预测树中的分割的种类大体来说有帧内预测的情况和帧间预测的情况这两种。帧内预测是同一图片内的预测,帧间预测是指在互不相同的图片间(例如,显示时刻间、层图像间)进行的预测处理。
在帧内预测的情况下,分割方法有2N×2N(与编码单元相同尺寸) 和N×N。
此外,在帧间预测的情况下,分割方法根据编码数据的PU分割模式 (part_mode)进行编码,存在2N×2N(与编码单元相同尺寸)、2N×N、 2N×nU、2N×nD、N×2N、nL×2N、nR×2N以及N×N等。需要说明的是,2N×N、N×2N表示1∶1的对称分割,
2N×nU、2N×nD以及nL×2N、nR×2N表示1∶3、3∶1的非对称分割。将CU中所包括的PU依次表示为PU0、PU1、PU2、PU3。
图3的(a)至(h)中具体图示出了各个PU分割模式中的分区的形状(PU分割的边界的位置)。图3的(a)表示2N×2N的分区,图3的 (b)、图3的(c)、图3的(d)分别表示2N×N、2N×nU以及2N× nD的分区(横长分区)。图3的(e)、图3的(f)、图3的(g)分别表示N×2N、nL×2N、nR×2N的情况下的分区(纵长分区),图3的(h) 表示N×N的分区。需要说明的是,将横长分区和纵长分区统称为长方形分区,将2N×2N、N×N统称为正方形分区。
此外,在变换树(TT:Transform Tree)中,编码单元被分割为一个或多个变换单元(TU:Transform Unit),并规定各变换单元的位置和尺寸。如果以其它表述来说,则变换单元是构成编码单元的一个或多个不重复的区域。此外,变换树包括通过上述分割而得到的一个或多个变换单元。
在变换树的分割中存在:将与编码单元相同的尺寸的区域分配为变换单元的分割;以及与上述的CU的分割相同地通过对CU进行四叉树分割(TU分割)而得到变换单元的分割。转换处理按每个该转换单元进行。
(预测参数)
预测单元(Prediction Unit:PU)的预测图像由与PU关联的预测参数来导出。预测参数中具有帧内预测的预测参数或者帧间预测的预测参数。以下,对帧间预测的预测参数(帧间预测参数)进行说明。帧间预测参数由预测列表利用标志predFlagL0、predFlagL1、参考图片索引refIdxL0、 refIdxL1以及运动矢量mvL0、mvL1构成。预测列表利用标志predFlagL0、 predFlagL1是表示是否使用各个被称为L0列表、L1列表的参考图片列表的标志,在值为1的情况下使用对应的参考图片列表。需要说明的是,在本说明书中记为“表示是否为××的标志”的情况下,将标志为0以外(例如1)设为是××的情况,将标志为0设为不是××的情况,在逻辑非、逻辑积等中将1视为真,将0视为假(以下同样)。但是,在实际的装置、方法中也可以使用其他值作为真值、假值。
用于导出编码数据中所包括的帧间预测参数的语法要素中,例如具有 PU分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标识符inter_pred_idc、参考图片索引refIdxLX、预测矢量索引 mvp_LX_idx以及差分矢量mvdLX。
(参考图片列表)
参考图片列表是由存储于参考图片存储器306的参考图片构成的列表。图4是表示参考图片和参考图片列表的一个示例的概念图。在图4的 (a)中,矩形表示图片,箭头表示图片的参考关系,横轴表示时间,矩形中的I、P、B分别表示帧内图片、单预测图片、双预测图片,矩形中的数字表示解码顺序。如图所示,图片的解码顺序为I0、P1、B2、B3、B4,显示顺序为I0、B3、B2、B4、P1。图4的(b)中示出参考图片列表的示例。参考图片列表是表示参考图片的候选的列表,一个图片(切片)可以具有一个以上的参考图片列表。在图的例子中,对象图片B3具有L0列表RefPicList0和L1列表RefPicList1这两个参考图片列表。对象图片为 B3的情况下的参考图片为I0、P1、B2,参考图片具有这些图片来作为要素。在各预测单元中,由参考图片索引refIdxLX指定实际上以参考图片列表RefPicListX中的哪一个图片来进行参考。在图中示出根据refIdxL0 和refIdxL1以参考图片P1和B2来进行参考的例子。
(合并预测和AMVP预测)
预测参数的解码(编码)方法中具有合并预测(merge)模式和AMVP (AdaptiveMotion Vector Prediction:自适应运动矢量预测)模式,合并标志merge_flag是用于识别它们的标志。合并预测模式是不使预测列表利用标志predFlagLX(或帧间预测标识符inter_pred_idc)、参考图片索引 refIdxLX、运动矢量mvLX包括于编码数据的模式,AMVP模式是在编码数据中包括帧间预测标识符inter_pred_idc、参考图片索引refIdxLX、运动矢量mvLX而使用已处理的附近PU的预测参数的模式。需要说明的是,运动矢量mvLX被编码为识别预测矢量mvpLX的预测矢量索引 mvp_LX_idx和差分矢量mvdLX。
帧间预测标识符inter_pred_idc是表示参考图片的种类和数量的值,取PRED_L0、PRED_L1、PRED_BI中的任一值。PRED_L0、PRED_L1 表示使用分别在L0列表、L1列表的参考图片列表中被管理的参考图片,并表示使用一张参考图片(单预测)。PRED_BI表示使用两张参考图片(双预测BiPred),并使用在L0列表和L1列表中被管理的参考图片。预测矢量索引mvp_LX_idx是表示预测矢量的索引,参考图片索引refIdxLX是表示在参考图片列表中被管理的参考图片的索引。需要说明的是,LX是在不对L0预测和L1预测进行区分的情况下使用的记述方法,通过将LX替换为L0、L1,来对针对L0列表的参数和针对L1列表的参数进行区分。
合并索引merge_idx是表示是否使用从处理已完成的PU导出的预测参数候选(合并候选)中的任一个预测参数作为解码对象PU的预测参数的索引。
(运动矢量)
运动矢量mvLX表示不同的两张图片上的块间的偏移量。将与运动矢量mvLX有关的预测矢量、差分矢量分别称为预测矢量mvpLX、差分矢量mvdLX。
(帧间预测标识符inter_pred_idc和预测列表利用标志predFlagLX)
帧间预测标识符inter_pred_idc与预测列表利用标志predFlagL0、 predFlagL1的关系能如下进行相互变换。
inter_pred_idc=(predFlagL1<<1)+predFlagL0
predFlagL0=inter_pred_idc&1
predFlagL1=inter_pred_idc>>1
需要说明的是,帧间预测参数可以使用预测列表利用标志,也可以使用帧间预测标识符。此外,使用了预测列表利用标志的判定可以替换为使用了帧间预测标识符的判定。反之,使用了帧间预测标识符的判定也可以替换为使用了预测列表利用标志的判定。
(双预测biPred的判定)
是否为双预测BiPred的标志biPred能够根据两个预测列表利用标志是否均为1而导出。例如能够通过以下的算式导出。
biPred=(predFlagL0==1&&predFlagL1==1)
标志biPred也能够根据帧间预测标识符是否是表示使用两个预测列表(参考图片)的值而导出。例如能够通过以下算式导出。
biPred=(inter_pred_idc==PRED_BI)?1∶0
上述算式也能够通过以下算式来表示。
biPred=(inter_pred_idc==PRED_BI)
需要说明的是,PRED_BI可以使用例如3的值。
(图像解码装置的构成)
接着,对本实施方式的图像解码装置31的构成进行说明。图5是表示本实施方式的图像解码装置31的构成的概略图。图像解码装置31构成为包括:熵解码部301、预测参数解码部(预测图像解码装置)302、环路滤波器305、参考图片存储器306、预测参数存储器307、预测图像生成部(预测图像生成装置)308、逆量化/逆变换部311以及加法部312。
此外,预测参数解码部302构成为包括帧间预测参数解码部303和帧内预测参数解码部304。预测图像生成部308构成为包括帧间预测图像生成部309和帧内预测图像生成部310。
熵解码部301对从外部输入的编码流Te进行熵解码,分离各个代码 (语法要素)并进行解码。分离后的代码中,具有用于生成预测图像的预测信息和用于生成差分图像的残差信息等。
熵解码部301将分离后的代码的一部分输出至预测参数解码部302。分离后的代码的一部分例如是预测模式predMode、PU分割模式part_mode、合并标志merge_flag、合并索引merge_idx、帧间预测标识符inter_pred_idc、参考图片索引refIdxLX、预测矢量索引mvp_LX_idx以及差分矢量mvdLX。基于预测参数解码部302的指示来进行对哪一个代码进行解码的控制。熵解码部301将量化系数输出至逆量化/逆变换部311。该量化系数是在编码处理中对残差信号进行DCT(Discrete Cosine Transform,离散余弦变换)、 DST(DiscreteSine Transform,离散正弦变换)、KLT(Karyhnen Loeve Transform,卡胡南列夫变换)等频率变换并量化而得到的系数。
帧间预测参数解码部303基于从熵解码部301输入的代码,参考存储于预测参数存储器307的预测参数来对帧间预测参数进行解码。
帧间预测参数解码部303将解码后的帧间预测参数输出至预测图像生成部308,此外,存储于预测参数存储器307。对帧间预测参数解码部 303的详细内容将在下文加以记述。
帧内预测参数解码部304基于从熵解码部301输入的代码,参考存储于预测参数存储器307的预测参数来对帧内预测参数进行解码。帧内预测参数是指在一个图片内对CU进行预测的处理中所使用的参数,例如,帧内预测模式IntraPredMode。帧内预测参数解码部304将解码后的帧内预测参数输出至预测图像生成部308,此外,存储于预测参数存储器307。
帧内预测参数解码部304也可以导出在亮度和色差上不同的帧内预测模式。在该情况下,帧内预测参数解码部304将亮度预测模式 IntraPredModeY解码作为亮度的预测参数,将色差预测模式IntraPredModeC 解码作为色差的预测参数。亮度预测模式IntraPredModeY为35个模式,平面预测(0)、DC预测(1)、方向预测(2~34)与其对应。色差预测模式IntraPredModeC使用平面预测(0)、DC预测(1)、方向预测(2~34)、 LM模式(35)中的任一种。帧内预测参数解码部304也可以对表示 IntraPredModeC是否是与亮度模式相同的模式的标志进行解码,如果标志指示是与亮度模式相同的模式,则将IntraPredModeY分配至IntraPredModeC,如果标志指示是与亮度模式不同的模式,则将平面预测(0)、DC预测(1)、方向预测(2~34)、LM模式(35)解码作为IntraPredModeC。
环路滤波器305对加法部312所生成的CU的解码图像施加去块滤波、样本自适应偏移(SAO)、自适应环路滤波(ALF)等滤波。
参考图片存储器306将环路滤波器305所生成的CU的解码图像按解码对象的每个图片和CU存储于预定的位置。
预测参数存储器307将预测参数按解码对象的每个图片和预测单元 (或子块、固定尺寸块、像素)存储于预定的位置。具体而言,预测参数存储器307存储由帧间预测参数解码部303解码后的帧间预测参数、由帧内预测参数解码部304解码后的帧内预测参数以及由熵解码部301分离后的预测模式predMode。所存储的帧间预测参数中,例如存在预测列表利用标志predFlagLX(帧间预测标识符inter_pred_idc)、参考图片索引 refIdxLX以及运动矢量mvLX。
预测图像生成部308中输入从熵解码部301输入的预测模式 predMode,此外,从预测参数解码部302输入预测参数。此外,预测图像生成部308从参考图片存储器306中读出参考图片。预测图像生成部308 在预测模式predMode所示的预测模式下,使用输入的预测参数和读出的参考图片(参考图片块)来生成PU或子块的预测图像。
在此,在预测模式predMode表示帧间预测模式的情况下,帧间预测图像生成部309使用从帧间预测参数解码部303输入的帧间预测参数和读出的参考图片(参考图片块),通过帧间预测来生成PU或子块的预测图像。
帧间预测图像生成部309对预测列表利用标志predFlagLX为1的参考图片列表(L0列表或者L1列表),根据参考图片索引refIdxLX所指示的参考图片,从参考图片存储器306中读出参考图片块,所述参考图片块位于以解码对象PU为基准的运动矢量mvLX所示的位置。帧间预测图像生成部309以读出的参考图片块为基础进行预测,生成PU的预测图像。帧间预测图像生成部309将生成的PU的预测图像输出至加法部312。在此,参考图片块是指参考图片上的像素的集合(通常为矩形因此称为块),是为了生成PU或子块的预测图像而参考的区域。
在预测模式predMode表示帧内预测模式的情况下,帧内预测图像生成部310使用从帧内预测参数解码部304输入的帧内预测参数和读出的参考图片来进行帧内预测。具体而言,帧内预测图像生成部310从参考图片存储器306中读出解码对象的图片中在已解码的PU中的位于从解码对象 PU起预定的范围的邻接PU。预定的范围是指在解码对象PU以所谓的光栅扫描的顺序依次移动的情况下,为例如左、左上、上、右上的邻接PU 中的任一个,根据帧内预测模式而不同。光栅扫描的顺序是在各图片中针对从上端至下端各行依次从左端移动至右端的顺序。
帧内预测图像生成部310在帧内预测模式IntraPredMode所示的预测模式下对读出的邻接PU进行预测,并生成PU的预测图像。帧内预测图像生成部310将生成的PU的预测图像输出至加法部312。
在帧内预测参数解码部304中,在导出亮度和色差上不同的帧内预测模式的情况下,帧内预测图像生成部310根据亮度预测模式IntraPredModeY,通过平面预测(0)、DC预测(1)、方向预测(2~34)中的任一个来生成亮度的PU的预测图像,并根据色差预测模式IntraPredModeC,通过平面预测(0)、DC预测(1)、方向预测(2~34)、LM模式(35)中的任一个来生成色差的PU的预测图像。
逆量化/逆变换部311将从熵解码部301输入的量化系数逆量化来求出变换系数。逆量化/逆变换部311对求出的变换系数进行逆DCT、逆DST、逆KLT等逆频率变换,计算残差信号。逆量化/逆变换部311将计算出的残差信号输出至加法部312。
加法部312按每个像素将从帧间预测图像生成部309或帧内预测图像生成部310输入的PU的预测图像和从逆量化/逆变换部311输入的残差信号进行相加,生成PU的解码图像。环路滤波器305将生成的PU的解码图像存储至参考图片存储器306,并将按每张图片整合生成的PU的解码图像而得到的解码图像Td输出至外部。
(图像编码装置的构成)
接着,对本实施方式的图像编码装置11的构成进行说明。图6是表示本实施方式的图像编码装置11的构成的框图。图像编码装置11构成为包括:预测图像生成部101、减法部102、变换/量化部103、熵编码部104、逆量化/逆变换部105、加法部106、环路滤波器107、预测参数存储器(预测参数存储部、帧存储器)108、参考图片存储器(参考图像存储部、帧存储器)109、编码参数确定部110以及预测参数编码部111。预测参数编码部111构成为包括帧间预测参数编码部112和帧内预测参数编码部113。
预测图像生成部101针对图像T的各图片,按每个将此图片分割而成的区域即编码单元CU生成预测单元PU的预测图像P。在此,预测图像生成部101基于从预测参数编码部111输入的预测参数来从参考图片存储器109中读出解码完的块。从预测参数编码部111输入的预测参数例如在帧间预测的情况下,是指运动矢量。预测图像生成部101以对象PU作为起点,读出运动矢量所示的位于参考图像上的位置的块。此外,在帧内预测的情况下,预测参数是指例如帧内预测模式。从参考图片存储器109 中读出在帧内预测模式下使用的邻接PU的像素值,生成PU的预测图像 P。预测图像生成部101针对读出的参考图片块,使用多个预测方式中的一个预测方式来生成PU的预测图像。预测图像生成部101将生成的PU 的预测图像输出至减法部102。
需要说明的是,预测图像生成部101是与已说明的预测图像生成部 308相同的动作。例如,图7是表示预测图像生成部101中所包括的帧间预测图像生成部1011的构成的概略图。帧间预测图像生成部1011构成为包括运动补偿部10111和权重预测部10112。
(运动补偿)
运动补偿部10111基于从帧间预测参数编码部112输入的帧间预测参数(预测列表利用标志predFlagLX、参考图片索引refIdxLX、运动矢量mvLX),从参考图片存储器109中读出位于在由参考图片索引refIdxLX 指定的参考图片中以解码对象PU的位置为起点而偏移运动矢量mvLX的位置的块,由此生成插值图像(运动补偿图像)。在此,在运动矢量mvLX 的精度并非整数精度的情况下,实施被称为运动补偿滤波的用于生成小数位置的像素的滤波,生成运动补偿图像。
(权重预测)
权重预测部10112通过将输入的运动补偿图像predSamplesLX与权重系数相乘,生成PU的预测图像。在预测列表利用标志的一方 (predFlagL0或predFlagL1)为1的情况(单预测的情况)下,在不使用权重预测的情况下进行使所输入的运动补偿图像predSamplesLX(LX为 L0或L1)与像素位数bitDepth一致的以下的算式的处理。
predSamples[X][Y]=Clip3(0,(1<<bitDepth)-1,(predSamplesLX [X][Y]+offset1)>>shift1)
在此,shift1=14-bitDepth,offset1=1<<(shift1-1)。
此外,在参照列表利用标志的两者(predFlagL0和predFlagL1)为1 的情况(双预测BiPred的情况)下,在不使用权重预测的情况下,进行将所输入的运动补偿图像predSamplesL0、predSamplesL1平均,并使其平均数与像素位数相一致的以下的算式的处理。
predSamples[X][Y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0 [X][Y]+predSamplesL1[X][Y]+offset2)>>shift2)
在此,shift2=15-bitDepth,offset2=1<<(shift2-1)。
而且,在单预测的情况下,在进行权重预测的情况下,权重预测部10112从编码数据导出权重预测系数w0和偏移值(offset)o0,并进行以下的算式的处理。
predSamples[X][Y]=Clip3(0,(1<<bitDepth)-1,((predSamplesLX [X][Y]*w0+2^(log2WD-1))>>log2WD)+o0)
在此,log2WD是表示规定的移位量的变量。
而且,在双预测BiPred的情况下,在进行权重预测的情况下,权重预测部10112从编码数据导出权重预测系数w0、w1、o0、o1,进行以下的算式的处理。
predSamples[X][Y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0[X] [Y]*w0+predSamplesL1[X][Y]*w1+((o0+o1+1)<<log2WD))>> (log2WD+1))
预测图像生成部101使用从预测参数编码部输入的参数,以从参考图片存储器中读出的参考块的像素值为基础来生成PU的预测图像P。由预测图像生成部101生成的预测图像被输出至减法部102、加法部106。
减法部102从图像T所对应的PU的像素值减去从预测图像生成部 101输入的PU的预测图像P的信号值,生成残差信号。减法部102将生成的残差信号输出至变换/量化部103。
变换/量化部103对从减法部102输入的残差信号进行变换,计算变换系数。变换/量化部103对计算出的变换系数进行量化,求出量化系数。变换/量化部103将求出的量化系数输出至熵编码部104和逆量化/逆变换部105。
熵编码部104中从变换/量化部103输入量化系数,从预测参数编码部111输入编码参数。在所输入的编码参数中,例如存在参考图片索引 refIdxLX、预测矢量索引mvp_LX_idx、差分矢量mvdLX、预测模式 predMode以及合并索引merge_idx等代码。
熵编码部104对输入的量化系数和编码参数进行熵编码从而生成编码流Te,并将生成的编码流Te输出至外部。
逆量化/逆变换部105对从变换/量化部103输入的量化系数进行逆量化,求出变换系数。逆量化/逆变换部105对求出的变换系数进行逆频率变换,计算残差信号。逆量化/逆变换部105将计算出的残差信号输出至加法部106。
加法部106按每个像素将从预测图像生成部101输入的PU的预测图像P的信号值与从逆量化/逆变换部105输入的残差信号的信号值相加,生成解码图像。加法部106将生成的解码图像存储于参考图片存储器109。
环路滤波器107对加法部106所生成的解码图像施加去块滤波、样本自适应偏移(SAO)、自适应环路滤波(ALF)。
预测参数存储器108将编码参数确定部110所生成的预测参数按编码对象的每个图片和CU存储于预定的位置。
参考图片存储器109将环路滤波器107所生成的解码图像按编码对象的每个图片和CU存储于预定的位置。
编码参数确定部110选择编码参数的多个集合中的一个集合。编码参数是上述的预测参数、与该预测参数关联而生成的作为编码的对象的参数。预测图像生成部101使用这些编码参数的每一个集合来生成PU的预测图像。
编码参数确定部110对多个集合的每一个集合计算出表示信息量的大小和编码误差的成本值。成本值例如是代码量与平方误差乘以系数λ而得到的值之和。代码量是对量化误差和编码参数进行熵编码而得到的编码流Te的信息量。平方误差是关于在减法部102中计算出的残差信号的残差值的平方值的像素间的总和。系数λ是大于预先设定的零的实数。编码参数确定部110选择计算出的成本值为最小的编码参数的集合。由此,熵编码部104将所选择的编码参数的集合作为编码流Te输出至外部,而不输出未被选择的编码参数的集合。编码参数确定部110将确定的编码参数存储于预测参数存储器108。
预测参数编码部111根据从编码参数确定部110输入的参数,导出用于编码的形式,并输出至熵编码部104。用于编码的形式的导出是指例如从运动矢量和预测矢量导出差分矢量。此外,预测参数编码部111从由编码参数确定部110输入的参数中导出为了生成预测图像所需的参数,并输出至预测图像生成部101。为了生成预测图像所需的参数是指例如子块单位的运动矢量。
帧间预测参数编码部112基于从编码参数确定部110输入的预测参数来导出差分矢量那样的帧间预测参数。在帧间预测参数编码部112中,作为导出生成输出至预测图像生成部101的预测图像所需的参数的构成,包括一部分与帧间预测参数解码部303(参考图5等)导出帧间预测参数的构成相同的构成。关于帧间预测参数编码部112的构成将在下文加以叙述。
帧内预测参数编码部113根据从编码参数确定部110输入的帧内预测模式IntraPredMode,导出用于编码的形式(例如mpm_idx、 rem_intra_luma_pred_mode等)。
(图像解码装置的主要部分构成)
图10中示出表示本实施方式的图像解码装置的主要部分构成的框图。在本图中,为了简化附图,省略图10所示的框图中所包括的一部分构件的图示。此外,为了方便说明,对具有与图5所示的构件相同的功能的构件,标注相同的附图标记,并省略其说明。
如图10所示,图像解码装置31具备:解码模块9、CN信息解码部 10、预测图像生成部308、逆量化/逆变换部311、参考图片存储器306、加法部312、环路滤波器305、报头解码部19以及CU解码部20。CU解码部20还具备PU信息解码部12和TT信息解码部13(分割信息解码部、分割部),TT信息解码部13还具备TU解码部22。
首先,以下按每个构件设置项目对图10所示的各构件的功能中的与以往技术相同的功能进行说明。
(解码模块)
以下,对各模块的概略动作进行说明。解码模块9进行解码处理,将语法值从二进制解码。更具体而言,解码模块9基于从供给源供给的编码数据和语法类别对通过CABAC等熵编码方式编码的语法值进行解码,并将解码后的语法值返回至供给源。
在以下所示的示例中,编码数据和语法类别的供给源是CN信息解码部10、CU解码部20(PU信息解码部12和TT信息解码部13)。
(报头解码部)
报头解码部19对从图像编码装置11输入的编码数据的VPS(video parameterset:视频参数集)、SPS、PPS、切片报头进行解码。
(CN信息解码部)
CN信息解码部10使用解码模块9对从图像编码装置11输入的编码数据进行编码树单元(CTU)和编码节点(CN)的解码处理。具体而言,CN 信息解码部10按以下的顺序从编码数据对CTU信息和CN信息进行解码。
首先,CN信息解码部10使用解码模块9,从CTU中所包括的CTU 信息对树单元报头CTUH进行解码。接着,CN信息解码部10根据表示是否对对象CN进行QT分割的QT分割标志的上下文,从CN中所包括的 CN信息对QT分割标志进行解码。然后,CN信息解码部10递归地对对象CN进行分割并解码,直至QT分割标志不再通知进一步分割。最后,从CTU信息对树单元脚注CTUF进行解码。
需要说明的是,在本实施方式中,对被解码的CN信息为QT分割标志(qt_split_flag)的示例进行了说明,但被解码的CN信息也可以是表示是否对对象CN进行BT(binarytree:二进制树)分割的BT分割标志 (bt_split_flag),也可以是表示是否对对象CN进行TT(triple tree:三进制树)分割的TT分割标志(tt_split_flag)。
树单元报头CTUH和树单元脚注CTUF中包括图像解码装置31为了确定对象编码树单元的解码方法而参考的编码参数。此外,CN信息中除了QT分割标志以外,还可以包括在后述的BT方向标志(BT分割模式)、对象CN以及下位的编码节点中应用的参数。
(CU解码部)
CU解码部20包括PU信息解码部12和TT信息解码部13,对最下位的编码节点CN(即CU)的PUI信息和TTI信息进行解码。
(PU信息解码部)
在PU信息解码部12中使用解码模块9对各PU的PU信息(合并标志(merge_flag)、合并索引(merge_idx)、预测矢量索引(mvp_idx)、参考图像索引(ref_idx)、帧间预测标识符(inter_pred_flag)以及差分矢量(mvd)等)进行解码。
(TT信息解码部)
TT信息解码部13使用解码模块9对变换树TT的TT信息(TU分割标志SP_TU(split_transform_flag)、TU残差标志CBP_TU(cbf_cb、cbf_cr、 cbf_luma)等以及TU)进行解码。
此外,TT信息解码部13具备TU解码部22。TU解码部22在TU中包括残差的情况下,对QP更新信息(量化校正值)进行解码。需要说明的是,QP更新信息是表示与量化参数QP的预测值即量化参数预测值 qPpred的差分值的值。此外,TU解码部22对量化预测残差(residual_coding) 进行解码。
(作为实施方式1的特征的图像解码装置的主要部分构成)
以下,对作为本实施方式的特征的图像解码装置31的主要部分构成进行说明。
本实施方式的CU解码部20不分割CN信息解码部10所生成的CU,而将该CU所包括的PU发送至PU信息解码部12,将该CU所包括的TU 发送至TT信息解码部13。
此外,PU信息解码部12不分割从CU解码部20接收到的PU,而对上述的PU信息进行解码。
另一方面,TT信息解码部13分割从CU解码部20接收到的TU所包括的亮度TU,而不分割色差TU。此外,TT信息解码部13所具备的 TU解码部22对与分割后的亮度TU有关的量化预测残差和与不分割的色差TU有关的量化预测残差进行解码。
(块分割方法)
参照图11对基于本实施方式的图像解码装置31的块分割方法进行详细说明。图11是对基于本实施方式的图像解码装置31的块分割方法的一个示例进行说明的流程图。
首先,在步骤S0中,CN信息解码部10从CN中所包括的CN信息对表示是否对对象CN进行QT分割的QT分割标志进行解码。然后,CN信息解码部10递归地对对象CN进行分割并解码,直至QT分割标志不再通知进一步分割。如果QT分割标志不再通知进一步分割,则CN信息解码部 10将对象CN作为CU(权利要求中的编码单元)发送至CU解码部20。
接着,CU解码部20将从CN信息解码部10接收到的CU中所包括的PU(权利要求中的预测单元)发送至PU信息解码部12,将该CU所包括的TU(权利要求中的变换单元)发送至TT信息解码部13(步骤S1)。
接着,PU信息解码部12对从CU解码部20接收到的PU的PU信息进行解码(步骤S2)。PU信息解码部12也可以进一步对表示是否分割 PU的信息进行解码并分割PU。
此外,TT信息解码部13分割从CU解码部20接收到的TU所包括的亮度TU,而不分割色差TU(步骤S3)。作为判定为TT信息解码部13分割亮度TU,而不分割色差TU的方法的示例,可以例举出使用表示分割亮度TU且不分割色差TU或不分割亮度TU和色差TU的分割标志的方法等。
接着,TU解码部22对TT信息解码部13通过分割而生成的亮度TU 的量化预测残差进行解码,并对TT信息解码部13不进行分割的色差TU 的量化预测残差进行解码(步骤S4)。
需要说明的是,虽然图11中未示出,但预测图像生成部308(权利要求中的预测图像生成部)基于在步骤S2中PU信息解码部12解码后的 PU信息生成预测图像。此外,逆量化/逆变换部311(权利要求中的变换系数解码部)基于在步骤S4中TU解码部22解码后的量化预测残差,计算与亮度对应的变换系数和与色差对应的变换系数。
(块分割方法的具体例)
以下,参照图12或算式等对基于本实施方式的图像解码装置31的块分割方法的具体例进行详细说明。图12是用于对本实施方式的块分割方法进行说明的图。如图12所示,在本实施方式的块分割方法中,不分割CU,只分割该CU所包括的亮度TU。需要说明的是,以下示出使用了 QT分割的具体例,但也可以使用BT分割或TT分割。
首先,在上述的步骤S0中,如下述的算式(1)所示,CN信息解码部10按每个编码节点CN对QT分割标志(split_cu_flag)进行解码,在 split_cu_flag表示进一步分割的情况(在此为0以外)下,递归地对对象 CN进行分割并解码。此外,如下述的算式(1)所示,如果QT分割标志(split_cu_flag)不通知进一步分割(在此为split_cu_flag=0),则CN信息解码部10将对象CN作为CU并通过CU解码部20进行处理。
在上述的算式(1)中,coding_tree表示编码节点CN,x、y表示对象CN的左上坐标,w、h表示对象CN的尺寸。此外,>>表示向右位移。在上述示例中,对split_cu_flag进行解码,在解码后的split_cu_flag为1 的情况下,进一步对下位的CN进行解码(分割),在split_cu_flag为0 的情况下,对coding_unit(CU)进行解码。
需要说明的是,如下述的算式(2)所示,上述的算式(1)中的 coding_unit(CU)包括prediction_unit(PU)和transform_unit(TU)。
此外,如下述的算式(3)所示,上述的算式(2)中的transform_unit (TU)包括transform_luma(亮度TU)和transform_chroma(色差TU)。此外,如下述的算式(4)所示,transform_unit(TU)也可以构成为包括三个residual_coding(量化预测残差)。
在上述的算式(4)中,cIdx表示颜色分量,cIdx=0的residual_coding 表示是与亮度(luma)有关的量化预测残差,cIdx=1的residual_coding表示是与第一色差分量(Cb)有关的量化预测残差,cIdx=2的residual_coding 表示是与第二色差分量(Cr)有关的量化预测残差。
此外,如下述的算式(5)所示,TT信息解码部13在步骤S3中,参考表示是否分割亮度TU的分割标志(split_luma_flag),在该分割标志指示分割的情况下,分割亮度TU,TU解码部22在步骤S4中,对与亮度对应的量化预测残差进行解码。在该分割标志不指示分割的情况下,TT 信息解码部13不分割亮度TU,TU解码部22在步骤S4中,对与亮度对应的量化预测残差进行解码(逆量化、逆变换)。
另一方面,对于色差TU,在步骤S3中,TT信息解码部13不分割色差TU,TU解码部22对与下述的算式(6)所示的色差对应的量化预测残差进行解码(逆量化、逆变换)。
(实施方式1的总结)
如上所述,本实施方式的图像解码装置31在变换树中分割了与亮度对应的变换单元(TU)之后对与亮度对应的变换系数进行解码,不分割与色差对应的变换单元(TU)而对与色差对应的变换系数进行解码。
根据上述的构成,不分割与色差对应的变换单元,因此能保持与色差对应的残差能量的集中。因此,能高效地进行残差的解码,能使代码量减少。
〔实施方式2〕
若基于附图对本发明的实施方式2进行说明,则如以下所述。需要说明的是,在本实施方式也使用实施方式1的图像解码装置31。因此,对在实施方式1中说明过的与图像解码装置31所具备的构件具有相同功能的构件标注相同的附图标记,并省略其说明。
(块分割方法)
参照图13对基于本实施方式的图像解码装置31的块分割方法进行说明。图13是对基于本实施方式的图像解码装置31的块分割方法的一个示例进行说明的流程图。需要说明的是,对于与在实施方式1中说明过的步骤相同的步骤,省略其说明。
首先,在步骤S10中,CN信息解码部10从CN所包括的CN信息对表示是否对对象CN进行分割的分割标志进行解码。然后,CN信息解码部10递归地对对象CN进行QT分割并解码,直至该分割标志不再通知进一步分割。对于CN信息解码部10而言,如果该分割标志不再通知进一步分割,则CN信息解码部10将部分分割后的对象CN作为CU发送至 CU解码部20。
需要说明的是,实施方式2中的分割中存在普通分割和部分分割这两种。普通分割与在实施方式1说明过的分割相同,省略说明。部分分割是在分割后的多个CU中,在各CU中对PU信息和亮度的量化预测残差进行编码/解码处理,但对于色差的量化预测残差,将分割后的多个CU 汇总进行变换、量化或逆量化、逆变换,将编码数据配置在开头CU的分割。需要说明的是,普通分割和部分分割根据后述的条件进行切换。
作为步骤S10的下一工序,CU解码部20将从CN信息解码部10接收到的CU所包括的PU发送至PU信息解码部12,将该CU所包括的TU 发送至TU解码部22(步骤S11)。
接着,PU信息解码部12按从CU解码部20接收到的每个CU对PU 的PU信息进行解码(步骤S12)。
接着,TU解码部22按从CU解码部20接收到的每个CU对亮度TU 的量化预测残差进行解码,对从CU解码部20接收到的开头CU中储存的色差TU的量化预测残差进行解码(步骤S13)。
(块分割方法的具体例)
以下,参照图14或算式等对基于本实施方式的图像解码装置31的块分割方法的具体例进行详细说明。图14是用于对本实施方式的部分分割方法进行说明的图。如图14所示,在本实施方式中的部分分割方法中,通过使用部分分割后的CU,按各CU得到PU和亮度TU,在开头CU中得到色差TU。
首先,在上述的步骤S10中,如下述的算式(7)所示,CN信息解码部10在对象CN(coding_tree)中对分割标志(split_cu_flag)进行解码,递归地对对象CN进行分割并解码,直至该分割标志split_cu_flag不再通知进一步分割(split_cu_flag=1的情况)。如果该分割标志split_cu_flag 不再通知进一步分割(split_cu_flag=0),则CN信息解码部10在CU解码部20中对对象CN的CU(coding_unit)进行解码。
在实施方式2中分割标志通知分割的情况(split_cu_flag=1的情况) 下,根据后述的条件(在算式(7)中记载为“普通CU分割判定”),切换普通分割和部分分割。需要说明的是,普通分割的处理与实施方式1 相同,省略说明。
在上述的算式(7)中,在coding_tree(......)的(......)内,从左起依次表示CN的左上坐标(x,y)、尺寸(w,h)、色差量化预测残差块的左上坐标(xc,yc)、尺寸(wc,hc)。
需要说明的是,根据色差格式(4∶2∶0、4∶2∶2、4∶4∶4等),针对亮度的色差的坐标或尺寸不同,但以下为了方便说明,色差的坐标和尺寸使用换算为亮度时的值。就是说使用与变换为与亮度相同的坐标系的值。例如当将分别与亮度的坐标(x,y)和尺寸(w,h)对应的色差的坐标设为(xk, yk)和尺寸(wk,hk)时,在4∶2∶0的情况下(xk,yk)=(x>>1,y>>1)、(wk,hk)=(w>>1,h>>1),在4∶2∶2的情况下(xk,yk)=(x>>1,y)、 (wk,hk)=(w>>1,h),在4∶4∶4的情况下(xk,yk)=(x,y)、(wk, hk)=(w,h),但在以下的说明中不使用色差坐标(xk,yk)、色差尺寸(wk,hk)。即,色差的坐标和尺寸与色差格式无关而被视为(xc,yc)=(x,y)、(wc,hc)=(w,h)。因此为了在实际处理的时间点得到实际的色差块的坐标(xk,yk)和尺寸(wk,hk),需要进行
xk=xc>>1,yk=yc>>1,wk=wc>>1,hk=hc>>1(4∶2∶0的情况)
xk=xc>>1,wk=wc>>1(4∶2∶2的情况)
这一变换。
如上述的算式(7)所示,CN信息解码部10在分割标志(split_cu_flag) 通知进一步分割,并且不满足普通分割条件视为情况下,执行部分分割。
更详细而言,在上述的算式(7)中,CN信息解码部10在部分分割的情况下,在进行对象CN(coding_tree)的解码时,使用分别与上位的 CN的左上坐标(xc,yc)和与尺寸(wc,hc)相同的值(作为自变量传递的值)对色差的量化预测残差块的左上坐标(xc,yc)和尺寸(wc,hc) 进行处理。
此外,如下述的算式(8)所示,上述的算式(7)中的作为CN的 coding_unit(x,y,w,h,xc,yc,wc,hc)包括作为PU的prediction_unit (x,y,w,h)和作为TU的transform_unit(x,y,w,h,xc,yc,wc, hc)。
然后,如下述的算式(9)所示,TU解码部22在步骤S13中,对与亮度有关的量化预测残差(residual_coding(x,y,w,h,cIdx=0))进行解码(逆量化、逆变换),对与色差有关的量化预测残差(residual_coding (xc,yc,wc,hc,cIdx=1)和residual_coding(xc,yc,wc,hc,cIdx=2)) 进行解码(逆量化、逆变换)(步骤S13)。
在上述的算式(9)中,TU解码部22执行判定式(if(x==xc&&y==yc))。根据该判定式,就是说,TU解码部22在对象CU的坐标(x,y)与色差的对象TU的坐标相同的情况下,就是说实施位于左上的CU的色差Cb、 Cr的量化预测残差的解码处理residual_coding。
如算式(7)的普通分割中所示,在普通分割的情况下对对象CU的坐标(x,y)和色差的对象TU的坐标(xc,yc)代入相同的值,实施色差Cb、Cr的量化预测残差的解码处理。但是,如算式(7)的部分分割所示,在部分分割的情况下,只在开始部分分割的最初的分割为四部分的CU 的开头CU对对象CU的坐标(x,y)和色差的对象TU的坐标(xc,yc) 代入相同的值,只在开头CU实施色差Cb、Cr的量化预测残差的解码处理。
参照图15和图16对在上述的算式(9)中的判定式(if (x==xc&&y==yc))进行说明。这两个都是在块B中开始部分分割的示例。就是说,是在块B以下的分级中进行部分分割的示例。图15是表示不进行部分分割的CN(块B)和进一步对块B进行部分分割的CN(块PB1~PB4)。需要说明的是,图15的块PB1~PB4不被进一步分割。
图16是与图15不同的示例,表示在图15所示的块中部分分割后的块PB1~PB4的开头CN即块PB1存在被进一步部分分割而产生的块 PB11~PB14的示例。需要说明的是,图16的块PB11~PB14不被进一步分割。此外,PB2~PB4也不被进一步分割。
如图15所示,未进行部分分割的块B(非shared块)的坐标和尺寸为(x,y,w,h,xc,yc,wc,hc=0,0,8,8,0,0,8,8),满足x==xc&&y==yc。此外,进行了部分分割的开头块PB1(shared块)为(x,y,w,h,xc, yc,wc,hc=0,0,4,4,0,0,8,8),满足x==xc&&y==yc。因此, TU解码部22在步骤S13中,对与块B整体的色差有关的量化预测残差进行解码来作为基于上述的算式(9)中的判定式的判定的结果。即,在块 B的开头块PB1中,对块B的坐标和尺寸(xc,yc,wc,hc)=(0,0,8, 8)的量化预测残差residual_coding(xc,yc,wc,hc,cIdx=1)和 residual_coding(xc,yc,wc,hc,cIdx=2)进行解码。然而,在部分分割后的开头块以外的块PB2~PB4中,不满足x==xc&&y==yc,因此不对与色差有关的量化预测残差进行解码。
此外,如图16所示,块PB11~PB14的开头CU(叶)即块PB11的坐标和尺寸是(x,y,w,h,xc,yc,wc,hc=0,0,2,2,0,0,8,8),满足x==xc&&y==yc。因此,TU解码部22在步骤S13中,在块PB11中对与块整体的色差有关的量化预测残差进行解码来作为基于上述的算式(9)的判定式的判定的结果。然而,在部分分割后的开头块以外的块 PB12~PB14和PB2~PB4中,不满足x==xc&&y==yc,因此不对与色差有关的量化预测残差进行解码。
(实施方式2的变形例1)
以下,参照图17对实施方式2的变形例1进行说明。图17是用于对本变形例的块分割方法进行说明的图。如图17所示,在本变形例中的块分割方法中,通过使用部分分割后的CU,按各CU得到亮度TU,在开头 CU中得到PU和色差TU。
在上述的块分割方法中的步骤S12中,PU信息解码部12按每个CU 对与PU有关的PU信息进行解码,在步骤S13中,TU解码部22对亮度 TU的量化预测残差和进行解码,在开头CU对色差TU的量化预测残差进行解码。但是,在本变形例中,PU信息解码部12对特定的CU所包括的PU信息进行解码,因此在开头CU对与PU有关的PU信息进行解码, TU解码部22对色差TU的量化预测残差进行解码,按每个CU对亮度TU 的量化预测残差进行解码。
例如,如下述的算式(10)所示,PU信息解码部12判定CU是否为开头CU,仅对开头CU所包括的PU信息进行解码。
如上述的算式(10)所示,PU信息解码部12对满足(x==xc&&y==yc) 的条件的CU(开头CU)所包括的PU信息进行解码。需要说明的是,关于TU,与在上述的项目(块分割方法的具体例)中说明过的方法相同,从而省略说明。由此,PU信息解码部12或TU解码部22能在开头CU中对PU和色差TU进行解码,能按各CU对亮度TU进行解码。
(实施方式2的变形例2)
以下,对实施方式2的变形例2进行详细说明。在本变形例中,CN 信息解码部10在上述的步骤S10中,如下述的算式(11)所示,使用表示是否实施(按每个CU对色差的量化预测残差进行编码或者解码)部分分割的临时变量的标志(signaling_flag)。
然后,CN信息解码部10将signaling_flag的值和CU发送至CU解码部20。然后,上述的算式(11)中的coding_unit(x,y,w,h,xc,yc, wc,hc,signaling_flag)如下述的算式(12)所示,包括prediction_unit (x,y,w,h)和transform_unit(x,y,w,h,xc,yc,wc,hc,signaling_flag)。
然后,如下述的算式(13)所示,TU解码部22在步骤S13中,对与亮度有关的量化预测残差(residual_coding(x,y,w,h,cIdx=0))进行解码,对与色差有关的量化预测残差(residual_coding(xc,yc,wc,hc, cIdx=1)和residual_coding(xc,yc,wc,hc,c=2))进行解码(步骤S13)。
在上述的算式(13)中,TU解码部22执行判定式(if(signaling_flag))。 TU解码部22根据该判定式,在signaling_flag表示1的情况下,对与色差有关的量化预测残差进行解码,在signaling_flag表示0的情况下,不对与色差有关的量化预测残差进行解码。
此外,也可以将本变形例的signaling_flag应用于上述的变形例1。在该情况下,PU信息解码部12在步骤S12中,执行下述的算式(14)所示的判定式(if(signaling_flag)),在signaling_flag表示1的情下况,对PU信息进行解码,在signaling_flag表示0的情况下,不对PU信息进行解码。需要说明的是,步骤S13的TU解码部22进行与上述的变形例1 相同的动作,省略说明。
如上所述,通过使用signaling_flag,能确定是否对量化预测残差或 PU信息等进行解码而不进行坐标位置的判定。
(实施方式2的变形例3)
以下,对实施方式2的变形例3进行详细说明。在本变形例中,CN 信息解码部10在上述的步骤S10中,通过以下说明的判定方法,确定对对象CN进行普通分割或部分分割。该判定方法涉及算式(7)和算式(11) 中表现为“普通CU分割判定”的条件。需要说明的是,在步骤S10中,CN信息解码部10在进行一次部分分割后仅执行部分分割。此外,CN信息解码部10进行部分分割的对象块优选为比较小的块。以下对基于这些条件中的至少一个以上的下述的(1)~(3)的判定方法进行说明。
以下,将表示是否执行普通分割的标志称为split_mode_flag (luma_chroma_common_split_mode_flag)。在split_mode_flag为1的情况下是普通分割,在split_mode_flag为0的情况下是部分分割。或者,也可以使用具有与split_mode_flag相反的意思的partial_split_mode_flag。在 partial_split_mode_flag表示0的情况下,对对象CN进行普通分割,在解码后的partial_split_mode_flag表示1的情况下,执行部分分割。需要说明的是,在普通分割中在亮度和色差中具有共同的构造,因此也可以将 split_mode_flag称为1uma_chroma_common_split_mode_flag。此外,在部分分割中在亮度和色差中具有不同的构造,进一步在色差中合并块,因此也可以将partial_split_mode_flag称为chroma_shared_split_mode_flag。
在进行了一次部分分割后,{x,y,w,h}和{xc,yc,wc,hc}中至少任一个不同。因此,在进行部分分割后仅执行部分分割的情况下,以下的算式(15)成立。就是说,如以下的算式(15),能设定split_mode_flag (partial_split_mode_flag)的值。
需要说明的是,w!=wc与w<wc等价,h!=hc与h<hc等价。
(1)分支构成P1:尺寸依赖判定
在该判定方法中,CN信息解码部10在步骤S10中判定对象CN的块尺寸是否大。作为CN信息解码部10所判定的块尺寸的大小,能使用宽度w与高度h的和、宽度w与高度h的积或宽度的对数值log2(w)与高度的对数值log2(h)的和等,但在以下,使用是否满足w+h>M的判定进行说明。具体而言,判定是否满足w+h>M(M是表示对象CN的尺寸的阈值)。然后,CN信息解码部10在对象CN较大的情况(满足w+h>M 的情况)下,执行普通CU分割,在除此以外的情况(对象CN不满足 w+h>M的情况)下,实施部分分割。作为上述的M的示例,举出M=16 或M=24等。即,在以下的算式(16)中能导出partial_split_mode_flag。
(2)分支构成P2:标志判定
在该判定方法中,CN信息解码部10在步骤S10中,从编码数据对表示执行普通分割或部分分割的splitmode_flag (luma_chroma_common_split_mode_flag)进行解码。然后,CN信息解码部10在解码后的split_mode_flag表示1的情况下,对对象CN进行普通分割,在解码后的split_mode_flag表示0的情况下,执行部分分割。或者,也可以使用具有与split_mode_flag相反的意思的partial_split_mode_flag (chroma_shared_split_mode_flag)。在该情况下,CN信息解码部10在步骤S10中,在解码后的partial_split_mode_flag表示0的情况下,对对象CN 进行普通分割,在解码后的partial_split_mode_flag表示1的情况下,执行部分分割。在进行了一次部分分割的情况下无需对标志进行解码,因此根据以下的算式(17)的条件对标志进行解码。
(3)分支构成P3:尺寸依赖标志判定
在该判定方法中,CN信息解码部10在步骤S10中,首先,CN信息解码部10判定对象CN的块尺寸是否大。作为CN信息解码部10所判定的块尺寸的大小,能使用宽度w与高度h的和、宽度w与高度h的积或宽度的对数值log2(w)与高度的对数值log2(h)的和等,但在以下,使用宽度w与高度h的和,就是说是否满足w+h>M的判定进行说明。具体而言,CN信息解码部10在对象CN较大的情况(满足w+h>M的情况)下,执行普通分割。在对象CN不大(不满足w+h>M)且x!=xc||y!=yc||w <wc||h<hc的情况下,已经实施了部分分割,因此执行部分分割而不对标志进行解码。在除此以外的情况下,CN信息解码部10对上述的 split_mode_flag或partial_split_mode_flag进行解码,根据标志的值实施普通分割或部分分割。作为此处的M的示例,举出M=32等。
即,进行以下的动作。
需要说明的是,其结果是,CN信息解码部10仅在未进行部分分割的情况下对标志进行解码,因此
if(x==xc&&y==yc&&w==wc&&h==hc&&(w+h)<=M)
partial_split_mode_flag//标志解码···算式(19)
如上述的算式(19)对标志进行解码,在不对标志进行解码的情况下,可以通过以下的算式(20)导出标志。
在以下的算式(21)中,表示上述的(3)的判定方法的具体例
在不对partial_split_mode_flag进行解码的情况下,通过算式(20) 导出partial_split_mode_flag。如上述的算式(21)所示,CN信息解码部 10判定对象CN的块尺寸是否大(是否满足w+h>M)直至分割标志 (split_cu_flag)不通知进一步普通分割。然后,CN信息解码部10在对象CN的块尺寸较大的情况(满足w+h>M的情况)下,执行普通分割。CN信息解码部10在除此以外被部分分割的情况(x!=xc||y!=yc||w <wc||h<hc的情况)下,执行部分分割而不对标志进行解码。在除此以外的情况下,对上述的split_mode_flag或partial_split_mode_flag进行解码,根据标志的值实施普通分割或者部分分割。
(实施方式2的变形例4)
在以上的各变形例中,说明了对对象CN进行QT分割的示例。在本变形例中,对包括对象CN的BT分割的示例进行说明。
CN信息解码部10如下述的算式(22)所示,执行上述的变形例3 中的算式(21)所示的工序。然后,CN信息解码部10在split_cu_flag表示0的情况且在QT分割中未实施部分分割的情况下,对表示是否对对象 CN进行BT分割的标志即split_bt_flag进行解码。
如上述的算式(22)所示,CN信息解码部10在解码split_bt_flag后,在split_bt_flag表示1的情况下,对作为BT分割方向标志的split_dir_flag 进行解码。此外,CN信息解码部10在对象CN的块尺寸较大(满足(w+h) >M的情况),作为partial_bt_split_mode_flag=0执行普通分割。CN信息解码部10在除此以外被部分分割的情况(x!=xc||y!=yc||w<wc||h<hc的情况)下,作为partial_bt_split_mode_flag=1执行部分分割。在除此以外的情况下,CN信息解码部10对上述的partial_bt_split_mode_flag进行解码。然后,CN信息解码部10在partial_bt_split_mode_flag表示0,且 split_dir_flag表示1的情况下,以分割后的两个CN沿着垂直方向排列的方式对对象CN进行普通分割。此外,CN信息解码部10在 partial_bt_split_mode_flag表示0,且split_dir_flag表示0的情况下,以分割后的两个CN沿着水平方向排列的方式对对象CN进行普通分割。此外, CN信息解码部10在partial_bt_split_mode_flag表示1,且split_dir_flag 表示1的情况下,以分割后的两个CN沿着垂直方向排列的方式对对象 CN进行部分分割。此外,CN信息解码部10在partial_bt_split_mode_flag 表示1,且split_dir_flag表示0的情况下,以分割后的两个CN沿着水平方向排列的方式对对象CN进行部分分割。
需要说明的是也可以分离QT树coding_tree和BT树coding_bt_tree 而采用如以下的算式(23)的构成。
(实施方式2的总结)
如上所述,本实施方式的图像解码装置31与实施方式1相同,在编码单元(CU)中所包括的变换树中,在分割了与亮度对应的变换单元(TU) 之后对与亮度有关的变换系数进行解码,不分割与色差对应的变换单元(TU) 而对与色差有关的变换系数进行解码。此外,图像解码装置31在编码单元 (CU)中所包括的预测树中,不分割与亮度对应的预测单元(PU)而生成与亮度有关的预测图像,在预测树中不分割与色差对应的预测单元(PU) 而生成与色差有关的预测图像。
根据上述的构成,仅分割与亮度对应的变换单元,因此能保持与色差对应的残差能量的集中,并且能减少代码量的开销。
此外,本实施方式的图像解码装置31通过分割编码单元(CU),可以在预测树中生成与对应于亮度的预测单元(PU)有关的预测图像,通过分割编码单元(CU),在预测树中生成与对应于色差的预测单元(PU) 有关的预测图像。
根据上述的构成,通过分割编码单元(CU),能统一地分割与亮度对应的变换单元(TU)。因此,能简化块的分割处理。
此外,本实施方式的图像解码装置31可以在编码单元(CU)中所包括的预测树中,不分割与亮度对应的预测单元而生成与亮度有关的预测图像,不分割与色差对应的预测单元而生成与色差有关的预测图像。
根据上述的构成,不分割预测单元,因此能减少代码量。
(实施方式3〕
若基于附图对本发明的实施方式3进行说明,则如下所述。需要说明的是,在本实施方式也使用实施方式1的图像解码装置31。因此,对在实施方式1中说明过的与图像解码装置31所具备的构件具有相同功能的构件标注相同的附图标记,并省略其说明。
在上述的实施方式1和实施方式2中,如以下执行与PU有关的处理。首先,PU信息解码部12对各PU的PU信息进行解码。接着,帧间预测参数解码部303基于该PU信息,参考存储于预测参数存储器307的预测参数对帧间预测参数进行解码,将解码后的帧间预测参数输出至预测图像生成部308。另一方面,帧内预测参数解码部304基于上述的PU信息,参考存储于预测参数存储器307的预测参数,对帧内预测参数进行解码。然后,预测图像生成部308在PU信息中所包括的预测模式predMode所示的预测模式下,使用预测参数和读出的参考图片(参考图片块)来生成PU 或子块的预测图像。更详细而言,在预测模式predMode表示帧间预测模式的情况下,帧间预测图像生成部309使用帧间预测参数和读出的参考图片(参考图片块),通过帧间预测来生成PU或子块的预测图像。在预测模式predMode表示帧内预测模式的情况下,帧内预测图像生成部310使用帧内预测参数和读出的参考图片,通过帧内预测来生成PU的预测图像。
在上述这样的与PU有关的处理中,存在以下的问题。首先,在预测图像的生成中,有时在针对色差的预测中,与针对亮度的预测相同的预测无法发挥作用。此外,如实施方式1和实施方式2,当将在亮度和色差中使用不同的树的技术应用于帧间预测时,不仅树(块构造)的代码量倍增,运动信息的代码量也增加(通常,运动信息大多在亮度和色差中相同,因此用单一的运动信息即可)。而且,存在亮度和色差这两者都无法使用表示没有残差的跳过的问题。为了解决这些问题,本实施方式的图像解码装置31使用在以下详细说明的CCLM(Cross-component Linear Model)预测来生成与色差有关的预测图像。
(作为实施方式3的特征的图像解码装置的主要部分构成)
以下,参照图18对作为本实施方式的特征的图像解码装置31的主要部分构成进行详细说明。图18的(a)是表示帧内预测图像生成部310 所具备的CCLM预测部3104的构成的一个示例的框图。CCLM预测部 3104中包括CCLM参数导出部31041和CCLM预测滤波部31042。图18 的(b)是表示CCLM预测滤波部31042的构成例的框图。
CCLM参数导出部31041将与对象块邻接的处理完成的图像的像素值(x[i]、y[i]、i=0,......N)作为输入信号而导出CCLM预测参数。 CCLM参数导出部31041将导出的CCLM预测参数(a,b)输出至CCLM 预测滤波部31042。需要说明的是,像素值x[i]表示与对象块邻接的区域的亮度像素(Luma)的值,像素值y[i]表示与对象块邻接的区域的色差像素(Cb,Cr)的值。
CCLM预测滤波部31042对作为输入信号的对象块的亮度解码图像 refSamplesX[][]进行CCLM预测,生成对象块的色差预测图像 predSamplesY[][](在此Y表示Cb、Cr)。就是说,CCLM预测滤波部31042从作为输入信号的参考图像refSamplesX[][]生成预测图像predSamplesY[][]。
图18的(b)表示CCLM预测滤波部31042的构成。CCLM预测滤波部31042具备线性预测部310421。线性预测部310421将参考图像 refSamplesX[][]作为输入信号,使用CCLM预测参数(a,b)输出预测图像predSamplesY[][]。
更详细而言,线性预测部310421将与亮度有关的参考图像 refSamplesLuma(与权利要求中的亮度有关的预测图像)作为输入信号,通过分别使用预测参数(a,b)和(a’,b’)的下述的算式(24)和算式 (25)导出色差信号Cb和Cr的预测图像,将其作为与色差有关的预测图像predSamplesCb和predSamplesCr输出。
predSamplesCb=(a*refSamplesLuma)>>shift+b…算式(24)
predSamplesCb=(a*refSamplesLuma)>>shift+b…算式(24)
在此,(a,b)是针对色差Cb的(y[i]为Cb的情况)CCLM预测参数,(a’,b’)是针对色差Cr的(y[i]为Cr的情况)CCLM预测参数。以下将(a,b)、(a’,b’)统一记为(a,b)。
(预测图像导出方法)
参照图19对基于本实施方式的图像解码装置31的预测图像导出方法进行详细说明。图19是对基于本实施方式的图像解码装置31的预测图像导出方法的一个示例进行说明的流程图。需要说明的是,本实施方式中的预测图像导出方法是实施方式1中的块分割方法或实施方式2中的块分割方法之后的工序。因此,省略对上述的步骤S0~S5和步骤S10~S13的说明。
首先,帧间预测图像生成部309使用帧间预测参数解码部303解码出的帧间预测参数和从参考图片存储器306读出的参考图片(参考图片块),通过帧间预测生成与亮度有关的预测图像,将解码后的亮度块的残差图像相加,生成亮度块的解码图像(步骤S20)。
接着,CCLM参数导出部31041将与对象块邻接的处理完成的图像的像素值(x[i]、y[i]、i=0,......N)作为输入信号而导出CCLM预测参数(a,b)(步骤S21)。在此,x[i]表示与对象块邻接的区域的亮度像素值,y[i]表示与对象块邻接的区域的色差像素值。
接着,线性预测部310421将与亮度有关的参考图像refSamplesLuma (对象块的亮度预测图像或亮度解码图像)作为输入信号,通过使用了预测参数(a,b)的上述的算式(24)和算式(25)导出色差信号Cb和Cr 的预测图像,将其作为与色差有关的预测图像predSamplesCb和 predSamplesCr输出(步骤S22)。
通常,在对象块的色差图像与邻接的色差图像相比,与位于相同位置的对象块的亮度图像的相关性更高的情况下,在帧内预测中应用CCLM 预测。在本实施方式中,通过将CCLM预测和帧间预测(合并预测)组合使用(称为CCLM合并模式),在对象块的色差图像与亮度图像的相关性高的情况下,在帧间预测下也能生成更准确的预测图像,能通过减少预测残差提高编码效率。
说明作为在实施方式1说明过的合并模式的合并候选之一,对亮度应用使用邻接块的预测参数的通常的合并预测,对色差应用CCLM预测的CCLM合并模式。在以下算式中示出该情况下的合并候选列表 mergeCand[]。A1CCLM为CCLM合并候选。算式(26)的A1、B1、B0、A0、B2表示图24所示的对象块的邻接块的位置的预测模式。
mergeCand[]={A1,B1,B0,A0,B2,Col,A1CCLM,Combined, Zero}···算式(26)
更详细地对上述情况进行说明,作为合并候选列表的制作方法,首先按下述的算式(27)所示的顺序追加候选。在此availableFlagX是在邻接块X可利用的情况下为真(TRUE),在不可利用的情况下为假(FALSE) 的标志。在图24示出邻接块X。接着,按A1CCLM、Combined合并、 Zero合并的顺序在合并候选列表追加候选。在此,A1,B1,B0,A0,B2, Col表示分别对亮度预测和色差预测使用A1,B1,B0,A0,B2或Col 块的预测参数的模式。
在选择A1CCLM作为合并候选(merge_idx指示A1CCLM)的情况下,对于亮度使用合并候选列表的开头的A1的预测参数来生成预测图像,将另行解码的预测残差图像相加而生成解码图像。对于色差使用该亮度的预测图像或解码图像,通过CCLM预测生成预测图像,将另行解码的预测残差图像相加而生成解码图像。也可以对解码图像进一步施加去块滤波等,但在CCLM预测使用解码图像的情况下使用去块滤波前的解码图像为好。
需要说明的是,合并CCLM模式不限定于在亮度的预测图像生成中使用A1的预测参数的A1CCLM,也可以是将B1、B0、A0、B2、Col的预测参数用于亮度的预测图像生成的B1CCLM、B0CCLM、A0CCLM、B2CCLM、 ColCCLM等。例如,可以按A1、B1、B0、A0、B2、Col等的合并候选顺序使用最初可利用的合并候选来生成针对亮度的预测图像,对于色差,可以是使用该亮度的解码图像,通过CCLM预测生成预测图像的构成。
(本实施方式中的追加的构成)
以下,作为实施方式3的变形例,参考图20对通过与合并索引不同的标志通知CCLM合并模式的示例进行说明。图20是对本实施方式中的预测模式确定方法进行说明的流程图。
首先,预测参数解码部302对PU信息解码部12指示解码合并标志 merge_flag,并提取合并标志merge_flag(步骤S30)。
接着,预测参数解码部302判定提取出的合并标志merge_flag是否表示1(步骤S31)。在合并标志merge_flag表示1的情况(步骤S31的是 (YES))下,进入步骤S32,在合并标志merge_flag表示0的情况(步骤S31的否(NO))下,进入步骤S33。
在步骤S32中,预测参数解码部302对PU信息解码部12指示解码合并索引merge_idx,并提取合并索引merge_idx作为合并预测的预测参数,此外,对PU信息解码部12指示解码merge_cclm_flag并提取 merge_cclm_flag,所述merge_cclm_flag表示是否通过CCLM模式导出与色差有关的预测图像。
在步骤S33中,预测参数解码部302对PU信息解码部12指示解码 AMVP预测参数,提取AMVP预测参数(以下的工序相当于AMVP预测模式)。
作为步骤S32的下一工序,预测参数解码部302判定提取出的 merge_cclm_flag是否表示1(步骤S34)。在merge_cclm_flag表示1的情况(步骤S34的是)下,进入步骤S35,在merge_cclm_flag表示0的情况(步骤S34的是)下,进入步骤S36。
在步骤S35中,预测参数解码部302选择提取出的合并索引 merge_idx所示的合并候选作为对象PU的帧间预测参数。此处的合并候选是以下的算式(28)中所示的合并候选mergeCand[]之中的任一个。
mergeCand[]={A1,B1,B0,A0,B2,Col,Combined,Zero} ···算式(28)
步骤S35的下一工序是上述的步骤S20、步骤S21以及步骤S22。即,根据选择出的合并候选(合并模式),通过帧间预测生成与亮度有关的预测图像(步骤S20),导出CCLM预测参数(a,b)(步骤S21)。导出使用了预测参数(a,b)的预测图像的色差信号Cb和Cr(步骤S22)。
此外,在步骤S36中,预测参数解码部302选择提取出的合并索引 merge_idx所示的合并候选作为对象PU的帧间预测参数。此处的合并候选是上述的算式(28)中所示的合并候选mergeCand[]之中的任一个。
需要说明的是,步骤S36之后的工序(未图示)相当于通常的合并模式,帧间预测图像生成部309使用帧间预测参数解码部303导出的帧间预测参数和从参考图片存储器306读出的参考图片(参考图片块),通过帧间预测生成与亮度有关的预测图像和与色差有关的预测图像。
在本变形例中,与合并索引不同,使用通知是否对色差使用CCLM 预测的标志(merge_CCLM_flag)。在实施方式3中对色差使用CCLM 预测的情况下,对于亮度只能选择A1块(被限定的合并候选),但在本变形例中,即使在对色差使用CCLM预测的情况下,对于亮度也能选择在通常的合并预测中可以取得的全部候选。就是说具有能提高色差的预测效率而不牺牲亮度的预测效率这样的优点。
(与实施方式1或实施方式2的组合)
以下,参考图21~图23对本实施方式的预测图像导出方法与实施方式1或实施方式2中的块分割方法的组合进行说明。图21是用于对实施方式1中的块分割方法和实施方式3中的预测图像导出方法的组合进行说明的图。图22是用于对实施方式2中的块分割方法和实施方式3中的预测图像导出方法的组合进行说明的图。图23是用于对实施方式2中的块分割方法的变形例和实施方式3中的预测图像导出方法的组合进行说明的图。
如图21所示,加法部312将下述的(1)和(2)相加,生成亮度块的解码图像。
(1)预测图像生成部308基于在步骤S2中PU信息解码部12解码出的PU的PU信息而生成的亮度块的预测图像
(2)逆量化/逆变换部311基于在步骤S4中TU解码部22解码出的 TU的量化预测残差而生成的亮度块的残差图像
然后,在步骤S22中,线性预测部310421将该亮度块的预测图像或解码图像用作输入信号,通过CCLM预测导出色差块的预测图像。在图 21中,示出将解码图像用作输入信号,通过CCLM预测导出色差块的预测图像的示例。
然后,加法部312基于在步骤S4中TU解码部22解码出的量化预测残差,将该色差块的预测图像和逆量化/逆变换部311所生成的色差块的残差图像相加,生成色差块的解码图像。
此外,如图22所示,加法部312将下述的(3)和(4)相加,生成亮度块的解码图像。
(3)预测图像生成部308基于在步骤S12中被PU信息解码部12部分分割的CU中所包括的PU的PU信息而生成的亮度块的预测图像
(4)逆量化/逆变换部311基于在步骤S13中TU解码部22参照被部分分割的CU中所包括的TU来解码的量化预测残差而生成的亮度块的残差图像
然后,在步骤S22中,线性预测部310421将该亮度块的预测图像或解码图像用作输入信号,通过CCLM预测按每个PU导出色差块的预测图像。在图22中,示出将解码图像用作输入信号,通过CCLM预测导出色差块的预测图像的示例。然后,加法部312基于在步骤S13中TU解码部22参照未被分割的TU而解码的量化预测残差,将该色差块的预测图像和逆量化/ 逆变换部311所生成的色差块的残差图像相加,生成色差块的解码图像。
此外,如图23所示,加法部312将(5)和(6)相加,生成亮度块的解码图像。
(5)如在实施方式2的变形例1中说明过的那样,预测图像生成部 308基于未被PU信息解码部12分割的PU的PU信息而生成的亮度块的预测图像
(6)逆量化/逆变换部311基于在步骤S13中TU解码部22参照被部分分割的CU中所包括的TU来解码的量化预测残差而生成的亮度块的残差图像
然后,在步骤S22中,线性预测部310421将该亮度块的预测图像或解码图像用作输入信号,通过CCLM预测导出色差块的预测图像。然后,加法部312基于在步骤S13中TU解码部22参照未被分割的TU而解码的量化预测残差,将该色差块的预测图像和逆量化/逆变换部311所生成的色差块的残差图像相加,生成色差块的解码图像。
〔实施方式3的总结〕
如上所述,本实施方式的图像解码装置31使用参考单元(相对于对象PU位于附近的处理完成的PU)的预测参数生成与对象预测单元(对象PU)的亮度有关的预测图像,参照对象预测单元(对象PU)的亮度的预测图像或解码图像,生成与该对象预测单元的色差有关的预测图像。
此外,根据上述构成,能共享亮度的树结构和色差的树结构,同时能在亮度和色差中使用不同的预测(帧内预测和帧间预测),因此不会增加与树结构有关的代码量。在选择上述预测作为合并模式候选之一的情况下,能将帧内预测和与帧间预测有关的为了切换亮度和色差的预测方法所需的代码量最小化。
根据上述构成,在生成与色差有关的预测图像时,能使用已生成的亮度的预测图像或解码图像,因此在运动信息(运动矢量)对于亮度而言合适,但对于色差而言不合适的情况等下,能生成更准确的预测图像,能减少代码量。
此外,本实施方式的图像解码装置31也可以根据标志(例如, merge_cclm_flag)来确定与关于亮度的预测图像和关于色差的预测图像的生成方法有关的模式(例如,合并模式或CCLM模式)。
根据上述构成,能对色差应用CCLM预测而不限制亮度的合并候选,能进一步减少代码量。此外,能通过限定为合并模式,将选择上述预测的情况下所需的标志的代码量最小化。
〔图像编码装置〕
具有与上述的实施方式1~3的图像解码装置31相同的构成的图像编码装置11也包括在本发明的一个实施方式。
例如,实施方式1的图像解码装置31和具有相同的构成的图像编码装置11在变换树中分割了与亮度对应的变换单元之后对与亮度有关的变换系数进行编码,不分割与色差对应的变换单元而对与色差有关的变换系数进行编码。
根据上述构成,不分割与色差对应的变换单元,因此能保持与色差对应的残差能量的集中。因此,能高效地进行残差的编码,能使代码量减少。
此外,实施方式2的图像解码装置31和具有相同的构成的图像编码装置11在编码单元(CU)中所包括的变换树中,在分割了与亮度对应的变换单元(TU)之后对与亮度有关的变换系数进行编码,不分割与色差对应的变换单元(TU)而对与色差有关的变换系数进行编码。此外,图像解码装置31在编码单元(CU)中所包括的预测树中,在分割了与亮度对应的预测单元(PU)之后对与亮度所对应的预测单元有关的PU信息进行编码,在预测树中在分割了与色差对应的预测单元(PU)之后对与色差所对应的预测单元有关的PU信息进行编码。
根据上述构成,仅分割与亮度对应的变换单元,因此能保持与色差对应的残差能量的集中,并且能分割预测单元。
此外,实施方式3的图像解码装置31和具有相同的构成的图像编码装置11使用参考单元(相对于对象PU位于附近的处理完成的PU)的预测参数生成与对象预测单元(对象PU)的亮度有关的预测图像,参照对象预测单元(对象PU)的亮度的预测图像或解码图像,生成与该对象预测单元的色差有关的预测图像。
根据上述构成,在生成与色差有关的预测图像时,能使用已生成的亮度的预测图像或解码图像,因此能生成更准确的预测图像,能减少代码量。
〔基于软件的实现例〕
需要说明的是,可以通过计算机实现前述的实施方式中的图像编码装置11、图像解码装置31的一部分,例如,熵解码部301、预测参数解码部302、环路滤波器305、预测图像生成部308、逆量化/逆变换部311、加法部312、预测图像生成部101、减法部102、变换/量化部103、熵编码部 104、逆量化/逆变换部105、环路滤波器107、编码参数确定部110以及预测参数编码部111。在该情况下,可以通过将用于实现该控制功能的程序记录于计算机可读记录介质,使计算机***读入记录于该记录介质的程序并执行来实现。需要说明的是,在此提到的“计算机***”是指内置于图像编码装置11、图像解码装置31中的任一个的计算机***,采用包括OS、***设备等硬件的计算机***。此外,“计算机可读记录介质”是指软盘、磁光盘、ROM、CD-ROM等可移动介质、内置于计算机***的硬盘等存储装置。而且,“计算机可读记录介质”也可以包括:像经由互联网等网络或电话线路等通信线路来发送程序的情况下的通信线那样短时间内、动态地保存程序的记录介质;以及像作为该情况下的服务器、客户端的计算机***内部的易失性存储器那样保存程序固定时间的记录介质。此外,上述程序可以是用于实现上述功能的一部分的程序,而且也可以是能通过与已记录在计算机***中的程序进行组合来实现上述功能的程序。
此外,也可以将上述的实施方式中的图像编码装置11、图像解码装置31的一部分或全部作为LSI(Large Scale Integration:大规模集成电路) 等集成电路来实现。图像编码装置11、图像解码装置31的各功能块可以单独地处理器化,也可以将一部分或全部集成来处理器化。此外,集成电路化的方法不限于LSI,也可以利用专用电路或通用处理器来实现。此外,在随着半导体技术的进步而出现代替LSI的集成电路化的技术的情况下,也可以使用基于该技术的集成电路。
以上,参照附图对该发明的一实施方式详细地进行了说明,但具体构成并不限于上述实施方式,在不脱离该发明的主旨的范围内,可以进行各种设计变更等。
〔应用例〕
上述图像编码装置11和图像解码装置31可以搭载于进行运动图像的发送、接收、记录、再现的各种装置而利用。需要说明的是,运动图像可以是通过摄像机等拍摄到的自然运动图像,也可以是通过计算机等生成的人工运动图像(包括CG和GUI)。
首先,参照图8对能将上述的图像编码装置11和图像解码装置31 用于运动图像的发送和接收的情况进行说明。
图8的(a)是表示搭载有图像编码装置11的发送装置PROD_A的构成的框图。如图8的(a)所示,发送装置PROD_A具备:通过对运动图像进行编码而得到编码数据的编码部PROD_A1、通过利用编码部 PROD_A1所得到的编码数据对载波进行调制而得到调制信号的调制部 PROD_A2以及发送调制部PROD_A2所得到的调制信号的发送部 PROD_A3。上述的图像编码装置11被用作该编码部PROD_A1。
作为输入至编码部PROD_A1的运动图像的供给源,发送装置 PROD_A也可以进一步具备:拍摄运动图像的摄像机PROD_A4、记录运动图像的记录介质PROD_A5、用于从外部输入运动图像的输入端子 PROD_A6以及生成或加工图像的图像处理部A7。在图8的(a)中举例示出了发送装置PROD_A具备全部这些的构成,但也可以省略一部分。
需要说明的是,记录介质PROD_A5可以是记录有未被编码的运动图像的介质,也可以是记录有以与传输用的编码方式不同的记录用的编码方式进行编码后的运动图像的介质。在后者的情况下,使按照记录用的编码方式对从记录介质PROD_A5读出的编码数据进行解码的解码部(未图示) 介于记录介质PROD_A5与编码部PROD_A1之间为好。
图8的(b)是表示搭载有图像解码装置31的接收装置PROD_B的构成的框图。如图8的(b)所示,接收装置PROD_B具备:接收调制信号的接收部PROD_B1、通过对接收部PROD_B1所接收到的调制信号进行解调而得到编码数据的解调部PROD_B2以及通过对解调部PROD_B2 所得到的编码数据进行解码而得到运动图像的解码部PROD_B3。上述的图像解码装置31被用作该解码部PROD_B3。
接收装置PROD_B作为解码部PROD_B3所输出的运动图像的供给目的地,也可以进一步具备显示运动图像的显示器PROD_B4、用于记录运动图像的记录介质PROD_B5以及用于将运动图像输出至外部的输出端子PROD_B6。在图8的(b)中举例示出了接收装置PROD_B具备全部这些的构成,但也可以省略一部分。
需要说明的是,记录介质PROD_B5可以是用于记录未被编码的运动图像的介质,也可以是以与传输用的编码方式不同的记录用的编码方式编码后的介质。在后者的情况下,使按照记录用的编码方式对从解码部 PROD_B3获取到的运动图像进行编码的编码部(未图示)介于解码部 PROD_B3与记录介质PROD_B5之间为好。
需要说明的是,传输调制信号的传输介质可以是无线的,也可以是有线的。此外,传输调制信号的传输方案可以是广播(在此,指发送目的地未预先确定的发送方案),也可以是通信(在此,指发送目的地已预先确定的发送方案)。即,调制信号的传输可以通过无线广播、有线广播、无线通信以及有线通信的任一个来实现。
例如,地面数字广播的广播站(广播设备等)/接收站(电视接收机等)是通过无线广播收发调制信号的发送装置PROD_A/接收装置 PROD_B的一个示例。此外,有线电视广播的广播站(广播设备等)/接收站(电视接收机等)是通过有线广播收发调制信号的发送装置PROD_A/ 接收装置PROD_B的一个示例。
此外,使用互联网的VOD(Video On Demand:视频点播)服务、运动图像共享服务等服务器(工作站等)/客户端(电视接收机、个人计算机、智能手机等)是通过通信收发调制信号的发送装置PROD_A/接收装置PROD_B的一个示例(通常,在LAN中使用无线或有线的任一个作为传输介质,在WAN中使用有线作为传输介质)。在此,个人计算机包括台式PC、膝上型PC以及平板型PC。此外,智能手机中也包括多功能便携电话终端。
需要说明的是,运动图像共享服务的客户端除了对从服务器下载的编码数据进行解码并显示于显示器的功能以外,还具有对通过摄像机拍摄到的运动图像进行编码并上传至服务器的功能。即,运动图像共享服务的客户端发挥发送装置PROD_A和接收装置PROD_B这两方的功能。
接着,参照图9,对能将上述的图像编码装置11和图像解码装置31 用于运动图像的记录和再现的情况进行说明。
图9的(a)是表示搭载有上述的图像编码装置11的记录装置 PROD_C的构成的框图。如图9的(a)所示,记录装置PROD_C具备:通过对运动图像进行编码而得到编码数据的编码部PROD_C1和将编码部 PROD_C1所得到的编码数据写入记录介质PROD_M的写入部PROD_C2。上述的图像编码装置11被用作该编码部PROD_C1。
需要说明的是,记录介质PROD_M可以是(1)如HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固态硬盘)等那样内置于记录装置PROD_C的类型的记录介质,也可以是(2)如SD存储卡、USB (Universal Serial Bus:通用串行总线)闪存等那样连接于记录装置 PROD_C的类型的记录介质,还可以是(3)如DVD(Digital Versatile Disc:数字通用光盘)、BD(Blu-ray Disc:蓝光光盘、注册商标)等那样装填至内置于记录装置PROD_C的驱动装置(未图示)的记录介质。
此外,作为输入至编码部PROD_C1的运动图像的供给源,记录装置 PROD_C也可以进一步具备:拍摄运动图像的摄像机PROD_C3、用于从外部输入运动图像的输入端子PROD_C4、用于接收运动图像的接收部 PROD_C5以及生成或加工图像的图像处理部PROD_C6。在图9的(a)中举例示出了记录装置PROD_C具备全部这些的构成,但也可以省略一部分。
需要说明的是,接收部PROD_C5可以接收未被编码的运动图像,也可以接收以与记录用的编码方式不同的传输用的编码方式编码后的编码数据。在后者的情况下,使对以传输用的编码方式编码后的编码数据进行解码的传输用解码部(未图示)介于接收部PROD_C5与编码部PROD_C1 之间为好。
作为这种记录装置PROD_C,例如可举出:DVD记录器、BD记录器、 HDD(Hard DiskDrive)记录器等(在该情况下,输入端子PROD_C4或接收部PROD_C5为运动图像的主要的供给源)。此外,便携式摄像机(在该情况下,摄像机PROD_C3为运动图像的主要的供给源)、个人计算机 (在该情况下,接收部PROD_C5或图像处理部C6为运动图像的主要的供给源)、智能手机(在该情况下,摄像机PROD_C3或接收部PROD_C5 为运动图像的主要的供给源)等也是这种记录装置PROD_C的一个示例。
图9的(b)是表示搭载有上述的图像解码装置31的再现装置PROD_D 的构成的框图。如图9的(b)所示,再现装置PROD_D具备:读出已写入记录介质PROD_M的编码数据的读出部PROD_D1和通过对读出部PROD_D1所读出的编码数据进行解码而得到运动图像的解码部PROD_D2。上述的图像解码装置31被用作该解码部PROD_D2。
需要说明的是,记录介质PROD_M可以是(1)如HDD、SSD等那样内置于再现装置PROD_D的类型的记录介质,也可以是(2)如SD存储卡、USB闪存等那样连接于再现装置PROD_D的类型的记录介质,也可以是(3)如DVD、BD等那样装填至内置于再现装置PROD_D的驱动装置(未图示)的记录介质。
此外,作为解码部PROD_D2所输出的运动图像的供给目的地,再现装置PROD_D也可以进一步具备:显示运动图像的显示器PROD_D3、用于将运动图像输出至外部的输出端子PROD_D4以及发送运动图像的发送部PROD_D5。在图9的(b)中举例示出了再现装置PROD_D具备全部这些的构成,但也可以省略一部分。
需要说明的是,发送部PROD_D5可以发送未被编码的运动图像,也可以发送以与记录用的编码方式不同的传输用的编码方式编码后的编码数据。在后者的情况下,使以传输用的编码方式对运动图像进行编码的编码部(未图示)介于解码部PROD_D2与发送部PROD_D5之间为好。
作为这种再现装置PROD_D,例如可列举出DVD播放器、BD播放器、 HDD播放器等(在该情况下,连接有电视接收机等的输出端子PROD_D4 为运动图像的主要供给目的地)。此外,电视接收机(在该情况下,显示器PROD_D3为运动图像的主要供给目的地)、数字标牌(也称为电子看板、电子公告板等,显示器PROD_D3或发送部PROD_D5为运动图像的主要供给目的地)、台式PC(在该情况下,输出端子PROD_D4或发送部 PROD_D5为运动图像的主要供给目的地)、膝上型或平板型PC(在该情况下,显示器PROD_D3或发送部PROD_D5为运动图像的主要供给目的地)、智能手机(在该情况下,显示器PROD_D3或发送部PROD_D5为运动图像的主要供给目的地)等也是这种再现装置PROD_D的一个示例。
(硬件实现和软件实现)
此外,上述的图像解码装置31和图像编码装置11的各块可以通过形成于集成电路(IC芯片)上的逻辑电路而以硬件方式实现,也可以利用CPU(Central Processing Unit:中央处理器)而以软件方式实现。
在后者的情况下,上述各装置具备:执行实现各功能的程序的命令的CPU、储存上述程序的ROM(Read Only Memory:只读存储器)、展开上述程序的RAM(Random AccessMemory:随机存取存储器)以及储存上述程序和各种数据的存储器等存储装置(记录介质)等。然后,本发明的实施方案的目的在于通过以下方式也能达到:将以计算机可读取的方式记录实现前述功能的软件即上述各装置的控制程序的程序代码(执行形式程序、中间代码程序、源程序)的记录介质供给至上述各装置,该计算机(或CPU、MPU)读出记录于记录介质的程序代码并执行。
作为上述记录介质,例如能使用:磁带、盒式磁带等带类;包括软盘(注册商标)/硬盘等磁盘、CD-ROM(Compact Disc Read-Only Memory:光盘只读存储器)/MO盘(Magneto-Optical disc:磁光盘)/MD(MiniDisc:迷你磁光盘)/DVD(Digital Versatile Disc:数字通用光盘)/CD-R(CD Recordable:光盘刻录片)/蓝光光盘(Blu-ray Disc:注册商标)等光盘的盘类;IC卡(包括存储卡)/光卡等卡类;掩模ROM/EPROM(Erasable ProgrammableRead-Only Memory:可擦可编程只读存储器)/EEPROM (ElectricallyErasableandProgrammableRead-OnlyMemory:电可擦可编程只读存储器)/闪存ROM等半导体存储器类;或者PLD(Programmable logic device:可编程逻辑器件)、FPGA(Field Programmable GateArray:现场可编程门阵列)等逻辑电路类等。
此外,也可以将上述各装置构成为能与通信网络连接,并经由通信网络供给上述程序代码。该通信网络能传输程序代码即可,不被特别限定。例如,可利用互联网、内联网(intranet)、外联网(extranet)、LAN(Local Area Network:局域网)、ISDN(IntegratedServices Digital Network:综合业务数字网)、VAN(Value-AddedNetwork:增值网络)、CATV(Community Antenna television/Cable Television:共用天线电视/有线电视)通信网、虚拟专用网(Virtual Private Network)、电话线路网、移动通信网、卫星通信网等。此外,构成该通信网络的传输介质也是为能传输程序代码的介质即可,不限定于特定的构成或种类。例如,无论在IEEE(Institute of Electrical and Electronic Engineers:电气和电子工程师协会)1394、USB、电力线输送、有线TV线路、电话线、ADSL(AsymmetricDigital Subscriber Line:非对称数字用户线路)线路等有线中,还是在如IrDA(InfraredData Association:红外线数据协会)、遥控器那样的红外线、BlueTooth(注册商标)、IEEE802.11 无线、HDR(High Data Rate:高数据速率)、NFC(Near Field Communication:近场通讯)、DLNA(Digital Living Network Alliance:数字生活网络联盟,注册商标)、便携电话网、卫星线路、地面数字广播网等无线中都可利用。需要说明的是,本发明的实施方式即使以通过电子传输来将上述程序代码具体化的嵌入载波的计算机数据信号的形态也能够实现。
本发明的实施方式并不限定于上述的实施方式,能在权利要求所示的范围内进行各种变更。即,将在权利要求所示的范围内经过适当变更的技术方案组合而获得的实施方式也包括在本发明的技术范围内。
(相关申请的交叉引用)
本申请对2017年4月28日提出申请的日本专利申请:日本特愿 2017-090481主张优先权的利益,并通过对其进行参照而将其全部内容包括到本说明书中。
工业上的可利用性
本发明的实施方式能优选地应用于对将图像数据编码而得到的编码数据进行解码的图像解码装置和生成将图像数据编码而得到的编码数据的图像编码装置。此外,能优选地应用于由图像编码装置生成并被图像解码装置参考的编码数据的数据结构。
附图标记说明
11 图像编码装置
31 图像解码装置
301 熵解码部
302 预测参数解码部
303 帧间预测参数解码部
304 帧内预测参数解码部
308 预测图像生成部
309 帧间预测图像生成部
310 帧内预测图像生成部
311 逆量化/逆变换部
31041 CCLM参数导出部
31042 CCLM预测滤波部
310421 线性预测部