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

视频编解码中的自适应分辨率改变

文献发布时间:2023-06-19 13:48:08


视频编解码中的自适应分辨率改变

相关申请的交叉引用

根据适用的专利法和/或按照巴黎公约的规则,本申请旨在及时要求2019年5月16日提交的国际专利申请PCT/CN2019/087209的优先权和利益。其全部公开内容通过引用而并入作为本申请的公开内容的一部分。

技术领域

本专利文档涉及视频编解码技术、设备和系统。

背景技术

尽管视频压缩技术有所进步,但数字视频仍然占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的联网用户设备数量的增加,预期数字视频使用的带宽需求将继续增长。

发明内容

描述了与数字视频编解码相关的设备、系统和方法,特别是与视频编解码的比特深度和颜色格式转换相关。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(High Efficiency Video Coding,HEVC))和未来的视频编解码标准或者视频编解码器。

在一个代表性方面,公开了一种用于视频处理的方法,包括:对于当前视频块,确定当前视频块所参考的两个参考图片的分辨率之间的关系;响应于该关系,确定在自适应分辨率改变(ARC)过程期间是否和/或如何对当前视频块执行特定操作;以及基于该特定操作,执行当前视频块的比特流表示与当前视频块之间的转换。

在另一代表性方面,公开了一种用于视频处理的方法,包括:对于当前图片内的视频块,确定当前图片的分辨率与该视频块所参考的参考图片的分辨率之间的关系;以及响应于该关系,在自适应分辨率变化(ARC)过程期间对参考图片内的样点或视频块的预测块执行特定操作;以及基于该特定操作,执行当前视频块的比特流表示与当前视频块之间的转换。

在又一代表性方面,上述方法以处理器可执行代码的形式体现,并存储在计算机可读程序介质中。

在又一代表性方面,公开了一种被配置或可操作来执行上述方法的设备。该设备可以包括被编程来实施该方法的处理器。

在又一代表性方面,视频解码器装置可以实施本文描述的方法。

在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面和特征。

附图说明

图1示出了以不同分辨率编解码的相同内容的两个表示的自适应流的示例。

图2示出了以不同分辨率编解码的相同内容的两个表示的自适应流的另一示例,其中,片段使用封闭的图片组(GOP)或开放的GOP预测结构。

图3示出了两个表示的开放的GOP预测结构的示例。

图4示出了在开放的GOP位置处切换的表示的示例。

图5示出了使用来自另一比特流的重采样参考图片作为参考来解码随机接入跳过引导(RASL)图片的示例。

图6A-图6C示出了基于运动受约束的片(tile)集(MCTS)的基于区域的混合分辨率(RWMR)视口相关的360流传输的示例。

图7示出了不同的帧内随机接入点(IRAP)间隔和不同的尺寸的并置(collocate)子图片表示的示例。

图8示出了当观看方位改变导致在片段的开始处的分辨率改变时接收到的片段的示例。

图9示出观看方位改变的示例。

图10示出了用于两个子图片位置的子图片表示的示例。

图11示出了用于自适应分辨率转换(ARC)的编码器修改的示例。

图12示出了用于ARC的解码器修改的示例。

图13示出了用于ARC的基于片组的重采样的示例。

图14示出了ARC过程的示例。

图15示出了用于编解码单元的可选时域运动矢量预测(ATMVP)的示例。

图16A-图16B示出了简化的仿射运动模型的示例。

图17示出了每一子块的仿射运动矢量场(MVF)的示例。

图18A和图18B分别示出了4参数仿射模型和6参数仿射模型的示例。

图19示出了针对继承的仿射候选的AF_INTER的运动矢量预测(MVP)的示例。

图20示出了针对所构造的仿射候选的AF_INTER的MVP的示例。

图21A和图21B示出AF_MERGE的候选的示例。

图22示出了仿射merge模式的候选位置的示例。

图23是用于实施本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。

图24示出了用于视频处理的示例方法的流程图。

图25示出了用于视频处理的另一示例方法的流程图。

具体实施方式

所公开的技术的实施例可以应用于现有视频编解码标准(例如,HEVC、H.265)和未来标准以改善压缩性能。在本文档中使用章节标题来提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实施方式)仅限于相应节。

1.视频编解码介绍

由于对高分辨率视频的需求日益增长,视频编解码方法和技术普遍存在于现代技术中。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且正在不断改进以提供更高的编解码效率。视频编解码器将未压缩视频转换成压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、易于编辑、随机存取和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编解码(HEVC)标准(也称为H.265或MPEG-H第2部分)、将要定案的多功能视频编解码(Versatile Video Coding,VVC)标准或其他当前和/或未来的视频编解码标准。

视频编解码标准主要是通过熟知的ITU-T和ISO/IEC标准的发展而演变的。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4可视化,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用时域预测加变换编码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索组(Joint Video Exploration Team,JVET)。此后,JVET采用了许多新方法,并将其放入名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家组(JVET)成立,以致力于多功能视频编解码(VVC)标准,目标是与HEVC相比将比特率降低50%。

AVC和HEVC不具有改变分辨率而无需引入IDR或帧内随机接入点(IRAP)图片的能力;这种能力可以称为自适应分辨率改变(ARC)。有一些用例或应用场景可以从ARC特征中受益,包括以下内容:

–视频电话和会议中的速率自适应:为了使编解码的视频适应变化的网络状况,当网络状况变差以使可用带宽变小时,编码器可以通过对较小分辨率的图片进行编码来适应它。目前,只有在IRAP图片之后才能改变图片分辨率。这有几个问题。具有合理质量的IRAP图片将比帧间编解码图片大得多,并且解码起来也将相应地更加复杂:这会浪费时间和资源。如果解码器出于加载原因请求改变分辨率,则会出现问题。它还可能破坏低延迟缓冲器条件,从而迫使音频重新同步,并且流的端到端延迟将增加,至少是暂时增加。这会给用户带来糟糕的体验。

–多方视频会议中的活跃发言人改变:对于多方视频会议,通常以大于其他会议参与者视频的视频尺寸显示活跃发言人。当活跃发言人改变时,可能还需要调整每个参与者的图片分辨率。当有源扬声器中的这种改变频繁发生时,具有ARC功能的需求变得尤为重要。

–流传输中的快速启动:对于流传输应用程序,通常在开始显示之前,该应用程序会缓冲一定长度的解码图片。以较小的分辨率启动比特流将允许应用程序在缓冲器中具有足够的图片以启动更快地显示。

流传输中的自适应流切换:基于HTTP的动态自适应流传输(DASH)规范包括名为@mediaStreamStructureId的特征。这使得能够在具有不可解码的前导图片(例如,HEVC中的具有相关联的RASL图片的CRA图片)的开放GOP随机接入点处的不同表示之间进行切换。当同一视频的两个不同表示具有不同的比特率但具有相同的空域分辨率,同时它们具有相同的@mediaStreamStructureId值时,能够在具有相关联的RASL图像的CRA图片的两个表示之间进行切换,并且能够以可接受的质量对与切换到CRA图片相关联的RASL图片进行解码,从而使能无缝切换。利用ARC,@mediaStreamStructureId特征也可用于在具有不同空域分辨率的DASH表示之间进行切换。

ARC也称为动态分辨率转换。

ARC也可以被视为参考图片重采样(RPR)的特殊情况,诸如H.263附件P。

1.1.H.263附录P中的参考图片重采样

此模式描述了一种在参考图片用于预测之前扭曲参考图片的算法。这对于对具有与被预测的图片不同的源格式的参考图片进行重新采样可能是有用的。它还可以通过扭曲参考图片的形状、尺寸和位置来用于全局运动估计或旋转运动估计。语法包括要使用的扭曲参数以及重采样算法。参考图片重采样模式的最简单操作级别是4重采样的隐式因子,因为只需要将FIR滤波器应用于上采样和下采样过程。在这种情况下,不需要额外的信令开销,因为当新图片(在图片头中指示)的尺寸不同于先前图片的尺寸时,可以理解它的使用。

1.2.ARC对VVC的贡献

1.2.1.JVET-M0135

下面描述的ARC的初步设计建议作为占位符以触发讨论,其中一些部分取自JCTVC-F158。

1.2.1.1基本工具描述

支持ARC的基本工具约束如下:

·空域分辨率可能与适用于两个维度的标称分辨率相差0.5倍。空域分辨率可能会增加或减少,从而导致缩放比例为0.5和2.0。

·视频格式的宽高比和色度格式不变。

·种植(cropping)面积与空域分辨率成比例进行缩放。

·只需根据需要重新缩放参考图片,并照常应用帧间预测。

1.2.1.2缩放操作

提出了使用简单的零相位可分离的向下缩放和向上缩放滤波器。请注意,这些滤波器仅用于预测;解码器可以将更复杂的缩放用于输出目的。使用以下1:2缩小滤波器,该滤波器具有零相位和5个抽头:(-1,9,16,16,9,-1)/32

下采样点位于均匀的采样位置,并且是同址的。对于亮度和色度使用相同的滤波器。

对于2:1上采样,使用最新VVC WD中的半像素运动补偿插值滤波器系数在奇数网格位置处生成附加的样点。

组合的上采样和下采样将不会改变相位或色度采样点的位置。

1.2.1.3参数集中的分辨率描述

SPS中图片分辨率的信令改变如下所示,在本文档的下面的描述和其余部分均用双括号标记删除(例如,[[a]]表示字符“a”的删除)。

序列参数集RBSP语法和语义

[[pic_width_in_luma_samples以亮度样点为单位指定每个解码图片的宽度。pic_width_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。

pic_height_in_luma_samples以亮度样点为单位指定每个解码图片的高度。pic_height_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。]]

num_pic_size_in_luma_samples_minus1加1以可以出现在编解码视频序列中的亮度样点为单位指定图片尺寸(宽度和高度)数量。

pic_width_in_luma_samples[i]以可能出现在编解码视频序列中的亮度样点为单位指定解码图片的第i个宽度。pic_width_in_luma_samples[i]不应等于0,并且应为MinCbSizeY的整数倍。

pic_height_in_luma_samples[i]以可以出现在编解码视频序列中的亮度样点为单位指定解码图片的第i个高度。pic_height_in_luma_samples[i]不应等于0,并且应为MinCbSizeY的整数倍。

图片参数集RBSP语法和语义

pic_size_idx指定序列参数集中第i个图片尺寸的索引。参考图片参数集的图片的宽度在亮度样点中为pic_width_in_luma_samples[pic_size_idx]。同样,参考图片参数集的图片高度在亮度样点中为pic_height_in_luma_samples[pic_size_idx]。

1.2.2.JVET-M0259

1.2.2.1.背景:子图片

术语“子图片轨”在全向媒体格式(OMAF)中的定义如下:与其他轨具有空域关系并表示代表原始视频内容的空域子集的轨,其已经拆分为在内容产生侧进行视频编码之前的空域子集。可以通过重写运动约束的片集的参数集和条带片段头来构造用于HEVC的子图片轨,以使其成为独立的HEVC比特流。子图片表示可以定义为承载子图片轨的DASH表示。

JVET-M0261使用术语“子图片”作为VVC的空域分割单元,总结如下:

1.图片划分为子图片、片组和片。

2.子图片是以片组开始的矩形片组集合,片组的tile_group_address等于0。

3.每个子图片可以参考其自己的PPS,因此可能具有自己的片分割。

4.子图片在解码过程中被视为图片。

5.通过从解码图片缓冲器中的参考图片中提取与当前子图片并置的区域来生成用于解码该子图片的参考图片。提取的区域将是解码子图片,即,帧间预测发生在图片中相同尺寸和相同位置的子图片之间。

6.片组是子图片的片光栅扫描中的片序列。

