CN103814562B - 用信号表示片段的特性以用于媒体数据的网络流式传输 - Google Patents
用信号表示片段的特性以用于媒体数据的网络流式传输 Download PDFInfo
- Publication number
- CN103814562B CN103814562B CN201280045731.7A CN201280045731A CN103814562B CN 103814562 B CN103814562 B CN 103814562B CN 201280045731 A CN201280045731 A CN 201280045731A CN 103814562 B CN103814562 B CN 103814562B
- Authority
- CN
- China
- Prior art keywords
- fragment
- group
- respective segments
- priority value
- expression
- 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
Links
- 239000012634 fragment Substances 0.000 title claims abstract description 680
- 230000005540 biological transmission Effects 0.000 title claims abstract description 15
- 230000014509 gene expression Effects 0.000 claims abstract description 117
- 230000003044 adaptive effect Effects 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 59
- 230000002085 persistent effect Effects 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 21
- 230000009471 action Effects 0.000 description 19
- 238000002360 preparation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000012092 media component Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012854 evaluation process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 206010021403 Illusion Diseases 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/4424—Monitoring 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
从服务器检索视频数据,在所述视频数据的检索期间,客户端装置接收指示多媒体内容的表示的位速率的信息。另外,所述客户端装置接收指示所述表示的片段的优先级值的信息。所述片段对应于所述表示的特定时间区段。所述客户端装置基于所述片段的所述优先级值和所估计通过量请求所述片段中的选定者。在一些例子中,所述客户端装置根据例如经由HTTP的动态自适应流式传输DASH等自适应流式传输网络协议请求所述片段。
Description
本申请案主张2011年9月21日申请的第61/537,407号美国临时专利申请案的权益,所述临时专利申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及媒体数据的网络流式传输。
背景技术
已开发出许多技术来经由通信网络流式传输媒体数据。这些技术包含超文本传送协议流式传输(HTTP流式传输),例如经由HTTP的动态自适应流式传输(DASH)。在DASH中,多媒体内容以多种不同方式编码,从而产生多媒体内容的不同表示。所述表示的每一者划分为一系列片段。所述片段含有表示多媒体内容的样本的数据。举例来说,片段的每一者可表示多媒体内容的样本的不同三秒序列。片段的每一者可具有不同统一资源定位符(URL)。
在DASH中,客户端装置接收描述多媒体内容的各种表示的特性的清单文件(manifest file)。清单文件可含有指示所述表示的片段的URL的信息。为从服务器装置流式传输多媒体内容的数据,客户端随时间将例如GET或部分GET请求等请求发送到服务器。所述请求指定如清单文件中指示的特定表示的片段的URL。当客户端装置从服务器装置接收片段时,客户端装置处理所述片段(例如,解码并再现片段的经译码视频数据)以呈现所述片段表示的媒体内容的样本。
发明内容
大体来说,本发明的技术针对当将多媒体内容的数据经由网络从服务器装置流式传输到客户端装置时提供并使用信息来改进用户体验。以各种位速率编码多媒体内容的各个表示。较高位速率表示可提供相对较高回放质量,而较低位速率表示可提供较有效带宽利用率。内容准备装置形成所述表示。另外,内容准备装置可产生信令多媒体内容的片段的优先级的优先级值。在一些实例中,特定片段的优先级值指示客户端装置应向相对较高还是较低位速率表示请求片段的数据。以此方式,客户端装置可获得描述各个表示的优先级的信息,且基于优先级确定从其检索多媒体内容的片段的表示。
在一个实例中,本发明描述一种用于处理视频数据的方法。所述方法包括确定所估计通过量。所述方法还包括至少部分基于所述所估计通过量以及多媒体内容的表示的片段的优先级值选择所述片段的一者或一者以上。所述表示包含以不同位速率编码的视频数据,片段的每一者可个别检索,且所述片段对应于所述表示的特定时间区段。所述方法还包括处理所述一个或一个以上选定片段。
在另一实例中,本发明描述一种包括一个或一个以上处理器的计算装置,所述一个或一个以上处理器经配置以确定所估计通过量。所述一个或一个以上处理器经配置以至少部分基于所述所估计通过量以及多媒体内容的表示的片段的优先级值选择所述片段的一者或一者以上。所述表示包含以不同位速率编码的视频数据,片段的每一者可个别检索,且所述片段对应于所述表示的特定时间区段。所述一个或一个以上处理器还经配置以处理所述一个或一个以上选定片段。
在又一实例中,本发明描述一种包括用于确定所估计通过量的装置的计算装置。所述计算装置还包括用于至少部分基于所述所估计通过量以及多媒体内容的表示的片段的优先级值选择所述片段的一者或一者以上的装置。所述表示包含以不同位速率编码的视频数据,片段的每一者可个别检索,且所述片段对应于所述表示的特定时间区段。另外,所述计算装置还包括用于处理所述一个或一个以上选定片段的装置。
在又一实例中,本发明描述一种上面存储有指令的计算机可读存储媒体,所述指令当执行时致使处理器确定所估计通过量。所述指令还致使处理器至少部分基于所述所估计通过量以及多媒体内容的表示的片段的优先级值选择所述片段的一者或一者以上。所述表示包含以不同位速率编码的视频数据,片段的每一者可个别检索,且所述片段对应于所述表示的特定时间区段。所述指令还致使处理器处理所述一个或一个以上选定片段。
在又一实例中,本发明描述一种用于经由自适应流式传输网络协议提供视频数据的方法。所述方法包括发送指示片段的优先级值的信息。片段的每一者可个别检索。所述片段对应于多媒体内容的表示的特定时间区段。多媒体内容的表示的每一者包含以不同位速率编码的视频数据。另外,所述方法包括响应于来自客户端装置的一个或一个以上请求经由自适应流式传输网络协议发送所请求的片段,所述所请求的片段是所述请求指定的片段中的片段。
在又一实例中,本发明描述一种包括一个或一个以上处理器的计算装置,所述一个或一个以上处理器经配置以发送指示片段的优先级值的信息。片段的每一者可个别检索。所述片段对应于多媒体内容的表示的特定时间区段。多媒体内容的表示的每一者包含以不同位速率编码的视频数据。所述一个或一个以上处理器还经配置以响应于来自客户端装置的一个或一个以上请求经由自适应流式传输网络协议发送所请求的片段。所述所请求的片段是所述请求指定的片段中的片段。
在又一实例中,本发明描述一种包括用于发送指示片段的优先级值的信息的装置的计算装置。片段的每一者可个别检索。所述片段对应于多媒体内容的表示的特定时间区段。多媒体内容的表示的每一者包含以不同位速率编码的视频数据。所述计算装置还包括用于响应于来自客户端装置的一个或一个以上请求经由自适应流式传输网络协议发送所请求的片段的装置。所述所请求的片段是所述请求指定的片段中的片段。
在又一实例中,本发明描述一种上面存储有指令的计算机可读存储媒体,所述指令当执行时致使处理器发送指示片段的优先级值的信息。片段的每一者可个别检索。所述片段对应于多媒体内容的表示的特定时间区段。多媒体内容的表示的每一者包含以不同位速率编码的视频数据。指令的执行还致使计算装置响应于来自客户端装置的一个或一个以上请求经由自适应流式传输网络协议发送所请求的片段。所述所请求的片段是所述请求指定的片段中的片段。
本发明的一个或一个以上方面的细节在附图及以下描述中陈述。从描述和图式并从权利要求书将明白本发明中所描述的技术的其它特征、目的和优点。
附图说明
图1是说明实例系统的概念图,其中客户端装置经由网络与服务器装置通信以向用户呈现媒体内容。
图2是说明包括帧的实例视频的概念图。
图3是说明服务器装置的实例配置的框图。
图4是说明用以准备供检索的媒体源的实例操作的流程图。
图5是说明客户端装置的实例配置的框图。
图6是说明由客户端装置执行以向用户呈现媒体内容的实例操作的流程图。
图7是说明由客户端装置执行以选择用于即将到来的时间周期的片段组合的实例操作的流程图。
图8是说明由客户端装置执行以选择用于即将到来的时间周期的片段组合的实例操作的流程图。
图9是说明实例计算装置的框图。
具体实施方式
大体来说,本发明的技术针对当将多媒体内容的数据经由网络流式传输时提供并使用信息来改进用户体验。内容递送系统的装置可将多媒体内容的各个表示组合以提供客户端装置的各种解码和再现能力。举例来说,内容准备装置可产生具有各种屏幕大小、二维、三维或多视图回放、帧速率、用于屏幕上呈现的隐藏式字幕或其它文本的各种语言、符合各种简档和/或层级的各种标准的解码器或其它特性的装置的表示。此外,内容准备装置可以各种位速率编码具有类似译码和再现特性的表示的集合,以适应网络带宽可用性方面的波动。以此方式,客户端装置可确定适于客户端装置的解码和再现能力的表示的集合,确定网络带宽的可用量,且请求来自所确定集合中的表示的一者的数据。
根据本发明的技术,内容准备装置可以多媒体内容的各个时间区段的优先级值的形式向客户端装置提供提示信息。举例来说,内容准备装置可提供每一表示的每一片段或多媒体内容的时间区段(例如,子片段)的优先级值。所述优先级值可通常指示多媒体内容的特定时间区段的较高质量视频数据的相对重要性。另外或作为替代,优先级值可指示选择来自高位速率表示的片段与来自低位速率表示的片段之间的相对量的质量差。
客户端装置可经配置以当确定所请求的用于多媒体内容的特定时间区段的片段来自于的表示时,除确定可用带宽的量外,还分析优先级值。以此方式,客户端装置可经配置以向用户提供更令人满意的用户体验。举例来说,客户端装置可确定用于多个即将到来的片段的可用网络带宽的量。代替于向可由经确定在即将到来的片段上可用的带宽满足的最高位速率表示请求数据,客户端装置可经配置以向较低位速率表示请求具有相对低优先级的片段,且向较高位速率表示请求具有相对高优先级的片段。以此方式,客户端装置可针对高优先级时间区段接收比原本会接收到的视频数据具有相对较高质量的视频数据,且可针对低优先级时间区段接收在位速率方面更有效率的数据。
附图说明本发明中描述的技术的实例。附图中由参考数字指示的元件对应于以下描述中由相同参考数字指示的元件。在附图中,椭圆形指示存在类似于由所述椭圆形分隔的元件的一个或一个以上元件。此外,附图中的堆叠元件指示存在一个或一个以上类似元件。类似元件的参考数字上的字母后缀不希望指示存在特定数目的元件。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三”等)开头的名称的元件不一定暗示所述元件具有特定次序。而是,此类序数词仅用于指代类似元件。
图1是说明实例系统100的概念图,其中客户端装置102经由网络106与服务器装置104通信,以向用户108呈现媒体内容的数据。客户端装置102和服务器装置104分别包括一个或一个以上计算装置。客户端装置102和服务器装置104可包括各种类型的计算装置。举例来说,图1将客户端装置102说明为膝上型计算机。在其它实例中,客户端装置102可包含桌上型计算机、平板计算机、智能电话、电视机顶盒、车载计算机、视频游戏机、个人媒体播放器,或另一类型的计算装置。此外,图1的实例将服务器装置104说明为独立服务器装置。在其它实例中,服务器装置104可包括一个或一个以上刀片式服务器装置、桌上型计算机、主计算机,和/或其它类型的计算装置。
网络106可促进客户端装置102与服务器装置104之间的通信。网络106可包括一组计算装置以及所述计算装置之间的通信链路。网络106可包含各种类型的计算装置。举例来说,网络106可包含路由器、桥接器、高速缓冲存储器系统、内容递送系统、防火墙装置、集线器,和其它类型的中间网络装置。在一些实例中,网络106包括因特网。此外,在一些实例中,网络106包括局域网。
网络106可以给定带宽在客户端装置102与服务器装置104之间发射数据。举例来说,网络106可能够以7兆位/秒(Mbps)的带宽将数据从服务器装置104发射到客户端装置102。给定带宽可在一些情形下改变。举例来说,如果网络106归因于高流量水平而变得拥塞,那么网络106能够将数据从服务器装置104发射到客户端装置102的速率可从7Mbps下降到5Mbps。在此实例中,网络106能够将数据从服务器装置104发射到客户端装置102的速率可稍后从5Mbps增加到8Mbps,等等。
用户可出于各种目的使用客户端装置102。举例来说,用户可将客户端装置102用于工作、家庭用途、娱乐或其它目的。用户可选择在使用客户端装置102的同时查看多媒体内容(通常也称为媒体内容)。举例来说,用户可与客户端装置102执行的网络浏览器应用程序或其它应用程序交互以请求查看多媒体内容。在此实例中,多媒体内容可由服务器装置104存储。作为一实例,用户可选择通过选择多媒体内容的超链接而查看媒体内容。多媒体内容可包含连续媒体。连续媒体可为具有固有时间概念的媒体。举例来说,媒体内容可包含视频流、音频流、语音流或另一类型的媒体。
媒体内容可包括时间序列。如DASH标准中界定,时间序列可包含一个或一个以上周期。所述周期的每一者是媒体内容的时间区段。在各个实例中,媒体内容的时间区段具有各种时间长度。举例来说,媒体内容的周期可对应于10秒与60秒之间的时间长度。
服务器104可存储所述周期的每一者的多个表示。所述表示的每一者可具有特定特性,例如适应客户端装置的各种译码和/或再现能力,以及在各种位速率下译码。服务器装置104可存储具有共同译码和再现特性但不同位速率的表示的集合,其中此表示的集合可形成自适应集合。自适应集合的表示可以不同位速率译码。举例来说,媒体内容的周期的第一表示可以3.0Mbps的位速率译码。在此实例中,所述周期的第二表示可以1.5Mbps的位速率译码。在此实例中,所述周期的第三表示可以500千位/秒(Kbps)的位速率译码。
所述表示的每一者划分为一个或一个以上片段,表示的片段的每一者对应于所述表示的不同时间区段。在各个实例中,所述片段可对应于具有各种时间长度的时间区段。举例来说,表示的片段的每一者可对应于具有近似2秒回放持续时间的表示的时间区段。在其它实例中,片段和周期可具有更短或更长的时间回放持续时间。
片段的每一者可包含表示媒体内容的经译码样本的序列的数据。对应于片段的时间区段包含所述片段所表示的经译码样本的序列。举例来说,片段的每一者可表示帧、切片、图片群组,或视频数据的其它经译码单元的序列。在此实例中,如果视频的帧根据从0开始的帧编号值编索引,那么视频的第一片段可表示帧编号0到74,视频的第二片段可表示帧编号75到149,视频的第三片段可表示帧编号150到224,等等。在另一实例中,如果媒体内容包含视频流,那么片段的每一者可表示视频样本的序列。客户端装置102可使用片段中的数据回放所述片段所表示的样本的序列。
在其中媒体内容包含视频数据的实例中,片段的每一者可包含在经译码网络抽象层(NAL)单元的序列中。NAL单元当解码时形成视频帧。帧的每一者可包括静态图像。当客户端装置102向用户108呈现视频时,客户端装置102快速连续地(例如,25帧/每秒(fps))向用户108显示帧。当客户端装置102快速连续地显示帧时,用户108可感知帧中的对象在运动中。在其中媒体内容包含音频流的实例中,媒体内容可包含音频样本的序列。当客户端装置102呈现音频流时,客户端装置102可将音频样本转换为声波。
根据DASH的技术,多媒体内容的周期的片段可(但不一定)时间上对准。当片段在一周期内时间上对准时,所述周期的表示的每一者可包含对应于周期内的相同时间区段的片段。即,当片段时间上对准时,所述周期的每一表示的第n片段可对应于相同时间区段。不同表示的片段可时间上对准。举例来说,媒体内容可包含片段对准旗标,其指示对于两个表示X和Y,X的第m片段是否可与Y的第n片段重叠,其中m不等于n。
为方便阐释,本发明使用术语“片段群组”指代表示媒体内容的相同时间区段的片段。对应于媒体内容的不同时间区段的片段在不同片段群组中。即,片段群组可包含当多媒体内容的周期的片段时间上对准时所述周期的每一表示的第n片段。
根据本发明的技术,媒体内容的片段、片段群组或时间区段的每一者与优先级值相关联。服务器装置104可向媒体内容的片段、片段群组或时间区段指派优先级值。服务器装置104可提供例如清单文件、片段索引框或经译码媒体流中的另一元数据框等数据结构,其包含指示片段或片段群组的优先级值的信息。在各个实例中,片段以各种方式与优先级值相关联。举例来说,可向每一表示的每一片段指派单独优先级值。在另一实例中,可向媒体内容的每一片段群组或时间区段指派单独优先级值。在此实例中,给定片段群组中的片段的每一者(即,表示媒体内容中的给定时间区段的片段的每一者)可与同一优先级值相关联。
优先级值可通常指示在特定时间区段处检索媒体内容的数据的高质量版本的相对重要性。举例来说,高优先级值可指示对于对应的时间区段,客户端装置102应试图检索所述时间区段的数据的相对高质量版本(例如,来自相对高位速率表示的片段)。作为另一实例,低优先级值可指示对于对应的时间区段,客户端装置102将不会由于检索所述时间区段的数据的较低质量但较带宽有效版本而经历用户体验的很大降级。以此方式,优先级值可提供在存在足够可用带宽以从相对较高位速率表示检索至少一些片段但不存在足够可用带宽以从最高位速率表示检索所有片段的情况下客户端装置102可用来选择来自媒体内容的表示的片段的信息。
客户端装置102可例如通过检索媒体内容的清单文件而接收指示与片段相关联的优先级值的信息。另外,客户端装置102可例如通过检索媒体内容的清单文件而接收指示片段的位速率的信息。随后,客户端装置102可执行在媒体内容的每一周期内选择每一片段群组的片段的选择操作。在选择操作期间,客户端装置102可估计客户端装置102能够接收来自服务器104的片段时所处的带宽。此外,在选择操作期间,客户端装置102可基于所估计的带宽以及针对片段和/或片段群组相关联的优先级值选择片段。在一些实例中,客户端装置102可基于所估计的带宽、与片段相关联的优先级值以及另外回放缓冲器中视频数据的当前回放持续时间选择片段。举例来说,客户端装置102可针对即将到来的时间周期选择片段组合。在此实例中,片段组合可包含在即将到来的时间周期中来自每一片段群组的一个片段。在此实例中,客户端装置102可选择片段组合中的片段使得选定片段的累积位速率不实质上大于所估计带宽。在另一实例中,客户端装置102可选择片段组合中的片段使得选定片段的所估计传送时间小于或等于选定片段的回放持续时间加上回放缓冲器中视频数据的当前回放持续时间。在此实例中,选定片段的所估计传送时间可基于选定片段中位的总数和所估计带宽或其它所估计通过量。此外,在此实例中,客户端装置102可基于即将到来的时间周期的片段群组中片段的优先级值选择片段。所估计带宽可为服务器装置104能够向客户端装置102提供数据所处的带宽的估计值。
通过基于所估计带宽、优先级值以及(在一些实例中)回放缓冲器中视频数据的当前回放持续时间来选择片段,客户端装置102可能够在给定所估计带宽的情况下相对于简单地仅基于与可用带宽相比一个表示的位速率仅选择所述一个表示,而选择提供改进的用户体验的片段。如本发明中其它地方所描述,客户端装置102可使用优先级值选择片段且可以各种方式产生所估计带宽。
客户端装置102可根据自适应流式传输网络协议请求选定片段。自适应流式传输网络协议可允许自适应地改变选定片段的位速率。在各个实例中,客户端装置102可以各种方式请求选定片段。举例来说,客户端装置102可通过将片段请求消息发送到服务器装置104而请求选定片段。片段请求消息可包括如HTTP/1.1(RFC2616)中指定的GET或部分GET请求。客户端装置102可使用GET请求检索与给定统一资源定位符(URL)或统一资源名称(URN)相关联的整个文件。部分GET请求可类似于GET请求,只是客户端装置可将字节范围指定为到GET请求的输入参数以检索请求指定的文件的对应于部分GET请求中指定的字节范围的文件的连续数目的字节。因此,可提供电影碎片用于网络流式传输,因为客户端装置102可提交部分GET请求以检索片段的一个或一个以上个别电影碎片。
当客户端装置102请求选定片段时,服务器装置104可将选定片段的副本发送到客户端装置102。当客户端装置102接收片段的副本时,客户端装置102可解码并再现片段的副本以产生片段表示的样本。客户端装置102可接着输出所述样本。举例来说,如果媒体内容包含音频流,那么客户端装置102可通过将样本转换为声波而输出样本。同样,如果媒体内容包含视频数据,那么客户端装置102可以特定帧速率输出样本作为经重建图片。以此方式,通过发送片段请求消息并处理响应于片段请求接收的片段,客户端装置102可从服务器装置104检索媒体内容的数据。此外,通过随时间周期性发送片段请求消息,客户端装置102可从服务器装置104流式传输媒体内容的数据。
因此,本发明的技术可适用于例如根据经由HTTP的动态自适应流式传输(DASH)的网络流式传输协议(例如,HTTP流式传输)。在使用DASH流式传输媒体数据的实例中,可存在多媒体内容的视频和/或音频数据的多个表示。此类表示的清单可在媒体呈现描述(MPD)数据结构中界定。媒体呈现可对应于HTTP流式传输客户端装置(例如,客户端装置102)可存取的数据的结构化集合。HTTP流式传输客户端装置可请求并下载媒体数据信息以向客户端装置的用户呈现流式传输服务。媒体呈现可在MPD数据结构中描述,MPD数据结构可包含MPD的更新。
媒体内容可含有一个或一个以上周期的序列。周期可由MPD中的周期元素界定。每一周期可具有MPD中的属性开始。MPD可包含每一周期的开始属性和可用开始时间属性。对于实况服务,周期的开始属性和MPD属性可用开始时间的总和可以UTC格式指定周期的可用性时间,特定来说对应周期中的每一表示的第一媒体片段。对于按需服务,第一周期的开始属性可为0。对于任何其它周期,开始属性可指定对应周期的开始时间相对于第一周期的开始时间之间的时间偏移。每一周期可延长直到下一周期的开始,或在最后周期的情况下直到媒体内容的结束。周期开始时间可为精确的。其可反映由于播放所有先前周期的媒体而产生的实际定时。
每一周期可含有相同媒体内容的一个或一个以上表示。表示可为音频或视频数据的若干替代经编码版本的一者。所述表示可依据编码类型(例如,依据位速率、分辨率,和/或针对视频数据和位速率的编解码器、语言,和/或针对音频数据的编解码器)而不同。术语表示可用于指代经编码音频或视频数据的对应于多媒体内容的特定周期且以特定方式编码的区段。
可向MPD中的群组属性指示的群组指派特定周期的表示。同一群组中的表示通常视为彼此的替代。举例来说,可向同一群组指派特定周期的视频数据的每一表示,使得所述表示的任一者可经选择用于解码以显示对应周期的多媒体内容的视频数据。一个周期内的媒体内容可由来自群组0(如果存在)的一个表示或来自每一非零群组的至多一个表示的组合(在一些实例中)表示。周期的每一表示的定时数据可相对于周期的开始时间表达。
表示可包含一个或一个以上片段。每一表示可包含初始化片段,且表示的每一片段可自行初始化。当存在时,初始化片段可含有用于存取所述表示的初始化信息。通常来说,初始化片段不含有媒体数据。片段可由例如URL、URN或统一资源识别符(URI)等识别符唯一地表示。MPD可提供每一片段的识别符。在一些实例中,MPD还可以范围属性的形式提供字节范围,其可对应于URL、URN或URI可存取的文件内的片段的数据。
在H.264/AVC(先进视频译码)的实例中,经译码视频样本组织为网络抽象层(NAL)单元,其提供例如视频电话、存储、广播或流式传输等“网络友好”视频表示寻址应用。NAL单元可分类为视频译码层(VCL)NAL单元和非VCL NAL单元。VCL单元可含有核心压缩引擎且可包含块、宏块和/或切片层级数据。其它NAL单元可为非VCL NAL单元。在一些实例中,一个时间例项中的经译码图片(通常呈现为初级译码图片)可包含在存取单元中,所述存取单元可包含一个或一个以上NAL单元。
非VCL NAL单元可包含参数集NAL单元和补充增强信息(SEI)NAL单元以及其它。参数集可含有序列层级标头信息(在序列参数集(SPS)中)和图片层级标头信息(在图片参数集(PPS)中)。在参数集(例如,PPS和SPS)的情况下,不需要针对每一序列或图片重复不经常改变的信息,因此可改进译码效率。此外,参数集的使用可实现重要标头信息的频带外发射,从而避免需要冗余发射来实现错误恢复。在频带外发射实例中,参数集NAL单元可在与其它NAL单元(例如,SEI NAL单元)不同的信道上发射。
SEI NAL单元可含有SEI消息。SEI消息可包含对于解码来自VCL NAL单元的经译码图片是不必要的但可辅助与解码、显示、错误恢复和其它目的相关的过程的信息。SEI消息可包含在非VCL NAL单元中。SEI消息是一些标准规格的规范部分,且因此对于标准兼容解码器实施方案并非始终具有强制性。SEI消息可为序列层级SEI消息或图片层级SEI消息。一些序列层级信息可包含在SEI消息中,例如SVC的实例中的可缩放性信息SEI消息和MVC中的视图可缩放性信息SEI消息。这些实例SEI消息可传递关于例如操作点的提取和操作点的特性的信息。
每一表示可包含一个或一个以上媒体组件,其中每一媒体组件可对应于一种个别媒体类型(例如,音频、视频或定时文本(例如,用于隐藏式字幕))的经编码版本。媒体组件可跨越一个表示内的连续媒体片段的边界为时间连续的。
与许多视频译码标准一样,H.264/AVC界定无错位流的语法、语义和解码过程,其任一者遵循特定简档或层级。H.264/AVC不指定编码器,但编码器负责保证所产生的位流对于解码器是标准兼容的。在视频译码标准的上下文中,“简档”对应于算法、特征或工具的子集以及施加到其的约束。如H.264标准所界定,举例来说,“简档”是由H.264标准指定的整个位流语法的子集。“层级”对应于解码器资源消耗(例如,解码器存储器和计算)的限制,其与图片的分辨率、位速率和块处理速率相关。简档可以profile_idc(简档指示符)值用信号发出,而层级可以level_idc(层级指示符)值用信号发出。
举例来说,H.264标准辨识在给定简档的语法所强加的限制内,可能仍有可能需要编码器和解码器的性能的较大变化(取决于位流中的语法元素所取的值,例如经解码图片的指定大小)。H.264标准进一步辨识在许多应用中,实施能够处理特定简档内的语法的所有假设用途的解码器既不可行也不经济。因此,H.264标准将“层级”界定为强加于位流中的语法元素的值的约束的指定集合。这些约束可为对值的简单限制。或者,这些约束可采取对值的算术组合的约束的形式(例如,图片宽度乘以图片高度乘以每秒解码的图片数目)。H.264标准进一步规定,个别实施方案可支持每一所支持简档的不同层级。因此,可提供媒体内容的各个表示以考虑各种装置的解码器所支持的视频译码标准的各个简档和层级。
遵循简档的解码器通常支持简档中界定的所有特征。举例来说,作为译码特征,B图片译码在H.264/AVC的基线简档中不支持但在H.264/AVC的其它简档中支持。遵循层级的解码器应能够解码不需要超出层级中界定的限制的资源的任何位流。简档和水平的定义可有助于可解释性。举例来说,在视频发射期间,可针对整个发射会话协商并约定一对简档和层级定义。更特定来说,在H.264/AVC中,层级可界定例如对需要处理的宏块(也称为“块”或“MB”)的数目、经解码图片缓冲器(DPB)大小、经译码图片缓冲器(CPB)大小、垂直运动向量范围、每两个连续MB的运动向量的最大数目以及B块是否可具有少于8x8像素的子宏块分区的限制。以此方式,解码器可确定解码器是否能够适当解码位流,例如多媒体内容的特定表示。
图2是说明包括帧200A到200P(统称为“帧200”)的实例视频的概念图。在此实例中,帧200的每一者包括静止图像。当客户端装置102连续呈现帧200时,用户108可感知帧200中的对象在运动中。
帧200属于样本序列202A到202D(统称为“样本序列202”)。在图2的实例中,样本序列202的每一者说明为单独行。样本序列202的每一者可对应于多媒体内容的相应时间区段。视频的每一表示可包含表示样本序列202A的片段、表示样本序列202B的片段、表示样本序列202C的片段,以及表示样本序列202D的片段。在图2的实例中,样本序列202各自包含四个帧。读者将理解,视频的样本序列可包含多于或少于四个帧。
视频的不同片段可包含不同类型的场景。举例来说,在图2的实例中,视频展示自行车比赛。样本序列202A和202B包含人踩自行车的场景。样本序列202C包含解说员坐在桌旁描述比赛的场景。样本序列202D包含如从在比赛上空徘徊的直升飞机所见的比赛的场景。
在一些类型的场景中,每一帧与前一帧相比的变化极小。为方便阐释,本发明可将此类场景称为低动作场景。在其它类型的场景中,每一帧与前一帧显著不同。为方便阐释,本发明可将此类场景称为高动作场景。在图2的实例中,样本序列202C表示含有解说员说话的相对静止图像的低动作场景。因此,样本序列202C中的每一帧与前一帧相比的变化极小。相比之下,样本序列202A和202B含有展示人踩自行车的快速运动的高动作场景。因此,样本序列202A和202B中的每一帧与前一帧显著不同。
片段包含使用编码格式编码的数据。举例来说,如果媒体内容为视频,那么片段可包含使用H.264/AVC格式、VC-2格式、MPEG-4部分2格式、H.263格式或另一视频译码格式编码的数据。在此类编码格式中,可与在给定最大失真水平下表示低动作场景中的帧可需要的位数目相比需要更大数目的位在所述相同给定最大失真水平下表示高动作场景中的帧。换句话说,可需要较高位速率在最大失真水平下呈现高动作场景,而较低位速率可足以在所述相同最大失真水平下呈现低动作场景。举例来说,可需要较高位速率在给定最大失真水平下表示样本序列202A和202B中的高动作场景,而较低位速率可足以在所述给定最大失真水平下表示样本序列202C和202D中的低动作场景。
在其中媒体内容为音频流的实例中,片段可表示使用MP3格式、Vorbis格式、先进音频译码(AAC)、Windows媒体音频(WMA)、数字语音标准(DSS)或另一音频译码格式编码的样本。在此类编码格式中,可与表示代表较少频率的样本的系列可需要的位数目相比需要更大数目的位来表示代表许多频率的样本的系列。
所估计带宽可表示关于服务器装置104可将多少数据传送到客户端装置102的上限。因此,带宽可能不足够好以致能够在不引起回放的中断的情况下仅传送具有最高位速率的片段。举例来说,给定表示中的片段的每一者可对应于持续三秒的媒体内容的时间区段,且可具有3.0Mbps的位速率。在此实例中,即将到来的时间周期可包含四个片段群组。因此,在此实例中,即将到来的时间周期持续12秒。如果所估计带宽为1.75Mbps,那么在这12秒期间21.0兆位可传送到客户端装置102。相比之下,如果传送具有3.0Mbps位速率的四个片段,那么将传送36.0兆位。
如上文论述,可与相同最大失真水平下的低动作场景相比需要较高位速率来表示高动作场景。因为在与即将到来的时间周期相关联的时间期间仅可传送有限量的数据,所以客户端装置102可使用所估计带宽以及片段的优先级值来选择待包含在组合中的片段。所述组合可包含具有高位速率的一些片段和具有较低位速率的一些片段。客户端装置102可使用与片段相关联的优先级值选择一组合,在所述组合中,表示高动作场景的片段具有较高位速率,且其中表示低动作场景的片段具有较低位速率。以此方式,可减小组合中的片段表示的帧的总体失真水平。
举例来说,客户端装置102可选择即将到来的时间周期的片段群组中的片段的组合使得所述组合的片段的平均位速率小于或等于所估计带宽。在另一实例中,客户端装置102还至少部分基于当前在回放缓冲器中视频数据的回放持续时间选择片段的组合。在此实例中,客户端装置102可选择即将到来的时间周期的片段群组中的片段的组合使得选定片段的所估计传送时间小于或等于选定片段的回放持续时间加上回放缓冲器中视频数据的回放持续时间。
在一些实例中,客户端装置102可响应于特定情形增加回放缓冲器的长度。举例来说,客户端装置102可在视频开始时增加回放缓冲器的长度以帮助确保当客户端装置102开始回放视频时较高质量回放。在一些此类实例中,服务器装置104可包含位流中的数据以指示客户端装置102增加回放缓冲器。在视频开始时增加缓冲器的长度可对于以高动作场景开始的视频尤其有利。
图3是说明服务器装置104的实例配置的框图。如图3的实例中说明,服务器装置104可包括数据存储系统300、分段单元302、优先级单元304、清单产生单元306和服务器应用程序308。在一些其它实例中,服务器装置104可提供除图3的实例中说明的系统以外的系统。在其它实例中,服务器装置104不提供图3的实例中说明的系统的每一者。举例来说,服务器装置104可不提供分段单元302、优先级单元304或清单产生单元306,而是可改为从服务器装置104外部的内容准备装置或内容准备系统接收多媒体内容的所产生的片段、多媒体内容的清单文件和优先级值。
如图3的实例中说明,数据存储系统300可存储多个片段310和清单文件312。在一些实例中,数据存储系统300可以第三代合作伙伴计划(3GPP)文件格式存储片段310和清单文件312。在其它实例中,数据存储系统300可以其它方式存储片段310和清单文件312。
数据存储系统300可包括存储例如片段310和清单文件312等数据的一个或一个以上计算机存储媒体。尽管本发明可将清单文件312称为“文件”,但一些实例不将清单文件312存储为文件。举例来说,在一些实例中,清单产生单元308动态地产生清单文件312的数据。在其它实例中,多媒体内容的各个周期可与不同清单文件数据相关联,所述不同清单文件数据可预先产生、动态产生,或以对清单文件的先前版本的相关更新的形式指示。在一些实例中,清单文件312为媒体呈现描述(MPD)文件。
在图3的实例中,数据存储系统300实体上位于服务器装置104的外壳内。在其它实例中,数据存储系统300部分或完全在服务器装置104的外壳外部。举例来说,数据存储系统300可为网络附接存储(NAS)系统或直接附接存储(DAS)系统的一部分。
分段单元302可产生片段310。如本发明中其它地方详细描述,分段单元302的各个实例可以各种方式产生片段310。优先级单元304可使优先级值与片段310相关联。如本发明中其它地方详细描述,优先级单元304的各个实例可以各种方式使优先级值与片段310相关联。清单产生单元306可产生清单文件312。如本发明中其它地方详细描述,清单产生单元306的各个实例可以各种方式产生清单文件312。服务器应用程序308可响应于从客户端装置(例如,客户端装置102)接收的请求。如本发明中其它地方详细描述,服务器应用程序308的各个实例可以各种方式响应于从客户端装置102接收的请求。
服务器装置104可以各种方式实施分段单元302、优先级单元304、清单产生单元306和服务器应用程序308。举例来说,服务器装置104可当实施服务器装置104的计算装置的一个或一个以上处理单元执行特定指令时实施分段单元302、优先级单元304、清单产生单元306和/或服务器应用程序308。在另一实例中,实施服务器装置104的计算装置可包括致使服务器装置104实施分段单元302、优先级单元304、清单产生单元306和/或服务器应用程序308的一个或一个以上ASIC。
片段310的每一者可表示媒体内容中的样本的序列。举例来说,媒体内容可包含视频数据。在此实例中,片段310的一者可表示样本序列202A,片段310的另一者可表示样本序列202B,等等。在另一实例中,媒体内容可为音频流。在此实例中,片段310的一者可表示音频样本的第一系列,片段310的另一者可表示音频样本的第二系列,等等。
片段310可属于多个片段群组314A到314N(统称为“片段群组314”)。片段群组314的一者中片段310的每一者可表示媒体内容的相同样本。举例来说,如果媒体内容是图2的视频,那么片段群组314A中片段310的每一者可表示样本序列202A中的帧,片段群组314N中片段310的每一者可表示样本序列202B中的帧,等等。
片段310可属于多个表示316A到316N(统称为“表示316”)。表示316的每一者可与不同位速率相关联。给定表示中的片段310可以与给定表示相关联的位速率表示媒体内容的样本。举例来说,表示316A中的片段310可以3.0Mbps的位速率表示媒体内容。在此实例中,表示316N中的片段310可以500Kbps的位速率表示媒体内容
因为表示316的每一者可与不同位速率相关联,所以片段群组314的每一者中的片段可具有不同位速率。举例来说,片段群组314A中的第一片段可具有3.0兆位/秒(Mbps)的位速率,片段群组314A中的第二片段可具有1.0Mbps的位速率,片段群组314A中的第三片段可具有500千位/秒(Kbps)的位速率,等等。
片段的位速率可指示片段使用多少位表示回放时间单位期间所呈现的媒体内容的时间区段。举例来说,如果媒体内容的表示具有25fps的帧速率,那么所述表示的片段的位速率可指示片段使用多少位表示25个帧。
如本发明中其它地方详细描述,客户端装置102可从片段群组314的每一者选择一个片段。举例来说,第一片段群组可包含片段A、B和C;第二片段群组可包含片段D、E和F;且第三片段群组可包含片段G、H和I。在此实例中,客户端装置102可从第一片段群组选择片段B,从第二片段群组选择片段D,且从第三片段群组选择片段G。
在一些实例中,清单文件312可包含表示与片段310相关联的优先级值的信息。如本发明中其它地方详细描述,客户端装置102可接收清单文件312的副本。在一些实例中,客户端装置102可使用清单文件312指定的优先级值和所估计带宽从片段群组314的每一者选择一个片段。
或者,表示316本身可包含表示与片段310相关联的优先级值的信息。举例来说,表示的片段索引(或“SIDX”)框可除允许子片段切换的对应表示的片段的索引外还提供对应片段的优先级值。以此方式,表示316的每一者可包含包括指示表示的片段的优先级值的信息的片段索引框。
作为又一实例,优先级单元304可在提供对应于优先级值的提示信息的元数据轨道中提供指示优先级值的信息。根据ISO基础媒体文件格式及其扩展(例如,3GPP),元数据可构造为文件格式样本的序列,正如视频轨道。此轨道可称为元数据轨道。每一元数据样本可构造为元数据语句。可存在对应于可关于对应文件格式样本或其组成样本询问的各种问题的各种语句。
图4是说明用以准备供检索的媒体内容的数据的实例操作400的流程图。在服务器装置104开始操作400之后,服务器装置104可接收媒体内容的原始版本(402)。服务器装置104可以各种方式接收媒体内容的原始版本。举例来说,服务器装置104可从连接到服务器装置104的视频相机或麦克风作为原始音频和/或视频数据接收媒体内容的原始版本。在另一实例中,个人可使用计算装置将媒体内容的原始版本上载到服务器装置104。在此实例中,媒体内容的原始版本可已以给定格式编码。在又一实例中,媒体设计者可使用在服务器装置104上运行的一个或一个以上软件应用来产生媒体内容的原始版本。尽管描述为由服务器装置104执行,但应理解,其它装置也可经配置以执行图4的方法。举例来说,内容准备装置或内容准备系统可经配置以执行大体遵循参看图4描述的方法的方法。
在接收媒体内容的原始版本之后,分段单元302可产生片段310(404)。在各个实例中,分段单元302可以各种方式产生片段310。举例来说,分段单元302可首先将媒体内容的原始版本划分为一个或一个以上周期。分段单元302可接着针对所述周期的每一者产生NAL单元的多个集合。周期的NAL单元的每一集合可对应于所述周期的不同表示。周期的NAL单元可含有表示所述周期内的帧或其它样本的经编码视频数据。周期的NAL单元的不同集合可具有不同特性。举例来说,NAL单元的不同集合中的视频数据可以不同位速率译码。接着,对于NAL单元的每一集合,分段单元302可通过囊封含有一起表示周期中的帧或样本的序列的视频数据的NAL单元而产生片段310。以此方式,分段单元302可产生表示316的每一者的片段310。在其中媒体内容的原始版本包括原始视频或音频数据的一些实例中,分段单元302可从原始视频或音频数据产生经编码视频数据。
分段单元302可根据例如ISO基础媒体文件格式或3GPP文件格式(其是ISO基础媒体文件格式的扩展)等文件囊封标准产生片段310。ISO基础媒体文件格式经设计以含有定时媒体信息以供以促进媒体的交换、管理、编辑和呈现的灵活可扩展格式呈现。ISO基础媒体文件格式(ISO/IEC14496-12:2004)在MPEG-4部分12中指定,其界定基于时间的媒体文件的一股结构。ISO基础媒体文件格式用作系列中其它文件格式的基础,例如支持H.264/MPEG-4AVC视频压缩的所界定的AVC文件格式(ISO/IEC14496-15)、3GPP文件格式、SVC文件格式和MVC文件格式。3GPP文件格式和MVC文件格式是AVC文件格式的扩展。ISO基础媒体文件格式含有媒体数据的定时序列(例如,视听呈现)的定时、结构和媒体信息。文件结构可为对象定向的。文件可非常简单地分解为基本对象,且对象的结构可由其类型暗示。
遵循ISO基础媒体文件格式(及其扩展)的文件可形成为一系列对象,称为“框”。ISO基础媒体文件格式的数据可包含在框中,使得不需要其它数据包含在文件内,且不需要存在文件内的框外部的数据。此包含特定文件格式需要的任何初始签名。“框”可为由唯一类型识别符和长度界定的对象定向的构筑块。通常,片段包含在一个文件中。电影容器(电影框)可含有文件的其它框的元数据,且视频和音频帧可包含在媒体数据容器、媒体碎片或其它元素中,且可提供在其它文件中。在一些实例中,片段310的一者或一者以上可包括初始化片段,其可对应于流接入点且包含表示的后续片段的初始化数据。或者,片段310可自行初始化。
分段单元302可将片段310存储在数据存储系统300中(406)。分段单元302的各个实例可以各种方式存储片段310。举例来说,分段单元302可将片段310存储为单独文件。在另一实例中,分段单元302可将片段310作为二进制大对象(BLOB)存储在一个或一个以上关系数据库中。
在分段单元302产生并存储片段310之后,优先级单元304可使优先级值与片段310相关联(408)。优先级单元304可以各种方式使优先级值与片段310相关联。举例来说,优先级单元304可通过向片段310的每一者指派单独优先级值而使优先级值与片段310相关联。在另一实例中,优先级单元304可通过向媒体内容的每一片段群组指派单独优先级值而使优先级值与片段310相关联。换句话说,可向片段群组314的每一者指派单独优先级值。因此,在此实例中,优先级单元304可使给定片段群组中的片段的每一者与指派到给定片段群组的优先级值相关联。
优先级值可以各种方式表示。在一些实例中,优先级单元304可将高优先级值(即,极少或无回放质量差异)表示为高数字且将低优先级值(即,大质量差异)表示为低数字。举例来说,在这些实例的一些中,1.0为最高可能的优先级值且0.0是最低可能的优先级值。其它实例将高优先级值表示为低数字且将低优先级值表示为高数字。举例来说,在这些实例的一些中,0.0为最高可能的优先级值且1.0是最低可能的优先级值。以此方式,优先级值可描述从媒体内容的较高位速率表示选择特定时间区段的片段的相对重要性。
在其中优先级单元304向片段310的每一者指派单独优先级值的实例中,优先级单元304可以各种方式指派优先级值。举例来说,优先级单元304可向片段310指派优先级值使得片段的优先级值与片段中的所计算失真的量相关。在其中媒体内容为视频的实例中,颜色或形状的不准确性、块状假影、振铃假影和其它不准确性构成较大量的所计算失真。在此实例中,优先级单元304可对片段310的每一者执行失真评估过程。当优先级单元304对片段310的一者执行失真评估过程时,优先级单元304可确定片段中所计算失真的量。在此实例中,优先级单元304可在片段具有少量所计算失真时向片段指派高优先级值。相比之下,优先级单元304可在片段具有较大量所计算失真时向片段指派较低优先级值。换句话说,随着片段中所计算失真的量增加,优先级单元304可向片段指派逐渐变低的优先级值。
在一些实例中,(例如,分段单元302的)视频编码器可向优先级单元304提供视频数据的帧或切片的块的残余值。优先级单元304可基于片段中的图片或切片的累积(或平均)残余值指派优先级值。另外,或作为替代,人类操作者可使用优先级单元304向片段指派优先级。在一些例子中,人类操作者可向较高动作场景指派较广范围的优先级以便实现所要视觉质量,同时人类操作者可能够向较低动作场景指派较窄范围的优先级。在一些实例中,优先级单元304可通过将片段的位速率除以峰值位速率而指派片段的优先级,所述峰值位速率可由人类操作者调整。因为片段的位速率小于峰值位速率,所以片段的优先级可有效在控制在最大值(例如,1.0)。在一些实例中,峰值位速率对于媒体数据的所有时间区段并非固定的。举例来说,较高动作场景可具有峰值位速率的较高值,而较低动作场景可具有峰值位速率的较低值。以此方式,片段的优先级值可由例如优先级单元304自动或半自动指派。
下文呈现的表1含有指派到片段群组314中的片段310的实例优先级值。
表1
表示位速率 | 片段群组314A | 片段群组314B | 片段群组314C | 片段群组314D |
3.0Mbps | 1.0 | 1.0 | 1.0 | 1.0 |
1.0Mbps | 0.3 | 0.3 | 0.9 | 0.6 |
500Kbps | 0.1 | 0.1 | 0.8 | 0.3 |
相对于图2的实例,片段群组314A-314D可分别对应于视频序列202A-202D。
此外,在其中优先级单元304向片段指派优先级值的实例中,优先级单元304可以各种方式指派优先级值。举例来说,媒体内容可为视频。在此实例中,优先级单元304可基于视觉质量在片段群组中的较低位速率片段中减小的程度向片段群组中的片段指派优先级值。举例来说,优先级单元304可在片段群组中的较低位速率片段具有显著减小的视觉质量的情况下向片段群组中的较高位速率片段指派相对高的优先级值。相反,优先级单元304可在片段群组中的较低位速率片段具有不太显著减小的视觉质量的情况下向片段群组中的较高位速率片段指派相对低的优先级值。以此方式,片段的优先级值可与人类神经系统(例如,给定亮度相对于色度的优先级)可在片段中感知的感知失真的量相关。在其它实例中,优先级单元304可基于ITU-T推荐BT.500中描述的视频平均意见得分(VMOS)向片段指派优先级值。
在其中优先级单元304向片段群组314指派优先级值的另一实例中,优先级单元304的实例可执行片段群组314的每一者的比较操作。在此实例中,在片段群组的比较操作期间,优先级单元304可比较片段群组中不同片段中的失真量。在此实例中,优先级单元304可基于失真水平在片段群组中的片段之间的差异量向片段群组314中的每一片段指派优先级值。在此实例中,优先级单元304可在片段群组的片段中的失真量相差相对较大量时向片段群组中的较高位速率片段指派相对高优先级值。在此实例中,优先级单元304可在片段群组的片段中的失真量相差相对较小量时向片段群组中的较高位速率片段指派相对低优先级值。举例来说,可通过将未压缩视频帧与经压缩视频帧以及因此失真的视频帧比较而以峰值信噪比(PSNR)测量失真。在此实例中,33dB以上的PSNR可视为高质量且因此低失真;28dB以下的PSNR可视为低质量且因此高失真;28dB一33dB之间的PSNR值可视为中等质量和中等失真。
在另一实例中,优先级单元304可基于视频帧内部的对象所经历的运动量指派优先级值。举例来说,可使用基于光学流的运动估计技术估计每一视频帧的运动流场。所述运动流场可由视频帧的每一空间区的运动向量(包括方向和量值)组成。可使用沿着视频帧的时间区段的运动向量量值的总计来指示视频的给定时间区段的总运动量。
在优先级值己与片段310相关联之后,清单产生单元306产生清单文件312(410)。数据存储系统300存储清单文件312(412)。在一些实例中,清单产生单元306可从优先级单元304接收优先级值。在此类实例中,清单产生单元306可产生清单文件312使得清单文件312指定与片段310相关联的优先级值。此外,在一些实例中,清单文件312指定片段310的URL。如本发明中其它地方论述,在一些实例中,客户端装置102可使用片段310的URL从服务器装置104检索片段310。
清单文件312可以各种方式格式化。举例来说,清单文件312可格式化为可扩展标识语言(XML)文档。在此实例中,清单文件312可含有对应于片段的片段元素。对应于片段的片段元素可含有指定片段的URL的URL元素,以及指定与片段相关联的优先级值的优先级元素。
随后,服务器应用程序308可从客户端装置102接收清单请求消息(414)。响应于所述消息,服务器应用程序308可将清单文件312的副本发送到客户端装置102(416)。
在服务器应用程序308将清单文件312的副本发送到客户端装置102之后,服务器应用程序308可从客户端装置102接收一系列片段请求消息(418)。片段请求消息的每一者可请求片段310的一者或一者以上的副本。所请求的片段可来自不同表示316。即,从客户端装置102接收的片段请求消息可指定表示316的不同者的片段。服务器应用程序308可响应于片段请求消息将片段310的副本发送到客户端装置102(420)。
以此方式,图4的方法可表示用于经由自适应流式传输网络协议提供视频数据的方法的实例。所述方法可包括发送指示片段的优先级的信息。片段310的每一者可个别地检索。片段310可对应于多媒体内容的表示316的特定时间区段。多媒体内容的表示316的每一者可包含以不同位速率编码的视频数据。所述方法还可包含响应于来自客户端装置102的一个或一个以上请求经由自适应流式传输网络协议发送所请求的片段。所请求的片段可为请求所指定的片段310中的片段。
在图4的实例中,优先级值包含在清单文件中。在其它实例中,优先级值可包含在媒体流的元数据框中而非清单文件中。在一些实例中,元数据框可为呈媒体容器格式的现有元数据框。举例来说,在MPEG-4标准中ISO基础媒体文件格式(BMFF)的情况下,优先级值可包含在SIDX框中。在其它实例中,优先级值可包含在添加到一个或一个以上现有媒体容器格式的专门元数据框中。
图5是说明客户端装置102的实例配置的框图。在图5的实例中,客户端装置102实施控制单元500、选择单元502、检索单元504、回放缓冲器505、再现单元506和输出单元508。客户端装置102可以各种方式实施控制单元500、选择单元502、检索单元504、回放缓冲器505、再现单元506和输出单元508。举例来说,客户端装置102可当客户端装置102的例如通用微处理器或图形处理单元等一个或一个以上处理单元执行特定指令时实施控制单元500、选择单元502、检索单元504、再现单元506和/或输出单元508。在另一实例中,客户端装置102可包括一个或一个以上ASIC,其致使客户端装置102实施控制单元500、选择单元502、检索单元504、再现单元506和/或输出单元508。在各个实例中,客户端装置102可使用各种类型的计算机存储媒体实施回放缓冲器505。
图6是说明由客户端装置102执行以向用户108呈现媒体内容的实例操作600的流程图。在客户端装置102开始操作600之后,客户端装置102的控制单元500可通过将清单请求消息发送到服务器装置104而检索清单文件312(602)。在一些实例中,清单请求消息请求清单文件312的副本。在其它实例中,清单请求消息指定通常与媒体内容相关联的路径。清单请求消息可以各种方式格式化。举例来说,清单请求消息可包括HTTP请求。
控制单元500存储媒体内容的清单文件312(604)。在图6的实例中,控制单元500可在响应于清单请求消息接收清单文件312之后存储清单文件312。在符合图6的实例中,清单文件312可指定与片段310相关联的优先级值。以此方式,客户端装置102可接收与片段310相关联的优先级值。此外,在符合图6的实例中,清单文件312可指定片段310的URL。
读者将理解,在其它实例中,客户端装置102以其它方式接收与片段310和/或片段310的URL相关联的优先级值。举例来说,客户端装置102可从片段310的片段索引框接收优先级值。在另一实例中,客户端装置102可从媒体内容的元数据轨道接收优先级值。
在接收清单文件312之后,客户端装置102的选择单元502可选择即将到来的时间周期的片段组合(606)。所述片段组合是包含来自即将到来的时间周期中的每一片段群组的一个片段的片段集合。即将到来的时间周期可对应于媒体内容的时间区段。为便于阐释,本文献可将含有对应于即将到来的时间周期的时间区段内的时间区段的片段的片段群组称为即将到来的时间周期中的片段群组。举例来说,片段群组314A和314B可在一个窗口中,媒体内容的片段群组314N和另一片段群组可在另一窗口中,等等。
在各个实例中,窗口可包含各种数目的片段群组。举例来说,窗口可包含固定数目的片段群组。举例来说,窗口可各自包含三个片段群组。在另一实例中,窗口可各自包含四个片段群组。在其中窗口包含固定数目的片段的实例中,最后窗口可包含少于固定数目的片段群组。在另一实例中,窗口可包含媒体内容的所有片段群组。在又一实例中,窗口可包含可变数目的片段群组。
选择单元502可以各种方式选择即将到来的时间周期的片段组合。下文详细描述的图7和8说明由选择单元502执行以选择即将到来的时间周期的片段组合的实例操作。读者将理解,选择单元502可执行除图7和8的实例中说明的操作以外的操作以选择即将到来的时间周期的片段组合。为便于阐释,本发明可将选定片段组合中的片段称为选定片段。
在选择单元502选择即将到来的时间周期的片段组合之后,客户端装置102的检索单元504可根据自适应流式传输网络协议(608)从服务器装置104检索选定片段(608)。检索单元504可以各种方式从服务器装置104检索选定片段。举例来说,清单文件312可指定片段310的URL。在此实例中,检索单元504可发送请求选定片段的URL所识别的资源的片段请求消息。检索单元504可响应于片段请求消息从服务器装置104接收选定片段。在一些此类实例中,片段请求消息是请求选定片段的副本的HTTP消息。HTTP消息寻址到与选定片段的URL的域名部分相关联的计算装置。HTTP消息可请求选定片段的URL的路径部分指示的资源。换句话说,检索单元504可使用选定片段的URL产生请求选定片段的副本的HTTP请求消息。在其中服务器装置104将多个片段310存储在单一文件中的实例中,HTTP请求消息可为HTTP部分获得请求。
一旦客户端装置102已从服务器装置104检索选定片段,检索单元504就可将选定片段存储在回放缓冲器505中(609)。再现单元506可从回放缓冲器505移除片段且可解码片段组合中的片段以产生适于由输出单元508输出的样本(610)。举例来说,再现单元506可解码选定片段以产生视频帧或视频样本。输出单元508可接着输出选定片段表示的样本(612)。以此方式,输出单元508可回放选定片段。
如果媒体内容的回放在输出单元508输出选定片段表示的样本之后终止(614的“是”),那么操作600可结束。媒体内容的回放可出于各种原因终止。举例来说,如果媒体内容为视频,那么媒体内容的回放可在输出单元508已呈现视频的最后帧时终止。在另一实例中,媒体内容的回放可在用户108指示客户端装置102终止媒体内容的回放时终止。
如果媒体内容的回放在输出单元508输出选定片段表示的媒体之后不终止(614的“否”),那么选择单元502可选择下一即将到来的时间周期的片段组合(606)。下一即将到来的时间周期可包含含有对应于媒体内容的时间区段的片段的片段群组,所述时间区段遵循对应于当前即将到来的时间周期的片段群组中的片段的媒体内容的时间区段。步骤608、610、612和614可接着重复直到媒体内容的回放终止为止。
图7是说明由客户端装置102执行以选择用于即将到来的时间周期的片段组合的实例操作700的流程图。在操作700开始之后,选择单元502可计算所估计带宽(702)。所估计带宽可为客户端装置102将能够经由网络106从服务器装置104接收数据的速率的估计值。举例来说,选择单元502可确定客户端装置102将可能能够以0.58Mbps的速率从服务器装置104接收数据。
选择单元502可以各种方式计算所估计带宽。举例来说,选择单元502可基于客户端装置102能够在过去60秒期间从服务器装置104接收多少数据来计算所估计带宽。在另一实例中,服务器装置104可将带宽消息发送到客户端装置102。带宽消息可指示服务器装置104可将把数据发送到客户端装置102的最大速率。在此实例中,选择单元502可至少部分基于带宽消息指示的速率确定所估计带宽。
另外,选择单元502可从清单文件312读取与适用片段相关联的优先级值(704)。适用片段的每一者可在即将到来的时间周期内的片段群组中。举例来说,在图2的实例中,如果即将到来的时间周期包含片段群组314A和314B,那么片段群组314A和314B中的片段310可为适用片段。
在其它实例中,选择单元502可从其它源读取与适用片段相关联的优先级值。举例来说,选择单元502可从片段的片段索引框读取与适用片段相关联的优先级值。在另一实例中,选择单元502可从媒体内容的元数据轨道读取与适用片段相关联的优先级值。
另外,选择单元502可确定回放缓冲器505中的视频数据的当前回放持续时间(705)。在一些实例中,回放缓冲器505中的视频数据的当前回放持续时间可为在检索单元504未将新视频数据(例如,片段)添加到回放缓冲器505的情况下再现单元506和输出单元508回放存储在回放缓冲器505中的视频数据将逝去的时间量。举例来说,即使检索单元504未将新视频数据添加到回放缓冲器505,再现单元506和输出单元508也可继续从回放缓冲器505回放视频数据持续10秒。
在估计可用带宽之后,在读取适用片段的优先级值之后,以及在确定回放缓冲器505中的视频数据的当前回放持续时间之后,选择单元502可识别一个或一个以上候选组合(706)。片段组合可为包含来自即将到来的时间周期内的每一片段群组的一个片段的片段的集合。在不同实例中,选择单元502可以不同方式识别片段组合。
在一些实例中,选择单元502可在片段组合中的片段的累积位速率不显著大于所估计带宽时将片段组合识别为候选组合。在一些实例中,片段的累积位速率是片段的位速率的平均值。举例来说,如果片段310的每一者表示3秒样本且即将到来的时间周期包含四个片段群组,那么与即将到来的时间周期相关联的时间量可为12秒。换句话说,即将到来的时间周期的回放持续时间为12秒。在此实例中,选择单元502可计算1.75Mbps的所估计带宽。因此,在此实例中,客户端装置102可能够每隔12秒从服务器装置104接收近似21.0兆位。此外,在此实例中,片段A和B对应于第一片段群组,片段C和D对应于第二片段群组,且片段E和F对应于第三片段群组。在此实例中,片段A、C和E具有3.0Mbps的位速率,且片段B、D和F具有1.0Mbps的位速率。在此实例中,可用片段组合为A-C-E、A-C-F、A-D-E、A-D-F、B-C-E、B-C-F、B-D-E和B-D-F。然而,片段组合A-C-E的平均位速率为3.0Mbps。因此,客户端装置102将需要在12秒内接收36.0兆位以便在不重新缓冲媒体内容的回放的情况下接收组合A-C-E。36.0兆位大于服务器装置104可在12秒内传送到客户端装置102的21.0兆位。因此,片段组合A-C-E不是候选组合。因为剩余片段组合的平均位速率小于所估计带宽,所以剩余片段组合为候选组合。
在一些实例中,选择单元502可仅当片段组合中的片段的平均位速率严格地不超过所估计带宽时将片段组合识别为候选组合。在其它实例中,即使片段组合中的片段的平均位速率稍大于所估计带宽,选择单元502也可将片段组合识别为候选组合。举例来说,当片段组合中的片段的位速率的平均值大于所估计带宽不足10%时,片段组合可为候选组合。
在一些实例中,选择单元502可基于片段的优先级值、所估计带宽和回放缓冲器505中的视频数据的当前回放持续时间而选择片段。回放缓冲器505可存储视频数据直到回放视频数据为止。将视频数据存储在回放缓冲器505中可防止视频数据的回放期间归因于临时网络带宽缩减而引起的故障。在此类实例中,当片段组合中的片段的所估计传送时间小于或等于片段组合中的片段的回放持续时间加上回放缓冲器505中的视频数据的当前回放持续时间时,选择单元502可将片段组合识别为候选组合。
片段组合中的片段的所估计传送时间可基于所估计带宽和选定片段中位的总数目。举例来说,片段组合中的片段的所估计传送时间可等于选定片段中位的总数目除以所估计带宽。在此实例中,如果片段中位的总数目为36.0兆位且所估计带宽为1.75Mbps,那么片段的所估计传送时间可近似为20.6秒。在此实例中,片段的回放持续时间可为12.0秒。因此,在此实例中,如果回放缓冲器505中的视频数据的当前回放持续时间大于8.6秒(即,20.6秒-12.0秒),那么选择单元502可将片段组合视为候选组合。
在一些实例中,当片段组合的所估计传送时间小于或等于片段组合的回放持续时间加上基于回放缓冲器505中的视频数据的当前回放持续时间的持续时间时,选择单元502可确定片段组合视为候选组合。举例来说,选择单元502可通过从回放缓冲器505中的视频数据的完全当前回放持续时间减去给定时间量而产生持续时间值。在此实例中,选择单元502可通过确定片段组合的所估计传送时间是否小于或等于片段组合的回放持续时间加上所产生的持续时间值而确定片段组合是否为候选组合。在另一实例中,选择单元502可产生类似的持续时间值作为回放缓冲器505中的视频数据的完全当前回放持续时间的分数且以类似方式使用此持续时间值。
在识别候选组合之后,选择单元502可计算候选组合的每一者的服务质量(QoS)得分(708)。候选组合的QoS得分可基于与候选组合中的片段相关联的优先级值。举例来说,如果候选组合包含片段A、B和C,那么候选组合的QoS得分可基于与片段A、B和C相关联的优先级值。
选择单元502可以各种方式计算候选组合的QoS得分。举例来说,可向片段310的每一者指派单独优先级值。在此实例中,选择单元502可通过将向给定候选组合中的片段指派的优先级值相加而计算给定候选组合的QoS得分。举例来说,如果向给定候选组合中的片段指派的优先级值为1.0、1.0和0.8,那么给定候选组合的QoS得分可为2.8。在另一实例中,与候选组合的片段相关联的优先级值可基于片段的PSNR值。因此,在此实例中,选择单元502可基于给定候选组合中的片段的PSNR值确定给定候选组合的QoS得分。在此实例中,给定候选组合的QoS得分可等于给定候选组合的总体PSNR值。
在另一实例中,可向片段310的每一者指派单独优先级值。在此实例中,选择单元502可通过计算向给定候选组合中的片段指派的优先级值的几何平均数而计算给定候选组合的QoS得分。换句话说,如果给定候选组合中存在n个片段,那么选择单元502可通过将向片段指派的优先级值相乘并取所得值的n次根而计算给定候选组合的QoS得分。举例来说,如果向给定候选组合中的片段指派的优先级值为0.1、1.0、1.0和0.3,那么给定候选组合的QoS得分可为0.4162。
在又一实例中,可向片段群组314的每一者指派单独优先级值。在此实例中,选择单元502可使用向片段群组314指派的优先级值计算片段310的每一者的单独优先级值。在各个实例中,选择单元502可以各种方式使用向片段群组314指派的优先级值计算片段310的每一者的单独优先级值。举例来说,选择单元502可通过将给定片段的位速率乘以向给定片段群组指派的优先级得分而使用向给定片段群组指派的优先级值计算给定片段群组中的给定片段的优先级值。继续前一段落的实例,在计算候选组合的每一者中的片段的每一者的优先级得分之后,选择单元502可计算候选组合的QoS得分。选择单元502可以各种方式计算候选组合的QoS得分。举例来说,选择单元502可通过将候选组合中的片段的优先级值相加,计算候选组合中的片段的优先级值的几何平均数或以另一方式计算候选组合的QoS得分来计算候选组合的QoS得分。
在一些例子中,客户端装置102正解决的问题的本质可由“背包”问题描述。“背包”问题在Papadimitirou,C.和K.Steiglitz“组合优化:算法和复杂性”中描述:美国新泽西州:普林蒂斯霍尔出版公司,1982。通常来说,此问题可描述为确定将最大体积的对象包装到具有有限容量的有限大小的“背包”中的出色程度。相对于本发明的技术,所述问题可对应于客户端装置102试图将即将到来的N数目的片段的最大总优先级集合包装到固定仓中,即确定为可用于检索N个片段的带宽的量。许多类型的背包问题为NP困难问题(其中“NP”是“非确定性多项式时间”的首字母缩写),但在伪多项式时间运行的一些算法是已知的。
在计算候选组合的QoS得分之后,选择单元502可从候选组合识别胜出组合(710)。选择单元502可以各种方式识别胜出组合。举例来说,在其中高优先级值具有高数值的例子中,胜出组合具有大于或等于候选组合的每一其它者的QoS得分的QoS得分。举例来说,如果候选组合具有QoS得分0.416、0.4695和0.221,那么胜出组合可为具有QoS得分0.4695的候选组合。在其中高优先级值具有低数值的例子中,胜出组合可具有小于或等于候选组合的每一其它者的QoS得分的QoS得分。以此方式,选择单元502可至少部分基于片段群组中片段的优先级值和属于片段序列的额外资源群组的片段的优先级值从片段序列的片段群组的一者中的片段中选择给定片段。在另一实例中,胜出组合可经由最小-最大优化确定,其中目的是使最小QoS片段最大化。在此实例中,如果高优先级指示较高服务质量,且候选组合具有最小QoS值0.32、0.40和0.4125,那么胜出组合可为具有QoS得分0.4125的候选组合。
图8是说明由客户端装置102执行以选择用于即将到来的时间周期的片段组合的实例操作750的流程图。上文的论述已聚焦于带宽。然而,本发明的技术不限于此。事实上,本发明的技术可一股适用于所估计通过量,通过量可为给定周期中处理的数据量。网络106的带宽可为在即将到来的时间周期内在网络106上传送的数据量。在图8的实例中,所估计通过量是可由一个或一个以上处理器在即将到来的时间周期中解码的经编码媒体数据的量。
操作750以某些方式类似于操作700(图7)。然而,操作750使用处理能力代替网络带宽。在使用操作750的实例中,客户端装置102可事先存储视频数据且并非必须从服务器装置(例如,服务器装置104)传送任何数据。
在操作750开始之后,选择单元502可计算即将到来的时间周期的所估计可用处理能力(752)。即将到来的时间周期的所估计可用处理能力可为客户端装置102将能够在即将到来的时间周期期间解码的经编码媒体数据量的估计值。另外,选择单元502可从清单文件312或其它源读取与适用片段相关联的优先级值(754)。适用片段的每一者可在即将到来的时间周期内的片段群组中。
选择单元502可确定回放缓冲器505中视频数据的当前回放持续时间(755)。在一些实例中,回放缓冲器505中视频数据的当前回放持续时间可为在检索单元504未将新的经解码视频数据(例如,片段)添加到回放缓冲器505的情况下再现单元506和输出单元508回放存储在回放缓冲器505中的视频数据将逝去的时间量。在估计可用处理能力之后,在读取适用片段的优先级值之后,以及在确定回放缓冲器505中的视频数据的当前回放持续时间之后,选择单元502可识别一个或一个以上候选组合(756)。片段组合可为包含来自即将到来的时间周期内的每一片段群组的一个片段的片段的集合。
在一些实例中,选择单元502可在片段组合中的片段中的经编码媒体数据量不显著大于所估计可用处理能力(或更一股来说,所估计通过量)时将片段组合识别为候选组合。在一些实例中,选择单元502可仅当片段组合中的片段中的正规化经编码数据量不超过即将到来的时间周期的所估计可用处理能力时将片段组合识别为候选组合。
在一些实例中,选择单元502可基于片段的优先级值、所估计可用处理能力和回放缓冲器505中的视频数据的当前回放持续时间而选择片段。回放缓冲器505可存储经解码视频数据直到回放经解码视频数据为止。将经解码视频数据存储在回放缓冲器505中可防止经解码视频数据的回放期间归因于临时网络带宽缩减而引起的故障。在此类实例中,当给定可用处理能力的情况下解码片段组合中的片段的所估计时间小于或等于片段组合中的片段的回放持续时间加上回放缓冲器505中的视频数据的当前回放持续时间时,选择单元502可将片段组合识别为候选组合。
在识别候选组合之后,选择单元502可计算候选组合的每一者的服务质量(QoS)得分(758)。候选组合的QoS得分可基于与候选组合中的片段相关联的优先级值。选择单元502可以上文关于图7提供的实例所描述的方式计算候选组合的QoS得分。
在计算候选组合的QoS得分之后,选择单元502可从候选组合识别胜出组合(760)。选择单元502可以例如上文关于图7所描述的方式等各种方式识别胜出组合。
以此方式,客户端装置102可确定所估计通过量且至少部分基于所估计通过量和多媒体内容的表示的片段的优先级值确定片段的一者或一者以上。所述表示包含以不同位速率编码视频数据,片段的每一者可个别检索,且片段对应于表示的特定时间区段。客户端装置102可处理(例如,检索和/或解码)所述一个或一个以上选定片段。
图9是说明实例计算装置800的框图。计算装置800是处理信息的物理装置。在一些例子中,客户端装置102和服务器装置104包括类似于计算装置800的一个或一个以上计算装置。
计算装置800包括数据存储系统802、存储器804、次级存储系统806、处理系统808、输入接口810、显示接口812,通信接口814,以及一个或一个以上通信媒体816。通信媒体816可实现处理系统808、输入接口810、显示接口812,通信接口814、存储器804与次级存储系统806之间的数据通信。读者将理解,计算装置800可包含除图9的实例中展示的组件以外的组件。此外,读者将理解,一些计算装置不包含图9的实例中展示的所有组件。
计算机可读媒体可为处理系统808可从其读取数据的媒体。术语计算机可读媒体可指代计算机存储媒体和通信媒体。计算机存储媒体可包含存储数据以供后续检索的物理装置。计算机存储媒体可为非瞬时的。举例来说,计算机存储媒体仅仅包括所传播信号。计算机存储媒体可包含易失性存储媒体和非易失性存储媒体。计算机存储媒体的实例类型可包含随机存取存储器(RAM)单元、只读存储器(ROM)装置、固态存储器装置、光盘(例如,紧密光盘、DVD、蓝光光盘等)、磁盘驱动器、磁带驱动器,以及存储数据以供后续检索的其它类型的装置。通信媒体可包含一个装置可在上面将数据传达到另一装置的媒体。通信媒体的实例类型可包含通信网络、通信线缆、无线通信链路、通信总线,以及一个装置能够在上面将数据传达到另一装置的其它媒体。
数据存储系统802可为存储数据以供后续检索的系统。在图9的实例中,数据存储系统802包括存储器804和次级存储系统806。存储器804和次级存储系统806可存储数据以供稍后检索。在图9的实例中,存储器804存储计算机可读指令818和程序数据820。次级存储系统806存储计算机可读指令822和程序数据824。实际上,存储器804和次级存储系统806可各自包括一个或一个以上计算机存储媒体。
处理系统808可耦合到数据存储系统802。处理系统808可读取和执行计算机可读指令。处理系统808执行计算机可读指令可致使计算装置800执行计算机可读指令指示的动作。举例来说,处理系统808执行计算机可读指令可致使计算装置800提供基本输入/输出系统、操作系统、系统程序、应用程序,或可致使计算装置800提供其它功能性。在另一实例中,处理系统808执行计算机可读指令可致使计算装置800提供分段单元302、优先级单元304、清单产生单元306,和/或服务器装置104的服务器应用程序308。在又一实例中,处理系统808执行计算机可读指令可致使计算装置800提供控制单元500、选择单元502、检索单元504、再现单元506和客户端装置102的输出单元508。
处理系统808可从一个或一个以上计算机可读媒体读取计算机可读指令。举例来说,处理系统808可读取和执行存储在存储器804和次级存储系统806上的计算机可读指令818和822。
处理系统808可包括一个或一个以上处理单元826。处理单元826可包括执行计算机可读指令的物理装置。处理单元826可包括执行计算机可读指令的各种类型的物理装置。举例来说,处理单元826的一者或一者以上可包括微处理器、微处理器内的处理核心、数字信号处理器、图形处理单元、通用图形处理单元,或执行计算机可读指令的另一装置或物理装置。
输入接口810可使计算装置800能够从输入装置828接收输入。输入装置828可包括接收来自用户的输入的装置。输入装置828可包括接收来自用户的输入的各种类型的装置。举例来说,输入装置828可包括键盘、触摸屏、麦克风、小键盘、操纵杆、脑机接口装置,或接收来自用户的输入的另一类型的装置。在一些例子中,输入装置828可集成到计算装置800的外壳中。在其它例子中,输入装置828可在计算装置800的外壳外部。
显示接口812可使计算装置800能够在显示装置830上显示输出。显示装置830可为显示输出的装置。显示装置的实例类型可包含监视器、触摸屏、显示屏,电视机,和显示输出的其它类型的装置。在一些例子中,显示装置830可集成到计算装置800的外壳中。在其它例子中,显示装置830可在计算装置800的外壳外部。
通信接口814可使计算装置800能够经由一个或一个以上通信媒体发送和接收数据。通信接口814包括各种类型的装置。举例来说,通信接口814可包括网络接口卡(NIC)、无线网络适配器、通用串行总线(USB)端口,或使计算装置800能够经由一个或一个以上通信媒体发送和接收数据的另一类型的装置。
在一个或一个以上实例中,所描述的功能可实施在硬件、软件、固件,或其任何组合中。如果实施在软件中,所述功能可作为一个或一个以上指令或代码在计算机可读媒体上存储或发射且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体;或通信媒体,其包含促进例如根据通信协议将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非瞬时的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体,计算机程序产品可包含计算机可读媒体。
借助实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置,或其它磁性存储装置、快闪存储器,或可用于存储指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。并且,任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对非瞬时有形存储媒体。在本文中使用时,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。上文的组合也应包括在计算机可读媒体的范围内。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行所述指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供在经配置用于编码和解码的专门硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可实施在广泛种类的装置或设备中,包含无线手持机、集成电路(IC)或IC组(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,且不一定必须要求由不同硬件单元实现。事实上,如上文描述,各个单元可组合在编解码器硬件单元中或由互操作硬件单元的集合提供,包含如上所述的一个或一个以上处理器,结合适宜的软件和/或固件。
已描述了各种实例。这些和其它实例在所附权利要求书界定的本发明的范围内。
Claims (39)
1.一种用于处理视频数据的方法,所述方法包括:
确定所估计通过量;
从服务器装置接收指示多个片段群组中的每一相应片段群组的相应优先级值的信息,其中:
对于所述多个片段群组中的每一相应片段群组:
所述相应片段群组包含相应的多个片段;
所述相应片段群组对应于与其他片段群组不同的媒体内容的相应时间区段;
所述相应片段群组中的每一相应片段代表所述媒体内容的相同的相应时间区段,所述每一相应片段可个别检索且来自于所述媒体内容的多个表示中的不同表示,所述表示中的每一者以不同位速率编码,以及
所述相应片段群组的所述相应优先级值指示从所述多个表示中的具有比所述多个表示中的其他表示高的位速率的表示选择所述相应时间区段的片段的重要性;
执行选择操作,所述选择操作选择所述多个片段群组中的每一相应片段群组中的片段,其中执行所述选择操作包括至少部分基于所述所估计通过量以及所述片段群组的所述优先级值选择每一相应片段群组中的所述片段;以及
处理选定片段。
2.根据权利要求1所述的方法,其中所述所估计通过量是通信网络的带宽。
3.根据权利要求2所述的方法,其进一步包括根据自适应流式传输网络协议请求所述选定片段。
4.根据权利要求1所述的方法,其中所述所估计通过量是一个或多个处理器在即将到来的时间周期期间能够解码的媒体数据量的估计值。
5.根据权利要求1所述的方法,其中选择所述片段包括基于所述片段群组的所述优先级值、所述所估计通过量以及额外地回放缓冲器中的视频数据的当前回放持续时间选择每一相应片段群组中的所述片段。
6.根据权利要求1所述的方法,其中所述所估计通过量是通信网络的所估计带宽,且所述选定片段的所估计传送时间小于或等于所述选定片段的回放持续时间加上回放缓冲器中的视频数据的当前回放持续时间,所述选定片段的所述所估计传送时间至少部分基于所述所估计带宽和所述选定片段中的位的总数目。
7.根据权利要求1所述的方法,其进一步包括:
再现由所述选定片段表示的帧序列;以及
在显示装置上呈现所述帧序列。
8.根据权利要求1所述的方法,其进一步包括:
存储清单文件,其中,对于所述多个片段群组中的每一相应片段群组,所述清单文件指定所述相应片段群组中的所述片段的URL和指示所述相应片段群组的所述优先级值的信息;以及
使用所述选定片段的所述URL来产生对所述选定片段的请求。
9.根据权利要求1所述的方法,其中处理所述选定片段包括解码所述选定片段。
10.根据权利要求9所述的方法,其中选择每一相应片段群组中的所述片段包括:
识别多个候选组合,其中对于所述多个候选组合中的每一相应候选组合:
所述相应候选组合包含在即将到来的时间周期内的所述片段群组中的每一者中的一个片段;以及
所述相应候选组合中的所述片段的位速率的平均值不显著大于所述所估计通过量;
基于在所述即将到来的时间周期内的所述片段群组的所述优先级值计算所述多个候选组合中的每一相应候选组合的相应QoS得分;以及
基于所述候选组合的所述QoS得分从所述多个候选组合中识别胜出组合,所述选定片段在所述胜出组合内。
11.根据权利要求10所述的方法,
其中执行所述选择操作包括使用在所述即将到来的时间周期内的所述片段群组的所述优先级值来计算在所述即将到来的时间周期内的所述片段群组中的每一相应片段的相应优先级值;且
计算所述多个候选组合中的每一相应候选组合的所述相应QoS得分包括对于所述多个候选组合中的每一相应候选组合,通过将所述相应候选组合中的所述片段的所述优先级值相加而计算所述相应候选组合的所述相应QoS得分。
12.根据权利要求10所述的方法,
其中计算所述多个候选组合中的每一相应候选组合的所述相应QoS得分包括对于所述多个候选组合中的每一相应候选组合,基于所述相应候选组合中的所述片段的峰值信噪比值而计算所述相应候选组合的所述相应QoS得分。
13.根据权利要求10所述的方法,
其中执行所述选择操作包括使用在所述即将到来的时间周期内的所述片段群组的所述优先级值来计算在所述即将到来的时间周期内的所述片段群组中的每一相应片段的相应优先级值;且
其中计算所述多个候选组合中的每一相应候选组合的所述相应QoS得分包括对于所述多个候选组合中的每一相应候选组合,通过计算所述相应候选组合中的所述片段的所述优先级值的几何平均数而计算所述相应候选组合的所述相应QoS得分。
14.根据权利要求1所述的方法,其中至少部分基于所述所估计通过量以及所述优先级值选择包括选择来自第一表示的第一片段和来自第二不同表示的第二片段,所述第一和第二片段对应于不同时间区段。
15.一种包括一个或多个处理器的计算装置,所述一个或多个处理器经配置以:
确定所估计通过量;
从服务器装置接收指示多个片段群组中的每一相应片段群组的相应优先级值的信息,其中:
对于所述多个片段群组中的每一相应片段群组:
所述相应片段群组包含相应的多个片段;
所述相应片段群组对应于与其他片段群组不同的媒体内容的相应时间区段;所述相应片段群组中的每一相应片段代表所述媒体内容的相同的相应时间区段,所述每一相应片段可个别检索且来自于所述媒体内容的多个表示中的不同表示,所述表示中的每一者以不同位速率编码,以及
所述相应片段群组的所述相应优先级值指示从所述多个表示中的具有比所述多个表示中的其他表示高的位速率的表示选择所述相应时间区段的片段的重要性;
执行选择操作,所述选择操作选择所述多个片段群组中的每一相应片段群组中的片段,其中执行所述选择操作包括至少部分基于所述所估计通过量以及所述片段群组的所述优先级值选择每一相应片段群组中的所述片段;以及
处理选定片段。
16.根据权利要求15所述的计算装置,其中所述所估计通过量是通信网络的带宽。
17.根据权利要求16所述的计算装置,其中所述一个或多个处理器经配置以根据自适应流式传输网络协议请求所述选定片段。
18.根据权利要求15所述的计算装置,其中所述所估计通过量是所述一个或多个处理器在即将到来的时间周期期间能够解码的媒体数据量的估计值。
19.根据权利要求15所述的计算装置,其中所述一个或多个处理器经配置以基于所述片段的所述优先级值、所述所估计通过量以及额外地回放缓冲器中的视频数据的当前回放持续时间选择每一相应片段群组中的所述片段。
20.根据权利要求15所述的计算装置,其中:所述所估计通过量是通信网络的所估计带宽,且所述选定片段的所估计传送时间小于或等于所述选定片段的回放持续时间加上回放缓冲器中的视频数据的当前回放持续时间,所述选定片段的所述所估计传送时间基于所述所估计带宽和所述选定片段中的位的总数目。
21.根据权利要求15所述的计算装置,其中处理所述选定片段,所述一个或多个处理器:
再现由所述选定片段表示的帧序列;以及
在显示装置上呈现所述帧序列。
22.根据权利要求15所述的计算装置,
其中:所述计算装置存储清单文件,对于所述多个片段群组中的每一相应片段群组,所述清单文件指定所述相应片段群组中的所述片段的URL和指示所述相应片段群组的所述优先级值的信息;且
所述一个或多个处理器经配置以使用所述选定片段的所述URL来产生对于所述选定片段的请求。
23.根据权利要求15所述的计算装置,其中所述一个或多个处理器进一步经配置以:
解码所述选定片段。
24.根据权利要求15所述的计算装置,其中所述一个或多个处理器经配置以:
识别多个候选组合,其中对于所述多个候选组合中的每一相应候选组合:
所述相应候选组合包含在即将到来的时间周期内的所述片段群组中的每一者中的一个片段;以及
所述相应候选组合中的所述片段的位速率的平均值不显著大于所述所估计通过量;
基于在所述即将到来的时间周期内的所述片段群组的所述优先级值计算所述多个候选组合中的每一相应候选组合的相应QoS得分;以及
基于所述候选组合的所述QoS得分从所述多个候选组合中识别胜出组合,所述选定片段在所述胜出组合内。
25.根据权利要求24所述的计算装置,其中所述一个或多个处理器经配置以:
使用在所述即将到来的时间周期内的所述片段群组的所述优先级值来计算在所述即将到来的时间周期内的所述片段群组中的每一相应片段的相应优先级值;以及
对于所述多个候选组合中的每一相应候选组合,通过将所述相应候选组合中的所述片段的所述优先级值相加而计算所述相应候选组合的所述相应QoS得分。
26.根据权利要求24所述的计算装置,其中所述一个或多个处理器经配置以:
对于所述多个候选组合中的每一相应候选组合,基于所述相应候选组合中的所述片段的峰值信噪比值而计算所述相应候选组合的所述相应QoS得分。
27.根据权利要求24所述的计算装置,其中所述一个或多个处理器经配置以:
使用在所述即将到来的时间周期内的所述片段群组的所述优先级值来计算在所述即将到来的时间周期内的所述片段群组中的每一相应片段的相应优先级值;以及
对于所述多个候选组合中的每一相应候选组合,通过计算所述相应候选组合中的所述片段的所述优先级值的几何平均数而计算所述相应候选组合的所述相应QoS得分。
28.一种计算装置,其包括:
用于确定所估计通过量的装置;
用于从服务器装置接收指示多个片段群组中的每一相应片段群组的相应优先级值的信息的装置,其中:
对于所述多个片段群组中的每一相应片段群组:
所述相应片段群组包含相应的多个片段;
所述相应片段群组对应于与其他片段群组不同的媒体内容的相应时间区段;
所述相应片段群组中的每一相应片段代表所述媒体内容的相同的相应时间区段,所述每一相应片段可个别检索且来自于所述媒体内容的多个表示中的不同表示,所述表示中的每一者以不同位速率编码,以及
所述相应片段群组的所述相应优先级值指示从所述多个表示中的具有比所述多个表示中的其他表示高的位速率的表示选择所述相应时间区段的片段的重要性;
用于执行选择操作的装置,所述选择操作选择所述多个片段群组中的每一相应片段群组中的片段,其中执行所述选择操作包括至少部分基于所述所估计通过量以及所述片段群组的所述优先级值选择每一相应片段群组中的所述片段;以及
用于处理选定片段的装置。
29.根据权利要求28所述的计算装置,其中所述所估计通过量是通信网络的带宽。
30.根据权利要求28所述的计算装置,其进一步包括用于根据自适应流式传输网络协议请求所述选定片段的装置。
31.根据权利要求28所述的计算装置,其中所述所估计通过量是一个或多个处理器在即将到来的时间周期期间能够解码的媒体数据量的估计值。
32.根据权利要求28所述的计算装置,其包括:
用于解码所述选定片段的装置。
33.根据权利要求28所述的计算装置,其包括:
用于识别多个候选组合的装置,其中对于所述多个候选组合的每一相应候选组合:
所述相应候选组合包含在即将到来的时间周期内的所述片段群组中的每一者中的一个片段;以及
所述相应候选组合中的所述片段的位速率的平均值不显著大于所述所估计通过量;
用于基于在所述即将到来的时间周期内的所述片段群组的所述优先级值计算所述多个候选组合中的每一相应候选组合的相应QoS得分的装置;以及
用于基于所述候选组合的所述QoS得分从所述多个候选组合中识别胜出组合的装置,所述选定片段在所述胜出组合内。
34.一种用于经由自适应流式传输网络协议提供视频数据的方法,所述方法包括:
发送指示多个片段群组的每一相应片段群组的相应优先级值的信息,其中:
对于所述多个片段群组中的每一相应片段群组:
所述相应片段群组包含相应的多个片段;
所述相应片段群组对应于与其他片段群组不同的媒体内容的相应时间区段;
所述相应片段群组中的每一相应片段代表所述媒体内容的相同的相应时间区段,所述每一相应片段可个别检索且来自于所述媒体内容的多个表示中的不同表示,所述表示中的每一者以不同位速率编码,以及
所述相应片段群组的所述相应优先级值指示从所述多个表示中的具有比所述多个表示中的其他表示高的位速率的表示选择所述相应时间区段的片段的重要性;以及
响应于来自客户端装置的一个或多个请求经由所述自适应流式传输网络协议发送所请求的片段,所述所请求的片段是所述一个或多个请求指定的所述片段中的片段。
35.根据权利要求34所述的方法,其进一步包括:
向所述片段群组指派所述优先级值;以及
将所述优先级值存储到所述媒体内容的清单文件。
36.一种包括一个或多个处理器的计算装置,所述一个或多个处理器经配置以:
发送指示多个片段群组的每一相应片段群组的相应优先级值的信息,其中:
对于所述多个片段群组中的每一相应片段群组:
所述相应片段群组包含相应的多个片段;
所述相应片段群组对应于与其他片段群组不同的媒体内容的相应时间区段;
所述相应片段群组中的每一相应片段代表所述媒体内容的相同的相应时间区段,所述每一相应片段可个别检索且来自于所述媒体内容的多个表示中的不同表示,所述表示中的每一者以不同位速率编码,以及
所述相应片段群组的所述相应优先级值指示从所述多个表示中的具有比所述多个表示中的其他表示高的位速率的表示选择所述相应时间区段的片段的重要性;且
响应于来自客户端装置的一个或多个请求经由自适应流式传输网络协议发送所请求的片段,所述所请求的片段是所述一个或多个请求指定的所述片段中的片段。
37.根据权利要求36所述的计算装置,其中所述一个或多个处理器经配置以:
向所述片段群组指派所述优先级值;且
将所述优先级值存储到所述媒体内容的清单文件。
38.一种计算装置,其包括:
用于发送指示多个片段群组的每一相应片段群组的相应优先级值的信息的装置,其中:
对于所述多个片段群组中的每一相应片段群组:
所述相应片段群组包含相应的多个片段;
所述相应片段群组对应于与其他片段群组不同的媒体内容的相应时间区段;
所述相应片段群组中的每一相应片段代表所述媒体内容的相同的相应时间区段,所述每一相应片段可个别检索且来自于所述媒体内容的多个表示中的不同表示,所述表示中的每一者以不同位速率编码,以及
所述相应片段群组的所述相应优先级值指示从所述多个表示中的具有比所述多个表示中的其他表示高的位速率的表示选择所述相应时间区段的片段的重要性;以及
用于响应于来自客户端装置的一个或多个请求经由自适应流式传输网络协议发送所请求的片段的装置,所述所请求的片段是所述一个或多个请求指定的所述片段中的片段。
39.根据权利要求38所述的计算装置,其进一步包括:
用于向所述片段群组指派所述优先级值的装置;以及
用于将所述优先级值存储到所述媒体内容的清单文件的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161537407P | 2011-09-21 | 2011-09-21 | |
US61/537,407 | 2011-09-21 | ||
US13/623,589 US9445136B2 (en) | 2011-09-21 | 2012-09-20 | Signaling characteristics of segments for network streaming of media data |
US13/623,589 | 2012-09-20 | ||
PCT/US2012/056568 WO2013044025A2 (en) | 2011-09-21 | 2012-09-21 | Signaling characteristics of segments for network streaming of media data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103814562A CN103814562A (zh) | 2014-05-21 |
CN103814562B true CN103814562B (zh) | 2017-03-08 |
Family
ID=47324355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280045731.7A Expired - Fee Related CN103814562B (zh) | 2011-09-21 | 2012-09-21 | 用信号表示片段的特性以用于媒体数据的网络流式传输 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9445136B2 (zh) |
EP (1) | EP2759113B1 (zh) |
JP (1) | JP6058677B2 (zh) |
KR (1) | KR101614632B1 (zh) |
CN (1) | CN103814562B (zh) |
WO (1) | WO2013044025A2 (zh) |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9055136B2 (en) * | 2011-10-13 | 2015-06-09 | Qualcomm Incorporated | Controlling streaming delay in networks |
WO2013058684A1 (en) * | 2011-10-17 | 2013-04-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method for adaptive streaming, local storing and post-storing quality increase of a content file |
WO2013090280A2 (en) * | 2011-12-15 | 2013-06-20 | Dolby Laboratories Licensing Corporation | Bandwidth adaptation for dynamic adaptive transferring of multimedia |
US8977704B2 (en) | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
US9401968B2 (en) * | 2012-01-20 | 2016-07-26 | Nokia Techologies Oy | Method and apparatus for enabling pre-fetching of media |
US9392304B2 (en) * | 2012-02-29 | 2016-07-12 | Hulu, LLC | Encoding optimization using quality level of encoded segments |
US9438883B2 (en) * | 2012-04-09 | 2016-09-06 | Intel Corporation | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US9628531B2 (en) * | 2012-04-25 | 2017-04-18 | Futurewei Technologies, Inc. | Systems and methods for controlling client behavior in adaptive streaming |
CN109413447B (zh) | 2012-08-22 | 2021-03-30 | 华为技术有限公司 | Mpeg-2传输流中的iso-bmff事件盒承载 |
KR101473249B1 (ko) * | 2012-10-30 | 2014-12-17 | 주식회사 케이티 | 콘텐츠 재생 속도 테이블 생성 서버, 디바이스 및 방법 |
US20140282792A1 (en) * | 2013-03-15 | 2014-09-18 | Cygnus Broadband, Inc. | Video streaming with buffer occupancy prediction based quality adaptation |
CN104105012B (zh) * | 2013-04-03 | 2018-04-20 | 华为技术有限公司 | 流媒体的片段准备方法和装置 |
US20140372569A1 (en) * | 2013-06-14 | 2014-12-18 | Samsung Electronics Co., Ltd. | Controlling dash client rate adaptation |
US10033658B2 (en) * | 2013-06-20 | 2018-07-24 | Samsung Electronics Co., Ltd. | Method and apparatus for rate adaptation in motion picture experts group media transport |
WO2015007795A1 (en) * | 2013-07-16 | 2015-01-22 | Bitmovin Gmbh | Apparatus and method for cloud assisted adaptive streaming |
WO2015013550A1 (en) * | 2013-07-24 | 2015-01-29 | Futurewei Technologies Inc. | System and method for network-assisted adaptive streaming |
US20150030071A1 (en) * | 2013-07-24 | 2015-01-29 | Broadcom Corporation | Motion vector reuse for adaptive bit rate streaming |
EP3860130A1 (en) * | 2013-08-16 | 2021-08-04 | bitmovin GmbH | Apparatus and method for constant quality optimization for adaptive streaming |
JP6327809B2 (ja) * | 2013-08-20 | 2018-05-23 | キヤノン株式会社 | 受信装置、制御方法及びプログラム |
US8850055B1 (en) * | 2013-09-17 | 2014-09-30 | Google Inc. | Intelligently streaming portions of media at higher quality over a limited bandwidth connection |
US9661044B2 (en) * | 2013-11-08 | 2017-05-23 | Disney Enterprises, Inc. | Systems and methods for delivery of localized media assets |
WO2015081218A1 (en) | 2013-11-27 | 2015-06-04 | Interdigital Patent Holdings, Inc. | Media presentation description |
JP6289076B2 (ja) * | 2013-12-18 | 2018-03-07 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
US9330101B2 (en) | 2013-12-18 | 2016-05-03 | Microsoft Technology Licensing, Llc | Using constraints on media file formats to improve performance |
WO2015105327A1 (ko) * | 2014-01-08 | 2015-07-16 | 한국전자통신연구원 | Dash를 사용하는 비디오 재생을 위한 비트 깊이 표현 방법 |
WO2015104149A1 (en) * | 2014-01-10 | 2015-07-16 | Thomson Licensing | Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments |
WO2015104146A1 (en) * | 2014-01-10 | 2015-07-16 | Thomson Licensing | Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments |
WO2015104147A1 (en) * | 2014-01-10 | 2015-07-16 | Thomson Licensing | Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments |
CN105981400A (zh) * | 2014-01-10 | 2016-09-28 | 汤姆逊许可公司 | 配置为接收划分成片段的多媒体内容的客户终端获得网络信息的方法 |
EP2894870A1 (en) * | 2014-01-10 | 2015-07-15 | Thomson Licensing | Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal |
EP2894871A1 (en) * | 2014-01-10 | 2015-07-15 | Thomson Licensing | Method for obtaining a network information by a client terminal configured for receiving a multimedia content divided into segments |
JP2015136057A (ja) * | 2014-01-17 | 2015-07-27 | ソニー株式会社 | 通信装置、通信データ生成方法、および通信データ処理方法 |
EP2897337B1 (en) * | 2014-01-21 | 2022-01-05 | Alcatel Lucent | Improved playback control device and method for streaming media content |
US20150261425A1 (en) * | 2014-03-14 | 2015-09-17 | Apple Inc. | Optimized presentation of multimedia content |
FR3020544A1 (fr) * | 2014-04-24 | 2015-10-30 | Orange | Transmission et telechargement de contenu decompose en segments de donnees temporels |
US20170055046A1 (en) * | 2014-05-21 | 2017-02-23 | Lg Electronics Inc. | Broadcast signal transmitting/receiving method and device |
CN104010232B (zh) * | 2014-05-23 | 2017-12-12 | 惠州Tcl移动通信有限公司 | 一种智能播放在线视频的方法、系统、播放器及移动终端 |
US20150350714A1 (en) * | 2014-05-29 | 2015-12-03 | Apple Inc. | Playback of video on demand |
JP6419848B2 (ja) * | 2014-06-30 | 2018-11-07 | ディッシュ テクノロジーズ エル.エル.シー.DISH Technologies L.L.C. | 帯域幅最適化のための適応的データセグメント配信調停 |
US10129312B2 (en) * | 2014-09-11 | 2018-11-13 | Microsoft Technology Licensing, Llc | Dynamic video streaming based on viewer activity |
EP3001633B1 (en) * | 2014-09-26 | 2017-08-16 | Alcatel Lucent | Server, client, method and computer program product for adaptive streaming of media content to a client |
US9794601B2 (en) * | 2014-10-21 | 2017-10-17 | Cisco Technology, Inc. | Dynamic programming across multiple streams |
US10142386B2 (en) | 2014-10-29 | 2018-11-27 | DLVR, Inc. | Determining manifest file data used in adaptive streaming video delivery |
US10084838B2 (en) | 2014-10-29 | 2018-09-25 | DLVR, Inc. | Generating and using manifest files including content delivery network authentication data |
US9426089B2 (en) | 2014-10-29 | 2016-08-23 | DLVR, Inc. | Systems and methods for session-based resource assignment, delivery, performance management and measurement in a networked environment |
US9509742B2 (en) | 2014-10-29 | 2016-11-29 | DLVR, Inc. | Configuring manifest files referencing infrastructure service providers for adaptive streaming video |
PT3217672T (pt) * | 2014-11-07 | 2021-04-19 | Sony Corp | Aparelho de transmissão, método de transmissão, aparelho de receção e método de receção |
US10268698B2 (en) | 2014-11-21 | 2019-04-23 | Adobe Inc. | Synchronizing different representations of content |
US10666698B1 (en) | 2014-12-19 | 2020-05-26 | Amazon Technologies, Inc. | Bit rate selection for streaming media |
US9686332B1 (en) * | 2014-12-19 | 2017-06-20 | Amazon Technologies, Inc. | Live stream manifests for on demand content |
US10708331B1 (en) * | 2014-12-19 | 2020-07-07 | Amazon Technologies, Inc. | Generating requests for streaming media |
EP4262213A1 (en) | 2015-02-27 | 2023-10-18 | Sony Group Corporation | Transmitting device, transmitting method, receiving device and receiving method |
KR102352679B1 (ko) * | 2015-03-25 | 2022-01-18 | 삼성전자주식회사 | 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법 |
JP6601068B2 (ja) | 2015-09-01 | 2019-11-06 | 富士通コネクテッドテクノロジーズ株式会社 | 通信方法、通信装置及び通信プログラム |
JP6601066B2 (ja) * | 2015-09-01 | 2019-11-06 | 富士通コネクテッドテクノロジーズ株式会社 | 通信方法、通信装置及び通信プログラム |
JP6574974B2 (ja) * | 2015-09-29 | 2019-09-18 | Run.Edge株式会社 | 動画像再生装置、動画像配信サーバ、動画像再生方法、動画像配信方法、動画像再生プログラム、及び動画像配信プログラム |
EP3360332A1 (en) * | 2015-10-08 | 2018-08-15 | Tradecast B.V. | Client and method for playing a sequence of video streams, and corresponding server and computer program product |
WO2017092830A1 (en) * | 2015-12-04 | 2017-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for adaptive streaming of temporally scaling media segment levels |
US11533521B2 (en) | 2015-12-11 | 2022-12-20 | Interdigital Madison Patent Holdings, Sas | Scheduling multiple-layer video segments |
US10291680B2 (en) * | 2015-12-23 | 2019-05-14 | Board Of Trustees Of Michigan State University | Streaming media using erasable packets within internet queues |
CN108476547B (zh) * | 2016-01-15 | 2022-04-29 | 瑞典爱立信有限公司 | 传送通信装置、接收通信装置以及由此在网络切片的上下文中执行的方法 |
US10230812B1 (en) * | 2016-01-29 | 2019-03-12 | Amazon Technologies, Inc. | Dynamic allocation of subtitle packaging |
JP2017143475A (ja) * | 2016-02-12 | 2017-08-17 | 日本放送協会 | 配信管理装置、受信装置、分散処理システム、及びプログラム |
JP6920578B2 (ja) * | 2016-03-02 | 2021-08-18 | パナソニックIpマネジメント株式会社 | 映像ストリーミング装置、映像編集装置および映像配信システム |
US11956512B2 (en) * | 2016-04-07 | 2024-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Media stream prioritization |
GB2549970A (en) * | 2016-05-04 | 2017-11-08 | Canon Europa Nv | Method and apparatus for generating a composite video from a pluarity of videos without transcoding |
US10701415B2 (en) * | 2016-05-19 | 2020-06-30 | Arris Enterprises Llc | Method and apparatus for segmenting data |
US10389785B2 (en) * | 2016-07-17 | 2019-08-20 | Wei-Chung Chang | Method for adaptively streaming an audio/visual material |
US10063612B2 (en) * | 2016-09-30 | 2018-08-28 | Amazon Technologies, Inc. | Request-based encoding for streaming content portions |
US11044507B2 (en) * | 2016-09-30 | 2021-06-22 | British Telecommunications Public Limited Company | Viewer importance adaptive bit rate delivery |
EP3520420B1 (en) * | 2016-09-30 | 2022-11-02 | British Telecommunications public limited company | Viewer importance adaptive bit rate delivery |
MX2019005456A (es) | 2016-11-10 | 2019-08-12 | Ericsson Telefon Ab L M | Segmentacion de recursos para mejorar el rendimiento de entrega. |
US10595069B2 (en) | 2016-12-05 | 2020-03-17 | Adobe Inc. | Prioritizing tile-based virtual reality video streaming using adaptive rate allocation |
JP6247782B1 (ja) * | 2017-02-15 | 2017-12-13 | パナソニック株式会社 | 端末装置、映像配信システムおよび映像配信方法 |
CN110945873B (zh) | 2017-06-02 | 2022-11-04 | Vid拓展公司 | 下一代网络上的360度视频递送 |
US10652166B2 (en) * | 2017-06-27 | 2020-05-12 | Cisco Technology, Inc. | Non-real time adaptive bitrate recording scheduler |
KR20240038175A (ko) | 2017-07-06 | 2024-03-22 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 분할된 비디오 스트리밍 개념 |
US10318301B2 (en) * | 2017-08-31 | 2019-06-11 | Micron Technology, Inc. | Managed multiple die memory QoS |
GB201721847D0 (en) * | 2017-12-22 | 2018-02-07 | Telecom Paris Tech | Priority map for media files |
EP3734594A4 (en) * | 2017-12-28 | 2020-11-11 | Sony Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM |
CN107948206B (zh) * | 2018-01-02 | 2020-11-20 | 联想(北京)有限公司 | 一种多媒体数据下载/或上传的方法及系统 |
CN110111793B (zh) | 2018-02-01 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 音频信息的处理方法、装置、存储介质及电子装置 |
US10623788B2 (en) * | 2018-03-23 | 2020-04-14 | At&T Intellectual Property I, L.P. | Methods to estimate video playback buffer |
US10623736B2 (en) * | 2018-06-14 | 2020-04-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Tile selection and bandwidth optimization for providing 360° immersive video |
US11019123B2 (en) * | 2018-06-22 | 2021-05-25 | International Business Machines Corporation | Multi-bitrate component sharding |
US11196795B2 (en) * | 2020-03-25 | 2021-12-07 | Arris Enterprises Llc | Method and apparatus for predicting video decoding time |
US11425182B1 (en) * | 2020-12-30 | 2022-08-23 | Meta Platforms, Inc. | Systems and methods for dynamically encoding media streams |
US20240314054A1 (en) * | 2023-03-15 | 2024-09-19 | Apple Inc. | On-device machine learning-based network bandwidth prediction to improve adaptive media streaming performance |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1871795A (zh) * | 2003-08-29 | 2006-11-29 | Rgb网络有限公司 | 先进自平衡视频多路复用器系统 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446125B1 (en) * | 1997-03-28 | 2002-09-03 | Honeywell International Inc. | Ripple scheduling for end-to-end global resource management |
SE513188C2 (sv) * | 1998-03-25 | 2000-07-24 | Ericsson Telefon Ab L M | Kvotalgoritm för övervakning av störningsprocesser |
JP4965059B2 (ja) * | 2001-07-19 | 2012-07-04 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | ビデオストリームの切り替え |
US6880051B2 (en) * | 2002-03-14 | 2005-04-12 | International Business Machines Corporation | Method, system, and program for maintaining backup copies of files in a backup storage device |
US7483487B2 (en) * | 2002-04-11 | 2009-01-27 | Microsoft Corporation | Streaming methods and systems |
US20030233464A1 (en) | 2002-06-10 | 2003-12-18 | Jonathan Walpole | Priority progress streaming for quality-adaptive transmission of data |
US20030236904A1 (en) * | 2002-06-19 | 2003-12-25 | Jonathan Walpole | Priority progress multicast streaming for quality-adaptive transmission of data |
KR100486713B1 (ko) * | 2002-09-17 | 2005-05-03 | 삼성전자주식회사 | 멀티미디어 스트리밍 장치 및 방법 |
SG111978A1 (en) | 2002-11-20 | 2005-06-29 | Victor Company Of Japan | An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control |
EP1531626B1 (en) * | 2003-11-12 | 2008-01-02 | Sony Deutschland GmbH | Automatic summarisation for a television programme suggestion engine based on consumer preferences |
US7504968B2 (en) * | 2004-02-13 | 2009-03-17 | Hewlett-Packard Development Company, L.P. | Media data decoding device |
JP4408383B2 (ja) | 2004-03-18 | 2010-02-03 | 国立大学法人 奈良先端科学技術大学院大学 | 情報配信装置、情報配信システムおよび情報配信方法 |
US7818444B2 (en) * | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
KR100631743B1 (ko) | 2004-11-26 | 2006-10-11 | 삼성전자주식회사 | 스케일러블 비트스트림의 효율적 전송 방법 및 장치 |
US9209956B2 (en) * | 2005-08-22 | 2015-12-08 | Qualcomm Incorporated | Segment sensitive scheduling |
JP2007158414A (ja) | 2005-11-30 | 2007-06-21 | Matsushita Electric Ind Co Ltd | コンテンツ配信システム及びコンテンツ仲介サーバ |
US9432433B2 (en) * | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US8606966B2 (en) * | 2006-08-28 | 2013-12-10 | Allot Communications Ltd. | Network adaptation of digital content |
US7640358B2 (en) * | 2006-11-09 | 2009-12-29 | Sharp Laboratories Of America, Inc. | Methods and systems for HTTP streaming using an intelligent HTTP client |
US8576858B2 (en) | 2006-12-13 | 2013-11-05 | Viasat, Inc. | Multiple transmission paths for hierarchical layers |
WO2008077119A2 (en) | 2006-12-19 | 2008-06-26 | Ortiva Wireless | Intelligent video signal encoding utilizing regions of interest information |
US8578045B2 (en) * | 2007-02-14 | 2013-11-05 | Microsoft Corporation | Adaptive bandwidth utilization |
US8379851B2 (en) * | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
US8028081B2 (en) * | 2008-05-23 | 2011-09-27 | Porto Technology, Llc | System and method for adaptive segment prefetching of streaming media |
US7860996B2 (en) * | 2008-05-30 | 2010-12-28 | Microsoft Corporation | Media streaming with seamless ad insertion |
US9396024B2 (en) * | 2008-10-14 | 2016-07-19 | Vmware, Inc. | Online computation of cache occupancy and performance |
US20100121974A1 (en) * | 2008-11-11 | 2010-05-13 | Einarsson Torbjoem | Stepwise probing for adaptive streaming in a packet communication network |
WO2010111261A1 (en) * | 2009-03-23 | 2010-09-30 | Azuki Systems, Inc. | Method and system for efficient streaming video dynamic rate adaptation |
US8484368B2 (en) * | 2009-10-02 | 2013-07-09 | Disney Enterprises, Inc. | Method and system for optimizing download and instantaneous viewing of media files |
JP2011087103A (ja) | 2009-10-15 | 2011-04-28 | Sony Corp | コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供 |
US9124642B2 (en) * | 2009-10-16 | 2015-09-01 | Qualcomm Incorporated | Adaptively streaming multimedia |
US9294526B2 (en) * | 2009-12-28 | 2016-03-22 | Microsoft Technology Licensing, Llc | Managing multiple dynamic media streams |
JP5996439B2 (ja) | 2010-02-19 | 2016-09-21 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | Httpストリーミングにおける表現切り替えのための方法及び装置 |
EP2360923A1 (en) | 2010-02-24 | 2011-08-24 | Thomson Licensing | Method for selectively requesting adaptive streaming content and a device implementing the method |
US8516147B2 (en) * | 2010-02-26 | 2013-08-20 | Simula Innovation Sa | Data segmentation, request and transfer method |
US8504713B2 (en) * | 2010-05-28 | 2013-08-06 | Allot Communications Ltd. | Adaptive progressive download |
US8190677B2 (en) * | 2010-07-23 | 2012-05-29 | Seawell Networks Inc. | Methods and systems for scalable video delivery |
CN103222276B (zh) * | 2010-09-20 | 2017-04-19 | 数码士有限公司 | 将在http流式传输中发生表达切换时实现的处理方法 |
US9479739B2 (en) * | 2010-10-04 | 2016-10-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatuses for adaptive control of streaming |
US20120143994A1 (en) * | 2010-12-03 | 2012-06-07 | Motorola-Mobility, Inc. | Selectively receiving media content |
CN103348656B (zh) * | 2011-02-08 | 2016-08-17 | 瑞典爱立信有限公司 | 用于在蜂窝网络中高速缓存自适应http流传输内容的移动性支持的方法和系统 |
-
2012
- 2012-09-20 US US13/623,589 patent/US9445136B2/en active Active
- 2012-09-21 WO PCT/US2012/056568 patent/WO2013044025A2/en active Application Filing
- 2012-09-21 EP EP12798450.8A patent/EP2759113B1/en not_active Not-in-force
- 2012-09-21 KR KR1020147010625A patent/KR101614632B1/ko not_active IP Right Cessation
- 2012-09-21 JP JP2014532006A patent/JP6058677B2/ja not_active Expired - Fee Related
- 2012-09-21 CN CN201280045731.7A patent/CN103814562B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1871795A (zh) * | 2003-08-29 | 2006-11-29 | Rgb网络有限公司 | 先进自平衡视频多路复用器系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2013044025A2 (en) | 2013-03-28 |
US20130103849A1 (en) | 2013-04-25 |
KR20140063862A (ko) | 2014-05-27 |
US9445136B2 (en) | 2016-09-13 |
WO2013044025A3 (en) | 2013-06-27 |
KR101614632B1 (ko) | 2016-04-29 |
EP2759113B1 (en) | 2017-01-04 |
JP2015501090A (ja) | 2015-01-08 |
CN103814562A (zh) | 2014-05-21 |
JP6058677B2 (ja) | 2017-01-11 |
EP2759113A2 (en) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103814562B (zh) | 用信号表示片段的特性以用于媒体数据的网络流式传输 | |
JP6665127B2 (ja) | メディアパケット復号装置及び復号方法 | |
CN105612753B (zh) | 媒体流传输期间在适配集合间的切换方法和装置 | |
CN106134146B (zh) | 处理连续的多周期内容 | |
CN103843301B (zh) | 经译码多媒体数据的网络串流期间的表示之间的切换 | |
CN105187850B (zh) | 提供经编码视频数据的信息及接收经编码视频数据的方法和设备 | |
CN106878804B (zh) | 用于经译码视频数据的网络流式传输的方法和设备以及非暂时性计算机可读媒介 | |
EP2417772B1 (en) | Media container file management | |
CN110832872B (zh) | 使用用于文件格式方框的通用描述符处理媒体数据 | |
CN109155865A (zh) | 在图像中的最感兴趣的区域的先进信号传送 | |
CN110089122A (zh) | 对于用于流式处理媒体数据的预取支持的数据发信 | |
CN109479158A (zh) | 检索及存取用于媒体流式处理的段区块 | |
CN107071513A (zh) | 用于提供媒体内容的方法、客户机和服务器 | |
JP2015530784A (ja) | ネットワークストリーミングのための失われたメディアデータの置換 | |
JP2015136060A (ja) | 通信装置、通信データ生成方法、および通信データ処理方法 | |
CN109644282A (zh) | 用于媒体数据流式处理的补充增强信息轨迹的系统级发信 | |
JP2015136059A (ja) | 通信装置、通信データ生成方法、および通信データ処理方法 | |
GB2599170A (en) | Method, device, and computer program for optimizing indexing of portions of encapsulated media content data | |
US20160366453A1 (en) | Communication apparatus, communication data generation method, and communication data processing method | |
CN110870323A (zh) | 使用全向媒体格式处理媒体数据 | |
KR101744974B1 (ko) | 하이퍼텍스트 전송 프로토콜 스트리밍 서비스에서 복수의 컨텐츠 구성 요소에 대한 공통 속성 표현 방법 및 장치 | |
KR20240107164A (ko) | 미디어 컨테이너 파일 및 스트리밍 매니페스트에서의 픽처인픽처에 대한 시그널링 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170308 Termination date: 20190921 |