專利名稱:一種自適應生成碼表的方法和系統的制作方法
技術領域:
本發明涉及通信網絡中數據編碼和解碼技術,特別是指一種自適應生成碼表的方法和系統。
背景技術:
隨著通信網絡和信息電子技術的飛速發展,具有視頻通信功能的終端數量與日俱增,具有視頻通信功能的智能手機、筆記本電腦、平板電腦等也在迅速普及。在視頻通信應用中,實時視頻編碼和解碼對終端計算能力的要求非常高。視頻編碼器和解碼器受芯片功耗和計算能力的限制,在具體的實現過程中,需要通過減少一些對圖像質量影響較小的編碼模式或技術的應用,實現圖像質量和計算能力的折中,也就是說在保證芯片功耗盡量低以及必要的計算能力的前提下,盡可能的實現高質量的圖像。因此,在視頻壓縮標準中,針對不同的目標應用制訂不同的框架集(profile),框架集表示了使用的編碼模式或技術。在實際應用中,會對圖像質量和計算復雜度做一個權衡,即進行一個折中,會對使用的編碼模式或技術做一定刪減。在實際的產品應用中,某些編碼技術不會被使用,這樣原始的碼表就就可以進行進一步簡化,以減少編碼產生的碼字。 例如高度壓縮數字視頻編解碼器標準h. 264中,存在16x16、16x8、8x16、8x8四種宏塊分割模式,在應用中通常只實現16x16,用一個碼字就可以表示宏塊分割模式,而不是原來的四個碼字。但是現有技術中,不使用的編碼技術對應的碼字通常處于空閑的狀態,且其對應的碼字較短,這樣對視頻編碼和解碼的能力實際上是一種浪費。
發明內容
有鑒于此,本發明的主要目的在于提供一種自適應生成碼表的方法和系統,能夠避免不使用的編碼模式,其對應的碼字較短,而需要使用的編碼模式,其對應的碼字較長, 所產生的對編碼和解碼能力的浪費。為達到上述目的,本發明的技術方案是這樣實現的本發明提供了一種自適應生成碼表的方法,所述方法包括編碼器根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器;編碼器或解碼器根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表。其中,所述編碼模式的配置參數,包括多個編碼模式的名稱,以及每個編碼模式的使用情況。其中,所述編碼模式的使用情況,具體為根據計算復雜度和圖像質量進行折中, 確定各個編碼模式是否被使用,其中,所述編碼模式的使用情況包括使用的編碼模式、或不使用的編碼模式。其中,所述自適應生成使用的編碼模式的碼表,具體為編碼器或解碼器根據所述編碼模式的配置參數,以及預先設置的規則自適應生成使用的編碼模式的碼表。
其中,所述預先設置的規則包括為使用的編碼模式優先選擇短的空閑的碼字,將長的碼字設置為空閑;當僅使用兩種編碼模式的情況下,用一比特標記分別表示兩種編碼模式的碼字;當僅使用一種編碼模式的情況下,該模式的碼字不在碼流中表示。本發明還公開了一種自適應生成碼表的系統,所述系統包括編碼器和解碼器; 其中,所述編碼器,用于根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器,根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表;所述解碼器,用于根據接收到的編碼模式的配置參數,自適應生成使用的編碼模式的碼表。其中,所述編碼模式的配置參數,包括多個編碼模式的名稱,以及每個編碼模式的使用情況。其中,所述編碼模式的使用情況,具體為根據計算復雜度和圖像質量進行折中, 確定各個編碼模式是否被使用,其中,所述編碼模式的使用情況包括使用的編碼模式、或不使用的編碼模式。其中,所述自適應生成使用的編碼模式的碼表,具體為編碼器或解碼器根據所述編碼模式的配置參數,以及預先設置的規則自適應生成使用的編碼模式的碼表。其中,所述預先設置的規則包括為使用的編碼模式優先選擇短的空閑的碼字,將長的碼字設置為空閑;當僅使用兩種編碼模式的情況下,用一比特標記分別表示兩種編碼模式的碼字;當僅使用一種編碼模式的情況下,該模式的碼字不在碼流中表示。本發明所提供的自適應生成碼表的方法和系統,編碼器根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器;編碼器或解碼器根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表。使得編碼器和解碼器中自適應生成使用的編碼模式的碼表,這樣語法元素的碼表根據編碼模式的配置參數進行了自適應變化,提高了壓縮和解壓縮的效率。
圖1為本發明一種自適應生成碼表的方法流程示意圖;圖2為本發明生成的編碼模式的配置參數的示意圖;圖3為本發明根據預先設置的規則一自適應生成的碼表的示意圖;圖4為本發明根據預先設置的規則二自適應生成的碼表的示意圖;圖5為本發明一種自適應生成碼表的系統結構示意圖。
具體實施例方式本發明的基本思想是編碼器根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器;編碼器或解碼器根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表。下面結合附圖和具體實施例對本發明的技術方案進一步詳細闡述。圖1為本發明一種自適應生成碼表的方法流程示意圖,如圖1所示,所述方法具體包括以下步驟
步驟101,編碼器根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器;具體的,所述編碼模式的配置參數,包括多個編碼模式的名稱,以及每個編碼模式的使用情況。所述編碼模式的使用情況,具體為根據計算復雜度和圖像質量進行折中, 確定各個編碼模式是否被使用。所述編碼模式的使用情況,具體包括使用的編碼模式、或不使用的編碼模式。所述編碼模式的配置參數位于視頻編碼標準語法的參數集中。圖2為本發明生成的編碼模式的配置參數的示意圖,如圖2所示,其中共有n+1個編碼模式,即ModeO至Moden,每個編碼模式對應一個編碼工具。每個編碼模式的使用情況用一比特數據進行表示。每個編碼模式的使用情況,即啟用與否分別表示為0表示不啟用;1表示啟用,或者1表示不啟用;0表示啟用。進一步的,對于編碼技術多個模式的配置, 建議放在視頻編碼標準語法的參數集中,這樣所述編碼模式的配置參數不需要每幀都在碼流中傳送。步驟102,編碼器或解碼器根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表。具體的,所述自適應生成使用的編碼模式的碼表,具體為編碼器或解碼器,根據所述編碼模式的配置參數,以及預先設置的規則自適應生成使用的編碼模式的碼表。所述預先設置的規則包括為使用的編碼模式優先選擇短的空閑的碼字,將長的碼字設置為空閑;當僅使用兩種編碼模式的情況下,用一比特標記分別表示兩種編碼模式的碼字;當僅使用一種編碼模式的情況下,該模式的碼字不需要在碼流中表示。所述預先設置的規則的制訂基于如下原理編碼器中對于不使用的編碼模式,表示該編碼技術語法元素的碼表中會出現碼字空閑現象,因此有可能存在使用的編碼模式的碼字比空閑的編碼模式的碼字還要長的現象。因此為使用的編碼模式優先選擇短的空閑的碼字,將較長的碼字設置為空閑。這樣在編碼器和解碼器中自適應生成使用的編碼模式的碼表,能夠使得語法元素的碼表根據編碼模式的配置參數進行了自適應變化,提高了壓縮和解壓縮的效率。圖3為本發明根據預先設置的規則一自適應生成的碼表的示意圖,如圖3所示,圖中左半部分表示編碼模式O(ModeO)至編碼模式4(Mode4)分別對應碼字0 (CodewordO)至碼字4 (Codeword4),且CodewordO至Codeword4的長度為由短到長遞增。圖中右半部分上方圖中所示編碼模式的配置參數,其中啟用了編碼模式分別為ModeO、Mode3、Mode4。由于 Mode3和Mode4比Model和Mode2的碼字長,因此在Model和Mode2對應的Codewordl和 Codeword2出現空閑的情況下,自適應生成的碼表為使用編碼模式重新分配碼字,為啟用的編碼模式Mode3和Mode4優先使用較短的空閑的碼字,即Codewordl和Codeword2,空閑較長的碼字,即原先對應Mode3和Mode4的Codeword3和Codeword4。得到的自適應生成的碼表如右半部分下方圖所示。圖4為本發明根據預先設置的規則二自適應生成的碼表的示意圖,如圖4所示, 圖中左半部分表示ModeO至Mode4分別對應CodewordO至Codeword4,且CodewordO至 CodeworcM的長度為由短到長遞增。圖中右半部分上方圖中所示編碼模式的配置參數,其中啟用了編碼模式分別為ModeO和Mode4。也就是說僅使用兩種編碼模式。因此根據編碼模式的配置參數,在編碼模式僅啟用2個的情況下,重新自適應生成使用的編碼模式的碼表,用一比特標記來表示兩個編碼模式,本實施例中用0作為ModeO的碼字,用1作為Mode4的碼字,這樣進一步提高編碼語法元素的表示效率。圖5為本發明一種自適應生成碼表的系統結構示意圖,如圖5所示,所述系統包括編碼器51和解碼器52 ;其中,所述編碼器51,用于根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器52,根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表;具體的,所述編碼模式的配置參數,包括多個編碼模式的名稱,以及每個編碼模式的使用情況。所述編碼模式的使用情況,具體為根據計算復雜度和圖像質量進行折中, 確定各個編碼模式是否被使用。所述編碼模式的使用情況,具體包括使用的編碼模式、或不使用的編碼模式。所述編碼模式的配置參數位于視頻編碼標準語法的參數集中。所述編碼器51根據編碼模式的配置參數,自適應生成使用的編碼模式的碼表,具體為編碼器51根據編碼模式的配置參數,以及預先設置的規則自適應生成使用的編碼模式的碼表。所述預先設置的規則包括為使用的編碼模式優先選擇短的空閑的碼字,將長的碼字設置為空閑;當僅使用兩種編碼模式的情況下,用一比特標記分別表示兩種編碼模式的碼字;當僅使用一種編碼模式的情況下,該模式的碼字不需要在碼流中表示。所述解碼器52,用于根據接收到的編碼模式的配置參數,自適應生成使用的編碼模式的碼表。具體的,所述解碼器52根據接收到的編碼模式的配置參數,自適應生成使用的編碼模式的碼表,具體為解碼器52根據接收到編碼模式的配置參數,以及預先設置的規則自適應生成使用的編碼模式的碼表。所述預先設置的規則包括為使用的編碼模式優先選擇短的空閑的碼字,將長的碼字設置為空閑;當僅使用兩種編碼模式的情況下,用一比特標記分別表示兩種編碼模式的碼字;當僅使用一種編碼模式的情況下,該模式的碼字不需要在碼流中表示。所述預先設置的規則的制訂基于如下原理編碼器51中對于不使用的編碼模式, 表示該編碼技術語法元素的碼表中會出現碼字空閑現象,因此有可能存在使用的編碼模式的碼字比空閑的編碼模式的碼字還要長的現象。因此為使用的編碼模式優先選擇短的空閑的碼字,將較長的碼字設置為空閑。這樣在編碼器51和解碼器52中自適應生成使用的編碼模式的碼表,能夠使得語法元素的碼表根據編碼模式的配置參數進行了自適應變化,提高了壓縮和解壓縮的效率。進一步需要說明的是,所述編碼器51生成碼表后,根據其進行編碼。所述解碼器 52生成碼表后,根據其進行解碼。以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。
權利要求
1.一種自適應生成碼表的方法,其特征在于,所述方法包括編碼器根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器;編碼器或解碼器根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表。
2.根據權利要求1所述的方法,其特征在于,所述編碼模式的配置參數,包括多個編碼模式的名稱,以及每個編碼模式的使用情況。
3.根據權利要求1或2所述的方法,其特征在于,所述編碼模式的使用情況,具體為 根據計算復雜度和圖像質量進行折中,確定各個編碼模式是否被使用,其中,所述編碼模式的使用情況包括使用的編碼模式、或不使用的編碼模式。
4.根據權利要求3所述的方法,其特征在于,所述自適應生成使用的編碼模式的碼表, 具體為編碼器或解碼器根據所述編碼模式的配置參數,以及預先設置的規則自適應生成使用的編碼模式的碼表。
5.根據權利要求4所述的方法,其特征在于,所述預先設置的規則包括為使用的編碼模式優先選擇短的空閑的碼字,將長的碼字設置為空閑;當僅使用兩種編碼模式的情況下, 用一比特標記分別表示兩種編碼模式的碼字;當僅使用一種編碼模式的情況下,該模式的碼字不在碼流中表示。
6.一種自適應生成碼表的系統,其特征在于,所述系統包括編碼器和解碼器;其中,所述編碼器,用于根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器,根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表;所述解碼器,用于根據接收到的編碼模式的配置參數,自適應生成使用的編碼模式的碼表。
7.根據權利要求6所述的系統,其特征在于,所述編碼模式的配置參數,包括多個編碼模式的名稱,以及每個編碼模式的使用情況。
8.根據權利要求6或7所述的系統,其特征在于,所述編碼模式的使用情況,具體為 根據計算復雜度和圖像質量進行折中,確定各個編碼模式是否被使用,其中,所述編碼模式的使用情況包括使用的編碼模式、或不使用的編碼模式。
9.根據權利要求8所述的系統,其特征在于,所述自適應生成使用的編碼模式的碼表, 具體為編碼器或解碼器根據所述編碼模式的配置參數,以及預先設置的規則自適應生成使用的編碼模式的碼表。
10.根據權利要求9所述的系統,其特征在于,所述預先設置的規則包括為使用的編碼模式優先選擇短的空閑的碼字,將長的碼字設置為空閑;當僅使用兩種編碼模式的情況下,用一比特標記分別表示兩種編碼模式的碼字;當僅使用一種編碼模式的情況下,該模式的碼字不在碼流中表示。
全文摘要
本發明公開了一種自適應生成碼表的方法,所述方法包括編碼器根據編碼模式的使用情況,生成編碼模式的配置參數,并發送給解碼器;編碼器或解碼器根據所述編碼模式的配置參數,自適應生成使用的編碼模式的碼表。本發明還公開了一種自適應生成碼表的系統,使得編碼器和解碼器中自適應生成使用的編碼模式的碼表,這樣語法元素的碼表根據編碼模式的配置參數進行了自適應變化,提高了壓縮和解壓縮的效率。
文檔編號H04N7/26GK102348118SQ20111032929
公開日2012年2月8日 申請日期2011年10月25日 優先權日2011年10月25日
發明者于培松, 左雯, 王寧, 魯曉牧 申請人:中興通訊股份有限公司