CN1756369B - 在带宽有限网络上的媒体速率变换 - Google Patents

在带宽有限网络上的媒体速率变换 Download PDF

Info

Publication number
CN1756369B
CN1756369B CN2005101199352A CN200510119935A CN1756369B CN 1756369 B CN1756369 B CN 1756369B CN 2005101199352 A CN2005101199352 A CN 2005101199352A CN 200510119935 A CN200510119935 A CN 200510119935A CN 1756369 B CN1756369 B CN 1756369B
Authority
CN
China
Prior art keywords
frame
video
buffer
full
report
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
CN2005101199352A
Other languages
English (en)
Other versions
CN1756369A (zh
Inventor
G·维迪
J·A·戴维斯
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 Technology Licensing LLC
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 CN1756369A publication Critical patent/CN1756369A/zh
Application granted granted Critical
Publication of CN1756369B publication Critical patent/CN1756369B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • 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/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • 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/234381Processing 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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/60Receiver circuitry for the reception of television signals according to analogue transmission standards for the sound signals

Abstract

在主计算机上的速率变换管理器确定在网络带宽上是否存在限制并因此而控制所述流媒体内容的比特率。所述比特率通过从流媒体内容中排除视频帧类型然后一旦网络恢复将所排除的视频帧类型重新引回到流媒体内容来控制。

Description

在带宽有限网络上的媒体速率变换
技术领域
本发明通常涉及流媒体,尤其涉及基于网络带宽信息改变视频传输的比特速率。
背景技术
诸如音频、视频和/或文本媒体内容流的内容流正逐渐得到普及。术语“流”典型地用来表示由主机计算机通过网络提供给客户计算机(即,以多种传统计算设备的任何一种实现的媒体重放计算机设备,例如台式PC、笔记本或便携式计算机、手机或其它无线通信设备、个人数字助理(PDA)、游戏控制台、IP机顶盒、手持PC等)的代表媒体的数据,并且客户计算机在从主机接收流内容的同时进行显示,而不是等待要传送的整个“文件”。
当媒体内容“流”过网络时,其典型地以数据分组流动。然而,这通常不能保证数据分组以与发送顺序相同的顺序到达它们的目的地,或者甚至不能保证它们最终到达它们的目的地。此外,通常不能够保证数据分组从源到达目的所需的时间是特定的持续时间,也不能保证不同的数据分组所需的时间相同。
为了考虑在到客户计算机的数据传送中的这些变化,客户计算机典型地具有一个数据缓冲器。该缓冲器允许客户计算机消除在数据传送中的变化以便它们在内容重放期间对用户来说不会感觉到这种变化。然而,使用这种缓冲器的一个问题是不能够始终考虑到由网络拥塞所引起的网络带宽中的故障(例如,网络流量交叉、干扰、较差的无线接收)。如果在网络带宽中的故障持续几秒或更长,那么它们可能超过客户端缓冲器所能补偿的能力,这将对用户重放内容产生明显的不利影响。例如,网络带宽中的持续故障可能导致视频(例即,音频/视频)内容在客户端计算机上重放时产生中断和并且不能实时体验视频内容。
解决这种网络带宽问题的一个方法是降低流内容的大小(即,比特率)。用来降低流内容的比特率的某些当前方法涉及了产生并存储大量相同视频内容的复制。这样,用户或系统具有选择较低比特率版本的视频内容的选项,从而降低了网络带宽故障中断实时重复视频内容的可能性。另一种用来降低流内容的比特率的方法是执行“在运行中”进行比特率降低。
虽然这些方法可以降低实时视频重放的中断,但是它们具有不同的缺点。例如,在存储相同视频内容的不同比特率复制的方法中,选择视频内容的重放比特率通常发生在重放的开始,并且在重放期间通常是不可以改变的。从视频内容的一种比特率复制到另一种的变化需要中断重放并从内容的开始处重新开始播放。另一个缺点在于在主机设备上需要大量的存储控制来存储相同内容的多个复本。上面所提到的两种方法还附带有关处理器非常敏感的缺点。即,产生相同视频内容的不同比特率编码复本和“在运行中”执行比特率降低都是处理器非常敏感的。这种过程,典型地是在主机设备上执行的,并涉及将视频内容完全解码成非压缩或原始视频。这种完全解码是在对原始视频使用参数调整再压缩进行完全编码以产生更小的视频内容整体复制之后进行的。
因此,存在对于一种能够在内容重放期间使得网络带宽故障对于用户来说透明的传送流内容方式的需要。
发明内容
在主机计算机上的速率变换管理器确定在网络带宽中是否存在限制,并相应地控制流媒体内容的比特率。该比特率是通过从流媒体内容中排除视频帧的类型或类别,然后一旦网络恢复就重新将所排除的视频帧的类型或类别引入到视频内容中来控制的。
在一种实现方式中,主机计算机将视频内容(即,音频/视频)流注到重放设备,并从该重放设备接收缓冲器充满报告。当缓冲器报告指示在重放设备上的媒体缓冲器(即,音频缓冲器)用尽时,速率变换管理器就指示速率变换器开始选择性地从流视频内容中排除视频帧。可以逐步或立刻从流视频内容排除不同类型或类别的视频帧,这依赖于缓冲器用尽的程度。例如,某些增量视频帧可以在第一步中排除(例如,对于MPEG视频内容,首先排除B帧,如果缓冲器仍然被耗尽那么就随后排除P帧)。速率变换管理器持续监视缓冲器充满报告。在所有增量视频帧(例如,B和P增量帧)已经被排除之后,如果在重放设备上的缓冲器仍然耗尽,那么速率变换器还可以排除某些关键帧(例如,每隔“I”帧)。每排除某些类型的视频帧一次就降低了视频流的比特率,并增加了关键视频帧及时到达重放设备以维持对用户的实时重放体验的可能性。帧可以持久存留或备份在重放设备上以补充所排除的帧,从而维持满意的实时视频重放体验。由于音频内容不会从媒体流中丢弃,所以音频的重放是无损伤的体验。
一旦网络带宽限制减退,速率变换管理器控制将所排除的视频帧类型重新引入视频流。网络带宽通常的健康状态是通过将填充数据分组以不断增加的速率引入到媒体流中直到重放设备缓冲器再次开始耗尽,或在没有进一步耗尽缓冲器的情况下到达先前媒体流的比特率为止来测试的。如果在没有进一步耗尽缓冲器的情况下到达媒体流的先前比特率,那么就将最近排除的视频帧类型重新引入到视频流中。该过程继续直到在视频内容中的所有类型的视频帧再次开始流向重放设备。
附图简述
在所有的附图中使用相同的参考标记来指示相同的元件和特征。
图1显示了适合于将在网络上从主计算机设备流向重放计算机设备的媒体内容进行速率变换的典型环境。
图2显示了配置用来在网络上将媒体/视频内容流向重放设备,并对内容的视频成分进行速率变换的主机设备的典型实施例。
图3显示了称为一组照片(GOP)的视频帧的示例序列。
图4显示了当主设备在网络上发送流媒体内容到重放设备时,媒体缓冲器的填充百分比相对时间的典型视图。
图5显示了典型的GOP视频帧序列和如何通过速率变换来改变帧序列。
图6显示了典型的GOP视频帧序列和如何通过速率变换来改变帧序列。
图7显示了典型的GOP视频帧序列和如何通过速率变换来改变帧序列。
图8-10是显示用来速率变换在网络上从主计算机设备流向重放计算机设备的媒体内容的典型方法的流程图。
图11显示了适用于实现例如那些参考图1-10讨论的主计算机设备和重放计算机设备的典型计算环境。
详细描述
介绍
下面的讨论涉及到对流媒体内容提供“运行”中速率变换(即,比特率变换)以补偿网络带宽限制的系统和方法。不同类型的视频帧可以选择性地被排除在媒体流的视频部分之外以便维持不会由于临时的网络带宽问题而破坏的实时重放体验。当网络恢复时,所排除的视频帧类型可以重新引入到媒体流中。所公开系统和方法的优点包括很少因网络问题而中断并在网络带宽可用时维持更高的质量的视频重放体验。其它优点包括降低用来维持和分配媒体内容的主机设备对于存储器和媒体处理的要求。
典型环境
图1显示了适用于对在网络106上从主计算机设备102流向重放计算机设备104的媒体内容进行速率变换(即,比特率变换)的典型实施例100。网络106目的在于表示采用多种网络协议(包括公开和/或私人的协议)的任何一种的多种传统网络拓扑和类型(包括光、有线和/或无线网络)的任何一种。网络106可以包括例如家庭网络、公司网络、或因特网,以及一个或多个局域网(LAN)和/或广域网(WAN)的至少可能的一部分。
主设备102通常存储了媒体内容并基于请求将媒体内容流注到重放设备104。重放设备104通常从主机设备102接收到流媒体内容并为用户进行重放。来自用于在主机设备102上可用的媒体内容的重放设备104的请求被从重放设备104通过网络106路由到主机设备102。主机设备102接收该请求并将所请求的内容通过网络106返回给请求重放设备104。
主机设备102可以作为多种传统计算设备的任何一种来实现,例如,包括可以配置来存储并将媒体内容流向重放设备104的台式PC、笔记本或便携式计算机、工作站、巨型计算机、因特网电器,及它们的组合等等。重放设备104也可以作为多种传统计算设备的任何一种来实现,例如包括台式PC、笔记本或便携式计算机、工作站、巨型计算机、因特网电器、游戏控制台、手持PC、蜂窝电话或其它无线通信设备,个人数字助理(PDA)、机顶盒,及它们的组合,等等。下面参考图11详细描述用来实现主机设备102和重放设备104的典型计算环境。
主机设备102可以使得多种数据的任何一种可以流向重放设备104,包括例如音频、视频、文本、图像、动画、等内容。然而,当根据下面描述的典型实施例在此使用时,媒体内容200目的在于表示音频/视频(A/V)内容或只有视频内容。而且,在此对“媒体内容”、“流媒体”、“流视频”、“视频内容”及其任何变换的参考通常目的在于包括音频/视频内容。术语“流”用来表示通过网络106向重放设备104提供表示媒体内容的数据并可以在整体传送媒体内容之前开始重放内容。该数据是公开可以得到的或可选地是受限的(例如,限制于某些用户,只有付合适的费用时才可用,限制于具有到特定网络入口的用户,等等)。此外,数据可以是“点播”(例如,预先记录并具有已知的尺寸)或可选地被“广播”(例如,没有已知的尺寸、例如执行被捕捉作为音乐会的音乐会数字显示,并可以在捕捉之后很快可以进行流注)。
典型实施例
图2显示了配置用来将媒体/视频内容200在网络106上流向重放设备104并响应于有关网络带宽的可用性速率变换媒体内容200的视频成分(即,变换其比特率)的主机设备102的典型实施例。在本实施例中,重放设备104以缓冲器充满报告202的形式提供了这些信息,其指示在将媒体内容流向重放设备104期间出现在重放设备104上的媒体缓冲器206中的数据电平(即,在音频缓冲器206(1)中的音频数据的电平)。注意,在此根据本发明所讨论的缓冲器充满报告202目的仅仅作为有关主机设备102如何确定网络带宽可用性的一个可能例子。因此,其它向主机设备102提供有关网络带宽可用性的信息的方式也是可以预料到的,并且也可以产生如在此根据缓冲器充满报告202所讨论的那些相同的效果。
主机设备102保存一个或多个文件的媒体内容200,从这些内容可以通过在重放设备104上的媒体内容播放器应用程序204(例如,响应于用户通过播放器应用程序204的输入)进行选择。在本实施例中,媒体内容200被认为典型地具有音频成分的视频内容。因此,如上面所指示的那样,在此对“媒体内容”、“流媒体”、“流视频”、“视频内容”及其任何变换的参考通常的目的在于表示音频/视频(A/V)和/或视频内容。主机设备102在网络106上将所请求的数据内容200作为数据流发射到重放设备104上的播放器应用程序204。
流媒体内容200的视频部分的一个例子是由每秒30个视频帧组成的视频内容,其中某些帧是关键帧(锚帧),一些帧是增量帧。关键帧包含用来描述整个帧的信息。因此,关键帧就象可以用来重新建立图片的整体信息的单独位图图像。增量帧仅仅包含根据附近的关键帧或增量帧变化的信息。即,在增量帧中的数据表示在图片中在视频序列中从一个帧到下一个帧发生的变化。增量帧不代表整个图片。
将使用MPEG格式的视频内容作为例子来讨论本实施例。在MPEG格式的视频内容中,关键帧表示为“I”帧,而增量帧通过“P”帧和“B”帧来表示。I帧是“内部”帧,作为关键帧,它们承载了重构相应原始视频帧所需的所有信息。P帧是“预言”帧,并且它们依赖于前一I或P帧的信息重建自身作为完整图片。B帧是“双向”帧,其需要视频序列中前一帧和后一帧的信息来完全重建自身。
参考图3,显示了通常称作一组图片(GOP)300的视频帧示例序列300。图3的GOP序列300仅仅作为例子来提供,并不作为限制。在该示例GOP序列300中,在该视频序列中每隔12帧才有一个I帧,这该帧之后,该序列重复。在三种MPEG视频帧类型中,I帧趋向于具有更多的数据,因为它们能够描述整个视频帧,而B帧通常是最小的,因为它们在可以显示之前还需要周围帧的信息。I、P和B帧的相对大小通常反映在它们在GOP序列中使用的频率。
再参考图2,假设播放器应用程序204从主机设备102请求媒体内容200,并且图3的GOP序列300表示一部分从主机设备102流向重放设备104的内容。在良好的网络条件下,只要网络106不存在拥塞并且有足够的带宽,那么表示GOP序列300的数据分组将到达重放设备104,并被存储在视频缓冲器206(2)作为视频帧数据208。此外,来自相应于视频帧数据208的媒体内容200的音频数据209将存储在音频缓冲器206(1)中。
在重放设备104上的缓冲器监视器210配置用来在由主机设备102流注媒体内容200的同时监视音频缓冲器206(1)的充满程度并产生缓冲器充满报告。监视音频缓冲器206(1)的充满程度提供了对音频缓冲器的充满程度的指示。在良好的网络条件下,音频缓冲器206(1)的充满程度为高(例如,>80%全部),并且将指示视频缓冲器206(2)也保持良好的充满级别。在视频缓冲器206(2)中高充满级别通常允许通过播放器应用程序204实时重放GOP序列300中的所有视频帧和剩余的流媒体内容。总之,本实施例提供了无损伤的音频体验。因此,不存在音频数据的故意去除,并且音频缓冲器206(1)的充满级别给出了网络带宽可用性的精确指示。但是,如下面更充分讨论的那样,不同类型的视频帧可以从媒体流中去除然后重新引入。这种视频帧类型的故意去除和重新引入使得视频缓冲器206(2)的充满级别不仅仅是基于网络条件来变化。这样,监视视频缓冲器206(2)的充满级别不能提供对网络条件的精确指示。因此,在媒体内容200从主机设备102流出的同时,缓冲器监视器210监视音频缓冲器206(1)的充满级别并产生提供对网络带宽可用性的指示的缓冲器充满报告。缓冲器充满报告202是重放设备104用来向主机设备102报告音频缓冲器充满程度的一种机制。通常,如下面更充分讨论的那样,该信息被主机设备102上的速率变换管理器212用来测量网络106的性能并确定是否存在网络带宽限制。
缓冲器充满报告202包括时间戳信息和有关音频缓冲器206(1)充满的信息。可以用来发射缓冲器充满报告202(1)的一种熟知协议是RTCP(实时控制协议)。RTCP是与RTP(实时协议)协同工作来在网络上传输实时数据,例如音频和视频的控制协议。RTCP控制分组在参与者之间以RTP会话周期性地进行发射。RTCP控制分组是在网络106上从重放设备104向主机设备102发射缓冲器充满报告202(1)的一条通路。
缓冲器监视器210通常以周期性的基础发送缓冲器充满报告202(1)到主机设备102(202(2)),例如每隔1秒或每隔1/4秒报告一次。然而,缓冲器监视器210也可以依据缓冲器充满级别以变化速率将缓冲器充满报告202(1)发送到主机设备102。例如,只要网络条件良好并且音频缓冲器206(1)是健康的(例如,>80%全部),如上面所讨论的那样,缓冲器监视器210就可以使用低的频率(例如,每秒1次报告)将缓冲器充满报告202(1)发送到主机设备。然而,当音频缓冲器健康状况下降时(例如,<80%全部、<60%全部、<40%全部,等),缓冲器监视器210可以增加缓冲器充满报告202的频率。在这种情形中,缓冲器210将保持缓冲器充满报告202的增加频率直到音频缓冲器206(1)恢复到健康级别,例如,>80%全部的门限级别。
主机设备102上的速率变换管理器212接收缓冲器充满报告202(2)并监视音频缓冲器206(1)的充满作为对网络带宽可用性的一般测量。如上所述,缓冲器充满报告202仅仅是主机设备102上的速率变换管理器212如何测量网络带宽可用性级别的一个例子,并且通过本公开可以预料到用来提供有关网络带宽可用性信息并能够提供相同效果的其它方式。
一旦缓冲器充满报告202(2)指示音频缓冲器206(1)正被耗尽,那么速率变换管理器212就可以确定是否存在网络带宽问题以及该问题如何严重。然后,速率变换管理器212因而可以响应来排除一个或多个类型的视频帧并降低媒体流的比特率。速率变换管理器212可以用各种方式监视缓冲器充满报告202(2)来确定音频缓冲器206(1)什么时候耗尽。例如,速率变换管理器212可以从缓冲器充满报告202(2)中划分充满数据并监视划分线的斜率。
图4显示了表示典型缓冲器充满划分400的图表,当主机设备102在网络106上发射流媒体内容200到重放设备104时,其指示了音频缓冲器206(1)的耗尽和恢复速率以及音频缓冲器206(1)在时间上的充满百分比(即,缓冲器充满图)。如下面所讨论的那样,图4的缓冲器充满图400对于显示2种不同的媒体情形是很有用的。第一种媒体情形是被发射的媒体内容200来自于存储的文件,第二种媒体情形是发射的媒体内容是现场内容。图4的图表还显示了指示网络带宽可用性在相同时间间隔上的典型变化的典型网络带宽图401。这样,图4提供了有关音频缓冲器206(1)的充满级别如何根据改变网络带宽来变化的例子。图4的图表仅仅显示了速率变换管理器212如何监视缓冲器充满报告202(2)的一个例子。例如,在时间间隔402(即,0到.5秒),缓冲器充满图400显示来自一个或多个由速率变换管理器212接收的缓冲器充满报告202(2)的信息指示重放设备104上的音频缓冲器206(1)中的充满百分比保持稳定在大约85%。缓冲器耗尽率在该间隔处为零。相同时间间隔的网络带宽图401指示为健康的(例如100%)的带宽可用性。注意,图4的缓冲器充满图400目的不在于指示每秒有多少缓冲器充满报告202(2)正提供信息该速率变换管理器212。然而,如上面所指示,在音频缓冲器206(1)相对充满(例如>80%全部)期间,可能比音频缓冲器206(1)低和/或被耗尽时存在更少的从重放设备104发射到主机设备102的报告。
在时间间隔404(即,.5到1.0秒),缓冲器充满图400表明缓冲器充满报告202(2)指示在重放设备104上的音频缓冲器206(1)中的充满百分比正在迅速下降。存在音频缓冲器206(1)的充满级别的负耗尽率。并不奇怪,相同时间间隔的网络带宽图401指示网络可用性的下降(例如,从100%到50%)。在时间间隔406,缓冲器充满的百分比继续下降,但不是以前一时间间隔的速率下降。在时间间隔408,缓冲器充满的百分比停止下降,并保持在大约30%。相同的方式,图4中剩余的时间间隔(410、412、414和416)显示在充满百分比中的示例变化和音频缓冲器206(1)的耗尽和/或恢复速率。注意,网络带宽图401显示了从间隔404到间隔412降低的带宽可用性,在此之后网络带宽可用性跳转回100%。
图5、6和7显示了图3的示例GOP视频帧序列300,以及如何响应于重放设备104上音频缓冲器206(1)的充满级别的变化通过主设备102上的速率变换管理器212和速率变换器214改变这种帧序列。通常,图5、6和7显示了速率变换器214如何选择性地根据速率变换管理器212的指导响应于缓冲器充满报告202去除不同的帧类型(即,B、P和I帧)。下面参考图4的图表描述图5、6和7,其用来显示充满级别的变化速率以及速率变换管理器212和速率变换器214所响应的音频缓冲器206(1)的充满级别的绝对变换。例如,当音频缓冲器206(1)的耗尽率达到某一最小门限值时,速率变换管理器212可以响应来去除不同的帧类型。
图5的视频帧序列500显示了如何响应于指示音频缓冲器206(1)被耗尽的缓冲器充满报告202(2)从例如GOP视频帧序列300的媒体内容流中选择性地去除B帧。速率变换管理器212可以响应于由缓冲器充满报告202(2)指示的缓冲器级别充满变化率和缓冲器充满级别的绝对值的门限值。在图4的时间间隔404中存在音频缓冲器206(1)被耗尽的指示,如上面关于图4所讨论的那样。在该情形中,速率变换管理器212接收一个或多个指示音频缓冲器206(1)的充满级别下降(即,耗尽)的缓冲器充满报告202(2),如在时间间隔404所标明的那样。在缓冲器充满中的这种下降被认为是网络106拥塞的结果,其因此而限制了网络带宽可用性,如由网络带宽图401所示的那样。
响应于媒体缓冲器206充满中的这种下降,速率变换管理器212指示速率变换器214在发射/流注内容之前选择性地从媒体内容中去除某些类型的视频帧。速率变换器214可以改变其如何将流注媒体内容的方式从全帧发射级别到降低的帧发射级别,从而改变(即,降低)流媒体内容的比特率。依据音频缓冲器206(1)耗尽率的严重程度(例如由图400的斜率所指示的那样),速率变换管理器212可以指示速率变换器214选择性地将不同类型的视频帧降低到各种降低的帧传输级别。帧类型可以选择性地一次降低一个级别,或可以一次降低多个级别,再次依赖于音频缓冲器206(1)耗尽的严重程度。所降低的帧发射级别包括“I和P帧级别”500(即,所有的B类型帧被去除)、“仅I帧级别”502(即,所有的B和P类型帧被去除)、和“第n个I帧级别”504(即,所有B和P类型帧被每隔第n个被去除的I帧一起去除)。对不同降低帧传输级别的帧类型的每次去除提供了在流媒体内容的比特率中的相应降低。
这样,再次参考图4,当速率变换管理器212确定音频缓冲器206(1)被耗尽时,例如在时间间隔404,其通过指示速率变换器214通过选择性地去除B类型视频帧将视频帧的传输级别从全“I、P和B帧级别”300降低到“I和P帧级别”500进行响应。该响应可能导致音频缓冲器206(1)的耗尽速率的降低,如在图4的时间间隔406所示的那样。对于“仅I帧级别”502的视频帧的进一步降低(即,所有B和P类型帧被去除)可以导致停止音频缓冲器206(1)的耗尽,如在图4的时间间隔408所示的那样。
图6提供了图5所示某些降低的帧传输级别的更清楚的显示,其中所去除的视频帧类型已经被从帧序列中移除,而不是仅仅如图5所示的那样进行删除。因此,在“I和P帧级别”600,所有的B类型帧已经被去除,并且没有显示;在“仅I帧级别”602中,所有B和P类型帧已经被去除,并且没有显示;和在“第n个I帧级别”604,所有的B和P和第n个I帧(即,在该例子中的“交替”I帧)已经被去除,并且没有显示。
图7显示了类似于图6所示的帧序列的级数(即,300、600和602),其中当音频缓冲器206(1)被耗尽时,流媒体内容的比特率已经通过选择性地从流媒体内容中去除帧类型而降低到降低的帧传输级别。此外,图7还显示了速率变换管理器212和速率变换器214在流媒体内容已经降低到降低的帧传输级别之后如何测试网络106以及如何进一步将去除的帧类型重新引入回流媒体内容以恢复降低的帧传输级别。测试网络106以确定其带宽可用性是否已经恢复的足够处理将去除的帧类型重新引入回流媒体内容而不会引起音频缓冲器206(1)的进一步耗尽。在没有测试网络106具有足够带宽的情况下,向上跳转媒体流的传输级别(例如,从“仅I帧级别”602到“I和P帧级别”600)可能会引起音频缓冲器206(1)的突然耗尽,从而导致清空视频缓冲器206(2)并引起重放设备上的视频回放的暂停。
再次参考图4,一旦速率管理器212确定音频缓冲器206(1)的耗尽已经停止,如在时间间隔408所示的那样,它就可以指示速率变换器214将填充数据分组(图7显示为“D”帧)以不断增加的速率插入到流媒体内容中直到检测到两个结果中其中一个,如下面所讨论的那样。填充数据分组(“D”帧)是空的分组,其不包含视频数据。相反,它们包含无用数据,这些数据在引入填充分组时仅仅增加媒体流的比特率。
如果网络106仍然拥塞(即,带宽有限),那么将增加数量的填充数据分组引入到媒体流中将最终导致音频缓冲器206(1)的进一步耗尽。这是因为填充数据分组占用了稀少的网络带宽所发生的,这进一步降低了将音频数据209放入音频缓冲器206(1)的量。注意,填充数据分组并没有被存储在缓冲器206中,因此在网络拥塞期间不会对音频缓冲器的充满级别产生影响,相反会降低进入音频缓冲器206(1)的音频数据209的量。例如,在图4的时间间隔410,显示了第一个可能的结果,在此,速率变换管理器212确定引入填充数据分组已经引起音频缓冲器206(1)的进一步耗尽。在此情况下,速率变换管理器212停止引入填充数据分组来防止音频缓冲器206(1)的进一步耗尽,如图4的时间间隔412所示。
当网络带宽可用性恢复时,会发生将数量增加的填充数据分组引入到媒体流的第二个可能结果。在此情况下,将增加数量的填充数据分组引入到媒体流中将最终导致主机设备102输出组合比特率等于下一个最高视频帧传输级别的比特率的媒体内容和填充数据流。此外,音频缓冲器206(1)的充满级别将不再进一步降低(并且可能增加),这是因为网络具有足够的带宽来处理填充数据分组以及媒体内容流。一旦速率变换管理器212确定存在足够的可用的网络带宽来处理填充数据分组和视频帧传输的当前级别,那么它就可以确信音频缓冲器206(1)将不再进一步耗尽而提高视频帧传输级别(例如,从“仅I帧级别”602到“I和P帧级别”600)。例如,在图4的时间间隔412显示了第二个可能的结果,在此,速率变换管理器212确定引入填充数据分组没有引起音频缓冲器206(1)的进一步耗尽。在此情况下,速率变换管理器212停止引入填充数据分组并提高视频帧的传输级别(例如,从“仅I帧级别”602到“I和P帧级别”600)。通常,一旦确定有足够的网络带宽可用性,先前排除的视频帧类型将被重新引入到媒体流中。
如果所发射的媒体内容是可以比1x重放速率更高的速率进行发射的文件内容(即,上面所提到的第一媒体情形),那么提高视频帧传输级别将使得音频缓冲器206(1)恢复到充满级别,如图4在时间间隔414和416所示的那样。然而,如果媒体内容是现场的(即,上面所提到的第二媒体情形),那么就无法以高于1x重放速率的速率来发射该内容,从而,音频缓冲器206(1)的充满级别就不会增加超过先前所耗尽到的级别。因此,该级别将保持在间隔412所示的那样。
图7显示了逐渐增加填充数据分组来测试网络带宽的可用性。例如,从“仅I帧”传输级别602,填充数据分组(“D”帧)被以不断增加的数量添加到媒体内容流中,如在视频序列700和视频序列702中所示的那样。一旦速率变换管理器212确定存在足够的可用网络带宽来处理“仅I帧”传输级别602和填充数据分组,那么它就重新引入先前排除的视频帧类型来从“仅I帧级别”602提高到“I和P帧级别”600。相同的方式,一旦确定网络106能够处理引入到视频序列706和708中的填充数据分组的增加的比特率,那么速率变换管理器212就将视频帧传输级别从“I和P帧级别”600提高到全“I、P和B帧级别”300。
在降低的视频帧传输级别,如上面所注意的,所有音频数据分组继续由主机设备102发射并由重放设备104进行重放。这为用户保持了调和的音频体验,并且因为音频数据相对低的比特率,所以这是可以的。既使通过重复和/或持续在媒体缓冲器206中的视频帧来降低视频帧的传输级别,在重放设备104也可以维持所述视频体验。重复和持续视频帧是众所周知的,对此不再进一步讨论。该过程与在主机设备102上的缓冲器充满监视、缓冲器充满报告202和选择性帧去除一起提供了既使在明显的网络拥塞的情况中具有相对稳定吞吐量重放的实时视频体验。
典型方法
现在将主要参考图8、9和10的流程图描述用来速率变换(即,比特率变换)在网络上106从主计算机设备102流向重放计算机设备104的媒体内容的示例方法。这些方法应用于上面根据图1-7所讨论的典型实施例。虽然通过流程图及与流程图相关的块相关文本公开了一种或多种方法,但是应该明白,所公开的方法的要素不一定必须以它们所呈现的顺序来执行,其变化的顺序也可以产生相同的优点。而且,这些方法也不是唯一的,并且可以单独或相互组合来执行。所描述的方法的要素可以通过任意合适的装置来执行,例如包括通过ASIC上硬件逻辑块或通过执行在处理器可读媒体上定义的处理器可读指令。
在此所使用的“处理器可读媒体”可以是任何装置,其可以包含、存储、通信、传播、或传输由处理器使用或执行的指令。处理器可读媒体可以是但不限于电、磁、光、电磁、红外、或半导体系统、装置、设备或传播媒体。处理器可读媒体的更具体例子包括具有一个或多个线的电连接(电)、便携式计算机磁盘(磁)、随机访问存储器(RAM)(磁)、只读存储器(ROM)(磁)、可擦除可编程只读存储器(EPROM或闪存)、光纤(光)、可重写压缩盘(CD-RW)(光)、和便携式压缩盘只读存储器(CDROM)(光),等等。
在方法800的块802,媒体流被在网络106上发射到媒体重放设备104。所述媒体流被从主机设备102上进行发射并包括音频/视频和/或视频内容。在块804,主机设备102接收有关网络带宽可用性的反馈数据。该反馈数据可以来自各种源,例如,监视在网络106上的数据流的服务器。这种反馈数据的一个更具体的例子是从重放设备104接收的缓冲器充满报告202。缓冲器充满报告202包括指示在重放设备104上的音频缓冲器206(1)的充满级别的信息。
可以周期性地接收缓冲器充满报告202,例如每秒一次,或者可以以变化的速率来接收它们,其中所述变化速率依赖于网络带宽的可用性。例如,在良好的网络带宽条件下,重放设备104上的音频缓冲器206(1)是健康的(例如,>80%全部)并且重放设备104上的缓冲器监视器210可以低频率(例如每秒一次报告)发送缓冲器充满报告202到主机设备102。然而,在网络拥塞和网络带宽可用性有限的情况下,缓冲器健康会降低(例如,<80%全部,<60%全部,<40%全部,等),并且缓冲器监视器210可以增加缓冲器充满报告202的频率。增加主机设备102接收缓冲器充满报告202的频率允许主机设备102尽快发现这种网络带宽的限制,并更快地进行响应。
在方法800的块806,主机设备102响应于反馈数据(即,缓冲器充满报告202)从媒体流中排除某些类型的视频帧。主机设备102上的速率变换管理器212基于在缓冲器充满报告202中指示的缓冲器充满级别估计网络带宽的可用性。即,从指示耗尽的音频缓冲器206(1)的缓冲器充满报告中确定低的网络带宽,而从指示音频缓冲器206(1)健康或没有耗尽(例如,>80%全部)的缓冲器充满报告确定健康或高的网络带宽。
从媒体流排除视频帧类型是基于对可用网络带宽的估计选择性地排除特定类型的视频帧(例如,增量视频帧、关键视频帧)。从媒体流排除视频帧类型将媒体流的传输从全帧传输级别(即,其中所有类型的视频帧都被传输)改变到降低的帧专输级别(即,其中低于传输所有类型的视频帧)。因此,当在主机设备102上的速率变换管理器212确定音频缓冲器206(1)被耗尽时,可以通过指示速率变换器214通过选择性地丢弃B类型视频帧(图4-6)将视频帧的传输级别从全“I、P和B帧级别”300降低到“I和P帧级别”500来进行响应。进一步排除视频帧类型例如包括发射“仅I帧级别”502,其中所有的B和P增量类型帧都被排除,和“第n个I帧级别”604,其中所有的B和P增量类型帧和第n个I类型的帧被排除。
在方法800的块808,在从媒体流中排除某种类型的视频帧之后,测试网络带宽可用性。开始,以全帧传输级别(即,其中发射所有类型的视频帧)并以初始比特率进行发射。通过排除某些类型的视频帧,以降低的帧传输级别和降低的比特率进行发射。为了在排除视频帧类型之后测试网络带宽的可用性,将数量不断增加的填充数据分组引入(即,根据速率变换管理器212的指导通过速率变换器214)到以降低的帧传输级别发射的媒体流中。所述填充数据分组增加了媒体流的降低比特率。在引入填充数据分组期间连续监视反馈数据(即,缓冲器充满报告202)以确定在重放设备104上的缓冲器206是否被耗尽。
方法800在图9继续到块810。在块810,如果测试显示网络带宽不再受限,那么所排除的视频帧类型重新引入到媒体流中。即,如果引入不断增加数量的填充数据分组将降低的比特率增加返回到初始比特率,而不会耗尽音频缓冲器206(1),那么主机设备102(速率变换管理器212)就知道网络带宽再次足以处理初始比特率。因此,速率变换器214(根据速率变换管理器212的指导)重新将所排除的视频帧类型引回到媒体流中。注意,该重新引入可能涉及重新引入不同级别或类型的视频帧(例如,第n个I帧、P帧、B帧;P和B帧等),这依赖于当前降低的帧传输级别。在这方面,还应该注意,“初始比特率”也可以是下一个最高降低的帧传输级别的比特率,而不是全帧传输级别。这样,在排除多个级别或类型的视频帧的情况下,这些排除的视频帧类型也可以简单地使用作为下一个最高降低的帧传输级别的比特率的初始比特率一次一个级别或类型来重新引入到媒体流。
在块812,方法800显示在所排除的视频帧类型被重新引入到媒体流的同时终止引入填充数据分组。
图10是显示由重放设备104执行用来速率变换(即,比特率变换)在网络106上从主计算机设备102流向重放设备104的媒体内容的替换方法1000的流程图。在方法1000的块1002,重放设备104从主机设备102以全帧传输级别(即,发射媒体内容中的所有类型的视频帧)接收流媒体内容。在块1004,重放设备104发射缓冲器充满报告到主机设备102。在重放设备104上的缓冲器监视器210监视音频缓冲器206(1)来确定其数据的充满级别。缓冲器监视器210产生包含有关缓冲器充满级别信息的缓冲器充满报告。
在块1006,在发射所述缓冲器充满报告之后,重放设备104开始以降低的帧传输级别(即,已经排除一个或多个类型的视频帧)接收流媒体内容。注意,这将导致由主机设备102根据缓冲器充满报告202确定音频缓冲器206(1)是否被耗尽,以及是否可能存在网络带宽限制问题。
在块1008,重放设备104上的播放器应用程序204重放以全帧传输级别接收的流媒体内容。重放应用程序204还重复来自以降低帧传输级别接收的流媒体内容的视频帧,如在块1010所示的那样。在块1012,重放设备104上的播放器应用程序204与以降低的帧传输级别接收的流媒体内容一起重放所重复的视频帧。
典型计算环境
图11显示了适合于实现例如上面参考图1-10讨论的主机设备102和重放设备104的计算机设备的典型计算环境。虽然图11显示了一个特定的配置,但是这种计算设备也可以其它计算配置来实现。
计算环境1100包括计算机1102形式的通用计算系统。计算机1102的元件包括但不限于一个或多个处理器或处理单元1104、系统存储器1106、和连接包括处理器1104的各种系统元件到系统存储器1106的系统总线1108。
系统总线1108代表多种类型的总线结构的任意一种的一个或多个,包括存储器总线或存储器控制器、外设总线、加速图像端口、和使用多种总线结构的任何一种的处理器或本地总线。系统总线1108的例子是外设元件互连(PCI)总线,也称作Mezzanine总线。
计算机1102包括多种计算机可读媒体。这种媒体可以任何可以由计算机1102访问的可用媒体,其包括易失和非易失媒体、可移动和非可移动媒体。系统存储器1106包括易失存储器形式的计算机可读媒体,例如,随机访问存储器(RAM)1110、和/或非易失存储器,例如只读存储器(ROM)1112。包含有助于在计算机1102内的元件之间传递信息的基础程序的级别输入/输出系统(BIOS)1114例如在启动期间被存储在ROM1112中。RAM 1110包含可以立即由处理单元1104访问和/或其当前正在运行的数据和/或程序模块。
计算机1102还包括其它可移动/不可移动、易失/非易失计算机存储媒体。作为例子,图11显示了用于读写不可移动、非易失磁媒体(没有示出)的硬盘驱动器1116、用于读写可移动、非易失磁盘1120(例如“软盘”)的磁盘驱动器1118、和用来读和/或写例如CD-ROM、DVD-ROM或其它光媒体等可移动、非易失光盘1124的光盘驱动器1122。硬盘驱动器1116、磁盘驱动器1118和光盘驱动器1122每一个都通过一个或多个数据媒体接口1125连接到系统总线1108。可选地,硬盘驱动器1116、磁盘驱动器1118、和光盘驱动器1122可以通过SCSI接口(没有示出)连接到系统总线1108。
磁盘驱动器及其相关的计算机可读媒体为计算机1102提供了计算机可读指令、数据结构、程序模块和其它数据的非易失存储器。虽然该例子显示了硬盘1116、可移动磁盘1120、和可移动光盘1124、但是应该理解到,也可以使用其它类型可以存储可由计算机访问的存储数据的计算机可读媒体来实现所述典型计算系统和环境,例如磁带或其它磁性存储设备、闪存卡、CD-ROM、数字多样盘(DVD)或其它光存储器、随机访问存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)等等。
任意数量的程序模块可以存储在硬盘1116、磁盘1120、光盘1124、ROM1112、和/或RAM 1110上,作为例子,包括操作系统1126、一个或多个应用程序1128、其它程序模块1130、和程序数据1132。、这种操作系统1126、一个或多个应用程序1128、其它程序模块1130、和程序数据1132(或其某些组合)的每一个可以包括用户网络访问信息缓存方案的实施例。
计算机1102可以包括识别作为通信媒体的多种计算机/处理器可读媒体。通信媒体例如以载波或其它传送机制的调制数据信号包含计算机可读指令、数据结构、程序模块或其它数据并包括任何信息传送媒体。术语“调制数据信号”表示具有一个或多个其字符集或以信号来编码信息的方式进行变化的信号。作为例子,但不是限制,通信媒体包括例如有线网络或直线连接的有线网络、和例如声音、RF、红外和其它无线媒体的无线媒体。上面所述的任意组合也包括在计算机可读媒体的范围内。
用户可以通过例如键盘1134和指针设备1136(例如“鼠标”)的输入设备输入命令和信息到计算机系统1102。其它输入设备1138(没有具体示出)可以包括麦克风、游戏杆、游戏垫、卫星盘、串行端口、扫描仪、等等。这些和其它输入设备被通过连接到系统总线1108的输入/输出接口1140连接到处理单元1104,但是也可以通过其它接口和总线结构进行连接,例如并行端口、游戏端口、或通用串行总线(USB)。
监视器1142或其它类型的显示设备也可以通过例如视频适配器1144的接口连接到系统总线1108。除了监视器1142之外,其它输出外部设备可以包括例如扬声器(没有示出)和可以通过输入/输出接口1140连接到计算机1102的指针1146的元件。
计算机1102可以工作在使用到一个或多个例如远程计算设备1148的远程计算机的逻辑连接的组网环境。作为例子,远程计算设备1148可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其它公共网络节点、等。远程计算设备1148被显示为便携式计算机,其可以包括在此相对于计算机系统1102描述的多个或所有单元和特征。
在计算机1102和远程计算机1148之间的逻辑连接被显示为局域网(LAN)1150和普通广域网(WAN)1152。这种组网环境普遍存在于办公室、企业范围的计算机网络、企业内部网、和因特网。当在LAN组网环境中实现时,计算机1102被通过网络接口或适配器1154连接到本地网络1150。当在WAN组网网络中实现时,计算机1102包括用来在广域网络1152上建立通信的调制解调器1156或其它装置。调制解调器1156可以在计算机1102的内部或外部,其可以通过输入/输出接口1140或其它合适的机制连接到系统总线1108。应该理解到,所示网络连接是典型的,并且可用使用其它在计算机1102和1148之间建立通信链路的装置。
在组网环境中,例如使用计算环境1100所示的那样,相对于计算机1102描述的程序模块或其部分可以存储在远程存储器设备中。作为例子,远程应用程序1158驻留在远程计算机1148的存储器设备中。为了进行说明,应用程序和其它可执行程序元件,例如操作系统,在此显示为离散模块,但是应该认识到这些程序和元件在不同的时间驻留在计算机系统1102的不同存储器元件中,并且由计算机的数据处理器来执行。
结论
虽然本发明已经以特定于结构特征和/或方法行为的语言进行了描述,但是应该明白,在所附权利要求书中定义的本发明不必一定限制于所描述的特定特征或行为。相反,所述特定特征和行为被公开作为实现所要求发明的典型形式。

