用于高效下一代视频编码的内容自适应双向或功能预测多遍图片的制作方法

文档序号:16785884发布日期:2019-02-01 19:24阅读:288来源:国知局
用于高效下一代视频编码的内容自适应双向或功能预测多遍图片的制作方法

本专利申请要求于2013年1月30日递交的、名称为“NEXT GENERATION VIDEO CODING”的美国临时申请No.61/758,314的优先权,该临时申请出于所有目的被并入本文。



背景技术:

视频编码器压缩视频信息,使得更多的信息可以在给定的带宽上被发送。压缩的信号可以然后被发送到具有解码器的接收机,所述解码器在显示之前对信号解码或解压缩。

高效视频编码(HEVC)是最近的视频压缩标准,其是由ISO/IEC运动图片专家组(MPEG)和ITU-T视频编码专家组(VCEG)组成的视频编码联合组(JCT-VC)开发的。HEVC响应于以前的H.264/AVC(高级视频编码)标准不提供足够的压缩的而进行开发,以用于发展较高分辨率视频应用。类似于以前的视频编码标准,HEVC包括基本功能模块,例如,帧内/帧间预测、变换、量化、循环滤波和熵编码。

正在发展的HEVC标准可以试图改进对H.264/AVC标准的限制,例如,对被允许的预测分区和编码分区的有限选择、有限的被允许的多个参考和预测生成、有限的变换块尺寸和实际变换、用于减少编码伪像的有限机制和低效熵编码技术。然而,正在发展的HEVC标准可以使用迭代方法来解决这样的问题。

例如,在要被压缩的视频的不断增加的分辨率和对高视频质量的期望的情况下,使用现有的视频编码标准(例如,H.264)或甚至发展的标准(例如,H.265/HEVC)进行编码所需的相对的应比特率/带宽是相对高的。前面提到的标准使用传统方法的扩展形式来隐含地处理不足的压缩/质量问题,但结果常常是有限的。

在下一代视频(NGV)编码译码器计划的上下文内发展的本公开处理设计使可实现的压缩效率最大化同时保持对设备上的实现足够实用的高级视频编码译码器的一般问题。例如,在由于良好的显示器的可用性而引起的视频的不断增加的分辨率和对高视频质量的期望的情况下,使用现有的视频编码标准(例如,早些时候的MPEG标准)和甚至更近的H.264/AVC标准所需的相对应的比特率/带宽是相对高的。H.264/AVC不被理解为提供用于发展较高分辨率视频应用的足够高的压缩。

附图说明

本文描述的材料作为示例而不是作为限制在附图中示出。为了举例说明的简单和清楚,在附图中所示的元件不一定按比例绘制。例如,为了清楚,一些元件的尺寸可以相对于其它元件被放大。此外,在被认为适当的场合,参考标记在附图当中重复以指示相对应的或类似的元件。在附图中:

图1是示例下一代视频编码器的示意图;

图2是示例下一代视频解码器的示意图;

图3(a)是示例下一代视频编码器和子系统的示意图;

图3(b)是示例下一代视频解码器和子系统的示意图;

图4A是根据本文的实现示出了提供对于预测帧进行多遍编码的过程的流程图;

图4B是根据本文的实现示出了提供对于预测帧进行多遍编码的另一过程的流程图;

图5是具有修改的参考帧的帧序列的示意图;

图6是修改的参考帧的超分辨率过程的示意图;

图7是示例编码器子系统的示意图;

图8是示例解码器子系统的示意图;

图9是展示了链式预测和其它预测技术的帧序列的示意图;

图10是示例编码器子系统的示意图;

图11是示例解码器子系统的示意图;

图12是展示了投影插补和其它预测技术的帧序列的示意图;

图13是在多遍的情况下展示参考帧依赖的帧序列的示意图;

图14是在多遍的情况下展示参考帧依赖的另一帧序列的示意图;

图15是在多遍的情况下展示参考帧依赖的又一帧序列的示意图;

图16是示例编码器子系统的示意图;

图17是示例解码器子系统的示意图;

图18是在多遍的情况下具有展示了参考帧依赖的B-图片的帧序列的示意图;

图19是示例编码器子系统的示意图;

图20是示例解码器子系统的示意图;

图21是示例视频编码系统的示意图;

图22是示例系统的示意图;以及

图23示出了所有都根据本公开的至少一些实现来布置的示例设备。

具体实施方式

现在参考所包含的附图来描述一个或多个实施例或实现。虽然讨论了特定的配置和布置,但是应理解,这仅出于例证性目的而被完成。相关领域中的技术人员将认识到,可以使用其它配置和布置而不偏离描述的精神和范围。对相关领域中的技术人员显而易见的是,还可以在除了本文描述的内容以外的各种其它系统和应用中使用本文描述的技术和/或布置。

虽然下面的描述阐述了可以在诸如芯片上系统(SoC)架构之类的架构中出现的各种实现,本文描述的技术和/或布置的实现并不限于特定的架构和/或计算系统,并且可以出于类似的目的由任何架构和/或计算系统实现。例如,使用例如多个集成电路(IC)芯片和/或封装、和/或各种计算设备和/或消费电子(CE)设备(例如,机顶盒、智能电话等)的各种架构可以实现本文描述的技术和/或布置。此外,虽然下面的描述可以阐述很多特定的细节,例如,逻辑实现、系统部件的类型和相互关系、逻辑划分/集成选择等,所主张的主题可以在没有这样的特定细节的情况下被实施。在其它实例中,一些材料(例如,控制结构和完整的软件指令序列)可以不详细示出,以便不使本文公开的材料难理解。

本文公开的材料可以在硬件、固件、软件或其任何组合中实现。本文公开的材料也可以被实现为存储在机器可读介质上的指令,所述指令可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或发送信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等);及其它。在另一形式中,非暂时性制品(例如,非暂时性计算机或机器可读介质)可以与上面提到的示例和除了它本身不包括暂时性信号之外的其他示例中的任何一个一起使用。它可以包括可以以“暂时”的方式(例如,RAM等)临时地保持数据的元件,而不包括信号本身。

在说明书中对“一个实现”、“实现”、“示例实现”等的提及指示所述实现可以包括特定的特征、结构、或特性,但每个实施例可能不一定必须包括所述特定的特征、结构或特性。而且,这样的短语并不一定指同一实现。此外,当结合实施例来描述特定的特征、结构或特性时,提出的是,无论是否在本文被明确地描述,结合其它实现来实施这样的特征、结构、或特性是在本领域中的技术人员的知识范围内的。

下面关于用于高效下一代视频编码的内容自适应双向和功能预测多遍图片描述的系统、装置、制品、以及方法。这还可以被称为对高级B-图片或F-图片进行编码。

如上面讨论的,H.264/VAC标准可以具有各种限制和在进行中改进标准的试图,例如,HEVC标准可以使用迭代的方法来处理这样的限制。例如,在要被压缩的视频的不断增加的分辨率和对高视频质量的期望的情况下,使用现有的视频编码标准(例如,H.264)或甚至发展的标准(例如,H.265/HEVC)进行编码所需的相对应的比特率/带宽是相对高的。前述标准可以使用传统方法的扩展形式来隐含地处理不足的压缩/质量问题,但常常结果是有限的。例如,传统帧间编码一般包括由标准使用的运动补偿预测。因此,这样的不足的压缩/质量问题一般通过只使用在视频的帧间编码中的局部运动补偿预测来隐含地处理。

此外,当前尝试一些特定的方法。这样的尝试一般可以使用多个过去或多个过去和未来的帧。多个过去或多个过去和未来的帧的这样的用途一般被利用,希望在过去或未来的帧中,与在过去的帧(对于P图片/切片)中或在过去和未来的帧(对于B图片/切片)中相比,可能存在与正被预测的当前帧的区域更类似的区域。

然而,因为很多这样的不足压缩/质量问题不仅是由于运动而且也由于其它特征所引起的,所以仅仅运动补偿预测不能使用来自以前的参考帧(在P图片/切片的情况下)及在B图片/切片的情况下的前面和后面的参考帧的预测来完全解决这样的不足压缩/质量问题。因此,下面描述下一代视频(NGV)系统、装置、制品和方法。NGV视频编码可以在视频编码过程中合并基于适应性的重要内容来实现较高的压缩。在NGV编码译码器的上下文中发展的这样的实现处理如何改进预测信号的问题,这继而允许在视频编码中实现高压缩效率。

更精确地,在本公开中,通过开发在本公开中被称为与内容适应性预测P-图片、内容适应性功能预测F-图片相同的改进的版本,以及使用这些图片类型的改进的高级图片结构,我们提出了在传统预测P-图片和双向预测B-图片、以及采用它们的图片结构中的重要进步。特别地,F-图片类似于B-图片可以通过使用至少一个过去预测、至少一个未来预测帧、或二者来被重新结构化。然而,正如上面所提到的,用于本系统的F-图片或P-图片可以通过使用本文所描述的由变形技术、合成技术、或二者进行修改的修改的参考帧来进行重建。本文所述的另一方面是通过允许两边或多遍编码来扩展内容自适应F-图片的概念的高级内容自适应F-图片,其中每一遍至少部分地对F-图片进行编码来协同地对完整的F-图片进行编码。所述概念还被用于扩展到B-图片。

如在本文使用的,术语“编码器”可以指编码器和/或解码器。类似地,如在本文使用的,术语“编码”可以指经由编码器执行视频编码和/或经由解码器执行视频解码。例如,视频编码器和视频解码器二者都可以是能够对视频数据编码的编码器的示例。此外,如在本文使用的,术语“编码译码器”可以指任何过程、程序或操作的集合,例如,可以实现编码器和/或解码器的软件、固件和/或硬件的任何组合。此外,如在本文使用的,短语“视频数据”可以指与视频编码相关联的任何类型的数据,例如,视频帧、图像数据、编码的比特流数据等。

图1是根据本公开的至少一些实现布置的示例下一代视频编码器100的示意图。如所示出的,编码器100可以接收输入视频101。输入视频101可以包括用于对例如视频序列的输入帧编码的任何适当的输入视频(在本文中,术语帧、图片、以及图像可互换地使用,除非另外指明)。如所示出的,可以经由内容预分析器模块102来接收输入视频101。内容预分析器模块102可以被配置为执行对输入视频101的视频帧的内容的分析以确定用于提高视频编码效率和速度性能的各种类型的参数。例如,内容预分析器模块102可以确定水平和垂直梯度信息(例如,Rs、Cs)、方差、每图片空间复杂度(tpcpx)、每图片时间复杂度、场景改变检测、运动范围估计、增益检测、预测距离估计(pdist)、物体数量的估计、区边界检测、空间复杂度图计算、焦距估计、胶片颗粒估计等。由内容预分析器模块102生成的参数可以由编码器100(例如,经由编码控制器103)使用和/或被量化和被传递到解码器。

如所示出的,视频帧和/或其它数据可以从内容预分析器模块102被发送到自适应图片组织器模块104(也被称为层次结构和/或链式图片组结构组织器)。自适应组织器模块104确定图片组结构,以及组中每一个图片的图片类型以及按照需要的在编码顺序中的重排序的图片。它支持具有层次结构(金字塔形)的图片配置,链式图片配置以及混合配置。自适应组织器模块104输出指示图片组结构和图片类型(在系统100上示出的用于输出/输入控制的缩写在下面被引用)的控制信号。本文所描述的NGV编码使用I-图片(内部编码)、P-编码(由来自过去的/之前的参考帧的之间预测组成)、以及F-图片(下面所描述的功能),上面所描述的全部在下面更详细地进行描述。在金字塔层次结构中的最深层(或换句话说最低位置或最高排序编号)的F-图片是无参考的,而其他F-图片则被用作参考。

在一些示例中,自适应图片组织器模块104可以包括被配置为生成帧部分的帧部分发生器。在一些示例中,内容预分析器模块102和自适应图片组织器模块104共同可以被认为是编码器100的预分析子系统。

如所示出的,视频帧和/或其它数据可以从自适应图片组织器模块104被发送到预测分区发生器模块105。在一些示例中,预测分区发生器模块105首先可以将帧或图片划分为瓦片或超级分段等(在本文中,术语帧、图片和图像可以互换使用,除非另外指出,并且除了帧被用于通常指代未必被分配具体的图片类型(例如,I、P、F、或B图片)的帧)。在一些示例中,附加的模块(例如,在模块104和105之间)可以被提供用于将帧或图片划分为瓦片或超级分段等。作为NGV编码的一个示例,帧可以被划分为32x 32或64x 64像素的瓦片,其中64x 64被用于对所有图片类型(I-、P-、或F-)进行编码的所有标准定义和更高的分辨率视频。对于低分辨率序列,64x 64还被用于对I-图片和F-图片进行编码,而32x 32用于P-图片。

作为一个示例,预测分区发生器模块(其还被称为预测Kd树/二分树分区发生器)105然后可以将每一个瓦片或超级分段划分为可能的预测分块或分区。在一些示例中,潜在的预测分块可以使用分块技术(例如,k-d树分块技术、二分树分块技术等)来确定,所述分块技术可以基于单独的视频帧的图片类型(例如,I-图片、P-图片或F-图片)、被划分的帧部分的特性等来确定。作为一个示例,如果图片I-图片被编码,则每个瓦片或几乎所有瓦片进一步被划分到基于Kd树的分区,所述基于Kd树的分区可以划分空间直到达到集合最小尺寸,并且每次一个维度。用于划分空间的选项可以包括无进一步划分、划分为两个相等的二等分、划分为空间的1/4和3/4的两个部分、或划分为空间的3/4和1/4的两个部分。所以,对于使用64x 64作为最大尺寸(并且允许4x 4的最小尺寸)的I-图片,如果没有施加其他约束,则可以生成非常多的瓦片的分区。例如,可以设置一个约束:切分的第一个对对于64x 64的瓦片可以被预定为在水平维度和垂直维度二者上将空间分为对等的两等分,使得形成四个32x 32的子瓦片,并且然后由Kd树分块将每一个32x 32的子瓦片进行子分块。用于减少可能的分区组合数量的其他约束也是可能的。

I-图片瓦片的这些分区被称为预测分区,而每一个瓦片分区可以被用于空间预测(方位角度预测或其它类型的预测)以及对预测差异进行编码。同样,P-图片瓦片还可以以如下方式进行分区,除了针对更低的分辨率以外,P-图片分区开始于32x 32瓦片,并且不使用基于Kd树的分区,而使用更简单的二分树分块。二分树分块将空间划分为两个相等的部分,每次一个维度,在两个维度之间交替。进一步,P-图片分区主要使用运动(利用一个或多个参考)而不是空间预测来进行预测,但是一些子分区可以使用内部空间预测来处理例如未覆盖的背景。对于更高分辨率图片尺寸的标准定义,P-图片在被划分之前开始于64x 64瓦片。最终,F-图片还使用二分树分块,并且开始于64x 64瓦片以生成主要使用运动(利用一个或多个参考)的预测分区,但是一些子分区还可以使用空间预测(用于内部编码)。

在NGV编码中,更多地生成之间预测数据而不是简单地使用运动向量来生成预测,这将在其他地方进行讨论。在P-图片和F-图片编码中,每一个子分区的预测通过包括预测模式来进行识别。所述预测模式包括跳过、自动、之间、内部、多重、以及拆分。跳过模式被用于当例如从参考帧到被重建的当前帧不存在或存在相对少地改变时,跳过预测编码,使得像素数据不需要被编码并且当被解码时只从一个帧被复制到另一个。自动模式被用于当仅需要部分数据时,使得例如运动向量可以不被需要,但是变换系数仍被用于对数据进行编码。内部模式指帧或分区被空间地编码。拆分是指帧或分区在被编码之前需要被拆分为更小的部分或分区。之间模式指针对当前帧确定多个参考帧,并且运动估计通过单独地使用每一个参考来进行获取,并且然后最佳的结果被用于运动预测数据。多模式还使用多个参考帧,但是在这种情况下,来自多个参考帧的运动估计数据被组合,例如,被平均化或被加权平均化,以获得用于预测的单个结果。

预测分区发生器模块105的输出中的一个可以是瓦片的上百个潜在的分区(并且或多或少取决于位于分块上的限制)。这些分块被编序号1...m,并且被提供给编码控制器103以选择最好的可能的预测分块用于使用。如所提到的,确定的潜在的预测分块用于预测(例如,帧间预测或帧内预测),并且可以被描述为预测分区或预测块等。

在一些示例中,所选择的预测分块(例如,预测分区)可以利用可能的预测分块进行确定。例如,所选择的预测分块可以基于针对每一个潜在的预测分块使用基于特性和运动的多参考预测或帧内预测来确定预测,以及确定预测参数。对于每一个潜在的预测分块,潜在的预测误差可以通过确定原始像素和预测像素的差异来确定,并且所选择的预测分块可以是具有最小预测误差的潜在的预测分块。在其它示例中,所选择的预测分块可以基于率失真优化来进行确定,所述率失真化包括基于用于对分块和与预测分块相关联的预测误差进行编码的位的数量的加权的分数。

如所示出的,所选择的预测分块(例如,当前帧的预测分区)的原始像素可以在差异确定器106处确定与预测的分区(例如,基于参考帧或多个参考帧以及其他预测数据(例如,帧间预测数据或帧内预测数据)对当前帧的预测分区的预测)进行的差异。对所预测的分区的确定将在下面进一步进行描述,并且可以包括在图1中所示出的解码循环135。至于差异,原始的分区块也确定与预测块的差异,以确定保证编码的任何剩余的信号是否存在。由此,不是瓦片的所有子分区实际上都需要被编码(例如使用变换编码),因为预测对于某些子分区可以已经是足够的。

此外,指示分区不能够只由预测进行补偿(例如,只是运动补偿)的来自求差的任何残差或剩余数据(例如,分区预测误差数据)可以被发送到编码分区发生器模块(或作为一个示例,编码二分树分区发生器)107,以进一步被细分为更小的分区,以用于变换编码(编码分区),以及作为一个示例特别用于P-图片和F-图片。在P-图片或F-图片或帧中,在非常简单的内容和/或大型量化器步骤尺寸存在的情况下,编码分区可以等于完整的瓦片的尺寸,或在所述情况下,编码分区和预测分区可以具有相同的尺寸。由此,一些P-图片和F-图片可以包含无编码分区、一个编码分区、或多个编码分区。所述编码分区被编序号1...n,并且被提供给编码控制器103,以从给定的备选中选择预测和编码分块的最佳可能的组合。

同样,在这些示例的一些中,例如,对于任何图片类型(I-图片、F-图片、或P-图片)中的预测分区的帧内预测,或另外在预测分区没有被进一步划分为编码分区(其中编码分区被跳过)的场合中,编码分区发生器模块107可以经由开关107a和107b来设置旁路。在这样的示例中,只有分块的单个级别能够被执行。只有分块的单个级别存在的这样的分块,它可以被描述为预测分块(正如所讨论的)或编码分块或二者。在各种示例中,这样的分块可以经由预测分区发生器模块105来执行(正如所讨论的),或正如在本文中进一步讨论的,这样的分块可以通过经由编码分区发生器模块107实现的k-d树帧内预测/编码划分器模块或二分树帧内预测/编码划分器模块执行。

在一些示例中,分区预测误差数据,如果有,对于保证编码可能不是足够重要的。在其它示例中,可以期望的是对分区预测误差数据进行编码,并且所述分区预测误差数据与帧间预测等相关联,编码分区发生器模块107可以确定预测分区的编码分区。在一些示例中,编码分区发生器模块107可能不被需要,因为分区可以在没有编码分块(例如,通过经由开关107a和107b可用的旁路路径所示出的)的情况下进行编码。在有编码分块或没有编码分块的情况下,在残差或剩余数据需要进行编码的事件中,分区预测误差数据(其可以随后被描述为两个事件的任一事件中的编码分区)可以被发送到自适应变换模块108。在一些示例中,预测分区发生器模块105以及编码分区发生器模块107能够共同被考虑为编码器100的划分器子系统。在各种示例中,编码分区发生器模块107可以对分区预测误差数据、原始像素数据、剩余数据、或微波数据进行操作。例如,编码分区发生器模块107可以使用二分树和/或k-d树分块技术等来生成分区预测误差数据的潜在的编码分块(例如,编码分区)。

