掌桥专利:专业的专利平台
掌桥专利
首页

改进的虚拟时间仿射候选

文献发布时间:2023-06-19 10:58:46


改进的虚拟时间仿射候选

技术领域

本发明的至少一个实施例一般涉及用于视频编码或解码、压缩或解压缩的方法或装置。

背景技术

为了实现高压缩效率,图像和视频译码方案通常采用预测(包括运动矢量预测),以及变换以利用视频内容中的空间和时间冗余。通常,帧内或帧间预测用于利用帧内或帧间相关性,然后对通常表示为预测误差或预测残差的原始图像与预测图像之间的差异进行变换、量化和熵编码。为了重构视频,通过与熵编码、量化、变换和预测相对应的逆过程来对压缩数据进行解码。

高压缩技术的最近的补充包括使用基于仿射建模的运动模型。仿射建模用于视频图片的编码和解码的运动补偿。通常,仿射建模是使用至少两个参数的模型,所述参数例如表示图片的块的相应角处的运动的两个控制点运动矢量(CPMV),其允许导出用于图片的整个块的运动场以模拟例如旋转和相似(缩放)。

发明内容

本发明的至少一个实施例一般涉及用于视频编码或解码的方法或装置,并且更具体地,涉及用于基于用于视频编码器或视频解码器的运动模型(例如仿射模型)从预测器(predictor)候选集合中选择预测器候选以用于运动补偿的方法或装置。

根据第一方面,提供了一种方法。所述方法包括以下步骤:针对图片中正被编码的视频块的子块,从相邻子块和至少一个参考图片中确定多个预测器候选;选择所述多个预测器候选的子集;根据所述预测器候选子集,确定用于所述视频块的一个或多个控制点运动矢量;使用所述一个或多个控制点运动矢量对正被编码的所述视频块的所述子块执行仿射运动补偿;以及对视频块的子块进行编码。

根据第二方面,提供了一种方法。所述方法包括以下步骤:针对图片中正被解码的视频块的子块,从相邻子块和至少一个参考图片中确定多个预测器候选;选择所述多个预测器候选的子集;根据所述预测器候选子集,确定用于所述视频块的一个或多个控制点运动矢量;使用所述一个或多个控制点运动矢量对正被解码的所述视频块的所述子块执行仿射运动补偿;以及对所述视频块的所述子块进行解码。

根据另一方面,提供了一种装置。所述装置包括处理器。所述处理器可被配置成通过执行上述方法中的任意者来对视频的块进行编码或对比特流进行解码。

根据至少一个实施例的另一个一般方面,提供了一种设备,该设备包括根据解码实施例中的任意者的装置;以及(i)天线,被配置成接收信号,该信号包括视频块,(ii)频带限制器,被配置成将所接收的信号限制到包括所述视频块的频带,或(iii)显示器,被配置成显示表示视频块的输出中的至少一者。

根据至少一个实施例的另一个一般方面,提供了一种非暂时性计算机可读介质,其包含根据所描述的编码实施例或变型中的任意者生成的数据内容。

根据至少一个实施例的另一个一般方面,提供了一种包括根据所描述的编码实施例或变型中的任意者生成的视频数据的信号。

根据至少一个实施例的另一个一般方面,比特流被格式化为包括根据所描述的编码实施例或变型中的任意者生成的数据内容。

根据至少一个实施例的另一个一般方面,提供了一种包括指令的计算机程序产品,当计算机执行该程序时,该指令使计算机执行所描述的解码实施例或变型中的任意者。

从以下结合附图阅读的示例性实施例的详细描述中,一般方面的这些和其它方面、特征和优点将变得显而易见。

附图说明

图1示出了表示压缩HEVC图片的译码树单元和译码树概念的示例。

图2示出了将译码树单元划分为译码单元、预测单元和变换单元的示例。

图3示出了在联合探索模型中使用的简单仿射模型的示例。

图4展示基于4×4子CU的仿射运动矢量场的实例。

图5示出了用于仿射帧间CU的运动矢量预测过程的示例。

图6示出了用于在仿射AMVP过程中创建新候选的过程的示例流程图。

图7示出仿射合并模式中的运动矢量预测候选的示例。

图8示出了用于仿射合并模式的仿射运动场控制点的空间推导的示例。

图9示出了用于创建新仿射候选的流程图的示例。

图10示出了标准的、通用的视频压缩方案。

图11示出了标准的、通用的视频解压缩方案。

图12示出了虚拟时间候选子块的示例。

图13示出了用于选择角子块的过程的示例流程图。