Claims (28)

1.一种在带宽有限网络上的提供媒体速率变换的方法,包括:
在网络上发射媒体流;
接收指示网络带宽可用性的反馈数据;和
在发射期间响应于所述反馈数据从媒体流中排除视频帧,
其中接收反馈数据包括以可变速率从重放设备接收缓冲器充满报告,所述变化速率依赖于网络带宽可用性。
2.如权利要求1所述的方法,其中所述排除视频帧包括:
基于所述反馈数据估计所述网络带宽可用性;和
基于所估计的网络带宽可用性选择性地从所述媒体流排除特定类型的视频帧。
3.如权利要求2所述的方法,其中所述反馈数据包括来自于重放设备的缓冲器充满报告,并且估计所述网络带宽可用性包括:
如果所述缓冲器充满报告指示在重放设备上的音频缓冲器被耗尽,那么就确定所述网络带宽可用性为低;和
如果所述缓冲器充满报告指示在重放设备上的音频缓冲器没有被耗尽,那么就确定所述网络带宽可用性为高。
4.如权利要求2所述的方法,其中选择性地排除特定类型视频帧包括排除增量视频帧。
5.如权利要求4所述的方法,其中选择性地排除特定类型的视频帧进一步包括排除关键视频帧。
6.如权利要求4所述的方法,其中所述媒体流是MPEG媒体流,并且排除增量视频帧包括排除B视频帧。
7.如权利要求4所述的方法,其中所述媒体流是MPEG媒体流,并且排除增量视频帧包括排除P视频帧。
8.如权利要求5所述的方法,其中所述媒体流是MPEG媒体流,并且排除关键视频帧包括排除每隔第n个I视频帧。
9.如权利要求1所述的方法,其中以可变速率接收缓冲器充满报告,包括:
如果网络带宽可用性低,就以增加的速率接收缓冲器充满报告;和
如果网络带宽可用性高,就以降低的速率接收缓冲器充满报告。
10.如权利要求1所述的方法,其中所述网络带宽可用性是有限的,所述方法进一步包括:
在排除视频帧之后测试所述网络带宽可用性;和
如果测试显示所述网络带宽可用性不再受限,重新将排除类型的视频帧引入到媒体流。
11.如权利要求10所述的方法,其中以初始比特率进行发射并且排除视频帧以将初始比特率降低到减少的比特率,其中所述测试包括:
将数量增加的填充数据分组引入到媒体流以增加所降低的比特率;
监视所述反馈数据以确定在重放设备上的音频缓冲器是否被耗尽;和
如果在音频缓冲器没有被耗尽的情况下,增加数量的填充数据分组将降低的比特率增加到初始比特率,那么就重新将排除的视频帧类型引回到媒体流。
12.如权利要求11所述的方法,进一步包括在重新引入所排除的视频帧类型的同时停止引入填充数据分组。
13.如权利要求3所述的方法,其中确定所述网络带宽可用性为低包括根据缓冲器充满报告确定音频缓冲器被以最小门限率进行耗尽。
14.一种计算机系统,包括:
用于在网络上发射媒体流的装置;
用于接收指示网络带宽可用性的反馈数据的装置;和
用于在发射期间响应于所述反馈数据从媒体流中排除视频帧的装置,
其中接收反馈数据包括以可变速率从重放设备接收缓冲器充满报告,所述变化速率依赖于网络带宽可用性。
15.一种在带宽有限网络上的提供媒体速率变换的方法,包括:
以全帧传输级别从主机设备接收流媒体内容;
将缓冲器以可变速率从重放设备充满报告发射到所述主机设备,所述变化速率依赖于网络带宽可用性;和
在发射所述缓冲器充满报告之后以降低的帧传输级别从主机设备接收流媒体内容。
16.如权利要求15所述的方法,其中所述发射进一步包括:
监视音频缓冲器以确定缓冲器充满级别;和
产生包括所述缓冲器充满级别的缓冲器充满报告。
17.如权利要求15所述的方法,进一步包括重放以全帧传输级别接收的流媒体内容。
18.如权利要求15所述的方法,进一步包括:
从以降低的帧传输级别接收的流媒体内容复制视频帧;和
与以降低的帧传输级别接收的流媒体内容一起重放所复制的视频帧。
19.一种在带宽有限网络上的提供媒体速率变换的方法,所述方法包括:
在网络上发射媒体流到重放设备;
以可变速率从所述重放设备接收缓冲器充满报告,所述变化速率依赖于网络带宽可用性;
如果所述缓冲器充满报告指示在重放设备上的音频缓冲器被耗尽,那么就从所述媒体流丢弃一种类型的视频帧。
20.如权利要求19所述的方法,其中丢弃一种类型视频帧包括将所述发射从全帧传输级别改变到降低的帧传输级别。
21.如权利要求19所述的方法,其中所述全帧传输级别包括I、B和P类型的视频帧,并且所降低的帧传输级别是从下面的组中选择的,所述组包括;
I和P视频帧传输级别;
I视频帧传输级别;和
第n个I视频帧传输级别。
22.如权利要求21所述的方法,其中从所述媒体流丢弃一种类型的视频帧包括:
监视所述缓冲器充满报告中的充满值;
确定所述重放设备上的音频缓冲器被耗尽;和
将所述发射从全帧传输级别改变到I和P视频帧传输级别。
23.如权利要求22的方法,其中从所述媒体流丢弃一种类型的视频帧进一步包括:
继续所述监视;
确定在重放设备上的音频缓冲器仍然被耗尽;和
将所述发射从I和P视频帧传输级别改变到I视频帧传输级别。
24.如权利要求23所述的方法,其中从所述媒体流丢弃一种类型的视频帧进一步包括:
继续所述监视;
确定所述重放设备上的音频缓冲器仍然被耗尽;和
将所述发射从I视频帧传输级别改变到第n个I视频帧传输级别。
25.如权利要求19所述的方法,进一步包括:
在从所述媒体流丢弃一种类型的视频帧之后,根据所述缓冲器充满包括确定所述音频缓冲器不再被耗尽;
在没有引起进一步耗尽所述音频缓冲器的情况下,测试所述网络以确定所丢弃的视频帧类型是否可以重新引入到所述媒体流中;和
如果重新引入将不会使得进一步耗尽所述音频缓冲器,就重新将所丢弃的视频帧类型引回到媒体流中。
26.如权利要求25所述的方法,其中所述发射开始以第一比特率进行,并且丢弃一种类型的视频帧能使得所述发射以降低的第二比特率进行,所述测试包括:
在确定所述音频缓冲器不再被耗尽之后,在监视缓冲器充满报告的同时,与所述媒体流一起发射增加数量的填充数据分组;和
如果所述填充数据分组和所述媒体流被一起进行发射,那么就将所述第二比特率增加回到第一比特率,从而重新将所丢弃的类型的视频帧引回到媒体流。
27.如权利要求25所述的方法,进一步包括,在将所丢弃的视频帧类型重新引回到媒体流的同时停止发射填充数据分组。
28.一种计算机系统,包括:
用于在网络上发射媒体流到重放设备的装置;
用于以可变速率从所述重放设备接收缓冲器充满报告的装置,所述变化速率依赖于网络带宽可用性;
用于如果所述缓冲器充满报告指示在重放设备上的音频缓冲器被耗尽,那么就从所述媒体流丢弃一种类型的视频帧的装置。
CN2005101199352A 2004-07-29 2005-07-29 在带宽有限网络上的媒体速率变换 Expired - Fee Related CN1756369B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/901,612 US7571246B2 (en) 2004-07-29 2004-07-29 Media transrating over a bandwidth-limited network
US10/901,612 2004-07-29

