本发明涉及图像编码技术,特别涉及差分信号的熵编码技术。
背景技术:
在作为动态图像编码的国际标准的hevc中,采用被称为cabac的上下文自适应的算术编码作为熵编码方式。cabac管理多个作为用于表现应编码的比特的发生概率的变量的上下文,通过基于周边的编码和解码结果选择最佳的上下文而实现编码效率的提高。
[在先技术文献]
[专利文献]
专利文献1:日本特开2013-223029号公报
技术实现要素:
因cabac是基于周边的编码·解码结果导出上下文的方式,所以在所要参照的信息的编码·解码完成之前是不能确定要用于编码·解码对象的信息的上下文的。由于上下文的导出与编码·解码处理产生依存关系,故它们的并行处理是困难的,成为妨碍处理的高速化的主要原因。
专利文献1公开了一种在构成差分信息的要素中,对于有效系数信息,基于属于已完成编码·解码的子块的信息从而导出要编码·解码的上下文的方法。根据已公开的技术,不参照编码·解码对象的有效系数信息所属的子块的编码·解码结果,而能够参照属于已完成编码·解码的子块的信息的编码·解码结果,从而导出用于对有效系数信息进行编码·解码的上下文。因此,在开始对成为编码·解码对象的子块的编码·解码处理的时刻,能够无依存关系地导出用于对属于成为编码·解码对象的子块的所有有效系数信息进行编码·解码的上下文。
在专利文献1中,子块及子块内的有效系数信息的扫描顺序为从右向左,及从下向上的方向。该扫描顺序为按照hevc标准的顺序。但子块的扫描顺序应该在综合考虑编码效率及复杂性、所提供的功能等主要因素的基础上而适当地决定。对于专利文献1的构成,在使用从左向右、从上向下的方向对子块及子块内的有效系数信息进行扫描的构成的情况下,会产生以下技术课题。
在将子块的扫描顺序设为从左向右、从上向下的基础上,按照引用文献1所公开的构成,在与成为编码·解码对象的子块左侧相邻的子块的有效子块信息为1,与成为编码·解码对象的子块上侧相邻的子块的有效子块信息为0的情况下,按照编码·解码对象子块的垂直方向的位置来决定用于对有效系数信息进行编码·解码的上下文。
但是,在与成为编码·解码对象的子块的左侧相邻的子块的有效子块信息为1,与成为编码·解码对象的子块的上侧相邻的子块的有效子块信息为0的情况下,由于左邻的子块中存在不为0的差分系数,从而推定编码·解码对象子块的水平方向的低频的有效系数信息为1的概率变高,而水平方向的高频的有效系数信息为0的概率变高。在引用文献1的构成中,按照有效系数信息的水平方向的位置是不能切换上下文的。
在与成为编码·解码对象的子块左侧相邻的子块的有效子块信息为0,与成为编码·解码对象的子块上侧相邻的子块的有效子块信息为1的情况下也是一样,因此存在编码效率降低这样的技术课题。
本发明鉴于以上状况而完成,其目的在于,提供一种在差分系数编码/解码中,在从左向右、从上向下扫描子块的构成中,实现可并行处理且计算量少的上下文索引计算方法,并且电路构成简单、适于实时处理的图像编码技术。另外,另一目的在于,提供一种通过实现参照了在相关上适当的周边差分系数的上下文索引的计算,从而编码效率高的图像编码技术。
为解决上述技术课题,本发明的一种方案的图像编码装置为将成为编码对象的图像与成为预测对象的图像的差分信息分割成多个子块,并对分割后的上述子块按照从左向右、从上向下的顺序进行编码的图像编码装置,其特征在于,包括:对表示是否属于上述子块的差分系数的值全都为零的有效子块信息进行编码的有效子块信息编码部;对表示是否差分系数的值为零的有效系数信息进行编码的有效系数信息编码部;对差分系数的值进行编码的差分系数值信息编码部;以及基于与成为编码对象的子块左侧相邻的已编码的子块的有效子块信息和上侧相邻的已编码的子块的有效子块信息,以及成为编码对象的差分系数在上述成为编码对象的子块中的位置,导出用于对上述成为编码对象的有效系数信息进行编码的上下文的上下文导出部;其中,上述上下文导出部在上述左侧相邻的已编码的子块的有效子块信息为1,且上述上侧相邻的已编码的子块的有效子块信息为0的情况下,基于成为编码对象的有效系数信息在上述编码对象子块中的水平方向的位置,导出上述成为编码对象的有效系数信息的上述上下文;在上述左侧相邻的已编码的子块的有效子块信息为0,且上述上侧相邻的已编码的子块的有效子块信息为1的情况下,基于成为编码对象的有效系数信息在上述编码对象子块中的垂直方向的位置,导出上述成为编码对象的有效系数信息的上述上下文。
本发明的另一方案为图像编码方法。该方法为将成为编码对象的图像与成为预测对象的图像的差分信息分割成多个子块,并对分割后的上述子块按照从左向右、从上向下的顺序进行编码的图像编码方法,包括:对表示是否属于上述子块的差分系数的值全都为零的有效子块信息进行编码的有效子块信息编码步骤;对表示是否差分系数的值为零的有效系数信息进行编码的有效系数信息编码步骤;对差分系数的值进行编码的差分系数值信息编码步骤;以及基于与成为编码对象的子块左侧相邻的已编码的子块的有效子块信息和上侧相邻的已编码的子块的有效子块信息,以及成为编码对象的差分系数在上述成为编码对象的子块中的位置,导出用于对上述成为编码对象的有效系数信息进行编码的上下文的上下文导出步骤;其中,上述上下文导出步骤在上述左侧相邻的已编码的子块的有效子块信息为1,且上述上侧相邻的已编码的子块的有效子块信息为0的情况下,基于成为编码对象的有效系数信息在上述编码对象子块中的水平方向的位置,导出上述成为编码对象的有效系数信息的上述上下文;在上述左侧相邻的已编码的子块的有效子块信息为0,且上述上侧相邻的已编码的子块的有效子块信息为1的情况下,基于成为编码对象的有效系数信息在上述编码对象子块中的垂直方向的位置,导出上述成为编码对象的有效系数信息的上述上下文。
本发明的另一方案为图像编码方法。该方法为将作为编码对象的图像与预测图像的差分信号的变换系数的差分系数分割成多个子块,并以子块为单位对上述差分系数进行编码的图像编码方法,包括:针对编码对象的子块内的每个差分系数,对表示差分系数值不为0且有效的有效系数信息进行编码的有效系数信息编码步骤;以及对于上述编码对象的子块内的各像素,在上述有效系数信息为有效的情况下对差分系数值进行编码的差分系数值信息编码步骤。上述有效系数信息编码步骤,基于表示与上述编码对象的子块水平方向相邻的已编码的子块内的差分系数的有效性的信息,和表示与上述编码对象的子块垂直方向相邻的已编码的子块内的差分系数的有效性的信息,来决定用于对上述编码对象的子块内的上述有效系数信息进行编码的上下文。
本发明的另一方案为图像解码装置。该解码装置,为将成为解码对象的图像与成为预测对象的图像的差分信息分割成多个子块,并对分割后的上述子块按照从左向右、从上向下的顺序将编码后的编码流解码的图像解码装置,包括:对表示是否属于上述子块的差分系数的所有值都为零的有效子块信息进行解码的有效子块信息解码部;对表示是否差分系数的值为零的有效系数信息进行解码的有效系数信息解码部;对差分系数的值进行解码的差分系数值信息解码部;以及基于与成为解码对象的子块左侧相邻的已解码的子块的有效子块信息和上侧相邻的已解码的子块的有效子块信息,以及成为解码对象的差分系数在上述成为解码对象的子块中的位置,导出用于对上述成为解码对象的有效系数信息进行解码的上下文的上下文导出部;上述上下文导出部在上述左侧相邻的已解码的子块的有效子块信息为1,且上述上侧相邻的已解码的子块的有效子块信息为0的情况下,基于成为解码对象的有效系数信息在上述解码对象子块中的水平方向的位置,导出上述成为解码对象的有效系数信息的上述上下文;在上述左侧相邻的已解码的子块的有效子块信息为0,且上述上侧相邻的已解码的子块的有效子块信息为1的情况下,基于成为解码对象的有效系数信息在上述解码对象子块中的垂直方向的位置,导出上述成为解码对象的有效系数信息的上述上下文。
本发明的另一方案为图像解码方法。该解码方法为将成为解码对象的图像与成为预测对象的图像的差分信息分割成多个子块,并对分割后的上述子块按照从左向右、从上向下的顺序将编码后的编码流解码的图像解码方法,包括:对表示是否属于上述子块的差分系数的所有值都为零的有效子块信息进行解码的有效子块信息解码步骤;对表示是否差分系数的值为零的有效系数信息进行解码的有效系数信息解码步骤;对差分系数的值进行解码的差分系数值信息解码步骤;以及基于与成为解码对象的子块左侧相邻的已解码的子块的有效子块信息和上侧相邻的已解码的子块的有效子块信息,以及成为解码对象的差分系数在上述成为解码对象的子块中的位置,导出用于对上述成为解码对象的有效系数信息进行解码的上下文的上下文导出步骤;上述上下文导出步骤在上述左侧相邻的已解码的子块的有效子块信息为1,且上述上侧相邻的已解码的子块的有效子块信息为0的情况下,基于成为解码对象的有效系数信息在上述解码对象子块中的水平方向的位置,导出上述成为解码对象的有效系数信息的上述上下文;在上述左侧相邻的已解码的子块的有效子块信息为0,且上述上侧相邻的已解码的子块的有效子块信息为1的情况下,基于成为解码对象的有效系数信息在上述解码对象子块中的垂直方向的位置,导出上述成为解码对象的有效系数信息的上述上下文。
此外,以上构成要素的任意组合、将本发明的表述在方法、装置、系统、记录介质、计算机程序等之间进行变换的方案,作为本发明的方案也是有效的。
根据本发明,能够实现电路构成简单、适于实时处理的差分信号的编码。
附图说明
图1是用于说明差分系数的解码步骤的流程图。
图2是用于说明子块、差分系数的扫描顺序的图。
图3是用于说明子块差分系数的解码步骤的流程图。
图4是用于说明差分系数值信息的解码步骤的流程图。
图5是表示实施方式的用于执行差分系数的编码的图像编码装置的构成的框图。
图6是表示实施方式的用于执行差分系数的解码的图像解码装置的构成的框图。
图7是用于说明编码块尺寸的图。
图8是表示图5的图像编码装置的第1实施例的详细构成的框图。
图9是用于说明第1实施例中的差分系数的编码步骤的流程图。
图10是用于说明第1实施例中的子块差分系数的编码步骤的流程图。
图11是用于说明第1实施例中对有效系数信息进行编码的步骤的流程图。
图12是用于说明第1实施例中的有效系数的上下文定义的图。
图13是用于说明第1实施例中的有效系数的上下文定义的不同的例示的图。
图14是用于说明第1实施例中对差分系数值信息进行编码的步骤的流程图。
图15是表示图6的图像解码装置的第1实施例的详细构成的框图。
图16是用于说明第1实施例中的对有效系数信息进行解码的步骤的流程图。
图17是用于说明第1实施例中的有效系数的扫描顺序的不同示例的图。
图18是用于说明第2实施例中的对有效系数信息进行编码的步骤的流程图。
图19是用于说明第2实施例中的对有效系数信息进行解码的步骤的流程图。
具体实施方式
首先,说明本发明的实施方式的前提技术。
cabac通过针对各编码构文与多个上下文建立对应,并基于构文要素的相关性来选择上下文,从而使码分配最优化。
利用图1的流程图来说明被按16×16尺寸编码的差分信号的量化正交变换系数的cabac的解码顺序。以下将量化正交变换系数称为差分系数。在本步骤中,将处理对象的16×16差分系数分割成4×4尺寸的子块401至416,并优先进行子块单位的扫描。但是,处理对象的差分系数的尺寸及子块的尺寸,并不限定于上述尺寸,例如差分系数的尺寸可以如64×64、32×32地取大尺寸,也可以如8×8地取小尺寸。
在以下说明中,各差分系数是根据有效系数信息和差分系数值信息而被编码·解码的。有效系数信息为用于表示差分系数是否为0的1比特的标志,有效系数信息为1的情况下表示对象的差分系数为0。在有效系数信息为1的差分系数中,具体的差分系数的值作为差分系数值信息而被编码·解码。进而,差分系数值信息由差分系数绝对值信息和差分系数符号信息构成。但,因为确定在有效系数信息为1的情况下差分系数不为0,所以差分系数绝对值信息为从编码·解码对象的差分系数的绝对值减1的值。
按照后文说明的扫描顺序,决定处理对象子块(s101)。若已扫描完全部的子块,则结束差分系数的解码处理。图2中示出子块的扫描顺序202。在本步骤中,从差分系数区域的最左上方的子块开始扫描,按照从左向右、及从上向下这样的规则进行扫描,在最右下方的子块结束扫描。标号201是用箭头表现扫描顺序202的图。在按照扫描顺序202的情况下,在所有处理对象子块中,空间上位于左侧及上侧的子块的处理为已完成的状态。关于按照从左向右、及从上向下这样的规则的扫描顺序,并不限定于上述示例,例如也可以考虑图2所示的扫描顺序204。标号203是用箭头表现扫描顺序204的图。在该情况下,在所有处理对象子块中,空间上位于左侧及上侧的子块的扫描已完成的状态被维持。
回到图1的流程图,进行处理对象子块的所有差分系数的解码处理(s102)。子块差分系数的解码完成后,转移到步骤s101。
利用图3的流程图来说明子块差分系数的解码处理的详细情况。
对有效子块信息进行解码(s301)。有效子块信息为用于表示在处理对象子块中存在不为0的差分系数的1比特的标志。有效子块信息为1表示处理对象子块中至少存在1个不为0的差分系数。有效子块信息为0表示处理对象子块的所有差分系数的值为0。
判定有效子块信息的值(s302)。当有效子块信息为0时,将处理对象子块的所有差分系数的值设定为0(s305),结束子块差分系数的解码处理。
有效子块信息为1时,进行处理对象子块的所有有效系数信息的解码处理(s303)。有效系数信息为用于表示处理对象位置的差分系数的值不为0的1比特的标志。有效系数信息为1表示处理对象位置的差分系数的值不为0,有效系数信息为0表示处理对象位置的差分系数的值为0。有效系数信息的扫描顺序与差分系数区域中的子块的扫描顺序相同,设为按照图2所示的扫描顺序。另外,在有效系数信息的解码之前,基于参照解码结果的预定处理导出上下文。子块的所有有效系数信息的解码结束后,转移到步骤s304的差分系数信息的解码。
对差分系数值信息进行解码处理(s304)。关于差分系数值信息解码处理的详细情况将在后文说明。完成差分系数值信息的解码处理后,转移到步骤s101,进行下一个子块的扫描。
[差分系数值信息解码处理步骤]
利用图4的流程图来说明图3的流程图的步骤s304的子块的差分系数值信息的解码步骤。
按照预定的扫描顺序决定处理对象的差分系数(s401)。子块内的差分系数的扫描顺序与有效系数信息的扫描顺序相同,设为按照图2所示的扫描顺序202。若扫描完子块的所有差分系数则完成对差分系数值信息的解码处理,转移到下一子块的决定步骤(s101)。
判定处理对象的差分系数的有效系数信息是否为0(s402)。在处理对象的差分系数的有效系数信息为0的情况下,完成对处理对象差分系数位置的差分系数值信息的解码,转移到步骤s401。
在处理对象的差分系数的有效系数信息为1的情况下,对处理对象差分系数的差分系数绝对值信息进行解码(s403)。在执行本步骤的情况下,已确定差分系数的值不为0,差分系数绝对值信息是从差分系数的绝对值减1的值被编码。由此,将差分系数绝对值信息加1的值设定为差分系数的绝对值。
对处理对象的差分系数的差分系数符号信息进行解码(s404)。在差分系数符号信息为0的情况下将差分系数的值的符号设为正,在差分系数符号信息为1的情况下将差分系数的值的符号设为负。
在以下说明中,“处理对象块”在图像编码装置中是指成为编码对象的块,在图像解码装置中是指成为解码对象的块。同样,“已处理块”在图像编码装置中为已编码的块,在图像解码装置中为已解码的块。以下,只要无特别说明,就按照该意义使用。
[编码装置]
参照附图说明实施本发明的优选的图像编码装置。图5是表示实施方式的图像编码装置的构成的框图。实施方式的图像编码装置包括:减法部501、正交变换·量化部502、逆量化·逆变换部503、加法部504、解码图像存储器505、预测部506、差分信息编码部507、预测信息编码部508及模式判定部509。
模式判定部509尝试所有预测候选的编码,针对每个图像的块决定最适合的预测信息。作为预测信息,包含分割块尺寸、表示帧间预测/帧内预测的预测模式,在预测模式为帧间预测的情况下,还包含运动矢量、参照图片索引等运动信息,进而,在预测模式为帧内预测的情况下还包含帧内预测模式。将所决定的预测信息提供给预测部506和预测信息编码部508。
预测信息编码部508对输入的预测信息进行可变长度编码并输出预测信息的编码序列。
预测部506利用输入的预测信息和解码图像存储器505中存储的已解码图像从而生成预测图像,并将生成的预测图像提供给减法部501。
减法部501通过从编码对象的原图像减去预测图像从而生成差分图像,并将生成的差分信号提供给正交变换·量化部502。
正交变换·量化部502对差分图像进行正交变换·量化从而生成差分系数,并将生成的差分系数提供给逆量化·逆变换部503和差分信息编码部507。
差分信息编码部507对差分系数进行熵编码并输出差分信息的编码序列。
逆量化·逆变换部503对从正交变换·量化部502接收的差分系数进行逆量化·逆正交变换从而生成解码差分信号,并将生成的解码差分信号提供给加法部504。
加法部504使预测图像和解码差分信号相加从而生成解码图像,并将生成的解码图像储存在解码图像存储器505中。
[解码装置]
参照附图说明实施本发明的优选的图像解码装置。图6是表示实施方式的图像解码装置的构成的框图。实施方式的图像解码装置包括:差分信息解码部601、逆量化·逆变换部602、预测信息解码部603、加法部604、解码图像存储器605及预测部606。
因为图6的图像解码装置的解码处理是与图5的图像编码装置的内部中设有的解码处理相对应的,故图6的逆量化·逆变换部602、加法部604、解码图像存储器605及预测部606的各构成具有与图5的图像编码装置的逆量化·逆变换部503、加法部504、解码图像存储器505及预测部506的各构成分别对应的功能。
预测信息解码部603对输入的预测信息编码序列进行熵解码从而生成预测信息,并将生成的预测信息提供给预测部606。
预测部606利用输入的预测信息和解码图像存储器605中存储的已解码图像从而生成预测图像,并将生成的预测图像提供给加法部604。
差分信息解码部601对差分信息进行熵解码从而生成差分信息。将生成的差分信息提供给逆量化·逆变换部602。
逆量化·逆变换部602对从差分信息解码部601接收的差分信息进行逆量化·逆正交变换从而生成解码差分信号,并将生成的解码差分信号提供给加法部604。
加法部604使预测图象和解码差分信号相加从而生成解码图像,将生产的解码图像存储在解码图像存储器605中,并输出。
本发明的实施方式的差分系数编码及解码处理在图5的图像编码装置的差分信息编码部507及图6的图像解码装置的差分信息解码部601中被实施。以下,说明实施方式的差分信息编码及解码处理的详细情况。
[编码块]
在实施方式中,如图7所示,将画面用矩形块分层地分割,并对各块进行基于预定处理顺序的逐次处理。将要分割的各块称为编码块。图7的块717在实施方式中是分割的最大单位,将其称为最大编码块。图7的块716在实施方式中是分割的最小单位,将其称为最小编码块。以下将最小编码块设为4×4像素、最大编码块设为16×16像素来进行说明。
[预测块]
在编码块中,将进行帧内预测的单位称为预测块。预测块具有在最小编码块以上、最大编码块以下的任意大小。图7的块701为处理对象块,根据预定处理顺序先于块701的块702至块711为已处理块。这些块已确定为预测块,块702、703及704为16×16块,块705、710、711及701为8×8块,块706、707、708、709为4×4块。块712、713、714、715为未处理块,编码块尺寸未确定。在编码步骤中决定最佳的预测块尺寸,并对预测块尺寸进行编码。在解码步骤中通过比特流取得预测块尺寸。以下,以预测块为处理单位进行说明。
[差分系数的处理单位]
进行量化·正交变换的单位设为与预测块的单位相同,但在编码·解码处理中,设为将差分系数区域分割成多个子块来进行扫描。子块的大小设为4×4尺寸。但,也可以与预测块的单位独立地决定进行量化·正交变换的单位。
(第1实施例)
[编码步骤]
说明本发明的实施方式的差分信息的编码方法的第1实施例。图8是图5的差分信息编码部507的第1实施例的详细构成的框图。第1实施例的差分信息编码部507包括:算术编码部801、差分系数缓存器802、编码控制部803、上下文存储器804及扫描控制部805,进而,编码控制部803还包括:有效系数信息编码控制部806、差分系数值信息编码控制部807及有效子块信息编码控制部808。
以下,参照图9、图10、图11、图14的流程图,以及图12、图13的上下文定义,说明差分系数的编码步骤。
扫描控制部805决定处理对象子块(s901)。若扫描完所有的子块,则结束差分系数的解码处理。子块的扫描顺序设为按照图2的扫描顺序202。在本步骤中,从差分系数区域的最左上侧的子块开始扫描,按照从左向右、且从上相下这样的规则进行扫描,在最右下侧的子块结束扫描。如上所述,上下文被进行基于编码过程的更新。在按照图2的扫描顺序202的情况下,相对于处理对象子块,空间上位于左侧及上侧的子块的扫描成为已完成的状态。对处理对象子块进行子块的编码处理(s902)。
[子块编码步骤(s902)]
有效子块信息编码控制部808从差分系数缓存器802取得处理对象子块。在扫描子块的所有差分系数,且所有的差分系数的值为0的情况下,将有效子块信息设定为0。在并非如此的情况(值非0的差分系数至少存在一个以上的情况)下,将有效子块信息设定为1(s1001)。
有效子块信息编码控制部808,从差分系数缓存器802参照与处理对象子块相邻且已解码的子块中包含的差分系数,决定上下文索引ctxidx,该上下文索引ctxidx是指示用于对有效子块信息进行编码的上下文的变量。从上下文存储器804读出与上下文索引ctxidx对应的上下文。向算术编码部801发送有效子块信息和上下文。算术编码部801利用上下文从而进行有效子块信息的编码(s1002)。
有效子块信息编码控制部808判定有效子块信息的值(s1003)。在有效子块信息为0时,结束子块差分系数编码处理,转移到步骤s901。
在有效子块信息为1时,进行处理对象子块的所有有效系数信息的编码处理(s1004)。关于有效系数信息的编码步骤的详细情况将在后文说明。子块的所有有效系数信息的编码结束后,转移到步骤s1005的差分系数值信息的编码。
差分系数值信息编码控制部807进行处理对象子块的所有差分系数值信息的编码处理(s1005)。关于子块的差分系数值信息的编码步骤的详细情况将在后文说明。子块的所有差分系数值信息的编码结束后,转移到步骤s901。
[有效系数信息编码处理步骤(s1004)]
有效系数信息编码控制部806取得与处理对象子块左侧及上侧相邻的已解码子块的有效子块信息作为周边有效子块信息。将左侧相邻的子块的有效子块信息记为siggroupleft,将下侧相邻的子块的有效子块信息记为siggrouptop(s1101)。
有效系数信息编码控制部806决定处理对象的差分系数(s1102)。子块内的差分系数的扫描顺序与差分系数区域中的子块的扫描顺序相同,设为按照图2所示的扫描顺序202。若扫描完子块的所有有效系数信息则结束有效系数信息的编码处理,转移到差分系数值信息的编码步骤(s1005)。
有效系数信息编码控制部806评价周边有效子块信息siggroupleft及siggrouptop(s1103)。
在siggroupleft及siggrouptop都为0的情况下,判定处理对象子块内的处理对象差分系数位置(s1104)。将水平方向差分系数位置记为posx、将垂直方向差分系数位置记为posy,将处理对象差分系数位置记为pos=posx+posy。若pos<=2,则将用于对有效系数信息进行编码的上下文索引ctxidx设定为1(s1105),若非如此(pos>2),则将上下文索引ctxidx设定为0(s1106)。将siggroupleft及siggrouptop都为0的情况的上下文索引ctxidx的定义示于图12的标号1201。但在此所说明的方法仅为一个示例,例如如图13的标号1301所示,不依据pos也能导出ctxidx。另外,图13的标号1304表示以pos<=4、pos<=5的条件导出ctxidx的示例。也可以如图13的1304所示以基于2个以上的条件而切换ctxidx的方式构成。
判定是否siggroupleft为1且siggrouptop为0(s1107)。在siggroupleft为1且siggrouptop为0的情况下,判定处理对象子块内的水平方向差分系数位置(s1108)。若posx<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1109),若非如此(posx>1),则将上下文索引ctxidx设定为0(s1110)。将siggroupleft为1且siggrouptop为0的情况的上下文索引ctxidx的定义示于图12的标号1202。但在此所说明的方法仅为一个示例,例如也可以如图13的1302所示以基于2个以上的条件而切换ctxidx的方式构成。
判定是否siggroupleft为0且siggrouptop为1(s1111)。在siggroupleft为0且siggrouptop为1的情况下,判定处理对象子块内的垂直方向差分系数位置(s1112)。若posy<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1113),若非如此(posy>1),则将上下文索引ctxidx设定为0(s1114)。将siggroupleft为0且siggrouptop为1的情况的上下文索引ctxidx的定义示于图12的标号1203。即,在siggroupleft为0且siggrouptop为1的情况的上下文索引ctxidx的设定步骤为将siggroupleft为1且siggrouptop为0的情况下的x方向的处理与y方向的处理调换后的处理。因此,容易实现处理的共通化,能够减少硬件的电路规模和软件的代码量。但在此所说明的方法仅为一个示例,例如也可以如图13的1303所示以基于2个以上的条件而切换ctxidx的方式构成。
在并非siggroupleft为0且siggrouptop为1时,即siggroupleft为1且siggrouptop为1时,不依据pos、posx、posy,而将用于对有效系数信息进行解码的上下文索引ctxidx设定为2(s1115)。将siggroupleft为1且siggrouptop为1的情况的上下文索引ctxidx的定义示于图12的标号1204。但在此所说明的方法仅为一个示例。可以是如图12的标号1201所示,基于处理对象差分系数位置而决定上下文索引ctxidx,也可以是如图13的标号1304所示,以基于处理对象差分系数位置的2个以上的条件而切换ctxidx的方式构成。
有效系数信息编码控制部806从差分系数缓存器802取得处理对象位置的差分系数。在差分系数的值不为0的情况下,将有效系数信息设定为1,在非此情况下,即差分系数的值为0的情况下,将有效系数信息设定为0。另外,有效系数信息编码控制部806从上下文存储器804读出与所决定的上下文索引ctxidx对应的上下文后,向算术编码部801发送有效系数信息和上下文。算术编码部801利用上下文从而对有效系数信息进行编码(s1116)。
[差分系数值信息编码处理步骤(s1005)]
差分系数值信息编码控制部807决定处理对象的差分系数(s1401)。子块内的差分系数的扫描顺序与有效系数信息的扫描顺序相同,设为按照图2所示的扫描顺序202。若扫描完子块的所有差分系数则结束差分系数值信息的编码处理,转移到下一子块的决定步骤(s901)。
差分系数值信息编码控制部807判定处理对象差分系数位置的差分系数的值是否为0(s1402)。在处理对象差分系数位置的差分系数的值为0的情况下,完成处理对象差分系数位置的差分系数值信息的编码,转移到步骤s901。
在处理对象差分系数位置的差分系数的值不为0的情况下,计算对象差分系数位置的差分系数绝对值信息及差分系数符号信息(s1403、s1404)。因确定在本步骤执行时差分系数的值不为0,故差分系数绝对值信息为从差分系数的绝对值减1的值。另外在差分系数为正的情况下将差分系数符号信息设定为0,在差分系数为负的情况下将差分系数符号信息设定为1。
差分系数值信息编码控制部807从上下文存储器804读出上下文后,向算术编码部801发送差分系数绝对值信息和上下文。算术编码部801利用上下文从而对差分系数绝对值信息进行编码(s1405)。
差分系数值信息编码控制部807从上下文存储器804读出上下文后,向算术编码部801发送差分系数符号信息和上下文。算术编码部801利用上下文从而对差分系数符号信息进行编码(s1406)。
[解码步骤]
说明本发明的实施方式的差分系数的解码方法的第1实施例。图15是图6的差分信息解码部601的第1实施例的详细构成的框图。第1实施例的差分信息解码部601包括:算术解码部1501、差分系数缓存器1502、解码控制部1503、上下文存储器1504及扫描控制部1505,进而,解码控制部1503还包括:有效系数信息解码控制部1506、差分系数值信息解码控制部1507及有效子块信息解码控制部1508。
由于图6的差分信息解码部601中的差分信息解码处理是与图5的差分信息编码部507的差分信息编码处理对应的,所以图14的差分信息编码部中的差分系数缓存器1502、上下文存储器1504及扫描控制部1505的各构成具有与图8的差分系数缓存器802、上下文存储器804及扫描控制部805的各构成分别对应的功能。
以下,参照图1、图3、图4、图16的流程图,以及图12、图13的上下文定义来说明差分信息的解码步骤。
扫描控制部1505决定处理对象子块(s101)。若扫描完所有的子块,则结束差分系数的解码处理。图2表示子块的扫描顺序202。在本步骤中,从差分系数区域的最左上侧的子块开始扫描,按照从左向右、且从上向下这样的规则进行扫描,在最右下侧的子块结束扫描。图2的201是利用箭头表现子块的扫描顺序的图。在按照图2的扫描顺序的情况下,成为相对于处理对象子块、空间上为位于左侧及上侧的子块的扫描已完成的状态。对处理对象子块进行子块的解码处理(s102)。
[子块解码步骤(s102)]
有效子块信息解码控制部1508,从差分系数缓存器1502参照与处理对象子块相邻且已解码的子块中包含的差分系数,决定用于对有效子块信息进行解码的上下文,并从上下文存储器1504读出决定的上下文。向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效子块信息进行解码(s301)。
有效子块信息解码控制部1508判定有效子块信息的值(s302)。在有效子块信息为0时,将差分系数缓存器1502的处理对象子块的所有差分系数的值设定为0(s305),并结束子块差分系数值信息解码处理。
在有效子块信息为1时,进行处理对象子块的所有有效系数信息的解码处理(s303)。关于子块的有效系数信息的解码步骤的详细情况将在后文说明。子块的所有有效系数信息的解码结束后,转移到步骤s304的差分系数的解码。
进行处理对象子块的所有差分系数的差分系数值信息的解码处理(s304)。关于子块的差分系数值信息的解码步骤的详细情况将在后文说明。子块的所有差分系数值信息的解码结束后,转移到步骤s101。
参照图16的流程图,说明本实施例的有效系数信息的解码处理步骤。
[有效系数信息解码步骤(s303)]
有效系数信息解码控制部1506取得与处理对象子块左侧及上侧相邻的已解码子块的有效子块信息作为周边有效子块信息。将左侧相邻的子块的有效子块信息记为siggroupleft,将上侧相邻的子块的有效子块信息记为siggrouptop(s1601)。
有效系数信息解码控制部1506决定处理对象的差分系数(s1602)。子块内的差分系数的扫描顺序与差分系数区域中的子块的扫描顺序相同,设为按照图2的扫描顺序202。若扫描完子块的所有有效系数信息则完成有效系数信息的解码处理,转移到差分系数值信息的解码步骤(s304)。
有效系数信息解码控制部1506评价周边有效子块信息siggroupleft及siggrouptop(s1603)。在siggroupleft为0且siggrouptop为0的情况下,判定处理对象子块内的处理对象差分系数位置(s1604)。将水平方向差分系数位置记为posx、将垂直方向差分系数位置记为posy,将处理对象差分系数位置记为pos=posx+posy。若pos<=2,则将用于对有效系数信息进行解码的上下文ctxidx设定为1(s1605),若非如此(pos>2),则将上下文ctxidx设定为0(s1606)。将siggroupleft为0且siggrouptop为0时的上下文的定义示于图12的上下文定义1201。但在此所说明的方法仅为一个示例,例如如图13的标号1301所示,无关pos也能导出ctxidx。另外,图13的上下文定义1304表示以pos<=4、pos<=5的条件导出ctxidx的示例。也可以如图13的上下文定义1304所示以基于2个以上的条件而切换ctxidx的方式构成。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1616)。
判定是否siggroupleft为1且siggrouptop为0(s1607)。在siggroupleft为1且siggrouptop为0的情况下,判定处理对象子块内的水平方向差分系数位置(s1608)。若posx<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1609),若非如此(posx>1),则将上下文索引ctxidx设定为0(s1610)。将siggroupleft为1且siggrouptop为0时的上下文的定义示于图13的上下文定义1302。但在此所说明的方法仅为一个示例,例如也可以如图13的上下文定义1302所示以基于2个以上的条件而切换ctxidx的方式构成。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1616)。
判定是否siggroupleft为0且siggrouptop为1(s1611)。在siggroupleft为0且siggrouptop为1的情况下,判定处理对象子块内的垂直方向差分系数位置(s1612)。若posy<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1613),若非如此(posy>1),则将上下文索引ctxidx设定为0(s1614)。将siggroupleft为0且siggrouptop为1时的上下文的定义示于图12的上下文定义1203。但在此所说明的方法仅为一个示例,例如也可以如图13的上下文定义1303所示以基于2个以上的条件而切换ctxidx的方式构成。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1616)。
在并非siggroupleft为0且siggrouptop为1时,即siggroupleft与siggrouptop都为1时,不依据pos,而将用于对有效系数信息进行解码的上下文索引ctxidx设定为2(s1615)。将siggroupleft与siggrouptop都为1时的上下文的定义示于图12的上下文定义1204。但在此所说明的方法仅为一个示例。可以如图12的上下文定义1201所示,基于处理对象差分系数位置而决定上下文索引ctxidx,也可以如图13的上下文定义1304所示以基于处理对象差分系数位置的2个以上的条件而切换ctxidx的方式构成。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1616)。
本步骤中,在用于有效系数信息的上下文索引ctxidx的计算中,参照已解码相邻子块的有效系数信息的数量之和及处理对象差分系数的子块内位置。以下说明采取这样的构成的理由。
一般地说,图像的正交变换系数容易集中于低频分量,有效系数信息为1的可能性高。进而,因正交变换系数的高频分量不易受到视觉上的影响,故常被较粗地量化,因此高频分量的系数值为0、高频分量的有效系数信息为0的可能性高。该性质不限于差分系数区域整体,对各子块都是相同的,可以说处于子块的低频侧的分量与处于同一子块的高频侧的分量相比,有效系数信息为1的可能性变高。将子块内处于低频的有效系数信息的上下文索引ctxidx的值设定得大于处于高频的有效系数信息的上下文索引ctxidx的值,将使有效系数信息的发生概率的预测精度提高。另外,在有效系数信息为0的概率较高的高频,周边有效子块信息为0的概率变高,在有效系数信息为1的概率较高的低频,周边有效系数子块信息为1的概率变高的倾向较强,利用周边有效系数子块信息作为处理对象子块怎样程度地包含有效系数信息的指标,将使有效系数信息的发生概率的预测精度提高。
本实施例中,在上下文索引的计算中参照已处理子块的有效子块信息和处理对象系数位置,但因已处理子块的有效子块信息未将属于处理对象子块的差分系数作为对象,故在上下文索引的计算中不存在子块内的依存关系。因能够在子块的开头就计算与所有的有效系数相对的上下文索引,故能够将上下文索引的计算与有效系数信息的解码处理并行地进行计算。能够减少编码序列中发生频率高的有效系数信息的解码的相关处理延迟。
也可以不参照有效子块信息,而是参照属于已处理的且与处理对象子块相邻的子块的有效系数信息之和来进行上下文计算。与参照有效子块信息的构成相比,因能够考虑处理对象子块的周边的有效系数信息的发生频率,故能够提高编码效率。
另外,也可以不参照有效子块信息,而是利用属于已处理的且与处理对象子块相邻的子块的差分系数值的绝对值和来计算上下文索引。因一般低频分量的差分系数绝对值较大,故通过设定在周边差分系数绝对值和较大的情况下有效系数信息的发生概率变高的上下文,能够使编码效率提高。
进而,通过将计算差分系数时使用的预测模式加到有效系数的上下文索引计算步骤中的条件判定中,也能够使上下文预测的精度提高。一般地说,这是由于存在以下这样的特性的差异:与仅解码对象图像的已解码区域成为参照对象的帧内预测相比,能够参照多个解码图像的帧间预测的预测精度更高且不易发生差分。
[差分系数值信息解码步骤(s304)]
有效系数信息解码控制部1506决定处理对象的差分系数(s401)。设子块内的差分系数的扫描顺序与有效系数的扫描顺序相同,按照图2所示的扫描顺序202。若扫描完子块的所有差分系数则完成差分系数值信息的解码处理,转移到下一子块的决定步骤(s101)。
有效系数信息解码控制部1506判定处理对象的差分系数的有效系数信息是否为0(s402)。在处理对象的差分系数的有效系数信息为0的情况下,完成处理对象的差分系数的差分系数值信息的解码,转移到步骤s401。
在处理对象的差分系数的有效系数信息为1的情况下,对处理对象的差分系数的差分系数绝对值信息进行解码(s403)。在执行本步骤的情况下,已确定差分系数的值不为0,差分系数绝对值信息为从差分系数的绝对值减1的值。由此将差分系数绝对值信息加1的值设定为差分系数的绝对值。
对处理对象的差分系数的差分系数符号信息进行解码(s404)。在差分系数符号信息为0的情况下将差分系数的值的符号设为正,在差分系数符号信息为1的情况下将差分系数的值的符号设为负。
本步骤中,在用于有效系数信息的上下文索引ctxidx的计算中,是参照已解码相邻子块的有效子块信息和处理对象差分系数的子块内位置,进而分别判定左侧的有效子块信息和上侧的有效子块信息的。以下说明采取这样的构成的理由。
一般地说,图像的正交变换系数容易集中在低频分量,有效系数信息为1的可能性高。进而,因正交变换系数的高频分量不易受到视觉上的影响,故常被较粗地量化,因此高频分量的系数值为0、高频分量的有效系数信息为0的可能性高。该性质不限于差分系数区域整体,对于各子块都是相同的,可以说处于子块的低频侧的分量与处于同一子块的高频侧的分量相比,有效系数信息为1的可能性变高。将子块内处于低频的有效系数信息的上下文索引ctxidx的值设定得大于处于高频的有效系数信息的上下文索引ctxidx的值,将使有效系数信息的发生概率的预测精度提高。另外,在有效系数信息为0的概率较高的高频,已解码相邻有效子块信息也变小,在有效系数信息为1的概率较高的低频,已解码相邻有效子块信息也变大的倾向较强,利用已解码相邻有效子块信息作为处理对象子块怎样程度地包含有效系数信息的指标,将使有效系数信息的发生概率的预测精度提高。
本实施例的上下文计算步骤中,在左侧的有效子块信息siggroupleft为1且上侧的有效子块信息siggrouptop为0的情况下,因在处理对象子块的左侧存在有效系数信息,故处理对象子块的水平方向的低频侧的有效系数信息为1的可能性高。另一方面,根据水平方向的高频分量为0的可能性高这一正交变换系数的一般特性,越向处理对象子块的水平方向的高频侧,有效系数信息为0的概率越变高。另外,因这时在处理对象子块的上侧不存在有效系数,故根据对垂直方向上在低频处有效系数信息为0的概率也高的推测,垂直方向上有效系数信息为0的概率不变动。在左侧的有效子块信息siggroupleft为1且上侧的有效子块信息siggrouptop为0的情况下,通过基于处理对象的有效系数信息的水平方向的位置、而不基于垂直方向的位置从而导出上下文的本实施例的构成,能够选择适当的上下文。
同样,在左侧的有效子块信息siggroupleft为0且上侧的有效子块信息siggrouptop为1的情况下,因在处理对象子块的上侧存在有效系数信息,故处理对象子块的垂直方向的低频侧的有效系数信息为1的可能性高。另一方面,根据垂直方向的高频分量为0的可能性高这一正交变换系数的一般特性,越向处理对象子块的垂直方向的高频侧,有效系数信息为0的概率越变高。另外,因这时在处理对象子块的左侧不存在有效系数,故根据对水平方向上在低频处有效系数信息为0的概率也高的推测,水平方向上有效系数信息为0的概率不变动。在左侧的有效子块信息siggroupleft为0且上侧的有效子块信息siggrouptop为1的情况下,通过本实施例的构成,即基于处理对象的有效系数信息的垂直方向的位置、而不是基于水平方向的位置来导出上下文,能够选择适当的上下文。因此,通过采取本实施例的构成,能够决定恰当地反映周边的处理结果和正交变换系数的特性的上下文,能够提高编码效率。
另外本实施例从处理量减少的观点出发,是参照与解码对象子块左侧相邻的子块及上侧相邻的子块作为已解码相邻子块的,但本发明并非将已解码相邻子块限定于此。特别是与解码对象子块左上相邻的子块与解码对象子块的距离较近,与解码对象子块的相关性较高。由此,通过将左上相邻的子块的有效子块信息siggrouptopleft加到计算上下文索引ctxindex的判定对象中,能够提高有效系数的发生概率的精度。但,将与解码对象子块左上相邻的子块,同与解码对象子块左侧相邻的子块及上侧相邻的子块相比,因与解码对象子块的距离较远、相关性较低,故在根据siggroupleft、siggrouptop、siggrouptopleft而计算有效系数的上下文索引的构成中,优选将相对于siggrouptopleft的有效系数的上下文索引的反映度设定得低于siggrouptop、siggrouptopleft。作为将相对于siggrouptopleft的有效系数的上下文索引的反映度设定得较低的方法,例如在siggrouptop、siggrouptopleft均为0的情况下,无关siggrouptopleft的值,而将有效系数信息的发生概率设定得较低。
在本实施例中,是参照左侧的有效子块信息siggroupleft和上侧的有效子块信息siggrouptop及处理对象系数位置的,但因左侧的有效子块信息siggroupleft和上侧的有效子块信息siggrouptop不以属于处理对象子块的差分系数为对象,故在上下文索引的计算中不存在子块内的依存关系。因能够在子块的开头就计算针对所有有效系数的上下文索引,故能够将上下文索引的计算与有效系数信息的解码处理并行地进行计算。能够减少编码序列中发生频率高的有效系数信息的解码的相关处理延迟。
本实施例是根据已解码子块的有效子块信息,计算用于对有效系数信息进行解码的上下文索引的,但也能够将相同的步骤适用于差分系数绝对值的上下文索引计算。与有效系数信息相同,因差分系数绝对值具有与周边的差分系数的绝对值的相关及向低频分量的集中性,故通过在周边有效系数和或周边差分系数绝对值和较大时,设定表示绝对值较大的差分系数的发生概率高的上下文索引,在周边有效系数和或周边差分系数绝对值和较小时,设定表示绝对值较小的差分系数的发生概率高的上下文索引,能够有效地对差分系数绝对值信息进行编码。
另外,在本实施例中,是基于相邻子块的编码·解码信息和编码·解码对象的有效系数信息的子块内位置,来导出用于对有效系数信息进行编码·解码的上下文的。这些均不依据编码·解码对象的有效系数信息所属子块的编码·解码结果。因此,关于子块内的有效系数信息的扫描顺序,并非必须与有效子块信息的扫描顺序相同,有效子块信息的扫描顺序按照图2,另一方面关于有效系数信息的扫描顺序也可以如图17所示从右向左、从下向上地与hevc相同。
以上所述的第1实施例的图像编码装置及图像解码装置,发挥以下的作用效果(1)至(4)。
(1)能够根据属于与处理对象差分系数所属的子块相邻的已解码子块的差分系数来计算处理对象差分系数的上下文索引。通过设定在已解码子块不为0而具有差分系数时,预测有效系数信息1的发生概率较高,在属于已解码子块的所有差分系数都为0时,预测有效系数信息0的发生概率较高的上下文,能够设定基于有效系数信息的周边相关的恰当的概率模型。因此,能够高效地对有效系数信息进行编码。
(2)基于处理对象差分系数的子块内的位置计算上下文索引。设定预测在子块内处于低频的差分系数的有效系数为1的概率高于在子块内处于高频的差分系数的上下文。能够基于有效系数信息的频域上的性质设定恰当的概率模型,能够高效地对有效系数信息进行编码。
(3)已解码子块的差分系数及子块内的处理对象差分系数的位置不依存于子块内的有效系数信息的解码结果。因此,能够采取将子块内的上下文索引的计算和有效系数信息的解码并行处理的构成,故能够减少有效系数信息的解码处理的相关处理延迟。差分系数相对于编码序列所占有的比例较高,通过减少处理次数多的有效系数信息的处理延迟,能够实现适于实时处理的解码装置。另外,在编码装置中也同样能够减少有效系数信息编码的处理延迟。
(4)基于左侧的有效子块信息和上侧的有效子块信息的组合计算上下文索引。在处理对象子块的上侧存在有效系数时,能够预测处理对象子块的垂直方向的低频分量的有效系数信息为1的概率较高,水平方向的高频分量的有效系数信息为1的概率较低。另一方面,在处理对象子块的左侧存在有效系数时,能够预测处理对象子块的水平方向的低频分量的有效系数信息为1的概率较高,垂直方向的高频分量的有效系数信息为1的概率较低。因此,通过采取这样的构成,在从左向右、从上向下扫描子块的构成中,因能够恰当地设定有效系数信息的概率模型,故能够有效地对有效系数信息进行编码。
(第2实施例)
说明本发明的实施方式的差分信息的编码方法的第2实施例。第2实施例的差分信息编码部507与图8所示的第1实施例的差分信息编码部507相同,包括:算术编码部801、差分系数缓存器802、编码控制部803、上下文存储器804及扫描控制部805;进而,编码控制部803还包括:有效系数信息编码控制部806、差分系数值信息编码控制部807及有效子块信息编码控制部808。
因本实施例的差分信息的编码步骤除有效系数信息的编码处理步骤(图10的s1004)以外,与第1实施例相同,故以下参照图18的流程图,说明本实施例的有效系数信息的编码处理步骤。
[有效系数信息的编码处理步骤(s1004)]
有效系数信息编码控制部806根据与处理对象子块左侧及上侧相邻的已解码子块的有效子块信息来计算周边有效索引sigcoeffindex。将左侧相邻的子块的有效子块信息记为siggroupleft,将上侧相邻的子块的有效子块信息记为siggrouptop,将周边有效索引记为sigcoeffindex=siggroupleft+2×siggrouptop(s1801)。
有效系数信息编码控制部806决定处理对象的差分系数(s1802)。子块内的差分系数的扫描顺序设为与差分系数区域中的子块的扫描顺序相同,按照图2的扫描顺序202。若扫描完子块的所有有效系数则结束有效系数的编码处理,转移到差分系数值的编码步骤(s1005)。
有效系数信息编码控制部806评价周边有效索引sigcoeffindex(s1803)。
在周边有效索引sigcoeffindex为0的情况下,判定处理对象子块内的处理对象差分系数位置(s1804)。周边有效索引sigcoeffindex为0,表示siggroupleft为0且siggrouptop为0。将水平方向差分系数位置记为posx、垂直方向差分系数位置记为posy,处理对象差分系数位置记为pos=posx+posy。若pos<=2,则将用于对有效系数信息进行编码的上下文索引ctxidx设定为1(s1805),若非如此(pos>2),则将上下文索引ctxidx设定为0(s1806)。将周边有效索引sigcoeffindex为0的情况的上下文索引ctxidx的定义示于图12的上下文定义1201。
判定周边有效索引sigcoeffindex是否为1(s1807)。周边有效索引sigcoeffindex为1,表示siggroupleft为1且siggrouptop为0。在周边有效索引sigcoeffindex为1的情况下,判定处理对象子块内的水平方向差分系数位置(s1808)。若posx<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1809),若非如此(posx>1),则将上下文索引ctxidx设定为0(s1810)。将周边有效索引sigcoeffindex为1的情况的上下文索引ctxidx的定义示于图12的上下文定义1202。
判定周边有效索引sigcoeffindex是否为2(s1811)。周边有效索引sigcoeffindex为2表示siggroupleft为0且siggrouptop为1。在周边有效索引sigcoeffindex为2的情况下,判定处理对象子块内的垂直方向差分系数位置(s1812)。若posy<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1813),若非如此(posy>1),则将上下文索引ctxidx设定为0(s1814)。将周边有效索引sigcoeffindex为2时的上下文索引ctxidx的定义示于图12的上下文定义1203。即,周边有效索引sigcoeffindex为2的情况的上下文索引ctxidx的设定步骤,为将周边有效索引sigcoeffindex为1的情况的x方向的处理与y方向的处理调换后的处理。因此,容易实现处理的共通化,能够减少硬件的电路规模和软件的代码量。
在周边有效索引sigcoeffindex不为2时,即周边有效索引sigcoeffindex为3时,不依据pos,将用于对有效系数信息进行解码的上下文索引ctxidx设定为2(s1815)。将周边有效索引sigcoeffindex为3时的上下文索引ctxidx的定义示于图12的上下文定义1204。
有效系数信息编码控制部806从差分系数缓存器802取得处理对象位置的差分系数。在差分系数值不为0的情况下,将有效系数信息设定为1,在并非如此时(差分系数值为0的情况),将有效系数信息设定为0。另外,有效系数信息编码控制部806从上下文存储器804读出与所决定的上下文索引ctxidx对应的上下文后,向算术编码部801发送有效系数信息和上下文。算术编码部801利用上下文从而对有效系数信息进行编码(s1816)。
[解码步骤]
说明本发明的实施方式的差分系数的解码方法的第2实施例。第2实施例的差分信息解码部601与图15所示的第1实施例的差分信息解码部601相同,包括:算术解码部1501、差分系数缓存器1502、解码控制部1503、上下文存储器1504及扫描控制部1505,进而,解码控制部1503还包括:有效系数信息解码控制部1506、差分系数值信息解码控制部1507及有效子块信息解码控制部1508。
由于图6的差分信息解码部601的差分信息解码处理,是与图5的差分信息编码部507的差分信息编码处理对应的,所以图15的差分信息编码部中的差分系数缓存器1502、上下文存储器1504及扫描控制部1505的各构成,具有与图8的差分系数缓存器802、上下文存储器804及扫描控制部805的各构成分别对应的功能。
因本实施例的差分信息的解码步骤除有效系数信息的编码处理步骤(图3的s303)以外,与第1实施例相同,故以下参照图19的流程图,说明本实施例的有效系数信息的解码处理步骤。
[有效系数信息的解码步骤(s303)]
有效系数信息解码控制部1506根据与处理对象子块左侧及上侧相邻的已解码子块的有效子块信息来计算周边有效索引sigcoeffindex。将左侧相邻的子块的有效子块信息记为siggroupleft,将上侧相邻的子块的有效子块信息记为siggrouptop,将周边有效索引记为sigcoeffindex=siggroupleft+2×siggrouptop(s1901)。
有效系数信息解码控制部1506决定处理对象的差分系数(s1902)。子块内的差分系数的扫描顺序,设为与差分系数区域中的子块的扫描顺序相同,按照图7所示的规则。若扫描完子块的所有有效系数则结束有效系数的解码处理,转移到差分系数值的解码步骤(s304)。
有效系数信息解码控制部1506评价周边有效索引sigcoeffindex(s1903)。
在周边有效索引sigcoeffindex为0的情况下,判定处理对象子块内的处理对象差分系数位置(s1904)。周边有效索引sigcoeffindex为0表示siggroupleft和siggrouptop均为0。将水平方向差分系数位置记为posx、垂直方向差分系数位置记为posy,处理对象差分系数位置记为pos=posx+posy。若pos<=2,则将用于对有效系数信息进行解码的上下文ctxidx设定为1(s1905),若非如此(pos>2),则将上下文ctxidx设定为0(s1906)。将周边有效索引sigcoeffindex为0时的上下文的定义示于图12的上下文定义1201。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1916)。
判定周边有效索引sigcoeffindex是否为1(s1907)。周边有效索引sigcoeffindex为1表示siggroupleft为1且siggrouptop为0。在周边有效索引sigcoeffindex为1的情况下,判定处理对象子块内的水平方向差分系数位置(s1908)。若posx<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1909),若非如此(posx>1),则将上下文索引ctxidx设定为0(s1910)。将周边有效索引sigcoeffindex为1的情况的上下文的定义示于图12的上下文定义1202。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1916)。
判定周边有效索引sigcoeffindex是否为2(s1911)。周边有效索引sigcoeffindex为2表示siggroupleft为0且siggrouptop为1。在周边有效索引sigcoeffindex为2的情况下,判定处理对象子块内的垂直方向差分系数位置(s1912)。若posy<=1,则将用于对有效系数信息进行解码的上下文索引ctxidx设定为1(s1913),若非如此(posy>1),则将上下文索引ctxidx设定为0(s1914)。将周边有效索引sigcoeffindex为2时的上下文的定义示于图12的上下文定义1203。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1916)。
在周边有效索引sigcoeffindex不为2时,即周边有效索引sigcoeffindex为3的情况下,不依据pos,将用于对有效系数信息进行解码的上下文索引ctxidx设定为2(s1915)。将周边有效索引sigcoeffindex为3时的上下文的定义示于图12的上下文定义1204。从上下文存储器1504读出所决定的上下文后,向算术解码部1501发送上下文和解码命令。算术解码部1501利用上下文从而进行编码序列的解码处理,对有效系数信息进行解码(s1916)。
本实施例,在计算有效系数信息的上下文索引ctxidx的步骤上,在并非直接参照左侧相邻的子块的有效子块信息siggroupleft、上侧相邻的子块的有效子块信息siggrouptop,而是在基于siggroupleft、siggrouptop计算出周边有效索引sigcoeffindex后,参照周边有效索引sigcoeffindex从而计算上下文索引ctxidx这一点上与第1实施例不同。因此,能够减少周边有效索引sigcoeffindex上下文索引相关的判定处理的次数。
以上所述的第2实施例的图像编码装置及图像解码装置,在上述第1实施例的作用效果(1)~(4)的基础上,还发挥以下作用效果(5)。
(5)以左侧相邻的子块的有效子块信息siggroupleft、上侧相邻的子块的有效子块信息siggrouptop为基础计算出周边有效索引sigcoeffindex后,基于周边有效索引sigcoeffindex计算上下文索引。与基于左侧相邻的子块的有效子块信息siggroupleft、上侧相邻的子块的有效子块信息siggrouptop计算上下文索引的方法相比较,能够减少上下文索引计算相关的判定处理的次数。
以上所述的实施方式的图像编码装置所输出图像的编码流,具有能够根据实施方式所使用的编码方法而进行解码的特定的数据格式,与图像编码装置对应的图像解码装置能够对该特定的数据格式的编码流进行解码。
因在图像编码装置与图像解码装置之间收发编码流,故在使用有线或无线网络的情况下,可以将编码流变换为适于通信路径的传输方式的数据形式来传输。这种情况,设有将图像编码装置所输出的编码流变换成适于通信路径的传输方式的数据形式的编码数据而发送到网络的图像发送装置,和从网络接收编码数据并复原成编码流从而提供给图像解码装置的图像接收装置。
图像发送装置包含:对图像编码装置输出的编码流进行缓存的存储器,对编码流进行打包的打包处理部,及介由网络发送打包后的编码数据的发送部。图像接收装置包含:介由网络接收打包后的编码数据的接收部,对接收的编码数据进行缓存的存储器,及对编码数据进行打包处理从而生成编码流,并提供给图像解码装置的打包处理部。
以上编码及解码相关的处理,当然可以作为利用硬件的传输、存储、接收装置来实现,也可以通过rom(只读存储器)或闪存存储器等所存储的固件、计算机等软件来实现。可以将该固件程序、软件程序记录在计算机等可读取的记录介质中来提供,也可以通过有线或无线网络从服务器提供,还可以作为地面波或卫星数字广播的数据广播来提供。
以上,基于实施方式说明了本发明。本领域技术人员应当理解,实施方式仅为示例,其各构成要素或各处理流程的组合可以有各种变形例,并且这些变形例也包含在本发明的范围内。
[附图标记说明]
501减法部,502正交变换·量化部,503逆量化·逆变换部,504加法部,505解码图像存储器,506预测部,507差分信息编码部,508预测信息编码部,509模式判定部,601差分信息解码部,602逆量化·逆变换部,603预测信息解码部,604加法部,605解码图像存储器,606预测部,801算术编码部,802差分系数缓存器,803编码控制部,804上下文存储器,805扫描控制部,806有效系数信息编码控制部,807差分系数值信息编码控制部,808有效子块信息编码控制部,1501算术解码部,1502差分系数缓存器,1503解码控制部,1504上下文存储器,1505扫描控制部,1506有效系数信息解码控制部,1507差分系数值信息解码控制部,1508有效子块信息解码控制部。
[工业可利用性]
本发明能够利用于影像编码数据的转码(transcode)技术。