在本文中,我们指的是JVET-M0261中定义的术语“子图片”。然而,如在JVET-M0261中定义的封装子图片序列的轨具有与在OMAF中定义的子图片轨非常相似的性质,以下给出的示例在两种情况下均适用。

1.2.2.2.用例

1.2.2.2.1.流中的自适应分辨率改变

支持自适应流的要求

MPEG N17074的第5.13节(“支持自适应流”)包括对VVC的以下要求:

在自适应流服务提供了相同内容的多个表示的情况下,每个表示具有不同的属性(例如,空域分辨率或采样比特深度),该标准应支持快速表示切换。该标准应能够使用有效的预测结构(例如,所谓的开放图片组),而不会影响不同属性(例如,不同空域分辨率)的表示之间的快速无缝切换表示能力。

具有表示切换的开放GOP预测结构的示例

用于自适应比特率流传输的内容生成包括不同表示的生成,这些表示可以具有不同的空域分辨率。客户端从表示请求片段,因此可以决定以哪种分辨率和比特率接收内容。在客户端,连接、解码和播放不同表示的片段。客户端应该能够使用一个解码器实例实现无缝播放。如图1所示,通常使用封闭GOP结构(从IDR图片开始)。与相应的封闭GOP预测结构相比,开放GOP预测结构(从CRA图片开始)可实现更好的压缩性能。例如,以24张图片的IRAP图片间隔来实现在亮度Bjontegaard delta比特率方面降低了5.6%的平均比特率。

开放GOP预测结构还减少了主观可见的质量差劣(pumping)。

在流传输中使用开放GOP的一个挑战是,在切换表示之后,无法使用正确的参考图片对RASL图片进行解码。我们将在下面相对于图2中的表示来描述该挑战。

以CRA图片开始的分段包含RASL图片,在其先前分段中至少有一个参考图片。这在图3中示出,两个比特流中的图片0都驻留在先前分段中,并且用作用于预测RASL图片的参考。

在图2中用虚线矩形标记的表示切换在图4中示出。可以看出,用于RASL图片的参考图片(“图片0”)没有被解码。因此,RASL图片是不可解码的,并且视频的播出会有间隙。

然而,如本发明的实施例所描述的,已经发现用重采样的参考图片来解码RASL图片是主观上可接受的。在图5中示出了“图片0”的重采样并将其用作用于解码RASL图片的参考图片。

1.2.2.2.2.基于区域混合分辨率(RWMR)360°视频流传输中的视口变化背景:基于HEVC的RWMR流传输

RWMR 360°流传输在视口上提供了更高的有效空域分辨率。覆盖视口的片源自具有“4K”解码能力(HEVC级别5.1)的6K(6144×3072)ERP图片或等效CMP分辨率的方案(如图6所示)包括在OMAF的条款D.6.3和D.6.4中,并且也在VR行业论坛指南中采用。声称这样的分辨率适合使用四倍HD(2560×1440)显示面板的头戴式显示器。

背景:视口相关的360°流传输的不同IRAP间隔的几种表示

当基于HEVC的视口相关的360°流传输中的观看方向发生变化时,子图片表示的新选择可以在下一个IRAP对齐的片段边界处生效。子图片表示被合并为编解码图片以进行解码,因此,VCL NAL单元类型在所有选择的子图片表示中对齐。

为了在观看方向稳定时在对观看方向变化做出反应的响应时间与速率失真性能之间做出折衷,可以以不同的IRAP间隔对内容的多个版本进行编解码。这在图7中示出对于图6中呈现的用于编码的一个并置的子图片表示的一个集合。

图8示出了其中首先选择子图片位置以较低分辨率(384×384)接收的示例。观看方向的改变会导致以更高的分辨率(768×768)接收子图片位置的新选择。在该示例中,发生观看方向改变,使得从短IRAP间隔子图片表示中接收到片段4。此后,观看方向是稳定的,因此,可以从片段5开始往前使用长IRAP间隔版本。

问题陈述

由于在典型的观看情况下观看方向逐渐移动,因此,在RWMR视口相关的流传输中,分辨率仅在子图片位置的子集中发生变化。图9示出了观看方向变化从图6稍微向上并朝右方的立方体面。具有与先前不同分辨率的立方体面分区以“C”表示。可以观察到,在24个立方体面分区中的6个的分辨率有所变化。然而,如上所述,响应于观看方向改变,需要针对所有24个立方体面分区接收以IRAP图片开始的片段。以IRAP图片开头的片段更新所有子图片位置在流传输速率失真性能方面效率很低。

另外,希望将开放GOP预测结构与RWMR 360°流传输的子图片表示一起使用的能力,以提高速率失真性能并避免由封闭GOP预测结构引起的可见图片质量差劣。

提出的设计目标

提出以下设计目标:

1.VVC设计应允许将源自随机访问图片的子图片和源自非随机访问图片的另一子图片合并为符合VVC的同一编解码图片。

2.VVC设计应使能在子图片表示中使用开放GOP预测结构,而不会影响不同属性(诸如不同空域分辨率)的子图片表示之间的快速无缝表示切换能力,同时能够将子图片表示合并为单个VVC比特流。

设计目标可以用图10来示出,其中呈现了两个子图片位置的子图片表示。对于两个子图片位置,针对两种分辨率和两个随机访问间隔之间的每种组合,对内容的单独版本进行编解码。一些片段以开放GOP预测结构开始。观看方向改变导致子图片位置1的分辨率在片段4的开始处切换。由于片段4以与RASL图片相关联的CRA图片开始,因此处于片段3中的RASL图片的那些参考图片需要重新采样。应当指出,该重采样适用于子图片位置1,而其他一些子图片位置的解码子图片没有被重新采样。在该示例中,观看方向改变不会引起子图片位置2的分辨率的改变,因此子图片位置2的解码子图片不会被重新采样。在片段4的第一图片中,用于子图片位置1的片段包含源自CRA图片的子图片,而用于子图片位置2的片段包含源自非随机访问图片的子图片。建议在VVC中允许将这些子图片合并为编解码图片。

1.2.2.2.3.视频会议中的自适应分辨率改变

JCTVC-F158提出了自适应分辨率改变主要用于视频会议。以下小节是从JCTVC-F158复制而来的,并介绍了自适应分辨率改变被认为是有用的用例。

无缝的网络自适应和错误恢复

诸如视频会议和通过分组网络进行流传输之类的应用经常要求编码流适应不断变化的网络状况,尤其是在比特率太高且数据丢失的情况下。这样的应用通常具有返回通道,允许编码器检测错误并执行调整。编码器有两个主要工具可供使用:降低比特率和改变时域或空域分辨率。通过使用分层预测结构进行编解码,可以有效地实现时域分辨率变化。然而,为了获得最佳质量,需要改变空域分辨率以及视频通信设计良好的编码器的一部分。

在AVC中改变空域分辨率需要发送IDR帧并且重置流。这导致严重的问题。具有合理质量的IDR帧将比帧间图片大得多,并且解码起来也将相应地更加复杂:这会浪费时间和资源。如果解码器出于加载原因请求改变分辨率,则会出现问题。它还可能破坏低等待时间缓冲器条件,从而迫使音频重新同步,并且流的端到端延迟将增加,至少是暂时增加。这给用户带来不好的体验。

为了最小化这些问题,IDR通常使用与P帧相似的比特数以低质量发送,并且对于给定的分辨率,要花费大量时间才能恢复到完整质量。为了获得足够低的延迟,质量可能确实非常低,并且在图像“重新聚焦”之前通常会出现可见的模糊。实际上,帧内帧在压缩方面用处很少:它只是一种重新启动流的方法。

因此,需要在HEVC中在对主观体验的影响最小的情况下允许改变分辨率的方法,尤其是在具有挑战性的网络条件下。

快速启动

具有“快速启动”模式将很有用,其中以降低的分辨率发送第一帧,并在接下来的几帧中提高分辨率,以减少延迟并更快地恢复正常质量,而不会在开始时出现不可接受的图像模糊。

会议“编写”

视频会议通常还具有一项功能,即以全屏方式显示讲话者,以较小的分辨率窗口显示其他参与者。为了有效地支持此功能,通常以较低的分辨率发送较小的图片。然后,当参与者成为发言人并全屏显示时,此分辨率会提高。此时发送帧内帧会导致视频流出现不愉快停顿(hiccup)。如果发言人快速交替,则这种效果可能会非常明显且令人不快。

1.2.2.3.提出的设计目标

以下是针对VVC版本1提出的高级设计选择:

1.提出了针对以下用例在VVC版本1中包括参考图片重采样过程:

·在自适应流传输中使用有效的预测结构(例如,所谓的开放图片组),而不会影响不同属性(诸如不同空域分辨率)的表示之间快速且无缝的表示切换能力。

·使低延迟会议视频内容适应网络条件和应用引起的分辨率改变,而不会出现明显的延迟或延迟变化。

2.提出了VVC设计,以允许将源自随机访问图片的子图片和源自非随机访问图片的另一子图片合并为符合VVC的同一编码图片。声称可以有效处理混合质量和混合分辨率视口360°流传输中的观看方向改变。

3.提出了在VVC版本1中包括基于子图片的重采样过程。声称能够实现有效的预测结构,以便在混合分辨率视口自适应360°流传输中更有效地处理视图方向改变。

1.2.3.JVET-N0048

JVET-M0259中详细讨论了自适应分辨率改变(ARC)的用例和设计目标。以下是简要内容:

1.实时通信

JCTVC-F158最初包括以下用于自适应分辨率改变的用例:

a.无缝网络自适应和错误恢复(通过动态自适应分辨率改变)

b.快速启动(会话启动或重置时逐渐提高分辨率)

c.会议“编写”(发言人得到更高的分辨率)

2.自适应流传输

MPEG N17074的第5.13节(“支持自适应流传输”)包括对VVC的以下要求:

在自适应流传输服务提供了相同内容的多个表示的情况下,该标准应支持快速表示切换,每个表示具有不同的属性(例如,空域分辨率或采样比特深度)。该标准应允许使用有效的预测结构(例如,所谓的开放图片组),而不会影响不同属性(诸如不同空域分辨率)的表示之间的快速且无缝切换表示能力。

JVET-M0259讨论了如何通过对前导图片的参考图片进行重采样来满足此要求。

3.360度视口相关的流传输

JVET-M0259讨论了如何通过对前导图片的参考图片的某些独立编解码的图片区域进行重采样来解决此用例。

此文稿提出了一种自适应分辨率编解码方法,其声称可以满足上述所有用例和设计目标。此提议与JVET-N0045(提出独立的子图片层)一起处理与360度视口相关的流初始和会议“编写”用例。

提出的的规范文本

信令

sps_max_rpr

sps_max_rpr指定对于pic_width_in_luma_samples和pic_height_in_luma_samples分别不等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的CVS中的任何片组,参考图片列表0或1中的活动参考图片的最大数量。

图片宽度和高度

max_width_in_luma_samples指定对于该SPS处于活动状态的CVS的任何图片,任何活动PPS中的pic_width_in_luma_samples小于或等于max_width_in_luma_samples,这是比特流一致性的要求。

max_height_in_luma_samples指定对于该SPS处于活动状态的CVS的任何图片,任何活动PPS中的pic_height_in_luma_samples小于或等于max_height_in_luma_samples,这是比特流一致性的要求。

高级解码过程

当前图片CurrPic的解码过程如下:

1.条款8.2指定NAL单元的解码。

2.条款8.3中的过程指定使用片组标头层中及以上中的语法元素的以下解码过程:

–如条款8.3.1所指定的,推导与图像顺序计数相关的变量和函数。这仅需要对图片的第一片组调用。

–在非IDR图片的每个片组的解码过程开始时,调用条款8.3.2中指定的参考图片列表构造的解码过程,以推导参考图片列表0(RefPicList[0])和参考图片列表1(RefPicList[1])。

