用于在自适应流播环境中实行快速频道改变的系统和方法与流程

文档序号:11852818阅读:175来源:国知局
用于在自适应流播环境中实行快速频道改变的系统和方法与流程

本申请公开与以下美国专利申请的主题有关的主题:(i) 2013年9月25日以Christopher Phillips、Charles Hammett Dasher、Robert Hammond Forsman和Jennifer Ann Reynolds的名义提交的申请号为14/037078的“SYSTEM AND METHOD FOR MANAGING ADJACENT CHANNELS IN AN ADPATIVE STREAMING ENVIRONMENT”(爱立信参考号:P40561-US1),其中的每个申请由此以引用的方式全部并入本文。

技术领域

本公开一般涉及通信网络。更具体来说,并且不是当作任何限制,本公开涉及用于在自适应流播环境中管理相邻频道的系统和方法。



背景技术:

自适应流播是非传统视频递送的普遍方式。尽管已经有若干发展,但是在当前的实现中,改变自适应流播的内容(例如,从一个流或频道改变为另一个流或频道)依然是一个繁琐的过程。因此,典型的自适应流播技术并没有提供现实可行的或用户友好的“频道冲浪(channel surfing)”体验,从而不利地影响用户享受的质量。



技术实现要素:

本专利公开广泛地涉及用于在自适应流播环境中管理和实行快速频道改变(例如,用户发起的“频道冲浪”请求)的系统、方法、装置、设备和相关联的计算机可读介质。相对于客户端装置所占用的当前流播频道自适应地定义一个或多个相邻频道。客户端装置配置成基于带宽状况、缓冲器状况等预提取所定义的相邻频道的元数据和初始化信息。当频道改变时,客户端装置可操作以便利用预提取的数据快速地获得编码的媒体内容以便进行再现。

在一个方面,公开一种在布置在自适应流播环境中的流播客户端装置中操作的方法的实施例。要求权利的实施例尤其包括至少监测与流播客户端装置与内容递送网络和相关联的流播服务器系统之间的网络连接或内容分发管道有关的带宽状况。基于监测的状况,可相对于流播客户端装置的当前流播频道确定一个或多个相邻频道。响应于确定所述一个或多个相邻频道,预提取与一个或多个相邻频道有关的元数据信息。响应于预提取的元数据信息,预提取所述一个或多个相邻频道的初始化信息,并将它们本地存储在流播客户端装置上。如果当前流播频道改变为属于所述一个或多个相邻频道的新流播频道,那么可利用预提取的初始化信息来提取关于新流播频道的编码媒体内容。在一个变型中,要求权利的方法还包括:监测流播客户端装置的视频缓冲器状况和解码器处理状况中的至少一个状况;以及确定可用解码器的数量。在另一个变型中,相邻频道的预提取的元数据信息包括在实行自适应位速率(ABR)流播时生成的一个或多个清单文件。相邻频道可采用多种方式确定,包括但不限于当前频道上方和/或下方的连续频道的可配置数量、基于用户的收藏列表等。在又一个变型中,要求权利的实施例可包括预提取媒体内容并立即解码预提取的媒体内容。如果当前流播频道改变为属于相邻频道之一的新流播频道,那么迅速地再现相邻频道的解码媒体内容以便进行再现。

在另一个方面,公开客户端装置的实施例,它包括一个或多个处理器、带宽监测器和耦合到所述一个或多个处理器的流播客户端模块。流播客户端模块可配置成执行上文所述的方法的实施例以便至少实现在自适应流播环境中管理相邻频道的目的。在其它方面,公开包含存储在其上以用于执行上文所述的方法的一个或多个实施例的指令的非暂时性计算机可读介质的实施例。

在又一个方面,公开在布置在自适应流播环境中的流播服务器系统处进行操作的方法的实施例。要求权利的实施例尤其包括:当客户端装置请求新的媒体内容流(例如,由于频道改变请求)时,总是在已知的媒体流边界(例如,流接入点或SAP)处开始流播请求的媒体内容。在另外或备选变型中,要求权利的实施例包括:在选择时间周期,对到客户端装置的新流的传送禁用错误校正;以及最初传送以选择位速率(例如,可能最低的位速率)编码并通过在流播服务器系统处操作的分段器分割成可能最短的段的请求的媒体内容。

在有关方面中,公开流播服务器系统的实施例,它尤其包括一个或多个处理器以及编码器,所述编码器耦合到所述一个或多个处理器并且操作以便利用多个位速率来对媒体内容进行编码。耦合到所述一个或多个处理器的分段器配置成将编码的媒体内容分割成不同大小的段。作为要求权利的流播服务器系统的一部分实行这样一个组件,该组件配置成在布置在自适应流播环境中的客户端装置请求新的媒体内容流时在所述一个或多个处理器的控制下在SAP处开始流播媒体内容。流播服务器系统还包括配置成在将新流最初传送到客户端装置期间的时间周期在所述一个或多个处理器的控制下选择性地禁用的错误校正机制(例如,基于TCP的错误校正机制)。作为要求权利的流播服务器系统的一部分实行另一个组件,该组件配置成在所述一个或多个处理器的控制下最初传送以选择位速率(例如,可能最低的位速率)编码并通过分段器分割成可能最短的段的请求的媒体内容。

