热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

在TS码流中出现不连续指示时,对于不连续的处理

      在发生了系统时间基点不连续性之后,在另一个系统时间基点不连续性出现之前,对于新的系统时间基点接收的PCR将不超过两个。      在指定作为PCR_PID的一个PID的

       在发生了系统时间基点不连续性之后,在另一个系统时间基点不连续性出现之前,对于新的系统时间基点接收的PCR将不超过两个。

       在指定作为PCR_PID的一个PIDTS包中,当不连续性状态为真时,continuity_counter只在系统时间基点不连续性出现的包中可以是不连续的。

       由于图像编码方式(IBP帧)和图像复杂度的不同,压缩编码后每帧图像产生不定长数据量,因此无法从编码比特流中直接获取帧同步信息,导致了解码与显示过程无法同步。为此,一般在视频帧中的TS包的调整字段中,每隔一定的传输时间,传送系统时钟27MHZ的一个抽样值给接收机,作为解码器解码时的时钟参考信号,即为我们说的节目时钟参考PCR

        数字电视信号无法像模拟电视那样在任意帧处进行剪切、插入或节目切换,只有在TS包中携带的数据可以独立进行解码的某些特定的位置上,才允许对节目进行调整和切换,这样的位置称为“随机接入点”。在调整字段重点的“随机接入指示”就是表明随机接入点的位置。当“随机接入指示”设置为1时,说明从此TS包开始可以对编码码流进行节目调整和节目切换。

        在进行本地节目插入时,插入节目的PCR值域插入前节目的PCR值是不同的,因此就需要有指示信息通知解码器PCR值将发生变化,是解码器能够及时改变时钟频率和相位,并与插入节目尽快建立同步关系。在调整字段中,“不连续指示”标志就是通知解码器PCR值将从某一个TS包开始发生间断,即与前一个TS包的PCR值相比将发生变化,不在是与其连续的下一个值。至于从哪一个TS包变化PCR的值,则依据“拼接点标志”和与之对应的“拼接点负计数器”共同决定。

        节目插入点必然就是随机接入点,但并不是所有的随机接入点都适合做节目插入点,主要限制在于将要插入的比特流的长度,应使节目前后缓冲的容量保持一致,同时在节目插入开始时缓冲区的容量应保证不致使解码端缓冲区出现上溢或下溢。


推荐阅读
author-avatar
宣亨奭
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有