CN104471955A - 用于自适应位速率流式传输的带宽分配的方法及装置 - Google Patents
用于自适应位速率流式传输的带宽分配的方法及装置 Download PDFInfo
- Publication number
- CN104471955A CN104471955A CN201380035950.1A CN201380035950A CN104471955A CN 104471955 A CN104471955 A CN 104471955A CN 201380035950 A CN201380035950 A CN 201380035950A CN 104471955 A CN104471955 A CN 104471955A
- Authority
- CN
- China
- Prior art keywords
- media apparatus
- media
- client
- server
- buffer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000003044 adaptive effect Effects 0.000 title description 5
- 230000011218 segmentation Effects 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 22
- 230000015654 memory Effects 0.000 description 20
- 238000000638 solvent extraction Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101150110972 ME1 gene Proteins 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
- H04N21/23655—Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content 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/26208—Content 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 the scheduling operation being performed under constraints
- H04N21/26216—Content 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 the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content 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/26258—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
- H04N21/6547—Transmission by server directed to the client comprising parameters, e.g. for client setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Abstract
本发明揭示一种用于将视频内容从服务器(305)提供到多个媒体装置(320)的方法,所述方法包括:由所述服务器(305)使用基于超文本传送协议的实况流式传输客户端模型或需求参数向量确定待分配给所述多个媒体装置(320)中的每一者的带宽;及将所述所分配带宽提供到所述多个媒体装置(320)中的每一者,其中所述视频内容是以多个分段从所述服务器(305)发射的,且其中每一分段是以可在不同分段间变化的位速率发射的。
Description
背景技术
对于媒体消费,已广泛地采纳在网络上将媒体从内容服务器流式传输到媒体装置。用于媒体流式传输的两种网络协议包含用户数据报协议因特网协议(“UDP IP”)及传送控制协议(“TCP”)IP。UDP IP通常用于针对相对可靠网络的媒体流式传输,例如在有线连接上的家庭内流式传输。TCP IP通常用于在较不可靠网络上的流式传输。
与TCP IP一起使用的基于超文本传送协议(“HTTP”)的实况流式传输(“HLS”)协议允许内容服务器将变体播放列表文件发布到媒体装置。变体播放列表文件识别媒体节目(例如电影、电视节目等)的多个视频流集合,其中每一视频流集合具有针对所述媒体节目的独特编码参数(例如,位速率、分辨率等)。在变体播放列表文件中所识别的视频流集合从内容服务器发射到媒体装置时,媒体装置可动态地在所述视频流集合之间切换。媒体装置可基于初始网络条件、初始缓冲器条件等而选择接收在变体播放列表文件中识别的初始视频流集合。举例来说,如果初始网络条件、初始缓冲器条件等支持在变体播放列表文件中识别的高清晰度(“HD”)视频流集合的流式传输,那么媒体装置可选择接收所述HD视频流集合。如果初始网络条件降级或如果初始缓冲器条件降级等,那么媒体装置可选择接收在变体播放列表文件中识别的低清晰度视频流集合。也就是说,媒体装置可动态地选择待从内容服务器接收的不同视频流集合,其中所述不同视频流集合具有不同编码参数。
视频流集合的选择及发射由媒体装置驱动。响应于对在变体播放列表文件中识别的视频流集合的选择,内容服务器被动地将所述视频流集合发射到媒体装置。所述媒体装置可具有关于网络条件的有限信息且可能不选择适合于当前网络条件的视频流集合。此外,一些类型的媒体装置选择最高分辨率及最高位速率的视频流集合来接收。通常,内容服务器服务于多个媒体装置,从而将多个视频流集合发射到所述媒体装置。如果媒体装置请求具有高分辨率及高位速率的视频流集合,那么为了服务于所述媒体装置可能必须分配内容服务器资源或网络带宽的大部分。因此,由内容服务器服务的其它媒体装置可经历降级的性能,例如视频流发射中的间歇性中断。
附图说明
尽管所附权利要求书详细阐述了本发明技术的特征,但可根据连同附图进行的以下详细描述来最好地理解这些技术连同其目标及优点,附图中:
图1A图解说明其中可使用本发明的实施例的实例性系统实施方案;
图1B图解说明其中可使用本发明的实施例的实例性媒体流式传输系统实施方案;
图2图解说明根据本发明的实施例包含彼此通信的客户端组件及服务器组件以及针对典型自适应流式传输的消息流的系统;
图3A图解说明根据本发明的实施例的视频流式传输系统;
图3B图解说明根据本发明的实施例由日程安排模块提供的实例性日程安排窗;
图4图解说明根据本发明的实施例展示媒体装置缓冲器的缓冲阶段及回放阶段的实例性图表;
图5图解说明根据本发明的实施例的实例性HLS客户端模型(“HCM”)框图;
图6图解说明根据本发明的实施例的位速率对需求参数向量(“NPV”)的实例性曲线图表;且
图7图解说明根据本发明的实施例实施HCM及日程安排队列的系统的实例性框图。
具体实施方式
转到其中相似参考编号指代相似元件的图式,将本发明的技术图解说明为在适合环境中实施。以下描述是基于权利要求书的实施例且不应理解为关于本文中未明确描述的替代实施例而限制权利要求书。
参考图1A,实例性媒体装置100包含处理单元120及将包含系统存储器130(例如只读存储器(“ROM”)140及随机存取存储器(“RAM”)150)的各种系统组件耦合到处理器120的系统总线110。媒体装置100可包含与处理器120直接连接、紧密接近于处理器120或集成为处理器120的部分的高速存储器的高速缓冲存储器122。媒体装置100可经配置以将数据从存储器130或存储装置160拷贝到高速缓冲存储器122以由处理器120快速存取。以此方式,高速缓冲存储器122提供避免在等待数据时的处理器延迟的性能提升。这些及其它模块可控制或经配置以控制处理器120执行各种行动。其它系统存储器130也可供使用。存储器130可包含具有不同性能特性的多个不同类型的存储器。可了解,本发明可对具有一个以上处理器120的媒体装置100或对联网在一起以提供较大处理能力的计算装置的群组或群集进行操作。处理器120可包含任何通用处理器及硬件模块或软件模块(例如存储于存储装置160中且经配置以控制处理器120的模块1162、模块2164及模块3166)以及其中软件指令并入到实际处理器设计中的专用处理器。处理器120可本质上为完全自含式计算系统,其含有多个核心或处理器、总线、存储器控制器、高速缓冲存储器等。多核心处理器可为对称或不对称的。
系统总线110可为数种类型的总线结构中的任一者,包含使用多种总线架构中的任一者的存储器总线或存储器控制器、外围总线及局部总线。存储于ROM 140等等中的基本输入/输出系统可提供有助于在媒体装置100内的元件之间传送信息(例如在启动期间)的基本例程。媒体装置100进一步包含存储装置160,例如硬盘驱动器、磁盘驱动器、光盘驱动器、磁带驱动器等等。存储装置160通过驱动器接口连接到系统总线110。驱动器及相关联计算机可读存储媒体为媒体装置100提供对计算机可读指令、数据结构、程序模块及其它数据的非易失性存储。在一些实施例中,执行特定功能的硬件模块包含存储于非暂时性计算机可读媒体中的软件组件连同用以执行功能的必要硬件组件,例如处理器120、总线110、显示器170等等。基本组件为所属领域的技术人员所已知的,且取决于装置的类型(例如装置100是否为小的手持式计算装置、桌上型计算机、计算机服务器等等)预期有适当变化。
虽然一些实施方案采用硬磁盘160,但所属领域的技术人员应了解,可由计算机存取的可存储数据的其它类型的计算机可读媒体(例如盒式磁带、快闪存储器卡、数字多用盘、盒式磁盘、RAM 150、ROM 140、电缆或含有位流的无线信号等等)也可在示范性操作环境中使用。非暂时性计算机可读存储媒体明确地不包含例如能量、载波信号、电磁波及信号本身等媒体。
媒体装置100还包含接收缓冲器105,接收缓冲器105包含三个缓冲器区段105a、105b及105c。第一缓冲器区段105a可用于媒体装置100已从内容服务器接收但尚未经消费用于媒体播放的视频包。媒体装置100可能已经由确认向内容服务器确认接收到第一缓冲器区段105a中的视频包。缓冲器管理模块(未展示)可监视媒体装置100检索第一缓冲器区段105a中的视频包以供消费的速率。
第二缓冲器区段105b可用于媒体装置100已从内容服务器接收但尚未经消费用于媒体播放的视频包。媒体装置100可能尚未向内容服务器发送针对第二缓冲器区段105b中的视频包的确认。在将针对第二缓冲器区段105b中的视频包的确认从媒体装置100发射到内容服务器时,可将第二缓冲器区段105b的部分分类为第一缓冲器区段105a的一部分。缓冲器管理模块(未展示)可追踪在媒体装置100将针对确认接收到第二缓冲器区段105b中的视频包的确认发送到内容服务器时第二缓冲器区段105b的被分类为第一视频缓冲器105a的一部分的部分。
第三缓冲器区段105c可用于接收视频包。缓冲器管理模块(未展示)可监视第三缓冲器区段105c以确定第三缓冲器区段105c何时接收视频包并被分类为第二缓冲器区段105b的一部分。在来自第一缓冲器区段105a的视频包被消费时,可将第一缓冲器区段105a的部分分类为第三缓冲器区段105c的一部分。也就是说,第一缓冲器区段105a的被消费了视频包的部分可从内容服务器接收新的视频包。
根据一些实施例,第一、第二及第三缓冲器区段105a-105c的大小共同界定用于视频包缓冲的最大缓冲器大小。在打开与内容服务器的初始连接时,媒体装置100可分配最大缓冲器大小。通常,最大缓冲器大小在分配之后保持不变。
为了实现与媒体装置100的用户交互,输入装置190表示任何数目种输入机构,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等等。输出装置170也可为所属领域的技术人员已知的若干种输出机构中的一或多者。在一些例子中,多模态系统使得用户能够提供多种类型的输入来与媒体装置100通信。通信接口180通常管控及管理用户输入及系统输出。不存在对在任何特定硬件布置上操作的限制,且因此在开发出经改进的硬件或固件布置时可容易地用其替代此处的基本特征。
为了清晰地解释,将说明性系统实施例呈现为包含个别功能块,包含标示为“处理器”或处理器120的功能框。这些框所表示的功能可通过使用共享或专用硬件(包含但不限于能够执行软件的硬件及经专门构建以等效于在通用处理器上执行的软件而操作的硬件(例如处理器120))来提供。举例来说,图1A中所呈现的一或多个处理器的功能可由单个共享处理器或多个处理器提供。说明性实施例可包含微处理器或数字信号处理器(“DSP”)硬件、用于存储执行下文所论述的操作的软件的ROM 140及用于存储结果的RAM 150。还可提供超大规模集成(“VLSI”)硬件实施例以及定制VLSI电路与通用DSP电路的组合。
各种实施例的逻辑运算可实施为:(1)在通用计算机内的可编程电路上运行的计算机实施的步骤、操作或程序(通常为“指令”)的序列,(2)在专用可编程电路上运行的计算机实施的步骤、操作或程序的序列,或(3)可编程电路内的经互连机器模块或程序引擎。图1A中所展示的媒体装置100可实践所揭示方法的全部或部分或可为所揭示系统的一部分或可根据所揭示计算机可读存储媒体中的指令操作。此类逻辑运算可实施为经配置以控制处理器120根据模块的编程执行特定功能的模块。举例来说,图1A图解说明三个模块Mod1 162、Mod2 164及Mod3 166,其为经配置以控制处理器120的模块。这些模块可存储于存储装置160上且在运行时加载到RAM 150或存储器130中或可如此项技术中将知晓的那样存储于其它计算机可读存储器位置中。
内容递送描述例如音频或视频或计算机软件及游戏等媒体“内容”在递送媒体(例如广播或因特网)上的递送。内容递送通常具有两个部分:用于数字分配的已完成内容与其附随元数据的递送;及最终产品到最终用户的递送。
如本文中所使用,“流式传输媒体”是媒体在由流式传输提供者使用自适应位速率(“ABR”)流式传输方法递送的同时由最终用户接收且呈现给最终用户。所述名称是指媒体的递送方法而非指媒体自身。区别通常应用于在电信网络上分配的媒体,例如,“在线”,因为大多数其它递送系统内在地流式传输(例如,无线电、电视)或内在地非流式传输(例如,书籍、视频盒式磁带、音频CD)。下文中,在线媒体及使用ABR方法的在线流式传输称为“媒体”及“流式传输”。
ABR流式传输是通过将总体媒体流或媒体文件分解成小的基于HTTP的文件下载的序列而工作的技术,每一下载加载总体可能无界输送流或媒体基本流的一个短的分段。在播放流时,客户端(例如,媒体播放器)可从以多种数据速率编码的含有相同材料的若干个不同交替流进行选择,从而允许流式传输会话适应于可用数据速率。在流式传输会话的开始,播放器下载含有可用的各种子流的元数据的清单。由于其请求仅使用标准HTTP交易,因此ABR流式传输能够横越准许标准HTTP业务通过的防火墙或代理服务器,这不同于基于UDP的协议,例如实时输送协议。这也允许针对任何给定流容易地实施内容递送网络。已以包含苹果公司(Apple,Inc.)的HTTP实况流式传输及微软公司(Microsoft,Inc.)的HTTP平滑流式传输的专有格式实施ABR流式传输方法。ABR流式传输已经标准化为ISO/IEC 23009-1,信息技术-经由HTTP的动态自适应流式传输:部分1:媒体呈现描述及分段格式。
增加数目的视频回放装置(例如苹果iPad)更喜欢经由ABR流式传输递送而不愿连续地流式传输视频内容。iPad使用苹果的HTTP实况流式传输格式接收作为含有到视频内容分段或“组块”中的每一者的链接、媒体统一资源识别符(URI)的m3u8文件的清单并处理所述清单文件以依次检索及回放每一媒体分段。在本发明中,“HLS”表示将媒体内容分段并采用播放列表来管理回放的协议的范围。
已揭示了计算系统的一些组件,本发明现在转到图1B,其图解说明实例性媒体流式传输系统实施例1000。图1B中所描绘的实体之间的通信可经由一或多个有线或无线网络发生。此外,装置可经由万维网或经由应用程序编程接口直接通信。回放装置1002(例如平板计算机装置、智能电话、桌上型或便携式计算机、机顶盒、具备因特网能力的电视、媒体中心PC或任何其它适合装置)首先向媒体服务器1004做出回放媒体内容的请求。通常,媒体服务器1004驻存于例如因特网或第三方内容分配网络等网络中。
在HLS中,媒体服务器1004接收请求并响应于所述请求而产生或提取待发送到媒体装置1002的清单文件1006。清单文件1006的实例性格式包含m3u及m3u8格式。m3u8文件为使用UTF-8统一码字符编码的m3u的特定变化形式。m3u文件格式最初在WINAMP媒体播放器中用于仅音频文件,但后来已变为许多媒体装置上用于本地或流式传输媒体(包含音乐及其它媒体类型)的事实上的播放列表标准。许多媒体装置采用m3u文件格式的变化形式,可根据本发明使用其中的任一者。清单文件可包含到媒体文件的链接以作为到本地文件系统上的位置的相对或绝对路径或作为网络地址,例如URI路径。m3u8格式在本文中用作非限制性实例来图解说明包含非标准变体的清单文件的原理。
清单文件1006包含到所请求经分段媒体内容的不同表示的统一资源定位符(“URL”)的列表。在请求之前或在请求时,媒体服务器1004产生或识别所请求媒体内容的媒体分段来作为流式传输媒体内容1010。流式传输媒体内容1010的媒体分段由媒体服务器1004产生、由内容制作者产生或由某一其它实体产生、通过对原始媒体内容1008进行分裂、变码或速率转换而产生。在接收到清单文件1006后,媒体装置1002可即刻从流式传输媒体内容1010提取用于回放的第一媒体分段,接着在回放所述媒体分段期间提取在第一媒体分段之后的下一用于回放的媒体分段等等直到媒体内容的结束。
参考图2,展示包含彼此通信的客户端组件210及服务器组件250以及针对典型自适应流式传输的消息流的系统200。为清晰起见,已省略和客户端组件210与服务器组件250之间的安全性相关的流。
客户端组件210可包含应用程序图形用户接口(“App GUI”)220及ABR播放器230。服务器组件250可包含可经配置以存储或产生多位速率媒体流及清单文件的内容服务器260。
在第一步骤205中,用户导览电影列表并选择用于观看的视听媒体资产。在一些实施例中,视听媒体资产链接到指向高级播放列表的URL。
在下一步骤215中,ABR播放器230请求视听媒体资产的高级清单文件,所述文件包含关于ABR简档及到对应于每一媒体带宽的清单的信息。
在下一步骤225中,ABR播放器230查看高级清单或主播放列表并通过请求第一清单文件(最低带宽清单文件)而开始,或任选地可进行某一带宽可用性估计并选择对应带宽清单文件。
在下一步骤235中,ABR播放器230请求对应带宽的第二级清单。在下一步骤245中,ABR播放器230确定第二级清单中的媒体分段文件。
在下一步骤255中,ABR播放器230接连地请求媒体分段文件。在下一步骤265中,ABR播放器230连续地监视媒体缓冲器满度以确定是否有必要请求较低或较高带宽媒体分段表示。举例来说,如果带宽条件改变,那么播放器选择对应带宽清单文件并接连地选择媒体分段。
在下一步骤275中,当到达清单文件的结束时,ABR播放器230用信号同时App GUI220视听媒体资产的回放完成。用信号通知流回放完成展示为步骤285。
如上文所解释,内容服务器260服务于多个媒体装置或ABR播放器230,从而将多个视频流集合发射到所述媒体装置。如果媒体装置请求具有高分辨率及高位速率的视频流集合,那么为了服务于所述媒体装置可能必须分配内容服务器资源或网络带宽的大部分。因此,由内容服务器服务的其它媒体装置可经历降级的性能,例如视频流发射中的间歇性中断。
因此,能够针对多个客户端高效地利用具有ABR流式传输的多路复用技术的服务器侧方法是非常合意的。举例来说,可确定待分配给每一客户端的资源(例如,通过不赋予客户端多个选项)同时最大化每一客户端的性能的系统及方法提供胜过当前客户端驱动的模型的许多优点。
图3A描绘根据一些实施例的视频流式传输系统300。视频流式传输系统300包含内容服务器305、网络315、一组媒体装置320及变码器元件322。内容服务器305可经由网络315将视频内容或视频流集合发射到媒体装置320。视频流集合可针对媒体节目,例如电影、电视节目等。视频流集合中的每一视频流可为短的视频分段(例如,两秒、十秒等)。视频流集合可包含媒体节目(例如两小时的电影)的数千个视频流。如本文中所使用,可将例如视频输送或基本流等经编码内容划分成若干固定持续时间分段(例如,组块)。所述分段或组块的持续时间通常介于2秒与10秒之间,但其可更长或更短。在一些实施例中,较短分段降低译码效率,而较大分段影响适应于网络吞吐量的改变的速度。在一些实施例中,视频及音频输送流由共同分组成HLS组块或分段的188字节输送包构成。然而,对于微软HTTP平滑流式传输,视频及音频基本流被分组成单独数据块、分块成文件片段并用MP4或ISO-MBFF“框”或“原子”标引以向播放器提示如何找到这些容器中的样本(经译码视频及音频帧)。
可将视频流集合从变码器元件322提供到内容服务器305。变码器元件322包含若干个变码器资源323,其中每一变码器资源提供具有独特编码参数(例如,位速率、分辨率等)的视频流集合。网络315可包含因特网、各种内联网等。网络315可包含有线链路及无线链路。将理解,本文中对“媒体”及“视频”的各种提及包含视频内容及音频内容两者。
内容服务器305包含一组处理器305a及非暂时性计算机可读存储媒体(存储器)305b。存储器305b可存储指令,所述组处理器305a可执行所述指令以实施本文中所描述的各种实施例。内容服务器305包含共享域的若干个计算机装置。内容服务器305还包含参考图3B进一步详细描述的日程安排模块305c。
现在参考图3B,展示由日程安排模块305c提供的实例性日程安排窗310。理想地,内容服务器305最大化网络利用且跨越发送到媒体装置320的媒体流维持相当的视频质量等级。内容服务器305可通过利用日程安排模块305c来部分地实现此目标。日程安排模块305c可基于其从与内容服务器305通信的一或多个变码器、内容管理服务、内容递送服务器或媒体装置接收、确定或假定的一或多个因子而构造及实施日程安排窗310。在一些实施例中,日程安排模块305c使用呈对应于经变码视频(其可来自上游变码器或内容服务器)的需求向量的形式的元数据以及例如客户端的预订参数等信息(例如,针对流式传输服务的服务等级协定,例如,客户端是否已为SD或HD服务或金质/银质/铜质支付等,其可来自运营商管理的内容目录服务或履行管理器)、从客户端媒体装置直接报告的客户端装置信息(屏幕大小、A/V解码器能力)等。
如所展示,日程安排窗310包含多个客户端或媒体装置个别日程安排320。举例来说,给客户端#1指派日程安排320a,给客户端#2指派日程安排320b,且给客户端#N指派日程安排320n。在每一个别日程安排320内的是待递送到客户端的分段的次序。举例来说,客户端#1展示将在日程安排窗时间周期TSW内递送分段组块S1+1、组块S1+2、组块S1+3、...、组块S1+K1。
如已知,媒体装置接收缓冲器为用以适应网络抖动的必要组件。换句话说,可基于缓冲器满度而放宽对媒体装置视频数据的到达的时序约束。举例来说,如果媒体装置在其缓冲器中具有T量的视频数据分段,那么在媒体装置用尽媒体数据或下溢之前,下一视频分段的到达可被延迟(T-Tchunk)秒。在一些实施例中,播放器在其缓冲器中具有T秒的媒体呈现数据。如果其在下一T秒内未下载任何新的数据,那么当T秒期满时,播放器的缓冲器将下溢,且其将停止播放音频及视频。在一些实施例中,播放器必须以一速率下载长度为Tchunk秒的新分段,所述速率必须等于解码及再现视频的平均速率,从而使用T秒缓冲器来吸收延迟。
另外,媒体装置接收缓冲器还提供在不影响媒体装置用户体验的情况下放宽对分段或组块下载的时序约束的机会。因此,日程安排组块并确定其在由日程安排窗(例如日程安排窗310)界定的时间周期内针对每一客户端的位速率的解决方案为合意的。在日程安排窗模型下,可如下描述统计多路复用:假定称为具有窗大小TSW的日程安排窗的预定义时间周期及播放不同HLS节目的N个客户端,确定每一HLS客户端的最优速率,其最大化对网络带宽的利用同时为每一客户端维持良好视频质量。
如图3B中所指示,为媒体装置选择不同速率及数目的分段的问题变为日程安排问题。在界定为TSW的时间周期中,为媒体装置i日程安排Ki数目个组块。Ki取决于媒体装置状态及媒体装置缓冲器的大小的值减去媒体装置缓冲器的满度,例如,可用缓冲器或(TMAX-Tbuffer)。为了为经日程安排组块选择最优位速率,内容服务器305基于网络带宽而确定将支持哪一总体质量等级Q。
可使用HLS客户端模型来确定媒体装置状态及可用缓冲器。
在不希望受任何特定理论约束的情况下,已发现HLS客户端行为可经表征且因此为可预测的。举例来说,当客户端开始播放所存储的HLS节目时,其首先以指定的UR1从HLS服务器读取清单文件(播放列表文件)、剖析所述文件的内容并以最低序号的组块开始而开始循序地请求HLS组块(如参考图2所描述)。在HLS节目的整个回放中,观察到两个回放阶段且将其界定为缓冲阶段及回放阶段。图4是展示以下两个阶段的实例性图表400:缓冲阶段410及回放阶段420。当客户端开始时,其将处于缓冲阶段410中,其中HLS客户端缓冲器为空的,且其将尝试通过在其完成下载先前组块之后立即请求分段或组块来填满其HLS客户端缓冲器。当客户端填满其HLS客户端缓冲器时,其移动到回放阶段420中。在此阶段中,客户端将在组块持续时间期间提取一个HLS组块。换句话说,总体下载组块速度与其实时回放速度匹配。
为了预测客户端行为并获悉其状态,内容服务器305针对每一客户端或媒体装置构建基于状态的HCM。HCM提供关于客户端是处于缓冲阶段还是回放阶段中的信息。HCM还提供估计HLS客户端缓冲器的满度等级的手段。图5图解说明实例性HCM框图500。
HCM框图500包含播放器状态510。播放器状态510提供HCM的当前状态,例如,播放、搜寻、暂停、重新开始。与播放器状态510包含在一起的还有媒体时间520。媒体时间520为当前播放媒体帧的媒体时间戳。
HCM框图500还包含缓冲器满度530、缓冲器大小540及当前请求组块550。缓冲器满度530是下载到HLS客户端缓冲器中且尚未由媒体装置消费的组块的数目。缓冲器大小540是HLS客户端缓冲器的总大小,且当前请求组块550是HLS客户端当前请求的组块的序号。
现在参考图4及5,本文中描述用于构造HCM的几个变量。举例来说,Tstart指示客户端完成下载第一媒体组块且开始播放视频的系统时间。Tcurrent指示客户端请求当前请求组块550的系统时间。Tstart_pts表示第一媒体组块中的第一视频帧的呈现时间戳(“PTS”)。Tcurrent_pts表示当前请求组块550中的第一视频帧的PTS。
缓冲器满度530由缓冲器的填充(相对逝去时间)减去缓冲器的排放(实际逝去时间)表示。举例来说,使Tbuffer表示以时间度量的客户端缓冲器满度530。可将流式传输到HCM的以时间度量(秒)的视频数据Tfilling写为:
Tfilling=Tcurrent_pts-Tstart_pts (方程式1)
同时可将由HCM消费的以时间度量(秒)的视频数据Tdraining写为:
Tdraining=Tcurrent-Tstart (方程式2)
可接着如下计算Tbuffer:
Tbuffer=Tfilling-Tdraining=(Tcurrent_pts-Tstart_pts)-(Tcurrent-Tstart) (方程式3)
使TMAX表示HLS客户端缓冲器大小540的大小,则如果Tbuffer<TMAX-Tchunk,那么HLS客户端处于缓冲阶段中,否则其在正常回放阶段中操作。
如上文参考图3所解释,为了针对经日程安排组块选择最优位速率,内容服务器305基于网络带宽而确定将支持哪一总体质量等级Q。为了实现质量等级Q,可基于经编码位速率的NPV而计算所述位速率。
NPV是包含视频复杂度(“VC”)、装置简档、服务优先级等级、编解码器简档等的数个因子的合成。VC是作为对视频内容的复杂度等级的估计而从视频内容导出的。假定一NPV,内容服务器305计算获得目标质量等级需要何种位速率。此信息可由针对恒定质量的位速率对NPV的一系列曲线(例如图6中所展示)提供。装置简档可包含屏幕大小、所支持的编解码器简档(例如,针对视频的MPEG2及AVC或针对音频的Dolby AC-3或AAC)、软件/硬件/固件版本、OS版本、播放器应用程序版本等。服务优先级等级可包含例如服务等级协商中所包含的参数等参数,例如所支持的有保证带宽或对分别与较高及较低成本预订服务相关联的高清晰度视频对标准清晰度的存取。
可基于每一分段的内容复杂度而计算NPV,其中位速率对NPV的曲线针对任何给定质量等级为线性的。此意味着如果节目A的NPV为节目B的NPV的两倍,那么其将以节目B的位速率的两倍取得节目A以维持类似的视频质量。
可基于经编码位速率的NPV(以字节/秒为单位)而计算所述位速率,如以下方程式中所展示:
byterate(NPV)=α×NPV (方程式4)
其中α表示经编码视频的质量等级且为标量,且当经正规化时其在0到1的范围中。较高的α指示较高的视频质量。针对单个客户端在K个组块内的总日程安排预算(以字节为单位)则为
(方程式5)
对于任何给定预算,内容服务器305可确定单个客户端的α,因此确定在给定预算下的可实现视频质量。接下来,内容服务器305扩展在多个HLS客户端内对α的计算。为了针对每一HLS客户端维持相当的质量,可选择相同α值。因此,在日程安排窗(“SW”)期间针对所有客户端的总字节可计算为:
其中N是HLS客户端的数目,Si是针对客户端i的最后下载的组块的序号,且Ki是针对HLS客户端i日程安排的组块的数目。为简化起见,可假定所有组块具有相同的持续时间Tchunk。
对于固定速率的频道,将总的可用网络带宽界定为“BW”(以字节/秒为单位)。因此,针对所有HLS客户端的总预算为BW×TSW。因此,为了在具有界定为TSW的窗大小的SW期间发送SUMbytes,其必须满足以下方程式:
SUMbytes≤BW×TSW (方程式7)
借助经日程安排组块的已知NPV值,内容服务器305可如下计算α:
接着
尽管不希望受任何特定理论约束,但已发现当媒体装置或客户端处于正常回放阶段中时,其将仅尝试下载TSW/Tchunk数目个组块。然而,在其初始预缓冲阶段期间,其将尝试下载尽可能多的组块直到其客户端缓冲器为满的。为了确定在SW期间针对客户端的组块的数目,估计客户端缓冲器满度并算出将在SW期间下载的组块的数目是重要的。为了估计客户端缓冲器满度,内容服务器305利用方程式3。基于Tbuffer的值,根据下式确定K(例如,待下载的组块的经日程安排数目):
K=(TSW+β×(TMAX-Tbuffer))/Tchunk (方程式10)
其中β是缓冲阶段的权重因子。较大的β指示填满客户端缓冲器的较短时间,因此较短的缓冲阶段。
借助针对每一客户端的已知NPV值及组块的经日程安排数目,内容服务器305借助方程式9确定α并确定针对所有HLS客户端的可实现最优质量。随后,内容服务器305为经日程安排组块选择最接近α×NPV的位速率。
图7是实施HCM 710及日程安排队列720的系统700的实例性框图。在一些实施例中,HCM 710指示节目ID 730(例如,其正请求何种演出)及内容服务器740中的对应节目745。HCM 710追踪相关联HLS客户端状态735(例如,运行、搜寻、暂停、重新开始等)。HCM 710还估计其相关联HLS客户端的缓冲器时间750。在一些实施例中,日程安排队列720存储来自日程安排窗(未展示)的最新日程安排结果并维持到当前服务组块编号或请求组块编号755的指针。
在一些实施例中,客户端(例如,与HCM 710相关联)将向内容服务器305请求节目745。并非允许客户端选择客户端接收节目内容的位速率,而是内容服务器305发布供客户端接收的单个可用位速率。因此,在图7中,日程安排队列720指示客户端将针对所述特定分段请求仅接收位速率#2流的组块#1。在内容服务器305确定针对特定客户端的不同指派时,日程安排队列720几乎立即(例如,具有很小延迟或不具有延迟)反映出指派改变。在一些实施例中,来自内容服务器305的指派可在不同分段间改变。在一些实施例中,改变客户端接收的位速率的此灵活性可防止或最小化客户端将重新缓冲的分段的数目。
仍参考图7,除正常回放操作以外,HLS客户端还可执行可影响日程安排决策的一些常见操作。举例来说,HLS客户端可切换到不同视频内容(例如,频道改变)。HLS客户端可暂停内容并在一会之后重新开始回放。HLS客户端可搜寻到特定位置并开始从新的位置收看。HLS客户端可完成回放并离开。所有这些客户端事件指示转变周期,其需要对指派给HLS客户端的带宽的修改。
如本文中所使用,频道改变是在同一客户端请求不同于其当前正播放的节目的节目时。暂停及重新开始是在客户端在延长的时间周期内未请求任何组块下载时。然而,其接着请求具有在其于所述延长的时间周期之前下载的组块之后的序号的组块。搜寻是在客户端正请求具有不在其下载的先前组块之后的序号的组块时。完成是在客户端下载节目的最后组块时。
在一些实施例中,呈调整因子的形式的额外精化可用于将带宽指派给客户端。举例来说,对于某些视频节目,其可能不提供具有满足的位速率的动态范围的多个流。在此情况中,内容服务器305必须处置针对超出预算或不足预算位速率指派的情况。如本文中所使用,超出预算是在所计算α×NP比可用最低位速率低得多(例如,组块的位速率大于针对客户端的所分配带宽)时。类似地,不足预算是在所计算α×NP比可用较高位速率高得多(例如,组块的位速率小于针对客户端的所分配带宽)时。
在一些实施例中,内容服务器305可从方程式6移除不足预算或超出预算的客户端。举例来说,假定客户端P超出/不足预算,那么针对客户端P的预算计算为:
及
在一些实施例中,如果位流经预编码及存储,那么其可在可用位速率超出或不足预算时发生。在此情况中,可使用变码器来产生接近α×NPV的位流。内容服务器305可通过计算α并以每一组块间隔将变码器的输出位速率调整为α×NPV而与变码器密切地一同工作。
如上文所提供,转变周期在客户端回放接近节目的结束时发生。这是因为当客户端回放接近节目的结束(例如,待日程安排的可用组块的数目小于K)时,可能不存在用于下载以填充日程安排窗的足够组块。在此情况中,可使用方程式13来补偿日程安排窗中的间隙。
在方程式13中,M表示用于下载的总剩余组块的数目,且K表示用于日程安排窗的日程安排组块的数目。在此情况中,M<K。为了确保经日程安排组块及时到达客户端,针对方程式5做出修改。代替使用M个组块的NPV的和,内容服务器305如下来确定所述和:
此将较高位速率指派给客户端使得其在小于TSW日程安排窗时间中完成M<K个组块的下载。客户端可在此时终止会话,这触发应用于与内容服务器通信的剩余客户端的新的日程安排窗的计算。
最后,在一些实施例中,关于客户端的网络瓶颈问题可能发生。此可在客户端侧上的最终网络(例如,802.11g/n Wi-Fi家庭网络)显著减缓且其带宽下降到低于经日程安排位速率时发生。为了解决此问问题,可存储先前HLS组块的下载速率的历史。因此,在一些实施例中,内容服务器305在发送由HLS客户端请求的组块之前检查客户端的先前下载速率是否高于经日程安排的经加权网络带宽。如果否,那么基于先前下载速率历史及HLS客户端信息而计算新的较低速率。
鉴于本论述的原理可应用于的许多可能实施例,应认识到,本文中关于图式所描述的实施例意在仅为说明性且不应理解为限制权利要求书的范围。因此,如本文中所描述的技术涵盖可归属于所附权利要求及其等效内容的范围内的所有此类实施例。
Claims (9)
1.一种用于将视频内容从服务器(305)提供到多个媒体装置(320)的方法,所述方法包括:
由所述服务器(305)使用基于超文本传送协议的实况流式传输客户端模型“HCM”或需求参数向量“NPV”确定待分配给所述多个媒体装置(320)中的每一者的带宽;以及
将所述所分配带宽提供到所述多个媒体装置(320)中的每一者;
其中所述视频内容是以多个分段从所述服务器(305)发射的;且
其中每一分段是以可在不同分段间变化的位速率发射的。
2.根据权利要求1所述的方法,其中所述服务器针对所述多个媒体装置中的每一者构造基于状态的HCM。
3.根据权利要求2所述的方法,其中所述HCM提供媒体装置是否处于缓冲状态或回放状态中。
4.根据权利要求2所述的方法,其中所述HCM提供媒体装置缓冲器的满度的估计。
5.根据权利要求2所述的方法,其中分配给所述多个媒体装置中的每一者的所述带宽防止媒体装置缓冲已从所述服务器接收的内容。
6.根据权利要求1所述的方法,其中所述服务器或代理针对所述多个媒体装置中的每一者构造NPV。
7.根据权利要求6所述的方法,其中所述NPV是基于以下各项中的一或多者:视频复杂度、装置简档、服务优先级等级及编解码器简档。
8.根据权利要求1所述的方法,其进一步包括:
以一位速率将所述视频内容从所述服务器发射到一或多个媒体装置,所述位速率在针对每一媒体装置的所述所分配带宽的界限内。
9.一种用于将视频内容提供到多个媒体装置(320)的服务器(305),所述服务器(320)包括:
一组处理器(305a);以及
计算机可读存储媒体(305b),其包括用于控制所述组处理器(305a)从而被配置以进行以下操作的指令:
使用基于超文本传送协议的实况流式传输客户端模型HCM或需求参数向量NPV确定待分配给所述多个媒体装置(320)中的每一者的带宽;以及
将所述所分配带宽提供到所述多个媒体装置(320)中的每一者;
其中所述视频内容是以多个分段从所述服务器(305)发射的;且
其中每一分段是以可在不同分段间变化的位速率发射的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261668286P | 2012-07-05 | 2012-07-05 | |
US61/668,286 | 2012-07-05 | ||
PCT/US2013/048955 WO2014008200A1 (en) | 2012-07-05 | 2013-07-01 | Methods and devices for bandwidth allocation in adaptive bitrate streaming |
US13/932,056 US8910229B2 (en) | 2012-07-05 | 2013-07-01 | Methods and devices for efficient adaptive bitrate streaming |
US13/932,056 | 2013-07-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104471955A true CN104471955A (zh) | 2015-03-25 |
CN104471955B CN104471955B (zh) | 2017-08-11 |
Family
ID=49879562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380035950.1A Active CN104471955B (zh) | 2012-07-05 | 2013-07-01 | 将视频内容提供到多个媒体装置的方法以及服务器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8910229B2 (zh) |
EP (1) | EP2870776B8 (zh) |
KR (1) | KR102110627B1 (zh) |
CN (1) | CN104471955B (zh) |
WO (1) | WO2014008200A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107683600A (zh) * | 2015-06-12 | 2018-02-09 | 爱立信股份有限公司 | 用于响应于客户端的视频缓冲器特性来管理abr比特率递送的系统和方法 |
CN108702532A (zh) * | 2015-11-04 | 2018-10-23 | 三星电子株式会社 | 用于在多媒体系统中提供数据的方法和设备 |
CN110089119A (zh) * | 2016-10-18 | 2019-08-02 | 奈飞公司 | 用于分布式编码的恒定斜率比特率分配 |
CN110798643A (zh) * | 2019-11-25 | 2020-02-14 | 广州市奥威亚电子科技有限公司 | 一种用户终端设备及使用其的视音频质量保证系统 |
CN115152241A (zh) * | 2020-02-04 | 2022-10-04 | 杜比国际公司 | 用于媒体内容的自适应播放的方法和设备 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10003851B2 (en) * | 2009-11-24 | 2018-06-19 | Imagine Communications Corp. | Managed multiplexing of video in an adaptive bit rate environment |
US20140181266A1 (en) * | 2011-09-29 | 2014-06-26 | Avvasi Inc. | System, streaming media optimizer and methods for use therewith |
US9628542B2 (en) * | 2012-08-24 | 2017-04-18 | Akamai Technologies, Inc. | Hybrid HTTP and UDP content delivery |
US9560392B2 (en) | 2012-09-07 | 2017-01-31 | Google Inc. | Dynamic bit rate encoding |
KR102023582B1 (ko) * | 2012-10-11 | 2019-11-04 | 삼성전자주식회사 | 무선 통신 시스템에서 청크 기반 스케줄링 방법 및 장치 |
EP2728829A1 (en) * | 2012-10-30 | 2014-05-07 | Thomson Licensing | Method for downloading content according to communication parameters, and associated content receiver |
US9967302B2 (en) * | 2012-11-14 | 2018-05-08 | Samsung Electronics Co., Ltd. | Method and system for complexity adaptive streaming |
CN103873926B (zh) * | 2012-12-13 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 下载并播放媒体文件的方法及系统 |
US9549000B2 (en) | 2013-03-15 | 2017-01-17 | Arris Enterprises, Inc. | Streaming media from a server delivering individualized content streams to clients |
WO2015013687A1 (en) * | 2013-07-25 | 2015-01-29 | Futurewei Technologies, Inc. | System and method for effectively controlling client behavior in adaptive streaming |
KR102064792B1 (ko) * | 2013-12-17 | 2020-01-10 | 한국전자통신연구원 | Http 기반의 멀티미디어 스트리밍 서비스를 위한 네트워크 대역폭 적응적 콘텐츠 생성 방법 및 시스템 |
US9542953B2 (en) * | 2014-01-22 | 2017-01-10 | Comcast Cable Communications, Llc | Intelligent data delivery |
US9584577B2 (en) | 2014-04-03 | 2017-02-28 | Cisco Technology, Inc. | Method for enabling use of HLS as a common intermediate format |
KR101873969B1 (ko) * | 2014-06-30 | 2018-07-04 | 에코스타 테크놀로지스 엘엘씨 | 대역폭 최적화를 위한 적응형 데이터 세그먼트 전송 중재 |
US9838455B2 (en) * | 2014-09-19 | 2017-12-05 | Mobitv, Inc. | Fast encoding of live streaming media content |
US10135748B2 (en) | 2014-09-29 | 2018-11-20 | Apple Inc. | Switching between media streams |
US9578395B1 (en) * | 2014-09-30 | 2017-02-21 | Amazon Technologies, Inc. | Embedded manifests for content streaming |
US9407968B2 (en) * | 2014-12-22 | 2016-08-02 | Verizon Patent And Licensing Inc. | Multicast and unicast adaptive bitrate services |
US20160188196A1 (en) * | 2014-12-30 | 2016-06-30 | Airwatch Llc | Floating media player |
EP3829184A1 (en) | 2015-04-09 | 2021-06-02 | Dejero Labs Inc. | Systems, devices and methods for distributing data with multi-tiered encoding |
US20170055007A1 (en) * | 2015-08-19 | 2017-02-23 | Ericsson Ab | System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics |
US10349104B2 (en) | 2015-08-19 | 2019-07-09 | Ericsson Ab | System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics |
US9788026B2 (en) * | 2015-08-25 | 2017-10-10 | Imagine Communications Corp. | Converting adaptive bitrate chunks to a streaming format |
KR101780247B1 (ko) * | 2016-03-04 | 2017-09-20 | 주식회사 큐버 | 동적 적응 버퍼링 기반의 ott 데이터 처리 방법 |
EP3440842B1 (en) * | 2016-04-07 | 2021-08-04 | Telefonaktiebolaget LM Ericsson (PUBL) | Media stream prioritization |
US10491649B2 (en) * | 2016-04-12 | 2019-11-26 | Harmonic, Inc. | Statistical multiplexing using a plurality of encoders operating upon different sets of unique and shared digital content |
US10349098B2 (en) | 2016-07-20 | 2019-07-09 | Arris Enterprises Llc | Video and data multiplexing in an adaptive bitrate server |
WO2018017891A1 (en) * | 2016-07-20 | 2018-01-25 | Arris Enterprises Llc | Client feedback enhanced methods and devices for efficient adaptive bitrate streaming |
US10812559B2 (en) * | 2017-01-18 | 2020-10-20 | Amazon Technologies, Inc. | Just-in-time variable adaptive encoding and delivery of media content |
US10491645B2 (en) | 2017-03-01 | 2019-11-26 | At&T Intellectual Property I, L.P. | System and method for switching between adaptive bit rate and fixed rate streams |
WO2018165487A1 (en) * | 2017-03-08 | 2018-09-13 | Arris Enterprises Llc | Excess bitrate distribution based on quality gain in sabr server |
US10397286B2 (en) * | 2017-05-05 | 2019-08-27 | At&T Intellectual Property I, L.P. | Estimating network data streaming rate |
US10182269B1 (en) * | 2018-04-24 | 2019-01-15 | Verizon Patent And Licensing Inc. | HTTP live streaming delivery over multicast |
US11089346B2 (en) * | 2018-07-24 | 2021-08-10 | At&T Intellectual Property I, L.P. | Adaptive bitrate streaming techniques |
US10945005B2 (en) * | 2018-12-07 | 2021-03-09 | Arris Enterprises Llc | Multiple parental rating content and method of presentation |
CN111107387B (zh) * | 2019-12-30 | 2021-12-28 | 广州酷狗计算机科技有限公司 | 视频转码方法、装置及计算机存储介质 |
US11290513B1 (en) * | 2021-04-14 | 2022-03-29 | Synamedia Limited | Distributed adaptive bitrate (ABR) asset delivery |
CN114727131A (zh) * | 2022-03-28 | 2022-07-08 | 慧之安信息技术股份有限公司 | 基于机器学习的流媒体推流性能提升方法和装置 |
WO2024080597A1 (ko) * | 2022-10-12 | 2024-04-18 | 삼성전자주식회사 | 오디오 비트스트림을 적응적으로 처리하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1231102A (zh) * | 1997-07-01 | 1999-10-06 | 索尼公司 | 图像编码控制装置和方法、编码系统、传输系统及广播系统 |
CN101690078A (zh) * | 2007-04-02 | 2010-03-31 | 英国电讯有限公司 | 多视频流传输中的带宽分配控制 |
US20110082924A1 (en) * | 2009-10-06 | 2011-04-07 | Openwave Systems Inc. | Managing network traffic by editing a manifest file |
CN102111643A (zh) * | 2009-11-24 | 2011-06-29 | Rgb网络有限公司 | 在自适应位速率环境中对视频的受管理的多路复用 |
US20110231569A1 (en) * | 2009-09-22 | 2011-09-22 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
CN102246531A (zh) * | 2008-12-10 | 2011-11-16 | 英国电讯有限公司 | 复用视频流传输 |
US20110314130A1 (en) * | 2010-04-08 | 2011-12-22 | Nery Strasman | Managing streaming bandwidth for multiple clients |
CN102498715A (zh) * | 2009-05-19 | 2012-06-13 | 宝美瑞思网络有限公司 | 带宽回收用受管理自适应比特率的方法、装置及计算机可读介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122145B2 (en) | 2004-05-17 | 2012-02-21 | Nokia Corporation | System, method and computer program product for grouping clients and transferring content in accordance with the same |
KR101744974B1 (ko) * | 2010-09-16 | 2017-06-08 | 삼성전자주식회사 | 하이퍼텍스트 전송 프로토콜 스트리밍 서비스에서 복수의 컨텐츠 구성 요소에 대한 공통 속성 표현 방법 및 장치 |
US8930559B2 (en) * | 2012-06-01 | 2015-01-06 | Verizon Patent And Licensing Inc. | Adaptive hypertext transfer protocol (“HTTP”) media streaming systems and methods |
-
2013
- 2013-07-01 CN CN201380035950.1A patent/CN104471955B/zh active Active
- 2013-07-01 US US13/932,056 patent/US8910229B2/en active Active
- 2013-07-01 WO PCT/US2013/048955 patent/WO2014008200A1/en active Application Filing
- 2013-07-01 KR KR1020157002890A patent/KR102110627B1/ko active IP Right Grant
- 2013-07-01 EP EP13739319.5A patent/EP2870776B8/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1231102A (zh) * | 1997-07-01 | 1999-10-06 | 索尼公司 | 图像编码控制装置和方法、编码系统、传输系统及广播系统 |
CN101690078A (zh) * | 2007-04-02 | 2010-03-31 | 英国电讯有限公司 | 多视频流传输中的带宽分配控制 |
CN102246531A (zh) * | 2008-12-10 | 2011-11-16 | 英国电讯有限公司 | 复用视频流传输 |
CN102498715A (zh) * | 2009-05-19 | 2012-06-13 | 宝美瑞思网络有限公司 | 带宽回收用受管理自适应比特率的方法、装置及计算机可读介质 |
US20110231569A1 (en) * | 2009-09-22 | 2011-09-22 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US20110082924A1 (en) * | 2009-10-06 | 2011-04-07 | Openwave Systems Inc. | Managing network traffic by editing a manifest file |
CN102111643A (zh) * | 2009-11-24 | 2011-06-29 | Rgb网络有限公司 | 在自适应位速率环境中对视频的受管理的多路复用 |
US20110314130A1 (en) * | 2010-04-08 | 2011-12-22 | Nery Strasman | Managing streaming bandwidth for multiple clients |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107683600A (zh) * | 2015-06-12 | 2018-02-09 | 爱立信股份有限公司 | 用于响应于客户端的视频缓冲器特性来管理abr比特率递送的系统和方法 |
CN108702532A (zh) * | 2015-11-04 | 2018-10-23 | 三星电子株式会社 | 用于在多媒体系统中提供数据的方法和设备 |
US10904635B2 (en) | 2015-11-04 | 2021-01-26 | Samsung Electronics Co., Ltd | Method and device for providing data in multimedia system |
CN110089119A (zh) * | 2016-10-18 | 2019-08-02 | 奈飞公司 | 用于分布式编码的恒定斜率比特率分配 |
CN110089119B (zh) * | 2016-10-18 | 2021-11-30 | 奈飞公司 | 用于比特率分配的方法、系统及存储介质 |
CN110798643A (zh) * | 2019-11-25 | 2020-02-14 | 广州市奥威亚电子科技有限公司 | 一种用户终端设备及使用其的视音频质量保证系统 |
CN110798643B (zh) * | 2019-11-25 | 2022-02-22 | 广州市奥威亚电子科技有限公司 | 一种用户终端设备及使用其的视音频质量保证系统 |
CN115152241A (zh) * | 2020-02-04 | 2022-10-04 | 杜比国际公司 | 用于媒体内容的自适应播放的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20140013376A1 (en) | 2014-01-09 |
CN104471955B (zh) | 2017-08-11 |
KR20150042191A (ko) | 2015-04-20 |
KR102110627B1 (ko) | 2020-05-13 |
WO2014008200A1 (en) | 2014-01-09 |
EP2870776A1 (en) | 2015-05-13 |
EP2870776B1 (en) | 2017-11-01 |
EP2870776B8 (en) | 2017-12-13 |
US8910229B2 (en) | 2014-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104471955A (zh) | 用于自适应位速率流式传输的带宽分配的方法及装置 | |
US11677799B2 (en) | Client feedback enhanced methods and devices for efficient adaptive bitrate streaming | |
Spiteri et al. | From theory to practice: Improving bitrate adaptation in the DASH reference player | |
US11729109B2 (en) | Excess bitrate distribution based on quality gain in SABR server | |
CN104956631B (zh) | 用于执行链路感知自适应流传输的设备和方法 | |
CN102439938B (zh) | 用于按照媒体播放器的需要控制实时流的下载速率的方法 | |
EP4080893A2 (en) | System for video playback using a server generated manifest | |
US9060207B2 (en) | Adaptive video streaming over a content delivery network | |
EP2279476B1 (en) | Method and apparatus for delivering and caching multiple pieces of content | |
EP2733935A1 (en) | Generation device, distribution server, generation method, playback device, playback method, playback system, generation program, playback program, recording medium and data structure | |
CN103765905A (zh) | 多媒体流的自适应转码的方法和装置 | |
CN104365108A (zh) | 实时流送视频处理 | |
US8856821B2 (en) | Distributed scheduling of media channel playout | |
CN103828325A (zh) | 流送媒体的统计复用 | |
CN105684390A (zh) | 用于为自适应流传输客户端预留带宽的方法和设备 | |
CN104604245A (zh) | 呈现时间控制 | |
US10349098B2 (en) | Video and data multiplexing in an adaptive bitrate server | |
EP2446624B1 (en) | Modifying command sequences | |
US20220035724A1 (en) | Non-linear management of real time sequential data in cloud instances via time constraints | |
Abdelli et al. | Context-aware adaptation of multimedia documents for consistent presentations | |
CN106303587A (zh) | 一种下载音视频数据的方法及装置 | |
CN106331747B (zh) | 一种视频优化的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170517 Address after: American California Applicant after: GOOGLE TECHNOLOGY HOLDINGS LLC Address before: Illinois Applicant before: Action company limited of Motorola |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Technology Holdings Co., Ltd of Google Address before: American California Patentee before: GOOGLE TECHNOLOGY HOLDINGS LLC |