首页> 中国专利> 运动图像处理方法及程序、其上记录有运动图像处理方法的程序的记录介质以及运动图像处理设备

运动图像处理方法及程序、其上记录有运动图像处理方法的程序的记录介质以及运动图像处理设备

摘要

本发明应用于基于ITU-T H.264的运动图像编码设备和解码设备。使用在访问等待时间端的第二存储器(13)中保持的概率状态变量来处理具有高出现频率的语法元素,并使用在访问等待时间长的第一存储器(12)中保持的概率状态变量来处理其它语法元素。

著录项

  • 公开/公告号CN101438595A

    专利类型发明专利

  • 公开/公告日2009-05-20

    原文格式PDF

  • 申请/专利权人 索尼株式会社;

    申请/专利号CN200780016046.0

  • 发明设计人 小仓誉之;重本大乗;

    申请日2007-03-14

  • 分类号H04N7/26;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人余刚

  • 地址 日本东京

  • 入库时间 2023-12-17 22:01:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-05-07

    未缴年费专利权终止 IPC(主分类):H04N7/26 授权公告日:20110525 终止日期:20130314 申请日:20070314

    专利权的终止

  • 2011-05-25

    授权

    授权

  • 2009-07-15

    实质审查的生效

    实质审查的生效

  • 2009-05-20

    公开

    公开

说明书

技术领域

本发明涉及运动图像处理方法、运动图像处理方法的程序、其上记录有运动图像处理方法的程序的记录介质以及运动图像处理设备,例如可应用于基于ITU(国际电信联盟)-T H.264的运动图像的编码设备和解码设备。本发明使用保持在访问等待时间较小的第二存储器中的概率状态变量来处理具有高出现频率的语法元素,并使用保持在访问等待时间较大的第一存储器中的概率状态变量来处理其它语法元素,因此与过去相比避免了整体结构尺寸的增加并提高了处理速度。

背景技术

至今,运动图像编码处理已经应用了熵编码处理的技术,从而有效地执行运动图像的数据压缩。此外,在MPEG(运动图片专家组)2、MPEG 4等中,可变长度编码处理被应用于这种熵编码处理。此外,在ITU-T H.264中,基于上下文的自适应二进制算术编码处理(CABAC)被应用于这种熵编码处理。

这里,由于基于上下文的自适应二进制算术编码处理与可变长度编码处理相比可以有效地执行数据压缩,所以当以一定的比特率执行数据传输时,与MPEG 2和MPEG 4中的编码处理相比,在ITU-T H.264中可以通过编码处理改善图像质量。但是,基于上下文的自适应二进制算术编码处理具有弱点,即,与可变长度编码处理相比,它涉及到复杂的处理和较大的处理负荷。

图1是示出基于上下文的自适应二进制算术编码处理的处理程序的流程图。基于上下文的自适应二进制算术编码处理对连续的语法元素的每一个顺序执行该处理。通过执行图1中的处理程序,基于上下文的自适应二进制算术编码处理对连续的语法元素执行上下文计算,以顺序检测各个语法元素可以采用的概率状态变量。此外,基于上下文的自适应二进制算术编码处理顺序地选择并处理所检测的概率状态变量,以对语法元素进行编码。

即,当基于上下文的自适应二进制算术编码处理开始该处理时,基于上下文的自适应二进制算术编码处理从步骤SP1前进至步骤SP2,并获得将被处理的多值语法元素(syntax element)。此后,通过步骤SP3中的二进制处理,基于上下文的自适应二进制算术编码处理根据每个语法元素的类型的规则将在步骤SP2中获得的语法元素二进制化。

此后,通过步骤SP4中的上下文计算处理,基于上下文的自适应二进制算术编码处理获得用于步骤SP3中所转换的各个二进制值的位置的上下文索引(ctxIdx)。这里,上下文索引(ctxIdx)是指定概率状态变量的索引。概率状态变量是表示二进制值的每个值的出现频率的变量。通过对应于每个二进制值的值的MPS(最或然符号)和状态索引(stateIdx)来表示概率状态变量。这里,MPS(最或然符号)是表示所述值是否为具有高发生概率的符号的标记,并且状态索引(stateIdx)是表示MPS符号的发生概率表的索引。因此,基于上下文的自适应二进制算术编码处理通过步骤SP4中的上下文计算处理根据上下文索引(ctxIdx)获得将被处理的语法元素的每个二进制值可以采用的概率状态变量。

随后,在步骤SP5的概率预测处理中,基于上下文的自适应二进制算术编码处理基于在步骤SP4中获得的内容索引(ctxIdx)选择对应于将被处理的二进制值的值的MPS(最或然符号)和状态索引(stateIdx)。

此后,在步骤SP6的算术编码处理中,基于上下文的自适应二进制算术编码处理使用在步骤SP5中选择的MPS(最或然符号)和状态索引(stateIdx)来执行算术编码处理。

基于上下文的自适应二进制算术编码处理从低位侧的二进制值开始对所有的二进制值重复步骤SP4~SP5~SP6~SP4的处理程序,直至完成所有待被编码的二进制值的处理为止,因此,顺序生成比特流。此外,当完成所有待被编码的二进制值的处理时,处理从步骤SP6前进至步骤SP7,并输出生成的比特流。处理前进至步骤SP8,处理程序结束。

此外,如通过从步骤SP6至步骤SP4的箭头所示,当基于上下文的自适应二进制算术编码处理处理一个语法元素时,基于上下文的自适应二进制算术编码处理基于处理结果更新保持在存储器中的概率状态变量。当对相同的语法元素执行编码处理时,基于上下文的自适应二进制算术编码处理使用经过更新的概率状态变量来执行编码处理。

相反,图2是示出基于上下文的自适应二进制算术解码处理的流程图。基于上下文的自适应二进制算术解码处理对每个语法元素执行该处理。如在基于上下文的自适应二进制算术编码处理中一样,基于上下文的自适应二进制算术解码处理对连续的语法元素执行上下文计算,以顺序地检测各个语法元素可以采用的概率状态变量。此外,基于上下文的自适应二进制算术解码处理顺序地选择并处理所检测的概率状态变量,从而对语法元素进行解码。

