图像处理装置及其方法

文档序号:7692190阅读:150来源:国知局
专利名称:图像处理装置及其方法
技术领域
本发明涉及对动态图像进行编码的图像处理装置及其方法。
背景技术
由于数字动态图像数据的数据量很大,因此需要在记录和传输时对其数 据量进行压缩的技术。近来,由于动态图像数据的输入和输出设备使用了较 高的分辨率和多色调等级,所以动态图像数据量进一步增加,因而对动态图 像数据进行数据压縮变得不可或缺。
一种对动态图像数据进行压縮并编码的装置,当输出动态图像数据到固 定传送速率的传送路径上时,执行压縮率控制,以控制量化步长。压縮率控 制在实际编码之前,估计出待编码帧的生成数据量,然后根据估计结果控制 数据压縮率(量化步长)。
在生成数据量的估计中,可以使用这样一种方法,该方法利用了先前已 编码帧的生成数据量。然而,假如待编码帧是场景变化后的一帧,换句话说, 假如已编码帧是场景变化前的一帧,则已编码帧的数据生成特性与待编码帧 的数据生成特性不同。因此,当场景发生变化时,不能正确估计生成数据量。 当然,如果待编码帧为动态图像数据的第一帧,由于没有已编码帧,因此不 能估计生成数据量。

发明内容
作为本发明的一个方面,提供一种对动态图像逐帧进行编码的图像处理 装置,包括第一存储器单元,用于存储与帧分辨率及帧的编码方式相对应 的多个系数集合;选择单元,用于获取表示待编码帧的分辨率的信息,然后 从所述第一存储器单元选择依照所述分辨率和待编码帧的编码方式的系数集 合;提取单元,用于提取待编码帧的特征量;生成单元,用于在待编码帧要 进行帧间预测编码的情况下,根据已选的系数集合和所述特征量,生成表示 量化步长与生成数据量之间关系的函数;设置单元,用于在所述生成单元生 成所述函数的情况下,基于所述函数,在待编码帧的编码中设置依照目标代 码量的量化步长。
作为本发明的另一个方面,提供一种图像处理装置的方法,该图像处理装置包括用于存储与动态图像的分辨率及帧的编码方式相对应的多个系数集 合的第一存储器单元,该方法对动态图像逐帧进行编码,并且包括以下步骤 获取表示待编码帧的分辨率的信息,并从所述存储器单元中选择依照所述分 辨率以及待编码帧的编码方式的系数集合;提取待编码帧的特征量;在待编码帧进行帧间预测编码的情况下,基于已选择的系数集合和特征量,生成表示量化步长与生成数据量之间关系的函数;在生成所述函数的情况下,基于 所述函数,在待编码帧的编码中设置依照目标代码量的量化步长。根据这些方面,量化步长能够根据目标代码量被高精度设置。而且,量 化步长能够考虑到场景变化,根据目标代码量来设置。本发明进一步的特征,将在以下参照附图的具体实施方式
的描述中,得 以清楚地记载。


