国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
TS流基本概念

      在MPEG-2標(biāo)準(zhǔn)中,有兩種不同類型的碼流輸出到信道:一種是節(jié)目碼流(Program Stream, PS),適用于沒(méi)有誤差產(chǎn)生的媒體存儲(chǔ),如DVD等存儲(chǔ)介質(zhì);另一種是傳送流(Transport stream, TS),適用于有信道噪聲產(chǎn)生的傳輸,目前TS流廣泛應(yīng)用于廣播電視中,如機(jī)頂盒等。

一、基本概念

  ES流(Elementary Stream):基本碼流,可以理解為編碼后的裸數(shù)據(jù);

  PES流:分割打包的ES流,加入了PES頭。PES包是可變長(zhǎng)度的,PES頭中最重要的部分是顯示時(shí)間標(biāo)記(Presentation Time Stamp, PTS)和解碼時(shí)間標(biāo)記(Decode Time Stamp, DTS),有了PTS和DTS,再加上節(jié)目時(shí)鐘參考PCR,解碼器就能從TS流中重建視頻流;

  TS流(Transport Stream):傳輸流。固定包長(zhǎng)度為188B,TS流固定包長(zhǎng)度的好處是便于找到幀的起始位置,易于從包丟失中恢復(fù),適合于有誤碼的環(huán)境。

二、TS流格式

2.1 TS流格式

TS header是4byte,分別是1byte的同步字節(jié),1bit傳輸數(shù)據(jù)包差錯(cuò)指示, 1bit凈荷單元起始指示, 1bit傳送優(yōu)先權(quán), 13bit包標(biāo)識(shí)符PID, 2bit傳送加擾控制,2bit調(diào)整字段控制和4bit連續(xù)計(jì)數(shù)器。 

        同步字節(jié)(sync byte): 1B,其值固定為0x47,該字段是MPEG-2 TS傳送包標(biāo)識(shí)符;

  傳輸誤差指示符(transport error indicator): 1bit,其值為1時(shí),表示在相關(guān)的傳送包中至少有一個(gè)不可糾正的錯(cuò)誤位,只有在錯(cuò)誤糾正之后,該位才能被重新置0;

  有效載荷單元起始符(payload unit start indicator: 1bit, 當(dāng)TS包帶有PES包數(shù)據(jù)時(shí),置為1,表示TS包的有效凈荷以PES包的第一個(gè)字節(jié)開(kāi)始;置為0,表示該TS包的開(kāi)始不是PES包;當(dāng)TS包帶有PSI數(shù)據(jù)時(shí),置為1,表示TS包帶有PSI部分的第一個(gè)字節(jié),即第一個(gè)字節(jié)帶有指針pointer_field;置為0,表示TS包不帶有一個(gè)PSI部分的第一個(gè)字節(jié),即有效凈荷中沒(méi)有指針pointer_field。空包時(shí),該位置為0;

  傳輸優(yōu)先級(jí)(transport_prority): 1bit, 置為1,表示相關(guān)的包比其他具有相同PID,但是此字段置0的包有更高的優(yōu)先級(jí);

  PID: 13bit, 表示傳送包的有效凈荷中的數(shù)據(jù)的類型。具體如下表:

PID取值 

PID值使用描述

0x0000

節(jié)目關(guān)聯(lián)表(program association table, PAT)

0x0001

條件訪問(wèn)表(conditional access table, CAT)

0x0002

傳送流描述表(transport stream description table, TSDT)

0x0003~0x000F

保留

0x0010~0x1FFE

可以分配為network PID, Program map PID,  elementary PID, 或其它

0x1FFF

空包(8191)

  PID信息非常關(guān)鍵,它直接表征本次TS包的用途。比較重要的是PAT和PMT,之后會(huì)有說(shuō)明;

  傳輸加擾控制(transport scrambling control): 2bit,該字段用來(lái)指示傳送流包有效凈荷的加擾方式;

  自適應(yīng)字段控制(adaption field control): 2bit,表示傳送流包首部是否跟隨有調(diào)整字段和/或有效凈荷。具體如下表:

調(diào)整字段值

描述

00

保留

01

沒(méi)有調(diào)整字段,僅含有184B長(zhǎng)度的有效凈荷

10

沒(méi)有有效凈荷,僅含有183B長(zhǎng)度的調(diào)整字段

11

0~182B的調(diào)整字段后為有效凈荷

  連續(xù)計(jì)數(shù)器(continuity counter): 4bit,隨著具有相同PID TS包的增加而增加,達(dá)到最大則恢復(fù)為0.

2.2 TS流調(diào)整字段

  在MPEG-2 TS中,為了傳送打包后長(zhǎng)度不足188B的不完整TS,或者為了在系統(tǒng)層插入節(jié)目時(shí)鐘參考(program clock reference, PCR),需要在TS包中插入可邊長(zhǎng)字節(jié)的調(diào)整字段。調(diào)整字段其中一個(gè)重要作用是解決編解碼器的音視頻同步問(wèn)題。一般在視頻幀中的TS包的調(diào)整字段中,每隔一定傳輸時(shí)間,傳送系統(tǒng)時(shí)鐘27MHz的一個(gè)抽樣值給接收機(jī),作為解碼器解碼時(shí)的時(shí)鐘參考信息PCR。PCR通常每隔100ms至少被傳輸一次。PCR的數(shù)值所表示的是解碼器在讀完這個(gè)抽樣值的最后那個(gè)字節(jié)時(shí),解碼器本地時(shí)鐘所應(yīng)處的狀態(tài)。通常情況下,PCR不直接改變解碼器的本地時(shí)鐘,而是作為參考基準(zhǔn)來(lái)調(diào)整本地時(shí)鐘,使之與PCR趨于一致。

2.3 PES包格式

PES包的第5個(gè)字節(jié)標(biāo)識(shí)一整個(gè)PES包的長(zhǎng)度,一般來(lái)說(shuō),一個(gè)PES包包含一幀圖像,獲取了PES的包長(zhǎng)度Len,當(dāng)接收到Len個(gè)字節(jié)后,將接收到的字節(jié)組成一個(gè)block,放入FIFO中,等待解碼線程解碼。DTS和PTS也在PES包中傳送。

三、節(jié)目專用信息(Program Special Information, PSI)

  前邊提到了PAT和PMT,它們都是PSI之一。MPEG-2 TS傳送TS包,這些包攜帶兩類信息:已壓縮的音視頻(PES)和與之相關(guān)的符號(hào)化表(PSI),由傳送包的PID來(lái)識(shí)別。

3.1 節(jié)目關(guān)聯(lián)表(Program Association Table, PAT)

  PAT定義了TS中的所有節(jié)目,其值為0x0000,是PSI信息的根結(jié)點(diǎn)。其格式如下圖。

  上圖中,程序在解析到N環(huán)部分的時(shí)候,會(huì)讀取并保存節(jié)目列表及其PID。PAT信息在TS流中隔一段時(shí)間就會(huì)傳送,接收機(jī)在接收時(shí),以接收PAT表為起始。PAT表列出了TS流中所有的節(jié)目列表,以及節(jié)目對(duì)應(yīng)的PID值,這個(gè)PID值表征的是該節(jié)目對(duì)應(yīng)的PMT表的PID值(PMT表稍后說(shuō)明)。PAT表與PMT的關(guān)系如下圖。

3.2 節(jié)目映射表(Program Map Table, PMT)

  PMT提供一路節(jié)目包含的所有原始碼流的PID映射表,其格式如下圖。

  程序在讀取N環(huán)的時(shí)候會(huì)讀取該節(jié)目所有的碼流列表及其PID,解析的時(shí)候可以根據(jù)PID來(lái)分離。這N環(huán)描述符包括的信息如下圖所示。節(jié)目時(shí)鐘參考PCR的PID和視頻的PID是相等的。由PAT得出所有的節(jié)目列表,選定收看的節(jié)目后,篩選出等于該節(jié)目PID的TS包,就可以得到該節(jié)目的所有碼流的PID映射表,這樣接收機(jī)就可以只接收PID等于該節(jié)目的碼流的TS包即可收看該節(jié)目。

四、音視頻同步

  前邊介紹的是TS流用的最多的格式,以及PAT和PMT等,現(xiàn)在說(shuō)一下TS流在解碼時(shí)是如何做到音視頻同步的。

4.1 時(shí)間標(biāo)記與PTS和DTS

  時(shí)間標(biāo)記本身是以90KHz單位表達(dá)的33bit二進(jìn)制值,是MPEG-2系統(tǒng)層提供的一種機(jī)制,以便確保在解碼器上相關(guān)的原始流之間正確的同步。時(shí)間標(biāo)記有兩類:一個(gè)是解碼時(shí)間標(biāo)記(DTS,Decode Time Stamp), 它規(guī)定了在某時(shí)間應(yīng)該從解碼器緩沖區(qū)中刪除一個(gè)訪問(wèn)單元并解碼,但是不進(jìn)行播放;另一個(gè)是顯示時(shí)間標(biāo)記(PTS,Present Time Stamp),它規(guī)定了在某時(shí)刻,解碼的圖像最后從臨時(shí)緩存中釋放出來(lái)并進(jìn)行播放。這樣PTS將總是比與之相關(guān)的DTS大。

4.2 音視頻同步

  在MPEG-2編碼器中有一個(gè)系統(tǒng)時(shí)鐘,該系統(tǒng)時(shí)鐘用來(lái)生成一個(gè)共同的時(shí)序以便音視頻能夠正常的解碼與播放。因?yàn)榫幋a器有共同的系統(tǒng)時(shí)鐘STC,解碼器中的時(shí)鐘可以根據(jù)PCR重新恢復(fù)。所以端到端的同步分為以下幾個(gè)步驟:

