CN117337566A - 用于视频处理的方法、设备和介质 - Google Patents
用于视频处理的方法、设备和介质 Download PDFInfo
- Publication number
- CN117337566A CN117337566A CN202280030127.0A CN202280030127A CN117337566A CN 117337566 A CN117337566 A CN 117337566A CN 202280030127 A CN202280030127 A CN 202280030127A CN 117337566 A CN117337566 A CN 117337566A
- Authority
- CN
- China
- Prior art keywords
- block
- video
- codec
- list
- gpm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 340
- 238000012545 processing Methods 0.000 title claims abstract description 34
- 238000006243 chemical reaction Methods 0.000 claims abstract description 19
- 230000007704 transition Effects 0.000 claims abstract description 6
- 230000033001 locomotion Effects 0.000 claims description 317
- 230000008569 process Effects 0.000 claims description 111
- 239000013598 vector Substances 0.000 claims description 97
- 238000005192 partition Methods 0.000 claims description 57
- 230000009466 transformation Effects 0.000 claims description 5
- 239000000523 sample Substances 0.000 description 48
- 230000002146 bilateral effect Effects 0.000 description 35
- 238000009795 derivation Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 18
- 230000002123 temporal effect Effects 0.000 description 16
- 230000011664 signaling Effects 0.000 description 12
- 238000000638 solvent extraction Methods 0.000 description 12
- 241000023320 Luma <angiosperm> Species 0.000 description 9
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 9
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 8
- 238000010276 construction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000342334 Human metapneumovirus Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开的实施例提供了一种用于视频处理的解决方案。提出了一种用于视频处理的方法。该方法包括:在视频的当前视频块与视频的码流之间的转换期间,确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;以及基于根据至少一个编解码工具被应用于当前视频单元的细化处理来执行转换。与传统的解决方案相比,所提出的方法可以有利地提高编解码性能和效率。
Description
技术领域
本公开的实施例总体上涉及视频编解码技术,并且更具体地,涉及图像或视频编解码的细化。
技术背景
如今,数字视频功能正被应用于人们生活的各个方面。已经针对视频编码/解码,已经提出了多种类型的视频压缩技术,诸如MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频编解码(AVC)、ITU-T H.265高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准。然而,常规视频编解码技术的编解码效率通常非常低,这是不希望的。
发明内容
本公开的实施例提供了一种用于视频处理的解决方案。
在第一方面中,提出了一种用于视频处理的方法。该方法包括:在视频的当前视频快与视频的码流之间的转换期间,确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;以及基于根据至少一个编解码工具而被应用于当前视频单元的细化过程,执行转换。根据本公开的第一方面的方法在运动补偿之前或者之后细化编解码块的运动数据。此外,细化过程可以基于编解码技术的类型和在视频处理上的要求来灵活地进行。与常规方案相比,所提出的方法可以有利地提高编解码效率并实现更精确的预测。
在第二方面中,提出了一种用于视频处理的装置。该装置包括处理器和耦合到处理器并在其上存储有指令的非瞬态存储器,其中指令在被处理器执行时使处理器:在视频的当前视频快与视频的码流之间的转换期间,确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;以及基于根据至少一个编解码工具而被应用于当前视频单元的细化过程,执行转换。
在第三方面,提出了一种非瞬态计算机可读存储介质。该非瞬态计算机可读存储介质存储指令,该指令使处理器执行根据本公开的第一方面的方法。
在第四方面中,提出了一种非瞬态计算机可读记录介质。该非瞬态计算机可读记录介质存储由用于视频处理的装置执行的方法所生成的视频的码流,其中该方法包括:确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具,以及基于该确定生成码流。
在第五方面中,提出了一种用于存储视频的码流的方法。该方法包括:确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;基于该确定生成码流;以及将码流存储在非瞬态计算机可读记录介质中。
提供本发明内容部分是为了以简化的形式介绍以下具体实施方式中进一步描述的概念的选择。本发明内容部分不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护主题的范围。
附图说明
通过以下参考附图的详细描述,本公开的示例实施例的上述和其他的目的、特征和优点将变得更加明显。在本公开的示例实施例中,相同的附图标记通常指代相同的组件。
图1示出了根据本公开的一些实施例的示例视频编解码***的框图;
图2示出了根据本公开的一些实施例的示例视频编码器的框图;
图3示出了根据本公开的一些实施例的示例视频解码器的框图;
图4是示出空间合并候选的位置的示意图;
图5是示出针对空间合并候选的冗余检查考虑的候选对的示意图;
图6示出了用于时间合并候选的运动矢量缩放;
图7是示出用于时间合并候选C0和C1的候选位置的示意图;
图8是示出具有运动矢量差(MMVD)搜索点的合并模式的示意图;
图9是示出解码侧运动矢量细化的示意图;
图10示出了由相同角度分组的几何划分模式(GPM)分割的示例;
图11是示出针对几何划分模式的单向预测MV选择的示意图;
图12是示出使用GPM对弯曲权重w0的示例生成的示意图;
图13是示出用于组合帧间和帧内预测(CIIP)权重导出的顶部和左侧邻近块的示意图;
图14是示出在初始MV周围的搜索区域上执行的模板匹配的示意图;
图15是示出搜索区域中的菱形区域的示意图;
图16是示出用于导出空间合并候选的空间邻近块的示意图;
图17示出了根据本公开的一些实施例的用于视频处理的方法的流程图;以及
图18示出了可以在其中实现本公开的各种实施例的计算设备的框图。
在所有附图中,相同或相似的附图标记通常指代相同或相似的元素。
具体实施方式
现在将参考一些实施例来描述本公开的原理。应当理解的是,描述这些实施例仅出于说明并且帮助本领域技术人员理解和实施本公开的目的,而不暗示对本公开的范围的任何限制。除了下文所述的方式之外,本文所描述的公开内容还可以以各种方式实施。
在以下描述和权利要求中,除非另有定义,否则在本文中使用的所有科学术语和技术术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。
本公开中提及的“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是并非每个实施例都必须包括该特定的特征、结构或特性。此外,这些短语不一定指同一实施例。此外,当结合示例实施例描述特定的特征、结构或特性时,无论是否明确描述,认为影响与其他实施例相关的这种特征、结构或特性在本领域技术人员的知识范围内。
应当理解的是,尽管术语“第一”和“第二”等可以用于描述各种元素,但这些元素不应受限于这些术语。这些术语仅用于区分一个元素与另一个元素。例如,第一元素可以被称为第二元素,类似地,第二元素可以被称为第一元素,而不脱离示例实施例的范围。如本文中所使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。
本文中所使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中所用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还应理解,术语“包括”、“包含”和/或“具有”在本文中使用时表示存在所述特征、元素和/或组件等,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。
示例环境
图1是图示可以利用本公开的技术的示例视频编解码***100的框图。如所示出的,视频编解码***100可以包括源设备110和目的设备120。源设备110也可以称为视频编码设备,并且目的设备120也可以称为视频解码设备。在操作中,源设备110可以被配置为生成经编码的视频数据,并且目的设备120可以被配置为对由源设备110生成的经编码的视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备之类的源。视频捕获设备的示例包括但不限于从视频内容提供商接收视频数据的接口、用于生成视频数据的计算机图形***和/或其组合。
视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成码流。码流可以包括形成视频数据的编码表示的位序列。码流可以包括编码图片和相关联的数据。编码图片是图片的编码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器和/或发送器。经编码的视频数据可以通过网络130A经由I/O接口116直接传输至目的设备120。经编码的视频数据也可以存储在存储介质/服务器130B上,以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130B获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,该目的设备120被配置为与外部显示设备接口连接。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(HEVC)标准、通用视频编解码(VVC)标准和其他现有和/或将来的标准。
图2是示出根据本公开的一些实施例的视频编码器200的示例的方框图,视频编码器200可以是图1所示的***100中的视频编码器114的示例。
视频编码器200可以被配置为实现本公开的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在一些实施例中,视频编码器200可以包括划分单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211、重建单元212、缓冲213和熵编解码单元214,该预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括块内复制(IBC)单元。IBC单元可以在IBC模式中执行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,尽管一些组件(诸如运动估计单元204和运动补偿单元205)可以被集成,但是为了解释的目的,这些组件在图2的示例中被分离地示出。
划分单元201可以将图片划分成一个或多个视频块。视频编码器200和视频解码器300(其将在以下详细讨论)可以支持各种视频块大小。
模式选择单元203可以例如基于误差结果来选择多种编解码模式(帧内编码或帧间编码)中的一种编解码模式,并且将所产生的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,并且提供给重建单元212以重建编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择针对运动矢量的分辨率(例如,亚像素精度或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲213的一个或多个参考帧与当前视频块进行比较来生成针对当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲213的除了与当前视频块相关联的图片之外的图片的经解码样本,来确定针对当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。如本文中使用的,“I条带”可以是指由宏块构成的图片的一部分,所有宏块均基于同一图片内的宏块。此外,如本文中使用的,在一些方面中,“P条带”和“B条带”可以是指由独立于同一图片中的宏块的宏块构成的图片的部分。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以搜索列表0或列表1的参考图片,以寻找针对当前视频块的参考视频块。运动估计单元204然后可以生成参考索引和运动矢量,该参考索引指示列表0或列表1中的包含参考视频块的参考图片,并且该运动矢量指示当前视频块与参考视频块之间的空间位移。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
备选地,在其他示例中,运动估计单元204可以对当前视频块执行双向预测。运动估计单元204可以搜索列表0中的参考图片以寻找针对当前视频块的参考视频块,并且还可以搜索列表1中的参考图片以寻找针对当前视频块的另一参考视频块。运动估计单元204然后可以生成多个参考索引和多个运动矢量,该多个参考索引指示列表0和列表1中的包含多个参考视频块的多个参考图片,并且该多个运动矢量指示在多个参考视频块与当前视频块之间的多个空间位移。运动估计单元204可以输出当前视频块的多个参考索引和多个运动矢量以作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的多个参考视频块来生成针对当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出完整的运动信息集,以用于解码器的解码处理。备选地,在一些实施例中,运动估计单元204可以参考另一视频块的运动信息来通过信号传输当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中向视频解码器300指示一值,该值指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示在当前视频块的运动矢量与所指示的视频块的运动矢量之间的差异。视频解码器300可以使用所指示的视频块的运动矢量以及运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以以预测性的方式通过信号传输运动矢量。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(AMVP)和合并模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的经解码样本来生成针对当前视频块的预测数据。针对当前视频块的预测数据可以包括预测视频块和各个语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成针对当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样本的不同样本部分的残差视频块。
在其他示例中,例如在跳过模式中,针对当前视频块可以不存在针对当前视频块的残差数据,并且残差生成单元207可以不执行减去操作。
变换单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来生成针对当前视频块的一个或多个变换系数视频块。
在变换单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以从变换系数视频块重建残差视频块。重建单元212可以将经重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样本,以产生与当前视频块相关联的重建视频块,以供存储在缓冲213中。
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应伪像。
熵编解码单元214可以从视频编码器200的其他功能组件接收数据。当数据被接收时,熵编解码单元214可以执行一个或多个熵编码操作,以生成熵编解码数据并且输出包括该熵编解码数据的码流。
图3是示出根据本公开的一些实施例的视频解码器300的示例的方框图,视频解码器300可以是图1所示的***100中的视频解码器124的示例。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图3的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、以及重建单元306和缓冲307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200所描述的编码过程相对的解码过程。
熵解码单元301可以取回经编码的码流。经编码的码流可以包括经熵编码的视频数据(例如,经编码的视频数据块)。熵解码单元301可以对经熵编码的视频数据进行解码,并且运动补偿单元302可以从经熵解码的视频数据中确定运动信息,该运动信息包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行AMVP和合并模式来确定该信息。AMVP被使用,包括基于相邻PB的数据和参考图片得出数个最可能的候选项。运动信息通常包括水平和竖直运动矢量位移值、一个或两个参考图片索引,并且在B条带中的预测区域的情况下,还包括哪个参考图片列表与每个索引相关联的标识。如本文所使用的,在一些方面中,“合并模式”可以是指从空间或时间上邻近的块中导出运动信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器来执行内插。针对以亚像素精度被使用的插值滤波器的标识符可以被包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在视频块的编码期间使用的插值滤波器来计算用于参考块的亚整数像素的内插值。运动补偿单元302可以根据接收到的语法信息来确定由视频编码器200使用的插值滤波器,并且运动补偿单元302可以使用插值滤波器来产生预测块。
运动补偿单元302可以使用至少部分语法信息来确定用于编码经编码视频序列的(多个)帧和/或(多个)条带的块的大小、描述经编码视频序列的图片的每个宏块如何被划分的划分信息、指示每个划分如何被编码的模式、针对每个帧间编解码块的一个或多个参考帧(和参考帧列表)、以及对经编码视频序列进行解码的其他信息。如本文中所使用的,在一些方面,“条带”可以是指在熵编码、信号预测和残差信号重建方面可以独立于同一图片的其他条带而被解码的数据结构。条带可以是整个图片,或者也可以是图片的区域。
帧内预测单元303可以使用例如在码流中接收的帧内预测模式,以从空间相邻块形成预测块。反量化单元304反量化(即,去量化)在码流中提供的、并且由熵解码单元301解码的量化视频块系数。反变换单元305应用反变换。
重建单元306可以例如通过将残差块与由运动补偿单元302或帧内预测单元303生成的相应预测块相加来获得经解码的块。如果需要的话,还可以应用去块效应滤波器以对经解码的块进行过滤,以便去除块效应伪像。经解码的视频块随后被存储在缓冲307中,缓冲307为后续运动补偿/帧内预测提供参考块,并且缓冲307还产生经解码的视频以供在显示设备上呈现。
下文将详细描述本公开的一些示例实施例。应当注意,在本文件中使用章节标题是为了便于理解,而不是将章节中公开的实施例仅限于该章节。此外,尽管参考通用视频编解码或其他特定视频编解码器描述了一些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,尽管一些实施例详细描述了视频编码步骤,但是应当理解的是取消编码的相应解码步骤将由解码器实现。此外,术语视频处理包括视频编解码或压缩、视频解码或解压缩以及视频转码,在该视频转码中视频像素被从一种压缩格式表示为另一种压缩格式或以不同的压缩码率表示。
1.概述
本公开涉及视频编解码技术。具体而言,是关于视频编解码中的预测模式细化、运动信息细化、预测样本细化相关技术。可以适用于现有视频编解码标准,如HEVC、VVC等等。也可以适用于未来的视频编解码标准或视频编解码器。
2.背景
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4Visual,两个组织联合制定了H.262/MPEG-2Video和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准(ITU-T和ISO/IEC,“高效视频编解码”,Rec.ITU-TH.265|ISO/IEC 23008-2(生效版))。自H.262以来,视频编解码标准基于混合视频编解码结构,其中使用了时间预测加变换编解码。为了探索HEVC以外的未来视频编解码技术,VCEG和MPEG于2015年联合创立了联合视频探索团队(JVET)。JVET会议每季度同时举行一次,新的视频编解码标准在2018年4月的JVET会议上被正式命名为多功能视频编解码(VVC),当时发布了VVC测试模型(VTM)的第一个版本。VVC工作草案和测试模型VTM在每次会议后都被更新。VVC项目在2020年7月的会议上实现了技术完成(FDIS)。
2.1现有编解码工具(从JVET-R2002中提取)
2.1.1扩展合并预测
在VVC中,合并候选列表是通过按顺序包括以下五种类型的候选来构建的:
1)来自空间邻近CU的空间MVP
2)来自同位CU的时间MVP
3)来自FIFO表的基于历史的MVP
4)成对平均MVP
5)零MV。
合并列表的大小在序列参数集头中通过信号传输,并且合并列表的最大允许大小是6。对于合并模式中的每个CU码,使用截断的一元二进制化(TU)对最佳合并候选的索引进行编解码。合并索引的第一个仓(bin)使用上下文进行编解码,而旁路编解码用于其他仓。
每个类别的合并候选的导出过程在本节中提供。正如在HEVC中所操作的那样,VVC还支持在一定大小的区域内对所有CU的合并候选列表的并行导出。
2.1.1.1空间候选导出
VVC中空间合并候选的导出与HEVC中的导出相同,只是前两个合并候选的位置被交换。在位于图4所示位置的候选中,最多选择四个合并候选。导出顺序为B0、A0、B1、A1和B2。只有当位置B0、A0、B1和A1的一个或多于一个CU不可用时(例如,因为它属于另一个条带或图块)或被帧内编解码时,才考虑位置B2。在添加了位置A1处的候选之后,对剩余候选的添加进行冗余检查,该冗余检查确保具有相同运动信息的候选被从列表中排除,从而提高了编解码效率。为了降低计算复杂度,在提到的冗余检查中并没有考虑所有可能的候选对。相反,只考虑图5中与箭头链接的对,并且只有用于冗余检查的对应候选不具有相同的运动信息,才将候选添加到列表中。
2.1.1.2时间候选导出
在这个步骤中,只有一个候选被添加到列表中。特别地,在该时间合并候选的导出中,基于属于同位参考图片的同位CU来导出缩放运动矢量。在条带头中显式地通过信号传输要用于导出同位的CU的参考图片列表。如图6中的虚线所示,获得了时间合并候选的缩放运动矢量,该矢量是使用POC距离tb和td从同位的CU的运动矢量缩放而来的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为同位的图片的参考图片与同位的图片之间的POC差。时间合并候选的参考图片索引被设置为等于零。
时间候选的位置在候选C0与C1之间选择,如图7所示。如果位置C0处的CU不可用、被帧内编解码或在CTU的当前行之外,则使用位置C1。否则,在时间合并候选的导出中使用位置C0。
2.1.1.3基于历史的合并候选导出
基于历史的MVP(HMVP)合并候选被添加到空间MVP和TMVP之后的合并列表中。在该方法中,将先前编解码块的运动信息存储在表中,并用作当前CU的MVP。在编码/解码过程中维护具有多个HMVP候选的表。当遇到新的CTU行时,该表被重置(清空)。每当存在非子块帧间编解码CU时,将相关联的运动信息作为新的HMVP候选添加到表的最后一个条目。
HMVP表大小S被设置为6,这指示可以向该表添加多达6个基于历史的MVP(HMVP)候选。当将新的运动候选***到表中时,使用受约束的先进先出(FIFO)规则,其中首先应用冗余检查来发现表中是否存在相同的HMVP。如果找到,则从表中移除相同的HMVP,然后将所有HMVP候选向前运动。
HMVP候选可以用于合并候选列表构建过程。按顺序检查表中最近的几个HMVP候选,并将其***TMVP候选之后的候选列表中。对HMVP候选应用冗余检查以进行空间或时间合并候选。
为了减少冗余检查操作的数目,引入了以下简化:
1.用于合并列表生成的HMPV候选数目设置为(N<=4)?M:(8-N),其中N指示合并列表中现有候选的数目,M指示表中可用HMVP候选的数目。
2.一旦可用合并候选的总数达到最大允许合并候选减1,则终止来自HMVP的合并候选列表构建过程。
2.1.1.4成对平均合并候选导出
成对平均候选是通过对现有合并候选列表中的预定义候选对进行平均来生成的,并且预定义对被定义为{(0,1)、(0,2)、(1,2),(0,3)、(3,1),(2,3)},其中数字表示合并候选列表的合并索引。对于每个参考列表单独计算平均运动矢量。如果两个运动矢量在一个列表中都可用,则即使这两个运动矢量指向不同的参考图片,也会对其进行平均;如果只有一个运动矢量可用,则直接使用该运动矢量;如果没有可用的运动矢量,保持此列表无效。
当添加成对平均合并候选后合并列表未满时,将在最后***零MVP,直到遇到最大合并候选数目。
2.1.1.5合并估计区域
合并估计区域(MER)允许在同一合并估计区域中针对CU独立导出合并候选列表。针对生成当前CU的合并候选列表,不包括与当前CU在相同MER内的候选块。此外,仅当(xCb+cbWidth)>>Log2ParMrgLevel大于xCb>>Log2Par MrgLevel并且(yCb+cbHeight)>>Log2parMrglevel大于(yCb>>Log2ParMrgLevel)并且其中(xCb,yCb)。MER大小在编码器端被选择,并在序列参数集中以log2_parallel_merge_level_minus2的形式来通过信号传输。
2.1.2具有MVD的合并模式(MMVD)
在合并模式中,隐式导出的运动信息直接用于当前CU的预测样本生成,除了合并模式,VVC引入了具有运动矢量差的合并模式(MMVD)。在发送跳过标志和合并标志后,立即用信号传输MMVD标志来指定MMVD模式是否用于CU。
在MMVD中,在选择合并候选之后,通过用信号传输的MVD信息对其进行进一步细化。进一步的信息包括合并候选标志、指定运动幅度的索引和用于指示运动方向的索引。在MMVD模式中,合并列表中前两个候选中的一个候选被选择用作MV基础。合并候选标志被用信号传输以指定使用哪一个候选。
距离索引指定运动幅度信息,并指示与起始点的预定义偏移。如图8所示,偏移被添加到起始MV的水平分量或垂直分量。在表1中指定了距离索引与预定义偏移的关系
表1-距离索引与预定义偏移的关系
方向索引表示MVD相对于起始点的方向。方向索引可以表示如表2所示的四个方向。需要注意的是,MVD符号的含义可以根据起始MV的信息而变化。当起始MV是非预测MV或双向预测MV时,其中两个列表均指向当前图片的同一侧(即,两个参考的POC均大于当前图片的POC,或者均小于当前图片的POC),表2中的符号指定添加到起始MV的MV偏移的符号。当起始MV是双向预测MV时,其中两个MV指向当前图片的不同侧(即,一个参考的POC大于当前图片的POC,而另一参考的POC小于当前图片的POC),表2中的符号指定添加到起始MV的list0 MV分量的MV偏移的符号,并且list1 MV的符号具有相反的值。
表2-由方向索引指定的MV偏移的符号
方向索引 | 00 | 01 | 10 | 11 |
x轴 | + | - | N/A | N/A |
y轴 | N/A | N/A | + | - |
2.1.3解码器侧运动矢量细化(DMVR)
为了增加合并模式的MV的精度,在VVC应用了基于双边匹配的解码器侧运动矢量细化。在双向预测操作中,在参考图片列表L0和参考图片列表L1中的初始MV周围搜索细化MV。BM方法计算参考图片列表L0和列表L1中的两个候选块之间的失真。如图9所示,计算基于初始MV周围的每个MV候选的块901和902之间的SAD。具有最低SAD的MV候选成为细化MV,并用于生成双向预测信号。
在VVC中,DMVR可以应用于利用以下模式和特征编解码的CU:
-具有双向预测MV的CU级合并模式
-相对于当前图片,一个参考图片是过去的,另一参考图片是未来的
-两个参考图片到当前图片的距离(即,POC差)相同
-两个参考图片均为短期参考图片
-CU具有超过64个亮度样本
-CU高度和CU宽度均大于或等于8个亮度样本
-BCW权重索引指示相等权重
-当前块未启用WP
-当前块不使用CIIP模式
通过DMVR过程导出的细化MV用于生成帧间预测样本,并且还用于未来图片编解码的时间运动矢量预测。而原始MV用于去块过程,并且还用于未来CU编解码的空间运动矢量预测。
DMVR的附加功能在以下子条款中被提及。
2.1.3.1搜索方案
在DVMR中,搜索点围绕初始MV,并且MV偏移遵从MV差镜像规则。换言之,被DMVR检查的任何点(用候选MV对(MV0,MV1)表示)都遵循以下两个等式:
MV0′=MV0+MV_offset (1)
MV1′=MV1-MV_offset (2)
其中,MV_offset表示参考图片之一中的初始MV与细化MV之间的细化偏移。细化搜索范围是从初始MV开始的两个整数亮度样本。搜索包括整数样本偏移搜索阶段和分数样本细化阶段。
整数样本偏移搜索采用25点全搜索。首先计算初始MV对的SAD。如果初始MV对的SAD小于阈值,则DMVR的整数采样级终止。否则,剩余24个点的SAD按光栅扫描顺序进行计算和检查。选择SAD最小的点作为整数样本偏移搜索阶段的输出。为了减少DMVR细化不确定性的影响,提出在DMVR过程中支持原始MV。由初始MV候选参考的参考块之间的SAD减少了SAD值的1/4。
整数样本搜索之后是分数样本细化。为了节省计算复杂度,利用参数误差曲面方程导出了分数样本精化,而不是使用SAD比较进行额外搜索。分数样本细化是基于整数样本搜索阶段的输出有条件地调用的。当整数样本搜索阶段在第一次迭代或第二次迭代搜索中以具有最小SAD的中心结束时,进一步应用分数样本细化。
在基于参数误差表面的亚像素偏移估计中,中心位置成本和距中心四个邻近位置的成本用于拟合以下形式的二维抛物型误差曲面方程
E(x,y)=A(x-xmin)2+B(y-ymin)2+C (3)
其中(xmin,ymin)对应于具有最小成本的分数位置,C对应于最小成本值。通过使用五个搜索点的成本值求解上述方程,(xmin,ymin)计算为:
xmin=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0))) (4)
ymin=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0))) (5)
xmin和ymin的值被自动限制在-8与8之间,因为所有成本值都为正,且最小值为E(0,0)。这对应于VVC中具有1/16像素MV精度的半像素偏移。计算的分数(xmin,ymin)被添加到整数距离细化MV以获得亚像素精确的细化增量MV。
2.1.3.2双线性差值和样本填充
在VVC中,MV的分辨率是1/16亮度样本。使用8抽头插值滤波器对分数位置处的样本进行插值。在DMVR中,搜索点围绕具有整数样本偏移的初始分数像素MV,因此需要对这些分数位置的样本进行插值以进行DMVR搜索过程。为了降低计算复杂度,双线性插值滤波器用于生成DMVR中搜索过程的分数样本。另一个重要的效果是,通过使用双线性滤波器,在2样本搜索范围内,与正常的运动补偿过程相比,DVMR不会访问更多的参考样本。在通过DMVR搜索过程获得细化的MV之后,应用普通的8抽头插值滤波器来生成最终预测。为了不访问正常MC过程的更多参考样本,将从那些可用样本中填充样本,这些样本对于基于原始MV的插值过程是不需要的,但是对于基于精细MV的插值处理是需要的。
2.1.3.3最大DMVR处理单元
当CU的宽度和/或高度大于16个亮度样本时,它将被进一步分割为宽度和/或者高度等于16个亮度样本的子块。DMVR搜索过程的最大单元大小限制为16x16。
2.1.4用于帧间预测的几何划分模式(GPM)
在VVC中,几何划分模式被支持用于帧间预测。使用CU级标志作为一种合并模式来通过信号传输几何划分模式,其他合并模式包括常规合并模式、MMVD模式、CIIP模式和子块合并模式。对于每个可能的CU大小,几何划分模式总共支持64个划分,不包括8x64和64x8。
当使用该模式时,CU通过几何定位的直线被分为两个部分(如图10所示)。分割线的位置在数学上是从特定划分的角度和偏移参数导出的。CU中的几何划分的每个部分使用其自身的运动进行帧间预测;每个划分只允许单向预测,即每个部分都有一个运动矢量和一个参考索引。应用单向预测运动约束以确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。使用如3.4.1中描述的过程导出每个分区的单向预测运动。
如果几何划分模式用于当前CU,则指示几何划分的划分模式(角度和偏移)的几何划分索引和两个合并索引(每个划分一个)被进一步通过信号传输。最大GPM候选大小的数目在SPS中被显式地通过信号传输,并且指定用于GPM合并索引的语法二进制化。在预测了几何划分的每个部分之后,使用3.4.2中的具有自适应权重的融合处理来调整沿着几何划分边缘的样本值。这是针对整个CU的预测信号,变换和量化过程将像其他预测模式一样应用于整个CU。最后,使用几何划分模式预测的CU的运动场如2.1.4.3所描述的被存储。
2.1.4.1单向预测候选列表构建
单向预测候选列表直接从根据2.1.1中的扩展合并预测过程构建的合并候选列表中导出。将n表示为几何单向预测候选列表中的单向预测运动的索引。第n个扩展合并候选的LX运动矢量(其中X等于n的奇偶性)被用作几何划分模式的第n个单向预测运动矢量。这些运动矢量在图11中用“x”标记。在第n个扩展合并候选的对应LX运动矢量不存在的情况下,使用相同候选的L(1-X)运动矢量作为几何划分模式的单向预测运动矢量。
2.1.4.2沿几何划分边缘的融合
在使用其自身的运动来预测几何划分的每个部分之后,将融合应用于两个预测信号以导出几何划分边缘周围的样本。CU的每个位置的融合权重是基于个***置和分区边缘之间的距离导出的。
位置(x,y)到分区边缘的距离被导出为:
其中i,j为用于几何分区的角度和偏移的索引,它们取决于用信号传输的几何分区索引。ρx,j和ρy,j的符号取决于角度索引i。
几何分区的每个部分的权重导出如下:
wIdxL(x,y)=partIdx?32+d(x,y):32-d(x,y) (10)
w1(x,y)=1-w0(x,y) (12)
partIdx取决于角度索引i。图12示出了权重w0的一个示例。
2.1.4.3用于几何划分模式的运动场存储
来自几何划分的第一部分的Mv1、来自几何划分的第二部分的Mv2以及Mv1和Mv2的组合Mv被存储在几何划分模式编解码CU的运动场中。
运动场中每个个***置的存储的运动矢量类型被确定为:
sType=abs(motionIdx)<32?2:(motionIdx≤0?(1-partIdx):partIdx) (13)
其中motionIdx等于d(4x+2,4y+2)。partIdx取决于角度索引i。
如果sType等于0或1,则Mv0或Mv1被存储在对应运动场中,否则,如果sType等于2,则存储来自Mv0和Mv2的组合Mv。组合Mv使用以下过程生成:
1)如果Mv1和Mv2来自不同的参考图片列表(一个来自L0,而另一个来自L1),则Mv1和Mv2被简单地组合以形成双向预测运动矢量。
2)否则,如果Mv1和Mv2来自同一列表,则仅存储单向预测运动Mv2。
2.2JVET-R0357中具有运动矢量差的几何预测模式(GMVD)
在公开JVET-R0357中,具有运动矢量差的几何预测模式(GMVD)被提出。利用GMVD,GPM中的每个几何划分都可以决定是否使用GMVD。如果为几何区域选择GMVD,则将该区域的MV计算为合并候选的MV和MVD的总和。所有其他处理都与GPM中保持相同。
通过GMVD,根据当前的MMVD设计,MVD作为一对方向和距离用信号被传输。也即,有八个候选距离(1/4像素、1/2像素、1像素、2像素、4像素、8像素、16像素、32像素)和四个候选方向(向左、向右、向上、以及向下)。此外,当pic_fpel_mmvd_enabled_flag等于1时,GMVD中的MVD也像MMVD中一样左移2。
2.3组合帧间和帧内预测(CIIP)
在VVC中,当以合并模式编解码CU时,如果CU包含至少64个亮度样本(即,CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度均小于128个亮度样本,则用信号传输附加标志以指示组合帧间/帧内预测(CIIP)模式是否应用于当前CU。如其名称所指示的,CIIP预测将帧间预测信号与帧内预测信号相组合。CIIP模式中的帧间预测信号Pinter是使用应用于常规合并模式的相同帧间预测过程导出的;并且帧内预测信号Pintra是按照平面模式的常规帧内预测过程导出的。然后,使用加权平均来组合帧内和帧间预测信号,其中根据顶部和左侧邻近块的编解码模式来如下计算权重值(如图13所示):
-如果顶部邻居可用且经帧内编解码,则将isIntraTop设置为1,否则将isIntratop设置为0;
-如果左侧邻居可用且经帧内编解码,则将isIntraLeft设置为1,否则将isIntralLeft设置成0;
-如果(isIntraLeft+isIntraTop)等于2,则将wt设置为3;
-否则,如果(isIntraLeft+isIntraTop)等于1,则将wt设置为2;
-否则,将wt设置为1。
CIIP预测被如下形成:
PCIIP=((4-wt)*Pinter+wt*Pintra+2)>>2 (3-1)
2.4JVET-U0100中的多假设预测(MHP)
在本文中采用了JVET-M0425中先前提出的多假设预测。在帧间AMVP模式、常规合并模式和MMVD模式之上,用信号传输最多两个附加预测器。所产生的总体预测信号与每个附加预测信号迭代地累积。
pn+1=(1-αn+1)pn+αn+1hn+1
加权因子α根据下表指定:
add_hyp_weight_idx | α |
0 | 1/4 |
1 | -1/8 |
对于帧间AMVP模式,只有在双向预测模式中选择BCW中的非相等权重,才应用MHP。
2.5JVET-U0100中的模板匹配(TM)
模板匹配(TM)是解码器侧MV导出方法,用于通过找到当前图片中的模板(即,当前CU的顶部和/或左侧邻近块)与参考图片中的块(即,与模板大小相同)之间的最接近的匹配来细化当前CU的运动信息。如图14所示,在[-8,+8]像素搜索范围内,在当前CU的初始运动周围搜索更好的MV。在本文中采用的在JVET-J0021中先前被提出的模板匹配具有两处修改:基于AMVR模式确定搜索步长,以及在合并模式中TM可以与双边匹配过程级联。
在AMVP模式中,基于模板匹配误差来确定MVP候选,以选取达到当前块模板和参考块模板之间的最小差的一个,然后TM仅对该特定MVP候选执行MV细化。TM通过使用迭代菱形搜索,从[-8,+8]像素搜索范围内的全像素MVD精度(或4像素AMVR模式的4像素)开始,对该MVP候选进行细化。AMVP候选可以通过使用具有全像素MVD精度的交叉搜索(或对于4像素AMVR模式为4像素)来进一步细化,然后根据表3中指定的AMVR模式依次使用半像素和四分之一像素。该搜索过程确保MVP候选在TM过程之后仍然保持如AMVR模式所指示的相同MV精度。
表3.AMVR的搜索模式以及与AMVR的合并模式
在合并模式中,类似的搜索方法被应用于由合并索引指示的合并候选。如表3所示,TM可以一直执行到1/8像素MVD精度,或者跳过超过半像素MVD精度的那些精度,这取决于是否根据合并的运动信息使用替代插值滤波器(当AMVR为半像素模式时使用)。此外,当启用TM模式时,模板匹配可以作为基于块和基于子块的双边匹配(BM)方法之间的独立过程或额外的MV细化过程来工作,这取决于BM是否可以根据其启用条件检查来启用。
2.6JVET-U0100中的多遍次解码器端运动矢量细化
在本文中,应用了多遍次解码器端的运动矢量细化。在第一遍次中,双边匹配(BM)被应用于编解码块。在第二遍次中,BM被应用于编解码块内的每个16x16子块。在第三遍次中,通过应用双向光流(BDOF)来细化每个8x8子块中的MV。细化的MV被存储用于空间和时间运动矢量预测。
第一遍次-基于块的双边匹配MV细化
在第一遍次中,通过将BM应用于编解码块来导出细化的MV。类似于解码器端运动矢量细化(DMVR),在双向预测操作中,在参考图片列表L0和L1中的两个初始MV(MV0和MV1)周围搜索细化的MV。基于L0和L1中的两个参考块之间的最小双边匹配成本,围绕发起MV导出细化的MV(MV0_pass1和MV1_pass1)。
BM执行局部搜索以导出整数样本精度intDeltaMV。局部搜索应用3×3平方搜索样式,在水平方向的搜索范围[–sHor,sHor]和垂直方向的搜索范围[–sVer,sVer]中循环,其中,sHor和sVer的值由块尺度确定,sHor和sVer的最大值为8。
双边匹配成本计算为:bilCost=mvDistanceCost+sadCost。当块大小cbW*cbH大于64时,应用MRSAD成本函数来去除参考块之间失真的DC效应。当3×3搜索样式的中心点的bilCost具有最小成本时,intDeltaMV局部搜索终止。否则,当前最小成本搜索点成为3×3搜索样式的新中心点,并继续搜索最小成本,直到它到达搜索范围的末尾。
进一步应用现有的分数样本细化来导出最终的deltaMV。然后,第一遍次后的细化MV导出为:
·MV0_pass1=MV0+deltaMV
·MV1_pass1=MV1–deltaMV
第二遍次-基于子块的双边匹配MV细化
在第二遍次中,通过将BM应用于16×16网格子块来导出细化的MV。对于每个子块,在参考图片列表L0和L1中在第一遍次获得的两个MV(MV0_pass1和MV1_pass1)周围搜索细化的MV。基于L0和L1中的两个参考子块之间的最小双边匹配成本来导出细化的MV(MV0_pass2(sbIdx2)和MV1_pass2(sbIdx2))。
对于每个子块,BM执行完全搜索以导出整数样本精度intDeltaMV。全搜索在水平方向上具有搜索范围[–sHor,sHor],在垂直方向上具有[–sVer,sVer],其中,sHor和sVer的值由块尺度确定,并且sHor和sVert的最大值为8。
双边匹配成本是通过将成本因子应用于两个参考子块之间的SATD成本来计算的,如:bilCost=satdCost*costFactor。搜索区域(2*sHor+1)*(2*sVer+1)被分为5个菱形搜索区域,如图15所示。搜索区域中的菱形区域。每个搜索区域都被分配了一个costFactor,该costFactor由每个搜索点和起始MV之间的距离(intDeltaMV)确定,并且每个菱形区域按照从搜索区域的中心开始的顺序进行处理。在每个区域中,搜索点按光栅扫描顺序进行处理,从区域的左上角开始,一直到右下角。在当前搜索区域内的最小bilCost小于等于sbW*sbH的阈值时,终止int pel完全搜索,否则,int-pel完整搜索继续到下一个搜索区域,直到检查完所有搜索点。
进一步应用现有的VVC DMVR分数样本细化来导出最终的deltaMV(sbIdx2)。然后,第二遍次的细化MV导出为:
·MV0_pass2(sbIdx2)=MV0_pass 1+deltaMV(sbIdx2)
·MV1_pass2(sbIdx2)=MV1_pass1–deltaMV(sbIdx2)
第三遍次-基于子块的双向光流MV细化
在第三遍次中,通过将BDOF应用于8×8网格子块来导出细化的MV。对于每个8×8的子块,应用BDOF精化来导出缩放的Vx和Vy,而不从第二遍次的父子块的精化MV开始进行剪裁。导出的bioMv(Vx,Vy)四舍五入到1/16样本精度,并在-32和32之间进行剪裁。
第三遍次的细化MV(MV0_pass3(sbIdx3)和MV1_pass3(sbIdx3))导出为:
·MV0_pass3(sbIdx3)=MV0_pass 2(sbIdx2)+bioMv
·MV1_pass3(sbIdx3)=MV0_pass2(sbIdx2)–bioMv
2.7非相邻空间候选
在JVET-L0399中的非相邻空间合并候选被***到常规合并候选列表中的TMVP之后。空间合并候选的模式如图16所示。非相邻空间候选与当前编解码块之间的距离基于当前编解码块的宽度和高度。然而,在本文中没有应用行缓冲限制。
2.8相关解决方案中的GPM运动细化
下面的详细实施例应被视为解释一般概念的示例。这些实施例不应以狭隘的方式来解释。此外,这些实施例可以以任何方式组合。
术语“GPM”可以表示一种编解码方法,其将一个块分割成两个或更多个子区域,其中至少一个子区域是非矩形或非正方形的,或者它不能由将一个块分割成多个矩形子区域的任何现有划分结构(例如,QT/BT/TT)生成。在一个示例中,对于GPM编解码块,基于子区域被分割的方式,针对编解码块导出一个或多个加权掩码,并且编解码块的最终预测信号由与子区域相关联的两个或更多个辅助预测信号的加权和生成。
术语“GPM”可以指示几何合并模式(GEO)、和/或几何划分模式(GPM)、和/或楔形预测模式、和/或三角预测模式(TPM)、和/或具有运动矢量差的GPM块(GMVD)、和/或具有运动细化的GPM块、和/或基于GPM的任何变体。
术语“块”可以表示编解码块(CB)、CU、PU、TU、PB、TB。
短语“正常/常规合并候选”可以表示由扩展合并预测过程生成的合并候选(如第3.1节所示)。它还可以表示除GEO合并候选和基于子块的合并候选之外的任何其他高级合并候选。
注意,GPM/GMVD块的部分/分区意味着CU中几何分区的部分,例如,图10中GPM块的两个部分被几何定位的直线分开。CU中几何分区的每个部分都使用其自身的运动进行帧间预测,但变换是针对整个CU而非GPM块的每个部分/分区执行的。
还应注意,应用于其他模式(例如,AMVP模式)的GPM/GMVD也可以使用以下方法,其中用于合并模式的运动可以由用于AMVP模式的运动代替。
请注意,在下面的描述中,术语“GPM合并列表”是作为示例给出的。然而,所提出的解决方案也可以扩展到其他GPM候选列表,诸如,GPM AMVP候选列表。
在本公开中,如果合并候选的运动信息根据从编码器用信号传输的信息或在解码器处导出的信息被修改,则合并候选被称为“被细化”。例如,合并候选可以通过DVMR、FRUC、TM、MMVD、BDOF等来细化。
1.在一个示例中,在GPM合并列表构建过程期间,GPM运动信息可以从细化的常规合并候选中生成。
1)例如,可以在GPM合并列表构建过程之前,在常规合并候选列表上进行细化处理。例如,GPM合并列表可以基于细化的常规合并候选来构建。
2)例如,常规合并候选的细化L0运动和/或L1运动可以用作GPM合并候选。
a)例如,双向预测常规合并候选可以首先由解码器侧运动导出/细化过程来细化,然后用于GPM运动信息的导出。
b)例如,单向预测常规合并候选可以首先由解码器侧运动导出/细化过程来细化,然后用于GPM运动信息的导出。
3)细化合并候选还是合并候选列表可以取决于候选的运动信息。
a)例如,如果正常合并候选满足解码器侧运动导出/细化方法的条件,则该正常合并候选可以首先通过这种方法被细化,然后被用于GPM运动信息的导出。
2.在一个示例中,在根据候选索引导出GPM运动信息之后(例如,使用VVC中的常规合并候选列表的候选索引和奇偶校验),运动信息可以通过另一过程被进一步细化。
1)备选地,此外,GPM编解码视频单元的最终预测可以依赖于细化运动信息。
2)例如,细化过程可以在GPM合并列表构建过程之后在GPM合并候选列表上进行。例如,GPM合并列表可以基于非细化的常规合并候选来构建。
3)例如,GPM合并候选列表(例如,单向预测)首先从常规合并候选列表建立,然后可以通过解码器侧运动导出方法进一步细化GPM合并候选中的任何一个。
3.在一个示例中,可以应用两阶段细化过程。
1)例如,可以在GPM合并列表构建过程之前,在常规合并候选列表上进行第一细化过程。例如,GPM合并列表可以基于由第一细化过程细化的常规合并候选来构建。
2)例如,可以在GPM合并列表构建过程之后,在GPM合并候选列表上进行第二细化过程。
4.在一个示例中,GPM块的运动细化可以针对多个候选(例如,对应于多个部分,例如,部分0运动和部分1运动两者)同时进行。
1)备选地,GPM块的运动细化可以分别针对部分0运动和部分
1运动进行。
5.在一个示例中,GPM块的运动细化可以应用于GPM块的至少一部分。
1)例如,GPM块的运动细化可以应用于GPM块的两个部分。
2)例如,GPM块的运动细化可以应用于GPM块的某一部分(而非两者),其中部分索引可以由规则预定义或确定。
6.在一个示例中,前述运动细化(例如,解码器侧运动导出)过程可以基于双边匹配方法(诸如,DMVR,其测量L0预测块和L1预测块之间的预测样本差)。
1)例如,在GPM块的双边匹配中的L0/L1预测可以考虑整个块的信息,而不管GPM分割模式信息,例如,与整个GPM快相同大小的参考块被用于L0/L1预测。
a)备选地,在GPM块的双边匹配中的L0/L1预测可以考虑GPM分割模式信息,例如,可以考虑具有与特定GPM分割模式相关联的部分0/1相同的块形状的参考块。
2)备选地,前述运动细化(例如,解码器侧运动导出)过程可以基于模板匹配方法(例如,测量当前图片中的模板样本和参考图片中的模板样本之间的预测样本差,其中模板样本可以是当前视频单元的顶部/左侧邻居)。
a)此外,模板可以是单向和/或双向的。
b)例如,用于部分0和部分1的模板可以基于不同的规则。
c)例如,模板匹配过程可以应用于整个块,但从模板匹配过程导出的细化信息被应用于块的一部分。
d)例如,模板匹配可以单独应用于一部分(而非将模板匹配应用于整个块上的两个部分)。
a.在一个示例中,用于部分的模板的形状可以取决于该的形状。
3)此外,使用双边匹配方法还是模板匹配方法来细化常规合并候选可以取决于常规/GPM合并候选的运动数据(诸如,预测方向、L0和L1运动矢量的不同程度、L0和L1运动的POC距离等等)。
4)另外,细化过程可以应用于GPM运动,而无需显式信令。
a)备选地,是否允许细化可以被显示地用信号通知。
7.在一个示例中,细化运动可以用于GPM块的运动补偿。
1)备选地,未细化的原始运动可以用于GPM块的运动补偿。
8.在一个示例中,细化运动可以用于针对GPM块的基于子块(例如,4x4)的运动矢量存储。
1)备选地,未细化的原始运动可以用于针对GPM块的基于子块的运动矢量存储。
2)在一个示例中,细化运动可以用于针对GPM块的去块强度确定。
a)备选地,未细化的原始运动可以用于针对GPM块的去块强度确定。
3)在一个示例中,当针对后续块生成AMVP/合并候选列表时,其可以是GPM编解码或非GPM编解码的,GPM块的细化运动可以用作1)当时间邻居块为GPM块时,时间运动矢量候选,和/或2)当空间邻居块为GPM块时,空间运动矢量候选。
a)备选地,未细化的原始运动可以用于任何上述情况。
9.在一个示例中,MVD可以被添加到用于具有GMVD模式的块的细化MV。
1)备选地,MVD可以被添加到用于具有GMVD模式的块的非细化MV,然后所产生的MV将被细化。
10.如何进行细化过程可以取决于是否使用GPM和/或GMVD。
1)例如,如果使用GPM和/或GMVD,则在细化过程中检查的搜索点较少。
2.9相关解决方案中的GPM预测样本细化
下面的详细实施例应被视为解释一般概念的示例。这些实施例不应以狭隘的方式来解释。此外,这些实施例可以以任何方式组合。
术语“GPM”可以表示一种编解码方法,其将一个块分割成两个或更多个子区域,其中至少一个子区域是非矩形或非正方形的,或者它不能由将一个块分割成多个矩形子区域的任何现有划分结构(例如,QT/BT/TT)生成。在一个示例中,对于GPM编解码块,基于子区域被分割的方式,针对编解码块导出一个或多个加权掩码,并且编解码块的最终预测信号由与子区域相关联的两个或更多个辅助预测信号的加权和生成。
术语“GPM”可以指示几何合并模式(GEO)、和/或几何划分模式(GPM)、和/或楔形预测模式、和/或三角预测模式(TPM)、和/或具有运动矢量差的GPM块(GMVD)、和/或具有运动细化的GPM块、和/或基于GPM的任何变体。
术语“块”可以表示编解码块(CB)、CU、PU、TU、PB、TB。
短语“正常/常规合并候选”可以表示由扩展合并预测过程生成的合并候选(如第3.1节所示)。它还可以表示除GEO合并候选和基于子块的合并候选之外的任何其他高级合并候选。
注意,GPM/GMVD块的部分/分区意味着CU中几何分区的部分,例如,图10中GPM块的两个部分被几何定位的直线分开。CU中几何分区的每个部分都使用其自身的运动进行帧间预测,但变换是针对整个CU而非GPM块的每个部分/分区执行的。
还应注意,应用于其他模式(例如,AMVP模式)的GPM/GMVD也可以使用以下方法,其中用于合并模式的运动可以由用于AMVP模式的运动代替。
1.在一个示例中,运动补偿的预测样本细化过程可以应用于GPM块。
a.例如,GPM预测块的至少一个预测样本可以通过基于重叠块的运动补偿(例如,OBMC)技术来细化,其中预测样本使用具有加权预测的邻近块的运动信息来细化。
b.例如,GPM预测块的至少一个预测样本可以通过多假设预测(例如,MHP)技术来细化,其中通过累积来自多个假设运动数据的多于一个预测信号来对所得到的总体预测样本进行加权。
c.例如,GPM预测块的至少一个预测样本可以通过局部光照补偿(例如,LIC)技术来细化,其中线性模型用于补偿针对运动补偿的亮度样本的光照变化。
d.例如,GPM预测块的至少一个预测样本可以通过组合帧间-帧内预测(CIIP)技术来细化,其中帧内预测用于细化运动补偿的亮度样本。
e.例如,GPM预测块的至少一个预测样本可以通过基于双向光流的运动细化(例如,BDOF或BIO)技术来细化,其中在双向预测的情况下,在逐块运动补偿之上执行逐像素运动细化。
1)例如,仅当GPM块的两个部分的两个运动矢量来自两个不同的方向时,可以执行基于双向光流的运动细化。
2.在一个示例中,可以针对利用GPM编解码的块的所有子块执行OBMC。
a.备选地,可以针对利用GPM编解码的块的一些子块或一些样本执行OBMC。
1)例如,当利用GPM对块进行编解码时,可以仅针对该块的块边界处的子块执行OBMC。
2)例如,当利用GPM对块进行编解码时,可以仅针对该块的块边界处的样本执行OBMC。
3.在一个示例中,当对GPM块执行OBMC时,基于当前和邻近GPM编解码块的基于存储的子块(例如,4x4)的运动数据来应用OBMC。
a.例如,基于当前GPM子块的基于存储的子块的运动与邻居子块的运动之间的运动相似性来确定OBMC混合权重。
b.备选地,在这样的情况下,可以基于从GPM合并候选导出的运动数据(例如,不考虑从每个子块的运动索引导出的基于子块的GPM运动),而不是GPM块的基于存储的子块的运动来应用OBMC。
4.在一个示例中,是否在GPM块之上应用功能/工具可以依赖于该图片组(GOP)结构之中的当前图片的时间层标识符(例如,层ID)。
a.例如,前述功能/工具可以基于以下任何技术:
1)MMVD
2)OBMC
3)MHP
4)LIC
5)CIIP
6)非相邻空间合并候选
7)解码器侧运动细化/导出(例如,模板匹配、双边匹配等等)
b.例如,当当前图片位于预定义的层ID时,可以将功能/工具应用于GPM块,而无需额外的信令。
c.例如,可以显示地用信号传输何种层ID的图片将在GPM块上具有功能/工具。
5.在一个示例中,在允许将运动矢量差用于GPM块(命名为GMVD)的情况下,假设允许M个合并候选用于没有运动矢量差的GPM(命名为GPM),并且允许N个合并候选用于GMVD,公开了以下方法:
a.在一个示例中,GMVD的最大允许合并候选的数目可以不同与没有运动矢量差的GPM的该数目。
1)例如,M可以大于N。
a)备选地,GMVD和GPM的最大允许合并候选的数目相同(例如,M=N)。
b)备选地,M可以小于N。
2)例如,GMVD编解码块的最大允许合并候选的数目可以在码流中用信号传输,例如,通过语法元素。
a)备选地,GMVD编解码块的最大允许合并候选的数目可以是预定义的固定值,诸如,N=2。
3)GPM合并候选索引(例如,merge_gpm_idx0、merge_gpm_idx1)的信令可以依赖于GMVD是否被用于当前视频单元。
a)例如,当前视频块是否使用GMVD可以在GPM合并候选索引信令之前用信号传输。
b)例如,当当前视频块使用GMVD(例如,GPM块的任一部分使用GMVD)时,则用于GPM合并候选索引二值化的输入参数(例如,cMax)可以基于GMVD的最大允许合并候选数目(例如,N)。
c)例如,当当前视频块不使用GMVD(例如,GPM块的两个部分均不使用GMVD)时,则用于GPM合并候选索引二值化的输入参数(例如,cMax)可以基于没有运动矢量差的GPM的最大允许合并候选数目(例如,N)。
4)在一个示例中,指示是否应用GMVD的第一语法元素(SE)可以取决于至少一个GPM合并候选索引。
a)例如,如果针对当前块用信号传输的最大GPM合并候选索引大于阈值,则第一SE可以不用信号传输。
b)例如,如果针对当前块用信号传输的最小GPM合并候选索引小于阈值,则第一SE可以不用信号传输。
c)如果第一SE未用信号传输,则可以推断GMVD被应用。
d)如果第一SE未用信号传输,则可以推断GMVD未被应用。
b.在一个示例中,GMVD可以从K个(诸如,K<=M)GPM合并候选中选择(多个)基础候选,然后在该基础候选上添加运动矢量差。
1)例如,K个GPM合并候选可以是列表中的前K个候选。
2)例如,K=2。
3)例如,GPM块/部分的基础候选索引可以用信号传输,并且其二值化输入参数cMax可以基于K的值来确定。
4)例如,GPM块的多个部分(例如,所有部分)可以共享相同的基础候选。
5)例如,GPM块的每个部分均使用其自身的基础候选。c.在一个示例中,并非所有用于GMVD块的两个部分的GPM块的MVD参数(例如,MVD距离和MVD方向)均用信号传输。
1)在一个示例中,可以用信号传输GPM块的第一部分的MVD参数。
a)例如,GPM块的第二部分的MVD参数可以例如,基于用信号传输的第一部分的MVD而导出。
b)例如,仅用信号传输针对GPM块的两个部分之一的MVD的方法可以基于规则。
a)例如,该规则可以取决于两个部分的运动是否指向不同方向。
b)例如,该规则可以取决于GPM块的两个部分是否用GMVD编解码。
2)例如,如果GMVD的基础候选是双向预测候选,则可以用信号传输针对第一预测方向的MVD参数。
a)例如,从用信号传输的MVD参数(诸如,MVD方向和MVD偏移)可以应用于LX运动,其中X=0或1,同时L(1-X)运动例如基于用信号传输的第一预测方向LX的MVD被导出。
3)例如,在第二部分/方向上的MVD的导出可以基于缩放或镜像样式。
a)例如,导出的MVD方向基于对用信号传输的MVD方向进行镜像。
a)例如,假设用信号传输的第一GMVD方向索引(针对GMVD块的第一部分或预测方向)在水平方向和垂直方向上可以分别由gmvdSign[0][0]和gmvdSign[0][1]解释。因此,导出的第二GMVD方向(针对GMVD块的第二部分或预测方向)在水平上可以等于相反的方向(诸如,gmvdSign[1][0]=-gmvdSign[0][0])和/或导出的第二GMVD方向在垂直上可以等于相反的垂直方向(诸如,gmvdSign[1][1]=-gmvdSign[0][1])。
b)例如,导出的第二GMVD方向的至少一个GMVD方向(例如,水平或垂直)与从用信号传输的第一GMVD方向索引解释的那些相反。
b)例如,L(1-X)MVD偏移的缩放因子是基于current-
picture-to-L0-reference和current-picture-to-L1-reference的POC距离导出的。
a)例如,假设用信号传输的第一GMVD距离(针对GMVD块的第一部分或预测方向)用gmvdDistance[0]表示,第一运动的参考图片与当前GMVD块之间的POC距离用PocDiff[0]表示,并且第二运动的参考图片与当前GMVD块之间的POC距离用PocDiff[1]表示。然后,导出的GMVD距离gmvdDistance[1]可以基于PocDiff[0]、PocDiff[1]和gmvdDistance[0]导出。
i.例如,gmvdDistance[1]=(gmvdDistance[0]>>a)<<b,其中值a依赖于PocDiff[0],并且值b依赖于PocDiff[1]。
ii.例如,gmvdDistance[1]=(gmvdDistance[0]<<b)/a,其中值a依赖于PocDiff[0],并且值b依赖于PocDiff[1]。
4)备选地,LX和L(1-X)MVD偏移均直接从用信号传输的MVD偏移导出(例如,无需缩放或镜像)。
a)例如,导出的第二GMVD距离等于用信号传输的第一GMVD距离,例如,gmvdDistance[1]=gmvdDistance[0]。
d.在一个示例中,多于一组GMVD表(例如,GMVD方向和/或GMVD偏移)可以被定义用于GPM模式。
1)例如,哪组GMVD表被允许/用于视频单元可以被显式地用信号传输。
2)例如,哪组GMVD表被允许/用于视频单元可以基于预定义的规则(诸如,图片分辨率)被硬编解码。
e.在一个示例中,两个GMVD部分中的至少一个部分的最终运动矢量(例如,GPM合并候选加MVD偏移)必须不同于GPM合并列表中的任何一个GPM合并候选(其可以由MVD添加)的最终MV。
1)备选地,此外,两个GMVD部分的最终运动矢量不允许与GPM合并列表中的任何GPM合并候选相同。
2)例如,如果最终MV与另一GPM合并候选的相同,则可以修改最终MV。
3)例如,如果最终MV与另一GPM合并候选的相同,则特定GPM合并候选或MVD可以不被允许用信号传输。
f.在一个示例中,两个GMVD部分的最终运动矢量必须彼此不同。
1)备选地,两个GMVD部分的最终运动矢量可以相同但不同于GPM合并列表中的任何一个GPM合并候选。
2)例如,如果一个部分的最终MV与另一部分的相同,则可以修改最终MV。
3)例如,如果第一部分的最终MV与另一部分的相同,则特定GPM合并候选或第一部分的MVD可以不被允许用信号传输。
3.问题
在VVC v1标准中存在若干缺陷,这将进一步改进以获得更高的编解码增益。
1)在VVC v1标准中,一些类型的编解码块(诸如,CIIP、GPM、Affine、MMVD和SbTMVP等)的运动数据是在没有运动细化的情况下从合并/AMVP候选生成的。考虑到运动补偿之前或之后的运动细化(例如,MMVD、解码器侧运动导出/细化,诸如DMVR、FRUC、模板匹配TM合并、TM AMVP等),如果细化这种编解码块的运动矢量则会更有效。
2)一些类型的编解码块的预测模式(诸如,CIIP中的帧内模式、常规帧内模式等)可以使用解码信息来细化,以便于生成更精确的预测。
3)一些类型的编解码块(诸如,AMVP、GPM、CIIP、SbTMVP、Affine、MMVD、DMVR、FRUC、TM合并、TM AMVP等)的预测样本可以使用解码信息(例如,BDOF、OBMC等)来细化,以便于生成更精确的预测。
4)对于VVC之外引入的新编解码技术(例如,多假设预测、MHP等),新编解码工具编解码的视频单元的编解码数据(诸如,运动、模式、预测样本)可以使用用信号传输/解码的信息来进一步细化。
4.本公开的实施例
下面的详细实施例应被视为解释一般概念的示例。这些实施例不应以狭隘的方式来解释。此外,这些实施例可以以任何方式组合。
术语“视频单元”或“编解码单元”或“块”可以表示编解码树块(CTB)、编解码树单元(CTU)、编解码块(CB)、CU、PU、TU、PB、TB。
块可以是矩形或非矩形。
在本公开中,短语“常规运动候选”可以表示由合并候选索引指示的常规/扩展合并列表中的合并运动候选、或AMVP运动矢量、或由AMVP候选索引指示的常规/扩展AMVP列表中的AMVP运动候选。
在本公开中,如果候选的运动信息根据从编码器用信号传输的或在解码器处导出的信息被修改,则运动候选被称为“被细化”。例如,运动矢量可以通过DMVR、FRUC、TM合并、TM AMVP、MMVD、GMVD、仿射(Affine)MMVD BDOF等被细化。
在本公开中,短语“编解码数据细化”可以表示细化过程,以便针对视频单元细化用信号传输/解码/导出的预测模式、预测方向或用信号传输/解码/导出的运动信息、预测和/或重构样本。在一个示例中,细化过程可以包括运动候选重新排序。
1.在一个示例中,由特定编解码技术X编解码的视频单元的编解码数据Z可以由另一过程Y进一步细化。
1)例如,编解码数据Z可以是视频单元的用信号传输/解码/导出的预测模式和/或预测方向。
2)例如,编解码数据Z可以是视频单元的用信号传输/解码/导出的运动信息。
a)在一个示例中,编解码数据Z可以是给定参考图片列表X的运动信息(X为0或1)。
3)例如,编解码数据Z可以是视频单元的预测样本或重建样本。
4)例如,特定编解码技术X可以是基于AMVP候选的技术。
5)例如,特定编解码技术X可以是基于合并候选的技术。
6)例如,特定编解码技术X可以是CIIP、MMVD、GPM、MHP等等。
7)例如,特定编解码技术X可以是基于整块的技术,其中视频单元中的所有样本共享相同的编解码信息。
a)在一个示例中,X可以是常规合并、常规AMVP、CIIP、
MHP等等。
8)例如,特定编解码技术X可以是基于子块的技术,其中视频单元中的两个子块可以使用不同的编解码信息。
a)在一个示例中,X可以是Affine、SbTMVP等。
b)在一个示例中,X可以是ISP等。
c)在一个示例中,X可以是GPM、GEO、TPM等。
9)例如,特定编解码技术X可以是基于帧间预测的技术。
10)例如,特定编解码技术X可以是基于帧内预测的技术,诸如,常规帧内模式、MIP、CIIP、ISP、LM、IBC、BDPCM等。
11)例如,特定细化过程Y可以基于的是基于显式信令的方法,诸如,用信号传输运动矢量差,或帧内模式增量值,或码流中的预测和/或重建块/样本增量值。
a)在一个示例中,针对特定编解码技术X1编解码的视频单元,可以在码流中显式地用信号传输增量信息。
i.备选地,针对另一特定编解码技术X2编解码的视频单元,可以通过使用在解码器侧可用的解码/重建信息来导出增量信息。
ii.例如,增量信息可以是一个或多个运动矢量差。
a)例如,一个或多个运动矢量差可以被添加到X编解码的视频单元。
b)例如,可以在编解码器中定义多于一个查找表,以导出基于不同MMVD的编解码技术的实际运动矢量差。
c)例如,可以在编解码器中定义统一查找表,用于基于所有不同MMVD的编解码技术。
iii.例如,增量信息可以是增量值,其可以用于通过将该增量值与用信号传输/导出的预测模式相加来生成新的预测模式。
a)例如,可以通过将增量值添加到用信号传输/导出的预测模式来细化由CIIP编解码的视频单元的帧内模式信息(或ISP,或常规帧内角度模式,或常规帧内模式等)。
iv.例如,增量信息可以是一个或多个增量值,其可以用于生成一个或多个新的预测和/或重建样本值。
b)例如,特定细化过程Y可以基于滤波方法。
i.在一个示例中,至少一个过滤参数用信号传输至解码器。
ii.在一个示例中,至少一个过滤参数在解码器处被导出。
12)例如,特定细化过程Y可以基于隐式导出相关技术。
a)在一个示例中,Y可以基于邻近视频单元(相邻或非相邻)的运动信息。
i.在一个示例中,Y可以是OBMC过程。
b)例如,特定细化过程Y可以基于双边匹配方法,诸如DMVR,其测量L0预测块与L1预测块之间的预测样本差。
c)在一个示例中,Y可以基于邻近视频单元(相邻或非相邻)的重建样本。
i.例如,特定细化过程Y可以基于模板匹配相关技术,诸如,FRUC、TM合并、TMAMVP、TM IBC、BDOF等等。
a)例如,模板可以基于视频单元的顶部和/或左侧邻近处的邻近重建样本来构建,并且在参考区域中(例如,在当前图片内,或在参考图片内)的预定义位置处的预测/重建样本。
b)例如,可以基于基于子块的运动来导出参考区域中的模板的参考样本(例如,可以利用单独的运动信息来检索每个参考子模板)。
c)例如,可以基于单个运动信息导出参考区域中的模板的参考样本。
d)例如,模板匹配是以单向预测还是双向预测的方式进行可以取决于用信号传输的运动信息。
i.例如,如果解码/用信号传输的运动信息指示当前视频单元是单向预测的,则可以以单向预测的方式进行基于模板匹配的细化(例如,根据基于单向预测参考模板与当前图片中的模板之间的差异的准则来优化运动矢量)。
ii.例如,如果解码/用信号传输的运动信息指示当前单元是双向预测的,则可以以双向预测的方式进行基于模板匹配的细化(例如,根据基于多于一个参考模板/多于一个参考模板的组合与当前图片中的模板之间的差异的准则来优化运动矢量)。
iii.例如,基于模板匹配的细化可以始终以双向预测方式进行,而不管从解码/用信号传输的运动信息获得的预测方向如何。
1.此外,备选地,是否采取该解决方案可以取决于应用视频单元的编解码技术X的类型。
iv.例如,基于模板匹配的细化可以始终以单向预测方式进行,而不管从解码/用信号传输的运动信息获得的预测方向如何。
1.此外,备选地,是否采取该解决方案可以取决于应用视频单元的编解码技术X的类型。
2.对于一个视频单元,可以应用多个细化过程。
1)在一个示例中,可以应用至少两个细化过程,其中两个过程中的每个过程用于细化一种编解码数据。
a)在一个示例中,运动信息和帧内预测模式均可以被细化。
i.备选地,此外,上述方法可以应用于CIIP编解码的块。
ii.备选地,此外,上述方法可以应用于具有帧间和帧内组合预测模式的视频单元。
2)在一个示例中,可以应用至少两个细化过程,其中它们均用于细化相同种类的编解码数据。
a)在一个示例中,可以使用多种方式来细化运动信息,例如,基于DMVR和TM的方法。
b)备选地,此外,要应用的最终细化运动信息可以进一步从来自多个方式的临时细化运动信息确定。
a)在一个示例中,来自多个方式之一的临时细化运动信息可以被用作要应用的最终细化运动信息。
c)备选地,此外,最终重建/预测块生成过程可以依赖于来自多个方式的临时细化运动信息。
3.在一个示例中,细化过程可以应用于视频单元内的一个或多个部分。
1)例如,细化过程可以以基于整块的方式应用于视频单元(例如,可以细化整个CU的编解码数据)。
2)例如,细化过程可以以基于子块/部分/分区的方式应用于视频单元。
a)例如,细化过程可以应用于视频单元的一个或多个部分/分区(在编解码单元包含多于一个部分/分区的情况下),而不是编解码单元的所有分区。
b)例如,细化过程可以应用于编解码单元的一个或多个子块,而不是完整的编解码单元。
i.例如,子块可以由小于整个编解码单元大小的MxN(诸如,M=N=4或8)的样本来表示。
ii.例如,位于预定义位置(诸如,上方或左侧边界)处的子块可以被考虑在内。
c)备选地,细化过程可以应用于编解码单元的所有部分/分区/子块。
d)在一个示例中,是否和/或如何在子块上应用细化过程可以取决于子块的位置。
i.例如,第一细化过程被应用于块的边界处的子块上,并且第二细化过程被应用于不在块的边界处的子块上。
e)在一个示例中,第一子块的细化结果可以用于细化块的第二子块。
i.备选地,第一子块的细化结果不能用于细化块的第二子块。
4.在一个示例中,是否将细化过程应用于视频单元和/或如何应用细化过程可以由一个或多个语法元素(例如,标志)控制。
1)例如,是否用信号传输与细化过程Y相关的语法元素可以取决于应用视频单元的编解码技术X的类型。
a)例如,对于特定编解码技术X1编解码的视频单元,是否使用细化过程Y1可以由语法标志指示。
b)备选地,对于另一特定编解码技术X2编解码的视频单元,可以强制应用细化过程Y2,而无需显式信令。
5.在一个示例中,使用细化编解码数据还是原始编解码数据(在被细化之前)来处理当前视频单元和/或后续视频单元,可以取决于将何种编解码技术X应用于视频单元。
1)在一个示例中,视频单元的细化运动可以用于生成运动补偿预测样本。
a)备选地,可以使用没有细化的原始运动来生成视频单元的运动补偿预测样本。
2)在一个示例中,视频单元的细化运动可以用于确定环路滤波器过程中的参数。
a)例如,细化运动可以用于针对视频单元的去块强度确定。
b)备选地,没有细化的原始运动可以用于针对视频单元的去块强度确定。
3)在一个示例中,可以存储第一视频单元的细化编解码数据以用于第二视频单元的编解码信息导出。
a)例如,细化运动矢量可以以MxN(诸如,M=N=4或8或16)子块为基础存储。
i.备选地,细化运动矢量可以以CU为基础存储。
b)例如,可以存储第一视频单元的细化运动矢量以用于第二视频单元的空间运动候选导出。
i.备选地,可以存储第一视频单元的没有细化的原始运动以用于第二视频单元的空间运动候选导出。
c)例如,可以存储第一视频单元的细化运动矢量以用于第二视频单元的时间运动候选导出。
d)例如,可以存储第一视频单元的细化帧内预测模式以用于第二视频单元的帧内MPM列表生成。
6.在一个示例中,是否应用和/或如何应用细化过程可以取决于颜色格式和/或颜色分量。
1)在一个示例中,细化过程被应用于第一颜色分量但不应用于第二颜色分量。
7.在一个示例中,是否应用和/或如何应用细化过程可以取决于块的尺寸W×H。
1)例如,如果W>=T1和/或H>=T2,则可以不应用细化过程。
2)例如,如果W<=T1和/或H<=T2,则可以不应用细化过程。
3)例如,如果W>T1和/或H>T2,则可以不应用细化过程。
4)例如,如果W<T1和/或H<T2,则可以不应用细化过程。
5)例如,如果W×H>=T,则可以不应用细化过程。
6)例如,如果W×H>T,则可以不应用细化过程。
7)例如,如果W×H<=T,则可以不应用细化过程。
8)例如,如果W×H<T,则可以不应用细化过程。
8.是否和/或如何应用细化过程可以取决于应用于当前视频单元的编解码工具。
1)在一个示例中,如果当前视频单元利用多假设预测模式被编解码,则始终禁用细化过程。
2)在一个示例中,如果当前视频单元利用多假设预测模式被编解码,则可以启用细化过程,并且可以应用多遍次细化过程。
a)在一个示例中,假设使用列表X中的两个参考图片和列表Y中的一个参考图片,例如,其中X=0或1,并且Y=1-X。然后对于第一遍次,可以细化与列表X中的两个中的一个相关联的运动矢量以及与列表Y相关联的运动矢量。在第二遍次中,可以细化与列表X中的两个中的另一个相关联的运动矢量以及与列表Y相关联的运动矢量。可以利用细化的运动矢量来生成当前视频单元的最终预测块。
3)在一个示例中,假设使用列表X中的K个参考图片和列表Y中的M个参考图片,例如,其中X=0或1,并且Y=1-X。细化过程可以根据列表X与列表Y中的参考图片中的每个参考图片的运动信息,而被应用(K+M)次。
4)在一个例子中,假设使用列表X中的两个参考图片和列表Y中的一个参考图片,例如,其中X=0或1,并且Y=1-X。列表X中的两个参考块可以首先用于生成虚拟预测块。并且细化过程可以取决于虚拟预测块。
9.在一个示例中,视频单元的多少块(或子块)或多少样本/像素或者视频单元的哪些块/子块将通过细化方法(例如,经由模板匹配或双边匹配)进行处理可以取决于视频单元的尺寸W×H和/或应用于视频单元的编解码工具。
1)在一个示例中,对于尺寸满足某些条件的视频单元,仅视频单元内的周围块/子块(即位于视频单元边界处的那些块/子块)可以被细化。而对于其他情况,至少一个不位于视频单元边界处的块/子块也可以被细化。
2)在一个示例中,对于尺寸满足某些条件的视频单元,位于前N行和/或M列(其中N和M中的至少一个不等于1)的块/子块可以被细化。
3)例如,如果视频单元的尺寸W×H符合如下所列的一个或多个规则,则视频单元中的一些(例如,不是全部)块/子块可以执行细化处理(例如,经由模板匹配或双边匹配)。否则,不允许细化处理。
a)如果W>=T1和/或H>=T2
b)如果W<=T1和/或H<=T2
c)如果W>T1和/或H>T2
d)如果W<T1和/或H<T2
e)如果W×H>=T
f)如果W×H>T
g)如果W×H<=T
h)如果W×H<T
4)此外,备选地,视频单元的哪些块(或子块)或样本/像素将通过细化方法(例如,经由模板匹配或双边匹配)进行处理,
可以取决于视频单元的尺寸W×H。
a)例如,正在被处理的块(或子块)的位置可以基于视频单元的尺寸W×H来确定。
5)在一个示例中,是否将细化过程应用于一个视频单元内的样本/像素/子块/快可以被即时确定。
10.提出了(例如,经由模板匹配的)细化过程可以使用在不同的图片/样本中的重构样本,该重构样本从当前图片/样本中排除从当前图片生成但不与当前视频单元相邻的图片被生成。
1)在一个示例中,(例如,应用于帧间编解码块或用于运动细化的)模板匹配过程可以使用参考图片中的重建(或预测)样本,而从不使用当前图片中的重建(或预测)样本。
2)例如,针对帧间编解码块/运动的细化(例如,经由模板匹配或双边匹配)过程可以不使用当前图片中的重建(或预测)样本。
3)例如,针对帧间编解码块/运动的细化(例如,经由模板匹配或双边匹配)过程可以不使用当前图片中的帧间编解码重建(或预测)样本。
11.在一个示例中,双边匹配可以依赖于来自相同参考图片列表的多个预测块。
1)在一个示例中,可以通过比较来自相同预测方向的N个(例如N>1)参考图片中的M个(例如M>1)预测块来调用该过程。
2)例如,双边匹配可以被用于细化/处理单向预测编解码块的运动。
3)例如,双边匹配可以被用于细化/处理双向预测编解码块的LX(例如L0或L1)运动。
4)例如,双边匹配可以使用来自L0参考列表中的第一参考图片的第一预测块,以及来自L0参考列表中的第二参考图片的第二预测块。
5)例如,双边匹配可以使用来自L1参考列表中的第一参考图片的第一预测块,以及来自L1参考列表中的第二参考图片的第二预测块。
6)在一个示例中,上述方法可以用于利用多假设预测模式编解码的视频单元。
12.在一个示例中,双边匹配可以被用于重新排序运动候选。
1)在一个示例中,是否和/或如何利用双边匹配重新排序运动候选可以取决于编解码模式(例如仿射合并、仿射AMVP、常规合并、常规AMVP、GPM、TPM、MMVD、TM合并、CIIP、GMVD、仿射MMVD)。
2)在一个示例中,双边匹配可以仅被用于重新排序双向运动候选。
a)在一个示例中,对于单向运动候选,它们将根据初始顺序排列在运动候选列表中。
b)在一个示例中,单向运动候选可以被放在双向运动候选的后面。
c)在一个示例中,单向运动候选可以被放在双向运动候选之前。
3)在一个示例中,为了计算双边匹配成本,可以将单向运动候选转换为双向运动候选。
4)在一个示例中,可以根据基于双边匹配的成本值对运动候选进行升序重新排序。
13.在一个示例中,如何应用双边匹配可以取决于当前块的预测方向。
1)例如,是否从相同预测方向的运动补偿预测块执行双边匹配,可以取决于当前块的预测方向。
a)例如,当处理L0预测帧间块时,可以使用L0预测方向上N个(例如N>1)参考图片中的M个(例如M>1)模板的信息将双边匹配应用于该块。
b)例如,当处理L1预测帧间块时,可以使用L1预测方向上N个(例如N>1)参考图片中的M个(例如M>1)模板的信息将双边匹配应用于该块。
c)例如,当处理双向预测帧间块时,可以使用L0参考图片中的第一模板和L1参考图片中的第二模板的信息将双边匹配应用于该块。
2)例如,上述模板可以是运动补偿预测块。
3)例如,上述模板可以是邻近于运动补偿预测块的预测/重构样本。
14.在一个示例中,细化过程可以依赖于编解码信息(例如,GPM编解码信息)。
1)例如,对于利用几何划分模式(例如,GPM)编解码的视频单元,细化过程可以依赖于GPM模式信息(例如,GPM模式索引、GPM划分线角度索引、GPM划分线角度距离索引)。
2)例如,针对GPM编解码视频单元的细化过程可以基于用于几何划分模式的加权样本预测过程的信息。
15.在一个示例中,可以在用于帧间编解码块的模板匹配方法中使用邻近块的预测样本而不是邻近块的重建样本。
16.在一个示例中,邻近块的样本(诸如预测样本或重建样本)是否可以用于帧间编解码块的模板匹配方法可以取决于邻近块的编解码信息。
1)在一个示例中,仅当邻近块被帧间编解码时,邻近块的样本(例如预测样本或重建样本)可以被用于帧间编解码块的模板匹配方法。
2)在一个示例中,仅当邻近块的残差均等于零(例如,邻近块的cbf等于零)时,邻近块的样本(例如预测样本或重建样本)可以被用于帧间编解码块的模板匹配方法。
3)在一个示例中,仅当邻近块的样本未被细化时,邻近块的样本(例如预测样本或重建样本)可以被用于帧间编解码块的模板匹配方法。
a)备选地,可以在用于帧间编解码块的模板匹配方法中使用邻近块的未细化样本(例如预测样本或重建样本)。
17.对于利用多假设预测模式编解码的视频单元(其中针对给定参考图片列表的超过一个预测块被使用),细化过程可以被应用。
1)在一个示例中,上述方法(例如,1至16项)可以被应用。
图17图示了根据本公开的一些实施例的用于视频处理的方法1700的流程图。如图17所示,方法1700包括:在视频的当前视频块与视频的码流之间的转换期间,确定1702被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;以及基于根据至少一个编解码工具而被应用于当前视频单元的细化过程,执行1704转换。
根据方法1700,多个细化过程可以被应用,以细化视频的运动信息。此外,是否应用细化过程或者如何应用细化过程可以取决于对运动数据进行编解码的编解码技术类型和视频处理的要求。因此,基于所提出的解决方案导出的预测更加精确。与传统解决方案相比,根据本公开的一些实施例的方法1700可以有利地提高编解码性能和效率。
在一些实施例中,是否和/或如何应用细化过程可以取决于应用于当前视频单元的编解码工具。
在一些实施例中,如果当前视频单元利用多假设预测模式而被编解码,则禁用细化过程。
在一些实施例中,如果当前视频单元利用多假设预测模式而被编解码,则可以启用细化过程。在这些实施例中,多遍次的细化过程可以被应用。如果第一列表中的两个参考图片和第二列表中的一个参考图片被用于细化过程,则在第一遍次中,与第一列表中的两个参考图片之一和第二列表中的一个参考图片相关联的运动矢量被细化;并且在第二遍次中,与第一列表中的两个参考图片中的另一个和第二列表中的一个参考图片相关联的另一运动矢量被细化。
例如,假设使用列表X中的两个参考图片和列表Y中的一个参考图片,例如,其中X=0或1,并且Y=1-X。然后对于第一遍次,可以细化与列表X中的两个中的一个相关联的运动矢量以及与列表Y相关联的运动矢量。在第二遍次中,可以细化与列表X中的两个中的另一个相关联的运动矢量以及与列表Y相关联的运动矢量。
在一些实施例中,可以利用细化的运动向量来生成当前视频单元的最终预测块。
在一些实施例中,如果第一列表中的第一数目的参考图片和第二列表中的第二数目的参考图片被用于细化过程,则基于第一列表和第二列表中的相应参考图片的运动信息应用细化过程第三数目的次数,第三数目等于第一数目和第二数目之和。例如,假设使用列表X中的K个参考图片和列表Y中的M个参考图片,例如,其中X=0或1,并且Y=1-X。根据列表X和列表Y中的每个参考图片的运动信息,可以应用细化过程(K+M)次。
在一些实施例中,如果将第一列表中的两个参考图片和第二列表中的一个参考图片用于细化过程,则根据利用第一列表中的两个参考块生成的虚拟预测块应用细化过程。例如,假设使用列表X中的两个参考图片和列表Y中的一个参考图片,例如,其中X=0或1,并且Y=1-X。列表X中的两个参考块可以被首先利用以生成虚拟预测块。并且细化过程可以取决于虚拟预测块。
在一些实施例中,细化过程可以依赖于编解码信息,例如,编解码信息可以包括几何划分模式(GPM)编解码信息。
在一些实施例中,编解码信息可以包括几何划分模式(GPM)编解码信息。在这种情况下,当前视频单元是利用GPM编解码的,细化过程依赖于GPM模式信息而被应用。
在一些实施例中,GPM模式信息可以包括GPM模式索引、GPM划分线角度索引或GPM划分线角度距离索引中的至少一项。
在一些实施例中,编解码信息包括针对GPM的加权样本预测过程的信息,在这种情况下,针对GPM编解码视频单元的细化过程基于加权样本预测过程的信息而被应用。
在一些实施例中,细化过程可以包括模板匹配方法,在这种情况下,可以在用于帧间编解码块的模板匹配方法中使用邻近块的预测样本而不是邻近块的重建样本。
在一些实施例中,邻近块的样本,诸如预测样本或重构样本,是否可以被用于针对帧间编解码块的模板匹配方法,可以取决于邻近块的编解码信息。例如,在这些实施例中,仅如果邻近块是帧间编解码的,邻近块的样本,诸如预测样本或重构样本,可以被用于针对帧间编解码块的模板匹配方法中。另一种选择是,仅如果邻近块的残差均等于零(例如,邻近块的代码块标志(cbf)等于零),邻近块的样本,诸如预测样本或重构样本,可以被用于针对帧间编解码块的模板匹配方法。也可以仅如果邻近块的样本未被细化,邻近块的样本(诸如预测样本或重构样本)可以被用于针对帧间编解码块的模板匹配方法。
在一些实施例中,邻近块的未细化样本可以在针对帧间编解码块的模板匹配方法中被使用。未细化样本可以包括预测样本或重建样本。
在一些实施例中,如果当前视频单元利用多假设预测模式而被编解码,则应用细化过程,在多假设预测模式中针对参考图片列表的超过一个的预测块被利用。例如,对于利用多假设预测模式编解码的视频单元(其中针对给定参考图片列表的超过一个的预测块被利用),细化处理可以被应用。
在一些实施例中,要理解的是,参考细化过程的其它技术或方法也可以被用于本公开。
在一些实施例中,在1704处的转换可以包括从视频的码流解码目标图片。
在一些实施例中,在1704处的转换可以包括将目标图片编码到视频的码流中。
本公开的实现方式可以根据以下条款来描述,其特征可以以任何合理的方式组合。
条款1.一种用于视频处理的方法,包括:在视频的当前视频块与视频的码流之间的转换期间,确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;以及基于根据至少一个编解码工具而被应用于当前视频单元的细化过程,执行转换。
条款2.根据条款1的方法,其中执行转换包括如果当前视频单元是利用多假设预测模式编解码的,则禁用细化过程。
条款3.根据条款1的方法,其中执行转换包括如果当前视频单元是利用多假设预测模式编解码的,则启用细化过程。
条款4.根据条款3的方法,其中细化过程的多个遍次利用多个遍次被应用。
条款5.根据条款4所述的方法,其中如果第一列表中的两个参考图片和第二列表中的一个参考图片被用于细化过程,在第一遍次中,与第一列表中的两个参考图片中的一个参考图片以及第二列表中的一个参考图片相关联的运动矢量被细化;并且在第二遍次中,与第一列表中的两个参考图片中的另一参考图片以及第二列表中的一个参考图片相关联的另一运动矢量被细化。
条款6.根据条款5的方法,其中细化的运动矢量和细化的另一运动矢量被用于生成当前视频单元的最终预测块。
条款7.根据条款1的方法,其中执行转换包括如果第一列表中的第一数目的参考图片和第二列表中的第二数目的参考图片被用于细化过程,基于第一列表和第二列表中的相应参考图片的运动信息应用第三数目的次数的细化过程,第三数目等于第一数目和第二数目之和。
条款8.根据条款1的方法,其中执行转换包括如果第一列表中的两个参考图片和第二列表中的一个参考图片被用于细化过程,则根据利用第一列表中的两个参考块而生成的虚拟预测块来应用细化过程。
条款9.根据条款5至8中任一项的方法,其中第一列表是列表X,第二列表是列表Y,X等于0或1并且Y等于1-X。
条款10.根据条款1的方法,其中执行转换包括根据编解码信息应用细化过程。
条款11.根据条款10的方法,其中编解码信息包括几何划分模式(GPM)编解码信息,并且其中如果当前视频单元利用GPM而被编解码,则细化过程根据GPM模式信息而被应用。
条款12.根据条款11的方法,其中GPM模式信息包括以下至少一项:GPM模式索引、GPM划分线角度索引或者GPM划分线角度距离索引。
条款13.根据条款10的方法,其中编解码信息包括用于几何划分模式(GPM)的加权样本预测过程的信息,并且其中针对GPM编解码视频单元的细化过程基于加权样本预测过程的信息而被应用。
条款14.根据条款1的方法,其中所述细化处理包括模板匹配方法,并且其中执行转换包括:在针对帧间编解码块的模板匹配方法中使用邻近块的预测样本。
条款15.根据条款1的方法,其中细化过程包括模板匹配方法,并且其中邻近块的样本是否被允许在针对帧间编解码块的模板匹配方法中使用是基于邻近块的编解码信息来确定的。
条款16.根据条款15的方法,其中邻近块的样本包括预测样本或重建样本中的至少一项。
条款17.根据条款15的方法,其中如果邻近块是帧间编解码的,则邻近块的样本被允许在针对帧间编解码块的模板匹配方法中使用。
条款18.根据条款15的方法,其中如果邻近块的残差均等于零,则邻近块的样本被允许在针对帧间编解码块的模板匹配方法中使用。
条款19.根据条款15的方法,其中如果邻近块的样本未被细化,则邻近块的样本被允许在针对帧间编解码块的模板匹配方法中使用。
条款20.根据条款19的方法,其中邻近块的未被细化的样本在针对帧间编解码块的模板匹配方法中被使用。
条款21.根据条款1的方法,其中执行转换包括:如果当前视频单元利用多假设预测模式而被编解码,则应用细化过程,针对参考图片列表的多于一个的预测块在多假设预测模式中被利用。
条款22.根据条款1至21中任一项的方法,其中转换包括从视频的码流中解码当前视频块。
条款23.根据条款1至21中任一项的方法,其中转换包括将当前视频块编码到视频的码流中。
条款24.一种用于处理视频数据的装置,包括处理器和在其上具有指令的非瞬态存储器,其中指令在由处理器执行时使处理器执行根据条款1至21中的任一项的方法。
条款25.一种非瞬态计算机可读存储介质,存储指令,该指令使处理器执行根据条款1至21中任一项的方法。
条款26.一种非瞬态计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的码流,其中该方法包括:确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;以及基于确定生成码流。
条款27.一种用于存储视频的码流的方法,包括:确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;基于确定生成码流;以及将码流存储在非瞬态计算机可读记录介质中。
示例设备
图18示出了可以在其中实现本公开的各种实施例的计算设备1800的框图。计算设备1800可以被实现为源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300),或者可以被包括在源设备110(或视频编码器114或200)或目的设备120(或视频解码器124或300)中。
应当理解的是,图18中示出的计算设备1800仅为了说明的目的,而不是以任何方式暗示对本公开实施例的功能和范围的任何限制。
如图18所示,计算设备1800包括通用计算设备1800。计算设备1800可以至少包括一个或多个处理器或处理单元1810、存储器1820、存储单元1830、一个或多个通信单元1840、一个或多个输入设备1850以及一个或多个输出设备1860。
在一些实施例中,计算设备1800可以被实现为具有计算能力的任何用户终端或服务器终端。服务器终端可以是由服务提供商提供的服务器、大型计算设备等。用户终端例如可以是任何类型的移动终端、固定终端或便携式终端,包括移动电话、站、单元、设备、多媒体计算机、多媒体平板计算机、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、个人通信***(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或其任何组合,并且包括这些设备的附件和***设备或其任何组合。可以设想的是,计算设备1800可以支持到用户的任何类型的接口(诸如“可穿戴”电路装置等)。
处理单元1810可以是物理处理器或虚拟处理器,并且可以基于存储在存储器1820中的程序实现各种处理。在多处理器***中,多个处理单元并行地执行计算机可执行指令,以便改善计算设备1800的并行处理能力。处理单元1810也可以被称为中央处理单元(CPU)、微处理器、控制器或微控制器。
计算设备1800通常包括各种计算机存储介质。这样的介质可以是由计算设备1800可访问的任何介质,包括但不限于易失性介质和非易失性介质、或可拆卸介质和不可拆卸介质。存储器1820可以是易失性存储器(例如,寄存器、高速缓存、随机存取存储器(RAM))、非易失性存储器(诸如只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或闪存)或其任何组合。存储单元1830可以是任何可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如存储器、闪存驱动器、磁盘或其他可以被用于存储信息和/或数据并且可以在计算设备1800中被访问的介质。
计算设备1800还可以包括附加的可拆卸/不可拆卸存储介质、易失性/非易失性存储介质。尽管在图18中未示出,但是可以提供用于从可拆卸的非易失性磁盘读取和/或写入可拆卸的非易失性磁盘的磁盘驱动器,以及用于从可拆卸的非易失性光盘读取和/或写入可拆卸的非易失性光盘的光盘驱动器。在这种情况下,每个驱动器可以经由一个或多个数据介质接口连接到总线(未示出)。
通信单元1840经由通信介质与另一计算设备通信。另外,计算设备1800中的组件的功能可以由可以经由通信连接进行通信的单个计算集群或多个计算机器来实现。因此,计算设备1800可以使用与一个或多个其他服务器、联网个人计算机(PC)或其他通用网络节点的逻辑连接来在联网环境中运行。
输入设备1850可以是各种输入设备中的一种或多种输入设备,诸如鼠标、键盘、轨迹球、语音输入设备等。输出设备1860可以是各种输出设备中的一种或多种输出设备,诸如显示器、扬声器、打印机等。借助于通信单元1840,计算设备1800还可以与一个或多个外部设备(未示出)通信,外部设备诸如是存储设备和显示设备,计算设备1800还可以与一个或多个使用户能够与计算设备1800交互的设备通信,或任何使计算设备1800能够与一个或多个其他计算设备通信的设备(例如网卡、调制解调器等)通信,如果需要的话。这种通信可以经由输入/输出(I/O)接口(未示出)进行。
在一些实施例中,计算设备1800的一些或所有组件也可以被布置在云计算架构中,而不是被集成在单个设备中。在云计算架构中,组件可以被远程提供并且共同工作,以实现本公开中描述的功能。在一些实施例中,云计算提供计算、软件、数据访问和存储服务,这将不要求最终用户知晓提供这些服务的***或硬件的物理位置或配置。在各种实施例中,云计算使用合适的协议经由广域网(例如互联网)提供服务。例如,云计算提供商通过广域网提供应用程序,可以通过网络浏览器或任何其他计算组件访问这些应用程序。云计算架构的软件或组件以及对应的数据可以存储在远程服务器上。云计算环境中的计算资源可以被合并或分布在远程数据中心的位置。云计算基础设施可以通过共享数据中心提供服务,尽管它们表现为作为用户的单一接入点。因此,云计算架构可与被用于从远程位置的服务提供商处提供本文所述的组件和功能。备选地,它们可以由常规服务器提供,或者直接或以其他方式安装在客户端设备上。
在本公开的实施例中,计算设备1800可以被用于实现视频编码/解码。存储器1820可以包括具有一个或多个程序指令的一个或多个视频编解码模块1825。这些模块能够由处理单元1810访问和执行,以执行本文描述的各种实施例的功能。
在执行视频编码的示例实施例中,输入设备1850可以接收视频数据作为待编码的输入1870。视频数据可以由例如视频编解码模块1825处理,以生成经编码的码流。经编码的码流可以经由输出设备1860作为输出1880被提供。
在执行视频解码的示例实施例中,输入设备1850可以接收经编码的码流作为输入1870。经编码的码流可以由例如视频编解码模块1825处理,以生成经解码的视频数据。经解码的视频数据可以经由输出设备1860作为输出1880被提供。
虽然已经参考本公开的优选实施例具体示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求限定的本申请的精神和范围的情况下,可以在形式和细节上进行各种改变。这些变化旨在由本申请的范围所涵盖。因此,本申请的实施例的前述描述不旨在是限制性的。
Claims (27)
1.一种用于视频处理的方法,包括:
在视频的当前视频块与所述视频的码流之间的转换期间,确定被应用于与所述当前视频块相关联的当前视频单元的至少一个编解码工具;以及
基于根据所述至少一个编解码工具而被应用于所述当前视频单元的细化过程,执行所述转换。
2.根据权利要求1所述的方法,其中执行所述转换包括:
如果所述当前视频单元是利用多假设预测模式编解码的,则禁用所述细化过程。
3.根据权利要求1所述的方法,其中执行所述转换包括:
如果所述当前视频单元是利用多假设预测模式编解码的,则启用所述细化过程。
4.根据权利要求3所述的方法,其中所述细化过程的多个遍次利用多个遍次被应用。
5.根据权利要求4所述的方法,其中如果第一列表中的两个参考图片和第二列表中的一个参考图片被用于所述细化过程,
在第一遍次中,与所述第一列表中的所述两个参考图片中的一个参考图片以及所述第二列表中的所述一个参考图片相关联的运动矢量被细化;并且
在第二遍次中,与所述第一列表中的所述两个参考图片中的另一参考图片以及所述第二列表中的所述一个参考图片相关联的另一运动矢量被细化。
6.根据权利要求5所述的方法,其中细化的所述运动矢量和细化的所述另一运动矢量被用于生成所述当前视频单元的最终预测块。
7.根据权利要求1所述的方法,其中执行所述转换包括:
如果第一列表中的第一数目的参考图片和第二列表中的第二数目的参考图片被用于所述细化过程,基于所述第一列表和所述第二列表中的相应参考图片的运动信息应用第三数目的次数的所述细化过程,所述第三数目等于所述第一数目和所述第二数目之和。
8.根据权利要求1所述的方法,其中执行所述转换包括:
如果第一列表中的两个参考图片和第二列表中的一个参考图片被用于所述细化过程,则根据利用所述第一列表中的所述两个参考块而生成的虚拟预测块来应用所述细化过程。
9.根据权利要求5至8中任一项所述的方法,其中所述第一列表是列表X并且所述第二列表是列表Y,X等于0或1并且Y等于1-X。
10.根据权利要求1所述的方法,其中执行所述转换包括:
根据编解码信息应用所述细化过程。
11.根据权利要求10所述的方法,其中所述编解码信息包括几何划分模式(GPM)编解码信息,并且其中如果所述当前视频单元利用GPM而被编解码,则所述细化过程根据所述GPM模式信息而被应用。
12.根据权利要求11所述的方法,其中所述GPM模式信息包括以下至少一项:
GPM模式索引,
GPM划分线角度索引,或者
GPM划分线角度距离索引。
13.根据权利要求10所述的方法,其中所述编解码信息包括用于几何划分模式(GPM)的加权样本预测过程的信息,并且其中针对所述GPM编解码视频单元的所述细化过程基于所述加权样本预测过程的所述信息而被应用。
14.根据权利要求1所述的方法,其中所述细化过程包括模板匹配方法,并且其中执行所述转换包括:
在针对帧间编解码块的所述模板匹配方法中使用邻近块的预测样本。
15.根据权利要求1所述的方法,其中所述细化过程包括模板匹配方法,并且其中邻近块的样本是否被允许在针对帧间编解码块的模板匹配方法中使用是基于所述邻近块的编解码信息来确定的。
16.根据权利要求15所述的方法,其中所述邻近块的所述样本包括预测样本或重建样本中的至少一项。
17.根据权利要求15所述的方法,其中如果所述邻近块是帧间编解码的,则所述邻近块的所述样本被允许在针对所述帧间编解码块的所述模板匹配方法中使用。
18.根据权利要求15所述的方法,其中如果所述邻近块的残差均等于零,则所述邻近块的所述样本被允许在针对所述帧间编解码块的所述模板匹配方法中使用。
19.根据权利要求15所述的方法,其中如果所述邻近块的所述样本未被细化,则所述邻近块的所述样本被允许在针对所述帧间编解码块的所述模板匹配方法中使用。
20.根据权利要求19所述的方法,其中所述邻近块的未被细化的所述样本在针对所述帧间编解码块的所述模板匹配方法中被使用。
21.根据权利要求1所述的方法,其中执行所述转换包括:
如果所述当前视频单元利用多假设预测模式而被编解码,则应用所述细化过程,针对参考图片列表的多于一个的预测块在所述多假设预测模式中被利用。
22.根据权利要求1至21中任一项所述的方法,其中所述转换包括从所述视频的所述码流中解码所述当前视频块。
23.根据权利要求1至21中任一项所述的方法,其中所述转换包括将所述当前视频块编码到所述视频的所述码流中。
24.一种用于处理视频数据的装置,包括处理器和在其上具有指令的非瞬态存储器,其中所述指令在由所述处理器执行时使所述处理器执行根据权利要求1至21中任一项所述的方法。
25.一种非瞬态计算机可读存储介质,存储指令,所述指令使处理器执行根据权利要求1至21中任一项所述的方法。
26.一种非瞬态计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的码流,其中所述方法包括:
确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;以及
基于所述确定生成所述码流。
27.一种用于存储视频的码流的方法,包括:
确定被应用于与当前视频块相关联的当前视频单元的至少一个编解码工具;
基于所述确定生成所述码流;以及
将所述码流存储在非瞬态计算机可读记录介质中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021090315 | 2021-04-27 | ||
CNPCT/CN2021/090315 | 2021-04-27 | ||
PCT/CN2022/089217 WO2022228420A1 (en) | 2021-04-27 | 2022-04-26 | Method, device, and medium for video processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117337566A true CN117337566A (zh) | 2024-01-02 |
Family
ID=83847769
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280030127.0A Pending CN117337566A (zh) | 2021-04-27 | 2022-04-26 | 用于视频处理的方法、设备和介质 |
CN202280030145.9A Pending CN117203959A (zh) | 2021-04-27 | 2022-04-26 | 用于视频处理的方法、设备和介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280030145.9A Pending CN117203959A (zh) | 2021-04-27 | 2022-04-26 | 用于视频处理的方法、设备和介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240214606A1 (zh) |
CN (2) | CN117337566A (zh) |
WO (2) | WO2022228430A1 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020007261A1 (en) * | 2018-07-02 | 2020-01-09 | Huawei Technologies Co., Ltd. | V refinement of video motion vectors in adjacent video data |
TWI719519B (zh) * | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 對於dmvr的塊尺寸限制 |
TWI753280B (zh) * | 2018-08-04 | 2022-01-21 | 大陸商北京字節跳動網絡技術有限公司 | Bio中的mv精度 |
CN113994668A (zh) * | 2019-02-01 | 2022-01-28 | 北京字节跳动网络技术有限公司 | 基于环路整形的滤波过程 |
CN113424534A (zh) * | 2019-02-01 | 2021-09-21 | 北京字节跳动网络技术有限公司 | 自适应运动矢量分辨率的多个语法元素 |
AU2020214946B2 (en) * | 2019-02-01 | 2023-06-08 | Beijing Bytedance Network Technology Co., Ltd. | Interactions between in-loop reshaping and inter coding tools |
CN114503596B (zh) * | 2019-06-05 | 2023-12-29 | 北京字节跳动网络技术有限公司 | 运动矢量细化和其他编解码工具之间的相互作用 |
CN113994696A (zh) * | 2019-06-15 | 2022-01-28 | 北京字节跳动网络技术有限公司 | 编解码视频中的块尺寸相关的二次变换的使用 |
WO2021052355A1 (en) * | 2019-09-21 | 2021-03-25 | Beijing Bytedance Network Technology Co., Ltd. | High precision transform and quantization for image and video coding |
WO2021061023A1 (en) * | 2019-09-23 | 2021-04-01 | Huawei Technologies Co., Ltd. | Signaling for motion vector refinement |
-
2022
- 2022-04-26 CN CN202280030127.0A patent/CN117337566A/zh active Pending
- 2022-04-26 WO PCT/CN2022/089288 patent/WO2022228430A1/en active Application Filing
- 2022-04-26 CN CN202280030145.9A patent/CN117203959A/zh active Pending
- 2022-04-26 WO PCT/CN2022/089217 patent/WO2022228420A1/en active Application Filing
- 2022-04-26 US US18/288,167 patent/US20240214606A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022228430A1 (en) | 2022-11-03 |
WO2022228420A1 (en) | 2022-11-03 |
US20240214606A1 (en) | 2024-06-27 |
CN117203959A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240259591A1 (en) | Method, device, and medium for video processing | |
CN117529920A (zh) | 用于视频处理的方法、设备和介质 | |
CN117529919A (zh) | 用于视频处理的方法、设备和介质 | |
CN117501689A (zh) | 视频处理的方法、设备和介质 | |
CN117426095A (zh) | 用于视频处理的方法、设备和介质 | |
CN117616756A (zh) | 用于视频处理的方法、设备和介质 | |
WO2022222988A1 (en) | Method, device, and medium for video processing | |
CN118451715A (zh) | 用于视频处理的方法、设备和介质 | |
CN117337564A (zh) | 用于视频处理的方法、装置和介质 | |
CN117337566A (zh) | 用于视频处理的方法、设备和介质 | |
WO2022214088A1 (en) | Method, device, and medium for video processing | |
WO2022214092A1 (en) | Method, device, and medium for video processing | |
CN117581539A (zh) | Gpm运动细化 | |
CN117678220A (zh) | 用于视频处理的方法、装置和介质 | |
CN117426096A (zh) | 用于视频处理的方法、设备和介质 | |
CN117321995A (zh) | 用于视频处理的方法、设备和介质 | |
CN118285098A (zh) | 用于视频处理的方法、装置和介质 | |
CN117321992A (zh) | 自适应运动候选列表 | |
CN117597921A (zh) | 用于视频处理的方法、装置和介质 | |
CN117795960A (zh) | 用于视频处理的方法、装置和介质 | |
CN117529913A (zh) | 视频处理的方法、设备和介质 | |
KR20240121271A (ko) | 비디오 처리 방법, 장치 및 매체 | |
CN118402236A (zh) | 用于视频处理的方法、装置和介质 | |
CN117581538A (zh) | 视频处理的方法、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |