CN100384216C - 优化搜索算法的视频数据压缩方法及装置 - Google Patents

优化搜索算法的视频数据压缩方法及装置 Download PDF

Info

Publication number
CN100384216C
CN100384216C CNB2005100731972A CN200510073197A CN100384216C CN 100384216 C CN100384216 C CN 100384216C CN B2005100731972 A CNB2005100731972 A CN B2005100731972A CN 200510073197 A CN200510073197 A CN 200510073197A CN 100384216 C CN100384216 C CN 100384216C
Authority
CN
China
Prior art keywords
search
video data
searching
searching algorithm
data compression
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.)
Active
Application number
CNB2005100731972A
Other languages
English (en)
Other versions
CN1700736A (zh
Inventor
怀千江
白锋
王浩
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CNB2005100731972A priority Critical patent/CN100384216C/zh
Publication of CN1700736A publication Critical patent/CN1700736A/zh
Application granted granted Critical
Publication of CN100384216C publication Critical patent/CN100384216C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种优化使用搜索模板的搜索算法的视频数据压缩方法与装置,该方法包括以下步骤:根据搜索模板和搜索步长,确定搜索模板中其余各搜索块相对于当前搜索块的偏移地址;在搜索中,根据当前搜索块的起始地址和所述各偏移地址,计算其余各搜索块的起始地址;以及在进行匹配运算之前,将当前搜索块的视频数据和其余各搜索块的视频数据依次预读入缓存。本发明提高了内存缓存成功率。

Description

优化搜索算法的视频数据压缩方法及装置
技术领域
本发明涉及视频压缩算法中的运动估计,特别地,涉及优化使用搜索模板的搜索算法的视频数据压缩方法及装置。
背景技术
目前的视频压缩算法大都是基于运动估计的,也就是根据前一帧的像素来预测当前帧的像素移动位置,产生的预测运动矢量和预测值与实际值的误差作为压缩后的数据进行处理并传输。在实际算法中一般有三种视频帧I、P、B。I帧是不进行运动补偿直接压缩,P帧是进行前向的运动估计,B帧通常在比较高的压缩层次中出现,是双向的预测帧。在一个视频压缩算法中计算量最大的就是运动估计,运动估计是最耗费时间的模块。
运动估计的核心思想就是要运算次数越少,收敛速度越快,找到和前一帧对应像素块匹配的位置。比较常用的搜索算法有三步法、梯度法、钻石法等。
三步法(TSS)是帧内编码运动估计时的搜索算法。为了减少搜索算法的计算复杂度并提高运动补偿的准确性,TSS采用9点正方形对目标块进行最优匹配,其基本思想是利用搜索模板的形状和大小对运动估计算法速度及精度产生重要影响的特性。在搜索最优匹配点时,选择小的搜索模板可能会陷入局部最优,选择大的搜索模板则可能无法找到最优点。
参照图1,图1是现有技术中三步法搜索模板的示意图。三步法的搜索过程如下:第一步,以目标块为中心,往四个方向扩展以一定步长取8个点,进行比较;第二步,将步长减半,以之前最优块为中心向四周扩展取8个点,进行比较;重复第一、第二步,直到步长小于1,得到最优点。
钻石搜索(DS,Diamond Search)法以搜索模板形状而得名,具有简单、鲁棒、高效的特点,是现有性能最优的快速搜索算法之一。DS算法针对视频图像中运动矢量的基本规律,选用了两种形状大小的搜索模板,一种为大钻石搜索模板(LDSP,Large Diamond SearchPattern),参照图2,图2是现有技术中大钻石搜索模板的示意图,它包含9个候选位置;另一种为小钻石搜索模板(SDSP,Small DiamondSearch Pattern),参照图3,图3是现有技术中小钻石搜索模板的示意图,它包含5个候选位置。
DS算法搜索过程如下:开始阶段先重复使用大钻石搜索模板,直到最佳匹配块落在大钻石中心。由于LDSP步长大,因而搜索范围广,可实现粗定位,使搜索不会陷于局部最小。当粗定位结束后,可认为最优点就在LDSP周围8个点所围菱形区域中。然后再使用小钻石搜索模板来实现最佳匹配块的准确定位,以不产生较大起伏,从而提高运动估计精度。
在三步搜索算法和DS搜索算法中,需要读取的匹配点的位置是变化的,这些位置在内存中是不连续的。而在***缓存内,数据的地址是连续的。因此操作***在进行缓存时,内存数据失效率增加,直接对内存的访问必然会引起访问失效,增加访问等待时间。
发明内容
本发明要解决的技术问题是,缩短处理器或硬件逻辑在进行搜索算法计算时因缓存失效而造成的额外等待时间。
根据本发明的第一方面,提供一种优化使用搜索模板的搜索算法的视频数据压缩方法,所述方法包括:根据搜索模板和搜索步长,确定搜索模板中其余各搜索块相对于当前搜索块的偏移地址;在搜索中,根据当前搜索块的起始地址和所述各偏移地址,计算其余各搜索块的起始地址;以及在进行匹配运算之前,将当前搜索块的视频数据和其余各搜索块的视频数据依次预读入缓存。
在第一方面中,优选地,所述使用搜索模板的搜索算法包括使用单一搜索模板的搜索算法。
优选地,所述使用单一搜索模板的搜索算法包括三步搜索算法。
优选地,所述使用搜索模板的搜索算法包括使用多级搜索模板的搜索算法。
优选地,所述使用多级搜索模板的搜索算法包括钻石搜索算法。
优选地,所述当前搜索块位于模板的中心。
根据本发明的第二方面,提供一种优化使用搜索模板的搜索算法的视频数据压缩装置,所述装置包括:偏移地址确定装置,用于根据搜索模板和搜索步长,确定搜索模板中其余各搜索块相对于当前搜索块的偏移地址;起始地址计算装置,在搜索中用于根据当前搜索块的起始地址和所述各偏移地址,计算其余各搜索块的起始地址;以及块数据预读装置,用于在进行匹配运算之前,将当前搜索块的视频数据和其余各搜索块的视频数据依次预读入缓存。
在第二方面中,优选地,所述使用搜索模板的算法包括使用单一搜索模板的搜索算法。
优选地,所述使用单一搜索模板的搜索算法包括三步搜索算法。
优选地,所述使用搜索模板的搜索算法包括使用多级搜索模板的搜索算法。
优选地,所述使用多级搜索模板的搜索算法包括钻石搜索算法。
优选地,所述当前搜索块位于模板的中心。
尽管搜索算法对块的读取是非连续的,但是根据本发明,可通过计算来确定数据块的地址,利用缓存预读技术改进单一的内存预读,从而提高内存缓存成功率,大量缩短处理器或硬件逻辑的额外等待时间。
附图说明
图1是现有技术中三步法搜索模板的示意图;
图2是现有技术中大钻石搜索模板的示意图;
图3是现有技术中小钻石搜索模板的示意图;
图4是根据本发明优化三步搜索算法的视频数据压缩方法的流程图;
图5是根据本发明优化钻石搜索算法的视频数据压缩方法的流程图。
为更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步说明。
具体实施方式
根据本发明,优化三步搜索算法的视频数据压缩方法的过程为:首先,偏移地址确定装置根据三步法的搜索模板和搜索步长,确定搜索模板中其余各搜索块相对于当前搜索块的偏移地址。可建立一张偏移地址对照表,对应搜索步长以及模板索引可得到其余各搜索块相对于当前搜索块的偏移地址,优选地,当前搜索块位于模板的中心。参照图1,对于三步法搜索模板,以当前搜索块为中心,从位于它左侧的搜索块起沿顺时针方向,各搜索块的偏移地址分别如下表所示,其中n是搜索步长,当前搜索块的偏移地址为(0,0)。
  (0,0)   (-n,0)   (-n,n)   (0,n)   (n,n)
  (n,0)   (n,-n)   (0,-n)   (-n,-n)
其次,起始地址计算装置在搜索中根据当前搜索块的起始地址和各偏移地址,计算其余各搜索块的起始地址。如当前搜索块起始地址为(72,36),步长为4,那么对应的各个搜索块的起始地址分别为(72,36),(72-4,36),(72-4,36+4),依次类推。
最后,块数据预读装置在进行匹配运算之前,将当前搜索块的视频数据和其余各搜索块的视频数据依次预读入缓存。这里,匹配运算的常用匹配准则包括绝对误差和(SAD)、均方误差(MSE)及归一化互相关函数(NCCF),其中SAD不需要乘法运算,实现简单。确定了块的起始地址,因为块是8×8大小的像素块,就可以将块的视频数据读到缓存中。在嵌入式平台,如DSP和ARM平台上提供了专门对缓存进行处理的指令。使用处理器或DSP的专用指令,如ARM的PLD指令可将视频数据读取到缓存。这样,用缓存预读(Cache preload)在运算之前进行缓存,提高了***性能。
在三步法第一步前,先读取偏移地址对照表,将指定地址的数据读入缓存中。计算得到一个最优点时,根据新的步长,预先将指定地址的视频数据读入缓存,不断重复。参照图4,图4是根据本发明优化三步搜索算法的视频数据压缩方法的流程图。上述过程的具体步骤如下:1)建立一个TSS模板偏移地址对照表;2)读取参考帧中一个块数据;3)以对应的块地址为中心,从偏移地址对照表中依次得到每个块的起始地址;4)在***计算SAD时,将块数据读入缓存中,比较之前的结果保存较小的值,重复8次;5)如果中心点块的SAD值最小,那么本次搜索结束。否则,将中心点移到SAD值最小的那个块,将步长减半后,重复执行步骤3),直到步长小于1,得到最优值。
根据本发明,优化钻石搜索算法的视频数据压缩方法的过程为:首先,偏移地址确定装置根据DS搜索算法的两种模板,分别确定每一模板中其余各搜索块相对于当前搜索块的偏移地址。可建立两张偏移地址对照表,对应搜索步长以及模板索引可得到各搜索块相对于当前搜索块的偏移地址,优选地,当前搜索块位于模板的中心。参照图2、3,以当前搜索块为中心,从位于它左侧的搜索块起沿顺时针方向,大、小钻石搜索模板中各搜索块的偏移地址分别如LDSP表、SDSP表中所示,其中当前搜索块的偏移地址为(0,0),n是大模板的当前搜索步长,小模板的搜索步长为1。
  LDSP   (0,0)   (-n,0)   (-n/2,n/2)   (0,n)   (n/2,n/2)   (n,0)  (n/2,-n/2)   (0,-n)   (-n/2,-n/2)
  SDSP   (0,0)   (-1,0)   (0,1)   (1,0)   (0,-1)
