CN105900404B - 针对自适应比特率流送的动态转码器速率自适应的系统和方法 - Google Patents

针对自适应比特率流送的动态转码器速率自适应的系统和方法 Download PDF

Info

Publication number
CN105900404B
CN105900404B CN201580004322.6A CN201580004322A CN105900404B CN 105900404 B CN105900404 B CN 105900404B CN 201580004322 A CN201580004322 A CN 201580004322A CN 105900404 B CN105900404 B CN 105900404B
Authority
CN
China
Prior art keywords
bit rate
media stream
client
available
transcoding
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
Application number
CN201580004322.6A
Other languages
English (en)
Other versions
CN105900404A (zh
Inventor
斯科特·克里斯托弗·拉博洛兹
华伦·斯考特·温纳儿
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN105900404A publication Critical patent/CN105900404A/zh
Application granted granted Critical
Publication of CN105900404B publication Critical patent/CN105900404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by 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/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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • 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/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/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/44029Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
    • 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/632Control 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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • 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/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

描述了用于针对自适应比特流送功能提供动态转码器速率自适应的系统和方法。在第一实施例中,客户端可以在编码会话期间根据所有可用比特率进行选择,其中比特率经由清单文件被从媒体网关提供给客户端。在第二实施例中,比特率的子集被提供给客户端,客户端从该子集中选择选定的比特率。编码会话继续进行,直到从客户端接收针对新比特率的请求,此时生成新的比特率子集。该新的比特率子集被呈现给客户端,并且该循环继续进行直到编码会话结束。

Description

针对自适应比特率流送的动态转码器速率自适应的系统和 方法
背景技术
多年来,人们己变得越来越依赖他们的移动设备。同时,人们还访问互联网上数目和类型不断增长的媒体。当今针对媒体源的流送技术提供了多个ABR流送比特率,以及事先选择用于对媒体源进行编码的比特率。然而,由于移动设备和其他家庭网络通常不用相同的转码器资源作为更复杂的网络媒体网关,因此当向移动设备提供对这些媒体源的相同流送访问时出现了挑战。因此,在本领域中需要用于用有限的转码器资源来有效并高效地提供对网络或设备中的流送媒体的访问的方法和系统。
总结
如所宽泛描述的,本发明的各种实施例提供了用于针对自适应比特流送功能提供动态转码器速率自适应的系统和方法。在第一实施例中,客户端可以在编码会话期间根据所有可用比特率进行选择,其中比特率经由清单文件被提供给客户端。在第二实施例中,比特率的子集被提供给客户端,客户端从该子集中选择选定的比特率。编码会话继续进行,直到从客户端接收针对新比特率的请求,此时生成新的比特率子集。该新的比特率子集被呈现给客户端,并且该循环继续进行直到编码会话结束。
提供本总结来以简化的方式介绍对在下面具体实施方式中被进一步描述的概念的选择。本总结不旨在标识所要求保护的主题内容的关键特征或必要特征,也不旨在被用来限制所要求保护的主题内容的范围。
附图说明
图1是根据本发明的各种实施例用于提供动态转码器速率自适应的示例环境的框图。
图2是根据本发明的第一实施例的系统的框图。
图3是示出本发明的第一实施例的方法的流程图。
图4是示出本发明的第一实施例的方法的信令图。
图5A和5B是示出本发明的第一实施例的示例性代码段。
图6是示出本发明的第二实施例的流程图。
图7和图8是示出本发明的第二实施例的框图。
图9是根据本发明的各种实施例示出网络设备的框图。
在各附图中,相似标号和命名指示相似元件。
具体实施方式
图1是根据本发明的各种实施例的系统的框图。网络100包括网络核心102,该网络核心102可以包括能够存储各种类型的媒体的一个或多个服务器以及用作网络100的骨干的服务器。针对骨干功能,网络核心102包括用以为多个分布式网络(106和108)之间的信息(例如,媒体)交换提供路径的装置。每一分布式网络包括被耦合至一个或多个路由器(114-124)的分布式网络服务器(分别为110和112)。本领域的技术人员将认识到,各种类型和数目的装置和结构可以被包括在本发明的精神和范围内的每一分布式网络和网络核心中。
系统100还包括一个或多个客户端142-150,其中每一客户端142-150(基于为客户端所位于的子网络服务的路由器)被以通信的方式耦合至路由器114-124。如图2中将进一步描述的,每一路由器114-124可以包括媒体网关208。路由器114-124和客户端142-150之间的连接可以包括但不限于:WIFI连接、以太网连接或Apple Boniour连接。这种连接(本文中简称为“连接”)在图1中被示为132-140。系统100中的客户端142-150可以使用可以生成多个媒体或分组(包括视频、图片或视频直播(下文中称为“媒体”))的一个或多个应用(例如,Facebook应用、Microsoft Word应用或Firefox应用)。
图2是根据本发明的第一实施例的系统200的框图。如图2所示,可以使用位于住所214的网络(下文中称为“家庭网络”),但本领域的技术人员将认识到,可以在本发明的精神和范围内使用具有与家庭网络214相同能力的任意类型的更小的网络或子网络。此外,本文所描述的本发明的实施例可以在本发明的精神和范围内被用于比家庭网络200更高级的网络环境中。
原(origin)服务器202包括能够存储和服务媒体的任意源(例如,位于网络100的网络核心102内的虚拟或物理服务器)。替换地,原服务器202可以是分布式网络服务器(例如,图1中的110和112)。原服务器202可以包括单个服务器,或者可以包括传播于网络100中的多个网络设备或组件之间的功能。原服务器202经由通信路径(例如,无线或有线连接)被耦合至媒体网关208和视频控制204。本领域的技术人员将认识到,原服务器202可以包括本发明的精神和范围内的多种形式或配置。
视频控制204可以是独立的服务器、网络核心102内的虚拟或物理服务器或者另一网络设备内的功能实体(例如,分布式网络服务器110和112)。视频控制204作为客户端206、家庭网络214和原服务器202之间的汇聚点,这样,当从家庭网络214请求针对选定媒体的客户端206媒体请求时,视频控制204协调原服务器202上的媒体的位置。另一方面,视频控制204还接收针对选定媒体的递送服务参数,包括但不限于:针对媒体网关208的发布URL或者针对客户端206的清单URL。
媒体网关208经由通信路径被以通信的方式耦合或者位于家庭网络214内,并且包括源210和转码器单元212中的至少一个转码器。尽管图2中只示出了一个转码器,但本领域的技术人员将认识到不止一个转码器可以被包括在本公开的精神和范围内。如在以下附图中将更详细讨论的,媒体网关208创建媒体的一个或多个经封装的流以及如图SA和图5B所描述的清单文件。媒体网关208将清单文件、媒体播放列表和段的单个流公告至原服务器202。媒体网关208还将所请求的流的可用性通知给视频控制204。
在第一替换实施例中,中间设备(“视频转播设备”)可存在于媒体网关208和视频控制204之间。在该替换实施例中,视频转播设备可以接收服务、设置和原消息,或者将服务、设置和原消息发送至视频控制204。在第二替换实施例中,位置服务器可存在于客户端206和视频控制204之间,其中位置服务器将在视频控制204和客户端206之间发送和接收位置信息。
客户端206可以包括被以通信的方式耦合至原服务器202的任意类型的终端用户设备(例如,图1的142-150)。示例而非限制性的,客户端可以包括智能手机、平板电脑、可穿戴通信设备或膝上型计算机。客户端206和原服务器202之间的连接可以包括经由电信网络的无线连接。在视频控制204物理上位于原服务器202内的实施例中,客户端206和视频控制204之间的连接可以包括客户端206和原服务器202之间的相同连接。客户端可以包括图9中所示的结构,将在本申请的下文中进行描述。
图3是示出本发明的第一实施例的方法的流程图。方法300开始于在步骤302生成媒体简档。如图5A和图5B中将进一步描述的,转码器212生成单个媒体简档,该单个媒体简档被清单文件中的所有可用比特率(“比特率变量”)引用。因此,单个媒体流被以不同比特率表示,而转码器只生成单个比特率。
在步骤304,转码器212适应于从客户端206接收的选定比特率。转码器212依照客户端206的引导来使得转码器212适应于由客户端请求的比特率,而不是事先为客户端建立比特率。这样,转码器212在步骤304以从客户端206接收的比特率继续进行转码。在步骤306,客户端206将针对新比特率的请求发送至视频控制204,并在步骤308切换至新比特率。该新比特率可能高于或低于在步骤304从客户端206接收的比特率。同时,视频控制204向转码器212发送开始以新比特率进行转码的请求。为了优化流送体验并提供至新比特率的无缝转换,客户端206可以对其切换算法使用阻尼(dampening)以解释由于向上或向下切换至新比特率与新比特率变得可用之间的时间差而导致的任意滞后时间。
图4是示出本发明的第一实施例中的客户端402、视频控制404和媒体网关406之间的信号的示例性交换的信令图。信令图400中的信号的交换不意图是限制性的,而是示出在本发明的第一实施例中可能产生的信号的一个示例。在信令图400中,客户端402将初始化信号发送至视频控制404(408)。视频控制404进而将流开始信号发送至媒体网关406(410),该媒体网关406将流送媒体信号返回至视频控制404(412)。流送媒体信号然后被从媒体控制404转发至客户端402。
客户端402向媒体网关406发送清单请求(416),该媒体网关406用包括清单的信号进行响应(418)。该信令图400只是出于示例性的目的,客户端402经由信号选择256KBPS速率(420)。媒体网关406用包括256KBPS简档数据的信号进行响应(422),并且客户端402经由请求来请求第一段(424)以开始以256KBPS进行转码。媒体网关406还通过经由信号提供第一段来进行响应(426)。
针对由客户端402请求的简档中的每一改变,客户端402还必须将速率改变通知给视频控制404。视频控制404将速率改变请求转播至媒体网关406,这时媒体网关406开始以新比特率对流进行编码。在流初始化时,客户端402可以只在媒体网关己生成段之后请求段,并且因此,速率改变请求一定首先已经经由视频控制404传播至媒体网关406。
在初始化之后,速率改变请求可以经由控制点进行转播,而客户端402继续请求用旧速率编码的媒体段。在速率改变请求通过视频控制404传播至媒体网关406之后,媒体网关406将开始以新比特率生成段。客户端402现在将接收速率自适应的段。
客户端402然后确定可以容纳更高的比特率,并且向媒体网关406发送针对512KBPS的简档数据的信号(428)。客户端402为了达到该确定可以使用许多方法。示例而非限制性的,客户端402可以推断解码缓冲器总是满的,并且因此,如果数据很快到达,则应该使用更高的比特率。通过分析解码缓冲器是满还是空,客户端402可以确定应该使用更高还是更低的比特率。目标是媒体网关生成具有高成功递送概率的媒体流,而无需同时生成所有流(媒体网关不能生成所有流)。媒体网关406通过发送包括512KBPS简档数据的信号进行响应(430),并且客户端402用请求第一段的信号跟进(432)。从客户端402将速率改变请求发送至视频控制404(436),该视频控制404进而将速率改变请求发送至媒体网关406(438)。媒体网关406用流送媒体信号进行响应(440),该流送媒体信号被发送至视频控制404,然后作为流送媒体信号被转发至客户端402(442)。
图5A和图5B是示出本发明的第一实施例中所包括的清单文件的示例性代码段。图5A是包括对相同媒体简档的参考的清单文件(还称为媒体播放列表)。如代码的第一、第二和第三行所示,http://example.com/common.m3u8的相同媒体简档被提供给256KBPS、512KBPS和1000KBPS中的每一带宽水平。图5B示出了描述针对每一比特率递送相同段的共同媒体播放列表。通过针对每一比特率提供相同的媒体简档,单个媒体流可以以不同比特率表示,而只生成单个比特率。
图6是示出本发明的第二实施例的流程图。在该实施例中,目标是转码器“预期”客户端可能请求的简档。很可能的备选是临近客户端当前正消耗的简档比特率的那些简档。
方法600开始于在步骤602处生成包括所有比特率变量的子集的媒体简档。与第一实施例相比,在第一实施例中所有可用比特率被作为选项呈现,但是只生成一个比特率,而在第二实施例中可用比特率的子集被作为选项呈现。所呈现的可用比特率的特定子集依照以下子集生成算法:1)当采用最低比特率时,只有最低比特率和下一最高比特率经由清单文件作为选项被公告;2)当采用最高比特率时,只有最高比特率和下一最低比特率被公告;以及3)在任意其他情况下,正生成的比特率和该速率在任一侧的比特率被公告。
在步骤604,方法600适应于选定的比特率。该步骤604包括视频控制204向转码器212发送以选定的比特率进行转码的信号。在步骤606,方法600接收新的比特率消息。该新的比特率消息来源于客户端206,并且经由视频控制204被发送。在步骤608,方法600生成新的清单,该清单具有表示新的比特率范围的新的简档子集。通过将子集生成算法应用于步骤604的选定比特率来生成新的比特率子集。当视频控制204将新清单的可用性转播至客户端206时,步骤608可以由媒体网关208执行。
显而易见地,方法600不包括呈现于第一实施例的方法300中的阻尼。在第二实施例中不需要阻尼,因为阻尼由清单文件中所公告的比特率规定。图7示出了示例,该示例包括针对沿着垂直时间轴的每一时刻(A-L)所公告的比特率(右侧框中)。在时刻A,如最左侧框中所示,两个比特率(256KBPS和512KBPS)被公告给客户端。在时刻A,最右侧的框示出了在该时刻表示媒体段的比特率。例如,在时刻A,针对256KBPS和512KBPS播放列表的媒体段实际上是256KBPS比特率段。加粗边框的框指示了客户端当前正在消耗哪个比特率。
最初,在时刻A,只生成最低比特率并公告两个比特率(最低256KBPS和下一最高比特率(512KBPS))。在时刻B,客户端确定需要增加比特率消耗或者可能增加比特率消耗,因此切换到更高的比特率。然而,在时刻B,该播放列表内的媒体仍然以更低的比特率进行转码。如在第一实施例中,客户端发送传播至转码器212的信号以请求上调(upshift)。
在时刻C,一旦转码器212开始生成上调的比特率,则转码器公告三个比特率的子集是可用的。这些可用的比特率包括当前比特率以及恰好小于和大于当前比特率的比特率。对新速率的公告可以以各种方式实现。例如,在HTTP动态自适应流送(DASH)中,将通过结束当前时段并用自适应集的新集来创建新时段。在其他格式中,带内或带外的元数据可以被用来将新速率通知给客户端。此时,客户端正消耗新的所期望的比特率(在该示例中为512KBPS),并获悉两个其他可能的速率。
客户端206直到时刻E仍继续采用512KBPS速率,在时刻E客户端206再次上调,并且正消耗768KBPS播放列表(但仅512KBPS媒体)。768KBPS播放列表的这种消耗继续进行,直到当转码器已经开始实际生成768KBPS媒体的时刻F。在时刻F,在四个可能的速率范围,正公告1000k的最高速率。
在时刻G,要不是由于已经达到最高比特率的事实,客户端又决定上调,并且上述逻辑重复进行。因此,在时刻H,一旦编码器生成该1000KBPS速率,则只公告该最高速率(1000KBPS)和低于最高速率的一个速率(768KBPS)。在时刻I,客户端决定下调(downshift)。然而尽管客户端开始消耗768KBPS播放列表,但因为不存在可用于下调的更低比特率,所以即使转码器能够生成更低的比特率(256KBPS和512KBPS),但客户端206将仍维持在最低公告的比特率(768KBPS)。
在时刻J,转码器已经调整为更低的768KBPS速率,并且当前768KBPS、下一最高速率1000KBPS和下一最低速率512KBPS被公告以用于之后消耗。可选地,当进行下调(例如,点J)时,转码器可以延迟对最低速率的公告(未示出)。
本文所描述的示例使用了只有单个转码器资源可用于帮助ABR体验的情况。然而,实施例支持更多转码器可用,但仍然少于ABR比特率频谱所需要的数量的情况。例如,如果两种转码器资源可用,则如图8所示,可以生成当前和下一最低比特率。当当前比特率最低时,那么生成最低和下一最高比特率。因此,如图8所示,该替换实施例用下调来处理缓存问题。
图9是根据本发明的各种实施例示出网络设备的框图。该网络设备900可以包括但不限于诸如图1中的128-130、142-144或146之类的客户端。网络设备900包括通信接口901、处理系统902和用户接口903。处理系统902包括存储系统904。存储系统904存储软件905,该软件905可以包括但不限于被配置为执行本文所描述的方法的软件。处理系统902被链接至通信接口901和用户接口903,并且可以被配置为执行本文所描述的任意方法。除了客户端之外,网络设备900还可以包括可编程通用计算机,但本领域的技术人员将认识到可以使用可编程或专用电路和装置。网络设备900可以分布于一起组成元件901-905的多个设备之间。
通信接口901可以包括网络接口、调制解调器、端口、收发机或者某一其他通信设备。通信接口901可以分布于多个通信设备之间。处理系统902可以包括计算机微处理器、逻辑电路或者一些其他处理设备。处理系统902可以分布于多个处理设备之间。用户接口903可以包括键盘、鼠标、语音识别接口、麦克风和扬声器、图形显示器、触摸屏或者一些其他类型的用户设备。用户接口903可以分布于多个用户设备之间。存储系统904可以包括盘、带、集成电路、服务器或者一些其他存储器设备。存储系统904可以分布于多个存储器设备之间。
处理系统902从存储系统904获取和执行软件905。软件905可以包括操作系统、实用程序、驱动器、联网软件以及通常加载至计算机系统的其他软件。软件905可以包括应用程序、固件或者一些其他形式的机器可读处理指令。当软件905由处理系统902执行时,其指导处理系统902如本文所描述的那样进行操作以管理网络中的应用流。
相对于现有技术,本发明的各种实施例提供了许多优点。本发明的各种实施例在每一次需要时向客户端提供ABR速率的全部频谱,其中媒体网关具有最少的转码器资源,因此优化客户端体验以改变网络环境。在不包括本发明的任意实施例的系统中,向客户端递送内容的转码会话将需要以最低速率来避免缓冲(由此导致最差的视觉质量)。此外,在不包括本发明的任意实施例的更高速率系统中,向客户端递送内容的转码会话将在拥塞期间展示缓冲(由此导致很差的回放体验)。
尽管本说明书包括许多具体的实现方式的细节,但是这些不应该被看作是对任意发明或者要求保护的范围的限制,而是被看作可能是针对特定发明的特定实现方式的特征的描述。在不同实现方式的背景下本说明书中描述的某些特征还可以在单个实现方式的组合中实现。相反地,在单个实现方式的背景下描述的各种特征还可以在多个实现方式中分别实现或以任意适合的子组合实现。此外,虽然特征在上文中被描述为在某些组合中作用,并且最初照此要求保护,但是在一些情况下,来自要求保护的组合中的一个或多个特征可以脱离组合进行实践,并且要求保护的组合可以是针对子组合或子组合的变体。
类似地,尽管操作在附图中以特定的顺序被描述,但是这不应该被理解为要求这些操作以所示的特定顺序或以先后顺序被执行、或者要执行所有所示的操作来实现所期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,在以上所描述的实现方式中的各种系统组件的分离不应该被理解为在所有实现方式中要求这样的分离,并且应该理解的是所描述的程序组件和系统可能通常被一起集成在单个软件产品中或者被封装至多个软件产品中。
已经描述了本说明书中所描述的主题内容的特定实现方式。其他实现方式在以下权利要求的范围内。例如,权利要求中所记载的动作可以以不同的顺序执行并且仍实现所期望的结果。例如,附图中所描述的过程不必需要所示的特定顺序或者相继顺序来实现所期望的结果。在某些实现方式中,多任务和并行处理可能是有益的。此外,本说明书中所描述的任意方法可以被实现为计算机可读介质上的计算机软件。

