亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種運(yùn)動(dòng)估計(jì)方法和應(yīng)用該方法的運(yùn)動(dòng)估計(jì)電路的制作方法

文檔序號(hào):7592724閱讀:134來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種運(yùn)動(dòng)估計(jì)方法和應(yīng)用該方法的運(yùn)動(dòng)估計(jì)電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于FSBM算法的運(yùn)動(dòng)估計(jì)方法及應(yīng)用該方法的幀級(jí)流水陣列結(jié)構(gòu)的運(yùn)動(dòng)估計(jì)電路。該方法和電路主要應(yīng)用于各種基于MPEG(-1、-2、-4)和H26x等壓縮編碼標(biāo)準(zhǔn)的視頻編碼器中。
背景技術(shù)
在眾多的視/音頻壓縮編碼標(biāo)準(zhǔn)中,大多通過(guò)對(duì)視頻對(duì)象進(jìn)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償來(lái)消除圖像的時(shí)間冗余,以達(dá)到數(shù)據(jù)壓縮的目的。在運(yùn)動(dòng)估計(jì)過(guò)程中,全搜索塊匹配算法(Full Search Block Matching Algorithm,簡(jiǎn)稱(chēng)FSBM)通過(guò)對(duì)搜索區(qū)域的所有搜索塊進(jìn)行窮盡式對(duì)比來(lái)尋找最佳匹配塊。通常的FSBM算法中,采用MAD標(biāo)準(zhǔn)進(jìn)行匹配,其算法表述如下MAD(m,n)=Σi=0N-1Σj=0N-1|x(i,j)-y(i+m,j+n)|---(1)]]>其中x(i,j)為當(dāng)前幀的亮度值,y(i+m,j+n)為先前幀的亮度值,(i,j)為參考宏塊的相對(duì)坐標(biāo)。偏移量與搜索距離p之間的關(guān)系滿(mǎn)足-p≤m,n≤p。在搜索距離p的約束下,運(yùn)動(dòng)相量MV即為偏移量(m*,n*),且滿(mǎn)足MAD(m,n)的值最小,即為,MV=arg{minMAD(m,n)}…-p≤m,n≤p (2)圖4給出了該匹配算法的示意圖。(1)式即為常說(shuō)的塊級(jí)流水算法。用機(jī)器語(yǔ)言對(duì)其進(jìn)行描述,即為一個(gè)四層循環(huán)的嵌套算法。采用四層循環(huán)嵌套算法、通過(guò)規(guī)范映射方法得到的運(yùn)動(dòng)估計(jì)電路存在工作效率低、需要大量?jī)?nèi)部緩存單元、超大規(guī)模集成電路實(shí)現(xiàn)困難等缺點(diǎn)。
為了克服基于塊級(jí)流水的運(yùn)動(dòng)估計(jì)電路的上述缺點(diǎn),人們提出了基于幀級(jí)流水的運(yùn)動(dòng)估計(jì)算法,它的核心是一個(gè)六層循環(huán)嵌套,表述見(jiàn)表1,其中每一個(gè)運(yùn)動(dòng)估計(jì)的基本塊的大小為N×N像素,每個(gè)圖像幀包含Nh×Nv個(gè)基本塊。

