專利名稱:一種音視頻數據的解碼方法、系統及解碼器的制作方法
技術領域:
本發明屬于嵌入式多媒體數據處理領域,尤其涉及一種音視頻數據的解碼 方法、系統及解碼器。
背景技術:
現有網絡視頻解碼器大多只能處理音視頻各一種格式的數據流,該網絡視 頻解碼器只能對一類音視頻數據進行解碼。
網絡^L頻解碼器不能自適應地處理所有格式的數據流,用戶在選配、更換 網絡視頻解碼器時,受到視頻流格式的約束,只能挑選對應的產品,選擇余地 存在局限。
發明內容
本發明實施例的目的在于提供一種音視頻數據的解碼方法,旨在解決現有 技術中解碼器無法實現自適應的對不同編碼格式的數據流進行解碼的問題。
本發明實施例是這樣實現的, 一種音視頻數據的解碼方法,所述方法包括 下述步驟
接收外部輸入的數據流;
解析所述數據流的編碼格式,執行與所述編碼格式相對應的程序對所述數 據流進行解碼;
輸出所述解碼后的凄t據流。
本發明實施例的另一目的在于提供一種音視頻數據的解碼系統,所述系統 包括
數據流接收模塊,用于接收外部輸入的數據流;解碼模塊,用于解析所述數據流的編碼格式,執行與所述編碼格式相對應
的程序對所述數據流進行解碼;以及
輸出模塊,用于輸出所述解碼后的數據流。
本發明實施例的另一目的在于提供一種包括音視頻數據的解碼系統的解碼器。
在本發明中,當接收到外部輸入的數據流時,解析數據流的編碼格式,執 行與該編碼格式相對應的程序對數據流進行解碼操作,并輸出解碼后的數據, 實現自適應的對接收的數據流進行解碼,擺脫了解碼格式固定的缺陷,給用戶 帶來便利。
圖1是本發明實施例提供的音視頻數據的解碼方法實現流程圖; 圖2是本發明第一實施例提供的音頻數據的解碼實現流程圖; 圖3是本發明第二實施例提供的視頻數據的解碼實現流程圖; 圖4是本發明實施例提供音視頻數據的解碼系統框圖。
具體實施例方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實 施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅 僅用以解釋本發明,并不用于限定本發明。
在本發明實施例中,當接收到外部輸入的數據流時,解析數據流的編碼檔^ 式,執行與該編碼格式相對應的程序對數據流進行解碼操:作,并輸出解碼后的 數據,實現自適應的對接收的數據流進行解碼。
圖1示出了本發明實施例提供的音視頻數據的解碼方法實現流程圖,其詳 細步驟如下
在步驟S101中,解碼器開機之后,對解碼器進行初始化。在本發明實施例中,當解碼器開機之后,對該解碼器的外圍設備進行初始 化,并對軟件程序運行環境進行設置以及資源分配等操作。
在步驟S102中,接收外部輸入的數據流。
在步驟S103中,判斷解析接收的數據流的類型,其中該數據流的類型為音
頻凄t據流或^L頻數據流。
在本發明實施例中,音頻數據或視頻數據為完整的一幀。 在步驟S104中,解析接收到的數據流,獲取該數據流的編碼格式。 在步驟S105中,執行與該獲取的編碼格式相對應的程序,對接收的數據流
進行解碼。
在步驟S106中,判斷對接收的數據流解碼是否結束,是則執行步驟S107, 否則返回執行步驟S102。
在步驟S107中,關閉解碼器,釋訪文相應占用的系統資源。
作為本發明的第一個實施例,圖2示出了本發明第一實施例提供的音頻數 據的解碼實現流程,其詳細步驟如下
在步驟S201中,接收音頻數據流。
在步驟S202中,解析該音頻數據的編碼格式。
在步驟S203中,判斷該音頻數據的編碼格式類型是否為G.711,是則執行 步驟S204,否則執行步驟S205。
在本發明實施例中,G.711是一種音頻數據壓縮標準,用于數字程控用戶 交換才幾(Private Branch eXchange, PBX) /綜合業務凄t字網(Integrated Service Digital Network, ISDN)上的數字式電話,在G.711中,經過編碼的語音已經 具有了在公共交換電話網(Public Switched Telephone Network, PSTN)中或者 通過PBX傳輸數字語音的正確格式,G.711使用的是64 Kbps的帶寬。
在步驟S204中,按照G.711的編碼格式對接收的音頻數據進行解碼,即執 行與編碼格式相對應的程序對音頻數據流進行解碼,并執行步驟S212。
在步驟S205中,判斷該音頻數據的編碼格式類型是否為G.722,是則執行步驟S206,否則執行步驟S207。
在本發明實施例中,G.722是支持比特率為64、 56和48kbps多頻率語音 編碼算法,在G.722中,語音信號的取樣率為每秒16000個樣本,G.722可以 處理頻率達7kHz音頻信號寬帶,G.722編碼器是基于子帶自適應差分脈沖編 碼(SB-ADPCM)原理的,信號被分為兩個子帶,并且采用自適應差值脈沖編 碼調制(Adaptive Differential Pulse Code Modulation, ADPCM)技術對兩個子 帶的樣本進行編碼。
在步驟S206中,按照G.722的編碼格式對接收的音頻數據進行解碼,即執 行與編碼格式相對應的程序對音頻數據流進行解碼,并執行步驟S212。
在步驟S207中,判斷該音頻數據的編碼格式類型是否為G.729,是則執行 步驟S208,否則執行步驟S209。
在本發明實施例中,G.729是國際電信聯盟電信標準化部門(International Telecommunication Union Telecommunication Standardization Sector, ITU-T)的 標準語音算法,描述了用共軛結構代數碼激勵線性預測(CS-ACELP)算法以 8Kbps的比特速率對語音進行編碼的算法。
在步驟S208中,按照G.729的編碼格式對接收的音頻數據進行解碼,即執 行與編碼格式相對應的程序對音頻數椐流進行解碼,并執行步驟S212。
在步驟S209中,判斷該音頻數據的編碼格式類型是否為MP3 (Moving Picture Experts Group Audio Layer III),是則執行步驟S210,否則執4亍步驟S211 。
在步驟S210中,按照MP3的編碼格式對接收的音頻數據進行解碼,即執 行與編碼格式相對應的程序對音頻數據流進行解碼,并執行步驟S212。
在步驟S211中,按其它音頻數據的編碼類型解碼該音頻數據,即執行與編 碼格式相對應的程序對音頻數據流進行解碼。
在本發明實施例中,^f又給出了G.711、 G.722、 G.729及MP3的音頻編碼才各 式,對于其它編碼^^式同樣釆用與其對應的程序對接收到的音頻數據進行解碼, 在此不再贅述。在步驟S212中,輸出解碼后的音頻it據。
作為本發明的第二個實施例,圖3示出了本發明第二實施例提供的視頻數據的解碼實現流程,其詳細步驟如下在步驟S301中,接收視頻數據流。在步驟S302中,解析該視頻數據的編碼格式。
在步驟S303中,判斷該視頻數據的編碼格式類型是否為H.264,是則執行步驟S304,否則執行步驟S305。
在本發明實施例中,H.264標準是一種^L頻壓縮編碼標準,H.264標準引入了面向IP包的編碼機制,有利于網絡中的分組傳輸,支持網絡中視頻的流媒體傳輸。H.264具有較強的抗誤碼特性,可適應丟包率高、干擾嚴重的無線信道中的視頻傳輸。H.264支持不同網絡資源下的分級編碼傳輸,從而獲得平穩的圖像質量。H.264能適應于不同網絡中的視頻傳輸,網絡親和性好。
在步驟S304中,按照H.264的編碼格式對接收的視頻數據進行解碼,即執行與編碼格式相對應的程序對視頻數據流進行解碼,并執行步驟S310。
在步驟S305中,判斷該視頻數據的編碼格式類型是否為MPEG4,是則執行步驟S306,否則執行步驟S307。
在本發明實施例中,MPEG4是超低碼率運動圖^f象和語言的壓縮標準,能夠在帶寬較小的情況下進行視頻傳輸,MPEG4具有優勢壓縮比(最大可達4000:1 ),低位元速率,較少之核心程式空間,加強運算功能,及強大之通訊應用整合能力,己成為影音數位視訊產業,最重要的標準格式。
在步驟S306中,按照MPEG4的編碼格式對接收的視頻數據進行解碼,即執行與編碼格式相對應的程序對視頻數據流進行解碼,并執行步驟S310。
在步驟S307中,判斷該視頻數據的編碼格式類型是否為JPEG/MJPEG,是則執行步驟S308,否則執行步驟S309。
在本發明實施例中,聯合圖像專家組(Joint Photographic Experts Group,JPEG)的文件后輟名為".jpg"或".jpeg",是最常用的圖像文件格式,由一個軟件開發聯合會組織制定,是一種有損壓縮格式,能夠將圖像壓縮在很小的儲存空間,圖像中重復或不重要的資料會被丟失,是所有圖像壓縮技術的基
礎。JPEG適合靜態圖像的壓縮,直接處理整個畫面,壓縮倍數為20-80倍,分辨率沒有選擇的余地,因此要等到整個壓縮檔案傳輸完成才開始進行解壓縮成影像畫面;MJPEG (Motion JPEG)是在JPEG基礎發展起來的動態圖像壓縮技術,它只單獨的對某一幀進行壓縮,而基本不考慮視頻流中不同幀之間的變化,可獲取清晰度很高的視頻圖像,而且可靈活設置每路的視頻清晰度和壓縮幀數,其壓縮后的畫面還可任意剪才妻。
在步驟S308中,按照JPEG/MJPEG的編碼格式對接收的視頻數據進行解碼,即執行與編碼格式相對應的程序對一見頻數據流進行解碼,并執行步驟S310。
在步驟S309中,按其它一見頻數據的編碼類型解碼該浮見頻數據,即執行與編碼格式相對應的程序對視頻數據流進行解碼。
在本發明實施例中,僅給出了 H.264、 MPEG4及JPEG/MJPEG的視頻編碼格式,對于其它編碼格式同樣采用與其對應的程序對接收到的視頻數據進行解碼,在此不再贅述。
在步驟S310中,輸出解碼后的視頻數據。
圖4示出了本發明實施例提供的音視頻數據的解碼系統框圖,為了便于說明,圖中僅給出了與本發明實施例相關的部分,其中,該音浮見頻數據的解碼系統可以為內置于解碼器的軟件單元、硬件單元或軟硬件結合單元。
初始化模塊11對解碼器進行初始化,數據流接收模塊12接收外部輸入的數據流,數據流類型判斷模塊13判斷數據流接收模塊12接收到的數據流的類型,數據流的類型為音頻數據流或視頻數據流,解碼模塊14根據數據流類型判斷模塊13的判斷解析數據流的編碼格式,執行與數據流的編碼格式相對應的程序對數據流進行解碼,輸出模塊15輸出解碼模塊14解碼后的數據流。
作為本發明的一個實施例,當數據流類型判斷模塊13判斷數據流接收模塊12接收到的數據流為音頻數據流時,音頻數據流編碼格式解析模塊141解析音頻數據流的編碼格式;音頻數據流解碼模塊142執行與音頻數據流編碼格式解析模塊141解析到的編碼格式相對應的程序對音頻數據流進行解碼。
作為本發明的另一個實施例,當數據流類型判斷模塊13判斷數據流接收模塊12接收到的數據流為視頻數據流時,視頻數據流編碼格式解析模塊143解析視頻數據流的編碼格式;視頻數據流解碼模塊144執行與視頻數據流編碼格式解析模塊143解析到的編碼格式相對應的程序對視頻數據流進行解碼。
在本發明實施例中,當接收到外部輸入的數據流時,解析數據流的編碼格式,執行與該編碼格式相對應的程序對數據流進行解碼操作,并輸出解碼后的數據,實現自適應的對接收的數據流進行解碼,擺脫了解碼格式固定的缺陷,而且采用這種解碼器后,用戶不必再去理會音、視頻數據流采用何種算法進行編解碼,用戶直接接入即可使用,給用戶帶來便利。
可以通過程序來指定相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁盤、光盤等。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1、一種音視頻數據的解碼方法,其特征在于,所述方法包括下述步驟接收外部輸入的數據流;解析所述數據流的編碼格式,執行與所述編碼格式相對應的程序對所述數據流進行解碼;輸出所述解碼后的數據流。
2、 如權利要求1所述的音視頻數據的解碼方法,其特征在于,所述接收外 部輸入的數據流的步驟之前還包括下述步驟對解碼器進行初始化。
3、 如權利要求1所述的音視頻數據的解碼方法,其特征在于,所述接收外 部輸入的數據流的步驟之后,解析所述數據流的編碼格式,執行與所述編碼格 式相對應的程序對所述數據流進行解碼的步驟之前還包括下述步驟判斷所述數據流的類型,所述數據流的類型為音頻數據流或視頻數據流。
4、 如權利要求1所述的音視頻數據的解碼方法,其特征在于,所述解析所 述數據流的編碼格式,執行與所述編碼格式相對應的程序對所述數據流進行解 碼的步驟具體包括下述步驟當所述數據流為音頻數據流時,解析所述音頻數據流的編碼格式; 執行與所述編碼格式相對應的程序對所述音頻數據流進行解碼。
5、 如權利要求1所述的音視頻數據的解碼方法,其特征在于,所述解析所 述數據流的編碼格式,執行與所述編碼格式相對應的程序對所述數據流進行解 碼的步驟具體包括下述步驟當所述數據流為視頻數據流時,解析所述視頻數據流的編碼格式; 執行與所述編碼格式相對應的程序對所述視頻數據流進行解碼。
6、 一種音視頻數據的解碼系統,其特征在于,所述系統包括 數據流接收模塊,用于接收外部輸入的數據流;解碼模塊,用于解析所述數據流的編碼格式,執行與所述編碼格式相對應的程序對所述數據流進行解碼;以及輸出模塊,用于輸出所述解碼模塊解碼后的數據流。
7、 如權利要求6所述的音視頻數據的解碼系統,其特征在于,所述系統還 包括初始化模塊,用于對解碼器進行初始化。
8、 如權利要求6所述的音視頻數據的解碼系統,其特征在于,所述系統還 包括數據流類型判斷模塊,用于判斷所述數據流接收模塊接收到的數據流的類 型,所述數據流的類型為音頻數據流或視頻數據流。
9、 如權利要求6所述的音視頻數據的解碼系統,其特征在于,所述解碼模 塊具體包括音頻數據流編碼格式解析模塊,用于當所述數據流為音頻數據流時,解析 所述音頻數據流的編碼格式;以及音頻數據流解碼模塊,用于執行與所述編碼格式相對應的程序對所述音頻 數據流進行解碼。
10、 如權利要求6所述的音視頻數據的解碼系統,其特征在于,所述解碼 模塊具體包括視頻數據流編碼格式解析模塊,用于當所述數據流為視頻數據流時,解析 所述^見頻數據流的編碼格式;以及視頻數據流解碼模塊,用于執行與所述編碼格式相對應的程序對所述視頻 數據流進行解碼。
11 、 一種包括權利要求6至10任一所述的音視頻數據的解碼系統的解碼器。
全文摘要
本發明適用于嵌入式多媒體數據處理領域,提供了一種音視頻數據的解碼方法、系統及解碼器,所述方法包括下述步驟接收外部輸入的數據流;解析所述數據流的編碼格式,執行與所述編碼格式相對應的程序對所述數據流進行解碼;輸出所述解碼后的數據流。在本發明中,當接收到外部輸入的數據流時,解析數據流的編碼格式,執行與該編碼格式相對應的程序對數據流進行解碼操作,并輸出解碼后的數據,實現自適應的對接收的數據流進行解碼,擺脫了解碼格式固定的缺陷,給用戶帶來便利。
文檔編號H04N7/26GK101640793SQ20081014273
公開日2010年2月3日 申請日期2008年8月1日 優先權日2008年8月1日
發明者吳本全, 吳勝勇, 彭志遠, 王全明 申請人:深圳市朗馳欣創科技有限公司