用于内容呈现的比特率和管线保留的制作方法

文档序号:20842559发布日期:2020-05-22 17:42阅读:159来源:国知局
用于内容呈现的比特率和管线保留的制作方法

相关申请的交叉引用

本申请要求于2017年9月8日提交的印度申请序列no.201741031917的优先权,其全部内容通过引用结合于此。

本发明总体上涉及配置为优化内容更改过程(例如,频道更改)的专用机器的技术领域的机器,所述机器包括这种专用机器的计算机化变体以及对这些变体的改进,并且涉及与其他有助于优化内容更改的专用机器相比,使得这种专用机器得到改进的技术。具体地,本发明提出了用于在内容更改过程期间保留下载比特率和内容播放管线的系统和方法。



背景技术:

通常,在(例如,由频道更改或对不同段内容的选择引起的)内容切换期间,由于在渲染和显示新的一段内容(例如,节目、电影、节目)之前要获取某些信息,所以会发生延迟。此外,对于自适应比特率流式传输的内容,该内容通常以低(或最低)比特率开始流式传输或下载,然后缓慢增加比特率直到获得最佳比特率。这导致初始视频或图像呈颗粒状。此外,每次发生内容变化时,都需要建立内容播放管线来增加延迟。

附图说明

所附附图中的各个附图仅示出了本发明的示例性实施方案,并且不能视为限制本发明的范围。

图1是示出用于优化内容更改的示例性环境的示意图;

图2是示出根据示例性实施方案的数字接收器内的组件的示例性实施方案的框图。

图3是根据示例性实施方案的用于优化内容更改过程的方法的流程图。

图4是根据示例性实施方案的用于保留内容传递管线的方法的流程图。

图5是根据示例性实施方案的以计算系统的示例形式的机器的示意图,在该机器中可以执行一组指令以使该机器执行本文所讨论的方法中的任何一种或更多种。

具体实施方式

以下描述包括实现本发明主题的示例性实施方案的系统、方法、技术、指令序列和计算机器程序产品。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对发明主题的各种实施方案的理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节中的一些或其他的情况下实践本发明主题的实施方案。通常,不会详细示出众所周知的指令实例、协议、结构和技术。示例仅代表可能的变化。除非另有明确说明,否则结构(例如,结构性组件,诸如模块)是可选的,并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以顺序变化或被组合或细分。

本文描述的示例性实施方案提供了用于优化内容更改或切换正在观看的内容的系统和方法,例如通过频道更改或从观看列表中选择不同段内容。在一些实施方案中,系统利用浏览上下文(例如,用户与应用交互的方式)来识别观看者的(潜在)感兴趣的内容。然后,系统从内容提供商预先取得感兴趣内容的元数据,并将元数据存储到本地缓存。元数据包括用于渲染和显示一段内容的前提条件,这些前提条件包括系统无需解密内容即可获取的最小数据集。在示例性实施方案中,可以利用预先取得的元数据来确定是否保留内容播放管线(在本文中也称为“内容传递管线”或简称为“管线”)的至少一部分。

通常,将同一段内容分成多个片段(例如,10个第二片段),并且每个片段都有不同的比特率。低比特率可能会有颗粒感,而高比特率通常会具有更好的图像质量。典型地,当开始播放新的一段内容时,系统不知道网络带宽的质量。结果,为了尽快开始播放,常规系统以最低的比特率开始。因此,每当用户从一个内容切换到下一个内容时,播放将以最低的比特率开始,并根据网络性能缓慢增加或改善。相反,示例性实施方案在切换到新的一段内容时保留先前的比特率。即,当用户选择新的一段内容进行播放时(例如,从前一段内容切换到新的一段内容),示例性实施方案在开始新的一段内容播放时,维持或保留(启发式确定的)用于流式传输或下载前一段内容的比特率。这使得可以尽快开始播放,同时从开始就提供更好的图像质量。

此外,在常规系统中,内容的切换或转换通常使得先前内容的传递管线被解构(例如,先前获取的资源被释放)。随后,为新的一段内容创建新的管线(例如,获取新的资源)。相反,示例性实施方案可以保持或保留用于获得前一段内容的部分(或全部)内容传递管线(例如,包括源元件、解复用器(“多路分配器”)、视频解码器和音频解码器),而不是重建管线(例如,破坏内容传递管线并建立新内容传递管线)。管线的保留还使得可以尽快播放新内容。

