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包头以及包含节目特定信息的表(PMT,PAT)的头是否出现在该包中,在失步后的重新同步中起着重要的作用。
• (4)传送优先级
• 用于表示包中含有重要数据,应予以优先传送。
• 6)加扰控制
• 传送信息通过加入扰码来加密,各个基本码流可以独立进行加扰。加扰控制字段说明TS包中的净荷数据是否加扰。如果加扰,标志出解扰的密匙。
• (5)包标识符PID
• PID是识别TS包的重要参数,用来识别TS包所承载的数据。在TS码流生成时,每一类业务(视频,音频,数据)的基本码流均被赋予一个不同的识别号PID,解码器借助于PID判断某一个TS包属于哪一类业务的基本码流。
• (7)适配域控制
• 标志TS包是否有适配域存在,如果存在,在其内部是否有净荷存在。
• (8)循环计数器
• 用于对传输误码进行检测。在发送端对所有的包都做0-15的循环计数,在接收终端,如发现循环计数器的值有中断,表明数据在传输中有丢失。
• 适配域是一个可变长度的域,它在TS包中是否存在,由适配域控制标识决定。
• 功能:1、同步和定时
• 2、随机进入压缩的码流
• 3、当地节目插入
• 在数字压缩编码系统中,由于每个图像的数据是不同的(图像的编码方法和复杂程度不同),这样不可能从图像数据的起始部分直接获取定时信息。
• 每隔一定的传送时间,在TS包适配域中传送系统时钟27MHz的一个采样值给接收机,作为解码器的时钟基准信号,称为节目时钟基准(PCR)。PCR通常每隔100ms至少传送一次。
随机进入压缩的码流
• 在视频码流中存在I帧,B帧,P帧三种编码帧类型,只有I帧编码数据可以独立进行解码。
• 在节目调谐或节目更换时需要随时进入音频或视频,随机进入应该是I帧,在I帧前面的视频序列的头部应该有一个随机进入点。
• 随机进入指标就是表明随机进入点的位置。
• 在电视广播中,常需要进行本地节目和广告的插入,在MPEG-2传送系统中,使用TS包适配域中的一些标志来支持。插入节目的PCR值与插入前节目的PCR值是不同的,因此通知解码器,要尽快与插入节目建立同步关系。
• 节目插入点必然是随机进入点,但并不是所有的随机进入点都适合作为节目插入点。
• MPEG-2解码器接收到MPEG-2 TS流时,首先检测包结构,在TS流中查找同步字节:
• 总是OX47,总位于TS包开始位置,固定间隔为188字节。
• 同时满足这两个条件,可以确定同步。
• 如果出现一个字节为47hex(OX47),解码器将检测这个字节前后n倍188字节的位置是否也是同步字节。
• 如果是,则当前字节为同步字节;
• 否则,当前字节只是码流中偶尔出现的47hex,不是同步字节。
• 接收端收到5个TS包之后开始同步。
• 丢包3个之后解码器即失步。
• TS包中净荷所承载的信息包括以下3种:
• 1、视频/音频的PES包以及辅助数据
• 2、描述单路节目复用信息的节目映射表(PMT)
• 3、描述单路节目复用信息的节目关联表(PAT)
•
• 1)系统复用时,对视频和音频的ES流进行打包,形成视频和音频的PES流,辅助数据不需要打成PES包.
• (2)视频和音频的PES包以一帧编码图像为单位,音频PES包恒定长度,视频PES包长度可变。
• (3)PES包的长度通常都是远大于TS包的长度,一个PES包必须由整数个TS包来传送,TS包没装满的填充字节。
• (4)TS包长度固定,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值相同,则在进行系统复用时进行修改,修改必须同时记录在PAT和PMT中。
• 允许单路数字电视节目可由其中某些节目流任意组合构成,节目可根据需要ES码流进行增加或删除。
• 允许对多路节目进行灵活复用,若其中某些节目流发生变化,只需要将PAT和PMT做相应修改即可。
• 能够在TS级上提供本地节目插入和条件接收等对广播界非常重要的功能。
•
• PAT
– 每个TS流一个,每隔0.5秒重复。
– 描述TS流中有多少个节目。
– 包含该表的TS包的PID为0,便于识别。
– PAT的payload中传送特殊PID的列表,每个PID对应一个节目。
– 这些PID是描述每个独立节目详细信息的指针。
– PID指向PMT表。
• PMT
– 对应TS包有特殊的PID和特殊的payload。
– PMT的PID由PAT传送。
– 例如要接收节目3时,先从PAT的payload中的所有PID列表中选出节目3的PID为1FF3hex,然后查找包头中PID=1FF3hex的TS包,就是节目3的PMT。
– PMT包含该节目中所有ES流(视频、音频或数据)的PID。
• 一个节目可能有多个视频和音频流,解码器必须选择2个PID,一个视频流的PID(100hex),一个音频流的PID(200hex)。
• 此后解码器只收集这些TS包,解复用,重新组成PES包,这些PES包再送到视频或音频解码器。
• 传输过程中TS流的结构也可能发生改变。解码端机顶盒,如DVB-S,必须连续检测TS流瞬时结构,读出PAT和PMT,做自适应调整。
•
• PAT和PMT读出以后,用户确定出一个节目的两个PID:
• 待解码视频信号的PID(如100hex)
• 待解码音频信号的PID(如200hex)
• 解码器只处理这两个PID的TS包:
• 解复用过程中,PID为100hex的所有TS包集合成视频PES包,送到视频解码器。
• 同样,PID为200hex的所有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流在该硬件设备中循环。
• ECM和EMM的信息,以及用户的个人码可以将码流解扰。
– 亮度信号采样频率13.5MHz,色度信号6.75MHz。27MHz是采样频率的倍数,作为发送端MPEG编码器所有处理过程的参考或基本频率。
– 编码器中27MHz振荡器作为系统时钟(STC)的输入。
– STC是42bit计数器,由27MHz时钟计数,溢出后重新从0开始。
– 接收端也必须提供STC,其27MHz振荡器和42bit计数器必须与编码器STC完全同步。
MPEG码流中需传送参考信息——PCR(programclock reference),即在固定时刻将最新的STC计数器值复制到TS流中
• 码流中传送的PCR值必须足够多,有最大间隔的限制;而且要相对准确,没有抖动。MPEG标准规定:
– 每个节目PCR的最大间隔为40ms。
– PCR的抖动小于±500ns。
• PCR如果出错:
– 本来应该显示彩色图像,却显示出黑白图像。
– TS流重复用时会出现抖动,因为TS包顺序改变,但其中PCR信息却没变。经常会有最大±30μs的PCR抖动,该问题许多机顶盒可以解决。
• PCR信息在相应节目TS包的adaptation field中传送,而TS包类型的准确信息可以从PMT中获得。
• 节目时钟同步以后,视音频编码就可以锁定系统时钟进行了。
• 欧洲DVB项目组和美国ATSC项目组都定义了数字视音频节目传输的附加信息,以便简化机顶盒操作,使其更加人性化:
– 在TS流中传送节目名称来分辨不同节目;
• MPEG-2为扩展留有空间,在PSI、PMT和CAT之外,TS流中还可以有private tables,定义了用户表的结构以及如何将用户表插入到TS流中。