在进行分块之后,(在预测分区针对I-图片被形成,并且编码分区针对P-图片和F-图片被生成,以及在一些示例中,潜在的编码分区),分区可以使用具有各种块尺寸的自适应或固定的变换经由自适应变换模块108(同样,以一种形式,被称为自适应多尺寸矩形混合参数Haar变换(HPHT)/离散余弦变换(HCT)单元)来对分区进行变换。通过一个方法,自适应变换模块108可以在矩形块上执行前向HPHT或前向DCT。通过一个示例,分区/块尺寸以及所选择的变换(例如,自适应或固定的,以及HPHT或DCT)可以基于率失真优化(RDO)或其它基础来进行确定。在一些示例中,所选择的编码分区和/或所选择的变换二者可以基于预定的选择方法来进行确定,所述预定的选择方法基于编码分区大小等。例如,自适应变换模块108可以包括用于执行参数变换的第一部分或部件,其允许对小型到中等尺寸的块局部进行最佳的变换编码;以及第二部分或部件,用于使用固定的变换(例如,来自包括参数变换的各种变换的基于DCT或图片的变换)或任何其它配置来执行全局稳定的、低开销的变换编码。在一些示例中,对于局部的最佳变换编码,可以执行HPHT。在一些示例中,变换可以针对矩形尺寸为大约4x 4像素与64x 64像素之间的2D块来执行,实际的尺寸取决于许多因素,例如,变换的数据是亮度或色度,或帧间或帧内,或被使用的所确定的变换是PHT还是DCT等。

对于HPHT变换,支持小型到中等块尺寸,而对于DCT变换,则支持大量的块尺寸。对于HPHT变换,需要一些开销来识别方向,DCT是以水平还是以垂直被供应的,而PHT是以垂直方向被供应的;以及模式(至少对于帧内编码,其中,模式可以基于解码的像素或预测差异像素)。被用于对特定块进行变换的实际的PHT变换基础可以是适应内容的,因为它取决于解码的相邻像素。因为编码器和解码器二者都需要计算相同基础的矩阵,所以通过允许人们可以从中选择的有限数量的好的(编码器和译码器二者都)公知的变换来将计算的复杂性保持为低。

正如所示出的,结果变换系数可以被发送到自适应量化模块109,而在编码控制器103处的量化适配器控件133执行对内容的分析,以提出局部自适应量化参数,所述自适应量化参数然后由能够被有效地编码并且被包括在比特流中的多级图所表示。所计算的量化集合(qs,以及被供应到系数块的矩阵)可以由自适应量化模块109使用,来执行对结果变换系数的缩放。此外,与参数变换相关联的任何数据,如所需要的,可以被发送到自适应量化模块109(如果期望量化)或自适应熵编码模块110。正如在图1中所示出的,量化的系数可以被扫描并且被发送到自适应熵编码器模块110。自适应熵编码模块110可以对量化的系数进行熵编码,并且将量化的系数包括在输出比特流111中。在一些示例中,自适应变换模块108和自适应量化模块109可以共同被考虑为编码器100的变换编码器子系统。

正如同样在图1中所示出的,编码器100包括局部解码循环135,以形成预测的分区(或帧)以用于与如上面所提到的预测分区进行比较。预先地,取决于RDO操作,不是上面描述的上百个或更多个瓦片分区中的所有都需要被完全地编码,例如,当查找位数量时是足够的时。然而,一旦瓦片的最佳分块被确定,则在这种情况下,完整的编码可以被提供。

局部解码循环135可以在自适应反向量化模块112开始。自适应反向量化模块112可以被配置为执行自适应量化模块109的相反的操作,使得反向扫描可以被执行,并且量化的系数可以被解缩放,以确定变换系数。例如,这样的自适应量化操作可以是有损的。正如所示出的,变换系数可以被发送到自适应反向变换模块113。自适应反向变换113可以执行反向变换,正如由自适应变换模块108所执行的,例如用于生成与编码分区相关联的残差或剩余值或分区预测误差数据(或原始数据或小波数据,如所讨论的)。在一些示例中,自适应反向量化模块112和自适应反向变换模块113可以共同被考虑为解码器100的变换解码器子系统。

正如所示出的,用于P-图片和F-图片的分区预测误差数据(或类似物)可以被发送到可选的编码分区装配器114。编码分区装配器114可以如所需要的将编码分区装配到解码的预测分区(如所示出的,在一些示例中,例如,对于I-图片瓦片分块,并且经由开关114a和114b,编码分区装配器114可以被跳过,使得解码的预测分区可以在自适应反向变换模块113处被生成)以生成预测误差数据的预测分区或解码的剩余预测分区等。正如所示出的,解码的剩余预测分区(之间或内部)可以在加法器115处被添加到预测的分区(例如,预测像素数据),以生成重建的预测分区。所重建的预测分区可以被发送到预测分区装配器116。预测分区装配器116可以对重建的预测分区进行装配,以生成重建的瓦片和超片段。在一些示例中,编码分区装配器模块114和预测分区装配器模块116可以共同被考虑为编码器100的解分区子系统。

步骤的下一个集合涉及对滤波和预测生成物进行滤波、以及混合。示出了滤波的全部的四个类型。特殊地,在图1中,重建的分区由块效应分析器和解块滤波模块(也称为重建块效应分析器和DD滤波器生成)117进行解块以及抖动。用于分析的所得到的参数ddi被用于滤波操作,并且还被编码以及经由比特流111被发送到解码器。被解块的重建的输出然后被移交给质量分析器和质量恢复滤波模块(或质量改进滤波器也在本文中被称为重建质量分析器和QR滤波器生成)118,其计算QR滤波参数并且使用QR滤波参数用于滤波。这些参数还被编码,并且经由比特流111被发送到解码器。QR滤波的输出是最终的重建帧,所述最终的重建帧还被用作用于对未来帧进行编码的预测。

更特殊地,当重建的瓦片或超片段可以被发送到块效应分析器和解块滤波模块117时,块效应分析器和解块滤波模块117可以对重建的瓦片或超片段(或瓦片或超片段的预测分区)进行解块和抖动。例如,所生成的接口和抖动滤波参数可以被用于当前的滤波操作和/或被编码在比特流111中以由解码器使用。块效应分析器和解块滤波模块117的输出可以被发送到质量分析器和质量恢复滤波模块118。质量分析器和质量恢复滤波模块118可以确定QR滤波参数(例如,用于QR分解)并且使用确定的参数用于滤波。QR滤波参数还可以被编码在比特流111中以由解码器使用。在一些示例中,块效应分析器和解块滤波模块117以及质量分析器和质量恢复滤波模块118可以共同被考虑为编码器100的滤波子系统。在一些示例中,质量分析器和质量恢复滤波模块118的输出可以是最终的重建帧,所述最终的重建帧可以被用于对另一帧进行编码的预测(例如,最终的重建帧可以是参考帧等)。由此,如所示出的,质量分析器和质量恢复滤波模块118的输出可以被发送到多参考帧存储和帧选择器(或多参考控件)119(其还可以被称为或可以包括解码的图片存储或缓冲区)。依赖逻辑模块128(在一个示例中,也被称为用于在层次结构图片组结构中的模式多参考预测的依赖逻辑)可以提供用于列出参考帧以及帧之间关系(例如,帧依赖,或更具体地分区依赖)的索引,以用于合适的顺序以及用于由多参考控件119使用的帧,以及当特定帧被选择用于另一帧的预测时。这可以包括提供用于图片组结构的依赖逻辑,例如,多参考预测、链预测、层次结构、和/或如下文所述的其它预测技术。

对于下文所述的两遍和多遍编码,要被编码的新帧和之前的参考帧(距离pdist分隔的)是分段器134(也被称为前景/背景分段器或过程/精细分段器)的输入,分段器134将前景和背景(或其它更限定的段)进行分离,并且产生段掩码,即segmsk,所述段掩码被明确地(例如,通过使用预先的编码、和熵编码来有效地编码)或隐含地(例如,通过对量化的图或屏幕上蓝色的帧进行编码)由比特流携带到解码器。出于功效的进一步原因,所述掩码的精度可以被进一步减小,因为像素准确的掩码可能由于所需要的码率而被消耗。在任何情况下,编码器和解码器二者应当使用相同的掩码,所以如果掩码的精度被减小,则编码器应当使用解码器可用的掩码。由此,所述解码器除了本文所讨论的NVG编码器的其它能力之外,还支持两遍(或多遍)F-图片,所述F-图片可以使用包括前景/背景(或其它)段信息的段掩码,即segmsk。例如,从段掩码识别的前景/背景可以用于确定什么内容将被编码在F-图片的第一遍编码中,以及什么内容将被编码第二遍中。所述信息将是有用的,用于确定何时执行变形的帧生成(在变形生成和局部缓冲区120中)或合成的帧生成(在合成生成和局部缓冲区121中),以及针对F-图片的哪个区域,并且用于对这些区域执行运动估计和运动补偿。此外,两遍或多遍F-图片可以使用两个配置中的至少一个,在第一配置中,F-图片的前景或背景在第一遍中被编码,而余下的部分在第二遍中被编码。正如上面所提到的。可选择的,或附加的,在第二配置中,图片的全部或大部分在第一遍中被编码,并且区域(前景或背景)在第二遍中被增强。同样,参考帧选择逻辑由单元依赖逻辑模块128(其还可以被称为用于层次结构/链式图片结构和模式多参考预测中的高级两遍F-图片、F-图片、P-图片的依赖逻辑)提供,所述单元依赖逻辑模块128从多参考帧存储和帧选择器119请求适当的帧以用作参考图片。

在编码器100中,预测操作可以包括帧间和/或帧内预测。正如在图1中示出的,帧间预测可以由一个或多个模块执行,所述一个或多个模块包括变形生成和局部缓冲模块120(并且在一个示例中被称为变形生成和局部缓冲区,或在本文中被称为循环内变形生成模块)、合成生成和局部缓冲模块121(并且在一个示例中被称为合成生成和图片缓冲区或在本文中被称为循环内合成生成模块)、运动估计器122、特性和运动滤波及预测器模块123(在一些示例中也可以被称为特性和运动AP滤波分析器和1/4和1/8像素补偿预测器)、变形分析器和生成模块(或循环外变形分析器模块)130、以及合成分析器和生成模块(或循环外合成分析器模块)132,其中变形和合成发生器120和121被考虑为循环内(在编码器的解码器循环内),并且其中,变形和合成分析器130和132被考虑为循环外(在编码器处的解码器循环外)。注意,虽然一个被称作分析器并且另一个被称作发生器,但是循环内和循环外模块二者可以执行相同的或类似的任务(形成修改的帧和修改参数以用于变形和/或合成)。使用这些部件,变形生成模块120或变形分析器130可以允许各种形式的变形,并且可以分析当前的图片以确定变形参数,以用于(1)收益中的改变,(2)主要(或全局)运动中的改变,(3)配准中的改变,和/或(4)与利用其进行编码的参考帧或多个参考帧相关的模糊中的改变,并且在运动补偿的预测之前。

循环外变形分析器130和合成分析器132从自适应图片组织器104接收图片组结构数据,并且与编码器控制器103进行通信,以基于未量化的、未解码的、原始的帧数据来形成变形和合成参数(mop,syp)以及修改的参考帧。根据循环外变形和合成分析器130和132形成的修改的参考帧和修改参数可以比通过解码器循环135提供的更快,并且这对于实时编码是尤其有优势的。然而,使用修改的帧和参数来在另一位置处例如由解码器执行补偿,应当由编码器的解码循环侧上的循环内变形和合成发生器120和121执行,使得当在解码器处重建帧时,正确的补偿能够被重复。由此,来自循环外分析器130和132的所得到的修改参数由循环内变形和合成发生器120和121使用,来形成修改的参考帧,以及用于由运动估计器122进行运动估计来计算运动向量。由此,所计算的变形和合成参数(mop和syp)可以被量化/解量化,并且被用于(例如,通过变形生成模块120)来生成可以由运动估计器模块122使用的变形的参考帧,以用于计算当前帧的有效运动(和特性)补偿预测的运动向量。合成生成模块121使用各种类型的合成帧(SR(超分辨率))图片、PI(投影插补)图片以及其他,其中通过确定用于这些帧中的有效运动补偿预测的运动向量,运动补偿预测能够产生更高的收益。用于执行变形和合成的这些示例的细节将在下面提供。

运动估计器模块122可以至少部分地基于变形参考帧和/或超分辨率(SR)图片和投影插补(PI)图片以及当前帧来生成运动向量数据。在一些示例中,运动估计器模块122可以被考虑在帧间预测模块中。例如,运动向量数据可以被用于帧间预测。如果帧间预测被应用,则特性和运动滤波预测器模块123可以将运动补偿应用作为如所讨论的局部解码循环的一部分。同样,特性和运动滤波预测器模块123可以包括自适应精度(AP)滤波,其中,滤波和预测可以被编结在一起。滤波参数(api)被编码,并且可以经由比特流111被发送到解码器。

帧内预测可以由帧内定向预测分析器和预测生成模块124执行。帧内定向预测分析器和预测生成模块124可以被配置为执行空间定向预测,并且可以使用解码的相邻分区。在一些示例中,确定方向和生成预测可以通过帧内定向分析器和预测生成模块124执行。在一些示例中,帧内定向分析器和预测生成模块124可以被考虑在帧内预测模块中。

如图1所示出的,预测模式和参考类型分析器模块125可以允许选择正如上面所引入的预测模式,并且从“跳过”、“自动”、“帧间”、“拆分”、“多重”、“帧内”当中选择,对于瓦片(或超片段)的每一个预测分区,可以将它们全部都应用到P-图片和F-图片(以及B-图片,当它们出现时)。应当注意,虽然系统考虑到I-图片、P-图片、以及F-图片是可用的配置,但是可能的是仍然提供B-图片,其中,没有变形或合成对于B-图片是可用的。除了预测模式之外,也允许取决于“帧间”或“多重”模式来选择可以是不同的参考类型,以及针对P-图片和F-图片。预测模式和参考类型分析器模块125的输出处的预测信号可以由预测分析器和预测融合滤波模块126进行滤波。预测分析器和预测融合滤波模块126可以确定参数(例如,滤波系数、频率、开销)以用于滤波,并且可以执行滤波。在一些示例中,滤波预测信号可以融合表示不同模式(例如,帧内、帧间、多重、拆分、跳过、以及自动)的不同类型的信号。在一些示例中,帧内预测信号可以与所有其它类型的帧间预测信号不同,使得合适的滤波可以极大地增强编码效率。在一些示例中,滤波参数可以被编码在比特流111中,以由解码器使用。滤波的预测信号可以将第二输入(例如,预测分区)提供给差异确定器106,如上所讨论的,差异确定器106可以确定预测差异信号(例如,分区预测误差)以用于编码,如更早前所讨论的。此外,同一滤波预测信号可以将第二输入提供给加法器115,同样如上面所讨论的。正如所讨论的,输出比特流111可以提供高效的编码比特流,以由解码器使用用于视频的呈现。

在操作中,编码器100的一些部件可以操作作为编码器预测子系统。例如,这样的编码器100的编码器预测子系统可以包括多参考帧存储和帧选择器119、循环内变形分析器和生成模块120、循环内合成分析器和生成模块121、运动估计器模块122、和/或特性和运动补偿精度自适应滤波预测器模块123以及循环外变形分析器130和合成分析器132。

正如在下面更详细的内容中所讨论的,在一些实现中,这样的编码器100的编码器预测子系统可以在有效的视频编码算法中将一些部件和由这些部件生成的合成的预测合并。例如,NGV编码器的所提出的实现可以包括以下特征中的一个或多个:1.增益补偿(例如,场景中的增益/亮度中的改变的显示补偿);2.模糊补偿:例如,场景中的模糊/清晰度中的改变的显示补偿;3.主要的/全局的运动补偿(例如,场景中的主要运动的显示补偿);4.配准补偿(例如,场景中的配准不匹配的显示补偿);5.超分辨率(例如,场景中的分辨率精度中的改变的显示模型);6.投影(例如,场景中的运动轨线中的改变的显示模型);等和/或其组合。

例如,在这样的编码器100的编码器预测子系统中,质量分析器和质量恢复滤波的输出可以被发送到多参考帧存储和帧选择器119。在一些示例中,质量分析器和质量恢复滤波的输出可以是最终的重建帧,所述最终的重建帧可以被用于对另一帧进行编码的预测(例如,最终的重建帧可以是参考帧等)。在编码器100中,预测操作可以包括帧间预测和/或帧内预测。正如所示出的,帧间预测可以有一个或多个模块执行,所述一个或多个模块包括变形生成模块120、合成生成模块121、和/或特性和运动补偿精度自适应滤波预测器模块123。

正如在下面更详细的内容所描述的,变形生成模块120可以分析当前的图片以确定与要被编码的参考帧或多个参考帧相关的增益中的改变、主要运动中的改变、配准中的改变、以及模糊中的改变的参数。所确定的变形参数可以被量化/解量化,并且被用于(例如,通过变形生成模块120)生成变形的参考帧。这样生成的变形的参考帧可以被存储在缓冲区中,并且可以由运动估计器模块122使用,以用于计算当前帧的有效运动(和特性)补偿预测的运动向量。

类似地,合成分析器和生成模块121可以生成超分辨率(SR)图片和投影的插补(PI)图片等,以用于确定这些帧中的有效运动补偿预测的运动向量。这样生成的合成参考帧可以被存储在缓冲区中,并且可以由运动估计器模块122使用,以用于当前帧的有效运动(和特性)补偿预测的运动向量。

因此,在这样的编码器100的编码器预测子系统中,运动估计器模块122可以基于变形的参考帧和/或超分辨率(SR)图片和投影插补(PI)图片以及当前帧来生成运动向量数据。在一些示例中,运动估计器模块122可以被考虑为帧间预测模块。例如,运动向量数据可以被用于帧间预测。如果帧间预测被应用,则特性和运动滤波预测器模块123可以将运动补偿应用作为如所讨论的局部解码循环的一部分。

在操作中,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现可以使用上面的部件,以及与解码的过去和/或未来的图片/切片相关的通常的局部运动补偿中的一个或多个。同样地,实现不要求增益补偿的实例的具体的分辨率、或任何其它特性补偿的参考帧生成。

图1示出了与视频编码器100的操作相关联的示例控制信号,其中,下面的缩写可以表示相关联的信息:

scnchg 场景改变信息

segmsk 段掩码信息

spcpx 空间复杂度信息

tpcpx 时间复杂度信息

pdist 时间预测距离信息

pap 预测分析参数(用于除了scnchg、spcpx、tpcpx、pdist的所有

其它预测分析参数的占位符)

ptyp 图片类型信息

pgst 图片组结构信息

pptn cand. 预测分块候选

cptn cand. 编码分块候选

prp 预处理

xmtyp 变换类型信息

xmdir 变换方向信息

xmmod 变换模式

ethp 八分之一像素运动预测

pptn 预测分块

cptn 代码分块

mot和cod cost 运动和编码成本

qs 量化信息集合(包括量化参数(Qp)、量化矩阵(QM)选项)

mv 运动向量

mop 变形参数

syp 合成参数

ddi 解块和抖动信息

qri 质量恢复滤波索引/信息

api 自适应精度滤波索引/信息

fii 融合滤波索引/信息

mod 模式信息

reftyp 参考类型信息

idir 内部预测方向

可能需要被发送到解码器的各种信号和数据项,即,pgst、ptyp、prp、pptn、cptn、modes、reftype、ethp、xmtyp、xmdir、xmmod、idir、segmsk、mv、qs、mop、syp、ddi、qri、api、fii,定量的系数和其它然后可以由自适应熵编码器110进行熵编码,所述自适应熵编码器110可以包括被共同被称为熵编码器子系统的不同的熵编码器。自适应熵编码器110可以被用于对各种类型的控制数据/信号、参数、模式和参考类型、运动向量、段掩码、以及变换系数进行编码。其基于被称为自适应变量长度代码器(vlc)的低复杂度熵编码器的通用类。用于进行熵编码的数据可以被划分为各种种类,当方便时(在我们的情况中为7),并且从通用vlc编码器开始时,特定的编码器可以被开发用于每一个种类。虽然这些控制信号被示出作为与图1中的编码器100的特定示例功能模块相关联,但是其它实现可以包括编码器300的功能模块当中的控制信号的不同分布。本公开不限于所述方面,并且在各种示例中,本文的控制信号的实现可以包括实施仅仅所示出的特定示例控制信号的子集、附加的控制信号、和/或与所示出的不同的布置。

图2是示例下一代生成视频解码器200的示意图,生成视频解码器200根据本公开的至少一些实现进行布置,并且利用包括两遍或多遍F-图片和本文所得到的图片组的内容自适应P-图片和F-图片。所述NGV解码器200的通用操作可以类似于早前所讨论的NGV编码器100中的局部解码循环,警告的是解码器中的运动补偿解码循环不需要任何部件,所述任何部件需要分析来将参数确定为实际上经由比特流111或201被发送到解码器200的参数。要被解码的比特流201是自适应熵编码器(内容和上下文自适应熵解码器)202的输入,自适应熵解码器202将报头、控制信号、以及编码的数据进行解码。例如,它解码ptyp、pgst、prp、pptn、cptn、ethp、mop、syp、mod、reftyp、idir、segmsk、qs、xmtyp、xmdir、xmmod、ddi、qri、api、fii、mv,如上文所列出的,以及构成开销的量化的变换系数、被分发用于整个解码器的控制信号和数据。量化的变换系数然后由自适应反向量化模块203和自适应反向变换(同样自适应多尺寸矩形HPHT/DCT)204进行反向量化和反向变换,以产生被装配为预测编码分块使用的解码的像素差异的矩形分区。预测被添加到导致生成重建的代码分区的差异中,重建的代码分区还经历重新装配作为预测运动分块,以生成重建的瓦片和帧,重建的瓦片和帧在解块滤波器(重建DD滤波生成)208中使用解码的ddi参数来进行解块和抖动,接下来是使用解码的qri参数进行质量恢复滤波(或重建QR滤波生成)209、创建最终的重建帧的过程。

最终的重建帧被保存在多参考帧存储和帧选择器(还可以被称为解码的图片缓冲区)210。对于解码,用于特定图片的参考使用依赖逻辑220(还被称为用于在层次结构/链式图片结构和模式多参考预测中的高级两遍或多遍F-图片、F-图片、P-图片的依赖逻辑)进行识别,依赖逻辑220从多参考帧存储和帧选择器210请求适当的帧,以用作参考图片。然后,变形的图片/局部缓冲区(在变形的图片发生器和缓冲区211处)可以使用参考并且取决于被应用的、解码的mop参数来被创建。同样地,合成的图片和局部缓冲区(在合成的图片生成和缓冲区212处)通过将解码的syp参数应用到来自多参考帧存储和帧选择器210的参考(换句话说,被用作参考的存储或缓冲区210中的重建帧)来创建。依赖逻辑220可以保持多参考帧存储210中的存储的帧的索引,并且执行针对多参考帧存储210中的存储的帧进行编索引。索引可以被用于预测技术,例如,多参考帧、链式预测和/或层次结构(或金字塔)帧结构、和/或下面描述的其它。变形的局部缓冲区、以及合成的帧被用于运动补偿预测,所述运动补偿预测基于api参数来使用自适应精度(AP)滤波,并且取决于解码的ethp信号保持1/4或1/8像素预测。实际上,特性和运动补偿滤波预测器213取决于mod,生成“帧间”、“多重”、“跳过”、或“自动”分区,而帧内定向的预测生成模块214生成“帧内”分区,并且预测模式选择器215基于编码器选择的选项,允许正确的模式分区通过。接下来,可选择的使用预测融合滤波器生成模块(或预测F1滤波生成)216来滤波和输出预测,按需要被执行作为加法器的第二输入。

响应于ptyp和pgst的控制参数,在质量滤波器生成模块209(或重建QR滤波生成)的输出处的重建帧由自适应图片重组器(或层次结构和/或链式图片分组结构重组器)217进行重排序(因为F-图片是乱序的),并且进一步所述重组器的输出在内容后恢复器218中经历可选的过程,所述过程由编码器发送的prp参数进行控制。所述过程以及其它可以包括解块和胶片颗粒(film grain)添加。

更具体地,以及如所示出的,解码器200可以接收输入比特流201。在一些示例中,输入比特流201可以经由编码器100和/或经由本文所讨论的编码技术进行编码。如所示出的,输入比特流201可以由自适应熵解码模块202接收。自适应熵解码模块202可以对各种类型的编码数据(例如,开销、运动向量、变换系数等)进行解码。在一些示例中,自适应熵解码器202可以使用可变的长度解码技术。在一些示例中,自适应熵解码器202可以执行上文所讨论的自适应熵编码器模块110的反向操作。

解码的数据可以被发送到自适应反向量化模块203。自适应反向量化模块203可以被配置为对量化的系数进行反向扫描和解缩放,以确定变换系数。例如,这样的自适应量化操作可以是有损耗的。在一些示例中,自适应反向量化模块203可以被配置为执行自适应量化模块109的对立操作(例如,实质上与自适应反向量化模块112相同的操作)。如所示出的,变换系数(以及,在一些示例中,用于参数变换的变换数据)可以被发送到自适应反向变换模块204。自适应反向变换模块204可以对变换系数执行反向变换,以生成与代码分区相关联的残差或剩余值或分区预测误差数据(或原始数据或微波数据)。在一些示例中,自适应反向变换模块204可以被配置为执行自适应变换模块108的对立操作(例如,实质上与自适应反向变换模块113相同的操作)。在一些示例中,自适应反向变换模块204可以基于其它之前解码的数据(例如,解码的相邻分区)来执行反向变换。在一些示例中,自适应反向量化模块203和自适应反向变换模块204可以共同被考虑为解码器200的变换解码器子系统。

如所示出的,残差或剩余值或分区预测误差数据可以被发送到编码分区装配器205。编码分区装配器205可以按照需要将编码分区装配到解码的预测分区中(如所示出的,在一些示例中,编码分区装配器205可以经由开关205a和205b被跳过,使得解码的预测分区可以在自适应反向变换模块204处被生成)。预测误差数据的解码的预测分区(例如,预测分区残差)可以在加法器206处被添加到预测的分区(例如,预测像素数据),以生成重建的预测分区。所述重建的预测分区可以被发送到预测分区装配器207。预测分区装配器207可以装配重建的预测分区,以生成重建的瓦片或超片段。在一些示例中,编码分区装配器模块205和预测分区装配器模块207可以共同被考虑为解码器200的解分区子系统。

重建的瓦片或超片段可以被发送到解块滤波模块208。解块滤波模块208可以对重建的瓦片或超片段(或瓦片或超片段的预测分区)进行解块和抖动。例如,所生成的接口和抖动滤波参数可以根据输入比特流201确定。解块滤波模块208的输出可以被发送到质量恢复滤波模块209。质量恢复滤波模块209可以基于QR参数来应用质量滤波,例如,所述QR参数可以根据输入比特流201确定。如图2所示出的,质量恢复滤波模块209的输出可以被发送到多参考帧存储和帧选择器(其可以被称为多参考控件,并且可以是或可以包括解码的图片缓冲区)210。在一些示例中,质量恢复滤波模块209的输出可以是可以被用于对其它帧进行编码的预测的最终的重建帧(例如,最终的重建帧可以是参考帧等)。在一些示例中,解块滤波模块208和质量恢复滤波模块209可以共同被考虑为解码器200的滤波子系统。

正如所讨论的,由于预测操作的补偿可以包括帧间预测补偿和/或帧内预测补偿。正如所示出的,帧间预测补偿可以由一个或多个模块执行,所述一个或多个模块包括变形生成模块211、合成生成模块212、以及特性和运动补偿滤波预测器模块213。变形生成模块211可以使用解量化的变形参数(例如,根据输入比特流210确定的)来生成变形的参考帧。合成生成模块212可以基于根据输入比特流201确定的参数来生成超分辨率(SR)图片和投影插补(PI)图片等。如果应用了帧间预测,则特性和运动补偿滤波预测器模块213可以基于输入比特流201中接收的帧和运动向量数据等来应用运动补偿。

帧内预测补偿可以由帧内定向预测生成模块214来执行。帧内定向预测生成模块214可以被配置为执行空间定向预测,并且可以根据输入比特流201中的帧内预测数据来使用解码的相邻分区。

正如在图2中所示出的,预测模式选择器模块215可以针对瓦片的每一个预测分区来从“跳过”、“自动”、“帧间”、“多重”、以及“帧内”当中确定预测模式选择,上述的全部可以基于在输入比特流201中的模式选择数据应用到P-图片和F-图片。除了预测模式,它还允许选择参考类型,所述参考类型取决于“帧间”或“多重”模式以及P-图片和F-图片可以是不同的。在预测模式选择器模块215的输出处的预测信号可以由预测融合滤波模块216进行滤波。预测融合滤波模块216可以基于经由输入比特流201确定的参数(例如,滤波系数、频率、开销)来执行滤波。在一些示例中,滤波预测信号可以融合表示不同模式(例如,帧内、帧间、多重、跳过、以及自动)的不同类型的信号。在一些示例中,帧内预测信号可以与所有其它类型的帧间预测信号不同,使得合适的滤波可以极大地增强编码效率。所滤波的预测信号可以将第二输入(例如,预测分区)提供给差异确定器206,如上所讨论的。

如上所讨论的,质量恢复滤波模块209的输出可以是最终的重建帧。最终的重建帧可以被发送到自适应图片重组器217,自适应图片重组器217可以基于输入比特流201中的排序参数按照需要对帧进行重排序和重组织。重排序的帧可以被发送到内容后恢复器模块218。内容后恢复器模块218可以是被配置为执行对解码的视频的感知质量的进一步改进。改进处理可以响应于输入比特流201中的质量改进参数被执行,或它可以被执行作为单独的操作。在一些示例中,内容后恢复器模块218可以应用参数来改进质量,例如,对胶片颗粒噪声和剩余块效应减少的估计(例如,甚至在与解块滤波模块208相关讨论的解块操作之后)。如所示出的,解码器200可以提供显示视频219,显示视频219可以被配置用于经由显示设备进行显示(未示出)。

在操作中,解码器200的一些部件可以操作作为解码器预测子系统。例如,这样的解码器200的解码器预测子系统可以包括多参考帧存储和帧选择器210,用于在多参考帧存储和帧选择器210处对帧编索引的依赖逻辑220、变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。

正如下面将更详细地讨论的,在一些实现中,这样的解码器200的解码器预测子系统可以在有效的视频编码算法中将一些部件和由这些部件生成的合成的预测合并。例如,NGV编码器的所提出的实现可以包括以下特征中的一个或多个:1.增益补偿(例如,场景中的增益/亮度中的改变的显示补偿);2.模糊补偿:例如,场景中的模糊/清晰度中的改变的显示补偿;3.主要的/全局的运动补偿(例如,场景中的主要运动的显示补偿);4.配准补偿(例如,场景中的配准不匹配的显示补偿);5.超分辨率(例如,场景中的分辨率精度中的改变的显示模型);6.投影(例如,场景中的运动轨线中的改变的显示模型);等和/或其组合。

例如,在这样的解码器200的解码器预测子系统中,质量恢复滤波模块的输出可以被发送到多参考帧存储和帧选择器210。在一些示例中,质量恢复滤波模块的输出可以是最终的重建帧,所述最终的重建帧可以被用于对另一帧进行编码的预测(例如,最终的重建帧可以是参考帧等)。如所讨论的,由于预测操作的补偿可以包括帧间预测补偿和/或帧内预测补偿。正如所示出的,帧间预测可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。

正如在下面更详细地描述的,变形分析器和生成模块211可以使用解量化变形参数(例如,根据输入比特流确定的)以生成变形的参考帧。这样生成的变形的参考帧可以被存储在缓冲区中,并且可以由特性和运动补偿精度自适应滤波预测器模块213使用。

类似地,合成分析器和生成模块212可以被配置为基于根据输入比特流201确定的参数来生成一个或多个类型的合成预测参考图片,例如,超分辨率(SR)图片和投影的插补(PI)图片等。这样生成的合成参考帧可以被存储在缓冲区中,并且可以由运动补偿滤波预测器模块213使用。

因此,在应用了帧间预测的这样的解码器200的解码器预测子系统中,特性和运动补偿滤波预测器模块213可以基于变形的参考帧和/或超分辨率(SR)图片和投影插补(PI)图片以及当前帧来应用运动补偿。

在操作中,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现可以使用一个或多个上面的部件,以及与解码的过去和/或未来的图片/切片相关的通常的局部运动补偿。同样地,实现不要求增益补偿的实例的具体的分辨率、或任何其它特性补偿的参考帧生成。

图2示出了与视频编码器100的操作相关联的示例控制信号,其中所指示的缩写可以表示与上面关于图1所讨论的类似的信息。当这些控制信号被示出与解码器200的特定的示例功能模块相关联时,其它实现可以包括编码器100的功能模块中的控制信号的不同的分布。本公开不限于所述方面,并且在各种示例中,本文的控制信号的实现可以包括实施仅仅所示出的特定示例控制信号的子集、附加的控制信号、和/或与所示出的不同的布置。

虽然图1和图2示出了特定的编码和解码模块,但是未被描绘的各种其他编码模块或部件还可以根据本公开被利用。此外,本公开不限于在图1和图2中所示出的特定的部件和/或各种部件被布置的方式。本文所描述的系统的各种部件可以被实现在软件、固件、和/或硬件和/或其任何组合中。例如,编码器100和/或解码器200的各种部件还可以至少部分地由例如可以在计算系统(例如,移动电话)中找到的计算片上系统(SoC)的硬件提供。

此外,可以认识到的是,编码器100可以与内容提供系统相关联和/或由内容提供系统提供,所述内容提供系统包括例如,视频内容服务器系统,并且输出比特流111可以通过各种通信部件和/或系统(例如,未在图1和图2中描绘的收发机、天线、网络系统等)被发送或传递到解码器(例如,解码器200)。还可以认识到的是,解码器200可以与客户端系统相关联,所述客户端系统例如计算设备(例如,桌面型计算机、膝上型计算机、平板计算机、可变换的膝上型计算机、移动电话等)是与编码器100远程的并且经由各种通信部件和/或系统(例如,未在图1和图2中描绘的收发机、天线、网络系统等)接收输入比特流201。因此,在各种实现中,编码器100和解码器子系统200可以被共同实现,或独立于另一个而被实现。

图3是根据本公开的至少一些实现布置的,与下一代视频编码器100相关联的示例子系统的示意图。如所示出的,编码器100可以包括结构子系统310、分区子系统320、预测子系统330、变换子系统340、滤波子系统350、和/或熵编码子系统360。

图3(a)是根据本公开的至少一些实现布置的,示例下一代视频编码器300a的示意图。图3(a)表示与图1(a)和图1(b)所示出的类似的编码器,并且类似的元件出于简洁的缘故不被重复。正如在图3(a)中所示出的,编码器300a可以包括预分析器子系统310a、分区子系统320a、预测编码子系统330a、变换编码子系统340a、滤波编码子系统350a、熵编码系统360a、变换解码子系统370a、和/或解分区子系统380a。预分析器子系统310a可以包括内容预分析器模块102和/或自适应图片组织器模块104。分区子系统320a可以包括预测分区发生器模块105,和/或编码分区发生器107。预测编码子系统330a可以包括运动估计器模块122、特性和运动补偿滤波预测器模块123、和/或帧内定向预测分析器和预测生成模块124。变换编码器子系统340a可以包括自适应变换模块108和/或自适应量化模块109。滤波编码子系统350a可以包括块效应分析器和解块滤波模块117、质量分析器和质量恢复滤波模块118、运动估计器模块122、特性和运动补偿滤波预测器模块123、和/或预测分析器和预测融合滤波模块126。熵编码子系统360a可以包括自适应反向量化模块112和/或自适应反向变换模块113。解分区子系统380a可以包括编码分区装配器114和/或预测分区装配器116。

编码器300a的分区子系统320a可以包括两个分块子系统:可以执行分析和分块以用于预测的预测分区发生器模块105,以及可以执行分析和分块以用于编码的编码分区发生器模块107。另一分块方法可以包括自适应图片组织器104,自适应图片组织器104可以将图片分段为还可以被可选地考虑为该分区的部分的区域或切片。

编码器300a的预测编码器子系统330a可以包括运动估计器122和可以执行对“帧间”信号执行分析和预测的特性和运动补偿滤波预测器123、以及可以执行对“帧内”信号执行分析和预测的帧内定向预测分析器和预测生成模块124。运动估计器122和特性和运动补偿滤波预测器123可以允许由差异的其它来源(例如,增益、全局运动、配准)的第一补偿增加的可预测性,紧接着是实际的运动补偿。它们还可以允许使用数据建模来创建可以允许更好的预测的合成帧(超分辨率、以及投影),紧接着是在这样的帧中使用实际的运动补偿。

编码器300a的变换编码子系统340a可以执行分析以选择变换的类型和尺寸,并且可以包括两个主要类型的部件。第一类型的部件可以允许使用参数变换来允许小型到中等尺寸的块在局部的最佳变换编码;然而这样的编码可能需要一些开销。第二类型的部件可以允许使用通用的/固定的变换(例如,DCT、或来自包括参数变换的各种变换的选项的基于图片的变换)的整体稳定的、低开销的编码。对于局部自适应变换编码,可以使用PHT(参数Haar变换)。在一些示例中,变换可以针对矩形尺寸为4x 4与64x 64之间的2D块来执行,实际的尺寸可以取决于许多因素,例如,变换的数据是亮度或色度,或帧间或帧内,以及被使用的变换是PHT还是DCT等。所得到的变换系数可以是被量化的、扫描的以及进行熵编码的。

编码器300a的熵编码器360a可以包括一些有效的但低复杂度的部件,它们的每一个都具有目标:有效地对具体类型的数据进行编码(各种类型的开销、运动向量、或变换系数)。所述子系统的部件可以属于低复杂度可变长度的编码技术的通用类,然而,对于有效的编码,每一个部件可以针对最高的效率进行定制的优化。例如,定制解决方案可以被设计用于对“编码的/未编码的”数据进行编码,另一个用于“模式和参考类型”数据、另一个用于“运动向量”数据、以及另一个用于“预测和编码分区”数据。最终,因为要进行熵编码的数据的非常大的部分是“变换系数”数据,所以可以使用用于有效地处理特定块尺寸的多个方法、以及可以在多个表之间进行自适应算法。

编码器300a的滤波编码器子系统350a可以执行参数分析以及基于这些参数的重建图片的多个滤波,并且可以包括多个子系统。例如,第一子系统,块效应分析器和解块滤波模块117可以解块以及抖动,以减少或掩饰任何潜在的块编码伪影。第二示例子系统,质量分析器和质量恢复滤波模块118可以执行通用质量恢复,以减少由于任何视频编码中的量化操作造成的伪影。第三示例子系统,其可以包括运动估计器122和特性和运动补偿滤波预测器模块123,可以通过使用滤波器来改进运动补偿的结果,所述滤波器适应于内容的运动特性(模糊的运动速度/程度)。第四示例子系统,预测融合分析器和滤波生成模块126,可以允许对预测信号的自适应滤波(其可以减少预测中的伪造的伪影,通常来自帧内预测)由此减少需要被编码的预测误差。

