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

存儲有效壓縮域視頻處理和快速逆運(yùn)動補(bǔ)償?shù)姆椒ê驮O(shè)備的制作方法

文檔序號:7534925閱讀:299來源:國知局
專利名稱:存儲有效壓縮域視頻處理和快速逆運(yùn)動補(bǔ)償?shù)姆椒ê驮O(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及數(shù)字視頻技術(shù),具體來說,本發(fā)明涉及一種實(shí)施有效的存儲壓縮方法的方法和設(shè)備,并涉及一種用于壓縮域視頻解碼器的實(shí)施有效的逆運(yùn)動補(bǔ)償方法的方法和設(shè)備。
背景技術(shù)
由于移動系統(tǒng)自身性質(zhì)的限制,諸如蜂窩電話和個(gè)人數(shù)字助理這樣的移動終端上的視頻存取會有很多問題。例如,低功率手持設(shè)備受到了帶寬、功率、存儲器和成本等技術(shù)條件的限制。這些手持設(shè)備接收的視頻數(shù)據(jù)由視頻解碼器解碼。與這類終端相關(guān)的視頻解碼器在空間域,即在解壓縮域中執(zhí)行運(yùn)動補(bǔ)償。諸如H.263、H.261和MPEG1/2/4這樣的視頻壓縮標(biāo)準(zhǔn)使用一種運(yùn)動補(bǔ)償離散余弦變換(DCT)方案來編碼低比特率的視頻。在此,低比特率指的是每秒大約低于64千比特的比特率。該DCT方案利用運(yùn)動估計(jì)(ME)和運(yùn)動補(bǔ)償(MC)來消除時(shí)間冗余,并且該DCT還用于消除余下的空間冗余。
圖1表示在空間域中解碼視頻數(shù)據(jù)并執(zhí)行運(yùn)動補(bǔ)償?shù)囊曨l解碼器的示意圖。解碼器100接收比特流102。解碼器100包括可變長解碼器(VLD)級104、行程長度解碼器(RLD)級106、去量化(dequantization)(DQ)級108、逆離散余弦變換(IDCT)級110、運(yùn)動補(bǔ)償(MC)級112以及也被稱作幀緩沖器的存儲器(MEM)114。前四級(VLD104、RLD106、DQ108和IDCT110)將壓縮比特流解碼至像素域。對于幀內(nèi)編碼(intracoded)塊來說,前四級104、106、108和110的輸出直接用于重建當(dāng)前幀中的塊。對于幀間編碼(intercoded)塊來說,該輸出表示預(yù)測誤差并且被添加到通過前一幀形成的預(yù)測中,以重建當(dāng)前幀中的塊。因此,當(dāng)前幀是以塊為基礎(chǔ)重建的。最后,當(dāng)前幀被發(fā)送到解碼器的輸出端,即顯示器116,另外還被存儲到幀緩沖器(MEM)114中。
MEM114存儲運(yùn)動補(bǔ)償112所需的先前解碼的圖像。MEM114的大小必須根據(jù)輸入圖像的格式而定。例如,H.263支持五種標(biāo)準(zhǔn)化圖像格式(1)子四分之一公用中間格式(子QCIF),(2)四分之一公用中間格式(QCIF),(3)公用中間格式(CIF),(4)4CIF,以及(5)16CIF。每種格式均定義圖像的寬度和高度及其高寬比。正如我們通常所知的,圖像是被編碼為一個(gè)單獨(dú)的亮度分量和兩個(gè)色差分量(Y,Cr,Cb)。這些分量是以4∶2∶0的配置被采樣的,每個(gè)分量的分辨率為8比特/像素。例如,在解碼CIF格式的H.263比特流時(shí),圖1的視頻解碼器必須為MEM114分配大約200千字節(jié)的存儲空間。而且,當(dāng)視頻會議系統(tǒng)需要同時(shí)解碼多個(gè)比特流時(shí),對存儲器的要求會非常大。
MEM114是視頻解碼器100中使用的最大的唯一存儲源。為了減少對存儲器的使用,可使用一種降低輸入比特流的彩色分量的分辨率的方法。例如,如果移動終端上的彩色顯示深度只能顯示65,536個(gè)彩色,那么就可以把彩色分量(Y,Cr,Cb)的分辨率從24比特/像素減少到16比特/像素。盡管這種技術(shù)能夠把存儲器的使用率降低30%,但它是一種與顯示器有關(guān)的解決方案,它在視頻解碼器中必須是硬連線的。另外,這種技術(shù)不能夠很容易地隨著變化的峰值信噪比(PSNR)的要求而定標(biāo),因此,這種方法不夠靈活。
與壓縮域的處理相比,在空間域中的數(shù)據(jù)運(yùn)算需要增加存儲容量。在空間域中,運(yùn)動補(bǔ)償很容易計(jì)算,并且可被應(yīng)用到一個(gè)圖像的連續(xù)幀中。但是,當(dāng)在壓縮域中運(yùn)算時(shí),由于在壓縮域中運(yùn)算時(shí)誤差值不再是空間值,即誤差值不是像素值,則運(yùn)動補(bǔ)償并不象指向前一幀的運(yùn)動矢量那么簡單。另外,也沒有能夠有效地處理壓縮域數(shù)據(jù)的方法。已有技術(shù)的方法主要集中于對壓縮域的應(yīng)用進(jìn)行代碼轉(zhuǎn)換、定標(biāo)和銳化。另外,壓縮域的逆補(bǔ)償應(yīng)用的峰值信噪比(PSNR)的性能往往較差,同時(shí)與每秒可顯示的幀數(shù)相應(yīng)的緩慢的響應(yīng)時(shí)間也是不能接受的。
因此需要解決已有技術(shù)的這些問題,提供一種盡可能減小對解碼低比特率視頻數(shù)據(jù)的存儲器的要求的方法和設(shè)備,并提供一種用于壓縮域視頻解碼器的能夠進(jìn)行快速高效的逆運(yùn)動補(bǔ)償?shù)姆椒ê驮O(shè)備。

發(fā)明內(nèi)容
一般說來,通過提供一種被配置使用混合數(shù)據(jù)結(jié)構(gòu)來盡可能減少存儲要求的視頻解碼器,本發(fā)明至少可以滿足這些需求的一個(gè)方面??梢岳斫猓景l(fā)明的這個(gè)方面可通過多種方式來實(shí)施,包括一種方法、一個(gè)系統(tǒng)、一個(gè)計(jì)算機(jī)可讀介質(zhì)或一種設(shè)備。下面將描述本發(fā)明的這個(gè)方面的幾個(gè)實(shí)施例。
在一個(gè)實(shí)施例中,提供了一種減小對解碼比特流的存儲要求的方法。該方法首先接收視頻比特流。隨后,該比特流的一幀被解碼為變換(如離散余弦變換(DCT))域表示。接著識別該變換域表示的非零系數(shù)。隨后,一種混合數(shù)據(jù)結(jié)構(gòu)被組裝(assembled)。該混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)固定尺寸陣列和一個(gè)可變尺寸的溢出矢量。接著,該變換域表示的非零系數(shù)被插入到該混合數(shù)據(jù)結(jié)構(gòu)中。
在另一個(gè)實(shí)施例中,提供一種解碼視頻數(shù)據(jù)的方法。該方法首先接收壓縮比特流內(nèi)的視頻數(shù)據(jù)的一幀。隨后,該幀的一個(gè)塊被解碼為變換(如DCT)域表示。接著定義混合數(shù)據(jù)結(jié)構(gòu)。之后,與該變換域表示有關(guān)的數(shù)據(jù)被存儲到混合數(shù)據(jù)結(jié)構(gòu)中。接著,在壓縮域中,對與變換域表示有關(guān)的數(shù)據(jù)執(zhí)行逆運(yùn)動補(bǔ)償。在對數(shù)據(jù)進(jìn)行逆運(yùn)動補(bǔ)償之后,解壓縮該數(shù)據(jù)以進(jìn)行顯示。
在又一個(gè)實(shí)施例中,提供一種計(jì)算機(jī)可讀介質(zhì),該介質(zhì)具有用于重排低速率比特流數(shù)據(jù)以便存儲到混合數(shù)據(jù)結(jié)構(gòu)中的程序指令。該計(jì)算機(jī)可讀介質(zhì)包括用于識別與一幀數(shù)據(jù)的編碼塊相關(guān)的非零變換(如DCT)系數(shù)的程序指令。還包括把非零變換系數(shù)排列為一個(gè)固定尺寸陣列的程序指令。還提供用于判斷非零變換系數(shù)的數(shù)量是否超過該固定尺寸陣列的容量的程序指令。還包括把超過該固定尺寸陣列容量的非零變換系數(shù)存儲到可變尺寸的溢出矢量中的程序指令,以及把非零變換系數(shù)從壓縮域變換到空間域的程序指令。
在另一個(gè)實(shí)施例中,提供了一個(gè)電路。該電路包括視頻解碼器集成電路芯片。該視頻解碼器集成電路芯片包括用于接收與一幀視頻數(shù)據(jù)相關(guān)的數(shù)據(jù)比特流的電路。該視頻解碼器中包括把數(shù)據(jù)比特流解碼為變換(如DCT)域表示的電路。還提供把混合數(shù)據(jù)結(jié)構(gòu)中的變換域表示的非零變換系數(shù)排列在與視頻解碼器相關(guān)的存儲器中的電路。另外還提供解壓縮變換域表示的非零變換系數(shù)以便于顯示的電路。
在另一個(gè)實(shí)施例中,提供了一種用于顯示圖像的設(shè)備。該設(shè)備包括中央處理單元(CPU)、隨機(jī)存取存儲器(RAM)和用于呈現(xiàn)圖像的顯示屏。還包括把視頻比特流變換為變換(如DCT)域表示的解碼器電路。該解碼器電路能夠把混合數(shù)據(jù)結(jié)構(gòu)中的變換域表示的非零變換系數(shù)排列到與該解碼器電路相關(guān)的存儲器中。該解碼器電路包括在逆運(yùn)動補(bǔ)償期間有選擇地應(yīng)用混合因子分解/整數(shù)近似技術(shù)的電路。另外還包括與CPU、RAM、顯示屏和解碼器電路進(jìn)行通信的總線。
一般說來,通過提供一種能夠在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償并且同時(shí)降低存儲要求并提供可接受的視頻質(zhì)量的視頻解碼器,本發(fā)明至少可以滿足這些需求的另一個(gè)方面。應(yīng)當(dāng)理解,本發(fā)明的這個(gè)方面能夠通過多種方式來實(shí)施,包括一種方法、一個(gè)系統(tǒng)、一個(gè)計(jì)算機(jī)可讀介質(zhì)或一種設(shè)備。下面將描述本發(fā)明的這個(gè)方面的幾個(gè)實(shí)施例。
在一個(gè)實(shí)施例中,提供了一種執(zhí)行逆存儲器補(bǔ)償?shù)姆椒?。該方法首先接收視頻比特流。隨后識別變換矩陣的類型。該變換矩陣類型可以是半像素矩陣,也可以是全像素矩陣。如果該變換矩陣的類型是半像素矩陣,則該方法應(yīng)用因子分解技術(shù)來解碼與該半像素矩陣對應(yīng)的比特流。如果該變換矩陣的類型是全像素矩陣,則該方法應(yīng)用整數(shù)近似技術(shù)來解碼與該全像素矩陣相應(yīng)的比特流。
在另一個(gè)實(shí)施例中,提供一種解碼視頻數(shù)據(jù)的方法。該方法首先接收壓縮比特流內(nèi)的視頻數(shù)據(jù)的一幀。隨后,在壓縮域中,該幀的一個(gè)塊被解碼為變換(如離散余弦變換(DCT))域表示。接著,與該變換域表示相關(guān)的數(shù)據(jù)被存儲到混合數(shù)據(jù)結(jié)構(gòu)中。隨后,在壓縮域中,對與該變換域表示相關(guān)的數(shù)據(jù)執(zhí)行逆運(yùn)動補(bǔ)償。在執(zhí)行逆運(yùn)動補(bǔ)償時(shí),包括確定與視頻數(shù)據(jù)幀的一部分相關(guān)的變換矩陣的類型,并應(yīng)用混合因子分解和整數(shù)近似技術(shù)來增強(qiáng)逆運(yùn)動補(bǔ)償。
在又一個(gè)實(shí)施例中,提供一種計(jì)算機(jī)可讀介質(zhì),該介質(zhì)具有用于在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償?shù)某绦蛑噶睢T撚?jì)算機(jī)可讀介質(zhì)包括用于識別變換矩陣的程序指令。還包括用于判斷變換矩陣是半像素矩陣還是全像素矩陣的程序指令。還包括應(yīng)用因子分解技術(shù)解碼與半像素矩陣相對應(yīng)的比特流的塊的程序指令,以及應(yīng)用整數(shù)近似技術(shù)解碼與全像素矩陣相對應(yīng)的比特流的塊的程序指令。
在另一個(gè)實(shí)施例中,提供了一個(gè)電路。該電路包括被配置來解碼視頻數(shù)據(jù)的集成電路芯片。該集成電路芯片包括用于接收與一幀視頻數(shù)據(jù)相關(guān)的數(shù)據(jù)比特流的電路。該集成電路芯片上包括把數(shù)據(jù)比特流解碼為變換(如DCT)域表示的電路。在該集成電路芯片上還提供識別變換矩陣類型的電路,以及利用混合因子分解和整數(shù)近似技術(shù)執(zhí)行逆運(yùn)動補(bǔ)償?shù)碾娐贰?br> 在另一個(gè)實(shí)施例中,提供了一種視頻解碼器。該視頻解碼器包括從輸入比特流中提取系數(shù)值和運(yùn)動矢量數(shù)據(jù)的可變長解碼器(VLD)。另外還包括與VLD通信的去量化塊。該去量化塊用于對系數(shù)值重新定標(biāo)。還包括與該去量化塊通信的下支路。該下支路用于把誤差系數(shù)解碼至空間域。另外包括與該去量化塊通信的上支路。該上支路用于保持內(nèi)部變換(如DCT)域表示。該上支路還用于產(chǎn)生空間域輸出,以能夠添加到解碼的誤差系數(shù)中,從而重建當(dāng)前塊。
結(jié)合以實(shí)例形式表示本發(fā)明原理的附圖,通過下面的詳細(xì)描述,本發(fā)明的其它方面和優(yōu)點(diǎn)將會顯而易見。