其次,起始地址计算装置在搜索中根据当前搜索块的起始地址和各偏移地址,计算其余各搜索块的起始地址。如当前搜索块起始地址为(72,36),步长为2,那么对应的大模板中各个搜索块的起始地址分别为(72,36),(72-2,36),(72-2/2,36+2/2),依次类推。
最后,块数据预读装置在进行匹配运算之前,将当前搜索块的视频数据和其余各搜索块的视频数据依次预读入缓存。同样地,这里匹配运算的常用匹配准则也包括绝对误差和(SAD)、均方误差(MSE)及归一化互相关函数(NCCF)。仍可使用处理器或DSP的专用指令,如ARM的PLD指令将视频数据读取到缓存,同样利用缓存预读(Cachepreload)在运算之前进行缓存,提高了***性能。
参照图5,图5是根据本发明优化钻石搜索算法的视频数据压缩方法的流程图。上述过程的具体步骤为:1)读取一个参考帧的块数据;2)根据第一个块的起始地址,将第一块的数据读到缓存中,根据当前步长在LDSP表中确定其余各块的起始地址;3)在***进行SAD计算时,将第二个块读到缓存中,比较并保存较优值,重复8次;4)如果中心点块的SAD值最小,则进入小模板匹配环节,否则将中心点移到SAD最小的那个块,调整步长,重复执行步骤2);5)确定在SDSP表中第一个块的起始地址,将第一块的视频数据读到缓存中;6)在***进行当前块SAD计算时,将第二个块读到缓存中,比较并保存较优值,重复4次;7)如果中心点的SAD值最小,则当前块搜索结束,否则将中心点移到SAD值最小的那个块,重复执行步骤5),直至得到最优点。
上述优化三步搜索算法和钻石搜索算法的过程和具体步骤中,所述当前搜索块位于搜索模板的中心只是一个例子,这里当前搜索块也可以位于搜索模板中除中心以外的其他任何位置。
前文分别以优化使用单一搜索模板的三步法和优化使用两级搜索模板的DS算法为例,对本发明作了说明性的描述。除此之外,本发明还可优化使用其他单一搜索模板的搜索算法,以及优化使用其他多级搜索模板的搜索算法,如四步法、二维对数法等,这对本领域技术人员来讲是显然的。
显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。