结果,本文所述的一种或更多种方法有助于解决优化内容更改的技术问题(例如,减少用于频道更改或新内容的加载的时间),而无论传递信道如何——内容是广播(例如,iptv和多播)还是互联网电视(over-the-top,ott)。所述方法包括:通过数字接收器,使得播放第一段内容,并且在第一段内容播放期间,接收对用于播放的新的一段内容的选择。响应于接收到选择,数字接收器保持用于播放第一段内容的比特率,以开始新的一段内容的播放。所述方法进一步包括:在切换到播放新的一段内容时确定是否保留播放管线的至少一部分。在一些实施方案中,保留播放管线的至少一部分包括:当切换到播放新的一段内容时,确定是否重新训练管线的音频解码器和视频解码器。因此,本文所讨论的一种或更多种方法改善了内容更改期间的延时,同时保持了图像质量。应当注意的是,内容更改包括:选择用于观看的一段内容(例如,从诸如收藏夹网格的内容访问页面或通过节目指南)以及频道更改(例如,线性频道更改)。

参照图1,示出了示例性环境100的实施方案,该示例性环境100使得能够优化内容更改(例如,减少频道更改或选择用于观看的一段内容期间的延时)。在示例性实施方案中,用户的数字接收器102提供对数字内容的访问并管理内容更改操作。在一个实施方案中,数字接收器102是机顶盒。数字接收器102连接到用户可以在其上观看数字内容的观看设备104(例如,电视或监控器)。在一些实施方案中,数字接收器102(例如,数字接收器102的操作)可以与观看设备104(例如,智能电视、平板电脑或智能手机)组合。将结合下面的图2更详细地讨论用于执行示例性实施方案的操作的数字接收器102的组件。

在一些实施方案中,数字接收器102经由网络106从内容分发网络(cdn)服务器108访问(例如,拉取、接收、检索)内容。cdn服务器108可以从一个或更多个内容提供商110(例如,内容提供商110的服务器)获得内容。在示例性实施方案中,cdn服务器108可以与第三方服务(例如,netflix、hulu、youtube、亚马逊)相关联,该第三方服务存储和提供诸如如下的内容,但不限于互联网电视(ott)内容、视频点播(vod)内容、互联网内容或通过网络106向数字接收器102广播的内容。该内容包括:文本、图像、音频和/或视频内容(例如,电影、电视节目、视频),并且在一些实施方案中,包括实况(例如,实时)内容。在一些实施方案中,内容提供商110通过网络106直接将内容提供给数字接收器102以在观看设备104上显示。

网络106的一个或更多个部分可以是:自组织网络、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、一部分互联网、一部分公共交换电话网(pstn)、蜂窝电话网络、无线网络、wifi网络、wimax网络、卫星网络、电缆网络、广播网络、另一种类型的网络,或两个或多个这种网络的组合。网络106的任何一个或更多个部分可以经由传输介质或信号介质来通信信息。如本文所使用的,“传输介质”是指能够传送(例如,传输)由机器(例如,由该机器的一个或更多个处理器)执行的指令的任何无形(例如,易失性)介质,并且包括数字或模拟通信信号或其他无形介质,以促进这种软件的通信。

应当注意的是,图1所示的环境100仅是示例。例如,在环境100内可以实现任何数量的cdn服务器108和内容提供商110。此外,可以组合环境100的一些组件。例如,数字接收器102的功能可以在观看设备104内实现以形成单个设备,例如智能电视、平板电脑、智能电话或能够获取、渲染和显示内容的任何其他设备。此外,本文针对任何单个系统或机器描述的功能可以细分为多个系统或机器。

