实现运动估计的视频编码器与其运动估计方法

文档序号:7916030阅读:210来源:国知局
专利名称:实现运动估计的视频编码器与其运动估计方法
技术领域
本发明关于视频编码,特别是关于视频编码器与运动估计方法。
背景技术
以块(block)为基础的视频编码标准(例如MPEG 1/2/4与H.26x ),主要通过 减少多个视频帧之间的时间冗余以及视频帧内的空间冗余来实现数据压缩。符 合某一标准的编码器所产生的比特流,可通过符合其它标准的译码器解码。这 些视频编码标准提供给编码器灵活性,来开拓最佳技术以增进视频质量。
上述提供给编码器的灵活性之一是帧的类型。对于以块为基础的^L频编码 器,可编码三种类型帧,即I、 P与B帧。I帧是帧内编码帧,不需要任何运动 才卜偿予贞测(motion-compensated prediction, MCP )。 P帧是利用先前参考帧的运 动补偿预测的预测帧,B帧是利用先前参考帧与将来参考帧的运动补偿预测的双 向预测帧。通常来说,I帧与P帧是运动补偿预测的参考帧。
帧间编码帧,包含P帧与B帧,经由先前编码帧的运动补偿来预测以减少 时间冗余,因此,获得高的补偿效率。每一视频帧包含像素阵列(array of pixel )。 宏块(macroblock, MB)是一组像素,例如16x16, 16x8, 8x16,与8x8像素块。8x8 像素块可进一步分块成8x4, 4x8,或者4x4尺寸的像素块。因此,共支持7种块 类型。通常情况下,估计在多个帧之间图像如何运动(以宏块为基础),即运动 估计。运动估计通常包含比较当前帧的宏块与多个来自其它参考帧的宏块的相 似性。当前视频帧的宏块与参考帧的最相似的宏块之间的空间位移是运动向量 (Motion vector)。可由分数像素来估计运动向量,其中该分数像素可通过将来 自参考帧的像素进行内插得到。
图la与图lb绘示了现有的运动估计程序,搜索(先前)参考帧13的搜索 窗口 (search window) 14以寻找当前帧11的图像块12的匹配图像块15,其中 图像块16根据运动向量17从先前位置15运动至新位置16。运动向量代表图像 块从参考帧至当前帧的位移。可利用块匹配度量(block matching metric)来判断当前块与参考帧的图像块的相似度,例如利用绝对误差总和(Sum of Absolute Differences, SAD)或者均方误差(Mean Squared Error, MSE)。产生最小绝对误差 总和或者均方误差的参考帧位置作为最佳匹配位置,并且最小绝对误差总和或 者均方误差作为运动向量。当前帧的图像块是宏块。
除了利用搜索窗口来减少空间冗余,MPEG 4编码也利用多个参考帧来减少 运动估计的时间冗余。因此,需要一种通过多个参考帧与搜索窗口的自适应组 合来进行运动估计的视频编码器及其方法。

发明内容
为了解决现有技术中需要通过多个参考帧与搜索窗口的自适应组合来进行 运动估计的技术问题,本发明提供一种实现运动估计的视频编码器及其运动估 计方法。
依据本发明的一方面,其提供一种实现运动估计的视频编码器,包含存 储单元,用来接收当前图像块以及自至少两个参考帧接收多个搜索窗口;以及 整数像素运动估计单元,耦接至存储单元,用来依据当前图像块与多个搜索窗 口计算多个整数运动向量;其中上述参考帧的数量与上述搜索窗口的尺寸可以 自适应的改变,使得其空间需求小于或者等于存储单元的可用空间。
依据本发明另一方面,其提供一种运动估计方法,包含提供存储单元, 来接收当前图像块以及从至少两个参考帧接收多个搜索窗口 ;以及提供整数像 素运动估计单元,依据当前图像块与多个搜索窗口计算多个整数运动向量;其 中上述参考帧的数量与上述搜索窗口的尺寸可以自适应的改变,使得其空间需 求小于或者等于存储单元的可用空间。
本发明提供的实现运动估计的视频编码器及其运动估计方法,通过自适应 的改变参考帧的数量与搜索窗口的尺寸,能够在硬件资源有限的情况下,实现 视频编码的运动估计,因此可产生紧凑的电路设计并且减少制造成本。


