多媒体网络中的程序时钟基准同步的制作方法

文档序号:7609361阅读:136来源:国知局
专利名称:多媒体网络中的程序时钟基准同步的制作方法
技术领域
本发明涉及传送媒体信息,特别是涉及跨网络分配媒体信息。
为沿通信链路分配媒体信息(例如视频数据、音频数据、视频会议数据等)提出了各种方案。为在例如家庭娱乐系统的设备中分配媒体信息提出了无线数字数据广播。实时播放媒体信息流的一个挑战是程序时钟同步。例如,媒体信息的发送器可以以与主程序时钟(例如以27MHz活动图片专家组MPEG-2系统定时时钟)同步的某个频率(例如通常48kHZ)产生采样。媒体信息的接收器应在每秒播放相同数量的采样,以避免缓冲器上溢或下溢,所述它应产生具有与发送器相同频率的采样时钟。
用于这种时钟同步一个方案可以是接收器使用由发送器产生的时戳来测量和调节其采样时钟频率和发送器的采样时钟频率之间的差。此方案假设媒体信息的发送器和接收器之间的通信链路对每一时戳具有固定和恒定的延迟。
然而,在载波侦听多路访问冲突避免(CSMA/CA)网络或载波侦听多路访问冲突检测(CSMA/CD)网络中,传送时戳的包的传送延迟可不恒定。例如在基于IEEE 802.11a/b/g的无线网络中,从发送器到接收器的传输延迟可以从小于1ms变化至30ms或更大。来自其它设备的干扰、冲突、转播、信号长度的变化、数据率的变化和/或其它因素可引起传输延迟的变化。传输延迟中的这种变化可以降低基于时戳的时钟同步方案的有效性。
附图简要说明包括在本说明书中并构成其一部分的附图示出符合本发明的原理的一个或多个实施并和说明书一起解释这些实施。在附图中,

