配置为接收划分成片段的多媒体内容的客户终端获得网络信息的方法

文档序号:10618740阅读:367来源:国知局
配置为接收划分成片段的多媒体内容的客户终端获得网络信息的方法
【专利摘要】配置为接收划分成片段的多媒体内容的客户终端获得网络信息的方法。客户终端(CT)被配置为接收由至少一个远程服务器(SE)提供的划分成片段的多媒体内容,每个片段能够以一个或多个表示获得,客户终端包括:通信模块(2),被配置为接收网络信息,网络信息包括沿服务器(SE)与客户终端(CT)之间的路径的高速缓存器(DANE)的有序列表。
【专利说明】
配置为接收划分成片段的多媒体内容的客户终端获得网络信 息的方法
技术领域
[0001] 本公开总体上设及通过例如但不限于HTTP(超文本传输协议)的自适应流传输 (adaptive streaming)技术领域,具体地,设及一种用于通过被配置为接收划分成片段的 多媒体内容的客户终端获得网络信息的方法。
【背景技术】
[0002] 本部分旨在向读者介绍本领域中可能与W下描述和/或要求保护的本公开的各方 面相关的各个方面。相信本讨论有益于向读者提供背景信息W便于更好地理解本公开的各 个方面。因此,应当理解,运些陈述应W运种方式被解读,而不是作为对现有技术的承认。
[0003] 通过HTTP的自适应流传输正在迅速成为用于多媒体内容分发的主要技术。在已经 使用的HTTP自适应流传输协议中,最著名的是Apple的HTTP实时流传输化LS) ,Microsoft的 Silverlight平滑流传输(SSS)、Adobe的Adobe动态流传输(ADS) W及由3GPP在SA4组内开发 的通过HTTP的动态自适应流传输(DA甜)。
[0004] 当客户终端希望播放自适应流传输中的视听内容(或A/V内容)时,首先必须得到 描述如何可W获得该A/V内容的文件。运通常通过从URL(统一资源定位符)得到描述文件 (所谓的清单(manifest))经由HTTP协议来完成,但是也能够通过其它方式(例如,广播、电 子邮件、SMS等)来实现。清单基本地列出了运种A/V内容的可用表示(就比特率、分辨率和其 他属性而言)。所述清单被预先产生,并例如通过远程服务器传送到客户终端。
[0005] 的确,在HTTP服务器上可获得对应于具有不同质量的A/V内容的数据流。最高质量 与高比特率相关联,最低质量与低比特率相关联。运允许向可能经受高度变化的网络条件 的许多不同终端进行分发。
[0006] 将整个数据流分成片段,所述片段使得客户终端可W在两个片段之间平滑地从一 个质量级别切换到另一质量级别。结果,视频质量在播放期间可变化但极少会中断(还被称 为冻结)。
[0007] 根据协议,清单可W呈现各种格式。对于Apple HLS协议,清单是M3U8播放列表,被 称为"主播放列表"。该播放列表的每个元素是另一播放列表,一个播放列表一个表示。根据 其它协议(例如,DASH),清单由一个接一个地描述所有表示的一个或多个XML文件组成。在 任意情况下,创建清单就和创建文本文件并根据确定性语法撰写文本一样简单。
[000引众所周知的是,根据其可用带宽,客户终端在给定时间点选择最佳表示,W优化网 络变化的鲁棒性与质量(例如,视频质量)之间的权衡。在每个接收到的片段,动态地确定可 用带宽。的确,在对于给定片段的HTTP请求的发射与相应HTTP响应的接收之间所限定的往 返时间(下文中称为HTTP RTT)通常被测量并用于估计沿传输路径的可用带宽。
[0009]当高速缓存器沿着客户终端与远程服务器之间的传输路径(运是频繁出现的)时, 在W下情况下在所述高速缓存器中已经存储了一个片段:另一客户端先前已经请求了具有 相同表示的相同片段,或者内容传递网络(CDN)已经在高速缓存器中供应了该片段。
[0010]因此,对于所述给定片段的HTTP请求的响应比如果片段来自远程服务器更快。因 为传输路径更短,客户终端与高速缓存器之间的HTTP请求的HTTP RTT可W比客户终端与远 程服务器之间的HTTP RTT少得多。
[0011] 另外,在存在沿传输路径的高速缓存器(所请求的片段存储在高速缓存器中)的情 况下,峰值速率可W更好,尤其是当在高速缓存器与远程服务器之间的所述传输路径上存 在拥塞时。
[0012] 由于客户终端通常不区分由远程服务器或由中间高速缓存器发送的应答,其错误 地将带宽变化解释为端到端网络条件的变化,而实际上其在观测传输路径从"客户终端至 服务器"路径到"客户终端至高速缓存器"路径的切换。
[0013] 因此,由客户终端执行的带宽估计被高估,并且不能准确地反映所预期的端到端 传输路径特性。
[0014] 运种高估通常导致终端用户体验不佳。确实,如果所估计的带宽高于预期,则自适 应流传输客户终端通常从较高质量的表示(例如,较高的比特率)请求片段。因此,随着表示 改变,该请求的片段在高速缓存器中的概率更低(假设高速缓存器通过由先前客户终端W 恒定比特率播放相同多媒体内容而被填充)。与所述请求的片段相关联的下载时间应当比 预期长得多,导致所请求片段的过晚到达。接着,客户终端将切换回较低质量的表示,运可 能在高速缓存器中再次被发现。
[0015] 结果,客户终端在高质量片段与低质量片段之间来回切换-由于高速缓存未命中 而持续中断-运完全损害了高速缓存的益处。
[0016] 此外,因为HAS客户终端不知道高速缓存器的内容,所W错过了它们的加速能力W 及网络负荷减少的益处。此外,即使在片段的每次下载进行单独查询是可能的,当前HAS客 户终端也不能详细给出考虑到高速缓存器中片段序列的存在的速率自适应策略。
[0017] 本公开尝试改进上面提到的至少一些缺点,W提高终端用户体验的质量。

【发明内容】

[0018] 本公开设及一种用于通过客户终端获得网络信息的方法,所述客户终端被配置为 接收由至少一个远程服务器提供的划分成片段的多媒体内容,每个片段能够W-个或多个 表示获得,
[0019] 其特征在于,所述网络信息包括沿服务器与客户终端之间的路径的高速缓存器的 有序列表。
[0020] 在一个实施例中,所述网络信息还可W包括:对于所述有序列表中的至少一些高 速缓存器,由所述高速缓存器存储的片段的表示的列表。
[0021] 在一个实施例中,所述客户终端将请求发送到属于有序列表的目标高速缓存器, 并接收由所述目标高速缓存器存储的片段的表示的列表。该表示的列表是完整列表或之前 存储的片段与当前存储的片段之间的差异的列表。
[0022] 在一个实施例中,所述客户终端根据由所述目标高速缓存器存储的片段的表示的 列表,来更新由所述高速缓存器存储的片段的表示的列表。
[0023] 在另一实施例中,所述网络信息可W通过由客户终端从服务器接收的清单来提 供,所述清单列出了在所述服务器处的所述多媒体内容的可用表示。
[0024] 另外,所述清单可W包括沿服务器与客户终端之间的路径的高速缓存器的有序列 表。
[0025] 此外,所述清单可W针对所述有序列表的每个高速缓存器,标识由所述高速缓存 器存储的所述片段的表示。可W通过添加到本地缓存表示的列表的清单,由沿服务器与客 户终端之间的路径的每个遇到的高速缓存器来递增地构造所述列表。
[0026] 此外,可W通过添加高速缓存器自身的标识符W建立有序列表,由沿服务器与客 户终端之间的路径遇到的高速缓存器来修改所述清单。
[0027] 此外,所述高速缓存器还可W通过添加连接信息来修改清单。
[0028] 在另一方面,客户终端可W使用与用于传送数据的数据路径不同的辅助通信路径 来查询所述有序列表中的至少一些高速缓存器,W确定由每个查询的高速缓存器存储的片 段的表示。
[0029] 在另一方面,网络信息可W附接到由客户终端从服务器接收的消息上,所述消息 包括用于允许接收所述消息的高速缓存器在所述消息中报告其存在性的扩展头。
[0030] 具体地,标识了每个遇到的高速缓存器的有序列表可W建立在所述扩展头中。
[0031] 另外,连接信息可W与所述有序列表的每个高速缓存器相关联。
[0032] 在一个实施例中,所述方法包括:从属于高速缓存器的有序列表的至少一个高速 缓存器下载片段。
[0033] 在一个实施例中,通过与用于接收片段的接口相似的网络接口或与用于接收片段 的接口不同的网络接口来接收所述网络信息。
[0034] 根据不同实施例,网络接口适于接收网络信息(例如,Wifi、AD化、缆线、移动和/或 广播(例如,DVB、ATSC)接口的有序列表和列表)。
[0035] 根据不同实施例,适于接收片段的网络接口是Wifi、ADSL、缆线、移动和/或广播 (例如,DVB、ATSC)接口。
[0036] 在一个实施例中,客户终端使用与用于接收片段的协议(例如,http、Flute)相似 的协议或不同的协议(片段:http,flute;网络信息:TR69宽带论坛或广播协议,xmpp IETF, DDS OMG(对象管理组))来接收网络信息。
[0037] 在一个实施例中,网络信息存储在随机存取存储器(RAM)中;
[0038] 在一个实施例中,片段存储在本地存储器(硬盘或闪存)中和/或由解码器解码和/ 或显示在显示器上。
[0039] 本公开还包括一种被配置为接收由至少一个远程服务器提供的划分成片段的多 媒体内容的客户终端,每个片段能够W-个或多个表示获得。根据本公开,所述客户终端包 括:通信模块,被配置为接收网络信息,所述网络信息包括沿服务器与客户终端之间的路径 的高速缓存器的有序列表。
[0040] 另外,所述网络信息还可W包括:对于所述有序列表中的至少一些高速缓存器,由 所述高速缓存器存储的片段的表示的进一步列表。
[0041] 此外,所述通信模块还可W被配置为使用与用于传送数据的数据路径不同的辅助 通信路径来查询所述有序列表中的至少一些高速缓存器,W确定由每个查询的高速缓存器 存储的片段的表示。
[0042] 本公开还设及一种用于通过高速缓存器发送网络信息的方法,所述高速缓存器被 配置为将由至少一个远程服务器提供的多媒体内容的片段传送到客户终端,每个片段能够 W-个或多个表示获得。
[0043] 根据本公开,所述网络信息包括沿服务器与客户终端之间的路径的高速缓存器的 有序列表。
[0044] 在一个实施例中,高速缓存器接收有序列表并将其更新W视为与客户终端最接近 的高速缓存器,该最接近的高速缓存器在访问速度和节省网络资源(例如,节省将片段上传 到客户终端的网络资源和/或最快地访问片段)方面是最优选的。接着,高速缓存器将更新 的有序列表向下转发到客户端;W运种方式,有序列表被递增地构造。
[0045] 在一个实施例中,高速缓存器将与高速缓存器相关联的本地缓存表示的列表添加 到与接收的高速缓存器的有序列表相关联的表示的接收列表;接着,高速缓存器将表示的 更新列表向下转发到客户端;W运种方式,表示的列表被递增地构造。
[0046] 本公开还设及一种适于发送网络信息的高速缓存器,所述高速缓存器被配置为将 由至少一个远程服务器提供的多媒体内容的片段传送到客户终端,每个片段能够W-个或 多个表示获得。根据本公开,所述网络信息包括沿服务器与客户终端之间的路径的高速缓 存器的有序列表。
[0047] 在一个实施例中,高速缓存器是包括在W下集合中的网络元件(也叫做网络高速 缓存器),所述集合包括:住宅网关,公共网关,公司网关,热点,电话,交通工具,互联网服务 提供商(ISP)网络元件和公司代理服务器。
[0048] 本公开还设及可W从通信网络下载和/或记录在计算机可读介质上的和/或可W 由处理器执行的计算机程序产品,所述计算机程序产品包括用于实现上述方法的步骤的程 序代码指令。
[0049] 此外,本公开还设及一种非暂时性计算机可读介质,包括其上记录的能够由处理 器运行的计算机程序产品,所述计算机程序产品包括用于实现前述方法的步骤的程序代码 指令。
[0050] 在下文阐述在范围上与所公开的实施例相符的一些方面。应理解,运些方面仅用 来向读者提供本公开可能采用的一些形式的简要概括,并且运些方面并非意在限制本公开 的范围。事实上,本公开可包括下文可能没有阐述的多个方面。
[0051] 在下文阐述在范围上与所公开的实施例相符的一些方面。应理解,运些方面仅用 来向读者提供本公开可能采用的一些形式的简要概括,并且运些方面并非意在限制本公开 的范围。事实上,本公开可包括下文可能没有阐述的多个方面。
【附图说明】
[0052] 通过下面参照附图的实施例和执行示例而绝非限制性的方式来示出本公开并使 本公开更好地被理解,在附图中:
[0053] -图1是可W实施本公开实施例的客户端-服务器网络架构的示意图;
[0054] -图2是根据本公开实施例的客户终端的示例的框图;
[0055] -图3是示出了由图2的客户终端执行的用于下载多媒体内容的即将到来的片段序 列的方法的流程图。
[0056] 在图1和图2中,呈现的方框仅是功能性实体,而不必对应于物理上分离的实体。 良P,运些方框能够W软件、硬件的形式来开发,或者可W实施在包括一个或多个处理器的一 个或若干集成电路中。
[0057] 在可能的情况下,贯穿附图,相同的附图标记将用于表示相同或类似部件。
【具体实施方式】
[0058] 应理解,为了清楚理解本公开,已经简化了本公开的附图和描述W示出相关的元 件,并且同时为了清楚起见,省略了在典型数字多媒体内容传送方法和系统中存在的许多 其它元件。然而,由于运些元件在本领域是公知的,本文中不提供对运些元件的详细讨论。 本文的公开针对本领域技术人员已知的所有运些变化和修改。
[0059] 根据实施例,针对HTTP自适应流传输协议(或HAS)描述了本公开。当然,本公开不 限于运种特定环境,当然也可W考虑和实现其他自适应流传输协议。
[0060] 如图1所示,一个或多个网络N(在附图中仅呈现了一个)所支持的能够实现本公开 的客户端-服务器网络架构包括一个或多个客户终端CT、一个或多个HTTP服务器SE、多个智 能高速缓存器DA肥W及一个或多个传统高速缓存器RNE。根据DA甜,还将运样的服务器SE命 名为媒体源(Media化igin)。它们产生例如媒体呈现描述(或MPD),所谓的清单。运是内容 分发的源:多媒体内容可来自一些外部实体,并在媒体源处被转换成HAS格式。
[OOW]智能高速缓存器DA肥是网络N中的高速缓存元件,被配置为了解传送HAS内容。使 用MPEG-DA甜术语,智能高速缓存器被视为DASH感知网络元件(DA肥)。
[0062] 传统高速缓存器RNE是网络N中的高速缓存元件,其不知道通过其传输的数据的类 型,或者至少不了解HAS方面。在MPEG-DA細术语中,将传统高速缓存器视为常规网络元件 (RNE) O
[0063] 客户终端CT希望从HTTP服务器SE之一获得多媒体内容。所述多媒体内容被划分成 多个片段(也被称为块(chunk))。假设多媒体内容在服务器SE处W不同表示可获得。在客户 端请求时,HTTP服务器SE能够通过一个或多个TCP/IP连接使用HTTP自适应流传输协议,将 片段流传输至客户终端CT。
[0064] 根据如图2所述的实施例,客户终端CT至少包括:
[0065] -到第一网络Nl的连接接口 1 (有线的和/或无线的,例如Wi-Fi、W太网等);
[0066] -通信模块2,包含用来与HTTP服务器SE通信的协议找。具体地,通信模块2包括本 领域公知的TCP/IP找。当然,其可W是任何其他类型的网络和/或通信装置,使得客户终端 CT能够与HTTP服务器SE通信;
[0067] -自适应流传输模块3,其从HTTP服务器SE接收HTTP流传输多媒体内容。其不断地 选择比特率更好地匹配网络约束及其自身约束的片段;
[0068] -视频播放器4,适配为解码和擅染多媒体内容;
[0069] -一个或多个处理器5,用于执行存储在客户终端CT的非易失性存储器中的应用和 程序;
[0070] -存储装置6,例如,易失性存储器,用于在将从HTTP服务器SE接收的片段传输至视 频播放器4之前缓冲运些片段;
[0071] -内部总线B,连接各模块W及本领域技术人员公知的用于执行普通客户终端功能 的所有装置。
[0072] 在实施例中,客户终端CT是便携式媒体设备、移动电话、平板计算机或膝上型计算 机、电视机、机顶盒、游戏设备或集成电路。自然地,客户终端CT可能不包括完整的视频播放 器,而是只包括一些子元件,比如用于解复用和解码媒体内容的子元件,并且客户终端CT可 W依赖于外部装置来向终端用户显示解码后的内容。在运种情况下,客户终端CT是支持 HTTP自适应流传输(HAS)的视频解码器,比如机顶盒。
[0073] 根据本公开,每个客户终端CT被配置为实现用于下载存储在远程服务器SE中的多 媒体内容的即将到来的片段序列的方法M,所述序列被选择为使得其特征与下文中描述的 一些质量标准最佳匹配。
[0074] 为了实现方法M,客户终端CT优选地需要了解网络架构N。
[0075] 为此,在客户终端CT请求多媒体内容时通过HTTP响应由服务器SE传送到客户终端 CT的清单包括在服务器SE处所述多媒体内容的可用表示的列表,还可W包括位于服务器SE 与客户终端CT之间的智能高速缓存器DA肥的有序列表。在运种情况下,服务器SE知晓网络 架构(例如,在受管理的网络中),并能够预先建立运样的有序列表。服务器SE可W提供依据 进行请求的客户终端CT的有序列表。
[0076] 在该有序列表中,每个遇到的智能高速缓存器DA肥可W通过W下项来标识:
[0077] -唯一标识符;
[0078] -连接信息,例如允许到达所述智能高速缓存器的服务接入点(如下文中所述)。
[0079] 在由客户终端CT接收时,智能高速缓存器DA肥的该有序列表被提供作为清单的扩 展,并且可选地,可W利用附加的连接信息来完成该有序列表。
[0080] 在该有序列表中,优选地,通过考虑智能高速缓存器DA肥与客户终端CT的接近度 来列出智能高速缓存器DANE:有序列表的第一元素对应于与客户终端CT最接近的智能高速 缓存器。
[0081] 在变型中,当服务器SE不知晓网络架构时,服务器SE可能无法预先建立运样的有 序列表。在运种情况下,每个智能高速缓存器DA肥检查(利用专口的检查模块)服务器SE的 HTTP响应的内容类型头,W识别出智能高速缓存器DA肥包含清单,并且接着利用例如智能 高速缓存器DA肥的对应服务接入点,通过将智能高速缓存器DANE自身的标识符添加到有序 列表来更新所述清单。
[0082] 用于建立有序列表的两种方法可W共存,使得服务器SE未知的一些智能高速缓存 器DA肥可W在它们接收到服务器SE的HTTP响应时将其自身添加到现存的有序列表。显然 地,在运种情况下,智能高速缓存器优选地在添加一些信息之前检查有序列表中其自身的 存在性。
[0083] W下内容是说明性的而非限制性的,MPEG-DA細清单中的智能高速缓存器DA肥的 有序列表的示例(删节的):
[0084]
[0085] 除了有序列表的智能高速缓存器层次信息,清单还可W例如通过在与对应智能高 速缓存器标识符相关联的附加列表中添加所存储的多媒体内容(或其部分)的每个片段的 表示,来指示多媒体内容的存储在有序列表的每个智能高速缓存器DANE中的片段的表示。 所述附加列表可W由服务器SE(例如,在受管理的网络的情况下)或者由每个遇到的智能高 速缓存器DA肥来建立。
[0086] 在另一变型中,为了确定网络架构W及尤其是有序列表的智能高速缓存器层次, 服务器SE将包括扩展头的HTTP响应发送到客户终端CT,其中,所述扩展头用于允许接收所 述响应的每个智能高速缓存器DA肥向客户终端CTW及向位于所述高速缓存器DA肥和客户 终端CT之间的近旁的高速缓存器报告其存在性。HTTP扩展头可W如下定义:
[0087] X-SmartCache-List="X-SmartCache-List"":"x-smartcache-directive
[0088] x-sm曰rtc曰che-directive="required" I x-sm曰rtc曰che-list
[0089] x-sm 曰 rtc 曰 che-list = l#x-sm 曰 rtc 曰 che-s 曰 P
[0090] x-sm3rtc3che-s3p = ip_address:port|j3bber_identifier
[0091] 头扩展可W向服务器SE和/或智能高速缓存器DA肥提供一种措施W向下游智能高 速缓存器DA肥和/或向客户终端CT指示其存在性,运样的措施附接于任何响应(特别地,包 括清单的响应)。
[0092] 由于专口的修改模块,服务器SE可W使用附接于HTTP响应的语法^-Smad^che: required", W迫使下游智能高速缓存器DA肥附上它们自己的标识符W及可选地它们的连 接信息。在接收到该头时,每个智能高速缓存器DANE在有序列表前面加上它们的标识符和 连接信息。有利地,接收到HTTP响应的首个智能高速缓存器丢弃"requirecK必需的r令牌。
[0093] 运种变型的一个优点在于,所述HTTP扩展头可W附接到其他响应消息(诸如其他 的内容数据传送)。还可W在拦截包括清单的HTTP响应时使用所述HTTP扩展头,但是不修改 该HTTP响应。
[0094] 作为说明性的非限制示例,有序列表的智能高速缓存器层次可W使用如下的HTTP 响应头来指示:
[0095] X-SmadCache-List: 157.254.235.97:12:345,74.125.226.230:12345
[0096] 在实施例的另一方面,可W通过与用于传送数据的主信道分开的辅助通信信道 (或路径)来交换用于查询智能高速缓存器DA肥的信令消息,该辅助信道独立于数据主信道 而操作。将运样的信令机制命名为带外信令。
[0097] 可W开发带外信令的两种不同机制,对于第一机制,实施单独的协议W针对特定 的智能高速缓存器DA肥,对于第二机制,具有用于信令的第二TCP连接的HTTP协议受益于 HTTP的请求的自然向上路由(由客户终端CT朝着服务器SE发送的信令请求自然地通过所遇 到的智能高速缓存器DANE和在适当时能够反应的传统高速缓存器RNE)。在任何情况下,运 些机制不影响传统高速缓存器R肥。
[0098] 根据使用特定协议的第一机制,信令覆盖(signaling overlay)包括使用有序列 表的智能高速缓存器层次及其标识符。一旦该信令覆盖可用,则不同的网络设备可W彼此 通信。智能高速缓存器接口可W用于交换高速缓存器管理操作。可W通过智能高速缓存器 服务接入点来访问所述智能高速缓存器接口,所述智能高速缓存器服务接入点被设置为清 单的一部分或被包括在HTTP响应头中。运允许DASH/HAS客户端调用智能高速缓存器接口的 操作。可W通过构造包含操作标识符及其参数的消息并将消息发送到智能高速缓存器接口 来调用每个操作。
[0099] 在说明性的非限制示例中,可W将信令消息建立为JSON串,JSON串是用许多服务 器端脚本语言容易解析的。在接收到信令消息时,智能高速缓存器DA肥可W执行所请求的 操作。
[0100] 具体地,可W通过若干合适的协议来传送客户终端CT与智能高速缓存器DANE之间 的信令消息。
[0101] 在第一说明性示例中,使用WebSocket,其允许客户终端CT与给定智能高速缓存器 DANE之间的双向点对点通信。在第二说明性示例中,可W使用XMPP,W允许点对多点的信息 发送(例如,对于到智能高速缓存器的所有客户终端的高速缓存器更新通知)。自然地,可W 使用其他协议。
[0102] 由于第一机制,客户终端CT可W与给定智能高速缓存器DA肥交换消息,W发现存 储在所述智能高速缓存器DA肥中的片段及其表示。可W使用W下消息:
[0103] getls&ched( [Se卵entlds: <list> ])
[0104] 在接收到该信令消息时,智能高速缓存器DA肥可W用包含所缓存的片段的标识符 的更新的列表来进行应答。可W由客户终端将该消息发送到其上游智能高速缓存器DA肥中 的任何一个,W获得每个单独智能高速缓存器的内容的精确概述。
[0105] 另外,智能高速缓存器DA肥可W使用针对所注册的客户终端的回叫,向客户端通 知其缓存内容的改变,客户终端例如已经预备地指定了它们希望监控的片段。现今,用 HTML5 WebSockets容易地实现运种回叫机制,可W采用服务器端事件但也可W采用其他技 术实现相似结果。
[0106] cacheUpdate( [Se卵entlds: <list> ])
[0107] 根据第二机制,客户终端CT也可W使用HTTP作为查询高速缓存器链(智能高速缓 存器DA肥和传统高速缓存器RNE)的信令措施,W发现缓存的内容。在次级TCP会话中朝着相 同的服务器地址发送运些信令HTTP消息,并且运些信令HTTP消息遵循与主数据传送会话相 同的路径。特定地建立信令HTT内青求,W避免触发数据传送。
[0108] 为此,可W使用HTTP肥AD方法或最小字节范围GET(例如,请求一个单字节数据)。 通过发送针对即将到来的片段的不同表示的多个肥AD(或1字节范围GET)请求,并使用所提 出的扩展,客户终端CT能够建立所缓存的表示的位置图。
[0109] 具体地,为了查询高速缓存器的内容,客户终端CT可W使用具有"only-if- cached"指令的乂ache-con化〇r (高速缓存-控制化TTP头,W请求最近的高速缓存器的内 容。然而,与第一机制相比,基于HTTP的机制隐含地允许仅查询朝着服务器SE的路径上的首 个高速缓存器。
[0110] 作为减轻仅查询首个高速缓存器运一缺点的扩展,信令请求的"only-if-cached" 指令还可W包括对应当考虑的高速缓存器的深度的指示,例如:
[0111] Cliche-Control :only-if-cached,depth = 3
[0112] 该深度值由智能高速缓存器DAr^解译,使得当在智能高速缓存器DAr^中没有缓存 所请求的片段的表示时,如果深度值允许,则所述智能高速缓存器向上转发信令请求。每次 智能高速缓存器DA肥没有存储所请求的表示时,深度值递减,并且在转发信令请求之前相 应地修改HTTP头。当智能高速缓存器DANE接收到深度值等于1的信令请求时,在高速缓存未 命中的情况下,不再转发所述信令请求。
[0113] 在改进中,存储所请求的表示的智能高速缓存器DA肥可W在其响应中包括指示已 到达的深度的补充指令,例如:
[0114] X-Sma;rt(^iche-Info:depth = 2
[0115] 于是,利用从智能高速缓存器DA肥接收到的值,客户终端CT可W通过从客户终端 CT的信令请求的初始深度值减去返回的值而知晓与所考虑的智能高速缓存器DANE的距离 (在高速缓存器方面)。
[0116] 备选地,客户终端CT可W通过在其信令请求中标识给定高速缓存器而将查询深度 限制到该高速缓存器。当信令请求到达所标识的智能高速缓存器DA肥时并且当所述智能高 速缓存器DA肥没有存储所请求的片段的表示时,所标识的智能高速缓存器DA肥不将该请求 向上转发至服务器SE,并且否定地应答。为此,将指定目标智能高速缓存器标识符的特定扩 展添加到HTTP信令请求的高速缓存-控制"only-if-cached"指令,例如:
[0117] C曰che-Control:only-if-c曰ched,unti 1 = <sm曰rtc曰che_id>
[0118] 在信令请求中使用的智能高速缓存器标识符可W是智能高速缓存器DA肥的已知 SAP或者所述智能高速缓存器DANE的任何唯一标识符。
[0119] 当HAS客户终端CT知晓布置在至服务器SE的路径上的智能高速缓存器DA肥,并知 晓由每个智能高速缓存器DA肥保持的缓存表示的列表时,客户终端CT可W实施方法M。
[0120] 给定针对k个即将到来的片段(限定了 k个片段的序列)知晓客户终端CT与服务器 SE之间的智能高速缓存器DA肥的内容,则方法M可W确定下载序列的所述片段的k个表示。 优选地,在仅下载m个片段(l<=m<=k)之后,或者在接收到高速缓存器更新消息时,定期 地执行方法M。运种更新允许优化从m+1至m+m(使用高达m+k的预测)的片段的进一步下载。
[0121] 根据实施例,并且如图3所示,用于在客户终端CT下载存储在服务器SE中且W不同 表示可获得的多媒体内容的即将到来的k个片段的序列的方法包括:
[0122] -针对在布置在客户终端CT和服务器SE之间的标识的高速缓存器DANE(如之前所 述)中存储的或未存储的所述片段的可用表示的一些或所有组合,计算(步骤Sl):
[0123] ?对于k个表示的所述组合中的每个组合的质量的效用函数IKk)的值;
[0124] .用于下载所述组合中的每个组合的预测时间T化);
[0125] 由如图2表示的客户终端CT的计算器7执行计算步骤S1。在变型中,计算器7可W与 处理器模块5集成或者是处理器模块5的部分;
[0126] -在所确定的效用函数的值中,选择(步骤S2)下载时间比时间阔值(例如,与片段 序列的播出时间相对应)短的最高效用函数值。由客户终端CT的选择模块8执行选择步骤 S2;
[0127] -在客户终端CT,至少下载(步骤S3)与所选择的组合相关联的表示的初始序列。在 接收到关于所选择的组合的信息时,由通信模块2和/或由自适应流传输模块3管理所选择 的表示的下载。
[01%]自然地,步骤Sl至S3中的至少一些可W不在客户终端CT中执行,而在外部网络设 备(例如服务器、网关、代理服务器等)中执行。
[0129] 具体地,对于给定组合,效用函数IKk)取决于:
[0130] -所述组合的表示的整体质量f巾、W ;
[0131] -所述组合的表示的变化性O;
[0132] -所述组合的表示的高速缓存未命中的成本M化)。
[0133] 在客户终端上将由终端用户感知到的整体质量与所述组合中的表示的质量成比 例。由于使用较高的比特率提供较高的质量,热化)所指示的表示的比特率的总和或者它们 的平均可W用作该整体质量的估计。
[0134] 变化性可W例如通过所述组合中的表示值的方差来表述。
[0135] 高速缓存未命中的成本是影响网络资源的带宽成本W及服务器资源中的传送数 据的成本。运两者都与从服务器下载的片段的比特率成比例,因此该成本可W例如通过具 有高速缓存未命中的片段的表示的比特率的总和来表述。
[0136] 在说明性的非限制示例中,给定组合的效用函数IKk)可W从W下公式导出:
[0137] U(k)=R(k)-a ? 0-0 ? M化)
[013引 其中;
[0139] -<則;〇是所述组合的表示的平均比特率^是序列中的片段的数目;
[0140] -O是所述组合的表示的方差(并因此描述序列的不稳定性);
[0141] -a是方差的加权参数;
[0142] -M化)是所述组合的表示的高速缓存未命中的平均成本;
[0143] -0是高速缓存未命中的平均成本的加权参数。
[0144] 具体地,给定组合的表示的平均比特率可W由W下公式确定:
[0145]
[0146] 其中,Ri是属于所述组合的片段i的给定表示的比特率。
[0147] 另外,所述给定组合的表示的方差〇可^通过W下公式获得:
[014 引
[0149] 方差O根据表示之间的变化的数目W及与平均表示的不同的大小二者而增长。
[0150] 方差O根据表示之间的变化的数目W及与平均表示的不同的大小二者而增长。
[0151] 此外,所述给定组合的表示的高速缓存未命中的平均成本M化)例如通过W下公式 来描述:
[0152]
[015引具甲,a从服努帯妖得片段i的表示时,Si = 1,否则,Si = 0(该表示缓存在所标 识的智能高速缓存器DA肥之一中)。
[0154] 通过最大化序列的效用函数IKk),高比特率W及低方差和很少的高速缓存未命中 将是优先的。可W调节加权参数Ct和/或ew限定方差和/或高速缓存未命中的容限量。显然 地,可W通过将Cl和/或e的值设置为零来忽略方差和/或高速缓存未命中。
[0155] 针对每个考虑的候选组合来计算效用函数IKk),W确定满足W下标准的组合:
[0156] -高平均比特率(W及隐含地高质量)
[0157] -变化性小的稳定比特率,意味着一致的视频质量
[0158] -从高速缓存器获得的片段的最大量,W尽可能减小服务器SE和网络N上的负载。
[0159] 另外,可W借助W下公式计算组合的估计下载时间T化):
[0160]
[0161] 其中;
[0162] -BWserver是当从服务器下载所述组合的给定表示时观察到的下行链路带宽;
[0163] -W吟,是当从保持所述组合的片段i的给定表示的最近的智能高速缓存器DA肥下 载所述给定表示时观察到的下行链路带宽。。对应于通过针对组合的每个表示采取保持所 述表示的最近的高速缓存器的索引所建立的矢量C的元素。
[0164] 在分母中,由于Si要么是0要么是1,项Si或(I-Si)中只有一个不等于零。因此,分 母是来自服务器SE的链路的带宽BWserver或者来自所考虑的智能高速缓存器DA肥的带宽 。通过将片段的每个所选表示的比特率的数目除W带宽BWserver,获得下载每个表示所 需要的时间。
[0165] 组合的该下载时间T化)应当优选地比序列的播出时间短,否则回放可能由于缓冲 耗尽而中断,使得:
[0166] T(k)<k ? chunk_duration
[0167] 根据实施例,客户终端CT针对k个片段的表示的每个可用组合来计算(步骤SI)效 用函数IKk)和下载时间T化)。将(来自服务器SE的)可用表示的数目表示为r,lKk)和T化)被 分别计算fk次。
[0168] 因此,通过执行步骤S2,客户终端CT可W选择避免缓冲耗尽最佳的的k个表示的序 列。
[0169] W下表格示出了说明性的非限制示例,其中,对于8个片段的序列的智能高速缓存 器DA肥的组的内容的范围从巧化(1是要下载的序列的第一片段)。单元格的值对应于保持 所考虑的片段/表示的智能高速缓存器DANE的索引。
[0170]
[0171 ] 通过考虑W下在恒定表示2500化PS的与k个片段的序列相对应的比特率矢量R = {R1 = 2500kbps,R2 = 2500kbps,R3 = 2500kbps,R4 = 2500kbps,R5 = 2500kbps,R6 = 2500kbps,R7 = 2500化ps,R8 = 2500化ps},通过针对每个片段采取保持表示2500kps的最近 的智能高速缓存器DA肥的索引来建立C矢量。根据上述表格上给出的智能高速缓存器的样 本内容,C=Ua,2,1,0,0,0,1},0意味着在所标识的智能高速缓存器DA肥中未缓存表示 2500kps〇
[0172] 在实施例的变型中,不是针对k个片段的表示的每个可用组合计算效用函数lKk) 和下载时间T化),而是客户终端CT经由评估模块9根据对针对k个即将到来片段的位于客户 终端CT与服务器SE之间的智能高速缓存器DA肥的内容的了解,初步地计算(在步骤S20)每 个可能表示的缓存片段的数目,W在进一步的步骤S21中选择最频繁地被缓存的表示,也叫 做目标表示。
[0173] 基于W上示例表格,k = 8时,所选表示是比特率等于2500化PS的表示,具有5个缓 存片段。对应目标组合的比特率矢量R具有与目标表示R= {R1 = 2500化PS,R2 = 2500化PS, R3 = 2500 kbps,R4 = 2500kbps,R5 = 2500 kbps,R6 = 2500 kbps,R7 = 2500 kbps,R8 = 2500化ps}的比特率相等的一致值。
[0174] 在进一步的步骤S22,客户终端CT借助其计算器7计算目标组合的下载时间T化)。
[0175] 在进一步的步骤S23,客户终端CT将计算的下载时间T化)(也叫做初始T(k))与播 出时间进行比较。
[0176] 当初始T化)至少等于播出时间(T化)? chunk_duration)时,客户终端CT确定 (在步骤S24)其目标表示没有存储在智能高速缓存器中的片段的替代缓存表示(例如,W上 表格的示例中的片段5、6和7)。
[0177] 为此,客户终端CT在步骤S25建立替代表示的替代有序列表,其中,W升序列出较 高质量的缓存替代表示,接着,W降序列出较低质量的缓存替代表示。
[0178] 在步骤S26,客户终端CT:
[0179] -选择替代有序列表的第一表示;
[0180] -除了所选择的替代表示已替换对应片段的目标表示之外,确定与目标组合相似 的新组合(根据W上表格的示例,新组合的矢量R是{2500kbps,2500kbps,2500kbps, 2500化ps,2500化ps,4500化ps,2500化ps,2500化ps});W及
[0181] -针对表示的所述新组合计算下载时间。
[0182] 在新组合的T(k)相对于目标组合的T化)增大的情况下,在步骤S27拒绝所选择的 替代表示,并且拒绝新组合。对替代有序列表的下一表示重复步骤S26,使得利用所述下一 表示来修改目标组合W建立进一步的新组合。
[0183] 在新组合的T(k)不大于播出时间的情况下,客户终端CT开始所述新组合的下载 (步骤S3)。
[0184] 在新组合的T化)相对于目标组合的T化)减小但是保持至少等于播出时间的情况 下,替代列表的所选择的替代表示被保持(步骤28),并且通过考虑新组合而非目标组合来 重复步骤S26。
[01化]给定W上示例表格,运将利用R6 = 4500化ps,R5 = 6500化ps,R7 = 6500化psW及R5 =1200化PS,R7 = 1200化PS依次地进行测试,除非找到中间解决方案。
[0186] 当已经尝试了替代有序列表的所有表示时并且在针对最后一个新组合计算的T 化)不少于播出时间的情况下,客户终端CT在步骤S29建立附加替代列表,该附加替代列表 包括W降序排列的比目标表示的质量低的低质量的表示。步骤26、27和28应用于所述附加 有序列表。
[0187] 在该算法的结尾,要么T化)满足约束,要么不存在针对T化)的更低的可能值。
[0188] 当初始T化)不大于在播出时间时,客户终端CT尝试(在步骤S241)通过使用具有更 高速率的缓存表示来增大效用函数U(k)。在第一步骤S4,客户终端CTW升序建立比初始目 标表示大的表示的有序列表。
[0189] 然后,对于该列表的每个表示,客户终端CT:
[0190] -选择(步骤S41)最高的i,使得所考虑的表示的对应片段在高速缓存器中是可获 得的。
[0191] -针对通过利用所考虑的表示改变先前的Ri而获得的表示的组合,计算(步骤S42) IKk)和T 化)。
[0192] 然后,如果T(k)仍然满足约束并且IKk)的新值大于之前的值,则客户终端CT保持 新组合并对下一(更低的)i重复步骤S41。如果T化)不再满足约束或IKk)减小,则客户终端 CT拒绝Ri的新值,W恢复之前的组合。
[0193] 当已考虑了所有索引i时,测试下一更高的表示。
[0194] 显然地,其他启发法可W用于满足关于T化)的约束,同时改善IKk),而不背离实施 例。
[01巧]自然地,步骤S20至S29中的至少一些可W不在客户终端CT中执行,而在外部网络 设备(例如服务器、网关、代理服务器等)中执行。
[0196] 一旦已经确定了期望的组合,即片段的序列,则客户终端CT在没有延迟的情况下 从序列下载W下片段,直到其达到m个片段或者从智能高速缓存器接收到更新消 息或接收速率改变。在前述任何一种情况下,客户终端CT重复方法M。
[0197] 网络信息包括沿服务器(SE)与客户终端(CT)之间的路径的高速缓存器(DA肥)的 有序列表,并且可选地,对于所述层次的至少一些高速缓存器,网络信息还包括:由所述高 速缓存器(DANE)存储的片段的表示的列表。
[0198] 应当注意的是,根据本公开的不同变型,通过与用于接收片段的接口相似的网络 接口或者与用于接收片段的接口不同的网络接口来接收网络信息。
[0199] 根据特定实施例,客户终端的网络接口适于从Wifi、ADSL、缆线、移动和/或广播 (例如,DVB、ATSC)接口接收网络信息。
[0200] 根据不同实施例,适于接收片段的客户终端的网络接口是Wifi、ADSL、缆线、移动 和/或广播(例如,DVB、ATSC)接口。
[0201] 根据不同实施例,客户终端使用与用于接收片段的协议(例如,http、Flute)相似 的协议来接收网络信息。根据不同实施例,客户终端使用不同的协议接收网络信息:
[0202] -片段发送和接收可W使用ht化或flute协议;
[0203] -网络信息发送和接收可W使用TR69宽带论坛协议或广播协议(例如,xmpp IETF、 DDS OMG(对象管理组))。
[0204]根据不同实施例,网络倍島存储在随机存取存储器(RAM)中;
[0205] 根据不同实施例,片段存储在本地存储器(例如,硬盘或闪存)中和/或由解码器解 码和/或显示在显示器上。
[0206] 根据不同实施例,客户终端属于W下集合,所述集合包括:
[0207] -便携式媒体设备;
[020引-移动电话;
[0209]-游戏设备; 脚0]-机顶盒; -电视机;
[0212] -平板电脑;
[0213] -膝上型电脑;从及
[0214] -集成电路。
[0215] 附图中的流程图和/或框图示出了根据本公开各个实施例的系统、方法和计算机 程序产品的可能实现方式的配置、操作和功能。关于运一点,流程图或框图中的每个框可W 表示代码模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应注 意,在一些备选实施例中,在框中标记的功能可W不按附图中标记的顺序发生。例如,连续 示出的两个框事实上可W基本同时执行,或者在某些时候可W按照相反的顺序执行,或者 可W按照备选顺序执行,运将取决于所设及到的功能。还应注意,框图和/或流程图示意的 每个框W及框图和/或流程图示意中的框组合可W由执行特定功能或动作的基于专用硬件 的系统或者专用硬件和计算机指令的组合来实现。虽然没有明确描述,但是实施例可W被 实施为任意组合或子组合。
[0216] 本领域技术人员应当认识到,本公开原理的各方面可W被实现为系统、方法或计 算机可读介质。因此,本公开原理的方案可采用完全硬件实施例的形式、完全软件实施例 (包括固件、常驻软件、微代码等)的形式或组合了软硬件方案的实施例的形式,它们可一般 地称为"电路"、"模块"或"系统"。此外,本公开原理的方案可采用计算机可读存储介质的形 式。可利用一个或多个计算机可读存储介质的任意组合。
[0217] 计算机可读存储介质可采用计算机可读程序产品的形式,所述计算机可读程序产 品实现为一个或多个计算机可读介质,并且其中实现有可由计算机执行的计算机可读程序 代码。运里的计算机可读存储介质被认为是非暂时存储介质,其具有用来在其中存储信息 的内在能力W及从中获取信息的内在能力。计算机可读存储介质可W是但不限于例如电、 磁、光、电磁、红外或半导体系统、装置或设备或前述系统、装置或设备的任意合适组合。应 当认识到,在提供本公开原理可W应用到的计算机可读存储介质的更具体示例的同时,如 本领域普通技术人员容易理解的,W下内容仅是说明性的而不是详尽列表:便携式计算机 磁盘;硬盘;随机存取存储器(RAM);只读存储器(ROM);可擦除可编程只读存储器化PROM或 闪存);便携式紧凑盘只读存储器(CD-ROM);光存储设备;磁存储设备;或者前述项的任意适 当组合。
【主权项】
1. 一种用于通过客户终端(CT)获得网络信息的方法,所述客户终端(CT)被配置为接收 由至少一个远程服务器(SE)提供的划分成片段的多媒体内容,每个片段能够以一个或多个 表示获得, 其中,所述网络信息包括沿服务器(SE)与客户终端(CT)之间的路径的高速缓存器 (DANE)的有序列表; 其中,所述网络信息还包括:对于高速缓存器的所述有序列表中的至少一些高速缓存 器,由所述高速缓存器(DANE)存储的片段的表示的列表; 以及其中,所述网络信息通过由客户终端(CT)从服务器(SE)接收的清单来提供,所述 清单列出了在所述服务器(SE)处的所述多媒体内容的可用表示。2. -种被配置为接收由至少一个远程服务器(SE)提供的划分成片段的多媒体内容的 客户终端,每个片段能够以一个或多个表示获得, 所述客户终端包括:通信模块(2),被配置为接收网络信息,所述网络信息包括沿服务 器(SE)与客户终端(CT)之间的路径的高速缓存器(DANE)的有序列表; 以及其中,所述网络信息还包括:对于所述有序列表中的至少一些高速缓存器(DANE), 由所述高速缓存器(DANE)存储的片段的表示的进一步列表; 以及其中,所述网络信息通过由客户终端(CT)从服务器(SE)接收的清单来提供,所述 清单列出了在所述服务器(SE)处的所述多媒体内容的可用表示。3. -种用于通过高速缓存器发送网络信息的方法,所述高速缓存器被配置为将由至少 一个远程服务器(SE)提供的多媒体内容的片段传送到客户终端,每个片段能够以一个或多 个表示获得, 其中,所述网络信息包括沿服务器(SE)与客户终端(CT)之间的路径的高速缓存器 (DANE)的有序列表; 其中,高速缓存器: -将与高速缓存器相关联的本地缓存表示的列表添加到与接收的高速缓存器的有序列 表相关联的表不的接收列表; -将表示的更新列表向下转发到客户终端; 以及其中,所述网络信息通过由客户终端(CT)从服务器(SE)接收的清单来提供,所述 清单列出了在所述服务器(SE)处的所述多媒体内容的可用表示。4. 一种适于发送网络信息的高速缓存器,所述高速缓存器被配置为将由至少一个远程 服务器(SE)提供的多媒体内容的片段传送到客户终端,每个片段能够以一个或多个表示获 得, 其中,所述网络信息包括沿服务器(SE)与客户终端(CT)之间的路径的高速缓存器 (DANE)的有序列表; 其中,所述高速缓存器被配置为: -将与高速缓存器相关联的本地缓存表示的列表添加到与接收的高速缓存器的有序列 表相关联的表不的接收列表; -将表示的更新列表向下转发到客户终端, 以及其中,所述网络信息通过由客户终端(CT)从服务器(SE)接收的清单来提供,所述 清单列出了在所述服务器(SE)处的所述多媒体内容的可用表示。5. -种计算机程序产品,能够从通信网络下载和/或记录在由计算机可读取的介质上 和/或由处理器可执行,所述计算机程序产品包括用于实现根据权利要求1或3所述的方法 的程序代码指令。6. -种非暂时性计算机可读介质,包括记录在其上且能够由处理器运行的计算机程序 产品,所述计算机程序产品包括用于实现根据权利要求1或3所述的方法的程序代码指令。
【文档编号】H04N21/262GK105981400SQ201480075350
【公开日】2016年9月28日
【申请日】2014年12月16日
【发明人】雷米·乌达耶, 斯蒂芬妮·古阿什, 沙利纳·塔比
【申请人】汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1