图la与图lb绘示了现有的运动估计程序。 图2绘示了在MPEG编码中帧模式与场模式的运动估计程序。 图3a与图3b为依据本发明的实施方式的实现运动估计的视频编码器的方 框图。图4a与图4b为依据本发明的另一个实施方式的实现运动估计的视频编码 器的方框图。
图5a与图5b为依据本发明的又一个实施方式的实现运动估计的视频编码 器的方框图。
图6a与图6b为依据本发明的再一个实施方式的实现运动估计的视频编码 器的方框图。
具体实施例方式
图3a与图3b为依据本发明的实施方式的实现运动估计的视频编码器的方 框图。该视频编码器包含存储单元30、整数像素运动估计(integer motion estimation, IME )单元32以及分凄史寸象素运动4古i十(fractional motion estimation, FME)单元34,其中存储单元30耦接至整数像素运动估计单元(IME单元)32, 并且随后耦接至分数像素运动估计单元(FME单元)34。
存储单元30包含存储器300,用来接收当前图像块CB;以及存储器302, 用来接收来自参考帧RefO与Refl (至少两个参考帧)的搜索窗口 SWO与SWl (或多个搜索窗口)。尽管图3a中只绘示两个搜索窗口与两个参考帧,但其中 也可包含多个参考帧与多个搜索窗口。当前图像块CB是宏块,可为包含需要搜 索64个像素的8x8的宏块。搜索窗口 SWO与SWl包含搜索的像素,以得到与 当前图像块CB匹配的图像块。存储器300与存储器302可为任何计算器可存取 的存储器,例如动态随机存取存储器(DRAM )、静态随机存取存储器(SRAM ) 或者快闪存储器(Flashmemory)。
array) 320,用来接收当前图像块CB与搜索窗口 SWO与SW1,从而计算整数 运动向量MV0与MV1 (也可为多个运动向量)。每一处理元件是最小处理单 元,从当前图像块CB接收需要搜索的像素、从搜索窗口接收搜索范围、并且计 算绝对误差总和。每一处理元件中的搜索范围可与临近处理元件中的搜索范围 相差1个像素。处理元件阵列320通过计算当前图像块CB与搜索窗口 SWO与 SWl中的搜索范围之间的绝对误差总和,来获得每一处理元件的失真值,并且 将每一纟叟索窗口的最小绝对:蔽差总和作为整lt运动向量。处理元件阵列320计 算搜索窗口 SWO与SWl的绝对误差总和以输出整数运动向量MV0与MVl。 参考帧的数量与搜索窗口的尺寸可以自适应的改变,使得所有参考帧内的搜索窗口的空间需求小于或者等于存储单元30内的可用空间。例如,当参考帧的数 量小时,搜索窗口的尺寸可以自适应的改变以覆盖较大的范围;而当参考帧的 数量大时,搜索窗口的尺寸可以自适应的改变以覆盖较小的范围。
分凄"象素运动估计单元(FME单元)34包含处理元件阵列340,通过将产 生整数运动向量的搜索范围内的像素与其临近像素进行内插(interpolate),来 计算分数运动向量,以估计内插搜索范围,以及计算当前图像块CB与每一内插 搜索范围的像素之间的绝对误差总和,以决定其最小绝对误差总和作为分数运 动向量MV。每一处理元件接收来自当前图像块CB与具有不同内插位置的内插 搜索范围内的像素,以计算绝对误差总和。处理元件阵列340计算搜索窗口 SW0 与SW1的绝对误差总和,并选择其最小值来作为输出的分数运动向量MV。
图3a与图3b所示的一见频编码器与传统(legacy)的MPEG标准(例如 MPEG2)回溯兼容(back-compatible)。如图3b所示,其中只利用单一参考帧 来进行预测编码。存储单元30自存储器300的当前帧Cf接收当前图像块CB并 自存储器302的参考帧RefD接收搜索窗口 SW。整数^象素运动估计单元(IME 单元)32自当前图像块CB与搜索窗口 SW接收像素,以决定整数运动向量MV。 然后分数像素运动估计单元(FME单元)34将产生整数运动向量的搜索范围内 的像素进行内插以计算分数运动向量MV。由于存储器302内仅存储一个搜索窗 口 SW,搜索窗口 SW的最大尺寸大于搜索窗口 SWO以及搜索窗口 SW1的尺寸。
图3a与图3b所示的^L频编码器也与MPEG编码的场;漠式(field mode )兼 容。图2绘示了在MPEG编码中帧模式与场模式的运动估计程序。图2的左手 边绘示了帧模式运动估计,其中当前图像帧20包含两个隔行扫描场(interlaced field),即奇凄t场(odd field) 204与偶凄t场(even field) 206。在4叟索窗口 202 中进行以帧为基础的(frame based)搜索,该搜索从以帧为基础的具有最低绝对 误差总和的位置的参考图像帧开始,其中该绝对误差总和代表与当前图像块200 以帧为基础的最佳匹配图像块。如图2的右手边所示的场it式运动估计,当前 图像帧的宏块分成两个块22与块24,每一块仅包含偶数场(块22)或者仅 包含奇数场(块24)。搜索窗口 202也分为参考图像块222与242,其中之一 仅包含偶数场行,另一仅包含奇数场行,以分别进行运动估计处理。即图3a与 图3b所示的视频编码器进行运动估计,以自偶数参考图像块222搜索偶数当前 图像块220,自奇数参考图像块242搜索奇数当前图像块240。并且整数像素运 动估计单元(IME单元)依据当前图像块与偶数场计算偶数整数运动向量,并依据当前图像块与奇数场计算奇数整数运动向量,以及计算偶数整数运动向量 以及奇数整数运动向量的平均值作为每一参考帧的整数运动向量。在一个实施
方式中,存储器300接收当前图像块CB中的偶数场块与奇数场块(图示中未显 示),并且存储器302自参考帧接收偶数场块与奇数场块的搜索窗口 SWO与 SW1。整数像素运动估计单元(IME单元)32的每一处理元件计算并输出偶数 场块与奇数场块的最小绝对误差总和以作为运动向量MVO与MV1。并且分数 像素运动估计单元(FME单元)34更通过内插来计算分数运动向量,以产生所 有计算中的最小绝对误差总和以作为最终运动向量MV。
图4a与图4b为依据本发明的另一个实施方式的实现运动估计的视频编码 器的方框图。该视频编码器包含存储单元40、整数像素运动估计单元(IME单 元)42以及分数像素运动估计单元(FME单元)44,其中存储单元40是耦接 至整数像素运动估计单元(IME单元)42,并且随后耦接至分数像素运动估计 单元(FME单元)44。
图4a与图4b所示的视频编码器能够在硬件资源有限的条件下,针对多参 考帧与大搜索窗口尺寸进行预测编码。例如,在多参考帧的情况下,搜索窗口 SWO与SW1分别顺序地进入存储单元40、整数像素运动估计单元(IME单元) 42以及分凄t像素运动估计单元(FME单元)44。然后,针对搜索窗口 SWO与 SW1依次进行数据缓冲(databuffering)、整数运动向量估计以及分数运动向量 估计,以输出当前图像块CB的分数运动向量MV。由于仅需要图3a与图3b所 示的视频编码器的一半的硬件,因此可产生紧凑的电路设计并且减少制造成本。 同样的,当搜索窗口尺寸超出存储单元40、整数像素运动估计单元(IME单元) 42与分数像素运动估计单元(FME单元)44的可用空间时,存储单元40、整 数像素运动估计单元(IME单元)42与分数像素运动估计单元(FME单元)44 可依次接收搜索窗口 SWa与SWb的一半的像素,然后依次进行数据緩沖、整 数运动向量估计以及分数运动向量估计,以输出当前图像块CB的分数运动向量 MV。硬件资源需求减少的代价为增加数据处理时间。
图5a与图5b为依据本发明的又一个实施方式的实现运动估计的视频编码 器的方框图。该视频编码器包含如同图3a与图3b中所示的存储单元30、整数 像素运动估计单元(IME单元)32以及分数-像素运动估计单元(FME单元)34。 图5a中的视频编码器与图3a中所示的视频编码器相同,其中当前图像块CB以 及至少来自两个参考帧的两个搜索窗口 SWO与SW1存储在存储单元30,然后整数像素运动估计单元(IME单元)32依据当前图像块CB与搜索窗口 SW0与 SW1来计算多个整数运动向量MVs (例如上述MVO与MV1 ),接着分数像素 运动估计单元(FME单元)34将整数运动向量MVs进行内插以获得分数运动 向量MV。参阅图5b,由于较小的搜索窗口尺寸,存储单元30接收搜索窗口 SW, 该搜索窗口 SW仅占用存储器302的可用空间的一半。与利用了全部硬件的图 3a与图3b相比,图5a与图5b仅仅利用了存储单元30、整数像素运动估计单元 (IME单元)32以及分数像素运动估计单元(FME单元)34的一半石更件资源, 使得分数像素运动估计单元(FME单元)34进行快速分数运动向量计算。
图6a与图6b为依据本发明的再一个实施方式的实现运动估计的视频编码 器的方框图。该视频编码器包含如同图3a与图3b中所示的存储单元30、整数 像素运动估计单元(IME单元)32以及分数像素运动估计单元(FME单元)34。 图6a是多个参考MPEG编码的例子。参考帧RefD与Refl包含具有不同搜索窗 口尺寸的搜索窗口 SW0与SW1。搜索窗口 SWO的尺寸超出搜索窗口 SW1的尺 寸。因此,与图3a以及图3b相比,存储器302与处理元件阵列320以及处理 元件阵列340需要更多的空间与处理单元,来并行地处理搜索窗口 SWO与SW1 中的所有像素,并输出当前图像块CB的分数运动向量MV。图6b绘示了利用 较大搜索窗口 SW (相当于图3b所示的搜索窗口 SW)来编码—见频帧Cf的视频 编码器的实施方式。由于较大搜索窗口 SW包含较多的图像像素,因此需要存 储器302具有较大的存储空间,并且需要整数像素运动估计单元(IME单元) 32以及分数4象素运动估计单元(FME单元)34具有较多的处理元件来计算当前 块CB与搜索窗口 SW的数据之间绝对误差总和。编码器依据搜索窗口尺寸来配 置搜索窗口中的像素数据需要的存储空间与处理元件的数量。
图3a至图6b中所示的处理元件是可重构的。上述处理元件可并行地处理 多帧,共同地处理一帧,或者以适应不同情况的其它方式工作。
尽管上文所描述的实施方式4吏用MPEG标准,本领域技术人员可以得知只 要做出适当的修改,上述视频编码器与运动估计方法在其它视频编码标准(例 如H.263与H.264 )下同样适用。
以上所述仅为本发明的较佳实施方式,凡依本发明权利要求所做的均等变 化与修饰,都应属于本发明的涵盖范围。
权利要求
1. 一种实现运动估计的视频编码器,包含存储单元,用来接收当前图像块以及从至少两个参考帧接收多个搜索窗口;以及整数像素运动估计单元,耦接至上述存储单元,用来依据上述当前图像块与上述多个搜索窗口计算多个整数运动向量;其中上述参考帧的数量与上述搜索窗口的尺寸可以自适应的改变,使得其空间需求小于或者等于上述存储单元的可用空间。
2. 根据权利要求1所述的实现运动估计的视频编码器,其中上述整数像素运 动估计单元计算上述当前图像块与上述搜索窗口的每一参考图^^块之间的多个绝 对误差总和,并且决定每一搜索窗口的最小绝对误差总和作为上述整数运动向量。
3. 根据权利要求2所述的实现运动估计的视频编码器,更包含分数像素运动 估计单元,耦接至上述整数像素运动估计单元,其中上述分数像素运动估计单元 将相对应于上述整数运动向量的上述参考图像块内的上述像素与其邻近的多个像 素进行内插,以估计多个内插参考图像块,并且计算上述当前图像块与上述每一 内插参考图像块之间的多个绝对误差总和,并决定每一搜索窗口的绝对误差总和 的最小值作为分数运动向量。
4. 根据权利要求l所述的实现运动估计的视频编码器,其特征在于,上述整 数像素运动估计单元同时地或者顺序地计算上述整数运动向量。
5. 根据权利要求1所述的实现运动估计的视频编码器,其特征在于,上述搜 索窗口具有相同的或者不同的尺寸,使得上述存储单元的可用空间超出或者等于 上述当前图像块与上述搜索窗口的空间需求。
6. 根据权利要求1所述的实现运动估计的视频编码器,其特征在于,每一参 考帧的上述搜索窗口包含多个偶数场与多个奇数场,并且上述整数像素运动估计 单元依据上述当前图像块与上述偶数场计算多个偶数整数运动向量,并且依据上 述当前图像块与上述奇数场计算多个奇数整数运动向量,以及计算上述偶数整数 运动向量以及上述奇数整数运动向量的平均值作为每一参考帧的整数运动向量。
7. 根据权利要求1所述的实现运动估计的视频编码器,其特征在于,上述存 储单元包含多个子存储单元并且上述整数像素运动估计单元包含多个子整数像素运动估计单元,每一子存储单元接收上述当前图像块或者自每一参考帧接收每一 搜索窗口 ,并且每一子整数像素运动估计单元依据上述当前图像块与每一搜索窗 口计算上述整数运动向量。
8. —种运动估计方法,包含提供存储单元,接收当前图像块以及从至少两个参考帧接收多个搜索窗口 ;以及提供整数像素运动估计单元,依据上述当前图像块与上述搜索窗口计算多个 整数运动向量;其中上述参考帧的数量与上述搜索窗口的尺寸可以自适应的改变,使得其空 间需求小于或者等于上述存储单元的可用空间。
9. 根据权利要求8所述的运动估计方法,其特征在于,提供整数像素运动估 计单元的步骤包含计算上述当前图像块与上述搜索窗口的每一参考图像块之间 的多个绝对误差总和,并且决定每一搜索窗口的最小绝对误差总和作为上述整数 运动向量。
10. 根据权利要求9所述的运动估计方法,其特征在于,更包含提供分数像 素运动估计单元,来将相对应于上述整数运动向量的上述参考图像块内的上述像 素与其邻近多个像素进行内插,并且计算上述当前图像块与每一 内插参考图像块 之间的多个绝对误差总和,并决定每一搜索窗口的绝对误差总和的最小值来作为 分数运动向量。
11. 根据权利要求8所述的运动估计方法,其特征在于,提供整数像素运动 估计单元的步骤包含同时地或者顺序地计算上述整数运动向量。
12. 根据权利要求8所述的运动估计方法,其特征在于,上述搜索窗口具有 相同的或者不同的尺寸,使得上述存储单元的可用空间超出或者等于上述当前图 像块与上述搜索窗口的空间需求。
13. 根据权利要求8所述的运动估计方法,其特征在于,每一参考帧的上述 搜索窗口包含多个偶数场与多个奇数场,并且提供整数像素运动估计单元的步骤 包含依据上述当前图像块与上述偶数场计算多个偶数整数运动向量,并且依据上 述当前图像块与上述奇数场计算多个奇数整数运动向量,以及计算上述偶数整数 运动向量以及上述奇数整数运动向量的平均值作为每一参考帧的上述整数运动向 量。
全文摘要
本发明提供一种实现运动估计的视频编码器与运动估计方法,视频编码器包含存储单元,用来接收当前图像块以及从至少两个参考帧接收多个搜索窗口;以及整数像素运动估计单元,耦接至存储单元,用来依据当前图像块与多个搜索窗口计算多个整数运动向量;其中参考帧的数量与搜索窗口的尺寸可以自适应的改变,使得其空间需求小于或者等于存储单元的可用空间。本发明提供的实现运动估计的视频编码器及其运动估计方法,能够在硬件资源有限的情况下,实现视频编码的运动估计,因此可产生紧凑的电路设计并且减少制造成本。
文档编号H04N7/26GK101547354SQ20081012662
公开日2009年9月30日 申请日期2008年6月17日 优先权日2008年3月26日
发明者徐志玮, 郭志辉, 陈拓维, 黄毓文 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1