–调用条款8.3.3中用于参考图片标记的解码过程,其中参考图片可以标记为“未用于参考”或“用于长期参考”。这仅需要对图片的第一片组调用。

–对于RefPicList[0]和RefPicList[1]中的每个活动参考图片,其pic_width_in_luma_samples或pic_height_in_luma_samples分别不等于CurrPic的pic_width_in_luma_samples或pic_height_in_luma_samples,以下适用:

–调用条款X.Y.Z中的重采样过程[Ed.(MH):要添加的调用参数的详细信息],其输出具有与输入相同的参考图片标记和图片顺序计数。

–用作重采样过程输入的参考图片被标记为“未用于参考”。

3.[Ed.(YK):在此添加对编码树单元的解码过程、缩放、变换、环路滤波等的调用]

4.在对当前图片的所有片组进行解码之后,将当前解码的图片标记为“用于短期参考”。

重采样过程

提出了SHVC重采样过程(HEVC条款H.8.1.4.2),并增加了以下内容:…

如果sps_ref_wraparound_enabled_flag等于0,则n=0..7的样点值tempArray[n]被推导如下:

否则,n=0..7的样点值tempArray[n]被推导如下:

refOffset=(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY tempArray[n]=(f

如果sps_ref_wraparound_enabled_flag等于0,则n=0..3的样点值tempArray[n]被推导如下:

tempArray[n]=(f

f

否则,n=0..3的样点值tempArray[n]被推导如下:

refOffset=(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY)/SubWidthCtempArray[n]=(f

1.2.4.JVET-N0052

自适应分辨率改变作为视频压缩标准中的一个概念,至少自1996年以来就已出现;特别是针对参考图片重采样(RPR,附件P)和降低分辨率更新(附件Q)的H.263+相关提议。它最近获得了一定的关注,首先是思科在JCT-VC期间提出的提议,然后是在VP9(如今已经适度广泛部署)的背景下,最近是在VVC的背景下。ARC可以减少为给定图片编解码所需的样点数量,并在需要时将得到的参考图片上采样到更高的分辨率。

我们认为在两种场景下特别关注ARC:

1)帧内编解码图片(诸如IDR图片)通常比帧间图片大很多。无论出于何种原因,意图进行帧内编解码的下采样图片都可以为将来的预测提供更好的输入。从速率控制的角度来看,它显然也是有利的,至少在低延迟应用方面。

2)当在断点附近操作编解码器时,至少某些电缆和卫星运营商通常会这样做,即使对于非帧内编解码的图片,ARC也会变得很方便,诸如在没有硬转换点的场景转换中。

3)也许有点太过向前:固定分辨率的概念是否是合乎情理的?随着CRT的出现和渲染设备中缩放引擎的普及,渲染和编解码分辨率之间的硬绑定已成为过去。并且,我们注意到,有一些研究表明,当视频序列中发生很多活动时,即使该活动在空间上位于其他地方,大多数人也无法专注于精细细节(可能与高分辨率相关联)。如果这是正确的并且被普遍接受,则与自适应QP相比,精细的粒度分辨率改变可能是更好的速率控制机制。我们现在提出这一点进行讨论,因为我们缺乏数据——感谢知情人士的反馈。当然,摒弃固定分辨率比特流的概念具有无数的系统层和实施含义,我们对此非常了解(至少在它们存在的层次上,如果不是它们的详细本质的话)。

从技术上讲,ARC可以实施为参考图片重采样。实施参考图片重采样有两个主要方面:重采样滤波器和比特流中重采样信息的信令。本文档重点关注后者,仅在我们具有实施经验的范围内才触及前者。鼓励对合适的滤波器设计进行更多的研究。

现有ARC实施方式概述

图11和图12分别示出了现有的ARC编码器/解码器的实施方式。在我们的实施方式中,有可能根据每一图片粒度来改变图片的宽度和高度,而与图片类型无关。在编码器处,将输入图像数据下采样为当前图片编码的所选择的图片尺寸。在将第一输入图片编码为帧内图片之后,将解码图片存储在解码图片缓冲器(DPB)中。当随后的图片以不同的采样率降采样并编码为帧间图片时,DPB中的参考图片将根据参考图片尺寸与当前图片尺寸之间的空间比例进行放大/缩小。在解码器处,解码图片存储在DPB中而无需重新采样。然而,当用于运动补偿时,DPB中的参考图片相对于当前解码图片与参考之间的空间比例被放大/缩小。解码图片被突显以进行显示时,将被上采样为原始图片尺寸或所需的输出图片尺寸。在运动估计/补偿过程中,相对于图片尺寸比率以及图片顺序计数差来缩放运动矢量。

ARC参数的信令

术语ARC参数在本文中用作使ARC工作所需的任何参数的组合。在最简单的情况下,可能是缩放因子,或者是具有已定义的缩放因子的表的索引。它可以是目标分辨率(例如,以样点或最大CU尺寸粒度),也可以是提供目标分辨率的表的索引,如JVET-M0135中提出的那样。还包括所使用的上/下采样滤波器的滤波器选择器,甚至滤波器参数(一直到滤波器系数)。

从一开始,我们在这里提出至少在概念上允许图片的不同部分使用不同的ARC参数。我们提出根据当前VVC草案的适当语法结构应为矩形片组(TG)。那些使用扫描顺序TG将被限制只能对全图使用ARC,或者将扫描顺序TG包括在矩形TG中的程度(我们不记得到目前为止已经讨论了TG嵌套,也许是一个坏主意)。其可以通过比特流约束轻松指定。

由于不同的TG可能具有不同的ARC参数,ARC参数的适当位置可以是在TG头中或在具有TG范围的参数集中,并被TG头参考——当前VVC草案中的自适应参数集,或在更高参数集中的表格中的更详细的参考(索引)。在这三个选项中,我们提出,在这一点上,使用TG报头来编码对包括ARC参数的表条目的参考,并且该表位于SPS中,最大表值编码在(即将到来的)DPS中。我们可以将缩放因子直接编码到TG头中,而不使用任何参数集值。如JVET-M0135中所提出的,如果像我们所做的那样,ARC参数的每一片组信令是一个设计标准,则使用PPS作为参考是相反指示的。

对于表条目本身,我们可以看到许多选项:

·对下采样因子进行编解码,一个用于两个维度,一个独立用于X和Y维度?这主要是一个(硬件)实施的讨论,有些人可能更喜欢这样的结果,即X维度的缩放因子相当灵活,但Y维度的缩放因子被固定为1,或者几乎没有选择。我们认为语法是表达这种约束的错误地方,如果需要的话,我们更喜欢将约束表达为一致性需求。换句话说,保持语法的灵活性。

·编解码目标分辨率。这就是我们下面的提议。相对于当前分辨率,这些分辨率可能有或多或少的复杂约束,可能用比特流一致性要求来表示。

·优选对每一片组进行下采样,以允许进行图片合成/提取。然而,从信令的角度来看,这并不重要。如果组做出了不明智的决定,只允许以图片粒度的ARC,我们总是可以包括使用相同ARC参数的所有TG的比特流一致性的要求。

·与ARC相关的控制信息。在我们下面的设计中,这包括参考图片尺寸。

·滤波器设计需要灵活性吗?有比几个代码点更大的吗?如果有,把那些放进APS?(不,请不要再APS更新讨论了。如果下采样滤波器改变,而ALF保持不变,则我们提出比特流必须吃掉开销)。

现在,为了(尽可能)使得提出的技术一致和简单,我们提出

·固定滤波器设计

·SPS中的表中的目标分辨率,具有比特流约束TBD。

·DPS中的最小/最大目标分辨率,以促进上限(cap)交换/协商。

得到的语法可能如下所示:

解码器参数集RBSP语法

max_pic_width_in_luma_samples指定以比特流中的亮度样点为单位的解码图片的最大宽度。max_pic_width_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。dec_pic_width_in_luma_samples[i]的值不能大于max_pic_width_in_luma_samples的值。

max_pic_height_in_luma_samples指定以亮度样点为单位的解码图片的最大高度。max_pic_height_in_luma_samples不得等于0,并且应为MinCbSizeY的整数倍。dec_pic_height_in_luma_samples[i]的值不能大于max_pic_height_in_luma_samples的值。

序列参数集RBSP语法

adaptive_pic_resolution_change_flag等于1指定输出图片尺寸(output_pic_width_in_luma_samples,output_pic_height_in_luma_samples),解码图片尺寸的数量的指示(num_dec_pic_size_in_luma_samples_minus1)和至少一个解码图片尺寸(dec_pic_width_in_luma_samples[i],dec_pic_height_in_luma_samples[i])在SPS中存在。以为reference_pic_size_present_flag的值条件而存在参考图片尺寸(reference_pic_width_in_luma_samples,reference_pic_height_in_luma_samples)。

output_pic_width_in_luma_samples指定以亮度样点为单位的输出图片的宽度。output_pic_width_in_luma_samples不应等于0。

output_pic_height_in_luma_samples指定以亮度样点为单位的输出图片的高度。output_pic_height_in_luma_samples不应等于0。

reference_pic_size_present_flag等于1指示存在reference_pic_width_in_luma_samples和reference_pic_height_in_luma_samples。

reference_pic_width_in_luma_samples指定以亮度样点为单位的参考图片的宽度。output_pic_width_in_luma_samples不应等于0。如果不存在,则推断reference_pic_width_in_luma_samples的值等于dec_pic_width_in_luma_samples[i]。

reference_pic_height_in_luma_samples指定以亮度样点为单位的参考图片的高度。output_pic_height_in_luma_samples不应等于0。如果不存在,则推断reference_pic_height_in_luma_samples的值等于dec_pic_height_in_luma_samples[i]。

注1–输出图像的尺寸应等于output_pic_width_in_luma_samples和output_pic_height_in_luma_samples的值。当参考图片用于运动补偿时,参考图片的尺寸应等于reference_pic_width_in_luma_samples和_pic_height_in_luma_samples的值。

num_dec_pic_size_in_luma_samples_minus1加1指定编解码视频序列中以亮度样点为单位的解码图片尺寸的数量(dec_pic_width_in_luma_samples[i],dec_pic_height_in_luma_samples[i])。

dec_pic_width_in_luma_samples[i]指定编解码视频序列中以亮度样点为单位的解码图片尺寸的第i个宽度。dec_pic_width_in_luma_samples[i]不应等于0,并且应为MinCbSizeY的整数倍。

dec_pic_height_in_luma_samples[i]指定编解码视频序列中以亮度样点为单位的解码图片尺寸的第i个高度。dec_pic_height_in_luma_samples[i]不应等于0,并且应为MinCbSizeY的整数倍。

注2–第i个解码图片尺寸(dec_pic_width_in_luma_samples[i],dec_pic_height_in_luma_samples[i])可以等于编解码视频序列中解码图片的解码图片尺寸。

片组标头语法

dec_pic_size_idx指定解码图片的宽度应等于pic_width_in_luma_samples[dec_pic_size_idx],并且解码图片的高度应等于pic_height_in_luma_samples[dec_pic_size_idx]。

滤波器

提出的设计从概念上包括四个不同的滤波器集:从原始图片到输入图片的下采样滤波器、重新缩放参考图片以进行运动估计/补偿的上/下采样滤波器、以及从解码图片到输出图片的上采样滤波器。第一个和最后一个可以保留为非规范性事项。在规范范围内,需要在适当的参数集中显式地信令通知或预先定义上/下采样滤波器。

我们的实施方式使用SHVC的下采样滤波器(SHM版本12.4)(它是12抽头和2D可分离的滤波器)进行下采样,以调整用于运动补偿的参考图片的尺寸。在当前实施方式中,仅支持二进采样。因此,下采样滤波器的相位默认设置为零。对于上采样,使用具有16个相位的8抽头插值滤波器,以移位相位并将亮度和色度像素位置对准原始位置。

表1和表2提供了用于亮度上采样过程的8抽头滤波器系数fL[p,x],其中p=0..15和x=0..7,以及用于色度上采样过程的4抽头滤波器系数fC[p,x],其中p=0..15和x=0..3。

表3提供了用于下采样过程的12抽头滤波器系数。亮度和色度均使用相同的滤波器系数进行下采样。

表1.具有16相位的亮度上采样滤波器

表2.具有16相位的色度上采样滤波器

表3.亮度和色度的下采样滤波器系数

我们尚未尝试其他滤波器设计。我们预计(也许很明显),当使用适应于内容和/或缩放因子的滤波器时,可以预期主观和客观增益。

片组边界讨论

由于许多片组相关的工作可能都是正确的,因此对于基于片组(TG)的ARC,我们的实施方式尚未完成。我们的首选是一旦在压缩域中将多个子图片空域合成和提取为合成图片的讨论至少产生了工作草案,则重新讨论该实施方式。但是,这并不能阻止我们在某种程度上推断结果,并相应地调整信号设计。

就目前而言,出于上述原因,我们认为片组标头是上述如dec_pic_size_idx的正确位置。我们使用有条件地存在于片组头中的单个ue(v)代码点dec_pic_size_idx来指示所采用的ARC参数。为了匹配仅每一图片ARC的实施方式,我们现在需要在规范空间中做的一件事是仅对单个片组进行编解码,或者使其成为比特流一致性的条件,即给定的编解码图片的所有TG头具有相同的dec_pic_size_idx值(如果存在的话)。

可以将参数dec_pic_size_idx移动到开始子图片的任何标头中。我们当前的感觉是,很可能将继续片组标头。

除了这些语法上的考虑之外,还需要一些额外的工作来启用基于片组或基于子图片的ARC。也许最困难的部分是如何解决图片中不需要的样点的问题,其中子图片已经被重新采样为较小的尺寸。

考虑图13的右边部分,其是由四个子图片组成(在比特流语法中可能表示为四个矩形片组)。在左侧,将右下TG采样到一半尺寸。我们如何处理相关区域之外的标记有“半”的样点?

一些现有的视频编解码标准的共同点是,不支持在压缩域中对图片的部分进行空域提取。这意味着图片的每个样点都由一个或多个语法元素表示,并且每个语法元素影响至少一个样点。如果我们想要保持,则我们需要填充被下采样的TG标记为“半”的样点周围的区域。H.263+附件P通过填充解决了该问题;实际上,可以在比特流中(在一定的严格限制内)发信令通知被填充的样点的样点值。

一种可能构成与先前假设的显著不同的替代方案,但是如果我们要支持基于图片的矩形部分的子比特流提取(和合成)而在任何情况下都可能需要,这种替代方案将放松对重建图片的样点必须由编码图片中的某些内容来表示(即使该内容只是跳过的块)的当前理解。

实施考虑、系统含义和配置文件(Profile)/级别

我们提出了将基本ARC包括在“基准/主要”配置文件中。如果某些应用程序场景不需要,则可以使用子配置文件将其移除。某些限制是可以接受的。在这方面,我们注意到某些H.263+配置文件和“推荐模式”(其早于配置文件)包括对只能将附件P用作“隐式因子为4”的限制,即在两个维度上均采用二元下采样。这足以支持视频会议中的快速启动(快速获得I帧)。

这种设计使我们相信所有滤波都可以“实时”完成,并且内存带宽没有增加,或者只有些微增加。就此而言,我们认为没有必要将ARC放入外来的配置文件中。

我们不认为复杂表等可以在能力交换中有意义地使用,正如Marrakech中国与JVET-M0135一起讨论的那样。假设提供回答和类似的深度限制握手,选择的数量很大,以允许有意义的跨供应商互操作。就此而言,在现实中,为了在能力交换场景下以有意义的方式支持ARC,我们退而求其次为至多互操作点。例如:无ARC、隐式因子为4的ARC、完整ARC。作为替代方案,我们可以指定对所有ARC的必需支持,并将比特流复杂性的限制留给更高级别的SDO。无论如何,这是我们应该进行的战略讨论(除了在子配置文件和标志上下文中已经存在的讨论之外)。

至于级别:我们认为基本设计原理必须是无论在比特流中信令通知多少采样,上采样图片的采样计数都必须适合比特流级别(作为比特流一致性的条件),以及所有样点必须适合上采样的编解码图片。我们注意到在H263+中不是这种情况;在那里可能不存在某些样点。

1.2.5.JVET-N0118

提出了以下几个方面:

1)在SPS中信令通知图片分辨率列表,并且在PPS中信令通知列表索引以指定单个图片的尺寸。

