CN105580375A - 视频缓存 - Google Patents
视频缓存 Download PDFInfo
- Publication number
- CN105580375A CN105580375A CN201480043667.8A CN201480043667A CN105580375A CN 105580375 A CN105580375 A CN 105580375A CN 201480043667 A CN201480043667 A CN 201480043667A CN 105580375 A CN105580375 A CN 105580375A
- Authority
- CN
- China
- Prior art keywords
- fragment
- video
- rate
- file
- quality
- 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 claims abstract description 24
- 239000012634 fragment Substances 0.000 claims description 150
- 230000005540 biological transmission Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 description 33
- 238000013500 data storage Methods 0.000 description 18
- 230000006978 adaptation Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000454 anti-cipatory effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012958 reprocessing Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000004044 response Effects 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- 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/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
- H04N21/6379—Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种向视频客户端提供修改后的清单以流传输与该清单关联的视频序列的方法。如果本地缓存了较高质量的片段,则对原始清单进行修改从而用对该较高质量或比特率的等同片段的引用来替换对较低质量或比特率的片段的位置的引用。随后,当该视频客户端确定应当被流传输的片段的给定质量时,其使用修改后的清单来取得针对该片段的合适的引用,并且如果进行了替换,则将会提供对较高质量的替换片段的引用。因此,将本地缓存考虑在内,该客户端将总是被提供最高可能质量的片段。
Description
技术领域
本申请涉及管理对视频内容的流传输请求的方法,具体地其中,修改与视频序列相关联的清单文件以考虑已本地缓存的内容。
背景技术
自适应视频流传输技术正变得更加普遍,其中视频片段被以多个速率/分辨率编码并且存储在网络中的一个或者多个服务器中。客户端首先下载清单文件,该清单文件描述了每个片段的可用速率/分辨率以及每个片段位于哪里(例如,内容服务器)。客户端随后利用清单文件与客户端具有可用的带宽的估计来请求能够实现以最佳质量播放该视频而不停滞的合适片段。可能目前被最广泛采用的自适应流传输标准是MPEGDASH(通过HTTP的动态自适应流传输)。DASH提供以媒体再现描述文件或MPD文件形式的清单。苹果公司的自适应视频流传输技术,HLS(HTTP现场流传输),提供播放列表文件(m3u文件)形式的清单。
缓存是可以被用于将内容置于较接近客户端的常规技术,并且因此减少了客户端需要进行的网络穿透来获取内容,从而降低了延时且增加了带宽。
当前的内容服务器趋向于将内容缓存在CDN(内容分发网络)中。但是,这些通常是在网络的核心并且因此缓存的优势没有相对于视频流传输产生很大差别。缓存节省了网络的传输的成本并且降低了通过核心的流量,但是没有对于到客户端的传输产生很大差别,因为易变性是(尤其是在移动中)很可能趋向于网络的边缘。
典型地CDN通过使用HTTP重定向(HTTPredirect)将内容重定向到缓存。首先对中央服务器进行HTTP请求(使用例如预获取的清单),并且该服务器随后执行查找从而发现保存了所请求的内容的最接近于客户端的缓存。随后进行到该位置的HTTP重定向以使客户端获得该内容。
内容还可以被缓存在本地装置上的网络(web)浏览器中。每当针对一些内容进行了请求,依赖于HTTP报头,该内容可能被缓存在本地装置中。另选地,很多系统使用网络(web)代理来缓存内容,其可以被本地使用而不需要重连接到原始服务器。
但是,在自适应视频流传输系统中利用缓存会带来问题。客户端可以在基于清单的决定之后从内容服务器中请求视频片段,而没有意识到在缓存中可能具有可以很容易进行流传输的较高质量的版本。
发明内容
本发明的实施例的目的是提供将已缓存内容考虑在内的改进的自适应流传输方法。
根据本发明的一个方面,提供了一种在网络中管理对视频序列的流传输请求的方法,其中,该视频序列包括多个片段,并且该多个片段中的每个片段被以多个质量设置编码从而产生多个编码片段,其中,该方法包括以下步骤:
i)接收与所述视频序列相关的清单文件,其中,该清单文件包括标识能够取得相应编码片段的在网络中的标识符,针所述视频序列的处于各质量设置的每个片段包括一个标识符;
ii)识别本地存储的编码的片段;
iii)如果所述本地存储的编码片段具有更高质量设置,则通过针对所述视频序列的给定片段,用所述本地存储的编码片段的标识符替换针对处于所述质量设置中的一个质量设置的所述给定片段的标识符,来产生更新后的清单文件,
iv)针对视频流传输请求,向视频客户端提供所述更新后的清单文件。
该清单文件可以从内容服务器接收。所述本地存储可以是缓存器。
优选地,每个片段包括一个或更多个时间块。所述质量设置可以是比特率。
附图说明
为了更好地理解本发明,通过仅仅举例的方式来参考附图,其中:
图1是本发明的示例的系统示意图;
图2是本发明的示例的用于完整方法的处理流程图;
图3是示出了本发明的示例中的同步模块的操作步骤的流程图;
图4a是示出了示例性清单文件的表格。
图4b是示出了在本发明的示例中的示例性的更新后的清单文件的表格。
具体实施方式
在此将参考特定示例对发明进行描述。但是,本发明并不限制于这样的示例。
本发明的示例提出向视频客户端提供修改后的清单以流传输与该清单关联的视频序列的方法。修改原始清单以用对较高质量或比特率的等同片段的引用来替换对较低质量或比特率的片段的位置的引用,如果本地缓存了该较高质量的片段。随后,当该视频客户端确定应当被流传输的片段的给定质量时,其使用修改后的清单来取得针对该片段的合适的引用,并且如果进行了替换,则将提供对较高质量的替换片段的引用。因此,将本地缓存考虑在内,该客户端将总是被提供最高可能质量的片段。
图1示出了包括连接到网络120的客户端110的系统100,其中该网络包括内容服务器130。客户端110是PC,但是可以理解的是该客户端还可以是适当配置的智能TV、移动装置、机顶盒或类似的具有相同单元,并被构造成通过网络120连接到内容服务器130。
客户端110包括视频播放器140、同步模块150和缓存器160。视频播放器140包括在程序模块144的控制下操作的处理器142,其可以存储在合适的存储器中,例如硬盘或者ROM。该视频播放器140能够接收并且解码视频内容以输出给合适的显示器(未示出)。该视频内容被本地存储或通过网络120从该内容服务器130流传输。
缓存器160存储通过该视频播放器140播放的内容。如后面将要详细描述的,该视频内容可以包括编码后的视频内容的片段以及完整的视频序列。缓存器160被认为是本地存储器,在于存储在那里的数据可以相对于如果远程存储在网络120中更快被取得。以这一方式本地存储数据还被称为缓存。在流传输那些片段之后,视频片段可以被缓存,或在通过视频播放器140的任何请求之前,通过客户端被先行地缓存。以这种方式缓存片段,并且随后将该片段从缓存器160中传输到视频播放器140而不是从远程服务器帮助降低了延时并且在网络使用率而言是更为有效的。
视频播放器140还可以进行对远程存储的视频内容的请求。远程视频内容的一个源是该内容服务器130。该内容服务器130包括数据存储器132,其中存储了视频内容。该内容服务器130因此提供视频内容给该客户端110以及任何其他产生适当请求的装置。在本发明中,使用自适应流传输方案,其中视频内容或视频序列的给定段被分割为多个连续时间部分或片段,并且每个片段被以多个比特率或得到不同比特率的质量设置编码。以恒定感知质量编码在申请人的国际专利申请WO2009/060178中描述。例如ITUT’sH264标准的视频压缩方案可以被用于对片段编码,其中每个片段通常是2到10秒长并且优选地包括全部数量的图像组(GOP),从而实现在片段边界处的平滑片段之间的切换。编码后的片段存储在数据存储器132中。
在此示例中,视频序列A被划分成n个连续的时间片段:片段_1、片段_2、片段_3…片段_n。每个片段根据H264标准以3个不同比特率编码:率_1、率_2以及率_3。因此,视频序列得到(n×3)个编码片段,其中的每个存储在该本地存储器132中。
数据存储器132还存储与每个视频序列关联的清单文件,其描述了该序列的每个编码片段的可用比特率以及在哪里他们可以被定位(由于片段可以被缓存在一些中间介质节点以及在内容服务器本身)。在自适应流传输下,视频播放器140进行针对以其将例如网络带宽考虑在内以及播放缓冲等级而计算出的其可以支持的比特率而编码的片段的请求。视频播放器140利用该清单文件来确定编码片段的具体哪个被请求,以及将请求定向到哪里。
在此下面描述的本发明的示例是基于MPEGDASH自适应视频流传输标准。在MPEGDASH下,使用清单文件来确定片段中的哪个被请求,清单文件采用媒体呈现描述MPD文件的形式。请注意,本发明还使用其他自适应流传输标准来实现,例如苹果的HLS(HTTP现场流传输),其中清单将会替代地采用.m3u8播放列表文件的形式(每比特率一个文件,以及主播放列表文件链接单独比特文件)。
该MPD文件是XML文件。其包含关于编码后的视频的片段的信息,注入片段标示符、片段的编码比特率、以及用于该片段的资源定位符。图4a是示出了存储在通常的MPD文件中的数据的简化形式的表格。在此示例中,针对视频序列A的清单文件是称为A.mpd的XML文件,并且存储在数据存储器132中。
客户端110中的同步模块150包括在程序模块154的控制下操作的处理器152,程序模块154可被存储在例如硬盘或者ROM的合适的存储器中。同步模块150还包括数据存储器156。数据存储器156被用于存储更新的清单文件以及对清单文件进行更新的更新历史。下面将在此描述该同步模块150的操作。
虽然处理器142和152被单独示出,本领域技术人员将会意识到可以用客户端装置110中的单个物理处理器来替代提供两个处理器的功能。类似地,缓存器160以及数据存储器156可以由单独存储器装置提供,例如硬盘,或者通过单个、通用存储器装置,例如单个盘阵列。
现在将参照附图2中的处理流程图来描述本发明的示例,其中对来自附图1中的单元的附图标记同样适用相似的附图标记。
在此示例中,视频播放器140尝试从内容服务器130对视频序列A进行流传输。在步骤200中,该视频播放器140首先进行对与来自内容服务器130的视频序列A关联的清单文件A.mpd的请求。该视频播放器基于之前取得的播放列表或对来自内容服务器130的可用内容的标识知道将该请求定向到内容服务器130。该请求由同步模块150处理,其检查在数据存储器156中是否存在A.mpd文件的本地存储的版本。同步模块150在此类似于代理的作用,允许其处理来自视频播放器140的请求和对视频播放器140的响应。在此初始示例中,假设在这一阶段不存在A.mpd文件的本地存储的版本。在步骤202中,同步模块150因此将该请求转发到内容服务器130上。在步骤204中,内容服务器130接收对于A.mpd的请求,并且从数据存储器132中取得该A.mpd,并且将该文件A.mpd发送回客户端110。
图4a是总结了关于本发明的清单文件A.mpd中的关键信息的表格400。应当注意到实际信息是以XML格式而不是像这样的表格,但是此表格表示则以较为容易理解的方式阐述关键信息。表格400的每行402对应于特定的片段:片段_1、片段_2、片段_3、片段_4等,直到片段_n。每列404对应于编码比特率(率_1、率_2和率_3),其中每个率可以贯穿所有片段是固定的,也就是率_1(片段_1)=率_1(片段_2)和率_1(片段_3)等,或可以对于不同片段是不同的,也就是率_1(片段_1)≠率_1(片段_2)。该比特率在此以上升顺序被示出,其中率_1<率_2<率_3。该表格示出了对于每个片段/比特率对,可寻址的名称或标识符,其标识其中对应的以该比特率编码的片段可以被发现的位置。该标识符是通用资源标识符或URI。例如,对于其中可以发现以率_1编码的片段_1的位置的URI是S1-R1。最初,表格400中的URI将会指向他们在该内容服务器130中的对应片段。但是,这些URI可以根据下面描述的本发明而被改变。
在步骤206中,同步模块150从内容服务器中接收A.mpd文件并且在检查缓存器160和数据存储器156之后处理该文件。具体地,进行检查以确定是否在缓存器160中存在本地缓存的视频序列A的片段。基于清单的更新历史进行进一步检查,当正在处理的清单文件是先前已更新的本地存储的版本时这非常重要。此处理由同步模块150进行并且在图3的流程图中总结。
在图3中,步骤300,同步模块150检查缓存器160从而确定是否存在与视频序列A关联的视频的任何本地缓存的片段。在此示例中,我们假设视频序列A先前已经被流传输或已经具有一些对一些片段的先行缓存,得到以率_3编码的片段_3以及以率_2编码的片段_4,两者都被存储在缓存器160中。
如果清单文件是曾从数据存储器156中取得的一个则步骤302和304被调用,如果视频序列之前已被流传输或如果具有一些包括对该清单文件的请求的先行下载并且结果清单文件A.mpd的版本已被本地存储,则这会发生。对于此示例,我们假设没有A.mpd的本地存储的版本,并且步骤302和304被绕过。
在步骤306中,该同步模块150分析A.mpd文件和在步骤300中发现的缓存片段。其将缓存片段与那些在清单文件A.mpd中标识的进行比较。如果根据针对给定片段的清单发现以比最低可用比特率高的比特率编码的缓冲片段,则同步模块用对缓存的较高比特率片段的引用来替代在清单中针对该片段的任何较低比特率引用。
因此,在此示例中,在步骤300中标识的是两个本地缓存片段:以率_3编码的片段_3、和以率_2编码的片段_4。因此,由于以率_3编码的缓存片段_3被以高于最低比特率(率_1)高的比特率编码,所以对于片段_3,同步模块用针对以率_3编码的缓存片段_3的URI,S3-R3,替代A.mpd中的针对以率_1编码的片段_3的URI,S3-R1。类似地,由于以率_3编码的缓存片段_3被以高于针对片段_3的率_2的比特率编码,同步模块用针对以率_3编码的缓存片段_3的URI,S3-R3,替代A.mpd中的针对以率_2编码的片段_3的URI,S3-R2。并且最终,由于以率_3编码的缓存片段_4被以高于针对片段_3的率_2的比特率编码,同步模块用针对以率_3编码的缓存片段_3的URI,S3-R3,替代A.mpd中的针对以率_2编码的片段_3的URI,S3-R1。
图4b中的表格410示出了在已经进行更新之后的得到的修改后的A.mpd文件。
应当注意到该替换URI仅需要是针对在该内容服务器130处的相关片段的URI,而不是在缓存器160中的片段的本地存储的版本。这是因为同步模块150被设计成包括代理功能,其允许其处理请求并且使用本地缓存的等同内容或片段来履行。假如同步模块150不包括这种类似代理的功能,则URI被设置到缓存片段在该本地缓存器160中的真实位置,而不是设置到该内容服务器130中的位置。
在步骤308中,日志文件被写入从而记录A.mpd文件的更新历史。此日志文件包括标识更新后的片段/比特率的查找表,标注旧的(被替换的)URI和新的(替换的)URI。此日志文件的目的是使得更新后的A.mpd文件可以在以后使用中针对任何真实缓存的片段被验证,因为缓存片段可以依赖于缓存器160被如何管理而被修改或删除。此后将描述其如何被使用的讨论。
在步骤310中,将更新后的清单A.mpd存储在数据存储器156中。
现在,返回到附图2。在步骤208中,更新后的A.mpd文件(参见表格410)被返回到视频播放器140。
视频播放器140使用更新后的清单A.mpd来确定首先请求哪个片段。通常,视频播放器140将会以片段_1开始,该视频序列的起点。然而,视频播放器具有对片段_1编码的三个比特率的选择。视频播放器最初仅选择最低比特率(率_1)。另选地,该视频播放器可以使用适当的自适应流传输算法来确定请求哪个率,例如,通过估计该网络能够支持的一些近似最小比特率,并且相应地选择三个率中的一个。在此,假设视频播放器140在步骤212使用URIS1-R1进行对于片段_1,率_1的请求。S1-R1标识片段在该内容服务器150中的位置处。
但是,如果所请求的片段是本地缓存的,则同步模块150在步骤214a中从本地缓存中取得该片段。在此具体示例中,仅具有针对片段_3和片段_4的本地缓存的片段。因此,处理替代地进行到步骤214b,其中对该片段的请求被直接定向到该内容服务器,如由URIS1-R1指定的,并且该内容服务器将所请求的片段发送回客户端。
在步骤216中,同步模块150将所取得的片段转发到该视频播放器140,但是在步骤218中还可以同时在该本地缓存器160中缓存所取得的片段的副本。如果缓存了副本,并且根据本地存储的清单,其比特率高于用于该片段的最低比特率(来自步骤310),则分别根据步骤306和308的方法更新该清单并且更新日志文件。
在步骤220中,视频播放器从步骤210开始重复处理从而请求后续的片段。
当视频播放器140达到片段_3时,视频播放器可以确定由于其自适应流传输算法而其仅能够支持以率_2对该片段进行流传输,可能由于较早的片段的传输时间指示仅率_2可以通过该网络120被成功取得。其因此请求以率_2编码的片段_3,但是通过使用更新后的清单文件,针对片段_3/率_2提供的URI是S3-R3。因此在步骤212中进行的请求是针对以率_3编码的片段_3,其由同步模块150处理并且从本地缓存器160中取得,如在步骤214a。类似地,当进行针对片段_4的请求时,针对片段_4/率_1的任何请求将会得到正被使用的S4-R2的URI,并且因此以率_2编码的片段_4的缓存片段将会从缓存中取得而不是由同步模块150。
因此,通过如所描述地更新清单从而反映本地缓存的片段,优化了编码片段的提供从而将所缓存片段的考虑在内返回可用最高比特率片段。
在本发明的另一个示例中,在视频播放器进行针对视频序列A的请求之前,同步模块将更新后的清单文件存储到数据存储器156中。这最可能发生在清单文件被预先获取且被更新的先行下载的情境中,作为在缓冲器160中预先缓冲的视频片段的中一些的结果。
参照图3,现在当在步骤200中视频播放器进行针对A.mpd文件的请求时,同步模块150取得存储在数据存储器156中的更新后的A.mpd文件,其像图4b中的表格410,并且处理进行到步骤206。注意,在该数据存储器156中还存储日志文件,标注对A.mpd文件的更新历史。现在在步骤300,同步模块针对匹配步骤302中的视频序列A的任何缓存片段,检查缓存器160。根据更新后的清单A.mpd,应当至少存在以以率_3编码的片段_3和以率_2编码的片段_4存储在缓存器160中。然而,自从本地缓存的A.mpd被最后更新起,由于替代地缓存了其他片段,这些可能已被删除。如果以率_3编码的片段_3和以率_2编码的片段_4不再在缓存中,则在步骤304中同步模块可使用日志文件从而反转对更新后的清单A.mpd的改变,使得原始URI可以被恢复,因此避免了清单不正确地引用不再存储在缓存器160中的片段。此后,处理在步骤306到310按照以前继续,接着返回图2中的步骤208。
这些附加的步骤确保了更新后的清单文件正确地反映本地缓存器160的当前状态。
上述示例大致描述了视频播放器140触发针对清单文件的初始请求。在本发明的另一个示例中,同步模块150获得视频播放器140可以播放的视频序列的播放列表,并且先行请求针对那些序列中的一些的清单文件并且先行从内容服务器下载那些序列的中一些片段,以在数据存储器160缓存中。该先行请求的清单文件被存储在数据存储器156中,并且当视频播放器在步骤200中请求清单文件时,步骤202和步骤204被省略,而替代地同步模块从数据存储器156取得该先行请求的清单文件,并且前进到步骤206。
同步模块的上述功能包括取得任何本地缓冲的片段,基本上执行代理功能。然而,对本地缓冲的片段的取得可以相反由作为缓存器160的一部分的单独代理缓存功能来执行,留下同步模块管理仅与清单有关的功能。
虽然以上特定示例描述了基于相应比特率替换URI,但是可以代替地使用相对质量或感知质量。在很多种情况下质量与比特率非常相关,使得随着比特率增加,质量也趋向于增加。此外,以给定的质量对片段进行将会得到处于相关比特率的编码片段,这就是为什么上述示例是通过参照比特率而不是质量来描述的。但是,存在比特率不随着质量而增加的情况,尤其是当质量度量是感知质量时。例如,用较低分辨率和较低比特率编码的片段与在较高分辨率和较高比特率编码的相同片段相比,可以具有更高的感知质量。
虽然上述视频编码方式使用了H264,但是本领域技术人员将会意识到可以替代地使用其他视频压缩技术。
同步模块150以及缓存器160还被与客户端110分开设置。例如,它们可能位于连接到该客户端的家庭集线器(homehub)、路由器或媒体服务器中。成功操作的主要条件是同步模块以及缓存器应当通过具有非常低传输延时的连接而连接到客户端,否则缓存的效果将被严重降低。
本发明的示例性实施被实现,至少部分地,通过可执行程序代码,其可以被实现为应用程序数据。当该计算机程序代码被安装到该同步模块150的处理器152中的存储器时,其提供能够至少部分执行根据本发明的上述示例的方法的计算机程序代码指令。
本领域技术人员将会意识到涉及到的该计算机程序指令可以对应于附图3中示出的流程图,其中流程图的每一个步骤可以对应于至少一行计算机程序代码并且使得,与该同步模块中的该处理器152一起,提供影响该描述的处理的设备。
通常,在此注意到虽然上面描述了本发明的示例,在不超出如在附加的权利要求定义的本发明的范围的情况下可以做出对描述的示例的多种变形和修改。本领域技术人员将会识别对该描述的示例的修改。
Claims (5)
1.一种在网络中管理对视频序列的流传输请求的方法,其中,该视频序列包括多个片段,并且该多个片段中的每个片段被以多个质量设置编码从而产生多个编码片段,其中,该方法包括以下步骤:
i)接收与所述视频序列关联的清单文件,其中,该清单文件包括标识能够取得相应编码片段的网络标识符,针对所述视频序列的处于各个质量设置的每个片段包括一个网络标识符;
ii)标识本地存储的编码片段;
iii)如果所述本地存储的编码片段具有更高质量设置,则通过针对所述视频序列的给定片段,用所述本地存储的编码片段的标识符替换针对处于所述质量设置中的一个质量设置的所述给定片段的网络标识符,来产生更新后的清单文件;
iv)针对视频流传输请求,向视频客户端提供所述更新后的清单文件。
2.根据权利要求1的方法,其中,所接收的清单文件来自于内容服务器。
3.根据权利要求1或2的方法,其中,所述本地存储器是缓存器。
4.根据以上权利要求中任一项所述的方法,其中,每个片段包括一个或更多个时间块。
5.根据以上权利要求中任一项所述的方法,其中,所述质量设置是比特率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13250084.4A EP2833640A1 (en) | 2013-08-02 | 2013-08-02 | Video caching |
EP13250084.4 | 2013-08-02 | ||
PCT/GB2014/000299 WO2015015140A1 (en) | 2013-08-02 | 2014-07-31 | Video caching |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105580375A true CN105580375A (zh) | 2016-05-11 |
CN105580375B CN105580375B (zh) | 2019-02-22 |
Family
ID=48986061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480043667.8A Active CN105580375B (zh) | 2013-08-02 | 2014-07-31 | 在网络中管理对视频序列的流传输请求的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9961395B2 (zh) |
EP (2) | EP2833640A1 (zh) |
CN (1) | CN105580375B (zh) |
WO (1) | WO2015015140A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213630A (zh) * | 2019-07-04 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 一种视频处理方法、装置、电子设备及介质 |
CN110463208A (zh) * | 2017-03-24 | 2019-11-15 | 索尼公司 | 内容处理装置、内容处理方法以及程序 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104469433B (zh) * | 2013-09-13 | 2018-09-07 | 深圳市腾讯计算机系统有限公司 | 一种视频直播回看方法及装置 |
US9596281B2 (en) * | 2014-03-18 | 2017-03-14 | Qualcomm Incorporated | Transport accelerator implementing request manager and connection manager functionality |
US9596323B2 (en) * | 2014-03-18 | 2017-03-14 | Qualcomm Incorporated | Transport accelerator implementing client side transmission functionality |
US10021434B2 (en) | 2014-05-30 | 2018-07-10 | Apple Inc. | Movie package file format |
US9722903B2 (en) | 2014-09-11 | 2017-08-01 | At&T Intellectual Property I, L.P. | Adaptive bit rate media streaming based on network conditions received via a network monitor |
US9794604B2 (en) * | 2014-11-14 | 2017-10-17 | Panopto, Inc. | Systems and methods for transmitting segment-quality units of a streaming video session |
CN104808907B (zh) * | 2015-05-20 | 2018-01-09 | 腾讯科技(深圳)有限公司 | 一种内容同屏显示方法、装置及终端设备 |
US10070174B2 (en) | 2015-06-05 | 2018-09-04 | Apple Inc. | Movie package file format to persist HLS onto disk |
US10225546B2 (en) * | 2016-02-26 | 2019-03-05 | Qualcomm Incorporated | Independent multi-resolution coding |
US11290755B2 (en) * | 2017-01-10 | 2022-03-29 | Qualcomm Incorporated | Signaling data for prefetching support for streaming media data |
US10785116B1 (en) * | 2017-01-12 | 2020-09-22 | Electronic Arts Inc. | Computer architecture for asset management and delivery |
US10313419B1 (en) * | 2017-01-31 | 2019-06-04 | Amazon Technologies, Inc. | VBR encoding of live content |
US10484446B1 (en) | 2017-01-31 | 2019-11-19 | Amazon Technologies, Inc. | VBR encoding of live content |
EP3646611A4 (en) * | 2017-06-29 | 2020-06-24 | ActiveVideo Networks, Inc. | ORCHESTRALIZED NETWORK APPLICATION SERVICE SYSTEM AND METHODS |
US20190069006A1 (en) * | 2017-08-29 | 2019-02-28 | Western Digital Technologies, Inc. | Seeking in live-transcoded videos |
US10623787B1 (en) | 2017-11-01 | 2020-04-14 | Amazon Technologies, Inc. | Optimizing adaptive bit rate streaming for content delivery |
US10659512B1 (en) * | 2017-12-05 | 2020-05-19 | Amazon Technologies, Inc. | Optimizing adaptive bit rate streaming at edge locations |
CN108882004B (zh) * | 2018-08-09 | 2021-06-15 | 广州视源电子科技股份有限公司 | 视频录制方法、装置、设备及存储介质 |
US10904593B1 (en) | 2018-09-04 | 2021-01-26 | Amazon Technologies, Inc. | Managing content encoding based on detection of user device configurations |
US10951932B1 (en) | 2018-09-04 | 2021-03-16 | Amazon Technologies, Inc. | Characterizing attributes of user devices requesting encoded content streaming |
US10939152B1 (en) | 2018-09-04 | 2021-03-02 | Amazon Technologies, Inc. | Managing content encoding based on user device configurations |
US11064237B1 (en) | 2018-09-04 | 2021-07-13 | Amazon Technologies, Inc. | Automatically generating content for dynamically determined insertion points |
US11234059B1 (en) * | 2018-09-04 | 2022-01-25 | Amazon Technologies, Inc. | Automatically processing content streams for insertion points |
US10778938B2 (en) * | 2018-12-20 | 2020-09-15 | Hulu, LLC | Video chunk combination optimization |
FR3094597B1 (fr) | 2019-03-27 | 2021-06-11 | Streamroot | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
US11416203B2 (en) | 2019-06-28 | 2022-08-16 | Activevideo Networks, Inc. | Orchestrated control for displaying media |
CA3200365A1 (en) | 2020-12-07 | 2022-06-16 | Activevideo Networks, Inc. | Systems and methods of alternative networked application services |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014947A (zh) * | 2004-04-30 | 2007-08-08 | 移动网络有限公司 | 一种关于流内容的自适应速率切换的装置、系统和方法 |
CN102577272A (zh) * | 2009-10-06 | 2012-07-11 | 微软公司 | 低等待时间的可高速缓存的媒体流式传输 |
CN102598622A (zh) * | 2009-10-29 | 2012-07-18 | 微软公司 | 将流传输的内容进行组装以供点播演示 |
US20120195362A1 (en) * | 2011-02-02 | 2012-08-02 | Alcatel-Lucent Usa Inc. | System and Method for Managing Cache Storage in Adaptive Video Streaming System |
US20120259994A1 (en) * | 2011-04-05 | 2012-10-11 | Gillies Donald W | Ip broadcast streaming services distribution using file delivery methods |
CN102918594A (zh) * | 2010-05-28 | 2013-02-06 | 微软公司 | 用于自适应流播放器的高速缓存控制 |
WO2013058684A1 (en) * | 2011-10-17 | 2013-04-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method for adaptive streaming, local storing and post-storing quality increase of a content file |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868772B2 (en) * | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
EP2059049A1 (en) | 2007-11-07 | 2009-05-13 | British Telecmmunications public limited campany | Video coding |
US10063606B2 (en) * | 2012-06-12 | 2018-08-28 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network |
-
2013
- 2013-08-02 EP EP13250084.4A patent/EP2833640A1/en not_active Ceased
-
2014
- 2014-07-31 WO PCT/GB2014/000299 patent/WO2015015140A1/en active Application Filing
- 2014-07-31 EP EP14750377.5A patent/EP3028467B1/en active Active
- 2014-07-31 CN CN201480043667.8A patent/CN105580375B/zh active Active
- 2014-07-31 US US14/909,279 patent/US9961395B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014947A (zh) * | 2004-04-30 | 2007-08-08 | 移动网络有限公司 | 一种关于流内容的自适应速率切换的装置、系统和方法 |
CN102577272A (zh) * | 2009-10-06 | 2012-07-11 | 微软公司 | 低等待时间的可高速缓存的媒体流式传输 |
CN102598622A (zh) * | 2009-10-29 | 2012-07-18 | 微软公司 | 将流传输的内容进行组装以供点播演示 |
CN102918594A (zh) * | 2010-05-28 | 2013-02-06 | 微软公司 | 用于自适应流播放器的高速缓存控制 |
US20120195362A1 (en) * | 2011-02-02 | 2012-08-02 | Alcatel-Lucent Usa Inc. | System and Method for Managing Cache Storage in Adaptive Video Streaming System |
US20120259994A1 (en) * | 2011-04-05 | 2012-10-11 | Gillies Donald W | Ip broadcast streaming services distribution using file delivery methods |
WO2013058684A1 (en) * | 2011-10-17 | 2013-04-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method for adaptive streaming, local storing and post-storing quality increase of a content file |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110463208A (zh) * | 2017-03-24 | 2019-11-15 | 索尼公司 | 内容处理装置、内容处理方法以及程序 |
CN110213630A (zh) * | 2019-07-04 | 2019-09-06 | 北京奇艺世纪科技有限公司 | 一种视频处理方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US9961395B2 (en) | 2018-05-01 |
EP3028467A1 (en) | 2016-06-08 |
WO2015015140A1 (en) | 2015-02-05 |
EP2833640A1 (en) | 2015-02-04 |
CN105580375B (zh) | 2019-02-22 |
EP3028467B1 (en) | 2019-06-12 |
US20160182941A1 (en) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105580375A (zh) | 视频缓存 | |
CN102238419B (zh) | 播放实况内容的方法和装置 | |
CN110121871B (zh) | 对于流式内容部分的基于请求的编码系统和方法 | |
US11477521B2 (en) | Media presentation description patches for video streaming | |
US9762639B2 (en) | Dynamic manifest generation based on client identity | |
US9485293B2 (en) | Dynamic chunk manipulation for streaming mixed media: application programming interface | |
KR101636108B1 (ko) | 에이치티티피 미디어 스트림 분배를 위한 방법과 배열 | |
US20130117413A1 (en) | Content distribution device, content playback device, content distribution system, method for controlling a content distribution device, control program, and recording medium | |
US9131027B2 (en) | Method, system, and client for streaming media service | |
CN110022482B (zh) | 视频起播方法、视频服务系统及存储介质 | |
US20140052823A1 (en) | Media playlists with selective media expiration | |
US9491239B2 (en) | Methods and systems for processing data requests | |
US10277927B2 (en) | Movie package file format | |
CN105532013A (zh) | 利用推送消息控制的自适应数据流传输方法 | |
CN103222272A (zh) | 用于视频缓存索引的系统和方法 | |
CN105191322A (zh) | 使用按需转码的多画面网络数字视频记录的系统和方法 | |
US11765421B2 (en) | Client based storage of remote element resolutions | |
CN108984595B (zh) | 用于脱机访问流媒体的持久id | |
JP2013045273A (ja) | キャッシュサーバ、キャッシュ対象決定方法、コンテンツ配信システム及びキャッシュ対象決定プログラム | |
US11202122B1 (en) | Stale variant handling for adaptive media player | |
CN104735089A (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 |