專利名稱:一種傳輸流復(fù)用中的音頻打包基本碼流的打包方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信號(hào)處理中的音視頻編解碼技術(shù)領(lǐng)域,尤其涉及一種傳輸流復(fù) 用中的音頻打包基本碼流的打包方法。
背景技術(shù):
現(xiàn)在已經(jīng)成熟應(yīng)用的數(shù)字音視頻編解碼標(biāo)準(zhǔn),如MPEG-2,以及近年出現(xiàn)的一 批具有代表性的國(guó)際標(biāo)準(zhǔn),如MPEG-4、 H. 264/MPEG-4 AVC、我國(guó)自主制定的標(biāo) 準(zhǔn)AVS等,這些標(biāo)準(zhǔn)中都有一部分稱為系統(tǒng)部分,這部分主要討論了如何將單路 或多路基本音頻和視頻流以及其他數(shù)據(jù)組合成適合于存儲(chǔ)和傳輸?shù)膯温泛投嗦?復(fù)合流。傳輸流就是系統(tǒng)部分定義的一種數(shù)據(jù)流,它是由一個(gè)一個(gè)的傳輸流包組 成的,每個(gè)傳輸流包的大小為188字節(jié)或者204字節(jié),而傳輸流包的有效負(fù)載是 一見(jiàn)頻PES ( Packet ized Elementary Stream即打包基本碼流)包,音頻PES包以 及私有數(shù)據(jù)PES包等,因此好的PES包的打包方式對(duì)有效的復(fù)用非常關(guān)鍵。因?yàn)?不管是MPEG-2標(biāo)準(zhǔn)還是MPEG-4、 AVS標(biāo)準(zhǔn)中,對(duì)于傳輸流的定義也僅僅只限于 其語(yǔ)法的規(guī)定,并沒(méi)有規(guī)定復(fù)用器的體系結(jié)構(gòu)以及如何將一路或者多路視頻和音 頻基本流復(fù)用成傳輸流的具體實(shí)現(xiàn)方法,因此,對(duì)于傳輸流復(fù)用器的設(shè)計(jì),對(duì) PES打包的設(shè)計(jì)等,設(shè)計(jì)人員有相當(dāng)大的自由度。
在現(xiàn)有的復(fù)用方法中,音頻的PES包打包的方法, 一般有兩種, 一種是一 幀音頻數(shù)據(jù)打一個(gè)PES包,另一種就是與視頻一幀的播放時(shí)間對(duì)應(yīng)的音頻數(shù)據(jù), 例如,對(duì)于PAL制式,視頻是25幀/秒,也就是一幀的播放持續(xù)時(shí)間是40ms, 這樣對(duì)于音頻數(shù)據(jù),就根據(jù)其采樣率和比特率,計(jì)算出其40ms的數(shù)據(jù)量,然后 將40ms的數(shù)據(jù)打包成一個(gè)PES包。目前的復(fù)用算法中, 一般PCR (Program Clock Reference)包含在視頻TS包或者專門的PCR信息包中,而不包含在音頻的TS 包中,這樣,音頻TS包的開(kāi)銷除了音頻ES (Elementary Stream即基本碼流) 外,主要包含以下幾個(gè)部分TS包的包頭,PES包的包頭,以及當(dāng)PES分組的
凄t據(jù)不足以填充整個(gè)TS包的有效負(fù)載字節(jié)時(shí),在自適應(yīng)域(adaptation_field ) 中填入的填充字節(jié)。當(dāng)傳輸流的碼率本身不大時(shí),我們發(fā)現(xiàn)按照上述兩種方法 打包音頻PES,在復(fù)用出的傳輸流中,音頻TS包中的填充字節(jié)浪費(fèi)了不少帶寬。 因此,需要提供一種有效的音頻打包基本碼流的打包方法,以減少填充字
節(jié)
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種傳輸流復(fù)用中的音頻打包基本碼流 的打包方法,應(yīng)用該方法復(fù)用得到的傳輸流中,音頻TS包中沒(méi)有自適應(yīng)域中的 填充字節(jié),以節(jié)省帶寬。
為了解決上述技術(shù)問(wèn)題,本發(fā)明是這樣實(shí)現(xiàn)的 一種傳輸流復(fù)用中的音頻 打包基本碼流的打包方法,該種音頻打包基本碼流具有打包基本碼流的包頭及 音頻基本碼流數(shù)據(jù),其中
當(dāng)音頻打包基本碼流包中既不包含顯示時(shí)間標(biāo)簽,也不包含解碼時(shí)間標(biāo)簽 時(shí),每個(gè)打包基本碼流包中的音頻數(shù)據(jù)大小等于184*N-9;
當(dāng)音頻打包基本碼流包中僅包含顯示時(shí)間標(biāo)簽時(shí),每個(gè)打包基本碼流包中 的音頻數(shù)據(jù)大小等于184*N-15;
當(dāng)音頻打包基本碼流包中既包含顯示時(shí)間標(biāo)簽,又包含解碼時(shí)間標(biāo)簽時(shí), 每個(gè)打包基本碼流包中的音頻數(shù)據(jù)大小等于184*N-19;其中N為整數(shù)并且 1<N<365。
本發(fā)明由于采用了上述的技術(shù)方案,使之與現(xiàn)有技術(shù)相比,具有以下的優(yōu) 點(diǎn)和積極效果
PES分組的數(shù)據(jù)足以填充整個(gè)TS包的有效負(fù)載字節(jié)時(shí),在自適應(yīng)域中不用 填入填充字節(jié)即當(dāng)傳輸流的碼率本身夠大從而可節(jié)約帶寬。
具體實(shí)施例方式
以下將對(duì)本發(fā)明的實(shí)現(xiàn)方法作進(jìn)一步的詳細(xì)描述。
在本算法中,音頻TS包中都不包含PCR信息,同時(shí),音頻PES包包頭中的一 些標(biāo)志位為0 , 這些標(biāo)志為包括ESCR—flag , ES —rate — flag , DSM—trick—mode—flag ,additional—copy—info—flag ,PES—CRC—flag 和 PES —ex tens ion —flag。
4安照音頻PES包是否包含顯示時(shí)間標(biāo)簽PTS (presentation time stamp),解 碼時(shí)間標(biāo)簽DTS (decoding time stamp)將音頻PES包分為3類,第一,音頻PES包 中既不包含PTS信息,也不包含DTS,即PES包頭中的PTS—DTS —flags標(biāo)志等于OOB; 第二,音頻PES包中僅包含PTS信息,即PES包頭中的PTS-DTS — flags標(biāo)志等于 10B;第三,音頻PES包中既包含PTS信息也包含DTS信息,即PES包頭中的 PTS-DTS — flags標(biāo)志等于llB。
下面就按照這三類具體說(shuō)明本發(fā)明的算法。
因?yàn)槊總€(gè)TS包都有4字節(jié)大小的包頭,因此每個(gè)TS包最多有效負(fù)載的字節(jié)數(shù)
等于188減去4為184個(gè)字節(jié)。由于對(duì)于音頻TS包而言,它的有效負(fù)載就是音頻PES
包,因此,包含PES包包頭的TS包中,除了TS包的包頭的4字節(jié)的開(kāi)銷外,還有
PES包的包頭的開(kāi)銷。
當(dāng)PTS-DTS-flags為OOB時(shí),音頻打包基本碼流包的打包方法如下 此時(shí),PES包頭有9個(gè)字節(jié),即packet — start-code—pref ix( 3個(gè)字節(jié)),stream—id
(l個(gè)字節(jié)),PES—packet —length (2個(gè)字節(jié)),optional PES Header (2個(gè)字 節(jié))和?£3_1^&(161"_(1&1&_ Length ( l個(gè)字節(jié))。這樣,當(dāng)每個(gè)PES包中的音頻ES數(shù) 據(jù)的大小等于184頌-9 (N為整數(shù)且1〈N〈356 )時(shí),音頻的TS包中就沒(méi)有自適應(yīng)域
(adaptation—field)中填入的填充字節(jié),N之所以要小于356是因?yàn)樵谝纛lPES 包的包頭中有2字節(jié)的PES-packet-length用來(lái)說(shuō)明其后的PES數(shù)據(jù)的長(zhǎng)度,該值 的最大值等于65535,因?yàn)镻ES包頭中的3個(gè)字節(jié)是要計(jì)入PES —packet-length的, 因此PES —packet-length = 184*N-9+3,這樣184求N-9+3〈65535,,由此可以4侏 出,N<=356。
當(dāng)PTS-DTS-flags為10B時(shí),音頻打包基本碼流包的打包方法如下 此時(shí),PES包頭有14個(gè)字節(jié),即packet —start — code —prefix ( 3個(gè)字節(jié)), stream—id ( l個(gè)字節(jié)),PES —packet — length ( 2個(gè)字節(jié)),optional PES Header (2個(gè)字節(jié)),PES—header — data —length ( l個(gè)字節(jié))和PTS信息(5個(gè)字節(jié))。這樣, 當(dāng)每個(gè)PES包中的音頻ES數(shù)據(jù)的大小等于18"N-15 (N為整數(shù)且KK356 )時(shí),音 頻的TS包中就沒(méi)有自適應(yīng)域(adaptation-field)中填入的填充字節(jié)。 當(dāng)PTS-DTS —flags-llB時(shí),音頻打包基本碼流包的打包方法如下
此時(shí),PES包頭有19個(gè)字節(jié),即packet —start_code_prefix ( 3個(gè)字節(jié)), stream—id ( l個(gè)字節(jié)),PES_packet —length ( 2個(gè)字節(jié)),optional PES Header (2個(gè)字節(jié)),PES—header—data —length ( l個(gè)字節(jié)),PTS信息(5個(gè)字節(jié))和DTS 信息(5個(gè)字節(jié))。這樣,當(dāng)每個(gè)PES包中的音頻ES數(shù)據(jù)的大小等于18"N-19 (N 為整數(shù)且1〈N〈356 )時(shí),音頻的TS包中就沒(méi)有自適應(yīng)域(adaptation-field)中 填入的填充字節(jié)。
當(dāng)PTS-DTS-f lags為10B或11B時(shí),需要在音頻PES包中填入PTS或者DTS, 因?yàn)橐纛lES流的碼率是嚴(yán)格恒定的,因此根據(jù)音頻ES的比特率就可以計(jì)算出 ES流中第P個(gè)字節(jié)的PTS,假定ES流的第一個(gè)字節(jié)的播放時(shí)間為T, audio_bitrate為該音頻ES流的碼率,此時(shí)具體的計(jì)算方法為PTSP = (P * 8) / audio —bitrate + T。因?yàn)橐纛l的解碼時(shí)間和顯示時(shí)間是一致的,因此DTS的 計(jì)算方法與PTS —樣。
權(quán)利要求
1、一種傳輸流復(fù)用中的音頻打包基本碼流的打包方法,該種音頻打包基本碼流具有打包基本碼流的包頭及音頻基本碼流數(shù)據(jù),其特征在于當(dāng)音頻打包基本碼流包中既不包含顯示時(shí)間標(biāo)簽,也不包含解碼時(shí)間標(biāo)簽時(shí),每個(gè)打包基本碼流包中的音頻基本碼流數(shù)據(jù)大小等于184*N-9;當(dāng)音頻打包基本碼流包中僅包含顯示時(shí)間標(biāo)簽時(shí),每個(gè)打包基本碼流包中的音頻基本碼流數(shù)據(jù)大小等于184*N-15;當(dāng)音頻打包基本碼流包中既包含顯示時(shí)間標(biāo)簽,又包含解碼時(shí)間標(biāo)簽時(shí),每個(gè)打包基本碼流包中的音頻基本碼流數(shù)據(jù)大小等于184*N-19;其中N為整數(shù)并且1<N<365。
2、 如權(quán)利要求1所述的傳輸流復(fù)用中的音頻打包基本碼流打包方法,其特 征在于當(dāng)音頻打包基本碼流包中僅包含顯示時(shí)間標(biāo)簽時(shí),基本碼流中第P個(gè) 字節(jié)的顯示時(shí)間標(biāo)簽的計(jì)算方法即PTSp = (P * 8) / audio—bitrate + T ,其 中基本碼流的第一個(gè)字節(jié)的播放時(shí)間為T, audio-bitrate為該音頻基本碼流的 碼率。
3、 如權(quán)利要求1所述的傳輸流復(fù)用中的音頻打包基本碼流打包方法,其特 征在于基本碼流中第P個(gè)字節(jié)的解碼時(shí)間標(biāo)簽的計(jì)算方法即DTSp = (P * 8) / audio-bitrate + T,其中基本碼流的第一個(gè)字節(jié)的播放時(shí)間為T, audio-bitrate 為該音頻基本碼流的碼率。
全文摘要
本發(fā)明提出了一種傳輸流復(fù)用中的音頻打包基本碼流的打包方法。在音頻打包基本碼流包中,當(dāng)PTS_DTS_flags=0B時(shí),每個(gè)PES包中的音頻數(shù)據(jù)大小等于184*N-9;當(dāng)PTS_DTS_flags=10B時(shí),每個(gè)PES包中的音頻數(shù)據(jù)大小等于184*N-15;及當(dāng)PTS_DTS_flags=11B時(shí),每個(gè)PES包中的音頻數(shù)據(jù)大小等于184*N-19;其中N為整數(shù)且1<N<365。應(yīng)用該方法復(fù)用得到的傳輸流中,音頻TS包中沒(méi)有自適應(yīng)域中的填充字節(jié),以節(jié)省帶寬。
文檔編號(hào)H04L1/00GK101170379SQ200710047238
公開(kāi)日2008年4月30日 申請(qǐng)日期2007年10月19日 優(yōu)先權(quán)日2007年10月19日
發(fā)明者萍 李, 李國(guó)平 申請(qǐng)人:上海廣電(集團(tuán))有限公司中央研究院