CN1825955B - 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移 - Google Patents

通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移 Download PDF

Info

Publication number
CN1825955B
CN1825955B CN2006100043591A CN200610004359A CN1825955B CN 1825955 B CN1825955 B CN 1825955B CN 2006100043591 A CN2006100043591 A CN 2006100043591A CN 200610004359 A CN200610004359 A CN 200610004359A CN 1825955 B CN1825955 B CN 1825955B
Authority
CN
China
Prior art keywords
clock
client
buffering area
main equipment
clock drift
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.)
Expired - Fee Related
Application number
CN2006100043591A
Other languages
English (en)
Other versions
CN1825955A (zh
Inventor
G·维迪
J·A·戴维斯
T·鲍拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1825955A publication Critical patent/CN1825955A/zh
Application granted granted Critical
Publication of CN1825955B publication Critical patent/CN1825955B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B26HAND CUTTING TOOLS; CUTTING; SEVERING
    • B26DCUTTING; DETAILS COMMON TO MACHINES FOR PERFORATING, PUNCHING, CUTTING-OUT, STAMPING-OUT OR SEVERING
    • B26D5/00Arrangements for operating and controlling machines or devices for cutting, cutting-out, stamping-out, punching, perforating, or severing by means other than cutting
    • B26D5/20Arrangements for operating and controlling machines or devices for cutting, cutting-out, stamping-out, punching, perforating, or severing by means other than cutting with interrelated action between the cutting member and work feed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B26HAND CUTTING TOOLS; CUTTING; SEVERING
    • B26DCUTTING; DETAILS COMMON TO MACHINES FOR PERFORATING, PUNCHING, CUTTING-OUT, STAMPING-OUT OR SEVERING
    • B26D7/00Details of apparatus for cutting, cutting-out, stamping-out, punching, perforating, or severing by means other than cutting
    • B26D7/26Means for mounting or adjusting the cutting member; Means for adjusting the stroke of the cutting member
    • B26D7/2628Means for adjusting the position of the cutting member
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B38/00Ancillary operations in connection with laminating processes
    • B32B38/10Removing layers, or parts of layers, mechanically or chemically
    • B32B38/105Removing layers, or parts of layers, mechanically or chemically on edges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B27WORKING OR PRESERVING WOOD OR SIMILAR MATERIAL; NAILING OR STAPLING MACHINES IN GENERAL
    • B27DWORKING VENEER OR PLYWOOD
    • B27D5/00Other working of veneer or plywood specially adapted to veneer or plywood
    • B27D5/006Trimming, chamfering or bevelling edgings, e.g. lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Forests & Forestry (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

一种数字媒体系统使用客户机缓冲区丰度报告来检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移。该系统提供在流媒体内容回放期间回放中断的减少,以及由主/源设备编码的“实况”内容实际上可体验为通过客户机设备上回放的“实况”内容的更大可能性。

Description

通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移
技术领域
本发明一般涉及数字媒体回放系统,尤其涉及在这种系统中调整媒体流的回放。
背景技术
诸如音频流、视频流和/或文本媒体内容流的数字媒体流变得越来越流行了。术语“流”(streaming)通常用来指表示媒体的数据由主计算机设备经网络提供给客户机设备(即,实现为各种常规计算设备的任一种的媒体回放设备,诸如台式PC、笔记本或便携式计算机、蜂窝式电话或其它无线通信设备、个人数字助理(PDA)、游戏控制台、IP机顶盒、手持式PC等)。客户机设备在从主机中接收内容时就提交流内容,而不等待要传送的全部内容或整个“文件”。
当媒体内容在网络上“流动”时,通常以数据包形式被流传送。然而,并非总是能确保数据包将以所发送的相同顺序到达其目的地,甚至根本不能确保它们到达了目的地。此外,通常不确保数据包从源行进到目的地所花时间具有特定的持续期,或者该时间对不同数据包是相同的。
为了考虑到向客户机设备的数据传送中的这些变化,客户机设备通常维持一数据缓冲区。该缓冲区使客户机设备能平滑数据传送中的变化,使这些变化在内容回放期间不会被用户注意到。因而,例如如果网络带宽中有因网络拥塞(例如网络交叉通信量、干扰、较差的无线接收)导致的短暂故障,在大多数情形中缓冲区中的数据量允许客户机设备继续播放媒体内容,从而用户不会体验到该小故障(例如回放中的中断或暂停)的影响。然而,在一些情形中,例如网络故障所导致的数据传送变化可放空缓冲区并导致回放中的中断或暂停。
可导致客户机缓冲区持续放空以及媒体内容回放时的周期性中断的另一个问题是在主设备(即编码并传送流内容的源设备)和客户机设备(即接收并回放流内容的设备)上出现不同的时钟频率。即,调整客户机设备上回放的客户机时钟可能以与调整主/源设备上编码过程的主机时钟略有不同的频率来运行。主机时钟和客户机时钟之间的时钟漂移可导致客户机缓冲区用完用来回放的媒体内容。如果客户机时钟运行得比主机时钟快,则客户机将以比主机补充缓冲区略快的速率来从客户机缓冲区消耗媒体内容。在该情形中,客户机缓冲区将继续用完媒体内容,且媒体回放中出现周期性的暂停或中断以便于缓冲区复原。相反,时钟漂移也可导致客户机缓冲区的媒体内容溢出。如果客户机时钟比主机时钟慢,则客户机将以比主机填充缓冲区略慢的速率来从客户机缓冲区消耗媒体内容。在该情形中,客户机缓冲区将使媒体内容溢出。
因此,需要一种方法来检测将流内容传送给客户机回放设备的主设备和该客户机设备之间的时钟漂移。
发明内容
一种数字媒体系统和方法使用客户机缓冲区丰度报告来检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移。
在一实施例中,客户机设备上的缓冲区监视器监视客户机缓冲区,并产生指示客户机缓冲区中数据水平的缓冲区丰度报告。缓冲区监视器将该缓冲区丰度报告发送给主设备上的时钟漂移检测和复原组件。该时钟漂移检测和复原组件从缓冲区丰度报告中确定客户机设备时钟和主设备时钟之间的任何时钟漂移的程度。如果在客户机时钟和主机时钟之间有时钟漂移,则该时钟漂移检测和复原组件实现一复原方法来使两个时钟同步。
在另一实施例中,客户机设备上的缓冲区监视器将缓冲区丰度报告发送给客户机设备上的时钟漂移检测和复原组件。客户机设备上的该时钟漂移检测和复原组件确定客户机时钟和主机时钟之间的任何时钟漂移的程度,并实现一复原方法来使两个时钟同步。在又一实施例中,客户机设备上的时钟漂移检测和复原组件向主设备发送有关检测到的时钟漂移的消息,且主设备上的时钟复原组件实现一复原方法来使两个时钟同步。该时钟漂移检测和复原组件还驻留在第三设备上(例如专用控制设备)并接收来自客户机的缓冲区丰度报告。再一次,时钟漂移检测和复原组件确定客户机时钟和主机时钟之间的任何时钟漂移的程度,并实现一复原方法来使两个时钟同步。
附图说明
在附图中相同标号用来引用相同组件和特征。
图1示出适于检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移的示例性环境。
图2示出适于检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移的数字媒体系统的一示例性实施例。
图3示出当主设备使媒体内容流向客户机设备时客户机媒体缓冲区丰度水平随时间变化所见的各种情形。
图4示出当缓冲区丰度水平随时间因网络带宽波动而波动时的客户机媒体缓冲区丰度水平的另一情形。
图5示出适于检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移的数字媒体系统的其它示例性实施例。
图6-7是示出用于检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移的示例性方法的流程图。
图8示出适于实现诸如参照图1-7所述的主计算机设备和客户机回放设备的示例性计算环境。
具体实施方式
导言
以下讨论涉及一种数字媒体系统和方法,该系统和方法检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移。主机时钟调整主设备上流媒体的编码,而客户机时钟调整流媒体在客户机设备上的回放。所述系统和方法的优点包括在流媒体内容回放期间回放中断的减少,以及由主/源设备编码的”实况”内容可实际上被体验为通过客户机设备上回放的“实况”内容有了更大可能性。
示例性环境
图1示出适于检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移的示例性环境100。网络106旨在表示采用各种常规网络协议的任一种(包括公共和/或专用协议)的各种常规网络拓朴和类型的任一种(包括光学、有线和/或无线网络)。网络106可包括,例如,家用网络、公司网络、或因特网、以及可能一个或多个局域网(LAN)或广域网(WAN)的至少一部分。
主/源设备102一般提供对诸如媒体文件的所存储媒体内容、和/或诸如实况有线电视馈入或Webcast的实况媒体内容。主设备102基于请求使媒体内容流向客户机回放设备104。客户机设备104一般接收来自主设备102的流媒体内容,并向用户作回放。来自客户机设备104的对流动主设备102上可用的媒体内容的请求经网络106从客户机设备104路由到主设备102。主设备102接收请求并将所请求内容经网络106返回给作出请求的客户机设备104。
主设备102可实现为各种常规计算设备的任一种,包括例如台式PC、笔记本或便携式计算机、工作站、大型机、因特网装置、及其组合等,它们可配置成使所存储的和/或活动的媒体内容流向客户机设备104。客户机回放设备104也可实现为各种常规计算设备的任一种,包括例如台式PC、笔记本或便携式计算机、工作站、大型机、因特网装置、游戏控制台、手持式PC、蜂窝式电话或其它无线通信设备、个人数字助理(PDA)、机顶盒、及其组合等。用于实现主设备102和客户机设备104的示例性计算环境在下面参照图8进行更详细地描述。
主设备102可使各种数据的任一种可用来流向客户机回放装置104,包括诸如音频、视频、文本、图像、动画等的内容。然而,当参照以下描述的示例性实施例在此使用时,媒体内容200旨在表示音频/视频(A/V)内容或仅表示视频内容。此外,在此对“媒体内容”、“流媒体”、“流视频”、“视频内容”及其任何变体的引用通常旨在包括音频/视频内容。术语“流”用来指表示媒体内容的数据经网络106提供给客户机回放设备104,并且内容的回放在内容被全部传送之前就可开始。数据可公用或可选择为受限制(例如仅限于某些用户、仅当支付了适当费用才可用、限于可访问特定网络的用户等)。此外,数据可以是“基于请求的”(例如预先记录的、已知大小的存储内容)或者可选择地来自活动的“广播”(例如具有未知大小,诸如当音乐会演出时捕捉的音乐会的数字表示,并在捕捉后马上可用于流传送)。
示例性实施例
图2示出适于检测传送流媒体内容的主/源设备上的时钟和接收流媒体内容的客户机回放设备上的时钟之间的时钟漂移的数字媒体系统的一示例性实施例。主设备102通常配置成以由主设备102的主机时钟202调整的速率来编码媒体/视频内容200。然后主设备102可经网络106将编码后的媒体/视频内容200存储和/或流传送到客户机设备104中。客户机设备104通常被配置成以由客户机设备104的客户机时钟204调整的速率接收流媒体/视频内容200并回放该流内容。
在本实施例中,主设备102包括被配置成确定在客户机时钟204和主机时钟202之间是否有时钟漂移的时钟漂移检测和复原模块206。该检测和复原模块206基于它从客户机设备104接收的有关客户机媒体缓冲区208的信息来确定时钟漂移。客户机设备104以缓冲区丰度报告210的形式向主机设备102提供缓冲区信息。缓冲区丰度报告210指示在媒体内容200从主设备102流向客户机设备104期间在客户机设备104上的客户机媒体缓冲区208中出现的数据水平。由缓冲区丰度报告210指示的数据水平可包括音频缓冲区208(1)中音频数据212的水平,和/或视频缓冲区208(2)中视频数据214的水平。主设备102上的时钟漂移检测和复原模块206基于它从客户机设备104中接收的缓冲区丰度报告210(2)来确定时钟漂移,如以下进行更详细地讨论。
主设备102维持一个或多个媒体内容200的文件,从中可由客户机设备104的媒体播放器应用程序216进行选择(例如响应于通过媒体播放器应用程序216的用户输入)。此外,主设备102提供诸如从活动有线电视馈入到Webcast的活动内容的访问,该活动内容基于请求流向客户机回放设备104。在本实施例中,媒体内容200被视为通常具有音频成分的视频内容。因而,如上所述,在此对“媒体内容”、“流媒体”、“流视频”、“视频内容”及其任何变体的引用通常旨在表示音频/视频(A/V)和/或视频内容。主设备102经网络106向客户机设备104上的媒体播放器应用程序216传送作为数据流的请求媒体内容200。
客户机设备104维持媒体缓冲器208,作为一种平滑经网络106的数据传送中的变化(例如因网络交叉通信量、干扰、较差的无线接收等导致的网络小故障)的方法,从而在内容回放期间它们不会被用户注意到。在有利的网络条件下,缓冲区208的丰度水平将相对较高(例如>80%)并将指示健康的丰度水平。缓冲区208中的较高丰度水平通常允许缓冲区208内的全部媒体内容、以及来自主设备102的剩余流媒体内容的实时回放。
客户机设备104的缓冲区监视器218被配置成监视缓冲区208的丰度水平并产生缓冲区丰度报告210(1),同时媒体内容200从主设备102中流出。缓冲区丰度报告210是客户机设备104向主设备102报告缓冲区丰度信息的一种机制。一般而言,该信息由主设备102上的时钟漂移检测和复原模块206用来确定客户机时钟204和主机时钟202之间是否有时钟漂移。
图3示出当主设备使媒体内容流向客户机设备时客户机媒体缓冲区丰度水平随时间变化的各种情形。在每种情形中,缓冲区208以约80%的相对较高或健康的丰度水平开始。在由标绘线300示出的第一种情形中,缓冲区丰度水平随着时间逐渐增大。这表示缓冲区208中数据的填充比消耗快。在该情形中,缓冲区208最终将使数据溢出,这通常导致溢出数据(帧)被客户机104丢弃/撤消,且不在主设备102上的主缓冲区(未示出)中回放或存储。在由标绘线302示出的第二种情形中,缓冲区丰度水平随着时间保持不变。这表示缓冲区208中数据以与消耗相同的速率进行填充。在由标绘线304示出的第三种情形中,缓冲区丰度水平随着时间逐渐减小。这表示缓冲区208中数据的填充比消耗慢。在该第三情形中,缓冲区208最终将放空,并且在客户机设备104上的媒体回放中将发生暂停或中断,同时缓冲区208复原(即用数据填充)。在由标绘线306示出的第四种情形中,缓冲区丰度水平随着时间快速下降,表示缓冲区208中的数据以比消耗慢得多的速度进行填充。
为了确定在客户机时钟204和主机时钟202之间是否有时钟漂移,主设备102上的时钟漂移检测和复原模块206接收由客户机设备104上的缓冲区监视器218产生的缓冲区丰度报告210(2),并画出如缓冲区丰度报告210(2)中所表示的缓冲区丰度水平随时间变化的线条。因而,时钟漂移检测和复原模块206可产生诸如以上参照图3示出和讨论的线条。时钟漂移检测和复原模块206监视通过标绘产生的线条的斜率,以确定客户机时钟204和主机时钟202之间是否出现时钟漂移。如以下更详细讨论地,该斜率随时间进行平均以平滑网络的不稳定性。
再次参看图3,例如当标绘诸如300的线条时,时钟漂移检测和复原模块206将确定线条300具有平缓斜率,表示在客户机时钟204和主机时钟206之间出现了时钟漂移。此外,因为线条300的斜率为正,所以时钟漂移检测和复原模块206确定客户机时钟204以比主机时钟202更慢的速率运行,因为缓冲区208中的数据以比主设备102填充数据(由主机时钟202调整)慢的速率消耗(即由客户机104上的播放器应用程序216回放)。类似地,对于从缓冲区丰度报告210(2)中产生的其它线条,检测和复原模块206将从所画线条的斜率中确定在客户机时钟204和主机时钟202之间是否出现任何时钟漂移。例如,参照图3的线条302,因为线条302的斜率为零,检测和复原模块206将确定没有时钟漂移。参照线条304,检测和复原模块206将从线条的平缓负斜率确定出现了时钟漂移,且客户机时钟204以比主机时钟202快的速率运行,因为缓冲区208中的数据以比主设备102填充数据快的速率被消耗。参照线条306,检测和复原模块206将从线条的急剧负斜率确定有除单纯时钟漂移之外的情况,诸如网络中断,它导致客户机缓冲区208的急剧放空。网络中断可与时钟漂移有区别,因为从网络进入的媒体内容的速率因为网络中断而变成零,而在网络中断不存在时平均而言该速率保持恒定。此外,在网络拥塞期间,媒体内容流可变得较慢,但不会完全跌至零。例如,如果网络容量低于流的比特率(例如如果尝试经5.5Mbps网络发送6Mbps的流),则客户机设备104上的缓冲区丰度也可随时间放空。监视附加统计数据,诸如在网络层上重发/丢失的信息块数量、往返时间随时间的变化,或其它统计量,可标识这种网络过载。因此在确定主机时钟和客户机时钟之间是否存在时钟漂移时,被确定为是网络限制的结果的缓冲区放空结果可滤除。
图4示出缓冲区丰度水平因为网络带宽波动而随时间波动的另一情形,如标绘线400所示。在该情形中,缓冲区丰度可不显现为显然随时间增大或减小。然而,通过在较大时间窗口上平均缓冲区丰度并画出结果(例如标绘线402),可滤除网络带宽波动。检测和复原模块206然后可计算标绘线402的斜率,并确定缓冲区丰度实际上在以恒定速率下降。因此,如上所述,检测和复原模块206将从线条的平缓负斜率确定存在时钟漂移,且客户机时钟204以比主机时钟202快的速率运行。
除了确定客户机时钟204和主机时钟202之间是否出现时钟漂移之外,检测和复原模块206计算主机时钟202和客户机时钟204之间时钟速度的差异。各种数学模型(例如数学低通过滤、统计学分析等)可用来基于来自客户机缓冲区208的缓冲区丰度数据,计算主机时钟202和客户机时钟204之间时钟速度的差异。在一实现中,主机时钟202和客户机时钟204之间时钟速度的差异通过以下定义和等式(1)、(2)和(3)来定义:
rh-rc=dpc*(ch-cc)    (1)
ch是以赫兹(Hz)为单位的主机时钟202的实际速率。
cc是以赫兹(Hz)为单位的客户机时钟204的实际速率。
dpc是表示数据流的指定(即基于所指定值的期望值)数据速率。即,dpc等于主设备102和客户机设备104的指定数据速率。
rh是主设备102上数据产生的实际速率,它是指定数据速率(比特/秒)*ch/指定主机时钟速率,单位为Hz。因而:
rh=ch*dpc
rc是客户机设备104上数据消耗的实际速率,它是指定期望数据速率(比特/秒)*cc/指定期望客户机时钟速率,单位为Hz。因而:
rc=cc*dpc
因此,以上等式(1)通过从rh减去rc导出。等式(1)参照缓冲区丰度和时间可通过以下定义和等式(2)作另一表达:
rh-rc=(ft-f0)/t       (2)
f0是时间0时的缓冲区丰度(数据比特数),它是时间为零时缓冲区丰度乘以缓冲区208的大小(比特)的百分比。
ft是时间t时的缓冲区丰度(数据比特数),它是时间为t时缓冲区丰度乘以缓冲区208的大小(比特)的百分比。
通过使以上等式(1)和(2)相等,主机时钟202和客户机时钟204之间时钟速度的差异(即时钟漂移量)显然如以下等式(3):
dpc*(ch-cc)=(ft-f0)/t
ch - cc = ft - f 0 t * dcp - - - ( 3 )
f0,ft和t的值可从用来产生图形的数据(即来自缓冲区丰度报告210(2)的数据)中确定。量(ft-f0)/t从基于缓冲区丰度报告210(2)的线条的斜率中确定。因而,时钟漂移检测和复原模块206可基于等式(3)简便地计算客户机时钟204和主机时钟202之间的时钟漂移量(即由量ch-cc表示的时钟速度的差异)。
在以上计算中,作了这样的假设:平均网络容量随时间将大于由主设备102传送的媒体流的比特率。如果网络容量小于流的比特率,则客户机设备104上的缓冲区丰度也可随时间放空。监视可标识网络过载的附加统计量,诸如在网络层上重发/丢失的信息块数量、往返时间随时间的变化,或其它统计量,可改进网络容量随时间低于流的比特率的情形中的上述结果。
在确定客户机时钟204和主机时钟202之间有时钟漂移并计算该时钟漂移量之后,检测和复原模块206可实现使两个时钟同步的复原方法。例如,主设备102可向客户机104发送时钟改变请求,指示客户机将客户机时钟204拨快或拨慢。如果客户机时钟204比主机时钟202慢,则主设备102也可从流向客户机104的媒体内容200中丢弃一些视频帧,以便于使客户机时钟204赶上主机时钟202。主机设备102还可调节它自己的时钟以使两个时钟同步。使客户机时钟204和主机时钟202同步有助于减少当作为客户机时钟202以比主机时钟202快的速率运行的结果客户机缓冲区208放空时可发生的回放中断。此外,使客户机时钟204和主机时钟202同步有助于确保:由主设备102以主机时钟速率编码的”实况”内容能以它在主设备102上编码的相同速率在客户机设备104上体验或回放为”实况”内容。
图5示出适于检测传送流媒体内容的主设备102上的时钟和接收流媒体内容的客户机回放设备104上的时钟之间的时钟漂移的数字媒体系统的一个或多个示例性实施例。主设备102和客户机设备104通常参照图2实施例如上所述地配置。然而,在图5的一个实施例中,客户机设备104还可用时钟漂移检测和复原模块502配置成确定在客户机时钟204和主机时钟202之间是否存在时钟漂移,并以与上述相似的方法来计算主机时钟202和客户机时钟204之间的时钟速度差异。此外,在检测时钟漂移并计算主机时钟202和客户机时钟204之间时钟速度差异之后,客户机设备104的检测和复原模块502可实现使客户机时钟204和主机时钟202同步的时钟复原方法(例如一定比率地调节客户机时钟204的速率)。在另一实施例中,主设备102可包括一时钟复原模块500,它被配置成从客户机设备104上的时钟漂移检测和复原模块502中接收时钟复原请求和/或信息。在接收这种请求和/或信息之后,时钟复原模块500可实现如上参照图2实施例所述的时钟复原方法。
示例性方法
选择将主要参照图6和7的流程图来描述用于在数字媒体系统中检测传送流媒体内容的主/源设备102上的时钟和接收流媒体内容的客户机回放设备104上的时钟之间的时钟漂移的示例性方法。该方法应用于以上参照图1-5讨论的示例性实施例。尽管通过流程图和与流程图各框相关联的文本揭示了一种或多种方法,可以理解所述方法的各个元素并非必然按它们所呈现的顺序来执行,且另外的顺序也可导致相似的优点。此外,各方法并非是排他性的,并可单独地或者彼此结合地执行。所述各方法的元素可通过任何适当手段执行,包括例如通过ASIC上的硬件逻辑块或通过在处理器可读媒体上定义的处理器可读指令的执行。
“处理器可读媒体”在此使用时,可以是包含、存储、通信、传播、或传送由处理器使用或执行的多个指令的任何手段。处理器可读媒体可以是,但非限制,电子、磁性、光学、电磁、红外线、或半导体系统、装置、设备或传播媒体。处理器可读媒体的更多特定示例包括具有一条或多条电线的电连接(电子)、便携式计算机盘(磁性)、随机存取存储器(RAM)(磁性)、只读存储器(ROM)(磁性)、可擦可编程只读存储器(EPROM或闪存)、光纤(光学)、可重写光盘(CD-RW)(光学)、以及便携式光盘只读存储器(CDROM)(光学)。
在方法600的框602,客户机回放设备104经网络106从主设备102中接收流媒体内容。该媒体内容包括例如音频/视频和/或视频内容。在框604,客户机设备104将来自媒体内容的数据保存在客户机缓冲区208中。在流媒体内容的回放期间,缓冲区用来平滑因网络带宽的波动引起的数据传送中的变化(例如因网络交叉通信量、干扰、较差的无线接收等导致的网络小故障)的方法,从而在内容回放期间它们不会被用户注意到。在框606,缓冲区监视器218监视缓冲区208中数据的丰度水平,且在框608缓冲区丰度报告210(1)基于缓冲区监视而被产生。因而当媒体内容流入缓冲区并被客户机回放设备104消耗时,缓冲区丰度报告由缓冲区监视器产生,表示在内容流传送期间的不同时间上缓冲区中出现的数据量。
在方法600的框610,时钟漂移检测和复原模块(206、502)确定在调整媒体内容流动的主设备102上时钟和调整媒体内容回放的客户机设备104上时钟之间是否出现时钟漂移。在图7上继续并在下面讨论的方法700,进一步描述了如何确定时钟漂移。
在方法600的框612,计算时钟漂移量。如上所述,时钟漂移量根据以下等式来计算,其中dpc是常数,而f0,ft和t的值可从用来产生图形的数据(即来自缓冲区丰度报告210(2)的数据)中确定。
ch - cc = ft - f 0 t * dcp - - - ( 3 )
在方法600的框614,时钟漂移检测和复原模块(206、502)或时钟复原模块500实现使客户机时钟204和主机时钟202同步的时钟复原方法。该复原方法包括,例如,调节客户机时钟、调节主机时钟、改变来自主设备的流内容(例如丢弃帧)等。
如上所述,图7的方法700进一步描述时钟漂移检测和复原模块(206、502)如何确定主机时钟和客户机时钟之间是否存在时钟漂移。在方法700的框702,检测和复原模块(206、502)在使媒体内容流向客户机设备104期间画出缓冲区丰度水平。在框704,计算通过标绘形成的线条的平均斜率。计算平均斜率可包括在较大时间窗口上平均缓冲区丰度并画出结果,以便于滤除否则可示出缓冲区丰度水平变化的网络带宽波动。
在框706,时钟漂移检测和复原模块(206、502)确定是否有除时钟漂移之外的因素,诸如网络限制,这些因素可导致客户机缓冲区208的放空。例如,如果网络容量低于流的比特率,则客户机设备104上的缓冲区丰度也可随时间放空。监视附加统计数据,诸如在网络层上重发/丢失的信息块数量、往返时间随时间的变化,或其它统计数据,可标识网络过载。因此在确定主机时钟和客户机时钟之间是否存在时钟漂移时,被确定为是网络限制的结果的缓冲区放空结果可滤除。
在框708,检测和复原模块(206、502)监视线条的平均斜率以确定在主机时钟和客户机时钟之间是否存在时钟漂移。如果线条的平均斜率为零,则检测和复原模块(206、502)确定没有出现时钟漂移,如框710所示。如果线条的平均斜率为负,则检测和复原模块(206、502)确定客户机时钟比主机时钟快,如框712所示。如果线条的平均斜率为正,则检测和复原模块(206、502)确定客户机时钟比主机时钟慢,如框714所示。
示例性计算环境
图8示出适于实现诸如以上参照图1-7所述的主设备102和客户机回放设备104的计算机设备的示例性计算环境。尽管在图8中示出一特定配置,但这种计算设备可在其它计算配置中实现。
计算环境800包括计算机802形式的通用计算系统。计算机802的组件可包括,但不限于,一个或多个处理器或处理单元804、系统存储器806、和将包括处理器804的各种系统组件耦合到系统存储器806的系统总线808。
系统总线808代表若干类型的总线结构中任意的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、和使用各种总线架构的任一种的处理器或本地总线。系统总线808的一种示例将是外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机802具有各种计算机可读媒体。这样的媒体可以是计算机802可访问的任何可用媒体,且包括易失性和非易失性媒体、可移动和不可移动媒体。系统存储器806包括诸如随机存取存储器(RAM)810的易失性存储器形式的、和/或诸如只读存储器(ROM)812的非易失性存储器的计算机可读媒体。包含有助于计算机802如起动时在元件间传送信息的基本例程的基本输入/输出系统(BIOS)814存储在ROM812中。RAM810包含可被处理单元804即时访问和/或现时操作的数据和/或程序模块。
计算机802还可包括其它可移动/不可移动、易失性/非易失性计算机存储媒体。作为示例,图8图示了读取和写入不可移动、非易失性磁性媒体(未示出)的硬盘驱动器816,读取和写入可移动、非易失性磁盘820(如“软盘”)的磁盘驱动器818,读取和写入可移动、非易失性光盘824,如CD-ROM、DVD-ROM、或其它光学媒体的光盘驱动器822。硬盘驱动器816、磁盘驱动器818、和光盘驱动器822分别由一个或多个数据媒体接口825连接到系统总线808。可选地,硬盘驱动器816、磁盘驱动器818、和光盘驱动器822可经由SCSI接口(未示出)连接到系统总线808。
盘驱动器及其相关联的计算机可读媒体为计算机802提供计算机可读指令、数据结构、程序模块、和其它数据的非易失性存储。尽管该示例中图示了硬盘816、可移动磁盘820、和可移动光盘824,但可以理解其它类型的计算机可访问的可存储数据的计算机可读媒体,如磁带或其它磁性存储设备、闪存卡、CD-ROM、数字化多功能盘(DVD)或其它光学存储设备、随机存取存储器(RAM)、只读存储器(ROM)、电子可擦可编程只读存储器(EEPROM)等等,也可用来实现示例性计算系统和环境。
任何数量的程序模块,包括作为示例的操作系统826、一个或多个应用程序828、其它程序模块830、和程序数据832的,可存储于硬盘816、磁盘820、光盘824、ROM812、和/或RAM810。每一个这样的操作系统826、一个或多个应用程序828、其它程序模块830、和程序数据832(或其中某些组合)都可包括用于用户网络访问信息的高速缓存方案的一个实施例。
计算机802可包括各种标识为通讯媒体的计算机/处理器可读媒体。通讯媒体包含调制数据信号形式的诸如载波或其它传送机制的计算机可读指令、数据结构、程序模块、或其它数据,且包含任何信息传递媒体。术语“已调制数据信号”意指用对信号中信息编码的方式使其一个或多个特征设置或改变的信号。作为示例,而非限制,通讯媒体包括诸如有线网络或直线连接的有线媒体,和诸如声学、射频、红外线和其它无线媒体的无线媒体。所有以上内容的组合也应包含在“计算机可读媒体”范围之内。
用户可通过输入装置如键盘834和定位装置836(如“鼠标”)向计算机系统802输入指令和信息。其它输入装置838(未具体示出)可包括话筒、操纵杆、游戏垫、卫星接收器、扫描仪等等。这些和其它输入装置通常通过与系统总线808耦合的输入/输出接口840连接到处理单元804,但也可通过其它接口相连,如并行端口、游戏端口或通用串行总线(USB)。
监视器842或其它类型显示装置也通过接口,如视频适配器844和系统总线808相连。除了显示器842,其它外围输出装置可包括可通过输入/输出接口840与计算机802连接的组件,如扬声器(未示出)和打印机846。
计算机802可以在使用与一台或多台远程计算机,诸如远程计算设备848的逻辑连接的网络化环境中运行。作为示例,远程计算设备848可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、同等装置或其它公共网络节点等等。远程计算设备848被示为可包括在此所述与计算机系统802相关的许多或全部部件的便携式计算机。
计算机802和远程计算机848间的逻辑连接包括局域网(LAN)850和广域网(WAN)852。这样的网络化环境在办公室、企业范围计算机网络、企业内联网和因特网上是常见的。当在LAN网络化环境中实现时,计算机802通过网络接口或适配器854与局域网850连接。当在WAN网络化环境中实现时,计算机802包括调制解调器856或其它用于在广域网852中建立通信的装置。可以内置或外置于计算机802的调制解调器856,通过输入/输出接口840或其它适当机制连接到系统总线808。可以理解的是,所示网络连接是示例性的,且其它用于在计算机802和848间建立通信连接的技术也可以使用。
在诸如计算环境800所示的网络化环境中,所描述的与计算机802相关的程序模块或其中部分模块,可存储在远程存储器存储设备中。作为示例,远程应用程序858驻留在远程计算机848的存储设备上。为进行说明,诸如操作系统的应用程序和其它可执行程序组件在此被示为离散框,尽管可以理解这样的程序和组件在各种时间会驻留于计算机系统802的不同存储组件上,并由该计算机的数据处理器执行。
结论
尽管本发明已用结构化特征和/或方法论动作的专用语言作了说明,但可以理解的是在所附权利要求书中定义的本发明无须受限于所述特定特征或动作。相反,具体特征和动作是以实现本发明的示例性形式被揭示的。

Claims (15)

1.一种用于检测至少包括主设备和客户机设备的数字媒体系统中的时钟漂移的方法,包括:
在客户机设备上:
接收(602)来自所述主设备的流内容,所述主设备具有调整所述流内容的编码过程的主机时钟,所述客户机设备具有调整所述流内容的回放的客户机时钟;
将来自所述流内容的数据保存(604)在客户机设备缓冲区中;
监视(606)反映所述缓冲区中数据水平的缓冲区丰度水平;以及
生成(608)缓冲区丰度水平报告并发送给所述主设备,
其中,所述方法还包括在所述主设备上:基于所述缓冲区丰度水平报告,确定所述主机时钟和所述客户机时钟之间是否有时钟漂移,
且所述方法还包括根据以下等式计算时钟漂移量:
ch - cc = ft - f 0 t * dcp
其中:
所述时钟漂移量等于ch-cc;
ch是主机时钟的频率;
cc是客户机时钟的频率;
dpc是以比特每秒为单位的所述主设备上的指定数据产生速率;
f0是在时间0处的缓冲区丰度水平;而
ft是在时间t处的缓冲区丰度水平。
2.如权利要求1所述的方法,其特征在于,所述确定包括:
在时间间隔上标绘缓冲区丰度水平;
计算通过所述标绘形成的线条的平均斜率;以及
监视所述线条的所述平均斜率。
3.如权利要求2所述的方法,其特征在于,所述线条的平均斜率为0,且所述确定包括确定所述主机时钟和所述客户机时钟之间没有时钟漂移。
4.如权利要求2所述的方法,其特征在于,所述线条的平均斜率为负,且所述确定包括确定所述客户机时钟比所述主机时钟快。
5.如权利要求2所述的方法,其特征在于,所述线条的平均斜率为正,且所述确定包括确定所述客户机时钟比所述主机时钟慢。
6.如权利要求2所述的方法,其特征在于,计算线条的平均斜率包括滤除传送所述流内容的网络的带宽波动。
7.如权利要求1所述的方法,其特征在于,所述确定包括通知主设备在所述主机时钟和所述客户机时钟之间是否有时钟漂移。
8.如权利要求1所述的方法,还包括实现消除所述主机时钟和所述客户机时钟之间时钟漂移的时钟复原方法。
9.如权利要求8所述的方法,其特征在于,所述实现从包括以下的组中选择:
调节所述客户机时钟;
调节所述主机时钟;
改变来自所述主设备的流内容;以及
丢弃所述客户机设备上的数据帧。
10.一种用于检测至少包括主设备和客户机设备的数字媒体系统中的时钟漂移的系统,包括:
将流内容从主设备传送到客户机设备的装置,所述主设备具有调整所述流内容的编码过程的主机时钟,所述客户机设备具有调整所述流内容的回放的客户机时钟;
监视所述客户机设备上在测量时间间隔上对来自所述流内容的数据的数据缓冲区的缓冲区丰度水平的装置;
从所述客户机设备生成(608)缓冲区丰度水平报告并发送给所述主设备的装置;基于所述缓冲区丰度水平报告,在所述主设备上确定所述主设备上的主机时钟和所述客户机设备上的客户机时钟之间是否存在时钟漂移的装置;以及
基于缓冲区丰度水平的变化速率计算时钟漂移量的装置,所述时钟漂移量根据以下等式来计算:
ch - cc = ft - f 0 t * dcp
其中:
所述时钟漂移量等于ch-cc;
ch是主机时钟的频率;
cc是客户机时钟的频率;
dpc是以比特每秒为单位的所述主设备上的指定的数据产生速率;
f0是在时间0处的缓冲区丰度水平;而
ft是在时间t处的缓冲区丰度水平。
11.如权利要求10所述的系统,其特征在于,所述确定装置包括:
在所述测量时间间隔上计算缓冲区丰度水平的变化速率的装置;以及
基于所述缓冲区丰度水平的变化速率,确定存在所述时钟漂移的装置。
12.如权利要求11所述的系统,其特征在于,所述缓冲区丰度水平变化的速率是恒定的正变化速率,且确定存在所述时钟漂移包括确定所述客户机时钟以比所述主机时钟低的频率运行。
13.如权利要求11所述的系统,其特征在于,所述缓冲区丰度水平变化的速率是恒定的负变化速率,且确定存在所述时钟漂移包括确定所述客户机时钟以比所述主机时钟高的频率运行。
14.一种用于检测至少包括主设备和客户机设备的数字媒体系统中的时钟漂移的系统,包括:
所述客户机设备(104),被配置成用于接收来自所述主设备(102)的媒体内容,并用于回放所述媒体内容,所述客户机设备具有调整所述媒体内容的回放的客户机时钟(204),所述主设备具有调整所述媒体内容的编码过程的主机时钟(202);
所述客户机设备上的缓冲区监视器(218),用于监视客户机缓冲区(208)并产生指示所述客户机缓冲区中数据量的缓冲区丰度报告(210(1));以及
所述主设备上的时钟漂移检测和复原模块(206),被配置成从所述缓冲区监视器接收缓冲区丰度报告,并从所述缓冲区丰度报告确定在主机时钟和客户机时钟之间是否存在时钟漂移,并根据以下等式计算时钟漂移量:
ch - cc = ft - f 0 t * dcp
其中:
所述时钟漂移量等于ch-cc;
ch是主机时钟的频率;
cc是客户机时钟的频率;
dpc是以比特每秒为单位的所述主设备上的指定数据产生速率;
f0是在时间0处的缓冲区丰度水平;而
ft是在时间t处的缓冲区丰度水平。
15.如权利要求14所述的系统,其特征在于,所述时钟漂移检测和复原模块被配置成实现校正所述时钟漂移的复原方法。
CN2006100043591A 2005-02-11 2006-01-25 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移 Expired - Fee Related CN1825955B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/056,058 2005-02-11
US11/056,058 US20060184697A1 (en) 2005-02-11 2005-02-11 Detecting clock drift in networked devices through monitoring client buffer fullness

Publications (2)

Publication Number Publication Date
CN1825955A CN1825955A (zh) 2006-08-30
CN1825955B true CN1825955B (zh) 2011-01-19

Family

ID=35783023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100043591A Expired - Fee Related CN1825955B (zh) 2005-02-11 2006-01-25 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移

Country Status (10)

Country Link
US (1) US20060184697A1 (zh)
EP (1) EP1691514A1 (zh)
JP (1) JP5198734B2 (zh)
KR (1) KR20060090923A (zh)
CN (1) CN1825955B (zh)
AU (1) AU2006200155A1 (zh)
BR (1) BRPI0600248A (zh)
CA (1) CA2532486A1 (zh)
MX (1) MXPA06001522A (zh)
RU (1) RU2408149C2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060209684A1 (en) * 2005-03-18 2006-09-21 Via Technologies, Inc. Data rate controller, and method of control thereof
US20070239839A1 (en) * 2006-04-06 2007-10-11 Buday Michael E Method for multimedia review synchronization
US7571340B2 (en) * 2006-06-13 2009-08-04 Intel Corporation Eliminating receiver clock drift caused by voltage and temperature change in a high-speed I/O system that uses a forwarded clock
US7765315B2 (en) * 2007-01-08 2010-07-27 Apple Inc. Time synchronization of multiple time-based data streams with independent clocks
US20080212690A1 (en) * 2007-03-01 2008-09-04 Qualcomm Incorporated Transcoder media time conversion
EP2073552A1 (en) 2007-12-21 2009-06-24 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for controlling a media consumption rate of a receiver
WO2009095839A1 (en) * 2008-01-28 2009-08-06 Nxp B.V. Device and method for decoding digital tv broadcast
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
CN101277209B (zh) * 2008-05-14 2010-07-14 山东大学 网络流媒体传输断线重连技术
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
US8301794B2 (en) 2010-04-16 2012-10-30 Microsoft Corporation Media content improved playback quality
US9276989B2 (en) 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
RU2519470C1 (ru) * 2012-10-17 2014-06-10 Общество с ограниченной ответственностью "Сетевизор" Способ защищенного распространения мультимедийной информации посредством развертывания децентрализованной сети типа peer-to-peer и децентрализованная сеть для осуществления способа
US9930082B2 (en) 2012-11-20 2018-03-27 Nvidia Corporation Method and system for network driven automatic adaptive rendering impedance
US10616086B2 (en) 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control
US9819604B2 (en) 2013-07-31 2017-11-14 Nvidia Corporation Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
US20150098020A1 (en) * 2013-10-07 2015-04-09 Nvidia Corporation Method and system for buffer level based frame rate recovery
US9756141B2 (en) * 2015-06-04 2017-09-05 Airwatch Llc Media content consumption analytics
CN114138057A (zh) * 2021-11-19 2022-03-04 广西电网有限责任公司 基于agent的智能化时钟对时装置及使用方法
AU2023223376A1 (en) * 2022-02-28 2024-07-18 Arris Enterprises Llc Method of measuring timing holdover performance in an r-phy system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844891A (en) * 1994-06-01 1998-12-01 Newbridge Networks Corporation Cell-based clock recovery device
CN1464131A (zh) * 2002-06-13 2003-12-31 中国石化上海石油化工股份有限公司 用于生产阳离子染料可染丙纶的染色添加剂的制备方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792654B2 (ja) * 1992-10-23 1995-10-09 インターナショナル・ビジネス・マシーンズ・コーポレイション ビデオ・データ・フレーム伝送方法および装置
CA2140850C (en) * 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
SE510170C2 (sv) * 1997-05-16 1999-04-26 Ericsson Telefon Ab L M Metod och anordning för styrning av datapaketflöde medelst baktrycksmeddelande
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6343350B1 (en) * 1998-02-13 2002-01-29 International Business Machines Corporation Conserving storage space by means of low resolution objects
SG71835A1 (en) * 1998-09-07 2000-04-18 Victor Company Of Japan A dejittering and clock recovery technique for real-time audio/visual network applications
US6507587B1 (en) * 1998-10-09 2003-01-14 Microsoft Corporation Method of specifying the amount of bandwidth to reserve for use in network communications
US6618363B1 (en) * 1998-10-09 2003-09-09 Microsoft Corporation Method for adapting video packet generation and transmission rates to available resources in a communications network
US6519004B1 (en) * 1998-10-09 2003-02-11 Microsoft Corporation Method for transmitting video information over a communication channel
US6611530B1 (en) * 1999-09-21 2003-08-26 Hewlett-Packard Development Company, L.P. Video communication using multiple streams
US6757273B1 (en) * 2000-02-07 2004-06-29 Nokia Corporation Apparatus, and associated method, for communicating streaming video in a radio communication system
JP2001257715A (ja) * 2000-03-09 2001-09-21 Nippon Hoso Kyokai <Nhk> 蓄積送信端末
US20020146023A1 (en) * 2001-01-09 2002-10-10 Regan Myers Transport stream multiplexer utilizing smart FIFO-meters
KR100410973B1 (ko) * 2001-04-18 2003-12-18 엘지전자 주식회사 주문형 비디오 시스템에서 동영상의 스트리밍 방법
US7151749B2 (en) * 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
US20030198184A1 (en) * 2001-08-31 2003-10-23 Joe Huang Method of dynamically determining real-time multimedia streaming rate over a communications networks
US7274661B2 (en) * 2001-09-17 2007-09-25 Altera Corporation Flow control method for quality streaming of audio/video/media over packet networks
FI115418B (fi) * 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US7155532B2 (en) * 2002-01-04 2006-12-26 Scientific-Atlanta, Inc. Transmitting streams over asynchronous networks
US6910079B2 (en) * 2002-01-25 2005-06-21 University Of Southern California Multi-threshold smoothing
KR100547889B1 (ko) * 2003-08-25 2006-01-31 삼성전자주식회사 Mpeg-2 전송을 위한 널 패킷 필터링 장치
US7366199B1 (en) * 2002-12-10 2008-04-29 Apple Inc. Method and apparatus measuring bandwidth
JP2006518948A (ja) * 2003-02-13 2006-08-17 ノキア コーポレイション マルチメディア・ストリーミングにおけるストリーミング品質適合と制御機構のシグナリング方法
GB0304808D0 (en) * 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Managing data transmission
US7844727B2 (en) * 2003-04-24 2010-11-30 Nokia Corporation Method and device for proactive rate adaptation signaling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844891A (en) * 1994-06-01 1998-12-01 Newbridge Networks Corporation Cell-based clock recovery device
CN1464131A (zh) * 2002-06-13 2003-12-31 中国石化上海石油化工股份有限公司 用于生产阳离子染料可染丙纶的染色添加剂的制备方法

Also Published As

Publication number Publication date
EP1691514A1 (en) 2006-08-16
CA2532486A1 (en) 2006-08-11
AU2006200155A1 (en) 2006-08-31
RU2408149C2 (ru) 2010-12-27
MXPA06001522A (es) 2006-09-20
KR20060090923A (ko) 2006-08-17
CN1825955A (zh) 2006-08-30
JP2006222976A (ja) 2006-08-24
US20060184697A1 (en) 2006-08-17
BRPI0600248A (pt) 2006-10-03
JP5198734B2 (ja) 2013-05-15
RU2006101067A (ru) 2007-08-10

Similar Documents

Publication Publication Date Title
CN1825955B (zh) 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移
CN1756369B (zh) 在带宽有限网络上的媒体速率变换
CN101785275B (zh) 通过代理反馈控制的帧传输为媒体服务器选择内容速率
Amir et al. Receiver-driven bandwidth adaptation for light-weight sessions
CN100382499C (zh) 用于流式传输多媒体数据的装置和方法
JP6572245B2 (ja) 体感品質最適化システム、体感品質最適化装置、レコメンド要求装置、体感品質最適化方法、レコメンド要求方法及びプログラム
CN109819322A (zh) 视频传输方法、装置、计算机可读存储介质及电子设备
US20100146108A1 (en) Rate-controllable peer-to-peer data stream routing
US20080084821A1 (en) Method and devices for adapting the transmission rate of a data stream when there is interference
KR101390192B1 (ko) 동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법
US20070133412A1 (en) Method of transferring data
EP1428358B1 (en) Data communications method and system for transmitting multiple data streams calculating available bandwidth per stream and bit stream trade-off
Gokhale et al. Congestion control for network-aware telehaptic communication
WO2012161652A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
US11190430B2 (en) Determining the bandwidth of a communication link
CN112929704A (zh) 数据传输方法、装置、电子设备以及存储介质
JP4800250B2 (ja) 必要十分な受信バッファサイズを決定するパケット受信装置、方法及びプログラム
CN114221870B (zh) 用于服务器的带宽分配方法和装置
JP2005064970A (ja) 配信レート制御方法及びシステム
KR20100078470A (ko) 무선 인터넷 환경에서의 스트리밍 콘텐츠 전송 방법
JP2004147030A (ja) 受信装置、データ通信システム及びその通信方法
De Vleeschouwer et al. The virtue of patience in low-complexity scheduling of packetized media with feedback
Kim et al. A bandwidth estimation scheme to improve the QoE of HTTP adaptive streaming in the multiple client environment
JP6555853B2 (ja) 送信装置、送信制御方法及びプログラム
JP7270344B2 (ja) 端末装置、帯域予測装置、およびプログラム

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

Granted publication date: 20110119

Termination date: 20130125

CF01 Termination of patent right due to non-payment of annual fee