2)对于要输出的任何图片,重采样之前的解码图片被裁剪(根据需要)

并输出,即,重采样的图片不用于输出,仅用于帧间预测参考。

3)支持1.5倍和2倍重采样比。不支持任意重采样比。进一步研究是否需要一个或两个以上的其他重采样比。

4)在图片级别的重采样和块级别的重采样之间,支持者更喜欢块级别的重采样。

a.然而,如果选择图片级别的重采样,则提出以下方面:

i.当参考图片被重采样时,参考图片的重采样版本和原始版本存储在DPB中,因此两者都会影响DPB丰富度。

ii.当对应的未重采样参考图片被标记为“未用于参考”时,重采样参考图片被标记为“未用于参考”。

iii.RPL信令语法保持不变,而RPL构造过程修改如下:当参考图片需要被包括在RPL条目中,并且具有与当前图片相同分辨率的参考图片的版本不在DPB中时,调用图片重采样过程,并且该参考图片的重采样版本被包括在RPL条目中。

iv.DPB中可能存在的重新采样的参考图片的数量应该被限制,例如,限制为小于或等于2。

b.否则(选择块级别的重采样),建议如下:

i.为了限制最坏情况解码器的复杂性,提出了不允许对来自具有与当前图片不同分辨率的参考图片的块进行双向预测。

ii.另一种选项是,当需要进行重采样和四分之一像素插值时,将两个滤波器组合,并立即应用该操作。

5)无论选择基于图片的重采样方法还是基于块的重采样方法,提出了根据需要应用时域运动矢量缩放。

1.2.5.1.实施方式

ARC软件是在VTM 4.0.1的基础上实施的,做了以下改变:

–SPS中信令通知支持的解决方案列表。

–空域分辨率信令从SPS移动到PPS。

–实施基于图片的重采样方案,用于对参考图片进行重采样。

在图片被解码之后,重构图片可以被重新采样到不同的空域分辨率。原始重构图片和重新采样的重构图片都存储在DPB中,并且可用于由未来图片按解码顺序参考。

–实施的重采样滤波器基于JCTVC-H0234中测试的滤波器,如下所示:

ο上采样滤波器:4抽头+/-具有抽头(-4,54,16,-2)/64的四分之一相位DCTIF

ο下采样滤波器:具有抽头(1,0,-3,0,10,16,10,0,-3,0,1)/32的h11滤波器

–当构建当前图片的参考图片列表(即L0和L1)时,仅使用与当前图片具有相同分辨率的参考图片。请注意,参考图片可以是原始尺寸,也可以是重采样尺寸。

–可以启用TMVP和ATVMP;然而,当当前图片和参考图片的原始编码分辨率不同时,TMVP和ATMVP对于该参考图片禁用。

–为了起点软件实施方式的方便和简单,当输出图片时,解码器输出最高的可用分辨率。

1.2.5.2.关于图片尺寸的信令和图片输出

1.在比特流中编解码图片的空域分辨率列表上

当前,CVS中的所有编码图片都具有相同的分辨率。因此,在SPS中仅信令通知一种分辨率(即图片的宽度和高度)是直接的。使用ARC支持时,需要信令通知图片分辨率列表,而不是使用一种分辨率,并且我们提出了在SPS中信令通知该列表,并在PPS中信令通知该列表的索引以指定单个图片的尺寸。

2.关于图片输出

我们提出了对于要输出的任何图片,(根据需要)裁剪重采样之前的解码图片并输出,即重采样的图片不用于输出,仅用于帧间预测参考。ARC重采样滤波器应设计为优化将重采样的图片用于帧间预测,并且此类滤波器对于图片输出/显示目的可能不是最佳的,而视频终端设备通常具有已经实施的优化的输出调放(zooming)/缩放功能。

1.2.5.3.关于重采样

解码图片的重采样可以是基于图片的,也可以是基于块的。对于VVC中的最终ARC设计,我们更倾向基于块的重采样而不是基于图片的重采样。我们推荐讨论这两种方法,并且JVET决定应为VVC中的ARC支持指定这两种方法中的哪一种。

基于图片的重采样

在基于图片的ARC重采样中,仅针对特定分辨率对图片进行一次重采样,然后将其存储在DPB中,而相同图片的未重采样版本也保留在DPB中。

对于ARC采用基于图片的重采样有两个问题:1)需要额外的DPB缓冲器来存储重采样的参考图片,以及2)由于增加了从DPB读取参考图片数据和向DPB写入参考图片数据的操作,因此需要额外的内存带宽。

在DPB中仅保留参考图片的一个版本对于基于图片的重采样不是一个好主意。如果我们仅保留未重采样的版本,则参考图片可能需要多次重采样,因为多个图片可能参考同一参考图片。另一方面,如果参考图片被重新采样并且我们仅保留重新采样的版本,则当需要输出参考图片时,我们需要应用逆重采样,因为如上所述,最好输出未重新采样的图片。这是一个问题,因为重采样过程不是无损操作。拍摄一张图片A,对其进行下采样,然后对其进行上采样,以与A相同分辨率得到A’,A和A’不会相同;A’包含的信息少于A,因为在下采样和上采样过程期间丢失了一些高频信息。

为了解决额外的DPB缓冲器和内存带宽的问题,我们提出,如果VVC中的ARC设计使用基于图片的重采样,则适用以下条件:

1.当对参考图片进行重采样时,参考图片的重采样版本和原始、重采样版本都存储在DPB中,因此两者都会影响DPB的充满度。

2.重采样的参考图片在对应的未重采样的参考图片被标记为“未用于参考”时被标记为“未用于参考”。

3.每个片组的参考图片列表(RPL)包含与当前图片具有相同分辨率的参考图片。尽管无需更改RPL信令语法,但可以修改RPL构建过程以确保上一句中的内容如下:当需要将参考图片包括在RPL条目中,而与当前图片具有相同分辨率的参考图片尚不可用时,将调用图片重采样过程,并包括该参考图片的重采样版本。

4.应限制DPB中可能存在的重采样参考图片的数量,例如,小于或等于2个。

此外,为了在时域MV来自与当前分辨率不同分辨率的参考帧的情况下启用时域MV使用(例如,Merge模式和ATMVP),我们提出根据需要将时域MV缩放到当前分辨率。

基于块的ARC重采样

在针对ARC的基于块的重采样中,只要需要,就对参考块进行重采样,并且DPB中不会存储任何重采样的图片。

这里的主要问题是附加的解码器复杂性。这是因为参考图片中的块可以被另一图片中的多个块和多个图片中的块多次参考。

当参考图片中的块被当前图片中的块参考并且参考图片和当前图片的分辨率不同时,通过调用内插滤波器对参考块进行重采样,以使参考块具有整数像素分辨率。当运动矢量在四分之一像素中时,再次调用内插过程以获得四分之一象素分辨率中的重采样参考块。因此,对于根据涉及不同分辨率的参考块,针对当前块的每个运动补偿操作,需要多达两个而不是一个的插值滤波操作。如果没有ARC支持,则最多仅需要一个插值滤波器操作(即,以四分之一像素分辨率生成参考块)。