在又一个有关方面中,公开可在流播客户端装置中操作以便在自适应流播环境中实行快速频道改变的方法的实施例。要求权利的实施例尤其包括:当请求新的媒体内容流时,发送传送以选择位速率(例如,可能的最低位速率)编码的媒体内容的请求;以及不管与客户端装置的视频缓冲器相关联的缓冲器状态如何,立即解码并再现所接收的媒体内容。要求权利的方法还包括发送在斜升时间周期期间流播以更高位速率编码的媒体内容的请求。在另外或备选变型中,要求权利的方法可包括发送最初流播分割成较短段的媒体内容的请求(例如,在特定时间周期)。在另一个有关方面中,公开客户端装置的实施例,它包括一个或多个处理器、频道改变控制器和耦合到所述一个或多个处理器的流播客户端模块。流播客户端模块可配置成执行上文所述的方法的实施例,以便实现在自适应流播环境中实行快速频道改变请求的目的。在其它方面中,公开包含存储在其上以用于执行上文所述的方法的一个或多个实施例的指令的非暂时性计算机可读介质的实施例。

本发明的优点包括但不限于在自适应流播环境中利于与现有TV广播环境中普遍遭遇的体验类似的用户友好的频道冲浪体验。由于本文中所阐述的一个或多个实施例允许快速改变自适应流播频道而不会有带宽浪费,所以缓解了可由改变流播频道引起的不令人满意的观看状况。各种实施例的进一步特征如从属权利要求中所要求。鉴于以下描述和附图,这些实施例的另外益处和优点将显而易见。

附图说明

附图的各图中举例而非限制性地示出本公开的实施例,图中,类似参考数字指示类似元素。应注意,本公开中不同地方提到“一”或“一个”实施例时不一定指相同实施例,并且这些参考数字可表示至少一个。此外,当结合一个实施例描述特定特征、结构或特性时,认为本领域技术人员知道结合其它实施例实现该特征、结构或特性,而不管是否进行了明确描述。

附图并入到说明书中并形成说明书的一部分,以便说明本公开的一个或多个示例性实施例。通过结合随附权利要求并参考附图阅读以下详细描述,将了解本公开的各种优点和特征,图中:

图1描绘包括内容递送网络的示例流播网络环境,可在其中实践本专利申请的一个或多个实施例;

图2描绘出于本专利公开的目的在流播视频内容的说明性获取和再现过程中所涉及的示例阶段的图;

图3A-3C描绘根据本专利公开的一个或多个实施例的各种类型的频道相邻性的示例;

图3D描绘根据一个实施例的示例流播客户端装置的框图;

图4-6描绘根据本专利申请的一个或多个实施例具有与可在客户端装置处进行的各个步骤和动作有关的框的流程图;

图7描绘根据本专利申请的一个或多个实施例具有与可在自适应流播服务器系统处进行的各个步骤和动作有关的框的流程图;

图8-10描绘根据本专利申请的一个或多个实施例具有与可在客户端装置处进行的各个步骤和动作有关的框的流程图;以及

图11描绘出于本专利申请的目的的示例流播客户端装置的另一个实施例。

具体实施方式

在以下描述中,关于本专利公开的一个或多个实施例阐述众多具体细节。但是,应理解,没有这些具体细节也可实践一个或多个实施例。在其它情况下,没有详细示出公知的电路、子系统、组件、结构和技术,以免混淆对示例实施例的理解。因此,本领域技术人员将明白,没有这些基于组件的具体细节也可实践本公开的实施例。还应意识到,借助于本文中所阐述的详细描述并参考附图,本领域技术人员将能够在无需过多试验的情况下进行和利用一个或多个实施例。

另外,在以下描述、权利要求书或两者中,可使用诸如“耦合”和“连接”及其派生词的术语。应理解,这些术语不一定是要彼此同义的。“耦合”可用于指示两个或两个以上元件彼此共同协作或交互,这两个或两个以上元件可以或者可以不彼此直接物理或电接触。“连接”可用于指示在彼此耦合的两个或两个以上元件之间建立通信、即通信关系。此外,在本文中所阐述的一个或多个示例实施例中,一般来说,如果元件、组件或模块能够执行某个功能或以其它方式在结构上布置成执行某个功能,那么该元件、组件或模块可配置成执行该功能。

如本文中所使用,网络元件或节点可包括一件或多件服务网络设备,其包括在通信上互连网络上的其它设备(例如,其它网络元件、端站等)并适于主控关于多个订户的一个或多个应用或服务的硬件和软件。一些网络元件可包括“多服务网络元件”,除了对多个应用服务(例如,数据和多媒体应用)提供支持以外,这些“多服务网络元件”还对多个基于网络的功能(例如,A/V媒体管理、会话控制、QoS策略实施、带宽调度管理、订户/装置策略和简档管理、内容供应商优先级策略管理、流播策略管理等)提供支持。订户端站或客户端装置可包括配置成尤其执行至少一个流播客户端应用(例如,ABR流播客户端应用)以便从流播服务器或内容供应商接收内容的任何装置。因此,这些客户端装置可包括根据本文中所阐述的一个或多个实施例可访问或消费在内容递送网络上提供的内容/服务的机顶盒、PVR/DVR、工作站、膝上型计算机、上文本、掌上电脑、移动电话、智能电话、多媒体电话、互联网协议语音(VOIP)电话、移动/无线用户设备、高清TV终端、便携式媒体播放器、位置感知订户设备、游戏系统或控制台(例如,Wii®、Play Station 3®、Xbox 360®)等。此外,客户端装置也可经由合适的服务供应商接入网络访问或消费在广播网络(例如,有线电视网络和卫星网络)以及分组交换广域公共网络(例如,互联网)上提供的内容/服务。在另一个变型中,客户端装置或订户端站也可访问或消费在敷设在(例如,穿隧通过)互联网上的虚拟专用网络(VPN)上提供的内容/服务。

