图像处理装置和图像处理方法

文档序号:7732067阅读:157来源:国知局
专利名称:图像处理装置和图像处理方法
技术领域
本发明涉及例如图像编码装置等,并且更具体地涉及在不执行画面内反馈控制的
情况下将生成代码量调节成赋予一个图片的目标代码量的技术领域。
背景技术
传统上,在用于发送运动图像的比特流或将比特流记录在记录介质上的系统等 中,执行高效率的编码来高效地利用传输路径或记录容量。在用于实现高效率编码的图像 编码装置中,编码器所生成的比特流的编码比特率被设置成与传输介质的传输率相对应的 某一速率。在该限制下,所要生成的数据量,即编码器中的量化的量化台阶受到控制。艮P, 当具有复杂图案的图像连续时,增大量化台阶来抑制所要生成的数据量,而当具有简单图 案的图像连续时,减小量化台阶来增加数据量,从而保持固定速率来防止缓冲存储器的上 溢或下溢。 因此,在根据这样的相关技术的图像编码装置中,当复杂图像连续时,量化台阶增 大来劣化图像质量,而当简单图像连续时,量化台阶减小,这样,不能获得整体上统一的图 像质量。鉴于该问题,例如,专利文献1公开了一种图像编码装置,其根据每个GOP(图片 组)的编码难度与多个GOP的编码的难度之和之间的比率来计算要指派给每个GOP的指派 代码量,使得较大的量被指派给包括具有复杂图案的图像的G0P,而较小的量被指派给包括 具有简单的图案的GOP。 另一方面,作为用于将生成代码量调节成赋予一个图片的目标代码量的方法,例 如,TM5(测试模型5)的步骤2是公知的。在该方法中,指派给图片的代码量被均匀地分配 给宏块(MB),每个宏块所分配的量被设置为每个MB的目标代码量,并且调节成目标代码量 是通过图片中的反馈控制来执行的。
专利文献1 :日本专利特许第3358620号公报。 然而,在上述TM5的步骤2的方法中,可能在对序列开头的图片或场景改变之后的 图片进行的编码中发生图像质量的劣化,因为量化台阶的初始值与图片的图案不相符。
例如,在跟随图案的反馈控制之前的部分中的量化台阶太大的情况中,该部分的 图像质量相比于其它部分被劣化了。在量化台阶太小的情况中,在该部分中使用了太多代 码量并且其影响可能延及其它部分。 并且,由于MB的目标代码量总是保持不变,当画面中图像的难度不均匀时,发生 代码量的不适当分配。在这些情况中,图像编码装置应当按照需要通过预先并行地执行编 码来预测生成代码量,并且在不执行画面内反馈控制的情况下将生成代码量调节成赋予一 个图片的目标代码量。然而,如果图像编码装置根据量化参数的数目来并行地执行量化,则 电路规模不利地增大。

发明内容
为了解决以上问题,在根据本发明的图像处理装置中,提供了以下单元预测量化
5因子确定单元,其被配置为确定预测量化因子,预测量化因子被预测为接近基本量化因子, 基本量化因子被预测为使得通过对输入图像进行编码获得的生成代码量最接近目标代码
量;简化编码单元,其被配置为基于预测量化因子和接近预测量化因子的量化因子来以比 编码更简易的方式对输入图像进行编码,从而计算出通过简化编码获得的生成代码量;编 码单元,其被配置为基于预测量化因子来对输入图像进行编码,从而计算出通过编码获得
的生成代码量;代码量之比计算单元,其被配置为计算由编码单元计算出并基于预测量化 因子的生成代码量与由简化编码单元计算出并基于预测量化因子的生成代码量的代码量 之比;以及校正单元,其被配置为将由简化编码单元计算出并基于接近预测量化因子的量 化因子的生成代码量乘以代码量之比,从而校正基于接近预测量化因子的量化因子的生成 代码量。 因此,该图像处理装置可以仅针对预测量化因子来执行对通过编码获得的生成代 码量的计算,并且针对接近预测量化因子的量化因子来执行对通过简化编码获得的生成代 码量的计算。 并且,在根据本发明的图像处理方法中,提供了以下步骤预测量化因子确定步 骤,用于确定预测量化因子,预测量化因子被预测为接近基本量化因子,基本量化因子被预 测为使得通过对输入图像进行编码获得的生成代码量最接近目标代码量;简化编码步骤, 用于基于预测量化因子和接近预测量化因子的量化因子来以比编码更简易的方式对输入 图像进行编码,从而计算出通过简化编码获得的生成代码量;编码步骤,用于基于预测量化 因子来对输入图像进行编码,从而计算出通过编码获得的生成代码量;代码量之比计算步 骤,用于计算由在编码步骤中计算出并基于预测量化因子的生成代码量与在简化编码步骤 中计算出并基于预测量化因子的生成代码量的代码量之比;以及校正步骤,用于将在简化 编码步骤中计算出并基于接近预测量化因子的量化因子的生成代码量乘以代码量之比,从 而校正基于接近预测量化因子的量化因子的生成代码量。 因此,该图像处理方法可以仅针对预测量化因子来执行对通过编码获得的生成代 码量的计算,并且针对接近预测量化因子的量化因子来执行对通过简化编码获得的生成代 码量的计算。 根据本发明,对通过编码获得的生成代码量的计算可以仅针对预测量化因子来执 行,并且对通过简化编码获得的生成代码量的计算可以针对接近预测量化因子的量化因子 来执行。因此,本发明能够实现能简化电路配置的图像处理装置和图像处理方法。


