一种视频编码中运动矢量搜索方法及装置制造方法及图纸

技术编号:3583296 阅读:231 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种视频编码中运动矢量搜索方法和搜索装置,该方法包括如下步骤:利用存储在片内存储器中的当前编码宏块的搜索窗口数据,进行匹配运算获得当前编码宏块的运动矢量;从片外读取下一编码宏块的搜索窗口与当前编码宏块的搜索窗口不重叠的搜索窗口数据并控制在片内存储器中存储位置,得到按行连续存储的下一宏块的搜索窗口;利用所述下一宏块的搜索窗口数据,进行匹配运算获得下一编码宏块的运动矢量。该搜索装置,包括:处理单元,所述处理单元读取下一编码宏块的搜索窗口与当前编码宏块的搜索窗口不重叠的搜索窗口数据并存储在高速存储单元中。本发明专利技术加快了运动矢量搜索过程的效率,可用于视频编码芯片和嵌入式视频编码软件的设计。

【技术实现步骤摘要】

本专利技术涉及图像处理方法,尤其涉及一种视频编码中运动矢量搜索方法及 装置。
技术介绍
运动矢量搜索已广泛地应用于计算机动态图像处理。由于利用了图像帧间 的相关性,编码所需的比特数大大减少。现有的运动矢量搜索方法是块匹配方 法,即首先将待编码的图像帧分割成固定大小的宏块,针对每一宏块,在前一 帧的预先定义的搜索区域(搜索窗口)内查找最匹配的宏块,得到的位移差即 为运动矢量。前一帧图像也称作是参考帧图像。现有的块匹配方法的匹配准则一般采用像素值差的绝对值和最小的方法。例如当前待编码的宏块是16X16像素的图像块,计算当前宏块的256个像素 与参考帧图像的搜索窗口的16X16像素的图像块的256个像素分别求像素值 差,再计算差的绝对值和。如果当前水平搜索偏移范围为-m +m,垂直搜索偏 移范围为-n +n,其中m和n表示从基准位置偏移的像素数。采用全搜索算法, 需要做匹配的次数为(2m+l) X (2n+l)。尽管已有很多的快速搜索算法,但 要达到一个比较好的编码性能, 一般也要匹配10次甚至100次以上。此外, 现有视频编码标准(如H.264, AVS) —般都采用树状宏块划分方法, 一个宏 块(16X16)可划分为2个16X8块或2个8X16块或4个8X8块,每个8 X8块可再向下更细划分, 一个宏块有若干种划分模式,最优的宏块划分模式 的选择过程又要对每个子块做同样的搜索运算,计算量很大。此外,现有的整像素运动矢量搜索方法中还存在另外一个从片外读取数据 的瓶颈,这也阻碍运动矢量搜索速度提高。参考帧图像数据一般是按像素行顺 序存储的,且由于其数据量大,考虑到高速存储器的成本问题, 一般将参考帧 图像数据存放在运算处理器外的慢速存储器中,例如对于DSP处理器,其片内 高速存储器容量小,不足于存放整个参考帧数据。在匹配计算过程中,处理器将当前宏块对应的搜索窗口的图像数据读取到处理器内部的高速存储器中,进 行处理。处理完当前宏块后,再将下一宏块对应的搜索窗口的图像数据从外部 存储器读取到片内的高速存储器中进行处理。参考帧图像中参与计算的数据量 很大,例如对于一个16X16块,且其水平和垂直搜索偏移范围都为-16 + 16, 如果采用全搜索算法,则在搜索过程中,参考帧图像中参与计算的像素点的个数为(33+16) X (33+16),涉及到49行参考帧图像的数据。但是,由于片内高速存储器容量的限制,处理器需要大量访问片外慢速存 储器,从而导致运动矢量搜索速度较低。
技术实现思路
本专利技术的目的是克服现有技术的不足,提供一种视频编码中运动矢量搜索 方法及装置,能够提高运动矢量搜索的速度。为了达到上述目的,本专利技术提供如下技术方案 一种视频编码中运动矢量搜索方法,包括如下步骤歩骤Sl,利用存储在片内存储器中的当前编码宏块的搜索窗口数据,进 行匹配运算获得当前编码宏块的运动矢量;步骤S2,从片外存储器读取下一编码宏块的搜索窗口与当前编码宏块的 搜索窗口不重叠的搜索窗口数据并存储到片内存储器中;步骤S3,利用下一编码宏块与当前编码宏块相重叠的搜索窗口数据和所 述不重叠的搜索窗口数据,进行匹配运算获得下一编码宏块的运动矢量。进一步地,步骤S1中所述存储是按行连续存储。进一歩地,所述歩骤S1中的匹配运算的匹配准则采用像素值差的绝对值 和最小的方法。进一步地,在步骤S2中,还包括对所述不重叠的搜索窗口数据在片内存 储器进行缓存的步骤。进一步地,在步骤S2中,还包括将下一编码宏块的搜索窗口与当前宏块 的搜索窗口重叠的数据和所述不重叠的搜索窗口数据组合成在片内存储器按 行连续存储的下一编码宏块搜索窗口的歩骤。进--步地,所述的在片内存储器按行连续存储的下一编码宏块搜索窗口的 起始地址为当前窗口起始地址加上宏块水平宽度。进一步地,所述组合成按行连续存储的下一编码宏块的搜索窗口是通过控 制所述不重叠的搜索窗口数据部分的存储位置按行分别覆盖当前编码宏块的 搜索窗口数据来实现的。进--步地,所述不重叠的搜索窗口数据部分每行存放的起始位置为其中S为当前搜索窗口的起始地址,M为搜索窗口的水平宽度,i为行号, 取值为1至N, N为搜索窗口垂直高度。进一步地,步骤S2中的所述下一编码宏块与所述当前编码宏块处于同一 编码宏块行。进一步地,所述步骤S2中,还包括判断当前编码宏块是否为所在编码宏 块行的最后一个编码宏块的步骤,如果判断结果为当前编码宏块是所在编码宏 块行的最后一个编码宏块,则处理下一编码宏块行,将下一编码宏块行的第一 编码宏块的搜索窗口数据从片外存储器读取到片内存储器中,并执行歩骤Sl 至步骤S3。进一步地,歩骤S1之前还包括将待编码的图像帧分割成多个编码宏块的 步骤。一种运动矢量搜索装置,包括.-处理单元,用于控制输入输出数据和运动矢量搜索运算; 高速存储单元,与所述处理单元连接,用于存储搜索窗口数据; 所述处理单元读取下一编码宏块的搜索窗口与当前编码宏块的搜索窗口不重叠的搜索窗口数据并存储在所述高速存储单元中。进一步地,所述处理单元包括按行连续存储模块,用于将所述高速存储单元中存储的当前编码宏块与下一编码宏块的搜索窗口重叠的数据和所述不重叠的数据组合成按行连续存储的下一编码宏块的搜索窗口数据。进一步地,该运动矢量搜索装置还包括输入单元,与所述处理单元连接,用于从外部输入数据;输出单元,与所述处理单元连接,用于向外部输出数据。 进一步地,所述高速存储单元,包括用于存储搜索窗口数据的第一高速存储器和用于缓存下一编码宏块的搜索窗口与当前搜索窗口不重叠数据的第二高速存储器。进一歩地,所述第一高速存储器的容量为 C1=MXN+W,单位字节;其中,M为搜索窗口水平宽度,N为搜索窗口垂直高度,W为当前编码图 像的宽度。进一歩地,所述第二高速存储器的容量为 C2=16XN,单位字节;式中,N为搜索窗口的垂直高度。本专利技术产生的有益效果是本专利技术充分利用当前宏块与相邻的前一宏块的搜索窗口的重叠部分的参 考帧数据,此重叠部分数据不需要重复从片外存储器搬移到片内存储器,在片 内存储器中也不需要搬移,且使得搜索窗口内的数据在片内存储器中总是连续 存放的。具体说来,本专利技术有如下三个方面的优势1. 对同一行中邻近的宏块,避免重复访问其片外慢速存储器中搜索窗口 的重叠部分的数据,大大减少了搜索过程访问片外存储器的次数。2. 处理器从片外读取参考帧数据采用存储器直接访问(DMA)方法预先读取数据,与处理器并行,极少地占用处理器时间。3. 对同一行邻近的宏块,其搜索窗口的重叠部分数据,在片内存储器中不需搬移,通过控制新搬移进来的数据的存放位置,同样也能得到连续存放的 搜索窗口数据。本专利技术产生以上3个方面的有益效果,大大加快了运动矢量搜索过程的效 率。本专利技术可用于视频编码芯片的设计和嵌入式视频编码软件的设计。附图说明图1是本专利技术的运动矢量搜索装置结构示意图;图2是本专利技术的运动矢量搜索方法中当前宏块搜索窗口与下一宏块搜索 窗口位置示意图;图3是本专利技术的运动矢量搜索方法中下一搜索窗口与当前搜索窗口不重 叠部分的示意图;图4是本专利技术的运动矢量搜索方法中下一搜索窗口在参考帧中的位置示意图;图5是下一搜索窗口与当前搜索窗口不重叠部分在高速存储器中存放位置示意图。具体实施方式为本文档来自技高网
...

