CN103828381A - 用于音频/视频时钟恢复的自适应pid控制器 - Google Patents
用于音频/视频时钟恢复的自适应pid控制器 Download PDFInfo
- Publication number
- CN103828381A CN103828381A CN201180073731.3A CN201180073731A CN103828381A CN 103828381 A CN103828381 A CN 103828381A CN 201180073731 A CN201180073731 A CN 201180073731A CN 103828381 A CN103828381 A CN 103828381A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- receiver
- clock
- signal
- control parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
说明了系统、设备和方法,包括指定抖动响应控制参数,接收多个时间戳对。可以连同经过的时间一起确定时间戳对的最大抖动,如果最大抖动小于经过的时间除以抖动响应控制参数,就可以调整时钟频率。可以响应于输入A/V信号的抖动中的变化来调整抖动响应控制参数。此外,可以响应于时间戳对的经评估的抖动来调整一个或多个比例积分微分(PID)控制器系数。
Description
背景技术
为了在广播音频/视频(A/V)流的回放中保持足够的质量,必须恢复广播流的设备或系统的时钟信号,从而能够适当地同步回放设备的A/V电路。不适当的时钟恢复会导致视频帧从流丢失,结果是当丢失的帧在A/V流回放期间被重采样时的音频质量的降级。
某些广播环境,尤其是IP网络环境,可以在A/V流上施加高的和/或可变程度的抖动。这种抖动可以在回放设备的时钟恢复机制上设置额外的数学运算负担。传统A/V时钟恢复设计方案中使用的比例积分微分(PID)控制器没有解决激励中的抖动。这样,当传统A/V时钟恢复机制接收高抖动激励时,PID控制就会急剧变化,并有可能成为无法使用的。
附图说明
在附图中通过示例的方式而非限制的方式示出了本文所述的材料。为了例示的简单和清楚,附图中所示的要素不一定按照比例进行绘制。例如,为了清楚,一些要素的尺寸可以相对于其他要素而被放大。此外,在认为适当的情况下,参考标记在附图中重复使用,以指示相应的或类似的要素。在附图中:
图1是示例性系统的示意图;
图2示例示了示例性过程;
图3例示了示例性自适应PID控制器;
图4例示了时间戳对的示例性图;
图5例示了时间戳对的示例性图;
图6例示了时间戳对的示例性图;
图7例示了示例性模拟结果;以及
图8是全部按照本公开内容的至少某些实施方式布置的、示例性系统的示意图。
具体实施方式
现在参考附图来说明一个或多个实施例或实施方式。尽管论述了特定结构和布置,但应理解这仅是出于举例说明的目的。相关领域技术人员会认识到,在不脱离说明书的精神和范围的情况下,可以使用其他结构和布置。本领域技术人员应当理解,本文所述的技术和/或布置也可以用于除了本文所述的以外的各种其他系统和应用中。
尽管以下说明阐述了多个实施方式,其可以出现在例如片上系统(SoC)架构的架构中,但本文所述的技术和/或布置的实施方式不局限于特定架构和/或计算系统,可以由出于类似目的的任何架构和/或计算系统来实施。例如,使用例如多个集成电路(IC)芯片和/或封装的各种架构,和/或各种计算设备和/或消费电子(CE)设备,例如机顶盒、智能电话等,可以实现本文所述的技术和/或布置。此外,尽管以下说明可以阐述多个具体细节,例如系统部件的逻辑实施方式、类型和相互关系,逻辑划分/集成选择等,但所要求的主题的实践可以无需这种具体细节。在其他例子中,可以不详细显示诸如控制结构和全软件指令序列之类的一些材料,以免使得本文公开的材料模糊不清。
本文公开的材料可以在硬件、固件、软件、或其任意组合中实施。本文公开的材料也可以实现为存储在机器可读介质上的指令,其可以由一个或多个处理器读取并执行。机器可读介质可以包括任何介质和/或机制,用于以可由机器(例如计算设备)读取的形式存储或发送信息。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或传播信号的其他形式(例如,载波、红外信号、数字信号等),以及其他。
说明书中对“一个实施方式”、“实施方式”、“示例性实施方式”等的提及指示所述的实施方式可以包括特定特征、结构或特性,但每一个实施方式都不必然包括该特定特征、结构或特性。而且,这种短语不一定指代相同的实施方式或实施例。此外,当结合一个实施方式来说明特定特征、结构或特性时,应当指出,无论是否在本文中明确说明,结合其他实施方式来实现这种特征、结构或特性都在本领域技术人员的知识范围内。
图1示出了根据本公开内容的示例性设备100。在多个实施方式中,设备100可以包括A/V接收机模块102,所述A/V接收机模块102能够响应于接收诸如编码的A/V比特流之类的广播A/V信号而产生视频和音频输出信号。由模块102接收的A/V信号可以由A/V源设备(例如,发射机模块)产生并由模块102通过网络接收,所述网络可以包括有线和/或无线部件并可以在A/V信号中引入变化的抖动量,所述部件包括网际协议(IP)网络部件。
输入A/V信号可以符合各种A/V标准、规范或协议。例如,产生的输入A/V信号可以符合运动图像专家组(MPEG)-2传输流(TS)标准(参见ITU-T Rec.H.222.0,“Information technology--Generic coding of movingpictures and associated audio information:Systems”,2007年10月16日公布)。在其他实施方式中,输入A/V信号可以符合诸如实时流协议(RTSP)(参见因特网工程任务组(IETF)rfc2326,1998年4月公布)的网络控制协议,或其他网络控制协议,其中可以将时间戳设置在IP包上。在另外其他的实施方式中,输入A/V信号可以符合各种无线联网协议,例如无线吉比特联盟(WiGigTM)协议(参见WiGigTM Specification Version1.1,2011年6月28日公布)。此外,在多个实施方式中,输入A/V信号可以包括未压缩的音频和/或视频信号,其需要独立的音频和视频时钟恢复处理。例如,输入A/V信号可以符合高清晰度多媒体接口规范(参见例如Specification Version1.3,2006年11月10日公布),索尼/飞利浦数字互连格式(SPDIF)规范等。在这些各种非限制性示例中,输入A/V信号可以呈现大的和/或高度可变的抖动量。
A/V接收机模块102可以被配置为按照A/V信号符合的特定标准来处理A/V信号。尽管本公开内容在应用中不局限于任何特定A/V规范、协议或标准,但为了清楚,将在MPEG-2H.222标准的背景下来说明本文公开的示例性设备、系统和过程。在该背景下,输入A/V信号可以包括A/V数据包和相关的发射机时间戳或节目时钟参考(PCR)时间戳,其由源设备使用例如具有27MHz频率的系统时间时钟(STC)产生。
接收机模块102包括多路分配器逻辑104、时钟恢复模块(CRM)106、相应的视频解码模块108和音频解码模块110、时钟信号发生器或振荡器(OSC)112、各种锁相环(PLL)电路114和STC计数器116。多路分配器逻辑104可以提取发射机TS信号(PCR信号),并使用例如包标识符(packet identifier),从输入A/V信号中分离出编码的视频和音频数据信号。PCR信号可以包括PCR包的流。多路分配器逻辑104可以将PCR信号提供给CRM106,并将编码的视频和音频数据信号分别提供给视频和音频解码模块108和110。CRM106可以控制OSC112,以改变OSC112提供给STC计数器116和PLL114的信号的频率。响应于OSC112的输出,STC计数器116可以产生接收机模块的本地TS信号(STC信号),其提供给CRM106和解码模块108及110。PLL114可以使用OSC112的输出以将相应的视频和音频时钟信号提供给解码模块108和110。
因为A/V信号可以包括可变的抖动量,PCR信号就会呈现出相对于接收机STC信号的变化的时间延迟或相移。如以下更详细说明的那样,CRM106可以使用根据本公开内容的自适应PID控制器机制或方案,通过对接收机STC信号进行相应地调节,来补偿输入A/V信号中的抖动。CRM106可以通过分析PCR和STC信号并使用分析结果来控制OSC112的频率来这样做,以使得接收机模块的STC信号相对于PCR信号的延迟可以被适应性地最小化。接收机模块102随后可以使用经调整的STC信号以通过解码模块108和110来使得A/V数据的解码同步。
本领域技术人员应当理解,图1中没有示出通常在A/V接收机中见到的或与之相关的各种元件。例如,接收机模块102可以包括或相关于诸如视频和音频缓存器、时钟输出信号等之类的额外的项目,为了清楚,这些在图1中没有示出。此外,本领域技术人员应当理解,在多个实施方式中,作为输入A/V信号的部分而被包括的时间戳(例如由远程源设备的编码器增加的),如果被施加在传输包级就可以称为PCR戳,或者如果被施加在包化基本流(PES)级上就可以称为系统时钟参考(SCR)戳。
如以下更详细解释的那样,在多个实施方式中,CRM模块106所采用的抖动响应控制参数(C)的值可以响应于在特定时间间隔(elapsed_time)上出现在输入A/V信号中的抖动量而动态地调整。此外,如以下更详细解释的那样,在多个实施方式中,A/V接收机模块可以根据以下伪代码,响应于输入A/V信号的最大抖动(max_jitter)来调整其本地时间戳信号(例如STC)的频率:
if(max_jitter<(elapsed_time/C))
adjust_clock_frequency
图2示出了用于实施根据本公开内容的多个实施方式的自适应PID控制器的示例性过程200的流程图。在多个实施方式中,过程200可以用于响应于发射机TS信号中变化的抖动量而控制本地TS信号的频率。过程200可以包括一个或多个操作、功能或动作,如由图2的一个或多个块202、204、206、208、210、212、214、216、218、220、222、224、226和228所示的那样。通过非限制性示例的方式,本文将参考图1的示例性A/V接收机来说明过程200。
还将参考图3来说明过程200,其中,示出了根据本公开内容的多个实施方式的自适应PID控制器300的示意图。如图3所示,控制器300包括去抖动模块302和频率调整模块304。在多个实施方式中,去抖动模块302工作以分析本地TS信号(STC信号)和在本地TS信号与发射机TS信号(PCR信号)之间的差。在如此进行时,去抖动模块302可以分析形式{(|TST-TSL|)(TSL)}的TS对,其中,TST指代发射机TS的值(例如PCR信号脉冲的前沿的时间值),TSL指代本地TS的值(例如STC信号脉冲的前沿的时间值)。
去抖动模块302可以在特定时间间隔(elapsed_time)期间收集并分析TS对,其中,时间间隔可以部分地由去抖动模块302监控的经过的时间的参数(elapsed time parameter)来确定。例如,去抖动模块302可以至少收集并分析32个TS对的最小组尺寸。在多个实施方式中,去抖动模块302可以分析TS对的组,以确定每一对的斜率,该组的最大抖动(及该最大抖动的值(例如,max_jitter=|TST-TSL|),和具有最小斜率的TS对。在多个实施方式中,图1的A/V接收机102的CRM106可以提供去抖动模块302的功能,而CRM106结合OSC112和STC计数器116可以提供频率调整模块304的功能。
此外,在多个实施方式中,去抖动模块302可以响应于分析TS对而调整PID控制器300的系数。例如,取决于TS对中检测到的抖动量,去抖动模块302可以调整PID控制器系数Kp、Ki和/或Kd,以提供更积极的时钟同步或提供更受抑制的时钟同步。例如,对于TS对中的评估的较大抖动量(例如较大的max_jitter值),去抖动模块302可以调整系数Kp、Ki和/或Kd,以增大借助模块304的时钟频率调整的速率。另一方面,对于TS对中的评估的较小抖动量(例如较小的max_jitter值),去抖动模块302可以调整系数Kp、Ki和/或Kd以通过模块304减小时钟频率调整的速率。
图4示出了根据本公开内容的多个实施方式的一组示例性TS对的示例性绘图400。图400包括示例性的发射机-接收机TS对(例如(STC,PCR)),作为量(STC–PCR)的绝对值与接收机时间戳(STC)的时间值的函数。如图4所示,以此方式分析的每一组TS对都将呈现具有值{ABS(STC–PCR)/STC}的最小斜率(min_slope)的至少一个TS对402。
返回到图2的论述,过程200可以在块202处开始,其中,可以指定抖动响应控制参数。在多个实施方式中,块202可以包括为自适应PID控制器指定控制参数。例如,块202可以包括指定抖动响应控制参数(C),其部分地确定例如图3的PID控制器300的自适应PID控制器算法的抖动响应。例如,图5示出了根据本公开内容的多个实施方式的TS对的示例性绘图500。如图5所示,线502表示经过的时间(例如,自最后一次调整了时钟频率起)除以具有值C=256的抖动响应控制参数(C),而线504表示经过的时间除以值C=512,线506表示经过的时间除以值C=1024,用以提供几个非限制性的示例。
在块204处,可以启动计数器。例如,可以由去抖动模块302启动计时器。在块208处,可以接收多个TS对。例如,参考图5和3,可以启动计时器(例如在图500的原点),可以由去抖动模块302收集来自低抖动源的TS对508。在块210处,可以确定一组TS对的最大抖动(max_jitter),在块212处,可以确定经过的时间值。例如,可以在经过的时间514获得第一组接收的TS对512的最大抖动值510(例如|TST-TSL|的特定值)。在多个实施方式中,块204和212所用的计数器功能可以由去抖动模块302提供,其计数它接收的STC脉冲的数量。在块214处,在块212处确定的经过的时间(elapsed_time)可以除以控制参数C(在块202处指定的),以提供量(elapsed_time/C)。
在块216处,可以做出有关于最大抖动的值(max_jitter)是否小于(elapsed_time/C)的值的确定。如果块216导致肯定的确定,那么过程200就可以继续进行到块218,其中,可以确定具有最小斜率的TS对。例如,块218可以包括确定组512中具有最小斜率的TS对(例如参见图3)。随后可以在块220处调整本地时钟频率,以响应于在块218处识别的TS对。例如,同样参考图1,在多个实施方式中,块220可以包括RM106实现例如PID控制器300的自适应PID控制器算法,使用在块218处识别的TS对远程时间戳值(例如PCR值)来控制使用频率控制信号的OSC112。通过以此方式控制OSC112,CRM106可以调整由STC计时器116产生的其本地时间戳信号(STC)的时钟频率。
如果在块220处调整了时钟频率,那么过程200就可以在块222处继续,其中,复位计数器。例如,如图5所示,如果在块220处调整了时钟频率,那么就可以在时间514将计数器复位为0。在块224处,可以做出有关于是否继续过程200的确定。如果块224的结果为否,那么过程200就可以结束。但如果块224的结果是肯定的,那么过程200就可以在块225处继续,如以下进一步说明的那样。
返回块216的确定的论述,如果最大抖动等于或大于(elapsed_time/C)的值,那么过程200就可以在块225处继续,其中,可以做出有关于是否调整PID控制器系数的确定。例如,取决于在TS对中检测到的抖动量(例如,max_jitter的值),去抖动模块302可以决定调整PID控制器300的系数Kp、Ki和/或Kd。如果块225的结果是肯定的,那么过程200就可以继续到块226处,其中,可以调整PID控制器系数。在多个实施方式中,块226可以包括去抖动模块302指定一个或多个PID控制器系数调整参数Jp、Ji和/或Jd,它们可以用于通过修改PID系数(例如,借助(Kp*Jp)、(Ki*Ji)、(Kd*Jd))来调整PID控制器300的响应度。例如,块226可以包括如果TS对的评估抖动(例如按照由max_jitter所测量的)超过上限阈值,去抖动模块302就使用PID控制器系数调整参数来增大模块304调整时钟信号的频率,或者如果TS对的评估抖动降低到低于下限阈值,就减小模块304调整时钟信号的频率。
过程200可以在块228处继续,其中,可以做出有关于是否调整抖动响应控制参数C的确定。例如,如上所述,在块216处进行的确定结果取决于三个因子的值:经过的时间(elapsed_time),TS对组的最大抖动(max_jitter),和抖动响应控制参数C的量值。在多个实施方式中,在块228处的有关于是否调整抖动响应控制参数C的确定可以响应于在A/V接收机接收的接收机时间戳的抖动中的变化而作出。
再次参考图5的示例性绘图500,对于线502(C=256),最大抖动510的值会小于在时间514的(elapsed_time/C)的值,因此,对于C的这个值,将在块220处调整A/V接收机的本地时钟频率。但如果已经在块202处指定了对应于任一线504(C=512)或线506(C=1024)的C的值,那么在时间514,最大抖动510就不会小于(elapsed_time/C)的值,因此,对于C的这些值,不会调整A/V接收机的本地时钟频率。因此对于C的这些示例性值,在块216处的确定的结果将为否定。
返回到块228的论述,继续借助已经在块202处指定了C=256的值的示例,以使得最大抖动510小于(elapsed_time/C)的值,并因此在时间514调整时钟频率,如果在块228处不调整控制参数C,那么如果在下一个时间间隔期间(由时间516与时间514之间的差来表示),下一组TS对520的最大抖动值518可能再次小于由线522表示的(elapsed_time/C)的值,那么可以在时间516再次调整时钟频率。但如果做出在块228处调整控制参数C的确定,过程200就返回到块202处,其中,例如将C的值指定为C=1024,那么在时间516,在块210处再次确定的最大抖动512就可以大于由线524表示的(elapsed_time/C)的值,并且在时间516不调整时钟频率。以此方式,可以调整根据本公开内容的PID控制器的抖动响应。
图6示出了根据本公开内容的多个实施方式的TS对的另一个示例性绘图600。与图5相反,示例性绘图600示出了来自相对高的抖动源的TS对602的采样。如图6所示,并且类似于图5的绘图500的非限制性示例,线602表示经过的时间除以抖动响应控制参数C=256,而线604表示经过的时间除以C=512,线606表示经过的时间除以C=1024。
因为与示例性绘图500的TS对508相比,在TS对602中的抖动量相对较大,在第一时间608,第一TS对组612的最大抖动610会大于任一条线602、604或606的(elapsed_time/C)的值。这样,在这个示例中,在时间608,过程200不会导致时钟频率调整。但在下一时间614,第二TS对组618的最大抖动616会大于线604和606的(elapsed_time/C)的值,但小于线602的(elapsed_time/C)的值。因此,在这个示例中,在时间614,过程200会导致针对对应于线602的C的值的时钟频率调整。
如图2所示,尽管示例性过程200的实施方式可以包括按照所示的顺序进行所示的所有块,但本公开内容不限于此,在多个示例中,过程200的实施方式可以包括仅进行所示的所有块的子集和/或以与所示的不同的顺序进行。另外,可以响应于由一个或多个计算机程序产品提供的指令来进行图2的任意一个或多个过程和/或块。这种程序产品可以包括信号承载介质,提供指令,在例如由一个或多个处理器核心执行时,可以提供本文所述的功能。可以在任意形式的计算机可读介质中提供计算机程序产品。因此,例如,包括一个或多个处理器核心的处理器可以响应于由计算机可读介质传送到处理器的指令,进行图2中所示的一个或多个块。
如上所述,根据本公开内容的包含自适应PID控制器算法的时钟恢复机制相对于在时钟恢复激励上引入的抖动,可以呈现宽泛的适应性。例如,图7示出了对于系统响应度(例如算法300的)的示例性模拟结果700,该系统响应度针对按照在TS对(例如PCR、STC对)之间的时间差和在这些TS对之间的频率差表示的、在90kHz输入时钟信号(例如输入SCR信号)中变化的抖动量的百万分之(ppm)1000的时钟差。模拟结果700包括针对在激励间时间(例如在TS对之间的)的12.5%的随机抖动的结果702,针对在激励间时间的25%的随机抖动的结果704,针对在激励间时间的50%的随机抖动的结果706,和针对在激励间时间的100%的随机抖动的结果708。
图8示出了根据本公开内容的示例性系统800。系统800可以用于执行本文所述的各种功能的某些或全部,并可以包括能够实现根据本公开内容的多个实施方式的自适应PID控制器的任何设备或设备的集合。例如,系统800可以包括选择的计算平台或设备的部件,例如台式机、移动或平板电脑、智能电话、机顶盒等,尽管本公开内容不限于这一点上。在一些实施方式中,系统800可以是基于用于CE设备的架构(IA)的计算平台或SoC。对于本领域技术人员显而易见的是,在不脱离本公开内容的范围的情况下,能够与可替换的处理系统一起来使用本文所述的实施方式。
系统800包括处理器802,具有一个或多个处理器核心804。处理器核心804可以是任意类型的处理器逻辑,能够至少部分地执行软件和/或处理数据信号。在多个示例中,处理器核心804可以包括CISC处理器核心、RISC微处理器核心、VLIW微处理器核心、和/或任意数量的处理器核心,实现指令集的任何组合,或者任何其他处理器设备,例如数字信号处理器或微控制器。
处理器802还包括解码器806,其可以用于将由例如显示处理器808和/或图形处理器810接收的指令解码为控制信号和/或微代码入口点。尽管在系统800中示出为与核心804不同的部件,但本领域技术人员应当认识到,一个或多个核心804可以实现解码器806、显示处理器808和/或图形处理器810。在一些实施方式中,处理器802可以被配置为进行本文所述的任何过程,包括相对于图2所述的示例性过程。此外,响应于控制信号和/或微代码入口点,解码器806、显示处理器808和/或图形处理器810可以执行相应的操作。
处理核心804、解码器806、显示处理器808和/或图形处理器810可以通过系统互连816通信地和/或可操作地彼此耦合和/或与各种其他系统设备耦合,所述各种其他系统设备可以包括但不限于,例如,存储器控制器814、音频控制器818和/或外围设备820。外围设备820例如可以包括通用串行总线(USB)主机端口、外设部件互连(PCI)高速端口、串行外围设备接口(SPI)接口、扩展总线、和/或其他外围设备。尽管图8将存储器控制器814示出为由互连816耦合到解码器806及处理器808和810,但在多个实施方式中,存储器控制器814可以直接耦合到解码器806、显示处理器808和/或图形处理器810。
在一些实施方式中,系统800可以经由I/O总线(未示出)与图8中未示出的各种I/O设备通信。这种I/O设备可以包括但不限于,例如通用异步接收机/发射机(UART)设备、USB设备、I/O扩展接口或其他I/O设备。在多个实施方式中,系统800可以表示用于进行移动、网络和/或无线通信的系统的至少部分。
系统800可以进一步包括存储器812。存储器812可以是一个或多个分立存储器部件,例如动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备或者其他存储器设备。尽管图8将存储器812示出为在处理器802的外部,但在多个实施方式中,存储器812可以在处理器802的内部。存储器812可以存储由数据信号表示的指令和/或数据,其可以由处理器802在进行本文所述任何过程中执行,包括相对于图2所述的示例性过程。例如,存储器812可以存储本文所述的PID控制参数值。在一些实施方式中,存储器812可以包括系统存储器部分和显示存储器部分。
本文所述的设备和/或系统,例如示例性系统100表示根据本公开内容的许多可能的设备结构、架构或系统中的若干个。诸如示例性系统100的变型之类的系统的许多变型也可能符合本公开内容。
上述的系统以及如本文所述的由其执行的处理可以在硬件、固件或软件,或其任意组合中实施。另外,本文公开的任意一个或多个特征可以在硬件、固件或软件,或其任意组合中实施,包括分立和集成电路逻辑、专用集成电路(ASIC)逻辑、和微控制器,并可以实施为特定域集成电路封装的部分,或者集成电路封装的组合。本文使用的术语“软件”指代计算机程序产品,包括计算机可读介质,具有存储于其中的计算机程序逻辑,用以使得计算机系统执行本文公开的一个或多个特征和/或特征的组合。
尽管参考多个实施方式说明了本文阐述的某些特征,但这个说明并非旨在以限制性意义来加以解释。因此,本文所述的实施方式的各种修改,以及对于本公开内容所属领域技术人员来说是显而易见的其他实施方式都视为落入本公开内容的精神和范围内。
Claims (26)
1.一种计算机实施的方法,包括:
指定抖动响应控制参数;
接收多个时间戳对;
确定所述多个时间戳对的最大抖动;
确定经过的时间;以及
调整时钟频率或比例积分微分(PID)控制器系数中的至少一个,其中,在所述最大抖动小于所述经过的时间除以所述抖动响应控制参数的情况下,调整时钟频率。
2.根据权利要求1所述的方法,其中,调整所述时钟频率包括:确定所述多个时间戳对中具有最小斜率的时间戳对。
3.根据权利要求1所述的方法,其中,所述多个时间戳对中的每一个时间戳对都包括发射机时间戳和接收机时间戳。
4.根据权利要求3所述的方法,其中,所述接收机时间戳包括接收机时间戳信号,并且其中,调整所述时钟频率包括调整所述接收机时间戳信号的频率。
5.根据权利要求1所述的方法,其中,指定所述抖动响应控制参数包括指定由音频/视频(A/V)接收机的时钟恢复模块实施的PID控制器的所述抖动响应控制参数,并且其中,接收所述多个时间戳对包括在所述时钟恢复模块处接收所述多个时间戳对。
6.根据权利要求1所述的方法,其中,所述多个时间戳对中的每一个时间戳对都包括发射机时间戳和接收机时间戳,其中,输入A/V信号包括所述多个时间戳对中的所述发射机时间戳,并且其中,所述方法进一步包括:
响应于所述输入A/V信号的抖动中的变化而调整所述抖动响应控制参数。
7.根据权利要求6所述的方法,其中,所述发射机时间戳包括节目时钟参考(PCR)时间戳或系统时钟参考(SCR)时间戳中的一个,并且其中,所述接收机时间戳包括系统时间时钟(STC)时间戳。
8.根据权利要求6所述的方法,其中,所述发射机时间戳包括由所述输入A/V信号的源的系统时间时钟(STC)产生的时间戳。
9.一种设备,包括:
A/V接收机,所述A/V接收机包括:
时钟恢复模块(CRM),所述时钟恢复模块耦合到时钟信号发生器和计数器,其中,所述CRM被配置为:
接收多个时间戳对,所述多个时间戳对包括输入A/V信号中的、由所述时钟恢复模块接收的发射机时间戳,和由所述计数器产生的接收机时间戳;
确定所述多个时间戳对的最大抖动;
确定经过的时间;以及
如果所述最大抖动小于所述经过的时间除以抖动响应控制参数,则调整所述时钟信号发生器的频率或比例积分微分(PID)控制器系数中的至少一个。
10.根据权利要求9所述的设备,其中,所述CRM被配置为,至少部分地响应于确定所述多个时间戳对中具有最小斜率的时间戳对而调整所述时钟信号发生器的所述频率。
11.根据权利要求9所述的设备,其中,所述CRM被进一步配置为:
响应于所述输入A/V信号的抖动中的变化而调整所述抖动响应控制参数。
12.根据权利要求9所述的设备,其中,所述发射机时间戳包括节目时钟参考(PCR)时间戳或系统时钟参考(SCR)时间戳中的一个,并且其中,所述接收机时间戳包括系统时间时钟(STC)时间戳。
13.一种系统,包括:
处理器和耦合到所述处理器的存储器,其中,所述存储器中的指令对所述处理器进行配置,从而:
指定抖动响应控制参数;
接收多个时间戳对;
确定所述多个时间戳对的最大抖动;
确定经过的时间;以及
如果所述最大抖动小于所述经过的时间除以所述抖动响应控制参数,则调整时钟频率或比例积分微分(PID)控制器系数中的至少一个。
14.根据权利要求13所述的系统,其中,所述存储器中的指令配置所述处理器,从而至少部分地通过确定所述多个时间戳对中具有最小斜率的时间戳对来调整所述时钟频率。
15.根据权利要求13所述的系统,其中,所述多个时间戳对中的每一个时间戳对都包括发射机时间戳和接收机时间戳。
16.根据权利要求13所述的系统,其中,配置所述处理器以指定所述抖动响应控制参数的所述存储器中的指令包括:配置所述处理器以指定由音频/视频(A/V)接收机的时钟恢复模块实施的PID控制器的所述抖动响应控制参数的指令,并且其中,配置所述处理器以接收所述多个时间戳对的所述存储器中的指令包括:配置所述处理器以在所述时钟恢复模块处接收所述多个时间戳对的指令。
17.根据权利要求13所述的系统,其中,所述存储器中的指令进一步配置所述处理器,从而:
响应于输入A/V信号的抖动中的变化而调整所述抖动响应控制参数。
18.根据权利要求13所述的系统,其中,所述多个时间戳对中的每一个时间戳对都包括发射机时间戳和接收机时间戳,其中,所述发射机时间戳包括节目时钟参考(PCR)时间戳或系统时钟参考(SCR)时间戳中的一个,并且其中,所述接收机时间戳包括系统时间时钟(STC)时间戳。
19.一种包括具有存储于其中的指令的计算机程序产品的制品,所述指令如果被执行,则引起:
指定抖动响应控制参数;
接收多个时间戳对;
确定所述多个时间戳对的最大抖动;
确定经过的时间;以及
如果所述最大抖动小于所述经过的时间除以所述抖动响应控制参数,则调整时钟频率或比例积分微分(PID)控制器系数中的至少一个。
20.根据权利要求19所述的制品,其中,调整所述时钟频率包括:确定所述多个时间戳对中具有最小斜率的时间戳对。
21.根据权利要求19所述的制品,其中,所述多个时间戳对中的每一个时间戳对都包括发射机时间戳和接收机时间戳。
22.根据权利要求21所述的制品,其中,所述接收机时间戳包括接收机时间戳信号,并且其中,调整所述时钟频率包括调整所述接收机时间戳信号的频率。
23.根据权利要求19所述的制品,其中,指定所述抖动响应控制参数包括指定由音频/视频(A/V)接收机的时钟恢复模块实施的PID控制器的所述抖动响应控制参数,并且其中,接收所述多个时间戳对包括在所述时钟恢复模块处接收所述多个时间戳对。
24.根据权利要求19所述的制品,其中,所述多个时间戳对中的每一个时间戳对都包括发射机时间戳和接收机时间戳,其中,输入A/V信号包括所述多个时间戳对中的所述发射机时间戳,并且所述计算机程序产品具有存储于其中的进一步的指令,所述指令如果被执行,则引起:
响应于所述输入A/V信号的抖动中的变化而调整所述抖动响应控制参数。
25.根据权利要求24所述的制品,其中,所述发射机时间戳包括节目时钟参考(PCR)时间戳或系统时钟参考(SCR)时间戳中的一个,并且其中,所述接收机时间戳包括系统时间时钟(STC)时间戳。
26.根据权利要求24所述的制品,其中,所述发射机时间戳包括由所述输入A/V信号的源的系统时间时钟(STC)产生的时间戳。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/053507 WO2013048377A1 (en) | 2011-09-27 | 2011-09-27 | Adaptive pid controller for audio/video clock recovery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103828381A true CN103828381A (zh) | 2014-05-28 |
CN103828381B CN103828381B (zh) | 2017-02-22 |
Family
ID=47996124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180073731.3A Expired - Fee Related CN103828381B (zh) | 2011-09-27 | 2011-09-27 | 用于音频/视频时钟恢复的自适应pid控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9106948B2 (zh) |
CN (1) | CN103828381B (zh) |
WO (1) | WO2013048377A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306987A (zh) * | 2015-10-23 | 2016-02-03 | 深圳国微技术有限公司 | 一种控制ts流接口输出码率的装置 |
CN106063165A (zh) * | 2013-12-23 | 2016-10-26 | 高通股份有限公司 | 将定时传输流用于接收机侧设备间通信 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013048377A1 (en) | 2011-09-27 | 2013-04-04 | Intel Corporation | Adaptive pid controller for audio/video clock recovery |
US20150030088A1 (en) * | 2013-07-26 | 2015-01-29 | Vixs Systems Inc. | Clock recovery for media stream in bursty network channel |
CN105812962B (zh) * | 2016-02-24 | 2018-10-26 | 清德智体(北京)科技有限公司 | 一种流媒体视频帧时间偏移消除方法 |
US10951390B2 (en) * | 2018-02-05 | 2021-03-16 | Arris Enterprises Llc | Two-stage IP de-jitter algorithm in a multiplexer for a group of statistically multiplexed single program transport streams |
US11812139B1 (en) | 2022-06-20 | 2023-11-07 | Samsung Electronics Co., Ltd. | Closed loop dynamic ISP throttling |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543100A (zh) * | 2003-04-30 | 2004-11-03 | 华为技术有限公司 | 一种时分复用业务恢复时钟的产生方法及装置 |
US20040258188A1 (en) * | 2003-06-18 | 2004-12-23 | Chan-Yul Kim | Clock and data recovery device coping with variable data rates |
CN101212690A (zh) * | 2006-12-26 | 2008-07-02 | 中兴通讯股份有限公司 | 多媒体视音频流唇音同步的调测方法 |
US20100158051A1 (en) * | 2008-12-19 | 2010-06-24 | Ilija Hadzic | Method, Apparatus and System for Frequency Synchronization Between Devices Communicating over a Packet Network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6369855B1 (en) | 1996-11-01 | 2002-04-09 | Texas Instruments Incorporated | Audio and video decoder circuit and system |
US7298741B2 (en) | 2003-02-27 | 2007-11-20 | Sharp Laboratories Of America, Inc. | Robust MPEG-2 multiplexing system and method using an adjustable time stamp |
US7684443B2 (en) | 2006-06-09 | 2010-03-23 | Broadcom Corporation | PCR clock recovery in an IP network |
US8428045B2 (en) | 2010-03-16 | 2013-04-23 | Harman International Industries, Incorporated | Media clock recovery |
WO2013048377A1 (en) | 2011-09-27 | 2013-04-04 | Intel Corporation | Adaptive pid controller for audio/video clock recovery |
-
2011
- 2011-09-27 WO PCT/US2011/053507 patent/WO2013048377A1/en active Application Filing
- 2011-09-27 CN CN201180073731.3A patent/CN103828381B/zh not_active Expired - Fee Related
- 2011-09-27 US US13/976,727 patent/US9106948B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543100A (zh) * | 2003-04-30 | 2004-11-03 | 华为技术有限公司 | 一种时分复用业务恢复时钟的产生方法及装置 |
US20040258188A1 (en) * | 2003-06-18 | 2004-12-23 | Chan-Yul Kim | Clock and data recovery device coping with variable data rates |
CN101212690A (zh) * | 2006-12-26 | 2008-07-02 | 中兴通讯股份有限公司 | 多媒体视音频流唇音同步的调测方法 |
US20100158051A1 (en) * | 2008-12-19 | 2010-06-24 | Ilija Hadzic | Method, Apparatus and System for Frequency Synchronization Between Devices Communicating over a Packet Network |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106063165A (zh) * | 2013-12-23 | 2016-10-26 | 高通股份有限公司 | 将定时传输流用于接收机侧设备间通信 |
CN105306987A (zh) * | 2015-10-23 | 2016-02-03 | 深圳国微技术有限公司 | 一种控制ts流接口输出码率的装置 |
CN105306987B (zh) * | 2015-10-23 | 2018-06-22 | 深圳国微技术有限公司 | 一种控制ts流接口输出码率的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103828381B (zh) | 2017-02-22 |
US9106948B2 (en) | 2015-08-11 |
WO2013048377A1 (en) | 2013-04-04 |
US20130278825A1 (en) | 2013-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103828381A (zh) | 用于音频/视频时钟恢复的自适应pid控制器 | |
CN1820446B (zh) | 能够确保发送设备和接收设备之间同步的抖动校正设备 | |
US10856018B2 (en) | Clock synchronization techniques including modification of sample rate conversion | |
US9088818B2 (en) | Adaptive media delay matching | |
CN109565620A (zh) | 低延迟http实时流传输 | |
EP3142287B1 (en) | Synchronising devices | |
CN101466045A (zh) | 自适应解码同步装置、同步方法及视频解码和显示系统 | |
CN103947221A (zh) | 用户界面显示方法以及使用该方法的装置 | |
US10021433B1 (en) | Video-production system with social-media features | |
GB2560086A (en) | Synchronising devices | |
CN106507217A (zh) | 视频流的时间戳的处理方法和装置 | |
CN102098541A (zh) | 码流复用器构成装置 | |
CN104038813B (zh) | 一种多屏互动方法及系统 | |
US11290620B2 (en) | Synchronizing media in multiple devices | |
CN104080006A (zh) | 一种视频处理装置及方法 | |
CN110087116B (zh) | 多码率直播视频流剪辑方法、装置、终端及存储介质 | |
CN106385562A (zh) | 一种视频摘要生成方法、装置及视频监控系统 | |
CN104754371A (zh) | 基于时钟调整的视频同步 | |
CN106533598B (zh) | 事件之间的发生时间差的估计电路和方法、计算机可读存储介质 | |
JP6891813B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN1997162B (zh) | Pcr校正方法及装置 | |
CN101808239A (zh) | 一种控制ts流播出的方法和装置 | |
CN110177294A (zh) | 播放器音视频同步方法及系统、存储介质及终端 | |
CN102696231B (zh) | 用于实现传输间隙的应用层修改 | |
CN102696232A (zh) | 用于实现传输间隙的传输层修改 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170222 Termination date: 20190927 |