图1是根据本发明第一实施例的图像编码装置的配置示图。 图2是传统图像编码装置的量化单元和CAVLC计算单元的配置示图。 图3是图示出量化单元和CAVLC计算单元的基本配置的示图。 图4是具体图示出根据本发明第一实施例的图像编码装置的量化单元和CAVLC计
算单元配置的配置示图。 图5是具体说明由图像编码装置执行的编码处理过程的流程图。
图6是进一步说明自适应Q Matrix的切换处理的流程图。
图7是图示出VLC表格选择处理过程的流程图。
图8是根据第二实施例的图像编码装置的配置示图。 图9是说明基本量化参数确定处理过程的流程图。 图10是说明基本量化参数的估计处理的概念示图。 图11是说明高精度生成代码量计算处理过程的流程图。
具体实施例方式
以下,将参考附图来详细描述执行本发明的最佳实施方式(以下,简称为实施 例)。将以如下顺序来描述本发明的实施例。 1.第一实施例(量化单元和CAVLC计算单元的局部共享) 2.第二实施例(使用简化编码的高精度生成代码量估计) 3.其它实施例 〈1.第一实施例> 1-1.图像编码装置的配置 图1图示并描述了根据本发明一个实施例的图像编码装置100的配置。 图像编码装置100包括第一预编码单元1、第二预编码单元2、主编码单元3、代码
量控制单元4以及延迟缓冲器5和6。 为了执行代码量控制,图像编码装置100使用第一预编码单元1和第二预编码单 元2预先执行预编码,从而确定主编码单元3中所使用的主要的编码信息,例如,基本量化 参数QPiB,预测量化矩阵Q MatrixD、画面内预测模式以及活动性群组(activity group)。
此时,第一预编码单元1利用宽范围的量化参数QP来执行并行的预编码(其中使 精度略微降低并且抑制电路规模和处理负荷),从而粗略地估计用于实现目标代码量的预 测量化参数QPd。第二预编码单元2在窄范围内执行并行预编码(其中使精度增大),从而 确定主编码单元3中所要使用的基本量化参数QPM。 第一预编码单元1是用于执行第一预编码处理的模块,并且包括画面内预测模式 确定单元11、画面内预测处理单元12、DCT单元13、量化单元14、CAVLC计算单元15和活动 性计算单元16。 第二预编码单元2是用于执行第二预编码处理的模块,并且包括画面内预测处理 单元21、DCT单元22、量化单元23、熵代码长度计算单元24、缓冲器25、IDCT(逆DCT)单元 26和解量化单元27。 另一方面,主编码单元3是用于执行主编码的模块,并且包括画面内预测处理单 元31、DCT单元32、量化单元33、熵编码单元34、缓冲器35、IDCT单元36和解量化单元37。
代码量控制单元4是用于执行代码量控制的模块。 在图像编码装置100中,外部提供的输入图像91被提供给第一预编码单元1以及
延迟缓冲器5和6。第一预编码单元1针对各个量化参数QP粗略地估计生成代码量。在第
一预编码单元1中,所提供的输入图像91被提供给活动性计算单元16和画面内预测模式
确定单元ll。活动性计算单元16根据图像的复杂度将MB分类到活动性群组中。活动性计
算单元16将活动性群组编号提供给量化单元14和代码量控制单元4。 画面内预测模式确定单元11在被提供以输入图像91时,对输入图像91执行画面
内预测处理来生成差分图像数据。此外,画面内预测模式确定单元11通过利用输入图像91
7作为预测图像来简化第一预编码单元1中的画面内预测处理。画面内预测模式确定单元11 基于差分图像数据的生成代码量来确定主编码单元3中所要使用的画面内预测模式,并且 将所确定的画面内预测模式提供给画面内预测处理单元12、21和31。 画面内预测处理单元12使用由画面内预测模式确定单元11确定的画面内预测模 式来从输入图像91生成差分图像数据,并且将差分图像数据提供给DCT单元13。 DCT单元 13对差分图像数据执行DCT处理,生成DCT系数,并且将DCT系数提供给量化单元14。
量化单元14使用从由0至51组成的量化参数QP中离散地选出的量化参数QP1 来执行具有并行的多个量化步骤的量化。例如,量化单元14包括并联连接的n级量化单元 144至14-n,并且基于n个所选择的量化参数QP1来执行量化处理以生成n个量化系数。 此外,量化单元14将所选择的量化参数QP1视为图片的平均量化参数BaseQP,并且通过根 据从活动性计算单元16提供的活动性群组编号添加偏移量(offset)来执行量化。以下, 将描述量化单元14的详细配置。量化单元14将n个量化系数提供给CAVLC计算单元15。
CAVLC计算单元15对n个量化系数分别执行CAVLC处理并且将各个MB的生成代 码量提供给代码量控制单元4。 这里,在第一预编码单元1中,输入图像91被用作替换画面内预测处理单元12中 的本地解码图像的预测图像。另一方面,在主编码单元3中,在CAVLC和CABAC(上下文自 适应二进制算术编码)间切换来执行CAVLC和CABAC作为熵编码方法。
因此,代码量控制单元4利用预先通过统计学计算出的统计模型来校正生成代码 量。因此,代码量控制单元4可以提高由第一预编码单元1计算出的生成代码量的精度。此 外,代码量控制单元4针对基于所选择的量化参数QP1的校正后生成代码量来计算基于除 所选择的量化参数QP1以外的量化参数的生成代码量。以下,基于所选择的量化参数QPl 的校正后生成代码量和通过内插计算出的生成代码量被统称为低精度生成代码 量。因此, 代码量控制单元4不需要针对所有量化参数QP来执行量化和CAVLC处理,这样,可以减少 量化单元14的电路配置并且降低处理负荷。 代码量控制单元4选择使得低精度生成代码量最接近目标代码量的量化参数QP 来作为预测量化参数QPd。预测量化参数QPd是基于由第一预编码单元l以简易方式计算 出的低精度生成代码量的粗略值,并且是被预测使得主编码时的主编码生成代码量接近目 标代码量的值。此外,在量化矩阵Q Matrix被自适应地选择的情况中,代码量控制单元4 针对各个量化矩阵Q Matrix生成低精度生成代码量,并且选择包括量化矩阵Q Matrix中 可获得的量化参数QP并且具有以最小的斜率接近目标代码量的低精度生成代码量的量化 矩阵Q Matrix来作为预测量化矩阵Q MatrixD。 第二预编码单元2确定主编码单元3中所要使用的基本量化参数QPffi。在第二预 编码单元2中,被延迟并从延迟缓冲器5提供的输入图像91被提供给画面内预测处理单元 21。画面内预测处理单元21通过利用从画面内预测模式确定单元11提供的画面内预测模 式进行画面内预测来对输入图像91进行编码以生成差分图像数据,并且将差分图像数据 提供给DCT单元22。 DCT单元22对不同的图像数据执行DCT处理来生成DCT系数,并且将DCT系数提 供给量化单元23。量化单元23包括3级量化单元23-l、23-2和23-3。量化单元23通过 基于预测量化参数QPd和接近预测量化参数QPd的量化参数QP对DCT系数进行量化来生成量化系数,并且将这些量化系数提供给熵代码长度计算单元24。熵代码长度计算单元24 利用CAVLC和CABAC中的在主编码单元3中所使用的编码方法来对量化系数进行编码,从 而生成针对各个量化参数QP的高精度生成代码量。基于由熵代码长度计算单元24生成的 高精度生成代码量,代码量控制单元4确定最接近目标代码量的高精度生成代码量的量化 参数QP来作为基本量化参数QP b。量化单元23将基于预测量化参数QPd生成的量化系数 提供给解量化单元27。解量化单元27对量化系数进行解量化来生成DCT系数,并且将DCT 系数提供给IDCT单元26。 IDCT单元26对DCT系数执行IDCT处理来生成本地解码图像, 并且将图像提供给缓冲器25。缓冲器25将本地解码图像提供给画面内预测处理单元21。 结果,画面内预测处理单元21利用本地解码图像作为预测图像来执行画面内预测处理。
第二预编码单元2使用本地解码图像作为预测图像并且使用与主编码单元3中所 使用的编码方法相同的编码方法来执行熵编码,从而能够计算出比第一预编码单元1中更 高精度的高精度生成代码量。然后,基于高精度生成代码量,代码量控制单元4可以确定被 预测生成最接近目标代码量的主编码生成代码量的量化参数QP来作为基本量化参数QP b。
在主编码单元3中,被延迟并从延迟缓冲器6提供的输入图像91被提供给画面内 预测处理单元31。画面内预测处理单元31通过使用从画面内预测模式确定单元11提供的 画面内预测模式进行画面内预测来对输入图像91进行编码以生成差分图像数据,并且将 差分图像数据提供给DCT单元32。 DCT单元32对差分图像数据执行DCT处理来生成DCT系数,并且将DCT系数提供 给量化单元23。量化单元23基于基本量化参数QP b对DCT系数进行量化来生成量化系数, 并且将量化系数提供给熵编码单元34。熵编码单元34使用CAVLC或CABAC中的一者来对 量化系数执行熵编码,并且将这些系数作为输出流92提供给外部装置。
量化单元33将基于基本量化参数QP^生成的量化系数提供给解量化单元37。解 量化单元37对量化系数进行解量化来生成DCT系数并且将DCT系数提供给IDCT单元36。 IDCT单元36对DCT系数执行IDCT处理来生成本地解码图像,并且将本地解码图像经由缓 冲器35提供给画面内预测处理单元31。画面内预测处理单元31利用本地解码图像作为预 测图像来执行画面内预测处理。 以这种方式,图像编码装置100利用第一预编码单元1针对各个量化参数QP粗略 地估计生成代码量来作为低精度生成代码量,并且基于低精度生成代码量来确定预测量化 参数QPd。图像编码装置100利用第二预编码单元2并使用预测量化参数QPd以及接近它 的量化参数QP来以高精度计算高精度生成代码量。然后,图像编码装置100基于以高精度 计算出的高精度生成代码量来确定基本量化参数QPmb,并且将基本量化参数QP b用于由主 编码单元3执行的主编码处理。因此,图像编码装置100由于第一预编码单元1和第二预 编码单元2两级中的预编码,可以用基本量化参数QPM来以高精度计算高精度生成代码量, 而不需要基于所有量化参数QP来计算生成代码量。结果,图像编码装置100能够利用简单 的配置来确定适当的基本量化参数QP b。
1-2.传统量化单元和CAVLC计算单元的配置 现在,为了更深入地理解根据该实施例的图像编码装置100,将描述用作基础的传 统量化单元和CAVLC计算单元的配置和操作。 图2图示并描述了传统量化单元300和传统CAVLC计算单元400的配置。布置了
9数目与所选择的量化参数QP1的数目相同的量化单元300和CAVLC计算单元400。每一对 量化单元300和CAVLC计算单元400基于一个所选择的量化参数QP1来计算生成代码量。
量化单元300包括MB QP计算单元301、扫描地址生成单元302、 QP% 6变换单元 303、 QP/6变换单元304、縮放因子RAM(随机存取存储器)305、乘法器306和桶式移位器 (barrel shifter)307。 另一方面,CAVLC计算单元400包括TrailingOne计数单元401、 TotalCoef计 数单元402、 TotalZero计数单元403、 R皿Before计数单元404、 Leve比ength计算单 元405、 ZeroLeft计算单元406、 TotalCoef Length比特长度ROM(只读存储器)407、 TotalZeroLength比特长度ROM 408、RunBefore比特长度R0M 409、加法器410、411和416、 MB边界nB存储行存储器412、nB保存存储器413、nA保存存储器415以及nB选择单元414。
量化单元300使用DCT系数W和量化参数QP、利用以下等式来计算量化系数Z。
Z= {(MF*16/QMatrix)*W+f} >> (15+QP/6) 这里,MF是从由AVC标准定义的值计算出的縮放因子,并且f是用于确定上舍入 或下舍入位置的舍入因子。 在该配置中,以下信号被输入量化单元300。
AFF信号,其指示宏块是具有场结构(field structure)还是帧结构
8X8/4X4信号,其指示8X8DCT和4X4DCT中的哪一种要被用于正交变换
活动性群组
作为DCT的结果的DCT系数 这里,提供"活动性群组"作为各个宏块的相对于平均量化参数BaseQP的量化偏 移量信息,平均量化参数Base QP是整张图片的基数。"DCT系数"是按照适于编码的顺序 (例如,与扫描相反的顺序)提供的。 MB QP计算单元301计算自适应量化参数QPt,其是通过以MB为单位从活动性群 组和平均量化参数Base QP(所设置的所选择量化参数QP1)偏移活动性来获得的。QP% 6 变换单元303输出将自适应量化参数QPt除以"6"生成的余数(即,0、1、2、3、4和5这6个 值中的任何一个)并且将余数提供给縮放因子RAM 305和QP/6变换单元304。
AFF信号和8X8/4X4信号被输入扫描地址生成单元302。扫描地址生成单元302 基于AFF信号和8X8/4X4信号生成指示DCT系数的输入位置的DCT地址,并且将DCT地 址提供给縮放因子RAM 305。 縮放因子RAM 305保存从以下等式得到的乘法系数。乘法系数=16XMF(8X8/4X4, QP, h, v)/Q Matrix(8X8/4X4, h, v) 这里,h和v是指示DCT系数中的水平和垂直方向的DCT地址,并且在8 X 8中在0
到7的范围内变化,在4X4中在O到3的范围内变化。MF是縮放因子,其是由H. 264定义
的恒定参数。并且,量化矩阵Q Matrix是可以在编码器处设置的参数。S卩,縮放因子RAM
305保存通过将根据DCT块大小(8 X 8/4 X 4)、自适应量化参数QPt的值和DCT地址而变化
的縮放因子MF乘以"16"并且将乘积除以量化矩阵Q Matrix(MF*16/QMatrix)计算出的值。
縮放因子RAM 305基于DCT地址将具有自适应扫描位置相位的乘法系数输出给乘法器306。 QP/6变换单元304在被从MB QP计算单元301提供以自适应量化参数QPt时,向
桶式移位器307输出将自适应量化参数QPt除以整数的结果。桶式移位器307对QP/6变
10换单元304加上"15"来计算移位量并且将移位量提供给CAVLC计算单元400。量化单元 300的输出是被桶式移位器307移位后的乘法器306的结果,其等同于通过执行量化(除 法)获得的输出。 通过接收量化单元300的输出,CAVLC计算单元400计算在执行实际编码时获得 的生成代码量。 CAVLC计算单元400对以下内容进行编码并计算它们的代码长度表示非零 系数的数目的TotalCoef、表示被连续布置在最后的绝对值为1的系数的数目和符号的 TrailingOne和trailing_ones_sign_flag、表示DCT系数的值的level、表示在最后的非 零系数之前的零系数的数目的total—zero和表示被连续布置在非零DCT系数之前的零的 数目的run—before。此时,CAVLC计算单元400根据4X4块周围的状态对表示非零系数的 数目的TotalCoef和被连续布置在最后的绝对值为1的系数的数目和符号的TrailingOne 执行自适应编码。CAVLC计算单元400基于TotalCoef和TrailingOne的相加值来为各个 4X4块选择VLC表格。 TrailingOne计数单元401对4X4块中的16个样本的输入值中按照与扫描顺序 相反的顺序从开头连续布置的除0以外的1或-1的值的数目进行计数,并且将该数目作为 TrailingOne提供给加法器411和TotalCoefLength比特长度ROM 407。 TotalCoef计数单 元402对TrailingOne计数单元401未计数的非零系数的数目进行计数并且将该数目作为 TotalCoef提供给加法器411 、TotalCoefLength比特长度ROM 407和TotalZeroLength比 特长度ROM 408。 TotalCoefLength比特长度ROM 407根据来自加法器416的结果、以4X4 块为单位自适应地选择VLC表格来对TotalCoef和TrailingOne进行编码,并且将其编码 长度提供给加法器410。 TotalZero计数单元403对除被连续布置在开头的零以外的零系数的数目进行计 数,并且将该数目作为total_zero提供给TotalZeroLength比特长度ROM 408和ZeroLef t 计算单元406。 TotalZeroLength比特长度R0M408计算total_zero和TotalCoef作为组 合的代码长度,并且将代码长度提供给加法器410。 RunBefore计数单元404顺次对紧接由TrailingOne计数单元401计数的非零系 数(±1)连续布置的零的数目和紧接由TotalCoef计数单元402计数的非零系数连续布置 的零的数目进行计数,并且将这些数目提供给ZeroLef t计算单元406。
ZeroLeft计算单元406从TotalZero计数单元403的total_zero中顺次减去 RunBefore计数单元404的连零(zerorun)的连续数目,从而累计剩余的零的数目Zero Left。 RunBefore比特长度ROM 409获得用于对Runbefore进行编码的代码长度作为Zero Left和Runbefore的组合。 然后,LevelLength计算单元405计算非零DCT系数的代码长度。
TotalCoefLength比特长度ROM 407中对VLC表格的自适应选择是基于 TotalCoef和TrailingOne来执行的。加法器411将从TrailingOne计数单元401提供的 TrailingOne和从TotalCoef计数单元402提供的TotalCoef相加来计算非零系数的总数 目。VLC表格是基于左邻的4 X 4块中的非零系数的数目nA和上邻的4 X 4块中的非零系数 的数目nB来选择的。加法器411在nB保存存储器413和nA保存存储器415中累积必要 的4X4块中的非零系数的数目以将这些数目作为nA和nB参考。
11
并且,MB在行方向上被顺次提供,并且4X4 ±央在MB中按预定次序(在8X8子块 中为光栅扫描(raster scan)次序)被扫描。因此,左邻的4X4块最早被扫描。类似地, MB中上邻的块最早被扫描。然而,在MB的上端的4X4块中,有必要参考前一行中的MB中 的最下端的4X4 ±央,以参考上邻的块。因此,加法器411累加MB边界nB存储行存储器412 中宏块行的值。基于MB中4X4块的地址,nB选择单元414在上边界的情况中选择位于上 部并且被保存在MB边界nB存储行存储器412中的nB,并且在其它情况从nB保存存储器 413中选择位于上部的nB。然后,加法器416将左邻的和上邻的4X4块中的非零系数的平 均值视为表格选择索引nC,并且根据以下等式来计算表格选择索引nC。
<formula>formula see original document page 12</formula>
然后,加法器410将从Trai 1 ing0ne计数单元401 、TotalCoef Length比特长度ROM 407、TotalZeroLength比特长度ROM 408、RunBefore比特长度ROM 409和LevelLength计 算单元405提供的值相加,从而获得代码长度的总和。 上述处理以4X4块为单位对整张图片重复执行,以获得该图片的与平均量化参 数Base QP相对应的低精度生成代码量。获取图片的低精度生成代码量的处理是通过利用 不同的离散选择的量化参数QP1作为平均量化参数Base QP在15级中被并行执行的,并且 是针对各个量化矩阵Q Matrix执行的。 1-3.根据该实施例的量化单元和CAVLC计算单元的配置 图3和图4图示并描述了根据本发明一个实施例的图像编码装置100的配置中被 提出的一部分,其中向上述图2所图示出的配置中增加了特征处理。注意,用相同的标号表 示与图2所图示出的传统CAVLC计算单元400中的部件相对应的部件,并且将省略对相同 部件的描述。 图像编码装置100和根据该实施例的图像编码方法具有以下特征。 在以利用由H. 264/AVC (高级视频编码高级运动图像压縮编码标准)等代表的图
像压縮方法的预处理预测生成代码量的情况中,当在不同的量化步骤中并行执行量化来计
算代码长度时,处理得到简化,从而硬件减少。该配置具有以下三个特征。 .CAVLC计算单元15的CAVLC共享计算单元150在不使用MB的上端的4X4 ±央中
的非零系数的数目nB的情况下计算代码量,从而减少了行存储器。
以时间共享的方式共享以4X4块为单位执行计算的CAVLC共享计算处理,从而 减少了诸如代码长度变换存储器之类的逻辑模块。 *对縮放因子和量化矩阵Q Matrix的选择处理和量化处理被量化共享单元140分 开,使得存储器被共享从而减少存储器。 图3图示出量化单元14和CAVLC计算单元15的配置。量化单元14设有并行的 量化单元14-1至14-n,量化单元14-1至14-n的数目与所选择的量化参数QP1的数目相 同,并且由量化单元14-1至14-n共享的量化共享单元140连接到量化单元14-1至14_n 中的每一个。类似地,CAVLC计算单元15设有并行的CAVLC计算单元15-1至15_n, CAVLC 计算单元15-1至15-n的数目与所选择的量化参数QP1的数目相同,并且由CAVLC计算单 元15-1至15-n共享的CAVLC共享计算单元150连接到CAVLC计算单元15_1至15_n中的 每一个。 图4是用于利用多个量化参数QP来执行量化和可变长度编码的主要部件的框图。图像编码方法。 如图4中所示,量化共享单元140包括扫描地址生成RAM 101、縮放因子RAM 102
和1/Matrix RAM 103。 量化单元14-1至14-n中的每一个包括MB QP计算单元501、QP% 6变换单元502、 縮放因子选择器503、 1/Matrix选择器504、 QP/6变换ROM 505、乘法器506和507以及桶 式移位器508。 CAVLC共享计算单元150包括缓冲器201和202、加法器203 、nB保存存储器204、 nA保存存储器205、加法器206、 TotalCoefLength比特长度ROM 207以及加法器208。
并且,CAVLC计算单元15-1至15_n中的每一个包括TrailingOne计数单元401、 TotalCoef计数单元402、 TotalZero计数单元403、 RunBefore计数单元404、 LevelLength 计算单元405、ZeroLeft计算单元406、TotalZeroLength比特长度ROM 408、 RunBefore比 特长度ROM 409和加法器410。 如上所述,图像编码装置100具有使用共享的量化共享单元140和CAVLC共享计 算单元150来减小并行化的处理的电路规模的配置。 在量化共享单元140中,主要共享縮放因子RAM 102禾P 1/MatrixRAM 103来减小 SRAM大小。在CAVLC共享计算单元150中,可以由TotalCoef Length比特长度ROM 207针 对4X4块执行一次代码长度计算,而其它处理以像素为单位执行,因此,电路被共享来执 行时间共享处理。 此外,CAVLC计算单元15假定MB上边界上nB = nA来近似地计算代码量,以减小 图3中所示的MB边界nB存储行存储器412。限定nB = nA是一种近似处理并且引起了误 差,但是在预测代码量的处理中的容限以内。并且,通过该近似获得的15个并行行存储器 的减少效果是显著的。 在该配置中,指示MB是具有场结构还是帧结构的AFF信号和指示8X8DCT和 4X4DCT中的哪一种被用于正交变换的8X8/4X4信号被输入量化共享单元140。更具体 而言,扫描地址生成RAM 101在AFF信号和8X8/4X4信号的输入之后生成指示DCT系数 的输入位置的DCT地址。 縮放因子RAM 102向量化单元500的縮放因子选择器503输出具有自适应扫描位 置相位的縮放因子MF。如上所述,縮放因子MF是根据DCT地址和QP% 6的值(通过将所 选择的量化参数QP1除以6生成的余数)来选择的。在各个量化单元14-1至14-n中,相 互不同的所选择的量化参数QP1被设置为平均量化参数BaseQP。因此,縮放因子RAM 102 根据DCT地址输出与所有6个值(QP% 6 = 0、1、2、3、4和5)相对应的所有縮放因子MF,并 且使得后续级中的量化单元14-1至14-n中的縮放因子选择器503选择縮放因子MF。类 似地,1/Matrix RAM 103向量化单元14-1至14_n的1/Matrix选择器504输出量化矩阵Q Matrix中具有自适应扫描位置相位的矩阵值的倒数。1/Matrix RAM 103将矩阵值的倒数 向左移位约20个比特位来进行进位,以输出矩阵值的倒数。 S卩,所要使用的量化矩阵Q Matrix根据所选择的量化参数QP1的值变化,因此,多 个(例如,4种类型的)量化矩阵Q Matrix是必要的。1/Matrix RAM 103向量化单元14-1 至14-n的1/Matrix选择器504输出所有类型(例如,4种类型)矩阵值的倒数,并且使得 后续级中的量化单元14-1至14-n的1/Matrix选择器504根据所设置的所选择量化参数QP1的值来选择倒数。 随后,在量化单元14-1至14-n的每一个中,顺次提供的DCT系数被提供给MB QP 计算单元501。 MB QP计算单元501对所选择的量化参数QP1加上根据活动性群组的活动 性偏移量来生成自适应量化参数QPt,并将其提供给QP% 6计算单元502和QP/6变换单元 505。 QP% 6计算单元502计算QP% 6值并将其提供给縮放因子选择器503, QP% 6值是通 过将自适应量化参数QPt除以"6"生成的余数。縮放因子选择器503根据QP% 6值选择縮 放因子MF作为第一乘法计数并且将其提供给乘法器506。 1/Matrix选择器504基于所要 使用的量化矩阵Q Matrix的矩阵标识号idx来选择矩阵值的倒数作为第二乘法计数并且 将其提供给乘法器506。 乘法器506将縮放因子MF乘以"16"以及矩阵值的倒数(MF*16/QMatrix)。乘法 器506执行縮放因子选择器503和1/Matrix选择器504的输出值的相乘,并且之后执行向 右移位20个比特位来实现对1/Matrix RAM 103中的携带值的匹配,并且将乘法值提供给 乘法器507。乘法器507按照与扫描顺序相反的顺序将DCT系数乘以乘法值,并且将乘积提 供给桶式移位器508。 QP/6变换单元向桶式移位器508提供通过将自适应量化参数QPt除 以"6"生成的QP/6值。桶式移位器508将乘法器507的输出值的数字减少与QP/6值对应 的位数,从而得到量化结果。 以这种方式,縮放因子RAM和1/Matrix RAM 103在量化单元14中被共享,并且在 后续级中的量化单元14-1至14-n中可获得的所有縮放因子MF以及矩阵值的倒数被根据 DCT地址提供给量化单元14-1至14-n。量化单元14_1至14_n中的每一个根据所选择的 量化参数QP1来选择縮放因子MF。并且,量化单元14-1至14-n中的每一个根据矩阵标识 号idx来选择矩阵值的倒数。因此,縮放因子RAM 102和1/Matrix RAM 103可以在量化单 元14中被共享,使得可以减少对于整个量化单元14必要的RAM的容量。并且,量化单元14 将縮放因子MF和矩阵值的倒数相互分离地保存。因此,相比于保存縮放因子MF和矩阵值 的倒数之间的所有乘积值的情况,可以减少对于縮放因子RAM 102和1/Matrix RAM 103必 要的存储容量。 CAVLC计算单元15与CAVLC计算单元400的不同在于CAVLC共享计算单元150 自适应地选择VLC表格并且对TrailingOne和TotalCoef进行编码。 CAVLC计算单元15-1至15-n中的每 一 个中的TrailingOne计数单元401、 TotalCoef计数单元402、 TotalZero计数单元403、 RunBefore计数单元404、 LevelLength 计算单元405、ZeroLeft计算单元406、TotalZeroLength比特长度ROM 408、 RunBefore比 特长度ROM 409顺次对所提供的DCT系数执行处理。即,CAVLC计算单元15_1至15_n中的 每一个中的各个单元对4X4DCT块执行4X4 = 16次计算。相比之下,TotalCoefLength比 特长度ROM 407只需要选择一个VLC表格并且对针对4X4DCT块计算出的TrailingOne和 TotalCoef执行一次计算。即,TotalCoefLength比特长度ROM 407相对于CAVLC计算单元 15-1至15-n中的每一个中的各个单元,仅需要约十六分之一的计算时间。因此,CAVLC共 享计算单元150将从CAVLC计算单元15-1至15-n提供的TrailingOne和TotalCoef分别 保存在缓冲器201和202中。当CAVLC计算单元15_1至15_n中的每一个中的各个单元对 下一个4X4块执行处理时,CAVLC共享计算单元150自适应地为前一 4X4块选择一 VLC表 格,并且顺次对由CAVLC计算单元15-1至15-n计算出的15个TrailingOne和TotalCoef
14进行编码。 在CAVLC共享计算单元150中,15个并行的CAVLC计算单元15_1至15_n的 TrailingOne计数单元401和TotalCoef计数单元402的输出被保存在缓冲器201和202 各自中的15级缓冲器中。 加法器203以时间共享的方式从缓冲器201和202接收TrailingOne和 TotalCoef,并且将Trai 1 ing0ne和TotalCoef相加来计算非零系数的数目。nA保存存储器 205保存宏块中作为左邻的块参考的4X4块的非零系数的数目nA。 nB保存存储器204保 存4X4块的宏块中作为上邻的块参考的4X4块的非零系数的数目nB。
这里,CAVLC共享计算单元150通常需要保存MB下边界的nB信息并且利用其作 为下宏块的上边界上的4X4块的nB信息。然而,如果用于保存nB的15级行存储器被布 置在CAVLC共享计算单元150中,则CAVLC共享计算单元150所需要的RAM的存储容量变 得很大,考虑到电路规模,这是不希望的。因此,当处理MB上边界上的4X4块上时,CAVLC 共享计算单元150通过将nB与nA视为相等来执行与画面的最上部处的宏块处理相同的处 理。 S卩,在4X4块是在MB的上边界上时,加法器206将表格选择索引nC设置为nA。 加法器206针对画面的左边界上的4X4块将nC设置为nB。在以上两种情况以外的情 况中,即,在4X4块既不在MB的上边界上也不在画面的左边界上时,加法器206将nC设 置为(nA+nB)/2。然后,TotalCoefLength比特长度ROM 207基于表格选择索引nC来选 择VLC表格,对TrailingOne和TotalCoef进行编码,并且计算它们的代码长度。结果, TotalCoefLength比特长度ROM 207向加法器208顺次输出TotalCoefLength比特长度。 加法器208被提供以由CAVLC计算单元15-1至15_n计算出的代码长度。加法器208将 与TotalCoefLength比特长度相对应的、从CAVLC计算单元15_1至15_n提供的代码与 TotalCoefLength比特长度相加,从而计算出各个4X4块的代码长度。代码量控制单元4 以MB为单位将各个4X4块的代码长度相加,从而计算出各个MB的生成代码量。这些处理 被对整个图片重复执行。 以这种方式,在CAVLC计算单元15中,计算次数小的TotalCoefLength比特长度 ROM 207被共享。因此,在CAVLC计算单元15中,可以减少TotalCoefLength比特长度ROM 207的数目并且可以简化电路配置。CAVLC计算单元15在4X4块在MB的上边界的情况中 将表格选择索引nC设置为nA。因此,在CAVLC计算单元15中可以省略MB边界nB存储行 存储器,可以大大降低CAVLC计算单元15所需要的RAM的存储容量,并且可以简化电路配 置。 根据以上所述的根据一个实施例的图像编码装置100和图像编码方法,量化单元 14将縮放因子MF和1/Q Matrix相互分离地存储,并且将根据DCT地址可获得的所有值提 供给各个量化单元14-1至14-n。量化单元14-1至14-n中的每一个根据所设置的量化参 数QP来选择縮放因子MF和1/Q Matrix。因此,在量化单元14中,量化单元14_1至14_n 可以共享存储器,因此可以减小存储器。CAVLC计算单元15在选择VLC表格时不使用MB的 上端部分处的上邻的4X4块,使得可以减小MB边界nB存储行存储器412。此外,在CAVLC 计算单元15中,以时间共享的方式共享以4X4DCT块为单位执行计算的CAVLC计算单元 15,使得可以减小逻辑模块。
并且,考虑到在AVC中由于利用画面内相关增强了效率,所以如果处理的单位小 则AVC的优势不能被最大化,所以,图像编码装置100以图片为单位执行两次预编码。并 且,为了提高效率,图像编码装置100基于电路的部分共享而采用部分并行的配置,以克服 处理量增大而导致编码的电路规模增大的问题。因此,图像编码装置100能够使得生成代 码量与赋予一个图片的目标代码量相匹配,并且在简化预编码器的配置的同时,考虑视觉 特征(即,量化参数QP)来确定代码量分配。
1-4.基本量化参数的确定 第二预编码单元2实际上利用预测量化参数QPd和预测量化矩阵QMatrixD来执 行与编码器3的编码类似的编码,从而以高精度来计算高精度生成代码量。以下,由第二预 编码单元2计算出的生成代码量被称为高精度生成代码量。此时,第二预编码单元2不仅 使用预测量化参数QPd、还使用预测量化参数QPd前后的量化参数QP来计算高精度生成代 码量,并且利用它们的变动比来预测与预测量化参数QPd接近的高精度生成代码量。
代码量控制单元4向第二预编码单元2提供预测量化参数QPd、预测量化矩阵Q MatrixD和各个MB的活动性群组。第二预编码单元2基于这些值来执行第二预编码。
在第二预编码单元2中,输入图像91在被延迟缓冲器5延迟后输入画面内预测处 理单元21。画面内预测处理单元21计算预测图像与输入图像91之间的差来生成差分图像 数据。然后,DCT单元22对差分图像数据执行DCT处理来生成DCT系数。量化单元23对 DCT系数执行量化处理来生成量化系数。熵代码长度计算单元24使用CAVLC或CABAC对量 化系数执行熵编码来计算高精度生成代码量。此外,在第二预编码单元2中的处理期间,量化单元23向解量化单元27发送量化
系数。解量化单元27对量化系数进行解量化来再现DCT系数。然后,IDCT单元26对DCT
系数执行IDCT来生成本地解码图像,本地解码图像被存储在缓冲器25中。 这里,量化单元23由该示例中的3级量化单元23-1 、23-2和23-3构成,并且熵代
码长度计算单元24由该示例中的3级熵代码长度计算单元24-1、24-2和24_3构成。级数
小(3)的原因是在第一预编码中已经在宽范围内粗略估计过量化参数QP。 在这样的配置下,量化单元23和熵代码长度计算单元24并行地执行处理,以获得
与预测量化参数QPd和预测量化参数QPd前后的量化参数QP相对应的高精度生成代码量。
此时,熵代码长度计算单元24从CABAC/CAVLC中选择与由主编码单元3执行的主编码的熵
编码方法相同的方法。 随后,代码量控制单元4基于通过第二预编码获得的高精度生成代码量来确定要 用于主编码的图片的基本量化参数QPMB。然后,代码量控制单元4向主编码单元3发送基 于所确定的图片的基本量化参数QPMB、预测量化矩阵Q MatrixD和各个MB的活动性群组的 量化信息(Q Matrix、各个MB的QP等等)。 更具体而言,在目标代码量夹在通过第二预编码获得的高精度生成代码量的中间 时,即,在满足 Generated_bits(QP_precodel + l) < Target_bits < Generated_bits (QP_ Precodel-l) 的情况中,最接近目标代码量的量化参数QP被选作基本量化参数QPM。 否则,代码量控制单元4从第二预编码的结果中获取高精度生成代码量相对于量化参数QP中的变化的变动比。预测量化参数QPd是基于由第一预编码单元1获得的低精度 生成代码量来计算出的。因此,最接近目标代码量的量化参数QP存在于预测量化参数QPd 的附近。在量化参数QP的值相互接近的情况中,生成代码量的变动比基本不变。然后,代 码量控制单元4基于与预测量化参数QPd以及预测量化参数QPd前后的量化参数QP相对 应的高精度生成代码量的变动比,来预测与各个量化参数QP相对应的高精度生成代码量, 并且选择与目标代码量最接近的量化参数QP作为基本量化参数QPM。
首先,按照以下方式从第二预编码单元2的结果中获得表示当从量化参数QP中减 去"1 "时高精度生成代码量改变多少百分比的DiffRatio_l 。注意,Generated_bits表示第 二预编码单元2中的生成代码量,QP—precodel表示预测量化参数QPd,并且QP—precodel-l 表示比预测量化参数QPd小"1"的量化参数QP。 DiffRatio_l = (Generated_bits(QP_precodel_l)_Generated_bits (QP_ precodel))/Generated—bits(QP_precodel) 按以下方式从第二预编码单元2的结果中获得表示当量化参数QP加"1"时高精 度生成代码量改变多少百分比的DiffRatio_2。 QP_precodel+l表示比预测量化参数QPd 大"l"的量化参数QP。 DiffRatio_2 = (Generated_bits (QP_precodel) _Generated_bits (QP_ precodel+l))/Generated—bits(QP_precodel+l) 按以下方式获得在预测量化参数QPd附近的高精度生成代码量的变动比 DiffRatio。DiffRatio = (DiffRatio_l+DiffRatio_2)/2 g卩,DiffRatio被计算作为当量化参数从预测量化参数QPd在正和负的方向上仅 变化"l"时的生成代码量的变动的平均值。 假定DeltaQP是预测量化参数QPd (QP_preCOdel)和使得高精度生成代码量与目 标代码量最接近的量化参数QP之间的差的绝对值。然后,当与和目标代码量最接近的高 精度生成代码量相对应的量化参数QP相比于比预测量化参数QPd小1的量化参数QP(QP_ precodel-1)更小时,按以下方式计算使得高精度生成代码量与目标代码量最接近的量化 参数QP的高精度生成代码量(GeneratecLbits(QP)) Generated—bits(QP) = Generated—bits(QP_precodel_l)X (1. O+DiffRatio)'( DeltaQP-1) 当与最接近目标代码量的高精度生成代码量相对应的量化参数QP相比于比预测 量化参数QPd大1的量化参数QP(QP—precodel+l)更大时,按以下方式计算使得高精度生 成代码量最接近目标代码量的量化参数的高精度生成代码量(GeneratecLbits(QP))。
Ge證ated—bits(QP) = Ge證ated—bits (QP_precodel+l) X (1. O-DiffRatio)'( DeltaQP-1) 即,代码量控制单元4将在使用预测量化参数QPd前后的量化参数QP时获得的高 精度生成代码量增大/减小与当量化参数QP的值相对于预测量化参数QPd变化"l"时的 变动比相对应的代码量。代码量控制单元4可以以高精度计算在使用与预测量化参数QPd 接近的量化参数QP时获得的高精度生成代码量。 以上述方式,代码量控制单元4选择最接近目标代码量的量化参数QP作为被用作
17主编码中的平均量化参数(BaseQP)的基本量化参数QPM。 如上所述,第二预编码单元2使用由第一预编码单元1估计出的预测量化参 数QPd(QP—precodel)、大1的量化参数QP (QP_precodel+l)和小1的量化参数QP(QP— precodel-l)来执行预编码。这里,如上所述,仅量化单元23和熵代码长度计算单元24被 并行化并且其它处理被共享从而减小电路规模。 此时,画面内预测处理中所使用的本地解码图像是使用基于第一预编码单元1估 计出的预测量化参数QPd(QP—precodel)量化后的数据。即,利用解量化和IDCT进行处理 的数据是使用预测量化参数QPd(QP—precodel)进行的量化的输出。这意味着,预测量化参 数QPd(QP—precodel)的本地解码图像(而不是自己的本地解码图像)被用作使用预测量 化参数QPd前后的量化参数QP(QP—precodel+l和QP_precodel-l)进行的预编码的画面内 预测处理的输入的替代。 以这种方式,代码量控制单元4根据对基于第一预编码单元1的结果的低精度生 成代码量的预测,使用使得低精度生成代码量最接近目标代码量的可能性非常高的预测量 化参数QPd以及预测量化参数QPd前后的量化参数QP,通过与主编码类似的编码来计算高 精度代码量。因此,代码量控制单元4在使用预测量化参数QPd以及预测量化参数QPd前 后的量化参数QP的情况中,几乎能够精确地计算出高精度生成代码量。此外,本发明的重 点在于由量化参数QP的变化引起的高精度生成代码量的变动比在窄范围内基本不变。代 码量控制单元4基于预测量化参数QPd以及预测量化参数QPd前后的量化参数QP中的高 精度生成代码量的变动比来计算在使用接近预测量化参数QPd的量化参数QP时获得的高 精度生成代码量。因此,代码量控制单元4可以几乎精确地针对接近预测量化参数QPd的 量化参数QP计算出高精度生成代码量。 另外,本发明不限于上述实施例,并且在不偏离本发明的意图的情况下,各种改善 和变化都是可接受的。 例如,还可以将上述图像编码装置和图像编码方法实现为装载到装置中的计算机 程序或携带该程序的记录介质,以及作为用于执行该方法的计算机程序或执行程序的记录 介质。 此外,可以通过硬件也可以通过软件来执行上述编码处理序列。在用软件实现编 码处理的情况中,在CPU或RAM中虚拟地形成图像编码装置100。然后,ROM中所存储的编 码程序被扩展到RAM中,从而执行编码处理。
1-4.处理过程 以下,将参考图5的流程图来详细描述由根据本发明一个实施例的图像编码装置 100执行的编码处理过程RT1。该处理过程的一部分或全部也对应于根据一个实施例的图 像编码方法。 首先,活动性计算单元16以MB为单位计算活动性,并且根据得到的值将MB分类 到活动性群组中(步骤SI)。 随后,画面内预测模式确定单元11基于输入图像91来确定画面内预测模式(步 骤S2)。该画面内预测模式也被用在由第二预编码单元2执行的第二预编码和由主编码单 元3执行的主编码中。 然后,画面内预测处理单元12计算预测图像与输入图像之间的差分图像数据。这里,输入图91被用作预测图像以减少处理。然后,DCT单元13执行整数精度DCT并且向量 化单元14发送DCT系数(步骤S3)。 量化单元14使用任意间隔的多个所选择的量化参数QP1作为图片的平均量化参 数(BaseQP)来对DCT系数进行量化。CAVLC计算单元15对量化系数执行可变长度编码并 且计算代码长度,从而获得针对各个所选择的量化参数QP1的生成代码量(步骤S4)。此 时,这些值是在考虑活动性的情况下被给出作为如上所述的MB的量化参数QP的,并且随后 执行编码。即,如上所述,通过对图片的平均量化参数(BaseQP)增加与活动性群组相对应 的偏移量来获得MB的量化参数QP。 此外,在响应于自适应量化矩阵Q Matrix切换处理的情况中,上述处理是针对各 个量化矩阵Q Matrix来执行的。即,预编码是使用对于各个量化矩阵Q Matrix具有离散 值的所选择的量化参数QP1来执行的,从而获得一个图片的生成代码量。此时,所选择的量 化参数QP1被选择以覆盖各个量化矩阵Q Matrix的量化参数QP的容许范围。
然后,代码量控制单元4执行用于对由第一预编码单元1计算出的生成代码量进 行校正的处理来计算低精度生成代码量。代码量控制单元4通过简化预编码来校正误差, 并且还通过内插处理来计算与除了所选择的量化参数QP1以外的量化参数QP相对应的低 精度生成代码量(步骤S5)。 代码量控制单元4对各个量化矩阵Q Matrix执行步骤S5的处理并且计算各个量 化矩阵Q Matrix的低精度生成代码量(步骤S6)。在上述处理中,可以获得与所有必要的量 化参数QP相对应的低精度生成代码量。在可以生成最接近目标代码量的低精度生成代码 量的量化参数QP中,具有最小斜率的量化矩阵Q Matrix被选作预测量化矩阵Q MatrixD。 此外,代码量控制单元4选择与预测量化矩阵Q MatrixD相对应的、能够生成与目标代码量 最接近的低精度生成代码量的量化参数QP作为预测量化参数QPd(步骤S7)。并且,通过以 上述方式选择量化矩阵Q Matrix,限制可获得的量化参数QP的范围,使得可以减小用于由 第一预编码单元1计算低精度生成代码量的所选择的量化参数QP1的范围。因此,获得了 由第一预编码单元1确定的预测量化矩阵Q MatrixD和预测量化参数QPd。
随后,第二预编码单元2执行生成代码量获取处理(步骤S8至S10)。考虑到由第 一预编码单元1估计出的预测量化参数QPd有误差,第二预编码单元2的目的是再次执行 预编码来增大所估计出的基本量化参数QP B的精度。 S卩,使用与基于第一预编码单元1的结果粗略估计出的预测量化参数QPd接近的 量化参数QP再次执行预编码来获得高精度生成代码量,从而再次获得最接近目标代码量 的量化参数QP。对于熵代码长度计算,使用与主编码相同的方法(CABAC或CAVLC)。
具体而言,画面内预测处理单元21的画面内预测处理是使用从第一预编码单元1 的结果确定的画面内预测模式来执行的,并且执行DCT单元22的DCT (步骤S8)。第二预编 码单元2共享使用基于第一预编码单元1的结果估计出的预测量化参数(QP_preC0del)量 化后的本地解码图像,作为用于画面内预测的本地解码图像(预测图像)。
在量化中,使用基于第一预编码单元1的结果确定的预测量化参数QPd(QP— precodel)、量化矩阵Q Matrix和活动性群组。在量化单元23-中设置预测量化参数 QPd(QP_precodel),在量化单元23_2中设置比预测量化参数QPd小"l"的量化参数QP(QP_ precodel-1),并且在量化单元23_3中设置比预测量化参数QPd大"l"的量化参数(QP_precodel+1)。 此外,在考虑活动性的情况下向MB的量化参数(QP)赋予值,并且执行编码。在上 述第二预编码中,可以获得一个图片的高精度生成代码量(步骤S9)。 随后,代码量控制单元4根据基于第二预编码单元2获得的高精度生成代码量来 确定基本量化参数QP b (步骤S10)。 随后,主编码单元3执行主编码(步骤Sll)。在主编码中,使用基于第二预编码单 元2的结果确定的图片的基本量化参数QP,基于第一预编码单元1的结果确定的预测量 化矩阵Q MatrixD和活动性群组来执行编码。以这种方式,与编码有关的处理序列结束。
以下,将参考图6中所示的流程图进一步描述由图像编码装置100执行的编码处 理过程RT1的步骤S7中所执行的Q Matrix确定处理过程RT2。 在该处理开始之后,代码量控制单元4首先将Id初始化为Id = O(步骤 S21),然后,从具有小值Id的量化矩阵Q-Matrix开始,将与最接近于目标代码量的 低精度生成代码量相对应的量化参数(QP)与量化矩阵Q-Matrix中可能的最大量化 参数QP(QMatrixTheshold[Id])相比较(步骤S22)。然后,如果第Id个量化矩阵 Q-Matrix中与最接近于目标代码量的低精度生成代码量相对应的量化参数(QP)小于 QMatrixTheshold[Id],则代码量控制单元4确定当前的量化矩阵Q-Matrix是预测量化矩 阵QMatrixD。此外,在确定了预测量化矩阵Q MatrixD中与最接近目标代码量的低精度生 成代码量相对应的量化参数(QP)为预测量化参数QPd(步骤S23)之后,代码量控制单元4 结束Q Matrix确定处理过程RT2。 另一方面,在步骤S22中,如果第Id个量化矩阵Q-Matrix中与最接近于目标代 码量的低精度生成代码量相对应的量化参数(QP)等于或大于QMatrixTheshold[Id],则 代码量控制单元4递增Id(步骤S24)。代码量控制单元4确定Id是否等于比量化矩阵 Q-Matrix的总数小"l"的值(NumOfQMatrixId-l)(步骤S25)。然后,如果不满足Id = Num0fQMatrixId-l,则处理返回步骤S22,其中,检查下一量化矩阵Q-Matrix。另一方面, 如果满足Id = NumOfQMatrixId-l,则选择具有最陡的斜率的量化矩阵Q-Matrix(ID为 NumO预atrixId的量化矩阵Q-Matrix)(步骤S23),并且Q Matrix处理过程RT2结束。
在图4所示的Q Matrix处理过程RT2中,代码量控制单元4针对各个量化矩阵 Q-Matrix设置可能的最大量化参数QP,并且从具有平缓的斜率的量化矩阵Q-Matrix开 始,判断与使得低精度生成代码量被估计出为最接近目标代码量的量化参数QP相对应的 低精度生成代码量是否实际上具有接近目标代码量的值。然后,如果低精度生成代码量 具有接近的值,则相应的量化矩阵Q-Matrix被确定为主编码中所要使用的预测量化矩阵 QMatrixD。 如上所述,根据本发明的一个实施例,以图片为单位执行两次预编码。并且,为了 提高效率,图像编码装置100采用基于电路的局部共享的局部并行配置,以克服处理量增 大导致编码的电路规模增大的问题。因此,预编码器的配置得到简化,并且由简化引起的误 差被使用统计数据得到校正。 因此,图像编码装置100可以将主编码中所生成的主编码生成代码量调节成赋予 一个图片的目标代码量,而不需执行画面内反馈控制。因此,图像编码装置IOO可以消除 反馈控制中的问题,例如不适当的反馈参数初始值以及不适当的目标代码量分配的负面效
20果。结果,图像编码装置ioo可以将主编码生成代码量与目标代码量相匹配,并且在考虑视
觉特征(即,适当的量化参数)的情况下来确定代码量分配。 接着,将参考图7中所示的流程图来描述由CAVLC共享计算单元150根据编码程 序执行的VLC表格选择处理过程RTl。 CAVLC计算单元15在被从量化单元14提供以DCT系数时开始VLC表格选择处理 过程RT1,并且进行到步骤S41。 CAVLC计算单元15利用CAVLC计算单元15_1至15_n来对 Trailing0ne和TotalCoef进行计数,并且之后进行到下一步骤S42。 在步骤S42中,CAVLC计算单元15将TrailingOne和TotalCoef相加来计算非零 系数的数目,然后进行到下一步骤S43 。 在步骤S43中,CAVLC计算单元15临时存储非零系数的数目nA和nB作为参考目 标,然后进行到下一步骤S44。 在步骤S44中,CAVLC计算单元15判断作为处理目标的4X4块是否在MB的上边 界上。这里,如果得到否定结果,则指示作为参考目标的nB被保存在nB保存存储器204中。 此时,CAVLC计算单元15进行到下一步骤S46。在步骤S46中,CAVLC计算单元15使用nA 和nB的平均值作为表格选择索引nC,然后进行到下一步骤S47。 另一方面,如果在步骤S44中得到肯定结果,则CAVLC计算单元15进行到步骤 S45,然后使用nA作为表格选择索引nC,然后进行到下一步骤S47。 在步骤S47中,CAVLC计算单元15基于表格选择索引nC来选择VLC表格,并且进
行到结束步骤来结束处理。
1-5.操作和效果 在上述配置中,图像编码装置100被提供以输入图像91,输入图像91在以作为由 多个像素构成的编码块的4X4块为单位被扫描的同时,以作为由多个4X4块构成的扫描 块的MB为单位被行扫描。图像编码装置100选择与表格选择索引nC相对应的VLC(可变 长度)表格,表格选择索引nC是基于输入图像91的作为编码目标数据的量化系数中非零 系数的数目nB和nA的平均值,nB和nA是在用作编码目标的4 X 4块的上邻和左邻的4 X 4 块中要被执行可变长度编码的编码值。此时,在作为编码目标的4X4块处于MB的上端的 情况中,图像编码装置100将上邻的4X4块的非零系数的数目nB与左邻的4X4块的非零 系数的数目nA视为相等。图像编码装置IOO使用所选择的VLC表格对量化系数中作为编 码目标的4 X 4块的非零系数的数目执行可变长度编码。 因此,在图像编码装置100中,可以省略用于参考在MB的上端的上邻的非零系数 的数目nB的一行的存储器,使得电路配置可以被简化。 图像编码装置100通过使用至少基于量化因子(量化参数QP或量化矩阵,或这两 者)的量化台阶对输入图像91进行量化来对它进行编码,从而生成作为编码目标数据的量 化系数。 图像编码装置100基于通过对量化系数执行的可变长度编码获得的低精度预测 生成代码量,来判断被预测为使得通过对输入图像91执行主编码获得的主编码生成代码 量最接近目标代码量的基本量化参数QPM。图像编码装置100基于所确定的基本量化参数 QPmb来对输入图像91执行主编码。 因此,图像编码装置100可以基于利用简易配置计算出的低精度生成代码量来确
21定基本量化参数QP b。 图像编码装置100以4X4块为单位对输入图像91执行DCT处理(其为正交变 换),然后使用基于量化参数QP的量化台阶对输入图像91进行量化来对其进行编码,从而 生成量化系数。图像编码装置100确定用作接近基本量化参数QPM的预测量化因子的预 测量化参数QPd。图像编码装置100基于所选择的预测量化参数QPd和接近预测量化参数 QPd的量化参数QP来对输入图像91进行编码,并且计算输入图像91的高精度生成代码量。 图像编码装置100基于所计算出的输入图像91的高精度生成代码量来确定基本量化参数
QPmb。
因此,图像编码装置100可以基于很有可能是基本量化参数QPM的预测量化参数
QPd以及接近预测量化参数QPd的量化参数QP来确定基本量化参数QP b。因此,图像编码
装置100可以增强预测基本量化参数QPffi的精度。 〈2.第二实施例> 2-1.图像编码装置的配置 在图8至图10所示的第二实施例中,用相同标号表示与图1至图7中的部件相对 应的部件,并且省略对相同部件的描述。在第二实施例中,与第一实施例的不同在于第二预 编码单元2中简化量化单元28、量化单元41、简化代码长度计算单元29和熵代码长度计算 单元42的配置。 根据该实施例的图像编码装置200和图像编码方法的特征如下。
g卩,图像编码装置200使用由MPEG4 AVC(高级视频编码高级运动图像压縮编 码标准)等代表的图像压縮方法来执行简化的代码量控制处理,从而减少硬件。图像编 码装置200是能够选择上下文自适应二进制编码(CABAC)和上下文自适应可变长度编码 (CAVLC)这两种熵编码方法的系统。当图像编码装置200使用不同的量化值并行地执行量 化来计算代码长度以预测生成代码量时,图像编码装置200针对并行部分使用单种编码方 法来减小电路规模。即,在图像编码装置200中,第二预编码单元2中的简化量化单元28 由共享单元280和量化单元28-1至28-3构成,如在第一预编码单元1中的量化单元14中 一样。并且,在图像编码装置200中,用于通过CAVLC来计算简化生成代码量的简化代码长 度计算单元29被构成为共享计算单元290和CAVLC计算单元29_1至29_3,如在第一预编 码单元1中的CAVLC计算单元15中一样。CAVLC计算单元29_1基于预测量化参数QPd来 计算生成代码量。CAVLC计算单元29-2和29-3基于预测量化参数QPd前后的量化参数QP 来计算生成代码量。 此外,在图像编码装置200中,仅提供一级熵代码长度计算单元42,其用于使用 CAVLC或CABAC计算生成代码量,并且CAVLC与CABAC之间的切换是根据主编码的方法来 执行的,从而计算出基于预测量化参数QPd的高精度生成代码量。并且,在CAVLC被用于主 编码的情况中,图像编码装置200基于由CAVLC计算单元29-1计算出并基于预测量化参数 QPd的生成代码量与由熵代码长度计算单元42计算出并基于预测量化参数QPd的高精度生 成代码量之间的差,来预测基于除了预测量化参数QPd以外的量化参数QP的高精度生成代 码量。另一方面,在cabac被用于主编码的情况中,图像编码装置200计算cabac与cavlc 之间的生成代码量之差(之比),从而基于CAVLC的高精度生成代码量来预测CABAC的高精 度生成代码量。因此,图像编码装置200在用于基于预测量化参数QPd前后的量化参数QP计算高精度生成代码量的并行部分中不需要用于CABAC的电路,从而减小电路规模。 图8图示并描述了根据本发明一个实施例的图像编码装置200的配置。 第二预编码单元2是用于执行第二预编码的模块,并且包括画面内预测处理单元
21、DCT单元22、量化单元41、熵代码长度计算单元42、缓冲器25、 IDCT(逆DCT)单元26、
量化单元27、简化量化单元28和简化代码长度计算单元29。 代码量控制单元4是用于执行代码量控制的模块。 2-2.使用简化CAVLC的高精度生成代码量计算 如上所述,简化量化单元28分开输出縮放因子MF和量化矩阵QMatrix的倒数(1/ Q Matrix)作为乘法系数。简化量化单元28由于在量化矩阵Q Matrix的倒数被输出时发 生的舍入而相对于量化单元300引起轻微误差。并且,简化代码长度计算单元29引起从使 MB的上端的4X4块中的上邻的非零系数的数目nB等于左邻的非零系数的数目nA产生的 轻微的误差。因此,图像编码装置200针对与被执行与主编码相同的编码的预测量化参数 QPd接近的量化参数QP,校正由简化代码长度计算单元29计算出的生成代码量,从而计算 出高精度生成代码量。 在使用CAVLC进行主编码的情况中,图像编码装置200基于由熵代码长度计算单 元42计算出并且基于预测量化参数QPd的高精度生成代码量与由CAVLC计算单元29-1计 算出并且基于预测量化参数QPd的通过简化编码获得的生成代码量之比,来计算接近预测 量化参数QPd的高精度生成代码量。 假定利用预测量化参数QPd(QP—precodel)的普通处理(由熵代码长度计算单 元42执行的处理)的高精度生成代码量GeneratecLbits(QP—precodel)与简化处理(由 CAVLC计算单元29-1执行的处理)的生成代码量Reduce_Generated_bits (QP_precodel) 之比是用下式表示的代码量之比R_reduction。 R_reduction = Geberated—bits(QP_Precodel)/Reduce_Generated_bits (QP_ precodel) 代码量控制单元4使用代码量之比R_reduCtion和通过简化处理获得的生成代码 量并基于预测量化参数QPd前后的量化参数QP来计算高精度生成代码量。这里,使用代码 量之比R_reduction以及比预测量化参数QPd小"1"的量化参数(QP_precodel-l)和比 预测量化参数QPd大"l"的量化参数(QP_preC0del+l)的简化处理获得的生成代码量被 分别定义为简化生成代码量Reduce_Generated_bits (QP_precodel-l)和简化生成代码量 Reduce_Generated_bits (QP_precodel+l)。关注在量化参数QP相互接近的情况中普通处 理中的代码量和简化处理中的代码量之比基本相等这一点,代码量控制单元4使用基于预 测量化参数QPd的代码量之比R—reduction,基于比预测量化参数QPd小"1"的量化参数 (QP_precodel-l)和比预测量化参数QPd大"1"的量化参数(QP_precodel+l)来预测高精 度生成代码量。 具体而言,假定普通处理的高精度生成代码量是GeneratecLbits,代码量控制单 元4根据下式来计算针对比预测量化参数QPd小"l"的量化参数(QP_preC0del-l)的高精 度生成代码量Generated—bits (QP_precodel_l)。 Generated_bits(QP_precodel_l) = R_reductionXReduce_Generated_ bits (QP_precodel_l)
代码量控制单元4根据下式来计算针对比预测量化参数QPd大"l"的量化参数 (QP_precodel+l)的高精度生成代码量Generated_bits (QP_precodel+l)。
Generated_bits(QP_precodel+l) = R_reductionXReduce_Generated_ bits (QP_precodel+l) 即,代码量控制单元4将通过简化处理(由CAVLC计算单元29_2和29_3执行的 处理)获得的生成代码量乘以代码量之比ILreduction,从而针对预测量化参数QPd前后的 量化参数QP来计算高精度生成代码量。 此外,如以上在第一实施例中所述,代码量控制单元4基于预测量化参数QPd(QP_ precodel)和预测量化参数QPd前后的量化参数(QP_precodel-l和QP_precodel+l)的变 动比DiffRatio来计算针对其它量化参数QP的高精度生成代码量。 以这种方式,图像编码装置200基于预测量化参数QPd和接近它的量化参数QP,使 用CAVLC(简化处理)来计算生成代码量。图像编码装置200使用与主编码(普通处理) 相同的编码、基于预测量化参数QPd来计算高精度生成代码量。 然后,图像编码装置200计算简化处理和普通处理之间的代码量之比尺_ reduction,并且将代码量之比R_reduction乘以基于接近预测量化参数QPd的量化参数 QP、通过简化处理获得的生成代码量。因此,图像编码装置200可以校正由简化处理引起的 误差,并且针对接近预测量化参数QPd的量化参数QP来以高精度计算高精度生成代码量。
2-3.使用CABAC的高精度生成代码量计算 如上所述,CABAC的处理是复杂的并且使得电路规模很大。那么,在图像编码装置
200中,由于针对预测量化参数QPd执行与主编码相同的编码(即,CABAC),因此针对接近
预测量化参数QPd的量化参数QP来校正由简化代码长度计算单元29计算出的通过CAVLC
获得的生成代码量,从而计算出在使用CABAC的情况中的高精度生成代码量。 在使用CABAC进行主编码的情况中,第二预编码单元2通过对预测量化参数
QPd进行实际编码来仅计算出基于预测量化参数QPd的高精度生成代码量。在这种情况
中,代码量控制单元4将以预测量化参数QPd (QP_preC0del)获得的高精度生成代码量
Generated_bits(QP_precodel)与简化处理(由CAVLC计算单元29-1执行的处理)的生成
f^石马量Reduce—Generated—bits(QP—precodel)之比定义为f^石马量之比R—reduction。那么,如在CAVLC的情况中一样,代码量控制单元4将通过简化处理(由CAVLC计
算单元29-2和29-3执行的处理)获得的生成代码量乘以代码量之比R_reduCtion,从而针
对预测量化参数QPd前后的量化参数QP以CABAC计算高精度生成代码量。 此外,如以上在第一实施例中所述,代码量控制单元4基于预测量化参数QPd(QP_
precodel)以及预测量化参数QPd前后的量化参数(QP_precodel-l和QP_precodel+l)的
变动比DiffRatio来计算针对其它量化参数QP的高精度生成代码量。 以这种方式,图像编码装置200基于预测量化参数QPd以及接近其的量化参数QP
并使用简化的CAVLC(简化处理)来计算生成代码量。图像编码装置200使用与主编码相
同的CABAC (普通处理)来基于预测量化参数QPd计算高精度生成代码。 然后,图像编码装置200计算简化处理与普通处理之间的代码量之比尺_
reduction,并且将代码量之比R_reduction乘以基于接近预测量化参数QPd的量化参
数QP、通过简化处理获得的生成代码量。因此,图像编码装置200可以基于通过简化的
24CAVLC(简化处理)获得的生成代码量来以高精度预测通过CABAC获得的高精度生成代码 量。即,图像编码装置200可以通过仅设置具有复杂电路配置的一个CABAC电路就可以通 过CABAC来以高精度预测高精度生成代码量,使得相比于并行设置与预测量化参数QPd前 后的量化参数QP相对应的3个CABAC电路的第一实施例,该电路配置可以被大大简化。
2-4.处理过程 接着,将参考图9和图10中的流程图来描述基本量化参数确定处理过程RT4。
在开始基本量化参数确定处理过程RT4之后,图像编码装置200的代码量控制单 元4进行到步骤S51。在步骤S51中,代码量控制单元4计算由CAVLC计算单元29_1执行 的简化处理(在图10中用黑色正方形指示)与由熵代码长度计算单元42执行的普通处理 (在图10中用黑色圆形指示)之间的代码量之比R—reduction,并且之后进行到下一步骤 S52。 在步骤S52中,代码量控制单元4将代码量之比R_reduction乘以针对预测量化 参数QPd前后的量化参数QP (QP—precodel-l和QP_precodel+l)、通过简化处理获得的生成 代码量,从而计算预测量化参数QPd前后的量化参数QP (QP_precodel-l和QP_precodel+l) 的高精度生成代码量(在图10中用白色正方形指示)。此外,代码量控制单元4基于预测量 化参数QPd和预测量化参数QPd前后的量化参数QP中的生成代码量的变动比DiffRatio, 来计算针对接近预测量化参数QPd的量化参数QP的高精度生成代码量(在图10中用三角 形指示),并且进行到下一步骤S53。 在步骤S53中,代码量控制单元4确定与最接近目标代码量的高精度生成代码量
相对应的量化参数QP为基本量化参数QPiB,然后进行到结束该处理的结束步骤。 此外,本发明不限于上述实施例,并且在不偏离本发明的意图的情况下,可接受各
种改进和改变。 例如,上述图像编码装置和图像编码方法可以被实现为装载到装置上的计算机程 序或执行该程序的记录介质,以及实现为用于执行该方法的计算机程序或携带该程序的记 录介质。 2-5.操作和效果 在上述配置中,图像编码装置200确定用作被预测为接近基本量化参数QPffi的预 测量化因子的预测量化参数QPd,基本量化参数QPffi用作被预测为使得由主编码单元3对 输入图像91进行编码获得的主编码生成代码量最接近目标代码量的基本量化因子(图11 中的步骤S61)。 基于预测量化参数QPd以及接近预测量化参数QPd的量化参数QP,图像编码装置 200以比由量化单元41和熵代码长度计算单元42执行的编码更简易的方式对输入图像91 进行编码(执行简化处理),从而计算通过简化编码获得的生成代码量(步骤S62)。图像 编码装置200基于预测量化参数QPd来对输入图像91进行编码(执行普通处理),从而计 算通过普通处理获得的生成代码量(步骤S63)。 图像编码装置200计算通过简化处理获得的基于预测量化参数QPd的生成代码量 Reduce_Generated_bits(QP_precodel)与通过普通处理获得的基于预测量化参数QPd的 生成代码量Generated_bits (QP_precodel)的代码量之比R_reduction (步骤S64)。
图像编码装置200将代码量之比R_reduCtion乘以基于接近预测量化参数QPd的量化参数QP的生成代码量Reduce_Generated_bits(QP_precodel+l, -1),从而校正 基于接近预测量化参数QPd的量化参数QP的生成代码量Reduce_Generated_bits(QP_ precodel+l, _1)(步骤S65)。 因此,图像编码装置200可以仅对预测量化参数QPd执行与主编码相同的编码,使 得可以在保持高精度生成代码量的精度的同时简化第二预编码单元2的电路配置。
图像编码装置200利用可变长度编码(CAVLC)以简易方式对输入图像91进行编 码(简化处理),并且使用算术编码(CABAC)对输入图像91进行编码(普通处理)。
因此,在图像编码装置200中,对于接近预测量化参数QPd的量化参数QP,可以使 用CAVLC作为电路配置复杂的CABAC的替换,使得可以简化电路配置。
图像编码装置200使用简化CAVLC以比编码(普通处理)更简易的方式来对输入 图像91进行编码(简化处理)。 因此,在图像编码装置200中,可以简化简化代码长度计算单元29的配置。
图像编码装置200以比主编码更简易的方式来对基于输入图像91的编码目标数 据(量化系数)进行编码,输入图像91在以用作由多个像素构成的编码块的4X4块为单 位被扫描的同时,以用作由多个4X4块构成的扫描块的MB为单位被行扫描。图像编码装 置200选择与作为编码目标的4X4块的上邻和左邻的4X4块中被执行可变长度编码的编 码值(非零系数的数目nA和nB)的平均值相对应的可变长度(VLC)表格。在作为编码目 标的4X4块在MB的上端的情况中,图像编码装置200将上邻的4X4块的非零系数的数目 nA与左邻的4X 4块的非零系数的数目nB视为相等,从而以简易方式对输入图像91进行编 码(简化处理)。 当对输入图像91进行编码(普通处理)时,图像编码装置200选择与作为编码目 标的4X4块的上邻和左邻的4X4块中被执行可变长度编码的非零系数的数目nA和nB的 平均值相对应的VLC表格,而不论4 X 4块在MB中的位置如何。 因此,在图像编码装置200中,可以在简化代码长度计算单元29中省略用于存储 一行的MB下端处的4X4块的非零系数的数目nB的行存储器,使得可以简化简化代码长度 计算单元29的配置。 图像编码装置200以比主编码更简易的方式通过由简化量化单元28执行的简化 量化来对输入图像91进行编码。S卩,图像编码装置200存储根据4X4块中的位置(DCT地 址)和量化参数QP的组合的第一乘法系数(縮放因子MF),基于4X4块中的位置来指定根 据所有量化参数QP可获得的縮放因子MF,并且输出所指定的縮放因子MF。图像编码装置 200从数目与多个编码目标数据项(DCT系数)的数目相同、被并行设置的多个输出縮放因 子MF中选择与所要使用的量化参数QP相对应的縮放因子MF。图像编码装置200将4X4 块的值乘以数目与多个编码目标数据项(DCT系数)的数目相同、被并行设置的所选择的縮 放因子MF。图像编码装置200将数目与多个编码目标数据项(DCT系数)的数目相同、被并 行设置的4X4块的被乘值向右移位与量化参数QP相对应的位数。 因此,在图像编码装置200中,可以共享简化量化单元28(共享单元28)的一部 分,使得可以简化简化量化单元28的配置。 图像编码装置200存储根据量化矩阵Q Matrix和4X4块中的位置的组合的用 作第二乘法系数的量化矩阵Q Matrix的倒数值,基于4X4块中的位置(DCT地址)来指定根据所有量化矩阵Q Matrix可获得的量化矩阵QMatrix的倒数值,并且输出量化矩阵QMatrix的倒数值。在输出的量化矩阵Q Matrix的倒数值中,图像编码装置200根据所要使用的量化矩阵QMatrix来选择量化矩阵Q Matrix的倒数值。 因此,图像编码装置200相比于存储乘法系数(MF*16/QMatrix)的情况可以减少组合的数目,并且可以减少縮放因子RAM 102和1/MatrixRAM 103必要的存储容量。
图像编码装置200基于校正后的基于接近预测量化参数QPd的量化参数QP的高精度生成代码量GeneratecLbits(QP—precodel+l,-l)与由熵代码长度计算单元42计算出的基于预测量化参数QPd的高精度生成代码量Generated_bits (QP_precodel)之间的变动比DiffrRatio,来计算基于除了预测量化参数QPd以及接近预测量化参数QPd的量化参数QP之外的量化参数QP的高精度生成代码量Generated_bits (QP)。 因此,图像编码装置200也可以针对不被第二预编码单元2执行实际编码的量化参数QP来以高精度计算高精度生成代码量GeneratecLbits (QP)。 图像编码装置200确定以下代码量中与最接近目标代码量的生成代码量相对应的量化参数QP来作为基本量化参数QP b :基于预测量化参数QPd的高精度生成代码量Generated_bits (QP_precodel)、校正后的基于接近预测量化参数QPd的量化参数QP的生成代码量Generated_bits (QP—precodel+l,-l)、以及基于除了预测量化参数QPd以及接近预测量化参数QPd的量化参数QP以外的量化参数QP的生成代码量Generated_bits (QP)。
因此,图像编码装置200可以基于以高精度计算出的高精度生成代码量来确定基本量化参数QP b,因此可以选择适当的基本量化参数QP b。 图像编码装置200基于基本量化参数QPM来对输入图像91执行主编码。 因此,图像编码装置200可以基于基本量化参数QPM来执行主编码,使得主编码的
生成代码量可以受控制而与目标代码量接近。 根据上述配置,图像编码装置200使用与主编码相同的普通处理、基于预测量化参数QPd来对输入图像91进行编码,同时基于预测量化参数QPd以及接近预测量化参数QPd的量化参数QP以简易方式对输入图像91进行编码(简化处理)。图像编码装置200计算基于预测量化参数QPd、通过普通处理获得的高精度生成代码量与基于预测量化参数QPd、通过简化处理获得的高精度生成代码量之间的代码量之比R—reduction。图像编码装置200利用了这样的特征在接近预测量化参数QPd的量化参数QP中,普通处理中的生成代码量与简化处理中的生成代码量之间的代码量之比基本不变。图像编码装置200基于代码量之比R_reduCtion和基于接近预测量化参数QPd的量化参数QP、通过简化处理获得的生成代码量来计算基于接近预测量化参数QPd的量化参数QP的高精度生成代码量。
因此,图像编码装置200可以仅对预测量化参数QPd执行与主编码相同的编码,并且可以对接近预测量化参数QPd的量化参数QP执行简化编码。因此,本发明可以实现能简化电路配置的图像处理装置和图像处理方法。
〈3.其它实施例> 因此,在上述第一实施例中,已经描述了使用对基于帧内预测的差分图像数据执行作为正交变换的DCT处理并进一步执行量化获得的量化系数作为编码目标数据的情况。本发明不限于此。例如,输入图像91可以用作编码目标数据。作为输入图像91,可以使用被执行帧内预测、正交变换和量化中的任一种或两种的数据,此外还可以使用被执行其它
27处理的数据。当然,小波变换等可以用作正交变换。 并且,在上述第一和第二实施例中,已经描述了 4X4块被用来作为用作编码目标的编码块的情况。本发明不限于此。例如,可以使用诸如8X8块或2X2块之类的其它单位作为编码块。 此外,在上述第一和第二实施例中,已经描述了非零系数的数目被用作编码值的情况。本发明不限于此。例如,诸如连零的数目之类的根据编码方法的各种值都可以用作编码值。 此外,在上述第一和第二实施例中,已经描述了 nC = nA+nB被用作编码值的平均值的情况。本发明不限于此,并且可以使用nC = nA+nB+l作为编码值的平均值,以便利计算中的舍入。 此外,在上述第一和第二实施例中,已经描述了本发明被应用于第一预编码单元1中用于计算低精度生成代码量的简化编码的情况。本发明不限于此。例如,本发明可以适用于在第二预编码单元2中计算高精度生成代码量。当然,在主编码单元3中的使用也是可接受的。并且,本发明可以适用于具有除了包括第一预编码单元1、第二预编码单元2和主编码单元3的图像编码装置100以外的图像编码装置。 此外,在上述第一和第二实施例中,已经描述了提供具有图4中所示的配置(具有共享单元)的量化单元14和CAVLC计算单元15的情况。本发明不限于此,并且可以提供具有其它各种配置的量化单元14和CAVLC计算单元15。 此外,在上述第一和第二实施例中,已经描述了縮放因子MF和量化矩阵Q Matrix的倒数被分开存储在CAVLC共享计算单元150中的情况。本发明不限于此,并且通过将縮放因子MF乘以量化矩阵Q Matrix的倒数计算出的值可以被存储作为乘法系数。在这种情况中,根据DCT地址可获得的所有乘法系数被输出,并且选择单元根据量化参数QP和量化矩阵来选择乘法系数。 此外,在上述第一和第二实施例中,已经描述了提供具有10级配置的减法器108至117来替代除法器的情况。本发明不限于此。减法器的数目并不受具体限制,并且也可以使用除法器。 此外,在上述第一和第二实施例中,已经描述了仅低频侧的一半DCT系数被除以縮放因子MF的情况。本发明不限于此。例如,可以使用低频侧的DCT系数的l/3或2/3(前半扫描部分)作为前半部分。 此外,在上述第二实施例中,已经描述了 4X4块被用作量化单位的情况。本发明不限于此。例如,诸如8X8和16X16的各种块大小可以用作量化单位。
此外,在上述第一和第二实施例中,已经描述了本发明被应用于AVC的情况。本发明不限于此,并且本发明可以适用于各种用于自适应地选择VLC表格的编码方法。例如,在本发明被应用于MPEG-2的情况中,量化比例被用作量化因子。 此外,在上述第一和第二实施例中,已经描述了每个图片的生成代码量被抑制到目标代码量内的情况。本发明不限于此。例如,每个切片(slice)的生成代码量可以被抑制到目标代码量内。 此外,在上述第一和第二实施例中,已经描述了用作图像处理装置的图像编码装置100由用作可变长度表格选择单元和可变长度编码单元的TotalCoefLength比特长度ROM 207构成的情况。本发明不限于此。本发明的图像处理装置可以由具有其它配置的可变长度表格选择单元和可变长度编码单元构成。 此外,在上述第二实施例中,已经描述了由第二预编码单元2计算基于预测量化参数QPd前后的量化参数QP (作为接近预测量化参数QPd的量化参数)的生成代码量的情况。本发明不限于此。例如,可以计算基于预测量化参数前后的第二量化参数的生成代码 此外,在上述第二实施例中,已经描述了根据基于预测量化参数QPd以及预测量化参数QPd前后的量化参数QP的生成代码量的变动比来计算还未被计算生成代码量的量化参数QP的高精度生成代码量的情况。本发明不限于此。例如,量化单元28-l和28-n以及CAVLC计算单元29-1和28-n可以具有4级或更多级的配置,并且接近预测量化参数QPd的高精度生成代码量可以基于通过简化编码获得的生成代码量和代码量之比ILreduction来计算。 此外,在上述第二实施例中,已经描述了第二预编码单元2包括用于执行简化处理的简化量化单元28和简化代码长度计算单元29的情况。本发明不限于此,并且第二预编码单元2可以包括它们中的至少一个。并且,在本发明中,可以执行有关CAVLC的简化处理和有关CABAC的简化处理中的任一者。 此外,在上述第一和第二实施例中,已经描述了与最接近目标生成代码量的高精度生成代码量相对应的量化参数QP被确定为基本量化参数QPMB的情况。本发明不限于此。例如,与小于目标生成代码量的高精度生成代码量中、最接近目标生成代码量的高精度生成代码量相对应的量化参数QP可以被确定为基本量化参数QPmb。 此外,在上述第二实施例中,已经描述了这种情况用作图像处理装置的图像编码装置200由以下单元构成用作预测量化因子确定单元的第一预编码单元1和代码量控制单元4、用作简化编码单元的简化量化单元28和简化代码长度计算单元29、用作编码单元的量化单元41和熵代码长度计算单元42、以及用作代码量之比计算单元和校正单元的代码量控制单元4。本发明不限于此,并且本发明的图像处理装置可以由具有其它不同配置的预测量化因子确定单元、简化编码单元、编码单元、代码量计算单元和校正单元构成。
权利要求
一种图像处理装置,包括预测量化因子确定单元,所述预测量化因子确定单元被配置为确定预测量化因子,所述预测量化因子被预测为接近基本量化因子,所述基本量化因子被预测为使得通过对输入图像进行编码获得的生成代码量最接近目标代码量;简化编码单元,所述简化编码单元被配置为基于所述预测量化因子和接近所述预测量化因子的量化因子来以比所述编码更简易的方式对所述输入图像进行编码,从而计算出通过简化编码获得的生成代码量;编码单元,所述编码单元被配置为基于所述预测量化因子来对所述输入图像进行编码,从而计算出通过编码获得的生成代码量;代码量之比计算单元,所述代码量之比计算单元被配置为计算由所述编码单元计算出并基于所述预测量化因子的生成代码量与由所述简化编码单元计算出并基于所述预测量化因子的生成代码量的代码量之比;以及校正单元,所述校正单元被配置为将由所述简化编码单元计算出并基于接近所述预测量化因子的量化因子的生成代码量乘以所述代码量之比,从而校正基于接近所述预测量化因子的量化因子的生成代码量。
2. 根据权利要求l所述的图像处理装置,其中,所述简化编码单元通过执行可变长度编码来以比所述编码更简易的方式对所述输入图像进行编码,并且其中,所述编码单元通过使用算术编码来对所述输入图像进行编码。
3. 根据权利要求l所述的图像处理装置,其中,所述简化编码单元通过使用简化可变长度编码来以比所述编码更简易的方式对所述输入图像进行编码。
4. 根据权利要求l所述的图像处理装置,其中,所述简化编码单元通过使用简化量化来以比所述编码更简易的方式对所述输入图像进行编码。
5. 根据权利要求3所述的图像处理装置,其中,所述输入图像在以每一个由多个像素构成的编码块为单位被扫描的同时以每一个由多个编码块构成的扫描块为单位被行扫描,并且当选择与基于输入图像的编码目标数据中作为编码目标的编码块的上邻和左邻的编码块中被执行可变长度编码的编码值的平均值相对应的可变长度表格时,所述简化编码单元在作为所述编码目标的编码块在扫描块的上端的情况中,将上邻的编码块的编码值视为与左邻的编码块的编码值相等,从而以比所述编码更简易的方式来对所述输入图像进行编码,并且其中,所述编码单元选择与作为编码目标的编码块的上邻和左邻的编码块中被执行可变长度编码的编码值的平均值相对应的可变长度表格,而不论所述编码块在所述扫描块中的位置如何。
6. 根据权利要求4所述的图像处理装置,其中,所述简化编码单元包括乘法系数提供单元,所述乘法系数提供单元被配置为存储与编码块中的位置和量化因子的组合相对应的乘法系数,基于所述编码块中的位置来指定根据所有所述量化因子可获 得的乘法系数,并且输出所指定的乘法系数,多个乘法系数选择单元,所述多个乘法系数选择单元被配置为从由所述乘法系数提供 单元输出的乘法系数中选择与所要使用的量化因子相对应的乘法系数,所述多个乘法系数 选择单元被并行设置并且其数目与多个编码目标数据项的数目相同,多个乘法单元,所述多个乘法单元被配置为将由所述乘法系数选择单元选择的乘法系 数乘以所述编码块的值,所述多个乘法单元被并行设置并且其数目与所述多个编码目标数 据项的数目相同,以及多个移位单元,所述多个移位单元被配置为将由所述乘法单元进行相乘后的编码块的 值向右移位与所述量化因子相对应的位数,所述多个移位单元被并行设置并且其数目与所 述多个编码目标数据项的数目相同,其中,所述乘法系数提供单元包括第一乘法系数提供单元,所述第一乘法系数提供单元被配置为存储与所述量化因子和 所述编码块中的位置的组合相对应的第一乘法系数,基于所述编码块中的位置来指定根据 所有所述量化参数可获得的第一乘法系数,并且输出所指定的第一乘法系数,以及第二乘法系数提供单元,所述第二乘法系数提供单元被配置为存储与量化矩阵和所述 编码块中的位置的组合相对应的第二乘法系数,基于所述编码块中的位置来指定根据所有 所述量化矩阵可获得的第二乘法系数,并且输出所指定的第二乘法系数,并且其中,所述乘法系数选择单元包括第一乘法系数选择单元,所述第一乘法系数选择单元被配置为从由所述第一乘法系数 提供单元输出的第一乘法系数中选择与所要使用的量化参数相对应的乘法系数,以及第二乘法系数选择单元,所述第二乘法系数选择单元被配置为从由所述第二乘法系数 提供单元输出的第二乘法系数中选择与所要使用的量化矩阵相对应的乘法系数。
7. 根据权利要求1所述的图像处理装置,还包括计算单元,所述计算单元被配置为基于由所述校正单元校正并基于接近所述预测量化 因子的量化因子的生成代码量与由所述编码单元计算出并基于所述预测量化因子的生成 代码量的变动比,来计算基于除了所述预测量化因子以及接近所述预测量化因子的量化因 子以外的量化因子的生成代码量。
8. 根据权利要求6所述的图像处理装置,还包括基本量化因子确定单元,所述基本量化因子确定单元被配置为从以下代码量中确定与 最接近所述目标代码量的生成代码量相对应的量化因子作为所述基本量化因子由所述编 码单元计算出并基于所述预测量化因子的生成代码量、由所述校正单元校正并基于接近所 述预测量化因子的量化因子的生成代码量、以及由所述计算单元计算出并基于除了所述预 测量化因子以及接近所述预测量化因子的量化因子以外的量化因子的生成代码量。
9. 根据权利要求7所述的图像处理装置,还包括主编码单元,所述主编码单元被配置为基于由所述基本量化因子确定单元确定的基本 量化因子来对所述输入图像执行主编码。
10. —种图像处理方法,包括预测量化因子确定步骤,用于确定预测量化因子,所述预测量化因子被预测为接近基本量化因子,所述基本量化因子被预测为使得通过对输入图像进行编码获得的生成代码量 最接近目标代码量;简化编码步骤,用于基于所述预测量化因子和接近所述预测量化因子的量化因子来以 比所述编码更简易的方式对所述输入图像进行编码,从而计算出通过简化编码获得的生成 代码量;编码步骤,用于基于所述预测量化因子来对所述输入图像进行编码,从而计算出通过 编码获得的生成代码量;代码量之比计算步骤,用于计算在所述编码步骤中计算出并基于所述预测量化因子的 生成代码量与在所述简化编码步骤中计算出并基于所述预测量化因子的生成代码量的代 码量之比;以及校正步骤,用于将所述简化编码步骤中计算出并基于接近所述预测量化因子的量化因 子的生成代码量乘以所述代码量之比,从而校正基于接近所述预测量化因子的量化因子的 生成代码量。
全文摘要
本发明能够实现能简化电路配置的图像处理装置和图像处理方法。图像编码装置(200)在基于预测量化参数(QPd)和接近预测量化参数(QPd)的量化参数(QP)以简易方式对输入图像(91)进行编码(简化处理)的同时,基于预测量化参数(QPd)以与主编码相同的普通处理对输入图像(91)进行编码。图像编码装置(200)计算基于预测量化参数(QPd)、通过普通处理获得的高精度生成代码量与基于预测量化参数(QPd)、通过简化处理获得的生成代码量之间的代码量之比R_reduction。图像编码装置(200)基于代码量之比R_reduction和基于接近预测量化参数(QPd)的量化参数(QP)、通过简化处理获得的生成代码量,来计算基于接近预测量化参数(QPd)的量化参数(QP)的高精度生成代码量。
文档编号H04N7/26GK101779467SQ200980100146
公开日2010年7月14日 申请日期2009年6月23日 优先权日2008年6月27日
发明者柴田正二郎, 渕江孝明, 高桥加洲 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1