本专利公开的一个或多个实施例可利用软件、固件和/或硬件的不同组合来实现。因此,图(例如,流程图)中示出的一个或多个技术可利用在一个或多个电子装置或节点(例如,订户客户端装置或端站、网络元件等)上存储和执行的代码和数据来实现。这些电子装置可利用计算机可读介质存储并(在内部和/或通过网络与其它电子装置)通信代码和数据,计算机可读介质可以是例如非暂时性计算机可读存储介质(例如,磁盘、光盘、随机存取存储器、只读存储器、闪速存储器装置、相变存储器等)、暂时性计算机可读传送介质(例如,电、光、声或其它形式的传播信号,如载波、红外信号、数字信号)等。另外,这些网络元件通常可包括耦合到一个或多个其它组件的一个或多个处理器的集合,所述一个或多个其它组件可以是例如一个或多个存储装置(例如,非暂时性机器可读存储介质)和存储数据库、用户输入/输出装置(例如,键盘、触摸屏、指向装置和/或显示器)和用于实行信令和/或承载者媒体传送的网络连接。处理器集合和其它组件的耦合通常可通过以任何已知的(例如,对称/共享多处理)或迄今未知的体系结构布置的一个或多个总线和桥接器(又称为总线控制器)。因此,给定电子装置或网络元件的存储装置或组件可配置成存储代码和/或数据以便在该元件、节点或电子装置的一个或多个处理器上执行,从而实现本公开的一个或多个技术。

现在参考附图,更具体来说是参考图1,其中描绘可在其中实践本专利申请的一个或多个实施例的示例流播网络环境100,它包括耦合到自适应流播服务器系统102的内容递送网络或内容分发网络(CDN)122。出于本专利申请的目的,CDN 122可包括架构成利用一个或多个基于互联网的基础设施、私人/专用基础设施或其组合向订户高性能流播各种数字资产或节目资产以及服务(下文称为“媒体内容”)的覆盖网络。一般来说,参考本专利公开的至少一些实施例使用的术语“媒体内容”或“内容文件”(或简称为“内容”)可包括可利用任何已知的或迄今未知的流播技术递送的数字资产和节目资产,例如任何类型的流播或静态的音频/视频内容或节目段(例如,录制的空中免费网络电视(TV)剧集或节目、经由有线电视网络或卫星网络的付费TV广播节目、免费播送的卫星TV剧集、IPTV节目等)、过顶(Over-The-Top,OTT)和视频点播(VOD)或影片点播(MOD)剧集或节目、时移TV(TSTV)内容以及由内容出版商、所有者或供应商提供的其它内容资产,包括但不限于软件文件、可执行计算机代码或程序、在线电子游戏、互联网电台剧集/节目、娱乐节目、教育节目、电影、音乐视频节目等。此外,经由流播提供的各种节目或内容文件可作为对于不同订户特有的频道的合集或集合布置,其中不同频道可包括来自一个或多个内容源或发起者的媒体内容。

举例来说,可经由CDN 122利用自适应位速率(ABR)流播技术递送内容,并且可将内容编码以便支持Microsoft® Silverlight®平滑流播、HTTP流播(例如,HTTP或DASH上的动态自适应流播、HTTP现场直播或HLS、HTTP动态流播或HDS等)、Icecast等。一般来说,CDN 122的覆盖体系结构可包括用于提供从一个或多个中央分发节点到一个或多个等级的区域分发节点的媒体路径或“管道”的网络服务器的多级、层级上组织的互连集合,其中所述一个或多个等级的区域分发节点连接到配置成在相应服务位置区域中服务于多个最终用户或订户的一个或多个本地边缘服务器。除了这些“分发服务器”(有时又称为“代理”)之外,CDN 122还可包括各种网络元件和/或与各种网络元件交互操作,这些网络元件配置成实行请求重定向或重路由机制以及相关后台系统,例如订户管理系统、带宽调度系统、记账/计费系统等,这些网络元件可作为流播网络后台的一部分部署(未具体示出)。

流播网络环境100包括一个或多个订户端站,如与用于在包括经由有线和/或无线(无线电)通信的广播接入在内的任何类型或数量的接入技术中消费经由CDN 122递送的内容的订户/客户相关联的示例客户端装置或用户设备(UE)装置124所示。出于本专利申请的目的,术语“流播客户端装置”和“客户端装置”可同义地使用,并且可包括任何UE装置或器具,在一个实现中,它不仅接收节目资产以便现场观看、回放和/或解码内容,而且还作为命令控制台或终端操作,该命令控制台或终端可接受与布置在CDN 122中的网络元件和/或相关联的流播服务器系统102交互以便请求可在内部显示屏126和/或一个或多个外部音频/可视(A/V)装置(未具体示出)处选择性地再现的内容的用户输入、命令或请求。因此,取决于所实现的流播技术,示例客户端装置124可包括一个或多个流播客户端模块128(例如,ABR流播客户端)和相关联的解码功能性134,每个模块和功能性联合处理器模块130和视频缓冲器存储器132操作以便实行流播媒体内容的获取、解码和再现。尽管没有具体示出,但是客户端装置124还包括用于观看列出、标识或以其它方式示出订户能够接收的各种流播频道的一个或多个电子节目指南的合适的用户界面。这些用户界面还可配置成允许用户滚动电子节目指南(即,频道冲浪),选择或以其它方式改变特定流播频道等。此外,如下文将另外详细地描述,客户端装置124包括用于利于自适应流播网络环境内的诸如频道冲浪和频道选择的功能性的合适结构和模块。