图1为动态图像编码装置的结构的框图。图2为压縮率控制单元的结构的框图。图3为压縮率控制单元的其它结构的框图。图4为压縮率控制单元的其它结构的框图。图5为模型类型Q确定单元的处理的流程图。图6为模型类型Q确定单元的结构的框图。图7A到7C为说明了利用QR功能确定目标代码量相应的量化步长的方 法的视图。
具体实施方式
以下将参照附图对本发明的实施例中的图像处理装置和方法详细地进 行描述。第一实施例装置的结构图1为动态图像编码装置的结构的框图。输入单元100输入多个时间上连续的帧所形成的数字动态图像数据。减 法器101计算从输入单元100输入的帧与从预测图像保持单元111输出的预 测值之间的差(下文指"预测误差")。输入的动态图像数据的每一帧都被分为小矩形块Bij (每一个被定义为
例如8x8像素、16x16像素,诸如此类)。当输入的动态图像为彩色图像时, 对每个宏块(MBij〉Bij) —即矩形块Bij的集合进行处理。小矩形分割单元 116在编码模式确定单元102的控制下,将输入的动态图像数据的每一帧或 减法器101输出的预测误差分割成宏块(MB)。
预测方向确定单元117为每一帧在帧内编码和帧间预测编码之间选择。 正交变换单元103以MB为单位对待编码的MB进行正交变换。量化单元104 在压縮率控制单元112的控制下,对正交变换单元103输出的正交变换系数 执行标量量化。
可变长度编码单元113对量化单元104输出的量化值执行可变长度编码, 并将编码后的值输出给缓冲器114。缓冲器114缓冲多个己编码帧,并在压 縮率控制单元112的控制下,将多个已编码帧作为已进行数据压縮的动态图 像数据输出到输出单元115。稍后将对压縮率控制单元112的细节进行描述。
逆量化单元105将量化单元104输出的量化值逆量化,并输出正交变换 系数。逆正交变换单元106对逆量化单元105输出的正交变换系数进行逆正 交变换,以对MB或预测误差解压縮。
加法器107在编码模式确定单元102的控制下,将逆正交变换单元106 解压縮的MB与预测图像保持单元111保持的预测图像的相应块相加,以重 构待编码块,并将重构的块存储在帧存储器108的相应区域中。或者,加法 器107将逆正交变换单元106解压縮的预测误差存储在帧存储器108的相应 区域中。
当编码模式确定单元102控制正交变换单元103对待编码的MB进行正 交变换时,其控制加法器107以将待编码的解压縮的MB存储在帧存储器108 中。当编码模式确定单元102控制正交变换单元103对预测误差进行正交变 换时,其控制加法器107将解压縮的预测误差存储在帧存储器108中。即帧 存储器108存储被本地解码的帧。
运动向量检测单元109,参照帧存储器108存储的前一个的待编码帧(上 一帧)的编码图像,对每个MB检测运动向量。在此情况下,运动向量检测 单元109在待编码的MB周围±15像素的范围内执行块匹配,并用预测误差 的绝对和的平均值最小的块作为预测块,检测运动向量。
运动补偿单元IIO利用运动向量检测单元109的检测信息(运动向量), 从帧存储器108存储的重构帧(参照帧)中生成预测图像,并将生成的预测图像存储在预测图像保持单元111中。预测图像保持单元111将存储的预测
图像输出给减法器101和加法器107。
压縮率控制单元
图2为压縮率控制单元112的框图。
在开始编码时,目标代码量确定单元202输出预定的目标代码量,量化 步长确定单元200将预定的量化步长设定在量化单元104中。
在编码开始并且代码被存储在缓冲器114后,目标代码量确定单元202 根据代码存储状态输出每一帧的目标代码量。量化步长确定单元200将依照 目标代码量的量化步长输出到临时编码单元201。
临时编码单元201用从量化步长确定单元200输入的量化步长,对从正 交变换单元103输入的当前帧的正交变换系数进行量化。此外,临时编码单 元201使用可变长编码单元113相同的方法来对量化值编码,并通知量化步 长确定单元200生成数据量。
如果临时编码单元201通知给量化步长确定单元200的生成数据量(后 文指"预测代码量")落入目标代码量的允许范围内,则量化步长确定单元200 将上述的量化步长设定在量化单元104中,以对当前帧进行编码。另一方面, 如果预测代码量落在目标代码量的允许范围外,则量化步长确定单元200对 设定在量化单元104中的量化步长进行调整,使生成数据量落入目标代码量 的允许范围内,以对当前帧进行编码。
在此结构中,虽然需要的计算量近乎实际编码所需计算量的两倍,但是 在实际编码之前,能精确地估计生成数据量。
图3为压縮率控制单元112的其它结构的框图。
QR曲线保持单元204为保持由经验计算得到的量化步长Q与生成数据 量R之间的关系(QR曲线)的存储器。QR曲线是为各种类型的图像,例如 要进行帧内编码的帧(帧内编码图像)、要进行前向预测的帧(预测图像)以 及要进行双向估计的帧(双向预测图像)而准备的。要注意的是,QR曲线 由以量化步长Q为变量的多项式(QR函数,R=f (Q))来表达。
QR曲线选择单元203,根据编码模式确定单元102输出的表示当前帧的 图像类型的信息,输出QR曲线保持单元204保持的QR曲线的选择信息。 量化步长确定单元200参照由选择信息所指示的QR曲线,将依照目标代码 量的量化步长设定在量化单元104中,对当前帧进行编码。
由于QR曲线根据动态图像数据的分辨率和色调数(位元深度)以及动态图像数据中的对象特性来改变,因而不能保证确实地获得目标代码量。然而,图3所示的压縮率控制单元112的结构与图2所示相比,能够减少计算QR曲线不仅可以与图像类型相关联地,而且可与动态图像的分辨率和 位元深度相关联地存储在QR曲线保持单元204中。在此情况下,QR曲线 选择单元203从输入的动态图像数据的头信息等,获取表示动态图像数据的 分辨率和位元深度的信息,并且能够依照图像类型、分辨率和位元深度来选 择QR曲线。如果动态图像的分辨率和位元深度与QR曲线保持单元204保 持的QR曲线的代表分辨率和位元深度不相匹配,则选择分辨率和位元深度 与动态图像的分辨率和位元深度最相近的QR曲线。图4为压縮率控制单元112的其它结构的框图。系数保持单元302为保持依照动态图像的分辨率的系数集合的存储器。 系数集合是对各种类型的图像一例如预测图像(P图像)、双向预测图像(B 图像)等等以及各种代表分辨率和位元深度而分别准备的。系数选择单元301从输入的动态图像的头信息等等来获取表示动态图像 的分辨率和位元深度的信息。然后,系数选择单元301依照编码模式确定单 元102输出的当前帧的图像类型、分辨率和位元深度,来选择系数保持单元 302保持的一个系数集合。当动态图像的分辨率和位元深度与系数保持单元 302保持的任何代表分辨率和位元深度都不匹配时,系数选择单元301选择 与动态图像最接近的系数集合、分辨率和位元深度。当编码模式确定单元102输出的图像为帧内编码图像(I图像)以外的 类型时,特征量提取单元304提取当前帧的特征量(例如每个MB的亮度值 的平均离散的统计量)。QR曲线生成单元303根据系数保持单元302输出的系数集合(由系数 选择单元301选择)和特征量提取单元304输出的特征量,生成QR曲线(QR 函数,R=f (Q))。 QR曲线生成单元303将生成的QR曲线输入给模型类型 Q确定单元300。需要注意的是,当编码模式确定单元102输出的图像为I 图像以外的类型时,QR曲线生成单元303输出QR曲线;当图像类型为I 图像时,不输出QR曲线。采用这种方式,在当前帧为动态图像的第一帧或紧跟场景变化后的I图 像时,既不执行特征量的提取,也不执行QR曲线的生成和输出。生成QR 曲线就是确定以量化步长Q为变量的多项式的系数。当没有从QR曲线生成单元303输入QR曲线时,模型类型Q确定单元 300将由例如图2或3描述的量化步长确定方法所确定的量化步长,设定在 量化单元104中,以对当前帧进行编码。当从QR曲线生成单元303输入QR 曲线时,模型类型Q确定单元300将在QR曲线的基础上根据目标代码量确 定的量化步长,设定在量化单元104中,以对当前帧进行编码。
图5为模型类型Q确定单元300的处理的流程图。需要注意的是图5所 示为一帧的处理。即当有多帧时,模型类型Q确定单元300反复进行图5所 示的处理。
一启动该处理,模型类型Q确定单元300即从目标代码量确定单元202 接收目标代码量Rtar (SIOOI),并检査是否从QR曲线生成单元303输入了 QR曲线(步骤S1002)。如果没有输入QR曲线,模型类型Q确定单元300 用通过例如图2或3描述的量化步长确定方法,来确定量化步长(步骤 S1003)。
如果输入了 QR曲线,模型类型Q确定单元300在QR曲线的基础上根 据目标代码量Rtar来确定量化步长Q (步骤S1004)。 图6为模型类型Q确定单元300的结构的框图。
Q保持单元403保持由Q更新单元404更新的量化步长Q。 R计算单元 401利用从Q更新单元404输入的量化步长Q和从QR曲线生成单元303输 入的QR函数(R=f (Q)),来计算代码量R。比较单元402比较从目标代码 量确定单元202输入的目标代码量和从R计算单元401输入的代码量R。 Q 更新单元404依照比较单元402的输出,更新Q保持单元403保持的量化步 长Q。
Q更新单元404包括从Q保持单元403保持的量化步长Q减去预定值的 减运算单元405,以及在Q保持单元403保持的量化步长Q上加上预定值的 加运算单元406。另外,Q更新单元包含依照比较单元402的输出来选择减 运算单元405的减运算结果或加运算单元406的加运算结果的选择器407。
在步骤S1004中,根据将生成数据量作为变量的函数Q:f (R),很容易 确定满足目标代码量Rtar的量化步长Q。然而,从将量化步长Q作为变量的 函数R^f (Q)中得出满足目标代码量Rtar的量化步长Q并不容易。
图7A到7C为说明使用QR函数R=f (Q)确定目标代码量Rtar对应的 量化步长Q的方法的视图。假定量化步长Q的范围在1到51之间。
如图7A所示,Q更新单元404将Q范围的中值"25"作为量化步长Q的初始值存储在Q保持单元403中,并使R计算单元401计算代码量R。比较 单元402将R与Rtar进行比较,然后输出表示比较结果的确定信号(三值)。 例如,如果R〉Rtar,如图7B所示,比较单元402输出"2"。如果R〈Rtar, 如图7C所示,比较单元402输出'T,。如果R= Rtar,比较单元402输出"O"。 当比较单元402输出"2"时,选择器407选择加运算单元406的输出;当 比较单元402输出"1"时,选择器407选择减运算单元405的输出。换句话说, 如果R > Rtar,选择器407选择由加运算单元406在当前的量化步长上加1 得到的量化步长Q,以减少代码量R。如果R < Rtar,选择器407选择由减 运算单元405在当前的量化步长Q上减1得到的量化步长Q,以增加代码量 R。
Q更新单元404对量化步长Q反复进行加法或减法操作,直到R= Rtar (确定信号=0,条件1),或确定信号从"2"变到"1"(条件2)或从"1"变到"2" (条件3)。如果确定信号满足条件l、 2或3, Q更新单元404将此时的量化 步长Q输出到量化单元104。采用这种方式,通过比较将量化步长Q代入函 数f (Q)计算得到的代码量R与目标代码量Rtar,并且使计算得到的代码量 R步进式地接近目标代码量Rtar,能够确定满足目标代码量Rtar的量化步长Q。
为了加快量化步长的确定处理,作为计算与模型类型Q确定单元300中 的目标代码量Rtar相对应的量化步长Q的方法能够使用二叉树的方法。
根据二叉树的方法,如果根据量化步长的初始值Qi得到的R= f (Qi) 与Rtar的比较结果为R-f (Qi) < Rtar,则设定最大Q值为Qi,然后使用 Qi与最小Q值'T,之间的中值Qc计算R- f (Qc)。如果R-f (Qc) >Rtar, 则设定最小Q值为Qc,并且设定Qc与最大Q值之间的中值为Qc,然后计 算11= f (Qc)。采用这种方法,通过使R- f (Q)接近Rtar,能够确定与目 标代码量Rtar对应的量化步长Q。
其它实施例
本发明能够适用于由多个设备(例如主计算机、接口、阅读器、打印机) 构成的系统或由单一设备(例如,复印机、传真机)构成的装置。
此外,本发明能向计算机系统或装置(例如,个人计算机)提供一种存 储了用来执行上述处理的程序代码的存储介质,通过计算机系统或装置的 CPU或MPU从该存储介质中读取程序代码,然后执行该程序。在此情况中,根据实施例,从存储介质读取的程序代码实现了所述功能。 此外,为了提供程序代码,可以使用例如,软盘、硬盘、光盘、磁光盘、
CD-ROM、 CD-R、磁带、非易失性存储卡和ROM的存储介质。
此外,不仅包含通过执行计算机读取的程序代码,上述实施例的功能得 以实现的情况,本发明还包含根据程序代码的指示,在计算机上运行的OS (操作系统)等执行处理的一部分或者全部,通过该处理上述实施例的功能 得以实现的情况。
此外,本发明还包含当从存储介质中读取的程序代码,被写入到插入计 算机的功能扩展板或者连接到计算机的功能扩展单元上所具备的存储器以 后,根据该程序代码的指示,该功能扩展板或者功能扩展单元上所具备的 CPU等执行处理的一部分或者全部,通过该处理上述实施例的功能得以实现 的情况。
在本发明适用于上述存储介质的情况下,与实施例描述的流程图对应的 程序代码就存储在该存储介质中。
虽然参照实施例对本发明进行了描述,应当理解的是本发明并不限于公 开的实施例。权利要求的范围被给予最宽泛的解释,包括所有变体、等同结 构和功能在内。
权利要求
1. 一种用于对动态图像逐帧进行编码的图像处理装置,包括第一存储器单元,用于存储与帧分辨率及帧的编码方式相对应的多个系数集合;选择单元,用于获取表示待编码帧的分辨率的信息,并从所述第一存储器单元选择依照所述分辨率和待编码帧的编码方式的系数集合;提取单元,用于提取待编码帧的特征量;生成单元,用于在待编码帧要进行帧间预测编码的情况下,根据已选的系数集合和所述特征量,生成表示量化步长与生成数据量之间关系的函数;设置单元,用于在所述生成单元生成所述函数的情况下,基于所述函数,在待编码帧的编码中设置依照目标代码量的量化步长。
2. 根据权利要求l所述的装置,其特征在于,所述第一存储器单元存储 除了与动态图像的分辨率和帧的编码方式对应以外,还与动态图像的位元深 度相对应的多个系数集合;所述选择单元获取表示待编码的动态图像的位元 深度的信息,并从所述第一存储器单元中选择依照所述分辨率、位元深度和 待编码帧的编码方式的系数集合。
3. 根据权利要求1所述的装置,其特征在于,还包括估计单元,用于估 计在待编码帧被编码的情况下的生成数据量;其中,所述设置单元在所述生成单元不生成函数的情况下,基于所述估 计单元的估计结果,在待编码帧的编码中设置依照目标代码量的量化步长。
4. 根据权利要求1所述的装置,其特征在于,进一步包括第二存储器单元,用于存储至少与帧的编码方式相对应的多个函数,其 中每个函数都表示量化步长与生成数据量之间的关系;选择单元,用于根据待编码帧的编码方式,从所述第二存储器单元中选择函数;其中,所述设置单元在所述生成单元不生成函数的情况下,基于所述选 择单元选择的函数,在待编码帧的编码中设置依照目标代码量的量化步长。
5. 根据权利要求1所述的装置,其特征在于,在待编码帧进行帧内编码 的情况下,所述生成单元不生成函数。
6. —种图像处理装置的方法,该图像处理装置包括用于存储与动态图像 的分辨率及帧的编码方式相对应的多个系数集合的第一存储器单元,该方法 对动态图像逐帧进行编码,并且包括以下步骤-获取表示待编码帧的分辨率的信息,并从所述存储器单元中选择依照所述分辨率和待编码帧的编码方式的系数集合; 提取待编码帧的特征量;在待编码帧进行帧间预测编码的情况下,基于已选择的系数集合和特征 量,生成表示量化步长与生成数据量之间关系的函数;在生成所述函数的情况下,基于所述函数,在待编码帧的编码中设置依 照目标代码量的量化步长。
7.根据权利要求6所述的方法,其特征在于,所述第一存储器单元存储 除了与动态图像的分辨率和帧的编码方式对应以外,还与动态图像的位元深 度相对应的多个系数集合;并且所述选择步骤包括获取表示待编码帧的位元 深度的信息,并从所述第一存储器单元中选择依照分辨率、位元深度和待编 码帧的编码方式的系数集合。
全文摘要
本发明提供一种图像处理装置及其方法,为了高精度地设置依照目标代码量的量化步长,从与动态图像的分辨率和帧的编码方式对应的多个系数集合中,选择依照待编码图像的分辨率和待编码帧的编码方式的一个系数集合。该待编码帧的特征量被提取,并且当该待编码帧进行帧间编码时,基于已选择的系数集合和特征量生成表示量化步长和生成数据量之间关系的函数。当该函数被生成时,基于该函数,在待编码帧的编码中设置依照目标代码量的量化步长。
文档编号H04N7/50GK101304532SQ20081009732
公开日2008年11月12日 申请日期2008年5月12日 优先权日2007年5月11日
发明者铃木正树 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1