图像编码设备和图像编码方法

文档序号:7754920阅读:198来源:国知局
专利名称:图像编码设备和图像编码方法
技术领域
本发明涉及图像编码设备和图像编码方法,并且更具体地,其使得针对每个图片 执行生成代码量的分配而减小图像质量的波动。
背景技术
迄今为止,利用诸如MPEG2 (运动图像专家组2)等之类的图像编码方法,维持主观 的图像质量以理想地分配代码量是一个大问题。例如,静止图像的理想代码量分配是一种均勻地对失真进行编码(通过固定的量 化位阶(quantized scale))的状态。当到达使得这种失真变得较大的代码量时,可以通过 朝向高频分量或复杂部分偏置失真来提高主观图像质量。现在,例如,在国际公布W096/28937中,公开了一种图像信号编码方法,其中,可 以通过采用根据前馈方法(feed forward mehtod)的代码量控制来使得控制适合于图像质 量信号的局部性质,从而提高经解码图像的图像质量。前馈方法用于通过针对多个量化位 阶以相等长度的递增量来计算要生成的代码量,从而在生成代码量不超过目标生成代码量 的范围内确定合适的量化位阶。另一方面,在被提出作为利用MPEG2的测试模型的诸如TM5之类的代码量控制等 中,通过利用虚拟缓冲器的剩余量、先前编码时的量化索引(quantization index)以及生 成代码量之间的关系来执行反馈控制,从而执行代码量控制。

发明内容
顺便提及,在执行编码以使得所生成的1G0P(图片组)的代码量变为例如所希望 代码量的情况中,维持主观图像质量以便针对IGOP内的每个图片理想地分配代码量是很 重要的。特别地,在针对连续图像执行代码量分配同时考虑到配音(dubbing)的情况中,必 须在一定程度上抑制图片之间的图像质量的波动。在场景改变、闪现(flash)等的图像中, 如果不根据其执行代码量的分配,则每个图片的图像质量波动以及由于该波动导致的闪烁 (flicker)将变得明显。例如,如果将较少代码量指派给场景改变之后的第一图片,则场景 改变之后的第一图片的图像质量与场景改变之前相比显著降低。此外,要显示的图像将由 于图像质量的这种降低而看起来像闪烁图像。此外,如果重复配音,则图像质量的波动变大 并且图像质量可能显著降低。已发现希望提供使得可以针对每个图片执行代码量的分配以减小图像质量波动 的图像编码设备和图像编码方法。本发明的一个实施例是图像编码设备,该设备包括第一编码单元,被配置为执行 对在利用固定量化参数执行图像数据的编码时的生成代码量的计算,并且对用于执行时间 方向的预测的图片执行关于宏块是用于执行时间预测的块还是用于执行空间预测的块的 块区分(block distinction);代码量控制单元,被配置为基于第一编码单元处的块区分结 果,根据用于执行时间方向的预测的图片的用于执行时间预测的块与用于执行空间预测的
4块之间的比例,来设置量化参数的偏移量,以使得大的代码量被指派给包括的被参考的图 像多的图片,并且基于在第一编码单元处计算出的生成代码量来确定量化参数,以使得在 利用被偏移了该偏移量的量化参数执行编码时的生成代码量实现目标生成代码量;以及第 二编码单元,被配置为利用用于实现目标生成代码量的经偏移的量化参数来对图像数据执 行编码。利用上面的配置,根据第一编码单元,对利用固定量化参数执行图像数据的编码 时的生成代码量的计算,以及对用于执行时间方向的预测的图片执行关于宏块是用于执行 时间预测的块还是用于执行空间预测的块的块区分,利用固定量化参数被执行。利用代码 量控制单元,当用于执行空间预测的块的数目与用于执行时间预测的块的数目的比例等于 或小于第一阈值时,偏移量被设置以减少将被指派给该图片的代码量。此外,当用于执行空 间预测的块的数目与用于执行时间预测的块的数目的比例等于或大于比第一阈值大的第 二阈值时,偏移量被设为比比例等于或小于第一阈值时的偏移量小。此外,利用代码量控制 单元,基于在第一编码单元处计算出的生成代码量来确定量化参数,以使得在利用被偏移 了所设置偏移量的量化参数执行编码时的生成代码量实现目标生成代码量。利用第二编码 单元,利用用于实现目标生成代码量的经偏移的量化参数来对图像数据执行编码。此外,设 置了第三编码单元,其以该图像数据作为帧内图片的图像数据,利用多个不同量化参数来 针对量化参数中的每个量化参数执行编码,以计算生成代码量。代码量控制单元基于在第 一编码单元处计算出的生成代码量执行对使用用于实现目标生成代码量的量化参数时的 生成代码量以及经偏移量化参数的预测,根据在第三编码单元处计算出的生成代码量来校 正该预测出的生成代码量,并且确定量化参数以使得校正之后与1G0P(图片组)相当的生 成代码量实现了目标生成代码量。此外,偏移量的上限根据用于实现目标生成代码量的量 化参数来设置。本发明的另一实施例是图像编码方法,该方法包括以下步骤通过第一编码单元 计算利用固定量化参数执行图像数据的编码时的生成代码量;通过第一编码单元对用于执 行时间方向的预测的图片执行关于宏块是用于执行时间预测的块还是用于执行空间预测 的块的块区分;通过代码量控制单元,基于第一编码单元处的块区分结果,根据用于执行时 间方向的预测的图片的用于执行时间预测的块与用于对执行空间预测的块之间的比例,来 设置量化参数的偏移量,以使得大的代码量被指派给所包括的将被参考的图像多的图片; 通过代码量控制单元,基于在第一编码单元处计算出的生成代码量来确定量化参数,以使 得在利用被偏移了该偏移量的量化参数执行编码时的生成代码量实现目标生成代码量;以 及通过第二编码单元利用用于实现目标生成代码量的经偏移的量化参数来对图像数据编 码。利用上面的配置,根据第一编码单元,对利用固定量化参数执行图像数据的编码 时的生成代码量的计算,以及对用于执行时间方向的预测的图片的关于宏块是用于执行时 间预测的块还是用于执行空间预测的块的块区分,利用固定量化参数被执行。通过代码量 控制单元,基于第一编码单元处的块区分结果,量化参数的偏移量被设置为使得大的代码 量被指派给所包括的将被参考的图像多的图片,并且基于在第一编码单元处计算出的生成 代码量来确定量化参数以使得利用被偏移了该偏移量的量化参数执行编码时的生成代码 量实现了目标生成代码量。通过第二编码单元,对图像数据的编码利用用于实现目标生成代码量的经偏移量化参数来执行。因此,可以针对每个图片执行代码量的分配以减小图像 质量的波动。