为了限制最坏情况下的复杂性,我们提出,如果VVC的ARC设计使用基于块的重采样,则以下内容适用:

–不允许使用与当前图片不同的分辨率对参考图片中的块进行双向预测。

–更准确地,约束条件如下:对于当前图片picA中的当前块blkA参考参考图片picB中的参考块blkB,当picA和picB具有不同的分辨率时,块blkA应为单预测块。

在这种约束下,对块进行解码所需的最差插值操作数被限制为两个。如果块参考来自不同分辨率图片的块,则如上所述,所需的插值操作数是2。这与当块参考来自相同分辨率图片的参考块并被编码为双预测块的情况相同,因为插值操作数也是两个(即,一个用于获得每个参考块的四分之一像素分辨率)。

为了简化实施方式,我们提出了另一种变型,如果VVC的ARC设计使用基于块的重采样,则以下内容适用:

–如果参考帧和当前帧具有不同的分辨率,则首先计算预测值的每个像素的对应位置,然后仅应用一次插值。也就是说,两个插值操作(即,一个用于重采样,一个用于四分之一像素插值)被组合成仅仅一个插值操作。当前VVC中的子像素插值滤波器可以被重用,但是在这种情况下,插值的粒度应该被扩大,但是插值操作次数从两次减少到一次。

–为了在时域MV来自与当前分辨率不同分辨率的参考帧的情况下启用时域MV使用(例如,Merge模式和ATMVP),我们提出根据需要将时域MV缩放到当前分辨率。

重采样比

在JVET-M0135中,为了开始关于ARC的讨论,提出对于ARC的起点,只考虑2×的重采样比(意味着2×2用于上采样,并且1/2×1/2用于下采样)。从马拉喀什会议后关于这一主题的进一步讨论中,我们了解到,仅支持2×的重采样比非常有限,因为在某些情况下,重采样和未重采样分辨率之间的较小差异会更有益。

虽然支持任意重采样比可能是可取的,但支持起来似乎很困难。这是因为为了支持任意的重采样比,必须定义和实施的重采样滤波器的数量似乎太多,并且给解码器实施带来了很大的负担。

我们提出应支持多于一个但数量较少的重采样比,但至少支持1.5×和2×的重采样比,不支持任意的重采样比。

1.2.5.4.最大DPB缓冲器尺寸和缓冲器充满度

使用ARC,DPB可以包含同一CVS内不同空域分辨率的解码图片。对于DPB管理和相关方面来说,以解码图片为单位计算DPB尺寸和充满度不再有效。

如果支持ARC,以下是最终VVC规范中需要解决的一些特定方面的讨论以及可能的解决方案(我们并未在本次会议上提出采用可能的解决方案):

1.不是使用PicSizeInSamplesY的值(即,PicSizeInSampleSy=Pic_width_in_luma_samples*Pic_height_in_luma_samples)来推导MaxDpbSize(即,DPB中可能存在的参考图片的最大数量),而是基于MinPicSizeInSamplesY的值来推导MaxDpbSize。MinPicSizeInSampleY定义如下:

MinPicSizeInSampleY=(比特流中最小图片分辨率的宽度)*(比特流中最小分辨率的高度)

MaxDpbSize的推导修改如下(基于HEVC方程):

如果(MinPicSizeInSamplesY<=(MaxLumaPs>>2))

MaxDpbSize=Min(4*maxDpbPicBuf,16)

否则,如果(MinPicSizeInSamplesY<=(MaxLumaPs>>1))

MaxDpbSize=Min(2*maxDpbPicBuf,16)

否则,如果(MinPicSizeInSamplesY<=((3*MaxLumaPs)>>2))

MaxDpbSize=Min((4*maxDpbPicBuf)/3,16)

否则

MaxDpbSize=maxDpbPicBuf

2.每个解码图片都与名为PictureSizeUnit的值相关联。PictureSizeUnit是整数值,该值指定解码图片尺寸相对于MinPicSizeInSampleY的多大。PictureSizeUnit的定义取决于VVC中ARC支持的重采样比。

例如,如果ARC仅支持为2的重采样比,则PictureSizeUnit的定义如下:

–比特流中分辨率最小的解码图片与为1的PictureSizeUnit相关联。

–解码图片的分辨率是比特流中最小分辨率的2乘2,与为4的PictureSizeUnit(即,1*4)相关联。

另一示例,如果ARC同时支持1.5和2的重采样比,则PictureSizeUnit的定义如下:

–比特流中分辨率最小的解码图片与为4的PictureSizeUnit相关联。

–解码图片的分辨率是比特流中最小分辨率的1.5乘1.5,与为9(即,2.25*4)的PictureSizeUnit相关联。

–解码图片的分辨率是比特流中最小分辨率的2乘2,与为16(即,4*

4)的PictureSizeUnit相关联。

对于ARC支持的其他重采样比,应使用上述示例给出的相同原则来确定每个图片尺寸的PictureSizeUnit值。

3.让变量MinPictureSizeUnit成为PictureSizeUnit的最小可能值。也就是说,如果ARC只支持为2的重采样比,则MinPictureSizeUnit为1;如果ARC支持为1.5和2的重采样比,则MinPictureSizeUnit为4;同样,同样的原理也用于确定MinPictureSizeUnit的值。

4.sps_max_dec_pic_buffering_mins1[i]的值范围指定为0到(MinPictureSizeUnit*(MaxDPbsize–1))。变量MinPictureSizeUnit是PictureSizeUnit的最小可能值。

5.DPB充满度操作基于PictureSizeUnit指定如下:

–HRD在解码单元0初始化,CPB和DPB都设置为空(DPB充满度设置为0)。

–当冲刷(flush)DPB时(即,从DPB中移除所有图片),DPB充满度设置为0。

–当从DPB移除图片时,DPB充满度会减少与移除的图片相关联的PictureSizeUnit的值。

–当图片插入DPB时,DPB充满度将增加与插入图片相关联的PictureSizeUnit的值。

1.2.5.5.重采样滤波器

在软件实施方式中,实施的重采样滤波器简单地取自JCTVC-H0234中描述的先前可用的滤波器。如果其他重采样滤波器提供更好的性能和/或更低的复杂性,则应进行测试和使用。我们提出对各种重采样滤波器进行测试,以在复杂性和性能之间取得折衷。这样的测试可以在CE中完成。

1.2.5.6.对现有工具的其他必要修改

为了支持ARC,可能需要对一些现有的编解码工具进行一些修改和/或附加操作。例如,在ARC软件实现的基于图片的重采样中,为了简单起见,当当前图片和参考图片的原始编解码分辨率不同时,我们禁用了TMVP和ATMVP。

1.2.6.JVET-N0279

根据“对未来视频编解码标准的要求”,“该标准应支持自适应流服务情况下的快速表示切换,该自适应流服务提供相同内容的多个表示,每个表示具有不同的属性(例如,空域分辨率或采样比特深度)”。在实时视频通信中,允许在不插入I图片的情况下改变编解码视频序列中的分辨率,不仅可以无缝地使视频数据适应动态信道条件或用户偏好,还可以消除I图片引起的跳动效应。图14中示出了自适应分辨率改变的假设示例,其中从不同尺寸的参考图片预测当前图片。

该文稿提出了高级语法来信令通知自适应分辨率改变以及对VTM中的当前运动补偿预测过程的修改。这些修改仅限于运动矢量缩放和子像素位置推导,而不改变现有的运动补偿插值器。这将允许现有的运动补偿插值器被重用,并且不需要新的处理块来支持自适应分辨率改变,这将引入额外的成本。

1.2.6.1.自适应分辨率变化信令

1.2.6.1.1.SPS

[[pic_width_in_luma_samples指定以亮度样点为单位的每个解码图片的宽度。pic_width_in_luma_samples不应等于0并且,应为MinCbSizeY的整数倍。]]

[[pic_height_in_luma_samples]指定以亮度样点为单位的每个解码图片的高度。pic_height_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。]]

max_pic_width_in_luma_samples指定以亮度样点为单位的参考SPS的解码图片的最大宽度。max_pic_width_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。

max_pic_height_in_luma_samples指定以亮度样点为单位的参考SPS的解码图片的最大高度。max_pic_height_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。

1.2.6.1.2.PPS

pic_size_different_from_max_flag等于1指定PPS信令通知与参考的SPS中的max_pic_width_in_luma_samples和max_pic_height_in_luma_sample不同的图片宽度或图片高度。pic_size_different_from_max_flag等于0指定pic_width_in_luma_samples和pic_height_in_luma_samples与参考的SPS中的max_pic_width_in_luma_samples和max_pic_height_in_luma_sample相同。

pic_width_in_luma_samples指定以亮度样点为单位的每个解码图片的宽度。pic_width_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。当pic_width_in_luma_samples不存在时,推断它等于max_pic_width_in_luma_samples。

pic_height_in_luma_samples指定以亮度样点为单位的每个解码图片的高度。pic_height_in_luma_samples不应等于0,并且应为MinCbSizeY的整数倍。当pic_height_in_luma_samples不存在时,推断它等于max_pic_height_in_luma_samples。

比特流一致性的要求是水平和垂直缩放比例应在1/8到2的范围内,包括每个活动参考图片。缩放比例定义如下:

–horizontal_scaling_ratio=((reference_pic_width_in_luma_samples<

<14)+(pic_width_in_luma_samples/2))/pic_width_in_luma_

samples

–vertical_scaling_ratio=((reference_pic_height_in_luma_samples<<

14)+(pic_height_in_luma_samples/2))/pic_height_in_luma_

samples

参考图片缩放过程

当CVS中的分辨率发生变化时,图片可能与其一个或多个参考图片的尺寸不同。该提议将所有运动矢量归一化到当前图片网格,而不是它们对应的参考图片网格。据称,这有利于保持设计的一致性,并使分辨率变化对运动矢量预测过程透明。否则,由于不同缩放,指向不同尺寸的参考图片的相邻运动矢量不能直接用于空域运动矢量预测。

当分辨率发生变化时,在进行运动补偿预测时,必须对运动矢量和参考块进行缩放。缩放范围限于[1/8,2],即,向上缩放限于1:8,向下缩放限于2:1。注意,向上缩放是指参考图片小于当前图片的情况,而向下缩放是指参考图片大于当前图片的情况。在以下各章节中,将更详细地描述缩放过程。

亮度块

缩放因子及其定点表示被定义为:

缩放过程包括两个部分:

1.将当前块的左上角像素映射到参考图片;

2.使用水平和垂直步长来寻址当前块的其他像素的参考位置。

如果当前块的左上角像素的坐标是(x,y),则以1/16像素为单位的运动矢量(mvX,mvY)所指向的参考图片中的子像素位置(x’,y’)指定如下:

·参考图片中的水平位置是

x′=((x<<4)+mvX)·hori_scale_fp, (3)

并且x’被进一步向下缩放到仅保留10个小数位

x′=Sign(x′)·((Abs(x′)+(1<<7))>>8)。 (4)

·类似地,参考图片中的垂直位置是

y′=((y<<4)+mvY)·vert_scale_fp (5)

并且y’被进一步向下缩放到

y′=Sign(y′)·((Abs(y′)+(1<<7))>>8)。 (6)

此时,当前块的左上角像素的参考位置在(x’,y’)。其他参考子像素/像素位置是以水平和垂直步长相对于(x’,y’)计算的。这些步长以1/1024像素的精度从上述水平和垂直缩放因子得出,如下所示:

x_step=(hori_scale_fp+8)>>4, (7)

y_step=(vert_scale_fp+8)>>4。 (8)

例如,如果当前块中的像素与左上角像素相距i列和j行,则其对应的参考像素的水平和垂直坐标由下式得出

x′

y′

在子像素插值中,必须x

