專利名稱:數字音頻編碼的附加數據的擴展結構及相應的擴展裝置的制作方法
技術領域:
本發明涉及數字音頻編解碼領域,更具體地說,涉及一種DRA數字音頻編碼的附加數據的擴展結構及相應的擴展裝置。
背景技術:
現有的數字音頻編碼技術會在音頻幀中添加附加數據,并通過該附加數據對數字音頻編碼效果進行處理,同時使得每個音頻幀都具有固定的比特長度,以便于對數字音頻編解碼的控制。在數字音頻編碼標準IS0/IEC MPEG-I的音頻編碼標準中,附加數據一般設置在每個音頻幀的最后,可由用戶填充附加數據以保持固定的比特率。這里的附加數據沒有具體 定義內容,可由用戶自己定義。在DAB (Digital Audio Broadcasting,數字信號廣播)音頻編碼標準中,附加數據也設置在音頻幀的最后,該附加數據由后至前依次包括固定的2個字節,用于設置節目相關數據;2或4個字節的CRC校驗字,用于保護編碼中的比例因子信息;可變字節數,用于擴展節目相關數據;填充比特,用于保證整個DAB音頻幀具有固定的長度。其中用于擴展節目相關數據的附加數據的具體內容也由用戶自己定義在IS0/IEC 13818-7MPEG-2AAC 和 IS0/IEC 14996-3MPEG-4AAC 等(下面簡稱ACC)音頻編碼標準中,用于填充的附加數據可包括多個設置在音頻幀的各個部分的填充單元。同時每個填充單元填充的附加數據可以是擴展元數據動態范圍內容、SBR (SpectralBand Replication,頻段復制)內容、SBR-CRC (Spectral Band Replication-CyclicalRedundancy Check,頻段復制-循環冗余碼校驗)內容、固定內容填充數據或任意其他填充數據等。但這里每個填充單元只能使用一種類型的附加數據。在Dolby AC-3的音頻編碼標準中,附加數據設置在音頻幀的接近最后的位置,附加數據中的最后I比特指明是否存在有效的附加數據,如果存在,則將之前的14比特用來說明有效的附加數據,否則不存在這14比特,最后附加數據的最前面設置有保證音頻幀具有固定的長度的填充比特。該音頻編碼標準中的附加數據的14比特的具體內容也由用戶自己定義。在GB/T 22726-2008《多聲道數字音頻編解碼技術規范》,即DRA (Digital RiseAudio)的音頻編碼標準中,附加數據設置在一個音頻幀的幀尾,并且在音頻幀的幀頭指明了在音頻幀的幀尾是否存在附加數據。但位于幀頭的指示只指明了本幀的附加數據前的字節數,附加數據的具體內容也是由用戶自己定義。綜上所述,上面提到的五種音頻編碼標準中,僅ACC音頻編碼標準的附加數據定義了每個填充單元的附加數據的類型。但是ACC音頻編碼標準中的填充單元較為分散,無法明確的給出附加數據的整體長度;同時各個填充單元都有其各自的長度,在應用多個填充單元時,解碼器分析每幀碼流會非常麻煩,必須對每個填充單元進行長度解析后才能直接跳到下一幀的開始位置。此外ACC音頻編碼標準中的每個填充單元只能使用一種類型的附加數據,使得附加數據的使用效率較低。故,有必要提供一種數字音頻編碼的附加數據的擴展結構及相應的擴展裝置,以解決現有技術所存在的問題。
發明內容
本發明要解決的技術問題在于,針對現有技術中的數字音頻編碼的附加數據的擴展結構及相應的擴展裝置中的附加數據的類型不兼容或使得數據音頻編碼的效率低下的技術問題,提供一種可同時應用多種類型的附加數據,且編碼效率高的DRA數字音頻編碼的附加數據的擴展結構及相應的擴展裝置。本發明涉及一種數字音頻編碼的附加數據的擴展結構,所述附加數據設置在相應的音頻幀的幀尾,其包括
附加數據總長度字節,用于描述所述附加數據的總字節長度;以及附加數據字節,包括至少一個附加數據單元;所述附加數據單元包括數據長度字節,用于描述所述附加數據單元的字節長度;數據類型字節,用于描述所述附加數據單元的數據類型;以及數據內容字節,用于描述所述附加數據單元的附加數據內容,所述附加數據總長度字節設置在所述附加數據字節之前。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述附加數據單元中的字節依次為所述數據類型字節、所述數據長度字節以及所述數據內容字節。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述附加數據單元中的字節依次為所述數據長度字節、所述數據類型字節以及所述數據內容字節。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述數據長度字節用于描述整個所述附加數據單元的字節長度。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述數據長度字節用于描述所述數據內容字節的字節長度。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述音頻幀還包括音頻編碼數據,所述音頻編碼數據采用DRA的音頻編碼標準進行編碼。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述音頻編碼數據包括同步字節、幀頭字節以及各音頻聲道的壓縮字節。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述音頻幀還包括填充數據,所述填充數據設置在所述附加數據與所述音頻編碼數據之間,用于保證所述音頻幀的固定長度。在本發明所述的數字音頻編碼的附加數據的擴展結構中,所述附加數據總長度字節的長度為255或65792,所述數據長度字節的長度為4096,所述數據類型字節的長度為16。本發明還涉及一種數字音頻編碼的附加數據的擴展裝置,其包括上述的數字音頻編碼的附加數據的擴展結構。實施本發明的數字音頻編碼的附加數據的擴展結構及相應的擴展裝置,具有以下有益效果可同時應用多種類型的附加數據,且編碼效率高,解決了現有的數字音頻編碼的附加數據的擴展結構及相應的擴展裝置中的附加數據的類型不兼容或使得數據音頻編碼的效率低下的技術問題。
下面將結合附圖及實施例對本發明作進一步說明,附圖中圖I為本發明的數字音頻編碼的附加數據的擴展結構的第一優選實施例所在音頻幀的結構示意圖;圖2為本發明的數字音頻編碼的附加數據的擴展結構的第二優選實施例所在音頻幀的結構示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。請參照圖1,圖I為本發明的數字音頻編碼的附加數據的擴展結構的第一優選實施例所在音頻幀的結構示意圖。該音頻幀包括音頻編碼數據、填充數據以及附加數據。該音頻編碼數據采用DRA的音頻編碼標準進行編碼,該音頻編碼數據包括同步字節、幀頭字節以及各音頻聲道的壓縮字節,該同步字節提供該音頻幀的同步信息;該幀頭字節提供該音頻幀的幀屬性,例如幀長信息、采樣率索引信息、聲道數信息等信息,該幀頭字節還提供用于指明該音頻幀的幀尾是否存在附加數據的附加數據提示信息;音頻聲道的壓縮字節用于提供該音頻幀的各音頻聲道的壓縮信息。填充數據設置在附加數據和音頻編碼數據之間,用于保證音頻幀的固定長度。該填充數據根據音頻幀的預設長度、音頻編碼數據的長度以及附加數據總長度進行設定,使得該音頻幀可保持固定的比特率。附加數據設置在相應的音頻幀的幀尾,包括附加數據總長度字節以及附加數據字節。該附加數據總長度字節用于描述該附加數據的總字節長度,且附加數據總長度字節設置在整個附加數據的最前面(即附加數據總長度字節設置在附加數據字節之前),這樣的設置便于解碼時快速跳過附加數據的區域,直接解碼下一幀音頻,同時為音頻幀長度的計算提供了便利的結構。附加數據字節包括至少一個附加數據單元,該附加數據單元包括數據長度字節、數據類型字節以及數據內容字節,數據長度字節用于描述附加數據單元的字節長度;數據類型字節用于描述附加數據單元的數據類型;數據內容字節用于描述附加數據單元的附加數據內容;。在本實施例中,附加數據單元中的字節依次為數據長度字節、數據類型字節以及數據內容字節,這里的數據長度字節可描述整個附加數據單元的字節長度,這樣數據長度字節、數據類型字節以及數據內容字節的長度可以隨意調整。當然在數據長度字節和數據類型字節采用預設的字節長度描述時,數據長度字節可只描述數據內容字節的字節長度,這樣的設置可以提高編碼效率。數據類型字節可根據附加數據類型的總數或常用的附加數據類型的數目使用合適的字節長度來表示,以盡可能的減少附加數據的編碼量,例如當附加數據類型的總數為9種時,可使用4比特來表示數據類型字節。數據內容字節用于描述附加數據單元的附加數據內容,具體如元數據、低碼率環繞聲擴展和分層擴展等。其設置在附加數據單元的最后,用于對附加數據進行最細化的說明。下面通過一具體實施例說明具有本發明的數字音頻編碼的附加數據的擴展結構的音頻幀,具體為具有DRA數字音頻編碼的附加數據的擴展結構的音頻幀的具體組成結構。如下所示為該音頻幀的音頻編碼數 據、填充數據以及附加數據的擴展語法格式
DRA_vStream()
{
FrameHeader O ;
{
bAuxData = Unpack(I);
}
UnpackBitPad O;
AuxiliaryData O ;
}其中FrameHeader ()為音頻編碼數據(其中具體內容部分省略),UnpackBitPadO為填充數據,AuxiliaryDataO為附加數據。其中音頻編碼數據包括同步字節、幀頭字節以及各音頻聲道的壓縮字節。填充數據用于填充值為“I”的比特數據,對于非固定碼率格式的編碼,只需填充最多31比特,確保本音頻幀的附加數據前的數據長度為32比特(4字節)的倍數。這里指出音頻編碼數據的中貞頭字節會設置一信息bAuxData說明該音頻巾貞是否存在附加數據區域,如bAuxData=l則表示附加數據區域存在。其中附加數據的擴展語法格式如下AuxiliaryData ( bAuxData )
{
if (bAuxData)
{
count = 0;
aux—data—Ien—total = Unpack(8) + I;count += I;
if (aux_data_len_total == 256)
{
esc_leng th_total = Unpack(16) aux_data_Ien_totaI 十=csc_length_total; count += 2;
}
do {
aux_data_1en = Unpack (12) + I filling—type = Unpack(4);
count += aux_data_J_Ln switch filling—type
{
case ’ 0000,
DRA_ext_data( aux_data_1 en ); //一般透明數據 Break; case ‘0001’
DRA_ext_metadata ( aux_data_len ); //元數據 Break; case: ‘ ooiiy
DRA_exl_BWE( aux—datajtn ); //低碼率帶寬擴展數
據
Break; case tfOOI I’
DRA_cxt_surround ( aux_d it i_lcn ) ; //低碼率環繞聲 數據
Break; case: ‘0100,
DRA_ext_scaleble ( aux_data_len ); //分層編碼數據Break;case: ‘0101, DRA_eχt_richmeclia ( aux_data_len ); //富媒體數據Break;case: iIlll*DRA—ext—type ( aux—data—Ien ) ;//附加數據類型擴展
Break; default:
break;
}
if (aux_data_len_tottl 〈= count) break;
} while(I)
I
}其中aux—data—I en—total和esc—length—total用來表示附加數據總長度字節,其中aux—data—I en—total為8比特,最多可表不255的長度;esc—length—total為16比^特,如果附加數據總長度字節的字節長度大于等于256,則用eSC_length_t0tal進行擴展。所以一音頻幀中附加數據總長度字節的字節長度最大為256+65536=65792。aux_data_len表示數據長度字節,其中aux_data_len為12比特,可以表示4096的長度。filling_type表示數據類型字節,其中filling_type為4比特,可以表示16的長度,即可提供16種不同的擴展類型,具體對應關系可如下表I所示,表I為數據類型字節中擴展類型的具體內容;表I
權利要求
1.一種數字音頻編碼的附加數據的擴展結構,所述附加數據設置在相應的音頻幀的幀 尾,其特征在于,包括附加數據總長度字節,用于描述所述附加數據的總字節長度;以及附加數據字節,包括至少一個附加數據單元;所述附加數據單元包括數據長度字節,用于描述所述附加數據單元的字節長度;數據類型字節,用于描述所述附加數據單元的數據類型;以及數據內容字節,用于描述所述附加數據單元的附加數據內容,所述附加數據總長度字節設置在所述附加數據字節之前。
2.根據權利要求1所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述附 加數據單元中的字節依次為所述數據類型字節、所述數據長度字節以及所述數據內容字 節。
3.根據權利要求1所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述附 加數據單元中的字節依次為所述數據長度字節、所述數據類型字節以及所述數據內容字 節。
4.根據權利要求3所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述數 據長度字節用于描述整個所述附加數據單元的字節長度。
5.根據權利要求3所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述數 據長度字節用于描述所述數據內容字節的字節長度。
6.根據權利要求1所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述音 頻幀還包括音頻編碼數據,所述音頻編碼數據采用DRA的音頻編碼標準進行編碼。
7.根據權利要求6所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述音 頻編碼數據包括同步字節、幀頭字節以及各音頻聲道的壓縮字節。
8.根據權利要求6所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述音 頻幀還包括填充數據,所述填充數據設置在所述附加數據與所述音頻編碼數據之間,用于 保證所述音頻幀的固定長度。
9.根據權利要求1所述的數字音頻編碼的附加數據的擴展結構,其特征在于,所述附 加數據總長度字節的長度為255或65792,所述數據長度字節的長度為4096,所述數據類型 字節的長度為16。
10.一種數字音頻編碼的附加數據的擴展裝置,其特征在于,包括權利要求1至權利要 求9其中任一所述的數字音頻編碼的附加數據的擴展結構。
全文摘要
本發明涉及一種數字音頻編碼的附加數據的擴展結構及相應的擴展裝置,該附加數據設置在相應的音頻幀的幀尾,其包括附加數據總長度字節,用于描述附加數據的總字節長度;以及附加數據字節,包括至少一個附加數據單元;附加數據單元包括數據長度字節,用于描述附加數據單元的字節長度;數據類型字節,用于描述附加數據單元的數據類型;以及數據內容字節,用于描述附加數據單元的附加數據內容,附加數據總長度字節設置在附加數據字節之前。本發明還涉及一種數字音頻編碼的附加數據的擴展裝置,本發明的數字音頻編碼的附加數據的擴展結構及相應的擴展裝置可同時應用多種類型的附加數據,且編碼效率高。
文檔編號G10L19/00GK102956233SQ201210381358
公開日2013年3月6日 申請日期2012年10月10日 優先權日2012年10月10日
發明者閆建新, 王磊 申請人:深圳廣晟信源技術有限公司