通過結(jié)合附圖的以下描述,將會很容易地理解本發(fā)明,而且,相似的參考數(shù)字表示相似的結(jié)構(gòu)元件。
圖1是用于解碼視頻數(shù)據(jù)并在空間域中執(zhí)行運(yùn)動補(bǔ)償?shù)囊曨l解碼器的示意圖。
圖2表示根據(jù)本發(fā)明一個(gè)實(shí)施例的用于在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償?shù)囊曨l解碼器的示意圖。
圖3表示在空間域中執(zhí)行的逆運(yùn)動補(bǔ)償?shù)氖疽鈭D。
圖4是表示與H.263標(biāo)準(zhǔn)有關(guān)的強(qiáng)制更新機(jī)制的效率的多幀的峰值信噪比(PSNR)的示意圖。
圖5所示為在H.263標(biāo)準(zhǔn)中確定半像素值的示意圖。
圖6A所示為基線空間視頻解碼器的示意圖。
圖6B是根據(jù)本發(fā)明一個(gè)實(shí)施例的壓縮域視頻解碼器的示意圖。
圖7所示為根據(jù)本發(fā)明一個(gè)實(shí)施例的視頻編碼和解碼處理過程中的塊變換框圖。
圖8表示在行程長度表示中使用分離指數(shù)尋找每個(gè)8x8塊的開始位置的示意圖。
圖9A和9B分別表示基于陣列的數(shù)據(jù)結(jié)構(gòu)和表數(shù)據(jù)結(jié)構(gòu)中把預(yù)測誤差增加到預(yù)測中時(shí)所需的分類(sort)和合并運(yùn)算。
圖10所示為根據(jù)本發(fā)明一個(gè)實(shí)施例的包括陣列結(jié)構(gòu)和矢量結(jié)構(gòu)以考慮存儲壓縮和計(jì)算效率的混合數(shù)據(jù)結(jié)構(gòu)的示意圖。
圖11A至11C是根據(jù)本發(fā)明的一個(gè)實(shí)施例在確定混合數(shù)據(jù)結(jié)構(gòu)的溢出矢量和固定尺寸陣列的固定尺寸塊的容量時(shí)所估計(jì)的因數(shù)的示意圖。
圖12所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例用于降低解碼比特流的存儲要求的方法操作的流程圖。
圖13所示為減少矩陣乘法的塊對準(zhǔn)的三個(gè)例子的示意圖。
圖14所示為完全對準(zhǔn)的DCT塊的半像素內(nèi)插的示意圖。
圖15所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例用以增強(qiáng)視頻數(shù)據(jù)處理的壓縮域視頻解碼器的功能塊的重新排列的示意圖。
圖16是根據(jù)本發(fā)明的一個(gè)實(shí)施例在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償?shù)姆椒ú僮鞯牧鞒虉D。
圖17是根據(jù)本發(fā)明的一個(gè)實(shí)施例有選擇地應(yīng)用混合因子分解/整數(shù)近似技術(shù)的示意圖。
圖18所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例的便攜式電子設(shè)備的簡化示意圖,該電子設(shè)備所具有的解碼器電路能夠使用混合數(shù)據(jù)結(jié)構(gòu)來最小化存儲要求并應(yīng)用混合因子分解/整數(shù)近似技術(shù)來有效地解碼比特流數(shù)據(jù)。
圖19所示為根據(jù)本發(fā)明一個(gè)實(shí)施例的圖18所示解碼器電路的更為詳細(xì)的示意圖。
具體實(shí)施例方式
本發(fā)明描述了用于盡可能減小壓縮域視頻解碼的存儲容量的系統(tǒng)、設(shè)備和方法。然而,根據(jù)下面的描述,顯然,本領(lǐng)域技術(shù)人員不必知道其中的一些或者全部的特定細(xì)節(jié)就可以實(shí)施本發(fā)明。在其它情況下,為了不對本發(fā)明造成不必要的混淆,一些熟知的處理操作步驟將不再詳細(xì)描述。圖1已在“背景技術(shù)”中進(jìn)行了描述。在此使用的術(shù)語“大約”指的是參考值的+/-10%。
在此描述的實(shí)施例所提供的數(shù)據(jù)結(jié)構(gòu)能夠減少在壓縮域中解碼視頻數(shù)據(jù)時(shí)所使用的存儲器。在一個(gè)實(shí)施例中,視頻解碼流水線被重新安排以使當(dāng)前幀被存儲,并且逆運(yùn)動補(bǔ)償被在頻域中,即在壓縮域中執(zhí)行?;旌蠑?shù)據(jù)結(jié)構(gòu)利于壓縮域中的數(shù)據(jù)處理,而不需要計(jì)算成本,也不會有任何明顯的數(shù)據(jù)丟失。在一個(gè)實(shí)施例中,混合數(shù)據(jù)結(jié)構(gòu)利用了在一個(gè)編碼塊中只有少量的非零離散余弦變換(DCT)系數(shù)這樣的一個(gè)事實(shí)。因而只存儲整個(gè)幀的非零DCT系數(shù),從而可以降低存儲要求。正如在下面將要詳細(xì)解釋的一樣,混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)固定尺寸陣列和一個(gè)可變尺寸溢出矢量。該可變尺寸溢出矢量存儲超過該固定尺寸陣列容量的編碼塊的非零DCT系數(shù)。
圖2表示根據(jù)本發(fā)明一個(gè)實(shí)施例的用于在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償?shù)囊曨l解碼器的示意圖。在此,視頻解碼器120接收比特流122。前兩級,即可變長解碼器(VLD)級124和去量化(DQ)級126把壓縮比特流解碼為DCT域表示。該DCT域表示被存儲到也被稱作幀緩沖器的存儲器(MEM)130中,以便用在運(yùn)動補(bǔ)償(MC)級128中。行程長度解碼器(RLD)級132和逆DCT(IDCT)級134在包含了MC128和MEM130的運(yùn)動補(bǔ)償反饋回路之后執(zhí)行。因此,正在被解碼的塊的內(nèi)部表示保留在壓縮域中。在一個(gè)編碼塊中只有少量的非零DCT系數(shù),因此,這個(gè)特性可在研究只存儲幀中的每個(gè)塊的非零DCT系數(shù)的MEM130的數(shù)據(jù)結(jié)構(gòu)時(shí)使用。正如在下面將要詳細(xì)描述的一樣,通過混合數(shù)據(jù)結(jié)構(gòu)執(zhí)行的存儲壓縮可以在不損失視頻質(zhì)量的情況下將存儲器使用率降低50%。由于人的視覺系統(tǒng)對低階DCT系數(shù)的敏感程度要高于對高階DCT系數(shù)的敏感程度,因此,下面將研究的閾值方案是濾出高階DCT系數(shù)并在存儲器使用率與變化功率或峰值信噪比(PSNR)的要求之間折衷。
因而,在此將描述為了快速的和存儲器有效解碼而優(yōu)化的完整的壓縮域視頻解碼流水線。在一個(gè)實(shí)施例中,作為符合公共域H.263的解碼器的TELENOR視頻解碼器被用于此處所涉及的檢驗(yàn)??梢岳斫猓M管下面描述的一些實(shí)施例涉及的是H.263比特流,但這些實(shí)施例并不限于針對H.263比特流的運(yùn)算。也就是說,具有諸如運(yùn)動圖像專家組(MPEG)1/2/4,H.261等視頻數(shù)據(jù)的任何基于DCT的壓縮比特流都可以適用。用于離散余弦變換(DCT)域表示的一些快速逆運(yùn)動補(bǔ)償算法能夠在壓縮域中執(zhí)行有效的處理??梢岳斫猓捎趬嚎s域處理的原因,在一個(gè)編碼塊中存儲非零DCT系數(shù)的存儲壓縮方法有利于降低存儲要求。另外,利用逆運(yùn)動補(bǔ)償技術(shù)和這里所描述的存儲壓縮進(jìn)行壓縮域處理的視頻解碼器的性能按照三個(gè)維度來估計(jì)計(jì)算復(fù)雜性、存儲效率和PSNR,以便在針對速度和存儲空間這二者進(jìn)行優(yōu)化時(shí)顯示各種性能的折衷。
圖3表示在空間域中執(zhí)行的逆運(yùn)動補(bǔ)償?shù)氖疽鈭D。在此,當(dāng)前塊的預(yù)測通過參考幀中的運(yùn)動補(bǔ)償塊來執(zhí)行。當(dāng)前幀140的當(dāng)前8x8空間塊fk142通過參考幀146中的四個(gè)參考塊f1′、f2′、f3′和f4′144-1至144-4產(chǎn)生。通過計(jì)算fk由運(yùn)動矢量的位移(Δx,Δy)并選擇運(yùn)動矢量在參考幀中相交的那些塊來選擇所述參考塊。對于(Δx>0,Δy>0),fk向右下方移動。通過fk與f1′的重疊,可以確定與相鄰塊的重疊參數(shù)(w,h)以及參數(shù)(8-w,h)、(w,8-h)和(8-w,8-h)。fk=Σi=14ci1fi′ci2---(2)]]>由于每個(gè)塊可表示為一個(gè)8x8矩陣,因此矩陣fk的重建可被描述為開窗口和移位的矩陣f1′,…,f4′的求和。在公式(Eq.)(2)中,矩陣cij,i=1,…,4,j=1,2對fi′執(zhí)行開窗口和移位運(yùn)算。矩陣cij是零和一的稀疏8x8矩陣。另外,cij是重疊參數(shù)(w,h)的函數(shù),它被定義為c11=c21=Uh=0Ih00,---(3)]]>c12=c32=Lw=00Iw0,---(4)]]>式中Ih和Iw分別是hxh和wxw維的單位矩陣。
類似地c31=c41=L8-h, (5)c22=c42=L8-w.(6)在DCT域中的逆運(yùn)動補(bǔ)償通過運(yùn)動補(bǔ)償幀間編碼塊來重建幀內(nèi)編碼塊。此概念類似于空間域,除了所有的系數(shù)保留在DCT域中之外,即直接通過f1′,...,f4′的DCT,即F1′,...,F(xiàn)4′重建fk的DCT,即Fk。
S被定義為包含二維DCT的8x8基本矢量的矩陣。通過使用DCT變換的單一性質(zhì)S’S=I,可以證明Eq(2)等同于fk=Σi=14c11StSfi′StSci2.---(7)]]>以S自左乘公式(7)的兩側(cè),并以S’自右乘,得到Fk=Σi=14Ci1F′iCi2,---(8)]]>式中Cij是cij的DCT。公式(8)計(jì)算自左和自右乘的各項(xiàng)F1′,...,F(xiàn)4′的求和為Fk。矩陣Cij是一個(gè)包含變換序列的復(fù)合矩陣逆DCT、開窗口、移位和前向DCT。因此,公式(8)描述的方法僅僅使用矩陣相乘就可以通過F1′,...,F(xiàn)4′直接計(jì)算Fk。這些矩陣相乘是在DCT域中進(jìn)行的,不必明顯地在空間域和頻域之間變換。但是,所描述的矩陣相乘的速度慢得難以接受。由此,每秒鐘只能顯示大約5幀,從而導(dǎo)致顯示質(zhì)量很差。由于矩陣相乘是造成難以接受的延遲的瓶頸,因此下面描述的DCT域逆運(yùn)動補(bǔ)償算法的集中在降低這些矩陣相乘的計(jì)算復(fù)雜性。
低比特率視頻,即比特率低于每秒大約64千比特的視頻數(shù)據(jù)被用于諸如蜂窩電話、個(gè)人數(shù)字助理PDA和其它手持或電池式設(shè)備上的無線視頻的應(yīng)用中,并且還用于視頻會議應(yīng)用中。H.263標(biāo)準(zhǔn)是一個(gè)典型的標(biāo)準(zhǔn),它規(guī)定低比特率下進(jìn)行視頻編碼的比特流語法和算法。這些算法包括變換編碼、運(yùn)動估計(jì)/補(bǔ)償、系數(shù)量化和行程長度編碼。除了基線技術(shù)要求外,該標(biāo)準(zhǔn)的第2版還支持十六個(gè)可協(xié)商選項(xiàng),從而提高了編碼性能并提供誤差恢復(fù)能力。
在低比特率下編碼的視頻會有明顯的失真,特別是那些被分類為具有高級動作的視頻,即活動運(yùn)動塊。如上所述,在此描述的實(shí)施例所涉及的是H.263標(biāo)準(zhǔn),但這些實(shí)施例也可以采用其它任意適當(dāng)?shù)囊曨l編解碼器標(biāo)準(zhǔn)。H.263的特征中的一些特性在下文中進(jìn)行描述只是為了提供信息的目的,而并不意味著本發(fā)明只能使用H.263標(biāo)準(zhǔn)。H.263標(biāo)準(zhǔn)的一個(gè)特性是在H.263標(biāo)準(zhǔn)中不存在圖像組(GOP)和較高層。在由單個(gè)一個(gè)幀內(nèi)(I幀)以及其后的一個(gè)幀間(P幀)長序列構(gòu)成的基線編碼序列的位置,由于在連續(xù)幀之間消除了時(shí)間冗余,因此該P(yáng)幀長序列提供較大的壓縮比。但是,運(yùn)動估計(jì)/運(yùn)動補(bǔ)償(ME/MC)也產(chǎn)生時(shí)間相關(guān)性,使得在有損編碼處理過程中產(chǎn)生的誤差將在解碼處理過程中累積。I幀的缺乏會防止解碼器破壞這種誤差累積。H.263標(biāo)準(zhǔn)具有一種強(qiáng)制更新機(jī)制,這樣,在編碼處理過程中,編碼器必須每132次至少一次把一個(gè)宏塊編碼為幀內(nèi)塊。圖4所示為強(qiáng)制更新機(jī)制的效率示意圖。如圖4所示,該視頻的PSNR隨機(jī)波動,但對于在該序列后面的幀來說卻不會在任何一個(gè)方向上漂移。
圖5所示為在H.263標(biāo)準(zhǔn)中確定半像素值的示意圖。眾所周知,對于運(yùn)動補(bǔ)償來說,H.263標(biāo)準(zhǔn)使用半像素內(nèi)插法。在該標(biāo)準(zhǔn)中,半像素內(nèi)插由0.5分辨率(即<7.5,4.5>)的運(yùn)動矢量表示。編碼器可以僅僅規(guī)定水平方向上或垂直方向上的內(nèi)插,也可以規(guī)定水平和垂直兩個(gè)方向的內(nèi)插。如圖5所示,通過在半像素位置周圍的整數(shù)像素位置的雙線性內(nèi)插可以得到半像素值。像素位置A150-1、像素位置B150-2、像素位置C150-3和像素位置D150-4表示整數(shù)像素位置,而位置e152-1、位置f152-2、位置g152-3表示半像素位置。水平方向上的內(nèi)插可表示為e=(A+B+1)>>1,而垂直方向上的內(nèi)插可表示為f=(A+C+1)>>1。在水平及垂直方向上的內(nèi)插可表示為g=(A+B+C+D+2)>>2。
圖6A和6B分別是基線空間視頻解碼器和壓縮域視頻解碼器的示意圖。圖6B的框圖重新排列了圖6A中所示的空間域視頻解碼器中的一些功能塊。特別是把RLD132和IDCT134移動到MC128反饋回路之后。這種排列可以在壓縮域中保持視頻的內(nèi)部表示。圖6B的配置便于緊接在MC128反饋回路之后插入壓縮域后處理模塊。可以理解,某些視頻處理,如合成、定標(biāo)和數(shù)據(jù)分塊等在壓縮域中比它們在空間域中的對等情況下要快。但是,從視頻編解碼器的角度來說,空間編碼器與壓縮域解碼器并不能恰當(dāng)?shù)仄ヅ?。如圖6B所示,在沿著解碼流水線的幾個(gè)點(diǎn)上,壓縮域視頻解碼器不同于圖6A的空間域視頻解碼器。不僅僅是塊的重新排列,不同的點(diǎn)表示非線性運(yùn)算,如剪裁和修圓(rounding)。這些非線性點(diǎn)在兩個(gè)域之間產(chǎn)生具有不同PSNR測量結(jié)果的視頻。
非線性點(diǎn)被標(biāo)記為(i)、(ii)、(iii)、(iv)和(v)。在圖6A的空間解碼器中,IDCT塊134把輸入的8x8塊從頻域變換至空間域??臻g域值表示彩色信道(Y,Cr,Cb)的像素值或預(yù)測誤差值。在圖6A的點(diǎn)(i),空間值被剪裁至范圍(-255≤x≤256)。需要指出,在圖6B中,對于DCT系數(shù)來說,在這一級并沒有等效的剪裁運(yùn)算。第二個(gè)不同點(diǎn)出現(xiàn)在運(yùn)動補(bǔ)償期間。圖6A中的MC塊128回送來自MEM130的當(dāng)前運(yùn)動矢量所涉及的像素值。在圖6A的點(diǎn)(ii),半像素(HP)內(nèi)插160如果被規(guī)定的話,則求出相鄰像素值的平均值并將其結(jié)果四舍五入為最接近的正整數(shù)。在圖6B的點(diǎn)(iv),半像素(HP)內(nèi)插160對DCT系數(shù)直接進(jìn)行運(yùn)算并將其結(jié)果四舍五入為最接近的正或負(fù)整數(shù)。另一個(gè)不同點(diǎn)出現(xiàn)在把預(yù)測誤差添加到預(yù)測值之后。在圖6A的點(diǎn)(iii),該求和值表示在塊162b被裁剪至范圍(0≤x≤255)的像素值。需要指出,在圖6B中,像素值的類似裁剪從運(yùn)動補(bǔ)償反饋回路移動到在塊162(點(diǎn)v)的解碼流水線的最后一級。
本領(lǐng)域技術(shù)人員可以理解,MEM130是一個(gè)幀緩沖器,它存儲運(yùn)動補(bǔ)償?shù)那耙粠?。對于空間域解碼器來說,該幀緩沖器分配足夠的存儲器來存儲輸入幀尺寸的(Y,Cr,Cb)值。例如,以4∶2∶0采樣的CIF視頻需要大約200千字節(jié)的存儲器。由于MEM130是在視頻解碼器中使用的最大的唯一存儲源,因而,在此定義的混合數(shù)據(jù)結(jié)構(gòu)的逆運(yùn)動補(bǔ)償方法有利于在壓縮域解碼流水線中減少對MEM的使用。在一個(gè)實(shí)施例中,可以實(shí)現(xiàn)兩到三倍的存儲壓縮,同時(shí)不會顯著影響解碼視頻的質(zhì)量。
圖7所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例在編碼和解碼處理過程中的塊變換框圖。虛線170以上的變換序列描述了在運(yùn)動補(bǔ)償/運(yùn)動估計(jì)之后用于I幀中的一個(gè)塊或P幀中的一個(gè)塊的視頻編碼器使用的空間壓縮方法。像素塊172是一個(gè)全8x8矩陣。此時(shí),在空間域中的任何壓縮或截?cái)喽紩苯佑绊懰杏X到的重建塊的質(zhì)量。然而,在DCT變換之后,變換矩陣174在低頻下以較大的項(xiàng)進(jìn)行壓縮。在塊176中,量化步驟還通過在高頻處把較小的項(xiàng)減小為零來壓縮該塊。在塊176中強(qiáng)調(diào)的鋸齒狀掃描把DCT系數(shù)從低頻向高頻排序。行程長度編碼則去除了零系數(shù),而且在二值單元的緊致列表中只表示非零DCT系數(shù),如在行程長度表示178中的行程和等級。因此,在DCT域中的存儲壓縮可通過研究存儲和存取非零DCT系數(shù)的行程長度表示的有效數(shù)據(jù)結(jié)構(gòu)和方法來實(shí)現(xiàn)。
在一個(gè)實(shí)施例中,半壓縮(SC)表示是一種存儲器有效行程長度表示。非零DCT系數(shù)的行程長度表示類似于圖7的行程長度表示178和180。但是,還有兩種形式的改進(jìn)。每個(gè)二值單元(行程、等級)以一種復(fù)合16比特值的形式來描述RL=二進(jìn)制‘rrrr111111111111’(9)12個(gè)最低有效位(‘111111111111’)通過塊184定義去量化DCT系數(shù)的值,塊184通過量化塊182得到??梢岳斫?,塊184是DCT域表示的一個(gè)例子。本領(lǐng)域技術(shù)人員可以理解,DCT系數(shù)值的范圍是從-2048-2047。圖7的塊186是在塊184執(zhí)行IDCT運(yùn)算之后的塊172的重建塊。四個(gè)最高有效位(‘rrrr’)定義行程的值。根據(jù)8x8塊中的鋸齒狀掃描,該行程表示相對于最后的非零DCT系數(shù)的位置的非零DCT系數(shù)的位置。由于一個(gè)非零系數(shù)的行程可能超過15,因此定義一個(gè)轉(zhuǎn)義序列來把該行程分成較小的單元。轉(zhuǎn)義序列RL=‘F0’被定義為表示15個(gè)零系數(shù)的行程之后是一個(gè)零幅度的系數(shù)。
為了降低存儲需求,必須研究用以存儲和存取SC表示的數(shù)據(jù)結(jié)構(gòu)。可以考慮下面的數(shù)據(jù)結(jié)構(gòu)陣列、鏈接表、矢量及混合。在研究這些結(jié)構(gòu)時(shí),必須考慮存儲壓縮的要求與保持低的計(jì)算復(fù)雜性的要求之間的平衡,這將在下文中參考表1作進(jìn)一步討論。盡管SC表示提供了目標(biāo)存儲壓縮,但某些數(shù)據(jù)結(jié)構(gòu)在以下三個(gè)方面將極大地增加解碼器的計(jì)算復(fù)雜性。首先,采用二字節(jié)表示不能立即獲得(行程,等級)的值。每次存取和修改這些值都需要緊縮和拆開比特的功能。其次,緊致行程長度表示使得運(yùn)動補(bǔ)償變復(fù)雜。第三,為了把預(yù)測誤差增加到預(yù)測值中,需要進(jìn)行分類和合并運(yùn)算。
圖8表示在行程長度表示中使用分離索引尋找每個(gè)8x8塊的開始位置的示意圖。如果也被稱作矢量的單一表190被用于存儲一幀中的所有8x8塊192-1到192-4,則在運(yùn)動補(bǔ)償期間存取一個(gè)特定DCT塊需要一個(gè)分離索引來查找它們的開始位置,這將使運(yùn)動補(bǔ)償變得復(fù)雜。
圖9A和9B分別表示基于陣列的數(shù)據(jù)結(jié)構(gòu)和表數(shù)據(jù)結(jié)構(gòu)中把預(yù)測誤差增加到預(yù)測值中時(shí)所需的分類和合并運(yùn)算。在圖9A中,基于陣列的數(shù)據(jù)結(jié)構(gòu)只需要在相應(yīng)陣列索引的數(shù)值相加。但是,基于陣列的數(shù)據(jù)結(jié)構(gòu)不能提供存儲壓縮優(yōu)點(diǎn)。在圖9B中,表(或矢量)數(shù)據(jù)結(jié)構(gòu)需要額外的分類和合并運(yùn)算。也就是說,合并算法需要插入和刪除功能,從諸如矢量這樣的數(shù)據(jù)結(jié)構(gòu)的計(jì)算復(fù)雜性的角度來考慮,這是非常昂貴的。特別是,如果索引相等,則DCT系數(shù)可被加或減,如(0,20)+(0,620)=(0,640)。如果誤差索引在預(yù)測索引之前,則可以插入DCT系數(shù),如插入(0,-3)。如果DCT值的相加等于0,如(1,13)+(4,-13)=(1,0),則刪除DCT系數(shù)。
表1比較各種數(shù)據(jù)結(jié)構(gòu)的存儲壓縮比和計(jì)算成本。盡管基于陣列的數(shù)據(jù)結(jié)構(gòu)除了預(yù)測更新所需的64個(gè)加法運(yùn)算之外不會帶來額外的計(jì)算成本,但DCT系數(shù)陣列提供的存儲壓縮不會高于像素陣列的存儲壓縮,這是因?yàn)槊總€(gè)DCT系數(shù)需要存儲兩個(gè)字節(jié)而不是一個(gè)字節(jié)。半壓縮(SC)表示的鏈接表或矢量提供的存儲壓縮是像素陣列所提供的2.5倍。但是,任何一種解決方案都不是優(yōu)化方案,這是因?yàn)槭噶康牟迦?刪除成本很貴,特別是在矢量中間的插入和刪除,并且鏈接表的存儲開銷也很貴,這是因?yàn)樵谠摫碇械拿總€(gè)單元都要產(chǎn)生內(nèi)部指針。
表1