图1示出一个符合本发明的原理的示例系统;图2为示出符合本发明的原理的调节图1的接收器中的程序时钟的过程的流程图;和图3示出符合本发明的原理的另一示例系统。
详细说明下列详细说明涉及附图。在不同的附图中相同的标号表示相同或相似的元件。同样,下列详细说明示出某些实施和原理,而本发明的范围由所附权利要求及等效物来限定。
图1示出符合本发明的原理的示例系统100。系统100可包括由通信链路120在功能上连接的发送器110和接收器130。在某些实施中,且为了说明,通信链路120可以是例如使用IEEE 802.11a/b/g协议之一的无线通信链路。然而,在其它符合本发明的原理的实施中,通信链路120可以属于用于在源和目的地之间使用共用时钟的其它类型的包交换网中的类型(例如,同步光网络(SONET)、同步数字分层结构(SDH)、相同物理(PHY)区域中的以太网等),并具有读取系统时间的值的机构。
发送器110可包括程序时钟111、第一计数器112、第一寄存器113、网络系统时钟114、第二计数器115、第二寄存器116和处理器117。虽然发送器110可包括元件111-117中的一些或全部,它还可包括其它出于解释清楚而未示出的元件(例如用于通信链路120的接口)。另外,元件111-117可以通过硬件、软件/固件或其某个组合来实现,且虽然为了便于说明而示为分离的功能模块,但元件111-117在发送器110中可以不作为分离的元件来实现。
程序时钟111可产生一个传送媒体信息的采样的发送频率Fsend(例如48kHz)。程序时钟111可包括例如电压控制的振荡器(VCO)以产生发送频率Fsend。第一计数器112可对程序时钟111的发送频率Fsend中的周期(或其部分)计数。在一些实施中,第一计数器112可包括32位数字计数器,虽然可以使用较高或较低位数的计数器。
第一寄存器113可以设置成存储第一计数器112的值CFsend。在某些实施中,第一寄存器113可周期性地存储第一计数器112的值。处理器117例如可以指令第一寄存器113在某些时间执行存储操作。
网络系统时钟114可产生与系统100中的各种节点同步的精确系统频率Fw1(例如1MHz)。在IEEE 802.11a/b/g网络中,例如,在系统频率Fw1共用的网络系统时钟可以已按协议要求存在于独立基本业务组(independent basicservice set(IBSS)mode)模式或基本同步子集(basic synchronized subset(BSS))模式中。协调来自CSMA/CA协议中的不同节点的突发脉冲串可能需要网络系统时钟114。系统时钟114可包括例如产生系统频率Fw1的晶体控制的振荡器(XCO)。
第二计数器115可对系统时钟114的无线网络系统频率Fw中的周期(或其部分)计数。在一些实施中,第二计数器115可包括64位数字计数器,虽然可以使用较高或较低位数的计数器。第二寄存器116可以设置成存储第二计数器115的值CFw1。在某些实施中,第二寄存器116可周期性地存储第二计数器115的值。处理器117例如可以指令第二寄存器115在某些时刻执行存储操作。
处理器117除了诸如跨通信链路120发送媒体信息之类的其它任务之外可以从第一和第二寄存器113和116读取CFsend和CFw1值。处理器117还可以被设置成基于CFsend和CFw1值执行计算并在通信链路120上传送某些结果,如下进一步详述。
接收器130可包括程序时钟131、第一计数器132、第一寄存器133、系统时钟134、第二计数器135、第二寄存器136和处理器137。元件131-137中许多元件功能相似并作用于发送器110中的元件111-117,因此为了简要起见,只强调接收器元件131-137中的某些区别。
接收器130的程序时钟131可产生一个播放媒体信息的接收的采样的基准频率Freceive(例如48kHz)。程序时钟131可包括例如电压控制的振荡器(VCO)、直接数字频率合成器(DDS)或其它可调振荡器,以产生接收频率Freceive。虽未清楚地显示,但程序时钟131和系统时钟134可具有相关联的调节电路,从而处理器137可合适地调节(例如通过控制到VCO的电压输入)基准频率Freceive和系统频率Fw2。
下面将说明包括无线网络的系统100的典型操作。
在某些网络中,节点(例如发送器110和接收器130)可以周期性地发送信标。可以将信标之间的间隔设置成为大多数应用提供良好性能的值(例如100ms)。在某些网络中,信标可由指定节点(例如接入点)发送,而在其它网络中,节点可共享发送信标的责任。
如标准所定义的,信标可携带以1MHz运行的IEEE 802.11a/b/g系统时标。媒体接入控制(MAC)协议。媒体存取控制(MAC)协议确保在各种节点中的网络系统时钟(例如,系统时钟114和134)在网络中同步,具有最大约2-3微秒的定时抖动。发送器110和接收器130中的网络接口可提供从64位本地计数器(例如从寄存器116和136)读取值的工具。MAC协议因此导致MAC实施中网络时钟的精确同步。
因此,在IEEE 802.11网络中,系统频率Fw1和Fw2通过IEEE802.11 MAC协议中所提供的机制可以在发送器110和接收器130之间相当接近地同步。这种同步有时被称为IEEE 802.11时间同步函数(TSF)同步。然而,如上所述,为了便于在接收器130回放媒体信息,在IEEE 802.11网络中可能出现严重且未知的传输延迟/抖动的情况下,希望程序时钟131(例如Freceive)与程序时钟111(例如Fsend)同步。
图2为示出符合本发明的原理的调节程序时钟131的过程200的流程图。处理可始于处理器117通过从寄存器113和116读取CFsend和CFw计数器值来周期性地采样Fsend和Fw1[动作210]。可以选择采样(又称为盖时间戳)周期用于性能和灵活性的合适组合,且在某些实施中,采样周期可以为约100ms。在某些符合本发明的原理的实施中,Fsend和Fw1的采样周期可以与连续信标之间的间隔一致。动作210可包括从寄存器113和116多次读取CFsend和CFw。
处理可继续用处理器117计算发送方CFsend上的程序时钟的连续采样之间的差Diff_CFsend[动作220]。处理器117还可计算网络系统时钟CFw1的连续采样之间的差Diff_CFw1。同样在动作220中,处理器117可计算频率比例系数K1=Diff_CFsend/Diff_CFw1。比例系数K1可以以网络系统频率Fw1为单位表示发送器的程序时钟频率Fsend的比。
周期性地且可能与动作210中的采样不同步地,处理器137可通过从寄存器133和136读取CFreceive和CFw2来采样CFreceive和CFw2[动作230]。可以选择采样(又称为盖时间戳)周期用于性能和灵活性的合适组合,且在某些实施中,采样周期可以为约100ms。在某些符合本发明的原理的实施中,Freceive和Fw2的采样周期可以与连续信标之间的间隔一致。动作230可包括从寄存器133和136多次读取CFreceive和CFw2。
处理可继续用处理器137计算接收方CFreceive上的局部维持的程序时钟的连续采样之间的差Diff_CFreceive[动作240]。处理器137还可计算网络系统时钟CFw2的连续采样之间的差Diff_CFw2。同样在动作240中,处理器137可计算频率比例系数K2=Diff_CFreceive/Diff_CFw2。比例系数K2可以以网络系统频率Fw2为单位表达接收频率频率Freceive的比。
发送器110中的处理器117可以通过通信链路120向接收器130发送比例系数K1[动作250]。发送器110可将合适的协议用于发送K1。例如,如果使用互联网协议(IP),则可以将传输控制协议(TCP)或用户数据报协议(UDP)用于发送K1。应注意动作250可以先于或与动作230和240中的一个或多个同时发生。
接收器130中的处理器137可以将K1和K2相比较并产生差信号ΔK=K1-K2[动作260]。当程序时钟111和131被准确同步时,差信号ΔK应为0。差信号ΔK的正负号可以指示接收器130中程序时钟131的频率偏移的方向。例如,当程序时钟131运行得比程序时钟111慢时,差信号ΔK可为负;否则它可为正。错误数量级取决于频率偏移和采样间隔。
因为动作210和230中的采样间隔可以不相等,且在某些实施中,这些间隔可能没有被测量,因此是未知的,差信号ΔK也许不给出能用于程序时钟131的即时调节的准确频率偏移量。然而,差信号ΔK可以通过低通滤波器滤波并被用于调节程序时钟131的频率Freceive的控制回路[动作270]。控制回路(未示出)应尝试将错误最小化并最终收敛至ΔK=0。此结果暗示Freceive=Fsend,它是所希望的目标。
可以重复地执行动作210-270以确保Fsend的连续跟踪。过程200不依赖于传输延迟并且对重发和数据率变化不敏感。动作210-270中所列出的所有计算以及控制回路滤波可以以软件和/或微码和/或专用硬件实现。
系统100和方法200可以有几个变型,将进一步说明其中一些。在一个实施中,系统100可以在网络适配器(例如在无线网络适配器MAC)中实现。然而,现有的无线MAC并不具有实现系统100的所需的所有事物。系统频率Fw(例如1MHz)的时钟信号可能不能在适配器外部获取,因此不能用于在MAC外部将整个系统100构筑成一个自包含的单元。因此,在MAC中只实现系统100的一部分而剩余部分位于多媒体系统中的其它地方的情况下可以使用另选的方案。例如,系统100的元件111-113和131-133可以在传输去复用单元或视频解码器中实施。
在这种实施中,计数器115和135可以在无线MAC中实现,并可通过在用于将无线网络适配器连接至发送器110和接收器130的其余部分的系统总线(例如,外围组件互连(PCI)总线)上读取值CFw1和CFw2来访问。相反,可以在附于相同系统总线的另一块中实现CFsend和CFreceive。因此,可能难以确保在同一时刻取得采样CFsend和CFw1。可以将计数器111-113和131-137周围的附加逻辑电路设计成监视处理器何时采样CFw并在同一时刻产生程序时钟计数器的瞬态图,从而允许在设计中将程序和网络时钟计数器在物理上分成分离的块。
图3示出符合本发明的原理的示例系统300。系统300可包括系统100的相同元件,以及发送器110中的总线监视器310和接收器130中的总线监视器320。
监视器逻辑电路310/320可监视系统总线活动并可检测处理器117/137何时执行CFw1或CFw2的读访问。监视器逻辑电路310/320可为寄存器113/133产生一个触发信号,以在这样的时刻采样CFsend或CFreceive。通过使用监视器逻辑电路310/320,发送器110和接收器130可以在它们各自的CFw1和CFw2被采样时立即采样CFsend或CFreceive。虽然显示成分离的功能块,监视器逻辑电路310/320可以通过处理器117/137来实现。
在另一实施中,使采样间隔在发送器110和接收器130中相等。在接收或发送信标信号时,此相等的采样间隔可以通过采样计数器来实现,因为信标信号不经历传输延迟。在这种情况下,差信号ΔK将只取决于时钟频率差,因而可用于程序时钟131的频率Freceive的即时修正。此变化允许减少控制环路滤波器的时间常数(例如通过移去低通滤波器)并使系统100/300对程序时钟偏差更敏感。
如果除了频率之外,发送器和接收器的时基的相位也应同步,则可以使用同步相位的附加方案。例如,可以将多播消息用于同步时钟计数器112和132的相位,从而保持在系统100的两端的频率Fsend和Freceive和相位准确。如果发现相位的实质偏移不能通过调节接收频率Freceive来补偿,则这种多播消息可以被周期性地发送由接收器130使用。这种实质偏移可由系统100中的灾难性事件引起,例如长时间强烈干扰通信链路120。当程序时钟111中出现不连续时,例如当将使用不同程序时钟的商业广告或其它材料插入媒体流时,多播消息也可以由发送器110发送。这种拼接可引起时钟频率和相位不连续。在这种情况中,程序时钟131的频率变化可以相对较小,但时基的相位应被复位,以为在媒体信息中找到的时戳提供准确的基准。
上述符合本发明的原理的一个或多个实施的说明提供示例和说明,但不旨在穷举或将本发明限定于所公开的精确形式。按照以上内容或从本发明的实践中可以有各种修改和变型。
例如,可以将本文所述的方案用于要求联网设备之间精确时钟同步的其它应用中,例如在用于确定计算设备的位置的合成孔径音频系统等。该方案可用于SONET和SDH,其中例如系统频率Fw可以从位时钟导出。Fw则可用作用于在系统的合适部分中同步程序时钟和其它应用专用时钟的“进入端口”时钟。
另外,虽然参照图2说明了特定计算,但在某些实施中发送器110可以发送一个Fsend如何在采样周期中变化(即,哪个方向)及变化的大小的指示。如果发送器110和接收器130在与上述相同的时间采样时钟计数器,则可以将这些方向和大小值用于直接调节Freceive而不用低通滤波器或其它平滑装置。如果不实施维持相同的采样间隔,则由发送器110报告的方向和大小仍会使接收器130中的控制环路能调节程序时钟131使得Freceive跟踪Fsend。
同样,虽然某些符合本发明的原理的实施可调节接收器130中程序时钟131的干扰频率Freceive,其它实施也可调节“虚拟时钟”来实现接收器130中匹配的回放率。例如,接收器130可实施时钟速率转换方案,其中程序时钟131的基准频率Freceive固定在例如44.1kHz。发送器110中的程序时钟111可具有较高的发送频率Fsend(例如48kHz),而接收器130可在所接收到的采样中插入来以例如44.1kHz的基准频率Freceive输出数据。替代调节程序时钟131的基准频率Freceive,接收器130将使用关于发送器的和接收器的程序时钟的比的信息(例如,K1和K2)并调节用于确定如何插入所接收到的采样的“虚拟时钟”。因为已知基准频率Freceive与Fsend之间的比,可以使由发送器110发送的给定量数据和通过内插在接收器310接收到的数据所产生的相应内插采样块的回放时间相等。例如,如果发送频率Fsend减慢,接收器130中的虚拟时钟可引导内插器(例如处理器137)以使每秒在其输出产生较少的采样,这是所希望的效果。
另外,图2中的动作不需要按所示的顺序实施;也不必执行所有的动作。又,那些不依赖于其它动作的动作可以与其它动作并行执行。另外,此图中的动作可用作在机器可读媒体中实施的指令或一组指令。
本发明的说明中所使用的所有元件、动作或指令都不应被理解成本发明所必需的,除非清楚地这样说明了。又,如本文所使用的,冠词“a”指在包括一个或多个事项。在仅指一项时,使用“一”或类似的语言。可以对本发明的上述实施进行各种变型和修改而不实质上偏离本发明的精神和范围。旨在将所有这些修改和变型包括在本公开及所附权利要求所保护的范围内。
权利要求
1.一种方法,包括采样在通信链路上发送信息的程序时钟频率;采样与所述通信链路相关的系统频率;根据所采样的程序时钟频率和所采样的系统频率计算结果;并在通信链路上传送所述结果。
2.如权利要求1所述的方法,其特征在于,所述采样发送频率包括在采样间隔的开始和结束时采样对程序时钟频率计数的计数器的值。
3.如权利要求1所述的方法,其特征在于,所述采样系统频率包括在采样间隔的开始和结束时采样对系统频率计数的计数器的值。
4.如权利要求1所述的方法,其特征在于,所述计算包括计算与程序时钟频率相关的第一差值,并计算与系统频率相关的第二差值。
5.如权利要求4所述的方法,其特征在于,所述计算还包括将所述第一差值除以所述第二差值来获取所述结果。
6.如权利要求1所述的方法,其特征在于,所述采样程序时钟频率通过采样系统频率来触发。
7.如权利要求1所述的方法,其特征在于,还包括用控制协议通过通信链路使所述系统频率与远程设备的系统频率同步。
8.一种方法,包括采样播放在通信链路上接收到的信息的程序时钟频率;采样与所述通信链路相关的系统频率;根据所采样的程序时钟频率和所采样的系统频率计算第一值;通过所述通信链路接收第二值;并根据所述第一值和所述第二值调节所述程序时钟频率。
9.如权利要求8所述的方法,其特征在于,所述计算包括计算与所述程序时钟频率相关的第一差值,并计算与所述系统频率相关的第二差值。
10.如权利要求9所述的方法,其特征在于,所述计算还包括将所述第一差值除以所述第二差值来获取第一值。
11.如权利要求8所述的方法,其特征在于,还包括从所述第一值和所述第二值产生差值,其中所述调节基于所述差值调节所述程序时钟频率。
12.如权利要求11所述的方法,其特征在于,所述调节还包括基于所述差值改变对振荡器的控制电压,或改变数值以调节本地程序时钟振荡器的频率,或如果用数据重新采样来取代程序时钟调节则改变虚拟时钟的频率。
13.如权利要求8所述的方法,其特征在于,所述第二值指示发送所接收的信息的发送频率。
14.如权利要求13所述的方法,其特征在于,所述调节还包括如果所述第一值和所述第二值指示所述程序时钟频率滞后于所述发送频率则增加所述程序时钟频率,并且如果所述第一值和所述第二值指示所述发送频率滞后于所述程序时钟频率则减小所述程序时钟频率。
15.如权利要求13所述的方法,其特征在于,所述调节包括基于所述第一值和所述第二值之间的差重新采样信息。
16.一种设备,包括以程序频率产生信息的采样的程序时钟;采样程序时钟的程序频率的第一电路;产生系统频率的系统时钟;采样系统时钟的系统频率的第二电路;在计算上组合来自所述第一电路的采样程序频率和来自所述第二电路的所采样的系统频率的处理器。
17.如权利要求16所述的设备,其特征在于,所述第一电路包括根据所述程序频率递增的第一计数器,和存储来自所述第一计数器的值的第一寄存器。
18.如权利要求16所述的设备,其特征在于,所述第二电路包括根据所述系统频率递增的第二计数器,和存储来自所述第二计数器的值的第二寄存器。
19.如权利要求16所述的设备,其特征在于,所述处理器设置成将经采样的程序频率除以经采样的系统频率来产生一个比值。
20.如权利要求19所述的设备,其特征在于,所述处理器进一步被设置成在通信链路上将所述比值发送至接收器。
21.如权利要求19所述的设备,其特征在于,所述处理器被进一步设置成将所述比值与通过通信链路从发送器接收到的另一比值相比较。
22.如权利要求21所述的设备,其特征在于,所述处理器被进一步设置成根据所述比值和另一比值调节程序时钟。
23.如权利要求16所述的设备,其特征在于,还包括当所述第二电路采样所述系统频率时用于触发所述第一电路以采样所述程序频率的监视电路。
24.如权利要求16所述的设备,其特征在于,还包括通过通信链路使所述系统频率与另一设备中的另一系统频率同步的第三电路。
25.一种接收器,包括产生第一频率的第一时钟;产生基准频率的基准时钟;处理器,它将关于所述第一频率的信息和关于所述基准频率的信息组合,以未知及可变的传输延迟通过通信链路接收关于第二频率的信息,并基于关于所述第一频率的信息、关于所述基准频率的信息和关于所述第二频率的信息控制所述第一时钟。
26.如权利要求25所述的接收器,其特征在于,还包括与所述第一时钟连接的第一电路,以产生关于所述第一频率的信息;和与所述基准时钟连接的第二电路,以产生关于所述基准频率的信息。
全文摘要
一种当通过通信链路在设备之间分配媒体信息时程序时钟同步的方法。发送器(110)中的处理器(117)计算程序时钟(CFsend)的连续采样之间的差以及网络时钟(CFw1)的连续采样之间的差,计算发送到接收器的频率比例系数K2=Diff_CFsend/Diff_CFw2。接收器(130)中的处理器(317)计算和发送器(110)中相同的值,但使用局部维持的程序时钟(CFreceive)和系统时钟(CFw2)以及K2=Diff_CFreceive/Diff_CFw2。处理器(137)将K1和K2相比较并产生用于调节接收器的程序时钟的差信号ΔK=K1-K2。
文档编号H04N7/62GK1890905SQ200480035983
公开日2007年1月3日 申请日期2004年12月8日 优先权日2003年12月19日
发明者D·罗基诺夫, A·斯蒂芬斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1