Publications (2)

Publication Number Publication Date
CN1756369A CN1756369A (zh) 2006-04-05
CN1756369B true CN1756369B (zh) 2010-06-09

Family

ID=35079192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101199352A Expired - Fee Related CN1756369B (zh) 2004-07-29 2005-07-29 在带宽有限网络上的媒体速率变换

Country Status (5)

Country Link
US (1) US7571246B2 (zh)
EP (1) EP1622385B1 (zh)
JP (1) JP4989054B2 (zh)
KR (1) KR101153153B1 (zh)
CN (1) CN1756369B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11541308B2 (en) * 2007-12-05 2023-01-03 Sony Interactive Entertainment LLC Methods for compressing video for streaming video game content to remote clients

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
FR2863130A1 (fr) * 2003-12-01 2005-06-03 Thomson Licensing Sa Dispositif et procede de preparation de donnees d'emission et produits correspondants
CN1630291A (zh) * 2003-12-15 2005-06-22 皇家飞利浦电子股份有限公司 播放内容的方法及装置
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
US8909807B2 (en) 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US9065595B2 (en) 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US11258531B2 (en) 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8719399B2 (en) 2005-04-07 2014-05-06 Opanga Networks, Inc. Adaptive file delivery with link profiling system and method
US8589508B2 (en) 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US7500010B2 (en) 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
US7974193B2 (en) 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8683066B2 (en) * 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
MY143832A (en) * 2005-05-13 2011-07-15 Thomson Licensing Security and transcoding system for transfer of content to portable devices
US7707485B2 (en) * 2005-09-28 2010-04-27 Vixs Systems, Inc. System and method for dynamic transrating based on content
US8792555B2 (en) * 2006-01-31 2014-07-29 Qualcomm Incorporated Methods and systems for resizing multimedia content
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8904456B2 (en) 2006-02-13 2014-12-02 Tvu Networks Corporation Methods, apparatus, and systems for providing media content over a communications network
US7711841B2 (en) * 2006-02-28 2010-05-04 Sharp Laboratories Of America, Inc. Systems and methods for reducing the effects of variations on the playback of streaming media
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
US20070276954A1 (en) * 2006-05-19 2007-11-29 Hong Kong University Of Science And Technology Low-Delay High Quality Video Streaming Using TCP
US7613198B2 (en) * 2006-06-30 2009-11-03 Sun Microsystems, Inc. Method and apparatus for dynamic assignment of network interface card resources
GB2440582A (en) * 2006-08-04 2008-02-06 Siemens Ag Resource allocation in a broadcast service
US7818474B2 (en) * 2006-09-29 2010-10-19 Hibbard Gary D Provisional load sharing buffer for reducing hard disk drive (HDD) activity and improving reliability and lifetime
US7974522B2 (en) 2006-09-29 2011-07-05 Hibbard Gary D Systems and methods to improve consumer product reliability and lifetime of a hard disk drive by reducing its activity
EP1947859A1 (en) * 2006-10-16 2008-07-23 British Telecommunications Public Limited Company Video transmission method and system
EP2080377A2 (en) * 2006-10-31 2009-07-22 THOMSON Licensing Method and apparatus for transrating bit streams
US8054847B2 (en) * 2006-10-31 2011-11-08 Hewlett-Packard Development Company, L.P. Buffer management in a network device
US7962637B2 (en) * 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
US7953880B2 (en) 2006-11-16 2011-05-31 Sharp Laboratories Of America, Inc. Content-aware adaptive packet transmission
US8745676B2 (en) * 2006-12-19 2014-06-03 General Instrument Corporation Admitting a data file into a channel
US9826197B2 (en) * 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US9053072B2 (en) * 2007-01-25 2015-06-09 Hewlett-Packard Development Company, L.P. End node transactions at threshold-partial fullness of storage space
US20080205389A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation Selection of transrate and transcode processes by host computer
US7706384B2 (en) * 2007-04-20 2010-04-27 Sharp Laboratories Of America, Inc. Packet scheduling with quality-aware frame dropping for video streaming
US7668170B2 (en) * 2007-05-02 2010-02-23 Sharp Laboratories Of America, Inc. Adaptive packet transmission with explicit deadline adjustment
US8055779B1 (en) 2007-05-10 2011-11-08 Adobe Systems Incorporated System and method using data keyframes
JP2008294957A (ja) * 2007-05-28 2008-12-04 Oki Electric Ind Co Ltd メディア変換システム、メディア変換方法、メディア変換プログラム、呼制御装置及びメディア変換装置
US9979931B2 (en) * 2007-05-30 2018-05-22 Adobe Systems Incorporated Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device
US8180029B2 (en) * 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US7987285B2 (en) * 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US8321581B2 (en) * 2007-10-19 2012-11-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8145780B2 (en) * 2007-10-19 2012-03-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8380874B2 (en) * 2007-10-19 2013-02-19 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8699678B2 (en) * 2007-10-19 2014-04-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8001261B2 (en) * 2007-10-19 2011-08-16 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8111713B2 (en) 2007-10-19 2012-02-07 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8090867B2 (en) * 2007-10-19 2012-01-03 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8682336B2 (en) * 2007-10-19 2014-03-25 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8706907B2 (en) * 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8391312B2 (en) * 2007-10-19 2013-03-05 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8141120B2 (en) * 2008-01-03 2012-03-20 Nec Laboratories America, Inc. Adaptive scheduling of streaming video over wireless networks
WO2009133427A1 (en) * 2008-04-28 2009-11-05 Nds Limited Frame accurate switching
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
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8693536B2 (en) * 2008-05-30 2014-04-08 Nec Corporation Server apparatus, communication method and program
US8619558B1 (en) * 2008-07-21 2013-12-31 Qlogic, Corporation Memory management in a network adapter
EP2308215B1 (en) * 2008-07-25 2012-03-14 Telefonaktiebolaget L M Ericsson (PUBL) Thinning of packet-switched video data
EP2169914B1 (en) * 2008-09-19 2014-04-02 Limelight Networks, Inc. Content delivery network and related method
KR101475991B1 (ko) * 2008-09-22 2014-12-23 인터내셔널 비지네스 머신즈 코포레이션 모바일 디바이스상에서 비디오를 플레이하기 위한 방법 및 시스템
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8095955B2 (en) * 2008-10-28 2012-01-10 Sony Corporation Methods and systems for improving network response during channel change
EP2356576A4 (en) 2008-11-07 2012-05-30 Opanga Networks Inc PORTABLE DATA STORAGE DEVICES THAT INITIATE DATA TRANSFERS USING HOST DEVICES
JP5347440B2 (ja) * 2008-11-10 2013-11-20 日本電気株式会社 動画像処理装置
JP5347441B2 (ja) * 2008-11-10 2013-11-20 日本電気株式会社 動画像処理装置
US20100121974A1 (en) * 2008-11-11 2010-05-13 Einarsson Torbjoem Stepwise probing for adaptive streaming in a packet communication network
US8380790B2 (en) * 2008-12-15 2013-02-19 Microsoft Corporation Video conference rate matching
US9009337B2 (en) * 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
CA2749170C (en) 2009-01-07 2016-06-21 Divx, Inc. Singular, collective and automated creation of a media guide for online content
GB2454606C (en) * 2009-02-02 2017-01-25 Skype Ltd Method of transmitting data in a communication system
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files
US8291107B1 (en) * 2009-06-08 2012-10-16 Sprint Spectrum L.P. Dynamic multimedia content change based on sector loading
JP2011009904A (ja) * 2009-06-24 2011-01-13 Hitachi Ltd 無線映像配信システム、コンテンツビットレート制御方法及びコンテンツビットレート制御プログラムを記憶したコンピュータ読み取り可能な記録媒体
WO2011022104A1 (en) 2009-08-19 2011-02-24 Opanga Networks, Inc. Optimizing channel resources by coordinating data transfers based on data type and traffic
WO2011022095A1 (en) 2009-08-19 2011-02-24 Opanga Networks, Inc Enhanced data delivery based on real time analysis of network communications quality and traffic
US8341255B2 (en) * 2009-10-06 2012-12-25 Unwired Planet, Inc. Managing network traffic by editing a manifest file
JP2011082934A (ja) * 2009-10-09 2011-04-21 Cloud Scope Technologies Inc ストリームデータ送信装置、方法、及びプログラム
US8587651B2 (en) * 2009-10-14 2013-11-19 Harris Corporation Surveillance system for transcoding surveillance image files while retaining image acquisition time metadata and associated methods
JP5538843B2 (ja) * 2009-12-03 2014-07-02 三菱電機株式会社 コンテンツ再生装置及び方法
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
CN101795264A (zh) * 2009-12-30 2010-08-04 北京新岸线网络技术有限公司 一种视频数据传送方法及系统
US8291460B1 (en) * 2010-02-12 2012-10-16 Adobe Systems Incorporated Rate adaptation based on dynamic performance monitoring
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
US9374231B2 (en) * 2010-03-22 2016-06-21 Alcatel Lucent Controller providing gradual transition of multiple terminals from unicast transmission
US8495196B2 (en) 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
CN102202210B (zh) * 2010-03-23 2013-07-17 上海威乾视频技术有限公司 手机播放实时监控视频的方法及播放实时监控视频的手机
US8422859B2 (en) * 2010-03-23 2013-04-16 Vixs Systems Inc. Audio-based chapter detection in multimedia stream
US20110235709A1 (en) * 2010-03-25 2011-09-29 Apple Inc. Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US8947492B2 (en) 2010-06-18 2015-02-03 Microsoft Corporation Combining multiple bit rate and scalable video coding
US8615160B2 (en) 2010-06-18 2013-12-24 Adobe Systems Incorporated Media player instance throttling
US8438226B2 (en) 2010-06-22 2013-05-07 International Business Machines Corporation Dynamic adjustment of user-received communications for a real-time multimedia communications event
US8667125B2 (en) * 2010-06-24 2014-03-04 Dish Network L.L.C. Monitoring user activity on a mobile device
US8832709B2 (en) 2010-07-19 2014-09-09 Flash Networks Ltd. Network optimization
JP5331773B2 (ja) 2010-10-14 2013-10-30 株式会社ソニー・コンピュータエンタテインメント 動画再生装置、情報処理装置および動画再生方法
US8483286B2 (en) * 2010-10-27 2013-07-09 Cyberlink Corp. Batch processing of media content
US9001886B2 (en) 2010-11-22 2015-04-07 Cisco Technology, Inc. Dynamic time synchronization
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
US8683013B2 (en) 2011-04-18 2014-03-25 Cisco Technology, Inc. System and method for data streaming in a computer network
KR101351461B1 (ko) * 2011-08-02 2014-01-14 주식회사 케이티 동영상 전송률 제어 시스템 및 방법, 그리고 동영상 변환 방법
US20130041948A1 (en) * 2011-08-12 2013-02-14 Erick Tseng Zero-Click Photo Upload
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
JP5874730B2 (ja) * 2011-09-21 2016-03-02 日本電気株式会社 コンテンツ配信システム、キャッシュサーバおよびコンテンツ配信方法
US8898717B1 (en) 2012-01-11 2014-11-25 Cisco Technology, Inc. System and method for obfuscating start-up delay in a linear media service environment
US9591098B2 (en) * 2012-02-01 2017-03-07 Cisco Technology, Inc. System and method to reduce stream start-up delay for adaptive streaming
KR20130099515A (ko) * 2012-02-29 2013-09-06 삼성전자주식회사 키 프레임을 이용하여 컨텐츠를 재생하는 단말기의 장치 및 방법
KR101406425B1 (ko) * 2012-10-22 2014-06-27 광운대학교 산학협력단 홈내 네트워크 상태에 따라 차등적인 미디어 콘텐츠를 제공하는 방법 및 시스템
US9100698B2 (en) 2012-10-26 2015-08-04 Motorola Solutions, Inc. Systems and methods for sharing bandwidth across multiple video streams
KR20140070896A (ko) * 2012-11-29 2014-06-11 삼성전자주식회사 비디오 스트리밍 방법 및 그 전자 장치
KR102079039B1 (ko) * 2012-12-20 2020-04-07 현대모비스 주식회사 저속 직렬 통신을 이용한 화면 정보 전송/수신 장치 및 방법
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9578333B2 (en) * 2013-03-15 2017-02-21 Qualcomm Incorporated Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9148386B2 (en) 2013-04-30 2015-09-29 Cisco Technology, Inc. Managing bandwidth allocation among flows through assignment of drop priority
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US10009628B2 (en) 2013-06-07 2018-06-26 Apple Inc. Tuning video compression for high frame rate and variable frame rate capture
KR102080116B1 (ko) * 2013-06-10 2020-02-24 삼성전자 주식회사 이동통신 시스템에서 비디오 비트레이트 할당 방법 및 장치
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9923945B2 (en) 2013-10-10 2018-03-20 Cisco Technology, Inc. Virtual assets for on-demand content generation
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
KR20150124796A (ko) * 2014-04-29 2015-11-06 삼성전자주식회사 무선 환경에서 usb 통신을 위한 데이터 전송을 제어하는 방법 및 장치
KR20150128151A (ko) * 2014-05-08 2015-11-18 삼성전자주식회사 비디오 스트리밍 방법 및 이를 지원하는 전자 장치
CN105451099B (zh) * 2014-08-19 2019-01-01 北京大学 视频码率调整方法和装置
US9749668B2 (en) * 2014-08-29 2017-08-29 Verizon Patent And Licensing Inc. Automated account crediting after interruption or failure of paid content delivery
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
GB2541736B (en) * 2015-08-28 2019-12-04 Imagination Tech Ltd Bandwidth management
GB2541733B (en) * 2015-08-28 2019-02-13 Imagination Tech Ltd Bandwidth Management
CN105992043A (zh) * 2015-10-15 2016-10-05 乐视致新电子科技(天津)有限公司 一种数据处理的方法及装置
CN105357570B (zh) * 2015-11-03 2018-10-23 上海熙菱信息技术有限公司 一种基于帧分析的视频流分析方法及系统
WO2017077020A1 (en) * 2015-11-06 2017-05-11 Koninklijke Kpn N.V. Contiguous streaming of media stream
JP6642016B2 (ja) * 2016-01-12 2020-02-05 船井電機株式会社 配信装置および情報機器
JP6977711B2 (ja) * 2016-03-28 2021-12-08 ソニーグループ株式会社 情報処理装置および情報処理方法、並びに情報処理システム
CN106028139A (zh) * 2016-05-16 2016-10-12 乐视控股(北京)有限公司 降帧率的实时转码方法和装置
US10148964B2 (en) * 2016-11-03 2018-12-04 Ujet, Inc. Image quality management
US10349105B2 (en) * 2016-11-14 2019-07-09 Arris Enterprises Llc Channel change processing using stored content
CN106791997B (zh) * 2016-12-29 2020-08-04 Tcl科技集团股份有限公司 一种在接收端的流媒体数据的处理方法及系统、电视终端
US10785279B2 (en) 2016-12-29 2020-09-22 Facebook, Inc. Video encoding using starve mode
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
CN106998268A (zh) * 2017-04-05 2017-08-01 网宿科技股份有限公司 一种基于推流终端网络状况的优化方法和系统以及推流终端
US20190068678A1 (en) * 2017-08-31 2019-02-28 Whatsapp Inc. Techniques to dynamically engage an all-intra-coded mode for streaming video encoding
CN111066329A (zh) * 2017-09-08 2020-04-24 连株式会社 控制视频质量
US10862938B1 (en) 2018-06-21 2020-12-08 Architecture Technology Corporation Bandwidth-dependent media stream compression
US10812562B1 (en) 2018-06-21 2020-10-20 Architecture Technology Corporation Bandwidth dependent media stream compression
US10805658B2 (en) * 2018-09-12 2020-10-13 Roku, Inc. Adaptive switching in a whole home entertainment system
EP3791568A4 (en) * 2018-10-03 2022-02-23 Videolocalize Inc. PIECE-BY-PIECE HYBRID VIDEO AND AUDIO SYNCHRONIZATION
US11025987B2 (en) * 2019-08-15 2021-06-01 Hulu, LLC Prediction-based representation selection in video playback
US20210096904A1 (en) * 2019-09-28 2021-04-01 Tencent America LLC Method and apparatus for a step-enabled workflow
KR20210050752A (ko) 2019-10-29 2021-05-10 삼성전자주식회사 전자장치 및 그 제어방법
US11172238B1 (en) * 2020-02-05 2021-11-09 Visualon, Inc. Multiple view streaming
US11240540B2 (en) * 2020-06-11 2022-02-01 Western Digital Technologies, Inc. Storage system and method for frame trimming to optimize network bandwidth
US11432035B2 (en) * 2020-07-15 2022-08-30 At&T Intellectual Property I, L.P. Adaptive streaming with demuxed audio and video tracks
US11812081B2 (en) 2020-11-02 2023-11-07 Hulu, LLC Session based adaptive playback profile decision for video streaming

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195977A1 (en) * 2002-04-11 2003-10-16 Tianming Liu Streaming methods and systems

