一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理装置和方法与流程

2022-02-20 15:48:36 来源:中国专利 TAG:


1.本公开内容涉及图像处理装置和方法,并且更具体地涉及能够抑制负荷增加的图像处理装置和方法。


背景技术:

2.传统上,在图像编码中,已经用信号通知(编码/解码)自适应正交变换标识符mts_idx作为关于自适应正交变换(多重变换选择(mts))的模式信息。对于自适应正交变换标识符mts_idx的编码,应用上下文编码,在上下文编码中自适应正交变换标识符mts_idx被二值化,并且将上下文变量ctx分配给仓序列bins中的每个仓(bin)以执行算术编码。此外,将与上下文编码对应的上下文解码应用于自适应正交变换标识符mts_idx的编码数据的解码。
3.引用列表
4.非专利文献
5.非专利文献1:benjamin bross,jianle chen,shan liu,“versatile video coding(draft 5)”,jvet-n1001v8,itu-t sg 16wp 3和iso/iec jtc 1/sc29/wg 11的联合视频专家组(jvet)第十四次会议:日内瓦,瑞士,2019年3月19日至2019年3月27日。


技术实现要素:

6.发明要解决的问题
7.然而,在这样的方法的情况下,存在上下文变量不必要地增加并且存储器使用量不必要地增加的可能性。即,存在编码处理和解码处理的负荷增加的可能性。
8.本公开内容是鉴于上述问题而作出的,并且目的是抑制编码处理和解码处理的负荷的增加。
9.技术问题的解决方案
10.根据本技术的一个方面的图像处理装置是如下图像处理装置,该图像处理装置包括编码单元,该编码单元被配置成将预定上下文变量分配给仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
11.根据本技术的一个方面的图像处理方法是如下图像处理方法,该图像处理方法包括将预定上下文变量分配给仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
12.根据本技术的另一方面的图像处理装置是如下图像处理装置,该图像处理装置包括编码单元,该编码单元被配置成将基于关于块大小的参数的上下文变量分配给仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
13.根据本技术的另一方面的图像处理方法是如下图像处理方法,该图像处理方法包括将基于关于块大小的参数的上下文变量分配给仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
14.在根据本技术的一个方面的图像处理装置和方法中,将预定上下文变量分配给仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
15.在根据本技术的另一方面的图像处理装置和方法中,将基于关于块大小的参数的上下文变量分配给仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
附图说明
16.图1是用于描述对自适应正交变换标识符进行编码的状态的示例的图。
17.图2是用于描述对自适应正交变换标识符进行编码的状态的示例的图。
18.图3是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
19.图4是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
20.图5是示出每种方法的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的比较示例的图。
21.图6是示出图像编码装置的主要配置示例的框图。
22.图7是示出编码单元的主要配置示例的框图。
23.图8是用于描述图像编码处理的流程的示例的流程图。
24.图9是用于描述图像编码处理的流程的示例的流程图。
25.图10是示出图像解码装置的主要配置示例的框图。
26.图11是示出解码单元的主要配置示例的框图。
27.图12是用于描述图像解码处理的流程的示例的流程图。
28.图13是用于描述解码处理的流程的示例的流程图。
29.图14是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
30.图15是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
31.图16是示出每种方法的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的比较示例的图。
32.图17是用于描述编码处理的流程的示例的流程图。
33.图18是用于描述解码处理的流程的示例的流程图。
34.图19是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
35.图20是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
36.图21是示出每种方法的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的比较示例的图。
37.图22是用于描述编码处理的流程的示例的流程图。
38.图23是用于描述解码处理的流程的示例的流程图。
39.图24是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
40.图25是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
41.图26是示出每种方法的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的比较示例的图。
42.图27是用于描述编码处理的流程的示例的流程图。
43.图28是用于描述解码处理的流程的示例的流程图。
44.图29是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
45.图30是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
46.图31是示出编码块的面积与ctu的面积的比率的示例的图。
47.图32是示出每种方法的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的比较示例的图。
48.图33是用于描述编码处理的流程的示例的流程图。
49.图34是用于描述解码处理的流程的示例的流程图。
50.图35是示出自适应正交变换标识符的二值化的状态的示例的图。
51.图36是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
52.图37是示出每种方法的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的比较示例的图。
53.图38是用于描述编码处理的流程的示例的流程图。
54.图39是用于描述解码处理的流程的示例的流程图。
55.图40是示出关于变换单元的语法的示例的图。
56.图41是示出关于正交变换模式的语法的示例的图。
57.图42是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
58.图43是示出将上下文变量分配给自适应正交变换标识符的仓序列中的每个仓的示例的图。
59.图44是示出每种方法的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的比较示例的图。
60.图45是用于描述编码处理的流程的示例的流程图。
61.图46是用于描述解码处理的流程的示例的流程图。
62.图47是示出计算机的主要配置示例的框图。
具体实施方式
63.在下文中,将描述用于实现本公开内容的模式(在下文中,被称为实施方式)。注意,将按以下顺序给出描述。
64.1.自适应正交变换标识符的编码
65.2.第一实施方式
66.3.第二实施方式
67.4.第三实施方式
68.5.第四实施方式
69.6.第五实施方式
70.7.第六实施方式
71.8.第七实施方式
72.9.附录
73.《1.自适应正交变换标识符的编码》
74.《1-1.支持技术内容和技术术语的文献等》
75.本技术中公开的范围不仅包括实施方式中描述的内容,而且还包括在提交申请时已知的以下非专利文献等中描述的内容以及以下非专利文献中参考的其他文献的内容。
76.非专利文献1:(以上所述)。
77.非专利文献2:itu-t h.264建议书(04/2017)“advanced video coding for generic audiovisual services”,2017年4月。
78.非专利文献3:itu-t h.265建议书(12/2016)“high efficiency video coding”,2016年4月。
79.非专利文献4:j.chen,e.alshina,g.j.sullivan,j.r.ohm和j.boyce,“algorithm description of joint exploration test model(jem7)”,jvet-g1001,itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11的联合视频专家组(jvet)第七次会议:都灵,意大利,2017年7月13日至2017年7月21日。
80.非专利文献5:bross,j.chen和s.liu,“versatile video coding(draft3)”,jvet-l1001,itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11的联合视频专家组(jvet)第十二次会议:澳门,中国,2018年10月3日至2018年10月12日。
81.非专利文献6:j.chen,y.ye和s.kim,“algorithm description for versatile video coding and test model 3(vtm 3)”,jvet-l1002,itu-t sg16wp 3和iso/iec jtc 1/sc 29/wg 11的联合视频专家组(jvet)第十二次会议:澳门,中国,2018年10月3日至2018年10月12日。
82.非专利文献7:jianle chen,yan ye和seung hwan kim:“algorithm description for versatile video coding and test model 5(vtm 5)”,jvet-n1002-v2,itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11的联合视频专家组(jvet)第十四次会议:日内瓦,瑞士,2019年3月19日至2019年3月27日。
83.非专利文献8:moonmo koo,jaehyun lim,mehdi salehifar和seung hwan kim,“ce6:reduced secondary transform(rst)(ce6-3.1)”,jvet-n0193,itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11的联合视频专家组(jvet)第十四次会议:日内瓦,瑞士,2019年3月19日至2019年3月27日。
84.非专利文献9:mischa siekmann,martin winken,heiko schwarz和detlev marpe“ce6-related:simplification of the reduced secondary transform”,jvet-n0555-v3,itu-t sg 16wp 3和iso/iec jtc 1/sc29/wg 11的联合视频专家组(jvet)第十四次会议:日内瓦,瑞士,2019年3月19日至2019年3月27日。
85.非专利文献10:c.rosewarne和j.gan,“ce6-related:rst binarization”,jvet-n0105-v2,itu-t sg 16wp 3和iso/iec jtc 1/sc29/wg 11的联合视频专家组(jvet)第十四次会议:日内瓦,瑞士,2019年3月19日至2019年3月27日。
86.就是说,以上非专利文献中描述的内容也用作确定支持要求的基础。例如,即使在示例中没有直接描述以上非专利文献中描述的四叉树块结构和四叉树加二叉树(qtbt)块结构的情况下,这些内容也落入本技术的公开范围内,并且满足权利要求的支持要求。此外,例如,即使在示例中没有直接描述诸如解析、语法和语义的技术术语的情况下,这些技术术语也类似地落入本技术的公开范围内,并且满足权利要求的支持要求。
87.此外,在本说明书中,除非另有指定,否则用于作为图像(图片)的部分区域或处理单位的描述的“块”(不是指示处理单元的块)指示图片中的任意部分区域,并且块的大小、形状、特性等不受限制。例如,“块”包括诸如在以上非专利文献中描述的变换块(tb)、变换单元(tu)、预测块(pb)、预测单元(pu)、最小编码单元(scu)、编码单元(cu)、最大编码单元(lcu)、编码树块(ctb)、编码树单元(ctu)、变换块、子块、宏块、图块、或切片的任意部分区域(处理的单位)。
88.此外,在指定这样的块的大小时,不仅可以直接指定块大小,而且还可以间接指定块大小。例如,可以使用用于标识大小的标识信息来指定块大小。此外,例如,可以通过与参考块(例如,lcu、scu等)的大小的比率或差来指定块大小。例如,在将用于指定块大小的信息作为语法元素等进行发送的情况下,可以使用如上所述的用于间接指定大小的信息作为该信息。通过该配置,可以减少信息量,并且在一些情况下可以提高编码效率。此外,块大小的指定还包括块大小的范围的指定(例如,可允许的块大小的范围的指定等)。
89.此外,在本说明书中,编码不仅包括将图像变换为比特流的整个处理,而且还包括该处理的一部分。例如,编码不仅包括包含预测处理、正交变换、量化、算术编码等的处理,而且还包括被统称为量化和算术编码的处理,包含预测处理、量化和算术编码的处理,等等。类似地,解码不仅包括将比特流变换为图像的整个处理,而且还包括该处理的一部分。例如,解码不仅包括包含逆算术解码、逆量化、逆正交变换、预测处理等的处理,而且还包括包含逆算术解码和逆量化的处理,包含逆算术解码、逆量化和预测处理的处理,等等。
90.《1-2.自适应正交变换标识符的上下文编码/上下文解码》
91.传统上,在图像编码和解码中,已经用信号通知(编码/解码)自适应正交变换标识符mts_idx作为关于自适应正交变换(多重变换选择(mts))的模式信息。使用如下上下文的上下文编码已经被应用于自适应正交变换标识符mts_idx的编码。
92.首先,如图1的a中示出的表中,通过截断一元(tu)码对自适应正交变换标识符
mts_idx进行二值化,以获得仓序列bins。注意,tu码与具有莱斯参数criceparam=0的截断莱斯(tr)码相当。
93.接下来,参照与由tr获得的仓序列bins中的每个binidx(指示仓编号的索引)对应的上下文变量ctx来执行算术编码。用于标识上下文变量ctx的索引被称为ctxinc(或ctxidx)。
94.具体地,如图1的b中示出的表中,将与cqt划分深度cqtdepth的值一一对应的上下文变量ctx分配给仓序列中的第一仓(binidx=0),该cqt划分深度cqtdepth表示由cu的四叉树对ctu进行划分的深度。在图1的b中的示例中,cqt划分深度cqtdepth和5中的较小的一个被设置为与仓序列中的第一仓(binidx=0)对应的上下文索引ctxinc(ctxinc=min(cqtdepth,5))。即,由于自适应正交变换中的0阶1的输出(频率)有可能根据划分深度而改变,因此为了提高效率,上下文也对应地可变。
95.此外,将与每个binidx一一对应的上下文变量ctx(在图1的b中的示例中,ctxinc=6至8)分配给仓序列bins中的第二仓(binidx=1)至第四仓(binidx=3)。
96.注意,如图2的a中示出的表中,自适应正交变换标识符mts_idx的仓序列bins中的每个仓可以被解释为与变换类型对应的标志。在该示例中,第一仓(binidx=0)的值对应于指示变换类型是否为dct2
×
dct2的标志(0指示“是”而1指示“否”),第二仓(binidx=1)的值对应于指示变换类型是否为dst7
×
dst7的标志(0指示“是”而1指示“否”),第三仓(binidx=2)的值对应于指示变换类型是否为dct8
×
dst7的标志(0指示“是”而1指示“否”),并且第四仓(binidx=3)的值对应于指示变换类型是否为dst7
×
dct8的标志(0指示“是”而1指示“否”)。
97.自适应正交变换标识符mts_idx的编码数据已经通过与这样的编码对应的方法被解码。即,已经应用了使用上下文的上下文解码。
98.然而,在这样的上下文编码和上下文解码的情况下,存在处理负荷增加的可能性。
99.例如,在cqt划分深度cqtdepth的特定值的情况下不出现自适应正交变换标识符mts_idx。因此,存在完全未使用的上下文变量ctx,并且存在由于上下文变量ctx而导致存储器使用量不必要地增加的可能性(存在处理所需的存储器容量增加的可能性)。
100.例如,在以四叉树执行所有cu划分的情况下,当ctu大小=128
×
128时,与每个cqt划分深度cqtdepth对应的cu大小如图2的b中的表所示。由于自适应正交变换不适用于大于32
×
32的块,因此对于128
×
128和64
×
64的cu,不出现自适应正交变换标识符mts_idx。因此,在与自适应正交变换标识符mts_idx的仓序列bins中的第一仓对应的上下文变量ctx中,根本不使用ctxinc=0和1。即,由于这些上下文变量ctx,存在存储器使用量不必要地增加的可能性。
101.因此,将预定上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
102.通过这样做,可以抑制分配给自适应正交变换标识符的仓序列的上下文的数目的增加,并且因此可以抑制存储器使用量的增加并且可以抑制编码处理和编码处理的负荷的增加。
103.此外,将基于关于块大小的参数的上下文变量分配给通过对指示图像编码中的自
适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
104.通过这样做,可以抑制分配给自适应正交变换标识符的仓序列的上下文的数目的增加,并且因此可以抑制存储器使用量的增加并且可以抑制编码处理和编码处理的负荷的增加。
105.《1-3.旁路编码》
106.此外,变换类型的选择性按降序为离散余弦变换(dct)2
×
dct2、离散正弦变换(dst)7
×
dst7、dct8
×
dst7、dst7
×
dct8或dct8
×
dct8。即,每种变换类型的选择性并不统一。因此,为所有变换类型类似地分配上下文变量ctx是低效的,这可能不必要地增加上下文编码仓的总数。如上所述,自适应正交变换标识符mts_idx的仓序列bins中的每个仓可以被解释为与变换类型对应的标志。即,将上下文变量ctx类似地分配给仓序列bins中的每个仓是低效的,这可能不必要地增加上下文编码仓的总数。
107.随着上下文编码仓的总数以这种方式增加,存在基于上下文的自适应二进制算术码(cabac)的处理量(吞吐量)增加的可能性。
108.因此,将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。通过这样做,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制cabac的处理量(吞吐量)的增加。即,可以抑制编码处理和解码处理的负荷的增加。
109.《2.第一实施方式》
110.《2-1.自适应正交变换标识符的编码》
111.在本实施方式中,如下执行如在图1的b中示出的表中已经执行的那样将上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的每个仓(方法0)。
112.即,将预定上下文变量(固定(一一对应)的上下文变量)ctx分配给仓序列中的第一仓,并且对第一仓执行上下文编码(方法1)。
113.例如,如图3的a中示出的表中,可以将预定上下文变量(用于标识上下文变量ctx的索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以对仓序列中的第二仓至第四仓执行旁路编码(方法1-1)。
114.在图3的a中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,对第二仓(binidx=1)至第四仓(binidx=3)执行旁路编码(bypass)。
115.此外,例如,如图3的b中示出的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓和第二仓,并且可以对第一仓和第二仓执行上下文编码,并且可以对仓序列中的第三仓和第四仓执行旁路编码(方法1-2)。
116.在图3的b中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路编码(bypass)。
117.此外,例如,如图4的a中示出的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓至第三仓,并且可以对第一仓至第三仓执行上下文编码,并且可以对仓序列中的第四仓执行旁路编码(方法1-3)。
118.在图4的a中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且对第四仓(binidx=3)执行旁路编码(bypass)。
119.此外,例如,如图4的b中示出的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓至第四仓,并且可以对第一仓至第四仓执行上下文编码(方法1-4)。
120.在图4的b中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文编码。
121.注意,在图3和图4的表中,在索引a0、b1、b2和b3中设置了不交叠的唯一值。
122.图5的表中示出了这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的示例。例如,在方法0的情况下,上下文的数目为9,上下文编码仓的数目为4,并且旁路编码仓的数目为0。相比之下,在方法1-1的情况下,上下文的数目为1,上下文编码仓的数目为1,并且旁路编码仓的数目为3。此外,在方法1-2的情况下,上下文的数目为2,上下文编码仓的数目为2,并且旁路编码仓的数目为2。此外,在方法1-3的情况下,上下文的数目为3,上下文编码仓的数目为3,并且旁路编码仓的数目为1。此外,在方法1-4的情况下,上下文的数目为4,上下文编码仓的数目为4,并且旁路编码仓的数目为0。
123.如上所述,在方法1-1至方法1-4的任何情况下,与方法0的情况相比,可以减少编码所需的上下文的数目。即,通过应用方法1,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
124.此外,在方法1-1至方法1-3的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文编码仓的数目。注意,在方法1-4的情况下,编码所需的上下文编码仓的数目与方法0的情况下编码所需的上下文编码仓的数目相当。即,通过应用方法1,可以将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
125.如上所述,通过应用方法1,可以抑制编码处理的负荷的增加。
126.《2-2.自适应正交变换标识符的解码》
127.类似地,在解码的情况下,如下执行如在图1的b中示出的表中已经执行的那样将上下文变量分配给指示图像解码中的逆自适应正交变换的模式的二值化的自适应正交变换标识符的仓序列中的每个仓。
128.即,将预定上下文变量(固定(一一对应)的上下文变量)ctx分配给仓序列中的第
一仓,并且对第一仓执行上下文解码(方法1)。
129.例如,如图3的a中示出的表中,可以将预定上下文变量(用于标识上下文变量ctx的索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以对仓序列中的第二仓至第四仓执行旁路解码(方法1-1)。
130.在图3的a中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,并且对第二仓(binidx=1)至第四仓(binidx=3)执行旁路解码(bypass)。
131.此外,例如,如图3的b中示出的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓和第二仓,并且可以对第一仓和第二仓执行上下文解码,并且可以对仓序列中的第三仓和第四仓执行旁路解码(方法1-2)。
132.在图3的b中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路解码(bypass)。
133.此外,例如,如图4的a中示出的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓至第三仓,并且可以对第一仓至第三仓执行上下文解码,并且可以对仓序列中的第四仓执行旁路解码(方法1-3)。
134.在图4的a中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且对第四仓(binidx=3)执行旁路解码(bypass)。
135.此外,例如,如图4的b中示出的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓至第四仓,并且可以对第一仓至第四仓执行上下文解码(方法1-4)。
136.在图4的b中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文解码。
137.注意,即使在解码的情况下,也与编码的情况类似,在图3和图4的表中的索引a0、b1、b2和b3中也设置了不交叠的唯一值。
138.这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目与编码的情况类似(图5)。
139.如上所述,在方法1-1至方法1-4的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文的数目。即,通过应用方法1,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
140.此外,在方法1-1至方法1-3的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文编码仓的数目。注意,在方法1-4的情况下,解码所需的上下文编码仓的数目与方法0的情况下解码所需的上下文编码仓的数目相当。即,通过应用方法1,可以将旁路解码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
141.如上所述,通过应用方法1,可以抑制解码处理的负荷的增加。
142.《2-3.编码侧》
143.《图像编码装置》
144.接下来,将描述编码侧。图6是示出作为应用了本技术的图像处理装置的一种模式的图像编码装置的配置的示例的框图。图6中示出的图像编码装置100是对运动图像的图像数据进行编码的装置。例如,图像编码装置100通过非专利文献1至10中的任何一项中描述的编码方法对运动图像的图像数据进行编码。
145.注意,图6示出了主要处理单元(块)、数据流等,并且图6中示出的这些不一定是全部。即,在图像编码装置100中,可以存在未在图6中被示出为块的处理单元,或者可以存在未在图6中被示出为箭头等的处理或数据流。
146.如图6所示,图像编码装置100包括控制单元101、重排缓冲器111、计算单元112、正交变换单元113、量化单元114、编码单元115、累积缓冲器116、逆量化单元117、逆正交变换单元118、计算单元119、环路滤波单元120、帧存储器121、预测单元122和速率控制单元123。
147.《控制单元》
148.控制单元101基于外部或预先指定的处理单位的块大小将由重排缓冲器111保持的运动图像数据划分成处理单位的块(cu、pu、变换块等)。此外,控制单元101基于例如率失真优化(rdo)来确定要提供给每个块的编码参数(头信息hinfo、预测模式信息pinfo、变换信息tinfo、滤波信息finfo等)。
149.以下将描述这些编码参数的细节。在确定上述编码参数之后,控制单元101将编码参数提供给每个块。具体地,编码参数如下。
150.头信息hinfo被提供给每个块。
151.预测模式信息pinfo被提供给编码单元115和预测单元122。
152.变换信息tinfo被提供给编码单元115、正交变换单元113、量化单元114、逆量化单元117和逆正交变换单元118。
153.滤波信息finfo被提供给环路滤波单元120。
154.《重排缓冲器》
155.运动图像数据的每个字段(输入图像)以再现顺序(显示顺序)被输入至图像编码装置100。重排缓冲器111以其再现顺序(显示顺序)获取并且保持(存储)每个输入图像。重排缓冲器111基于控制单元101的控制,以编码顺序(解码顺序)对输入图像进行重排,或者将输入图像划分成处理单位的块。重排缓冲器111将经处理的输入图像提供给计算单元112。此外,重排缓冲器111还将输入图像(原始图像)提供给预测单元122和环路滤波单元120。
156.《计算单元》
157.计算单元112接收与处理单位的块对应的图像i以及从预测单元122提供的预测图
像p作为输入,如以下表达式所示从图像i中减去预测图像p以导出预测残差d,并且将预测残差d提供给正交变换单元113。
158.d=i-p。
159.《正交变换单元》
160.正交变换单元113使用从计算单元112提供的预测残差d以及从控制单元101提供的变换信息tinfo作为输入,并且基于变换信息tinfo对预测残差d进行正交变换以导出变换系数coeff。注意,正交变换单元113可以执行自适应正交变换,用于自适应地选择正交变换的类型(变换系数)。正交变换单元113将获得的变换系数coeff提供给量化单元114。
161.《量化单元》
162.量化单元114使用从正交变换单元113提供的变换系数coeff以及从控制单元101提供的变换信息tinfo作为输入,并且基于变换信息tinfo来缩放(量化)变换系数coeff。注意,该量化的速率由速率控制单元123控制。量化单元114将通过量化而获得的量化变换系数(即,量化变换系数水平“level”)提供给编码单元115和逆量化单元117。
163.《编码单元》
164.编码单元115使用从量化单元114提供的量化变换系数水平“level”、从控制单元101提供的各种编码参数(头信息hinfo、预测模式信息pinfo、变换信息tinfo、滤波信息finfo等)、从环路滤波单元120提供的关于滤波器的信息(例如,滤波系数)、以及从预测单元122提供的关于最佳预测模式的信息作为输入。编码单元115对量化变换系数水平“level”执行可变长度编码(例如,算术编码)以生成位串(编码数据)。
165.此外,编码单元115从量化变换系数水平“level”导出残差信息rinfo,并且对残差信息rinfo进行编码以生成位串。
166.此外,编码单元115将从环路滤波单元120提供的关于滤波器的信息包括到滤波信息finfo,并且将从预测单元122提供的关于最佳预测模式的信息包括到预测模式信息pinfo。然后,编码单元115对上述各种编码参数(头信息hinfo、预测模式信息pinfo、变换信息tinfo、滤波信息finfo等)进行编码以生成位串。
167.此外,编码单元115对如上所述的那样生成的各种类型的信息的位串进行复用,以生成编码数据。编码单元115将编码数据提供给累积缓冲器116。
168.《累积缓冲器》
169.累积缓冲器116临时存储由编码单元115获得的编码数据。累积缓冲器116以预定时序将存储的编码数据作为比特流等输出至图像编码装置100的外部。例如,编码数据经由任意记录介质、任意传输介质、任意信息处理装置等被发送至解码侧。即,累积缓冲器116也是发送编码数据(比特流)的传输单元。
170.《逆量化单元》
171.逆量化单元117执行关于逆量化的处理。例如,逆量化单元117使用从量化单元114提供的量化变换系数水平“level”以及从控制单元101提供的变换信息tinfo作为输入,并且基于变换信息tinfo对量化变换系数水平“level”的值进行缩放(逆量化)。注意,逆量化是在量化单元114中执行的量化的逆处理。
172.逆量化单元117将通过逆量化而获得的变换系数coeff_iq提供给逆正交变换单元118。注意,由于逆正交变换单元118类似于解码侧的逆正交变换单元(将在下面描述),因此
可以将针对解码侧给出的描述(将在下面描述)应用于逆量化单元117。
173.《逆正交变换单元》
174.逆正交变换单元118执行关于逆正交变换的处理。例如,逆正交变换单元118使用从逆量化单元117提供的变换系数coeff_iq以及从控制单元101提供的变换信息tinfo作为输入,并且基于变换信息tinfo对变换系数coeff_iq进行逆正交变换以导出预测残差d’。注意,逆正交变换是在正交变换单元113中执行的正交变换的逆处理。即,逆正交变换单元118可以执行自适应逆正交变换,用于自适应地选择逆正交变换的类型(变换系数)。
175.逆正交变换单元118将通过逆正交变换而获得的预测残差d’提供给计算单元119。注意,由于逆正交变换单元118类似于解码侧的逆正交变换单元(将在下面描述),因此可以将针对解码侧给出的描述(将在下面描述)应用于逆正交变换单元118。
176.《计算单元》
177.计算单元119使用从逆正交变换单元118提供的预测残差d’以及从预测单元122提供的预测图像p作为输入。计算单元119将预测残差d’和与预测残差d’对应的预测图像p相加,以导出局部解码图像rlocal。计算单元119将导出的局部解码图像rlocal提供给环路滤波单元120和帧存储器121。
178.《环路滤波单元》
179.环路滤波单元120执行关于环路滤波处理的处理。例如,环路滤波单元120使用从计算单元119提供的局部解码图像rlocal、从控制单元101提供的滤波信息finfo、以及从重排缓冲器111提供的输入图像(原始图像)作为输入。注意,输入至环路滤波单元120的信息是任意的,并且可以包括除了以上提及的信息之外的信息。例如,可以根据需要将诸如预测模式、运动信息、代码量目标值、量化参数qp、图片类型、块(cu、ctu等)的信息输入至环路滤波单元120。
180.环路滤波单元120基于滤波信息finfo适当地对局部解码图像rlocal执行滤波处理。环路滤波单元120还根据需要使用输入图像(原始图像)和其他输入信息用于滤波处理。
181.例如,环路滤波单元120按双边滤波器、去块滤波器(dbf)、自适应偏移滤波器(采样自适应偏移(sao))和自适应环路滤波器(自适应环路滤波器(alf))的顺序应用这四个环路滤波器。注意,应用哪个滤波器以及以何种顺序应用滤波器是任意的,并且可以适当地选择。
182.当然,由环路滤波单元120执行的滤波处理是任意的,并且不限于以上示例。例如,环路滤波单元120可以应用维纳(wiener)滤波器等。
183.环路滤波单元120将经滤波的局部解码图像rlocal提供给帧存储器121。注意,在将关于滤波器的信息(例如,滤波器系数)发送至解码侧的情况下,环路滤波单元120将关于滤波器的信息提供给编码单元115。
184.《帧存储器》
185.帧存储器121执行关于与图像有关的数据的存储的处理。例如,帧存储器121使用从计算单元119提供的局部解码图像rlocal以及从环路滤波单元120提供的经滤波的局部解码图像rlocal作为输入,并且保持(存储)输入。此外,帧存储器121使用局部解码图像rlocal针对每个图片单元重建并且保持解码图像r(将解码图像r存储在帧存储器121中的缓冲器中)。帧存储器121响应于来自预测单元122的请求将解码图像r(或其部分)提供给预
测单元122。
186.《预测单元》
187.预测单元122执行关于预测图像的生成的处理。例如,预测单元122使用从控制单元101提供的预测模式信息pinfo、从重排缓冲器111提供的输入图像(原始图像)、以及从帧存储器121读取的解码图像r(或其部分)作为输入。预测单元122使用预测模式信息pinfo和输入图像(原始图像)执行诸如帧间预测、帧内预测等的预测处理,将解码图像r用作参考图像执行预测,基于预测结果来执行运动补偿处理,并且生成预测图像p。预测单元122将生成的预测图像p提供给计算单元112和计算单元119。此外,预测单元122根据需要将通过上述处理而选择的预测模式(即,关于最佳预测模式的信息)提供给编码单元115。
188.《速率控制单元》
189.速率控制单元123执行关于速率控制的处理。例如,速率控制单元123基于累积在累积缓冲器116中的编码数据的代码量来控制量化单元114的量化操作的速率,使得不会发生上溢或下溢。
190.注意,这些处理单元(控制单元101以及重排缓冲器111至速率控制单元123)具有任意配置。例如,每个处理单元可以由实现上述处理的逻辑电路配置。此外,每个处理单元可以包括例如中央处理单元(cpu)、只读存储器(rom)、随机存取存储器(ram)等,并且通过使用以上资源执行程序来实现上述处理。当然,每个处理单元可以具有这两种配置,并且通过逻辑电路实现上述处理的一部分,并且通过执行程序实现处理的另一部分处理。处理单元的配置可以彼此独立。例如,处理单元中的一些可以通过逻辑电路实现上述处理的一部分,处理单元中的另一些可以通过执行程序实现上述处理,并且处理单元中的又一些可以通过逻辑电路和程序的执行两者实现上述处理。
191.《编码单元》
192.图7是示出图6中的编码单元115的主要配置示例的框图。如图7所示,编码单元115包括二值化单元131、选择单元132、上下文设置单元133、上下文编码单元134和旁路编码单元135。
193.注意,尽管这里描述了自适应正交变换标识符的编码,但是编码单元115也如上所述的那样对其他编码参数、残差信息rinfo等进行编码。编码单元115通过应用《2-1.自适应正交变换标识符的编码》中描述的方法1对自适应正交变换标识符进行编码。
194.二值化单元131执行关于自适应正交变换标识符的二值化的处理。例如,二值化单元131获取从控制单元101提供的自适应正交变换标识符mts_idx。此外,二值化单元131利用截断一元码(或截断莱斯码)对自适应正交变换标识符进行二值化以生成仓序列。此外,二值化单元131将生成的仓序列提供给选择单元132。
195.选择单元132执行关于自适应正交变换标识符的仓序列中的每个仓的供应目的地的选择的处理。例如,选择单元132获取从二值化单元131提供的自适应正交变换标识符的仓序列。
196.此外,选择单元132对于所获取的自适应正交变换标识符的仓序列中的每个仓选择将供应目的地设置为上下文设置单元133还是旁路编码单元135。选择单元132根据以上在《2-1.自适应正交变换标识符的编码》中描述的方法1执行选择。例如,选择单元132可以根据方法1-1(即,图3的a中示出的表)执行选择。此外,选择单元132可以根据方法1-2(即,
图3的b中示出的表)执行选择。此外,选择单元132可以根据方法1-3(即,图4的a中示出的表)执行选择。此外,选择单元132可以根据方法1-4(即,图4的b中示出的表)执行选择。
197.在分配上下文变量(索引ctxinc)并且执行上下文编码的情况下,选择单元132将仓提供给上下文设置单元133。在旁路编码的情况下,选择单元132将仓提供给旁路编码单元135。
198.上下文设置单元133执行关于上下文设置的处理。例如,上下文设置单元133获取从选择单元132提供的仓。上下文设置单元133将上下文变量(索引ctxinc)分配给仓。上下文设置单元133根据以上在《2-1.自适应正交变换标识符的编码》中描述的方法1执行分配。例如,上下文设置单元133可以根据方法1-1(即,图3的a中示出的表)执行分配。此外,上下文设置单元133可以根据方法1-2(即,图3的b中示出的表)执行分配。此外,上下文设置单元133可以根据方法1-3(即,图4的a中示出的表)执行分配。此外,上下文设置单元133可以根据方法1-4(即,图4的b中示出的表)执行分配。
199.此外,上下文设置单元133可以从上下文编码单元134获取编码结果。上下文设置单元133可以使用编码结果适当地更新上下文变量(索引ctxinc)。上下文设置单元133将以这种方式导出的上下文变量(索引ctxinc)提供给上下文编码单元134。
200.上下文编码单元134执行关于算术编码的处理。例如,上下文编码单元134获取从上下文设置单元133提供的上下文变量(索引ctxinc)。此外,上下文编码单元134使用上下文变量(索引ctxinc)执行算术编码。即,执行上下文编码。此外,上下文编码单元134将编码结果作为编码数据提供给累积缓冲器116。
201.旁路编码单元135执行关于旁路编码的处理。例如,旁路编码单元135获取从选择单元132提供的仓。旁路编码单元135对仓执行旁路编码(算术编码)。旁路编码单元135将编码结果作为编码数据提供给累积缓冲器116。
202.由于处理单元(二值化单元131至旁路编码单元135)中的每一个执行如上所述的处理,因此编码单元115可以通过应用方法1(例如,方法1-1至方法1-4中的任何一种)对自适应正交变换标识符进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
203.《图像编码处理的流程》
204.接下来,将参照图8的流程图描述由具有以上配置的图像编码装置100执行的图像编码处理的流程的示例。
205.当图像编码处理开始时,在步骤s101中,重排缓冲器111由控制单元101控制,并且将输入运动图像数据的帧从显示顺序重排为编码顺序。
206.在步骤s102中,控制单元101对由重排缓冲器111保持的输入图像设置处理单位(执行块划分)。
207.在步骤s103中,控制单元101确定(设置)由重排缓冲器111保持的输入图像的编码参数。
208.在步骤s104中,预测单元122执行预测处理,并且生成最佳预测模式的预测图像等。例如,在预测处理中,预测单元122执行帧内预测以生成最佳帧内预测模式的预测图像,执行帧间预测以生成最佳帧间预测模式的预测图像,并且基于成本函数值等从预测图像中选择最佳预测模式。
209.在步骤s105中,计算单元112计算输入图像与在步骤s104中通过预测处理选择的最佳模式的预测图像之间的差。即,计算单元112生成输入图像与预测图像之间的预测残差d。以这种方式获得的预测残差d与原始图像数据相比减少了数据量。因此,与按原样对图像进行编码的情况相比,可以压缩数据量。
210.在步骤s106中,正交变换单元113对通过步骤s105中的处理生成的预测残差d执行正交变换处理,以导出变换系数coeff。
211.在步骤s107中,量化单元114通过使用由控制单元101等计算的量化参数对通过步骤s106中的处理获得的变换系数coeff进行量化,以导出量化变换系数水平“level”。
212.在步骤s108中,逆量化单元117利用与步骤s107中的量化的特性对应的特性,对通过步骤s107中的处理生成的量化变换系数水平“level”进行逆量化,以导出变换系数coeff_iq。
213.在步骤s109中,逆正交变换单元118通过与步骤s106中的正交变换处理对应的方法,对通过步骤s108中的处理获得的变换系数coeff_iq进行逆正交变换,以导出预测残差d’。注意,由于逆正交变换处理类似于在解码侧执行的逆正交变换处理(将在下面描述),因此可以将对解码侧的描述(将在下面给出)应用于步骤s109中的逆正交变换处理。
214.在步骤s110中,计算单元119将通过步骤s104中的预测处理获得的预测图像与通过步骤s109中的处理导出的预测残差d’相加,以生成局部解码图像。
215.在步骤s111中,环路滤波单元120对通过步骤s110中的处理导出的局部解码图像执行环路滤波处理。
216.在步骤s112中,帧存储器121存储通过步骤s110中的处理导出的局部解码图像以及在步骤s111中被滤波的局部解码图像。
217.在步骤s113中,编码单元115对通过步骤s107中的处理获得的量化变换系数水平“level”进行编码。例如,编码单元115通过算术编码等对作为关于图像的信息的量化变换系数水平“level”进行编码,以生成编码数据。此外,此时,编码单元115对各种编码参数(头信息hinfo、预测模式信息pinfo和变换信息tinfo)进行编码。此外,编码单元115从量化变换系数水平“level”导出残差信息rinfo,并且对残差信息rinfo进行编码。
218.在步骤s114中,累积缓冲器116累积由此获得的编码数据,并且将编码数据例如作为比特流输出至图像编码装置100的外部。例如,比特流经由传输路径或记录介质被发送至解码侧。此外,速率控制单元123根据需要执行速率控制。
219.当步骤s114中的处理结束时,图像编码处理结束。
220.《编码处理的流程》
221.在图8中的步骤s113的编码处理中,编码单元115对自适应正交变换标识符mts_idx进行编码。此时,编码单元115通过应用《2-1.自适应正交变换标识符的编码》中描述的方法1对自适应正交变换标识符进行编码。将参照图9中的流程图描述对自适应正交变换标识符mts_idx进行编码的流程的示例。
222.当编码处理开始时,在步骤s131中,编码单元115的二值化单元131通过截断一元码(或截断莱斯码)对自适应正交变换标识符mts_idx进行二值化以生成仓序列。
223.在步骤s132中,选择单元132将仓序列中的第一仓(binidx=0)设置为要处理的仓。在这种情况下,选择单元132选择上下文设置单元133作为仓的供应目的地(即,选择上
下文编码)。例如,选择单元132根据图3和图4中示出的表中的任何一个表(即,通过应用方法1-1至方法1-4中的任何一种)选择上下文编码作为用于该仓的编码方法。
224.在步骤s133中,上下文设置单元133将预先确定的预定上下文变量ctx(索引ctxinc)分配给仓。然后,上下文编码单元134使用上下文变量执行算术编码。即,执行上下文编码。
225.在步骤s134中,选择单元132将仓序列中的第二仓和后续仓中的未处理的仓设置为要处理的仓。在步骤s135中,选择单元132确定是否对要处理的仓进行旁路编码。例如,选择单元132根据图3和图4中示出的表中的任何表(通过应用方法1-1至方法1-4中的任何一种)确定是否对要处理的仓进行旁路编码。
226.在确定执行旁路编码的情况下,处理进行到步骤s136。即,在这种情况下,选择单元132选择旁路编码单元135作为仓供应目的地。在步骤s136中,旁路编码单元135对要处理的仓执行旁路编码(算术编码)。当步骤s136中的处理完成时,处理进行到步骤s138。
227.此外,在步骤s135中,在确定不执行旁路编码(执行上下文编码)的情况下,处理进行到步骤s137。即,在这种情况下,选择单元132选择上下文设置单元133作为仓供应目的地。在步骤s137中,上下文设置单元133将预先确定的预定上下文变量ctx(索引ctxinc)分配给仓。然后,上下文编码单元134使用上下文变量执行算术编码。即,执行上下文编码。当步骤s137中的处理完成时,处理进行到步骤s138。
228.在步骤s138中,编码单元115确定是否终止自适应正交变换标识符mts_idx的编码。在确定不终止编码的情况下,处理返回到步骤s134,并且重复步骤s134和后续步骤中的处理。此外,在步骤s138中,在确定终止编码的情况下,终止编码处理。
229.通过执行如上所述的每个处理,编码单元115可以通过应用方法1(例如,方法1-1至方法1-4中的任何一种)对自适应正交变换标识符进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
230.《2-4.解码侧》
231.《图像解码装置》
232.接下来,将描述解码侧。图10是示出作为应用了本技术的图像处理装置的一种模式的图像解码装置的配置的示例的框图。图10中示出的图像解码装置200是对运动图像的编码数据进行编码的装置。例如,图像解码装置200通过非专利文献1至10中的任何一项中描述的解码方法对编码数据进行解码,以生成运动图像数据。例如,图像解码装置200对由上述图像编码装置100生成的编码数据(比特流)进行解码,以生成运动图像数据。
233.注意,图10示出了主要处理单元、数据流等,并且图10中示出的这些不一定是全部。即,在图像解码装置200中,可以存在未在图10中被示出为块的处理单元,或者存在未在图10中被示出为箭头等的处理或数据流。
234.在图10中,图像解码装置200包括累积缓冲器211、解码单元212、逆量化单元213、逆正交变换单元214、计算单元215、环路滤波单元216、重排缓冲器217、帧存储器218和预测单元219。注意,预测单元219包括帧内预测单元和帧间预测单元(未示出)。
235.《累积缓冲器》
236.累积缓冲器211获取输入至图像解码装置200的比特流,并且保持(存储)该比特流。例如,累积缓冲器211以预定时序或者在满足预定条件的情况下将累积的比特流提供给
解码单元212。
237.《解码单元》
238.解码单元212执行关于图像解码的处理。例如,解码单元212使用从累积缓冲器211提供的比特流作为输入,并且根据语法表的定义对来自位串的每个语法元素的语法值执行可变长度解码,以导出参数。
239.从语法元素和语法元素的语法值导出的参数例如包括诸如头信息hinfo、预测模式信息pinfo、变换信息tinfo、残差信息rinfo和滤波信息finfo的信息。即,解码单元212从比特流解析(分析和获取)这样的信息。这些信息将在下面描述。
240.《头信息hinfo》
241.头信息hinfo例如包括诸如视频参数集(vps)/序列参数集(sps)/图片参数集(pps)/切片头(sh)的头信息。头信息hinfo例如包括定义以下各项的信息:图像大小(宽度picwidth和高度picheight)、位深度(亮度bitdepthy和色差bitdepthc)、色差阵列类型chromaarraytype、cu大小最大值maxcusize/最小值mincusize、四叉树划分的最大深度maxqtdepth/最小深度minqtdepth、二叉树划分的最大深度maxbtdepth/最小深度minbtdepth、变换跳过块的最大值maxtssize(也被称为最大变换跳过块大小)、每个编码工具的开/关标志(也被称使能标志)等。
242.例如,头信息hinfo中包括的编码工具的开/关标志的示例包括与下面的变换和量化处理有关的开/关标志。注意,编码工具的开/关标志也可以被解释为指示与编码工具有关的语法是否存在于编码数据中的标志。此外,在开/关标志的值为1(真)的情况下,该值指示编码工具可用。在开/关标志的值为0(假)的情况下,该值指示编码工具不可用。注意,可以调换对标志值的解释。
243.分量间预测使能标志(ccp_enabled_flag)是指示分量间预测(跨分量预测(ccp),也被称为cc预测)是否可用的标志信息。例如,在标志信息为“1”(真)的情况下,标志信息指示分量间预测可用。在标志信息为“0”(假)的情况下,标志信息指示分量间预测不可用。
244.注意,该ccp也被称为分量间线性预测(cclm或cclmp)。
245.《预测模式信息pinfo》
246.预测模式信息pinfo例如包括诸如要处理的预测块(pb)的大小信息pbsize(预测块大小)、帧内预测模式信息ipinfo和运动预测信息mvinfo的信息。
247.帧内预测模式信息ipinfo包括例如jctvc-w1005,7.3.8.5编码单元语法中的prev_intra_luma_pred_flag、mpm_idx和rem_intra_pred_mode、从语法导出的亮度帧内预测模式intrapredmodey,等等。
248.此外,帧内预测模式信息ipinfo例如包括分量间预测标志(ccp_flag(cclmp_flag))、多类线性预测模式标志(mclm_flag)、色差样本位置类型标识符(chroma_sample_loc_type_idx)、色差mpm标识符(chroma_mpm_idx)、从这些语法导出的亮度帧内预测模式(intrapredmodec),等等。
249.分量间预测标志(ccp_flag(cclmp_flag))是指示是否应用分量间线性预测的标志信息。例如,ccp_flag==1指示应用分量间预测,而ccp_flag==0指示没有应用分量间预测。
250.多类线性预测模式标志(mclm_flag)是关于线性预测模式的信息(线性预测模式
信息)。更具体地,多类线性预测模式标志(mclm_flag)是指示是否设置多类线性预测模式的标志信息。例如,“0”指示一类模式(单类模式)(例如,cclmp),并且“1”指示二类模式(多类模式)(例如,mclmp)。
251.色差样本位置类型标识符(chroma_sample_loc_type_idx)是用于标识色差分量的像素位置的类型(也被称为色差样本位置类型)的标识符。例如,在作为关于颜色格式的信息的色差阵列类型(chromaarraytype)指示420格式的情况下,按以下表达式中那样分配色差样本位置类型标识符。
252.chroma_sample_loc_type_idx==0:类型2
253.chroma_sample_loc_type_idx==1:类型3
254.chroma_sample_loc_type_idx==2:类型0
255.chroma_sample_loc_type_idx==3:类型1
256.注意,色差样本位置类型标识符(chroma_sample_loc_type_idx)作为关于色差分量的像素位置的信息(chroma_sample_loc_info())(通过存储在该信息中)被发送。
257.色差mpm标识符(chroma_mpm_idx)是指示色差帧内预测模式候选列表(intrapredmodecandlistc)中的哪个预测模式候选将被指定为色差帧内预测模式的标识符。
258.运动预测信息mvinfo包括例如诸如merge_idx、merge_flag、inter_pred_idc、ref_idx_lx、mvp_lx_flag、x={0,1}、mvd等的信息(例如,参见jctvc-w1005,7.3.8.6预测单元语法)。
259.当然,预测模式信息pinfo中包括的信息是任意的,并且可以包括除了以上信息之外的信息。
260.《变换信息tinfo》
261.变换信息tinfo包括例如以下信息。当然,变换信息tinfo中包括的信息是任意的,并且可以包括除了以上信息之外的信息:
262.要处理的变换块的宽度tbwsize和高度tbhsize(或可以是以2为底的tbwsize和tbhsize的对数值log2tbwsize和log2tbhsize);
263.变换跳过标志(transform_ts_flag):指示是否跳过(逆)一次变换和(逆)二次变换的标志。
264.扫描标识符(scanidx);
265.二次变换标识符(st_idx);
266.自适应正交变换标识符(mts_idx);
267.量化参数(qp);以及
268.量化矩阵(scaling_matrix(例如,jctvc-w1005,7.3.4缩放列表数据语法))。
269.《残差信息rinfo》
270.残差信息rinfo(例如,参见jctvc-w1005的7.3.8.11残差编码语法)例如包括以下语法:
271.cbf(coded_block_flag):残差数据存在/不存在标志;
272.last_sig_coeff_x_pos:最后的非零变换系数x坐标;
273.last_sig_coeff_y_pos:最后的非零变换系数y坐标;
274.coded_sub_block_flag:子块非零变换系数存在/不存在标志;
275.sig_coeff_flag:非零变换系数存在/不存在标志;
276.gr1_flag:指示非零变换系数的水平是否大于1的标志(也被称为gr1标志);
277.gr2_flag:指示非零变换系数的水平是否大于2的标志(也被称为gr2标志);
278.sign_flag:指示非零变换系数的符号的代码(也被称为符号代码);
279.coeff_abs_level_remaining:非零变换系数的残差水平(也被称为非零变换系数残差水平);
280.等等。
281.当然,残差信息rinfo中包括的信息是任意的,并且可以包括除了以上信息之外的信息。
282.《滤波信息finfo》
283.滤波信息finfo例如包括关于以下滤波处理的控制信息:
284.关于去块滤波器(dbf)的控制信息
285.关于像素自适应偏移(sao)的控制信息
286.关于自适应环路滤波器(alf)的控制信息
287.关于其他线性/非线性滤波器的控制信息
288.更具体地,滤波信息finfo例如包括应用每个滤波器的图片、用于指定图片中的区域的信息、每个cu的滤波器开/关控制信息、切片和图块边界的滤波器开/关控制信息等。当然,滤波信息finfo中包括的信息是任意的,并且可以包括除了以上信息之外的信息。
289.返回到解码单元212的描述。解码单元212参考残差信息rinfo,并且导出每个变换块中的每个系数位置处的量化变换系数水平“level”。解码单元212将量化变换系数水平“level”提供给逆量化单元213。
290.此外,解码单元212将经解析的头信息hinfo、预测模式信息pinfo、量化变换系数水平“level”、变换信息tinfo和滤波信息finfo提供给每个块。如下面给出具体描述。
291.头信息hinfo被提供给逆量化单元213、逆正交变换单元214、预测单元219和环路滤波单元216。
292.预测模式信息pinfo被提供给逆量化单元213和预测单元219。
293.变换信息tinfo被提供给逆量化单元213和逆正交变换单元214。
294.滤波信息finfo被提供给环路滤波单元216。
295.当然,以上示例是示例,并且本实施方式不限于该示例。例如,可以将每个编码参数提供给任意处理单元。此外,可以将其他信息提供给任意处理单元。
296.《逆量化单元》
297.逆量化单元213至少具有执行关于逆量化的处理所需的配置。例如,逆量化单元213使用从解码单元212提供的变换信息tinfo和量化变换系数水平“level”作为输入,并且基于变换信息tinfo对量化变换系数水平“level”的值进行缩放(逆量化),以导出逆量化之后的变换系数coeff_iq。
298.注意,该逆量化作为由图像编码装置100的量化单元114进行的量化的逆处理而被执行。此外,逆量化是与由图像编码装置100的逆量化单元117执行的逆量化类似的处理。即,图像编码装置100的逆量化单元117执行与逆量化单元213类似的处理(逆量化)。
299.逆量化单元213将导出的变换系数coeff_iq提供给逆正交变换单元214。
300.《逆正交变换单元》
301.逆正交变换单元214执行关于逆正交变换的处理。例如,逆正交变换单元214使用从逆量化单元213提供的变换系数coeff_iq以及从解码单元212提供的变换信息tinfo作为输入,并且基于变换信息tinfo对变换系数coeff_iq执行逆正交变换处理,以导出预测残差d’。
302.注意,该逆正交变换作为由图像编码装置100的正交变换单元113进行的正交变换的逆处理而被执行。此外,逆正交变换是与由图像编码装置100的逆正交变换单元118进行的逆正交变换类似的处理。即,图像编码装置100的逆正交变换单元118执行与逆正交变换单元214类似的处理(逆正交变换)。
303.逆正交变换单元214将导出的预测残差d’提供给计算单元215。
304.《计算单元》
305.计算单元215执行与关于图像的信息的相加有关的处理。例如,计算单元215使用从逆正交变换单元214提供的预测残差d’以及从预测单元219提供的预测图像p作为输入。计算单元215将预测残差d’和与预测残差d’对应的预测图像p(预测信号)相加,以导出局部解码图像rlocal,如以下表达式所示。
306.rlocal=d’ p
307.计算单元215将导出的局部解码图像rlocal提供给环路滤波单元216和帧存储器218。
308.《环路滤波单元》
309.环路滤波单元216执行关于环路滤波处理的处理。例如,环路滤波单元216使用从计算单元215提供的局部解码图像rlocal以及从解码单元212提供的滤波信息finfo作为输入。注意,输入至环路滤波单元216的信息是任意的,并且可以包括除了以上提及的信息之外的信息。
310.环路滤波单元216基于滤波信息finfo适当地对局部解码图像rlocal执行滤波处理。
311.例如,环路滤波单元216按双边滤波器、去块滤波器(dbf)、自适应偏移滤波器(采样自适应偏移(sao))和自适应环路滤波器(自适应环路滤波器(alf))的顺序应用这四个环路滤波器。注意,应用哪个滤波器以及以何种顺序应用滤波器是任意的,并且可以适当地选择。
312.环路滤波单元216执行与在编码侧(例如,由图像编码装置100的环路滤波单元120)执行的滤波处理对应的滤波处理。当然,由环路滤波单元216执行的滤波处理是任意的,并且不限于以上示例。例如,环路滤波单元216可以应用维纳滤波器等。
313.环路滤波单元216将经滤波的局部解码图像rlocal提供给重排缓冲器217和帧存储器218。
314.《重排缓冲器》
315.重排缓冲器217使用从环路滤波单元216提供的局部解码图像rlocal作为输入,并且保持(存储)局部解码图像rlocal。重排缓冲器217使用局部解码图像rlocal对于每个图片单位重建解码图像r,并且将解码图像r保持(存储)(在缓冲器中)。重排缓冲器217将获得
的解码图像r从解码顺序重排为再现顺序。重排缓冲器217将经重排的解码图像r组作为运动图像数据输出至图像解码装置200的外部。
316.《帧存储器》
317.帧存储器218执行关于与图像有关的数据的存储的处理。例如,帧存储器218使用从计算单元215提供的局部解码图像rlocal作为输入,对于每个图片单位重建解码图像r,并且将解码图像r存储在帧存储器218中的缓冲器中。
318.此外,帧存储器218使用从环路滤波单元216提供的经环路滤波的局部解码图像rlocal作为输入,对于每个图片单位重建解码图像r,并且将解码图像r存储在帧存储器218中的缓冲器中。帧存储器218适当地将存储的解码图像r(或其部分)作为参考图像提供给预测单元219。
319.注意,帧存储器218可以存储与解码图像的生成有关的头信息hinfo、预测模式信息pinfo、变换信息tinfo、滤波信息finfo等。
320.《预测单元》
321.预测单元219执行关于预测图像的生成的处理。例如,预测单元219使用从解码单元212提供的预测模式信息pinfo作为输入,并且通过由预测模式信息pinfo指定的预测方法执行预测,以导出预测图像p。在导出时,预测单元219使用存储在帧存储器218中的滤波之前或滤波之后的解码图像r(或其一部分)作为参考图像,解码图像r由预测模式信息pinfo指定。预测单元219将导出的预测图像p提供给计算单元215。
322.注意,这些处理单元(累积缓冲器211至预测单元219)具有任意配置。例如,每个处理单元可以由实现上述处理的逻辑电路配置。此外,每个处理单元可以包括例如cpu、rom、ram等,并且通过使用以上资源执行程序来实现上述处理。当然,每个处理单元可以具有这两种配置,并且通过逻辑电路实现上述处理的一部分,并且通过执行程序实现处理的另一部分处理。处理单元的配置可以彼此独立。例如,处理单元中的一些可以通过逻辑电路实现上述处理的一部分,处理单元中的另一些可以通过执行程序实现上述处理,并且处理单元中的又一些可以通过逻辑电路和程序的执行两者实现上述处理。
323.《解码单元》
324.图11是示出图10中的解码单元212的主要配置示例的框图。如图11所示,解码单元212包括选择单元231、上下文设置单元232、上下文解码单元233、旁路解码单元234和逆二值化单元235。
325.注意,尽管这里描述了自适应正交变换标识符的编码数据的解码,但是解码单元212也如上所述的那样对其他编码参数、残差信息rinfo等的编码数据进行解码。解码单元212通过应用《2-2.自适应正交变换标识符的解码》中描述的方法1对自适应正交变换标识符的编码数据进行解码。
326.选择单元231执行关于二值化的自适应正交变换标识符的仓序列中的每个仓的编码数据的供应目的地的选择的处理。例如,选择单元231获取从累积缓冲器211提供的自适应正交变换标识符的仓序列的编码数据。
327.此外,选择单元231对于所获取的自适应正交变换标识符的仓序列中的每个仓的编码数据选择将供应目的地设置为上下文设置单元232还是旁路解码单元234。选择单元231根据以上在《2-2.自适应正交变换标识符的解码》中描述的方法1进行选择。例如,选择
单元231可以根据方法1-1(即,图3的a中示出的表)进行选择。此外,选择单元231可以根据方法1-2(即,图3的b中示出的表)进行选择。此外,选择单元231可以根据方法1-3(即,图4的a中示出的表)进行选择。此外,选择单元231可以根据方法1-4(即,图4的b中示出的表)进行选择。
328.在分配上下文变量(索引ctxinc)并且执行上下文解码的情况下,选择单元231将仓的编码数据提供给上下文设置单元232。在旁路解码的情况下,选择单元231将仓提供给旁路解码单元234。
329.上下文设置单元232执行关于上下文设置的处理。例如,上下文设置单元232获取从选择单元231提供的仓的编码数据。上下文设置单元232将上下文变量(索引ctxinc)分配给仓。上下文设置单元232根据以上在《2-2.自适应正交变换标识符的解码》中描述的方法1执行分配。例如,上下文设置单元232可以根据方法1-1(即,图3的a中示出的表)执行分配。此外,上下文设置单元232可以根据方法1-2(即,图3的b中示出的表)执行分配。此外,上下文设置单元232可以根据方法1-3(即,图4的a中示出的表)执行分配。此外,上下文设置单元232可以根据方法1-4(即,图4的b中示出的表)执行分配。
330.此外,上下文设置单元232可以从上下文解码单元233获取解码结果。上下文设置单元232可以使用解码结果适当地更新上下文变量(索引ctxinc)。上下文设置单元232将以这种方式导出的上下文变量(索引ctxinc)提供给上下文解码单元233。
331.上下文解码单元233执行关于算术解码的处理。例如,上下文解码单元233获取从上下文设置单元232提供的上下文变量(索引ctxinc)。此外,上下文解码单元233使用上下文变量(索引ctxinc)执行算术解码。即,执行上下文解码。此外,上下文解码单元233将解码结果即自适应正交变换标识符的仓序列中的要处理的仓提供给逆二值化单元235。
332.旁路解码单元234执行关于旁路解码的处理。例如,旁路解码单元234获取从选择单元231提供的仓的编码数据。旁路解码单元234对仓的编码数据执行旁路解码(算术解码)。旁路解码单元234将解码结果即自适应正交变换标识符的仓序列中的要处理的仓提供给逆二值化单元235。
333.逆二值化单元235执行关于自适应正交变换标识符的仓序列的逆二值化(也被称为多二值化)的处理。例如,逆二值化单元235获取从上下文解码单元233或旁路解码单元234提供的自适应正交变换标识符的仓序列。逆二值化单元235对获取的仓序列进行逆二值化以导出自适应正交变换标识符mts_idx。该逆二值化是由二值化单元131进行的二值化的逆处理。即,逆二值化单元235使用截断一元码(或截断莱斯码)执行逆二值化。逆二值化单元235将导出的自适应正交变换标识符mts_idx作为tinfo提供给逆正交变换单元214。逆正交变换单元214基于自适应正交变换标识符mts_idx适当地执行自适应正交变换。
334.由于处理单元(选择单元231至逆二值化单元235)中的每一个执行如上所述的处理,因此解码单元212可以通过应用方法1(例如,方法1-1至方法1-4中的任何一种)来对自适应正交变换标识符的编码数据进行解码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
335.《图像解码处理的流程》
336.接下来,将描述由具有以上配置的图像解码装置200执行的每个处理的流程。首先,将参照图12中的流程图描述图像解码处理的流程的示例。
337.当图像解码处理开始时,在步骤s201中,累积缓冲器211获取并保持(累积)从图像解码装置200的外部提供的编码数据(比特流)。
338.在步骤s202中,解码单元212对编码数据(比特流)进行解码,以获得量化变换系数水平“level”。此外,解码单元212通过该解码从编码数据(比特流)解析(分析和获取)各种编码参数。
339.在步骤s203中,逆量化单元213对通过步骤s202中的处理而获得的量化变换系数水平“level”执行作为在编码侧执行的量化的逆处理的逆量化,以获得变换系数coeff_iq。
340.在步骤s204中,逆正交变换单元214对在步骤s203中获得的变换系数coeff_iq执行作为在编码侧执行的正交变换处理的逆处理的逆正交变换处理,以获得预测残差d’。
341.在步骤s205中,预测单元219基于在步骤s202中解析的信息,通过在编码侧指定的预测方法执行预测处理,并且例如通过参考存储在帧存储器218中的参考图像来生成预测图像p。
342.在步骤s206中,计算单元215将在步骤s204中获得的预测残差d’与在步骤s205中获得的预测图像p相加,以导出局部解码图像rlocal。
343.在步骤s207中,环路滤波单元216对通过步骤s206中的处理而获得的局部解码图像rlocal执行环路滤波处理。
344.在步骤s208中,重排缓冲器217使用通过步骤s207中的处理而获得的经滤波的局部解码图像rlocal来导出解码图像r,并且将解码图像r组从解码顺序重排为再现顺序。将按再现顺序重排的解码图像r组作为运动图像输出至图像解码装置200的外部。
345.此外,在步骤s209中,帧存储器218存储通过步骤s206中的处理而获得的局部解码图像rlocal以及通过步骤s207中的处理而获得的滤波处理之后的局部解码图像rlocal中的至少之一。
346.当步骤s209中的处理结束时,图像解码处理结束。
347.《解码处理的流程》
348.在图12中的步骤s202中的解码处理中,解码单元212对自适应正交变换标识符mts_idx的编码数据进行解码。此时,解码单元212通过应用《2-2.自适应正交变换标识符的解码》中描述的方法1对自适应正交变换标识符的编码数据进行解码。将参照图13中的流程图描述自适应正交变换标识符mts_idx的编码数据的解码的流程的示例。
349.当解码处理开始时,在步骤s231中,解码单元212的选择单元231将自适应正交变换标识符mts_idx的仓序列中的第一仓(binidx=0)设置为要处理的仓。在这种情况下,选择单元231选择上下文设置单元232作为仓的供应目的地(即,选择上下文解码)。例如,选择单元231根据图3和图4中示出的表中的任何一个表(即,通过应用方法1-1至方法1-4中的任何一种)选择上下文解码作为用于该仓的解码方法。
350.在步骤s232中,上下文设置单元232将预先确定的预定上下文变量ctx(索引ctxinc)分配给仓。然后,上下文解码单元233使用上下文变量执行算术解码。即,执行上下文解码。
351.在步骤s233中,选择单元231将仓序列中的第二仓和后续仓中的未处理的仓设置为要处理的仓。在步骤s234中,选择单元231确定是否对要处理的仓执行旁路解码。例如,选择单元231根据图3和图4中示出的表中的任一个表(即,通过应用方法1-1至方法1-4中的任
何一种)确定是否对要处理的仓的编码数据进行旁路解码。
352.在确定执行旁路解码的情况下,处理进行到步骤s235。即,在这种情况下,选择单元231选择旁路解码单元234作为仓的编码数据的供应目的地。在步骤s235中,旁路解码单元234对要处理的仓的编码数据进行旁路解码。当步骤s235中的处理完成时,处理进行到步骤s237。
353.此外,在步骤s234中,在确定不执行旁路解码(执行上下文解码)的情况下,处理进行到步骤s236。即,在这种情况下,选择单元231选择上下文设置单元232作为仓的编码数据的供应目的地。在步骤s236中,上下文设置单元232将预先确定的预定上下文变量ctx(索引ctxinc)分配给仓。然后,上下文解码单元233使用上下文变量执行算术解码。即,执行上下文解码。当步骤s236中的处理完成时,处理进行到步骤s237。
354.在步骤s237中,逆二值化单元235使用截断一元码(或截断莱斯码)对仓序列进行逆二值化,以导出自适应正交变换标识符mts_idx。
355.在步骤s238中,解码单元212确定是否终止自适应正交变换标识符mts_idx的解码。在确定不终止解码的情况下,处理返回到步骤s233,并且重复步骤s233和后续步骤中的处理。此外,在步骤s238中,在确定终止解码的情况下,终止解码处理。
356.通过以这种方式执行每个处理,解码单元212可以通过应用方法1(例如,方法1-1至方法1-4中的任何一种)对自适应正交变换标识符的编码数据进行解码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
357.《3.第二实施方式》
358.《3-1.自适应正交变换标识符的编码》
359.在本实施方式中,如在图1的b中示出的表中已经执行的那样将上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的每个仓(方法0)执行如下。
360.即,将基于关于块大小的参数的上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
361.更具体地,关于块大小的参数是变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差。即,将基于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差的上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对第一仓执行上下文编码(方法2)。
362.例如,如图14的a中的表所示,可以基于变换块大小在水平方向上的对数值(log2w)与变换块大小在竖直方向上的对数值(log2h)之中的较长者(max(log2w,log2h))与自适应正交变换能够适用于的最小变换块大小的对数值(log2minmtssize)之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以对仓序列中的第二仓至第四仓执行旁路编码(方法2-1)。
363.在图14的a中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的
索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,并且对第二仓(binidx=1)至第四仓(binidx=3)执行旁路编码(bypass)。
364.此外,例如,如图14的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,可以将预定上下文变量(索引ctxinc)分配给仓序列中的第二仓,并且可以对第二仓执行上下文编码,并且可以对仓序列中的第三仓和第四仓执行旁路编码(方法2-2)。
365.在图14的b中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路编码(bypass)。
366.此外,例如,如图15的a中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓和第三仓,并且可以对第二仓和第三仓执行上下文编码,并且可以对仓序列中的第四仓执行旁路编码(方法2-3)。
367.在图15的a中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且对第四仓(binidx=3)执行旁路编码(bypass)。
368.此外,例如,如图15的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓至第四仓,并且可以对第二仓至第四仓执行上下文编码(方法2-4)。
369.在图15的b中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文编码。
370.注意,在图14和图15的表中,在索引b1、b2和b3中设置了不交叠的唯一值。
371.图16的表中示出了这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的示例。例如,在方法0的情况下,上下文的数目为9,上下文编码仓的数目为4,并且旁路编码仓的数目为0。相比之下,在方法2-1的情况下,上下文的数目为4,上下文编码仓的数目为1,并且旁路编码仓的数目为3。此外,在方法2-2的情况下,上下文的数目为5,上下文编码仓的数目为2,并且旁路编码仓的数目为2。此外,在方法2-3的情况下,上下文的数目为6,上下文编码仓的数目为3,并且旁路编码仓的数目为1。此外,在方法2-4的情况下,上下文的数目为7,上下文编码仓的数目为4,并且旁路编码仓的数目为0。
372.如上所述,在方法2-1至方法2-4的任何情况下,与方法0的情况相比,可以减少编码所需的上下文的数目。即,通过应用方法2,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
373.此外,在方法2-1至方法2-3的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文编码仓的数目。注意,在方法2-4的情况下,编码所需的上下文编码仓的数目与方法0的情况下编码所需的上下文编码仓的数目相当。即,通过应用方法2,可以将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
374.如上所述,通过应用方法2,可以抑制编码处理的负荷的增加。
375.《3-2.自适应正交变换标识符的解码》
376.类似地,在解码的情况下,如下执行如在图1的b中示出的表中已经执行的那样将上下文变量分配给指示图像解码中的逆自适应正交变换的模式的二值化的自适应正交变换标识符的仓序列中的每个仓。
377.即,将基于关于块大小的参数的上下文变量分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
378.更具体地,关于块大小的参数是变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差。即,将基于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差的上下文变量分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且对第一仓执行上下文解码(方法2)。
379.例如,如图14的a中的表所示,可以基于变换块大小在水平方向上的对数值(log2w)与变换块大小在竖直方向上的对数值(log2h)之中的较长者(max(log2w,log2h))与自适应正交变换能够适用于的最小变换块大小的对数值(log2minmtssize)之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以对仓序列中的第二仓至第四仓执行旁路解码(方法2-1)。
380.在图14的a中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,并且对第二仓(binidx=1)至第四仓(binidx=3)执行旁路解码(bypass)。
381.此外,例如,如图14的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索
引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将预定上下文变量(索引ctxinc)分配给仓序列中的第二仓,并且可以对第二仓执行上下文解码,并且可以对仓序列中的第三仓和第四仓执行旁路解码(方法2-2)。
382.在图14的b中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路解码(bypass)。
383.此外,例如,如图15的a中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓和第三仓,并且可以对第二仓和第三仓执行上下文解码,并且可以对仓序列中的第四仓执行旁路解码(方法2-3)。
384.在图15的a中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且对第四仓(binidx=3)执行旁路解码(bypass)。
385.此外,例如,如图15的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓至第四仓,并且可以对第二仓至第四仓执行上下文解码(方法2-4)。
386.在图15的b中的示例的情况下,将基于差(max(log2w,log2h)-log2minmtssize)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文解码。
387.注意,即使在解码的情况下,也与编码的情况类似,在图14和图15的表中的索引b1、b2和b3中也设置了不交叠的唯一值。
388.这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目与编码的情况类似(图16)。
389.如上所述,在方法2-1至方法2-4中的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文的数目。即,通过应用方法2,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
390.此外,在方法2-1至方法2-3的任何一种情况下,与方法0的情况相比,可以减少解
码所需的上下文编码仓的数目。注意,在方法2-4的情况下,解码所需的上下文编码仓的数目与方法0的情况下解码所需的上下文编码仓的数目相当。即,通过应用方法2,可以将旁路解码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
391.如上所述,通过应用方法2,可以抑制解码处理的负荷的增加。
392.《3-3.编码侧》
393.《配置》
394.接下来,将描述编码侧。这种情况下的编码侧的配置类似于第一实施方式的编码侧的配置。即,这种情况下的图像编码装置100具有与参照图6描述的配置类似的配置。此外,这种情况下的编码单元115具有与参照图7描述的配置类似的配置。
395.《编码处理的流程》
396.此外,这种情况下的图像编码装置100执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像编码装置100执行的图像编码处理通过与参照图8中的流程图描述的情况类似的流程来执行。
397.将参照图17中的流程图描述在这种情况下由编码单元115执行的用于对自适应正交变换标识符进行编码的编码处理的流程的示例。
398.在该编码处理中,与图9中的步骤s131和步骤s132中的处理类似地执行步骤s301和步骤s302中的处理。即,在这种情况下,选择单元132选择上下文设置单元133作为仓的供应目的地(即,选择上下文编码)。例如,选择单元132根据图14和图15中示出的表中的任何一个表(即,通过应用方法2-1至方法2-4中的任何一种)选择上下文编码作为用于该仓的编码方法。
399.在步骤s303中,上下文设置单元133基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给该仓。然后,上下文编码单元134使用上下文变量执行算术编码。即,执行上下文编码。
400.步骤s304至步骤s308中的处理也与图9中的步骤s134至步骤s138中的处理类似地执行。在步骤s308中,在确定终止编码的情况下,终止编码处理。
401.通过执行如上所述的每个处理,编码单元115可以通过应用方法2(例如,方法2-1至方法2-4中的任何一种)对自适应正交变换标识符进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
402.《3-4.解码侧》
403.《配置》
404.接下来,将描述解码侧。这种情况下的解码侧的配置类似于第一实施方式的解码侧的配置。即,这种情况下的图像解码装置200具有与参照图10描述的配置类似的配置。此外,这种情况下的解码单元212具有与参照图11描述的配置类似的配置。
405.《解码处理的流程》
406.此外,这种情况下的图像解码装置200执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像解码装置200执行的图像解码处理通过与参照图12中的流程图
描述的情况类似的流程来执行。
407.将参照图18中的流程图描述在这种情况下由解码单元212执行的用于对自适应正交变换标识符的编码数据进行解码的解码处理的流程的示例。
408.在该解码处理中,与图13的步骤s231的处理类似地执行步骤s321的处理。即,在这种情况下,选择单元231选择上下文设置单元232作为仓的供应目的地(即,选择上下文解码)。例如,选择单元231根据图14和图15中示出的表中的任何一个表(即,通过应用方法2-1至方法2-4中的任何一种)选择上下文解码作为用于该仓的解码方法。
409.在步骤s322中,上下文设置单元232基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差(max(log2w,log2h)-log2minmtssize)将上下文变量ctx(索引ctxinc)分配给该仓。然后,上下文解码单元233使用上下文变量执行算术解码。即,执行上下文解码。
410.步骤s323至步骤s328中的处理也与图13中的步骤s233至步骤s238中的处理类似地执行。在步骤s328中,在确定终止解码的情况下,终止解码处理。
411.通过以这种方式执行每个处理,解码单元212可以通过应用方法2(例如,方法2-1至方法2-4中的任何一种)对自适应正交变换标识符的编码数据进行解码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
412.《4.第三实施方式》
413.《4-1.自适应正交变换标识符的编码》
414.在本实施方式中,如下执行如在图1的b中示出的表中已经执行的那样将上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的每个仓(方法0)。
415.即,将基于关于块大小的参数的上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
416.更具体地,关于块大小的参数是变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的最小值。即,将基于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值的上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对第一仓执行上下文编码(方法3)。
417.注意,该阈值th是任意值。通过将该阈值设置为小于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差的最大值的值,与方法2的情况相比,可以减少上下文的数目。因此,可以减少存储器使用量。
418.例如,如图19的a中的表所示,可以基于变换块大小在水平方向上的对数值(log2w)与变换块大小在竖直方向上的对数值(log2h)之中的较长者(max(log2w,log2h))与自适应正交变换能够适用于的最小变换块大小的对数值(log2minmtssize)之间的差(max(log2w,log2h)-log2minmtssize)和预定阈值(th)之中的较小值(min(max(log2w,
log2minmtssize,th))的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文编码。
426.注意,在图19和图20的表中,在索引b1、b2和b3中设置了不交叠的唯一值。
427.图21的表中示出了这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的示例。图21的a中示出的表示出了阈值th=2的情况下的示例。在本示例中,例如,在方法0的情况下,上下文的数目为9,上下文编码仓的数目为4,并且旁路编码仓的数目为0。相比之下,在方法3-1的情况下,上下文的数目为3,上下文编码仓的数目为1,并且旁路编码仓的数目为3。此外,在方法3-2的情况下,上下文的数目为4,上下文编码仓的数目为2,并且旁路编码仓的数目为2。此外,在方法3-3的情况下,上下文的数目为5,上下文编码仓的数目为3,并且旁路编码仓的数目为1。此外,在方法3-4的情况下,上下文的数目为6,上下文编码仓的数目为4,并且旁路编码仓的数目为0。
428.此外,图21的b中示出的表示出了阈值th=1的情况下的示例。在该示例中,在方法3-1的情况下,上下文的数目为2。此外,在方法3-2的情况下,上下文的数目为3。此外,在方法3-3的情况下,上下文的数目为4。此外,在方法3-4的情况下,上下文的数目为5。
429.如上所述,在方法3-1至方法3-4的任何情况下,与方法0的情况相比,可以减少编码所需的上下文的数目。即,通过应用方法3,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
430.此外,在方法3-1至方法3-3的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文编码仓的数目。注意,在方法3-4的情况下,编码所需的上下文编码仓的数目与方法0的情况下编码所需的上下文编码仓的数目相当。即,通过应用方法3,可以将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
431.如上所述,通过应用方法3,可以抑制编码处理的负荷的增加。
432.《4-2.自适应正交变换标识符的解码》
433.类似地,在解码的情况下,如下执行如在图1的b中所示的表中已经执行的那样将上下文变量分配给指示图像解码中的逆自适应正交变换的模式的二值化的自适应正交变换标识符的仓序列中的每个仓。
434.即,将基于关于块大小的参数的上下文变量分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
435.更具体地,关于块大小的参数是变换块的长边的对数值与可以应用自适应正交变换的最小变换块大小的对数值之间的差和预定阈值之中的最小值。即,将基于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值的上下文变量分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且对第一仓执行上下文解码(方法3)。
436.注意,如在编码的情况下那样,阈值th是任意值。通过将该阈值设置为小于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差的最
log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓至第四仓,并且可以对第二仓至第四仓执行上下文解码(方法3-4)。
444.在图20的b中的示例的情况下,将基于最小值(min(max(log2w,log2h)-log2minmtssize,th))的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文解码。
445.注意,即使在解码的情况下,也与编码的情况类似,在图19和图20的表中的索引b1、b2和b3中也设置了不交叠的唯一值。
446.这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目与用于编码的这些数目类似(图21中的a和图21中的b)。
447.如上所述,在方法3-1至方法3-4中的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文的数目。即,通过应用方法3,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
448.此外,在方法3-1至方法3-3的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文编码仓的数目。注意,在方法3-4的情况下,解码所需的上下文编码仓的数目与方法0的情况下解码所需的上下文编码仓的数目相当。即,通过应用方法3,可以将旁路解码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
449.如上所述,通过应用方法3,可以抑制解码处理的负荷的增加。
450.《4-3.编码侧》
451.《配置》
452.接下来,将描述编码侧。这种情况下的编码侧的配置类似于第一实施方式的编码侧的配置。即,这种情况下的图像编码装置100具有与参照图6描述的配置类似的配置。此外,这种情况下的编码单元115具有与参照图7描述的配置类似的配置。
453.《编码处理的流程》
454.此外,这种情况下的图像编码装置100执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像编码装置100执行的图像编码处理通过与参照图8中的流程图描述的情况类似的流程来执行。
455.将参照图22中的流程图描述在这种情况下由编码单元115执行的用于对自适应正交变换标识符进行编码的编码处理的流程的示例。
456.在该编码处理中,与图9中的步骤s131和s132中的处理类似地执行步骤s351和s352中的处理。即,在这种情况下,选择单元132选择上下文设置单元133作为仓的供应目的地(即选择了上下文编码。)。例如,选择单元132根据图19和图20所示的表中的任何一个(即,通过应用方法3-1至方法3-4中的任何一种)选择上下文编码作为用于仓的编码方法。
457.在步骤s353中,上下文设置单元133基于变换块大小在水平方向上的对数值与变
换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给仓。然后,上下文编码单元134使用上下文变量执行算术编码。即,执行上下文编码。
458.步骤s354至s358中的处理也与图9中的步骤s134至s138中的处理类似地执行。在步骤s358中,在确定终止编码的情况下,终止编码处理。
459.通过执行如上所述的每个处理,编码单元115可以通过应用方法3(例如,方法3-1至方法3-4中的任何一个)对自适应正交变换标识符进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
460.《4-4.解码侧》
461.《配置》
462.接下来,将描述解码侧。在这种情况下的解码侧的配置类似于第一实施方式的解码侧的配置。即,在这种情况下的图像解码装置200具有与参照图10描述的配置类似的配置。此外,在这种情况下的解码单元212具有与参照图11描述的配置类似的配置。
463.《解码处理的流程》
464.此外,在这种情况下的图像解码装置200执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像解码装置200执行的图像解码处理通过与参照图12中的流程图描述的情况类似的流程来执行。
465.将参照图23中的流程图描述在这种情况下由解码单元212执行的用于对自适应正交变换标识符的编码数据进行解码的解码处理的流程的示例。
466.在该解码处理中,与图13的步骤s231的处理类似地执行步骤s371的处理。即,在这种情况下,选择单元231选择上下文设置单元232作为仓的供应目的地(即,选择上下文解码。)。例如,选择单元231根据图19和图20所示的表中的任何一个(即,通过应用方法3-1至方法3-4中的任何一种)选择上下文解码作为用于仓的解码方法。
467.在步骤s372中,上下文设置单元232基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给仓。然后,上下文解码单元233使用上下文变量执行算术解码。即,执行上下文解码。
468.步骤s373至s378中的处理也与图13中的步骤s233至s238中的处理类似地执行。在步骤s378中,在确定终止解码的情况下,终止解码处理。
469.通过以这种方式执行每个处理,解码单元212可以通过应用方法3(例如,方法3-1至方法3-4中的任何一个)来对自适应正交变换标识符的编码数据进行解码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
470.《5.第四实施方式》
471.《5-1.自适应正交变换标识符的编码》
472.在本实施方式中,如下执行如在图1的b中所示的表中已经执行的那样将上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行
二值化而获得的仓序列中的每个仓(方法0)。
473.即,将基于关于块大小的参数的上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
474.更具体地,关于块大小的参数是对变换块的长边的对数值与可以应用自适应正交的最小变换块大小的对数值之间的差与预定阈值之中的最小值进行右移位后的结果。即,将基于对变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差与预定阈值之中的最小值进行右移位后的结果分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对第一仓执行上下文编码(方法4)。
475.注意,该阈值th是任意值。通过将该阈值设置为小于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差的最大值的值,与方法2的情况相比,可以减少上下文的数目。此外,作为右移位的移位量的缩放参数shift的值是任意的。在方法4的情况下,由于最小值被进一步右移位,因此与方法3的情况相比,可以减少上下文的数目。因此,可以减少存储器使用量。
476.例如,如图24的a中的表所示,可以基于对变换块大小在水平方向上的对数值(log2w)与变换块大小在竖直方向上的对数值(log2h)之中的较长者(max(log2w,log2h))与自适应正交变换能够适用于的最小变换块大小的对数值(log2minmtssize)之间的差(max(log2w,log2h)-log2minmtssize)和预定阈值(th)之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))进行右移位后的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以对仓序列中的第二仓至第四仓执行旁路编码(方法4-1)。
477.在图24的a示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且可以对第一仓执行上下文编码,并且对第二仓(binidx=1)至第四仓(binidx=3)执行旁路编码(bypass)。
478.此外,例如,如图24的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,可以将预定上下文变量(indexctxinc)分配给仓序列中的第二仓,并且可以对第二仓执行上下文编码,并且可以对仓序列中的第三仓和第四仓执行旁路编码(方法4-2)。
479.在图24的b中的示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路编码(方法2和3)。
480.此外,例如,如图25的a中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,可以将彼此不同的预定上下文变量(indexctxinc)分配给仓序列中的第二仓和第三仓,并且可以对第二仓和第三仓执行上下文编码,并且可以对仓序列中的第四仓执行旁路编码(方法4-3)。
481.在图25的a中的示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且对第四仓(binidx=3)执行旁路编码(bypass)。
482.此外,例如,如图25的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以将彼此不同的预定上下文变量(indexctxinc)分配给仓序列中的第二仓至第四仓,并且可以对第二仓至第四仓执行上下文编码(方法4-4)。
483.在图25的b中的示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文编码。
484.注意,在图24和图25中的表中,在索引b1、b2和b3中设置了不交叠的唯一值。
485.图26的表中示出了这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的示例。图26中示出的表是阈值th=2并且缩放参数(右移位的移位量)shift=1情况下的示例。在本示例中,例如,在方法0的情况下,上下文的数目为9,上下文编码仓的数目为4,并且旁路编码仓的数目为0。相比之下,在方法4-1的情况下,上下文的数目为2,上下文编码仓的数目为1,旁路编码仓的数目为3。此外,在方法4-2的情况下,上下文的数目为3,上下文编码仓的数目为2,旁路编码仓的数目为2。此外,在方法4-3的情况下,上下文的数目为4,上下文编码仓的数目为3,并且旁路编码仓的数目为1。另外,在方法4-4的情况下,上下文的数目为5,上下文编码仓的数目为4,并且旁路编码仓的数目为0。
486.如上所述,在方法4-1至方法4-4的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文的数目。即,通过应用方法4,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
487.此外,在方法4-1至方法4-3的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文编码仓的数目。注意,在方法4-4的情况下,编码所需的上下文编码仓的数
目与方法0的情况下编码所需的上下文编码仓的数目相当。即通过应用方法4,可以将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
488.如上所述,通过应用方法4,可以抑制编码处理的负荷的增加。
489.《5-2.自适应正交变换标识符的解码》
490.类似地,在解码的情况下,如下执行如在图1的b中所示的表中已经执行的那样将上下文变量分配给指示图像解码中的逆自适应正交变换的模式的二值化的自适应正交变换标识符的仓序列中的每个仓。
491.即,将基于关于块大小的参数的上下文变量分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
492.更具体地,关于块大小的参数是对变换块的长边的对数值与可以应用自适应正交的最小变换块大小的对数值之间的差和预定阈值之中的最小值进行右移位后的结果。即,将基于对变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的最小值进行右移位的结果的上下文变量分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且对第一仓执行上下文解码(方法4)。
493.注意,如在编码的情况下那样,阈值th是任意值。通过将该阈值设置为小于变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差的最大值的值,与方法2的情况相比,可以减少上下文的数目。此外,作为右移位的移位量的缩放参数shift的值是任意的。在方法4的情况下,由于最小值被进一步右移位,因此与方法3的情况相比,可以减少上下文的数目。因此,可以减少存储器使用量。
494.例如,如图24的a中的表所示,可以基于对变换块大小在水平方向上的对数值(log2w)与变换块大小在竖直方向上的对数值(log2h)之中的较长者(max(log2w,log2h))与自适应正交变换能够适用于的最小变换块大小的对数值(log2minmtssize)之间的差(max(log2w,log2h)-log2minmtssize)和预定阈值(th)之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))进行右移位后的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以对仓序列中的第二仓至第四仓执行旁路解码(方法4-1)。
495.在图24的a中的示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,并且对第二仓(binidx=1)至第四仓(binidx=3)执行旁路解码(bypass)。
496.此外,例如,如图24的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将预定上下文变量(indexctxinc)分配给仓序列中的第二仓,并且可以对第二仓执行上下文解码,并且可以对仓序列中的第三仓和第四仓执行旁路解码(方法4-2)。
497.在图24的b中的示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路解码(方法2和3)。
498.此外,例如,如图25的a中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给通过二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将彼此不同的预定上下文变量(indexctxinc)分配给仓序列中的第二仓和第三仓,并且可以对第二仓和第三仓执行上下文解码,并且可以对仓序列中的第四仓执行旁路解码(方法4-3)。
499.在图25的a中的示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且对第四仓(binidx=3)执行旁路解码(bypass)。
500.此外,例如,如图25的b中的表所示,可以基于变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的较小值(min(max(log2w,log2h)-log2minmtssize,th))将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以将彼此不同的预定上下文变量(indexctxinc)分配给仓序列中的第二仓至第四仓,并且可以对第二仓至第四仓执行上下文解码(方法4-4)。
501.在图25的b中的示例的情况下,将基于右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)的索引ctxinc分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文解码。
502.注意,即使在解码的情况下,也与编码的情况类似,在图24和图25的表中的索引b1、b2和b3中也设置了不交叠的唯一值。
503.这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目与用于编码的这些数目类似(图26)。
504.如上所述,在方法4-1至方法4-4中的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文的数目。即,通过应用方法4,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
505.此外,在方法4-1至方法4-3的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文编码仓的数目。注意,在方法4-4的情况下,解码所需的上下文编码仓的数
目与方法0的情况下解码所需的上下文编码仓的数目相当。即,通过应用方法4,可以将旁路解码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
506.如上所述,通过应用方法4,可以抑制解码处理的负荷的增加。
507.《5-3.编码侧》
508.《配置》
509.接下来,将描述编码侧。这种情况下的编码侧的配置类似于第一实施方式的编码侧的配置。即,这种情况下的图像编码装置100具有与参照图6描述的图像编码装置100的配置类似的配置。此外,这种情况下的编码单元115具有与参照图7描述的配置类似的配置。
510.《编码处理的流程》
511.此外,这种情况下的图像编码装置100执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像编码装置100执行的图像编码处理通过与参照图8中的流程图描述的情况类似的流程来执行。
512.将参照图27中的流程图描述在这种情况下由编码单元115执行的用于对自适应正交变换标识符进行编码的编码处理的流程的示例。
513.在该编码处理中,与图9中的步骤s131和s132中的处理类似地执行步骤s401和s402中的处理。即,在这种情况下,选择单元132选择上下文设置单元133作为仓的供应目的地(即选择了上下文编码)。例如,选择单元132根据图24和图25所示的表中的任何一个(即,通过应用方法4-1至方法4-4中的任何一种)选择上下文编码作为用于仓的编码方法。
514.在步骤s403中,上下文设置单元133基于通过缩放参数shift对变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的最小值进行右移位的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)将上下文变量ctx(索引ctxinc)分配给仓。然后,上下文编码单元134使用上下文变量执行算术编码。即,执行上下文编码。
515.步骤s404至s408中的处理也与图9中的步骤s134至s138中的处理类似地执行。在步骤s408中,在确定终止编码的情况下,终止编码处理。
516.通过执行如上所述的每个处理,编码单元115可以通过应用方法4(例如,方法4-1至方法4-4中的任何一个)来对自适应正交变换标识符进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
517.《5-4.解码侧》
518.《配置》
519.接下来,将描述解码侧。这种情况下的解码侧的配置类似于第一实施方式的解码侧的配置。即,在这种情况下的图像解码装置200具有与参照图10描述的配置类似的配置。此外,在这种情况下的解码单元212具有与参照图11描述的配置类似的配置。
520.《解码处理的流程》
521.此外,在这种情况下的图像解码装置200执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像解码装置200执行的图像解码处理通过与参照图12中的流程图描述的情况类似的流程来执行。
522.将参照图28中的流程图描述在这种情况下由解码单元212执行的用于对自适应正
交变换标识符的编码数据进行解码的解码处理的流程的示例。
523.在该解码处理中,与图13的步骤s231的处理类似地执行步骤s421的处理。即,在这种情况下,选择单元231选择上下文设置单元232作为仓的供应目的地(即,选择上下文解码。)。例如,选择单元231根据图24和图25所示的表中的任何一个(即通过应用方法4-1至方法4-4中的任何一种)选择上下文解码作为用于仓的解码方法。
524.在步骤s422中,上下文设置单元232基于通过缩放参数shift对变换块大小在水平方向上的对数值与变换块大小在竖直方向上的对数值之中的较长者与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的最小值进行右移位后的结果(min(max(log2w,log2h)-log2minmtssize,th)》》shift)将上下文变量ctx(索引ctxinc)分配给仓。然后,上下文解码单元233使用上下文变量执行算术解码。即,执行上下文解码。
525.步骤s423至s428中的处理也与图13中的步骤s233至s238中的处理类似地执行。在步骤s428中,在确定终止解码的情况下,终止解码处理。
526.通过以这种方式执行每个处理,解码单元212可以通过应用方法4(例如,方法4-1至方法4-4中的任何一个)来对自适应正交变换标识符的编码数据进行解码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
527.《6.第五实施方式》
528.《6-1.自适应正交变换标识符的编码》
529.在本实施方式中,如下执行如在图1的b中所示的表中已经执行的那样将上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的每个仓(方法0)。
530.即,将基于关于块大小的参数的上下文变量分配给通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
531.更具体地,根据关于块大小的参数是否等于或大于预定阈值来分配上下文变量并且执行上下文编码(方法5)。
532.例如,如图29的a所示的表中,可以根据关于块大小的参数(s)是否等于或大于预定阈值(th)(s《th?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以对仓序列中的第二仓至第四仓执行旁路编码(方法5-1)。
533.在图29的a中的示例中,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的第一仓(binidx=0),并且对第一仓执行上下文编码,而在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码。此外,对第二仓(binidx=1)至第四仓(binidx=3)执行旁路编码(bypass)。
534.此外,例如,如图29的b所示的表中,可以根据关于块大小的参数是否等于或大于预定阈值(s《th?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,可以将预定上
下文变量(索引ctxinc)分配给第二仓,并且可以对第二仓执行上下文编码,并且可以对仓序列中的第三仓和第四仓执行旁路编码(方法5-2)。
535.在图29的b中的示例的情况下,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路编码(bypass)。
536.此外,例如,如图30的a所示的表中,可以根据关于块大小的参数是否等于或大于预定阈值(s《th?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,可以将彼此不同的预定上下文变量(索引ctxinc)分配给第二仓和第三仓,并且可以对第二仓和第三仓执行上下文编码,并且可以对仓序列中的第四仓执行旁路编码(方法5-3)。
537.在图30的a中的示例的情况下,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓,并且对第一仓执行上下文编码,而在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且对第四仓(binidx=3)执行旁路编码(bypass)。
538.此外,例如,如图30的b所示的表中,可以根据关于块大小的参数是否等于或大于预定阈值(s《th?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以将彼此不同的预定上下文变量(索引ctxinc)分配给第二仓至第四仓,并且可以对第二仓至第四仓执行上下文编码(方法5-4)。
539.在图30的b中的示例的情况下,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,而在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文编码。
540.注意,在图29和图30的表中,在索引a0、a1、b1、b2和b3中设置了不交叠的唯一值。
541.注意,参数s可以是任何参数,只要参数s与块大小相关即可。
542.例如,参数s可以是变换块的宽度tbwidth和高度tbheight的乘积,即变换块的面积。
543.s=tbwidth*tbheight
544.此外,参数s可以是变换块的宽度tbwidth的对数值与高度tbheight的对数值之和,即变换块的面积的对数值。
545.s=log2(tbwidth) log2(tbheight)
546.此外,参数s可以是变换块的宽度tbwidth和高度tbheight的最大值,即变换块的长边的大小。
547.s=max(tbwidth,tbheight)
548.此外,参数s可以是变换块的宽度tbwidth和高度tbheight中的最小值,即变换块的短边的大小。
549.s=min(tbwidth,tbheight)
550.此外,参数s可以是变换块的宽度tbwidth的对数值和高度tbheight的对数值的最大值,即变换块的长边的大小的对数值。
551.s=max(log2(tbwidth),log2(tbheight))
552.此外,参数s可以是变换块的宽度tbwidth的对数值和高度tbheight的对数值的最小值,即变换块的短边的大小的对数值。
553.s=min(log2(tbwidth),log2(tbheight))
554.此外,参数s可以是编码块的面积与ctu的面积的比率cbsubdiv。编码块的面积与ctu的面积的比率cbsubdiv的示例如图31的表所示。
555.s=cbsubdiv
556.此外,参数s可以是通过缩放参数shift对编码块的面积与ctu的面积的比率cbsubdiv进行右移位的结果。注意,缩放参数shift可以是ctu的块大小的对数值与最大变换块大小的对数值之间的差。此外,最大变换块大小的对数值可以是5。
557.s=cbsubdiv》》shift
558.shift=(log2ctusize-log2maxtssize)
559.log2maxtssize=5
560.此外,参数s可以是变换块的宽度tbwidth的对数值与高度tbheight的对数值之间的差的绝对值。
561.s=abs(log2(tbwidth)-log2(tbheight))
562.图32的表中示出了这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的示例。在本示例中,例如,在方法0的情况下,上下文的数目为9,上下文编码仓的数目为4,并且旁路编码仓的数目为0。相比之下,在方法5-1的情况下,上下文的数目为2,上下文编码仓的数目为1,旁路编码仓的数目为3。此外,在方法5-2的情况下,上下文的数目为3,上下文编码仓的数目为2,并且旁路编码仓的数目为2。另外,在方法5-3的情况下,上下文的数目为4,上下文编码仓的数目为3,并且旁路编码仓的数目为1。此外,在方法5-4的情况下,上下文的数目为5,上下文编码仓的数目为4,并且旁路编码仓的数目为0。
563.如上所述,在方法5-1至方法5-4的任何情况下,与方法0的情况相比,可以减少编码所需的上下文的数目。即,通过应用方法5,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
564.此外,在方法5-1至方法5-3的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文编码仓的数目。注意,在方法5-4的情况下,编码所需的上下文编码仓的数目与方法0的情况下编码所需的上下文编码仓的数目相当。即通过应用方法5,可以将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
565.如上所述,通过应用方法5,可以抑制编码处理的负荷的增加。
566.《6-2.自适应正交变换标识符的解码》
567.类似地,在解码的情况下,如下执行如在图1的b中所示的表中已经执行的那样将上下文变量分配给指示图像解码中的逆自适应正交变换的模式的二值化的自适应正交变换标识符的仓序列中的每个仓。
568.即,将基于关于块大小的参数的上下文变量分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且对仓序列中的第一仓执行上下文编码。
569.更具体地,根据关于块大小的参数是否等于或大于预定阈值来分配上下文变量并且执行上下文解码(方法5)。
570.例如,如图29的a所示的表中,可以根据关于块大小的参数(s)是否等于或大于预定阈值(th)(s《th?)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以对仓序列中的第二仓至第四仓执行旁路解码(方法5-1)。
571.在图29的a中的示例中,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓,并且对第一仓执行上下文解码,而在块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,对第二仓(binidx=1)至第四仓(binidx=3)执行旁路解码(bypass)。
572.此外,例如,如图29的b所示的表中,可以根据关于块大小的参数是否等于或大于预定阈值(s《th?)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将预定上下文变量(索引ctxinc)分配给第二仓,并且可以对第二仓执行上下文解码,并且可以对仓序列中的第三仓和第四仓执行旁路解码(方法5-2)。
573.在图29的b中的示例中,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的第一仓(binidx=0),并且对第一仓执行上下文解码,而在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,并且对第三仓(binidx=2)和第四仓(binidx=3)执行旁路解码(bypass)。
574.此外,例如,如图30的a所示的表中,可以根据关于块大小的参数是否等于或大于预定阈值(s《th?)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将彼此不同的预定上下文变量(索引ctxinc)分配给第二仓和第三仓,并且可以对第二仓和第三仓执行上下文解码,并且可以对仓序列中的第四仓执行旁路解码(方法5-3)。
575.在图30的a中的示例中,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓,并且对第一仓执行上下文解码,而在块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且
对第三仓执行上下文解码,并且对第四仓(binidx=3)执行旁路解码(bypass)。
576.此外,例如,如图30的b所示的表中,可以根据关于块大小的参数是否等于或大于预定阈值(s《th?)将上下文变量ctx(索引ctxinc)分配给二值化的自适应正交变换标识符的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以将彼此不同的预定上下文变量(索引ctxinc)分配给第二仓至第四仓,并且可以对第二仓至第四仓执行上下文解码(方法5-4)。
577.在图25的b中的示例中,在关于块大小的参数小于预定阈值(s《th)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的第一仓(binidx=0),并且对第一仓执行上下文解码,而在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码,并且将索引ctxinc=b3分配给第四仓(binidx=3),并且对第四仓执行上下文解码。
578.注意,即使在解码的情况下,也与编码的情况类似,在图29和图30的表中的索引a0、a1、b1、b2和b3中也设置了不交叠的唯一值。
579.此外,在解码的情况下,参数s可以是任何参数,只要参数s与块大小相关即可,类似于编码的情况。例如,参数s可以能够通过在《6-1.自适应正交变换标识符的编码》中描述的各种方法导出。
580.这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目与用于编码的这些数目类似(图32)。
581.如上所述,在方法5-1至方法5-4中的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文的数目。即,通过应用方法5,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
582.此外,在方法5-1至方法5-3的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文编码仓的数目。注意,在方法5-4的情况下,解码所需的上下文编码仓的数目与方法0的情况下解码所需的上下文编码仓的数目相当。即,通过应用方法5,可以将旁路解码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
583.如上所述,通过应用方法5,可以抑制解码处理的负荷的增加。
584.《6-3.编码侧》
585.《配置》
586.接下来,将描述编码侧。这种情况下的编码侧的配置类似于第一实施方式的编码侧的配置。即,这种情况下的图像编码装置100具有与参照图6描述的配置类似的配置。此外,这种情况下的编码单元115具有与参照图7描述的配置类似的配置。
587.《编码处理的流程》
588.此外,这种情况下的图像编码装置100执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像编码装置100执行的图像编码处理通过与参照图8中的流程图描述的情况类似的流程来执行。
589.将参照图33中的流程图描述在这种情况下由编码单元115执行的用于对自适应正
交变换标识符进行编码的编码处理的流程的示例。
590.在该编码处理中,与图9中的步骤s131和s132中的处理类似地执行步骤s451和s452中的处理。即,在这种情况下,选择单元132选择上下文设置单元133作为仓的供应目的地(即选择了上下文编码。)。例如,选择单元132根据图29和图30所示的表中的任何一个(即,通过应用方法5-1至方法5-4中的任何一种)选择上下文编码作为用于仓的编码方法。
591.在步骤s453中,上下文设置单元133根据关于块大小的参数(s)是否等于或大于预定阈值(th)(s《th?),将上下文变量ctx(索引ctxinc)分配给仓。
592.例如,在关于块大小的参数小于预定阈值(s<th)的情况下,上下文设置单元133将索引ctxinc=a0分配给仓。此外,在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,上下文设置单元133将索引ctxinc=a1分配给仓。
593.然后,上下文编码单元134使用上下文变量执行算术编码。即,执行上下文编码。
594.步骤s454至s458中的处理也与图9中的步骤s134至s138中的处理类似地执行。在步骤s408中,在确定终止编码的情况下,终止编码处理。
595.通过执行如上所述的每个处理,编码单元115可以通过应用方法5(例如,方法5-1至方法5-4中的任何一个)来对自适应正交变换标识符进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
596.《6-4.解码侧》
597.《配置》
598.接下来,将描述解码侧。这种情况下的解码侧的配置类似于第一实施方式的解码侧的配置。即,在这种情况下的图像解码装置200具有与参照图10描述的配置类似的配置。此外,在这种情况下的解码单元212具有与参照图11描述的配置类似的配置。
599.《解码处理的流程》
600.此外,在这种情况下的图像解码装置200执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像解码装置200执行的图像解码处理通过与参照图12中的流程图描述的情况类似的流程来执行。
601.将参照图34中的流程图描述在这种情况下由解码单元212执行的用于对自适应正交变换标识符的编码数据进行解码的解码处理的流程的示例。
602.在该解码处理中,与图13的步骤s231的处理类似地执行步骤s471的处理。即,在这种情况下,选择单元231选择上下文设置单元232作为仓的供应目的地(即,选择上下文解码。)。例如,选择单元231根据图29和图30所示的表中的任何一个(即,通过应用方法5-1至方法5-4中的任何一个)选择上下文解码作为用于仓的解码方法。
603.在步骤s472中,上下文设置单元232根据关于块大小的参数(s)是否等于或大于预定阈值(th)(s《th?),将上下文变量ctx(索引ctxinc)分配给仓。
604.例如,在关于块大小的参数小于预定阈值(s<th)的情况下,上下文设置单元232将索引ctxinc=a0分配给仓。此外,在关于块大小的参数等于或大于预定阈值(s≥th)的情况下,上下文设置单元232将索引ctxinc=a1分配给仓。
605.然后,上下文解码单元233使用上下文变量执行算术解码。即,执行上下文解码。
606.步骤s473至s478中的处理也与图13中的步骤s233至s238中的处理类似地执行。在步骤s478中,在确定终止解码的情况下,终止解码处理。
607.通过以这种方式执行每个处理,解码单元212可以通过应用方法5(例如,方法5-1至方法5-4中的任何一个)来对自适应正交变换标识符的编码数据进行解码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
608.《7.第六实施方式》
609.《7-1.自适应正交变换标识符的编码》
610.在本实施方式中,如下执行如在图2的a中示出的表中已经执行的那样对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符的二值化(方法0)。
611.即,自适应正交变换标识符被二值化为由指示变换类型是否不同于变换类型dct2
×
dct2的一个仓(一个位)和指示其他变换类型的两个仓(两个位)配置而成的仓序列,并且被编码(方法6)。
612.例如,如图35的a所示的表中,在自适应正交变换标识符的变换类型为dct2
×
dct2的情况下,自适应正交变换标识符被二值化为一个仓(=0)的仓序列,而在自适应正交变换标识符的变换类型不同于dct2
×
dct2的情况下,将自适应正交变换标识符二值化为三个仓的仓序列。
613.在图35的a的示例的情况下,自适应正交变换标识符mts_idx=0被二值化为指示变换类型为dct2
×
dct2的仓序列“0”,并且被编码。此外,自适应正交变换标识符mts_idx=1被二值化为指示变换类型不同于dct2
×
dct2并且是dst7
×
dst7的仓序列“100”,并且被编码。此外,自适应正交变换标识符mts_idx=2被二值化为指示变换类型不同于dct2
×
dct2并且是dct8
×
dst7的仓序列“101”,并且被编码。此外,自适应正交变换标识符mts_idx=3被二值化为指示变换类型不同于dct2
×
dct2并且是dst7
×
dct8的仓序列“110”,并且被编码。此外,自适应正交变换标识符mts_idx=4被二值化为指示变换类型不同于dct2
×
dct2并且是dct8
×
dct8的仓序列“111”,并且被编码。
614.通过以这种方式对自适应正交变换标识符进行二值化,仓序列的长度(仓长度)可以最多为三个仓。在图2的a的示例(方法0)的情况下,仓序列的长度(仓长度)最多为4个仓,因此通过应用方法6,可以将仓长度缩短一个仓。
615.注意,如在图35的b中所示的表中,该仓序列可以被划分为指示变换类型是否不同于dct2
×
dct2的一个仓的前缀部分以及指示其他变换类型的两个仓的后缀部分,并且被二值化。
616.此外,可以通过方法0至方法5中的任何一种将上下文变量分配给通过根据方法6的二值化生成的自适应正交变换标识符的仓序列中的每个仓,并且可以执行编码。
617.例如,如图36的a所示的表中,可以将预定上下文变量ctx(索引ctxinc)即固定(一一对应)的上下文变量ctx分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以对仓序列中的第二仓和第三仓执行旁路编码(方法1-1)。
618.在图36的a中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,并且对第二仓(binidx=1)和第三仓(binidx=2)执行旁路编码。
619.此外,例如,如图36的b中示出的表中,可以将彼此不同的预定上下文变量ctx(索
引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓和第二仓,并且可以对第一仓和第二仓执行上下文编码,并且可以对仓序列中的第三仓执行旁路编码(方法1-2)。
620.在图36的b中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,并且对第三仓(binidx=2)和执行旁路编码。
621.此外,例如,如图36的c所示的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓至第三仓,并且可以对第一仓至第三仓执行上下文编码(方法1-3)。
622.在图36的c中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文编码,并且将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文编码。
623.注意,在图36的表中,在索引a0、b1和b2中设置了非交叠的唯一值。
624.在图37的表中示出了这些方法中的每一种的上下文的数目、上下文编码仓的数目、旁路编码仓的数目和最坏情况下的仓长度的示例。例如,在方法0的情况下,最坏情况下的仓长度为4。例如,在方法0的情况下,上下文的数目为9,上下文编码仓的数目为4,并且旁路编码仓的数目为0。相比之下,在方法6和方法1-1的组合(方法6-1)的情况下,最坏情况下的仓长度为3。因此,上下文的数目为2,上下文编码仓的数目为1,并且旁路编码仓的数目为2。此外,在方法6和方法1-2的组合(方法6-2)的情况下,最坏情况下的仓长度为3。因此,上下文的数目为3,上下文编码仓的数目为2,并且旁路编码仓的数目为1。另外,在方法6和方法1-3的组合(方法6-3)的情况下,最坏情况下的仓长度为3。因此,上下文的数目为4,上下文编码仓的数目为3,并且旁路编码仓的数目为0。
625.如上所述,在方法6-1至方法6-3的任何情况下,与方法0的情况相比,可以减少编码所需的上下文的数目。即,通过应用方法6,可以减少最坏情况下的仓长度,此外,通过应用方法1,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
626.此外,在方法6-1至方法6-3的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文编码仓的数目。即,通过应用方法6,减少了最坏情况下的仓长度,此外,通过应用方法1,可以将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
627.注意,通过将另一种方法(例如,方法2至方法5中的任何一种)替代方法1与方法6进行组合,可以将方法6的效果与另一种方法的效果进行组合。因此,在任何一种情况下,都可以抑制存储器使用量和处理量(吞吐量)的增加。
628.如上所述,通过应用方法6,可以抑制编码处理的负荷的增加。
629.《7-2.自适应正交变换标识符的解码》
630.在本实施方式中,如下执行如在图2的a中示出的表中已经执行的那样对指示图像
解码中的自适应正交逆变换的模式的自适应正交变换标识符的逆二值化(方法0)。
631.即,对通过解码获得的由指示变换类型是否不同于变换类型dct2
×
dct2的一个仓(一个位)和指示其他变换类型的两个仓(两个位)配置而成的仓序列进行逆二值化,以导出自适应正交变换标识符(方法6)。
632.例如,如图35的a所示的表中,对一个仓(=0)的仓序列进行逆二值化,以导出变换类型为dct2
×
dct2的自适应正交变换标识符,并且将三个仓的仓序列逆二值化,以导出变换类型不同于dct2
×
dct2的自适应正交变换标识符。
633.在图35的a中的示例的情况下,对通过对编码数据进行解码而获得的仓序列“0”进行逆二值化,以导出指示变换类型为dct2
×
dct2的自适应正交变换标识符mts_idx=0。此外,对通过对编码数据进行解码而获得的仓序列“100”进行逆二值化,以导出指示变换类型不同于为dct2
×
dct2并且为dst7
×
dst7的自适应正交变换标识符mts_idx=1。此外,对通过对编码数据进行解码而获得的仓序列“101”进行逆二值化,以导出指示变换类型不同于为dct2
×
dct2并且为dct8
×
dst7的自适应正交变换标识符mts_idx=2。此外,对通过对编码数据进行解码而获得的仓序列“110”进行逆二值化,以导出指示变换类型不同于为dct2
×
dct2并且为dst7
×
dct8的自适应正交变换标识符mts_idx=3。此外,对通过对编码数据进行解码而获得的仓序列“111”进行逆二值化,以导出指示变换类型不同于为dct2
×
dct2并且为dst8
×
dct8的自适应正交变换标识符mts_idx=4。
634.通过以这种方式对自适应正交变换标识符进行逆二值化,可以使仓序列的长度(仓长度)最多为三个仓。在图2的a的示例(方法0)的情况下,仓序列的长度(仓长度)最多为4个仓,因此通过应用方法6,可以将仓长度缩短一个仓。
635.注意,如在图35的b中所示的表中,该仓序列可以被划分为指示变换类型是否不同于dct2
×
dct2的一个仓的前缀部分以及指示其他变换类型的两个仓的后缀部分,并且被逆二值化。
636.此外,在应用方法6的这种逆二值化的情况下,可以通过方法0至方法5中的任何一种将上下文变量分配给仓序列中的每个仓,并且可以执行解码。
637.例如,如图36的a所示的表中,可以将预定上下文变量ctx(索引ctxinc)即固定(一一对应)的上下文变量ctx分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以对仓序列中的第二仓和第三仓执行旁路解码(方法1-1)。
638.在图36的a中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,并且对第二仓(binidx=1)至第三仓(binidx=2)执行旁路解码。
639.例如,如图36的a所示的表中,可以将预定上下文变量ctx(索引ctxinc)即固定(一一对应)的上下文变量ctx分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以对仓序列中的第二仓和第三仓执行旁路解码(方法1-1)。
640.在图36的b中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,并且对第三仓(binidx=2)和第四
仓(binidx=3)执行旁路解码(bypass)。
641.此外,例如,如图36的c所示的表中,可以将彼此不同的预定上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓至第三仓,并且可以对第一仓至第三仓执行上下文解码(方法1-3)。
642.在图36的c中的示例的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,将索引ctxinc=b1分配给第二仓(binidx=1),并且对第二仓执行上下文解码,将索引ctxinc=b2分配给第三仓(binidx=2),并且对第三仓执行上下文解码。
643.注意,在图36的表中,在索引a0、b1和b2中设置了非交叠的唯一值。
644.这些方法中的每一种的上下文的数目、上下文编码仓的数目、旁路编码仓的数目和最坏情况下的仓长度与编码时的情况(图37)类似。
645.如上所述,在方法6-1至方法6-3中的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文的数目。即,通过应用方法6,可以减少最坏情况下的仓长度,此外,通过应用方法1,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
646.此外,在方法6-1至方法6-3的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文编码仓的数目。即,通过应用方法6,减少了最坏情况下的仓长度,此外,通过应用方法1,可以将旁路解码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
647.注意,通过将另一种方法(例如,方法2至方法5中的任何一种)代替方法1与方法6进行组合,可以将方法6的效果与另一种方法的效果进行组合。因此,在任何一种情况下,都可以抑制存储器使用量和处理量(吞吐量)的增加。
648.如上所述,通过应用方法6,可以抑制解码处理的负荷的增加。
649.《7-3.编码侧》
650.《配置》
651.接下来,将描述编码侧。这种情况下的编码侧的配置类似于第一实施方式的编码侧的配置。即,这种情况下的图像编码装置100具有与参照图6描述的配置类似的配置。此外,这种情况下的编码单元115具有与参照图7描述的配置类似的配置。
652.《编码处理的流程》
653.此外,这种情况下的图像编码装置100执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像编码装置100执行的图像编码处理通过与参照图8中的流程图描述的情况类似的流程来执行。
654.将参照图38中的流程图描述在这种情况下由编码单元115执行的用于对自适应正交变换标识符进行编码的编码处理的流程的示例。
655.当编码处理开始时,在步骤s501中,编码单元115的二值化单元131将自适应正交变换标识符mts_idx二值化为由指示变换类型是否不同于变换类型dct2
×
dct2的一个仓(一个位)和指示其他变换类型的两个仓(两个位)配置而成的仓序列。
656.步骤s502至s508中的处理也与图9中的步骤s132至s138中的处理类似地执行。
657.通过以这种方式执行每个处理,编码单元115可以通过应用方法6来对自适应正交变换标识符进行二值化,并且可以通过应用方法1(例如,方法1-1至方法1-3中的任何一个)来对仓序列进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
658.《7-4.解码侧》
659.《配置》
660.接下来,将描述解码侧。这种情况下的编码侧的配置类似于第一实施方式的编码侧的配置。即,在这种情况下的图像解码装置200具有与参照图10描述的配置类似的配置。此外,在这种情况下的解码单元212具有与参照图11描述的配置类似的配置。
661.《解码处理的流程》
662.此外,在这种情况下的图像解码装置200执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像解码装置200执行的图像解码处理通过与参照图12中的流程图描述的情况类似的流程来执行。
663.将参照图39中的流程图描述在这种情况下由解码单元212执行的用于对自适应正交变换标识符的编码数据进行解码的解码处理的流程的示例。
664.在该解码处理中,还与图13中的步骤s231至s236中的处理类似地执行步骤s521至s526中的处理。
665.在步骤s527中,逆二值化单元235对由指示变换类型是否不同于变换类型dct2
×
dct2的一个仓(一个位)和指示其他变换类型的两个仓(两个位)配置而成的仓序列进行逆二值化,以导出自适应正交变换标识符mts_idx。
666.在步骤s528中,解码单元212确定是否终止自适应正交变换标识符mts_idx的解码。在确定不终止解码的情况下,处理返回到步骤s523,并且重复步骤s523和后续步骤中的处理。此外,在步骤s528中,在确定终止解码的情况下,终止解码处理。
667.通过以这种方式执行每个处理,解码单元212可以通过应用方法1(例如方法1-1至方法1-3中的任何一种)来对自适应正交变换标识符的编码数据进行解码,以导出仓序列。此外,解码单元212可以通过应用方法6来对仓序列进行逆二值化,以导出自适应正交变换标识符。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
668.《8.第七实施方式》
669.《8-1.变换跳过标志和自适应正交变换标识符的编码》
670.在非专利文献1中描述的方法的情况下,自适应正交变换标识符tu_mits_idx和指示是否应用变换跳过的变换跳过标志transform_skip_flag是亮度受限的(4:2:0格式受限)。
671.因此,在色差阵列类型大于1的情况下(即在色差格式为4:2:2或4:4:4的情况下),针对每个分量id(cidx)用信号通知(编码/解码)变换跳过标志和自适应正交变换标识符,使得可以将变换跳过和自适应正交变换应用于色差分量(方法7)。
672.在这种情况下的变换单元(transform_unit)的语法的示例如图40所示。如图40所示,针对如从该语法顶部起的第17、20和23行(灰色行)所示的亮度(y)、色差(cb)和色差(cr)用信号通知变换模式(transform_mode)。图41示出了在这种情况下变换模式
(transform_mode)的语法的示例。如图41所示,在从该句法的顶部起的第五行(灰色行)中用信号通知变换跳过标志transform_skip_flag[x0][y0][cidx]。此外,在从该句法的顶部起的第8行(灰色行)中用信号通知自适应正交变换标识符tu_mts_idx[x0][y0][cidx]。即,针对每个分量id(cidx)用信号通知变换跳过标志和自适应正交变换标识符。
[0673]
通过这样做,对于比色差格式4:2:0具有更大信息量的色差格式4:2:2或4:4:4的色差,可以控制自适应正交变换的应用。因此,可以抑制编码效率的降低。
[0674]
然后,在这种情况下,可以根据变换块的分量id(cidx)是否为0将上下文变量ctx分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓(binidx=0),并且可以执行上下文编码。
[0675]
例如,如图42的a所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以对仓序列中的第二仓至第四仓执行旁路编码(方法7-1)。
[0676]
在图42的a中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码。此外,对第二仓(binidx=1)至第四仓(binidx=3)执行旁路编码(bypass)。
[0677]
此外,例如,如图42的b所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以将预定上下文变量(索引ctxinc)分配给仓序列中的第二仓,并且可以对第二仓执行上下文编码,并且可以对仓序列中的第三仓和第四仓执行旁路编码(方法7-2)。
[0678]
在图42的b中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码。此外,在第二仓(binidx=1)中,分配索引ctxinc=b1并且执行上下文编码。此外,对第三仓(binidx=2)和第四仓(binidx=3)执行旁路编码(bypass)。
[0679]
此外,例如,如图43的a所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,并且可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓和第三仓,并且可以对第二仓和第三仓执行上下文编码,并且可以对仓序列中的第四仓执行旁路编码(方法7-3)。
[0680]
在图43的a中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码。此外,在第二仓(binidx=1)中,分配索引ctxinc=b1并且执行上下文编码。此外,在第三仓(binidx=2)中,分配索引
ctxinc=b2并且执行上下文编码。此外,对第四仓(binidx=3)执行旁路编码(bypass)。
[0681]
此外,例如,如图43的b所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文编码,可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓至第四仓,并且可以对第二仓至第四仓执行上下文编码(方法7-4)。
[0682]
在图43的b中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文编码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文编码。此外,在第二仓(binidx=1)中,分配索引ctxinc=b1并且执行上下文编码。此外,在第三仓(binidx=2)中,分配索引ctxinc=b2并且执行上下文编码。此外,在第四仓(binidx=3)中,分配索引ctxinc=b3并且执行上下文编码。
[0683]
注意,在图42和图43的表中,在索引a0、a1、b1、b2和b3中设置了不交叠的唯一值。
[0684]
图44的表中示出了这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目的示例。例如,在方法0的情况下,上下文的数目为9,上下文编码仓的数目为4,并且旁路编码仓的数目为0。相比之下,在方法7-1的情况下,上下文的数目为2,上下文编码仓的数目为1,旁路编码仓的数目为3。此外,在方法7-2的情况下,上下文的数目为3,上下文编码仓的数目为2,旁路编码仓的数目为2。另外,在方法7-3的情况下,上下文的数目为4,上下文编码仓的数目为3,并且旁路编码仓的数目为1。此外,在方法7-4的情况下,上下文的数目为5,上下文编码仓的数目为4,并且旁路编码仓的数目为0。
[0685]
如上所述,在方法7-1至方法7-4的任何情况下,与方法0的情况相比,可以减少编码所需的上下文的数目。即,通过应用方法7,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
[0686]
此外,在方法7-1至方法7-3的任何一种情况下,与方法0的情况相比,可以减少编码所需的上下文编码仓的数目。注意,在方法7-4的情况下,编码所需的上下文编码仓的数目与方法0的情况下编码所需的上下文编码仓的数目相当。即通过应用方法7,可以将旁路编码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
[0687]
然后,如上所述,对于比色差格式4:2:0具有更大信息量的色差格式4:2:2或4:4:4的色差,可以控制自适应正交变换的应用。因此,可以抑制编码效率的降低。
[0688]
如上所述,通过应用方法7,可以抑制编码处理的负荷的增加。
[0689]
注意,可以针对每个treetype而不是颜色分量id(cidx)用信号通知(编码)变换跳过或自适应正交变换的控制参数。即,每个控制参数的[cidx]可以替换为[treetype]。
[0690]
此外,将上下文变量分配给自适应正交变换标识符mts_idx的仓序列中的每个仓的上述方法也可以应用于与正交变换等相关的其他语法元素。例如,该方法还可以应用于二次变换标识符st_idx和变换跳过标志ts_flag。
[0691]
《8-2.变换跳过标志和自适应正交变换标识符的解码》
[0692]
类似地,在解码的情况下,在色差阵列类型大于1的情况下(即在色差格式为4:2:2
或4:4:4的情况下),针对每个分量id(cidx)用信号通知(解码)变换跳过标志和自适应正交变换标识符,使得可以将变换跳过和自适应正交变换应用于色差分量(方法7)。
[0693]
在这种情况下的变换单元(transform_unit)的语法的示例如图40所示。如图40所示,针对如从该语法顶部起的第17、20和23行(灰色行)所示的亮度(y)、色差(cb)和色差(cr)用信号通知变换模式(transform_mode)。图41示出了在这种情况下变换模式(transform_mode)的语法的示例。如图41所示,在从该句法的顶部起的第五行(灰色行)中用信号通知变换跳过标志transform_skip_flag[x0][y0][cidx]。此外,在从该句法的顶部起的第8行(灰色行)中用信号通知自适应正交变换标识符tu_mts_idx[x0][y0][cidx]。即,针对每个分量id(cidx)用信号通知变换跳过标志和自适应正交变换标识符。
[0694]
通过这样做,可以针对比色差格式4:2:0具有更大信息量的色差格式4:2:2或4:4:4的色差来控制逆自适应正交变换的应用。因此,可以抑制编码效率的降低。
[0695]
那么,在这种情况下,可以根据变换块的分量id(cidx)是否为0将上下文变量ctx分配给二值化的自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且可以执行上下文解码。
[0696]
例如,如图42的a所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx分配给二值化的自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且可以对第一仓执行上下文解码,并且可以对仓序列中的第二仓至第四仓执行旁路解码(方法7-1)。
[0697]
在图42中a中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且第一仓执行上下文解码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,对第二仓(binidx=1)至第四仓(binidx=3)执行旁路解码(bypass)。
[0698]
此外,例如,如图42的b所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将预定上下文变量(索引ctxinc)分配给仓序列中的第二仓,并且可以对第二仓执行上下文解码,并且可以对仓序列中的第三仓和第四仓执行旁路解码(方法7-2)。
[0699]
在图42的b中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,在第二仓(binidx=1)中,分配索引ctxinc=b1并且执行上下文解码。此外,对第三仓(binidx=2)和第四仓(binidx=3)执行旁路解码(bypass)。
[0700]
此外,例如,如图43的a所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文解码,并且可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓和第三仓,并且可以对第二仓和第三仓执行上下文解码,并且可以对仓序列中的第四仓执行旁路解码(方法7-3)。
[0701]
在图43中a中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且第一仓执行上下文解码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,在第二仓(binidx=1)中,分配索引ctxinc=b1并且执行上下文解码。此外,在第三仓(binidx=2)中,分配索引ctxinc=b2并且执行上下文解码。此外,对第四仓(binidx=3)执行旁路解码(bypass)。
[0702]
此外,例如,如图43的b所示的表中,可以根据变换块的分量id(cidx)是否为0((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给通过对自适应正交变换标识符进行二值化而获得的仓序列中的第一仓,并且可以对第一仓执行上下文解码,可以将彼此不同的预定上下文变量(索引ctxinc)分配给仓序列中的第二仓至第四仓,并且可以对第二仓至第四仓执行上下文解码(方法7-4)。
[0703]
在图43中的b中的示例的情况下,在变换块的分量id(cidx)为0(cidx==0)的情况下,将索引ctxinc=a0分配给自适应正交变换标识符的仓序列中的第一仓(binidx=0),并且对第一仓执行上下文解码,而在变换块的分量id(cidx)不为0(cidx》0)的情况下,将索引ctxinc=a1分配给第一仓,并且对第一仓执行上下文解码。此外,在第二仓(binidx=1)中,分配索引ctxinc=b1并且执行上下文解码。此外,在第三仓(binidx=2)中,分配索引ctxinc=b2并且执行上下文解码。此外,在第四仓(binidx=3)中,分配索引ctxinc=b3并且执行上下文解码。
[0704]
注意,在图42和图43的表中,在索引a0、a1、b1、b2和b3中设置了不交叠的唯一值。
[0705]
这些方法中的每一种的上下文的数目、上下文编码仓的数目和旁路编码仓的数目与用于编码的这些数目类似(图44)。
[0706]
如上所述,在方法7-1至方法7-4中的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文的数目。即,通过应用方法7,可以减少分配给第一仓(binidx=0)的上下文的数目。因此,可以抑制存储器使用量的增加。
[0707]
此外,在方法7-1至方法7-3的任何一种情况下,与方法0的情况相比,可以减少解码所需的上下文编码仓的数目。注意,在方法7-4的情况下,解码所需的上下文编码仓的数目与方法0的情况下解码所需的上下文编码仓的数目相当。即,通过应用方法7,可以将旁路解码应用于与具有相对低的选择性的变换类型对应的仓。因此,可以在抑制编码效率的降低的同时抑制上下文编码仓的数目的增加并且抑制处理量(吞吐量)的增加。
[0708]
然后,如上所述,对于比色差格式4:2:0具有更大信息量的色差格式4:2:2或4:4:4的色差,可以控制逆自适应正交变换的应用。因此,可以抑制编码效率的降低。
[0709]
如上所述,通过应用方法7,可以抑制解码处理的负荷的增加。
[0710]
注意,可以针对每个treetype而不是颜色分量id(cidx)用信号通知(解码)变换跳过或自适应正交变换的控制参数。即,每个控制参数的[cidx]可以替换为[treetype]。
[0711]
此外,将上下文变量分配给自适应正交变换标识符mts_idx的仓序列中的每个仓的上述方法也可以应用于与正交变换等相关的其他语法元素。例如,该方法还可以应用于二次变换标识符st_idx和变换跳过标志ts_flag。
[0712]
《8-3.编码侧》
[0713]
《配置》
[0714]
接下来,将描述编码侧。这种情况下的编码侧的配置类似于第一实施方式的编码侧的配置。即,这种情况下的图像编码装置100具有与参照图6描述的配置类似的配置。此外,这种情况下的编码单元115具有与参照图7描述的配置类似的配置。
[0715]
《编码处理的流程》
[0716]
此外,这种情况下的图像编码装置100执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像编码装置100执行的图像编码处理通过与参照图8中的流程图描述的情况类似的流程来执行。
[0717]
将参照图45中的流程图描述在这种情况下由编码单元115执行的用于对自适应正交变换标识符进行编码的编码处理的流程的示例。
[0718]
在该编码处理中,与图9中的步骤s131和s132中的处理类似地执行步骤s551和s552中的处理。即,在这种情况下,选择单元132选择上下文设置单元133作为仓的供应目的地(即选择了上下文编码。)。例如,选择单元132根据图42和图43所示的表中的任何一个(即,通过应用方法7-1至方法7-4中的任何一种)选择上下文编码作为用于仓的编码方法。
[0719]
在步骤s553中,上下文设置单元133根据分量是否为亮度(y)((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给仓。
[0720]
例如,在分量是亮度(y)(cidx==0)的情况下,上下文设置单元133将索引ctxinc=a0分配给仓。此外,在分量不是亮度(y)(cidx》0)的情况下,上下文设置单元133将索引ctxinc=a1分配给仓。
[0721]
然后,上下文编码单元134使用上下文变量执行算术编码。即,执行上下文编码。
[0722]
步骤s554至s558中的处理也与图9中的步骤s134至s138中的处理类似地执行。在步骤s558中,在确定终止编码的情况下,终止编码处理。
[0723]
通过执行如上所述的每个处理,编码单元115可以通过应用方法7(例如,方法7-1至方法7-4中的任何一个)来对自适应正交变换标识符进行编码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制编码处理的负荷的增加。
[0724]
《8-4.解码侧》
[0725]
《配置》
[0726]
接下来,将描述解码侧。这种情况下的解码侧的配置类似于第一实施方式的解码侧的配置。即,在这种情况下的图像解码装置200具有与参照图10描述的配置类似的配置。此外,在这种情况下的解码单元212具有与参照图11描述的配置类似的配置。
[0727]
《解码处理的流程》
[0728]
此外,在这种情况下的图像解码装置200执行与第一实施方式的情况基本类似的处理。即,在这种情况下由图像解码装置200执行的图像解码处理通过与参照图12中的流程图描述的情况类似的流程来执行。
[0729]
将参照图46中的流程图描述在这种情况下由解码单元212执行的用于对自适应正交变换标识符的编码数据进行解码的解码处理的流程的示例。
[0730]
在该解码处理中,与图13的步骤s231的处理类似地执行步骤s571的处理。即,在这种情况下,选择单元231选择上下文设置单元232作为仓的供应目的地(即,选择上下文解码。)。例如,选择单元231根据图42和图43所示的表中的任何一个(即,通过应用方法7-1至方法7-4中的任何一种)选择上下文解码作为用于仓的解码方法。
[0731]
在步骤s572中,上下文设置单元232根据分量是否为亮度(y)((cidx==0)?)将上下文变量ctx(索引ctxinc)分配给仓。
[0732]
例如,在分量是亮度(y)(cidx==0)的情况下,上下文设置单元232将索引ctxinc=a0分配给仓。此外,在分量不是亮度(y)(cidx》0)的情况下,上下文设置单元232将索引ctxinc=a1分配给仓。
[0733]
然后,上下文解码单元233使用上下文变量执行算术解码。即,执行上下文解码。
[0734]
步骤s573至s578中的处理也与图13中的步骤s233至s238中的处理类似地执行。在步骤s578中,在确定终止解码的情况下,终止解码处理。
[0735]
通过以这种方式执行每个处理,解码单元212可以通过应用方法7(例如,方法7-1至方法7-4中的任何一个)来对自适应正交变换标识符的编码数据进行解码。因此,可以抑制存储器使用量的增加。此外,可以抑制处理量(吞吐量)的增加。即,可以抑制解码处理的负荷的增加。
[0736]
《9.附录》
[0737]
《组合》
[0738]
只要不矛盾,上述实施方式中的每一个中描述的本技术可以与任何其他实施方式中描述的本技术组合应用。
[0739]
《计算机》
[0740]
上述一系列处理可以由硬件或由软件执行。在通过软件执行这一系列处理的情况下,在计算机中安装配置软件的程序。此处,计算机包括并入专用硬件中的计算机、能够通过安装各种程序来执行各种功能的计算机,例如通用个人计算机,等等。
[0741]
图47是示出通过程序执行上述一系列处理的计算机的硬件的配置示例的框图。
[0742]
在图47中示出的计算机800中,中央处理单元(cpu)801、只读存储器(rom)802和随机存取存储器(ram)803通过总线804相互连接。
[0743]
输入/输出接口810也连接至总线804。输入单元811、输出单元812、存储单元813、通信单元814和驱动器815连接至输入/输出接口810。
[0744]
输入单元811包括例如键盘、鼠标、麦克风、触摸板、输入终端等。输出单元812包括例如显示器、扬声器、输出端子等。存储单元813包括例如硬盘、ram盘和非易失性存储器等。通信单元814包括例如网络接口。驱动器815驱动可移除介质821,例如磁盘、光盘、磁光盘或半导体存储器。
[0745]
在如上所述那样配置的计算机中,cpu 801例如经由输入/输出接口810和总线804将存储在存储单元813中的程序加载到ram 803中,并且执行该程序,使得上述一系列处理被执行。此外,ram 803适当地存储cpu 801执行各种类型的处理所需的数据等。
[0746]
例如,要由计算机执行的程序可以被记录和应用在作为封装介质的可移动介质821等上,并且可以被提供。在该情况下,通过将可移除介质821附接至驱动器815,可以经由输入/输出接口810将程序安装至存储单元813。
[0747]
此外,可以经由诸如局域网、因特网或数字卫星广播的有线或无线传输介质来提供该程序。在该情况下,程序可以由通信单元814接收并且被安装在存储单元813中。
[0748]
除了上述方法之外,程序可以被预先安装在rom 802或存储单元813中。
[0749]
《信息和处理的单元》
[0750]
其中设置了上述各种类型的信息的数据单元以及要由各种类型的处理来处理的数据单元是任意的,并且不限于上述示例。例如,可以针对每个变换单元(tu)、变换块(tb)、预测单元(pu)、预测块(pb)、编码单元(cu)、最大编码单元(lcu)、子块、块、图块、切片、图片、序列或分量来设置这些信息和处理,或者可以使用这些数据单元中的数据。当然,可以针对每个信息和处理设置该数据单元,并且不需要统一所有信息和处理的数据单元。注意,这些信息的存储位置是任意的,并且可以存储在上述数据单元的报头、参数等中。此外,信息可以存储在多个位置中。
[0751]
《控制信息》
[0752]
可以将关于在以上实施方式中描述的本技术的控制信息从编码侧发送至解码侧。例如,可以发送用于控制是否允许(或禁止)应用上述本技术的控制信息(例如,enabled_flag)。此外,例如,可以发送指示应用了上述本技术的对象(或者未应用本技术的对象)的控制信息(例如,present_flag)。例如,可以发送用于指定应用本技术(或者允许或禁止应用)的块大小(上限、下限,或两者)、帧、分量、层等的控制信息。
[0753]
《本技术的适用对象》
[0754]
本技术可以应用于任何图像编码/解码方法。即,关于图像编码/解码的各种类型的处理诸如变换(逆变换)、量化(逆量化)、编码(解码)和预测的规格是任意的,并且不限于上述示例,只要与上述本技术不发生矛盾即可。此外,只要与上述本技术不发生矛盾,则可以省去处理的部分。
[0755]
此外,本技术可以应用于执行包括多个视点(视图)的图像的多视点图像的编码/解码的多视点图像编码/解码系统。在该情况下,本技术简单地应用于每个视点(视图)的编码/解码。
[0756]
此外,本技术可以应用于分层图像编码(可缩放编码)/解码系统,该系统对多层(分层)的分层图像进行编码/解码,以具有针对预定参数的可缩放性功能。在该情况下,本技术简单地应用于每一层(层)的编码/解码。
[0757]
此外,在以上描述中,图像编码装置100和图像解码装置200已经被描述为本技术的应用示例,但是本技术可以应用于任意配置。
[0758]
本技术可以应用于例如各种电子装置,例如卫星广播中的发射器和接收器(例如电视接收机和移动电话)、诸如有线电视的有线广播、互联网上的分发以及通过蜂窝通信向终端的分发或者将图像记录在诸如光盘、磁盘和闪存等介质上并且从这些存储介质再现图像的装置(例如,硬盘记录器和摄像装置)。
[0759]
此外,例如,本技术可以实现为装置的一部分的配置,诸如作为系统大规模集成(lsi)等的处理器(例如,视频处理器)、使用多个处理器等的模块(例如,视频模块)、使用多个模块等的单元(例如,视频单元)、或者其中向单元添加了其他功能的集(例如,视频集)(即,装置的一部分的配置)。
[0760]
此外,例如,本技术还可以应用于包括多个装置的网络系统。例如,本技术可以实现为由多个装置经由网络共享和协作处理的云计算。例如,本技术可以被实现为向诸如计算机、视听(av)装置、便携式信息处理终端或物联网(iot)装置的任意终端提供关于图像(运动图像)的服务的云服务。
[0761]
注意,在本说明书中,术语“系统”意指多个配置元件(装置、模块(部件)等)的集
合,并且所有配置元件是否在同一壳体中是无关紧要的。因此,容纳在单独的壳体中并且经由网络连接的多个装置以及在一个壳体中容纳多个模块的一个装置两者均是系统。
[0762]
《本技术可适用的领域和应用》
[0763]
应用本技术的系统、装置、处理单元等可以在诸如交通、医疗护理、犯罪预防、农业、畜牧业、采矿、美容、工厂、家用电器、天气和自然监控的任意领域中使用。此外,在任意领域中的使用也是任意的。
[0764]
例如,本技术可以应用于被提供用于提供供欣赏的内容等的系统和装置。此外,例如,本技术还可以应用于用于诸如交通状况监视和自动驾驶控制的交通的系统和装置。此外,例如,本技术还可以应用于为安全而提供的系统和装置。此外,例如,本技术可以应用于为机器等的自动控制而提供的系统和装置。此外,例如,本技术还可以应用于为农业或畜牧业而提供的系统和装置。此外,本技术还可以应用于监视诸如火山、森林和海洋的自然状态、野生动物等的系统和装置。此外,例如,本技术还可以应用于为运动而提供的系统和装置。
[0765]
《其他》
[0766]
注意,本说明书中的“标志”是用于标识多种状态的信息,并且不仅包括用于标识真(1)和假(0)这两种状态的信息,而且包括能够标识三种或更多种状态的信息。因此,“标志”可以采用的值可以是例如二进制值1/0或者可以是三进制值或更多进制值。即,构成“标志”的位数是任意的,并且可以是1位或多位。此外,假设标识信息(包括标志)不仅呈在比特流中包括标识信息的形式,而且呈在比特流中包括标识信息与特定参考信息的差异信息的形式。因此,在本说明书中,“标志”和“标识信息”不仅包括信息本身,还包括相对于参考信息的差异信息。
[0767]
此外,可以以任何形式发送或记录关于编码数据(比特流)的各种类型的信息(元数据等),只要各种类型的信息与编码数据相关联即可。这里,术语“关联”意味着例如当处理一个数据时可以使用(链接)其他数据。即,彼此相关联的数据可以被收集为一个数据或者可以是单独的数据。例如,可以在与编码数据(图像)的传输路径不同的传输路径上发送与编码数据(图像)相关联的信息。此外,例如,可以将与编码数据(图像)相关联的信息记录在与编码数据(图像)不同的记录介质(或同一记录介质的另外的记录区域)上。注意,该“关联”可以是数据的一部分,而不是整个数据。例如,图像和与图像对应的信息可以以诸如多个帧、一个帧或帧中的一部分的任意单元彼此相关联。
[0768]
注意,在本说明书中,诸如“组合”、“复用”、“添加”、“集成”、“包括”、“存储”和“插入”的术语意指将多个事物放入一个事物中,例如将编码数据和元数据放入一个数据中,并且意指上述“关联”的一种方法。
[0769]
此外,本技术的实施方式不限于上述实施方式,并且可以在不脱离本技术的主旨的情况下进行各种修改。
[0770]
例如,被描述为一个装置(或处理单元)的配置可以被划分且被配置成多个装置(或处理单元)。反之,可以将描述为多个装置(或处理单元)的配置共同配置为一个装置(或处理单元)。此外,可以将除了以上配置之外的配置添加到每个装置(或每个处理单元)的配置。此外,特定装置(或处理单元)的配置的一部分可以被包括在另一装置(或另一处理单元)的配置中,只要系统的配置和操作作为整体基本相同即可。
[0771]
此外,例如,上述程序可以由任意装置来执行。在该情况下,装置仅需要具有必要的功能(功能块等)并且获得必要的信息。
[0772]
此外,例如,一个流程图的每个步骤可以由一个装置执行,或者可以由多个装置共享并执行。此外,在一个步骤中包括多个处理的情况下,多个处理可以由一个装置执行,或者可以由多个装置共享并执行。换言之,一个步骤中包括的多个处理可以作为多个步骤的处理来执行。相反,被描述为多个步骤的处理可以作为一个步骤来共同执行。
[0773]
注意,在由计算机执行的程序中,描述程序的步骤的处理可以根据本说明书中描述的顺序按时间顺序执行,或者可以并行地或者在例如进行调用时的必要时间处单独执行。即,只要不发生矛盾,则可以以与以上顺序不同的顺序执行每个步骤的处理。此外,描述程序的步骤的处理可以与另一程序的处理并行执行,或者可以与另一程序的处理组合执行。
[0774]
此外,例如,只要不存在矛盾,与本技术相关的多个技术可以作为一个整体独立实施。当然,可以一起实现任意数目的本技术。例如,在任何实施方式中描述的本技术的部分或全部可以与在另一实施方式中描述的本技术的部分或全部组合实现。此外,上述任意本技术的部分或全部可以与上面未描述的另一技术组合实现。
[0775]
注意,本技术也可以具有以下配置。
[0776]
(1)一种图像处理装置,包括:
[0777]
编码单元,其被配置成将预定上下文变量分配给仓序列中的第一仓,并且对所述仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
[0778]
(2)根据(1)所述的图像处理装置,其中,
[0779]
所述编码单元将彼此不同的预定上下文变量分配给所述仓序列中的第一仓至第四仓,并且对所述仓序列中的第一仓至所述第四仓执行上下文编码。
[0780]
(3)根据(1)所述的图像处理装置,其中,
[0781]
所述编码单元将彼此不同的预定上下文变量分配给所述仓序列中的第一仓至第三仓,并且对所述仓序列中的第一仓至所述第三仓执行上下文编码,对所述仓序列中的第四仓执行旁路编码。
[0782]
(4)根据(1)所述的图像处理装置,其中,
[0783]
所述编码单元将彼此不同的预定上下文变量分配给所述仓序列中的第一仓和第二仓,并且对所述仓序列中的第一仓和第二仓执行上下文编码,对所述仓序列中的第三仓和第四仓执行旁路编码。
[0784]
(5)根据(1)所述的图像处理装置,其中,
[0785]
所述编码单元将预定上下文变量分配给所述仓序列中的第一仓,并且对所述仓序列中的第一仓执行上下文编码,对所述仓序列中的第二仓至第四仓执行旁路编码。
[0786]
(6)根据(1)至(5)中任一项所述的图像处理装置,其中,
[0787]
所述编码单元将所述自适应正交变换标识符二值化为仓序列,并且对所述仓序列进行编码,所述仓序列由指示变换类型是否不同于变换类型dct2
×
dct2的一个位和指示其他变换类型的两个位来配置。
[0788]
(7)一种图像处理方法,包括:
[0789]
将预定上下文变量分配给仓序列中的第一仓,并且对所述仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
[0790]
(8)一种图像处理装置,包括:
[0791]
所述编码单元被配置成将基于关于块大小的参数的上下文变量分配给仓序列中的第一仓,并且对所述仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
[0792]
(9)根据(8)所述的图像处理装置,其中,
[0793]
所述关于块大小的参数是变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差。
[0794]
(10)根据(8)所述的图像处理装置,其中,
[0795]
所述关于块大小的参数是变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的最小值。
[0796]
(11)根据(8)所述的图像处理装置,其中,
[0797]
所述关于块大小的参数是对变换块的长边的对数值与自适应正交变换能够适用于的最小变换块大小的对数值之间的差和预定阈值之中的最小值进行右移位后的结果。
[0798]
(12)根据(8)所述的图像处理装置,其中,
[0799]
所述编码单元根据所述关于块大小的参数是否等于或大于预定阈值来分配上下文变量并且执行上下文编码。
[0800]
(13)根据(8)至(12)中任一项所述的图像处理装置,其中,
[0801]
所述编码单元将所述自适应正交变换标识符二值化为仓序列,并且对所述仓序列进行编码,所述仓序列由指示变换类型是否不同于变换类型dct2
×
dct2的一个位和指示其他变换类型的两个位来配置。
[0802]
(14)根据(8)所述的图像处理装置,其中,
[0803]
所述编码单元对于每个分量对所述自适应正交变换标识符进行二值化并且执行编码。
[0804]
(15)一种图像处理方法,包括:
[0805]
将基于关于块大小的参数的上下文变量分配给仓序列中的第一仓,并且对所述仓序列中的第一仓执行上下文编码,所述仓序列是通过对指示图像编码中的自适应正交变换的模式的自适应正交变换标识符进行二值化而获得的。
[0806]
附图标记列表
[0807]
100 图像编码装置
[0808]
115 编码单元
[0809]
131 二值化单元
[0810]
132 选择单元
[0811]
133 上下文设置单元
[0812]
134 上下文编码单元
[0813]
135 旁路编码单元
[0814]
200 图像解码装置
[0815]
212 解码单元
[0816]
231 选择单元
[0817]
232 上下文设置单元
[0818]
233 上下文解码单元
[0819]
234 旁路解码单元
[0820]
235 逆二值化单元
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献