Claims (20)

1.一种操作具有有限转码资源的计算设备的方法,用于在网络中用不同比特率表现一个或多个媒体流的集合,从而由所述计算设备提供针对媒体流的可用自适应比特率的全部频谱,所述方法包括:
在第一计算设备处,生成针对至少给定媒体流的清单文件,所述清单文件包括针对所述给定媒体流的简档,所述简档引用所述给定媒体流的两个或多个可用比特率变量,所述两个或多个可用比特率变量可用于由所述第一计算设备的一个或多个转码器来创建,其中,所述简档包括i)所述给定媒体流的第一可用比特率值和与所述给定媒体流相关联的统一资源定位符URL以及ii)所述给定媒体流的第二可用比特率值和与所述给定媒体流相关联的URL,其中,生成的清单文件被提供给客户端计算设备;
响应于从所述客户端计算设备接收与所述简档相关联的针对所述给定媒体流的第一请求,在所述第一计算设备处以与所述第一请求相关联的第一选定比特率来转码所述给定媒体流;
响应于从所述客户端计算设备接收与来自所述简档的新选定比特率相关联的针对所述给定媒体流的第二请求,在所述第一计算设备处以与所述第二请求相关联的所述新选定比特率来转码所述给定媒体流。
2.如权利要求1所述的方法,其中,所述客户端计算设备被配置为在将以所述第一选定比特率转码的所述给定媒体流的表现切换至以所述新选定比特率转码的所述给定媒体流时应用阻尼操作,直到以所述新选定比特率转码的所述给定媒体流可用为止。
3.如权利要求1所述的方法,其中,所述第一计算设备是媒体网关。
4.如权利要求1所述的方法,其中,所述一个或多个转码器包括单个转码器。
5.如权利要求1所述的方法,其中,所述清单文件的所述简档引用所有可用比特率变量的子集,该所有可用比特率变量的子集可由所述第一计算设备的一个或多个转码器来创建。
6.如权利要求5所述的方法,其中,所有可用比特率变量的子集包括最低比特率和第二低比特率。
7.如权利要求5所述的方法,其中,所有可用比特率变量的子集包括最高比特率和第二高比特率。
8.如权利要求5所述的方法,其中,所有可用比特率变量的子集包括特定比特率、高于所述特定比特率的比特率以及低于所述特定比特率的比特率。
9.如权利要求1所述的方法,还包括:
在所述第一计算设备处同时以与所述第一请求相关联的所述第一选定比特率和与所述第一选定比特率不同的第二比特率来转码所述给定媒体流。
10.如权利要求1所述的方法,其中,所述一个或多个转码器包括两个或多个转码器资源。
11.如权利要求1所述的方法,其中,生成的清单文件被发送到中间计算设备以提供给所述客户端计算设备。
12.如权利要求1所述的方法,其中,生成的清单文件被发送到视频控件以提供给所述客户端计算设备。
13.如权利要求1所述的方法,还包括:
在所述第一计算设备处生成针对所述给定媒体流的第二清单文件,第二清单文件包括i)所述给定媒体流的第二可用比特率值和与所述给定媒体流相关联的URL和ii)针对所述给定媒体流的第三可用比特率值和与所述给定媒体流相关联的URL。
14.如权利要求1所述的方法,其中,所述一个或多个转码器的数量小于生成针对所述媒体流的可用自适应比特率的全部频谱所需的数量。
15.如权利要求1所述的方法,其中,所述第二请求产生已经转码的比特率变量的传输。
16.一种操作具有有限转码资源的计算设备的系统,用于在具有只生成一个比特率的转码器的网络中用不同比特率表现单个媒体流,从而由所述计算设备提供针对所述媒体流的可用自适应比特率的全部频谱,所述系统包括:
媒体网关,其中,所述媒体网关包括源和至少一个转码器;
原服务器,其中,所述原服务器经由通信路径被以通信的方式耦合至所述媒体网关和至少一个客户端;以及
客户端,其中,所述客户端位于家庭网络外部,并且被配置为接收来自所述媒体网关和所述原服务器的内容;
其中,所述转码器包括处理器,所述处理器被配置为执行权利要求1-8中任一项所述的方法的所有步骤。
17.如权利要求16所述的系统,其中,所述媒体网关被包括在家庭网络内。
18.如权利要求16所述的系统,其中,所述原服务器包括网络核心。
19.一种操作具有有限转码资源的计算设备的系统,用于在网络中用不同比特率表现媒体流的集合,从而由所述计算设备提供针对所述媒体流的可用自适应的全部频谱比特率,所述系统包括:
媒体网关,其中,所述媒体网关包括源和一个或多个转码器;
其中,客户端被配置为从所述媒体网关接收内容;
其中,所述一个或多个转码器中的每个转码器包括处理器,所述处理器被配置为执行权利要求1-15中任一项所述的方法。
20.一种具有有限转码资源的系统,被配置为在网络中用不同比特率表现媒体流的集合,从而提供针对所述媒体流的可用自适应比特率的全部频谱,所述系统包括:
处理器;以及
存储器,所述存储器存储有指令,所述指令在被执行时使得所述处理器执行权利要求1-15中任一项所述的方法。
CN201580004322.6A 2014-01-13 2015-01-13 针对自适应比特率流送的动态转码器速率自适应的系统和方法 Active CN105900404B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/154,144 US9661045B2 (en) 2014-01-13 2014-01-13 System and methods for dynamic transcoder rate adaption for adaptive bit rate streaming
US14/154,144 2014-01-13
PCT/US2015/011162 WO2015106252A1 (en) 2014-01-13 2015-01-13 System and methods for dynamic transcoder rate adaption for adaptive bit rate streaming

