CN101212682B - 一种运动搜索区域的数据加载装置和方法 - Google Patents

一种运动搜索区域的数据加载装置和方法 Download PDF

Info

Publication number
CN101212682B
CN101212682B CN2007101253394A CN200710125339A CN101212682B CN 101212682 B CN101212682 B CN 101212682B CN 2007101253394 A CN2007101253394 A CN 2007101253394A CN 200710125339 A CN200710125339 A CN 200710125339A CN 101212682 B CN101212682 B CN 101212682B
Authority
CN
China
Prior art keywords
data
block
group
comparing
search window
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.)
Expired - Fee Related
Application number
CN2007101253394A
Other languages
English (en)
Other versions
CN101212682A (zh
Inventor
李刚
谭舒亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Coship Electronics Co Ltd
Original Assignee
Shenzhen Coship Electronics Co Ltd
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 Shenzhen Coship Electronics Co Ltd filed Critical Shenzhen Coship Electronics Co Ltd
Priority to CN2007101253394A priority Critical patent/CN101212682B/zh
Publication of CN101212682A publication Critical patent/CN101212682A/zh
Application granted granted Critical
Publication of CN101212682B publication Critical patent/CN101212682B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种运动搜索区域的数据加载装置,其包括外部存储器、数据加载控制器、比较存储器组、比较块索引控制器、参考块寄存器组、至少一比较条带存储器组、及其对应的比较块寄存器组和差异比较单元;外部存储器向比较存储器组加载图像的当前搜索窗口的数据;比较块索引控制器计算并输出比较块索引数据加载控制器控制比较存储器组,向各比较条带存储器组分发数据;比较条带存储器组按并行方式,将数据依次分发给其对应的比较块寄存器组;比较块寄存器组按并行方式,逐组将数据提供给其差异比较单元,根据参考块数据,计算残差块的绝对差总和。从而增加了并行处理数,解决了处理器计算能力的不足,实现了全搜索运动估计算法所需的计算量。

Description

一种运动搜索区域的数据加载装置和方法
技术领域
本发明涉及视频压缩编码以及数字视频格式转换领域的运动估计技术,尤其涉及的是,一种运动搜索区域的数据加载装置和方法。 
背景技术
视频编码器生成视频时,须遵守视频压缩国际标准,如H.261、H.263、MPEG-1、MPEG-2、MPEG-4、AVC、AVS、MPEG-7以及MPEG-21等,分别生成符合各标准比特流。因此,运动估计技术被广泛地应用于视频压缩编码以及数字视频格式转换等领域,以尽可能地减少传送给定图像质量的数字视频数据所需要的带宽。 
具体地说,视频编码方法主要包括帧内压缩和帧间压缩,其中帧间压缩是其压缩比的主要来源,因此现有的视频压缩标准大多数采用基于运动估计的帧间压缩方案。其原理就是先将当前帧分成若干大小相同的块,然后对每个块在参考帧一定大小的窗口内搜索与之最相似的匹配块。由于经过匹配的残差块中接近0的像素很多,通过变换、量化、熵编码,就可以大幅度提高压缩比。在上述过程中,运动估计就是搜索最佳匹配块的环节。运动估计不仅最费时,而且直接影响压缩效率,是视频压缩的关键和瓶颈所在。而随着集成电路规模的提高与单位面积成本的下降,应用了全搜索算法,即全搜索块匹配算法(FSBMA)以及绝对差总和(SAD,Sum ofAbsolute Difference)方法来进行运动估计。 
三星电子株式会社在中国授权公告号为CN1297134C的发明专利《用于扫描搜索区内参考宏块窗口的运动估计装置和方法》中,公开了一种运动估计技术,通过将当前宏块与参考帧搜索区中的不同参考宏块进行比较,将当前宏块的运动矢量从与当前宏块最为匹配的参考宏块中导出;并且,为减少装载新参考宏块所需的指令数目,复用参考宏块之间的重叠部分并且仅将非重叠部分装载到存储器存储部件。 
但是,该方法提供的是基于CPU架构的优化算法,并没有阐述对于多流水线如何进行处理;由于在面对高分辨率图像处理的过程中,全搜索运动估计算法所需的计算量大大提高,远超过现有CPU的处理能力,因此,需要应用多流水线的处理方法进行运动估计。 
因此,现有技术存在缺陷,需要改进。 
发明内容
本发明所要解决的技术问题是在面对高分辨率图像处理的过程中,CPU的处理能力不足以完成全搜索运动估计算法所需的计算量。 
本发明的技术方案如下: 
一种运动搜索区域的数据加载装置,其包括外部存储器,其中,还包括数据加载控制器、比较存储器组、比较块索引控制器、参考块寄存器组、至少一比较条带存储器组、以及与各比较条带存储器组对应的比较块寄存器组及其差异比较单元;所述外部存储器用于存储至少一张图像,并向所述比较存储器组加载所述图像的当前搜索窗口的数据;所述比较存储器组用于存储所述图像的当前搜索窗口的数据;所述数据加载控制器用于控制所述比较存储器组,向各比较条带存储器组分发数据,还用于控制所述比较块索引控制器;所述比较块索引控制器用于计算比较块索引,在以上计算出的所有块索引中,通过计算判断出搜索窗口边界以外部分的无效索引,并标记这些无效索引,块索引与块进行时钟对齐后与块的残差绝对和一起输出;所述比较条带存储器组用于按并行方式,将数据依次分发给其对应的比较块寄存器组;所述比较块寄存器组用于按并行方式,逐组将数据提供给其差异比较单元;所述参考块寄存器组用于存储参考块数据;所述差异比较单元用于根据参考块数据和所述比较块寄存器组的数据,计算残差块的绝对差总和。 
所述的数据加载装置,其中,还包括与所述比较存储器组相连接的设置模块,用于预设置图像的参考块的大小和/或搜索窗口的大小。 
所述的数据加载装置,其中,所述比较条带存储器组中的存储块采用移位寄存器方式设置,用于按接收顺序存储其收到的数据,按顺序将第一个存储块作为当前存储块,按并行方式,将当前存储块中的数据,依次分发给所述比较条带存储器组对应的比较块寄存器组,然后将下一个存储块设置为当前存储块。 
所述的数据加载装置,其中,所述数据加载控制器还包括判断模块,用于确定所述图像的运动向量搜索完成、数据在有效图像区域之外、或比较块寄存器组处理完成对应的比较条带存储器组收到的全部数据。 
一种运动搜索区域的数据加载方法,其包括以下步骤:A1、分别预设置图像的参考块的大小为K1像素×K2像素、搜索窗口的大小为M像素×N像素;其中,每像素为K3位;A2、将当前图像在存储器中的数据,根据二级缓存的数量,将数据分组并加载到各二级缓存;其中,所述数据是所述图像的当前搜索窗口的数据;A3、二级缓存将其收到的数据,按并行方式,依次分发K4×K3位的数据给一级缓存;一级缓存在获得K5组的K4×K3位数据后,按并行方式,逐组将K5×K4×K3位的数据,提供给计算模块,计算残差块的绝对差总和;其中,K4为K1或K2,K5对应为K2或K1;A4、一级缓存处理完二级缓存收到的全部数据后,对各绝对差总和取最小值,取其所对应的参考块,作为新的参考块;A5、判断所述图像的运动向量搜索是否完成,否则计算各残差块对应搜索窗口的数据位置的索引,在以上计算出的所有块索引中,通过计算判断出搜索窗口边界以外部分的无效索引,并标记这些无效索引,块索引与块进行时钟对齐后与块的残差绝对和一起输出;并且移动所述搜索窗口的位置,更新其数据;并且移动所述搜索窗口的位置,更新其数据。 
所述的数据加载方法,其中,步骤A4中,取各绝对差总和的最小值所所对应的参考块后,按并行方式,依次分发K5组K4×K3位的数据给一级缓存,作为新的参考块。 
所述的数据加载方法,其中,步骤A5还执行以下步骤:判断所述图像的运动向量搜索完成,则停止数据的输出。 
所述的数据加载方法,其中,步骤A2之前还执行以下步骤:搜索窗口中,在有效图像区域之外的无效数据,预设置其默认值为0;并且,在步骤A2中,所述搜索窗口的数据为(M像素+(K1-1)像素)×(N像素+(K2-1)像素)的数据。 
步骤A3中,一级缓存获得(K5+K4-1)组的K4×K3位数据,然后按并行方式,逐组将(K5+K4-1)×K4×K3位的数据,提供给计算模块,计算残差块的绝对差总和。 
所述的数据加载方法,其中,步骤A2中,所述搜索窗口的位置的默认值设置为左上方;并且,步骤A5具体包括以下步骤:A51、每次将所述搜索窗口向右平移K1像素,判断所述搜索窗口是否超过所述图像的右边缘K1-1像素;否则更新其数据,执行步骤A2;是则将所述搜索窗口设置在所述图像的左边缘,向下平移K2像素,判断所述搜索窗口是否超过所述图像的下边缘K2-1像素;否则更新其数据,执行步骤A2;或者,A52、每次将所述搜索窗口向下平移K2像素,判断所述搜索窗口是否超过所述图像的下边缘K2-1像素;否则更新其数据,执行步骤A2;是则将所述搜索窗口设置在所述图像的上边缘,向右平移K1像素,判断所述搜索窗口是否超过所述图像的右边缘K1-1像素;否则更新其数据,执行步骤A2。 
所述的数据加载方法,其中,步骤A3中,所述二级缓存采用存储块的结构,按接收顺序存储其收到的数据,并按顺序采用第一个存储块作为当前存储块,按并行方式,将其数据依次分发给所述一级缓存;并且,步骤A5中,移动所述搜索窗口的位置,并更新其数据,具体包括以下步骤:选择所述二级缓存的下一个存储块作为当前存储块。 
采用上述方案,本发明通过特定的流水线划分方法以及数据加载方法, 增加了并行处理数,解决了处理器计算能力的不足,实现了全搜索运动估计算法所需的计算量。 
附图说明
图1为本发明的多级缓冲器物理结构以及处理流程示意图; 
图2是本发明方法的图像处理流程图; 
图3是本发明的一种实施方式的窗口移动示意图;     
图4是本发明方法的流程图。 
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。 
如图1所示,本发明提供了一种运动搜索区域的数据加载装置,其包括外部存储器(即图像级外部存储器)、数据加载控制器、比较存储器组(即搜索窗口比较存储器组)、比较块索引控制器、参考块寄存器组、至少一比较条带存储器组作为二级缓存、以及各比较条带存储器组对应的比较块寄存器组作为一级缓存,各比较块寄存器组分别连接其差异比较单元;其中,所述外部存储器用于存储至少一张图像,并向所述比较存储器组加载所述图像的当前搜索窗口的数据;所述比较存储器组用于存储所述图像的当前搜索窗口的数据;所述数据加载控制器用于控制所述比较存储器组,向各比较条带存储器组分发数据,还用于控制所述比较块索引控制器;所述比较块索引控制器用于计算并输出比较块索引;所述比较条带存储器组用于按并行方式,将数据依次分发给其对应的比较块寄存器组;所述比较块寄存器组用于按并行方式,逐组将数据提供给其差异比较单元;所述参考块寄存器组用于存储参考块数据;所述差异比较单元用于根据参考块数据和所述比较块寄存器组的数据,计算残差块的绝对差总和。 
其中,第N比较块寄存器组由多个寄存器构成,完成每个N×N个w 位像素匹配块的输出,每时钟更新一行或者一列像素。目前广播电视技术中的w的典型值为8、10、12。 
具体地说,图像级外部存储器是诸如DDR、SDR类的大容量存储器件,负责存储多张图像以备使用。并向搜索窗口比较存储器组加载搜索窗口数据,每比较完成一个参考块后,搜索窗口更新一条数据,一水平行或一垂直列。搜索窗向各个流水线中的二级缓冲器更新流水线运算所需的数据,在加载的过程中,充分考虑数据的复用率,通过数据加载控制器使用较少的位宽同时向多个流水线分发数据。在各个流水线数据加载的过程中,也是使用差值更新的方法,由于可以采用桶形移位的方法对RAM块进行更新,因此数据的块索引需要通过对块在流水线中的地址和流水线位置以及当前加载的位置变换得到,即所述比较块索引控制器计算比较块索引的算法如下: 
Current_Global_ID= 
    (Current_Local_ID-Local_Zero_Offset)+PipeLine_Distance× 
PipeLine_Max_Pixel; 
其中,PipeLine_Distance=CurrentPipelineID-Load_Slice_Pos; 
其中,Current_Global_ID表示块的索引,Current_Local_ID表示块在流水线中的地址,Local_Zero_Offset是当前数据加载的起始位置,PipeLine_Distance是当前计算块与当前数据加载块的距离,PipeLine_Max_Pixel是每个流水线中的有效地址总数。CurrentPipelineID是当前流水线序号,Load_Slice_Pos是当前数据加载位置。 
在以上计算出的所有块索引中,还需要通过计算判断出搜索窗口边界以外部分的无效索引,并标记这些无效索引。 
块索引与块进行时钟对齐后与块的残差绝对和一起输出,作为整个系统的输出。 
一个实施例是,所述数据加载装置还包括与所述比较存储器组相连接 的设置模块,用于预设置图像的参考块的大小和/或搜索窗口的大小,这样,可以根据不同的实际需要,扩大本发明的应用范围。 
另一个实施例是,所述比较条带存储器组中的存储块采用移位寄存器方式设置,用于按接收顺序存储其收到的数据,按顺序将第一个存储块作为当前存储块,按并行方式,将当前存储块中的数据,依次分发给所述比较条带存储器组对应的比较块寄存器组,然后将下一个存储块设置为当前存储块,以减少数据访问吞吐量。 
又一个实施例是,所述数据加载控制器还包括判断模块,用于确定所述图像的运动向量搜索完成或数据在有效图像区域之外;判断某一图像的运动向量搜索完成,则所述数据加载控制器停止数据的输出;判断数据在有效图像区域之外,则所述数据加载控制器对于在有效图像区域之外的无效数据,预设置其默认值为0。这样,就可以适应不同的情况,取得更好的处理效果。 
并且,如图2和图4所示,本发明还提供了一种运动搜索区域的数据加载方法,其包括以下步骤: 
A1、分别预设置图像的参考块的大小为K1像素×K2像素、搜索窗口的大小为M像素×N像素;其中,每像素为K3位;K1和K2可以相等也可以不相等,例如,K1和K2均为4、8或16等等;K3可以为4、8、16、64或256等等,本发明不限于以上各数字,可以根据实际需要而确定K1、K2和K3的值。 
A2、将当前图像在存储器中的数据,根据二级缓存的数量,将数据分组并加载到各二级缓存;其中,所述数据是所述图像的当前搜索窗口的数据;例如,有10个二级缓存,则把所述图像的当前搜索窗口的数据,分成10组,每一组的数据发送到一个二级缓存,进行流水线式的处理。 
A3、二级缓存将其收到的数据,按并行方式,依次分发K4×K3位的数据给一级缓存;一级缓存在获得K5组的K4×K3位数据后,按并行方式, 逐组将K5×K4×K3位的数据,提供给计算模块,计算残差块的绝对差总和;其中,K4为K1或K2,K5对应为K2或K1;例如,K4为K1,K5对应为K2。 
A4、一级缓存处理完二级缓存收到的全部数据后,对各绝对差总和取最小值,取其所对应的参考块,作为新的参考块;在这一步,可以取各绝对差总和的最小值所所对应的参考块后,按并行方式,依次分发K5组K4×K3位的数据给一级缓存,作为新的参考块。 
A5、判断所述图像的运动向量搜索是否完成,否,则计算各残差块对应搜索窗口的数据位置的索引,与其绝对差总和一并输出;并且移动所述搜索窗口的位置,更新其数据。 
所述的数据加载方法,在步骤A5还可以执行以下步骤:判断所述图像的运动向量搜索完成,则停止数据的输出。该步骤的目的是为防止无效数据被传出,对于这一步骤,在实际应用中,不限于仅采用这种实现方法;例如,还可以屏蔽无效的数据输出等等。 
一个实施例是,步骤A2之前还执行以下步骤:搜索窗口中,在有效图像区域之外的无效数据,预设置其默认值为0;从而解决了有效区域之外的无效数据默认值要求,该默认值是根据编码标准要求提供的。 
并且,在步骤A2中,所述搜索窗口的数据为(M像素+(K1-1)像素)×(N像素+(K2-1)像素)的数据。 
步骤A3中,一级缓存获得(K5+K4-1)组的K4×K3位数据,然后按并行方式,逐组将(K5+K4-1)×K4×K3位的数据,提供给计算模块,计算残差块的绝对差总和。 
另一个实施例是,步骤A2中,所述搜索窗口的位置的默认值设置为左上方;应当说明的是,初始位置可以是任何位置。 
并且,步骤A5具体包括以下步骤: 
A51、每次将所述搜索窗口向右平移K1像素,判断所述搜索窗口是否 超过所述图像的右边缘K1-1像素;否则更新其数据,执行步骤A2;是则将所述搜索窗口设置在所述图像的左边缘,向下平移K2像素,判断所述搜索窗口是否超过所述图像的下边缘K2-1像素;否,则更新其数据,执行步骤A2; 
或者,A52、每次将所述搜索窗口向下平移K2像素,判断所述搜索窗口是否超过所述图像的下边缘K2-1像素;否,则更新其数据,执行步骤A2;是,则将所述搜索窗口设置在所述图像的上边缘,向右平移K1像素,判断所述搜索窗口是否超过所述图像的右边缘K1-1像素;否,则更新其数据,执行步骤A2。 
又一个实施例是,步骤A3中,所述二级缓存采用存储块的结构,按接收顺序存储其收到的数据,并按顺序采用第一个存储块作为当前存储块,按并行方式,将其数据依次分发给所述一级缓存; 
并且,步骤A5中,移动所述搜索窗口的位置,并更新其数据的步骤,具体包括:选择所述二级缓存的下一个存储块作为当前存储块。 
下面结合上述的装置和方法,再给出一个完整的实施例。 
在本发明中,运动估计所需的数据由三级缓冲结构负责加载,最大化地提高数据利用率,下面以参考块Z型扫描整个图像为例说明,如图2所示,并规定搜索窗口大小为M×N像素,参考块大小为8×8像素,每一像素8位,整个图像大小为P×Q像素。数据加载的步骤如下: 
1.整个图像中的搜索窗口部分数据由外部存储器加载进入FPGA的内部RAM。搜索窗口是以参考块为中心块的M×N矩形区域,对于参考块处于边界的情况,搜索窗口可能会包含有效图像之外的数据,这部分数据默认为0。另外,在此过程中为满足搜索窗边界位置比较的需要,在加载数据的过程中需要在水平、垂直方向各多加载至少7像素数据,也就是说对于M×N的搜索窗,需要加载进FPGA内部RAM的像素数至少为(M+7)×(N+7)。 
2.整个运动搜索窗口由各条流水线中的二级缓存RAM构成,其中,每条流水线仅加载其负责运算的部分数据以及为进行边界处理的至少7像素数据。当所有的数据加载完成后,开始二级缓存对一级缓存的初始化过程。 
3.二级缓存将数据按64位并行方式,8像素×每像素8位,分发给一级寄存器缓冲,当前比较块中的一列数据。在开始运算前,首先进行初始化过程,连续对一级缓存加载8次数据,保证一级缓存中已经储存有8×8像素的有效数据,在随后的过程中,当需要数据更新时,只需要通过二级缓存更新一级缓存中的一列像素,通过按列移位寄存的方式使匹配块水平移动一个像素。 
4.一级缓冲获得8×8个像素共512位有效数据后,按并行方式提供给绝对差总和(SAD)计算流水线模块。采用以下公式计算残差块的SAD: 
SAD = Σ i = 1 8 Σ j = 1 8 | ref _ matrix _ pixel [ i ] [ j ] - cmp _ matrix _ pixel [ i ] [ j ] |
5.在一行的所有列数据处理完成后,重复以上3、4过程直至流水线中的所有数据处理完成。 
6.当每个流水线中的所有数据进行计算以后,即完成了一个参考块的比较,随即按更新一级缓存的方法更新参考块,同时需要对搜索窗口进行水平方向8像素,垂直方向N像素的窗口移动过程,在匹配的过程中按列更新匹配块的部分数据,无需全部更新匹配块。 
7.在进行更新时,通过引入循环存储器思想,将所有流水线中的二级缓存RAM看作块级桶形移位寄存器,再引入冗余RAM块负责存储图像边界处的数据。 
8.初始状态搜索窗口矩阵边界在i号块RAM位置,完整的搜索窗口按i、i+1、i+2...imax、0、1、2......i-1块RAM中的数据顺序构成,当需要对搜索窗口进行更新时,仅更新所有RAM块中最早进入移位寄存器的RAM块,即第i块RAM块,更新后图像边界处于i+1块RAM块的位置,完整 的搜索窗口按i+1、i+2...imax、0、1、2......i块RAM中的数据顺序构成。 
9.重复以上过程直到参考块完成一行匹配后,重新初始化该桶形移位寄存器,并进行以上1到8过程直至完成整个搜索窗口内的SAD计算过程。 
10.更新参考块,重复以上1到9过程直到整张图片中所有参考块匹配完成。 
11.对于下一帧图像重复以上1到10的过程。 
这样,对数据采用缓冲器结构处理后,对于M×N大小的搜索窗口而言,当前块匹配完整个窗口后,由于下个待匹配块与当前块处于相邻位置,因此窗口只需要更新8×N或者8×M像素即可,取决于相邻块的相对位置是水平还是垂直。采用此种加载方式,大大降低了对于数据处理所需要的数据加载需求。窗口移动的示意图如图3所示。 
对整个窗口加载数据的具体实现过程中,也可以不使用独立的RAM来实际存储整个搜索窗口,而采用每个流水线部分存储的方式,在每条流水线中仅加载该线处理的数据以及部分边界数据。下图数据中,A组可以为灵活定义的N组数据,而B组和C组的数据之和为一个匹配矩阵的单维大小,如对于8×8矩阵,B组和C组数据之和为8组数据;对于16×64矩阵,B组和C组数据之和为16组数据。 
1号流水线加载以下数据: 
  A1   A2   A3   A4   A5   A6   A7   A8
  B1   B2   B3   B4   B5   B6   B7   B8
  C1   C2   C3   C4   C5   C6   C7   C8
2号流水线加载以下数据: 
  B1   B2   B3   B4   B5   B6   B7   B8
  C1   C2   C3   C4   C5   C6   C7   C8
  D1   D2   D3   D4   D5   D6   D7   D8
3号流水线加载以下数据: 
  C1   C2   C3   C4   C5   C6   C7   C8
  D1   D2   D3   D4   D5   D6   D7   D8
  E1   E2   E3   E4   E5   E6   E7   E8
其它流水线依次类推。最终使得所有数据加载在各个流水线中,从而为后续的SAD计算工作做好准备。 
在这个例子中,对于M×N的搜索窗口,二级缓存的水平像素个数等于N,垂直像素个数取决于流水线的条数以及整个图像的像素数。如对于8×8矩阵,一级缓存以寄存器形式存储8×8匹配矩阵的64个待处理系数,每个周期更新8个系数。待扫描行或列完成后重新加载下一行或列的数据。 
并且,在扫描运动搜索块的加载数据过程中,还可以采用转置矩阵的方法以方便存储器组织,将更新所需的行、列矩阵相互转化。本发明对此并无限制。 
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。 

Claims (5)

1.一种运动搜索区域的数据加载装置,其包括外部存储器,其特征在于,还包括数据加载控制器、比较存储器组、比较块索引控制器、参考块寄存器组、至少一比较条带存储器组、以及与各比较条带存储器组对应的比较块寄存器组及其差异比较单元;
所述外部存储器用于存储至少一张图像,并向所述比较存储器组加载所述图像的当前搜索窗口的数据;
所述比较存储器组用于存储所述图像的当前搜索窗口的数据;
所述数据加载控制器用于控制所述比较存储器组,向各比较条带存储器组分发数据,还用于控制所述比较块索引控制器;
所述比较块索引控制器用于计算比较块索引,在以上计算出的所有块索引中,通过计算判断出搜索窗口边界以外部分的无效索引,并标记这些无效索引,块索引与块进行时钟对齐后与块的残差绝对和一起输出;
所述比较条带存储器组用于按并行方式,将数据依次分发给其对应的比较块寄存器组;
所述比较块寄存器组用于按并行方式,逐组将数据提供给其差异比较单元;
所述参考块寄存器组用于存储参考块数据;
所述差异比较单元用于根据参考块数据和所述比较块寄存器组的数据,计算残差块的绝对差总和。
2.根据权利要求1所述的数据加载装置,其特征在于,还包括与所述比较存储器组相连接的设置模块,用于预设置图像的参考块的大小和/或搜索窗口的大小。
3.根据权利要求1所述的数据加载装置,其特征在于,所述比较条带存储器组中的存储块采用移位寄存器方式设置,用于按接收顺序存储其收到的数据,按顺序将第一个存储块作为当前存储块,按并行方式,将当前存储块中的数据,依次分发给所述比较条带存储器组对应的比较块寄存器组,然后将下一个存储块设置为当前存储块。
4.根据权利要求1所述的数据加载装置,其特征在于,所述数据加载控制器还包括判断模块,用于确定所述图像的运动向量搜索完成、数据在有效图像区域之外、或比较块寄存器组处理完成对应的比较条带存储器组收到的全部数据。
5.一种运动搜索区域的数据加载方法,其包括以下步骤:
A1、分别预设置图像的参考块的大小为K1像素×K2像素、搜索窗口的大小为M像素×N像素;其中,每像素为K3位;
A2、将当前图像在存储器中的数据,根据二级缓存的数量,将数据分组并加载到各二级缓存;其中,所述数据是所述图像的当前搜索窗口的数据;
A3、二级缓存将其收到的数据,按并行方式,依次分发K4×K3位的数据给一级缓存;一级缓存在获得K5组的K4×K3位数据后,按并行方式,逐组将K5×K4×K3位的数据,提供给计算模块,计算残差块的绝对差总和;其中,K4为K1或K2,K5对应为K2或K1;
A4、一级缓存处理完二级缓存收到的全部数据后,对各绝对差总和取最小值,取其所对应的参考块,作为新的参考块;
A5、判断所述图像的运动向量搜索是否完成,否则计算各残差块对应搜索窗口的数据位置的索引,在以上计算出的所有块索引中,通过计算判断出搜索窗口边界以外部分的无效索引,并标记这些无效索引,块索引与块进行时钟对齐后与块的残差绝对和一起输出;并且移动所述搜索窗口的位置,更新其数据。
CN2007101253394A 2007-12-22 2007-12-22 一种运动搜索区域的数据加载装置和方法 Expired - Fee Related CN101212682B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101253394A CN101212682B (zh) 2007-12-22 2007-12-22 一种运动搜索区域的数据加载装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101253394A CN101212682B (zh) 2007-12-22 2007-12-22 一种运动搜索区域的数据加载装置和方法

Publications (2)

Publication Number Publication Date
CN101212682A CN101212682A (zh) 2008-07-02
CN101212682B true CN101212682B (zh) 2011-06-15

Family

ID=39612285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101253394A Expired - Fee Related CN101212682B (zh) 2007-12-22 2007-12-22 一种运动搜索区域的数据加载装置和方法

Country Status (1)

Country Link
CN (1) CN101212682B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340617B (zh) * 2010-07-14 2014-06-11 奇景光电股份有限公司 运动估算及运动补偿电路
CN102377999B (zh) * 2010-08-13 2014-04-30 联合信源数字音视频技术(北京)有限公司 一种基于avs编码器的搜索窗缓冲装置
KR101992274B1 (ko) * 2013-01-02 2019-09-30 삼성전자주식회사 데이터 압축 방법과 상기 방법을 수행할 수 있는 장치들
CN103873874B (zh) * 2014-02-19 2017-06-06 同观科技(深圳)有限公司 一种基于可编程并行处理器的全搜索运动估计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316856A (zh) * 2000-01-27 2001-10-10 三星电子株式会社 运动估计器
CN1663278A (zh) * 2002-06-18 2005-08-31 高通股份有限公司 视频编码和解码技术

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1316856A (zh) * 2000-01-27 2001-10-10 三星电子株式会社 运动估计器
CN1663278A (zh) * 2002-06-18 2005-08-31 高通股份有限公司 视频编码和解码技术

Also Published As

Publication number Publication date
CN101212682A (zh) 2008-07-02

Similar Documents

Publication Publication Date Title
CN103517069B (zh) 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN102547296B (zh) 移动估计加速电路、移动估计方法及环路滤波加速电路
CN103004210B (zh) 用于视频编码的低复杂度帧内预测
CN101500161B (zh) 基于自适应块变换的帧内预测方法及装置
CN101170688B (zh) 一种宏块模式的快速选择方法
CN101047850B (zh) 排列及处理视频数据宏块的系统和方法
MY152630A (en) Interpolation of video compression frames
EP1631884A2 (en) Mpeg motion estimation based on dual start points
CN101505427A (zh) 视频压缩编码算法中的运动估计装置
EP1668912B1 (en) Rectangular-shape motion search
CN101212682B (zh) 一种运动搜索区域的数据加载装置和方法
CN102656889A (zh) 图像编码装置、图像解码装置、图像编码方法及图像解码方法
CN101222636B (zh) 图像编解码方法和图像编解码装置
KR100734314B1 (ko) 움직임 보상 기반의 영상 압축 시스템에서의 영상 신호의공간 해상도 변환 방법
CN104937934A (zh) 图像边界邻域中的自回归像素预测
CN104702959B (zh) 一种视频编码的帧内预测方法及系统
CN102801982B (zh) 一种应用于视频压缩且基于块积分的快速运动估计方法
CN101822058A (zh) 使用像素抽取的视频编码
CN101330614B (zh) 使用数字信号处理器进行分数像素精度运动估计的方法
CN101951521B (zh) 针对扩展可变块的视频图像运动估计方法
CN102300086A (zh) 对参考帧边界进行扩展和对运动补偿参考样本位置进行限定的方法
CN101227616B (zh) H.263/avc整象素向量搜索方法
CN106131548A (zh) 一种帧内预测模式的选择方法及装置
CN101472174A (zh) 视频解码器中用于复原原始图像数据的方法及装置
KR100951847B1 (ko) 가변 블록 움직임 추정을 위한 sad 계산 방법 및 장치

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110615

Termination date: 20141222

EXPY Termination of patent right or utility model