CN107209747A - 多协议媒体流 - Google Patents

多协议媒体流 Download PDF

Info

Publication number
CN107209747A
CN107209747A CN201680006604.4A CN201680006604A CN107209747A CN 107209747 A CN107209747 A CN 107209747A CN 201680006604 A CN201680006604 A CN 201680006604A CN 107209747 A CN107209747 A CN 107209747A
Authority
CN
China
Prior art keywords
media
stream
media stream
interchangeable
inventory
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.)
Pending
Application number
CN201680006604.4A
Other languages
English (en)
Inventor
M.C.霍华德
D.H.梅班
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107209747A publication Critical patent/CN107209747A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • 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
    • 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/764Media network packet handling at the destination 
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

在一个示例中,流媒体播放器可以基于网络条件从多个媒体流中选择至少一个媒体流。通信接口可以在通信网络上接收具有所选择的比特率的所选择的媒体流和具有可替换的比特率的可替换的媒体流,并且被配置为确定通信网络的带宽平均值。自适应流选择器可以部分基于该带宽平均值从所选择的媒体流切换至可替换的媒体流。媒体管道可以将所选择的媒体流渲染为所选择媒体呈现形式,并且将可替换的媒体流渲染为可替换的媒体呈现形式。输出设备可以向用户呈现所选择媒体呈现形式和可替换的媒体呈现形式。

Description

