專利名稱:一種碼流解碼方法和裝置的制作方法
技術領域:
本發(fā)明涉及通信技術領域,特別涉及一種碼流解碼方法和裝置。
技術背景MPEG-4 ( Moving Pictures Experts Group 4 ,第四代動態(tài)圖象專家組)是 一種超低碼率運動圖像和語言的壓縮標準,MPEG-4支持短頭ShortHeader格 式,Short Header格式為H.263的碼流格式,為了視頻解碼的向前兼容,在制 訂MPEG-4碼流格式時,加入了ShortHeader格式用來支持H,263碼流格式,這 樣就在解碼過程中引入了 MPEG-4格式碼流與Short Header格式碼流切換的 問題。切換問題有兩種前一段碼流為MPEG-4碼流才各式,后一段為Short Header碼流格式;或者前一段為Short Header碼流格式,后一段為MPEG-4碼 流格式。但是不會出現(xiàn)在一個MPEG-4碼流中,只有一幅圖像為Short Header 格式的碼流。在實際測試中,上述切換的發(fā)生有以下幾種情況1) 正常的碼流方式的切換,解碼器接收到的碼流格式發(fā)生切換;2) 在傳輸過程中,由于傳輸錯誤,導致起始碼的4普誤,發(fā)生碼流切換; 但是在實際測試中,解碼開始時很難判斷解碼器收到的碼流是正確的還是^t普誤的,只有解析到語法元素時,才能最早判斷出碼流是否正確,這就需 要對碼流格式的切換進行有效的判決。3) 已判斷是MPEG-4格式的碼流解析過程中出現(xiàn)了 Short Header格式碼 流的起始碼字(起始碼字在視頻解碼協(xié)議中, 一般定義起始碼為長度為32 比特的碼字,其形式在整個比特流中是唯一的。起始碼用來標識比特流語法 結(jié)構(gòu)的開始),但后續(xù)的語法元素是MPEG-4格式的語法元素(即起始碼表 明后續(xù)的碼流格式應該是ShortHeader格式的,但實際上其碼流格式為 MPEG-4格式的碼流),所以不能按照Short Header格式碼流方式解碼。目前解決MPEG-4碼流格式與Short Header碼流格式間的切換問題的方 案主要有兩種,方案一在解碼MPEG-4格式碼流過程中,如果遇到某一幅 圖像是Short Header格式碼流的起始碼字,就按照Short Header格式碼流繼續(xù) 解碼。或者在解碼ShortHeader格式碼流過程中,如果遇到某一幅圖像是 MPEG-4格式碼流的起始碼字,就按照MPEG-4格式碼流繼續(xù)解碼。即完全 按照解析的起始碼字進行解碼,即判斷是MPEG-4格式的起始碼字,則按照 MPEG-4格式解碼,判斷是ShortHeader起始碼字,則按照ShortHeader格式進行 解碼。這種方法對于正常、正確的碼流來說,是完全可以的。但實際上,對 于一個MPEG-4格式的碼流,其中可能包含了 Short Header格式的起始碼字, 但其又不是Short Header格式的碼流,如果按照Short Header格式進行解碼, 就會導致解碼^t昔誤。而方案二則是在解碼MPEG-4格式碼流過程中,如果遇到Short Header 格式碼流的起始碼字,認為是碼流錯誤,停止本幅圖像的解碼,進行下一幅 圖像的解碼。這種方案會導致碼流格式在實際需要切換時不能進行切換,造 成一幅圖像,甚至一連串圖像的丟失。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題現(xiàn)有 技術在碼流解碼過程中,不能正確判斷碼流的格式,容易造成解碼錯誤,而 且不能保證需要優(yōu)先解碼的碼流的解碼優(yōu)先級。發(fā)明內(nèi)容本發(fā)明實施例提供一種碼流解碼方法和裝置,以實現(xiàn)正確判斷碼流的格 式,提高解碼正確率,保證需要優(yōu)先解碼的碼流的解碼優(yōu)先級。為達到上述目的,本發(fā)明實施例一方面提供一種碼流解碼方法,包括以 下步驟接收碼流,所述碼流包括第一協(xié)議格式碼流或第二協(xié)議格式碼流;若根據(jù)碼流標識判斷所述碼流為第一協(xié)議格式碼流,且在按照所述第一協(xié)議格式 的解碼方式解碼的過程中檢測到所述第二協(xié)議格式的碼流標識,則按照所述第二協(xié)議格式的解碼方式解碼;若根據(jù)碼流標識判斷所述碼流為第二協(xié)議格式碼流,且在按照所述第二 協(xié)議格式的解碼方式解碼的過程中檢測到所述第 一協(xié)議格式的碼流標識,則判斷所述第一協(xié)議格式的碼流標識的數(shù)量是否超過預先設置的閾值;若超過所述預先設置的閾值,則按照所述第一協(xié)議格式的解碼方式解碼。 另一方面,本發(fā)明實施例還提供一種碼流解碼裝置,包括接收模塊,用于接收碼流,所述碼流包括第一協(xié)議格式碼流或第二協(xié)議格式碼流;第一判斷模塊,用于根據(jù)碼流標識判斷所述碼流的碼流格式;第 一解碼模塊,用于當所述第 一判斷模塊才艮據(jù)碼流標識判斷所述碼流為第 一協(xié)議格式碼流,且在按照所述第 一協(xié)議格式的解碼方式解碼的過程中檢測到所述第二協(xié)議格式的碼流標識時,按照所述第二協(xié)議格式的解碼方式解碼;第二判斷模塊,用于當所述第 一判斷模塊根據(jù)碼流標識判斷所述碼流為 第二協(xié)議格式碼流,且在按照所述第二協(xié)議格式的解碼方式進行解碼的過程 中檢測到所述第一協(xié)議格式的碼流標識時,判斷所述第一協(xié)議格式的碼流標識的數(shù)量是否超過預先設置的閾值;第二解碼模塊,用于當所述第二判斷模塊判斷所述第一協(xié)議格式的碼流標識的數(shù)量超過預先設置的閾值時,按照所述第一協(xié)議格式的解碼方式解碼。 與現(xiàn)有技術相比,本發(fā)明實施例具有以下優(yōu)點本發(fā)明實施例實現(xiàn)了在 碼流解碼過程中,正確判斷碼流的格式,從而提高了碼流的解碼正確率,保 證了需要優(yōu)先解碼的碼流的解碼優(yōu)先級。
圖l為本發(fā)明實施例一提供的一種碼流解碼方法流程圖; 圖2為本發(fā)明實施例二提供的另一種碼流解碼方法流程圖; 圖3為本發(fā)明實施例三提供的碼流解碼裝置結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和實施步驟對本發(fā)明實施例的具體實施方式
進行詳細描述如圖1所示,為本發(fā)明實施例一提供的一種碼流解碼方法流程圖,具體 包括以下步驟步驟S101,接收碼流。所述碼流包括第一協(xié)議格式碼流或第二協(xié)議格式 碼流。步驟S102,根據(jù)碼流標識判斷碼流是否為第一協(xié)議格式碼流。若所述碼 流為第一協(xié)議格式碼流,則執(zhí)行步驟S103,否則執(zhí)行步驟S105。步驟S103,按照第一協(xié)議格式的解碼方式解碼,并在解碼過程中檢測碼 流中是否出現(xiàn)第二協(xié)議格式的碼流標識。若在按照所述第一協(xié)議格式的解碼 方式解碼的過程中檢測到所述第二協(xié)議格式的碼流標識,則執(zhí)行步驟S104, 否則繼續(xù)按照第 一協(xié)議格式的解碼方式解碼。步驟S104,按照第二協(xié)議格式的解碼方式解碼。若根據(jù)碼流標識判斷所 述碼流為第一協(xié)議格式碼流,且在按照所述第一協(xié)議格式的解碼方式解碼的 過程中檢測到所述第二協(xié)議格式的碼流標識,則按照所述第二協(xié)議格式的解 碼方式解碼。步驟S105,按照第二協(xié)議格式的解碼方式解碼,并在解碼過程中檢測碼 流中是否出現(xiàn)第一協(xié)議格式的碼流標識。若在按照所述第二協(xié)議格式的解碼 方式解碼的過程中檢測到所述第一協(xié)議格式的碼流標識,則執(zhí)行步驟S106, 否則繼續(xù)按照第二協(xié)議格式的解碼方式解碼。步驟S106,判斷第一協(xié)議格式的碼流標識的數(shù)量是否超過預先設置的闊 值。若根據(jù)碼流標識判斷所述碼流為第二協(xié)議格式碼流,且在按照所述第二 協(xié)議格式的解碼方式解碼的過程中檢測到所述第一協(xié)議格式的碼流標識,則 判斷所述第一協(xié)議格式的碼流標識的數(shù)量是否超過預先設置的閾值,若所述 第一協(xié)議格式的碼流標識的數(shù)量超過預先設置的閾值,則執(zhí)行步驟S107,否 則繼續(xù)按照第二協(xié)議;格式的解碼方式解碼。步驟S107,按照第一協(xié)議格式的解碼方式解碼。若所述第一協(xié)議格式的 碼流標識的數(shù)量超過預先設置的閾值,則按照所述第一協(xié)議格式的解碼方式 解碼。本發(fā)明實施例一實現(xiàn)了在碼流解碼過程中,正確判斷碼流的4各式,從而 提高了碼流的解碼正確率,保證了第二協(xié)議格式碼流的解碼優(yōu)先級,即實現(xiàn) 了所述第二協(xié)議格式碼流的解碼優(yōu)先級高于所述第 一協(xié)議格式碼流的解碼優(yōu) 先級。如圖2所示,為本發(fā)明實施例二提供的另一種碼流解碼方法流程圖,本 發(fā)明實施例以起始碼字作為碼流標識,以H.263的Short Header格式為所述第 一協(xié)議格式,以MPEG-4為所述第二協(xié)議才各式為例,所述方法具體可以包括 以下步驟步驟S201,解碼開始時,對碼流的第一個起始碼字進行檢測。在解碼開 始時,對解析獲取的碼流的第一個起始碼字進行檢測。其中MPEG-4格式碼 流與Short Header格式碼流在解碼開始時具有相同的優(yōu)先級。步驟S202,根據(jù)檢測結(jié)果判斷判斷碼流是否為MPEG-4格式。如果所述 碼流為Short Header格式,則執(zhí)行驟S203,如果所述碼流為MPEG-4格式, 則執(zhí)行步驟S204。步驟S203,進行Short Header格式解碼。當認定所述碼流為Short Header 格式時,進行Short Header格式解碼。步驟S204,進行MPEG-4格式解碼。當認定所述碼流為MPEG-4格式時, 進行MPEG-4格式解碼。步驟S205 ,解碼過程中,對碼流的起始碼字進行4全測。步驟S206,解碼過程中,判斷碼流是否為MPEG-4格式。如果所述碼 流為MPEG-4格式,則執(zhí)行步驟S204,如果所述碼流為Short Header格式, 但已被認定為MPEG-4格式,則執(zhí)行步驟S207。步驟S207,對碼流Short Header格式的起始碼字的進行計數(shù)。當所述碼 流為Short Header格式,但已被認定為MPEG-4格式時,對所述碼流Short Header格式的起始碼字進行計數(shù)累加。步驟S208,判斷計數(shù)值是否達到切換閾值。如果所述計數(shù)值達到切換閾 值,則執(zhí)行步驟S203,如果所述計數(shù)值在未達到切換閾值前,又檢測MPEG-4 格式的起始碼字,則將所述計數(shù)清零,并執(zhí)行步驟S204。本發(fā)明實施例二實現(xiàn)了在解碼MPEG-4格式碼流過程中,正確判斷碼流 是MPEG-4格式還是Short Header格式,從而提高了 MPEG-4協(xié)議碼流的解 碼正確率,而且保i正了 MPEG-4格式碼流的解碼優(yōu)先級。在實際的碼流傳輸 環(huán)境下,存在MPEG-4和H.263混合編碼的碼流。這是MPEG-4協(xié)議為了兼 容在MPEG-4之前產(chǎn)生的H.263協(xié)議,在制定MPEG-4協(xié)議時就約定好的。 上述實施例保證了 MPEG-4優(yōu)先級。實際應用中,不同協(xié)議的優(yōu)先級是可以設定的,本發(fā)明實施例提供的碼 流解碼方法,不限于MPEG-4和H.263協(xié)議,還可以用于其他不同協(xié)議的切 換中。例如,將本發(fā)明實施例提供的碼流解碼方法用于支持多協(xié)議的視頻解 碼器或者解碼芯片中,所述視頻解碼器或者解碼芯片應用在電視機頂盒中, 這樣可以讓用戶控制廣告是否播放。假設機頂盒的電視節(jié)目是H是H.264協(xié) 議碼流(高優(yōu)先級),而廣告是MPEG-4協(xié)議碼流,通過對MPEG-4協(xié)議碼流 的碼流標識進行計數(shù),當MPEG-4碼流標識數(shù)量超過用戶設定的閾值時,將 解碼方式切換到H.264協(xié)議方式,此時廣告就被略過,這樣由電視節(jié)目切換 到廣告的次數(shù)就會減少,使得節(jié)目播放更加靈活。如圖3所示,為本發(fā)明實施例三的碼流解碼裝置結(jié)構(gòu)圖,包括接收模 塊l,用于接收碼流,所述碼流包括第一協(xié)議格式碼流或第二協(xié)議才各式碼流。 第一判斷模塊2,用于根據(jù)碼流標識判斷所述碼流的碼流格式。第一解碼模塊 3 ,用于當?shù)谝慌袛嗄K2根據(jù)碼流標識判斷所述碼流為第 一協(xié)議格式碼流, 且在按照所述第 一協(xié)議格式的解碼方式解碼的過程中檢測到所述第二協(xié)議格 式的碼流標識時,按照所述第二協(xié)議格式的解碼方式解碼。第二判斷模塊4, 用于當?shù)谝慌袛嗄K2根據(jù)碼流標識判斷所述碼流為第二協(xié)議格式碼流,且 在按照所述第二協(xié)議;格式的解碼方式進行解碼的過程中4企測到所述第 一協(xié)議 格式的碼流標識時,判斷所迷第一協(xié)議格式的碼流標識的數(shù)量是否超過預先 設置的閾值。第二解碼模塊5,用于當述第二判斷模塊4判斷所述第一協(xié)議格 式的碼流標識的數(shù)量超過預先設置的閾值時,按照所述第一協(xié)議格式的解碼 方式解碼。其中,第二判斷模塊4,進一步包括計數(shù)子模塊41,用于對所述第一協(xié)議格式的碼流標識的數(shù)量進行計數(shù)累加。閾值判斷子模塊42,用于判斷計 數(shù)子模塊41累加的所述第一協(xié)議格式的碼流標識的數(shù)量是否超過所述預先設 置的閾值。清零模塊43,用于當閾值判斷子模塊42判斷第一協(xié)議格式的碼流 標識的數(shù)量未超過所述預先設置的閾值且第一判斷模塊2檢測到MPEG-4協(xié) 議格式的碼流標識時,將所述第一協(xié)議格式的碼流標識的計數(shù)數(shù)量清零,并 指示所述第一解碼模塊3繼續(xù)按照所述第二協(xié)議格式的解碼方式進行解碼。 所述第二協(xié)議格式碼流包括第四代動態(tài)圖像專家組MPEG-4協(xié)議格式碼流, 所述第一協(xié)議格式碼流包括H.263協(xié)議格式碼流。本發(fā)明實施例的碼流解碼裝置在碼流解碼過程中,正確判斷碼流的格式, 從而提高了碼流的解碼正確率,保證了第二協(xié)議格式碼流的解碼優(yōu)先級,即 實現(xiàn)了所述第二協(xié)議格式碼流的解碼優(yōu)先級高于所述第一協(xié)議格式碼流的解 碼優(yōu)先級。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā) 明可通過硬件來實現(xiàn),當然也可借助軟件加必需的通用硬件平臺的方式實現(xiàn), 但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此, 任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
權(quán)利要求
1、一種碼流解碼方法,其特征在于,包括接收碼流,所述碼流包括第一協(xié)議格式碼流或第二協(xié)議格式碼流;若根據(jù)碼流標識判斷所述碼流為第一協(xié)議格式碼流,且在按照所述第一協(xié)議格式的解碼方式解碼的過程中檢測到所述第二協(xié)議格式的碼流標識,則按照所述第二協(xié)議格式的解碼方式解碼;若根據(jù)碼流標識判斷所述碼流為第二協(xié)議格式碼流,且在按照所述第二協(xié)議格式的解碼方式解碼的過程中檢測到所述第一協(xié)議格式的碼流標識,則判斷所述第一協(xié)議格式的碼流標識的數(shù)量是否超過預先設置的閾值;若超過所述預先設置的閾值,則按照所述第一協(xié)議格式的解碼方式解碼。
2、 如權(quán)利要求1所述的碼流解碼方法,其特征在于,還包括 若所述第一協(xié)議格式的碼流標識的數(shù)量未超過所述預先設置的閾值,則繼續(xù)按照所述第二協(xié)議格式的解碼方式進行解碼。
3、 如權(quán)利要求1所述的碼流解碼方法,其特征在于,所述第二協(xié)議格式 碼流的解碼優(yōu)先級高于所述第 一協(xié)議格式碼流的解碼優(yōu)先級。
4、如權(quán)利要求1所述的碼流解碼方法,其特征在亍,所述第二協(xié)議格式 碼流包括第四代動態(tài)圖像專家組MPEG-4協(xié)議^"式碼流,所述第一協(xié)議格式 碼流包括H.263協(xié)議一各式碼流。
5、 如權(quán)利要求1至4任意一項所述的碼流解碼方法,其特征在于,所述 判斷所述第一協(xié)議格式的碼流標識的數(shù)量是否超過預先沒置的闞值,包括對所述第一協(xié)議格式的碼流標識進行計數(shù)累加,判斷所述第一協(xié)議格式 的碼流標識的數(shù)量是否超過預先i5l置的閾值。
6、 如權(quán)利要求5所述的碼流解碼方法,其特征在于, 若所述第一協(xié)議格式的碼流標識的數(shù)量在超過所述預先設置的闊值之前;險測到所述第二協(xié)議;f各式的碼流標識,則將所述第一協(xié)議^^各式的碼流標識的 計數(shù)數(shù)量清零,并繼續(xù)按照所述第二協(xié)議格式的解碼方式進行解碼。
7、 —種碼流解碼裝置,其特征在于,包括接收模塊,用于接收碼流,所述碼流包括第一協(xié)議格式碼流或第二協(xié)議 格式碼流;第 一判斷模塊,用于根據(jù)碼流標識判斷所述碼流的碼流格式; 第 一解碼模塊,用于當所述第 一判斷模塊根據(jù)碼流標識判斷所述碼流為 第 一協(xié)議格式碼流,且在按照所述第 一協(xié)議格式的解碼方式解碼的過程中檢 測到所述第二協(xié)議格式的碼流標識時,按照所述第二協(xié)議格式的解碼方式解碼;第二判斷模塊,用于當所述第.判斷模塊根據(jù)碼流標識判斷所述碼流為 第二協(xié)議格式碼流,且在所述第 一解碼模塊按照所述第二協(xié)議格式的解碼方 式進行解碼的過程中所述第 一判斷模塊檢測到所述第 一協(xié)議格式的碼流標識時,判斷所述第一協(xié)議格式的碼流標識的數(shù)量是否超過預先設置的閾值;第二解碼模塊,用于當所述第二判斷模塊判斷所迷第一協(xié);義格式的碼流 標識的數(shù)量超過預先設置的閾值時,按照所述第 一協(xié)議格式的解碼方式解碼。
8、 如權(quán)利要求7所述的碼流解碼裝置,其特征在于,所述第二判斷模塊, 包括計數(shù)子模塊,用于對所述第一協(xié)議格式的碼流標識的數(shù)量進行計數(shù)累加; 閾值判斷子模塊,用于判斷所述計數(shù)子模塊累加的所述第一協(xié)議格式的 碼流標識的數(shù)量是否超過所述預先設置的閾值;清零模塊,用于當所述閾值判斷子模塊判斷所述第一協(xié)議格式的碼流標 識的數(shù)量未超過所述預先設置的閾值且所述第 一判斷模塊檢測到所述第二協(xié) 議格式的碼流標識時,將所述第一協(xié)議格式的碼流標識的計數(shù)數(shù)量清零,并 指示所述第 一解碼模塊繼續(xù)按照所述第二協(xié)議格式的解碼方式進行解碼。
9、 如權(quán)利要求7或8所述的碼流解碼裝置,其特征在于,所述第二協(xié)議 格式碼流包括第四代動態(tài)圖像專家組MPEG-4協(xié)議才各式碼流,所述第一協(xié)議 格式碼流包括H.263協(xié)議4各式碼流。
全文摘要
本發(fā)明公開了一種碼流解碼方法和裝置。該方法包括以下步驟接收碼流,所述碼流包括第一協(xié)議格式碼流或第二協(xié)議格式碼流;若根據(jù)碼流標識判斷所述碼流為第一協(xié)議格式碼流,且在按照所述第一協(xié)議格式的解碼方式解碼的過程中檢測到所述第二協(xié)議格式的碼流標識,則按照所述第二協(xié)議格式的解碼方式解碼;若根據(jù)碼流標識判斷所述碼流為第二協(xié)議格式碼流,且在按照所述第二協(xié)議格式的解碼方式解碼的過程中檢測到所述第一協(xié)議格式的碼流標識,則判斷所述第一協(xié)議格式的碼流標識的數(shù)量是否超過預先設置的閾值;若超過所述預先設置的閾值,則按照所述第一協(xié)議格式的解碼方式解碼。通過本發(fā)明實施例提高了碼流解碼正確率,保證了優(yōu)先解碼碼流的解碼優(yōu)先級。
文檔編號H04N7/26GK101242538SQ200810084318
公開日2008年8月13日 申請日期2008年3月18日 優(yōu)先權(quán)日2008年3月18日
發(fā)明者劉寶蘭 申請人:華為技術有限公司