Claims (12)

1.一种优化使用搜索模板的搜索算法的视频数据压缩方法,包括:
根据搜索模板和搜索步长,确定搜索模板中其余各搜索块相对于当前搜索块的偏移地址;
在搜索中,根据当前搜索块的起始地址和所述各偏移地址,计算其余各搜索块的起始地址;以及在进行匹配运算之前,将当前搜索块的视频数据和其余各搜索块的视频数据依次预读入缓存。
2.如权利要求1所述的视频数据压缩方法,所述使用搜索模板的搜索算法包括使用单一搜索模板的搜索算法。
3.如权利要求2所述的视频数据压缩方法,所述使用单一搜索模板的搜索算法包括三步搜索算法。
4.如权利要求1所述的视频数据压缩方法,所述使用搜索模板的搜索算法包括使用多级搜索模板的搜索算法。
5.如权利要求4所述的视频数据压缩方法,所述使用多级搜索模板的搜索算法包括钻石搜索算法。
6.如权利要求1至5中任一项所述的视频数据压缩方法,所述当前搜索块位于模板的中心。
7.一种优化使用搜索模板的搜索算法的视频数据压缩装置,包括:
偏移地址确定装置,用于根据搜索模板和搜索步长,确定搜索模板中其余各搜索块相对于当前搜索块的偏移地址;
起始地址计算装置,在搜索中用于根据当前搜索块的起始地址和所述各偏移地址,计算其余各搜索块的起始地址;以及块数据预读装置,用于在进行匹配运算之前,将当前搜索块的视频数据和其余各搜索块的视频数据依次预读入缓存。
8.如权利要求7所述的视频数据压缩装置,所述使用搜索模板的搜索算法包括使用单一搜索模板的搜索算法。
9.如权利要求8所述的视频数据压缩装置,所述使用单一搜索模板的搜索算法包括三步搜索算法。
10.如权利要求7所述的视频数据压缩装置,所述使用搜索模板的搜索算法包括使用多级搜索模板的搜索算法。
11.如权利要求10所述的视频数据压缩装置,所述使用多级搜索模板的搜索算法包括钻石搜索算法。
12.如权利要求7至11中任一项所述的视频数据压缩装置,所述当前搜索块位于模板的中心。
CNB2005100731972A 2004-12-31 2005-06-01 优化搜索算法的视频数据压缩方法及装置 Active CN100384216C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100731972A CN100384216C (zh) 2004-12-31 2005-06-01 优化搜索算法的视频数据压缩方法及装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN200410103997.X 2004-12-31
CN200410103994.6 2004-12-31
CN200410103997 2004-12-31
CN2004101039946 2004-12-31
CNB2005100731972A CN100384216C (zh) 2004-12-31 2005-06-01 优化搜索算法的视频数据压缩方法及装置