图1是图示出图像编码设备的配置的示图2A至2C是图示出量化矩阵的示图3是图示出图像编码设备的操作的流程图4是图示出基本量化参数确定处理的流程图5是描述用于计算量化参数和生成代码量的处理的示图6是描述用于计算量化参数和生成代码量的处理的示图7是图示出用于计算与IGOP相当的生成代码量的处理的流程图
图8是图示出量化参数偏移量设置处理的流程图9是图示出I图片的生成代码量计算处理的流程图10是图示出第二生成代码量检测处理的流程图11是图示出高频分量成本(cost)计算操作的流程图12是图示出内预编码处理的处理结果的示图;以及
图13是图示出非I图片的生成代码量计算处理的流程图。
具体实施例方式下面将描述实现本发明的实施例。在本发明中,生成代码量通过预编码单元来计 算,该预编码单元用作利用固定量化参数对图像数据执行预编码处理的第一编码单元。此 外,根据该预编码单元,针对用于执行时间方向的预测的图片,来执行关于宏块是用于执行 时间预测的块还是用于执行空间预测的块的块区分。代码量控制单元基于预编码单元处的 块区分结果,来对用于执行时间方向的预测的图片计算用于执行时间预测的块与用于执行 空间预测的块之间的比率。此外,代码量控制单元设置量化参数的偏移量,以使大的代码量 被指派给所包括的要被参考的图像多的图片。此外,代码量控制单元基于在预编码单元处 生成的代码量来确定量化参数,以使得在利用被偏移了该偏移量的量化参数执行编码时所 生成的代码量实现了目标生成代码量。用作第二编码单元的主编码单元利用作为被偏移了 所设置偏移量的所确定量化参数来对图像数据执行编码。这样的操作被执行,从而使得编 码处理将被执行,在其中生成代码量等于或少于目标生成代码量并且图像波动较小。注意, 将根据下面的顺序进行描述。1.图像编码设备的配置2.图像编码设备的操作1.图像编码设备的配置图1图示出了根据本发明实施例的图像编码设备的配置。图像编码设备10包括 重排列处理单元11、预编码单元20、内预编码单元30、代码量控制单元40、延迟缓冲器50 以及主编码单元60。预编码单元20包括预测模式确定单元21、DCT (离散余弦变换)22、量化单元23、 逆量化单元24、IDCT (逆离散余弦变换)单元25、预测图像生成单元26以及码长计算单元
627。内预编码单元30包括画面内预测处理单元31、DCT单元32、量化单元33、逆量化 单元34、IDCT单元35、内预测图像生成单元36以及码长计算单元37。此外,量化单元33由 多级量化单元33-1至33-n构成,并且码长计算单元37由多级码长计算单元37_1至37_n 构成。主编码单元60包括预测处理单元61、DCT单元62、量化单元63、逆量化单元64、 IDCT单元65、预测图像生成单元66以及可变长度编码单元67。通过这样的配置,重排列处理单元11例如根据GOP (图片组)配置,来将输入图像 的图像数据在图片顺序方面从显示顺序重排列为编码顺序。然后,重排列处理单元11将对 编码顺序进行了重排列的图像数据输出给预编码单元20、内预编码单元30和延迟缓冲器 50。用作第一编码单元的预编码单元20在已利用固定量化参数执行了图像数据的编 码时执行对生成代码量的计算,并且将计算出的生成代码量输出给代码量控制单元40。预 编码单元20的预测模式确定单元21利用输入图像的图像数据以及在后面将描述的预测图 像生成单元26处生成的预测图像数据来确定用于每个宏块的预测模式。此外,预测模式确 定单元21使用所确定预测模式的预测图像数据,来将指示相对于输入图像的图像数据的 误差的差分图像数据输出给DCT单元22。DCT单元22对差分图像数据执行离散余弦变换以生成DCT系数,并且将其输出给 量化单元23。量化单元23利用固定量化参数QP (ρ)来对DCT系数执行量化,并将所生成的量化 数据输出给逆量化单元24和码长计算单元27。逆量化单元24对量化数据执行逆量化以生成DCT系数,并将其输出给IDCT单元 25。IDCT单元25对从逆量化单元24提供来的DCT系数执行逆离散余弦变换,以生成 差分图像数据,并且将其输出给预测图像生成单元26。预测图像生成单元26利用差分图像数据生成局部解码图像的图像数据。此外,预 测图像生成单元26利用输入图像的图像数据来以宏块为单位递增地执行当前帧与时间上 相邻的下一帧之间的运动估计。此外,预测图像生成单元26基于运动估计结果对局部解码 图像执行运动补偿,以从局部解码图像生成预测图像数据,并且将其输出给预测模式确定 单元21。码长计算单元27利用基于上下文的自适应变长编码(CAVLC)方法或基于上下文 的自适应二进制算术编码(CABAC)方法来对量化数据执行编码,计算每个宏块的生成代码 量,并且将其输出给代码量控制单元40。CAVLC方法是比CABAC方法简单的方法,并且CABAC方法是一种使得数据量相比 于CAVLC方法被减少的方法。现在,将描述在预编码单元20处采用可变长度编码方法以简 化处理并且在主编码单元60处采用算术编码方法以减少数据量的情况。通过可变长度编 码,某个区域的信息被有效地编码,并且通过算术编码,区域可在不被标识的情况下被有效 地编码。因此,当从可变长度编码预测算术编码的代码量时,可能产生极大误差。然而,与 常见可变长度编码相比,CAVLC可以通过自适应地改变上下文来有效地对区域编码而不用标识该区域。因此,减少了误差,并且通过根据CAVLC方法的编码,可以估计出采用CABAC 方法时的生成代码量。相应地,也可以通过在码长计算单元27处采用CAVLC方法来估计出 采用CABAC方法的主编码单元60处的生成代码量。注意,码长计算单元27还可以通过采 用CAVLC方法来抑制电路规模。用作第三编码单元的内预编码单元30利用多个不同量化参数对作为I图片的所 有图像数据执行编码,并且针对每个量化参数计算生成代码量以将其输出给代码量控制单 元40。内预编码单元30的画面内预测处理单元31生成指示输入图像的图像数据与在内预 测图像生成单元36处生成的预测图像数据之间的误差的差分图像数据,以将其输出给DCT 单元32。DCT单元32对差分图像数据执行离散余弦变换以生成DCT系数,并将其输出给量 化单元33。量化单元33由多级构成,例如量化单元33-1至33_9的九级。量化单元33_1至 33-9根据通过组合三个不同量化参数QP(iO)、QP(il)和QP(i2)与三个不同量化矩阵QMF、 QMN和QMS得到的九种条件来执行量化。量化单元33-1至33_9将通过对DCT系数执行量化 获得的量化数据输出给码长计算单元37。此外,量化单元33选择在量化单元33-1至33-9 处生成的量化数据之一,经将其输出给逆量化单元34。图2A至2C例示出了量化矩阵QMF、QMN和QMS。图2A图示出了量化矩阵QMF。在 量化矩阵QMF中,所有矩阵值为相等的值。即是说,量化矩阵QMF是具有平坦特性(flat property)的量化矩阵。图2B图示出了量化矩阵QMN。在量化矩阵QMN中,高频分量的矩 阵值大于低频分量的矩阵值。即是说,量化矩阵QMN是具有一般特性的量化矩阵,在该一般 特性中,高频分量的减少被执行。图2C图示出了量化矩阵QMS。在量化矩阵QMS中,高频分 量的矩阵值是比量化矩阵QMN更大的值。即是说,量化矩阵QMS是具有如下特性的量化矩 阵其中,与量化矩阵QMN相比,加强了高频分量的减少。逆量化单元34对从量化单元33提供来的量化数据执行逆量化,以生成DCT系数 数据,并将其输出给IDCT单元35。IDCT单元35对从逆量化单元34提供来的DCT系数数据执行逆离散余弦变换,以 生成差分图像数据,并将其输出给内预测图像生成单元36。内预测图像生成单元36使用差分图像数据来生成局部解码图像的图像数据。此 外,内预测图像生成单元36将局部解码图像的图像数据作为预测图像数据输出给画面内 预测处理单元31。码长计算单元37由多级构成,例如由与量化单元33相对应的码长计算单元37_1 至37-9的九级构成。码长计算单元37-1至37-9利用与预编码单元20的码长计算单元27 相同的方法执行编码,以计算每个宏块的生成代码量,并将其输出给代码量控制单元40。代码量控制单元40根据比特速率与GOP配置之间的关系来确定将指派给1 GOP 的目标生成代码量。代码量控制单元40预测用于实现目标生成代码量的量化参数,并且基 于在预编码单元20处计算出的与1 GOP相当的生成代码量来预测当采用此量化参数时的 生成代码量。即是说,代码量控制单元40预测使得1 GOP的生成代码量等于或少于目标生 成代码量并且最接近于目标生成代码量的量化参数,并且预测当采用这种量化参数时的生 成代码量。此外,代码量控制单元40基于在内预编码单元30处计算出的生成代码量,预测利用了所预测出的量化参数的生成代码量。此外,代码量控制单元40根据该预测出的生成 代码量来确定用于实现目标生成代码量的量化参数,以将其输出给主编码单元60。注意,在 下面的描述中,将用于实现目标生成代码量的量化参数称为基本量化参数。此外,针对用于执行时间方向的预测的图片,代码量控制单元40计算用于执行时 间预测的宏块与用于执行空间预测的宏块之间的比率。代码量控制单元40根据计算出的 比率来偏移量化参数以便将大的代码量指派给所包括的将被参考的图像多的图片。具体 地,对于用于执行时间方向的预测的宏块的比例较高的图片,量化参数被偏移以通过增加 分配给该图片参考的图片的代码量来减小图像质量的恶化。此外,对于用于执行空间方向 的预测的宏块的比例较高的图片,量化参数被偏移以便通过减少分配给该图片的代码量来 减小图像质量的恶化。此外,代码量控制单元40确定量化参数,以使得利用经偏移的量化 参数执行编码时的生成代码量实现目标生成代码量,并将用于实现该目标生成代码量的该 经偏移量化参数作为基本量化参数输出给主编码单元60。延迟缓冲器50将输入图像的图像数据延迟用于在代码量控制单元40处确定基本 量化参数的处理的时间,并将经延迟的图像数据输出给主编码单元60。用作第二编码单元的主编码单元60利用在代码量控制单元40处确定的基本量化 参数来执行对图像数据的编码。主编码单元60的预测处理单元61根据由预编码单元20 的预测模式确定单元21确定的图片类型来选择预测图像数据。此外,预测处理单元61生 成指示所选预测图像数据与在延迟缓冲器50处被延迟的输入图像的图像数据之间的误差 的差异图像,并且将其输出给DCT单元62。DCT单元62对差分图像数据执行离散余弦变换以生成DCT系数,并将其输出给量 化单元63。量化单元63使用在代码量控制单元40处确定的量化参数,来对DCT系数执行量 化,并将量化数据输出给逆量化单元64和可变长度编码单元67。逆量化单元64对量化数据执行逆量化以生成DCT系数,并将其输出给IDCT单元 65。IDCT单元65对从逆量化单元64提供来的DCT系数执行逆离散余弦变换,以生成 差分图像数据,并将其输出给预测图像生成单元66。预测图像生成单元66使用差分图像数据来生成局部解码图像的图像数据。此外, 预测图像生成单元66使用来自延迟缓冲器50的图像数据来以宏块为递增单位,执行当前 帧与下一时间上相邻的帧之间的运动估计。此外,预测图像生成单元66基于运动估计结果 来对局部解码图像执行运动补偿以生成预测图像,并将其输出给预测处理单元61。可变长度编码单元67通过CAVLC方法或CABAC方法来对量化数据执行编码以生 成编码流,并输出这些编码流。可变长度编码单元67为了减少数据量例如利用CABAC方法 对量化数据执行编码,以生成编码流。2.图像编码设备的操作接下来,将描述图像编码设备的操作。图3是图示出图像编码设备的操作的流程 图。在步骤ST1,图像编码设备10执行图片类型的确定以及图像重排列。图像编码设 备10例如根据GOP(图片组)配置来确定输入图像的图片类型。此外,图像编码设备10在 图像重排列处理单元11处将输入图像的图像数据从显示顺序重排列为编码顺序,并且前
9进到步骤ST2。在步骤ST2,图像编码设备10执行预编码处理。图像编码设备10在预编码单元 20处利用所确定的图片类型来对输入图像的图像数据编码以计算生成代码量,并且前进到 步骤ST3。在步骤ST3,图像编码设备10辨别生成代码量是否达到了相当于IGOP的量。如果 在预编码单元20处计算出的生成代码量已经达到了相当于IGOP的量,则图像编码设备10 前进到步骤ST6,并且如果生成代码量未达到相当于IGOP的量,则返回步骤ST2。在步骤ST4,图像编码设备10执行内预编码处理。图像编码设备10在内预编码单 元30处将输入图像的图像数据编码为I图片以计算生成代码量,并且前进到步骤ST5。此 外,图像编码设备10在内预编码处理中利用多个不同量化参数和多个不同量化矩阵来并 行地执行编码,以计算生成代码量。在步骤ST5,图像编码设备10辨别生成代码量是否达到了相当于IGOP的量。如果 在内预编码单元30处计算出的生成代码量已经达到了相当于IGOP的量,则图像编码设备 10前进到步骤ST6。此外,如果生成代码量未达到相当于IGOP的量,则图像编码设备10返 回步骤ST4。在步骤ST6,图像编码设备10执行将在主编码处理中使用的基本量化参数确定处 理。图像编码设备10在代码量控制单元40处从通过执行预编码处理获得的生成代码量以 及通过执行内预编码处理获得的生成代码量中来确定将用于主编码处理的基本量化参数。在步骤ST7,图像编码设备10执行主编码处理。图像编码设备10使用在步骤ST6 确定的基本量化参数来在主编码单元60处对输入图像的图像数据编码。接下来,描述将用于主编码处理的基本量化参数确定处理。在基本量化参数确定 处理中,基于在预编码单元20处计算出的生成代码量来预测用于实现目标生成代码量的 量化参数以及采用该量化参数时的生成代码量。此外,根据在内预编码单元30处计算出的 生成代码量来校正该预测出的生成代码量。当目标生成代码量未被与IGOP相当的经校正 生成代码量实现时,则通过改变预测出的量化参数的参数值来执行生成代码量的预测及其 校正。当目标生成代码量被与IGOP相当的经校正生成代码量实现时,将此时的量化参数当 作基本量化参数。图4例示出了图示出将用于主编码处理的基本量化参数确定处理的流程图。在步 骤STl 1,代码量控制单元40执行量化参数的预测。代码量控制单元40基于在预编码单元 20处计算出的生成代码量来预测用于实现目标生成代码量的量化参数,并且前进到步骤 ST12。图5和图6是描述用于计算量化参数以及生成代码量的处理的示图。代码量控制 单元40根据在预编码单元20处执行编码时的生成代码量BT (ρ),利用固定量化参数QP (ρ) 将宏块分成组。此外,如图5所示,从预先为每组提供的指示量化参数与生成代码量之间的 关系的多条预测曲线中选择相应组的预测曲线,例如预测曲线CB。此外,如图6所示,利用 所选预测曲线CB来预测其生成代码量等于或小于目标生成代码量BT(t)并且最接近该目 标生成代码量BT (t)的量化参数。在步骤ST12,代码量控制单元40计算与IGOP相当的生成代码量。代码量控制单 元40根据在内预编码单元30处计算出的生成代码量来校正在步骤STll中预测出的生成算与IGOP相当的经校正的生成代码量,然后前进到步骤ST13。在步骤ST13,代码量控制单元40辨别与IGOP相当的生成代码量是否大于目标生 成代码量。当生成代码量不大于目标生成代码量时,代码量控制单元40前进到步骤ST14, 而当生成代码量大于目标生成代码量时,前进到步骤ST15。在步骤ST14,代码量控制单元40从预测出的量化参数确定基本量化参数。当生成 代码量与目标生成代码量之间的差值较小时,例如,当该差异小于将预测出的量化参数的 值例如减小1时的生成代码量的增加量时,代码量控制单元40将该预测出的量化参数当作 基本量化参数,并且结束处理。此外,当生成代码量与目标生成代码量之间的差异较大时, 代码量控制单元40减小预测出的量化参数的值以便减小该差异,并且将其当作基本量化 参数。在步骤ST15,代码量控制单元40增加预测出的量化参数的值。代码量控制单元40 根据生成代码量与目标生成代码量之间的差异来确定增量,增加预测出的量化参数的值, 并且前进到步骤ST16。在步骤ST16,代码量控制单元40计算与IGOP相当的生成代码量。代码量控制单 元40使用在步骤ST15中更新过的量化参数来以与步骤ST12相同的方式计算与IGOP相当 的生成代码量,并且前进到步骤ST17。在步骤ST17,代码量控制单元40辨别目标生成代码量是否是可实现的。如果辨别 出目标生成代码量是不可实现的,则代码量控制单元40返回步骤ST13,而如果辨别出目标 生成代码量是可实现的,则将在步骤ST15中更新过的量化参数当作基本量化参数,并结束 处理。例如,当采用在步骤ST15中更新过的量化参数时的生成代码量等于或小于目标生成 代码量,并且当采用比在步骤ST15中更新过的量化参数小1的量化参数时的生成代码量超 过目标生成代码量时,代码量控制单元40辨别出目标生成代码量是可实现的,并且将更新 后的量化参数当作基本量化参数。这样,基本量化参数可被确定,从而目标生成代码量可被实现。注意,基本量化参 数确定处理不限于图4中的流程图所示的处理。例如,根据生成代码量与目标生成代码量 之间的差异来设置量化参数的增量或减量以再次计算生成代码量。此外,当生成代码量与 目标生成代码量之间的差异较小时,使得可以实现目标生成代码量的量化参数可以通过将 量化参数每次递增或递减1而被搜索到。图7是例示出与IGOP相当的生成代码量计算处理的流程图。在步骤ST20,代码 量控制单元40执行量化参数偏移量设置处理。这里,包括许多用于执行时间预测的中间宏 块(inter macro block)的图片常常参考另一图片,并且包括许多用于执行空间预测的内 宏块(intra macro block)的图片很少参考另一图片。在参考另一图片的情况中,与增加 用于参考另一图片的一侧的生成代码量的情况相比,分派大的生成代码量以提高将被参考 的图片的图像质量可以有效地提高图像质量。因此,对于作为非I图片的P图片或B图片, 代码量控制单元40设置量化参数的偏移量以便将大的代码量分派给所包括的将被参考的 图像多的图片。图8是图示出量化参数偏移量设置处理的流程图。在步骤ST31,代码量控制单元 40辨别图片是否是I图片。当图片不是I图片时,代码量控制单元40前进到步骤ST32,并 且当图片是I图片时,前进到步骤ST38。
11
在步骤ST32,代码量控制单元40计算宏块比率MBR。代码量控制单元40利用图 片内的内宏块数MBNintra和中间宏块数MBNinter来根据表达式(1)计算宏块比率MBR,并 且前进到步骤ST33。MBR = MBNintra/MBNinter. . . (1)在步骤ST33,代码量控制单元40辨别比率MBR是否小于阈值THra。当比率MBR 不小于阈值THra时,代码量控制单元40前进到步骤ST34,而当比率MBR小于阈值THra时, 前进到步骤ST35。在步骤ST34,代码量控制单元40辨别比率MBR是否小于阈值THrb。当比率MBR 小于阈值THrb (THra < THrb)时,代码量控制单元40前进到步骤ST36,而当比率MBR不小 于阈值THrb时,前进到步骤ST37。在步骤ST35,由于中间宏块的数目的比例较高,代码量控制单元40将量化参数偏 移偏移量“Va(例如5),,以便将大的代码量分派给将被参考的图片,并且结束偏移处理。在步骤ST36,由于中间宏块的数目的比例与步骤ST35的情况相比较低,因此代码 量控制单元40设置比步骤ST35中的偏移量小的偏移量“Vb ( < Va,例如3) ”,并且结束偏
移量设置处理。在步骤ST37,由于中间宏块的数目的比例与步骤ST36的情况相比较低,因此代码 量控制单元40设置比步骤ST36中的偏移量小的偏移量“Vc( < Vb,例如1),并且结束偏移
量设置处理。在步骤ST38,由于图片是I图片,因此代码量控制单元40将偏移量设为“0”,并且 结束偏移量设置处理。此外,对于偏移量,可以根据要应用的量化参数来改变上限。如从图5可清楚的, 当量化参数较小时,在偏移量化参数时生成代码量的改变较大,而当量化参数较大时,在偏 移量化参数时生成代码量的改变较小。因此,例如,如果偏移量的上限是根据量化参数较小 时的生成代码量的改变来设置的,则当量化参数较大时,即使将量化参数偏移为上限,生成 代码量也不会显著地改变。因此,当量化参数较大时,上限增加,而当量化参数较小时,上限 减小。例如,当量化参数较大时,上限被设为“8”,而当量化参数较小时,上限被设为“5”。因 此,例如即使量化参数较大,根据量化参数来设置偏移量的上限也使得能够显著地改变生 成代码量。因此,对于用于执行时间方向的预测的图片,例如,当用于执行空间预测的块的数 目与用于执行时间预测的块的数目的比例等于或小于第一阈值时,则执行偏移量的设置以 减小将分派给该图片的代码量。此外,当用于执行空间预测的块的数目与用于执行时间预 测的块的数目的比例等于或大于比第一阈值大的第二阈值时,则偏移被设置为比比例等于 或小于第一阈值时的偏移量小。在步骤ST21,代码量控制单元40偏移预测出的量化参数,以利用偏移后的量化参 数来计算I图片的生成代码量,并且前进到步骤ST22。注意,由于I图片的偏移量为“0”, 因此代码量控制单元40利用该预测出的量化参数来计算I图片的生成代码量。在步骤ST22,代码量控制单元40辨别下一图片是否是I图片。当下一图片不是I 图片时,代码量控制单元40前进到步骤ST23,而当下一图片是I图片时,结束与IGOP相当 的生成代码量计算处理。
12
在步骤ST23,代码量控制单元40偏移预测出的量化参数,以利用偏移后的量化参 数来计算非I图片,即P图片或B图片的生成代码量,并前进到步骤ST22。接下来,将描述用于计算I图片的生成代码量的处理以及用于计算非I图片的生 成代码量的处理。图9是图示出I图片的生成代码量计算处理的流程图。在步骤ST41,代码量控制 单元40预测第一生成代码量。代码量控制单元40预测采用预测出的量化参数时的生成代 码量,将其当作第一生成代码量,并且前进到步骤ST44。例如,如图6所示,代码量控制单元 40使用所选预测曲线CB来预测使得生成代码量具有等于或小于目标生成代码量BT (t)并 且最接近该目标生成代码量的值的量化参数,并且预测当采用该预测出的量化参数时的生 成代码量。即是说,代码量控制单元40将预测出的量化参数QP(t)的生成代码量BT(pt) 当作第一生成代码量,并且前进到步骤ST44。注意,量化参数QP (ρ)应当预先被设置为较小 值,以使得利用量化参数QP(P)执行编码时的生成代码量变得大于目标生成代码量。如果 这样设置量化参数QP(P),则基本量化参数可被设置来减小等于或小于目标生成代码量并 且最接近该目标生成代码量的生成代码量。在步骤ST44,代码量控制单元40检测第二生成代码量。代码量控制单元40从利 用量化参数QP(iO)至QP(i2)执行编码时的生成代码量BT(iO)、BT(il)和BT(i2)中检测 量化参数QP (t)中的生成代码量,并将其当作第二生成代码量。图10是图示出第二生成代码量检测处理的流程图。在步骤ST81,代码量控制单元 40从在内预编码处理中采用的量化参数中检测与预测出的量化参数最接近的量化参数。代 码量控制单元40例如从量化参数QP(i0)至QP(i2)中检测与量化参数QP(t)最接近的量 化参数,将其作为量化参数QP (ia),并前进到步骤ST82。在步骤ST82,代码量控制单元40从在内预编码处理中采用的量化参数中检测与 预测出的量化参数第二接近的量化参数。代码量控制单元40例如从量化参数QP (i0)至 QP ( 2)中检测与量化参数QP (t)第二接近的量化参数,将其当作量化参数QP (ib),并且前 进到步骤ST83。在步骤ST83,代码量控制单元40计算预测出的量化参数的生成代码量。代码量控 制单元40使用采用量化参数QP (ia)时的生成代码量BT (ia)以及采用量化参数QP (ib)时 的生成代码量BT(ib)来执行插值处理。代码量控制单元40执行线性插值、曲线插值等作 为插值处理来计算预测出的量化参数QP (t)的生成代码量BT (it)。如图6所示,代码量控制单元40例如利用与量化参数QP (t)最接近的量化参数 QP (il)的生成代码量BT (il)以及与量化参数QP (t)第二接近的量化参数QP (iO)的生成代 码量BT(iO)来执行插值处理。代码量控制单元40通过插值处理来计算预测出的量化参数 QP (t)的生成代码量BT (it)。代码量控制单元40由此来检测预测出的量化参数QP (t)的生成代码量BT (it),并 且从图8中的步骤ST44前进到步骤ST45。在步骤ST45,代码量控制单元40计算校正系数。代码量控制单元40利用从预编 码处理结果检测到的第一生成代码量BT(pt)以及从内预编码处理结果检测到的第二生成 代码量BT(it)来执行表达式(1)的计算,以计算出校正系数C(i),并且前进到步骤ST46。C(i) = BT (it)/BT (pt) · · . (2) 13
在步骤ST46,代码量控制单元40计算高频分量成本。代码量控制单元40计算指 示I图片中的高频分量的状态的高频分量成本H(i)。图11是图示出高频分量成本计算操作的流程图。此外,图12图示出了内预编码 处理的处理结果。在图11中,在步骤ST91,代码量控制单元40选择内预编码处理中的量化参数的 最小值。例如,如图12所示,在内预编码处理中,如果量化参数QP(iO)、QP(il)和QP(i2) (QP (i0) <QP(il) <QP(i2))被采用,则代码量控制单元40选择量化参数QP (iO),并前进 到步骤ST92。在步骤ST92,代码量控制单元40选择当采用最小量化参数时的生成代码量,并且 选择从高频到低频的量化步阶(quantizing step)较平坦的量化矩阵。例如,量化矩阵QMF 将是这样的矩阵其矩阵值是固定值,并且从高频到低频的量化步阶较平坦。量化矩阵QMN 将是这样的矩阵,其中,高频的矩阵值是大于低频的矩阵值的值,并且与低频相比而言,高 频粗略地被量化。量化矩阵QMS将是这样的矩阵,其中,高频的矩阵值是比量化矩阵QMN更 大的值,并且量化是在与量化矩阵QMN相比高频分量的减小更急剧的状态中执行的。在此 情况中,由于量化参数QP( 0)被选为最小的量化参数,因此代码量控制单元40选择采用量 化参数QP ( 0)和量化矩阵QMF时的生成代码量BT (iOF),并且前进到步骤ST93。在步骤ST93,代码量控制单元40选择当采用最小量化参数以及与低频相比用于 粗略地量化高频的一般量化矩阵时的生成代码量。例如,代码量控制单元40选择当采用量 化参数QP ( 0)和量化矩阵QMN时的生成代码量BT ( 0Ν),并且前进到步骤ST94。在步骤ST94,代码量控制单元40计算高频分量成本。代码量控制单元40执行表 达式(3)的计算以计算高频分量成本H(i)。H(i) = BT(iOF)/BT(iON). . . (3)当如此计算高频成本时,代码量控制单元40从图9的步骤ST46前进到步骤ST48, 并且执行对经预测的第一生成代码量的计算。代码量控制单元40利用第一生成代码量 BT(pt)和校正系数C (i)来执行表达式(4)的计算,以计算经校正的生成代码量BT (itc)。BT (itc) = BT (pt) X C ⑴· · · (4)当如此执行图9中的处理时,根据利用多个不同量化参数和多个不同量化矩阵的 内预编码处理的处理结果来校正从利用固定量化参数的预编码处理的结果预测出的生成 代码量。因此,可以提高I图片的生成代码量的预测精确度。接下来,将利用图13所示的流程图描述当采用预测出的量化参数时的非I图片生 成代码量计算处理。在步骤ST111,代码量控制单元40检测第三生成代码量。代码量控制 单元40根据在预编码单元20处利用固定量化参数QP(P)执行编码时的生成代码量BT(p) 来将宏块分成组。此外,代码量控制单元40从预先为每组提供的指示量化参数与生成代码 量之间的关系的多条预测曲线中选择相应组的预测曲线。此外,代码量控制单元40将利用 所选预测曲线的量化参数QP(t)中的已预测出的生成代码量BT(Ut)当作第三生成代码量, 并且前进到步骤ST112。在步骤ST112,代码量控制单元40非I图片中的高频分量成本。代码量控制单元 40执行与上面图11所示的高频分量成本计算相同的处理,以计算出非I图片中的高频成本 H(U)。在此情况中,高频分量H(U)的计算利用表达式(5)来执行。
H (u) = BT (iOFu) /BT (iONu)... (5)注意,在表达式(5)中,生成代码量BT(iOFu)和BT(iONu)是使用于计算高频分量 成本的非I图片的图像数据作为I图片经过内预编码处理时的生成代码量。以这种方式,在图13中的步骤ST112计算出高频成本之后,代码量控制单元40前 进到步骤ST113以计算校正系数。代码量控制单元40利用在I图片处理中计算出的校正 系数C(i)和高频分量成本H(i)以及在步骤ST112中计算出的高频分量成本H(U)来执行 表达式(6)的计算,以计算出与非I图片相对应的校正系数C(ic),并且前进到步骤ST115。C(ic) = C(i) XH(i)/H(u). . · (6)在步骤ST115,代码量控制单元40执行第三生成代码量的校正。代码量控制单元 40利用生成代码量BT (ut)和校正系数C(ic)来执行表达式(7)的计算,以计算出经校正的 生成代码量BT (utc)。BT(utc) = BT(ut) XC(ic). . . (7)当如此执行图13中的处理时,从利用固定量化参数的预编码处理的结果预测出 的生成代码量根据利用多个不同量化参数和多个不同量化矩阵的内预编码处理的处理结 果而得到了校正。因此,可以提高非I图片的生成代码量的预测精确度。如上所述,执行对预测出的量化矩阵的偏移处理,并且以用于实现目标生成代码 量的经偏移量化参数作为基本量化参数来在主编码单元60处执行编码。当以这种方式执 行编码时,大的代码量被分派给包括被参考的图像多的图片。因此,与不执行偏移处理的情 况相比,可以减少图像质量的波动,并且可以减少仅一帧图像的图像质量恶化的现象,或者 可以减少配音时的图像质量恶化。此外,在将同一量化参数应用于在图片之间具有相关性的连续图像的情况中,不 将大的代码量分派给将被参考的图片,因此,减弱了通过执行时间方向的预测获得的优点。 也就是说,这可能引起主观图像质量的恶化。这种情况中,执行量化参数偏移处理,并且增 加分派给将被参考的图片的代码量,从而与应用同一量化参数的情况相比,可以减小将被 参考的图片的图像质量的恶化。因此,可以在执行编码处理的同时抑制图像质量的恶化和 波动。例如,对于场景改变之后的图片,当内宏块的比例较大时,大的代码量被分派给该图 片(与具有小的内宏块比率的图片相比)。因此,可以防止场景改变之后的图像质量相对于 场景改变之前恶化。此外,还可以减少配音时的图像质量的恶化。此外,通过代码量控制单元40,用于实现目标生成代码量的量化参数以及采用该 量化参数时的生成代码量基于通过在预编码单元20处执行预编码计算出的生成代码量来 预测。此外,预测出的生成代码量根据通过在内预编码单元30处执行预编码而计算出的生 成代码量而得到校正。此外,通过代码量控制单元40,量化参数被确定为使得校正之后的生 成代码量实现目标生成代码量。因此,例如,在宏块的生成代码量与量化参数之间的关系根 据图像而改变的情况中,由于这种改变导致的生成代码量的预测误差根据在内预编码单元 30处执行预编码而计算出的生成代码量而得到校正。因此,即使在宏块的生成代码量与量 化参数之间的关系根据图像而改变的情况中,也可以精确地执行生成代码量的预测。例如,在通过执行预编码处理来执行生成代码量的预测,并且从该预测结果确定 主编码的量化参数的情况中,作为生成预测误差的原因,当高频分量的数目小于估计时,生 成代码量的下降方式改变,并且实际生成代码量的数目变得小于预测。特别地,当预编码处
15理中的被固定的量化参数Q(P)与对应于目标生成代码量的量化参数QP(t)之间的差异较 大时,误差往往变大。为了校正该误差,代码量控制单元40利用通过针对I图片的内预编 码处理获得的生成代码量。内预编码单元30应用多个不同量化参数,因此,与预编码单元 20相比,可以获得与预测出的量化参数接近的量化参数的生成代码量。因此,在I图片的预 测中,预测出的生成代码量根据在内预编码单元30处计算出的生成代码量而得到校正。此外,对于非I图片,不允许获得误差。然而,该误差由于图片中的高频分量的状 态而波动,因此,从每个图片获得高频分量的状态,并且根据每个图片与I图片的高频分量 的状态的差异来校正非I图片的生成代码量。因此,即使高频的状态与获取预测曲线时的高频的状态不同,也可以根据图片的 高频分量的状态来校正生成代码量,因此,可以以更精确的方式来推测生成代码量。因此, 例如,可以精确地执行与IGOP相当的生成代码量的预测。此外,如果主编码单元60已利用在代码量控制单元40处确定的基本量化参数对 图像数据执行了编码,则可从主编码单元60输出这样的编码数据,该编码数据的生成代码 量等于或小于目标生成代码量并且图像具有极小的恶化。此外,在本说明书中描述的一系列处理可由硬件、软件或两者的组合配置来执行。 在通过软件执行处理的情况中,记录有处理序列的程序可以通过被安装在封装在专用硬件 中的计算机内的存储器中而被执行,或者可以通过被安装在能够执行各种类型的处理的通 用计算机中而被执行。例如,程序可以预先被记录在作为记录介质的硬盘或ROM(只读存储器)中,或者 可以暂时地或永久地被存储(记录)在可移除介质中,可移除介质例如是软盘、CD-ROM(致 密盘只读存储器)、MO (磁光)盘、DVD (数字通用盘)、磁盘、半导体存储器等。这样的可移 除介质可以作为所谓的套装软件来提供。注意,程序除了可从如上所述的可移除记录介质被安装在计算机中以外,还可以 从下载站点无线地或经由诸如LAN(局域网)、因特网等之类的网络通过电缆被传送到计算 机。计算机可以接收如此被传送以便被安装在诸如内置硬盘等之类的记录介质中的程序。本申请包含与2009年7月27日向日本专利局提交的日本优先专利申请JP 2009-173908中公开的主题有关的主题,该申请的全部内容通过引用结合于此。注意,本发明不以被局限于上面的本发明的实施例的方式来解释。在本发明的实 施例中,本发明以例示模式被公开,并且显然,本领域技术人员可以在不脱离本发明的本质 和精神的情况下构想出各种修改或变更。即是说,为了理解本发明的本质和精神,应当参考 权利要求书。
1权利要求
一种图像编码设备,包括第一编码单元,被配置为执行对利用固定量化参数执行图像数据的编码时的生成代码量的计算,并且对用于执行时间方向的预测的图片执行关于宏块是用于执行时间预测的块还是用于执行空间预测的块的块区分;代码量控制单元,被配置为基于所述第一编码单元处的块区分结果,根据用于执行时间方向的预测的图片的所述用于执行时间预测的块与所述用于执行空间预测的块之间的比例,来设置量化参数的偏移量,以使得大的代码量被指派给所包括的被参考的图像多的图片,并且基于在所述第一编码单元处计算出的生成代码量来确定量化参数,以使得在利用被偏移了该偏移量的量化参数执行编码时的生成代码量实现目标生成代码量;以及第二编码单元,被配置为利用用于实现所述目标生成代码量的经偏移的量化参数来对所述图像数据执行编码。
2.根据权利要求1所述的图像编码设备,其中,对于所述用于执行时间方向的预测的 图片,当所述用于执行空间预测的块的数目相对所述用于执行时间预测的块的数目的比例 等于或小于第一阈值时,所述代码量控制单元设置偏移量以减少将被指派给该图片的代码 量,并且其中,对于所述用于执行时间方向的预测的图片,当所述用于执行空间预测的块 的数目相对所述用于执行时间预测的块的数目的比例等于或大于比所述第一阈值大的第 二阈值时,所述代码量控制单元设置比所述比例等于或小于所述第一阈值时的偏移量小的偏移量。
3.根据权利要求2所述的图像编码设备,还包括第三编码单元,被配置为以所述图像数据作为帧内图片的图像数据,利用多个不同量 化参数来针对所述量化参数中的每个量化参数执行编码,以计算生成代码量,其中,所述代码量控制单元执行基于在所述第一编码单元处计算出的生成代码量对使 用实现目标生成代码量的量化参数时的生成代码量以及所述经偏移量化参数的预测,根据 在所述第三编码单元处计算出的生成代码量来校正该预测出的生成代码量,并且确定量化 参数以使得校正之后的生成代码量实现所述目标生成代码量。
4.根据权利要求3所述的图像编码设备,其中,所述代码量控制单元根据基于在所述 第一编码单元处计算出的生成代码量的用于实现目标生成代码量的量化参数来执行对所 述偏移量的上限的设置,并且当偏移量化参数时生成代码量的改变较小时,将所述偏移量 的上限设得较大,并且当生成代码量的改变较大时,将所述偏移量的上限设得较小。
5.根据权利要求3所述的图像编码设备,其中,所述代码量控制单元从在所述第一编 码单元和所述第三编码单元处计算出的一个图片组的生成代码量中确定所述一个图片组 的量化参数。
6.一种图像编码方法,包括以下步骤通过第一编码单元计算利用固定量化参数执行图像数据的编码时的生成代码量;通过所述第一编码单元对用于执行时间方向的预测的图片执行关于宏块是用于执行 时间预测的块还是用于执行空间预测的块的块区分;通过代码量控制单元,基于所述第一编码单元处的块区分结果,根据用于执行时间方 向的预测的图片的所述用于执行时间预测的块与所述用于执行空间预测的块之间的比例,来设置量化参数的偏移量,以使得大的代码量被指派给所包括的被参考的图像多的图片;通过所述代码量控制单元,基于在所述第一编码单元处计算出的生成代码量来确定量 化参数,以使得在利用被偏移了该偏移量的量化参数执行编码时的生成代码量实现目标生 成代码量;以及通过第二编码单元利用用于实现所述目标生成代码量的经偏移的量化参数来对所述 图像数据编码。
全文摘要
公开了一种图像编码设备和图像编码方法。一种图像编码设备包括第一编码单元,用于计算在利用固定量化参数对图像数据编码时的生成代码量,并且对用于预测时间方向的图片进行关于宏块是用于执行时间预测的块还是用于执行空间预测的块的块区分;代码量控制单元,用于基于块区分结果根据用于时间预测的块与用于空间预测的块之间的比例,来设置量化参数的偏移量以使得大的代码量被指派给所包括的将被参考的图像多的图片,并且基于在第一编码单元处计算出的生成代码量来确定量化参数;以及第二编码单元,用于利用用于实现目标生成代码量的经偏移的量化参数来对图像数据进行编码。
文档编号H04N7/50GK101969555SQ20101023391
公开日2011年2月9日 申请日期2010年7月20日 优先权日2009年7月27日
发明者小籔恭平, 渕江孝明 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1