專利名稱:一種基于avs編碼器的搜索窗緩沖裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻編解碼技術(shù)領(lǐng)域,更具體地,涉及一種基于AVS編碼器的搜索窗緩沖裝置。
背景技術(shù):
由于市場(chǎng)的不斷需要,基于不同標(biāo)準(zhǔn)的各類視頻編解碼芯片得到了廣泛使用和飛速發(fā)展。AVS是我國(guó)具備自主知識(shí)產(chǎn)權(quán)的第二代信源編碼標(biāo)準(zhǔn)。顧名思義,“信源”是信息的 “源頭”,信源編碼技術(shù)解決的重點(diǎn)問(wèn)題是數(shù)字音視頻海量數(shù)據(jù)(即初始數(shù)據(jù)、信源)的編碼壓縮問(wèn)題,也稱數(shù)字音視頻編解碼技術(shù),它是其后數(shù)字信息傳輸、存儲(chǔ)、播放等環(huán)節(jié)的前提, 因此是數(shù)字音視頻產(chǎn)業(yè)的共性基礎(chǔ)標(biāo)準(zhǔn)。傳統(tǒng)的基于宏塊的運(yùn)動(dòng)補(bǔ)償技術(shù)可以有效降低時(shí)間冗余,但為了獲取更高的編碼效率,AVS標(biāo)準(zhǔn)進(jìn)行了很多方面的改進(jìn)。其中,AVS標(biāo)準(zhǔn)針對(duì)運(yùn)動(dòng)補(bǔ)償引入的新特性包括 變塊尺寸、運(yùn)動(dòng)矢量預(yù)測(cè)、多參考幀、直接和對(duì)稱預(yù)測(cè)模式、無(wú)限制運(yùn)動(dòng)矢量、1/4像素插值。 這些新特性增加了計(jì)算量和存儲(chǔ)帶寬,從而增加了商用解碼器的成本。對(duì)于運(yùn)動(dòng)補(bǔ)償,其中具體的運(yùn)動(dòng)處理有兩個(gè)過(guò)程,第一個(gè)過(guò)程是對(duì)運(yùn)動(dòng)物體的位移做出估計(jì),即對(duì)運(yùn)動(dòng)物體從上一幀到當(dāng)前幀位移的方向和像素?cái)?shù)進(jìn)行估計(jì),求出運(yùn)動(dòng)矢量,該過(guò)程就叫做運(yùn)動(dòng)估計(jì);第二個(gè)過(guò)程是按照運(yùn)動(dòng)矢量,將上一幀位移,求出對(duì)當(dāng)前幀的估計(jì),該過(guò)程稱為運(yùn)動(dòng)補(bǔ)償。運(yùn)動(dòng)估計(jì)用于在使用幀間編碼方式時(shí)通過(guò)參考圖像產(chǎn)生對(duì)被壓縮圖像的估計(jì)。運(yùn)動(dòng)估計(jì)的準(zhǔn)確程度對(duì)幀間編碼的壓縮效果非常重要,如果估計(jì)做得好,那么被壓縮圖像與估計(jì)圖像相減后只留下很小的值用來(lái)傳輸。運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)用于去掉圖像信號(hào)的時(shí)間冗余信息,圖像信號(hào)結(jié)構(gòu)上的冗余度表現(xiàn)為很強(qiáng)的空間(幀內(nèi)的)和時(shí)間(幀間的)相關(guān)性。統(tǒng)計(jì)測(cè)量證實(shí)了圖像信號(hào)在相鄰像素間、相鄰行間、相鄰幀間存在強(qiáng)的相關(guān)性。一般情況下,圖像中的大部分區(qū)域信號(hào)變化緩慢, 尤其是背景部分幾乎不變,如電影膠帶,連續(xù)幾十張畫(huà)面變化甚小。AVS把圖像序列分成一個(gè)個(gè)的圖像組,每個(gè)圖像組中包括I幀、P幀和B幀3種類型的圖像幀,對(duì)于不同的圖像幀采用不同的編碼方法。在AVS標(biāo)準(zhǔn)中獲得運(yùn)動(dòng)補(bǔ)償?shù)膲K結(jié)構(gòu)大小不再局限于宏塊的基礎(chǔ),可以從宏塊的分塊或子分塊中獲取運(yùn)動(dòng)矢量。每個(gè)宏塊可以分解為1個(gè)16X16塊、2個(gè)8X16 塊、2個(gè)16X8塊或4個(gè)8X8塊,并擁有與塊相對(duì)應(yīng)的運(yùn)動(dòng)矢量。在AVS-P2解碼器中,運(yùn)動(dòng)補(bǔ)償?shù)脑L存量達(dá)到50%,亞像素的處理時(shí)間達(dá)到 25%。運(yùn)動(dòng)補(bǔ)償成為AVS編解碼器中數(shù)據(jù)量最密集的部分,對(duì)于HDTV1080p,圖像大小為 1920X 1080,基于CPU的軟件應(yīng)用程序,無(wú)法達(dá)到高清實(shí)時(shí)解碼的數(shù)據(jù)要求。綜上所述,在AVS高清編碼器中參考像素和當(dāng)前幀像素的數(shù)據(jù)量非常巨大,通常放在外存外部存儲(chǔ)器中存儲(chǔ)。而運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償?shù)脑L存量尤其的驚人,使得整個(gè)編碼器系統(tǒng)存在運(yùn)行的瓶頸制約。因此,如何提高帶寬利用率,降低訪存量成為設(shè)計(jì)編碼器的關(guān)鍵。
發(fā)明內(nèi)容
為克服現(xiàn)有AVS編碼其中訪存量大且使用外置存儲(chǔ)所產(chǎn)生的系統(tǒng)性能受限的缺陷,本發(fā)明提出一種基于AVS編碼器的搜索窗緩沖裝置。根據(jù)本發(fā)明的一個(gè)方面,提供一種基于AVS編碼器的搜索窗緩沖裝置,包括系統(tǒng)控制模塊、搜索窗更新模塊、搜索窗讀取模塊和搜索窗存儲(chǔ)模塊;其中,所述系統(tǒng)控制模塊用于在每一幀的開(kāi)始處更新系統(tǒng)信息并將這些系統(tǒng)信息傳遞給搜索窗更新模塊,向搜索窗更新模塊提供宏塊級(jí)的控制;所述搜索窗更新模塊用于根據(jù)系統(tǒng)控制模塊提供的系統(tǒng)信息向外部存儲(chǔ)器發(fā)送讀取請(qǐng)求,并將外部存儲(chǔ)器返回的數(shù)據(jù)依次存入搜索窗存儲(chǔ)模塊;所述搜索窗存儲(chǔ)模塊用于本地保存讀入的數(shù)據(jù);所述搜索窗讀取模塊用于響應(yīng)客戶端的請(qǐng)求,從搜索窗存儲(chǔ)模塊讀取相應(yīng)的數(shù)據(jù),返回給客戶端。通過(guò)本發(fā)明,可以極大的提高帶寬利用率,降低運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償?shù)脑L存量,提高運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償?shù)脑L存效率和AVS編碼器的整體性能。
圖1是AVS編碼器的搜索窗緩沖裝置的結(jié)構(gòu)框圖;圖2是AVS編碼器的搜索窗緩沖裝置的窗口結(jié)構(gòu)示意圖;圖3是AVS編碼器的搜索窗緩沖裝置的更新?tīng)顟B(tài)示意圖;圖4是搜索窗緩沖裝置的本地存儲(chǔ)空間結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明提供的一種基于AVS編碼器的搜索窗緩沖裝置進(jìn)行詳細(xì)描述。在AVS編碼器中,運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償?shù)恼?qǐng)求數(shù)據(jù)量大且頻繁進(jìn)行,部分參考數(shù)據(jù)會(huì)重復(fù)讀取,嚴(yán)重制約外存訪問(wèn)帶寬利用率的提高,本發(fā)明提供一種緩沖裝置,客戶端只需向緩沖裝置請(qǐng)求相應(yīng)的數(shù)據(jù),緩沖裝置統(tǒng)籌全部的數(shù)據(jù)請(qǐng)求,由緩沖裝置統(tǒng)一訪問(wèn)外存外部存儲(chǔ)器,自動(dòng)完成數(shù)據(jù)更新,將其存儲(chǔ)在本地存儲(chǔ)空間中,整合用于更高效的訪問(wèn)。如圖1所示,本發(fā)明提出了一種基于AVS編碼器的搜索窗緩沖裝置(以下簡(jiǎn)稱搜索窗緩沖裝置),包括系統(tǒng)控制模塊、搜索窗更新模塊、搜索窗讀取模塊和搜索窗存儲(chǔ)模塊。總的來(lái)說(shuō),系統(tǒng)控制模塊用于整個(gè)搜索窗緩沖裝置的控制,包括三部分功能第一,用于為裝置提供幀級(jí)的控制,決定針對(duì)每一幀在何時(shí)開(kāi)始處理以及何時(shí)結(jié)束處理,使得在每一個(gè)不同的幀都能及時(shí)獲得相關(guān)的更新的系統(tǒng)信息,保證從外部存儲(chǔ)器中讀取正確的參考幀數(shù)據(jù);第二,用于提供宏塊級(jí)的控制,在新的宏塊位置上移動(dòng)搜索窗口、記錄當(dāng)前搜索窗口的位置以及更新宏塊的位置信息;第三,用于控制從外部存儲(chǔ)器中讀取參考幀的數(shù)據(jù)來(lái)更新本地存儲(chǔ)空間中的數(shù)據(jù)。搜索窗更新模塊用于在每一幀開(kāi)始時(shí)對(duì)搜索窗緩沖裝置進(jìn)行初始化,并且用于更新當(dāng)前宏塊行參考數(shù)據(jù)和下一宏塊行參考數(shù)據(jù)。在AVS高清編碼器中共有三個(gè)模塊需要搜索窗緩沖裝置,它們分別為IME(整像素運(yùn)動(dòng)估計(jì))緩存器、FME(亞像素運(yùn)動(dòng)估計(jì))緩存器以及MC (運(yùn)動(dòng)補(bǔ)償)緩存器。搜索窗存儲(chǔ)模塊用作搜索窗緩沖裝置的存儲(chǔ)空間,本地保存緩存數(shù)據(jù),每一個(gè)搜索窗緩沖裝置包含4個(gè)存儲(chǔ)部分,前后向各兩個(gè)。搜索窗讀取模塊用于響應(yīng)各個(gè)客戶端發(fā)起的請(qǐng)求,根據(jù)客戶端提供的讀取信息, 產(chǎn)生相應(yīng)的地址,從搜索窗存儲(chǔ)模塊的本地存儲(chǔ)空間讀取相應(yīng)的數(shù)據(jù),返回給客戶端。搜索窗緩沖裝置的請(qǐng)求機(jī)制主要分三步第一,判斷當(dāng)前窗口是否有效,在每個(gè)宏塊周期開(kāi)始的時(shí)候,要先判斷搜索窗口是否可用,如果可用,可以發(fā)起讀請(qǐng)求,否則要等到搜索窗緩沖裝置控制移動(dòng)搜索窗口,使搜索窗有效之后才可以在本宏塊周期之內(nèi)發(fā)起讀請(qǐng)求;第二,發(fā)起當(dāng)前窗口的讀請(qǐng)求,遵循搜索窗緩沖裝置請(qǐng)求時(shí)序;第三,在當(dāng)前窗口請(qǐng)求搜索窗緩沖裝置全部結(jié)束之后,通知搜索窗緩沖裝置已經(jīng)結(jié)束,由此搜索窗緩沖裝置來(lái)移動(dòng)當(dāng)前的窗口到適當(dāng)?shù)奈恢茫怨┫乱粋€(gè)宏塊讀取。更具體地,繼續(xù)參考圖1,系統(tǒng)控制模塊首先為整個(gè)搜索窗緩沖裝置提供幀級(jí)的控制,在每一幀的開(kāi)始處會(huì)更新圖像寬度、圖像高度、圖像類型、圖像結(jié)構(gòu)或者參考幀基地址等系統(tǒng)信息并將這些信息傳遞給搜索窗更新模塊,以保證模塊及時(shí)獲得相關(guān)的更新的系統(tǒng)信息,并從外部存儲(chǔ)器讀取正確的參考幀數(shù)據(jù);其次是向搜索窗更新模塊提供宏塊級(jí)的控制,在新的宏塊位置上記錄其搜索窗口的位置(窗口位置用來(lái)表示)以及更新宏塊的位置信息(宏塊的位置用mb_x*mb_y來(lái)表示);第三,間接通過(guò)搜索窗更新模塊從外部存儲(chǔ)器中讀取參考幀的數(shù)據(jù),實(shí)時(shí)更新本地存儲(chǔ)空間中的數(shù)據(jù)。搜索窗更新模塊用于根據(jù)系統(tǒng)控制模塊提供的系統(tǒng)信息適時(shí)的向外部存儲(chǔ)器發(fā)讀取請(qǐng)求,并將外部存儲(chǔ)器返回的數(shù)據(jù)依次存入本地的存儲(chǔ)空間中即搜索窗存儲(chǔ)模塊。需要更新的數(shù)據(jù)有三種類型第一種為在每一幀開(kāi)始時(shí)對(duì)搜索窗緩沖裝置進(jìn)行初始化填滿當(dāng)前搜索窗的所有位置的數(shù)據(jù),第二種為對(duì)當(dāng)前宏塊行參考數(shù)據(jù)的更新的數(shù)據(jù),第三種為對(duì)下一宏塊行參考數(shù)據(jù)的更新數(shù)據(jù)。圖2示出搜索窗緩沖裝置的搜索窗,當(dāng)前搜索窗的大小為[士 128,士256],每一個(gè)搜索窗緩沖裝置包含的存儲(chǔ)大小為2(兩倍)X2(前后向)X 056+16)(搜索窗寬度)X 128(搜索窗高度)。在搜索窗緩沖裝置的存儲(chǔ)空間中還會(huì)多留出一部分空間,作為預(yù)取之用。斜線和方格線部分區(qū)域是第一次初始化的區(qū)域,其中的斜線部分是當(dāng)前的搜索窗口,該窗口對(duì)應(yīng)一宏塊大小(16X16像素)的原圖像所用的搜索參考像素?cái)?shù)據(jù);方格線部分留作下一個(gè)窗口移動(dòng)之用,而交叉斜線部分是正在更新的區(qū)域,空白部分是將要更新的區(qū)域。每一個(gè)搜索窗緩沖裝置包含兩套搜索窗,每套大小都是2 (前后向)X (256+16)(搜索窗寬度)X 128 (搜索窗高度)。兩套搜索窗乒乓操作,當(dāng)其中一套搜索窗緩存當(dāng)前宏塊行的參考圖像數(shù)據(jù)時(shí),另一套初始化下一宏塊行的最左邊的參考圖像,為了減少初始化對(duì)外部存儲(chǔ)器帶寬的沖擊,將初始化的數(shù)據(jù)分塊讀入,并分散到各個(gè)時(shí)間段完成。如當(dāng)前搜索窗每移動(dòng)一次,另一搜索窗將讀入32(byte)*16的數(shù)據(jù),初始化下一宏塊行參考圖像。圖3示出搜索窗緩沖裝置的工作狀態(tài),斜線區(qū)域表示正在被當(dāng)前宏塊所使用,交叉斜線區(qū)域表示目前正在讀取中,方格區(qū)域表示已經(jīng)讀取,白色區(qū)域表示將來(lái)可以刷新的。搜索窗緩沖裝置當(dāng)前宏塊行(包括初始化)每次向外部存儲(chǔ)器發(fā)起的讀請(qǐng)求都是 32(byte)*64的大小,即每次交叉斜線區(qū)域更新的大小。讀取如此大小的區(qū)域需要6牡2 = 1 個(gè)周期。下一宏塊行每次向外部存儲(chǔ)器發(fā)起的請(qǐng)求的大小是32 (byte) *16,是當(dāng)前行數(shù)據(jù)量的1/4。讀取如此大小的區(qū)域需要16 = 32個(gè)周期。具體更新流程如下
1)初始化讀取(160+32)個(gè)像素。在一幀的開(kāi)始處,所需的窗口并不在搜索窗緩沖裝置中,此時(shí)就需要進(jìn)行初始化操作,此時(shí)的搜索窗緩沖裝置中的數(shù)據(jù)尚未準(zhǔn)備好,是不允許被讀數(shù)的。對(duì)于后向參考幀,要初始化的大小是(160+32) *128,也就是搜索窗緩沖裝置要向外部存儲(chǔ)器發(fā)起12次上面交叉斜線部分那樣的請(qǐng)求。對(duì)于前向參考幀,要初始化的大小也是(160+32) *128,也需要向外部存儲(chǔ)器發(fā)起 12次上面交叉斜線部分那樣的請(qǐng)求。2). MB0y處理(斜線區(qū)域),同時(shí)讀取交叉斜線區(qū)域的像素;3). MBly處理(斜線區(qū)域),同時(shí)讀取交叉斜線區(qū)域的像素;4). MB2y處理(斜線區(qū)域),同時(shí)讀取交叉斜線區(qū)域的像素;5). MB3y處理(斜線區(qū)域),同時(shí)讀取交叉斜線區(qū)域的像素;初始化結(jié)束,當(dāng)正在處理斜線的搜索窗部分的時(shí)候,同時(shí)將交叉斜線部分的像素從外部存儲(chǔ)器中讀取出來(lái),也就是發(fā)起一次外部存儲(chǔ)器請(qǐng)求。然而需要更新的有當(dāng)前宏塊行的前向參考幀和后向參考幀,請(qǐng)求的大小是32*64,以及下一宏塊行的前向參考幀和后向參考幀,請(qǐng)求的大小是32*16。前向參考幀和后向參考幀擁有自己的mb_x*mb_y。共發(fā)起 4次讀外部存儲(chǔ)器的請(qǐng)求,4次請(qǐng)求共需要128*2+32拉=320個(gè)時(shí)鐘周期才能完成,一個(gè)宏塊周期是800個(gè)時(shí)鐘周期,那么4次連續(xù)的請(qǐng)求需要320個(gè)時(shí)鐘周期,在一個(gè)宏塊周期即 800個(gè)時(shí)鐘周期之內(nèi)可以完成這4次讀請(qǐng)求。搜索窗讀取模塊響應(yīng)各個(gè)客戶端發(fā)起的請(qǐng)求,根據(jù)客戶端提供的讀取信息,產(chǎn)生相應(yīng)的地址,從本地存儲(chǔ)空間中讀取相應(yīng)的數(shù)據(jù),返回給客戶端。搜索窗緩沖裝置的請(qǐng)求機(jī)制主要分三步1)判斷當(dāng)前窗口是否有效在每個(gè)宏塊周期開(kāi)始的時(shí)候,先判斷搜索窗口是否可用,如果可用,可以發(fā)起讀請(qǐng)求,否則,要等到搜索窗緩沖裝置控制移動(dòng)搜索窗口,使搜索窗有效之后,在本宏塊周期之內(nèi)發(fā)起讀請(qǐng)求。判斷當(dāng)前窗口是否有效,每個(gè)宏塊周期只需要執(zhí)行一次。2)發(fā)起當(dāng)前窗口的讀請(qǐng)求當(dāng)已經(jīng)判斷當(dāng)前窗口已經(jīng)有效之后,可向搜索窗緩沖裝置發(fā)起讀請(qǐng)求,每個(gè)搜索窗緩沖裝置都有前后向兩套的請(qǐng)求。3)在當(dāng)前窗口請(qǐng)求搜索窗緩沖裝置全部結(jié)束后,通知搜索窗緩沖裝置已經(jīng)結(jié)束, 使用一套結(jié)束信號(hào)來(lái)移動(dòng)當(dāng)前的窗口到適當(dāng)?shù)奈恢茫怨┫乱粋€(gè)宏塊讀取。讀取時(shí)地址邏輯由搜索窗緩沖裝置內(nèi)部根據(jù)請(qǐng)求端提供的χ和y來(lái)產(chǎn)生。對(duì)于請(qǐng)求端,此部分是完全封閉不可見(jiàn)的。要從搜索窗緩沖裝置中讀出正確的參考數(shù)據(jù),需要正確的地址產(chǎn)生邏輯,來(lái)生成正確的訪存地址。此處讀搜索窗緩沖裝置的地址產(chǎn)生邏輯和搜索窗緩沖裝置更新時(shí)寫(xiě)入存儲(chǔ)空間的地址產(chǎn)生類似,但其把地址分成基地址和偏移地址兩部分?;刂返那蠓ㄊ?Bwdaddr = (Rin_x+x) % 20,基地址的作用是找到適當(dāng)?shù)拇翱谖恢?。Bwdaddr是基地址,Rin_x是當(dāng)前窗口相對(duì)ram的位置,因?yàn)榇鎯?chǔ)空間的最大深度是20, 如果超過(guò)20,那么將拉回到ram的最初位置存放。偏移地址的求法是0wdaddr = y,Owdaddr是偏移地址,偏移地址的作用是對(duì)于一個(gè)窗口深度內(nèi)的地址偏移。最后將基地址和偏移地址拼接,得到ram的存儲(chǔ)地址addr = {Bwdaddr, Owdaddr},addr ^ ram ^gMiikJat0搜索窗存儲(chǔ)模塊是搜索窗緩沖裝置的存儲(chǔ)空間,當(dāng)搜索窗更新模塊向外部存儲(chǔ)器發(fā)讀取請(qǐng)求,外部存儲(chǔ)器將返回的數(shù)據(jù)依次存入本模塊。如圖4所示。每一個(gè)搜索窗緩沖裝置包含4個(gè)存儲(chǔ)部分。前后向各兩個(gè),每一部分的寬度為1 位,也就是16個(gè)像素,需要 4個(gè)存儲(chǔ)單元來(lái)構(gòu)成,其深度設(shè)計(jì)成2560。因此每一個(gè)存儲(chǔ)部分需要由20個(gè)存儲(chǔ)單元所組成。這樣,一個(gè)搜索窗緩沖裝置就需要80個(gè)存儲(chǔ)單元,根據(jù)搜索窗的大小要求每一部分至少由5段組成,每一部分就需要20個(gè)存儲(chǔ)單元。當(dāng)正在訪問(wèn)斜線部分的搜索窗時(shí),同時(shí)要更新交叉斜線的預(yù)讀部分,當(dāng)搜索窗向右移動(dòng)的過(guò)程中,如果緊靠它右側(cè)的預(yù)讀部分尚沒(méi)有讀完,此時(shí)的搜索窗就不能再往右移動(dòng),直到右側(cè)的預(yù)讀部分讀取完畢。當(dāng)搜索窗移動(dòng)到右邊界的時(shí)候,會(huì)折返到最左邊。當(dāng)然也會(huì)出現(xiàn)這樣一種情況,就是搜索窗在最右邊一部分,同時(shí)最左邊也會(huì)有一部分,此時(shí)就要注意對(duì)地址越界的處理,把它正確的映射到正確的區(qū)域。當(dāng)前行處理完畢之后,會(huì)切換到下一行,存在一個(gè)存儲(chǔ)單元之間切換的問(wèn)題,當(dāng)然不能把其中的像素進(jìn)行切換,只需切換相關(guān)標(biāo)志就可以了。最后應(yīng)說(shuō)明的是,以上實(shí)施例僅用以描述本發(fā)明的技術(shù)方案而不是對(duì)本技術(shù)方法進(jìn)行限制,本發(fā)明在應(yīng)用上可以延伸為其他的修改、變化、應(yīng)用和實(shí)施例,并且因此認(rèn)為所有這樣的修改、變化、應(yīng)用、實(shí)施例都在本發(fā)明的精神和教導(dǎo)范圍內(nèi)。
權(quán)利要求
1.一種基于AVS編碼器的搜索窗緩沖裝置,包括系統(tǒng)控制模塊、搜索窗更新模塊、搜索窗讀取模塊和搜索窗存儲(chǔ)模塊;其中,所述系統(tǒng)控制模塊用于在每一幀的開(kāi)始處更新系統(tǒng)信息并將這些系統(tǒng)信息傳遞給搜索窗更新模塊,向搜索窗更新模塊提供宏塊級(jí)的控制;所述搜索窗更新模塊用于根據(jù)系統(tǒng)控制模塊提供的系統(tǒng)信息向外部存儲(chǔ)器發(fā)送讀取請(qǐng)求,并將外部存儲(chǔ)器返回的數(shù)據(jù)依次存入搜索窗存儲(chǔ)模塊;所述搜索窗存儲(chǔ)模塊用于本地保存讀入的數(shù)據(jù);所述搜索窗讀取模塊用于響應(yīng)客戶端的請(qǐng)求,從搜索窗存儲(chǔ)模塊讀取相應(yīng)的數(shù)據(jù),返回給客戶端。
2.權(quán)利要求1的搜索窗緩沖裝置,其中,所述搜索窗更新模塊用于在每一幀開(kāi)始時(shí)更新當(dāng)前宏塊行參考數(shù)據(jù)和下一宏塊行參考數(shù)據(jù)。
3.權(quán)利要求1的搜索窗緩沖裝置,其中,所述搜索窗更新模塊更新的數(shù)據(jù)包括每一幀開(kāi)始時(shí)填滿當(dāng)前搜索窗的數(shù)據(jù)、用于當(dāng)前宏塊行參考數(shù)據(jù)的更新數(shù)據(jù)和用于下一宏塊行參考數(shù)據(jù)的更新數(shù)據(jù)。
4.權(quán)利要求1的搜索窗緩沖裝置,其中,所述搜索窗更新模塊包括乒乓操作的兩套搜索窗,其中一套搜索窗緩存當(dāng)前宏塊行的參考圖像數(shù)據(jù)時(shí),而另一套初始化下一宏塊行最左邊的參考圖像。
5.權(quán)利要求1的搜索窗緩沖裝置,其中,所述搜索窗更新模塊正訪問(wèn)當(dāng)前更新部分的搜索窗時(shí),同步更新預(yù)讀部分,當(dāng)搜索窗向右移動(dòng)過(guò)程中移動(dòng)到右邊界時(shí)折返到最左邊。
6.權(quán)利要求1的搜索窗緩沖裝置,其中,所述系統(tǒng)信息包括圖像寬度、圖像高度、圖像類型、圖像結(jié)構(gòu)或者參考幀基地址。
7.權(quán)利要求1的搜索窗緩沖裝置,其中,所述系統(tǒng)控制模塊在控制所述搜索窗更新模塊時(shí)在新的宏塊位置上記錄其搜索窗口的位置和更新宏塊的位置信息。
8.權(quán)利要求1的搜索窗緩沖裝置,其中,所述搜索窗讀取模塊用于響應(yīng)客戶端的請(qǐng)求, 根據(jù)客戶端提供的讀取信息,產(chǎn)生相應(yīng)的地址,從搜索窗存儲(chǔ)模塊讀取相應(yīng)的數(shù)據(jù)。
9.權(quán)利要求1的搜索窗緩沖裝置,其中,所述搜索窗讀取模塊在每個(gè)宏塊周期開(kāi)始的時(shí)候判斷搜索窗口可用后發(fā)起當(dāng)前窗口的讀請(qǐng)求,根據(jù)請(qǐng)求時(shí)序讀取數(shù)據(jù),并在當(dāng)前窗口請(qǐng)求結(jié)束之后移動(dòng)當(dāng)前的窗口到適當(dāng)?shù)奈恢茫怨┫乱粋€(gè)宏塊讀取。
10.權(quán)利要求1的搜索窗緩沖裝置,其中,所述搜索窗存儲(chǔ)模塊包括4個(gè)存儲(chǔ)部分,前后向各兩個(gè),每一部分的寬度為1 位,深度為2560。
全文摘要
本發(fā)明提供一種基于AVS編碼器的搜索窗緩沖裝置,系統(tǒng)控制模塊用于在每一幀的開(kāi)始處更新系統(tǒng)信息并將這些系統(tǒng)信息傳遞給搜索窗更新模塊,向搜索窗更新模塊提供宏塊級(jí)的控制;搜索窗更新模塊用于根據(jù)系統(tǒng)控制模塊提供的系統(tǒng)信息向外部存儲(chǔ)器發(fā)送讀取請(qǐng)求,并將外部存儲(chǔ)器返回的數(shù)據(jù)依次存入搜索窗存儲(chǔ)模塊;搜索窗存儲(chǔ)模塊用于本地保存讀入的數(shù)據(jù);搜索窗讀取模塊用于響應(yīng)客戶端的請(qǐng)求,從搜索窗存儲(chǔ)模塊讀取相應(yīng)的數(shù)據(jù),返回給客戶端。本發(fā)明可以極大的提高帶寬利用率,降低運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償?shù)脑L存量,提高運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償?shù)脑L存效率和AVS編碼器的整體性能。
文檔編號(hào)H04N7/26GK102377999SQ201010253659
公開(kāi)日2012年3月14日 申請(qǐng)日期2010年8月13日 優(yōu)先權(quán)日2010年8月13日
發(fā)明者呼大明, 宋益波, 王佳薇, 鄧?yán)? 鄭海鷗 申請(qǐng)人:聯(lián)合信源數(shù)字音視頻技術(shù)(北京)有限公司