首页> 中国专利> 用于照度补偿模式的修剪

用于照度补偿模式的修剪

摘要

用于处理视频数据的系统和技术包括用于运动矢量候选列表构造的修剪过程。要添加到运动信息候选列表的潜在运动信息候选的照度补偿标志可以包括与视频数据的块相关联的运动信息,其中,运动信息可以包括运动矢量和照度补偿标志。运动信息可以与运动信息候选列表中的存储的运动信息进行比较,其中,存储的运动信息可以包括至少一个存储的运动矢量和相关联的存储的照度补偿标志。当运动矢量与存储的运动矢量匹配时,修剪过程可以包括:不将运动矢量添加到运动信息候选列表中;以及基于照度补偿标志的值和存储的照度补偿标志的值来更新存储的照度补偿标志。

著录项

  • 公开/公告号CN113228677A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201980084167.1

  • 发明设计人 V·谢廖金;W-J·钱;M·卡切夫维茨;

    申请日2019-12-17

  • 分类号H04N19/52(20060101);H04N19/70(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人贾丽萍

  • 地址 美国加利福尼亚

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本申请与视频译码和压缩相关。更具体地,本申请涉及执行改进的局部照度补偿的系统和方法。

背景技术

许多设备和系统允许视频数据被处理和输出以供消费。数字视频数据包括大量数据,以满足消费者和视频提供者的需求。例如,视频数据的消费者期望最高质量的视频,其具有高保真度、高分辨率、高帧速率等。结果,满足这些需求所需要的大量视频数据为处理和存储视频数据的通信网络和设备带来了负担。

各种视频译码技术可以用于对视频数据进行压缩。可以根据一种或多种视频译码标准来执行视频译码。例如,视频译码标准包括高效率视频译码(HEVC)、高级视频译码(AVC)、MPEG-2第2部分编码(MPEG代表运动图像专家组)、VP9、开放媒体联盟(AOMedia)视频1(AV1)、基本视频译码(EVC)等。视频译码通常利用预测方法(例如,帧间预测、帧内预测等),预测方法利用在视频图像或序列中存在的冗余。视频译码技术的重要目标是将视频数据压缩为使用较低比特率的形式,同时避免或最小化视频质量的降级。随着不断发展的视频服务变得可用,需要具有更好进的译码效率的编码技术。

发明内容

照度补偿可以用于高效地补偿一个或多个图片之间的照度变化。运动信息候选列表可以存储运动信息,运动信息包括用于图片的一个或多个块的运动预测的运动矢量和照度补偿信息。在一些示例中,构造运动信息候选列表可以包括修剪过程,以避免将冗余信息存储在运动信息候选列表中。在一些实现中,本文描述了用于可以在构造运动信息候选列表时使用的改进的修剪过程的技术和系统。

在一些实现中,存储在运动信息候选列表中的照度补偿信息可以包括照度补偿标志。可以基于所存储的照度补偿标志的值来应用针对图片的块的照度补偿。在一些示例中,本文描述的修剪过程可以考虑要添加到运动信息候选列表的潜在运动信息候选的照度补偿标志。潜在运动信息候选可以包括与块相关联的运动信息。潜在运动信息候选的运动信息至少包括运动矢量和照度补偿标志。在一些示例中,可以将运动信息与运动信息候选列表中存储的运动信息进行比较。存储的运动信息至少包括存储的运动矢量和相关联的存储的照度补偿标志。当运动矢量与存储的运动矢量匹配时,可以不将该运动矢量添加到运动信息候选列表中,并且可以基于照度补偿标志的值和存储的照度补偿标志的值来更新存储的照度补偿标志。例如,如果照度补偿标志的值是第一值并且存储的照度补偿标志的值是第二值,则可以将存储的照度标志更新为第一值。否则,可以不更新存储的照度标志。在一些示例中,以这种方式确定是否更新存储的照度补偿标志可能带来译码效率,同时避免修剪过程中的复杂的比较技术。

根据至少一个示例,提供了一种对视频数据进行解码的方法。所述方法包括:获得包括视频数据的经编码的视频比特流。所述方法还包括:确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志。所述方法还包括:将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志。所述方法还包括:确定所述运动矢量与所述存储的运动矢量匹配。所述方法还包括:基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。

在另一示例中,提供了一种用于对视频数据进行解码的装置。所述装置包括存储器和在电路中实现的处理器。所述处理器被配置为并且能够获得包括视频数据的经编码的视频比特流。所述处理器还被配置为并且能够确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志。所述处理器还被配置为并且能够将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志。所述处理器还被配置为并且能够确定所述运动矢量与所述存储的运动矢量匹配。所述处理器还被配置为并且能够基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。

在另一示例中,提供了一种具有存储在其上的指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:获得包括视频数据的经编码的视频比特流;确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志;将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志;确定所述运动矢量与所述存储的运动矢量匹配;以及基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。

在另一示例中,提供了一种用于对视频数据进行解码的装置。所述装置包括:用于获得包括视频数据的经编码的视频比特流的单元。所述装置还包括:用于确定与所述视频数据的块相关联的运动信息的单元,所述运动信息至少包括运动矢量和照度补偿标志。所述装置还包括:用于将所述运动信息与运动信息候选列表中的存储的运动信息进行比较的单元,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志。所述装置还包括:用于确定所述运动矢量与所述存储的运动矢量匹配的单元。所述装置还包括:用于基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志的单元。

根据至少一个示例,提供了一种对视频数据进行编码的方法。所述方法包括:获得视频数据的图片的当前块。所述方法还包括:确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志。所述方法还包括:将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志。所述方法还包括:确定所述运动矢量与所述存储的运动矢量匹配。所述方法还包括:基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。该方法还包括:生成至少包括所述存储的运动信息的经编码的视频比特流。

在另一示例中,提供了一种用于对视频数据进行编码的装置。所述装置包括存储器和在电路中实现的处理器。所述处理器被配置为并且能够获得视频数据的图片的当前块。所述处理器还被配置为并且能够确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志。所述处理器还被配置为并且能够将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志。所述处理器还被配置为并且能够确定所述运动矢量与所述存储的运动矢量匹配。所述处理器还被配置为并且能够基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。所述处理器还被配置为并且能够生成至少包括所述存储的运动信息的经编码的视频比特流。

在另一示例中,提供了一种具有存储在其上的指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:获得视频数据的图片的当前块;确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志;将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志;确定所述运动矢量与所述存储的运动矢量匹配;以及基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。

在另一示例中,提供了一种用于对视频数据进行编码的装置。所述装置包括:用于获得视频数据的图片的当前块的单元。所述装置还包括:用于确定与所述视频数据的块相关联的运动信息的单元,所述运动信息至少包括运动矢量和照度补偿标志。所述装置还包括:用于将所述运动信息与运动信息候选列表中的存储的运动信息进行比较的单元,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志。所述装置还包括:用于确定所述运动矢量与所述存储的运动矢量匹配的单元。所述装置还包括:用于基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志的单元。所述装置还包括:用于生成至少包括所述存储的运动信息的经编码的视频比特流的单元。

上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面还包括:如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是第二值,则将所述存储的照度标志更新为第一值。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,所述第一值是真值,并且所述第二值是假值。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,所述第一值是假值,并且所述第二值是真值。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是所述第一值,则所述存储的照度标志不被更新。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,所述第一值是真值。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,所述第一值是假值。

上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面还包括:基于所述存储的照度补偿标志的值来确定是否将照度补偿应用于所述块,其中,如果所述存储的照度补偿标志的值是真值,则照度补偿将被应用,并且如果所述存储的照度补偿标志的值是假值,则照度补偿将不被应用。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,将照度补偿应用于所述块包括:使用块的一个或多个相邻块和用于所述块的帧间预测的参考块的一个或多个相邻块来推导用于所述块的一个或多个照度补偿参数。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,所述块的所述一个或多个相邻块包括所述块的上方相邻块或左侧相邻块中的一者或多者,并且其中,所述参考块的所述一个或多个相邻块包括所述参考块的上方相邻块或左侧相邻块中的一者或多者。

上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面还包括:基于所述存储的照度补偿标志的值是真值来将照度补偿应用于所述块;以及基于应用于所述块的所述照度补偿来重构所述块的样本。

在上述用于对视频数据进行解码的方法、装置和计算机可读介质的一些方面中,重构所述块的所述样本还包括:应用残差值。

在上述用于对视频数据进行编码的方法、装置和计算机可读介质的一些方面中,如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是第二值,则将所述存储的照度标志更新为所述第一值。

上述用于对视频数据进行编码的方法、装置和计算机可读介质的一些方面还包括:确定用于所述存储的照度补偿标志的预测值;将所述预测值与所述照度补偿标志的值进行比较;基于所述比较来生成比较标志,其中,如果所述预测值与所述照度补偿标志的值匹配,则所述比较标志被设置为第一值,或者如果预测值与所述照度补偿标志的值不匹配,则所述比较标志被设置为第二值;以及基于所述比较标志来生成所述经编码的视频比特流。

在上述用于对视频数据进行编码的方法、装置和计算机可读介质的一些方面中,基于所述比较标志来生成所述经编码的视频比特流包括:对所述比较标志应用压缩算法。

在上述用于对视频数据进行编码的方法、装置和计算机可读介质的一些方面中,用于所述存储的照度补偿标志的所述预测值是基于与所述块的对应的一个或多个相邻块相关联的一个或多个照度补偿标志的。

上述方法、装置和计算机可读介质的一些方面还包括具有用于捕获一个或多个图片的相机的移动设备。

上述方法、装置和计算机可读介质的一些方面还包括用于显示一个或多个图片的显示器。

该发明内容既不旨在标识所要求保护的主题的关键或必要特征,也不旨在单独用于确定所要求保护的主题的范围。通过参考本专利的整个说明书的适当部分、任何或所有附图以及每个权利要求,应当理解该主题。

在参考以下说明书、权利要求和附图之后,前述内容以及其它特征和实施例将变得更加显而易见。

附图说明

下面参考以下附图来详细描述本申请的说明性实施例:

图1是示出根据一些示例的编码设备和解码设备的示例的框图;

图2A是示出根据一些示例的用于合并模式的示例空间相邻运动矢量候选的概念图;

图2B是示出根据一些示例的用于高级运动矢量预测(AMVP)模式的示例空间相邻运动矢量候选的概念图;

图3A是示出根据一些示例的示例时间运动矢量预测器(TMVP)候选的概念图;

图3B是示出根据一些示例的运动矢量缩放的示例的概念图;

图4A是示出根据一些示例的用于估计用于当前译码单元的照度补偿 (IC)参数的当前译码单元的相邻样本的示例的概念图;

图4B是示出根据一些示例的用于估计用于当前译码单元的IC参数的参考块的相邻样本的示例的概念图;

图5A是示出根据一些示例的用于推导用于当前译码单元的照度补偿 (IC)参数的当前译码单元的相邻样本的示例的概念图;

图5B是示出根据一些示例的用于推导用于当前译码单元的IC参数的参考块的相邻样本的示例的概念图;

图6是示出根据一些示例的当前块的邻居重构样本和用于单向帧间预测的参考块的邻居样本的示例的概念图;

图7是示出根据一些示例的当前块的邻居重构样本和用于双向帧间预测的两个参考块的邻居样本的示例的概念图;

图8是示出根据一些示例的使用示例修剪技术的运动信息候选列表构造的概念图;

图9是示出根据一些实施例的对视频数据进行解码的过程的示例的流程图,包括使用示例修剪技术来构造运动信息候选列表;

图10是示出根据一些实施例的对视频数据进行编码的过程的示例的流程图,包括使用示例修剪技术来构造运动信息候选列表;

图11是示出根据一些示例的示例视频编码设备的框图;以及

图12是示出根据一些示例的示例视频解码设备的框图。

具体实施方式

下文提供了本公开内容的某些方面和实施例。如对于本领域技术人员将显而易见的,这些方面和实施例中的一些可以独立地应用,并且它们中的一些可以相结合地应用。在以下描述中,出于解释的目的,阐述了具体细节以便提供对本申请的实施例的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实施各个实施例。附图和描述并不旨在是限制性的。

随后的描述仅提供了示例性实施例,并且不旨在限制本公开内容的范围、适用性或配置。确切而言,对这些示例性实施例的随后描述将向本领域技术人员提供用于实现示例性实施例的可行描述。应当理解的是,在不脱离如在所附的权利要求书中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。

视频译码设备实现视频压缩技术以对视频数据高效地编码和解码。视频压缩技术可以包括应用不同的预测模式(包括空间预测(例如,帧内预测(intra-frame prediction)或帧内预测(intra-prediction))、时间预测(例如,帧间预测(inter-frame prediction)或帧间预测(inter-prediction))、层间预测(跨视频数据的不同层)、和/或其它预测技术),以减少或去除在视频序列中固有的冗余。视频编码器可以将原始视频序列的每个图片分割为矩形区域,所述矩形区域被称为视频块或译码单元(下面将更加详细地描述)。可以使用特定的预测模式来对这些视频块进行编码。

视频块可以以一种或多种方式划分为一组或多组更小的块。块可以包括译码树块、预测块、变换块或其它适当的块。除非另外指定,否则通常对“块”的引用可以指代这样的视频块(例如,如本领域普通技术人员将理解的,译码树块、译码块、预测块、变换块或其它合适的块或子块)。此外,这些块中的每个块在本文中也可以被互换地称为“单元”(例如,译码树单元(CTU)、译码单元、预测单元(PU)、变换单元(TU)等)。在一些情况下,单元可以指示被编码在比特流中的译码逻辑单元,而块可以指示过程所针对的视频帧缓冲器中的一部分。

对于帧间预测模式,视频编码器可以搜索在帧(或图片)中位于另一时间位置上的与正被编码的块类似的块,被称为参考帧或参考图片。视频编码器可以将搜索限制为与要被编码的块相距特定的空间位移。可以使用包括水平位移分量和垂直位移分量的二维(2D)运动矢量来定位最佳匹配。对于帧内预测模式,视频编码器可以基于来自同一图片内的先前编码的相邻块的数据,使用空间预测技术来形成预测块。

视频编码器可以确定预测误差。例如,可以将预测确定为在正被编码的块与预测块中的像素值之间的差。预测误差也可以被称为残差。视频编码器还可以将变换应用于预测误差(例如,离散余弦变换(DCT)或其它适当的变换)以生成变换系数。在变换之后,视频编码器可以对变换系数进行量化。经量化的变换系数和运动矢量可以使用语法元素来表示,并且与控制信息一起形成视频序列的译码表示。在一些情况下,视频编码器可以对语法元素进行熵译码,从而进一步减少需要用于其表示的比特数量。

视频解码器可以使用以上讨论的语法元素和控制信息来构造用于对当前帧进行解码的预测数据(例如,预测块)。例如,视频解码器可以将预测块和经压缩的预测误差相加。视频解码器可以通过使用量化系数对变换基函数进行加权来确定经压缩的预测误差。在经重构的帧与原始帧之间的差被称为重构误差。

在一些示例中,处理视频数据的一种或多种系统和方法涉及在基于块的视频译码中推导或估计照度补偿(IC)参数。在一些情况下,视频编码器和/或视频解码器可以执行局部照度补偿(LIC)(或照度补偿),以对一个或多个图片之间的照度(例如,明度)变化高效地译码。视频编码器和/或视频解码器可以确定用于正被编码或解码的译码块或译码单元的一个或多个IC参数(例如,偏移、一个或多个缩放因子、移位数或其它合适的IC 参数)。IC参数可以是基于多个参考块的样本、当前块的一个或多个相邻块的样本和/或其它信息来确定的。视频解码器可以利用IC参数和/或其它数据来构造用于解码当前块的预测数据。

图1是示出包括编码设备104和解码设备112的系统100的示例的框图。编码设备104可以是源设备的一部分,并且解码设备112可以是接收设备的一部分。源设备和/或接收设备可以包括电子设备,诸如移动或固定电话手机(例如,智能手机、蜂窝电话等)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视机、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、互联网协议(IP)相机、或任何其它适当的电子设备。在一些示例中,源设备和接收设备可以包括用于无线通信的一个或多个无线收发机。本文描述的编码技术适用于在各种多媒体应用中的视频编码,包括流式视频传输(例如,通过互联网)、电视广播或传输、对用于存储在数据存储介质上的数字视频的编码、对被存储在数据存储介质上的数字视频的解码、或其它应用。在一些示例中,系统100 可以支持单向或双向视频传输,以支持诸如视频会议、视频流式传输、视频回放、视频广播、游戏和/或视频电话之类的应用。

编码设备104(或编码器)可以用于使用视频译码标准或协议来对视频数据进行编码,以生成经编码的视频比特流。视频译码标准的示例包括 ITU-T H.261、ISO/IEC MPEG-1视频(visual)、ITU-T H.262或ISO/IEC MPEG-2视频、ITU-T H.263、ISO/IEC MPEG-4视频、ITU-T H.264(也被称为ISO/IEC MPEG-4AVC)(包括其可伸缩视频译码(SVC)和多视图视频译码(MVC)扩展)、以及高效率视频译码(HEVC)或ITU-T H.265。存在涉及多层视频译码的对HEVC的各种扩展,包括范围和屏幕内容译码扩展、3D视频译码(3D-HEVC)和多视图扩展(MV-HEVC)和可伸缩扩展(SHVC)。ITU-T视频译码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的视频译码联合协作小组(JCT-VC)以及3D视频译码扩展开发联合协作小组(JCT-3V)已经开发了HEVC和其扩展。

MPEG和ITU-T VCEG也已经组建了联合探索视频小组(JVET),以探索用于下一代视频译码标准的新译码工具,其被命名为通用视频译码 (VVC)。参考软件被称为VVC测试模型(VTM))。VVC的目标是提供相比于现有HEVC标准而言在压缩性能方面的显著改进,从而辅助部署更高质量的视频服务和新兴应用(例如,诸如360°全向沉浸式多媒体、高动态范围(HDR)视频等)。VP9、开放媒体联盟(AOMedia)视频1(AV1) 和基本视频译码(EVC)是本文描述的技术可以应用于其的其它视频译码标准。