Publications (2)

Publication Number Publication Date
CN105900404A CN105900404A (zh) 2016-08-24
CN105900404B true CN105900404B (zh) 2019-10-15

Family

ID=52450579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580004322.6A Active CN105900404B (zh) 2014-01-13 2015-01-13 针对自适应比特率流送的动态转码器速率自适应的系统和方法

Country Status (4)

Country Link
US (2) US9661045B2 (zh)
EP (1) EP3095227B1 (zh)
CN (1) CN105900404B (zh)
WO (1) WO2015106252A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10326805B2 (en) * 2013-05-31 2019-06-18 Avago Technologies International Sales Pte. Limited Distributed adaptive bit rate proxy system
US10432688B2 (en) * 2015-03-13 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for optimized delivery of live ABR media
US10044623B2 (en) * 2016-01-19 2018-08-07 Verizon Patent And Licensing Inc. Methods and systems for efficient routing of multicast media content by data routers at end user premises
CN108174226B (zh) * 2017-12-19 2020-11-10 平安科技(深圳)有限公司 直播视频的转码装置、方法及计算机可读存储介质
US11196785B2 (en) * 2019-05-09 2021-12-07 Brightcove Inc. Fault-tolerant live video streaming
WO2021119054A1 (en) * 2019-12-10 2021-06-17 Arris Enterprises Llc Method and apparatus to preview content while playing selected content
US11252214B1 (en) * 2020-06-15 2022-02-15 Sprint Spectrum L.P. Proactive reduction of bit rate of streaming media en route to UE in response to prediction that UE will experience reduced-throughput coverage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778104A (zh) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 一种实现自适应带宽播放流媒体的系统及其方法
EP2661045A1 (en) * 2012-05-04 2013-11-06 Thomson Licensing Method and apparatus for providing a plurality of transcoded content streams

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712108B2 (en) * 2003-12-08 2010-05-04 Microsoft Corporation Media processing methods, systems and application program interfaces
US20080072264A1 (en) * 2006-08-02 2008-03-20 Aaron Crayford Distribution of content on a network
US20100169303A1 (en) * 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
US8260877B2 (en) * 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US9538220B2 (en) * 2009-06-12 2017-01-03 Wi-Lan Labs, Inc. Video streaming quality of experience degradation control using a video quality metric
US8527647B2 (en) * 2009-10-06 2013-09-03 Unwired Planet, Inc. Managing network traffic using intermediate flow control
US8892691B2 (en) * 2010-04-07 2014-11-18 Apple Inc. Real-time or near real-time streaming
US9232268B2 (en) 2011-02-23 2016-01-05 Broadcom Corporation Unified video delivery system for supporting IP video streaming service
WO2012142510A1 (en) 2011-04-15 2012-10-18 Skyfire Labs, Inc. Real-time video detector
EP2566172A1 (en) * 2011-09-02 2013-03-06 Thomson Licensing Method and apparatus for adaptive transcoding of multimedia stream
US20130080579A1 (en) * 2011-09-26 2013-03-28 Unicorn Media, Inc. Dynamically-executed syndication services
US8625789B2 (en) * 2011-09-26 2014-01-07 Unicorn Media, Inc. Dynamic encryption
US8751679B2 (en) * 2011-10-07 2014-06-10 Ericsson Television Inc. HTTP adaptive streaming server with automatic rate shaping
US8843596B2 (en) * 2011-11-30 2014-09-23 Adobe Systems Incorporated Conversion between streaming media communication protocols
US9813740B2 (en) * 2012-08-24 2017-11-07 Google Inc. Method and apparatus for streaming multimedia data with access point positioning information
US20140074961A1 (en) * 2012-09-12 2014-03-13 Futurewei Technologies, Inc. Efficiently Delivering Time-Shifted Media Content via Content Delivery Networks (CDNs)
US20150189018A1 (en) * 2013-12-31 2015-07-02 Limelight Networks, Inc. Extremely low delay video transcoding
US20140189141A1 (en) * 2012-12-28 2014-07-03 Humax Co., Ltd. Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus
US9402107B2 (en) * 2013-03-15 2016-07-26 Time Warner Cable Enterprises Llc Apparatus and methods for delivery of multicast and unicast content in a content delivery network
US9438652B2 (en) * 2013-04-15 2016-09-06 Opentv, Inc. Tiered content streaming
US9118630B2 (en) * 2013-05-14 2015-08-25 Morega Systems Inc. Client proxy for key exchange in HTTP live streaming
US9413806B2 (en) * 2013-05-24 2016-08-09 Broadcom Corporation Adaptive bit rate proxy
US9847951B2 (en) * 2013-11-04 2017-12-19 Ciena Corporation Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778104A (zh) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 一种实现自适应带宽播放流媒体的系统及其方法
EP2661045A1 (en) * 2012-05-04 2013-11-06 Thomson Licensing Method and apparatus for providing a plurality of transcoded content streams

