專利名稱:一種視頻編碼與解碼過程中的數(shù)據(jù)傳輸方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻壓縮技術(shù),尤其涉及一種視頻壓縮過程中數(shù)據(jù)傳輸?shù)姆椒把b置。
背景技術(shù):
在視頻壓縮標(biāo)準(zhǔn)中,涉及到幀內(nèi)編碼及幀間編碼,而幀間編碼主要是通過運(yùn)動(dòng)估計(jì)模塊來計(jì)算運(yùn)動(dòng)向量,并根據(jù)該運(yùn)動(dòng)向量對(duì)參考幀進(jìn)行預(yù)測(cè)。在具體實(shí)現(xiàn)方案中,運(yùn)動(dòng)估計(jì)模塊因其計(jì)算復(fù)雜度比較高,多數(shù)情況下通過硬件專用電路來實(shí)現(xiàn),以加速計(jì)算過程。
在運(yùn)動(dòng)估計(jì)模塊中,包括一些內(nèi)部存儲(chǔ)單元,用來保存參考幀中的搜索窗、當(dāng)前幀中的待處理宏塊、中間計(jì)算結(jié)果及最終計(jì)算結(jié)果。DMA控制器負(fù)責(zé)將搜索窗的數(shù)據(jù)及待處理宏塊數(shù)據(jù)從主存儲(chǔ)器中通過數(shù)據(jù)總線傳輸?shù)絻?nèi)部存儲(chǔ)單元中。
在現(xiàn)有的方法中,一幀圖象是逐行連續(xù)存在主存儲(chǔ)區(qū)中的。這樣的存儲(chǔ)方式導(dǎo)致每個(gè)宏塊(16×16)實(shí)際上是分成16個(gè)不連續(xù)的小區(qū)間,每個(gè)小區(qū)間是宏塊中的一行,在小區(qū)間里地址是連續(xù)的。同理可知,搜索窗也是一些不連續(xù)的小區(qū)間,在各個(gè)小區(qū)間里地址是連續(xù)的。而通過DMA控制器每次只能傳輸?shù)刂房臻g連續(xù)的數(shù)據(jù),這樣為了傳輸16×16的宏塊,或一個(gè)搜索窗,就需要啟動(dòng)16次DMA控制器,極大地增加了配置DMA控制器、啟動(dòng)DMA控制器、DMA中斷處理服務(wù)執(zhí)行時(shí)間等額外開銷,降低了數(shù)據(jù)傳輸?shù)男省?br>
發(fā)明內(nèi)容
本發(fā)明的目的是提高視頻編碼或解碼過程中數(shù)據(jù)傳輸效率。
為了實(shí)現(xiàn)本發(fā)明的目的,一方面,本發(fā)明提供一種視頻編碼過程中的數(shù)據(jù)傳輸方法。該方法包括將圖像的當(dāng)前幀的每個(gè)宏塊、及參考幀的每個(gè)宏塊中的各行在主存儲(chǔ)器中地址連續(xù)地存儲(chǔ);選定當(dāng)前幀中的欲傳送宏塊,以及相應(yīng)的參考幀中的搜索窗;將存儲(chǔ)于主存儲(chǔ)器中的欲傳送宏塊、以及搜索窗中的各宏塊分別由DMA控制器一次傳輸?shù)竭\(yùn)動(dòng)估計(jì)模塊的第一存儲(chǔ)單元A中;將傳輸?shù)降谝淮鎯?chǔ)單元A中的搜索窗的宏塊分別轉(zhuǎn)移到第二存儲(chǔ)單元B中,并使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元B中以地址連續(xù)的方式存儲(chǔ)。
根據(jù)本發(fā)明的上述視頻編碼過程中的數(shù)據(jù)傳輸方法,使得所述第一存儲(chǔ)單元A的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)。
根據(jù)本發(fā)明的上述視頻編碼過程中的數(shù)據(jù)傳輸方法,在所述第一存儲(chǔ)單元A中設(shè)置雙緩沖區(qū),使得其中一個(gè)緩沖區(qū)用于接收由DMA控制器傳輸來的宏塊的數(shù)據(jù),另一個(gè)緩沖區(qū)用于將已接收到的宏塊的數(shù)據(jù)轉(zhuǎn)移至第二存儲(chǔ)單元B中,當(dāng)兩個(gè)緩沖區(qū)中宏塊都傳輸完畢后,同時(shí)對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換,并繼續(xù)宏塊數(shù)據(jù)傳輸和轉(zhuǎn)移,直至將搜索窗的宏塊全部轉(zhuǎn)移至第二存儲(chǔ)單元B中;將當(dāng)前幀的宏塊傳輸至第一存儲(chǔ)單元A中。
根據(jù)本發(fā)明的上述視頻編碼過程中的數(shù)據(jù)傳輸方法,可以在所述運(yùn)動(dòng)估計(jì)模塊內(nèi)設(shè)置第三存儲(chǔ)單元,專門用于存儲(chǔ)由DMA控制器從主存儲(chǔ)器中傳輸來的當(dāng)前幀的宏塊。
根據(jù)本發(fā)明的上述視頻編碼過程中的數(shù)據(jù)傳輸方法,其中每個(gè)緩沖區(qū)的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)量。
另一方面,本發(fā)明提供一種視頻編碼過程中的數(shù)據(jù)傳輸裝置,其包括主存儲(chǔ)器、DMA控制器、運(yùn)動(dòng)估計(jì)模塊,所述主存儲(chǔ)器存儲(chǔ)圖像的當(dāng)前幀及參考幀,所述運(yùn)動(dòng)估計(jì)模塊包括第一存儲(chǔ)單元A、第二存儲(chǔ)單元B,所述DMA控制器將所述主存儲(chǔ)器中的數(shù)據(jù)傳輸?shù)竭\(yùn)動(dòng)估計(jì)模塊的第一存儲(chǔ)單元A中,其特征在于,所述運(yùn)動(dòng)估計(jì)模塊還包括數(shù)據(jù)轉(zhuǎn)移單元,在所述主存儲(chǔ)器中,當(dāng)前幀中各宏塊內(nèi)的行及參考幀中搜索窗的各宏塊內(nèi)的行以地址連續(xù)的方式存儲(chǔ),使得DMA控制器能分別將各宏塊一次傳送到運(yùn)動(dòng)估計(jì)模塊的第一存儲(chǔ)單元A中;所述數(shù)據(jù)轉(zhuǎn)移單元用于將傳送到第一存儲(chǔ)單元A中的搜索窗中的宏塊轉(zhuǎn)移到第二存儲(chǔ)單元B中,并使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元B中以地址連續(xù)的方式存儲(chǔ);所述第一存儲(chǔ)單元A用于在一搜索窗中的各宏塊全部轉(zhuǎn)移至第二存儲(chǔ)單元B中之后,存儲(chǔ)與該搜索窗對(duì)應(yīng)的當(dāng)前幀的宏塊。
根據(jù)本發(fā)明的上述視頻編碼過程中的數(shù)據(jù)傳輸裝置,所述運(yùn)動(dòng)估計(jì)模塊還可以包括第三存儲(chǔ)單元,其專門用于存儲(chǔ)從主存儲(chǔ)器傳送來的當(dāng)前幀的宏塊。
根據(jù)本發(fā)明的上述視頻編碼過程中的數(shù)據(jù)傳輸裝置,所述運(yùn)動(dòng)估計(jì)模塊還包括切換單元,所述第一存儲(chǔ)單元A是雙緩沖區(qū),其交替用作存儲(chǔ)從DMA控制器傳輸來的宏塊、轉(zhuǎn)移到第二存儲(chǔ)單元B中的宏塊;所述切換單元用于在DMA控制器及數(shù)據(jù)轉(zhuǎn)移單元分別與相應(yīng)的緩沖區(qū)數(shù)據(jù)傳輸完畢后,對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換。所述切換單元也可以設(shè)置于數(shù)據(jù)轉(zhuǎn)移單元中。
根據(jù)本發(fā)明的上述視頻編碼過程中的數(shù)據(jù)傳輸裝置,可用于視頻編碼器中。
還一方面,本發(fā)明提供一種視頻解碼過程中的數(shù)據(jù)傳輸方法,其包括將圖像的參考幀的每個(gè)宏塊中各行在主存儲(chǔ)器中地址連續(xù)地存儲(chǔ);在參考幀中找出對(duì)應(yīng)于當(dāng)前待解碼宏塊的搜索窗;將搜索窗中的每個(gè)宏塊由DMA控制器分別一次傳輸?shù)竭\(yùn)動(dòng)補(bǔ)償模塊的第四存儲(chǔ)單元A′中,然后轉(zhuǎn)移到第五存儲(chǔ)單元B′中,并使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ),直至將搜索窗中的宏塊全部轉(zhuǎn)移至第五存儲(chǔ)單元B′中;將當(dāng)前待解碼宏塊對(duì)應(yīng)的運(yùn)動(dòng)矢量傳輸至第四存儲(chǔ)單元A′中;由所述運(yùn)動(dòng)補(bǔ)償模塊得到解碼宏塊;將該解碼宏塊從第四存儲(chǔ)單元A′由DMA控制器一次傳輸至主存儲(chǔ)器中。
根據(jù)本發(fā)明的上述視頻解碼過程中的數(shù)據(jù)傳輸方法,使得所述第四存儲(chǔ)單元A′的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)。
根據(jù)本發(fā)明的上述視頻解碼過程中的數(shù)據(jù)傳輸方法,在所述第四存儲(chǔ)單元A′中設(shè)置雙緩沖區(qū),使得其中一個(gè)緩沖區(qū)用于接收由DMA控制器傳輸來的宏塊的數(shù)據(jù),另一個(gè)緩沖區(qū)用于將已接收到的宏塊的數(shù)據(jù)轉(zhuǎn)移至第五存儲(chǔ)單元B′中,當(dāng)兩個(gè)緩沖區(qū)中宏塊都傳輸完畢后,同時(shí)對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換,并繼續(xù)宏塊數(shù)據(jù)傳輸和轉(zhuǎn)移,直至將搜索窗的宏塊全部轉(zhuǎn)移至第五存儲(chǔ)單元B′中;將當(dāng)前待解碼宏塊對(duì)應(yīng)的運(yùn)動(dòng)矢量傳輸至所述第四存儲(chǔ)單元A′中。
根據(jù)本發(fā)明的上述視頻解碼過程中的數(shù)據(jù)傳輸方法,還可以在運(yùn)動(dòng)補(bǔ)償模塊中設(shè)置第六存儲(chǔ)單元,用于存儲(chǔ)當(dāng)前待解碼宏塊對(duì)應(yīng)的運(yùn)動(dòng)矢量。
根據(jù)本發(fā)明的上述視頻解碼過程中的數(shù)據(jù)傳輸方法,使得每個(gè)緩沖區(qū)的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)量。
又一方面,本發(fā)明提供一種視頻解碼過程中的數(shù)據(jù)傳輸裝置,其包括主存儲(chǔ)器、DMA控制器、運(yùn)動(dòng)補(bǔ)償模塊、用于存儲(chǔ)運(yùn)動(dòng)矢量的第七存儲(chǔ)單元D;所述主存儲(chǔ)器存儲(chǔ)圖像的參考幀;所述運(yùn)動(dòng)補(bǔ)償模塊包括第四存儲(chǔ)單元A′、第五存儲(chǔ)單元B′;所述DMA控制器用于在所述主存儲(chǔ)器與運(yùn)動(dòng)補(bǔ)償模塊之間傳輸數(shù)據(jù),其特征在于,還包括數(shù)據(jù)轉(zhuǎn)移單元,在所述主存儲(chǔ)器中,參考幀中搜索窗的各宏塊內(nèi)的行以地址連續(xù)的方式存儲(chǔ),使得DMA控制器能將各宏塊分別一次傳送到運(yùn)動(dòng)補(bǔ)償模塊的第四存儲(chǔ)單元A′中;所述數(shù)據(jù)轉(zhuǎn)移單元用于將傳送到第四存儲(chǔ)單元A′中的搜索窗中的宏塊轉(zhuǎn)移到第五存儲(chǔ)單元B′中,并使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ);所述運(yùn)動(dòng)補(bǔ)償模塊由存儲(chǔ)于第五存儲(chǔ)單元B′中的搜索窗及由第四存儲(chǔ)單元D傳輸?shù)降谒拇鎯?chǔ)單元A′中的運(yùn)動(dòng)矢量得到解碼宏塊,并存儲(chǔ)于第四存儲(chǔ)單元A′中,然后由DMA控制器傳輸?shù)街鞔鎯?chǔ)器中。
在根據(jù)本發(fā)明的上述視頻解碼過程中的數(shù)據(jù)傳輸裝置中,在運(yùn)動(dòng)補(bǔ)償模塊中還可以設(shè)置第六存儲(chǔ)單元,用于存儲(chǔ)從第七存儲(chǔ)單元D傳送來的運(yùn)動(dòng)矢量。
在根據(jù)本發(fā)明的上述視頻解碼過程中的數(shù)據(jù)傳輸裝置中,所述運(yùn)動(dòng)補(bǔ)償模塊還包括切換單元,所述第四存儲(chǔ)單元A′是雙緩沖區(qū),其交替用作存儲(chǔ)從DMA控制器傳輸來的宏塊、轉(zhuǎn)移到第五存儲(chǔ)單元B′中的宏塊;所述切換單元用于在DMA控制器及數(shù)據(jù)轉(zhuǎn)移單元分別與相應(yīng)的緩沖區(qū)數(shù)據(jù)傳輸完畢后,對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換。其中,所述切換單元還可以設(shè)置于數(shù)據(jù)轉(zhuǎn)移單元中。
根據(jù)本發(fā)明的上述視頻解碼過程中的數(shù)據(jù)傳輸裝置,可以用于視頻解碼器。
利用本發(fā)明,通過將每個(gè)宏塊中的各行在主存儲(chǔ)器中地址連續(xù)地存儲(chǔ),使得每個(gè)宏塊能夠由DMA控制器一次傳輸?shù)竭\(yùn)動(dòng)估計(jì)模塊中,從而克服了現(xiàn)有技術(shù)中因每個(gè)宏塊中各行地址不連續(xù)而引起的多次啟動(dòng)DMA控制器、中斷DMA控制器的問題,提高了數(shù)據(jù)傳輸效率,并且能夠減少能耗。
本發(fā)明主要用于視頻壓縮芯片,如MPEG4、H.264等。
圖1示出了根據(jù)本發(fā)明的視頻編碼過程中的數(shù)據(jù)傳輸方法的一個(gè)實(shí)施例的流程圖;圖2示出了根據(jù)本發(fā)明的視頻編碼過程中的數(shù)據(jù)傳輸裝置的一個(gè)實(shí)施例的示意圖;圖3示出了根據(jù)本發(fā)明的視頻解碼過程中的數(shù)據(jù)傳輸方法的流程圖;圖4示出了根據(jù)本發(fā)明的視頻解碼過程中的數(shù)據(jù)傳輸裝置的一個(gè)實(shí)施例的示意圖。
具體實(shí)施例方式
下面參照附圖詳細(xì)說明本發(fā)明。所給出的附圖僅用于說明,并不限制本發(fā)明。
圖1示出了根據(jù)本發(fā)明的視頻編碼過程中的數(shù)據(jù)傳輸方法的一個(gè)實(shí)施例的流程圖。
如圖1所示,將圖像當(dāng)前幀存儲(chǔ)于主存儲(chǔ)器中,并使其中每個(gè)16×16宏塊的16行在主存儲(chǔ)器中以地址連續(xù)的方式存儲(chǔ),但各宏塊之間地址可以不連續(xù);選定當(dāng)前幀的一個(gè)宏塊Ei,并在主存儲(chǔ)器中找出參考幀中相應(yīng)該宏塊Ei的搜索窗S所對(duì)應(yīng)的各個(gè)宏塊Si的起始地址;其中參考幀中每個(gè)16×16宏塊Si的16行在主存儲(chǔ)器中也是按地址連續(xù)的方式存儲(chǔ)的;將參考幀的搜索窗中的16×16宏塊Si分別由DMA控制器經(jīng)數(shù)據(jù)總線依次傳輸?shù)竭\(yùn)動(dòng)估計(jì)模塊的256字節(jié)的第一存儲(chǔ)單元A中,然后將宏塊Si轉(zhuǎn)移到的第二存儲(chǔ)單元B的Bi處,其中i=1,……9,直到將參考幀的搜索窗中的所有宏塊Si全部轉(zhuǎn)移到第二存儲(chǔ)單元B(48×48=2304字節(jié))中,并使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元B中以地址連續(xù)的方式存儲(chǔ),例如,B1的第1行與B2的第1行在地址上是連續(xù)的,但B1的第1行與B1的第2行在地址上是不連續(xù)的。這與在主存儲(chǔ)區(qū)域中不同,S1的第1行與S2的第1行在地址上是不連續(xù)的,但S1的第1行與S1的第2行在地址上是連續(xù)的。然后,將當(dāng)前幀的宏塊Ei由DMA控制器經(jīng)數(shù)據(jù)總線傳輸至第一存儲(chǔ)單元A中;至此,完成進(jìn)行一次運(yùn)動(dòng)估計(jì)運(yùn)算所需數(shù)據(jù)的傳輸。以此方式,傳輸主存儲(chǔ)器中當(dāng)前幀及參考幀的搜索窗中的各宏塊。在后續(xù)的傳輸中,如果所選定的搜索窗與前一個(gè)搜索窗部分重合時(shí),則只將未重合部分的宏塊分別傳送到第一存儲(chǔ)單元A中,然后轉(zhuǎn)移至第二存儲(chǔ)單元B中并將未重合部分相應(yīng)宏塊覆蓋。
在上述方法中,所述第一存儲(chǔ)單元A的存儲(chǔ)容量并不限于256字節(jié),可以大于等于256字節(jié)。
在上述方法中,為了進(jìn)一步提高數(shù)據(jù)傳輸效率,設(shè)置第一存儲(chǔ)單元A包含2個(gè)256字節(jié)的緩沖區(qū)A1和A2。DMA控制器首先通過數(shù)據(jù)總線傳送參考幀內(nèi)搜索窗的一個(gè)宏塊Si到A1中;待宏塊Si全部傳至A1中之后,將A1中的數(shù)據(jù)搬運(yùn)到第二存儲(chǔ)單元B中對(duì)應(yīng)的宏塊位置Bi上,與此同時(shí),DMA控制器將參考幀內(nèi)搜索窗的下一宏塊Si+1傳送至A2中;當(dāng)兩者均完成后,A1和A2同時(shí)以乒乓方式進(jìn)行切換。如此繼續(xù),直到搜索窗內(nèi)待傳的宏塊全部傳送完畢。
在上述方法中,所述緩沖區(qū)A1和A2的存儲(chǔ)容量并不限于256字節(jié),可以分別大于等于256字節(jié)。
當(dāng)然,可以將圖1所示的例子稍作修改,在運(yùn)動(dòng)估計(jì)模塊中設(shè)置第三存儲(chǔ)單元,用于存儲(chǔ)當(dāng)前幀的宏塊Ei。
圖2示出了根據(jù)本發(fā)明的視頻編碼過程中的數(shù)據(jù)傳輸裝置的一個(gè)實(shí)施例的示意圖。如圖2所示,視頻編碼過程中的數(shù)據(jù)傳輸裝置包括主存儲(chǔ)器1、DMA控制器2、運(yùn)動(dòng)估計(jì)模塊3,主存儲(chǔ)器1中存儲(chǔ)有圖像的當(dāng)前幀E及參考幀R,運(yùn)動(dòng)估計(jì)模塊3包括第一存儲(chǔ)單元A、第二存儲(chǔ)單元B、數(shù)據(jù)轉(zhuǎn)移單元5,其中,當(dāng)前幀E的每個(gè)16×16宏塊Ei中的16行地址連續(xù),在參考幀R中選定一個(gè)48×48搜索窗S,其中每個(gè)16×16宏塊Si(其中i=1,……9)中的行地址連續(xù),從而DMA控制器能將每個(gè)宏塊經(jīng)數(shù)據(jù)總線一次傳送到運(yùn)動(dòng)估計(jì)模塊的256字節(jié)的第一存儲(chǔ)單元A中。對(duì)于傳輸?shù)降谝淮鎯?chǔ)單元A中的搜索窗S的宏塊Si,數(shù)據(jù)轉(zhuǎn)移單元5將其相應(yīng)地轉(zhuǎn)移到第二存儲(chǔ)單元B的Bi(其中i=1,……9)處。
在圖2中,為了進(jìn)一步提高數(shù)據(jù)傳輸效率,在第一存儲(chǔ)單元A中設(shè)置了兩個(gè)256字節(jié)的緩沖區(qū)A1和A2,在運(yùn)動(dòng)估計(jì)模塊3中設(shè)置切換單元7。DMA控制器2首先通過數(shù)據(jù)總線4傳送參考幀R內(nèi)搜索窗S的一個(gè)宏塊Si到A1中;待宏塊Si全部傳至A1中之后,數(shù)據(jù)轉(zhuǎn)移單元5開始將A1中的數(shù)據(jù)搬運(yùn)到第二存儲(chǔ)單元B中對(duì)應(yīng)的宏塊位置Bi上,與此同時(shí),DMA控制器2將參考幀內(nèi)搜索窗S的下一宏塊Si+1傳送至A2中;當(dāng)兩者均完成后,切換單元7以乒乓方式同時(shí)切換A1和A2。如此繼續(xù),直到搜索窗S內(nèi)的9個(gè)宏塊全部轉(zhuǎn)移至第二存儲(chǔ)單元B中。
當(dāng)為當(dāng)前幀下一待傳宏塊Ei+1所選定的搜索窗Si+1與前一搜索窗Si有部分相同是,則相同部分不用再重新傳送,而只傳送不相同的部分,并替代第二存儲(chǔ)單元B中相應(yīng)的部分。
在上述的視頻編碼過程中的數(shù)據(jù)傳輸裝置中,可以在運(yùn)動(dòng)估計(jì)模塊3中設(shè)置256字節(jié)的第三存儲(chǔ)單元,當(dāng)首先傳輸當(dāng)前幀的宏塊Ei時(shí),用于存儲(chǔ)從DMA控制器傳送到運(yùn)動(dòng)估計(jì)模塊3中的當(dāng)前幀宏塊Ei。
在上述實(shí)施例中,所述的第一、第二、第三存儲(chǔ)單元可以為一般的存儲(chǔ)單元,如SRAM,SDRAM。所述的數(shù)據(jù)轉(zhuǎn)移單元可以由地址發(fā)生器與寄存器構(gòu)成,然后通過地址映射將第一存儲(chǔ)單元A中的搜索窗的宏塊數(shù)據(jù)轉(zhuǎn)移到第二存儲(chǔ)單元B中。所述的切換單元可以是轉(zhuǎn)換開關(guān)。
在上述實(shí)施例中,在視頻編碼過程中由運(yùn)動(dòng)估計(jì)模塊所生成的各宏塊的運(yùn)動(dòng)矢量,由于數(shù)據(jù)量很少,可以直接用CPU傳送,而不必利用DMA控制器進(jìn)行傳送。
上述的視頻編碼過程中的數(shù)據(jù)傳輸裝置可以用于視頻編碼器中。
圖3示出了本發(fā)明的解碼過程中數(shù)據(jù)傳輸方法的一個(gè)實(shí)施例的流程圖。
將圖像參考幀R存儲(chǔ)于主存儲(chǔ)器1中,并使其中每個(gè)16×16宏塊的256個(gè)數(shù)據(jù)在主存儲(chǔ)器中地址連續(xù);選定參考幀R中對(duì)應(yīng)于當(dāng)前待解碼宏塊Ei′的48×48的搜索窗S;將參考幀R的搜索窗S中的16×16宏塊Si分別由DMA控制器2經(jīng)數(shù)據(jù)總線4依次傳輸?shù)竭\(yùn)動(dòng)補(bǔ)償模塊3′的256字節(jié)的第四存儲(chǔ)單元A′中,然后將宏塊Si分別轉(zhuǎn)移到的第五存儲(chǔ)單元B′的Bi′處,其中i=1,……9,直到將搜索窗S中的所有宏塊Si全部轉(zhuǎn)移到第五存儲(chǔ)單元B′(48×48=2304字節(jié))中,并使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ),例如,B1′的第1行與B2′的第1行在地址上是連續(xù)的,但B1′的第1行與B1′的第2行在地址上是不連續(xù)的。這與在主存儲(chǔ)區(qū)域中不同,S1′的第1行與S2′的第1行在地址上是不連續(xù)的,但S1′的第1行與S1′的第2行在地址上是連續(xù)的;然后,將當(dāng)前待解碼宏塊Ei′對(duì)應(yīng)的運(yùn)動(dòng)矢量傳輸至第四存儲(chǔ)單元A′中;至此,一次運(yùn)動(dòng)補(bǔ)償運(yùn)算所需的數(shù)據(jù)已經(jīng)傳輸完畢。待運(yùn)動(dòng)補(bǔ)償運(yùn)算完成后,插值得到的解碼宏塊Ei′存放在第四存儲(chǔ)單元A′中,然后啟動(dòng)一次DMA將該宏塊傳送到主存儲(chǔ)器中。
在上述解碼過程中的數(shù)據(jù)傳輸方法,所述第四存儲(chǔ)單元A′的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)量。
在上述方法中,為了進(jìn)一步提高數(shù)據(jù)傳輸效率,設(shè)置第四存儲(chǔ)單元A′包含2個(gè)256字節(jié)的緩沖區(qū)A1′和A2′。DMA控制器首先通過數(shù)據(jù)總線傳送參考幀內(nèi)搜索窗的一個(gè)宏塊Si到A1′中;待宏塊Si全部傳至A1′中之后,將A1′中的數(shù)據(jù)搬運(yùn)到第五存儲(chǔ)單元B′中對(duì)應(yīng)的宏塊位置Bi′上,與此同時(shí),DMA控制器將參考幀內(nèi)搜索窗的下一宏塊Si+1傳送至A2′中;當(dāng)兩者均完成后,A1′和A2′同時(shí)以乒乓方式進(jìn)行切換。如此繼續(xù),直到搜索窗內(nèi)待傳的宏塊全部傳送完畢。
在上述解碼過程中的數(shù)據(jù)傳輸方法中,所述每個(gè)緩沖區(qū)A1′和A2′的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)量。
在上述解碼過程中的數(shù)據(jù)傳輸方法,也可以在運(yùn)動(dòng)補(bǔ)償模塊中設(shè)置第六存儲(chǔ)單元,用于存儲(chǔ)當(dāng)前幀的宏塊Ei′。
圖4是視頻解碼過程中的數(shù)據(jù)傳輸裝置的一個(gè)實(shí)施例的示意圖。如圖4所示,視頻解碼過程中的數(shù)據(jù)傳輸裝置包括主存儲(chǔ)器1、DMA控制器2、運(yùn)動(dòng)補(bǔ)償模塊3′、用于存儲(chǔ)運(yùn)動(dòng)矢量的第七存儲(chǔ)單元D、及數(shù)據(jù)總線4;所述主存儲(chǔ)器1存儲(chǔ)圖像的參考幀R;所述運(yùn)動(dòng)補(bǔ)償模塊3′包括第四存儲(chǔ)單元A′、第五存儲(chǔ)單元B′、數(shù)據(jù)轉(zhuǎn)移單元5′;在所述主存儲(chǔ)器1中,參考幀R中搜索窗S的各宏塊內(nèi)的行以地址連續(xù)的方式存儲(chǔ),使得DMA控制器2能分別將各宏塊一次傳送到運(yùn)動(dòng)補(bǔ)償模塊3′的第四存儲(chǔ)單元A′中;所述數(shù)據(jù)轉(zhuǎn)移單元2用于將傳送到第四存儲(chǔ)單元A′中的搜索窗中的宏塊轉(zhuǎn)移到第二存儲(chǔ)單元B′中,并使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ);所述運(yùn)動(dòng)補(bǔ)償模塊3′由存儲(chǔ)于第五存儲(chǔ)單元B′中的搜索窗S及由第七存儲(chǔ)單元D傳輸?shù)降谒拇鎯?chǔ)單元A′中的運(yùn)動(dòng)矢量得到解碼宏塊Ei′,并存儲(chǔ)于第四存儲(chǔ)單元A′中,然后由DMA控制器2經(jīng)數(shù)據(jù)總線4傳輸?shù)街鞔鎯?chǔ)器1中。
在圖4所示的視頻解碼過程中的數(shù)據(jù)傳輸裝置中,在運(yùn)動(dòng)補(bǔ)償模塊3′中還可以設(shè)置第六存儲(chǔ)單元,用于存儲(chǔ)從第七存儲(chǔ)單元D中傳輸來的運(yùn)動(dòng)矢量。
在上述視頻解碼過程中的數(shù)據(jù)傳輸裝置中,所述第四存儲(chǔ)單元A′至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)。
為了進(jìn)一步提高數(shù)據(jù)傳輸效率,在上述視頻解碼過程中的數(shù)據(jù)傳輸裝置中,所述運(yùn)動(dòng)補(bǔ)償模塊3′還可以包括切換單元7′所述第四存儲(chǔ)單元A設(shè)置為雙緩沖區(qū)A1′和A2′,DMA控制器2首先通過數(shù)據(jù)總線4傳送參考幀R內(nèi)搜索窗S的一個(gè)宏塊Si到A1′中;待宏塊Si全部傳至A1′中之后,數(shù)據(jù)轉(zhuǎn)移單元5開始將A1′中的數(shù)據(jù)搬運(yùn)到第五存儲(chǔ)單元B′中對(duì)應(yīng)的宏塊位置Bi′上,與此同時(shí),DMA控制器2將參考幀內(nèi)搜索窗S的下一宏塊Si+1′傳送至A2′中;當(dāng)兩者均完成后,切換單元7以乒乓方式同時(shí)切換A1′和A2′。如此繼續(xù),直到搜索窗S內(nèi)的宏塊全部轉(zhuǎn)移至第五存儲(chǔ)單元B′中。
在上述視頻解碼過程中的數(shù)據(jù)傳輸裝置中,所述切換單元7′也可以設(shè)置于數(shù)據(jù)轉(zhuǎn)移單元5′中。
在上述實(shí)施例中,所述的第四、第五、第六、第七存儲(chǔ)單元可以為一般的存儲(chǔ)單元,如SRAM,SDRAM。所述的數(shù)據(jù)轉(zhuǎn)移單元可以由地址發(fā)生器與寄存器構(gòu)成,然后通過地址映射將第四存儲(chǔ)單元A′中搜索窗的宏塊數(shù)據(jù)轉(zhuǎn)移到第五存儲(chǔ)單元B′中。所述的切換單元可以是轉(zhuǎn)換開關(guān)。
在上述實(shí)施例中,在視頻解碼過程中,由于各待解碼宏塊的運(yùn)動(dòng)矢量的數(shù)據(jù)量很少,可以直接用CPU將其傳送至運(yùn)動(dòng)補(bǔ)償模塊中,而不必利用DMA控制器進(jìn)行傳送。
上述視頻解碼過程中的數(shù)據(jù)傳輸裝置可以用于視頻解碼器。
在上述實(shí)施例中,根據(jù)需要,可以一次傳送兩個(gè)或兩個(gè)以上的宏塊。
運(yùn)動(dòng)補(bǔ)償模塊中根據(jù)需要可以增設(shè)存儲(chǔ)單元,專門用于存儲(chǔ)運(yùn)動(dòng)補(bǔ)償模塊所得到的解碼宏塊。
上述實(shí)施方式只是為了更清楚地說明本發(fā)明,而本發(fā)明并不限于上述實(shí)施方式。可以明白的是,本領(lǐng)域的技術(shù)人員對(duì)本發(fā)明所做的任何顯而易見的修改、變更,在不背離本發(fā)明的精神和本質(zhì)的情況下都將落入本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種視頻編碼過程中的數(shù)據(jù)傳輸方法,其特征在于,將圖像的當(dāng)前幀的每個(gè)宏塊、及參考幀的每個(gè)宏塊中的各行在主存儲(chǔ)器中以地址連續(xù)的方式存儲(chǔ);選定當(dāng)前幀中的欲傳送宏塊,以及相應(yīng)的參考幀中的搜索窗;將存儲(chǔ)于主存儲(chǔ)器中當(dāng)前幀的欲傳送宏塊、以及搜索窗中的各宏塊分別由DMA控制器一次傳輸?shù)竭\(yùn)動(dòng)估計(jì)模塊的第一存儲(chǔ)單元A中;將傳輸?shù)降谝淮鎯?chǔ)單元A中的搜索窗的宏塊分別轉(zhuǎn)移到第二存儲(chǔ)單元B中,并使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元B中以地址連續(xù)的方式存儲(chǔ)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,使得所述第一存儲(chǔ)單元A的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,在所述第一存儲(chǔ)單元A中設(shè)置雙緩沖區(qū),使得其中一個(gè)緩沖區(qū)用于接收由DMA控制器傳輸來的宏塊的數(shù)據(jù),另一個(gè)緩沖區(qū)用于將已接收到的宏塊的數(shù)據(jù)轉(zhuǎn)移至第二存儲(chǔ)單元B中,當(dāng)兩個(gè)緩沖區(qū)中宏塊都傳輸完畢后,同時(shí)對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換,并繼續(xù)宏塊數(shù)據(jù)傳輸和轉(zhuǎn)移,直至將搜索窗的宏塊全部轉(zhuǎn)移至第二存儲(chǔ)單元B中;將當(dāng)前幀的宏塊傳輸至第一存儲(chǔ)單元A中。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,在所述運(yùn)動(dòng)估計(jì)模塊內(nèi)還設(shè)置第三存儲(chǔ)單元;在所述第一存儲(chǔ)單元A中設(shè)置雙緩沖區(qū);將當(dāng)前幀的宏塊傳輸至第三存儲(chǔ)單元中;將參考幀中搜索窗的一宏塊傳輸至第一存儲(chǔ)單元A的一個(gè)緩沖區(qū)中;然后將該緩沖區(qū)中的宏塊數(shù)據(jù)轉(zhuǎn)送至第二存儲(chǔ)單元B中,同時(shí)另一個(gè)緩沖區(qū)用來接收DMA控制器傳輸來的下一宏塊數(shù)據(jù);當(dāng)與兩個(gè)緩沖區(qū)的數(shù)據(jù)傳輸完畢后,同時(shí)對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換,并繼續(xù)數(shù)據(jù)的傳輸和轉(zhuǎn)送,直到搜索窗的宏塊全部轉(zhuǎn)移至第二存儲(chǔ)單元B中,而且使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元B中以地址連續(xù)的方式存儲(chǔ)。
5.根據(jù)權(quán)利要求3或4所述的數(shù)據(jù)傳輸方法,其特征在于,使得每個(gè)緩沖區(qū)的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)量。
6.一種視頻編碼過程中的數(shù)據(jù)傳輸裝置,其包括主存儲(chǔ)器、DMA控制器、運(yùn)動(dòng)估計(jì)模塊,所述主存儲(chǔ)器存儲(chǔ)圖像的當(dāng)前幀及參考幀,所述運(yùn)動(dòng)估計(jì)模塊包括第一存儲(chǔ)單元A、第二存儲(chǔ)單元B,所述DMA控制器將所述主存儲(chǔ)器中的數(shù)據(jù)傳輸?shù)竭\(yùn)動(dòng)估計(jì)模塊的第一存儲(chǔ)單元A中,其特征在于,所述運(yùn)動(dòng)估計(jì)模塊還包括數(shù)據(jù)轉(zhuǎn)移單元,在所述主存儲(chǔ)器中,當(dāng)前幀中各宏塊內(nèi)的行及參考幀中搜索窗的各宏塊內(nèi)的行以地址連續(xù)的方式存儲(chǔ),使得DMA控制器能分別將各宏塊一次傳送到運(yùn)動(dòng)估計(jì)模塊的第一存儲(chǔ)單元A中;所述數(shù)據(jù)轉(zhuǎn)移單元用于將傳送到第一存儲(chǔ)單元A中的搜索窗中的宏塊轉(zhuǎn)移到第二存儲(chǔ)單元B中,并使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元B中以地址連續(xù)的方式存儲(chǔ);所述第一存儲(chǔ)單元A用于在一搜索窗中的各宏塊全部轉(zhuǎn)移至第二存儲(chǔ)單元B中之后,存儲(chǔ)與該搜索窗對(duì)應(yīng)的當(dāng)前幀的宏塊。
7.一種視頻編碼過程中的數(shù)據(jù)傳輸裝置,其包括主存儲(chǔ)器、DMA控制器、運(yùn)動(dòng)估計(jì)模塊,所述主存儲(chǔ)器存儲(chǔ)圖像的當(dāng)前幀及參考幀,所述運(yùn)動(dòng)估計(jì)模塊包括第二存儲(chǔ)單元B、第三存儲(chǔ)單元,所述DMA控制器將所述主存儲(chǔ)器中的宏塊數(shù)據(jù)傳輸?shù)竭\(yùn)動(dòng)估計(jì)模塊中,其特征在于,所述運(yùn)動(dòng)估計(jì)模塊還包括第一存儲(chǔ)單元A、數(shù)據(jù)轉(zhuǎn)移單元,在所述主存儲(chǔ)器中,當(dāng)前幀中各宏塊內(nèi)的行及參考幀中搜索窗的各宏塊內(nèi)的行以地址連續(xù)的方式存儲(chǔ),使得DMA控制器能將當(dāng)前幀的每個(gè)宏塊分別一次傳送到第三存儲(chǔ)單元中、將參考幀中的搜索窗的每個(gè)宏塊分別一次傳送到第一存儲(chǔ)單元A中;所述數(shù)據(jù)轉(zhuǎn)移單元用于將傳送到第一存儲(chǔ)單元A中宏塊轉(zhuǎn)移到第二存儲(chǔ)單元B中,并使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元B中以地址連續(xù)的方式存儲(chǔ)。
8.根據(jù)權(quán)利要求6或7所述的數(shù)據(jù)傳輸裝置,其特征在于,所述運(yùn)動(dòng)估計(jì)模塊還包括切換單元,所述第一存儲(chǔ)單元A是雙緩沖區(qū),其交替用作存儲(chǔ)從DMA控制器傳輸來的宏塊、轉(zhuǎn)移到第二存儲(chǔ)單元B中的宏塊;所述切換單元用于在DMA控制器及數(shù)據(jù)轉(zhuǎn)移單元分別與相應(yīng)的緩沖區(qū)數(shù)據(jù)傳輸完畢后,對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換。
9.根據(jù)權(quán)利要求6或7所述的數(shù)據(jù)傳輸裝置,其特征在于,所述數(shù)據(jù)轉(zhuǎn)移單元還包括切換單元,所述第一存儲(chǔ)單元A是雙緩沖區(qū),該雙緩沖區(qū)交替用作存儲(chǔ)從DMA控制器傳輸來的宏塊、轉(zhuǎn)移到第二存儲(chǔ)單元B中的宏塊;所述切換單元用于在DMA控制器及數(shù)據(jù)轉(zhuǎn)移單元分別與相應(yīng)的緩沖區(qū)數(shù)據(jù)傳輸完畢后,對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換。
10.根據(jù)權(quán)利要求6或7所述的數(shù)據(jù)傳輸裝置,其特征在于,用于視頻編碼器中。
11.一種視頻解碼過程中的數(shù)據(jù)傳輸方法,其包括將圖像的參考幀的每個(gè)宏塊中各行在主存儲(chǔ)器中以地址連續(xù)的方式存儲(chǔ);在參考幀中找出對(duì)應(yīng)于當(dāng)前待解碼宏塊的搜索窗;將搜索窗中的每個(gè)宏塊由DMA控制器分別一次傳輸?shù)竭\(yùn)動(dòng)補(bǔ)償模塊的第四存儲(chǔ)單元A′中,然后轉(zhuǎn)移到第五存儲(chǔ)單元B′中,并使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ),直至將搜索窗中的宏塊全部轉(zhuǎn)移至第五存儲(chǔ)單元B′中;將當(dāng)前待解碼宏塊對(duì)應(yīng)的運(yùn)動(dòng)矢量傳輸至第四存儲(chǔ)單元A′中;由所述運(yùn)動(dòng)補(bǔ)償模塊得到解碼宏塊;將該解碼宏塊從第四存儲(chǔ)單元A′由DMA控制器一次傳輸至主存儲(chǔ)器中。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)傳輸方法,其特征在于,使得所述第四存儲(chǔ)單元A′的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)。
13.根據(jù)權(quán)利要求11所述的數(shù)據(jù)傳輸方法,其特征在于,在所述第四存儲(chǔ)單元A′中設(shè)置雙緩沖區(qū),使得其中一個(gè)緩沖區(qū)用于接收由DMA控制器傳輸來的宏塊的數(shù)據(jù),另一個(gè)緩沖區(qū)用于將已接收到的宏塊的數(shù)據(jù)轉(zhuǎn)移至第五存儲(chǔ)單元B′中,當(dāng)兩個(gè)緩沖區(qū)中宏塊都傳輸完畢后,同時(shí)對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換,并繼續(xù)宏塊數(shù)據(jù)傳輸和轉(zhuǎn)移,直至將搜索窗的宏塊全部轉(zhuǎn)移至第五存儲(chǔ)單元B′中;將當(dāng)前待解碼宏塊對(duì)應(yīng)的運(yùn)動(dòng)矢量傳輸至所述第四存儲(chǔ)單元A′中。
14.根據(jù)權(quán)利要求11所述的數(shù)據(jù)傳輸方法,其特征在于,在所述運(yùn)動(dòng)補(bǔ)償模塊內(nèi)還設(shè)置第六存儲(chǔ)單元;在所述第四存儲(chǔ)單元A′中設(shè)置雙緩沖區(qū);將當(dāng)前待解碼宏塊對(duì)應(yīng)的運(yùn)動(dòng)矢量傳輸至第六存儲(chǔ)單元中;將參考幀中搜索窗的一宏塊傳輸至第四存儲(chǔ)單元A′的一個(gè)緩沖區(qū)中;然后將該緩沖區(qū)中的宏塊數(shù)據(jù)轉(zhuǎn)送至第五存儲(chǔ)單元B′中,同時(shí)另一個(gè)緩沖區(qū)用來接收DMA控制器傳輸來的下一宏塊數(shù)據(jù);當(dāng)與兩個(gè)緩沖區(qū)的數(shù)據(jù)傳輸完畢后,同時(shí)對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換,并繼續(xù)數(shù)據(jù)的傳輸和轉(zhuǎn)移,直到搜索窗的宏塊全部轉(zhuǎn)移至第五存儲(chǔ)單元B′中,而且使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ)。
15.根據(jù)權(quán)利要求13或14所述的數(shù)據(jù)傳輸方法,其特征在于,使得每個(gè)緩沖區(qū)的容量至少能存儲(chǔ)一個(gè)宏塊的數(shù)據(jù)量。
16.一種視頻解碼過程中的數(shù)據(jù)傳輸裝置,其包括主存儲(chǔ)器、DMA控制器、運(yùn)動(dòng)補(bǔ)償模塊、用于存儲(chǔ)運(yùn)動(dòng)矢量的第七存儲(chǔ)單元D;所述主存儲(chǔ)器存儲(chǔ)圖像的參考幀;所述運(yùn)動(dòng)補(bǔ)償模塊包括第四存儲(chǔ)單元A′、第五存儲(chǔ)單元B′;所述DMA控制器用于在所述主存儲(chǔ)器與運(yùn)動(dòng)補(bǔ)償模塊之間傳輸數(shù)據(jù),其特征在于,還包括數(shù)據(jù)轉(zhuǎn)移單元,在所述主存儲(chǔ)器中,參考幀中搜索窗的各宏塊內(nèi)的行以地址連續(xù)的方式存儲(chǔ),使得DMA控制器能將各宏塊分別一次傳送到運(yùn)動(dòng)補(bǔ)償模塊的第四存儲(chǔ)單元A′中;所述數(shù)據(jù)轉(zhuǎn)移單元用于將傳送到第四存儲(chǔ)單元A′中的搜索窗中的宏塊轉(zhuǎn)移到第五存儲(chǔ)單元B′中,并使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ);所述運(yùn)動(dòng)補(bǔ)償模塊由存儲(chǔ)于第五存儲(chǔ)單元B′中的搜索窗及由第四存儲(chǔ)單元D傳輸?shù)降谒拇鎯?chǔ)單元A′中的運(yùn)動(dòng)矢量得到解碼宏塊,并存儲(chǔ)于第四存儲(chǔ)單元A′中,然后由DMA控制器傳輸?shù)街鞔鎯?chǔ)器中。
17.一種視頻編碼過程中的數(shù)據(jù)傳輸裝置,其包括主存儲(chǔ)器、DMA控制器、運(yùn)動(dòng)補(bǔ)償模塊、用于存儲(chǔ)運(yùn)動(dòng)矢量的第七存儲(chǔ)單元D;所述主存儲(chǔ)器存儲(chǔ)圖像的參考幀,所述運(yùn)動(dòng)補(bǔ)償模塊包括第五存儲(chǔ)單元B′、第六存儲(chǔ)單元,所述DMA控制器用于在所述主存儲(chǔ)器與運(yùn)動(dòng)補(bǔ)償模塊之間傳輸數(shù)據(jù),其特征在于,所述運(yùn)動(dòng)補(bǔ)償模塊還包括第四存儲(chǔ)單元A′、數(shù)據(jù)轉(zhuǎn)移單元,所述第六存儲(chǔ)單元用于存儲(chǔ)從第七存儲(chǔ)單元D傳送來的運(yùn)動(dòng)矢量;在所述主存儲(chǔ)器中,參考幀中搜索窗的各宏塊內(nèi)的行以地址連續(xù)的方式存儲(chǔ),使得DMA控制器能將各宏塊分別一次傳送到運(yùn)動(dòng)補(bǔ)償模塊的第四存儲(chǔ)單元A′中;所述數(shù)據(jù)轉(zhuǎn)移單元用于將傳送到第四存儲(chǔ)單元A′中的宏塊轉(zhuǎn)移到第五存儲(chǔ)單元B′中,并使搜索窗每行中所包含的各宏塊的行在第五存儲(chǔ)單元B′中以地址連續(xù)的方式存儲(chǔ);所述運(yùn)動(dòng)補(bǔ)償模塊由存儲(chǔ)于第五存儲(chǔ)單元B′中的搜索窗及所述第六存儲(chǔ)單元中的運(yùn)動(dòng)矢量得到解碼宏塊,并存儲(chǔ)于第四存儲(chǔ)單元A′中,然后由DMA控制器傳輸?shù)街鞔鎯?chǔ)器中。
18.根據(jù)權(quán)利要求16或17的數(shù)據(jù)傳輸裝置,其特征在于,所述運(yùn)動(dòng)補(bǔ)償模塊還包括切換單元,所述第四存儲(chǔ)單元A′是雙緩沖區(qū),其交替用作存儲(chǔ)從DMA控制器傳輸來的宏塊、轉(zhuǎn)移到第五存儲(chǔ)單元B′中的宏塊;所述切換單元用于在DMA控制器及數(shù)據(jù)轉(zhuǎn)移單元分別與相應(yīng)的緩沖區(qū)數(shù)據(jù)傳輸完畢后,對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換。
19.根據(jù)權(quán)利要求16或17所述的數(shù)據(jù)傳輸裝置,其特征在于,所述數(shù)據(jù)轉(zhuǎn)移單元還包括切換單元,所述第四存儲(chǔ)單元A′是雙緩沖區(qū),其交替用作存儲(chǔ)從DMA控制器傳輸來的宏塊、轉(zhuǎn)移到第五存儲(chǔ)單元B′中的宏塊;所述切換單元用于在DMA控制器及數(shù)據(jù)轉(zhuǎn)移單元分別與相應(yīng)的緩沖區(qū)數(shù)據(jù)傳輸完畢后,對(duì)兩個(gè)緩沖區(qū)進(jìn)行切換。
20.根據(jù)權(quán)利要求16或17所述的數(shù)據(jù)傳輸裝置,其特征在于,用于視頻解碼器。
全文摘要
本發(fā)明涉及視頻壓縮過程中的數(shù)據(jù)傳輸方法及裝置,包括用于視頻編碼及解碼過程中的數(shù)據(jù)傳輸方法及裝置。根據(jù)本發(fā)明,通過將欲傳輸?shù)母骱陦K中各行以地址連續(xù)的方式存儲(chǔ),使得各宏塊能夠由DMA控制器在主存儲(chǔ)器與運(yùn)動(dòng)估計(jì)/補(bǔ)償模塊之間一次傳輸完畢。對(duì)于參考幀的搜索窗中的各宏塊,通過在運(yùn)動(dòng)估計(jì)/補(bǔ)償模塊內(nèi)設(shè)置數(shù)據(jù)轉(zhuǎn)移單元,分別將傳輸?shù)竭\(yùn)動(dòng)估計(jì)/補(bǔ)償模塊內(nèi)第一/第四存儲(chǔ)單元的宏塊轉(zhuǎn)移到第二/第五存儲(chǔ)單元中,并使搜索窗每行中所包含的各宏塊的行在第二存儲(chǔ)單元/第五存儲(chǔ)單元中以地址連續(xù)的方式存儲(chǔ)。通過本發(fā)明,可以減少DMA控制器的啟動(dòng)、中斷次數(shù),提高數(shù)據(jù)傳輸效率并減少功耗。
文檔編號(hào)H04N7/26GK1671211SQ200510069088
公開日2005年9月21日 申請(qǐng)日期2005年5月10日 優(yōu)先權(quán)日2005年5月10日
發(fā)明者王浩, 夏煜, 白鋒, 懷千江 申請(qǐng)人:北京中星微電子有限公司