CN1643875A - 数据流式传输系统和方法 - Google Patents

数据流式传输系统和方法 Download PDF

Info

Publication number
CN1643875A
CN1643875A CNA038070480A CN03807048A CN1643875A CN 1643875 A CN1643875 A CN 1643875A CN A038070480 A CNA038070480 A CN A038070480A CN 03807048 A CN03807048 A CN 03807048A CN 1643875 A CN1643875 A CN 1643875A
Authority
CN
China
Prior art keywords
data
client
buffering area
data flow
stream
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
Application number
CNA038070480A
Other languages
English (en)
Other versions
CN100581158C (zh
Inventor
迈克尔·埃尔森·尼尔森
蒂莫西·拉尔夫·杰布
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN1643875A publication Critical patent/CN1643875A/zh
Application granted granted Critical
Publication of CN100581158C publication Critical patent/CN100581158C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols

Abstract

描述了一种数据流式传输系统和方法。服务器(10)被配置成向客户端(40,50,60)流式传输多个编码数据流中的一个。所述多个数据流中的每个数据流都是按与所述多个数据流中的其它数据流不同的分辨率编码的公共数据源的独立表示。服务器(10)包括一发送器(100)和一第一缓冲区(120)。发送器被配置成通过第一缓冲区(120)向客户端(40,50,60)传输所述编码数据流的数据分组。发送器(100)被配置成,对第一缓冲区(120)的内容进行监控,并且在从第一缓冲区(120)中检测到预定准则的情况下,进行切换以传输所述多个数据流中的另一数据流。

Description

数据流式传输系统和方法
技术领域
本发明涉及一种适于在IP(网际协议)网络上流式传输音频和视频内容的系统和方法。具体来说,本发明适用于其中可用比特率固有地会由于物理网络特性和/或与其他通信量进行争用而变化的情况。例如,本发明适用于通过GPRS(通用分组无线业务)或3G网络到移动手持终端(如PDA(个人数字助理))的多媒体流式传输。
背景技术
诸如电缆调制解调器和ADSL(非对称数字用户线)调制解调器的新的数据网络接入技术以及压缩技术的发展和免费客户端软件的供应驱动着因特网上视频流式传输的增长。该技术的使用正在以极快的速度增长,几乎每六个月翻一番,据估计在2000年的使用量为5亿个流。然而,由于拥塞和较大的启动延迟,使用户对于因特网流式传输仍存在误解。
目前的IP网络并不能很好地适合于视频内容的流式传输,因为这些IP网络存在丢包(packet loss)、延迟和抖动(延迟改变),以及变化的最大吞吐量,所有这些都破坏了最终用户对多媒体内容的享受。
实时视频应用需要所有分组及时到达。如果分组丢失,则会破坏编码器和解码器之间的同步,并且差错会在再现视频中蔓延一段时间。如果分组过度延迟,则对于必须实时工作的解码器,这些分组会变得无用,并被当作丢失。在预测视频编码系统(如H.263)中,丢包及其对于再现视频的视觉影响尤其显著。通过在视频流中引入差错保护,可以减小但不能消除丢包的影响。研究表明这种复原技术只可以最小化而不能消除丢包的影响。
在持续丢包(其表示吞吐量的长期降低)的情况下,需要流式传输系统能够降低其长期需求。这通常意味着必须降低流式传输媒体的比特率。
可以对诸如H.263和MPEG-4的标准压缩技术进行管理以提供一种能够动态地改变其编码率的多媒体源。本文将具有这种属性的视频源描述为弹性源,即,能够适应网络吞吐量的长期变化的视频源。这通常是通过提供连续的自适应视频比特率来实现的。这是可能的,因为与音频编解码器不同,视频压缩标准并没有指定绝对的工作比特率。
可以将视频流式传输系统设计成提供具有变化比特率的编码流,其中比特率响应于客户端的反馈而即时地适应可用网络带宽。通过控制传输速率,使得其在丢包的情况下快速降低并且在其它时候缓慢增加,可使该系统做到网络友好。
然而,有两个原因使这个方案不可实现。第一,实时视频编码通常需要大量的处理能力,这样就使该方案不能支持很多用户。第二,最终用户对整体质量的感觉将会因瞬时质量的快速变化而受到负面影响。
对于单向流式传输应用,发送器与接收器之间的延迟只在启动的时候可感知。因此一般技术以延迟为代价来弥补丢包和抖动。倘若视频流的平均吞吐量需求符合平均可用带宽,那么可以将接收器缓冲区的大小设计为涵盖所预期的延迟变化。
市场上的主导流式传输系统被认为是使用了有效的客户端缓冲来降低因特网上可能遇到的抖动的影响。虽然这是有帮助的,但当填充缓冲区时也会产生较大的启动延迟,通常在5到30秒之间。这些系统还包括使客户端适应可用带宽的变化的技术。尽管这些技术的细节并不是公开的,但可猜想这些技术都在单个文件中使用了多数据率编码(SNR可伸缩性),并采用智能传输技术(例如视频画面速率的服务器侧降低)以保持音频的质量。可以想到,这些大量的缓冲允许相当大部分分组重发,虽然重传本身会遇到相同的网络特性。是否重发丢失数据的决定取决于这个因素和其它几个因素。这些技术一般只应用于单播传输。一般通过前向纠错或者基于接收端的可伸缩性来优化多播传输系统的性能,例如可参见RLM and RLC.S.McCanne,“Receiver driven layered multicast”,Proceedings of SIGCOMM 96,Stanford.CA.August 1996,以及L.Vicisano,L.rizzo and J.Crowcroft,’TCP-like congestion control for layered multicastdata transfer’,Infocom’98。
上述缓冲区的使用使系统能够克服丢包和抖动。然而它并不能克服网络上无足够可用比特率的问题。如果视频资料的长期平均比特率需求超过了网络上的可用平均比特率,那么客户端缓冲区将最终耗尽,并且视频的再现将会停止直到缓冲区被重新填满。网络可用比特率与对内容进行编码的速率之间的不匹配程度决定了暂停以重新填充缓冲区的频度。
如上所述,大部分视频压缩算法,包括H.263和MPEG-4,都可以实现为提供连续的自适应比特率。然而一旦对视频和音频进行了压缩,它们就变得没有弹性,并且需要按编码比特率传输。
虽然网络抖动和网络吞吐量的短期变化可以通过操作接收端缓冲区来吸收,但是只有在能够吸收网络吞吐量的长期变化时,才能够实现弹性。
分层编码是一种用于创建弹性视频源的公知技术。分层视频压缩使用层级编码方案,其中通过接收顺序地添加在基本表示(representation)上的多个较高层并进行解码,来提高接收端的质量。无论何时,各个客户端都可以根据其与视频源的当前网络连接性来接收任何数量的这些视频层。在最简单的实现方案中,提供了在多播情况下有利的对于网络状况的粗粒度自适应。已经将分层视频压缩与用户端缓冲相结合来增加对于网络状况的细粒度自适应。然而,已经表明,分层编码技术效率比较低,并且其一般需要在客户端进行更多处理,对于移动设备(其处理容量可能较低)这将导致一些问题。
译码(transcoding)是另外一种用于创建弹性视频源的公知技术。已经表明可以将视频译码设计为具有比视频编码低得多的计算复杂度。然而,并不能由此忽略计算复杂度,所以并不能产生可伸缩的视频流式传输结构。
发明内容
根据本发明的一个方面,提供了一种包括服务器的数据流式传输系统,该服务器被配置成向客户端流式传输多个编码数据流中的一个,所述多个数据流中的每个数据流都是按与所述多个数据流中的其它数据流不同的分辨率编码的公共数据源的独立表示,所述服务器包括一发送器和一第一缓冲区,所述发送器被配置成通过所述第一缓冲区向所述客户端传输所述编码数据流的数据分组,其中,所述发送器被配置成,对所述第一缓冲区的内容进行监控,并且在从所述第一缓冲区中检测到预定准则的情况下,进行切换以传输所述多个数据流中的另一个数据流。
整个系统的一些关键特性是:
●按网络友好的方式来改变传输速率;
●将传输速率与媒体编码速率解耦;
●在不引起启动延迟的条件下在客户端处构造数据缓冲区;
●通过利用客户端缓存来平滑网络吞吐量的短期变化;
●通过在按不同比特率编码的多个多媒体流之间进行切换来调节长期平均带宽需求,以匹配网络中的可用资源;以及,
●通过利用客户端缓存,在不影响用户感觉到的质量的前提下,通过选择性地重新传输丢失的分组来为丢包提供恢复。
本发明可以根据网络状况的变化来改变压缩视频的传输比特率。
在本发明中,不必按单一固定的比特率来传输所产生的音频-视频流,这样就使得可以按网络瞬时支持的任何速率来进行传输。通过在接收器中建立数据缓冲区来提供对传输损失的恢复,使得在需要丢失数据以进行解码和放映之前有时间重新传输丢失数据。
在任一时刻,只将这种流的层级中的一个视频流和一个音频流传输给客户端。这是以所谓的用于粗粒度自适应性的“联播切换”和用于细粒度自适应性的传输速率变化的组合的形式来实现的。
本系统在GPRS网络上运行表现很好,有效地利用了可用网络带宽,以提供满意的多媒体质量。
已经将本系统设计成可以克服IP网络,尤其是移动IP网络的特性,以向用户提供具有最小启动延迟的一致质量的多媒体。
所述发送器可以配置成根据所述第一缓冲区的内容来确定在客户端处缓存的数据量,其中,所述预定准则包括一确定要在所述客户端处缓存的数据的预定级。在客户端确认接收到数据分组时,可以将该数据分组从所述第一缓冲区中删除。所述发送器可以配置成,根据从所述第一缓冲区中删除的最近的数据分组和由所述客户端所解码的分组数目的估计,来确定在所述客户端处缓存的数据量。
所述第一缓冲区可以包括一镜像缓冲区,其用于存储关于所述第一缓冲区中的分组的数据,所述发送器被配置成,利用该镜像缓冲区中的数据来监控所述第一缓冲区的内容。
可以利用扩展TPKT协议来向所述客户端传输数据分组,该数据分组包括一报头,该报头包含一解码时标(timestamp)和一数据流标号。
本系统还包括多个发送器,每个发送器通过相应的第一缓冲区与相应的客户端进行通信,以传输依据相应的预定准则所确定的所述多个数据流中的一个。
所述数据流可以是编码视频数据。
所述发送器可以被配置成在数据分组的传输中对音频分组和视频分组进行多路传输。相邻的音频分组和视频分组可以表示用于在基本上相同时刻表示的音频和视频信息。
所述数据流可以是编码音频数据。
所述分辨率可以是数据的编码比特率。
所述服务器可以包括一编码器,其被配置成接受馈送的数据并且将所馈送的数据编码成所述多个编码数据流。
所述系统还可以包括多个缓冲区,其中,所述编码器被配置成将每个编码数据流输出到所述多个缓冲区中的相应缓冲区中,所述发送器被配置成从所述多个缓冲区中的相应缓冲区中获得用于各数据流的数据分组。
所述服务器可以包括一用于存储所述多个编码数据流的文件源。
根据本发明的另一方面,提出了一种数据流式传输系统,其包括客户端和服务器,所述服务器被配置成向所述客户端流式传输多个编码数据流中的一个,所述多个数据流中的每个数据流是按与所述多个数据流中的其它数据流不同的分辨率编码的公共数据源的独立表示,所述服务器包括发送器和第一缓冲区,而所述客户端包括接收缓冲区,其中,所述发送器被配置成通过所述第一缓冲区向所述客户端传输所述编码数据流的数据分组,其中,所述客户端被配置成将所接收到的数据分组存储在所述接收缓冲区中,并向所述服务器确认已接收,其中,所述发送器被配置成当接收到接收确认时从所述第一缓冲区中删除分组,所述服务器被配置成在预定准则得到满足的情况下切换到所述多个数据流中的另一个数据流,所述预定准则包括对所述第一缓冲区的内容的分析。
所述分组可以包括分组序列数据,所述客户端被配置成基于该序列数据来请求重新传输未接收到的分组,所述服务器被配置成在接收到一重新传输请求时从所述第一缓冲区重新传输分组。
根据本发明的又一方面,提供了一种用于向客户端流式传输多个编码数据流中的一个的方法,所述多个数据流中的每个数据流都是按与所述多个数据流中的其它数据流不同的分辨率编码的公共数据源的独立表示,该方法包括以下步骤:
通过第一缓冲区向所述客户端传输所述编码数据流的数据分组;
对所述第一缓冲区的内容进行监控;以及
在从所述第一缓冲区检测到预定准则的情况下,进行切换以传输所述多个数据流中的另一数据流。
所述多个数据流可以被各按不同的比特率进行编码,所述方法还包括以下步骤:最初时传输最低比特率数据流的数据分组。
所述预定准则可以包括确定要在客户端缓存的数据量。
所述预定准则可以包括一个或更多个网络吞吐量阈值。
可以通过以下步骤来计算网络吞吐量:
对传入所述第一缓冲区的字节数进行计数;
将所述第一缓冲区的大小减去所计数的字节数;以及
将所述结果除以自传输开始起的时间。
所述方法还可以包括以下步骤:在一个以上的时间间隔中测量网络吞吐量以确定吞吐量变化。
所述预定准则可以包括:确定足以维持所述多个数据流中的其它数据流的网络吞吐量。
所述方法还可以包括以下步骤:不考虑在客户端处缓存的数据量而以最大速率传输数据,其中所述预定准则包括按该最大速率确定的网络吞吐量。
所述数据流可被编码成根据该数据流中的先前画面而预测编码的多个画面的画面序列,所述数据流包括分布在所述画面序列中的预定时段中的量化源入口画面(access picture),其中,所述量化源入口画面的编码方法包括以下步骤:
将画面编码成预测画面;以及
如果在所编码的预测画面中没有指示关于画面面积的信息,那么当编码成量化源入口画面时,将量化器指数设置为细量化值。
附图说明
下面参照附图详细说明本发明的示例,其中:
图1是根据本发明实施例的音频-视频数据流式传输系统的示意图;
图2是图1的系统中所使用的视频编码层级的示意图;
图3是允许实现视频流之间的无失配切换的视频编码结构的示意图;
图4是适用于图1的系统的客户端-服务器结构的示意图;
图5a和图5b分别是示出标准TKPT传送分组结构和为本发明实现的对该结构的变型的示意图;以及
图6a-6c是示出包括适于存储用于本发明的数据的音频-视频数据流的数据结构的各个方面的示意图。
具体实施方式
图1是根据本发明实施例的音频-视频数据流式传输系统的示意图。
服务器10直接从编码器20或者从文件30接收编码多媒体内容,并且把这些内容提供给一个或更多客户端40-60。服务器10执行少量处理(即选择要向前传输的分组)来支持独立访问多个内容的多个客户端40-60。在服务器10中不执行媒体的编码或者译码。
原理上,服务器10对于来自编码器20的实时播送流(live stream)和来自文件30的预编码流都以相同的方式进行操作。在此具体实施例中,说明了实时播送媒体的流式传输。在随后的实施例中讨论流式传输媒体与预编码文件的不同。
服务器10包括多个环形缓冲区70-90。对于各个客户端40-60,有一个分组发送器100的实例。分组发送器100确定何时以及从缓冲区70-90中的哪一个读取下一个分组,读取所选分组并通过网络连接110将其发送到各个客户端。
需要从服务器10到各个客户端40-60建立半可靠网络连接110来确保几乎所有发送分组都能接收到,由此使对于用户感觉质量的干扰最小。因此在网络连接110的各个终端中使用缓冲区(120,130)以使得可以重传丢失的分组。还希望网络连接110是网络友好的,即,当没有发生拥塞时可以提高所使用的比特率,并且当发生拥塞时大幅度降低所使用的比特率。
虽然将系统组件示例并说明为集成和分立组件的组合,但是应意识到也可以使用不同的结构。例如,可以使用外部编码器20和/或文件存储器30。同样地,缓冲区130可以与客户端设备40-60形成一体。
图2是图1的系统中使用的视频编码层级结构的示意图。编码器20将实时播送或者存储的多媒体内容编码成弹性编码表示。将音频按低比特率编码成单个编码比特流,因此该音频本身是非弹性的。然而,由于音频所需的比特率一般比视频的低,因而如果以弹性方式对视频进行编码,那么可以将音频和视频的混合编码视为弹性的。
使用AMR(自适应多速率)编码器按4.8kbit/s对音频进行编码。将视频编码成弹性表示。编码器20以类似于分层的方式创建独立视频流的层级结构。此层级结构不是通过使各个流依赖于层级结构内所有较低的流来创建的,而是对各个流进行独立编码。这种层级结构是公知的,被称为“联播(simulcast)”。
虽然只说明了使用低比特率AMR方案来编码音频数据,但是也支持其它AMR编码速率和其它编码标准,如MP3。可以按与下面对于视频所述方式类似的方式将不同速率下的编码音频组织成独立流的层级结构,但是由于各个音频帧一般是独立编码的,所以编码表示之间的切换得到简化。
使用对ITU-T标准H.263的扩展所创建的视频层级结构包括:帧内流(intra stream)200,允许随机访问视频流;和一个或更多个播放流(playstream)210a、210b,用于内容的正常观看。以不同比特率对各个播放流210a、210b进行编码,由此使给定客户端40-60可以按适合于其与服务器10的当前网络连接110的速率接收这些播放流。该层级结构还包含切换流(switching stream)220、230、240,其允许从帧内流200到最低速率播放流210a的切换以及播放流之间的切换。
由于编码算法采用运动补偿预测,因而在播放流中的任意点处进行比特流间切换即便是可能的,也将由于不同比特流的相同时刻的重构帧之间的不匹配而导致视觉缺陷。这些视觉缺陷还将在一段时间中蔓延。
在当前的视频编码标准中,只有在将来帧/区域不使用当前切换位置(即,在入口画面处)之前的任何信息的位置处,才可以进行比特流之间的完美(无失配)切换。此外,通过以固定(如1秒)间隔放置入口画面,可获得VCR功能,例如用于流式传输视频内容的随机访问或者“快进”和“快退”(增加的回放速率)。用户可以跳过一部分视频并且在任何入口画面位置重新开始播放。类似地,通过只传输入口画面可以获得增加的回放速率,即快进。
然而,公知的是,入口画面所需要的比特比运动补偿预测帧的要多。因此,使用帧内流200和切换流220、230、240。切换流的主要属性是,即使使用不同的参考帧也可以获得相同的画面。
层级结构的主要用途是使服务器10将播放流210a或210b传输到客户端40-60,以实现以下两种操作之间的最佳平衡,第一种操作是在客户端40-60处构建接收数据的缓冲区以提供对分组丢失和网络吞吐量的突然下降的弹性应变,第二种操作是根据网络连接110瞬时支持的最高比特率将最佳播放流210a或210b提供给客户端40-60。
帧内流200是一系列帧内编码画面(201,202),其用于提供随机访问和从严重差错状况的恢复。播放流210a、210b包括预测编码画面(211a,212a,213a,214a,215a;211b,212b,213b,214b,215b),这些预测编码画面可以是双向预测的,并且可以根据多个参考画面来预测。播放流210a、210b还包括定期入口画面216a、217a;216b,217b。切换流220,230,240包括一系列链接画面(221,222;231,232;241,242)。
为各个流类型指定环形缓冲区70-92,为各条内容的各个帧内流(70)、播放流(80,85)和切换流(90,91,92)各指定一个缓冲区。
当客户端40首先与服务器10连接时,服务器10从存储帧内流的环形缓冲区70中找出合适的帧内画面(例如,帧内画面201),并将该画面发送到客户端40。然后服务器10选择链接画面(221)以从帧内流220切换到具有最低编码比特率的播放流210a,随后从该播放流开始提供服务(从213a开始)。
将分组传输到客户端40是一个独立的过程,其传输速率取决于网络状态和所使用的传输协议。然而,希望最初时传输速率大于具有最低编码比特率的播放流210a的编码比特率。这将使客户端40可以在接收到数据并进行解码的时刻立即开始解码并将媒体呈现给用户,同时使客户端40可以在其解码缓冲区中积累超出的压缩媒体数据。
在入口画面(例如以上示例中的入口画面217a)处,(例如,由于网络容量增加或减小)客户端40和/或服务器10可以确定更为合适的不同播放流。在上面的示例中,通过服务器10传输链接画面232而非入口画面217a来完成从低速率的播放流210a到较高速率的播放流210b的切换。链接画面232链接到较高速率播放流210b的播放流画面215b,以使客户端40接收该播放流。以类似的方式完成向比特率降低的播放流的切换。
已经研究出三种对链接画面进行编码的方法。各种方法提供了下面三者之间的不同折衷:由于切换而引起的偏移累积、实际切换的比特率方面的成本,以及由于对允许无偏移低比特率切换的常规类型画面进行编码而产生的对于单个播放流的质量的影响。
1、预测编码链接画面
在第一种方法中,将链接画面生成为预测画面。按如下方式对这些画面进行编码:在重构时,其与目的播放流中的同步入口画面的重构是相似的,例如,具有很小的均方差。可以将入口画面编码为预测画面。用于对链接画面进行编码的比特数确定了重构的链接画面与重构的入口画面之间的匹配度,并且由此确定了由于切换而产生的偏移量。然而,每次切换产生的偏移都将累积。
2、帧内编码链接画面
在第二种方法中,将链接画面生成为帧内画面。按如下方式对这些画面进行编码:在重构时,其与目的播放流中的同步入口画面的重构是相似的,例如,具有很小的均方差。可以将入口画面编码为预测画面。用于对链接画面进行编码的比特数确定了重构的链接画面与重构的入口画面之间的匹配度,并且由此确定了由于切换而产生的偏移量。然而,对于给定的不匹配量,帧内编码链接画面通常比预测编码链接画面需要更多比特数。对于链接画面使用帧内编码防止了偏移的累积。
3、量化源编码链接画面
在第三种方法中,通过基于以下文献中所述概念的技术对链接画面进行编码:VCEG-L27,A proposal for SP-frames,submitted by Marta,Karczewicz and Ragip Kurceren at the ITU-TelecommunicationsStandardization Sector Video Coding Experts Group’s Twelfth Meeting:Eibsee,Germany,9-12 January,2001,可在ftp://standard.pictel.com/video-site/处获得,本文将其称为量化源画面。
在图3中示出了用于量化源画面的编码结构。分别在步骤300和310中以相同的量化指数对源画面和运动补偿预测独立地进行量化,在步骤320中相减之前对它们进行转换,并在步骤330中对它们进行可变长度编码。通过在步骤340中将减法器320的输出与量化和转换310中的输出相加,并将在步骤350中对该结果进行逆变换和反量化来形成重构画面。将重构画面存储在画面存储器360中。结果,重构画面就是量化源画面,并且该重构画面不依赖于运动补偿预测。因此,当根据不同参考画面进行预测时,可以同样地重构给定的源画面,并由此可以实现无偏移切换。运动补偿预测不是非相关的,其减少了待进行可变长度编码的信号的熵,并且由此减小了由对画面进行编码而产生的比特数。
把入口画面也编码成量化源画面,并选择与链接画面相同的编码模式(帧内编码或帧间编码)选择和量化器选择。这确保了在目的端播放流中,该链接画面的重构与同步入口画面的重构一样。
对链接画面进行编码所需的比特数由对应的入口画面的编码来确定。用于对入口画面进行编码的比特数是根据如何进行量化来确定的,但是通常大于用于对预测画面进行编码的比特数并小于对帧内画面进行编码的比特数。这是因为使用了预测,该编码比帧内编码更为高效,但预测误差的量化使得其没有一般预测有效。由此,量化源画面的使用使得能够进行无偏移切换,但是代价是播放流的编码效率的降低。
通过与预测画面相同的H.263语法来编码量化源画面,但通过将MPPTYPE的前三位设置为保留值“110”来与预测画面相区别。
量化源画面的周期性编码可以导致画面的静态区域中的跳动效果(beating effect)。下面对其进行说明。在一般的预测编码中,不对已经编码为源画面的合理表示的画面静态区域进行修改。在编码量化源画面的这些区域时,必须对预测进行量化,并且如果通过用于画面的非静态区域的量化指数进行量化,则使区域发生变化,可能使其更糟,但是无论在什么情况下,都会使其产生变化。这种变化即为跳动效果。
通过下面的方式克服该跳动效果:当对于画面的一个区域的预测提供了足够好的源表示时,不需要传输信息,并且由此不会改变该区域。所以当把入口画面编码成量化源画面时,进行测试以确定:如果画面已经编码成预测画面而不是量化源画面,是否要传输关于该区域的信息。如果不传输信息,则将步骤300和310的量化和步骤350的反量化所使用的量化指数设定为较小的值,将减法器320的输出(通常称为预测误差)设定为零,由此该新重构画面的该区域等于利用细量化器进行了量化的先前重构画面的对应区域。在H.263和其它标准中,量化指数的范围从1(细量化)到31(粗量化)。较小的指数一般是指小于或等于8的值。这使重构画面的非必要变化最小,同时也使必须传输的信息量最小。然而,需要以对应链接画面中的比特率为代价,其中预测误差不可能为零,而且必须使用相同的细量化器。
图4是适于在图1的系统中使用的客户端-服务器结构的示意图。
客户端40包括网络缓冲区130、解码缓冲区41和解码器42。服务器10包括:上述环形缓冲区70、80、90;以及用于各个客户端的分组发送器100和网络缓冲区120。
客户端40将解码缓冲区41中的信息量和其接收数据的速率通知给服务器10。服务器10使用此信息来确定何时进行播放流之间的切换。例如,如果客户端40积累了一个阈值以上的数据,比方说解码缓冲区41中有15秒数据,而客户端40以大于或等于层级结构中的下一个更高速率播放流的编码速率的速率接收数据,则服务器10可以在下一个链接画面处将客户端的分组发送器100切换到下一个更高的播放流。
类似地,当由客户端40在其编码缓冲区41中所积累的数据量小于阈值时,服务器10可以在下一个链接画面处将客户端的分组发送器100切换到下一个较低的播放流。
总体效果为,根据网络的拥塞状态,传输速率以网络友好的方式变化,但是由于客户端解码缓冲区41中积累的数据,用户察觉不到因传输速率的短期改变造成的质量变化。通过切换到具有不同编码速率的流来应付传输速率的长期变化,从而当网络容许时提高质量,并当网络吞吐量下降时降低质量,而不必停止放映或者将破坏的媒体放映给用户。
客户端的解码缓冲区41用于降低网络性能变化对放映给用户的媒体质量的影响。将缓冲区所处理的网络特性分为三类:分组抖动、丢包和可变吞吐量。实际中这三种网络特性不是独立的,都与网络拥塞相关,并且在移动网络的情况下,与物理层的性能降低相关。
通过将传输速率与媒体编码率分开,当网络状况较好时可以填充客户端的解码缓冲区41,从而当网络状况不太好时提供复原时间。
解码缓冲区41中的数十秒数据的积累向用户掩盖了相同量级的分组抖动(延迟变化)。实际中,由于将更大的抖动分类为暂时连接中断(由下面的差错恢复处理来应对),所以这种数据积累将屏蔽掉所有的分组抖动。
通过在解码缓冲区41中积累数据,为在需要对丢失的分组进行解码之前重传丢失分组提供了时间。同样地,通过设计解码器缓冲区41的大小来使其包含的数据可多于多个往返延迟所传输的数据,为少量重传提供时间以从丢包状态中恢复。这使得能够从大部分丢包情况恢复,而不影响已解码的媒体质量,并使连接具有半可靠性。
最后,同样通过在解码缓冲区41中积累数据,当接收比特率小于编码比特率时或者当接收速率降为零时,客户端40可以使媒体质量在一段时间内保持一致。
由于以独立于编码速率的速率将数据流式传输到客户端40并存储在解码缓冲区41中,所以有必要对数据解码进行正确定时,而不是简单地解码并尽快放映。为此目的使用时标,该时标也可用于音频和视频的同步。
由于网络变化,以字节为单位测量的客户端的解码缓冲区41中的数据量可能随时间变化。另外,根据数据量所表示的媒体放映时间的长度所测量的解码缓冲区41中的数据量也会随时间变化。对于实时播送内容的流式传输这意味着:如果将第一数据以最小延迟(从捕获该第一数据并对其编码的时刻起算)发送到客户端40,则数据不可能填充解码缓冲区41。因此,发送到客户端40的第一数据必须为旧数据,即,该数据代表客户端40与服务器10相连之前的某一时间所发生的事件。然后随着解码缓冲区41的填充,该缓冲区41中的最新数据变得越来越新,同时放映给用户的媒体根据事件发生的实际时间保持固定延迟。
在编码之后,服务器将编码数据在其环形缓冲区70、80、90中缓冲一段固定的时间,以使得当客户端40与服务器10相连时,可以将‘旧’数据传输给客户端40。随着客户端解码缓冲区41的填充,从环形缓冲区70、80、90中读出数据的点越来越接近这些缓冲区中的最新数据。
优选地,环形缓冲区70、80、90以及客户端解码缓冲区41的最佳大小使得各个缓冲区可以包含相同的数据量(以该数据所表示的媒体放映时间来测量)。
实现半可靠数据连接的传输协议使用分别在服务器10和客户端40中的网络缓冲区120、130。通常,数据被保留在服务器的网络缓冲区120中,直到确认客户端40已经接收到该数据和之前的所有数据。类似地,当该数据和之前的所有数据已经被接收并被传送到解码缓冲区41时,从客户端的网络缓冲130中删除该数据。从而,服务器10在单向传输延迟限定的时间中获知保留在其自己的网络缓冲区120中的数据,从而获知哪些数据已被客户端40成功地接收。
这意味着不需要为服务器10提供超出传输协议本身需要的从客户端40到服务器10的反馈,服务器10即可获知客户端40接收了多少数据,从而可以确定播放流之间的切换。
客户端的解码缓冲区41中的数据积累能够恢复一些网络故障,例如抖动、丢包和可变吞吐量。显而易见,不可能从所有网络故障中恢复,除非将解码缓冲区41设计为包含整个媒体内容并且直到接收了所有数据时才开始放映。由于这种情况不是流式传输,而是下载,所以需要一种从严重网络故障中得到恢复的策略。
当网络吞吐量下降,并在相当长的时间内低于最低速率播放流的编码速率时,解码缓冲41中的数据量将降低,并且最终变为零。此时,将停止向用户的放映。然而,在服务器10中将继续填充环形缓冲区。结果,当网络恢复到可以重新传输最低速率的播放流时,客户端40所需的下一个数据很可能已不在服务器的环形缓冲70、80、90中,因为该数据可能已被更新的数据所覆盖。
为了从这种情况中恢复,服务器10必须重新开始流式传输,就像从客户端建立了一个新的连接一样:服务器10必须找到帧内流中的一点,并从该点开始流式传输,然后通过链接流切换到最低速率播放流。对于用户的影响为漏失了从解码缓冲区41变为空到当服务器开始传送该帧内流时这段时间内的媒体。
因为服务器10知道客户端何时开始解码以及已经成功接收了多少数据,其将获知客户端的解码缓冲区41是否变空。因此,可以在帧内流画面处重新开始,而不需从客户端获得特殊的消息。然而,为了进行系统复原,例如从服务器和客户端的不同时钟速率中恢复,在这种情况下从客户端40向服务器10发送控制消息。
原理上,从文件的流式传输与实时播送流式传输相同。实际上,前者更为简单。由于当需要时可以从文件中读取数据,所以不需要设立环形缓冲70、80、90。然而,服务器10使用相同的技术来填充客户端40的解码缓冲区41并在播放流之间切换。在解码缓冲区41变空的情况下,不需要在与带有帧内流画面的内容中的随后点重新开始,因为当网络吞吐量重新变得充分时可以继续放映:用户只会在一段时间内察觉到没有媒体放映。
使用帧内流可以实现多种技巧模式,如快进、快退和随机访问。
通过在覆盖环形缓冲区70、80、90中的‘旧数据’之前将其写入文件,由于总可以得到用于流式传输到客户端的数据(只能从文件而不是从环形缓冲区70、80、90中读取),因而可以避免上述的解码缓冲区41变空、用户漏失利用帧内流画面进行恢复之前的内容的问题。
该功能还使得客户端可以暂停所放映媒体一段不确定的时间,并随后继续流式传输。这还使得用户可以在该暂停之后进行快进以跟上实时播送流。
上述客户端-服务器结构中所测试的传输协议的实现是基于ISO TCP传输协议TPKT的,该协议在由Y.Pouffary所著的RFC-2126“ISOTransport Service on top of TCP(ITOT)”中有详细说明。
标准TPKT协议定义了如图5a所示的报头,随后是净荷。分组长度表示以八位字节为单位的报头和净荷的组合长度。
在用于本发明的实现中,扩展了TPKT的报头(在图5b中示出了该报头的示例),随后为净荷。分组长度表示以八位字节为单位的报头、时标(如果存在)和净荷的组合长度。T为表示是否存在时标的位,M为表示净荷是否包含音频或视频信息的位。
如上所述,需要时标来进行数据解码的正确定时。嵌入分组报头的信息包括分组长度、分组中数据的时标和流标号。
设置流标号以使得可将音频和视频复用到单个TCP连接中。这确保了音频和视频传输的同步。如果使用分立的多个TCP连接,则可能这些连接对于网络特性的响应略有不同,并且将产生不同的吞吐量,这将最终导致客户端解码缓冲区中的数据量(以放映时间来测量)的极大不同。虽然可以对这些不同进行管理,但是通过使用单个TCP连接并将同一放映时间的音频和视频复用在相邻分组中可完全避免该问题。事实上,向只有视频的系统中添加音频只需要与关联的视频同时发送音频分组:不需要另外的控制。
服务器10试图尽可能快地发送分组。最初时,一个接一个地发送多个分组而不考虑网络容量,因为这些分组只是填充服务器的网络缓冲区120。当网络缓冲区120变满时,因对套接字发送功能的调用受到阻塞而限制了传输处理,分组发送到网络缓冲区120的速率与网络上的传输速率相一致。
当存储在客户端的数据量到达一个阈值(例如30秒)时也可以限制传输速率。当客户端的解码缓冲区41具有此数据量时,服务器10限制传输速率以保持此充满程度。
通过对已经发送到网络缓冲区120的字节进行计数、从该计数中减去网络缓冲区的大小、并除以从开始传输起经过的时间,来估算网络吞吐量。使用所传输字节的两次计数以及发送这些字节所需时间的两次测量、根据一对数据计算吞吐量、然后周期性地将不再使用的对重设为零,并在其间切换,来计算网络吞吐量的短期估算。例如,如果每200秒进行一次重新设置,则在从重设之后的200秒到再次重设之前的40秒这个范围之内变化的一个时间段上估计网络的吞吐量。
如果服务器10想要尽快地进行流式传输则该技术的效果是令人满意的。但是如上所述,当解码缓冲区41中的数据量超过阈值时,服务器10限制其传输速率以保持恒定的缓冲区充满状态。在这种情况下,将网络吞吐量估计为当前播放流的编码比特率。当在此状态中时,网络能够传输比当前流式传输的播放流速率更高的播放流,但是因为服务器10由于其自身的速率限制不能对网络吞吐量进行真实估计,所以服务器10不能进行切换。为了避开此状态,服务器定期地忽略客户端解码缓冲区的充满阈值,并在给定的时间段内或者对于给定的数据量以全速率进行流式传输。从网络缓冲区120变满时起,服务器10记录发送到网络缓冲区120的字节数和所用的时间,该时间由发送函数的阻塞调用来检测。然后服务器10估算可实现的吞吐量,并使用该吞吐量来确定是否要切换到更高速率的播放流。
如前所述,通过获知保存在网络缓冲区120中的数据,服务器10能够间接获知客户端40接收了哪些数据,以及哪些数据被传送到其解码缓冲区41中。然后使用此信息来确定何时在播放流之间进行切换,以及何时激活差错恢复过程。然而,在大多数套接字实现中并不支持服务器的网络缓冲区120的内容和充满度的可见性。为了监控网络缓冲120的内容,采用了镜像(mirror)缓冲区120a。镜像缓冲区120a不存储发送到网络缓冲区120的实际数据,而只存储所发送的字节数和数据的时标。在已知网络缓冲区120的大小并假设其始终充满的情况下,服务器10通过镜像缓冲区120a来访问网络缓冲区120中的最旧数据的时标,该时标与客户端的解码缓冲区41中的最新数据的时标相同。
在测试中,已发现服务器10的网络缓冲区120始终充满这一假设在大部分时候是正确的。这是因为对传输过程进行了控制以尽快发送到网络缓冲区120。如果网络缓冲区120变得不再充满,则影响为低估客户端40的数据量,该影响大部分情况下是安全的,这是因为主要问题是客户端40的数据用尽,而不是溢出。实际上,可以将解码缓冲区41设计得比需要存储的最大数据流还要大。无论在什么情况下,如果解码缓冲区41变满,则客户端40停止从网络缓冲区130读取数据,这将反过来阻止服务器网络缓冲区120变空,并停止传输。
为了确定客户端解码缓冲区41中的确切数据量,服务器还需要获知客户端当前正在解码和放映的数据分组的时标。服务器10基于两个假设来计算确切数据量:第一,客户端40在服务器10发送第一个分组之后立即开始解码;第二,在流式传输期间客户端的时钟与服务器的时钟无显著偏差。
实际上两个假设都是有效的。将客户端40设计为一旦接收到数据立即开始解码,从而关于服务器所估算的放映时间的任何错误都将导致对解码缓冲区41中的数据量的低估,如上所述这并不是问题。与被缓冲的数据量相比,在一般流式传输会话过程中的客户端和服务器时钟之间的偏移是可以忽略的。例如,假如偏差为百万分之100的差别,则要花10000秒或者接近三个小时才能发生一秒钟偏移。在累积了大量偏移的极少数情况下,客户端40可以通过使用控制消息,如前述所发送的用于解码缓冲区下溢的消息,来向服务器10告警。
服务器10最初以最低比特率对播放流进行流式传输,以使客户端40解码并立即向用户放映媒体,同时还增加了解码缓冲区41中的数据量以从网络故障中恢复。如果网络具有足够能力来支持更高速率的播放流的传输,则服务器10应该在适当的时刻切换到更高速率的播放流来进行流式传输。
有很多种可能的策略可用于确定何时切换到更高速率的播放流。优选地,客户端40应当在其解码缓冲区41中具有足够的数据以能够在预定时间(例如15秒)内继续解码和放映媒体。优选地,例如在最近60秒中测量的最近达到的网络吞吐量应该足以维持要切换到的播放流的流式传输;即,最近达到的网络吞吐量速率应该大于或等于播放流的比特率。目的是避免流之间的频繁切换,因为对于用户而言该切换可能比较低速率的恒定质量更为令人讨厌。
为了实现此目的,优选地,向下切换(switching down)决定包括与向上切换(switching up)决定成比例的滞后。例如,当客户端40在其解码缓冲区41中不再具有足够的数据以将解码和媒体放映持续一段时间(例如8秒)时,可能触发向下一个更低速率的播放流的向下切换。在具有三个或者更多个播放流的结构中,并且当前流传输的播放流为第三或者甚至更高的速率播放流,此策略不会导致立即降到层级底层,因为入口画面只是定期发生的,并且希望在第一次向下切换之后恢复到解码缓冲区的充满状态,从而不必进行第二次切换。
图6a-6c是示出用于存储适用于本发明的音频-视频数据源的数据结构的各个方面的示意图。
图6a所示的主数据结构使得可以在单个文件中存储多个音频播放流、一个帧内视频流、和多个视频播放和切换流。
由于本发明中所创建和使用的音频视频数据源具有可一次传输到客户端的多个编码流,所以不可能在传统的顺序文件中进行存储。例如,对于视频,可以在各个播放流中对具体的源画面进行编码,并且还可以在帧内流和一些或者全部切换流中进行编码。
该文件包含一种数据结构,在图6a中示出了该数据结构的示例,随后是流数据。该数据结构包括报头600,其包含关于流(音频、视频、切换等)的数目和类型的信息。对于各种类型的流的第一个和最后一个实例,该数据结构还包括指向各个流的报头的指针610-680(以相对于文件起始位置的偏移量表示)。
每个指针620-680指向包括流报头700的流数据结构,该流报头700包含指向同一类型的下一流报头的指针710、分别指向流的第一个和最后一个分组的指针720、730。每个流类型使用特定的流报头类型,然而对于所有流报头类型某些元素是相同的:流标号705、指向相同类型的下一流报头的指针710、以及分别指向该流的第一个和最后一个分组的指针720、730。在图6b中示出了只包含这些共同元素的示例流报头。播放和音频流报头还包含该流的编码比特率。切换流报头包含该切换流可以切换自的播放流的流标号和可以切换到的播放流的流标号。
每个流包括一个分组序列,各个分组由分组数据结构表示,该分组数据结构的示例示出在图6c中。每个分组数据结构包括分组报头800和净荷810。报头包括的数据包括指向流中下一分组的指针801、时标802、分组序号803、分组大小804、以及帧号805(即,该分组(可能和其它分组一起)表示的视频画面或者音频帧的序号)。切换分组另外还包含“from”播放流和“to”播放流(切换分组在两者之间进行比特率切换)中的分组序号。切换流分组报头有效地限定了切换点,并且包含切换前要从“from”流播放的最后一个分组的序号以及切换后来自“to”流的要播放的第一个分组的序号。序号从0开始,并且不为负。在切换时,可以使用指针来支持流之间的引导,不过在本特定实施例中没有采用此方法。
在向文件中添加时,指向最后一个流数据结构和最后一个分组的指针是很有用的,因为利用这些指针可以迅速访问文件要进行扩展的点,而不需要搜索整个文件。
数据结构的复杂度取决于相互交织的可能很多流中的分组,以及支持切换和恢复的需要。需要通过指针来从一个分组导向另一分组,因为在流中连续的分组通常在文件中并不是连续存储的。切换和恢复分组的写入操作需要被记录的源和目的分组的精确细节。回放过程中流间的切换首先需要识别下一可用切换分组的标识,紧随其后是“from”流中的剩余分组的回放,切换分组的回放,然后是从适当的点开始回放“to”流中的分组。此外当进行流间切换时必须没有可感知的延迟。
在测试中,使用BTCellnetTM GPRS网络对基于文件的流和实时播送流的情况进行了研究。使用台式奔腾(Pentium)PC来运行解码器和服务器。客户端为通过红外线与Motorola TimeportTM GPRS移动电话相连的Compaq iPaqTM
在只有视频的结构中,使用两种切换流,其比特率分别为6kbit/s和12kbit/s。
该系统如所期望地运行。从帧内流开始传输,然后切换到6kbit/s播放流,在该播放流停留一段时间,因实际传输速率大于6kbit/s,因而在客户端积累了数据。然后当积累了足够的数据时,并且短期平均接收速率大于12kbit/s时,切换到更高速率的播放流。
在长期会话过程中,有时会由于网络吞吐量的下降而切换回较低速率的播放流。并且极少会由于相当一段时间内网络不能向客户端发送数据而中断媒体放映。
对于大部分会话都具有此整体效果,用户可以观看连续的媒体放映,偶尔有质量变化,但是没有通常与误码和丢包相关联的失真。只有极少情况下,才会由于严重的网络故障和吞吐量的降低而使媒体放映完全暂停。

Claims (28)

1、一种数据流式传输系统,包括服务器(10),其被配置成向客户端(40,50,60)流式传输多个编码数据流中的一个,所述多个数据流中的每个数据流都是按与所述多个数据流中的其它数据流不同的分辨率编码的公共数据源的独立表示,所述服务器(10)包括一发送器(100)和一第一缓冲区(120),所述发送器(100)被配置成通过所述第一缓冲区(120)向所述客户端(40,50,60)传输所述编码数据流的数据分组,其中,所述发送器(100)被配置成,对所述第一缓冲区(120)的内容进行监控,并且在从所述第一缓冲区(120)中检测到预定准则的情况下,进行切换以传输所述多个数据流中的另一数据流。
2、如权利要求1所述的系统,其中,所述发送器(100)被配置成根据所述第一缓冲区(120)的内容来确定在所述客户端(40,50,60)处缓存的数据量,其中,所述预定准则包括确定要在所述客户端处缓存的数据的预定级。
3、如权利要求2所述的系统,其中,在所述客户端(40,50,60)确认接收到数据分组时,将该数据分组从所述第一缓冲区(120)中删除。
4、如权利要求3所述的系统,其中,所述发送器(100)被配置成,根据从所述第一缓冲区(120)中删除的最近的数据分组和对由所述客户端(40,50,60)所解码的分组数目的估计,来确定在所述客户端(40,50,60)处缓存的数据量。
5、如前述任一权利要求所述的系统,其中,所述第一缓冲区(120)包括一镜像缓冲区(120a),其用于存储关于所述第一缓冲区(120)中的分组的数据,所述发送器(100)被配置成,利用该镜像缓冲区(120a)中的数据来监控所述第一缓冲区(120)的内容。
6、如前述任一权利要求所述的系统,其中,利用扩展TPKT协议来向所述客户端(40,50,60)传输数据分组,该数据分组包括一报头,该报头包含一解码时标和一数据流标号。
7、如前述任一权利要求所述的系统,还包括多个发送器(100),每个发送器(100)通过相应的第一缓冲区(120)与相应的客户端(40,50,60)进行通信,以传输依据相应的预定准则所确定的所述多个数据流中的一个。
8、如前述任一权利要求所述的系统,其中,所述数据流是编码视频数据。
9、如权利要求8所述的系统,其中,所述发送器(100)被配置成在数据分组的传输中对音频分组和视频分组进行多路传输。
10、如权利要求9所述的系统,其中,相邻的音频分组和视频分组表示用于在基本上相同时刻表示的音频和视频信息。
11、如权利要求1到7中的任何一项所述的系统,其中,所述数据流是编码音频数据。
12、如前述任一权利要求所述的系统,其中,所述分辨率是所述数据的编码比特率。
13、如前述任一权利要求所述的系统,其中,所述服务器(10)包括一编码器(20),其被配置成接受馈送的数据并且将所馈送的数据编码成多个编码数据流。
14、如权利要求13所述的系统,还包括多个缓冲区(70,80,90),其中,所述编码器(20)被配置成将每个编码数据流输出到所述多个缓冲区(70,80,90)中的相应缓冲区中,所述发送器(100)被配置成从所述多个缓冲区中的相应缓冲区中获得用于各数据流的数据分组。
15、如前述任一权利要求所述的系统,其中,所述服务器(10)包括一用于存储所述多个编码数据流的文件源(30)。
16、一种数据流式传输系统,包括客户端和服务器,所述服务器(10)被配置成向所述客户端(40,50,60)流式传输多个编码数据流中的一个,所述多个数据流中的每个数据流是按与所述多个数据流中的其它数据流不同的分辨率编码的公共数据源的独立表示,所述服务器(10)包括一发送器(100)和一第一缓冲区(120),而所述客户端(40,50,60)包括一接收缓冲区(130),其中,所述发送器(100)被配置成通过所述第一缓冲区(120)向所述客户端(40,50,60)传输所述编码数据流的数据分组,其中,所述客户端(40,50,60)被配置成将所接收到的数据分组存储在所述接收缓冲区(130)中,并向所述服务器(10)确认已接收,其中,所述发送器(100)被配置成在接收到接收确认时从所述第一缓冲区(120)中删除分组,所述发送器(100)被配置成在预定准则得到满足的情况下切换到所述多个数据流中的另一数据流,所述预定准则包括对所述第一缓冲区(120)的内容的分析。
17、如权利要求16所述的系统,其中,所述分组包括分组序列数据,所述客户端(40,50,60)被配置成基于该序列数据来请求重新传输未接收到的分组,所述服务器(10)被配置成在接收到一重新传输请求时从所述第一缓冲区(120)重新传输分组。
18、一种用于向客户端流式传输多个编码数据流中的一个的方法,所述多个数据流中的每个数据流都是按与所述多个数据流中的其它数据流不同的分辨率编码的公共数据源的独立表示,该方法包括以下步骤:
通过第一缓冲区向所述客户端传输所述编码数据流的数据分组;
对所述第一缓冲区的内容进行监控;以及
在从所述第一缓冲区检测到预定准则的情况下,进行切换以传输所述多个数据流中的另一数据流。
19、如权利要求18所述的方法,其中,所述多个数据流被各按不同的比特率进行编码,所述方法还包括以下步骤:最初时传输最低比特率数据流的数据分组。
20、如权利要求18或19所述的方法,其中,所述预定准则包括确定要在客户端缓存的数据量。
21、如权利要求18、19或20所述的方法,其中,所述预定准则包括一个或更多个网络吞吐量阈值。
22、如权利要求21所述的方法,其中,通过以下步骤来计算网络吞吐量:
对传入所述第一缓冲区的字节数进行计数;
将所述第一缓冲区的大小减去所计数的字节数;以及
将所述结果除以自传输开始起的时间。
23、如权利要求22所述的方法,还包括以下步骤:在一个以上的时间间隔中测量网络吞吐量以确定吞吐量变化。
24、如权利要求22或23所述的方法,其中,所述预定准则包括:确定足以维持所述多个数据流中的其它数据流的网络吞吐量。
25、如权利要求22到24中的任何一项所述的方法,还包括以下步骤:不考虑在客户端处缓存的数据量而以最大速率传输数据,其中所述预定准则包括按该最大速率确定的网络吞吐量。
26、如权利要求18到25中的任何一项所述的方法,其中,所述数据流被编码成根据该数据流中的先前画面而预测编码的多个画面的画面序列,所述数据流包括分布在所述画面序列中的预定时段中的量化源入口画面,其中,所述量化源入口画面的编码方法包括以下步骤:
将画面编码成预测画面;以及
如果在所编码的预测画面中没有指示关于画面面积的信息,那么当编码成量化源入口画面时,将量化器指数设置为细量化值。
27、一种计算机程序,包括计算机程序代码装置,其用于当在计算机上运行时,执行权利要求17到24中的任何一项的步骤。
28、如权利要求27所述的计算机程序,其被具体实现在计算机可读介质上。
CN03807048A 2002-03-27 2003-03-27 数据流式传输系统和方法 Expired - Lifetime CN100581158C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02252224A EP1359722A1 (en) 2002-03-27 2002-03-27 Data streaming system and method
EP02252224.7 2002-03-27

Publications (2)

Publication Number Publication Date
CN1643875A true CN1643875A (zh) 2005-07-20
CN100581158C CN100581158C (zh) 2010-01-13

Family

ID=28459568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03807048A Expired - Lifetime CN100581158C (zh) 2002-03-27 2003-03-27 数据流式传输系统和方法

Country Status (8)

Country Link
US (2) US8135852B2 (zh)
EP (3) EP1359722A1 (zh)
JP (1) JP4426316B2 (zh)
KR (1) KR100966447B1 (zh)
CN (1) CN100581158C (zh)
AU (1) AU2003227854A1 (zh)
CA (1) CA2479231C (zh)
WO (1) WO2003084172A1 (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252685B (zh) * 2008-02-22 2011-04-27 华为技术有限公司 解码方法及装置
CN102077529A (zh) * 2008-07-04 2011-05-25 松下电器产业株式会社 流通信装置、流通信方法以及流通信系统
CN102291599A (zh) * 2011-05-07 2011-12-21 董友球 网络视频播放方法及网络视频播放装置
CN103139188A (zh) * 2011-12-05 2013-06-05 中国电信股份有限公司 流媒体传输方法与系统
CN101313536B (zh) * 2005-09-29 2013-06-05 高通股份有限公司 视频电话的视频包成形
CN103155580A (zh) * 2010-09-02 2013-06-12 英国电讯有限公司 不同质量级别的自适应视频流
CN103843301A (zh) * 2011-10-05 2014-06-04 高通股份有限公司 经译码多媒体数据的网络串流期间的表示之间的切换
CN103997434A (zh) * 2014-05-21 2014-08-20 华为技术有限公司 网络传输状况的探测方法和相关设备
CN102318311B (zh) * 2009-02-12 2016-03-30 英国电讯有限公司 多视频流传输中的带宽分配控制方法
CN107430545A (zh) * 2015-01-29 2017-12-01 信号公司 从仪器化软件接收的数据流的实时处理
CN107431666A (zh) * 2015-03-23 2017-12-01 思科技术公司 用于在数据中心网络环境中实现低时延的技术
CN107615212A (zh) * 2015-05-20 2018-01-19 国际商业机器公司 通过一个或多个主机计算设备的多个通道接收用于将数据传输到控制单元的缓冲区信用
CN107979783A (zh) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
CN109792562A (zh) * 2016-09-26 2019-05-21 杜比实验室特许公司 视频数据的基于内容的流分割
CN110557436A (zh) * 2019-07-31 2019-12-10 视联动力信息技术股份有限公司 一种数据传输方法、装置、电子设备和存储介质
CN111510720A (zh) * 2020-04-24 2020-08-07 深圳市即构科技有限公司 实时流媒体数据的传输方法、电子装置及服务器
CN112996044A (zh) * 2021-02-03 2021-06-18 深圳震有科技股份有限公司 一种5g通信虚拟化网元网络拥塞的控制方法和系统
CN113366456A (zh) * 2019-01-31 2021-09-07 日本电气株式会社 数据中继设备、方法、传送系统和程序

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US9038108B2 (en) 2000-06-28 2015-05-19 Verizon Patent And Licensing Inc. Method and system for providing end user community functionality for publication and delivery of digital media content
ES2331111T3 (es) * 2000-11-29 2009-12-22 British Telecommunications Public Limited Company Transmision y recepcion de datos en tiempo real.
US8990214B2 (en) * 2001-06-27 2015-03-24 Verizon Patent And Licensing Inc. Method and system for providing distributed editing and storage of digital media over a network
US20070133609A1 (en) * 2001-06-27 2007-06-14 Mci, Llc. Providing end user community functionality for publication and delivery of digital media content
US7970260B2 (en) * 2001-06-27 2011-06-28 Verizon Business Global Llc Digital media asset management system and method for supporting multiple users
US8972862B2 (en) * 2001-06-27 2015-03-03 Verizon Patent And Licensing Inc. Method and system for providing remote digital media ingest with centralized editorial control
US20050021830A1 (en) * 2001-09-21 2005-01-27 Eduardo Urzaiz Data communications method and system using buffer size to calculate transmission rate for congestion control
US20050021821A1 (en) * 2001-11-30 2005-01-27 Turnbull Rory Stewart Data transmission
EP1488645B1 (en) * 2002-03-27 2010-12-01 BRITISH TELECOMMUNICATIONS public limited company Video coding and transmission
JP4440651B2 (ja) * 2002-03-27 2010-03-24 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー データストリーミングシステムのためのデータ構造
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
GB0306296D0 (en) * 2003-03-19 2003-04-23 British Telecomm Data transmission
US7844727B2 (en) * 2003-04-24 2010-11-30 Nokia Corporation Method and device for proactive rate adaptation signaling
US8291062B2 (en) 2003-08-20 2012-10-16 Aol Inc. Managing access to digital content sources
FR2863130A1 (fr) * 2003-12-01 2005-06-03 Thomson Licensing Sa Dispositif et procede de preparation de donnees d'emission et produits correspondants
KR100715667B1 (ko) 2003-12-16 2007-05-09 한국전자통신연구원 미디어 게이트웨이 시스템에서 멀티캐스트 방식을 이용한스트림 분기 장치 및 방법
WO2005064945A1 (en) * 2003-12-22 2005-07-14 Koninklijke Philips Electronics N.V. Method of transmitting content with adaptation of encoding characteristics
CN1914922B (zh) 2004-01-28 2012-03-14 日本电气株式会社 内容的编码、分发及接收的方法、装置、系统
KR100624786B1 (ko) * 2004-01-29 2006-09-19 엘지전자 주식회사 무선 네트워크망을 통해 통신하는 서버 시스템
GR1004813B (el) * 2004-03-10 2005-02-11 Μιχαηλ Χαριτακης Αποστολη μεσω διαδικτυου κινουμενης εικονας και ηχου (βιντεομηνυματα)
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US7707614B2 (en) 2004-06-07 2010-04-27 Sling Media, Inc. Personal media broadcasting system with output buffer
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US7769756B2 (en) * 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US7675872B2 (en) * 2004-11-30 2010-03-09 Broadcom Corporation System, method, and apparatus for displaying pictures
US20060176832A1 (en) * 2005-02-04 2006-08-10 Sean Miceli Adaptive bit-rate adjustment of multimedia communications channels using transport control protocol
GB0506059D0 (en) * 2005-03-24 2005-05-04 Ibm Methods and apparatus for switching between data streams
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US8401869B2 (en) 2005-08-24 2013-03-19 Image Stream Medical, Inc. Streaming video network system
US8218657B2 (en) * 2005-09-02 2012-07-10 Netgear, Inc. System and method for automatic adjustment of streaming video bit rate
US9401080B2 (en) 2005-09-07 2016-07-26 Verizon Patent And Licensing Inc. Method and apparatus for synchronizing video frames
US9076311B2 (en) 2005-09-07 2015-07-07 Verizon Patent And Licensing Inc. Method and apparatus for providing remote workflow management
US8229983B2 (en) * 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
US8670437B2 (en) * 2005-09-27 2014-03-11 Qualcomm Incorporated Methods and apparatus for service acquisition
KR100825737B1 (ko) * 2005-10-11 2008-04-29 한국전자통신연구원 스케일러블 비디오 코딩 방법 및 그 코딩 방법을 이용하는코덱
ATE482584T1 (de) * 2006-01-06 2010-10-15 Alcatel Lucent Verfahren zur bereitstellung von daten und datenübertragungssystem
US20070294423A1 (en) * 2006-06-14 2007-12-20 Comverse, Inc. Multi-Client Single-Session Media Streaming
JP4707623B2 (ja) * 2006-07-21 2011-06-22 富士通東芝モバイルコミュニケーションズ株式会社 情報処理装置
US20080040453A1 (en) * 2006-08-11 2008-02-14 Veodia, Inc. Method and apparatus for multimedia encoding, broadcast and storage
US20080062322A1 (en) * 2006-08-28 2008-03-13 Ortiva Wireless Digital video content customization
US8606966B2 (en) * 2006-08-28 2013-12-10 Allot Communications Ltd. Network adaptation of digital content
US7743161B2 (en) * 2006-10-10 2010-06-22 Ortiva Wireless, Inc. Digital content buffer for adaptive streaming
US20080091838A1 (en) * 2006-10-12 2008-04-17 Sean Miceli Multi-level congestion control for large scale video conferences
WO2008061211A2 (en) * 2006-11-15 2008-05-22 Qualcomm Incorporated Systems and methods for applications using channel switch frames
US7996550B2 (en) * 2006-11-30 2011-08-09 Red Hat, Inc. Peer-to-peer download with quality of service fallback
GB0706424D0 (en) 2007-04-02 2007-05-09 British Telecomm Video streaming
US7827299B2 (en) * 2007-09-11 2010-11-02 International Business Machines Corporation Transitioning between historical and real time data streams in the processing of data change messages
US8504129B2 (en) 2007-12-11 2013-08-06 Tokitae Llc Systems, devices, and methods including enhanced dark field detection of hemozoin nanoparticles
WO2009114557A1 (en) * 2008-03-10 2009-09-17 Vidyo, Inc. System and method for recovering the decoding order of layered media in packet-based communication
EP2101503A1 (en) 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
US7774488B2 (en) 2008-03-12 2010-08-10 International Business Machines Corporation Method and system for switching media streams in a client system based on environmental changes
US7779140B2 (en) * 2008-03-14 2010-08-17 International Business Machines Corporation Method and system for switching media streams in a client system as directed by a control system
US9083474B2 (en) * 2008-04-25 2015-07-14 Qualcomm Incorporated Multimedia broadcast forwarding systems and methods
US8638810B2 (en) * 2008-04-25 2014-01-28 Qualcomm Incorporated Multiradio-database systems and methods
US8488661B2 (en) * 2008-06-13 2013-07-16 Verizon Patent And Licensing Inc. Systems and methods for data streaming
US9076484B2 (en) 2008-09-03 2015-07-07 Sandisk Technologies Inc. Methods for estimating playback time and handling a cumulative playback time permission
WO2010045109A1 (en) * 2008-10-17 2010-04-22 Azuki Systems, Inc. Method and apparatus for efficient http data streaming
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
JP2012523185A (ja) * 2009-04-07 2012-09-27 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ランダムアクセスの方法およびその装置
US8547941B2 (en) * 2009-04-16 2013-10-01 Qualcomm Incorporated Apparatus and method for improving WLAN spectrum efficiency and reducing interference by flow control
US9014545B2 (en) 2009-07-24 2015-04-21 Netflix, Inc. Adaptive streaming for digital content distribution
US8631455B2 (en) 2009-07-24 2014-01-14 Netflix, Inc. Adaptive streaming for digital content distribution
SG172507A1 (en) * 2010-01-04 2011-07-28 Creative Tech Ltd A method and system for distributing media content over a wireless network
CA2786812C (en) 2010-01-18 2018-03-20 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for supporting playout of content
US9044141B2 (en) 2010-02-10 2015-06-02 Tokitae Llc Systems, devices, and methods including a dark-field reflected-illumination apparatus
US8781184B2 (en) 2010-02-10 2014-07-15 Tokitae Llc Systems, devices, and methods for detection of malaria
EP2534837A4 (en) * 2010-02-12 2014-08-27 Lightspeed Vt Llc SYSTEM AND METHOD FOR PROVIDING A REMOTE PRESENTATION
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
KR101701742B1 (ko) * 2010-06-24 2017-02-02 삼성전자주식회사 이동통신 단말기 간 실시간 스트리밍을 위한 장치 및 방법
WO2012001339A1 (en) 2010-06-30 2012-01-05 British Telecommunications Public Limited Company Video streaming
US20120081601A1 (en) * 2010-07-05 2012-04-05 Ubiquity Holdings Video over Internet to Multiple Display Devices
US9307262B2 (en) * 2011-01-13 2016-04-05 Texas Instruments Incorporated Methods and systems for facilitating multimedia data encoding utilizing configured buffer information
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
JP2012222530A (ja) * 2011-04-06 2012-11-12 Sony Corp 受信装置及び方法、並びにプログラム
US8730930B2 (en) * 2011-05-31 2014-05-20 Broadcom Corporation Polling using B-ACK for occasional back-channel traffic in VoWIFI applications
CN103650375B (zh) 2011-07-06 2017-05-03 Sk 普兰尼特有限公司 基于多播的内容传输系统和方法以及用于高速地估算运动的设备和方法
KR101931653B1 (ko) * 2011-07-06 2018-12-21 에스케이플래닛 주식회사 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법
CN103166995B (zh) * 2011-12-14 2016-08-10 华为技术有限公司 一种视频传输方法及装置
US8854958B2 (en) * 2011-12-22 2014-10-07 Cygnus Broadband, Inc. Congestion induced video scaling
CN103188236B (zh) * 2011-12-30 2015-12-16 华为技术有限公司 媒体传输质量的评估方法和装置
JP6425649B2 (ja) * 2012-04-23 2018-11-21 アファームド ネットワークス,インク. Http疑似ストリーミング用の一体型コントローラベースのペーシング
KR101952632B1 (ko) * 2012-08-22 2019-02-27 삼성전자주식회사 사용자 단말 장치 및 그를 이용한 컨텐츠 전송 방법
CN104685840A (zh) * 2012-09-27 2015-06-03 日本电气株式会社 用于传输图像信息的方法和分组通信系统
US10635644B2 (en) 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
US9794135B2 (en) 2013-11-11 2017-10-17 Amazon Technologies, Inc. Managed service for acquisition, storage and consumption of large-scale data streams
US9858322B2 (en) 2013-11-11 2018-01-02 Amazon Technologies, Inc. Data stream ingestion and persistence techniques
US9276959B2 (en) 2013-11-11 2016-03-01 Amazon Technologies, Inc. Client-configurable security options for data streams
US9720989B2 (en) 2013-11-11 2017-08-01 Amazon Technologies, Inc. Dynamic partitioning techniques for data streams
US9237467B2 (en) 2013-11-27 2016-01-12 At&T Intellectual Property I, L.P. Adaptive pacing of media content delivery over a wireless network
CN103841456A (zh) * 2013-12-10 2014-06-04 珠海全志科技股份有限公司 一种网络播放数据缓冲方法
US9471585B1 (en) 2013-12-20 2016-10-18 Amazon Technologies, Inc. Decentralized de-duplication techniques for largescale data streams
US9639589B1 (en) 2013-12-20 2017-05-02 Amazon Technologies, Inc. Chained replication techniques for large-scale data streams
US9948429B2 (en) * 2014-01-22 2018-04-17 Nec Corporation HARQ implementation for distributed base stations
US9525611B2 (en) 2014-01-27 2016-12-20 Imagine Communications Corp. Transmission system implementing delay measurement and control
EP2942962A1 (en) * 2014-05-08 2015-11-11 Telefonaktiebolaget L M Ericsson (Publ) Radio access network-based transmission control of layer-encoded media frames
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
US9734021B1 (en) 2014-08-18 2017-08-15 Amazon Technologies, Inc. Visualizing restoration operation granularity for a database
US10356150B1 (en) 2014-12-15 2019-07-16 Amazon Technologies, Inc. Automated repartitioning of streaming data
WO2016161521A1 (en) * 2015-04-09 2016-10-13 Dejero Labs Inc. Systems, devices and methods for distributing data with multi-tiered encoding
US9832476B2 (en) 2015-06-15 2017-11-28 Microsoft Technology Licensing, Llc Multiple bit rate video decoding
US9883194B2 (en) * 2015-06-15 2018-01-30 Microsoft Technology Licensing, Llc Multiple bit rate video decoding
US10567500B1 (en) 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
US10853182B1 (en) 2015-12-21 2020-12-01 Amazon Technologies, Inc. Scalable log-based secondary indexes for non-relational databases
US10423493B1 (en) 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
WO2017184346A1 (en) * 2016-04-20 2017-10-26 Vasona Networks Inc. Maximum sustainable encoding bit rates for video downloads
US10158902B2 (en) 2016-09-26 2018-12-18 Amazon Technologies, Inc. Streaming and storing video for audio/video recording and communication devices
US10212065B2 (en) 2016-10-20 2019-02-19 Gatesair, Inc. Extended time reference generation
US10754844B1 (en) 2017-09-27 2020-08-25 Amazon Technologies, Inc. Efficient database snapshot generation
US10990581B1 (en) 2017-09-27 2021-04-27 Amazon Technologies, Inc. Tracking a size of a database change log
US11182372B1 (en) 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
US11042503B1 (en) 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US10621049B1 (en) 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock
US10855754B1 (en) 2018-07-16 2020-12-01 Amazon Technologies, Inc. Isolated read channel categories at streaming data service
US10956246B1 (en) 2018-07-16 2021-03-23 Amazon Technologies, Inc. Isolated read channel management interfaces at streaming data service
US11075984B1 (en) 2018-07-16 2021-07-27 Amazon Technologies, Inc. Workload management at streaming data service supporting persistent connections for reads
US11070600B1 (en) 2018-07-16 2021-07-20 Amazon Technologies, Inc. Optimization techniques to support lagging readers at streaming data service
US10798140B1 (en) 2018-07-16 2020-10-06 Amazon Technologies, Inc. Stream data record reads using push-mode persistent connections
US10768830B1 (en) 2018-07-16 2020-09-08 Amazon Technologies, Inc. Streaming data service with isolated read channels
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US11042454B1 (en) 2018-11-20 2021-06-22 Amazon Technologies, Inc. Restoration of a data source
US11588876B2 (en) * 2020-06-16 2023-02-21 T-Mobile Usa, Inc. Device-side playback restrictions on high throughput networks
GB202015327D0 (en) * 2020-09-28 2020-11-11 British Telecomm Adaptive bit rate streaming
JPWO2022149189A1 (zh) * 2021-01-05 2022-07-14
EP4227915A1 (de) * 2022-02-09 2023-08-16 dormakaba EAD GmbH Verfahren zum betreiben einer zeit- und/oder anwesenheitserfassungseinrichtung; zeit- und/oder anwesenheitserfassungseinrichtung; serversystem; system; computerprogrammprodukt

Family Cites Families (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4813044A (en) * 1987-01-30 1989-03-14 International Business Machines Corporation Method and apparatus for detecting transient errors
USRE34824E (en) * 1987-09-23 1995-01-10 British Telecommunications Public Limited Company Video coder
WO1990010993A1 (en) 1989-03-16 1990-09-20 Fujitsu Limited Video/audio multiplex transmission system
US5140417A (en) 1989-06-20 1992-08-18 Matsushita Electric Co., Ltd. Fast packet transmission system of video data
US5150417A (en) * 1991-02-25 1992-09-22 Socon Ab Bass reflex type speaker system
US5159447A (en) 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
JP2802694B2 (ja) 1991-10-30 1998-09-24 富士写真フイルム株式会社 画像再生装置および方法
US5506983A (en) * 1992-07-06 1996-04-09 Microsoft Corporation Method and system for transactioning of modifications to a tree structured file
US5675696A (en) 1992-07-14 1997-10-07 Mitsubishi Denki Kabsuhiki Kaisha Digital video signal recording and reproducing apparatus
US5511054A (en) * 1993-03-31 1996-04-23 Sony Corporation Apparatus and method for multiplexing encoded data signals and recording medium having multiplexed signals recorded thereon
US5561466A (en) * 1993-06-23 1996-10-01 Nec Corporation Video and audio data multiplexing into ATM cells with no dummy cell used and ATM cell demultiplexing
AU699823B2 (en) * 1993-12-20 1998-12-17 Rodney John Smith Data compression system
EP0743789B1 (en) 1994-02-02 2002-08-14 Sony Corporation Recording device and reproducing device
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5874997A (en) * 1994-08-29 1999-02-23 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
US5956321A (en) * 1995-03-16 1999-09-21 Kabushiki Kaisha Toshiba Stream scheduling system for real time stream server
KR0171118B1 (ko) * 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
US5974223A (en) 1995-04-08 1999-10-26 Sony Corporation Method of and apparatus for data recording, method of and apparatus for data reproduction, recording medium, and method of and apparatus for data transmission
US5535209A (en) * 1995-04-10 1996-07-09 Digital Equipment Corporation Method and apparatus for transporting timed program data using single transport schedule
US5822524A (en) 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
EP0873611A1 (en) * 1995-09-14 1998-10-28 Fujitsu Network Communications, Inc. Transmitter controlled flow control for buffer allocation in wide area atm networks
JP3068002B2 (ja) 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
JP3545110B2 (ja) 1995-09-26 2004-07-21 富士通株式会社 通信サービスの品質制御方式
US6122668A (en) * 1995-11-02 2000-09-19 Starlight Networks Synchronization of audio and video signals in a live multicast in a LAN
US5959676A (en) * 1995-12-27 1999-09-28 Sony Corporation Video signal encoding method, video signal encoding apparatus, video signal transmitting method, and recording medium
US5754849A (en) * 1996-01-30 1998-05-19 Wayfarer Communications, Inc. Self-describing object providing dynamic manipulation of heterogeneous data values and semantic identity between memory and transmission representations
US5864678A (en) 1996-05-08 1999-01-26 Apple Computer, Inc. System for detecting and reporting data flow imbalance between computers using grab rate outflow rate arrival rate and play rate
US6396804B2 (en) * 1996-05-28 2002-05-28 Qualcomm Incorporated High data rate CDMA wireless communication system
US6678311B2 (en) 1996-05-28 2004-01-13 Qualcomm Incorporated High data CDMA wireless communication system using variable sized channel codes
US5909434A (en) * 1996-05-31 1999-06-01 Qualcomm Incorporated Bright and burst mode signaling data transmission in an adjustable rate wireless communication system
JP3668556B2 (ja) * 1996-06-13 2005-07-06 ソニー株式会社 ディジタル信号符号化方法
KR0169248B1 (ko) * 1996-07-24 1999-02-01 양승택 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
KR0178766B1 (ko) * 1996-09-02 1999-05-15 삼성전자주식회사 압축되지 않은 디지탈데이타의 전송기능을 갖는 디지탈 인터페이스 장치
US5928330A (en) * 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US5751741A (en) * 1996-11-20 1998-05-12 Motorola, Inc. Rate-adapted communication system and method for efficient buffer utilization thereof
US6480541B1 (en) 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US6124878A (en) * 1996-12-20 2000-09-26 Time Warner Cable, A Division Of Time Warner Enterainment Company, L.P. Optimum bandwidth utilization in a shared cable system data channel
US5960452A (en) * 1996-12-23 1999-09-28 Symantec Corporation Optimizing access to multiplexed data streams on a computer system with limited memory
US6011779A (en) * 1996-12-30 2000-01-04 Hyundai Electronics America ATM switch queuing system
US6014706A (en) * 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
JPH10215342A (ja) 1997-01-31 1998-08-11 Canon Inc 画像表示方法及び装置
US6092115A (en) * 1997-02-07 2000-07-18 Lucent Technologies Inc. Method for supporting per-connection queuing for feedback-controlled traffic
US5918020A (en) 1997-02-28 1999-06-29 International Business Machines Corporation Data processing system and method for pacing information transfers in a communications network
JP3003618B2 (ja) * 1997-03-19 2000-01-31 日本電気株式会社 動画像送受信装置
US6081843A (en) * 1997-03-20 2000-06-27 Nokia Telecommunications System using simulation cell and simulation buffer for regulating cell transfer rate according to occupancy level of the simulation buffer
US6240103B1 (en) * 1997-03-21 2001-05-29 Scientific-Atlanta, Inc. Method and apparatus for detecting and preventing bandwidth overflow in a statistical multiplexer
KR100302263B1 (ko) * 1997-03-25 2001-09-22 모리시타 요이찌 스트림 데이터 전송방법 및 시스템
US6269078B1 (en) 1997-04-04 2001-07-31 T. V. Lakshman Method and apparatus for supporting compressed video with explicit rate congestion control
US6181821B1 (en) * 1997-04-30 2001-01-30 Massachusetts Institute Of Technology Predictive source encoding and multiplexing
DE69810250T2 (de) * 1997-05-26 2003-10-09 Koninkl Philips Electronics Nv System zur wiedergabe von daten in einem datenflussserver
US6310857B1 (en) 1997-06-16 2001-10-30 At&T Corp. Method and apparatus for smoothing and multiplexing video data flows
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6573907B1 (en) * 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
JP3547944B2 (ja) * 1997-07-17 2004-07-28 Kddi株式会社 ディジタルvtrのダビングデータ送信装置
US6065104A (en) * 1997-07-23 2000-05-16 S3 Incorporated Method of embedding page address translation entries within a sequentially accessed digital audio data stream
US6701372B2 (en) * 1997-08-22 2004-03-02 Canon Kabushiki Kaisha Data communication apparatus and method
US6324165B1 (en) 1997-09-05 2001-11-27 Nec Usa, Inc. Large capacity, multiclass core ATM switch architecture
JP3478100B2 (ja) * 1997-12-09 2003-12-10 三菱電機株式会社 無線回線割当装置及び無線回線割当方法
US6285661B1 (en) * 1998-01-28 2001-09-04 Picturetel Corporation Low delay real time digital video mixing for multipoint video conferencing
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
EP0939545A2 (en) 1998-02-27 1999-09-01 Hitachi, Ltd. Video service system
US6373855B1 (en) * 1998-03-05 2002-04-16 Intel Corporation System and method for using audio performance to control video bandwidth
JPH11261589A (ja) * 1998-03-13 1999-09-24 Fujitsu Ltd Atmネットワーク装置
US6895048B2 (en) * 1998-03-20 2005-05-17 International Business Machines Corporation Adaptive encoding of a sequence of still frames or partially still frames within motion video
IL123906A0 (en) * 1998-03-31 1998-10-30 Optibase Ltd Method for synchronizing audio and video streams
JP4366725B2 (ja) 1998-04-01 2009-11-18 ソニー株式会社 画像信号処理装置及び方法並びに画像信号記録装置及び方法
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
JPH11341477A (ja) * 1998-05-25 1999-12-10 Niles Parts Co Ltd 画像記憶処理装置
EP1414246B1 (en) * 1998-06-18 2007-02-28 Sony Corporation Electronic program guide multiplexed in an MPEG stream
US6584509B2 (en) * 1998-06-23 2003-06-24 Intel Corporation Recognizing audio and video streams over PPP links in the absence of an announcement protocol
US6850564B1 (en) * 1998-06-26 2005-02-01 Sarnoff Corporation Apparatus and method for dynamically controlling the frame rate of video streams
AU4944699A (en) * 1998-06-29 2000-01-17 Limt Technology Ab Method and apparatus for splicing data streams
US6097697A (en) * 1998-07-17 2000-08-01 Sitara Networks, Inc. Congestion control
JP2000067450A (ja) 1998-08-20 2000-03-03 Pioneer Electronic Corp ディスクプレーヤ
US6622171B2 (en) * 1998-09-15 2003-09-16 Microsoft Corporation Multimedia timeline modification in networked client/server systems
GB9821792D0 (en) * 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
US6445701B1 (en) * 1998-10-09 2002-09-03 Microsoft Corporation Channel access scheme 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
FR2784844B1 (fr) * 1998-10-14 2002-03-29 France Telecom Procede de basculement de la ou des composantes video d'un premier programme audiovisuel numerique sur la ou les composantes d'un second programme audiovisuel numerique
KR100310055B1 (ko) * 1998-10-28 2001-12-17 구자홍 광디스크기록/재생기의기록속도가변장치및방법
JP2000151705A (ja) 1998-11-16 2000-05-30 Dainippon Printing Co Ltd 情報配信システム及びそのサーバ
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
JP2000183958A (ja) 1998-12-10 2000-06-30 Canon Inc 通信制御装置及び制御方法及び記憶媒体及びシステム
EP1021044A1 (en) 1999-01-12 2000-07-19 Deutsche Thomson-Brandt Gmbh Method and apparatus for encoding or decoding audio or video frame data
JP2000228669A (ja) 1999-02-08 2000-08-15 Hitachi Ltd ストリーム配送システムにおけるストリームデータ配送方法
US6600737B1 (en) * 1999-02-11 2003-07-29 Mediaring Ltd. Bandwidth protection for voice over IP
EP1033846A1 (en) 1999-03-01 2000-09-06 Alcatel Process for controlling uplink packet transmission in a wireless communication network
US6625119B1 (en) * 1999-03-17 2003-09-23 3Com Corporation Method and system for facilitating increased call traffic by switching to a low bandwidth encoder in a public emergency mode
WO2000055854A1 (fr) * 1999-03-17 2000-09-21 Kabushiki Kaisha Toshiba Procede d'enregistrement de donnees en fluxet de leur structure
US6470378B1 (en) 1999-03-31 2002-10-22 Intel Corporation Dynamic content customization in a clientserver environment
US7086077B2 (en) 1999-04-01 2006-08-01 Sedna Patent Services, Llc Service rate change method and apparatus
US6754189B1 (en) * 1999-04-08 2004-06-22 Lucent Technologies Inc. Method of queue length based burst management in wireless communication systems
EP1045555A3 (en) 1999-04-09 2003-04-23 Sun Microsystems, Inc. Method and apparatus for management of communications over media of finite bandwidth
US6614843B1 (en) * 1999-04-15 2003-09-02 Diva Systems Corporation Stream indexing for delivery of interactive program guide
US6778499B1 (en) * 1999-06-18 2004-08-17 Nortel Networks Limited Method and apparatus for enabling the smooth transmission of bursty data in a wireless communications system
US6501797B1 (en) 1999-07-06 2002-12-31 Koninklijke Phillips Electronics N.V. System and method for improved fine granular scalable video using base layer coding information
IT246858Y1 (it) * 1999-07-16 2002-04-10 Italtinto Srl Macchina erogatrice-dosatrice per coloranti vernici o simili con gruppo di erogazione centrale simultanea dei coloranti e sistema di pulitur
US7380015B1 (en) * 1999-09-10 2008-05-27 Kdd Corporation Apparatus and method for compression-transmitting and decoding picture information and storage medium stored its control programs
US6697369B1 (en) * 1999-09-28 2004-02-24 Lucent Technologies Inc Admission control adjustment in data networks using maximum cell count
US7522631B1 (en) * 1999-10-26 2009-04-21 Qualcomm, Incorporated Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
US7206580B2 (en) * 1999-11-04 2007-04-17 Qualcomm Incorporated Method and apparatus for performing handoff in a high speed communication system
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
JP2001144802A (ja) 1999-11-11 2001-05-25 Canon Inc データ通信装置及びその方法及び通信システム及び記憶媒体
US6700893B1 (en) * 1999-11-15 2004-03-02 Koninklijke Philips Electronics N.V. System and method for controlling the delay budget of a decoder buffer in a streaming data receiver
GB9928023D0 (en) 1999-11-26 2000-01-26 British Telecomm Video transmission
CA2291835A1 (en) 1999-12-06 2001-06-06 Nortel Networks Corporation Load adaptive buffer management in packet networks
US6593930B1 (en) * 1999-12-16 2003-07-15 Intel Corporation Method and apparatus to execute a memory maintenance operation during a screen blanking interval
KR100677083B1 (ko) 2000-01-27 2007-02-01 삼성전자주식회사 디지털 영상 데이터 통신 시스템에서의 오류 전파 억제를위한 송수신 데이터의 처리 방법 및 이를 위한 기록 매체
EP1130921B1 (en) 2000-03-02 2005-01-12 Matsushita Electric Industrial Co., Ltd. Data transmission in non-reliable networks
US7106906B2 (en) 2000-03-06 2006-09-12 Canon Kabushiki Kaisha Moving image generation apparatus, moving image playback apparatus, their control method, and storage medium
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
US6493388B1 (en) * 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
US6813275B1 (en) 2000-04-21 2004-11-02 Hewlett-Packard Development Company, L.P. Method and apparatus for preventing underflow and overflow across an asynchronous channel
US6738386B1 (en) * 2000-05-11 2004-05-18 Agere Systems Inc. Controlled latency with dynamically limited queue depth based on history and latency estimation
GB2362532B (en) 2000-05-15 2004-05-05 Nokia Mobile Phones Ltd Video coding
US7260826B2 (en) * 2000-05-31 2007-08-21 Microsoft Corporation Resource allocation in multi-stream IP network for optimized quality of service
US6973501B1 (en) * 2000-06-21 2005-12-06 Adc Telecommunications, Inc. Reducing loss in transmission quality under changing network conditions
US7003794B2 (en) * 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
GB2366464A (en) 2000-08-14 2002-03-06 Nokia Mobile Phones Ltd Video coding using intra and inter coding on the same data
US6909693B1 (en) * 2000-08-21 2005-06-21 Nortel Networks Limited Performance evaluation and traffic engineering in IP networks
GB2367219A (en) 2000-09-20 2002-03-27 Vintage Global Streaming of media file data over a dynamically variable bandwidth channel
US6993604B2 (en) * 2000-11-15 2006-01-31 Seagate Technology Llc Dynamic buffer size allocation for multiplexed streaming
ES2331111T3 (es) * 2000-11-29 2009-12-22 British Telecommunications Public Limited Company Transmision y recepcion de datos en tiempo real.
US7277955B2 (en) * 2000-12-22 2007-10-02 Verizon Corporate Services Group Inc. Streaming content
US6920175B2 (en) 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
US20020122491A1 (en) * 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US20020131496A1 (en) * 2001-01-18 2002-09-19 Vinod Vasudevan System and method for adjusting bit rate and cost of delivery of digital data
US20030012287A1 (en) * 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
EP1241891A1 (en) 2001-03-13 2002-09-18 eJay AG Apparatus and method for transmitting audio and/or video data
US7626999B2 (en) * 2001-03-16 2009-12-01 Tellabs San Jose, Inc. Apparatus and methods for circuit emulation of a point-to-point protocol operating over a multi-packet label switching network
US20020165970A1 (en) 2001-05-02 2002-11-07 Carl Ludewig System and method for intelligent bit rate and buffer selection
EP1384153A4 (en) 2001-05-04 2005-08-03 Netqos Inc CALCULATION OF RESPONSE TIME OF A SERVER SITE FOR ARBITRARY APPLICATIONS
TW511365B (en) 2001-05-15 2002-11-21 Corbett Wall Method allowing individual user to record song and forward to others for listening by connecting to a service provider with telecommunication device signal
AU2002314309A1 (en) * 2001-06-11 2002-12-23 C-Burn Systems Ltd Selecting tracks from a jukebox via a wireless communications device
US7191246B2 (en) * 2001-07-18 2007-03-13 Sharp Laboratories Of America, Inc. Transmission rate selection for a network of receivers having heterogenous reception bandwidth
US7106758B2 (en) 2001-08-03 2006-09-12 Adc Telecommunications, Inc. Circuit and method for service clock recovery
US7142509B1 (en) 2001-09-12 2006-11-28 Extreme Networks Method and apparatus providing for delivery of streaming media
US20050021830A1 (en) * 2001-09-21 2005-01-27 Eduardo Urzaiz Data communications method and system using buffer size to calculate transmission rate for congestion control
US20030076858A1 (en) * 2001-10-19 2003-04-24 Sharp Laboratories Of America, Inc. Multi-layer data transmission system
SE0104462D0 (sv) * 2001-12-29 2001-12-29 Carlbiotech Ltd As Peptide purifcation (Peptidrening)
JP2003250155A (ja) * 2002-02-25 2003-09-05 Ando Electric Co Ltd 動画符号評価装置及び課金システム
US6898313B2 (en) * 2002-03-06 2005-05-24 Sharp Laboratories Of America, Inc. Scalable layered coding in a multi-layer, compound-image data transmission system
EP1488645B1 (en) * 2002-03-27 2010-12-01 BRITISH TELECOMMUNICATIONS public limited company Video coding and transmission
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
JP4440651B2 (ja) * 2002-03-27 2010-03-24 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー データストリーミングシステムのためのデータ構造
US7039712B2 (en) * 2002-10-16 2006-05-02 Microsoft Corporation Network connection setup procedure for traffic admission control and implicit network bandwidth reservation
US20050010697A1 (en) * 2002-12-30 2005-01-13 Husam Kinawi System for bandwidth detection and content switching
US20040181817A1 (en) * 2003-03-12 2004-09-16 Larner Joel B. Media control system and method
GB0306296D0 (en) * 2003-03-19 2003-04-23 British Telecomm Data transmission
US7444419B2 (en) 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
US7542435B2 (en) * 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
KR20060088303A (ko) * 2005-02-01 2006-08-04 엘지전자 주식회사 디지털 방송 수신기의 동영상 저장/재생 장치 및 방법

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101313536B (zh) * 2005-09-29 2013-06-05 高通股份有限公司 视频电话的视频包成形
CN101252685B (zh) * 2008-02-22 2011-04-27 华为技术有限公司 解码方法及装置
CN102077529A (zh) * 2008-07-04 2011-05-25 松下电器产业株式会社 流通信装置、流通信方法以及流通信系统
CN102077529B (zh) * 2008-07-04 2013-07-03 松下电器产业株式会社 流通信装置、流通信方法以及流通信系统
US8588093B2 (en) 2008-07-04 2013-11-19 Panasonic Corporation Streaming communication device, streaming communication method, and streaming communication system
CN102318311B (zh) * 2009-02-12 2016-03-30 英国电讯有限公司 多视频流传输中的带宽分配控制方法
CN103155580A (zh) * 2010-09-02 2013-06-12 英国电讯有限公司 不同质量级别的自适应视频流
CN103155580B (zh) * 2010-09-02 2016-08-10 英国电讯有限公司 不同质量级别的自适应视频流
CN102291599A (zh) * 2011-05-07 2011-12-21 董友球 网络视频播放方法及网络视频播放装置
CN103843301A (zh) * 2011-10-05 2014-06-04 高通股份有限公司 经译码多媒体数据的网络串流期间的表示之间的切换
CN103843301B (zh) * 2011-10-05 2016-09-28 高通股份有限公司 经译码多媒体数据的网络串流期间的表示之间的切换
CN103139188A (zh) * 2011-12-05 2013-06-05 中国电信股份有限公司 流媒体传输方法与系统
CN103139188B (zh) * 2011-12-05 2016-03-23 中国电信股份有限公司 流媒体传输方法与系统
CN103997434A (zh) * 2014-05-21 2014-08-20 华为技术有限公司 网络传输状况的探测方法和相关设备
CN103997434B (zh) * 2014-05-21 2017-12-05 华为技术有限公司 网络传输状况的探测方法和相关设备
CN107430545A (zh) * 2015-01-29 2017-12-01 信号公司 从仪器化软件接收的数据流的实时处理
CN107431666A (zh) * 2015-03-23 2017-12-01 思科技术公司 用于在数据中心网络环境中实现低时延的技术
CN107431666B (zh) * 2015-03-23 2021-07-27 思科技术公司 用于在数据中心环境中实现低时延的方法、装置和介质
CN107615212B (zh) * 2015-05-20 2020-07-28 国际商业机器公司 用于控制数据传输的方法和系统
CN107615212A (zh) * 2015-05-20 2018-01-19 国际商业机器公司 通过一个或多个主机计算设备的多个通道接收用于将数据传输到控制单元的缓冲区信用
CN109792562A (zh) * 2016-09-26 2019-05-21 杜比实验室特许公司 视频数据的基于内容的流分割
US11303966B2 (en) 2016-09-26 2022-04-12 Dolby Laboratories Licensing Corporation Content based stream splitting of video data
US11653065B2 (en) 2016-09-26 2023-05-16 Dolby Laboratories Licensing Corporation Content based stream splitting of video data
CN107979783B (zh) * 2016-10-25 2020-03-24 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
CN107979783A (zh) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 一种流式数据解析方法、装置及电子设备
CN113366456A (zh) * 2019-01-31 2021-09-07 日本电气株式会社 数据中继设备、方法、传送系统和程序
CN110557436A (zh) * 2019-07-31 2019-12-10 视联动力信息技术股份有限公司 一种数据传输方法、装置、电子设备和存储介质
CN110557436B (zh) * 2019-07-31 2022-06-21 视联动力信息技术股份有限公司 一种数据传输方法、装置、电子设备和存储介质
CN111510720A (zh) * 2020-04-24 2020-08-07 深圳市即构科技有限公司 实时流媒体数据的传输方法、电子装置及服务器
CN112996044A (zh) * 2021-02-03 2021-06-18 深圳震有科技股份有限公司 一种5g通信虚拟化网元网络拥塞的控制方法和系统

Also Published As

Publication number Publication date
EP1755308A2 (en) 2007-02-21
AU2003227854A1 (en) 2003-10-13
US20050172028A1 (en) 2005-08-04
EP1359722A1 (en) 2003-11-05
US20090116551A1 (en) 2009-05-07
EP1755308B1 (en) 2017-03-22
US8386631B2 (en) 2013-02-26
EP1488602A1 (en) 2004-12-22
JP4426316B2 (ja) 2010-03-03
CN100581158C (zh) 2010-01-13
CA2479231C (en) 2013-01-22
WO2003084172A1 (en) 2003-10-09
EP1488602B1 (en) 2018-09-12
EP1755308A3 (en) 2008-03-19
KR100966447B1 (ko) 2010-06-28
KR20040099369A (ko) 2004-11-26
CA2479231A1 (en) 2003-10-09
US8135852B2 (en) 2012-03-13
JP2005522102A (ja) 2005-07-21

Similar Documents

Publication Publication Date Title
CN1643875A (zh) 数据流式传输系统和方法
CN1643932A (zh) 用于数据流式传输系统的数据结构
CN1242623C (zh) 视频编码方法、解码方法以及相关的编码器和解码器
KR101385265B1 (ko) 데이터통신시스템, 데이터송신장치, 데이터송신방법, 데이터수신장치 및 데이터수신방법
US8395990B2 (en) Method and apparatus for streaming scalable multimedia data streams
US20090103635A1 (en) System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks
CN1449628A (zh) 视频容错控制
CN1852429A (zh) 视频码流分组传输方法及系统
CN1992936A (zh) 具有流媒体带宽适配功能的移动终端设备
CN1992886A (zh) 具有带宽适配功能的流媒体服务器
JP2005033556A (ja) データ送信装置、データ送信方法、データ受信装置、データ受信方法
WO2008134897A1 (en) Method and system for quality service enhancement in networks for media streaming
KR20040105459A (ko) 멀티미디어 데이터 재전송 방법 및 그 시스템
Kropfberger et al. Evaluation of RTP immediate feedback and retransmission extensions [video streaming applications]
Al-Suhail Impact of packet size on the temporal quality of video transmission over wired-to-wireless network
CN1205600A (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
CI01 Publication of corrected invention patent application

Correction item: Inventor

Correct: Nilsson Michael Erling

False: First inventor Nilsson Michael Erling

Number: 29

Page: 835

Volume: 21

CI02 Correction of invention patent application

Correction item: Inventor

Correct: Nilsson Michael Erling

False: First inventor Nilsson Michael Erling

Number: 29

Page: The title page

Volume: 21

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: THE FIRST INVENTOR NILSSON MICHAEL ERLING TO: MICHAEL ERLING NILSSON

ERR Gazette correction

Free format text: CORRECT: INVENTOR; FROM: THE FIRST INVENTOR NILSSON MICHAEL ERLING TO: MICHAEL ERLING NILSSON

C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20100113

CX01 Expiry of patent term