多协议媒体流
优先权信息
本申请要求于2015年01月20日提交的美国临时专利申请序列号62/105,727以及于2016年01月19日提交的美国非临时专利申请序列号15/001,225的优先权,上述申请的内容通过整体引用结合到本文中。
背景技术
媒体流播放器可以从媒体源下载媒体流。媒体流是媒体流播放器可以在媒体流从媒体源下载的同时向用户进行呈现的媒体数据的顺序集合。媒体源可以根据流协议对媒体流格式化。流协议是描绘媒体流的格式以及用于访问媒体流的过程的规则集合。媒体流播放器可以被设计为根据流协议对媒体流进行解码。
发明内容
提供该发明内容而以简化形式对下文在具体实施方式中进一步进行描述的代表性概念的选择进行介绍。该发明内容并非意在标识所请求保护主题的关键特征或必要特征,其也并非意在被用来对所请求保护主题的范围进行限制。
下文所讨论的示例涉及一种能够基于网络条件而从多个媒体流中选择至少一个媒体流的流媒体播放器。通信接口可以在通信网络上接收具有所选择的比特率的所选择的媒体流和具有可替换的比特率的可替换的媒体流,并且被配置为确定通信网络的带宽平均值。自适应流选择器可以部分基于该带宽平均值从所选择的媒体流切换至可替换的媒体流。媒体管道可以将所选择的媒体流渲染为所选择媒体呈现形式,并且将可替换的媒体流渲染为可替换的媒体呈现形式。输出设备可以向用户呈现所选择媒体呈现形式和可替换的媒体呈现形式。
附图说明
为了描述能够获得以上所提到的以及其它优势和特征的方式,给出了更为特定的描述并且其将通过参考在附图中被图示的其具体示例而呈现。所要理解的是,这些附图仅描画了典型的示例,因此并不被认为对其范围有所限制,将通过使用附图利用额外的特性和细节对实施方式进行描述和解释。
图1以框图图示了数据网络的一个示例。
图2以框图图示了计算设备的一个示例。
图3以框图图示了媒体播放器架构的一个示例。
图4以框图图示了抽象清单的一个示例。
图5以框图图示了流媒体缓存的一个示例。
图6以流程图图示了在通信接口中接收媒体流的方法的一个示例。
图7以流程图图示了在清单解析器中处理清单的方法的一个示例。
图8以流程图图示了利用自适应流选择器选择媒体流的方法的一个示例。
图9以流程图图示了利用自适应流选择器进行缓存管理的方法的一个示例。
图10以流程图图示了利用自适应流选择器管理下载的方法的一个示例。
图11以流程图图示了利用媒体部件进行用户控制的方法的一个示例。
图12以流程图图示了呈现媒体呈现形式的方法的一个示例。
具体实施方式
下文对示例进行详细讨论。虽然讨论了具体的实施方式,但是应当理解的是,这样做仅是出于说明的目的。相关领域技术人员将会认识到,可以使用其它组件和配置而并不背离本公开的主题的精神和范围。实施方式可以是机器实施的方法,计算设备,或者是流媒体播放器。
自适应流选择器可以使用具体解析器与根据多种协议所格式化的媒体流进行对接,所述解析器将依据给定协议的清单转换为抽象清单从而与自适应流选择器进行通信。该抽象清单可以允许任何任意的协议和清单格式被插入到该自适应流选择器。该自适应流选择器可以基于该抽象清单自动选择用于下载和流传输的内容。该自适应流选择器随后可以与缓存模块进行对接从而跨任意依据标准的浏览器和平台来处理媒体流。
因此,在一个示例中,流媒体播放器可以播放媒体流集合,而无论用来对该媒体流集合进行格式化的流协议如何。通信接口可以接收描述依据流协议而被格式化的一个或多个媒体流的媒体流集合的清单。该通信接口可以基于流协议来选择清单解析器。处理核心可以使用清单解析器来将该清单从依据该流协议所格式化转换为抽象格式的抽象清单,以允许跨流协议进行选择。该处理核心可以执行自适应流选择器,所述自适应流选择器部分基于该抽象清单选择媒体流集合中的所选择的媒体流。该处理核心可以执行媒体管道以将所选择的媒体流渲染为所选择媒体呈现形式。输出设备可以向用户呈现该所选择媒体呈现形式。
另外,该自适应流选择器可以使用该抽象清单来识别媒体流的比特率。该自适应流选择器可以选择多个媒体流中具有所选择的比特率的所选择的媒体流。该通信接口可以在通信网络上接收该所选择的媒体流。媒体管道可以将所选择的媒体流渲染为所选择媒体呈现形式以呈现给用户。该通信接口可以确定通信网络的带宽平均值。该自适应流选择器可以部分基于该带宽平均值或基于所缓存的媒体量切换至媒体流集合中具有可替换的比特率的可替换的媒体流。该媒体管道可以将该可替换的媒体流渲染为可替换的媒体呈现形式以呈现给用户。
图1以框图图示了媒体数据网络100的一个示例。媒体播放系统是用户设备110,其执行媒体应用112以呈现媒体流中所包含的媒体数据。用户设备110可以将媒体流存储在位于用户设备110上的媒体储存器114上。可替换地,用户设备110可以经由数据网络连接130访问存储在媒体源120上的媒体流。媒体源120可以是单个服务器,或者是可以访问媒体数据集合的分布式服务器集合,诸如服务器机群(server farm)。数据网络连接130可以是互联网连接、广域网连接、局域网连接,或者其它类型的数据网络连接。
媒体应用112可以访问描述依据流协议所格式化的一个或多个媒体流的媒体流集合的流清单。媒体源120可以根据流协议对媒体流集合进行格式化。例如,流协议可以是超文本传输协议(HTTP)直播流(HLS)、基于HTTP的动态自适应流(DASH),或者互联网信息服务(IIS)平滑流。该清单可以根据与媒体流集合相同的流协议进行格式化。媒体应用112可以使用该清单来选择媒体流集合中的媒体流。
图2图示了可以充当流媒体播放器的示例性计算设备200的框图。计算设备200可以对硬件、软件、固件和片上系统技术中的一种或多种进行组合从而实施流媒体播放器。计算设备200可以包括总线210、处理核心220、存储器230、数据储存器240、输入设备250、输出设备260和通信接口270。总线210或者其它组件互联可以允许计算设备200的各组件之间的通信。
处理核心220可以包括解释并执行指令集合的至少一个常规处理器或微处理器。处理核心220可以被配置为执行清单解析器、自适应流选择器、缓存模块、媒体部件、加密模块或媒体管道中的一个或多个。存储器230可以是存储信息和用于由处理核心220执行的指令的随机访问存储器(RAM)或另一种类型的动态数据储存器。存储器230还可以存储在处理核心220执行指令的期间所使用的临时变量或者其它中间信息。存储器230可以被配置为存储流媒体缓存。存储器230可以被配置为识别存储器压力,所述存储器压力描述关于其它应用所使用的存储器的总体百分比的、由流媒体缓存所使用的存储器的缓存百分比。
数据储存器240可以包括常规ROM设备或者存储静态信息和针对处理核心220的指令的另一种类型的静态数据储存器。数据储存器240可以包括任意类型的有形机器可读介质,作为示例,诸如磁性或光学记录介质,诸如数字视频盘及其相对应的驱动器。与信号相反,有形机器可读介质是存储机器可读代码或指令的物理介质。如本文所述的使得指令存储在计算机可读介质上能够与使得指令被传播或传送有所区别,因为传播对指令进行传输,而存储指令则诸如能够利用具有存储于其上的指令的计算机可读介质来进行。因此,除非另外有所提及,否则对具有以该形式或类似形式存储于其上的指令的一种/多种计算机可读介质的引用是指可以在其上储存或保留数据的有形介质。数据储存器240可以存储详细表述一种方法的指令集合,其在被一个或多个处理器执行时使得该一个或多个处理器实行该方法。数据储存器240也可以是用于存储媒体流集合或流清单的数据库或数据库接口。
输入设备250可以包括允许用户将信息输入到计算设备200的一个或多个常规机构,诸如键盘、鼠标、语音辨识设备、麦克风、耳机、触摸屏幕252、触摸板254、手势辨识设备256等。输入设备250可以被配置为从用户接收对媒体流选项的用户选择。
输出设备260可以包括向用户输出信息的一个或多个常规机构,包括显示屏幕262、打印机、一个或多个扬声器264、耳机、振动器,或者介质,诸如存储器或者磁盘或光盘以及相对应的盘驱动器。输出设备260可以被配置为向用户呈现所选择媒体呈现形式或可替换的媒体呈现形式中的至少一个。
通信接口270可以包括使得计算设备200能够与其它设备或网络进行通信的任意类似于收发器的机构。通信接口270可以包括网络接口或收发器接口。通信接口270可以是无线、有线或光学接口。通信接口270可以被配置为接收清单,所述清单利用该清单描述媒体流集合以及该媒体流集合中依据流协议进行格式化的每个媒体流。通信接口270可以被配置为基于流协议来选择清单解析器。通信接口270可以被配置为在通信网络上接收多个媒体流中的一个媒体流,诸如具有所选择的比特率的所选择的媒体流以及具有可替换的比特率的可替换的媒体流。通信接口270可以被配置为确定通信网络的带宽平均值。通信接口270可以被配置为识别通信网络的链路速度。
计算设备200可以响应于处理核心220执行包含在计算机可读介质(作为示例,诸如存储器230、磁盘或光盘)中的指令序列来实行这样的功能。这样的指令可以从另一个计算机可读介质(诸如数据储存器240)或者经由通信接口260从单独的设备被读取到存储器230中。
图3以框图图示了用于媒体应用(诸如媒体应用112)的媒体播放器架构300的一个示例。清单解析器310可以从通信接口接收描述媒体流集合的清单。清单解析器310可以将该清单转换为抽象格式的抽象清单,从而允许跨流协议进行选择。例如,清单解析器310可以将描述所选择的媒体流的所选择的清单从依据流媒体协议转换为列出所选择的比特率的抽象格式的抽象清单。该抽象清单提供了媒体流集合的关键方面的一般(common)描述,而无论用来格式化媒体流集合和流清单的流协议如何。该媒体应用可以针对每种所支持的流协议具有不同的媒体解析器。例如,媒体应用可以具有超文本传输协议直播流解析器312、基于超文本传输协议的动态自适应流解析器314,或者互联网信息服务平滑流解析器316。因此,可替换的协议清单解析器310可以将依据可替换的流协议格式化的可替换的清单转换为具有与来自原始清单解析器310的原始抽象清单相同抽象格式的可替换的抽象清单,所述可替换的流协议描述根据可替换的流协议所格式化的可替换的媒体流集合。
图4以框图图示了抽象清单400的一个示例。抽象清单400可以具有识别与抽象清单400相关联的媒体流集合的流集合标识符(ID)410。抽象清单400可以具有描述媒体流集合的内容的流内容描述符420。抽象清单400可以具有描述媒体流集合中的媒体流中的变体内容的变体流描述符430。例如,变体流描述符430可以描述可替换的相机角度、可替换的屏幕分辨率、可替换的编码、直播流馈送以及点播视频馈送。此外,抽象清单400可以具有描述媒体流集合中的媒体流的语言的语言描述符440。抽象清单400可以具有描述应用于媒体流集合中的媒体流的任意加密的加密描述符450。抽象清单400可以具有描述每时间单位所要处理的媒体流集合中的媒体流的比特数的流比特率460。抽象清单400可以具有标识媒体流集合中的媒体流的媒体分段位置的媒体分段地址470。
返回图3,清单解析器310可以将该抽象清单送至自适应流选择器320。自适应流选择器320可以部分基于该抽象清单选择媒体流集合中的所选择的流。自适应流选择器320可以进一步部分基于所选择的比特率、输出设备的呈现分辨率、存储流媒体缓存的存储器的存储器压力、通信网络的链路速度、通信网络的带宽、播放质量和硬件性能来选择该所选择的媒体流。所选择的比特率是每时间单位所要处理的所选择的媒体流的比特数。呈现分辨率是输出设备的显示分辨率、声音通道或声音质量。存储器压力是关于其它应用所使用的存储器百分比的、由流媒体缓存所使用的存储器的百分比。链路速度是通信网络每时间单位所传的数据量。带宽描述了通信网络的可用空间。播放质量描述了媒体呈现形式的可识别质量,诸如衡量丢帧量。硬件性能描述被流媒体播放器所使用的硬件解码器的类型。
自适应流选择器320可以部分基于抽象清单中的可替换的比特率与通信网络的带宽平均值的比较结果从所选择的媒体流切换至可替换的媒体流。可替换的比特率随后可以作为所选择的比特率。自适应流选择器320可以在最低比特率的媒体流或者中间比特率的媒体流开始,并且随着带宽允许而逐渐切换至更高的比特率。可替换地,媒体应用开发方可以覆盖默认行为并且选择媒体流。另外,媒体应用可以存储历史带宽数据并基于过往结果来选择媒体流。自适应流选择器320可以在识别出所选择的媒体流中的错误时切换至不同媒体流。
自适应流选择器320可以跨流协议预取并缓存流媒体并且将该流媒体递送至缓存模块330。缓存模块330可以使用诸如媒体源扩展之类的流规范。媒体源扩展是用于媒体流的万维网联盟(W3C)规范。缓存模块330可以识别以时间衡量的流媒体缓存所缓存的所选择的媒体流的量。例如,流媒体缓存可能已经存储了五分钟的内容。自适应流选择器320可以基于可替换的媒体流的可替换的比特率或存储器的存储器压力中的至少一个来调节存储器中所存储的流媒体缓存的缓存大小。自适应流选择器320可以基于所选择的媒体流的所选择的比特率、存储器的存储器压力以及媒体流播放器的设备功率水平中的至少一个而针对存储器中所存储的流媒体缓存设置高水印、低水印和紧急水印。自适应流选择器320可以在缓存量达到流媒体缓存的高水印时暂停所选择的媒体流的下载。自适应流选择器320可以在缓存量达到流媒体缓存的低水印时重新开始可替换的媒体流的下载。自适应流选择器320可以响应于缓存量达到流媒体缓存的紧急水印而切换至低比特率媒体流从而避免缓存。
媒体部件340可以呈现与针对用户所设置的媒体流的媒体流选项相关联的流内容描述符和变体流描述符中的至少一个。媒体部件340可以经由输入设备从用户接收对媒体流选项的用户选择。媒体部件340可以处理媒体流选项的用户选择从而影响自适应流选择器320对所选择的媒体流的选择。媒体部件340还可以处理开发方指示从而影响自适应流选择器320对所选择的媒体流的选择。媒体部件可以使用加密模块350(诸如加密媒体扩展模块)对所选择的媒体流进行解密。加密媒体扩展是促成播放数字权限管理加密内容的万维网联盟规范。
媒体管道360可以将所选择的媒体流渲染为媒体呈现形式。媒体管道360可以将媒体呈现形式送至输出设备以便呈现给用户。媒体部件340可以向用户呈现识别所播放媒体呈现形式的流内容描述符。
图5以框图图示了流媒体缓存500的一个示例。流媒体缓存500可以存储在媒体流中所接收的多个媒体分段510以便由媒体管道进行处理。流媒体缓存500可以具有指示流媒体缓存500已经存储了最大缓存量的满标记520。流媒体缓存500可以具有指示流媒体缓存500已经存储了可以暂停媒体流下载的足够缓存量的高水印530。流媒体缓存500可以具有指示流媒体缓存500已经清空了足够的缓存量而使得媒体流下载重新开始的的低水印540。流媒体缓存可以具有指示流媒体缓存已经清空了媒体应用可能处于缓存的危险之中或者暂停向用户呈现媒体从而收集进一步数据的足够缓存量的紧急水印550。自适应流选择器可以切换到低比特率媒体流以迅速填充流媒体缓存500以避免缓存。
图6以流程图图示了在通信接口(诸如通信接口270)中接收媒体流的方法600的一个示例。通信接口可以接收依据流协议所格式化的清单,所述流协议描述了来自媒体源(诸如媒体源120)的依据该流协议所格式化的媒体流集合(框602)。例如,该清单可以是依据流协议所格式化的清单,或者是依据可替换的流协议所格式化的可替换的清单,所述流协议描述依据该流协议所格式化的媒体流集合,所述可替换的流协议描述依据该可替换的流协议所格式化的可替换的媒体流集合。该通信接口可以基于流协议从多个清单解析器中选择一个清单解析器(框604)。该通信接口可以将该清单送至所选择的清单解析器(框606)。该通信接口可以识别通信网络的链路速度(框608)。该通信接口可以将所选择的媒体流的选择发送至媒体源(框610)。该通信接口可以在通信网络上从媒体源接收所选择的媒体流(框612)。该通信接口可以确定通信网络的带宽平均值(框614)。该带宽平均值是通信网络在所设置时间段内的平均可用带宽。该通信接口可以将该带宽平均值报告给自适应流选择器,诸如自适应流选择器320(框616)。如果自适应流选择器选择了可替换的媒体流(框618),则该通信接口可以将具有适当的媒体分段地址的可替换的媒体流选择发送至媒体源(框620)。该通信接口可以从媒体源接收可替换的媒体流(622)。
图7以流程图图示了在清单解析器(诸如清单解析器或可替换的清单解析器)中处理清单的方法700的一个示例。该清单解析器可以接收描述依据流协议所格式化的一个或多个媒体流的媒体流集合的清单(框702)。例如,该清单解析器可以接收描述依据流协议所格式化的一个或多个媒体流的媒体流集合的清单。该可替换的清单解析器可以接收描述依据可替换的流协议所格式化的一个或多个媒体流的可替换的媒体流集合的可替换的清单。该清单解析器可以识别清单中的流内容描述符(框704)。该清单解析器可以识别清单中的变体流描述符(框706)。该清单解析器可以识别清单中的语言描述符(框708)。该清单解析器可以识别清单中的加密描述符(框710)。该清单解析器可以识别清单中的流比特率(框712)。该清单解析器可以识别清单中的媒体分段地址(框714)。该清单解析器可以将清单从依据流协议所格式化转换为抽象格式的抽象清单从而允许跨流协议进行选择(框716)。此外,可替换的清单解析器可以将可替换的清单从依据可替换的流协议所格式化转换为抽象格式的可替换的抽象清单从而允许跨流协议进行选择。该清单解析器可以将该抽象清单送至自适应流选择器,诸如自适应流选择器320(框718)。
图8以流程图图示了利用自适应流选择器(诸如自适应流选择器320)选择媒体流的方法800的一个示例。该自适应流选择器可以从清单解析器(诸如清单解析器310)接收抽象清单(诸如抽象清单400)(框802)。该自适应流选择器可以从通信接口(诸如通信接口270)接收链路速度(框804)。该自适应流选择器可以从输出设备(诸如输出设备260)接收呈现分辨率(框806)。该自适应流选择器可以向媒体部件(诸如媒体部件340)提供流内容描述符或变体流描述符(框808)。该自适应流选择器可以从媒体部件接收媒体流选项的用户选择(框810)。该自适应流选择器可以基于抽象清单中的所选择的比特率、输出设备的呈现分辨率、通信网络的链路速度、存储流媒体缓存的存储器的存储器压力或者媒体流选项的用户选择来选择多个媒体流中的所选择的媒体流(框812)。该自适应流选择器可以识别如以时间衡量的流媒体缓存所缓存的所选择的媒体流的量(框814)。该自适应流选择器可以接收通信网络的带宽平均值(框816)。如果平均带宽允许比所选择的媒体流的所选择的比特率更高的流比特率或者低于所选择的比特率(框818),则该自适应流选择器可以基于抽象清单中的可替换的比特率与通信网络的带宽平均值的比较结果以及所选择的媒体流的缓存量而切换至多个媒体流中具有可替换的比特率的可替换的媒体流(框820)。如果该自适应流选择器识别出所选择的媒体流中的错误(框822),该自适应流选择器可以在识别出该错误时切换至健康的媒体流(框824)。
图9以流程图图示了利用自适应流选择器(诸如自适应流选择器320)进行缓存管理的方法900的一个示例。自适应流选择器320可以识别通信网络的链路速度(框902)。自适应流选择器320可以识别存储流媒体缓存的存储器的存储器压力(框904)。自适应流选择器320可以识别流媒体播放器的设备功率水平(框906)。自适应流选择器320可以选择媒体流集合中具有所选择的比特率的所选择的媒体流(框908)。自适应流选择器320可以基于所选择的媒体流的所选择的比特率以及存储流媒体缓存的存储器的存储器压力来设置流媒体缓存的缓存大小(框910)。自适应流选择器320可以基于所选择的媒体流的所选择的比特率、存储流媒体缓存的存储器的存储器压力或者设备功率水平而针对流媒体缓存设置高水印、低水印和紧急水印(框912)。自适应流选择器320可以从通信接口接收所选择的媒体流(框914)。
该自适应流选择器可以接收通信网络的带宽平均值(框916)。自适应流选择器320可以识别流媒体缓存中所缓存的所选择的媒体流的量(框918)。如果平均带宽允许比所选择的媒体流的所选择的比特率更高的流比特率或者低于所选择的比特率(框920),则该自适应流选择器可以基于抽象清单中的可替换的比特率与通信网络的带宽平均值的比较结果或者基于所选择的媒体流的缓存量而切换至可替换的媒体流(框922)。自适应流选择器320可以识别存储流媒体缓存的存储器的存储器压力(框924)。自适应流选择器320可以识别流媒体播放器的设备功率水平(框926)。自适应流选择器320可以基于可替换的媒体流的可替换的比特率或者存储流媒体缓存的存储器的存储器压力来调节流媒体缓存的缓存大小(框928)。自适应流选择器320可以基于可替换的媒体流的可替换的比特率、存储流媒体缓存的存储器的存储器压力或者设备功率水平来调节流媒体缓存的高水印、低水印和紧急水印(框930)。该自适应流选择器可以从通信接口接收可替换的媒体流(框932)。
图10以流程图图示了利用自适应流选择器(诸如自适应流选择器320)管理下载的方法1000的一个示例。该自适应流选择器可以从通信接口接收媒体流,诸如所选择的媒体流或可替换的媒体流(框1002)。如果缓存量达到流媒体缓存的高水印(框1004),则该自适应流选择器可以响应于缓存量达到媒体流缓存的高水印而暂停媒体流的下载(框1006)。如果缓存量达到流媒体缓存的低水印(框1008),则该自适应流选择器可以响应于缓存量达到媒体流缓存的低水印而重新开始媒体流的下载(框1010)。如果缓存量达到流媒体缓存的紧急水印(框1012),则该自适应流选择器可以响应于缓存量达到媒体流缓存的紧急水印而切换至低比特率的媒体流以避免缓存(框1014)。
图11以流程图图示了利用媒体部件(诸如媒体部件340)进行用户控制的方法1100的一个示例。该媒体部件可以从抽象清单接收与媒体流选项相关联的流内容描述符或变体流描述符中的至少一个(框1102)。该媒体部件可以向用户呈现与媒体流选项相关联的流内容描述符或变体流描述符中的至少一个(框1104)。该媒体部件可以从输入设备(诸如输入设备250)接收对媒体流选项的用户选择(框1106)。该媒体部件可以存储开发方指示以引导媒体流选项的选择(框1108)。该媒体部件可以处理媒体流选项的用户选择和开发方指示以影响自适应流选择器对所选择的媒体流的选择(框1110)。该媒体部件可以从抽象清单接收与所选择的媒体流相关联的流内容描述符(框1112)。该媒体部件可以向用户呈现与所选择的媒体流相关联的流内容描述符(框1114)。
图12以流程图图示了呈现媒体呈现形式的方法1200的一个示例。媒体管道(诸如媒体管道360)可以接收媒体流,诸如所选择的媒体流或可替换的媒体流(框1202)。该媒体管道可以针对输出设备(诸如输出设备160)将该媒体流渲染为媒体呈现形式(框1204)。例如,该媒体管道可以将所选择的媒体流渲染为所选择媒体呈现形式以便呈现给用户。可替换地,该媒体管道可以将可替换的媒体流渲染为可替换的媒体呈现形式以便呈现给用户。该输出设备可以将媒体呈现形式呈现给用户(框1206)。
虽然已经以特定于结构特征和/或方法动作的语言对主题进行了描述,但是所要理解的是,所附权利要求中的主题并非必然被局限于以上所描述的具体特征或动作。相反,以上所描述的具体特征和动作是作为实施权利要求的示例形式而被公开。
本发明范围内的示例还可以包括用于承载或具有存储于其上的计算机可执行指令或数据结构的计算机可读存储介质。这样的计算机可读存储介质可以是能够由通用或专用计算机所访问的任意可用介质。作为示例而非限制,这样的计算机可读储存介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘储存器、磁盘储存器或者其它磁性数据储存器,或者能够被用来以计算机可执行指令或数据结构的形式承载或储存期望的程序代码工具的任意其它介质。以上的组合也应当被包括在计算机可读储存介质的范围之内。
示例还可以在其中任务由本地和远程处理设备所实行的分布式计算环境中进行实践,所述本地和远程处理设备通过通信网络(由硬线链路、无线链路或者它们的组合)进行链接。
例如,计算机可执行指令包括使得通用计算机、专用计算机或专用处理设备实行某个功能或某组功能的指令和数据。计算机可执行指令还包括由独立或网络环境中的计算机所执行的程序模块。通常,程序模块包括实行特定任务或实施特定抽象数据类型的例程、程序、对象、组件和数据结构等。计算机可执行指令、相关联数据结构和程序模块表示用于执行本文所公开方法的步骤的程序代码工具的示例。这样的可执行指令或相关联数据结构的特定序列表示用于实施这样的步骤中所描述的功能的相对应动作的示例。
虽然以上描述可以包含具体的细节,但是它们并不应当被理解为以任何方式对权利要求加以限制。所描述的示例的其它配置是本公开的范围的一部分。例如,本公开的原则可以被应用于每个个体用户,其中每个用户可以单独部署这样的系统。这使得每个用户即使在大量可能应用中的任何一个都没有使用本文所描述的功能性的情况下也能够对本公开的益处加以利用。电子设备的多个实例均可以以各种可能方式来处理内容。实施方式并不一定处于所有终端用户所使用的一个系统中。因此,所附权利要求及其法律等同形式仅应当对本发明进行限定,而并不限于所给出的任何具体示例。

