《视频编码设备和视频编码方法.pdf》由会员分享,可在线阅读,更多相关《视频编码设备和视频编码方法.pdf(20页完整版)》请在专利查询网上搜索。
一种视频编码设备,包括:量化单元,用于对视频数据进行量化;二值化单元,用于将量化后的视频数据转换成二进制符号序列;算术编码单元,用于对二进制符号序列进行算术编码;以及量化控制单元,用于基于二值化单元的输出来估计生成数据量以控制量化,并根据算术编码单元的输出来检测实际生成数据量从而校正所估计的生成数据量。 。
CN200780024222.5
2007.05.30
CN101480055A
2009.07.08
授权
有权
授权|||实质审查的生效|||公开
H04N7/26; H04N7/24
H04N7/26
佳能株式会社
野泽慎吾
日本东京都
2006.6.27 JP 176636/2006
北京林达刘知识产权代理事务所
刘新宇;陈立航
一种视频编码设备,包括:量化单元,用于对视频数据进行量化;二值化单元,用于将量化后的视频数据转换成二进制符号序列;算术编码单元,用于对二进制符号序列进行算术编码;以及量化控制单元,用于基于二值化单元的输出来估计生成数据量以控制量化,并根据算术编码单元的输出来检测实际生成数据量从而校正所估计的生成数据量。
1. 一种视频编码设备,其特征在于,包括:量化单元,用于对输入的视频数据进行量化;二值化单元,用于将由所述量化单元量化后的视频数据转换成二进制符号序列;算术编码单元,用于对由所述二值化单元转换得到的所述二进制符号序列进行算术编码;以及量化控制单元,用于基于所述二值化单元的输出来估计生成数据量从而进行量化控制,并根据所述算术编码单元的输出来检测实际生成数据量从而校正所估计的生成数据量。2. 根据权利要求1所述的视频编码设备,其特征在于,所述量化控制单元基于所述二值化单元的输出来确定所编码的画面的生成数据量的目标值,并基于所述目标值来确定该画面内的图像块的量化参数。3. 根据权利要求2所述的视频编码设备,其特征在于,所述量化控制单元基于所述算术编码单元的输出来改变基于所述目标值所确定的各图像块的量化参数。4. 根据权利要求1所述的视频编码设备,其特征在于,所述量化控制单元基于所述算术编码单元的输出来调整所述实际生成数据量以使所述实际生成数据量增加。5. 根据权利要求1所述的视频编码设备,其特征在于,还包括:第一数据量检测单元,用于检测从所述二值化单元输出的数据量;以及第二数据量检测单元,用于检测从所述算术编码单元输出的数据量。6. 根据权利要求5所述的视频编码设备,其特征在于,所述量化控制单元计算从所述第一数据量检测单元提供的第一检测值的累计值,作为暂定生成数据量,并进行控制,使得相关的暂定生成数据量满足与解码相关的预定的缓冲模型。7. 根据权利要求6所述的视频编码设备,其特征在于,所述量化控制单元基于从所述第二数据量检测单元提供的第二检测值来计算与画面相对应的生成数据量,并基于计算出的与画面相对应的生成数据量的信息,在满足所述缓冲模型的范围内以预定周期校正所述暂定输出数据量。8. 一种视频编码方法,包括如下步骤:对输入的视频数据进行量化;二值化转换步骤,用于将量化后的视频数据转换成二进制符号序列;算术编码进行步骤,用于对所述二进制符号序列进行算术编码;以及控制步骤,用于进行控制,以基于二值化的结果来估计生成数据量从而进行量化控制,并根据所述算术编码的结果来检测实际生成数据量从而校正所估计的生成数据量。9. 根据权利要求8所述的视频编码方法,其特征在于,所述控制步骤包括基于所述二值化的结果来确定所编码的画面的生成数据量的目标值,并基于所述目标值来确定该画面内的图像块的量化参数。10. 根据权利要求9所述的视频编码方法,其特征在于,所述控制步骤包括基于所述算术编码的结果来改变基于所述目标值所确定的各图像块的量化参数。11. 根据权利要求8所述的视频编码方法,其特征在于,所述量化控制包括基于所述算术编码的结果来调整所述实际生成数据量以使所述实际生成数据量增加。12. 根据权利要求8所述的视频编码方法,其特征在于,还包括如下步骤:检测在所述二值化转换步骤中输出的数据量;以及检测在所述算术编码进行步骤中输出的数据量。13. 根据权利要求12所述的视频编码方法,其特征在于,所述控制步骤包括计算在所述二值化转换步骤中输出的数据量的检测步骤中输出的第一检测值的累计值,作为暂定生成数据量,并进行控制,使得相关的暂定生成数据量满足与解码相关的预定的缓冲模型。14. 根据权利要求13所述的视频编码方法,其特征在于,所述控制步骤包括基于在所述算术编码进行步骤中输出的数据量的检测步骤中输出的第二检测值来计算与画面相对应的生成数据量,并基于计算出的与画面相对应的生成数据量的信息,在满足所述缓冲模型的范围内以预定周期校正所述暂定输出数据量。15. 一种存储介质,其存储有用于使计算机执行视频编码方法的程序,所述视频编码方法包括如下步骤:对输入的视频数据进行量化;将量化后的视频数据转换成二进制符号序列;算术编码进行步骤,用于对所述二进制符号序列进行算术编码;以及进行控制,以基于二值化的结果来估计生成数据量从而控制量化,并根据所述算术编码进行步骤的结果来检测实际生成数据量从而校正所估计的生成数据量。
视频编码设备和视频编码方法 技术领域 本发明涉及一种视频编码设备和视频编码方法,并且具体地,涉及一种适合用于存储并再现视频数据的记录和再现设备以及摄像设备的技术。 背景技术 近年来,数字信号处理技术的进步使得能够对如运动图像、静止图像和音频等大量数字信息进行高效编码,将它们存储在小的存储介质中,并通过通信介质来进行发送。应用这种技术,与使得能够将电视广播和摄像机的视频转换成压缩数据(比特流)的视频编码设备有关的研发正在进行中。在各种运动图像的视频编码方法中,H.264(还称为MPEG4第10部分/AVC)格外备受瞩目。 对于H.264,采用了称为基于上下文的自适应二进制算术编码(下文中称为CABAC)的算术编码和称为基于上下文的自适应可变长度编码(这里称为CAVLC)的可变长度编码。 专注于上述的CABAC和CAVLC,提出了JP-A-2004-135251作为现有例子。根据在JP-A-2004-135251中说明的“图像信息编码方法和图像信息解码方法”,所公开的发明意图限制对CABAC的输入和输出数据量并确保解码器的处理时间。 具体地,JP-A-2004-135251的发明特别包括输入至CABAC编码器的二值数据的数量的计数器和要输出的比特数据的数量的计数器。并且,公开了如下结构:在这些计数器的任一个恰好超过预设阈值的情况下,限制监视器输出表示编码数据无效的信号以执行再编码处理。 图5是示出传统的视频编码设备900的结构例子的框图。图5包括视频输入单元901、转换单元902、量化单元903、熵编码单元(entropy coding unit)904、流输出单元905、数据量检测单元906和量化控制单元907。 将从视频输入单元901输入的图像数据分割成每个沿垂直方向和水平方向均包括16个像素的图像块,并且由转换单元902以图像块为单位将其转换成系数序列(coefficient series)。转换单元902执行正交变换处理、运动预测处理等从而降低图像块的视觉冗余性(visual redundancy)。 将在转换单元902中已经经过了正交变换的系数序列提供到量化单元903,并且通过预定的量化参数对其进行量化。根据量化单元903中量化参数的大小,系数序列的信息量减少,并且替代地,出现编码劣化。将量化后的系数序列提供到熵编码单元904。 熵编码单元904基于构成系数序列的符号的出现频率,将所输入的系数序列转换成更高效的编码序列,以执行数据压缩处理。将通过熵编码生成的编码序列作为比特流从流输出单元905输出。 根据量化单元903中的量化参数,比特流中的数据量和图像质量呈现权衡关系。因此,量化参数的确定极大地影响视频编码设备的性能。 另外,必须适当地执行该确定,从而使得所生成的比特流的数据量满足解码时的缓冲模型。在ISO/IEC13818-2标准和ITU-TH.264标准中规定了缓冲模型。传统设备如下执行控制。 数据量检测单元906检测从熵编码单元904输出的数据量以将检测到的值提供到量化控制单元907。量化控制单元907累计目前为止各编码画面的生成数据量,并且计算随后要编码的画面的目标代码量,从而满足缓冲模型。 并且,在监视构成画面的各图像块的生成代码量时,顺次确定要提供到量化单元903的量化参数,使得从要编码的画面生成的代码量接近目标代码量。也就是说,进行这样的处理流:每当对单个画面进行编码时,检测从该画面生成的数据量并且反馈该检测结果以用于对后续画面进行编码。 然而,在最近备受瞩目的视频编码方法“H.264”中使用二值化算术编码方法(CABAC)作为熵编码单元904导致这种处理变得相当难。 在H.264中采用“CABAC”的情况下,将图5中的熵编码单元904表示为如在图6中示出的熵编码单元904。熵编码单元904将由二值化单元910和算术编码单元911构成。二值化单元910将由量化单元903提供的系数序列转换成二进制符号“0”和“1”。将二进制符号序列依次提供到算术编码单元911,并将它们转换成算术代码序列从而进行数据压缩。 在这种情况下,算术编码单元911以一个二进制符号为单位执行处理,因此与传统的熵编码单元所需要的处理循环相比,将需要极多的处理循环。其原因是:传统的熵编码单元以从量化单元903提供的系数为单位执行处理,而对于CABCA,一个系数对应于多个二进制符号。因此,需要比传统情况的处理循环多几倍到最坏的情况下的10倍的处理循环。 因而,有时算术编码单元911的处理循环变得极长。因此,对于一个画面的熵编码单元处理时间变得极长。结果,如上所述,检测并反馈如上所述以一个画面为单位进行熵编码所生成的数据的量变得几乎难以实现。 考虑了一种通过利用使用更快的处理时钟的电路结构来增加处理速度以解决上述问题的编码设备的结构。然而,这种结构将不得不牺牲电路大小和电力消耗,因而产生了问题。 另外,还考虑了一种利用作为与传统的熵编码等同的编码方法的可变长度编码CAVLC来解决问题的编码设备。然而,CAVLC在编码效率上低于CABAC,并且导致损害图像质量这种问题。因此,即使在上述JP-A-2004-135251中提出的“图像信息编码方法和图像信息解码方法”的发明也不能解决上述这种问题。 发明内容 考虑到上述问题,本发明的目的是使得能够提供一种能够在不过度增加电路大小和电力消耗的情况下提高编码效率并且能够生成适当地满足缓冲模型的比特流的视频编码设备,以及使得能够提供一种视频编码方法。 根据本发明的一个方面,一种视频编码设备,其特征在于,包括: 量化单元,用于对输入的视频数据进行量化; 二值化单元,用于将由所述量化单元量化后的视频数据转换成二进制符号序列; 算术编码单元,用于对由所述二值化单元转换得到的所述二进制符号序列进行算术编码;以及 量化控制单元,用于基于所述二值化单元的输出来估计生成数据量以控制量化,并根据所述算术编码单元的输出来检测实际生成数据量从而校正所估计的生成数据量。 根据本发明的另一方面,一种视频编码方法,包括如下步骤: 对输入的视频数据进行量化; 二值化转换步骤,用于将量化后的视频数据转换成二进制符号序列; 算术编码进行步骤,用于对所述二进制符号序列进行算术编码;以及 控制步骤,用于进行控制,以基于二值化的结果来估计生成数据量从而进行量化控制,并根据所述算术编码的结果来检测实际生成数据量从而校正所估计的生成数据量。 根据下面参照附图对典型实施例的详细说明,本发明的其它特征和方面将变得明显。 附图说明 图1是示出根据本发明典型实施例的一个方面的视频编码设备的示例结构的框图。 图2是说明根据本发明典型实施例的一个方面的量化控制单元的示例处理过程的流程图。 图3是示出根据本发明典型实施例的一个方面的生成数据量的发展的图。 图4是示出根据本发明典型实施例的一个方面的解码器缓冲模型的发展的图。 图5是示出传统的视频编码设备的示例结构的框图。 图6是示出根据H.264的熵编码单元的示例结构的框图。 具体实施方式 将参考附图来说明本发明的多个实施例、特征和方面。 第一典型实施例 下面将参考附图来说明本发明的典型实施例。 图1是示出根据本发明典型实施例的一个方面的视频编码设备100的示例结构的框图。图1包括视频输入单元101、转换单元102、量化单元103、二值化单元104、算术编码单元105、流输出单元106、第一数据量检测单元107、第二数据量检测单元108和量化控制单元109。 本典型实施例中的视频编码设备100基于H.264(AVC)规格按下面的过程执行高效编码处理。将从视频输入单元101输入的视频数据分割成每个沿垂直方向和水平方向均包括16个像素的图像块,并通过转换单元102以图像块为单位将其转换成系数序列。转换单元102执行正交变换处理和运动预测处理(帧内预测和帧间预测)从而降低图像块中信息量的视觉冗余性。 将在转换单元102中已经经过了正交变换的系数序列提供到量化单元103。量化单元103利用从量化控制单元109提供的量化参数对输入的系数序列进行量化。 根据量化单元103中量化参数的大小,系数序列的信息量减少,并且替代地,出现编码劣化。将量化后的系数序列提供到二值化单元104。 二值化单元104将输入的系数序列中的各系数转换成二进制符号“0”和“1”。将包括多个二进制符号的二进制符号序列提供到算术编码单元105,将其转换成算术代码序列,并对其进行数据压缩。 在这种情况下,二值化单元104可以根据表将各系数逐一转换成二进制符号序列。因此,可以“以系数为单位”执行这里的处理。 另一方面,算术编码单元105需要对二进制符号逐一进行处理(“以二进制符号为单位”)。将通过算术编码生成的代码序列作为比特流从流输出单元106输出。 根据量化单元103中的量化参数,比特流中的数据量和图像质量呈现权衡关系。因此,量化控制单元109确定量化参数的处理极大地影响本视频编码设备的性能。 此外,必须适当地控制该确定,使得所生成的比特流的数据量满足解码时的预定缓冲模型。因此,本视频编码设备中的量化控制单元109利用第一数据量检测单元107和第二数据量检测单元108两者来确定量化参数,并将所确定的量化参数提供给量化单元103,从而控制量化。 首先,第一数据量检测单元107检测从二值化单元104输出的数据量,即二进制符号序列的数据量,并将检测值(第一检测值)提供给量化控制单元109。与二值化单元104的处理相对应地,以系数为单位检测二进制符号序列的数据量。量化控制单元109累计目前为止以已编码的画面为单位所生成的二进制符号序列的数据量,并计算二进制符号序列的数据量,以提供随后要编码的画面的目标值,从而满足缓冲模型。 并且,在量化控制单元109监视以构成画面的图像块为单位的生成代码量时,顺次确定量化参数以将该量化参数提供给量化单元103,从而使从待编码的画面生成的二进制符号序列的数据量接近目标值。 在这种状况下,用于量化控制的检测值,即二进制符号序列的数据量表示熵编码的中间阶段的数据量。因此,将表示比最终生成的数据量多出约百分之几十的值。也就是说,后续阶段的算术编码结束时的比特流的数据量将少于在二进制符号序列的状态下的检测值和目标值。然而,从满足缓冲模型的角度来说,可以理解,过大的数据量将超过缓冲容量从而导致破坏,然而,在较小的量的情况下适合于缓冲模型。 另外,根据以系数为单位更新的第一数据量检测单元107的输出来执行量化控制单元109的处理。因此,可以以系数为单位进行处理循环。因而,在采用高性能编码系统的同时,与传统系统相同,可以同步于画面、图像块或包括图像块集合的片段的单位平稳地控制数据量。 顺便提及,如上所述,控制根据二进制符号序列生成的数据量,仅生成在量上比缓冲模型所假定的生成的数据量少的数据。因此,尽管不会破坏缓冲模型,但从编码效率的观点来看仍保留了要设计的空间。 因此,在下面的说明中,使用视频编码设备100中的第二数据量检测单元108,精确地估计数据量从而以优良的效率实现编码。下面将说明其处理过程。 上述量化控制单元109与从第一数据量检测单元107获得的第一检测值一起从第二数据量检测单元108获得第二检测值。以二进制符号为单位更新上述第二检测值。在视频编码设备100中,一个系数变成极长的二进制符号序列或极短的二进制符号序列。因此,系数和所生成的数据量的检测量之间的关系不是一对一的关系。因此,该关系将不同步于如画面、图像块和片段等编码处理的单位。 在本实施例的该示例结构中,量化控制单元109通过使用从如上所述的第一数据量检测单元107输出的第一检测值来确定目标值和暂定数据量的量化参数。此外,量化控制单元109基于从第二数据量检测单元108输出的第二检测值来计算与画面相对应的生成数据量,以同步于画面、图像块和片段对数据量进行控制。根据关于与画面相对应的生成数据量的信息,量化控制单元109在更新连续量化参数的同时不同步地校正所生成的数据量。 图2是说明根据本典型实施例的一个方面的量化控制单元109的示例处理过程的流程图。 步骤S0判断处理是否完成。当处理结束时(步骤S0中为“是”),本流程结束。另一方面,当处理未结束时(步骤S0中为“否”),步骤进入步骤S1。 在步骤S1中,量化控制单元109基于累计来自第一数据量检测单元107的第一检测值的结果来计算目前为止画面的暂定生成数据量(暂定生成数据量)。 在步骤S2中,量化控制单元109基于在步骤S1中目前为止计算出的关于画面的暂定生成数据量来确定后续画面的数据量的目标值。 在步骤S3中,量化控制单元109基于在步骤S2中确定的后续画面的目标值,顺次确定画面内各图像块的量化参数。 在步骤S4中,量化控制单元109从上述第二数据量检测单元108获得第二检测值,并判断是否计算与画面相对应的生成数据量。 如果在步骤S4中判断为量有时还未达到与画面相对应的量(步骤S4中为“否”),则步骤返回步骤S0。另外,在量已经达到与画面相对应的量的情况下(步骤S4中为“是”),步骤进入步骤S5。 在步骤S5中,关于互相对应的画面,将基于上述第二检测值计算出的与画面相对应的生成数据量与上述暂定生成数据量进行比较,并由此校正上述暂定生成数据量。也就是说,将基于暂定生成数据量的目标值和量化参数更新成更适当的值,以调整生成数据量。之后,步骤返回步骤S0以继续重复本流程直到满足结束条件为止。 图3是示出根据本典型实施例的一个方面的生成数据量的发展的特性图。轨迹301表示基于第一检测值的生成数据量(暂定画面数据量的累计值)的发展。在图3中,标记(marker)表示计算画面数据量的时间。如从图3显而易见,根据第一检测值对数据量的计算明显以如1/30秒等预定间隔(例如,帧周期)更新。 另一方面,以轨迹302表示的基于第二检测值的生成数据量的发展表示:算术编码单元105中的处理与像素数量不同步,并且因此以波动的时间间隔来计算画面的数据量。在图3中,标记303表示通过第一检测值得到的生成数据量,并且标记304表示通过第二检测值得到的生成数据量。这两者都表示在与从开始起的第六个画面的编码相对应的时间点处的累计值。计算累计量的差d,并且从暂定生成数据量中减去该差d作为在上述流程图中步骤S5中表示的校正。 在校正前的状态下,计算出的暂定生成数据量大于正确的生成数据量。因此,与原始相比严格控制了缓冲控制。生成总小于规格所允许的量的数据量使得图像质量性能未得以充分地执行。然而,如上所述,每次在确定差d时,将数据量的检测量校正为正确值。从而可以实现具有适当的缓冲控制的更优选的图像质量性能。 图4是示出根据本典型实施例的一个方面的解码器缓冲模型的发展的特性图。在图4中,轨迹401代表对暂定生成数据量控制的缓冲量的发展,并且表示如下状态:以1/30秒的间隔从缓冲区提取的画面数据量很大并且因此缓冲区中的剩余量总是太小从而使缓冲区不能最大程度地发挥作用。 这里,例如,在与第六个画面相对应的标记404的时间点处,基于上述差d,解码器缓冲量转移到标记403的状态以使得能够以充分利用缓冲剩余量的方式进行控制。因此,在以暂定生成数据量控制缓冲模型时,可以实现校正从而据此执行优选的控制。这里,在本实施例的说明书中,说明了利用第一检测值和第二检测值之间的差来执行校正的例子。然而,基于比例的校正能够产生同样的效果,从而也属于本发明的方面。 利用这种结构,在正在根据短的处理周期的二值化单元的输出估计暂定生成数据量以顺次执行量化控制时,根据算术编码单元的输出来检测正确的生成数据量以跟随量化控制,从而适当地校正所估计的量。因此,可以在不增加电路大小和电力消耗的情况下生成适当地满足缓冲模型的比特流。 根据本发明的方面的其它典型实施例 可以通过使存储在计算机的RAM、ROM等中的程序运行来实现构成上述本发明典型实施例中的视频编码设备的各个单元和视频编码方法的各个步骤。已经存储了这些程序的计算机可读存储介质和上述程序包括在本发明中。 另外,本发明可应用于以从系统、设备、方法、程序或存储介质等中选择的形式的实施例,并且具体地可以应用于由多个设备构成的系统或者可以应用于包括一个装置的设备。 这里,本发明将用于实现实施例的功能的软件的程序(与实施例中在图2中示出的流程图相对应的程序)直接地或远程地提供给系统或设备。并且,包括了通过系统或设备的计算机读取上述提供的程序代码并执行该程序代码来实现本发明的情况。 因此,为了利用计算机来实现本发明的功能处理,安装在上述计算机中的程序代码自身也用于实现本发明。即,本发明包括用于实现本发明的功能处理的计算机程序本身。 在这种情况下,只要存在程序的功能,就还优选如目标代码、由编译器执行的程序和提供给OS的脚本数据等模式。 例如,用于提供程序的存储介质包括:软盘(floppy,注册商标名)、硬盘、光盘、磁光盘、MO、CD-ROM、CD-R和CD-RW等。另外,包括磁带、非易失性存储卡、ROM和DVD(DVD-ROM、DVD-R)等。 另外,作为方法,可以通过利用客户计算机的浏览器连接到因特网上的主页并且还通过从上述网站将本发明的计算机程序自身或包含自动安装功能的压缩文件下载到如硬盘等存储介质来提供程序。 另外,还可以通过将构成本发明的程序的程序代码分割成多个文件并且从不同的网站下载各个文件来实现程序。即,允许多个用户下载用于利用计算机来实现本发明的功能处理的程序文件的WWW服务器也包括在本发明中。 另外,对本发明的程序进行编码并将其存储在如CD-ROM等存储介质中以分配给用户,并且允许满足预定条件的用户通过因特网从网站下载用于对编码进行解码的密钥信息。并且,还可以使用所下载的密钥信息从而执行编码程序并使计算机安装程序以实现该程序。 另外,计算机执行读取的程序并且从而实现上述实施例的功能。另外,基于程序的指令,在计算机上运行的OS等执行实际处理的部分或全部从而可以实现上述实施例的功能。 此外,将从存储介质读取的程序写入设置在插入到计算机的功能扩展板或连接到计算机的功能扩展单元中的存储器中。另外,基于该程序的指令,设置在功能扩展板或功能扩展单元中的CPU等执行实际处理的部分或全部,并由此实现上述实施例的功能。 尽管已经参考典型实施例说明了本发明,但是应当理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改以及等同结构和功能。 本申请要求2006年6月27日提交的日本专利申请2006-176636的优先权,该申请在此通过引用而被包括。
下载文档到电脑,查找使用更方便
30 金币 0人已下载
还可以输入200字符
暂无评论,赶快抢占沙发吧。
copyright@ 2017-2018 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1