即,当基于上下文的自适应二进制算术解码处理开始该处理程序时,基于上下文的自适应二进制算术解码处理从步骤SP11前进至步骤SP12。这里,基于上下文的自适应二进制算术解码处理从待被执行解码处理的比特流中检测指定语法元素类型的语法模式(syntax mode)和作为指定待被处理的比特位置的信息的bin。

此外,在此后的步骤SP13中,如在基于上下文的自适应二进制算术编码处理中一样,基于上下文的自适应二进制算术解码处理使用在步骤SP12中获得的信息执行上下文计算,以获得对应的上下文索引(ctxIdx)。使用该上下文索引(ctxIdx),如在基于上下文的自适应二进制算术编码处理中一样,基于上下文的自适应二进制算术解码处理顺序地获得MPS和状态索引(stateIdx)。此外,通过使用所获得的MPS和状态索引(stateIdx)的算术编码处理,与执行编码时相反,基于上下文的自适应二进制算术解码处理获得原始二进制值。在步骤SP17中,基于上下文的自适应二进制算术解码处理从二进制值中获得多值数,以对原始语法元素进行解码。此外,如在基于上下文的自适应二进制算术编码处理中一样,基于上下文的自适应二进制算术解码处理基于处理结果更新概率状态变量。当对相同的语法元素执行解码处理时,基于上下文的自适应二进制算术解码处理使用经过更新的概率状态变量来执行解码处理。

图3是示出执行基于上下文的自适应二进制算术解码处理的解码设备的框图。

在该解码设备1中,在控制单元3的控制下,上下文计算单元2从待被处理的比特流中活动上下文索引(ctxIdx)。概率状态存储单元4在存储器5中存储并保持由这些上下文索引(ctxIdx)所指定的概率状态变量。响应于来自适应算术编码/解码单元6的访问,概率状态存储单元4向适应算术编码/解码单元6通知所保持的概率状态变量。例如,注意,在系数数据处理中,在存储器5中存储7比特×59种类型的概率状态变量。

适应算术编码/解码单元6通过待被处理的比特流生成二进制化的数据,并通过使用二进制化数据的概率预测,顺序地选择状态索引(stateIdx)和MPS。适应算术编码/解码单元6通过处理状态索引(stateIdx)和MPS生成语法信息,并执行算术解码处理。基于适应算术编码/解码单元6的处理结果,二进制解码单元7解码并输出原始语法元素(syntax)。

控制单元3是控制整个解码设备1的操作的控制单元。控制单元3指示上下文计算单元2使用通过适应算术编码/解码单元6生成的二进制化数据来执行上下文计算。此外,控制单元3向适应算术编码/解码单元6通知通过上下文计算单元2获得的上下文索引(ctxIdx),并指示二进制解码单元7对适应算术编码/解码单元6的处理结果执行处理。

在开始处理1NAL(网络提取层)单元之前,控制单元3对保持在概率状态存储单元4的存储器5中的概率状态变量进行初始化,随后根据适应算术编码/解码单元6的处理结果更新存储在存储器5中的概率状态变量。此外,在系数数据处理中,控制单元3基于当处理系数数据的一项时适应算术编码/解码单元6的执行结果,使用连续的系数数据来设置待被处理的二进制值的数。

图4是描述对解码设备1中的连续语法元素的处理的时序图。基于上下文的自适应二进制算术解码处理被用于在ITU-T H.264中定义的切片数据层以下的多个语法元素。因此,解码设备1基于宏块(macroblock)顺序处理诸如宏块型(mb型)、转换型(transform)、码块模式(cbp)和子宏块型(子mb型)的语法元素,然后在宏块处理中处理剩余层(图4(A)和图4(C))。这里,剩余层被划分为4×4像素剩余块。通过对图像数据执行离散余弦变换处理和量化处理而获得的系数数据(coeff abs level minus1(由图4中的level所表示))被分配给每个剩余块(图4(B))。解码设备1对该剩余层中的连续剩余块的系数数据(coeff abs level minus1)顺序执行编码处理(图4(C))。

对于诸如宏块型(mb型)、转换型、码块模式(cbp)和子宏块型(子mb型)的语法元素来说,在一个宏块中仅存在一个。相反,对于剩余块存在64项系数数据(coeff abs level minus1)。因此,例如,当处理所谓的4:2:0图像数据时,由于通过16×16个像素形成亮度信号宏块且通过8×8个像素形成色度信号宏块,所以在这种情况下,一个宏块存在6×64=384项的系数数据(coeff abs levelminus1)。

因此,当解码设备1对剩余块的系数数据(coeff abs levelminus1)执行编码处理时,解码设备1首先将记录在存储器5中的概率状态变量进行初始化,随后根据适应算术编码/解码单元6的处理结果顺序更新存储在存储器5中的概率状态变量。注意,在开始1NAL(网络提取层)单元时执行该初始化处理。此外,解码设备1基于当处理一项系数数据(coeff abs level minus1)时适应算术编码/解码单元6的执行结果,使用连续的系数数据(coeff abs levelminus1)来设置待被处理的二进制值的数。

图5是描述对剩余块的系数数据(coeffabs level minus1)的连续处理的时序图。注意,图5对应于使用访问等待时间较长的SRAM构成图3中的存储器5的情况。而且,每个处理的区段对应于作为处理单位的1个周期。在首先初始化存储器5的内容之后,解码设备1使用上下文计算单元2来计算第一系数数据的上下文(coeff abslevel minus1(0))(图5(A)和图5(B))。注意,图5中的实例是通过计算这个上下文利用低位二进制值获得上下文索引(ctxIdx0)并利用随后的第二~第四二进制值连续获得一个上下文索引(ctxIdx1)的情况。因此,在这两个上下文索引(ctxIdx0)和(ctxIdx1)中,第二个上下文索引(ctxIdx1)用于处理第二~第四二进制值。注意,在下文中,根据需要使用表示从开头开始的顺序的括号中的数字来表示每项系数数据。

在解码设备1中,通过基于上下文索引(ctxIdx0)和(ctxIdx1)的第一个上下文索引(ctxIdx0)使用适应算术编码/解码单元6计算概率(arith0)来选择将被记录在存储器5中的状态索引(stateIdx0)和MPS(图5(C)和图5(D))。此外,通过计算后续的概率(arith1),基于上下文索引(ctxIdx1)来选择将被记录在存储器5中的状态索引(stateIdx1)和MPS。解码设备1重复待被处理的二进制值数的状态索引(stateIdx)和MPS的选择,使用二进制解码单元7处理处理结果bin,并解码语法元素(syntax0)(图5(E)和图5(F))。此外,如箭头A所示,在基于处理结果更新记录在存储器5中的概率状态变量之后,解码设备1类似地处理后续的系数数据(coeff abslevel minus1)。

关于这种基于上下文的适应型二进制解码设备,在日本未审查专利申请公开第2005-130099号、日本未审查专利申请公开第2005-217871号等中推荐了用于提高处理速度的方案。

顺便提及,在这种类型的编码设备和解码设备中,期望提高处理速度。在为了提高速度而研究图1所示解码装置1的操作之后,意识到存在在连续语法元素(syntax)的处理之间产生空闲时间的问题。

即,如图5所示,当使用访问等待时间较长的SRAM构成存储器5时,在计算了上下文之后的2个周期后获得概率状态变量的状态索引(stateIDx)和MPS。在图5中的实例中,在后续的4个周期内,执行基于计算结果对概率状态变量的处理,因此对语法元素(syntax)进行解码。注意,基于上下文计算结果对概率状态变量的处理是获得概率状态变量的处理、算术解码处理和二进制化处理。在图5中的实例中,使用流水线系统来执行这些处理。此外,在解码语法元素(syntax)之后,基于处理结果来更新存储器5中的记录,并开始对后续系数数据(coeffabs level minus1)的处理。因此,当使用访问等待时间较长的SRAM构成存储器5时,在传统的解码设备1中,从在一个语法元素中完成对概率状态变量的处理时到在随后的语法元素中开始对概率状态变量的处理时产生了3个周期的空闲时间。

在对所有项系数数据的处理中产生了3个周期的空闲时间。由于在对一个宏块中的连续系数数据项的处理中产生了空闲时间,所以当从整体上来看时空闲时间非常多。

作为解决该问题的一个方法,可以使用将访问等待时间为0的寄存器应用于存储器5并保持概率状态变量的方法。但是,在这种方法的情况下,尽管上述3个周期的空闲时间可以被减小至1个周期,但与SRAM相比,存储器5的面积被增大。存在整体结构的尺寸增加的问题。

发明内容

鉴于上述几点,本发明提供了运动图像处理方法、运动图像处理方法的程序、其上记录有运动图像处理方法的程序的记录介质以及运动图像处理设备,其与过去相比可以避免整体结构尺寸的增加并提高了处理速度。

为了解决上述问题,本发明应用于计算上下文并编码或解码运动图像的运动图像处理方法,包括:上下文计算处理步骤,计算构成运动图像的语法元素的上下文,并顺序地检测可以被语法元素采用的概率状态变量;以及概率状态变量处理步骤,顺序地选择并处理在上下文计算处理步骤中获得的概率状态变量,并编码或解码语法元素。概率状态变量处理步骤包括:选择在概率状态存储单元中保持的概率状态变量的概率状态变量选择步骤。在概率状态存储单元中设置第一存储器和与第一存储器相比访问等待时间短的第二存储器。概率状态变量选择步骤当处理具有低出现频率的语法元素时从第一存储器中顺序选择概率状态变量,而当处理具有高出现频率的语法元素时从第二存储器中顺序选择概率状态变量。

在本发明的结构中,尽管整体形状的尺寸增加,但使用访问等待时间短的第二存储器来选择概率状态变量的结构可以提高处理速度。相反,尽管整体形状的尺寸减小,但使用访问等待时间长的第一存储器来选择概率状态变量的结构却难以提高处理速度。因此,根据权利要求1的结构,当进行配置使得当具有低出现频率的语法元素待被处理时从第一存储器中顺序选择概率状态变量,而当具有高出现频率的语法元素待被处理时从第二存储器中顺序选择概率状态变量,在使用第一和第二存储器的情况下,该结构可以利用两者的优势效果,因此与过去相比避免了整体结构尺寸的增加并提高了处理速度。

此外,本发明应用于计算上下文并编码或解码运动图像的运动图像处理方法的程序,包括:上下文计算处理步骤,计算构成运动图像的语法元素的上下文,并顺序地检测可以被语法元素采用的概率状态变量;以及概率状态变量处理步骤,顺序地选择并处理在上下文计算处理步骤中获得的概率状态变量,并编码或解码语法元素。概率状态变量处理步骤包括选择在概率状态存储单元中保持的概率状态变量的概率状态变量选择步骤。在概率状态存储单元中设置第一存储器和与第一存储器相比访问等待时间短的第二存储器。概率状态变量选择步骤当处理具有低出现频率的语法元素时从第一存储器中顺序选择概率状态变量,而当处理具有高出现频率的语法元素时从第二存储器中顺序选择概率状态变量。

在本发明的结构中,尽管整体形状的尺寸增加,但使用访问等待时间短的第二存储器来选择概率状态变量的结构可以提高处理速度。相反,尽管整体形状的尺寸减小,但使用访问等待时间长的第一存储器来选择概率状态变量的结构却难以提高处理速度。因此,根据本发明的结构,当进行配置使得当具有低出现频率的语法元素待被处理时从第一存储器中顺序选择概率状态变量,而当具有高出现频率的语法元素待被处理时从第二存储器中顺序选择概率状态变量,在使用第一和第二存储器的情况下,该结构可以利用两者的优势效果,因此与过去相比避免了整体结构尺寸的增加并提高了处理速度。

此外,本发明应用于其上记录有计算上下文并编码或解码运动图像的运动图像处理方法的程序的记录介质。运动图像处理方法的程序包括:上下文计算处理步骤,计算构成运动图像的语法元素的上下文,并顺序地检测可以被语法元素采用的概率状态变量;以及概率状态变量处理步骤,顺序地选择并处理在上下文计算处理步骤中获得的概率状态变量,并编码或解码所述语法元素。概率状态变量处理步骤包括选择在概率状态存储单元中保持的概率状态变量的概率状态变量选择步骤。在概率状态存储单元中设置第一存储器和与第一存储器相比访问等待时间短的第二存储器。概率状态变量选择步骤当处理具有低出现频率的语法元素时从第一存储器中顺序选择概率状态变量,而当处理具有高出现频率的语法元素时从第二存储器中顺序选择概率状态变量。

在本发明的结构中,尽管整体形状的尺寸增加,但使用访问等待时间短的第二存储器来选择概率状态变量的结构可以提高处理速度。相反,尽管整体形状的尺寸减小,但使用访问等待时间长的第一存储器来选择概率状态变量的结构却难以提高处理速度。因此,根据本发明的结构,当进行配置使得当具有低出现频率的语法元素待被处理时从第一存储器中顺序选择概率状态变量,而当具有高出现频率的语法元素待被处理时从第二存储器中顺序选择概率状态变量,在使用第一和第二存储器的情况下,该结构可以利用两者的优势效果,因此与过去相比避免了整体结构尺寸的增加并提高了处理速度。

此外,本发明应用于计算上下文并编码或解码运动图像的运动图像处理装置,包括:上下文计算单元,用于计算构成运动图像的语法元素的上下文,并顺序地检测可以被语法元素采用的概率状态变量;概率状态存储单元,其中,设置了第一存储器和与所述第一存储器相比访问等待时间短的第二存储器,概率状态变量被保持在第一存储器和第二存储器中;以及概率状态变量处理单元,用于基于上下文计算单元的检测结果顺序地选择并处理来自概率状态存储单元的概率状态变量,并编码或解码语法元素。概率状态变量处理单元当处理具有低出现频率的语法元素时从第一存储器中顺序选择概率状态变量,而当处理具有高出现频率的语法元素时从第二存储器中顺序选择概率状态变量。

在本发明的结构中,尽管整体形状的尺寸增加,但使用访问等待时间短的第二存储器来选择概率状态变量的结构可以提高处理速度。相反,尽管整体形状的尺寸减小,但使用访问等待时间长的第一存储器来选择概率状态变量的结构却难以提高处理速度。因此,根据本发明的结构,当进行配置使得当具有低出现频率的语法元素待被处理时从第一存储器中顺序选择概率状态变量,而当具有高出现频率的语法元素待被处理时从第二存储器中顺序选择概率状态变量,在使用第一和第二存储器的情况下,该结构可以利用两者的优势效果,因此与过去相比避免了整体结构尺寸的增加并提高了处理速度。

根据本发明,与过去相比可以避免整体结构尺寸的增加并提高了处理速度。

附图说明

图1是示出基于上下文的自适应二进制算术编码处理的处理程序的流程图。

图2是示出基于上下文的自适应二进制算术解码处理的处理程序的流程图。

图3是示出基于传统的基于上下文的自适应二进制算术处理的解码设备的框图。

图4是用于描述在图3的解码设备中对连续语法元素的处理的时序图。

图5是用于描述在图3的解码设备中对剩余块的系数数据的连续处理的时序图。

图6是示出本发明的实施例1的解码设备的框图。

图7是用于描述图6中的解码设备的操作的时序图。

图8是示出图6的解码设备中的上下文索引转换的示意图。

图9是示出图8中的转换的一个实例的示意图。

图10是示出图6的解码设备中的寄存器结构的示意图。

图11是用于描述本发明实施例2的解码设备的示意图。

图12是用于描述本发明实施例3的解码设备的框图。

具体实施方式

下文,根据需要参照附图详细描述本发明的实施例。

(1)实施例1的结构

与图3相比,图6是示出本发明实施例1的解码设备的框图。在解码设备10中,与图3所述解码设备1相同的结构被给出对应的参考标号,并忽略了其重复描述。解码设备10根据ITU-T H.264的规则顺序地对来自比特流的语法元素(syntax)进行解码,并通过对语法元素(syntax)执行逆量化处理和逆正交变换处理来对运动图像的图像数据进行解码。注意,可以使用硬件构成图6所示的每个单元,或者可以使用算术处理装置的功能块来构成每个单元。注意,当使用算术处理装置的功能块构成每个元件时,可以通过预先安装来提供用于算术处理装置的程序。可选地,可以通过将其记录在诸如光盘、磁盘、存储卡等的记录介质上来提供程序。此外,可以通过诸如互联网等的网络下载来提供程序。

在解码设备10中,在概率状态存储单元11中设置访问等待时间长的第一存储器和与第一存储器相比访问等待时间较短的第二存储器。这里,在该实施例中,由例如与第二存储器相比功耗低且形状小的SRAM的存储器12来构成第一存储器。相反,通过寄存器13来构成第二存储器。注意,例如,通过触发器构成寄存器13。

概率状态存储单元11在存储器12中存储用于所有语法元素的概率状态变量。此外,在存储器12中所存储的概率状态变量中,对应于具有高出现频率的语法元素并被频繁使用的概率状态变量被加载并保持在寄存器13中。当解码具有高出现频率的语法元素时,解码设备10使用保持在寄存器13中的概率状态变量来处理具有高出现频率的语法元素。相反,解码设备10使用记录在存储器12中的数据来处理除具有高出现频率的语法元素之外的语法元素。具体地,在该实施例中,对频繁使用的概率状态变量分配用于系数数据(coeff abs level minus1)的概率状态变量。

在概率状态存储单元11中,在控制单元19的控制下,选择单元14切换操作,并且在存储器12和寄存器13之间切换适应算术编码/解码单元16的访问目标。此外,在控制单元19的控制下,基于解码结果来更新记录在存储器12中的概率状态变量。此外,在控制单元19的控制下,当将保持在存储器12中的概率状态变量加载到寄存器13并基于解码结果更新记录在存储器12中的概率状态变量时,更新存储在寄存器13中的对应概率状态变量,以对应于存储器12中的记录。

在控制单元19的控制下,上下文计算单元18从待被处理的比特流中获得上下文索引(ctxIdx)。在系数数据项(coeff abs levelminus1(1-N))的连续解码处理中,上下文计算单元18在正在处理紧前的语法元素中计算的上下文索引的概率状态变量的周期内对后续的语法元素执行上下文计算。

适应计算编码/解码单元16将比特流二进制化,以对应于上下文计算单元18中的上下文计算,并向控制单元19通知经过二进制化的比特流。此外,基于由上下文计算单元18获得的上下文索引(ctxIdx),适应算术编码/解码单元16访问存储器12和寄存器13,顺序地选择MPS(最或然符号)和状态索引(stateIdx),并执行算术解码处理。

控制单元19是控制整个解码设备10操作的控制单元。除了对系数数据(coeff abs level minus1)之外,控制单元19如上面参照图4所描述的解码设备1的控制单元3一样来控制整体操作。即,在这种情况下,控制单元19指示上下文计算单元18对通过适应算术编码/解码单元16生成的二进制数据执行上下文计算。而且,控制单元19指示适应算术编码/解码单元16和二进制解码单元7对通过上下文计算单元18获得的上下文索引(ctxIdx)执行处理。此外,基于适应算术编码/解码单元16的处理结果,控制单元19更新保持在概率状态存储单元11中的概率状态变量。

相反,当对系数数据(coeff abs level minus1)执行解码处理时,控制单元19将在存储器12中所保持的概率状态变量加载到寄存器13,并控制每个单元的操作,以使用加载在寄存器13中的概率状态变量来执行状态索引(stateIdx)和MPS的选择。此外,控制单元19控制上下文计算单元18、适应算术编码/解码单元16等的操作,从而在正在处理一个语法元素的概率状态变量的周期内计算后续语法元素中的索引,并将对应的概率状态变量存储在寄存器13中。

相对于图5,图7是示出在控制单元19的控制下对系数数据(coeff abs level Minus1)的处理的时序图。注意,如在图4中的情况一样,图7对应于通过第一系数数据(coeff abs level minus1(0))的低位二进制值和第二~第四二进制值分别获得上下文索引(ctxIdx0)和上下文索引(ctxIdx1)并通过后续系数数据(coeff abslevel minus1(1))的两个连续二进制值分别获得上下文索引(ctxIdx2)和(ctxIdx3)的情况。

当控制单元19开始对系数数据(coeff abs level minus1(0))的处理时,控制单元19控制上下文计算单元18和适应算术编码/解码单元16在连续周期内顺序获得上下文索引(ctxIdx0)和(ctxIdx1)(图7(A)和图7(B))。控制单元19还控制概率状态存储单元11在后续的两个周期内将对应于通过上下文计算单元18获得的上下文索引(ctxIdx0)和(ctxIdx1)的概率状态变量从存储器12加载至寄存器13(图7(C))。控制单元19控制适应算术编码/解码单元16使用加载到寄存器13中的概率状态变量来执行选择状态索引(stateIdx)和MPS的概率状态选择处理、算术解码处理以及二进制化处理(图7(D)~图7(F))。

这里,由于寄存器13的访问等待时间为0,所以概率状态选择处理、算术解码处理和二进制化处理在将在处理中使用的概率状态变量存储在寄存器13中的周期内开始对第一二进制值的处理。

控制单元19控制上下文计算单元18,以在通过适应算术编码/解码单元16执行概率状态选择处理、算术解码处理和二进制化处理的周期内计算后续系数数据(coeff abs level minus1(1))的上下文。在该实施例中,对后续系数数据(coeff abs level minus1(1))的上下文计算处理从完成对紧前的系数数据(coeff abs level minus1(0))的上下文计算后紧接的周期开始。

此外,当控制单元19完成对后续系数数据(coeff abs levelminus1(1))的上下文计算时,控制单元19在后续周期中将在这些上下文计算中获得的上下文索引(ctxIdx2)和(ctxIdx3)的概率状态变量从存储器12加载到寄存器13,在完成对紧前的系数数据(coeff abs level minus1(0))的处理之前,在寄存器13中预先保持这些概率状态变量,使得可以处理后续的系数数据(coeff abs levelminus1(1))。

基于适应算术编码/解码单元16的处理结果,控制单元19顺序更新保持在寄存器13和存储器12中的概率状态变量,并当完成对紧前的系数数据(coeff abs level minus1(0))的处理时,指示适应算术编码/解码单元16处理后续的系数数据(coeff abs level minus1(1))。

这里,在解码设备10中,由于预先在寄存器13中存储了处理后续系数数据(coeff abs level minus1(1))所需的上下文索引(ctxIdx2)和(ctxIdx3)的概率状态变量,所以适应算术编码/解码单元16可以在完成紧前的系数数据(coeff abs level minus1(0))的处理时开始在后续周期中处理后续的系数数据(coeff abs levelminus1(1)),而不会引发空闲时间。因此,在解码装置10中,与过去相比可以以更高的速度解码图像数据。

注意,当控制单元19指示适应算术编码/解码单元16开始处理后续的系数数据(coeff abs level minus1(1))时,控制单元19同时指示上下文计算单元18对再一个系数数据(coeffabs level minus1(2))执行上下文计算。

顺便提及,当预先执行对后续系数数据(coeffabs level minus1(N))的上下文计算并通过有效利用正在处理存储在寄存器13中的概率状态变量的周期来将概率状态变量保持在寄存器13中时,会发生在适应算术编码/解码单元16开始处理后续系数数据(coeffabs level minus1(N))的处理时没有完成将概率状态变量存储在寄存器13中的情况。即,发生概率状态变量在寄存器13中的存储对于每个语法元素的解码处理来说太迟的情况。

更具体地,图8是预测在顺序处理存在于剩余块中的系数数据(coefflevel abs minus1)项的情况下所需的上下文索引和概率状态变量的时序图。注意,在图8的实例中,假设系数数据(coeff levelabs minus1)的每项的每个二进制值的值为0或1。

这里,在剩余块的第一系数数据(coeff level abs minus1(0))中,唯一确定上下文索引(ctxIdx),且ctxIdx=1。在解码设备10中,当系数数据(coeff level abs minus1(0))的低位二进制值(level0 bin 0)具有0值时,解码设备10前进至处理后续的系数数据(coefflevel abs minus1(1)),并处理后续系数数据(coefflevel abs minus1(1))的低位二进制值(level 1 bin 0)。可选地,与上述情况相反,当系数数据(coeff level abs minus1(0))的低位二进制值(level 0 bin0)具有1值时,解码设备10处理后续的高位二进制值(level 0 bin1)。这里,在图8的实例中,假设这些二进制值(level 1 bin 0)和(level 0 bin 1)的上下文索引(ctxIdx)分别为ctxIdx=2和ctxIdx=5。

此外,在图8的实例中,当选择第一系数数据(coeff level absminus1(0))后的二进制值(level 0 bin 1)时,随后将处理后续系数数据(coeff level abs minus1(1))的低位二进制值(level 1 bin 0)。此外,当系数数据(coeff level abs minus1(0))的低位二进制值(level0 bin 0)具有0值且后续系数数据(coeff level abs minus1(1))的低位二进制值(level 1 bin 0)具有0值和1值时,随后即将处理后续的系数数据(coeff level abs minus1(2))的低位二进制值(level2 bin 0)和相同系数数据(coeff level abs minus1(2))的后续二进制值(level 2 bin 1)。注意,图8中最右边的标志示出了图8中的最终转换目的地中直到对应转换目的地的系数数据项。此外,尽管与图8不对应,但图9是示出在系数数据的连续项中存在具有值1的各个二进制值的预定数的序列的情况下的转换示意图。

因此,当即将处理图8中的实例时,在对第一系数数据(coefflevel abs minus1(0))的上下文计算中需要获得上下文索引ctxIdx=1和ctxIdx=5,并且在对后续系数数据(coeff level abs minus1(1))预先的上下文计算中计算上下文索引ctxIdx=0、ctxIdx=2、ctxIdx=5和ctxIdx=6。

这里,图8中水平方向上的每个转换对应于图7中的1个周期。因此,通过图6中的结构,当预先执行上下文计算并在寄存器13中存储概率状态变量时,对于第一系数数据(coeff level abs minus1(0)),在寄存器13中存储上下文索引ctxIdx=1和ctxIdx=5的概率状态变量后,处理开始。在这种情况下,可在寄存器13中存储概率状态变量,而根本不会迟于概率状态变量的处理的开始。

此外,在处理后续系数数据(coeff level abs minus1(1))的过程中,需要上下文索引ctxIdx=0、ctxIdx=2、ctxIdx=5和ctxIdx=6的概率状态变量。这里,优先于在低位二进制值的处理被切换至后续高位二进制值的处理的情况下bin=1侧的上下文索引ctxIdx=0和ctxIdx=6,在寄存器13中存储在低位二进制值的处理被切换至下一系数数据的处理的情况下bin=0侧的上下文索引ctxIdx=2和ctxIdx=5。此外,当在寄存器13中存储概率状态变量时,从对应于低位侧的二进制值的上下文索引开始,在完成第一系数数据(coeff level abs minus1(0))的低位二进制值(level 0 bin 0)的时刻,可以在寄存器13中保持在bin=0的情况下处理后续系数数据(coeff level abs minus1(1))的低位二进制值(level 1 bin 0)所需的上下文索引ctxIdx=2的概率状态变量。此外,在完成低位二进制值(level 1 bin 0)的处理的时刻,可以在寄存器13中保持在bin=1的情况下处理后续低位二进制值(level 1 bin 1)所需的上下文索引ctxIdx=5的概率状态变量。因此,在这种情况下,还可以在寄存器13中存储概率状态变量,而根本不会太迟于后续系数数据(coeff level abs minus1(1))的处理。

然而,当这种情况是第一系数数据(coeff level abs minus1(0))的低位二进制值(level 0 bin 0)为bin=1的情况时,在完成后续高位二进制值(level 0 bin 1)的处理时,没有在寄存器13中预备处理后续系数数据(coeff level abs minus1(1))的低位二进制值(level1 bin 0)所需的上下文索引ctxIdx=0的概率状态变量。概率状态变量在寄存器13中的存储对于语法元素的解码处理来说变得太迟。

因此,如图10(A)所示,在解码设备10中,通过预定数目的概率状态变量临时寄存器13A和预定数目的概率状态变量寄存器13B来构成寄存器13。这里,如上面参照图7所描述的,概率状态变量临时寄存器13A是与上下文计算、算术解码处理等并行地从存储器12加载并存储概率状态变量的寄存器。概率状态变量寄存器13B是在开始剩余层的处理之前预先存储其在寄存器13中的存储会太迟于语法元素的解码处理的概率状态变量的寄存器。

这里,用于系数数据的语法元素的上下文索引(ctxIdx)根据类型,即AC分量、DC分量、亮度信号(Y)分量和色度信号(Cr,Cb)分量而划分为6个类别。在每个类别中,具有9~10种类型的上下文索引(ctxIdx)。此外,由于在每个剩余块中唯一地选择类别,所以在一个类别中使用9种类型或10种类型的上下文索引(ctxIdx)。因此,为各个类别提供概率状态变量临时寄存器13A。在每个类别中,最多提供10个概率状态变量临时寄存器13A,从而能够保持对应于9种类型或10种类型的上下文索引的概率状态变量。

注意,在1个周期中可存储在寄存器13中的概率状态变量的数目根据从存储器12传送至寄存器13的数据传送能力而改变,并根据这个数目的改变,太迟而不能被存储的概率状态变量数发生改变。此外,太迟而不能被存储的概率状态变量数根据通过格式确定的系数数据中的上下文索引(ctxIdx)转换而改变。因此,可以根据从存储器12传送至寄存器13的数据传送能力并根据通过格式确定的系数数据中的上下文索引(ctxIdx)转换来可变地设置概率状态变量临时寄存器的数目和概率状态变量寄存器的数目。注意,可以省略概率状态变量寄存器13B的结构,这是由于在一个语法元素中,考虑到从存储器12向寄存器13传送的数据传送能力对于可通过上下文计算获得的上下文索引的最大数来说是足够的,即,更具体地,例如,考虑到通过上下文计算获得的所有上下文索引的概率状态变量可以在1个周期内被传送至寄存器13。

与寄存器13的结构相关,如图10(B2)所示,在开始处理剩余块的初始化处理中,控制单元19预先在概率状态变量寄存器13B中载入可能太迟而不能存储在寄存器13中的概率状态变量。注意,可通过系数数据(coeff level abs minus1)中的上下文索引转换的规则来获得太迟而不能被存储在寄存器13中的概率状态变量。

此外,当完成初步加载时,每个剩余块的处理一个接一个地开始。虽然通过上下文计算获得的概率状态变量正在存储在概率状态变量临时寄存器13A中,但每个语法元素被解码。注意,在这种情况下,控制概率状态存储单元11的操作,以省略已经存储在概率状态变量临时寄存器13A中的上下文索引的概率状态变量从存储器12向概率状态变量临时寄存器13A的存储。注意,可以省略已经存储在概率状态变量寄存器13B中的上下文索引的概率状态变量在概率状态变量临时寄存器13A中的存储。