Claims (15)

1.一种能够基于网络条件从多个媒体流中选择至少一个媒体流的流媒体播放器,包括:
通信接口,所述通信接口被配置为:
在通信网络上接收具有所选择的比特率的所选择的媒体流和具有可替换的比特率的可替换的媒体流,以及
确定通信网络的带宽平均值;
处理核心,所述处理核心被配置为执行以下的每一个:
自适应流选择器,所述自适应流选择器被配置为部分基于该带宽平均值从所选择的媒体流切换至可替换的媒体流;以及
媒体管道,所述媒体管道被配置为将所选择的媒体流渲染为所选择的媒体呈现形式,并且将可替换的媒体流渲染为可替换的媒体呈现形式;以及
输出设备,所述输出设备被配置为向用户呈现所选择的媒体呈现形式和可替换的媒体呈现形式中的至少一个。
2.根据权利要求1所述的媒体流播放器,进一步包括:
存储器,所述存储器被配置为存储流媒体缓存并且识别存储器压力,所述存储器压力描述关于其它应用所使用的存储器的总体百分比的、由流媒体缓存所使用的存储器的缓存百分比。
3.根据权利要求1所述的媒体流播放器,其中所述处理核心进一步被配置为执行清单解析器,所述清单解析器将描述所选择的媒体流的所选择的清单从依据流媒体协议所格式化转换为列出所选择的比特率的抽象格式的抽象清单。
4.根据权利要求1所述的媒体流播放器,其中所述通信接口进一步被配置为识别所述通信网络的链路速度。
5.根据权利要求1所述的媒体流播放器,其中所述处理核心进一步被配置为执行缓存模块,所述缓存模块被配置为识别以时间衡量的流媒体缓存所缓存的所选择的媒体流的量。
6.根据权利要求1所述的媒体流播放器,其中所述自适应流选择器进一步被配置为基于可替换的媒体流的可替换的比特率或存储器的存储器压力中的至少一个来调节存储器中所储存的流媒体缓存的缓存大小。
7.根据权利要求1所述的媒体流播放器,其中所述自适应流选择器进一步被配置为针对存储器中所存储的流媒体缓存设置指示暂停所选择的媒体流的下载的高水印,指示重新开始所选择的媒体流的下载的低水印,以及指示切换至低比特率媒体流的紧急水印中的至少一个。
8.一种计算设备,具有被配置为存储一系列指令以执行自适应流选择器和媒体管道从而跨各种流协议从多个媒体流中选择至少一个媒体流的存储器,所述计算设备被配置为:
接收描述依据流协议所格式化的一个或多个媒体流的媒体流集合的清单;
基于所述流协议从多个清单解析器中选择一个清单解析器;
使用所述清单解析器以将所述清单从依据所述流协议所格式化转换为抽象格式的抽象清单,以允许跨流协议进行选择;
部分基于所述抽象清单选择媒体流集合中的所选择的媒体流;以及
将所选择的媒体流渲染为所选择的媒体呈现形式以向用户呈现。
9.根据权利要求8所述的计算设备,其中所述计算设备进一步被配置为使用可替换的清单解析器以将可替换的清单转换为抽象格式的可替换的抽象清单,所述可替换的清单描述依据可替换的流协议格式化的一个或多个媒体流的可替换的媒体流集合。
10.根据权利要求8所述的计算设备,其中所述计算设备进一步被配置为:
向用户呈现与媒体流选项相关联的流内容描述符和变体流描述符中的至少一个;以及
处理媒体流选项的用户选择以影响所述自适应流选择器对所选择的媒体流的选择。
11.根据权利要求8所述的计算设备,其中所述计算设备进一步被配置为部分基于所选择的比特率以及所述输出设备的呈现分辨率中的至少一个来选择所述所选择的媒体流。
12.根据权利要求8所述的计算设备,其中所述计算设备进一步被配置为确定通信网络的带宽平均值。
13.根据权利要求8所述的计算设备,其中所述计算设备进一步被配置为基于所述抽象清单中的可替换的比特率与通信网络的带宽平均值的比较结果而切换至可替换的媒体流。
14.一种机器实施的基于网络条件从多个媒体流中选择至少一个媒体流的方法,包括:
选择多个媒体流中具有所选择的比特率的所选择的媒体流;
在通信网络上接收所述所选择的媒体流;
将所选择的媒体流渲染为所选择的媒体呈现形式以呈现给用户;
确定通信网络的带宽平均值;
部分基于所述带宽平均值切换至所述多个媒体流中具有可替换的比特率的可替换的媒体流;以及
将所述可替换的媒体流渲染为可替换的媒体呈现形式以呈现给用户。
15.根据权利要求14所述的方法,进一步包括:
将描述所选择的媒体流的所选择的清单转换为列出所选择的比特率的抽象格式的抽象清单。
CN201680006604.4A 2015-01-20 2016-01-20 多协议媒体流 Pending CN107209747A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562105727P 2015-01-20 2015-01-20
US62/105727 2015-01-20
US15/001,225 US20160212054A1 (en) 2015-01-20 2016-01-19 Multiple Protocol Media Streaming
US15/001225 2016-01-19
PCT/US2016/014189 WO2016118668A1 (en) 2015-01-20 2016-01-20 Multiple protocol media streaming