图1所示或与图1相关的任何系统或机器(例如,数据库、设备、服务器)可以为、包括已经修改(例如,通过软件配置或编程,软件诸如应用程序、操作系统、固件、中间件或其他程序的一个或更多个软件模块)的专用(例如,专用或其他非通用)计算机,或以其它方式在该专用计算机中实现,以执行本文所述的该系统或机器的一个或更多个功能。例如,下面参照图5讨论能够实现本文描述的方法中的任何一种或更多种的专用计算机系统,这种专用计算机可以相应地是用于执行本文所讨论的方法中的任何一种或更多种的装置。在此类专用计算机的技术领域内,与缺少本文所述的结构或无法执行本文讨论的功能的其他专用计算机相比,已通过本文所讨论的结构进行修改以执行本文所讨论的功能的专用计算机在技术上得到了改进。因此,根据本文所讨论的系统和方法配置的专用机器对相似的专用机器的技术提供了改进。

图2是示出根据示例性实施方案的数字接收器102内的组件的示例性实施方案的框图。在示例性实施方案中,数字接收器102管理对通过网络106流式传输的内容的访问。具体地,数字接收器102预先取得元数据,在开始新的一段内容的播放时保留用于前一段内容的播放(例如,流式传输或下载)的比特率,并保留内容传递管线的至少一部分。为了实现这些操作,数字接收器102包括:播放器202、内容传递管线204(也称为“管线”)、高速缓存管理器206和高速缓存208,所有这些都可以配置为彼此通信(例如,通过总线、共享内存或交换机)。数字接收器102包括与示例性实施方案的操作无关的其他组件(未示出)。

播放器202配置为管理管线204。在示例性实施方案中,当选择第一段内容进行显示时,播放器204实例化(例如,构建)管线204。可以为每种类型的内容构建不同的管线。例如,播放器202为hls内容构建http实时流式传输(hls)管线,并且为dash内容构建基于http的动态自适应流式传输(dash)管线。当内容发生切换时(例如,频道更改或选择用于观看的新内容),播放器204还决定是保持管线204的至少一部分还是构建新管线。结合下面的图4进一步详细讨论用于管理管线保留的示例性方法。

由播放器202通过获取用于获得和处理内容数据的适当资源来构建管线204,以便播放所选内容。管线204的资源包括:源元件212、解复用器(“多路分配器”)214、音频解码器216和视频解码器218。源元件212管理用于所选段内容的内容数据的下载。源元件212还管理数字接收器102处的比特率适配。具体地,源元件212记住用于播放当前/先前段内容的最后比特率,并且继续利用该比特率来播放新内容。这样,如果最后比特率高,则源元件212将以相同的高比特率开始用于新内容。如果新内容不能以该比特率播放,则源元件212将降低比特率。例如,如果内容的下载所花费的时间小于预期的时间,则存在多余的带宽,并且可以提高比特率。相反,如果下载所花费的时间长于预期的时间,则降低比特率。这样,示例性实施方案将以先前/最后的比特率开始新内容的播放,而不是以较低或最低的比特率开始(并缓慢增加)。

解复用器对从cdn服务器108或内容提供商110获得的内容数据进行解复用,以获得音频信号和视频信号。音频信号被发送到音频解码器216进行处理,而视频信号被发送到视频解码器218进行处理。来自音频解码器216和视频解码器218的结果被输出(例如,发送)到观看设备104,以呈现给用户。

高速缓存管理器206管理可能潜在地选择用于播放的内容的元数据的预先取得。在一些实施方案中,高速缓存管理器206预测用户可能感兴趣观看的内容。例如,用户可能正在沿特定方向(例如,向上或向下)浏览频道或节目的线性列表(例如,电子节目指南;“epg”)。在该实施方案中,高速缓存管理器206基于线性列表上的浏览方向来预测下一组内容。在另一个示例中,用户可能正在查看视频点播(video-on-demand,vod)目录或用户的观看列表。如果用户请求信息或将其悬停在对一段内容的选择上,则高速缓存管理器206将其用作用户对这一段内容感兴趣的预测。或者,高速缓存管理器可以将目录或观看列表的可视部分中的所有(或某些)段内容视为感兴趣的内容。在任何这些情况下,高速缓存管理器206预先取得感兴趣内容的元数据,并将预先取得的数据存储到高速缓存208。元数据可以包括,例如,一个或更多个统一资源定位符(url),其中大量内容可用;用于不同比特率的url;许可证数据(例如,从何处获得许可证);以及编解码器信息。如下面将进一步讨论的,播放器202将利用编解码器信息来确定是否保留管线204的至少一部分。如果用户随后选择已经预先取得元数据的内容,则可以在选择之后从高速缓存208访问元数据,而不是必须通过网络106从cdn服务器108或内容提供商110中检索元数据。这将有助于减少播放的延迟。