Publications (2)

Publication Number Publication Date
CN1700736A CN1700736A (zh) 2005-11-23
CN100384216C true CN100384216C (zh) 2008-04-23

Family

ID=35476578

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100731972A Active CN100384216C (zh) 2004-12-31 2005-06-01 优化搜索算法的视频数据压缩方法及装置

Country Status (1)

Country Link
CN (1) CN100384216C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977325B (zh) * 2010-11-19 2012-02-22 上海师范大学 一种新型块匹配运动估计方法
CN106331703B (zh) 2015-07-03 2020-09-08 华为技术有限公司 视频编码和解码方法、视频编码和解码装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1452409A (zh) * 2002-04-18 2003-10-29 华为技术有限公司 一种图像运动估计方法
CN1615023A (zh) * 2004-12-03 2005-05-11 大唐微电子技术有限公司 当前块与参考块进行匹配运算的方法及运动估计方法
CN1212014C (zh) * 2003-08-18 2005-07-20 北京工业大学 基于时空域相关性快速运动估计的视频编码方法
CN1216497C (zh) * 2003-10-17 2005-08-24 清华大学 一种基于运动矢量合成的视频转码方法
CN1674679A (zh) * 2005-05-12 2005-09-28 北京中星微电子有限公司 优化搜索算法的视频数据压缩方法及装置
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1452409A (zh) * 2002-04-18 2003-10-29 华为技术有限公司 一种图像运动估计方法
CN1212014C (zh) * 2003-08-18 2005-07-20 北京工业大学 基于时空域相关性快速运动估计的视频编码方法
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
CN1216497C (zh) * 2003-10-17 2005-08-24 清华大学 一种基于运动矢量合成的视频转码方法
CN1615023A (zh) * 2004-12-03 2005-05-11 大唐微电子技术有限公司 当前块与参考块进行匹配运算的方法及运动估计方法
CN1674679A (zh) * 2005-05-12 2005-09-28 北京中星微电子有限公司 优化搜索算法的视频数据压缩方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
区哉法立体匹配的实时性问题研究. 杜歆,厉晓华,顾伟康,丁蒋霖.浙江大学学报,第30卷第6期. 2003 *
基于H.264编码的运动估计快速搜索算法. 智西湖,智艾娣.计算机应用,第24卷第4期. 2004 *
基于H264编码的运动估计快速搜索算法. 智西湖,智艾娣.计算机应用,第24卷第4期. 2004 *