·寻址参考块的全像素部分等于

(x′

(y′

·用于选择插值滤波器的小数部分等于

Δx=((x′

Δy=((y′

一旦确定了参考图片中的全像素和分数像素位置,就可以使用现有的运动补偿插值器,而无需任何额外的改变。全像素位置将用于从参考图片中获取参考块补片(patch),而分数像素位置将用于选择合适的插值滤波器。

色度块

当色度格式为4:2:0时,色度运动矢量的精度为1/32像素。色度运动矢量和色度参考块的缩放过程与亮度块几乎相同,除了色度格式相关的调整。

当当前色度块的左上角像素的坐标为(x

x

y

其中mvX和mvY是原始亮度运动矢量,但现在应该以1/32像素的精度进行检查。

并且x

x

y

与相关的亮度公式相比,上述右移增加了一个额外比特。

使用的步长与亮度相同。对于相对于左上角像素位于(i,j)处的色度像素,其参考像素的水平和垂直坐标由下式得出

x′

y′

在子像素插值中,x

·寻址参考块的全像素部分等于

(x′

(y′

·用于选择插值滤波器的小数部分等于

Δx=((x′

Δy=((y′

与其他编解码工具的交互

由于某些编解码工具与参考图片缩放的交互会带来额外的复杂性和内存带宽,建议在VVC规范中增加以下限制:

–当tile_group_temporal_MVP enabled_flag等于1时,当前图片及其并置图片应具有相同的尺寸。

–当序列中允许分辨率变化时,应关闭解码器运动矢量细化。

–当序列中允许分辨率改变时,sps_bdof_enabled_flag应等于0。

1.3.JVET-N 0415中基于编码树块(CTB)的自适应环路滤波器

条带级时域滤波器

VTM4中采用自适应参数集(APS)。每个APS包含一组信令通知的ALF滤波器,最多支持32个APS。在该方案中,对条带级时域滤波器进行了测试。片组可以重新使用来自APS的ALF信息来减少开销。APS被更新为先进先出(FIFO)缓冲器。

基于CTB的ALF

对于亮度分量,当将ALF应用于亮度CTB时,将指示在16个固定、5个时域或1个信令通知的滤波器组中进行选择。仅信令通知滤波器组索引。对于一个条带,只能用信令通知新的一组25个滤波器。如果针对条带信令通知新的一组,则系统条带中的所有亮度CTB共享该组。固定滤波器组可用于预测新的条带级滤波器组,也可用作亮度CTB的候选滤波器组。滤波器总数为64个。

对于色度分量,当将ALF应用于色度CTB时,如果针对条带信令通知新的滤波器,则CTB使用新的滤波器,否则,应用满足时域可伸缩性约束的最新时域色度滤波器。

作为条带级时域滤波器,APS被更新为先进先出(FIFO)缓冲器。

1.4.可选时域运动矢量预测(VVC中又称为基于子块的时域Merging候选)

在可选时域运动矢量预测(ATMVP)方法中,通过从比当前CU小的块提取运动信息(包括运动矢量和参考索引)的多个集合来修改运动矢量时域运动矢量预测(TemporalMotion Vector Prediction,TMVP)。如图15所示,子CU是正方形的N×N块(N默认被设置为8)。

ATMVP分两个步骤来预测CU内的子CU的运动矢量。第一步骤是用所谓的时域矢量来识别参考图片中的对应块。参考图片也称为运动源图片。第二步骤是将当前CU划分成子CU,并从与每个子CU相对应的块中获得运动矢量以及每个子CU的参考索引,如图15所示。

在第一步骤中,参考图片和对应块由当前CU的空域邻近块的运动信息确定。为了避免邻近块的反复的扫描过程,使用当前CU的Merge候选列表中的来自块A0(左块)的Merge候选。来自块A0的、参考并置的参考图片的第一可用运动矢量被设置为时域矢量。这样,在ATMVP中,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为并置块)总是相对于当前CU处于右下或中心位置。

在第二步骤中,通过向当前CU的坐标添加时域矢量,通过运动源图片中的时域矢量来识别子CU的对应块。对于每个子CU,其对应块的运动信息(覆盖中心样点的最小运动网格)用于推导子CU的运动信息。在识别对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换成当前子CU的运动矢量和参考索引,其中运动缩放和其它过程适用。

1.5.仿射运动预测

在HEVC中,只有平移运动模型被应用于运动补偿预测(Motion CompensationPrediction,MCP)。而在现实世界中,存在许多种运动,例如,放大/缩小、旋转、透视运动和其它不规则运动。在VVC中,应用4参数仿射模型和6参数仿射模型的简化的仿射变换运动补偿预测。如图16A-图16B所示,块的仿射运动场针对4参数仿射模型由两个控制点运动矢量(CPMV)来描述,针对6参数仿射模型由三个控制点运动矢量(CPMV)来描述。

块的运动矢量场(MVF)由以下等式描述,分别为等式(1)中的4参数仿射模型(其中4参数定义为变量a、b、e和f))和等式(2)中的6参数仿射模型(其中4参数定义为变量a、b、c、d、e和f):

其中,(mv

为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。为了推导每个M×N(在当前的VVC中M和N都被设置为4)子块的运动矢量,可以根据等式(1)和(2)计算如图17所示的每个子块的中心样点的运动矢量,并将其取整到1/16分数精度。然后,应用1/16像素的运动补偿插值滤波器来生成具有推导的运动矢量的每个子块的预测。仿射模式引入了1/16像素的插值滤波器。

在MCP之后,每个子块的高精度运动矢量被取整并保存为与正常运动矢量相同的精度。

1.5.1.仿射预测的信令

与平移运动模型类似,由于仿射预测,也有两种模式用于信令通知边信息。它们是AFFINE_INTER和AFFINE_MERGE模式。

1.5.2.AF_INTER模式

对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。

在这种模式下,对于每个参考图片列表(列表0或列表1),仿射AMVP候选列表按以下顺序构建有三种类型的仿射运动预测值,其中每个候选包括当前块的估计CPMV。信令发送在编码器侧(诸如图18中的mv

1)继承仿射运动预测值

检查顺序类似于HEVC AMVP列表构建中的空域MVP。首先,从{A1,A0}中的、被仿射编解码并且具有与当前块中相同的参考图片的第一块中推导左边继承的仿射运动预测值。第二,从{B1,B0,B2}中的、被仿射编解码并且具有与当前块中相同的参考图片的第一块推导上边继承的仿射运动预测值。图19中描绘了五个块A1、A0、B1、B0、B2。

一旦发现邻近块是用仿射模式进行编解码的,则覆盖邻近块的编解码单元的CPMV被用于推导当前块的CPMV的预测值。例如,如果A1是用非仿射模式进行编解码的,并且A0是用4参数仿射模式进行编解码的,则左边继承的仿射MV预测值将从A0推导出。在这种情况下,覆盖A0的CU的CPMV(如图21B中,对于左上方的CPMV表示为

2)构建的仿射运动预测值

如图20所示,构建的仿射运动预测值包括从具有相同参考图片的邻近帧间编解码块推导出的控制点运动矢量(CPMV)。如果当前仿射运动模型是4参数仿射,则CPMV的数量是2,否则如果当前仿射运动模型是6参数仿射,则CPMV的数量是3。左上方的CPMV

–如果当前仿射运动模型是4参数仿射,则只有当

–如果当前仿射运动模型是6参数仿射,则只有当

当将构建的仿射运动预测值插入候选列表时,不应用修剪过程。

3)正常AMVP运动预测值

以下条件适用,直到仿射运动预测值的数量达到最大值为止。

1)通过将所有CPMV设置为等于

2)通过将所有CPMV设置为等于

3)通过将所有CPMV设置为等于

4)通过将所有CPMV设置为等于HEVC TMVP(如果可用的话)来推导仿射运动预测值。

5)通过将所有CPMV设置为零MV来推导仿射运动预测值。

注意,

在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,并且因此需要为这些控制点编解码2/3个MVD,如图18A和图18B所示。在JVET-K0337中,提出按如下方式来推导MV,即从mvd

其中,

1.5.2.1.AF_MERGE模式

当在AF_MERGE模式下应用CU时,它从有效的邻近重构块中获得用仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图21A所示(依次由A、B、C、D、E表示)。例如,如果邻近的左下块以仿射模式进行编解码,如图21B中A0所表示,则提取元素B、包含块A的邻近的CU/PU的左上角、右上角和左下角的控制点(CP)运动矢量mv

在根据等式(1)和(2)中的简化仿射运动模型推导出当前CU的CPMV mv

在JVET-L0142和JVET-L0632中,仿射merge候选列表由以下步骤构建:

1)插入继承的仿射候选

继承的仿射候选是指候选是从其有效邻近仿射编解码块的仿射运动模型推导出的。从邻近块的仿射运动模型中推导最多两个继承的仿射候选,并将其插入候选列表。对于左边的预测值,扫描顺序为{A0,A1};对于上边的预测值,扫描顺序为{B0,B1,B2}。

2)插入构建的仿射候选

如果仿射merge候选列表中的候选数量小于MaxNumAffineCand(例如,为5),则将构建的仿射候选插入候选列表。构建的仿射候选是指通过组合每个控制点的邻近运动信息来构建候选。

a)控制点的运动信息首先从图22所示的指定空域相邻和时域相邻推导。CPk(k=1,2,3,4)代表第k个控制点。A0、A1、A2、B0、B1、B2和B3是用于预测CPk(k=1,2,3)的空域位置;T是用于预测CP4的时域位置。

CP1、CP2、CP3和CP4的坐标分别是(0,0)、(W,0)、(H,0)和(W,H),其中W和H是当前块的宽度和高度。

根据以下优先级顺序获得每个控制点的运动信息:

-对于CP1,检查优先级为B2->B3->A2。如果B2可用,则使用B2。否则,如果B2可用,则使用B3。如果B2和B3都不可用,则使用A2。

如果三个候选都不可用,则无法获得CP1的运动信息。

-对于CP2,检查优先级为B1->B0。

-对于CP3,检查优先级为A1->A0。

-对于CP4,使用T。

b)其次,使用控制点的组合来构建仿射Merge候选。

I.构建6参数仿射候选需要三个控制点的运动信息。三个控制点可以从以下四个组合中选择一个:{CP1,CP2,CP4}、{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4}。组合{CP1,CP2,CP3}、{CP2,CP3,CP4}、{CP1,CP3,CP4}将被转换为由左上方、右上方和左下方控制点表示的6参数运动模型。

II.构建4参数仿射候选需要两个控制点的运动信息。这两个控制点可以从以下两个组合中选择一个:{CP1,CP2}、{CP1,CP3}。这两个组合将被转换为由左上方和右上方控制点表示的4参数运动模型。

III.按以下顺序将构建的仿射候选的组合插入候选列表:

{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4}、{CP1,CP2}、{CP1,CP3}

i.对于每个组合,检查列表X中每个CP的参考索引,如果它们都相同,则该组合对于列表X具有有效的CPMV。如果该组合对于列表0

和列表1两者都没有有效的CPMV,则该组合被标记为无效。否则,它是有效的,并且CPMV被放入子块merge列表中。

3)用零运动矢量进行填充

如果仿射merge候选列表中的候选的数量小于5,则将具有零参考索引的零运动矢量插入到候选列表中,直到列表满为止。

更具体地,对于子块merge候选列表,4参数Merge候选,其中MV被设置为(0,0)并且预测方向被设置为来自列表0的单向预测(对于P条带)和双向预测(对于B条带)。

2.现有实施方式的缺点

在VVC中应用时,ARC可能会出现以下问题:

1.除了分辨率外,其他基本参数(诸如比特深度和颜色格式(诸如4:0:0、4:2:0或4:4:4))也可以从一个序列中的一个图片更改为另一图片。

3.用于比特深度和颜色格式转换的示例方法

下面的详细发明应视为示例以解释一般概念。这些发明不应狭义地解释。此外,这些发明可以以任何方式组合。

在下面的讨论中,SatShift(x,n)被定义为

Shift(x,n)被定义为Shift(x,n)=(x+offset0)>>n。

在一个示例中,offset0和/或offset1被设置为(1<>1或(1<<(n-1))。

在另一示例中,offset0和/或offset1被设置为0。

在另一示例中,offset0=offset1=((1<>1)-1或((1<<(n-1)))-1。

Clip3(min,max,x)被定义为

Floor(x)定义为小于或等于x的最大整数。

Ceil(x)大于或等于x的最小整数。

Log2(x)定义为x的以2为底的对数。

1.提出了禁止根据具有不同分辨率的两个参考图片的双向预测。

2.是否在解码器侧启用DMVR/BIO或其他种类的运动推导/细化可以取决于两个参考图片是否具有相同的分辨率。

a.如果两个参考图片具有不同的分辨率,则禁用运动推导/细化,诸如DMVR/BIO。

b.可替代地,如何在解码器侧应用运动推导/细化可以取决于两个参考图片是否具有相同的分辨率。

i.在一个示例中,可以例如根据分辨率来缩放与每个参考图片相关联的允许的MVD。

3.提出了如何操纵参考样点可以取决于参考图片的分辨率和当前图片的分辨率之间的关系。

a.在一个示例中,存储在解码图片缓冲器中的所有参考图片都具有相同的分辨率(表示为第一分辨率),诸如最大/最小允许分辨率。

i.可替代地,此外,在被存储在解码图片缓冲器中之前,解码图片中的样点可以首先被修改(例如,通过上采样或下采样)。

1)修改可以根据第一分辨率。

2)修改可以根据参考图片的分辨率和当前图片的分辨率。

b.在一个例示例中,存储在解码图片缓冲器中的所有参考图片可以是对图片进行编码的分辨率。

i.在一个示例中,如果一个块的运动矢量指向与当前图片不同分辨率的参考图片,则在调用运动补偿过程之前,可以首先应用参考样点的转换(例如,通过上采样或下采样)。

ii.可替代地,可以直接使用参考图片中的参考样点来进行运动补偿(MV)。之后,可以进一步修改从MC过程生成的预测块(例如,通过上采样或下采样),并且当前块的最终预测块可以取决于修改的预测块。

通过ABCMaxBD[i]表示第i个颜色分量的最大允许比特深度,通过ABCMinBD[i]表示颜色分量的最小允许比特深度(例如,i为0..2)。

4.提出了可以在视频单元中信令通知一个或多个分量的一组或多组样点比特深度,诸如DPS、VPS、SPS、PPS、APS、图片标头、条带标头、片组标头。

a.可替代地,一个或多个分量的一组或多组样点比特深度可以在补充增强信息(SEI)消息中被信令通知。

b.可替代地,一个或多个分量的一组或多组样点比特深度可以在单个视频单元中被信令通知,用于自适应比特深度转换。

c.在一个示例中,一个或多个分量的一组样点比特深度可以与图片的维度耦合。

i.在一个示例中,一个或多个分量的样点比特深度和图片的对应维度/下采样率/上采样率的一个或多个组合可以在相同视频单元中被信令通知。

d.在一个示例中,ABCMaxBD和/或ABCMinBD的指示可以被信令通知。可替代地,与ABCMaxBD和/或ABCMinBD相比的其他比特深度值的差可以被信令通知。

5.提出了当一个或多个分量的样点比特深度和单个视频单元(诸如DPS、VPS、SPS、PPS、APS、图片标头、条带标头、片组标头等)中或者在要命名的ARC/ABC的单个视频单元中的图片的对应维度/下采样比率/上采样比率的多于一个的组合时,不允许第一组合与第二组合相同。

6.提出了如何操纵参考样点可以取决于参考图片中的分量的样点比特深度和当前图片的样点比特深度之间的关系。

a.在一个示例中,存储在解码图片缓冲器中的所有参考图片都处于相同的比特深度(表示为第一比特深度),诸如ABCMaxBD[i]或ABCmin BD[i](i为0..2表示颜色分量索引)。

i.可替代地,此外,在被存储在解码图片缓冲器中之前,解码图片中的样点可以首先经由左移或右移而被修改。

1)可以根据第一比特深度进行修改。