继续参考图1,示例自适应流播服务器系统102可配置成从现场源104A和/或静态文件源104B接受媒体内容。在一般操作中,示例流播服务器系统102可配置成在执行存储在永久存储器模块109中的合适程序代码的一个或多个处理器108的控制下如下所述地实行内容的自适应流播。首先,利用适用的编码器106以不同位速率转码或以其它方式编码源媒体内容(例如,多速率转码)。例如,可利用范围从低到高的位速率(举例来说,500 Kbps到10 Mbps)的可变位速率将特定节目内容转码到5个视频文件中。因此,将特定内容编码为5个不同的“版本”或“格式”,其中每个位速率称为简档或表示。参考数字110是指由编码器106以不同位速率编码的媒体流的合集。分段服务器或分段器112可操作以便将编码的媒体内容的每个版本划分成固定持续时间的段或区块,这些段或区块的持续时间通常介于2到10秒之间,从而生成多个区块流114。本领域技术人员将意识到,越短的段可降低编码效率,而越大的段可影响对网络吞吐量的变化和/或快速变化的客户端行为的适应性。不管区块大小如何,段可以是图片组(GOP)对准的,以使得所有编码简档具有相同段。接着,为编码内容的各个段创建描述编码速率和统一资源定位符(URL)指针的一个或多个合适的清单文件。在一个实现中,可通过原始服务器116经由CDN 122将清单文件(MF)、递送格式(DF)和从/到现有文件格式(FF)和传送流(TS)的转换方式作为自适应流120的一部分提供给客户端装置124,客户端装置124利用HTTP基于URL提取编码的段。另外,错误校正机制118也可作为流播服务器系统102的一部分或作为独立的网络元件实现,以便减少编码媒体内容的端到端流播中的传送错误。应明白,错误校正机制118可以是协议特定的(例如,传送控制协议或TCP),但是也可另外或备选地使用其它错误校正方案。

仍然继续参考图1,可根据需要缓冲由客户端装置124接收的媒体流段,并在本地显示器126处或在与客户端装置124相关联的外部A/V装置处按顺序进行解码和回放(即,再现)。ABR流播客户端模块128可设计成选择每个段的最佳简档以便尽可能提高质量,而不会冒缓冲器下溢和播放卡住(即,重新缓冲)的风险。每次客户端装置124提取一个段时,它可基于下载之前一个或数个段的测量时间选择简档。

将意识到,在诸如图1所示的示例网络安排100的自适应流播环境中改变媒体内容(即,从一个流播频道改变到另一个流播频道)会是一个繁琐的过程,尤其是在快速频道改变状况中更是如此。这是因为,除了以高位速率编码的内容段(即,“高位速率内容”)优于以低位速率编码的相同内容段(即,“低位速率内容”)之外,在再现之前,自适应流播通常需要将合适的视频缓冲器填充到特定级别。此外,由于在可正确再现(即,回放)接收的媒体内容之前需要按顺序次序进行若干个处理事件或阶段,所以因为在整体接收-解码-再现过程中引入延迟和/或中断,改变频道可产生不可接受的观看体验(例如,不连贯、抖动、像素色差问题等)。下文将详细阐述解决上述问题的若干个实施例,它们涉及服务器侧过程和结构、客户端侧过程和结构、或两者。

图2描绘根据本专利公开的一个实施例在说明性流播媒体获取和再现过程200中所涉及的示例阶段的图。如上所述,客户端装置首先获得、接收或以其它方式获取关于媒体传送流的特定元数据(例如,清单文件)(框202)。基于包含在清单文件中的信息,获得或以其它方式获取各种初始化信息(框204)。这些初始化信息尤其可包括序列参数集合(SPS)、图片参数集合(PPS)、一个或多个编解码器报头(例如,MPEG-2序列报头、高效率视频编码(HEVC)报头或AC3(音频)报头)、以及解码至少一个或多个帧、或取决于预测粒度解码一个或多个片段(它们是独立于某个帧的其它区域编码的该帧的空间上不同的区域)所需的任何数据、和/或其任意组合。这些编码帧可包括I-帧(内部编码图片)、B-帧(双向预测图片)或P-帧(预测图片)。同样地,片段可包括I-片段、B-片段或P-片段。利用初始化信息,接着获得或检索(框206)并缓冲(208)编码的媒体内容或数据。随着合适级别的缓冲器数据变得可用,利用合适的解码器/再现引擎解码(210)这些数据,然后将这些数据提供给显示屏以便进行再现(212)。

根据本专利公开的教导,上文所述的过程流200的至少一个或多个阶段可以按预期的方式执行,以使得那些过程阶段可“预先执行”。因此,凭借预先执行早期的一些过程阶段,容易地使得解码流播媒体内容所需的某些基本信息对于自适应流播客户端可用。因此,自适应流播客户端可立即利用已经可用的信息(即,“预提取的”信息)来在用户决定滚动频道和/或在此后选择特定频道时快速地调整至新频道。进一步根据本专利公开的教导,可为基于预测性频道冲浪行为、频道分类、自适应了解、模式识别和其它准则确定相对于当前流播频道“相邻”的选择数量的流播频道实现上文所述的某些过程阶段的预期的预先执行。