表1基于上述算法通過(guò)規(guī)范映射方法得到的電路可以消除運(yùn)動(dòng)估計(jì)時(shí)相鄰參考?jí)K間的停頓,從而實(shí)現(xiàn)相鄰參考?jí)K進(jìn)行運(yùn)動(dòng)估計(jì)時(shí)的流水執(zhí)行。然而,上述映射過(guò)程的過(guò)于復(fù)雜,使得該方法沒(méi)有得到廣泛的應(yīng)用。
為了解決上述方法中映射過(guò)程過(guò)于復(fù)雜的問(wèn)題,早在1995年人們就提出了一種新的想法,即先將表1所示的六維算法等價(jià)變換成三維算法,再進(jìn)行投影得到二維脈動(dòng)陣列結(jié)構(gòu)。但是,通過(guò)該方法得到的結(jié)構(gòu)中,存在著兩個(gè)難以克服的缺點(diǎn)(1)需要將像素?cái)?shù)據(jù)向陣列進(jìn)行廣播輸入,使得超大規(guī)模集成電路實(shí)現(xiàn)變得困難。
(2)搜索距離P和塊N大小必須滿(mǎn)足N=2p的關(guān)系,限制了該結(jié)構(gòu)的應(yīng)用范圍。
為此,2001年人們又提出了一種新的算法,它先將表1所示的六維算法等價(jià)變換成二維算法,再進(jìn)行投影得到一維陣列結(jié)構(gòu)。這種結(jié)構(gòu)中,雖然不再要求象素?cái)?shù)據(jù)進(jìn)行廣播輸入,但是N=2p的關(guān)系仍然必須滿(mǎn)足。而且,它還存在如下缺點(diǎn)(1)PE單元的結(jié)構(gòu)復(fù)雜,所需的硬件資源太多(2)PE數(shù)目PEs=(2p+1)2,對(duì)于不同的p,電路的規(guī)模也不同。
(3)PE數(shù)目過(guò)多,硬件實(shí)現(xiàn)的成本太大。
為了克服N=2p的限制,2003年人們?cè)诒?的算法的基礎(chǔ)上通過(guò)直接映射的方法得到基于p=kN,k≥1/2的幀級(jí)流水運(yùn)動(dòng)估計(jì)電路結(jié)構(gòu)。但該結(jié)構(gòu)除了上述三個(gè)缺點(diǎn)外,還大量的使用延遲寄存器,使得電路的規(guī)模變得不可接受。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種運(yùn)動(dòng)估計(jì)方法和應(yīng)用該方法的運(yùn)動(dòng)估計(jì)電路,利用該方法輸入數(shù)據(jù)流進(jìn)行運(yùn)動(dòng)向量值計(jì)算,非常有利于電路比較、判別、找到和輸出運(yùn)動(dòng)向量,有利于降低電路的復(fù)雜性。本發(fā)明的技術(shù)方案如下一種運(yùn)動(dòng)估計(jì)方法,它通過(guò)下述步驟完成(一)初始化階段101初始化兩個(gè)沒(méi)有任何像素?cái)?shù)據(jù)的臨時(shí)當(dāng)前幀和臨時(shí)先前幀圖像。
(二)中間數(shù)據(jù)組織階段102第1步將當(dāng)前幀的象素?cái)?shù)據(jù)和先前幀的象素?cái)?shù)據(jù)分別存放到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中去;第2步對(duì)于臨時(shí)當(dāng)前幀的每一像素組,第一行處有數(shù)據(jù),其他位置為空。將每列第一行處的數(shù)據(jù)復(fù)制每列的其他行處,使得在每一像素組中,每列的象素?cái)?shù)據(jù)都相同;按照上述方法,完成臨時(shí)當(dāng)前幀的數(shù)據(jù)復(fù)制工作;第3步從先前幀搜索區(qū)域中像素取數(shù)的順序?yàn)?1)、從搜索區(qū)域的第一列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(2)、從搜索區(qū)域的第二列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(3)、依此類(lèi)推,重復(fù)上述過(guò)程;(4)、將按(1)(2)(3)步順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第一列中;(5)、從搜索區(qū)域的第一列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(6)、從搜索區(qū)域的第二列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(7)、直到從搜索區(qū)域的第(2p+1)列的第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(8)、從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第二列中;(9)、直到臨時(shí)先前幀的第一像素組的前N列都填滿(mǎn)數(shù)據(jù);第4步將先前幀的第一像素組的N+1~2N列都填滿(mǎn)數(shù)據(jù);第5步重復(fù)第4步的過(guò)程,直到臨時(shí)先前幀的第一像素組的所有列中都填滿(mǎn)數(shù)據(jù)。第6步重復(fù)第5步的過(guò)程,直到臨時(shí)先前幀的所有像素組都填滿(mǎn)數(shù)據(jù)。
(三)運(yùn)動(dòng)向量計(jì)算階段103第1步,按行的順序?qū)⑴R時(shí)當(dāng)前幀和臨時(shí)先前幀第一像素組中第一行的象素?cái)?shù)據(jù)取出進(jìn)行差的絕對(duì)值計(jì)算,并將計(jì)算出的N2個(gè)值進(jìn)行累加(MAD計(jì)算),同時(shí)用行坐標(biāo)k(k=1)來(lái)標(biāo)記該值;第2步,按行的順序?qū)⑴R時(shí)當(dāng)前幀和臨時(shí)先前幀第一像素組中第二行的象素?cái)?shù)據(jù)取出進(jìn)行差的絕對(duì)值計(jì)算,并將計(jì)算出的N2個(gè)值進(jìn)行累加;第3步,按照第1步和第2步的方法,重復(fù)該過(guò)程,直到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中第一像素組的所有行都完成了MAD計(jì)算;第4步,按照第3步的方法,不斷重復(fù)該過(guò)程,直到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中所有的像素組都被取出并都完成了MAD計(jì)算。
(四)運(yùn)動(dòng)向量值輸出階段104在由臨時(shí)當(dāng)前幀和臨時(shí)先前幀中各自的第一像素組的數(shù)據(jù)產(chǎn)生的(2p+1)2個(gè)MAD值中,找出這(2p+1)2個(gè)MAD值中的最小值,并把該最小值的標(biāo)記k作為當(dāng)前幀第一參考?jí)K的運(yùn)動(dòng)向量值進(jìn)行輸出。在由臨時(shí)當(dāng)前幀和臨時(shí)先前幀中各自的第二像素組的數(shù)據(jù)產(chǎn)生的(2p+1)2個(gè)MAD值中,找出這(2p+1)2個(gè)MAD值中的最小值,并把該最小值的標(biāo)記k作為當(dāng)前幀第二參考?jí)K的運(yùn)動(dòng)向量值進(jìn)行輸出。重復(fù)上述過(guò)程,直到當(dāng)前幀中所有的參考?jí)K的運(yùn)動(dòng)向量都輸出為止,整個(gè)方法結(jié)束。
傳統(tǒng)的FSBM算法一般可分為初始化和輸入、MAD計(jì)算、MV產(chǎn)生和輸出三個(gè)階段。其中進(jìn)行MAD計(jì)算的數(shù)據(jù)為從先前幀圖像和當(dāng)前幀圖像輸入的象素?cái)?shù)據(jù)。為了方便描述本發(fā)明中如何進(jìn)行輸入數(shù)據(jù)流的組織,定義兩個(gè)圖像幀,一個(gè)為臨時(shí)當(dāng)前幀,另一個(gè)為臨時(shí)先前幀。當(dāng)前幀和先前幀像素?cái)?shù)據(jù)先輸入到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中暫存,然后再?gòu)呐R時(shí)當(dāng)前幀和臨時(shí)先前幀中取出進(jìn)行MAD計(jì)算。在高效的運(yùn)動(dòng)估計(jì)電路中,當(dāng)前幀像素?cái)?shù)據(jù)和先前幀像素?cái)?shù)據(jù)按照一定的格式和方式組織成數(shù)據(jù)流源源不斷的輸入到電路中進(jìn)行MAD計(jì)算。這種數(shù)據(jù)流的組織方式以及在這種數(shù)據(jù)流格式下是否能夠找到合適的硬件結(jié)構(gòu)也就成為決定電路的工作效率高低的主要因素。本發(fā)明提出的新的兩層Do循環(huán)嵌套FSBM算法,主要描述了一種新的輸入數(shù)據(jù)流組織方式,以及在該數(shù)據(jù)流格式下,像素如何進(jìn)行MAD計(jì)算,如何輸出運(yùn)動(dòng)向量等工作。該算法的最大特點(diǎn)在于利用該算法描述的輸入數(shù)據(jù)流進(jìn)行MAD計(jì)算,非常有利于電路比較、判別、找到和輸出運(yùn)動(dòng)向量,有利于降低電路的復(fù)雜性。
本發(fā)明還提供了應(yīng)用該運(yùn)動(dòng)估計(jì)方法的運(yùn)動(dòng)估計(jì)電路,以克服已有技術(shù)的運(yùn)動(dòng)估計(jì)電路硬件利用率低、電路規(guī)模大的缺陷,本發(fā)明的技術(shù)方案如下一種應(yīng)用運(yùn)動(dòng)估計(jì)方法的運(yùn)動(dòng)估計(jì)電路,它由N2個(gè)塊匹配單元(PE1-PEN2)、總線(xiàn)Y1、總線(xiàn)Y2、總線(xiàn)C1、總線(xiàn)C2、N個(gè)多路選擇器(M1-MN)、二個(gè)先入先出模塊(FIFO1、FIFO2)、N-2個(gè)多路選擇器(ME2-MEN-1)、N-1個(gè)延遲寄存器(Delay2-DelayN)、N-1個(gè)延遲寄存器組(Delay-1-Delay-N-1)、N-1個(gè)加法器(a2-aN)和運(yùn)動(dòng)向量生成單元MV組成。每個(gè)塊匹配單元都由四個(gè)寄存器(Rge1-Reg4)、三個(gè)多路選擇器(Mx1-Mx3)、觸發(fā)器DEF、二個(gè)寄存器(RA1、RA2)、多路選擇器(M、MUX)、加法絕對(duì)值單元|X-Y|和加法器MAD組成。
本發(fā)明涉及如下的數(shù)學(xué)變量v,h當(dāng)前參考?jí)K在當(dāng)前幀中的塊坐標(biāo)(以幀左上角為坐標(biāo)頂點(diǎn))。
m,n當(dāng)前搜索塊與先前幀中坐標(biāo)為(v,h)的搜索塊之間的偏移量。
i,j像素在參考?jí)K中的坐標(biāo)(以塊左上角為坐標(biāo)頂點(diǎn))。
is,js參考?jí)K像素在當(dāng)前幀中的絕對(duì)坐標(biāo)(以幀左上角為坐標(biāo)頂點(diǎn))。
iu,ju搜索塊在先前幀中的絕對(duì)坐標(biāo)(以幀左上角為坐標(biāo)頂點(diǎn))。
k搜索匹配塊進(jìn)行運(yùn)動(dòng)估計(jì)的塊號(hào)。
l進(jìn)行塊匹配時(shí)像素的匹配順序編號(hào)。
其中,k和l可以同時(shí)按行順序進(jìn)行,也可同時(shí)按列順序進(jìn)行。這里以按列順序?yàn)槔M(jìn)行說(shuō)明。
由此,定義l=(i-1)N+j,1≤i,j≤N (3)k=(v-1)Nh(2p+1)2+(h-1)(2p+1)2+(m+pX2p+1)+n+p+1(4) 塊匹配單元PE的說(shuō)明
MAD_in,MAD_outMAD累加值的輸入輸出端口,中間進(jìn)行了鎖存。
y_in1,Y_out1先前幀數(shù)據(jù)的輸入和輸出端口,中間進(jìn)行了鎖存。
Y_in2,Y_out2先前幀數(shù)據(jù)的輸入和輸出端口,中間進(jìn)行了鎖存。
Sel_in寄存器RA1和RA2的MAD計(jì)算的選通信號(hào)。
Sel_outSel_in的鎖存輸出信號(hào)。
Sel1n當(dāng)前幀數(shù)據(jù)的輸入輸出選通端口。
塊匹配單元PE的邏輯功能說(shuō)明具有相同索引號(hào)的當(dāng)前參考?jí)K和下一參考?jí)K的像素?cái)?shù)據(jù)交替存放到寄存器組的RA1寄存器和RA2寄存器中,Sel1信號(hào)負(fù)責(zé)像素存放過(guò)程中寄存器的選通。sel_in則負(fù)責(zé)PE進(jìn)行MAD運(yùn)算時(shí)的參考?jí)K像素寄存器RA1和RA2的輸出選通。同時(shí),sel_in還要作為D觸發(fā)器的時(shí)鐘觸發(fā)信號(hào),由此產(chǎn)生PE進(jìn)行MAD運(yùn)算時(shí)搜索塊像素Y_in1和Y_in2的選擇信號(hào)。搜索塊像素與參考?jí)K像素的差的絕對(duì)值與MAD_in相加后,在時(shí)鐘的鎖存下作為MAD_out進(jìn)行輸出,它執(zhí)行(1)式所述的運(yùn)算。圖7給出PE中主要信號(hào)的時(shí)序說(shuō)明。
圖8為基于p=kN(k≥1/2)的運(yùn)動(dòng)估計(jì)電路的硬件結(jié)構(gòu)。其中,先前幀數(shù)據(jù)有兩套輸入總線(xiàn),Y1和Y2。它們通過(guò)多路選擇器將數(shù)據(jù)送到PE單元。在圖中,F(xiàn)IFO1和FIFO2可以分別接受來(lái)自Y1和Y2的數(shù)據(jù),并可以送到總線(xiàn)C1和C2上去,大小分別是(N-1)(2p-1)和(N-1)2。Delay_2p+1和Delay2p+2-N分別指深度為(2p+1)和(2p+2-N)的兩個(gè)延遲移位寄存器組。
該電路的工作原理為(1)、在電路開(kāi)始工作前,當(dāng)前幀中的當(dāng)前參考?jí)K數(shù)據(jù)要被預(yù)裝到PE中RA的某一個(gè)寄存器組中。在電路完成當(dāng)前參考?jí)K數(shù)據(jù)的運(yùn)動(dòng)估計(jì)任務(wù)之前,下一參考?jí)K數(shù)據(jù)也要被預(yù)裝到PE中RA的另一個(gè)寄存器組中。
(2)、以電路剛開(kāi)始工作時(shí)為時(shí)間節(jié)拍的零點(diǎn)。在1~N(2p+1)節(jié)拍中,F(xiàn)IFO1和FIFO2不被使用,來(lái)自Y1、Y2的先前幀數(shù)據(jù)通過(guò)端口A向陣列送數(shù),總線(xiàn)C1和C2不工作。Y1的數(shù)據(jù)按臨時(shí)先前幀中的第一列數(shù)據(jù)進(jìn)行輸入,Y2輸入的數(shù)據(jù)則有點(diǎn)復(fù)雜。將臨時(shí)先前幀的前N列數(shù)據(jù)依照列號(hào)在數(shù)據(jù)的開(kāi)頭插入列號(hào)數(shù)個(gè)零。按行的順序進(jìn)行比較,如果這N列某一行的數(shù)據(jù)相同,則此時(shí)Y2輸入的數(shù)據(jù)與Y1相同,如果哪一行這N數(shù)據(jù)不相同,則Y2輸入的數(shù)據(jù)為那個(gè)不相同的數(shù)據(jù)。
(3)、在N(2p+1)+1~(2N-1)(2p+1)節(jié)拍中,F(xiàn)IFO1接受來(lái)自Y1的(N-1)(2p+1)個(gè)數(shù)據(jù)并進(jìn)行存放;在(N+r)(2p+1)+1~(N+r)(2p+1)+N-1的節(jié)拍中,F(xiàn)IFO2接受來(lái)自Y2的(N-1)2個(gè)數(shù)據(jù),并進(jìn)行緩存(其中,0<r<N,且r為整數(shù))。在上述過(guò)程中,來(lái)自Y1、Y2的數(shù)據(jù)通過(guò)端口A向陣列送數(shù),而FIFO并不向陣列送數(shù),總線(xiàn)C1和C2不工作。
(4)、在(2p+1)2+1~(2p+1)2+(N-1)(2p+1)的節(jié)拍過(guò)程中,F(xiàn)IFO1要向總線(xiàn)C1送數(shù),Y1,Y2也要PE端口A送數(shù)。此時(shí),來(lái)自FIFO1的數(shù)據(jù)被送向B端口,而來(lái)自Y1、Y2的數(shù)據(jù)被送向A端口。Y1、Y2送的是當(dāng)前參考?jí)K對(duì)應(yīng)搜索區(qū)域的最后(N-1)(2p+1)個(gè)數(shù)據(jù),F(xiàn)IFO1送的是它存放的(N-1)(2p+1)個(gè)數(shù)據(jù);在(2p+r+1)(2p+1)+1~(2p+r+1)(2p+1)+N-1的節(jié)拍中,F(xiàn)IFO2要向總線(xiàn)C2送數(shù),此時(shí)可能會(huì)出現(xiàn)FIFO1和FIFO2的數(shù)據(jù)通過(guò)總線(xiàn)C1和C2同時(shí)向B端口送數(shù),而Y1、Y2同時(shí)向A端口送數(shù)(其中,0<r<N,且r為整數(shù))。
(5)、在(2p+N)(2p+1)+1節(jié)拍后,F(xiàn)IFO1停止送數(shù),而Y1、Y2繼續(xù)向A端口送數(shù),它此時(shí)開(kāi)始從下一參考?jí)K對(duì)應(yīng)的搜索區(qū)域數(shù)據(jù)的第(N-1)(2p+1)+1個(gè)數(shù)據(jù)開(kāi)始送數(shù);在(2p+N)(2p+1)+1~(2p+N)(2p+1)+N-1的節(jié)拍過(guò)程中,F(xiàn)IFO2要向端口B送完最后(N-1)個(gè)數(shù)據(jù)。
在FIFO開(kāi)始向陣列送數(shù)的過(guò)程中,PE陣列處在當(dāng)前參考?jí)K和下一參考?jí)K進(jìn)行運(yùn)動(dòng)估計(jì)的重疊過(guò)程。(5)過(guò)程結(jié)束后,重疊執(zhí)行過(guò)程也就結(jié)束,此時(shí)PE只執(zhí)行下一參考?jí)K的運(yùn)動(dòng)估計(jì)。對(duì)于下一參考?jí)K來(lái)說(shuō),開(kāi)始進(jìn)行運(yùn)動(dòng)估計(jì)的零點(diǎn)為(4)過(guò)程的開(kāi)始,它只須重復(fù)上述過(guò)程即可。
圖8給出了圖6結(jié)構(gòu)中一些關(guān)鍵信號(hào)的時(shí)序關(guān)系。其中,F(xiàn)IFO1_w,F(xiàn)IFO1_r,F(xiàn)IFO2_w,F(xiàn)IFO2_r分別為兩個(gè)FIFO的讀寫(xiě)信號(hào)。L=18_A_e指順序?yàn)?8的PE的A端口使能信號(hào)。上述信號(hào)中,低電平有效。
運(yùn)動(dòng)向量的獲取圖6的最下方,有一條由移位寄存器和加法器構(gòu)成的數(shù)據(jù)通路,它們將每一列PE單元的MAD值進(jìn)行累加,并傳送到MV模塊。MV模塊負(fù)責(zé)產(chǎn)生運(yùn)動(dòng)向量。由于幀圖像在進(jìn)行運(yùn)動(dòng)估計(jì)的時(shí)候會(huì)有邊界存在,而PE陣列中的MAD計(jì)算并不對(duì)邊界問(wèn)題進(jìn)行處理,所有這些工作都交由MV模塊完成。它包含有一個(gè)同步的計(jì)數(shù)器。通過(guò)計(jì)數(shù)器可知當(dāng)前運(yùn)動(dòng)估計(jì)的參考?jí)K在當(dāng)前幀中的位置,由此可以確定有效MAD計(jì)算區(qū)間,及有效的k值。
有益效果由上述方法映射出的電路結(jié)構(gòu)有如下優(yōu)勢(shì)(1)PE的工作效率接近100%。
(2)PE單元的結(jié)構(gòu)簡(jiǎn)單,節(jié)省硬件資源40%~60%。
(3)PE數(shù)目PEs=N2。由于通常的編碼標(biāo)準(zhǔn)中,N是一個(gè)固定值,而p則希望可變。由此,對(duì)于此種結(jié)構(gòu),p發(fā)生變化時(shí),電路的結(jié)構(gòu)變化較小,通過(guò)改變電路輸入數(shù)據(jù)的組織方式即可完成相應(yīng)的工作,電路的適應(yīng)性好、可擴(kuò)展性好。
(4)PE的數(shù)目合適,且不隨p發(fā)生變化,電路的規(guī)模也基本變化不大,電路的實(shí)現(xiàn)成本變化不大,性?xún)r(jià)比高。
無(wú)需滿(mǎn)足N=2p關(guān)系,使得該結(jié)構(gòu)具有廣泛的應(yīng)用前景和較大的實(shí)用價(jià)值


圖1是本發(fā)明方法的步驟示意圖,圖2是圖1中步驟102的示意圖,圖3是本發(fā)明方法中臨時(shí)當(dāng)前幀和臨時(shí)先前幀的結(jié)構(gòu)示意圖,圖4是運(yùn)動(dòng)估計(jì)時(shí)的塊匹配示意圖,圖5是本發(fā)明中塊匹配單元PE的結(jié)構(gòu)示意圖,圖6本發(fā)明運(yùn)動(dòng)估計(jì)電路的結(jié)構(gòu)示意圖,圖7是塊匹配單元PE各管腳所加信號(hào)和內(nèi)部信號(hào)的時(shí)序?qū)φ請(qǐng)D,圖8是運(yùn)動(dòng)估計(jì)電路中信號(hào)的時(shí)序關(guān)系圖。
具體實(shí)施例方式具體實(shí)施方式
一下面結(jié)合圖1至圖3具體說(shuō)明本實(shí)施方式。一種運(yùn)動(dòng)估計(jì)方法,它通過(guò)下述步驟完成(一)初始化階段101初始化兩個(gè)沒(méi)有任何像素?cái)?shù)據(jù)的臨時(shí)當(dāng)前幀和臨時(shí)先前幀圖像。這兩幀圖像每行包含N2個(gè)象素點(diǎn),每列包含NhNv(2p+1)2個(gè)像素;在列的方向上將這兩個(gè)臨時(shí)幀劃分為NhNv個(gè)像素組,每組包含(2p+1)2列,每組共包含N2(2p+1)2個(gè)像素,按列的順序分別命名為第1組,第2組…第NhNv組。以幀的左上角為頂點(diǎn),用(l,k)表示該像素在先前或當(dāng)前幀圖像中的位置,其中1≤l≤N2,1≤l≤NhNv(2p+1)2;對(duì)于作為輸入的當(dāng)前幀圖像和先前幀圖像,每行包含N×Nh個(gè)象素點(diǎn),每列包含N×Nv個(gè)像素;(二)中間數(shù)據(jù)組織階段102第1步將當(dāng)前幀的象素?cái)?shù)據(jù)和先前幀的象素?cái)?shù)據(jù)分別存放到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中去,在存放的過(guò)程中確定存放的位置和存放的順序;對(duì)于當(dāng)前幀圖像,幀中參考?jí)K按行掃描的順序、參考?jí)K內(nèi)按列掃描的順序從圖像中串行取出;以(l,k)表示像素存放到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中的位置。對(duì)于當(dāng)前幀第一個(gè)參考?jí)K中的象素,按列掃描的順序從參考?jí)K中取出,按行的順序存放到臨時(shí)當(dāng)前幀中第一象素組的第一行中。相應(yīng)的,當(dāng)前幀第二個(gè)參考?jí)K中的象素,按列掃描的順序從參考?jí)K中取出,按行的順序的存放到臨時(shí)當(dāng)前幀中第二象素組的第一行中;重復(fù)上述過(guò)程,將當(dāng)前幀中所有參考?jí)K的像素?cái)?shù)據(jù)存放到臨時(shí)當(dāng)前幀中每一象素組的第一行中;第2步對(duì)于臨時(shí)當(dāng)前幀的每一像素組,第一行處有數(shù)據(jù),其他位置為空。將每列第一行處的數(shù)據(jù)復(fù)制每列的其他行處,使得在每一像素組中,每列的象素?cái)?shù)據(jù)都相同;按照上述方法,完成臨時(shí)當(dāng)前幀的數(shù)據(jù)復(fù)制工作;第3步對(duì)于先前幀第一個(gè)搜索區(qū)域中的象素(即為當(dāng)前幀第一個(gè)參考?jí)K所對(duì)應(yīng)的搜索區(qū)域中的象素),共有(2p+N)2象素點(diǎn),臨時(shí)先前幀中第一象素組共有N2(2p+1)2個(gè)空位置可以存放像素。從先前幀搜索區(qū)域中取像素?cái)?shù)據(jù)的順序?yàn)?1)、從搜索區(qū)域的第一列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(2)、從搜索區(qū)域的第二列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(3)、依此類(lèi)推,重復(fù)上述過(guò)程,從搜索區(qū)域的第三列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),從搜索區(qū)域的第四列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),…,直到從搜索區(qū)域的第(2p+1)列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(4)、將按(1)(2)(3)步順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第一列中;(5)、從搜索區(qū)域的第一列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(6)、從搜索區(qū)域的第二列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(7)、依此類(lèi)推,重復(fù)上述過(guò)程,從搜索區(qū)域的第三列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),從搜索區(qū)域的第四列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),…,直到從搜索區(qū)域的第(2p+1)列的第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(8)、將按(5)(6)(7)步順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第二列中;(9)、依此類(lèi)推,重復(fù)(8)的過(guò)程,直到臨時(shí)先前幀的第一像素組的前N列都填滿(mǎn)數(shù)據(jù);第4步這一步要將先前幀的第一像素組的N+1~2N列都填滿(mǎn)數(shù)據(jù),方法與第3步相同,簡(jiǎn)述為(10)、從搜索區(qū)域的第二列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(11)、從搜索區(qū)域的第三列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(12)、依此類(lèi)推,重復(fù)上述過(guò)程,直到從搜索區(qū)域的第(2p+2)列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(13)、將按(10)(11)(12)、順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第N+1列中;(14)、從搜索區(qū)域的第二列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(15)、從搜索區(qū)域的第三列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(16)、依此類(lèi)推,重復(fù)上述過(guò)程,直到從搜索區(qū)域的第(2p+2)列的第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(17)、將按(14)(15)(16)順序從先前幀取出的(2P+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第N+2列中;(18)、依此類(lèi)推,重復(fù)(17)的過(guò)程,直到臨時(shí)先前幀的第一像素組的前2N列都填滿(mǎn)數(shù)據(jù);第5步重復(fù)第4步的過(guò)程,直到臨時(shí)先前幀的第一像素組的所有列中都填滿(mǎn)數(shù)據(jù)。第6步重復(fù)第5步的過(guò)程,直到臨時(shí)先前幀的所有像素組都填滿(mǎn)數(shù)據(jù)。
(三)運(yùn)動(dòng)向量計(jì)算階段103第1步,按行的順序?qū)⑴R時(shí)當(dāng)前幀和臨時(shí)先前幀第一像素組中第一行的象素?cái)?shù)據(jù)取出進(jìn)行差的絕對(duì)值計(jì)算,并將計(jì)算出的N2個(gè)值進(jìn)行累加(MAD計(jì)算),同時(shí)用行坐標(biāo)k(k=1)來(lái)標(biāo)記該值;第2步,按行的順序?qū)⑴R時(shí)當(dāng)前幀和臨時(shí)先前幀第一像素組中第二行的象素?cái)?shù)據(jù)取出進(jìn)行差的絕對(duì)值計(jì)算,并將計(jì)算出的N2個(gè)值進(jìn)行累加(MAD計(jì)算),同時(shí)用行坐標(biāo)k(k=2)來(lái)表記該值;第3步,按照第1步和第2步的方法,重復(fù)該過(guò)程,直到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中第一像素組的所有行都完成了MAD計(jì)算,并用行坐標(biāo)k(k=1,2,3…(2p+1)2)來(lái)表記這些MAD值;第4步,按照第3步的方法,不斷重復(fù)該過(guò)程,直到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中所有的像素組都被取出并都完成了MAD計(jì)算。并且,用這些計(jì)算值都用它們的行坐標(biāo)k(k=1,2,3…(2p+1)2,(2p+1)2+1,…2(2p+1)2…NvNh(2p+1)2)來(lái)表記這些MAD值。
(四)運(yùn)動(dòng)向量值輸出階段104在MAD計(jì)算階段共產(chǎn)生了NvNh(2p+1)2個(gè)MAD值,其中臨時(shí)當(dāng)前幀和臨時(shí)先前幀中每一對(duì)像素組的數(shù)據(jù)會(huì)產(chǎn)生(2p+1)2個(gè)MAD值。在由臨時(shí)當(dāng)前幀和臨時(shí)先前幀中各自的第一像素組的數(shù)據(jù)產(chǎn)生的(2p+1)2個(gè)MAD值中,找出這(2p+1)2個(gè)MAD值中的最小值,并把該最小值的標(biāo)記k作為當(dāng)前幀第一參考?jí)K的運(yùn)動(dòng)向量值進(jìn)行輸出。在由臨時(shí)當(dāng)前幀和臨時(shí)先前幀中各自的第二像素組的數(shù)據(jù)產(chǎn)生的(2p+1)2個(gè)MAD值中,找出這(2p+1)2個(gè)MAD值中的最小值,并把該最小值的標(biāo)記k作為當(dāng)前幀第二參考?jí)K的運(yùn)動(dòng)向量值進(jìn)行輸出。重復(fù)上述過(guò)程,直到用上述方法找到的當(dāng)前幀中所有的參考?jí)K的運(yùn)動(dòng)向量都輸出為止,整個(gè)方法結(jié)束。
具體實(shí)施例方式
二下面結(jié)合圖5和圖6具體說(shuō)明本實(shí)施方式。一種應(yīng)用運(yùn)動(dòng)估計(jì)方法的運(yùn)動(dòng)估計(jì)電路,它由N2個(gè)塊匹配單元(PE1-PEN2)、總線(xiàn)Y1、總線(xiàn)Y2、總線(xiàn)C1、總線(xiàn)C2、N個(gè)多路選擇器(M1-MN)、二個(gè)先入先出模塊(FIFO1、FIFO2)、N-2個(gè)多路選擇器ME2-MEN-1)、N-1個(gè)延遲寄存器(Delay2-DelayN)、N-1個(gè)延遲寄存器組(Delay-1-Delay-N-1)、N-1個(gè)加法器(a2-aN)和運(yùn)動(dòng)向量生成單元MV組成。塊匹配單元(PE1-PEN2)排布成N行N列的陣列結(jié)構(gòu),總線(xiàn)Y1分別連接多路選擇器(M1-MN)的一個(gè)輸入端,多路選擇器(M1-MN)的另一個(gè)輸入端都連接在總線(xiàn)Y2上,多路選擇器M1的輸出端分別連接塊匹配單元PE1的腳Y_in1和先入先出模塊FIFO1的輸入端,先入先出模塊FIFO1的輸出端連接總線(xiàn)C1,多路選擇器M2-多路選擇器MN-1的輸出端分別連接在塊匹配單元PE2-塊匹配單元PEN-1的腳Y_in1上,多路選擇器MN的輸出端分別連接塊匹配單元PEN的腳Y_in1和先入先出模塊FIFO2的輸入端,先入先出模塊FIFO2的輸出端連接總線(xiàn)C2,總線(xiàn)C2還分別連接多路選擇器ME2-多路選擇器MEN-1的一個(gè)輸入端和塊匹配單元PEN的腳Y_in2,總線(xiàn)C1還連接塊匹配單元PE1的腳Y_in2、多路選擇器ME2-多路選擇器MEN-1的另一個(gè)輸入端,多路選擇器ME2-多路選擇器MEN-1的輸出端分別連接塊匹配單元PE2-塊匹配單元PEN-1的腳Y_in2,每一列塊匹配單元中,位于上方的塊匹配單元的腳MAD_out、腳set_out、腳X_out、腳Sellt分別連接位于下方的塊匹配單元的腳MAD_in、腳Sel_in、腳X_in和腳Selln,每一行塊匹配單元中位于左方的塊匹配單元的腳Y_out1和腳Y_out2分別連接位于右方的塊匹配單元的腳Y_in1和腳Y_in2,塊匹配單元PEN的腳MAD_out連接延遲寄存器組Delay-1的輸入端,塊匹配單元PEN的腳Sel_out連延遲寄存器Delay2的輸入端,延遲寄存器Delay2的輸出端連接塊匹配單元PEN+1的腳Sel_in,塊匹配單元PEN的腳X_out連接塊匹配單元PEN+1的腳經(jīng)X_in,塊匹配單元PE2N的腳MAD_out連加法器a2的一個(gè)輸入端,加法器a2的另一個(gè)輸入端連延遲寄存器組Delay-1的輸出端,加法器a2的輸出端連延遲寄存器組Delay-2的輸入端,塊匹配單元PE2N的腳X_out連塊匹配單元PEKN+1的腳X-in,塊匹配單元PE2N的腳Sel_out連延遲寄存器Delay3的輸入端,延遲寄存器Delay3的輸出端連塊匹配單元PEKN+1的腳Sel_in,塊匹配單元PE(k+1)N的腳MAD_out連加法器aN-1的一個(gè)輸入端,加法器aN-1的輸出端連延遲寄存器組Delay-N-1的輸入端,塊匹配單元PE(K+1)N的腳Sel_out連延遲寄存器DelayN的輸入端,延遲寄存器DelayN的輸出端連塊匹配單元PEN(n-1)+1的腳Sel_in,塊匹配單元PE(K+1)N的腳X-out連接塊匹配單元PEN(N-1)+1的腳X-in,塊匹配單元PEN2的腳MAD_out連加法器aN的一個(gè)輸入端,加法器aN的輸出端連運(yùn)動(dòng)像量生成單元MV的輸入端;每個(gè)塊匹配單元都由四個(gè)寄存器(Rge1-Reg4)、三個(gè)多路選擇器(Mx1-Mx3)、觸發(fā)器DEF、二個(gè)寄存器(RA1、RA2)、多路選擇器(M、MUX)、加法絕對(duì)值單元|X-Y|和加法器MAD組成,塊匹配單元的腳Selln連接腳Sellt、多路選擇器Mx1的控制端、多路選擇器Mx2的控制端和多路選擇器MUX的控制端,塊匹配單元的腳X_in分別連多路選擇器Mx1和多路選擇器Mx2的一個(gè)輸入端,多路選擇器Mx1的另一個(gè)輸入端連寄存器RA1的輸出端、多路選擇器Mx3的一個(gè)輸入端和多路選擇器MUX的一個(gè)輸入端,多路選擇器Mx1的輸出端連寄存器RA1的輸入端,多路選擇器Mx2的另一個(gè)輸入端連寄存器RA2的輸出端、多路選擇器Mx3的另一個(gè)輸入端和多路選擇器MUX的另一個(gè)輸入端,多路選擇器MUX的輸出端連塊匹配單元的腳X_out,塊匹配單元的腳Sel_in連D觸發(fā)器DEF的腳clk、多路選擇器Mx3的控制端和寄存器Reg3的輸入端,寄存器Reg3的輸出端連塊匹配單元的腳Sel_out,塊匹配單元的腳Y_in1連寄存器Reg1的輸入端和多路選擇器M的一個(gè)輸入端,塊匹配單元的腳Y_in2連寄存器Reg2的輸入端和多路選擇器M的另一個(gè)輸入端,寄存器Reg1和寄存器Reg2的輸出端分別連塊匹配單元的腳Y_out1和腳Y_out2,多路選擇器M的控制端連觸發(fā)器DEF的腳Q,多路選擇器M的輸出端連加法絕對(duì)值單元|X-Y|的一個(gè)輸入端,加法絕對(duì)值單元|X-Y|的另一個(gè)輸入端連多路選擇器Mx3的輸出端,加法絕對(duì)值單元|X-Y|的輸出端連累加法器MAD的一個(gè)輸入端,加法器MAD的另一個(gè)輸入端連塊匹配單元的腳MAD_in,加法器MAD的輸出端連寄存器Reg4的輸入端,寄存器Reg4的輸出端連塊匹配單元的腳MAD_out。
權(quán)利要求
1.一種運(yùn)動(dòng)估計(jì)方法,其特征是它通過(guò)下述步驟完成(一)初始化階段(101)初始化兩個(gè)沒(méi)有任何像素?cái)?shù)據(jù)的臨時(shí)當(dāng)前幀和臨時(shí)先前幀圖像。這兩幀圖像每行包含N2個(gè)象素點(diǎn),每列包含NhNv(2p+1)2個(gè)像素;在列的方向上將這兩個(gè)臨時(shí)幀劃分為NhNv個(gè)像素組,每組包含(2p+1)2列,每組共包含N2(2p+1)2個(gè)像素,按列的順序分別命名為第1組,第2組...第NhNv組。以幀的左上角為頂點(diǎn),用(l,k)表示該像素在先前或當(dāng)前幀圖像中的位置,其中1≤l≤N2,1≤l≤NhNv(2p+1)2;對(duì)于作為輸入的當(dāng)前幀圖像和先前幀圖像,每行包含N×Nh個(gè)象素點(diǎn),每列包含N×Nv個(gè)像素;(二)中間數(shù)據(jù)組織階段(102)第1步將當(dāng)前幀的象素?cái)?shù)據(jù)和先前幀的象素?cái)?shù)據(jù)分別存放到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中去,在存放的過(guò)程中確定存放的位置和存放的順序;對(duì)于當(dāng)前幀圖像,幀中參考?jí)K按行掃描的順序、參考?jí)K內(nèi)按列掃描的順序從圖像中串行取出;以(l,k)表示像素存放到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中的位置;對(duì)于當(dāng)前幀第一個(gè)參考?jí)K中的象素,按列掃描的順序從參考?jí)K中取出,按行的順序存放到臨時(shí)當(dāng)前幀中第一象素組的第一行中;相應(yīng)的,當(dāng)前幀第二個(gè)參考?jí)K中的象素,按列掃描的順序從參考?jí)K中取出,按行的順序的存放到臨時(shí)當(dāng)前幀中第二象素組的第一行中;重復(fù)上述過(guò)程,將當(dāng)前幀中所有參考?jí)K的像素?cái)?shù)據(jù)存放到臨時(shí)當(dāng)前幀中每一象素組的第一行中;第2步對(duì)于臨時(shí)當(dāng)前幀的每一像素組,第一行處有數(shù)據(jù),其他位置為空;將每列第一行處的數(shù)據(jù)復(fù)制每列的其他行處,使得在每一像素組中,每列的象素?cái)?shù)據(jù)都相同;按照上述方法,完成臨時(shí)當(dāng)前幀的數(shù)據(jù)復(fù)制工作;第3步對(duì)于先前幀第一個(gè)搜索區(qū)域中的象素(即為當(dāng)前幀第一個(gè)參考?jí)K所對(duì)應(yīng)的搜索區(qū)域中的象素),共有(2p+N)2象素點(diǎn),臨時(shí)先前幀中第一象素組共有N2(2p+1)2個(gè)空位置可以存放像素;從先前幀搜索區(qū)域中取像素?cái)?shù)據(jù)的順序?yàn)?1)、從搜索區(qū)域的第一列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(2)、從搜索區(qū)域的第二列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(3)、依此類(lèi)推,重復(fù)上述過(guò)程,從搜索區(qū)域的第三列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),從搜索區(qū)域的第四列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),...,直到從搜索區(qū)域的第(2p+1)列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(4)、將按(1)(2)(3)步順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第一列中;(5)、從搜索區(qū)域的第一列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(6)、從搜索區(qū)域的第二列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(7)、依此類(lèi)推,重復(fù)上述過(guò)程,從搜索區(qū)域的第三列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),從搜索區(qū)域的第四列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù),...,直到從搜索區(qū)域的第(2p+1)列的第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(8)、將按(5)、(6)、(7)步順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第二列中;(9)、依此類(lèi)推,重復(fù)(8)步的過(guò)程,直到臨時(shí)先前幀的第一像素組的前N列都填滿(mǎn)數(shù)據(jù);第4步這一步要將先前幀的第一像素組的N+1~2N列都填滿(mǎn)數(shù)據(jù),方法與第4步相同,簡(jiǎn)述為(10)、從搜索區(qū)域的第二列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(11)、從搜索區(qū)域的第三列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(12)、依此類(lèi)推,重復(fù)上述過(guò)程,直到從搜索區(qū)域的第(2p+2)列第一行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(13)、將按(10)、(11)、(12)順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第N+1列中;(14)、從搜索區(qū)域的第二列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(15)、從搜索區(qū)域的第三列第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù);(16)、依此類(lèi)推,重復(fù)上述過(guò)程,直到從搜索區(qū)域的第(2p+2)列的第二行處按列的順序取出(2p+1)個(gè)數(shù)據(jù)為止;(17)、將按(14)、(15)、(16)順序從先前幀取出的(2p+1)2個(gè)數(shù)據(jù)按列的順序存放到臨時(shí)先前幀的第一像素組的第N+2列中;(18)、依此類(lèi)推,重復(fù)(17)的過(guò)程,直到臨時(shí)先前幀的第一像素組的前2N列都填滿(mǎn)數(shù)據(jù);第5步重復(fù)第4步的過(guò)程,直到臨時(shí)先前幀的第一像素組的所有列中都填滿(mǎn)數(shù)據(jù);第6步重復(fù)第5步的過(guò)程,直到臨時(shí)先前幀的所有像素組都填滿(mǎn)數(shù)據(jù);(三)運(yùn)動(dòng)向量計(jì)算階段(103)第1步,按行的順序?qū)⑴R時(shí)當(dāng)前幀和臨時(shí)先前幀第一像素組中第一行的象素?cái)?shù)據(jù)取出進(jìn)行差的絕對(duì)值計(jì)算,并將計(jì)算出的N2個(gè)值進(jìn)行累加,同時(shí)用行坐標(biāo)k=1來(lái)標(biāo)記該值;第2步,按行的順序?qū)⑴R時(shí)當(dāng)前幀和臨時(shí)先前幀第一像素組中第二行的象素?cái)?shù)據(jù)取出進(jìn)行差的絕對(duì)值計(jì)算,并將計(jì)算出的N2個(gè)值進(jìn)行累加,同時(shí)用行坐標(biāo)k=2來(lái)表記該值;第3步,按照第1步和第2步的方法,重復(fù)該過(guò)程,直到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中第一像素組的所有行都完成了MAD計(jì)算,并用行坐標(biāo)k=1,2,3…(2p+1)2)來(lái)表記這些MAD值;第4步,按照第3步的方法,不斷重復(fù)該過(guò)程,直到臨時(shí)當(dāng)前幀和臨時(shí)先前幀中所有的像素組都被取出并都完成了MAD計(jì)算;并且,用這些計(jì)算值都用它們的行坐標(biāo)k=1,2,3…(2p+1)2,(2p+1)2+1,…2(2p+1)2…NvNh(2p+1)2來(lái)表記這些MAD值;(四)運(yùn)動(dòng)向量值輸出階段104在MAD計(jì)算階段共產(chǎn)生了NvNh(2p+1)2個(gè)MAD值,其中臨時(shí)當(dāng)前幀和臨時(shí)先前幀中每一對(duì)像素組的數(shù)據(jù)會(huì)產(chǎn)生(2p+1)2個(gè)MAD值;在由臨時(shí)當(dāng)前幀和臨時(shí)先前幀中各自的第一像素組的數(shù)據(jù)產(chǎn)生的(2p+1)2個(gè)MAD值中,找出這(2p+1)2個(gè)MAD值中的最小值,并把該最小值的標(biāo)記k作為當(dāng)前幀第一參考?jí)K的運(yùn)動(dòng)向量值進(jìn)行輸出;在由臨時(shí)當(dāng)前幀和臨時(shí)先前幀中各自的第二像素組的數(shù)據(jù)產(chǎn)生的(2p+1)2個(gè)MAD值中,找出這(2p+1)2個(gè)MAD值中的最小值,并把該最小值的標(biāo)記k作為當(dāng)前幀第二參考?jí)K的運(yùn)動(dòng)向量值進(jìn)行輸出;重復(fù)上述過(guò)程,直到用上述方法找到的當(dāng)前幀中所有的參考?jí)K的運(yùn)動(dòng)向量都輸出為止,整個(gè)方法結(jié)束。
2.一種應(yīng)用運(yùn)動(dòng)估計(jì)方法的運(yùn)動(dòng)估計(jì)電路,其特征是它由N2個(gè)塊匹配單元(PE1-PFN2)、總線(xiàn)(Y1)、總線(xiàn)(Y2)、總線(xiàn)(C1)、總線(xiàn)(C2)、N個(gè)多路選擇器(M1-MN)、二個(gè)先入先出模塊(FIFO1、FIFO2)、N-2個(gè)多路選擇器(ME2-MEN-1)、N-1個(gè)延遲寄存器(Delay2-DelayN)、N-1個(gè)延遲寄存器組(Delay-1-Delay-N-1)、N-1個(gè)加法器(a2-aN)和運(yùn)動(dòng)向量生成單元(MV)組成,塊匹配單元(PE1-PEN2)排布成N行N列的陣列結(jié)構(gòu),總線(xiàn)(Y1)分別連接多路選擇器(M1-MN)的一個(gè)輸入端,多路選擇器(M1-MN)的另一個(gè)輸入端都連接在總線(xiàn)(Y2)上,多路選擇器(M1)的輸出端分別連接塊匹配單元(PE1)的腳Y_in1和先入先出模塊(FIFO1)的輸入端,先入先出模塊(FIFO1)的輸出端連接總線(xiàn)(C1),多路選擇器(M2)-多路選擇器(MN-1)的輸出端分別連接在塊匹配單元(PE2)-塊匹配單元(PEN-1)的腳Y_in1上,多路選擇器(MN)的輸出端分別連接塊匹配單元(PEN)的腳Y_in1和先入先出模塊(FIFO2)的輸入端,先入先出模塊(FIFO2)的輸出端連接總線(xiàn)(C2),總線(xiàn)(C2)還分別連接多路選擇器(ME2)-多路選擇器(MEN-1)的一個(gè)輸入端和塊匹配單元(PEN)的腳Y_in2,總線(xiàn)(C1)還連接塊匹配單元(PE1)的腳Y_in2、多路選擇器(ME2)-多路選擇器(MEN-1)的另一個(gè)輸入端,多路選擇器(ME2)-多路選擇器(MEN-1)的輸出端分別連接塊匹配單元(PE2)-塊匹配單元(PEN-1)的腳Y_in2,每一列塊匹配單元中,位于上方的塊匹配單元的腳MAD_out、腳set_out、腳X_out、腳Sellt分別連接位于下方的塊匹配單元的腳MAD_in、腳Sel_in、腳X_in和腳Selln,每一行塊匹配單元中位于左方的塊匹配單元的腳Y_out1和腳Y_out2分別連接位于右方的塊匹配單元的腳Y_in1和腳Y_in2,塊匹配單元(PEN)的腳MAD_out連接延遲寄存器組(Delay-1)的輸入端,塊匹配單元(PEN)的腳Sel_out連延遲寄存器(Delay2)的輸入端,延遲寄存器(Delay2)的輸出端連接塊匹配單元(PEN+1)的腳Sel_in,塊匹配單元(PEN)的腳X_out連接塊匹配單元(PEN+1)的腳X_in,塊匹配單元(PE2N)的腳MAD_out連加法器(a2)的一個(gè)輸入端,加法器(a2)的另一個(gè)輸入端連延遲寄存器組(Delay-1)的輸出端,加法器(a2)的輸出端連延遲寄存器組(Delay-2)的輸入端,塊匹配單元(PE2N)的腳X_out連塊匹配單元(PEKN+1)的腳X-in,塊匹配單元(PE2N)的腳Sel_out連延遲寄存器(Delay3)的輸入端,延遲寄存器(Delay3)的輸出端連塊匹配單元(PEKN+1)的腳Sel_in,塊匹配單元(PE(k+1)N)的腳MAD_out連加法器(aN-1)的一個(gè)輸入端,加法器(aN-1)的輸出端連延遲寄存器組(Delay-N-1)的輸入端,塊匹配單元(PE(K+1)N)的腳Sel_out連延遲寄存器(DelayN)的輸入端,延遲寄存器DelayN)的輸出端連塊匹配單元(PEN(N-1)+1)的腳Sel_in,塊匹配單元(PE(K+1)N)的腳X-out連接塊匹配單元(PEN(N-1)+1)的腳X-in,塊匹配單元(PEN2)的腳MAD_out連加法器(aN)的一個(gè)輸入端,加法器(aN)的輸出端連運(yùn)動(dòng)向量生成單元(MV)的輸入端。
3.根據(jù)權(quán)利要求2所述的一種應(yīng)用運(yùn)動(dòng)估計(jì)方法的運(yùn)動(dòng)估計(jì)電路,其特征是每個(gè)塊匹配單元(PE)都由四個(gè)寄存器(Rge1-Reg4)、三個(gè)多路選擇器(Mx1-Mx3)、觸發(fā)器(DEF)、二個(gè)寄存器(RA1、RA2)、兩個(gè)多路選擇器(M、MUX)、加法絕對(duì)值單元|X-Y|和加法器(MAD)組成,塊匹配單元的腳Selln連接腳Sellt、多路選擇器(Mx1)的控制端、多路選擇器(Mx2)的控制端和多路選擇器(MUX)的控制端,塊匹配單元(PE)的腳X_in分別連多路選擇器(Mx1)和多路選擇器(Mx2)的一個(gè)輸入端,多路選擇器(Mx1)的另一個(gè)輸入端連寄存器(RA1)的輸出端、多路選擇器(Mx3)的一個(gè)輸入端和多路選擇器(MUX)的一個(gè)輸入端,多路選擇器(Mx1)的輸出端連寄存器(RA1)的輸入端,多路選擇器(Mx2)的另一個(gè)輸入端連寄存器(RA2)的輸出端、多路選擇器(Mx3)的另一個(gè)輸入端和多路選擇器(MUX)的另一個(gè)輸入端,多路選擇器(MUX)的輸出端連塊匹配單元(PE)的腳X_out,塊匹配單元(PE)的腳Sel_in連D觸發(fā)器(DEF)的腳clk、多路選擇器(Mx3)的控制端和寄存器(Reg3)的輸入端,寄存器(Reg3)的輸出端連塊匹配單元的腳Sel_out,塊匹配單元的腳Y_in1連寄存器(Reg1)的輸入端和多路選擇器(M)的一個(gè)輸入端,塊匹配單元的腳Y_in2連寄存器(Reg2)的輸入端和多路選擇器(M)的另一個(gè)輸入端,寄存器(Reg1)和寄存器(Reg2)的輸出端分別連塊匹配單元的腳Y_out1和腳Y_out2,多路選擇器的控制端連D觸發(fā)器(DEF)的輸出端腳Q,多路選擇器(M)的輸出端連加法絕對(duì)值單元|X-Y|的一個(gè)輸入端,加法絕對(duì)值單元|X-Y|的另一個(gè)輸入端連多路選擇器(Mx3)的輸出端,加法絕對(duì)值單元|X-Y|的輸出端連加法器(MAD)的一個(gè)輸入端,加法器(MAD)的另一個(gè)輸入端連塊匹配單元的腳MAD_in,加法器(MAD)的輸出端連寄存器(Reg4)的輸入端,寄存器(Reg4)的輸出端連塊匹配單元的腳MAD_out。
全文摘要
本發(fā)明公開(kāi)一種基于FSBM算法的運(yùn)動(dòng)估計(jì)方法及運(yùn)動(dòng)估計(jì)電路——一種運(yùn)動(dòng)估計(jì)方法和應(yīng)用該方法的運(yùn)動(dòng)估計(jì)電路。步驟(1)初始化階段(101)。進(jìn)行像素?cái)?shù)據(jù)的輸入。(2)中間數(shù)據(jù)組織階段(102)。(3)運(yùn)動(dòng)向量計(jì)算階段(103)。(4)運(yùn)動(dòng)向量值輸出階段(104)。利用該算法描述的輸入數(shù)據(jù)流進(jìn)行MAD計(jì)算,非常有利于電路比較、判別、找到和輸出運(yùn)動(dòng)向量,有利于降低電路的復(fù)雜性。電路將上述的二維算法映射為脈動(dòng)陣列結(jié)構(gòu),將l映射成(PE)陣列,先前幀數(shù)據(jù)有兩套輸入總線(xiàn),(Y1)和(Y2)。它們通過(guò)多路選擇器單元將數(shù)據(jù)送到(PE)單元。當(dāng)前幀中的當(dāng)前參考?jí)K數(shù)據(jù)要被預(yù)裝到(PE)中的(RA)寄存器組中。本發(fā)明克服了已有技術(shù)的運(yùn)動(dòng)估計(jì)電路硬件利用率低、電路規(guī)模大的缺陷。
文檔編號(hào)H04N7/32GK1599461SQ20041004387
公開(kāi)日2005年3月23日 申請(qǐng)日期2004年9月15日 優(yōu)先權(quán)日2004年9月15日
發(fā)明者何衛(wèi)鋒, 毛志剛 申請(qǐng)人:哈爾濱工業(yè)大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1