带有参考图片重采样的编解码工具
文献发布时间:2023-06-19 13:26:15
相关申请的交叉引用
根据适用的专利法和/或巴黎公约的规则,本申请旨在及时要求2019年5月11日提交的国际专利申请号PCT/CN2019/086487和2019年10月12日提交的国际专利申请号PCT/CN2019/110905的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容作为本申请公开内容的一部分通过引用并入。
技术领域
本专利文档涉及视频处理技术、设备和系统。
背景技术
尽管在视频压缩方面取得了进步,但数字视频仍然占据互联网和其他数字通信网络上使用的最大带宽。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
描述了与数字视频处理相关的设备、系统和方法,例如用于视频处理的自适应环路滤波。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(HEVC))和未来的视频编解码标准(例如,通用视频编解码(VVC))或编解码器。
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演变。ITU-T产生了H.261和H.263,ISO/IEC产生了MPEG-1和MPEG-4 Visual,并且这两个组织联合产生了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JVET)。此后,许多新的方法被JVET所采用,并被放入名为联合探索模型(JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)成立了联合视频专家小组(JVET),致力于VVC标准,目标是与HEVC相比比特率降低50%。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,基于与当前视频块相关联的参考图片的一个或多个分辨率和当前图片的分辨率来导出一个或多个运动矢量偏移;以及使用一个或多个运动矢量偏移来执行转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,构建运动候选列表,在运动候选列表中,运动候选以优先级顺序被包括,使得运动候选的优先级基于与运动候选相关联的参考图片的分辨率;以及使用运动候选列表执行转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:基于包括一个或多个视频单元的当前视频图片的大小,确定用于当前视频图片的自适应环路滤波器的参数;以及通过根据自适应环路滤波器的参数对一个或多个视频单元进行滤波来执行当前视频图片和当前视频图片的编解码表示之间的转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:对视频的当前图片的当前视频块,应用具有色度缩放的亮度映射(LMCS)过程,在LMCS过程中,当前视频块的亮度样点在第一域和第二域之间被重整形,并且通过使用与相应的大小相关联的LMCS参数,以亮度相关方式缩放色度残差;以及执行当前视频块和视频的编解码表示之间的转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,根据基于多个子分区的参考图片信息的规则,确定是否和/或如何启用编解码工具,该编解码工具将当前视频块划分成多个子分区;以及基于该确定来执行转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,确定由于使用了具有与当前图片的大小不同的大小的参考图片来将当前视频块编解码成编解码表示,所以对当前视频块禁用编解码工具的使用;以及基于该确定来执行转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:通过基于确定是否和/或如何使用大小不同于当前图片大小的参考图片的规则,将编解码工具应用于当前视频块,为视频的当前图片的当前视频块生成预测块;以及使用预测块执行当前视频块和视频的编解码表示之间的转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,基于与一个或多个参考图片列表相关联的参考图片的第一分辨率和/或用于导出当前视频块的预测块的当前参考图片的第二分辨率,确定是否对当前视频块禁用编解码工具;以及基于该确定来执行转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括执行包括一个或多个视频块的视频图片和视频的编解码表示之间的转换,其中通过根据规则参考视频图片的参考图片列表来编解码一个或多个视频块中的至少一些,其中该规则指定参考图片列表包含具有最多K个不同分辨率的参考图片,其中K是整数。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括执行视频的N个连续视频图片和视频的编解码表示之间的转换,其中N个连续视频图片包括根据规则以不同分辨率编解码的一个或多个视频块,其中该规则指定对于N个连续图片最多允许K个不同分辨率,其中N和K是整数。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括执行包括多个图片的视频和视频的编解码表示之间的转换,其中使用不同的编解码视频分辨率来将多个图片中的至少一些编解码为编解码表示,并且其中编解码表示符合格式规则,该格式规则为:只有在顺序上为前一帧之后的下一帧被编解码为帧内帧的情况下,前一帧的第一编解码分辨率才改变为下一帧的第二编解码分辨率。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括解析视频的编解码表示,以确定视频的当前图片的当前视频块参考与不同于当前图片的分辨率的分辨率相关联的参考图片;通过将双向预测模式转换为将被应用于当前视频块的单向预测模式来生成当前视频块的预测块;以及使用预测块从编解码表示生成视频。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:根据运动矢量精度和/或分辨率比率,通过启用或禁用来自具有彼此不同分辨率的参考图片的帧间预测,为视频的当前图片的当前视频块生成预测块;以及使用预测块执行当前视频块和视频的编解码表示之间的转换。
在一个代表性方面,所公开的技术可以用于提供视频处理方法。该方法包括:基于视频的当前图片的当前视频块的编解码特性,确定在当前视频块和视频的编解码表示之间的转换期间,是否允许具有不同于当前图片的大小的参考图片来生成当前视频块的预测块;以及根据该确定执行转换。
在又一代表性方面,上述方法以处理器可执行代码的形式体现并存储在计算机可读程序介质中。
在又一代表性方面,公开了一种被配置或可操作来执行上述方法的设备。该设备可以包括被编程为实现该方法的处理器。
在又一代表性方面,视频解码器装置可以实现这里描述的方法。
在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面和特征。
附图说明
图1显示了以不同分辨率编解码的相同内容的两个表示的自适应流的示例。
图2显示了以不同分辨率编解码的相同内容的两个表示的自适应流的示例。
图3显示了两个表示的开放GOP预测结构的示例。
图4显示了在开放GOP位置的表示切换的示例。
图5显示了通过使用来自其他比特流的重采样的参考图片作为参考的RASL图片的解码过程的示例。
图6A至6C显示了基于MCTS的RWMR视口相关的360°流的示例。
图7显示了不同IRAP间隔和不同尺寸的并置子图片表示的示例。
图8示出了当观看方向改变导致分辨率改变时接收的片段的示例。
图9示出了与图6相比略微向上并朝向右立方体表面的观看方向改变的示例。
图10显示了其中呈现了两个子图片位置的子图片表示的实现的示例。
图11和12分别示出了ARC编码器和解码器的实现。
图13显示了基于片(title)组的ARC重采样示例。
图14显示了自适应分辨率变化的示例。
图15显示了用于CU的ATMVP运动预测示例。
图16A和16B分别示出了简化的4参数仿射运动模型和简化的6参数仿射运动模型的示例。
图17显示了每个子块的仿射MVF的示例。
图18A和18B分别示出了4参数仿射模型和6参数仿射模型的示例。
图19显示了用于继承的仿射候选的AF_INTER的MVP(运动矢量差)。
图20显示了用于构建的仿射候选的AF_INTER的MVP。
图21A和21B分别示出了五个临近块(neighboring block)和CPMV预测值导出。
图22显示了用于仿射Merge模式的候选位置的示例。
图23A和23B是用于实现本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
图24A至24E显示了根据所公开技术的一些实现的视频处理的示例方法的流程图。
图25A至25I显示了根据所公开技术的一些实现的视频处理的示例方法的流程图。
具体实施方式
本文档公开的技术和设备提供了具有自适应分辨率转换的编解码工具。AVC和HEVC没有能力在不引入IDR或内部随机接入点(IRAP)图片的情况下改变分辨率;这种能力可以被称为自适应分辨率改变(ARC)。有一些用例或应用场景会受益于ARC特征,包括以下内容:
-视频电话和会议中的速率适配:为了使编解码视频适应改变的网络条件,当网络条件变得更差以致可用带宽变得更低时,编码器可以通过编码更小分辨率的图片来适应它。目前,改变图片分辨率只能在IRAP图片后进行;这有几个问题。合理质量的IRAP图片将比帧间编解码图片大得多,并且解码也相应地更复杂:这需要花费时间和资源。如果解码器出于加载原因请求分辨率改变,这是个问题。它还可以打破低时延缓冲条件,强制音频重新同步,并且流的端到端(end-to-end)延时将增加,至少是暂时的。这会导致用户体验不佳。
-多方视频会议中活动发言者的改变:对于多方视频会议,活动发言者通常以比其他会议参与者的视频更大的视频尺寸显示。当活动扬声器改变时,每个参与者的图片分辨率也可能需要调整。当有源扬声器经常发生这种改变时,对ARC功能的需求变得更加重要。
-流(streaming)中的快速开始:对于流应用,通常应用会在开始显示前缓冲一定长度的解码图片。以较小的分辨率开始比特流将允许应用在缓冲器中有足够的图片来更快地开始显示。
流中的自适应流切换:HTTP动态自适应流(DASH)规范包括名为@mediaStreamStructureId的特性。这使得能够在具有不可解码的前导图片的开放GOP随机接入点的不同表示之间进行切换,例如,具有HEVC相关联的RASL图片的CRA图片。当相同视频的两个不同表示具有不同的比特率但具有相同的空域分辨率,同时它们具有@mediaStreamStructureId的相同的值时,可以在具有相关联的RASL图片的CRA图片的两个表示之间进行切换,并且可以以可接受的质量解码与CRA图片的切换相关联的RASL图片,从而实现无缝切换。有了ARC,@mediaStreamStructureId特征还可用于在具有不同空域分辨率的DASH表示之间切换。
ARC也称为动态分辨率转换。
ARC也可以视为参考图片重采样(RPR)的特殊情况,如H.263附件P。
1.1 H.263附件P中的参考图片重采样
这种模式描述了在参考图片用于预测之前对其进行扭曲(warp)的算法。这对于重采样具有与被预测的图片不同的源格式的参考图片可能是有用的。通过扭曲参考图片的形状、尺寸和位置,它还可以用于全局运动估计或旋转运动估计。语法包括要使用的扭曲参数以及重采样算法。参考图片重采样模式的最简单操作级别是4重采样的隐式因子,因为只需要对上采样和下采样过程应用FIR滤波器。在这种情况下,不需要附加的信令开销,因为当新图片(在图片标题中指示)的尺寸不同于前一图片的尺寸时,可以理解它的使用。
1.2 VVC的关于ARC的提案
1.2.1.JVET-M0135
下面描述的ARC的初步设计,其中一些部分取自JCTVC-F158,建议作为占位符,只是为了触发讨论。删除的文本前后都有双括号。
2.2.1.1基本工具的描述
用于支持ARC的基本工具约束如下:
-空域分辨率可能与标称分辨率相差因子0.5,适用于两个维度。空域分辨率可能会增加或减少,从而产生0.5和2.0的缩放比例。
-视频格式的纵横比和色度格式不变。
-裁剪区域与空域分辨率成比例缩放。
-根据需要简单地重新缩放参考图片,并且照常应用帧间预测。
2.2.1.2缩放操作
建议使用简单的零相位可分离的向下缩放和向上缩放滤波器。请注意,这些滤波器仅用于预测;解码器可以为输出目的使用更复杂的缩放。
使用以下1:2下缩放滤波器,它具有零相位和5个抽头:
(-1,9,16,9,-1)/32
下采样点位于偶数采样位置,并且位于相同位置(co-sited)。相同的滤波器用于亮度和色度。
对于2:1上采样,使用最新VVC WD中的半像素运动补偿插值滤波器系数生成奇数网格位置的附加样点。
组合的上下采样不会改变色度采样点的位置或相位。
2.2.1.2参数集中的分辨率描述
SPS中图片分辨率的信令通知改变如下所示。
表1:序列参数集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的整数倍。
表2:图片参数集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图片开始)。图1显示了以不同分辨率编解码的相同内容的两个表示的自适应流。
开放GOP预测结构(从CRA图片开始)比相应的封闭GOP预测结构能够实现更好的压缩性能。例如,在IRAP图片间隔为24个图片的情况下,就亮度Bjontegaard增量比特率而言,平均比特率降低了5.6%。为方便起见,模拟条件和结果总结在章节YY。
据报道,开放GOP预测结构也降低了主观可视质量泵送(pumping)。
在流中使用开放GOP的挑战是,在切换表示后,RASL图片不能用正确的参考图片解码。图2显示了与表示相关的挑战,图2显示了以不同分辨率编解码的相同内容的两个表示的自适应流。在图2中,片段使用封闭GOP或开放GOP预测结构。
以CRA图片开始的片段包含其至少一个参考图片在前一个片段中的RASL图片。这在图3中示出,图3显示了两个表示的开放GOP预测结构。在图3中,两个比特流中的图片0位于先前的片段中,并且被用作预测RASL图片的参考。
图2中用虚线矩形标记的表示切换如下图4所示,图4显示了在开放GOP位置的表示切换。可以观察到,RASL图片的参考图片(“图片0”)没有被解码。因此,RASL图片是不可解码的,并且在视频的播放中将会有间隙。
然而,已经发现用重采样的参考图片解码RASL图片在主观上是可以接受的,参见第4节。“图片0”的重采样和将其用作解码RASL图片的参考图片如图5所示。图5显示了通过使用来自另一比特流的重采样参考图片作为参考的RASL图片的解码过程。
2.2.2.2.2.区域级混合分辨率(RWMR)360°视频流中的视口改变
背景:基于HEVC的RWMR流
RWMR 360°流在视口上提供了更高的有效空域分辨率。覆盖视口的片源自6K(6144×3072)ERP图片或等效的CMP分辨率的方案,如图6所示,具有“4K”解码能力(HEVC级别5.1),包括在OMAF的条款D.6.3和D.6.4中,并在VR行业论坛指南中采用。这种分辨率被认为适合使用quad-HD(2560×1440)显示面板的头戴式显示器。
图6显示了基于MCTS的RWMR视口相关360°流的示例。图6a显示了编解码比特流的示例,图6b示出了被选择用于流的MCTS的示例,图6c显示了从MCTS合并的图片的示例。
背景:视口相关的360°流的不同IRAP间隔的几个表示
当在基于HEVC的视口相关的360°流中查看方向改变时,子图片表示的新选择可以在下一个与IRAP对齐的片段边界生效。子图片表示被合并到编解码图片用于解码,因此VCLNAL单元类型在所有选择的子图片表示中对齐。
为了在对观看方向改变做出反应的响应时间和观看方向稳定时的率失真性能之间提供折衷,可以以不同的IRAP间隔对内容的多个版本进行编解码。这在图7中针对图6中呈现的用于编码的并置子图片表示的一个集合进行了说明,并且在2018年10月的JVET-L0368的H.Chen,H.Yang,J.Chen的“Separate list for sub-block merge candidates”的章节3中进行了更详细的讨论。
图7显示了不同IRAP间隔和不同尺寸的并置子图片表示的示例。
图8呈现了其中首先选择以较低分辨率(384×384)接收子图片位置的示例。观看方向的改变导致以更高的分辨率(768×768)接收到新的子图片位置的选择。在图8的示例中,当观看方向改变导致分辨率改变时接收的片段在片段4的开始。在这个示例中,观看方向发生改变,使得从短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中允许将这些子图片合并成编解码图片。
2.2.2.2.3.视频会议中的自适应分辨率改变
JCTVC-F158提出的自适应分辨率改变主要针对视频会议。以下子章节是从JCTVC-F158中复制的,并呈现了其中自适应分辨率改变被认为是有用的用例。
无缝网络适配和错误恢复能力
如视频会议和分组网络上的流等应用经常要求编码流适应改变的网络条件,尤其是当比特率过高且数据丢失时。此类应用通常具有返回信道,允许编码器检测错误并执行调整。编码器有两个主要工具可供使用:比特率降低和改变时域或空域分辨率。通过使用分层预测结构进行编解码,可以有效地实现时域分辨率改变。然而,为了获得最佳质量,需要改变空域分辨率,并且需要用于视频通信的设计良好的编码器的一部分。
在AVC中改变空域分辨率需要发送IDR帧,并重置流。这导致了严重的问题。合理质量的IDR帧将比帧间图片大得多,并且相应地解码起来会更复杂:这需要花费时间和资源。如果解码器出于加载原因请求改变分辨率,这是个问题。它还可以打破低时延缓冲条件,强制音频重新同步,并且流的端到端延时将增加,至少是暂时的。这导致用户体验不佳。
为了最小化这些问题,IDR通常以低质量发送,使用与P帧相似的比特数,并且对于给定的分辨率,需要显著时间才能恢复到全质量。为了获得足够低的延时,质量可能会非常低,并且在图像“重新聚焦”之前通常会有明显的模糊。实际上,帧内帧在压缩方面几乎没有做什么有用的工作:它只是重新开始流的方法。
因此,HEVC中的方法需要在对主观体验影响最小的情况下允许改变分辨率,尤其是在具有挑战性的网络条件下。
快速开始
有“快速开始”模式是有用的,在该模式下,第一帧以降低的分辨率发送,并且在接下来的几帧中分辨率增加,以便减少延时并且更快地达到正常质量,而在开始时没有不可接受的图片模糊。
会议“合成”(compose)
视频会议通常还有一下特征,由此发言的人会全屏显示,而其他参与者会在较小的分辨率窗口中显示。为了有效地支持这一点,通常较小的图片以较低的分辨率发送。当参与者成为发言者并成为全屏后,该分辨率会提高。此时发送帧内帧会在视频流中引起不愉快的呃逆(hiccup)。如果发言者快速交替,这种效果会非常明显和令人不快。
2.2.2.3.提议的设计目标
以下是为VVC版本1提议的高层设计选择:
1.提议在VVC版本1中包括参考图片重采样过程,用于以下用例:
-在自适应流中使用有效的预测结构(例如,所谓的开放图片组),而不损害不同属性(如不同空域分辨率)的表示之间的快速和无缝的表示切换能力。
-使低延时会话视频内容适应网络条件和应用引起的分辨率变化,而没有显著的延时或延时变化。
2.提议的VVC设计允许将源自随机接入图片的子图片和源自非随机接入图片的另一个子图片合并成符合VVC的相同编解码图片。这被认为是为了有效处理混合质量和混合分辨率视口自适应360°流中的观看方向改变。
3.提议在VVC版本1中包括子图片级重采样过程。这被认为是为了启用有效的预测结构,以更有效地处理混合分辨率视口自适应360°流中的观看方向变化。
2.2.3.JVET-N0048
JVET-M0259中详细讨论了自适应分辨率改变(ARC)的用例和设计目标。总结如下:
1.实时通信
以下自适应分辨率改变的用例最初包含在JCTVC-F158中:
a.无缝网络适配和错误恢复能力(通过动态自适应分辨率变化)
b.快速开始(在会话开始或重置时分辨率逐渐增加)
c.会议“合成”(发言的人被赋予更高的分辨率)
2.自适应流
MPEG N17074的章节5.13(“Support for Adaptive Streaming”)包括对VVC的以下要求:在提供相同内容的多个表示的自适应流服务的情况下,该标准应支持快速表示切换,每个表示具有不同的属性(例如,空域分辨率或采样比特深度)。该标准应能够使用有效的预测结构(例如,所谓的开放图片组),而不会损害不同属性(例如不同空域分辨率)的表示之间的快速和无缝的表示切换能力。
JVET-M0259讨论了如何通过对前导图片的参考图片进行重采样来满足这一要求。
3. 360度视口相关流
JVET-M0259讨论了如何通过对前导图片的参考图片的某些独立编解码图片区域进行重采样来解决这个用例。
这篇提案提出了一种自适应的分辨率编解码方法,它被断言可以满足上面所有的用例和设计目标。360度视口相关流和会议“合成”用例由该提议与JVET-N0045(提出独立的子图片层)一起处理。
提议的规范文本
删除的文本前后都有双括号。
信令
表3:sps_max_rpr
sps_max_rpr为CVS中的具有分别不等于当前图片的pic_width_in_luma_samples和pic_height_in_luma_samples的pic_width_in_luma_samples和pic_height_in_luma_samples的任何片组指定参考图片列表0或1中的活动参考图片的最大数量。
表4和表5:图片宽度和高度
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中的重采样过程被调用,其中输出具有与输入相同的参考图片标记和图片顺序计数。
–用作重采样过程输入的参考图片标记为“未用于参考”。
可以进一步讨论对编解码树单元、缩放、变换、环内滤波等的解码过程的调用。
当前图片的所有片组解码后,当前解码图片被标记为“用于短期参考”。
重采样过程
SHVC重采样过程(HEVC条款H.8.1.4.2)提议增加以下内容:
…
如果sps_ref_wraparound_enabled_flag等于0,则样点值tempArray[n],其中n=0..7,导出如下:
否则,样点值为tempArray[n],其中n=0..7,导出如下:
refOffset=(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY
tempArray[n]=(f
…
如果sps_ref_wraparound_enabled_flag等于0,则样点值tempArray[n],其中n=0..3,导出如下:
否则,样点值为tempArray[n],其中n=0..3,导出如下:
refOffset=(sps_ref_wraparound_offset_minus1+1)*MinCbSizeY)/SubWidthC
tempArray[n]=(f
2.2.4.JVET-N0052
自适应分辨率改变,作为视频压缩标准中的概念,至少从1996年就已经存在;特别是针对参考图片重采样(RPR,附件P)和降低分辨率更新(附件Q)的H.263+相关提议。它最近获得了一定的重视,首先是在JCT-VC时期Cisco的提议,然后是在VP9的背景下(现在它被适度广泛部署),并且最近在VVC的背景下。ARC允许减少对于给定图片需要编解码的样点的数量,并在需要时将结果参考图片上采样到更高的分辨率。
在两个场景下考虑了特别感兴趣的ARC:
1)帧内编解码图片,如IDR图片,通常比帧间图片大得多。不管什么原因,对旨在进行帧内编解码的图片进行下采样可以为将来的预测提供更好的输入。从速率控制的角度来看,这显然也是有利的,至少在低延时应用中是如此。
2)当在断点附近操作编解码器时,至少一些有线和卫星运营商通常会这样做,即使对于非帧内编解码图片,ARC也可能变得方便,如在没有硬转换点的场景转换中。
3)向前看可能有点过了:固定分辨率的概念通常是合理的吗?随着CRT的离开和缩放引擎在渲染设备中的普遍存在,渲染和编解码分辨率之间的硬绑定已经成为过去。此外,值得注意的是,有一些可用的研究表明,当视频序列中有大量活动时,大多数人无法专注于精细细节(可能与高分辨率相关联),即使该活动在空域上的其他地方。如果这是真的并且被普遍接受,精细粒度分辨率改变可能是比自适应QP更好的速率控制机制。这一点现在需要讨论。取消固定分辨率比特流的概念有无数的系统层和实现含义,这一点(至少在它们存在的层上,如果不是它们的详细性质)是很清楚的。
技术上,ARC可以实现为参考图片重采样。实现参考图片重采样有两个主要方面:重采样滤波器和比特流中重采样信息的信令通知。本文档侧重于后者,并在有实现经验的程度下触及前者。鼓励对合适的滤波器设计进行更多研究,腾讯将仔细考虑并在适当的时候支持这方面的任何建议,以大幅改进所提供的strawman设计。
腾讯的ARC实现的概述
图11和12分别呈现了腾讯的ARC编码器和解码器实现。所公开技术的实现使得能够在每图片粒度上改变图片宽度和高度,而与图片类型无关。在编码器处,输入图片数据被下采样到当前图片编码的所选图片尺寸。在第一输入图片被编码为帧内图片之后,解码图片被存储在解码图片缓冲器(DPB)中。当后续图片(consequent picture)以不同的采样率被下采样并被编码为帧间图片时,DPB中的(一个或多个)参考图片根据该参考的图片尺寸和当前图片尺寸之间的空域比被上/下缩放。在解码器处,解码图片被存储在DPB中,而无需重采样。然而,当用于运动补偿时,DPB中的参考图片相对于当前解码图片和参考之间的空域比率被向上缩放/向下缩放。解码图片被上采样到原始图片尺寸,或者当被突出显示时,被上采样到期望的输出图片尺寸。在运动估计/补偿过程中,运动矢量根据图片尺寸比率以及图片顺序计数差进行缩放。
ARC参数的信号通知
术语“ARC参数”在本文中用作使ARC工作所需的任何参数的组合。在最简单的情况下,这可能是缩放因子,或者是具有定义的缩放因子的表的索引。它可以是目标分辨率(例如,以样点或最大CU尺寸粒度表示),或者是提供目标分辨率的表的索引,就像JVET-M0135中提议的那样。还包括使用的上/下采样滤波器的滤波器选择器甚至滤波器参数(一直到滤波器系数)。
从一开始,本文提议的实现至少在概念上允许图片的不同部分具有不同的ARC参数。根据当前的VVC草案,提议适当的语法结构是矩形片组(TG)。那些使用扫描顺序TG的将被限制为仅对完整图片使用ARC,或者在一定程度上扫描顺序TG包含在矩形TG中。这可以很容易地通过比特流约束来指定。
由于不同的TG可能具有不同的ARC参数,因此ARC参数的适当位置可以是在TG头中,也可以是在具有TG的范围的参数集中,并由TG头参考,即当前VVC草案中的自适应参数集,或者是在更高参数集中的表中更详细的参考(索引)。在这三个选项中,提议此时使用TG头来编解码对包括ARC参数的表条目的参考,并且该表位于SPS中,其中最大表值被编解码在(即将到来的)DPS中。缩放因子可以直接被编解码到TG头中,而不使用任何参数集值。如果ARC参数的每片组信令通知是设计标准,那么使用PPS作为参考(如JVET-M0135中所提议的)是相反的。
至于表条目本身,有以下选项可用:
-对下采样因子进行编解码,一个用于两个维度,或者独立用于X和Y维度?这主要是(HW-)实现的讨论,并且一些可能更喜欢这样的结果,即X维度的缩放因子相当灵活,但Y维度的缩放因子固定为1,或者只有很少的选择。建议语法是表达这种约束的错误地方,如果它们是需要的,那么作为一致性要求表达的约束是优选的。换句话说,保持语法灵活性。
-对目标分辨率的编解码提议如下。相对于当前分辨率,关于这些分辨率可能存在或多或少的复杂限制,可能以比特流一致性要求来表示。
-优选对每个片组进行下采样,以允许图片合成/提取。然而,从信令通知角度来看,这并不重要。如果该组做出仅在图片粒度上允许ARC的不明智决定,则可以包括所有TG使用相同ARC参数的比特流一致性要求。
-与ARC相关的控制信息。在我们下面的设计中,包括了参考图片尺寸。
-需要滤波器设计的灵活性?有比几个代码点更大的吗?如果是,把它们放入APS?在一些实现中,如果下采样滤波器改变并且ALF保持不变,则提议比特流必须消耗开销。
目前,为了保持提议的技术一致和简单(在可能的范围内),提议如下:
-固定滤波器设计
-SPS中表格中的目标分辨率,具有比特流限制TBD。
-DPS中的最小/最大目标分辨率,以促进上限交换/协商。
所得语法可能如下所示:
表6:解码器参数集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的值。
表7:序列参数集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_width_in_luma_samples,reference_pic_height_in_luma_samples)的存在取决于参考_pic_size_present_flag的值。
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])可能等于编解码视频序列中解码图片的解码图片尺寸。
表8:片组头语法
dec_pic_size_idx指定解码图片的宽度应等于pic_width_in_luma_samples[dec_pic_size_idx],并且解码图片的高度应等于pic_height_in_luma_samples[dec_pic_size_idx]。
滤波器
提议的设计在概念上包括四个不同的滤波器组:从原始图片到输入图片的下采样滤波器、用于运动估计/补偿而重新缩放参考图片的上/下采样滤波器、以及从解码图片到输出图片的上采样滤波器。第一个和最后一个可以作为非规范性问题。在规范的范围内,上/下采样滤波器需要在适当的参数集中显式地信令通知,或者预先定义。
我们的实现使用了SHVC(SHM ver.12.4)的下采样滤波器,它是一个12抽头和2D可分离滤波器,用于下采样以调整用于运动补偿的参考图片的尺寸。在当前实现中,仅支持二元采样。因此,默认情况下,下采样滤波器的相位设置为零。对于上采样,使用具有16个相位的8抽头插值滤波器来移动相位,并将亮度和色度像素位置与原始位置对齐。
表9和表10提供了用于亮度上采样过程的8抽头滤波器系数fL[p,x],其中p=0..15和x=0..7,以及用于色度上采样过程的4抽头滤波器系数fC[p,x],其中p=0..15和x=0..3。
表11提供了用于下采样过程的12抽头滤波器系数。相同的滤波器系数用于下采样的亮度和色度两者。
表9:具有16个相位的亮度上采样滤波器
表10:具有16个相位的色度上采样滤波器
表11:用于亮度和色度的下采样滤波器系数
当使用适应于内容和/或缩放因子的滤波器时,可以预期(可能显著的)主观和客观收益。
片组边界讨论
对于许多与片组相关的工作来说,这可能是真的,但是对于基于片组(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显示了基于片组的ARC重采样示例。考虑右边的图片,它由四个子图片组成(在比特流语法中可能表示为四个矩形片组)。在左边,右下方的TG被二次采样到一半尺寸。需要讨论如何处理相关区域之外的样点,标记为“一半”。
很多(大多数?全部?)以前的视频编解码标准有一个共同点,即不支持压缩域中图片部分的空域提取。这意味着图片的每个样点由一个或多个语法元素表示,并且每个语法元素影响至少一个样点。为了保持这一点,可能需要以某种方式填充由标记为“一半”的下采样TG覆盖的样点周围的区域。H.263+附件P通过填充解决了这个问题;事实上,填充样点的样点值可以在比特流中信令通知(在某些严格的限制内)。
可能构成对先前假设的重大偏离但在任何情况下可能需要支持基于图片的矩形部分的子比特流提取(和合成)的替代方案是放宽当前的理解,即重建图片的每个样点需要由编解码图片中的某个东西来表示(即使该东西只是跳过的块)。
实现考虑、系统含义和档次(Profile)/级别
提议将基本ARC包括在“基线/主要”档次。如果某些应用场景不需要,可以使用子档次化来移除它们。某些限制可能是可以接受的。在这方面,需要注意的是,某些H.263+档次和“推荐模式”(这些是以前的档次)包括限制,即附件P只能用作“4的隐式因子”,即两个维度的二元下采样。这足以支持视频会议中的快速开始(快速完成I帧)。
这种设计使得所有的滤波都可以“即时”(on the fly)完成,并且内存带宽方面没有增加,或者增加的幅度可以忽略不计。就目前而言,似乎没有必要将ARC放入引入的档次中。
复杂的表格等可能无法有效地用于能力交换,正如在Marrakech与JVET-M0135一起讨论的那样。假设提供-回答(offer-answer)和类似的有限深度握手,选项的数量太大,使得不能允许有意义的跨供应商互操作。实际上,为了在能力交换场景中以有意义的方式支持ARC,我们不得不退而求其次,最多在互操作点处。例如:无ARC、隐式因子为4的ARC、全ARC。作为替代方案,可以为所有ARC指定所需的支持,并将比特流复杂性的限制留给更高层的SDO。无论如何,这是要在某个时候进行的战略性讨论(超出了已经在子档次和标记上下文中讨论的内容)。
至于级别:基本设计原则需要是,作为比特流一致性的条件,无论比特流中信令通知多少上采样,上采样图片的样点计数都需要适合比特流的级别,并且所有样点都需要适合上采样编解码图片。注意,H263+中并非如此;在H263+中,某些样点可能不存在。
2.2.5.JVET-N0118
提议了以下几个方面:
1.图片分辨率的列表在SPS中信令通知,并且列表的索引在PPS中信令通知,以指定单独图片的尺寸。
2.对于要输出的任何图片,重采样前的解码图片被裁剪(根据需要)并被输出,即重采样图片不用于输出,仅用于帧间预测参考。
3.支持1.5x和2x的重采样比率。不支持任意重采样比例。进一步研究是否需要一个或两个以上的其他重采样比率。
4.在图片级重采样和块级重采样之间,支持者更喜欢块级重采样。
a.然而,如果选择图片级重采样,则提议以下方面:
i.当参考图片被重采样时,参考图片的重采样版本和原始重采样版本都存储在DPB中,因此两者都会影响DPB饱满度(fullness)。
ii.当对应的未重采样参考图片被标记为“未用于参考”时,重采样参考图片被标记为“未用于参考”。
iii.RPL信令通知语法保持不变,而RPL构建过程修改如下:当参考图片需要被包括在RPL条目中,并且该参考图片的具有与当前图片相同分辨率的版本不在DPB中时,调用图片重采样过程,并且该参考图片的重采样版本被包括在RPL条目中。
iv.DPB中可能存在的重采样的参考图片的数量应该被限制,例如,小于或等于2。
b.否则(选择块级重采样),建议如下:
i.为了限制最坏情况解码器的复杂性,提议不允许根据其分辨率不同于当前图片的分辨率的参考图片对块进行双向预测。
ii.另一选择是,当需要进行重采样和四分之一像素插值时,将两个滤波器合并,并立即应用该操作。
5.无论选择基于图片的重采样方法还是基于块的重采样方法,都提议根据需要应用时域运动矢量缩放。
2.2.5.1.实现
ARC软件是在VTM-4.0.1之上实现的,具有以下改变:
-支持的分辨率的列表在SPS中信令通知。
-空域分辨率信令通知已从SPS移动到PPS。
-实现了基于图片的重采样方案,用于对参考图片进行重采样。在图片被解码之后,重建图片可以被重采样到不同的空域分辨率。原始重建图片和重采样的重建图片都存储在DPB中,并且可由未来的图片按解码顺序参考。
-实现的重采样滤波器基于JCTVC-H0234中测试的滤波器,如下所示:
--上采样滤波器:4抽头+/-四分之一相位DCTIF,具有抽头(-4、54、16、-2)/64
--下采样滤波器:h11滤波器,具有抽头(1,0,-3,0,10,16,10,0,-3,0,
1)/32
-当构建当前图片的参考图片列表(即L0和L1)时,仅使用与当前图片具有相同分辨率的参考图片。请注意,参考图片可以是原始尺寸,也可以是重采样尺寸。
-可以启用TMVP和ATVMP;然而,当当前图片和参考图片的原始编解码分辨率不同时,TMVP和ATMVP对于该参考图片被禁用。
-为了起点软件实现的方便和简单,当输出图片时,解码器输出最高可用分辨率。
关于图片尺寸和图片输出的信令通知
1.关于比特流中的编解码图片的空域分辨率的列表
目前,CVS中的所有编解码图片都具有相同的分辨率。因此,在SPS中只信令通知一个分辨率(即图片宽度和高度)是直接的。在ARC的支持下,需要信令通知图片分辨率的列表,而不是一个分辨率。提议在SPS中信令通知该列表,并且在PPS中信令通知该列表的索引,以指定单独图片的尺寸。
2.关于图片输出
提议对于要输出的任何图片,在重采样之前的解码图片被裁剪(根据需要)并被输出,即,重采样图片不用于输出,仅用于帧间预测参考。ARC重采样滤波器需要被设计成优化用于帧间预测的重采样图片的使用,并且这种滤波器对于图片输出/显示目的可能不是最佳的,而视频终端设备通常已经实现了优化的输出缩放/缩放功能。
2.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应为单向预测块。
有了这个约束,解码块所需的插值操作的最坏数量被限制为两个。如果块参考来自不同分辨率图片的块,如上所述,所需的插值操作的数量是两个。这与当块参考来自相同分辨率图片的参考块并且被编解码为双向预测块的情况相同,因为插值操作的数量也是两个(即,一个用于获得每个参考块的四分之一像素分辨率)。
为了简化实现,提议了另一变型,如果VVC中的ARC设计使用基于块的重采样,则以下内容适用:
-如果参考帧和当前帧具有不同的分辨率,则首先计算预测值的每个像素的对应位置,然后仅应用一次插值。也就是说,两个插值操作(即一个用于重采样,并且一个用于四分之一像素插值)被组合成仅仅一个插值操作。当前VVC中的子像素插值滤波器可以被重用(reuse),但是在这种情况下,插值的粒度应该被扩大,但是插值操作次数从两次减少到一次。
-为了在时域MV来自与当前分辨率不同的参考帧的情况下启用时域MV使用(例如,Merge模式和ATMVP),提议根据需要将时域MV缩放至当前分辨率。
重采样比率
在JVET-M0135中,为了开始关于ARC的讨论,提议对于ARC的起点,只考虑2x的重采样比(意味着2×2用于上采样,并且1/2×1/2用于下采样)。Marrakech会议后对这一主题的进一步讨论发现,仅支持2x的重采样比率非常有限,因为在某些情况下,重采样和未重采样分辨率之间较小的差异会更有益处。
虽然支持任意重采样比率可能是期望的,但支持起来似乎很困难。这是因为为了支持任意的重采样比率,必须定义和实现的重采样滤波器的数量似乎太多,并且给解码器实现带来了很大的负担。
提议需要支持一个以上但数量较少的重采样比,但至少支持1.5x和2x重采样比,不支持任意重采样比。
2.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的定义如下:
2.每个解码图片都与名为PictureSizeUnit的值相关联。PictureSizeUnit是整数值,它指定解码图片尺寸相对于MinPicSizeInSampleY的大小。PictureSizeUnit的定义取决于VVC中ARC支持的重采样率。
例如,如果ARC仅支持2的重采样比率,则PictureSizeUnit的定义如下:
-比特流中具有最小分辨率的解码图片与1的PictureSizeUnit相关联。
-比特流中具有最小分辨率的2乘2的分辨率的解码图片与4(即1*4)的PictureSizeUnit相关联。
对于另一个示例,如果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_minus1[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的值。
2.2.5.5.重采样滤波器
在软件实现中,实现的重采样滤波器简单地取自JCTVC-H0234中描述的先前可用的滤波器。如果其他重采样滤波器提供更好的性能和/或更低的复杂性,则应进行测试和使用。提议测试各种重采样滤波器,以在复杂性和性能之间取得平衡。这样的测试可以在CE中完成。
2.2.5.6.现有工具的其他必要修改
为了支持ARC,可能需要对一些现有的编解码工具进行一些修改和/或附加操作。例如,在ARC软件实现的基于图片的重采样中,为简单起见,当当前图片和参考图片的原始编解码分辨率不同时,禁用TMVP和ATMVP。
2.2.6.JVET-N0279
根据“未来视频编解码标准的要求”,“在提供相同内容的多种表示的自适应流服务的情况下,该标准应支持快速表示切换,每种表示都具有不同的属性(例如,空域分辨率或采样比特深度)。”在实时视频通信中,允许在编解码视频序列内改变分辨率而不插入I图片,不仅可以使视频数据无缝地适应动态信道条件或用户偏好,还可以消除I图片带来的跳动效应。图14显示了自适应分辨率改变的假设示例,其中当前图片是根据不同尺寸的参考图片预测的。
该提案提议了高层语法以信令通知自适应分辨率改变以及对VTM中的当前运动补偿预测过程的修改。这些修改仅限于运动矢量缩放和子像素位置导出,而不改变现有的运动补偿插值器。这将允许现有的运动补偿插值器被重用,并且不需要新的处理块来支持自适应分辨率改变,这将引入附加的成本。
2.2.6.1.自适应分辨率改变信令通知
删除的文本前后都有双括号。
表12: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的整数倍。
表13: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_sample与所参考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
表14
参考图片缩放过程
当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像素。色度运动矢量和色度参考块的缩放过程几乎与亮度块相同,除了色度格式相关的调整。
当当前色度块的左上角像素的坐标为(xc,yc)时,参考色度图片中的初始水平和垂直位置为
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。
2.3.JVET-N0415中基于编解码树块(CTB)的自适应环路滤波器(ALF)
条带级时域滤波器
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)缓冲器。
2.4.可选时域运动矢量预测(又名VVC中基于子块的时域Merge候选)
在可选时域运动矢量预测(ATMVP)方法中,运动矢量时域运动矢量预测(TMVP)通过从小于当前CU的块中提取运动信息的多个集合(包括运动矢量和参考索引)来修改。如图14所示,子CU是正方形的N×N块(N默认设置为8)。
ATMVP分两步预测CU内子CU的运动矢量。第一步是用所谓的时域矢量识别参考图片中的相应块。参考图片被称为运动源图片。第二步是将当前的CU划分成子CU,并从对应于每个子CU的块中获得每个子CU的运动矢量和参考索引,如图15所示,该图显示了针对CU的ATMVP运动预测的示例。
在第一步中,参考图片和相应的块由当前CU的空域临近块的运动信息确定。为了避免临近块的重复扫描过程,使用来自当前CU的Merge候选列表中的块A0(左块)的Merge候选。参考并置参考图片的来自块A0的第一可用运动矢量被设置为时域矢量。这样,在ATMVP中,与TMVP相比,相应的块可以被更准确地识别,其中相应的块(有时被称为并置块)始终在相对于当前CU的右下角或中心位置。
在第二步中,通过将时域矢量添加到当前CU的坐标,子CU的相应的块由运动源图片中的时域矢量标识。对于每个子CU,其相应的块(覆盖中心样点的最小运动网格)的运动信息被用于导出子CU的运动信息。在相应的N×N块的运动信息被识别之后,以与HEVC的TMVP相同的方式,它被转换为当前子CU的运动矢量和参考索引,其中应用运动缩放和其他过程。
2.5.仿射运动预测
在HEVC,只有平移运动模型用于运动补偿预测(MCP)。而在现实世界中,有许多种运动,例如,放大/缩小、旋转、透视运动和其他不规则运动。在VVC中,应用具有4参数仿射模型和6参数仿射模型的简化的仿射变换运动补偿预测。图16a和16b分别示出了简化的4参数仿射运动模型和简化的6参数仿射运动模型。如图16a和16b所示,块的仿射运动场由4参数仿射模型的两个控制点运动矢量(CPMV)和6参数仿射模型的3个CPMV描述。
块的运动矢量场(MVF)分别由以下等式描述,其中等式(1)中的4参数仿射模型(其中4参数被定义为变量a、b、e和f)和等式(2)中的6参数仿射模型(其中4参数被定义为变量a、b、c、d、e和f):
其中(mvh0,mvh0)是左上角控制点的运动矢量,并且(mvh1,mvh1)是右上角控制点的运动矢量,并且(mvh2,mvh2)是左下角控制点的运动矢量,所有三个运动矢量被称为控制点运动矢量(CPMV),(x,y)表示代表点相对于当前块内左上角样点的坐标,并且(mvh(x,y),mvv(x,y))是为位于(x,y)的样点导出的运动矢量。CP运动矢量可以被信令通知(如在仿射AMVP模式中那样)或即时导出(如在仿射Merge模式中那样)。w和h是当前块的宽度和高度。在实践中,除法是通过右移和取整运算来实现的。在VTM中,代表点被定义为子块的中心位置,例如,当子块的左上角相对于当前块内的左上角样点的坐标为(xs,ys)时,代表点的坐标被定义为(xs+2,ys+2)。对于每个子块(即,VTM中的4×4块),利用代表点来导出整个子块的运动矢量。
为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。为了导出每个M×N(在当前VVC中M和N都设置为4)子块的运动矢量,根据等式25和等式26计算每个子块的中心样点的运动矢量,如图17所示,并取整到1/16分数精度。然后,利用导出的运动矢量,应用1/16像素的运动补偿内插滤波器,来生成每个子块的预测。1/16像素的插值滤波器是通过仿射模式引入的。
在MCP之后,每个子块的高精度运动矢量被取整并保存为与常规运动矢量相同的精度。
2.5.1.仿射预测信令通知
类似于平移运动模型,由于仿射预测,也有两个模式用于信令通知边信息(sideinformation)。它们是AFFINE_INTER和AFFINE_MERGE模式。
2.5.2.AF_INTER模式
对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级的仿射标志,以指示是否使用AF_INTER模式。
在这种模式下,对于每个参考图片列表(列表0或列表1),仿射AMVP候选列表以下列顺序用三种类型的仿射运动预测值构建,其中每个候选包括当前块的估计的CPMV。在编码器侧发现的最佳CPMV的差异(诸如图18a和18b中的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,如图18b中的左上角CPMV的
2)构建的仿射运动预测值
构建的仿射运动预测值包括从临近帧间编解码块中导出的控制点运动矢量(CPMV),如图20所示,它们具有相同的参考图片。如果当前仿射运动模型是4参数仿射,则CPMV的数量是2,否则如果当前仿射运动模型是6参数仿射,则CPMV的数量是3。左上角的CPMV
-如果当前仿射运动模型是4参数仿射,则仅当
-如果当前仿射运动模型是6参数仿射,则仅当
当将构建的仿射运动预测值插入候选列表时,不应用修剪过程。
3)常规AMVP运动预测值
以下适用,直到仿射运动预测值的数量达到最大。
i.通过将所有CPMVs设置为
ii.通过将所有CPMV设置为
iii.通过将所有CPMV设置为
iv.通过将所有CPMV设置为HEVC TMVP(如果可用)来导出仿射运动预测值。
v.通过将所有CPMV设置为零MV来导出仿射运动预测值。
注意,已经在构建的仿射运动预测值中导出
在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,因此需要为这些控制点编解码2/3个MVD(运动矢量差),如图18a和18b所示。在JVET-K0337中,提议如下导出MV,即从mvd
其中,
2.5.2.1.AF_MERGE模式
当CU应用于AF_MERGE模式时,它从有效的临近重构块中获得用仿射模式编解码的第一块。图21显示了AF_MERGE的候选。候选块的选择顺序是从左、上、右上角、左下角到左上角,如图21a所示(按顺序用A、B、C、D、E表示)。例如,如果临近左下块以仿射模式编解码,如图21b中的A0所示,则提取包含块A的临近CU/PU的左上角、右上角和左下角的控制点运动矢量mv
在导出当前CU的CPMV mv0C、mv1C和mv2C之后,根据简化的仿射运动模型等式25和等式26,生成当前CU的MVF。为了识别当前CU是否用AF_MERGE模式编解码,当有至少一个临近块以仿射模式编解码时,在比特流中信令通知仿射标志。
在JVET-L0142和JVET-L0632中,仿射Merge候选列表通过以下步骤构建:
1)插入继承的仿射候选
继承的仿射候选意味着候选是从其有效临近仿射编解码块的仿射运动模型中导出的。从临近块的仿射运动模型中导出最多两个继承的仿射候选,并将其插入候选列表中。对于左预测值,扫描顺序为{A0,A1};对于上预测值,扫描顺序为{B0,B1,B2}。
2)插入构建的仿射候选
如果仿射Merge候选列表中的候选的数量小于MaxNumAffineCand(例如,5),则构建的仿射候选被插入到候选列表中。构建的仿射候选意味着候选是通过组合每个控制点的临近运动信息来构建的。
a)控制点的运动信息首先从图22所示的指定空域邻居和时域邻居中导出,图22显示了仿射Merge模式的候选位置的示例。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可用,则使用B3。如果B2和B3都不可用,则使用A2。如果三个候选都不在,就无法获得CP1的运动信息。
-对于CP2,检查优先级为B1->B0。
-对于CP3,检查优先级为A1->A0。
-对于CP4,使用T。
b)其次,使用控制点的组合来构建仿射Merge候选。
-构建6参数仿射候选需要三个控制点的运动信息。三个控制点可以从以下四个组合中选择一个:({CP1、CP2、CP4}、{CP1、CP2、CP3}、{CP2、CP3、CP4}、{CP1、CP3、CP4})。组合{CP1、CP2、CP3}、{CP2、CP3、CP4}、{CP1、CP3、CP4}将被转换为由左上角、右上角和左下角控制点表示的6参数运动模型。
-需要两个控制点的运动信息来构建4参数仿射候选。这两个控制点可以从以下两个组合中选择一个:({CP1、CP2}、{CP1、CP3})。这两个组合将被转换为由左上角和右上角控制点表示的4参数运动模型。
-构建的仿射候选的组合按以下顺序插入候选列表:
{CP1、CP2、CP3}、{CP1、CP2、CP4}、{CP1、CP3、CP4}、{CP2、CP3、CP4}、{CP1、CP2}、{CP1、CP3}
i.对于每个组合,检查每个CP的列表X的参考索引,如果它们都相同,则该组合具有列表X的有效CPMV。如果该组合不具有列表0和列表1的有效CPMV,则该组合被标记为无效。否则,它是有效的,并且CPMV被放入子块Merge列表。
3)用零运动矢量填充(Padding)
如果仿射Merge候选列表中的候选的数量小于5,则将具有零参考索引的零运动矢量插入候选列表,直到列表满为止。
更具体地,对于子块Merge候选列表,4参数Merge候选的MV设置为(0,0)并且预测方向设置为来自列表0的单向预测(对于P条带)和双向预测(对于B条带)。
现有实现的缺点
在VVC中应用时,ARC可能具有以下问题:
在VVC中应用编解码工具是不清楚的,如ALF、亮度映射色度缩放(LMCS)、解码器侧运动矢量细化(DMVR)、双向光流(BDOF)、仿射预测、三角形预测模式(TPM)、对称运动矢量差(SMVD)、具有运动矢量差的Merge(MMVD)、帧间帧内预测(在VVC中,又称组合的帧间Merge和帧内预测CIIP)、局部照明补偿(LIC)和基于历史的运动矢量预测(HMVP)。
具有自适应分辨率转换的编解码工具的示例性方法
所公开的技术的实施例克服了现有实现的缺点。下面提供的公开技术的示例被讨论以促进对公开技术的理解,并且应该以限制公开技术的方式被解释。除非明确指出相反的情况,否则这些示例中描述的各种特征可以组合。
在下面的讨论中,SatShift(x,n)被定义为
Shift(x,n)定义为Shift(x,n)=(x+offset0)>>n。
在一个示例中,offset0和/或offset1被设置为(1<
在另一个示例中,offset0=offset1=((1<
Clip3(min、max、x)定义为
Floor(x)定义为小于或等于x的最大整数。
Ceil(x)是大于等于x的最小整数。
Log2(x)定义为x的以2为底的对数。
下面列出了所公开技术的实现的一些方面。
1.MMVD/SMVD中的MV偏移和/或解码器侧导出过程中的细化的运动矢量的导出可以取决于与当前块相关联的参考图片的分辨率和当前图片的分辨率。
a.例如,参考第二参考图片的第二MV偏移可以从参考第一参考图片的第一MV偏移缩放。缩放因子可以取决于第一和第二参考图片的分辨率。
2.运动候选列表构建过程可以根据与空域/时域/历史运动候选相关联的参考图片分辨率来构建。
a.在一个示例中,参考具有较高分辨率的参考图片的Merge候选可能比参考具有较低分辨率的参考图片的Merge候选具有更高的优先级。在讨论中,如果W0 b.例如,在Merge候选列表中,参考具有较高分辨率的参考图片的Merge候选可以放在参考具有较低分辨率的参考图片的Merge候选之前。 c.例如,参考分辨率低于当前图片的分辨率的参考图片的运动矢量不能在Merge候选列表中。 d.在一个示例中,是否和/或如何更新历史缓冲器(查找表)可以取决于与解码的运动候选相关联的参考图片分辨率。 i.在一个示例中,如果与解码的运动候选相关联的一个参考图片具有不同的分辨率,则不允许这样的运动候选更新历史缓冲器。 3.提议用与相应的大小相关联的ALF参数来滤波图片。 a.在一个示例中,在如APS的视频单元中信令通知的ALF参数可以与一个或多个图片大小相关联。 b.在一个示例中,如APS的视频单元信令通知ALF参数可以与一个或多个图片大小相关联。 c.例如,图片可以仅应用在视频单元(例如APS)中信令通知的与相同大小相关联的ALF参数。 d.PPS的索引/分辨率/分辨率的指示可以在ALF APS中信令通知。 e.限制ALF参数只能从用于具有相同分辨率的图片的参数继承/预测。 4.提议与第一相应的大小相关联的ALF参数可以从与第二相应的大小相关联的ALF参数继承或预测。 a.在一个示例中,第一相应的大小必须与第二相应的大小相同。 b.在一个示例中,第一相应的大小可以不同于第二相应的大小。 5.提议用与相应的大小相关联的LMCS参数来重整形图片中的样点。 a.在一个示例中,在如APS的视频单元中信令通知的LMCS参数可以与一个或多个图片大小相关联。 b.在一个示例中,如APS的视频单元信令通知LMCS参数可以与一个或多个图片大小相关联。 c.例如,图片可以仅应用在视频单元(如APS)中信令通知的与相同大小相关联的LMCS参数。 d.PPS的索引/分辨率/分辨率指示可以在LMCS APS中信令通知。 e.限制LMCS参数只能从用于具有相同分辨率的图片的参数继承/预测。 6.提议与第一相应的大小相关联的LMCS参数可以从与第二相应的大小相关联的LMCS参数继承或预测。 a.在一个示例中,第一相应的大小必须与第二相应的大小相同。 b.在一个示例中,第一相应的大小可以不同于第二相应的大小。 7.是否和/或如何启用TPM(三角形预测模式)/GEO(具有几何分割的帧间预测)或可以将一个块划分成两个或多个子分区的其他编解码工具可以取决于两个或多个子分区的相关联的参考图片信息。 a.在一个示例中,它可以取决于两个参考图片之一的分辨率和当前图片的分辨率。 i.在一个示例中,如果两个参考图片中的至少一个与当前图片相比与不同的分辨率相关联,则禁用这种编解码工具。 b.在一个示例中,这可能取决于两个参考图片的分辨率是否相同。 i.在一个示例中,如果两个参考图片与不同的分辨率相关联,则可以禁用这种编解码工具。 ii.在一个示例中,如果两个参考图片与当前图片相比都与不同的分辨率相关联,则禁用这种编解码工具。 iii.或者,如果两个参考图片与当前图片相比都与不同的分辨率相关联,但是两个参考图片具有相同的分辨率,则这种编解码工具仍然可以被禁用。 iv.或者,如果至少一个参考图片具有与当前图片不同的分辨率,并且参考图片具有不同的分辨率,则可以禁用编解码工具X。 c.或者,此外,这可以取决于两个参考图片是否是相同的参考图片。 d.或者,此外,这可以取决于两个参考图片是否在相同的参考列表中。 e.或者,如果RPR(在条带/图片头/序列参数集中启用参考图片重采样),则这种编解码工具可能始终被禁用。 8.提议如果块参考与当前图片具有不同大小的至少一个参考图片,则可以对该块禁用编解码工具X。 a.在一个示例中,可以不信令通知与编解码工具X相关的信息。 b.在一个示例中,这种块的运动信息可能没有被插入到HMVP表中。 c.或者,如果在块中应用编解码工具X,则该块不能参考与当前图片具有不同大小的参考图片。 i.在一个示例中,参考与当前图片具有不同大小的参考图片的Merge候选可以被跳过或者不被放入Merge候选列表。 ii.在一个示例中,对应于与当前图片具有不同大小的参考图片的参考索引可以被跳过或者不允许被信令通知。 d.或者,可以在根据当前图片的分辨率和参考图片的分辨率缩放两个参考块或图片之后应用编解码工具X。 e.或者,可以在根据当前图片的分辨率和参考图片的分辨率缩放两个MV或MVD之后应用编解码工具X。 f.在一个示例中,对于块(例如,双向预测编解码块或具有来自具有不同参考图片或不同MV的相同参考图片列表的多个假设的块;或者具有来自不同参考图片列表的多个假设的块),是禁用还是启用编解码工具X可以取决于与参考图片列表和/或当前参考图片相关联的参考图片的分辨率。 i.在一个示例中,编解码工具X可以对于一个参考图片列表被禁用,但是对于另一个参考图片列表被启用。 ii.在一个示例中,编解码工具X可以对于一个参考图片被禁用,但是对于另一个参考图片被启用。这里,两个参考图片可以来自不同或相同的参考图片列表。 iii.在一个示例中,对于每个参考图片列表L,确定启用/禁用编解码工具,而不管不同于列表L的另一参考图片列表中的参考图片如何。 1.在一个示例中,它可以由列表L的参考图片和当前图片来确定。 2.在一个示例中,如果列表L的相关联参考图片不同于当前图片,则可以对列表L禁用工具。 iv.或者,启用/禁用编解码工具由所有参考图片和/或当前图片的分辨率决定。 1.在一个示例中,如果至少一个参考图片具有与当前图片不同的分辨率,则可以禁用编解码工具X。 2.在一个示例中,如果至少一个参考图片具有与当前图片不同的分辨率,但参考图片具有相同的分辨率,则仍然可以启用编解码工具X。 3.在一个示例中,如果至少一个参考图片具有与当前图片不同的分辨率,并且参考图片具有不同的分辨率,则可以禁用编解码工具X。 g.编解码工具X可以是下面的任何一个。 iii.DMVR iv.BDOF v.仿射预测 vi.三角形预测模式 vii.SMVD viii.MMVD ix.VVC中的帧间帧内预测 x.LIC xi.HMVP xii.多重变换集(MTS) xiii.子块变换(SBT) xiv.PROF和/或其他解码侧运动/预测细化方法 xv.LFNST(低频非平方变换) xvi.滤波方法(例如,去方块滤波器/SAO/ALF) xvii.GEO/TPM/跨分量ALF 9.图片的参考图片列表可以包含不超过K个不同的分辨率。 a.在一个示例中,K等于2。 10.对于N个连续(按照解码顺序或显示顺序)的图片,不允许有超过K个不同的分辨率。 a.在一个示例中,N=3,K=3。 b.在一个示例中,N=10,K=3。 c.在一个示例中,在GOP中不允许超过K个不同的分辨率 d.在一个示例中,在具有相同的特定时域层id(表示为tid)的两个图片之间,不允许超过K个不同的分辨率。 i.例如,K=3,tid=0。 11.分辨率改变可能只允许用于帧内图片。 12.如果一个块的一个或两个参考图片具有与当前图片不同的分辨率,则在解码过程中双向预测可以被转换为单向预测。 a.在一个示例中,可以丢弃来自列表X的预测,该列表X具有与当前图片具有不同分辨率的相应的参考图片。 13.是否启用或禁用来自不同分辨率的参考图片的帧间预测可以取决于运动矢量精度和/或分辨率比率(resolution ratios)。 a.在一个示例中,如果根据分辨率比率缩放的运动矢量指向整数位置,则仍然可以应用帧间预测。 b.在一个示例中,如果根据分辨率比率缩放的运动矢量指向子像素位置(例如,1/4像素),这对于没有ARC的情况是允许的,则仍然可以应用帧间预测。 c.或者,当两个参考图片都与当前图片的分辨率不同时,可能不允许双向预测。 d.或者,当一个参考图片具有与当前图片不同的分辨率而另一个具有相同的分辨率时,可以启用双向预测。 e.或者,当参考图片具有与当前图片不同的分辨率并且块大小满足特定条件时,可以不允许对块进行单向预测。 14.指示编解码工具X是否被禁用的第一标志(例如,pic_disable_X_flag)可以在图片头中信令通知。 a.是否为小于图片的条带/片/块(brick)/子图片/其他视频单元启用编解码工具可以由图片头和/或条带类型中的该标志来控制。 b.在一个示例中,当第一标志为真时,编解码工具X被禁用。 i.或者,当第一个标志为假时,编解码工具X被启用。 ii.在一个示例中,它对图片内的所有样点启用/禁用。 c.在一个示例中,第一标志的信令通知可以进一步取决于SPS/VPS/DPS/PPS中的一个语法元素或多个语法元素。 i.在一个示例中,标志的信令通知可以取决于SPS中编解码工具X的启用标志。 ii.或者,此外,可以在sps中信令通知第二标志(例如,sps_X_slice_present_flag),以指示图片头中第一标志的存在。 1)或者,此外,当编解码工具X针对序列被启用时(例如,sps_X_enabled_flag为真时),可以有条件地信令通知第二标志。 2)或者,此外,只有第二标志指示第一标志存在,第一标志才可以在图片头中信令通知。 d.在一个示例中,第一和/或第二标志用1比特编解码。 e.编解码工具X可以是: i.在一个示例中,编解码工具X是PROF ii.在一个示例中,编解码工具X是DMVR。 iii.在一个示例中,编解码工具X是BDOF。 iv.在一个示例中,编解码工具X是跨分量ALF。 v.在一个示例中,编解码工具X是GEO。 vi.在一个示例中,编解码工具X是TPM。 vii.在一个示例中,编解码工具X是MTS。 15.块是否可以参考与当前图片具有不同大小的参考图片可以取决于该块的宽度(WB)和/或高度(HB),和/或块预测模式(即,双向预测或单向预测)。 a.在一个示例中,如果WB>=T1并且HB>=T2,则块可以参考与当前图片具有不同大小的参考图片。例如,T1=T2=8。 b.在一个示例中,如果WB*HB>=T,则块可以参考与当前图片具有不同大小的参考图片。例如,T=64。 c.在一个示例中,如果Min(WB,HB)>=T,则块可以参考与当前图片具有不同大小的参考图片。例如T=8。 d.在一个示例中,如果Max(WB,HB)>=T,则块可以参考与当前图片具有不同大小的参考图片。例如T=8。 e.在一个示例中,如果WB<=T1并且HB<=T2,则块可以参考与当前图片具有不同大小的参考图片。例如,T1=T2=64。 f.在一个示例中,如果WB*HB<=T,则块可以参考与当前图片具有不同大小的参考图片。例如,T=4096。 g.在一个示例中,如果Min(WB,HB)<=T,则块可以参考与当前图片具有不同大小的参考图片。例如,T=64。 h.在一个示例中,如果Max(WB,HB)<=T,则块可以参考与当前图片具有不同大小的参考图片。例如,T=64。 i.或者,如果WB<=T1和/或HB<=T2,则不允许块参考与当前图片具有不同大小的参考图片。例如,T1=T2=8。 j.或者,如果WB<=T1和/或HB<=T2,则不允许块参考与当前图片具有不同大小的参考图片。例如,T1=T2=8。 图23A是视频处理装置2300的框图。装置2300可用于实现本文所述的一种或多种方法。装置2300可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2300可以包括一个或多个处理器2302、一个或多个存储器2304和视频处理硬件2306。(一个或多个)处理器2302可以被配置成实现本文档中描述的一种或多种方法(包括但不限于图24A至25I所示的方法)。(一个或多个)存储器2304可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件2306可以用于在硬件电路中实现本文档中描述的一些技术。 图23B是其中可以实现所公开的技术的视频处理系统的框图的另一个示例。图23B是示出示例视频处理系统2400的框图,其中可以实现本文公开的各种技术。各种实现可以包括系统2400的一些或所有组件。系统2400可以包括用于接收视频内容的输入2402。视频内容可以以原始或未压缩格式接收,例如8或10位多分量像素值,或者可以是压缩或编码格式。输入2402可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,如以太网、无源光网络(PON)等,以及无线接口,如无线接口或蜂窝接口。 系统2400可以包括编解码组件2404,其可以实现本文档中描述的各种编解码或编码方法。编解码组件2404可以降低从输入2402到编解码组件2404的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频代码转换技术。编解码组件2404的输出可以被存储,或者通过连接的通信来传输,如组件2406所表示的。组件2408可以使用在输入端2402接收的视频的存储或传送的比特流(或编解码)表示来生成发送到显示接口2409的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且反转编解码结果的相应的解码工具或操作将由解码器执行。 外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高层技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备中。 图24A示出了视频处理的示例性方法的流程图。参考图24A,方法2410包括,在步骤2412,为视频的当前图片的当前视频块和视频的编解码表示之间的转换,基于与当前视频块相关联的参考图片的一个或多个分辨率和当前图片的分辨率来导出一个或多个运动矢量偏移。方法2410还包括,在步骤2414,使用一个或多个运动矢量偏移来执行转换。 图24B示出了视频处理的示例性方法的流程图。参考图24B,方法2420包括,在步骤2422,为视频的当前图片的当前视频块和视频的编解码表示之间的转换,构建运动候选列表,在运动候选列表中,运动候选以优先级顺序被包括,使得运动候选的优先级基于与运动候选相关联的参考图片的分辨率。方法2420还包括,在步骤2424,使用运动候选列表执行转换。 图24C示出了视频处理的示例性方法的流程图。参考图24C,方法2430包括,在步骤2432,基于包括一个或多个视频单元的当前视频图片的大小,确定用于当前视频图片的自适应环路滤波器的参数。方法2430还包括,在步骤2434,通过根据自适应环路滤波器的参数滤波一个或多个视频单元,执行当前视频图片和当前视频图片的编解码表示之间的转换。 图24D示出了视频处理的示例性方法的流程图。参考图24D,方法2440包括,在步骤2442,对视频的当前图片的当前视频块,应用具有色度缩放的亮度映射(LMCS)过程,在LMCS过程中,当前视频块的亮度样点在第一域和第二域之间被重整形,并且色度残差通过使用与相应的大小相关联的LMCS参数以亮度相关方式被缩放。方法2440还包括,在步骤2444,执行当前视频块和视频的编解码表示之间的转换。 图24E示出了视频处理的示例性方法的流程图。参考图24E,方法2450包括,在步骤2452,为视频的当前视频块和视频的编解码表示之间的转换,根据基于多个子分区的参考图片信息的规则,确定是否和/或如何启用编解码工具,该编解码工具将当前视频块划分成多个子分区。方法2450还包括,在步骤2454,基于该确定执行转换。 图25A示出了视频处理的示例性方法的流程图。参考图25A,方法2510包括,在步骤2512,为视频的当前图片的当前视频块和视频的编解码表示之间的转换,确定由于使用具有与当前图片的大小不同的大小的参考图片来将当前视频块编解码成编解码表示,所以对当前视频块禁用编解码工具的使用。方法2510还包括,在步骤2514,基于该确定执行转换。 图25B示出了用于视频处理的示例性方法的流程图。参考图25B,方法2520包括,在步骤2522,对于视频的当前图片的当前视频块,通过基于确定是否和/或如何使用具有与当前图片的大小不同的大小的参考图片的规则将编解码工具应用于当前视频块,来生成预测块。方法2520还包括,在步骤2524,使用预测块执行当前视频块和视频的编解码表示之间的转换。 图25C示出了视频处理的示例性方法的流程图。参考图25C,方法2530包括,在步骤2532,为视频的当前图片的当前视频块和视频的编解码表示之间的转换,基于与一个或多个参考图片列表相关联的参考图片的第一分辨率和/或用于导出当前视频块的预测块的当前参考图片的第二分辨率,来确定是否对当前视频块禁用编解码工具。方法2530还包括,在步骤2534,基于该确定执行转换。 图25D示出了视频处理的示例性方法的流程图。参考图25D,方法2540包括,在步骤2542,执行包括一个或多个视频块的视频图片和视频的编解码表示之间的转换。在一些实现中,通过根据规则参考视频图片的参考图片列表来编解码一个或多个视频块中的至少一些,并且该规则指定参考图片列表包含具有最多K个不同分辨率的参考图片,其中K是整数。 图25E示出了视频处理的示例性方法的流程图。参考图25E,方法2550包括,在步骤2552,执行视频的N个连续视频图片和视频的编解码表示之间的转换。在一些实现中,N个连续视频图片包括一个或多个视频块,这些视频块根据规则以不同的分辨率编解码,并且该规则指定对于N个连续图片最多允许K个不同的分辨率,其中N和K是整数。 图25F示出了视频处理的示例性方法的流程图。参考图25F,方法2560包括,在步骤2562,执行包括多个图片的视频和视频的编解码表示之间的转换。在一些实现中,使用不同的编解码视频分辨率来将多个图片中的至少一些编解码为编解码表示,并且编解码表示符合格式规则,该格式规则为:只有在顺序上为前一帧之后的下一帧被编解码为帧内帧的情况下,前一帧的第一编解码分辨率才改变为下一帧的第二编解码分辨率。 图25G示出了视频处理的示例性方法的流程图。参考图25G,方法2570包括,在步骤2572,解析视频的编解码表示,以确定视频的当前图片的当前视频块参考与不同于当前图片的分辨率的分辨率相关联的参考图片。方法2570还包括,在步骤2574,通过将双向预测模式转换为将被应用于当前视频块的单向预测模式,为当前视频块生成预测块。方法2570还包括,在步骤2576,使用预测块从编解码表示生成视频。 图25H示出了视频处理的示例性方法的流程图。参考图25H,方法2580包括,在步骤2582,通过根据运动矢量精度和/或分辨率比率启用或禁用来自具有彼此不同分辨率的参考图片的帧间预测,为视频的当前图片的当前视频块生成预测块。方法2580还包括,在步骤2584,使用预测块执行当前视频块和视频的编解码表示之间的转换。 图25I示出了用于视频处理的示例性方法的流程图。参考图25I,方法2590包括,在步骤2592,基于视频的当前图片的当前视频块的编解码特性,确定在当前视频块和视频的编解码表示之间的转换期间,是否允许其大小不同于当前图片的大小的参考图片来生成当前视频块的预测块。方法2590还包括,在步骤2594,根据该确定执行转换。 在一些实施例中,视频编解码方法可以使用在硬件平台上实现的装置来实现,如参考图23A或23B所述。应当理解,通过允许使用本文档中公开的技术,所公开的方法和技术将有益于结合在如智能手机、膝上型电脑、台式电脑和类似设备的视频处理设备中的视频编码器和/或解码器实施例。 所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实现该工具或模式,但是不一定基于工具或模式的使用来修改结果比特流。也就是说,当基于决定或确定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,从视频的比特流表示到视频块的转换将使用基于决定或确定而启用的视频处理工具或模式来执行。 所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在示例中,当视频处理工具或模式被禁用时,编码器将不会在视频的块到视频的比特流表示的转换中使用该工具或模式。在另一个示例中,当视频处理工具或模式被禁用时,解码器将在知道比特流没有使用基于决定或确定被禁用的视频处理工具或模式被修改的情况下处理比特流。 在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到相应的比特流表示的转换期间应用,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于位于比特流内不同位置或在比特流内不同位置扩展的比特。例如,视频块可以根据变换和编解码的误差残差值进行编码,并且还可以使用比特流中的头和其他字段中的比特。这里,视频块可以是对应于正在执行的处理操作的逻辑单元,例如,编解码单元、变换单元、预测单元等。 第一组条款描述了在前一节中列出的公开技术的某些特征和方面。 1.一种用于视频处理的方法,包括:在当前视频块和当前视频块的比特流表示之间的转换期间,基于与当前视频块相关联的参考图片的分辨率和当前图片的分辨率来导出运动矢量偏移;以及使用运动矢量偏移来执行转换。 2.根据条款1的方法,其中导出运动矢量偏移包括:参考第一参考图片导出第一运动矢量偏移;以及基于第一运动矢量偏移,参考第二参考图片导出第二运动矢量偏移。 3.根据条款1的方法,还包括:对于当前视频块,基于与空域、时域或历史运动候选相关联的参考图片分辨率来执行运动候选列表构建过程。 4.根据条款1的方法,其中是否或如何更新查找表取决于与解码的运动候选相关联的参考图片分辨率。 5.根据条款1的方法,还包括:对于当前图片,使用与相应的大小相关联的自适应环路滤波器(ALF)参数来执行滤波操作。 6.根据条款5的方法,其中ALF参数包括与第一相应的大小相关联的第一ALF参数和与第二相应的大小相关联的第二ALF参数,第二ALF参数从第一ALF参数继承或预测。 7.根据条款1的方法,还包括:利用与相应的大小相关联的LMCS(亮度映射色度缩放)参数来对当前图片中的样点进行重整形。 8.根据条款7的方法,其中LMCS参数包括与第一相应的大小相关联的第一LMCS参数和与第二相应的大小相关联的第二LMCS参数,第二LMCS参数从第一LMCS参数继承或预测。 9.根据条款5或7的方法,其中在视频单元中信令通知的ALF参数或LMCS参数与一个或多个图片大小相关联。 10.根据条款1的方法,还包括当当前视频块参考与当前图片具有不同大小的至少一个参考图片时,禁用当前视频块的编解码工具。 11.根据条款10的方法,还包括跳过或省略参考其大小不同于当前图片的大小的参考图片的Merge候选。 12.根据条款1的方法,还包括在基于参考图片的分辨率和当前图片的分辨率缩放两个参考块或两个参考图片之后,或者在基于参考图片的分辨率和当前图片的分辨率缩放两个MV或MVD(运动矢量差)之后,应用编解码工具。 13.根据条款1的方法,其中当前图片包括不超过K个不同分辨率,K是自然数。 14.根据条款13的方法,其中对于N个连续的图片允许K个不同的分辨率,N是自然数。 15.根据条款1的方法,还包括对作为帧内图片的当前图片应用分辨率改变。 16.根据条款1的方法,还包括当当前视频块的一个或两个参考图片具有与当前图片的分辨率不同的分辨率时,将双向预测转换为单向预测。 17.根据条款1的方法,还包括根据当前块大小和参考块大小之间的运动矢量精度或分辨率比率中的至少一个,启用或禁用来自不同分辨率的参考图片的帧间预测。 18.根据条款1的方法,还包括根据两个参考图片或一个参考图片是否具有与当前图片的分辨率不同的分辨率来应用双向预测。 19.根据条款1的方法,其中,当前视频块是否参考其大小不同于当前图片的大小的参考图片取决于当前视频块的尺寸或块预测模式中的至少一个。 20.根据条款1的方法,其中执行转换包括从比特流表示生成当前视频块。 21.根据条款1的方法,其中执行转换包括从当前视频块生成比特流表示。 22.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时,使得处理器实现条款1至21中任一项所述的方法。 23.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至21中任一项所述的方法的程序代码。 第二组条款描述了在前一节中列出的公开技术的某些特征和方面,包括例如示例实现1-7。 1.一种视频处理方法,包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,基于与当前视频块相关联的参考图片的一个或多个分辨率和当前图片的分辨率来导出一个或多个运动矢量偏移;以及使用一个或多个运动矢量偏移来执行转换。 2.根据条款1的方法,其中一个或多个运动矢量偏移对应于具有运动矢量差的Merge(MMVD)或对称运动矢量差(SMVD)中的运动矢量偏移,MMVD包括运动矢量表达式,运动矢量表达式包括指定两个运动候选之间的距离的距离索引,SMVD对称地处理运动矢量差。 3.根据条款1的方法,其中一个或多个运动矢量偏移对应于解码器侧导出过程中使用的细化的运动矢量。 4.根据条款1的方法,其中导出一个或多个矢量偏移包括:参考第一参考图片导出第一运动矢量偏移;以及基于第一运动矢量偏移,参考第二参考图片导出第二运动矢量偏移。 5.根据条款1-4中任一项的方法,其中一个或多个运动矢量偏移包括第一偏移(offset0)和第二偏移(offset1),并且其中执行转换包括使用定义为以下的SatShift公式计算运动矢量:
6.根据条款1至5中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 7.一种视频处理方法,包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,构建运动候选列表,运动候选列表中的运动候选以优先级顺序被包括,使得运动候选的优先级基于与运动候选相关联的参考图片的分辨率;以及使用运动候选列表执行转换。 8.根据条款7的方法,其中参考具有较高分辨率的参考图片的运动候选比参考具有较低分辨率的另一参考图片的另一运动候选具有更高的优先级。 9.根据条款7的方法,其中参考具有较高分辨率的参考图片的运动候选在参考具有较低分辨率的另一参考图片的另一Merge候选之前被放在运动候选列表中。 10.根据条款7的方法,其中构建运动候选列表被执行为不包括参考具有比包括当前视频块的当前图片的分辨率低的分辨率的参考图片的运动候选。 11.根据条款7的方法,其中是否和/或如何更新查找表取决于与解码的运动候选相关联的参考图片的分辨率。 12.根据条款11的方法,其中参考图片与解码的运动候选相关联并且具有与包括当前视频块的当前图片的分辨率不同的分辨率,来自参考图片的运动候选不允许更新查找表。 13.根据条款7-12中任一项的方法,其中运动候选是时域运动候选。 14.根据条款7-12中任一项的方法,其中运动候选是空域运动候选。 15.根据条款7-12中任一项的方法,其中运动候选是基于历史的运动候选。 16.根据条款7至15中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 17.一种视频处理方法,包括:基于包括一个或多个视频单元的当前视频图片的大小,确定用于当前视频图片的自适应环路滤波器的参数;以及通过根据自适应环路滤波器的参数对一个或多个视频单元进行滤波来执行当前视频图片和当前视频图片的编解码表示之间的转换。 18.根据条款17的方法,其中参数在视频单元中信令通知并且与一个或多个图片大小相关联。 19.根据条款17的方法,其中用于信令通知参数的视频单元与一个或多个图片大小相关联。 20.根据条款17的方法,其中在视频单元中信令通知并与相同大小相关联的参数被应用于当前图片。 21.根据条款17的方法,其中编解码表示包括信令通知分辨率、图片参数集(PPS)的索引、分辨率的指示中的至少一者的数据结构。 22.根据条款17的方法,其中,所述参数从用于具有与当前图片相同分辨率的另一图片的参数继承或预测。 23.根据条款17的方法,其中所述参数包括与第一相应的大小相关联的第一参数集和与第二相应的大小相关联的第二参数集,第二参数集从第一参数集继承或预测。 24.根据条款23的方法,其中第一相应的大小与第二相应的大小相同。 25.根据条款23的方法,其中第一相应的大小不同于第二相应的大小。 26.根据条款17至25中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 27.一种视频处理方法,包括:对视频的当前图片的当前视频块,应用具有色度缩放的亮度映射(LMCS)过程,在LMCS过程中,当前视频块的亮度样点在第一域和第二域之间被重整形,并且通过使用与相应的大小相关联的LMCS参数以亮度相关方式缩放色度残差;以及执行当前视频块和视频的编解码表示之间的转换。 28.根据条款27的方法,其中LMCS参数在视频单元中信令通知并且与一个或多个图片大小相关联。 29.根据条款27的方法,其中用于信令通知LMCS参数的视频单元与一个或多个图片大小相关联。 30.根据条款27的方法,其中在视频单元中信令通知的并且与相同大小相关联的LMCS参数被应用于当前图片。 31.根据条款27的方法,其中编解码表示包括信令通知分辨率、图片参数集的索引、分辨率的指示中的至少一者的数据结构。 32.根据条款27的方法,其中LMCS参数从用于具有与当前图片相同分辨率的另一图片的参数继承或预测。 33.根据条款27的方法,其中LMCS参数包括与第一相应的大小相关联的第一LMCS参数和与第二相应的大小相关联的第二LMCS参数,第二LMCS参数从第一LMCS参数继承或预测。 34.根据条款33的方法,其中第一相应的大小与第二相应的大小相同。 35.根据条款33的方法,其中第一相应的大小不同于第二相应的大小。 36.根据条款27至35中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 37.一种视频处理方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,根据基于多个子分区的参考图片信息的规则确定是否和/或如何启用编解码工具,该编解码工具将当前视频块划分成多个子分区;以及基于该确定来执行转换。 38.根据条款37的方法,其中该编解码工具对应于三角形预测模式(TPM),其中子分区中的至少一个是非矩形分区,或者对应于具有几何分割的帧间预测(GEO),其中可以使用非水平线或非垂直线来划分视频块。 39.根据条款37的方法,其中规则基于对应于两个子分区的两个参考图片之一的分辨率是与包括当前视频块的当前图片的分辨率相同还是不同来指定来是否和/或如何启用编解码工具。 40.根据条款39的方法,其中规则指定在两个参考图片中的至少一个与不同于当前图片的分辨率的分辨率相关联的情况下不启用编解码工具。 41.根据条款39的方法,其中规则指定在两个参考图片彼此具有不同分辨率的情况下不启用编解码工具。 42.根据条款39的方法,其中规则指定在两个参考图片与不同于当前图片的分辨率的分辨率相关联的情况下不启用编解码工具。 43.根据条款39的方法,其中规则指定在两个参考图片与不同于当前图片的分辨率的相同分辨率相关联的情况下不启用编解码工具。 44.根据条款39的方法,其中规则指定在两个参考图片中的至少一个与不同于当前图片的分辨率的分辨率相关联的情况下不启用编解码工具。 45.根据条款37的方法,其中规则基于对应于两个子分区的两个参考图片是否是相同的参考图片来指定是否和/或如何启用编解码工具。 46.根据条款37的方法,其中规则基于对应于两个子分区的两个参考图片是否在相同的参考列表中来指定是否和/或如何启用编解码工具。 47.根据条款37的方法,其中规则指定如果在视频的视频单元中启用参考图片重采样,则始终禁用编解码工具。 48.根据条款37至47中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 49.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时,使处理器实现条款1至48中任一项所述的方法。 50.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至48中任一项所述的方法的程序代码。 第三组条款描述了在前一节中列出的公开技术的某些特征和方面,包括例如示例实现8-13和15。 1.一种视频处理方法,包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,确定由于使用具有与当前图片的大小不同的大小的参考图片来将当前视频块编解码成编解码表示,所以对当前视频块禁用编解码工具的使用;以及基于该确定来执行转换。 2.根据条款1的方法,其中,在禁用编解码工具的使用的情况下,不信令通知与编解码工具相关的信息。 3.根据条款1的方法,其中当前视频块的运动信息没有被插入到基于历史的运动矢量预测(HMVP)表中,其中HMVP表包括对应于一个或多个先前处理的块的运动信息的一个或多个条目。 4.根据条款1至3中任一项的方法,其中编解码工具对应于解码器侧运动矢量细化(DMVR)、双向光流(BDOF)、仿射预测、三角形预测模式、对称运动矢量差(SMVD)、具有运动矢量差的Merge(MMVD)模式、帧间帧内预测、局部照明补偿(LIC)、基于历史的运动矢量预测(HMVP)、多重变换集(MTS)、子块变换(SBT)、具有光流的预测细化(PROF)、低频非平方变换(LFNST)或滤波工具。 5.根据条款1至4中任一项的方法,其中大小包括当前图片的宽度和高度中的至少一个。 6.根据条款1至5中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 7.一种视频处理方法,包括:对于视频的当前图片的当前视频块,通过基于确定是否和/或如何使用大小不同于当前图片大小的参考图片的规则,将编解码工具应用于当前视频块来生成预测块;以及使用预测块执行当前视频块和视频的编解码表示之间的转换。 8.根据条款7的方法,其中规则指定由于应用于当前视频块的编解码工具,因此不使用参考图片来生成预测块。 9.根据条款8的方法,其中参考参考图片的Merge候选被跳过或不被放入Merge候选列表。 10.根据条款8的方法,其中跳过或不允许信令通知对应于参考图片的参考索引。 11.根据条款7的方法,其中规则指定在应用编解码工具之前,根据当前图片的分辨率和参考图片的分辨率来缩放参考图片。 12.根据条款7的方法,其中规则指定在应用编解码工具之前,根据当前图片的分辨率和参考图片的分辨率来缩放运动矢量或运动矢量差。 13.根据条款7至12中任一项的方法,其中编解码工具对应于解码器侧运动矢量细化(DMVR)、双向光流(BDOF)、仿射预测、三角形预测模式、对称运动矢量差(SMVD)、具有运动矢量差的Merge(MMVD)模式、帧间帧内预测、局部照明补偿(LIC)、基于历史的运动矢量预测(HMVP)、多重变换集(MTS)、子块变换(SBT)、具有光流的预测细化(PROF)、低频非平方变换(LFNST)或滤波工具。 14.根据条款7至12中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 15.一种视频处理方法,包括:为视频的当前图片的当前视频块和视频的编解码表示之间的转换,基于与一个或多个参考图片列表相关联的参考图片的第一分辨率和/或用于导出当前视频块的预测块的当前参考图片的第二分辨率,确定是否对当前视频块禁用编解码工具;以及基于该确定来执行转换。 16.根据条款15的方法,其中该确定确定对一个参考图片列表禁用编解码工具并且对另一个参考图片列表启用编解码工具。 17.根据条款15的方法,其中该确定确定对参考图片列表的第一参考图片禁用编解码工具,并且对参考图片列表或另一参考图片列表的第二参考图片启用编解码工具。 18.根据条款15的方法,其中该确定在不考虑不同于第一参考图片列表的第二参考图片列表的情况下,确定对第一参考图片列表是否禁用编解码工具。 19.根据条款18的方法,其中该确定基于第一参考图片列表的参考图片和当前图片来确定是否禁用编解码工具。 20.根据条款18的方法,其中,在与第一参考图片列表相关联的参考图片不同于当前图片的情况下,该确定确定是否对第一参考图片列表禁用编解码工具。 21.根据条款15的方法,其中该确定还基于与一个或多个参考图片列表相关联的参考图片和/或当前图片的其他分辨率来确定是否禁用编解码工具。 22.根据条款21的方法,其中在至少一个参考图片具有与当前图片的分辨率不同的分辨率的情况下,该确定确定禁用编解码工具。 23.根据条款21的方法,其中在至少一个参考图片具有与当前图片的分辨率不同的分辨率并且参考图片与相同的分辨率相关联的情况下,该确定确定不禁用编解码工具。 24.根据条款21的方法,其中在至少一个参考图片具有与当前图片的分辨率不同的分辨率并且参考图片与彼此不同的分辨率相关联的情况下,该确定确定禁用编解码工具。 25.根据条款15至24中任一项的方法,其中编解码工具对应于解码器侧运动矢量细化(DMVR)、双向光流(BDOF)、仿射预测、三角形预测模式、对称运动矢量差(SMVD)、具有运动矢量差的Merge(MMVD)模式、帧间帧内预测、局部照明补偿(LIC)、基于历史的运动矢量预测(HMVP)、多重变换集(MTS)、子块变换(SBT)、具有光流的预测细化(PROF)、低频非平方变换(LFNST)或滤波工具。 26.根据条款15至25中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 27.一种视频处理方法,包括:执行包括一个或多个视频块的视频图片和视频的编解码表示之间的转换,其中通过根据规则参考视频图片的参考图片列表来编解码一个或多个视频块中的至少一些,其中规则指定参考图片列表包含具有最多K个不同分辨率的参考图片,其中K是整数。 28.根据条款27的方法,其中K等于2。 29.根据条款27或28的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 30.一种视频处理方法,包括:执行视频的N个连续视频图片和视频的编解码表示之间的转换,其中N个连续视频图片包括根据规则以不同分辨率编解码的一个或多个视频块,其中规则指定对于该N个连续图片最多允许K个不同分辨率,其中N和K是整数。 31.根据条款30的方法,其中N和K等于3。 32.根据条款30的方法,其中N等于10,K等于3。 33.根据条款30的方法,其中在编解码表示中的图片组(GOP)中允许K个不同的分辨率。 34.根据条款30的方法,其中在具有相同时域层标识的两个图片之间允许K个不同的分辨率。 35.根据条款30至34中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 36.一种视频处理方法,包括:执行包括多个图片的视频和视频的编解码表示之间的转换,其中使用不同的编解码视频分辨率来将多个图片中的至少一些编解码为编解码表示,并且其中编解码表示符合格式规则,格式规则为:只有在顺序上为前一帧之后的下一帧被编解码为帧内帧的情况下,前一帧的第一编解码分辨率才改变为下一帧的第二编解码分辨率。 37.根据条款36的方法,其中顺序对应于编码多个图片的编码顺序。 38.根据条款36的方法,其中顺序对应于解码多个图片的解码顺序。 39.根据条款36的方法,其中顺序对应于解码后显示多个图片的显示顺序。 40.根据条款36至39中任一项的方法,其中帧内帧是帧内随机接入点图片。 41.根据条款36至39中任一项的方法,其中帧内帧是瞬时解码刷新(IDR)帧。 42.根据条款36至41中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 43.一种视频处理方法,包括:解析视频的编解码表示,以确定视频的当前图片的当前视频块参考与不同于当前图片的分辨率的分辨率相关联的参考图片;通过将双向预测模式转换为将被应用于当前视频块的单向预测模式来生成当前视频块的预测块;以及使用预测块从编解码表示生成视频。 44.根据条款43的方法,其中生成预测块包括从列表中丢弃预测,该列表具有与不同于当前图片的分辨率的分辨率相关联的参考图片。 45.一种视频处理方法,包括:根据运动矢量精度和/或分辨率比率,通过启用或禁用来自具有彼此不同分辨率的参考图片的帧间预测,为视频的当前图片的当前视频块生成预测块;以及使用预测块执行当前视频块和视频的编解码表示之间的转换。 46.根据条款45的方法,其中在根据分辨率比率缩放的运动矢量指向整数位置的情况下启用帧间预测。 47.根据条款45的方法,其中在根据分辨率比率缩放的运动矢量指向子像素位置的情况下启用帧间预测。 48.根据条款45的方法,其中在参考图片与不同于当前图片的分辨率的分辨率相关联的情况下,禁用双向预测。 49.根据条款45的方法,其中在一个参考图片具有与当前图片的分辨率不同的分辨率并且另一个参考图片与当前图片的分辨率相同的分辨率相关联情况下,启用双向预测。 50.根据条款45的方法,其中在参考图片与不同于当前图片的分辨率的分辨率相关联并且当前视频块的块大小满足特定条件的情况下,不允许单向预测。 51.根据条款45至50中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 52.一种视频处理方法,包括:基于视频的当前图片的当前视频块的编解码特性,确定在当前视频块和视频的编解码表示之间的转换期间,是否允许具有与当前图片的大小不同的大小的参考图片为当前视频块生成预测块;以及根据该确定执行转换。 53.根据条款52的方法,其中编解码特性包括当前视频块的大小和/或当前视频块的预测模式。 54.根据条款52的方法,其中在WB>=T1和HB>=T2的情况下,该确定确定参考图片被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T1和T2是正整数。 55.根据条款52的方法,其中在WB*HB>=T的情况下,该确定确定参考图片被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T是正整数。 56.根据条款52的方法,其中,在Min(WB,HB)>=T的情况下,该确定确定参考图片被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T是正整数。 57.根据条款52的方法,其中,在Max(WB,HB)>=T的情况下,该确定确定参考图片被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T是正整数。 58.根据条款52的方法,其中在WB<=T1和HB<=T2的情况下,该确定确定参考图片被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T1和T2是正整数。 59.根据条款52的方法,其中在WB*HB<=T的情况下,该确定确定允许具有与当前视频块的大小不同的大小的参考图片,其中WB和HB分别对应于当前视频块的宽度和高度,并且T是正整数。 60.根据条款52的方法,其中,在Min(WB,HB)<=T的情况下,该确定确定参考图片被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T是正整数。 61.根据条款52的方法,其中,在Max(WB,HB)<=T的情况下,该确定确定参考图片被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T是正整数。 62.根据条款52的方法,其中,在WB<=T1和/或HB<=T2的情况下,该确定确定参考图片不被允许,其中WB和HB分别对应于当前视频块的宽度和高度,并且T1和T2是正整数。 63.根据条款52至62中任一项的方法,其中执行转换包括从视频生成编解码表示或从编解码表示生成视频。 64.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由所述处理器执行时,使得处理器实现条款1至63中任一项所述的方法。 65.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至63中任一项所述的方法的程序代码。 从以上所述,将会理解,为了说明的目的,本文已经描述了当前公开的技术的具体实施例,但是在不脱离公开的技术的范围的情况下,可以进行各种修改。因此,当前公开的技术除了由所附权利要求限定之外不受限制。 本专利文档中描述的主题和功能操作的实现可以在各种系统、数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其结构等同物,或者在它们中的一个或多个的组合中实现。本说明书中描述的主题的实现可以被实现为一个或多个计算机程序产品,即编码在有形和非暂时性计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储设备、实现机器可读传播信号的物质组合,或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。 计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文档系统中的文档。程序可以存储在保存其他程序或数据的文档的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文档中,或者存储在多个协同文档中(例如,存储一个或多个模块、子程序或部分代码的文档)。计算机程序可以被部署为在一台计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。 本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,并且设备也可以被实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。 举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和一个或多个用于存储指令和数据的存储设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或向其传输数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,可编程只读存储器、可编程只读存储器和闪存设备。处理器和存储器可以由专用逻辑电路来补充或结合在其中。 说明书和附图仅被认为是示例性的,其中示例性意味着示例。如这里所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文清楚地另外指出。此外,“或”的使用旨在包括“和/或”,除非上下文明确指出不是这样。 尽管本专利文档包含许多细节,但这些细节不应被解释为对任何发明或所要求保护的范围的限制,而是对可能特定于特定发明的特定实施例的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实现或者在任何合适的子组合中实现。此外,尽管特征可以在上面被描述为在某些组合中起作用,并且甚至最初被这样要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。 类似地,虽然在附图中以特定顺序描述了操作,但是这不应该被理解为要求以所示的特定顺序或顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。 仅描述了几个实现和示例,并且可以基于本专利文档中描述和示出的内容进行其他实现、增强和变化。
- 带有参考图片重采样的编解码工具
- 用于视频译码的参考图片重采样和帧间译码工具