Also Published As

Publication number Publication date
US20170302712A1 (en) 2017-10-19
CN105900404A (zh) 2016-08-24
US9661045B2 (en) 2017-05-23
US20150200987A1 (en) 2015-07-16
EP3095227B1 (en) 2020-09-30
WO2015106252A1 (en) 2015-07-16
US10218757B2 (en) 2019-02-26
EP3095227A1 (en) 2016-11-23

Similar Documents

Publication Publication Date Title
CN105900404B (zh) 针对自适应比特率流送的动态转码器速率自适应的系统和方法
US11038944B2 (en) Client/server signaling commands for dash
US10455404B2 (en) Quality of experience aware multimedia adaptive streaming
CN107743698B (zh) 用于多路径媒体传递的方法和装置
US10397289B2 (en) HTTP live streaming (HLS) video client synchronization
EP2608558A1 (en) System and method for adaptive streaming in a multipath environment
CN103765905A (zh) 多媒体流的自适应转码的方法和装置
Thomas et al. Enhancing MPEG DASH performance via server and network assistance
JP2015133701A (ja) クライアント端末においてマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法、及び対応する端末
CN108063911B (zh) 一种视频会议扩容方法
KR102652518B1 (ko) 비디오 스트리밍을 위한 세션 기반 적응적 재생 프로파일 판정
CN105981400A (zh) 配置为接收划分成片段的多媒体内容的客户终端获得网络信息的方法
Kim et al. A modification of the fuzzy logic based dash adaptation scheme for performance improvement
EP3292698A1 (en) Http live streaming (hls) video client synchronization
TW201532427A (zh) 用戶終端機配置成接收多段分割之多媒體內容以取得網路資訊之方法
TW201542013A (zh) 用戶終端機配置成接收多段分割之多媒體內容以取得網路資訊之方法
TW201542014A (zh) 用戶終端機配置成接收多段分割之多媒體內容以取得網路資訊之方法
TW201532426A (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