视频编码器及其操作方法

文档序号:7815968阅读:466来源:国知局
视频编码器及其操作方法
【专利摘要】本发明涉及视频编码器及其操作方法。本发明提供一种视频编码器和操作该视频编码器的方法,来通过减少在量化器和编码部之间耦接的中间缓冲器的溢出风险实现高精度比特率控制。中间缓冲器将表示所存储的数据量大还是小的选择控制信号供应到选择器。如果选择控制信号表示大,则选择器将来自代码量估计部的估计代码量输出到比率控制器。如果选择控制信号表示小,则选择器将来自编码部的实际代码量输出到比率控制器。比率控制器根据选择器的输出计算量化位阶,并且将所计算的量化位阶反馈到量化器。量化器调整该量化位阶。
【专利说明】视频编码器及其操作方法
[0001]相关申请的交叉引用
[0002]2013年10月2日提交的日本专利申请N0.2013-207144的公开内容,包括说明书、附图和摘要在此全部引入以供参考。

【技术领域】
[0003]本发明涉及视频编码器及其操作方法。更具体地说,本发明涉及对实现高精度比特率控制有效的技术。

【背景技术】
[0004]与按IS0/IEC 13818-2国际标准标准化的MPEG-2兼容的常见运动图像压缩方法基于通过从视频流删除冗余信息,减少视频存储容量和所需带宽的原理。MPEG是运动图像专家组的首字母缩写。
[0005]MPEG-2标准仅定义语法(有关压缩编码数据流的规则或构成编码数据比特流的方法)和比特流的解码处理。因此,MPEG-2标准足够灵活地充分用在各种服务,诸如卫星广播、有线电视、交互式电视和互联网中。
[0006]在MPEG-2编码处理中,视频信号经过采样处理,然后,经过量化处理,以便首先定义数字视频的每一像素的颜色和亮度分量。将表示颜色和亮度分量的值存储在称为宏块的结构中。在宏块中存储的、表示颜色和亮度分量的值通过离散余弦变换(DCT)被转换成频率值。源自DCT的图像的亮度和颜色的频率变换系数在频率方面是不同的。通过进一步压缩视频流的可变长度编码(VLC)法,编码量化DCT系数。
[0007]对MPEG-2编码处理,定义由运动压缩技术提供的另外的压缩。根据MPEG-2标准,存在三个不同的图像或帧,即,I帧、P帧和B帧。I帧是不参考视频流中的任何其他图像或帧而被再现的帧内编码帧。P帧和B帧是通过参考另一图像或帧而被再现的帧间编码帧。例如,P帧和B帧分别包括表示参考帧的估计运动的运动矢量。使用该运动矢量使得MPEG编码器减少特定视频流所需的带宽。I帧、P帧和B帧分别称为帧内编码帧、预测编码帧和双向预测编码帧。
[0008]因此,MPEG-2兼容的视频编码器包括编码器存储器、运动矢量检测器、运动补偿器、减法器、DCT部、量化器、逆量化器、逆DCT部、帧存储器、可变长度编码部和加法器。将视频输入信号存储在编码器存储器中,用于B帧编码和运动矢量检测目的,然后,按编码顺序,从帧存储器读取。在减法器中,从所读取的视频输入信号减去由运动补偿器生成的运动补偿预测信号。关于作为减法结果的预测残差,DCT部和量化器分别执行DCT处理和量化处理。量化DCT系数不仅经过可变长度编码部中的可变长度编码处理,而且经过逆量化器和逆DCT部中的局部解码处理。局部编码处理的结果通过帧存储器和运动补偿器被供应到加法器。
[0009]同时,MPEG-2兼容视频解码器包括缓冲存储器、可变长度解码部、逆量化器、逆DCT部、运动补偿器、加法器和帧存储器。MPEG-2兼容编码比特流被存储在缓冲存储器中,然后经过分别由可变长度解码部、逆量化器和逆DCT部执行的可变长度解码处理、逆量化处理和逆DCT处理。因此,生成预测残差。加法器根据在可变长度编码处理期间生成的运动矢量,将预测残差与从帧存储器读取的参考图像相加。然后,由加法器的输出生成再现图像信号。将再现图像信号存储在帧存储器中,并且用作预测另一帧的参考图像。
[0010]根据由T.Sikora 撰写的 “Digital Consumer Electronics Handbook, Chapteron MPEG-1 and MPEG-2 Digital Coding Standards, McGraw-Hill, 1997,,,当编码器生成将供应到解码器的缓冲存储器的比特流时,调整编码器的量化器的量化步长来实现用于避免解码器的缓冲存储器的上溢和下溢的代码量(比特率)。为执行这种调整的目的,如在由 Seiichiro Hangai 和 Kenji Sugiyama 撰写的“〃Complete Understanding of JPEGand MPEG, pp.144-153,Koronasha, 2006年7月30日,第一版,第二次印刷”中所述,假定在用于存储编码器的可变长度编码部的输出的缓冲器和解码器的缓冲存储器的输入之间设置虚拟视频缓冲器(VB)使得虚拟视频缓冲器(VB)在量化控制部上运用反馈控制,用于调整编码器的量化器的量化步长。换句话说,“Complete Understanding of JPEG andMPEG, pp.144-153, Koronasha, 2006年7月30日,第一版,第二次印刷”描述了量化器中,量化位阶的比特率控制,用于称为“Test Model 5”的MPEG编码控制,“Test Model 5”被运用来根据作为实际代码量与目标代码量的比率的虚拟缓冲器的填充比率,提供编码器的量化器的量化位阶的反馈控制。
[0011]在日本未审专利申请公开N0.2009-055374的图1中,示出了用于基于与按ISO/IEC 14496-10国际标准标准化的MPEG-4 AVC(H.264)兼容的上下文自适应二进制算术编码(CABAC),执行熵编码(可变长度编码)处理的视频编码器。该视频编码器包括预测编码部、算术编码部和缓冲器。在预测编码部通过使用预测值,编码视频输入信号后,算术编码部通过使每一语法元素经过CABAC生成编码数据,并且将该编码数据存储在缓冲器中。预测编码部包括减法器、正交变换部、量化器、逆量化器、逆正交变换部、帧存储器和运动补偿器。算术编码部包括二值化器、二值化器缓冲器、上下文计算器和二进制算术编码部。预测编码部的量化器耦接到用于控制量化器的量化位阶的比率控制部。有关缓冲器的缓冲器占用的信息和有关二值化器缓冲器的缓冲器占用的信息被供应到比率控制部。算术编码部的二值化器二值化多值语法元素来生成可变长度二值化符号序列。二值化器以宏块为单位,累积相加二值化符号序列中的二进制数据量。代码量预测部耦接到算术编码部的二值化器,使得由二值化器产生的累加结果被供应到代码量预测部。代码量预测部通过使用预定的预测函数,由累积的二进制数据总量,计算缓冲器中的编码数据的比特量的预测值,并且将预测值供应到预测编码部的量化器,用于控制量化器的量化位阶的目的。在对视频输入信号实时执行编码处理的相关技术的视频编码器中,对由算术编码部执行的处理,要求大量计算。因此,复杂化算术编码部的构造,使得增加电路规模和功耗。日本未审专利申请公开N0.2009-055384记载了使用预测函数使得可以简化构造和减小电路规模和功耗。
[0012]日本未审专利申请公开N0.2007-158430的图1示例一种视频编码器,其基于上下文自适应二进制算术编码(CABAC),执行可变长度编码处理。为了提供高响应率控制,将未经过算术编码的视频数据供应到代码量估计部。由代码量估计部生成的所估计的代码量被供应到比率控制判定部,用于控制量化器的量化步骤的目的。日本未审专利申请公开N0.2007-158430记载了例如,未经过算术编码的视频数据可以是来自预测处理部的残差信号、来自DCT部的DCT系数、来自量化器的量化系数或来自CABAC部的二进制数据。
[0013]日本未审专利申请公开N0.2009-038746描述了基于上下文自适应二进制算术编码(CABAC)并且用来为了防止代码量采集延迟引起的比率控制的故障,以使得最小化估计代码量和实际代码量之间的误差的方式,根据估计代码量,提供比率控制的技术。像这种情形,日本未审专利申请公开N0.2009-038746的图10所示的视频编码器包括视频压缩部、CABAC部、代码量估计部、估计代码量替换部和比率控制判定部。输入视频信号被供应到包括量化器的视频压缩部。将来自视频压缩部的输出信号供应到包括二值化器和算术编码部的CABAC部。将来自CABAC部的二值化器的输出信号供应到代码量估计部的输入端子。由估计代码量替换部中的累积估计代码量计算器累加由代码量估计部估计的代码量。由估计代码量替换部中的累积代码量计算器,累加作为由CABAC部的算术编码部可变长度编码的编码流的比特量的实际代码量。在估计代码量替换部中,由累积代码量计算器的累积实际代码量替换累积估计代码量计算器的累积估计代码量。将来自估计代码量替换部的输出信号供应到比率控制判定部。来自比率控制判定部的输出信号控制视频压缩部中的量化器的量化步骤。


