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