Family Cites Families (36)

* 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
US5563961A (en) 1994-03-03 1996-10-08 Radius Inc. Video data compression method and system which measures compressed data storage time to optimize compression rate
GB9410943D0 (en) * 1994-06-01 1994-07-20 Newbridge Networks Corp Clock recovery unit
JPH08191451A (ja) 1995-01-10 1996-07-23 Canon Inc 動画像送信装置
US5758076A (en) 1995-07-19 1998-05-26 International Business Machines Corporation Multimedia server system having rate adjustable data retrieval based on buffer capacity
US5909443A (en) 1997-01-03 1999-06-01 International Business Machines Corporation ATM network congestion control system using explicit rate cell marking
JP3393143B2 (ja) 1997-02-26 2003-04-07 三菱電機株式会社 ビデオデータ配信方法、ビデオデータ配信システム、並びに、そのビデオデータ配信方法
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
JPH11239163A (ja) 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> Lan間フロー制御方法及びスイッチ
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
US6519004B1 (en) * 1998-10-09 2003-02-11 Microsoft Corporation Method for transmitting video information over a communication channel
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
US6507587B1 (en) * 1998-10-09 2003-01-14 Microsoft Corporation Method of specifying the amount of bandwidth to reserve for use in network communications
US7423983B1 (en) 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US7170856B1 (en) 1999-08-19 2007-01-30 Nokia Inc. Jitter buffer for a circuit emulation service over an internet protocol network
US6611530B1 (en) * 1999-09-21 2003-08-26 Hewlett-Packard Development Company, L.P. Video communication using multiple streams
JP2001103565A (ja) 1999-09-30 2001-04-13 Toshiba Corp 移動無線端末
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 엘지전자 주식회사 주문형 비디오 시스템에서 동영상의 스트리밍 방법
JP4705265B2 (ja) * 2001-04-19 2011-06-22 三菱電機株式会社 映像または音声伝送システム
US7000025B1 (en) 2001-05-07 2006-02-14 Adaptec, Inc. Methods for congestion mitigation in infiniband
US7151749B2 (en) * 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
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
EP1428357A1 (en) 2001-09-21 2004-06-16 British Telecommunications Public Limited Company Data communications method and system using receiving buffer size to calculate transmission rate for congestion control
US6860609B2 (en) * 2001-12-26 2005-03-01 Infocus Corporation Image-rendering device
US7155532B2 (en) * 2002-01-04 2006-12-26 Scientific-Atlanta, Inc. Transmitting streams over asynchronous networks
FR2842683B1 (fr) 2002-07-22 2005-01-14 Cit Alcatel Dispositif de multiplexage, dispositif de multiplexage et systeme de multiplexage/demultiplexage
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
GB0304808D0 (en) * 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Managing data transmission
US7603475B2 (en) * 2003-03-31 2009-10-13 Alcatel-Lucent Usa Inc. Method for flow control in a communication system
US7844727B2 (en) * 2003-04-24 2010-11-30 Nokia Corporation Method and device for proactive rate adaptation signaling
US20060026181A1 (en) * 2004-05-28 2006-02-02 Jeff Glickman Image processing systems and methods with tag-based communications protocol

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195977A1 (en) * 2002-04-11 2003-10-16 Tianming Liu Streaming methods and systems

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HOJUNG CHA,JAEHAK OH.Dynamic Frame Dropping for Bandwidth Control InMPEGStreaming System.Multimedia Tools and Application19.2003,19155-178. *
Zheng Atiquzzaman.TSFD: Two Stage Dropping for Scalable VideoTransmissionover Data Network.2001
Zheng,Atiquzzaman.TSFD: Two Stage Dropping for Scalable VideoTransmissionover Data Network.2001,43-47. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11541308B2 (en) * 2007-12-05 2023-01-03 Sony Interactive Entertainment LLC Methods for compressing video for streaming video game content to remote clients