本文描述的任何一个或更多个组件(例如,模块、解码器、资源)可以利用硬件(例如,机器的一个或更多个处理器)单独地实现,或利用硬件和软件的组合来实现。例如,本文描述的任何组件可以物理地包括一个或更多个处理器的布置,或者配置处理器(例如,在机器的一个或更多个处理器之中)以执行本文描述的对于该模块的操作。因此,本文描述的不同组件可以包括并配置在不同时间点的处理器的不同布置或在不同时间点的处理器的单种布置。本文描述的每个组件是用于执行本文描述的对于该组件的操作的装置的示例。而且,这些组件中的任何两个或更多个可以组合成单个组件,并且本文描述的对于单个组件的功能可以在多个组件之中进行细分。此外,根据各种示例性实施方案,本文描述为在单个机器、数据库或设备内实现的组件可以分布在多个机器、数据库或设备上。

图3是根据示例性实施方案的用于优化内容更改的示例性方法300的流程图。在示例性实施方案中,方法300由数字接收器102的组件部分或全部执行。因此,参考数字接收器102通过示例来描述方法300。然而,应当理解的是,方法300的至少一些操作可以被部署在各种其他硬件配置上,或者可以由位于环境100中的其他地方的类似组件来执行。因此,方法300不旨在限于数字接收器102。

在操作302,使第一段内容由观看设备104播放。在示例性实施方案中,播放器202构建用于获得和处理第一段内容的内容数据的管线204。具体地,播放器202获取源元件212、解复用器214、音频解码器216和视频解码器218以形成管线204。数据内容由管线204处理并呈现在查看设备104上。

在操作304,预先取得用于一个或更多个感兴趣内容的集合的元数据。在示例性实施方案中,高速缓存管理器206预测用户感兴趣的内容并预先取得感兴趣的内容的元数据。然后,将预先取得的数据存储到高速缓存208。元数据可以包括但不限于:一个或更多个url,其中大量内容可用;用于不同比特率的一个或更多个url;许可证数据(例如,从何处获得许可证);以及编解码器信息。

在操作306,播放器202接收切换到用于播放的新的一段内容的指示。该指示可以从用户的控制设备(例如,遥控器)接收。在一些实施方案中,用户可以滚动浏览epg或正在查看目录或观看列表,并选择用于观看的新的一段内容。

在操作308,当将播放切换到新的一段内容时,数字接收器102保持比特率。在示例性实施方案中,当将播放从正在进行的播放操作转换到新的播放操作时,源元件212利用为第一段内容的播放而得到的启发式比特率来播放新的一段内容。因此,与从最低可能的比特率开始新的播放相反,源元件212尝试保持或保留用于播放的比特率。如果不能以该比特率传送新的一段内容,则源元件212将降低比特率。这样,示例性实施方案将以先前/最后的比特率开始新内容的下载,而不是以较低或最低的比特率开始(并缓慢增加)。这使得可以立即以最佳比特率播放新内容,而不必从最低可能的比特率开始启发式地重新计算最佳比特率。通常,得到最佳比特率通常需要下载内容数据的几个片段或块,从而导致图像质量的逐渐改善。然而,从新内容播放的最开始,利用先前得到的启发式比特率的示例性实施方案保持了与先前播放的图像质量水平相同的图像质量水平。

在操作310,执行管线保留过程以确定是否保持用于播放第一段内容的管线的至少一部分,以用于播放新的一段内容。此外,如果要保持或保留管线,则确定应该保留管线的所有资源还是仅保留一部分管线(例如,仅保持一些资源,而释放其他资源)。将结合图4更详细地讨论管线保留过程。

图4是根据示例性实施方案的用于保留内容传递管线的示例性方法400的流程图。在示例性实施方案中,方法400参照管线204的资源的一部分或全部由播放器202来执行。因此,参考播放器202和管线204,通过示例来描述方法400。然而,应当理解的是,方法400的至少一些操作可以被部署在各种其他硬件配置上,或者可以由位于环境100中的其他地方的类似组件来执行。因此,方法400不旨在限于播放器202和管线204。

