图像解码装置以及图像编码装置转让专利

申请号 : CN201780029344.7

文献号 : CN109076223B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 猪饲知宏

申请人 : 夏普株式会社鸿颖创新有限公司

摘要 :

本发明避免伴随进行二次变换以及自适应核变换双方而带来的浪费的产生。具备:核变换部(1521),对编码树单元进行自适应核变换;以及二次变换部(1522),在自适应核变换之前对编码树单元所包含的子块中至少任一个子块进行二次变换,根据与自适应核变换有关的标志以及与二次变换有关的标志中的至少任一个或编码树单元的尺寸,省略自适应核变换或二次变换中的任一个。

权利要求 :

1.一种图像解码装置,将图片分割为编码单元而进行解码,所述图像解码装置的特征在于,具备:

第一变换部,构成为能对上述编码单元包含的变换单元应用核变换;以及第二变换部,构成为能在上述核变换之前对上述变换单元应用二次变换;

第一解码部,构成为能够对表示是否有AMT索引的标志进行解码;

第二解码部,构成为能够对与上述核变换相关的上述AMT索引进行解码;

第三解码部,构成为能够对与上述二次变换相关的二次索引进行解码,上述第二解码部在上述二次索引表示不进行上述二次变换的情况且上述标志的值为0以外的情况下,对上述AMT索引进行解码,上述第二解码部在上述二次索引表示进行上述二次变换的情况或者上述标志的值为0的情况下,将上述AMT索引作为0来导出。

2.一种图像编码装置,将图片分割为编码单元而进行编码,所述图像编码装置的特征在于,具备:

第一变换部,构成为能对上述编码单元包含的变换单元应用核变换;以及第二变换部,构成为能在上述核变换之后对上述变换单元应用二次变换;

第一编码部,构成为能够对表示是否有AMT索引的标志进行编码;

第二编码部,构成为能够对与上述核变换相关的上述AMT索引进行编码;

第三编码部,构成为能够对与上述二次变换相关的二次索引进行编码,上述第二编码部在上述二次索引表示不进行上述二次变换的情况且上述标志的值为0以外的情况下,对上述AMT索引进行编码,上述第二编码部在上述二次索引表示进行上述二次变换的情况或者上述标志的值为0的情况下,将上述AMT索引作为0来导出。

说明书 :

图像解码装置以及图像编码装置

技术领域

[0001] 本发明涉及一种对表示图像的编码数据进行解码的图像解码装置、通过对图像进行编码而生成编码数据的图像编码装置。

背景技术

[0002] 为了高效地传输或记录运动图像,使用通过对运动图像进行编码而生成编码数据的运动图像编码装置、以及通过对该编码数据进行解码而生成解码图像的运动图像解码装
置。
[0003] 作为具体的运动图像编码方式,例如可列举出在H.264/MPEG‑4.AVC、作为其后继编解码器的HEVC(High‑Efficiency Video Coding:高效视频编码)中提出的方式(非专利
文献1)等。
[0004] 在这种运动图像编码方式中,构成运动图像的图像(图片)被由通过对图像进行分割而获得的切片(slice)、通过对切片进行分割而获得的编码单元(Coding Unit)、以及构
成编码单元的预测单元(PU)、变换单元(TU)形成的分层结构管理,通常按块进行编码/解
码。
[0005] 此外,在这种运动图像编码方式中,通常,基于通过对输入图像进行编码/解码而获得的局部解码图像而生成预测图像,对从输入图像(原图像)中减去该预测图像而获得的
预测残差(有时也称为“差分图像”或“残差图像”)进行编码。此外,作为预测图像的生成方
法,可列举出画面间预测(帧间预测)以及画面内预测(帧内预测)。
[0006] 在非专利文献1中,已知有通过使用四叉树分割实现上述编码单元以及变换单元,来选择自由度高的块尺寸,取得代码量与精度的平衡的技术。
[0007] 现有技术文献
[0008] 非专利文献
[0009] 非专利文献1:ITU‑T Rec.H.265(V2),2014年10月29日公开

发明内容

[0010] 发明要解决的问题
[0011] 然而,上述这样的现有技术中存在如下问题:有更高效地进行针对TU的预测残差的复原的余地。
[0012] 本发明是鉴于所述的问题点而完成的,其目的在于,实现能更高效地进行针对TU的预测残差的复原的图像解码装置以及图像编码装置。
[0013] 技术方案
[0014] 为了解决上述问题,本发明的一方案的图像解码装置将图片分割为编码树单元而进行解码,所述图像解码装置具备:第一变换部,构成为能对上述编码树单元应用第一变
换;以及第二变换部,构成为能在上述第一变换之前对上述编码树单元所包含的子块中至
少任一个子块应用第二变换,根据与上述第一变换有关的第一标志以及与上述第二变换有
关的第二标志中的至少任一个或上述编码树单元的尺寸,省略由上述第一变换部或上述第
二变换部中的任一个进行的变换。
[0015] 此外,本发明的一方案的图像解码装置将图片分割为编码树单元而进行解码,所述图像解码装置具备:第一变换部,对上述编码树单元应用第一变换;以及第二变换部,在
上述第一变换之前对上述编码树单元所包含的子块中至少任一个子块应用第二变换,上述
第二变换部对第一区域和第二区域应用上述第二变换,所述第一区域由上述编码树单元内
的低频侧的子块构成,所述第二区域构成为包含与该第一区域邻接且与上述编码树单元的
边界邻接的边界邻接子块,不包含从所述边界的相反侧与该边界邻接子块邻接的子块。
[0016] 此外,本发明的一方案的图像编码装置将图片分割为编码树单元而进行编码,所述图像编码装置具备:第一变换部,构成为能对上述编码树单元应用第一变换;以及第二变
换部,构成为能在上述第一变换之后对上述编码树单元所包含的子块中至少任一个子块应
用第二变换,根据与上述第一变换有关的第一标志以及与上述第二变换有关的第二标志中
的至少任一个或上述编码树单元的尺寸,省略由上述第一变换部或上述第二变换部中的任
一个进行的变换。
[0017] 有益效果
[0018] 根据本发明的一方案,起到能更高效且有效地进行针对TU的预测残差的复原的效果。

附图说明

