CN1112049C - 运动矢量检测设备 - Google Patents
运动矢量检测设备 Download PDFInfo
- Publication number
- CN1112049C CN1112049C CN98126563A CN98126563A CN1112049C CN 1112049 C CN1112049 C CN 1112049C CN 98126563 A CN98126563 A CN 98126563A CN 98126563 A CN98126563 A CN 98126563A CN 1112049 C CN1112049 C CN 1112049C
- Authority
- CN
- China
- Prior art keywords
- pixel
- motion vector
- buffer
- search
- macro block
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/238—Analysis of motion using block-matching using non-full search, e.g. three-step search
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Abstract
一种运动矢量检测设备,包括:储存当前和参考画面象素的总存储器;局部存储器;缓冲二次采样宏块和第一搜索区象素的第一缓冲器;检测第一运动矢量的运动矢量检测协处理器;锁存第一运动矢量的第二缓冲器;主处理器,用于将从总存储器中读取的象素数据存入局部存储器,二次采样它们后再存入第一缓冲器并读出第一运动矢量,从第二搜索区中检测宏块的第二运动矢量。
Description
技术领域
本发明涉及一种活动画面压缩设备,尤其涉及一种运动矢量检测设备。
背景技术
由于运动矢量检测对减小相邻画面之间的时域冗余很重要,因此它广泛用于H.261、MPEG1(活动图像专家组1)或MPEG2的影片压缩。然而,由于包含了太多的工作,这使得运动矢量检测实时实现很困难。
通常,运动矢量检测采用以块为基础的运动搜索算法。以下将参照图1对按照该算法的运动矢量检测加以说明。在参考画面的第(n-1)帧的搜索区域SR中搜索具有相对于在当前画面中第n帧中具有M×N象素的宏块MB的最小平均绝对误差(MAE)的块。在(n-1)帧画面中具有最小MAE的块被称作最佳区配块BM。搜索区SR由下述块组成,这些块的参考点位于相对于宏块MB参考点(x,y)的(x-P,y-P)和(x+P,y+P)之间的范围,并包含(M+2P)×(N+2P)象素。MAE可由下式计算: 其中,C(x+k,y+l)表示当前画面中的宏块的象素,R(x+i+k,y+j+l)表示参考画面中的宏块的象素。
宏块MB的运动矢量MV是位于宏块MB与最佳匹配块BM的各参考点之间的矢量。例如,如果宏块MB和最佳匹配块BM的各参考点分别表示为(x,y)和(x+u,y+v),则运动矢量为(u,v)。
为搜索参考画面中的最佳匹配块BM,应当通过公式1所示的减法、绝对值计算和加法等运算步骤求取每个搜索点的MAE。
由于以上常规运动矢量检测方法的运算步骤太多,因此仅用软件是不行的。假定搜索范围是从+P到-P,参考画面的尺寸为I×J象素,宏块MB的尺寸为M×N象素,并且输入画面应当以每秒F帧的速率来处理,所需要的运算步骤次数可由下式给出:
如果M=N=16,I=720,J=480,F=30,P=15,那么需要的运算步骤次数为29.89 GOPS(每秒千兆次操作)。
因此,在已有技术中,运动矢量检测算法是用诸如SGS-Thomson公司的协处理器STI 3220芯片之类的运动矢量检测VLSI芯片来实现的。此处,STI 3220芯片最大可以以18 MHz的象素速率工作,并且在例如由位于(-8,-8)至(+7,+7)之间范围的参考点处的宏块组成的搜索区域内检测在参考点(0,0)处的8×8或16×16象素宏块的运动矢量。
然而,一般的视频压缩算法,诸如MPEG2标准或ITU-T(国际电信联盟一电信分部)图像通信标准H.261规定,例如,应当在位于(-16,-16)到(+15,+15)范围内的参考点处的宏块组成的搜索区域内检测位于参考点(0,0)处的16×16象素宏块的运动矢量。这样,为了在搜索区内搜索,可以同时安排四片STI3220芯片或将搜索区域分成四个区域,用一片STI 3220芯片检测各个区域内的运动矢量。
不过,前一种情况增大了硬件尺寸和成本,而后一种情况尽管具有硬件尺寸小的优点,但增加了处理时间,使实时处理困难。
发明内容
本发明的目的是提供一种利用简单的硬件对运动矢量进行实时检测的运动矢量检测设备。
为实现以上目的,本发明提供了一种运动矢量检测设备,包括:总存储器,用于存储当前画面和参考画面的象素;局部存储器;第一缓冲器,用于存储二次采样宏块的象素和二次采样第一搜索区的象素;运动矢量检测协处理器,用于从所述第一缓,中器接收所述二次采样宏块的象素和二次采样第一搜索区的象素,并检测第一运动矢量;第二缓冲器,用于锁存从所述运动矢量检测协处理嚣接收的所述第一运动矢量;以及,主处理器,用于从所述总存储器中读取所述当前画面中宏块的象素和所述参考画面中第一搜索区的象素,将所读出的象素存储在所述局部存储器,对存储在所述局部存储器中的象素进行二次采样,将二次采样的象素存入所述第一缓冲器,从所述第二缓冲器中读出所述第一运动矢量,并且从包含所述第一运动矢量所指示的象素和所述参考画面中具有位于与该象素相邻象素处的参考点的各块的第二搜索区中,检测宏块的第二运动矢量。
为实现以上目的,本发明还提供了一种运动矢量检测设备,它包括:总存储器,用于存储当前画面和参考画面的象素;局部存储器;第一缓冲器,用于存储对M×N象素组成的宏块进行2∶1二次采样得到的(M/2×N/2)象素块以及对((M+2P)×(N+2P))象素搜索区域进行2∶1二次采样得到的((M+2P)/2×(N+2P)/2)象素数据,其中P是搜索区范围;运动矢量检测协处理器,用于从所述第一缓冲器接收所述二次采样宏块和第一搜索区的象素,并检测第一运动矢量;第二缓冲器,用于锁存从所述运动矢量检测协处理器接收的所述第一运动矢量;以及,主处理器,用于从所述总存储器中读取所述当前画面中M×N象素宏块的象素和所述参考画面中((M+2P)×(N+2P))象素第一搜索区的象素,将所读出的象素存入所述局部存储器,分别将所存储象素二次采样成((M/2)×(N/2))象素和((M+2P)/2×(N+2P)/2)象素,将二次采样的象素存入所述第一缓冲器,从所述第二缓冲器中读出所述第一运动矢量,并按照软件程序从包含所述第一运动矢量所指示的象素和所述参考画面中具有位于与该象素相邻象素处的参考点的M×N块的第二搜索区中,检测宏块的第二运动矢量。
附图说明
通过参照附图详细说明本发明的优选实施例将会使本发明的目的和优点变得更加明显。附图中:
图1是常规运动矢量检测的示意图;
图2是按照本发明优选实施例的运动矢量检测设备的方框图;
图3是图2所示主处理器的操作流程图;
图4A说明了宏块的二次采样;
图4B说明了搜索区的二次采样;和
图5说明了主处理器的运动矢量检测。
具体实施方式
图2是按照本发明优选实施例的运动矢量检测设备的方框图。主处理器100控制带本发明运动矢量检测设备的整个图像处理设备。特别是,主处理器100从存有多个画面象素的总存储器102中读出当前画面中的宏块的象素和参考画面中的第一搜索区SR1的象素以便检测宏块的运动矢量。第一搜索区SR1由位于相对于例如16×16象素宏块的参考点(0,0)的(-16,-16)至(+15,+15)范围内的参考点处的块组成,如图4B所示,包括47×47象素。
读出宏块和第一搜索区SR1的象素之后,主处理器100在水平与垂直两个方向上对宏块象素和第一搜索区SR1的象素作2∶1的二次采样(subsample)从而使它们分别具有8×8象素和23×23象素。
然后,主处理器100将二次采样的宏块MB和第一搜索区域SR1的象素提供给第一缓冲器106。第一缓冲器106可以是FIFO(先入先出)缓冲器。可以用诸如STI 3220芯片的运动矢量器件作为运动矢量检测协处理器108。运动矢量检测协处理器108接收来自第一缓冲器106的数据,对数据进行运动估值,并将最后得到的第一运动矢量存入第二缓冲器110。
在更加详细的运动矢量检测说明中,运动矢量检测协处理器108从第一缓冲器106接收宏块的二次采样8×8象素和第一搜索区的二次采样23×23象素,在二次采样的第一搜索区域内搜索具有相对于二次采样宏块的最小MAE的8×8象素块,以及检测第一运动矢量。
运动矢量检测协处理器108向第二缓冲器110提供第一运动矢量并把第一运动矢量的检测情况通知主处理器100。锁存器可以作为第二缓冲器110。当从运动矢量检测协处理器108接收到有关第一运动矢量检测的信息时,主处理器100便从第二缓冲器110中读出第一运动矢量。然后,主处理器100从总存储器102中读出第一运动矢量所表示的16×16象素块的象素、具有位于与各个这些象素相邻的八个象素处的参考点的16×16象素块的象素、以及宏块的象素。主处理器100计算由第一运动矢量表示的块和具有位于与第一运动矢量相邻八个象素处的参考点的块的MAE,搜索具有最小MAE的块,检测第二运动矢量。此处,能够将搜索区域的非二次采样象素存储在局部存储器104,以检测第一和第二运动矢量。为了检测第一运动矢量,主处理器100从局部存储器104中读出搜索区域和宏块的象素,对这些象素进行二次采样,并将二次采样的象素存入第一缓冲器106。然后,为了检测第二运动矢量,主处理器100从局部存储器104中读出由第一运动矢量表示的16×16象素和具有位于与这些象素相邻的八个象素处的参考点的非二次采样块的象素,并检测第二运动矢量。
图3是图2所示主处理器的操作流程图,图4A和4B分别示出了宏块和搜索区的二次采样,图5示出了主处理器的运动矢量检测。参照这些附图,将对按照本发明优选实施例的运动矢量检测设备的操作进行详细说明。
在步骤200中,主处理器100从总存储器102中读出当前画面中宏块的象素和参考画面中第一搜索区的象素以便检测宏块的运动矢量。
在步骤202中,主处理器100在水平和垂直方向上以2∶1的比例二次采样宏块和第一搜索区的象素。参照图4A和4B,通过2∶1的二次采样,16×16象素宏块MB被重构成8×8象素二次采样宏块SMB,而47×47象素第一搜索区SR1则被重构成23×23象素二次采样搜索区SSR1。在步骤204中,主处理器100向缓冲器106提供宏块和第一搜索区的二次采样象素,然后驱动运动矢量检测协处理器108。当接收到主处理器100的驱动命令时,运动矢量检测协处理器108便接收装载在第一缓冲器106中的数据,检测第一运动矢量,将第一运动矢量锁存在第二缓冲器110中以及把第一运动矢量的检测情况通知给主处理器100。在步骤206中,主处理器100对运动矢量检测协处理器108是否已提供了第一运动矢量检测信息进行判定。如果运动矢量检测协处理器108已提供了信息,程序便继续执行步骤208。否则,主处理器100就等待运动矢量检测协处理器108提供第一运动矢量的检测信息。
在步骤208中,主处理器100先从第二缓冲器110中读取第一运动矢量,然后从总存储器102中读取当前画面中的相应宏块的象素和参考画面中的第二搜索区的象素。第二搜索区包括第一运动矢量所代表的16×16象素块及具有位于与这些象素相邻八个象素处的参考点的16×16象素块。参照图5,第二搜索区具有用第一运动矢量表示的象素MV1P及其具有位于与该象素MP1P相邻八个象素P1到P8处的参考点的16×16象素块的象素。在步骤210中,主处理器100计算由第一运动矢量表示的象素和具有位于与相对于宏块的16×16象素的该象素相邻八个象素处的参考点的16×16象素块的MAE,搜索具有最小MAE的块,并检测第二运动矢量。
当彻底检测出第二运动矢量时,主处理器100就判定该宏块是否为当前画面中的最后一个宏块。如果是最后一个宏块,那么程序结束,否则,程序便返回到步骤200去处理下一个宏块。
如上所述,在主处理器中对宏块和搜索区域进行二次采样,然后,在硬件的运动矢量检测协处理器中以双倍的象素值精度检测二次采样的运动矢量。然后,主处理器在包含双象素值精度的运动矢量表示的象素的搜索区域以及具有位于与该象素相邻八个象素处的参考点的块中,以整数象素值精度检测运动矢量。此种运动矢量检测方法的运算次数为:
MV=2MV1+MV2(-8≤MV1≤+7,-1≤MV2≤+1) ......(3)
这样,通过简单的硬件与软件的结合,也就是说,利用单个运动矢量检测协处理器,缓冲器和两个阶段分层次的运动搜索方法,可以有效地实时实现以块为基础运动搜索算法。
此外,在本发明中将用于检测16×16象素块的运动矢量的运算次数从单使用软件的现有技术中的786432(=(16+15+1)2×162×3)次显著减少到6912(=9×16×16×3)次。
Claims (2)
1.一种运动矢量检测设备,包括:
总存储器,用于存储当前画面和参考画面的象素;
局部存储器;
第一缓冲器,用于存储二次采样宏块的象素和二次采样第一搜索区的象素;
运动矢量检测协处理器,用于从所述第一缓冲器接收所述二次采样宏块的象素和二次采样第一搜索区的象素,并检测第一运动矢量;
第二缓冲器,用于锁存从所述运动矢量检测协处理器接收的所述第一运动矢量;以及
主处理器,用于从所述总存储器中读取所述当前画面中宏块的象素和所述参考画面中第一搜索区的象素,将所读出的象素存储在所述局部存储器,对存储在所述局部存储器中的象素进行二次采样,将二次采样的象素存入所述第一缓冲器,从所述第二缓冲器中读出所述第一运动矢量,并且从包含所述第一运动矢量所指示的象素和所述参考画面中具有位于与该象素相邻象素处的参考点的各块的第二搜索区中,检测宏块的第二运动矢量。
2.一种运动矢量检测设备,它包括:
总存储器,用于存储当前画面和参考画面的象素;
局部存储器;
第一缓冲器,用于存储对M×N象素组成的宏块进行2∶1二次采样得到的(M/2×N/2)象素块以及对((M+2P)×(N+2P))象素搜索区域进行2∶1二次采样得到的((M+2P)/2×(N+2P)/2)象素数据,其中P是搜索区范围;
运动矢量检测协处理器,用于从所述第一缓冲器接收所述二次采样宏块和第一搜索区的象素,并检测第一运动矢量;
第二缓冲器,用于锁存从所述运动矢量检测协处理器接收的所述第一运动矢量;以及
主处理器,用于从所述总存储器中读取所述当前画面中M×N象素宏块的象素和所述参考画面中((M+2P)×(N+2P))象素第一搜索区的象素,将所读出的象素存入所述局部存储器,分别将所存储象素二次采样成((M/2)×(N/2))象素和((M+2P)/2×(N+2P)/2)象素,将二次采样的象素存入所述第一缓冲器,从所述第二缓冲器中读出所述第一运动矢量,并按照软件程序从包含所述第一运动矢量所指示的象素和所述参考画面中具有位于与该象素相邻象素处的参考点的M×N块的第二搜索区中,检测宏块的第二运动矢量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR80509/1997 | 1997-12-31 | ||
KR80509/97 | 1997-12-31 | ||
KR1019970080509A KR100246918B1 (ko) | 1997-12-31 | 1997-12-31 | 모션벡터 검출장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1227458A CN1227458A (zh) | 1999-09-01 |
CN1112049C true CN1112049C (zh) | 2003-06-18 |
Family
ID=19530336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98126563A Expired - Fee Related CN1112049C (zh) | 1997-12-31 | 1998-12-30 | 运动矢量检测设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6317136B1 (zh) |
JP (1) | JP3447235B2 (zh) |
KR (1) | KR100246918B1 (zh) |
CN (1) | CN1112049C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000270328A (ja) * | 1999-03-17 | 2000-09-29 | Mitsubishi Electric Corp | 動きベクトル検出装置 |
US7327787B1 (en) * | 2000-11-20 | 2008-02-05 | Intel Corporation | Method and apparatus for motion estimation |
US8923688B2 (en) * | 2001-09-12 | 2014-12-30 | Broadcom Corporation | Performing personal video recording (PVR) functions on digital video streams |
KR20030073141A (ko) * | 2002-03-08 | 2003-09-19 | 주식회사 엘지이아이 | Mpeg-4 비디오 코덱에서 움직임 벡터 코딩을 위한움직임 벡터 메모리 최소화 방법 |
JP4015084B2 (ja) * | 2003-08-20 | 2007-11-28 | 株式会社東芝 | 動きベクトル検出装置及び動きベクトル検出方法 |
KR100621137B1 (ko) * | 2004-02-27 | 2006-09-13 | 세이코 엡슨 가부시키가이샤 | 동화상 부호화 장치 및 동화상 처리장치 |
US8363730B2 (en) * | 2004-12-16 | 2013-01-29 | Intel Corporation | Local macroblock information buffer |
KR100610892B1 (ko) * | 2005-01-18 | 2006-08-09 | 엘지전자 주식회사 | 플라즈마 디스플레이 패널의 화상처리 장치 및 화상처리방법 |
GB2435360B (en) * | 2006-02-16 | 2009-09-23 | Imagination Tech Ltd | Method and apparatus for determining motion between video images |
EP2179589A4 (en) * | 2007-07-20 | 2010-12-01 | Fujifilm Corp | IMAGE PROCESSING DEVICE, IMAGE PROCESSING AND PROGRAM |
US8817878B2 (en) * | 2007-11-07 | 2014-08-26 | Broadcom Corporation | Method and system for motion estimation around a fixed reference vector using a pivot-pixel approach |
US8368809B2 (en) * | 2008-03-18 | 2013-02-05 | Zoran (France) | Frame rate conversion with motion estimation in a plurality of resolution levels |
GB201113527D0 (en) | 2011-08-04 | 2011-09-21 | Imagination Tech Ltd | External vectors in a motion estimation system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02224490A (ja) | 1989-02-27 | 1990-09-06 | Victor Co Of Japan Ltd | 動きベクトル検出回路 |
JPH03247190A (ja) | 1990-02-26 | 1991-11-05 | Sony Corp | 動きベクトル検出回路 |
JPH08107557A (ja) | 1994-10-05 | 1996-04-23 | Mitsubishi Electric Corp | 映像信号符号化方式 |
US5699129A (en) * | 1995-10-17 | 1997-12-16 | Zapex Technologies, Inc. | Method and apparatus for motion vector determination range expansion |
KR100204480B1 (ko) * | 1996-05-14 | 1999-06-15 | 배순훈 | 움직임 추정장치 |
-
1997
- 1997-12-31 KR KR1019970080509A patent/KR100246918B1/ko not_active IP Right Cessation
-
1998
- 1998-12-24 JP JP36812898A patent/JP3447235B2/ja not_active Expired - Fee Related
- 1998-12-30 CN CN98126563A patent/CN1112049C/zh not_active Expired - Fee Related
- 1998-12-30 US US09/222,941 patent/US6317136B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1227458A (zh) | 1999-09-01 |
KR100246918B1 (ko) | 2000-03-15 |
KR19990060287A (ko) | 1999-07-26 |
JP3447235B2 (ja) | 2003-09-16 |
US6317136B1 (en) | 2001-11-13 |
JPH11262020A (ja) | 1999-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1106768C (zh) | 用于检测运动矢量的方法和装置 | |
US8144777B2 (en) | Motion vector detection method and apparatus | |
CN1112049C (zh) | 运动矢量检测设备 | |
US6996176B1 (en) | Motion estimation process and system using sparse search block-matching and integral protection | |
US6430317B1 (en) | Method and apparatus for estimating motion using block features obtained from an M-ary pyramid | |
US20030063673A1 (en) | Motion estimation and/or compensation | |
EP0395293A1 (en) | Motion estimator | |
CN1054248C (zh) | 视频信号压缩装置和方法 | |
US6343100B1 (en) | Motion-vector detecting device | |
US20080159406A1 (en) | Method for detecting a moving object in motion video and apparatus therefor | |
US20030161400A1 (en) | Method and system for improved diamond motion search | |
US6690728B1 (en) | Methods and apparatus for motion estimation in compressed domain | |
Chen et al. | Extraction of high-resolution video stills from MPEG image sequences | |
US8259172B2 (en) | Picture searching apparatus | |
US7295711B1 (en) | Method and apparatus for merging related image segments | |
Kappagantula et al. | Motion compensated predictive coding | |
JP3522801B2 (ja) | 動き補償を用いた動映像信号処理器のためのメモリ装置 | |
US8073054B2 (en) | Unit for and method of estimating a current motion vector | |
US20110129012A1 (en) | Video Data Compression | |
KR100984953B1 (ko) | 데이터 검색 방법과 장치 및 이를 포함하는 비디오 재생장치 | |
US20050207620A1 (en) | Object recognition apparatus and object recognition method | |
KR19980036073A (ko) | 움직임 벡터 검출 방법 및 장치 | |
JPH08294129A (ja) | 動きベクトル検出装置および検出方法 | |
US6463164B1 (en) | Motion vector estimation based on statistical features of an image frame | |
JPH104555A (ja) | 動きベクトル検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030618 Termination date: 20100201 |