SC表示的混合數(shù)據(jù)結(jié)構(gòu)提供了表1中的各個(gè)競爭的利害關(guān)系之間的優(yōu)化平衡。研究該混合數(shù)據(jù)結(jié)構(gòu)以便利用圖9A的陣列結(jié)構(gòu)的低計(jì)算成本和圖9B的矢量結(jié)構(gòu)的高壓縮比。該混合數(shù)據(jù)結(jié)構(gòu)由一個(gè)固定尺寸陣列和一個(gè)可變尺寸溢出矢量組成,其中該固定尺寸陣列的每個(gè)塊保存固定數(shù)目的DCT系數(shù),而該可變尺寸溢出矢量則存儲超過固定尺寸陣列分配的那些塊的DCT系數(shù)??梢岳斫猓摴潭ǔ叽珀嚵锌梢员慌渲贸擅總€(gè)塊保存任意適當(dāng)數(shù)目的DCT系數(shù),其中DCT系數(shù)的數(shù)目少于64個(gè)。當(dāng)然,隨著固定尺寸陣列的增大,存儲壓縮量則會降低。在一個(gè)實(shí)施例中,該固定尺寸陣列被配置成每個(gè)塊保存8個(gè)DCT系數(shù)。
圖10所示為根據(jù)本發(fā)明一個(gè)實(shí)施例的包括陣列結(jié)構(gòu)和矢量結(jié)構(gòu)以利于存儲壓縮和計(jì)算效率的混合數(shù)據(jù)結(jié)構(gòu)的示意圖。DCT塊200-1、200-2和200-n包括零DCT系數(shù)和非零DCT系數(shù)。可以理解,DCT塊200-1至200-n表示上述參考圖2所討論的DCT域表示。另外,塊200-1至200-n與視頻數(shù)據(jù)的一幀中的塊有關(guān),如圖7的塊184。DCT塊200-1至200-n中的每個(gè)塊的非零DCT系數(shù)被識別并被插入固定尺寸陣列202的數(shù)據(jù)結(jié)構(gòu)中。固定尺寸陣列202包括固定尺寸塊204-1至204-n。在一個(gè)實(shí)施例中,每個(gè)塊204-1至204-n被測定尺寸以存儲一個(gè)8x1數(shù)據(jù)結(jié)構(gòu)中的8個(gè)DCT系數(shù)。可以理解,本發(fā)明并不限于存儲8個(gè)DCT系數(shù)的塊,而是可以使用任意適當(dāng)?shù)某叽纭H缟纤?,存儲壓縮量隨著塊容量的增加而下降。
再次參考圖10,在DCT塊200-1至200-n的任意一個(gè)塊中有多于8個(gè)非零系數(shù)的情況下,超過相應(yīng)固定尺寸塊204-1至204-n的容量的非零DCT系數(shù)被放置在溢出矢量206中。溢出矢量206被配置為一個(gè)可變尺寸溢出矢量,即該溢出矢量是動態(tài)的。例如,塊200-1包括9個(gè)非零DCT系數(shù)A1-A9。在此,DCT系數(shù)A1-A8被復(fù)制到固定尺寸塊204-1,而DCT系數(shù)A9則被復(fù)制到溢出矢量206中。塊200-2包括10個(gè)非零DCT系數(shù)B1-B10。在此,DCT系數(shù)B1-B8被復(fù)制到固定尺寸塊204-2,而DCT系數(shù)B9和B10則被復(fù)制到溢出矢量206中,對于一幀中的每個(gè)塊來說均是如此類推。索引表208包括用于識別在溢出矢量206中的表目的相應(yīng)固定尺寸塊204-1至204-n的表目。由于每個(gè)表目是1個(gè)字節(jié),因此索引表的大小可以忽略不計(jì)。因此,對于對應(yīng)于DCT塊200-1至200-n的數(shù)據(jù)幀來說,來自固定尺寸陣列202和溢出矢量206的數(shù)據(jù)組合形成圖像210。可以看出,這可以明顯節(jié)省存儲空間。也就是說,大部分情況下,DCT塊200-1至200-n是從64個(gè)零和非零系數(shù)減少為可存儲到固定尺寸塊204-1至204-n中的8個(gè)或者更少的非零系數(shù)。當(dāng)然,也可以提供更多或更少的非零系數(shù),其中超過8個(gè)的非零系數(shù)被存儲到溢出矢量206中。
圖11A至11C是根據(jù)本發(fā)明的一個(gè)實(shí)施例在確定混合數(shù)據(jù)結(jié)構(gòu)的溢出矢量和固定尺寸陣列的固定尺寸塊的容量時(shí)所估計(jì)的因數(shù)的示意圖。在圖11A中,兩個(gè)典型CIF序列的每個(gè)亮度塊的平均非零DCT系數(shù)的數(shù)目由線條220和222表示。每個(gè)塊的非零DCT系數(shù)的數(shù)目范圍是三到七。也就是說,在64個(gè)系數(shù)當(dāng)中,平均只有2-7個(gè)系數(shù)是非零系數(shù)。使用圖11A的信息作為參考,從圖11B可以看出,溢出矢量的尺寸隨著固定尺寸陣列的增加而下降,從而最小化了該矢量的插入和刪除成本。這里的線條220-1對應(yīng)于圖11A的線條220的CIF序列,而線條222-1對應(yīng)于圖11A的線條222的CIF序列。本領(lǐng)域技術(shù)人員可以理解,存儲壓縮隨著固定尺寸陣列容量的增加而下降。另外,圖11C還顯示了該陣列的負(fù)載因數(shù)同樣也下降,這表明許多陣列是空的。在一個(gè)實(shí)施例中,選擇每個(gè)塊保存8個(gè)DCT系數(shù)的固定尺寸陣列。同樣,線條220-2對應(yīng)于圖11A的線條220的CIF序列,而線條222-2對應(yīng)于圖11A的線條222的CIF序列。這種選擇把溢出矢量的尺寸減少到大約200個(gè)DCT系數(shù),并把負(fù)載因數(shù)保持在大約9%到大約15%之間。對于本領(lǐng)域技術(shù)人員來說,顯然,固定陣列的大小并不限于每個(gè)塊8個(gè)系數(shù),而是可以選擇每個(gè)塊任意適當(dāng)?shù)南禂?shù)數(shù)目。另外,固定尺寸陣列的各個(gè)塊可具有任意適當(dāng)?shù)呐渲?。例如,能夠保?個(gè)系數(shù)的塊可被排列為8x1塊、4x2塊等,而能夠保存9個(gè)系數(shù)的塊可被排列為9x1塊、3x3塊等。
圖12所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例用于降低解碼比特流的存儲要求的方法操作的流程圖。該方法開始于操作230,其中視頻比特流被接收。在一個(gè)實(shí)施例中,該比特流是低速比特流。例如,視頻流可與一種視頻編碼標(biāo)準(zhǔn)相關(guān),如H.263、運(yùn)動圖像專家組(MPEG-1/2/4)、H.261、聯(lián)合圖像專家組(JPEG)等。該方法隨后進(jìn)行到操作232,其中該比特流的幀被解碼為與該幀相關(guān)的每個(gè)數(shù)據(jù)塊的離散余弦變換(DCT)域表示。在此,視頻由解碼器的前兩級處理,解碼器可以是圖2、6B和15所示的解碼器。也就是說,視頻數(shù)據(jù)經(jīng)過可變長解碼器級和去量化級的處理,以把壓縮比特流解碼為DCT域表示。可以看出,DCT域表示是壓縮態(tài)格式的。該幀是一次解碼一個(gè)塊的。該方法隨后前進(jìn)到操作234,其中識別DCT域表示的非零系數(shù)。這里,在與數(shù)據(jù)塊的DCT域表示相關(guān)的64個(gè)DCT系數(shù)當(dāng)中,64個(gè)DCT系數(shù)中的較少一部分一般是非零系數(shù)。
依然參考圖12,該方法隨后前進(jìn)到操作236,其中混合數(shù)據(jù)結(jié)構(gòu)被組裝。該混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)固定尺寸陣列和一個(gè)可變尺寸溢出矢量。一個(gè)典型的混合數(shù)據(jù)結(jié)構(gòu)是參考圖10所示的包括了多個(gè)固定尺寸塊的固定尺寸陣列和可變尺寸溢出矢量。該方法隨后前進(jìn)到操作238,其中DCT域表示的非零系數(shù)被插入到混合數(shù)據(jù)結(jié)構(gòu)中。正如參考圖10所描述的,一個(gè)視頻數(shù)據(jù)塊的DCT域表示的非零系數(shù)與固定尺寸陣列中的一個(gè)固定尺寸塊相關(guān)。如果非零系數(shù)的數(shù)目超過與視頻數(shù)據(jù)塊相關(guān)的固定尺寸塊的容量,則剩余的非零系數(shù)被存儲到可變尺寸溢出矢量中。在一個(gè)實(shí)施例中,一個(gè)索引表把溢出矢量中的數(shù)據(jù)映射到固定尺寸陣列的適當(dāng)?shù)墓潭ǔ叽鐗K中。因此,通過混合數(shù)據(jù)結(jié)構(gòu)和非零系數(shù)的存儲可以降低存儲要求。特別是,在不損失任何視頻質(zhì)量的情況下可以把存儲需求降低50%。
可以看出,與一幀數(shù)據(jù)相關(guān)的每個(gè)DCT域表示的非零系數(shù)被存儲到混合數(shù)據(jù)結(jié)構(gòu)中。該幀的存儲數(shù)據(jù)隨后被組合和解壓縮以用于顯示。在一個(gè)實(shí)施例中,一旦下一幀被解碼為DCT域表示而存儲到混合數(shù)據(jù)結(jié)構(gòu)中,則與前一幀相關(guān)的混合數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)被清除。正如下文將作進(jìn)一步解釋的,在壓縮域中要對所存數(shù)據(jù)執(zhí)行逆運(yùn)動補(bǔ)償。對于全像素逆運(yùn)動補(bǔ)償來說。逆運(yùn)動補(bǔ)償使用整數(shù)近似,而對于半像素逆運(yùn)動補(bǔ)償來說則使用因子分解。
空間H.263視頻解碼器的主要部分包括行程長度解碼、逆DCT和逆運(yùn)動補(bǔ)償。對于基線數(shù)據(jù)來說,通過使用定時(shí)剖面測量儀(profiler),可以測量1.1GHz奔騰4處理器上的TELENOR’S H.263視頻解碼器的性能。通過解碼基線視頻并忽略系統(tǒng)調(diào)用,該剖面測量儀可測量其解碼144幀所需的總時(shí)間,并詳述每個(gè)部分的定時(shí)特性。表2是空間H.263視頻解碼器的定時(shí)概況,并且強(qiáng)調(diào)選擇功能的定時(shí)結(jié)果。
表2