注意,图10(B1)是示出当开始每个剩余块的处理时所有的对应概率状态变量从存储器12加载至寄存器13的情况的时序图。如图10(B1)所示,通过预先将所有对应的概率状态变量加载在寄存器13中,可以避免概率状态变量在寄存器13中的加载对于每个语法元素的解码处理来说太迟的情况。

然而,在这种情况下,需要在开始处理每个剩余块时将所有随应的概率状态变量从存储器12加载至寄存器13。相反,在解码设备10中,在处理语法元素的同时,所需概率状态变量被载入寄存器13。仅需要将对于加载处理来说太迟的概率状态变量预先存储在寄存器13中。这使得与图10(B1)所示的情况相比,处理时间显著减少,当从整体上看时,可以有效地处理图像数据。

(2)实施例1的操作

在上述结构中,通过适应算术编码/解码单元16顺序地检测顺序输入的比特流(图6和图7)中的语法元素的类型。此外,在基于适应算术编码/解码单元16的检测结果的控制单元19的控制下,通过上下文计算单元18顺序计算每个语法元素的上下文,并获得二进制化的语法元素的各个比特可以采用的上下文索引(ctxIdx)。在比特流中,基于上下文索引(ctxIdx)的概率状态变量通过适应算术编码/解码单元16来顺序选择状态索引(stateIdx)和MPS,并通过处理选择结果来解码原始语法元素。

在解码设备10中,根据由适应算术编码/解码单元16检测的语法元素的类型,当具有低出现频率的语法元素被解码时,适应算术编码/解码单元16访问设置在概率状态存储单元11中并作为访问等待时间较长的第一存储器的存储器12。检测通过上下文计算单元18获得的上下文索引(ctxIdx)的概率状态变量。此外,使用所检测的概率状态变量来执行对原始语法元素的解码处理。由于通过SRAM构成存储器12,所以对于解码这种具有低出现频率的语法元素的解码设备10的结构来说,整体形状可以被小型化。

但是,当SRAM存储器12用于处理所有语法元素时,如上面关于具有图3中传统结构的解码设备1所描述的,难以以高速执行解码。

因此,在解码设备10中,当具有高出现频率的语法元素被解码时,将通过上下文计算单元18获得的上下文索引(ctxIdx)的概率状态变量从存储器12加载至作为与第一存储器相比其访问等待时间较长的第二存储器的寄存器13并保持在寄存器13中。使用存储在寄存器13中的概率状态变量,对具有高出现频率的语法元素执行解码处理。因此,尽管其形状变大,但解码设备10可以以高速对具有高出现频率的语法元素执行处理。

这里,在这种类型的解码设备中,诸如宏块型和子宏块型的语法元素作为具有低出现频率的语法元素存在。当处理一个宏块时,这些语法元素的每一个仅出现一次。

相反,DC系数数据和AC系数数据作为具有高出现频率的语法元素存在。在它们中,在4:2:0图像数据的情况下,当处理一个宏块时,AC系数数据连续出现15次,意味着15×4×6=360次。此外,当处理一个宏块时,DC系数出现6次。因此,如在解码设备10中一样,当从整体上看时,当寄存器13仅被用于具有高出现频率的语法元素时,通过在使用寄存器13和存储器13的情况下利用两者的优势效果,与过去相比可以显著提高处理速度,而不会显著增大结构尺寸。

另外,在解码设备10中,不仅具有高出现频率的语法元素的概率状态变量被保持在寄存器13中,而且通过上下文计算单元18获得的上下文索引(ctxIdx)的概率状态变量被选择性地从存储器12加载至寄存器13,并使用这些加载的概率状态变量来执行解码处理。因此,寄存器13仅需要被配置为能够仅存储处理系数数据所需的所有上下文索引(ctxIdx)的一部分概率状态变量。具体地,处理系数数据所需的所有概率状态变量的数目为59种类型。因此,因为寄存器13仅需要被配置为能够仅存储处理系数数据所需的所有上下文索引(ctxIdx)的一部分概率状态变量,所以与过去相比可以避免整体结构尺寸的增加并提高了处理速度。

此外,在解码设备10中,概率状态变量被选择性地从存储器12加载至寄存器13并保持在寄存器13中。在正在处理保持在寄存器13中的概率状态变量的周期内,更具体地,在适应算术编码/解码单元16对系数数据(coeff abs level Minus1(0))的一项执行概率状态选择处理、算术解码处理和二进制化处理的周期内,对后续的系数数据(coeff abs level Minus1(1))执行上下文计算,并在寄存器13中存储对应的概率状态变量。此外,根据解码处理的结果更新存储在寄存器13中的概率状态变量。因此,在解码设备10中,在开始对后续的系数数据(coeff abs level minus1(1-N))的处理时,概率状态变量已经被保持在寄存器13中。可以在完成对紧前的系数数据的处理后立刻开始对后续的系数数据(coeff abs levelminus1(1-N))的处理。这更加提高了处理速度。具体地,当处理高分辨率图像数据时,与过去相比可以显著提高处理速度。

即,例如,在高于或等于在ITU-T H.264中标准化的等级4的高分辨率(1920×1088)的情况下,根据该实施例,与图5中的上述传统结构相比,在一个宏块中可以减少693个周期的空闲时间。根据试验结果,即使当与传统结构相比操作速度减小了约170[MHz]时,也可以有效地执行解码。

然而,当预先对后续的系数数据(coeff abs level minus1(N))执行上下文计算并通过有效地利用处理存储在寄存器13中的概率状态变量的周期将概率状态变量保持在寄存器13中时,根据系数数据中的上下文索引(ctxIdx)转换,会发生概率状态变量在寄存器13中的存储对于每个语法元素的解码处理来说太迟的情况(图8和图9)。

因此,在该实施例中,通过概率状态变量临时寄存器13A和概率状态变量寄存器13B构成寄存器13。对于可能太迟而不能存储在寄存器13中的概率状态变量来说,在开始处理剩余块时,概率状态变量被预先从存储器12加载至概率状态变量寄存器13B并保持在概率状态变量寄存器13B中。此外,在处理每个语法元素的同时,根据需要从存储器12加载其它概率状态变量并保持在概率状态变量临时寄存器13A中。

