图像编码装置和图像编码方法

文档序号:7754917阅读:294来源:国知局
专利名称:图像编码装置和图像编码方法
技术领域
本发明涉及图像编码装置和图像编码方法,并且更具体地涉及一种即使在采用长 GOP配置重复图像的编码和解码时也能够使图像质量的劣化降低的图像编码装置和图像编 码方法。
背景技术
到目前为止,对于诸如MPEG2 (移动画面专家组2)等的图像编码方法,保持主观图 像质量以理想地分配代码量是个大问题。例如,静止图像的理想代码量分配是这样的状态,其中失真被(利用固定的量化 比例)统一编码。当达到某代码量从而使得该失真变大时,可以通过将失真向高频分量或 复杂部分偏置而增强主观图像质量。现在,例如,对于国际公开W096/28937,一种图像信号编码方法已经被公开,其中 解码后的图像的图像质量可以通过根据前向反馈方法采用代码量控制来使能适于图像质 量信号的本地特性的控制而被改善。前向反馈方法用于通过关于多个量化比例计算等长化 单位中将要生成的代码量,来确定生成代码量没有超过目标生成代码量的范围内的适当的 量化比例。另一方面,对于诸如被提出作为MPEG2测试模型的TM5之类的代码量控制,通过使 用虚拟缓冲器的余量、前一次编码时的量化指标以及生成代码量之间的关系执行反馈控制 来执行代码量控制。另外,为了抑制在重复图像的编码和解码时的图像质量的劣化,例如,对于国际公 开W02009/035144,上一次编码时使用的量化参数和量化矩阵被检测。

发明内容
附带地,对于图像编辑处理等,当以包括预定次序的参考画面和非参考画面的 GOP (画面组)为单位对图像数据进行编码时的流、以及长GOP配置的经编码的流被采用。 注意,参考画面是I画面(帧内编码图像)和P画面(预测编码图像)。另外,非参考画面 是B画面(双向预测编码图像)。在使用这种长GOP配置的经编码的流来执行编辑处理等的情况下,对通过解码经 编码的流获取的图像数据执行各种处理,例如颜色采集、剪切编辑等。另外,经编辑的图像 数据被再次编码,以生成经编码的流。所以,在编码和解码被重复的情况下,当画面类型不 同于上一次编码时,与画面类型相同的情况相比,图像质量的劣化可能变得显著。例如,在 执行编码以通过向要被另一个画面参考的参考画面分配大量代码来抑制参考画面的图像 质量的劣化的情况下,整个图像的图像质量的劣化将被降低。所以,当通过提供参考画面和 非参考画面之间的图像质量差来改善主观图像质量时,在非参考画面的图像质量劣于在下 次编码时被设置作为参考画面的参考画面的图像质量的情况下,整个图像的图像质量的劣 化增大。
因此,已经发现期望提供一种图像编码装置和图像编码方法,从而使得即使在通 过采用包括预定次序的参考画面和非参考画面的GOP配置重复图像数据的编码和解码时, 也可以降低图像质量的劣化。本发明的一个实 施例是一种图像编码装置,包括第一编码单元,被配置为通过使 用预定的量化信息以包括预定次序的参考画面和非参考画面的GOP(画面组)为单位对图 像数据执行编码,来计算生成代码量;代码量控制单元,被配置为基于在第一编码单元处计 算出的生成代码量来执行实现目标生成代码量的量化信息的设置;量化信息辨别单元,被 配置为以所述图像数据的每帧的图像作为是参考画面的I画面(帧内编码图像)来执行 DCT (离散余弦变换)系数的计算,并且在使用以代码量控制单元处确定的量化信息作为基 准的范围内的量化信息执行DCT系数的除法时使得以画面为单位的的余数的总和最小的 量化信息辨别作为执行上一次编码时使用的量化信息;画面类型设置单元,被配置为以所 述GOP为单位来对所述图像数据执行画面类型的设置,并且在所设置的画面类型不同于其 量化信息已经在量化信息辨别单元处被辨别出的画面类型的情况下,通过控制后续画面类 型的设置来匹配画面类型;以及第二编码单元,被配置为使用代码量控制单元处设置的量 化信息,基于画面类型设置单元处设置的画面类型来对所述图像数据执行编码。另外,本发明的另一个实施例是一种图像编码方法,该图像编码方法包括以下 步骤第一编码单元通过使用预定量化信息以包括预定次序的参考画面和非参考画面的 GOP(画面组)为单位对图像数据执行编码,来计算生成代码量;代码量控制单元基于在第 一编码单元处计算出的生成代码量来设置用于实现目标生成代码量的量化信息;量化信息 辨别单元以所述图像数据的每帧的图像作为是参考画面的I画面(帧内编码图像)来计 算DCT (离散余弦变换)系数,并将在使用以代码量控制单元确定的量化信息作为基准的范 围中的量化信息执行DCT系数的除法时使得以画面为单位的余数的总和最小的量化信息 辨别作为执行上一次编码时使用的量化信息;画面类型设置单元设置以所述GOP为单位对 所述图像数据设置画面类型,并且在所设置的画面类型不同于其量化信息已经在量化信息 辨别单元处被辨别出来的画面类型的情况下,通过控制后续画面类型的设置来匹配画面类 型;以及第二编码单元使用代码量控制单元处设置的量化信息,基于画面类型设置单元处 设置的画面类型对所述图像数据进行编码。对于以上配置,长GOP配置被采用,图像数据的预编码在第一编码单元处被执行, 并且主编码在第二编码单元处被执行。对于第一编码单元,使用预定量化信息来执行编码, 以计算生成代码量。对于代码量控制单元,执行量化信息的设置,以从预定量化信息和生成 代码量之间的关系来实现目标生成代码量。对于量化信息辨别单元,以图像数据的每帧图像作为I画面执行DCT系数的计算, 并且当使用量化信息执行DCT系数的除法时使得以画面为单位的余数的总和最小的量化 信息被辨别作为在执行上一次编码时使用的量化信息。这里,被用于辨别的量化信息是以 代码量设置单元设置的量化信息作为基准的范围中的量化信息,并且因此,辨别不必使用 所有量化信息来执行,从而有助于在执行上一次编码时使用的量化信息的辨别。对于画面类型设置单元,以GOP为单位对图像数据执行画面类型的设置,并且当 所设置的画面类型和其量化信息已经在量化信息辨别单元处被辨别出来的画面类型不同 时,通过控制后续画面类型的设置来匹配画面类型。例如,在量化信息辨别单元处辨别出的I画面的相位相对于要为图像数据设置的I画面超前时,画面类型设置单元通过将比I画面 早的画面的数目减少超前画面的数目来执行GOP的长度的调整,以匹配要为图像数据设置 的画面类型和执行上一次编码时的画面类型。另外,在量化信息辨别单元处辨别出的I画 面的相位相对于要为图像数据设置的I画面滞后时,画面类型设置单元通过减少接下来的 一个或多个GOP的画面的数目来执行GOP的长度的调整,以将要为图像数据设置的参考画 面和非参考画面的画面类型与执行上一次编码 时的画面类型匹配。画面类型的这种设置在 画面类型设置单元处被执行,从而可以为图像数据设置与上一次编码的画面类型相同的画 面类型。对于第二编码单元,使用代码量控制单元处设置的量化信息(例如,通过预编码 设置的量化参数)来对图像数据执行主编码。另外,当对上次已经执行过编码的的图像数 据执行主编码时,在第二编码单元处利用执行上一次编码时的画面类型来执行编码。另外, 代码量控制单元处设置的量化信息被量化信息确定单元改变为在量化信息辨别单元处辨 别出的量化信息,并且对于第二编码单元,使用在执行上一次编码时的量化信息来对图像 数据执行编码。另外,当第三编码单元被设置用来通过使用多个不同的量化信息、以图像数据的 每帧的图像作为I画面针对每个量化信息执行编码来计算生成代码量时,代码量控制单元 基于在第一编码单元处计算出的生成代码量执行实现目标生成代码量的量化信息的预测 和使用该量化信息时的生成代码量的预测,根据在第三编码单元处计算出的生成代码量来 校正预测的生成代码量,并且执行量化信息的设置以使得校正后的生成代码量实现目标生 成代码量。这样,实现目标生成代码量的量化信息可以被精确地辨别,并且要被用于上一次 编码时使用的量化信息的辨别的量化信息可以被准确地选择。根据以上配置,通过使用预定量化信息以包括预定次序的参考画面和非参考画面 的GOP (画面组)为单位对图像数据执行编码来计算生成代码量。另外,基于计算出的生成 代码量来执行用于实现目标生成代码量的量化信息的设置。另外,以图像数据的每帧的图 像作为I画面(帧内编码图像)来计算DCT(离散余弦变换)系数。另外,使用以辨别出的 量化信息作为基准的范围中的量化信息来执行DCT系数的除法,使得以画面为单位的余数 的总和最小的量化信息被辨别作为在执行上一次编码时使用的量化信息。以GOP为单位对 图像数据执行画面类型的设置,并且在所设置的画面类型不同于其量化信息在执行上一次 编码时被辨别出的画面类型的情况下,后续画面类型的设置被控制以匹配画面类型。另外, 使用辨别出的量化信息基于设置的画面类型来执行图像数据的编码。这样,即使在采用包括预定次序的参考画面和非参考画面的GOP配置执行图像数 据的编码和解码时,图像质量的劣化也可以被降低。