在操作402,响应于接收到将播放切换到新内容的指示,高速缓存管理器206访问在高速缓存208中存储的预先取得的用于新内容的元数据。预先取得的用于新内容的元数据可以包括:一个或更多个url,其中新内容可用;一个或更多个url,用于与新内容相关联的不同比特率;用于新内容的许可证数据;以及用于新内容的编解码器信息。预先取得的元数据还可以指示新内容是否与第一段内容类型相同。例如,第一段内容和新内容都可以是http实时流式传输(hls)格式,或者都可以是http上的动态自适应流式传输(dash)格式。

在操作404,播放器202确定第一段内容和新内容是否具有相同的内容类型。如果第一段内容和新内容不具有同一类型(例如,第一段内容是hls格式,而新内容是dash格式),那么在操作406释放管线204的资源(例如,源元件212、解复用器214、音频解码器216和视频解码器218)。释放管线204的所有资源实质上解构了管线204。播放器202通过获取适用于新内容的内容类型的其他资源来创建新管线。

如果在操作404播放器202确定出第一段内容和新内容具有相同的内容类型(例如,两者均为hls格式),则在操作408,检测用于新内容的编解码器信息。在示例性实施方案中,对于编解码器信息,播放器202检查用于新内容的预先取得的元数据。编解码器信息指示新内容所需的解码器类型。

在操作410,由播放器202确定新内容所需的解码器的类型是否与第一段内容的管线204中当前的解码器相同。如果所需的解码器的类型相同,则在操作412,保留整个管线204。换句话说,管线204的资源被保持并继续用于播放新内容。

然而,如果在操作410播放器202确定出新内容需要不同的解码器,则在操作414,释放解码器(例如,音频解码器216和视频解码器208)。随后在操作416,保留或保持管线204的其余部分(例如,源元件212和解复用器214)。在这些实施方案中,播放器202获取适用于新内容的新的解码器集合(例如,新的音频解码器和新的视频解码器),并将新的解码器集合添加到管线204的保留部分。

尽管参照可适用于dash和hls的管线和比特率保留讨论了示例性实施方案,但是用于保留比特率和管线的示例性实施方案可应用于本质上自适应的任何类型的内容(例如,内容比特率可以基于带宽改变)。

图5是示出了根据一些示例性实施方案的机器500的组件的框图,机器500能够从机器存储介质522(例如,非易失性机器存储介质、机器可读存储介质、计算机可读存储介质,或它们的任何合适的组合)读取指令524,并全部或部分地执行本文所讨论的方法中的任何一种或更多种。具体地,图5以计算机设备(例如,计算机)的示例形式示出了机器500,在其中可以全部或部分地实现用于使机器500执行本文讨论的方法中的任何一种或更多种的指令524(例如,软件、程序、应用程序、小程序、应用或其他可执行代码)。

例如,指令524可以使机器500执行图3和图4的流程图。指令524可以将通用的、未编程的机器500转换成编程为以所述的方式执行所描述和示出的功能的特定机器(例如,特殊配置的机器)。

在替代实施方案中,机器500作为独立设备操作,或者可以连接(例如,联网)到其他机器。机器500可以是服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(例如,stb)、个人数字助理(pda)、蜂窝电话、智能电话、web设备、网络路由器、网络交换机、网桥、电源适配器或能够顺序或以其他方式执行指令524的任何机器500,指令524指定了该机器500要采取的动作。此外,尽管仅示出了单个机器500,但是术语“机器”也应理解为包括机器的集合,其单独地或共同地执行指令524以执行本文所讨论的方法中的任何一种或更多种。

机器500包括:处理器502(例如,中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic),或其任何合适的组合)、主存储器504和静态存储器506,它们配置为通过总线508彼此通信。处理器502可以包括可由指令524的一些或全部来临时或永久配置的微电路,使得处理器502可以配置为整体或部分执行本文所述方法中的任何一种或更多种。例如,一组处理器502的一个或更多个微电路可以配置为执行本文所述的一个或更多个模块(例如,软件模块)。

机器500可以进一步包括:图形显示器510(例如,等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪、阴极射线管(crt)或任何其他能够显示图形或视频的显示器)。机器500还可以包括:字母数字输入设备512(例如,键盘或小键盘)、光标控制设备514(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、眼球跟踪设备或其他指向工具)、存储单元516、信号生成设备518(例如,声卡、放大器、扬声器、耳机插孔或它们的任何合适的组合)以及网络接口设备520。

存储单元516包括机器存储介质522(例如,有形的机器可读存储介质),在其上存储了指令524,指令524实现了本文描述的方法或功能中的任何一种或更多种。在由机器500执行指令之前或期间,指令524也可以全部或至少部分地位于主存储器504内、处理器502内(例如,处理器的高速缓冲存储器内)或这两者中。因此,主存储器504和处理器502可以认为是机器存储介质522(例如,有形的和非易失性的机器存储介质)。

在一些示例性实施方案中,机器500可以是便携式计算设备,并且具有一个或更多个附加的输入组件(例如,传感器或仪表)。这样的输入组件的示例包括:图像输入组件(例如,一个或更多个摄像机)、音频输入组件(例如,麦克风)、方向输入组件(例如,指南针)、位置输入组件(例如,全球定位系统(gps)接收器)、方向组件(例如,陀螺仪)、运动检测组件(例如,一个或更多个加速度计)、高度检测组件(例如,高度计)和气体检测组件(例如,气体传感器)。由这些输入组件中的任何一个或更多个输入组件收集的输入可以由本文描述的任何模块访问和使用。

可执行指令和机器存储介质

各种存储器(即,504、506和/或处理器502的存储器)和/或存储单元516可以存储实现本文描述的方法或功能的一种或更多种、或者由本文描述的方法或功能的一种或更多种利用的一组或更多组指令和数据结构(例如,软件524)。这些指令在由处理器502执行时使得各种操作实施所公开的实施方案。

如本文所使用的,术语“机器存储介质”、“设备存储介质”、“计算机存储介质”(统称为“机器存储介质522”)表示相同的事物,并且可以在本发明中互换使用。该术语指的是存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库和/或关联的高速缓存和服务器),以及包括多个存储装置或设备的基于云的存储系统或存储网络。因此,应将术语理解为包括但不限于固态存储器以及光和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质522的特定示例包括:非易失性存储器,例如包括半导体存储器件,例如,可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、fpga和快闪存储器件;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及cd-rom和dvd-rom磁盘。术语机器存储介质、计算机存储介质和设备存储介质522特别排除载波、调制数据信号和其他这种介质,其中至少一些在下文讨论的术语“信号介质”中涵盖。

信号介质

术语“信号介质”或“传输介质”应认为包括任何形式的调制数据信号、载波等。术语“调制数据信号”是指这样的信号,该信号的一个或更多个特性设置或更改为在该信号中编码信息。

计算机可读介质

术语“机器可读介质”、“计算机可读介质”和“设备可读介质”表示相同的事物,并且在本发明中可以互换使用。这些术语定义为既包括机器存储介质又包括信号介质。因此,该术语既包括存储设备/介质又包括载波/调制的数据信号。

指令524可以进一步经由网络接口设备520利用传输介质并且利用许多公知的传输协议中的任何一种(例如,http)在通信网络526上发送或接收。通信网络526的示例包括:局域网(lan)、广域网(wan)、互联网、移动电话网络、普通老式电话服务(pots)网络和无线数据网络(例如,wifi、lte和wimax网络)。术语“传输介质”应认为包括能够存储、编码或运载由机器500执行的指令524的任何无形介质,并且包括数字或模拟通信信号或促进这种软件的通信的其他无形介质。

在整个说明书中,多个实例可以实现描述为单个实例的组件、操作或结构。尽管将一种或更多种方法的单独操作示出并描述为单独的操作,但是可以同时执行一个或更多个单独操作,并且不需要按照所示顺序执行操作。在示例性配置中表示为单独组件的结构和功能可以实现为组合结构或组件。类似地,呈现为单个组件的结构和功能可以实现为单独的组件。这些和其他变型、修改、添加和改进落入本文主题的范围内。

本文将某些实施方案描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,实现在机器存储介质522上或在传输信号中的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以以某种物理方式进行配置或布置。在各种示例性实施方案中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件模块(例如,一个处理器502或一组处理器502)可以通过软件(例如,应用程序或应用程序部分)配置为操作以执行本文所述的某些操作的硬件模块。