表3是非優(yōu)化壓縮域H.263視頻解碼器的定時(shí)概況。一個(gè)典型的解碼器流水線配置是參考圖2所示的解碼器。
表3

如表2所示,空間域視頻解碼器大約用1.2秒的時(shí)間解碼144幀。其大部分時(shí)間用在了圖像顯示功能上,該功能把每幀的彩色值從YUV轉(zhuǎn)換為RGB,以便在諸如WINDOWSTM這樣的合適的操作系統(tǒng)上顯示。諸如行程長度編碼、逆DCT和逆運(yùn)動補(bǔ)償這樣的功能所用的時(shí)間是解碼視頻所需的總時(shí)間的大約25%。在空間域中,逆運(yùn)動補(bǔ)償特別快。在此,全像素運(yùn)動補(bǔ)償只設(shè)置指向存儲器或幀緩沖器中的一個(gè)位置的指針并復(fù)制數(shù)據(jù)塊,而半像素運(yùn)動補(bǔ)償在存儲器中設(shè)置指針并使用移位算子內(nèi)插數(shù)值。相反,表3強(qiáng)調(diào)非優(yōu)化壓縮域視頻解碼器的一些定時(shí)結(jié)果。非優(yōu)化壓縮域解碼器解碼同樣的144個(gè)幀大約需要13.67秒。
壓縮域解碼器的主要瓶頸是逆運(yùn)動補(bǔ)償功能。如前面的公式(8)所示,在壓縮域中的全像素逆運(yùn)動補(bǔ)償要求四個(gè)(TMi)項(xiàng)之和,其中TMi被定義為以變換矩陣Cij左乘和右乘8x8矩陣塊F’i。
Fk=TM1+TM2+TM3+TM4(10)式中TMi=Ci1F’iCi2(11)表4定義全像素變換矩陣Cij。這里,S表示8x8DCT矩陣,而Uk和Lk在上面的公式3-6中定義。
表4