可以使用诸如VTM、VVC、HEVC、AVC和/或其扩展之类的视频编解码器来执行本文描述的许多实施例。然而,本文描述的技术和系统也可以适用于其它译码标准,诸如MPEG、JPEG(或用于静止图像的其它译码标准)、VP9、AV1、其扩展、或已经可用或尚不可用或开发的其它适当的译码标准。因此,尽管可能参考特定的视频译码标准来描述本文描述的技术和系统,但是本领域普通技术人员将明白的是,不应当将该描述解释为仅适用于该特定标准。

参照图1,视频源102可以将视频数据提供给编码设备104。视频源102 可以是源设备的一部分,或者可以是除了源设备之外的设备的一部分。视频源102可以包括视频捕获设备(例如,摄像机、照相电话、视频电话等),包含被存储的视频的视频存档单元、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈送接口、用于生成计算机图形视频数据的计算机图形系统、此类源的组合、或任何其它适当的视频源。

来自视频源102的视频数据可以包括一个或多个输入图片或帧。图片或帧是静止图像,其在一些情况下是视频的一部分。在一些示例中,来自视频源102的数据可以是不作为视频的一部分的静止图像。在HEVC、VVC 和其它视频译码规范中,视频序列可以包括一系列图片。图片可以包括三个样本阵列,其被表示为SL、SCb和SCr。SL是亮度样本的二维阵列,SCb 是Cb色度样本的二维阵列,并且SCr是Cr色度样本的二维阵列。色度 (chrominance)样本在本文中也可以被称为“色度(chroma)”样本。在其它情况下,图片可以是单色的,并且可以仅包括亮度样本的阵列。

编码设备104的编码器引擎106(或编码器)对视频数据进行编码以生成经编码的视频比特流。在一些示例中,经编码的视频比特流(或“视频比特流”或“比特流”)是一系列的一个或多个经译码的视频序列。经译码的视频序列(CVS)包括一系列访问单元(AU),所述一系列访问单元从在基本层中具有随机访问点图片并且具有某些属性的AU开始直到在基本层中具有随机访问点图片并且具有某些属性的下一个AU,并且不包括该下一个AU。例如,开始CVS的随机访问点图片的某些属性可以包括等于1的 RASL标志(例如,NoRaslOutputFlag)。否则,随机访问点图片(其中RASL 标志等于0)并不开始CVS。访问单元(AU)包括一个或多个经译码的图片以及与共享相同输出时间的经译码的图片相对应的控制信息。图片的经译码的切片在比特流级别被封装为数据单元,所述数据单元被称为网络抽象层(NAL)单元。例如,HEVC视频比特流可以包括一个或多个CVS,其包括NAL单元。NAL单元中的每个NAL单元具有NAL单元报头。在一个示例中,报头对于H.264/AVC(除了多层扩展之外)为一个字节,而对于HEVC为两个字节。NAL单元报头中的语法元素采用指定的比特,并且因此对于所有种类的系统和传输层(诸如传输流、实时传输(RTP)协议、文件格式以及其它)都是可见的。

在HEVC标准中存在两类NAL单元,包括视频译码层(VCL)NAL 单元和非VCL NAL单元。VCL NAL单元包括经译码的图片数据的一个切片或切片段(下文描述),并且非VCL NAL单元包括与一个或多个经译码的图片有关的控制信息。在一些情况下,NAL单元可以被称为分组。HEVC AU包括:包含经译码的图片数据的VCL NAL单元、以及与经译码的图片数据相对应的非VCL NAL单元(如果有的话)。

NAL单元可以包含形成视频数据的译码表示的比特序列(例如,经编码的视频比特流、比特流的CVS等),诸如在视频中的图片的译码表示。编码器引擎106通过将每个图片分割为多个切片来生成图片的译码表示。一切片是独立于其它切片的,使得可以对该切片中的信息进行译码,而不依赖于来自在同一图片内的其它切片的数据。切片包括一个或多个切片段,其包括独立的切片段以及(如果存在的话)依赖于先前切片段的一个或多个从属切片段。

在HEVC中,然后将切片分割为亮度样本和色度样本的译码树块 (CTB)。亮度样本的CTB和色度样本的一个或多个CTB连同用于样本的语法一起被称为译码树单元(CTU)。CTU还可以被称为“树块”或“最大译码单元”(LCU)。CTU是用于HEVC编码的基本处理单元。CTU可以被拆分为大小不同的多个译码单元(CU)。CU包含被称为译码块(CB)的亮度和色度样本阵列。

亮度和色度CB可以被进一步拆分为预测块(PB)。PB是亮度分量或色度分量的样本块,其使用相同的运动参数来进行帧间预测或块内复制 (IBC)预测(当可用或被启用以供使用时)。亮度PB和一个或多个色度 PB连同关联的语法一起形成预测单元(PU)。对于帧间预测,运动参数集 (例如,一个或多个运动矢量、参考索引等)是在用于每个PU的比特流中用信号通知的,并且用于亮度PB和一个或多个色度PB的帧间预测。运动参数也可以被称为运动信息。CB也可以被分割为一个或多个变换块(TB)。TB表示色彩分量的样本的正方形块,其中残差变换(例如,在一些情况下,相同的二维变换)被应用于其以对预测残差信号进行译码。变换单元(TU) 表示亮度和色度样本的TB以及对应的语法元素。以下更加详细地描述变换译码。

CU的大小对应于译码模式的大小并且可以是正方形形状。例如,CU 的大小可以是8x8个样本、16x16个样本、32x32个样本、64x64个样本、或高达对应的CTU的大小的任何其它适当的大小。短语“N x N”在本文中用于指代视频块在垂直和水平维度方面的像素大小(例如,8个像素 x 8个像素)。块中的像素可以是按行和列来排列的。在一些实施例中,块在水平方向上可以不具有与垂直方向上相同数量的像素。与CU相关联的语法数据可以描述例如将CU分割为一个或多个PU。分割模式可以在CU是经帧内预测模式编码的还是经帧间预测模式编码的之间而不同。PU可以被分割为非正方形形状。与CU相关联的语法数据还可以例如描述根据CTU 将CU分割为一个或多个TU。TU可以是正方形或非正方形形状。

根据HEVC标准,可以使用变换单元(TU)来执行变换。对于不同的 CU,TU可以不同。可以基于在给定CU内的PU的大小来设定TU的大小。 TU可以具有与PU相同的大小或者小于PU。在一些示例中,可以使用被称为残差四叉树(RQT)的四叉树结构来将与CU相对应的残差样本细分为更小的单元。RQT的叶子节点可以对应于TU。与TU相关联的像素差值可以被变换以产生变换系数。然后可以由编码器引擎106对变换系数进行量化。

一旦视频数据的图片被分割为CU,编码器引擎106就使用预测模式来预测每个PU。然后从原始视频数据中减去预测单元或预测块以获得残差 (下文描述)。对于每个CU,可以使用语法数据在比特流内用信号通知预测模式。预测模式可以包括帧内预测(或图片内预测)或帧间预测(或图片间预测)。帧内预测利用在图片内在空间上相邻的样本之间的相关性。例如,使用帧内预测,每个PU是从在相同图片中的相邻图像数据进行预测的,使用例如DC预测以找到用于PU的平均值,使用平面预测以使平面表面适配PU,使用方向预测以从相邻数据进行推断,或者使用任何其它适当的预测类型。帧间预测使用在图片之间的时间相关性,以便推导出用于图像样本块的运动补偿预测。例如,使用帧间预测,每个PU是使用运动补偿预测来从在一个或多个参考图片(按照输出顺序在当前图片之前或之后)中的图像数据进行预测的。例如,可以在CU级别处作出是使用图片间预测还是使用图片内预测来对图片区域进行译码的决定。

编码器引擎106和解码器引擎116(下文更加详细地描述的)可以被配置为根据VVC进行操作。根据VVC,视频译码器(诸如编码器引擎106 和/或解码器引擎116)将图片分割为多个译码树单元(CTU)(其中,亮度样本的CTB和色度样本的一个或多个CTB,以及用于样本的语法一起被称为CTU)。视频译码器可以根据树结构(诸如四叉树-二叉树(QTBT)结构或多类型树(MTT)结构)来分割CTU。QTBT结构去除了多种分割类型的概念,诸如在HEVC的CU、PU和TU之间的区分。QTBT结构包括两个级别,其包括:根据四叉树分割而被分割的第一级别、以及根据二叉树分割而被分割的第二级别。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于译码单元(CU)。

在MTT分割结构中,可以使用四叉树分割、二叉树分割以及一种或多种类型的三叉树分割来对块进行分割。三叉树分割是其中块被分为三个子块的分割。在一些示例中,三叉树分割将块划分为三个子块,而不通过中心来划分原始块。MTT中的分割类型(例如,四叉树、二叉树和三叉树) 可以是对称的或不对称的。

在一些示例中,视频译码器可以使用单个QTBT或MTT结构来表示亮度和色度分量中的每一者,而在其它示例中,视频译码器可以使用两个或更多个QTBT或MTT结构,诸如用于亮度分量的一个QTBT或MTT结构以及用于两个色度分量的另一个QTBT或MTT结构(或者用于相应色度分量的两个QTBT和/或MTT结构)。

视频译码器可以被配置为使用按照HEVC的四叉树分割、QTBT分割、 MTT分割、或其它分割结构。出于说明的目的,本文的描述可以指代QTBT 分割。然而,应当理解的是,本公开内容的技术还可以应用于被配置为使用四叉树分割或者还使用其它类型的分割的视频译码器。

在一些示例中,图片的一个或多个切片被指派切片类型。切片类型包括I切片、P切片和B切片。I切片(帧内,可独立地解码)是图片的仅通过帧内预测来译码的切片,并且因此是可独立解码的,这是因为I切片仅需要帧内的数据来预测切片的任何预测单元或预测块。P切片(单向预测帧) 是图片的可以利用帧内预测和单向帧间预测来译码的切片。P切片内的每个预测单元或预测块是利用帧内预测或帧间预测来译码的。当应用帧间预测时,预测单元或预测块是仅通过一个参考图片来预测的,并且因此参考样本仅来自一个帧的一个参考区域。B切片(双向预测帧)是图片的可以利用帧内预测和帧间预测(例如,双向预测或单向预测)来译码的切片。可以从两个参考图片来对B切片的预测单元或预测块进行双向预测,其中每个图片贡献一个参考区域,并且对两个参考区域的样本集进行加权(例如,利用相等的权重或利用不同的权重)以产生双向预测块的预测信号。如上所解释的,一个图片的切片被独立地译码。在一些情况下,图片可以仅作为一个切片被译码。

如上所提到的,图片内预测利用在该图片内的空间相邻样本之间的相关性。存在多种帧内预测模式(也被称为“帧内模式”)。在一些示例中,亮度块的帧内预测包括35种模式,其包括平面模式、DC模式和33种角度模式(例如,对角帧内预测模式和与对角帧内预测模式邻接的角度模式)。如以下表1所示,对35种帧内预测模式进行索引。在其它示例中,可以定义更多的帧内模式,其包括可能尚未由33个角度模式表示的预测角度。在其它示例中,与角度模式相关联的预测角度可以不同于在HEVC中使用的那些预测角度。

表1–帧内预测模式和相关联的名称的规范

图片间预测使用在图片之间的时间相关性,以便推导针对图像样本块的运动补偿预测。使用平移运动模型,在先前解码的图片(参考图片)中块的位置由运动矢量(Δx,Δy)表示,其中,Δx指定参考块相对于当前块的位置的水平位移,而Δy指定参考块相对于当前块的位置的垂直位移。在一些情况下,运动矢量(Δx,Δy)可以是整数样本精确度(也被称为整数精确度),在这种情况下,运动矢量指向参考帧的整数像素网格(或整数像素采样网格)。在一些情况下,运动矢量(Δx,Δy)可以具有分数样本精确度(也被称为分数像素精确度或非整数精确度),以更加准确地捕获基础对象的运动,而不受限于参考帧的整数像素网格。运动矢量的精确度可以通过运动矢量的量化水平来表达。例如,量化水平可以是整数精确度(例如,1像素)或分数像素精确度(例如,1/4像素、1/2像素或其它像素以下的值)。当对应的运动矢量具有分数样本精确度时,将插值应用于参考图片以推导预测信号。例如,可以对在整数位置处可用的样本进行滤波(例如,使用一个或多个插值滤波器)以估计在分数位置处的值。先前解码的参考图片由针对参考图片列表的参考索引(refIdx)来指示。运动矢量和参考索引可以被称为运动参数。可以执行两种图片间预测,其包括单预测和双预测。