在一些实施方案中,可以机械地、电子地或其任何合适的组合来实现硬件模块。例如,硬件模块可以包括专用电路或逻辑,该专用电路或逻辑永久地配置为执行某些操作。例如,硬件模块可以是专用处理器,例如现场可编程门阵列(fpga)或asic。硬件模块还可以包括可编程逻辑或电路,该可编程逻辑或电路由软件临时配置为执行某些操作。例如,硬件模块可以包括包含在通用处理器或其他可编程处理器内的软件。应当理解的是,可以由成本和时间考虑来决定在专用且永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件模块。

相应地,短语“硬件模块”应理解为包括有形实体,是物理地构建、永久地配置(例如,硬接线),或临时地配置(例如,编程)以某种方式操作或执行本文中所述的某些操作的实体。如本文所使用的,“硬件实现的模块”是指硬件模块。考虑其中硬件模块临时配置(例如,编程)的实施方案,每个硬件模块不需要在任何一个时刻配置或实例化。例如,在硬件模块包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间分别配置为不同的专用处理器(例如,包括不同的硬件模块)。软件可以对处理器进行相应地配置,例如,以在一个时刻上构成特定的硬件模块,并在不同的时刻上构成不同的硬件模块。

本文中描述的示例性方法的各种操作可以至少部分地由一个或更多个临时配置(例如,通过软件)或永久配置为执行相关操作的处理器执行。不管是临时配置还是永久配置,这种处理器都可以构成处理器实现的模块,这些模块操作以执行本文所述的一个或更多个操作或功能。如本文所使用的,“处理器实现的模块”是指使用一个或更多个处理器实现的硬件模块。

类似地,本文中描述的方法可以至少部分地由处理器实现,处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器或处理器实现的模块执行。

示例

示例1是用于优化内容更改过程的方法。所述方法包括:通过数字接收器,使得播放第一段内容;在第一段内容播放期间,通过数字接收器接收对用于播放的新的一段内容的选择;响应于接收到选择,通过数字接收器的处理器保持用于播放第一段内容的比特率,以开始新的一段内容的播放。

在示例2中,示例1的主题可以可选地包括:确定新的一段内容是否与第一段内容类型相同;基于新的一段内容与第一段内容的类型相同,确定是否保留播放管线的至少一部分。

在示例3中,示例1-2的主题可以可选地包括:其中,确定是否保留包括:检测新的一段内容的编解码器信息,该编解码器信息指示新的一段内容所需的解码器的类型;确定管线中的音频解码器和视频解码器是否为由编解码器信息指示的类型。

在示例4中,示例1-3的主题可以可选地包括:响应于管线中的音频解码器和视频解码器是由编解码器信息指示的类型,保留整个管线。

在示例5中,示例1-4的主题可以可选地包括:响应于管线中的音频解码器和视频解码器不同于由编解码器信息指示的类型,释放管线中的音频解码器和视频解码器;基于所述编解码器信息获得新的音频解码器和新的视频解码器。

示例6是一种优化内容更改过程的系统。所述系统包括:一个或更多个硬件处理器;以及存储设备,其存储用于配置一个或更多个硬件处理器以执行操作的指令,所述操作包括:使得播放第一段内容;在第一段内容播放期间,接收对用于播放的新的一段内容的选择;响应于接收到选择,保持用于播放第一段内容的比特率,以开始新的一段内容的播放。

在示例7中,示例6的主题可以可选地包括:确定新的一段内容是否与第一段内容类型相同;基于新的一段内容与第一段内容的类型相同,确定是否保留播放管线的至少一部分。

在示例8中,示例6-7的主题可以可选地包括:其中,确定是否保留包括:检测新的一段内容的编解码器信息,该编解码器信息指示新内容所需的解码器的类型;确定管线中的音频解码器和视频解码器是否为由编解码器信息指示的类型。

在示例9中,示例6-8的主题可以可选地包括:响应于管线中的音频解码器和视频解码器是由编解码器信息指示的类型,保留整个管线。

在示例10中,示例6-9的主题可以可选地包括:响应于管线中的音频解码器和视频解码器不同于由编解码器信息指示的类型,释放管线中的音频解码器和视频解码器;基于所述编解码器信息获得新的音频解码器和新的视频解码器。

