专利名称:用于使得同时媒体流重播同步化的系统和方法
用于使得同时媒体流重播同步化的系统和方法
背景技术:
性。这种相关内容的例子包括但不P艮于^M^^LM (唇同步)、^M和絲(联 网立体声扬声器)等。
但有些时候整个网络中精确的时间或时钟同步和频率稳定性既不存在也不 是必要的,比如当仅-"^分网络支持精确时间协议而数据流源仅需要#^当前 时间的估计值以便它能够,比如,告知扬声器(其是精确同步的)开始数悟流。
无线(正EE802,11标准)以及电力线(家庭插电联盟AV (HPAV))。
发明内容
才艮据本发明的一个方面,提^-种方法,其包括确定源i殳4^和一个或多 个目标设备之间的网络通信路径中到该源设备的最接近设备,其中该最接近设 备与该一个或多个目相^殳备的时钟是同步的,并且其中该源设备的时钟与该最
接近设备和该一个或多个目相3殳备的时钟是不同步的;确定该最接近设备的当 前时间;指^始时间为至少该当前时间加Jiif过该网络通信路径的最;b^时; 以及将数据a^i亥赵台时间发送到该一个或多个目标设备。
根据本发明的另一方面,还提^-"种系统,包括源设备; 一个或多个目 标设备;该源设备和该一个或多个目相3殳备之间的网络通信路径;以#该网 络通信路径中的最接近设备,确定该源设备和该一个或多个目相4殳备之间的网 络通信路径中的到该源设备的最接近设备,其中该最接近设备与该一个或多个 目标设备的时钟是同步的,其中该源设备的时钟与该最接近设备和该一个或多 个目标设备的时钟是不同步的,其中该源设备用于确定该最接近设备的当前时间,其中该源设备用于指定起始时间为至少该当前时间加上通过该网络通信路 径的最组时,并且其中该源设备用于将数据^^该起始时间发^J'J该一个或 多个目标设备。
才N居本发明的又一方面,还提^-种装置,其包括处理器,用于确定该 处理器和一个或多个目标设备之间网络通信路径中到该处理器的最接近设备, 其中该最接近设备与该一个或多个目标设备的时钟是同步的,其中该处理器的 时钟与该最接近设^^和该一个或多个目相3殳备的时钟是不同步的,其中该处理 器用于确定该最接近设备的当前时间,其中该处理器用于指^始时间为至少 该当前时间加上通过该网络通信路径的最&逸时,其中该处理器用于将数据流 和该赵台时间发送到该一个或多个目相《殳备。
根据本发明的又一方面,还提^-种机器可读介质,其包括指令,该指令 当由处理系统才;W亍时,使得该处理系统^^亍一种方法,该方法包括确定源设 备和一个或多个目标设备之间的网络通信路径中到该源设备的最接近设备,其 中该最接近设备与该一个或多个目标设备的时钟是同步的,并且其中该源设备 的时钟与该最接近设备和该一个或多个目标设备的时钟是不同步的;确定该最 接近设备的当前时间;指^^始时间为至少该当前时间加上通过该网络通信路 径的最;b逸时;将数据^^该起始时间发送到该一个或多个目标设备。
图1示出了沐竟的一个实施例; 图2示出了源i殳备的一个实施例; 图3示出了逻辑^^呈的一个实施例。
M实施方式
多种实施例通常致力于一种用于使得经过分离的网络定时/时钟岛的同时媒 体流重播同步化的系统和方法。即使当整个网络不支持时间同步协议时,本发 明的实施例使得能够支持时间同步协议的联网设备再现同步的^^页/^W或^^贞 /音频(比如,两个或两个以上扬声器)。时间同步协议的例子可以包括但不限于正EE 802,1AS、正EE 1588和网络时间协议(NTP)。还描述其它实施例并对它 们要棘利。
多种实施例可以包括一个或多个元件或构件。 一个元件可以包括没为扭行 某些操作的任何结构。每个元件可以按照实现一组给定的设计^lt或性能约束 所期望的,作为硬件、软件或它们的任意组合来实现。尽管实施例可以通过举 例形式以某个拓朴中有^Jt目的元件^^f刊笛述,但是该实施例可以按给定实 现所期望的在备选拓朴中包括更多或更少的元件。值得说明的是,对"实施例" 或"一个实施例"引述是指结合该实施例描述的特定特性、结构或特4^皮包括在 至少一个实施例中。在说明书中多处出现的短语"在一个实施例中"不一定指代 同一实施例。
图1示出了用于使得经过分离的网络定时/时钟岛的同时士沐流重播同步化 的环境100的一个实施例。在实施例中,环境IOO由多个不同种类的网络技术 构成。此类网络技术可包括但不限于以太网(正EE 802.3标准)、无线(正EE 802.11标准)以及电力线(家庭插电皿AV (HPAV))。
如图1的实施例所示,网络108和局域网(LAN) 110组成源设备102和目 标设备104和106之间的通信路径的例子。在实施例中,网络108 (例如因特网) 包括不支持时间同步协议的设备或元件。LAN 110包:fe不支持时间同步协i^ 仅支持非精确时间同步协议的设备或元件。因此,由于在环歧100中的一些设 备有同步时钟(比如在LAN 110中)而一些设4^没有同步时钟(比如在网络108 中),环嫂100很可能具有分离的网络定时/时钟岛。时间同步协议的例子可以包 括但不限于正££802.1八8、正EE 1588和网络时间协议(NTP)。在实施例中, 正EE 802.1AS时间同步标准可以用于^i殳备时钟^Dt匕同步到几微秒(IO"少) 内。
可以支持或不支持时间同步协议的源设备102需要发送一个或多个相关々某 ^!封居济u^目标设备104和106用于同步再现。假没目标设备104和106支持 时间同步协议,并JL^实施例中它们的时钟直接^Dt匕同步。目才封殳备104和106 可以是可再现媒^l封居的^f可"t^页和/iU彭贞设备,包括但不限于扬声器、个人 电脑、膝上型电脑、个人数字助理(PDA)、音频/*#调谐器、^jL风、祸濒显示器等。尽管图2中示出了两个目才封殳备,本发明不限于此。
如上面的描述,源设备102需要发送一个或更多相关媒^t据^J'J目才^i殳 备104和106以用于同步的再现。典型地,源设备102将将待再现的媒 :据 《uil:同"赵台时间"转发到目才封殳备104和106。该"起始时间"通知目#^备104 和106何时开始或重新开始再JJ it据以便以正确的同步方式将M现。
典型地,源设备102将i殳置该"起始时间"为大于当前时间加上经过分隔源 设备102与目^i臾备104和106的网络通信路径的最;b逸时。但如上所述,由 于其分离的网络定时/时钟岛,对于环嫂100中的每^S殳备当前时钟时间不相同。 因此,除非源设备102和目相4殳备104和106支樹目同的时间同步协议,否则 假定它们的时钟是不同步的。但在实施例中,假定目相H殳备104和106和在它 们之间的通信i^圣(例如在LAN 110中)的一个或多^S殳备支桐目同的时间同 步协议。因此,源设备102为了向目#&备104和106提供足够好的"起始时间" 估计值,i殳备102需衫口道对于连接到LAN110或在源设备102和目标设备104 和106之间的通信^f圣中的设备已知的时钟时间或"当前时间"。
在实施例中,源设备102为了确定目才封殳备104和106的"当前时间"或时 钟时间,确定通信路径中支持与目相4殳备104和106相同的时间同步协议的到 设备102的"最接近设备",并询问"最接近设备"当前的时间(即请求其"当前时 间")。在实施例中,源设备102应用例如层发现协议(LLDP)或通用即插即用 (UPnP)协议之类的协议确定"最接近设备"。在图l所示的例子中,最接近设备 112是该"最接近设备"。这里,最接近设备112可转发其"当前时间"或"此时"114 到源设备102。在实施例中,询问"最接近设备"当前的时间可以实现,例i魂过 要求"最接近设备"周斯l^kJl送当前时间、通过询问"最接近设备"当前时间將 待其回应、或通过例如NTP的其它方式。
与目相设备104和106支樹目同的时间同步协议,因此它们的时钟是同步的), 则设备102被认为是"最接近设备",本发明的实施例简化^#准时间同步行为 (比如,标准正££802.1八8行为)。如果环境中没有其它支持与目标设备104和 106相同的时间同步协议的设备,则本发明的实施例简化^^示准NTTM亍为,其中对于源设备102确定"当前时间"更好估计方面没有可用的协助。因此,M""最 接近设备"与源设备102 ^M^近,"当前时间"或"此时"的估i"HmMW。
当最接近i殳备112与目标设备104和106支樹目同的时间同步协i义时,最 接近设备112与目才封殳备104和106的时钟时间或"当前时间"是相同的。在此, 源设备102可以此时为目朽4殳备104和106设置"起始时间"以开始或重新开始 再现媒^l史据流,"起始时间"为至少由最接近设备112提供的"当前时间"加上经 过分隔源设备102与目#^备104和106的网络通信路径的最;U4时。由于该
求,所以由源设备提供到目标设备的"起始时间"估计足以让目#&备以同步方 式再现i綱丈据流。
在多种实施例中,环境100可由无线技术、有线技 其二者的组合来实 现。图1所示的网络技^N殳备的类型仅为示意目的而并不限制本发明。
图1所示的多种设备可城无线功能、有线功能或者二者的组合。例如, 当用无线功能实现时,设备可以包^it合于通过无线共享介质(比如一个或多 个天线、发射器、接收器、4汰器、放大器、滤波器、控制逻辑等)通信的元 件和接口。无线共享介质的一个例子可以包括无线频谱部分,比如RF频镨等。 当用有线功能实现时,设备可以包才^it合于通过有^it信介质通信的组件和接 口,诸如输A/输出(!/0)适酉己器、将l/0适酉己器与相应有^t信介质连接的物 理连接器、网络接口卡(NIC)等。有线通信介质的例子可以包括电线、电缆、 金属引线、印刷电路板(PCB)、背板、交换结构、半^#料、^i镇、同轴 电缆、光纤等。
图2示出了源设备102的实施例。在一个实施例中,设备102可以包4劲某 体平台202或可以由々某体平台202实现,例如Inte膨公司制造的Vih^媒体平 台。在一个实施例中,平台202可以接*1錄自环嫂100中一个或多^H殳备的数
据流请求o
在一个实施例中,平台202可包括例如CPU212、芯片组213、 一个或多个 驱动器214、 一个或多个网络连接215、操怍系统216和/或由一个或多个软件应 用禾I^组成的一个或多个媒体中心应用禾1^ 217。平台202也可以包括务賭器218和逻辑220。
在一个实施例中,CPU 212可包括一个或多个处理器,比如^U亥处理器。 双核处理器的例子包括例如均由Inte膨公司制造的Pentium D处理器和 Pentium Extreme Edition处理器,它们净皮称为Intd Core Duo⑧处理器。
在一个实施例中,芯片组213可包括Inte膨945快速芯片组系列、Intd 955X快速芯片组、Intel 975X快速芯片组系列中4封可一种或者所有,加上 ICH7-DH、 ICH7-MDH、 ICH8或ICH9控制集线器,这些都是由Intel⑧公司制 造的。
在一个实施例中,驱动器214可包括例如Inte膨制造的快逸I^X技^4区动 器,以使得用户能够当启用时,在初始引导后,像电视接触^4丑一样来即时开 启和关闭平台202。 jtl^卜,芯片组213可包括例如用于5.1环绕声^M和/或高分 辨率7.1环绕声音频的硬件和/或软件支持。驱动器214可包括用于集成图形平 台的图形驱动器。在一个实施例中,图形驱动器可包括夕卜围组件互连(PCI) Express图形卡。
在一个实施例中,网络连接215可包括PRO/1000PM或者PRO/100VE/VM 网络连接,二者都由Intel⑧公司制造。
在一个实施例中,梯作系统216可包括McrosoM)^司制作的Windows XP 媒体中心。在一个实施例中, 一个或多个媒体中心应用217可包括例:Wf某体外 围(mediashell),以使得用户可以与距离平台202或显示装置大约10英M巨离 的远程控制交互。在一个实施例中,例如,士沐夕卜围可被称为"10-英XJU户接口"。 jH^卜, 一个或多个媒体中心应用程序217可包括Inte腿制作的快速'l^l技术,其 使得能够即时开/关功能并当平台"关闭"时使得平台202能够将内容传彩ij媒体 适配器。
在一个实施例中,^f诸器218可包括Inte膨制作的矩阵^f樹支术,以在包含 多个硬件驱动器时可以为有价值的数字媒^t曾加^j渚器性能的增强保护。在一 个实施例中,逻辑220使得源设备102能启用上述的功能。然而,这些实施例 不限于这些元件或在图2示出或描述的上下文中。
用于上述实施例的才喿怍可参考下面的图和附随的例子ii一步描述。 一些附图可以包4嫂辑;;;^呈。尽管在此示出的这些附图可以包括特定的逻辑^^呈,但 应该注意的是逻辑i^f呈仅提供上述常规的功能如何实现的一个例子。更进一步 地,除非另外指出,给定的逻辑^f呈不必以示出的顺序4W亍。此外,给定的逻 辑i;^呈可由硬件元件、由处理Hl^f亍的软件元件或它们的任何组合方式来实现。
图3示出逻辑i^呈300的一个实施例。如逻辑《d呈300所示,^X在源设 备102与目才封殳备104和106之间的网络通信5^圣中支樹目同时间同步协议的 设备的所有^l也时钟都是同步的(框302)。
源设备102确定在网络通信路径中支持与目标设备104和106相同时间同 步协议的"最接近设备"(框304)。在实施例中,源设备102确定"最接近设备" 应用比如LLDP或UPnP协议之类的协议。
源设备102询问"最接近设备"当前的时间(即"当前时间"或"jHl^")(框 306)。
源设备102 g指定"起始时间"至少为"当前时间"加Jiit过网络通信路 径的最大延时(框308)。
源设备102将数据^il:同"起始时间"-^^^JiJ目标设备104和106 (框 310)。
目标设备104和106应用"起始时间"以在合适的时间和速率开始或重新开 始再JJ^t据流(框312)。然而,本发明的实施例不限于图3示出或描述的上下 文。
各种实施例可^J ]硬件元件、软件元件或二者的组合来实现。硬件元件的 例子可包括处理器、微处理器、电路、电路元件(比如晶体管、电阻器、电容 器、电感器等)、集成电路、专用集成电路(ASIC)、可编禾IiE辑装置(PLD)、 数字信号处理器(DSP)、场可编程门阵列(FPGA)、逻辑门、寄存器、半# 器件、芯片、微芯片、芯片组等。软件的例子可包括软件组件、禾踏、应用、 计算才財誘、应用禾踏、系乡M誘、机器禾辨、才剩卡系M^欠件、中间件、固件、 软件模块、例行程序、子例行程序、函数、方法、进程、软件接口、应用程序 接口 (API)、指令集、计算代码、计算才;MV马、代码段、计算才;MV马段、字、 值、符号或上述^f^f可组合。确定实施例是否是^Jfl硬件元件和/或软件元件来实现的可4財奮〖午多因素而不同,比如期望计算速率、功率电平、热容忍度、处理 周期预算、输入数才链率、输出数据速率、##器资源、数据总m^l和其它 i殳计或性能约束。
一些实施例可通it4述"耦合的"和"连接的"及其派生词拟苗述。这些术语不 意指4皮此为同义的。比如, 一些实施例可^^]术语"连接的"和/或"M^的"拟苗
述以指示两个或两个以上元件;f皮此直"l矣物理或电"l妻触。然而术语"井^的"还可 指两个或两个以上元件40匕没有直4勤妾触,^旦依然^Dt匕协怍或交互。
一些实施例可使用比如可^f诸指令或指令集的机器或有形的计算机可读介
质或产品来实现,其中如果指令或指令集被机器运行,则可使机H^f抖艮據实 施例的方法和/或才剩乍。这样的机器可包括例如^f可适合的处理平台、计算平台、 计算设备、处理设备、计算系统、处理系统、计算机、处理器等,也可^JD任 何适合的硬件和/或软件的组合来实现。计算机可读介质或产品可包括例:W^f可 适合类型的^fi者器单元、,器设备、#^诸器产品、,H^质、##^殳备、 ^f诸产品、^f诸介质和/或^f诸单元,比如,^f诸器、可移动或不可移动介质、
可擦除或不可擦除^h质、可写或可重写^h质、数字或才對以介质、石M、软盘、 压缩只读光盘(CD-ROM )、压缩可记录M (CD-R )、压缩可重写盘(CD-RW )、 光盘、磁介质、磁光介质、可移动存储卡或盘、各种类型的数字多功能光盘 (DVD)、磁带、盒iC/兹带等。这些指令可包括^f可适合类型的代码,比如源代 码、汇编的代码、解释的代码、可^L^于代码、静态代码、动态代码、加密的代 码等,可^^H^可适合的高级、〗 、面向对象的、可视的、汇编的和/或解释 的编程语言来实现。
除非明确说明,否则可以认为比如"处理"、"运算"、"计算"、"确定"等的术 语是指计算机或计算系统或类似电子计算设备的动作和/或过程,期寻计算系统 的寄存器^V或^ft器中表示成物理量(比如电子的)的数据处理和/或转M计 算系统的存储器、寄存器或其它这种信息务賭、传输或显示设备中以相似方式 表示成物理量的其它^i:据。这些实施例不限于该上下文。
本文阐述大量的特定细节以提供对这些实施例的透彻理解。然而,本领域 技术人员可以理解,没有这些特定细节,也可实现这些实施例。另一方面,没有详细描述/^口的梯作、元件和电路以不致妨碍对这些实施例的理解。应该理
解在jtb^开的特定结构和功能细节是^^4性的,而不一定限制这些实施例的范 围。
尽管本发明i^^fM专用于结构特^E^/或方法动作的语言拟笛述的,但 是可以理解在所附权利要求中定义的发明JJI不一定限于上述的特定特'性或动 作。相反,上述的特定特性^/作是以实iJ^又利要求的举例形式来公开的。
权利要求
1. 一种方法,包括确定源设备和一个或多个目标设备之间的网络通信路径中到所述源设备的最接近设备,其中所述最接近设备与所述一个或多个目标设备的时钟是同步的,并且其中所述源设备的时钟与所述最接近设备和所述一个或多个目标设备的时钟是不同步的;确定所述最接近设备的当前时间;指定起始时间为至少所述当前时间加上通过所述网络通信路径的最大延时;以及将数据流和所述起始时间发送到所述一个或多个目标设备。
2. 如权利要求l所述的方法,其中所述一个或多个目相4殳备用于使用所述 起始时间来再S^斤述数据流。
3. 如权利要求l所述的方法,其中所it^L接近设备与所述一个或多个目标 设备的时钟是通过电气和电子工程师1^(正EE) 802.1AS时间同步协议、正EE 1588时间同步协议和网络时间协议(NTP)时间同步协议中之一同步的。
4. 如权利要求1所述的方法,其中所i^L接近设备是通过M^层发现协议 (LLDP)和通用即插即用(UPnP)协议中之一确定的。
5. 如权利要求l所述的方法,其中所述一个或多个目标设备是扬声器、个 人计算机、打印机、膝上型计算机、个人数字助理(PDA)、音频/^!J页调谐器和 ^K中的^""种。
6. —种系统,包才舌 源设备;一个或多个目标设备;所述源设^^和一个或多个目标设备之间的网络通信i^圣;以及 在所述网络通信路径中的最接近设备,确定所述源设备和一个或多个目标设备之间的网络通信路径中到所述源设 备的最接近设备,其中所述最接近设备与所述一个或多个目标设备的时钟是同步的,其中所 述源设备的时钟与所述最接近设备和所述一个或多个目相设备的时钟是不同步 的,其中所述源设备用于确定所iiiL接近设备的当前时间,其中所述源设备用 于指^始时间为至少所述当前时间加Jlit过所述网络通信路径的最大延时, 并且其中所述源设备用于将数据流和所述起始时间发送到所述一个或多个目标 设备。
7. 如权利要求6所述的系统,其中所述一个或多个目才射殳备用于^J)所述 起始时间来再现所述数据流。
8. 如权利要求6所述的系统,其中所^J:接近设备与所述一个或多个目标 设备的时钟是通过电气和电子工程师i^(正EE) 802.1AS时间同步协议、正EE 1588时间同步协议和网络时间协议(NTP)时间同步协议中之一同步的。
9. 如权利要求6所述的系统,其中所ii^接近设备是通过m"层发现协议 (LLDP)和通用即插即用(UPnP)协议中之一确定的。
10. 如权利要求6所述的系统,其中所述一个或多个目^i殳备是扬声器、 个人计算机、打印机、膝上型计算机、个人数字助理(PDA)、音频/^!i贞调谐器 和;^K中的^""种。
11. 一种装置,包括处理器,用于确定所*理器和一个或多个目标设4^之间网络通信路径中 到该处理器的最接近设备,其中所述J:接近设备与所述一个或多个目朽设备的 时钟是同步的,其中所m理器的时钟与所iiiL接近设备和所述一个或多个目 标设备的时钟是不同步的,其中所述处理器用于确定所iii:接近设备的当前时 间,其中所述处理器用于指定起始时间为至少所述当前时间加上通过所述网络 通信路径的最;U1时,并且其中所述处理器用于将数据流和所述起始时间发送 到所述一个或多个目相H殳备。
12. 如权利要求ll所述的装置,其中所述一个或多个目标设备用于使用所 ii^始时间来再m^斤述数据流。
13. 如权利要求11所述的装置,其中所ii^L接近设备与所述一个或多个目 才射殳备的时钟是通过电*电子工程师切会(正EE) 802.1AS时间同步协议、正EE1588时间同步协议和网络时间协议(NTP)时间同步协议中之一同步的。
14. 如权利要求ll所述的装置,其中所i^^接近设"^是通过^^层发现协 议(LLDP)和通用即插即用(UPnP)协议中之一确定的。
15. 如权利要求ll所述的装置,其中所述一个或多个目相H殳备是扬声器、 个人计算机、打印机、膝上型计算机、个人数字助理(PDA)、音频/3M调谐器 和;^X中的^—种。
16. —种机器可读介质,其包括指令,所述指令当由处理系统^^亍时,使 得所皿理系统#^亍一种方法,所述方法包括确定源设备和一个或多个目标设备之间的网络通信路径中到所述源设备的 最接近设备,其中所ii^接近设备与所述一个或多个目才射殳备的时钟是同步的, 并且其中所述源设备的时钟与所述最接近设备和所述一个或多个目相4殳备的时 钟是不同步的;确定所itj:接近设备的当前时间;指^始时间为至少所述当前时间加上通过所述网络通信路径的最大延时;将数据流和所述起始时间发i^ij所述一个或多个目相3殳备。
17. 如权利要求16所述的机器可读介质,其中所述一个或多个目才射殳备用 iMM所^^始时间来再现所述数据流。
18. 如权利要求16所述的机器可读介质,其中所i^:接近设备与所述一个 或多个目标设备的时钟是通过电气和电子工程师协会(正EE) 802.1AS时间同 步协议、正EE1588时间同步协议与网络时间协议(NTP)时间同步协议中之一 同步的。
19. 如权利要求16所述的机器可读介质,其中所ii^:接近设备是通过絲 层发现协议(LLDP)和通用即插即用(UPnP)协议中之一确定的。
20. 如权利要求16所述的机器可读介质,其中所述一个或多个目才射殳备是 扬声器、个人计算机、打印机、膝上型计算机、个人数字助理(PDA)、音频/ 4^LM调谐器和;^风中的^"-种。
全文摘要
一种用于使得经过分离的网络定时/时钟岛的同时媒体流重播同步化的系统和方法。本方法的实施例包括确定源设备和一个或多个目标设备之间的网络通信路径中到源设备的最接近设备。其中,该最接近设备与该一个或多个目标设备的时钟是同步的,并且该源设备的时钟与该最接近设备和该一个或多个目标设备的时钟不一定同步。随后,确定该最接近设备的当前时间。指定起始时间为至少当前时间加上通过网络通信路径的最大延时。将数据流和该起始时间发送到该一个或多个目标设备用于再现。还描述和要求保护了其它的实施例。
文档编号H04N5/04GK101415071SQ20081017857
公开日2009年4月22日 申请日期2008年9月28日 优先权日2007年9月28日
发明者K·B·斯坦顿 申请人:英特尔公司