每個(gè)8x8矩陣乘法需要512次乘法運(yùn)算和448次加法運(yùn)算。眾所周知,矩陣乘法在計(jì)算上是非常貴的。表5比較了用于如圖2、6B和15所示流水線的壓縮域視頻流水線的優(yōu)化方案,如矩陣近似、矩陣因子分解、宏塊的共享塊以及混合方案。壓縮域視頻解碼流水線應(yīng)當(dāng)以每秒約15-25幀(fps)的速率解碼,以向手持設(shè)備提供可接受的質(zhì)量,其中該手持設(shè)備支持諸如每個(gè)數(shù)據(jù)幀352行且每行288個(gè)像素的共用中間格式這樣的視頻格式。
表5

增強(qiáng)壓縮域視頻解碼流水線的一種方案是利用塊對準(zhǔn)來減少公式(10)中的TMi運(yùn)算數(shù)。例如,解碼一個(gè)序列的144幀,并以所有這些塊的36.7%來測量塊對準(zhǔn)率。圖13所示為減少矩陣乘法的塊對準(zhǔn)的三個(gè)例子的示意圖。圖中分別示出了塊對準(zhǔn)實(shí)例240,其中(w=8,h=4)、塊對準(zhǔn)實(shí)例242,其中(w=4,h=8)和塊對準(zhǔn)實(shí)例244,其中(w=8,h=8)。在這些實(shí)例240、242和244的每個(gè)實(shí)例中,當(dāng)與相應(yīng)塊的重疊為零時(shí),則去除TMi運(yùn)算。但是可以看出,在DCT域(壓縮域)中,當(dāng)規(guī)定半像素內(nèi)插時(shí),塊對準(zhǔn)并不會節(jié)省存儲空間。下面給出在壓縮域中的半像素逆運(yùn)動補(bǔ)償?shù)墓?。對?w=8,h=8)的例子來說,如公式12和13所示,半像素內(nèi)插仍然需要四個(gè)TMi運(yùn)算。表6提供了定義半像素變換矩陣Chpij的信息。
Fhpk=TMhp1+TMhp2+TMhp3+TMhp4(12)TMhpi=Chpi1F′iChpi2(13)表6

應(yīng)當(dāng)指出,即使對于完全對準(zhǔn)的DCT塊來說,半像素內(nèi)插也會產(chǎn)生一個(gè)塊與相鄰塊的重疊。圖14所示為完全對準(zhǔn)的DCT塊的半像素內(nèi)插的示意圖。半像素內(nèi)插與相鄰塊重疊一個(gè)像素的寬度和一個(gè)像素的高度。
通過重新排列圖2所示解碼器的功能塊可以提高壓縮域解碼流水線中的處理速率。參考表2和3,在空間域中的逆DCT塊的處理時(shí)間(3ms)遠(yuǎn)遠(yuǎn)小于在壓縮域中的處理時(shí)間(652ms)。在空間域中,在反饋回路之前把逆DCT應(yīng)用于幀內(nèi)編碼塊和誤差系數(shù)。特別是,幀內(nèi)編碼塊和誤差系數(shù)在視頻的所有塊中所占的比例小于15%。逆DCT函數(shù)的其它85%的時(shí)間就被跳過了。在壓縮域中,逆DCT在流水線的最后一級被應(yīng)用到視頻的每一幀的100%的塊中。
圖15所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例用以增強(qiáng)視頻數(shù)據(jù)處理的壓縮域視頻解碼器的功能塊的重新排列的示意圖。在此,這些功能塊被重新安排,并且壓縮域流水線在兩個(gè)點(diǎn)被分開。第一個(gè)分開點(diǎn)出現(xiàn)在VLD124和DQ126之后的點(diǎn)(i)252。在上支路中,流水線保持存儲壓縮128的內(nèi)部DCT域表示。在下支路中,流水線把RLD和IDCT向上移到前面,以便把誤差系數(shù)解碼至空間域。第二個(gè)分開點(diǎn)出現(xiàn)在運(yùn)動補(bǔ)償(MC)期間的點(diǎn)(ii)254。在運(yùn)動補(bǔ)償期間,空間域輸出可根據(jù)公式(7)得到。該輸出可直接添加到誤差系數(shù)中,以在點(diǎn)(iii)256重建將在顯示器136上顯示的當(dāng)前塊。DCT塊250被插入到反饋回路中,用以保持內(nèi)部DCT表示。在點(diǎn)(i)252的RLD132和IDCT134與在點(diǎn)(ii)254的DCT的組合所需的計(jì)算少于在圖2中的流水線的最后一級的IDCT塊所需的計(jì)算。表7表示與圖15相關(guān)的重新排列,它把速度提高20%,可以與這里所述的其它優(yōu)化方案組合。
表7

<p>表1

