CN104954354A - 数字内容的上下文感知流式传送 - Google Patents

数字内容的上下文感知流式传送 Download PDF

Info

Publication number
CN104954354A
CN104954354A CN201510086912.XA CN201510086912A CN104954354A CN 104954354 A CN104954354 A CN 104954354A CN 201510086912 A CN201510086912 A CN 201510086912A CN 104954354 A CN104954354 A CN 104954354A
Authority
CN
China
Prior art keywords
content
context
client device
media server
http
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510086912.XA
Other languages
English (en)
Other versions
CN104954354B (zh
Inventor
H·穆斯塔法
B·A·欧马奥尼
J·R·弗尔斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104954354A publication Critical patent/CN104954354A/zh
Application granted granted Critical
Publication of CN104954354B publication Critical patent/CN104954354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了用于以对其中使用客户端设备的上下文调整的方式将数字内容从服务器流式传送到客户端设备的技术。其中使用客户端设备的上下文可以例如指代所述设备的操作特性和/或在其下使用所述设备的环境条件。客户端设备能够被配置为收集以其使用上下文为特征的上下文数据。能够基于这样的上下文数据来调节将流媒体传送到客户端设备的方式,特别是,能够以如下方式进行调节:将内容传送对于特定的使用上下文进行调整。这能够例如通过避免将高清内容流式传送到由于其使用上下文而能够渲染标清内容的设备,改善用户体验并且节约电池和网络资源。

Description

数字内容的上下文感知流式传送
背景技术
随着类似智能电话、平板计算机的移动计算设备变得越来越普遍,消费者对于这些设备正在要求更大的性能和更广范围的功能性。作为结果,移动设备经常连接到的蜂窝数据和无线网络在针对同时连接的数量和应该处理的数据流量的容量的需求方面已经发现相对应的增加。这些增长的需求已经导致开发意在使用超文本传输协议(HTTP)改善数据传输效率的技术,该HTTP用作跨万维网的服务器-客户端通信的实质部分的基础。这样的技术的一个示例是通过HTTP的动态自适应流式传送(DASH)。DASH是自适应比特流流式传送技术,其使能来自HTTP服务器的媒体内容的高质量流式传送。使用DASH,能够以各种不同的比特率从服务器下载传送到联网设备的内容。对于客户端从服务器请求的内容的每一个片段,客户端基于可用网络带宽自动地请求以可能的最高比特率下载该片段,而不使媒体流停顿或重新缓冲。因而,DASH能够适应改变的网络条件,同时对于客户端仍然维持相对高质量的回放体验。
附图说明
图1是示意性说明根据本文公开的某些实施例能够用于提供数字内容的上下文感知流式传送的系统的选定组件的框图。
图2A是示意性说明根据本文公开的某些实施例如何能够以对其中使用客户端计算设备的上下文调整的方式将数字内容从媒体服务器流式传送到所述客户端计算设备的数据流图。
图2B是说明根据本文公开的某些实施例用于以对其中使用客户端计算设备的上下文调整的方式将数字内容从媒体服务器流式传送到所述客户端计算设备的方法的流程图。
图3A是示意性说明根据本文公开的某些实施例如何能够以对其中使用客户端计算设备的上下文调整的方式将数字内容从媒体服务器经由上下文自适应DASH服务器流式传送到所述客户端计算设备的数据流图。
图3B是说明本文公开的某些实施例用于以对其中使用客户端计算设备的上下文调整的方式将数字内容从媒体服务器经由上下文自适应DASH服务器流式传送到所述客户端计算设备的方法的流程图。
图4A是示意性说明根据本文公开的某些实施例如何由中间网络硬件基于其中使用客户端计算设备的上下文来调整数字内容从媒体服务器到所述客户端计算设备的流式传送的数据流图。
图4B是说明根据本文公开的某些实施例用于使用网络硬件来基于其中使用客户端计算设备的上下文调整数字内容从媒体服务器到所述客户端计算设备的流式传送的方法的流程图。
图5是示意性说明根据本文公开的某些实施例配置的媒体系统的框图。
图6是示意性说明根据本文公开的某些实施例配置的移动计算系统的框图。
具体实施方式
本文公开的技术用于以对其中使用客户端设备的上下文调整的方式将数字内容从服务器流式传送到客户端设备。其中使用客户端设备的上下文可以例如指代设备的操作特性和/或设备在其下使用的环境条件。在某些实施例中,客户端设备能够被配置为收集以该客户端设备在其中被使用的上下文为特征的数据。这样的上下文数据的示例包括与设备相关联的显示分辨率、与设备相关联的处理容量、以设备正在其中被使用的物理环境为特征的数据(例如,环境光水平、环境噪声水平和/或物理振动水平)、保存在设备上或者以其它方式与设备相关联的用户配置设置、以及对设备可用的电池电量。能够基于这样的上下文数据来调节将流媒体传送到客户端设备的方式,并且特别地,能够以如下方式进行调节:对其中使用客户端设备的特定上下文来调整内容传送。这能够例如通过避免将高清内容流式传送到由于其使用上下文而仅能够渲染标清内容的设备,改善用户体验并且节约电池和网络资源。因而,本文公开的某些技术有益于使内容传送更加有效,特别是与对于流媒体具有有限带宽的拥挤网络相结合。本文公开的某些技术也有益于改善对于如下设备的用户体验:该设备用于不适合可以由常规DASH服务器传送的可能的最高比特率的上下文。鉴于本公开,大量实施例将变得显而易见。
如本文使用的,其中内容由用户消耗的“上下文”除了其通常含义以外,指代与用户的内容消耗相关的用户的情形、地点、或者对象。这包括用户本身、用于将内容传输到设备的网络、用于观看内容的软件或者硬件、以及内容本身。因而,上下文将被理解为包含多个功能域,包括终端用户、网络和服务提供商、以及内容提供商。一般而言,上下文可以是静态的(如在集成显示器的分辨率的情况下)或者动态的(如在瞬时网络条件的情况下)。本公开提供的不同使用上下文的示例不是限制性的,并且因而,在其它实施例中,其它特性可以被包含在术语上下文中。在本文中将以其中消耗内容的上下文为特征的数据称为“上下文数据”。
因而,关于终端用户,术语“上下文”指代用户在其下消耗内容的环境、物理、和/或情形条件,并且因而例如包含环境光水平、环境噪声水平、地理位置、外部温度、物理移动和/或物理振动。上下文还包含与用户和/或用户设备相关联的操作特性,例如用户配置文件和配置设置、设备处理容量、设备存储器容量、设备电池特性(包括剩余电池电量和电池消耗率)、由设备控制的显示器的分辨率和尺寸、和/或在设备上运行的其它应用的存在或者不存在。上下文还指代用户如何消耗内容,例如通过将他/她的眼睛仅聚焦在显示器的有限部分上、或者在显示器中示出的特定对象上。关于网络和服务提供商,术语“上下文”指代用于将内容从服务器传输到客户端的网络或者服务提供商的操作特性。这例如包括可用网络带宽、网络类型(例如蜂窝、无线局域网或者其它)、对于网络的功率-带宽折衷、和/或由网络服务的现有连接的数量。关于内容提供商,术语“上下文”例如包含如下要素:内容如何被编码、内容被编码的比特率、以及内容的类型(例如,用户生成的内容、视频或者电话会议内容、专业产生的运动图片内容、体育内容、新闻广播内容、或者一些其它类型的内容)。
如本文使用的,术语“内容”除了其通常的含义以外,指代意在用于由用户直接或者间接消耗的信息。例如,术语“内容”包含由用户例如通过在显示设备上显示内容或者使用音频扬声器播放内容而直接消耗的信息。术语“内容”还包括不专门意在用于显示的信息,并且因此还例如包含如下项目:软件、可执行指令、移动应用、脚本、超级链接、地址、指针、元数据、和格式化信息。使用术语“内容”独立于(a)内容如何被呈现给用户用于消耗;以及(b)用于创建和/或渲染内容的特定软件应用。内容可以使用意在减小经由网络传输内容所要求的带宽量的一个或多个压缩算法来进行编码。例如由运动图像专家组(MPEG)建立的一些压缩算法的某些压缩算法使内容能够以各种不同的比特率、或者以变化的比特率进行编码,这关于DASH技术会特别有用。术语“数字内容”指代内容以二进制比特(例如0和1)进行编码的内容;对于涉及数字计算机的应用而言,术语“内容”和“数字内容”经常互换地使用。术语“流内容”指代从一个计算设备传输到另一计算设备的内容,例如在客户端-服务器计算环境中从服务器传送到客户端设备的情况。
总览
尽管DASH技术已经使内容流式传送适应改变的网络条件,但是这样的技术缺少能力来对除了客户端设备将其看作是能够在给定时间经过给定信道进行传输的最高比特率以外的任何事务做出响应。然而,存在可能期望修改如何基于其它考虑因素来对内容进行流式传送的大量情形。例如,在移动设备具有有限的可用电池电量的情况下,用户可能希望以较低比特率对视频内容进行流式传送以努力延长电池寿命,并且在电池电量被完全耗尽之前流式传送尽可能多的内容。或者在用户在走路、乘坐拥挤的地铁、或者参与他/她的察觉能力可能减少的任何其它活动时观看智能电话上的流视频内容的情况下,可能不需要或者不期望消耗处理并显示高清视频流所需的带宽、处理容量和/或功率资源。因而,本文公开的某些实施例提供数字内容流式传送技术,其意识到并响应于其中可以将内容流式传送到客户端设备的各种上下文。以其中消耗内容的上下文为特征的信息可以从各种源进行推导,该各种源包括能够感测使用环境的客户端侧应用、能够执行网络流量分析的服务器侧软件、和/或能够分析网络条件的边缘路由器。
提供意识到并响应于其中内容最终被终端用户消耗的上下文的内容流相对于现有的内容流式传送技术具有多个优点。例如,移动设备尤其例如易受如下约束条件影响:有限的电池电量、弱的或者瞬时网络信号接收、和有限的显示分辨率。提供尤其适合于显示器的内容也降低了观察到视频伪像的可能性,要在该显示器上消耗该内容。移动设备也经常用于其中用户可能不能够对渲染的内容投入全部注意力的环境中。将内容的流式传送调整到特定的使用上下文使网络和设备资源能够更加有效地被分配和使用,从而增强用户总体体验。因此,在某些实施例中,所检测的使用上下文用于不仅修改用户的设备自身的操作,而且修改定义如何将内容流式传送到设备的传输协议。
在被流式传送到诸如智能电话的移动计算设备的视频内容的上下文中,这样的调整可以包括以如下方式来适应视频内容:增强终端用户观看视频的体验,同时仍然优化可用的网络资源和客户端设备功率消耗。一般而言,流内容能够使用各种适当技术中的任意一种来调整,该技术例如是:在单播和多播广播之间进行切换;修改网络编码来调节带宽;选择特别适合给定上下文的服务器或者传输网络资源;或者选择以特定比特率进行编码的内容。因而,本文公开的某些实施例规定基于其中内容最终由终端用户消耗的上下文来区分内容流式传送服务,从而提供更加以用户为中心且更加丰富的内容消费体验。
本文公开的某些实施例涉及基于其中使用单个设备的上下文来调整如何将内容提供到该设备。例如,在一个这样的实施例中,移动设备提供有能够感测多少电池电量对于该设备可用的硬件和/或软件。如果当剩余电池电量高于预定阈值时设备的用户接收到流内容,则该设备能够被配置为请求从媒体服务器流式传送高清内容。然而,如果剩余电池电量下降到低于阈值,则该设备能够被配置为请求从媒体服务器仅流式传送该内容的音频部分。相对于高清视频,流式传送音频例如通过减小处理要求并且允许显示器变暗或者完全关掉,减小从电池汲取的功率量。这样的配置将允许用户延迟电池电量被完全耗尽的点,并且从而增加能够被流式传送到设备的内容量。
在另一实施例中,诸如高清电视的内容消费设备提供有或者耦合到能够感测用户将他/她的目光聚焦在显示器上的位置的硬件和/或软件。由这样的硬件和/或软件产生的相对应上下文数据能够用于例如通过降低当用户不看显示器时的视频质量来减小带宽。带宽使用也能够例如通过仅在显示器中用户的眼睛聚焦的区域中渲染高清内容来缓解。这样的修改对于例如如下应用特别有用:由于一些原因限制可用带宽;或者电视正在由具有有限处理容量的设备控制,使得高清内容的全屏渲染超出控制设备的能力。
其它实施例涉及调整如何基于多个设备的上下文来将内容提供到该多个设备。例如,用户可以具有到具有不同使用上下文的多个设备的访问,例如(a)具有疲弱的电池电量和/或衰退的无线网络信号的平板计算机;以及(b)具有满电池电量和/或强3G蜂窝数据信号的智能电话。这些设备能够被预先注册为与用户相关联的替代的内容消费设备。能够基于替代设备的特定上下文来做出关于哪一个设备更适合在给定时间接收媒体流的协调确定。因而,请求将内容流式传送到平板计算机的用户可能被提供通知,建议该内容流被替代地提供到智能电话,其中该平板计算机不能实现其上下文限制以及替代智能电话的更优选的上下文。这将消除对于用户意识到他/她的哪个替代设备更适合在给定时间接收内容流的任何需要。
在某些实施例中,预定义的用户配置文件能够结合上下文数据来使用,该上下文数据被实时收集以便提供使用现有的内容流式传送技术不可用的个性化程度。例如,用户配置文件可以包括关于用户的房屋以及用户可以在该房屋的不同部分内消耗内容的各种方式的信息。这样的信息可以包括如下事实:用户在客厅具有高清大屏幕电视,在厨房具有标清小型平板显示器,并且在卧室具有音频系统。视频或者其它传感器能够用于检测用户从一个位置到另一位置的移动,并且用于基于在给定时间的用户位置来调节如何对内容进行流式传送。例如,当在客厅观看高清视频的用户移动到厨房时,内容流能够被从高清流自动切换到标清流,因而节约网络资源而不降低用户体验。当用户之后移动到卧室时,内容流能够被从标清视频流自动切换到仅音频流。除了允许更加有效地分配网络和设备资源之外,这说明了上下文和用户配置文件信息如何也能够用于提供多屏幕内容消费体验,该多屏幕内容消费体验增加用户连接时间,同时减少管理到不同设备的不同连接所花费的时间。
预定义的用户配置文件也能够用于增强用户在家庭之外的内容消费体验。例如,用户的描述文件能够定义偏好的内容语言或者类型,使得当用户在访问另一区域时,取决于用户的偏好来对本地语言或者母语的内容进行流式传送。同样,关于内容特性(例如分辨率、亮度和/或光度)的用户偏好如何受上下文(例如环境光、环境噪声和/或移动)影响能够跟随用户。因而,例如,在具有柔和环境光照的宾馆房间中的高清电视屏幕上消耗内容的用户能够具有以在他/她的客厅缓解的相同方式缓解的内容的光度,从而提供更加定制的用户体验和/或减小流带宽。或者,在拥挤的地铁上通勤时在智能电话上消耗内容的用户能够具有被缓解的流式传送视频内容的比特率以保存电池电量,因为在这样的使用上下文中可能不会注意到降低的视频质量。因而,调整流式传送的内容可以取决于用户所察觉的内容的质量,而不是设备能够渲染的内容的实际质量。调整流式传送的内容可以至少部分地取决于用户定义的偏好,例如当连接到蜂窝数据网络时对于更低比特率的偏好,努力避免招致过多的数据费用。
流式传送的内容也能够基于用户的地理位置和/或移动来修改。例如,在他的通勤中必须经过边卡的用户可以配置他的配置文件,使得当用户移动到该检查点的某一距离内时,对提供边界等待时间的内容进行流式传送。或者,在她的夜间通勤期间观看智能电话上的流式传送的视频内容的用户可以配置她的配置文件,以便将流式传送的内容的质量最大化,同时避免在到家之前电池耗尽。这能够通过如下完成:基于智能电话上的可用电池电量和剩余通勤的长度来缓解流带宽。可以在其它实施例中实现意在增强用户体验的质量的其它用户配置文件定制。
系统架构
图1是示意性说明能够用于提供数字内容的上下文感知流式传送的系统的选定组件的框图。更具体而言,图1说明了被配置为收集上下文数据并且使用这样的数据与流媒体服务器300以如下方式进行交互的计算设备100:允许媒体以有效且上下文敏感的方式从服务器300传送到计算设备100。在这样的实施例中,计算设备100、流媒体服务器300和可选的上下文自适应DASH服务器500能够经由网络200与彼此进行通信。在其它实施例中可以提供附加的或者替代的资源和组件。这样的其它资源和组件可以被集成到如下设备中的一个或多个中并且由如下设备中的一个或多个提供:计算设备100、流媒体服务器300、或者上下文自适应DASH服务器500,将依次说明。因而,取决于实现的粒度,其它实施例可以具有更少或更多的联网资源和/或组件。此外,尽管在图1的示例实施例中仅说明了一个计算设备100和一个流媒体服务器300,但是将理解的是,一般而言,系统可以包括能够与甚至更大数量的计算设备100交互的几十、几百、几千或者更多的服务器300的分布式网络。因此,可以理解的是,本公开并不意在局限于提供或者排除任何特定的资源和/或组件,或者局限于连接到网络200的任何特定数量的客户端或者服务器设备。
计算设备100能够包括各种计算设备中的任意一种,该计算设备适于与流媒体服务器300进行交互并且消耗由流媒体服务器300提供的内容。因而,在某些实施例中,计算设备100可以例如包括如下设备:手持计算机、蜂窝电话、平板计算机、智能电话、膝上型计算机、桌面计算机、网络立体声或者多媒体系统、数字媒体播放器、或者机顶盒。在其它实施例中能够使用其它设备。计算设备100包括被配置为实现本文公开的某些功能的一个或多个软件模块、以及被配置为使能这样的实现的适当的硬件。在这样的实施例中,这些模块和附接的硬件可以包括但是不局限于处理器110、存储器120、通信适配器140、操作系统150、上下文感测应用160和内容消费应用170。还可以提供总线和/或互连180以允许例如使用通信适配器140进行设备间和设备内通信。
处理器110能够是任何适当的处理器,并且可以包括一个或多个协处理器或者控制器,例如音频处理器或者图形处理单元(GPU),以便辅助计算设备100的处理操作。存储器120能够使用任何适当类型的数字存储装置实现,例如磁盘驱动、通用串行总线(USB)驱动、闪存存储器和/或随机存取存储器中的一个或多个。通信适配器140能够是任何适当的网络芯片或者芯片集,其允许与本文描述的网络200和任何其它组件进行有线和/或无线通信。操作系统150可以包括任何适当的操作系统,例如谷歌安卓(加州山景城的谷歌公司),微软Windows(华盛顿州雷德蒙的微软公司),或者苹果OS X(加州库比提诺的苹果公司)。在某些实施例中,操作系统150被配置为提供交互式用户界面152,能够向用户显示信息和/或内容并且从用户接收输入。要理解的是,鉴于本公开,本文提供的技术能够不考虑结合计算设备100提供的特定操作系统来实现,因此,也可以使用任何适当的现有或者随后开发的平台来实现。
如在本文描述的,计算设备100可以包括诸如上下文感测应用160和内容消费应用170的软件。上下文感测应用160能够被配置为收集上下文数据,并且以其中计算设备100用于内容消费的上下文为特征。这样的表征可以导致生成可以如本文描述地被使用的上下文数据。例如,在某些实施例中,上下文感测应用160能够被配置为结合内容消费应用170进行工作,使得内容消费应用170的初始化或者其它使用导致上下文感测应用160自动地变为活动,并且提供上下文感测功能或者上下文数据管理功能。因而,在某些实施例中,上下文感测应用160能够被配置为插件,该插件向现有的内容消费应用170提供附加的功能。在替代实施例中,上下文感测应用160和内容消费应用170是不与彼此交互的分离的组件。可以在某些实施例中使用的内容消费应用的示例包括Windows媒体播放器(华盛顿州雷德蒙的微软公司)、iTunes(加州库比提诺的苹果公司)和Real播放器(华盛顿州西雅图的Real Networks公司)。
上下文感测应用160能够被配置为结合一个或多个传感器162进行工作,这些传感器162能够收集与设备100的使用上下文相对应的信息。特别地,上下文感测应用160和传感器162能够被配置为生成多种多样的上下文数据,例如环境光水平、环境噪声水平、地理位置、外部温度、物理移动、物理振动、设备处理容量、设备存储器容量、包括剩余电池电量和电池消耗率的设备电池特性、用户眼睛聚焦追踪信息、以及网络200的操作特性(例如,包括可用带宽、网络类型、网络功率-带宽折衷数据、以及正在被服务的现有网络连接的数量)。在其它实施例中能够监控或者记录其它类型的上下文数据。例如,在某些实施例中,上下文感测应用160能够被配置为管理并且提取包含在用户配置文件内的信息,该用户配置文件描述对于内容消费上下文的用户偏好,例如,避免使用蜂窝数据网络的高带宽流式传送的偏好;电池寿命应该在其上保留的用户定义的通勤路线;或者对于应该如何在用户的住所的某些部分内对内容进行流式传送的偏好。
网络200可以是局域网(例如,基于家庭的或者办公网络)、广域网(例如,互联网)、或者这样的网络的组合,无论是公共的、还是私有的或者上述二者。一般而言,在本文描述的各种组件之间的通信可以经由有线和/或无线连接发生,例如可以由无线局域网(例如,WiFi网络)或者移动数据网络(例如,蜂窝数据网络)提供。如在图1中说明的,网络200包括用于将数据从流媒体服务器300传输到计算设备100的网络硬件210。网络硬件210的特定本质依赖于网络200的本质,但是可以例如包括有线或者无线路由器、边缘路由器、家庭网关、集线器、或者小小区。在其它实施例中能够使用其它网络硬件。在一些情况下,接入给定网络或者计算机系统上的资源可能要求诸如用户名、密码、和/或任何其它适当的安全机制的凭证。这样的功能可以由网络硬件210提供,或者可以由图1中未说明的其它网络服务提供。
仍然参照图1,流媒体服务器300能够包括一个或多个各种各样的服务器设备,这些服务器设备适于与计算设备100进行交互,并且能够将内容流式传送到计算设备100。因而,在某些实施例中,服务器300例如包括企业类别设备的阵列,这样的阵列被配置为按需地将视频提供到大量的地理分布的客户端设备。在其它实施例中,服务器300包括能够将数字媒体提供到连接到家庭网络的设备的个人计算机。在一个具体实施例中,服务器300包括能够将媒体内容划分为以不同的比特率进行编码的多个片段的DASH服务器。在这样的情况下,服务器300能够被配置为生成媒体呈现描述(MPD)文件,该MPD文件描述在服务器300处可用的各种编码。
与其特定实现无关,服务器300能够被理解为包括处理器310、媒体资源库320和通信适配器340。处理器310能够是任意适当的处理器,并且可以包括诸如音频处理器或者GPU的一个或多个协处理器或者控制器,便以辅助处理诸如媒体转码和流式传送的操作。媒体资源库320能够使用任何适当类型的数字存储装置来实现,该数字存储装置能够存储要由服务器300流式传送的内容。在一些情况下,例如在媒体服务器300被配置为提供实时内容流式传送的情况下,媒体资源库320可以被提供为由内容提供商管理的分离的联网资源。服务器300还可以被配置为流式传送从多个媒体资源库320获得的内容,该多个媒体资源库320中的一些或者全部可以是联网的资源库。通信适配器340能够是任何适当的网络芯片或者芯片集,其允许与本文描述的网络200和任何其它组件进行有线和/或无线通信。
本文公开的实施例能够在各种形式的硬件、软件、固件和/或专用处理器中实现。例如,在一个实施例中,非暂态计算机可读介质具有编码在其上的指令,当由一个或多个处理器执行时,该指令实现本文公开的一个或多个内容流式传送方法。指令能够使用任何适当的编程语言,或者替代地使用定制或者专有的指令集进行编码,该编程语言例如是C、C++、面向对象的C、Javascript、Visual Basic、.NET、BASIC。指令能够以有形地呈现在存储器设备上,并且能够由具有任何适当架构的计算机执行的一个或多个计算机软件应用和/或小程序的形式提供。在一个实施例中,系统能够被托管在给定网站上,并且例如使用Javascript或者另一个适当的基于浏览器的技术实现。本文公开的功能能够可选地结合到诸如在线内容零售店的其它软件应用中,或者能够可选地利用由诸如内容消费应用的其它软件应用提供的服务。本文公开的计算机软件应用可以包括多个不同的模块、子模块、或者具有不同功能的其它组件,并且能够向其它组件和/或服务提供信息,或者从其它组件和/或服务接收信息。能够例如使用这些模块来与输入和/或输出设备机械能通信,该输入和/或输出设备例如是显示屏、触敏表面、打印机和/或任何其它适当的输入/输出(I/O)设备。没有在说明中反映的其它组件和功能鉴于本公开将是显而易见的,其并不意在局限于任何特定的硬件或者软件配置。因而,在其它实施例中,与包括在图1中说明的示例实施例中的相比较,计算设备100、流媒体服务器300以及上下文自适应DASH服务器500可以包括附加的、更少的、或者替代的子组件。
上述的非暂态计算机可读介质可以是用于存储数字信息的任何适当的介质,例如是硬驱、服务器、闪存和/或随机存取存储器。在替代实施例中,本文公开的组件和/或模块能够使用包括如下的硬件实现:诸如现场可编程门阵列(FPGA)的门级逻辑,或者替代地,诸如专用集成电路(ASIC)的特制半导体。其它实施例可以使用微控制器实现,该微控制器具有用于执行本文公开的各种功能的多个嵌入式例程。将显而易见的是,能够使用软件、硬件和固件的任何适当组合,并且本公开并不意在局限于任何特定的系统架构。
方法和数据管线
图2A是示意性说明如何能够将数字内容以对其中使用计算设备100的上下文调整的方式从媒体服务器300流式传送到计算设备100的数据流图。图2B是说明用于将数字内容以对其中使用计算设备100的上下文调整的方式从媒体服务器300流式传送到计算设备100的方法1000的流程图。可以看出,方法1000包括多个级和子处理,该级或子处理的序列可以从一个实施例到另一个实施例变化。然而,在聚集考虑时,这些级和子处理形成根据本文公开的某些实施例响应于用户命令的完整的上下文感知数字内容流式传送处理。这些方法能够例如使用在图1中说明的且在本文描述的系统架构来实现。然而,在其它实施例中能使用其它系统架构,这鉴于本公开将是显而易见的。为此,在图2A和2B中示出的各种数据管线和功能与在图1中说明的特定组件的相关性并不意在暗示任何构造和/或使用限制。反而,其它实施例可以例如包括其中多个功能由一个系统有效执行的各种集成的程度。例如,在替代实施例中,单个模块能够用于执行上下文感测和内容回放。因而,取决于实现的粒度,其它实施例可以具有更少或更多的模块。鉴于本公开,大量的变化和替代的配置将是显而易见的。
如在图2A和2B中说明的,方法1000开始于使用由计算设备100提供的资源来收集上下文数据164。参见图2B中的附图标记1100。如在本文描述的,能够例如使用在计算设备100上运行的一个或多个上下文感测应用160来收集多种多样的上下文数据164。上下文感测应用160被可选地配置为连接到一个或多个传感器162并且从该一个或多个传感器162聚集上下文数据164,这样的传感器162可以被集成到计算设备100中,或者位于计算设备100的外部。例如,在一个实施例中,计算设备100被配置为与无线视频传感器进行通信,该无线视频传感器能够监视用户在房屋、办公室或者其它环境内或周围的移动。所收集的上下文数据164能够被高速缓存在存储器120中,使得其对于本文描述的使用可用。因而,在一些情况下,被高速缓存的上下文数据164能够用于识别使用模式,该使用模式能够以更加有效地使用网络和/或设备资源的方式形成用于调整数字内容的流式传送的基础。
计算设备100能够被配置为通过将第一HTTP GET请求发送到流媒体服务器300而发起对于内容的请求。参见图2A和2B中的附图标记1200。该第一GET请求识别要被取回的特定内容,并且可以响应于特定用户命令生成,或者可以基于预定义的规则或者其它准则而自动生成。在接收到第一GET请求时,流媒体服务器300能够被配置为将MPD文件322发送到计算设备100。参见图2A和2B中的附图标记1400。如在本文描述的,MPD文件322能够用于描述其中服务器300被配置为对内容进行流式传送的各种方式。例如,在媒体服务器300能够使用各种不同比特率来对内容进行流式传送的实施例中,MPD文件322能够包括可用比特率的描述。MPD文件322也能够包括唯一网络地址或者统一资源定位符(URL),对应到从服务器300可用的每一个内容流。因而,MPD文件322能够被理解为菜单,提供能够将特定内容从媒体服务器300流式传送到设备100的各种方式的选择。
在接收到MPD文件322时,计算设备100能够被配置为选择对应到所收集的上下文数据或者以其它方式被相信是对所收集的上下文数据164进行最佳调整的特定MPD。参见图2B中的附图标记1500。例如,在上下文数据164指示用户正在具有不能够渲染高清内容的小显示器的智能电话上观看视频的情况下,计算设备100能够被配置为基于在MPD文件322中呈现的选择,从服务器300请求更低的比特率。作为另一示例,在上下文数据164指示用户在灯光昏暗的房间中观看视频的情况下,计算设备100能够被配置为基于在MPD文件322中呈现的选择,从服务器300请求具有减小的像素光度的内容。在MPD文件322不包括与被确定为对于给定的使用上下文最佳的内容流精确匹配的内容流的情况下,计算设备100能够被配置为选择与最接近地对应到最佳内容流的内容流。用于做出适当的MPD选择的逻辑能够由上下文感测应用160、内容消费应用170或者形成计算设备100的一部分的另一模块提供。
一旦选择了适当的MPD,设备100就能够被配置为将包括对应到选定的MPD的URL的第二HTTP GET请求发送到流媒体服务器300。参见图2A和2B中的附图标记1600。基于上下文数据164来选择对应到特定MPD的这一具体URL,这使客户端计算设备100能够操控如何从媒体服务器300流式传送内容。在接收到第二GET请求时,流媒体服务器300将对应到选定的MPD的媒体流式传送到客户端计算设备100。参见图2A和2B中的附图标记1700。这一技术使客户端设备100能够检测特定的使用上下文,并且影响如何基于所检测的上下文从媒体服务器300流式传送内容。这通过避免将高比特率的内容流式传送到不能够充分利用这样的内容的用户,有利地允许更有效地使用网络和设备资源。
图2A和2B说明了示例方法1000,其中,客户端计算设备100和流媒体服务器300直接与彼此进行交互,以便提供对由设备100检测的特定使用上下文进行调整的流式传送内容。然而,在其它实施例中,上下文自适应DASH服务器500能够在设备100和服务器300之间提供接口,如在图3A和3B中说明的。具体地说,图3A是示意性说明如何能够将数字内容以对其中使用计算设备100的上下文调整的方式从媒体服务器300经由上下文自适应DASH服务器500流式传送到计算设备100的数据流图。图3B是说明用于将数字内容以对其中使用计算设备100的上下文调整的方式从媒体服务器300经由上下文自适应DASH服务器500流式传送到计算设备100的方法2000的流程图。
方法2000开始于使用由计算设备100提供的或者以其它方式对于计算设备100可用的资源来收集上下文数据164。参见图3B中的附图标记2100。各种上下文数据164能够使用相对应种类的技术和传感器162来收集,如在本文中描述的。在收集了至少一些量的上下文数据164之后,计算设备100能够被配置为通过将第一HTTP GET请求发送到流媒体服务器300来发起对于内容的请求。参见图3A和3B中的附图标记2200。该第一GET请求识别要被取回的特定内容。在接收到第一GET请求时,流媒体服务器300将MPD文件322发送到计算设备100。参见图3A和3B中的附图标记2400。如本文描述的,MPD文件322能够用于描述其中服务器300被配置为对内容进行流式传送的各种方式。尽管图3A和3B说明了其中在将第一GET请求发送到媒体服务器300之前收集上下文数据164的实施例,但是在其它实施例中,可以直到发送了第一GET请求之后,或者甚至直到接收到MPD文件322之后才收集上下文数据164。在其它实施例中,上下文数据164以持续、周期性、或者断续的基础来收集,并且因而,可以在客户端设备100开始与媒体服务器300进行通信之后继续收集。
在接收到MPD文件322时,计算设备100能够被配置将具有期望的转码和MPD文件的拷贝的第二HTTP GET请求发送到上下文自适应DASH服务器500。参见图3A和3B中的附图标记2600。期望的转码能够由所收集的上下文数据164进行推导,并且在某些实施例中对应到媒体流式传送技术,该媒体流式传送技术被配置为使能设备和/或网络资源在所检测到的使用上下文的情况下被有效地消耗。例如,在上下文数据164指示用户正在使用具有几乎耗尽的电池的设备观看视频的情况下,期望的转码可以对应到音频流而不是视频流。作为另一示例,在上下文数据164指示用户经由蜂窝数据网络进行连接,并且用户已经表达了最小化在这样的网络上的数据使用量的偏好的情况下,期望的转码可以对应到标清视频流而不是高清视频流。在一些情况下,期望的转码可以指定在特定的使用上下文的情况下优选的目标比特率。用于确定期望的转码的逻辑能够由上下文感测应用160、内容消费应用170、或者形成计算设备100的一部分的另一模块提供。
在接收到MPD文件322和期望的转码时,上下文自适应DASH服务器500能够被配置为选择接近期望的转码的MPD。参见图3B中的附图标记2620。这一选择能够基于可用MPD中的哪一个最适当地对应到期望的转码的评估。上下文自适应DASH服务器500接着能够被配置为将包括对应到选定的MPD的URL的第三HTTP GET请求发送到流媒体服务器300。参见图3A和3B中的附图标记2640。对应到特定MPD的这一特定URL使客户端计算设备100能够操控如何将内容从媒体服务器300进行流式传送,该特定MPD是基于期望的转码进行选择的,该期望的转码顺次地基于上下文数据164而建立。在接收到第三GET请求时,流媒体服务器300将对应到选定的MPD的媒体流式传送到上下文自适应DASH服务器500。参见图3A和3B中的附图标记2700。
在一些实施例中,上下文自适应DASH服务器500能够被配置为基于从客户端设备100接收到的期望的转码,对从服务器300接收到的媒体进行转码。参见图3B中的附图标记2720。经转码的媒体接着能够被流式传送到客户端设备100。参见图3A和3B中的附图标记2740。由DASH服务器500进行的这样的中间转码有利地允许提供到客户端设备100的内容更密切或者更精确地匹配先前建立的期望的转码。这在其中期望的转码不密切地对应到可用MPD中的一个的应用中会特别有利。由DASH服务器500进行的中间转码还有利地允许以不配置媒体服务器300的方式来操控内容流。例如,在一个实施例中,上下文自适应DASH服务器500能够被配置为基于检测到的使用内容来调整像素光度,甚至在媒体服务器300不能够做出这样的调整的情况下。在替代实施例中,由DASH服务器500进行的中间转码仅在没有可用的MPD被视为对于可适用的使用上下文适当的情况下才执行。一般而言,使用上下文自适应DASH服务器500有利地允许将附加的功能引入现有系统,并且使内容能够以响应于检测到的使用上下文的方式而在现有的客户端服务器架构中进行流式传送。特别地,上下文自适应DASH服务器500使计算设备100能够使用常规HTTP GET请求来请求内容,同时使媒体服务器300能够响应于这样的请求,而不需要响应于流式传送的内容在其上被最终修改的所收集的上下文数据164。
在替代实施例中,上下文自适应DASH服务器500能够被配置为将所接收的媒体流直接传递到客户端设备100,而不进行转码或者其它修改。在其它实施例中,客户端设备100能够被配置为将上下文数据164直接发送到媒体服务器300,媒体服务器300能够被配置为基于所接收的上下文数据164来生成MPD文件322。这将增加MPD文件322包括更密切或者精确地匹配目标转码的传输协议的可能性。在这样的实施例中,上下文自适应的DASH服务器500可选地被省略。然而,一般而言,上下文自适应DASH服务器500能够用作对于媒体服务器300的可选的中间节点。上下文自适应DASH服务器500例如能够位于用于连接到家庭网络的设备的家庭网关内,位于用于连接到蜂窝网络的设备的小区中,或者位于边缘路由器处。使用上下文自适应DASH服务器500能够使本文公开的某些实施例在服务器300不被配置用于自适应流式传送服务的情况下使用,在这样的情况下,上下文自适应DASH服务器500不仅提供上下文感知功能,而且提供HTTP自适应转码功能。
图3A和3B说明了示例方法2000,其中,上下文自适应DASH服务器500在客户端设备100和服务器300之间提供接口。然而,在其它实施例中,这样的接口能够由网络硬件210提供,如图4A和4B中说明的。特别是,图4A是示意性说明如何能够由中间网络硬件210基于其中使用客户端计算设备100的上下文来调整数字内容从媒体服务器300到客户端计算设备100的流式传送的数据流图。图4B是说明用于使用网络硬件210来基于其中使用客户端计算设备100的上下文调整数字内容从媒体服务器300到客户端计算设备100的流式传送的方法3000的流程图。配置网络硬件210以适应所感测的使用上下文在诸如无线接入点或者长期演进(LTE)演进型节点B(eNB)基站的无线基站将内容同时流式传送到多个客户端设备的情况下尤其有利。
方法3000开始于使用由计算设备100提供的或者以其它方式对于计算设备100可用的资源来收集上下文数据164。参见图4B中的附图标记3100。各种上下文数据164能够使用相对应种类的技术和传感器162来收集,如本文描述的。在收集至少一些量的上下文数据164之后,计算设备100能够被配置为将至少一部分这样的数据164发送到网络硬件210。参见图4A和4B中的附图标记3150。例如,在一个实施例中,上下文数据164被发送到无线网络基站,该无线网络基站被配置为将数字内容同时流式传送到多个客户端设备。在这样的实施例中,基站能够被配置为将上下文数据164与从其接收上下文数据164的特定客户端设备100相关联,因而使基站能够调节向设备100的随后的数据传输。
计算设备100能够被配置为通过将第一HTTP GET请求发送到流媒体服务器300来发起对于内容的请求。参见图4A和4B中的附图标记3200。该第一GET请求识别要被取回的特定内容,并且可以经由上下文数据164先前被发送到的相同网络硬件210进行传输。在接收到第一GET请求时,流媒体服务器300将MPD文件322发送到计算设备100。参见图4A和4B中的附图标记3400。如本文描述的,MPD文件322能够用于说明其中服务器300被配置为对内容进行流式传送的各种方式。尽管图4A和4B说明了其中在将第一GET请求发送到媒体服务器300之前收集上下文数据164并且将其提供到网络硬件210的实施例,但是在其它实施例中,可能直到发送第一GET请求之后,或者甚至直到在接收到MPD文件322之后才收集上下文数据164。在又一个实施例中,上下文数据164以持续的、周期性、或者断续的基础来收集,并且因而可以在客户端设备100开始与媒体服务器300进行通信之后继续收集。
在接收到MPD文件322时,计算设备100能够被配置为选择对应到所收集的上下文数据164或者以其它方式被认为是对所收集的上下文数据164最佳调整的特定MPD。参见图4B中的附图标记3500。例如,在上下文数据164指示用户正在使用低保真度耳机来消耗音频内容的情况下,计算设备100能够被配置为基于在MPD文件322中呈现的选择,请求不包含5.1环绕声编码的音频流。在MPD文件322不包括与被确定为对于给定的使用上下文是最佳的内容流恰好匹配的内容流的情况下,计算设备100能够被配置为选择与理论上最佳的内容流最密切对应的内容流。用于做出适当的MPD选择的逻辑能够由上下文感测应用160、内容消费应用170、或者形成计算设备100的一部分的另一模块提供。
一旦选择了适当的MPD,设备100就能够被配置为将包括与选定的MPD相对应的URL的第二HTTP GET请求发送到流媒体服务器300。参见图4A和4B中的附图标记3600。对应于特定MPD的这一特定URL使客户端计算设备100能够操控如何将内容从媒体服务器300进行流式传送,该特定MPD是基于上下文数据164进行选择的。第二GET请求可以经由上下文数据164先前被发送到的相同网络硬件210进行传输,从而为网络硬件210提供对于客户端设备100处的使用上下文的额外信息。在接收到第二GET请求时,流媒体服务器300将与选定的MPD相对应的媒体流式传送到网络硬件210。参见图4A和4B中的附图标记3700。网络硬件210能够被配置为以允许这样的资源以及与设备100相关联的设备资源更有效地被使用的方式来分配网络资源。参见图4B中的附图标记3720。可以将用于做出适当的资源分配的逻辑集成到网络硬件210中。这样的分配可以例如基于先前接收的上下文数据162和设备100从MPD文件322选择的内容片段,如在第二GET请求的网络传输期间观察到的。一旦建立了网络资源的基于适当上下文的分配,网络硬件210就能够被配置为将所请求的媒体流式传送到客户端设备100。参见图4B中的附图标记2740。
基于使用上下文信息来分配网络资源有利地使能更加有效地使用这样的资源。例如,现有的资源分配技术通常致力于在并行连接之间均衡地分配有限的带宽容量。这样的现有技术会考虑的要素例如有瞬间信噪比值、分组延迟、分组到达/离开信息、以及客户端侧缓冲,但是通常忽略本文描述的其它使用上下文信息。假设很多并行连接具有不同的带宽要求,均衡地分配网络资源经常会使一些连接具有不充分的带宽。然而,通过将更少的带宽分配给不需要或者不能够使用额外带宽的连接,能够将这样的额外带宽资源分配到需要这样的资源的那些连接。网络资源的这样的上下文感知分配更可能满足并行连接的更大部分的带宽要求。例如,在无线基站将内容同时流式传送到多个移动客户端的上下文中,方法3000使网络资源能够基于多个移动客户端的每一个的特定使用上下文进行分配,从而便于这样的资源的更有效的分配。这在密集填充的区域内在峰值使用小时期间特别有用,在这样的情况下,具有不同使用上下文的大量客户端设备竞争有限的下行链路无线电资源。
示例系统
图5说明了可以执行本文描述的数字内容的上下文感知流式传送的示例系统700。在一些实施例中,系统700可以是媒体系统,尽管系统700并不局限于这一上下文。例如,可以将系统700结合到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话和PDA、电视、智能设备(例如,智能电话、智能平板计算机或者智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备等。在实施例中,系统700包括耦合到显示器720的平台702。平台702可以从诸如内容服务设备730或者内容递送设备740或者其它类似的内容源的内容设备接收内容。包括一个或多个导航特征的导航控制器750可以用于例如与平台702和/或显示器720进行交互。依次进一步详细地说明这些组件中的每一个。
在实施例中,平台702可以包括芯片集705、处理器710、存储器712、存储装置714、图形子系统715、应用716和/或无线电设备718的任意组合。芯片集705可以在处理器710、存储器712、存储装置714、图形子系统715应用716和/或无线电设备718之间提供相互通信。例如,芯片集705可以包含能够提供与存储装置714的相互通信的存储适配器(未说明)。处理器710可以被实现为复杂指令集计算机(CISC)或者精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核、或者任何其它微处理器或者中央处理单元(CPU)。在实施例中,处理器710可以包括双核处理器、双核移动处理器等等。存储器712可以被实现为易失性存储器设备,例如但不局限于RAM、动态RAM(DRAM)、或者静态RAM(SRAM)设备。存储装置714可以被实现为非易失性存储设备,诸如但不局限于磁盘驱动、光盘驱动、磁带驱动、内部存储设备、附接存储设备、闪存、电池备份的同步DRAM(SDRAM)和/或网络可存取的存储设备。在实施例中,存储装置714可以例如包括如下技术:当包含多个硬盘驱动时,增加对于有价值的数字媒体的存储性能增强保护。
图形子系统715可以执行诸如静止图像或者视频的图像的处理用于显示。图形子系统715可以例如是GPU或者视觉处理单元(VPU)。模拟或者数字接口可以用于将图形子系统715与显示器720通信地耦合。例如,接口可以是任何高清多媒体接口(HDMI)、显示器端口、无线HDMI和/或使用无线高清兼容技术的任何其它适当的接口。图形子系统715能够被集成到处理器710或者芯片集705中。图形子系统715可以是通信地耦合到芯片集705的独立的卡。本文描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/或视频功能可以被集成在芯片集中。替代地,可以使用分离的图形和/或视频处理器。作为又一实施例,图形和/或视频功能可以由包括多核处理器的通用处理器实现。在进一步的实施例中,该功能可以在消费类电子设备中实现。
无线电设备718可以包括能够使用各种适当的无线通信技术来传输并接收信号的一个或多个无线电设备。这样的技术可以涉及跨一个或多个无线网络进行通信。示例性无线网络包括但不局限于无线局域网、无线个人域网络、无线城域网、蜂窝网络和卫星网络。在跨这样的网络的通信中,无线电设备718可以根据任何版本的一个或多个适用的标准进行操作。
在实施例中,显示器720可以包括任意电视类型的监视器或者显示器。显示器702可以例如包括计算机显示屏、触摸屏显示器、视频监控器、类似电视的设备和/或电视。显示器720可以是数字和/或模拟的。在实施例中,显示器720可以是全息显示器。并且,显示器720可以是可以接收视觉投影的透明或者不透明表面。这样的投影可以传送各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用716的控制下,平台702可以在显示器720上显示用户界面722。
在实施例中,内容服务设备730可以由任何国内、国际和/或独立的服务托管,并且因而例如经由互联网对于平台702可访问。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760来将媒体信息向/从网络760进行传送(例如,发送和/或接收)。内容递送设备740还可以耦合到平台702和/或显示器720。在实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、互联网使能的设备、或者能够输送数字信息和/或内容的电器、以及能够经由网络760或者直接地在内容提供商与平台702和/或显示器720之间单向或者双向地传送内容的任何其它类似的设备。应该理解的是,内容可以经由网络760向/从系统700中的任意一个组件和内容提供商以单向和/或双向的方式进行传送。内容的示例可以包括任意媒体信息,例如包括视频、音乐、医疗和游戏信息等等。内容服务设备730接收诸如有线电视节目的内容,该有线电视节目包括媒体信息、数字信息和/或其它内容。内容提供商的示例可以包括任何有线或者卫星电视、或者无线电设备、或者互联网内容提供商。所提供的示例并不意在限制所公开的实施例。
在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征可以用于例如与用户界面722进行交互。在实施例中,导航控制器750可以是指向设备,该指向设备可以是允许用户向计算机输入空间(例如,连续和多维)数据的计算机硬件组件(具体而言为人机界面设备)。诸如图形用户界面和电视以及监控器的许多系统允许用户使用物理手势控制并提供数据给计算机或者电视。控制器750的导航特征的移动可以通过指针、光标、聚焦环、或者在显示器上显示的其它视觉指示器的移动而在显示器(例如显示器720)上产生回响。例如,在软件应用716的控制下,位于导航控制器750上的导航功能可以例如被映射到在用户界面722上显示的虚拟导航功能。在实施例中,控制器750可能不是分离的组件,而是被集成到平台702和/或显示器720中。然而,实施例不局限于在本文示出或者说明的要素或者上下文。
在实施例中,为了清楚而未说明的驱动器可以包括例如当启动时在初始引导时使用户能够使用触摸按钮来立即打开并且关闭类似电视的平台702的技术。当平台被关闭时,程序逻辑可以允许平台702将内容流传送到媒体适配器或者其它内容服务设备730或者内容递送设备740。此外,芯片集705可以例如包括用于5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围组件互连(PCI)Express图形卡。
在各种实施例中,可以集成系统700中示出的任意一个或多个组件。例如,可以将平台702和内容服务设备730集成,或者可以将平台702和内容递送设备740集成,或者可以将平台702、内容服务设备730和内容递送设备740集成。在各种实施例中,平台702和显示器720可以是集成单元。例如,可以将显示器720和内容服务设备730集成,或者可以将显示器和内容递送设备740集成。这些示例并不意在限制所公开的实施例。
在各种实施例中,系统700可以被实现为无线系统、有线系统、或者两者的组合。当被实现为无线系统时,系统700可以包括适于通过无线共享介质上进行通信的组件和接口,该无线共享介质例如是一个或多个天线708、发射机、接收机、收发机、放大器、滤波器、控制逻辑等等。无线共享介质的示例可以包括无线频谱的部分,例如无线电频谱等等。当被实现为有线系统时,系统700可以包括适于通过有线通信介质进行通信的组件和接口,该有线通信介质例如是I/O适配器、将I/O适配器与相对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可以包括布线、线缆、金属导线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台702可以建立一个或多个逻辑或者物理信道来传送信息。信息可以包括媒体信息和控制信息。媒体信息可以指代代表意在用于用户的内容的任意数据。内容的示例可以例如包括来自语音会话、视频会议、流式视频、电子邮件(email)消息、语音信箱消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音会话的数据可以例如是语音信息、静默时段、背景噪声、舒适噪声、音调等等。控制信息可以指代代表意在用于自动化系统的命令、指令或者控制字的任意数据。例如,控制信息可以用于以预定的方式经过系统路由媒体信息,或者指示节点处理媒体信息。然而,实施例不局限于在图7中示出或者描述的要素或者上下文。
如上所述,系统700可以被体现在变化的物理风格或者形状因子中。图8说明了其中可以体现系统700的小形状因子设备800的实施例。例如,在实施例中,设备800可以被实现为具有无线能力的移动计算设备。移动计算设备可以例如指代具有处理系统和移动电源或者功率源的任意设备,该移动电源或者功率源例如是一个或多个电池。如在本文描述的,移动计算设备的示例可以包括PC、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持型计算机、掌上计算机、PDA、蜂窝电话、组合蜂窝电话和PDA、电视、智能设备(例如智能电话、智能平板计算机或者智能电视)、MID、消息传送设备、数据通信设备等等。移动计算设备的示例还可以包括被布置为由人穿戴的计算机,例如腕上计算机、指上计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋式计算机、衣服计算机、以及其它可穿戴计算机。在实施例中,例如,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能手机。尽管可以使用被通过示例的方式实现为智能手机的移动计算机设备来实现一些实施例,但是可以理解的是,也可以使用其它无线移动计算设备来实现其它实施例。实施例不局限于这一上下文。
如图8所示,设备800可以包括外壳802、显示器804、I/O设备806和天线808。设备800还可以包括导航功能812。显示器804可以包括用于显示适合于移动计算设备的信息的任何适当的显示单元,例如用户界面810。I/O设备806可以包括用于向移动计算设备输入信息的任何适当的I/O设备。用于I/O设备806的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等等。信息还可以通过麦克风输入到设备800中。这样的信息可以由语音识别设备或者服务进行数字化。实施例不局限于这一上下文。
各种实施例可以使用硬件元素、软件元素、或者两者的组合来实现。硬件元素的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、ASIC、可编程逻辑器件、数字信号处理器、FPGA、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子程序、函数、方法、过程、软件接口、应用程序接口、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或者其任意组合。确定是使用硬件元素和/或软件元素来实现实施例可以根据任意数量的要素变化,例如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其它设计或者性能约束。
一些实施例可能使用表述“耦合”和“连接”及其衍生词进行描述。这些术语并不意在作为彼此的同义词。例如,一些实施例可能使用术语“连接”和/或“耦合”进行描述,以指示两个或更多的要素与彼此直接物理或者电学接触。然而,术语“耦合”还可以意味着两个或更多的要素彼此没有直接接触,但是仍然彼此协作或交互。
一些实施例可以例如使用可以存储指令或者指令集的机器可读介质或者制品实现,如果由机器执行,该指令或者指令集可以使机器执行根据实施例的方法和/或操作。这样的机器可以例如包括任何适当的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理等等,并且可以使用硬件和/或软件的任何适当组合实现。机器可读介质或者制品可以例如包括任何适当类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元、例如存储器、可移除或者不可移除介质、可擦除或者不可擦除介质、可写入或者可重写介质、数字或者模拟介质、硬盘、软盘、压缩盘只读存储器(CDROM)、压缩盘可记录(CD-R)存储器、压缩盘可重写(CR-RW)存储器、光盘、磁介质、磁光介质、可移除存储卡或者盘、各种类型的数字通用盘(DVD)、带、磁带等等。指令可以包括使用任何适当的高级、低级、面向对象、可视、编译和/或解释的编程语言实现的任何适当类型的代码,例如是源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密代码等等。
除非以其它方式具体表明,可以理解的是,诸如“处理”、“计算”、“运算”、“确定”等等的术语指代计算机或者计算系统、或者类似的电子计算设备的动作和/或处理,这样的电子计算设备将被表示为位于计算机系统的寄存器和/或存储器单元内的物理量(例如,电子的)的数据操控和/或变换为位于计算机系统的寄存器、存储器单元、或者其它这样的信息存储传输或者显示内的被类似地表现为物理量的其它数据。实施例不局限于这一上下文。
本文阐述了大量具体细节来提供对实施例的全面理解。然而,本领域的普通技术人员要理解的是,可以在没有这些具体细节的情况下来实践实施例。在其它实例中,没有详细描述公知的操作、组件和电路,以便不模糊实施例。可以理解的是,本文公开的特定构造和功能细节可以是代表性的,并且不一定限制实施例的范围。此外,尽管以针对结构特征和/或方法行为的特定语言描述了主题,但是要理解的是,所附权利要求中限定的该主题不一定局限于本文描述的特定特征或者动作。相反,本文描述的特定特征和动作被公开作为实现权利要求的示例形式。
进一步的示例实施例
下面的示例涉及进一步的实施例,根据此能够想到大量的排列和配置。
示例1是一种用于将数字内容流式传送到客户端设备的方法。该方法包括:由中间服务器从客户端设备接收与由媒体服务器托管的数字内容相对应的第一HTTP GET请求;与所述客户端设备的使用上下文相对应的期望的传输方法;以及包括多个可用传输方法的列表。该方法进一步包括:从所述列表选择所述多个可用传输方法中的一个,所述选择基于所述期望的传输方法做出。该方法进一步包括:将第二HTTP GET请求发送到所述媒体服务器,所述第二HTTP GET请求包括与所述多个可用传输方法中的选定一个相对应的网络地址。该方法进一步包括:从所述媒体服务器接收所述数字内容,所述数字内容是响应于所述第二HTTP GET请求而被传输的。该方法进一步包括:将所接收的数字内容转发到所述客户端设备。
示例2包括示例1的主题,其中,所述中间服务器是上下文自适应的通过HTTP的动态自适应流式传送(DASH)服务器。
示例3包括示例1的主题,其中,所述期望的传输方法与对于在媒体服务器和客户端设备之间的网络连接相关联的带宽容量减小的带宽相对应。
示例4包括示例1的主题,其中,将所接收的数字内容转发到所述客户端设备包括修改所接收的数字内容的转码。
示例5是一种用于在客户端设备处接收内容的方法。所述方法包括:检测客户端设备的使用上下文,所述使用上下文以上下文数据为特征。该方法进一步包括:将第一HTTP GET请求发送到媒体服务器,所述HTTPGET请求识别寻求的内容。该方法进一步包括:从所述媒体服务器接收列表,所述列表包括所述寻求的内容相关联的多个可用传输方法。该方法进一步包括:从所述列表中选择所述多个可用传输方法中的一个,所述选择基于所述上下文数据做出。该方法进一步包括:将第二HTTP GET请求发送到所述媒体服务器,所述第二HTTP GET请求包括与所述多个可用传输方法中的选定一个相对应的网络地址。该方法进一步包括:从所述媒体服务器接收所述寻求的内容,所述寻求的内容是响应于所述第二HTTP GET请求而进行传输的。
示例6包括示例5的主题,其中,所述选择与相对于与在媒体服务器和客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
示例7包括示例5的主题,其中,检测所述客户端设备的所述使用上下文包括从环境传感器收集数据,所述环境传感器选自下列的组:该组由环境光传感器、麦克风和加速度计构成。
示例8包括示例5的主题,进一步包括在修改所接收的寻求的内容的转码之后,将所述寻求的内容转发到所述客户端设备。
示例9是一种通过网络对内容进行流式传送的方法。该方法包括:从客户端设备接收上下文数据,所述上下文数据以客户端设备的使用上下文为特征。该方法进一步包括:将第一HTTP GET请求从客户端设备传输到媒体服务器,所述第一HTTP GET请求识别寻求的内容。该方法进一步包括:传输包括与所述寻求的内容相关联的多个可用传输方法的列表,所述列表从所述媒体服务器传递到所述客户端设备。该方法进一步包括:将第二HTTP GET请求从所述客户端设备传输到所述媒体服务器。该方法进一步包括:响应于所述第二HTTP GET请求,从所述媒体服务器接收所述寻求的内容,所述寻求的内容根据包括在所述列表中的多个可用传输方法中的选定一个来传输。该方法进一步包括:根据基于所述上下文数据的修改的传输方法,将所述寻求的内容传输到所述客户端设备。
示例10包括示例9的主题,其中,边缘路由器用于从所述媒体服务器接收所述寻求的内容,并且根据修改的传输方法来将所述寻求的内容传输到所述客户端设备。
示例11包括示例9的主题,其中,选定的传输方法与相对于与在媒体服务器和客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
示例12包括示例1、5、或者9的主题,其中,所述使用上下文选自系列的组:所述组由于所述客户端设备相关联的电池电量、与所述客户端设备相关联的显示分辨率、以及与所述客户端设备相关联的处理器容量构成。
示例13包括示例1、5、或者9的主题,其中,所述使用上下文取决于与所述客户端设备的用户相关联的用户配置文件。
示例14包括示例1、5、或者9的主题,其中,所述可用传输方法的列表以媒体呈现描述(MPD)文件的形式来提供。
示例15包括示例1、5、或者9的主题,其中,所述列表包括与所述多个可用传输方法中的每一个相对应的网络地址。
示例16是一种具有编码在其上的指令的非暂态计算机可读介质,当由一个或多个处理器执行时,所述指令使能执行上下文感知内容流式传送处理。该处理包括:由中间服务器从客户端设备接收:与由媒体服务器托管的数字内容相对应的第一HTTP GET请求;与所述客户端设备的使用上下文相对应的期望的传输方法;以及包括多个可用传输方法的列表。该处理进一步包括:从所述列表选择所述多个可用传输方法中的一个,所述选择基于所述期望的传输方法做出。该处理进一步包括:将第二HTTP GET请求发送到所述媒体服务器,所述第二HTTP GET请求包括与所述多个可用传输方法中的选定一个相对应的网络地址。该处理进一步包括:从所述媒体服务器接收所述数字内容,所述数字内容是响应于所述第二HTTP GET请求而进行传输的。该处理进一步包括:将所接收的数字内容转发到所述客户端设备。
示例17包括示例16的主题,其中,将所接收的数字内容转发到所述客户端设备包括修改所接收的数字内容的转码。
示例18包括示例16的主题,其中,所述中间服务器是上下文自适应的通过HTTP的动态自适应流式传送(DASH)服务器。
示例19包括示例16的主题,其中,所述期望的传输方法与相对于与在媒体服务器和客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
示例20是一种具有编码在其上的指令的非暂态计算机可读介质,当由一个或多个处理器执行时,所述指令使能执行上下文感知内容流式传送处理。该处理包括:检测客户端设备的使用上下文,所述使用上下文以上下文数据为特征。该处理进一步包括:将第一HTTP GET请求发送到媒体服务器,所述HTTP GET请求识别寻求的内容。该处理进一步包括:从所述媒体服务器接收列表,所述列表包括与寻求的内容相关联的多个可用传输方法。该处理进一步包括:从所述列表选择所述多个可用传输方法中的一个,所述选择基于所述上下文数据做出。该处理进一步包括:将第二HTTPGET请求发送到所述媒体服务器,所述第二HTTP GET请求包括与所述多个可用传输方法中的选定一个相对应的网络地址。该处理进一步包括:从所述媒体服务器接收所述寻求的内容,所述寻求的内容是响应于所述第二HTTP GET请求而进行传输的。
示例21包括示例20的主题,其中,所述选择与相对于与在媒体服务器和客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
示例22包括示例20的主题,其中,检测所述客户端设备的所述使用上下文包括从环境传感器收集数据,所述环境传感器是从由环境光传感器、麦克风和加速度计构成的组中选择的。
示例23包括示例20的主题,进一步包括在修改所接收的寻求的内容的转码之后,将所述寻求的内容转发到所述客户端设备。
示例24是一种具有编码在其上的指令的非暂态计算机可读介质,当由一个或多个处理器执行时,所述指令使能执行上下文感知的内容传输处理。该处理包括:从客户端设备接收上下文数据,所述上下文数据以客户端设备的使用上下文为特征。该处理进一步包括:将第一HTTP GET请求从客户端设备传输到媒体服务器,所述第一HTTP GET请求识别寻求的内容。该处理进一步包括:传输包括与所述寻求的内容相关联的多个可用传输方法的列表,所述列表被从所述媒体服务器传送到所述客户端设备。该处理进一步包括:将第二HTTP GET请求从所述客户端设备传送到所述媒体服务器。该处理进一步包括:响应于所述第二HTTP GET请求,从所述媒体服务器接收所述寻求的内容,所述寻求的内容根据包括在所述列表中的多个可用传输方法中的选定一个来传输。该处理进一步包括:根据基于所述上下文数据的修改的传输方法,将所述寻求的内容传输到所述客户端设备。
示例25包括示例24的主题,其中,边缘路由器用于从所述媒体服务器接收所述寻求的内容,并且根据修改的传输方法将所述寻求的内容传输到所述客户端设备。
示例26包括示例24的主题,其中,选定的传输方法与相对于与在媒体服务器和客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
示例27包括示例16、20、或者24的主题,其中,所述使用上下文选择下列的组:所述组由与所述客户端设备相关联的电池电量、与所述客户端设备相关联的显示分辨率、以及与所述客户端设备相关联的处理器容量构成。
示例28包括示例16、20、或者24的主题,其中,所述使用上下文取决于与所述客户端设备的用户相关联的用户配置文件。
示例29包括示例16、20、或者24的主题,其中,所述可用传输方法的列表以媒体呈现描述(MPD)文件的形式提供。
示例30包括示例16、20、或者24的主题,其中,所述列表包括与所述多个可用传输方法中的每一个相对应的网络地址。
示例31是一种用于对数字内容进行上下文感知流式传送的系统。该系统包括:上下文感测应用,被配置为检测移动计算设备的使用上下文,并且生成与锁检测的使用上下文相对应的上下文数据。该系统进一步包括:上下文自适应媒体服务器,被配置为:(a)接收所生成的上下文数据以及包括与数字内容相关联的多个可用传输方法的列表;并且(b)生成与所述多个可用传输方法中的选定一个相对应的HTTP GET请求,其中,基于所生成的上下文数据来选择所述选定的传输方法。该系统进一步包括:转码模块,被配置为接收已经响应于所述HTTP GET请求而被发送的所述数字内容,并且根据基于所生成的上下文数据选择的修改的传输方法来重新传输所述数字内容。
示例32包括示例31的主题,其中,选定的传输方法与相对于与在所述移动计算设备和所述上下文自适应媒体服务器之间的网络连接相关联的带宽容量的减小的带宽相对应。
示例33包括示例31的主题,其中,所述使用上下文选自下列的组:所述组由与所述移动计算设备相关联的电池电量、与所述移动计算设备相关联的显示分辨率、以及与所述移动计算设备相关联的处理器容量构成。
示例34包括示例31的主题,其中,所述使用上下文依赖于与所述移动计算设备的用户相关联的用户配置文件。
示例35包括示例31的主题,其中,所述可用传输方法的列表以媒体呈现描述(MPD)文件的形式提供。
示例36包括示例31的主题,其中,所述列表包括与所述多个可用传输方法中的每一个相对应的网络地址。
出于说明和描述的目的呈现了示例实施例的前面描述。并不意在是排他性的,或者将本公开局限于所描述的精确形式。鉴于本公开,可能存在许多修改和变化。期望的是,本公开的范围不局限于这一具体实施方式,而是由所附的权利要求进行限制。要求以本申请为优先权的未来提交的申请可以以不同的方式请求保护公开的主题,并且可以通常包括本文各种公开或以其它方式展示的一个或多个要素的任意集合。

Claims (22)

1.一种用于将数字内容流式传送到客户端设备的方法,所述方法包括:
由中间服务器从客户端设备接收:与由媒体服务器托管的数字内容相对应的第一HTTP GET请求;与所述客户端设备的使用上下文相对应的期望的传输方法;以及包括多个可用传输方法的列表;
做出以下选择:从所述列表中选择所述多个可用传输方法中的一个,所述选择基于所述期望的传输方法做出;
将第二HTTP GET请求发送到所述媒体服务器,所述第二HTTP GET请求包括与所述多个可用传输方法中的选定一个相对应的网络地址;
从所述媒体服务器接收所述数字内容,所述数字内容是响应于所述第二HTTP GET请求而进行传输的;以及
将接收到的数字内容转发到所述客户端设备。
2.如权利要求1所述的方法,其中,所述中间服务器是上下文自适应的通过HTTP的动态自适应流式传送(DASH)服务器。
3.如权利要求1所述的方法,其中,所述期望的传输方法与相对于与在所述媒体服务器和所述客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
4.如权利要求1所述的方法,其中,将所述接收到的数字内容转发到所述客户端设备包括修改所述接收到的数字内容的转码。
5.一种用于在客户端设备处接收内容的方法,所述方法包括:
检测客户端设备的使用上下文,所述使用上下文以上下文数据为特征;
将第一HTTP GET请求发送到媒体服务器,所述HTTP GET请求识别寻求的内容;
从所述媒体服务器接收列表,所述列表包括与所述寻求的内容相关联的多个可用传输方法;
做出以下选择:从所述列表选择所述多个可用传输方法中的一个,所述选择基于所述上下文数据做出;
将第二HTTP GET请求发送到所述媒体服务器,所述第二HTTP GET请求包括与所述多个可用传输方法中的选定一个相对应的网络地址;以及
从所述媒体服务器接收所述寻求的内容,所述寻求的内容是响应于所述第二HTTP GET请求而进行传输的。
6.如权利要求5所述的方法,其中,所述选择与相对于与在所述媒体服务器和所述客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
7.如权利要求5所述的方法,其中,检测所述客户端设备的所述使用上下文包括从环境传感器收集数据,所述环境传感器是从由环境光传感器、麦克风和加速度计构成的组中进行选择的。
8.如权利要求5所述的方法,进一步包括在修改接收到的寻求的内容的转码之后,将所述寻求的内容转发到所述客户端设备。
9.一种通过网络对内容进行流式传送的方法,所述方法包括:
从客户端设备接收上下文数据,所述上下文数据以客户端设备的使用上下文为特征;
将第一HTTP GET请求从所述客户端设备传输到媒体服务器,所述第一HTTP GET请求识别寻求的内容;
传输包括与所述寻求的内容相关联的多个可用传输方法的列表,所述列表从所述媒体服务器传递到所述客户端设备;
将第二HTTP GET请求从所述客户端设备传输到所述媒体服务器;
响应于所述第二HTTP GET请求,从所述媒体服务器接收所述寻求的内容,所述寻求的内容根据包括在所述列表中的所述多个可用传输方法中的选定一个进行传输;以及
根据基于所述上下文数据的修改的传输方法,将所述寻求的内容传输到所述客户端设备。
10.如权利要求9所述的方法,其中,边缘路由器用于从所述媒体服务器接收所述寻求的内容,并且根据所述修改的传输方法将所述寻求的内容传输到所述客户端设备。
11.如权利要求9所述的方法,其中,所述选定的传输方法与相对于与在所述媒体服务器和所述客户端设备之间的网络连接相关联的带宽容量的减小的带宽相对应。
12.如权利要求1、5或者9所述的方法,其中,所述使用上下文从由与所述客户端设备相关联的电池电量、与所述客户端设备相关联的显示分辨率、以及与所述客户端设备相关联的处理器容量构成的组中进行选择。
13.如权利要求1、5或者9所述的方法,其中,所述使用上下文取决于与所述客户端设备的用户相关联的用户配置文件。
14.如权利要求1、5或者9所述的方法,其中,所述可用传输方法的列表以媒体呈现描述(MPD)文件的形式来提供。
15.如权利要求1、5或者9所述的方法,其中,所述列表包括与所述多个可用传输方法中的每一个相对应的网络地址。
16.一种包括代码的机器可读介质,当由一个或多个处理器执行时,所述代码使机器执行如权利要求1、5或者9中的任意一项所述的方法。
17.一种用于数字内容的上下文感知流式传送的系统,所述系统包括:
上下文感测应用,被配置为检测移动计算设备的使用上下文,并且生成与检测到的使用上下文相对应的上下文数据;
上下文自适应媒体服务器,被配置为:(a)接收生成的上下文数据以及包括与数字内容相关联的多个可用传输方法的列表;并且(b)生成与所述多个可用传输方法中的选定一个相对应的HTTP GET请求,其中,基于所述生成的上下文数据来选择选定的传输方法;以及
转码模块,被配置为接收已经响应于所述HTTP GET请求而发送的所述数字内容,并且根据基于所述生成的上下文数据选择的修改的传输方法来重新传输所述数字内容。
18.如权利要求17所述的系统,其中,所述选定的传输方法与相对于与在所述移动计算设备和所述上下文自适应媒体服务器之间的网络连接相关联的带宽容量的减小的带宽相对应。
19.如权利要求17所述的系统,其中,所述使用上下文从由与所述移动计算设备相关联的电池电量、与所述移动计算设备相关联的显示分辨率、以及与所述移动计算设备相关联的处理器容量构成的组中进行选择。
20.如权利要求17所述的系统,其中,所述使用上下文取决于与所述移动计算设备的用户相关联的用户配置文件。
21.如权利要求17所述的系统,其中,所述可用传输方法的列表以媒体呈现描述(MPD)文件的形式来提供。
22.如权利要求17所述的系统,其中,所述列表包括与所述多个可用传输方法中的每一个相对应的网络地址。
CN201510086912.XA 2014-03-25 2015-02-17 用于数字内容的流式传送的方法、介质、系统和装置 Active CN104954354B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/224,514 2014-03-25
US14/224,514 US10165028B2 (en) 2014-03-25 2014-03-25 Context-aware streaming of digital content

Publications (2)

Publication Number Publication Date
CN104954354A true CN104954354A (zh) 2015-09-30
CN104954354B CN104954354B (zh) 2020-03-31

Family

ID=52484343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510086912.XA Active CN104954354B (zh) 2014-03-25 2015-02-17 用于数字内容的流式传送的方法、介质、系统和装置

Country Status (4)

Country Link
US (1) US10165028B2 (zh)
EP (1) EP2924999B1 (zh)
CN (1) CN104954354B (zh)
TW (1) TWI632794B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108282449A (zh) * 2017-01-06 2018-07-13 华为技术有限公司 一种应用于虚拟现实技术的流媒体的传输方法和客户端
CN109076083A (zh) * 2016-04-29 2018-12-21 微软技术许可有限责任公司 促进数字个人助理之间的交互
CN109314716A (zh) * 2016-07-02 2019-02-05 英特尔公司 用于物联网的认知边缘处理

Families Citing this family (29)

* Cited by examiner, † Cited by third party
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
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
US9774687B2 (en) * 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US10460239B2 (en) * 2014-09-16 2019-10-29 International Business Machines Corporation Generation of inferred questions for a question answering system
US10454865B2 (en) * 2014-12-19 2019-10-22 International Business Machines Corporation Social network activity modes
US20160261673A1 (en) * 2015-03-05 2016-09-08 International Business Machines Corporation Evaluation of composition rules used for generation of digital content
US9953142B2 (en) 2015-07-29 2018-04-24 Adobe Systems Incorporated Digital rights management and behavioral traits
US9928374B2 (en) 2015-12-18 2018-03-27 Adobe Systems Incorporated Digital rights management using geographic and temporal traits
JP2017157903A (ja) * 2016-02-29 2017-09-07 富士ゼロックス株式会社 情報処理装置
US10599817B2 (en) 2016-03-08 2020-03-24 Adobe Inc. Portion-level digital rights management in digital content
US10575058B2 (en) * 2016-03-16 2020-02-25 Mrityunjay Patiĺ Method and a system for enabling an user to consume a video or audio content understandable with respect to a preferred language
US10346594B2 (en) 2016-03-24 2019-07-09 Adobe Inc. Digital rights management leveraging motion or environmental traits
US10460082B2 (en) * 2016-04-04 2019-10-29 Adobe Inc. Digital rights management progressive control and background processing
WO2017194134A1 (en) * 2016-05-12 2017-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Control of media transcoding during a media session
US10074155B2 (en) 2016-06-10 2018-09-11 Apple Inc. Dynamic selection of image rendering formats
US10958695B2 (en) * 2016-06-21 2021-03-23 Google Llc Methods, systems, and media for recommending content based on network conditions
EP3661219A4 (en) * 2017-09-22 2020-07-15 NTT Docomo, Inc. COMMUNICATION QUALITY ADJUSTMENT SYSTEM
EP3753254A1 (en) * 2018-02-15 2020-12-23 Vitec, Inc. Distribution and playback of media content
JPWO2019167634A1 (ja) * 2018-02-28 2021-03-11 ソニー株式会社 コンテンツ配信制御装置、コンテンツ配信制御方法、プログラム、およびコンテンツ配信システム
KR20200127997A (ko) * 2018-02-28 2020-11-11 소니 주식회사 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템
US11595456B2 (en) * 2018-05-31 2023-02-28 Microsoft Technology Licensing, Llc Modifying content streaming based on device parameters
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
US10921595B2 (en) 2018-06-29 2021-02-16 International Business Machines Corporation Contextual adjustment to augmented reality glasses
WO2020072038A1 (en) * 2018-10-02 2020-04-09 Hewlett-Packard Development Company, L.P. Computer resource utilization reduction devices
US11128682B2 (en) * 2018-12-03 2021-09-21 At&T Intellectual Property I, L.P. Video streaming at mobile edge
US11134039B1 (en) * 2019-10-18 2021-09-28 Twitter, Inc. Dynamically controlling messaging platform client-side and server-side behavior
US11159628B1 (en) * 2020-03-30 2021-10-26 Amazon Technologies, Inc. Edge intelligence-based resource modification for transmitting data streams to a provider network
US20230281778A1 (en) * 2020-07-24 2023-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Screen-sharing confirmation for online meetings
US11893699B2 (en) * 2022-03-15 2024-02-06 Zeality Inc Method and processing unit for providing content in a bandwidth constrained environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103081504A (zh) * 2010-09-06 2013-05-01 韩国电子通信研究院 提供串流内容的方法及装置
US20130195204A1 (en) * 2012-01-19 2013-08-01 Vid Scale Inc. Methods and Systems for Video Delivery Supporting Adaptation to Viewing Conditions
CN103596065A (zh) * 2012-08-03 2014-02-19 英特尔公司 装置定向能力交换信令和多媒体内容的服务器适应性修改

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714778B2 (en) 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
US8543925B2 (en) 2007-05-25 2013-09-24 Microsoft Corporation Contextually aware client application
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
WO2012134530A1 (en) 2011-04-01 2012-10-04 Intel Corporation Cross-layer optimized adaptive http streaming
KR101863965B1 (ko) * 2011-06-14 2018-06-08 삼성전자주식회사 적응적 멀티미디어 서비스를 제공하는 장치 및 방법
US9160779B2 (en) 2011-06-30 2015-10-13 Qualcomm Incorporated Dynamic adaptive streaming proxy for unicast or broadcast/multicast services
JP2014532225A (ja) 2011-09-30 2014-12-04 インテル コーポレイション コンピューティング装置におけるコンテキストアウェア・モデル・ベースの画像合成及びレンダリングを容易にする機構
US9712887B2 (en) * 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
KR101716071B1 (ko) * 2013-02-27 2017-03-13 애플 인크. 적응적 스트리밍 기법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103081504A (zh) * 2010-09-06 2013-05-01 韩国电子通信研究院 提供串流内容的方法及装置
US20130195204A1 (en) * 2012-01-19 2013-08-01 Vid Scale Inc. Methods and Systems for Video Delivery Supporting Adaptation to Viewing Conditions
CN103596065A (zh) * 2012-08-03 2014-02-19 英特尔公司 装置定向能力交换信令和多媒体内容的服务器适应性修改

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076083A (zh) * 2016-04-29 2018-12-21 微软技术许可有限责任公司 促进数字个人助理之间的交互
CN109314716A (zh) * 2016-07-02 2019-02-05 英特尔公司 用于物联网的认知边缘处理
CN108282449A (zh) * 2017-01-06 2018-07-13 华为技术有限公司 一种应用于虚拟现实技术的流媒体的传输方法和客户端
CN108282449B (zh) * 2017-01-06 2020-10-09 华为技术有限公司 一种应用于虚拟现实技术的流媒体的传输方法和客户端
US11095936B2 (en) 2017-01-06 2021-08-17 Huawei Technologies Co., Ltd. Streaming media transmission method and client applied to virtual reality technology

Also Published As

Publication number Publication date
TWI632794B (zh) 2018-08-11
US10165028B2 (en) 2018-12-25
EP2924999B1 (en) 2021-11-17
US20150281299A1 (en) 2015-10-01
TW201601507A (zh) 2016-01-01
CN104954354B (zh) 2020-03-31
EP2924999A1 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
CN104954354A (zh) 数字内容的上下文感知流式传送
US10650816B2 (en) Performing tasks and returning audio and visual feedbacks based on voice command
US20220159315A1 (en) Method, apparatus and system for configuring live stream task goal
US20230179818A1 (en) Intelligent multi-device content distribution based on internet protocol addressing
CN113157906A (zh) 推荐信息展示方法、装置、设备及存储介质
KR20140108494A (ko) 멀티미디어 커머스 서비스를 위한 리모트 디바이스 및 이의 제어 방법
KR101596505B1 (ko) 멀티미디어 시스템의 사용자 인터페이스 장치 및 방법
CN109845283A (zh) 定制在与用户装置配对的替代回放装置上回放的媒体项目
CN109448709A (zh) 一种终端投屏的控制方法和终端
CN112163086B (zh) 多意图的识别方法、显示设备
WO2022165664A1 (zh) 直播界面的显示方法、装置、终端、服务器及存储介质
CN103281580A (zh) 分离用户界面的电视机遥控方法及其系统
US10638135B1 (en) Confidence-based encoding
CN103168466A (zh) 虚拟视频俘获装置
CN112104905A (zh) 服务器、显示设备及数据传输方法
KR102164686B1 (ko) 타일 영상의 영상 처리 방법 및 장치
CN112506859B (zh) 一种维护硬盘数据的方法及显示设备
CN103685491B (zh) 一种应用服务提供方法、系统及相关设备
CN111782877A (zh) 服务器、显示设备及其视频搜索排序方法
CN110234026A (zh) 使用光学字符识别对机顶盒进行双向控制
CN111950288B (zh) 一种命名实体识别中的实体标注方法及智能设备
CN105100235B (zh) 一种扫地机器人的信息分享方法及服务器
KR20210133229A (ko) 클라우드 스트리밍 서비스에서의 사용자 인터페이스 세션 복구 방법 및 이를 위한 장치
TWI775385B (zh) 網路電視機上盒首頁推薦之系統、方法及電腦可讀媒介
CN112135173B (zh) 一种改善流媒体起播码率的方法及显示设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant