專利名稱:一種自適應(yīng)調(diào)節(jié)視頻解碼復(fù)雜度的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻處理技術(shù)領(lǐng)域,尤其涉及一種在視頻解碼時能對視頻解碼復(fù)
雜度進(jìn)行自適應(yīng)調(diào)節(jié)的方法。
背景技術(shù):
自從ITU-T頒布了H. 261后,基于塊的混合編碼方法作為基本框架被普遍采用。國 際化標(biāo)準(zhǔn)MPEG-1、 MPEG-2、 MPEG-4、 H. 261、 H. 263和H. 264以及最新的中國自主倡導(dǎo)的AVS 視頻編碼標(biāo)準(zhǔn)都采用了這種框架。這種混合編碼框架將輸入視頻圖像分割成宏塊,對其進(jìn) 行預(yù)測、變換、量化、熵編碼。圖l所示是一個基于通用的混合編碼框架的視頻解碼器的基 本原理框圖。圖中,VLD為可變長熵解碼,iQl為反量化,iDCT為反余弦變換,MC為運動補 償,F(xiàn)S為幀存緩存器,Motion Vector為運動向量。輸入的壓縮后視頻碼流首先通過可變長 的熵解碼模塊進(jìn)行解壓縮,輸出每個宏塊變換域的殘差信號和運動矢量;對殘差信號進(jìn)行 反量化處理后進(jìn)行反余弦變換得到原始域的殘差信號;運動補償模從參考幀中尋找得到當(dāng) 前解碼塊的參考塊;把參考塊與殘差塊相加恢復(fù)得到當(dāng)前塊;依次循環(huán)解碼每一個宏塊, 解碼得到一幀圖像,輸出并保存作為下一幀圖像的參考圖像。其中解碼器的復(fù)雜度主要集 中于iDCT和MC模塊。 為了確保解碼器能夠達(dá)到實時解碼的要求,設(shè)計者通常選擇處理能力盡量高的處 理器作為解碼器的硬件平臺。隨著視頻壓縮新標(biāo)準(zhǔn)的不斷提出,視頻解碼器的復(fù)雜度不斷 提高,像最新的視頻壓縮標(biāo)準(zhǔn)H. 264,其解碼復(fù)雜度是以前標(biāo)準(zhǔn)的3倍以上,很多處理器的 計算能力不夠,不能達(dá)到實時解碼的要求。另外,實際的產(chǎn)品中,一個處理器除了完成視頻 的解碼,可能還需要完成很多其它的任務(wù),如音頻解碼或者響應(yīng)用戶的實時輸入等,所以解 碼器速度同樣會受到不同程度的影響。當(dāng)解碼器的解碼速度不夠時,會產(chǎn)生丟幀、解碼出錯 或者慢鏡頭回放的現(xiàn)象,這些是用戶所不能接受的。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能夠自適應(yīng)地調(diào)整視頻解碼復(fù)雜度的方法,使解碼器在 計算能力不夠的情況仍然可以保證實時的視頻解碼。克服丟幀、解碼出錯或者慢鏡頭回放 等現(xiàn)象,使解碼的質(zhì)量能被接受。 本發(fā)明的技術(shù)方案是,一種自適應(yīng)調(diào)節(jié)視頻解碼復(fù)雜度的方法,其特征在于,包括 以下步驟 由解碼時間活動窗反饋實時采集解碼器的解碼速度信息; 比較所述的解碼速度信息與固定播放的預(yù)算速度確定調(diào)整反余弦變換模塊,來調(diào) 整解碼器速度; 當(dāng)需要對所述反余弦變換模塊進(jìn)行調(diào)整時,計算當(dāng)前塊的紋理參數(shù),根據(jù)紋理參 數(shù)確定當(dāng)前塊的紋理模式; 根據(jù)所述當(dāng)前塊的紋理模式對當(dāng)前塊的DCT系數(shù)進(jìn)行掩膜處理;處理后的DCT系數(shù)進(jìn)行節(jié)減的反余弦變換。其中節(jié)減了的DCT變 換即采用非0的DCT系數(shù)計算原始域的數(shù)值。 可選的,上述方法所述的由解碼時間活動窗反饋實時采集解碼器的解碼速度信息 包括采集幀數(shù)超過1幀的解碼速度信息步驟。 可選的,上述方法還包括,根據(jù)解碼速度的信息來調(diào)整解碼器的反余弦變換模塊。
可選的,上述方法所述的當(dāng)需要對所述反余弦變換模塊進(jìn)行調(diào)整時,計算當(dāng)前塊 的紋理參數(shù),根據(jù)紋理參數(shù)確定當(dāng)前塊的紋理模式時,把當(dāng)前塊的DCT系數(shù)分成4種類型,
并計算該塊的紋理參數(shù)£ _(I + M)/ A-^和TexE二M+H,再根據(jù)這3參數(shù)把一個
塊根據(jù)其紋理特性分類成為3種紋理模式平坦塊、有邊緣塊和紋理較復(fù)雜性塊。 可選的,上述方法對所述經(jīng)過掩膜處理后的DCT系數(shù)進(jìn)行節(jié)減的反余弦變換步驟
包括,先對反量化后的殘差DCT系數(shù)按照該塊的紋理模式進(jìn)行掩膜處理。 本發(fā)明的有益效果是,設(shè)計了一種解碼速度信息反饋機制來實時采集解碼器的速
度信息和一種復(fù)雜度可調(diào)整的反余弦變換機制來調(diào)整解碼速度。解碼器的解碼復(fù)雜度調(diào)整
是根據(jù)反饋得到的解碼速度信息來自適應(yīng)調(diào)整解碼器模塊中的反余弦變換模塊,自適應(yīng)地
降低這個模塊的復(fù)雜度,以此達(dá)到實時解碼器。 該自適應(yīng)性的復(fù)雜度調(diào)整方法適用于所有基于塊的運動補償混合編碼標(biāo)準(zhǔn) MPEG-1、 MPEG-2、 MPEG-4、 H. 261、 H. 263和H. 264以及最新的中國自主倡導(dǎo)的AVS視頻編碼 標(biāo)準(zhǔn),
圖1示出普通視頻解碼器框圖 圖2示出解碼速度信息反饋示意圖 圖3示出復(fù)雜度自適應(yīng)視頻解碼器框架示意圖 圖4示出8x8塊的DCT系數(shù)劃分方法示意圖 圖5示出5種DCT域掩膜模板示意圖 圖6示出本發(fā)明一實施例中復(fù)雜度自適應(yīng)調(diào)整實現(xiàn)原理框圖
具體實施例方式
以下結(jié)合附圖詳細(xì)描述本發(fā)明的具體實施方式
。對于解碼器解碼速度信息反饋機 制,采用基于每幀的解碼時間反饋的形式來收集解碼的速度信息。基于該反饋信息,解碼速 度信息的反饋機制如下 由于視頻碼流的幀率(每秒鐘傳輸?shù)膱D像數(shù)目)是固定的,所以解碼每一幀圖 像的時間須控制在一定范圍內(nèi),該范圍可從視頻碼流中得到,否則會出現(xiàn)卡幀或者慢動作 回放現(xiàn)象。但是由于基于處理器計算能力不夠,解碼速度受到限制,因此出現(xiàn)在規(guī)定的 時間內(nèi)不能完成解碼現(xiàn)象,所以需要對每幀的解碼時間進(jìn)行統(tǒng)計。所提出的基于解碼時 間反饋的解碼速度信息反饋機制如圖2所示,其中TargetTime為每幀預(yù)期的解碼時間, DecodingTime為實際解碼時間,Time Buffer為解碼預(yù)期時間與實際解碼時間差滑動窗, 窗口大小為12,利用對12幀圖像的解碼器時間進(jìn)行統(tǒng)計,可以實時計算出解碼器的解碼速
4度。根據(jù)此信息來對解碼的各個模塊進(jìn)行相應(yīng)的調(diào)整。 對于解碼器復(fù)雜度調(diào)整機制,圖3中的Complexity Controller模塊即是復(fù)雜度
調(diào)整模塊。其功能是先采用以上第一點的解碼速度信息反饋機制,得到有關(guān)基于本處理器
的解碼速度信息,如果該處理器的處理能力滿足實時解碼需求,那么,復(fù)雜度控制模塊不產(chǎn)
生任何作用;而當(dāng)該處理器的計算能力不夠時,該復(fù)雜度控制模塊發(fā)生作用。 解碼器復(fù)雜度的調(diào)整主要通過調(diào)節(jié)解碼器中的反余弦變換模塊。通過合理調(diào)整圖
3中的iDCT模塊,解碼器可以在有效減低復(fù)雜度的同時保證視頻回放的質(zhì)量。 以下舉一個本發(fā)明的復(fù)雜度自適應(yīng)性視頻解碼方法的基于MPEG-2標(biāo)準(zhǔn)的一個優(yōu)
選實施例子,實施過程的框圖如圖6所示。描述如下 l,對圖2中的解碼速度信息反饋機制,時間差滑動窗口大小為12,利用對12幀圖 像的解碼器時間進(jìn)行統(tǒng)計,可以實時計算出解碼器的解碼速度。根據(jù)此信息來對解碼的各 個模塊進(jìn)行相應(yīng)的調(diào)整。 2,對圖3中的復(fù)雜度控制模塊,先采用以上的解碼速度信息反饋機制,得到有關(guān) 基于本處理器的解碼速度信息。如果該處理器的處理能力滿足實時解碼需求,那么,復(fù)雜度 控制模塊不產(chǎn)生任何作用;而當(dāng)該處理器的計算能力不夠時,該復(fù)雜度控制模塊發(fā)生作用。 如圖6中的框A處的選擇開關(guān)所示。在復(fù)雜度控制模塊通過調(diào)整圖3中的反余弦變換模塊 實現(xiàn)。 3,在復(fù)雜度控制模塊發(fā)生作用時,即解碼器速度不夠時,解碼器控制模塊調(diào)整圖3 中的反余弦變換模塊來降低解碼器的復(fù)雜度。反余弦變換模塊輸入的信號為反量化后的 DCT域殘差信號。本發(fā)明中,把一個需要進(jìn)行反余弦變換DCT殘差塊根據(jù)該殘差塊的紋理 方向性分類成為3類紋理模式平坦塊、邊沿塊和紋理較復(fù)雜塊(紋理塊)。如圖6中的塊 邊緣分析模塊所示。以8x8塊為例。把一個這樣的塊的DCT系數(shù)分類成為四種不同類直 流DC,低頻部分(low frequency) LF、中頻部分(medium frequency) MF和高頻部分(high frequency) HF,如圖4所示,所有低頻部分系數(shù)絕對值之和為L,所有中頻系數(shù)絕對值之和 記為M,所有高頻系數(shù)絕對值之和記為H。<formula>formula see original document page 5</formula> 其中,Z,^,萬表示L,M,H的平均值。計算以下紋理參數(shù)<formula>formula see original document page 5</formula>
塊的類型的劃分方法 a.如果El > 16,這個塊是邊沿塊;或者如果TexE《125,這個塊是平坦塊;
b.如果125 < TexE《290,并滿足max {El, E2} > 7&min{El, E2} > 5,那么這個 塊是邊沿塊,否則是平坦塊。 c.如果290 < TexE《900,并滿足max {El, E2} > 7&min{El, E2} > 5,那么這個 塊是邊沿塊,否則是紋理塊。 d.如果TexE > 900,并滿足max {El, E2} > 0. 7&min{El, E2} > 0. 5,
那么這個塊是邊沿塊,否則是紋理塊。
根據(jù)當(dāng)前塊的類型信息與復(fù)雜度控制模塊的控制信息,對8x8塊進(jìn)行掩膜處理。如圖6中的框B的選擇開關(guān)所示。掩膜模板如圖5所示。其中灰色部分為l,白色部分為0 : a.如果該塊屬于平坦塊,對8x8的DCT塊采用掩膜模板1進(jìn)行對應(yīng)位置相乘;
b.如果該塊屬于邊沿塊,如果AC(l,O)《AC(0,1),那么采用掩膜2進(jìn)行對應(yīng)位置相乘,否則采用掩膜3進(jìn)行對應(yīng)位置相乘; c.如果該塊屬于復(fù)雜紋理塊,采用掩膜4進(jìn)行對應(yīng)位置相乘處理; d.如果復(fù)雜度控制模塊不發(fā)生作用,即視頻解碼器的速度來得及的時候,采用掩
膜0,即不對DCT系數(shù)進(jìn)行掩膜。 由上述例子可以得到,本發(fā)明技術(shù)方案采用基于幀解碼時間活動窗的解碼速度反饋機制,采集得到基于該處理器的解碼能力信息,根據(jù)此信息來自適應(yīng)調(diào)整解碼器中的反余弦變換模塊,提高解碼速度,并保證一定的回放質(zhì)量,達(dá)到實時解碼要求。
權(quán)利要求
一種自適應(yīng)調(diào)節(jié)視頻解碼復(fù)雜度的方法,其特征在于,包括以下步驟由解碼時間活動窗反饋實時采集解碼器的解碼速度信息;比較所述的解碼速度信息與固定播放的預(yù)算速度確定調(diào)整反余弦變換模塊,來調(diào)整解碼器速度;當(dāng)需要對所述反余弦變換模塊進(jìn)行調(diào)整時,計算當(dāng)前塊的紋理參數(shù),根據(jù)紋理參數(shù)確定當(dāng)前塊的紋理模式;根據(jù)所述當(dāng)前塊的紋理模式對當(dāng)前塊的DCT系數(shù)進(jìn)行掩膜處理;對所述經(jīng)過掩膜處理后的DCT系數(shù)進(jìn)行反余弦變換。
2. 如權(quán)利要求1所述的調(diào)節(jié)視頻解碼復(fù)雜度的方法,其特征在于,所述的由解碼時間 活動窗反饋實時采集解碼器的解碼速度信息包括采集幀數(shù)超過1幀的解碼速度信息步驟。
3. 如權(quán)利要求1所述的調(diào)節(jié)視頻解碼復(fù)雜度的方法,其特征在于,還包括,根據(jù)解碼速 度的信息來調(diào)整解碼器的反余弦變換模塊。
4. 如權(quán)利要求l所述的調(diào)節(jié)視頻解碼復(fù)雜度的方法,其特征在于,所述的當(dāng)需要對 所述反余弦變換模塊進(jìn)行調(diào)整時,計算當(dāng)前塊的紋理參數(shù),根據(jù)紋理參數(shù)確定當(dāng)前塊的紋理模式時,把當(dāng)前塊的DCT系數(shù)分成4種類型,并計算該塊的紋理參數(shù)£ =(£ + M)/ ,五2 = ^和TexE = M+H,再根據(jù)這3參數(shù)把一個塊根據(jù)其紋理特性分類成為3種紋理模式平坦塊、有邊緣塊和紋理較復(fù)雜性塊。
5. 如權(quán)利要求1所述的調(diào)節(jié)視頻解碼復(fù)雜度的方法,其特征在于,對所述經(jīng)過掩膜處 理后的DCT系數(shù)進(jìn)行反余弦變換步驟包括,對反量化后的殘差DCT系數(shù)按照該塊的紋理模 式進(jìn)行掩膜處理后再進(jìn)行節(jié)減的DCT變換,其中節(jié)減了的DCT變換即采用非0的DCT系數(shù) 計算原始域的數(shù)值。
全文摘要
本發(fā)明涉及一種在視頻解碼時能對視頻解碼復(fù)雜度進(jìn)行自適應(yīng)調(diào)節(jié)的方法,包括步驟由解碼時間活動窗反饋實時采集解碼器的解碼速度信息;比較所述解碼速度信息與固定播放的預(yù)算速度確定調(diào)整反余弦變換模塊,來調(diào)整解碼器速度;當(dāng)需要對所述反余弦變換模塊進(jìn)行調(diào)整時,計算當(dāng)前塊的紋理參數(shù),根據(jù)紋理參數(shù)確定當(dāng)前塊的紋理模式;根據(jù)所述當(dāng)前塊的紋理模式對當(dāng)前塊的DCT系數(shù)進(jìn)行掩膜處理;對所述經(jīng)過掩膜處理后的DCT系數(shù)進(jìn)行反余弦變換。本發(fā)明的技術(shù)方法使解碼器在處理器計算能力不夠的情況仍然可以保證實時的視頻解碼,克服丟幀、解碼出錯或者慢鏡頭回放等現(xiàn)象。
文檔編號H04N7/64GK101729883SQ20081020113
公開日2010年6月9日 申請日期2008年10月14日 優(yōu)先權(quán)日2008年10月14日
發(fā)明者王向文 申請人:上海煒寅信息科技有限公司