Publications (1)

Publication Number Publication Date
CN107209747A true CN107209747A (zh) 2017-09-26

Family

ID=56408644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680006604.4A Pending CN107209747A (zh) 2015-01-20 2016-01-20 多协议媒体流

Country Status (4)

Country Link
US (1) US20160212054A1 (zh)
EP (1) EP3251019A4 (zh)
CN (1) CN107209747A (zh)
WO (1) WO2016118668A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235630A (zh) * 2020-09-28 2021-01-15 卡莱特(深圳)云科技有限公司 一种数据备份传输方法、led网状环路备份系统及电子设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259453A1 (en) * 2015-03-06 2016-09-08 Sony Computer Entertainment America Llc Dynamic adjustment of cloud game data streams to output device and network quality
US10498780B2 (en) * 2015-04-30 2019-12-03 Facebook, Inc. Systems and methods for streaming content
US20180213294A1 (en) * 2017-01-23 2018-07-26 Ramp Holdings, Inc. Recovering from gaps in video transmission for web browser-based players
US11595456B2 (en) * 2018-05-31 2023-02-28 Microsoft Technology Licensing, Llc Modifying content streaming based on device parameters
US10728180B2 (en) * 2018-08-21 2020-07-28 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for adaptive bitrate streaming adaptation of variable bitrate encodings
FR3122956A1 (fr) * 2021-05-17 2022-11-18 Orange Téléchargement progressif adaptatif d’un contenu diffusé en temps réel sur un réseau de radiocommunication mobile, programme d’ordinateur et terminal lecteur de flux multimédia associés

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1745382A (zh) * 2003-10-24 2006-03-08 微软公司 在实时控制协议(rtcp)消息中嵌入会话描述消息
US20100275221A1 (en) * 2002-06-26 2010-10-28 Clear Channel Management Services, Inc. Using Multi Media Players to Insert Data Items into a Media Stream of a Streaming Media
CN102077190A (zh) * 2008-06-26 2011-05-25 微软公司 媒体基础源读取器
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
US20140019633A1 (en) * 2012-07-12 2014-01-16 Futurewei Technologies, Inc. Signaling and Processing Content with Variable Bitrates for Adaptive Streaming
US20140355427A1 (en) * 2013-06-04 2014-12-04 Netgear, Inc. System and method for providing dynamic qos to maximize bandwidth utilization
US20150006753A1 (en) * 2004-06-07 2015-01-01 Sling Media Inc. Personal media broadcasting system with output buffer
CN105393544A (zh) * 2013-04-01 2016-03-09 微软技术许可有限责任公司 媒体流传送中的动态轨道切换

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805963B2 (en) * 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
US20140136653A1 (en) * 2012-02-27 2014-05-15 Qualcomm Incorporated Dash client and receiver with download rate acceleration
US9923945B2 (en) * 2013-10-10 2018-03-20 Cisco Technology, Inc. Virtual assets for on-demand content generation
US10749918B2 (en) * 2014-11-10 2020-08-18 Avago Technologies International Sales Pte. Limited Adaptive streaming with early client indication

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100275221A1 (en) * 2002-06-26 2010-10-28 Clear Channel Management Services, Inc. Using Multi Media Players to Insert Data Items into a Media Stream of a Streaming Media
CN1745382A (zh) * 2003-10-24 2006-03-08 微软公司 在实时控制协议(rtcp)消息中嵌入会话描述消息
US20150006753A1 (en) * 2004-06-07 2015-01-01 Sling Media Inc. Personal media broadcasting system with output buffer
CN102077190A (zh) * 2008-06-26 2011-05-25 微软公司 媒体基础源读取器
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
US20140019633A1 (en) * 2012-07-12 2014-01-16 Futurewei Technologies, Inc. Signaling and Processing Content with Variable Bitrates for Adaptive Streaming
CN105393544A (zh) * 2013-04-01 2016-03-09 微软技术许可有限责任公司 媒体流传送中的动态轨道切换
US20140355427A1 (en) * 2013-06-04 2014-12-04 Netgear, Inc. System and method for providing dynamic qos to maximize bandwidth utilization
CN104219174A (zh) * 2013-06-04 2014-12-17 网件有限公司 用于提供使带宽利用率最大化的动态 qos 的系统和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235630A (zh) * 2020-09-28 2021-01-15 卡莱特(深圳)云科技有限公司 一种数据备份传输方法、led网状环路备份系统及电子设备