在使用双预测进行帧间预测的情况下,使用两个运动参数集(Δx

在使用单预测进行帧间预测的情况下,使用一个运动参数集(Δx

PU可以包括与预测过程相关的数据(例如,运动参数或其它适当的数据)。例如,当PU是使用帧内预测来编码时,PU可以包括描述用于PU的帧内预测模式的数据。作为另一示例,当PU是使用帧间预测来编码的时, PU可以包括定义用于PU的运动矢量的数据。定义用于PU的运动矢量的数据可以描述例如运动矢量的水平分量(Δx)、运动矢量的垂直分量(Δy)、用于运动矢量的分辨率(例如,整数精度、四分之一像素精度、或八分之一像素精度)、运动矢量所指向的参考图片、参考索引、用于运动矢量的参考图片列表(例如,列表0、列表1或列表C)、或其任何组合。

在使用帧内预测和/或帧间预测执行预测之后,编码设备104然后可以执行变换和量化。例如,在预测之后,编码器引擎106可以计算与PU相对应的残差值。残差值可以包括在正被译码的当前像素块(PU)与用于预测当前块的预测块(例如,当前块的预测版本)之间的像素差值。例如,在生成预测块(例如,实行帧间预测或帧内预测)之后,编码器引擎106可以通过从当前块中减去由预测单元产生的预测块来生成残差块。残差块包括像素差值集合,其对在当前块的像素值与预测块的像素值之间的差进行量化。在一些示例中,可以用二维块格式(例如,像素值的二维矩阵或阵列)来表示残差块。在这样的示例中,残差块是像素值的二维表示。

使用块变换来对在执行预测之后可能剩余的任何残差数据进行变换,块变换可以是基于离散余弦变换、离散正弦变换、整数变换、小波变换、其它适当的变换函数、或其任何组合的。在一些情况下,可以将一个或多个块变换(例如,大小32x32、16x16、8x8、4x4或其它适当的大小) 应用于每个CU中的残差数据。在一些实施例中,可以将TU用于由编码器引擎106实现的变换和量化过程。具有一个或多个PU的给定CU也可以包括一个或多个TU。如下文进一步详细描述的,残差值可以使用块变换而被变换为变换系数,并且然后可以使用TU进行量化和扫描,以产生用于熵译码的串行化变换系数。

在一些实施例中,在使用CU的PU进行帧内预测或帧间预测译码之后,编码器引擎106可以计算用于CU的TU的残差数据。PU可以包括空间域 (或像素域)中的像素数据。TU可以包括在应用块变换之后在变换域中的系数。如前所述,残差数据可以对应于在未被编码的图片的像素与对应于 PU的预测值之间的像素差值。编码器引擎106可以形成包括用于CU的残差数据的TU,并且然后可以对TU进行变换以产生用于CU的变换系数。

编码器引擎106可以执行变换系数的量化。量化通过对变换系数进行量化以减少用于表示系数的数据量来提供进一步的压缩。例如,量化可以减小与系数中的一些或所有系数相关联的比特深度。在一个示例中,具有n 比特值的系数可以在量化期间向下舍入为m比特值,其中n大于m。

一旦执行了量化,则经译码的视频比特流包括经量化的变换系数、预测信息(例如,预测模式、运动矢量、块矢量等)、分割信息以及任何其它适当的数据(诸如其它语法数据)。经译码的视频比特流的不同元素然后可以由编码器引擎106进行熵编码。在一些示例中,编码器引擎106可以利用预定义的扫描顺序来扫描经量化的变换系数,以产生可以被熵编码的串行化矢量。在一些示例中,编码器引擎106可以执行自适应扫描。在扫描经量化的变换系数以形成矢量(例如,一维矢量)之后,编码器引擎106 可以对该矢量进行熵编码。例如,编码器引擎106可以使用上下文自适应变长译码、上下文自适应二进制算术译码、基于语法的上下文自适应二进制算术译码、概率区间分割熵译码或另一种适当的熵编码技术。

如前所述,HEVC比特流包括一组NAL单元,其包括VCL NAL单元和非VCL NAL单元。VCL NAL单元包括形成经译码的视频比特流的经译码的图片数据。例如,在VCL NAL单元中存在形成经译码的视频比特流的比特序列。除了其它信息之外,非VCL NAL单元还可以包含具有与经编码的视频比特流有关的高级别信息的参数集。例如,参数集可以包括视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。参数集的目标的示例包括比特率效率、错误恢复力以及提供系统层接口。每个切片参考单个有效的PPS、SPS和VPS,以访问解码设备112可以用于对切片进行解码的信息。可以为每个参数集译码一标识符(ID),包括VPS ID、SPS ID和 PPS ID。SPS包括SPS ID和VPS ID。PPS包括PPS ID和SPS ID。每个切片报头包括PPS ID。使用这些ID,可以标识针对给定切片的有效参数集。

PPS包括适用于在给定图片中的所有切片的信息。因此,在图片中的所有切片都参考相同的PPS。在不同图片中的切片也可以参考相同的PPS。 SPS包括适用于在相同的经译码的视频序列(CVS)或比特流中的所有图片的信息。如前所述,经译码的视频序列是一系列访问单元(AU),其以在基本层中并且具有某些属性(如上所述)的随机访问点图片(例如,即时解码参考(IDR)图片或断链访问(BLA)图片或其它适当的随机访问点图片)开始,直到在基本层中具有随机访问点图片并且具有某些属性的下一个AU(或者比特流的结尾)并且不包括该下一个AU。SPS中的信息可以不在经译码的视频序列内的图片之间发生变化。经译码的视频序列中的图片可以使用相同的SPS。VPS包括适用于在经译码的视频序列或比特流内的所有层的信息。VPS包括语法结构,所述语法结构具有适用于整个经译码的视频序列的语法元素。在一些实施例中,VPS、SPS或PPS可以与经编码的比特流一起在带内发送。在一些实施例中,VPS、SPS或PPS可以在与包含经译码的视频数据的NAL单元不同的传输中在带外发送。

视频比特流还可以包括补充增强信息(SEI)消息。例如,SEI NAL单元可以是视频比特流的一部分。在一些情况下,SEI消息可能包含解码过程不需要的信息。例如,SEI消息中的信息对于解码器对比特流的视频图片进行解码而言可能不是必要的,但是解码器可以使用该信息来改善对图片(例如,经解码的输出)的显示或处理。SEI消息中的信息可以是被嵌入的元数据。在一个说明性示例中,解码器侧实体可以使用在SEI消息中的信息来改善内容的可视性。在一些情况下,某些应用标准可能强制在比特流中存在此类SEI消息,使得可以为符合该应用标准的所有设备带来质量的改善 (例如,除了许多其它示例之外,针对与帧兼容的平面立体3DTV视频格式来携带帧封装的SEI消息,其中,针对视频的每个帧来携带SEI消息,处理恢复点SEI消息,在DVB中使用泛扫描来扫描矩形SEI消息)。

编码设备104的输出110可以在通信链路120上将构成经编码的视频比特流数据的NAL单元发送给接收设备的解码设备112。解码设备112的输入114可以接收NAL单元。通信链路120可以包括由无线网络、有线网络或有线网络和无线网络的组合提供的信道。无线网络可以包括任何无线接口或无线接口的组合,并且可以包括任何适当的无线网络(例如,互联网或其它广域网、基于分组的网络、WiFi

在一些示例中,编码设备104可以将经编码的视频比特流数据存储在存储单元108中。输出110可以从编码器引擎106或从存储单元108取得经编码的视频比特流数据。存储单元108可以包括各种分布式或本地访问的数据存储介质中的任何一种。例如,存储单元108可以包括硬盘驱动器、存储盘、闪存、易失性或非易失性存储器、或用于存储经编码的视频数据的任何其它适当的数字存储介质。存储单元108还可以包括用于存储供在帧间预测中使用的参考图片的解码图片缓冲器(DPB)。在另外的示例中,存储单元108可以对应于文件服务器或可以存储由源设备生成的经编码的视频的另一中间存储设备。在这样的情况下,包括解码设备112的接收设备可以经由流式传输或下载来从存储设备访问被存储的视频数据。文件服务器可以是能够存储经编码的视频数据并且将该经编码的视频数据发送给接收设备的任何类型的服务器。示例文件服务器包括网页服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备或本地磁盘驱动器。接收设备可以通过任何标准数据连接(包括互联网连接)来访问经编码的视频数据。这可以包括适于访问被存储在文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或这两者的组合。经编码的视频数据从存储单元108的传输可以是流式传输、下载传输或其组合。

解码设备112的输入114接收经编码的视频比特流数据,并且可以将视频比特流数据提供给解码器引擎116,或者提供给存储单元118以供解码器引擎116稍后使用。例如,存储单元118可以包括用于存储供在帧间预测中使用的参考图片的DPB。包括解码设备112的接收设备可以经由存储单元108来接收要被解码的经编码的视频数据。可以根据诸如无线通信协议之类的通信标准来对经编码的视频数据进行调制,并且将其发送给接收设备。用于发送经编码的视频数据的通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,诸如局域网、广域网或诸如互联网之类的全球网络。通信介质可以包括路由器、交换机、基站、或可以用于促进从源设备到接收设备的通信的任何其它装置。

解码器引擎116可以通过熵解码(例如,使用熵解码器)并且提取构成经编码的视频数据的一个或多个经编码的视频序列的元素,从而对经编码的视频比特流数据进行解码。解码器引擎116然后可以重新缩放经编码的视频比特流数据并且对其执行逆变换。残差数据然后被传递到解码器引擎116的预测阶段。解码器引擎116然后预测像素块(例如,PU)。在一些示例中,将预测与逆变换的输出(残差数据)相加。

解码设备112可以将经解码的视频输出到视频目的地设备122,视频目的地设备122可以包括用于将经解码的视频数据显示给内容的消费者的显示器或其它输出设备。在一些方面中,视频目的地设备122可以是包括解码设备112的接收设备的一部分。在一些方面中,视频目的地设备122可以是不同于接收设备的单独设备的一部分。

在一些实施例中,视频编码设备104和/或视频解码设备112可以分别与音频编码设备和音频解码设备集成。视频编码设备104和/或视频解码设备112还可以包括用于实现上述译码技术所必需的其它硬件或软件,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、固件或其任何组合。视频编码设备104和视频解码设备112可以被集成为在相应设备中的组合编码器/解码器(编解码器)的一部分。下文参考图11描述了编码设备104 的具体细节的示例。下文参考图12描述了解码设备112的具体细节的示例。

图1中示出的示例系统仅是可以在本文中使用的一个说明性示例。用于使用本文描述的技术来处理视频数据的技术可以由任何数字视频编码和/ 或解码设备来执行。尽管一般来说,本公开内容的技术是由视频编码设备或视频解码设备来执行的,但是所述技术还可以由通常被称为“CODEC”的组合视频编码器/解码器来执行。此外,本公开内容的技术还可以由视频预处理器来执行。源设备和接收设备仅是这样的编码设备的示例,其中,源设备生成经编码的视频数据以用于传输给接收设备。在一些示例中,源设备和接收设备可以以基本上对称的方式进行操作,使得这些设备中的每个设备包括视频编码和解码组件。因此,示例系统可以支持在视频设备之间的单向或双向视频传输,例如,以用于视频流式传输、视频回放、视频广播或视频电话。

HEVC标准的扩展包括被称为MV-HEVC的多视图视频译码扩展、以及被称为SHVC的可伸缩视频译码扩展。MV-HEVC和SHVC扩展共享分层译码的概念,其中不同的层被包括在经编码的视频比特流中。经译码的视频序列中的每个层是通过唯一的层标识符(ID)来寻址的。可以在NAL 单元的报头中存在层ID,以标识NAL单元所关联的层。在MV-HEVC中,不同的层可以表示视频比特流中的相同场景的不同视图。在SHVC中,提供了以不同的空间分辨率(或图片分辨率)或不同的重构保真度来表示视频比特流的不同的可伸缩层。可伸缩层可以包括基本层(其中层ID=0)和一个或多个增强层(其中层ID=1,2,…n)。基本层可以符合HEVC的第一版本的简档,并且表示比特流中的最低可用层。与基本层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率和/或重构保真度(或质量)。增强层是分层次来组织的,并且可以依赖于(或者可以不依赖于)较低层。在一些示例中,可以使用单标准编解码器对不同的层进行译码(例如,使用HEVC、SHVC或其它译码标准对所有层进行编码)。在一些示例中,可以使用多标准编解码器对不同的层进行译码。例如,可以使用AVC对基本层进行译码,而可以使用SHVC和/或HEVC标准的MV-HEVC扩展来对一个或多个增强层进行译码。

通常,层包括VCL NAL单元集合和对应的非VCL NAL单元集合。向 NAL单元指派特定的层ID值。在层可以依赖于较低层的意义上,层可以是分层次的。层集合指代在比特流内表示的自包含的层集合,这意味着在层集合内的层在解码过程中可以依赖于在该层集合中的其它层,但是不依赖于任何其它层来解码。因此,在层集合中的各层可以形成可以表示视频内容的独立比特流。可以通过子比特流提取过程的操作来从另一比特流获得在层集合中的一组层。当解码器希望根据某些参数进行操作时,层集合可以对应于将被解码的该组层。

如上所述,对于每个块,运动信息(本文中也被称为运动参数)集合可以是可用的。运动信息集合包含用于前向预测方向和后向预测方向的运动信息。前向预测方向和后向预测方向可以是双向预测模式的两个预测方向,在这种情况下,术语“前向”和“后向”不一定具有几何含义。相反,“前向”和“后向”对应于当前图片的参考图片列表0(RefPicList0或L0) 和参考图片列表1(RefPicList1或L1)。在一些示例中,当仅有一个参考图片列表可用于图片或切片时,仅有RefPicList0是可用的,并且切片的每个块的运动信息总是前向的。

在一些示例中,在译码过程(例如,运动补偿)中使用运动矢量以及其参考索引。具有关联的参考索引的这种运动矢量被表示为运动信息的单预测集合。对于每个预测方向,运动信息可以包含参考索引和运动矢量。在一些情况下,为了简单起见,运动矢量本身可以按照假定其具有关联的参考索引的方式来引用。参考索引用于标识当前参考图片列表(RefPicList0 或RefPicList1)中的参考图片。运动矢量具有水平分量和垂直分量,其提供从当前图片中的坐标位置到由参考索引标识的参考图片中的坐标位置的偏移。例如,参考索引可以指示应当用于当前图片中的块的特定参考图片,并且运动矢量可以指示在参考图片中最佳匹配的块(与当前块最佳匹配的块)在参考图片中位于何处。

可以在视频译码标准中使用图片顺序计数(POC)来标识图片的显示顺序。尽管存在一个编码视频序列内的两个图片可能具有相同的POC值的情况,但是其通常不会发生在经译码的视频序列内。当在比特流中存在多个经译码的视频序列时,具有相同的POC值的图片在解码顺序方面可能彼此更接近。图片的POC值可以用于参考图片列表构造(如在HEVC中的参考图片集推导)以及运动矢量缩放。

在H.264/AVC中,可以以四种不同的方式来分割每个帧间宏块(MB),其包括:一个16x16 MB分区;两个16x8 MB分区;两个8x16 MB分区;以及四个8x8 MB分区。一个MB中的不同MB分区可以具有针对每个方向的不同的参考索引值(RefPicList0或RefPicList1)。在一些情况下,当 MB未被分割为四个8x8 MB分区时,其在每个方向上可以仅具有针对每个 MB分区的一个运动矢量。在一些情况下,当MB被分割为四个8x8 MB分区时,每个8x8 MB分区可以被进一步分割为子块,在这种情况下,每个子块在每个方向上可以具有不同的运动矢量。在一些示例中,存在四种不同的方式来从8x8 MB分区得到子块:一个8x8子块;两个8x4子块;两个 4x8子块;以及四个4x4子块。每个子块在每个方向上可以具有不同的运动矢量。因此,运动矢量可以以等于高于子块的级别存在。

在AVC中,对于B切片中的跳过或直接模式,可以以MB或MB分区级别来实现时间直接模式。对于每个MB分区,使用在当前块的 RefPicList1[0]中与当前MB分区同位的块的运动矢量来推导运动矢量。可以基于POC距离来对同位块中的每个运动矢量进行缩放。

在AVC中,还可以执行空间直接模式。例如,在AVC中,直接模式还可以根据空间邻居来预测运动信息。

如上所提到的,在HEVC中,切片中的最大译码单元被称为译码树块 (CTB)。CTB包含四叉树,其节点是译码单元。在HEVC主简档中,CTB 的大小范围可以从16x16到64x64。在一些情况下,可以支持8x8 CTB。译码单元(CU)可以具有与CTB相同的大小,并且小至8x8。在一些情况下,可以利用一种模式来对每个译码单元进行译码。当CU被帧间译码时,CU 可以被进一步分割为2或4个预测单元(PU),或者当进一步分割不适用时, CU可以成为仅一个PU。当在一个CU中存在两个PU时,它们可以是一半大小的矩形,或者是具有CU的1/4或3/4大小的两个矩形。

当CU被帧间译码时,针对每个PU存在一个运动信息集合。另外,可以利用唯一的帧间预测模式来对每个PU进行译码,以推导运动信息集。

对于HEVC中的运动预测,存在针对预测单元(PU)的两种帧间预测模式,包括合并模式和高级运动矢量预测(AMVP)模式。跳过被视为合并的特殊情况。在AMVP或合并模式下,可以维护针对多个运动矢量预测器的运动矢量(MV)候选列表。在合并模式下当前PU的运动矢量以及参考索引是通过从MV候选列表中提取一个候选来生成的。

在一些示例中,MV候选列表包含用于合并模式的多达五个候选以及用于AMVP模式的两个候选。在其它示例中,可以将不同数量的候选包括在用于合并模式和/或AMVP模式的MV候选列表中。合并候选可以包含运动信息集合。例如,运动信息集可以包括与两个参考图片列表(列表0和列表1)相对应的运动矢量以及参考索引。如果合并候选是通过合并索引来标识的,则参考图片被用于当前块的预测,以及确定关联的运动矢量。然而,在AMVP模式下,针对来自列表0或列表1的每个潜在预测方向,需要将参考索引连同对MV候选列表的MVP索引一起明确地用信号通知,这是因为AMVP候选仅包含运动矢量。在AMVP模式中,可以进一步细化预测运动矢量。

如上所看到的,合并候选对应于完整的运动信息集合,而AMVP候选仅包含用于特定预测方向的一个运动矢量和参考索引。可以类似地从相同的空间和时间相邻块来推导用于两种模式的候选。

在一些示例中,合并模式允许帧间预测的PU从如下的帧间预测的PU 继承相同的一个或多个运动矢量、预测方向以及一个或多个参考图片索引:该帧间预测的PU包括从一组空间上相邻的运动数据位置中选择的运动数据位置以及两个时间上同位的运动数据位置中的一个运动数据位置。对于 AMVP模式,可以相对于来自由编码器和/或解码器构造的AMVP候选列表中的一个或多个运动矢量预测器(MVP),来对PU的一个或多个运动矢量进行预测译码。在一些情况下,对于PU的单方向帧间预测,编码器和/或解码器可以生成单个AMVP候选列表。在一些情况下,对于PU的双向预测,编码器和/或解码器可以生成两个AMVP候选列表,一个使用来自前向预测方向的空间和时间相邻的PU的运动数据,以及一个使用来自后向预测方向的空间和时间相邻的PU的运动数据。

用于两种模式的候选可以从空间和/或时间相邻块来推导。例如,图2A 和图2B包括示出HEVC中的空间相邻候选的概念图。图2A示出了用于合并模式的空间相邻运动矢量(MV)候选。图2B示出了用于AMVP模式的空间相邻运动矢量(MV)候选。虽然对于合并和AMVP模式,根据块来生成候选的方法不同,但是根据用于特定PU(PU0)的相邻块来推导空间 MV候选。

在合并模式下,编码器和/或解码器可以通过考虑来自各种运动数据位置的合并候选来形成合并候选列表。例如,如图2A所示,关于在图2A中以数字0-4示出的空间上相邻的运动数据位置,可以推导出多达四个空间 MV候选。在合并候选列表中,MV候选可以按照由数字0-4所示的顺序进行排序。例如,位置和顺序可以包括:左侧位置(0)、上方位置(1)、右上方位置(2),左下方位置(3)和左上方位置(4)。

在图2B中所示的AVMP模式下,可以将相邻块分为两组:包括块0 和1的左侧组、以及包括块2、3和4的上方组。对于每个组,在相邻块中的引用与用信号通知的参考索引所指示的参考图片相同的参考图片的潜在候选具有最高优先级,以被选择以形成该组的最终候选。可能的是,所有的相邻块都不包含指向同一参考图片的运动矢量。因此,如果无法找到这样的候选,则可以将第一可用候选进行缩放以形成最终候选,因此可以补偿时间距离差。

图3A和图3B包括示出HEVC中的时间运动矢量预测的概念图。将时间运动矢量预测器(TMVP)候选(如果启用并且可用的话)添加到MV 候选列表中,其在空间运动矢量候选之后。针对TMVP候选的运动矢量推导的过程对于合并和AMVP模式两者而言是相同的。然而,在一些情况下,在合并模式下针对TMVP候选的目标参考索引可以被设置为零或者可以根据相邻块的参考索引来推导。

用于TMVP候选推导的主要块位置是在同位PU外部的右下块(如在图3A中被示为块“T”),以补偿对用于生成空间相邻候选的上方和左侧块的偏差。然而,如果该块位于当前CTB(或LCU)行外部或者运动信息是不可用的,则可以将该块替换为PU的中心块。从以切片级别指示的同位图片的同位PU来推导用于TMVP候选的运动矢量。类似于AVC中的时间直接模式,可以对TMVP候选的运动矢量进行运动矢量缩放,这可以被执行以补偿距离差。

在HEVC标准中涵盖了运动预测的其它方面。例如,涵盖了合并模式和AMVP模式的若干其它方面。一个方面包括运动矢量缩放。关于运动矢量缩放,假定运动矢量的值是与在呈现时间中的图片的距离成比例的。运动矢量将两个图片(参考图片和包含运动矢量的图片(即包含图片))进行关联。当运动矢量被用于预测其它运动矢量时,基于图片顺序计数(POC) 值来计算包含图片和参考图片的距离。

对于要被预测的运动矢量,其关联的包含图片和参考图片两者可以是不同的。因此,(基于POC)计算新的距离。而且,基于这两个POC距离来对运动矢量进行缩放。对于空间相邻候选,用于两个运动矢量的包含图片是相同的,而参考图片是不同的。在HEVC中,运动矢量缩放适用于针对空间和时间相邻候选的TMVP和AMVP两者。

运动预测的另一方面包括人工运动矢量候选生成。例如,如果运动矢量候选列表是不完整的,则生成人工运动矢量候选并且将其插入到列表的末尾处,直到获得所有列表为止。在合并模式下,存在两种类型的人工MV 候选:仅针对B切片来推导的组合候选;以及仅用于AMVP的零候选(如果第一种类型没有提供足够的人工候选的话)。对于已经在候选列表中并且具有必要的运动信息的每对候选而言,通过参考在列表0中的图片的第一候选的运动矢量和参考在列表1中的图片的第二候选的运动矢量的组合,来推导双向组合运动矢量候选。

存在各种相关的运动预测技术。一种预测技术是局部照度补偿(LIC) 或亮度补偿。已经提出了用于HEVC的照度补偿。例如,在JCTVC-C041 中,提出了基于分区的照度补偿(PBIC)。与启用和/或禁用WP并且在切片级别用信号通知WP参数(如下所述)的加权预测(WP)不同,PBIC 启用和/或禁用照度补偿(IC),并且在预测单元(PU)级别用信号通知IC 参数,以处理局部照度变化。在JVET-B0023中,基于块的IC被扩展到CU,类似于HEVC中的PU,CU变成QTBT结构中的携带运动信息的基本单元。

与下面更详细地描述的加权预测(WP)类似,在IC中使用缩放因子 (也通过a表示)和偏移(也通过b表示),并且移位数被固定为6。对用于每个PU的IC标志进行译码以指示IC是否应用于当前PU。如果IC应用于PU,则将IC参数集(例如,a和b)用信号通知给解码器并且将其用于运动补偿。在一些示例中,为了节省花费在IC参数上的比特,色度分量与亮度分量共享缩放因子,并且使用固定偏移128。

在3D-HEVC中,针对视图间预测启用了IC。与显式地用信号通知IC 参数的WP和PBIC不同,IC基于当前CU的相邻样本和参考块的相邻样本来推导IC参数。IC仅适用于2Nx2N分割模式。对于AMVP模式,针对从视图间参考图片预测的每个CU,用信号通知一个IC标志。对于合并模式,为了节省比特,仅当PU的合并索引不等于0时才用信号通知IC标志。在一些情况下,IC不适用于仅从时间参考图片预测的CU。

关于IC参数的推导,在等式(1)中示出了在视图间预测中使用的线性IC模型:

p(i,j)=a*r(i+dv

这里,PU

为了估计用于PU的参数a和b,使用如图4A和图4B所示的两个像素集。第一像素集在图4A中示出,并且包括在当前CU(包含当前PU的CU)的左侧列和上方行中的可用重构相邻像素。第二像素集在图4B中示出,并且包括当前CU的参考块的对应相邻像素。通过使用当前PU的视差矢量来找到当前CU的参考块。

设Rec

在一些情况下,在线性模型中仅使用a,并且b始终被设置为等于0。在一些情况下,仅使用b,并且a始终被设置为等于1。

在HEVC中,支持加权预测(WP),在这种情况下,在运动补偿中使用了缩放因子(由a表示)、移位数量(由s表示)和偏移(由b表示)。假设在参考图片的位置(x,y)上的像素值为p(x,y),则p’(x,y)=((a*p(x,y)+(1 <<(s-1)))>>s)+b代替p(x,y)来用作运动补偿中的预测值。

当启用WP时,对于当前切片的每个参考图片,用信号通知标志以指示WP是否适用于参考图片。如果WP适用于一个参考图片,则向解码器发送WP参数集(即,a、s和b),并且所述WP参数集用于从参考图片的运动补偿。在一些示例中,为了灵活地打开/关闭针对亮度和色度分量的 WP,分别用信号通知用于亮度和色度分量的WP标志和WP参数。在WP 中,可以针对在一个参考图片中的所有像素使用一个相同的WP参数集。

在JEM中,提出了局部照度补偿(LIC)方法。可以在JVET-G1001 中找到对JEM中的LIC的描述。关于JVET中的LIC,LIC是基于使用缩放因子a和偏移b的用于照度变化的线性模型。对于每个帧间模式译码的译码单元(CU),自适应地启用或禁用这样的LIC。当LIC应用于CU时,采用最小二乘法,以通过使用当前CU的相邻样本以及其对应的参考样本来推导参数a和b。例如,如图5A和图5B所示,使用CU的经子采样(2:1 子采样)的相邻样本和参考图片中的对应像素(由当前CU或子CU的运动信息来标识)。在一些示例中,LIC参数被推导并且分别应用于每个预测方向。在一些示例中,可以针对CU用信号通知照度补偿标志以指示LIC是否适用。在一些示例中,诸如当利用合并模式对CU进行译码时,可以以类似于合并模式中的运动信息复制的方式从相邻块复制照度补偿标志。

根据LIC,在帧间预测中以线性形式a*p+b补偿(样本或像素的)亮度值,其中,p是帧间预测中的样本,a是缩放因子,并且b是偏移。缩放因子a和偏移b是使用当前块的相邻样本和用于帧间预测的参考块的相邻样本而推导的参数(例如,如图5A和图5B所示)。例如,可以首先使用针对经帧间译码的块而用信号通知的运动信息来推导帧间预测,然后可以推导参数a和b,并且然后可以执行预测细化。通过将当前块的相邻重构样本和用于帧间预测的参考块的相邻样本之间的差最小化,可以推导参数。在一些情况下,可以使用线性最小二乘法和/或任何其它合适的最小化方法来执行最小化。

图6是示出当前块602的邻居重构样本和用于单向帧间预测的参考块 604的邻居样本的示例的图。可以针对当前块602来对运动矢量MV进行译码,其中,MV可以包括对参考图片列表的参考索引和/或用于标识参考块 604的其它运动信息。例如,MV可以包括水平分量和垂直分量,其提供从当前图片中的坐标位置到由参考索引所标识的参考图片中的坐标的偏移。

图7是示出当前块702的邻居重构样本以及用于双向帧间预测的第一参考块704和第二参考块706的邻居样本的示例的图。在这种情况下,可以针对当前块702来对两个运动矢量MV0和MV1进行译码,以分别标识第一参考块704和第二参考块706。

照度补偿(IC)参数可以包括偏移、一个或多个权重、移位数和/或其它适当的照度补偿参数。权重也可以被称为缩放因子。可以推导用于帧间预测(例如,单向帧间预测)的IC参数。对于双向帧间预测,一个或多个权重可以包括用于第一参考图片的第一权重和用于第二参考图片的第二权重。

在一些实现中,可以使用线性最小二乘回归来估计双向预测运动补偿中的LIC参数。在一个示例中,可以通过求解成本函数来完成对LIC参数的推导。例如,成本函数可以包括使用最小二乘函数。例如,可以使用来自当前块的一个或多个相邻块的样本子集来推导LIC参数。可以使用来自当前块的相邻块的样本来找到当前块702中的可能的照度变化,因为可以假设在相邻样本(在相邻块中)和当前样本(在当前块702中)之间存在强相关性。例如,可以假设共享相同运动信息的当前块和相邻块应当包含非常相似的照度值。使用相邻样本的另一个原因是,当前块尚未被预测,并且可能没有从当前块使用的像素,在这种情况下,可以在执行当前块的运动补偿时使用相邻样本(其已经被重构)。

在一个说明性示例中,可以使用顶部邻居、左侧邻居、或顶部邻居和左侧邻居两者。例如,在推导用于当前块702的LIC参数时,可以使用来自用于当前块702的顶部邻居和左侧邻居(Ni)的样本子集、来自第一参考块704的顶部邻居和左侧邻居(P0)的像素子集、以及来自第二参考块 706的顶部邻居和左侧邻居(P1)的像素子集。相邻块P0和P1的样本可以包括与相邻块N

在一些示例中,可以执行一种以上的推导方法来推导LIC参数。用于在编码器侧推导LIC参数的帧间预测引擎或模块的示例可以包括在图11中所示的预测处理单元41、运动估计单元42、和/或运动补偿单元44。用于在解码器侧推导LIC参数的帧间预测引擎或模块的示例可以包括在图11中所示的预测处理单元81和/或运动补偿单元82。在这样的示例中,编码器或其它发送器侧设备可以在序列级别(例如,在VPS和/或SPS中)、在图片级别(例如,在PPS中)、在切片级别(例如,在切片报头中)、在CTU 级别、在CU级别、在PU级别、或其组合、或其它适当的信令级别,用信号向解码器通知将使用哪种推导方法。

在一些示例中,最小二乘求解可以是基于邻居的多条线和/或列(例如,顶部邻居、左侧邻居、顶部和左侧邻居两者、或其它邻居)来计算的。线和/或列的示例编号(在一些情况下,以及典型数字)包括一、二、四或任何其它适当的行和/或列的编号。当使用相邻块的多条线和/或列时,可以修改上述成本函数。例如,如果块是16x16块(16行像素乘16列像素),并且如果使用来自顶部相邻块的两条线和来自左侧相邻块的两列,则相邻块 N

在一些情况下,使用整数定位的样本(或像素)来推导LIC参数。在一些情况下,使用分数定位的样本来推导LIC参数。在一些情况下,可以使用整数定位的样本和分数定位的样本两者。例如,移动对象在图片之间的真实位移是连续的,并且往往不遵循视频序列中的图片的采样网格。因为如此,分数精度可以代替整数精度而用于运动矢量,从而导致视残差误差降低以及频译码器的译码效率提高。如果运动矢量具有分数值,则需要相应地对参考块进行插值。例如,用于当前块的样本的运动矢量可以指向参考块中的分数像素位置。分数像素位置指代在块中的分数样本位置(非整数位置)的样本(例如,亮度样本)。需要通过插值来生成这些位置。在使用分数定位的样本的一个示例中,可以使用参考块邻居(例如,P0或P1) 的插值或滤波版本来减小在推导LIC参数时来自经重构的像素的量化误差。可以使用一个或多个插值滤波器来生成模板的这种插值版本。

在一些示例中,仅需要使用亮度分量来联合优化用于Ref0和Ref1的 LIC参数。替代地,在推导双向预测LIC参数期间,可以考虑亮度和色度分量两者。编码器可以向解码器(在参数集中、SEI消息或其他适当的信令机制中)用信号通知是将LIC应用到色度分量中的一者或多者还是仅将LIC 应用于亮度分量。

在一些示例中,可以在块级别在编码器和解码器之间用信号通知一个或多个标志,以指示在块的预测中是否已经应用特定工具(例如,LIC、合并模式以及其它模式)。例如,可以将合并模式标志与用于当前块的运动信息一起存储。可以基于合并模式标志,从运动信息推断是否已经使用合并模式对当前块进行译码。除了合并模式标志之外,还可以使用照度补偿标志来指示已经在应用照度补偿的情况下对CU进行译码。当利用合并模式对CU进行译码时,可以以类似于合并模式中的运动信息复制的方式从相邻块复制照度补偿标志。否则,如果未利用合并模式(例如,替代地使用AMVP 模式)对CU进行译码,则可以用信号通知用于CU的照度补偿标志(或“LIC”标志)标志以指示LIC是否适用。

如前所述,可以在运动预测中使用一个或多个运动信息候选列表。例如,可以针对合并模式和/或AMVP模式维护运动矢量(MV)候选列表。 MV候选列表可以包括多个MV候选,其中要在MV候选列表中包括的候选数量可以是基于运动预测模式(例如,合并模式或AMVP模式)的。MV 候选列表中的每个MV候选可以包括一个或多个运动矢量、参考索引和/或诸如LIC标志之类的其它运动信息。

在一些示例中,当将新的候选添加或插入到MV候选列表中时,可能涉及修剪过程。例如,在一些情况下,来自不同块的MV候选可能包括相同的信息。在这样的情况下,在MV候选列表中存储多个MV候选的重复运动信息可能导致在MV候选列表中的冗余以及效率降低。在一些示例中,修剪过程可以将在MV候选列表中的冗余消除或最小化。例如,修剪过程可以包括将要被添加到MV候选列表中的潜在MV候选与已经被存储在 MV候选列表中的MV候选进行比较。如果基于该比较找到匹配,则可以避免将潜在MV候选添加到MV候选列表中。

如前所述,运动矢量候选可以包括不同类型的运动信息,诸如运动矢量、参考索引、LIC标志等。在一些示例中,修剪过程中的运动信息比较可以包括将MV候选中包括的所有运动信息与MV候选列表中存储的MV候选的对应运动信息进行比较。在一些示例中,该比较可以被限制为对一种或多种类型的运动信息进行比较,而一些类型的运动信息可以被排除在比较之外。

例如,在修剪过程中使用的运动信息比较的一些实现中,LIC标志可以被包括在用于比较的运动信息中。例如,除了将潜在MV候选的运动矢量与MV候选列表中存储的MV候选的运动矢量进行比较之外,还可以将潜在MV候选的LIC标志与MV候选列表中存储的MV候选的相应LIC标志进行比较。在这样的示例中,如果除了潜在MV候选和存储的MV候选之一之间的运动矢量的匹配之外还存在LIC标志的匹配,则潜在MV候选可以被修剪或排除而不被添加到MV候选列表中。

在修剪过程中使用的运动信息比较的其它实现中,可以从用于比较的运动信息中排除LIC标志。例如,可以将潜在MV候选的运动矢量与MV 候选列表中存储的MV候选的运动矢量进行比较,但是可以从与MV候选列表中存储的MV候选的相应LIC标志的比较中排除潜在MV候选的LIC 标志。在这样的示例中,当潜在MV候选和存储的MV候选之一之间的运动矢量存在匹配时,潜在MV候选可以被修剪或排除而不被添加到MV候选列表中,不管潜在MV候选的LIC标志是否与在运动矢量中产生匹配的存储的MV候选的LIC标志匹配。从用于修剪的运动信息比较中排除LIC 标志可以简化比较过程,因为比较更少的信息。然而,尽管从运动信息比较中排除LIC标志可能存在效率增益,但是存在性能降级的可能性,如下文所解释的。

在从用于修剪的运动信息比较中排除LIC标志的实现的说明性示例中,基于潜在MV候选的运动矢量产生与MV候选列表中先前存储的MV候选的运动矢量的匹配,可以排除潜在MV候选而不添加到MV候选列表中。在该示例中,潜在MV候选的LIC标志可能与存储的MV候选的LIC标志不匹配。在一个示例中,不匹配可以是基于存储的MV候选的LIC标志是假值并且潜在MV候选的LIC标志是真值的。由于潜在MV候选被修剪,因此存储的MV候选被保留在MV候选列表中,其中其相关联的LIC标志具有假值。然而,修剪相关联的LIC标志具有真值的潜在MV候选可能意味着,即使确定照度补偿适用于潜在MV候选,该确定也将不被注册在MV 候选列表中。这可能导致这样的场景:其中,当应用照度补偿可能已经产生更好的性能时,使用存储的MV候选应用于块的运动预测可以不包括照度补偿。因此,存在从用于修剪的运动信息比较中排除LIC标志可能导致性能降级的情况。

本文描述的系统和技术包括对照度补偿的改进。根据一些方面,描述了用于评估要添加到MV候选列表的MV候选的示例修剪过程。在一些示例中,修剪过程可以考虑要添加到MV候选列表的潜在MV候选的LIC标志,同时避免上述性能降级。

图8是示出使用示例修剪技术的运动信息候选列表构造的图。运动信息候选列表800被示出为包括若干存储的运动信息候选801a、801b至801n,其包括存储的运动矢量802a、802b至802n以及相关联的存储的LIC标志 804a、804b至804n。运动信息候选列表800可以用于在合并模式、AMVP 模式或其它帧间预测模式下的一个或多个块的运动预测,如前所述。运动信息候选列表800可以由编码设备和解码设备单独地生成。例如,当对块进行编码时,运动信息候选列表800可以由编码设备生成,并且当对块进行解码时,运动信息候选列表800可以由解码设备生成。

例如,在合并模式中,存储的运动信息候选(例如,运动信息候选801a) 的存储的运动矢量(例如,运动矢量802a)可以用作块的运动矢量,其中可以基于存储的运动信息候选的相关联的存储的LIC标志(例如,与运动矢量802a相关联的LIC标志804a)来应用用于块的照度补偿。在AMVP 模式的情况下,存储的运动信息候选(例如,运动信息候选801b)的存储的运动矢量(例如,运动矢量802b)可以用于预测块的运动矢量,其中可以基于存储的运动信息候选的相关联的存储的LIC标志(例如,与运动矢量802b相关联的LIC标志804b)来应用用于块的照度补偿。在一些示例中,运动信息候选列表800可以用于存储时间运动矢量预测器(TMVP)候选,其中可以在已经添加了用于合并或AMVP模式的空间运动矢量候选之后将一个或多个TMVP候选添加到运动信息候选列表800中,如上所述。

因此,运动信息候选列表800中存储的运动信息候选(例如,运动信息候选801a)的存储的运动矢量(例如,存储的运动矢量802a)可以用于使用任何合适的预测技术(例如,在合并模式、AMVP模式或其它模式中) 对视频数据的块的运动预测。对应地,针对块的照度补偿可以是基于运动信息候选的相关联的存储的LIC标志(例如,LIC标志804a)的。在一些示例中,如果存储的LIC标志具有真值,则可以将照度补偿应用于块,或者如果存储的LIC标志具有假值,则可以避免照度补偿并且不针对块执行照度补偿。如果应用了照度补偿,则可以如上文参考图7所讨论的或者使用任何其它合适的技术来计算用于块的一个或多个LIC参数。

在一些示例中,可以通过利用一个或多个运动信息候选填充运动信息候选列表800来创建运动信息候选列表800。如前所述,当向运动信息候选列表800中添加潜在的运动信息候选时,可以实现修剪过程,以避免存储的运动信息候选之间的冗余。例如,修剪过程可以用于确定是否可以将潜在运动信息候选810添加到运动信息候选列表800中。如图8所示,潜在运动信息候选810可以包括运动矢量812和相关联的LIC标志814。在一些示例中,潜在运动信息候选810中包括的运动信息(诸如运动矢量812和相关联的LIC标志814)可以与视频数据的块相关联。例如,运动矢量812 和LIC标志814可以用于基于将潜在运动信息候选810添加到运动信息候选列表800中来对视频数据的块进行运动预测。在一些示例中,潜在运动信息候选810的运动矢量812和相关联的LIC标志814可以被添加到经过如下修剪过程的运动信息候选列表800中。

在示例实现中,可以将潜在运动信息候选810的运动矢量812与运动信息候选列表800的一个或多个存储的运动矢量802a-802n进行比较以确定是否存在匹配。例如,可以将存储的运动矢量802a的水平位移(Δx)和垂直位移(Δy)(指示相对于当前块的位置而言参考块的位置)与潜在运动信息候选810的运动矢量812的水平位移(Δx)和垂直位移(Δy)进行比较。

在一些示例中,潜在运动信息候选810可以包括参考索引或与其相关联,其中,如前所述,参考索引可以指示可以用于视频数据的块的运动预测的特定参考图片。类似地,一个或多个存储的运动矢量802a-802n可以包括对应的一个或多个参考索引或与其相关联。在一些示例中,将潜在运动信息候选810与一个或多个存储的运动矢量802a-802n进行比较可以包括:将潜在运动信息候选810的参考索引与一个或多个存储的运动矢量 802a-802n的相应的一个或多个参考索引进行比较。

在一些示例中,潜在运动信息候选810还可以包括图片顺序计数(POC) 或与其相关联,其中,如前所述,POC可以用于标识图片的显示顺序、参考图片列表构造、参考图片集的推导等。类似地,一个或多个存储的运动矢量802a-802n可以包括对应的一个或多个POC或与其相关联。在一些示例中,将潜在运动信息候选810与一个或多个存储的运动矢量802a-802n 进行比较可以包括:将潜在运动信息候选810的POC与一个或多个存储的运动矢量802a-801n的相应的一个或多个POC进行比较。

在各种示例中,将潜在运动信息候选810与一个或多个存储的运动矢量802a-802n进行比较可以包括:比较任何相关运动信息,其中运动信息可以包括运动矢量、参考索引、POC等。在一些示例中,如果相关运动信息的比较揭示出潜在运动信息候选810的运动矢量812与一个或多个存储的运动矢量802a-802n中的任何一个都不匹配,则不将潜在运动信息候选810 视为要修剪的候选。在确定潜在运动信息候选810不被视为要修剪的候选的这样的示例中,可以将潜在运动信息候选810添加到运动信息候选列表 800中。

另一方面,如果比较揭示出潜在运动信息候选810的运动矢量812与一个或多个存储的运动矢量802a-802n中的一个匹配,则将潜在运动信息候选810视为要修剪的候选。在说明性示例中,潜在运动信息候选810的运动矢量812可以与存储的运动信息候选的存储的运动矢量802k匹配,其中存储的LIC标志804k可以与存储的运动矢量801k相关联。在该示例中,可以修剪潜在运动信息候选810。例如,由于在匹配的存储的运动矢量802k 已经存在于运动信息候选列表800中的情况下,运动矢量812将是冗余的,因此可以不将潜在运动信息候选810插入到运动信息候选列表800中。然而,在示例方面中,即使可以修剪潜在运动信息候选810,也可以基于存储的LIC标志804k的值和潜在运动信息候选810的LIC标志814的值来更新相关联的存储的LIC标志804k。例如,如果存储的LIC标志804k的值和 LIC标志814的值不同,则可以更新相关联的存储的LIC标志804k,但是如果存储的LIC标志804k的值和LIC标志814的值相同,则可以不更新相关联的存储的LIC标志804k。

在一个示例中,如果潜在运动信息候选810的LIC标志814是第一值,则可以将存储的运动信息候选的存储的LIC标志804k从存储的第二值更新为第一值(其中第一值与第二值不同)。例如,如果第一值是真值并且第二值是假值,则如果LIC标志814是真值,则将存储的LIC标志804k(从先前存储的假值)更新为真值。类似地,如果LIC标志814是假值并且LIC标志804k的存储的第二值是真值,则将存储的LIC标志804k(从先前存储的真值)更新为假值。因此,当存储的LIC标志804k的存储的值与LIC标志814的值不匹配时,可以更新存储的LIC标志804k的存储的值。

另一方面,如果存储的LIC标志804k的存储的值与LIC标志814的值匹配,则不更新存储的LIC标志804k的存储的值。例如,如果存储的LIC 标志804k和LIC标志814的存储的值两者都是真值,则LIC标志804k被保留为其存储的真值。类似地,如果存储的LIC标志804k和LIC标志814 的存储的值两者都是假值,则存储的LIC标志804k被保留在其存储的假值。

可以理解,当运动矢量802k与运动矢量812匹配时(即,当可以修剪潜在运动信息候选810时),可以使用逻辑或函数来实现基于存储的LIC标志804k的值和LIC标志814的值来更新LIC标志804k的上述过程。例如,可以使用以下伪代码表示法来说明更新存储的LIC标志804k的过程:If(运动矢量802k==运动矢量812),则存储的LIC标志804k=存储的LIC标志 804k||LIC标志814。因此,可能使用适当的功能块来更新存储的LIC标志 804k。

在示例方面中,可以在两个设备之间(例如,从编码设备向解码设备) 用信号通知运动信息。在一些示例中,在两个设备之间用信号通知的运动信息可以包括一个或多个LIC标志。在一些示例中,可以与用于执行块的运动预测的运动信息一起用信号通知一个或多个LIC标志。

在一些示例中,如上所述,可以将一个或多个存储的LIC标志804a-804n 与存储的运动矢量802a-802n一起包括在运动信息候选列表800中。在运动信息候选列表用于块的运动预测(以及在适用的情况下,用于照度补偿) 的这样的示例中,可以在编码器和解码器处单独地构造运动信息候选列表。可以在编码器和解码器之间用信号通知参考运动信息候选列表的信息。

例如,在合并模式中,可以从编码器用信号向解码器通知存储的运动信息候选801a-801n的索引值(例如,在语法结构中,诸如图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)、切片报头、在视频比特流中或与视频比特流分开发送的补充增强信息(SEI)消息、和/或其它信令)。在一些示例中,也可以从编码器用信号向解码器通知LIC标志804a-804n。解码器可以构造运动信息候选列表并且使用用信号通知的参考或索引来从所构造的运动信息候选列表获得一个或多个运动信息候选以用于运动预测。例如,解码设备112可以构造与运动信息候选列表800类似的运动信息候选列表,并且使用来自索引位置的运动矢量和LIC标志来进行块的运动预测。

在AMVP模式的情况下,除了参考或索引之外,还可以将差或残值作为增量用信号通知。在一些示例中,也可以在AMVP模式下从编码器用信号向解码器通知LIC标志804a-804n。例如,如先前针对AMVP模式所描述的,解码器可以构造一个或多个运动信息候选列表,并且在执行块的运动预测时,将增量值应用于使用用信号通知的索引值连同LIC信息(其中包括LIC标志)一起获得的一个或多个运动信息候选。因此,可以针对AMVP 模式在编码器和解码器之间用信号通知与运动信息候选列表中的运动信息候选相关的信息,包括与可以存储在运动信息候选列表中的一个或多个LIC 标志相关的信息。

如将理解的,在两个设备之间用信号通知信息可能具有相关联的成本。因此,可能希望在可能的情况下提高信令效率并降低成本。在一些示例中,减少用信号通知的信息中的冗余可以导致用信号通知更少的信息和对应的成本节约。在一些示例中,切换功率可以是与信令信息相关联的成本,其中在不同的语法元素、比特或符号之间频繁地切换可以增加切换功率。因此,降低切换功率也有助于降低信令成本。在一些示例中,可以使用以下技术中的一种或多种技术来降低与用信号通知LIC标志(在合并模式、 AMVP模式或其它预测模式中)相关联的信令成本。

在一些示例中,可以使用LIC标志预测器来改进LIC标志的信令。在一些示例中,可以使用LIC标志预测器来做出关于LIC标志将具有真值还是假值的预测。可以将从LIC标志预测器获得的预测值(真或假)与相关联的LIC标志的实际值进行比较,以产生比较标志。以这种方式,可以针对用信号通知的每个LIC标志来生成比较标志。在一些示例中,可以用信号通知一个或多个比较标志,以代替对应的一个或多个LIC标志,其中一个或多个比较标志中的每个比较标志包括关于相关联的LIC标志的值是否与其预测值匹配的指示。例如,比较标志的值为“1”可以指示相关联的LIC 标志的值与其预测值匹配,而比较标志的值为“0”可以指示相关联的LIC 标志的值与其预测值不匹配。

用信号通知比较标志而不是LIC标志可以提高信令效率。例如,如果 LIC预测器被配置为以高精度水平进行预测,则LIC标志值与其相应的预测值匹配的发生率将很高。这意味着用信号通知具有值1的比较标志的发生率将很高。在这样的情况下,可以使用诸如熵译码或其它译码算法之类的压缩技术来高效地用信号通知多个重复模式,例如正在用信号通知值“1”的比特流。因此,基于预测值与LIC标志值匹配来用信号通知比较标志可以带来信令效率。

在一些示例中,可以使用比较标志来用信号通知与运动信息候选列表 800的一个或多个存储的LIC标志804a-804n相关的信息。例如,可以应用LIC标志预测来预测存储的LIC标志804a-804n的值。预测可以产生相应的预测值,其可以与存储的LIC标志804a-804n的实际值进行比较。可以基于比较来生成对应数量的比较标志,其中针对存储的LIC标志804a-804n中的每一个生成一个比较标志。可以用信号通知比较标志而不是与存储的LIC标志804a-804n相关的信令信息。例如,可以从编码设备104用信号向解码设备112通知经编码的比特流,其中比较标志可以被包括在经编码的比特流中。通过应用熵译码或其它压缩算法,可以提高与涉及存储的LIC标志 804a-804n的信令信息相关联的信令效率。

在一些示例中,可以使用一个或多个其它LIC标志来获得用于LIC标志的LIC标志预测。例如,用于视频数据的当前块的LIC标志的LIC标志预测可以是基于当前块的对应的一个或多个相邻块的一个或多个LIC标志的。例如,当前块的一个或多个相邻块可以包括直接邻居,诸如当前快的左侧邻居、上方邻居、右侧邻居或下方邻居。

在一些示例中,如果当前块的邻居块中的至少一个具有被设置为第一值的相关联的LIC标志,则用于当前块的LIC标志的LIC标志预测器也可以被设置为第一值。例如,如果第一值是真值,则如果当前块的直接邻居中的至少一个具有被设置为真值的相关联的LIC标志,则用于当前块的LIC 标志的LIC标志预测值可以被设置为真值。否则,用于当前块的LIC标志的LIC标志预测值可以被设置为第二值,诸如假值。

在一些示例中,可以确定具有被设置为第一值的其相关联的LIC标志的相邻块的数量的计数。可以通过将该计数与预定门限进行比较来获得用于当前块的LIC标志的LIC标志预测。例如,如果第一值是真值,则可以确定具有被设置为真值的其相关联的LIC标志的相邻块的数量的计数,并且可以将该计数与预定门限进行比较。例如,在当前块的LIC标志预测中考虑当前块的四个直接相邻块的情况下,可以将预定门限设置为二、三或四。对应地,如果具有被设置为真值的其LIC标志的相邻块的数量大于或等于预定门限,则用于当前块的LIC标志的LIC标志预测可以是真值。否则,用于当前块的LIC标志的LIC标志预测值可以被设置为第二值,诸如假值。

在一些示例中,可以基于可以用于预测当前块的运动信息的运动信息候选来确定当前块的LIC标志的LIC标志预测。例如,一个或多个运动信息候选(诸如运动信息候选列表800中存储的运动信息候选)可以用于当前块的运动预测。如前所述,运动信息候选可以包括相应的存储的LIC标志804a-804n连同运动矢量802a-802n。在这样的示例(或其它示例)中,运动信息候选的LIC标志被称为候选LIC标志。在一些示例中,用于当前块的LIC标志的LIC标志预测器可以被设置为用于当前块的运动预测的运动信息候选的候选LIC标志的值。例如,如果候选LIC标志是真值,则当前块的LIC标志的预测值可以被设置为真值。否则,如果候选LIC标志是假值,则当前块的LIC标志的预测值可以被设置为假值。

在一些示例中,可以使用用于对LIC标志的基于上下文的建模的技术来改进用信号通知LIC标志。例如,当从编码设备用信号向解码设备通知 LIC标志时,可以对LIC标志进行上下文译码,或者可以将其它基于上下文的建模应用于LIC标志。在一些示例中,对LIC标志的基于上下文的建模可以包括向LIC标志指派上下文。在一些示例中,所指派的上下文可以用于基于上下文的译码和信令,而不是用信号通知LIC标志本身。例如,可以使用上下文译码技术(诸如上下文自适应可变长度译码、上下文自适应二进制算术译码、基于语法的上下文自适应二进制算术译码、概率间隔分割熵译码或另一种合适的熵编码技术)来对要用信号通知的一个或多个 LIC标志的上下文进行译码。可以用信号通知使用基于上下文的译码技术进行译码的上下文以提高信令效率。

在一些示例中,可以使用基于上下文的译码来对当前块的LIC标志进行译码。例如,可以基于当前块的一个或多个相邻块的LIC标志值来指派用于LIC标志的上下文。例如,当前块可以具有四个直接相邻块,诸如左侧邻居、上方邻居、右侧邻居和下方邻居。在一个示例中,如果相邻块中的至少一个具有被设置为第一值的相关联的LIC标志,则可以将第一上下文指派给当前块的LIC标志,否则可以将第二上下文指派给当前块的LIC 标志。例如,如果相邻块中的至少有一个具有被设置为真值的相关联的LIC 标志,则可以将与该真值相关联的第一上下文指派给当前块的LIC标志,否则可以将与假值相关联的第二上下文指派给当前块的LIC标志。

在一些示例中,可以确定其相关联的LIC标志具有第一值的相邻块的数量的计数。可以将该计数与预定义门限进行比较,并且用于当前块的LIC 标志的上下文可以是基于该比较的。例如,如果该计数超过预定义门限,则可以将第一上下文指派给当前块的LIC标志,否则可以将第二上下文指派给当前块的LIC标志。

在一些示例中,可以基于当前块的大小来指派当前块的LIC标志的上下文。例如,可以基于一个或多个尺寸(诸如当前块的宽度、当前块的高度、当前块的面积(等于宽度乘以高度)或其它尺寸)来确定当前块的大小。在一些示例中,如果当前块的面积小于或等于预定义值,则可以将第一上下文指派给LIC标志,或者如果当前块的面积大于预定义值,则可以将第二上下文指派给LIC标志。例如,预定义值可以包括门限值N,其中 N可以被设置为诸如32或另一值之类的值。

图9是示出通过使用运动信息候选列表来对视频数据进行解码的过程 900的示例的流程图。在框902处,过程900包括:获得包括视频数据的经编码的视频比特流。在一些示例中,视频数据可以包括经编码的视频数据 (例如,在经编码的视频比特流中),诸如当过程900由解码设备执行时。视频数据可以包括多个图片,并且图片可以被分为多个块,如前所述。视频数据还可以包括用于图片和/或块的运动信息,运动信息可以用于执行运动补偿。

在904处,过程900包括:确定与视频数据的块相关联的运动信息,运动信息至少包括运动矢量和照度补偿标志。例如,图8的潜在运动信息候选810可以包括与视频数据的块相关联的运动信息,其中,潜在运动信息候选810包括运动矢量812和LIC标志814。

在906处,过程900包括:将运动信息与运动信息候选列表中的存储的运动信息进行比较,存储的运动信息包括存储的运动矢量和存储的照度补偿标志。例如,如先前所讨论的,运动信息候选列表800可以包括一个或多个存储的运动矢量802a-802n连同相关联的存储的LIC标志804a-804n。将潜在运动信息候选810添加到运动信息候选列表800中可以受到修剪。在修剪过程的示例实现中,可以将潜在运动信息候选810与运动信息候选列表800中的存储的运动信息进行比较。例如,一个或多个存储的运动矢量802a-802n可以包括具有相关联的存储的LIC标志804k的存储的运动矢量802k。在一些示例中,比较过程可以包括:将潜在运动信息候选810中包括的运动信息与存储的运动信息进行比较,存储的运动信息包括具有相关联的存储的LIC标志804k的存储的运动矢量802k。

在908处,过程900包括:确定运动矢量与存储的运动矢量匹配。例如,如果潜在运动信息候选810的运动矢量812与存储的运动矢量802k匹配,则可以修剪潜在运动信息候选810。在可以修剪潜在运动信息候选810 的示例中,可以确定运动矢量812与存储的运动矢量802k匹配。

在910处,过程900包括:基于照度补偿标志的值和存储的照度补偿标志的值来确定是否更新存储的照度补偿标志。例如,可以基于存储的LIC 标志804k的值和潜在运动信息候选810的LIC标志814的值来更新运动信息候选列表800中的存储的LIC标志804k。

在一些示例中,更新存储的照度补偿标志可以包括:如果照度补偿标志的值是第一值并且存储的照度补偿标志的值是第二值,则将存储的照度标志更新为第一值。例如,在第一值是真值并且第二值是假值的情况下,如果LIC标志814的值是真值,则可以将存储的LIC标志804k从先前存储的假值更新为真值。类似地,在第一值是假值并且第二值是真值的情况下,如果LIC标志814的值是假值,则可以将存储的LIC标志804k从先前存储的真值更新为假值。

在一些示例中,如果照度补偿标志的值是第一值并且存储的照度补偿标志的值是第一值,则不更新存储的照度标志。例如,如果存储的LIC标志804k的值与潜在运动信息候选810的LIC标志814的值相同,则不更新运动信息候选列表800中的存储的LIC标志804k。例如,在第一值是真值的情况下,如果存储的LIC标志804k的值是真值并且LIC标志814是真值,则不更新运动信息候选列表800中的存储的LIC标志804k。类似地,在第一值是假值的情况下,如果存储的LIC标志804k的值是假值并且LIC标志 814是假值,则不更新运动信息候选列表800中的存储的LIC标志804k。

在一些示例中,可以基于存储的照度补偿标志的值来确定是否将照度补偿应用于块,其中,如果存储的照度补偿标志的值是真值,则将应用照度补偿;并且如果存储的照度补偿标志的值是假值,则将不应用照度补偿。例如,如果存储的LIC标志804k的值(基于如上所述地被更新或未被更新) 是真值,则可以将照度补偿应用于块,否则照度补偿可能不适用于块。

在一些示例中,将照度补偿应用于块可以包括:使用块的一个或多个相邻块和用于块的帧间预测的参考块的一个或多个相邻块来推导用于块的一个或多个照度补偿参数。例如,如先前解释的,(样本或像素的)亮度值可以在帧间预测中以线性形式a*p+b进行补偿,其中p是帧间预测中的样本,a是比例因子,并且b是偏移。比例因子a和偏移b是可以使用当前块的相邻样本和参考块的相邻样本推导出的参数(例如,如图5A和图5B所示)。在一些示例中,当前块的一个或多个相邻块可以包括当前块的上方相邻块或左侧相邻块中的一个或多个,并且参考块的一个或多个相邻块可以包括参考块的上方相邻块或左侧相邻块中的一个或多个。

图10是示出使用运动信息候选列表来对视频数据进行编码的过程 1000的示例的流程图。在框1002处,过程1000包括:获得视频数据的图片的当前块。视频数据可以包括未经编码的视频数据。视频数据可以包括多个图片,并且图片可以被分为多个块,如前所述。过程1000可以确定用于图片和/或块的运动信息,运动信息可以用于执行运动补偿。

在1004处,过程1000包括:确定与视频数据的块相关联的运动信息,运动信息至少包括运动矢量和照度补偿标志。例如,图8的潜在运动信息候选810可以包括与视频数据的块相关联的运动信息,其中,潜在运动信息候选810包括运动矢量812和LIC标志814。

在1006处,过程1000包括:将运动信息与运动信息候选列表中的存储的运动信息进行比较,存储的运动信息包括存储的运动矢量和存储的照度补偿标志。例如,如先前所讨论的,运动信息候选列表800可以包括一个或多个存储的运动矢量802a-802n连同相关联的存储的LIC标志 804a-804n。将潜在运动信息候选810添加到运动信息候选列表800中可以受到修剪。在修剪过程的示例实现中,可以将潜在运动信息候选810与运动信息候选列表800中的存储的运动信息进行比较。例如,一个或多个存储的运动矢量802a-802n可以包括具有相关联的存储的LIC标志804k的存储的运动矢量802k。在一些示例中,比较过程可以包括:将潜在运动信息候选810中包括的运动信息与存储的运动信息进行比较,存储的运动信息包括具有相关联的存储的LIC标志804k的存储的运动矢量802k。

在1008处,过程1000包括:确定运动矢量与存储的运动矢量匹配。例如,如果潜在运动信息候选810的运动矢量812与存储的运动矢量802k 匹配,则可以修剪潜在运动信息候选810。在可以修剪潜在运动信息候选 810的示例中,可以确定运动矢量812与存储的运动矢量802k匹配。

在1010处,过程1000包括:基于照度补偿标志的值和存储的照度补偿标志的值来确定是否更新存储的照度补偿标志。例如,可以基于存储的 LIC标志804k的值和潜在运动信息候选810的LIC标志814的值来更新运动信息候选列表800中的存储的LIC标志804k。

在一些示例中,更新存储的照度补偿标志可以包括:如果照度补偿标志的值是第一值并且存储的照度补偿标志的值是第二值,则将存储的照度标志更新为第一值。例如,在第一值是真值并且第二值是假值的情况下,如果LIC标志814的值是真值,则可以将存储的LIC标志804k从先前存储的假值更新为真值。类似地,在第一值是假值并且第二值是真值的情况下,如果LIC标志814的值是假值,则可以将存储的LIC标志804k从先前存储的真值更新为假值。

在一些示例中,如果照度补偿标志的值是第一值并且存储的照度补偿标志的值是第一值,则不更新存储的照度标志。例如,如果存储的LIC标志804k的值与潜在运动信息候选810的LIC标志814的值相同,则不更新运动信息候选列表800中的存储的LIC标志804k。例如,在第一值是真值的情况下,如果存储的LIC标志804k的值是真值并且LIC标志814是真值,则不更新运动信息候选列表800中的存储的LIC标志804k。类似地,在第一值是假值的情况下,如果存储的LIC标志804k的值是假值并且LIC标志 814是假值,则不更新运动信息候选列表800中的存储的LIC标志804k。

在1012处,过程1000包括:生成至少包括存储的运动信息的经编码的视频比特流。例如,图11的编码设备104可以生成并且用信号通知包括存储的运动信息的经编码的视频比特流。在一些示例中,可以使用上述用于提高信令效率的一种或多种技术来改进用信号通知经编码的视频比特流。

例如,LIC标志预测器可以用于改进LIC标志(诸如一个或多个存储的LIC标志804a-804n)的信令。在一些示例中,可以确定用于存储的照度补偿标志(诸如存储的LIC标志804k)的预测值,并且可以将预测值与存储的LIC标志804k的值进行比较。可以基于该比较来生成比较标志,其中,如果预测值与照度补偿标志的值匹配,则将比较标志设置为第一值,或者如果预测值与照度补偿标志的值不匹配,则将比较标志设置为第二值。在一些示例中,可以基于比较标志来生成经编码的视频比特流。例如,可以使用用于运动信息候选列表800的一个或多个存储的LIC标志804a-804n 的类似过程来生成一个或多个比较标志,并且比较标志可以替换经编码的比特流中的存储的LIC标志804a-804n。通过应用熵译码或其它压缩算法,可以提高与用信号通知存储的LIC标志804a-804n相关联的信令效率。

在一些实现中,本文描述的过程(或方法)可以由计算设备或装置(例如,在图1中所示的系统100)来执行。例如,这些过程可以由在图1和图 11中所示的编码设备104、另一视频源侧设备或视频传输设备、在图1和图12中所示的解码设备112、和/或另一客户端侧设备(例如,播放器设备、显示器或任何其它客户端侧设备)来执行。在一些情况下,计算设备或装置可以包括处理器、微处理器、微型计算机和/或被配置为执行本文描述的过程的步骤的设备的其它组件。在一些示例中,计算设备或装置可以包括被配置为捕获包括视频帧的视频数据(例如,视频序列)的相机。在一些示例中,捕获视频数据的相机或其它捕获设备是与计算设备分开的,在这种情况下,计算设备接收或获得所捕获的视频数据。计算设备还可以包括被配置为传送视频数据的网络接口。网络接口可以被配置为传送基于互联网协议(IP)的数据或其它类型的数据。在一些示例中,计算设备或装置可以包括用于显示输出视频内容(例如,视频比特流的图片的样本)的显示器。

可以关于逻辑流程图来描述这些过程,逻辑流程图的操作表示可以用硬件、计算机指令或其组合来实现的一系列操作。在计算机指令的背景下,所述操作表示被存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不旨在被解释为限制,并且可以以任何顺序和/或并行地组合任何数量的所描述的操作以实现这些过程。

另外,这些过程可以在被配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为在一个或多个处理器上共同执行的代码 (例如,可执行指令、一个或多个计算机程序、或一个或多个应用),通过硬件来实现,或其组合。如上所提到,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读存储介质或机器可读存储介质可以是非暂时性的。

本文讨论的译码技术可以在示例视频编码和解码系统(例如,系统100) 中实现。在一些示例中,系统包括源设备,源设备提供稍后要由目的地设备解码的经编码的视频数据。具体地,源设备经由计算机可读介质将视频数据提供给目的地设备。源设备和目的地设备可以包括多种设备中的任何一种,包括台式计算机、笔记本计算机(即膝上型计算机)、平板计算机、机顶盒、电话手机(例如,所谓的“智能”手机)、所谓的“智能”板、电视机、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些情况下,源设备和目的地设备可以被配备用于无线通信。

目的地设备可以经由计算机可读介质接收要被解码的经编码的视频数据。计算机可读介质可以是能够将经编码的视频数据从源设备移动到目的地设备的任何类型的介质或设备。在一个示例中,计算机可读介质可以是用于使得源设备能够将经编码的视频数据直接实时地发送给目的地设备的通信介质。可以根据诸如无线通信协议之类的通信标准来对经编码的视频数据进行调制,并且将其发送给目的地设备。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,例如,局域网、广域网或诸如互联网之类的全球网络。通信介质可以包括路由器、交换机、基站、或可以用于促进从源设备到目的地设备的通信的任何其它装置。

在一些示例中,可以将经编码的数据从输出接口输出到存储设备。类似地,可以通过输入接口从存储设备存取经编码的数据。存储设备可以包括各种分布式或本地存取的数据存储介质中的任何一种,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器、或用于存储经编码的视频数据的任何其它适当的数字存储介质。在另外的示例中,存储设备可以对应于文件服务器或另一中间存储设备,其可以存储由源设备生成的经编码的视频。目的地设备可以经由流式传输或下载来从存储设备存取被存储的视频数据。文件服务器可以是能够存储经编码的视频数据并且将该经编码的视频数据发送给目的地设备的任何类型的服务器。示例文件服务器包括网页服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备或本地磁盘驱动器。目的地设备可以通过任何标准数据连接(包括互联网连接)来存取经编码的视频数据。这可以包括适于存取被存储在文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或这两者的组合。经编码的视频数据从存储设备的传输可以是流式传输、下载传输或其组合。

本公开内容的技术不一定限于无线应用或设置。所述技术可以被应用于视频译码,以支持多种多媒体应用中的任何一种,例如,空中电视广播、有线电视传输、卫星电视传输、互联网流式视频传输(例如,基于HTTP 的动态自适应流传输(DASH))、被编码到数据存储介质上的数字视频、对被存储在数据存储介质上的数字视频的解码、或其它应用。在一些示例中,系统可以被配置为支持单向或双向视频传输,以支持诸如视频流式传输、视频回放、视频广播和/或视频电话之类的应用。

在一个示例中,源设备包括视频源、视频编码器和输出接口。目的地设备可以包括输入接口、视频解码器和显示设备。源设备的视频编码器可以被配置为应用本文公开的技术。在其它示例中,源设备和目的地设备可以包括其它组件或布置。例如,源设备可以从诸如外部相机之类的外部视频源接收视频数据。同样,目的地设备可以与外部显示设备对接,而不是包括集成显示设备。

上文的示例系统仅是一个示例。用于并行地处理视频数据的技术可以由任何数字视频编码和/或解码设备来执行。尽管一般而言,本公开内容的技术是由视频编码设备来执行的,但是所述技术还可以由通常被称为“CODEC”的视频编码器/解码器来执行。此外,本公开内容的技术还可以由视频预处理器来执行。源设备和目的地设备仅是这样的译码设备的示例:其中,源设备生成经编码的视频数据以用于传输给目的地设备。在一些示例中,源设备和目的地设备可以以基本上对称的方式操作,使得这些设备中的每一者包括视频编码和解码组件。因此,示例系统可以支持在视频设备之间的单向或双向视频传输,例如,用于视频流式传输、视频回放、视频广播或视频电话。

视频源可以包括视频捕获设备,例如,摄像机、包含先前捕获的视频的视频存档单元、和/或用于从视频内容提供商接收视频的视频馈送接口。作为另外的替代方式,视频源可以生成基于计算机图形的数据作为源视频,或者生成实时视频、存档视频和计算机生成的视频的组合。在一些情况下,如果视频源是摄像机,则源设备和目的地设备可以形成所谓的照相电话或视频电话。然而,如上所述,在本公开内容中描述的技术通常可以适用于视频译码,并且可以被应用于无线和/或有线应用。在每种情况下,所捕获的、预捕获的或计算机生成的视频都可以由视频编码器进行编码。然后,可以通过输出接口将经编码的视频信息输出到计算机可读介质上。

如所提到的,计算机可读介质可以包括诸如无线广播或有线网络传输之类的临时介质、或者诸如硬盘、闪存驱动器、压缩光盘、数字多功能光盘、蓝光光盘之类的存储介质(即非暂时性存储介质)、或其它计算机可读介质。在一些示例中,网络服务器(未示出)可以例如经由网络传输从源设备接收经编码的视频数据,并且将经编码的视频数据提供给目的地设备。类似地,诸如光盘冲压设施之类的介质生产设施的计算设备可以从源设备接收经编码的视频数据,并且制造包含经编码的视频数据的光盘。因此,在各个示例中,计算机可读介质可以被理解为包括各种形式的一个或多个计算机可读介质。

目的地设备的输入接口从计算机可读介质接收信息。计算机可读介质的信息可以包括由视频编码器定义的语法信息(其也被视频解码器使用),语法信息包括描述块和其它编码单元(例如,图片组(GOP))的特性和/ 或处理的语法元素。显示设备将经解码的视频数据显示给用户,并且可以包括各种显示设备中的任何一种,诸如阴极射线管(CRT)、液晶显示器 (LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一种类型的显示设备。已经描述了本申请的各个实施例。

在图11和图12中分别示出了编码设备104和解码设备112的具体细节。图11是示出可以实现在本公开内容中描述的技术中的一种或多种技术的示例编码设备104的框图。编码设备104可以例如生成本文描述的语法结构(例如,VPS、SPS、PPS或其它语法元素的语法结构)。编码设备104 可以执行对视频切片内的视频块的帧内预测和帧间预测译码。如前所述,帧内编码至少部分地依赖于空间预测以减少或去除在给定视频帧或图片内的空间冗余。帧间编码至少部分地依赖于时间预测以减少或去除在视频序列的相邻或周围帧内的时间冗余。帧内模式(I模式)可以指代若干种基于空间的压缩模式中的任何一种。诸如单向预测(P模式)或双向预测(B模式)之类的模式可以指代若干种基于时间的压缩模式中的任何一种。

编码设备104包括分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41包括运动估计单元42、运动补偿单元44和帧内预测处理单元46。对于视频块重构,编码设备104还包括逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63旨在表示一个或多个环路滤波器,诸如解块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管在图11中将滤波器单元63示为环路内滤波器,但是在其它配置中,滤波器单元63可以被实现为环路后滤波器。后处理设备57可以对由编码设备104生成的经编码的视频数据执行额外的处理。在一些情况下,本公开内容的技术可以由编码设备104来实现。然而,在其它情况下,本公开内容的技术中的一种或多种技术可以由后处理设备57来实现。

如图11所示,编码设备104接收视频数据,并且分割单元35将数据分割为视频块。这种分割还可以包括例如根据LCU和CU的四叉树结构来分割为切片、切片段、砖片(tile)或其它较大的单元,以及视频块分割。编码设备104总体上示出了对要被编码的视频切片内的视频块进行编码的组件。切片可以被划分为多个视频块(并且可能被划分为被称为砖片的视频块集合)。预测处理单元41可以基于误差结果(例如,译码率和失真水平等)来为当前视频块选择多种可能的译码模式之一,例如,多种帧内预测译码模式之一或多种帧间预测译码模式之一。预测处理单元41可以将所得到的帧内或帧间编码块提供给求和器50以生成残差块数据,并且提供给求和器62以重构编码块以用作参考图片。

在预测处理单元41内的帧内预测处理单元46可以相对于在与要被编码的当前视频块相同的帧或切片中的一个或多个相邻块,来执行当前块的帧内预测译码,以提供空间压缩。在预测处理单元41内的运动估计单元42 和运动补偿单元44相对于一个或多个参考图片中的一个或多个预测块来执行对当前视频块的帧间预测译码,以提供时间压缩。

运动估计单元42可以被配置为根据用于视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可以将序列中的视频切片指定为P 切片、B切片或GPB切片。运动估计单元42和运动补偿单元44可以是高度集成的,但是出于概念性目的而被分别示出。由运动估计单元42执行的运动估计是生成运动矢量的过程,该运动矢量估计针对视频块的运动。运动矢量例如可以指示在当前视频帧或图片内的视频块的预测单元(PU)相对于在参考图片内的预测块的位移。

预测块是被发现在像素差方面与要被编码的视频块的PU紧密匹配的块,其可以通过绝对差之和(SAD)、平方差之和(SSD)或其它差度量来确定。在一些示例中,编码设备104可以计算用于被存储在图片存储器64 中的参考图片的整数以下的像素位置的值。例如,编码设备104可以对四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值进行插值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索,并且以分数像素精度输出运动矢量。

运动估计单元42通过将在经帧间编码的切片中的视频块的PU的位置与参考图片的预测块的位置进行比较,来计算针对PU的运动矢量。可以从第一参考图片列表(列表0)或第二参考图片列表(列表1)中选择参考图片,这两个参考图片列表中的每一者标识被存储在图片存储器64中的一个或多个参考图片。运动估计单元42将所计算出的运动矢量发送给熵编码单元56和运动补偿单元44。

由运动补偿单元44执行的运动补偿可以涉及基于通过运动估计而确定的运动矢量来取得或生成预测块,可能对像素以下的精度执行插值。在接收到针对当前视频块的PU的运动矢量时,运动补偿单元44可以在参考图片列表中定位运动矢量所指向的预测块。编码设备104通过从正被编码的当前视频块的像素值中减去预测块的像素值来形成像素差值,从而形成残差视频块。像素差值形成针对该块的残差数据,并且可以包括亮度差分量和色度差分量两者。求和器50表示执行这种减法运算的一个或多个组件。运动补偿单元44还可以生成与视频块和视频切片相关联的语法元素,以供解码设备112在对视频切片的视频块进行解码时使用。

如上所述,帧内预测处理单元46可以对当前块进行帧内预测,作为对由运动估计单元42和运动补偿单元44执行的帧间预测的替代方式。具体地,帧内预测处理单元46可以确定要用于对当前块进行编码的帧内预测模式。在一些示例中,帧内预测处理单元46可以例如在单独的编码过程期间使用各种帧内预测模式来对当前块进行编码,并且帧内预测处理单元46可以从被测试的模式中选择合适的帧内预测模式来使用。例如,帧内预测处理单元46可以使用针对各种被测试的帧内预测模式的率失真分析来计算率失真值,并且可以在被测试的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常确定在编码块与被编码以产生编码块的原始的未被编码块之间的失真(或误差)量、以及用于产生编码块的比特速率(即比特数量)。帧内预测处理单元46可以根据针对各种编码块的失真和速率来计算比率,以确定哪种帧内预测模式表现出针对该块的最佳率失真值。

在任何情况下,在为块选择帧内预测模式之后,帧内预测处理单元46 可以将指示针对块选择的帧内预测模式的信息提供给熵编码单元56。熵编码单元56可以对指示所选择的帧内预测模式的信息进行编码。编码设备104 可以在所发送的比特流配置数据中包括用于各种块的编码上下文的定义以及对要用于这些上下文中的每个上下文的最可能的帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示。比特流配置数据可以包括多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也被称为码字映射表)。

在预测处理单元41经由帧间预测或帧内预测生成用于当前视频块的预测块之后,编码设备104通过从当前视频块中减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个TU中,并且被应用于变换处理单元52。变换处理单元52使用变换(诸如离散余弦变换(DCT) 或概念上类似的变换)来将残差视频数据变换为残差变换系数。变换处理单元52可以将残差视频数据从像素域转换到变换域(诸如频域)。

变换处理单元52可以将所得到的变换系数发送给量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程可以减小与这些系数中的一些或所有系数相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54然后可以执行对包括经量化的变换系数的矩阵的扫描。替代地或另外,熵编码单元56可以执行该扫描。

在量化之后,熵编码单元56对经量化的变换系数进行熵编码。例如,熵编码单元56可以执行上下文自适应变长译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码 (SBAC)、概率区间分割熵(PIPE)译码或另一种熵编码技术。在由熵编码单元56进行熵编码之后,可以将经编码的比特流发送给解码设备112,或者将其存档以供稍后传输或者由解码设备112取得。熵编码单元56还可以对用于正被编码的当前视频切片的运动矢量和其它语法元素进行熵编码。

逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换,以重构像素域中的残差块,以供稍后用作参考图片的参考块。运动补偿单元44 可以通过将残差块加上在参考图片列表内的参考图片之一的预测块来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于经重构的残差块,以计算用于运动估计的整数以下的像素值。求和器62将经重构的残差块加到由运动补偿单元44产生的经运动补偿的预测块上,以产生用于存储在图片存储器64中的参考块。参考块可以由运动估计单元42和运动补偿单元44用作参考块,以对随后的视频帧或图片中的块进行帧间预测。

以这种方式,图11的编码设备104表示被配置为执行本文描述的技术中的任何技术(包括上文关于图9和/或图10描述的过程)的视频编码器的示例。在一些情况下,本公开内容的技术中的一些技术也可以由后处理设备57来实现。

图12是示出示例解码设备112的框图。解码设备112包括熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包括运动补偿单元82和帧内预测处理单元84。在一些示例中,解码设备112可以执行通常与关于来自图12的编码设备104所描述的编码阶段相反的解码阶段。

在解码过程期间,解码设备112接收由编码设备104发送的经编码的视频比特流,其表示经编码的视频切片的视频块和相关联的语法元素。在一些实施例中,解码设备112可以从编码设备104接收经编码的视频比特流。在一些实施例中,解码设备112可以从网络实体79(例如,服务器、媒体感知网络元素(MANE)、视频编辑器/拼接器、或被配置为实现上述技术中的一种或多种技术的其它这种设备)接收经编码的视频比特流。网络实体79可以包括或者可以不包括编码设备104。在网络实体79将经编码的视频比特流发送给解码设备112之前,网络实体79可以实现在本公开内容中描述的技术中的一些技术。在一些视频解码系统中,网络实体79和解码设备112可以是单独设备的部分,而在其它情况下,关于网络实体79所描述的功能可以由包括解码设备112的相同设备来执行。

解码设备112的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量和其它语法元素。熵解码单元80将运动矢量和其它语法元素转发给预测处理单元81。解码设备112可以接收在视频切片级别和/或视频块级别的语法元素。熵解码单元80可以处理和解析在诸如VPS、SPS和PPS之类的更多参数集中的固定长度语法元素和可变长度语法元素两者。

当视频切片被编码为经帧内编码(I)的切片时,预测处理单元81的帧内预测处理单元84可以基于用信号通知的帧内预测模式以及来自当前帧或图片的先前解码的块中的数据,来生成用于当前视频切片的视频块的预测数据。当视频帧被编码为经帧间编码(即,B、P或GPB)的切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量以及其它语法元素来产生用于当前视频切片的视频块的预测块。可以从在参考图片列表内的参考图片之一产生预测块。解码设备112可以基于被存储在图片存储器92中的参考图片,使用默认构造技术来构造参考帧列表,即列表0和列表1。

运动补偿单元82通过解析运动矢量和其它语法元素来确定用于当前视频切片的视频块的预测信息,并且使用该预测信息来产生用于正在被解码的当前视频块的预测块。例如,运动补偿单元82可以使用参数集中的一个或多个语法元素来确定用于对视频切片的视频块进行编码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB 切片)、用于针对该切片的一个或多个参考图片列表的构造信息、用于该切片的每个经帧间编码的视频块的运动矢量、用于该切片的每个经帧间编码的视频块的帧间预测状态、以及用于对当前视频切片中的视频块进行解码的其它信息。

运动补偿单元82还可以基于插值滤波器来执行插值。运动补偿单元82 可以使用在视频块的编码期间由编码设备104使用的插值滤波器来计算针对参考块的整数以下的像素的插入的值。在这种情况下,运动补偿单元82 可以根据所接收的语法元素来确定由编码设备104使用的插值滤波器,并且可以使用插值滤波器来产生预测块。

逆量化单元86对在比特流中提供并且由熵解码单元80解码的经量化的变换系数进行逆量化或解量化。逆量化过程可以包括使用由编码设备104 针对视频切片中的每个视频块计算出的量化参数来确定量化程度,以及同样地确定应当被应用的逆量化度。逆变换处理单元88将逆变换(例如,逆 DCT或其它适当的逆变换)、逆整数变换或概念上类似的逆变换过程应用于变换系数,以便在像素域中产生残差块。

在运动补偿单元82基于运动矢量和其它语法元素生成用于当前视频块的预测块之后,解码设备112通过将来自逆变换处理单元88的残差块与由运动补偿单元82生成的相应预测块相加以形成经解码的视频块。求和器90 表示执行这种求和运算的一个或多个组件。如果需要的话,还可以使用环路滤波器(在译码环路中或在译码环路之后)来使像素过渡平滑,或者以其它方式提高视频质量。滤波器单元91旨在表示一个或多个环路滤波器,诸如解块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管在图12中将滤波器单元91示为环路中滤波器,但是在其它配置中,滤波器单元91可以被实现为环路后滤波器。然后将给定帧或图片中的经解码的视频块存储在图片存储器92中,图片存储器92存储用于随后运动补偿的参考图片。图片存储器92还存储经解码的视频,以供稍后在显示设备(诸如在图1中所示的视频目的地设备122)上呈现。

以这种方式,图12的解码设备112表示被配置为执行本文描述的技术中的任何技术(包括上文关于图9和/或图10描述的过程)的视频解码器的示例。

如本文所使用的,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备、以及能够存储、包含或携带指令和/或数据的各种其它介质。计算机可读介质可以包括数据可以被存储在其中并且不包括以下各项的非暂时性介质:无线地或者在有线连接上传播的载波和/ 或暂时性电子信号。非暂时性介质的示例可以包括但不限于:磁盘或磁带、诸如压缩光盘(CD)或数字多功能光盘(DVD)之类的光学存储介质、闪存、存储器或存储器设备。计算机可读介质可以具有被存储在其上的代码和/或机器可执行指令,代码和/或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容,来耦合到另一代码段或硬件电路。可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何适当的手段来传递、转发或发送信息、自变量、参数、数据等。

在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。

在以上描述中提供了具体细节以提供对本文提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解的是,可以在没有这些具体细节的情况下实施这些实施例。为了解释清楚,在一些情况下,本文的技术可以被呈现为包括包含如下的功能块的单独的功能块,这些功能块包括设备、设备组件、以软件体现的方法中的步骤或例程、或者硬件和软件的组合。除了在各图中所示和/或本文描述的组件之外,还可以使用额外的组件。例如,电路、系统、网络、过程和其它组件可以以框图形式被示为组件,以便不会在不必要的细节上模糊这些实施例。在其它情况下,公知的电路、过程、算法、结构和技术可能被示为不具有不必要的细节,以便避免模糊这些实施例。

上文可能将各个实施例描述为过程或方法,该过程或方法被描绘为流程图、流程示意图、数据流程图、结构图或框图。虽然流程图可以将操作描述为顺序的过程,但是这些操作中的许多操作可以并行或同时执行。另外,可以重新排列操作的次序。过程在其操作完成后被终止,但是可能具有未被包括在图中的额外步骤。过程(process)可以对应于方法、函数、过程(procedure)、子例程、子程序等。当过程对应于函数时,其终止可以对应于该函数返回到调用函数或主函数。

根据上述示例的过程和方法可以使用计算机可执行指令来实现,计算机可执行指令被存储在计算机可读介质中或者以其它方式可从计算机可读介质得到。这样的指令可以包括例如指令或数据,指令或数据使得通用计算机、专用计算机或处理设备执行或者以其它方式将其配置为执行特定功能或特定的一组功能。可以通过网络访问所使用的计算机资源的部分。计算机可执行指令可以是例如二进制文件、诸如汇编语言之类的中间格式指令、固件、源代码等。可以用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、设置有非易失性存储器的USB设备、网络存储设备等。

实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用多种形状因子中的任何一种。当用软件、固件、中间件或微代码来实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以被存储在计算机可读或机器可读介质中。处理器可以执行必要任务。形状因子的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其它小型形状因子的个人计算机、个人数字助理、机架式设备、独立设备等。本文描述的功能还可以体现在外围设备或插件卡中。通过另外的举例,这种功能还可以在单个设备中执行的不同芯片或不同过程之间的电路板上实现。

指令、用于传送这样的指令的介质、用于执行它们的计算资源以及用于支持这样的计算资源的其它结构是用于提供在本公开内容中描述的功能的示例模块。

在前面的描述中,参考本申请的特定实施例描述了本申请的各方面,但是本领域技术人员将认识到,本申请不限于此。因此,尽管本文已经详细描述了本申请的说明性实施例,但是应理解的是,可以以其它方式不同地体现和采用本发明构思,并且所附的权利要求旨在被解释为包括这样的变型,除了由现有技术限制的变型。可以单独地或共同地使用上述应用的各个特征和方面。此外,在不脱离本说明书的更宽泛的精神和范围的情况下,实施例可以在除了本文描述的环境和应用之外的任何数量的环境和应用中使用。因此,说明书和附图被认为是说明性的而不是限制性的。为了说明的目的,以特定次序描述了方法。应当明白的是,在替代实施例中,可以以与所描述的次序不同的次序来执行所述方法。

本领域普通技术人员将明白的是,在不脱离本说明书的范围的情况下,本文中使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于或等于(“≤”)以及大于或等于(“≥”)符号来替换。

在将组件描述为“被配置为”执行某些操作的情况下,这种配置可以例如通过以下方式来实现:将电路或其它硬件设计为执行该操作,将可编程电路(例如,微处理器或其它适当的电路)编程为执行该操作,或其任何组合。

短语“耦合到”指代直接或间接地物理连接到另一组件的任何组件、和/或直接或间接地与另一组件通信的任何组件(例如,通过有线或无线连接和/或其它适当的通信接口而连接到另一组件)。

记载集合中的“至少一个”和/或集合中的“一个或多个”的权利要求语言或其它语言指示该集合中的一个成员或者该集合中的多个成员(以任何组合)满足该权利要求。例如,记载“A和B中的至少一个”的权利要求语言意指A、B、或者A和B。在另一示例中,记载“A、B和C中的至少一个”的权利要求语言意指A、B、C、或者A和B、或者A和C、或者 B和C、或者A和B和C。语言集合中的“至少一个”和/或集合中的“一个或多个”并不将该集合限制为在该集合中列出的项目。例如,记载“A 和B中的至少一个”的权利要求语言可以意指A、B或者A和B,并且可以另外包括未在A和B的集合中列出的项目。

结合本文公开的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤可以被实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,上面已经对各种说明性的组件、框、模块、电路和步骤围绕其功能进行了总体描述。至于这种功能被实现为硬件还是软件取决于特定的应用和被施加在整个系统上的设计约束。技术人员可以针对每种特定应用以不同的方式来实现所描述的功能,但是这种实现决策不应当被解释为导致脱离本申请的范围。

本文描述的技术还可以用电子硬件、计算机软件、固件或其任何组合来实现。这样的技术可以在各种设备中的任何一种中实现,诸如通用计算机、无线通信设备手机或具有多种用途(包括在无线通信设备手机和其它设备中的应用)的集成电路设备。被描述为模块或组件的任何特征都可以在集成逻辑设备中一起实现,或者分别作为分立但是可互操作的逻辑设备来实现。如果用软件来实现,则所述技术可以至少部分地由计算机可读数据存储介质来实现,计算机可读数据存储介质包括程序代码,程序代码包括在被执行时执行上述方法中的一种或多种方法的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,计算机程序产品可以包括包装材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。另外或替代地,所述技术可以至少部分地由以指令或数据结构的形式携带或传送程序代码并且可以由计算机访问、读取和/或执行的计算机可读通信介质(诸如传播的信号或波)来实现。

程序代码可以由处理器执行,处理器可以包括一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或分立逻辑电路。这样的处理器可以被配置为执行在本公开内容中描述的任何技术。通用处理器可以是微处理器,但是在替代方式中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核的结合、或任何其它这样的配置。因此,如本文所使用的术语“处理器”可以指代任何前述结构、前述结构的任何组合、或适于实现本文描述的技术的任何其它结构或装置。另外,在一些方面中,本文描述的功能可以在被配置用于编码和解码的专用软件模块或硬件模块内提供,或者被合并在组合视频编码器-解码器(CODEC)中。

本公开内容的说明性示例包括:

例1:一种对视频数据进行解码的方法。所述方法包括:获得包括视频数据的经编码的视频比特流;确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志;将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志;确定所述运动矢量与所述存储的运动矢量匹配;以及基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。

示例2:根据示例1所述的方法,还包括:如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是第二值,则将所述存储的照度标志更新为第一值。

示例3:根据示例1或2中任一项所述的方法,其中,所述第一值是真值,并且所述第二值是假值。

示例4:根据示例1到2中任一项所述的方法,其中,所述第一值是假值,并且所述第二值是真值。

示例5:根据示例1到4中任一项所述的方法,其中,如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是所述第一值,则所述存储的照度标志不被更新。

示例6:根据示例5所述的方法,其中,所述第一值是真值。

示例7:根据示例5所述的方法,其中,所述第一值是假值。

示例8:根据示例1到7中任一项所述的方法,还包括:基于所述存储的照度补偿标志的值来确定是否将照度补偿应用于所述块,其中,如果所述存储的照度补偿标志的值是真值,则照度补偿将被应用,并且如果所述存储的照度补偿标志的值是假值,则照度补偿将不被应用。

示例9:根据示例1到8中任一项所述的方法,其中,将照度补偿应用于所述块包括:使用块的一个或多个相邻块和用于所述块的帧间预测的参考块的一个或多个相邻块来推导用于所述块的一个或多个照度补偿参数。

示例10:根据示例1到9中任一项所述的方法,其中,所述块的所述一个或多个相邻块包括所述块的上方相邻块或左侧相邻块中的一者或多者,并且其中,所述参考块的所述一个或多个相邻块包括所述参考块的上方相邻块或左侧相邻块中的一者或多者。

示例11:根据示例1到10中任一项所述的方法,还包括:基于所述存储的照度补偿标志的值是真值来将照度补偿应用于所述块;以及基于应用于所述块的所述照度补偿来重构所述块的样本。

示例12:根据示例1到11中任一项所述的方法,其中,重构所述块的所述样本还包括:应用残差值。

示例13:一种用于对视频数据进行解码的装置,所述装置包括:存储器;以及处理器,其在电路中实现并且被配置为:获得包括视频数据的经编码的视频比特流;确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志;将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志;确定所述运动矢量与所述存储的运动矢量匹配;以及基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。

示例14:根据示例13所述的装置,其中,所述处理器还被配置为:如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是第二值,则将所述存储的照度标志更新为第一值。

示例15:根据示例13到14中任一项所述的装置,其中,所述第一值是真值并且所述第二值是假值,或者所述第一值是假值并且所述第二值是真值。

示例16:根据示例13到15中任一项所述的装置,其中,如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是所述第一值,则所述存储的照度标志不被更新。

示例17:根据示例13到16中任一项所述的装置,其中,所述第一值是真值或者所述第一值是假值。

示例18:根据示例13到17中任一项所述的装置,其中,所述处理器还被配置为:基于所述存储的照度补偿标志的值来确定是否将照度补偿应用于所述块,其中,如果所述存储的照度补偿标志的值是真值,则照度补偿将被应用,并且如果所述存储的照度补偿标志的值是假值,则照度补偿将不被应用。

示例19:根据示例13到18中任一项所述的装置,其中,将照度补偿应用于所述块包括:使用块的一个或多个相邻块和用于所述块的帧间预测的参考块的一个或多个相邻块来推导用于所述块的一个或多个照度补偿参数。

示例20:根据示例13到19中任一项所述的装置,其中,所述块的所述一个或多个相邻块包括所述块的上方相邻块或左侧相邻块中的一者或多者,并且其中,所述参考块的所述一个或多个相邻块包括所述参考块的上方相邻块或左侧相邻块中的一者或多者。

示例21:根据示例13到20中任一项所述的装置,其中,所述处理器还被配置为:基于所述存储的照度补偿标志的值是真值来将照度补偿应用于所述块;以及基于应用于所述块的所述照度补偿来重构所述块的样本。

示例22:根据示例13到21中任一项所述的装置,其中,重构所述块的所述样本还包括:应用残差值。

示例23:根据示例13到22中任一项所述的装置,其中,所述装置包括具有用于捕捉一个或多个图片的相机的移动设备。

示例24:根据示例13到23中任一项所述的装置,还包括:用于显示一个或多个图片的显示器。

示例25:一种具有存储在其上的指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行根据示例1到12中任一项所述的方法中的任何方法。例如,非暂时性计算机可读介质可以具有存储在其上的指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:获得包括视频数据的经编码的视频比特流;确定与所述视频数据的块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志;将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志;确定所述运动矢量与所述存储的运动矢量匹配;以及基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志。

示例26:一种用于使用根据示例1到12中任一项所述的方法来对视频数据进行解码的装置。例如,所述装置可以包括:用于获得包括视频数据的经编码的视频比特流的单元;用于确定与所述视频数据的块相关联的运动信息的单元,所述运动信息至少包括运动矢量和照度补偿标志;用于将所述运动信息与运动信息候选列表中的存储的运动信息进行比较的单元,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志;用于确定所述运动矢量与所述存储的运动矢量匹配的单元;以及用于基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志的单元。

示例27:一种对视频数据进行编码的方法,包括:获得视频数据的图片的块;确定与所述视频数据的所述块相关联的运动信息,所述运动信息至少包括运动矢量和照度补偿标志;将所述运动信息与运动信息候选列表中的存储的运动信息进行比较,所述存储的运动信息包括存储的运动矢量和存储的照度补偿标志;确定所述运动矢量与所述存储的运动矢量匹配;基于所述照度补偿标志的值和所述存储的照度补偿标志的值来确定是否更新所述存储的照度补偿标志;以及生成至少包括所述存储的运动信息的经编码的视频比特流。

示例28:根据示例27所述的方法,其中,处理器还被配置为:如果所述照度补偿标志的值是第一值并且所述存储的照度补偿标志的值是第二值,则将所述存储的照度标志更新为所述第一值。

示例29:根据示例27到28中任一项所述的方法,其中,所述处理器还被配置为:确定用于所述存储的照度补偿标志的预测值;将所述预测值与所述照度补偿标志的值进行比较;基于所述比较来生成比较标志,其中,如果所述预测值与所述照度补偿标志的值匹配,则所述比较标志被设置为第一值,或者如果预测值与所述照度补偿标志的值不匹配,则所述比较标志被设置为第二值;以及基于所述比较标志来生成所述经编码的视频比特流。

示例30:根据示例27到29中任一项所述的方法,其中,基于所述比较标志来生成所述经编码的视频比特流包括:对所述比较标志应用压缩算法。

示例31:根据示例27到30中任一项所述的方法,其中,用于所述存储的照度补偿标志的所述预测值是基于与所述块的对应的一个或多个相邻块相关联的一个或多个照度补偿标志的。

示例32:一种装置,包括:存储器,其被配置为存储视频数据;以及处理器,其被配置为根据示例26到31中任一项来处理所述视频数据。

示例33:根据示例32所述的装置,其中,所述装置包括解码器。

示例34:根据示例32到33中任一项所述的装置,其中,所述装置包括编码器。

示例35:根据示例32到34中任一项所述的装置,其中,所述装置是移动设备。

示例36:根据示例32到35中任一项所述的装置,其中,所述装置包括被配置为显示所述视频数据的显示器。

示例37:根据示例32到36中任一项所述的装置,其中,所述装置包括被配置为捕获一个或多个图片的相机。

示例38:一种具有存储在其上的指令的计算机可读介质,所述指令在由处理器执行时执行根据权利要求26到31中任一项所述的方法。

条款1:一种处理视频数据的方法,所述方法包括:获得所述视频数据和与所述视频数据块相关联的运动信息,所述运动信息至少包括第一运动信息候选和第二运动信息候选;将所述第一运动信息候选添加到候选列表中;确定第二运动信息候选的第二照度补偿标志的第二值不同于所述第一运动信息候选的第一照度补偿标志的第一值;以及在所述候选列表中将所述第一照度补偿标志从所述第一值更新为所述第二值。

条款2:根据条款1所述的方法,其中,所述第二运动信息候选不被添加到所述候选列表中。

条款3:根据条款1到2中任一项所述的方法,其中,所述第一照度补偿标志的所述第一值等于假,假值指示照度补偿不适用于所述块,并且其中,所述第二照度补偿标志的所述第二值等于真,真值指示照度补偿值适用于所述块。

条款4:根据条款1到3中任一项所述的方法,其中,所述第一运动信息候选包括第一运动矢量、第一索引和所述第一照度补偿标志,并且其中,所述第二运动信息候选包括第二运动矢量、第二索引和所述第二照度补偿标志。

条款5:根据条款4所述的方法,其中,所述第一运动矢量等于所述第二运动矢量,并且其中,所述第一索引等于所述第二索引。

条款6:根据条款1到5中任一项所述的方法,还包括:针对所述块执行照度补偿,其中,执行所述照度补偿包括:推导用于所述块的一个或多个照度补偿参数;以及将所述一个或多个照度补偿参数应用于所述块。

条款7:根据条款6所述的方法,其中,用于所述块的所述一个或多个照度补偿参数是使用相邻重构样本来推导的。

条款8:根据条款7所述的方法,其中,所述相邻重构样本来自所述块的第一相邻块和用于帧间预测的参考块的第二相邻块中的一者或多者。

条款9:根据条款8所述的方法,其中,所述第一相邻块包括所述块的上方相邻块或左侧相邻块中的一者或多者,并且其中,所述第二相邻块包括所述参考块的上方相邻块或左侧相邻块中的一者或多者。

条款10:根据条款8到9中任一项所述的方法,其中,推导用于所述块的所述一个或多个照度补偿参数包括:使所述第一相邻块的重构样本与所述第二相邻块的重构样本之间的差最小化。

条款11:根据条款6到10中任一项所述的方法,其中,所述一个或多个照度补偿参数包括所述第一照度补偿标志、至少一个缩放因子和至少一个偏移。

条款12:根据条款6到11中任一项所述的方法,其中,对所述块执行所述照度补偿产生照度补偿预测器,并且还包括:使用所述照度补偿预测器来对所述块进行解码。

条款13:根据条款6到12中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知所述一个或多个照度补偿参数。

条款14:根据条款1到12中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知所述第一照度补偿标志。

条款15:一种装置,包括:存储器,其被配置为存储视频数据;以及处理器,其被配置为根据条款1到14中任一项来处理所述视频数据。

条款16:根据条款15所述的装置,其中,所述装置包括解码器。

条款17:根据条款15所述的装置,其中,所述装置包括编码器。

条款18:根据条款15到17中任一项所述的装置,其中,所述装置是移动设备。

条款19:根据条款15到18中任一项所述的装置,其中,所述装置包括被配置为显示所述视频数据的显示器。

条款20:根据条款15到19中任一项所述的装置,其中,所述装置包括被配置为捕获一个或多个图片的相机。

条款21:一种具有存储在其上的指令的计算机可读介质,所述指令在由处理器执行时执行根据条款1到14中任一项所述的方法。

条款22:一种处理视频数据的方法,所述方法包括:获得所述视频数据;获得与所述视频数据的块相关联的候选列表,所述候选列表包括运动信息,所述运动信息至少包括第一运动信息候选,其中,所述第一运动信息候选的第一照度补偿标志的第一值基于第二运动信息候选的第二照度补偿标志的第二值不同于所述第一照度补偿标志的先前值而包括所述第二值;以及使用所述候选列表的所述运动信息来处理所述视频数据的所述块。

条款23:根据条款22所述的方法,其中,所述候选列表不包括所述第二运动信息候选。

条款24:根据条款22到23中任一项所述的方法,其中,所述第一照度补偿标志的所述先前值等于假,假值指示照度补偿不适用于所述块,并且其中,所述第二照度补偿标志的所述第二值等于真,真值指示照度补偿值适用于所述块。

条款25:根据条款22到24中任一项所述的方法,其中,所述第一运动信息候选包括第一运动矢量、第一索引和所述第一照度补偿标志,并且其中,所述第二运动信息候选包括第二运动矢量、第二索引和所述第二照度补偿标志。

条款26:根据条款25所述的方法,其中,所述第一运动矢量等于所述第二运动矢量,并且其中,所述第一索引等于所述第二索引。

条款27:根据条款22到26中任一项所述的方法,还包括:针对所述块执行照度补偿,其中,执行所述照度补偿包括:推导用于所述块的一个或多个照度补偿参数;以及将所述一个或多个照度补偿参数应用于所述块。

条款28:根据条款27所述的方法,其中,用于所述块的所述一个或多个照度补偿参数是使用相邻重构样本来推导的。

条款29:根据条款28所述的方法,其中,所述相邻重构样本来自所述块的第一相邻块和用于帧间预测的参考块的第二相邻块中的一者或多者。

条款30:根据条款29所述的方法,其中,所述第一相邻块包括所述块的上方相邻块或左侧相邻块中的一者或多者,并且其中,所述第二相邻块包括所述参考块的上方相邻块或左侧相邻块中的一者或多者。

条款31:根据条款29到30中任一项所述的方法,其中,推导用于所述块的所述一个或多个照度补偿参数包括:使所述第一相邻块的重构样本与所述第二相邻块的重构样本之间的差最小化。

条款32:根据条款27到31中任一项所述的方法,其中,所述一个或多个照度补偿参数包括所述第一照度补偿标志、至少一个缩放因子和至少一个偏移。

条款33:根据条款27到32中任一项所述的方法,其中,对所述块执行所述照度补偿产生照度补偿预测器,并且还包括:使用所述照度补偿预测器来对所述块进行解码。

条款34:根据条款27到33中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知所述一个或多个照度补偿参数。

条款35:根据条款22到33中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知所述第一照度补偿标志。

条款36:一种装置,包括:存储器,其被配置为存储视频数据;以及处理器,其被配置为根据条款22到35中任一项来处理所述视频数据。

条款37:根据条款36所述的装置,其中,所述装置包括解码器。

条款38:根据条款36所述的装置,其中,所述装置包括编码器。

条款39:根据条款36到38中任一项所述的装置,其中,所述装置是移动设备。

条款40:根据条款36到39中任一项所述的装置,其中,所述装置包括被配置为显示所述视频数据的显示器。

条款41:根据条款36到40中任一项所述的装置,其中,所述装置包括被配置为捕获一个或多个图片的相机。

条款42:一种具有存储在其上的指令的计算机可读介质,所述指令在由处理器执行时执行根据条款22到35中任一项所述的方法。

条款43:一种处理视频数据的方法,所述方法包括:获得所述视频数据,所述视频数据至少包括视频数据的块;确定用于所述视频数据的块的照度补偿标志预测器,所述照度补偿标志预测器指示照度补偿是否应用于所述视频数据的块;以及确定与所述照度补偿标志预测器相关联的标志的值,值是基于所述照度补偿标志预测器跟与所述视频数据的块相关联的照度补偿标志的比较来确定的。

条款44:根据条款43所述的方法,其中,所述照度补偿标志预测器是基于所述块的一个或多个相邻块的一个或多个照度补偿标志针对所述视频数据的块来确定的。

条款45:根据条款44所述的方法,其中,确定用于所述视频数据的块的所述照度补偿标志预测器包括:确定所述一个或多个相邻块中的至少一个相邻块具有等于第一值的照度补偿标志;以及基于所述一个或多个相邻块中的所述至少一个相邻块具有等于所述第一值的照度补偿标志来将所述照度补偿标志预测器的值设置为所述第一值。

条款46:根据条款44所述的方法,其中,确定用于所述视频数据的块的所述照度补偿标志预测器包括:确定具有等于第一值的照度补偿标志的所述一个或多个相邻块的数量;确定所述数量大于门限数量;以及基于所述数量大于所述门限数量来将所述照度补偿标志预测器的值设置为所述第一值。

条款47:根据条款43所述的方法,其中,所述照度补偿标志预测器是基于运动信息候选针对所述视频数据的块来确定的。

条款48:根据条款47所述的方法,其中,确定用于所述视频数据的块的所述照度补偿标志预测器包括:确定所述运动信息候选中包括的照度补偿标志的值;以及将所述照度补偿标志预测器的值设置为所述照度补偿标志的值。

条款49:根据条款43到48中任一项所述的方法,其中,确定与所述照度补偿标志预测器相关联的所述标志的值包括:将所述照度补偿标志预测器的值跟与所述视频数据的块相关联的所述照度补偿标志的值进行比较;确定所述照度补偿标志预测器的值是否等于与所述视频数据的块相关联的所述照度补偿标志的值;以及基于所述照度补偿标志预测器是否等于与所述视频数据的块相关联的所述照度补偿标志的值来设置与所述照度补偿标志预测器相关联的所述标志的值。

条款50:根据条款49所述的方法,其中,当所述照度补偿标志预测器的值等于与所述视频数据的块相关联的所述照度补偿标志的值时,与所述照度补偿标志预测器相关联的所述标志的值被设置为第一值,并且其中,当所述照度补偿标志预测器的值不等于与所述视频数据的块相关联的所述照度补偿标志的值时,与所述照度补偿标志预测器相关联的所述标志的值被设置为第二值。

条款51:根据条款43到50中任一项所述的方法,还包括:针对所述块执行照度补偿,其中,执行所述照度补偿包括:推导用于所述块的一个或多个照度补偿参数;以及将所述一个或多个照度补偿参数应用于所述块。

条款52:根据条款51所述的方法,其中,用于所述块的所述一个或多个照度补偿参数是使用相邻重构样本来推导的。

条款53:根据条款52所述的方法,其中,所述相邻重构样本来自所述块的第一相邻块和用于帧间预测的参考块的第二相邻块中的一者或多者。

条款54:根据条款53所述的方法,其中,所述第一相邻块包括所述块的上方相邻块或左侧相邻块中的一者或多者,并且其中,所述第二相邻块包括所述参考块的上方相邻块或左侧相邻块中的一者或多者。

条款55:根据条款48到54中任一项所述的方法,其中,推导用于所述块的所述一个或多个照度补偿参数包括:使所述第一相邻块的重构样本与所述第二相邻块的重构样本之间的差最小化。

条款56:根据条款46到55中任一项所述的方法,其中,所述一个或多个照度补偿参数包括至少一个缩放因子和至少一个偏移。

条款57:根据条款46到56中任一项所述的方法,其中,对所述块执行所述照度补偿产生照度补偿预测器,并且还包括:使用所述照度补偿预测器来对所述块进行解码。

条款58:根据条款46到57中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知所述一个或多个照度补偿参数。

条款59:根据条款43到57中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知与所述照度补偿标志预测器相关联的所述标志。

条款60:一种装置,包括:存储器,其被配置为存储视频数据;以及处理器,其被配置为根据条款43到59中任一项来处理所述视频数据。

条款61:根据条款60所述的装置,其中,所述装置包括解码器。

条款62:根据条款60所述的装置,其中,所述装置包括编码器。

条款63:根据条款60到62中任一项所述的装置,其中,所述装置是移动设备。

条款64:根据条款60到63中任一项所述的装置,其中,所述装置包括被配置为显示所述视频数据的显示器。

条款65:根据条款60到64中任一项所述的装置,其中,所述装置包括被配置为捕获一个或多个图片的相机。

条款66:一种具有存储在其上的指令的计算机可读介质,所述指令在由处理器执行时执行根据条款43到59中任一项所述的方法。

条款67:一种处理视频数据的方法,所述方法包括:获得所述视频数据,所述视频数据至少包括视频数据的块;获得与所述视频数据的块相关联的照度补偿标志;以及将上下文译码应用于所述照度补偿标志。

条款68:根据条款67所述的方法,其中,应用于所述照度补偿标志的所述上下文译码是基于所述块的一个或多个相邻块的一个或多个照度补偿标志的。

条款69:根据条款68所述的方法,其中,将所述上下文译码应用于所述照度补偿标志包括:确定所述一个或多个相邻块中的至少一个相邻块具有等于第一值的照度补偿标志;以及基于所述一个或多个相邻块中的所述至少一个相邻块具有等于所述第一值的照度补偿标志来将第一上下文指派给所述照度补偿标志。

条款70:根据条款68所述的方法,其中,将所述上下文译码应用于所述照度补偿标志包括:确定所述一个或多个相邻块中没有一个相邻块具有等于第一值的照度补偿标志;以及基于所述一个或多个相邻块中没有一个相邻块具有等于所述第一值的照度补偿标志来将第二上下文指派给所述照度补偿标志。

条款71:根据条款68所述的方法,其中,将所述上下文译码应用于所述照度补偿标志包括:确定具有等于第一值的照度补偿标志的所述一个或多个相邻块的数量;确定所述数量大于门限数量;以及基于所述数量大于所述门限数量来将第一上下文指派给所述照度补偿标志。

条款72:根据条款68所述的方法,其中,将所述上下文译码应用于所述照度补偿标志包括:确定具有等于第一值的照度补偿标志的所述一个或多个相邻块的数量;确定所述数量小于门限数量;以及基于所述数量小于所述门限数量来将第二上下文指派给所述照度补偿标志。

条款73:根据条款67所述的方法,其中,应用于所述照度补偿标志的所述上下文译码是基于所述块的大小的。

条款74:根据条款73所述的方法,其中,所述块的所述大小是基于所述块的宽度或高度中的一项或多项的。

条款75:根据条款73到74中任一项所述的方法,其中,所述块的所述大小是基于所述块的面积的。

条款76:根据条款73到75中任一项所述的方法,其中,将所述上下文译码应用于所述照度补偿标志包括:确定所述块的所述大小小于门限大小;以及基于所述块的所述大小小于所述门限大小来将第一上下文应用于所述照度补偿标志。

条款77:根据条款73到75中任一项所述的方法,其中,将所述上下文译码应用于所述照度补偿标志包括:确定所述块的所述大小大于门限大小;以及基于所述块的所述大小大于所述门限大小来将第二上下文应用于所述照度补偿标志。

条款78:根据条款67到77中任一项所述的方法,还包括:针对所述块执行照度补偿,其中,执行所述照度补偿包括:推导用于所述块的一个或多个照度补偿参数;以及将所述一个或多个照度补偿参数应用于所述块。

条款79:根据条款78所述的方法,其中,用于所述块的所述一个或多个照度补偿参数是使用相邻重构样本来推导的。

条款80:根据条款79所述的方法,其中,所述相邻重构样本来自所述块的第一相邻块和用于帧间预测的参考块的第二相邻块中的一者或多者。

条款81:根据条款80所述的方法,其中,所述第一相邻块包括所述块的上方相邻块或左侧相邻块中的一者或多者,并且其中,所述第二相邻块包括所述参考块的上方相邻块或左侧相邻块中的一者或多者。

条款82:根据条款48到81中任一项所述的方法,其中,推导用于所述块的所述一个或多个照度补偿参数包括:使所述第一相邻块的重构样本与所述第二相邻块的重构样本之间的差最小化。

条款83:根据条款46到82中任一项所述的方法,其中,所述一个或多个照度补偿参数包括至少一个缩放因子和至少一个偏移。

条款84:根据条款46到83中任一项所述的方法,其中,对所述块执行所述照度补偿产生照度补偿预测器,并且还包括:使用所述照度补偿预测器来对所述块进行解码。

条款85:根据条款46到84中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知所述一个或多个照度补偿参数。

条款86:根据条款67到84中任一项所述的方法,还包括:在经编码的视频比特流中用信号通知经上下文译码的照度补偿标志。

条款87:一种装置,包括:存储器,其被配置为存储视频数据;以及处理器,其被配置为根据条款67到86中任一项来处理所述视频数据。

条款88:根据条款87所述的装置,其中,所述装置包括解码器。

条款89:根据条款87所述的装置,其中,所述装置包括编码器。

条款90:根据条款87到89中任一项所述的装置,其中,所述装置是移动设备。

条款91:根据条款87到90中任一项所述的装置,其中,所述装置包括被配置为显示所述视频数据的显示器。

条款92:根据条款87到91中任一项所述的装置,其中,所述装置包括被配置为捕获一个或多个图片的相机。

条款93:一种具有存储在其上的指令的计算机可读介质,所述指令在由处理器执行时执行根据条款67到86中任一项所述的方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号