zoukankan      html  css  js  c++  java
  • TS相关知识点

    数字电视的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流中。

  • 相关阅读:
    一句话说说java设计模式
    说说JVM中的操作码
    说说javap命令
    java中的类加载器
    浅谈幂等
    InstallShield Limited Edition for Visual Studio 国内注册时国家无下拉框解决方法
    Winform程序部署方式总结二——Windows Installer发布
    Winform程序部署方式总结一——ClickOnce发布
    WebService部署服务器调试时提示 “测试窗体只能用于来自本地计算机的请求”解决方法
    MVC绕过登陆界面验证时HttpContext.Current.User.Identity.Name取值为空问题解决方法
  • 原文地址:https://www.cnblogs.com/shakin/p/4287331.html
Copyright © 2011-2022 走看看