运动图像处理方法及运动图像处理器的制作方法

文档序号:7706358阅读:248来源:国知局
专利名称:运动图像处理方法及运动图像处理器的制作方法
技术领域
本发明涉及一种运动图像处理方法及运动图像处理器,且特别涉及一种运动图像 压缩方法及运动图像压缩处理器。
背景技术
在传统的运动图像处理方法中,运动图像中每一个画面(frame)首先将分解成为 多个宏块(Macro Block, MB),并将整个压缩程序拆解成多个阶(stage),其中每一阶负责 处理不同压缩程序,例如运动预测(motion estimation)、离散余弦转换(discrete cosine transform, DCT)、可变长度编石马(variable length coding, VLC)、重建(reconstruction) 等等。据此,运动图像处理器可以设计具有多个处理装置(processor),每一个处理装置负 责每一阶。进一步而言,运动图像处理器的设计上,在多个处理装置部分可以设计成流水线 (pipeline)的硬件架构,换句话说,每一个处理装置为一个流水线阶(pipeline stage)。于 是当运动图像处理器执行运动图像处理时,同一帧(frame)的多个宏块则会依序送入流水 线的多个处理装置,当每个流水线阶各自处理完一个宏块所需的压缩程序后,再将处理完 的数据送到下一个流水线阶。这个可处理宏块的流水线阶称为宏块管线(MB pipeline),每 一阶称为宏块阶(MB stage)。在运动图像处理过程中,运动预测的功能为依据宏块在欲编码帧的位置,进而在 参考帧(reference frame)中界定索引窗口(search window)的范围,并且在索引窗口中 找寻一个参考宏块(reference MB),其中参考宏块与宏块的差异最小,而宏块与参考宏块 的位移值为运动向量(motion vector)。由此可知在流水线阶中负责处理运动预测的处 理装置会针对内存作大量数据的读取与写入,因此处理运动预测所使用的内存开销显得重 要。更进一步而言,传统的运动图像处理器仅能对单个编码帧进行压缩而无法对多幅编码 帧同时作压缩,并且在大量数据的读取与写入部分也无法节省运动预测的内存开销。

发明内容
本发明之示范实施例提供一种运动图像处理方法与运动图像处理器,运动图像处 理器连接缓冲装置,运动图像处理器从缓冲装置读取多个欲编码帧与多个索引窗口,并于 运动图像处理器中的处理装置针对多个宏块进行运动预测,其中多个宏块在多个欲编码帧 中具有相同的位置(co-located)。本发明的示范实施例提供一种运动图像处理器,运动图像处理器包括处理装置 与图像编码器,处理装置自多个欲编码帧中每个欲编码帧读取多个宏块,图像编码器用以 接收多个宏块并进行运动图像编码处理,其中多个宏块在多个欲编码帧中具有相同的位置。本发明的示范实施例提供一种运动图像处理方法,包括以下的步骤(a)自缓冲 装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块;(b)自缓冲装置读取x个索引窗 口,其中x为大于0的正整数;(c)在处理装置中,多个欲编码帧的第i个欲编码帧的第m个
4宏块在x个索引窗口进行运动预测;(d)在处理装置中,多个欲编码帧的第j个欲编码帧的 第n个宏块在x个索引窗口进行运动预测;其中,i、j、m、n均为大于0的正整数。在本发明的一个示范实施例中,上述的i不等于j。在本发明的一个示范实施例中,上述第m个宏块在第i个欲编码帧的位置与第n 个宏块在第j个欲编码帧的位置一致。在本发明的一个示范实施例中,上述多个欲编码帧无数据相依性。在本发明的一个示范实施例中,上述的运动预测用以获得多个宏块所对应的多个 参考宏块与多个运动向量。在本发明的一个示范实施例中,上述的步骤(c)包括以下步骤(e)利用处理装置 在x个索引窗口寻找参考宏块,其中参考宏块与第m个宏块的差值最小;(f)计算运动向 量,其中运动向量为第m个宏块与参考宏块的位移值。在本发明的一个示范实施例中,上述运动图像处理方法重复执行步骤(b)到步骤 ⑷。在本发明的一个示范实施例中,上述多个欲编码帧为多个B帧帧、多个P帧、或其
任意组合。本发明的示范实施例提供一种运动图像处理器,连接到缓冲装置,运动图像处理 器自缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块,运动图像处理器包括 存储装置与处理装置。存储装置用以自缓冲装置存取x个索引窗口,其中x为大于0的正 整数。处理装置针对多个欲编码帧的第i个欲编码帧的第m个宏块,在x个索引窗口进行 运动预测,并针对多个欲编码帧的第j个欲编码帧的第n个宏块,在x个索引窗口进行运动 预测。本发明的示范实施例提供一种运动图像处理方法,包括以下步骤(a)处理装置 自P个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个宏块,P为大 于1的正整数;(b)将多个第i个宏块送至图像编码器。在本发明一实施例中,上述每个欲编码帧的第i个宏块在每个欲编码帧的位置一致。在本发明的一个示范实施例中,上述运动图像处理方法更包括以下步骤(c)处 理装置读取X个索引窗口,其中X为大于0的正整数;(d)在图像编码器中,将多个第i个 宏块在x个索引窗口进行运动预测。在本发明的一个示范实施例中,上述运动图像处理方法重复执行步骤(a)与步骤 (b)。本发明的示范实施例提供一种运动图像处理器,包括处理装置与图像编码器。处 理装置用以自P个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包括多个 宏块,P为大于1的正整数。图像编码器用以接收多个第i个宏块并进行图像编码处理。基于上述,本发明所设计的运动图像处理方法与运动图像处理器,根据多个宏块 在多个欲编码帧具有相同的位置的特性,运动预测时,缓冲装置仅须一次读取多个索引窗 口,便可以让多个宏块进行运动预测。除此之外,由于运动图像处理器采用具有流水线结构 的多个处理装置,多个处理装置在单位时间内可以有效率地同时执行单个功能,除了节省 运动预测的内存开销之外,还可以同时对多张画面同时处理。
为让本发明上述特征和优点能更明显易懂,下文特举示范实施例,并配合附图详 细说明。