從表1可以看到,與比較樣品C及D相比,本發(fā)明的樣品A及樣品B,其過充電時(shí)內(nèi)部壓力的上升得到了抑制。此外,與比較樣品C及D比較,樣品A及B在大電流放電時(shí)的放電容量及放電電壓高。
樣品A及B的特性高,是由于在實(shí)施形態(tài)中說明的本發(fā)明的效果。與此相對,由于比較樣品C只在極板的最外表面形成了石墨粉末層,因此負(fù)極表面的導(dǎo)電性提高,但除此以外部分的導(dǎo)電性并沒有提高。因此,在比較樣品C中,氧氣消耗能力及大電流充放電特性均不足。此外,在比較樣品D中,由于結(jié)合在氫吸藏合金表面的石墨粒子比合金的導(dǎo)電性低,因此由于妨礙了氫吸藏合金之間的接觸,電極的導(dǎo)電性降低。其結(jié)果是在比較樣品D中,氧氣消耗能力及大電流充放電特性均不足。
因此,矩陣-向量相乘已經(jīng)變成了一系列公式。上述的公式序列需要5個(gè)乘法運(yùn)算和21個(gè)加法運(yùn)算。在公式(24)中的矩陣乘法JhG’0F’需要104個(gè)乘法運(yùn)算和164個(gè)加法運(yùn)算。因此,這就實(shí)現(xiàn)了比公式(8)中的矩陣乘法CijF’所需的乘法運(yùn)算數(shù)少5倍的運(yùn)算。另外,在這個(gè)矩陣運(yùn)算期間并不會喪失精確度,該矩陣運(yùn)算使用了32比特浮點(diǎn)算法。但是,參考表5可以看出,因子分解對壓縮域流水線的加速作用只比矩陣-矩陣快9%。因此,額外的存儲器存取會把幀速率減慢到低于大約15到25fps的目標(biāo)速率,因此,僅僅有因子分解是不夠的。
為了進(jìn)一步提高逆運(yùn)動補(bǔ)償?shù)乃俣?,可以去掉公?11,13)中的基本TM運(yùn)算所需的乘法運(yùn)算。全像素和半像素矩陣Cij和Chpij被近似處理為最接近的2-5次方的二進(jìn)制數(shù)字。通過以二進(jìn)制數(shù)字來近似處理這些矩陣,可以使用基本整數(shù)運(yùn)算來進(jìn)行矩陣乘法運(yùn)算,基本整數(shù)運(yùn)算可以是右移位和加法,從而求解公式(10,12)中的逆運(yùn)動補(bǔ)償。例如,下面將檢驗(yàn)全像素矩陣C11,其中h=1。應(yīng)當(dāng)理解,也可以利用類似的方式來近似處理其它矩陣。 其中,矩陣中的每個(gè)元素被四舍五入為最接近的2的乘方,矩陣(47)為 由于DCT元在[-2048到2047]的范圍之內(nèi),因此DCT系數(shù)的直接漂移將會使得大部分值為零。為了保持中間結(jié)果的精確度,我們在整個(gè)解碼流水線中以28定標(biāo)每個(gè)DCT系數(shù)。這個(gè)定標(biāo)因數(shù)是在量化和去量化步驟期間引入的,這樣就不會帶來額外的運(yùn)算。
而且,根據(jù)乘積之和的法則(見公式(48-50)),通過組合各項(xiàng),我們可以執(zhí)行快速矩陣乘法運(yùn)算。
u1=0.1250v1-0.1875v2+0.1875v3-0.1250v4+0.1250v5-0.1250v6+0.0625v7-0.0625v8(48)u1=(v1>>3)-(v2>>3)-(v2>>4)+(v2>>3)+(v3>>4)-(v4>>3)+(v5>>3)-(v6>>3)+(v7>>4)-(v8>>4)(49)u1=(v1-v2+v3-v4+v5-v6)>>3+(-v2+v3+v7-v8)>>4 (50)u=C^11v]]>(其中u={u1,....u8},而v={v1,....v8})的運(yùn)算可以計(jì)算如下u1=(v1-v2+v3-v4+v5-v6)>>3+(-v2+v3+v7-v8)>>4(51)u2=(v3-v2)>>2+(v1-v4+v5-v6+v7)>>3+(v1-v4+v5-v8)>>4 (52)u3=(v1+v3-v4+v5-v6)>>3-(v2>>2)+(v1+v3-v4+v5+v7-v8)>>4 (53)u4=(v1-v2+v3-v4+v5-v6)>>3+(v3-v2-v4+v7-v8)>>4 (54)u5=(v1-v2+v3-v4+v5-v6)>>3+(-v2+v3+v7-v8)>>4(55)u6=(v1-v2+v3-v4+v5)>>3+(v7-v6)>>4 (56)u7=(v1+v3-v4+v5-v6+v7)>>4+(v2)>>3 (57)u8=(v1-v2+v3-v4+v5)>>4 (58)該矩陣近似總共需要17個(gè)右移和57個(gè)加法運(yùn)算。公式(8)中的矩陣近似 需要136個(gè)右移和456個(gè)加法運(yùn)算。因此,與矩陣乘法相比,可以在保證浮點(diǎn)精確度的情況下明顯的降低計(jì)算的復(fù)雜性。實(shí)際上,從表5可以看出,近似技術(shù)把壓縮域流水線的速度提高了31%,這是足以能夠?qū)崿F(xiàn)大約15fps的目標(biāo)幀速率的。但是,采樣視頻的PSNR會降低,并且會在中等運(yùn)動區(qū)中表現(xiàn)出明顯的漂移。
根據(jù)視頻運(yùn)動選擇應(yīng)用的變換矩陣TM的混合因子分解/整數(shù)近似技術(shù)可以提供大約15到25fps的理想幀速率,同時(shí)保持可接受的質(zhì)量。如上所述,整數(shù)近似技術(shù)降低了解碼器的復(fù)雜性,但也降低了解碼視頻的PSNR。同時(shí),因子分解法能夠保持良好的PSNR,但不能降低解碼器的復(fù)雜性來滿足希望的幀速率。通過把整數(shù)近似的低復(fù)雜性與因子分解法的高精確度結(jié)合在一起,可以獲得支持低速視頻比特流的壓縮域視頻解碼流水線。
這里已經(jīng)討論了兩種類型的變換矩陣TMi,在公式(11)中所示的全像素運(yùn)動補(bǔ)償;以及TMhpi,在公式(13)中所示的半像素運(yùn)動補(bǔ)償。使用TMi的近似矩陣的全像素運(yùn)動補(bǔ)償?shù)挠?jì)算復(fù)雜性只有使用8x8浮點(diǎn)矩陣的計(jì)算復(fù)雜性的28%。但是,當(dāng)把近似技術(shù)直接應(yīng)用到半像素變換矩陣TMhpi上時(shí),可以看出,使用TMhpi的近似矩陣的半像素運(yùn)動補(bǔ)償降低了PSNR(見表8)并在解碼視頻中產(chǎn)生可見的失真。產(chǎn)生這些誤差有兩個(gè)原因。首先,半像素變換矩陣TMhpi對近似技術(shù)更為敏感。參考表8,TMhpi是由許多比TMi多的項(xiàng)構(gòu)成的復(fù)合矩陣。其次,正如上文中參考圖6A和6B所描述的,在半像素內(nèi)插期間的非線性處理與近似技術(shù)產(chǎn)生的誤差相結(jié)合會導(dǎo)致誤差的累積,而這尤其可見于中到高度運(yùn)動的區(qū)域中。
把因子分解法有選擇地應(yīng)用于半像素矩陣可以消除這些誤差。如上所述,因子分解法能夠保持浮點(diǎn)的精確度,這樣就可以最小化所述的誤差。例如,因子分解法把與TMhpi的矩陣乘法減少為類似于公式(25-45)中所示的一系列公式。這些公式可保持32比特的浮點(diǎn)精確度,這樣就不會產(chǎn)生近似誤差。而且,在運(yùn)動補(bǔ)償期間,因子分解法把DCT塊解碼至空間域,這樣,參考圖15所述的優(yōu)化方案就可以與此處所述的優(yōu)化方案組合在一起。表5表示混合法滿足15fps的目標(biāo)幀速率,而表8顯示出混合法的PSNR提供了可以接受的PSNR。
表8