(1) 解碼器接收到PCR時(shí),恢復(fù)系統(tǒng)時(shí)鐘;

(2) 解碼器接收到PTS/DTS時(shí),存入對(duì)應(yīng)的堆棧;

(3) 每幅圖像解碼前,用其對(duì)應(yīng)的DTS與系統(tǒng)時(shí)鐘STC進(jìn)行比較,當(dāng)兩者相等時(shí),就開(kāi)始解碼;

(4) 每幅圖像播放前,用其對(duì)應(yīng)的PTS與系統(tǒng)時(shí)鐘STC進(jìn)行比較,當(dāng)兩者相等時(shí),就開(kāi)始播放。

  實(shí)際應(yīng)用時(shí),解碼器一般都有自主的系統(tǒng)時(shí)鐘頻率,不能直接拿編碼器的PCR設(shè)置為解碼器的系統(tǒng)時(shí)鐘STC,而是利用接收到的PCR值,通過(guò)鎖相環(huán)PLL校正解碼器的系統(tǒng)時(shí)鐘STC。

  VLC調(diào)試接收TS流的代碼分析見(jiàn)鏈接:vlc源碼分析(四) 調(diào)用libts接收TS流,對(duì)理解上述過(guò)程非常有幫助。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
[圖文]MPEG-2壓縮編碼技術(shù)原理應(yīng)用(二)
MPEG-2 系統(tǒng)的傳輸流復(fù)用方式
【精品博文】TS流(5)——PCR,PTS
MPEG2 TS小結(jié)(二)
TS 流解碼過(guò)程
TS詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服