编码器300a的编码控制器模块103可以在给定资源和期望的编码速度的约束下,对于整体视频质量负责。例如,在不使用任何捷径的情况下基于完整RDO(率失真优化)的编码中,软件编码的编码速度可以简单地是计算资源(处理器的速度、处理器的数量、超线程、DDR3存储器等)的可用性的结果。在这样的情况中,编码控制器模块103可以是预测分区和编码分区的每个单个组合的输入,以及通过实际编码,并且比特率可以连同针对每一个情况的重建的误差,并且基于拉格朗日优化方程进行计算,预测和编码分区的最佳集合可以被发送用于被编码的每一个帧的每一个瓦片。基于完整的RDO模式可以产生最佳压缩效率并且还可以是最慢的编码模式。通过使用来自内容预分析器模块102的内容分析参数和使用它们来进行RDO简化(不测试所有可能的情况)或只使某百分数的通过完整RDO的块通过,可以做出质量与速度权衡来允许更迅速的编码。到目前为止,我们已经描述了基于可变比特率的编码器操作。编码控制器模块103还可以包括速率控制器,速率控制器在不变的比特率(CBR)控制的编码的情况下,可以被调用。

最后,编码器300a的预分析器子系统310a可以执行对内容的分析,以计算各种类型的参数,所述各种类型的参数用于改进视频编码效率和速度性能。例如,它可以计算水平和垂直倾斜信息(Rs、Cs)、方差、每图片空间复杂度、每图片时间复杂度、场景改变检测、运动范围估计、增益检测、预测距离估计、物体估计数量、区域界线检测、空间复杂度图计算、调焦估计、胶片颗粒估计等。由预分析器子系统310a生成的参数可以由编码器消耗或被量化或传递给解码器200。

虽然子系统310a到380a被示出为与图3(a)中的编码器300a的具体示例功能模块相关联,但是在本文中编码器300a的其它实现可以包括子系统310a到380a中编码器300a的功能模块的不同的分布。本公开不限于所述方面,并且在各种示例中,示例子系统310a到380a的实现在本文中可以包括实施仅仅所示出的编码器300a的特定示例功能模块的子集、附加的功能模块、和/或以与所示出的不同的布置实施。

图3(b)是根据本公开的至少一些实现布置的,示例下一代视频解码器300b的示意图。图3(b)表示与图2所示出的类似的解码器,并且类似的元件出于简短的缘故不被重复。正如在图3(b)中所示出的,解码器300b可以包括预测解码器子系统330b、滤波解码器子系统350b、熵解码器子系统360b、变换解码器370b、解分区_2子系统380b、解分区_1子系统351b、滤波解码器子系统350b、和/或后恢复器子系统390b。预测解码器子系统330b可以包括特性和运动补偿滤波预测器模块213和/或帧内定向预测生成模块214。滤波解码器子系统350b可以包括解块滤波模块208、质量恢复滤波模块209、特性和运动补偿滤波预测器模块213、和/或预测融合滤波模块216。熵解码器子系统360b可以包括自适应熵解码器模块202。变换解码器子系统370b可以包括自适应反向量化模块203和/或自适应反向变换模块204。解分区_2子系统380b可以包括编码分区装配器205。解分区_1子系统351b可以包括预测分区装配器207。后恢复器子系统790可以包括内容后恢复器模块281和/或自适应图片重组器217。

解码器300b的熵解码子系统360b可以执行编码器300a的熵解码器子系统360a的反向操作,即它可以使用宽松地被称为可变长度的解码的技术的类来对由熵编码器子系统360a进行编码的各种数据(各种类型的开销、运动向量、变换系数)进行解码。特别地,要被解码的各种类型的数据可以包括“编码的/未编码的”数据、“模式和参考类型”数据、“运动向量”数据、“预测和编码分区”数据、以及“变换系数”数据。

解码器300b的变换解码器子系统370b可以执行编码器300a的变换编码器子系统340a的反向操作。变换解码器子系统370b可以包括两种类型的部件。第一类型的示例部件可以支持使用小型到中等块尺寸的参数化反向PHT变换,而另一类型的示例部件可以支持所有块尺寸的反向DCT变换。用于块的PHT变换可以取决于对相邻块的解码数据的分析。输出比特流111和/或输入比特流201可以携带关于PHT变换的分区/块尺寸的信息,以及其中,可以使用要进行反向变换PHT的2D块的方向(其它方向使用DCT)。对于单纯地由PCT进行编码的块,分区/块尺寸信息还可以从输出比特流111和/或输入比特流201获取,并且被用于应用适当的尺寸的反向DCT。

解码器300b的解分区子系统380b可以执行编码器300a的分区子系统320a的反向操作,并且可以包括两个解分区子系统,可以执行对编码的数据进行解分区的编码分区装配器模块205、以及可以执行用于预测的解分区的预测分区装配器模块207。此外,如果可选的自适应图片组织器模块104在编码器300a处被用于区域段或切片,则在解码器处可以需要自适应图片重组器模块217。

解码器300b的预测解码子系统330b可以包括可以执行对“帧间”信号进行预测的特性和运动补偿滤波预测器模块213,以及可以执行对“帧内”信号进行预测的帧内定向预测生成模块214。特性和运动补偿滤波预测器模块213可以允许由差异的其它来源(例如,增益、全局运动、配准)的第一补偿增加的可预测性或创建合成帧(超分辨率、以及投影),紧接着是实际的运动补偿。

解码器300b的滤波解码器子系统350b可以基于由编码器300a发送的参数来执行对重建图片的多重滤波,并且可以包括多个子系统。第一示例子系统,解块滤波模块208可以解块和抖动,以减少或掩饰任何潜在的块编码伪影。第二示例子系统,质量恢复滤波模块209,可以执行通用质量恢复,以减少由于任何视频编码中的量化操作造成的伪影。第三示例子系统,特性和运动补偿滤波预测器模块213,可以通过使用滤波器来改进运动补偿的结果,所述滤波器适应于内容的运动特性(模糊的运动速度/程度)。第四示例子系统,预测融合滤波模块216,可以允许对预测信号的自适应滤波(其可以减少预测中的伪造的伪影,通常来自帧内预测)由此减少需要被编码的预测误差。

解码器300b的后恢复子系统390b是可以执行对解码的视频的感知质量的进一步改进。所述过程可以响应于由解码器100发送的质量改进参数被完成,或它可以在后恢复器子系统390b处独立地被确定。就在编码器100处被计算的可以被用于在后恢复器子系统390处改进质量的特定参数而言,所述特定参数可以对编码器100处的胶片颗粒噪声和剩余的块效应进行估计(甚至在解块后)。至于胶片增益噪声,如果参数经由输出比特流111和/或输入比特流201被计算并且发送到解码器200,然后这些参数可以用于合成胶片增益噪声。同样地,对于编码器100处的任何剩余块伪影,如果它们可以被测量,并且可以是经由输出比特流111和/或输入比特流201发送的参数,则后恢复器子系统390b可以对这些参数进行解码,并且可以在显示之前使用它们来可选地执行附加的解块。另外,编码器100还可以访问场景改变、空间复杂度、时间复杂度、运动范围、以及可以在后恢复记录子系统390b中的质量恢复中有帮助的预测距离信息。

虽然子系统330b到390b被示出作为与图3(b)中的解码器300b的特定示例功能模块相关联,但是在本文中解码器300b的其它实现可以包括子系统330b到390b当中的解码器300b的功能模块的不同分布。本公开不限于所述方面,并且在各种示例中,本文的示例子系统330b到390b的实现可以包括实施仅仅所示出的解码器300b的特定示例功能模块的子集、附加的功能模块、和/或以与所示出的不同的布置实施。

参考图4A,正如所介绍的,F-图片的两遍或多遍高级特征包括定义与内容相关联的段,例如,背景或前景,或下面所描述的其它分割,以及使用所述段来重建当前的F-图片。所述特征还可以被应用到B-图片。

使用两遍或多遍编码的用于对F-图片或B-图片进行编码的计算机实现的方法的一个示例过程400根据本公开的至少一些实现来进行布置。过程400可以包括一个或多个操作、功能或运动,正如由操作402、404、和/或406中的一个或多个所示出的。过程400可以形成下一代生成视频编码过程的至少一部分。作为非限制性示例,当由图1的编码器系统100、图2的解码器系统200、和/或包括图1-图3、图7-图8、图10-图11、图16-图17、和/或图19-图23的本文中其它编码系统中的任何来实施时,过程400可以形成下一代生成视频编码过程的至少一部分。

过程400可以包括“将帧序列的至少一个图片分段为前景或背景区域”402。这可以被执行用于每一个F-图片(和/或B-图片)或仅仅选择的F-图片或B-图片(例如,期望增强编码的)。这可以由许多不同的方法执行,所述不同的方法例如,阈值方法、群集方法、基于压缩的方法、基于柱状图的方法、边缘检测方法、区域-增加方法、拆分和合并方法、基于部分差分方程的方法、图形分块方法、分流变换的方法、基于模型的分段方法、以及多缩放分段方法,仅举几例。一些其它示例在下面进行描述。

过程400还可以包括“对前景形状分段掩码或前景/背景边界图进行编码”404。考虑到第二部件,“分段掩码”或“边界图”的有效编码表示,这可以由编码器执行,使得解码器可以访问解码器可用的相同的‘掩码’或‘图’数据(在解码器处不执行分段的情况下,由于复杂度在解码器处执行分段通常是不可行的)。再次,存在一些可用的解决方案,例如,运行/长度vlc编码、fax类似的预测二进制图像编码(即,JBIG标准)、上下文自适应算术编码(MPEG-4的)、二进制掩码的面向块的有损编码,以及其它,例如,基于色键的分段的边界的清晰的表示、或简单地由不同地对待两个不同的前景和背景区域的量化器进行的显示表示。特定的解决方案的选项可以取决于编码开销、复杂度、以及其它因素。

过程400还可以包括“使用形状分段掩码或边界图来改进压缩效率”406。这可以包括使用分段掩码或边界图结合(HEVC的)B-图片或(NGV的)F-图片来改进视频的整体编码效率,这将在下面进行更详细的描述。通过在屏幕上定义不同的段,编码可以通过对段进行不同的编码而更加有效,例如,通过集中更大的编码力量用于段上更高的正确度,更可能保持用户的注意力。由此,作为一个示例,背景与前景相比可能接收更少的质量编码,由此看起来保持或甚至提高图像的质量。

参考图4B,用于视频编码的计算机实现的方法的一个示例过程450根据本公开的至少一些实现进行布置。过程450可以提供一种示例方法来使用端掩码和边界图,以用于对F-图片或B-图片进行编码。方法450可以包括由操作452、454、456、和/或458中的一个或多个示出的一个或多个操作、功能或运动。过程450可以形成下一代生成视频编码过程的至少一部分。作为非限制性示例,当由图1的编码器系统100、图2的解码器系统200、和/或包括图1-图3、图7-图8、图10-图11、图16-图17、和/或图19-图23的其它编码系统中的任何实施时,过程450可以形成下一代生成视频编码过程的至少一部分。

过程450可以包括操作“在输入视频顺序中接收帧”452。所述顺序通常指当讨论当前、过去(或之前的)、以及未来(或随后的)帧、图片、或图像时。过程450然后可以包括操作“在第一遍中对当前帧的第一段进行编码,其中,第一段与在帧上示出的内容相关联,并且其中,当前帧是双向的(B-图片)或功能(F-图片)多遍图片,其中,双向和功能多遍图片二者都被提供了以下选项:使用至少一个过去参考帧、至少一个未来参考帧、或二者,并且其中,当前、过去、以及未来是相对于输入视频顺序的,并且其中,功能多遍图片具有使用由变形技术或合成技术修改的一个或多个修改的参考帧的选项”454。如在本文所解释的,通过一个示例,内容可以是帧或图片的背景或前景。可替换地,或附加地,第一段可以对包括全部帧但除了更低的或正常质量的之外的帧的某些量进行编码,并且然后第二段提供正常的质量(如果第一段为低质量)或增强的质量(当第一段是正常的质量)。还将理解的是,当前帧是B-帧或F-帧,正如本文所描述的。更多的细节将在下文提供。

过程450然后可以包括操作“在至少第二遍中对当前帧的至少第二段进行编码,并且当前帧的第二段是与第一段不同的,其中,第一段与第二段在不同的时刻执行,使得在每一遍期间对参考帧的使用发生在不同的时刻,并且其中,对至少第一段和第二段二者进行编码被共同地用于实质上完成对实际上全部当前帧的完整的质量编码”456。由此,利用所述过程,第一段和第二段未必在同一时刻、连续地被编码。通过一个示例,第一段编码可以在第一遍被提供充分的细节,以使用当前帧作为参考帧,用于对另一帧(例如,P-图片或甚至另一F-图片)的至少一部分或段进行编码。另一帧一旦通过使用当前帧被部分地进行编码,则现在可以被用作参考帧来完成在第二遍中对当前帧的编码。因此,从一个角度来看,另一帧的编码遍、或编码关于例如在每次一个帧的对整个帧进行编码的通常顺序而言是乱序的。然后可以完成对另一帧(例如,P-图片)的编码,以用作其它帧的参考帧。因此,用于在第一遍中对当前帧进行编码的参考帧可以与用于在第二遍中对当前帧进行编码的参考帧不同(或重叠或相同)。所述过程的细节和变形将在下面提供。

过程450然后可以继续操作“在相同的时间实例或在不同的时间实例将与重建段相关联的数据写到编码器比特流”458。由此,无论或不论在不同的多遍中对不同的段进行编码的顺序,用于将编码放在编码器比特流中以发送到解码器的时间安排可以是不同的。通过一个示例,编码可以在相同的时间(连续地)被放置在比特流中,或可以以与将对其它单元(相同帧或不同帧的部分)的编码放置在比特流中的不同的时间例如两个段之间进行放置。

参考图5到图12,在提供两遍或多遍编码的描述之前,首先描述修改的参考帧。因此,特定的图片组、参考帧、以及对被预测的帧的它们的依赖在下面关于图5到图12利用在图13到图20所描述的多遍编码进行描述。

NGV视频编码与基于标准的方法不同,因为它天然地将基于重要内容的适应性合并在视频编码过程中,以实现更高的压缩。通过比较,基于标准的视频编码方法通常趋向于通过对旧方法的适应和良好的协调来勉强获得更高的增益。例如,所有基于标准的方法都严重依赖于使运动补偿的帧间编码适应并且进一步调整运动补偿的帧间编码作为主要的手段来减少预测差异以实现增益。另一方面,NGV除了利用由于运动补偿的帧间差异之外,还利用其它类型的帧间差异,例如,通过补偿天然地存在于典型的视频场景中的各种类型的变形(增益、模糊/配准、主要/全局运动),以及提取和采用在合成的(超分辨率(SR)、投影插补(PI))帧中获得的隐藏的空间和时间分辨率。

参考图5,通常在视频场景成像中,可能存在不是由运动引起的亮度的突然改变,由此运动补偿本身对于移除时间冗余而言可能是不够的。例如,亮度中的改变可能由实际的物理事件引起,所述实际的物理事件例如,照相机闪光、闪亮、闪烁、或闪光灯、频闪泡关闭/开启、风暴中的闪电、编辑影响,例如,渐变或调配等。在这样的情况下,这样的改变存在的帧对之间的增益补偿对于压缩是有利的。由NGV编码使用的合成预测的一个类型是增益补偿预测,并且其包括检测和估计增益和/或偏移亮度值,对它们进行参数化,使用它们用于在编码器处进行增益/偏移补偿,将它们发送到解码器,并且通过在解码器处复制增益补偿过程在解码器处使用它们用于进行增益补偿。

通过一个详细的示例,通常在视频场景中,帧到帧差异不仅由于物体的移动,还由于增益/亮度中的改变所引起。有时,这样的亮度中的改变由于编辑影响(例如,渐强或渐弱)或由于交叉淡化而成为全局的。然而,在更多的情况中,这样的亮度中的改变对于例如由于戏剧或音乐表演等中的闪光灯、照相机闪亮、曝光、带色彩的频闪泡的示例是局部的。

对亮度中的帧间改变的补偿,无论是全局的还是局部的,都可能潜在地改进视频编码中的压缩效率。然而,亮度改变参数(增益和偏移)在视频编码器和解码器二者处被应用,使得二者都可以经由比特流利用低位消耗从编码器高效地被传递到解码器,并且解码器的过程复杂度将被最小化。在过去,只有用于全局亮度改变的技术被公开,但是亮度改变中的局部补偿还没有被成功地解决。

下面的方程式涉及帧‘t’中(i,j)位置处的像素st(i,j)的亮度到之前的帧‘t-1’中相同的位置(i,j)处的像素的亮度,其中‘a’和‘b’是增益和偏移因子。运动被假设为小的,并且只有亮度改变被建模。

st(i,j)=a×st-1(i,j)+b (I)

取st(i,j)和st2(i,j)的期望值,并且遵循使当前帧和之前的帧的第一和第二时刻相等的方法,增益‘a’和偏移‘b’的值然后能够被计算为:

b=E(st(i,j))-a×E(st-1(i,j)) (3)

一旦‘a’和‘b’被按照方程式(2)进行计算,则它们被量化(用于有效传输)、被编码并且发送到解码器。在解码器处,‘a’和‘b’的解码的解量化的值被放回到方程式(1),并且使用之前的帧中的像素的解码的值,之前的参考帧的增益补偿的修改版本被计算,比原始的之前的帧中的误差更低,并且其然后被用于生成(增益补偿的)运动补偿预测。对于(反向变换的,以及解量化的)解码的预测误差块,来自修改的之前的参考帧的相对应的预测被添加,以生成最终的解码的帧(或帧的块)。

对于局部运动补偿,不是(a,b)参数的单个集合,参数的多个集合被计算,并且连同帧的哪个部分与哪个参数相对应的图被发送到解码器,并被用于如所描述的增益补偿。

图5示出了使用P-图片502、506、512,以及F-图片504、508、510(下面定义的)的图片结构500。每一个P-图片被预测,或具有根据至少一个之前的P-图片、或I-图片预测的至少一部分分区等,正如由箭头A示出的。对于现在,假设F-图片与B-图片类似,即F-图片可以根据之前的参考帧、随后的参考帧或二者被预测,正如箭头B所示出的。图片结构500包括适应数量的F-图片、多参考预测、以及可以被应用在图片或分区基础上的增益/偏移补偿。例如,如所提到的,在时刻‘n’(502)、‘n+2’(506)、以及‘n+5’(512)处帧被编码为P-图片,而在时刻‘n+1’(504)、‘n+3’(508)、以及‘n+4’(510)处帧被编码为F-图片。在‘n+5’(512)处P-图片被示出为使用多参考预测,因为它采用二者都来自‘n+2’(506)的预测当它可能处于常规预测中时,但是还将帧‘n’(由箭头C示出为502)作为之前的预测参考帧。多参考预测发生在P-图片或F-图片具有多个之前的参考帧时。

这样的方案与基于H.264/MPEG-4部分10的编码的主要差异是在帧‘n’和帧‘n+2’上使用增益/偏移补偿。例如,增益/偏移值能够在帧‘n’处与在帧‘n+2’处相比被估计并且被参数化,以用于生成修改的(增益/偏移补偿的)预测帧,而不是在实际的帧‘n’上执行运动估计/补偿,作为一个示例,它在修改的增益/偏移补偿帧GC(514)上被执行,以预测帧n+1(504),并且还可以被用于预测P-图片512而不是使用P-图片502来预测P-图片512。类似地,增益补偿帧GC(516)可以是对帧n+2(506)的修改,并且其被用于预测帧n+12(512)。为了进行说明,作为一个示例,对(增益/偏移,被称作GC)参数的估计可以在原始的(未解码的)帧上例如由变形分析器130执行,或在解码的帧上由变形发生器120执行。然而,补偿需要在‘解码的帧’上被执行,使得解码器能够复制补偿过程。由此,在时间点处的原始帧以及它们的近似值之间的差异可以由增益补偿、运动补偿、帧GC(514)提供。所述差异然后可以被计算以及变换编码,并且利用与不使用增益补偿它所占用的位相比更少的位(包括增益参数消耗的)进行编码。这还暗示了B-图片和F-图片之间的主要差异,其中,F-图片支持使用修改的参考帧,在这种情况下,对参考帧的修改通过使用增益补偿参数执行。

