TS 详解


http://blog.csdn.net/yangzhiloveyou/article/details/8709188

数字电视的TS包和TS流的组成和功能

综合考虑几下几个因素:

1)包的长度不能过短,否则包头开销所占比例过大,

导致传输效率下降

2)包的长度不能过长,否则在丢失同步的情况下恢复同步的

周期过长,导致较多的信息丢失

3)其他环境相适配,如纠错编码,宽带网等。

•    TS包按功能分为链接头,适配域,净荷。

•    链接头的长度固定,4个字节

•    适配域的长度从0字节到184字节可变,可以没有,也可以扩展到整个TS

•    净荷数据的长度从0字节到184字节可变。

•    整个TS流是由许多长度为188字节的TS包周期性的排列而形成的。

•    链接头包含4个字节的内容,主要负责TS包的同步、各种ES流的表示、TS包传输差错的检测和条件接收等功能。

•    1)包同步

•    是包中的第一个字节,TS包以固定的8bit的同步字节开始,所有的TS传送包,同步字都是唯一的OX47,用于建立发送端和接收端包的同步。

•    2)包差错指示

•    用于从解码器向分接器指示传输误码。若这个比特被设置,表示此TS包中所携带的净荷信息有错误,无法使用。

•    3)净荷单元起始指示

•    标志PES包头以及包含节目特定信息的表(PMTPAT)的头是否出现在该包中,在失步后的重新同步中起着重要的作用。

•    4)传送优先级

•    用于表示包中含有重要数据,应予以优先传送。

•    6)加扰控制

•    传送信息通过加入扰码来加密,各个基本码流可以独立进行加扰。加扰控制字段说明TS包中的净荷数据是否加扰。如果加扰,标志出解扰的密匙。

•    5)包标识符PID

•    PID是识别TS包的重要参数,用来识别TS包所承载的数据。在TS码流生成时,每一类业务(视频,音频,数据)的基本码流均被赋予一个不同的识别号PID,解码器借助于PID判断某一个TS包属于哪一类业务的基本码流。

•    7)适配域控制

•    标志TS包是否有适配域存在,如果存在,在其内部是否有净荷存在。

•    8)循环计数器

•    用于对传输误码进行检测。在发送端对所有的包都做0-15的循环计数,在接收终端,如发现循环计数器的值有中断,表明数据在传输中有丢失。

 

•    适配域是一个可变长度的域,它在TS包中是否存在,由适配域控制标识决定。

•    功能:1、同步和定时

•               2、随机进入压缩的码流

•               3、当地节目插入

 

•    在数字压缩编码系统中,由于每个图像的数据是不同的(图像的编码方法和复杂程度不同),这样不可能从图像数据的起始部分直接获取定时信息。

•    每隔一定的传送时间,在TS包适配域中传送系统时钟27MHz的一个采样值给接收机,作为解码器的时钟基准信号,称为节目时钟基准(PCRPCR通常每隔100ms至少传送一次。

随机进入压缩的码流

•    在视频码流中存在I帧,B帧,P帧三种编码帧类型,只有I帧编码数据可以独立进行解码。

•    在节目调谐或节目更换时需要随时进入音频或视频,随机进入应该是I帧,在I帧前面的视频序列的头部应该有一个随机进入点。

•    随机进入指标就是表明随机进入点的位置。

•    在电视广播中,常需要进行本地节目和广告的插入,在MPEG-2传送系统中,使用TS包适配域中的一些标志来支持。插入节目的PCR值与插入前节目的PCR值是不同的,因此通知解码器,要尽快与插入节目建立同步关系。

•    节目插入点必然是随机进入点,但并不是所有的随机进入点都适合作为节目插入点。

•    MPEG-2解码器接收到MPEG-2 TS流时,首先检测包结构,在TS流中查找同步字节:

•    总是OX47,总位于TS包开始位置,固定间隔为188字节。

•    同时满足这两个条件,可以确定同步。

•    如果出现一个字节为47hex(OX47),解码器将检测这个字节前后n188字节的位置是否也是同步字节。

•    如果是,则当前字节为同步字节

•    否则,当前字节只是码流中偶尔出现的47hex,不是同步字节。

•    接收端收到5TS包之后开始同步。

•    丢包3个之后解码器即失步。

•    TS包中净荷所承载的信息包括以下3种:

•    1、视频/音频的PES包以及辅助数据

•    2、描述单路节目复用信息的节目映射表(PMT

•    3、描述单路节目复用信息的节目关联表(PAT

•     

•    1)系统复用时,对视频和音频的ES流进行打包,形成视频和音频的PES流,辅助数据不需要打成PES.

•    2)视频和音频的PES包以一帧编码图像为单位,音频PES包恒定长度,视频PES包长度可变。

•    3PES包的长度通常都是远大于TS包的长度,一个PES包必须由整数个TS包来传送,TS包没装满的填充字节。

•    4TS包长度固定,188字节,有效净荷184字节。

•    PMT表包含了与单路节目复用有关的节目信息,典型的构成包括1路视频ES流,2-5路音频ES流,1路或多路辅助数据。

•    进行TS流复用时,各路ES流被分配了唯一的PID,ES流域被分配的PID值间的关系构成了一张表,称为节目映射表PMT

•    PMT完整描述了一路节目由哪些ES流组成,他们的PID分别是什么。

•    MPEG-2传送层中,传送PMT表的码流称为控制码流,和其他ES流一样,在TS包的净荷中传送,分配唯一的PID.

•    PAT包含了与多路节目复用有关的控制信息。

•    PAT描述了系统级复用中传送每路节目PMT的码流的PID

•    PAT作为一个独立的码流,装载在TS包的净荷中传送,分配唯一的PID。传送PAT的码流的PID值定义为固定的数值“0”

•    若复用时遇到有不同码流的PID值相同,则在进行系统复用时进行修改,修改必须同时记录在PATPMT中。

•    允许单路数字电视节目可由其中某些节目流任意组合构成,节目可根据需要ES码流进行增加或删除。

•    允许对多路节目进行灵活复用,若其中某些节目流发生变化,只需要将PATPMT做相应修改即可。

•    能够在TS级上提供本地节目插入和条件接收等对广播界非常重要的功能。

•   

•    PAT

–  每个TS流一个,每隔0.5秒重复。

–  描述TS流中有多少个节目。

–  包含该表的TS包的PID0,便于识别。

–  PATpayload中传送特殊PID的列表,每个PID对应一个节目。

–  这些PID是描述每个独立节目详细信息的指针。

–  PID指向PMT表。

•    PMT

–  对应TS包有特殊的PID和特殊的payload

–  PMTPIDPAT传送。

–  例如要接收节目3时,先从PATpayload中的所有PID列表中选出节目3PID1FF3hex,然后查找包头中PID=1FF3hexTS包,就是节目3PMT

–  PMT包含该节目中所有ES流(视频、音频或数据)的PID

 

•    一个节目可能有多个视频和音频流,解码器必须选择2PID,一个视频流的PID100hex),一个音频流的PID200hex)。

