CN107005553B - 上下文感知的媒体流式传送技术及利用其的设备、系统和方法 - Google Patents
上下文感知的媒体流式传送技术及利用其的设备、系统和方法 Download PDFInfo
- Publication number
- CN107005553B CN107005553B CN201580063735.1A CN201580063735A CN107005553B CN 107005553 B CN107005553 B CN 107005553B CN 201580063735 A CN201580063735 A CN 201580063735A CN 107005553 B CN107005553 B CN 107005553B
- Authority
- CN
- China
- Prior art keywords
- contextual
- parameters
- content
- streaming
- context
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000003044 adaptive effect Effects 0.000 claims abstract description 66
- 230000008569 process Effects 0.000 claims abstract description 31
- 230000006978 adaptation Effects 0.000 claims abstract description 26
- 239000000872 buffer Substances 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 25
- 238000012805 post-processing Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 235000003642 hunger Nutrition 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- 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/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- 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/75—Media network packet handling
- H04L65/764—Media network packet handling at 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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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
-
- 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- 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/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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
描述了用于执行上下文自适应的媒体流式传送的技术。在一些实施例中,所述技术利用上下文参数利用上下文信息来改变从服务器提供给客户端设备的内容流的参数。在一些实施例中,通过改变一个或多个输入参数(例如,网络参数的报告)来改变内容流的参数,所述输入参数通过客户端设备上的媒体播放器的自适应逻辑进行操作。替代地或另外,在一些实施例中,所述技术利用上下文信息来改变客户端设备处理接收到的内容流中的内容用于消费的方式。还描述了采用所述技术的系统、设备和方法。
Description
技术领域
本公开通常涉及上下文感知的媒体流式传送技术。还描述了利用这样的技术的设备、系统和方法。
背景技术
在最近几年,通过互联网和其它分布式网络分布和消费多媒体(例如,视听)内容在急剧增加。事实上,现在对消费者而言利用多种电子设备访问和消费高质量内容(例如,音乐、电视剧、电影、无线电广播等)是常见的,所述内容经由有线或无线通信传输给消费者的设备。
人们对使用媒体流式传送技术来将内容传输到电子设备用于消费越来越感兴趣。在许多实例中,这样的技术利用客户端服务器架构,其中客户端包括媒体播放器,用户通过该媒体播放器可以选择在服务器上可用于流式传送的内容。响应于所述选择,客户端可以针对选定的内容向服务器发送请求。作为响应,服务器可以开始将与选定的内容相关联的内容数据传输到客户端。
随着内容数据被接收,其可以被缓冲在(例如,媒体播放器的)一个或多个缓冲器中。一旦缓冲器满或者包含阈值量的内容数据,则缓冲器中的至少一部分内容数据可以被处理用于显示。随着缓冲器中的数据被解码和/或显示,该数据可以被丢弃并且使用从服务器接收到的新的内容数据来替换。这样,消费者可以查看选定的内容,而无需等待他的设备下载与选定的内容相关联的所有内容数据。
早期的媒体流式传送技术通常呈现挫败的用户体验,尤其是在用户的设备(客户端)和服务器之间的网络连接相对差时。在这样的情况下,由媒体播放器使用的缓冲器内的内容数据通常比其被来自服务器的新的内容数据替换更快地被处理用于消费。在这样的条件下,媒体播放器缓冲器会挨饿,迫使客户端暂停播放选定的内容,直到从服务器接收到足够量的内容数据并且进行缓冲。这一问题在下列情况中尤其有问题:用户或媒体播放器请求服务器以超过位于客户端设备和服务器之间的网络连接的能力的质量水平提供内容。
已经开发出自适应的流式传送技术来解决上述问题。在许多情况下,这样的技术利用包括媒体播放器的客户端,所述媒体播放器采用自适应逻辑,基于监视的缓冲器水平和在客户端和服务器之间的网络连接的带宽来调整内容流的质量。例如,考虑客户端请求服务器提供相对高质量的内容流的场景,但是其中网络连接的带宽和服务器相对较小。在这样的情况下,自适应逻辑可以确定会发生缓冲器挨饿,并且会使媒体播放器请求服务器降级内容流的质量(例如,请求较低比特率流),以便维持内容在客户端设备上不间断地重放(但是以降低的质量)。
尽管现有的自适应流式传送技术是有用的,但是可以理解它们大部分依赖于由缓冲器水平反映的网络带宽状态,以驱动流质量(由视频压缩比特率反映)的选择。结果,这样的技术可能不提供最优的用户体验,这可能受到其它上下文参数的影响。此外,现有的自适应流式传送技术不被理解为利用上下文参数来调整客户端设备处理内容流以用于消费的方式。
附图说明
图1是客户端-服务器架构的高级图。
图2是自适应流式传送系统的框图。
图3是符合本公开的自适应流式传送系统的框图。
图4是符合本公开的自适应流式传送方法的示例性操作的流程图。
图5示出了根据符合本公开的自适应流式传送方法的一个例子的消息传送流。
图6示出了根据符合本公开的自适应流式传送方法的另一例子的消息传送流。
具体实施方式
虽然参考特定应用的说明性实施例在本文描述了本公开,但是应该理解的是,这样的实施例仅是示例性的,并且由所附权利要求限定的本发明并不限于此。事实上,出于说明的目的,本文描述的技术可以在其中识别一个或多个姿势的一个或多个使用模型的上下文中进行讨论。这样的讨论仅是示例性的,并且应该理解的是,本文描述的所有或一部分技术可以用于其它上下文中并具有其它姿势。获得本文提供的教导的相关领域的技术人员将认识到在本公开范围内的额外的修改、应用和实施例以及在其中本公开的实施例将具有实用性的额外的领域。
本文描述的技术可以利用一个或多个设备,例如在客户端-服务器架构中,实现。术语“设备”、“多个设备”、“电子设备”和“多个电子设备”在此可互换使用,以单独或联合指代可以用作符合本公开的客户端和/或服务器的大量电子设备中的任一个。可以根据本公开使用的设备的非限制性例子包括任何种类的移动设备和/或非移动设备,例如摄像机、蜂窝电话、计算机终端、台式计算机、电子阅读器、传真机、自助服务终端、上网本计算机、笔记本计算机、互联网设备、支付终端、个人数字助理、媒体播放器和/或记录器、服务器、机顶盒、智能电话、平板个人计算机、超级移动个人计算机、有线电话、其组合等。这样的设备可以是便携式的或固定的。不进行限制,本文描述的设备优选的是如下形式:一个或多个蜂窝电话、台式计算机、膝上型计算机、智能电话和平板个人计算机。
术语“客户端”和“客户端设备”在此可互换地使用以指代可以执行符合本公开的客户端功能的一个或多个电子设备。一般而言,术语“客户端”和“客户端设备”在此用于指代从服务器接收并处理流式传送的内容的设备。相反,术语“服务器”、“服务器设备”和“媒体服务器”在此可互换地使用以指代可以执行符合本公开的服务器功能的一个或多个电子设备。更具体地,这样的术语指代可以经由有线或无线通信,例如根据一个或多个媒体流式传送协议,将内容传送到一个或多个客户端设备的一个或多个电子设备。
注意到,为了容易理解,说明书描述了并且附图示出了根据本公开的示例性系统和方法实施例包括单个客户端和单个服务器或利用单个客户端和单个服务器执行。这样的说明出于示例的原因,并且应该理解的是,可以使用任意数量的客户端和服务器。事实上,本文描述的技术可以使用多个(例如,2、5、10、20、50、100或更多)客户端和/或服务器设备实现。因此,尽管本公开可能以单数指代客户端和/或服务器,但是这种表达应该被解释为也包括复数形式。类似地,将设备设计为客户端或服务器是为了清晰起见,并且应该理解的是,根据本公开,客户端设备可以被配置为执行服务器功能,并且所述服务器设备可以被配置为执行客户端功能。
术语“内容”和“媒体”在此可互换地使用以指代数字信息,例如,音频、视频、图像、文本、标记、软件、其组合等,其可以以数字形式(例如,作为内容数据)存储于计算机可读介质上。
如在本文任何实施例中使用的,术语“模块”可以指代软件、固件、电路或其组合,其被配置为执行符合本公开的一个或多个操作。软件可以被实现为记录在非瞬态计算机可读存储介质上的软件包、代码、指令、指令集和/或数据。固件可以被实现为被硬编码(例如,非易失性)在存储器设备中的代码、指令或指令集和/或数据。如在本文的任何实施例中使用的,“电路”可以包括例如单个或任意组合的硬连线电路、可编程电路(例如,包括一个或多个单独指令处理核心的计算机处理器)、状态机电路、存储由可编程电路执行的指令的软件和/或固件。本文描述的模块可以统一地或单独地被实现为形成如前所定义的一个或多个设备的一部分的电路。类似地,在一些实施例中,本文描述的模块可以是至少部分地被实现在硬件中以执行符合本公开的一个或多个操作的逻辑的形式。
短语“近距离通信”在此用于指代在彼此相对靠近的设备之间,即,经由近距离通信,发送/接收数据信号的技术。近距离通信例如包括在设备之间利用网络、个域网(PAN)、近场通信、Zigbee网络、有线以太网连接、其组合等进行通信。相反,短语“远距离通信”在此用于指代在彼此有明显距离的设备之间,即,利用远距离通信,发送/接收数据信号的技术。远距离通信例如包括在设备之间利用WiFi网络、广域网(WAN)(包括但不限于蜂窝电话网络(3G、4G等)等)、互联网、电话网络、其组合等进行通信。
通常,本公开涉及在客户端平台上利用上下文信息来改变从服务器提供到客户端的内容流的质量或其它特性的技术。替代地或另外,本文描述的技术在一些实施例中利用上下文信息来改变客户端设备处理接收到的内容流以用于消费(例如,用于显示)的方式。更具体地且如下文详细描述的,在一些实施例中,本文描述的技术使用上下文信息来设置或以其他方式确定被或将被从服务器提供到客户端的内容流的参数(以下将其称为“流参数”)。替代地或另外,在一些实施例中,本文描述的技术使用上下文信息来设置或以其他方式确定一个或多个图形参数,该图形参数指定例如如何通过客户端的图形管线来处理接收到的内容流。这样,本文描述的技术支持上下文感知的媒体应用,其可以利用(例如,一个或多个传感器的)多种上下文信息来增强用户体验。
在详细讨论本公开的各方面之前,理解以下特定自适应流式传送技术的操作是有帮助的:所述技术不依赖于来自客户端平台的上下文信息和/或触发来驱动关于如何修改内容流的参数的确定,和/或接收到的内容流是否要被以特定方式处理的确定。本公开因此将初始描述不利用上下文信息和/或平台触发的自适应流式传送技术的一些例子的操作。将在下文描述本公开的各方面。
图1描绘了可以用于支持内容流式传送的客户端-服务器模型的一个例子。如图所示,系统100包括可以直接或通过可选网络102通信地彼此耦合的客户端101和服务器103。客户端101和服务器103可以是任意适当的设备,例如上述的客户端和服务器设备。网络102可以是任意适当的有线或无线通信网络,其可以被配置为使能经由短距离通信、长距离通信或其组合在客户端101和服务器103之间的这样的有线或无线通信。
通常,客户端101的用户可能希望消费存储于服务器103上的例如一个或多个数字媒体文件形式的内容。为此,服务器103可以被配置为将存储于其上的内容(例如,经由网络102)流式传送到客户端101。接着,客户端101可以被配置为处理进来的(接收到的)内容流用于例如在其显示器上进行消费。当然,图1的系统的许多变型是可能的,并且应该理解的是,图示的系统仅是出于示例的目的。例如,本公开设想了其中客户端101不直接与服务器103通信的实施例。
现在参考图2,其是不利用上下文信息的自适应流式传送系统的一个例子的框图。如图所示,系统200包括客户端201(与图1的客户端101相对应)、可选网络102和服务器103。客户端201包括设备平台202,其可以是任意适当的设备平台。在一些实施例中,设备平台202与被用作客户端设备201的电子设备的类型相关。因此,例如,在客户端设备201是蜂窝电话、智能电话、安全终端或台式计算机的形式的情况下,设备平台202可以分别是蜂窝电话平台、智能电话平台、安全终端平台或台式计算机平台。
还如图所示,设备平台202包括处理器203、存储器204、媒体播放器模块(MPM)206、通信接口(COMMS)260、视听管线270和显示器(D1)。这样的部件可以经由传输层接口(未标记)与彼此进行通信,所述传输层接口例如是一个或多个物理总线、点对点连接、互连等,其可以通过适当的桥接器、适配器或控制器进行连接。注意,出于说明的目的,显示器D1被示出为与设备平台202集成。应该理解的是,这只是出于示例的原因,并且显示器D1可以与设备平台202分离。
处理器203可以是任意适当的处理器,包括但不限于一个或多个中央处理单元(CPU)、图形处理单元(GPU)和能够执行存储于存储器204中的软件或固件的专用集成电路。因此,处理器203可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程专用集成电路(ASIC)、可编程逻辑器件(PLD)等或这样的设备的组合。
存储器204可以是任意适当的存储器,例如但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存、磁存储器、电阻存储器、磁光存储器、或这样的存储器的组合。在一些实施例中,存储器204可以包含计算机可读指令等,当被处理器203执行时,所述指令使得客户端设备201执行操作以单独或结合服务器103实现内容流式传送操作。
COMMS 260通常被配置为使能在客户端设备201和服务器103之间直接地或经由网络102的通信。为此,COMMS 260可以被配置为使用利用一个或多个预定的有线或无线通信协议的通信,该通信协议例如但不限于互联网协议、WI-FI协议、BLUETOOTH协议、其组合等。COMMS 260因此可以包括硬件(即,电路)、软件、或允许客户端设备201发送和接收数据信号到/自服务器103的硬件和软件的组合。COMMS 260因此可以包括一个或多个应答器、天线、芯片、个域网芯片、近场通信芯片、Wi-Fi芯片、蜂窝天线、其组合等。
MPM 206通常用于促进和管理内容从服务器103到客户端201的流式传送。因此,例如,在一些实施例中,MPM 206可以包括、处于以下形式、或被配置为执行自适应媒体流式传送播放器,例如超文本标记语言(HTML)或本地自适应媒体流式传送播放器。适当的媒体播放器的非限制性例子包括公共和私有媒体流式传送播放器,例如,媒体播放器、播放器、播放器、播放器、等。无论由MPM 206采用的媒体播放器如何,在一些实施例中,MPM 206或客户端210的另一部件可以包括图形用户接口,用户可以通过该接口识别和选择服务器103上的内容用于流式传送。
此外,媒体播放器模块(MPM)206可以被配置为实现一个或多个自适应流式传送协议,例如但不限于,HTTP动态自适应流式传送(DASH)、HTTP(超文本传输协议)现场流式传送(HLS)、平滑流式传送、其组合等。在任何情况下,MPM 206可以被配置为支持接收并显示从服务器103以多种比特率流式传送到客户端201的内容,即,在分段(例如,分组或另一适当形式)中并且以覆盖重放时间的相对短的对准间隔的多种不同比特率来对内容进行编码。随着内容的分段被播放,MPM 206可以至少部分地基于网络状况(即,网络的参数、在客户端101和服务器103之间的连接)动态地选择在下一分段中要被下载和播放的内容的比特率。在一些实例中,MPM 206可以被配置为选择具有可能的最高比特率的下一分段,其可以被及时下载用于重放而不会引起重放伪像(例如,故障、暂停)或需要重新缓冲。
对选择内容做出响应,MPM 206或另一部件可以使得客户端设备201向服务器103传输内容请求消息。内容请求消息可以包括内容标识符(例如,指定要被流式传送的内容)以及一个或多个流式传送参数。不进行限制,在一些实施例中,包含于内容请求消息中的流式传送参数指定或以其他方式控制要由服务器103提供的内容流的质量和/或其中提供的内容的比特率。
例如,MPM 206可以使得客户端201传输包括一个或多个流式传送参数的内容请求,所述流式传送参数使得服务器103以特定质量水平(例如,以特定比特率,其中较高的比特率通常与较高的质量内容相关)将内容流式传送到客户端201。在一些实施例中,质量水平可以与视频分辨率(例如,480p、720p、1080p等)、音频质量水平、其组合等相关联。在任何情况下,例如对用户选择做出响应或根据预定的质量参数(例如,可以由制造商或MPM 206指定),内容和/或流的质量水平可以由MPM 206中的一个或多个流式传送参数进行初始设置。
当然,仅出于示例的目的枚举了指定内容流和/或其内的内容的质量的流式传送参数的使用,其它流式传送参数也可以包含于由客户端201发送的媒体请求消息中。事实上,本公开设想了其中内容请求消息包括指定内容分辨率、每秒帧、或其它参数的流式传送参数的实施例。在任何情况下,例如,根据包含于内容请求消息内的流式传送参数,以及一个或多个预定的媒体流式传送协议,内容请求消息可以使得服务器103将内容流传输到客户端201。
还如图2所示,MPM 206包括可以经由总线(未标记)或另一适当的传输介质彼此进行通信的自适应逻辑模块210、网络堆栈(NWS)220和缓冲器230。如前所述,可以通过从客户端201向服务器103传输第一内容请求消息来发起内容流。根据所述讨论,第一内容请求消息可以包括内容标识符和第一流参数,所述第一流参数可以指定将由服务器103提供的内容流的质量和/或其它特性。
对第一内容请求消息做出响应,服务器103可以开始例如经由网络102并根据第一流参数(例如,以由第一流参数设置的初始质量/比特率)将内容的分段传输到客户端201。可以经由COMMS 260接收内容分段并(例如,经由网络堆栈220)将该内容分段传输到缓冲器230。当缓冲器230为满或者达到阈值容量时,缓冲器230中的内容的一个或多个分段可以被从MPM206传输到客户端101的其它部件用于消费。在图示的例子中,由服务器103提供的内容流包括图形部件,并且因此图2示出了缓冲器230中的内容的分段被传输到视听管线270用于消费。
视听管线270包括图形堆栈272和显示堆栈274,其任一个可以对内容分段执行(或引起执行)一个或多个处理操作。例如,图形堆栈272可以对接收到的内容流的一个或多个内容分段执行或引起执行一个或多个编码操作、解码操作、转码操作、后处理操作(例如,色彩增强、对比度增强、边缘增强、反锯齿等)、其组合等。当完成这样的操作时(或者如果不要求这样的操作),则可以将处理过的内容分段传输给显示堆栈274,其可以渲染处理过的内容分段用于例如在显示器D1上进行消费。除了图形堆栈272和显示堆栈274,视听管线270还可以包括音频堆栈(未示出),其可以负责处理在接收到的内容流中的音频信息用于消费。
随着内容被从服务器103流式传送到客户端201,自适应逻辑模块210可以监视缓冲器230的容量以及客户端201与服务器103之间的网络连接的状况(在此也被称作“实际网络连接”)。例如,自适应逻辑模块210可以检查缓冲器230的状态(例如,使用查询消息)以确定在流式传送过程中任一点处的其容量。替代地或另外,自适应逻辑模块210可以向NWS220发布查询消息。查询消息可以被配置为使得NWS 220向自适应逻辑模块210报告在客户端201和服务器103之间的实际网络连接的各种状况。可以由NWS 220对来自MPM 206的查询做出响应而报告的网络状况的非限制性例子包括在客户端201和服务器103之间连接的延时、该连接的带宽、丢弃的分组的数量、其组合等。
基于由NWS 220报告的网络状况和缓冲器230的状态,自适应逻辑模块210可以确定对由服务器103提供的内容流的调整会是感兴趣的。例如,在一些实例中,自适应逻辑模块210可以基于由NWS 220报告的网络状况来确定:如果内容流被维持在当前比特率,则缓冲器230可能会挨饿(例如,缺少足够的内容数据来维持重放)。在这样的实例中,自适应逻辑模块210可以使得客户端201将第二内容请求消息传送到服务器103。第二内容请求消息可以指定与第一流参数不同的第二流参数,并且所述第二流参数可以被设计为维持所述内容流在客户端201上的不间断重放。例如,第二流参数可以指定将较低质量的流/内容(例如,传输较低比特率的内容)传输到客户端201,以便防止缓冲器230挨饿,或者至少延长在缓冲器230挨饿之前将经过的时间量。
替代地,在缓冲器230持续为满且由NWS 220报告的网络状况表示在客户端201和服务器103之间的连接很强(例如,高带宽、低延时等)时,自适应逻辑模块210可以确定可以支持较高质量的内容流。在这样的实例中并且与先前情况类似,自适应逻辑模块210可以使得客户端201将第二内容请求消息传输到服务器103,但是在该情况下,第二内容请求可以包括流参数,该流参数使得服务器103将较高质量的内容流(例如,包含较高的比特率内容)传输到客户端101。
因此,例如图2所示的并且上面描述的自适应流式传送系统使用实际的网络和/或缓冲器状况来调整内容流的质量或其它特性,以便提供不间断的内容重放。尽管这样的系统是有用的,但是它们没有考虑可能影响消费内容的用户的体检的各种上下文因素。例如,这样的系统的自适应逻辑没有考虑用户上下文因素、环境上下文因素、设备上下文因素、其组合等,这些的任意或全部会对用户体验具有重要影响。相反,对内容流的调整仅基于缓冲器状态、实际网络状况/参数、或其组合。另外,对内容流的调整可以由在客户端上执行的软件管理,而不考虑能够用于调整用户体验的来自客户端设备平台的上下文信息和/或触发。
考虑到以上这些,本公开的一个方面涉及上下文感知的媒体流式传送系统,其由客户端设备平台控制,并且更特别地,涉及在这样的系统中的上下文感知的客户端设备。为此,参考图3,其是符合本公开的上下文感知的媒体流式传送系统的一个例子的框图。如图所示,系统300包括可以直接或通过可选网络102彼此通信的客户端301和服务器103。不进行限制,在一些实施例中,客户端301和服务器103被配置为经由有线或无线通信并且根据一个或多个预定的通信协议彼此进行通信。服务器103和可选网络102的本质和功能在上文结合图1和图2进行了描述,并因此为了简洁而不再重复。
还如图3所示,客户端301包括客户端平台302(其类似于客户端平台202),该客户端平台302可以是任何适当的平台。在一些实施例中,设备平台302与用作客户端设备301的电子设备的类型相关。因而例如,在客户端设备301是蜂窝电话、智能电话、安全终端或台式计算机的形式时,设备平台302可以分别是蜂窝电话平台、智能电话平台、安全终端平台或台式计算机平台。
客户端平台302还包括处理器203、存储器204、媒体播放器模块(MPM)206、通信接口(COMMS)260、视听管线270和显示器(D1)。处理器203、存储器204和COMMS 260与前述结合图2描述的相同。因此为了简洁不再重复这些部件的详细描述。
除了上述部件外,客户端平台302还包括上下文逻辑模块(CLM)310,其可以与一个或多个传感器320有线或无线通信。如下文详细描述的,CLM 310通常被配置为分析上下文信息,使这样的上下文信息与期望的用户体验相关,并传输上下文控制消息。通常,上下文控制消息可以被配置为改变由服务器103提供的内容流,和/或客户端301处理内容用于例如通过视听管线270进行消费的方式。这样,CLM 310可以利用上下文信息来改变流式传送内容接收和/或消费,例如以获得期望的用户体验。
由CLM 310使用的上下文信息的类型不受限,并且可以使用任何适当的上下文信息。适当的上下文信息的非限制性例子包括用户上下文因素、设备上下文因素以及环境上下文因素。适当的用户上下文因素的一些非限制性例子包括用户身份、用户/设备位置、用户活动(移动、坐着、走动、跑动等)、屏幕焦点(即,用户聚焦的显示器区域)、用户偏好(例如,在一个或多个用户简档中指定的)等、其组合等。适当的环境上下文因素的一些非限制性例子包括环境噪声级别、环境光级别、设备位置、安全级别、其组合等。适当的设备上下文因素的非限制性例子包括屏幕尺寸、显示器分辨率、多个显示器的使用、外部显示器的使用、电池水平、应用状态、处理器工作负荷、其组合等。CLM 310还可以使用网络上下文(例如,延时、带宽、分组丢失等)。
CLM 310可以从任何适当的源获得和/或导出上下文信息,例如但不限于从传感器320提供或获得的数据。为此,传感器320可以包括一个或多个物理或虚拟传感器或者是一个或多个物理或虚拟传感器的形式。适当的物理传感器的非限制性例子包括加速度计、陀螺仪、磁力计、音频/噪声传感器(例如,麦克风)、压力传感器、温度传感器、环境光传感器、红外接近度传感器、无线设备(近场通信、Wi-Fi)、全球定位传感器、二维和三维(例如,深度)摄像机、触摸屏、生物特征读取器、其组合等。适当的虚拟传感器的非限制性例子包括处理器工作负荷传感器、电池寿命传感器、网络状态传感器、存储器使用传感器、无线连接状态传感器、应用状态传感器、其组合等。
替代地或除了传感器320,CLM 310可以从其它源获得或导出上下文信息,例如但不限于存储于存储器204中的数据。例如,存储器204可以存储与客户端301的用户相关联的用户简档。在这样的实例中,用户简档可以包含对于CLM 310有用的上下文信息,例如,在确定期望的用户体验和/或生成一个或多个上下文控制消息时。例如,在一些实施例中,用户简档可以包含用户上下文,例如用户身份、用户偏好、用户安全级别、用户设置等,其任意或所有可以如下所述由CLM 310利用。当然,其它上下文(例如,如上所述的设备和环境上下文)也可以包含于用户简档中。替代地或除了用户简档,存储于存储器204中的其它数据、应用等可以向CLM 310提供在生成上下文控制消息时有用的上下文信息。当然,CLM 310还可以从其它源获得有用的上下文信息,例如但不限于用户输入、来自一个或多个远程设备(例如,服务器103或第三方设备)的通信、其组合等。
如上所述,CLM 310可以从多个源收集或以其他方式获得上下文信息。随着或者一旦上下文信息被获取,CLM 310可以分析该上下文信息以确定上下文流式传送和/或上下文消费参数,其可以用于影响内容被流式传送到客户端301的方式,和/或处理接收到的内容流中的内容以供客户端301消费的方式。
如本文使用的,术语“流式传送参数”指的是内容流和/或在其中传输的内容的特性。流式传送参数的非限制性例子包括在讨论中的内容的比特率、内容的分辨率、内容的每秒帧、其组合等。上下文流式传送参数是至少部分地基于上下文信息(例如,通过自适应逻辑模块210或CLM 310)确定的流式传送参数。
在一些实施例中且如下文所描述的,可以至少部分地基于上下文网络参数来设置或以其他方式确定上下文流式传送参数,所述上下文网络参数可以被理解为至少部分地基于上下文信息(例如,通过CLM 310)确定的合成的或人工的网络参数。相比而言,“实际网络参数”可以被理解为指的是在客户端和服务器(例如,客户端301和服务器103)之间的实际网络连接的网络参数。
还应注意,在本文使用术语“消费参数”来指代影响客户端设备如何处理在内容流中接收到的内容用于消费的参数。消费参数的非限制性例子包括各种图形和音频处理参数/操作,例如,对比度增强、色彩增强、亮度增强、边缘增强、反锯齿、音频增强、媒体解码、媒体编码、媒体转码、其组合等。消费参数的其它非限制性例子包括显示参数,例如,渲染参数、缩放/分辨率参数、其组合等。“上下文消费参数”是至少部分地基于上下文信息(例如,通过CLM 301)而确定的消费参数。
如前所述,CLM 310可以至少部分地工作以确定可以用于实现期望的用户体验的上下文网络参数、上下文流式传送参数和/或上下文消费参数。在这一上下文中,用户体验指的是用户关于在客户端设备上接收和/或消费内容流的体验。因此,例如,CLM 310可以使用上下文因素来识别上下文网络参数,所述上下文网络参数可以(例如,由自适应逻辑模块210)用于确定上下文流式传送参数,该上下文流式传送参数接着用于调整内容流或其中的内容的特性(例如,比特率、分辨率等)。替代地或另外,CLM 310可以使用上下文因素来识别上下文消费因素,该上下文消费因素可以用于控制客户端设备的视听管线处理接收到的内容流中的内容的方式,例如以供用户消费。在任一情况下,CLM 310可以使用一个或多个机器学习算法、启发法、用户偏好、查找表、其组合等来确定上下文网络参数、上下文流式传送参数和/或上下文消费参数。
参考上述,在一些实施例中,CLM 310可以被配置为至少部分地基于上下文信息来改变由自适应逻辑模块210利用的一个或多个输入。在一些实施例中,改变的输入例如是根据媒体播放器模块206的正常操作由网络堆栈220报告给自适应逻辑模块210的网络状况。更具体地,CLM 310可以制定上下文控制消息(包括上下文网络参数),并且将该上下文控制消息传输给网络堆栈220,如图3所示并后续在图5中描述。上下文控制消息可以被配置为使得网络堆栈220例如对查询做出响应来向自适应逻辑模块210报告上下文网络参数。
如可以意识到的,上下文网络参数可以与在客户端101和服务器103之间的实际网络连接的参数(即,实际网络参数)不同。自适应逻辑模块210因此可以至少部分地基于改变的输入(例如,上下文网络参数)来执行其功能,这可能导致发布包括上下文流式传送参数的媒体请求消息。如还可以意识到的,由自适应逻辑模块210基于上下文网络参数确定的上下文流式传送参数(例如,比特率)会与自适应逻辑模块210根据在客户端301和服务器103之间的实际网络连接的参数确定的流式传送参数不同。
在一些实施例中,由CLM 310确定的上下文网络参数(例如,延时、分组丢弃、带宽等)可以至少部分地由例如上述的那些上下文因素进行设置或以其他方式确定。例如,在一些实施例中,CLM 310可以基于以下中的一个或多个来确定上下文网络参数:客户端101的电池寿命、输出显示器(例如,显示器D1和/或D2)的分辨率、用户偏好信息、用户位置、运动信息、环境上下文、其组合等。在任何情况下,可以设计上下文网络参数来使得自适应逻辑以支持期望的用户体验的方式来调整内容流的流式传送参数(例如,比特率)。
例如,在CLM 310确定上下文信息表明对于高分辨内容(例如,高分辨率显示器、多显示器渲染等)的强烈偏好的情况下,可以使得上下文网络参数被设置为向自适应逻辑模块210表示在客户端301和服务器103之间存在强的(例如,低延时、高带宽)网络连接,而不管在这样的设备之间的实际网络连接的状况如何。相反,在上下文信息向CLM 310表明对于低分辨率内容(例如,低分辨率显示器、低电池寿命、用户/设备运动等)的偏好的情况下,其可以使得上下文网络参数被设置以便向自适应逻辑模块210表示在客户端101和服务器103之间存在弱的(例如,高延时、低带宽)网络连接,而不管在这样的设备之间的实际网络连接的状况如何。
在任一情况下,自适应逻辑模块210可以按照其传统方式执行,除了其利用上下文网络参数(代替在客户端301和服务器103之间的实际网络连接的参数)来确定要由服务器103提供的内容流的流式传送参数。也就是说,自适应逻辑模块210可以操作以至少部分地基于从NWS 220接收的上下文网络参数来确定上下文流式传送参数。
更具体地,在一些实施例中,CLM 310可以在上下文控制消息(CCM)中将上下文网络参数传输到网络堆栈220。如上所述,上下文控制消息可以被配置为使得网络堆栈220将上下文网络参数报告给自适应逻辑模块210,代替在客户端301和服务器103之间的网络连接的实际状况。这样的报告可以例如在自适应逻辑模块210的正常操作期间被触发。也就是说,可以对从自适应逻辑模块210到网络堆栈220的请求报告网络状态的查询做出响应来触发这样的报告。
对接收到上下文网络参数做出响应,自适应逻辑模块210可以分析上下文网络参数(以及可选的缓冲器230的状态),并确定对由服务器103提供的(或将要提供的)内容流的流式传送参数的调整是否是必要的。如果是,则自适应模块210可以制定并传输媒体请求消息给服务器103。媒体请求消息可以包括上下文流式传送参数,其可以被理解为是由自适应逻辑模块210至少部分地基于上下文网络参数,而不是在客户端101和服务器103之间的网络连接的实际状况,而确定的流式传送参数。
利用上述方法,CLM 310可以用于从上下文明显地调整自适应媒体播放器的行为,即,在不修改媒体播放器的自适应逻辑的情况下。例如,CLM 310可以制定上下文网络参数,该参数影响自适应逻辑模块210对比特率或其它流参数的下游确定,如上面通常描述的。
注意到,按照正常操作,MPM 206可以将内容(即,接收到的内容流)的分段从缓冲器230转发到视听管线270用于处理和/或用户消费。在一些实例中,MPM 206可以指示视听管线270根据特定的消费参数来处理接收到的内容流的内容,所述消费参数可以例如通过内容流中的元数据、通过媒体播放器模块206的制造商等预先确定。作为响应,视听管线(或更具体地,其图形堆栈272、显示堆栈274和/或音频堆栈(未示出))可以根据这样的消费参数来处理接收到的内容流的内容。
参考以上,在一些实施例中,CLM 310可以被配置为至少部分地基于上下文信息来改变由视听管线270处理接收到的内容流的内容的方式。在一些实施例中,CLM 310可以至少部分地通过将上下文控制消息(CCM)传输到视听管线270来完成,如图3所示。上下文控制消息可以包括上下文消费因素,CLM 310可以考虑相关的上下文因素以及可选的视听管线270的能力来设置或以其他方式确定所述上下文消费因素。在任一情况下,上下文控制消息可以被配置为使得视听管线270根据上下文消费参数来处理内容,所述上下文消费参数可以补充或覆写由MPM 206指定的用于处理接收到的内容流的消费参数。
参考以上,在一些实施例中,CLM 310可以被配置为至少部分地基于例如从传感器320接收到的上下文信息来确定上下文消费参数。如可以理解的,上下文消费参数可以与由MPM 206指定的消费参数不同,并且因此可以使得视听管线270或其部件以与对单独从MPM206接收到的消费参数做出响应而执行的处理不同的方式来处理内容流。这样,CLM 310可以用于从上下文控制客户端101的视听管线270处理内容流用于消费的方式。
为了示出前述概念,考虑其中CLM 310根据上下文信息确定在开始和/或接收内容流时客户端设备301处于微暗或明亮的照明环境的场景。在这样的实例中,CLM 310可以被配置为使得视听管线270处理内容流,以便以指定的方式调整其中的内容的亮度、对比度和/或色彩。CLM 310可以例如通过识别适当的上下文消费参数(例如,亮度水平、对比度水平等)并且在上下文控制消息中将这样的参数传输到视听管线270(或其适当的部件)来进行实现。上下文控制消息可以使得视听管线270(或者其一个或多个部件)对接收到的内容流的内容执行后处理操作。如可以理解的,可以根据上下文消费参数来表示或以其他方式配置后处理操作。
可替代地或另外,CLM 310可以根据上下文信息来确定设备101处于包含相对少量或大量环境噪声的环境中。应用启发法或另一技术,CLM 310可以确定对接收到的内容流的音频部件的音量的调整是期望的。为了实现这一调整,CLM 310可以生成包括音频调整的上下文消费参数,并且在上下文控制消息中将这样的参数传输到视听管线270(或者更具体地,传输到其音频堆栈)。上下文控制消息可以被配置为使得视听管线270(或者更具体地,其音频堆栈)根据上下文消费参数来调节内容的音量。
当然,前述例子仅示出了特定的非限制性实施例,并且CLM 310可以被实现为以多种方式从上下文调整流式传送内容的接收和/或消费。例如,CLM 310可以被实现为从上下文调整视听管线270对内容流的内容执行编码/解码/转码操作的方式。类似地,CLM 310可以被实现为影响内容流的内容的视频后处理和/或内容流被处理用于显示的方式。例如,在后一情况下,CLM 310可以产生上下文消费参数,其使得显示堆栈274对内容流的内容执行显示操作。这样的显示操作的例子包括使得显示堆栈274在一个或多个屏幕上渲染内容用于消费,使得显示堆栈调整内容的分辨率(例如,匹配或考虑显示器的分辨率)或其组合。
本公开的另一方面涉及用于执行上下文感知的内容流式传送的方法。就此,参考图4,其是符合本公开的上下文感知的内容流式传送方法的一个例子的高级示例性操作的流程图,并且其利用如上所述的上下文逻辑模块。如图所示,方法400开始于框401。该方法然后进行到框403,其中可以收集上下文信息。例如,在一些实施例中,可以通过上下文逻辑模块例如根据从一个或多个传感器或从另一源接收到的数据获得或导出上下文信息,如上所述。
在收集上下文信息之后或与此同时地,所述方法可以进行到框405,其中上下文逻辑模块可以监视内容流的接收和/或开始。上下文逻辑模块可以例如通过监视在客户端101和服务器103之间的网络连接的状态和参数来执行这一操作。替代地或另外,在检测到媒体播放器模块(例如,MPM 206)的执行时,可以通过上下文逻辑模块推测内容流的检测和/或开始。
在任一情况下,所述方法可以进行到框407,其中确定是否检测到内容流。如果为否,则该方法可以循环回到框405,其中上下文逻辑模块可以继续监视内容流的开始和/或接收。然而,一旦检测到内容流的开始和/或接收,方法就可以进行到框409。
依照框409,上下文逻辑模块可以确定是否将应用上下文修改。在这一上下文中,上下文修改指的是流参数和/或消费参数的上下文修改,如上面通常描述的。如果不采用上下文修改,则所述方法可以从框409进行到框411,其中可以在不进行上下文修改的情况下执行内容流式传送(即,根据媒体播放器模块的正常操作)。
然而,如果要采用上下文修改,则方法可以从框409进行到框413。依照框413,上下文逻辑模块可以分析依照框403收集的上下文信息,并且例如利用启发法、机器学习算法或本文前述的其它技术来确定上下文网络参数(CNP)和/或上下文消费参数(CCP)。在一些情况下,可以设置或以其他方式确定上下文网络参数和/或上下文消费参数来实现期望的用户体验。
所述方法然后可以进行到框415,其中上下文逻辑模块可以将上下文控制消息(CCM)传输到客户端设备的媒体播放器的网络堆栈和视听管线中的一个或两个,如上面通常描述的。如前所述,上下文控制消息可以包括上下文网络参数、上下文消费参数或其组合。在CCM被传输到网络堆栈的情况下,其可以被配置为使得网络堆栈向媒体播放器的自适应逻辑报告上下文网络参数,代替实际的网络状况,从而影响自适应逻辑的下游确定,如上所讨论的。在CCM被传输到客户端设备的视听管线的实例中,其可以包括上下文消费参数,并且可以被配置为指定一个或多个图形或显示处理操作用于对内容流执行,如上面通常描述的。此时,所述方法可以进行到框417并结束。替代地,所述方法可以循环回框403、405或407并且重复,直到内容流或方法终止。
为了进一步解释前述概念,参考图5,其描绘了符合一个示例性实施例的上下文感知的内容流式传送系统的各种部件之间的消息传送流的一个例子。如图所示,流程500开始于点501,其中上下文逻辑模块可以例如从一个或多个传感器或另一源收集上下文信息。在这一实施例中,在点502处,自适应媒体播放器逻辑(例如,自适应逻辑模块210),或者更一般的是客户端设备(例如,301)的媒体播放器(例如,MPM 206),可以将第一内容请求消息(CRM1)传输到媒体服务器(例如,服务器103)。第一内容请求的传输可以例如响应于用户选择(例如,经由图形用户接口)在媒体服务器上可用于流式传送的内容。
CRM1可以例如包括内容标识符和第一流式传送参数,其中第一流式传送参数向媒体服务器通知由媒体播放器请求的流的特性。第一流式传送参数可以例如由媒体播放器自适应逻辑设置,和/或它们可以是由讨论中的媒体播放器的制造商指定的默认值。替代地,在其中开始内容流之前应用上下文修改的实例中,可以由自适应逻辑模块至少部分地基于上下文网络状况来确定第一流参数,如上面通常解释的和在下文进一步解释的。
媒体服务器可以通过开始在其和客户端设备之间的内容流而对CRM1做出响应,如图5的点503所示。如图5所示,在这一点处的内容流可以具有在CRM1中指定的第一流参数。
在点504处,上下文逻辑模块可以检测媒体服务器提供的内容流,并且至少部分地基于依照点501获得的上下文信息来确定上下文网络参数(CNP)。已经在前面描述了由上下文逻辑模块确定CNP的方式,因此不再重复。
在点505处,上下文逻辑模块可以将包括上下文网络参数(CNP)的上下文控制消息(CCM)传输到客户端设备上的自适应媒体播放器的网络堆栈。如上所述,CCM可以被配置为使得自适应媒体播放器的网络堆栈向媒体播放器自适应逻辑报告上下文网络参数。这一概念由点506和507示出,其示出了媒体播放器自适应逻辑可以针对网络参数/状况来查询网络堆栈,并且作为响应,网络堆栈可以报告在上下文控制消息中提供的上下文网络参数。
在点508处,媒体播放器自适应逻辑可以评估上下文网络参数(代替实际的网络条件)并且可选地评估缓冲器的状态,并确定对由媒体服务器提供的内容流的流参数的调整是否是期望的。在这一例子中,调整是期望的,并且因此点508描绘了其中媒体播放器自适应逻辑使得第二内容请求消息(CRM2)传输到媒体服务器的场景。符合前述讨论,CRM2可以包括通过媒体播放器自适应逻辑对上下文网络参数的操作而导出的上下文流参数,而不是在客户端和媒体服务器之间的实际网络连接的参数。
如点509处所示,媒体服务器可以调整内容流的流参数,使得它们符合在CRM2中接收到的上下文流参数。通过例子,上下文流参数可以使得媒体服务器对CRM2做出响应来改变内容流的质量(例如,比特率),使得所述流的质量与对CRM1做出响应而提供的流的质量不同。
注意到,图5示出了消息传送流程的一个例子,其中在开始内容流之后将上下文控制消息提供给媒体播放器模块的网络堆栈。应该理解的是,这一例子不是限制性的,并且可以在任何时候将符合本公开的上下文控制消息传输到网络堆栈,包括在从媒体服务器开始内容流之前。
现在参考图6,其描绘了符合另一示例性实施例的另一上下文感知的内容流式传送系统的各个部件之间的消息传送流的一个例子。如图所示,流600开始于点601,其中上下文逻辑模块可以例如从一个或多个传感器或另一源收集上下文信息。在这一实施例中,在点602处,自适应媒体播放器逻辑(例如,自适应逻辑模块210)或,更通常的是客户端设备(例如,301)的媒体播放器(例如,MPM 206)可以将内容请求消息传输到媒体服务器(例如,服务器103)。内容请求的传输可以是例如对用户选择(例如,经由图形用户接口)在媒体服务器上可用于流式传送的内容做出的响应。如图所示在点603处,媒体服务器可以通过将内容流传输到客户端101或更具体地传输到其媒体播放器模块(或自适应逻辑)来对所述内容请求消息做出响应。
在点604处,上下文逻辑模块可以检测来自媒体服务器的内容流的开始和/或接收,并至少部分地基于依照点601获得的上下文信息来确定上下文消费参数(CCP)。已经在前面描述了由上下文逻辑模块确定CCP的方式,并且因此不再重复。
在点605处,上下文逻辑模块可以将包括上下文消费参数(CCP)的上下文控制消息(CCM)传输到客户端设备的视听管线(或其部件)。如上所述,CCM可以被配置为配置视听管线(或其部件)以根据其中指定的上下文消费参数来处理在接收到的内容流中的内容。这一概念由点606和607示出,其中示出了媒体播放器模块(或更具体地,其自适应逻辑)可以使得内容流的内容传输到客户端的视听管线,之后视听管线(或其部件)可以根据上下文消费参数来处理该内容。
例子
后续例子枚举了符合本公开的额外示例性实施例。
例子1-根据这一例子,提供一种上下文感知的媒体流式传送系统,包括:客户端设备,其包括处理器、存储器、媒体播放器模块、上下文逻辑模块、以及一个或多个传感器,所述媒体播放器模块包括自适应逻辑和网络堆栈,其中:所述上下文逻辑模块用于至少部分地从一个或多个传感器收集上下文信息,至少部分地基于所述上下文信息来确定上下文网络参数,并且使得第一上下文控制消息传输到网络堆栈;所述第一上下文控制消息使得所述网络堆栈向自适应逻辑报告所述上下文网络参数;并且对接收到所述上下文网络参数做出响应,所述自适应逻辑至少部分地基于所述上下文网络参数来确定针对将被从服务器提供的内容流的上下文流式传送参数。
例子2-这一例子包括例子1的任意或所有特征,其中,所述第一上下文控制消息使得所述网络堆栈向自适应逻辑报告上下文网络因素,代替在客户端设备和服务器之间的实际网络连接的参数。
例子3-这一例子包括例子1的任意或所有特征,其中,对接收到所述上下文网络参数做出响应,所述自适应逻辑还使得客户端设备将包括上下文流式传送参数的媒体请求消息传输到服务器,所述媒体请求消息被配置为使得所述服务器根据所述上下文流式传送参数来将所述内容流传输到所述客户端。
例子4-这一例子包括例子1-4中任一项的任意或所有特征,其中,所述上下文流式传送参数指定所述内容流中的内容的比特率。
例子5-这一例子包括例子1-5中任一项的任意或所有特征,其中,所述上下文信息包括以下中的至少一个:用户身份、用户偏好、客户端设备的位置、客户端设备的运动、生物信息、环境噪声、环境光、处理器的工作负荷、客户端设备的电池水平、客户端设备的显示类型、客户端设备的显示器的分辨率、或外部显示器的分辨率。
例子6-这一例子包括例子1-6中任一项的任意或所有特征,其中,至少一个传感器包括一个或多个物理传感器、虚拟传感器、或其组合。
例子7-这一例子包括例子6的任意或所有特征,其中,至少一个传感器包括一个或多个物理传感器,该物理传感器从包括以下项目的组中选择:摄像机、位置传感器、光传感器、麦克风、生物扫描仪、运动传感器、及其组合。
例子8-这一例子包括例子6的任意或所有特征,其中至少一个传感器包括一个或多个虚拟传感器,该虚拟传感器从包括以下项目的组中选择:电池水平传感器、网络状态传感器、处理器工作负荷传感器、及其组合。
例子9-这一例子包括例子1-8中任一项的任意或所有特征,其中:对检测到来自服务器的具有第一流式传送参数的内容流做出响应,所述上下文逻辑模块使得第一上下文控制信号传输到网络堆栈,以便使得所述网络堆栈向自适应逻辑报告所述上下文网络参数;并且所述媒体请求消息被配置为使得所述服务器根据所述上下文流式传送参数将所述内容流传输到客户端。
例子10-这一例子包括例子9的任意或所有特征,其中,具有第一流式传送参数的内容流中的内容的比特率与在根据上下文流式传送参数传输的内容流中的内容的比特率不同。
例子11-这一例子包括例子1-10中任一项的任意或所有特征,其中,所述媒体播放器模块还包括缓冲器,并且所述自适应逻辑至少部分地基于所述上下文网络参数和所述缓冲器的缓冲器水平来确定所述上下文流式传送参数。
例子12-这一例子包括例子11的任意或所有特征,其中,所述上下文流式传送参数包括在所述内容流中的内容的比特率,并且所述自适应逻辑用于至少部分地基于所述上下文网络参数和所述缓冲器水平来调整比特率。
例子13-这一例子包括例子12的任意或所有特征,其中:当自适应逻辑还至少部分地基于所述上下文网络参数来确定缓冲器水平是否保持满或所述缓冲器是否将挨饿时,所述上下文流式传送参数被配置为使得所述服务器传输在内容流中相对低比特率的内容;以及当所述自适应逻辑至少部分地基于所述上下文网络参数来确定所述缓冲器可以保持满时,所述上下文流式传送参数被配置为使得所述服务器传输在内容流中相对高比特率的内容。
例子14-这一例子包括例子1-13中任一项的任意或所有特征,还包括视听管线,用于处理接收到的内容流用于消费,其中:所述上下文逻辑模块还至少部分地基于所述上下文信息来确定上下文消费参数,并使得第二上下文控制消息传输到所述视听管线;以及对接收到所述第二上下文控制消息做出响应,所述视听管线根据所述上下文消费参数来处理所述接收到的内容流的内容。
例子15-这一例子包括例子14的任意或所有特征,其中,所述视听管线包括图形堆栈,并且所述上下文消费参数被配置为使得所述图形堆栈对接收到的内容流的内容执行后处理操作。
例子16-这一例子包括例子15的任意或所有特征,其中,所述后处理操作包括以下中的至少一个:亮度调整操作、对比度调整操作、以及色彩增强操作。
例子17-这一例子包括例子15的任意或所有特征,其中,所述上下文消费参数被配置为使得所述视听管线对接收到的内容流的内容执行以下操作中的至少一个:解码操作、编码操作、或转码操作。
例子18-这一例子包括例子14的任意或所有特征,其中,所述视听管线包括显示堆栈,并且所述上下文消费参数被配置为使得所述显示堆栈对接收到的内容流的内容执行渲染操作和缩放操作中的至少一个。
例子19-这一例子包括例子14的任意或所有特征,其中:所述媒体播放器模块将接收到的内容流的内容提供给视听管线以根据第一消费参数进行处理;并且所述上下文消费参数与所述第一消费参数不同。
例子20-根据这一例子,提供一种用于执行上下文感知的媒体流式传送的方法,包括:至少部分地根据客户端设备的至少一个传感器的上下文信息来确定上下文网络参数;并且至少部分地基于所述上下文网络参数,确定内容流的上下文流式传送参数,所述内容流被从服务器提供到所述客户端设备。
例子21-这一例子包括例子20的任意或所有特征,其中,所述方法还包括将第一上下文控制消息传输到所述客户端设备上的媒体播放器的网络堆栈,其中:所述第一上下文控制消息使得所述网络堆栈向所述媒体播放器的自适应逻辑报告所述上下文网络参数,以便使得所述自适应逻辑确定所述上下文流式传送参数。
例子22-这一例子包括例子20和21中任一项的任意或所有特征,其中,所述上下文网络参数与在客户端设备和服务器之间的实际网络连接的参数相同或不同。
例子23-这一例子包括例子20到22中任一项的任意或所有特征,其中,所述上下文网络参数与实际网络连接的参数不同。
例子24-这一例子包括例子21的任意或所有特征,还包括将媒体请求消息传输给服务器,所述媒体请求消息被配置为使得所述服务器根据上下文流式传送参数来传输内容流。
例子25-这一例子包括例子20到24中任一项的任意或所有特征,所述上下文流式传送参数指定所述内容流中的内容的比特率。
例子26-这一例子包括例子20-25中任一项的任意或所有特征,其中,所述上下文信息包括以下中的至少一个:用户身份、用户偏好、客户端设备的位置、客户端设备的运动、生物信息、环境噪声、环境光、处理器的工作负荷、客户端设备的电池水平、客户端设备的显示类型、客户端设备的显示器的分辨率、或外部显示器的分辨率。
例子27-这一例子包括例子20-26中任一项的任意或所有特征,其中,至少一个传感器包括一个或多个物理传感器、虚拟传感器、或其组合。
例子28-这一例子包括例子20-27中任一项的任意或所有特征,其中,至少一个传感器包括一个或多个物理传感器,该物理传感器从包括以下项目的组中选择:摄像机、位置传感器、光传感器、麦克风、生物扫描仪、运动传感器、及其组合。
例子29-这一例子包括例子20-28中任一项的任意或所有特征,其中至少一个传感器包括一个或多个虚拟传感器,该虚拟传感器从包括以下项目的组中选择:电池水平传6感器、网络状态传感器、处理器工作负荷传感器、及其组合。
例子30-这一例子包括例子21的任意或所有特征,其中:对从服务器接收到具有第一流式传送参数的内容流做出相应,传输所述第一上下文控制消息。
例子31-这一例子包括例子30的任意或所有特征,其中,具有所述第一流式传送参数的内容流中的内容的比特率与在根据所述上下文流式传送参数的内容流中的内容的比特率不同。
例子32-这一例子包括例子21的任意或所有特征,其中,所述媒体播放器模块包括缓冲器,并且至少部分地基于所述上下文网络参数和所述缓冲器的缓冲器水平来确定所述上下文流式传送参数。
例子33-这一例子包括例子32的任意或所有特征,其中,所述上下文流式传送参数包括在所述内容流中的内容的比特率,并且所述方法还包括至少部分地基于所述上下文网络参数和所述缓冲器水平来调整比特率。
例子34-这一例子包括例子33的任意或所有特征,其中,所述方法还包括:至少部分地基于所述上下文网络参数来确定缓冲器水平是否将保持满或这所述缓冲器是否将挨饿;当确定所述缓冲器将挨饿时,所述方法还包括配置所述上下文流式传送参数以使得所述服务器传输在所述内容流中相对低比特率的内容;以及当确定所述缓冲器水平将保持满时,所述方法还包括配置所述上下文流式传送参数以使得所述服务器传输在所述内容流中相对高比特率的内容。
例子35-这一例子包括例子20-34中任一项的任意或所有特征,其中所述客户端设备还包括视听管线,用于处理接收到的内容流用于消费,并且所述方法还包括:至少部分地基于所述上下文信息来确定上下文消费参数;并使得所述视听管线根据所述上下文消费参数来处理接收到的内容流。
例子36-这一例子包括例子35的任意或所有特征,其中,使得所述视听管线根据所述上下文消费参数来处理接收到的内容流包括:将第二上下文控制消息传输到所述视听管线,其中所述第二上下文控制消息被配置为使得所述视听管线根据所述上下文消费参数来处理接收到的内容流。
例子37-这一例子包括例子36的任意或所有特征,其中,所述视听管线包括图形堆栈,并且所述上下文消费参数被配置为使得所述图形堆栈对接收到的内容流的内容执行后处理操作。
例子38-这一例子包括例子37的任意或所有特征,其中,所述后处理操作包括以下操作中的至少一个:亮度调整操作、对比度调整操作、以及色彩增强操作。
例子39-这一例子包括例子37的任意或所有特征,其中,所述上下文消费参数被配置为使得所述图形堆栈对接收到的内容流中的内容执行以下操作中的至少一个:解码操作、编码操作、或转码操作。
例子40-这一例子包括例子36的任意或所有特征,其中,所述视听管线包括显示堆栈,并且所述上下文消费参数被配置为使得所述显示堆栈对接收到的内容流的内容执行渲染操作和缩放操作中的至少一个。
例子41-这一例子包括例子37的任意或所有特征,其中:所述客户端设备还包括媒体播放器,用于将接收到的内容流的内容提供给所述视听管线以根据第一消费参数进行处理;并且所述上下文消费参数与所述第一消费参数不同。
例子42-根据这一例子,提供了至少一种计算机可读介质,其包括用于执行上下文感知的媒体流式传送的指令,其中所述指令在被客户端设备的处理器执行时使得所述客户端设备执行包括以下的后续操作:至少部分地根据客户端设备的至少一个传感器的上下文信息来确定上下文网络参数;以及至少部分地基于所述上下文网络参数,确定内容流的上下文流式传送参数,所述内容流被从服务器提供到所述客户端设备。
例子43-这一例子包括例子42的任意或所有特征,其中,所述指令在被执行时还使得所述客户端设备执行包括以下的后续操作:将第一上下文控制消息传输到所述客户端设备上的媒体播放器的网络堆栈,其中,所述第一上下文控制消息使得所述网络堆栈向所述媒体播放器的自适应逻辑报告所述上下文网络参数,以便使得所述自适应逻辑确定所述上下文流式传送参数。
例子44-这一例子包括例子42和43中任一项的任意或所有特征,其中,所述上下文网络参数与在客户端设备和服务器之间的实际网络连接的参数相同或不同。
例子45-这一例子包括例子44的任意或所有特征,其中,所述上下文网络参数与实际网络连接的参数不同。
例子46-这一例子包括例子42-45中任一项的任意或所有特征,其中,所述指令在被执行时还使得所述客户端设备执行包括以下的后续操作:将媒体请求消息传输给服务器,所述媒体请求消息被配置为使得所述服务器根据所述上下文流式传送参数来传输内容流。
例子47-这一例子包括例子42-46中任一项的任意或所有特征,其中,所述上下文流式传送参数指定所述内容流中的内容的比特率。
例子48-这一例子包括例子42-47中任一项的任意或所有特征,其中,所述上下文信息包括以下中的至少一个:用户身份、用户偏好、客户端设备的位置、客户端设备的运动、生物信息、环境噪声、环境光、处理器的工作负荷、客户端设备的电池水平、客户端设备的显示类型、客户端设备的显示器的分辨率、或外部显示器的分辨率。
例子49-这一例子包括例子42-48中任一项的任意或所有特征,其中,至少一个传感器包括一个或多个物理传感器、虚拟传感器、或其组合。
例子50-这一例子包括例子49的任意或所有特征,其中,至少一个传感器包括一个或多个物理传感器,该物理传感器从包括以下项目的组中选择:摄像机、位置传感器、光传感器、麦克风、生物扫描仪、运动传感器、及其组合。
例子51-这一例子包括例子49的任意或所有特征,其中,至少一个传感器包括一个或多个虚拟传感器,该虚拟传感器从包括以下项目的组中选择:电池水平传感器、网络状态传感器、处理器工作负荷传感器、及其组合。
例子52-这一例子包括例子43的任意或所有特征,其中:对从服务器接收到具有第一流式传送参数的内容流做出响应,传输所述第一上下文控制消息。
例子53-这一例子包括例子52的任意或所有特征,其中,具有所述第一流式传送参数的内容流中的内容的比特率与在根据上下文流式传送参数的内容流中的内容的比特率不同。
例子54-这一例子包括例子43的任意或所有特征,其中,所述媒体播放器包括缓冲器,并且所述指令在被执行时还使得所述客户端设备执行包括以下的后续操作:至少部分地基于所述上下文网络参数和所述缓冲器的缓冲器水平来确定所述上下文流式传送参数。
例子55-这一例子包括例子54的任意或所有特征,其中,所述上下文流式传送参数包括在所述内容流中的内容的比特率,并且所述指令在被执行时还使得所述客户端设备执行包括以下的后续操作:至少部分地基于所述上下文网络参数和所述缓冲器水平来调整所述比特率。
例子56-这一例子包括例子54和55中任一项的任意或所有特征,其中,所述指令在被执行时还使得所述客户端设备执行包括以下的后续操作:至少部分地基于所述上下文网络参数来确定缓冲器水平是否将保持满或者所述缓冲器是否将挨饿;当确定所述缓冲器将挨饿时,所述上下文流式传送参数使得所述服务器传输在内容流中相对低比特率的内容;以及当确定所述缓冲器水平将保持满时,所述上下文流式传送参数使得所述服务器传输在内容流中相对高比特率的内容。
例子57-这一例子包括例子42-56中任一项的任意或所有特征,其中所述客户端设备还包括视听管线,用于处理接收到的内容流用于消费,并且所述指令在被执行时还使得所述客户端设备执行包括以下的后续操作:至少部分地基于所述上下文信息来确定上下文消费参数;并使得所述视听管线根据所述上下文消费参数来处理接收到的内容流。
例子58-这一例子包括例子57的任意或所有特征,其中,使得所述视听管线根据所述上下文消费参数来处理接收到的内容流包括:将第二上下文控制消息传输到所述视听管线,其中,所述第二上下文控制消息被配置为使得所述视听管线根据所述上下文消费参数来处理接收到的内容流。
例子59-这一例子包括例子58的任意或所有特征,其中,所述视听管线包括图形堆栈,并且所述上下文消费参数被配置为使得所述图形堆栈对接收到的内容流的内容执行后处理操作。
例子60-这一例子包括例子59的任意或所有特征,其中,所述后处理操作包括以下操作中的至少一个:亮度调整操作、对比度调整操作、以及色彩增强操作。
例子61-这一例子包括例子59的任意或所有特征,其中,所述上下文消费参数被配置为使得所述图形堆栈对接收到的内容流的内容执行以下操作中的至少一个:解码操作、编码操作、或转码操作。
例子62-这一例子包括例子58的任意或所有特征,其中,所述视听管线包括显示堆栈,并且所述上下文消费参数被配置为使得所述显示堆栈对接收到的内容流的内容执行渲染操作和缩放操作中的至少一个。
例子63-这一例子包括例子59的任意或所有特征,其中:所述客户端设备还包括媒体播放器,用于将接收到的内容流的内容提供给所述视听管线以根据第一消费参数进行处理;并且所述上下文消费参数与所述第一消费参数不同。
例子64-根据这一例子,提供了至少一种包括指令的计算机可读介质,当被客户端设备的处理器执行时,所述指令使得所述客户端设备执行例子20-41中任一项的方法。
本文采用的术语和表达用作描述的术语而非限制,并且在使用这样的术语和表达时并不意在排除所示出和所描述的特征(或其部分)的任意等同物,并且可以认识到在权利要求范围内的各种修改是能够的。因此,权利要求意在覆盖所有这样的等同物。
Claims (13)
1.一种用于执行上下文感知的媒体流式传送的方法,包括:
由控制逻辑模块至少部分地基于由客户端设备中的至少一个可通信地耦合的传感器提供给所述控制逻辑模块的上下文信息来确定上下文网络参数,所述上下文信息包括所述客户端设备的位置和安全级别中的至少一个;
由所述控制逻辑模块生成至少包括所述上下文网络参数的第一上下文控制消息;
由所述控制逻辑模块将所述第一上下文控制消息传输至由所述客户端设备执行的媒体播放器的网络堆栈模块;
由所述网络堆栈模块收集在所述客户端设备与服务器之间的实际网络连接参数;
由自适应逻辑模块接收所述实际网络连接参数;
由所述自适应逻辑模块监视所述媒体播放器的所述实际网络连接参数;
由所述网络堆栈模块向所述自适应逻辑模块报告所述上下文网络参数;以及
至少部分地基于所述上下文网络参数和由所述自适应逻辑模块接收的所述实际网络连接参数,由所述自适应逻辑模块确定内容流的上下文流式传送参数,所述内容流被从所述服务器提供给所述客户端设备。
2.根据权利要求1所述的方法,还包括向所述服务器传输媒体请求消息,所述媒体请求消息被配置为使所述服务器根据所述上下文流式传送参数来传输内容流。
3.根据权利要求1或2所述的方法,其中:
响应于从所述服务器接收到具有第一流式传送参数的内容流,传输所述第一上下文控制消息;以及
具有所述第一流式传送参数的所述内容流中的内容的比特率不同于根据所述上下文流式传送参数的所述内容流中的内容的比特率。
4.根据权利要求1或2所述的方法,其中:
所述媒体播放器包括缓冲器;以及
确定所述上下文流式传送参数至少部分地基于所述上下文网络参数和所述缓冲器的缓冲器级别。
5.根据权利要求1或2所述的方法,其中,所述媒体播放器将所接收的内容流的内容提供给所述客户端设备的视听管线,以根据第一消费参数进行处理;并且所述方法还包括:
至少部分地基于所述上下文信息来确定上下文消费参数;以及
至少部分地通过将第二上下文控制消息传输到所述视听管线来使所述视听管线根据所述上下文消费参数处理所接收的内容流,其中,所述第二上下文控制消息被配置为使所述视听管线根据所述上下文消费参数处理所接收的内容流,所述上下文消费参数不同于所述第一消费参数。
6.一种用于执行上下文感知的媒体流式传送的系统,包括:
控制逻辑模块,用于:
至少部分地基于由客户端设备中的至少一个可通信地耦合的传感器提供给所述控制逻辑模块的上下文信息来确定上下文网络参数,所述上下文信息包括所述客户端设备的位置和安全级别中的至少一个;
生成至少包括所述上下文网络参数的第一上下文控制消息;以及
将所述第一上下文控制消息传输至由所述客户端设备执行的媒体播放器的网络堆栈模块,
所述网络堆栈模块,用于:
收集在所述客户端设备与服务器之间的实际网络连接参数;以及
向自适应逻辑模块报告所述上下文网络参数,以及
所述自适应逻辑模块,用于:
接收所述实际网络连接参数;
监视所述媒体播放器的所述实际网络连接参数;以及
至少部分地基于所述上下文网络参数和由所述自适应逻辑模块接收的所述实际网络连接参数,确定内容流的上下文流式传送参数,所述内容流被从所述服务器提供给所述客户端设备。
7.根据权利要求6所述的系统,其中,所述系统还用于向所述服务器传输媒体请求消息,所述媒体请求消息被配置为使所述服务器根据所述上下文流式传送参数来传输内容流。
8.根据权利要求6或7所述的系统,其中,所述系统还用于:
响应于从所述服务器接收到具有第一流式传送参数的内容流,传输所述第一上下文控制消息;以及
具有所述第一流式传送参数的所述内容流中的内容的比特率不同于根据所述上下文流式传送参数的所述内容流中的内容的比特率。
9.根据权利要求6或7所述的系统,其中:
所述媒体播放器包括缓冲器;以及
确定所述上下文流式传送参数至少部分地基于所述上下文网络参数和所述缓冲器的缓冲器级别。
10.根据权利要求6或7所述的系统,其中,所述媒体播放器将所接收的内容流的内容提供给所述客户端设备的视听管线,以根据第一消费参数进行处理;并且所述系统还用于:
至少部分地基于所述上下文信息来确定上下文消费参数;以及
至少部分地通过将第二上下文控制消息传输到所述视听管线来使所述视听管线根据所述上下文消费参数处理所接收的内容流,其中,所述第二上下文控制消息被配置为使所述视听管线根据所述上下文消费参数处理所接收的内容流,所述上下文消费参数不同于所述第一消费参数。
11.一种存储指令的计算机可读介质,所述指令在被处理器执行时,使所述处理器执行根据权利要求1-5中任一项所述的方法。
12.一种用于执行上下文感知的媒体流式传送的设备,包括:
存储指令的存储器;以及
耦合到所述存储器的处理器,所述指令在被所述处理器执行时执行根据权利要求1-5中的任一项所述的方法。
13.一种用于执行上下文感知的媒体流式传送的装置,包括用于执行根据权利要求1-5中的任一项所述的方法的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/582,942 | 2014-12-24 | ||
US14/582,942 US20160191594A1 (en) | 2014-12-24 | 2014-12-24 | Context aware streaming media technologies, devices, systems, and methods utilizing the same |
PCT/US2015/063861 WO2016105904A1 (en) | 2014-12-24 | 2015-12-04 | Context aware media streaming technologies, devices, systems, and methods utilizing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107005553A CN107005553A (zh) | 2017-08-01 |
CN107005553B true CN107005553B (zh) | 2021-06-01 |
Family
ID=56151389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580063735.1A Active CN107005553B (zh) | 2014-12-24 | 2015-12-04 | 上下文感知的媒体流式传送技术及利用其的设备、系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160191594A1 (zh) |
EP (1) | EP3238453A4 (zh) |
CN (1) | CN107005553B (zh) |
WO (1) | WO2016105904A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9712584B2 (en) * | 2014-06-02 | 2017-07-18 | Sony Corporation | Context-based adaptive streaming algorithm for a user device |
US10454865B2 (en) * | 2014-12-19 | 2019-10-22 | International Business Machines Corporation | Social network activity modes |
WO2017078696A1 (en) * | 2015-11-04 | 2017-05-11 | Hewlett Packard Enterprise Development Lp | Direct connection limitation based on a period of time |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
KR102314241B1 (ko) * | 2017-03-28 | 2021-10-20 | 삼성전자주식회사 | 적응적 인증 수행 방법 및 이를 지원하는 전자 장치 |
TWI826387B (zh) | 2017-09-08 | 2023-12-21 | 美商開放電視股份有限公司 | 用於內容呈現之位元率及管線保留技術 |
US11595456B2 (en) * | 2018-05-31 | 2023-02-28 | Microsoft Technology Licensing, Llc | Modifying content streaming based on device parameters |
CN112639968A (zh) | 2018-08-30 | 2021-04-09 | 杜比国际公司 | 用于控制对经低比特率编码的音频的增强的方法和装置 |
US10348570B1 (en) * | 2018-08-30 | 2019-07-09 | Accenture Global Solutions Limited | Dynamic, endpoint configuration-based deployment of network infrastructure |
EP3633999A1 (en) * | 2018-10-05 | 2020-04-08 | InterDigital CE Patent Holdings | Method to be implemented at a device able to run one adaptive streaming session, and corresponding device |
FR3096541A1 (fr) * | 2019-06-24 | 2020-11-27 | Orange | Procédé de gestion du téléchargement progressif adaptatif (HAS) d’un contenu numérique diffusé en temps réel, gestionnaire, terminal lecteur de flux multimédia et programme d’ordinateur correspondants. |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478564A (zh) * | 2008-12-31 | 2009-07-08 | 西安交通大学 | P2p流媒体网络自适应分级传输结构设计方法 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和系统 |
EP2625837A1 (en) * | 2010-10-04 | 2013-08-14 | 1/6 Qualcomm Incorporated | System and method for optimizing media playback quality for a wireless handheld computing device |
US8625662B2 (en) * | 2008-05-28 | 2014-01-07 | Broadcom Corporation | Modification of delivery of video stream to wireless device based upon position/motion of wireless device |
CN103959274A (zh) * | 2011-10-07 | 2014-07-30 | 爱立信电视公司 | 具有自动速率整形的http自适应流传送服务器 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005004339A2 (en) * | 2003-07-01 | 2005-01-13 | Stream Engineering Corporation | Context sensitive streaming system and method |
US8019326B2 (en) * | 2006-11-30 | 2011-09-13 | Motorola Mobility, Inc. | System and method for adaptive contextual communications |
US20100277452A1 (en) * | 2007-02-23 | 2010-11-04 | Sony Corporation | Mobile display control system |
US7774488B2 (en) * | 2008-03-12 | 2010-08-10 | International Business Machines Corporation | Method and system for switching media streams in a client system based on environmental changes |
US9047236B2 (en) * | 2008-06-06 | 2015-06-02 | Amazon Technologies, Inc. | Client side stream switching |
US8363618B2 (en) * | 2008-08-29 | 2013-01-29 | Ciright Systems, Inc. | Content distribution platform |
US9124642B2 (en) * | 2009-10-16 | 2015-09-01 | Qualcomm Incorporated | Adaptively streaming multimedia |
US8902970B1 (en) * | 2010-12-01 | 2014-12-02 | Amazon Technologies, Inc. | Altering streaming video encoding based on user attention |
US8832193B1 (en) * | 2011-06-16 | 2014-09-09 | Google Inc. | Adjusting a media stream in a video communication system |
EP2752002B1 (en) * | 2011-08-29 | 2020-09-23 | Sling Media PVT Ltd | Systems and methods for controlling the encoding of a segmented media stream using segment transmit times |
US20130178241A1 (en) * | 2011-10-31 | 2013-07-11 | Inset, Inc. | System and method for context based user intent sensing and content or application delivery on mobile devices |
TWI519147B (zh) * | 2011-12-28 | 2016-01-21 | 財團法人工業技術研究院 | 提供與傳送複合濃縮串流之方法以及系統 |
WO2013097102A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | User effected adaptive streaming |
WO2014172351A1 (en) * | 2013-04-15 | 2014-10-23 | Seven Networks, Inc. | Adaptive downloading or streaming to conserve mobile device or network resources |
US9462032B2 (en) * | 2013-07-24 | 2016-10-04 | Google Inc. | Streaming media content |
-
2014
- 2014-12-24 US US14/582,942 patent/US20160191594A1/en not_active Abandoned
-
2015
- 2015-12-04 WO PCT/US2015/063861 patent/WO2016105904A1/en active Application Filing
- 2015-12-04 CN CN201580063735.1A patent/CN107005553B/zh active Active
- 2015-12-04 EP EP15874085.2A patent/EP3238453A4/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8625662B2 (en) * | 2008-05-28 | 2014-01-07 | Broadcom Corporation | Modification of delivery of video stream to wireless device based upon position/motion of wireless device |
CN101478564A (zh) * | 2008-12-31 | 2009-07-08 | 西安交通大学 | P2p流媒体网络自适应分级传输结构设计方法 |
EP2625837A1 (en) * | 2010-10-04 | 2013-08-14 | 1/6 Qualcomm Incorporated | System and method for optimizing media playback quality for a wireless handheld computing device |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和系统 |
CN103959274A (zh) * | 2011-10-07 | 2014-07-30 | 爱立信电视公司 | 具有自动速率整形的http自适应流传送服务器 |
Non-Patent Citations (1)
Title |
---|
Distributed Context Monitoring for the Adaptation of Continuous Services;Claudio Bettini;《KLUWER ACADEMIC PBULISHERS》;20070628;图2,第503-504页,510-511页;example 4 * |
Also Published As
Publication number | Publication date |
---|---|
EP3238453A1 (en) | 2017-11-01 |
US20160191594A1 (en) | 2016-06-30 |
CN107005553A (zh) | 2017-08-01 |
EP3238453A4 (en) | 2018-05-30 |
WO2016105904A1 (en) | 2016-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107005553B (zh) | 上下文感知的媒体流式传送技术及利用其的设备、系统和方法 | |
US9979772B2 (en) | Data streaming method of an electronic device and the electronic device thereof | |
US10447756B2 (en) | Method and apparatus for improving quality of experience in sharing screen among devices, and recording medium thereof | |
EP2924999B1 (en) | Context-aware streaming of digital content | |
US9807140B2 (en) | Method, terminal, and system for reproducing content | |
US20150317353A1 (en) | Context and activity-driven playlist modification | |
WO2021143479A1 (zh) | 媒体流传输方法及系统 | |
WO2022089271A1 (zh) | 无线投屏方法、移动设备及计算机可读存储介质 | |
CN108235077B (zh) | 图像提供装置、其控制方法以及图像提供系统 | |
JP2018512814A (ja) | ビデオストリームのデータを処理するための方法、装置、およびシステム | |
KR20150032554A (ko) | 무선 연결을 통한 콘텐트의 에너지 효율적 전송 기법 | |
US20170206697A1 (en) | Techniques for animating stickers with sound | |
US10110647B2 (en) | Method and apparatus for altering bandwidth consumption | |
CN106415520B (zh) | 用于回放的高码率内容的预测性递送的系统和方法 | |
US10178431B2 (en) | Hybrid stream delivery | |
US20150341634A1 (en) | Method, apparatus and system to select audio-video data for streaming | |
US20230047746A1 (en) | Technologies for streaming device role reversal | |
WO2021143388A1 (zh) | 码率切换方法及设备 | |
US11134114B2 (en) | User input based adaptive streaming | |
US20140223471A1 (en) | Side channel caching and triggering of contextual advertisements for live broadcast video streaming to mobile computing devices | |
US9363559B2 (en) | Method for providing second screen information | |
CN112399196B (zh) | 图像处理方法及装置 | |
KR20230112964A (ko) | 전자 장치 및 그 동작 방법 | |
KR20240057844A (ko) | 전자 장치, 서버 장치 및 그 제어 방법 | |
CA3210410A1 (en) | Systems and methods for improving live streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |