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

递归块分区制造技术

技术编号:13736258 阅读:53 留言:0更新日期:2016-09-22 03:47
根据本公开的各个方面,提供了用于将图像分为区域、将分区类型应用于每个区域、基于应用于每个区域的分区类型来为每个区域确定率失真代价、基于应用于每个区域的所述分区类型来为每个区域确定代码化方案、并且基于为每个区域确定的率失真代价和代码化方案来单独地对每个区域进行编码的系统和方法。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求2013年12月30日提交的标题为“RECURSIVE BLOCK PARTITIONING”的美国非临时专利申请第No.14/144,375号的优先权并且是该案的延续,其公开内容以引用的方式全部并入本文。
本描述涉及用于递归块分区以及其在视频压缩中的熵编码的各种基于计算机的技术。
技术介绍
一般而言,视频编解码能够实现数字视频的的压缩/解压缩。通常,在视频质量、表现视频所需的数据量(即,比特率)、编码/解码算法的复杂性、和一些其它因素之间存在复杂平衡。视频编解码器通常采用基于块的编码,其中,较大块大小使代码化方面的平均间接成本降低,而较小块大小可以允许在预测方面更灵活以减少残差能量。当处理块大小选择时,传统视频编解码在维持相对简单和简洁的编解码结构的同时使率失真代价最佳化方面有不足。近年来,使在平均间接成本与预测质量之间的折衷最佳化的共同策略是针对给定区域的共同策略,编码器可以对所有允许的块大小进行测试并且选择使率失真代价最小化的允许的块大小。该共同策略明确地将选定的块大小编码为比特流。不幸的是,由于传统编码,在所有块大小上的这类大规模搜索导致高度复杂的视频编解码实施方式。进一步地,明确地对块大小信息进行代码化充分地利用了空间相关性,这可能导致压缩效率低。同样,存在对通过其实现视频编解码的过程最佳化和/或和/或改进需要。
技术实现思路
根据本公开的各个方面,提供了一种用于存储指令的非暂时性计算机可读存储介质,该指令在被执行时使得至少一个处理器进行过程。所述指令可以包括被配置成将图像分为多个区域并且将多个分区类型应用于所述多个区域中的每个区域的指令。所述指令可以包括被配置成基于应用于所述多个区域中的每个区域的所述多个分区类型来为所述多个区域中的每个区域确定率失真(例如,率失真代价)的指令。所述指令可以包括被配置成基于应用于所述多个区域中的每个区域的所述多个分区类型来为所述多个区域中的每个区域确定代码化方案的指令。所述指令可以包括被配置成基于为所述多个区域中的每个区域确定的率失真代价和代码化方案来单独地对所述多个区域中的每个区域进行编码的指令。根据本公开的各个方面,提供了一种用于存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得至少一个处理器执行过程。所述指令可以包括被配置成将视频分为多个像素块并且将多个分区类型应用于所述多个像素块中的每个像素块的指令。所述指令可以包括被配置成对于应用于所述多个像素块中的每个像素块的所述多个分区类型的第一分区类型,将第一分区类型的每个像素块分为多个像素子块,并且将所述多个分区类型重新应用于所述多个像素子块中的每个像素子块的指令。所述指令可以包括被配置成基于分别应用于并且重新应用于每个像素块和每个像素子块的所述多个分区类型来为每个像素块和每个像素子块确定率失真代价的指令。所述指令可以包括被配置成基于分别应用于并且重新应用于每个像素块和每个像素子块的所述多个分区类型来为每个像素块和每个像素子块确定代码化方案的指令。所述指令可以包括基于为每个像素块和每个像素子块确定的率失真代价和代码化方案来单独地对每个像素块和每个像素子块进行编码的指令。根据本公开的各个方面,系统可以包括至少一个处理器和存储器。系统可以包括编码器,该编码器被配置成使得至少一个处理器将图像
分为多个区域并且将多个分区类型应用于所述多个区域中的每个区域。编码器可以被配置成使得至少一个处理器:对于应用于所述多个区域中的每个区域的所述多个分区类型中的至少一个分区类型,将该至少一个分区类型的每个区域分为多个子区域,并且将所述多个分区类型重新应用于多个子区域中的每个子区域。编码器可以被配置成使至少一个处理器基于分别应用于并且重新应用于每个区域和每个子区域的所述多个分区类型来为每个区域和每个子区域确定率失真代价。编码器可以被配置成使至少一个处理器基于分别应用于并且重新应用于每个区域和每个子区域的多个分区类型来为每个区域和每个子区域确定编码方案。编码器可以被配置成使至少一个处理器基于分别为每个区域和每个子区域确定的率失真代价和编码方案来单独地对每个区域和每个子区域进行编码。在附图或以下描述中阐释了一个或多个实施方式的细节。其它特征将通过描述和附图并且通过权利要求而变得显而易见。附图说明图1A是图示出了根据本公开的各个方面的用于实施各种基于计算机的技术的示例系统的框图,该各种基于计算机的技术用于递归块分区和其在视频压缩中的熵编码。图1B是图示出了根据本公开的各个方面的与图1A所示的部分框相关联的示例组件的框图。图2是图示出了根据本公开的各个方面的示例编码器的框图。图3是图示出了根据本公开的各个方面的示例解码器的另一框图。图4是图示出了根据本公开的各个方面的用于递归块分区的示例技术的框图。图5是图示出了根据本公开的各个方面的用于基于上下文的熵编码的示例技术的框图。图6A是图示出了根据本公开的各个方面的用于在编码器处产生
表格的方法的过程流程。图6B至图6C是根据本公开的各个方面的用于递归块分区的示例方法的过程流程。图7是图示出了根据实施方式的概率表的示例的示意图。图8是图示出了根据本公开的各个方面的用于递归块分区的另一示例方法的过程流程。具体实施方式图1A是图示出了根据本公开的各个方面的用于实施各种技术的示例系统100的框图,该各种技术用于递归块分区和其在视频压缩中的熵编码。在一些实施方式中,可以将图像分为多个区域(例如,每个区域具有诸如64×64像素的n×n像素的大小)。进一步地,可以通过率失真环路来对每个区域进行测试以发现最佳代码化决策决策(包括:将图像分为或者分区为区域或者像素块大小的方式、每块的预测模式、应用于每个块的变换类型等),并且然后可以以光栅顺序将每个区域代码化或者编码为比特流。在一些实施方式中,可以将图像分为多个区域,该多个区域具有诸如64×32像素的n×m像素的尺寸。率失真环路可以用于在视频压缩中提高视频质量,并且可以涉及将失真量(视频质量损失)与用于对视频进行编码的数据量(数据率)进行比较并且确定该失真量。在一些实施方式中,率失真环路可以用于改善编码,其中,决策可以同时影响编码视频的文件大小和质量。在图1A的示例中,系统100可以包括用于实施递归块分区的计算机系统。在图1A的示例中,编码器120可以包括:在正向通路上执行各种功能以使用输入视频流来提供编码比特流或者压缩比特流的一个或者多个阶段。如本文进一步所描述的,可以将输入视频流的图像或者视频帧分为多个区域,其中,可以通过率失真环路来对每个区域执行测试或者评估以发现最佳代码化决策,并且然后可以以光栅顺序将
每个区域编码为比特流。在图1A的示例中,解码器124可以包括:执行各种功能以提供来自编码比特流或者压缩比特流的输出视频流的一个或者多个阶段。如本文进一步所描述的,可以向用于解码的解码器提供编码比特流或者压缩比特流以提供输出视频流。在一些实施方式中,解码器124是编码器120的补充,因此,解码器124所使用的解码过程是编码器120所使用的编码过程的补充。下面结合例如图2至图5来描述与编码器120和解码器124的操作有关的更多细节。在图1A的示例中,计算装置104可以包括本文档来自技高网
...

