当前位置: 首页 > 专利查询>谷歌公司专利>正文

将多个编码视频组合以经由视频解码器解码的方法和系统技术方案

技术编号:14688895 阅读:180 留言:0更新日期:2017-02-23 11:17
本文所描述的方法和系统提供用于使用单个解码器来对多个视频流进行解码。示例方法可以包括接收表示第一视频的编码帧的第一数据流以及接收均表示相应视频的编码帧的一个或多个附加数据流。对于所接收的第一数据流的每个编码帧,该方法进一步可以包括:将所述一个或多个附加数据流中的每个数据流的相应帧与编码第一帧组合,使得第一视频的每个编码帧包括第一视频的相应帧和所述一个或多个附加数据流中的每个数据流的相应帧。然后,该方法可以包括将第一数据流的每个所组合的帧解码。该方法还可以包括提供所解码的帧以用于显示。

【技术实现步骤摘要】
【国外来华专利技术】
本申请要求2014年5月1日提交的美国专利申请号14/267,486以及2015年4月9日提交的美国专利申请号14/682,864的优先权,其特此通过引用全部并入本文。
技术介绍
除非本文中另外指示,否则此部分中所描述的材料不是本申请中的权利要求的现有技术,也不被承认是通过包括在此部分中而成为现有技术。诸如视频和音频的媒体常常被压缩以减少表现该媒体所需的数据量(通常称作比特率)。通过降低比特率,可以需要较少量的数据存储来存储视频,并且可以需要较小的带宽来通过网络传送视频。众多的视频编解码器(编码器/解码器)作为使得能够对数字视频进行压缩或解压缩的硬件和/或软件组件而存在。为了将压缩的视频解码,许多类型的计算设备具有硬件和/或软件解码单元。对视频——特别是对于如1080p的较高分辨率的视频——进行解码能够是CPU密集型任务,。因此,尽管视频解码器在许多情形下可以被实现为在通用处理器上执行的软件模块,专用硬件解码器可以更高效和/或更有能力的,尤其是关于对较高分辨率的视频进行解码而言。诸如移动计算设备的一些低功率设备可以配备有通用处理器,其可能难以实时地和/或在可接受功率包络内解码高分辨率视频。为了协助解码这样的视频,诸如智能电话和平板计算机的一些移动计算设备可以配备有被配置为对压缩的视频进行解码的一个或多个硬件视频解码器。
技术实现思路
在一个示例中,提供一种方法,其包括由处理器接收表示第一视频的编码帧的第一数据流以及接收表示第二视频的编码帧的第二数据流。对于所接收的第一数据流的每个帧,该方法进一步包括在帧的报头中定义该帧是相应输出帧的第一片。并且,对于所接收的第二数据流的每个帧,该方法包括在帧的报头中定义该帧是相应输出帧的第二片并且定义该第二片被垂直地堆叠在相应输出帧中的第一片下面。然后,该方法包括生成输出数据流,该输出数据流被配置为将第一视频的编码帧表示为编码输出帧的相应第一片并且将第二视频的编码帧表示为编码输出帧的相应第二片,使得相应输出帧被划分为相应第一片和相应第二片。该方法还包括将所生成的输出数据流发送至解码器。在另一示例中,提供一种具有存储在其上的指令的计算机可读存储存储器,所述指令在由处理器执行时使得所述处理器执行功能。所述功能包括:接收表示第一视频的编码帧的第一数据流以及接收均表示相应视频的编码帧的一个或多个附加数据流。对于所接收的第一数据流的每个编码帧,所述功能进一步包括:将所述一个或多个附加数据流中的每个数据流的相应帧与编码第一帧组合,使得每个编码第一帧包括第一视频的相应帧和所述一个或多个附加数据流中的每个数据流的相应帧。所述功能进一步包括:由特定解码器将第一数据流的每个所组合的帧解码为输出表面格式,所述输出表面格式表示第一视频的帧以及所述一个或多个附加数据流的视频中的每个视频的帧。所述功能还包括提供第一视频的解码帧以及所述一个或多个附加数据流的视频中的每个视频的解码帧以用于同时显示。在另一示例中,提供一种设备,其包括一个或多个处理器以及被配置为存储指令的数据储存器,所述指令在由所述一个或多个处理器执行时使得所述设备执行功能。所述功能包括:接收表示第一视频的编码帧的第一数据流,其中第一视频的每个编码帧被划分为相应的第一宏块阵列;以及接收表示第二视频的编码帧的第二数据流,其中第二视频的每个编码帧被划分为相应的第二宏块阵列。所述功能还包括:将所接收的第一数据流和所接收的第二数据流组合成被配置为表示编码输出帧的输出数据流。每个编码输出帧包括被垂直地连结至第一视频的相应编码帧的第一宏块阵列的第二视频的相应编码帧的第二宏块阵列。所述功能进一步包括:将输出数据流解码为输出表面格式,该输出表面格式包括在相应非重叠区域中的第一视频的解码帧和第二视频的解码帧;以及提供第一视频的解码帧和第二视频的解码帧以用于显示。在另一示例中,提供了一种系统,其包括:用于接收表示第一视频的编码帧的第一数据流的装置以及用于接收均表示相应视频的编码帧的一个或多个附加数据流的装置。对于所接收的第一数据流的每个编码帧,所述系统进一步包括:用于将所述一个或多个附加数据流中的每一个的相应帧与第一视频的编码帧组合的装置,使得每个编码帧包括第一视频的相应帧以及所述一个或多个附加数据流中的每个数据流的相应帧。所述系统进一步包括:用于由特定解码器将第一数据流的每个所组合的帧解码为输出表面格式的装置,所述输出表面格式表示第一视频的帧以及所述一个或多个附加数据流的视频中的每个视频的帧。所述系统进一步包括:用于提供第一视频的解码帧以及所述一个或多个附加数据流中的视频中的每个视频的解码帧以用于显示的装置。这些以及其它方面、优点、和替选方案通过在适当的情况下参照附图来阅读以下具体实施方式,对于本领域的普通技术人员将变得显而易见。附图说明图1图示了可以实现示例方法的示例计算设备。图2图示了示例计算设备的示例组件。图3是图示了将多个编码视频流组合以用于同时解码的示例方法的流程图。图4A图示了示例视频数据流的示例组件。图4B图示了示例视频数据流的示例子分量或子部分。图5A图示了视频数据流的示例帧。图5B图示了视频数据流的示例片。图5C图示了所组合的视频数据流的示例帧。图6图示了示例经排序的数据流以及表示该示例经排序的数据流的所组合的流。图7图示了另一所组合的视频数据流的示例帧。图8图示了另一所组合的视频数据流的示例帧。图9图示了示例片以及对示例片进行组合的示例输出帧。图10表示具有不同帧速率的示例有序数据流以及表示该示例有序数据流的所组合的流。具体实施方式以下具体实施方式参照附图描述了所公开的系统和方法的各个特征和功能。在附图中,除非上下文另外指示,否则相似的附图标记标识相似的组件。本文所描述的说明性系统和方法的实施例并不意图进行限制。可以容易地理解,所公开的系统和方法的某些方面能够以广泛多种不同的配置来布置和组合,其中全部为本文中可以设想到的。给定计算设备可以具有协助计算设备对编码的视频进行解码的视频解码器。在一些情况下,视频解码器可在计算设备内被实现为专用硬件,其被配置成执行用作解码视频的特定代码算法。专用硬件可以支持同时对特定数目的视频流进行解码。例如,专用硬件可以包括总共两个硬件解码器单元,其中的每个解码器单元可以支持一次对一个视频解码。同时,一些应用可以提供同时显示比专用硬件能够同时解码的更多的视频。例如,支持同时与多个计算设备的群组聊天的视频聊天应用可以提供同时显示来自每个计算设备的视频流。作为另一示例,新闻馈送应用可以提供在多个新闻项的新闻馈送中在每个新闻项旁边对预览视频的显示。当应用提供对比给定计算设备在硬件上所支持的更多的视频流的同时显示时,计算设备可以使用软件解码器来对所述视频流中的一个或多个进行解码。然而,在通用处理器上以软件来解码通常不如在硬件解码器上解码有效率。在一些情况下,软件解码器正在其上执行的通用处理器的速度可能不足以对一个或多个视频流实时解码。此外,在一些情况下,以软件解码可以显著增大处理器利用,这可能以各种方式对用户体验带来负面影响,(诸如通过致使UI令人感觉缓慢或没有响应)。在一些情况下,与使用专用硬件对视频进行解码所使用的电池电量相比,以软件来对视频进行解码还可能使用相对更多的电池电量。作为本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201580022233.html" title="将多个编码视频组合以经由视频解码器解码的方法和系统原文来自X技术">将多个编码视频组合以经由视频解码器解码的方法和系统</a>