Also Published As

Publication number Publication date
CN1700736A (zh) 2005-11-23

Similar Documents

Publication Publication Date Title
US8705611B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
CN101605262B (zh) 可变块尺寸运动预测方法和装置
CN100527848C (zh) 运动矢量检测装置及运动矢量检测方法
CN101267556B (zh) 快速运动估计方法及视频编解码方法
CN102291581B (zh) 支持帧场自适应运动估计的实现方法
CN101006729A (zh) 视频压缩***中的运动估计
CN109348234B (zh) 一种高效亚像素运动估计方法及***
EP1668912B1 (en) Rectangular-shape motion search
CN101668202A (zh) 帧内预测模式的选择方法和装置
JP2001357399A (ja) 画像処理装置及び方法
CN110807513A (zh) 一种基于Winograd稀疏算法的卷积神经网络加速器
CN101163244A (zh) 视频解码器运动补偿过程中的像素缓存方法及***
CN100384216C (zh) 优化搜索算法的视频数据压缩方法及装置
JPH04150284A (ja) 動ベクトル検出方法およびその装置
CN106572354B (zh) 基于图像块的搜索匹配方法、***及视频处理设备
CN1674679A (zh) 优化搜索算法的视频数据压缩方法及装置
CN111901590B (zh) 一种用于帧间预测的细化运动矢量存储方法及装置
US20210235107A1 (en) Efficient video motion estimation by reusing a reference search region
CN106658024B (zh) 一种快速的视频编码方法
CN101227616B (zh) H.263/avc整象素向量搜索方法
CN113347417B (zh) 提高率失真优化计算效率的方法、装置、设备及存储介质
US20230262257A1 (en) Centroid point search-based fast global motion matching method and system for dynamic point cloud
CN102291577A (zh) 一种计算宏块运动向量的方法及装置
US20020168008A1 (en) Method and apparatus for coding moving pictures
CN201639717U (zh) 可变块尺寸运动预测装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090306

Address after: Tianjin economic and Technological Development Zone fourth, 80 Avenue, Tian Da Science and Technology Park, block A1, 2

Patentee after: Vimicro Electronics Co., Ltd.

Address before: No. 35, Xueyuan Road, Beijing, Haidian District, Nanjing building, 15 Floor

Patentee before: Beijing Vimicro Corporation

ASS Succession or assignment of patent right

Owner name: ZHONGXING ELECTRONIC CO., LTD.

Free format text: FORMER OWNER: ZHONGXING MICROELECTRONCI CO., LTD., BEIJING

Effective date: 20090306