【技术保护点】
一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得至少一个处理器执行过程,所述指令包括被配置为进行如下操作的指令:将图像分为多个区域;基于概率表将多个分区类型应用于所述多个区域中的每个区域;基于应用于所述多个区域中的每个区域的所述多个分区类型来为所述多个区域中的每个区域确定率失真代价;基于应用于所述多个区域中的每个区域的所述多个分区类型来为所述多个区域中的每个区域确定代码化方案;以及基于为所述多个区域中的每个区域确定的率失真代价和代码化方案来单独地对所述多个区域中的每个区域进行编码。

【技术特征摘要】
【国外来华专利技术】2013.12.30 US 14/144,3751.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得至少一个处理器执行过程,所述指令包括被配置为进行如下操作的指令:将图像分为多个区域;基于概率表将多个分区类型应用于所述多个区域中的每个区域;基于应用于所述多个区域中的每个区域的所述多个分区类型来为所述多个区域中的每个区域确定率失真代价;基于应用于所述多个区域中的每个区域的所述多个分区类型来为所述多个区域中的每个区域确定代码化方案;以及基于为所述多个区域中的每个区域确定的率失真代价和代码化方案来单独地对所述多个区域中的每个区域进行编码。2.根据权利要求1所述的计算机可读存储介质,其中,所述图像包括视频帧,并且所述多个区域包括所述多个区域的网格。3.根据权利要求1和2中任一项所述的计算机可读存储介质,其中,所述多个区域中的每个区域包括n×n像素块。4.根据权利要求3所述的计算机可读存储介质,其中,所述n×n像素块包括以下至少一个:64×64像素块、32×32像素块、16×16像素块、8×8像素块、4×4像素块、和2×2像素块。5.根据权利要求1至4中任一项所述的计算机可读存储介质,其中,所述概率表包括:与所述多个分区类型中的第一分区类型相关联的概率值、和与所述多个分区类型中的第二分区类型相关联的概率值。6.根据权利要求1至5中任一项所述的计算机可读存储介质,其中,所述多个分区类型包括:第一分区类型,所述第一分区类型包括具有尺寸相似的四个子块的拆分分区类型,第二分区类型,所述第二分区类型包括具有尺寸相似的、水平布置的两个子块的水平分区类型,第三分区类型,所述第三分区类型包括具有尺寸相似的、垂直布置的两个子块的垂直分区类型,以及第四分区类型,所述第四分区包括具有单个块的无分区类型。7.根据权利要求1至6中任一项所述的计算机可读存储介质,其中,对于应用于所述多个区域中的每个区域的所述多个分区类型的第一分区类型,所述指令包括被配置为进行如下操作的指令:将所述多个区域中的每个区域分为多个子区域;将所述多个分区类型重新应用于所述多个子区域中的每个子区域;基于应用于所述多个子区域中的每个子区域的所述多个分区类型来为所述多个子区域中的每个子区域确定率失真代价;以及基于应用于所述多个子区域中的每个子区域的所述多个分区类型来为所述多个子区域中的每个子区域确定代码化方案。8.根据权利要求1至7中任一项所述的计算机可读存储介质,其中,被配置为基于为所述多个区域中的每个区域确定的率失真代价和代码化方案来单独地对所述多个区域中的每个区域进行编码的所述指令包括配置为进行如下操作的指令:基于为所述多个子区域中的每个子区域确定的率失真代价和代码化方案来单独地对所述多个子区域中的每个子区域进行编码。9.根据权利要求1至8中任一项所述的计算机可读存储介质,其中,被配置成为所述多个区域中的每个区域确定率失真代价的所述指令包括被配置成进行如下操作的指令:基于应用于所述多个区域中的每个区域的所述多个分区类型来为
\t所述多个区域中的每个区域评估多个率失真代价;以及为所述多个区域中的每个区域确定率失真代价,所述率失真代价选自为所述多个区域中的每个区域评估的所述多个率失真代价。10.根据权利要求1至9中任一项所述的计算机可读存储介质,其中,被配置成单独地对所述多个区域中的每个区域进行编码的所述指令包括被配置为进行如下操作的指令:基于为所述多个区域中的每个区域确定的最佳率失真代价来单独地对所述多个区域中的每个区域进行编码。11.根据权利要求1至10中任一项所述的计算机可读存储介质,其中,被配置成为所述多个区域中的每个区域确定代码化方案的所述指令包括被配置成进行如下操作的指令:基于应用于所述多个区域中的每个区域的所述多个分区类型来为所述多个区域中的每个区域评估多个代码化方案;以及为所述多个区域中的每个区域确定最佳代码化方案,所述最佳代码化方案选自为所述多个区域中的每个区域评估的所述多个代码化方案。12.根据权利要求1至11中任一项所述的计算机可读存储介质,其中,被配置成单独地对所述多个区域中的每个区域进行编码的所述指令包括被配置成进行如下操作的指令:基于为所述多个区域中的每个区域确定的最佳代码化方案来单独地对所述多个区域中的每个区域进行编码。13.根据权利要求1至12中任一项所述的计算机可读存储介质,其中,所述代码化方案包括基于上下文的熵代码化方案,当为所述多个区域中的每个区域确定代码化方案时,所述基于上下文的熵代码化方案考虑每个区域的大小、应用于在每个区域上方的第一邻居区域和在每个区域左边的第二邻...

【专利技术属性】
技术研发人员:韩敬宁罗纳德·塞巴斯蒂安·布特杰
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国;US

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

1