【技术保护点】
一种视频编码中运动矢量搜索方法,包括如下步骤:步骤S1,利用存储在片内存储器中的当前编码宏块的搜索窗口数据,进行匹配运算获得当前编码宏块的运动矢量;步骤S2,从片外存储器中读取下一编码宏块的搜索窗口与当前编码宏块的搜索窗口不重叠的搜索窗口数据并存储到片内存储器中;步骤S3,利用下一编码宏块与当前编码宏块相重叠的搜索窗口数据和所述不重叠的搜索窗口数据,进行匹配运算获得下一编码宏块的运动矢量。

【技术特征摘要】
1. 一种视频编码中运动矢量搜索方法,包括如下步骤步骤S1,利用存储在片内存储器中的当前编码宏块的搜索窗口数据,进行匹配运算获得当前编码宏块的运动矢量;步骤S2,从片外存储器中读取下一编码宏块的搜索窗口与当前编码宏块的搜索窗口不重叠的搜索窗口数据并存储到片内存储器中;步骤S3,利用下一编码宏块与当前编码宏块相重叠的搜索窗口数据和所述不重叠的搜索窗口数据,进行匹配运算获得下一编码宏块的运动矢量。2、 根据权利要求1所述的视频编码中运动矢量搜索方法,其特征是,步 骤S1中所述存储是按行连续存储。3、 根据权利要求1所述的视频编码中运动矢量搜索方法,其特征是,所 述步骤Sl中的匹配运算的匹配准则采用像素值差的绝对值和最小的方法。4、 根据权利要求1至3中任一项所述的视频编码中运动矢量搜索方法, 其特征是,在歩骤S2中,还包括对所述不重叠的搜索窗口数据进行缓存的步骤。5、 根据权利要求1所述的视频编码中运动矢量搜索方法,其特征是,在 歩骤S2中,还包括将下一编码宏块的搜索窗口与当前宏块的搜索窗口重叠的 数据和所述不重叠的搜索窗口数据组合成在片内存储器按行连续存储的下一 编码宏块搜索窗口的步骤。6、 根据权利要求5所述的视频编码中运动矢量搜索方法,其特征是,所 述的在片内存储器按行连续存储的下一编码宏块搜索窗口的起始地址为当前 窗口起始地址加上宏块水平宽度。7、 根据权利要求5所述的视频编码中运动矢量搜索方法,其特征是,所 述组合成按行连续存储的下一编码宏块的搜索窗口是通过控制所述不重叠的 搜索窗口数据部分的存储位置按行分别覆盖当前编码宏块的搜索窗口数据实 现的。8、 根据权利要求7所述的视频编码中运动矢量搜索方法,其特征是, 所述不重叠的搜索窗口数据部分每行存放的起始位置为其中S为当前搜索窗口的起始地址,M为搜索窗口的水平宽度,i为行号, 取值为1至N, N为搜索窗口垂直高度。9、 根据权利要求1所述的视频编码中运动矢量搜索方法,其特征是,步 骤S2中的所述下一编码宏块与所述当前编码宏块处...

【专利技术属性】
技术研发人员:张绘国陈益强纪雯汤博
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1