图3A-3C描绘根据本专利公开的一个或多个实施例的各种类型的频道相邻性的示例。在如图3A所示的示例300A中,可确定一个或多个相邻频道为位于当前流播频道(i)上方的可配置数量的连续频道(例如,(i+2)个频道)、或为位于当前流播频道(i)下方的可配置数量的连续频道(例如,(i-3)个频道)、或两者。在另一个实施例中,如图3B所示的示例300B示出其中可基于内容分类将频道分组的场景。例如,这些分类可定义为基于用户的“收藏列表”。因此,属于类别“x”的所有频道可视为是相对于彼此相邻。图3C示出这样一种场景,其中可利用用户的冲浪行为模式(例如,在一段时间内)来标识用户可能朝一个方向还是另一个方向冲浪并接着选择该方向中的相邻频道。

本领域技术人员应明白,频道相邻性的上述示例只是表示非穷举性的列表,因为可以有众多的变型、方法、确定和方案来实现相邻性。频道相邻性也可从默认设置动态地改变,并且可配置成基于用户的观看习惯等从一个方案变为另一个方案。还应意识到,某些频道相邻性实现可取决于如何组织以及向用户展示电子节目指南。因此,出于本专利公开的至少一些实施例的目的,相邻频道是先行执行如图2所示的某些过程阶段的流播频道。此外,预提取元数据的相邻频道的数量可取决于关于客户端装置本身的某些性能/资源约束,例如当前带宽状况、可用解码器的数量、缓冲器状况、解码处理状况等。

现在参考图3D,其中描绘根据一个实施例可在其中实践本专利公开的一个或多个方面的示例流播客户端装置350的框图。应明白,流播客户端装置350是一般代表如图1所示的订户/客户端装置124的UE装置,并且可包括可增加或以其它方式重新排列作为客户端装置124的一部分示出的框的合适的硬件/软件组件和子系统。广义地说,这些硬件/软件组件和子系统可配置成执行上文所描述的任何装置侧过程(个别地或其任何组合),当鉴于以下所述的一个或多个过程采用时,这些过程可重新排列。提供包括一个或多个微控制器/处理器的处理器模块302以便对客户端UE装置350进行整体控制并执行在可作为装置350的存储器子系统311的一部分的永久存储器315中实施的各种存储的程序指令。并且,存储器子系统311中可包含一个或多个视频缓冲器319以便存储视频流播数据。参考数字302所指的控制器/处理器复合体也可代表联合合适的视频和音频接口314、316操作以便接收/传送内容数据的其它专门处理模块,例如图形处理器、视频处理器、数字信号处理器(DSP)等,其中这些视频和音频接口可包括合适的调谐器、解调制器、解扰器、MPEG解码器/解复用器、或结合它们一起操作。例如,客户端装置350可配置成以多种已知的音频格式(例如,MP3、AAC、AAC+、eAAC+、FLAC WMA、WAV、AMR、OGG、DTS、AC3、LPCM和MIDI)和视频格式(例如,MPEG4、H.263、H.264、DivX、XviD、WMV、AVI、3GO、Flash Video等)进行操作。在某些实施例中,可提供基于位置的和/或卫星通信接口306以便实行基于卫星的通信。其它I/O或接口可包括可用于输入命令以便尤其实行频道冲浪、频道选择、节目指南操纵等的一个或多个用户接口320,一般的示例有图形用户接口(GUI)、触摸敏感屏、键盘、麦克风等。另外,可提供一个或多个USB/HDMI/DVI/FireWire端口318以便实行到一个或多个外部A/V装置的连接,由此可在外部再现解码的媒体内容。宽带网络连接性可经由诸如Ethernet I/F 308以及短程和广域无线连接性接口312来实现。在客户端装置350的一个实现中,可提供硬盘驱动器(HDD)系统(未具体示出)以便实现诸如A/V媒体、TV剧集、电影片名、多媒体游戏等的节目资产的大容量存储。客户端/UE装置350中还包含合适的电源322,它可包括AC/DC功率转换以便为装置350供电。应明白,客户端/UE装置350的实际功率体系结构可因使用的硬件平台而改变,例如取决于特定平台中所使用的核心SoC(芯片上系统)、存储器、模拟前端、模拟信号链组件和接口等。

出于本专利申请的目的,在客户端装置350的永久存储器315(例如,闪速存储器)中实施的存储的程序指令可包括配置成选择性地结合诸如一个或多个ABR流播客户端和解码逻辑模块310的其它子系统或逻辑块和诸如全都由参考数字304统一指示的频道改变控制器、带宽和其它性能监测器、以及观看模式和频道相邻性确定机制的其它子系统执行一个或多个装置侧过程的计算机可读指令。此外,也可作为客户端装置350的一部分提供可选的本地或包含式显示器313,以便除了作为触摸敏感屏操作外还在本地再现接收的内容(例如,以多种分辨率,如标准清晰度、增强清晰度或高清晰度)。

在本专利公开的一个方面中,上述各种模块、块和子系统可配置成在自适应流播环境中通过预提取的元数据实行相邻频道的高效显示。一般来说,客户端装置350可配置成以两种功能模式操作:(i) “观看”模式,其中除了递送高质量视频以外,还可预提取某些数据;以及(ii) “频道改变”或“频道冲浪”模式,其中主要问题是提取低质量还是“足够好”质量的视频以便显示快速改变的频道。如果在可配置的时间周期(例如,30秒)之后或之内没有改变频道,那么客户端装置350可处于“观看”模式。另一方面,如果最近改变了频道(例如,小于30秒),那么客户端装置350可处于“频道改变”模式。

根据本专利申请的一个或多个实施例,客户端装置350的至少一部分的模块、块和子系统可操作以便在处理器302的控制下实行以下一个或多个过程和子过程,从而利于相邻流播频道的高效显示。参考如图4所示的过程400的实施例,客户端装置350可配置成监测当前带宽状况(例如,相对于诸如图1中所示的连接136的网络连接和在通过CDN的端到端分发路径中所涉及的任何其它分发管道)以及其它性能状况,如框402所述。响应于监测的状况,可做出关于有多少相邻频道将预提取特定元数据信息的判定。在说明性示例中,如果当前有2 Mb带宽可用(在考虑对于当前流播会话利用无论什么带宽之后),那么假设每个频道需要400 Kb带宽来提取它的元数据,可判定客户端装置能够为5个相邻频道提取元数据。如前所述,可基于节目指南实现、内容分类、基于语言的定义、静态或固定配置等来实现频道相邻性的各种构造,包括例如用户特定或用户定义的列表、操作人员定义的列表。在预测性行为建模方法中,如果用户在指定时间周期内按了三个频道(即,向上滚动三次),那么可做出例如用户可能再次向上滚动而不是向下滚动的概率性判定。因此,位于当前频道上方的特定数量的频道可视为是将预提取元数据的相邻频道。前述操作说明在过程流400的框404处阐述的动作和功能。

在确定一个或多个相邻频道(例如,相对于当前流播频道)之后,从相关联的服务器系统获得、请求、检索或以其它方式预提取相邻频道的元数据信息(框406)。在一个自适应流播实现中,这些元数据可包括与在相邻频道上流播的编码媒体内容有关的合适的清单文件。在客户端装置350上执行的流播客户端逻辑可操作以便解析预提取的元数据信息,并且响应于此,确定去哪里获得相邻频道的初始化信息(框408)。如前所述,这种初始化信息可包括SPS/PPS信息、一个或多个编解码器报头和解码片段/帧所需的最小量的元数据的至少其中之一。因此,基于预提取的元数据信息,客户端装置350还可操作以便预提取或预先下载可在本地存储在存储器中的相邻频道的初始化信息(框408)。如果当前流播频道改变为属于相邻频道的群组的新流播频道(判定框410),那么客户端装置350利用新流播频道的初始化信息(可容易地/在本地获得,因为它是预提取的)来从合适的位置快速地提取所需的媒体内容(框414)。在一个实现中,在客户端装置350上执行的流播客户端逻辑可配置成只请求通过流播服务器的编码器以选择位速率(例如,最低位速率)编码的媒体内容。另外或备选地,客户端装置350还可请求分割为较短段的编码媒体内容。

如果没有频道改变,那么客户端装置350可继续监测带宽状况、缓冲器资源和处理状况,以使得可继续(重新)建立或以其它方式(重新)确定新的或修改的频道相邻性(框412、402、404)。如果如判定框416所述,用户停留在特定频道(即,“观看”模式),那么在客户端装置350上执行的流播客户端逻辑可配置成请求以更高位速率编码的媒体内容,以便潜在地一直到可能的最高位速率简档(即,斜升)。另外或备选地,客户端装置350还可请求分割成较大段的编码媒体内容。因此,应明白,一旦客户端装置350处于“观看”模式,便可相对快速地向用户展示具有最高QoS的媒体内容。框418处说明性地阐述了这些操作。此后,客户端装置350可如前所述基于监测的状况(重新)建立或以其它方式(重新)确定更新的频道相邻性。

本领域技术人员将在此参考之后意识到,通过执行上述预提取操作,可在频道改变时有利地规避如图2所示的至少过程阶段202和204,从而在改变频道时获得“领先”。由于新频道的媒体内容更易获得,所以虽然以低位速率简档和/或较短分段(至少在最初),但是客户端装置的解码器/再现器引擎仍可快速地处理媒体内容,以便可以缓和在典型的频道改变流播环境中发生的至少一些图像再现问题。

现在参考图5,其中示出可通过具有多个流播客户端应用和对应解码器以便在频道改变环境中实现另外效率的流播客户端装置(例如,客户端装置350)实现的过程流500的另一个实施例。与上述过程流400类似,过程流500包括框502-506,其中客户端装置350可继续监测带宽状况、缓冲器资源、处理状况等,以使得可以确定合适的频道相邻性并可预提取元数据和初始化数据。利用预提取的初始化信息,客户端装置350继续提取相邻频道的媒体内容并立即开始解码(框508)。换句话说,客户端装置350可操作以便(依靠独立的流播客户端/解码器)并行地解码来自相邻频道的多个流(即,预解码),从而获得关于如图2所示的过程阶段210的另外领先。应意识到,媒体段的较早部分可包括告知段中的所有视频样本所在位置的“moof”原子(例如,在碎片式MP4编码中)和帧的IDR(即时解码刷新)片段。此时,客户端装置350的再现引擎具有足以在显示屏上放置一些像素的信息。因此,如果当前流播频道改变为相邻频道之一,那么客户端装置350的再现引擎可立即开始再现(因为预解码的媒体内容已经在合适的视频缓冲器中可用),如框510所述。此后,如之前关于图4所描述,客户端装置350可基于监测的状况重新(建立)或以其它方式(重新)确定更新的频道相邻性。

图6描绘至少关于本专利公开的某些方面可通过示例客户端装置350执行的高级频道建成过程600的流程图。在框602,可构建相邻频道的一个或多个列表,在一些实施例中,可基于用户偏好、内容供应商策略等将所述一个或多个列表区分优先顺序。如上所述,可为每个相邻频道预提取各种数据(在某些实现中,涉及并包括编码的媒体段)。在判定框604,可做出相邻频道建成是否完整、即确定相邻的频道的必需的预提取操作是否结束的判定。如果是,那么过程流停止(框606)。否则,可相对于剩余相邻频道继续执行预提取/下载操作(框608)。