Also Published As

Publication number Publication date
EP3251019A4 (en) 2018-03-07
WO2016118668A1 (en) 2016-07-28
US20160212054A1 (en) 2016-07-21
EP3251019A1 (en) 2017-12-06

Similar Documents

Publication Publication Date Title
CN107209747A (zh) 多协议媒体流
CN106464945B (zh) 增强型流媒体回放的方法、系统及计算机可读介质
KR101603136B1 (ko) 템플릿 모드에서의 짧은 암호 사용기간의 지원
JP5923661B2 (ja) 適応ストリーミングのためのセグメント暗号化及びキー導出を信号伝達するシステム及び方法
EP2649792B1 (en) Pre-buffering audio/video stream pairs
US9060207B2 (en) Adaptive video streaming over a content delivery network
JP2008283571A (ja) コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
CN103003821A (zh) 用于提供drm服务的方法和装置
US20120194534A1 (en) System and Method for Managing Cache Storage in Adaptive Video Streaming System
CN106537924A (zh) 用于串流服务的客户端以及服务器的操作方法
FR2963525A1 (fr) Telephone mobile comprenant un serveur de diffusion en flux avec des moyens de commande de la transformation d'un fichier avant sa diffusion
US8307089B1 (en) System and method for storing broadcast content in a cloud-based computing environment
US20080159533A1 (en) System and method of processing data
US20080288788A1 (en) Digital Rights Management Metafile, Management Protocol and Applications Thereof
WO2015131390A1 (en) Communication method, user device, content server and controller
CN104202656B (zh) 网络音频mp3流乱序分段解码方法
CN110519656B (zh) 自适应流媒体的播放方法、系统以及服务器
KR102521753B1 (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
CN106454417A (zh) 流媒体倍速播放方法及装置
US20130132579A1 (en) Method and apparatus for random access to multimedia content in wireless communication system
CN110710220B (zh) 用于流传输数据的方法和装置
CN108574881B (zh) 一种投影类型推荐方法、服务器及客户端
JP2008136044A (ja) 動画分割サーバおよびその制御方法
WO2018112804A1 (en) Handling a content user request in a content delivery network
CN106936808B (zh) Http流媒体传输方法及装置

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170926