圖16是根據(jù)本發(fā)明的一個(gè)實(shí)施例在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償?shù)姆椒ú僮鞯牧鞒虉D。該方法開始于操作260,其中接收壓縮比特流中的視頻數(shù)據(jù)幀。在一個(gè)實(shí)施例中,該比特流是低速比特流。例如,該比特流可以與一個(gè)已知的視頻編碼標(biāo)準(zhǔn)相關(guān),如MPEG4、H.263、H.261等。該方法隨后前進(jìn)到操作262,其中,該比特流的幀中的一個(gè)塊被解碼為離散余弦變換(DCT)域表示。在此,視頻經(jīng)過了解碼器前兩級的處理,解碼器可以是圖2、6B和15所示的解碼器。也就是說,視頻數(shù)據(jù)經(jīng)過可變長解碼器級和去量化級的處理,以把壓縮比特流解碼為DCT域表示??梢钥闯?,DCT域表示是壓縮態(tài)格式的。該方法隨后前進(jìn)到操作264,其中,與DCT域表示相關(guān)的數(shù)據(jù)被存儲到混合數(shù)據(jù)結(jié)構(gòu)中。參考圖10和12所示的混合數(shù)據(jù)結(jié)構(gòu)是一種合適的混合數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,該混合數(shù)據(jù)結(jié)構(gòu)降低了對于諸如蜂窩電話、PDA、web輸入板、便攜式個(gè)人計(jì)算機(jī)等等這些具有顯示視頻數(shù)據(jù)的顯示屏的便攜式電子設(shè)備的存儲要求。
依然參考圖16,該方法前進(jìn)到操作266,其中,在壓縮域中對與DCT域表示有關(guān)的數(shù)據(jù)執(zhí)行逆運(yùn)動補(bǔ)償。在此,逆運(yùn)動補(bǔ)償包括有選擇地應(yīng)用上文中參考表5和8所述的混合因子分解/整數(shù)近似技術(shù)。該方法隨后前進(jìn)到判斷操作268,其中,混合因子分解/整數(shù)近似方法識別與正在被處理的視頻數(shù)據(jù)的塊相關(guān)的變換矩陣的類型。在一個(gè)實(shí)施例中,變換矩陣的類型被通過正在被解碼的比特流的比特組中的信息進(jìn)行檢測。如果變換矩陣是半像素矩陣,則該方法前進(jìn)到操作步驟270,其中,使用因子分解技術(shù)來解碼比特流。在一個(gè)實(shí)施例中,如上文中參考公式25-45所示的,因子分解技術(shù)把矩陣乘法減少為一系列公式。也就是說,矩陣相乘被矩陣置換所取代。如果在判斷操作268中確定變換矩陣是全像素矩陣,則該方法前進(jìn)到操作272,其中,使用整數(shù)近似技術(shù)來解碼比特流。在此,矩陣乘法可使用基本整數(shù)運(yùn)算來執(zhí)行,以求解逆運(yùn)動補(bǔ)償,這正如上文中參考公式46-58所述的情況一樣。因此,通過有選擇地使用混合因子分解/整數(shù)近似技術(shù),可執(zhí)行壓縮域中的處理,從而提供質(zhì)量可以接受的足夠的幀速率,以便能夠降低存儲要求,而這可利用上述的混合數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)。
圖17是根據(jù)本發(fā)明的一個(gè)實(shí)施例有選擇地應(yīng)用混合因子分解/整數(shù)近似技術(shù)的示意圖。顯示屏280用于呈現(xiàn)由低比特率視頻所確定的圖像。例如,顯示屏280可以與諸如PDA、蜂窩電話、便攜式個(gè)人計(jì)算機(jī)、web輸入板等的便攜式電子設(shè)備有關(guān)聯(lián)。球282在視頻的垂直方向上移動。塊284圍繞在該移動物體的圓周上,并且被認(rèn)為屬于中或高度運(yùn)動區(qū),而且是逐幀變化的。塊286表示背景,而且每一幀之間基本保持相同。因此,在壓縮比特流的解碼期間,一幀數(shù)據(jù)的塊284將與逐幀變化的高度運(yùn)動區(qū)相關(guān),而塊286則在每幀之間基本上保持不變。與高度運(yùn)動區(qū)相關(guān)的塊284在應(yīng)用解碼技術(shù)即因子分解技術(shù)期間需要較高的精確度,而塊286基本不變,因此可以允許較低復(fù)雜性的內(nèi)插方法,即整數(shù)近似。因而,因子分解技術(shù)被應(yīng)用到了中和高度運(yùn)動區(qū)的塊284中,而整數(shù)近似技術(shù)被應(yīng)用到了背景塊286。如上所述,嵌入比特流中的信息被檢測,以用于判斷一個(gè)塊是否與高度運(yùn)動有關(guān),即通過因子分解技術(shù)應(yīng)用半像素運(yùn)動補(bǔ)償,或者該塊是否是背景數(shù)據(jù),即通過整數(shù)近似技術(shù)應(yīng)用全像素運(yùn)動補(bǔ)償。在一個(gè)實(shí)施例中,參考圖2、6B和15的運(yùn)動矢量規(guī)定運(yùn)動補(bǔ)償是半像素還是全像素運(yùn)動補(bǔ)償。
可以理解,上述實(shí)施例可以用軟件或硬件來實(shí)施。本領(lǐng)域技術(shù)人員可以理解,該解碼器可以體現(xiàn)為一個(gè)包括用以提供上述功能的邏輯門的半導(dǎo)體芯片。例如,可采用硬件描述語言(HDL),如VERILOG來綜合固件和邏輯門的布局,以提供這里所述的必須功能,從而提供視頻解碼器的一個(gè)硬件實(shí)施方案。
圖18所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例的便攜式電子設(shè)備的簡化示意圖,該電子設(shè)備的解碼器電路能夠使用混合數(shù)據(jù)結(jié)構(gòu)來降低存儲要求并應(yīng)用混合因子分解/整數(shù)近似技術(shù)來有效地解碼比特流數(shù)據(jù)。便攜式電子設(shè)備290包括中央處理單元(CPU)294、存儲器292、顯示屏136和解碼器電路298,所有這些都通過總線296彼此通信。如上所述,解碼器電路298包括用以提供降低在壓縮域中的視頻處理和執(zhí)行逆運(yùn)動補(bǔ)償?shù)拇鎯σ蟮墓δ艿倪壿嬮T。本領(lǐng)域技術(shù)人員可以理解,解碼器電路298可以包括在包含解碼器電路的芯片內(nèi)的存儲器,也可以包括在芯片之外的存儲器。
圖19所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖18所示解碼器電路的更為詳細(xì)的示意圖。輸入比特流122由解碼器298的可變長解碼器(VLD)電路300接收。本領(lǐng)域技術(shù)人員可以理解,解碼器電路298可以位于印制電路板的半導(dǎo)體芯片上。VLD電路300與去量化電路302通信。VLD電路300向運(yùn)動補(bǔ)償電路306提供運(yùn)動矢量信號。視頻處理存儲器308存儲來自去量化電路302的處于壓縮域中的視頻的內(nèi)部表示。DCT電路304保存來自運(yùn)動補(bǔ)償電路306的視頻的內(nèi)部DCT表示。行程長度解碼(RLD)電路310和逆離散余弦變換(IDCT)電路312解壓縮視頻數(shù)據(jù)以便在顯示屏136上顯示??梢钥闯?,在此描述的電路塊提供的功能類似于參考圖2、6B和15所述的塊/級的功能。
總之,上文所述的本發(fā)明提供了一種壓縮域視頻解碼器,它能夠降低視頻存儲量,并在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償。存儲量降低是通過混合數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)的,該混合數(shù)據(jù)結(jié)構(gòu)能夠存儲和處理參考幀的非零DCT系數(shù),從而定義當(dāng)前幀。該混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)固定尺寸陣列,該陣列具有與視頻數(shù)據(jù)的一幀中的每個(gè)塊相關(guān)的固定尺寸塊。該混合數(shù)據(jù)結(jié)構(gòu)中包括一個(gè)可變尺寸溢出矢量,用以容納超過固定尺寸塊的容量的非零系數(shù)。通過該壓縮域視頻解碼器實(shí)現(xiàn)的存儲壓縮量是空間域視頻解碼器的兩倍。壓縮域視頻解碼器的逆運(yùn)動補(bǔ)償已被優(yōu)化,從而提供質(zhì)量可以接受的視頻的每秒大約15-25幀。一種混合因子分解/整數(shù)近似法被有選擇地應(yīng)用到正在被解碼的塊中。確定應(yīng)用內(nèi)插因子分解/整數(shù)近似技術(shù)中的哪一個(gè)的標(biāo)準(zhǔn)是根據(jù)變換矩陣而定的,即因子分解應(yīng)用于半像素矩陣,而整數(shù)近似應(yīng)用于全像素矩陣??梢岳斫?,在一個(gè)實(shí)施例中,這里描述的壓縮域流水線可被結(jié)合到MPEG-4簡化(simple profile)視頻解碼器中。而且,這些實(shí)施例能夠進(jìn)行各種應(yīng)用,如電池式(CPU限制的)設(shè)備上的可定標(biāo)功率解碼,以及視頻會議系統(tǒng)的合成。
考慮到上面的實(shí)施例,可以理解,本發(fā)明可采用各種計(jì)算機(jī)實(shí)施的涉及存儲到計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)的運(yùn)算。這些運(yùn)算包括要求物理量的物理處理的運(yùn)算。盡管并不是必須的,但通常這些量的形式是能夠被存儲、傳送、組合、比較和處理的電或磁信號。另外,所執(zhí)行的處理通常指的是產(chǎn)生、識別、確定或比較。
上述的本發(fā)明可以利用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)施,這些計(jì)算機(jī)系統(tǒng)配置包括手持設(shè)備、微處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)電子產(chǎn)品、迷你計(jì)算機(jī)以及大型計(jì)算機(jī)等。本發(fā)明也可以在分布式計(jì)算環(huán)境下實(shí)施,在這種環(huán)境下,任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行的。
本發(fā)明也可以體現(xiàn)為計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀代碼。該計(jì)算機(jī)可讀介質(zhì)是能夠存儲之后可由計(jì)算機(jī)系統(tǒng)讀出的數(shù)據(jù)的任何一種數(shù)據(jù)存儲設(shè)備。該計(jì)算機(jī)可讀介質(zhì)的例子包括硬驅(qū)、網(wǎng)絡(luò)連接的存儲器(NAS)、只讀存儲器、隨機(jī)存取存儲器、CD-ROM、CD-R、CD-RW、磁帶以及其它光及非光數(shù)據(jù)存儲設(shè)備。該計(jì)算機(jī)可讀介質(zhì)也可分布于網(wǎng)絡(luò)耦合的計(jì)算機(jī)系統(tǒng)當(dāng)中,這樣,就能夠以分布式來存儲和執(zhí)行該計(jì)算機(jī)可讀代碼。該計(jì)算機(jī)可讀介質(zhì)也可以是在其中體現(xiàn)計(jì)算機(jī)代碼的電磁載波。
盡管為了充分地理解本發(fā)明已經(jīng)在前面對其進(jìn)行了詳細(xì)描述,但顯然,在所附權(quán)利要求的范圍內(nèi)也可以進(jìn)行某些變化和改進(jìn)。因此,本發(fā)明的這些實(shí)施例只是示意性的,它們并不能限制本發(fā)明,并且本發(fā)明并不限于這里所給出的細(xì)節(jié),在所附權(quán)利要求的范圍和等效情況下可以對其進(jìn)行改進(jìn)。在權(quán)利要求中,除非是明確指出,否則那些元件和/或步驟并不表示任何特定的操作順序。
權(quán)利要求
1.一種減小對解碼比特流的存儲要求的方法,包括接收視頻比特流;把比特流的一幀解碼為變換域表示;識別該變換域表示的非零系數(shù);組裝包括一個(gè)固定尺寸陣列和一個(gè)可變尺寸溢出矢量的混合數(shù)據(jù)結(jié)構(gòu);并且把該變換域表示的非零系數(shù)插入到該混合數(shù)據(jù)結(jié)構(gòu)中。
2.如權(quán)利要求1的方法,其中該視頻比特流是低速視頻比特流。
3.如權(quán)利要求1的方法,其中該方法中把比特流的一幀解碼為變換域表示的操作包括利用一個(gè)可變長解碼器和一個(gè)去量化塊處理該比特流。
4.如權(quán)利要求1的方法,其中該固定尺寸陣列包括固定尺寸塊。
5.如權(quán)利要求4的方法,其中該固定尺寸塊用于存儲變換域表示的8個(gè)非零系數(shù)。
6.如權(quán)利要求1的方法,其中該方法中把變換域表示的非零系數(shù)插入到混合數(shù)據(jù)結(jié)構(gòu)中的操作包括針對該幀的每個(gè)塊,把固定尺寸陣列中的系數(shù)映射到可變尺寸溢出矢量中的相應(yīng)系數(shù)上。
7.一種解碼視頻數(shù)據(jù)的方法,包括接收壓縮比特流內(nèi)的視頻數(shù)據(jù)的一幀;在壓縮域中把該幀的一個(gè)塊解碼為變換域表示;定義一種混合數(shù)據(jù)結(jié)構(gòu);把與該變換域表示有關(guān)的數(shù)據(jù)存儲到該混合數(shù)據(jù)結(jié)構(gòu)中;在壓縮域中對與變換域表示有關(guān)的數(shù)據(jù)執(zhí)行逆運(yùn)動補(bǔ)償;并且在對數(shù)據(jù)進(jìn)行逆運(yùn)動補(bǔ)償之后,解壓縮該數(shù)據(jù)以便于顯示。
8.如權(quán)利要求7的方法,其中該混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)固定尺寸塊的固定尺寸陣列和一個(gè)可變尺寸溢出矢量。
9.如權(quán)利要求7的方法,其中該方法中把與變換域表示相關(guān)的數(shù)據(jù)存儲到混合數(shù)據(jù)結(jié)構(gòu)中的操作包括識別該變換域表示的非零系數(shù);把非零系數(shù)存儲到該混合數(shù)據(jù)結(jié)構(gòu)的固定尺寸陣列的一個(gè)固定尺寸塊中,直到達(dá)到該固定尺寸塊的容量為止;以及在達(dá)到固定尺寸塊的容量之后,把超過固定尺寸塊容量的非零系數(shù)存儲到溢出矢量中。
10.如權(quán)利要求7的方法,其中壓縮比特流是低速比特流。
11.如權(quán)利要求7的方法,其中該方法中在壓縮域中對與變換域表示相關(guān)的數(shù)據(jù)執(zhí)行逆運(yùn)動補(bǔ)償?shù)牟僮靼ò岩环N混合因子分解和整數(shù)近似技術(shù)應(yīng)用到與變換域表示相關(guān)的數(shù)據(jù)中。
12.一種具有用于重排低速比特流數(shù)據(jù)以便存儲到混合數(shù)據(jù)結(jié)構(gòu)中的程序指令的計(jì)算機(jī)可讀介質(zhì),包括識別與一幀數(shù)據(jù)的編碼塊相關(guān)的非零變換系數(shù)的程序指令;把非零變換系數(shù)排列為一個(gè)固定尺寸陣列的程序指令;判斷非零變換系數(shù)的數(shù)量是否超過該固定尺寸陣列的容量的程序指令;把超過該固定尺寸陣列容量的非零變換系數(shù)存儲到可變尺寸的溢出矢量中的程序指令,以及把非零變換系數(shù)從壓縮域變換到空間域的程序指令。
13.如權(quán)利要求12的計(jì)算機(jī)可讀介質(zhì),其中該固定尺寸陣列包括多個(gè)固定尺寸塊。
14.如權(quán)利要求13的計(jì)算機(jī)可讀介質(zhì),其中每個(gè)固定尺寸塊被配置來存儲最多八個(gè)非零變換系數(shù)。
15.如權(quán)利要求12的計(jì)算機(jī)可讀介質(zhì),還包括程序指令,用于針對該幀數(shù)據(jù)的每個(gè)塊,把固定尺寸陣列中的系數(shù)映射到可變尺寸溢出矢量中的相應(yīng)系數(shù)上。
16.如權(quán)利要求12的計(jì)算機(jī)可讀介質(zhì),還包括利用一種混合因子分解和整數(shù)近似技術(shù)對非零變換系數(shù)執(zhí)行逆運(yùn)動補(bǔ)償?shù)某绦蛑噶睢?br> 17.一種電路,包括視頻解碼器集成電路芯片,該視頻解碼器集成電路芯片包括接收與一幀視頻數(shù)據(jù)相關(guān)的數(shù)據(jù)比特流的電路;把數(shù)據(jù)比特流解碼為變換域表示的電路;把混合數(shù)據(jù)結(jié)構(gòu)中的變換域表示的非零變換系數(shù)排列在與視頻解碼器相關(guān)的存儲器中的電路;以及解壓縮變換域表示的非零變換系數(shù)以便于顯示的電路。
18.如權(quán)利要求17的電路,其中該比特流是H.263比特流。
19.如權(quán)利要求17的電路,其中該存儲器與視頻解碼器集成電路芯片分離。
20.如權(quán)利要求17的電路,還包括利用一種混合因子分解和整數(shù)近似技術(shù)執(zhí)行逆運(yùn)動補(bǔ)償?shù)碾娐贰?br> 21.如權(quán)利要求17的電路,其中該存儲器是靜態(tài)隨機(jī)存取存儲器。
22.一種顯示視頻圖像的設(shè)備,包括中央處理單元(CPU);隨機(jī)存取存儲器(RAM);用于呈現(xiàn)圖像的顯示屏;把視頻比特流變換為變換域表示的解碼器電路,解碼器電路能夠把混合數(shù)據(jù)結(jié)構(gòu)中的變換域表示的非零變換系數(shù)排列到與該解碼器電路相關(guān)的存儲器中,解碼器電路包括在逆運(yùn)動補(bǔ)償期間有選擇地應(yīng)用混合因子分解/整數(shù)近似技術(shù)的電路;以及與CPU、RAM、顯示屏和解碼器電路進(jìn)行通信的總線。
23.如權(quán)利要求22的設(shè)備,其中該設(shè)備是便攜式電子設(shè)備。
24.如權(quán)利要求23的設(shè)備,其中該便攜式電子設(shè)備從個(gè)人數(shù)字助理、蜂窩電話、web輸入板和便攜式個(gè)人計(jì)算機(jī)所構(gòu)成的組中選擇。
25.如權(quán)利要求22的設(shè)備,其中該混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)具有多個(gè)固定尺寸塊的固定尺寸陣列和一個(gè)可變尺寸溢出矢量。
26.如權(quán)利要求25的設(shè)備,其中多個(gè)固定尺寸塊中的每個(gè)塊均存儲8個(gè)非零變換系數(shù)。
27.如權(quán)利要求26的設(shè)備,其中超過8個(gè)的非零變換系數(shù)被存儲到可變尺寸溢出矢量中。
28.如權(quán)利要求22的設(shè)備,其中該解碼器電路包括用于存儲與混合數(shù)據(jù)結(jié)構(gòu)相關(guān)的數(shù)據(jù)的芯片內(nèi)存儲器。
29.如權(quán)利要求22的設(shè)備,其中用于在逆運(yùn)動補(bǔ)償期間有選擇地使用混合因子分解/整數(shù)近似技術(shù)的電路包括把視頻圖像幀中的塊標(biāo)識為與活動運(yùn)動區(qū)或不活動運(yùn)動區(qū)之一相關(guān)的電路;以及通過把因子分解技術(shù)應(yīng)用于與活動運(yùn)動區(qū)相關(guān)的塊并把整數(shù)近似技術(shù)應(yīng)用于與不活動運(yùn)動區(qū)相關(guān)的塊來執(zhí)行逆運(yùn)動補(bǔ)償?shù)碾娐贰?br> 30.如權(quán)利要求22的設(shè)備,其中該視頻比特流是低速視頻比特流。
31.一種執(zhí)行逆運(yùn)動補(bǔ)償?shù)姆椒?,包括接收視頻比特流;識別從半像素矩陣和全像素矩陣所組成的組中所選的變換矩陣類型;如果該變換矩陣的類型是半像素矩陣,則該方法包括應(yīng)用因子分解技術(shù)來解碼與該半像素矩陣對應(yīng)的比特流;并且如果該變換矩陣的類型是全像素矩陣,則該方法包括應(yīng)用整數(shù)近似技術(shù)來解碼與該全像素矩陣相應(yīng)的比特流。
32.如權(quán)利要求31的方法,其中該視頻比特流是低速視頻比特流。
33.如權(quán)利要求31的方法,其中該方法中應(yīng)用因子分解技術(shù)來解碼與該半像素矩陣對應(yīng)的比特流的操作包括對半像素矩陣執(zhí)行因子分解,得到一個(gè)稀疏矩陣序列,這些稀疏矩陣包括置換矩陣和對角矩陣。
34.如權(quán)利要求31的方法,其中該方法中應(yīng)用整數(shù)近似技術(shù)來解碼與該全像素矩陣相應(yīng)的比特流的操作包括以二進(jìn)制數(shù)來近似全像素矩陣中的每個(gè)元素。
35.如權(quán)利要求34的方法,其中每個(gè)元素被四舍五入為最接近的2的乘方。
36.一種解碼視頻數(shù)據(jù)的方法,包括接收壓縮比特流內(nèi)的視頻數(shù)據(jù)的一幀;在壓縮域中把該幀的一個(gè)塊解碼為變換域表示;把與該變換域表示相關(guān)的數(shù)據(jù)存儲到混合數(shù)據(jù)結(jié)構(gòu)中;在壓縮域中對與該變換域表示相關(guān)的數(shù)據(jù)執(zhí)行逆運(yùn)動補(bǔ)償;該執(zhí)行逆運(yùn)動補(bǔ)償包括確定與視頻數(shù)據(jù)幀的一部分相關(guān)的變換矩陣的類型;以及應(yīng)用混合因子分解和整數(shù)近似技術(shù)來增強(qiáng)逆運(yùn)動補(bǔ)償。
37.如權(quán)利要求36的方法,其中壓縮比特流與從H263、H.261和運(yùn)動圖像專家組所組成的組中選擇的一種標(biāo)準(zhǔn)有關(guān)。
38.如權(quán)利要求36的方法,其中該混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)固定尺寸陣列和一個(gè)可變尺寸溢出矢量。
39.如權(quán)利要求36的方法,其中變換矩陣的類型從半像素矩陣和全像素矩陣所構(gòu)成的組中進(jìn)行選擇。
40.如權(quán)利要求39的方法,其中半像素矩陣與圖像的高度運(yùn)動區(qū)有關(guān),而全像素矩陣與圖像的最小運(yùn)動區(qū)有關(guān)。
41.如權(quán)利要求36的方法,其中該方法中應(yīng)用混合因子分解和整數(shù)近似技術(shù)來增強(qiáng)逆運(yùn)動補(bǔ)償?shù)牟僮靼ò岩蜃臃纸饧夹g(shù)應(yīng)用于與對應(yīng)該幀的高度運(yùn)動區(qū)的塊相關(guān)的矩陣中;并且把整數(shù)近似技術(shù)應(yīng)用于該幀剩余的塊中。
42.如權(quán)利要求36的方法,其中壓縮比特流是低速比特流。
43.一種具有在壓縮域中執(zhí)行逆運(yùn)動補(bǔ)償?shù)某绦蛑噶畹挠?jì)算機(jī)可讀介質(zhì),包括識別變換矩陣的程序指令;判斷變換矩陣是否是半像素矩陣和全像素矩陣之一的程序指令;應(yīng)用因子分解技術(shù)解碼與半像素矩陣相對應(yīng)的比特流的塊的程序指令;以及應(yīng)用整數(shù)近似技術(shù)解碼與全像素矩陣相對應(yīng)的比特流的塊的程序指令。
44.如權(quán)利要求43的計(jì)算機(jī)可讀介質(zhì),其中用于執(zhí)行逆運(yùn)動補(bǔ)償?shù)某绦蛑噶畋辉趬嚎s域中執(zhí)行。
45.如權(quán)利要求43的計(jì)算機(jī)可讀介質(zhì),還包括提取運(yùn)動矢量數(shù)據(jù)的程序指令,該運(yùn)動矢量數(shù)據(jù)用于把變換矩陣標(biāo)識為半像素矩陣和全像素矩陣之一。
46.如權(quán)利要求43的計(jì)算機(jī)可讀介質(zhì),還包括用于把與一幀數(shù)據(jù)的編碼塊相關(guān)的非零變換系數(shù)排列到混合數(shù)據(jù)結(jié)構(gòu)中的程序指令。
47.如權(quán)利要求43的計(jì)算機(jī)可讀介質(zhì),其中應(yīng)用整數(shù)近似技術(shù)解碼與全像素矩陣相對應(yīng)的比特流的塊的程序指令包括以二進(jìn)制數(shù)來近似全像素矩陣中的每個(gè)元素的程序指令。
48.如權(quán)利要求43的計(jì)算機(jī)可讀介質(zhì),其中應(yīng)用因子分解技術(shù)解碼與半像素矩陣相對應(yīng)的比特流的塊的程序指令包括對半像素矩陣執(zhí)行因子分解以得到一個(gè)稀疏矩陣序列的程序指令,其中這些稀疏矩陣包括置換矩陣和對角矩陣。
49.一種電路,包括用于解碼視頻數(shù)據(jù)的集成電路芯片,該集成電路芯片包括用于接收與一幀視頻數(shù)據(jù)相關(guān)的數(shù)據(jù)比特流的電路;把數(shù)據(jù)比特流解碼為變換域表示的電路;識別變換矩陣類型的電路;以及利用混合因子分解和整數(shù)近似技術(shù)執(zhí)行逆運(yùn)動補(bǔ)償?shù)碾娐贰?br> 50.如權(quán)利要求49的電路,其中該集成電路芯片還包括用于把變換域表示的非零變換系數(shù)排列到混合數(shù)據(jù)結(jié)構(gòu)中的電路。
51.如權(quán)利要求49的電路,其中該比特流是低速比特流。
52.如權(quán)利要求49的電路,其中利用混合因子分解和整數(shù)近似技術(shù)執(zhí)行逆運(yùn)動補(bǔ)償?shù)碾娐钒岩蜃臃纸饧夹g(shù)應(yīng)用于半像素變換矩陣,而把整數(shù)近似技術(shù)應(yīng)用于全像素變換矩陣。
53.如權(quán)利要求49的電路,還包括與該集成電路芯片通信的存儲器。
54.如權(quán)利要求49的電路,其中該混合因子分解和整數(shù)近似技術(shù)應(yīng)用于壓縮域中的數(shù)據(jù)。
55.一種視頻解碼器,包括可變長解碼器(VLD),用于從輸入比特流中提取系數(shù)值和運(yùn)動矢量數(shù)據(jù);與VLD通信的去量化塊,該去量化塊用于對系數(shù)值重新定標(biāo);與該去量化塊通信的下支路,該下支路用于把誤差系數(shù)解碼至空間域;以及與該去量化塊通信的上支路,該上支路用于保持內(nèi)部變換域表示,該上支路還用于產(chǎn)生空間域輸出,以能夠添加到解碼的誤差系數(shù)中,從而重建當(dāng)前塊。
56.如權(quán)利要求55的視頻解碼器,其中該視頻解碼器以軟件來實(shí)施。
57.如權(quán)利要求55的視頻解碼器,其中該視頻解碼器以硬件來實(shí)施。
58.如權(quán)利要求55的視頻解碼器,其中該輸入比特流是低速比特流。
59.如權(quán)利要求55的視頻解碼器,其中該上支路包括反饋回路、該反饋回路包括幀緩沖器、運(yùn)動補(bǔ)償塊和離散余弦變換塊。
60.如權(quán)利要求55的視頻解碼器,其中該下支路包括行程長度解碼塊和逆變換塊。
61.如權(quán)利要求55的視頻解碼器,其中逆運(yùn)動補(bǔ)償操作在壓縮域中被執(zhí)行。
62.如權(quán)利要求55的視頻解碼器,其中變換域表示的非零系數(shù)被排列在與視頻解碼器相關(guān)的存儲器中的混合數(shù)據(jù)結(jié)構(gòu)中,以降低存儲要求。
63.如權(quán)利要求62的視頻解碼器,其中該混合數(shù)據(jù)結(jié)構(gòu)包括一個(gè)固定尺寸陣列和一個(gè)可變尺寸溢出矢量。
64.如權(quán)利要求61的視頻解碼器,其中該逆運(yùn)動補(bǔ)償包括一種混合因子分解和整數(shù)近似技術(shù)。
65.如權(quán)利要求64的視頻解碼器,其中該混合因子分解和整數(shù)近似技術(shù)用于把因子分解技術(shù)應(yīng)用于半像素變換矩陣,而把整數(shù)近似技術(shù)應(yīng)用于全像素變換矩陣。
全文摘要
提供了減小對解碼比特流存儲要求的方法。該方法先接收視頻比特流。隨后該比特流的一幀被解碼為離散余弦變換(DCT)域表示。接著識別該DCT域表示的非零系數(shù)。隨后,混合數(shù)據(jù)結(jié)構(gòu)被組裝。該混合數(shù)據(jù)結(jié)構(gòu)包括固定尺寸陣列和可變尺寸的溢出矢量。接著該DCT域表示的非零系數(shù)被插入到該混合數(shù)據(jù)結(jié)構(gòu)中。提供了執(zhí)行逆運(yùn)動補(bǔ)償?shù)姆椒?。該方法先接收視頻比特流。隨后識別變換矩陣的類型。若該變換矩陣的類型是半像素矩陣,則該方法應(yīng)用因子分解技術(shù)解碼與該半像素矩陣對應(yīng)的比特流。若該變換矩陣的類型是全像素矩陣,則該方法應(yīng)用整數(shù)近似技術(shù)來解碼與該全像素矩陣相應(yīng)的比特流。還提供解碼視頻數(shù)據(jù)和/或執(zhí)行逆運(yùn)動補(bǔ)償?shù)挠?jì)算機(jī)可讀介質(zhì)、印制電路板和設(shè)備。
文檔編號H03M7/36GK1452396SQ0311059
公開日2003年10月29日 申請日期2003年4月11日 優(yōu)先權(quán)日2002年4月12日
發(fā)明者W·陳, V·布哈斯卡蘭 申請人:精工愛普生株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1