一種實現縮放的視頻解碼方法
2023-04-22 15:30:31 2
專利名稱:一種實現縮放的視頻解碼方法
技術領域:
本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。
背景技術:
Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包含三個成分I幀、P幀和B幀。其中I幀壓縮採用基準幀模式,只提供幀內壓縮;P幀採用預測編碼,預測當前幀與前面最近的I幀或P幀的差別進行壓縮,考慮了運動特性;B幀為雙向幀間編碼,基於當前幀與前面和後面最近的I幀或P幀圖像之間的差別進行壓縮。幀確定後就採用離散餘弦變換(Discrete Cosine Transform,DCT),對結果進行量化,以及變長編碼,編碼後即形成了Mpeg碼流,典型的Mpeg-4碼流的幀序為IBBPBBPBBPI...
在對Mpeg-4碼流進行解碼時,對於I幀、P幀和B幀需要分別採取不同的處理過程。
如圖1所示,一般對於I幀的處理過程是首先對I幀數據進行變長碼解碼、反量化、反離散餘弦變換(Inverse Discrete Cosine Transform,IDCT)以及反預測後形成該幀的時空域圖像數據,將其拼接並消除塊效應等處理之後得到該I幀的圖像,然後對該幀圖像進行縮放操作,得到最終的縮放後圖像。
如圖2所示,對於P幀或B幀的處理過程是首先對P幀或B幀進行變長碼解碼、反量化、IDCT、反預測後得到該幀的殘差數據和運動矢量,然後根據殘差數據、運動矢量和參考圖像做運動補償,得到該幀的運動補償後的圖像數據,然後對該幀圖像進行縮放操作,得到最終的縮放後圖像。
從上述方案可以看出,現有技術在解碼器解碼出整幀數據後進行整幀圖像的縮放操作,而視頻解碼和圖像的縮放都具有相當高的計算量,因此現有技術的計算量大,很難滿足系統的實時性要求,尤其是在嵌入式系統等實時性要求較高的場合。
發明內容
有鑑於此,本發明提出了一種實現縮放的視頻解碼方法,其目的在於降低系統的計算量,提高系統操作的實時性。
根據上述目的,提供了一種實現縮放的視頻解碼方法,該方法包括以下步驟A.對當前幀數據進行變長碼解碼、反離散餘弦變換、反量化和反預測,得到當前幀的解碼後的單位數據塊;B.對所述解碼後的單位數據塊進行縮放操作,得到縮放後的單位數據塊;C.對所述步驟B得到的單位數據塊進行拼接和後處理,得到當前幀的縮放後圖像。
較佳地,所述的單位數據塊為塊(Block)。
較佳地,所述的單位數據塊為宏塊(Macro Block)。
所述縮放操作採用最臨近法,或雙線性插值,或三次樣條插值。
所述後處理包括消除塊效應操作。
進一步,所述當前幀的解碼後的單位數據塊包括單位數據塊的殘差數據和單位數據塊的運動矢量;所述步驟B包括對所述單位數據塊的殘差數據進行縮放操作,得到縮放後的單位數據塊的殘差數據;對所述單位數據塊的運動矢量進行縮放操作,得到縮放後的單位數據塊的運動矢量;根據所述縮放後的單位數據塊的殘差數據、縮放後的單位數據塊的運動矢量和運動補償後的參考單位數據塊進行運動補償,得到運動補償後的單位數據快。
所述運動補償後的參考單位數據塊為當前幀之前最近的I幀或P幀的運動補償後的單位數據塊。
所述運動補償後的參考單位數據塊為當前幀之前最近的I幀或P幀的運動補償後的單位數據塊和當前幀之後最近的I幀或P幀的運動補償後的單位數據塊。
所述當前幀數據採用的編碼方式為Mpeg-1、Mpeg-2、Mpeg-4、H.261、H.263或H.264。
從上述方案中可以看出,由於本發明在解碼器對I幀解碼出單位數據塊後、或者對P幀或B幀解碼出單位殘差數據塊和運動矢量後,在運動補償和圖像拼接前,完成了縮放操作,即本發明進行縮放操作的對象不是整幀圖像,而是單位數據塊大小的數據量,本發明在對當前幀的某一個單位數據塊進行縮放操作的同時,可以進行其它數據塊的解碼操作,縮短了整幀數據的處理時間。從上面的分析可以看出,本發明縮短了整幀數據的處理時間,提高了系統操作的實時性。
圖1為現有技術中處理I幀圖像的流程示意圖;圖2為現有技術中處理P幀或B幀圖像的流程示意圖;圖3為本發明以塊為單位進行縮放的示意圖;圖4為本發明處理I幀圖像的流程示意圖;圖5為本發明處理P幀或B幀圖像的流程示意圖;圖6為YUV420格式示意圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,以下舉實施例對本發明進一步詳細說明。
在Mpeg-4中,數據的組織採用了宏塊(Macro Block,MB)和塊(Block)的技術。宏塊採用了16×16的大小,而塊採用了8×8的大小。為了統一操作,這裡僅以採用8×8的塊作為單位數據塊為例對本發明進行說明。如圖3所示,原來為8×8的塊,經過縮放後,新的數據塊的大小為m×n。當然,也可以使用宏塊作為單位數據塊。
如圖4所示的是本發明對於I幀的處理過程。
步驟401,對I幀數據進行變長碼解碼、IDCT、反量化以及反預測操作,由於I幀是對所有的8×8數據塊採用了幀內編碼,所以進行上述解碼操作後得到了8×8的圖像象素值的數據塊。
步驟402,對每個8×8的數據塊進行縮放操作,可以通過最臨近法、雙線性插值、三次樣條插值等方法來實現。縮放後新的數據塊的大小為m×n。
步驟403,將上述m×n數據塊進行拼接以及後處理,得到縮放後的完整的I幀圖像。這裡的後處理包括消除塊效應等操作。
如圖5所示的是本發明對於P幀或B幀的處理過程。以P幀的處理過程為例步驟501,對P幀數據進行變長碼解碼、IDCT、反量化以及反預測操作,將數據解碼為殘差數據和運動矢量,其大小為8×8。以YUV420格式為例,如圖6所示,每4個Y塊對應1個U塊和一個V塊,其中Y1、Y2、Y3和Y4為亮度信號,U、V為色度信號。YUV420格式在壓縮編碼時利用亮度分量Y對運動進行運動估計,形成了運動矢量。在解碼時需要利用運動矢量對YUV三個分量進行運動補償。
步驟502,對每個8×8大小的殘差數據進行縮放,根據需要可選擇最臨近法、雙線性插值和雙三次樣條插值等方法,縮放後得到m×n大小的殘差數據塊。
步驟503,對8×8大小的數據塊的運動矢量進行縮放,得到m×n大小的數據塊的運動矢量。例如某個數據塊的運動矢量為V=(Vx,Vy),]]>將該數據塊縮放為m×n大小後運動矢量變為V=(Vx,Vy),]]>那麼運動矢量的縮放需要滿足Vx=Vx′·m/8Vy=Vy′·n/8。
步驟504,根據步驟502得到的縮放後的殘差數據塊、步驟503得到的縮放後的運動矢量以及運動補償後的參考數據塊,進行運動補償,得到m×n大小的運動補償後的數據塊。這裡的運動補償後的參考數據塊,是指當前幀前面最近的I幀或P幀在運動補償後的相應位置的數據塊。當前幀的數據塊在運動補償後,可以作為下一幀的參考數據塊,用於下一幀數據塊的運動補償。
步驟505,將步驟504得到的運動補償後的m×n大小的數據塊拼接起來,並進行後處理,得到縮放後完整的P幀圖像。
對於B幀的處理過程和P幀大致相同,區別在於在步驟504中B幀的參考數據塊有兩個,為前面最近的I幀或P幀的數據塊和後面最近的I幀或P幀的數據塊。
根據上述步驟得到了Mpeg-4碼流中的I幀、P幀和B幀圖像,就形成了視頻序列。
本發明可以應用在任何處理I幀、P幀或B幀的編碼方案中,例如Mpeg-1、Mpeg-2、H.261、H.263和H.264等。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種實現縮放的視頻解碼方法,其特徵在於,該方法包括以下步驟A.對當前幀數據進行變長碼解碼、反離散餘弦變換、反量化和反預測,得到當前幀的解碼後的單位數據塊;B.對所述解碼後的單位數據塊進行縮放操作,得到縮放後的單位數據塊;C.對所述步驟B得到的單位數據塊進行拼接和後處理,得到當前幀的縮放後圖像。
2.根據權利要求1所述的方法,其特徵在於,所述的單位數據塊為塊(Block)。
3.根據權利要求1所述的方法,其特徵在於,所述的單位數據塊為宏塊(Macro Block)。
4.根據權利要求1所述的方法,其特徵在於,所述縮放操作採用最臨近法,或雙線性插值,或三次樣條插值。
5.根據權利要求1所述的方法,其特徵在於,所述後處理包括消除塊效應操作。
6.根據權利要求1所述的方法,其特徵在於,所述當前幀的解碼後的單位數據塊包括單位數據塊的殘差數據和單位數據塊的運動矢量;所述步驟B包括對所述單位數據塊的殘差數據進行縮放操作,得到縮放後的單位數據塊的殘差數據;對所述單位數據塊的運動矢量進行縮放操作,得到縮放後的單位數據塊的運動矢量;根據所述縮放後的單位數據塊的殘差數據、縮放後的單位數據塊的運動矢量和運動補償後的參考單位數據塊進行運動補償,得到運動補償後的單位數據快。
7.根據權利要求6所述的方法,其特徵在於,所述運動補償後的參考單位數據塊為當前幀之前最近的I幀或P幀的運動補償後的單位數據塊。
8.根據權利要求6所述的方法,其特徵在於,所述運動補償後的參考單位數據塊為當前幀之前最近的I幀或P幀的運動補償後的單位數據塊和當前幀之後最近的I幀或P幀的運動補償後的單位數據塊。
9.根據權利要求1所述的方法,其特徵在於,所述當前幀數據採用的編碼方式為Mpeg-1、Mpeg-2、Mpeg-4、H.261、H.263或H.264。
全文摘要
本發明公開了一種實現縮放的視頻解碼方法,該方法包括以下步驟對當前幀數據進行變長碼解碼、反離散餘弦變換、反量化和反預測,得到當前幀的解碼後的單位數據塊;對所述當前幀的解碼後的單位數據塊進行縮放操作,得到縮放後的單位數據塊;對上一步驟得到的單位數據塊進行拼接和後處理,得到當前幀的縮放後圖像。本發明降低了系統處理當前幀數據的計算量,並且本發明可以在解碼一個單位數據塊的同時進行其它單位數據塊的縮放操作,提高了系統解碼的快速性,滿足了系統的實時性要求。
文檔編號H04N7/26GK1622632SQ20041010269
公開日2005年6月1日 申請日期2004年12月27日 優先權日2004年12月27日
發明者夏煜, 王浩, 白鋒, 懷千江 申請人:北京中星微電子有限公司