【发明内容】

[0014]在本发明的公开内容之前,发明人已经从事一种视频编码器的开发,该视频编码器能通过与H.265(IS0/IEC 23008-2)兼容地编码视频输入信号生成编码比特流,H.265(IS0/IEC 23008-2)是被开发为H.264/MPEG-4 AVC标准的后继版本的新标准。除此之外,要求视频编码器来编码不仅与新的H.265标准,而且与当前应用的H.264/MPEG-4AVC标准兼容的视频输入信号。
[0015]新标准俗称HEVC(高效视频编码)并且由于例如块大小优化,压缩效率良好。其压缩性能为MPEG-2的约四倍高,并且为H.264/AVC的约两倍高。由于图像大小增加,例如,在数字高清电视(HDTV)广播接收机和能录制HDTV信号的数码摄像机中,要求视频编码器和视频解码器递送提高的处理性能。期望HEVC标准将满足上述要求。
[0016]同时,近年来,4K TV显示器正受到关注,因为它们具有4096X2160或3840X2160的像素大小,其是高清(HD)TV显示器的像素大小(1920X1080)的约四倍。在日本,例如,总务省已经宣布在2014年7月开始4K TV广播的政策。如上所述,要求编码或解码对应于4K TV显示器的显示屏的一帧(画面)的视频信号的视频编码器和视频解码器也递送高处理性能。
[0017]同时,HEVC标准还将上下文自适应二进制算术编码(CABAC)方法用于可变长度编码(熵编码),如H.264/MPEG-4 AVC标准的情形。然而,使用上下文自适应二进制算术编码(CABAC)方法延迟CABAC处理中涉及的编码量的采集。因此,即使根据如在日本未审专利申请公开N0.2009-038746中所述的估计代码量,运用比率控制,也在实际代码量和估计代码量之间产生偏差。同时,当本发明的发明人在本发明的公开内容之前,研究将上下文自适应二进制算术编码(CABAC)方法用于视频编码器的可变长度编码(熵编码)时,发明人面临由量化器执行的处理和由充当可变长度编码处理器的CABAC部执行的处理在处理速度方向有差异的问题。
[0018]换句话说,根据其量化速度限定量化器的处理性能。其取决于每一周期,是否能量化用于若干像素或若干宏块的频率变换系数。
[0019]另一方面,基于上下文自适应二进制算术编码(CABAC)方法的编码处理器包括二值化器、二进制算术编码部和上下文计算器。量化器由多值输入信号生成二进制信号。二进制算术编码部将二进制信号编码成编码比特流。上下文计算器根据相邻符号的状况,动态地计算和更新用于作为编码对象符号的二进制信号的事件概率模型。根据由上下文计算器计算和更新的事件概率模型,二进制算术编码部将二进制信号编码成编码比特流。因此,由CABAC部执行的编码处理是以一个比特为单位执行以每一周期输出编码比特流的一个比特的顺序输出处理。当执行可变长度编码处理时,不固定每一像素或宏块的编码比特数。因此,对CABAC部来说,每一像素或宏块所需的处理时间大大地改变。
[0020]因此,在固定时间段期间由量化器处理的多个像素或宏块在相同固定时间段期间可以不被CABAC部处理。因此,为了吸收量化器的处理速度与CABAC部的处理速度之间的差,有必要在量化器和CABAC部之间耦接中间缓冲存储器。结果,在使用CABAC部、异步操作方法、中间缓冲存储器的视频编码器中,在CABAC部的输出获得实际代码量的定时显著延迟于由CABAC部的输入的量化器获得估计代码量的定时。因此,如果仅响应在CABAC部的输出处的实际代码量来控制量化器的量化位阶,在延迟时间期间控制的实际比特率与目标比特率的偏差可能增加。如果另一方面,仅响应于源自CABAC部的输入的估计代码量来控制量化器的量化位阶,减少了控制延迟,然而,基于估计代码量的控制导致比基于实际代码量的控制更大的误差。因此,在本发明的公开内容之前,本发明的发明人实施的研究已经揭示不管基于运用实际代码量的控制还是基于估计代码量的控制,均不能实现高精度比特率控制的问题。
[0021]同时,为了编码与当前H.264/MPEG-4 AVC标准兼容的视频输入信号,有必要不仅采用上下文自适应二进制算术编码(CABAC)方法,而且采用用于可变长度编码(熵编码)目的的上下文自适应可变长度编码(CAVLC)方法。众所周知,上下文自适应可变长度编码(CAVLC)方法仅用于编码量化的DCT系数值。该方法执行锯齿状扫描来将量化的DCT系数值转换成一维矢量,然后编码解码所需的信息。解码所需的信息包括非零系数值(level)、非零系数的数量(Totalcoeff)、非零系数之前的零的数量(run_bef0re),最后非零系数之前的零的数量(total_zeros)、具有绝对值I的最后连续系数的数量(TrailingOnes),以及这些系数的符号(Trailing_one_sign_flag)。上下文自适应可变长度编码(CAVLC)方法允许使用固定每一系数的处理时间的构造。因此,能固定每一像素或宏块的上限处理时间。不会使在CALVC部的输出获得实际代码量的定时比在CAVLC部的输入获得估计代码量的定时延迟大于上限处理时间。然而,假定采用节电体系构造来降低视频编码器的功耗,使得CAVLC部的操作时钟在频率方面低于量化器的操作时钟。在这种情况下,为了吸收量化器和CAVLC部之间的处理性能的差异,有必要在量化器和CAVLC部之间耦接中间缓冲存储器并且允许量化器和CAVLC部异步操作。结果,在使用CAVLC部、异步操作方法、中间缓冲存储器的视频编码器中,在CAVLC部的输出处获得实际代码量的定时比在CAVLC部的输入处由量化器获得估计代码量的时间显著地延迟。因此,如果仅响应于在CAVLC部的输出处的实际代码量,来控制量化器的量化位阶,则延迟时间期间控制的实际比特率与目标比特率的偏差会增加。如果另一方面,仅响应于源自CAVLC部的输入的估计代码量,来控制量化器的量化位阶,则降低控制延迟,然而,基于估计代码量的控制导致比基于实际代码量的控制更大的误差。因此,本发明的发明人在本发明的公开内容之前实施的研究已经揭示不管运用基于实际代码量的控制还是基于估计代码量的控制,不能实现高精度比特率控制的问题。
[0022]在下文中,将描述解决上述问题的装置。其他问题和新颖特征从下述描述和附图将变得显而易见。
[0023]下文是在本文献中公开的本发明的代表性方面的简单描述。
[0024]在根据本发明的代表性方面的视频编码器(I)中,在量化器(103)的输出端子和编码部(201)的输入端子之间,耦接中间缓冲器(200)。
[0025]代码量估计部(300)的输入端子耦接到量化器(103)的输出端子。由代码量估计部(300)的输出端子生成的估计代码量被供应到代码量选择器(301)的第一输入端子。由编码部(201)编码的压缩视频比特流(CVBS)的实际代码量被供应到代码量选择器(301)的第二输入端子。
[0026]表示在中间缓冲器(200)中存储的数据量大还是小的判定信号被供应到代码量选择器(301)的选择控制端子。代码量选择器(301)的输出端子被耦接到比率控制器(302)的输入端子。比率控制器(302)的输出信号调整量化器(103)的量化位阶。
[0027]如果判定信号表示中间缓冲器(200)中存储的数据量大,则将供应到代码量选择器(301)的第一输入端子的、来自代码量估计部(300)的估计代码量输出到代码量选择器(301)的输出端子。然后,估计代码量调整量化器(103)的量化位阶。
[0028]如果判定信号表示中间缓冲器(200)中存储的数据量小,则供应到代码量选择器(301)的第二输入端子的、来自编码部(201)的实际代码量输出到代码量选择器(301)的输出端子。然后,实际代码量调整量化器(103)的量化位阶(见图1)。
[0029]下文是由在本文献中公开的本发明的代表性方面可实现的有益效果的简单描述。
[0030]视频编码器⑴能实现高精度比特率控制。

【专利附图】

【附图说明】
[0031]基于下述图,详细地描述本发明的实施例,其中:
[0032]图1是示例根据本发明的第一实施例的视频编码器的构造的图;
[0033]图2是示例包括在如图1所示的根据第一实施例的视频编码器的编码处理器中的可变长度编码部的构造的图;
[0034]图3是示例根据本发明的第二实施例的视频编码器的主要部分的构造的图;
[0035]图4是示例根据本发明的第三实施例的视频编码器的主要部分的构造的图;以及
[0036]图5是示例不具有图3所示的第二实施例的视频编码器中包括的、耦接在量化器和可变长度编码部之间的前置缓冲存储器的替代的实施例的视频编码器的构造的图。