现在转到图7,其中描绘根据本专利申请的一个或多个实施例关于在自适应流播环境中利于快速频道改变具有关于可在自适应流播服务器系统(例如,如图1所示的服务器系统102)中进行的各种步骤和动作的框的流程图。具体来说,图7的过程流700示出可通过处理器复合体108在执行存储在永久存储器109中的合适服务逻辑并结合服务器系统102的其它子系统(例如,编码器106、分段器112、错误校正118等)操作时独立地或以其某个组合或子组合实行的各种功能性。当在服务器系统102处开始新的媒体内容流(例如,由于用户的频道改变请求)时,在永久存储器109中实施的服务逻辑可配置成总是在诸如流接入点(SAP)的特定点处开始流播请求的媒体内容(框702),其中SAP是保证GOP中的所有帧都可解码的内容流中的GOP随机接入点。另外或备选地,服务器系统102的服务逻辑可配置成在选择时间周期禁止错误校正机制118向客户端装置350传送新流(框704)。将意识到,禁用协议特定的错误校正机制可得到流播数据的非标准协议传送,而且不会有错误校正开销,从而利于到客户端装置350的更快速的传送速率。还应明白,放松错误校正机制期间的计时窗口可例如响应于来自网络和/或客户端装置350的请求、命令、信号等进行配置或以其它方式定制。在另外或备选变型中,服务器系统102的服务逻辑可配置成至少在最初便于只传送以选择位速率(例如,可能的最低位速率)编码和/或通过分段器112分割成最短段的媒体内容,如框706所述。同样,有条件地调制流播服务器的功能性期间的初始周期(例如,斜升周期)可响应于来自客户端装置350的请求和/或来自网络管理节点的其它控制信号进行配置。例如,在一个实现中,可提供相同的错误校正放松周期和初始斜升周期。在另一个实现中,这两个时间周期可不相同。在再一个实现中,响应于接收到来自客户端装置350的一个或多个请求(例如,消息、警报、状态指示符等),可启用或重新启用错误校正机制,而不管在开始新媒体流时最初禁用错误校正机制的实体或事件。另外或备选地,来自客户端装置350的一个或多个请求(例如,URL、指针、指示符等)可选择性地命令服务器系统102开始传送以更高位速率编码和/或在更大段中的媒体内容。举例来说,客户端装置350可为低位速率媒体内容发送一个URL(例如,可作为第一URL操作)http://www.purplefrog.com/vid/665/r1/0000311.m4s,并为高位速率媒体内容发送另一个URL(例如,可作为第二URL操作)http://www.purplefrog.com/vid/665/r2/0000311.m4s。应意识到,客户端装置可响应于各种状况、尤其是带宽状况、再现的视频的质量、缓冲器状况、解码处理状况等生成这些请求。因此,可响应于各种请求有条件地调制由服务器系统102实行的流播功能性,如框708所述。

为了和流播服务器系统102的前述功能性相呼应地利于快速频道改变,客户端装置350还可相应地配置成独立地或以其某个组合或子组合实行多个过程。图8描绘具有关于可在客户端装置350处进行的各种步骤和动作的框的过程流800。当新开始媒体内容流(例如,由于频道改变请求)时,客户端装置350可操作以便发起只对以可能的最低位速率编码和/或在最短段中的媒体内容的请求(框802)。当接收编码的媒体内容时,客户端装置350可配置成开始立即解码和再现接收的媒体内容,而不管缓冲器状态如何。如之前关于图5的实施例所描述,在接收至少最小量的信息时,这些立即解码/再现是可能的。另外或备选地,可防止在斜升周期期间清空视频缓冲器存储器319。在框804处说明性阐述的前述功能性可通过在处理器复合体302的控制下优选和合适的流播客户端310相呼应地操作的频道改变控制器和缓冲器监测器304来实行。取决于带宽状况、视频质量等,客户端装置350可通过生成到流播服务器系统102的合适的信号而逐渐提升请求的位速率和/或段大小(潜在地请求以可能最高的位速率编码并分割成最大段的媒体内容)。客户端装置350还可操作以便在最初禁用错误校正时发送在流播服务器系统102处启用或重新启用错误校正的信号或请求。在客户端装置350达到适于可接受质量的视频(例如,高质量)的位速率之后,客户端装置350在“观看”模式正常表现,直到请求新的媒体内容流。框806处说明性地阐述了前述功能性。应明白,上文所述的各种请求/信号可由客户端装置350在不同时间(即,相对于彼此不同步)并且在自新流开始时的时间以来的选择/可定制的时间周期到期之后生成。

图9描绘可通过实现如上所述的流播服务器系统102和客户端装置350的实施例来实现的示例用户观看体验900。在框902,打开客户端装置350(例如,流播A/V播放器),并请求选择频道媒体内容。在框904,在视频和音频同步的情况下开始播放请求的媒体内容,但是再现的内容可能具有较低质量。在框906,用户改变频道,于是在视频和音频同步的情况下播放新的媒体内容(框908)。同样,新媒体内容的整体质量可能较低,因为再现时存在音频和/或视频小差错。当用户停留在某个频道上时,该频道的媒体内容逐渐提升到可能的最高位速率(可能在几秒内),其中视频缓冲器相应地填满(框912)。