图14示出用于仿射模型计算的过程的示例流程图。

图15示出了用于候选确认的过程的示例流程图。

图16示出了附加运动矢量数据的示例。

图17示出了用于具有步长N=16的48×16块的潜在运动矢量数据的位置的示例。

图18示出附加仿射模型创建的示例流程图。

图19示出了附加模型创建的变型的示例流程图。

图20示出了用于迭代循环(左)和交替迭代(右)中的角的运动矢量数据选择的示例。

图21示出了控制点运动矢量模型推导的示例。

图22示出了用于使用本文所述的一般方面进行编码或解码的系统的一个实施例。

图23示出了使用本文所述的一般方面进行编码的方法的一个实施例。

图24示出了使用本文所述的一般方面进行解码的方法的一个实施例。

图25示出了用于使用本文描述的一般方面进行编码或解码的装置的一个实施例。

具体实施方式

这里描述的一般方面是在视频压缩领域。这些方面的目的在于与现有的视频压缩系统相比提高压缩效率。

在HEVC视频压缩标准(H.265/HEVC高效视频译码,ITU的ITU-T H.265电信标准化部门,“H系列:视听和多媒体系统,视听服务的基础设施-移动视频的译码,高效视频译码”(Series H:Audiovisual and Multimedia Systems,Infrastructure of audiovisualservices–Coding of moving video,High efficiency video coding))中,采用运动补偿时间预测来利用存在于视频的连续图片之间的冗余。

为此,将运动矢量与现在引入的每个预测单元(PU)相关联。每个CTU(译码树单元)由压缩域中的译码树表示。这是CTU的四叉树划分,其中每个叶被称为译码单元(CU),参见图1。

然后,每个CU被给予一些帧内或帧间预测参数(预测信息)。为此,将每个CU在空间上分割成一个或多个预测单元(PU),每个PU被分配一些预测信息。参见图2,在CU层级上分配帧内或帧间译码模式。

确切地,一个运动矢量被分配给HEVC中的每个PU。该运动矢量用于所考虑的PU的运动补偿时间预测。因此,在HEVC中,链接预测块及其参考块的运动模型简单地包括平移。

在JVET(联合视频探索团队)组开发的联合探索模型(JEM)和后来的VTM(多功能视频译码(VVC)测试模型)中,支持一些更丰富的运动模型以改进时间预测。为此,可在空间上将PU划分为子PU,且可使用较丰富的模型来向每个子PU分配专用运动矢量。

CU不再被分割为PU或TU,而是直接将一些运动数据分配给每个CU。在此新的编解码器设计中,可将CU分割成子CU,且可针对每个子CU计算运动矢量。

JEM中介绍的新运动模型之一是仿射模型,其基本上在于使用仿射模型来表示CU中的运动矢量。

所使用的运动模型由图3示出,仿射运动场包括所考虑的块内的用于每个位置(x,y)的以下运动矢量分量值:

等式1:用于在CU内产生运动场以进行预测的仿射模型

