惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - ____Justin____

很久没写东西了 中秋!! - ____Justin____ 开学了!! 生日 学吉他啦 快开学了 人际交往是大学问啊! 2005年国内各大公司的薪酬 DTV VS IPTV 如何删除Windows Media Player VC远程访问数据库 (转)寻找生命小意义——我的价值观和理想 交流贴 爱的格言 4月30写工作总结,不要忘了!!filter数量不对! - ____Justin____ 根据clsid取得取得filter DSHOW编译错误:strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A) 新项目,关于NC 工作
PCR的工作原理
____Justin__ · 2005-07-08 · via 博客园 - ____Justin____

PCR的工作原理
PCR是节目时钟参考的英文缩写。从其字面上我们可以得晓,该参量应该和解码有关,因为在解码的时候才涉及到节目的概念。在解码以前的传输阶段中,出现的都是离散的数字信号,因此我们在分析PCR的时候,可以建立在一个比较单一、理想的环境中,即编码和解码端的时钟配对问题和定时问题。在这里略去了PCR抖动—即提取到的时钟信号在中心位置上左右变化。这又使我们分析的环境简单化。TS包头自适应区中存在的6B的PCR结构,如图所示。4个红框的全部字节32b加上黑框中的一个字节1b就构成PCR_ Base,计33b;黑框中预留6b;土黄框中的全部字节8b加上黑框中的一个字节1b构成PCR_ex,计9b。在编码器端和解码端:通过计数来达到间接计时的目的。我们可以假使在传输中所有参量的延迟都是一样的。PCR_Base是对编码器的27MHz系统时钟的300分频后的时钟计数值抽样,它的作用是在解码器切换节目时,提供对解码器PCR计数器的初始值,以让该PCR值与后面要介绍到的PTS、DTS最大可能地达到相同的时间起点。PCR_ex是计数器对编码器27MHz系统时钟的计数值,它的作用是通过解码器端的锁相环电路修正解码器的系统时钟,使其达到和编码器一致的27MHz。解码器的系统时钟经300分频后在解码器PCR计数器的初始值的基础上继续计数,这样编码器的PCR计数值就过渡到解码器端来了,而且由断续的抽样变成了连续的计数值,这就总能捕捉到和PTS、DTS数值相同的时刻。(ISO/IEC 13818-1,对PCR编码端,PTS、DTS的间隔规则都是0.1s)。DTS是编码器在编码时定义的,为解码器规定的,在解码器中的预定解码时间。该时间标记出现在PES层,在PES头部时间域中存在。它也是一个33 b的计数值,也是对系统时钟的300分频的时钟的计数值。由于它和PCR有相同的起点,在PCR值连续的情况下,可以起到时间定时的作用,当PCR值和DTS值相等时,表示它们计算了同样的时钟,也即它们经过了相同的时间。对于PCR来说,他们起到了连续计数的功能,忠实地完成了计时任务,DTS则是在等待这个时间,一旦等到这个时间,就表明它的解码次序排好了,因为这个解码次序是在编码的时候规定的,对编码的具体细节我们可以不做了解,我们只要查询到DTS就可以进行下一步的工作。这个也有利于编码器和解码器研发的独立性,少了一些捆绑,多了一些兼容。DTS就视频来说,因为视频编码的时候用到了双向预测,一个图像单元被解出,并非马上就被显示,可能在存储器中留一段时间,作为其余图像单元的解码参考,在被参考完毕后,才被显示。针对视频的显示,MPEG还提出了一个视频PTS。针对音频和视频的同步显示,又提出了一个音频PTS。由于声音没有用到双向预测,它的解码次序就是它的显示次序,故对它只提出PTS的概念。PTS是编码器定义的,为解码器规定某个单元的显示时间。它也是一个33b的计数值,也是对系统时钟的300分频的时钟的计数值。要注意的是,PCR、DTS、PTS应该具有相同的时间起点,选在模拟图像的场同步处开始计时是很好的办法。一个单元解码后被显示,PCR计数器重新计数,开始下一个单元的工作。由此可见,PCR的作用有两个:(1)读取编码端PCR_Base的读数,作为自己的初始值;(2)提取PCR_ex完成编码解码端的系统时钟的调整,达到严格的统一,这个系统时钟的恢复也有利于抽样时钟的提取,亮度抽样是13.5MHz,色度抽样是6.75MHz,都可以从系统时钟获得。系统时钟在300分频后,达到和编码端一样的计数时钟。这两个步骤完成后,则将随后的几个相同性质的TS包(通过PID来提取)的包头统统去掉,构成一个PES(音频或视频),通常一个视频PES包含一帧图像的编码数据和说明其性质的包头,音频PES可能要更短。从PES包头中提取出DTS,PTS,和经过本地PCR (和编码端的PCR已略有区别,该PCR是第一个收到的TS包中的PCR,并经过标准时钟计数)比较来确定各自的排列次序,或解码或显示。在刚切换节目的时候,系统时钟还处于调整阶段,计数时钟不稳,导致计数不正确,也就对待处理单元的解码显示次序指示不正确,因此我们在节目刚刚切换的时候会看到短暂的马赛克或暂时听不见声音。随着系统时钟的调整完毕,图像解码显示次序和声音显示次序都能正常排列,图像和声音都会趋于正常。

posted on 2005-07-08 09:56  ____Justin____  阅读(3082)  评论()    收藏  举报