專利名稱:用于提供適用于降低復(fù)雜度的解碼的單層視頻編碼比特流的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻信息壓縮,更具體來說,涉及用于提供不同的編碼策略以在解碼期間獲得效率的方法和設(shè)備。
單層視頻編碼被廣泛用于各種應(yīng)用,比如數(shù)字-視頻錄像和數(shù)字電視。將視頻按照一定的比特率編碼,然后解碼器將比特流解碼并以編碼的全品質(zhì)輸出每張圖片。為減少計算負載,已經(jīng)采用了單層比特流的降低復(fù)雜度的解碼。然而,由于按照部分品質(zhì)將圖片解碼,所以在解碼器一側(cè)用于運動補償?shù)幕鶞蕡D片經(jīng)常與編碼期間使用的基準圖片不匹配。結(jié)果,在基準圖片中發(fā)生的錯誤傳播到其它的圖片。這又稱為預(yù)測漂移或錯誤傳播。
分層視頻編碼或比特率可縮放方法是單層視頻編碼的替換方案。首先,以低比特率對視頻進行編碼以產(chǎn)生基本層。然后,對原始視頻與基本層重建視頻之間的差異進行編碼,以產(chǎn)生一個或多個增強層。在解碼器一側(cè),基本層總是被解碼,但是對增強層的完全或部分解碼取決于可用的處理能力。如果僅有基本層被解碼,由于低質(zhì)量基準圖片被用于編碼,則不存在預(yù)測漂移。如果完全的增強層與基本層都被解碼,則為了解碼目的,每層在編碼期間采用自己對應(yīng)的基準圖片,從而也不存在預(yù)測漂移。然而,如果增強層僅僅被部分地解碼且在增強層圖片中存在運動預(yù)測,則增強層中會發(fā)生預(yù)測漂移。此外,因為增強層中使用的基準圖片無益于有效的運動預(yù)測,所以在壓縮期間,這種編碼其本身效率較低。此外,如果要產(chǎn)生相同的品質(zhì),多分層編碼中的額外開銷要比解碼單層比特流更為復(fù)雜。因此,需要獲得相對簡單以利于實際實現(xiàn)的最優(yōu)的解碼性能。
本發(fā)明涉及通過改變單層編碼算法以獲得適用于可變復(fù)雜度解碼的編碼的數(shù)字視頻信號、從而提高MPEG數(shù)字視頻解碼器系統(tǒng)的解碼效率的方法與系統(tǒng)。
根據(jù)本發(fā)明的一個方面,提供了對具有至少一個宏塊的輸入視頻圖像流進行編碼的方法。該方法包括如下步驟為輸入視頻圖像的每個宏塊產(chǎn)生運動矢量;根據(jù)該運動矢量產(chǎn)生輸入視頻圖像的預(yù)測圖像信號;將該預(yù)測圖像信號變換為二維陣列的DCT系數(shù);根據(jù)預(yù)定標準,將該DCT系數(shù)陣列修改為一組新的DCT系數(shù);將所述新DCT系數(shù)量化為量化的DCT值;執(zhí)行Z字形掃描,以將每一行新DCT系數(shù)讀成一個串行鏈;以及對來自Z字形掃描的串行鏈和運動矢量進行編碼以生成編碼的宏塊。修改DCT系數(shù)陣列的步驟包括如下步驟交替舍棄最后列的DCT系數(shù)和最后行的DCT系數(shù),直到DCT系數(shù)的能級到達預(yù)定能級;以及給所舍棄的列或行分配預(yù)定值。修改DCT系數(shù)陣列的步驟包括如下步驟計算除最低2×2 DCT系數(shù)以外的DCT系數(shù)的總能級;交替舍棄最后列和最后行的DCT系數(shù),直到DCT系數(shù)的總能級達到預(yù)定能級;以及給所舍棄的列和行分配預(yù)定值。該方法進一步包括如下步驟將量化的DCT值去量化以產(chǎn)生去量化的、解碼的數(shù)據(jù);將去量化的、解碼的數(shù)據(jù)從頻域變換到空間域,以生成基準數(shù)據(jù);以及對基準數(shù)據(jù)執(zhí)行運動補償以生成運動補償圖片。在該實施例中,在將預(yù)測圖像信號變換為DCT系數(shù)陣列的步驟之前,對輸入視頻圖像的預(yù)測(P)圖片執(zhí)行全像素(full-pel)運動補償。
根據(jù)本發(fā)明的另一方面,對具有至少一個宏塊的輸入視頻圖像進行編碼的方法包括如下步驟(a)為輸入視頻圖像的每個宏塊產(chǎn)生至少一個運動矢量和至少一個運動補償預(yù)測值;(b)將該預(yù)測值變換為一組DCT系數(shù);(c)根據(jù)預(yù)定標準,將該組DCT系數(shù)修改為一組新的DCT系數(shù);(d)對該組DCT系數(shù)進行量化;和,(e)對量化的該組DCT系數(shù)和運動矢量進行編碼,以生成編碼的宏塊。該方法進一步包括如下步驟將編碼的宏塊轉(zhuǎn)發(fā)至解碼處理;確定來自輸入視頻圖像的圖片的類型,其中,如果從輸入視頻圖像中檢測到預(yù)測圖片,則在執(zhí)行將預(yù)測值變換為該組DCT系數(shù)的步驟(b)之前對輸入視頻圖像執(zhí)行全像素運動補償。當從輸入視頻圖像中檢測到預(yù)測圖片時,將運動矢量變換成全運動矢量。通過計算除最低2×2 DCT系數(shù)以外的DCT系數(shù)的總能級來修改DCT系數(shù)陣列;交替舍棄最后列和最后行的DCT系數(shù)、直到DCT系數(shù)的總能級達到預(yù)定能級;以及給所舍棄的列和行分配預(yù)定值。該方法進一步包括如下步驟將量化的DCT值去量化以產(chǎn)生去量化的、解碼的數(shù)據(jù);將去量化的、解碼的數(shù)據(jù)從頻域變換到空間域,以生成基準數(shù)據(jù);和,對基準數(shù)據(jù)執(zhí)行運動補償以生成運動補償圖片。
根據(jù)本發(fā)明的另一方面,用于對輸入視頻圖像進行編碼的編碼系統(tǒng)包括運動估計預(yù)測模塊,它被配置用來接收輸入視頻圖像和產(chǎn)生至少一個運動矢量與至少一個預(yù)測誤差信號;離散余弦變換器(DCT)模塊,它被耦合至運動估計模塊的輸出端,以用于將預(yù)測誤差信號變換為二維陣列的DCT系數(shù)。根據(jù)對來自輸入視頻圖像的圖片類型的分類來修改所述DCT系數(shù);量化模塊,它被耦合至DCT模塊,以用于對經(jīng)修改的DCT系數(shù)進行量化,以生成量化的系數(shù);Z字形掃描模塊,它被耦合至量化模塊,并被配置用來將量化的系數(shù)轉(zhuǎn)換為串行表示;和編碼模塊,用于對量化的該組系數(shù)和運動矢量進行編碼,以生成編碼的宏塊。該系統(tǒng)進一步包括反量化模塊,其被耦合以便從量化模塊接收量化的系數(shù)并對其求反;反離散余弦變換器(IDCT),其被耦合至反量化模塊的輸出端,以用于將去量化的系數(shù)從頻域變換到空間域;和基準幀緩存器,用于從IDCT接收輸出信號以形成運動補償?shù)膱D片。
還有另一個方面是,可以為了所希望的特定應(yīng)用,以硬件、軟件或硬件與軟件的組合的形式實現(xiàn)本發(fā)明。
此外,本發(fā)明可以用簡易、可靠并且廉價的方式實現(xiàn)。
對于本領(lǐng)域技術(shù)人員而言,當結(jié)合附圖閱讀下列詳細說明時,這些及其它的優(yōu)點將變得明顯。
通過結(jié)合附圖參照下列詳細說明,將可以更全面地理解本發(fā)明的方法與設(shè)備,其中
圖1示出用于壓縮視頻信息的編碼器的示例性實施例;圖2示出根據(jù)本發(fā)明修改DCT系數(shù)以用于降低解碼期間的計算負荷的圖示;圖3示出根據(jù)本發(fā)明在執(zhí)行量化之前修改DCT系數(shù)的圖示;和,圖4是說明根據(jù)本發(fā)明降低解碼期間的計算負荷的處理流程圖。
為了提供對本發(fā)明的徹底了解,在下列描述中(為了說明而不是為了限制)闡明了諸如特定的體系結(jié)構(gòu)、接口、技術(shù)等之類的具體細節(jié)。然而,對于本領(lǐng)域技術(shù)人員而言,顯然可脫離這些細節(jié)而在其它實施例中實踐本發(fā)明。為簡單明了,公知的設(shè)備、電路和方法的詳細說明從略,以免不必要的細節(jié)使本發(fā)明的說明變得模糊。
為了便于理解本發(fā)明,下文將簡要描述依照MPEG標準的壓縮與解碼視頻數(shù)據(jù)的常規(guī)方法。
為了減少視頻壓縮編解碼器的高成本和實現(xiàn)在不同廠商之間提供設(shè)備互操作性的方法,根據(jù)運動圖像專家組(MPEG)標準建立了壓縮標準,以用于視頻的編碼與解碼。MPEG標準在國際標準ISO/IEC11172-1(即“信息技術(shù)-以高達大約1.5Mbit/s的速率對用于數(shù)字存儲介質(zhì)的運動圖像和有關(guān)音頻進行編碼”)的1993年8月1日第一版第1、2和3部分中定義,在此全面引入作為參考。
存在MPEG標準下的三類視頻信息幀幀內(nèi)編碼幀(I幀)、前向預(yù)測幀(P幀)和雙向預(yù)測幀(B幀)。I幀被周期性地編碼,即為每組幀而獨立編碼一個幀。通過合成位于前向的特定數(shù)量幀處的、在下一個基準幀之前的一個視頻幀(P幀)來進行預(yù)測。在兩個基準幀之間,或通過對過去基準幀內(nèi)的宏塊與未來基準幀中的宏塊進行內(nèi)插(求平均),來預(yù)測B幀。指定基準幀內(nèi)部宏塊相對于當前幀內(nèi)部該宏塊的相對位置的運動矢量也被編碼??苫谙惹皫c后續(xù)幀對當前幀進行編碼。同樣,需要基于MPEG編碼慣例對一個幀進行編碼,然后除了總是與其它幀無關(guān)地被編碼的I幀以外,與該幀相關(guān)的其它幀基于與該幀的差異而被編碼。
在基于運動補償?shù)囊曨l編碼中,運動矢量可以具有整數(shù)值(即全像素編碼),其中按照基準幀中的實際像素值指定當前幀中的像素值,或具有半整數(shù)值(即半像素編碼)、四分之一整數(shù)值(即四分之一像素編碼)與分數(shù)值(即分數(shù)像素編碼),其中根據(jù)從基準幀內(nèi)現(xiàn)存像素中內(nèi)插的“虛擬”像素指定當前幀中的像素值。半像素運動補償以及四分之一像素與分數(shù)像素運動補償?shù)挠嬎阋?guī)模比全像素運動補償更大,這是因為解碼器必須從分別由使用半、四分之一、分數(shù)像素網(wǎng)格的運動矢量所參照的先前宏塊中內(nèi)插出宏塊。
使用離散余弦變換(DCT)編碼方案對幀進行編碼,該方案將系數(shù)編碼為特定的余弦基(cosine-basis)函數(shù)的振幅。使用可變或游程長度編碼對DCT系數(shù)進行量化和進一步的編碼。當接收壓縮編碼幀時,解碼器通過執(zhí)行運動補償將當前P幀宏塊解碼,該運動補償利用了施加給過去基準幀的對應(yīng)宏塊的運動矢量。解碼器還通過執(zhí)行運動補償將B幀的宏塊解碼,該運動補償利用了分別施加給過去與未來基準幀的運動矢量。一個幀中的像素宏塊可以通過平移先前或后續(xù)幀中的像素宏塊而獲得。平移量又稱為運動矢量。由于I幀被作為單個圖像編碼而不用參考任何過去或未來的幀,所以當對I幀進行解碼時不必進行運動處理。
如上所述,在許多常見的視頻解壓縮方法中,運動補償是計算最密集的操作之一,尤其當采用分數(shù)運動矢量時更是如此。這樣,無法滿足上述解壓縮負載的計算要求的視頻系統(tǒng)就會經(jīng)常丟掉整個幀。有時這是可看得見的,如視頻重放中的短時停滯,跟著是圖像的突變或抖動。為了降低與解壓縮方法有關(guān)的對解碼端的處理要求,已開發(fā)了各種解碼復(fù)雜度降低方法。本發(fā)明提供一種構(gòu)造壓縮視頻比特流的新穎方法,從而可以降低解碼復(fù)雜度,而同時保持最終視頻圖像的質(zhì)量。
圖1說明根據(jù)本發(fā)明一個實施例的用于編碼視頻信號的編碼器10的簡化框圖。編碼器10包括運動估計與預(yù)測模塊12,DCT模塊14,量化模塊16,Z字形掃描模塊18,游程長度編碼模塊20,反量化模塊22,反DCT模塊24和基準幀緩存器模塊26。在本發(fā)明優(yōu)選實施例中,編碼器10可在下述設(shè)備中實現(xiàn)個人電腦、工作站、個人數(shù)字助理(PDA)、手提式電腦中的中央處理器,和/或諸如微處理器、數(shù)字信號處理器、微控制器、微型電腦之類的集成電路和/或任何其它根據(jù)編程指令處理數(shù)字信息的設(shè)備。基準幀緩存器26可以是硬驅(qū)動存儲器、隨機存取存儲器、只讀存儲器、外部存儲器和/或任何其它存儲數(shù)字信息的設(shè)備。注意,包括運動補償與預(yù)測模塊12、反量化模塊22、和反DCT模塊24的該組模塊通常稱為“嵌入式解碼器”。對于本領(lǐng)域普通技術(shù)人員而言,已經(jīng)熟知這類解碼模塊;因此,其描述從略以免累贅。
編碼器10接收的輸入視頻信號(V)可以是來自下述設(shè)備的信號攝錄一體機,DVD播放機,VCR,電視調(diào)諧器和/或任何其它接收數(shù)字信息的設(shè)備。該視頻信息流被從模擬信號變換成數(shù)字信號,然后被施加給編碼器10。輸入視頻信號進一步被分成多個層,從而對應(yīng)于一片圖像(幀)的每個圖片被分成多個片段,并且每個片段由依從左至右、自上而下順序的多個宏塊組成。每個宏塊包括六個分量Y1到Y(jié)4的四個亮度分量,其表示構(gòu)成16×16像素宏塊的四個8×8像素塊的亮度,以及構(gòu)成用于相同宏塊的8×8像素塊的差異分量Cb與Cr的兩個顏色(U,V)。將圖片劃分為塊單元,提高了平滑兩個連續(xù)圖片之間變化的能力。
如圖1所示,運動估計與預(yù)測模塊12適于接收輸入視頻信號(V),以用于估計運動矢量以提供從當前圖片塊坐標到基準幀坐標的偏移量。隨后,運動矢量可被用來從先前基準幀中重建當前幀,因為運動信息降低了存在于視頻序列中的連續(xù)幀之間的高冗余度。另外,可以通過使用先前解碼幀與運動矢量獲得當前幀的估計量。運動補償涉及預(yù)測,該預(yù)測使用運動矢量來向過去和/或未來基準幀提供偏移量,所述基準幀包括被用來形成預(yù)測誤差的先前解碼的樣本值。
然后,宏塊的每個8×8像素塊經(jīng)離散余弦變換(DCT)以為其中64個頻帶中的每個頻帶產(chǎn)生一組8×8塊的DCT系數(shù)。注意,可以獨立處理每個系數(shù)而不損失壓縮效率。最終的8×8塊DCT系數(shù)由量化模塊16接收。在本發(fā)明的優(yōu)選實施例中,為每個宏塊編碼的信息量也通過根據(jù)量化前的預(yù)定標準處理某些高頻DCT系數(shù)而被調(diào)整(下文將參照圖2和3說明)。然后,將8×8像素塊內(nèi)的DCT系數(shù)除以對應(yīng)的編碼參數(shù)(即量化權(quán)重)。用于給定的8×8像素塊的量化權(quán)重以8×8量化矩陣的形式表示。其后,附加計算在DCT系數(shù)上受影響,以便為每個宏塊考慮量化器的標度值。注意,量化標度值對應(yīng)于量化精度的空間調(diào)整程度,該量化精度可以不同于宏塊。該調(diào)整經(jīng)常利用人眼,其基于每一宏塊視覺內(nèi)容的特性而對于加載偽像靈敏地變化。通過用這種量化值量化DCT系數(shù),許多DCT系數(shù)被變換為零,因此提高圖像壓縮效率。
最終的經(jīng)量化的DCT系數(shù)的8×8塊由Z字形掃描模塊18接收,其中按照“Z字形”次序掃描經(jīng)量化的系數(shù)的二維塊,以便將其變換為經(jīng)量化的DCT系數(shù)的一維串。其后,游程長度編碼模塊20使用游程編碼而對該串經(jīng)量化的DCT系數(shù)、宏塊類型、和運動矢量進行編碼,以便通過用單個符號對一連串符號進行編碼來提高編碼效率。注意,該編碼方案已是本領(lǐng)域眾所周知的,而且可以根據(jù)本發(fā)明的技術(shù),采用其它眾所周知的編碼方案,例如霍夫曼(Huffman)編碼。游程長度編碼模塊20的輸出為比特流BS。
現(xiàn)在將詳細說明根據(jù)本發(fā)明通過在量化之前調(diào)整高頻DCT系數(shù)中的信息來提供適于可變復(fù)雜度的解碼的編碼。
參照圖2,圖片被分成8×8像素矩陣塊,在塊單元中由DCT模塊14執(zhí)行DCT,以便獲得8×8變換系數(shù)。然后,最終得到的DCT系數(shù)的矩形8×8塊經(jīng)歷掩碼變換(以下稱為“DCT掩碼”),其中分析DCT系數(shù)以獲得包括DCT系數(shù)能量的特定百分比(α1)的矩形。通過首先計算除最低2×2 DCT系數(shù)以外的全部DCT塊的總能量來獲得該矩形。然后,如圖2(a)所示,在能級計算期間舍棄最后列或第八列的頻率分量,并且再次計算除最低2×2 DCT系數(shù)以外的能級。與此同時,確定新計算的能級是否超過預(yù)定百分比,例如總能量的85%。如果未超過,如圖2(b)所示,當計算除最低2×2 DCT系數(shù)以外的DCT塊的剩余能級時,舍棄最后行或第八行的頻率分量。如果新計算的能級不低于預(yù)定的百分比,則舍棄第七列的頻率分量,如圖2(c)所示,然后再次計算除最低2×2 DCT系數(shù)以外的剩余DCT塊的新能級。按照這樣的方式,交替舍棄附加的列與行頻率分量,直到獲得所期望的能級。
參照圖3,一旦所期望的能級被獲得,在計算期望能級時所舍棄的列與行頻率分量,被賦予相對高的量化矩陣權(quán)重,例如255。通過用這種高值量化DCT系數(shù),DCT系數(shù)在量化期間被有效地變換為零。由于在編碼期間執(zhí)行類似的操作,所以舍棄高頻DCT系數(shù)不會引起重大的預(yù)測漂移。
注意,用降低的復(fù)雜度所解碼的圖片不具有與編碼器一側(cè)的圖片一樣多的高頻信息,但是降低的復(fù)雜度往往造成預(yù)測漂移。如果可以使編碼器一側(cè)使用的基準圖片更接近于由部分質(zhì)量解碼所得到的圖片,則該預(yù)測漂移可以被降低。因此,在本發(fā)明的優(yōu)選實施例中,由于某些圖片不大會造成預(yù)測漂移,有必要對此類被編碼的圖片類型給出不同的權(quán)重。本領(lǐng)域技術(shù)人員將理解,由于在下一幀內(nèi)編碼的圖片之前只有較少的幀用于誤差傳播,在當前圖片組(GOP)中的P圖片比I圖片更不易造成預(yù)測漂移。這樣,在根據(jù)本發(fā)明執(zhí)行降低復(fù)雜度的解碼時,必須以較少的考慮設(shè)計用于GOP內(nèi)稍后圖片的量化矩陣或DCT掩碼。類似地,如果是部分質(zhì)量解碼,則在設(shè)計用于I圖片(GOP內(nèi)的第一張圖片)的量化矩陣或DCT掩碼時應(yīng)當最大限度地考慮預(yù)測漂移。進一步地,由于B圖片不被用作基準圖片,故不需要DCT掩碼。因此,在編碼期間,用于B圖片的量化矩陣可以保持與用于最優(yōu)化的單層編碼的量化矩陣一樣。
進一步注意,由于運動補償往往是計算密集的操作,另一個降低解碼復(fù)雜度的方法是通過簡化運動補償。因此,在本發(fā)明的優(yōu)選實施例中,可以在編碼期間應(yīng)用較粗精度的MC,以便進一步利于可變復(fù)雜度的解碼。例如,如果1/2像素MC被用于編碼(如同在MPEG-2中),當非整數(shù)運動矢量在計算高峰負荷周期期間被用于當前宏塊時,可強制解碼器只應(yīng)用全像素運動補償而不用內(nèi)插1/2像素位置的像素值。類似地,如果1/4像素MC被用于編碼,則1/2像素MC、全像素MC或其任何組合可被用于解碼。因此,如果在只針對P圖片的編碼期間使用了簡化的運動預(yù)測,來自降低復(fù)雜度的解碼的預(yù)測偏移可被消除或降低。然而,沒有針對I圖片執(zhí)行運動預(yù)測,因此不適于I圖片。另外,因為B圖片不被用作未來基準圖片,所以可用全復(fù)雜度、較高精度的運動補償來編碼B圖片。
鑒于上述考慮,圖4的下列流程圖示出根據(jù)本發(fā)明實施例的能夠降低解碼復(fù)雜度的編碼操作過程。
參照圖4,在步驟100中由編碼器10接收輸入視頻信息時,在步驟102檢測圖片的類型,以便可以如下所述地根據(jù)圖片分類來應(yīng)用不同的編碼方式。
I.當前圖片被編碼為幀內(nèi)編碼(I)的圖片。
I幀圖片被分割成8×8塊,然后在步驟104執(zhí)行DCT,其中每個系數(shù)用Ci,j表示,i和j的范圍從0到7。在步驟106,分析DCT系數(shù),來獲得包含除最低2×2 DCT系數(shù)以外的DCT系數(shù)能量的α1的矩形。
按照數(shù)學(xué)的形式,獲得矩形(iα1,jα1)如下首先,計算除最低2×2系數(shù)以外的全部DCT塊的總能量 接著,計算Eα=α1E。接著,設(shè)置初始行與列號i=j(luò)=7。接著,通過下列步驟進行迭代計算 (此步舍棄最右列的頻率分量),
如果E⇐Eα,]]>停止并輸出(i,j-1);否則繼續(xù)下一步;計算 (此步舍棄最低一行的頻率分量),如果E⇐Eα,]]>停止并輸出(i-1,j-1);否則繼續(xù)下一步i=i-1;j=j(luò)-1。
在獲得矩形產(chǎn)生的期望能級以后,在步驟108計算對應(yīng)矩形的量化矩陣。假設(shè)用于完全編碼的量化矩陣是 其中i,j的范圍從0到7。這種矩陣的一個示例為常規(guī)的用于幀內(nèi)編碼圖片的MPEG編碼方案(即測試模型5(TM5))矩陣,其中通過比較預(yù)測殘差(residuals)(誤差信號)的能量來選擇用于每個宏塊的編碼方式。即,通過將宏塊像素的方差與用于每種編碼方式的預(yù)測殘差的方差進行比較,來確定intrade-方式的決定。
計算用于當前幀內(nèi)編碼圖片的部分編碼的量化矩陣如下如果i⇐iα1]]>且j⇐jα1,]]>Wi,j=Wi,j‾]]>否則Wi,j=255最后,在步驟110,修改后的量化矩陣被編碼,并且編碼的信號被轉(zhuǎn)發(fā)到解碼一側(cè)。
II.當前圖片被編碼為預(yù)測(P)圖片。
如果在步驟102檢測到P圖片,則在步驟120對P圖片進行全像素(降低的分辯率)的運動預(yù)測。步驟122到步驟128的操作基本與上述相對應(yīng)的步驟104到步驟110所述相同。僅有的顯著差別在于αP的設(shè)置取決于該P圖片在當前GOP中的位置。因此,在前面段落中描述的類似部分的討論從略以免累贅。αP的設(shè)置取決于該P圖片在當前GOP中的位置。由于P圖片處于GOP中稍后位置,在I圖片復(fù)位預(yù)測周期之前,在后續(xù)幀中將導(dǎo)致較低的預(yù)測漂移。我們表示GOP的尺寸大小(圖片組中圖片的數(shù)量)為N,并且GOP中P圖片的相對位置為n。計算αP如下αp=α1(1-n/N),]]>其中n范圍從M-1到N-1。
III.當前圖片被編碼為雙向預(yù)測圖片。
如果當前圖片被編碼為雙向圖片,由于B圖片不會造成解碼器一側(cè)的預(yù)測漂移,所以執(zhí)行普通的編碼;因此不需要編碼時間復(fù)雜度降低的準備。
上文已經(jīng)公開了通過適應(yīng)地改變視頻編碼器中的編碼方式、從而降低與解壓縮方法學(xué)有關(guān)的處理要求的方法和系統(tǒng)。對于本領(lǐng)域技術(shù)人員而言,通過提高解壓縮效率而不過分降級最終視頻圖像來實現(xiàn)該系統(tǒng)和方法的優(yōu)點應(yīng)顯而易見。通過設(shè)計編碼處理以在編碼期間保持一定的壓縮效率,當與為固定的全品質(zhì)解碼而優(yōu)化的普通編碼處理相比,可實現(xiàn)具用較少品質(zhì)降級的復(fù)雜度的降低,以便減少解碼期間的預(yù)測漂移。
雖然已經(jīng)說明和描述了本發(fā)明的優(yōu)選實施例,但對于本領(lǐng)域技術(shù)人員而言,在不脫離本發(fā)明的真實范圍的情況下,顯然可以作出各種改變與修改并用等效元件替換其中的元件。因此,我們的意圖在于本發(fā)明并不局限于作為被設(shè)想用于實現(xiàn)本發(fā)明的最佳方式而公開的具體實施例,相反地,本發(fā)明包括落在所附權(quán)利要求書范圍中的全部實施例。
權(quán)利要求
1.一種用于對具有至少一個宏塊的輸入視頻圖像流進行編碼的方法(10),該方法包括如下步驟-為所述輸入視頻圖像的每個宏塊產(chǎn)生(12)運動矢量;-根據(jù)所述運動矢量產(chǎn)生(12)所述輸入視頻圖像的預(yù)測圖像信號;-將所述預(yù)測圖像信號變換(14)為DCT系數(shù)的二維陣列;-根據(jù)預(yù)定標準,將所述的DCT系數(shù)陣列修改(14)為一組新的DCT系數(shù);-將所述新DCT系數(shù)量化(16)為量化的DCT值;-執(zhí)行(18)Z字形掃描以將所述新DCT系數(shù)的每行讀成串行鏈;和,-對來自所述Z字形掃描的所述串行鏈和所述運動矢量進行編碼(20),以生成編碼的宏塊。
2.根據(jù)權(quán)利要求1的方法,其中修改所述DCT系數(shù)陣列的步驟包括如下步驟-交替舍棄最后列的DCT系數(shù)和最后行的DCT系數(shù),直到所述DCT系數(shù)的能級達到預(yù)定能級;和,-給所述舍棄的列或行分配預(yù)定值。
3.根據(jù)權(quán)利要求1的方法,其中DCT系數(shù)陣列為一個8×8矩陣。
4.根據(jù)權(quán)利要求1的方法,其中將所述預(yù)測圖像信號變換成所述DCT系數(shù)陣列的步驟,包括對所述DCT系數(shù)的從時域到頻域的轉(zhuǎn)換。
5.根據(jù)權(quán)利要求1的方法,其中修改所述DCT系數(shù)陣列的步驟包括如下步驟-計算除最低2×2DCT系數(shù)以外的所述DCT系數(shù)的總能級;-交替舍棄最后列和最后行的所述DCT系數(shù),直到所述DCT系數(shù)的總能級達到預(yù)定能級;和,-給所述舍棄的列和行分配預(yù)定值。
6.根據(jù)權(quán)利要求1的方法,其中根據(jù)預(yù)定編碼配置表執(zhí)行編碼步驟。
7.根據(jù)權(quán)利要求1的方法,進一步包括如下步驟-將量化的DCT值去量化以產(chǎn)生去量化的、解碼的數(shù)據(jù);-將所述去量化的、解碼的數(shù)據(jù)從頻域變換到空間域,以生成基準數(shù)據(jù);和,-對所述基準數(shù)據(jù)執(zhí)行運動補償以生成運動補償圖片。
8.根據(jù)權(quán)利要求1的方法,進一步包括步驟在將所述預(yù)測圖像信號變換成所述DCT系數(shù)陣列的步驟之前,對所述輸入視頻圖像的預(yù)測(P)圖片執(zhí)行全像素運動補償。
9.根據(jù)權(quán)利要求1的方法,進一步包括將所述編碼的宏塊轉(zhuǎn)發(fā)至解碼處理的步驟。
10.一種用于對具有至少一個宏塊的輸入視頻圖像進行編碼的方法(10),該方法包括如下步驟(a)為所述輸入視頻圖像的每個宏塊產(chǎn)生(12)至少一個運動矢量和至少一個運動補償預(yù)測值;(b)將所述預(yù)測值變換(14)成一組DCT系數(shù);(c)根據(jù)預(yù)定標準,將該組所述DCT系數(shù)修改為(14)一組新的DCT系數(shù);(d)將該組所述DCT系數(shù)進行量化(16);和,(e)對所述量化的該組所述系數(shù)和所述運動矢量進行編碼(20),以生成編碼的宏塊。
11.根據(jù)權(quán)利要求10的方法,進一步包括從所述輸入視頻圖像中確定(102)圖片類型的步驟。
12.根據(jù)權(quán)利要求11的方法,其中,如果從所述輸入視頻圖像中檢測到預(yù)測圖片,在執(zhí)行將所述預(yù)測值變換成該組所述DCT系數(shù)的所述步驟(b)之前,對所述輸入視頻圖像執(zhí)行全像素運動補償。
13.根據(jù)權(quán)利要求11的方法,進一步包括,當從所述輸入視頻圖像中檢測到預(yù)測圖片時,將所述運動矢量轉(zhuǎn)換為全運動矢量。
14.一種對輸入視頻圖像進行編碼的編碼系統(tǒng)(10),包括-運動估計預(yù)測模塊(12),它被配置用來接收所述輸入視頻圖像和產(chǎn)生至少一個運動矢量與至少一個預(yù)測誤差信號;-離散余弦變換器(DCT)(14)模塊,它被耦合至所述運動估計模塊(12)的輸出端,用于將所述預(yù)測誤差信號變換為DCT系數(shù)的二維陣列,其中根據(jù)對來自所述輸入視頻圖像中的圖片類型的分類來修改所述DCT系數(shù);-量化模塊(16),它被耦合至所述DCT模塊,用于對所述修改的DCT系數(shù)進行量化,以生成量化的系數(shù);-Z字形掃描模塊(18),它被耦合至所述量化模塊,被配置用來將所述量化的系數(shù)轉(zhuǎn)換為串行表示;和,-編碼模塊(20),用于對所述量化的該組所述系數(shù)和所述運動矢量進行編碼,以生成編碼的宏塊。
15.權(quán)利要求14的編碼系統(tǒng),進一步包括-反量化模塊(22),它被耦合來從所述量化模塊接收量化的系數(shù)并對其求反;-反離散余弦變換器(IDCT)(24),它被耦合至所述反量化模塊(22)的輸出端,用于將去量化的系數(shù)從頻域變換到空間域;和,-基準幀緩存器(26),用于從所述IDCT接收輸出信號以形成運動補償?shù)膱D片。
16.一種具有存儲于其上的表示指令序列的數(shù)據(jù)的機器可讀性介質(zhì),當指令序列被處理器執(zhí)行時,導(dǎo)致處理器-為所述輸入視頻圖像的每個宏塊產(chǎn)生(12)運動矢量;-根據(jù)所述運動矢量,產(chǎn)生(12)所述輸入視頻圖像的預(yù)測圖像信號;-將所述預(yù)測圖像信號變換(14)為DCT系數(shù)的二維陣列;-根據(jù)預(yù)定標準,將所述DCT系數(shù)陣列修改(14)為一組新的DCT系數(shù);-將所述新DCT系數(shù)量化(16)為量化的DCT值;-執(zhí)行(18)Z字形掃描以將所述新DCT系數(shù)的每一行讀成串行鏈;和,-對來自所述Z字形掃描的所述串行鏈和所述運動矢量進行編碼(20),以生成編碼的宏塊。
全文摘要
提供一種通過改變視頻處理系統(tǒng)中的編碼算法來降低MPEG解碼器的計算負荷的方法和系統(tǒng)(10)。在編碼模式期間,接收數(shù)據(jù)塊流并為每個宏塊產(chǎn)生(12)至少一個運動矢量和至少一個運動補償預(yù)測值。該預(yù)測值被變換(14)為一組DCT系數(shù)。在量化步驟之前,根據(jù)預(yù)定標準修改(14)該組DCT系數(shù)。為此,計算除最低2×2 DCT系數(shù)以外的DCT系數(shù)的總能級,并交替舍棄最后列和最后行的DCT系數(shù),直到DCT系數(shù)的總能級達到預(yù)定能級。其后,給該舍棄的列或行分配預(yù)定值。然后,經(jīng)修改的DCT系數(shù)被量化(16)和編碼(20),從而產(chǎn)生編碼的宏塊比特流,隨后根據(jù)常規(guī)解碼處理對其解碼。
文檔編號H04N7/32GK1647540SQ03808976
公開日2005年7月27日 申請日期2003年4月15日 優(yōu)先權(quán)日2002年4月22日
發(fā)明者Y·陳, Z·鐘 申請人:皇家飛利浦電子股份有限公司