【技术保护点】
一种方法,包括:接收表示第一视频的第一数据流,其中,所述第一数据流包括帧的第一序列,所述帧的第一序列包括第一帧内代码化的帧;接收表示第二视频的第二数据流,其中,所述第二数据流包括帧的第二序列,所述帧的第二序列包括第二帧内代码化的帧;以及将所接收的第一数据流和所接收的第二数据流组合,以获得编码输出帧的输出数据流,使得编码输出帧包括所述第一序列的相应帧和所述第二序列的相应帧,并且使得第一帧内代码化的帧与相应第二帧内代码化的帧被组合在所述输出流内的相应编码输出帧中。

【技术特征摘要】
【国外来华专利技术】2014.05.01 US 14/267,486;2015.04.09 US 14/682,8641.一种方法,包括:接收表示第一视频的第一数据流,其中,所述第一数据流包括帧的第一序列,所述帧的第一序列包括第一帧内代码化的帧;接收表示第二视频的第二数据流,其中,所述第二数据流包括帧的第二序列,所述帧的第二序列包括第二帧内代码化的帧;以及将所接收的第一数据流和所接收的第二数据流组合,以获得编码输出帧的输出数据流,使得编码输出帧包括所述第一序列的相应帧和所述第二序列的相应帧,并且使得第一帧内代码化的帧与相应第二帧内代码化的帧被组合在所述输出流内的相应编码输出帧中。2.根据权利要求1所述的方法,其中,将所接收的第一数据流和所接收的第二数据流组合成编码输出帧的输出数据流进一步包括:将所述第一数据流的第一帧间代码化的帧与所述第二数据流的相应第二帧间代码化的帧组合。3.根据权利要求1所述的方法,其中,所述第一编码帧被划分为相应的第一代码化单元阵列,并且其中,所述第二编码帧被划分为相应的第二代码化单元阵列,并且其中,将所接收的第一数据流和所接收的第二数据流组合包括:将给定的第一代码化单元阵列与给定的第二代码化单元阵列组合,以获得编码输出帧。4.根据权利要求1所述的方法,进一步包括:确定所述帧的第一序列中的帧具有第一帧宽度并且所述帧的第二序列中的帧具有小于所述第一帧宽度的第二帧宽度;以及利用附加帧数据来填充所述帧的第二序列中的所述帧,使得所述帧的第一序列中的所述帧和所述帧的第二序列中的所述帧具有相同的帧宽度。5.根据权利要求1所述的方法,其中,所述第一视频具有第一帧速率,所述第一帧速率高于所述第二视频的第二帧速率,所述方法进一步包括:在所述第二数据流的第二帧内代码化的帧之后,将特定数目的帧插入所述第二数据流中,其中,所述特定数目的帧与所述第一帧速率与所述第二帧速率之间的差成比例。6.根据权利要求1所述的方法,进一步包括:由解码器将编码输出帧的所述输出数据流解码为输出表面格式,所述输出表面格式包括所述第一视频的解码帧和所述第二视频的解码帧。7.根据权利要求1所述的方法,其中,所述第一数据流和所述第二数据流中的每个表示以下中的一个:视频预览、视频广告、或者视频呼叫。8.一种具有存储在其上的指令的非暂时性计算机可读介质,所述指令在被处理器执行时使得所述处理器执行操作,所述操作包括:接收表示第一视频的第一数据流,其中,所述第一数据流包括帧的第一序列,所述帧的第一序列包括第一帧内代码化的帧;接收表示第二视频的第二数据流,其中,所述第二数据流包括帧的第二序列,所述帧的第二序列包括第二帧内代码化的帧;以及将所接收的第一数据流和所接收的第二数据流组合,以获得编码输出帧的输出数据流,使得编码输出帧包括所述第一序列的相应帧和所述第二序列的相应帧,并且使得第一帧内代码化的帧与相应第二帧内代码化的帧被组合在所述输出流内的相应编码输出帧中。9.根据权利要求8所述的计算机可读介质,其中,将所接收的第一数据流和所接收的第二数据流组合成编码输出帧的输出数据流进一步包括:将所述第一数据流的第一帧间代码化的帧与所述第二数据流的相应第二帧间代码化的帧组合。10.根据权利要求8所述的计算机可读介质,其中,...

【专利技术属性】
技术研发人员:安德鲁·本尼迪克特·刘易斯
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1