2)可以根据针对参考图片和针对当前图片定义的比特深度进行修改。

b.在一个示例中,存储在解码图片缓冲器中的所有参考图片都处于已经用来编码的比特深度。

i.在一个示例中,如果参考图片中的参考样点具有与当前图片不同的比特深度,则在调用运动补偿过程之前,可以首先应用参考样点的转换。

1)可替代地,直接使用参考样点进行运动补偿。之后,从MC过程生成的预测块可以被进一步修改(例如,通过移位),并且当前块的最终预测块可以取决于修改的预测块。

c.提出了如果参考图片中的分量的样点比特深度(表示为BD1)低于当前图片中的分量的样点比特深度(表示为BD0),则可以相应地转换参考样点。

i.在一个示例中,参考样点S可以被转换成S’,S’=S<<(BD0-BD1)。

ii.可替代地,S’=S<<(BD0-BD1)+(1<<(BD0-BD1-1))。

d.提出了如果参考图片中的分量的样点比特深度(表示为BD1)大于当前图片中的分量的样点比特深度(表示为BD0),则可以相应地转换参考样点。

i.在一个示例中,参考样点S可以被转换成S’,S’=Shift(S,BD1-BD0)。

e.在一个示例中,具有未被转换的样点的参考图片可以在一参考图片根据其被转换之后将其移除。

i.可替代地,具有未被转换的样点的参考图片可以被保留,但是在一参考图片根据其被转换之后将其标记为不可用。

f.在一个示例中,具有未被转换的样点的参考图片可以被放入至参考图片列表中。当参考样点用于帧间预测时,它们被转换。

7.提出了可以进行ARC和ABC两者。

a.在一个示例中,首先进行ARC,然后进行ABC。

i.例如,在ARC+ABC转换中,首先根据不同的图片维度对样点进行上采样/下采样,然后根据不同的比特深度进行左移/右移。

b.在一个示例中,首先进行ABC,然后进行ARC。

i.例如,在ABC+ARC转换中,首先根据不同的比特深度对样点进行左移/右移,然后根据不同的图片维度进行上采样/下采样。

8.提出了参考具有较高样点比特深度的参考图片的Merge候选比参考具有较低比特深度的参考图片的Merge候选具有更高的优先级。

a.例如,在Merge候选列表中,参考具有较高样点比特深度的参考图片的Merge候选可以放在参考具有较低样点比特深度的参考图片的Merge候选之前。

b.例如,参考样点比特深度低于当前图片的样点比特深度的参考图片的运动矢量不能在Merge候选列表中。

9.提出了用与对应的样点比特深度相关联的ALF参数来对图片进行滤波。

a.在一个示例中,在视频单元(诸如APS)中被信令通知的ALF参数可以与一个或多个样点比特深度相关联。

b.在一个示例中,信令通知ALF参数的视频单元(诸如APS)可以与一个或多个样点比特深度相关联。

c.例如,图片可以仅应用在与相同的样点比特深度相关联的视频单元(诸如APS)中被信令通知的ALF参数。

d.可替代地,图片可以使用与不同样点比特深度相关联的ALF参数。

10.提出了与第一对应样点比特深度相关联的ALF参数可以继承或预测来自与第二对应样点比特深度相关联的ALF参数。

a.在一个示例中,第一对应样点比特深度必须与第二对应样点比特深度相同。

b.在一个示例中,第一对应样点比特深度可以不同于第二对应样点比特深度。

11.提出了针对不同的样点比特深度设计不同的默认ALF参数。

12.提出了用与对应样点比特深度相关联的LMCS参数对图片中的样点进行整形。

a.在一个示例中,在视频单元(诸如APS)中被信令通知的LMCS参数可以与一个或多个样点比特深度相关联。

b.在一个示例中,信令通知LMCS参数的视频单元(诸如APS)可以与一个或多个样点比特深度相关联。

c.例如,图片可以仅应用在与相同的样点比特深度相关联的视频单元(诸如APS)中被信令通知的LMCS参数。

13.提出了与第一对应样点比特深度相关联的LMCS参数可以继承或预测来自与第二对应样点比特深度相关联的LMCS参数。

a.在一个示例中,第一对应样点比特深度必须与第二对应样点比特深度相同。

b.在一个示例中,第一对应样点比特深度可以不同于第二对应样点比特深度。

14.提出了如果块参考具有与当前图片不同的样点比特深度的至少一个参考图片,则可以对该块禁用编解码工具X。

a.在一个示例中,与编解码工具X相关的信息可能不会被信令通知。

b.可替代地,如果在块中应用编解码工具X,则该块不能参考具有与当前图片不同的样点比特深度的参考图片。

i.在一个示例中,参考具有与当前图片不同的样点比特深度的参考图片的Merge候选可以被跳过或者不被放入Merge候选列表。

ii.在一个示例中,可以跳过或者不允许信令通知参考索引对应于与当前图片具有不同样点比特深度的参考图片。

c.编解码工具X可以是以下中的任一个。

i.ALF

ii.LMCS

iii.DMVR

iv.BDOF

v.仿射预测

vi.TPM

vii.SMVD

viii.MMVD

ix.VVC中的帧间预测

x.LIC

xi.HMVP

xii.多重变换集(MTS)

xiii.子块变换(SBT)

15.提出了可以不允许根据具有不同比特深度的两个参考图片的双向预测。

16.提出一种或多种颜色格式(在一个示例中,颜色格式可以指4:4:4、

4:2:2、4:2:0或4:0:0,在另一示例中,颜色格式可以指YCbCr或RGB)可以在视频单元(诸如DPS、VPS、SPS、PPS、APS、图片标头、条带标头、片组标头)中被信令通知。

a.可替代地,一种或多种颜色格式可以在补充增强信息(SEI)消息中被信令通知。

b.可替代地,一种或多种颜色格式可以在用于ACC的单个视频单元中被信令通知。

c.在一个示例中,颜色格式可以与图片的维度和/或样点比特深度耦合。i.在一个示例中,颜色格式、和/或一个或多个分量的样点比特深度和/或图片的对应维度的一个或多个组合可以在相同视频单元中被信令通知。

17.提出了当颜色格式、和/或一个或多个分量的样点比特深度、和/或图片的对应维度的多于一个的组合在单个视频单元(诸如DPS、VPS、

SPS、PPS、APS、图片标头、条带标头、片组标头)中或者在要命名的ARC/ABC/ACC的单个视频单元中时,不允许第一组合与第二组合相同。

18.提出了禁用根据与当前图片不同颜色格式的参考图片的预测。

a.可替代地,此外,不允许将具有不同颜色格式的图片放入用于当前图片中的块的参考图片列表中。

19.提出了如何操作参考样点可以取决于参考图片和当前图片的颜色格式。

a.提出了如果参考图片的第一颜色格式与当前图片的第二颜色格式不相同,则可以相应地转换参考样点。

i.在一个示例中,如果第一格式是4:2:0并且第二格式是4:2:2,则参考图片中的色度分量的样点可以以1:2的比率垂直地上采样。

ii.在一个示例中,如果第一格式是4:2:2并且第二格式是4:4:4,则参考图片中的色度分量的样点可以以1:2的比率水平地上采样。

iii.在一个示例中,如果第一格式是4:2:0并且第二格式是4:4:4,则参考图片中的色度分量的样点可以以1:2的比率垂直地上采样,并且以1:2的比率水平地上采样。

