本文主要是介绍ffmpeg---vlc-------- PCR(program clock reference)节目时钟基准,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在电视技术中要求同步扫描,即保证收、发两端的电子扫描规律严格相同。它包含两个要求:一是收、发两端的扫描速度必须相同,这叫同频;二是收、发两端每行、每场的扫描起始时刻必须相同,这叫同相。只有同频同相才能实现同步扫描,接收端才能重现既稳定又准确的图像。为了确保同步扫描,在模拟电视信号中有行同步信号、场同步信号与色同步信号。模拟电视机利用同步分离电路直接从模拟电视信号中解调得到同步头,获得场、行、色同步信息,从而保证彩色图像不失真。而且音频和视频是同时送出的,不存在音频和视频的同步问题。
在数字电视传输码流中。节目时钟基准 (PCR) 也是一种重要的包头信息,它由 33bit 基值 (Base) 和 9bit 扩展值 (Extension) 组成。 PCR 值以系统参考时钟周期为单位记录了源端的时间信息.对于整个数字电视系统的同步起着关键作用。
数字电视与模拟电视的不同之处:一是视频图像由 I 、 B 、 P 三种类型的帧经压缩后的字节数各不相同:二是解码器输入图像的次序和显示次序并不一致.需要重新排序;三是音频的基本码流和视频的基本码流是交错传送的。因此在数字电视的编码端 ( 发射端 ) 和解码端 ( 接收端 ) 不再像模拟电视信号那样直接从解调信号中得到同步信息等。
数字电视的时间信号由码流中的专门信息来传递,接收端应该从码流的这些信息中恢复时钟。但这一时钟不是由物理方式直接传送的,因此。发射端与接收端的实际时钟不可能完全一致。如果处理不好,两者之间很容易在长期积累后有较大的差别,这将导致解码器所 1 灰复的图像容易掉彩色,还会出现周期性的黑屏现象,同时图像会伴有马赛克,严重时会出现死机。
为了实现各种不同应用状态下的编码器,解码器之间的同步,在 MPEG 系统中引入了系统时钟 (STC) 、节目时钟基准 (PCR) 、显示时间标记 (PTS) 的概念。
在数字音、视频编码器中,信号的抽样、处理都是以一个 27MHz 的参考时钟为基础来进行的。对一个显示单元 ( 如一帧图像 ) ,打上用系统时钟对应的参考显示时间,叫显示时间标记,该信息随同码流一起传输。同时.时钟信息也被抽样加入到码流中一起传输。
在解码器中,将时钟信息从码流中取出,用于恢复 STC ,使解码器产生一个与前端同步的 27MHz 系统时钟。在获得显示单元的数据后,将该单元的 PTS 与恢复出的 STC 进行比较,并在相应时间点输出显示数据,这样就可以实现系统编码和解码的同步。视频编/解码系统时钟示意图如附图所示。
在数字电视系统中.系统时钟 (STC) 在传输中由节目时钟基准 (PCR) 和显示时间标记 (PTS) 携带,在接收端解码器中恢复。由此可见 PCR 的作用是使 MPEG 解码器与编码器保持同步。系统时钟 (STC) 即主时钟锁定于码流 PCR 。在编码器中, PCR 是系统时钟正弦波的 42bit 采样值,在解复用器中,它是恢复系统时钟的参考。 PCR 指示解码器接收每一时钟参考时的 STC 时间。如果复用器产生的 PCR 值不准确,或者因抖动造成的网络延时而使接收延迟,就会出现解码与编码之间的同步错误。系统时钟 (STC) 用于产生彩色色同步和同步信号,它是音/视频解码和显示时间标记的参考。抖动和不准确性错误均会导致解码器出错。
为了保证解码器的正确解码,确认一个传输码流的合法性。 DVB 开发了一个标准 ESTI ERT-290 及后来的 TR101 — 290 。在这个标准中,对码流的错误指示分为 3 个等级:第 l 等级是正确解码所必需的几个参数,其中包括同步丢失错误、同步字节错误、 PID 传输错误 ( 包识别丢失 ) 、 PAT 错误 (PAT 丢失 ) 、连续计数错误及 PMT 错误等。
同步丢失是衡量传输码流质量的最重要的指标。传输码流失去同步表明数据已经丢失;连续的同步丢失说明信号丢失。码流分析仪检测到连续 5 个同步字节视为同步,连续检测不到两个以上同步字节则为同步丢失错误。同步丢失错误将直接影响解码后画面的质量.严重的同步错误将造成接收中断。在接收端出现黑屏、静帧和马赛克、画面不流畅等现象。
同步字头的标准值为 Ox47 。当出现同步字节错误时,同步字头的值为其他数值,表明在传输过程中部分数据出现错误,严重时导致解码器解不出信号。
同步字节错误和同步丢失错误的区别在于同步字节错误传输数据仍是 188 或 204 包长,但同步字头不是标准的 Ox47 。在接收端也会出现黑屏、静帧和马赛克画面不流畅现象。
这篇关于ffmpeg---vlc-------- PCR(program clock reference)节目时钟基准的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!