图10描绘至少关于本专利公开的某些方面可由示例客户端装置350执行的高级频道改变过程1000的流程图。在框1002,开始频道改变,于是客户端装置350首先接收最低质量流(1004)。尽可能立即解码和再现接收的低质量流(框1006)。一般逐渐提升位速率、段大小和质量,直到达到正常/可接受的质量,如框1008、1010所述。此后,客户端装置350在“观看”模式正常表现,直到请求新的媒体内容流,如上所述。

图11描绘出于本专利申请的目的代表客户端装置350的一部分的示例流播客户端装置1100的另一个实施例。频道改变控制器1106具有通信路径1105、1107以便分别相对于可操作以便存储输入视频流的视频缓冲器1104和解码器/再现器1108拦截、中断或以其它方式控制这些操作。解码器/再现器1108经由通信路径1109耦合到视频缓冲器1104,并经由通信路径1114耦合到显示屏1116。在正常观看操作中,解码器/再现器1108可操作以便在达到/维持特定级别时解码缓冲的数据。示例解码数据说明性地示为可提供给显示屏1116以便在其上形成图像的报头数据1110和I/B/P帧或片段1112。另一方面,在频道改变状况中,即使只有最小量的数据,仍迫使解码器/再现器1108处理视频缓冲器数据。

基于以上详细描述,应明白,可有利地实现本公开的实施例,以便利于流播环境中的频道改变。通过以预测性方式预提取某些初始化数据,可在整个媒体获取-解码-再现过程中抢先起步,从而减小通常导致不可接受的观看体验的切换引起的延迟。因此,可在自适应流播网络中提供与通常在现有TV广播环境中预期的体验类似的频道冲浪体验。

在本公开的各种实施例的以上描述中,将了解,本文中所使用的术语只是为了描述特定实施例,而不是要限制本发明。除非另外定义,否则本文中所使用的所有术语(包括技术和科技术语)具有与本发明所属领域的技术人员通常理解的含义相同的含义。还将了解,诸如常用字典中定义的术语的术语应理解为具有与本说明书的上下文和相关领域中的含义一致的含义,并且除非本文中明确定义,否则不应理解为具有理想化或过度正式的意义。

本文中参考计算机实现的方法、设备(系统和/或装置)和/或计算机程序产品的框图和/或流程图图示描述了至少一些示例实施例。应了解,框图和/或流程图图示的框以及框图和/或流程图图示中的框的组合可通过由一个或多个计算机电路执行的计算机程序指令来实现。可将这些计算机程序指令提供给通用计算机电路、专用计算机电路和/或其它可编程数据处理电路的处理器电路以便制造机器,从而使得经由计算机和/或其它可编程数据处理设备的处理器执行的指令、改变和控制晶体管、存储在存储器位置中的值、以及这些电路内的其它硬件组件实现在这个或这些框图和/或流程图框中所指定的功能/动作,并且从而创建用于实现在这个(这些)框图和/或流程图框中所指定的功能/动作的部件(功能性)和/或结构。另外,计算机程序指令也可存储在可引导计算机或其它可编程数据处理设备以特定方式运行的有形计算机可读介质中,从而使得存储在计算机可读介质中的指令制造包含用于实现在这个或这些框图和/或流程图框中所指定的功能/动作的指令的制品。

如前所述,有形的非暂时性计算机可读介质可包括电子、磁、光、电磁或半导体数据存储系统、设备或装置。计算机可读介质的更具体示例包括如下:便携式计算机盘、随机存储器(RAM)电路、只读存储器(ROM)电路、可擦除可编程只读存储器(EPROM或闪速存储器)电路、便携式致密盘只读存储器(CD-ROM)和便携式数字视频盘只读存储器(DVD/Blu-ray)。也可将计算机程序指令加载或以其它方式下载到计算机和/或其它可编程数据处理设备,以使得在计算机和/或其它可编程设备上执行一系列操作步骤,从而产生计算机实现的过程,进而使得在计算机或其它可编程设备上执行的指令提供用于实现在这个或这些框图和/或流程图框中所指定的功能/动作的步骤。因此,本发明的实施例可以用硬件和/或软件(包括固件、常驻软件、微代码等)来实施,软件在可统称为“电路”、“模块”或其变型的诸如数字信号处理器的处理器上运行。

此外,在至少一些另外或备选实现中,这些框中所描述的功能/动作可以不按流程图中所示的顺序进行。例如,取决于所涉及的功能性/动作,连续示出的两个框实际上可基本上同步地执行,或者这些框有时可按相反顺序执行。此外,流程图和/或框图的给定框的功能性可分割成多个框,和/或流程图和/或框图的两个或两个以上框的功能性可至少部分地集成在一起。最后,可在所示的框之间增加/插入其它框。此外,尽管一些图在通信路径上包含箭头以便示出主要通信方向,但是应了解,通信可按相对于描绘的箭头相反的方向进行。

尽管示出并详细描述了各种实施例,但是权利要求不限于任何特定实施例或示例。以上任何详细描述都应不应视为是意味着任何特定组件、元件、步骤、动作或功能是必不可少的,从而使得权利要求的范围内必须包含它。除非明确指出,否则提到单数元素不是意味着“一个且仅一个”,而是指“一个或多个”。为本领域技术人员所知的上述实施例的元素的所有结构和功能等效物明确以引用的方式并入本文,并且希望由本权利要求涵盖。因此,本领域技术人员将意识到,可在随附权利要求的精神和范围内以各种修改和改变实践本文中所描述的示例性实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1