示例11是一种机器可读介质,其存储指令,所述指令在由机器的一个或更多个硬件处理器执行时使机器执行操作,所述操作包括:使得播放第一段内容;在第一段内容播放期间,接收对用于播放的新的一段内容的选择;响应于接收到选择,保持用于播放第一段内容的比特率,以开始新的一段内容的播放。

在示例12中,示例11的主题可以可选地包括:确定新的一段内容是否与第一段内容类型相同;基于新的一段内容与第一段内容的类型相同,确定是否保留播放管线的至少一部分。

在示例13中,示例11-12的主题可以可选地包括:其中,确定是否保留包括:检测新的一段内容的编解码器信息,该编解码器信息指示新内容所需的解码器的类型;确定管线中的音频解码器和视频解码器是否为由编解码器信息指示的类型。

在示例14中,示例11-13的主题可以可选地包括:响应于管线中的音频解码器和视频解码器是由编解码器信息指示的类型,保留整个管线。

在示例15中,示例11-14的主题可以可选地包括:响应于管线中的音频解码器和视频解码器不同于由编解码器信息指示的类型,释放管线中的音频解码器和视频解码器;基于所述编解码器信息获得新的音频解码器和新的视频解码器。

本文中讨论的主题的某些部分可以按照对以位或二进制数字信号存储在机器存储器(例如,计算机存储器)中的数据进行运算的算法或符号表示的方式来呈现。这样的算法或符号表示是数据处理领域的普通技术人员用来将其工作的实质传达给本领域其他技术人员的技术的示例。如本文所使用的,“算法”是导致期望结果的操作或类似处理的自洽序列。在这种情况下,算法和操作涉及对物理量的物理操控。通常,但不是必须,这样的量可以采取能够由机器存储、访问、传输、组合、比较或以其他方式操纵的电、磁或光信号的形式。主要出于通用目的,利用诸如“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“术语”、“数”、“数字”等的词语来引用这种信号有时会很方便。但是,这些词语仅是方便的标签,并且应与适当的物理量相关联。

除非另有明确说明,否则本文中利用诸如“处理”、“计算”、“估算”、“确定”、“呈现”、“显示”等词语进行的讨论可以指操控或转换数据的机器的动作或过程(例如,计算机),所述数据表示为一个或更多个存储器(例如,易失性存储器、非易失性存储器或其任意合适的组合)、寄存器或者接收、存储、传输或显示信息的其他机器组件内的物理(例如,电、磁或光)量的数据。此外,除非另有明确说明,否则如专利文件中公知的,术语“一”或“一个”在本文中用于包括一个或更多个实例。最后,除非另有明确说明,否则如本文所使用的,连词“或”是指非排他性的“或”。

尽管已经参考特定示例性实施方案描述了本发明主题的概述,但是在不脱离本发明的实施方案的较宽范围的情况下,可以对这些实施方案进行各种修改和改变。例如,本领域普通技术人员可以混合和匹配各种实施方案或其特征,或者使其成为可选的。仅出于方便起见,本文中可以单独地或共同地用术语“发明”来指代发明主题的这些实施方案,并且如果实际上公开了一个以上的发明,则不希望将本申请的范围自动限制为任何单个发明或发明构思。

相信本文足够详细地描述了本文中所示的实施方案,以使本领域技术人员能够实践所公开的教导。可以使用其他实施方案并从中得出其他实施方案,使得可以在不脱离本发明的范围的情况下进行结构和逻辑上的替换和改变。因此,不应在限制意义上理解详细描述,并且各种实施方案的范围仅由所附权利要求以及这些权利要求所享有的等同物的全部范围来限定。

此外,可以为本文中描述为单个实例的资源、操作或结构提供多个实例。此外,各种资源、操作、模块、引擎和数据存储装置之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。可以设想功能的其他分配,并且其可以落入本发明的各种实施方案的范围内。通常,在示例性配置中呈现为单独资源的结构和功能可以实现为组合结构或资源。类似地,呈现为单个资源的结构和功能可以实现为单独的资源。这些和其他变型、修改、添加和改进落入如所附权利要求所表示的本发明的实施方案的范围内。因此,说明书和附图应认为是说明性的而不是限制性的。

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