•    此后解码器只收集这些TS包,解复用,重新组成PES包,这些PES包再送到视频或音频解码器。

•    传输过程中TS流的结构也可能发生改变。解码端机顶盒,如DVB-S,必须连续检测TS流瞬时结构,读出PATPMT,做自适应调整。

•     

•    PATPMT读出以后,用户确定出一个节目的两个PID

•    待解码视频信号的PID(如100hex

•    待解码音频信号的PID(如200hex

•    解码器只处理这两个PIDTS包:

•    解复用过程中,PID100hex的所有TS包集合成视频PES包,送到视频解码器。

•    同样,PID200hex的所有TS包重新集合成音频PES包,送到音频解码器。

如果ES流没有加扰,这时可以直接解码。

•    对付费电视或许可证和地域限制等情况,ES流利用电子码进行传输保护。

–  ES利用各种方法进行混扰,接收端必须配有附加硬件并授权

–  附加硬件必须有TS流中合适的解扰和授权数据。

–  因此TS流中传送一个特殊的表CAT(conditionalaccess table)

•    CAT提供了TS流其他数据包的PID,该数据包传送了解扰所需信息:

–  ECM(entitlement control message)

•    用于传送加扰码

–  EMM(entitlement management message)

•    用于用户管理

•    只有ES流本身可以加扰,TS包头、表格和adaptationfield不能加扰。

•    解扰本身在MPEG解码器以外的附加硬件设备进行,附加硬件与解扰方法相关,可以做成智能板卡通过CI(common interface)插入机顶盒。

•    MPEG解码器做进一步处理之前,TS流在该硬件设备中循环。

•    ECMEMM的信息,以及用户的个人码可以将码流解扰。

–  亮度信号采样频率13.5MHz,色度信号6.75MHz27MHz是采样频率的倍数,作为发送端MPEG编码器所有处理过程的参考或基本频率。

–  编码器中27MHz振荡器作为系统时钟(STC)的输入。

–  STC42bit计数器,由27MHz时钟计数,溢出后重新从0开始。

–  接收端也必须提供STC,其27MHz振荡器和42bit计数器必须与编码器STC完全同步。

MPEG码流中需传送参考信息——PCR(programclock reference),即在固定时刻将最新的STC计数器值复制到TS流中

•    码流中传送的PCR值必须足够多,有最大间隔的限制;而且要相对准确,没有抖动。MPEG标准规定:

–  每个节目PCR的最大间隔为40ms

–  PCR的抖动小于±500ns

•    PCR如果出错:

–  本来应该显示彩色图像,却显示出黑白图像。

–  TS流重复用时会出现抖动,因为TS包顺序改变,但其中PCR信息却没变。经常会有最大±30μsPCR抖动,该问题许多机顶盒可以解决。

•    PCR信息在相应节目TS包的adaptation field中传送,而TS包类型的准确信息可以从PMT中获得。

•    节目时钟同步以后,视音频编码就可以锁定系统时钟进行了。

•    欧洲DVB项目组和美国ATSC项目组都定义了数字视音频节目传输的附加信息,以便简化机顶盒操作,使其更加人性化:

–  TS流中传送节目名称来分辨不同节目;

•    MPEG-2为扩展留有空间,在PSIPMTCAT之外,TS流中还可以有private tables,定义了用户表的结构以及如何将用户表插入到TS流中。

你可能感兴趣的:(音视频)