结果,在解码设备10中,通过有效地利用处理存储在寄存器13中的概率状态变量的周期,将处理后续系数数据(coeff abs levelminus1(N))所需的概率状态变量预先保持在寄存器13中,从而提高了处理速度。可以有效地避免由于概率状态变量在寄存器13中的存储太迟并且解码设备10等待概率状态变量在寄存器13中的存储完成的事实所引起的空闲时间的出现。因此,因为有效地避免了空闲时间的出现,所以可以提高处理速度。

(3)实施例1的优势效果

根据上述结构,使用保持在访问等待时间短的第二存储器中的概率状态变量来解码并处理具有高出现频率的语法元素,并使用保持在访问等待时间长的第一存储器中的概率状态变量来解码其它语法元素,因此与过去相比避免了整体结构尺寸的增加并提高了处理速度。

此外,通过将系数数据应用于使用了保持在第二存储器中的概率状态变量的具有高出现频率的语法元素,与过去相比可以进一步避免整体结构尺寸的增加,并且可以提高处理速度。

此外,由于访问等待时间短的第二存储器是寄存器,所以可以以0的访问等待时间执行连续处理,可以进一步提高处理速度。

此外,通过根据上下文计算结果将保持在第一存储器中的概率状态变量选择性地加载到第二存储器并使用所加载的概率状态变量,第二存储器的容量可以被抑制到所要求的最小尺寸,并且可以避免整体形状尺寸的增加。

此外,通过在处理保持在第二存储器中的概率状态变量的周期内对后续的语法元素执行上下文计算并在寄存器13中存储概率状态变量,可以更进一步地提高处理速度。

此外,通过在处理保持在第二存储器中的概率状态变量的周期内对后续的语法元素执行上下文计算并在寄存器13中存储概率状态变量,提高了处理速度。在处理开始时,太迟而不能存储在第二存储器中的概率状态变量被加载并保持在第二存储器中。这有效地避免了处理等待概率状态变量在寄存器13中的存储完成的空闲时间的出现,并且可提高处理速度。

(4)实施例2

与图8相对,图11是用于描述本发明实施例2的解码设备的时序图。注意,在该实施例中,除关于图11所示时序图的结构之外,以与实施例1相同的方式来构成解码设备。因此,在下面的描述中,图6中的结构被用于给出描述。该解码设备20同时并行地处理每个语法元素的两个连续的二进制值。

因此,在解码设备20中,概率状态存储单元11、上下文计算单元18、适应算术编码/解码单元16、二进制化单元7和控制单元19在1个周期内执行通过图8所描述的两个连续周期内的处理,从而能够同时并行地处理连续的两个二进制值。因此,概率状态存储单元11在寄存器13中存储1个周期内的两个上下文索引的概率状态变量。

此外,适应算术编码/解码单元16根据同时并行处理的两个二进制值的处理结果通过切换图11中的转换目的地来切换寄存器13的访问目的地。此外,当低位侧的二进制值被处理且高位侧的后续二进制值变得不需要时,即,更具体地,当低位侧的二进制值为bin=0时,终止对高位侧的后续二进制值的处理。因此,在图11的实例中,当同时并行地处理第一二进制值level 0 bin 0和后续的二进制值level 0 bin 1时,在第一二进制值level 0 bin 0为bin=0的情况下,终止对通过后续的二进制值level 0 bin 1所选择的概率状态变量的处理。

另外,当同时并行地处理后续系数数据的第一二进制值level 1bin 0和随后的二进制值level 1 bin 1时,在第一二进制值level 1bin0也为bin=0的情况下,终止对通过后续的二进制值level 1 bin 1所选择的概率状态变量的处理。

这里,在图11的实例中执行多个处理的情况下,当二进制值level 0 bin 0为bin=0时,在第二周期的处理中,需要通过适应算术编码/解码单元16来处理上下文索引ctxIdx=2和ctxIdx=5的概率状态变量。而且,当二进制值level 0 bin 0和level 0 bin 1为bin=1时,在第二周期的处理中,需要通过适应算术编码/解码单元16来处理上下文索引ctxIdx=0和ctxIdx=6的概率状态变量。

因此,在第二周期开始时,需要在寄存器13中预备上下文索引ctxIdx=0、ctxIdx=2、ctxIdx=5和ctxIdx=6的概率状态变量。因此,如通过图11中的矩形所围绕并表示的一样,例如,上下文索引ctxIdx=0的概率状态变量在寄存器13中的存储对于处理来说太迟。

因此,即使在图11中的实例中,如在实施例1中所描述的一样,在寄存器13中设置概率状态变量临时寄存器13A和概率状态变量寄存器13B。在概率状态变量寄存器13B中预先存储对于处理来说太迟的概率状态变量。

根据该实施例,即使当同时并行地处理每个语法元素的两个连续的二进制值时,也可以实现与实施例1相同的优势效果。

(5)实施例3

图12是示出本发明实施例3的编码设备的框图。该编码设备30可以根据ITU-T H.264的格式对运动图像的图像数据顺序执行正交变换处理、量化处理等,以生成语法元素,处理语法元素,并输出比特流。在该编码处理中,编码设备30使用上面在实施例1和2中描述的概率状态存储单元11和上下文计算单元18,根据基于上下文的自适应二进制算术编码处理对语法元素顺序执行编码处理,并输出比特流。

即,相对于图6中的上述二进制解码单元7,二进制化单元33将待被编码和处理的语法元素顺序进行二进制化。如图6中的上述适应算术编码/解码单元16中的一样,适应算术编码单元32顺序地处理存储在概率状态存储单元11的寄存器13和存储器12中的概率状态变量,顺序地编码和处理由二进制化单元33所生成的二进制化数据,并输出比特流。

当本发明应用该实施例中的编码设备时,可以实现与实施例1和2相同的优势效果。(6)其它实施例

在上述实施例中,已经描述了以ITU-T H.264的格式执行基于上下文的自适应二进制算术编码和基于上下文的自适应二进制算术解码处理的情况。但是,本发明不限于此。本发明可以广泛地应用于以除这种格式之外的各种格式来执行基于上下文的自适应二进制算术编码和基于上下文的自适应二进制算术解码处理的情况。

工业应用

本发明涉及运动图像处理方法、运动图像处理方法的程序、其上记录有运动图像处理方法的程序的记录介质以及运动图像处理设备,例如,可以应用于基于ITU-T H.264的运动图像的编码设备和解码设备。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号