Also Published As

Publication number Publication date
JP4989054B2 (ja) 2012-08-01
EP1622385A1 (en) 2006-02-01
EP1622385B1 (en) 2019-11-13
CN1756369A (zh) 2006-04-05
US7571246B2 (en) 2009-08-04
JP2006060802A (ja) 2006-03-02
KR20060048952A (ko) 2006-05-18
KR101153153B1 (ko) 2012-06-11
US20060026294A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
CN1756369B (zh) 在带宽有限网络上的媒体速率变换
CN100456284C (zh) 用于流媒体的分散高速缓存
KR102039778B1 (ko) 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
CN1825955B (zh) 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移
US7792982B2 (en) System and method for distributing streaming content through cooperative networking
JP3653569B2 (ja) ビデオをオン・デマンドでレンダリングするvcrに似た機能
WO2017161998A1 (zh) 视频处理方法和装置、计算机存储介质
JP4620041B2 (ja) 確率的適応コンテンツ・ストリーミング
US20080189429A1 (en) Apparatus and method for peer-to-peer streaming
CN111800218B (zh) 一种数据流的传输方法和设备
MXPA05013618A (es) Estrategias de reintento para utilizarse en un ambiente de flujo.
US20230060066A1 (en) Data transmission method and apparatus, computer readable medium, and electronic device
KR20060115216A (ko) 멀티미디어 스트리밍 송신 장치 및 방법
US20220272397A1 (en) Methods and systems for providing video at multiple bit rates
CN102648584A (zh) 使用前向纠错检验可用带宽的系统、方法和介质
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
US9184928B2 (en) Communications terminal, communications method, and program and integrated circuit for controlling a reproduction delay time in distributing a stream
JP2001526007A (ja) 低信頼性ネットワークに関するオーディオサーバシステム
JP2005051299A (ja) パケット送信装置、パケット受信装置、パケット送信方法及びパケット受信方法
JP3927486B2 (ja) ストリーミング配信装置、ストリーミング配信システム、及びストリーミング配信方法
KR101051710B1 (ko) 복수의 세션 설정 방법 및 이를 이용하는 노드
JP4392378B2 (ja) 音声符号化選択制御方法
JP2004220183A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JP6555853B2 (ja) 送信装置、送信制御方法及びプログラム
JP2004221756A (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20100609

Termination date: 20200729