可选地或附加地,在视频场景成像中,可能存在模糊/配准中的改变,使得运动补偿本身对于移除时间冗余而言可能是不够的。例如,模糊/配准中的改变可能由实际的物理事件引起,所述实际的物理事件例如,看起来是模糊/配准不匹配的在场景中物体的快速移动或照相机的快速移动、或二者、当扫描时胶片的链轮中的机械不匹配、固定摄像机的摇动等。在这样的情况下,这样的改变存在的帧对之间的模糊/配准补偿对于压缩是有利的。模糊/配准补偿预测的原则可以包括由NGV编码使用的变形预测的一个类型,并且其包括检测和估计模糊/配准值,对模糊/配准值进行参数化,使用模糊/配准值用于在编码器处进行模糊补偿,将模糊/配准值发送到解码器,通过在解码器处复制模糊/配准补偿过程来在解码器处使用模糊/配准值以用于进行模糊/配准补偿。

通过一个示例,下文描述了用于配准和模糊的补偿的方法,但是术语可以互换使用。

配准补偿

对场景进行成像的固定视频摄像机仍然可能导致摇晃的或不稳定的视频,这由于环境因素(例如,风)、来自附近物体的震动、摇动的手、或抖动的获取过程,而不是场景的整体移动或场景中的大型物体的运动而造成帧和帧不同。这产生帧到帧配准差异,对帧到帧配准差异的补偿(除了其它形式的补偿(例如,增益、全局/主要运动、以及局部运动补偿)之外)可以产生视频编码的压缩效率的提高。

对于计算当前帧和之前参考帧之间的配准参数,Wiener滤波可以被应用。x(n)为输入信号,y(n)为输出,以及h(n)表示滤波系数。

滤波输出:

误差信号:

e(n)=d(n)-y(n) (5)

在矩阵旋转中,h是滤波系数的向量。交叉相关行向量(源帧和参考帧之间):

Rdx=E[d(n)x(n)T] (6)

自动交叉相关矩阵(基于块数据):

Rxx=E[x(n)x(n)T] (7)

Wiener Hopf方程以如下方式解析h。Wiener Hopf方程确定均方误差中的最佳滤波系数,并且所得到的滤波被称为‘wiener’滤波。

模糊补偿

快速连拍照相机的场景可能由于电荷累积而产生模糊图像。此外,即使照相机是静止的或运动的,如果场景涉及快速移动物体,例如,足球比赛中的足球运动员,则物体可能看起来是模糊的,因为成像的时间分辨率是不够的。在前述的两个情况中,在其它形式的补偿之前或结合其它形式的补偿,模糊补偿可以提高视频编码的压缩效率。

对于运动模糊估计,可以使用Lucy-Richardson方法。其是在迭代i处成功地计算减少的模糊帧(X)的迭代的算法,从Y来源帧,使用B,模糊操作符(使用估计的模糊向量的模糊帧)和B*伴随操作符。操作符B*可以被粗略地认为与B相同,因为B*能够由B代替产生大概相同的视觉质量。

因此,这样的方案与基于H.264/MPEG-4部分10的编码的另一主要差异是分别由修改的BC(或RC)帧518和520在所示出的帧‘n’和‘n+2’的帧上使用模糊/配准补偿,以用于相应的预测帧504和512。例如,模糊/配准值能够在帧‘n’处与在帧‘n+2’处相比被估计并且被参数化,以用于生成修改的(模糊补偿的)预测帧,而不是在实际的帧‘n’上执行运动估计/补偿,它在模糊/配准补偿的帧上被执行。为了说明并且如上所述的,对(模糊,被称为BC)参数的估计可以在原始(未解码的)帧上或解码的帧上完成,然而,补偿需要在‘解码的帧’上被执行,使得解码器可以复制补偿过程。因此,在时间点处的原始帧以及它们的近似值,模糊/配准补偿运动补偿帧之间的差异,可以利用与不使用模糊/配准补偿它所占用的位相比更少的位(包括模糊参数消耗的)进行计算以及变换编码。这还暗示了B-图片和F-图片之间的主要差异,其中,F-图片支持使用修改的参考帧,在这种情况下,对参考帧的修改通过使用模糊/配准补偿参数执行。应当理解的是,修改的帧BC 518和520可以被使用,以替代或除了增益补偿修改的帧GC 514和516之外。

在可选地或附加地使帧变形的另一方式中,在视频场景的成像中,可能存在全局/主要运动中的改变,全局/主要运动本身可以阻塞运动补偿,并且可能对于移除全局时间冗余而言可能是不够的。例如,全局/主要运动中的改变可能由实际的物理事件引起,所述实际的物理事件例如,摇镜头、放大/缩小、或照相机的旋转/倾斜、和/或看起来是全局/主要运动的大型物体运动等。在这样的情况下,这样的改变存在的帧对之间的全局/主要运动补偿对于压缩是有利的。全局/主要运动补偿预测的原则包括使用由NGV编码使用的变形预测的类型,并且可以包括检测和估计帧的全局/主要运动,进行参数化,并且使用运动数据用于在编码器处对全局/主要运动进行补偿,将全局/主要运动发送到解码器,并且通过在编码器处复制全局/主要运动补偿过程来使用全局/主要运动在编码器处进行补偿。

通过一个详细的示例,因为视频中的全局运动可能向基于块的预测提出了挑战(由于由平移的运动模型产生的更大的预测以及运动向量开销的巨大的量),所以开发出可替代的方法,由于其潜在地能够更好地适应非平移/复杂的运动,所以能够直接地估计/补偿全局运动,并且运动参数的更简洁的表示现在根据需要是可用的,例如,每图片一次。在全局运动的运动模型的选项当中,提供显著的收益的两个模型是仿射模型和透视模型。仿射模型使用六个参数,并且能够处理复杂运动的很大的范围,而透视模型则更复杂并且灵活,但是可能使用多达八个参数。仿射模型对于大多数情况可能是够用的,并且可以允许对于运动类型(例如,平移、摄像机移动、修剪、以及旋转)的全局补偿。

数学上地,仿射变换过程由下面的方程式进行描述,所述方程式使用仿射参数a、b、c、d、e、f,用于将之前的帧中的点(x,y)的集合图到点(x’,y’)的修改的集合。

xi′=a.xi+b.yi+c (10)

yi′=d.xi+e.yi+f (11)

对于将全局运动有效的传输到解码器,模型被发送作为三个运动轨迹,一个用于图片的左上角,一个用于图片的右上角,以及一个用于图片的左下角。针对虚拟的图片来对仿射参数进行计算,其中假设所述虚拟的图片具有最接近于二的幂次方的数的宽度和高度,并且比所编码的图片更大。这移除了在解码器处需要的分割。

假设与运动轨迹mt0、mt1、以及mt2相对应的三个顶点(x0,y0)、(x1,y1)、(x2,y2)能够被给出,并且能够被表示为(dx0,dy0)、(dx1,dy1)、以及(dx2,dy2)在八分之一像素单元中。仿射参数A、B、C、D、E、F然后能够如下计算。

C=dx0 (12)

F=dy0 (13)

A=W’*((x1+dx1)-(x0+dx0))/W (14)

B=W’*((x2+dx2)-(x0+dx0))/W (15)

D=H’*((y1+dy1)-(y0+dy0))/H) (16)

E=H’*((y2+dy2)-(y0+dy0))/H) (17)

虽然使用基于仿射模型的全局运动估计/补偿(GME/C)与使用基于块的平移运动相比,对于具有全局运动的场景而言是显著的改进,但是,在现实中,基于块的局部和全局运动二者被结合用于最佳编码效率结果。此外,仿射模型还能够被应用用于场景中的未重叠瓦片、或区域/物体的运动补偿。这产生多个全局运动参数集,并且该过程被称为执行主要运动补偿(DC)。

这里,这样的方案与基于H.264/MPEG-4部分10的编码的主要差异是在帧‘n’(502)和‘n+2’(506)的帧上使用全局/主要运动补偿。例如,全局/主要运动值能够在帧‘n’(502)处与在帧‘n+2’(506)处相比被估计并且被参数化,以用于生成修改的(全局/主要运动补偿的)预测帧522或524,以相应地预测帧504和512,而不是在实际的帧‘n’(502)上执行运动估计/补偿,例如,它在全局/主要运动补偿的帧522上被执行。为了进行说明,对(全局/主要运动,被称作DC)参数的估计可以在原始的(未解码的)帧上,或在解码的帧上被执行,如上所提到的,然而,补偿需要在‘解码的帧’上被执行,使得解码器能够复制补偿过程。由此,在时间点处的原始帧以及它们的近似值,全局/主要运动补偿块运动补偿帧之间的差异,利用与不使用全局/主要运动补偿它所占用的位相比更少的位(包括模糊参数消耗的)被计算以及变换编码。这还暗示了B-图片和F-图片之间的另一主要差异,其中,F-图片支持使用修改的参考,在这种情况下,对参考的修改通过使用全局/主要运动补偿参数执行。变形阶段可以被单独执行,或以任何组合,例如,GC、BC或DC每一个自身,所有三个组合在一起,以形成三个修改的帧或它们中的任何两个组合在一起以形成两个修改的帧。

对于顺序500,然后,应当理解的是,修改的帧替换主顺序中的相对应的帧,或可以被用于除了主顺序中的相对应的帧之外,并且F-图片和P-图片二者可以使用修改的帧作为它们的参考帧。由此,通过一个替换的示例,变形的帧514、518、以及522能够被用于P-图片506的过去的参考帧,而不是用于F-图片504的参考,或除了F-图片504的参考之外。同样,变形的帧516、520、以及524能够被用作F-图片504的未来的参考帧和/或F-图片508和510的过去的参考帧。由此,应当理解的是,许多替换方式存在能够找到的用于编码的收益,并且不限于附图中所示出的那些。

顺序500还证明了F-图片可以与自适应模式或预测技术共同使用,其中,两个参照帧(例如,两个P-图片或I-图片和P-图片、或其它F-图片)之间的F-图片的数量可以不同。因此,只有一个F-图片存在于P-图片502和506之间,而两个F-图片存在于P-图片506和512之间。参照图片之间的F-图片的数量通过一个示例可以被限制为0到4,并且可以取决于帧顺序中的物体的运动的速度。特别地,F-图片可以是用于编码的最有效的帧,因为它们通常可能需要与其它类型的图片相比更少量的位。然而,帧中的物体的运动越快,则需要更多的详细内容来适当地在至少参照帧处示出运动中的这些物体。因此,在非常慢的运动的情况下,许多F-图片可以在参照帧之间被使用,而快速运动可以将参照帧之间的F-图片的允许的数量减少到非常少或没有,以产生运动中的物体的可接受的、好质量的图像。

参考图6,除了变形的预测(增益、模糊/配准、全局/主要运动)图片,还支持合成预测(超分辨率(SR)、以及投影插补(PI))图片。通常,超分辨率(SR)是用于使用许多视频的过去帧来创建单个视频帧的高分辨率重建图像,以帮助填充缺失的信息的技术。优秀的超分辨率的目标是当利用公知的更高的分辨率视频进行测试时,能够产生比向上采样更好地重建的图像。在本文中超分辨率生成技术可以使用编码的视频编码译码器数据来创建循环内超分辨率帧。所述循环内超分辨率帧被再次用在编码循环中,正如其名字所暗示的。在编码循环中对SR的使用在低分辨率视频编码中,并且由此在重建的超分辨率视频中,提供了显著的增益。所述过程使用了结合并且使用编码译码信息(类似于模式帧内、运动、系数等)以及当前解码的帧和过去的帧(或未来的帧,如果可用)以创建对被解码的当前帧的高分辨率重建的算法。由此,所提出的技术是快速的,并且产生良好的视觉质量。

对于移动是缓慢的并且内容相当琐碎(许多边缘、纹理等)的顺序,用于生成在预测中使用的超分辨率帧的能力能够提供更大的运动补偿准确率,并且由此允许更大程度的补偿。正如在图6中所示出的,过程600是生成SR预测的原则被应用到P-图片的图,其中P-图片是由NGV编码使用的合成预测的类型。在这样的情况中,编码器和解码器二者都根据之前可用的解码的帧和数据来生成合成的帧。SR帧618在水平方向和垂直方向二者上都是帧‘n’604的尺寸的双倍,SR帧618通过混合在‘n’处向上采样的解码的P帧616,以及通过使用在‘n-1’处之前的SR帧608构建的运动补偿图片614来生成。前面的SR帧608通过使用当前的P-图片604被解交错,并且与在解交错的块610处的运动估计值相组合。块610用于运动补偿,以形成运动补偿的、解交错的块612,其然后被解交错到块上,以形成运动补偿图片614。多参考预测还由箭头D在帧n+1处被示出用于P-图片。

合成预测的另一类型被称作投影的插补(PI)预测帧生成,将在下面关于图12进行讨论,并且其是由NGV编码中的基于内容的P-图片和F-图片支持的各种修改的参考预测中的一个。投影的插补单纯地或实质上利用来自一个或多个其他参考帧的数据来形成修改的参考帧,并且其本身不是用于显示的图像或图片。通过一个示例,它只被用作参考帧。

参考图7,虽然在图1中示出了更完整的示例NGV编码器,但是在本文中,相关的编码器子系统700可以被称作用于生成对内容自适应P-图片、以及F-图片进行预测的运动估计器、补偿的预测器和图片存储装置(MECPPS)。对于把焦点集中在核心概念有利的是,做出了一些简化,例如,用于计算直连模式(用于‘预测’,以及作为默认用于‘跳过’模式)的操作未示出。MECPPS子系统700可以具有多个部件,例如,存储解码的帧的帧存储(多参考帧存储和帧/选择器702)、以及基于要被生成的修改的多参考预测来对来自帧存储的帧进行编序号的其相关联的逻辑(用于模式多参考帧预测704的依赖逻辑)。编码器子系统700还具有单元706,单元706实际上计算变形的或合成的预测帧或块(被称为变形和合成参数估计器和帧发生器)。运动估计器708和运动补偿(MC)预测器和MC交错预测器710还成为子系统700的部分。用于计算变形的或合成的帧的参数mpar、以及spar被发送到解码器。编码器处的最终结果是生成一些修改的预测候选,以从中选择并且选择应用于块。这些候选中的一些是实际修改的预测块(pblk1,...pblkn),并且其它是通过结合实际修改的块或利用直接预测模式生成的块来与修改的预测块(pblki1,...pblkik)进行插补。

参考图8,解码器子系统800(运动补偿和预测器图片存储(MCPPS))可以包括与形成子系统700(图7)的编码器的部分相对应的解码器的一部分,并且呈现出修改的预测信号是如何在解码器处的P-图片和B-图片中生成的。在子系统700的情况中,出于简洁的缘故,省略了一些细节,例如,对运动向量进行缩放和变符号,以用于计算直连模式中的预测。解码器子系统800可以具有存储解码的帧以及相关联的逻辑(用于模式多参考帧预测的依赖逻辑804)的帧存储(多参考帧存储和帧选择器802),所述相关联的逻辑允许对来自帧存储802的帧进行编序号并且基于要被生成的修改的多参考预测。子系统800还具有单元806,单元806实际上计算变形的或合成的预测帧或块(被称为变形和合成参数估计器和帧发生器),以及运动补偿(MC)预测器和MC交错预测器808。用于计算变形的或合成的帧的参数mpar、以及spar经由比特流在解码器处被接收。能够访问多参考预测中的右侧帧的帧列表和帧存储的操作与利用子系统700进行编码的部分相同或类似。

参考图9,链式阶段可以与F-图片一起使用(或它还能够被用于扩展到B-图片),并且其被称为链式预测。可以将其应用到任何图片类型的链式预测的概念,它特别与F-图片相关(并且还可以被应用于B-图片)。事实上,对于多参考预测的概念的扩展,附加的警告是,它能够利用包括刚刚之前编码的F-图片的其它图片来完成F-图片的完整预测。因此,链式的预测可以提高预测效率,但是是以更高地依赖于其它F-图片上的F-图片为代价。

例如,IPFF图片编码结构900使用参照帧的每一对之间的两个F-图片。特别地,在时刻‘n’(902)、‘n+3’(908)、以及‘n+6’(914)处帧被编码为P-图片,而在时刻‘n+1’(904)、‘n+2’(906)、‘n+4’(910)、以及‘n+5’(912)处帧被编码为F-图片。在P-图片中使用的强调预测,F-图片在时刻‘n+1’(904)使用来自刚刚之前的F-图片(在时刻‘n-1’,未示出,并且由预测链920上的箭头922所指示)的附加的预测。在时刻‘n+2’(906)处F-图片使用来自在时刻‘n+1’(904)处刚刚之前的F-图片的附加的预测,正如由箭头924所指示的,而在时刻‘n+4’(910)处F-图片使用来自在时刻‘n+2’(906)处刚刚之前的F-图片的附加的预测,正如由箭头926所指示的。在时刻‘n+5’(912)处F-图片使用来自在时刻‘n+4’(910)处刚刚之前的F-图片的附加的预测,正如由箭头928所指示的。F-图片的这种类型的预测被称作链式预测。

明显地,链式的预测920具有提高压缩效率的可能,因为一些F-图片能够利用刚刚之前的F-图片来进行附加的预测。而所述类型的预测能够被考虑为多参考预测的形成,甚至是在多参考预测中,F-图片(或标准中的B-图片)将通常地只利用之前解码的图片进行预测。

然而,链式F-图片确实在改进的编码依赖的意义上呈现了限制,改进的编码依赖能够在用于软件编码/解码的多线程中获得高性能效率中引起一些问题。为了解决所述问题,可能的是限制图片的链接,使得一些但不是所有F-图片使用链式的编码。其中的一个示例是由实箭头924和928所指示的,其中F-图片在时刻‘n+2’(906)关于在‘n+1’(904)的F-图片进行链式编码,正如由实箭头924所指示的,并且F-图片在时刻‘n+5’(912)关于在‘n+4’(910)的F-图片进行链式编码,正如由实箭头928所指示的。然而,在时刻‘n+1’(904)和‘n+4’(910)的F-图片可以不是链式编码的,正如由虚线箭头922、926、以及930所指示的,其在本情况中将被省略。可选择地,在链式编码中,反向也是可能的,其中虚线箭头922、926、以及930被呈现,但是实线箭头924和928被省略,使得在时刻‘n+1’(904)和‘n+4’(910)的F-图片可以被链式编码,但是在‘n+2’(906)和‘n+5’(912)的F-图片可以不被链式编码。实际上,这将允许在单独的线程上针对时刻‘n+1’(904)和‘n+2’(906)处的F-图片进行编码/解码,并且类似地针对‘n+4’(910)和‘n+5’(912)。

接下来,图片结构900还可以将本公开的修改的多参考编码932与本公开的F-图片的链式编码920相结合。F-图片在‘n+4’(910)、‘n+5’(912)、以及‘n+6’(914)使用链式编码和多参考编码的组合进行示出。多参考编码存在,这是因为F-图片910、920、以及914的每一个都使用P-图片902作为附加的参考帧。正如由虚线箭头934、936以及938所示出的。应当理解的是,这些原则还被应用到对与B-图片链式编码结合的H.264进行正常多参考编码。

还应当理解的是,链式和多参考选项可以在任何组合中呈现,整个链被呈现或者只有链的一部分被呈现。由此,对于组合的多参考和链式编码的情况,可以通过可选择地使用F-图片的链来达到编码效率增益和提高的依赖之间的折中(使得只有F-图片的一半被链化)。由此,多参考依赖可以被提供有实线箭头依赖924和928,正如上面所讨论的,其中F-图片‘n+5’被链化为‘n+4’,而‘n+2’被链化为‘n+1’,但是F-图片在‘n+1’和‘n+4’未被链化。正如之前所注意的,另一可替代方案将是所示出的链化的对等的,换句话说,其中,虚线箭头出现,而实线箭头未出现,使得F-图片在‘n+1’应被链化为‘n-1’等,F-图片在‘n+4’应被链化为‘n+2’,但是其中F-图片在‘n+2’和‘n+5’可以不被链化。

参考图10,编码子系统1000被称为‘运动估计器,补偿的预测器和图片存储(MECCPPS)’,在本文中它被用于生成内容自适应P-图片、和F-图片的预测。为了将关注保持在核心概念的利益,做出了一些简化,例如,对直接模式(用于‘预测’,以及作为‘跳过’模式的默认)的计算操作未被示出。编码器子系统1000可以包括帧存储(多参考帧存储和帧选择器)1002,帧存储1002它存储解码的帧、它相关联的逻辑(用于模式多参考帧包含链式预测的依赖逻辑)1004,所述相关联的逻辑允许按照需要基于包括链式预测的修改的多参考预测来对来自帧存储的帧进行编序号,以及单元1006,它实际上计算变形的或合成的预测(变形和合成参数估计器和帧发生器)帧或块、运动估计器(运动估计器)1008、以及运动补偿预测器(运动补偿(MC)预测器和MC插补预测器)1010。被用于计算变形的或合成的帧的参数mpar和spar,被发送到解码器。在编码器处最终的结果是生成一些修改的预测候选,来从块上的应用选出或选择。这些候选中的一些可以是实际修改的预测块(pblk1,...,pblkn),并且其它可以是通过组合实际修改的块或从直接预测模式生成的块的插补的修改预测块(pblki1,...,pblkik)。

参考图11,解码器子系统1100可以包括存储解码的帧的帧存储(多参考帧存储和帧选择器)、其相关联的逻辑(用于模式多参考包含链式的帧预测的依赖逻辑)1004,其允许按照需要基于包括链式预测的修改的多参考预测来对来自帧存储的帧进行编索引,以及单元1006,它实际上计算变形的或合成的预测(变形和合成参数估计器和帧发生器)帧或块,以及运动补偿预测器(运动补偿(MC)预测器和MC插补预测器)1108。用于计算变形的或合成的帧参数mpar和spar,经由比特流在解码器处被接收。能够访问多参考预测中的正确帧的帧存储的索引可以与编码器子系统1000的索引相同或类似。

参考图12,具有均匀地被编号的帧1202到1212的图片序列1200被提供来示出生成的原则以及对投影的插补帧(PI-图片)的使用。出于简洁,假设F-图片行为类似于B-图片,并且能够参考两个参照,一个是过去的,而另一个是未来的(这仅仅是一个示例情况)。然后,对于每一个F-图片,共处一地的插补帧可以由被称为投影插补的特定类型的插补使用未来和过去参考参照帧来生成。投影插补考虑物体移动,物体移动在帧的序列上具有不连续的(或非线性的)速度,或具有相对大的运动。PI取决于要被替换的共处一地的帧或当前的帧和到被用于插补的两个参考帧中的每一个的距离来使用加权因子。由此,最佳拟合运动向量被确定为与这两个距离成比例,更近的参考通常被给出更多的权重。为了达到所述目的,两个缩放因子(x因子和y因子)通过例如最小二乘估计来被确定。进一步的运动补偿然后可以被允许来调整小的不匹配。

例如,对于F-图片在时刻‘n+1’(1204),PI-图片1214使用在时刻‘n’(1202)和‘n+2’(1206)的参照或参考帧,在该时刻在同一位置生成。同样对于F-图片,在时刻‘n+3’(1208)和‘n+4’(1210)相对应的PI-图片1216和1218可以使用在时刻‘n+2’(1206)和‘n+5’(1212)参照帧被生成。所述过程对于每一个未来的F-图片均可重复,因为PI-图片被合成,从而时刻与每一个F-图片相对应。相对应的合成PI-图片1214、1216、和1218然后可以以两个参考参照被用于预测的相同或类似的方式被用作第三参考。一些预测分区可以直接使用预测参考,而其它可以隐含地使用它们来生成双向预测。图12还示出多参考预测1232(利用虚线中的依赖1234、1236和1238所示出的,可选的)可以与正常预测1220和PI-图片预测相结合。因此,合成的PI-图片,而不是具有多个参考预测和具有多个参考参照的原始的F-图片可以用于预测。

正如所示出的,一旦建立PI-图片,例如PI-图片1214上的块1224,和参考帧1202以及1206上的块1222和1228之间的运动估计可以用于确定PI-图片1214上的运动向量mv-c1,以用于通过上面提到的示例方法来移动PI-图片1214上的分区或块A-c1,并且从参考帧上的位置1220和1226移动。

参考图13,正如上面所提到的,F-图片(或B-图片)的高级特征可以使用分段的区域,例如,前景(‘foregr’或‘FG’)或背景(‘backgr’或‘BG’)区域。为了完成所述目的,可以如图4B所提到的,可以执行三个操作:(1)将每一个图片分段为前景和背景区域,(2)对前景形状分段掩码或前景/背景边界图进行编码,以及(3)通过在两遍或更多遍中对至少一个F-图片进行编码来使用图形分段掩码或边界图信息改进压缩效率。

考虑前景和背景的分段,多个现有的解决方案,如上所述的存在,还存在各种其它解决方案,其提供了各种级别的复杂性和准确性,例如,一个像素、两个像素、或固定的块尺寸、或可变的块尺寸分段。通过一个方法,当图片具有前景/背景分隔时,只有一个边界图或分段掩码可能需要被编码。所述图或掩码可以在具有预测编码或不具有预测编码的情况下,利用帧间预测/帧内来清楚地进行有效地编码。作为可替换方案,掩码还可以例如通过将色键颜色插入到前景物体/区域的外部的矩形并且对整个矩形进行编码,并且在解码器处对所述矩形图片进行解码,以及提取色键颜色以重新恢复边界形状,这还识别出背景区域,从而进行显示地编码。

关于对段掩码或边界图进行编码,这通过编码器执行,使得解码器可以访问解码器可用的相同‘掩码’或‘图’数据,并且不在解码器处执行分段,在解码器处执行分段由于过程的复杂性、编码负载等通常不是可行的。对段掩码和/或边界图进行编码的解决方案是,例如,运行/长度vlc编码、类似于传真的预测二进制图像代码(例如,具有JBIG标准)、(MPEG-4)的内容自适应算术编码、二进制掩码的面向块的有损编码、以及其它,例如,基于色键的分段边界的显示表示、或通过使量化器不同地对待前景和背景区域来简单地显示表示。特定的解决方案的选择取决于编码开销、复杂度等。

第三操作包括使用段掩码和/或边界图结合例如HEVC的B-图片、或NGV的F-图片,来改进视频的整个的编码效率。在这点上,示例图片结构1300可以具有多达三个可能的参考帧的F-图片,来用于重建F-图片。图片结构1300可以在层次结构/金字塔结构1336中具有F-图片,并且使用合成的在同一位置的预测(修改的PI-图片1330、1332、1334),以及利用两遍或多遍编码的一些F-图片,其中F-图片n+3(1308)的背景区域可以在第一遍中被编码,F-图片n+3(1308)的前景区域可以在第二遍中被编码。更具体地,图片结构1300的段被提供有示出P-图片和高级的F-图片(也适用于产生高级B-图片的B-图片)的视频编码。图片结构1300具有在时刻n(1302)、n+1(1304)、以及n+5(1312)的P-图片,以及在时刻n+2(1306)、n+3(1308)、以及n+4(1310)的F-图片,使得F-图片1306和1310被示出为非参考或非因果F-图片,其中,它们不被用作任何其它图片的预测的参考。F-图片在时刻n+3(1308)是参考F-图片。

图片编码结构1300是混合物,其部分地包括虽然利用p-图片和f-图片二者对在时刻n+3(1308)和n+5(1312)的图片进行链式编码的链式编码。换句话说,P-图片1304是F-图片1308的参考,正如箭头1314所示出的,而F-图片1308是对P-图片1324的参考,正如由箭头1320所示出的。图片结构1300还部分地包括对图片在时刻n+2(1306)和n+4(1310)进行层次结构化/金字塔编码,这是因为两个F-图片具有F-图片参考(1308),而F-图片参考(1308)本身具有至少两个可能的参考帧。继而与依赖顺序相关的编码顺序,针对图片结构1300涉及在时刻n(1302)的P-图片紧接着时刻n+1(1304)的P-图片的第一编码。将意识到的是,时刻‘n’和时刻‘n+1’的符号仅出于示例示出,并且不一定暗示它们是编码顺序直接相邻的帧,或没有中间帧的显示,例如,两个P-图片1302和1304之间的至少一个F-图片。然后,编码针对时刻n+3的F-图片(1308)在第一遍中被执行,紧跟着对在时刻n+5(1312)的P-图片进行编码。然后,第二遍再次被执行以编码在时刻n+3的F-图片(1308)。然后,在时刻n+2(1306)和在时刻n+4(1310)的F-图片被编码。提供两遍编码可以通过所述结构来提高整体的压缩增益,正如下面所讨论的。

通过本文的一个示例方法,对任何图片进行编码可以使用多达三个解码的参考帧。例如,在第一遍中在时刻n+3(1308)的F-图片可以至少使用在时刻n+1(1304)的P-图片作为参考,正如由箭头1314所示出的。F-图片1308可以具有分段掩码(或边界图),其确定前景区域1316和背景区域1318的差异。在第一遍中,背景区域1318被编码,使得所述部分图片可用于在时刻n+5的P-图片1312的背景1322的预测,连同使用在时刻n+1的P-图片1304(箭头1312)来对P-图片1312的背景1322和前景1324二者的至少部分进行编码。由于与在时刻n+5(1312)的P-图片相比,在时刻n+3(1308)的F-图片的更接近的时间复杂度,对P-图片1312的改进的编码与使用在时间上远的时刻n的图片1302相比,例如作为第二参考。

对于第二遍,并且在对n+5时刻的P-图片1312进行编码之后,剩余的区域(例如,在时刻n+3的F-图片1308中的新的前景1328)使用如下进行编码:(1)在n+5的P-图片1312,如由虚线箭头1326所示出的,(2)在时刻n+3的合成的PI帧1332,其具有三个PI帧1330、1332、以及1334,以及(3)再次在时刻n+1处的P-图片1304,如由箭头1316所示出的。然后,利用所述配置,它第一次出现:在n+3处的F-图片1308与当利用被完整编码(例如通过P-图片1302和1304)以及可用的作为参考的时刻n+5的P-图片1312对在n+3处的F-图片1308进行编码时相比,编码可能是轻微地低效的。然后,利用本文所描述的配置,在‘n+5’处的P-图片中获得的编码增益(通过使用时间上更近的F-图片1308作为参考而不是P-图片1302)将超过在n+3处F-图片1308的编码效率的损失加上分段掩码(如果被明确地发送)的花费(例如,以消耗的位负载和时间)。

虽然在本示例中,在时刻n+3处的F-图片1308的背景1318在第一遍中被编码,并且被用于参考来预测在时刻n+5处的P-图片1312中的背景1322,并且前景1328在第二遍中被编码,反向也是可能的。由此,例如,在n+3处的F-图片1308中的前景1316/1328应该在第一遍中被编码,并且被用作参考,来预测时刻n+5处的P-图片1312中的前景1324,而背景1318在第二遍中被编码。实际上,要使用的配置的最佳选择可以取决于内容的性质,例如,背景1318中的细节的级别、以及前景1316区域的运动的大小和速度。例如,甚至对于具有静态背景的场景,两个情况是可能的,使得在一个情况中,前景移动缓慢,而在另一情况中,前景经历快速运动,这可以要求不同的配置。

然后,应当注意的是,不同的参考帧可以用于多遍,但是可能不总是这种情况,并且在一个示例中,第一遍可以使用之前的参考,而第二和随后的遍可以使用未来的参考,但是这可以是反向的或也可以是混合的。同样,应担意识到的是,可以提供超过两遍,例如,正如所期望的,三遍或更多遍,但是遍数越多,例如必须与图片质量平衡的编码花费就越大。

还将从序列1300理解的是,F-图片1306和1310还可以利用F-图片1308在两遍或更多遍中被编码,除了两遍包括可能分别使用修改的PI-图片1330和1334用于F-图片1306和1310的场合之外。

现在参考图14,图片结构1400类似于图片结构1300,图片结构1400具有多达三个参考的F-图片,并且图片结构1400包括F-图片层次结构/金字塔结构1436,使用合成的同一位置的预测(修改的PI-图片1430、1432、1434),以及使用具有两遍编码的一些F-图片。在第一遍中,在n+3的F-图片1408基本上或实质上对整个帧进行编码,通过一个示例,但是前景1416和背景1418仍然可以被编码为不同的质量,而第二遍将前景区域1408改进为全质量或提高的质量。更特别低,具有视频编码的图片结构1400类似于图片结构1300,并且具有时刻‘n’(1402)、‘n+3’(1408)、以及‘n+5’(1412)的P-图片,并且可以具有时刻‘n+2’(1406)、‘n+3’(1408)、以及‘n+4’(1410)的高级的F-图片(还是用于产生高级B-图片的B-图片)。与图片结构1300一样,图片结构1400可以是混合的,对在时刻n+3(1408)和n+5(1410)处的图片进行部分地链式编码,以及对时刻n+2(1406)和n+4(1410)处的图片进行部分地层次结构/金字塔编码。用于对图片结构1400进行编码的顺序/依赖涉及对时刻‘n’(1402)的P-图片,紧跟着的是时刻‘n+1’(1404)的P-图片、时刻‘n+3’(1408)的F-图片(第一遍)、时刻‘n+5’(1412)的P-图片、时刻‘n+3’(1408)的F-图片(第二遍)、以及然后是时刻‘n+2’(1406)的F-图片、以及时刻‘n+4’(1410)的F-图片进行编码。由此,正如所讨论的,在时刻‘n+3’(1408)处的F-图片在两遍中被编码,出于通过本结构改进整体压缩增益的目的,正如将在接下来所讨论的。可替代地,或此外,PI-图片1430和1432可以类似地被用于分别对F-图片1406和1410的第二遍进行编码。

正如之前所讨论的,假设对于任何图片的编码,允许多达三个参考。例如,对于在时刻‘n+3’处的F-图片(1408)(在第一遍中)进行编码可以至少部分地使用在时刻‘n+1’(1404)处的P-图片作为参考,并且正如由箭头1414所指示的。当用于帧‘n+3’(1408)的分段掩码(或边界图)是可用的时,它可以确定背景区域1418和前景区域1416的差异。在第一遍中,全部(或者实质上全部或大部分的)在‘n+3’(1408)处的F-图片被编码,但是例如是以背景1418以更高的质量进行编码但是前景1416是以更低的质量被编码的方式。然后在‘n+3’(1408)处被完整地解码的F-图片可以被用作参考,以用于时刻‘n+5’(1412)处的P-图片的预测,正如由箭头1420所指示的,除了由箭头1412所指示的时刻‘n+1’(1410)处的P-图片之外。在本文中完整解码是指帧的所有或实质上所有的区域都进行解码,但是一些处于更低质量的解码。由于‘n+3’(1408)到‘n+5’(1412)时间上更接近,所以与使用在时间上远的时刻‘n’(1402)处的图片作为参考相比,可以完成对时刻‘n+5’(1412)的P-图片进行的改进的编码(除了在两种情况下都使用‘n+1’(1404)的图片作为参考之外)。

在第二遍中,并且在对‘n+5’(1412)处的P-图片进行编码之后,对于‘n+3’(1408)处的F-图片,前景区域1428可以通过使用n+5’(1412)处的P-图片对差异信号进行编码来在质量上被增强,以及正如由虚线箭头1426所指示的,‘n+3’(1432)处的PI-图片、以及由虚线接头1416示出的‘n+1’(1404)处的P-图片作为参考。然而这意味着‘n+3’(1408)处的F-图片由于在前景的两遍编码中与固有的冗余相关的损耗,所以‘n+3’处的F-图片将可能轻微地无效率地被编码。然而,将预见的是在P-图片(1412)中完成的编码增益将比在‘n+3’(1408)处的F-图片的编码效率损耗加上分段掩码的花费(如果明确地被发送)更多。

通过另一示例,在时刻‘n+3’(1408)处的F-图片可以具有以与在第一遍中的背景1418相比更低质量进行编码的前景1416(并且解码的在时刻‘n+3’(1408)处的第一遍F-图片用作参考,以用于预测‘n+5’(1412)处的P-图片)。这可以紧接着是在对‘n+5’(1412)处的P-图片进行编码后,在对时刻‘n+3’(1408)处的F-图片进行编码的第二遍中对前景(1428)的编码质量进行增强。此外,反向也是可能的,使得在第一遍中,背景1418可以以更低的质量被编码,而前景1418可以以更高的质量被编码。在这样的配置中,在时刻n+3(1408)处的F-图片上的第二遍将被用于在时刻n+5(1412)处的P-图片已经被编码/解码之后,使背景的编码改进。实际上,用于使用的配置的最佳选择可以取决于如上所解释的内容的属性。

参考图15,类似于图片结构1300和1400,图片结构1500具有P-图片和高级F-图片(也适用于产生高级B-图片的B-图片)。图片结构1500具有时刻‘n’(1502)、‘n+1’(1504)、以及‘n+5’(1512)处的P-图片,以及时刻‘n+2’(1506)、‘n+3’(1508)、以及‘n+4’(1510)处的F-图片,使得在‘n+2’(1506)以及‘n+4’(1510)的F-图片被示出为非参考F-图片(它们不被用作任何图片预测的参考),但是在时刻‘n+3’(1508)的F-图片是参考F-图片。图片结构1500是混合的,其例如对时刻‘n+3’(1508)的F-图片,正如由箭头1514所指示的,以及在时刻‘n+5’(1512)的P-图片,如由箭头1520所指示的进行部分链式编码。图片结构1500还使用对时刻‘n+2’(1506)和‘n+4’(1510)的图片进行部分地层次结构/金字塔编码1540。图片结构1500还可以采用多参考机制1538,当系统支持使用与要被重建的帧相关联的三个或更多个参考时,例如,当NGV和HEVC二者都支持比三个参考更多的参考,并且特别地NGV支持多达四个实际的参考,而HEVC支持多达五个参考。由此对于在示出的示例中的多参考编码,F-图片(1506)、1508、以及1510的每一个可以使用P-图片1502作为额外的参考,正如由箭头1521、1523、以及1525所指示的。编码的顺序,以及继而相关的依赖,针对图片结构1500涉及时刻‘n’(1520)处的P-图片的编码,紧接着是使用P-图片1520作为参考的时刻‘n+1’(1504)处的P-图片,正如由箭头1529所指示的(时刻‘n’和时刻‘n+1’的符号仅仅作为示例示出,并且不暗示这两个P-图中间不能存在‘F’图片)。接下来,为了形成第一遍,编码顺序可以包括由参考1506对时刻‘n+3’(1408)的F-图片的编码,正如由箭头1514所指示的,并且如果可能由参考1502对时刻‘n+3’(1408)的F-图片进行编码,正如由箭头1523所指示的。这可以紧接着是在时刻‘n+5’(1512)对P-图片进行的编码,正如由箭头1520、1527、和/或1531所指示的。一旦P-图片1512被解码,则可以形成第二遍,使得在时刻‘n+3’(1508)的F-图片可以使用至少参考1512(箭头1526)、参考1504(箭头1516)、以及修改的PI-图片1532进行编码。这可以紧接着是对时刻‘n+2’(1506)和时刻‘n+4’(1510)的F-图片进行编码。由此,时刻‘n+3’(1508)处的F-图片在两遍中被编码,出于由本结构改进整体压缩收益的目的,正如下面所讨论的。