【具体实施方式】
[0037]1.实施例的概述
[0038]首先,将概述本文献中公开的本发明的代表性实施例。在代表性实施例的概述中引用的附图中的带括号参考数字仅示例什么包含在附加参考数字的元件的概念中。
[0039][I]根据代表性实施例,提供一种视频编码器(I),包括:频率转换器(102)、量化器(103)、编码部(201)、中间缓冲器(200)、代码量估计部(300)、代码量选择器(301)和比率控制器(302)。
[0040]频率转换器(102)对输入信号执行频率转换处理。
[0041]量化器(103)对由频率转换器(102)执行的频率转换处理的结果执行量化处理。
[0042]编码部(201)通过对由量化器(103)执行的量化处理的结果执行编码处理,生成压缩视频比特流(CVBS)。
[0043]中间缓冲器(200)耦接在量化器(103)的输出端子和编码部(201)的输入端子之间。
[0044]代码量估计部(300)的输入端子耦接到量化器(103)的输出端子。由代码量估计部(300)的输出端子生成的估计代码量被供应到代码量选择器(301)的第一输入端子。
[0045]由编码部(201)编码的压缩视频比特流(CVBS)的实际代码量被供应到代码量选择器(301)的第二输入端子。
[0046]表示中间缓冲器(200)中存储的数据量大还是小的判定信号被供应到代码量选择器(301)的选择控制端子。
[0047]代码量选择器(301)的输出端子耦接到比率控制器(302)的输入端子。比率控制器(302)的输出信号调整量化器(103)的量化位阶。
[0048]如果判定信号表示在中间缓冲器(200)中存储的数据量大,供应到代码量选择器(301)的第一输入端子的、来自代码量估计部(300)的估计代码量被输出到代码量选择器(301)的输出端子。然后,估计代码量调整量化器(103)的量化位阶。
[0049]如果判定信号表示在中间缓冲器(200)中存储的数据量小,供应到代码量选择器(301)的第二输入端子的、来自编码部(201)的实际代码量被输出到代码量选择器(301)的输出端子。然后,实际代码量调整量化器(103)的量化位阶(见图1)。
[0050]当编码部的处理显著地延迟时,上述实施例使用估计代码量。另一方面,当编码部的处理微小地延迟时,上述实施例使用实际代码量。这使得可以实现高精度比特率控制。
[0051]在优选实施例中,编码部(201)通过至少使用算术编码(CABAC)方法或可变长度编码(CAVLC)方法,执行编码处理(见图1)。
[0052]在另一优选实施例中,当编码部(201)通过使用算术编码(CABAC)方法,执行编码处理时,中间缓冲器(200)基于算术编码(CABAC)方法,吸收量化器(103)的量化处理和编码部(201)的编码处理之间的处理速度差。
[0053]当编码部(201)通过使用可变长度编码(CAVLC)方法,执行编码处理时,中间缓冲器(200)基于可变长度编码(CAVLC)方法,吸收量化器(103)的量化处理与编码部(201)的编码处理之间的处理速度差(见图1)。
[0054]在又一优选实施例中,通过校验所存储的数据量是否大于预定阈值电压或通过校验所存储的数据量是否小于预定阈值电压,判定在中间缓冲器(200)中存储的数据量是大还是小(见图1)。
[0055]在更优选实施例中,编码部(201)包括指数哥伦布(exponential-Golomb)编码部(2011)、可变长度编码处理器(2012)和算术编码处理器(2013)。
[0056]指数哥伦布编码部(2011)通过编码待编码的语法元素,生成指数哥伦布代码。指数哥伦布代码包括前缀、分隔符和后缀。
[0057]可变长度编码处理器(2012)执行锯齿状扫描来将由量化器(103)量化的、由频率转换器(102)执行的频率转换处理的结果变换成一维矢量,然后,基于可变长度编码(CAVLC)方法,执行编码处理。
[0058]算术编码处理器(2013)包括二值化器(20131)、二进制算术编码部(20132)和上下文计算器(20133)。
[0059]二值化器(20131)由多值输入信号生成二进制信号。通过二进制算术编码部(20132),将所生成的二进制信号编码成编码比特流。
[0060]上下文计算器(20133)根据相邻符号的状况,动态地计算和更新作为编码目标符号的二进制信号的事件概率模型。根据由上下文计算器(20133)计算和更新的事件概率模型,二进制算术编码部(20132)将二进制信号编码成编码比特流(见图2)。
[0061]在另一更优选实施例中,中间缓冲器(20134)设置在算术编码处理器(2013)中并且耦接在二值化器(20131)和二进制算术编码部(20132)之间(见图3)。
[0062]在另一更优选实施例中,算术编码处理器(2013)中的二进制算术编码部(20132)的实际代码量被供应到代码量选择器(301)的第二输入端子(见图3)。
[0063]根据又一更优选实施例的视频编码器(I)进一步包括第一计数器(114)、第二计数器(304)和选择器控制器(303)。
[0064]第一计数器(114)通过计数作为编码处理单位并且由量化器(103)量化的图像块的数量,保持第一计数值。
[0065]第二计算器(304)通过计数作为编码处理单位并且由编码部(201)编码的图像块的数量,保持第二计数值。
[0066]选择器控制器(303)判定第一计数器(114)的第一计数值和第二计算器(304)的第二计数值之间的差。
[0067]如果第一计数器(114)的第一计数值和第二计算器(304)的第二计数值之间的差大,则选择器控制器(303)判定由编码部(201)执行的处理延迟或中间缓冲器(200)中存储的数据量大。
[0068]如果第一计数器(114)的第一计数值和第二计算器(304)的第二计数值之间的差小,则选择器控制器(303)判定由编码部(201)执行的处理延迟或中间缓冲器(200)中存储的数据量小(见图4)。
[0069]在又一更优选实施例中,就亮度分量而言,作为编码处理单位并且由量化器(103)量化的图像块和作为编码处理单位并且由编码部(201)编码的图像块均是具有16X16的像素大小的宏块。
[0070]在具体的实施例中,作为编码处理单位并且由量化器(103)量化的图像块和作为编码处理单位并且由编码部(201)编码的图像块是具有灵活块结构(flexible blockstructure)的编码单元(⑶)。
[0071]编码单元(⑶)从具有64X64的像素大小的最大编码单元(IXU)自适应地可划分。
[0072]根据另一具体实施例的视频编码器(I)进一步包括运动矢量检测器(109)、运动补偿器(110)、减法器(101)、逆量化器(104)、逆频率转换器(105)、存储器(108,111)、帧内预测部(112)和预测选择器(113)。
[0073]运动矢量检测器(109)由待编码的视频信号(VS)和存储器(108)中存储的参考图像,生成运动矢量(MV)。
[0074]运动补偿器(110)响应由运动矢量检测器(109)生成的运动矢量(MV)和存储器(108)中存储的参考信号,生成运动补偿预测信号。
[0075]视频信号(VS)被供应到减法器(101)的一个输入端子。由运动补偿器(110)生成的运动补偿预测信号被供应到减法器(101)的另一输入端子。由减法器(101)的输出端子生成预测残差。
[0076]由减法器(101)的输出端子生成的预测残差被供应到频率转换器(102)的输入端子,作为频率转换处理的输入信号。
[0077]逆量化器(104)和逆频率转换器(105)对由量化器(103)执行的量化处理的结果执行局部解码处理。将局部解码处理的结果作为参考图像存储在存储器(108)中。
[0078]将由逆量化器(104)和逆频率转换器(105)执行的局部解码处理的结果作为帧内参考图像,存储在存储器(111)中。
[0079]将视频信号(VS)供应到帧内预测部(112)的一个输入端子。将存储器(111)中存储的帧内参考图像供应到帧内预测部(112)的另一输入端子。因此,帧内预测部(112)生成有关供应到一个输入端子的视频信号(VS)的帧内预测信号。
[0080]预测选择器(113)选择由运动补偿器(110)生成的运动补偿预测信号或由帧内预测部(112)生成的帧内预测信号,并且将所选择的预测信号供应到减法器(101)的另一输入端子(见图1和4)。
[0081]在更具体的实施例中,将频率转换器(102)、量化器(103)、编码部(201)、中间缓冲器(200)、代码量估计部(300)、代码量选择器(301)和比率控制器(302)集成为半导体集成电路中的单一半导体芯片。
[0082]在另一更具体实施例中,将运动矢量检测器、运动补偿器、减法器、逆量化器、逆频率转换器、编码部、帧内预测部和预测选择器进一步集成为半导体集成电路中的单一半导体芯片。
[0083]根据最具体实施例的视频编码器(I)通过编码与任意选择的H.264或H.265标准兼容的视频信号(VS),生成压缩视频比特流(CVBS)。
[0084][2]根据另一代表性实施例,提供操作视频编码器(I)的方法,该视频编码器(I)包括频率转换器(102)、量化器(103)、编码部(201)、中间缓冲器(200)、代码量估计部(300)、代码量选择器(301)和比率控制器(302)。
[0085]频率转换器(102)对输入信号执行频率转换处理。
[0086]量化器(103)对由频率转换器(102)执行的频率转换处理的结果执行量化处理。
[0087]编码部(201)通过对由量化器(103)执行的量化处理的结果执行编码处理,生成压缩视频比特流(CVBS)。
[0088]中间缓冲器(200)耦接在量化器(103)的输出端子和编码部(201)的输入端子之间。
[0089]代码量估计部(300)的输入端子耦接到量化器(103)的输出端子。由代码量估计部(300)的输出端子生成的估计代码量被供应到代码量选择器(301)的第一输入端子。
[0090]由编码部(201)编码的压缩视频比特流(CVBS)的实际代码量被供应到代码量选择器(301)的第二输入端子。
[0091]表示中间缓冲器(200)中存储的数据量大还是小的判定信号被供应到代码量选择器(301)的选择控制端子。
[0092]代码量选择器(301)的输出端子耦接到比率控制器(302)的输入端子。比率控制器(302)的输出信号调整量化器(103)的量化位阶。
[0093]如果判定信号表示在中间缓冲器(200)中存储的数据量大,则供应到代码量选择器(301)的第一输入端子的、来自代码量估计部(300)的估计代码量被输出到代码量选择器(301)的输出端子。然后,估计代码量调整量化器(103)的量化位阶。
[0094]如果判定信号表示在中间缓冲器(200)中存储的数据量小,则供应到代码量选择器(301)的第二输入端子的、来自编码部(201)的实际代码量被输出到代码量选择器(301)的输出端子。然后,实际代码量调整量化器(103)的量化位阶(见图1)。
[0095]当编码部的处理显著地延迟时,上述实施例使用估计代码量。另一方面,当编码部的处理微小地延迟时,上述实施例使用实际代码量。这使得可以实现高精度比特率控制。
[0096]2.实施例的细节
[0097]现在,将更详细地描述本发明的实施例。在用于示例实现本发明的最佳实施例的整个附图中,具有相同功能的部件用相同的参考数字表示并且将不再重复地描述。
[0098]第一实施例
[0099]?根据第一实施例的视频编码器的构造>>
[0100]图1是示例根据本发明的第一实施例的视频编码器I的构造的图。根据第一实施例的视频编码器I编码与任意选择的、当前H.264/MPEG-4 AVC标准或新的H.265标准兼容的视频输入信号VS。
[0101]图1所示的根据第一实施例的视频编码器I包括预测编码部10、编码处理器20、比率控制部30和视频缓冲器40。
[0102]预测编码部10包括视频输入缓冲器100、减法器101、频率转换器102、量化器103、逆量化器104、逆频率转换器105、加法器106、滤波器单元107、帧存储器108、运动矢量检测器109、运动补偿器110、缓冲存储器111、帧内预测部112和选择器113。
[0103]编码处理器20包括中间缓冲存储器200和可变长度编码部201。
[0104]比率控制部30包括代码量估计部300、选择器301和比率控制器302。
[0105]?视频编码器的概述>>
[0106]现在,将概述图1所示的根据第一实施例的视频编码器I。判定中间缓冲存储器200中存储的数据量大还是小。响应判定结果,设定选择器301的选择操作。将代码量估计部300的估计代码量供应到选择器301的第一输入端子。将可变长度编码部201的实际代码量供应到选择器301的第二输入端子。因此,比率控制器302响应选择器301的选择输出信号,计算量化器103的量化位阶。
[0107]更具体地说,如果判定中间缓冲存储器200中存储的数据量大,则选择被供应到选择器301的第一输入端子的代码量估计部300的估计代码量。另一方面,如果判定中间缓冲存储器200中存储的数据量小,则选择被供应到选择器301的第二输入端子的可变长度编码部201的实际代码量。
[0108]因此,如果中间缓冲存储器200中存储的数据量大,根据与可变长度编码部201的实际代码量相比提供高速反馈控制的代码量估计部300的估计代码量,由比率控制器302计算的量化位阶供应到量化器103。结果,当根据代码量估计部300的估计代码量,在量化器103的量化位阶上运用高速反馈控制时,能实现高精度比特率控制。
[0109]另一方面,如果中间缓冲存储器200中存储的数据量小,根据与代码量估计部300的估计代码量相比包括延迟的可变长度编码部201的实际代码量,由比率控制器302计算的量化位阶供应到量化器103。结果,当根据可变长度编码部201的实际代码量,在量化器103的量化位阶上运用高精度反馈控制时,能实现高精度比特率控制。
[0110]?视频编码器的细节>>
[0111]现在,将详细地描述图1所示的根据第一实施例的视频编码器I。?预测编码部和编码处理器的操作>>
[0112]根据称为HEVC的下一代标准,从具有64X64的像素大小的最大编码单元(IXU)开始,为了实现良好性能的目的,使用四叉树自适应划分成小块,获得是灵活块结构的编码单元(⑶)。
[0113]当与HEVC标准兼容地编码视频信号VS时,将视频信号VS划分成作为具有与HEVC标准兼容的灵活块结构的编码处理单元的编码单元(CU),然后,将编码单元(CU)存储在预测编码部10的视频输入缓冲器100。从视频输入缓冲器100读取的编码单元(CU)供应到减法器101的一个输入端子、运动矢量检测器109的一个输入端子以及帧内预测部112的一个输入端子。
[0114]尽管图1未示出,表示视频的每一图像的帧间预测或帧内预测的预测模式从编码控制单元(未示出)供应到选择器113和编码处理器20的可变长度编码部201。
[0115]首先,假定帧间编码视频信号VS的情形。在这种情况下,将被帧间编码的视频信号VS的编码单元(CU)被存储在视频输入缓冲器100中,用于B帧编码和运动矢量检测目的。然后,编码单元(CU)被从视频输入缓冲器100读取并且供应到减法器101的一个输入端子。运动矢量检测器109响应从视频输入缓冲器100读取的视频信号和帧存储器108中存储的参考信号,生成运动矢量MV。运动补偿器110响应由运动矢量检测器109生成的运动矢量MV和帧存储器108中存储的参考图像,生成运动补偿预测信号。来自运动补偿器110的运动补偿预测信号通过选择器113供应到减法器101,并且在减法器101中从视频信号减去。频率转换器102和量化器103分别对作为来自减法器101的减法输出信号的预测残差执行频率转换处理和量化处理。频率转换器102中的频率转换处理是输出仅由整数而没有小数形成的变换系数的基于整数的离散余弦变换(DCT)或离散正弦变换(DST)。使由量化器103量化的频率转换系数和由运动矢量检测器109生成的运动矢量MV在编码处理器20的可变长度编码部201中经过可变长度编码处理。然后,通过视频缓冲器40,生成压缩视频比特流CVBS。由量化器103量化的频率转换系数经过由逆量化器104、逆频率转换器105、加法器106和滤波器单元107执行的局部解码处理。然后将局部解码处理的结果作为参考图像存储在帧存储器108中。
[0116]滤波器单元107充当降低与MPEG-4 AVC(H.264)标准兼容的块失真的解块滤波器,并且滤波器单元107在执行解块滤波功能后,还运用称为“采样点自适应偏移(SAO) ”的滤波功能。采样点自适应偏移(SAO)滤波功能通过使用描述由视频编码器I中的编码控制单元(未示出)的频率分布分析判定的额外参数的查找表,适当地重建原始信号的振幅。
[0117]接着,假定视频信号VS被帧内编码的情形。在这种情况下,将被帧内编码的视频信号VS被存储在视频输入缓冲器100中。然后,从视频输入缓冲器100读取的视频信号VS被供应到帧内预测部112的一个输入端子。同时,由帧内预测编码并且由局部解码处理生成的参考图像被存储在缓冲存储器111中,将从缓冲存储器111读取的参考图像供应到帧内预测部112的另一输入端子。因此,当供应到一个输出端子的视频信号的编码单元(CU)将被帧内编码时,帧内预测部112从包括在从缓冲存储器111供应到另一输入端子的编码参考图像中的多个相邻编码单元(CU),选择最佳编码单元,并且生成有关所选的最佳编码单元(CU)的空间信息。因此,帧内预测部112将帧内预测信息供应到选择器113。帧内预测部112包括帧内预测最佳编码单元(⑶)和相关空间预测模式。
[0118]?编码处理器和比率控制部中的中间缓冲存储器>>
[0119]编码处理器20中的中间缓冲存储器200耦接在量化器103和可变长度编码部201之间,以便当可变长度编码部201基于上下文自适应二进制算术编码(CABAC)方法执行编码处理时,吸收预测编码部10中的量化器和可变长度编码部201中的CABAC部之间的处理性能的差异。此外,使用编码处理器20中的中间缓冲存储器来采用省电体系构造,以当可变长度编码部201基于上下文自适应可变长度编码(CAVLC)方法执行编码处理时,使可变长度编码部201中的CAVLC处理器的操作时钟在频率方面低于量化器103的操作时钟。换句话说,为了采用上述省电体系构造,中间缓冲存储器200耦接在量化器103和可变长度编码部201之间,以便吸收预测编码部10中的量化器103与可变长度编码部201中的CAVLC处理器之间的处理性能的差异。
[0120]如前所述,比率控制部30包括代码量估计部300、选择器301和比率控制器302。
[0121]代码量估计部300的输入端子耦接到预测编码部10中的量化器103的输出端子。因此,为了减少量化器103的量化位阶的控制中的延迟,在可变长度编码部201的CABAC处理或CAVLC处理前,代码量估计部300根据由量化器103量化的频率转换系数,估计由可变长度编码部201的输出端子生成的压缩视频比特流CVBS的代码量。将由代码量估计部300的输出端子生成的估计代码量供应到选择器301的第一输入端子。估计代码量包括误差,但不包括可变长度编码部201的CABAC处理或CAVLC处理的延迟。由代码量估计部300生成的估计代码量是例如由MPEG-4 AVC(H.264)标准定义的指数哥伦布代码编码的数据的代码长度。众所周知,指数哥伦布代码包括前缀(一系列“Os”)、分隔符(“I”)和后缀(“O”和“I”的组合)并且用于DCT系数和诸如运动矢量的语法元素的熵编码(可变长度编码)。
[0122]同时,将通过可变长度编码部201的CABAC处理或CAVLC处理编码的压缩视频比特流CVBS的实际代码量被供应到选择器301的第二输入端子。实际代码量包括可变长度编码部201的CABAC处理或CAVLC处理的延迟,而与估计代码量不同,使得可以在不允许代码量的值包括错误的情况下,运用高精度比特率控制。
[0123]此外,将选择控制信号从中间缓冲存储器200供应到选择器301的选择控制端子。如果中间缓冲存储器200中存储的数据量(量化频率转换系数等等)小,由中间缓冲存储器200生成的选择控制信号例如处于低电平“O”。因此,响应处于低电平“O”的选择控制信号,选择器301选择被供应到选择器301的第二输入端子的可变长度编码部201的实际代码量,并且将所选择的实际代码量输出到其输出端子。因此,比率控制器302由输出到选择器301的输出端子的可变长度编码部201的实际代码量,计算量化器103的量化位阶。当由比率控制器302计算的量化位阶被供应到量化器103时,响应可变长度编码部201的实际代码量,设定量化器103的量化位阶。更具体地说,如果中间缓冲存储器200中存储的数据量小并且选择控制信号处于低电平“0”,根据与代码量估计部300的估计代码量相比,除少量误差外,还包括延迟的可变长度编码部201的实际代码量,在比率控制器302中计算的量化位阶被供应到量化器103。结果,当根据可变长度编码部201的实际代码量,在量化器103的量化位阶上运用高精度反馈控制时,能实现高精度比特率控制。
[0124]另一方面,如果中间缓冲存储器200中存储的数据量大,由中间缓冲存储器200生成的选择控制信号例如处于高电平“I”。因此,响应高电平“I”的选择控制信号,选择器301选择被供应到选择器301的第一输入端子的代码量估计部300的估计代码量,并且将所选择的估计代码量输出到其输出端子。因此,比率控制器302由被输出到选择器301的输出端子的代码量估计部300的估计代码量,生成量化器103的量化位阶。当由比率控制器302计算的量化位阶被供应到量化器103时,响应代码量估计部300的估计代码量,设定量化器103的量化位阶。更具体地说,如果中间缓冲存储器200中存储的数据量大,根据与可变长度编码部201的实际代码量相比,提供高速反馈控制的代码量估计部300的估计代码量,由比率控制器302计算的量化位阶被供应到量化器103。结果,当根据代码量估计部300的估计代码量,在量化器103的量化位阶上运用高速反馈控制时,能实现高精度比特率控制。
[0125]?中间缓冲存储器中存储的数据量的判定>>
[0126]通过与预定阈值电压进行比较,能判定中间缓冲存储器200中存储的数据量大还是小。如果中间缓冲存储器200中存储的数据量小于预定阈值电压,由中间缓冲存储器200生成的选择控制信号处于低电平“O”。因此,选择器301选择被供应到选择器301的第二输入端子的可变长度编码部201的实际代码量,并且将所选择的实际代码量输出到输出端子。另一方面,如果中间缓冲存储器200中存储的数据量大于预定阈值电压,由中间缓冲存储器200生成的选择控制信号处于高电平“I”。因此,选择器301选择被供应到选择器301的第一输入端子的代码量估计部300的估计代码量,并且将所选择的估计代码量输出到输出端子。
[0127]?视频编码器的半导体集成电路>>
[0128]此外,根据图1所示的第一实施例,具有预测编码部10、编码处理器20、比率控制部30和视频缓冲器40的视频编码器通常被集成在半导体集成电路的半导体芯片中。半导体集成电路是例如由现有技术的半导体制造工艺制造并且称为系统ISI或片上系统(SOC)的大规模半导体集成电路。
[0129]在预测编码部10中,除帧存储器108和缓冲存储器111外,将视频输入缓冲器100、减法器101、频率转换器102、量化器103、逆量化器104、逆频率转换器105、加法器106、滤波器单元107、运动矢量检测器109、运动补偿器110、帧内预测部112和选择器113集成到半导体芯片中。帧存储器108和缓冲存储器111集成到用作同步动态随机存取存储器(SDRAM)的另一半导体芯片中。
[0130]编码处理器20的中间缓冲存储器200和可变长度编码处理器201被集成到上述半导体芯片中。因此,中间缓冲存储器200由内置在半导体芯片中的静态随机存取存储器(SRAM)形成。在替代实施例中,中间缓冲存储器200可以由上述同步动态随机存取存储器(SDRAM)形成。
[0131]比率控制部30的代码量估计部300、选择器301和比率控制器302被集成到上述半导体芯片中。
[0132]用于生成压缩视频比特流CVBS的视频缓冲器40可以由上述同步动态随机存取存储器(SDRAM)形成。在替代实施例中,视频缓冲器40可以充当在“Complete Understandingof JPEG and MPEG, pp.144-153,Koronasha, 2006 年 7 月 30 日,第一版,第二次印刷”中所述的虚拟缓冲器。因此,可以运用称为“Test Model 5”的比特率控制来控制构造成虚拟缓冲器的视频缓冲器40 (中存储的数据量)的填充比率,即,允许比率控制部30提供量化器103的量化位阶的反馈控制。
[0133]〈〈可变长度编码部的构造》
[0134]图2是示例包括在图1所示的根据第一实施例的视频编码器I的编码处理器20中的可变长度编码部201的构造的图。
[0135]如图2所示,可变长度编码部201包括指数哥伦布编码部2011、CAVLC处理器2012和CABAC处理器2013。
[0136]如前所述,指数哥伦布编码部2011用于DCT系数和诸如运动矢量的语法元素的熵编码(可变长度编码)。更具体地说,指数哥伦布编码部2011将各种语法元素编码成包括前缀、分隔符和后缀的指数哥伦布代码。因此,当语法元素需要被编码成指数哥伦布代码时,响应从编码控制单元(未示出)供应的激活控制信号,激活指数哥伦布编码部2011。在其他情况下,停用指数哥伦布编码部2011来实现低功耗。
[0137]CAVLC处理器2012通过执行锯齿状扫描,将仅用于编码量化DCT系数值并且如前所述量化的DCT系数值变换成一维矢量,然后基于上下文自适应可变长度编码(CAVLC)方法,执行编码处理。换句话说,CAVLC处理器2012执行CALVC处理来编码用于解码非零系数值、非零系数值的数量、非零系数之前零的数量、最后一个非零系数之前零的数量、具有绝对值I的最后连续系数的数量和这些系数的符号所需的信息。因此,当需要在CAVLC处理器2012中执行CAVLC处理时,响应从编码控制单元(未示出)供应的激活控制信号,激活CAVLC处理器2012。在其他情况下,停用CAVLC处理器2012来实现低功耗。
[0138]如前所述,CABAC处理器2013包括二值化器20131、二进制算术编码部20132和上下文计算器20133。二值化器20131由多值输入信号生成二进制信号。所生成的二进制信号由二进制算术编码部20132编码成编码比特流。上下文计算器20133根据相邻符号的状况,动态地计算和更新作为编码目标符号的二进制信号的事件概率模型。根据由上下文计算器20133计算和更新的事件概率模型,二进制算术编码部20132将二进制信号编码成编码比特流。因此,由CABAC处理器2013执行的编码处理是每一周期输出编码比特流的一个比特的逐比特顺序输出处理。当需要由CABAC处理器2013执行CABAC处理时,响应从编码控制单元(未示出)供应的激活控制信号,激活CABAC处理器2013。在其他情况下,停用CABAC处理器2013来实现低功耗。
[0139]如图2所示,指数哥伦布编码部2011的输入端子、CAVLC处理器2012的输入端子和CABAC处理器2013的输入端子被耦接到可变长度编码部201的输入端子IN,并且指数哥伦布编码部2011的输出端子、CAVLC处理器2012的输出端子和CABAC处理器2013的输出端子被耦接到可变长度编码部201的输出端子OUT。
[0140]?第一实施例的有益效果>>
[0141]当编码处理器20的处理显著地延迟并且大量数据被存储在中间缓冲存储器200中时,图1和2所示的、根据第一实施例的视频编码器I使用使得可以提供高速反馈控制的估计代码量。另一方面,当编码处理器20的处理微小地延迟并且少量数据被存储在中间缓冲存储器200中时,根据第一实施例的视频编码器I使用包括少量误差的实际代码量。结果,视频编码器I能实现高精度比特率控制。
[0142]第二实施例
[0143]?根据第二实施例的视频编码器的主要部分的构造>>
[0144]图3是示例根据本发明的第二实施例的视频编码器I的主要部分的构造的图。
[0145]下文描述图3所示的根据第二实施例的视频编码器I和图1和2所示的、根据第一实施例的视频编码器I之间的差异。
[0146]在图3所示的根据第二实施例的视频编码器I中,由前置缓冲存储器205代替在图1和2中所示的、根据第一实施例的视频编码器I中的量化器102和编码处理器20之间耦接的中间缓冲存储器200。前置缓冲存储器205可以由在上述半导体集成电路的半导体芯片中内置的静态随机存取存储器(SRAM)形成。在替代实施例中,前置缓冲存储器205可以由上述同步动态随机存取存储器(SDRAM)形成。
[0147]当在可变长度编码部201中激活指数哥伦布编码部2011或CAVLC处理器2012时,判定在前置缓冲存储器205中存储的数据量大还是小。在比率控制部30的选择器301中,将代码量估计部300的估计代码量供应到第一输入端子,并且将在指数哥伦布编码部2011或CAVLC处理器2012的输出部处的实际代码量供应到第二输入端子。然后,响应在前置缓冲存储器205中存储的数据量的判定结果,设定选择器301的选择操作。如上所述,比率控制器302响应选择器301的选择输出信号,计算量化器103的量化位阶。
[0148]更具体地说,如果判定前置缓冲存储器205中存储的数据量大,选择被供应到选择器301的第一输入端子的代码量估计部300的估计代码量。另一方面,如果判定前置缓冲存储器205中存储的数据量小,选择被供应到选择器301的第二输入端子的指数哥伦布编码部2011或CAVLC处理器2012的输出部的实际代码量。
[0149]因此,如果前置缓冲存储器205中存储的数据量大,前置缓冲存储器205可能溢出。然而,根据与指数哥伦布编码部2011或CAVLC处理器2012的输出部的实际代码量相t匕,提供高速反馈控制的代码量估计部300的估计代码量,由比率控制器302计算的量化位阶被供应到量化器103。因此,基于代码量估计部300的估计代码量,使量化器103的量化位阶经过高速反馈控制。这使得可以降低导致前置缓冲存储器205溢出的风险。
[0150]另一方面,如果前置缓冲存储器205中存储的数据量小,前置缓冲存储器205不会溢出。然而,根据与代码量估计部300的估计代码量相比,提供高速反馈控制的指数哥伦布编码部2011或CAVLC处理器2012的输出部的实际代码量,由比率控制器302计算的量化位阶被供应到量化器103。因此,基于指数哥伦布编码部2011或CAVLC处理器2012的输出部的实际代码量,使量化器103的量化位阶经过高速反馈控制。这使得可以实现高精度比特率控制。
[0151]如果在可变长度编码部201中激活CABAC处理器2013,判定在CABAC处理器2013的二值化器20131和二进制算术编码部20132之间耦接的中间缓冲存储器20134中存储的数据量大还是小。
[0152]在比率控制部30的选择器301中,代码量估计部300的估计代码量被供应到第一输入端子,并且CABAC处理器2013的二进制算术编码部20132的实际代码量被供应到第二输入端子。然后,响应在中间缓冲存储器20134中存储的数据量的判定结果,设定选择器301的选择控制操作。如上所述,比率控制器302响应选择器301的选择输出信号,计算量化器103的量化位阶。
[0153]更具体地说,如果判定中间缓冲存储器20134中存储的数据量大,选择被供应到选择器301的第一输入端子的、代码量估计部300的估计代码量。另一方面,如果判定在中间缓冲存储器20134中存储的数据量小,选择被供应到选择器301的第二输入端子的、CABAC处理器2013中的二进制算术编码部20132的实际代码量。
[0154]因此,如果中间缓冲存储器20134中存储的数据量大,将根据与CABAC处理器2013中的二进制算术编码部20132的实际代码量相比提供高速反馈控制的代码量估计部300的估计代码量,由比率控制器302计算的量化位阶供应到量化器103。因此,基于代码量估计部300的估计代码量,使量化器103的量化位阶经过高速反馈控制。这使得可以实现高精度比特率控制。
[0155]另一方面,如果中间缓冲存储器20134中存储的数据量小,根据与代码量估计部300的估计代码量相比,除少量误差外,还包括延迟的CABAC处理器2013中的二进制算术编码部20132的实际代码量,由比率控制器302计算的量化位阶被供应到量化器103。结果,基于可变长度编码部201的实际代码量,使量化器103的量化位阶经过高精度反馈控制。这使得可以实现高精度比特率控制。
[0156]?第二实施例的有益效果>>
[0157]如果在激活CABAC处理器2013的情况下,二进制算术编码部20132的处理显著地延迟并且大量数据被存储在中间缓冲存储器20134中,图3所示的、根据第二实施例的视频编码器I使用估计代码量,使得可以提供高速反馈控制。另一方面,如果二进制算术编码部20132的处理微小地延迟并且少量数据被存储在中间缓冲存储器20134中,图3所示的、根据第二实施例的视频编码器使用包括少量误差的实际代码量。结果,视频编码器I能实现高精度比特率控制。
[0158]第三实施例
[0159]?根据第三实施例的视频编码器的主要部分的构造>>
[0160]图4是示例根据本发明的第三实施例的视频编码器I的主要部分的构造的图。
[0161]下文描述图4所示的根据第三实施例的视频编码器I与图1和2所示的根据第一实施例的视频编码器I之间的差异。
[0162]在图1和2所示的根据第一实施例的视频编码器I中,通过校验中间缓冲存储器200中存储的数据量大还是小,判定编码处理器20的处理延迟是显著的还是微小的。另一方面,在图4所示的根据第三实施例的视频编码器I中,通过校验第一计数值和第二计数值之间的差大还是小,判定编码处理器20的处理的延迟是显著的还是微小的。由计数作为编码处理单位并且包括在视频信号VS中的图像块的数量的第一计数器114,计数第一计数值。由计数作为编码处理单位并且包括在视频信号VS中的图像块的数量的第二计数器304,计数第二计数值。由控制选择器301的选择器控制器303,判定第一计数器114的第一计数值和第二计数器304的第二计数值之间的差。
[0163]首先,当图4所示的根据第三实施例的视频编码器编码与当前的H.264/MPGE-4AVC标准兼容的视频输入信号VS时,就亮度分量而言,作为编码处理单位的图像块是具有16X16的像素大小的宏块。因此,预测编码部10中的第一计数器114通过计数由预测编码部10中的量化器103量化的宏块的数量,保持第一计数值。同时,比率控制部30中的第二计数器304通过计数由编码处理器20中的可变长度编码部201编码的宏块的数量,保持第二计数值。
[0164]在上述实例中,如果编码处理器20的处理延迟微小并且中间缓冲存储器200中存储的数据量小,由比率控制部30中的第二计数器304保持的第二计数值稍微小于由预测编码部10中的第一计数器114保持的第一计数值。另一方面,如果编码处理器20的处理延迟显著并且中间缓冲存储器200中存储的数据量大,比率控制部30的第二计数器304保持的第二计数值远小于由预测编码部10的第一计数器114保持的第一计数值。如前所述,能由控制选择器301的选择器控制器302,判定第一计数器114的第一计数值和第二计数器304的第二计数值之间的差。如果选择器控制器303判定两个计数值之间的差大,同时编码处理器20的处理延迟显著并且中间缓冲存储器200中存储的数据量大,选择被供应到选择器301的第一输入端子的代码量估计部300的估计代码量。另一方面,如果选择器控制器303判定两个计数值之间的差小,同时编码处理器20的处理延迟微小并且中间缓冲存储器200中存储的数据量小,选择被供应到选择器301的第二输入端子的可变长度编码部201的实际代码量。
[0165]接着,当图4所示的根据第三实施例的视频编码器编码与新的H.265标准兼容的视频输入信号VS时,作为编码处理单位的图像块是具有灵活块结构的编码单元(CU)。因此,预测编码部10中的第一计数器114通过计数由预测编码部10中的量化器103量化的编码单元(⑶)的数量,保持第一计数值。同时,比率控制部30中的第二计数器304通过计数由编码处理器20的可变长度编码部201编码的编码单元(CU)的数量,保持第二计数值。最大编码单元(⑶)是具有64X64像素大小的最大编码单元(IXU)。在一些情况下,因此,第一计数器114和第二计数器304计数最大编码单元(LCU)的数量。
[0166]同样在上述例子中,如果编码处理器20的处理延迟微小并且中间缓冲存储器200中存储的数据量小,由比率控制部30中的第二计数器304保持的第二计数值稍微小于由预测编码部10中的第一计数器114保持的第一计数值。另一方面,如果编码处理器20的处理延迟显著并且中间缓冲存储器200中存储的数据量大,由比率控制部30中的第二计数器304保持的第二计数值远小于预测编码部10中的第一计数器114保持的第一计数值。如前所述,能由控制选择器301的选择器控制器303,判定第一计数器114的第一计数值与第二计数器304的第二计数值之间的差。如果选择器控制器303判定两个计数值之间的差大,同时编码处理器20的处理延迟显著并且中间缓冲存储器200中存储的数据量大,选择被供应到选择器301的第一输入端子的代码量估计部300的估计代码量。另一方面,如果选择器控制器303判定两个计数值之间的差小,同时编码处理器20的处理延迟微小并且中间缓冲存储器200中存储的数据量小,选择被供应到选择器301的第二输入端子的可变长度编码部201的实际代码量。
[0167]尽管已经详细地描述了由本发明人设想的本发明的实施例,但本发明不限于上述具体实施例。应理解到,在不背离本发明的精神和范围的情况下,可以做出本发明的许多变化和改进。
[0168]例如,图3所示的根据第二实施例的视频编码器I还能使用第一计数器114、第二计数器304和选择器控制器303,如同图4所示的根据第三实施例的视频编码器1,以便判定编码处理器20的处理延迟是显著还是微小,或中间缓冲存储器200中存储的数据量大还是小。
[0169]图5是示例根据替代实施例的视频编码器I的构造的图,而没有在图3所示的根据第二实施例的视频编码器I中包括的量化器103和可变长度编码部201之间耦接的前置缓冲存储器205。
[0170]在图5所示的视频编码器I中,具有开关SWl和开关SW2的选择器开关20135耦接在CABAC处理器2013的二值化器20131和中间缓冲存储器20134之间。
[0171]当在图5所示的视频编码器I中的CABAC处理器2013的二值化器20131、二进制算术编码部20132和上下文计算器20133执行CABAC处理时,控制选择器开关20135,使得接通开关SW1,同时断开开关SW2。因此,二值化器20131由多值输入信号生成二进制信号。然后,将所生成的二进制信号通过开关SWl和中间缓冲存储器20134供应到二进制算术编码部20132。因此,由二进制算术编码部20132,将二进制信号编码成编码比特流。
[0172]当在图5所示的视频编码器I中激活指数哥伦布编码部2011或CAVLC处理器2012时,控制选择器开关20135,使得断开开关SW1,同时接通开关SW2。因此,将处于可变长度编码部201的输入端子IN的、由量化器103量化的频率转换系数通过开关SW2和中间缓冲存储器20134,而不是通过二值化器20131和开关SWl,供应到指数哥伦布编码部2011的输入端子和CAVLC处理器2012的输入端子。
[0173]即使在图5所示的视频编码器I中,如果中间缓冲存储器20134中存储的数据量大,根据与CABAC处理器2013中的二进制算术编码部20132的实际代码量相比提供高速反馈控制的代码量估计部300的估计代码量,由比率控制器302计算的量化位阶被供应到量化器103。因此,基于代码量估计部300的估计代码量,使量化器103的量化位阶经过高速反馈控制。这使得可以实现高精度比特率控制。
[0174]另一方面,如果中间缓冲存储器20134中存储的数据量小,根据与代码量估计部300的估计代码量相比,除少量误差外,还包括延迟的CABAC处理器2013中的二进制算术编码部20132的实际代码量,由比率控制器302计算的量化位阶被供应到量化器103。结果,基于可变长度编码部201的实际代码量,使量化器103的量化位阶经过高精度反馈控制。这使得可以实现高精度比特率控制。
[0175]本发明不仅可应用于编码与新的H.265标准兼容的视频输入信号VS的处理,而且可应用于与处理大于64X64的像素大小的最大编码单元(LCU)作为处理单位的未来标准兼容的编码处理。
【权利要求】
1.一种视频编码器,包括: 频率转换器; 量化器; 编码部; 中间缓冲器; 代码量估计部; 代码量选择器;以及 比率控制器, 其中,所述频率转换器对输入信号执行频率转换处理, 其中,所述量化器对由所述频率转换器执行的所述频率转换处理的结果执行量化处理, 其中,所述编码部通过对由所述量化器执行的所述量化处理的结果执行编码处理,生成压缩视频比特流, 其中,所述中间缓冲器耦接在所述量化器的输出端子和所述编码部的输入端子之间, 其中,所述代码量估计部的输入端子耦接到所述量化器的输出端子, 其中,由所述代码量估计部的输出端子生成的估计代码量被供应到所述代码量选择器的第一输入端子, 其中,由所述编码部编码的所述压缩视频比特流的实际代码量被供应到所述代码量选择器的第二输入端子, 其中,表示在所述中间缓冲器中存储的数据量是大还是小的判定信号被供应到所述代码量选择器的选择控制端子, 其中,所述代码量选择器的输出端子耦接到所述比率控制器的输入端子, 其中,使用所述比率控制器的输出信号来调整所述量化器的量化位阶, 其中,如果所述判定信号表示在所述中间缓冲器中存储的数据量大,则被供应到所述代码量选择器的所述第一输入端子的、来自所述代码量估计部的所述估计代码量被输出到所述代码量选择器的输出端子,并且使用所述估计代码量来调整所述量化器的所述量化位阶, 其中,如果所述判定信号表示在所述中间缓冲器中存储的数据量小,则被供应到所述代码量选择器的所述第二输入端子的、来自所述编码部的所述实际代码量被输出到所述代码量选择器的输出端子,并且使用所述实际代码量来调整所述量化器的所述量化位阶。
2.根据权利要求1所述的视频编码器, 其中,所述编码部通过使用算术编码方法和可变长度编码方法中的至少一个,执行编码处理。
3.根据权利要求2所述的视频编码器, 其中,当所述编码部通过使用所述算术编码方法执行编码处理时,所述中间缓冲器基于所述算术编码方法,吸收在所述量化器的所述量化处理和所述编码部的所述编码处理之间的处理速度差,并且 其中,当所述编码部通过使用所述可变长度编码方法执行编码处理时,所述中间缓冲器基于所述可变长度编码方法,吸收在所述量化器的所述量化处理与所述编码部的所述编码处理之间的处理速度差。
4.根据权利要求1所述的视频编码器, 其中,通过校验所存储的数据量是否大于预定阈值电压或通过校验所存储的数据量是否小于所述预定阈值电压,判定在所述中间缓冲器中存储的数据量是大还是小。
5.根据权利要求2所述的视频编码器, 其中,所述编码部包括指数哥伦布编码部、可变长度编码处理器和算术编码处理器,其中,所述指数哥伦布编码部通过编码待编码的语法元素,生成指数哥伦布代码,所述指数哥伦布代码包括前缀、分隔符和后缀, 其中,所述可变长度编码处理器执行锯齿状扫描来将由所述量化器量化的、由所述频率转换器执行的所述频率转换处理的结果转换成一维矢量,然后,基于所述可变长度编码方法,执行所述编码处理, 其中,所述算术编码处理器包括二值化器、二进制算术编码部和上下文计算器, 其中,所述二值化器由多值输入信号生成二进制信号,并且通过所述二进制算术编码部,将所生成的二进制信号编码成编码比特流, 其中,所述上下文计算器根据相邻符号的状况,动态地计算和更新用于所述二进制信号的事件概率模型,所述事件概率模型是编码目标符号,并且 其中,根据由所述上下文计算器计算和更新的所述事件概率模型,所述二进制算术编码部将所述二进制信号编码成编码比特流。
6.根据权利要求5所述的视频编码器, 其中,所述中间缓冲器设置在所述算术编码处理器中并且耦接在所述二值化器和所述二进制算术编码部之间。
7.根据权利要求6所述的视频编码器, 其中,所述算术编码处理器中的所述二进制算术编码部的实际代码量被供应到所述代码量选择器的所述第二输入端子。
8.根据权利要求1所述的视频编码器,进一步包括: 第一计数器; 第二计数器; 选择器控制器, 其中,所述第一计数器通过计数作为编码处理单位并且由所述量化器量化的图像块的数量,保持第一计数值, 其中,所述第二计算器通过计数作为编码处理单位并且由所述编码部编码的图像块的数量,保持第二计数值, 其中,所述选择器控制器判定在所述第一计数器的所述第一计数值和所述第二计算器的所述第二计数值之间的差, 其中,如果在所述第一计数器的所述第一计数值和所述第二计算器的所述第二计数值之间的差大,则所述选择器控制器判定由所述编码部执行的处理延迟或在所述中间缓冲器中存储的数据量大,以及 其中,如果在所述第一计数器的所述第一计数值和所述第二计算器的所述第二计数值之间的差小,则所述选择器控制器判定由所述编码部执行的处理延迟或在所述中间缓冲器中存储的数据量小。
9.根据权利要求8所述的视频编码器, 其中,就亮度分量而言,作为编码处理单位并且由所述量化器量化的图像块和作为编码处理单位并且由所述编码部编码的图像块均是具有16X16的像素大小的宏块。
10.根据权利要求8所述的视频编码器, 其中,作为编码处理单位并且由所述量化器量化的图像块和作为编码处理单位并且由所述编码部编码的图像块是具有灵活块结构的编码单元,并且 其中,所述编码单元能够从具有64X64的像素大小的最大编码单元(LCU)自适应地划分。
11.根据权利要求1所述的视频编码器,进一步包括: 运动矢量检测器、运动补偿器、减法器、逆量化器、逆频率转换器、存储器、帧内预测部和预测选择器, 其中,所述运动矢量检测器由待编码的视频信号和在所述存储器中存储的参考图像,生成运动矢量, 其中,所述运动补偿器响应由所述运动矢量检测器生成的所述运动矢量和所述存储器中存储的所述参考图像,生成运动补偿预测信号, 其中,所述视频信号被供应到所述减法器的一个输入端子,由所述运动补偿器生成的所述运动补偿预测信号被供应到所述减法器的另一输入端子,并且由所述减法器的输出端子生成预测残差, 其中,由所述减法器的输出端子生成的所述预测残差作为所述频率转换处理的所述输入信号,被供应到所述频率转换器的输入端子, 其中,所述逆量化器和所述逆频率转换器对由所述量化器执行的所述量化处理的结果执行局部解码处理,并且将所述局部解码处理的结果作为所述参考图像存储在所述存储器中, 其中,将由所述逆量化器和所述逆频率转换器执行的所述局部解码处理的结果作为帧内参考图像,存储在所述存储器中, 其中,所述视频信号被供应到所述帧内预测部的一个输入端子,并且在所述存储器中存储的所述帧内参考图像被供应到所述帧内预测部的另一输入端子,使得所述帧内预测部生成与供应到所述一个输入端子的所述视频信号有关的帧内预测信号,并且 其中,所述预测选择器选择由所述运动补偿器生成的所述运动补偿预测信号和由所述帧内预测部生成的所述帧内预测信号中的任何一个,并且将所选择的预测信号供应到所述减法器的所述另一输入端子。
12.根据权利要求1所述的视频编码器, 其中,所述频率转换器、所述量化器、所述编码部、所述中间缓冲器、所述代码量估计部、所述代码量选择器和所述比率控制器被集成在半导体集成电路的单个半导体芯片中。
13.根据权利要求11所述的视频编码器, 其中,所述运动矢量检测器、所述运动补偿器、所述减法器、所述逆量化器、所述逆频率转换器、所述编码部、所述帧内预测部和所述预测选择器被进一步集成在半导体集成电路的单个半导体芯片中。
14.根据权利要求1所述的视频编码器, 其中,通过编码与任意选择的H.264或H.265标准兼容的视频信号,生成所述压缩视频比特流。
15.一种操作视频编码器的方法,所述视频编码器包括频率转换器、量化器、编码部、中间缓冲器、代码量估计部、代码量选择器和比率控制器,所述方法包括步骤: 使所述频率转换器对输入信号执行频率转换处理; 使所述量化器对由所述频率转换器执行的所述频率转换处理的结果执行量化处理; 通过允许所述编码部对由所述量化器执行的所述量化处理的结果执行编码处理,使所述编码部生成压缩视频比特流; 将所述中间缓冲器耦接在所述量化器的输出端子和所述编码部的输入端子之间; 将所述代码量估计部的输入端子耦接到所述量化器的输出端子; 将由所述代码量估计部的输出端子生成的估计代码量供应到所述代码量选择器的第一输入端子; 将由所述编码部编码的所述压缩视频比特流的实际代码量供应到所述代码量选择器的第二输入端子; 将表示所述中间缓冲器中存储的数据量大还是小的判定信号供应到所述代码量选择器的选择控制端子; 将所述代码量选择器的输出端子耦接到所述比率控制器的输入端子,所述比率控制器的输出信号被用来调整所述量化器的量化位阶; 如果所述判定信号表示在所述中间缓冲器中存储的数据量大,则将被供应到所述代码量选择器的所述第一输入端子的、来自所述代码量估计部的所述估计代码量输出到所述代码量选择器的输出端子,然后,所述估计代码量被用来调整所述量化器的所述量化位阶,以及 如果所述判定信号表示在所述中间缓冲器中存储的数据量小,则将被供应到所述代码量选择器的所述第二输入端子的、来自所述编码部的所述实际代码量输出到所述代码量选择器的输出端子,然后,所述实际代码量被用来调整所述量化器的所述量化位阶。
16.根据权利要求15述的方法, 其中,所述编码部基于算术编码方法和可变长度编码方法中的任何一个,执行编码处理。
17.根据权利要求16所述的方法, 其中,当所述编码部基于所述算术编码方法执行编码处理时,所述中间缓冲器基于所述算术编码方法,吸收在所述量化器的所述量化处理和所述编码部的所述编码处理之间的处理速度差,并且 其中,当所述编码部基于所述可变长度编码方法执行编码处理时,所述中间缓冲器基于所述可变长度编码方法,吸收在所述量化器的所述量化处理与所述编码部的所述编码处理之间的处理速度差。
18.根据权利要求15述的方法, 其中,通过校验所存储的数据量是否大于预定阈值电压或通过校验所存储的数据量是否小于所述预定阈值电压,判定在所述中间缓冲器中存储的数据量是大还是小。
19.根据权利要求16所述的方法, 其中,所述编码部包括指数哥伦布编码部、可变长度编码处理器和算术编码处理器,其中,所述指数哥伦布编码部通过编码待编码的语法元素,生成指数哥伦布代码,所述指数哥伦布代码包括前缀、分隔符和后缀, 其中,所述可变长度编码处理器执行锯齿状扫描来将由所述量化器量化的、由所述频率转换器执行的所述频率转换处理的结果转换成一维矢量,然后,基于所述可变长度编码方法,执行所述编码处理, 其中,所述算术编码处理器包括二值化器、二进制算术编码部和上下文计算器, 其中,所述二值化器由多值输入信号生成二进制信号,并且通过所述二进制算术编码部,将所生成的二进制信号编码成编码比特流, 其中,所述上下文计算器根据相邻符号的状况,动态地计算和更新用于所述二进制信号的事件概率模型,所述事件概率模型是编码目标符号,并且 其中,根据由所述上下文计算器计算和更新的所述事件概率模型,所述二进制算术编码部将所述二进制信号编码成编码比特流。
20.根据权利要求19所述的方法, 其中,所述中间缓冲器设置在所述算术编码处理器中并且耦接在所述二值化器和所述二进制算术编码部之间。
【文档编号】H04N19/124GK104519354SQ201410513519
【公开日】2015年4月15日 申请日期:2014年9月29日 优先权日:2013年10月2日
【发明者】望月诚二, 柴山哲也 申请人:瑞萨电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1