[0019] 图1是表示本发明的一实施方式的运动图像解码装置所具备的CU信息解码部以及解码模块的构成例的功能框图。
[0020] 图2是表示上述运动图像解码装置的概略构成的功能框图。
[0021] 图3是表示由本发明的一实施方式的运动图像编码装置生成、由上述运动图像解码装置解码的编码数据的数据构成的图,图3(a)~图3(d)是分别表示图片层、切片层、树单
元层、编码树层以及编码单元层(CU层)的图。
[0022] 图4是表示PU分割类型的模式的图。图4(a)~图4(h)分别表示PU分割类型为2N×2N、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、以及N×N的情况的分区形状。
[0023] 图5是对发明的一实施方式的CT信息解码部(CTU信息解码S1300、CT信息解码S1400)的概略动作进行说明的流程图。
[0024] 图6是对发明的一实施方式的CU解码部(CU解码S1500)、CU信息解码部21(CU信息解码S1510)、PU信息解码部(PU信息解码S1600)、TT信息解码部(TT信息解码S1700)的概略
动作进行说明的流程图。
[0025] 图7是对发明的一实施方式的TT信息解码部(TT信息解码S1700)的概略动作进行说明的流程图。
[0026] 图8是对发明的一实施方式的TU信息解码部(TU信息解码S1760)的概略动作进行说明的流程图。
[0027] 图9是表示本发明的一实施方式的CT信息的语法表的构成例的图。
[0028] 图10是表示本发明的一实施方式的CU信息、PT信息PTI、TT信息TTI的语法表的构成例的图。
[0029] 图11是表示本发明的一实施方式的PU信息PUI的语法表的构成例的图。
[0030] 图12是表示本发明的一实施方式的TT信息TTI的语法表的构成例的图。
[0031] 图13是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图。
[0032] 图14是表示本发明的一实施方式的逆量化/逆变换部的构成例的功能框图。
[0033] 图15是表示本发明的一实施方式的变换集表的构成例的图。
[0034] 图16是表示规定基于帧内预测模式选择的变换子集的表的构成例的图。
[0035] 图17是表示本发明的一实施方式的逆变换部的构成例的功能框图。
[0036] 图18是表示发明的一实施方式的逆变换部的构成例的功能框图。
[0037] 图19是表示图17的二次变换部进行非分离型变换的情况的构成例的图。
[0038] 图20是表示图17的二次变换部进行分离型变换的情况的构成例的图。
[0039] 图21是表示本发明的一实施方式的CU信息、PT信息PTI、TT信息TTI的语法表的构成例的图。
[0040] 图22是对发明的一实施方式的TT信息解码部(TT信息解码S1700)的概略动作进行说明的流程图。
[0041] 图23是对发明的另一实施方式的TT信息解码部(TT信息解码S1700)的概略动作进行说明的流程图。
[0042] 图24是表示本发明的一实施方式的TT信息TTI的语法表的构成例的图。
[0043] 图25是对发明的一实施方式的TU信息解码部(TU信息解码S1760)的概略动作进行说明的流程图。
[0044] 图26(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图26(b)是amt_idx、sec_idx的解码部分的伪代码描述。
[0045] 图27是表示发明的一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0046] 图28是表示本发明的一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0047] 图29是表示以TU级别对amt_idx进行解码的本发明的一实施方式的TT信息TTI的语法表的构成例的图。
[0048] 图30(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图30(b)是amt_idx解码部分的伪代码描述。
[0049] 图31是表示发明的另一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0050] 图32(a)是表示本发明的一实施方式的TT信息TTI的语法表的构成例的图,图32(b)是amt_flag解码部分的伪代码描述。
[0051] 图33(a)是表示本发明的一实施方式的TT信息TTI的语法表的构成例的图,图33(b)是amt_flag解码部分的伪代码描述。
[0052] 图34(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图34(b)是amt_idx解码部分的伪代码描述。
[0053] 图35是表示本发明的一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0054] 图36是表示本发明的一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0055] 图37是表示本发明的一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0056] 图38(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图38(b)是sec_idx和amt_idx的解码部分的伪代码描述。
[0057] 图39是表示本发明的一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0058] 图40(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图40(b)是amt_idx和sec_idx的伪代码描述。
[0059] 图41是表示本发明的一实施方式的TT信息解码部以及逆变换部的构成的一个例子的功能框图。
[0060] 图42(a)是表示本发明的一实施方式的TT信息TTI的语法表的构成例的图,图42(b)是sec_idx解码部分的伪代码描述。
[0061] 图43(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图43(b)是sec_idx解码部分的伪代码描述。
[0062] 图44是对本发明的一实施方式的二次变换部应用二次变换的子块进行说明的图。
[0063] 图45是对本发明的一实施方式的二次变换部应用二次变换的子块进行说明的图。
[0064] 图46是对本发明的一实施方式的二次变换部应用二次变换的子块进行说明的图。
[0065] 图47是对本发明的一实施方式的二次变换部应用二次变换的子块进行说明的图。
[0066] 图48是表示本发明的一实施方式的运动图像编码装置的概略构成的功能框图。
[0067] 图49是表示搭载有上述运动图像编码装置的发送装置、以及搭载有上述运动图像解码装置的接收装置的构成的图。图49(a)表示搭载有运动图像编码装置的发送装置,图49
(b)表示搭载有运动图像解码装置的接收装置。
[0068] 图50是表示搭载有上述运动图像编码装置的记录装置、以及搭载有上述运动图像解码装置的再现装置的构成的图。图50(a)表示搭载有运动图像编码装置的记录装置,图50
(b)表示搭载有运动图像解码装置的再现装置。
[0069] 图51是表示按TU导出AMT索引amt_idx的例子的图。
[0070] 图52是表示按CU导出与二次变换有关的索引sec_idx的例子的图。
[0071] 图53是表示按TU导出与二次变换有关的索引sec_idx的例子的图。
[0072] 图54(a)是二次变换集索引secTrSetIdx,图54(b)是二次变换集表SecTrSet。

具体实施方式

[0073] 〔实施方式1〕
[0074] 参照图1~图43,对本发明的一实施方式进行说明。首先,参照图2,对运动图像解码装置(图像解码装置)1以及运动图像编码装置(图像编码装置)2的概要进行说明。图2是
表示运动图像解码装置1的概略构成的功能框图。
[0075] 图2所示的运动图像解码装置1以及运动图像编码装置2安装在HEVC(High‑Efficiency Video Coding:高效视频编码)中采用的技术。在这些运动图像编码方式中,运
动图像编码装置2对规定从编码器传输到解码器的语法(syntax)的值进行熵编码而生成编
码数据#1。
[0076] 作为熵编码方式,已知有基于上下文的自适应二进制算术编码(CABAC:Context‑based Adaptive Binary Arithmetic Coding)。
[0077] 在利用CABAC进行的编码/解码中,进行自适应于上下文的处理。上下文是指编码/解码的状况(前后关系),用于记录关连语法的发生概率。在CABAC中,对能取得多值的语法
实施二值化处理,并根据发生概率对通过该二值化处理获得的二值数据自适应地进行算术
编码。具体而言,准备多个保持二进制值(0或1)的发生概率的缓冲器,根据上下文选择一个
缓冲器,并基于记录于该缓冲器的发生概率来进行算术编码。此外,通过基于进行解码/编
码的二进制值来更新该缓冲器的发生概率,能根据上下文维持适当的发生概率。
[0078] 运动图像解码装置1中输入运动图像编码装置2对运动图像进行编码后的编码数据#1。运动图像解码装置1对所输入的编码数据#1进行解码并将运动图像#2输出至外部。在
运动图像解码装置1的详细说明之前,以下对编码数据#1的构成进行说明。
[0079] (编码数据的构成)
[0080] 使用图3,对由运动图像编码装置2生成、由运动图像解码装置1解码的编码数据#1的构成例进行说明。编码数据#1示例性地包含序列以及构成序列的多个图片。
[0081] 将编码数据#1中的图片层以下的层的结构示于图3。图3(a)~图3(e)是分别表示规定图片PICT的图片层、规定切片S的切片层、规定编码树单元(Coding Tree Unit)CTU的
树单元层、规定编码树(Coding Tree、CT)的编码树层、规定编码树CT所包含的编码单元
(Coding Unit;CU)的CU层的图。
[0082] <图片层>
[0083] 在图片层中,规定有运动图像解码装置1为了对处理对象的图片PICT进行解码而参照的数据的集合。如图3(a)所示,图片PICT包含图片报头PH、以及切片S1~SNS(NS为图片
PICT所包含的切片的总数)。
[0084] 需要说明的是,以下,在无需对切片S1~SNS的每一个进行区别的情况下,有时会省略代码的下标来描述。此外,以下说明的包含于编码数据#1且标有下标的其它数据也是同
样的。
[0085] 图片报头PH中包含运动图像解码装置1为了确定对象图片的解码方法而参照的编码参数组。图片报头PH也称为图像参数集(PPS:Picture Parameter Set)。
[0086] <切片层>
[0087] 在切片层中,规定有运动图像解码装置1为了对处理对象的切片S进行解码而参照的数据的集合。如图3(b)所示,切片S包含切片报头SH、以及树单元CTU1~CTUNC(NC为切片S
所包含的树单元的总数)。
[0088] 切片报头SH中包含运动图像解码装置1为了确定对象切片的解码方法而参照的编码参数组。指定切片类型的切片类型指定信息(slice_type)是切片报头SH所包含的编码参
数的一个例子。
[0089] 作为能由切片类型指定信息指定的切片类型,可列举出:(1)在进行编码时仅使用帧内预测的I切片、(2)在进行编码时使用单预测或帧内预测的P切片、(3)在进行编码时使
用单预测、双预测或帧内预测的B切片等。
[0090] 此外,切片报头SH中也可以包含被运动图像解码装置1所具备的环路滤波器(参照图2)参照的滤波参数。
[0091] <树单元层>
[0092] 在树单元层中,规定有运动图像解码装置1为了对处理对象的树单元CTU进行解码而参照的数据的集合。树单元CTU是将切片(图片)分割为固定尺寸的单元。需要说明的是,
分割后的单元中的图像数据(像素)称为树块(Coding Tree Block:编码树块)CTB,在不仅
包含图像数据而且也包含用于对图像数据进行解码的信息(例如分割信息等)的情况下,称
为树单元CTU。在进一步以亮度和色差对图像数据进行区别的情况下,CTB进一步称为亮度
的CTB、色差的CTB。以下,编码树、编码单元等也是不仅包含并处理对应的单元的图像数据,
而且也包含并处理用于对图像数据进行解码的信息(例如分割信息等)。
[0093] 树单元CTU包含树单元报头CTUH、编码树CT、树单元脚注CTUF。若对树单元CTU与编码树CT的关系进行说明,则如下所述。
[0094] 树单元CTU被编码树(CT)通过递归的四叉树分割进行分割。以下,将通过递归的四叉树分割获得的树结构及其节点称为编码树(coding tree)。
[0095] 以下,参照与作为末端的编码树的树叶(leaf)对应的单元作为编码节点(coding node)。此外,编码节点为编码处理的基本单位,因此,以下将编码节点称为编码单元(CU)。
就是说,最上层的编码树CT为CTU,末端的编码树CT为CU。
[0096] 需要说明的是,各编码树的尺寸的横竖均是该编码树的上一层的编码树的尺寸的横竖的一半。
[0097] 此外,各编码树能取得的尺寸取决于编码数据#1的序列参数集SPS所包含的、编码树的尺寸指定信息以及最大层深度(maximum hierarchical depth)。例如,在树单元CTU的
尺寸为64×64像素、最大层深度为3的情况下,该树单元CTU以下的层中的编码树能取得四
种尺寸,即64×64像素、32×32像素、16×16像素、以及8×8像素中的任一种。
[0098] <树单元报头、树单元脚注>
[0099] 树单元报头CTUH、树单元脚注CTUF中包含运动图像解码装置1为了确定对象树单元的解码方法而参照的编码参数。具体而言,如图3(c)所示,CTUH中包含指定对象树单元的
滤波方法的SAO信息。将CTUH、CTUF等包含于CTU的信息称为树单元信息(CTU信息)。需要说
明的是,储存于树单元报头CTUH的信息(例如SAO信息)可以储存于脚注(CTUF)的位置而不
是报头。
[0100] <编码树>
[0101] 编码树CT具有作为用于对树单元CTU进行分割的信息的树分割信息SP。例如,具体而言,如图3(d)所示,树分割信息SP可以是表示是否将整个对象树单元或树单元的部分区
域分割为四个的标志即CU分割标志(split_cu_flag)。在CU分割标志split_cu_flag为1的
情况下,将编码树CT进一步分割为四个编码树CT。在split_cu_flag为0的情况下,意味着编
码树是不进行分割的编码单元CU。将编码树所具有的CU分割标志split_cu_flag等信息称
为编码树信息(CT信息)。CT信息除了包含表示是否进一步对该编码树进行分割的CU分割标
志split_cu_flag以外,还可以包含在该编码树和其以下的编码单元中应用的参数。
[0102]
[0103] 在CU层中,规定有运动图像解码装置1为了对处理对象的CU进行解码而参照的数据的集合(CU信息、预测单元PU、变换树TT)。
[0104] 在此,对CU所包含的数据的树结构进行说明。编码单元为预测单元(prediction unit;PU)以及变换树(transform tree;TT)的根。若对预测单元以及变换树进行说明,则如
下所述。
[0105] 预测单元是构成编码单元的一个或多个不重复的区域,预测处理按该预测单元来进行。预测单元中的分割的种类粗略地说有帧内预测和帧间预测这两种情况。
[0106] 在帧内预测的情况下,分割方法有2N×2N(与编码单元相同尺寸)和N×N。
[0107] 此外,在帧间预测的情况下,分割方法有2N×2N(与编码单元相同尺寸)、2N×N、N×2N、以及N×N等。
[0108] 此外,在变换树中,编码单元被分割为一个或多个变换单元(transform unit;TU),各变换单元的位置和尺寸被规定。如果以另一种表达来说,则变换单元是构成编码单
元的一个或多个不重复的区域。变换树包含通过上述分割获得的一个或多个变换单元。变
换处理按该变换单元来进行。
[0109] <编码单元信息的数据结构>
[0110] 接着,参照图3(e),对编码单元CU所包含的数据的具体内容进行说明。如图3(e)所示,编码单元CU具体包含CU信息(跳过标志SKIP(cu_skip_flag)、CU预测类型信息Pred_
type等)、PU信息PUI、以及TT信息TTI。
[0111] [跳过标志]
[0112] 跳过标志SKIP是表示是否对对象CU应用跳过模式的标志(cu_skip_flag),在跳过标志SKIP的值为1的情况下,即,在对对象CU应用跳过模式的情况下,省略此编码单元CU中
的PU信息PUI、TT信息TTI。需要说明的是,跳过标志SKIP在I切片中被省略。
[0113] [CU预测类型信息]
[0114] CU预测类型信息Pred_type包含CU预测方式信息(PredMode)以及PU分割类型信息(PartMode)。
[0115] CU预测方式信息(PredMode)指定使用跳过模式、帧内预测(帧内CU)、以及帧间预测(帧间CU)中的哪一个来做为针对对象CU所包含的各PU的预测图像生成方法。需要说明的
是,以下,将对象CU中的跳过、帧内预测、以及帧间预测的类别称为CU预测模式。
[0116] PU分割类型信息(PartMode)指定对象编码单元CU分割为各PU的模式即PU分割类型。以下,将这样按照PU分割类型将对象编码单元CU分割为各PU称为PU分割。
[0117] PU分割类型信息(PartMode)示例性地可以是表示PU分割模式的种类的索引,也可以指定各PU的形状、尺寸以及在CU内的位置。
[0118] 需要说明的是,可选择的PU分割类型根据CU预测方式和CU尺寸而不同。此外,进一步而言,可选择的PU分割类型在帧间预测以及帧内预测的各个情况下不同。此外,关于PU分
割类型的详细内容将在后文叙述。
[0119] [PU信息]
[0120] PU信息PUI是与对象CU所包含的PU有关的信息。换言之,PU信息PUI是与PU所包含的一个或多个PU的每一个有关的信息的集合。如上所述,预测图像Pred的生成以PU为单位
进行,因此,PU信息PUI在由运动图像解码装置1生成预测图像时被参照。如图3(e)所示,PU
信息PUI包含PU信息PUI1~PUINP(NP为对象CU所包含的PU的总数),所述PU信息PUI1~PUINP
包含各PU中的预测信息等。
[0121] PUI根据CU预测方式信息(PredMode)指定哪一种预测方法而包含帧内预测信息或帧间预测信息。以下,也将应用帧内预测的PU称为帧内PU,也将应用帧间预测的PU称为帧间
PU。
[0122] 帧间预测信息包含运动图像解码装置1在通过帧间预测生成帧间预测图像时参照的编码参数。
[0123] 作为帧间预测参数,例如可列举出:合并标志(merge_flag)、合并索引(merge_idx)、估计运动矢量索引(mvp_idx)、参照图像索引(ref_idx)、帧间预测标识符inter_
pred_idc、以及运动矢量残差(mvd)。
[0124] 帧内预测信息包含运动图像解码装置1在通过帧内预测生成帧内预测图像时参照的编码参数。
[0125] 作为帧内预测参数,例如可列举出:估计预测模式标志、估计预测模式索引、以及剩余预测模式索引。
[0126] 需要说明的是,在帧内预测信息中也可以编码有表示是否使用PCM模式的PCM模式标志。在编码有PCM模式标志的情况下且PCM模式标志表示使用PCM模式时,省略预测处理
(帧内)、变换处理、以及熵编码的各处理。
[0127] [TT信息]
[0128] TT信息TTI是与CU所包含的TT有关的信息。换言之,TT信息TTI是与TT所包含的一个或多个TU的每一个有关的信息的集合,在通过运动图像解码装置1对残差数据进行解码
时被参照。需要说明的是,以下有时也将TU称为变换单元。
[0129] 如图3(e)所示,TT信息TTI包含表示对象CU是否包含残差数据的CU残差标志CBP_TU、指定对象CU向各变换单元的分割模式的TT分割信息SP_TU、以及变换单元TUI1~TUINT
(NT为对象CU所包含的变换单元的总数)。
[0130] 在CU残差标志CBP_TU为0的情况下,对象CU不包含变换单元TU。在CU残差标志CBP_TU为1的情况下,对象CU包含变换单元TU。CU残差标志CBP_TU例如可以是表示在将对象TT以
下分割后的全部中不存在残差的残差根标志rqt_root_cbf(Residual Quad Tree Root 
Coded Block Flag:残差四叉树根编码块标志)。具体而言,TT分割信息SP_TU是用于确定对
象CU所包含的各TU的形状、尺寸、以及在对象CU内的位置的信息。例如,TT分割信息SP_TU可
以由表示是否进行对象TT的分割的TU分割标志(split_transform_flag)和表示其分割的
深度的TU层(trafoDepth)来实现。TU分割标志split_transform_flag是表示是否对进行变
换(逆变换)的变换单元进行分割的标志,在进行分割的情况下对更小的变换单元进行变换
(量化、逆变换、逆量化)。
[0131] 此外,例如在CU的尺寸为64×64的情况下,通过分割获得的各TU能取得32×32像素至4×4像素的尺寸。
[0132] TU信息TUI1~TUINT是与TT所包含的一个或多个TU的每一个有关的单独的信息。例如,TU信息TUI包含量化预测残差(residual_coding)。
[0133] 各量化预测残差是通过运动图像编码装置2对对象TU实施以下的处理1~2而生成的编码数据。
[0134] 处理1:对从编码对象图像中减去预测图像而得的预测残差进行DCT变换(Discrete Cosine Transform:离散余弦变换);
[0135] 处理2:对通过处理1获得的变换系数进行量化;
[0136] 需要说明的是,上述的量化参数qp表示运动图像编码装置2对变换系数进行量化qp/6
时使用的量化步长QP的大小(QP=2 )。
[0137]
[0138] 当将对象CU的尺寸设为2N×2N像素时,PU分割类型(PartMode)有如下共计八种模式。即,2N×2N像素、2N×N像素、N×2N像素、以及N×N像素这四个对称分割(symmetric 
splittings);以及2N×nU像素、2N×nD像素、nL×2N像素、以及nR×2N像素这四个非对称分
m
割(asymmetric splittings)。需要说明的是,N=2 (m为1以上的任意的整数)。以下,也将
分割对称CU而获得的区域称为分区。
[0139] 在图4(a)~图4(h)中,针对各个分割类型,具体地图示出CU中的PU分割的边界的位置。
[0140] 需要说明的是,图4(a)表示不进行CU的分割的2N×2N的PU分割类型。
[0141] 此外,图4(b)、图4(c)以及图4(d)分别表示PU分割类型分别为2N×N、2N×nU、以及2N×nD的情况的分区的形状。以下,将PU分割类型为2N×N、2N×nU、以及2N×nD的情况的分
区统称为横长分区。
[0142] 此外,图4(e)、图4(f)、以及图4(g)分别表示PU分割类型为N×2N、nL×2N、以及nR×2N的情况的分区的形状。以下,将PU分割类型为N×2N、nL×2N、以及nR×2N的情况的分区
统称为纵长分区。
[0143] 此外,将横长分区以及纵长分区统称为长方形分区。
[0144] 此外,图4(h)表示PU分割类型为N×N的情况的分区的形状。基于其分区的形状,也将图4(a)以及图4(h)的PU分割类型称为正方形分割。此外,也将图4(b)~图4(g)的PU分割
类型称为非正方形分割。
[0145] 此外,在图4(a)~图4(h)中,标注于各分区的编号表示识别编号,按照该识别编号的顺序对分区进行处理。即,该识别编号表示分区的扫描顺序。
[0146] 此外,在图4(a)~图4(h)中,设为左上为CU的基准点(原点)。[帧间预测的情况下的分割类型]
[0147] 在帧间PU中,定义有上述八种分割类型中N×N(图4(h))以外的七种。需要说明的是,上述四个非对称分割有时也被称为AMP(Asymmetric Motion Partition、非对称分区)。
一般而言,通过非对称分区分割的CU中包含形状或尺寸不同的分区。此外,对称分割有时也
被称为对称分区。一般而言,通过对称分区分割的CU中包含形状以及尺寸一致的分区。
[0148] 需要说明的是,上述的N的具体值由该PU所属的CU的尺寸规定,nU、nD、nL、以及nR的具体值根据N的值确定。例如,128×128像素的帧间CU能分割为128×128像素、128×64像
素、64×128像素、64×64像素、128×32像素、128×96像素、32×128像素、以及96×128像素
的帧间PU。
[0149] [帧内预测的情况下的分割类型]
[0150] 在帧内PU中,定义有如下两种分割模式。即,不分割对象CU、即对象CU本身作为一个PU来处理的分割模式2N×2N和将对象CU对称地分割为四个PU的模式N×N。
[0151] 因此,在帧内PU中,以图4所示的例子来说,能取得图4(a)以及图4(h)的分割模式。
[0152] 例如,128×128像素的帧内CU能分割为128×128像素以及64×64像素的帧内PU。
[0153] 需要说明的是,在I切片的情况下,编码单元CU中可以包含用于确定PU分割类型信息(PartMode)的帧内分割模式(intra_part_mode)。(运动图像解码装置)
[0154] 以下,参照图1~图47以及图51~图53,对本实施方式的运动图像解码装置1的构成进行说明。
[0155] <运动图像解码装置的概要>
[0156] 运动图像解码装置1按PU生成预测图像Pred,通过将所生成的预测图像Pred与从编码数据#1解码的预测残差D(以下有时将预测残差标记为r[][])相加,生成解码图像#2,
并将所生成的解码图像#2输出至外部。
[0157] 在此,预测图像Pred的生成参照通过对编码数据#1进行解码而获得的编码参数来进行。编码参数是指为了生成预测图像Pred而参照的参数。编码参数中除了包含在画面间
预测中参照的运动矢量、在画面内预测中参照的预测模式等预测参数以外,还包含PU的尺
寸和形状、TU的尺寸和形状、以及原图像与预测图像Pred的残差数据等。以下,将编码参数
所包含的信息中除了上述残差数据以外的全部信息的集合称为边信息。
[0158] 此外,以下将作为解码的对象的图片(帧)、切片、CTU、CT、CU、以及PU、TT、TU分别称为对象图片、对象切片、对象CTU、对象CT、对象CU、对象PU、对象TT、以及对象TU。
[0159] 需要说明的是,树单元的尺寸例如为64×64像素,PU、TU的尺寸例如为64×64像素、32×32像素、16×16像素、8×8像素、4×4像素等。然而,这些尺寸仅为示例,树单元以及
PU、TU的尺寸也可以是以上所示的尺寸以外的尺寸。
[0160] <运动图像解码装置的构成>
[0161] 若再次参照图2对运动图像解码装置1的概略构成进行说明,则如下所述。图2是表示运动图像解码装置1的概略构成的功能框图。
[0162] 如图2所示,运动图像解码装置1具备:解码模块10、CT信息解码部11、PU信息解码部12、TT信息解码部13、预测图像生成部14、逆量化/逆变换部15、帧存储器16以及加法器
17、环路滤波器18、报头解码部19、CU解码部20、CU信息解码部21。TT信息解码部13进一步具
备TU解码部22。
[0163] [基本流程]
[0164] 图1是对运动图像解码装置1的概略动作进行说明的流程图。
[0165] (S1100:参数集信息解码)报头解码部19从编码数据#1对VPS、SPS、PPS等参数集信息进行解码。
[0166] (S1200:切片信息解码)报头解码部19从编码数据#1对切片报头(切片信息)进行解码。
[0167] 以下,运动图像解码装置1通过针对对象图片所包含的各CTU重复进行S1300到S5000的处理来导出各CTU的解码图像。
[0168] (S1300:CTU信息解码)CT信息解码部11从编码数据#1对树单元(CTU)进行解码。
[0169] (S1400:CT信息解码)CT信息解码部11从编码数据#1对编码树(CT)进行解码。
[0170] (S1500:CU解码)CU解码部20实施S1510、S1600、S1700,从编码数据#1对编码单元(CU)进行解码。
[0171] (S1510:CU信息解码)CU信息解码部21从编码数据#1对CU信息进行解码。
[0172] (S1600:PU信息解码)PU信息解码部12从编码数据#1对预测单元信息(PU信息PTI)进行解码。
[0173] (S1700:TT信息解码)TT信息解码部13从编码数据#1对变换树TT进行解码。
[0174] (S2000:预测图像生成)预测图像生成部14针对对象CU所包含的各PU,基于PU信息PUI生成预测图像Pred。
[0175] (S3000:逆量化/逆变换)逆量化/逆变换部15针对对象CU所包含的各TU,基于TT信息TTI执行逆量化/逆变换处理。
[0176] (S4000:解码图像生成)加法器17通过将由预测图像生成部14供给的预测图像Pred与由逆量化/逆变换部15供给的预测残差D相加来生成针对对象CU的解码图像P0。
[0177] (S5000:环路滤波)环路滤波器18对解码图像P0施加去块滤波、取样自适应滤波(SAO)等环路滤波,生成解码图像P。
[0178] [解码模块]
[0179] 以下,对各模块的概略动作进行说明。解码模块10进行从二进制对语法值进行解码的解码处理。更具体而言,解码模块10基于从供给源供给的编码数据以及语法类别对通
过CABAC等熵编码方式编码的语法值进行解码,并将解码后的语法值返回给供给源。
[0180] 在以下所示的例子中,编码数据以及语法类别的供给源是CT信息解码部11、CU解码部20(CU信息解码部21、PU信息解码部12、以及TT信息解码部13)。
[0181] [报头解码部]
[0182] 报头解码部19对从运动图像编码装置2输入的编码数据#1的VPS(video parameter set:视频参数集)、SPS、PPS、切片报头进行解码。[CT信息解码部]
[0183] CT信息解码部11使用解码模块10对从运动图像编码装置2输入的编码数据#1进行树单元层以及编码树层中的解码处理。具体而言,CT信息解码部11按照以下的步骤从编码
数据#1对CTU信息、CT信息进行解码。
[0184] 首先,CT信息解码部11使用解码模块10对CTU信息的树单元报头CTUH进行解码。接着,转移至CT的解码,对CT信息的CU分割标志SP进行解码,递归地对对象CT进行分割并解
码,直至SP不再通知进一步的分割。最后,对CTU信息的树单元脚注CTUF进行解码。
[0185] [CU解码部]
[0186] CU解码部20由CU信息解码部21、PU信息解码部12、TT信息解码部13构成,对最下层的编码树CT(即CU)的CU信息、PUI信息、TTI信息进行解码。
[0187] [CU信息解码部]
[0188] 在CU信息解码部21中,使用解码模块10对各CU的CU信息(跳过标志SKIP、CU预测方式信息PredMode、PU分割类型信息PartMode等)进行解码。
[0189] [PU信息解码部]
[0190] 在PU信息解码部12中,使用解码模块10对各PU的PU信息(合并标志(merge_flag)、合并索引(merge_idx)、估计运动矢量索引(mvp_idx)、参照图像索引(ref_idx)、帧间预测
标识符(inter_pred_flag)、以及运动矢量残差(mvd)等)进行解码。
[0191] [TT信息解码部]
[0192] TT信息解码部13使用解码模块10对各TTI(TU分割标志SP_TU(split_transform_flag)、CU残差标志CBP_TU(cbf_cb、cbf_cr、cbf_luma)等、以及TU)进行解码。
[0193] 此外,TT信息解码部13具备TU解码部22。TU解码部22在TU中包含残差的情况下,对QP更新信息(量化校正值)进行解码。需要说明的是,QP更新信息是表示与量化参数QP的预
测值即量化参数预测值qPpred的差分值的值。此外,TU解码部22对量化预测残差
(residual_coding)进行解码。
[0194] 更详细而言,如图5所示,CT信息解码部11进行以下的动作。图5是对发明的一实施方式的CT信息解码部11(CTU信息解码S1300、CT信息解码S1400)的概略动作进行说明的流
程图。
[0195] 图9是表示本发明的一实施方式的CTU信息以及CT信息的语法表的构成例的图。
[0196] (S1311)CT信息解码部11从编码数据#1对CTU信息进行解码,并对用于管理递归地分割的编码树CT的变量进行初始化。具体而言,如下式所述,将表示编码树的层的CT层(CT
深度)cqtDepth设定为0,将编码树的尺寸即CT尺寸(在此为对数CT尺寸log2CbSize)设定为
树单元的对数尺寸CtbLog2SizeY作为初始值。
[0197] cqtDepth=0
[0198] log2CbSize=CtbLog2SizeY
[0199] 需要说明的是,CT层cqtDepth在最上层设为0,并设为随着下层变深而逐一变大,但并不限于此。在上述中,通过将CT尺寸以及CTU尺寸限定为2的指数幂(4,8,16,32,64,
128,256,……等),而用以2为底的对数对这些尺寸进行处理,但并不限于此。需要说明的
是,在尺寸为4,8,16,32,64,128,256的情况下,各个2,3,4,5,6,7,8为对数值。
[0200] 以下,CT信息解码部11递归地对编码树CT(coding_quadtree)进行解码(S1400)。
[0201] CT信息解码部11对最上层(根)的编码树coding_quadtree(xCtb,yCtb,CtbLog2SizeY,0)进行解码(SYN1400)。需要说明的是,xCtb,yCtb为CTU的左上坐标,
CtbLog2SizeY为CTU的对数尺寸(例如,如果尺寸为64,128,256,则为6,7,8)。
[0202] (S1411)CT信息解码部11判定对数CT尺寸log2CbSize是否大于规定的最小CT尺寸的对数值MinCbLog2SizeY(SYN1411)。在对数CT尺寸log2CbSize大于MinCbLog2SizeY的情
况下,转移到S1421,除此以外的情况下转移到S1422。
[0203] (S1421)CT信息解码部11在判定为对数CT尺寸log2CbSize大于MinCbLog2SizeY的情况下,对SYN1421所示的语法元素即CU分割标志(split_cu_flag)进行解码。
[0204] (S1422)CT信息解码部11在除此以外的情况下(对数CT尺寸log2CbSize为MinCbLog2SizeY以下),就是说,在编码数据#1中未出现CU分割标志split_cu_flag的情况
下,省略从编码数据#1对CU分割标志split_cu_flag进行解码,而将CU分割标志split_cu_
flag导出为0。
[0205] (S1431)CT信息解码部11在CU分割标志split_cu_flag为0以外(=1)的情况下(SYN1431),实施后述的(S1441),转移到下一层并重复进行(S1411)之后的处理。就是说,在
CT层cqtDepth+1的位置(x0,y0)、(x1,y0)、(x0,y1)、(x1,y1),对对数CT尺寸log2CbSize‑1
的四个编码树CT进行解码。CT信息解码部11在下层的编码树CT中也继续进行从S1411开始
的CT信息解码S1400。
[0206] coding_quadtree(x0,y0,log2CbSize‑1,cqtDepth+1)(SYN1441A)
[0207] coding_quadtree(x1,y0,log2CbSize‑1,cqtDepth+1)(SYN1441B)
[0208] coding_quadtree(x0,y1,log2CbSize‑1,cqtDepth+1)(SYN1441C)
[0209] coding_quadtree(x1,y1,log2CbSize‑1,cqtDepth+1)(SYN1441D)
[0210] 在此,x0,y0是对象编码树的左上坐标,x1,y1是如下式所述将(x0,y0)加上对数CT尺寸(1<
[0211] x1=x0+(1<<(log2CbSize‑1))
[0212] y1=y0+(1<<(log2CbSize‑1))
[0213] 需要说明的是,<<表示左移位。1<>表示右移位。
[0214] 在除此以外的情况(CU分割标志split_cu_flag为0的情况)下,为了对编码单元CU进行解码而转移至S1500。
[0215] (S1441)将表示编码树的层的CT层cqtDepth加1,并将编码单元尺寸的对数值即对数CT尺寸log2CbSize减1(将CT尺寸设为1/2)而进行更新。
[0216] cqtDepth=cqtDepth+1
[0217] log2CbSize=log2CbSize‑1
[0218] 图6是对发明的一实施方式的CU解码部20(CU解码S1500)、CU信息解码部21(CU信息解码S1510)、PU信息解码部12(PU信息解码S1600)、TT信息解码部13(TT信息解码S1700)
的概略动作进行说明的流程图。图10是表示本发明的一实施方式的CU信息、PT信息PTI、TT
信息TTI的语法表的构成例的图。
[0219] [CU解码部]
[0220] (S1500)CU解码部20对编码单元CU(coding_unit(x0,y0,log2CbSize))进行解码(SYN1500)。在此,x0,y0是编码单元的左上坐标。编码单元的对数尺寸即log2CbSize从CT信
息解码部11通知。CU解码部20的具体处理通过以下的CU信息解码部21、PU信息解码部12、TT
信息解码部13来进行。
[0221] [CU信息解码部]
[0222] CU信息解码部21使用解码模块10对CU信息(跳过标志、CU预测方式信息PartMode、PU分割类型信息、残差根标志)进行解码。
[0223] (S1511)CU信息解码部21使用解码模块10从编码数据#1对跳过标志cu_skip_flag(图3(e)的SKIP)进行解码。
[0224] (S1512)CU信息解码部21判定跳过标志cu_skip_flag是否为0以外(=1)。在跳过标志cu_skip_flag为0以外的情况下,CU信息解码部21通知给PU信息解码部12。此外,在跳
过标志cu_skip_flag为0的情况下,(S1513)CU信息解码部21对CU预测方式信息pred_mode_
flag进行解码,进而(S1514)对PU分割类型信息PartMode(part_mode)进行解码,并通知给
PU信息解码部12。进而,(S1515)CU信息解码部21对残差根标志rqt_root_flag进行解码,
(S1516)判定残差根标志是否为0以外,在残差根标志为0的情况下结束处理,在0以外的情
况下通知给TT信息解码部13。
[0225] [PU信息解码部]
[0226] PU信息解码部12使用解码模块10进行PU信息PUI的解码处理。具体而言,PU信息解码部12按照以下的步骤对PU信息PUI进行解码。
[0227] PU信息解码部12参照预先设定的或者从CU信息解码部21通知的PU分割类型信息PartMode来确定对象CU中的PU分割类型。接着,PU信息解码部12将对象CU所包含的各PU按
顺序作为对象PU,执行与对象PU对应的PU信息的解码处理。
[0228] 即,PU信息解码部12根据与对象PU对应的PU信息,进行用于生成预测图像Pred的各参数的解码处理。
[0229] PU信息解码部12将对对象PU进行解码后的PU信息PUI供给至预测图像生成部14。
[0230] 更详细而言,如图6所示,PU信息解码部12进行以下的动作。图6是对S1600所示的PU信息解码的概略动作进行说明的流程图。
[0231] 图11是表示本发明的一实施方式的PU信息PUI的语法表的构成例的图。
[0232] (S1631)PU信息解码部12根据PU分割类型信息PartMode所示的PU分割数,从编码数据#1对对象CU所包含的各PU信息进行解码。
[0233] 例如,在PU分割类型为2N×2N的情况下,PU信息解码部12对将CU设为一个PU的下述一个PU信息PUI进行解码。
[0234] prediction_unit(x0,y0,nCbS,nCbS)(SYN1631A)
[0235] PU信息解码部12在PU分割类型为2N×N的情况下,对将CU上下分割的下述两个PU信息PUI进行解码。
[0236] prediction_unit(x0,y0,nCbS,nCbS/2)(SYN1631B)
[0237] prediction_unit(x0,y0+(nCbS/2),nCbS,nCbS/2)(SYN1631C)
[0238] PU信息解码部12在PU分割类型为N×2N的情况下,对将CU左右分割的下述两个PU信息PUI进行解码。
[0239] prediction_unit(x0,y0,nCbS/2,nCbS)(SYN1631D)
[0240] prediction_unit(x0+(nCbS/2),y0,nCbS/2,nCbS)(SYN1631E)
[0241] 在PU分割类型为N×N的情况下,对将CU四等分的下述四个PU信息PUI进行解码。
[0242] prediction_unit(x0,y0,nCbS/2,nCbS/2)(SYN1631F)
[0243] prediction_unit(x0+(nCbS/2),y0,nCbS/2,nCbS/2)(SYN1631G)
[0244] prediction_unit(x0,y0+(nCbS/2),nCbS/2,nCbS/2)(SYN1631H)
[0245] prediction_unit(x0+(nCbS/2),y0+(nCbS/2),nCbS/2,nCbS/2)(SYN1631I)
[0246] (S1632)在跳过标志为1的情况下,PU信息解码部12将PU分割类型设为2N×2N,对一个PU信息PUI进行解码。
[0247] prediction_unit(x0,y0,nCbS,nCbS)(SYN1632S)
[0248] [TT信息解码部]
[0249] 在CU信息解码部21中解码后的残差根标志rqt_root_cbf为0以外(=1)的情况下,为了对TT信息TTI进行解码而转移至S1700,实施由TT信息解码部13进行的处理。在残差根
标志rqt_root_cbf为0的情况下,省略从编码数据#1对对象CU的TT信息TTI进行解码的处
理,将TT信息TTI作为对象CU未进行TU分割且对象CU的量化预测残差为0而导出。
[0250] TT信息解码部13使用解码模块10进行TT信息TTI(TU分割信息、CU残差标志、AMT标志、以及TU)的解码处理。
[0251] [预测图像生成部]
[0252] 预测图像生成部14针对对象CU所包含的各PU,基于PU信息PUI生成预测图像Pred。具体而言,预测图像生成部14通过按照与对象PU对应的PU信息PUI所包含的参数进行帧内
预测或帧间预测,从作为已解码图像的局部解码图像P’生成预测图像Pred。预测图像生成
部14将所生成的预测图像Pred供给至加法器17。
[0253] 需要说明的是,若对预测图像生成部14基于运动补偿预测参数(运动矢量、参照图像索引、帧间预测标识符)生成对象CU所包含的PU的预测图像Pred的方法进行说明,则如下
所述。
[0254] 在帧间预测标识符表示单预测的情况下,预测图像生成部14在参照图像索引所示的参照图像中,使用运动矢量所示的位置的解码图像来生成预测图像Pred。
[0255] 另一方面,在帧间预测标识符表示双预测的情况下,预测图像生成部14针对两组参照图像索引与运动矢量的组合的每一个通过运动补偿生成预测图像并计算出平均值,或
者基于对象图片与各参照图像的显示时间间隔对各预测图像进行加权相加,由此,生成最
终的预测图像Pred。[逆量化/逆变换部]
[0256] 逆量化/逆变换部15针对对象CU所包含的各TU,基于TT信息TTI执行逆量化/逆变换处理。具体而言,逆量化/逆变换部15通过对对象TU所包含的量化变换系数qd[][]进行
逆量化以及逆正交变换来复原每个像素的预测残差D。即,逆量化/逆变换部15进行复原(逆
运算)的变换是指以能量(分散的总和)集中(即,偏向)于少数成分的方式对由多个成分构
成的信息进行映射的处理,变换的性能取决于如何使该能量集中于较少的成分。
[0257] 需要说明的是,在此,变换是指例如从像素区域向频域的正交变换。因此,逆变换是从频域向像素区域的变换。此外,作为逆变换的例子,可列举出逆DCT变换(Inverse 
Discrete Cosine Transform:逆离散余弦变换)以及逆DST变换(Inverse Discrete Sine 
Transform:逆离散正弦变换)等。逆量化/逆变换部15将复原后的预测残差D供给至加法器
17。
[0258] 逆量化/逆变换部15除了上述逆变换以外还可以使用自适应核变换(Adaptive Multiple Core Transform:AMT、自适应多核变换)(第一变换)和/或二次变换(Secondary 
Transform)(第二变换)来复原预测残差D,自适应核变换是根据帧内/帧间的预测方法以及
块尺寸、亮度/色度的信号的区别自适应地选择的变换,二次变换是在帧内预测模式中选择
的变换。该自适应核变换以及二次变换将在下文进行说明。
[0259] [加法器]
[0260] 加法器17通过将由预测图像生成部14供给的预测图像Pred与由逆量化/逆变换部15供给的预测残差D相加来生成对象CU的解码图像P0。[环路滤波器]
[0261] 环路滤波器18对对象CU的解码图像P0施加去块滤波、取样自适应偏移滤波SAO、自适应环路滤波ALF等滤波,生成解码图像P。
[0262] [帧存储器]
[0263] 在帧存储器16中,施加了环路滤波的解码图像P与用于该解码图像P的解码的参数一起被依次记录。在帧存储器16中,在对对象树单元进行解码的时间点,与比该对象树单元
更先被解码的所有树单元(例如,按照光栅扫描的顺序排列在先的所有树单元)对应的解码
图像被记录。作为记录于帧存储器16的解码参数的例子,可列举出CU预测方式信息
(PredMode)等。
[0264] 需要说明的是,在运动图像解码装置1中,针对图像内的所有树单元,在各树单元的解码图像生成处理结束的时间点,与输入至运动图像解码装置1的一帧量的编码数据#1
对应的解码图像#2被输出至外部。
[0265] (自适应核变换以及二次变换)
[0266] 图14是表示逆量化/逆变换部15的构成例的功能框图。如图14所示,量化/逆变换部15具备逆量化部151以及逆变换部152。逆量化部151对通过TT信息解码部13内的TU解码
部22解码的量化变换系数qd[][]进行逆量化,导出变换系数d[][]。逆量化部151将所导
出的变换系数d[][]发送至逆变换部152。
[0267] 逆变换部152对接收到的变换系数d[][]进行逆变换,复原预测残差r[][](在图2中也表达为D)。复原后的预测残差r[][]从逆变换部152传送至加法器17。
[0268] 逆变换部152能使用自适应核变换和二次变换。
[0269] 需要说明的是,变换与逆变换在作为变换基底的系数的值以外的处理上没有差别。在以后的说明中,关于逆变换部152中的变换处理,将使用“变换”这一术语而不是“逆变
换”。
[0270] <自适应核变换>
[0271] 在逆变换部152中,能自适应地切换变换的方法,在本说明书中,将通过明确示出的标志、索引以及预测模式等进行切换的变换称为自适应核变换。在自适应核变换中使用
的变换(核变换)是由垂直变换和水平变换构成的分离型变换。核变换的变换基底为DCT2、
DST7、DCT8、DST1、以及DCT5。在自适应核变换中,对垂直变换以及水平变换分别独立地切换
变换基底。需要说明的是,可选择的变换并不限于上述,也可以使用其它变换(变换基底)。
需要说明的是,有时将DCT2、DST7、DCT8、DST1、以及DCT5分别表示为DCT‑II、DST‑VII、DCT‑
VIII、DST‑I、以及DCT‑V。
[0272] 自适应核变换参照从编码数据解码的AMT标志(amt_flag),切换不进行基于索引的切换的固定变换和进行基于索引的切换的选择性变换。在amt_flag=0时,使用固定变
换,在amt_flag=1时,使用选择性变换。在固定变换(amt_flag=0)中,不参照AMT索引amt_
idx,而使用固定变换、在此为DCT2和DST7来进行变换。在选择性变换(amt_flag=1)中,进
一步从编码数据对用于选择的AMT索引amt_idx进行解码,并根据预测模式和AMT索引amt_
idx来对变换进行切换。需要说明的是,在本实施例中,记载了以CU单位或TU单位对AMT标志
进行解码、以TU单位对AMT索引amt_idx进行解码的例子,但解码(切换)的单位并不限于此。
[0273] AMT索引amt_idx是用于选择自适应核变换的变换基底的切换索引。AMT索引amt_idx的上位比特被分配为垂直变换的变换选择标志,amt_idx的下位比特被分配为水平变换
的变换选择,垂直变换的变换选择标志amt_trans_idx即amt_trans_idx_ver和水平变换的
变换选择标志amt_trans_idx即amt_trans_idx_hor通过下式导出。
[0274] amt_trans_idx_ver=amt_idx>>1
[0275] amt_trans_idx_hor=amt_idx&1
[0276] 将amt_trans_idx_ver和ramt_trans_idx_hor合称为amt_trans_idx。
[0277] 需要说明的是,当使用表示是垂直变换还是水平变换的标志vertTrFlag(垂直为1,水平为0)时,amt_trans_idx也可以根据下式导出。
[0278] amt_trans_idx=(vertTrFlag)?amt_trans_idx_ver:amt_trans_idx_hor
[0279] 需要说明的是,amt_trans_idx的比特中,垂直变换、水平变换的分配并不限于上述,例如也可以是下述。
[0280] amt_trans_idx_ver=amt_idx&1
[0281] amt_trans_idx_hor=amt_idx>>1
[0282] 在自适应核变换中使用的变换使用预测模式(帧内、帧间)以及变换选择标志(amt_trans_idx),从上述多个变换基底中选择。图15(a)是对变换集coreTrSet的表进行说
明的图,使用该图对选择方法进行说明。
[0283] 在帧内预测模式的情况下,从名称(Name)为TrSetIntraO、TrSetIntra1、TrSetIntra2的三个变换集中选择使用的变换。各变换集具有两个变换基底。例如
TrSetIntraO具有DST7和DCT8作为集。然后,使用变换选择标志(amt_trans_idx)来对使用
这两个变换基底中的哪一个进行切换。例如在TrSetIntraO的情况下,如果是amt_trans_
idx=0,则选择DST7,如果是amt_trans_idx=1,则选择DCT8。
[0284] 在帧间预测模式的情况下,变换集是TrSetInter的一种。TrSetInter所具有的两个变换基底与帧内预测模式的情况同样地,使用变换选择标志(amt_trans_idx)来对使用
哪一个进行切换。
[0285] 使用帧内预测模式的三个变换集(TrSetIntraO、TrSetIntra1、TrSetIntra2)中的哪一个变换集参照帧内预测模式IntraPredMode来确定。将其示于图16。图16示出了三十五
种帧内预测模式IntraPredMode的各自的水平变换以及垂直变换选择哪一个变换集。图中
的0、1、2分别表示变换集TrSetIntraO、TrSetIntra1、TrSetIntra2。例如在IntraPredMode
=10的情况下,由于图中的水平变换(Horizontal)的值为0,因此,水平变换中使用
TrSetIntraO(=0)的变换集,由于图中的垂直变换(Vertical)的值为2,因此,垂直变换中
使用TrSetIntra2(=2)的变换集。
[0286] 使用图17对上述说明的自适应核变换具体地进行说明。图17的逆变换部152是图14的逆变换部152的一个例子。图17的核变换部1521(第一变换部)由下述构成:核变换处理
导出部15211,从多个变换基底中导出使用的核变换;以及核变换处理部15212,使用所导出
的核变换来根据(修正)变换系数d[][]计算出预测残差r[][]。在未实施二次变换的情况
下,修正变换系数等于变换系数。在实施了二次变换的情况下,修正变换系数取与变换系数
不同的值。核变换处理导出部15211由下述构成:核变换集导出部152111,导出使用的变换
集的索引coreTrSetIdx;以及核变换处理设定部152112,使用coreTrSetIdx来导出使用的
核变换的索引coreTrIdx。
[0287] 对核变换集导出部152111进行说明。
[0288] 首先,将归纳了四种变换集(TrSetIntraO、TrSetIntra1、TrSetIntra2、TrSetInter)的表coreTrSet示于下述。
[0289]
[0290] 核变换集导出部152111通过下式导出下面要使用的变换集的索引coreTrSetIdx。
[0291] coreTrSetIdx=(PredMode==PRED_INTER)?TrSetInter:coreTrSetTbl[IntraPredMode][vertTrFlag]
[0292] 在此,PredMode是帧内或者帧间预测模式,coreTrSetTbl以及vertTrFlag是表示在图16中说明的表以及是水平变换还是垂直变换的标志。例如,在帧间预测(PredMode=
PRED_INTER)的情况下,为coreTrSetIdx=TrSetInter。在帧内预测(PredMode=PRED_
INTRA)且帧内预测模式IntraPredMode=10的情况下,如果是水平变换(vertTrFlag=0),
则为coreTrSetIdx=TrSetIntra0,如果是垂直变换(vertTrFlag=1),则为coreTrSetIdx
=TrSetIntra2。
[0293] 对核变换处理设定部152112进行说明。核变换处理设定部152112通过下式导出使用的核变换的索引coreTrIdx。
[0294] coreTrIdx=(amt_flag==0)?fixedTr:coreTrSet[coreTrSetIdx][amt_trans_idx]在此fixedTr表示固定变换。此外,用下述对coreTrIdx进行定义(图15(b))。
[0295] coreTrIdx={DCT2,DCT5,DCT8,DST1,DST7}
[0296] 需要说明的是,coreTrIdx可以用数值进行处理。即,DCT2、DCT5、DCT8、DST1、DST7可以使用0、1、2、3、4等。
[0297] 需要说明的是,在amt_flag==0且选择了固定变换fixedTr的情况下,变换基底的水平变换、垂直变换均为DCT2或DST7,因此,可以选择DCT2或DST7作为coreTrIdx并通过
核变换处理部15212进行处理,也可以设置未图示的固定变换专用的处理部来进行处理。在
amt_flag=1且选择了自适应变换的情况下,例如,如果coreTrStIdx=TrSetIntra0、amt_
trans_idx=0,则coreTrIdx=DST7,如果coreTrStIdx=TrSetIntra0、amt_trans_idx=1,
则coreTrIdx=DCT8。
[0298] 核变换处理部15212由下述构成:核变换矩阵导出部152121,导出核变换的索引coreTrIdx所示的变换矩阵;垂直变换部152122,对修正变换系数d[][]实施垂直变换;以
及水平变换部152123,对修正变换系数d[][]实施水平变换。核变换处理部15212首先通过
核变换矩阵导出部152121导出核变换的索引coreTrIdx所示的变换矩阵transMatrix[]
[]。
[0299] transMatrix[][]=coreTransMatrixTbl[coreTrIdx][][]
[0300] 在此,coreTransMatrixIdx是储存了图15(b)所示的变换基底的表。
[0301] 需要说明的是,也可以将垂直变换的变换矩阵transMatrix与transMatrixV、将水平变换的变换矩阵与transMatrixH进行区别。
[0302] 接着,核变换处理部15212将用于垂直/水平变换而分别导出的变换矩阵通知给垂直变换部152122和水平变换部152123,将修正变换系数d[][]变换为预测残差r[][]。垂
直变换部152122通过垂直方向一维变换将修正变换系数d[][]变换为中间值e[][],并将
中间值e[][]传送至中间值剪辑部152124。中间剪辑部152124通过对中间值e[][]进行剪
辑来导出中间值g[][],并传送至水平变换部152123。水平变换部152123将中间值g[][]
变换为预测残差r[][]。预测残差r[][]从水平变换部152123传送至加法器17。
[0303] 垂直变换部152121(核变换处理部15212)导出第一中间值e[x][y]。
[0304] e[x][y]=Σ(transMatrix[y][j]×d[x][j])(j=0..nTbS‑1)
[0305] 在此,transMatrix[][](=transMatrixV[][])是以在垂直变换(vertTrFlag=1)的情况下通过上式导出的nTbS×nTbS的矩阵表示的变换基底。nTbS是TU尺寸。在
coreTrIdx为DCT2的4×4变换(nTbS=4)的情况下,例如使用transMatrix={{29 55 74 
84}{74 74 0‑74}{84‑29‑74 55}{55‑84 74‑29}}。符号Σ是指,对直至j=0..nTbS‑1的下
标j加上矩阵transMatrix[y][j]与变换系数d[x][j]的积的处理。就是说,e[x][y]是对从
由d[x][y]的各列(column)即d[x][j](j=0..nTbS‑1)构成的矢量x[j](j=0..nTbS‑1)与
矩阵的元素transMatrix[y][j]的积获得的列进行排列而获得的。
[0306] 中间剪辑部152124(核变换处理部15212)对第一中间值e[x][y]进行剪辑,导出第二中间值g[x][y]。
[0307] g[x][y]=Clip3(coeffMin,coeffMax,(e[x][y]+64)>>7)
[0308] 上式的64、7是根据变换基底的比特深度确定的数值,在上式中将变换基底假定为7bit。此外,coeffMin、coeffMax是剪辑的最小值和最大值。
[0309] 水平变换部152123(核变换处理部15212)使用以在垂直变换(vertTrFlag=1)的情况下通过上式导出的nTbS×nTbS的矩阵表示的变换基底transMatrix[][](=
transMatrixH[][]),通过水平方向一维变换将中间值g[x][y]变换为预测残差r[x][y]。
[0310] r[x][y]=ΣtransMatrix[x][j]×g[j][y](j=0..nTbS‑1)
[0311] 上述符号Σ是指,对直至j=0..nTbS‑1的下标j加上矩阵transMatrix[x][j]与g[j][y]的积的处理。就是说,r[x][y]是对从g[x][y]的各行(row)即g[j][y](j=0..nTbS‑
1)与矩阵transMatrix的积获得的行进行排列而获得的。
[0312] 需要说明的是,作为变换的实施例,也可以使用下述所示的将一维信号x[j]变换为一维信号y[i]的方法来进行垂直变换和水平变换。在垂直变换中,将x列的变换系数d[x]
[j]设置为一维变换系数x[j]来进行变换。在水平变换中,将y行的中间系数g[j][y]设置为
x[j]来进行变换。
[0313] y[i]=Σ(transMatrix[i][j]×x[j])(j=0..nTbS‑1)
[0314] [AMT标志amt_flag的解码]
[0315] 以下,使用图7以及图12,对TT信息解码部13对用于自适应核变换的AMT标志amt_flag进行解码的处理进行说明。图7是对发明的一实施方式的TT信息解码部13(TT信息解码
S1700)的概略动作进行说明的流程图。图12是表示本发明的一实施方式的TT信息TTI的语
法表的构成例的图。
[0316] (S1731)TT信息解码部13在对象TU尺寸(例如,对数TU尺寸log2TrafoSize)为规定的变换尺寸的范围(在此为最大对数TU尺寸MaxTbLog2SizeY以下且大于最小对数TU尺寸
MinTbLog2SizeY)、且对象TU的TU层trafoDepth小于规定的层(在此为小于最大TU层
MaxTrafoDepth)的情况下,对TU分割标志(split_transform_flag)进行解码。更具体而言,
如SYN1721所示,TT信息解码部13在对数TU尺寸log2TrafoSize≤最大对数TU尺寸
MaxTbLog2SizeY、且对数TU尺寸log2TrafoSize>最小对数TU尺寸MinTbLog2SizeY、且TU层
trafoDepth<最大TU层MaxTrafoDepth的情况下(在S1721中为是),进入至S1731,对TU分割
标志(split_transform_flag)进行解码(SYN1731)。
[0317] (S1732)另一方面,在编码数据#1中未出现split_transform_flag的情况下,即,在对数TU尺寸log2TrafoSize>最大对数TU尺寸MaxTbLog2SizeY、或对数TU尺寸
log2TrafoSize≤最小对数TU尺寸MinTbLog2SizeY、或TU层trafoDepth≥最大TU层
MaxTrafoDepth的情况下(在S1721中为否),TT信息解码部13导出来自导出TU分割标志
(split_transform_flag)的编码数据#1的TU分割标志split_transform_flag。更具体而
言,在对数TU尺寸log2TrafoSize大于最大对数TU尺寸MaxTbLog2SizeY的情况下,TT信息解
码部13在未满足如SYN1721所示的条件的情况下,将TU分割标志split_transform_flag导
出为表示进行分割的值(=1),在除此以外的情况下(对数TU尺寸log2TrafoSize等于最小
对数TU尺寸MaxTbLog2SizeY、或TU层trafoDepth等于最大TU层MaxTrafoDepth),将TU分割
标志split_transform_flag导出为表示不进行分割的值(=0)。
[0318] (S1755)TT信息解码部13在TU分割标志split_transform_flag是表示进行分割的值(例如1)(在S1733中为是)、且TU层trafoDepth为0的情况下(在S1754中为是),对AMT标志
amt_flag进行解码(SYN1755)。需要说明的是,即使TU分割标志split_transform_flag是表
示进行分割的值(在S1733中为是),在TU层trafoDepth不为0的情况下(S1754中为否),TT信
息解码部13也不从编码数据对AMT标志amt_flag进行解码,而是转移至S1756。在该情况下,
直接使用通过上层的变换树TT中的AMT标志解码(S1755)解码的amt_flag。
[0319] (1756)TT信息解码部13通过下式在表示变换树的层的TU层trafoDepth+1中,在四个位置(x0,y0)、(x1,y0)、(x0,y1)、(x1,y1)递归地对对象TU尺寸即对数CT尺寸
log2CbSize‑1的变换树TT进行解码。
[0320] transform_tree(x0,y0,x0,y0,log2TrafoSize‑1,trafoDepth+1,0)
[0321] transform_tree(x1,y0,x0,y0,log2TrafoSize‑1,trafoDepth+1,1)
[0322] transform_tree(x0,y1,x0,y0,log2TrafoSize‑1,trafoDepth+1,2)
[0323] transform_tree(x1,y1,x0,y0,log2TrafoSize‑1,trafoDepth+1,3)
[0324] 在此,x0,y0为对象变换树的左上坐标,x1,y1是如下式所述将变换树坐标(x0,y0)加上对象TU尺寸(1<
[0325] x1=x0+(1<<(log2TrafoSize‑1))
[0326] y1=y0+(1<<(log2TrafoSize‑1))
[0327] 如上所述,TT信息解码部13在递归地对变换树transform_tree进行解码之前,通过下式将表示变换树TT的层的TU层trafoDepth加1,并将对象TU尺寸即对数CT尺寸
log2TrafoSize减1而进行更新。
[0328] trafoDepth=trafoDepth+1
[0329] log2TrafoSize=log2TrafoSize‑1
[0330] (S1751)另一方面,在TU分割标志split_transform_flag为0的情况下(在S1733中为否),TT信息解码部13对表示对象TU中是否包含残差的TU残差标志(例如,cbf_luma)进行
解码。在此,作为TU残差标志,使用表示对象TU的亮度成分中是否包含残差的亮度残差标志
cbf_luma,但并不限于此。
[0331] (S1753)TT信息解码部13在TU层trafoDepth为0且TU残差标志(例如,cbf_luma)为0的情况下(在S1752中为是),对AMT标志amt_flag进行解码(SYN1753)。在不是这样的情况
下(在S1752中为否),不对amt_flag进行解码,而设为amt_flag=0。需要说明的是,在TU分
割标志split_transform_flag是表示进行分割的值(在此为0以外)(在S1733中为是)、且TU
层trafoDepth不为0的情况下(在S1754中为否),TT信息解码部13不从编码数据对AMT标志
amt_flag进行解码,而是转移至S1756。此外,在不是这样的情况下(在S1757中为是),对
amt_flag进行解码。
[0332] (S1760)TT信息解码部13在TU分割标志split_transform_flag为0的情况下(在S1733中为否),对SYN1760所示的变换单元进行解码。
[0333] TU transform_unit(x0,y0,xBase,yBase,log2TrafoSize,trafoDepth,blkIdx)
[0334] 接着,使用图8以及图13对TT信息解码部13对TU信息进行解码的处理进行说明。图8是对发明的一实施方式的TT信息解码部13(TU信息解码S1760)的概略动作进行说明的流
程图。此外,图13是表示本发明的一实施方式的TU信息的语法表的构成例的图。
[0335] (S1781)TT信息解码部13判定TU中是否包含残差(TU残差标志是否为0以外)。需要说明的是,在SYN1781中,根据通过下式导出的cbfLuma||cbfChroma来判定TU中是否包含残
差,但并不限于此。就是说,作为TU残差标志,也可以使用表示对象TU的亮度成分中是否包
含残差的亮度残差标志cbf_luma。
[0336] cbfLuma=cbf_luma[x0][y0][trafoDepth]
[0337] cbfChroma=cbf_cb[xC][yC][cbfDepthC]||cbf_cr[xC][yC][cbfDepthC])
[0338] 需要说明的是,cbf_cb、cbf_cr是从编码数据#1解码的标志,表示对象TU的色差成分Cb、Cr中是否包含残差。||表示逻辑或。在此,从TU的亮度位置(x0、y0)、色差位置(xC、
yC)、TU深度trafoDepth、cfbDepthC的语法元素cbf_luma、cbf_cb、cbf_cr中导出亮度的TU
残差标志cbfLuma、色差的TU残差标志cbfChroma,将其和(逻辑或)导出为对象TU的TU残差
标志。
[0339] (S1771)TT信息解码部13在TU中包含残差的情况(TU残差标志为0以外的情况)下,在TU解码部22中对QP更新信息(量化校正值)进行解码。在此,QP更新信息是表示与量化参
数QP的预测值即量化参数预测值qPpred的差分值的值。在此,差分值从绝对值cu_qp_
delta_abs和代码cu_qp_delta_sign_flag解码而作为编码数据的语法元素,但并不限于
此。
[0340] (S1800)TT信息解码部13在TU残差标志(在此为cbfLuma)为0以外的情况下,在TU解码部22中对量化预测残差(residual_coding)进行解码。需要说明的是,TT信息解码部13
以及TU解码部22也可以按顺序对多个颜色成分进行解码而作为量化预测残差。在图示的例
子中,TT信息解码部13在TU残差标志(在此为cbfLuma)为0以外的情况下,对亮度量化预测
残差(第一颜色成分)residual_coding(x0,y0,log2TrafoSize,0)进行解码,在第二颜色成
分残差标志cbf_cb为0以外的情况下,对residual_coding(x0,y0,log2TrafoSize,0)进行
解码,在第二颜色成分残差标志cbf_cr为0以外的情况下,对第三颜色成分量化预测残差
residual_coding(x0,y0,log2TrafoSizeC,2)进行解码。
[0341] (S1811)在AMT标志amt_flag为0以外且非零系数的数numCoeff大于coreSIGNUM的情况下(在S1810中为是),TT信息解码部13对AMT索引amt_idx进行解码。
[0342] (S1812)在除此以外(AMT标志amt_flag为0或非零系数的数numCoeff为coreSIGNUM以下)的情况下(在S1810中为否),TT信息解码部13不从编码数据对AMT索引
amt_idx进行解码,而是输出为amt_idx=0。
[0343] <二次变换>
[0344] 在逆变换部152中,除了上述说明的自适应核变换以外,还可以使用二次变换。
[0345] 就二次变换而言,在运动图像解码装置1中,在接着逆量化而进行的逆变换中按照二次变换、自适应核变换的顺序来进行(需要说明的是,在运动图像编码装置2中,在变换中
按照自适应核变换、二次变换的顺序来进行,并对其结果进行量化)。
[0346] 在此,使用图18对除了核变换以外还能进行二次变换的逆变换部152的构成进行说明。图18是表示逆变换部152的构成例的功能框图。如图所示,逆变换部152具备核变换部
1521(第一变换部)以及二次变换部1522(第二变换部)。二次变换部1522从TT信息解码部13
接收表示进行二次变换的信息,并通过对从逆量化部151接收到的变换系数d[][]进行二
次变换来复原修正变换系数d[][]。复原后的修正变换系数d[][]从二次变换部1522发送
至核变换部1521。如果在未进行二次变换的情况下,则二次变换部1522所接收到的变换系
数d[][]被直接从二次变换部1522发送至核变换部1521。
[0347] 此外,表示二次变换的开关、二次变换的种类的信息可以是sec_idx等索引。此外,也可以不以一个索引sec_idx来表达表示二次变换的开关、二次变换的种类的信息,而是分
为两个语法。例如,当分割为表示二次变换的有无的语法sec_flag和表示二次变换的种类
的语法sec_trans_idx时,彼此具有以下关系。
[0348] sec_flag=sec_idx!=0
[0349] sec_trans_idx=sec_idx‑1
[0350] sec_idx=(sec_flag)?sec_trans_idx+1:0
[0351] 例如,作为二次变换处理,在不使用二次变换(二次变换关闭)的情况下和选择名称(Name)为二次变换1~3的三个二次变换的变换的情况下,关于二次变换的索引即sec_
idx能取得0~3的共计四个值。即,
[0352] 在sec_idx=0(即,sec_flag=0)的情况下,二次变换部1522不进行二次变换处理,
[0353] 在sec_idx=1(即,sec_flag=1、sec_trans_idx=0)的情况下,二次变换部1522进行二次变换1(例如,用于水平方向的变换),
[0354] 在sec_idx=2(即,sec_flag=1、sec_trans_idx=1)的情况下,二次变换部1522进行二次变换2(例如,用于垂直方向的变换),
[0355] 在sec_idx=3(即,sec_flag=1、sec_trans_idx=2)的情况下,二次变换部1522进行二次变换3(例如,用于水平且垂直方向的变换)。
[0356] 需要说明的是,sec_idx的值的范围并不限定于上述。例如,代替在上述中0~3的四个阶段,也可以设为0至M‑1的M个阶段,M可以是1、2、3、4等值。
[0357] 核变换部1521接收由二次变换部1522复原的变换系数d[][],进行自适应核变换,导出预测误差r[][]。预测残差r[][]从核变换部1521传送至加法器17。
[0358] 二次变换针对nTbS×nTbS尺寸的TU(变换系数d[][])按4×4子块执行。二次变换仅在帧内CU中应用,变换基底参照帧内预测模式来确定。变换基底的选择将在后文叙述。
[0359] 二次变换具有:分离型变换(Rotational Transform:ROT、旋转变换),将子块的变换分为1×4垂直变换和4×1水平变换这两个阶段来进行;以及非分离型二次变换(Non‑
separable secondary transform:NSST、不可分二次变换),将子块的变换作为一维的16×
1矢量变换而一次性进行。
[0360] [分离型变换(ROT)]
[0361] 接着,使用图20对分离型变换(ROT)进行说明。图20是表示图18的二次变换部1522进行分离型变换的情况的二次变换部1522的构成例的图。
[0362] 二次变换部1522具备二次变换处理导出部15221以及二次变换处理部15222。二次变换处理导出部15221进一步具备二次变换处理设定部152211。另一方面,二次变换处理部
15222具备二次变换矩阵导出部152221、子集导出部152222、子集变换处理部152223、以及
子集储存部152224。
[0363] 二次变换处理设定部152211从TT信息解码部13接收索引(sec_idx)。此外,二次变换处理设定部152211基于标志verTrFlag从sec_iex导出表示是否进行垂直变换以及水平
变换的变换处理的索引secTrIdx,并将索引secTrIdx(垂直方向二次变换处理索引
secTrIdxV,水平方向二次变换处理索引secTrIdxH)传送至二次变换矩阵导出部152221。
[0364] secTrIdxH=secTrSet[sec_trans_idx_hor]
[0365] secTrIdxV=secTrSet[sec_trans_idx_ver]
[0366] 在此,sec_trans_idx_ver=sec_idx>>1,sec_trans_idx_hor=sec_idx&1。
[0367] 二次变换矩阵导出部152221从接收到的表示二次变换处理的参数secTrIdxV,secTrIdxH导出实际的变换(子集变换处理)所需的用于垂直变换的矩阵transMatrixV[]
[]以及用于水平变换的矩阵transMatrixH[][]。
[0368] transMatrixV[][]=secTransMatrix[secTrIdxV][][]
[0369] transMatrixH[][]=secTransMatrix[secTrIdxH][][]
[0370] 二次变换矩阵导出部152221将所导出的矩阵传送至子集变换处理部152223。
[0371] 二次变换处理部15222按顺序抽出从逆量化部151接收的nTbS×nTbS的变换系数d[][]的一部分,导出子块(4×4的矩阵)(子集导出部152222),以所导出的单位对子块进行
变换(子集变换处理部152223),将变换后的子块再次重构为nTbS×nTbS的修正变换系数d
[][](子集储存部152224),并输出至核变换部1521。
[0372] 以下,按顺序设定子块坐标(xS,yS),通过环路处理对各子块进行处理。子块环路为xS=0..nTbS/4‑1,yS=0..nTbS/4‑1。
[0373] 子集导出部152222从nTbS×nTbS的变换系数d[][]抽出坐标(xS<<2,yS<<<2)的位置的4×4子块e[][]。
[0374] e[i][j]=d[xx][yy],xx=(xS<<2)+i,yy=(yS<<2)+j(i=0..3,j=0..3)
[0375] 在此,i,j为子块上的位置,xx,yy为nTbS×nTbS的变换系数d[][]上的位置。
[0376] 子集变换处理部152223对子块e[][]进行参数secTrIdxV,secTrIdxH所示的二次变换处理。子集变换处理部152223在垂直子集变换(垂直的二次变换)中,将子集e[][]变
换为临时变量x[][],另一方面,在水平子集变换(水平的二次变换)中,将临时变量x[j]
[y]变换为g[i][y]。
[0377] x[x][i]=Σ(transMatrixV[i][j]×e[x][j])(j=0..3)
[0378] g[i][y]=Σ(transMatrixH[i][j]×x[j][y])(j=0..3)
[0379] 子集储存部152224将g[i][j]储存为修正变换系数d[xx][yy],并将该变换系数(修正变换系数d[][])传送至核变换部1521。
[0380] d[xx][yy]=g[i][j],xx=xS+i,yy=yS+j(i=0..3,j=0..3)[非分离型变换(NSST)]
[0381] 接着,使用图19对非分离型二次变换(NSST)进行说明。图19是表示图18的二次变换部1522进行非分离型变换的情况的二次变换部1522的构成例的图。
[0382] 二次变换部1522具备二次变换处理导出部15221以及二次变换处理部15222。二次变换处理导出部15221进一步具备二次变换集导出部152212以及二次变换处理设定部
152211。另一方面,二次变换处理部15222具备二次变换矩阵导出部152221、子集导出部
152222、子集变换处理部152223、以及子集储存部152224。
[0383] 二次变换集导出部152212参照二次变换集表secTrSetIdxTbl导出与图54(a)所示的帧内预测模式IntraPredMode对应的二次变换集索引secTrSetIdx,并传送至二次变换处
理设定部152211。
[0384] secTrSetIdx=secTrSetIdxTbl[IntraPredMode]
[0385] 二次变换处理设定部152211基于sec_idx从图54(a)所示的二次变换集索引secTrSetIdx和图54(b)所示的二次变换集表SecTrSet导出表示二次变换的方法的索引
secTrIdx。
[0386] secTrIdx=secTrSet[secTrSetIdx][sec_idx]
[0387] 在此,sec_idx=0表示二次变换关闭。二次变换处理设定部152211将所导出的secTrIdx传送至二次变换矩阵导出部152221。
[0388] 二次变换矩阵导出部152221从接收到的表示二次变换处理的参数secTrIdx导出实际的变换(子集变换处理)所需的矩阵transMatrix[][]。
[0389] transMatrix[][]=secTransMatrixTbl[secTrIdx][][]
[0390] 二次变换矩阵导出部152221将所导出的变换矩阵传送至子集变换处理部152223。
[0391] 二次变换处理以构成TU的4×4子块单位进行子集变换。具体而言,由从块导出子块的处理(子集导出部152222)、对子块进行变换的处理(子集变换处理部152223)、将子块
储存于块的处理(子集储存部152224)这三个处理构成。
[0392] 以下,按顺序设定子块坐标(xS,yS),通过环路处理对各子集进行处理。子块环路为xS=0..nTbS/4‑1,yS=0..nTbS/4‑1。
[0393] 子集导出部152222从自逆量化部151接收的nTbS×nTbS的变换系数d[][]导出将坐标(xS<<2,yS<<2)的位置的4×4块重排为一维阵列的子块e[j]。
[0394] e[j]=d[xx][yy],xx=(xS<<2)+j%4,yy=(yS<<2)+j/4(j=0..15)
[0395] 子集变换处理部152223在此为非分离型,因此,对16×1矢量e[j]的子块进行变换(子集变换),导出g[i](i=0..15)。
[0396] g[i]=Σ(transMatrix[i][j]×x[j])(j=0..15)
[0397] 子集储存部152224将g[i]储存为变换系数d[xx][yy],并将该修正变换系数d[][]传送至核变换部1521。
[0398] d[xx][yy]=y[i],xx=(xS<<2)+i%4,yy=(yS<<2)+i/4(i=0..15)[与二次变换有关的标志sec_idx的解码]
[0399] 图21是表示本发明的一实施方式的CU信息、PT信息PTI、TT信息TTI的语法表的构成例的图。首先,如图21所示,CU信息解码部21使用解码模块10对CU信息(跳过标志cu_
skip_flag、CU预测方式信息PredMode、PU分割类型信息part_mode、残差根标志rqt_root_
cbf)进行解码。接着,PU信息解码部12使用解码模块10进行PU信息PUI的解码处理。
[0400] 在残差根标志rqt_root_cbf为0以外(=1)的情况下,TT信息解码部13对变换树transform_tree进行解码(SYN1700)。
[0401] transform_tree(x0,y0,x0,y0,log2CbSize,0,0)
[0402] 此时,TT信息解码部13可以通过下式导出用于变换树transform_tree的解码的最大TU层MaxTrafoDepth。
[0403] MaxTrafoDepth=CuPredMode[x0][y0]==MODE_INTRA?
[0404] (max_transform_hierarchy_depth_intra+intraSplitFlag):max_transform_hierarchy_depth_inter)
[0405] 接着,TT信息解码部13在标志cbf_cu为0以外且预测模式为帧内预测模式的情况下,对索引sec_idx进行解码。
[0406] if(cbf_cu&&PredMode==PRED_INTRA)
[0407] sec_idx[x0][y0][trafoDepth]
[0408] 接着,TT信息解码部13在残差根标志rqt_root_cbf为0以外(=1)的情况下,TT信息解码部13对变换树transform_tree进行解码之后,在标志cbf_cu为0以外且预测模式为
帧内预测模式的情况下,对索引sec_idx进行解码,使用图22对在此之前的处理进行说明。
图22是对发明的一实施方式的TT信息解码部13(TT信息解码S1700)的概略动作进行说明的
流程图。需要说明的是,为了便于说明,对进行与已经说明的处理同样的处理的工序以及表
示同样的处理的语法标注相同的符号,并省略其说明。
[0409] (S1731)TT信息解码部13在对象TU尺寸(例如,对数TU尺寸log2TrafoSize)为规定的变换尺寸的范围(在此为最大对数TU尺寸MaxTbLog2SizeY以下且大于最小对数TU尺寸
MinTbLog2SizeY)、且对象TU的TU层trafoDepth小于规定的层(在此为小于最大TU层
MaxTrafoDepth)的情况下,对TU分割标志(split_transform_flag)进行解码。更具体而言,
在图22的S1721中为是的情况下,进入至S1731,对TU分割标志(split_transform_flag)进
行解码(SYN1731)。需要说明的是,TT信息解码部13在IntraSplitFlag==1(N×N)且TU层
trafoDepth为0的情况下,也可以不对TU分割标志split_transform_flag进行解码。
[0410] (S1732)另一方面,在编码数据#1中未出现split_transform_flag的情况下,即,在S1721中为否的情况)下,TT信息解码部13导出TU分割标志split_transform_flag。更具
体而言,在对数TU尺寸log2TrafoSize大于最大对数TU尺寸MaxTbLog2SizeY的情况下,TT信
息解码部13将TU分割标志split_transform_flag导出为表示进行分割的值(=1),在除此
以外的情况下(对数TU尺寸log2TrafoSize为最小对数TU尺寸MaxTbLog2SizeY以下、或TU层
trafoDepth为最大TU层MaxTrafoDepth以上),将TU分割标志split_transform_flag导出为
表示不进行分割的值(=0)。
[0411] (S1755)TT信息解码部13在TU分割标志split_transform_flag是表示进行分割的值(例如1)的情况下(在S1733中为是),对对数CT尺寸log2CbSize‑1、TU层trafoDepth+1的
位置(x0,y0)、(x1,y0)、(x0,y1)、(x1,y1)这四个下层的变换树TT进行解码,并返回至
S1721。
[0412] transform_tree(x0,y0,x0,y0,log2TrafoSize‑1,trafoDepth+1,0)
[0413] transform_tree(x1,y0,x0,y0,log2TrafoSize‑1,trafoDepth+1,1)
[0414] transform_tree(x0,y1,x0,y0,log2TrafoSize‑1,trafoDepth+1,2)
[0415] transform_tree(x1,y1,x0,y0,log2TrafoSize‑1,trafoDepth+1,3)
[0416] 在此,x0,y0为对象变换树的左上坐标,x1,y1是如下式所述将变换树坐标(x0,y0)加上对象TU尺寸(1<
[0417] x1=x0+(1<<(log2TrafoSize‑1))
[0418] y1=y0+(1<<(log2TrafoSize‑1))
[0419] 进而,在TU层trafoDepth=0且对象的变换树为帧内预测模式时,对sec_idx进行解码。在不是这样的情况下,不对sec_idx进行解码,而是设置为0。
[0420] 如上所述,TT信息解码部13在递归地对变换树transform_tree进行解码之前,通过下式将表示变换树TT的层的TU层trafoDepth加1,并将对象TU尺寸即对数CT尺寸
log2TrafoSize减1而进行更新。
[0421] trafoDepth=trafoDepth+1
[0422] log2TrafoSize=log2TrafoSize‑1
[0423] (S1751)另一方面,在TU分割标志split_transform_flag不为0的情况下(在S1733中为否),TT信息解码部13对表示对象TU中是否包含残差的TU残差标志(例如,cbf_luma)进
行解码。在此,作为TU残差标志,使用表示对象TU的亮度成分中是否包含残差的亮度残差标
志cbf_luma,但并不限于此。
[0424] (S1760)接着,TT信息解码部13在TU分割标志split_transform_flag为0的情况下,对SYN1760所示的变换单元TUtransform_unit(x0,y0,xBase,yBase,log2TrafoSize,
trafoDepth,blkIdx)进行解码。
[0425] (S1761)TT信息解码部13在TU残差标志cbf_luma的和为0且预测模式为帧内预测模式的情况下,对与二次变换有关的索引sec_idx进行解码。
[0426] 需要说明的是,在上述的例子中,对以CU级别对与二次变换有关的索引sec_idx进行解码的情况进行了说明,但并不限定于此。例如,也可以以TT级别对sec_idx进行解码。对
于这种变形例,以下使用图23以及图24进行说明。
[0427] 如图23所示,也可以以TT级别对TT信息解码部13对与二次变换有关的索引sec_idx进行解码的处理(图21的最后两行)进行处理。图23是对发明的一实施方式的TT信息解
码部13(TT信息解码S1700)的概略动作进行说明的流程图。此外,图24是表示本发明的一实
施方式的TT信息TTI的语法表的构成例的图。
[0428] (S1755a)TT信息解码部13在TU分割标志split_transform_flag是表示进行分割的值(例如1)(在S1733中为是)、且TU层trafoDepth为0、且预测模式为帧内预测模式的情况
下(在S1754a中为是),对与二次变换有关的索引sec_idx进行解码(SYN1755a)。即使在除此
以外的情况下(在S1754a中为否),也导出为sec_idx=0,并转移至S1756。
[0429] (1756)TT信息解码部13对对数CT尺寸log2CbSize‑1、TU层trafoDepth+1的位置(x0,y0)、(x1,y0)、(x0,y1)、(x1,y1)这四个下层的变换树TT进行解码。
[0430] (S1751)另一方面,在TU分割标志split_transform_flag为0的情况下(在S1733中为否),TT信息解码部13对TU残差标志(例如,cbf_luma)进行解码。在此,作为TU残差标志,
使用表示对象TU的亮度成分中是否包含残差的亮度残差标志cbf_luma,但并不限于此。
[0431] (S1753a)TT信息解码部13在TU层trafoDepth为0、且TU残差标志(例如,cbf_luma)不为0、且预测模式为帧内预测模式的情况下(在S1752a中为是),对与二次变换有关的索引
sec_idx进行解码(SYN1753a)。在除此以外的情况下(在S1752a中为否),TT信息解码部13不
从编码数据对与二次变换有关的索引sec_idx进行解码,而是导出为sec_idx=0,并转移至
S1760。
[0432] (S1760)TT信息解码部13在TU分割标志split_transform_flag为0的情况下,对SYN1760所示的变换单元TU进行解码。
[0433] transform_unit(x0,y0,xBase,yBase,log2TrafoSize,trafoDepth,blkIdx)
[0434] 接着,使用图25以及图26对以TU级别对sec_idx进行解码的变形例进行说明。图25是对发明的一实施方式的TU解码部22(TU信息解码S1760)的概略动作进行说明的流程图。
此外,图26(a)是表示本发明的一实施方式的TU信息的语法表的构成例的图,图26(b)是与
amt_idx、sec_idx的解码部分有关的伪代码描述。
[0435] (S1781)TU解码部22判定TU中是否包含残差(TU残差标志是否为0以外)。需要说明的是,作为TU残差标志,也可以使用表示对象TU的亮度成分中是否包含残差的亮度残差标
志cbf_luma。
[0436] (S1771)TU解码部22在TU中包含残差的情况(TU残差标志为0以外的情况)下,对QP更新信息(量化校正值)进行解码。在此,QP更新信息是表示与量化参数QP的预测值即量化
参数预测值qPpred的差分值的值。在此,差分值从绝对值cu_qp_delta_abs和代码cu_qp_
delta_sign_flag解码而作为编码数据的语法元素,但并不限于此。
[0437] (S1800)TU解码部22在TU残差标志(在此为cbfLuma)为0以外的情况下,对量化预测残差(residual_coding)进行解码。需要说明的是,TT信息解码部13也可以按顺序对多个
颜色成分进行解码而作为量化预测残差。
[0438] (S1811a)在预测模式为帧内预测模式且非零系数的数numCoeff大于secSIGNUM的情况下(在S1810a中为是),TT信息解码部13对与二次变换有关的索引sec_idx进行解码
(SYN1811a)。
[0439] (S1812a)除此以外(在预测模式不为帧内预测模式、或者非零系数的数numCoeff为secSIGNUM以下的情况下)(在S1810中为否),TT信息解码部13不从编码数据对用于二次
变换的索引sec_idx进行解码,而是导出为sec_idx=0。
[0440] TU解码部22在AMT索引amt_flag为0以外且非零系数的数numCoeff大于coreSIGNUM的情况下,对AMT索引amt_idx进行解码(SYN1812a)。在除此以外的情况下(AMT
索引amt_flag为0、或者非零系数的数numCoeff为coreSIGNUM以下),不从编码数据对AMT索
引amt_idx进行解码,而是导出为amt_idx=0。
[0441]
[0442] 接着,使用图51对导出在自适应核变换中使用的AMT索引amt_idx的例子进行说明。
[0443] 如图51(a)所示,AMT索引amt_idx可以对8×8CU(trafoDepth=0)分配一个(例如,AMT索引amt_idx=3)。或者,如图51(b)所示,也可以对8×8CU所包含的各4×4TU分配AMT索
引amt_idx。或者,如图51(c)所示,也可以对16×16CU所包含的四个8×8TU中的若干个(在
图示中为三个)逐一分配AMT索引amt_idx,也可以对剩余的8×8TU(在图示中为右上的一
个)所包含的各4×4TU逐一分配索引amt_idx。如此,可以按CU逐一分配AMT索引amt_idx(例
如,AMT索引amt_idx=0~3),也可以按TU逐一分配。
[0444] 接着,使用图52以及图53对导出与二次变换有关的索引sec_idx的例子进行说明。图52是表示按CU导出与二次变换有关的索引sec_idx的例子的图,图53是表示按TU导出与
二次变换有关的索引sec_idx的例子的图。
[0445] 图52的CU级别中的sec_idx可以对(a)8×8CU(trafoDepth=0)、(b)4×4TU(即,trafoDepth=1)、(c)16×16CU所包含的8×8TU以及4×4TU分配1个(例如,与二次变换有关
的索引sec_idx=0~1)。
[0446] 此外,如图53所示,TU级别中的与二次变换有关的索引sec_idx可以对8×8TU(trafoDepth=0)、4×4TU(trafoDepth=1)、16×16CU所包含的8×8TU(trafoDepth=1)以
及4×4TU(trafoDepth=2)分别逐一分配(例如,与二次变换有关的索引sec_idx=0~3)。
[0447] (可执行二次变换以及核变换的运动图像解码装置中的TT信息解码部以及逆变换部的构成)
[0448] 使用图27对TT信息解码部13以及逆变换部152的构成进行说明。图27是表示TT信息解码部13以及逆变换部152的构成的一个例子的功能框图。TT信息解码部13具备sec_idx
解码部131、amt_flag解码部132、以及amt_idx解码部133,并进行TT信息解码和TU信息解
码。逆变换部152具备二次变换部1522以及核变换部1521。
[0449] 当TT信息解码部13从CU信息解码部21接收编码数据时,sec_idx解码部131对sec_idx进行解码,并将解码后的sec_idx传送至二次变换部1522。
[0450] amt_flag解码部132对AMT标志amt_flag进行解码,并将解码后的AMT标志amt_flag传送至AMT索引amt_idx解码部133以及核变换部1521。
[0451] amt_idx解码部133根据接收到的AMT标志amt_flag对AMT索引amt_idx进行解码,并将解码后的AMT索引amt_idx传送至核变换部1521。
[0452] 二次变换部1522根据sec_idx的值,选择并执行是否对变换系数d[][]进行二次变换、以及在进行二次变换的情况下进行哪一个二次变换。另一方面,核变换部1521从二次
变换部1522接收变换系数d[][],并进行与AMT标志amt_flag以及AMT索引amt_idx的值对
应的变换处理。
[0453] 在此,sec_idx解码部131可以以TU级别对sec_idx进行解码,或者也可以以TT级别对sec_idx进行解码。因此,可以具有如下构成:(1)sec idx解码部131和amt_flag解码部
132以TT级别进行解码、amt_idx解码部133以TU级别进行解码;以及(2)amt_flag解码部132
以TT级别进行解码、sec_idx解码部131和amt_idx解码部133以TU级别进行解码。TT信息解
码部13可以是该(1)以及(2)中的任一个构成。
[0454] 具备二次变换部1522和核变换部1521的逆变换部152能进行二次变换和核变换双方,进行预测残差的复原。然而,例如在对4×4TU级别等小TU尺寸的预测残差进行复原的情
况下,进行二次变换和核变换双方会造成处理量以及所使用的标志的浪费。其原因在于,在
以4×4TU级别等小TU为对象的变换处理的情况下,只要进行二次变换和核变换中的任一
方,就能充分地使能量充分集中。
[0455] 以下,对为了避免进行二次变换和核变换双方的浪费的产生而有效的构成进行说明。
[0456] 〔实施方式2〕
[0457] (根据TU的尺寸而不进行自适应核变换以及二次变换中的任一方的构成)
[0458] 逆量化/逆变换部15(即,运动图像解码装置1)具备:核变换部1521,构成为能对TU应用自适应核变换(第一变换);以及二次变换部1522,构成为能在自适应核变换之前对TU
所包含的子块中至少任一个子块应用二次变换(第二变换),可以根据与自适应核变换有关
的AMT标志amt_flag(第一标志)以及与二次变换有关的标志sec_idx(第二标志)中的至少
任一个或CTU的尺寸,省略由核变换部1521或二次变换部中的任一个进行的变换。
[0459] 逆量化/逆变换部15应用自适应核变换以及二次变换中的至少任一方来对预测残差D进行复原。逆量化/逆变换部15可以构成为:在TU的尺寸大于规定尺寸(例如,8×8、16×
16、32×32、64×64、……)的情况下进行自适应核变换和二次变换双方,但在TU的尺寸为规
定尺寸以下(例如,4×4)的情况下,仅进行自适应核变换以及二次变换中的任一方。
[0460] (根据二次变换处理的有无来确定执行/不执行自适应核变换的构成1)
[0461] 逆量化/逆变换部15可以构成为如下。在二次变换处理部15222中,在对TU进行二次变换的情况下(sec_idx!=0)、且TU的尺寸为规定尺寸以下(例如,4×4)的情况下,不进
行核变换。反之,在条件XS=与二次变换有关的索引sec_idx为0(即,不进行二次变换,sec_
flag=0)、或TU的对数TU尺寸大于规定尺寸(log2TrafoSize!=2)的情况下,进行核变换。
当以伪代码表示时,则如下所述。
[0462] if((sec_idx==0||log2TrafoSize!=2))
[0463] 自适应核变换(核变换处理部15212的处理)
[0464] 需要说明的是,在变换尺寸的最小尺寸为4×4的情况下,对数变换尺寸的最小值为2,因此,log2TrafoSize!=2的算式表示TU尺寸(变换尺寸)为最小尺寸以外(就是说,大
于最小尺寸)。
[0465] 以下,大于规定尺寸的条件Z不取决于log2TrafoSize!=2。例如,可以使用
[0466] log2TrafoSize>TH。例如TH=2,3。
[0467] 此外,大于规定尺寸的条件Z进一步可以在TU的宽度和高度的2的对数分别为log2TrafoW、log2TrafoH的情况下,使用以下的条件Z1、条件Z2、条件Z3中的任一个。
[0468] Z1:log2TrafoW+log2TrafoH!=TH
[0469] Z2:log2TrafoW+log2TrafoH>TH
[0470] Z3:max(log2TrafoW,log2TrafoH)>TH
[0471] 在此,例如TH=3,4。
[0472] 在TU的宽度和高度为TbW,TbH的情况下,可以以使用与上述条件Z1、Z2、Z3同等的以下条件Z1'、Z2'、Z3'的方式来表达。
[0473] Z1':TbW+TbH!=TH
[0474] Z2':TbW+TbH>TH
[0475] Z3':max(TbW,TbH)>TH
[0476] 在此,例如TH=8,12,16。
[0477] 或者,TT信息解码部13也可以构成为如下。也可以是如下构成:在逆量化/逆变换部15中,在对TU进行二次变换的情况下,省略TT信息解码部13中的AMT索引amt_idx的解码,
以便不进行TU尺寸为规定尺寸以下(例如,4×4)的情况下的自适应核变换。
[0478] 使用图28对这样构成的TT信息解码部13以及逆变换部152的构成进行说明。图28是表示TT信息解码部13以及逆变换部152的构成的一个例子的功能框图。与图27同样地,TT
信息解码部13具备sec_idx解码部131、amt_flag解码部132、以及amt_idx解码部133,逆变
换部152具备二次变换部1522以及核变换部1521。
[0479] 当TT信息解码部13从CU信息解码部21接收编码数据时,sec_idx解码部131对sec_idx进行解码,并将解码后的sec_idx传送至amt_idx解码部133、二次变换部1522、以及核变
换部1521。amt_flag解码部132对AMT标志amt_flag进行解码,并将解码后的AMT标志amt_
flag传送至amt_idx解码部133以及核变换部1521。amt_idx解码部133根据接收到的sec_
idx和AMT标志amt_flag来确定是否对AMT索引amt_idx进行解码。
[0480] 例如,amt_idx解码部133在接收到的sec_idx表示在二次变换部1522中进行二次变换、且TU尺寸小于规定尺寸TH的情况下,或者在amt_flag=0的情况下,不从编码数据对
AMT索引amt_idx进行解码,而是导出为amt_idx=0,并传送至核变换部1521。在该情况下,
核变换部1521接收amt_idx=0,据此不进行核变换处理。
[0481] 另一方面,在上述以外的情况下,对AMT索引amt_idx进行解码,并传送至核变换部1521。需要说明的是,由sec_idx解码部131进行的sec_idx的解码和由amt_flag解码部132
进行的AMT标志amt_flag的解码也可以以TT级别来进行。或者,由sec_idx解码部131进行的
sec_idx的解码也可以以TU级别来进行。
[0482] 图29是表示以TT级别进行本发明的一实施方式的sec_idx以及amt_flag的解码时的TT信息TTI的语法表的构成例的图,图30是表示以TU级别对amt_idx进行解码的本发明的
一实施方式的TU信息TUI的语法表的构成例的图。需要说明的是,为了便于说明,对表示与
已经说明的语法(例如,图12以及图13)相同的处理的语法标注相同的符号,并省略其说明。
[0483] TT信息解码部13在TU分割标志split_transform_flag是表示进行分割的值(例如1)(相当于在图23的S1733中为是)、且TU层trafoDepth为0、且预测模式为帧内预测模式的
情况下(相当于在图23的S1754a中为是),可以对与二次变换有关的索引sec_idx进行解码
(SYN1755c)。
[0484] if(trafoDepth==0&&PredMode==PRED_INTRA)
[0485] sec_idx[x0][y0][trafoDepth]
[0486] 而且,如果TU层trafoDepth为0,则也可以对AMT标志amt_flag进行解码(SYN1753b)。
[0487] if(trafoDepth==0)
[0488] amt_flag[x0][y0][trafoDepth]
[0489] 另一方面,在TU分割标志split_transform_flag为0的情况下,TT信息解码部13对TU残差标志(例如,cbf_luma)进行解码。此外,TT信息解码部13在TU标志(在此为cbfLuma)
不为0、TU层trafoDepth为0、且预测模式为帧内预测模式的情况下,也可以对与二次变换有
关的索引sec_idx进行解码(SYN1753b)。
[0490] if(cbf_luma[x0][y0][trafoDepth]&&trafoDepth==0&&PredMode==PRED_INTRA)
[0491] sec_idx[x0][y0][trafoDepth]
[0492] 而且,如果TU残差标志(在此为cbfLuma)不为0且TU层trafoDepth为0,则TT信息解码部13对AMT标志amt_flag进行解码(SYN1753c),并对SYN1760所示的变换单元TU进行解
码。
[0493] if(cbf_luma[x0][y0][trafoDepth]&&trafoDepth==0)
[0494] amt_flag[x0][y0][trafoDepth]
[0495] transform_unit(x0,y0,xBase,yBase,log2TrafoSize,trafoDepth,blkIdx)
[0496] 接着,使用图30对TT信息解码部13对TU信息进行解码的处理(图29的S1760)进行说明。图30(a)是表示本发明的一实施方式的TU信息的语法表的构成例的图,图30(b)是
amt_idx解码部分的伪代码描述。
[0497] TU解码部22判定TU中是否包含残差,在TU中包含残差的情况(TU残差标志为0以外的情况下,对QP更新信息(量化校正值)进行解码(SYN1781)。
[0498] TU解码部22在TU残差标志(在此为cbfLuma)为0以外的情况下,对量化预测残差(residual_coding)进行解码。需要说明的是,TT信息解码部13也可以按顺序对多个颜色成
分进行解码而作为量化预测残差。
[0499] TT信息解码部13在TU的尺寸为规定尺寸(在此为log2TrafoSize=2)、且二次变换索引sec_idx为0以外(即,进行二次变换的情况)时,也可以省略与自适应核变换有关的信
息、在此为AMT索引amt_idx的解码。
[0500] 更具体而言,进一步增加条件,在条件A(=AMT标志amt_flag为0以外)、且条件B(=非零系数的数numCoeff大于coreSIGNUM)、且条件XS(=与二次变换有关的索引sec_idx
为0(不进行二次变换)、或TU的对数TU尺寸大于log2TrafoSize=2))的情况下,amt_idx解
码部133也可以对AMT索引amt_idx进行解码(SYN1811)。
[0501] 除此以外(不满足条件A(=AMT标志amt_flag为0)、或条件B(=非零系数的数numCoeff为coreSIGNUM以下、或不满足条件XS(=变换块的对数TU尺寸log2TrafoSize为
2)、且不满足条件XS(=与二次变换有关的索引sec_idx不为0(即,进行二次变换))的情况
下),amt_idx解码部133不对AMT索引amt_idx进行解码(SYN1812)。
[0502] 如果这样构成,则逆量化/逆变换部15能对4×4TU等小变换块应用自适应核变换以及二次变换中的至少任一方,而无浪费且有效地对预测残差r[][]进行复原。此外,在TU
的尺寸为规定尺寸(在此为log2TrafoSize=2)且进行二次变换时,不对用于核变换的信息
amt_idx进行解码,因此,不会白白地对语法进行编码。
[0503] 此外,TT信息解码部13也可以是如下构成:在不满足条件XS(=sec_idx为0以外(进行二次变换))、或变换块的对数TU尺寸为规定尺寸以下(log2TrafoSize==2)的情况
下,不进行自适应核变换中的选择性自适应核变换。就是说,虽然不进行自适应核变换,但
进行固定变换。具体而言,可以设为以下。
[0504] if((sec_idx!=0&&log2TrafoSize==2))
[0505] amt_flag=0(进行固定变换)
[0506] (根据二次变换处理的有无来确定执行/不执行自适应核变换的构成2)
[0507] 也可以是如下构成:在逆量化/逆变换部15中,省略TT信息解码部13中的AMT标志amt_flag的解码,并设为amt_flag=0,以便二次变换部1522对变换块进行二次变换,且不
进行TU的尺寸为规定尺寸以下(例如,4×4)的情况下的自适应核变换。
[0508] 使用图31对这样构成的TT信息解码部13以及逆变换部152的构成进行说明。图31是表示TT信息解码部13以及逆变换部152的构成的一个例子的功能框图。TT信息解码部13
具备sec_idx解码部131、amt_flag解码部132、以及amt_idx解码部133,逆变换部152具备二
次变换部1522以及核变换部1521。
[0509] 当TT信息解码部13从CU信息解码部21接收编码数据时,sec_idx解码部131对sec_idx进行解码,并将解码后的sec_idx传送至amt_idx解码部133、二次变换部1522、amt_flag
解码部132、以及核变换部1521。amt_flag解码部132参照接收到的sec_idx来确定是否对
AMT标志amt_flag进行解码,并将解码后的AMT标志amt_flag传送至amt_idx解码部133以及
核变换部1521。amt_idx解码部133根据接收到的sec_idx和AMT标志amt_flag来对AMT索引
amt_idx进行解码。
[0510] amt_flag解码部132在接收到的sec_idx表示条件XS(=进行二次变换(sec_idx!=0)的情况下,且在变换尺寸不为规定尺寸以下(例如,log2TrafoSize==3))的情况下,
不从编码数据对用于核变换的语法(AMT标志amt_flag)进行解码,而是设为amt_flag=0并
传送至核变换部1521。在该情况下,核变换部1521接收amt_flag=0,据此不进行选择性核
变换处理。
[0511] 反之,amt_flag解码部132在接收到的sec_idx表示条件XS(=不进行二次变换(sec_idx=0)、或者变换尺寸大于规定尺寸(例如,log2TrafoSize!=2、或者
log2TrafoSize>3))的情况下,对用于核变换的语法(AMT标志amt_flag)进行解码,并传送
至amt_idx解码部133以及核变换部1521。
[0512] 图32是表示本发明的一实施方式的TT信息TTI的语法表的构成例的图。
[0513] 在TU分割标志split_transform_flag是表示进行分割的值(例如1)的情况下,也可以通过以下处理来对sec_idx和amt_flag进行解码。在TU层trafoDepth为0且预测模式为
帧内预测模式的情况下,sec_idx解码部131也可以对与二次变换有关的索引sec_idx进行
解码(SYN1755d)。
[0514] if(trafoDepth==0&&PredMode==PRED_INTRA)
[0515] sec_idx[x0][y0][trafoDepth]
[0516] 而且,在条件T(=TU层trafoDepth为0)、且条件XS(=变换块的对数TU尺寸log2TrafoSize大于3或sec_idx为0)的情况下,amt_flag解码部132也可以对AMT标志amt_
flag进行解码(SYN1755e)。
[0517] if(trafoDepth==0&&(sec_idx==0||log2TrafoSize>3))
[0518] amt_flag[x0][y0][trafoDepth]
[0519] 在除此以外的(不满足条件T(=TU层trafoDepth为0)、或者不满足条件XS(=sec_idx为0,或者TU的尺寸为规定尺寸(log2TrafoSize==3)以下)的情况下,省略AMT标志
amt_flag从编码数据的解码。在amt_flag未被解码的情况下,导出为0。在TU分割标志
split_transform_flag为1的情况下,CU被分割为多个TU,因此尺寸为log2TrafoSize==
2。
[0520] 另一方面,在TU分割标志split_transform_flag是表示不进行分割的0的情况下,也可以通过以下处理来对sec_idx以及amt_flag进行解码。
[0521] 在TU残差标志(例如,cbf_luma)为0以外、且TU层trafoDepth为0、且预测模式为帧内预测模式的情况下,sec_idx解码部131也可以对与二次变换有关的索引sec_idx进行解
码(SYN1753d)。
[0522] if(cbf_luma[x0][y0][trafoDepth]&&trafoDepth==0&&PredMode==PRED_INTRA)
[0523] sec_idx[x0][y0][trafoDepth]
[0524] 而且,amt_flag解码部132在TU残差标志(在此为cbfLuma)为0以外、且条件T=TU层trafoDepth为0、且条件XS(=变换块的对数TU尺寸log2TrafoSize为2以外或者sec_idx
为0)的情况下,amt_flag解码部132也可以对AMT标志amt_flag进行解码(SYN1753e)。
[0525] if(cbf_luma[x0][y0][trafoDepth]&&trafoDepth==0&&(sec_idx==0||log2TrafoSize!=2))
[0526] amt_flag[x0][y0][trafoDepth]
[0527] 即,在不满足条件XS(=不进行二次变换(sec_idx=0))、且TU的尺寸为规定尺寸(log2TrafoSize==2)的情况下,省略AMT标志amt_flag的解码。
[0528] 如果这样构成,而且TU的尺寸为规定尺寸(在此为log2TrafoSize=2)、且进行二次变换时,不对用于核变换的信息amt_flag进行解码,因此,不会白白地对语法进行编码。
[0529] (根据二次变换处理的有无来确定执行/不执行自适应核变换的构成3)
[0530] 在上述中,使用图29以及图30所示的语法表对以TU级别进行由sec_idx解码部131进行的sec_idx的解码和由amt_flag解码部132进行的AMT标志amt_flag的解码的情况进行
了说明,但并不限定于此。在此,使用图33以及图34对如下处理进行说明:在具备图28所示
的构成的TT信息解码部13中,在以TU级别进行由sec_idx解码部131进行的sec_idx的解码
和由amt_idx解码部133进行的AMT索引amt_idx的解码的情况下,对sec_idx、AMT标志amt_
flag、以及AMT索引amt_idx进行解码。图33(a)是表示本发明的一实施方式的TT信息TTI的
语法表的构成例的图,图33(b)是amt_flag解码部分的伪代码描述。
[0531] 如图33所示,amt_flag解码部132在TT级别下,在split_transform_flag不为0(进行分割)的情况下,如果TU层trafoDepth为0,则对AMT标志amt_flag进行解码(SYN1755f)。
[0532] if(trafoDepth==0)
[0533] amt_flag[x0][y0][trafoDepth]
[0534] 此外,在split_transform_flag为0(不进行分割)的情况下,amt_flag解码部132在TU残差标志(在此为cbfLuma)和TU层trafoDepth为0的情况下,amt_flag解码部132也可
以对AMT标志amt_flag进行解码(SYN1753f)。
[0535] if(cbf_luma[x0][y0][trafoDepth]&&trafoDepth==0)
[0536] amt_flag[x0][y0][trafoDepth]
[0537] 并且,TT信息解码部13在TU分割标志split_transform_flag为0的情况下,对SYN1760所示的变换单元TU进行解码。
[0538] transform_unit(x0,y0,xBase,yBase,log2TrafoSize,trafoDepth,blkIdx)
[0539] 接着,使用图34对TT信息解码部13对TU信息进行解码的处理进行说明。图34(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图34(b)是amt_idx解码部
分的伪代码描述。
[0540] 在预测模式为帧内预测模式、且非零系数的数numCoeff大于coreSIGNUM的情况下,TU解码部22也可以对与二次变换有关的索引sec_idx进行解码(SYN1811c)。
[0541] if(predMode==PRED_INTRA&&numCoeff>coreSIGNUM)
[0542] sec_idx[x0][y0][trafoDepth]
[0543] 在除此以外的情况下,设置为sec_idx=0。
[0544] 在条件A(=AMT标志amt_flag为0以外)、且条件B(=非零系数的数numCoeff大于coreSIGNUM)、且条件XS(=与二次变换有关的索引sec_idx为0或者对数TU尺寸
log2TrafoSize为2以外)的情况下,TT信息解码部13也可以对用于自适应核变换的AMT索引
amt_idx进行解码(SYN1812c)。
[0545] if(amt_flag!==0&&numCoeff>coreSIGNUM&&(sec_idx==0||(log2TrafoSize!=2))
[0546] amt_idx[x0][y0][trafoDepth]
[0547] (根据二次变换处理的有无来确定执行/不执行自适应核变换的构成4)
[0548] 在上述中,列举若干个例子对根据二次变换处理的有无来确定执行/不执行自适应核变换的构成进行了说明,但并不限定于此。即,运动图像解码装置1也可以是如下构成:
在根据二次变换的有无来确定执行/不执行自适应核变换处理的构成中,也关于语法的解
码先对自适应核变换处理的参数(amt_flag、amt_idx)进行解码,再参照其对二次变换的参
数(索引sec_idx)进行解码。使用图35、图40对具备这种构成的TT信息解码部13以及逆变换
部152的其它构成例进行说明。
[0549] 逆量化/逆变换部15可以构成为如下。在TU的尺寸为规定尺寸以下(例如,4×4)的情况下,在对TU进行二次变换的情况下,不进行核变换。
[0550] 即,在sec_idx=1且对数TU尺寸大于规定尺寸的(log2TrafoSize!=2))情况下,不进行核变换。在除此以外的情况下,根据amt_flag的值,如果是0则实施固定变换,如果是
1则实施选择性核变换。
[0551] if((sec_idx==1&&log2TrafoSize=2))
[0552] nothing;//仅进行二次变换
[0553] else if(amt_flag==0)
[0554] 固定变换
[0555] else
[0556] 选择性核变换(核变换处理部15212的处理)
[0557] 接着,对语法的解码进行说明。TT信息解码部13具备sec_idx解码部131、amt_flag解码部132、以及amt_idx解码部133,逆变换部152具备二次变换部1522以及核变换部1521。
[0558] 当TT信息解码部13从CU信息解码部21接收编码数据时,amt_flag解码部132对AMT标志amt_flag进行解码,并将解码后的AMT标志amt_flag传送至sec_idx解码部131、amt_
idx解码部133、以及核变换部1521。sec_idx解码部131参照amt_flag对与二次变换有关的
索引sec_idx进行解码,并将解码后的与二次变换有关的索引sec_idx传送至二次变换部
1522以及核变换部1521。amt_idx解码部133参照接收到的AMT标志amt_flag对AMT索引amt_
idx进行解码。
[0559] 例如,sec_idx解码部131在接收到的AMT标志amt_flag表示在核变换部1521中进行自适应核变换的情况下(amt_flag!=0),且在变换尺寸为规定尺寸的情况下
(log2TrafoSize==2),不从编码数据对与二次变换有关的索引sec_idx进行解码,而是设
为sec_idx=0并传送至二次变换部1522以及核变换部1521。在该情况下,二次变换部1522
接收sec_idx=0,据此不进行二次变换处理。
[0560] 另一方面,sec_idx解码部131在接收到的AMT标志amt_flag表示在核变换部1521中不进行自适应核变换的情况下(例如,amt_flag=0),对与二次变换有关的索引sec_idx
进行解码。需要说明的是,由sec_idx解码部131进行的sec_idx的解码和由amt_flag解码部
132进行的AMT标志amt_flag的解码也可以以TT级别来进行。
[0561] 在该情况下,二次变换部1522导出为sec_idx=0,不进行二次变换处理。在TU的尺寸为规定尺寸以下(例如,4×4)的情况下,仅进行二次变换而不进行核变换的构成的情况
下,反之,在进行核变换的情况下不进行二次变换。因此,在自适应核变换中进行选择性变
换的情况(amt_flag!=0)下,省略与二次变换有关的语法sec_idx的解码,由此能避免无用
的编码。
[0562] 此外,也可以是图40所示的构成。即,在预测模式为帧内预测模式、且非零系数的数numCoeff大于coreSIGNUM的情况下,TU解码部22也可以对与核变换有关的参数(在此为
amt_idx)进行解码(SYN1811e)。
[0563] if(predMode==PRED_INTRA&&numCoeff>coreSIGNUM)
[0564] amt_idx[x0][y0][trafoDepth]
[0565] 在变换尺寸为规定尺寸(例如,log2TrafoSize==2)或者自适应核变换的标志amt_flag是表示使用选择性核变换的1的情况下,也可以省略用于二次变换的语法(在此为
索引sec_idx)的解码。反过来说,在条件XC(=变换尺寸为规定尺寸以外(log2TrafoSize!
=2)或者AMT标志amt_flag为0)的情况下,也可以对用于二次变换的语法(索引sec_idx)进
行解码。
[0566] 更具体而言,进一步增加条件,在条件I(=预测模式为帧内)、且条件B(=非零系数的数numCoeff大于secSIGNUM)、且条件XC(=AMT标志amt_flag为0或者对数TU尺寸
log2TrafoSize为2以外)的情况下,TU解码部22也可以对用于二次变换的索引sec_idx进行
解码(SYN1811e)。
[0567] if(predMode==PRED_INTRA&&numCoeff>secSIGNUM&&(amt_flag==0||(log2TrafoSize!=2))
[0568] sec_idx[x0][y0][trafoDepth]
[0569] 在除此以外(不满足条件I(=预测模式为帧内)、或者不满足条件B(=非零系数的数numCoeff大于secSIGNUM)、或者不满足条件XC(=AMT标志amt_flag为0或对数TU尺寸
log2TrafoSize为2以外)的情况)的情况下,TU解码部22也可以省略用于二次变换的索引
sec_idx的解码。
[0570] 需要说明的是,在amt_idx的解码时,参照sec_idx,在sec_idx=1(不进行核变换)的情况下,也可以省略amt_idx的解码。
[0571] (根据TU尺寸来确定执行/不执行自适应核变换处理的构成)
[0572] 在上述例子中,对根据二次变换处理或自适应核变换中的任一方的变换处理的有无来确定执行/不执行另一方的变换处理的构成进行了说明,但并不限定于此。即,运动图
像解码装置1也可以是如下构成:在作为进行变换处理的对象的TU的尺寸(例如,对数TU尺
寸log2TrafoSize)为规定尺寸以下的情况下,仅进行二次变换(省略自适应核变换)。使用
图36对具备这种构成的TT信息解码部13以及逆变换部152的其它构成例进行说明。
[0573] 当TT信息解码部13从CU信息解码部21接收编码数据以及对应TU尺寸(在图示的例子中为对数TU尺寸log2TrafoSize)时,如果由对数TU尺寸log2TrafoSize表示的TU为规定
尺寸(例如4×4,即对数TU尺寸log2TrafoSize=2)以下,则amt_flag解码部132不对AMT标
志amt_flag进行解码,而是设定为amt_flag=0,并传送至amt_idx解码部133以及核变换部
1521。另一方面,在由对数TU尺寸log2TrafoSize表示的TU大于规定尺寸(例如,4×4)的情
况下,amt_flag解码部132对AMT标志amt_flag进行解码。需要说明的是,由sec_idx解码部
131进行的sec_idx的解码和由amt_flag解码部132进行的AMT标志amt_flag的解码也可以
以TT级别来进行。或者,由sec_idx解码部131进行的sec_idx的解码和由amt_idx解码部133
进行的AMT索引amt_idx的解码也可以以TU级别来进行。
[0574] 并且,amt_idx解码部133参照接收到的AMT标志amt_flag对AMT索引amt_idx进行解码。在此,不管AMT标志的值如何,sec_idx解码部131均对与二次变换有关的索引sec_idx
进行解码,并将解码后的与二次变换有关的索引sec_idx传送至二次变换部1522。
[0575] 与这种构成对应的伪代码描述例如如以下的(1)~(4)中的任一个所示。
[0576] (1)
[0577] if(sec_idx)
[0578] 二次变换处理
[0579] if(log2TrafoSize!=2)
[0580] 自适应核变换
[0581] 在该情况下,在log2TrafoSize=2时,仅实施二次变换。
[0582] (2)
[0583] if(sec_idx)
[0584] 二次变换处理
[0585] if(amt_flag&&log2TrafoSize!=2)
[0586] 自适应核变换
[0587] else
[0588] 固定变换
[0589] 在此,固定变换是指逆变换部152对TU使用预先规定的变换规定的变换处理,并不是根据amd_idx确定的选择性变换,而是固定性变换(例如DCT2、DST1)。
[0590] (3)
[0591]
[0592] (4)
[0593]
[0594] (在进行自适应核变换处理的情况下省略二次变换处理的构成1)
[0595] 运动图像解码装置1也可以是如下构成:在核变换部1521中进行自适应核变换处理的情况下,省略二次变换部1522中的二次变换。使用图37对具备这种构成的TT信息解码
部13以及逆变换部152的其它构成例进行说明。
[0596] 逆量化/逆变换部15可以构成为如下。在核变换处理部15212中,在对TU进行核变换的情况下,在TU的尺寸为规定尺寸以下(例如,4×4)的情况下不进行二次变换。反之,在
条件XC(=AMT标志amt_flag为0、或TU的对数TU尺寸大于规定尺寸(log2TrafoSize!=2))
的情况下进行核变换。
[0597] if((amt_flag==0||log2TrafoSize!=2))
[0598] 二次变换(二次变换处理部15222的处理)
[0599] 或者,TT信息解码部13也可以构成为如下。也可以是如下构成:在逆量化/逆变换部15中,在对TU进行选择性自适应核变换的情况下(amt_flag!=0)、且TU的尺寸为规定尺
寸以下(例如,4×4)的情况下,省略TT信息解码部13中的二次变换的语法(sec_idx)的解码
而设为sec_idx=0,以便不进行二次。
[0600] 当TT信息解码部13从CU信息解码部21接收编码数据时,amt_flag解码部132对AMT标志amt_flag进行解码,并将解码后的AMT标志amt_flag传送至amt_idx解码部133、二次变
换部1522、以及核变换部1521。不管AMT标志的值如何,sec_idx解码部131均对与二次变换
有关的索引sec_idx进行解码,并将解码后的与二次变换有关的索引sec_idx传送至二次变
换部1522以及amt_idx解码部133。并且,amt_idx解码部133参照接收到的AMT标志amt_flag
以及与二次变换有关的索引sec_idx和AMT标志amt_flag对AMT索引amt_idx进行解码,并传
送至核变换部1521。需要说明的是,由sec_idx解码部131进行的sec_idx的解码和由amt_
flag解码部132进行的AMT标志amt_flag的解码也可以以TT级别来进行。或者,由sec_idx解
码部131进行的sec_idx的解码也可以以TU级别来进行。
[0601] 二次变换部1522参照接收到的AMT标志amt_flag以及与二次变换有关的索引sec_idx来确定是否进行二次变换。需要说明的是,在未进行二次变换的情况下,就图18的修正
变换系数d[][]而言,变换系数d[][]被直接发送至核变换部1521。
[0602] 接着,使用图38对TU解码部22对TU信息进行解码的处理进行说明。图38(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图38(b)是sec_idx和amt_idx的
解码部分的伪代码描述。
[0603] 在预测模式为帧内预测模式、且非零系数的数numCoeff大于coreSIGNUM的情况下,TU解码部22也可以对与二次变换有关的索引sec_idx进行解码(SYN1811d)。
[0604] if(predMode==PRED_INTRA&&numCoeff>coreSIGNUM)
[0605] sec_idx[x0][y0][trafoDepth]
[0606] 在条件A(=AMT标志amt_flag为0以外)、且条件B(=非零系数的数numCoeff大于coreSIGNUM)、且条件XS(=与二次变换有关的索引sec_idx为0或者对数TU尺寸
log2TrafoSize为2以外)的情况下,TU解码部22也可以对用于自适应核变换的AMT索引amt_
idx进行解码(SYN1812d)。
[0607] if(amt_flag!==0&&numCoeff>coreSIGNUM&&(sec_idx==0||(log2TrafoSize!=2))
[0608] amt_flag[x0][y0][trafoDepth]
[0609] 在除此以外(不满足条件A(=AMT标志amt_flag为0以外)、或者不满足条件B(=非零系数的数numCoeff大于coreSIGNUM)、或者不满足条件XS(=与二次变换有关的索引sec_
idx为0或对数TU尺寸log2TrafoSize为2以外)的情况下),TU解码部22也可以省略用于自适
应核变换的索引sec_idx的解码。
[0610] (在进行自适应核变换处理的情况下省略二次变换处理的构成2)
[0611] 或者,运动图像解码装置1也可以是如图39所示的构成。
[0612] 当TT信息解码部13从CU信息解码部21接收编码数据时,amt_flag解码部132对AMT标志amt_flag进行解码,并将解码后的AMT标志amt_flag传送至sec_idx解码部131、amt_
idx解码部133、二次变换部1522、以及核变换部1521。sec_idx解码部131根据AMT标志的值
对与二次变换有关的索引sec_idx进行解码,并将解码后的与二次变换有关的索引sec_idx
传送至二次变换部1522。并且,amt_idx解码部133参照接收到的AMT标志amt_flag对AMT索
引amt_idx进行解码,并传送至核变换部1521。需要说明的是,由sec_idx解码部131进行的
sec_idx的解码和由amt_flag解码部132进行的AMT标志amt_flag的解码也可以以TT级别来
进行。或者,由sec_idx解码部131进行的sec_idx的解码也可以以TU级别来进行。
[0613] 二次变换部1522参照接收到的AMT标志amt_flag以及与二次变换有关的索引sec_idx来确定是否进行二次变换。需要说明的是,在未进行二次变换的情况下,就图18的修正
变换系数d[][]而言,变换系数d[][]被直接发送至核变换部1521。
[0614] 核变换部1521参照接收到的AMT标志amt_flag以及AMT索引amt_idx来确定是否进行自适应核变换。
[0615] 接着,使用图40对TU解码部22对TU信息进行解码的处理进行说明。图40(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图40(b)是amt_idx和sec_idx的
解码部分的伪代码描述。
[0616] 在amt_flag不为0、且非零系数的数numCoeff大于coreSIGNUM的情况下,TU解码部22也可以对与核变换有关的参数(在此为amt_idx)进行解码(SYN1812e)。
[0617] if(amt_flag!=0&&numCoeff>coreSIGNUM)
[0618] amt_idx[x0][y0][trafoDepth]
[0619] 在条件I(‑=预测模式为帧内)、且条件B(=非零系数的数numCoeff大于secSIGNUM)、且条件XC(=自适应核变换的标志amt_flag为0或者对数TU尺寸
log2TrafoSize为2以外)的情况下,TU解码部22也可以对用于二次变换的索引sec_idx进行
解码(SYN1811e)。
[0620] if(predMode==PRED_INTRA&&numCoeff>secSIGNUM&&(amt_flag==0||(log2TrafoSize!=2))
[0621] sec_idx[x0][y0][trafoDepth]
[0622] 在除此以外(不满足条件I(=预测模式为帧内)、或者不满足条件B(=非零系数的数numCoeff大于secSIGNUM)、或者不满足条件XC(=AMT标志amt_flag为0或对数TU尺寸
log2TrafoSize为2以外))的情况下,TU解码部22也可以省略用于二次变换的索引sec_idx
的解码。(根据块尺寸来确定执行/不执行二次变换处理的构成)
[0623] 运动图像解码装置1也可以是如下构成:根据TU的尺寸来确定执行/不执行二次变换处理。使用图41对具备这种构成的TU解码部22以及逆变换部152的其它构成例进行说明。
[0624] 逆量化/逆变换部15可以构成为如下。在核变换处理部15212中,在TU的尺寸为规定尺寸以下(例如,4×4)的情况下不进行二次变换。反之,在条件Z(=TU的尺寸为规定尺寸
以上)的情况(在此为log2TrafoSize!=2)下进行二次变换。
[0625] if(log2TrafoSize!=2))
[0626] 二次变换(二次变换处理部15222的处理)
[0627] 或者,当TU解码部22从CU信息解码部21接收编码数据以及对应TU尺寸(在图示的例子中为对数TU尺寸log2TrafoSize)时,如果TU尺寸为规定尺寸(例如4×4,即,对数TU尺
寸log2TrafoSize=2)以下,则不管AMT标志的值如何,sec_idx解码部131均不对与二次变
换有关的索引sec_idx进行解码,而是设为sec_idx=0,并传送至二次变换部1522。
[0628] 另一方面,在TU尺寸大于规定尺寸(例如,4×4)的情况下,sec_idxg解码部131对与二次变换有关的索引sec_idx进行解码。
[0629] amt_flag解码部132对AMT标志amt_flag进行解码,并将解码后的AMT标志amt_flag传送至amt_idx解码部133以及核变换部1521。并且,amt_idx解码部133参照接收到的
AMT标志amt_flag对AMT索引amt_idx进行解码,并传送至核变换部1521。
[0630] 图42(a)是表示本发明的一实施方式的TT信息TTI的语法表的构成例的图,图42(b)是sec_idx解码部分的伪代码描述。如图42所示,amt_flag解码部132在TU残差标志(在
此为cbfLuma)不为0且TU层trafoDepth为0的情况下,也可以对AMT标志amt_flag进行解码
(SYN1753g)。
[0631] if(cbf_luma[x0][y0][trafoDepth]&&trafoDepth==0)
[0632] amt_flag[x0][y0][trafoDepth]
[0633] 并且,TT信息解码部13在TU分割标志split_transform_flag为0的情况下,对变换单元TU进行解码。
[0634] transform_unit(x0,y0,xBase,yBase,log2TrafoSize,trafoDepth,blkIdx)
[0635] 接着,使用图43对TU解码部22对TU信息进行解码的处理进行说明。图43(a)是表示本发明的一实施方式的TU信息TUI的语法表的构成例的图,图43(b)是sec_idx的解码部分
的伪代码描述。
[0636] 在TU尺寸为规定尺寸(例如,log2TrafoSize==2)的情况下,也可以省略用于二次变换的索引sec_idx的解码。反过来说,在TU尺寸为规定尺寸以外(log2TrafoSize!=2)
的情况下,也可以对用于二次变换的索引sec_idx进行解码。
[0637] 更具体而言,在预测模式为帧内预测模式、且非零系数的数numCoeff大于coreSIGNUM、且对数TU尺寸log2TrafoSize为2以外的情况下,TU解码部22也可以对与二次
变换有关的索引sec_idx进行解码(SYN1811f)。
[0638] if(predMode==PRED_INTRA&&numCoeff>coreSIGNUM&&log2TrafoSize!=2)
[0639] sec_idx[x0][y0][trafoDepth]
[0640] 在除此以外(预测模式不为帧内预测模式、或者非零系数的数numCoeff为coreSIGNUM以下、或者对数TU尺寸log2TrafoSize为2中的任一个)的情况下,TU解码部22也
可以省略用于二次变换的索引sec_idx的解码。
[0641] [变形例]
[0642] 需要说明的是,如在上述中说明那样,在TU尺寸为规定尺寸以下(例如,4×4)的情况下,在仅进行核变换而不进行二次变换的构成的情况下,在自适应核变换中,也可以使用
非分离型变换(非分离型核变换)。如以下说明那样,非分离型核变换也可以使用与在图19
中说明的非分离型二次变换基本相同的构成。
[0643] 本构成的核变换部1521(记载为核变换部1521')具备核变换处理导出部15211'以及核变换处理部15212'。核变换处理导出部15211'进一步具备核变换集导出部152112'以
及核变换处理设定部152112'。另一方面,核变换处理部15212'具备核变换矩阵导出部
152121'、子集导出部152122'、子集变换处理部152123'、以及子集储存部152124'。
[0644] 根据与在图19中说明的非分离型二次变换的关系,核变换处理导出部15211'、核变换集导出部152111'、核变换处理设定部152112'、核变换矩阵导出部152121'、子集导出
部152122'、子集变换处理部152123'、以及子集储存部152124'分别与二次变换处理导出部
15221、二次变换集导出部152212、二次变换处理设定部152211、二次变换矩阵导出部
152221、子集导出部152222、子集变换处理部152223、以及子集储存部152224对应。
[0645] 核变换集导出部152111'参照核变换集表导出与从TT信息解码部13接收到的预测模式PredMode对应的核变换集coreTrSetIdx。
[0646] coreTrSetIdx=(PredMode==PRED_INTER)?TrSetInter:coreTrSetIdxTbl[IntraPredMode]
[0647] 核变换集导出部152111'将所导出的核变换集索引coreTrSetIdx传送至核变换处理设定部152112'。
[0648] 核变换处理设定部152112'从TT信息解码部13接收标志(amt_idx)。此外,核变换处理设定部152112'基于核变换集coreTrSet将表示核变换的方法的索引coreTrIdx传送至
核变换矩阵导出部152121。
[0649] coreTrIdx=(amt_flag==0)?fixedTr:coreTrSet[coreTrSetIdx][amt_trans_idx]
[0650] 在此,fixedTr表示固定变换。
[0651] 核变换矩阵导出部152121'从接收到的表示核变换处理的参数coreTrIdx导出实际的变换(子集变换处理)所需的矩阵transMatrix[][]。
[0652] transMatrix[][]=coreTransMatrixTbl[coreTrIdx][][]
[0653] 核变换矩阵导出部152121'将所导出的矩阵传送至子集变换处理部152123。
[0654] 子集变换处理部152123'以构成TU的4×4子块单位进行子集变换。具体而言,由从TU导出子块的处理、对子块进行变换的处理、将子块储存于TU的处理的这三个处理构成。
[0655] 与子块坐标(xS,yS)有关的环路设为以下。xS=0..nTbs/4‑1,yS=0..nTbs/4‑1
[0656] 子集导出部152122'从自逆变换部151接收到的变换系数d[][]导出子块e[j]。
[0657] 根据e[j]=d[xx][yy],xx=(xS<<2)+j%4,yy=(yS<<2)+j/4(j=0..15)进行设定。
[0658] 在此为非分离型,因此,对16×1矢量e[j]进行子集变换,导出g[i]。
[0659] g[i]=Σ(transMatrix[i][j]×x[j])(j=0..15)
[0660] 子集储存部152124'将g[i]作为预测误差r[xx][yy]进行储存。
[0661] r[xx][yy]=y[i],xx=(xS<<2)+i%4,yy=(yS<<2)+i/4(i=0..15)〔实施方式3〕
[0662] 也可以仅对Tbs×Tbs的变换系数d[][]中TU的左上M×M的子块进行二次变换。例如,在将子块坐标(子块的左上的坐标)设为(xS,yS)的情况下,也可以仅在子块坐标(xS,
yS)满足以下的子块坐标的X坐标和Y坐标的最大值max(xS,yS)小于规定值TH的条件的情况
下,对该子块进行由二次变换部1522进行的二次变换。
[0663] if(max(xS,yS)
[0664] (xS,yS)子块的二次变换处理
[0665] 在此,TH=log2(M)等是适当的。例如在M=8的情况下,TH=2。
[0666] 需要说明的是,在将变换系数坐标设为(xC,yC)的情况下,子块坐标可以通过以下导出。
[0667] xS=(xC>>TH)
[0668] yS=(yC>>TH)
[0669] 满足上述条件的子块在4×4TU(块)的情况下为图44(a)的灰色的区域,在8×8TU(块)的情况下为图44(b)的灰色的区域,在16×16块的情况下为图44(c)的灰色的区域。需
要说明的是,由核变换部1521进行的自适应核变换不是按子块而是按TU单位进行。
[0670] 再者,二次变换根据帧内预测的方向也可以对TU的左上的子块以外的子块进行,由此,预计会有使能量集中于更少数的成分的效果。因此,也可以根据帧内预测的方向来变
更作为进行二次变换的对象的子块。
[0671] 即,运动图像解码装置1具备:核变换部1521,对TU应用自适应核变换;以及二次变换部1522,在自适应核变换之前对TU所包含的子块中至少任一个子块应用二次变换,二次
变换部1522可以是如下构成:对第一区域和第二区域应用二次变换,所述第一区域由TU的
低频侧的子块构成,所述第二区域构成为包含与该第一区域邻接且与TU的边界邻接的边界
邻接子块,不包含从所述边界的相反侧与该边界邻接子块邻接的子块。
[0672] (根据帧内预测的方向来变更作为进行二次变换的对象的子块的构成1)
[0673] 例如,如图45所示,在子块坐标(xS,yS)满足以下条件的情况下,可以对该子块进行由二次变换部1322进行的二次变换。
[0674] if(xS+yS<=TH)
[0675] (xS,yS)子块的二次变换处理
[0676] 满足上述条件的子块在4×4TU(块)的情况下用图45(a)的灰色的区域来表示,在8×8TU(块)的情况下用图45(b)的灰色的区域来表示,在16×16TU(块)的情况下用图45(c)
的灰色的区域来表示。例如在M=4的情况下,TH=3是适当的。
[0677] (根据帧内预测的方向来变更作为进行二次变换的对象的子块的构成2)
[0678] 例如,如图46所示,在子块坐标(xS,yS)满足以下的子块坐标的X坐标和Y坐标的最大值max(xS,yS)小于规定值TH、或者X坐标为0、或者Y坐标为0的条件的情况下,可以对该子
块进行由二次变换部1322进行的二次变换。
[0679] if(max(xS,yS)
[0680] (xS,yS)子块的二次变换处理
[0681] 在此,TH=2等是适当的。
[0682] 满足上述条件的子块在4×4TU(块)的情况下用图46(a)的灰色的区域来表示,在8×8TU(块)的情况下用图46(b)的灰色的区域来表示,在16×16TU(块)的情况下用图46(c)
的灰色的区域来表示。
[0683] (根据帧内预测的方向来变更作为进行二次变换的对象的子块的构成3)
[0684] 例如,如图47所示,在子块坐标(xS,yS)满足以下的(1)至(3)的条件的情况下,可以对该子块进行由二次变换部1322进行的二次变换。
[0685] (1)在帧内预测的方向为水平预测周围的范围的情况下(secSubBlockMode=1),
[0686] 在子块坐标(xS,yS)满足子块坐标的X坐标和Y坐标的最大值max(xS,yS)小于规定值TH、或者Y坐标为0的条件的情况下,可以对该子块进行由二次变换部1322进行的二次变
换。
[0687] if(max(xS,yS)
[0688] (xS,yS)子块的二次变换处理
[0689] (2)在帧内预测的方向为垂直预测周围的范围的情况下(secSubBlockMode=2),
[0690] 在子块坐标(xS,yS)满足子块坐标的X坐标和Y坐标的最大值max(xS,yS)小于规定值TH、或者X坐标为0的条件的情况下,可以对该子块进行由二次变换部1322进行的二次变
换。
[0691] if(max(xS,yS)
[0692] (xS,yS)子块的二次变换处理
[0693] (3)在帧内预测的方向为上述以外的情况下(secSubBlockMode=0),
[0694] 在子块坐标(xS,yS)满足子块坐标的X坐标与Y坐标的和小于规定值TH的条件的情况下,可以对该子块进行由二次变换部1322进行的二次变换。
[0695] if(xS+yS
[0696] (xS,yS)子块的二次变换处理
[0697] 在此,TH=2等是适当的。
[0698] 需要说明的是,在将帧内预测的方向为水平预测周围的情况设为secSubBlockMode=1、将帧内预测的方向为垂直预测周围的情况设为secSubBlockMode=
2、将帧内预测的方向为除此以外设为secSubBlockMode=0的情况下,如下所述,可以根据
帧内预测模式IntraPredMode的范围是否为规定范围来进行判定。
[0699] if(IntraPredMode为6至14)
[0700] secSubBlockMode=2(垂直预测周围)
[0701] else if(IntraPredMode为22至30)
[0702] secSubBlockMode=1(水平预测周围)
[0703] else
[0704] secSubBlockMode=0(除此以外)
[0705] 更一般而言,当垂直预测的模式编号为predModeVer、水平预测的模式编号为predModeHor、且用predModeTH来表达范围时,可以通过下式导出。
[0706] if(abs(IntraPredMode‑predModeVer)
[0707] secSubBlockMode=2(垂直预测周围)
[0708] else(abs(IntraPredMode‑predModeHor)
[0709] secSubBlockMode=1(水平预测周围)
[0710] else
[0711] secSubBlockMode=0(除此以外)
[0712] 在此,设为predModeVer=10,predModeHor=26,predModeTH=4。
[0713] 而且,也可以根据变换系数的扫描顺序scanIdx来判定secSubBlockMode。
[0714] 例如,
[0715] if(scanIdx为垂直扫描)
[0716] secSubBlockMode=2(垂直预测周围)
[0717] else if(scanIdx为水平扫描)
[0718] secSubBlockMode=1(水平预测周围)
[0719] else
[0720] secSubBlockMode=0(除此以外)
[0721] 满足上述条件的子块用图47的灰色的区域来表示。
[0722] 〔运动图像编码装置〕
[0723] 以下,参照图48,对本实施方式的运动图像编码装置2(图像编码装置)进行说明。
[0724] (运动图像编码装置的概要)
[0725] 概略性而言,运动图像编码装置2是通过对输入图像#10进行编码来生成编码数据#1,并对运动图像解码装置1输出编码数据#1的装置。(运动图像编码装置的构成)
[0726] 首先,使用图48对运动图像编码装置2的构成例进行说明。图48是表示运动图像编码装置2的构成的功能框图。如图48所示,运动图像编码装置2具备编码设定部30、逆量化/
逆变换部35、预测图像生成部23、加法器24、帧存储器25、减法器26、变换/量化部27、以及编
码数据生成部(自适应处理部)29。
[0727] 编码设定部30基于输入图像#10而生成与编码有关的图像数据以及各种设定信息。
[0728] 具体而言,编码设定部30生成下一图像数据以及设定信息。
[0729] 首先,编码设定部30通过将输入图像#10依次分割为切片单位、树单元单位来生成针对对象CU的CU图像#100。
[0730] 此外,编码设定部30基于分割处理的结果来生成报头信息H’。报头信息H’包含:(1)有关属于对象切片的树单元的尺寸、形状以及在对象切片内的位置的信息;以及(2)有
关属于各树单元的CU的尺寸、形状以及在对象树单元内的位置的CU信息CU’。
[0731] 进而,编码设定部30参照CU图像#100以及CU信息CU’来生成PT设定信息PTI’。PT设定信息PTI’中包含:(1)对象CU向各PU的可分割模式;以及(2)与可分配至各PU的预测模式
的所有组合有关信息。
[0732] 编码设定部30将CU图像#100供给至减法器26。此外,编码设定部30将报头信息H’供给至编码数据生成部29。此外,编码设定部30将PT设定信息PTI’供给至预测图像生成部
23。
[0733] 逆量化/逆变换部35通过对由变换/量化部27供给的每个TU的量化预测残差进行逆量化以及逆正交变换来复原每个TU的预测残差D。对于逆正交变换,如已经对图2以及图
14所示的逆量化/逆变换部15进行说明那样,因此,在此省略其说明。
[0734] 此外,逆量化/逆变换部35按照由TT分割信息(后述)指定的分割模式对每个块的预测残差进行合并,生成针对对象CU的预测残差D。逆量化/逆变换部35将所生成的针对对
象CU的预测残差D供给至加法器24。
[0735] 预测图像生成部23参照记录于帧存储器25的局部解码图像P’以及PT设定信息PTI’来生成针对对象CU的预测图像Pred。预测图像生成部23将通过预测图像生成处理获得
的预测参数设定为PT设定信息PTI’,并将设定后的PT设定信息PTI’传输至编码数据生成部
29。需要说明的是,由预测图像生成部23进行的预测图像生成处理与运动图像解码装置1所
具备的预测图像生成部14相同,因此,在此省略说明。
[0736] 加法器24通过将由预测图像生成部23供给的预测图像Pred与由逆量化/逆变换部35供给的预测残差D相加来生成针对对象CU的解码图像P。
[0737] 在帧存储器25中,解码后的解码图像P被依次记录。在帧存储器25中,在对对象树单元进行解码的时间点,与比该对象树单元更先被解码的所有树单元(例如,按照光栅扫描
的顺序排列在先的所有树单元)对应的解码图像与用于该解码图像P的解码的参数一起被
记录。
[0738] 减法器26通过从CU图像#100中减去预测图像Pred来生成针对对象CU的预测残差D。减法器26将所生成的预测残差D供给至变换/量化部27。
[0739] 变换/量化部27通过对预测残差D进行正交变换以及量化来生成量化预测残差。需要说明的是,在此,正交变换是指从像素区域向频域的正交变换。此外,作为逆正交变换的
例子,可列举出DCT变换(Discrete Cosine Transform)以及DST变换(Discrete Sine 
Transform)等。
[0740] 具体而言,变换/量化部27参照CU图像#100以及CU信息CU’来确定对象CU向一个或多个块的分割模式。此外,按照已确定的分割模式将预测残差D分割为针对各块的预测残
差。
[0741] 此外,变换/量化部27通过对针对各块的预测残差进行正交变换来生成频域中的预测残差之后,通过对该频域中的预测残差进行量化来生成每个块的量化预测残差。
[0742] 此外,变换/量化部27生成包含所生成的每个块的量化预测残差、指定对象CU的分割模式的TT分割信息、以及与对象CU向各块的可能的所有分割模式有关的信息的TT设定信
息TTI’。变换/量化部27将所生成的TT设定信息TTI’供给至逆量化/逆变换部35以及编码数
据生成部29。
[0743] 编码数据生成部29对报头信息H’、TT设定信息TTI’、以及PT设定信息PTI’进行编码,并对编码后的报头信息H、TT设定信息TTI、以及PT设定信息PTI进行复用而生成编码数
据#1且进行输出。
[0744] 〔应用例〕
[0745] 上述的运动图像编码装置2以及运动图像解码装置1能搭载于进行运动图像的发送、接收、记录、再现的各种装置而利用。需要说明的是,运动图像可以是通过摄像机等拍摄
的自然运动图像,也可以是通过计算机等生成的人工运动图像(包含CG以及GUI)。
[0746] 首先,参照图49,对能将上述的运动图像编码装置2以及运动图像解码装置1利用于运动图像的发送以及接收的情况进行说明。
[0747] 图49(a)是表示搭载有运动图像编码装置2的发送装置PROD_A的构成的框图。如图49(a)所示,发送装置PROD_A具备:通过对运动图像进行编码而获得编码数据的编码部
PROD_A1、通过利用编码部PROD_A1所获得的编码数据对载波进行调制而获得调制信号的调
制部PROD_A2、以及发送调制部PROD_A2所获得的调制信号的发送部PROD_A3。上述的运动图
像编码装置2用作该编码部PROD_A1。
[0748] 发送装置PROD_A也可以进一步具备:拍摄运动图像的摄像机PROD_A4、记录有运动图像的记录介质PROD_A5、用于从外部输入运动图像的输入端子PROD_A6、以及生成或加工
图像的图像处理部A7来做为向编码部PROD_A1输入的运动图像的供给源。在图49(a)中举例
示出了发送装置PROD_A具备这些全部的构成,但也可以省略一部分。
[0749] 需要说明的是,记录介质PROD_A5可以是记录有未被编码的运动图像的介质,也可以是记录有以与传输用的编码方式不同的记录用的编码方式编码后的运动图像的介质。在
后者的情况下,使按照记录用的编码方式对从记录介质PROD_A5读出的编码数据进行解码
的解码部(未图示)介于记录介质PROD_A5与编码部PROD_A1之间为好。
[0750] 图49(b)是表示搭载有运动图像解码装置1的接收装置PROD_B的构成的框图。如图49(b)所示,接收装置PROD_B具备:接收调制信号的接收部PROD_B1、通过对接收部PROD_B1
所接收的调制信号进行解调而获得编码数据的解调部PROD_B2、以及通过对解调部PROD_B2
所获得的编码数据进行解码而获得运动图像的解码部PROD_B3。上述的运动图像解码装置1
用作该解码部PROD_B3。
[0751] 接收装置PROD_B也可以进一步具备显示运动图像的显示器PROD_B4、用于记录运动图像的记录介质PROD_B5、以及用于将运动图像输出至外部的输出端子PROD_B6来做为解
码部PROD_B3所输出的运动图像的供给目的地。在图49(b)中举例示出了接收装置PROD_B具
备这些全部的构成,但也可以省略一部分。
[0752] 需要说明的是,记录介质PROD_B5可以是用于记录未被编码的运动图像的介质,也可以是以与传输用的编码方式不同的记录用的编码方式编码后的介质。在后者的情况下,
使按照记录用的编码方式对从解码部PROD_B3获取的运动图像进行编码的编码部(未图示)
介于解码部PROD_B3与记录介质PROD_B5之间为好。
[0753] 需要说明的是,传输调制信号的传输介质可以是无线的,也可以是有线的。此外,传输调制信号的传输方案可以是广播(在此,指发送目的地未预先确定的发送方案),也可
以是通信(在此,指发送目的地已预先确定的发送方案)。即,调制信号的传输可以通过无线
广播、有线广播、无线通信、以及有线通信中的任一个来实现。
[0754] 例如,地面数字广播的广播站(广播设备等)/接收站(电视接收机等)是通过无线广播收发调制信号的发送装置PROD_A/接收装置PROD_B的一个例子。此外,有线电视广播的
广播站(广播设备等)/接收站(电视接收机等)是通过有线广播收发调制信号的发送装置
PROD_A/接收装置PROD_B的一个例子。
[0755] 此外,使用互联网的VOD(Video On Demand:视频点播)服务、运动图像共享服务等服务器(工作站等)/客户端(电视接收机、个人计算机、智能手机等)是通过通信收发调制信
号的发送装置PROD_A/接收装置PROD_B的一个例子(通常,在LAN中使用无线或有线中的任
一个作为传输介质,在WAN中使用有线作为传输介质)。在此,个人计算机中包含台式型PC、
膝上型PC、以及平板型PC。此外,智能手机中也包含多功能移动电话终端。
[0756] 需要说明的是,运动图像共享服务的客户端除了对从服务器下载的编码数据进行解码并显示于显示器的功能以外,还具有对通过摄像机拍摄的运动图像进行编码并上传至
服务器的功能。即,运动图像共享服务的客户端作为发送装置PROD_A以及接收装置PROD_B
双方来发挥功能。
[0757] 接着,参照图50,对能将上述的运动图像编码装置2以及运动图像解码装置1利用于运动图像的记录以及再现的情况进行说明。
[0758] 图50(a)是表示搭载有上述的运动图像编码装置2的记录装置PROD_C的构成的框图。如图50(a)所示,记录装置PROD_C具备:通过对运动图像进行编码而获得编码数据的编
码部PROD_C1、以及将编码部PROD_C1所获得的编码数据写入记录介质PROD_M的写入部
PROD_C2。上述的运动图像编码装置2用作该编码部PROD_C1。
[0759] 需要说明的是,记录介质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的驱动装置(未图示)的记录介质。
[0760] 此外,记录装置PROD_C也可以进一步具备:拍摄运动图像的摄像机PROD_C3、用于从外部输入运动图像的输入端子PROD_C4、用于接收运动图像的接收部PROD_C5、以及生成
或加工图像的图像处理部C6来做为输入至编码部PROD_C1的运动图像的供给源。在图50(a)
中举例示出了记录装置PROD_C具备这些全部的构成,但也可以省略一部分。
[0761] 需要说明的是,接收部PROD_C5可以接收未被编码的运动图像,也可以接收以与记录用的编码方式不同的传输用的编码方式编码后的编码数据。在后者的情况下,使对以传
输用的编码方式编码后的编码数据进行解码的传输用解码部(未图示)介于接收部PROD_C5
与编码部PROD_C1之间为好。
[0762] 作为这种记录装置PROD_C,例如可列举出:DVD记录器、BD记录器、HDD(Hard Disk Drive)记录器等(在该情况下,输入端子PROD_C4或接收部PROD_C5为运动图像的主要供给
源)。此外,便携式摄像机(在该情况下,摄像机PROD_C3为运动图像的主要供给源)、个人计
算机(在该情况下,接收部PROD_C5或图像处理部C6为运动图像的主要供给源)、智能手机
(在该情况下,摄像机PROD_C3或接收部PROD_C5为运动图像的主要供给源)等也是这种记录
装置PROD_C的一个例子。
[0763] 图50(b)是表示搭载有上述的运动图像解码装置1的再现装置PROD_D的构成的框。如图50(b)所示,再现装置PROD_D具备:读出已写入记录介质PROD_M的编码数据的读出部
PROD_D1、以及通过对读出部PROD_D1所读出的编码数据进行解码而获得运动图像的解码部
PROD_D2。上述的运动图像解码装置1用作该解码部PROD_D2。
[0764] 需要说明的是,记录介质PROD_M可以是(1)如HDD、SSD等那样内置于再现装置PROD_D的类型的记录介质,也可以是(2)如SD存储卡、USB闪存等那样连接于再现装置PROD_
D的类型的记录介质,也可以是(3)如DVD、BD等那样装填至内置于再现装置PROD_D的驱动装
置(未图示)的记录介质。
[0765] 此外,再现装置PROD_D也可以进一步具备显示运动图像的显示器PROD_D3、用于将运动图像输出至外部的输出端子PROD_D4、以及发送运动图像的发送部PROD_D5来做为解码
部PROD_D2所输出的运动图像的供给目的地。在图50(b)中举例示出了再现装置PROD_D具备
这些全部的构成,但也可以省略一部分。
[0766] 需要说明的是,发送部PROD_D5可以发送未被编码的运动图像,也可以发送以与记录用的编码方式不同的传输用的编码方式编码后的编码数据。在后者的情况下,使以传输
用的编码方式对运动图像进行编码的编码部(未图示)介于解码部PROD_D2与发送部PROD_
D5之间为好。
[0767] 作为这种再现装置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的一个例子。
[0768] 〔基于软件的实现例以及基于软件的实现例〕
[0769] 此外,上述的运动图像解码装置1以及运动图像编码装置2的各块既可以通过形成于集成电路(IC芯片)上的逻辑电路而硬件地实现,也可以利用CPU(Central Processing 
Unit:中央处理器)而软件地实现。
[0770] 在后者的情况下,上述各装置具备:执行实现各功能的程序的命令的CPU、储存上述程序的ROM(Read Only Memory:只读存储器)、展开上述程序的RAM(Random Access 
Memory:随机存取存储器)、以及储存上述程序和各种数据的存储器等存储装置(记录介质)
等。然后,本发明的目的通过以下方式也能达成:将实现上述的功能的软件、即计算机可读
取地记录有上述各装置的控制程序的程序代码(执行形式程序、中间代码程序、源程序)的
记录介质供给至上述各装置,该计算机(或CPU、MPU)读出记录于记录介质的程序代码并执
行。
[0771] 作为上述记录介质,例如可以使用:磁带、盒式磁带等带类;包含软盘(注册商标)/硬盘等磁盘、CD‑ROM(Compact Disc Read‑Only Memory:光盘只读存储器)/MO盘(Magneto‑
Optical disc:磁光盘)/MD(Mini Disc:迷你磁光盘)/DVD(Digital Versatile Disc:数字
多功能光盘)/CD‑R(CD Recordable:光盘刻录片)/蓝光光盘(Blu‑ray Disc:注册商标)等
光盘的盘类;IC卡(包含存储卡)/光卡等卡类;掩膜ROM/EPROM(Erasable Programmable 
Read‑Only Memory:可擦可编程只读存储器)/EEPROM(ElectricallyErasableandProgram
mableRead‑OnlyMemory:电可擦可编程只读存储器)/闪速ROM等半导体存储器类;或者PLD
(Programmable logic device:可编程逻辑器件)、FPGA(Field Programmable Gate 
Array:现场可编程门阵列)等逻辑电路类等。
[0772] 此外,也可以将上述各装置构成为能与通信网络连接,并经由通信网络供给上述程序代码。该通信网络能传输程序代码即可,并无特别限定。例如,可利用互联网、内联网
(intranet)、外联网(extranet)、LAN(Local Area Network:局域网)、ISDN(Integrated 
Services Digital Network:综合业务数字网)、VAN(Value‑Added Network:增值网络)、
CATV(Community Antenna television/Cable Television:社区天线电视/有线电视)通信
网、虚拟专用网(Virtual Private Network)、电话线路网、移动通信网、卫星通信网等。此
外,构成该通信网络的传输介质也是为能传输程序代码的介质即可,不限定于特定的构成
或种类。例如,无论是在IEEE(Institute of Electrical and Electronic Engineers:电
气和电子工程师协会)1394、USB、电力线输送、有线TV线路、电话线、ADSL(Asymmetric 
Digital Subscriber Line:非对称数字用户线路)线路等有线中,还是在如IrDA(Infrared 
Data Association:红外线数据协会)、遥控器那样的红外线、Bluetooth(注册商标)、
IEEE802.11无线、HDR(High Data Rate:高数据速率)、NFC(Near Field Communication:近
场通讯)、DLNA(Digital Living Network Alliance:数字生活网络联盟)(注册商标)、移动
电话网、卫星线路、地面波数字网等无线中都可利用。需要说明的是,本发明即使以通过电
子传输将上述程序代码具体化的嵌入载波的计算机数据信号的形态也能实现。
[0773] 本发明并不限定于上述的实施方式,在权利要求所示的范围内可进行各种变更。即,将在权利要求所示的范围内经过适当变更的技术方案组合而获得的实施方式也包含在
本发明的技术范围内。
[0774] 本发明并不限定于上述的各实施方式,在权利要求所示的范围内可进行各种变更,将分别在不同的实施方式中公开的技术手段适当组合而获得的实施方式也包含在本发
明的技术范围内。而且,通过将分别在各实施方式中公开的技术手段组合,能形成新的技术
特征。
[0775] 符号说明
[0776] 1 运动图像解码装置(图像解码装置)
[0777] 10 解码模块
[0778] 11 CT信息解码部(解码部)
[0779] 12 PU信息解码部(解码部)
[0780] 13 TT信息解码部(解码部)
[0781] 15、35 逆量化/逆变换部
[0782] 16、25 帧存储器
[0783] 2 运动图像编码装置(图像编码装置)
[0784] 131 sec_idx解码部
[0785] 132 amt_flag解码部
[0786] 133 amt_idx解码部
[0787] 21 CU信息解码部
[0788] 25 帧存储器
[0789] 27 变换/量化部