图。图。图。
图1是编码帧分解成宏块的示意图。 图2是运动图像处理主要程序分阶图。 图3是运动预测的示意图。
图4是本发明的一个示范实施例针对连续帧连续帧的运动图像处理方法的示意
图5是本发明的一个示范实施例运动图像处理器的方块图。
图6是本发明的一个示范实施例的运动图像处理器的流水线阶时序图。
图7是本发明的一个示范实施例针对交错帧在P帧的运动图像处理方法的示意
图8是本发明的一个示范实施例针对交错帧在B帧的运动图像处理方法的示意
图9是依照本发明之另一示范实施例的运动图像处理器的流水线阶时序图。 主要附图标记说明 100 图像
b0-bN-l、bn、306、310、402、404、(f, n)、700、701、800_803 宏块
200 运动图像处理主要程序 204 离散余弦转换 Dataln 输入数据 302 欲编码帧 308、w0、w3-w7 索引窗口 314 运动向量 504 缓冲装置 508 存储装置 T 单位时间 P 帧:P0-P3
DMAIF 直接存储器存取控制接口 MBStageO-MBStage2 宏块阶
202 运动预测 206 可变长度编码 DataOut 输出数据 304 参考帧 312 参考宏块 502 运动图像处理器 506 图像编码器 mP0-mP2 处理装置 fl-fll 编码帧 B 帧:B0-B具体实施例方式
在运动图像处理的过程中,运动图像中每一个图像首先将分解成为多个宏块,而
分解的示意图如图1所示,其中图像100可分解成N个宏块b0、bl.......bN-1,而分解的
顺序为扫瞄线顺序(raster order)。另一方面,整个运动图像处理的程序可拆解成多个阶, 如图2所示的运动图像处理主要程序分阶图。运动图像处理主要程序200可分三个阶运 动预测202、离散余弦转换204与可变长度编码206。据此,输入数据Dataln可将宏块b0、 bl.......bN-1依序输入这三个阶,并将运动图像处理的结果输出至输出数据DataOut。
在运动图像处理过程中,运动预测的功能为依据宏块在欲编码帧的位置,在参考 帧中界定索引窗口的范围,并且在索引窗口中找寻一个参考宏块。参见图3,图3为运动预 测的示意图。欲编码帧302中包括宏块306,参考帧304中包括了相对宏块310,其中相对宏 块310在参考帧304的位置与宏块306在欲编码帧302的位置相同。参考帧304根据相对 宏块310所在的位置,确定索引窗口 308的范围。据此,运动预测的功能为在索引窗口 308 中找寻一个参考宏块312,其中参考宏块312与宏块306的差异最小,而宏块306与参考宏 块312的位移值为运动向量314。由于运动预测会针对内存作大量数据的读取与写入,为了减少内存开销的需求, 因此在索引窗口的设计上采用重复利用的设计方式,进而减少内存开销的需求。本发明一 示范实施例针对连续(progressive)帧的运动图像处理方法的示意图如图4所示。图4中 多个帧是以连续的方式传输,其中欲编码帧fl与欲编码帧f2为B帧,并且欲编码帧fl与 欲编码帧f2之间的关系并无数据相依性(data dependence),而参考帧f0与参考帧f3为 P帧。欲编码帧之间的数据相依性为所属技术领域普通技术人员所熟知,在此不再赘述欲编 码帧之间的数据相依性。欲编码帧f 1包括宏块402,而宏块402进行运动预测时,会利用 到参考帧f0中的索引窗口 w0与参考帧f3中的索引窗口 w3。另一方面,欲编码帧fl包括 宏块402,且宏块402在欲编码帧fl的位置与宏块404在欲编码帧f2的位置相同,因此宏 块404进行运动预测时所利用的多个索引窗口会与宏块402所利用的相同,也就是索引窗 口 wO 与 w3。根据上述示范实施例的说明,多个欲编码帧中的个别宏块所占的位置若为相同的 位置,且多个欲编码帧之间无数据相依性时,则多个宏块在进行运动预测时可以利用相同 的多个索引窗口。换句话说,多个索引窗口从缓冲装置(图中未示)读取到存储装置(图 中未示)时,这些多个索引窗口将可以对多个欲编码帧进行运动预测。更进一步而言,参照 图2,由于运动图像处理主要程序可拆解成多个阶,因此在运动图像处理器的设计上可采用 具有流水线的多个处理装置。根据上述,本发明的一个示范实施例运动图像处理器的方块 图如图5所示。参见图5,运动图像处理器502连接缓冲装置504,且运动图像处理器502包括存 储装置508、直接记忆器存取控制接口(direct memory access interface) DMAIF与图像编 码器506,其中运动图像处理器502经记忆器存取控制接口 DMAIF对缓冲装置504做快速内 存数据存取,并将读取的数据暂存于存储装置508,以利图像编码器506的处理。此外图像 编码器506的处理结果亦可以经记忆器存取控制接口 DMAI F输出至缓冲装置504。另一方 面,由于运动图像处理主要程序可拆解成三个阶,因此在图像编码器506的设计上每一阶 配置一个处理装置,也就是处理装置mP0-mP2,其中处理装置mPO执行运动预测,处理装置 mPl执行离散余弦转换,而处理装置mP2执行可变长度编码。运动图像处理器502的设计上采用具有流水线的多个处理装置,并且依序接收与 处理多个宏块,因此运动图像处理器502在执行运动图像处理的时序上可以用流水线阶来 描述。参见图6,图6是本发明的一个示范实施例的运动图像处理器的流水线阶时序图。图 6中每一个方块代表处理装置所要处理的宏块,而数字对(f,n)代表着欲编码帧f中的第n 个宏块。举例而言,数字对(f2,1)代表欲编码帧f 2中的第1个宏块,或可称为宏块(f2, 1),余此类推。
参见图5与图6。图6中宏块阶MBStageO代表处理装置mPO执行其功能,宏块阶 MBStagel代表处理装置mPl执行其功能,而宏块阶MBStage2代表处理装置mP2执行其功 能。宏块阶MBStageO依时间顺序来看,处理装置mPO首先处理宏块(fl,0),接着处理宏块 (f2,0),余此类推。更进一步而言,宏块(fl,0)在欲编码帧fl中的位置,与宏块(f2,0)在 欲编码帧f2中的位置为相同的位置,因此这两个宏块在进行运动预测时所利用的多个索 引窗口会相同。换句话说,当宏块(fl,0)所利用的多个索引窗口从缓冲装置504读取至存 储装置508时,这些多个索引窗口将可以给宏块(fl,0)与宏块(f2,0)使用,亦即宏块(f2, 0)进行运动预测时,无须再次读取多个索引窗口,节省了运动预测的内存开销。另一方面,基于流水线的设计,当处理装置mPO处理宏块(fl,0)完毕之后,处理装 置mPl将接续处理宏块(n,0),待处理装置mPl完毕之后,处理装置mP2在接续处理宏块 (fl,0)。据此,运动图像处理器502在执行运动图像处理时,处理装置mPl-mP2在单位时间 T内可以有效率地同时执行单个功能,除了节省运动预测的内存开销之外,并且可以同时对 多幅编码帧同时处理。本发明所公开的运动图像处理方法除了可以处理连续帧,亦可处理交错式 (interlaced)帧。参见图7,图7为依照本发明的另一示范实施例针对交错帧在P帧的运 动图像处理方法的示意图。本示范实施例中,P帧P3中的编码帧f6与编码帧f7为欲编码 帧,且多个欲编码帧之间无数据相依性。而P帧P2中编码帧f4与编码帧f5为参考帧。据 此,编码帧f6的宏块700与编码帧f7的宏块701在进行运动预测时,皆会利用到编码帧f4 与编码帧f5。更进一步而言,由于宏块700在编码帧f6的位置与宏块701在编码帧f7的 位置皆为相同的位置,因此宏块700与宏块701在进行运动预测时所利用搜寻范围,皆为编 码帧f4中的索引窗口 w4与编码帧f5中的索引窗口 w5。换句话说,索引窗口 w4与索引窗 口 w5从缓冲装置504读取至存储装置508时,索引窗口 w4与索引窗口 w5可以给宏块700 与宏块701使用,无须再次读取多个索引窗口,这样就节省了运动预测的内存开销。参见图8,图8为本发明的一个示范实施例针对交错帧在B帧的运动图像处理方法 的示意图。P帧P2包括编码帧f4与编码帧f5,P帧P3包括编码帧f6与编码帧f7,B帧B2 包括编码帧f8与编码帧f9,而B帧B3包括编码帧H0与编码帧fll。本示范实施例中,编 码帧f8-fll为欲编码帧,且多个欲编码帧之间无数据相依性。而编码帧f4-f7为参帧。据 此,在进行运动预测时,编码帧f8-fll中的宏块800803将会利用到编码帧f4-f7。更进一 步而言,由于宏块800在画面f8的位置、宏块801在编码帧f9的位置、宏块802在编码帧 flO的位置、宏块803在编码帧fll的位置皆为相同的位置,因此宏块800-803进行运动预 测时所利用搜寻范围皆为编码帧f4f7中的索引窗口 w4w7。换句话说,索引窗口 w4-w7从缓 冲装置504读取至存储装置508时,索引窗口 w4-w7可以给宏块800-803使用,因此在本示 范实施例中,当具有相同的位置的宏块越多时,进行运动预测节省的内存开销将更为可观。参见图9,图9为本发明的一个示范实施例的运动图像处理器的流水线阶时序图。 如同上述图6所述,图9每一个方块代表处理装置所要处理的宏块,而数字对(f,n)代表着 编码帧f中的第n个宏块。举例而言,数字对(f9,1)代表编码帧f9中的第1个宏块,或可 称为宏块(f9,1),余此类推。另一方面,宏块阶MBStageO-MBStagel所代表处理装置亦如同 图6所述。更进一步而言,由于宏块(f8,0)在编码帧f8中的位置、宏块(f9,0)在编码帧 f9中的位置、宏块(fl0,0)在编码帧flO中的位置与宏块(fll,0)在编码帧fll中的位置
8为相同的位置,因此这四个宏块在进行运动预测时所利用的多个索引窗口会为相同。换句 话说,当宏块(f8,0)所利用的多个索引窗口从缓冲装置504读取至存储装置508时,这些 多个索引窗口将可以给宏块(f8,0)、宏块(f9,0)、宏块(fl0,0)与宏块(fll,0)进行运动 预测使用,亦即宏块(f9,0)、宏块(fl0,0)与宏块(fll,0)进行运动预测时,无须再次读取 多个索引窗口,因此本示范实施例所设计的运动图像处理方法与运动图像处理器,除了可 以节省运动预测的内存开销之外,并且可以同时对多幅编码帧同时处理。综上所述,本发明所设计的运动图像处理方法与运动图像处理器,根据多个宏块 在多个欲编码帧具有相同的位置的特性,因此在设计运动预测时,缓冲装置仅须一次读取 多个索引窗口,便可以让多个宏块进行运动预测使用。更进一步而言,当具有相同的位置的 宏块越多时,进行运动预测节省的内存开销将更为可观。除此之外,由于运动图像处理器的 设计上采用具有流水线的多个处理装置,因此多个处理装置在单位时间内可以有效率地同 时执行单个功能,除了节省运动预测的内存开销之外,并且可以同时对多幅编码帧同时处 理。最后应说明的是以上各实施例仅用以说明本发明的技术方案而非限制。尽管参 照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解其依然可以对 本发明的技术方案进行修改或者等同替换,而这些修改或者替换不脱离本发明技术方案的 精神和范围。
9
权利要求
一种运动图像处理方法,包括(a)自一缓冲装置读取多个欲编码帧,其中每个欲编码帧包括多个宏块;(b)自该缓冲装置读取x个索引窗口,其中x为大于0的正整数;(c)在一处理装置中,该些欲编码帧的第i个欲编码帧的第m个宏块在x个索引窗口进行运动预测;以及(d)在该处理装置中,该些欲编码帧的第j个欲编码帧的第n个宏块在x个索引窗口进行运动预测;其中,i、j、m、n均为大于0的正整数。
2.如权利要求1所述的运动图像处理方法,其中i不等于j。
3.如权利要求1所述的运动图像处理方法,其中第m个宏块在第i个欲编码帧的位置 与第η个宏块在第j个欲编码帧的位置相同。
4.如权利要求3所述的运动图像处理方法,其中i不等于j。
5.如权利要求1所述的运动图像处理方法,其中该些欲编码帧无数据相依性。
6.如权利要求1所述的运动图像处理方法,该运动预测用以获得该些宏块所对应的多 个参考宏块与多个运动向量。
7.如权利要求1所述的运动图像处理方法,该步骤(c)包括(e)利用该处理装置在χ个索引窗口寻找一参考宏块,其中该参考宏块与第m个宏块的 差值最小;以及(f)计算一运动向量,其中该运动向量为第m个宏块与该参考宏块的一位移值。
8.如权利要求1所述的运动图像处理方法,其中该运动图像处理方法重复执行步骤 (b)至步骤(d)。
9.如权利要求1所述的运动图像处理方法,其中,该些欲编码帧为多个B帧、多个P帧。
10.一种运动图像处理器,连接一缓冲装置,该运动图像处理器自该缓冲装置读取多个 欲编码帧,其中每个欲编码帧包括多个宏块,该运动图像处理器包括一存储装置,用以自该缓冲装置存取χ个索引窗口,其中χ为大于0的正整数;以及一处理装置,针对该些欲编码帧的第i个欲编码帧的第m个宏块在χ个索引窗口进行 运动预测,并针对该些欲编码帧的第j个欲编码帧的第η个宏块在χ个索引窗口进行运动 预测;其中,i、j、m、n均为大于0的正整数。
11.如权利要求10所述的运动图像处理器,其中i不等于j。
12.如权利要求10所述的运动图像处理器,其中第m个宏块在第i个欲编码帧的位置 与第η个宏块在第j个欲编码帧的位置相同。
13.如权利要求12所述的运动图像处理器,其中i不等于j。
14.如权利要求10所述的运动图像处理方法,其中该些欲编码帧无数据相依性。
15.如权利要求10所述的运动图像处理器,该运动预测用以获得该些宏块所对应的多 个参考宏块与多个运动向量。
16.如权利要求10所述的运动图像处理器,其中,该些欲编码帧为多个B帧、多个P帧、 或及其组合。
17.一种运动图像处理方法,包括(a)一处理装置自P个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧包 括多个宏块,P为大于1的正整数;以及(b)将该些第i个宏块送至一图像编码器;其中,i为大于O的正整数。
18.如权利要求17所述的运动图像处理方法,其中每个欲编码帧之第i个宏块在每个 欲编码帧的位置相同。
19.如权利要求17所述的运动图像处理方法,更包括(c)该处理装置读取χ个索引窗口,其中χ为大于O的正整数;以及(d)在该图像编码器中,将该些第i个宏块在χ个索引窗口进行运动预测。
20.如权利要求17所述的运动图像处理方法,其中,该运动图像处理方法重复执行步 骤(a)与步骤(b)。
21.—种运动图像处理器,包括一处理装置,用以自P个欲编码帧中每个欲编码帧读取第i个宏块,其中每个欲编码帧 包括多个宏块,P、i为大于1的正整数;以及一图像编码器,用以接收该些第i个宏块并进行图像编码处理。
22.如权利要求21所述的运动图像处理器,其中每个欲编码帧之第i个宏块在每个欲 编码帧的位置相同。
23.如权利要求21所述的运动图像处理器,其中,该处理装置用以读取χ个索引窗口, 其中χ为大于0的正整数,而图像编码器针对该些第i个宏块在χ个索引窗口进行运动预 测。
全文摘要
本发明公开了一种运动图像处理方法与运动图像处理器。运动图像处理器包括处理装置,且运动图像处理器连接缓冲装置。运动图像处理器从缓冲装置读取多个欲编码帧与多个索引窗口,并于处理装置针对多个宏块进行运动预测,其中多个宏块在多个欲编码帧中具有相同的位置,且多个欲编码帧之间无数据相依性。由于运动图像处理器的设计上采用具有流水线的多个处理装置,因此多个处理装置在单位时间内可以有效率地同时执行单个功能,因此本发明可以节省运动预测的内存开销,并且可以同时对多幅编码帧同时处理。
文档编号H04N7/50GK101854538SQ20091012926
公开日2010年10月6日 申请日期2009年4月3日 优先权日2009年4月3日
发明者张育玮, 黄朝宗 申请人:联咏科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1