混合图片结构1500可以具有修改的(变形的和合成的)多参考预测,以及具有两遍编码的高级F-图片。通过一个示例,假设对于任何图片的编码,具有三个或四个解码的帧的多参考结构被用作参考。例如,对于图片结构1500,以及对于对时刻‘n+3’1508处的F-图片进行编码(在第一遍中),参考可以是时刻‘n’(1502)、‘n+1’(1504)处的P-图片,以及时刻‘n-1’处的图片(未示出)。同样,如果假设帧‘n+3’的分段掩码(或边界图)是可用的,其确定背景区域1518和前景区域1516的差异。在第一遍中,时刻‘n+3’(1508)处的F-图片的背景区域1518被编码,使得它对于预测时刻‘n+5’(1512)处的P-图片的预测是可用的。正如所提到的,P-图片1512可以通过使用‘n’(1502)和‘n+1’(1504)处的P-图片作为参考以及使用在时刻‘n+3’(1508)处部分编码的F-图片(在第一遍中)来形成。由于‘n+3’(1508)到‘n+5’(1512)时间上更接近,所以与使用在时间上远的时刻‘n-1’处的图片作为参考相比,在时刻‘n+5’(1512)对P-图片的编码可以被提高(除了在两种情况下都是用图片‘n’(1502)和‘n+2’(1506)作为参考之外)。在对‘n+5’(1512)处的P-图片进行编码之后,时刻‘n+3’(1508)处的F-图片中的剩余区域(例如,前景1528)使用‘n+5’处的P-图片进行编码,除了使用‘n’(1520)、以及‘n+1’(1504)处的P-图片和时刻‘n+3’(1532)处的PI-图片之外。然而,这意味着‘n+3’(1508)处的F-图片与当‘n+3’(1508)处的F-图片被编码为具有将时刻‘n+5’(1512)处可用的整个P-图片作为参考的层次结构或金字塔相比,‘n+3’(1508)处的F-图片将可能更低效率地被编码。然而,将预期的是,在P-图片中获得的编码收益将超出在‘n+3’(1508)处的F-图片的编码效率的损失加上分段掩码的花费(如果被明确地发送)。

通过另一示例,时刻‘n+2’(1506)的非参考F-图片可以使用时刻‘n+1’(1504)处的之前解码的P-图片、时刻‘n+3’(1508)处的下一个解码的F-图片、时刻‘n+2’(1530)处同处一地的PI-图片、以及时刻‘n+5’(1512)处的P-图片(箭头未示出)在第一遍和第二遍的组合中被编码。同样,时刻‘n+4’(1510)处的非参考F-图片可以通过使用时刻‘n+1’(1504)处的P-图片(箭头未示出)、在时刻‘n+3’(1508)处的之前解码的F-图片、时刻‘n+4’(1534)处共同位于一地的PI图片、以及时刻‘n+5’(1512)处的下一个P-图片在第一遍和第二遍的组合中进行编码。

虽然图片结构1500像在图片结构1300中一样由背景和前景划分的段被公开,但是相反图片结构1500可以具有由图片结构1400提供的段分隔,其中,段分隔由代码的质量进行确定。同样,在两遍编码在每一个情况中被公开时,应当理解的是,可以提供多于两遍,无论是否涉及使用本身在多于一遍中被编码的参考。同样,图片结构1300、1400、以及1500示出了对分段的前景和背景区域进行两遍或多遍编码是用于F-图片。对B-图片的应用在下面进行讨论。

参考图16,用于编码器(例如,编码器100)的运动估计和补偿预测子系统(MECPS)1600支持扩展NGV编码译码器的高级(两遍或多遍)F-图片、层次结构和/或链式图片、以及修改的(变形的或合成的)多参考预测。NGV编码译码器还支持I-图片、P-图片和F-图片,具有使用实际的参考生成的变形的参考图片或合成的参考图片的修改的多参考。所述子系统1600具有多参考帧存储和帧选择器1602(还被称为帧存储单元或多参考控件)、以及依赖逻辑单元1604(还被称为用于层次结构/链式图片结构和模式多参考预测中的高级两遍f-图片、f-图片、p-图片的图片顺序逻辑单元或依赖逻辑,或简单的依赖逻辑单元)。多参考控件1602将解码的帧保持用作参考,而依赖逻辑单元1604具有将参考帧分配给要被重建的帧的索引,但是所述任务也可以通过多参考控件1602执行。子系统1600还可以具有变形和合成参数估计器和帧发生器1606(也被称为变形(GC、BC、RC、DC),以及合成(SR和/或PI)参数估计器和帧发生器)。所述单元1604使用所述参数来提供修改的参考帧。所述子系统1600还可以具有运动估计器1608(还被称为块运动估计器单元或二元树分区的运动估计器)和运动补偿单元1610(还被称为补偿预测器单元或运动补偿预测器和插补预测器)。

子系统1600的操作在下面进行描述。解码的帧进入多参考控件1602,而要被用于参考帧的帧(由依赖逻辑单元1604进行识别)被存储在控件1602中。此外,取决于被预测和编码的帧的位置和等级,参考帧由依赖逻辑单元1604被识别为每编码参数和适应选项。变形和合成参数估计器和帧发生器1606计算变形和合成参数以及生成变形的参考图片和合成的图片。运动估计单元1608生成运动向量,并且使原始帧以及运动向量通过到运动补偿单元1610,运动补偿单元1610必要时生成运动补偿预测或插补预测。对于两遍或多遍高级F-图片,分段掩码(segmsk)信号用于监控前景和/或背景信息,使得运动估计和补偿取决于被用于高级F-图片和被处理的‘遍’的配置,在前景、背景或两个区域上被执行。

参考图17,用于解码器的运动补偿预测子系统1700支持具有两遍或多遍编码的高级F-图片,并且其扩展NGV编码译码器。NGV编码译码器支持层次结构和/或链式图片、使用实际的参考生成的修改的(变形的或合成的)多参考预测、以及I-图片、P-图片、以及F-图片。所述子系统1700具有多参考帧存储和帧选择器1702(还被称为帧存储单元或多参考控件)、以及依赖逻辑单元1704(还被称为用于层次结构/链式图片结构和模式多参考预测中的高级两遍f-图片、f-图片、p-图片的图片顺序逻辑单元或依赖逻辑,或简单的依赖逻辑单元)。多参考控件1702将解码的帧保持用作参考,而依赖逻辑单元1704具有将参考帧分配给要被重建的帧的索引,但是所述任务也可以通过多参考控件1702执行。子系统1700还可以具有变形和合成参数估计器和帧发生器1706(也被称为变形(GC、BC、RC、DC),以及合成(SR和/或PI)参数估计器和帧发生器)。所述单元1704使用所述参数来提供修改的参考帧。所述子系统1700还可以具有运动补偿单元1708(还被称为补偿预测器单元或运动补偿预测器和插补预测器)。

子系统1700的操作在下面进行描述。解码的帧进入多参考控件1702,而要被用于参考帧的帧(由依赖逻辑单元1704进行识别的)被存储在控件1702中。此外,取决于被预测和编码的帧的位置和等级,参考帧由依赖逻辑单元1704被识别为每编码参数和适应选项。变形和合成参数估计器和帧发生器1706计算变形和合成参数以及生成变形的参考图片和合成的图片。原始帧以及运动向量mv被提供给运动补偿单元1708,所述运动估计单元1708按照需要生成运动补偿预测或插补预测。对于两遍或多遍高级F-图片,分段掩码(segmsk)信号用于监控前景和/或背景信息,使得运动补偿取决于被用于高级F-图片和被处理的‘遍’的配置,在前景、背景或两个区域上被执行。

参考图18,对结构1800进行编码的(层次结构1840和灵活的)混合图片的节使用P-图片和B-图片编码、使用多参考预测1838、以及两遍编码的B-图片。例如,在时间间隔‘n’(1802)、‘n+1’(1804)、以及‘n+5’(1812)的图片是P-图片,而在时间间隔‘n+2’(1806)、‘n+3’(1808)、以及‘n+4’(1810)的图片是B-图片。在时间间隔‘n+2’(1806)、以及‘n+4’(1810)的B-图片是不被用于其它图片预测的非参考B-图片,而在时间间隔‘n+3’处的B-图片是高级(两遍或多遍)B-图片1808。此外,要被预测和编码的单个帧可以具有多个参考帧,例如,三个或四个参考,以用于对帧进行有效预测和编码。与两遍(或多遍)B-图片不同,使用P-图片和B-图片的编码环境的残差可以类似于包括HEVC的现有的MPEG标准。示出所述两个编码结构的主要目的是示出类似于B-图片编码的HEVC标准可以利用产生高级(两遍或多遍)B-图片的两遍或多遍图片编码的方法进行扩展。使用图片序列1800的两遍B-图片的详细操作可以使用类似于图片序列1300或类似于图片序列1400的编码和分段进行执行,其中类似于图片序列1300的场合前景和背景编码在两遍中确定差异,类似于图片序列1400的场合中整个帧被编码,除了部分处于更低质量的,其然后在第二遍被变为正常的或增强的。后者的示例在下面被用于图片序列1800。

对于图片序列1800,在时刻‘n+1’(1804)的P-图片通过使用时刻‘n’(1802)处过去解码的P-图片,以及如果可用的其它过去解码的图片,每常用P-图片编码1836。接下来,对于第一遍,在时刻‘n+3’(1808)的B-图片使用至少如由箭头1818所指示的在时刻‘n+1’(1804)、以及如由箭头1821所指示的时刻‘n’(1802)处解码的P-图片作为参考进行编码,对整个图片或实质上整个图片进行编码,所有具有警告:前景区域1816和背景区域1814使用段掩码(segmsk)信息以不同的质量进行编码。其它过去的帧也可以被使用。接下来,在时刻‘n+5’(1821)处的P-图片被编码。代替P-图片,HEVC允许使用通用的B-图片。在两种情况的任一种中,图片至少使用由箭头1823所指示的时刻‘n’(1820)、时刻‘n+1’(1804)(箭头未示出)处解码的帧、以及由箭头1820指示的时刻‘n+3’(1808)处的第一遍图片进行编码。在对时刻‘n+5’(1812)处的P-图片进行编码之后,第二遍在使用由箭头1825指示的时刻‘n’(1802)的图片、由箭头1816指示的n+1(1804)、由箭头1826指示的‘n+5’(1812)、以及第一遍n+3本身(具有前景1816的1808)的图片作为参考的时刻‘n+3’处的B-图片(1808)上进行。利用这些参考,改进的质量前景1828由编码建立。非参考B-图片接下来被编码。对于在时刻‘n+2’(1806)的B-图片的编码,至少可以使用在时刻‘n+1’(1804)、以及‘n+3’(1808)的解码的相邻图片,以及在时刻‘n+5’(1812)的图片。同样对于在时刻‘n+4’(1810)的B-图片的编码,至少可以使用在时刻‘n+3’(1808)、以及‘n+5’(1812)的解码的相邻图片,以及在时刻‘n+1’(1804)的图片。利用所述方法,对于时刻‘n+3’(1808)的B-图片的质量的轻微损失可以容易地通过在由B-图片1808进行的对时刻‘n+5’(1812)的图片编码中获得的更大的收益来进行抵销,因为它在时间上更近,正如上面所解释的。

参考图19,用于编码器(例如,HEVC标准编码器)的运动估计和补偿预测子系统(MECPS)1900支持扩展HEVC或MPEG-4编码译码器的高级(两遍或多遍)B-图片、层次结构和/或灵活的图片结构、以及多参考预测。编码译码器还支持I-图片、P-图片和B-图片,并且可以使用四个到五个实际的(例如,非修改的)参考以用于对图片进行编码。所述子系统1600具有多参考帧存储和帧选择链表1902(还被称为帧存储单元或多参考控件)、以及用于B-图片的依赖逻辑单元1904(还被称为用于层次结构/灵活图片结构和多参考预测中的高级两遍B-图片、B-图片、P-图片的图片顺序逻辑单元或依赖逻辑,或简单的依赖逻辑单元)。多参考控件1902将解码的帧保持用作参考,而依赖逻辑单元1904具有将参考帧分配给要被重建的帧的索引,但是所述任务也可以通过多参考控件1902执行。子系统1900还可以具有运动估计器1906(也被称为块运动估计器单元或运动估计器预测单元分区),以及运动补偿单元1608(还被称为运动补偿预测器单元或运动补偿(MC)预测器和预测单元分区的MC双向预测器)。

子系统1900的操作在下面进行描述。解码的图片进入多参考控件1902,而要被用于参考帧的图片(由依赖逻辑单元1904进行识别的)被存储在所述单元中。此外,取决于需要被执行用于预测的帧的位置(例如,在帧层次结构中),参考帧由依赖逻辑单元1904被识别为每编码参数和适应选项。所识别的参考图片由运动估计单元1906和运动补偿单元1908直接使用。运动估计单元1906生成运动向量,并且使原始帧以及运动向量通过到运动补偿单元1908,运动补偿单元1908必要时生成运动补偿预测或双向预测。对于高级两遍B-图片,分段掩码(segmsk)信号用于监控前景和/或背景信息,使得运动估计和补偿取决于被用于高级F-图片和被处理的‘遍’的配置,在前景、背景或两个区域上被执行。

参考图20,运动补偿预测子系统(MCPS)2000支持高级两遍或多遍B-图片,其扩展支持层次结构和/或灵活的图片结构以及多参考编码的HEVC标准。HEVC标准还支持I-图片、P-图片、以及B-图片、以及使用四个到五个实际的(或非修改的)参考的多参考。所述子系统2000具有多参考帧存储和帧选择列表2002(还被称为帧存储单元或多参考控件)、以及用于B-图片的依赖逻辑单元2004(还被称为用于层次结构/灵活的图片结构和多参考预测中的高级两遍B-图片、B-图片、P-图片的图片顺序逻辑单元或依赖逻辑,或简单的依赖逻辑单元)。多参考控件2002将解码的帧保持用作参考,而依赖逻辑单元2004具有将参考帧分配给要被重建的帧的索引,但是所述任务也可以通过多参考控件2002执行。子系统2000还可以具有运动补偿单元2006(还被称为运动补偿预测器单元或运动补偿(MC)预测器和预测单元分区的MC双向预测器)。

解码器子系统2000的操作在下面进行描述。解码的帧进入多参考控件2002,而要被用于参考帧的图片(由依赖逻辑单元2004进行识别的)被存储在所述单元中。此外,取决于需要被执行的预测的帧的位置(例如,在帧层次结构中),参考帧由依赖逻辑单元2004被识别为每编码参数和适应选项。所识别的参考图片和解码的运动向量由运动补偿单元2006直接使用。运动补偿单元2006按照需要产生运动补偿预测或双向预测。对于高级两遍B-图片,分段掩码(segmsk)信号用于监控前景和/或背景信息,使得运动估计补偿取决于被用于高级F-图片和被处理的‘遍’的配置,在前景、背景或两个区域上被执行。

虽然本文的示例过程的实现可以包括实施以所示出的顺序显示的所有操作,本公开不限于所述方面,并且在各种示例中,本文中的示例过程的实现可以包括实施仅仅所显示的操作的子集,和/或以与所示出的不同的顺序。

本文所描述的系统的各个部件可以被实现在软件、固件、和/或硬件和/或其任何组合中。例如,可以至少部分地由例如可以在计算系统中被找到的计算片上系统(SoC)的硬件(例如,智能电话)来提供本文所描述的系统的各个部件。本领域的技术人员应当意识到本文描述的系统可以包括在相对应的图中未被描绘的附加的部件。例如,本文所描述的系统可以包括附加的部件,例如,出于简洁未被描绘的比特流多路复用器、解多工器模块等。

另外,本文所讨论的操作中的任何一个或多可以响应于由一个或多个计算机程序产品提供的指令而被执行。这样的程序产品可以包括携带提供指令的介质的信号,所述指令当由例如处理器执行时,可以提供本文所描述的功能。计算机程序产品可以以一个或多个机器可读介质的任何形式被提供。由此,例如包括一个或多个处理器核心的处理器可以响应于由一个或多个机器可读介质传递给处理器的程序代码和/或指令或指令集,来执行本文中的示例过程的操作中的一个或多个。通常,机器可读介质可以以程序代码和/或指令或指令集的形式传递软件,所述程序代码和/或指令或指令集使本文描述的设备和/或系统中的任何来实现本文所讨论的视频系统的至少部分。

图21是根据本公开的至少一些实现进行布置的示例视频编码系统2100的示意图。在所示出的实现中,视频编码系统2100可以包括图像设备2101、视频编码器100、视频解码器200(和/或经由处理单元2120的逻辑电路2150实现的视频编码器)、天线2102、一个或多个处理器2103、一个或多个存储器存储2104、和/或显示设备2105。

正如所示出的,图像设备2101、天线2102、处理单元2120、逻辑电路2150、视频编码器100、视频解码器200、处理器2103、存储器存储2104、和/或显示设备2105能够与另一个进行通信。正如所讨论的,虽然示出了视频编码器100和视频解码器200二者,但是视频编码系统2100在各种示例中,可以只包括视频编码器100或只有视频解码器200。此外,正如关于视频编码器和/或视频解码器所描述的,系统2100在一些示例中,可以实现图7的视频编码器700和/或图8的解码器800。

正如所示出的,在一些示例中,视频编码系统2100可以包括天线2102。天线2102可以被配置例如发送或接收视频数据的编码的比特流。此外,在一些示例中,视频编码系统2100可以包括显示设备2105。显示设备2105可以被配置为呈现视频数据。正如所示出的,在一些示例中,逻辑电路2150可以经由处理单元2120被实现。处理单元2120可以包括专用应用集成电路(ASIC)逻辑、图像处理器、通用处理器等。视频编码系统2100还可以包括可选的处理器2103,所述可选的处理器2103可以类似地包括应用专用集成电路(ASIC)逻辑、图形处理器、通用处理器等。在一些示例中,逻辑电路2150可以经由硬件、视频编码专用硬件等被实现,并且处理器2103可以被实现专用软件、操作系统等。另外,存储器存储2104可以是任何类型的存储器,例如,易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪速存储器等)等。在非限制的示例中,存储器存储2104可以有高速缓存存储器实现。在一些示例中,逻辑电路2150可以访问存储器存储2104(例如,以用于图像缓冲区的实现)。在其它示例中,逻辑电路2150和/或处理单元2120可以包括存储器存储(例如,高速缓存等),用于实现图像缓冲区等。

在一些示例中,经由逻辑电路实现的视频编码器100可以包括图像缓冲区(例如,经由处理单元2120或存储器存储2104)和图形处理单元(例如,经由处理单元2120)。图形处理单元可以被通信地耦合到图像缓冲区。图形处理单元可以包括经由电路逻辑2150实现来体现关于图1、图3、图5、以及图8讨论的各种模块的视频编码器100(或解码器700)。例如,图形处理单元可以包括编码分区发生器逻辑电路、自适应变换逻辑电路、内容预分析器、编码控制器逻辑电路、自适应熵编码器逻辑电路等。

