CN113170183A - 用于具有几何分割的帧间预测的修剪方法 - Google Patents
用于具有几何分割的帧间预测的修剪方法 Download PDFInfo
- Publication number
- CN113170183A CN113170183A CN201980076711.8A CN201980076711A CN113170183A CN 113170183 A CN113170183 A CN 113170183A CN 201980076711 A CN201980076711 A CN 201980076711A CN 113170183 A CN113170183 A CN 113170183A
- Authority
- CN
- China
- Prior art keywords
- candidates
- motion
- candidate
- list
- block
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 504
- 238000000638 solvent extraction Methods 0.000 title claims abstract description 53
- 238000013138 pruning Methods 0.000 title description 95
- 230000033001 locomotion Effects 0.000 claims abstract description 914
- 238000012545 processing Methods 0.000 claims abstract description 122
- 238000006243 chemical reaction Methods 0.000 claims abstract description 54
- 230000007704 transition Effects 0.000 claims abstract description 38
- 238000005192 partition Methods 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 63
- 238000009795 derivation Methods 0.000 claims description 30
- 230000009466 transformation Effects 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 abstract description 5
- 239000013598 vector Substances 0.000 description 238
- 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 135
- 230000002123 temporal effect Effects 0.000 description 47
- 238000003780 insertion Methods 0.000 description 25
- 230000037431 insertion Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 16
- 230000002457 bidirectional effect Effects 0.000 description 15
- 238000010276 construction Methods 0.000 description 14
- 230000011664 signaling Effects 0.000 description 12
- 241000023320 Luma <angiosperm> Species 0.000 description 11
- 238000004590 computer program Methods 0.000 description 11
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 11
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 9
- 238000012935 Averaging Methods 0.000 description 8
- 241000723655 Cowpea mosaic virus Species 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 4
- 125000000205 L-threonino group Chemical group [H]OC(=O)[C@@]([H])(N([H])[*])[C@](C([H])([H])[H])([H])O[H] 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
描述了用于数字视频编解码的设备、系统和方法,其包括使用默认运动候选用于视频编解码。一种用于视频处理的示例性方法包括,对于使用几何分割模式的在视频的当前块和视频的比特流表示之间的转换,基于当前块的编解码条件来确定是否对运动候选应用冗余检查。运动候选是从几何分割模式的一个或多个常规Merge候选推导的。该方法还包括基于该确定执行该转换。
Description
相关申请的交叉引用
根据适用的专利法和/或巴黎公约的规则,本申请旨在及时要求2018年11月22日提交的国际专利申请No.PCT/CN2018/116886、2018年12月28日提交的国际专利申请No.PCT/CN2018/124639、2019年2月22日提交的国际专利申请No.PCT/CN2019/075856以及2019年3月21日提交的国际专利申请No.PCT/CN2019/079061的优先权和利益。出于美国法律的所有目的,上述申请的全部公开内容通过引用而并入作为本申请的公开内容的一部分。
技术领域
本专利文档涉及视频编解码和解码技术、设备和系统。
背景技术
尽管视频压缩技术有所进步,但数字视频仍然占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的联网用户设备数量的增加,预期对数字视频使用的带宽需求将继续增长。
发明内容
描述了与数字视频编解码相关,并且具体地,与用于视频编解码的默认运动候选相关的设备、系统和方法。所描述的方法可以被应用于现有的视频编解码标准(例如,高效视频编解码(High Efficiency Video Coding,HEVC))和未来的视频编解码标准或视频编解码器。
在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,确定6参数仿射Merge候选是要被添加到运动候选列表的默认运动候选。响应于运动候选列表中的候选数量小于允许的最大值,默认运动候选被添加到运动候选列表。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,确定要被添加到运动候选列表的第一默认运动候选的参考图片索引K,K是非负整数。响应于运动候选列表中的候选数量小于允许的最大值,第一默认运动候选被添加到运动候选列表。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,基于当前块的可用运动候选来确定要被添加到运动候选列表的默认运动候选的仿射模型类型。响应于运动候选列表中的候选数量小于允许的最大值,默认运动候选被添加到运动候选列表。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,确定几何预测模式候选列表的默认运动候选。三角形预测模式将当前视频块分割为多个分区。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,使用通过对当前块的运动候选列表中的一对候选进行平均而获得的一个或多个成对平均候选来确定几何分割模式的一个或多个运动候选。几何分割模式包括将当前块分割为多个分区。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,基于第一时域块集合和第二时域块集合来确定几何分割模式的运动候选。第一时域块集合包括与当前块并置的右下方时域块和中心时域块,并且第二集合不同于第一集合。几何分割模式包括将当前块分割为多个分区。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,基于运动候选是否与当前块所在的当前图片中的第一参考图片相关联来确定运动候选是否被排除在候选列表之外。当前块是用不指向当前图片的第二参考图片而编解码的。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,基于在视频的先前处理的块中使用的插入顺序来确定双向预测Merge候选的参考图片列表0信息和参考图片列表1信息的插入顺序。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,基于常规Merge列表的尺寸来确定几何分割模式的一个或多个运动候选。几何分割模式包括将当前块分割为多个分区。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的块和视频的比特流表示之间的转换,确定用于沿着块的两个分区的边缘的预测样点的加权平均的权重。两个分区是根据几何分割模式而生成的。权重是从权重中的至少一个等于0或1的第一加权因子组选择的。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的块和视频的比特流表示之间的转换,确定用于沿着块的两个分区的边缘的预测样点的加权平均的权重。两个分区是根据几何分割模式而生成的。权重是基于块的特性从至少两个加权因子组中的第一加权因子组选择的。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于使用几何分割模式的在视频的当前块和视频的比特流表示之间的转换,基于当前块的编解码条件来确定是否对运动候选应用冗余检查。运动候选是从几何分割模式的一个或多个常规Merge候选推导的。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的当前块和视频的比特流表示之间的转换,基于包括当前块的条带是否是B条带来确定几何分割模式是否被启用。几何分割模式包括将当前块分割为多个分区。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的块和视频的比特流表示之间的转换,将过去运动候选表中的至少一个过去运动候选插入到运动候选列表。过去运动候选表是基于过去的转换而推导的。该方法包括在插入了至少一个过去运动候选之后,确定运动候选不被添加到运动候选列表。运动候选是基于过去运动候选表而推导的。该方法还包括基于运动候选列表来执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,基于运动候选来执行视频的块和视频的比特流表示之间的转换,以及基于转换的编解码条件来确定基于过去的转换而推导的过去运动候选表是否要被更新。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的块和视频的比特流表示之间的转换,将一个或多个运动候选插入到候选列表,直到候选列表满为止。一个或多个运动候选是根据基于过去的转换而推导的过去运动候选表而确定的。该方法还包括基于候选列表来执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,对于视频的块和视频的比特流表示之间的转换,基于用于帧间编解码块的常规Merge列表的尺寸来确定帧内块复制(IBC)候选列表。IBC表示其中基于块的相同图片中的先前编解码的样点来重构块的技术。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括执行视频的块和视频的比特流表示之间的转换。该块是以帧内块复制(IBC)模式而编解码的,并且比特流表示包括指示该块的IBC候选列表的尺寸的指示符。指示符总是小于或等于P,P是正整数。IBC表示其中基于块的相同图片中的先前编解码的样点来重构块的技术。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括执行视频的块和视频的比特流表示之间的转换。该块是以帧内块复制(IBC)模式而编解码的,并且比特流表示包括指示该块的IBC候选列表的尺寸的指示符。指示符总是大于或等于Q,Q是非负整数。IBC表示其中基于块的相同图片中的先前编解码的样点来重构块的技术。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括执行视频的块和块的比特流表示之间的转换。该块是以帧内块复制(IBC)模式而编解码的,并且比特流表示包括指示IBC候选列表的尺寸的指示符。指示符包括IBC候选列表的尺寸和整数值K之间的差。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频的块和视频的比特流表示之间的转换,根据帧内块复制(IBC)模式是否被启用来确定是否重置基于过去的转换而推导的运动候选表。IBC表示其中基于相同图片中的先前编解码的样点来重构块的技术。该方法还包括基于该确定执行该转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,将Merge候选识别为默认运动候选,基于该识别将Merge候选添加到Merge候选列表,以及基于Merge候选列表来重构当前视频块。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,从当前视频块的常规运动候选推导三角形预测模式(TPM)候选,选择性地将TPM候选添加到TPM候选列表,以及基于TPM候选列表来重构当前视频块。
在又一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,在确定当前视频块是TPM编解码块时,选择加权因子组,以及基于加权因子组来重构当前视频块。
在又一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,通过选择性地修剪从多个常规Merge候选推导的一个或多个TPM候选来生成修剪的TPM候选,以及基于修剪的TPM候选来重构当前视频块。
在又一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,基于插入顺序将来自第一列表的第一多个运动候选和来自第二列表的第二多个运动候选插入到候选列表中,其中,插入顺序基于第三多个运动候选到候选列表中的先前插入顺序,以及基于候选列表来重构当前视频块。
在又一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括,确定与当前视频块相关联的序列参数集(SPS)中的条带类型和TPM标志的值,以及基于条带类型和该值来重构当前视频块。
在另一代表性方面,公开了一种视频处理的方法。该方法包括,在当前视频块和当前视频块的比特流表示之间的转换期间,基于常规Merge候选列表的尺寸来控制帧内编解码模式的Merge候选列表的生成;以及使用帧内编解码模式的Merge候选列表来执行该转换。
在另一示例方面,公开了另一种视频处理的方法。该方法包括,对于用于当前视频块和当前视频块的比特流表示之间的转换的基于历史的运动矢量预测值(HMVP)表,在其中启用了帧内编解码模式的视频区域的边界处执行重置操作,其中,当前视频块是视频区域的一部分;以及
使用HMVP表执行该转换。
在又一代表性方面,以上方法以处理器可执行代码的形式而体现,并存储在计算机可读程序介质中。
在又一代表性方面,公开了一种被配置或可操作来执行上述方法的设备。该设备可以包括被编程来实施该方法的处理器。
在又一代表性方面,视频解码器装置可以实施本文描述的方法。
在附图、说明书和权利要求书中更详细地描述了所公开技术的以上以及其他方面和特征。
附图说明
图1示出了构建Merge候选列表的示例。
图2示出了空域候选的位置的示例。
图3示出了对其进行空域Merge候选的冗余检查的候选对(candidate pair)的示例。
图4A和图4B示出了基于当前块的尺寸和形状的第二预测单元(Prediction Unit,PU)的位置的示例。
图5示出了用于时域Merge候选的运动矢量缩放的示例。
图6示出了时域Merge候选的候选位置的示例。
图7示出了生成组合双向预测Merge候选的示例。
图8示出了构建运动矢量预测候选的示例。
图9示出了用于空域运动矢量候选的运动矢量缩放的示例。
图10示出了使用用于编解码单元(Coding Unit,CU)的可选时域运动矢量预测(Alternative Temporal Motion Vector Prediction,ATMVP)算法的运动预测的示例。
图11示出了由空时运动矢量预测(Spatial-Temporal Motion VectorPrediction,STMVP)算法使用的具有子块的编解码单元(CU)和临近块的示例。
图12示出了用于以不同MV(Motion Vector,运动矢量)精度进行编码的示例流程图。
图13A和图13B示出了将编解码单元(CU)划分为两个三角形预测单元(PU)的示例。
图14示出了临近块的位置的示例。
图15示出了应用第一加权因子组的CU的示例。
图16示出了运动矢量存储的示例。
图17示出了用于三角形预测模式(TPM)标志编解码中的上下文选择的临近块的示例。
图18A和图18B分别示出了简化的4参数仿射模型和简化的6参数仿射模型的示例。
图19示出了每个子块的仿射运动矢量场(Motion Vector Field,MVF)的示例。
图20A和图20B分别示出了4参数仿射模型和6参数仿射模型的示例。
图21示出了继承仿射候选的AF_INTER的运动矢量预测的示例。
图22示出了构建的仿射候选的AF_INTER的运动矢量预测的示例。
图23A和图23B示出了AF_MERGE仿射运动模式的示例候选。
图24示出了仿射Merge模式的候选位置的示例。
图25示出了帧内图片块复制的示例。
图26示出了并置图片中的有效对应区域的示例。
图27示出了基于历史的运动矢量预测(History-based Motion VectorPrediction,HMVP)候选的编解码流程的示例。
图28示出了修改的Merge列表构建过程的示例。
图29示出了用于视频处理的示例方法的流程图。
图30示出了用于视频处理的另一示例方法的流程图。
图31示出了用于视频处理的又一示例方法的流程图。
图32示出了用于视频处理的又一示例方法的流程图。
图33示出了用于视频处理的又一示例方法的流程图。
图34示出了用于视频处理的又一示例方法的流程图。
图35是用于实施本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。
图36是可以在其中实施所公开技术的示例视频处理系统的框图。
图37是根据本公开的一种用于视频处理的方法的流程图表示。
图38是根据本公开的另一种用于视频处理的方法的流程图表示。
图39是根据本公开的另一种用于视频处理的方法的流程图表示。
图40是根据本公开的另一种用于视频处理的方法的流程图表示。
图41是根据本公开的另一种用于视频处理的方法的流程图表示。
图42是根据本公开的另一种用于视频处理的方法的流程图表示。
图43是根据本公开的另一种用于视频处理的方法的流程图表示。
图44是根据本公开的另一种用于视频处理的方法的流程图表示。
图45是根据本公开的另一种用于视频处理的方法的流程图表示。
图46是根据本公开的另一种用于视频处理的方法的流程图表示。
图47是根据本公开的另一种用于视频处理的方法的流程图表示。
图48是根据本公开的另一种用于视频处理的方法的流程图表示。
图49是根据本公开的另一种用于视频处理的方法的流程图表示。
图50是根据本公开的另一种用于视频处理的方法的流程图表示。
图51是根据本公开的另一种用于视频处理的方法的流程图表示。
图52是根据本公开的另一种用于视频处理的方法的流程图表示。
图53是根据本公开的另一种用于视频处理的方法的流程图表示。
图54是根据本公开的另一种用于视频处理的方法的流程图表示。
图55是根据本公开的另一种用于视频处理的方法的流程图表示。
图56是根据本公开的另一种用于视频处理的方法的流程图表示。
图57是根据本公开的又一种用于视频处理的方法的流程图表示。
具体实施方式
由于对高分辨率视频的需求日益增长,视频编解码方法和技术普遍存在于现代技术中。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且正在不断改进以提供更高的编解码效率。视频编解码器将未压缩视频转换成压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、易于编辑、随机存取和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编解码(HEVC)标准(也称为H.265或MPEG-H第2部分)、将要定案的多功能视频编解码(Versatile Video Coding,VVC)标准或其他当前和/或未来的视频编解码标准。
所公开的技术的实施例可以应用于现有的视频编解码标准(例如,HEVC、H.265)和未来的标准,以提高压缩性能。在本文档中使用章节标题来提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实施方式)仅限制于各个章节。
1.HEVC/H.265帧间预测的示例
这些年来,视频编解码标准有了显著提高,现在部分提供了高编解码效率和对更高分辨率的支持。诸如HEVC和H.265的最近标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。
1.1预测模式的示例
每个帧间PU(预测单元)具有一个或两个参考图片列表的运动参数。在一些实施例中,运动参数包括运动矢量和参考图片索引。在其他实施例中,两个参考图片列表之一的使用也可以使用inter_pred_idc信令通知。在又一些实施例中,运动矢量可以被显式地编解码为相对于预测值的增量。
当以跳过模式对CU进行编解码时,一个PU与CU相关联,并且没有显著的残差系数,没有编解码的运动矢量增量或参考图片索引。指定了Merge模式,由此从临近PU获得当前PU的运动参数,包括空域和时域候选。Merge模式不仅应用于跳过模式,还可应用于任何帧间预测PU。Merge模式的可选方案是运动参数的显式地传输,其中运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表的使用按每个PU显式地信令通知。
当信令指示要使用两个参考图片列表之一时,从一个样点块中产生PU。这被称为“单向预测”。单向预测可用于P条带和B条带。
当信令指示要使用两个参考图片列表两者时,从两个样点块中产生PU。这被称为“双向预测”。双向预测仅可用于B条带。
参考图片列表
在HEVC中,术语帧间预测(inter prediction)用于表示从除当前解码图片之外的参考图片的数据元素(例如,样点值或运动矢量)推导的预测。像在H.264/AVC中一样,可以从多个参考图片中预测图片。用于帧间预测的参考图片被组织在一个或多个参考图片列表中。参考图片索引识别列表中的哪个参考图片应该用于创建预测信号。
单个参考图片列表(列表0)用于P条带,两个参考图片列表(列表0和列表1)用于B条带。应该注意,就捕获/显示顺序而言,列表0/1中包括的参考图片可以来自过去和未来的图片。
1.1.1构建Merge模式的候选的实施例
当使用Merge模式预测PU时,从比特流中解析指向Merge候选列表中的条目的索引并将其用于检索运动信息。该列表的构建可以根据以下一系列步骤进行概述:
·步骤1:初始候选推导
o步骤1.1:空域候选推导
o步骤1.2:空域候选的冗余检查
o步骤1.3:时域候选推导
·步骤2:附加候选插入
o步骤2.1:创建双向预测候选
o步骤2.2:插入零运动候选
图1示出了基于上述一系列步骤来构建Merge候选列表的示例。对于空域Merge候选推导,在位于五个不同位置的候选当中选择最多四个Merge候选。对于时域Merge候选推导,在两个候选当中选择最多一个Merge候选。由于在解码器处假设每个PU的恒定数量的候选,因此当候选的数量未达到在条带头中信令通知的Merge候选的最大数量(MaxNumMergeCand)时,生成附加候选。由于候选的数量是恒定的,因此使用截断一元二值化(Truncated Unary binarization,TU)对最佳Merge候选的索引进行编码。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,其与2N×2N预测单元的Merge候选列表相同。
1.1.2构建空域Merge候选
在空域Merge候选的推导中,在位于图2中描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带或片)或者是帧内编解码的时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而提高编解码效率。
为了降低计算复杂度,在所提到的冗余检查中不考虑所有可能的候选对。相反,只考虑与图3中的箭头链接的对,并且如果用于冗余检查的对应候选没有相同的运动信息,则候选仅被添加到列表中。重复运动信息的另一源是与不同于2N×2N的分割相关联的“第二PU”。作为示例,图4A和图4B分别描绘了N×2N和2N×N的情况下的第二PU。当当前PU被分割为N×2N时,位置A1处的候选不被考虑用于列表构建。在一些实施例中,添加该候选可以导致两个预测单元具有相同的运动信息,这对于在编解码单元中只具有一个PU是冗余的。类似地,当当前PU被分割为2N×N时,不考虑位置B1。
1.1.3构建时域Merge候选
在该步骤中,仅一个候选被添加到列表。具体地,在该时域Merge候选的推导中,基于属于与给定参考图片列表内的当前图片具有最小POC(Picture Order Count,图片顺序计数)差的图片的并置(co-located)PU来推导缩放运动矢量。在条带头中显式地信令通知要用于推导并置PU的参考图片列表。
图5示出了用于时域Merge候选的缩放运动矢量(如虚线)的推导的示例,该缩放运动矢量是使用POC距离tb和td从并置PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,并且td被定义为并置图片的参考图片与并置图片之间的POC差。时域Merge候选的参考图片索引被设置为等于零。对于B条带,两个运动矢量(一个用于参考图片列表0,并且另一个用于参考图片列表1)被获得并组合,以生成双向预测Merge候选。
在属于参考帧的并置PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图6所描绘的。如果位置C0处的PU不可用、是帧内编解码的、或者在当前CTU(Coding Tree Unit)的外部,则使用位置C1。否则,在时域Merge候选的推导中使用位置C0。
1.1.4构建附加类型的Merge候选
除了空时Merge候选之外,还存在两种附加类型的Merge候选:组合双向预测Merge候选和零Merge候选。通过利用空时Merge候选来生成组合双向预测Merge候选。组合双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一初始候选的第二参考图片列表运动参数组合来生成组合双向预测候选。如果这两个元组提供不同的运动假设,则它们将形成新的双向预测候选。
图7示出了该过程的示例,其中,原始列表(710,在左边)中的两个候选(其具有mvL0和refIdxL0或mvL1和refIdxL1)用于创建被添加到最终列表(720,在右边)的组合双向预测Merge候选。
插入零运动候选以填充Merge候选列表中的剩余条目,并因此达到MaxNumMergeCand容量。这些候选具有零空域位移和参考图片索引,该索引从零开始并且每次向列表中添加新的零运动候选时增加。这些候选使用的参考帧的数量对于单向预测和双向预测分别是1和2。在一些实施例中,不对这些候选执行冗余检查。
在一些实施例中,按顺序执行以下步骤,直到Merge列表满为止:
(1)将变量numRef设置为与用于P条带的列表0相关联的参考图片的数量,或者用于B条带的两个列表中的参考图片的最小数量;
(2)添加不重复的零运动候选:
对于变量i为0…numRef-1,对列表0(如果是P条带的话)或者对两个列表(如果是B条带的话)添加MV设置为(0,0)的和参考图片索引设置为i的默认运动候选。
(3)添加重复的零运动候选,其中MV设置为(0,0),列表0的参考图片索引设置为0(如果是P条带的话),并且两个列表的参考图片索引设置为0(如果是B条带的话)。
1.2高级运动矢量预测(AMVP)的实施例
AMVP利用运动矢量与临近PU的空时相关性,该空时相关性用于运动参数的显式传输。通过首先检查左边、上边的时域临近的PU位置的可用性、移除冗余候选并添加零矢量以使候选列表为恒定长度,来构建运动矢量候选列表。然后,编码器可以从候选列表中选择最佳预测值,并发送指示所选候选的对应索引。与Merge索引信令类似,使用截断一元对最佳运动矢量候选的索引进行编码。在这种情况下,要编码的最大值是2(见图8)。在接下来的章节中,将提供关于运动矢量预测候选的推导过程的细节。
1.2.1推导AMVP候选的示例
图8概述了运动矢量预测候选的推导过程,并且可以用refidx作为输入针对每个参考图片列表来实施。
在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。对于空域运动矢量候选推导,最终基于位于如先前图2所示的五个不同位置的每个PU的运动矢量来推导两个运动矢量候选。
对于时域运动矢量候选推导,从基于两个不同并置位置而推导的两个候选中选择一个运动矢量候选。在产生第一空时候选列表之后,移除列表中的重复运动矢量候选。如果潜在候选的数量大于二,则从列表中移除相关联的参考图片列表内其参考图片索引大于1的运动矢量候选。如果空时运动矢量候选的数量小于二,则将附加的零运动矢量候选添加到列表。
1.2.2构建空域运动矢量候选
在空域运动矢量候选的推导中,在从位于如先前图2所示的位置的PU推导的五个潜在候选当中考虑最多两个候选,那些位置与运动Merge的位置相同。当前PU的左侧的推导顺序被定义为A0、A1、以及缩放A0、缩放A1。当前PU的上侧的推导顺序被定义为B0、B1、B2、缩放B0、缩放B1、缩放B2。因此对于每一侧,存在可以用作运动矢量候选的四种情况,其中两种情况不需要使用空域缩放,两种情况使用空域缩放。四种不同的情况概述如下:
·没有空域缩放
(1)相同的参考图片列表,以及相同的参考图片索引(相同的POC)
(2)不同的参考图片列表,但是相同的参考图片(相同的POC)
·空域缩放
(3)相同的参考图片列表,但是不同的参考图片(不同的POC)
(4)不同的参考图片列表,以及不同的参考图片(不同的POC)
首先检查非空域缩放情况,然后是允许空域缩放的情况。当不管参考图片列表如何POC在临近PU的参考图片与当前PU的参考图片之间都不同时,考虑空域缩放。如果左边候选的所有PU都不可用或者都是帧内编解码的,则允许针对上边运动矢量的缩放以帮助对左边和上边MV候选的并行推导。否则,针对上边运动矢量不允许空域缩放。
如图9中的示例所示,对于空域缩放的情况,以与时域缩放类似的方式来缩放临近PU的运动矢量。一个差异在于参考图片列表和当前PU的索引被给定作为输入;实际缩放过程与时域缩放的过程相同。
1.2.3构建时域运动矢量候选
除了参考图片索引推导之外,用于推导时域Merge候选的所有过程与用于推导空域运动矢量候选的过程相同(如图6中的示例所示)。在一些实施例中,参考图片索引被信令通知给解码器。
2.联合探索模型(JEM)中的帧间预测方法的示例
在一些实施例中,使用称为联合探索模型(Joint Exploration Model,JEM)的参考软件来探索未来的视频编解码技术。在JEM中,基于子块的预测被采用在几个编解码工具中,诸如仿射预测、可选时域运动矢量预测(ATMVP)、空时运动矢量预测(STMVP)、双向光流(Bi-directional Optical flow,BIO)、帧速率上转换(FRUC)、局部自适应运动矢量分辨率(Locally Adaptive Motion Vector Resolution,LAMVR)、重叠块运动补偿(OBMC)、局部照明补偿(LIC)和解码器侧运动矢量细化(DMVR)。
2.1基于子CU的运动矢量预测示例
在具有四叉树加二叉树(quadtrees plus binary trees,QTBT)的JEM中,每个CU对于每个预测方向最多可以有一个运动参数集。在一些实施例中,通过将大CU划分为子CU并且推导大CU的所有子CU的运动信息,在编码器中考虑两个子CU级别运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从比并置参考图片中的当前CU小的多个块中提取运动信息的多个集合。在空时运动矢量预测(Spatial-Temporal Motion VectorPrediction,STMVP)方法中,通过使用时域运动矢量预测量和空域临近运动矢量来递归地推导子CU的运动矢量。在一些实施例中,并且为了保持对于子CU运动预测的更准确的运动场,可以禁用参考帧的运动压缩。
2.1.1可选时域运动矢量预测(ATMVP)的示例
在ATMVP方法中,通过从比当前CU小的块提取多个运动信息(包括运动矢量和参考索引)集来修改时域运动矢量预测(Temporal Motion Vector Prediction,TMVP)方法。
图10示出了对于CU 1000的ATMVP运动预测过程的示例。ATMVP方法分两个步骤来预测CU 1000内的子CU 1001的运动矢量。第一步骤是用时域矢量来识别参考图片1050中的对应块1051。参考图片1050也称为运动源图片。第二步骤是将当前CU 1000划分为子CU1001,并从与每个子CU相对应的块中获得运动矢量以及每个子CU的参考索引。
在第一步骤中,参考图片1050和对应块由当前CU 1000的空域临近块的运动信息确定。为了避免临近块的反复的扫描过程,使用当前CU 1000的Merge候选列表中的第一Merge候选。第一可用运动矢量以及其相关联的参考图片索引被设置为时域矢量和运动源图片的索引。这样,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为并置块)总是相对于当前CU处于右下或中心位置。
在第二步骤中,通过向当前CU的坐标添加时域矢量,通过运动源图片1050中的时域矢量来识别子CU 1051的对应块。对于每个子CU,其对应块的运动信息(例如,覆盖中心样点的最小运动网格)用于推导子CU的运动信息。在识别对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换成当前子CU的运动矢量和参考索引,其中运动缩放和其它过程适用。例如,解码器检查是否满足低延迟条件(例如,当前图片的所有参考图片的POC小于当前图片的POC),并且可能使用运动矢量MVx(例如,与参考图片列表X相对应的运动矢量)来预测每个子CU的运动矢量MVy(例如,其中X等于0或1,并且Y等于1-X)。
2.1.2空时运动矢量预测(STMVP)的示例
在STMVP方法中,按照光栅扫描顺序递归地推导子CU的运动矢量。图11示出了具有4个子块的一个CU和临近块。考虑8×8的CU 1100,它包括4个4×4的子CU:A(1101)、B(1102)、C(1103)和D(1104)。当前帧中的临近的4×4块被标记为a(1111)、b(1112)、c(1113)和d(1114)。
子CU A的运动推导通过识别其两个空域邻居(neighbour)开始。第一邻居是子CUA 1101上边的N×N块(块c 1113)。如果这个块c 1113不可用或是帧内编解码的,则检查子CU A 1101上边的其它N×N块(从左到右,从块c 1113开始)。第二邻居是子CU A 1101左边的块(块b 1112)。如果块b 1112不可用或是帧内编解码的,则检查子CU A 1101左边的其它块(从上到下,从块b 1112开始)。从每个列表的临近块中获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过遵循如HEVC规定的TMVP推导的相同过程来推导子块A 1101的时域运动矢量预测量(TMVP)。在块D 1104处的并置块的运动信息被相应地提取和缩放。最后,在检索和缩放运动信息之后,对每个参考列表单独地平均所有可用的运动矢量。平均运动矢量被分配为当前子CU的运动矢量。
2.1.3子CU运动预测模式信令的示例
在一些实施例中,子CU模式被启用作为附加Merge候选,并且不需要附加语法元素来信令通知这些模式。两个附加Merge候选被添加到每个CU的Merge候选列表以表示ATMVP模式和STMVP模式。在其他实施例中,如果序列参数集指示启用了ATMVP和STMVP,则可以使用多达七个Merge候选。附加Merge候选的编码逻辑与HM中的Merge候选的编码逻辑相同,这意味着,对于P条带或B条带中的每个CU,针对两个附加Merge候选可能可能还需要两次RD(Rate Distortion,率失真)检查。在一些实施例中,例如,JEM,Merge索引的所有二进制值都通过CABAC(Context-based Adaptive Binary Arithmetic Coding,基于上下文的自适应二进制算术编解码)进行上下文编解码。在其他实施例中,例如,HEVC,只有第一二进制值是上下文编解码的,其余二进制值是上下文旁路编解码的。
2.2VVC中的帧间预测方法的示例
有几种新的用于帧间预测改进的编解码工具,诸如用于信令通知MVD的自适应运动矢量差分辨率(Adaptive Motion Vector difference Resolution,AMVR)、仿射预测模式、三角形预测模式(TPM)、ATMVP、广义双向预测(Generalized Bi-Prediction,GBI)、双向光流(BIO)。
2.2.1自适应运动矢量差分辨率的示例
在一些实施例中,当在条带头中的use_integer_mv_flag等于0时,以四分之一(quarter)亮度样点为单位信令通知(PU的运动矢量和预测运动矢量之间的)运动矢量差(Motion Vector Difference,MVD)。在JEM中,引入了局部自适应运动矢量分辨率(LAMVR)。在JEM中,可以以四分之一亮度样点、整数亮度样点或四亮度样点为单位对MVD进行编解码。以编解码单元(CU)级别控制MVD分辨率,并且对于具有至少一个非零MVD分量的每个CU,有条件地信令通知MVD分辨率标志。
对于具有至少一个非零MVD分量的CU,信令通知第一标志以指示在CU中是否使用四分之一亮度样点MV精确度。当第一标志(等于1)指示未使用四分之一亮度样点MV精确度时,信令通知另一个标志以指示使用整数亮度样点MV精确度还是四亮度样点MV精确度。
当CU的第一MVD分辨率标志为零或未针对CU进行编解码(意味着CU中的所有MVD均为零)时,四分之一亮度样点MV分辨率用于CU。当CU使用整数亮度样点MV精度或四亮度样点MV精度时,CU的AMVP候选列表中的MVP被取整到对应精度。
在编码器中,CU级别的RD检查用于确定哪个MVD分辨率要用于CU。也就是说,对于每个MVD分辨率,执行三次CU级别的RD检查。为了加快编码器速度,在JEM中应用以下编码方案:
--在具有正常四分之一亮度样点MVD分辨率的CU的RD检查期间,存储当前CU(整数亮度样点准度)的运动信息。存储的运动信息(取整之后)被用作在针对具有整数亮度样点和4亮度样点MVD分辨率的相同CU的RD检查期间的进一步的小范围运动矢量细化的起点,使得耗时的运动估计过程不会重复三次。
--有条件地调用具有4亮度样点MVD分辨率的CU的RD检查。对于CU,当整数亮度样点MVD分辨率的RD成本远大于四分之一亮度样点MVD分辨率的RD成本时,跳过对于CU的4亮度样点MVD分辨率的RD检查。
编码过程如图12所示。首先,测试1/4像素MV,计算RD成本并表示为RDCost0,然后测试整数MV,RD成本表示为RDCost1。如果RDCost1<th*RDCost0(其中这是正值阈值),则测试4像素MV;否则,跳过4像素MV。基本上,当检查整数或4像素MV时,对于1/4像素MV已知运动信息和RD成本等,可以将其重用(reuse)以加速整数或4像素MV的编码过程。
2.2.2三角形预测单元模式的示例
三角形预测单元模式的概念是为运动补偿预测引入新的三角形分区。如图13A和图13B所示,三角形预测单元模式在对角线方向或反对角线方向上将CU划分为两个三角形预测单元。CU中的每个三角形预测单元使用其自己的单向预测运动矢量和参考帧索引进行帧间预测,所述单向预测运动矢量和参考帧索引是从单向预测候选列表推导的。在预测三角形预测单元之后,对对角线边缘执行自适应加权处理。然后,将变换和量化过程应用于整个CU。注意,该模式仅适用于跳过和Merge模式。
TPM的单向预测候选列表
单向预测候选列表由五个单向预测运动矢量候选组成。如图14所示,它是从包括五个空域临近块(1至5)和两个时域并置块(6至7)的七个临近块推导的。七个临近块的运动矢量根据单向预测运动矢量、双向预测运动矢量的L0运动矢量、双向预测运动矢量的L1运动矢量、以及双向预测运动矢量的L0和L1运动矢量的平均运动矢量的顺序被收集并放入单向预测候选列表。如果候选的数量少于五个,则零运动矢量被添加到列表中。添加到该TPM的列表中的运动候选被称为TPM候选,从空域/时域块推导的运动信息被称为常规运动候选。
更具体地,涉及以下步骤:
1)从A1、B1、B0、A0、B2、Col和Col2(对应于图14中的块1-7)获得常规运动候选,而无 需任何修剪操作。
2)设置变量numCurrMergeCand=0
3)对于从A1、B1、B0、A0、B2、Col和Col2推导的每个常规运动候选以及numCurrMergeCand小于5,如果常规运动候选是单向预测(来自列表0或列表1),则将其作为TPM候选直接添加到Merge列表中,并且numCurrMergeCand增加1。这种TPM候选被命名为“初始单向预测的候选”。
应用完全修剪。
4)对于从A1、B1、B0、A0、B2、Col和Col2推导的每个运动候选以及numCurrMergeCand小于5,如果常规运动候选是双向预测,则来自列表0的运动信息作为新的TPM候选被添加到TPM Merge列表(也就是说,被修改为来自列表0的单向预测),并且numCurrMergeCand增加1。这种TPM候选被命名为“截断列表0预测候选”。
应用完全修剪。
5)对于从A1、B1、B0、A0、B2、Col和Col2推导的每个运动候选以及numCurrMergeCand小于5,如果常规运动候选是双向预测,则来自列表1的运动信息被添加到TPM Merge列表(即,被修改为来自列表1的单向预测),并且numCurrMergeCand增加1。这种TPM候选被命名为“截断列表1预测候选”。
应用完全修剪。
6)对于从A1、B1、B0、A0、B2、Col和Col2推导的每个运动候选以及numCurrMergeCand小于5,如果常规运动候选是双向预测,则
-如果列表0参考图片的条带QP小于列表1参考图片的条带QP,则首先将列表1的运动信息缩放到列表0参考图片,并将两个MV(一个来自原始列表0,另一个是来自列表1的缩放的MV)的平均值添加到TPM Merge列表中,这种候选被称为来自列表0运动候选的平均单向预测,并且numCurrMergeCand增加1。
-否则,首先将列表0的运动信息缩放到列表1参考图片,并将两个MV(一个来自原始列表1,另一个是来自列表0的缩放的MV)的平均值添加到TPM Merge列表中,这种TPM候选被称为来自列表1运动候选的平均单向预测,并且numCurrMergeCand增加1。
应用完全修剪。
7)如果numCurrMergeCand小于5,则添加零运动矢量候选。
当向列表插入候选时,如果必须将该候选与之前添加的所有候选进行比较以查看其是否与其中一个相同,则把这种过程称为完全修剪。
自适应加权过程
在预测每个三角形预测单元之后,将自适应加权过程应用于两个三角形预测单元之间的对角线边缘,以推导整个CU的最终预测。下面列出了两个加权因子组:
·第一加权因子组:{7/8,6/8,4/8,2/8,1/8}和{7/8,4/8,1/8}分别用于亮度和色度样点;和
·第二加权因子组:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}和{6/8,4/8,2/8}分别用于亮度和色度样点。
基于两个三角形预测单元的运动矢量的比较来选择一个加权因子组。当两个三角形预测单元的参考图片彼此不同或者它们的运动矢量差大于16像素时,使用第二加权因子组。否则,使用第一加权因子组。图15示出了应用第一加权因子组的示例。
运动矢量存储
三角形预测单元的运动矢量(图16中的Mv1和Mv2)存储在4×4网格中。对于每个4×4网格,取决于4×4网格在CU中的位置,存储单向预测或双向预测运动矢量。如图16所示,为位于非加权区域的4×4网格存储单向预测运动矢量,Mv1或Mv2。另一方面,为位于加权区域的4×4网格存储双向预测运动矢量。根据以下规则从Mv1和Mv2推导双向预测运动矢量:
1)在Mv1和Mv2具有来自不同方向(L0或L1)的运动矢量的情况下,Mv1和Mv2被简单地组合以形成双向预测运动矢量。
2)在Mv1和Mv2都来自相同的L0(或L1)方向的情况下:
2a)如果Mv2的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv2被缩放到该图片。Mv1和缩放的Mv2被组合以形成双向预测运动矢量。
2b)如果Mv1的参考图片与L1(或L0)参考图片列表中的图片相同,则Mv1被缩放到该图片。缩放后的Mv1和Mv2被组合以形成双向预测运动矢量。
2c)否则,对于加权区域只存储Mv1。
三角形预测模式(TPM)的信令
可以首先信令通知指示是否使用TPM的一个比特标志。之后,进一步信令通知两个划分模式的指示(如图13A和图13B所示),以及为两个分区中的每一个选择的Merge索引。
TPM标志的信令
分别由W和H表示一个亮度块的宽度和高度。如果W*H<64,则禁用三角形预测模式。
当一个块用仿射模式进行编解码时,也禁用三角形预测模式。
当一个块用Merge模式进行编解码时,可以信令通知一个比特标志来指示对于该块是启用还是禁用三角形预测模式。
考虑到图17,该标志用3个上下文进行编解码,并且基于以下等式:
Ctx索引=((左边的块L可用&&L用TPM进行编解码?)1:0)+((上边的块A可用&&A用TPM进行编解码?)1:0);
信令通知两个划分模式和所选Merge索引的指示
注意,划分模式(如图13A和图13B所示),两个分区的Merge索引被联合编解码。在一些实施例中,限制两个分区不能使用相同的参考图片索引。因此,存在2(划分模式)*N(Merge候选的最大数量)*(N-1)种可能性,其中N被设置为5。一个指示被编解码,划分模式、两个Merge索引和编解码指示之间的映射从下面定义的数组推导:
const uint8_t g_TriangleCombination[TRIANGLE_MAX_NUM_CANDS][3]={{0,1,0},{1,0,1},{1,0,2},{0,0,1},{0,2,0},{1,0,3},{1,0,4},{1,1,0},{0,3,0},{0,4,0},{0,0,2},{0,1,2},{1,1,2},{0,0,4},{0,0,3},{0,1,3},{0,1,4},{1,1,4},{1,1,3},{1,2,1},{1,2,0},{0,2,1},{0,4,3},{1,3,0},{1,3,2},{1,3,4},{1,4,0},{1,3,1},{1,2,3},{1,4,1},{0,4,1},{0,2,3},{1,4,2},{0,3,2},{1,4,3},{0,3,1},{0,2,4},{1,2,4},{0,4,2},{0,3,4}};
划分模式(45度或135度)=g_TriangleCombination[信令通知的指示][0];
候选A的Merge索引=g_TriangleCombination[信令通知的指示][1];
候选B的Merge索引=g_TriangleCombination[信令通知的指示][2];
一旦推导了两个运动候选A和B,就可以从A或B设置两个分区(PU1和PU2)的运动信息。PU1是否使用Merge候选A或B的运动信息取决于两个运动候选的预测方向。表1示出了两个推导的运动候选A和B以及两个分区之间的关系。
表1:从推导的两个Merge候选(A、B)推导分区的运动信息
A的预测方向 | B的预测方向 | PU1的运动信息 | PU2的运动信息 |
L0 | L0 | A(L0) | B(L0) |
L1 | L1 | B(L1) | A(L1) |
L0 | L1 | A(L0) | B(L1) |
L1 | L0 | B(L0) | A(L1) |
指示的熵编解码(由merge_triangle_idx表示)
merge_triangle_idx包含在[0,39]的范围内。K阶指数Golomb(ExponentialGolomb,EG)码用于merge_triangle_idx的二值化,其中K被设置为1。
k阶EG
为了用更少的比特来编码更大的数字(以用更多的比特来编码更小的数字为代价),这可以用非负整数参数k来概括。为了用K阶指数Golomb码对非负整数x进行编码:
(2)用二进制对x mod 2k进行编码
表2:指数Golomb-k编解码示例
2.2.3仿射运动补偿预测的示例
在HEVC中,只有平移运动模型被应用于运动补偿预测(Motion CompensationPrediction,MCP)。然而,相机和物体可以具有多种运动,例如放大/缩小、旋转、透视运动和/或其他不规则运动。在VVC中,用4参数仿射模型和6参数仿射模型应用简化的仿射变换运动补偿预测。如图18A和图18B所示,块的仿射运动场分别由两个(在使用变量a、b、e和f的4参数仿射模型中)或三个(在使用变量a、b、c、d、e和f的6参数仿射模型中)控制点运动矢量来描述。
块的运动矢量场(MVF)分别用4参数仿射模型和6参数仿射模型由以下等式描述:
这里,(mvh 0,mvh 0)是左上角控制点(Control Point,CP)的运动矢量,(mvh 1,mvh 1)是右上角控制点的运动矢量,(mvh 2,mvh 2)是左下角控制点的运动矢量,(x,y)表示当前块内代表性点(representative point)相对于左上角样点的坐标。CP运动矢量可以信令通知(像在仿射AMVP模式中那样)或者动态推导(像在仿射Merge模式中那样)。w和h是当前块的宽度和高度。实践中,除法是通过右移和四舍五入操作来实施的。在VTM中,代表性点被定义为子块的中心位置,例如,当子块的左上角相对于当前块内的左上方样点的坐标是(xs,ys)时,代表性点的坐标被定义为(xs+2,ys+2)。对于每个子块(例如,VTM中的4×4),利用代表性点来推导整个子块的运动矢量。
图19示出了块1900的每个子块的仿射MVF的示例,其中为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。为了推导每个M×N子块的运动矢量,可以根据等式(1)和(2)计算每个子块的中心样点的运动矢量,并四舍五入到运动矢量分数精度(例如,JEM中为1/16)。然后,可以应用运动补偿插值滤波器来生成具有推导的运动矢量的每个子块的预测。仿射模式引入了1/16像素的插值滤波器。在MCP之后,每个子块的高精度运动矢量被四舍五入并保存为与正常运动矢量相同的精度。
2.2.4仿射预测的信令的示例
类似于平移运动模型,也有两种模式用于信令通知由于仿射预测而产生的辅助信息。它们是AFFINE_INTER和AFFINE_MERGE模式。
2.2.5AF_INTER模式的示例
对于宽度和高度都大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。
在这种模式下,对于每个参考图片列表(列表0或列表1),仿射AMVP候选列表按以下顺序用三种类型的仿射运动预测值构建,其中每个候选包括当前块的估计CPMV。在编码器侧(诸如图22中的mv0 mv1 mv2)发现的最佳CPMV和估计的CPMV的差被信令通知。此外,进一步信令通知仿射AMVP候选的索引,从该索引推导估计的CPMV。
1)继承仿射运动预测值
检查顺序类似于HEVC AMVP列表构建中的空域MVP。首先,从{A1,A0}中的第一块推导的左边的继承仿射运动预测值,该第一块进行仿射编解码,并且具有与当前块中相同的参考图片。第二,从{B1,B0,B2}中的第一块推导上述继承仿射运动预测值,该第一块进行仿射编解码,并且具有与当前块中相同的参考图片。图21中描绘了五个块A1、A0、B1、B0、B2。
一旦发现临近块是用仿射模式进行编解码的,覆盖临近块的编解码单元的CPMV被用于推导当前块的CPMV的预测值。例如,如果A1是用非仿射模式进行编解码的,并且A0是用4参数仿射模式进行编解码的,则左边的继承仿射MV预测值将从A0推导。在这种情况下,覆盖A0的CU的CPMV(如图23B所示,对于左上方的CPMV表示为对于右上方的CPMV表示为)用于推导当前块的估计CPMV(对于当前块的左上方位置(坐标(x0,y0))、右上方位置(坐标(x1,y1))和右下方位置(坐标(x2,y2))表示为)。
2)构建的仿射运动预测值
如图22所示,构建的仿射运动预测值由从具有相同参考图片的临近帧间编解码块推导的控制点运动矢量(CPMV)组成。如果当前仿射运动模型是4参数仿射,则CPMV的数量是2,否则如果当前仿射运动模型是6参数仿射,则CPMV的数量是3。左上方的CPMV是由组{A,B,C}中第一块处的MV推导的,该第一块是帧间编解码的并且具有与当前块中的相同参考图片。右上方的CPMV是由组{D,E}中第一块处的MV推导的,该第一块是帧间编解码的并且具有与当前块中相同的参考图片。左下方的CPMV是由组{F,G}中第一块处的MV推导的,该第一块是帧间编解码的并且具有与当前块中相同的参考图片。
-如果当前仿射运动模型是4参数仿射,那么只有当和两者都被建立时,构建的仿射运动预测值才被插入候选列表,也就是说,和被用作当前块的左上方(坐标(x0,y0))、右上方(坐标(x1,y1))位置的估计CPMV。
-如果当前仿射运动模型是6参数仿射,那么只有当和都被建立时,构建的仿射运动预测值才被插入候选列表,也就是说,和被用作当前块的左上方(坐标(x0,y0))、右上方(坐标(x1,y1))和右下方(坐标(x2,y2))位置的估计CPMV。
当将构建的仿射运动预测值插入候选列表时,不应用修剪过程。
3)正常AMVP运动预测值
在仿射运动预测值的数量达到最大值之前,以下条件适用。
7)通过将所有CPMV设置为等于HEVC TMVP(如果可用),推导仿射运动预测值。
8)通过将所有CPMV设置为零MV来推导仿射运动预测值。
在AF_INTER模式下,当使用4/6参数仿射模式时,需要2/3个控制点,并且因此需要为这些控制点编解码2/3个MVD,如图20A和图20B所示。在现有实施方式中,MV可以如下推导,例如,它从mvd0预测mvd1和mvd2。
在本文中,mvdi和mv1分别是左上方像素(i=0)、右上方像素(i=1)或左下方像素(i=2)的预测运动矢量、运动矢量差和运动矢量,如图20B所示。在一些实施例中,两个运动矢量(例如,mvA(xA,yA)和mvB(xB,yB))的相加等于两个分量的分别总和。例如,newMV=mvA+mvB意味着newMV的两个分量分别设置为(xA+xB)和(yA+yB)。
2.2.6AF_Merge模式的示例
当在AF_MERGE模式下应用CU时,它从有效的临近重构块中获得用仿射模式编解码的第一块。并且候选块的选择顺序是从左、上、右上、左下到左上,如图23A所示(依次由A、B、C、D、E表示)。例如,如果临近的左下块如图23B中A0所示以仿射模式进行编解码,则取得包含块A的临近的CU/PU的左上角、右上角和左下角的控制点(CP)运动矢量mv0 N、mv1 N和mv2 N。基于mv0 N、mv1 N和mv2 N计算当前CU/PU上的左上角/右上方/左下方的运动矢量mv0 C、mv1 C和mv2 C(仅用于6参数仿射模型)。应该注意,在VTM-2.0中,如果当前块是仿射编解码的,则位于左上角的子块(例如,VTM的4×4块)存储mv0,位于右上角的子块存储mv1。如果当前块用6参数仿射模型进行编解码,则位于左下角的子块存储mv2;否则(在4参数仿射模型的情况下),LB存储mv2'。其他子块存储用于MC的MV。
在根据等式(1)和(2)中的仿射运动模型计算当前CU v0和v1的CPMV之后,可以生成当前CU的MVF。为了识别当前CU是否以AF_MERGE模式进行编解码,当至少有一个临近块以仿射模式进行编解码时,可以在比特流中信令通知仿射标志。
在一些实施例中,仿射Merge候选列表可以用以下步骤来构建:
1)插入继承的仿射候选
继承仿射候选意味着候选是从其有效临近仿射编解码块的仿射运动模型推导的。在公共基础上,如图24所示,候选位置的扫描顺序是:A1、B1、B0、A0和B2。
在推导候选之后,执行完全修剪过程以检查是否已将相同候选插入列表。如果存在相同的候选,则丢弃推导的候选。
2)插入构建的仿射候选
如果仿射Merge候选列表中的候选数量小于MaxNumAffineCand(在该贡献中设置为5),则将构建的仿射候选插入候选列表。构建仿射候选是指通过组合每个控制点的临近运动信息来构建候选。
控制点的运动信息首先从图24所示的指定空域邻居和时域邻居推导。CPk(k=1,2,3,4)代表第k个控制点。A0、A1、A2、B0、B1、B2和B3是用于预测CPk(k=1,2,3)的空域位置;T是用于预测CP4的时域位置。
CP1、CP2、CP3和CP4的坐标分别是(0,0)、(W,0)、(H,0)和(W,H),其中W和H是当前块的宽度和高度。
根据以下优先级顺序获得每个控制点的运动信息:
对于CP1,检查优先级为B2→B3→A2。如果B2可用,就使用B2。否则,如果B2可用,则使用B3。如果B2和B3都不可用,则使用A2。如果三个候选都不可用,则无法获得CP1的运动信息。
对于CP2,检查优先级为B1→B0。
对于CP3,检查优先级为A1→A0。
对于CP4,使用T。
其次,使用控制点的组合来构建仿射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,CP4}、{CP2,CP3}、{CP1,CP2}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4}。组合{CP1,CP4}、{CP2,CP3}、{CP2,CP4}、{CP1,CP3}、{CP3,CP4}将被转换为由左上方和右上方控制点表示的4参数运动模型。
按以下顺序降构建的仿射候选的组合插入候选列表:
{CP1,CP2,CP3}、{CP1,CP2,CP4}、{CP1,CP3,CP4}、{CP2,CP3,CP4},{CP1,CP2}、{CP1,CP3}、{CP2,CP3}、{CP1,CP4}、{CP2,CP4}、{CP3,CP4}
对于组合的参考列表X(X为0或1),在控制点中具有最高使用率的参考索引被选择作为列表X的参考索引,并且指向差异参考图片的运动矢量将被缩放。
在推导候选之后,执行完全修剪过程以检查是否已将相同候选插入列表。如果存在相同的候选,则丢弃推导的候选。
3)用零运动矢量进行填充
如果仿射Merge候选列表中的候选数量少于5,则具有零参考索引的零运动矢量被插入到候选列表中,直到列表满为止。
在一些实施例中,对于子块Merge候选列表,在4参数Merge候选中,MV设置为(0,0)并且预测方向设置为来自列表0的单向预测(对于P条带)和双向预测(对于B条带)。
2.3当前图片参考(CPR)的示例
在HEVC屏幕内容编解码扩展(Screen Content Coding extension,SCC)中采用了帧内块复制(IBC,或帧内图片块补偿),也称为当前图片参考(Current PictureReferencing,CPR)。该工具对于屏幕内容视频的编解码非常有效,因为文本和图形丰富的内容中的重复模式经常出现在相同图片中。将先前重构的具有相同或相似模式的块作为预测值可以有效地减少预测误差,从而提高编解码效率。图25示出了帧内块补偿的示例。
类似于HEVC SCC中的CRP设计,在VVC中,IBC模式的使用在序列和图片级别上都被信令通知。当以序列参数集(SPS)启用IBC模式时,可以在图片级别启用该IBC模式。当在图片级别启用IBC模式时,当前重构图片被视为参考图片。因此,除了现有的VVC帧间模式之外,不需要在块级别上进行语法改变来指示IBC模式的使用。
CPR的一些特征包括:
ο它被视为正常帧间模式。因此,Merge和跳过模式也适用于IBC模式。Merge候选列表结构是统一的,包含来自临近位置的Merge候选,这些候选或者以IBC模式进行编解码,或者以HEVC帧间模式进行编解码。取决于所选的Merge索引,Merge或跳过模式下的当前块可以合并到IBC模式编解码的临近块中,或者以其他方式合并到具有不同图片作为参考图片的正常帧间模式编解码的临近块中。
οIBC模式的块矢量预测和编解码方案重用HEVC帧间模式(AMVP和MVD编解码)中用于运动矢量预测和编解码的方案。
οIBC模式的运动矢量(也称为块矢量)以整数像素精度进行编解码,但被解码之后以1/16像素精度存储在存储器中,因为插值和去方块(deblocking)阶段中需要四分之一像素精度。当用于IBC模式的运动矢量预测时,存储的矢量预测值将右移4。
ο搜索范围:限于当前CTU内。
ο当仿射模式/三角模式/GBI/加权预测启用时,不允许CPR。
2.4VTM-3.0中ATMVP的示例
VTM-3.0中ATMVP比JEM中简单得多。生成ATMVP Merge候选时,按顺序应用以下步骤:
(a)按顺序检查如图2所示的临近块A1、B1、B0、A0,以找到第一个帧间编解码但不是CPR编解码的块,表示为块X;
(b)初始化TMV=(0,0)。如果参考并置的参考图片(如在条带头中信令通知的),存在块X的MV(表示为MVn),则TMV被设置为等于MVn。
(c)假设当前块的中心点是(x0,y0),那么在并置图片中将(x0,y0)的对应位置定位为M=(x0+MV*x,y0+MV*y)。找到覆盖M的块Z
(i)如果Z是帧内编解码的,则ATMVP不可用;
(ii)如果Z是帧间编解码的,则块Z的两个列表的MVZ_0和MVZ_1被缩放到(Reflist0索引0)和(Reflist 1索引1)作为MVdefault0、MVdefault1,并且被存储。
(d)对于每个8×8子块,假设其中心点是(x0S,y0S),那么在并置图片中将(x0S,y0S)的对应位置定位为MS=(x0S+MV*x,y0S+MV*y)。找到覆盖MS的块ZS。
(i)如果ZS是帧内编解码的,则MVdefault0、MVdefault1被分配给子块;
(ii)如果ZS是帧间编解码的,则块ZS的两个列表的MVZS_0和MVZS_1被缩放到(Reflist 0索引0)和(Reflist 1索引0),并被分配给子块。
2.4.1ATMVP中的MV剪辑和掩码
如图26中的示例所示,当在并置图片中定位对应的位置(诸如M或MS)时,它被剪辑到预定区域内。CTU的尺寸是S×S,在VTM-3.0中S=128。假设并置CTU的左上位置是(xCTU,yCTU),那么(xN,yN)处的对应位置M或MS将被剪辑到有效区域中:xCTU<=xN<xCTU+S+4;yCTU<=yN<yCTU+S。
除了剪辑,(xN,yN)还被掩码为xN=xN&MASK,yN=yN&MASK,其中MASK是等于~(2N-1)的整数,并且N=3,以将最低的3个比特设置为0。所以xN和yN必须是8的倍数的数字。("~"表示按比特补码运算符)。
2.5VVC中的Merge列表设计的示例
在VVC中支持三种不同的Merge列表构建过程:
(1)子块Merge候选列表:它包括ATMVP和仿射Merge候选。对于仿射模式和ATMVP模式两者共享一个Merge列表构建过程。这里,ATMVP和仿射Merge候选可以按顺序添加。子块Merge列表尺寸在条带头中被信令通知,并且最大值为5。
(2)单向预测TPM Merge列表:对于三角形预测模式,两个分区共享一个Merge列表构建过程,甚至两个分区可以选择它们自己的Merge候选索引。当构建该Merge列表时,检查块的空域临近块和两个时域块。从空域邻居和时域块推导的运动信息在我们的IDF中被称为常规运动候选。这些常规运动候选被进一步用于推导多个TPM候选。请注意,变换是在整个块级别执行的,甚至两个分区可以使用不同的运动矢量来生成它们自己的预测块。在一些实施例中,单向预测TPM Merge列表尺寸被固定为5。
(3)常规Merge列表:对于剩余的编解码块,共享一个Merge列表构建过程。这里,可以按顺序插入空域/时域/HMVP、成对组合双向预测Merge候选和零运动候选。常规Merge列表尺寸在条带头中被信令通知,并且最大值为6。
子块Merge候选列表
建议除了用于非子块Merge候选的常规Merge列表之外,将所有与子块相关的运动候选放在单独的Merge列表中。
子块相关的运动候选被放在单独的Merge列表中,该列表被命名为“子块Merge候选列表”。
在一个示例中,子块Merge候选列表包括仿射Merge候选、ATMVP候选和/或基于子块的STMVP候选。
附加实施例
在一些实施例中,正常Merge列表中的ATMVP Merge候选被移动到仿射Merge列表的第一位置。使得新列表(即基于子块的Merge候选列表)中的所有Merge候选都基于子块编解码工具。
子块Merge候选列表的构建过程
在VTM-3.0中,除了常规Merge候选列表之外,还添加了特殊的Merge候选列表,称为子块Merge候选列表(也称为仿射Merge候选列表)。子块Merge候选列表按以下顺序用候选来填充:
(a)ATMVP候选(可能可用或不可用);
(b)继承仿射候选;
(c)构建的仿射候选;
(d)填充为零MV 4参数仿射模型
常规Merge列表
与Merge列表设计不同,在VVC中,采用基于历史的运动矢量预测(HMVP)方法。在一些实施例中,组合双向预测Merge候选已经被成对的双向预测Merge候选替代。
HMVP
在HMVP中,存储先前编解码的运动信息。先前编解码的块的运动信息被定义为HMVP候选。多个HMVP候选存储在一个名为HMVP表的表中,该表在编码/解码过程期间实时地维护。当开始编解码/解码新条带时,HMVP表被清空。每当有帧间编解码块时,相关联的运动信息作为新的HMVP候选被添加到表的最后一个条目。整个编解码流程如图27所示。
HMVP候选可用于AMVP和Merge候选列表构建过程。图28描绘了修改的Merge候选列表构建过程(以灰色突出显示)。当Merge候选列表在TMVP候选插入之后未满时,存储在HMVP表中的HMVP候选可以用来填充Merge候选列表。考虑到一个块在运动信息方面通常与最近的临近块具有更高的相关性,表中的HMVP候选以索引的降序插入。表中的最后一个条目首先被添加到列表,同时第一个条目被添加到最后。类似地,冗余消除也适用于HMVP候选。一旦可用的Merge候选的总数达到允许信令通知的Merge候选的最大数量,则Merge候选列表构建过程被终止。
成对平均候选
成对平均候选(pairwise average candidate)是通过对当前Merge候选列表中的预定义候选对进行平均而生成的,并且预定义的候选对被定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中这些数字表示Merge候选列表的Merge索引。为每个参考列表单独计算平均运动矢量。如果两个运动矢量在一个列表中可用,则即使这两个运动矢量指向不同的参考图片,也会对它们进行平均;如果只有一个运动矢量可用,则直接使用该运动矢量;如果没有运动矢量可用,则保持该列表无效。成对平均候选替代了HEVC标准中的组合候选。假设两个Merge候选的MV分别为MV0=(MV0x,MV0y)和MV1=(MV1x,MV1y),则表示为MV*=(MV*x,MV*y)的成对Merge候选的MV被推导为
MV*x=(MV0x+MV1x)/2;
MV*y=(MV0y+MV1y)/2;
此外,当MV0和MV1指的是当前图片(即CPR模式)时,MV*x和MV*y进一步被四舍五入,以比全像素更高的精度移除该部分,从而确保获得整数MV:
MV*x=(MV*x/16)<<4;
MV*y=(MV*y/16)<<4;
注意,对于每对,如果两个中的一个用CPR进行编解码,而另一个没有,则不允许这样的对生成成对平均候选。
常规Merge列表构建过程
当使用常规Merge模式预测块时,从比特流中解析指向常规Merge候选列表中的条目的索引,并将其用于检索运动信息。该列表的结构在当前的VVC标准中被规定,并且可以根据以下步骤顺序进行概述,其中与HEVC相比有所变化的步骤后跟(*):
步骤1:初始候选推导
ο步骤1.1:空域候选推导
ο步骤1.2:空域候选的冗余检查/移除
ο步骤1.3:时域候选推导
ο步骤1.4:进行冗余检查/移除的HMVP候选(与HEVC相比,由VVC新引入)(*)
步骤2:虚拟候选插入
ο步骤2.1:创建成对双向预测候选(替代HEVC中的原始组合双向预测候选)(*)
ο步骤2.2:插入默认运动候选(零运动候选)
3现有实施方式的缺点
在现有实施方式中(例如,VVC的当前设计),以不同的过程利用三个不同的Merge列表,这增加了硬件实施方式成本。
(1)对于子块Merge候选列表,在4参数Merge候选中,MV设置为(0,0)并且预测方向设置为来自列表0的单向预测(对于P条带)以及双向预测(对于B条带)。这样的设计将产生重复的候选。
(2)当以下条件中的任一项为真时,使用第二加权因子组:
(i)两个三角形预测单元的参考图片彼此不同。
(ii)两个运动矢量的水平值的差的绝对值大于16个像素。
(iii)两个运动矢量的垂直值的差的绝对值大于16个像素。
一些现有实施方式没有充分考虑块的多样性。
(3)对于TPM Merge列表构建过程中的当前设计,在插入所有TPM候选之后,可能少于5个候选。需要解决如何填充剩余的TPM候选列表。
(4)在PCT/CN2018/115183中描述的实施例给出了对TPM候选列表和虚拟候选的推导重用常规Merge列表的一些解决方案,但是仍然有进一步提高编解码效率的一些空间。
(5)在块级别应用TPM标志的信令通知取决于SPS标志和条带类型。然而,对于一个条带内的所有块,这样的信息是相同的。检查这些条件在解析过程中引入复杂性负担。
4用于视频编解码的默认运动候选的示例方法
当前公开的技术的实施例克服了现有实施方式的缺点,从而提供了具有更高编解码效率的视频编解码。基于所公开的技术,对用于视频编解码的默认运动候选的使用可以增强现有和未来的视频编解码标准,在针对各种实施方式描述的以下示例中进行了阐述。下面提供的所公开技术的示例解释了一般概念,并且不意味着被解释为限制。在示例中,除非明确相反指示,否则在这些示例中描述的各种特征可以被组合。应该注意,一些提出的技术可以应用于现有的候选列表构建过程。
在一些实施例中,默认运动候选被推导并且可以用于填充候选列表中的后几个候选。默认运动候选可以以重复的方式被添加到列表,例如多个相同的默认运动候选。常规运动候选被定义为运动候选,其运动信息是从先前编解码的块(例如,相邻或非相邻的空域/时域块)推导的。HMVP候选也可以被视为常规运动候选。从多个先前编解码的块推导的候选(例如,ATMVP/STMVP候选)也可以被视为常规运动候选。
在一些实施例中,“三角形分割模式”用于表示非正方形/非矩形分割模式(TPM)的示例,并且插入到TPM候选列表的运动矢量预测候选被命名为“TPM候选”。应该注意,其他种类的分割也可以适用。用于TPM候选列表的提出的方法可以被应用于非正方形/非矩形分割的任何其他运动候选列表,例如几何分割。
示例1.对于仿射/子块Merge候选列表,6参数仿射Merge候选可以用作默认运动候选。
(a)在一个示例中,对于默认运动候选,MV被设置为(0,0),并且预测方向被设置为来自列表0的单向预测(对于P条带)以及双向预测(对于B条带)。
示例2.对于要被添加到仿射/子块Merge候选列表的默认运动候选,参考图片索引可以被设置为K(K是非零整数值)。
(a)在一个示例中,可以基于参考索引(在本文档中也称为参考图片索引)的递增顺序添加几个默认运动候选。
示例3.要被添加到仿射/子块Merge候选列表的默认运动候选的仿射模型类型可以取决于可用运动候选。
(a)在一个示例中,要被添加的默认运动候选可以重用与第一可用运动候选的仿射模型类型相同的仿射模型类型。
(b)可替换地,要被添加的默认运动候选可以重用作为部分或所有可用运动候选当中的最常用仿射模型类型的相同仿射模型类型。
示例4.TPM候选列表的默认运动候选可以用以下方式进行修改:
(a)在一个示例中,可以重复添加默认运动候选,以填充TPM候选列表,直到它满为止。
(i)在一个示例中,这样的候选(命名为重复运动候选)具有零MV、来自列表0或列表1的预测、以及等于M的参考索引(例如,M=0)。
(ii)重复运动候选与设置为M的参考索引相关联,其中M可以被预定义或者在SPS/VPS/PPS/图片头/条带头/片组头/CTU中被信令通知。
(iii)重复运动候选与设置为M的参考索引相关联,其中M可以是与并置的图片相关联的索引。
(iv)重复运动候选与预测方向相关联(即,来自列表0或列表1),可以取决于条带/片/图片类型。
(b)在一个示例中,首先,与从零至列表0参考图片的数量减一的参考索引相关联的零运动矢量用于按顺序填充任何剩余条目;其次,与从零至列表1参考图片的数量减一的参考索引相关联的零运动矢量用于按顺序填充任何剩余条目;最后,在列表0(或列表1)中多次添加具有零MV和给定参考图片索引的重复运动候选,以按顺序填充任何剩余条目。
(i)假设列表0和列表1分别有NumRefL0和NumRefL1个参考图片。按顺序添加以下候选C(mv(x,y),参考索引,预测方向),直到列表满为止:
C(mv(0,0),0,列表0),C(mv(0,0),1,列表0)..C(mv(0,0),NumRefL0-1,列表0),
C(mv(0,0),0,列表1),C(mv(0,0),1,列表1)..C(mv(0,0),NumRefL1-1,列表1),
C(mv(0,0),M,列表0),C(mv(0,0),M,列表0)..C(mv(0,0),M,列表0)。
(c)可替换地,对于每个参考图片索引,按顺序为两个列表添加具有零MV和相同参考图片索引的两个默认运动候选。插入候选还基于参考图片索引的升序,直到它达到所有参考图片列表中的参考图片的最小数量。最后,在列表0(或列表1)中多次添加具有零MV和给定参考图片索引的重复运动候选,以按顺序填充任何剩余条目。
(i)假设列表0和列表1分别有NumRefL0和NumRefL1个参考图片。按顺序添加以下候选C(mv(x,y),参考索引,预测方向),直到列表满为止:
C(mv(0,0),0,列表0),C(mv(0,0),0,列表1),
C(mv(0,0),1,列表0),C(mv(0,0),1,列表1),
…
C(mv(0,0),min(NumRefL0,NumRefL1)-1,列表0),
C(mv(0,0),min(NumRefL0,NumRefL1)-1,列表1),
C(mv(0,0),M,列表0),C(mv(0,0),M,列表0)..C(mv(0,0),M,列表0)。
在一些示例中,变量thresh(在上述示例中被设置为min(NumRefL0,NumRefL1)-1)可以由其他值替代。可替换地,如果列表仍未满,也可以将具有零运动矢量和大于或等于thresh的参考索引的一些候选添加到列表。
(d)对于以上示例,断言具有参考图片索引的升序的候选可以由降序替代。
(e)对于以上示例,零运动矢量可以由其他默认运动矢量替代。
(f)对于以上示例,添加重复运动候选之前的默认运动候选可以由具有不相等运动矢量的其他种类的运动候选替代。
示例5.默认运动候选的参考索引/预测方向可以取决于可用运动候选。
(a)在一个示例中,要被添加的默认运动候选可以重用与第一可用运动候选的参考索引/预测方向相同的参考索引/预测方向。
(b)可替换地,要被添加的默认运动候选可以重用作为部分或所有可用运动候选当中的最常用参考索引/预测方向的相同参考索引/预测方向。
(c)可替换地,默认运动候选的参考索引可以取决于参考图片列表中的参考图片。在一个示例中,可以使用相对于包含当前块的当前图片具有最小POC距离的参考图片。
(d)只有当在添加第一默认运动候选之前存在至少一个可用运动候选时,才可以调用以上方法。
(e)只有当在添加第一默认运动候选之前存在至少一个可用运动候选时,才可以调用以上方法。
(f)以上方法可以被应用于前M个(例如,M=1)默认运动候选。
示例6.如2018年11月13日提交的PCT/CN2018/115183(其全部公开内容通过引用并入)中的实施例所描述的,虚拟候选(例如,从可用候选推导的虚拟候选)可以用作默认运动候选。例如,可以基于当前块的正常仿射Merge候选或可用运动候选来推导虚拟候选。
示例7.默认候选不能具有作为当前图片的参考图片。
示例8.如2018年11月6日提交的PCT/CN2018/114057(其全部公开内容通过引用并入)中的实施例所描述的,虚拟TPM候选(例如,从可用TPM候选推导的虚拟候选)可以用作默认运动候选。例如,可以基于当前块的可用TPM运动候选来推导虚拟TPM候选。
示例9.以上方法也可以适用于AMVP候选列表或其他种类的运动候选列表。
示例10.提出将成对平均候选视为常规运动候选,并且这些候选可以用于推导TPM候选。
(a)在一个示例中,成对平均候选的列表0信息可以用作TPM候选,并被添加到TPM候选列表。
(b)在一个示例中,成对平均候选的列表1信息可以用作TPM候选,并被添加到TPM候选列表。
(c)可替换地,可以对一个常规运动候选或两个TPM候选的来自列表0的一个MV和来自列表1的另一个MV进行平均,以得到TPM候选的MV。
示例11.提出除了右下方时域块和中心并置时域块之外,还识别其他时域块,以推导常规运动候选,并使用它们来推导可以被添加到TPM候选列表的TPM候选。
(a)在一个示例中,可以通过现有的常规运动候选/TPM候选来识别其他时域块。
(b)可替换地,可以仅检查右下方时域块和中心并置时域块中的一个,以推导常规运动候选。
(c)可替换地,右下方时域块或中心并置时域块或者它们两者都不用于推导常规运动候选。此外,在一个示例中,改为使用时域块的其他位置。
示例12.当使用常规运动候选来推导TPM候选时,如果推导的TPM候选具有与CPR模式相关联的参考图片(例如,参考图片是当前图片),则这样的TPM候选被设置为不可用,因此,不需要将其添加到TPM候选列表。
(a)此外,可替换地,只有当当前TPM模块未以CRP模式而编解码时,以上方法才被应用。
示例13.当使用常规运动候选来推导TPM候选时,如果推导的TPM候选具有与CPR模式不相关联的参考图片(例如,参考图片是当前图片),则这样的TPM候选被设置为不可用,因此,不需要将其添加到TPM候选列表。
(a)此外,可替换地,只有当当前TPM模块以CRP模式而编解码时,上述方法才被应用。
示例14.特殊加权因子组可以替代用于位于对角线边缘的样点的加权平均过程。
(a)由于多个分区的不同运动信息,零加权因子被分配给运动补偿块中的一个。因此,基于另一分区的运动信息的运动补偿结果直接用作最终预测值。
(b)在一个示例中,加权因子组被定义为{0,0,…0}或{1,1,…1}。
(c)此外,可替换地,对于所有子块,要被存储的运动信息是单向预测。
示例15.子块的特殊加权因子组的使用可以取决于子块的位置。
示例16.选择TPM编解码块的加权因子组可以取决于编解码模式/MV精度/颜色分量。
(a)在一个示例中,对于CPR编解码块(至少一个参考图片是当前图片),可以利用以上定义的特殊加权因子。
(b)在一个示例中,如果两个分区的两个MV都是整数精度,则可以利用以上定义的特殊加权因子。
(c)在一个示例中,对于色度块,可以利用以上定义的特殊加权因子。
示例17.选择TPM编解码块的加权因子组可以取决于低延迟检查标志。
示例18.选择TPM编解码块的加权因子组取决于缩放运动矢量差。假设有两个MV,由分别与第一分区和第二分区相关联的Mv0(x0,y0)和Mv1(x1,y1)表示。Mv1首先被缩放到Mv0指向的参考图片,并且缩放的MV被表示为Mv1’(x1’,y1’)。
(a)加权因子组的选择取决于F(x1’,x0,y1’,y0),其中F是函数。如果F(x1’,x0,y1’,y0)大于或等于阈值T,则可以选择多个加权因子组中的一个(例如,第二个)。
(i)阈值T可以是预先定义的,例如,T为(16<<MV_PRECISION),其中MV_PRECISION表示所存储的运动矢量的精度。例如,如果以1/16像素存储MV,则MV_PRECISION被设置为4。
(ii)可替换地,可以在SPS/VPS/PPS/图片头/条带头/片组头/片/CTU/区域中信令通知T。
(iii)对于不同的模式/不同的块尺寸/条带或片或图片类型,T还可以不同。
(b)在一个示例中,F被定义为max(abs(x1’–x0),abs(y1’-y0))。
(c)可替换地,F被定义为min(abs(x1’–x0),abs(y1’-y0))。
(d)可替换地,F被定义为abs(x1’–x0)和abs(y1’-y0)的和。
(e)可替换地,F被定义为两个运动矢量Mv0和Mv1’的平均值。
(f)在一个示例中,只有当两个分区的两个参考图片相同时,才可以应用以上示例。此外,可替换地,两个参考图片不能是当前图片。
(g)可替换地,加权因子组的选择可以取决于参考图片,诸如两个参考图片之间的POC距离、或者一个参考图片和当前图片之间的POC距离。
示例19.修剪被应用于常规Merge候选推导过程,而没有对从修剪的常规Merge候选推导的TPM候选的进一步修剪。
(a)在一个示例中,是否应用修剪可以取决于TPM候选是从双向预测还是单向常规Merge候选推导的。
(i)在一个示例中,仅对于从双向预测常规Merge候选推导的TPM候选,可以应用对其他TPM候选修剪。
(a)此外,可替换地,可以将从双向预测常规Merge候选推导的TPM候选与TPM候选列表中的前L(例如,L是1或2)个TPM候选进行比较。
(b)此外,可替换地,可以将从双向预测常规Merge候选推导的TPM候选与在添加新候选之前构建的TPM候选列表中的后L(例如,L是1或2)个TPM候选(即,在添加新的TPM候选之前的先前添加的L个TPM候选)进行比较。
(ii)在一个示例中,可以进一步应用对其他TPM候选的修剪,而不管使用什么种类的常规Merge候选来推导它们。
(iii)可替换地,可以仅应用对从单向预测常规Merge候选推导的其他TPM候选的修剪。
(iv)可替换地,仅对于从单向预测常规Merge候选推导的TPM候选,可以应用对其他TPM候选的修剪。
(a)此外,可替换地,可以将从单向预测常规Merge候选推导的TPM候选与TPM候选列表中的前L(例如,L是1或2)个TPM候选进行比较。
(b)此外,可替换地,可以将从单向预测常规Merge候选推导的TPM候选与在添加新候选之前构建的TPM候选列表中的后L(例如,L是1或2)个TPM候选(即,在添加新的TPM候选之前的先前添加的L个TPM候选)进行比较。
(b)在一个示例中,是否应用修剪可以取决于一个TPM候选的预测方向。
i.在一个示例中,是否应用修剪可以取决于TPM候选是从双向预测常规Merge候选的列表0的运动信息还是从双向预测常规Merge候选的列表1的运动信息推导的。
a)在一个示例中,从双向预测常规Merge候选的列表0的运动信息推导的一个TPM候选可以被直接添加到TPM候选列表,而无需修剪。
b)在一个示例中,修剪可以被应用于从双向预测的列表1的运动信息推导的TPM候选。
c)此外,可替换地,可以将从双向预测常规Merge候选的列表1的运动信息推导的TPM候选与从相同的双向预测常规Merge候选的列表0的运动信息推导的TPM候选进行比较。
a.此外,可替换地,可以将从双向预测常规Merge候选的列表0信息推导的TPM候选与从相同的双向预测常规Merge候选的列表1的运动信息推导的TPM候选进行比较。
d)此外,可替换地,可以将从双向预测常规Merge候选的列表1的运动信息推导的TPM候选与TPM候选列表中的前L(例如,L是1或2)个TPM候选进行比较。
e)此外,可替换地,可以将从双向预测常规Merge候选的列表1的运动信息推导的TPM候选与在添加新候选之前构建的TPM候选列表中的后L(例如,L是1或2)个TPM候选(即,在添加新的TPM候选之前的先前添加的L个TPM候选)进行比较。
ii.可替换地,可以自适应地从块到块/区域到区域/片到片/片组到片组改变是否和/或如何在添加从双向预测常规Merge候选的列表0或列表1的运动信息推导的TPM候选之前应用修剪。
a)在一个示例中,是否和/或如何在添加从双向预测常规Merge候选的列表0或列表1的运动信息推导的TPM候选之前应用修剪可以取决于列表中的第一TPM候选的预测方向。
b)可替换地,是否和/或如何在添加从双向预测常规Merge候选的列表0或列表1的运动信息推导的TPM候选之前应用修剪可以取决于双向预测常规Merge候选之前的最后一个单向预测常规Merge候选的预测方向。
(c)在一个示例中,在添加从双向预测常规Merge候选的列表1的信息推导的TPM候选和/或从单向预测常规Merge候选推导的TPM候选之前,可以应用修剪。
i.此外,可替换地,从双向预测常规Merge候选的列表0的运动信息推导的TPM候选可以被直接添加到列表,而无需修剪。
ii.此外,可替换地,是否和/或如何应用修剪可以取决于在添加新的TPM候选之前的列表中的可用TPM候选。
a)在一个示例中,当TPM候选是从索引大于阈值的常规运动候选推导的时,它可以被直接添加到列表,而无需修剪。
iii.此外,可替换地,是否和/或如何应用修剪可以取决于从其推导TPM候选的常规运动候选的索引。
b)在一个示例中,当TPM候选是从索引大于阈值的常规运动候选推导的时,它可以被直接添加到列表,而无需修剪。
(d)以上方法可以适用于某些TPM候选,例如,仅被应用于从第一双向预测常规Merge候选推导的TPM候选(表示为TPMsBI)。
(i)此外,可替换地,如果在添加TPMsBI之前存在从单向预测常规运动候选推导的TPM候选,则可以应用修剪。
(ii)此外,可替换地,如果TPMsBI与从单向预测常规Merge候选推导的最后一个TPM候选相同或类似,则这样的TPMsBI不被添加到TPM候选列表。
(e)是否和/或如何应用TPM候选当中的修剪可以取决于块尺寸。
i.在一个示例中,当块的宽度和/或高度大于给定阈值时,可以禁用TPM候选当中的修剪。
(f)是否和/或如何应用TPM候选当中的修剪可以取决于规范中的低延迟检查标志。
i.可替换地,是否和/或如何应用TPM候选当中的修剪可以取决于被包括在参考图片列表中的参考图片。
a)在一个示例中,如果参考图片列表或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于当前图片。
b)在一个示例中,如果参考图片列表或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于或等于当前图片。
ii.可替换地,是否和/或如何应用TPM候选当中的修剪可以取决于两个参考图片列表是否包含至少一个相同的参考图片。
示例20.有限修剪被应用于从常规Merge候选推导的那些TPM候选。
(a)在一个示例中,需要检查多少TPM候选(例如,与先前添加的TPM候选类似或相同)可以被固定为K。一旦检查的TPM候选的数量K达到最大允许值(例如,5、6、7、8),随后的TPM候选可以被直接添加到列表而无需修剪。此外,可替换地,如果在添加新的TPM候选之前,TPM候选的数量小于K,则可以应用部分/完全修剪。在该示例中,当要被添加的新的TPM候选与L(L>1)个先前插入的TPM候选进行比较时,它被计数为一次。
(i)在TPM候选被添加之前需要检查多少TPM候选(例如,与先前添加的TPM候选类似或相同,在上述示例中为K)可以取决于可用常规Merge候选的数量。可替换地,它可以取决于修剪之前的可用TPM候选的数量、或者块尺寸或条带/图片/片类型/低延迟检查标志/块尺寸。
(b)在一个示例中,将TPM候选与其他TPM候选比较多少次可以被限制为小于或等于K。一旦修剪操作的次数达到最大允许值(例如,K=5,6,7,8),随后的TPM候选可以被直接添加到列表而无需修剪。此外,可替换地,如果在添加新的TPM候选之前修剪操作的次数小于K,则可以应用部分/完全修剪。在该示例中,当要被添加的新的TPM候选与L(L>1)个先前插入的TPM候选进行比较时,它被计数为L次。
(i)在TPM候选被添加之前将TPM候选与其他TPM候选比较多少次(即,修剪操作的次数,在上述示例中为K)可以取决于可用常规Merge候选的数量。可替换地,它可以取决于修剪之前的可用TPM候选的数量、或者块尺寸或条带/图片/片类型/低延迟检查标志。
(c)如何应用修剪过程(例如,应该将新的TPM候选与先前添加的TPM候选中的哪一个进行比较)可以取决于那些TPM候选是从哪个常规运动候选推导的。
(d)此外,可替换地,当对TPM候选插入过程启用修剪时,修剪不被应用于常规Merge候选推导过程。
示例21.来自双向预测常规Merge候选的列表0或列表1运动信息的插入顺序可以基于先前的插入顺序。
(a)如果两个连续的常规运动候选(例如,修剪之后)都是双向预测,则第一双向预测常规运动候选的列表X可以在列表Y之前首先被添加。而第二双向预测常规运动候选的列表Y可以在列表X之前首先被添加。X+Y等于1并且X/Y是0或1。
(b)如果两个连续的常规运动候选(例如,修剪之后)分别是来自列表X的单向预测以及双向预测,则双向预测常规运动候选的列表Y可以在列表X之前首先被添加。Y等于(1–X)。
(c)如果第一可用常规运动候选是双向预测,则该双向预测常规运动候选的列表0可以首先被添加作为TPM候选,随后是该双向预测常规运动候选的列表1。
示例22.移除了对SPS级别TPM启用标志以及块级别中等于B条带的条带类型的检查。
(a)可以信令通知VPS/PPS/条带头/片组头/图片头处的标志,以指示是否可以应用TPM。
(b)此外,可替换地,如果SPS级别TPM启用标志指示应对整个序列禁用TPM,则无需信令通知以上标志,并且这些标志被推断为假。
(c)此外,可替换地,如果条带类型不是B条带,则可以不信令通知以上标志,并且这些标志被推断为假。
(d)此外,可替换地,当编解码块(例如,编解码单元)时,改为检查图片级别/片级别/条带级别标志。如果图片级别/片级别/条带级别标志为假,则无需解析该块的TPM标志,并且TPM不被应用于该块。
示例23.如何生成TPM候选列表可以取决于常规Merge列表尺寸。
在一个示例中,当常规Merge列表尺寸小于TPM候选列表尺寸时,可以生成更多潜在TPM候选,诸如虚拟TPM候选/默认TPM候选等。
示例24.是否和/或如何应用修剪可以取决于规范中的低延迟检查标志。
可替换地,是否应用TPM候选当中的修剪可以取决于被包括在参考图片列表中的参考图片。
在一个示例中,如果参考图片列表或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于当前图片。
在一个示例中,如果参考图片列表或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于或等于当前图片。
可替换地,是否应用TPM候选当中的修剪可以取决于两个参考图片列表是否包含至少一个相同的参考图片。
示例25.提出不允许可以在HMVP候选之后添加的所有种类的运动候选使用先前添加的HMVP信息。
(a)在一个示例中,不允许HMVP候选生成成对平均双向预测候选。也就是说,如果两个候选的组合中的一个候选是HMVP候选,则改为检查下一个组合。
(b)在一个示例中,不允许HMVP候选生成组合双向预测候选。也就是说,如果两个候选的组合中的一个候选是HMVP候选,则改为检查下一个组合。
示例26.如果一个块是用在候选列表中检查/插入HMVP候选之后推导的运动候选而编解码的,则不允许这样的块的运动信息更新HMVP表。
(a)在一个示例中,如果一个块是用成对平均双向预测候选而编解码的,则不允许这样的运动信息更新HMVP表。
(b)在一个示例中,如果一个块是用组合双向预测候选而编解码的,则不允许这样的运动信息更新HMVP表。
(c)在一个示例中,如果一个块是用零运动候选而编解码的,则不允许这样的运动信息更新HMVP表。
(d)在一个示例中,如果一个块是用在检查HMVP候选之后检查/添加的其他种类的默认运动信息而编解码的,则不允许这样的运动信息更新HMVP表。
示例27.以上方法可以适用于某个块尺寸。
(a)在一个示例中,只有当块宽度和/或高度小于或等于M(例如,M被设置为4)时,才可以调用它。
(b)在一个示例中,只有当块宽度小于或等于M1(例如,M1=4)并且块高度小于或等于M2(例如,M2=4)时,才可以调用它。
示例28.提出当在检查了所有HMVP候选之后列表(例如,Merge/amvp)未满时,添加来自HMVP表的一些默认运动候选,直到列表满为止。
(a)在一个示例中,可以重复添加HMVP表的最后一个条目。
(b)可替换地,可以重复添加HMVP表的最后一个条目。
(c)在一个示例中,当HMVP表不为空时调用它。
(d)在一个示例中,当HMVP表为空时,改为添加列表中的可用候选中的一个。
(e)可替换地,可以添加来自HMVP表的多个HMVP候选,以填充候选列表。
示例29.如何生成IBC Merge候选列表可以取决于常规Merge列表尺寸。
a.在一个示例中,当常规Merge列表尺寸小于IBC Merge候选列表尺寸时,可以生成更多潜在IBC Merge候选,诸如虚拟IBC Merge候选/默认IBC Merge候选等。
b.一致性比特流应满足信令通知的IBC Merge候选索引应小于常规Merge列表尺寸。
c.一致性比特流应满足信令通知的IBC Merge候选索引应小于用于推导IBCMerge候选的部分常规Merge列表的最大数量。
d.在一个示例中,IBC Merge候选列表的尺寸(IBC Merge候选列表中的IBC Merge候选的数量)与常规候选列表的尺寸相同。
e.在一个示例中,一致性比特流应满足IBC Merge候选列表的尺寸应不大于常规候选列表的尺寸。
f.在一个示例中,一致性比特流应满足IBC Merge候选列表的尺寸应不大于P,其中P是诸如5的整数。
g.在一个示例中,一致性比特流应满足IBC Merge候选列表的尺寸应不小于P,其中P是诸如0或1的整数。
h.在一个示例中,可以信令通知IBC Merge候选列表的尺寸,
1)例如,尺寸被二值化为截断的一元码。
i.在一个示例中,可以信令通知表示为C的IBC Merge候选列表的尺寸和整数P(诸如5)之间的差。例如,P-C或C-P被信令通知。
1)例如,该差被二值化为截断的一元码。
j.在一个示例中,可以信令通知IBC Merge候选列表的尺寸(表示为C)和常规候选列表的尺寸(表示为P)之间的差。例如,P-C或C-P被信令通知。
1)例如,该差被二值化为截断的一元码。
示例30.提出是否重置HMVP表可以取决于IBC模式的使用。
a.在一个示例中,当对一个序列/片组/视频编解码数据启用IBC时,可以重置HMVP表。
b.在一个示例中,即使片组是I片组(诸如I条带),当对一个序列/片组/视频编解码数据启用IBC时,也可以重置HMVP表。
c.在一个示例中,当对一个序列/片组/视频编解码数据启用IBC时,可以在编码/解码新区域(诸如CTU行、片、片组)之前重置HMVP表。
上述示例可以并入下面描述的方法的上下文,例如方法2900、3000、3100、3200、3300和3400,其可以在视频解码器或视频编码器处实施。
图29示出了用于视频处理的示例性方法的流程图。方法2900包括,在步骤2910,将Merge候选识别为默认运动候选。
方法2900包括,在步骤2920,基于该识别将Merge候选添加到Merge候选列表。在一些实施例中,并且在示例1的上下文中,Merge候选包括6参数仿射Merge候选,并且其中,Merge候选列表包括仿射或子块Merge候选列表。在一个示例中,默认运动候选的运动矢量被设置为(0,0)。在另一示例中,运动矢量的预测方向被设置为单向预测,并且其中,当前视频块位于P条带中。在又一示例中,运动矢量的预测方向被设置为双向预测,并且其中,当前视频块位于B条带中。
在一些实施例中,并且在示例2的上下文中,Merge候选列表包括仿射或子块Merge候选列表,并且默认运动候选的参考图片索引被设置为K,其是非负整数。
在一些实施例中,并且在示例3的上下文中,Merge候选包括仿射模型,其中,Merge候选列表包括仿射或子块Merge候选列表,并且其中,仿射模型的类型基于可用运动候选。在示例中,仿射模型的类型基于可用运动候选中的第一可用运动候选的仿射模型。在另一示例中,仿射模型的类型基于在可用运动候选当中最常用的仿射模型。
方法2900包括,在步骤2930,基于Merge候选列表来重构当前视频块。
在一些实施例中,并且在示例4的上下文中,Merge候选列表包括三角形预测模式(TPM)候选列表。方法2900还可以包括以下步骤:在确定Merge候选列表未满时,将默认运动候选重复添加到Merge候选列表。在一些实施例中,默认运动候选与被设置为非负整数M的参考图片索引相关联。在示例中,M是预定的。在另一示例中,M是在序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、条带头、片组头或编解码树单元(CTU)中信令通知的。在又一示例中,M还与并置图片的参考图片索引相关联。在又一示例中,默认运动候选的预测方向基于当前视频块的条带类型、当前视频块的片类型、或当前视频块的图片类型。
在一些实施例中,并且在示例4的上下文中,默认运动候选包括与列表0中的参考图片索引0相关联的零运动矢量,并且方法2900还包括以下步骤:在确定Merge候选列表未满时,按照以下顺序将附加默认运动候选添加到Merge候选列表:与参考图片索引1至NList0-1相关联的零运动矢量,以及与参考图片索引0至NList1-1相关联的零运动矢量;以及在确定Merge候选列表未满时,将与来自列表0或列表1的预定参考图片索引相关联的零运动矢量重复添加到Merge候选列表,其中,NList0和NList1分别是列表0和列表1的整数尺寸。在其他实施例中,默认运动候选包括与列表0中的参考图片索引0相关联的零运动矢量,并且方法2900还包括以下步骤:在确定Merge候选列表未满时,按照以下顺序将附加默认运动候选添加到Merge候选列表:与列表1中的参考图片索引0相关联的零运动矢量,与列表0中的参考图片索引M相关联的零运动矢量,以及与列表1中的参考图片索引M相关联的零运动矢量,其中,M是等于1,2,…min(NList0,NList1)-1的整数;以及在确定Merge候选列表未满时,将与来自列表0或列表1的预定参考图片索引相关联的零运动矢量重复添加到Merge候选列表,其中,NList0和NList1分别是列表0和列表1的整数尺寸。
在一些实施例中,并且在示例5的上下文中,默认运动候选的参考图片索引或预测方向基于一个或多个可用运动候选。在示例中,参考图片索引或预测方向分别基于一个或多个可用运动候选中的第一可用运动候选的参考索引或预测方向。在另一示例中,参考图片索引或预测方向分别基于在一个或多个可用运动候选当中最常用的参考索引或预测方向。在这些示例中,一个或多个可用运动候选可以包括所有可用运动候选。在这些示例中,一个或多个可用运动候选可以包括前K个可用运动候选,其中K是正整数。
在一些实施例中,并且在示例6的上下文中,默认运动候选与不同于包括当前视频块的当前图片的参考图片相关联。
在一些实施例中,并且在示例9的上下文中,Merge候选列表包括高级运动矢量预测(AMVP)候选列表。
图30示出了用于视频处理的示例性方法的流程图。方法3000包括,在步骤3010,从当前视频块的常规运动候选推导三角形预测模式(TPM)候选。在一些实施例中,并且在示例10的上下文中,常规运动候选包括成对平均候选。在示例中,TPM候选包括成对平均候选的列表0运动信息。在另一示例中,TPM候选包括成对平均候选的列表1运动信息。在又一示例中,TPM候选包含常规运动候选的列表0运动信息和列表1运动信息的平均运动信息。
方法3000包括,在步骤3020,选择性地将TPM候选添加到TPM候选列表。
方法3000包括,在步骤3030,基于TPM候选列表来重构当前视频块。
在一些实施例中,并且在示例11的上下文中,常规运动候选是从右下方并置时域块、中心并置时域块、或不同于右下方和中心并置时域块的至少一个时域块推导的。在示例中,至多一个时域块是通过常规运动候选而识别的。
在一些实施例中,并且在示例12的上下文中,TPM候选包括与当前图片参考(CPR)模式不相关联的参考图片,并且其中,TPM候选不被添加到TPM候选列表。在其他实施例中,TPM候选包括与当前图片参考(CPR)模式相关联的参考图片,并且其中,TPM候选不被添加到TPM候选列表。
图31示出了用于视频处理的示例性方法的流程图。方法3100包括,在步骤3110,在确定当前视频块是三角形预测模式(TPM)编解码块时,选择加权因子组。
方法3100包括,在步骤3120,基于加权因子组来重构当前视频块。
在一些实施例中,并且在示例14的上下文中,方法3100还包括以下步骤:使用加权因子组来替代加权平均过程。在示例中,加权因子组是{0,0,…,0}。在另一示例中,加权因子组是{1,1,…,1}。
在一些实施例中,并且在示例15的上下文中,重构当前视频块包括重构当前视频块的子块,并且其中,选择加权因子组是基于子块在当前视频块中的位置。
在一些实施例中,并且在示例16的上下文中,该选择还基于当前视频块的编解码模式、与当前视频块相关联的运动矢量的精度、或当前视频块的颜色分量中的至少一个。在示例中,运动矢量的精度是整数精度。在另一示例中,当前视频块的颜色分量是当前视频块的色度分量。
在一些实施例中,并且在示例17的上下文中,该选择还基于当前视频块的比特流表示中的低延迟检查标志的值。
在一些实施例中,并且在示例18的上下文中,该选择还基于与当前视频块相关联的缩放运动矢量差。方法3100还可以包括以下步骤:通过将第二运动矢量缩放到第一运动矢量来生成缩放运动矢量MV1'(x1',y1'),其中,第一运动矢量MV0(x0,y0)与TPM编解码块的第一分区相关联,并且第二运动矢量MV1(x1,y1)与TPM编解码块的第二分区相关联。
在一些实施例中,并且继续在示例18的上下文中,F(x1',x0,y1',y0)≥T,其中,F(·)是函数,并且其中,T是非负整数阈值。在一个示例中,T是预定的。在另一示例中,T是在序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、条带头、片组头或编解码树单元(CTU)中信令通知的。在又一示例中,T基于当前视频块的尺寸、当前视频块的编解码模式、当前视频块的条带类型、或当前视频块的图片类型。
在又一示例中,F=max(abs(x1'-x0),abs(y1'-y0))。
在又一示例中,F=min(abs(x1'-x0),abs(y1'-y0))。
在又一示例中,F=abs(x1'-x0)+abs(y1'-y0)。
在又一示例中,F是MV0和MV1'的平均值。
在一些实施例中,该选择还基于两个参考图片之间的图片顺序计数(POC)距离。
图32示出了用于视频处理的示例性方法的流程图。方法3200包括,在步骤3210,通过选择性地修剪从多个常规Merge候选推导的一个或多个三角形预测模式(TPM)候选来生成修剪的TPM候选。
方法3200包括,在步骤3220,基于修剪的TPM候选来重构当前视频块。
在一些实施例中,并且在示例19的上下文中,一个或多个TPM候选被修剪,并且多个常规Merge候选包括单向预测或双向预测常规Merge候选。
在一些实施例中,并且在示例20的上下文中,选择性地修剪包括修剪一个或多个TPM候选中的前K个候选,其中,K是整数。在示例中,5≤K≤8。在另一示例中,多个常规Merge候选包括第一双向预测常规Merge候选。在又一示例中,一个或多个TPM候选被修剪,并且方法3200还可以包括以下步骤:避免修剪多个常规Merge候选。
图33示出了用于视频处理的示例性方法的流程图。方法3300包括,在步骤3310,基于插入顺序将来自第一列表的第一多个运动候选和来自第二列表的第二多个运动候选插入到候选列表中,其中,插入顺序基于第三多个运动候选到候选列表中的先前插入顺序。
方法3300包括,在步骤3320,基于候选列表来重构当前视频块。
在一些实施例中,并且在示例21的上下文中,第三多个运动候选包括从一个双向预测常规运动候选推导的两个候选,其中,在来自第一列表的另一候选之前添加了来自第二列表的候选,并且插入顺序包括第一多个运动候选,随后是第二多个运动候选。在其他实施例中,第三多个运动候选包括来自第一列表的一个单向预测候选,并且插入顺序包括第二多个运动候选,随后是第一多个运动候选。
图34示出了用于视频处理的示例性方法的流程图。方法3400包括,在步骤3410,确定与当前视频块相关联的序列参数集(SPS)中的条带类型和三角形预测模式(TPM)标志的值。
方法3400包括,在步骤3420,基于条带类型和该值来重构当前视频块。
在一些实施例中,并且在示例22的上下文中,条带类型是B条带。在其他实施例中,TPM标志是在视频参数集(VPS)、图片参数集(PPS)、图片头、条带头或片组头中进一步信令通知的。
又一种用于视频处理的示例性方法包括:检查一个或多个基于历史的运动矢量预测(HMVP)候选,以用于添加到Merge候选列表;在检查一个或多个HMVP候选之后,检查新运动候选的集合,以用于添加到Merge候选列表,其中,新运动候选的集合中的每一个运动候选不基于先前添加的HMVP信息并且不用于更新HMVP表;以及基于新运动候选的集合来重构当前视频块。在一些实施例中,新运动候选的集合包括成对平均双向预测候选、组合双向预测候选或零运动候选。在其他实施例中,当前视频块的高度或宽度小于等于M(例如,M=4)。在另外的其他实施例中,该方法还包括以下步骤:在检查一个或多个HMVP候选之后,确定Merge候选列表未满,以及将HMVP表的最后一个条目重复添加到Merge候选列表,直到Merge候选列表满为止。
又一种用于视频处理的示例性方法包括:检查或更新基于历史的运动矢量预测(HMVP)表,基于该检查或更新来推导运动候选,用运动候选编解码当前视频块,以及避免使用基于当前视频块的运动信息来更新HMVP表。在一些实施例中,运动候选是成对平均双向预测候选、组合双向预测候选、零运动候选或默认运动候选。在其他实施例中,当前视频块的高度或宽度小于等于M。在一个示例中,M=4。
5用于视频编解码的默认运动候选的示例实施例
以下示例性实施例与TPM候选列表构建过程相关,其中TPM候选列表尺寸由M表示。
实施例#1:TPM的单向预测候选列表(具有默认运动候选)
在该实施例中,当将TPM候选插入到候选列表时没有修剪,然而,对于常规运动候选推导过程有修剪。
示例描述如下:涉及以下步骤以尽可能地统一TPM列表和常规Merge列表(在一个示例中,前三个步骤可以与常规Merge列表相同):
1.利用修剪(例如,以常规Merge列表进行的方式进行有限修剪)从A1、B1、B0、A0、B2(对应于图14中的块1-5)获得常规运动候选
2.从Col1或Col2(对应于图14中的块6-7)获得常规运动候选
3.利用修剪(例如,以常规Merge列表进行的方式进行修剪)从HMVP候选获得常规运动候选。
4.设置变量numCurrMrgCand=0
5.对于修剪之后的每个可用常规运动候选,并且numCurrMrgCand小于M,执行以下步骤以将TPM候选添加到列表:
-如果常规运动候选是单向预测(来自列表0或列表1),则它作为TPM候选被直接添加到Merge列表,其中numCurrMrgCand增加1。
-如果常规运动候选是双向预测,则按顺序添加以下两个候选。
i)来自列表0的运动信息作为新的TPM候选被添加到TPM Merge列表(即,被修改为来自列表0的单向预测),并且numCurrMrgCand增加1。
ii)来自列表1的运动信息被添加到TPM Merge列表(即,被修改为来自列表1的单向预测),并且numCurrMrgCand增加1。
6.如果numCurrMrgCand小于M,则按顺序按以下步骤添加默认运动候选,直到numCurrMrgCand等于M:
-设置变量numRef=minimum(列表0中的参考图片的数量,列表1中的参考图片的数量)。
-对于每个i为0…numRef-1,
i)添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为i,预测方向设置为列表0,并且numCurrMrgCand增加1。
ii)添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为i,预测方向设置为列表1,并且numCurrMrgCand增加1。
-设置变量numPrevMrgCand=numCurrMrgCand。
-对于i为0…(M-numPrevMrgCand-1),添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为0,预测方向设置为列表0,并且numCurrMergeCand增加1。
可替换地,步骤6可以被替代为:
6.如果numCurrMergeCand小于M,则按顺序按以下步骤添加默认运动候选,直到numCurrMergeCand等于M:
-设置变量numRefList0=列表0中的参考图片的数量。
i)对于每个i为0…numRefList0-1,添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为i,预测方向设置为列表0,并且numCurrMrgCand增加1。
-设置变量numRefList1=列表1中的参考图片的数量。
i)对于每个i为0…numRefList1-1,添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为i,预测方向设置为列表1,
并且numCurrMrgCand增加1。
-设置变量numPrevMrgCand=numCurrMrgCand。
-对于i为0…(M-numPrevMrgCand-1),添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为0,预测方向设置为列表0,并且numCurrMrgCand增加1。
实施例#2:TPM的单向预测候选列表(具有从列表0/列表1双向预测常规Merge候选
推导的TPM候选的自适应顺序)
涉及以下步骤以尽可能地统一TPM列表和常规Merge列表(在一个示例中,前三个步骤可以与常规Merge列表相同):
1.利用修剪(例如,以常规Merge列表进行的方式进行有限修剪)从A1、B1、B0、A0、B2(对应于图14中的块1-5)获得常规运动候选
2.从Col1或Col2(对应于图14中的块6-7)获得常规运动候选
3.利用修剪(例如,以常规Merge列表进行的方式进行修剪)从HMVP候选获得常规运动候选。
4.设置变量numCurrMrgCand=0,prevDir=列表1;
5.对于每个常规运动候选,并且numCurrMrgCand小于5,执行以下步骤以将TPM候选添加到列表:
-如果常规运动候选是单向预测(来自列表0或列表1),则它作为TPM候选被直接添加到Merge列表,其中numCurrMrgCand增加1。并且prevDir设置为单向预测常规Merge候选的方向;
-如果常规运动候选是双向预测,则按顺序添加以下两个候选。
i)设置变量currDir=prevDir==列表0?列表1:列表0。
ii)来自currDir的运动信息作为新的TPM候选被添加到TPMMerge列表(即,被修改为来自currDir的单向预测),并且numCurrMrgCand增加1。
iii)来自prevDir的运动信息被添加到TPM Merge列表(即,被修改为来自prevDir的单向预测),并且numCurrMrgCand增加1。
iv)prevDir=currDir;
6.如果numCurrMrgCand小于M,则按顺序添加默认运动候选,直到numCurrMrgCand等于M,诸如实施例#1中的过程。
实施例#3:TPM的单向预测候选列表(具有TPM候选当中的有限修剪)
涉及以下步骤以尽可能地统一TPM列表和常规Merge列表(在一个示例中,前三个步骤可以与常规Merge列表相同):
1.利用修剪(例如,以常规Merge列表进行的方式进行有限修剪)从A1、B1、B0、A0、B2(对应于图14中的块1-5)获得常规运动候选
2.从Col1或Col2(对应于图14中的块6-7)获得常规运动候选
3.利用修剪(例如,以常规Merge列表进行的方式进行修剪)从HMVP候选获得常规运动候选。
4.设置变量numCurrMrgCand=0,isFirstUsedBi为假;
5.对于每个常规运动候选,并且numCurrMrgCand小于5,执行以下步骤以将TPM候选添加到列表:
-如果常规运动候选是单向预测(来自列表0或列表1),则它作为TPM候选(由TPM[numCurrMrgCand]表示)被直接添加到Merge列表,并且numCurrMrgCand增加1。
-如果常规运动候选是双向预测,则按顺序添加以下两个候选。
i)设置变量numPrevMrgCand=numCurrMrgCand。
ii)来自列表0的运动信息作为新的TPM候选被添加到TPM Merge列表(即,被修改为来自列表0的单向预测),由TPM[numCurrMrgCand]表示,
-如果numCurrMrgCand非零,isFirstUsedBi为真,并且TPM[numCurrMrgCand]与TPM[numPrevMrgCand-1]相同,转到步骤iii)。
-否则,添加TPM[numCurrMrgCand]并且numCurrMrgCand增加1。
iii)来自列表1的运动信息被添加到TPM Merge列表(即,被修改为来自列表1的单向预测),由TPM[numCurrMrgCand]表示,
-如果numCurrMrgCand非零,isFirstUsedBi为真,并且TPM[numCurrMrgCand]与TPM[numPrevMrgCand-1]相同,转到下一个常规Merge候选。
-否则,添加TPM[numCurrMrgCand]并且numCurrMrgCand增加1。
iv)isFirstUsedBi设置为假。
6.如果numCurrMrgCand小于M,则按顺序添加默认运动候选,直到numCurrMrgCand等于M,诸如实施例#1中的过程。
实施例#4:TPM的单向预测候选列表(对于常规运动候选不进行修剪,并且对于TPM
候选进行有限修剪)
涉及以下步骤以推导TPM列表,并且移除常规运动候选的冗余检查(修剪过程),并且应用TPM候选修剪。注意,冗余检查/修剪过程是指检查要被添加到列表的元素,以查看该元素是否冗余,并且相应地确定后续步骤。后续步骤可以是丢弃该元素。后续步骤还可以移除列表中冗余的现有元素,并将该元素添加到列表。
示例描述如下:
1.从A1、B1、B0、A0、B2(对应于图14中的块1-5)获得常规运动候选,而没有修剪
2.从Col1和/或Col2(对应于图14中的块6-7)获得常规运动候选,而没有修剪
3.从HMVP候选获得常规运动候选,而没有修剪。
4.设置变量numCurrMrgCand=0,numCheckedCanD=0;
5.对于每个可用常规运动候选,并且numCurrMrgCand小于M,执行以下步骤以将TPM候选添加到列表:
-如果常规运动候选是单向预测(来自列表0或列表1),
1)如果numCheckedCand小于Thres,则将修剪应用于常规运动候选。如果修剪过程返回假(即,没有找到相同或类似的TPM候选),则这样的常规运动候选作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。否则,它将作为TPM候选被直接添加到Merge列表,其中numCurrMrgCand增加1。
2)numCheckedCand增加1。
-如果常规运动候选是双向预测,则按顺序添加以下两个候选。
1)来自列表0的运动信息(即,被修改为来自列表0的单向预测)被设置为第一新的TPM候选。
2)如果numCheckedCand小于Thres,将修剪应用于第一新的TPM候选。如果修剪过程返回假(即,没有找到相同或类似的TPM候选),则这样的第一新的TPM候选作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。否则,它将作为TPM候选被直接添加到Merge列表,其中numCurrMrgCand增加1。
3)numCheckedCand增加1。
4)来自列表1的运动信息(即,被修改为来自列表1的单向预测)被设置为第二新的TPM候选。
5)如果numCheckedCand小于Thres,将修剪应用于第二新的TPM候选。如果修剪过程返回假(即,没有找到相同或类似的TPM候选),则这样的第二新的TPM候选作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。否则,它将作为TPM候选被直接添加到Merge列表,其中numCurrMrgCand增加1。
6)numCheckedCand增加1。
6.如果numCurrMrgCand小于M,则按顺序添加默认运动候选,直到numCurrMrgCand等于M,诸如实施例#1中的过程。
变量Thres可以是预定义的,例如5或6。或者它可以基于多少常规运动候选是可用的而自适应地改变。
实施例#5:TPM的单向预测候选列表(具有有限TPM修剪)
示例描述如下:涉及以下步骤以尽可能地统一TPM列表和常规Merge列表。在一个示例中,在调用虚拟Merge候选之前的常规Merge列表构建过程(即,在HMVP候选检查过程之后立即终止)被重用以获得常规运动候选。可替换地,在调用HVMP Merge候选检查过程之前的常规Merge列表构建过程(即,在TMVP候选检查过程之后或者在空域Merge候选检查过程之后立即终止)被重用以获得常规运动候选。
1.设置变量numCurrMrgCand=0
2.对于修剪之后的每个可用常规运动候选,并且numCurrMrgCand小于M,执行以下步骤以将TPM候选添加到列表:
-如果常规运动候选是单向预测(来自列表0或列表1),则适用以下条件:
i)它作为TPM候选被直接添加到Merge列表,其中numCurrMrgCand增加1。
ii)可替换地,如果numCurrMrgCand等于0,则它作为TPM候选被直接添加到Merge列表,其中numCurrMrgCand增加1,而如果numCurrMrgCand不等于0并且它不同于索引等于(numCurrMrgCand-1)的前一个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
iii)可替换地,如果numCurrMrgCand不等于0并且它不同于索引等于0的第一个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
iv)可替换地,如果numCurrMrgCand不等于0并且它不同于前或先前L个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
-如果常规运动候选是双向预测,则按顺序添加以下两个候选。
i)来自列表0的运动信息作为新的TPM候选被添加到TPM Merge列表(即,被修改为来自列表0的单向预测),并且numCurrMrgCand增加1。
(1)可替换地,如果numCurrMrgCand不等于0并且它不同于索引等于(numCurrMrgCand-1)的前一个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
(2)可替换地,如果numCurrMrgCand不等于0并且它不同于索引等于0的第一个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
(3)可替换地,如果numCurrMrgCand不等于0并且它不同于前或先前L个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
ii)如果来自列表1中的运动信息不同于索引等于(numCurrMrgCand-1)的前一个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
(1)可替换地,它被添加到TPM Merge列表(即,被修改为来自列表1的单向预测),并且numCurrMrgCand增加1。
(2)可替换地,如果它不同于索引等于0的第一个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
(3)可替换地,如果它不同于前/先前L个TPM候选,则它作为TPM候选被添加到Merge列表,其中numCurrMrgCand增加1。
3.如果numCurrMrgCand小于M,将按顺序按以下步骤添加默认运动候选,直到numCurrMrgCand等于M:
a)设置变量numRef=minimum(列表0中的参考图片的数量,列表1中的参考图片的数量)。
b)对于每个i为0…numRef-1,
i)添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为i,预测方向设置为列表0,并且numCurrMrgCand增加1。
ii)添加默认运动候选,其中MV设置为(0,0),并且参考图片索引设置为i,预测方向设置为列表1,并且numCurrMrgCand增加1。
c)重复以上步骤2)。
在一个示例中,M被设置为5。
步骤3中使用的默认运动候选可以由其他种类的默认运动候选替代。
如上所述两个候选是否不同可以定义如下:
1)如果低延迟检查标志为假(诸如在随机存取配置中),或者所有参考图片具有比当前图片更小和/或与当前图片相等的POC值,则两个候选总是被视为不同。
2)如果两个候选的参考图片的POC值不同,或者两个候选的运动矢量不同,则它们被视为不同。
3)如果两个候选的参考图片的预测方向或参考图片索引不同,或者两个候选的运动矢量不同,则它们被视为不同。
对于上述实施例,应该注意,与常规Merge候选列表中使用的空域/时域块和/或检查顺序相比,不同空域/时域块和/或不同检查顺序可以用于推导常规运动候选。步骤1)-3)也可以由用于非三角形块编解码的其他种类的常规运动候选推导过程替代。
还应该注意,当添加新的TPM候选时,可以不调用对先前添加的TPM候选的修剪/部分修剪/完全修剪。
常规运动候选可以首先与其他常规运动候选进行比较,如果它与另一个相同或类似,则这样的常规运动候选不用于推导TPM候选。
除了上述步骤之外,可以推导其他种类的TPM候选并将其添加到TPM候选列表,诸如两个TPM候选的平均/一个双向预测常规运动候选的平均MV/从具有偏移的现有TPM候选推导的新的TPM候选等。
6所公开技术的示例实施方式
图35是视频处理装置3500的框图。装置3500可以用来实施本文描述的方法中的一种或多种。装置3500可以体现在智能电话、平板电脑、计算机、物联网(Internet ofThings,IoT)接收器等中。装置3500可以包括一个或多个处理器3502、一个或多个存储器3504、以及视频处理硬件3506。(多个)处理器3502可以被配置为实施本文档中描述的一种或多种方法(包括但不限于方法2900、3000、3100、3200、3300和3400)。存储器(多个存储器)3504可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3506可以用来以硬件电路实施本文档中描述的一些技术。
在一些实施例中,视频编解码方法可以使用如参考图35所述的在硬件平台上实施的装置而实施。
以下条款列表描述了实施一些所公开技术的示例实施例。
1.一种用于视频处理的方法,包括:将Merge候选识别为默认运动候选;基于该识别将Merge候选添加到Merge候选列表;以及基于Merge候选列表来重构当前视频块。
2.根据条款1所述的方法,其中,Merge候选包括6参数仿射Merge候选,并且其中Merge候选列表包括仿射或子块Merge候选列表。
3.根据条款2所述的方法,其中,默认运动候选的运动矢量被设置为(0,0)。
4.根据条款3所述的方法,其中,运动矢量的预测方向被设置为单向预测,并且其中,当前视频块位于P条带中。
5.根据条款3所述的方法,其中,运动矢量的预测方向被设置为双向预测,并且其中,当前视频块位于B条带中。
6.根据条款1所述的方法,其中,Merge候选列表包括仿射或子块Merge候选列表,其中,默认运动候选的参考图片索引被设置为K,并且其中,K是非负整数。
7.根据条款1所述的方法,其中,Merge候选包括仿射模型,其中,Merge候选列表包括仿射或子块Merge候选列表,并且其中,仿射模型的类型基于可用运动候选。
8.根据条款7所述的方法,其中,仿射模型的类型基于可用运动候选中的第一可用运动候选的仿射模型。
9.根据条款7所述的方法,其中,仿射模型的类型基于在可用运动候选当中最常用的仿射模型。
10.根据条款1所述的方法,其中,Merge候选列表包括三角形预测模式(TPM)候选列表。
11.根据条款10所述的方法,还包括:在确定Merge候选列表未满时,将默认运动候选重复添加到Merge候选列表。
12.根据条款11所述的方法,其中,默认运动候选与被设置为M的参考图片索引相关联,其中,M是非负整数。
13.根据条款12所述的方法,其中,M是预定的。
14.根据条款12所述的方法,其中,M是在序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、条带头、片组头或编解码树单元(CTU)中信令通知的。
15.根据条款12所述的方法,其中,M还与并置图片的参考图片索引相关联。
16.根据条款12所述的方法,其中,默认运动候选的预测方向基于当前视频块的条带类型、当前视频块的片类型、或当前视频块的图片类型。
17.根据条款10所述的方法,其中,默认运动候选包括与列表0中的参考图片索引0相关联的零运动矢量,并且其中,所述方法还包括:在确定Merge候选列表未满时,按照以下顺序将附加默认运动候选添加到Merge候选列表:与参考图片索引1至NList0-1相关联的零运动矢量,以及与参考图片索引0至NList1-1相关联的零运动矢量;以及在确定Merge候选列表未满时,将与来自列表0或列表1的预定参考图片索引相关联的零运动矢量重复添加到Merge候选列表,其中,NList0和NList1分别是列表0和列表1的整数尺寸。
18.根据条款10所述的方法,其中,默认运动候选包括与列表0中的参考图片索引0相关联的零运动矢量,并且其中,所述方法还包括:在确定Merge候选列表未满时,按照以下顺序将附加默认运动候选添加到Merge候选列表:与列表1中的参考图片索引0相关联的零运动矢量,与列表0中的参考图片索引M相关联的零运动矢量,以及与列表1中的参考图片索引M相关联的零运动矢量,其中,M是等于1,2,…min(NList0,NList1)-1的整数;以及在确定Merge候选列表未满时,将与来自列表0或列表1的预定参考图片索引相关联的零运动矢量重复添加到Merge候选列表,其中,NList0和NList1分别是列表0和列表1的整数尺寸。
19.根据条款1所述的方法,其中,默认运动候选的参考图片索引或预测方向基于一个或多个可用运动候选。
20.根据条款19所述的方法,其中,参考图片索引或预测方向分别基于一个或多个可用运动候选中的第一可用运动候选的参考索引或预测方向。
21.根据条款19所述的方法,其中,参考图片索引或预测方向分别基于在一个或多个可用运动候选当中最常用的参考索引或预测方向。
22.根据条款19至21中任一项所述的方法,其中,一个或多个可用运动候选包括所有可用运动候选。
23.根据条款19至21中任一项所述的方法,其中,一个或多个可用运动候选包括前K个可用运动候选,其中,K是正整数。
24.根据条款1所述的方法,其中,默认运动候选与不同于包括当前视频块的当前图片的参考图片相关联。
25.根据条款1所述的方法,其中,Merge候选列表包括高级运动矢量预测(AMVP)候选列表。
26.一种用于视频处理的方法,包括:从当前视频块的常规运动候选推导三角形预测模式(TPM)候选;选择性地将TPM候选添加到TPM候选列表;以及基于TPM候选列表来重构当前视频块。
27.根据条款26所述的方法,其中,常规运动候选包括成对平均候选。
28.根据条款27所述的方法,其中,TPM候选包括成对平均候选的列表0运动信息。
29.根据条款27所述的方法,其中,TPM候选包括成对平均候选的列表1运动信息。
30.根据条款27所述的方法,其中,TPM候选包含常规运动候选的列表0运动信息和列表1运动信息的平均运动信息。
31.根据条款26所述的方法,其中,常规运动候选是从右下方并置时域块、中心并置时域块、或不同于右下方和中心并置时域块的至少一个时域块推导的。
32.根据条款31所述的方法,其中,至多一个时域块是通过常规运动候选而识别的。
33.根据条款26所述的方法,其中,TPM候选包括与当前图片参考(CPR)模式不相关联的参考图片,并且其中,TPM候选不被添加到TPM候选列表。
34.根据条款26所述的方法,其中,TPM候选包括与当前图片参考(CPR)模式相关联的参考图片,并且其中,TPM候选不被添加到TPM候选列表。
35.一种用于视频处理的方法,包括:在确定当前视频块是三角形预测模式(TPM)编解码块时,选择加权因子组;以及基于加权因子组来重构当前视频块。
36.根据条款35所述的方法,还包括:使用加权因子组来替代加权平均过程。
37.根据条款35所述的方法,其中,加权因子组是{0,0,…,0}。
38.根据条款35所述的方法,其中,加权因子组是{1,1,…,1}。
39.根据条款35所述的方法,其中,重构当前视频块包括重构当前视频块的子块,并且其中,选择加权因子组是基于子块在当前视频块中的位置。
40.根据条款35所述的方法,其中,该选择还基于当前视频块的编解码模式、与当前视频块相关联的运动矢量的精度、或当前视频块的颜色分量中的至少一个。
41.根据条款40所述的方法,其中,运动矢量的精度是整数精度。
42.根据条款40所述的方法,其中,当前视频块的颜色分量是当前视频块的色度分量。
43.根据条款35所述的方法,其中,该选择还基于当前视频块的比特流表示中的低延迟检查标志的值。
44.根据条款35所述的方法,其中,该选择还基于与当前视频块相关联的缩放运动矢量差。
45.根据条款44所述的方法,其中,第一运动矢量MV0(x0,y0)与TPM编解码块的第一分区相关联,其中,第二运动矢量MV1(x1,y1)与TPM编解码块的第二分区相关联,并且其中,所述方法还包括:通过将第二运动矢量缩放到第一运动矢量来生成缩放运动矢量MV1'(x1',y1')。
46.根据条款45所述的方法,其中,F(x1',x0,y1',y0)≥T,其中,F(·)是函数,并且其中,T是非负整数阈值。
47.根据条款46所述的方法,其中,T是预定的。
48.根据条款46所述的方法,其中,T是在序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、条带头、片组头或编解码树单元(CTU)中信令通知的。
49.根据条款46所述的方法,其中,T基于当前视频块的尺寸、当前视频块的编解码模式、当前视频块的条带类型、或当前视频块的图片类型。
50.根据条款46至49中任一项所述的方法,其中,F=max(abs(x1'-x0),abs(y1'-y0))。
51.根据条款46至49中任一项所述的方法,其中,F=min(abs(x1'-x0),abs(y1'-y0))。
52.根据条款46至49中任一项所述的方法,其中,F=abs(x1'-x0)+abs(y1'-y0)。
53.根据条款46至49中任一项所述的方法,其中,F是MV0和MV1'的平均值。
54.根据条款35所述的方法,其中,该选择还基于两个参考图片之间的图片顺序计数(POC)距离。
55.一种用于视频处理的方法,包括:通过选择性地修剪从多个常规Merge候选推导的一个或多个三角形预测模式(TPM)候选来生成修剪的TPM候选;以及基于修剪的TPM候选来重构当前视频块。
56.根据条款55所述的方法,其中,一个或多个TPM候选被修剪,并且其中,多个常规Merge候选包括单向预测或双向预测常规Merge候选。
57.根据条款55所述的方法,其中,选择性地修剪包括修剪一个或多个TPM候选中的前K个候选,其中,K是整数。
58.根据条款57所述的方法,其中,5≤K≤8。
59.根据条款55所述的方法,其中,多个常规Merge候选包括第一双向预测常规Merge候选。
60.根据条款55所述的方法,其中,一个或多个TPM候选被修剪,并且其中,所述方法还包括:避免修剪多个常规Merge候选。
61.一种用于视频处理的方法,包括:基于插入顺序将来自第一列表的第一多个运动候选和来自第二列表的第二多个运动候选插入到候选列表中,其中,插入顺序基于第三多个运动候选到候选列表中的先前插入顺序;以及基于候选列表来重构当前视频块。
62.根据条款61所述的方法,其中,第三多个运动候选包括从一个双向预测常规运动候选推导的两个候选,其中,在来自第一列表的另一候选之前添加了来自第二列表的候选,并且其中,插入顺序包括第一多个运动候选,随后是第二多个运动候选。
63.根据条款61所述的方法,其中,第三多个运动候选包括来自第一列表的一个单向预测候选,并且其中,插入顺序包括第二多个运动候选,随后是第一多个运动候选。
64.一种用于视频处理的方法,包括:确定与当前视频块相关联的序列参数集(SPS)中的条带类型和三角形预测模式(TPM)标志的值;以及基于条带类型和该值来重构当前视频块。
65.根据条款64所述的方法,其中,条带类型是B条带。
66.根据条款64所述的方法,其中,TPM标志是在视频参数集(VPS)、图片参数集(PPS)、图片头、条带头或片组头中进一步信令通知的。
67.一种用于视频处理的方法,包括:检查一个或多个基于历史的运动矢量预测(HMVP)候选,以用于添加到Merge候选列表;在检查一个或多个HMVP候选之后,检查新运动候选的集合,以用于添加到Merge候选列表,其中,新运动候选的集合中的每一个运动候选不基于先前添加的HMVP信息并且不用于更新HMVP表;以及基于新运动候选的集合来重构当前视频块。
68.根据条款67所述的方法,其中,新运动候选的集合包括成对平均双向预测候选、组合双向预测候选或零运动候选。
69.根据条款67或68所述的方法,其中,当前视频块的高度或宽度小于等于M。
70.根据条款69所述的方法,其中,M=4。
71.根据条款67所述的方法,还包括:在检查一个或多个HMVP候选之后,确定Merge候选列表未满;以及将HMVP表的最后一个条目重复添加到Merge候选列表,直到Merge候选列表满为止。
72.根据条款1至71中任一项所述的方法,还包括:在与当前视频块相同的图片中重构其他视频块。
73.一种用于视频处理的方法,包括:检查或更新基于历史的运动矢量预测(HMVP)表;基于该检查或更新来推导运动候选;用运动候选编解码当前视频块;以及避免使用基于当前视频块的运动信息来更新HMVP表。
74.根据条款73所述的方法,其中,运动候选是成对平均双向预测候选、组合双向预测候选、零运动候选或默认运动候选。
75.根据条款73或74所述的方法,其中,当前视频块的高度或宽度小于等于M。
76.根据条款75所述的方法,其中,M=4。
77.一种视频处理的方法,包括:在当前视频块和当前视频块的比特流表示之间的转换期间,基于常规Merge候选列表的尺寸来控制帧内编解码模式的Merge候选列表的生成;以及使用帧内编解码模式的Merge候选列表来执行该转换。
78.根据条款77所述的方法,其中,帧内编解码模式是帧内块复制(IBC)模式。
79.根据条款77-78中任一项所述的方法,其中,控制包括在确定常规Merge候选列表小于帧内编解码模式的Merge候选列表时,将附加候选添加到帧内编解码模式的Merge候选列表。
80.根据条款77-78中任一项所述的方法,其中,在比特流表示中信令通知的Merge候选索引小于常规Merge候选列表的尺寸。
81.根据条款77-78中任一项所述的方法,其中,帧内编解码模式的Merge候选列表的尺寸不大于预定数P。
82.根据条款81所述的方法,其中,预定数P是在比特流表示中信令通知的。
83.根据条款77-78中任一项所述的方法,其中,在比特流表示中信令通知了帧内编解码模式的Merge候选列表的尺寸和常规Merge候选列表的尺寸之间的差。
前一章节中的示例29提供了条款77-83的实施例的附加示例。
84.一种视频处理方法,包括:对于用于当前视频块和当前视频块的比特流表示之间的转换的基于历史的运动矢量预测值(HMVP)表,在其中启用了帧内编解码模式的视频区域的边界处执行重置操作,其中,当前视频块是视频区域的一部分;以及使用HMVP表执行该转换。
85.根据条款84所述的方法,其中,视频区域是片组。
86.根据条款84所述的方法,其中,对帧内片组用于编解码的视频区域执行重置操作。
87.根据条款77-86中任一项所述的方法,其中,该转换包括从当前视频块生成比特流表示或者从比特流表示生成当前视频块。
示例项目30提供了条款84至87的附加实施例。
88.一种视频系统中的装置,包括处理器和其上有指令的非暂时性存储器,其中该指令在由处理器执行时使得处理器实施根据条款1至87中任一项所述的方法。
89.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行条款1至87中任一项所述的方法的程序代码。
图36是示出可以在其中实施本文公开的各种技术的示例视频处理系统3600的框图。各种实施方式可以包括系统3600的一些或所有组件。系统3600可以包括用于接收视频内容的输入3602。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是压缩或编码格式。输入3602可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(Passive Optical Network,PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统3600可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件3604。编解码组件3604可以将来自输入3602的视频的平均比特率减小到编解码组件3604的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件3604的输出可以被存储,或者经由如由组件3606表示的通信连接而发送。在输入3602处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件3608用于生成像素值或传送到显示接口3610的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(Universal SerialBus,USB)、或高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(Serial Advanced TechnologyAttachment,串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
图37是根据本公开的用于视频处理的方法3700的流程图表示。方法3700包括,在操作3710,对于视频的当前块和视频的比特流表示之间的转换,确定6参数仿射Merge候选是要被添加到运动候选列表的默认运动候选。响应于运动候选列表中的候选数量小于允许的最大值,默认运动候选被添加到运动候选列表。方法3700还包括,在操作3720,基于该确定执行该转换。
在一些实施例中,Merge候选列表包括仿射Merge候选列表或子块Merge候选列表。在一些实施例中,默认运动候选具有零运动矢量(0,0)。在一些实施例中,在当前块位于P条带中的情况下,默认运动候选的预测方向被设置为基于参考图片列表0的单向预测。在一些实施例中,在当前块位于B条带中的情况下,默认运动候选的预测方向被设置为双向预测。
图38是根据本公开的用于视频处理的方法3800的流程图表示。方法3800包括,在操作3810,对于视频的当前块和视频的比特流表示之间的转换,确定要被添加到运动候选列表的第一默认运动候选的参考图片索引K,K是非负整数。响应于运动候选列表中的候选数量小于允许的最大值,第一默认运动候选被添加到运动候选列表。方法3800还包括,在操作3820,基于该确定执行该转换。
在一些实施例中,K=0。在一些实施例中,该方法包括确定要被添加到运动候选列表的第二默认运动候选。第一默认运动候选和第二默认运动候选根据相应参考图片索引的递增顺序而添加到运动候选列表。
图39是根据本公开的用于视频处理的方法3900的流程图表示。方法3900包括,在操作3910,对于视频的当前块和视频的比特流表示之间的转换,基于当前块的可用运动候选来确定要被添加到运动候选列表的默认运动候选的仿射模型类型。响应于运动候选列表中的候选数量小于允许的最大值,默认运动候选被添加到运动候选列表。方法3900还包括,在操作3920,基于该确定执行该转换。
在一些实施例中,默认运动候选的仿射模型类型与当前块的第一可用运动候选的仿射模型类型相同。在一些实施例中,默认运动候选的仿射模型类型是由当前块的可用运动候选的子集或全部最常用的仿射模型类型。
图40是根据本公开的用于视频处理的方法4000的流程图表示。方法4000包括,在操作4010,对于视频的当前块和视频的比特流表示之间的转换,确定几何预测模式候选列表的默认运动候选。三角形预测模式将当前视频块分割为多个分区。方法4000还包括,在操作4020,基于该确定执行该转换。
在一些实施例中,默认运动候选被重复添加到几何预测模式候选列表,直到几何预测模式候选列表满为止。在一些实施例中,默认运动候选具有零运动矢量。在一些实施例中,默认运动候选的参考图片索引等于M,M是非负整数。在一些实施例中,M=0。
在一些实施例中,默认运动候选的参考图片索引是在序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、条带头、片组头或编解码树单元(CTU)中信令通知的。在一些实施例中,默认运动候选的参考图片索引与和当前块并置的图片相关联。在一些实施例中,默认运动候选的预测方向基于当前块的条带类型、片类型或图片类型。
在一些实施例中,参考图片列表0包括N个参考图片,并且参考图片列表1包括M个参考图片。几何预测模式候选列表是通过将第一默认候选集合插入到几何预测模式候选列表而构建的,每个默认候选包括预定义运动矢量和与参考图片列表0相关联的在范围0至N-1中的参考图片索引。在几何预测模式候选列表未满的情况下,通过将第二默认候选集合插入到几何预测模式候选列表来构建列表,每个默认候选包括预定义运动矢量和与参考图片列表1相关联的在范围0至M-1中的参考图片索引。在几何预测模式候选列表未满的情况下,通过将第三默认候选重复插入到几何预测模式候选列表直到几何预测模式候选列表满来构建列表,第三默认候选包括预定义运动矢量和与参考图片列表0或参考图片列表1相关联的特定参考图片索引。
在一些实施例中,参考图片列表0包括N个参考图片,并且参考图片列表1包括M个参考图片。几何预测模式候选列表是通过将第一默认候选和第二默认候选重复插入到几何预测模式候选列表而构建的。第一默认候选包括预定义运动矢量和第一参考图片索引,并且第二默认候选包括预定义运动矢量和第二参考图片索引。第一参考图片索引是基于与参考图片列表0相关联的来自范围0至N-1的预定义顺序而选择的,并且第二参考图片索引是基于与参考图片列表1相关联的来自范围0至M-1的预定义顺序而选择的。在几何预测模式候选列表未满的情况下,列表通过将第三默认候选重复添加到几何预测模式候选列表直到几何预测模式候选列表满而构建。第三默认候选包括预定义运动矢量和与参考图片列表0或参考图片列表1相关联的特定参考图片索引。
在一些实施例中,预定义顺序包括升序或降序。在一些实施例中,预定义运动矢量包括零运动矢量。在一些实施例中,预定义运动矢量包括不是零运动矢量的默认运动矢量。在一些实施例中,在插入第三默认候选之前插入的默认候选由具有不相等运动矢量的运动候选替代。在一些实施例中,默认运动候选包括几何预测模式虚拟运动候选,并且几何预测模式虚拟运动候选是基于当前块的可用几何预测模式候选而推导的。
在以上方法的一些实施例中,默认运动候选的参考图片索引或预测方向基于当前块的可用运动候选。在一些实施例中,默认运动候选的参考图片索引或预测方向与当前块的第一可用运动候选的参考图片索引或预测方向相同。在一些实施例中,默认运动候选的参考图片索引或预测方向是由当前块的可用运动候选的子集或全部最常用的参考图片索引或预测方向。在一些实施例中,默认运动候选的参考图片索引基于参考图片列表中的参考图片。在一些实施例中,默认运动候选的参考图片索引基于相对于当前块所在的当前图片具有最小图片顺序计数距离的参考图片。在一些实施例中,当前块具有至少一个可用运动候选。在一些实施例中,默认运动候选是当前块的第K个默认运动候选。在一些实施例中,K=1。
在以上方法的一些实施例中,默认运动候选是基于虚拟运动候选而确定的,其中该虚拟运动候选是基于当前块的可用运动候选而推导的。在一些实施例中,当前块位于当前图片中,并且默认运动候选与不同于当前图片的参考图片相关联。在一些实施例中,Merge候选列表包括高级运动矢量预测(AMVP)候选列表。
图41是根据本公开的用于视频处理的方法4100的流程图表示。方法4100包括,在操作4110,对于视频的当前块和视频的比特流表示之间的转换,使用通过对当前块的运动候选列表中的一对候选进行平均而获得的一个或多个成对平均候选来确定几何分割模式的一个或多个运动候选。三角形预测模式将当前视频块分割为多个分区。方法4100还包括,在操作4120,基于该确定执行该转换。
在一些实施例中,Merge候选列表包括仿射Merge候选列表或子块Merge候选列表。在一些实施例中,默认运动候选具有零运动矢量(0,0)。在一些实施例中,在当前块位于P条带中的情况下,默认运动候选的预测方向被设置为基于参考图片列表0的单向预测。在一些实施例中,在当前块位于B条带中的情况下,默认运动候选的预测方向被设置为双向预测。
图42是根据本公开的用于视频处理的方法4200的流程图表示。方法4200包括,在操作4210,对于视频的当前块和视频的比特流表示之间的转换,基于第一时域块集合和第二时域块集合来确定几何分割模式的运动候选。第一时域块集合包括与当前块并置的右下方时域块和中心时域块,并且第二集合不同于第一集合。方法4200还包括,在操作4220,基于该确定执行该转换。
在一些实施例中,第二时域块集合是基于现有的运动候选而识别的。在一些实施例中,仅第一集合中的右下方时域块或中心时域块中的一个用于确定运动候选。在一些实施例中,第一时域块集合中的至少一个时域块被排除用于确定运动候选。在一些实施例中,运动候选被添加到几何分割模式的候选列表。
图43是根据本公开的用于视频处理的方法4300的流程图表示。方法4300包括,在操作4310,对于视频的当前块和视频的比特流表示之间的转换,基于运动候选是否与第一参考图片相关联来确定运动候选是否被排除在候选列表之外,其中与运动候选相关的运动候选块位于该第一参考图片中。当前块是用不指向当前图片的第二参考图片而编解码的。方法4300还包括,在操作4320,基于该确定执行该转换。
在一些实施例中,在运动候选与第一参考图片相关联的情况下,从候选列表排除了运动候选。在一些实施例中,在运动候选与第一参考图片不相关联的情况下,从候选列表排除了运动候选。运动候选与不在当前图片中的第三参考图片相关联。
图44是根据本公开的用于视频处理的方法4400的流程图表示。方法4400包括,在操作4410,对于视频的当前块和视频的比特流表示之间的转换,基于在视频的先前处理的块中使用的插入顺序来确定双向预测Merge候选的参考图片列表0信息和参考图片列表1信息的插入顺序。方法4400还包括,在操作4420,基于该确定执行该转换。
在一些实施例中,两个Merge候选是Merge候选列表中的两个连续的双向预测候选。对于两个Merge候选中的第一Merge候选,参考图片列表X信息被放置在参考图片列表Y信息之前,并且对于两个Merge候选中的第二Merge候选,参考图片列表Y信息被放置在参考图片列表X信息之前,X+Y等于1,X和Y是非负整数。在一些实施例中,两个Merge候选中的第一Merge候选是与参考列表X相关联的单向预测候选,并且两个Merge候选中的第二Merge候选是连续定位在Merge候选列表中的第一Merge候选之后的双向预测候选。对于第二Merge候选,参考图片列表Y信息被放置在参考图片列表X信息之前,X+Y等于1,X和Y是非负整数。在一些实施例中,两个Merge候选中的第一Merge候选是双向预测候选。第一Merge候选的参考图片列表0信息被放置在第一Merge候选的参考图片列表1信息之前。根据参考图片列表0信息确定了几何分割模式候选,几何分割模式包括将当前块分割为多个分区。
图45是根据本公开的用于视频处理的方法4500的流程图表示。方法4500包括,在操作4510,对于视频的当前块和视频的比特流表示之间的转换,基于常规Merge列表的尺寸来确定几何分割模式的一个或多个运动候选。几何分割模式包括将当前块分割为多个分区。方法4500还包括,在操作4520,基于该确定执行该转换。
在一些实施例中,在常规Merge列表的尺寸小于几何分割模式候选列表的尺寸的情况下,一个或多个运动候选的数量增加。一个或多个运动候选至少包括虚拟运动候选或默认运动候选。在一些实施例中,在比特流中信令通知的运动候选的候选索引小于常规Merge列表的尺寸。在一些实施例中,在比特流中信令通知的运动候选的候选索引小于用于推导运动候选的常规Merge列表中的Merge候选的最大数量。在一些实施例中,常规Merge列表的尺寸与几何分割模式候选列表的尺寸相同。在一些实施例中,在比特流中信令通知的几何分割模式候选列表的尺寸小于或等于常规Merge列表的尺寸。在一些实施例中,在比特流中信令通知的几何分割模式候选列表的尺寸小于或等于P,P是整数。在一些实施例中,P=5。在一些实施例中,在比特流中信令通知的几何分割模式候选列表的尺寸大于或等于Q,Q是整数。在一些实施例中,Q是0或1。在一些实施例中,在比特流中信令通知了几何分割模式候选列表的尺寸。在一些实施例中,几何分割模式候选列表的尺寸被二值化为截断的一元码。在一些实施例中,在比特流中信令通知了常规Merge列表的尺寸和几何分割模式候选列表的尺寸之间的差。在一些实施例中,该差被二值化为截断的一元码。
图46是根据本公开的用于视频处理的方法4600的流程图表示。方法4600包括,在操作4610,对于视频的块和视频的比特流表示之间的转换,确定用于沿着块的两个分区的边缘的预测样点的加权平均的权重。两个分区是根据几何分割模式而生成的。权重是从权重中的至少一个等于0或1的第一加权因子组选择的。方法4600还包括,在操作4620,基于该确定执行该转换。
在一些实施例中,第一加权因子组包括所有0值或所有1值,并且基于两个分区中的仅一个分区的运动信息确定了块的最终预测结果。在一些实施例中,在单向预测模式下存储了块的所有子块的运动信息。在一些实施例中,该方法包括基于该块的子块的位置来确定第一加权因子组是否适用于该子块。
图47是根据本公开的用于视频处理的方法4700的流程图表示。方法4700包括,在操作4710,对于视频的块和视频的比特流表示之间的转换,确定用于沿着块的两个分区的边缘的预测样点的加权平均的权重。两个分区是根据几何分割模式而生成的。权重是基于块的特性从至少两个加权因子组中的第一加权因子组选择的。方法4700还包括,在操作4720,基于该确定执行该转换。
在一些实施例中,特性包括块的编解码模式、块的运动矢量的精度、块的颜色特性、或者指示块的时延属性的指示符。在一些实施例中,在当前块的至少一个参考图片位于包括当前块的当前图片中的情况下,权重是从第一加权因子组选择的。在一些实施例中,在两个分区的所有运动矢量具有整数精度的情况下,权重是从第一加权因子组选择的。在一些实施例中,在当前块是色度块的情况下,权重是从第一加权因子组选择的。
在一些实施例中,与第一分区相关联的第一运动矢量被表示为Mv0(x0,y0),与第二分区相关联的第二运动矢量被表示为Mv1(x1,y1)。第二运动矢量根据第一运动矢量指向的参考图片而缩放为Mv1’(x1’,y1’)。权重是基于关于x1’、x0、y1’、y0的函数F而从第一加权因子组选择的。在一些实施例中,在函数F的值大于或等于阈值的情况下,第二加权因子组中的权重被使用。在一些实施例中,阈值是预定义的。在一些实施例中,阈值为16<<MV_PRECISION,其中<<表示左移操作,并且MV_PRECISION表示所存储的运动矢量的精度。在一些实施例中,在所存储的运动矢量的精度是1/16像素的情况下,MV_PRECISION被设置为4。在一些实施例中,阈值是在序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、条带头、片组头、编解码树单元(CTU)或区域中信令通知的。在一些实施例中,阈值针对具有不同特性的不同块而变化。
在一些实施例中,特性包括编解码模式、尺寸、条带类型、片类型或图片类型。在一些实施例中,F是max(abs(x1’–x0),abs(y1’-y0))。在一些实施例中,F是min(abs(x1’–x0),abs(y1’-y0))。在一些实施例中,F是abs(x1’–x0)+abs(y1’-y0)。在一些实施例中,F是Mv0和Mv1’的平均值。在一些实施例中,两个分区的两个参考图片相同,并且两个参考图片不同于块所在的当前参考图片。
在一些实施例中,权重是基于与块的一个或多个参考图片相关联的特性而从第一加权因子组选择的。在一些实施例中,特性包括块的两个参考图片之间的图片顺序计数(POC)距离。在一些实施例中,特性包括块的参考图片和块所在的当前图片之间的图片顺序计数(POC)距离。
图48是根据本公开的用于视频处理的方法4800的流程图表示。方法4800包括,在操作4810,对于使用几何分割模式的在视频的当前块和视频的比特流表示之间的转换,基于当前块的编解码条件来确定是否对运动候选应用冗余检查。运动候选是从几何分割模式的一个或多个常规Merge候选推导的。方法4800还包括,在操作4820,基于该确定执行该转换。
在一些实施例中,编解码条件取决于冗余检查是否用于生成一个或多个常规Merge候选。在一些实施例中,编解码条件取决于一个或多个常规Merge候选是否是双向预测常规Merge候选。在一些实施例中,编解码条件取决于一个或多个常规Merge候选是否是单向预测常规Merge候选。在一些实施例中,在常规Merge候选是双向预测常规Merge候选的情况下,冗余检查被应用于候选列表中的其他运动候选。在一些实施例中,冗余检查被应用于候选列表中的前L个运动候选,L是正整数。在一些实施例中,在添加运动候选之前,冗余检查被应用于候选中的后L个运动候选,L是正整数。在一些实施例中,在常规Merge候选是单向预测常规Merge候选的情况下,冗余检查被应用于候选列表中的其他运动候选。在一些实施例中,冗余检查被应用于候选列表中的前L个运动候选,L是正整数。在一些实施例中,在添加运动候选之前,冗余检查被应用于候选列表中的后L个运动候选,L是正整数。在一些实施例中,L是1或2。
在一些实施例中,冗余检查仅被应用于从单向预测常规Merge候选推导的运动候选。在一些实施例中,冗余检查是否适用于运动候选是基于运动候选的预测方向。在一些实施例中,冗余检查是否适用于运动候选是基于运动候选是基于常规Merge候选的参考图片列表0还是参考图片列表1推导的,常规Merge候选是双向预测常规Merge候选。在一些实施例中,在运动候选是基于常规Merge候选的参考图片列表0而推导的情况下,跳过了冗余检查。在一些实施例中,在运动候选是基于常规Merge候选的参考图片列表1而推导的情况下,冗余检查被应用。在一些实施例中,冗余检查被应用于基于常规Merge候选的参考图片列表0而推导的另一运动候选。在一些实施例中,冗余检查被应用于候选列表中的前L个运动候选,L是正整数。在一些实施例中,在添加运动候选之前,冗余检查被应用于候选列表中的后L个运动候选,L是正整数。在一些实施例中,L是1或2。
在一些实施例中,冗余检查适用于不同的块、不同的区域、不同的片或不同的片组。在一些实施例中,冗余检查是否适用是基于候选列表中的第一个运动候选的预测方向。在一些实施例中,冗余检查是否适用是基于候选列表中的最后一个运动候选的预测方向。在一些实施例中,冗余检查是否适用于运动候选是基于候选列表中的可用候选。
在一些实施例中,冗余检查是否适用于运动候选是基于常规Merge候选的索引。在一些实施例中,当索引大于阈值时,跳过了冗余检查。在一些实施例中,常规Merge候选是第一双向预测常规Merge候选。在一些实施例中,在添加运动候选之前候选列表包括从单向预测常规Merge候选推导的其他候选的情况下,冗余检查被应用。在一些实施例中,在运动候选与从单向预测常规Merge候选推导的最后一个运动候选相同或类似的情况下,冗余检查被应用于运动候选以丢弃运动候选。
在一些实施例中,冗余检查是否适用于运动候选是基于当前块的尺寸。在一些实施例中,在当前块的宽度或高度大于阈值的情况下,跳过了冗余检查。在一些实施例中,冗余检查是否适用于运动候选是基于比特流中的时延的指示。在一些实施例中,冗余检查是否适用于运动候选是基于当前块的参考图片列表中的参考图片。在一些实施例中,在一个或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于当前块所在的当前图片的POC值的情况下,冗余检查被执行。在一些实施例中,在一个或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于或等于当前块所在的当前图片的POC值的情况下,冗余检查被执行。在一些实施例中,冗余检查是否适用于运动候选是基于两个参考图片列表是否包括至少一个公共参考图片。
在一些实施例中,有限冗余检查被应用于候选列表中的运动候选。在一些实施例中,要被检查冗余的运动候选的数量被限制为K。在一些实施例中,在已经被检查冗余的运动候选的数量达到K的情况下,跳过了冗余检查。在一些实施例中,在已经被检查冗余的运动候选的数量小于K的情况下,冗余检查被应用于候选列表中的候选的子集。在一些实施例中,将运动候选与其他运动候选进行比较的次数被限制为K。在一些实施例中,在已经将运动候选与其他运动候选比较了K次的情况下,跳过了冗余检查。在一些实施例中,在已经将运动候选与其他运动候选比较了少于K次的情况下,冗余检查被应用于候选列表中的候选的子集。在一些实施例中,候选的子集基于可用常规Merge候选的数量。在一些实施例中,候选的子集基于在执行任何冗余检查之前的几何分割模式的运动候选的数量。在一些实施例中,候选的子集基于以下中的至少一个:当前块的尺寸、条带、图片、片类型、或比特流中的时延的指示。在一些实施例中,候选的子集基于从其推导候选的子集的常规Merge候选集合。在一些实施例中,在冗余检查被应用于运动候选的情况下,在推导过程中跳过了冗余检查以确定常规Merge候选。在一些实施例中,在冗余检查已经用于生成一个或多个常规Merge候选的情况下,对运动候选跳过了冗余检查。
图49是根据本公开的用于视频处理的方法4900的流程图表示。方法4900包括,在操作4910,对于视频的当前块和视频的比特流表示之间的转换,基于包括当前块的条带是否是B条带来确定几何分割模式是否被启用。几何分割模式包括将当前块分割为多个分区。方法4900还包括,在操作4920,基于该确定执行该转换。
在一些实施例中,该确定是在没有检查比特流中的序列参数集中的指示符的情况下执行的。在一些实施例中,该确定基于比特流表示中的视频级别、图片级别、片级别或条带级别的指示符。在一些实施例中,该确定基于比特流表示中的视频参数集(VPS)、图片参数集(PPS)、条带头、片组头或图片头中的指示符。在一些实施例中,该确定仅基于比特流中的序列参数集中的指示符,其中该指示符指示对整个序列禁用几何分割模式,并且比特流不包括视频参数集(VPS)、图片参数集(PPS)、条带头、片组头或图片头中的附加指示符。在一些实施例中,在条带不是B条带的情况下,比特流不包括指示几何分割模式被启用还是禁用的任何指示符。在一些实施例中,在图片级别、片级别或条带级别的指示符指示几何模式被禁用的情况下,该确定是在没有检查块级别的指示符的情况下执行的。
在以上方法的一些实施例中,当前块基于至少一种划分模式而划分为多个分区。在一些实施例中,几何分割模式包括三角形分割模式。在一些实施例中,在几何分割模式下分割的多个分区中的至少一个是非正方形和非矩形块。
图50是根据本公开的用于视频处理的方法5000的流程图表示。方法5000包括,在操作5010,对于视频的块和视频的比特流表示之间的转换,将过去运动候选表中的至少一个过去运动候选插入到运动候选列表。过去运动候选表是基于过去的转换而推导的。方法5000包括,在操作5020,在插入了至少一个过去运动候选之后,确定运动候选不被添加到运动候选列表。运动候选是基于过去运动候选表而推导的。方法5000还包括,在操作5030,基于运动候选列表来执行该转换。
在一些实施例中,运动候选列表是Merge候选列表。在一些实施例中,表中的过去运动候选是基于历史的运动矢量预测(HMVP)候选。在一些实施例中,运动候选是两个运动候选的成对平均值。两个运动候选中的至少一个来自过去运动候选表。在一些实施例中,运动候选包括组合两个双向预测候选的组合双向预测Merge候选。两个双向预测候选中的至少一个来自过去运动候选表。
图51是根据本公开的用于视频处理的方法5100的流程图表示。方法5100包括,在操作5110,基于运动候选来执行视频的块和视频的比特流表示之间的转换。方法5100还包括,在操作5120,基于转换的编解码条件来确定基于过去的转换而推导的过去运动候选表是否要被更新。
在一些实施例中,在编解码条件指示块是使用运动候选而编解码的情况下,该表不被更新。在一些实施例中,表中的过去运动候选是基于历史的运动矢量预测(HMVP)候选。在一些实施例中,该方法包括,对于该转换,将过去运动候选表中的至少一个过去候选添加到运动候选列表,并且在添加了至少一个过去候选之后,将运动候选添加到运动候选列表。在一些实施例中,运动候选包括成对平均双向预测候选。在一些实施例中,运动候选包括组合双向预测运动候选。在一些实施例中,运动候选包括零运动候选。在一些实施例中,运动候选包括默认运动候选。
在一些实施例中,编解码条件与块的尺寸相关联。在一些实施例中,在编解码条件指示块的宽度或高度小于或等于M的情况下,该表不被更新,M是正整数。在一些实施例中,M是4。在一些实施例中,在编解码条件指示宽度小于或等于M1且块的高度小于或等于M2的情况下,该表不被更新,M1和M2是正整数。在一些实施例中,M1是4,并且M2是4。
图52是根据本公开的用于视频处理的方法5200的流程图表示。方法5200包括,在操作5210,对于视频的块和视频的比特流表示之间的转换,将一个或多个运动候选插入到候选列表,直到候选列表满为止。一个或多个运动候选是根据基于过去的转换而推导的过去运动候选表而确定的。方法5200包括,在操作5220,基于候选列表来执行该转换。
在一些实施例中,表中的过去运动候选是基于历史的运动矢量预测(HMVP)候选。在一些实施例中,一个或多个运动候选包括过去运动候选表中的第一个候选或最后一个候选。在一些实施例中,第一个候选或最后一个候选被重复插入。在一些实施例中,一个或多个运动候选包括过去运动候选表中的多个候选。在一些实施例中,在过去运动候选表不为空的情况下,该插入被执行。在一些实施例中,过去运动候选表为空,并且一个或多个运动候选包括块的可用候选。
图53是根据本公开的用于视频处理的方法5300的流程图表示。方法5300包括,在操作5310,对于视频的块和视频的比特流表示之间的转换,基于用于帧间编解码块的常规Merge列表的尺寸来确定帧内块复制(IBC)候选列表。IBC表示其中基于块的相同图片中的先前编解码的样点来重构块的技术。方法5300包括,在操作5320,基于该确定执行该转换。
在一些实施例中,在IBC Merge候选列表的尺寸大于常规Merge列表的尺寸的情况下,IBC Merge候选列表包括至少一个虚拟或默认IBC候选。在一些实施例中,比特流包括总是小于常规Merge列表的尺寸的IBC Merge候选索引。在一些实施例中,比特流表示包括IBCMerge候选索引,其中该IBC Merge候选索引总是小于用于推导IBC Merge候选列表中的IBCMerge候选的常规Merge候选的最大数量。在一些实施例中,IBC Merge候选列表的尺寸与常规Merge列表的尺寸相同。在一些实施例中,IBC Merge候选列表的尺寸小于常规Merge列表的尺寸。
图54是根据本公开的用于视频处理的方法5400的流程图表示。方法5400包括,在操作5410,执行视频的块和视频的比特流表示之间的转换。该块是以帧内块复制(IBC)模式而编解码的,并且比特流表示包括指示该块的IBC候选列表的尺寸的指示符。指示符总是小于或等于P,P是正整数。IBC表示其中基于块的相同图片中的先前编解码的样点来重构块的技术。在一些实施例中,P是5或6。
图55是根据本公开的用于视频处理的方法5500的流程图表示。方法5500包括,在操作5510,执行视频的块和视频的比特流表示之间的转换。该块是以帧内块复制(IBC)模式而编解码的,并且比特流表示包括指示该块的IBC候选列表的尺寸的指示符。指示符总是大于或等于Q,Q是非负整数。IBC表示其中基于块的相同图片中的先前编解码的样点来重构块的技术。在一些实施例中,Q是0或1。
图56是根据本公开的用于视频处理的方法5600的流程图表示。方法5600包括,在操作5610,执行视频的块和块的比特流表示之间的转换。该块是以帧内块复制(IBC)模式而编解码的,并且比特流表示包括指示IBC候选列表的尺寸的指示符。指示符包括IBC候选列表的尺寸和整数值K之间的差。
在一些实施例中,IBC候选列表包括IBC Merge候选列表或IBC高级运动矢量预测(AMVP)候选列表。在一些实施例中,指示符被二值化为截断的一元码。在一些实施例中,整数值K是5或6。在一些实施例中,整数值K是常规Merge候选列表的尺寸。
图57是根据本公开的用于视频处理的方法5700的流程图表示。方法5700包括,在操作5710,对于视频的块和视频的比特流表示之间的转换,根据帧内块复制(IBC)模式是否被启用来确定是否重置基于过去的转换而推导的运动候选表。IBC表示其中基于相同图片中的先前编解码的样点来重构块的技术。方法5700还包括,在操作5720,基于该确定执行该转换。
在一些实施例中,在对第一区域启用IBC模式的情况下,在处理第一区域之前,运动候选表被重置,第一区域包括序列、条带、片组或视频编解码数据单元。在一些实施例中,第一区域包括I条带或I片组。在一些实施例中,在处理新区域之前,运动候选表被重置。在一些实施例中,新区域包括编解码树单元(CTU)行、条带、片或片组。
在以上方法的一些实施例中,执行该转换包括基于视频的当前块来生成比特流表示。在一些实施例中,执行该转换包括从比特流表示生成视频的当前块。
从前面可以理解,为了说明的目的,本文已经描述了当前公开的技术的特定实施例,但是在不脱离本发明的范围的情况下,可以进行各种修改。因此,当前公开的技术不受除了所附权利要求之外的限制。
所公开技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当视频处理工具或模式被启用时,编码器将在处理视频的块时使用或实施该工具或模式,但是不一定基于该工具或模式的使用来修改产生的比特流。也就是说,当基于决定或确定而启用视频处理工具或模式时,从视频的块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知道比特流已经基于视频处理工具或模式而修改的情况下处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频的块的转换。
所公开技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在示例中,当视频处理工具或模式被禁用时,编码器将不在视频的块到视频的比特流表示的转换中使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知道比特流还没有使用基于决定或确定而启用的视频处理工具或模式而修改的情况下处理比特流。
本专利文档中描述的主题和功能操作的实施方式可以在各种系统、数字电子电路中被实施,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中被实施,或者在它们中的一个或多个的组合中被实施。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序产品,即编码在有形和非暂时性计算机可读介质上的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署以在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上运行。
本说明书中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(Field Programmable Gate Array,现场可编程门阵列)或ASIC(专用集成电路)。
适合于运行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
本说明书以及附图旨在被认为仅是示例性的,其中示例性意味着示例。如本文所使用的,“或”的使用旨在包括“和/或”,除非上下文另外清楚地指示。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何发明或可能要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。
Claims (63)
1.一种视频处理方法,包括:
对于使用几何分割模式的在视频的当前块和视频的比特流表示之间的转换,基于当前块的编解码条件来确定是否对运动候选应用冗余检查,其中,运动候选是从几何分割模式的一个或多个常规Merge候选推导的;以及
基于所述确定执行所述转换。
2.根据权利要求1所述的方法,其中,所述编解码条件取决于冗余检查是否用于生成一个或多个常规Merge候选。
3.根据权利要求1所述的方法,其中,所述编解码条件取决于一个或多个常规Merge候选是否是双向预测常规Merge候选。
4.根据权利要求1所述的方法,其中,所述编解码条件取决于一个或多个常规Merge候选是否是单向预测常规Merge候选。
5.根据权利要求3所述的方法,其中,在常规Merge候选是双向预测常规Merge候选的情况下,所述冗余检查被应用于候选列表中的其他运动候选。
6.根据权利要求5所述的方法,其中,所述冗余检查被应用于候选列表中的前L个运动候选,L是正整数。
7.根据权利要求5所述的方法,其中,在添加运动候选之前,所述冗余检查被应用于候选中的后L个运动候选,L是正整数。
8.根据权利要求4所述的方法,其中,在常规Merge候选是单向预测常规Merge候选的情况下,所述冗余检查被应用于候选列表中的其他运动候选。
9.根据权利要求8所述的方法,其中,所述冗余检查被应用于候选列表中的前L个运动候选,L是正整数。
10.根据权利要求8所述的方法,其中,在添加运动候选之前,所述冗余检查被应用于候选列表中的后L个运动候选,L是正整数。
11.根据权利要求6-7和9-10中任一项或多项所述的方法,其中,L是1或2。
12.根据权利要求4所述的方法,其中,所述冗余检查仅被应用于从单向预测常规Merge候选推导的运动候选。
13.根据权利要求1至12中任一项或多项所述的方法,其中,所述冗余检查是否适用于运动候选是基于运动候选的预测方向。
14.根据权利要求13所述的方法,其中,所述冗余检查是否适用于运动候选是基于运动候选是基于常规Merge候选的参考图片列表0还是参考图片列表1推导的,常规Merge候选是双向预测常规Merge候选。
15.根据权利要求14所述的方法,其中,在运动候选是基于常规Merge候选的参考图片列表0而推导的情况下,跳过了所述冗余检查。
16.根据权利要求14所述的方法,其中,在运动候选是基于常规Merge候选的参考图片列表1而推导的情况下,所述冗余检查被应用。
17.根据权利要求16所述的方法,其中,所述冗余检查被应用于基于常规Merge候选的参考图片列表0而推导的另一运动候选。
18.根据权利要求16所述的方法,其中,所述冗余检查被应用于候选列表中的前L个运动候选,L是正整数。
19.根据权利要求16所述的方法,其中,在添加运动候选之前,所述冗余检查被应用于候选列表中的后L个运动候选,L是正整数。
20.根据权利要求18或19的方法,其中,L是1或2。
21.根据权利要求14至19中任一项或多项所述的方法,所述冗余检查是否适用针对不同的块、不同的区域、不同的片或不同的片组而改变。
22.根据权利要求14至19中任一项或多项所述的方法,其中,所述冗余检查是否适用是基于候选列表中的第一个运动候选的预测方向。
23.根据权利要求14至22中任一项或多项所述的方法,其中,所述冗余检查是否适用是基于候选列表中的最后一个运动候选的预测方向。
24.根据权利要求1至23中任一项或多项所述的方法,其中,所述冗余检查是否适用于运动候选是基于候选列表中的可用候选。
25.根据权利要求1至24中任一项或多项所述的方法,其中,所述冗余检查是否适用于运动候选是基于常规Merge候选的索引。
26.根据权利要求25所述的方法,其中,当索引大于阈值时,跳过了所述冗余检查。
27.根据权利要求1至26中任一项或多项所述的方法,其中,常规Merge候选是第一双向预测常规Merge候选。
28.根据权利要求27所述的方法,其中,在添加运动候选之前候选列表包括从单向预测常规Merge候选推导的其他候选的情况下,所述冗余检查被应用。
29.根据权利要求27所述的方法,其中,在运动候选与从单向预测常规Merge候选推导的最后一个运动候选相同或类似的情况下,所述冗余检查被应用于运动候选以丢弃运动候选。
30.根据权利要求1至29中任一项或多项所述的方法,其中,冗余检查是否适用于运动候选是基于当前块的尺寸。
31.根据权利要求30所述的方法,其中,在当前块的宽度或高度大于阈值的情况下,跳过了所述冗余检查。
32.根据权利要求1至31中任一项或多项所述的方法,其中,所述冗余检查是否适用于运动候选是基于比特流中的时延的指示。
33.根据权利要求1至31中任一项或多项所述的方法,其中,所述冗余检查是否适用于运动候选是基于当前块的参考图片列表中的参考图片。
34.根据权利要求33所述的方法,其中,在一个或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于当前块所在的当前图片的POC值的情况下,所述冗余检查被执行。
35.根据权利要求33所述的方法,其中,在一个或两个参考图片列表中的所有参考图片的图片顺序计数(POC)值小于或等于当前块所在的当前图片的POC值的情况下,所述冗余检查被执行。
36.根据权利要求33所述的方法,其中,所述冗余检查是否适用于运动候选是基于两个参考图片列表是否包括至少一个公共参考图片。
37.根据权利要求1至36中任一项或多项所述的方法,其中,有限冗余检查被应用于候选列表中的运动候选。
38.根据权利要求37所述的方法,其中,要被检查冗余的运动候选的数量被限制为K。
39.根据权利要求38所述的方法,其中,在已经被检查冗余的运动候选的数量达到K的情况下,跳过了冗余检查。
40.根据权利要求38所述的方法,其中,在已经被检查冗余的运动候选的数量小于K的情况下,冗余检查被应用于候选列表中的候选的子集。
41.根据权利要求37所述的方法,其中,将运动候选与其他运动候选进行比较的次数被限制为K。
42.根据权利要求41所述的方法,其中,在已经将运动候选与其他运动候选比较了K次的情况下,跳过了所述冗余检查。
43.根据权利要求41所述的方法,其中,在已经将运动候选与其他运动候选比较了少于K次的情况下,所述冗余检查被应用于候选列表中的候选的子集。
44.根据权利要求40或43所述的方法,其中,候选的子集基于可用常规Merge候选的数量。
45.根据权利要求40或43所述的方法,其中,候选的子集基于在执行任何冗余检查之前的几何分割模式的运动候选的数量。
46.根据权利要求40或43所述的方法,其中,候选的子集基于以下中的至少一个:当前块的尺寸、条带、图片、片类型、或比特流中的时延的指示。
47.根据权利要求40或43所述的方法,其中,候选的子集基于从其推导候选的子集的常规Merge候选集合。
48.根据权利要求1至47中任一项或多项所述的方法,其中,在所述冗余检查被应用于运动候选的情况下,在推导过程中跳过了所述冗余检查以确定常规Merge候选。
49.根据权利要求1至48中任一项或多项所述的方法,其中,在所述冗余检查已经用于生成一个或多个常规Merge候选的情况下,对运动候选跳过了所述冗余检查。
50.一种视频处理方法,包括:
对于视频的当前块和视频的比特流表示之间的转换,基于包括当前块的条带是否是B条带来确定几何分割模式是否被启用,其中,几何分割模式包括将当前块分割为多个分区;以及
基于所述确定执行所述转换。
51.根据权利要求50所述的方法,其中,所述确定是在没有检查比特流中的序列参数集中的指示符的情况下执行的。
52.根据权利要求51所述的方法,其中,所述确定基于比特流表示中的视频级别、图片级别、片级别或条带级别的指示符。
53.根据权利要求52所述的方法,其中,所述确定基于比特流表示中的视频参数集(VPS)、图片参数集(PPS)、条带头、片组头或图片头中的指示符。
54.根据权利要求50所述的方法,其中,所述确定仅基于比特流中的序列参数集中的指示符,其中所述指示符指示对整个序列禁用几何分割模式,并且其中,比特流不包括视频参数集(VPS)、图片参数集(PPS)、条带头、片组头或图片头中的附加指示符。
55.根据权利要求50至54中任一项所述的方法,其中,在条带不是B条带的情况下,比特流不包括指示几何分割模式被启用还是禁用的任何指示符。
56.根据权利要求50至55中任一项所述的方法,其中,在图片级别、片级别或条带级别的指示符指示几何模式被禁用的情况下,所述确定是在没有检查块级别的指示符的情况下执行的。
57.根据权利要求1至56中任一项所述的方法,其中,当前块基于至少一种划分模式而划分为多个分区。
58.根据权利要求1至57中任一项所述的方法,其中,几何分割模式包括三角形分割模式。
59.根据权利要求1至58中任一项或多项所述的方法,其中,在几何分割模式下分割的多个分区中的至少一个是非正方形和非矩形块。
60.根据权利要求1至59中任一项或多项所述的方法,其中,执行所述转换包括基于视频的当前块生成比特流表示。
61.根据权利要求1至59中任一项或多项所述的方法,其中,执行所述转换包括从比特流表示生成视频的当前块。
62.一种视频处理装置,包括处理器,其中所述处理器被配置为执行权利要求1至61中的一项或多项所述的方法。
63.一种其上存储有代码的计算机可读介质,所述代码在由处理器执行时使得处理器实施权利要求1至61中任一项或多项所述的方法。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018116886 | 2018-11-22 | ||
CNPCT/CN2018/116886 | 2018-11-22 | ||
CNPCT/CN2018/124639 | 2018-12-28 | ||
CN2018124639 | 2018-12-28 | ||
CNPCT/CN2019/075856 | 2019-02-22 | ||
CN2019075856 | 2019-02-22 | ||
CNPCT/CN2019/079061 | 2019-03-21 | ||
CN2019079061 | 2019-03-21 | ||
PCT/CN2019/120280 WO2020103936A1 (en) | 2018-11-22 | 2019-11-22 | Pruning method for inter prediction with geometry partition |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113170183A true CN113170183A (zh) | 2021-07-23 |
CN113170183B CN113170183B (zh) | 2024-04-02 |
Family
ID=70773084
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980077114.7A Pending CN113170184A (zh) | 2018-11-22 | 2019-11-22 | 默认运动候选的配置方法 |
CN201980076711.8A Active CN113170183B (zh) | 2018-11-22 | 2019-11-22 | 用于具有几何分割的帧间预测的修剪方法 |
CN201980076714.1A Active CN113170170B (zh) | 2018-11-22 | 2019-11-22 | 用于具有几何分割的帧间预测的混合方法 |
CN201980076712.2A Active CN113170112B (zh) | 2018-11-22 | 2019-11-22 | 用于具有几何分割的帧间预测的构建方法 |
CN202311785583.9A Pending CN117528076A (zh) | 2018-11-22 | 2019-11-22 | 用于具有几何分割的帧间预测的构建方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980077114.7A Pending CN113170184A (zh) | 2018-11-22 | 2019-11-22 | 默认运动候选的配置方法 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980076714.1A Active CN113170170B (zh) | 2018-11-22 | 2019-11-22 | 用于具有几何分割的帧间预测的混合方法 |
CN201980076712.2A Active CN113170112B (zh) | 2018-11-22 | 2019-11-22 | 用于具有几何分割的帧间预测的构建方法 |
CN202311785583.9A Pending CN117528076A (zh) | 2018-11-22 | 2019-11-22 | 用于具有几何分割的帧间预测的构建方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11677941B2 (zh) |
CN (5) | CN113170184A (zh) |
WO (4) | WO2020103935A1 (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019234606A1 (en) | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between ibc and atmvp |
WO2019244118A1 (en) | 2018-06-21 | 2019-12-26 | Beijing Bytedance Network Technology Co., Ltd. | Component-dependent sub-block dividing |
CN110636298B (zh) | 2018-06-21 | 2022-09-13 | 北京字节跳动网络技术有限公司 | 对于Merge仿射模式和非Merge仿射模式的统一约束 |
TWI723445B (zh) | 2018-06-29 | 2021-04-01 | 大陸商北京字節跳動網絡技術有限公司 | 查找表的更新:fifo、約束的fifo |
EP3797516A1 (en) | 2018-06-29 | 2021-03-31 | Beijing Bytedance Network Technology Co. Ltd. | Interaction between lut and amvp |
KR102611261B1 (ko) | 2018-06-29 | 2023-12-08 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 업데이트 대상 lut 또는 비업데이트 lut의 구별 |
KR20210024502A (ko) | 2018-06-29 | 2021-03-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝 |
JP7460617B2 (ja) | 2018-06-29 | 2024-04-02 | 北京字節跳動網絡技術有限公司 | Lut更新条件 |
TWI728390B (zh) | 2018-06-29 | 2021-05-21 | 大陸商北京字節跳動網絡技術有限公司 | 查找表尺寸 |
KR20210025537A (ko) | 2018-06-29 | 2021-03-09 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념 |
CN114885173A (zh) | 2018-06-29 | 2022-08-09 | 抖音视界(北京)有限公司 | Lut中的运动候选的检查顺序 |
TWI723446B (zh) | 2018-07-02 | 2021-04-01 | 大陸商北京字節跳動網絡技術有限公司 | 具有lic的lut |
TWI820211B (zh) | 2018-09-12 | 2023-11-01 | 大陸商北京字節跳動網絡技術有限公司 | 取決於總數減去k的開始檢查hmvp候選的條件 |
CN117768651A (zh) | 2018-09-24 | 2024-03-26 | 北京字节跳动网络技术有限公司 | 处理视频数据的方法、装置、介质、以及比特流存储方法 |
WO2020088691A1 (en) | 2018-11-02 | 2020-05-07 | Beijing Bytedance Network Technology Co., Ltd. | Harmonization between geometry partition prediction mode and other tools |
CN111418205B (zh) | 2018-11-06 | 2024-06-21 | 北京字节跳动网络技术有限公司 | 用于帧间预测的运动候选 |
CN113056917B (zh) | 2018-11-06 | 2024-02-06 | 北京字节跳动网络技术有限公司 | 为视频处理使用具有几何分割的帧间预测 |
WO2020094150A1 (en) | 2018-11-10 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Rounding in current picture referencing |
WO2020103935A1 (en) | 2018-11-22 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Blending method for inter prediction with geometry partition |
CN117880495A (zh) | 2018-12-03 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 候选的最大数量的指示方法 |
US11856194B2 (en) * | 2018-12-21 | 2023-12-26 | Hfi Innovation Inc. | Method and apparatus of simplified triangle merge mode candidate list derivation |
CN111355961B (zh) * | 2018-12-24 | 2023-11-03 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
EP3884667B1 (en) | 2018-12-25 | 2024-04-17 | Beijing Dajia Internet Information Technology Co., Ltd. | Video coding with triangular shape prediction units |
WO2020135465A1 (en) | 2018-12-28 | 2020-07-02 | Beijing Bytedance Network Technology Co., Ltd. | Modified history based motion prediction |
JP7288964B2 (ja) * | 2018-12-28 | 2023-06-08 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 動きベクトル予測因子リストを生成すること |
WO2020140862A1 (en) | 2018-12-30 | 2020-07-09 | Beijing Bytedance Network Technology Co., Ltd. | Conditional application of inter prediction with geometric partitioning in video processing |
JP2021513795A (ja) * | 2019-01-01 | 2021-05-27 | エルジー エレクトロニクス インコーポレイティド | 履歴ベース動きベクトル予測に基づいてビデオ信号を処理するための方法及び装置 |
KR102648159B1 (ko) | 2019-01-10 | 2024-03-18 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Lut 업데이트의 호출 |
WO2020143824A1 (en) | 2019-01-13 | 2020-07-16 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between lut and shared merge list |
WO2020147773A1 (en) | 2019-01-16 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Inserting order of motion candidates in lut |
CN113273217A (zh) | 2019-02-03 | 2021-08-17 | 北京字节跳动网络技术有限公司 | 非对称四叉树分割 |
CN113615193B (zh) | 2019-03-22 | 2024-06-25 | 北京字节跳动网络技术有限公司 | Merge列表构建和其他工具之间的交互 |
CN114097228B (zh) | 2019-06-04 | 2023-12-15 | 北京字节跳动网络技术有限公司 | 具有几何分割模式编解码的运动候选列表 |
CN117395397A (zh) | 2019-06-04 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 使用临近块信息的运动候选列表构建 |
WO2020244660A1 (en) | 2019-06-06 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate list construction for video coding |
WO2021008513A1 (en) | 2019-07-14 | 2021-01-21 | Beijing Bytedance Network Technology Co., Ltd. | Transform block size restriction in video coding |
CA3148299C (en) | 2019-07-26 | 2024-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Determination of picture partition mode based on block size |
CN117596389A (zh) | 2019-09-28 | 2024-02-23 | 北京字节跳动网络技术有限公司 | 视频编解码中的几何分割模式 |
WO2021068920A1 (en) | 2019-10-10 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Use of non-rectangular partitions in video coding |
CN117729330A (zh) | 2019-11-30 | 2024-03-19 | 抖音视界(北京)有限公司 | 使用几何分割的简化的帧间预测 |
CN114868395A (zh) | 2019-12-24 | 2022-08-05 | 抖音视界(北京)有限公司 | 采用几何分割进行帧间预测的高级语法 |
WO2021243297A1 (en) | 2020-05-29 | 2021-12-02 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatuses for video coding using geometric partition |
CN111741297B (zh) * | 2020-06-12 | 2024-02-20 | 浙江大华技术股份有限公司 | 帧间预测方法、视频编码方法及其相关装置 |
CN117321995A (zh) * | 2021-04-22 | 2023-12-29 | 抖音视界有限公司 | 用于视频处理的方法、设备和介质 |
GB2611323A (en) * | 2021-09-29 | 2023-04-05 | Canon Kk | Video coding and decoding |
US20230412816A1 (en) * | 2022-06-20 | 2023-12-21 | Tencent America LLC | Bilateral matching for compound reference mode |
WO2024114652A1 (en) * | 2022-11-29 | 2024-06-06 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
WO2024179479A1 (en) * | 2023-02-28 | 2024-09-06 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013056656A1 (en) * | 2011-10-19 | 2013-04-25 | Mediatek Inc. | Method and apparatus for derivation of motion vector predictor candidate set |
CN104054349A (zh) * | 2012-01-19 | 2014-09-17 | 联发科技(新加坡)私人有限公司 | 运动向量预测子的简化推导方法与装置 |
CN104160704A (zh) * | 2012-02-08 | 2014-11-19 | 高通股份有限公司 | B切片中的预测单元限于单向帧间预测 |
CN104980762A (zh) * | 2012-02-08 | 2015-10-14 | 高通股份有限公司 | B切片中的预测单元限于单向帧间预测 |
CN105531999A (zh) * | 2013-07-09 | 2016-04-27 | 诺基亚技术有限公司 | 涉及用于信号传输运动信息的语法的视频编码方法及装置 |
CN107113440A (zh) * | 2014-10-31 | 2017-08-29 | 三星电子株式会社 | 使用高精度跳过编码的视频编码设备和视频解码设备及其方法 |
CN107113446A (zh) * | 2014-12-09 | 2017-08-29 | 联发科技股份有限公司 | 视频编码中的运动矢量预测子或合并候选的推导方法 |
CN108353184A (zh) * | 2015-11-05 | 2018-07-31 | 联发科技股份有限公司 | 用于视频编解码的使用平均运动矢量的帧间预测的方法和装置 |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1592255A1 (en) * | 2004-04-30 | 2005-11-02 | Matsushita Electric Industrial Co., Ltd. | Motion vector estimation with improved motion vector selection |
EP2041976A4 (en) | 2006-07-12 | 2012-06-20 | Nokia Corp | SIGNALING OF SCALABILITY INFORMATION FROM THE INTERESTING REGION IN MEDIA FILES |
BRPI0715507A2 (pt) * | 2006-08-02 | 2013-06-18 | Thomson Licensinc S A | mÉtodos e aparelhos para particionamento geomÉtrico adaptativo para decodificaÇço de vÍdeo |
US20080247465A1 (en) * | 2007-04-05 | 2008-10-09 | Jun Xin | Method and System for Mapping Motion Vectors between Different Size Blocks |
KR101408698B1 (ko) * | 2007-07-31 | 2014-06-18 | 삼성전자주식회사 | 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치 |
WO2009050638A2 (en) * | 2007-10-16 | 2009-04-23 | Nxp B.V. | Video encoding using pixel decimation pattern according to best intra mode |
US9445121B2 (en) * | 2008-08-04 | 2016-09-13 | Dolby Laboratories Licensing Corporation | Overlapped block disparity estimation and compensation architecture |
JP5235813B2 (ja) * | 2009-07-31 | 2013-07-10 | キヤノン株式会社 | 動画像符号化装置、動画像符号化方法及びコンピュータプログラム |
JP5581688B2 (ja) * | 2009-12-24 | 2014-09-03 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
US20120300850A1 (en) | 2010-02-02 | 2012-11-29 | Alex Chungku Yie | Image encoding/decoding apparatus and method |
US8879632B2 (en) * | 2010-02-18 | 2014-11-04 | Qualcomm Incorporated | Fixed point implementation for geometric motion partitioning |
WO2012005520A2 (en) * | 2010-07-09 | 2012-01-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
JP2012019490A (ja) * | 2010-07-09 | 2012-01-26 | Sony Corp | 画像処理装置及び画像処理方法 |
JP2012023597A (ja) * | 2010-07-15 | 2012-02-02 | Sony Corp | 画像処理装置及び画像処理方法 |
US9807424B2 (en) | 2011-01-10 | 2017-10-31 | Qualcomm Incorporated | Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation |
KR101538710B1 (ko) * | 2011-01-14 | 2015-09-15 | 모토로라 모빌리티 엘엘씨 | 시간적 블록 병합 모드 |
PL3468197T3 (pl) * | 2011-09-09 | 2022-07-11 | Lg Electronics Inc. | Sposób predykcji inter i urządzenie do niego |
US9571833B2 (en) * | 2011-11-04 | 2017-02-14 | Nokia Technologies Oy | Method for coding and an apparatus |
US20130114717A1 (en) * | 2011-11-07 | 2013-05-09 | Qualcomm Incorporated | Generating additional merge candidates |
US9883203B2 (en) * | 2011-11-18 | 2018-01-30 | Qualcomm Incorporated | Adaptive overlapped block motion compensation |
US20130343459A1 (en) | 2012-06-22 | 2013-12-26 | Nokia Corporation | Method and apparatus for video coding |
CN104704827B (zh) * | 2012-11-13 | 2019-04-12 | 英特尔公司 | 用于下一代视频的内容自适应变换译码 |
US9615090B2 (en) * | 2012-12-28 | 2017-04-04 | Qualcomm Incorporated | Parsing syntax elements in three-dimensional video coding |
US9357211B2 (en) * | 2012-12-28 | 2016-05-31 | Qualcomm Incorporated | Device and method for scalable and multiview/3D coding of video information |
CN104885467B (zh) * | 2013-01-30 | 2018-08-17 | 英特尔公司 | 用于下一代视频编码的内容自适应参数变换 |
US20140307780A1 (en) * | 2013-04-11 | 2014-10-16 | Mitsubishi Electric Research Laboratories, Inc. | Method for Video Coding Using Blocks Partitioned According to Edge Orientations |
CN104104963B (zh) * | 2013-04-12 | 2018-03-06 | 浙江大学 | 一种矢量候选者列表生成方法及装置 |
RU2654129C2 (ru) * | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
CN103561276B (zh) | 2013-11-07 | 2017-01-04 | 北京大学 | 一种图像视频编解码方法 |
US20150271515A1 (en) * | 2014-01-10 | 2015-09-24 | Qualcomm Incorporated | Block vector coding for intra block copy in video coding |
KR101908205B1 (ko) * | 2014-02-21 | 2018-10-15 | 미디어텍 싱가폴 피티이. 엘티디. | 인트라 화상 블록 카피에 기초한 예측을 이용하는 비디오 코딩 방법 |
EP3114838B1 (en) * | 2014-03-04 | 2018-02-07 | Microsoft Technology Licensing, LLC | Hash table construction and availability checking for hash-based block matching |
CN110099281B (zh) | 2014-05-06 | 2021-06-25 | 寰发股份有限公司 | 用于块内复制模式编码的块向量预测方法 |
US20170195677A1 (en) | 2014-05-22 | 2017-07-06 | Mediatek Inc. | Method of Intra Block Copy with Flipping for Image and Video Coding |
WO2015180014A1 (en) | 2014-05-26 | 2015-12-03 | Mediatek Singapore Pte. Ltd. | An improved merge candidate list construction method for intra block copy |
GB201409634D0 (en) * | 2014-05-30 | 2014-07-16 | Canon Kk | Intra block copy mode encoding choice |
US10327001B2 (en) * | 2014-06-19 | 2019-06-18 | Qualcomm Incorporated | Systems and methods for intra-block copy |
US10412387B2 (en) * | 2014-08-22 | 2019-09-10 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
KR102034938B1 (ko) * | 2014-09-01 | 2019-10-21 | 에이치에프아이 이노베이션 인크. | 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법 |
CN107005708A (zh) * | 2014-09-26 | 2017-08-01 | Vid拓展公司 | 使用时间块向量预测的块内复制译码 |
WO2016123398A2 (en) * | 2015-01-29 | 2016-08-04 | Vid Scale, Inc. | Intra-block copy searching |
US11330284B2 (en) * | 2015-03-27 | 2022-05-10 | Qualcomm Incorporated | Deriving motion information for sub-blocks in video coding |
CN104717513B (zh) * | 2015-03-31 | 2018-02-09 | 北京奇艺世纪科技有限公司 | 一种双向帧间预测方法及装置 |
US10178403B2 (en) * | 2015-06-23 | 2019-01-08 | Qualcomm Incorporated | Reference picture list construction in intra block copy mode |
US10812822B2 (en) | 2015-10-02 | 2020-10-20 | Qualcomm Incorporated | Intra block copy merge mode and padding of unavailable IBC reference region |
US20190028731A1 (en) * | 2016-01-07 | 2019-01-24 | Mediatek Inc. | Method and apparatus for affine inter prediction for video coding system |
US11563938B2 (en) | 2016-02-15 | 2023-01-24 | Qualcomm Incorporated | Geometric transforms for filters for video coding |
US10992933B2 (en) * | 2016-02-16 | 2021-04-27 | Samsung Electronics Co., Ltd. | Video decoding method and device for same and video encoding method and device for same |
EP3422719A4 (en) * | 2016-02-25 | 2019-10-09 | KT Corporation | METHOD AND DEVICE FOR PROCESSING VIDEO SIGNAL |
WO2017147765A1 (en) * | 2016-03-01 | 2017-09-08 | Mediatek Inc. | Methods for affine motion compensation |
KR20190015216A (ko) * | 2016-05-05 | 2019-02-13 | 브이아이디 스케일, 인크. | 인트라 코딩을 위한 제어 포인트 기반의 인트라 방향 표현 |
US10560712B2 (en) * | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
CA3025488A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Weighted angular prediction for intra coding |
CN109417632B (zh) | 2016-07-08 | 2023-08-04 | Vid拓展公司 | 使用几何图形投影的360度视频编码 |
US11095922B2 (en) | 2016-08-02 | 2021-08-17 | Qualcomm Incorporated | Geometry transformation-based adaptive loop filtering |
US11284089B2 (en) | 2016-09-02 | 2022-03-22 | Vid Scale, Inc. | Method and system for signaling of 360-degree video information |
US10448010B2 (en) * | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
EP3523784A1 (en) | 2016-10-07 | 2019-08-14 | VID SCALE, Inc. | Geometry conversion and frame packing associated with 360-degree videos |
EP3343925A1 (en) * | 2017-01-03 | 2018-07-04 | Thomson Licensing | Method and apparatus for encoding and decoding motion information |
US20180242024A1 (en) * | 2017-02-21 | 2018-08-23 | Mediatek Inc. | Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks |
KR20180107761A (ko) * | 2017-03-22 | 2018-10-02 | 한국전자통신연구원 | 참조 블록을 사용하는 예측 방법 및 장치 |
US10602180B2 (en) | 2017-06-13 | 2020-03-24 | Qualcomm Incorporated | Motion vector prediction |
KR102488330B1 (ko) * | 2017-10-09 | 2023-01-12 | 노키아 테크놀로지스 오와이 | 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램 |
CN117478879A (zh) * | 2017-10-16 | 2024-01-30 | 数字洞察力有限公司 | 用于将图像编码/解码的方法和存储比特流的记录介质 |
US11025943B2 (en) * | 2017-10-20 | 2021-06-01 | Kt Corporation | Video signal processing method and device |
CN118214853A (zh) * | 2017-10-26 | 2024-06-18 | 英迪股份有限公司 | 用于基于非对称子块的图像编码/解码的方法及装置 |
US11394992B2 (en) * | 2018-03-14 | 2022-07-19 | Hfi Innovation Inc. | Methods and apparatuses of generating average candidates in video coding systems |
CN112204966B (zh) * | 2018-03-27 | 2024-10-18 | 株式会社Kt | 对图像进行解码、编码的方法和用于传送比特流的装置 |
KR20190116101A (ko) * | 2018-04-03 | 2019-10-14 | 인텔렉추얼디스커버리 주식회사 | 어파인 모델 기반의 영상 부호화/복호화 방법 및 장치 |
CN117768651A (zh) | 2018-09-24 | 2024-03-26 | 北京字节跳动网络技术有限公司 | 处理视频数据的方法、装置、介质、以及比特流存储方法 |
US11064192B2 (en) * | 2018-10-04 | 2021-07-13 | Qualcomm Incorporated | Simplification of spatial-temporal motion vector prediction |
US10764601B2 (en) * | 2018-10-06 | 2020-09-01 | Tencent America LLC | Method and apparatus for video coding |
US11284066B2 (en) * | 2018-10-10 | 2022-03-22 | Tencent America LLC | Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode |
EP3788779A4 (en) * | 2018-10-23 | 2022-03-02 | Tencent America LLC | VIDEO CODING METHOD AND APPARATUS |
WO2020088691A1 (en) | 2018-11-02 | 2020-05-07 | Beijing Bytedance Network Technology Co., Ltd. | Harmonization between geometry partition prediction mode and other tools |
CN111418205B (zh) * | 2018-11-06 | 2024-06-21 | 北京字节跳动网络技术有限公司 | 用于帧间预测的运动候选 |
SG11202104643QA (en) * | 2018-11-08 | 2021-06-29 | Guangdong Oppo Mobile Telecommunications Corp Ltd | Method for encoding/decoding image signal and device therefor |
BR112021008731A2 (pt) * | 2018-11-08 | 2021-08-03 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | método de decodificação de vídeo e método de codificação de vídeo |
CN113228635B (zh) * | 2018-11-13 | 2024-01-05 | 北京字节跳动网络技术有限公司 | 用于帧内块复制的运动候选列表构建方法 |
WO2020103935A1 (en) | 2018-11-22 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Blending method for inter prediction with geometry partition |
CN113170173B (zh) | 2018-11-28 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 变换量化或量化旁路模式的改进方法 |
WO2020135465A1 (en) | 2018-12-28 | 2020-07-02 | Beijing Bytedance Network Technology Co., Ltd. | Modified history based motion prediction |
US11122260B2 (en) * | 2019-02-22 | 2021-09-14 | Mediatek Inc. | Method and apparatus of Merge list generation for Intra Block Copy mode |
-
2019
- 2019-11-22 WO PCT/CN2019/120276 patent/WO2020103935A1/en active Application Filing
- 2019-11-22 WO PCT/CN2019/120280 patent/WO2020103936A1/en active Application Filing
- 2019-11-22 CN CN201980077114.7A patent/CN113170184A/zh active Pending
- 2019-11-22 CN CN201980076711.8A patent/CN113170183B/zh active Active
- 2019-11-22 CN CN201980076714.1A patent/CN113170170B/zh active Active
- 2019-11-22 CN CN201980076712.2A patent/CN113170112B/zh active Active
- 2019-11-22 WO PCT/CN2019/120275 patent/WO2020103934A1/en active Application Filing
- 2019-11-22 WO PCT/CN2019/120272 patent/WO2020103933A1/en active Application Filing
- 2019-11-22 CN CN202311785583.9A patent/CN117528076A/zh active Pending
-
2020
- 2020-12-08 US US17/115,462 patent/US11677941B2/en active Active
-
2021
- 2021-05-11 US US17/317,375 patent/US11924421B2/en active Active
-
2023
- 2023-11-02 US US18/500,495 patent/US20240073417A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013056656A1 (en) * | 2011-10-19 | 2013-04-25 | Mediatek Inc. | Method and apparatus for derivation of motion vector predictor candidate set |
CN104054349A (zh) * | 2012-01-19 | 2014-09-17 | 联发科技(新加坡)私人有限公司 | 运动向量预测子的简化推导方法与装置 |
CN104160704A (zh) * | 2012-02-08 | 2014-11-19 | 高通股份有限公司 | B切片中的预测单元限于单向帧间预测 |
CN104980762A (zh) * | 2012-02-08 | 2015-10-14 | 高通股份有限公司 | B切片中的预测单元限于单向帧间预测 |
CN105531999A (zh) * | 2013-07-09 | 2016-04-27 | 诺基亚技术有限公司 | 涉及用于信号传输运动信息的语法的视频编码方法及装置 |
CN107113440A (zh) * | 2014-10-31 | 2017-08-29 | 三星电子株式会社 | 使用高精度跳过编码的视频编码设备和视频解码设备及其方法 |
CN107113446A (zh) * | 2014-12-09 | 2017-08-29 | 联发科技股份有限公司 | 视频编码中的运动矢量预测子或合并候选的推导方法 |
CN108353184A (zh) * | 2015-11-05 | 2018-07-31 | 联发科技股份有限公司 | 用于视频编解码的使用平均运动矢量的帧间预测的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113170183B (zh) | 2024-04-02 |
US20240073417A1 (en) | 2024-02-29 |
US20210266562A1 (en) | 2021-08-26 |
WO2020103935A1 (en) | 2020-05-28 |
CN113170112A (zh) | 2021-07-23 |
CN113170112B (zh) | 2024-05-10 |
CN117528076A (zh) | 2024-02-06 |
CN113170170A (zh) | 2021-07-23 |
WO2020103934A1 (en) | 2020-05-28 |
US11677941B2 (en) | 2023-06-13 |
US20210092379A1 (en) | 2021-03-25 |
WO2020103933A1 (en) | 2020-05-28 |
WO2020103936A1 (en) | 2020-05-28 |
US11924421B2 (en) | 2024-03-05 |
CN113170184A (zh) | 2021-07-23 |
CN113170170B (zh) | 2024-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113170170B (zh) | 用于具有几何分割的帧间预测的混合方法 | |
CN113261290B (zh) | 基于修改历史的运动预测 | |
CN113170150B (zh) | 基于历史的运动矢量预测(hmvp)模式的部分修剪方法 | |
CN113170099B (zh) | 块内拷贝模式和帧间预测工具之间的交互 | |
CN112997493B (zh) | 用于单一类型运动候选列表的构建方法 | |
CN113330739A (zh) | Lut中的运动候选的插入顺序 | |
CN113383554A (zh) | LUT和共享Merge列表之间的交互 | |
CN114424536A (zh) | 基于变换单元的组合帧间帧内预测 | |
CN113661709A (zh) | 仿射高级运动矢量预测中的运动信息精度对齐 | |
CN112997496B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |