CN103051889A - 一种图像运动估计方法及*** - Google Patents
一种图像运动估计方法及*** Download PDFInfo
- Publication number
- CN103051889A CN103051889A CN2011103122308A CN201110312230A CN103051889A CN 103051889 A CN103051889 A CN 103051889A CN 2011103122308 A CN2011103122308 A CN 2011103122308A CN 201110312230 A CN201110312230 A CN 201110312230A CN 103051889 A CN103051889 A CN 103051889A
- Authority
- CN
- China
- Prior art keywords
- module
- frame image
- estimator
- motion
- submodule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明适用于图像处理技术领域,提供了一种图像运动估计方法及***。其中方法包括:获取当前帧图像,将当前帧图像划分为待估计子模块及与待估计子模块相邻的多个参考子模块;获取参考帧图像,计算多个参考子模块相对参考帧图像中相应模块的运动矢量,并根据运动矢量计算得到一中线值并存储;根据存储的中线值以及所述参考帧图像,对待估计子模块进行运动估计,得到待估计子模块的运动矢量。当对8*8矩阵的待估计子模块进行运动估计时,只需在16*16矩阵窗口内进行,由于运动估计的运算量与窗口的面积大小成正比,因此,相对于现有技术,可以减少运动估计的运算量,特别适合于高清视频的应用。
Description
技术领域
本发明属于图像处理技术领域,尤其涉及一种图像运动估计方法及***。
背景技术
运动估计是视频编码和视频处理中广泛使用的一种技术,其基本思想是将图像序列的每一帧图像分成许多互不重叠的模块,并认为模块内所有像素的位移量都相同,然后根据一定的匹配原则,在参考帧图像某一搜索范围内确定当前帧图像中每个模块的最相似模块,即匹配块,匹配块与当前帧图像中相应模块之间的相对偏移量即为运动矢量,求得运动矢量的过程被称为运动估计。视频压缩的时候,只需保存运动矢量和残差数据就可以完全恢复出当前帧图像中的各模块;在解码时,按照运动矢量指明的位置,从已经解码的相邻参考帧图像中找到相应的模块,和预测误差相加后就得到了该模块在当前帧图像中的位置。
如图1所示,现有技术提供的一种图像运动估计方法是将当前帧图像划分为16*16矩阵的宏块进行处理的,其为每一宏块提供一相对参考窗口中运动宏块的运动矢量,并通过结构化的运动估计电路完成运动矢量的计算,由于以16*16矩阵进行估计,计算得到的运动矢量误差值较大。
为此,如图2所示,现有技术提供了另一种图像运动估计方法,其为16*16矩阵的8*8矩阵子模块提供一相对参考窗口中相应子模块的运动矢量,从而优化运动补偿的效果,然而其在对8*8矩阵子模块进行运动估计时,仍须在参考帧图像的全部范围内进行,运算复杂,对运算能力要求较高,尤其不适用于高清视频的应用。
发明内容
本发明的目的在于提供一种图像运动估计方法,旨在解决现有技术提供的图像运动估计方法在进行运动估计时,需在参考帧图像的全部范围内进行,运算复杂,对运算能力要求较高,尤其不适用于高清视频的应用的问题。
本发明是这样实现的,一种图像运动估计方法,所述方法包括以下步骤:
获取当前帧图像,将所述当前帧图像划分为待估计子模块及与所述待估计子模块相邻的多个参考子模块;
获取参考帧图像,计算所述多个参考子模块相对参考帧图像中相应模块的运动矢量,并根据所述运动矢量计算得到一中线值并存储;
根据存储的所述中线值以及所述参考帧图像,对所述待估计子模块进行运动估计,得到所述待估计子模块的运动矢量。
本发明实施例中,待估计子模块及多个参考子模块可以分别取8*8矩阵,此时,当对待估计子模块进行运动估计时,只需在16*16矩阵窗口内进行,由于运动估计的运算量与窗口的面积大小成正比,因此,相对于现有技术,可以减少运动估计的运算量,特别适合于高清视频的应用。
附图说明
图1是现有技术提供的一种图像运动估计方法的示意图;
图2是现有技术提供的另一种图像运动估计方法的示意图;
图3是本发明实施例提供的图像运动估计方法的流程图;
图4是本发明实施例提供的图像运动估计***的结构图;
图5是图4中运动估计单元的一种具体结构图;
图6是图4中运动估计单元的另一种具体结构图;
图7是图5和图6中计算模块的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图3示出了本发明实施例提供的图像运动估计方法的流程。
在步骤S101中,获取当前帧图像,将当前帧图像划分为待估计子模块及与该待估计子模块相邻的多个参考子模块。
在步骤S102中,获取参考帧图像,计算多个参考子模块相对参考帧图像中相应模块的运动矢量,并根据该运动矢量计算得到一中线值并存储。
在步骤S103中,根据存储的中线值以及参考帧图像,对待估计子模块进行运动估计,得到待估计子模块的运动矢量。
本发明实施例中,多个参考子模块可以是待估计子模块相邻左方的模块、待估计子模块相邻上方的模块和待估计子模块相邻左上方的模块,此时,假设待估计子模块相邻左方的模块的运动矢量是(MV1x,MV1y),待估计子模块相邻上方的模块的运动矢量是(MV2x,MV2y),待估计子模块相邻左方的模块的运动矢量是(MV3x,MV3y),中线值为(MVMx,MVMy),则根据该运动矢量计算得到一中线值的步骤可以表示为:
MVMx=median(MV1x,MV2x,MV3x);
MVMy=median(MV1y,MV2y,MV3y);
进一步地,假设待估计子模块的运动矢量是(MVx,MVy),C为当前帧图像,P为参考帧图像,则步骤S103可以表示为:
本发明实施例中,待估计子模块及多个参考子模块可以分别取8*8矩阵,此时,当对待估计子模块进行运动估计时,只需在16*16矩阵窗口内进行,由于运动估计的运算量与窗口的面积大小成正比,因此,相对于现有技术,可以减少运动估计的运算量,特别适合于高清视频的应用。
图4示出了本发明实施例提供的图像运动估计***的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例提供的图像运动估计***包括:第一图像获取单元11,用于获取当前帧图像,将当前帧图像划分为待估计子模块及与该待估计子模块相邻的多个参考子模块;第二图像获取单元12,用于获取参考帧图像;中线值计算单元13,用于计算第一图像获取单元11划分得到的多个参考子模块相对第二图像获取单元12获取的参考帧图像中相应模块的运动矢量,并根据该运动矢量计算得到一中线值;存储单元14,用于存储中线值计算单元13计算得到的中线值;运动估计单元15,用于根据存储单元14存储的中线值以及第二图像获取单元12获取的参考帧图像,对第一图像获取单元11划分得到的待估计子模块进行运动估计,得到待估计子模块的运动矢量。
图5示出了图4中运动估计单元15的一种具体结构。
本发明实施例中,运动估计单元15包括:数据搬移模块151,用于通过DMA控制器从第二图像获取单元12获取的参考帧图像中搬移参考子模块及待估计子模块对应的图像数据;连接数据搬移模块151的多个窗口处理模块152,用于分别提取并处理第一图像获取单元11划分后的待估计子模块;连接窗口处理模块152的计算模块153,用于根据存储单元14存储的中线值以及数据搬移模块151搬移得到的图像数据,对窗口处理模块152处理后的待估计子模块进行运动估计,得到待估计子模块的运动矢量。
为了提高数据处理速度,适应高清视频或图像的应用,本发明实施例中,运动估计单元15采用了多个并行处理的窗口处理模块152及相应的计算模块153;且多个窗口处理模块152及计算模块153可以采用乒乓操作,在计算模块153运算一个待估计子模块的运动矢量的同时,窗口处理模块152准备下一个图像数据,从而进一步提高了***的数据处理能力。
图6示出了图4中运动估计单元15的另一种具体结构。
与图5所示不同,在运动估计单元15的另一种具体结构中,运动估计单元15还可以包括:连接在数据搬移模块151和多个窗口处理模块152之间的二级缓存模块154,用于对数据搬移模块151搬移的图像数据进行数据缓存,以提高各窗口处理模块152的读取速度。
具体地,二级缓存模块154对数据搬移模块151搬移的图像数据进行数据缓存的步骤具体可以为:二级缓存模块154在每一参考帧图像启动时,一次性从数据搬移模块151中读取第一组参考像素,以使得二级缓存模块154具有计算首个待估计子模块的运动补偿时所需的全部图像数据;二级缓存模块154在窗口处理模块152启动时,一次性从数据搬移模块151中读取第二组参考像素,以使得二级缓存模块154具有计算当前待估计子模块的运动补偿时所需的全部图像数据;窗口处理模块152在处理下一待估计子模块时,从二级缓存模块154提取所需的图像数据。其中的第二组参考像素的行数是第一组参考像素的1/N,N为参考子模块的个数。
例如,假设参考子模块为3个8*8矩阵,且运动补偿的垂直高度为+/-16个像素,水平方向宽度无限制,则二级缓存模块154对数据搬移模块151搬移的图像数据进行数据缓存的步骤具体可以为:首先,二级缓存模块154在每一参考帧图像启动时,一次性从数据搬移模块151中读取48行参考像素;其次,二级缓存模块154在窗口处理模块152启动时,一次性从数据搬移模块151中读取16行参考像素;之后,窗口处理模块152在处理下一待估计子模块时,从二级缓存模块154提取所需的图像数据。
本发明实施例中,在图5及图6所示的运动估计单元15的结构中,当待估计子模块是8*8矩阵时,窗口处理模块152提取的待估计子模块的像素大小是8*3=24,为了提高该***的适用性,窗口处理模块152还可以具备插值能力,提供1/2或1/4像素的精确度。
图7示出了图5和图6中计算模块153的结构。
本发明实施例中,当参考子模块为3个8*8矩阵时,计算模块153以行为单位实现对待估计子模块的运动估量的计算,具体包括:多个移位模块1531,用于分别对数据搬移模块151搬移得到的图像数据进行移位处理,移位模块1531的个数与参考子模块的个数相等;与多个移位模块1531分别一一对应连接的多个8*计算模块1532,用于根据多个移位模块1531移位处理后的图像数据分别计算多个参考子模块同一行的像素差;与8*计算模块1532分别一一对应连接的多个累加模块1533,用于对8*计算模块1532计算得到的像素差进行累加;与多个累加模块1533连接的控制模块1534,用于根据累加模块1533计算得到的像素差以及存储单元14存储的中线值,对窗口处理模块152处理后的待估计子模块进行运动估计,得到待估计子模块的运动矢量。
本发明实施例中,待估计子模块及多个参考子模块可以分别取8*8矩阵,此时,当对待估计子模块进行运动估计时,只需在16*16矩阵窗口内进行,由于运动估计的运算量与窗口的面积大小成正比,因此,相对于现有技术,可以减少运动估计的运算量,特别适合于高清视频的应用。另外,本发明实施例提供的图像运动估计***设计了对图像数据进行并行处理的窗口处理模块152,提高了***处理速度,且设计了二级缓存模块154,进一步提高了系数的数据处理速度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种图像运动估计方法,其特征在于,所述方法包括以下步骤:
获取当前帧图像,将所述当前帧图像划分为待估计子模块及与所述待估计子模块相邻的多个参考子模块;
获取参考帧图像,计算所述多个参考子模块相对参考帧图像中相应模块的运动矢量,并根据所述运动矢量计算得到一中线值并存储;
根据存储的所述中线值以及所述参考帧图像,对所述待估计子模块进行运动估计,得到所述待估计子模块的运动矢量。
2.如权利要求1所述的图像运动估计方法,其特征在于,所述多个参考子模块是所述待估计子模块相邻左方的模块、所述待估计子模块相邻上方的模块和所述待估计子模块相邻左上方的模块。
3.如权利要求2所述的图像运动估计方法,其特征在于,当所述待估计子模块相邻左方的模块的运动矢量是(MV1x,MV1y),所述待估计子模块相邻上方的模块的运动矢量是(MV2x,MV2y),所述待估计子模块相邻左方的模块的运动矢量是(MV3x,MV3y),所述中线值为(MVMx,MVMy)时,所述根据所述运动矢量计算得到一中线值的步骤表示为:
MVMx=median(MV1x,MV2x,MV3x);
MVMy=median(MV1y,MV2y,MV3y)。
4.如权利要求3所述的图像运动估计方法,其特征在于,当所述待估计子模块的运动矢量是(MVx,MVy),所述当前帧图像为C,所述参考帧图像为P时,所述根据存储的所述中线值以及所述参考帧图像,对所述待估计子模块进行运动估计的步骤表示为:
5.一种图像运动估计***,其特征在于,所述***包括:
第一图像获取单元,用于获取当前帧图像,将所述当前帧图像划分为待估计子模块及与所述待估计子模块相邻的多个参考子模块;
第二图像获取单元,用于获取参考帧图像;
中线值计算单元,用于计算所述第一图像获取单元划分得到的所述多个参考子模块相对所述第二图像获取单元获取的所述参考帧图像中相应模块的运动矢量,并根据所述运动矢量计算得到一中线值;
存储单元,用于存储所述中线值计算单元计算得到的中线值;
运动估计单元,用于根据所述存储单元存储的所述中线值以及所述第二图像获取单元获取的所述参考帧图像,对所述第一图像获取单元划分得到的所述待估计子模块进行运动估计,得到所述待估计子模块的运动矢量。
6.如权利要求5所述的图像运动估计***,其特征在于,所述运动估计单元包括:
数据搬移模块,用于通过DMA控制器从所述第二图像获取单元获取的所述参考帧图像中搬移所述参考子模块及待估计子模块对应的图像数据;
连接所述数据搬移模块的多个窗口处理模块,用于分别提取并处理所述第一图像获取单元划分后的所述待估计子模块;
连接所述窗口处理模块的计算模块,用于根据所述存储单元存储的中线值以及所述数据搬移模块搬移得到的所述图像数据,对所述窗口处理模块处理后的所述待估计子模块进行运动估计,得到所述待估计子模块的运动矢量。
7.如权利要求6所述的图像运动估计***,其特征在于,所述运动估计单元还包括:
连接在所述数据搬移模块和所述多个窗口处理模块之间的二级缓存模块,用于对所述数据搬移模块搬移的图像数据进行数据缓存。
8.如权利要求7所述的图像运动估计***,其特征在于,所述二级缓存模块对所述数据搬移模块搬移的图像数据进行数据缓存的步骤具体为:
所述二级缓存模块在每一参考帧图像启动时,一次性从所述数据搬移模块中读取第一组参考像素,以使得所述二级缓存模块具有计算首个待估计子模块的运动补偿时所需的全部图像数据;
所述二级缓存模块在所述窗口处理模块启动时,一次性从所述数据搬移模块中读取第二组参考像素,以使得所述二级缓存模块具有计算当前所述待估计子模块的运动补偿时所需的全部图像数据;
所述窗口处理模块在处理下一待估计子模块时,从所述二级缓存模块提取所需的图像数据;
所述第二组参考像素的行数是所述第一组参考像素的1/N,N为所述参考子模块的个数。
9.如权利要求6或7所述的图像运动估计***,其特征在于,所述参考子模块是3个8*8矩阵,所述计算模块包括:
多个移位模块,用于分别对所述数据搬移模块搬移得到的图像数据进行移位处理,所述移位模块的个数与所述参考子模块的个数相等;
与所述多个移位模块分别一一对应连接的多个8*计算模块,用于根据所述多个移位模块移位处理后的图像数据分别计算所述多个参考子模块同一行的像素差;
与所述8*计算模块分别一一对应连接的多个累加模块,用于对所述8*计算模块计算得到的像素差进行累加;
与所述多个累加模块连接的控制模块,用于根据所述累加模块计算得到的像素差以及所述存储单元存储的中线值,对所述窗口处理模块处理后的所述待估计子模块进行运动估计,得到所述待估计子模块的运动矢量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103122308A CN103051889A (zh) | 2011-10-14 | 2011-10-14 | 一种图像运动估计方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103122308A CN103051889A (zh) | 2011-10-14 | 2011-10-14 | 一种图像运动估计方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103051889A true CN103051889A (zh) | 2013-04-17 |
Family
ID=48064376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103122308A Pending CN103051889A (zh) | 2011-10-14 | 2011-10-14 | 一种图像运动估计方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103051889A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615027A (zh) * | 2004-11-30 | 2005-05-11 | 北京中星微电子有限公司 | 一种视频编解码过程中进行运动估计搜索计算的方法 |
CN1665306A (zh) * | 2005-04-15 | 2005-09-07 | 北京中星微电子有限公司 | 一种硬件加速装置及其实现运动估计的方法 |
CN1688165A (zh) * | 2005-06-09 | 2005-10-26 | 上海交通大学 | 基于对象的纹理快速运动估值的方法 |
CN101600108A (zh) * | 2009-06-26 | 2009-12-09 | 北京工业大学 | 一种多视点视频编码中的运动和视差联合估计方法 |
-
2011
- 2011-10-14 CN CN2011103122308A patent/CN103051889A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615027A (zh) * | 2004-11-30 | 2005-05-11 | 北京中星微电子有限公司 | 一种视频编解码过程中进行运动估计搜索计算的方法 |
CN1665306A (zh) * | 2005-04-15 | 2005-09-07 | 北京中星微电子有限公司 | 一种硬件加速装置及其实现运动估计的方法 |
CN1688165A (zh) * | 2005-06-09 | 2005-10-26 | 上海交通大学 | 基于对象的纹理快速运动估值的方法 |
CN101600108A (zh) * | 2009-06-26 | 2009-12-09 | 北京工业大学 | 一种多视点视频编码中的运动和视差联合估计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101388977B (zh) | 图像处理设备和图像处理方法 | |
CN108141606B (zh) | 用于全局运动估计和补偿的方法和*** | |
CN111213380B (zh) | 一种帧间预测装置、方法、编解码装置和可读介质 | |
EP1932366A2 (en) | Adaptive motion search range | |
CN107483960B (zh) | 一种基于空间预测的运动补偿帧率上转换方法 | |
CN101163244A (zh) | 视频解码器运动补偿过程中的像素缓存方法及*** | |
US20120106639A1 (en) | Motion-compensated temporal filtering based on variable filter parameters | |
CN102932643B (zh) | 一种适用于hevc标准的扩展可变块运动估计电路 | |
CN102113327B (zh) | 图像编码装置、方法、集成电路 | |
CN108810549B (zh) | 一种面向低功耗的流媒体播放方法 | |
EP2599314A1 (en) | Method and system for encoding video frames using a plurality of processors | |
US20110255596A1 (en) | Frame rate up conversion system and method | |
CN104469381A (zh) | 一种h.2***估计搜索窗口自适应调整算法的vlsi实现*** | |
CN104918047A (zh) | 一种双向运动估计的排除方法和装置 | |
CN101771867A (zh) | 缩小尺寸解码方法和*** | |
CN103051889A (zh) | 一种图像运动估计方法及*** | |
CN101951521B (zh) | 针对扩展可变块的视频图像运动估计方法 | |
CN101227611A (zh) | 一种基于avs的运动估计装置及搜索方法 | |
CN102724504B (zh) | 视频编码滤波方法及装置 | |
CN105376586A (zh) | 一种适用于hevc标准中整数运动估计的三级流水线硬件架构 | |
CN102111615A (zh) | 直接存储器存取搬移实现视频滤波的方法及*** | |
CN104378641A (zh) | Hevc/h.265的亚像素插值的simd快速实现方法 | |
CN103731674A (zh) | 一种h.264二维并行后处理去块滤波器硬件实现方法 | |
CN114598877A (zh) | 帧间预测方法及相关设备 | |
Kameda et al. | Two stage inter-frame prediction using pixel-and block-wise motion compensation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130417 |