坐标(v

实际上,为了保持合理的复杂度,如图4所示,为所考虑的CU的每个4×4子块(子CU)计算运动矢量。在每个子块的中心位置处,根据控制点运动矢量计算仿射运动矢量。获得的MV以1/16像素精度表示。

结果,仿射模式中的译码单元的时间译码在于利用其自身的运动矢量来运动补偿预测每个子块。

注意,具有三个控制点的模型也是可能的。

在VTM中可以以三种方式使用仿射运动补偿:仿射帧间(AF_INTER)、仿射合并和仿射模板。它们按照以下内容被引入:

-仿射帧间(AF_INTER)。

可在仿射帧间模式中预测AMVP模式中的CU,该CU具有大于8x8的尺寸。这通过比特流中的标志来发信号通知。用于所述帧间CU的仿射运动场的产生包含确定控制点运动矢量(CPMV),所述CPMV是由解码器通过运动矢量差与控制点运动矢量预测(CPMVP)的相加而获得。该CPVMP是一对运动矢量候选,其分别取自列表(A、B、C)和(D、E),如图5所示。

可以获得高达6个CPMVP(3×2)。

对于高度H和宽度W的块,使用等式2检查第一CPVMP的有效性:

等式2:每个CPMVP的有效性测试

然后,根据第三运动矢量

对于高度为H和宽度为W的块,每个CPMVP的成本用等式3计算,在以下等式中,X和Y分别是运动矢量的水平和垂直分量。

等式3:为每个CPMVP计算的成本

-仿射合并

在仿射合并模式中,CU层级标志指示合并CU是否采用仿射运动补偿。如果是,那么在图7的候选位置(A、B、C、D、E)的有序集合中选择已在仿射模式中译码的第一可用相邻CU。

一旦获得仿射模式中的第一相邻CU,那么检索来自相邻CU的左上角、右上角和左下角的3个运动矢量(参见图8)。基于这三个矢量,当前CU的左上角和右上角的两个CPMV被导出如下:

ο

ο

等式4:基于相邻CU的三个角运动矢量推导当前CU的CPMV

当获得当前CU的控制点运动矢量

在现有技术中,针对仿射合并模式添加更多候选,从最多7个候选中选择最佳候选,并且对比特流中的最佳候选的索引进行译码。

另一种类型的候选被称为时间仿射:

类似于TMVP(时间运动矢量预测器)候选,在参考图像中搜索仿射CU并将其添加到候选列表。

在另一工作中,添加创建“虚拟”候选的新过程(参见图9)。动机是当在当前CU周围没有仿射CU可用时创建仿射候选。为此,通过获取在角处的各个子块的运动并创建“仿射”模型来创建仿射模型。

在候选列表创建期间,出于复杂性原因,存在2个约束条件要考虑:

-潜在候选的总数:增加总的计算需求

-最终列表大小:通过增加每个连续候选所需的比较次数来增加解码器处的延迟。

当前,通过取在角A、B、C处的候选并且使用等式2对候选排序,将虚拟仿射候选添加到潜在候选的列表。

由本文描述的一般方面解决的一个问题是使得能够创建更多虚拟时间仿射候选,但过滤每一候选以保持最终候选列表较小且填充有相关候选。

在JEM或VTM的当前版本中,不存在仿射时间候选。在现有技术中,提出了虚拟仿射时间候选,并且它们当前正在被研究。

所描述的所提出的方面的一个基本思想是丰富虚拟仿射候选集合(空间和时间),可选地替换继承的(inherited)仿射候选,并且对它们进行滤波或细化以保持相关仿射候选的列表。这个过程可以产生仿射候选的子集或整个集合。

与创建虚拟仿射候选的先前过程相比:

-创建更多的候选

-为了保持相关候选的列表,过滤每个候选,或者细化列表

-空间和时间候选可以被交织。

受影响的编解码器模块是图10的运动估计175和图10的运动补偿170以及图11的运动补偿275。

图12示出用于计算虚拟仿射模型的子块。对于每个角A、B、C、D,应用图13中描述的过程:按照从0到4的顺序检查子块。一旦找到有效子块(即,具有运动矢量的子块),就使用其来计算仿射模型。注意,在空间仿射候选的情况下,一些子块是绝不可用的(例如,块0)。从一些角计算的全仿射模型与当前虚拟空间候选相同。通常,仿射模型可以是3、4或6个参数。通常通过给出与当前PU的一些角相关联的运动矢量来完成参数化。

注意:该顺序可以不同于A0、A1、……A4,但是在编码器和解码器之间是固定的。

图14示出针对4个参数仿射模型的计算所得的仿射模型的实例过程,其中仅拾取角A、B及C。模型列表为:

-空间模型(A、B)

-时间模型(A、B)

-空间模型(A、C)

-时间模型(A、C)

-空间模型(B、C)

-时间模型(B、C),

或者,添加角D会添加以下候选:

-时间模型(B、D)

-时间模型(C、D)

-时间模型(A、D),

或者,对于6个参数仿射模型,可一起使用多达3个角:

-空间模型(A、B、C)

-时间模型(A、B、C)

-时间模型(A、B、D)

-时间模型(B、C、D),

时间候选与空间候选交错。

在所有情况下,当角丢失时,如果其它角可用,则可如PCT/US18/054318(“用于仿射运动预测的仿射模型候选”)中所述进行重构。

在图14中,针对具有6个参数的仿射模型来如图15中所述的那样定义模型有效性(注意,其对于4个参数模型也有效)。

在图15中,当针对列表L0和L1的在A、B和C处的运动矢量相等时,平移模型测试为真。如果仅一个仿射模型(在L0或L1列表中)是平移的,那么认为所述模型为仿射。如果PU是单向的,那么如果唯一仿射模型是平移的,那么模型是平移的。

验证过程首先检查仿射模型不在所有角之间引入大的运动差(前4个测试)。在测试中,A、B和C表示如图12所示的角,A.x和A.y分别表示x和y轴上的运动矢量。值h和w表示PU高度和宽度,并且k是固定常数(例如,对于具有1/16(1/16

然后,将该模型与通常已经在列表中的模型进行比较。如果模型通过所有测试,则将模型添加到列表。

为了改进仿射模型列表的多样性,可创建更多虚拟模型。

图16示出用于导出虚拟仿射模型的附加运动矢量数据Ex和Fx的实例。

位于第一行和最后一行中间的运动矢量是用以创建仿射模型的潜在运动矢量。如果块宽度(或高度,分别地)大于阈值D,则创建这样的候选。在图16中,块宽度被假定为32,以及块高度为16。在高度和宽度都大于D的情况下,更多的潜在运动矢量数据被添加到第一行/最后一行和第一行/最后一列中。

或者,每N个像素定位附加候选运动矢量,其中N通常固定为16个像素。在此情况下,对于块48×16,图17中示出所得运动矢量子块位置。

为了清楚起见,仅示出了中心运动矢量数据。对于空间仿射模型,运动矢量数据位于PU外部,而对于时间仿射模型,运动矢量可在PU内部取得。

在该图中,运动矢量数据由它们相对于运动矢量A0的相对坐标来表示:V=A0+(u*N,v*N),其中u在0和w/N之间,v在0和h/N之间。

通过在每个潜在运动矢量数据上迭代来形成导出的运动模型的列表。图18和图19示出提取4个参数的潜在仿射模型的列表(因此由控制点参数化)的示例过程。该过程在运动矢量数据上迭代并形成角对。在该变型中,交替地迭代角位置的x和y坐标。

当运动矢量数据不可用时,或者当所述对在相同的运动矢量数据上时,跳过潜在候选。注意,在空间仿射模型中,所有运动矢量数据取自PU的边界,而在时间仿射模型中,运动矢量数据可以取自PU内部。

图20示出了对应于图18(左图:光栅扫描)和图19(右侧:Z字形扫描)的运动矢量数据选择的路径。

通过应用类似于等式4所描述的过程的运动模型传递来完成运动模型的推导。例如,在图21中,通过使用矢量(v2,v3,v4)来计算表示为(v0,v1)的仿射模型,如等式4所述。首先,从运动矢量数据v2和v5中推导出矢量v3和v4,然后,考虑到相邻PU为由2个运动矢量数据角形成的PU,使用相同的原理来传递模型。

图23示出了在此描述的一般方面下的方法2300的一个实施例,该方法启动于开始框2301,并且控制进行到框2310,用于为图片中正被编码的视频块的子块确定来自相邻子块和至少一个参考图片的多个预测器候选。控制从框2310进行到框2320,以选择多个预测器候选的子集。控制从框2320进行到框2330,以根据预测器候选的子集,确定用于视频块的一个或多个控制点运动矢量。控制从框2330进行到框2340,以使用一个或多个控制点运动矢量对正被编码的视频块的子块执行仿射运动补偿。运动补偿过程可以包括根据控制点运动矢量确定子块的运动矢量场。控制从框2340进行到框2350以对视频块的子块进行编码。

图24示出了根据这里描述的一般方面的方法2400的一个实施例,该方法启动于开始框2401,并且控制进行到框2410,用于为图片中正被解码的视频块的子块确定来自相邻子块和至少一个参考图片的多个预测器候选。控制从框2410进行到框2420,以选择多个预测器候选的子集。控制从框2420进行到框2430,用于从预测器候选的子集中确定用于视频块的一个或多个控制点运动矢量。控制从框2430前进到框2340,用于使用一个或多个控制点运动矢量对正被解码的视频块的子块执行仿射运动补偿。运动补偿过程可以包括根据控制点运动矢量确定用于子块的运动矢量场。控制从块2440前进到块2450,用于对视频块的子块进行解码。

图25示出了用于使用改进的虚拟时间仿射候选来压缩、编码或解码视频的装置2500的一个实施例。该装置包括处理器2510并且可以通过至少一个端口互连到存储器2520。处理器2510和存储器2520还可以具有到外部连接的一个或多个附加互连。

处理器2510还被配置为在比特流中插入或者接收信息,并且使用插值滤波器进行压缩、编码或者解码。

本文描述了各种方面,包括工具、特征、实施例、模型、方法等。这些方面中的许多方面被描述为具有特定性,并且至少为了示出个体特性,通常以可能听起来受限制的方式来描述。然而,这是为了描述清楚的目的,并且不限制那些方面的应用或范围。实际上,所有不同的方面可以组合和互换以提供另外的方面。此外,这些方面也可以与在较早的申请中描述的方面组合和互换。

本文中描述和预期的方面可以以许多不同的形式来实现。以下图10、11和22提供了一些实施例,但是可以设想其他实施例,并且对图10、11和22的讨论不限制实现的广度。至少一个方面一般涉及视频编码和解码,并且至少一个其它方面一般涉及传送所生成或编码的比特流。这些和其它方面可以实现为方法、装置、其上存储有用于根据所描述的任何方法来编码或解码视频数据的指令的计算机可读存储介质、和/或其上存储有根据所描述的任何方法生成的比特流的计算机可读存储介质。

在本申请中,术语“重构”和“解码”可以互换使用,术语“像素”和“采样”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。通常,但不是必须的,术语“重构”在编码器侧使用,而“解码”在解码器侧使用。

本文描述了各种方法,并且每种方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要特定顺序的步骤或动作,否则可修改或组合特定步骤和/或动作的顺序和/或使用。

本文中描述的各种方法和其它方面可用于修改如图10和图11中所示的视频编码器100和解码器200的模块,例如帧内预测、熵译码和/或解码模块(160、360、145、330),此外,本发明的方面不限于VVC或HEVC,并且可应用于例如其它标准和建议,无论是预先存在的还是将来开发的,以及任何此类标准和建议(包括VVC和HEVC)的扩展。除非另外指出或在技术上排除,否则本文中所描述的方面可单独或组合使用。

在本文件中使用各种数值,例如,{{1,0},{3,1},{1,1}}。具体值是出于示例目的,并且所描述的方面不限于这些具体值。

图10示出了编码器100。可以设想该编码器100的变型,但是为了清楚起见,下面描述编码器100,而不描述所有预期的变型。

在被编码之前,视频序列可以经历预编码处理(101),例如,对输入颜色图片应用颜色变换(例如,从RGB 4:4:4到YCbCr 4:2:0的转换),或者执行输入图片分量的重新映射,以便获得对压缩更有弹性(resilient)的信号分布(例如,使用颜色分量之一的直方图均衡)。元数据可以与预处理相关联并且被附加到比特流。

在编码器100中,如下所述,由编码器元件对图片进行编码。以例如CU为单位,分割(102)并处理要编码的图片。使用例如帧内或帧间模式来编码每个单元。当以帧内模式对单元进行编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的一者来对单元进行编码,并且通过例如预测模式标志来指示帧内/帧间决定。例如,通过从原始图像块中减去(110)预测块来计算预测残差。

然后,对预测残差进行变换(125)和量化(130)。对量化的变换系数以及运动矢量和其它语法元素进行熵编码(145)以输出比特流。编码器可以跳过变换,并直接对未变换的残差信号应用量化。编码器可以绕过变换和量化,即,直接对残差进行译码而不应用变换或量化处理。

编码器对编码块进行解码,以提供用于进一步预测的参考。对量化变换系数进行去量化(140)和逆变换(150)以对预测残差进行解码。组合(155)解码的预测残差和预测块,重构图像块。环内滤波器(165)被应用于重构的图像,以执行例如解块/SAO(采样自适应偏移)滤波,从而减少编码伪像。将滤波图像存储在参考图片缓冲器(180)中。

图11示出了视频解码器200的框图。在解码器200中,如下所述,由解码器元件解码比特流。视频解码器200通常执行与图10中所描述的编码回合互逆的解码回合,编码器100通常还执行视频解码作为编码视频数据的一部分。

解码器的输入包括视频比特流,其可以由视频编码器100生成。比特流首先被熵解码(230)以获得变换系数、运动矢量和其它译码信息。图片分割信息指示图片如何被分割。解码器因此可以根据解码的图片分割信息来划分(235)图片。变换系数被去量化(240)和逆变换(250)以解码预测残差。将解码的预测残差与预测块进行组合(255),重构图像块。预测块可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得(270)。环内滤波器(265)被应用于重构的图像。将滤波图像存储在参考图片缓冲器(280)中。

解码后的图片可以进一步经历后解码处理(285),例如,逆颜色变换(例如,从YCbCr 4:2:0到RGB 4:4:4的转换)或逆重新映射,该逆重新映射为执行在预编码处理(101)中执行的重新映射过程的逆过程。后解码处理可以使用在预编码处理中导出并且在比特流中用信号通知的元数据。

图22示出了其中实现了各个方面和实施例的系统的示例的框图。系统1000可以被实现为包括以下描述的各种组件的设备,并且被配置为执行本文中描述的一个或多个方面。这样的设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器和服务器。系统1000的元件可以单独地或组合地实现在单个集成电路、多个IC和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个IC和/或分立组件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦合到其他类似系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文中描述的一个或多个方面。

系统1000包括至少一个处理器1010,其被配置为执行加载在其中的指令,以用于实现例如本文中描述的各个方面。处理器1010可以包括嵌入式存储器、输入输出接口和本领域已知的各种其它电路。系统1000包括至少一个存储器1020(例如,易失性存储器设备和/或非易失性存储器设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接的存储设备和/或网络可访问的存储设备。

系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码视频或解码视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可包括在装置中以执行编码和/或解码功能的模块(一个或多个)。如已知的,设备可以包括编码模块和解码模块中的一个或两者。另外,编码器/解码器模块1030可实施为系统1000的单独元件或可并入处理器1010内作为如所属领域的技术人员已知的硬件与软件的组合。

要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码可以存储在存储设备1040中,并且随后加载到存储器1020上以供处理器1010执行。根据各种实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一个或多个可以在执行本文中描述的过程期间存储各项目中的一个或多个。这些存储的项目可以包括但不限于输入视频、解码视频或解码视频的部分、比特流、矩阵、变量以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。

在若干实施例中,处理器1010和/或编码器/解码器模块1030内的存储器用于存储指令,且提供用于在编码或解码期间需要的处理的工作存储器。然而,在其它实施例中,处理装置外部的存储器(例如,处理装置可为处理器1010或编码器/解码器模块1030)用于这些功能中的一者或一者以上。外部存储器可以是存储器1020和/或存储设备1040,例如,动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存用于存储电视的操作系统。在至少一个实施例中,诸如RAM的快速外部动态易失性存储器被用作用于视频译码和解码操作的工作存储器,诸如用于MPEG-2、HEVC或VVC(通用视频译码)。

如框1130中所示,可以通过各种输入设备来提供对系统1000的元件的输入。这样的输入设备包括但不限于(i)接收例如由广播公司通过空中传输的RF信号的RF部分,(ii)复合输入终端,(iii)USB输入终端,和/或(iv)HDMI输入终端。

在各种实施例中,框1130的输入设备具有本领域已知的相关联的相应输入处理元件。例如,RF部分可以与必要的元件相关联以用于:(i)选择期望的频率(也称为选择信号,或将信号频带限制到频带),(ii)下变频所选择的信号,(iii)再次频带限制到较窄的频带,以选择(例如)信号频带,在某些实施例中,该信号频带可以称为信道,(iv)解调下变频和频带限制的信号,(v)执行纠错,以及(vi)解复用,以选择期望的数据分组流。各种实施例的RF部分包括一个或多个元件以执行这些功能,例如,频率选择器、信号选择器、限带器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。RF部分可以包括执行各种这些功能的调谐器,这些功能包括例如将接收信号下变频到较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,RF部分及其相关的输入处理元件接收通过有线(例如,电缆)介质发送的RF信号,并通过滤波、下变频和再次滤波到期望的频带来执行频率选择。各种实施例重新安排上述(和其它)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同功能的其它元件。添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数转换器。在各种实施例中,RF部分包括天线。

另外,USB和/或HDMI终端可以包括用于通过USB和/或HDMI连接将系统1000连接到其它电子设备的相应接口处理器。应当理解,输入处理的各个方面,例如里德-所罗门(Reed-Solomon)纠错,可以根据需要在例如单独的输入处理IC或处理器1010内实现。类似地,USB或HDMI接口处理的各方面可以根据需要在单独的接口IC内或在处理器1010内实现。解调、纠错和解复用的流被提供给各种处理元件(包括例如处理器1010和编码器/解码器1030),其与存储器和存储元件结合操作以根据需要处理数据流以便在输出设备上呈现。

系统1000的各种元件可设置在集成壳体内。在集成壳体内,各种元件可使用合适的连接装置1140(例如本领域已知的包括I2C总线、布线和印刷电路板的内部总线)互连并在其间传输数据。

系统1000包括通信接口1050,其使得能够经由通信信道1060与其他设备通信。通信接口1050可以包括但不限于被配置为通过通信信道1060发送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以例如在有线和/或无线介质内实现。

在各种实施例中,使用诸如IEEE 802.11的无线网络将数据流传输到系统1000。这些实施例的无线信号通过例如适于Wi-Fi通信的通信信道1060和通信接口1050被接收。这些实施例的通信信道1060通常连接到接入点或路由器,所述接入点或路由器提供对包括因特网的外部网络的接入以允许流传输应用和其它过顶(over-the-top)通信。其它实施例使用通过输入块1130的HDMI连接传递数据的机顶盒向系统1000提供流数据。还有一些实施例使用输入块1130的RF连接向系统1000提供流数据。

系统1000可以向各种输出设备提供输出信号,所述输出设备包括显示器1100、扬声器1110和其他外围设备1120。在各实施例的各示例中,其他外围设备1120包括独立DVR、盘播放器、立体声系统、照明系统、以及基于系统1000的输出提供功能的其他设备中的一个或多个。在各种实施例中,使用诸如AV.链路、CEC或其他通信协议的信令在系统1000和显示器1100、扬声器1110或其它外围设备1120之间传送控制信号,其使得能够在有或没有用户干预的情况下进行设备到设备控制。输出设备可以经由通过相应接口1070、1080和1090的专用连接通信地耦合到系统1000。或者,输出设备可以使用通信信道1060经由通信接口1050连接到系统1000。显示器1100和扬声器1110可以与系统1000的其它组件一起集成在电子设备(例如电视机)中的单个单元中。在各种实施例中,显示接口1070包括显示驱动器(例如,定时控制器(T Con)芯片)。

例如,如果输入1130的RF部分是单独机顶盒的一部分,则显示器1100和扬声器1110可以备选地与其它组件中的一个或多个分离。在显示器1100和扬声器1110是外部组件的各种实施例中,输出信号可以经由专用输出连接来提供,所述专用输出连接例如包括HDMI端口、USB端口或COMP输出。

这些实施例可以由处理器1010或硬件和软件的组合实现的计算机软件来实现。作为非限制性示例,实施例可以由一个或多个集成电路实现。存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,作为非限制性示例,诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。处理器1010可以是适合于技术环境的任何类型,并且可以包含作为非限制性示例的微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。

各种实现方式涉及解码。如本申请中所使用的,“解码”可以包括例如对接收到的编码序列执行的全部或部分过程,以产生适于显示的最终输出。在各种实施例中,此类过程包括通常由解码器执行的过程中的一个或多个,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,此类过程还或替代地包含由本申请中所描述的各种实施方案的解码器执行的过程,例如,提取待用于各种帧内预测参考阵列的权重的索引。

作为进一步的示例,在一个实施例中,“解码”仅指熵解码,在另一实施例中,“解码”仅指差分解码,并且在另一实施例中,“解码”指熵解码和差分解码的组合。短语“解码过程”是否旨在具体地指代操作的子集,或一般地指代更广泛的解码过程基于具体描述的上下文将是清楚的,并且相信是本领域技术人员所充分理解的。

各种实现涉及编码。以与以上关于“解码”的讨论类似的方式,如在本申请中使用的“编码”可以包括例如对输入视频序列执行的过程的全部或部分,以产生编码比特流。在各种实施例中,此类过程包括通常由编码器执行的一个或多个过程,例如,分割、差分编码、变换、量化和熵编码。在各种实施例中,这样的过程还或替代地包括由本申请中描述的各种实现的编码器执行的过程,例如帧内预测参考阵列的权重。

作为进一步的示例,在一个实施例中,“编码”仅指熵编码,在另一实施例中,“编码”仅指差分编码,而在另一实施例中,“编码”指差分编码和熵编码的组合。短语“编码过程”是否旨在具体地指代操作的子集,或一般地指代更广泛的编码过程将基于具体描述的上下文而变得清楚,并且相信是本领域技术人员所充分理解的。

注意,这里使用的语法元素是描述性术语。因此,它们不排除使用其它语法元素名称。

当附图被呈现为流程图时,应当理解,它还提供了对应装置的框图。类似地,当附图被呈现为框图时,应当理解,它还提供了对应的方法/过程的流程图。

各种实施例涉及速率失真计算或速率失真优化。在编码过程期间,通常考虑计算复杂度的约束,通常考虑速率和失真之间的平衡或折衷。速率失真优化通常被公式化为最小化速率失真函数,速率失真函数是速率和失真的加权和。存在不同的方法来解决速率失真优化问题。例如,这些方法可以基于对所有编码选项的广泛测试,包括所有考虑的模式或译码参数值,在译码和解码之后对它们的译码成本和重构信号的相关失真进行完整评估。还可以使用更快的方法来节省编码复杂度,特别是基于预测或预测残差信号而不是重构信号来计算近似失真。还可以使用这两种方法的混合,例如通过仅对一些可能的编码选项使用近似失真,而对其他编码选项使用完全失真。其它方法仅评估可能的编码选项的子集。更一般地,许多方法采用各种技术中的任何一种来执行优化,但是优化不一定是对译码成本和相关失真两者的完整评估。

本文描述的实现方式和方面可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在单一形式的实现的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现也可以以其他形式(例如,装置或程序)来实现。例如,可以以适当的硬件、软件和固件来实现装置。例如,可以在处理器中实现所述方法,所述处理器通常指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)和便于终端用户之间的信息通信的其他设备。

对“一个实施例”或“实施例”或“一个实现”或“实现”以及其它变化形式的提及意味着结合实施例描述的特定特征、结构、特性等被包含在至少一个实施例中。因此,在贯穿本文的各个地方出现的短语“在一个实施例中”或“在实施例中”或“在一个实现中”或“在实现中”以及任何其他变型的出现不一定都指同一实施例。

另外,本文档可以涉及“确定”各种信息片段。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器检索信息中的一个或多个。

此外,本文档可以涉及“访问”各种信息。访问信息可以包括例如接收信息、检索信息(例如,从存储器)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一个或多个。

另外,本文档可以涉及“接收”各种信息。如同“访问”一样,接收旨在是广义的术语。接收信息可以包括例如访问信息或(例如从存储器)检索信息中的一个或多个。此外,在诸如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以一种方式或另一种方式涉及“接收”。

应当理解,例如在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况下,使用以下“/”、“和/或”以及“……中的至少一个”中的任何一个旨在涵盖仅对第一列出的选项(A)的选择、或仅对第二列出的选项(B)的选择、或对两个选项(A和B)的选择。作为进一步的例子,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这样的措词旨在包括仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者仅选择第三个列出的选项(C),或者仅选择第一个和第二个列出的选项(A和B),或者仅选择第一个和第三个列出的选项(A和C),或者仅选择第二个和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。如本领域和相关领域的普通技术人员所清楚的,这可以扩展到所列的多个项目。

此外,如本文所使用的,词语“用信号通知”尤其是指向对应的解码器指示某物。例如,在某些实施例中,编码器用信号通知将用于帧内预测参考阵列的多个权重中的特定一者。这样,在一个实施例中,在编码器侧和解码器侧使用相同的参数。因此,例如,编码器可以向解码器发送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其它参数,则可以使用信令而不进行发送(隐式信令),以简单地允许解码器知道并选择特定参数。通过避免任何实际功能的传输,在各种实施例中实现了比特节省。应当理解,可以以各种方式来实现信令。例如,在各种实施例中,一个或多个语法元素、标志等被用于将信息用信号通知给对应的解码器。虽然前述内容涉及词语“用信号通知”的动词形式,但是词语“信号”在本文中也可以用作名词。

如对于本领域普通技术人员将显而易见的,实现可以产生被格式化以携带例如可以被存储或发送的信息的各种信号。该信息可以包括例如用于执行方法的指令,或者由所描述的实现之一产生的数据。例如,信号可以被格式化以携带所描述的实施例的比特流。这种信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且利用编码的数据流对载波进行调制。信号携带的信息可以是例如模拟或数字信息。如已知的,信号可以通过各种不同的有线或无线链路来传输。该信号可以存储在处理器可读介质上。

实施例可以包括跨越各种不同的权利要求类别和类型的单独或组合的以下特征或实体中的一个或多个:

·创建附加的虚拟仿射候选。

·虚拟仿射候选的滤波。

·将经滤波的虚拟仿射候选添加到候选列表。

·包括所描述的语法元素或其变型中的一个或多个的比特流或信号。

·创建和/或发送和/或接收和/或解码包括一个或多个所描述的语法元素或其变型的比特流或信号。

·根据所描述的任何实施例执行环路内滤波的TV、机顶盒、蜂窝电话、平板电脑或其他电子设备。

·TV、机顶盒、蜂窝电话、平板电脑或其他电子设备根据所描述的任何实施例执行环内滤波,并且(例如,使用监视器、屏幕或其他类型的显示器)显示所得到的图像。

·TV、机顶盒、蜂窝电话、平板电脑或其他电子设备(例如,使用调谐器)调谐频道以接收包括编码图像的信号,并且根据所描述的任何实施例执行环内滤波。

·TV、机顶盒、蜂窝电话、平板电脑或其他电子设备通过空中(例如,使用天线)接收包括编码图像的信号,并且根据所描述的实施例中的任何一个执行环内滤波。

在本公开的全文中,还支持和设想了各种其它一般化的以及特殊化的实施例、方面和权利要求。

相关技术
  • 改进的虚拟时间仿射候选
  • 虚拟时间仿射候选
技术分类

06120112752668