逻辑电路可以被配置为执行本文所讨论的各种操作。逻辑电路可以包括编码器100或本文所讨论的其它编码器子系统,并且可以包括多参考帧存储和帧选择器119,帧选择器119可以根据由依赖逻辑128提供的索引将重建的帧选择作为当前帧的参考帧。变形和合成分析器120或121然后将形成修改的参考帧,并且然后运动估计器122使用修改的参考帧来形成当前帧的运动预测。同样,变形和合成发生器130和132用于编码器处的循坏外参考帧修改。图形处理单元2120或更具体地逻辑电路2150然后可以具有分段器,用于将像素帧划分为与当前帧中的内容相关联的至少第一和第二段。段的定义然后可以被提供给例如在图1到图2中示出的需要它们的每一个单元或模块。单元(例如,依赖逻辑或多参考空间)可以被提供,以指示哪个帧被用于段的参考帧。此外,图形处理单元可以被配置为:接收用于像素数据的帧的序列的数据,所述序列具有显示顺序,并且其中,每一个帧与显示书序的时间位置相关联;提供当前帧的第一段的运动数据,其中,第一段与帧上示出的内容相关联;并且提供运动数据来对于第一段不同的单曲帧的至少第二段进行编码,其中,来自第一段和第二段至少二者的运动数据被共同地使用来实质上完成实质上整个当前帧的完整的质量编码,并且其中,使用用于对段中的至少一个进行编码的参考帧在与使用参考帧用于另一段的不同的时刻执行,其中以下中的至少一个:被配置为使用变形技术的变形分析器,被配置为使用合成技术的合成分析器、以及二者。视频解码器200可以与本文所描述的类似的方式被实现。

在一些示例中,视频编码系统2100的天线2102可以被配置为接收视频数据的编码的比特流。视频编码系统2100还包括耦合到天线2102并且被配置为对编码的比特流进行解码的视频解码器200(解码器1800)。

在实现中,本文所描述的特征可以响应于由一个或多个计算机程序产品提供的指令被执行。这样的程序产品可以包括携带提供指令的介质的信号,所述指令当由例如处理器执行时,可以提供本文所描述的功能。计算机程序产品以一个或多个机器可读介质的任何形式被提供。由此,例如包括一个或多个处理器核心的处理器可以响应于由一个或多个机器可读介质传递给处理器的程序代码和/或指令或指令集,来执行本文中描述的一个或多个特征。通常,机器可读介质可以以程序代码和/或指令或指令集的形式传递软件,所述程序代码和/或指令或指令集使本文描述的设备和/或系统中的任何来实现本文所描述的特征的至少部分。

图22是根据本宫的至少一些实现进行布置的示例系统2200的示意图。在各种实现中,系统2200可以是媒体系统,但是系统2200不限于所述内容。例如,系统2200可以被并入到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板计算机或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备、照相机(例如,全自动照相机、超望远照相机、数字单反(DSLR)照相机)等。

在各种实现中,系统2200包括耦合到显示器2220的平台2202。平台2202可以从内容设备接收内容,所述内容设备例如内容服务设备2230或内容传送设备2240或其它类似的内容源。包括一个或多个导航特征的导航控制器2250可以被用于例如与平台2202和/或显示器2220进行交互。这些部件中的每一个在下面更详细地进行描述。

在各种实现中,平台2202可以包括芯片组2205、处理器2210、存储器2212、天线2213、存储装置2214、图形子系统2215、应用2216和或无线装置2218的任何组合。芯片组2205可以在处理器2210、存储器2212、存储装置2214、图形子系统2215、应用2216和/或无线装置2218当中提供交互通信。例如,芯片组2205可以包括能够提供与存储装置2214的交互通信的存储适配器(未描绘)。

处理器2210可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、兼容x86指令集处理器、多核、或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器2210可以是双核处理器、双核移动处理器等。

存储器2212可以被实现为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。

存储装置2214可以被实现为非易失性存储设备,例如但不限于,磁盘驱动、光盘驱动、带驱动、内部存储设备、附连的存储设备、闪速存储器、电池备份的SDRAM(同步DRAM)、和/或网络可访问的存储设备。在各种实现中,存储装置2214可以包括当例如多个硬盘被包括时,用于提高对于重要的数字媒体的存储性能增强保护的技术。

图形子系统2215可以执行对图形(例如,静态或视频)的处理以用于显示。图形子系统2215可以是例如图像处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以被用于通信地将图像子系统2215和显示器2220相耦合。例如,接口可以是高清晰多媒体接口、显示端口、无线HDMI、和/或兼容无线HD技术中的任何。图形子系统2215可以被集成到处理器2210或芯片组2205中。在一些实现中,图形子系统2215可以是通信地耦合到芯片组2205的单独的设备。

本文描述的图形和/或视频处理技术可以被实现在各种硬件架构中。例如,图形和/或视频功能可以被集成在芯片组中。可替换地,分立的图形和/或视频处理器可以被使用。作为另一实现,图形和/或视频功能可以由包括多核处理器的通用处理器提供。在另一实施例中,所述功能可以被实现在消费电子设备中。

无线装置2218可以包括能够使用各种合适的无线通信技术来发送和接收信号的一个或多个无线装置。这样的技术可以涉及在一个或多个无线网络上进行通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、以及卫星网络。在通过这样的网络的通信中,无线装置2218可以根据任何版本中的一个或多个使用的标准进行操作。

在各种实现中,显示器2220可以包括任何电视类型的监视器或显示器。显示器2220可以包括例如,计算机显示屏、触摸屏显示器、视频监视器、类电视机设备、和/或电视。显示器2220可以是数字的和/或模拟的。在各种实现中,显示器2220可以是全息显示器。同样,显示器2220可以是可以接收视觉投影的透明的界面。这样的投影可以传递各种各样的信息、图像、和/或物体。例如,这样的投影可以是移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用2216的控制下,平台2202可以在显示器2220上显示用户接口2222。

在各种实现中,内容服务设备2230可以由任何国家的、国际的和/或独立的服务托管,并且因此可以经由例如互联网平台2202可访问的。内容服务设备2230可以耦合到平台2202和/或显示器2220。平台2202和/或内容服务设备2230可以耦合到网络2260,以将媒体信息传递(例如,发送和/或接收)到网络,或从网络传递媒体信息。内容传送设备2240还可以耦合到平台2202和/或显示器2220。在各种实现中,内容服务设备2230可以包括有线电视盒、个人计算机、网络、电话、启用互联网的设备或能偶传送数字信息和/或内容的装置、以及能够单向或双向地经由网络2260或直接地在内容提供者和平台2202和/显示器2220之间传递内容的任何其它类似的设备。应当意识到,内容可以经由网络2260被单向地和/或双向地被传递到系统2200中的部件中的任何一个,或从系统2200中的部件中的任何一个被传递。内容的示例可以包括任何媒体信息,包括例如,视频、音乐、医疗和游戏信息等。

内容服务设备2230可以接收内容,例如,有线电视节目,包括媒体信息、数字信息、和/或其它内容。内容提供者的示例可以包括任何有线或卫星电视或无线装置或互联网内容提供者。所提供的示例不意味着以任何方式根据本公开来限制实现。

在各种实现中,平台2202可以从具有一个或多个导航特征的导航控制器2250接收控制信号。控制器2250的导航特征可以用于与例如用户接口2222进行交互。在各种实施例中,导航控制器2250可以是定点设备,所述定点设备可以是允许用户将空间(例如,连续的和多维度的)数据输入到计算机中的计算机硬件部件(特别地,人机界面设备)。许多系统(例如,图形用户界面(GUI)、以及电视机和监视器)允许用户使用物理姿势来控制数据并且将数据提供给计算机或电视。

控制器2250的导航特征的移动可以通过指针、鼠标、聚焦环、或其它显示在显示器上的视觉指示符的移动而被复制到显示器(例如,显示器2220)上。例如,在对软件应用2216的控制下,位于导航控制器2250上的导航特征可以被图到显示在用户接口2222上的虚拟导航特征。在各种实施例中,控制器2250可以不是单独的部件,但可以被集成到平台2202和/或显示器2220上。然而,本公开不限于所示出的或本文所描述的元件或上下文中。

在各种实现中,驱动器(未示出)可以包括以下的技术,当技术被启用时,使用户例如能够像电视机一样在初始启动之后使用对按钮的触摸即时地打开和关闭平台2202。甚至是当平台被“关闭”时,程序逻辑可以允许平台2202将内容流式地传送到媒体适配器或其它内容服务设备2230或内容传送设备2240。此外,例如,芯片组2205可以包括对5.1环绕声音频和/或高分辨率7.1环绕声音频支持的硬件和/或软件。驱动器可以包括集成图形平台的图形驱动器。在各种实施例中,图形驱动器可以包括快速外围部件互连(PCI)图形卡。

在各种实现中,可以集成系统2200中示出的部件中的任一个或多个。例如,可以集成平台2202和内容服务设备2230,或可以集成平台2202和内容传送设备2240,或例如可以集成平台2202、内容服务设备2230、以及内容传送设备2240。在各种实施例中,平台2202和显示器2220可以是集成单元。例如,可以集成显示器2220和内容服务设备2230,或可以集成显示器2220和内容传送设备2240。这些示例并不是想要限制本发明。

在各种实施例中,系统2200可以被实现为无线系统、有线系统、或两者的组合。当被实现为无线系统时,系统2200可以包括适合于在无线共享介质(例如,一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等)上进行通信的部件和接口。无线共享介质的示例可以包括无线频谱(例如,RF频谱等)的部分。当被实现为有线系统时,系统2200可以包括适合于在有线通信介质(例如,输入/输出(I/O)适配器、使I/O适配器与相对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等)上进行通信的部件和接口。有线通信介质的示例可以包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等。

平台2202可以建立一个或多个逻辑或物理通道以传递信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指表示准备给用户的内容的任何数据。内容的示例可以包括例如来自以下项目的数据:语音对话、视频会议、流式视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等。来自语音对话的数据可以是例如说话信息、静默时间段、背景噪声、舒适噪声、音调等。控制信息可以指表示准备给自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统按规定路线发送媒体信息或指示节点以预定的方式处理媒体信息。然而,实施例并不限于图23所示或所述的元件或上下文中。

如上所述,系统2200可以体现在不同的物理风格或形成因子中。图23示出了系统2300可以体现于其中的小规模设备2300的实现。在实施例中,例如,设备2300可以被实现为具有无线能力的移动计算设备。移动计算设备可以指例如具有处理系统和移动功率源或电源(例如,一个或多个电池)的任何设备。

如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触控板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板计算机、或智能电视机)、移动互联网设备(MID)、消息发送设备、数据通信设备、照相机(例如,全自动照相机、超望远照相机、数字单反(DSLR)照相机)等。

移动计算设备的示例还可以包括被布置为由人佩戴的计算机,例如,手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、衣服计算机、以及其它可佩戴的计算机。在各种实施例中,例如,移动计算设备可以被实现为能够执行计算机应用、以及语音通信和/或数据通信的智能电话。虽然作为示例,一些实施例可以使用被实现为智能电话的移动计算设备来进行描述,但是可以认识到,还可以使用其它无线移动计算设备来实现其它实施例。实施例并不限于所述上下文中。

如图23所示,设备2300可以包括壳体2302、可以包括用户界面2310的显示器2304、输入/输出(I/O)设备2306、以及天线2308。设备2300还可以包括导航特征2312。显示器2304可以包括用于显示适合于移动计算设备的信息的任何适当的显示单元。I/O设备2306可以包括用于将信息输入到移动计算设备中的任何适当的I/O设备。I/O设备2306的示例可以包括字母数字键盘、数字小键盘、触控板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备、以及软件等。信息还可以通过麦克风(未示出)输入到设备2400中。这样的信息可以由语音识别设备(未示出)来进行数字化。实施例并不被限制于所述上下文中。

可以使用硬件元件、软件元件或这两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定实施例是否是使用硬件元件和/或软件元件来实现的可以根据任何数量的因素而不同,所述因素例如是期望的计算速率、功率电平、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其它设计或性能约束。

至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表示性指令实现,所述机器可读介质表示在处理器内的各种逻辑,当由机器读取所述指令时,使机器制造逻辑以执行本文所描述的技术。被称为“IP核心”的这样的表示可以存储在有形、机器可读介质上,并且被应用到各种消费者或制造设施中,以装入实际制造逻辑或处理器的加工机器中。以另一种形式,非暂时性制品(例如,非暂时性机器可读介质)可以与上文所提到的任何示例或除了确实包括暂时性信号之外的其它示例。它要包括可以将数据暂时性地以“暂时性”方式(例如,RAM等)保持的信号本身之外的所述元件。

虽然参考各种实现描述了在本文阐述的某些特征,但是所述描述并不是要以限制性的意义被解释。因此,对本公开所属的领域中的技术人员显而易见的是,本文所描述的实现以及其它实现的各种修改被认为位于本公开的精神和范围内。

以下的示例属于进一步的实现。

用于视频编码的计算机实现的方法包括以输入视频顺序接收帧,在第一遍中对当前帧的第一段进行编码,其中第一段与帧上示出的内容相关联,并且其中,当前帧可以是双向的(B-图片)或功能性的(F-图片)多遍图片,其中,双向和功能性多遍图片二者都被提供有选项,以使用至少一个过去的参考帧、至少一个未来的参考帧,或二者,并且其中当前、过去、以及未来都是相对于输入视频顺序的。功能多遍图片具有选项,以使用由变形技术或合成技术修改的一个或多个修改的参考帧。所述方法还包括在至少第二遍中对与第一段不同的当前帧的至少第二段进行编码,其中,第一遍和第二遍在不同的时刻被执行,使得在每一遍期间对参考帧的使用在不同的时刻发生,并且其中,对第一段和第二段至少二者进行编码,所述第一段和第二段合作地用于完成对实质上整个当前帧的实质上完全的质量编码。所述方法还可以包括在同一时刻实例或在不同的时刻实例处将与重建段相关联的数据写到编码器比特流。

通过其它示例,所述方法可以包括具有至少一个不同的参考帧的第一段和第二段,其中,对至少另一帧进行编码至少部分地在对当前帧的第一段和第二段进行编码之间被执行,并且其中,另一帧是P-图片,以及其中,另一帧的至少部分被用作用于对第二段进行编码的参考。另一帧可以是未来帧,其中,小于另一帧的全部被解码并且被用作参考,来对当前帧的第二段进行编码。第一段和第二段中的一个可以通过使用至少一个过去参考帧来进行编码,并且第一段和第二段中的另一个可以通过使用至少一个未来参考帧来进行编码,其中一些中的至少一个:(1)第一段和第二段中的一个与当前帧的背景相关联,并且第一段和第二段中的另一个与当前帧的前景相关联,(2)第一段对当前帧的背景和前景二者进行编码,并且其中,第二段提供对背景或前景的增强型的质量编码,以及(3)第一段提供对当前帧的背景和前景的不同质量的编码,并且其中,第二段提供对背景或前景的更粗略的编码的更好质量的编码。通过一个示例,当前帧是使用至少一个修改的参考帧来被重建的功能F-图片,所述至少一个修改的参考帧使用以下中的至少一个:(a)以下中的至少一个的变形技术:增益补偿、主要或全局运动补偿、以及模糊或配准补偿,以及(b)以下中的至少一个的合成技术:超分辨率、以及投影插补。在输入视频顺序中的帧被提供了参考帧和要被编码的相对应的帧之间的依赖结构,所述依赖结构具有以下中的至少一个:(i)多参考,其中,至少一个当前帧是由至少两个过去参考帧进行编码的,(ii)层次结构编码,其中,至少一个当前帧是由具有由过去参考帧、未来参考帧、或者二者进行编码的选项的F-图片的参考帧进行编码的,(iii)链式编码,其中,过去F-图片是除了任何其它编码依赖之外的另一F-图片的参考帧,以及(iv)自适应编码,其中非F-图片之间的F-图片的数量不同。所述方法可以包括隐式地对定义了第一段和第二段的段掩码或边界图进行编码,所述方法包括:将色键颜色插入在前景物体区域的矩形外部中,对矩形进行编码,并且对所述矩形进行解码,包括提取色键颜色以恢复前景物体区域和背景区域之间的边界。

一种编码器包括图像缓冲区;通信地耦合到图像缓冲区的图形处理单元,并且其包括变形分析器或合成分析器或二者;用于将像素帧划分为与当前帧中的内容相关联的至少第一段和第二段的分段器;以及用于指示哪个帧是用于段的参考帧的单元。图形处理单元可以被配置为:以输入视频顺序接收帧;在第一遍中对当前帧的第一段进行编码,其中,所述第一段与帧上示出的内容相关联,并且其中,当前帧是双向的(B-图片)或功能(F-图片)多遍图片,其中,双向和功能多遍图片二者都被提供有选项,以使用至少一个过去参考帧,至少一个未来参考帧,或二者,并且其中,当前、过去、以及未来都是相对于输入视频顺序的,并且其中,功能多遍图片具有选项,以使用由变形分析器执行的变形技术或由合成分析器执行的合成技术修改的一个或多个修改的参考帧;在至少第二遍中对与第一段不同的当前帧的至少第二段进行编码,其中,第一遍和第二遍在不同的时刻被执行,使得在每一遍期间对参考帧的使用在不同的时刻发生,并且其中,对第一段和第二段至少二者进行编码,第一段和第二段合作地用于完成对实质上整个当前帧进行实质上完全的质量编码;以及在同一时刻实例或在不同的时刻实例处将与重建段相关联的数据写到编码器比特流,其中,第一段和第二段具有至少一个不同的参考帧。

通过另一个方法,对至少另一帧进行编码在对当前帧的第一段和第二段的编码之间被至少部分地执行,其中,另一帧是P-图片,其中,另一帧的至少一部分可以被用作参考,以对第二段进行编码,并且其中另一帧是未来帧,并且其中,小于另一帧的全部可以被解码并且被用作参考,以对当前帧的第二段进行编码。第一段和第二段中的一个可以通过使用至少一个过去的参考帧来进行编码,并且第一段和第二段中的另一个可以通过使用至少一个未来的参考帧来进行编码。编码器还可以具有以下中的至少一个:(1)第一和第二段中的一个与当前帧的背景相关联,而第一和第二段的另一个与当前帧的前景相关联,(2)第一段对当前帧的背景和前景二者进行编码,而其中,第二段提供对背景或前景的增强质量编码,以及(3)第一段提供对当前帧的背景和前景的不同质量的编码,而其中,第二段提供对背景或前景的更粗略的编码的更好质量的编码。当前帧可以是使用至少一个修改的参考帧而被重建的功能F-帧,所述至少一个修改的参考帧能够使用以下中的至少一项:(a)以下中的至少一个的变形技术:增益补偿、主要或全局运动补偿,以及(b)以下中的至少一个的合成技术:超分辨率、以及投影插补。在输入视频顺序中的帧可以被提供参考帧和要被编码的相对应的帧之间的依赖结构,所述依赖结构具有以下中的至少一个:(i)多参考,其中,至少一个当前帧由至少两个过去的参考帧进行编码,(ii)层次结构编码,其中,至少一个当前帧由参考帧进行编码,所述参考帧是由具有由过去参考帧、未来参考帧、或者二者进行编码的选项的F-图片的参考帧进行编码的,(iii)链式编码,其中,过去F-图片是除了任何其它编码依赖之外的另一F-图片的参考帧,以及(iv)自适应编码,其中非F-图片之间的F-图片的数量不同。所述图形单元可以被配置为隐式地对定义了第一段和第二段的段掩码或边界图进行编码,包括:将色键颜色插入在前景物体区域的矩形外部中,对矩形进行编码,并且对所述矩形进行解码,包括提取色键颜色以恢复前景物体区域和背景区域之间的边界。

在另一示例中,至少一个机器可读介质可以包括多个指令,所述多个指令响应于在计算设备上被执行,使得计算设备执行根据上面的示例中的任何一个的方法。

在另一示例中,一种装置可以包括用于根据上面的示例中的任何一个执行方法的模块。

上面的示例可以包括特征的特定的组合。然而,这样的上面的示例不限于所述方面,并且,在各种实现中,上面的示例可以包括仅实施这样的特征的子集,实施这样的特征的不同的顺序,实施这样的特征的不同的组合,和/或实施不是明确列出的这些特征的附加的特征。例如,关于示例方法描述的所有特征可以关于示例装置、示例系统、和/或示例制品等等被实现。

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