iv.在一个示例中,如果第一格式是4:2:2并且第二格式是4:2:0,则参考图片中的色度分量的样点可以以1:2的比率被垂直地下采样。

v.在一个示例中,如果第一格式是4:4:4并且第二格式是4:2:2,则参考图片中色度分量的样点可以以1:2的比率水平地下采样。

vi.在一个示例中,如果第一格式是4:4:4并且第二格式是4:2:0,则参考图片中的色度分量的样点可以以1:2的比率垂直地下采样,并且以1:2的比率水平地下采样。

vii.在一个示例中,如果第一格式不是4:0:0并且第二格式是4:0:0,则参考图片中的亮度分量的样点可以用来对当前图片执行帧间预测。

viii.在一个示例中,如果第一格式是4:0:0并且第二格式不是4:0:0,则参考图片中的亮度分量的样点可以用来对当前图片执行帧间预测。

1)可替代地,如果第一格式是4:0:0并且第二格式不是4:0:0,则参考图片中的样点不能用来对当前图片执行帧间预测。

b.在一个示例中,具有未被转换的样点的参考图片可以在一参考图片根据其被转换之后而将其移除。

i.可替代地,具有未被转换的样点的参考图片可以被保留,但是在一参考图片根据其被转换之后将其标记为不可用。

c.在一个示例中,具有未被转换的样点的参考图片可以被放入参考图片列表中。当参考样点用于帧间预测时,它们被转换。

20.提出了可以进行ARC和ACC两者。

a.在一个示例中,首先进行ARC,然后进行ACC。

i.在一个示例中,在ARC+ACC转换中,首先根据不同的图片维度对样点进行下采样/上采样,然后根据不同颜色格式进行下采样/上采样。

b.在一个示例中,首先进行ACC,然后进行ARC。

i.在一个示例中,在ARC+ACC转换中,首先根据不同的颜色格式对样点进行下采样/上采样,然后根据不同图片维度进行下采样/上采样。

c.在一个示例中,可以一起进行ACC和ARC。

i.例如,在ARC+ACC或ACC+ARC转换中,根据从不同颜色格式和不同图片维度推导出的缩放比例对样点进行下采样/上采样。

21.提出了可以进行ACC和ABC两者。

a.在一个示例中,首先进行ACC,然后进行ABC。

i.例如,在ACC+ABC转换中,首先根据不同的颜色格式对样点进行上采样/下采样,然后根据不同的比特深度进行左移/右移。

b.在一个示例中,首先进行ABC,然后进行ACC。

i.例如,在ABC+ACC转换中,首先根据不同的比特深度对样点进行左移/右移,然后根据不同的颜色格式进行上采样/下采样。

22.提出了用与对应颜色格式相关联的ALF参数来对图片进行滤波。

a.在一个示例中,在视频单元(诸如APS)中被信令通知的ALF参数可以与一种或多种颜色格式相关联。

b.在一个示例中,信令通知ALF参数的视频单元(诸如APS)可以与一种或多种颜色格式相关联。

c.例如,图片可以仅应用在与相同颜色格式相关联的视频单元(诸如APS)中被信令通知的ALF参数。

23.提出了与第一对应颜色格式相关联的ALF参数可以继承或预测来自与第二对应颜色格式相关联的ALF参数。

a.在一个示例中,第一对应颜色格式必须与第二对应颜色格式相同。

b.在一个示例中,第一对应颜色格式可以不同于第二对应颜色格式。

24.提出了针对不同的颜色格式设计不同的默认ALF参数。

a.在一个示例中,可以针对YCbCr和RGB格式设计不同的默认ALF参数。

b.在一个示例中,可以针对4:4:4、4:2:2、4:2:0、4:0:0格式设计不同的默认ALF参数。

25.提出了用与对应颜色格式相关联的LMCS参数对图片中的样点进行整形。

a.在一个示例中,在视频单元(诸如APS)中被信令通知的LMCS参数可以与一种或多种颜色格式相关联。

b.在一个示例中,信令通知LMCS参数的视频单元(诸如APS)可以与一种或多种颜色格式相关联。

c.例如,图片可以仅应用与相同颜色格式相关联的视频单元(诸如APS)中信令通知的LMCS参数。

26.提出了与第一对应样本颜色格式相关联的LMCS参数可以继承或预测来自与第二对应颜色格式相关联的LMCS参数。

a.在一个示例中,第一对应颜色格式必须与第二对应颜色格式相同。

b.在一个示例中,第一对应颜色格式可以不同于第二对应颜色格式。

27.提出了LMCS的色度残差缩放过程不应用于颜色格式为4:0:0的图片。

a.在一个示例中,如果颜色格式是4:0:0,则色度残差缩放是否被应用的指示可以不被信令通知并且被推断为“未被使用”。

b.在一个示例中,如果颜色格式是4:0:0,则色度残差缩放是否被应用的指示在一致性比特流中必须为“未被使用”。

c.在一个示例中,如果颜色格式是4:0:0,则色度残差缩放是否被应用的信号指示被忽略并且被解码器设置为“未被使用”。

28.提出了如果块参考与当前图片具有不同颜色格式的至少一个参考图片,则可以对该块禁用编解码工具X。

a.在一个示例中,与编解码工具X相关的信息可以不被信令通知。

b.可替代地,如果在块中应用编解码工具X,则该块不能参考与当前图片具有不同颜色格式的参考图片。

i.在一个示例中,参考与当前图片具有不同颜色格式的参考图片的Merge候选可以被跳过或者不被放入Merge候选列表。

ii.在一个示例中,参考索引对应于与当前图片具有不同颜色格式的参考图片可以被跳过或者不允许被信令通知。

c.编解码工具X可以是以下中的任一个。

i.ALF

ii.LMCS

iii.DMVR

iv.BDOF

v.仿射预测

vi.TPM

vii.SMVD

viii.MMVD

ix.VVC中的帧间预测

x.LIC

xi.HMVP

xii.多重变换集(MTS)

xiii.子块变换(SBT)

29.提出了不允许根据具有不同颜色格式的两个参考图片的双向预测。

可以在下面描述的方法(例如,方法2400或2500)的上下文中并入上述示例,该方法可以在视频解码器或视频编码器处实施。

图24示出了用于视频处理的示例性方法的流程图。方法2400包括,在步骤2402,对于当前视频块,确定当前视频块所参考的两个参考图片的分辨率之间的关系;在步骤2404,响应于该关系,确定在自适应分辨率改变(ARC)过程期间是否和/或如何对当前视频块执行特定操作;以及在步骤2406,基于特定操作,执行当前视频块的比特流表示和当前视频块之间的转换。

图25示出了用于视频处理的另一示例性方法的流程图。方法2500包括,在步骤2502,对于当前图片内的视频块,确定当前图片的分辨率与该视频块所参考的参考图片的分辨率之间的关系;在步骤2504,响应于该关系,在自适应分辨率改变(ARC)过程期间对参考图片内的样点或视频块的预测块执行特定操作;以及在步骤2506,基于特定操作,执行当前视频块的比特流表示和当前视频块之间的转换。

在一方面,公开了一种用于视频处理的方法,包括:对于当前视频块,确定当前视频块所参考的两个参考图片的分辨率之间的关系;响应于该关系,确定在自适应分辨率改变(ARC)过程期间是否和/或如何对当前视频块执行特定操作;以及基于特定操作,执行当前视频块的比特流表示和当前视频块之间的转换。

在一示例中,特定操作包括根据两个参考图片对对当前视频块进行的双向预测。

在一示例中,特定操作包括对当前视频块的运动推导和运动细化中的至少一项。

在一示例中,运动细化包括解码器侧运动矢量细化(DMVR)。

在一示例中,运动推导包括双向光流(BIO)过程。

在一示例中,如果确定两个参考图片具有不同的分辨率,则禁用该特定操作。

在一示例中,如果确定两个参考图片具有不同的分辨率,则基于两个参考图片的分辨率之间的关系,与两个参考图片中的至少一个相关联的运动矢量差(MVD)在特定操作中被缩放。

在另一方面,公开了一种用于视频处理的方法,包括:对于当前图片内的视频块,确定当前图片的分辨率与该视频块所参考的参考图片的分辨率之间的关系;响应于该关系,在自适应分辨率改变(ARC)过程期间对参考图片内的样点或视频块的预测块执行特定操作;以及基于该特定操作,执行当前视频块的比特流表示和当前视频块之间的转换。

在一个示例中,如果确定当前图片和参考图片具有不同的分辨率,则特定操作包括:在调用当前视频块的运动补偿过程之前,对参考图片内的样点执行修改。

在一个示例中,如果确定当前图片和参考图片具有不同的分辨率,则特定操作包括:通过使用参考图片中的样点对视频块执行运动补偿,以生成视频块的预测块;以及对预测块内的样点执行修改。

在一个示例中,参考图片以与对参考图片进行编解码所使用的分辨率被存储在解码图片缓冲器中。

在一个示例中,参考图片以最大允许分辨率、最小允许分辨率或预定分辨率的分辨率存储在解码图片缓冲器中。

在一个示例中,参考图片以基于当前图片和参考图片的分辨率的分辨率存储在解码图片缓冲器中。

在一个示例中,该方法还包括:以对解码图片进行编解码所使用的分辨率,将包括视频块的解码图片存储在解码图片缓冲器中。

在一个示例中,该方法还包括:以最大允许分辨率、最小允许分辨率或预定分辨率的分辨率,将包括视频块的解码图片存储在解码图片缓冲器中。

在一个示例中,解码图片缓冲器中的图片具有相同的分辨率。

在一个示例中,修改包括上采样或下采样中的至少一项。

在一个示例中,该转换包括将当前视频块编码成当前视频块的比特流表示,以及从当前视频块的比特流表示解码当前视频块。

在又一方面,公开了一种视频系统中的装置,该装置包括处理器和在其上具有指令的非暂时性存储器,其中,指令在由处理器执行时使处理器实施上述方法。

在又一方面,公开了一种非暂时性计算机可读介质,其上存储有程序代码,该程序代码在被执行时使处理器实施如上所述的方法。

4.所公开技术的示例实施方式

图23是视频处理装置2300的框图。装置2300可以用于实施本文描述的一个或多个方法。装置2300可以包含在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2300可以包括一个或多个处理器2302、一个或多个存储器2304和视频处理硬件2306。(多个)处理器2302可以被配置为实施本文档中描述的一个或多个方法(包括但不限于方法2300)。存储器(多个存储器)2304可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件2306可以用于在硬件电路中实施本文档中描述的一些技术。

在一些实施例中,视频编解码方法可以使用如参考图23所述的在硬件平台上实施的装置来实施。

从前面可以理解,为了说明的目的,本文已经描述了当前公开的技术的具体实施例,但是在不脱离本发明的范围的情况下,可以进行各种修改。因此,当前公开的技术不受限制,除了所附权利要求之外。

本专利文档中描述的主题和功能操作的实施方式可以在各种系统、数字电子电路中实施,或者在计算机软件、固件或硬件中实施,包括本说明书中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施方式可以实施为一个或多个计算机程序产品,即编码在有形且非暂时性的计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个或多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

举例来说,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或者被可操作地耦合以从一个或多个大容量存储设备接收数据或向其传送数据或两者兼有。然而,计算机不需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如,包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。

说明书与附图一起仅被认为是示例性的,其中示例性是示例。如本文所用,“或”的使用意图包括“和/或”,除非上下文另外明确指出。

虽然本专利文档包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样来保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。

类似地,尽管在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或顺序地执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中都需要这种分离。

仅描述了几个实施方式和示例,并且可以基于本专利文件中描述和图示的内容进行其它实施、增强和变化。

相关技术
  • 支持视频编解码中的自适应分辨率改变
  • 用于视频编解码中的自适应运动矢量分辨率的方法和设备
技术分类

06120113817294