图1是示出第一实施例的配置的示图;图2是示出后向搜索单元的配置的示图;图3是举例说明量化参数和余数的总和的关系的示图;图4是举例说明量化参数和估计值的总和的关系的示图;图5是示出第一实施例的操作的流程图6是示出量化信息设置处理的流程图;图7是描述用于计算量化参数和生成代码量的处理的示图;
图8是示出用于计算相当于1个GOP的生成代码量的处理的流程图;图9是用于描述画面匹配处理的示图(部分1);图10是用于描述画面匹配处理的示图(部分2);图11是用于描述画面匹配处理的示图(部分3);图12是示出第二实施例的配置的示图;图13A至图13C是举例说明量化矩阵的示图;图14是示出第二实施例的操作的流程图;图15是描述用于计算量化参数和生成代码量的处理的示图;图16是示出用于I画面的生成代码量计算处理的流程图;图17是示出量化矩阵选择操作的流程图;图18是示出量化矩阵转换限制处理的流程图;图19是示出第二生成代码检测处理的流程图;图20是示出高频分量开销计算操作的流程图;图21是描述用于计算量化参数和生成代码量的处理的示图;图22是示出第二校正系数计算操作的流程图;以及图23是示出用于非I画面的生成代码量计算处理的流程图。
具体实施例方式下面根据以下顺序描述用于实现本发明的实施例。1.第一实施例的配置2.第一实施例的操作3.第二实施例的配置4.第二实施例的操作1.第一实施例的配置图1示出了本发明第一实施例的配置。图像编码装置10包括画面类型设置单元 11、图像重排处理单元12、用作第一编码单元的预编码单元20、代码量控制单元40、延迟缓 冲器50、量化信息辨别单元60、量化信息确定单元65以及用作第二编码单元的主编码单元 70。预编码单元20包括预测模式确定单元21、DCT (离散余弦变换)单元22、量化单元 23、逆量化单元24、IDCT (逆离散余弦变换)单元25、预测图像生成单元26以及代码长度 计算单元27。量化信息辨别单元60包括预测处理单元61、DCT单元62以及后向搜索单元 63。主编码单元70包括预测处理单元71、DCT单元72、量化单元73、逆量化单元74、IDCT 单元75、预测图像生成单元76以及可变长度编码单元77。利用这种配置,画面类型设置单元11根据长GOP配置,为输入图像的每帧的图像 数据设置作为参考图像的I画面(帧内编码图像)和P画面(预测编码图像)以及作为非 参考图像的B画面(双向预测编码图像)中的一种画面类型,以将其通知给图像重排处理 单元12。另外,当其量化信息已经在量化信息辨别单元60处被辨别出的画面类型不同于所设置的画面类型时,画面类型设置单元11通过基于由后面描述的量化信息辨别单元60供 应的辨别信号控制后续画面类型的设置,来匹配画面类型。图像重排处 理单元12根据在画面类型设置单元11处设置的画面类型,将输入图 像的图像数据的画面顺序从显示顺序重排为编码顺序。随后,图像重排处理单元12将以编 码顺序重排的图像数据输出到预编码单元20和延迟缓冲器50。注意,图像编码装置10可 以识别每帧图像被设置为了哪种画面类型。例如,指示画面类型的信息被添加到例如以编 码顺序重排后的图像数据。另外,画面类型可以通过将识别每帧图像被设置为了哪种画面 类型的信息从画面类型设置单元11或图像重排处理单元12供应到预编码单元20、主编码 单元70等而被识别。预编码单元20执行在图像数据的编码已经使用固定量化参数被执行时的生成代 码量的计算,并且将计算出的生成代码量输出到代码量控制单元40。预编码单元20的预测 模式确定单元21使用输入图像的图像数据以及在后面描述的预测图像生成单元26处生成 的预测图像数据,来确定每个宏块的预测模式。另外,预测模式确定单元21使用所确定的 预测模式的预测图像数据,将指示有关输入图像的图像数据的误差的差分图像数据输出到 DCT单元22。DCT单元22执行关于差分图像数据的离散余弦变换以生成DCT系数,并将其输出 到量化单元23。量化单元23使用预定的量化信息(即,固定量化参数QP(P))执行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处采用可变长度编码方法以简化处理, 并且在主编码单元70处采用算术编码方法以减少数据量的情况进行描述。对于可变长度 编码,一定区域的信息被高效编码,并且对于算术编码,可以在不用识别区域的情况下对区 域进行高效编码。因此,当从可变长度编码预测算术编码的代码量时,会导致很大的误差。 然而,相比于通常的可变长度编码,CAVLC可以通过自适应地改变上下文而在不识别区域的 情况下高效地对区域进行编码。所以,误差被减少,并且在采用CABAC方法时的生成代码量 可以通过根据CAVLC方法进行编码而估计出来。因此,采用CABAC方法的主编码单元70处的生成代码量也可以通过在代码长度计算单元27处采用CAVLC方法而估计出来。注意,代 码长度计算单元27还可以通过采用CAVLC方法来抑制电路规模。代码量控制单元40从比特率和GOP配置之间的关系来确定将要分配给1个GOP的 目标生成代码量。另外,代码量控制单元40基于在预编码单元20处计算出的相当于1个 GOP的生成代码量来预测实现目标生成代码量的量化参数以及当采用该量化参数时的生成 代码量。也就是说,代码量控制单元40预测量化参数(其中1个GOP的生成代码量等于或 小于目标生成代码量,并且非常接近目标生成代码量)以及采用该量化参数时的生成代码 量。另外,代码量控制单元40从预测的生成代码量来设置实现目标生成代码量的量化参 数,并且将其输出到量化信息确定单元65。 延迟缓冲器50将输入图像的图像数据延迟用于在代码量控制单元40处设置量化 信息的时间,并且将延迟后的图像数据输出到量化信息辨别单元60和主编码单元70。量化信息辨别单元60的预测处理单元61以从延迟缓冲器50供应的图像数据的 每帧的图像作为是参考画面的I画面(帧内编码图像)确定最适当的预测模式,,并且从该 图像数据生成预测图像的图像数据。另外,预测处理单元61生成指示从延迟缓冲器50供应 的图像数据和预测图像的图像数据之间的差的差分图像数据,并将其输出到DCT单元62。DCT单元62执行关于差分图像数据的离散余弦变换以生成DCT系数,并将其输出 到后向搜索单元63。后向搜索单元63使用所供应的DCT系数来执行计算,并执行用于上一次编码的 量化信息的辨别。对于量化信息的辨别,例如在国际公开W02009/035144中所公开的,针 对每个宏块将用于编码的DCT系数除以用于后向搜索处理的比例改变因子(reselling factor)以获取余数。另外,使得组成一个画面的宏块的余数的总和最小的比例改变因子被 检测。注意,比例改变因子是用于从作为量化信息的量化矩阵、量化参数以及要被用于解码 的DCT系数获取要被用于编码的DCT系数的变换矩阵函数。如此检测的比例改变因子被生 成时的量化信息被辨别作为用于上一次编码的量化信息。另外,当余数的总和的两个或更 多个最小值被检测到时,具有较大值的量化参数被采用。此外,后向搜索单元63使用以代 码量控制单元40处设置的量化信息作为基准的范围中的量化信息,来执行用于上一次编 码的量化信息的辨别。图2示出了后向搜索单元63的配置。后向搜索单元63包括余数计算单元631、估 计值确定单元632以及确定单元633。余数计算单元631基于以代码量控制单元40处设置 的量化信息作为基准的范围中的量化信息,将DCT系数除以比例改变因子,并且将所获得 的余数输出到估计值确定单元632。估计值确定单元632以画面为单位计算余数的总和。另外,估计值确定单元632通 过比例改变因子对余数的总和进行标准化,以获取估计值。图3是举例说明量化信息(例 如,量化参数)和余数的总和之间的关系的示图。从图3显而易见,余数的总和具有随着量 化参数的增大而增大的特性。因此,估计值确定单元632通过比例改变因子对余数进行标 准化来获取估计值,从而辨别在不受此特性影响的情况下使得余数的总和为最小的量化参 数。另外,估计值确定单元632计算组成一个画面的宏块的估计值的总和,并且将其输出到 确定单元633。确定单元633检测使得估计值的总和为最小的比例改变因子,并且将检测出的比例改变因子的量化矩阵和量化参数输出到量化信息确定单元65,作为执行上一次编码时使 用的量化参数。图4是举例说明量化参数和估计值的总和之间的关系的示图。确定单元 633根据图4的特性将使得估计值的总和为最小的量化参数作为在执行上一次编码时使用
的量化信息。另外,后向搜索单元63将指示量化信息已经被辨别出的画面的信息信号输出到 画面类型设置单元11。这里,在使用通过对具有长GOP配置的经编码的数据进行解码而获 得的图像数据已经执行后向搜索的情况中,当要被用于后向搜索的画面为I画面时,将DCT 系数除以基于用于上一次编码的量化信息的比例改变因子时的余数较小。然而,当要被用 于后向搜索的画面是P画面或B画面时,余数不像I画面那样小。因此,可以基于用于上一 次编码的量化系数是否已被辨认出来检测在上一次编码中被设置为I画面的帧。后向搜索 单元63生成指示在上一次编码中被设置为I画面的帧的信息信号,并将其输出到画面类型 设置单元11。
量化信息确定单元65将在量化信息辨别单元60处辨别出的量化信息输出到主编 码单元70。另外,当在量化信息辨别单元60处辨别出所述量化信息时,量化信息确定单元 65将在代码量控制单元40处设置的量化信息改变为在量化信息辨别单元60处辨认出的量 化信息,并将其输出到主编码单元70。因此,在输入图像的图像数据是没有被编码的原始图 像的图像数据时,量化信息辨别单元60不被允许辨别其量化信息,因此在预编码处理中设 置的量化信息被输出到主编码单元70。另外,在输入图像的图像数据是现在正被编码的图 像数据时,在量化信息辨别单元60处辨别出的量化信息被输出到主编码单元70。主编码单元70使用从量化信息确定单元65供应的量化信息来执行图像数据的编 码。主编码单元70的预测处理单元71基于画面类型设置单元11处设置的画面类型来生 成预测图像数据。预测处理单元71生成指示预测图像数据和输入图像的图像数据之间的 误差的差分图像数据,并将其输出到DCT单元72。DCT单元72执行关于差分图像数据的离散余弦变换以生成DCT系数,并将其输出 到量化单元73。量化单元73使用从量化信息确定单元65供应的量化信息来执行DCT系数的量 化,并将量化后的数据输出到逆量化单元74和可变长度编码单元77。逆量化单元74执行关于量化后的数据的逆量化以生成DCT系数,并将其输出到 IDCT 单元 75。IDCT单元75执行从逆量化单元74供应的DCT系数的逆离散余弦变换以生成差分 图像数据,并将其输出到预测图像生成单元76。预测图像生成单元76使用差分图像数据来生成本地解码后的图像的图像数据。 另外,预测图像生成单元76使用来自延迟缓冲器50的图像数据来以宏块为单位执行当前 帧和在时间上接下来的相邻帧之间的运动估计。另外,预测图像生成单元76基于运动估计 结果执行本地解码后的图像的运动补偿以生成预测图像,并将其输出到预测处理单元71。可变长度编码单元77通过CAVLC方法或CABAC方法来执行关于量化后的数据的 编码以生成经编码的流,并输出这些流。可变长度编码单元77例如使用CABAC方法执行量 化后的数据的编码,以减少数据量并生成经编码的流。当对上一次已经执行了编码的图像数据进行编码时,如此配置的图像编码装置10将画面类型设置为等同于在执行上一次编码时的画面类型来执行图像数据的编码。另外, 图像编码装置10使用用于上一次编码的量化信息来执行图像数据的编码。2.第一实施例的操作 接下来,将描述第一实施例的操作。图5是示出第一实施例的操作的流程图。注 意,图5示出了 1个GOP的处理。在步骤STl,图像编码装置10执行画面类型的设置。图像编码装置10根据GOP (画 面组)配置在画面类型设置单元11处为每帧的图像数据设置画面类型,并且进行到步骤 ST2。在步骤ST2,图像编码装置10执行图像的重排。图像编码装置10基于画面类型设 置单元11处设置的画面类型,在图像重排处理单元12处将图像数据从显示顺序重排到编 码顺序,并进行到步骤ST3。在步骤ST3,图像编码装置10执行预编码处理。图像编码装置10使用所设置的画 面类型在预编码单元20处执行图像数据的编码以计算生成代码量,并且进行到步骤ST4。在步骤ST4,图像编码装置10辨别生成代码量是否已经达到相当于IfGOP的量。 在预编码单元20处计算的生成代码量已经达到相当于1个GOP的量的情况下,图像编码装 置10进行到步骤ST7,并且在生成代码量没有达到相当于IfGOP的量的情况下,返回步骤 ST3。在步骤ST7,图像编码装置10执行量化信息设置处理。图像编码装置10基于通过 执行预编码处理获取的生成代码量来设置实现目标生成代码量的量化信息,并且进行到步 骤ST8。注意,量化信息设置处理将随后描述。在步骤ST8,图像编码装置10执行后向搜索处理。图像编码装置10执行从延迟缓 冲器50读出图像数据,并且以所读出的图像数据的每帧的图像作为是参考画面的I画面来 执行DCT系数的计算。另外,图像编码装置10将如下的量化信息辨别为用于上一次编码的 量化信息,并进行到步骤ST9,所述如下的量化信息使得在使用以在步骤ST7中设置的量化 信息作为基准的范围中的量化信息执行DCT系数的除法时以画面为单位的余数的总和最 小。在步骤ST9,图像编码装置10辨别用于上一次编码的量化信息是否已经被辨别 出。在后向搜索处理已经被执行的情况下,量化信息(例如,量化参数)和量化矩阵已经被 辨别出,图像编码装置10进行到步骤ST10,而在没有量化信息已经被辨别出的情况下,进 行到步骤ST13。在步骤ST10,图像编码装置10辨别画面类型是否匹配。在画面类型设置单元11 处设置的画面类型和其量化信息在量化信息辨别单元60处已经被辨别出的画面类型不匹 配的情况下,图像编码装置10进行到步骤STl 1,并且在画面类型匹配的情况下进行到步骤 ST12。在步骤STl 1,图像编码装置10执行画面类型匹配处理。图像编码装置10调整后 续GOP的GOP长度以匹配要被设置到图像数据的画面类型和执行上一次编码时的画面类 型,并且进行到步骤ST12。在执行上一次编码时的画面类型是参考画面时,图像编码装置 10确定要为图像数据设置的画面类型为参考画面,并且在执行上一次编码时的画面类型是 非参考画面时,图像编码装置10确定要为图像数据设置的画面类型为非参考画面。
在步骤ST12,图像编码装置10执行量化信息改变处理。图像编码装置10将在步 骤ST7中设置的量化信息改变为在步骤ST8中的后向搜索处理中辨别出的量化信息,并且 进行到步骤ST13。例如,图像编码装置10将步骤ST7中设置的量化参数改变为在步骤ST8 中辨别出的量化参数。在步骤ST13,图像编码装置10执行主编码处理。在用于上一次编码的量化信息 没有被辨别出的情况下,图像编码装置10使用在步骤ST7中设置的量化信息来执行编码。 另外,在用于上一次编码的量化信息已经被辨别出的情况下,图像编码装置10使用在步骤 ST12中改变了的量化信息(即,用于上一次编码的量化信息)来执行量化。图6举例说明了示出量化信息设置处理的流程图。在步骤ST21,代码量控制单元 40执行量化参数的预测。代码量控制单元40基于在预编码单元20处计算出的生成代码量 来预测用于实现目标生成代码量的量化参数,并进行到步骤ST22。图7是用于描述用于计算量化参数和后面描述的生成代码量的处理的示图。代码 量控制单元40根据在预编码单元20处使用固定量化参数QP (ρ)执行编码时的生成代码量 BT(p),将宏块分类为多个群组。另外,代码量控制单元40从预先为每个群组规定的指示量 化参数和生成代码量之间的关系的多个预测曲线中选择相应群组的预测曲线,例如预测曲 线CB。另外,代码量控制单元40使用所选择的预测曲线CB来预测使得生成代码量等于或 小于目标生成代码量BT (t)并且为与之最接近的值的量化参数。在步骤ST22,代码量控制单元40计算相当于1个GOP的生成代码量。代码量控制 单元40计算预测量化参数的相当于1个GOP的生成代码量,并且进行到步骤ST23。在步骤ST23,代码量控制单元40辨别相当于1个GOP的生成代码量是否大于目 标生成代码量。当生成代码量不大于目标生成代码量时,代码量控制单元40进行到步骤 ST24,并且当生成代码量大于目标生成代码量时,进行到步骤ST25。在步骤ST24,代码量控制单元40从预测的量化参数设置要被用于主编码处理的 量化参数。当生成代码量和目标生成代码量之间的差小时,代码量控制单元40确定预测的 量化参数作为要被用于主编码处理的量化参数。例如,当生成代码量小于预测的量化参数 被减小1时的生成代码量的增量时,代码量控制单元40确定预测的量化参数作为要被用于 主编码处理的量化参数,并且结束该处理。并且,当生成代码量和目标生成代码量之间的差 大时,代码量控制单元40减小预测的量化参数的值以减小差,并且将此确定为要被用于主 编码处理的量化参数。在步骤ST25,代码量控制单元40增大预测的量化参数的值。代码量控制单元40 根据生成代码量和目标生成代码量之间的差来确定增大量,增大预测的量化参数的值,并 且进行到步骤ST26。在步骤ST26,代码量控制单元40计算相当于1个GOP的生成代码量。代码量控制 单元40使用在步骤ST25中更新的量化参数以与步骤ST22相同的方式来计算相当于1个 GOP的生成代码量,并且进行到步骤ST27。在步骤ST27,代码量控制单元40辨别目标生成代码量是否能够实现。当辨别出 目标生成代码量不能够实现时,代码量控制单元40返回到步骤ST23,并且当辨别出目标生 成代码量能够实现时,确定在步骤ST25中更新的量化参数作为要被用于主编码处理的量 化参数,并且结束该处理。例如,代码量控制单元40确定使用在主编码处理中更新的量化参数时的生成代码量等于或小于目标生成代码量。此外,代码量控制单元40确定使用比在 主编码处理中更新的量化参数小1的量化参数时的生成代码量超过了目标生成代码量。此 时,代码量控制单元40辨别出目标生成代码量是能够实现的,并且确定更新后的量化参数 作为要被用于主编码处理的量化参数。注意,量化信息设置处理不限于在图6中的流程图中示出的处理。例如,量化参数 的增大量或减少量被根据生成代码量和目标生成代码量之间的差而设置,以再次执行生成 代码量的计算。并且,当生成代码量和目标生成代码量之间的差变小时,可以通过一次将量 化参数增大或减少1来搜索使得目标生成代码量能够实现的量化参数。图8是举例说明用于计算相当于1个GOP的生成代码量的处理的流程图。在步骤 ST31,代码量控制单元40使用预测的量化参数来计算I画面的生成代码量,并且进行到步 骤 ST32。在步骤ST32,代码量控制单元40辨别下一个画面是否为I画面。当下一个画面不 是I画面时,代码量控制单元40进行到步骤ST33,并且当下一个画面是I画面时,结束用于 计算相当于1个GOP的生成代码量的处理。在步骤ST33,代码量控制单元40使用预测的量化参数来计算非I画面(S卩,P画 面或B画面)的生成代码量,并且返回到步骤ST32。接下来,将使用图9至图11描述画面匹配处理。图9示出了在上一次编码时设置 的画面类型的相位比在画面类型设置单元11处设置的画面类型的相位超前的情况。也就 是说,图9示出了在比画面类型设置单元11处设置的I画面早的画面处辨别出量化信息的 情况。并且,图10示出了在上一次编码时设置的画面类型的相位比在画面类型设置单元11 处设置的画面类型的相位延迟并且该相位的延迟量小的情况。也就是说,图10示出了在比 画面类型设置单元11处设置的I画面晚并且与该I画面略微分离的画面处辨别出量化信 息的情况。另外,图11示出了在上一次编码时设置的画面类型的相位比在画面类型设置单 元11处设置的画面类型的相位延迟并且该相位的延迟量大的情况。也就是说,图11示出 了在比画面类型设置单元11处设置的I画面晚并且被与该I画面显著分离的画面处辨别 出量化信息的情况。注意,在图9至图11中,“Br”表示根据H. 264/AVC标准可以被用作参 考图像的B画面。并且,图9至图11示出了在图像重排处理单元12处执行图像重排之前 的次序的画面类型。对于在画面类型设置单元11处设置的G0P,其量化信息已经在量化信息辨别单元 60处被辨认出的画面的编号将被作为检测出的画面编号PNB。并且,从检测出的画面编号 开始的比I画面早的B画面的数目被作为B画面的数目BN。当所设置的画面类型不同于其 量化信息已经在量化信息辨认单元60处已经被辨认出的画面类型时,画面类型设置单元 11调整后续GOP的GOP长度。画面类型设置单元11调整GOP长度,以匹配要为图像数据设 置的画面类型和执行上一次编码时的画面类型。画面类型设置单元11执行表达式(1)的 计算,以设置下一个GOP的GOP长度GL。GL = PNB-BN(1)图9中的(A)表示上一次编码中设置的画面类型。并且图9中的(B)和(C)表示 执行匹配处理时的画面类型。在上一次编码中设置的画面类型的相位超前的情况下,即,在 GOP长度GL具有负值的情况下,等于该负值的量的B画面被从下一个GOP的头部去除。在图9中,上一次编码中设置的画面类型的相位超前例如相当于1个画面,并且检测出的画面 编号PNB为“1”。并且,B画面的数目为“2”,因此GOP长度GL为“_1”。因此,如图9中的 (B)中所示,例如,位于比下一个GOP的I画面更早的位置的B画面中一个画面“Bi”被去 除。所以,当从下一个GOP中去除相位超前的画面的数目的头部B画面时,在画面类型设置 单元11处设置的画面类型和在上一次编码中设置的画面类型可以被匹配。并且,如图9中的(C)中所示,例如,下一个GOP的GOP长度被减少1个画面,并且 P画面被设置为最后画面。所以,当将下一个GOP长度减少等于该负值的量时,对于其GOP 长度已经被减小的GOP的下一个G0P,画面类型设置单元11处设置的画面类型和上一次编 码中设置的画面类型可以被匹配。所以,在上一次编码中设置的画面类型的相位比画面类型设置单元11处设置的 画面类型超前的情况下,GOP长度的调整通过将比I画面早的画面的数目减少超前画面的 数目来执行,从而使得要为图像数据设置的画面类型可以与执行上一次编码时的画面类型 相匹配。例如,要为图像数据设置的I画面可以被与执行上一次编码时的I画面相匹配。图10中的(A)表示在上一次编码中设置的画面类型。并且,图10中的(B)、(C) 和(D)表示执行匹配处理时的画面类型。在上一次编码中设置的画面类型的相位延迟小的 情况下,下一个GOP的GOP长度将被作为计算出的GOP长度GL。在图10中,量化参数和量 化矩阵首先在画面“B4”中被检测出,并且比I画面早的B画面的数目为“2”,因此,GOP长 度GL为“4-2 = 2”。因此,如图10中的(B)中所示,例如,下一个GOP的GOP长度将被设置 为“2”。所以,在下一个GOP具有此GOP长度GL时,对于下一个之后的G0P,画面类型设置 单元11处设置的画面类型可以被与上一次编码中设置的画面类型相匹配。此外,在相位延迟小的情况下,GOP长度GL变为小值,并且因此短GOP被生成。因 此,画面类型设置单元11调整下一个GOP和下一个之后的GOP的画面类型,以不生成短 G0P。画面类型设置单元11对在画面类型设置单元11处要为后续画面设置的画面类型与 上一次编码中设置的画面类型进行匹配。在这种情况下,I画面和P画面之间的间隔GM被 用来将下一个GOP的GOP长度设置为(G0P长度GL+间隔GM的整数倍)。例如,在图10中,I画面和P画面之间的间隔GM为“3”,并且GOP长度GL为“2”, 因此下一个GOP的GOP长度将例如为“2+3X2”,如图10中的(C)中所示。所以,对于下一 个之后的G0P,画面类型设置单元11处设置的参考画面和非参考画面可以被与上一次编码 中设置的画面类型相匹配。另外,对于随后的G0P,画面类型设置单元11处设置的画面类型 和上一次编码中设置的画面类型被匹配。另外,通过将调整抑制到最小从而不产生短G0P,在画面类型设置单元11处将要 设置的画面类型可以被与上一次编码中设置的画面类型相匹配。在这种情况下,GOP长度 将被设置为“G0P的常规数目_(间隔GM的整数倍-GL) ”。在图10中,GOP的常规数目为 “12”,间隔GM为“3”,并且GOP长度GL为“2”,所以如图10中的(D)中所示,下一个GOP的 GOP长度将为“12-(3-2)”。所以,对于下一个之后的G0P,通过将调整抑制到最小,在画面类 型设置单元11处将要设置的画面类型可以被与上一次编码中设置的画面类型相匹配,因 此可以通过将调整抑制到最小来降低图像质量的劣化。图11中的(A)示出了上一次编码中设置的画面类型。并且,图11中的⑶和(C) 表示执行匹配处理时的画面类型。在上一次编码中设置的画面类型的相位延迟大的情况下,下一个GOP的GOP长度将被设置作为计算出的GOP长度GL。在图11中,量化信息首先在 画面“B10”中被辨别出,并且比I画面早的B画面的数目为“2”,因此GOP长度GL为“10-2 =8”。因此,如图11中的(B)中所示,例如,下一个GOP的GOP长度将被设置为“8”。所以, 在下一个GOP具有GOP长度GL的情况下,对于下一个之后的G0P,在画面类型设置单元11 处将要设置的画面类型可以被与上一次编码中设置的画面类型相匹配。此外,在下一个GOP具有此GOP长度GL的情况下,对于下一个GOP,I画面或P画 面可以被设置代替上一次编码中设置的P画面,以降低图像质量的劣化。也就是说,当GOP 长度GL不是I画面和P画面之间的间隔GM的整数倍时,对于B画面将在头部侧执行边缘 数目的调整。如图11中的⑶中所示,例如,作为头部侧的B画面的“Bi”被去除。所以,在上一次编码中设置的画面类型的相位相比于画面类型设置单元11处设 置的画面类型被延迟的情况下,如图10和11中所示,GOP长度的调整通过减少接下来的一 个或多个GOP的画面数目而被执行,从而使得要为图像数据设置的参考画面和非参考画面 的画面类型可以被与执行上一次编码时的画面类型相匹配。此外,如图10中的(B)和(C) 以及图11中所示,GOP长度的调整被执行,从而使得要为图像数据设置的I画面可以被与 执行上一次编码时的I画面相匹配。所以,当执行画面匹配处理时,画面类型设置单元11可以执行画面类型的设置, 以与上一次编码中设置的画面类型相匹配。所以,当通过提供参考画面和非参考画面的图 像质量的差别来改善主题图像质量时,可以防止图像质量相比于参考画面较差的非参考画 面在下一次编码中被设置为参考图像。所以,即使在图像数据的编码和解码被重复时,图像 质量的劣化也可以被降低。另外,在用于上一次编码的量化信息已经在量化信息辨别单元60处被辨别出的 情况下,量化信息改变处理被执行,从而在代码量控制单元40处设置的量化信息被改变为 在量化信息辨别单元60处辨别出的量化信息。所以,在用于上一次编码的量化信息已经被 辨别出的情况下,在主编码单元70处使用辨别出的量化信息来执行编码。所以,在主编码 单元70处使用用于上一次编码时的量化信息执行编码,可以防止量化失真被重复叠加,从 而即使在图像数据的编码和解码被重复时也可以降低图像质量的劣化。此外,对于在量化信息辨别单元60处对用于上一编码的量化信息的辨别,要被辨 别的量化信息的范围以通过执行预编码处理设置的量化信息作为基准来设置。所以,即使 计算不是利用所有的量化信息执行的,用于上一次编码的量化信息也可以被辨别出,因此 量化信息辨别单元60处的计算量可以被减少。3.第二实施例的配置接下来,将给出以比第一实施例更高的精确度来执行量化信息的设置并且所设置 的量化信息被使用从而进一步有助于在量化信息辨别单元60处对用于上一次编码的量化 信息的辨别的情况的描述。注意,对于第二实施例,将给出关于量化矩阵的设置也是在代码 量控制单元处被执行的情况的描述。对于第二实施例,另外提供了用作第三编码单元的内部预编码单元30,从而利用 在内部预编码单元30处计算出的生成代码量来提高诸如量化参数等之类的预测准确性。图12示出了第二实施例的配置。图像编码装置IOa包括画面类型设置单元11、 图像重排处理单元12、用作第一编码单元的预编码单元20、用作第三编码单元的内部预编
15码单元30、代码量控制单元40a、延迟缓冲器50、量化信息辨别单元60、量化信息确定单元 65以及用作第二编码单元的主编码单元70。注意,在图12中,预编码单元20和主编码单 元70具有与第一实施例相同的配置,因此预编码单元20和主编码单元70示意性地在图12 中示出。内部预编码单元30包括画面内预测处理单元31、DCT单元32、量化单元33、逆量 化单元34、IDCT单元35、内部预测图像生成单元36以及代码长度计算单元37。另外,量化 单元33配置有多级量化单元33-1至33-n,并且代码长度计算单元37配置有多级代码长度 计算单元37-1至37-n。利用这种配置,画面类型设置单元11根据上面所描述的长GOP配置,设置关于输 入图像的每帧的图像数据的画面类型。另外,当所设置的画面类型与其量化信息已经在量 化信息辨别单元60处被辨认出的画面类型不同时,通过控制后续画面类型的设置来对画 面类型进行匹配。图像重排处理单元12根据在画面类型设置单元11处设置的画面类型,将输入图 像的图像数据的画面顺序从显示顺序重排为编码顺序。预编码单元20执行在图像数据的 编码已经使用固定量化参数被执行时的生成代码量的计算,并且将计算出的生成代码量输 出到代码量控制单元40a。内部预编码单元30利用多个量化信息对作为I画面的所有图像数据执行编码,并 且计算针对每个量化信息的生成代码量,以将其输出到代码量控制单元40a。内部预编码单 元30的画面内预测处理单元31生成指示输入图像的图像数据和在内部预测图像生成单元 36处生成的预测图像数据之间的误差的差分图像数据,以将其输出到DCT单元32。DCT单元32执行关于差分图像数据的离散余弦变换以生成DCT系数,并将其输出 到量化单元33。量化单元33配置有多级(例如,9级)量化单元33-1至33_9。量化单元33_1至 33-9通过结合多个量化信息(例如,3个不同的量化参数QP(iO)、QP(il)和QP(i2)以及三 个不同的量化矩阵QMF、QNN和QMS)而根据九个条件执行量化。量化单元33_1至33_9将 通过执行DCT系数的量化获取的量化后的数据输出到代码长度计算单元37。另外,量化单 元33选择在量化单元33-1至33-9处生成的量化后的数据之一,并将其输出到逆量化单元 34。图13A至图13C举例说明了量化矩阵QMF、QMN和QMS。图13A示出了量化矩阵 QMF0对于量化矩阵QMF,所有的矩阵值都是相等的值。也就是说,量化矩阵QMF是具有平坦 (flat)特性的量化矩阵。图13B示出了量化矩阵QMN。对于量化矩阵QMN,高频分量的矩阵 值大于低频分量的矩阵值。也就是说,量化矩阵QMN是具有共同特性的量化矩阵(其中,高 频分量的降低被执行)。图13C示出了量化矩阵QMS。对于量化矩阵QMS,高频分量的矩阵 值是相比于量化矩阵QMN更大的值。也就是说,量化矩阵QMS是具有这样的特性的量化矩 阵,其中高频分量的降低相比于量化矩阵QMN被进一步增大。逆量化单元34执行关于从量化单元33供应的量化后的数据的逆量化以生成DCT 系数数据,并将其输出到IDCT单元35。 IDCT单元35执行从逆量化单元34供应的DCT系数数据的逆离散余弦变换以生成 差分图像数据,并将其输出到内部预测图像生成单元36。
内部预测图像生成单元36使用差分图像数据来生成本地解码后的图像的图像数 据。另外,内部预测图像生成单元36将本地解码后的图像的图像数据作为预测图像数据输 出到画面内预测处理单元31。代码长度计算单元37配置有与量化单元33相对应的多级(例如,9级)代码长度 计算单元37-1至37-9。代码长度计算单元37-1至37_9使用与预编码单元20的代码长度 计算单元27相同的方法执行编码以计算每个宏块的生成代码量,并将其输出到代码量控 制单元40a。代码量控制单元40a从在内部预编码单元30处计算出的生成代码量来计算可以 识别是否存在很多高频分量的识别值,并且在确定该识别值大于阈值并且存在很多高频分 量时选择减少高频分量的量化矩阵。另外,当确定该识别值等于或小于阈值并且存在较少 高频分量时,代码量控制单元40a选择其中高频分量的减少比较小的量化矩阵。另外,代码量控制单元40a从比特率和GOP配置之间的关系,确定要被分配给1个 GOP的目标生成代码量。代码量控制单元40a基于在预编码单元20处计算出的相当于1个 GOP的生成代码量来预测实现目标生成代码量的量化参数和采用该量化参数时的生成代码 量。也就是说,代码量控制单元40a预测其中相当于1个GOP的生成代码量等于或小于目标 生成代码量并且非常接近目标生成代码量的量化参数和采用该量化参数时的生成代码量。另外,代码量控制单元40a根据在内部预编码单元30处计算出的生成代码量来对 预测的生成代码量进行校正。另外,代码量控制单元40a从校正后的生成代码量,设置用于 实现目标生成代码量的量化参数和量化矩阵。这里,当设置不同于在预编码单元20处采用 的量化矩阵的量化矩阵时,代码量控制单元40a计算校正系数。另外,代码量控制单元40a 使用校正系数来校正预测的生成代码量。例如,代码量控制单元40a从在内部预编码单元 30处计算出的生成代码量中选择在采用预编码单元20处采用的量化矩阵时的生成代码量 BT和采用所选择的量化矩阵时的生成代码量。代码量控制单元40a从所选择的两个生成代 码量计算校正系数。延迟缓冲器50将输入图像的图像数据延迟用于在代码量控制单元40a处设置量 化信息的时间,并且将延迟后的图像数据输出到量化信息辨别单元60和主编码单元70。量化信息辨别单元60以图像数据的每帧的图像作为是参考画面的I画面来计算 DCT系数。另外,量化信息辨别单元60使用以代码量控制单元40a处确定的量化信息为基 准的范围中的量化信息来执行DCT系数的除法,并且将使得以画面为单位的余数的总和最 小的量化信息辨别为执行上一次编码时使用的量化信息。主编码单元70基于画面类型设置单元11处设置的画面类型,使用在代码量控制 单元40a处设置的量化信息来执行图像数据的编码。另外,在量化信息已经在量化信息辨 别单元60处被辨别出并且在代码量控制单元40a处设置的量化信息被量化信息确定单元 65改变为在量化信息辨别单元60处辨别出的量化信息的情况下,主编码单元70使用改变 后的量化信息来执行图像数据的编码。4.第二实施例的操作接下来,将描述第二实施例的操作。图14是示出第二实施例的操作的流程图。注 意,与图5中所示的图像编码设备的操作相对应的处理将由相同的步骤编号指代。在步骤ST1,图像编码装置IOa执行画面类型的设置,并且进行到步骤ST2。在步骤ST2,图像编码装置IOa执行图像的重排。在步骤ST3,图像编码装置IOa执行预编码处 理。在步骤ST4,图像编码装置IOa辨别在预编码处理中计算出的生成代码量是否已经达到 相当于1个G0P。在预码单元20处计算出来的生成代码量已经达到相当于IfGOP的情况 下,图像编码装置IOa进行到步骤ST7,并且在生成代码量还没有达到相当于1个GOP的情 况下,返回到步骤ST3。在步骤ST5,图像编码装置IOa执行内部预编码处理。图像编码装置IOa在内部 预编码单元30处以图像数据的每帧作为I画面执行编码以计算生成代码量,并进行到步骤 ST6。另外,图像编码装置IOa通过在内部预编码处理中结合多个量化信息(例如,三个不 同的量化参数QP(iO)、QP(il)和QP(i2)以及三个不同的量化矩阵QMF、QMN和QMS)根据9 个条件并行地执行编码,来计算生成代码量。在步骤ST6,图像编码装置IOa辨别生成代码量是否已经达到相当于1个G0P。在 内部预编码单元30处计算出的生成代码量已经达到相当于1个GOP的情况下,图像编码装 置IOa进行到步骤ST7。另外,在生成代码量还没有达到相当于1个GOP的情况下,图像编 码装置IOa返回到步骤ST5。在步骤ST7,图像编码装置IOa执行量化信息设置处理。在步骤ST8,图像编码装置 IOa执行后向搜索处理。在步骤ST9中,图像编码装置IOa辨别用于上一次编码的量化信息 是否已经被辨别出。在后向搜索处理已经被执行并且量化信息(例如,量化参数和量化矩 阵)已经被辨别出的情况下,图像编码装置IOa进行到步骤ST10,并且在没有量化信息已经 被辨别出的情况下,进行到步骤ST13。在步骤ST10,图像编码装置IOa辨别画面类型是否 被匹配。在画面类型设置单元11处设置的画面类型和其量化信息已经在量化信息辨别单 元60处被辨别出的画面类型没有被匹配的情况下,图像编码装置IOa进行到步骤ST11,并 且在画面类型被匹配的情况下,进行到步骤ST12。在步骤ST11,图像编码装置IOa执行画 面类型匹配处理。在步骤ST12,图像编码装置IOa执行量化信息改变处理。在步骤ST13, 图像编码装置IOa执行主编码处理。另外,图像编码装置IOa执行图6中所示的量化信息设置处理,以及图8中所示的 用于计算相当于1个GOP的生成代码量的处理等,并且执行用于以高精确度方式实现目标 生成代码量的量化信息的设置。接下来,描述根据第二实施例的生成代码量计算处理。图15是用于描述在提供内部预编码处理单元30的情况下的量化参数和后面描述 的生成代码量计算处理的示图。代码量控制单元40a根据在预编码单元20处使用固定量 化参数QP (P)执行编码时的生成代码量BT (ρ)来将宏块分类为多个群组。另外,如上所述, 代码量控制单元40a从预先为每个群组提供的指示量化参数和生成代码量之间的关系的 多个预测曲线中选择相应群组的预测曲线,例如预测曲线CB。另外,如图15中所示,代码量 控制单元40a使用所选择的预测曲线CB来预测使得生成代码量等于或小于目标生成代码 量BT(t)并变为与之非常接近的值的量化参数QP (t)。代码量控制单元40a使用此预测的 量化参数QP(t)来预测I画面的生成代码量以及非I画面的生成代码量。在使用预测的量化参数来预测I画面的生成代码量的情况下,代码量控制单元 40a基于预编码处理的生成代码量来预测采用预测的量化参数时的生成代码量。该预测的 生成代码量将被称为第一生成代码量。另外,代码量控制单元40a从在内部预编码处理中 获取的生成代码量来计算在预测的量化参数被采用时的生成代码量。该计算出来的生成代码量将被称为第二生成代码量。代码量控制单元40a从第一生成代码量和第二生成代码量计算校正系数。另外, 代码量控制单元40a利用计算出的校正系数来校正第一生成代码量,并且将校正后的第一 生成代码量作为在预测的量化参数被采用时的I画面的生成代码量。另外,代码量控制单 元40a计算指示I画面中的高频分量的状态的高频分量开销(cost),并且使用计算出来的 高频分量开销来执行第一生成代码量的校正。在使用预测的量化参数来预测非I画面的生成代码量的情况下,代码量控制单元 40a基于预编码处理的生成代码量来预测在预测的量化参数被采用时的生成代码量。该预 测的生成代码量将被称为第三生成代码量。另外,代码量控制单元40a计算非I画面中的 校正系数,使用该校正系数来执行第三生成代码量的校正,并且将校正后的第三生成代码 量作为在预测的量化参数被采用时的非I画面的生成代码量。图16是示出在预测的量化参数被采用时的用于I画面的生成代码量计算处理的 流程图。在步骤ST41,代码量控制单元40a预测第一生成代码量。代码量控制单元40a预 测在采用预测的量化参数时的生成代码量,并将其作为第一生成代码量,并且进行到步骤 ST42。例如,如图15中所示,代码量控制单元40a使用所选择的预测曲线CB来预测使得生 成代码量具有等于或小于目标生成代码量BT (t)并与之非常接近的值的量化参数,并且预 测在采用该预测的量化参数时的生成代码量。也就是说,代码量控制单元40a将预测的量 化参数QP (t)的生成代码量BT (pt)作为第一生成代码量,并且进行到步骤ST42。注意,量 化参数QP(P)应该预先被设置为小值,从而使得在使用量化参数QP(P)执行编码时的生成 代码量变得大于目标生成代码量。在如此设置量化参数QP(P)的情况下,基本量化参数可 以被设置,以降低等于或小于目标生成代码量并与之非常接近的生成代码量。在步骤ST42,代码量控制单元40a执行量化矩阵选择操作。图17是示出量化矩 阵选择操作的流程图。在步骤ST51,代码量控制单元40a辨别预编码单元20的生成代码 量是否等于或大于上限值。当生成代码量小于上限值时,代码量控制单元40a进行到步骤 ST52,并且当生成代码量等于或大于上限值时,进行到步骤ST54。在步骤ST52,代码量控制单元40a辨别预编码单元20的生成代码量是否等于或小 于下限值。当生成代码量大于下限值时,代码量控制单元40a进行到步骤ST53,并且当生成 代码量等于或小于下限值时,进行到步骤ST56。在步骤ST53,代码量控制单元40a辨认是否存在很多高频分量。代码量控制单元 40a计算识别值,通过该识别值,可以从内部预编码单元30的生成代码量确定是否存在很 多高频分量。代码量控制单元40a计算在采用量化矩阵QMN时的生成代码量相对于在采用 量化矩阵QMF时的生成代码量的百分比,并且将其作为识别值。在确定计算出的识别值大 于阈值THva并且存在很多高频分量的情况下,代码量控制单元40a进行到步骤ST55,并且 在确定计算出的识别值等于或小于阈值THva并且存在较少高频分量的情况下,进行到步 骤 ST56。在步骤ST54,代码量控制单元40a选择量化矩阵QMS。由于预编码单元20的生成 代码量等于或大于上限值,所以代码量控制单元40a选择图13C中所示的量化矩阵QMS。在 选择量化矩阵QMS的情况下,高频分量被大大减少,并且生成代码量变小。
在步骤ST55,代码量控制单元40a选择量化矩阵QMN。由于预编码单元20的生成 代码量被包括在上限值和下限值之间的范围内,并且高频分量没有被确定为小,所以代码 量控制单元40a选择通常采用的图13B中所示的量化矩阵QMN。在步骤ST56,代码量控制单元40a选择量化矩阵QMF。由于预编码单元20的生成 代码量等于或小于下限值,或者生成代码量被包括在上限值和下限值之间的范围内,但是 高频分量被确定为小,所以代码量控制单元40a选择图13A中所示的量化矩阵QMF。在选择 量化矩阵QMF的情况下,可以防止低频分量和高频分量被减少。所以,代码量控制单元40a在确定存在很多高频分量时选择用于减少高频分量的 量化矩阵QMN,并且在确定存在较少高频分量时选择高频分量的减少比量化矩阵QMN小的 量化矩阵QMF。因此,例如,没有使用用于减少高频分量的量化矩阵对已经通过编码和解码 处理减少了高频分量的图像进行编码,因此可以防止其图像质量的劣化。另外,当预编码单 元20处计算出的生成代码量等于或大于上限值时,高频分量的减少比量化矩阵QMN大的量 化矩阵QMS被选择,因此用于降低生成代码量的量化矩阵可以被选择。注意,对于图17中所示的量化矩阵选择操作,量化矩阵是根据生成代码量选择 的,但是量化矩阵的选择可以根据图16中步骤ST41中根据生成代码量计算出的量化参数 QP (t)的值来执行。例如,当量化参数QP (t)的值小于步骤ST51中所确定的第一参数值时, 在步骤ST54中量化矩阵QMS被选择。另外,可以作出如下布置,即,当量化参数QP(t)的值 大于在步骤ST51中确定的第二参数值(大于第一值的值)时,在步骤ST56中量化参数QMF 被选择。代码量控制单元40a在图16中的步骤ST42中执行量化矩阵设置操作,并且进行 到步骤ST43。在步骤ST43,代码量控制单元40a执行量化矩阵转换限制处理。代码量控制单元 40a例如通过对于GOP中相似图像选择不同的量化矩阵并频繁执行量化矩阵转换来执行量 化矩阵转换限制处理以防止图像质量变得不稳定。图18是示出量化矩阵转换限制处理的流程图。在步骤ST61中,代码量控制单元 40a辨别GOP中的所有画面是否已经选择了相同的量化矩阵。当GOP中的所有画面没有选 择相同的量化矩阵时,代码量控制单元40a进行到步骤ST62。另外,当GOP中的所有画面选 择相同的量化矩阵时,代码量控制单元40a结束转换限制处理。在步骤ST62,代码量控制单元40a搜索要被最频繁地采用的最频繁量化矩阵。代 码量控制单元40a将GOP中被最频繁地采用的量化矩阵作为最频繁量化矩阵QMmx,并且进 行到步骤ST63。在步骤ST63,代码量控制单元40a辨别是否存在两个或更多个最频繁量化矩阵 QMmx。当存在两个或更多个最频繁量化矩阵QMmx时,代码量控制单元40a进行到步骤ST64, 并且当存在单个最频繁量化矩阵QMmx时,进行到步骤ST66。在步骤ST64,代码量控制单元40a辨别在最频繁量化矩阵QMmx中是否包括量化矩 阵QMN。当在最频繁量化矩阵QMmx中包括量化矩阵QMN时,代码量控制单元40a进行到步 骤ST65。另外,当在最频繁量化矩阵QMmx中没有包括量化矩阵QMN时,S卩,在量化矩阵QMF 和量化矩阵QMS已经被选择作为最频繁量化矩阵QMmx的情况下,代码量控制单元40a结束 稳定性控制操作。在量化矩阵QMF和量化矩阵QMS已经被选择作为最频繁量化矩阵QMmx
20的情况下,对于选择量化矩阵QMF的画面和选择量化矩阵QMS的画面,估计生成代码量完全 不同并且图像互不类似。因此,稳定性控制操作结束。在步骤ST65,代码量控制单元40a将量化矩阵QMN设置为最频繁量化矩阵QMmx, 并且进行到步骤ST66。在步骤ST66,代码量控制单元40a从GOP的头部开始执行量化矩阵的重新核对,并 且进行到步骤ST67。在步骤S67,代码量控制单元40a辨别量化矩阵QM是否等于最频繁量化矩阵 QMmx。当画面的量化矩阵QM不等于最频繁量化矩阵QMmx时,代码量控制单元40a进行到 步骤ST68,并且当二者相等时,进行到步骤ST70。在步骤ST68,代码量控制单元40a辨别量化矩阵QM或最频繁量化矩阵QMmx是否 为量化矩阵QMN。当量化矩阵QM或最频繁量化矩阵QMmx为量化矩阵QMN时,代码量控制单 元40a进行到步骤ST69。另外,当它们二者都不是量化矩阵QMN时,代码量控制单元40a进 行到步骤ST70。也就是说,当量化矩阵QM和最频繁量化矩阵QMmx之一是量化矩阵QMF,并 且另一个是量化矩阵QMS时,如上所述,图像被估计为互不类似,因此代码量控制单元40a 进行到步骤ST70。在步骤ST69,代码量控制单元40a改变确定条件,以执行量化矩阵的重新选择。代 码量控制单元40a校正确定条件,以选择与最频繁量化矩阵已经从其选择出来的图像相类 似的图像中的最频繁量化矩阵,再次执行量化矩阵的选择,并且进行到步骤ST70。代码量控 制单元40a在最频繁量化矩阵很容易被选择的方向中校正在图17中的步骤ST51中采用的 上限值或在步骤ST53中采用的阈值Thva,再次执行量化矩阵的选择,并进行到步骤ST70。在步骤ST70,代码量控制单元40a辨别当前画面是否是GOP的最后画面。当当前 画面不是最后画面时,代码量控制单元40a返回到步骤ST67,并且在GOP的最后画面时,结 束转换限制处理。在执行量化矩阵转换限制处理的情况下,对于GOP中的类似图像,相同的量化矩 阵被选择,因此量化矩阵的转换被减少,并且图像质量可以被稳定。在图16中的步骤ST44,代码量控制单元40a执行第二生成代码量的计算。代码量 控制单元40a从内部预编码单元30处计算出来的生成代码量检测量化参数QP (t)中的生 成代码量BT (it),并且将其作为第二生成代码量。这里,在预编码单元20处采用量化矩阵 QMN的情况下,代码量控制单元40a从使用量化参数QP ( 0)至QP ( 2)以及量化矩阵QMN执 行编码时的生成代码量BT(iON)、BT(ilN)和BT(i2N)中检测量化参数QP(t)中的生成代码 量BT (it),并且将其作为第二生成代码量。图19是示出第二生成代码量检测处理的流程图。在步骤ST81,代码量控制单元 40a从内部预编码处理中采用的量化参数检测最接近预测的量化参数的量化参数。代码量 控制单元40a例如从量化参数QP (iO)至QP(i2)中选择最接近量化参数QP (t)的量化参数, 将其作为量化参数QP (ia),并且进行到步骤ST82。在步骤ST82,代码量控制单元40a从内部预编码处理中采用的量化参数中选择 第二最接近预测的量化参数的量化参数。代码量控制单元40a例如从量化参数QP (iO)至 QP ( 2)中检测第二最接近量化参数QP (t)的量化参数,将其作为量化参数QP (ib),并进行 到步骤ST83。
在步骤ST83,代码量控制单元40a计算采用预测的量化参数时的生成代码量。代 码量控制单元40a使用采用量化参数QP (ia)和量化矩阵QMN时的生成代码量BT (iaN)、以 及采用量化参数QP (ib)和量化矩阵QMN时的生成代码量BT (ibN)来执行插值处理。代码量 控制单元40a执行诸如线性插值、曲线插值之类的插值处理来计算预测的量化参数QP(t) 的生成代码量BT (it)。代码量控制单元40a如此计算第二生成代码量BT(it),并且从图16中的步骤 ST44进行到步骤ST45。在步骤ST45,代码量控制单元40a计算第一校正系数。代码量控制单元40a使用 从预编码处理结果检测出的第一生成代码量BT(pt)以及从内部预编码处理结果检测出的 第二生成代码量BT (it)来执行表达式(2)的计算,以计算第一校正系数C (i),并且进行到 步骤ST46。C (i) = BT (it)/BT (pt)(2)在步骤ST46,代码量控制单元40a计算高频分量开销。代码量控制单元40a计算 指示I画面中的高频分量的状态的高频分量开销H(i)。图20是示出高频分量开销计算操作的流程图。另外,图21示出了来自内部预编 码单元的输出。在图20中,在步骤ST91中,代码量控制单元40a选择内部预编码处理中的量化参 数的最小值。例如,如图21中所示,对于内部预编码处理,在量化参数QP(iO)、QP(il)和 QP(i2) (QP(iO) <QP(il) <QP(i2))被采用的情况下,代码量控制单元40a选择量化参数 QP(iO),并且进行到步骤ST92。在步骤ST92,代码量控制单元40a选择采用最小量化参数时的生成代码量以及从 高频到低频的量化步骤平坦的量化参数。例如,量化矩阵QMF将是矩阵值为固定值并且其 从高频到低频的量化步骤平坦的矩阵。量化矩阵QMN将是这样的矩阵,其中高频的矩阵值 是大于低频的矩阵值的值,并且高频相对于低频被粗略量化。量化矩阵QMN将是这样的矩 阵,其中高频的矩阵值是大于低频的矩阵值的值,并且高频相对于低频被粗略量化。量化矩 阵QMS将是这样的矩阵,其中高频的矩阵值比量化矩阵QMN更大的值,并且在高频的衰减比 量化矩阵QMN更急剧的状态中量化被执行。在这种情况下,由于量化参数QP (i0)被选择作 为最小量化参数,所以代码量控制单元40a选择采用量化参数QP ( 0)和量化矩阵QMF时的 生成代码量BT (iOF),并且进行到步骤ST93。在步骤ST93,代码量控制单元40a选择采用最小量化参数时的生成代码量和用于 相对于低频较为粗略地量化高频的通常量化矩阵。例如,代码量控制单元40a选择采用量 化参数QP ( 0)和量化矩阵QMN时的生成代码量BT ( 0Ν),并且进行到步骤ST94。在步骤ST94,代码量控制单元40a计算高频分量开销。代码量控制单元40a执行 表达式(3)的计算,以计算高频分量开销H(i)。H(i) = BT(i0F)/BT(i0N)(3)当如此计算高频开销时,代码量控制单元40a从图16中的步骤ST46进行到步骤 ST47,并且执行第二校正系数的计算。第二校正系数是用于将预测的生成代码量校正为采 用主编码单元70处使用的量化矩阵时的生成代码量的校正系数。注意,主编码单元70处 使用的量化矩阵是在步骤ST42和ST43中选择用于每个画面的量化矩阵,并且在下面的描述将被作为量化矩阵QMW。图22是示出第二校正系数计算操作的流程图。在步骤ST101,代码量控制单元40a 辨别所选择的矩阵QMW是否为量化矩阵QMN。当所选择的量化矩阵QMW不是量化矩阵QMN 时,代码量控制单元40a进行到步骤ST102,并且当所选择的量化矩阵QMW是量化矩阵QMN 时,进行到步骤ST108。在步骤ST102,代码量控制单元40a执行量化参数的读取。代码量控制单元40a读 入在步骤ST41中预测的量化参数QP (t),并且进行到步骤ST103。在步骤ST103,代码量控制单元40a选择最接近内部预编码单元30处使用的量化 参数的量化参数。代码量控制单元40a例如从量化参数QP (i0)至QP(i2)中选择最接近量 化参数QP (t)的量化参数,将其作为量化参数QP (ia),并且进行到步骤ST104。在步骤ST104,代码量控制单元40a计算量化参数QP (ia)中的系数Ma。代码量控 制单元40a将采用量化参数QP(ia)中的量化矩阵QMN时的生成代码量作为BT(iaN)。另外, 对于量化参数QP (ia),在采用量化矩阵选择操作中选择的量化参数QMM时的生成代码量被 作为BT(iaM)。代码量控制单元40a使用表达式(4)来计算系数Ma,并进行到步骤ST105。Ma = BT(iaN)/BT(iaM)(4)在步骤ST105,代码量控制单元40a选择与内部预编码单元30处使用的量化参数 第二最接近的量化参数。代码量控制单元40a例如从量化参数QP (iO)至QP(i2)中选择与 量化参数QP (t)第二最接近的参数,将其作为量化参数QP (ib),并且进行到步骤ST106。在步骤ST106,代码量控制单元40a计算量化参数QP (ib)中的系数Mb。代码量控 制单元40a将采用量化参数QP(ib)中的量化矩阵QMN时的生成代码量作为BT(ibN)。另夕卜, 对于量化参数QP (ib),采用量化矩阵选择操作中选择的量化参数QMM时的生成代码量被作 为BT(ibM)。代码量控制单元40a使用表达式(5)来计算系数Mb,并且进行到步骤ST107。Mb = BT(ibN)/BT(ibM)(5)在步骤ST107,代码量控制单元40a从系数Ma和Mb来计算关于量化参数QP (t)的 第二校正系数Mt。代码量控制单元40a使用系数Ma和系数Mb执行插值处理(例如,表达 式(6)中所示的线性插值),以计算第二校正系数Mt。Mt = Ma+ (Mb-Ma) + (Qp (t) -Qp (ia)) / (QP (ib) -QP (ia))(6)在步骤ST108,代码量控制单元40a将第二校正系数Mt作为“1”。由于预编码单 元20处使用的量化矩阵和主编码单元70处使用的量化矩阵二者均为量化矩阵QMN,所以代 码量控制单元40a将第二校正系数Mt作为“ 1 ”,并且结束该处理。在这样计算第二校正系数的情况下,例如,图21中所示,最接近量化参数QP (t)的 参数是量化参数QP (i 1),并且第二最接近量化参数QP (t)的参数是量化参数QP (iO),并且 在量化矩阵QMS已经被选择的情况下,第二校正系数Mt可以是通过执行表达式(4)至(6) 的计算而计算出来的,其中,BT(iaN) =BT(ilN),BT(iaM) = BT (ils)、BT (ibN) =BT(iON)、 BT (ibN) = BT(iON)、BT(ibM) = BT (iOs)、QP (ia) = QP (il),以及 QP (ib) =QP(iO)。这样,在图16中的步骤ST47中计算第二系数之后,代码量控制单元40a进行到步 骤ST48,并且执行第一生成代码量的校正。代码量控制单元40a使用生成代码量BT (pt)和 校正系数C(i)来执行表达式(7)的计算,以计算校正后的生成代码量BT(itc)。BT(itc) = BT(pt) XC(I) XMt(7)
接下来,将使用图23中所示的流程图给出关于采用预测的量化参数时的非I画面 生成代码量计算处理的描述。在步骤ST111,代码量控制单元40a执行第三生成代码量的检 测。代码量控制单元40a根据在预编码单元20中使用固定量化参数QP (ρ)执行编码时的生 成代码量BT(p),将宏块分类成多个群组。另外,代码量控制单元40a从预先为每个群组提 供的指示量化参数和生成代码量之间的关系的多个预测曲线中选择相应群组的预测曲线。 另外,代码量控制单元40a将在使用所选择的预测曲线已经预测出的量化参数QP (t)中的 生成代码量BT (ut)作为第三生成代码量,并进行到步骤STl 12。在步骤ST112,代码量控制单元40a计算非I画面中的高频分量开销。代码量控制 单元40a执行与以上的图12中所示的高频分量开销计算相同的处理,以计算非I画面中的 高频开销H(U)。在这种情况下,高频分量H(U)的计算被使用表达式(8)执行。H(u) = BT(iOF)/BT(iON)(8)注意,在表达式(8)中,生成代码量BT(iOF)和BT(iON)是在将用于计算高频分量 开销的非I画面的图像数据作为I画面进行内部预编码处理时的生成代码量。这样,在步骤ST112中计算高频分量开销之后,代码量控制单元40a进行到步骤 ST113,以计算第一校正系数。代码量控制单元40a使用在I画面中计算出的校正系数C(i)、 高频分量开销H(i)以及在步骤ST112中计算出的高频分量开销H(u)执行表达式(9)的计 算,以计算校正系数C (ic),并进行到步骤STl 14。C (ic) = C(I) XH(I)/H(U)(9)在步骤ST114,代码量控制单元40a执行第二校正系数计算处理。代码量控制单 元40a执行参考图22描述的第二校正系数计算处理,以从对应于非I画面的内部预测单元 30的I画面中计算出的生成代码量来计算对应于非I画面的第二校正系数Mtu,并进行到 步骤STl 15。在步骤ST115,代码量控制单元40a执行第二生成代码量的校正。代码量控制单元 40a使用生成代码量BT(ut)和校正系数C(ic)以及Mtu来执行表达式(10)的计算,以计 算校正后的生成代码量BT (utc)。注意,校正系数Mtu是使用非I画面的生成代码量以与I 画面相同的方式计算出的校正系数。BT(Utc) = BT(Ut) XC (ic) XMtu(10)这样,代码量控制单元40a执行非I画面的生成代码量的校正。另外,代码量控制 单元40a确定使得1个GOP的校正后的生成代码量的总和等于或小于目标生成代码量并且 非常接近目标生成代码量的量化参数。主编码单元70使用在代码量控制单元40a处确定 的量化矩阵和量化参数执行图像数据的编码,并输出经编码的数据。在使用第二实施例执行以上操作的情况下,可以通过预编码处理和内部预编码处 理来执行精确的量化信息的设置。因此,此设置的量化信息被作为参考,从而可以最佳地设 置用于执行对用于上一次编码的量化信息的辨别的范围。另外,当没有进行编码的原始图像的图像数据被输入时,使用在代码量控制单元 40a处设置的量化矩阵和量化参数在主编码单元处执行编码。所以,编码后的数据可以被输 出,其中,生成代码量等于或小于目标生成代码量,并且图像中很少有劣化。另外,使用在预 编码单元20处计算出的生成代码量和在内部预编码单元30处计算出的生成代码量,基于 高频分量的辨别结果从多个不同量化矩阵中选择量化矩阵。所以,相对于目标生成代码量
24仅通过量化参数来实现的情况,图像质量的劣化被进一步降低。另外,通过使用用于实现目标生成代码量的量化参数执行预编码处理预测出的生 成代码量被根据通过执行内部预编码处理计算出的生成代码量而校正。另外,量化参数被 确定,从而使得校正后的生成代码量实现了目标生成代码量。所以,即使在宏块的生成代码 量和量化参数之间的关系根据图像而改变时,也可以精确地执行生成代码量的预测。另外,本说明书中描述的一系列处理可以通过硬件、软件、或者它们二者的组合配 置来执行。在通过软件执行处理的情况下,其中记录了处理序列的程序可以通过被安装到 容纳于专用硬件中的计算机中的存储器而被执行,或者可以通过被安装到能够执行各种处 理的通用计算机中而被执行。例如,程序可以被预先记录在用作记录介质的硬盘或ROM(只读存储器)中,或者 可以被暂时或永久地存储(或记录)在诸如柔性盘、CD-ROM(致密盘只读存储器)、MO (磁 光)盘、DVD (数字通用盘)、磁盘、半导体存储器等的可移除介质中。这样的可移除介质可 以被提供作为所谓的封装软件。注意,除了诸如以上所述程序被从可移除记录介质安装到计算机中以外,程序还 可以经由诸如LAN(局域网)、互联网等的网络无线地或通过电缆被从下载站点传输到计算 机。计算机可以接收如此传输的程序,以将其安装在诸如内置型硬盘等的记录介质中。本发明包含涉及于2009年7月27日在日本专利局递交的日本优先权专利申请 JP2009-173907公开的内容,其全部内容通过引用结合于此。注意,本发明不应该被以将本发明限制于以上实施例的方式来理解。通过本发明 的实施例,本发明已经以说明性示例的模式被公开,并且很明显,在不脱离本发明的本质和 精神的情况下,本领域普通技术人员可以想到各种修改或变型。也就是说,为了理解本发明 的本质和精神,应该参考权利要求书。
权利要求
一种图像编码装置,包括第一编码单元,被配置为通过使用预定量化信息以包括预定次序的参考画面和非参考画面的GOP(画面组)为单位对图像数据执行编码,来计算生成代码量;代码量控制单元,被配置为基于在所述第一编码单元处计算出的生成代码量,来执行用于实现目标生成代码量的量化信息的设置;量化信息辨别单元,被配置为以所述图像数据的每帧的图像作为是参考画面的I画面(帧内编码图像)来执行DCT(离散余弦变换)系数的计算,以及将在使用以所述代码量控制单元确定的量化信息作为基准的范围内的量化信息执行所述DCT系数的除法时使得以画面为单位的余数的总和最小的量化信息辨别作为执行上一次编码时使用的量化信息;画面类型设置单元,被配置为以所述GOP为单位来对所述图像数据执行画面类型的设置,并且在所设置的画面类型不同于其量化信息已经在所述量化信息辨别单元处被辨别出的画面类型的情况下,通过控制后续画面类型的设置来匹配画面类型;以及第二编码单元,被配置为使用所述代码量控制单元处设置的量化信息,基于所述画面类型设置单元处设置的画面类型,来执行对所述图像数据的编码。
2.根据权利要求1所述的图像编码装置,其中,所述画面类型设置单元调整GOP的长 度,以将要为所述图像数据设置的画面类型与在执行上一次编码时的画面类型匹配。
3.根据权利要求2所述的图像编码装置,其中,在所述量化信息辨别单元处辨别出I画 面的相位相对于要为所述图像数据设置的I画面超前时,所述画面类型设置单元通过将比 所述I画面早的画面的数目减少超前画面的数目来执行GOP的长度的调整,以将要为所述 图像数据设置的画面类型与执行上一次编码时的画面类型匹配。
4.根据权利要求2所述的图像编码装置,其中,在所述量化信息辨别单元处辨别出I画 面的相位相对于要为所述图像数据设置的I画面延迟时,所述画面类型设置单元通过减少 接下来的一个或多个GOP的画面数目来执行GOP的长度的调整,以将要为所述图像数据设 置的参考画面和非参考画面的画面类型与执行上一次编码时的画面类型匹配。
5.根据权利要求2所述的图像编码装置,其中,所述画面类型设置单元对要为所述图 像数据设置的I画面和执行上一次编码时的I画面进行匹配。
6.根据权利要求1所述的图像编码装置,还包括量化信息确定单元,被配置为在所述量化信息辨别单元处辨别出所述量化信息时,将 在所述代码量控制单元处设置的量化信息改变为所述量化信息辨别单元辨别出的所述量 化信息;其中,所述第二编码单元使用在所述量化信息确定单元处确定的量化信息来执行所述 图像数据的编码。
7.根据权利要求1所述的图像编码装置,还包括第三编码单元,被配置为通过使用多个不同的量化信息,以所述图像数据的每帧的图 像作为I画面针对每个所述量化信息执行编码,来计算生成代码量;其中,所述代码量控制单元基于在所述第一编码单元处计算出的生成代码量,执行实 现目标生成代码量的量化信息的预测和在使用该量化信息时的生成代码量的预测,根据在 所述第三编码单元处计算出的生成代码量来校正预测的生成代码量,并且执行量化信息的 设置以使得校正后的生成代码量实现所述目标生成代码量。
8. 一种图像编码方法,包括以下步骤第一编码单元通过使用预定量化信息以包括预定次序的参考画面和非参考画面的 GOP (画面组)为单位对图像数据执行编码,来计算生成代码量;代码量控制单元基于在所述第一编码单元处计算出的生成代码量来设置用于实现目 标生成代码量的量化信息;量化信息辨别单元以所述图像数据的每帧的图像作为是参考画面的I画面(帧内编码 图像)来计算DCT (离散余弦变换)系数,并将在使用以所述代码量控制单元确定的量化信 息作为基准的范围内的量化信息执行所述DCT系数的除法时使得以画面为单位的余数的 总和最小的量化信息辨别作为在执行上一次编码时使用的量化信息;画面类型设置单元以所述GOP为单位对所述图像数据设置画面类型,并且在所设置的 画面类型不同于其量化信息已经在所述量化信息辨别单元处被辨别出的画面类型的情况 下,通过控制后续画面类型的设置来匹配画面类型;以及第二编码单元使用在所述代码量控制单元处设置的量化信息,基于在所述画面类型设 置单元处设置的画面类型,来对所述图像数据进行编码。
全文摘要
公开了一种图像编码装置和图像编码方法。图像编码装置包括第一编码单元,用于通过对每个GOP(画面组)的图像数据进行编码来计算生成代码量;代码量控制单元,用于基于生成代码量来设置用于实现目标生成代码量的量化信息;量化信息辨别单元,用于计算DCT(离散余弦变换)系数,以及将在执行DCT系数的除法时使得对于每个画面的余数的总和最小的量化信息辨别作为用于执行上一次编码的量化信息;画面类型设置单元,用于对每个GOP的图像数据设置画面类型,以及当所设置的画面类型不同于辨别出的量化信息的画面类型时通过控制后续画面类型的设置来匹配画面类型;以及第二编码单元,用于基于所设置的编码类型来对图像数据进行编码。
文档编号H04N7/26GK101969554SQ20101023390
公开日2011年2月9日 申请日期2010年7月20日 优先权日2009年7月27日
发明者小籔恭平, 渕江孝明 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1