CN111316648A - 视频译码中的仿射运动向量预测 - Google Patents
视频译码中的仿射运动向量预测 Download PDFInfo
- Publication number
- CN111316648A CN111316648A CN201880072234.3A CN201880072234A CN111316648A CN 111316648 A CN111316648 A CN 111316648A CN 201880072234 A CN201880072234 A CN 201880072234A CN 111316648 A CN111316648 A CN 111316648A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- reference picture
- vector predictor
- block
- affine
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 517
- 239000013598 vector Substances 0.000 title claims abstract description 419
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 title claims abstract description 240
- 238000000034 method Methods 0.000 claims abstract description 117
- 238000004891 communication Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 description 64
- 241000023320 Luma <angiosperm> Species 0.000 description 37
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 37
- 238000013139 quantization Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 30
- 238000003860 storage Methods 0.000 description 25
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 22
- 238000005192 partition Methods 0.000 description 20
- 238000000638 solvent extraction Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 12
- 230000002123 temporal effect Effects 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000007774 longterm Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013138 pruning Methods 0.000 description 4
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000723655 Cowpea mosaic virus Species 0.000 description 1
- 241000985610 Forpus Species 0.000 description 1
- 102000004961 Furin Human genes 0.000 description 1
- 108090001126 Furin Proteins 0.000 description 1
- 101710121996 Hexon protein p72 Proteins 0.000 description 1
- 101710125418 Major capsid protein Proteins 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer 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/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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- 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/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
描述使用仿射运动补偿对视频数据进行译码的方法及系统。一种方法可包含接收待使用仿射运动补偿进行解码的当前视频数据块及构建用于所述当前视频数据块的一或多个控制点的仿射运动向量预测子MVP列表,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关参考图片的情况下将所述运动向量添加到所述仿射MVP列表。视频译码器可使用所述仿射MVP列表确定所述一或多个控制点的运动向量且利用所述当前视频数据块的所述一或多个控制点的所述经确定的运动向量对所述当前视频数据块进行译码。
Description
本申请案要求保护2017年11月14日申请的美国临时申请案第62/586,069号的权利并且要求保护2018年11月13日申请的美国申请案第16/189,481号的优先权,所述申请案的全部内容以引用的方式并入。所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及用于视频译码的装置、系统及方法。
背景技术
数字视频频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电传话会议装置、视频流式发射装置及其类似者。数字视频装置实施视频压缩技术,诸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分先进视频译码(AVC)、ITU-T H.265定义的标准、高效率视频译码(HEVC)标准及这些标准的扩展中所描述的那些技术。视频装置可通过实施这些视频压缩技术而更高效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频切片(即,视频帧或视频帧的一部分)可分割成视频块(其也可被称作树型块)、译码单元(CU)及/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(I)的切片中的视频块。图片的帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。空间或时间预测产生用于待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差的残余数据来编码经帧间译码的块。经帧内译码块是根据帧内译码模式及残余数据编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生可接着进行量化的残余变换系数。
发明内容
一般来说,本发明描述关于图片间预测的技术。更具体地说,本发明描述在基于块的视频译码中用于仿射运动补偿的运动向量译码的技术。本发明的技术包含构建仿射运动向量预测子列表以供在对用于当前块的仿射运动模型的一或多个控制点的运动向量进行译码时使用。视频译码器(例如视频编码器或视频解码器)可使用与相邻块相关联的运动向量构建用于当前块的仿射运动向量预测子列表。如果相邻块的运动向量指向等同于目标参考图片的参考图片,那么视频译码器可将所述运动向量添加到仿射运动向量预测子列表。目标参考图片是由针对当前块发信号通知的参考列表及参考图片索引所鉴别的参考图片。
本发明的技术可与现有视频编解码器中的任一者,诸如HEVC(高效视频译码)一起使用,或为任何未来视频译码标准中的有效译码工具,诸如H.266/VVC(多功能视频译码)。
在一个实例中,本发明描述视频解码方法,所述方法包括:接收待使用仿射运动补偿解码的当前视频数据块;构建用于当前视频数据块的一或多个控制点的仿射运动向量预测子(MVP)列表,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到仿射MVP列表;使用仿射MVP列表确定一或多个控制点的运动向量;及利用用于当前视频数据块的一或多个控制点的经确定运动向量对当前视频数据块进行解码。
在另一实例中,本发明描述一种经配置以对视频数据进行解码的设备,所述设备包括经配置以存储当前视频数据块的存储器及与所述存储器通信的一或多个处理器,所述一或多个处理器经配置以:接收待使用仿射运动补偿解码的当前视频数据块;构建用于当前视频数据块的一或多个控制点的仿射MVP列表,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到仿射MVP列表;使用仿射MVP列表确定一或多个控制点的运动向量;及利用用于当前视频数据块的一或多个控制点的经确定运动向量对当前视频数据块进行解码。
在另一实例中,本发明描述经配置以对视频数据进行解码的设备,所述设备包括:用于接收待使用仿射运动补偿解码的当前视频数据块的装置;用于构建用于当前视频数据块的一或多个控制点的仿射MVP列表的装置,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到仿射MVP列表;用于使用仿射MVP列表确定一或多个控制点的运动向量的装置;及用于利用当前视频数据块的一或多个控制点的经确定运动向量对当前视频数据块进行解码的装置。
在另一实例中,本发明描述一种经配置以对视频数据进行编码的设备,所述设备包括经配置以存储当前视频数据块的存储器及与所述存储器通信的一或多个处理器,所述一或多个处理器经配置以:接收待使用仿射运动补偿编码的当前视频数据块;构建用于当前视频数据块的一或多个控制点的仿射MVP列表,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到仿射MVP列表;使用仿射MVP列表确定一或多个控制点的运动向量;及利用用于当前视频数据块的一或多个控制点的经确定运动向量对当前视频数据块进行编码。
在随附图式及以下描述中阐述本发明的一或多个方面的细节。本发明中所描述的技术的其它特征、目标及优点将从描述、图式及权利要求书显而易见。
附图说明
图1为说明可利用本发明中所描述的一或多种技术的实例视频编码及解码系统的框图。
图2A及2B为说明实例四分树二元树(QTBT)结构及对应译码树型单元(CTU)的概念图。
图3A说明用于合并模式的空间相邻运动向量(MV)候选者。
图3B说明用于先进运动向量预测(AMVP)模式的空间相邻MV候选者。
图4为说明具有四个仿射参数的两点MV仿射模式的实例的概念图。
图5说明每一子块的仿射运动向量场(MVF)。
图6为说明如在AF_INTER模式中所使用的当前块及相邻块的框图。
图7A展示在以AF_MERGE模式译码当前块时使用的相邻块。
图7B说明在以仿射模式译码相邻左下块时的AF_MERGE。
图8为具有六个参数的仿射模型的概念图。
图9A及9B说明所提出的仿射运动向量预测子候选列表构建过程的示范性流程图。
图10为说明可实施本发明中所描述的一或多种技术的实例视频编码器的框图。
图11为说明可实施本发明中所描述的一或多种技术的实例视频解码器的框图。
图12为说明本发明的实例编码方法的流程图。
图13为说明本发明的实例解码方法的流程图。
具体实施方式
本发明描述用于视频译码中的仿射运动向量预测的技术。已经提出使用仿射运动模型以提供对视频数据的进一步压缩。用于视频数据块的仿射运动模型表示块在一连串图片中的旋转。块的仿射运动模型可基于块的控制点的运动向量而确定。在一些实施方案中,块的控制点为块的左上方拐角及右上方拐角。在其它实施方案中,块的控制点进一步包含块的左下方拐角。视频译码器(例如视频编码器或视频解码器)可基于块的控制点的运动向量确定块的子块的运动向量。
已经提出用于发信号通知块的控制点的运动向量的两种实例。第一技术有时被称作仿射帧间模式。第二技术有时被称作仿射合并模式。在仿射帧间模式中,视频编码器产生当前块的仿射运动向量预测子(MVP)集合候选列表。仿射MVP集合候选列表为仿射MVP集合的列表。每一仿射MVP集合为对应于当前块的不同控制点的MVP的集合。视频编码器向视频解码器发信号通知一索引,所述索引鉴别仿射MVP集合候选列表中的所选择仿射MVP集合。另外,视频编码器发信号通知当前块的控制点中的每一者的运动向量差(MVD)。控制点的运动向量可等于控制点的MVD加上所选择仿射MVP集合中的用于控制点的运动向量预测子。视频编码器也发信号通知鉴别视频解码器与当前块一起使用的参考图片的参考索引。视频解码器产生相同仿射MVP集合候选列表并使用发信号通知的索引以确定所选择仿射MVP集合。视频解码器可添加MVD到所选择仿射MVP集合的运动向量以确定当前块的控制点的运动向量。
在仿射合并模式中,视频编码器及视频解码器鉴别当前块的相同仿射源块。仿射源块可为在空间上与当前块相邻的仿射译码块。视频编码器及视频解码器从仿射源块的控制点的运动向量外推当前块的控制点的运动向量。举例来说,视频编码器及视频解码器可构建描述当前块内的位置的运动向量的仿射运动模型。仿射运动模型是由仿射参数的集合定义。视频编码器及视频解码器可基于当前块的控制点的运动向量确定仿射参数。视频编码器及视频解码器可基于仿射源块的控制点的运动向量确定当前块的控制点的运动向量。
在一些实例中,用于构建仿射MVP集合候选列表的技术可为低效的。即,用于构建仿射MVP集合候选列表的一些实例技术可用候选者填入列表,其可就译码速率及/或失真来说导致次优视频译码。本发明描述用于更有效构建仿射MVP集合候选列表的技术。
图1为说明可利用本发明的用于仿射运动向量预测子列表构建的技术的实例视频编码及解码系统10的框图。如图1中所示,系统10包含源装置12,其提供稍后时间将由目的地装置14解码的经编码视频数据。确切地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、诸如所谓的“智能”手机的电话手机、平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式发射装置或其类似者。在一些情况下,源装置12及目的地装置14可能经装备以用于无线通信。因此,源装置12及目的地装置14可为无线通信装置。源装置12为实例视频编码装置(即,用于编码视频数据的装置)。目的地装置14为实例视频解码装置(即,用于解码视频数据的装置)。
在图1的实例中,源装置12包含视频源18、经配置以存储视频数据的存储媒体19、视频编码器20及输出接口22。目的地装置14包含输入接口26、经配置以存储经编码视频数据的存储媒体28、视频解码器30及显示装置32。在其它实例中,源装置12及目的地装置14可包含其它组件或布置。举例来说,源装置12可从外部视频源(诸如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。
图1的所说明系统10仅是一个实例。用于处理视频数据的技术可由任何数字视频编码及/或解码装置来执行。尽管本发明的技术一般由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常被称作“编解码器”)执行。源装置12及目的地装置14仅为源装置12产生经译码视频数据以供发射到目的地装置14的此类译码装置的实例。在一些实例中,源装置12及目的地装置14可按基本上对称的方式操作,使得源装置12及目的地装置14中的每一者包含视频编码及解码组件。因此,系统10可支持源装置12与目的地装置14之间的单向或双向视频发射,例如用于视频流式发射、视频播放、视频广播或视频电话。
源装置12的视频源18可包含视频捕捉装置,诸如视频相机、含有先前捕捉的视频的视频存档及/或用以从视频内容提供者接收视频数据的视频馈入接口。作为另一替代,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频及计算机产生的视频的组合。源装置12可包括经配置以存储视频数据的一或多个数据存储媒体(例如,存储媒体19)。本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。在每一状况下,捕捉、预先捕捉或计算机产生的视频可由视频编码器20编码。输出接口22可将经编码视频信息输出到计算机可读媒体16。
输出接口22可包括各种类型的组件或装置。举例来说,输出接口22可包括无线发射器、调制解调器、有线网络连接组件(例如,以太网络卡)或另一物理组件。在输出接口22包括无线接收器的实例中,输出接口22可经配置以接收根据蜂窝式通信标准(诸如,4G、4G-LTE、LTE高级、5G及类似者)调制的数据,诸如,位流。在输出接口22包括无线接收器的一些实例中,输出接口22可经配置以接收根据其它无线标准(诸如,IEEE802.11规范、IEEE802.15规范(例如,ZigBeeTM)、BluetoothTM标准及其类似物)调制的数据,诸如,位流。在一些实例中,输出接口22的电路可集成到源装置12的视频编码器20及/或其它组件的电路中。举例来说,视频编码器20及输出接口22可为片上系统(SoC)的部分。SoC也可包含其它组件,诸如,通用微处理器、图形处理单元等。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任一类型的媒体或装置。在一些实例中,计算机可读媒体16包括通信媒体以使源装置12能够实时地将经编码视频数据直接发射到目的地装置14。可根据通信标准(诸如,无线通信协议)调制经编码视频数据,且将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,诸如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(诸如,局域网、广域网或诸如因特网的全域网)的部分。通信媒体可包含路由器、交换器、基站或任何其它可用于促进从源装置12到目的地装置14的通信的设备。目的地装置14可包括经配置以存储经编码视频数据及经解码视频数据的一或多个数据存储媒体。
在一些实例中,可从输出接口22将经编码数据输出到存储装置。类似地,可通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,诸如,硬盘驱动器、Blu-ray碟片、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在再一实例中,存储装置可对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式发射或下载从存储装置存取存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码的视频数据。其可包含无线信道(例如Wi-Fi连接)、有线连接(例如DSL、有线调制解调器等)或两者的适合于存取存储于文件服务器上的经编码视频数据的组合。经编码视频数据从存储装置的发射可为流式发射、下载发射或其组合。
所述技术可应用于视频译码以支持多种多媒体应用中的任一者,诸如,空中电视广播、有线电视发射、有线发射、卫星电视发射、因特网流式视频发射(诸如,HTTP动态自适应流(DASH))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用或以上实例的组合。在一些实例中,系统10可经配置以支持单向或双向视频发射从而支持诸如视频流式发射、视频播放、视频广播及/或视频电话的应用。
计算机可读媒体16可包含暂态媒体,诸如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),诸如硬盘、快闪驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(图中未展示)可从源装置12接收经编码视频数据且(例如)经由网络发射将所述经编码视频数据提供到目的地装置14。类似地,诸如光盘冲压设施的媒体生产设施的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口26从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20的视频编码器20的定义的语法信息(其也由视频解码器30使用),所述语法信息包含描述块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。输出接口26可包括各种类型的组件或装置。举例来说,输入接口26可包括无线接收器、调制解调器、有线网络连接组件(例如,以太网络卡)或另一物理组件。在输入接口26包括无线接收器的实例中,输入接口26可经配置以接收根据蜂窝式通信标准(诸如,4G、4G-LTE、先进LTE、5G及类似者)调制的数据,诸如,位流。在输入接口26包括无线接收器的一些实例中,输入接口26可经配置以接收根据诸如IEEE 802.11规格、IEEE 802.15规格(例如,ZigBeeTM)、BluetoothTM标准及其类似者的其它无线标准而调制的数据,诸如位流。在一些实例中,输入接口26的电路可集成到目的地装置14的视频解码器30及/或其它组件的电路中。举例来说,视频解码器30及输入接口26可为SoC的部分。SoC也可包含其它组件,诸如,通用微处理器、图形处理单元等。
存储媒体28可经配置以存储经编码视频数据,诸如通过输入接口26接收的经编码视频数据(例如,位流)。显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30各自可实施为多种合适的编码器及/或解码器电路中的任一者,诸如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分以软件实施时,装置可将用于软件的指令存储于适合的非暂时性计算机可读媒体中,且使用一或多个处理器在硬件中执行所述指令,以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(编解码器)的部分。
在一些实例中,视频编码器20及视频解码器30可根据视频译码标准(诸如现有或未来标准)来操作。实例视频译码标准包含但不限于:ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被称作ISO/IEC MPEG-4AVC),包含其可调式视频译码(SVC)及多视图视频译码(MVC)扩展。
另外,最近已通过ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)以及3D视频译码扩展开发联合协作小组(JCT-3V)开发新的视频译码标准,即高效率视频译码(HEVC)或ITU-T H.265,其包含其范围及屏幕内容译码扩展、3D视频译码(3D-HEVC)与多视图扩展(MV-HEVC),及可调式扩展(SHVC)。王(Wang)等人的“高效率视频译码(HEVC)缺陷报告2(High Efficiency Video Coding(HEVC)DefectReport 2)”,ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11视频译码联合协作小组(JCT-VC),第15次会议,瑞士日内瓦,2013年10月23日至11月1日,文件JCTVC-O1003_v2为HEVC草案规范,其在下文被称作HEVC WD,可从http://phenix.int-evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O1003-v2.zip获得。对HEVC的范围扩展(即,HEVC-Rext)也正由JCT-VC开发。弗林(Flynn)等人,“高效率视频译码(HEVC)范围扩展文本规范:草案6(High Efficiency Video Coding(HEVC)Range Extensions textspecification:Draft 6”),ITU-T SG 16WP 3及ISO/IEC JTC 1/SC29/WG 11的视频译码联合合作小组(JCT-VC),第16次会议,美国圣何塞,2014年1月9日至17日,文件JCTVC-P1005_v1为范围扩展的新工作草案(WD),其在下文中被称作RExt WD6,可从http://phenix.int-evry.fr/jct/doc_end_user/documents/16_San%20Jose/wg11/JCTVC-P1005-v1.zip获得。HEVC也在2016年12月公开为推荐ITU-T H.265,系列H:视听及多媒体系统、移动视频的视听服务译码的基础架构,高效率视频译码。
ITU-T VCEG(Q6/16)及ISO/IEC MPEG(JTC 1/SC 29/WG 11)现正研究对于将具有显著超过当前HEVC标准(包含其当前扩展及针对屏幕内容译码及高动态范围译码的近期扩展)的压缩能力的压缩能力的未来视频译码技术标准化的潜在需要。此联合工作被称为联合视频探索小组(JVET)。有迹象表明,译码效率的显著改进可通过利用视频内容(尤其用于如4K的高分辨率内容)的特性来获得,其中新颖的专用译码工具超出H.265/HEVC。
JVET在2015年10月19日至21日期间第一次会面。且参考软件的最新版本,即联合探索模型7(JEM7)可从https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-7.0/下载。JEM7的这个算法描述可被称作陈J(J.Chen)、E·阿西纳(E.Alshina)、G·J·沙利文(G.J.Sullivan)、J.-R·欧姆(J.-R.Ohm)、J·博伊斯(J.Boyce)(JVET-C1001,托里诺,2017年7月)的“联合探索测试模型7(JEM7)的算法描述(Algorithm description of Joint Exploration Test Model 7(JEM7))”中。
新的视频译码标准的早期草案,被称作H.266/多功能视频译码(VVC)标准,是在文件JVET-J1001,本杰明·布罗斯(Benjamin Bross)的“视频译码(草案1)(Video Coding(Draft1))”中获得,且其算法描述是在文件JVET-J1002,陈建乐(Jianle Chen)及艾莲娜·阿西纳(Elena Alshina)的“多功能视频译码及测试模型1(VTM 1)的算法描述(Algorithmdescription for Versatile Video Coding and Test Model 1(VTM 1))”中获得。然而,本发明的技术受限于不限于任何特定译码标准。用于VVC的测试软件被称作VVC测试模型(VTM)。
本发明的技术可用于先进视频编解码器的情形中,诸如HEVC的扩展或下一代视频译码标准。虽然大体上参考HEVC及下一代视频译码标准(例如JEM/VVC/VTM)描述本发明的技术,但应理解,本发明的技术可结合仿射运动向量预测的任何视频译码技术使用。
在本发明的一个实例中,视频编码器20及视频解码器30可经配置以:接收待使用仿射运动补偿解码的当前视频数据块;构建用于当前视频数据块的一或多个控制点的仿射运动向量预测子(MVP)列表,包含在来自邻近视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到仿射MVP列表;使用仿射MVP列表确定用于一或多个控制点的运动向量;及利用当前视频数据块的一或多个控制点的经确定运动向量对当前视频数据块进行编码/解码。
在HEVC及其它视频译码规范中,视频数据包含一系列图片。图片也可被称为“帧”。图片可包含一或多个样本阵列。图片的每一相应样本阵列可包括相应色彩分量的样本阵列。在HEVC中,图片可包含三个样本阵列,标示为SL、SCb及SCr。SL为明度样本的二维阵列(即,块)。SCb为Cb色度样本的二维阵列。SCr为Cr色度样本的二维阵列。在其它情况下,图片可为单色的,且可仅包含亮度样本阵列。
作为编码视频数据的部分,视频编码器20可编码视频数据的图片。换句话说,视频编码器20可产生视频数据的图片的经编码表示。图片的经编码表示在本文中可被称作“经译码图片”或“经编码图片”。
为产生图片的经编码表示,视频编码器20可对图片的块进行编码。视频编码器20可将视频块的经编码表示包含于位流中。举例来说,为产生图片的经编码表示,视频编码器20可将图片的每一样本阵列分割成译码树型块(CTB)并编码CTB。CTB可为图片的样本阵列中的样本的N×N块。在HEVC主规范中,CTB的大小可介于16×16至64×64的范围,尽管技术上可支持8×8CTB大小。
图片的译码树型单元(CTU)可包括一或多个CTB且可包括用以编码所述一或多个CTB的样本的语法结构。举例来说,每一CTU可包括明度样本的CTB、色度样本的两个对应CTB,及用以编码CTB的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包括单一CTB及用以编码CTB的样本的语法结构。CTU也可被称作“树型块”或“最大译码单元”(LCU)。在本发明中,“语法结构”可经定义为按指定次序一起在位流中呈现的零个或多个语法元素。在一些编解码器中,经编码图片为含有图片的所有CTU的经编码表示。
为编码图片的CTU,视频编码器20可将CTU的CTB分割成一或多个译码块。译码块为样本的N×N块。在一些编解码器中,为编码图片的CTU,视频编码器20可对CTU的译码树型块递回地执行四分树分割以将CTB分割成译码块,因此命名为“译码树型单元”。译码单元(CU)可包括一或多个译码块及用以编码一或多个译码块的样本的语法结构。举例来说,CU可包括具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块,及色度样本的两个对应译码块,及用以对译码块的样本进行编码的语法结构。在单色图片或具有三个单独色彩平面的图片中,CU可包括单个译码块及用以对所述译码块的样本进行译码的语法结构。
另外,视频编码器20可对视频数据的图片的CU进行编码。在一些编解码器中,作为编码CU的部分,视频编码器20可将CU的译码块分割成一或多个预测块。预测块为供应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括CU的一或多个预测块,及用以预测所述一或多个预测块的语法结构。举例来说,PU可包括明度样本的预测块、色度样本的两个对应预测块,及用以对预测块进行预测的语法结构。在单色图片或具有三个单独色彩平面的图片中,PU可包括单个预测块及用以对所述预测块进行预测的语法结构。
视频编码器20可产生用于CU的PU的预测块(例如,明度、Cb及Cr预测块)的预测性块(例如,明度、Cb及Cr预测性块)。视频编码器20可使用帧内预测或帧间预测以产生预测性块。如果视频编码器20使用帧内预测以产生预测性块,那么视频编码器20可基于包含CU的图片的经解码样本产生预测性块。如果视频编码器20使用帧间预测以产生当前图片的CU的预测性块,那么视频编码器20可基于参考图片(即,除当前图片外的图片)的经解码样本产生CU的预测性块。
在HEVC中,切片中的最大译码单元称为译码树型块(CTB)。CTB含有四分树,所述四分树的节点为译码单元。CTB的大小可介于HEVC主规范中的16×16至64×64的范围(尽管技术上可支持8×8CTB大小)。译码单元(CU)可与CTB具有相同大小,但可为且小如8×8。每一译码单元是用一个模式译码。当CU经帧间译码时,CU可进一步分割成两个预测单元(PU)或当不应用另一分割时变为仅一个PU。当两个PU存在于一个CU中时,其可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。当CU经帧间译码时,针对每一PU提供运动信息的一个集合。另外,每一PU是用唯一帧间预测模式来译码以导出运动信息集合。在HEVC中,最小PU尺寸为8×4及4×8。
在HEVC及特定其它编解码器中,视频编码器20使用仅仅一种预测模式(即,帧内预测或帧间预测)编码CU。因此,在HEVC及特定其它编解码器中,视频编码器20可使用帧内预测产生CU的预测性块或视频编码器20可使用帧间预测产生CU的预测性块。当视频编码器20使用帧间预测来编码CU时,视频编码器20可将CU分割成2或4个PU,或一个PU对应于整个CU。当两个PU存在于一个CU中时,两个PU可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。在HEVC中,存在用于用帧间预测模式译码的CU的八个分割模式,即,PART_2N×2N、PART_2N×N、PART_N×2N、PART_N×N、PART_2N×nU、PART_2N×nD、PART_nL×2N及PART_nR×2N。当CU经帧内预测时,2N×2N及N×N为仅容许的PU形状,且在每一PU内,单个帧内预测模式经译码(而色度预测模式是在CU级别处发信号通知)。
为了预测CU,视频编码器20一般可经由帧间预测或帧内预测形成CU的预测块。帧间预测一般是指从先前经译码图片的数据预测CU,而帧内预测一般是指从同一图片的先前经译码数据预测CU。为了执行帧间预测,视频编码器20可使用一或多个运动向量来产生预测块。视频编码器20可大体执行运动搜索以鉴别(例如)就CU与参考块之间的差来说紧密匹配CU的参考块。视频编码器20可使用绝对差总和(SAD)、平方差总和(SSD)、平均绝对差(MAD)、均方差(MSD)或其它此类差计算来计算差度量,以确定参考块是否紧密匹配当前CU。在一些实例中,视频编码器20可使用单向预测或双向预测来预测当前CU。
JEM/VVC也提供仿射运动补偿模式,其可被视为帧间预测模式。在仿射运动补偿模式中,视频编码器20可确定表示非平移运动(诸如放大或缩小、旋转、透视运动或其它不规则运动类型)的两个或更多个运动向量。
为了执行帧内预测,视频编码器20可选择帧内预测模式以产生预测块。JEM/VVC提供六十七种帧内预测模式,包含各种定向模式以及平面模式及DC模式。大体上,视频编码器20选择从其预测当前块的样本的帧内预测模式,其描述与当前块(例如CU的块)相邻的样本。此类样本一般可与当前块在同一图片中,在当前块的上方、左上方或左侧,假设视频编码器20以光栅扫描次序(左到右、上到下)译码CTU及CU。
视频编码器20对表示当前块的预测模式的数据进行编码。举例来说,对于帧间预测模式,视频编码器20可对表示使用多种可用帧间预测模式中的哪一者以及对应模式的运动信息的数据进行编码。例如,对于单向或双向帧间预测,视频编码器20可使用先进运动向量预测(AMVP)或合并模式来编码运动向量。视频编码器20可使用类似模式来编码仿射运动补偿模式的运动向量。
视频编码器20可产生CU的一或多个残余块。举例来说,视频编码器20可产生用于CU的明度残余块。CU的明度残余块中的各样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中的对应样本之间的差异。另外,视频编码器20可产生用于CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差异。视频编码器20也可产生CU的Cr剩余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块的中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差异。
此外,视频编码器20可将CU的残余块分解成一或多个变换块。例如,视频编码器20可使用四分树分割以将CU的残余块分解成一或多个变换块。变换块为供应用相同变换的样本的矩形(例如正方形或非正方形)块。CU的变换单元(TU)可包括一或多个变换块。举例来说,TU可包括明度样本的变换块、色度样本的两个对应变换块,及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可具有明度变换块、Cb变换块以及Cr变换块。TU的明度变换块可为CU的明度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独色彩平面的图片中,TU可包括单一变换块及用于对所述变换块的样本进行变换的语法结构。
在JEM7及VVC的实例中,可使用四分树二元树(QTBT)分割结构而非使用上述HEVC的四分树分割结构。QTBT结构移除多个分区类型的概念。即,QTBT结构移除CU、PU及TU概念的分离,且支持CU分区形状的较多灵活性。在QTBT块结构中,CU可具有正方形或矩形形状。JEM/VVC的实例的QTBT结构包含两个级别:根据四分树分割进行分割的第一级别,及根据二元树分割进行分割的第二级别。QTBT结构的根节点对应于CTU。二元树的叶节点对应于译码单元(CU)。在一个实例中,CU为按四分树结构的第一分区。四分树叶节点是通过二元树结构进一步分割。
在一些实例中,存在两种分裂类型:对称水平分裂及对称竖直分裂。二元树叶节点被称作CU,且所述分段(即,CU)用于预测及变换处理而无需任何进一步分割。这意味着CU、PU及TU在QTBT译码块结构中具有相同块大小。在JEM/VVC中,CU有时包含具有不同色彩分量的译码块(CB)。举例来说,在4:2:0色度格式的P及B切片的情况下,一个CU含有一个明度CB及两个色度CB,且有时由具有单一分量的CB组成。举例来说,在I切片的情况下,一个CU含有仅一个明度CB或仅两个色度CB。
在一些实例中,视频编码器20及视频解码器30可使用单一QTBT结构来表示照度及彩度分量中的每一者,而在其它实例中,视频编码器20及视频解码器30可使用两个或更多个QTBT结构,诸如用于照度分量的一个QTBT结构及用于两个彩度分量的另一QTBT结构(或用于相应彩度分量的两个QTBT结构)。
视频编码器20及视频解码器30可经配置以使用根据HEVC的四分树分割、根据JEM/VVC的QTBT分割,或其它分割结构。出于解释的目的,关于QTBT分割呈现本发明的技术的描述。然而,应理解,本发明的技术也可应用于经配置以使用四分树分割也或其它类型的分割的视频译码器。
视频编码器20可将一或多个变换应用到TU的变换块,以产生TU的系数块。系数块可为变换系数的二维阵列。变换系数可为标量。在一些实例中,一或多个变换将变换块从像素域转换到频域。因此,在这些实例中,变换系数可为视为在频域中的标量。变换系数级别为表示在缩放变换系数值的计算之前与解码过程中的特定2维频率索引相关联的值的整数数量。
在一些实例中,视频编码器20跳过将变换应用到变换块。在这些实例中,视频编码器20可处理残余样本值,可以与变换系数相同的方式处理残余样本值。因此,在视频编码器20跳过变换的应用的实例中,变换系数及系数块的以下论述可适用于残余样本的变换块。
在产生系数块之后,视频编码器20可量化所述系数块。量化大体上是指将变换系数量化以可能地减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在一些实例中,视频编码器20跳过量化。在视频编码器20将系数块量化之后,视频编码器20可产生指示经量化变换系数的语法元素。视频编码器20可对指示经量化变换系数的语法元素中的一或多者进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文适应性二进制算术译码(CABAC)。因此,经编码块(例如,经编码CU)可包含指示经量化变换系数的经熵编码语法元素。
视频编码器20可输出包含经编码视频数据的位流。换句话说,视频编码器20可输出包含视频数据的经编码表示的位流。举例来说,位流可包括形成视频数据及相关联数据的经编码图片的表示的位的序列。在一些实例中,经译码图片的表示可包含块的经编码表示。
所述位流可包括网络抽象层(NAL)单元的序列。NAL单元为含有NAL单元中的数据的类型的指示及含有所述数据的呈按需要穿插有仿真阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一者可包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。通过NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
视频解码器30可接收由视频编码器20产生的位流。如上文所提及,位流可包括视频数据的经编码表示。视频解码器30可解码位流以重构建视频数据的图片。作为解码位流的部分,视频解码器30可剖析位流以从位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构建视频数据的图片。重构建视频数据的图片的过程可大体上互逆于由视频编码器20执行以编码图片的过程。举例来说,视频解码器30可使用帧间预测或帧内预测以产生用于当前CU的每一PU的一或多个预测性块,可使用PU的运动向量以确定用于当前CU的PU的预测性块。另外,视频解码器30可反量化当前CU的TU的系数块。视频解码器30可对系数块执行反变换,以重构建当前CU的TU的变换块。在一些实例中,通过将当前CU的PU的预测性块的样本添加到当前CU的TU的变换块的对应经解码样本,视频解码器30可重构建当前CU的译码块。通过重构建图片的各CU的译码块,视频解码器30可重构建图片。
图片的切片可包含图片的整数数目个CTU。切片的CTU可按扫描次序(诸如光栅扫描次序)连续定序。在HEVC中,切片经定义为含于同一存取单元内的一个独立切片片段及先于下一独立切片片段(若存在)的所有后续相关切片片段(若存在)中的整数数目个CTU。另外,在HEVC中,切片片段定义为在图片块扫描中连续定序且含于单一NAL单元中的整数数目个译码树型单元。图片块扫描为分割图片的CTB的特定顺序定序,其中CTB在图片块中在CTB光栅扫描中经连续定序,而图片中的图片块是在图片的图片块的光栅扫描中经连续定序。图片块为图片中的特定图片块行及特定图片块列内的CTB的矩形区。切片片段标头为经译码切片片段中的含有与表示于切片片段中的第一或所有译码树型单元有关的数据元素的一部分。术语“切片标头”适用于按解码次序位于当前相关切片片段之前的独立切片片段(即,当前切片片段或最近的独立切片片段)的切片片段标头。
图2A及2B为说明实例四分树二元树(QTBT)结构130及对应译码树型单元(CTU)132的概念图。实线表示四分树分裂,且点线指示二元树分裂。在二元树的每一分裂(即,非叶)节点中,一个旗标经发信号通知以指示使用哪一分裂类型(即,水平或竖直),其中在此实例中,0指示水平分裂且1指示竖直分裂。对于四分树分裂,不需要指示分裂类型,这是由于四分树节点将块水平及竖直地分裂成具有相等大小的4个子块。因此,视频编码器20可编码,且视频解码器30可解码用于QTBT结构130的区域树级别(即实线)的语法元素(诸如分裂信息)及用于QTBT结构130的预测树级别(即虚线)的语法元素(诸如分裂信息)。视频编码器20可编码,且视频解码器30可解码用于由QTBT结构130的端叶节点表示的CU的视频数据(诸如预测及变换数据)。
一般来说,图2B的CTU 132可与定义对应于在第一及第二级别处的QTBT结构130的节点的块的大小的参数相关联。这些参数可包含CTU大小(表示样本中的CTU 132的大小)、最小四分树大小(MinQTSize,表示最小允许四分树叶节点大小)、最大二元树大小(MaxBTSize,表示最大允许二元树根节点大小)、最大二元树深度(MaxBTDepth,表示最大允许二元树深度),及最小二元树大小(MinBTSize,表示最小允许二元树叶节点大小)。
对应于CTU的QTBT结构的根节点可具有在QTBT结构的第一级别处的四个子节点,所述节点中的每一者可根据四分树分割来分割。即,第一级别的节点为叶节点(不具有子节点)或具有四个子节点。QTBT结构130的实例表示诸如包含具有用于分枝的实线的父节点及子节点的节点。如果第一级别的节点不大于最大允许二元树根节点大小(MaxBTSize),那么其可通过相应二元树进一步分割。一个节点的二元树分裂可重复,直到由分裂产生的节点达到最小允许二元树叶节点大小(MinBTSize),或最大允许二元树深度(MaxBTDepth)为止。QTBT结构130的实例表示诸如具有用于分枝的虚线的节点。二元树叶节点被称为译码单元(CU),其用于预测(例如图片内或图片间预测)及变换而无需任何进一步分割。如上文所论述,CU也可被称作“视频块”或“块”。
在QTBT分割结构的一个实例中,CTU大小经设置为128×128(明度样本及两个对应64×64色度样本),MinQTSize经设置为16×16,MaxBTSize经设置为64×64,MinBTSize(对于宽度及高度两者)经设置为4,且MaxBTDepth经设置为4。四分树分割首先应用于CTU以产生四分树叶节点。四分树叶节点可具有自16×16(即,MinQTSize)到128×128(即,CTU大小)的大小。如果叶四分树节点为128×128,那么所述节点不会由二元树进一步分裂,这是由于大小超过MaxBTSize(即,在此实例中为64×64)。否则,叶四分树节点将通过二元树进一步分割。因此,四分树叶节点也为二元树的根节点并具有为0的二元树深度。当二元树深度达到MaxBTDepth(在此实例中为4)时,不准许进一步分裂。当二元树节点具有等于MinBTSize(在此实例中,4)的宽度时,其意指不准许进一步水平分裂。类似地,具有等于MinBTSize的高度的二元树节点意指对于彼二元树节点不准许进一步竖直分裂。如上文所提及,二元树的叶节点被称作CU,且根据预测及变换来进一步处理而不进一步分割。
在H.265/HEVC中,对于每一块,运动信息集合可为可用的。运动信息的集合含有用于前向及后向预测方向的运动信息。此处,前向及后向预测方向为双向预测模式的两个预测方向且术语“前向”及“后向”未必具有几何结构含义。实情为,术语“前向”及“后向”分别对应于当前图片的参考图片列表0(RefPicList0)及参考图片列表1(RefPicList1)。当仅仅一个参考图片列表可供用于图片或切片时,仅仅RefPicList0为可用的,且切片的每一块的运动信息始终为前向的。
对于每一预测方向,运动信息包含参考索引及运动向量。在一些状况下,为简单起见,可以假设运动向量自身具有相关联参考索引的方式参考所述运动向量。参考索引是用以鉴别当前参考图片列表(例如,第一参考图片列表(RefPicList0)或第二参考图片列表(RefPicList1))中的参考图片。运动向量具有指示当前块与预测性块之间的移位的水平(x)及竖直分量(y)。
视频译码标准中广泛使用图片次序计数(POC)以鉴别图片的显示次序。虽然存在一个经译码视频序列内的两个图片可具有相同POC值的情况,但经译码视频序列内通常不发生此类情况。当位流中存在多个经译码视频序列时,就解码次序来说,具有同一POC值的图片可更接近于彼此。图片的POC值通常用于参考图片列表构建、如HEVC中的参考图片集的导出及运动向量缩放。
如上文所描述,在HEVC中,切片中的最大译码单元被称作译码树型块(CTB)。CTB含有四分树,所述四分树的节点为译码单元。CTB的大小可介于HEVC主规范中的16×16至64×64的范围(尽管技术上可支持8×8CTB大小)。译码单元(CU)可与CTB具有相同大小,但可为且小如8×8。每一译码单元是用一个模式译码。当CU经帧间译码时,CU可进一步分割成两个预测单元(PU)或当不应用另一分割时变为仅一个PU。当两个PU存在于一个CU中时,其可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。
当CU经帧间译码时,针对每一PU提供运动信息的一个集合。另外,每一PU是用唯一帧间预测模式来译码以导出运动信息集合。在HEVC中,最小PU尺寸为8×4及4×8。
视频译码器(例如,视频编码器20及视频解码器30)可执行用于当前块(例如CU或PU)的单向帧间预测或双向帧间预测。当对于当前块执行单向帧间预测时,视频译码器使用运动向量来确定参考图片中的位置。视频译码器接着可产生当前块的预测性块。预测性块可包括在通过运动向量指示的位置处的参考图片中的样本的块,或从参考图片的样本内插的样本的块。当执行双向帧间预测时,视频译码器可用第二参考图片及第二运动向量执行此过程,借此产生当前块的第二预测性块。在双向帧间预测中,由单一参考图片产生的预测性块在本文中可被称作预先预测性块。另外,在双向帧间预测中,视频译码器可基于两个预先块产生当前块的最终预测性块。在一些实例中,视频译码器可产生最终预测性块,使得最终预测性块中的每一样本为预先预测性块中的对应样本的加权平均。
为支持图片中的帧间预测,视频译码器(例如,视频编码器20及视频解码器30)产生当前图片的两个参考图片列表。当前图片的参考图片列表包含可供用于执行当前图片中的块的帧间预测的参考图片。两个参考图片列表通常被称作列表0及列表1(也被称作RefPicList0及RefPicList1)。在一个实例中,当前图片的列表0中的每一参考图片按输出次序在当前图片之前出现。在此实例中,当前图片的列表1中的每一参考图片按输出次序在当前图片之后出现。因此,列表0中的参考图片的使用可视为第一帧间预测方向且列表1中的参考图片的使用可视为第二帧间预测方向。视频编码器20及视频解码器30利用参考图片以相同次序产生当前图片的列表0。同样,视频编码器20及视频解码器30利用参考图片以相同次序产生当前图片的列表1。因此,视频编码器20可通过发信号通知指示参考图片在参考图片列表中的位置的参考索引向视频解码器30指示参考图片列表中的参考图片。
HEVC标准包含多个帧间预测模式,包含合并模式(跳过模式被视为合并的特殊情况)及先进运动向量预测(AMVP)模式。在AMVP或合并模式中,针对多个运动向量预测子维持运动向量(MV)候选列表。当前PU的运动向量以及合并模式中的参考索引是通过从MV候选列表获取一个候选者而产生。MV候选列表含有用于合并模式的至多5个候选者及用于AMVP模式的仅仅两个候选者。合并候选者可含有运动信息集合,例如对应于参考图片列表(例如列表0及列表1)及参考索引中的一或多者的运动向量。合并候选者通过合并索引鉴别,且视频解码器30确定并使用参考图片来预测当前块以及相关联运动向量。然而,在针对从列表0或列表1的每一潜在预测方向的AMVP模式下,明确地将参考索引连同运动向量预测子(MVP)索引发信号通知到MV候选列表,因为AMVP候选者仅含有运动向量。MVP索引指示MV候选列表中的候选者。在AMVP模式中,可进一步改进经预测运动向量。
如上文可见,合并候选者对应于运动信息的完整集合(例如预测方向、参考索引及运动向量),而AMVP候选者含有用于经专门发信号通知的预测方向及参考索引的仅一个运动向量。以类似方式从相同空间及时间相邻块导出用于两个模式的候选者。
更具体地说,在合并模式中,视频编码器20及视频解码器30各自产生用于块(例如PU或CU)的合并运动向量(MV)候选列表。用于块的合并MV候选列表包含一或多个合并候选者,其也可被称作运动向量预测子(MVP)。在HEVC中,合并MV候选列表含有至多5个合并候选者。合并MV候选列表中的每一相应合并候选者指定一或多个运动向量及一或多个参考索引。举例来说,合并候选者可指定列表0运动向量及/或列表1运动向量,且可指定列表0参考索引及/或列表1参考索引。列表0运动向量为指示列表0中的参考图片中的位置的运动向量。列表1运动向量为指示列表1中的参考图片中的位置的运动向量。视频编码器20可发信号通知指示用于PU的所选择合并候选者在合并MV候选列表中的位置的合并索引。视频解码器30可使用合并索引以鉴别所选择合并候选者。视频解码器30接着可使用所选择合并候选者的运动向量及参考索引作为PU的运动向量及参考索引。
在AMVP模式中,视频编码器20产生用于块(例如PU或CU)的列表0AMVP候选列表及/或列表1AMVP候选列表,其中的任一者可被称为AMVP候选列表。视频解码器30产生匹配由视频编码器20产生的AMVP候选列表的AMVP候选列表。在HEVC中,AMVP候选列表含有两个AMVP候选者。列表0AMVP候选列表中的每一相应AMVP候选者指定相应列表0运动向量。列表1AMVP候选列表中的每一相应AMVP候选者指定相应列表1运动向量。在AMVP模式中,如果PU是从列表0单向帧间预测或经双向帧间预测,则视频编码器20发信号通知列表0MVP索引、列表0参考索引,及列表0运动向量差(MVD)。列表0MVP索引指定列表0AMVP候选列表中的所选择AMVP候选者的位置。列表0参考索引指定所选择列表0参考图片的位置。列表0MVD指定PU的列表0运动向量与由列表0AMVP候选列表中的所选择AMVP候选者指定的列表0运动向量之间的差。因此,视频解码器30可使用列表0MVP索引及列表0MVD以确定PU的列表0运动向量。视频解码器30接着可确定PU的包括对应于由PU的列表0运动向量鉴别的所选择列表0参考图片中的位置的样本的预先或最终预测性块。视频编码器20可发信号通知用于列表1的类似语法元素且视频解码器30可以类似方式使用用于列表1的语法元素。
尽管从块产生候选者的方法对于合并及AMVP模式来说可能不同,但对于特定PU(PU0),空间MV候选者是从图3A及图3B中展示的相邻块所导出。图3A说明用于合并模式的空间相邻MV候选者。在合并模式中,至多四个空间MV候选者可以图3A中以数字展示的次序导出,且次序如下:左(0)、上(1)、右上(2)、左下(3)及左上(4)。
图3B说明用于AMVP模式的空间相邻MV候选者。在AMVP模式中,相邻块分成两个群组:由块0及1组成的左群组,及由块2、3及4组成的上群组,如图3B中所示。对于每一群组,参考与由发信号通知的参考索引指示的相同参考图片的相邻块中的潜在候选者具有待选择的最高优先级以形成群组的最终候选者。有可能所有相邻块均不含有指向相同参考图片的运动向量。因此,如果无法发现此类候选者,那么将缩放第一可用候选者以形成最终候选者,因此可补偿时间距离差。
举例来说,作为产生列表0AMVP候选列表的部分,视频译码器(例如,视频编码器20或视频解码器30)检查是否从列表0预测块0,且若如此,检查块0的列表0参考图片是否与当前PU的列表0参考图片相同。如果块0是从列表0预测且块0的列表0参考图片与当前PU的列表0参考图片相同,那么视频译码器将块0的列表0运动向量包含于列表0AMVP候选列表中。否则,视频译码器检查块0是否是从列表1预测,且若如此,检查块0的列表1参考图片是否与当前PU的列表0参考图片相同。如果块0是从列表0预测且块0的列表1参考图片与当前PU的列表0参考图片相同,那么视频译码器将块0的列表1运动向量包含于列表0AMVP候选列表中。如果块0的列表1参考图片不与当前PU的列表0参考图片相同,那么视频译码器对块1而非块0重复此过程。
然而,如果块1并非从列表1预测或块1的列表1参考图片并不与当前PU的列表0参考图片相同,则视频译码器确定块0是否是从列表0预测,且若如此,则确定块0的列表0参考图片及当前PU的列表0参考图片是都为长期参考图片还是都为短期参考图片。如果块0的列表0参考图片及当前PU的列表0参考图片都为长期参考图片或块0的列表0参考图片及当前PU的列表0参考图片都为短期参考图片,那么视频译码器可基于块0的列表0参考图片与当前PU的列表0参考图片之间的时间差缩放块0的列表0运动向量。视频译码器将缩放的列表0运动向量包含到列表0AMVP候选列表中。如果块0的列表0参考图片为长期参考图片且当前PU的列表0参考图片为短期参考图片,或反之亦然,那么视频译码器确定块0是否是从列表1预测,且若如此,则确定块0的列表1参考图片及当前PU的列表0参考图片是都为长期参考图片还是都为短期参考图片。如果块0的列表1参考图片及当前PU的列表0参考图片都为长期参考图片或块0的列表1参考图片及当前PU的列表0参考图片都为短期参考图片,那么视频译码器可基于块0的列表1参考图片与当前PU的列表0参考图片之间的时间差缩放块0的列表1运动向量。视频译码器将缩放的列表0运动向量包含到列表0AMVP候选列表中。如果块0的列表1参考图片为长期参考图片且当前PU的列表0参考图片为短期参考图片,或反之亦然,那么视频译码器对块1而非块0重复此过程。
视频译码器可对于块2、3及4执行类似过程以将第二候选者包含在当前PU的列表0AMVP候选列表中。另外,视频译码器可重复此整个过程(调换对于列表0与列表1的参考,及调换对于列表1与列表0的参考),以产生当前PU的列表1AMVP候选列表。
因此,在AVMP模式中,如图3B中所示,相邻块被分成两个群组:由块0及1组成的左群组及由块2、3及4组成的上群组。对于每一群组,参考与由发信号通知的参考索引指示的相同参考图片的相邻块中的潜在候选者具有待选择的最高优先级以形成群组的最终候选者。有可能所有相邻块均不含有指向相同参考图片的运动向量。因此,如果不能发现此候选者,那么可缩放第一可用候选者以形成最终候选者;因此,可补偿时间距离差。
视频译码器可将时间运动向量预测子(TMVP)候选者(若启用及可用)包含到合并MV候选列表中在空间运动向量候选者之后或AMVP候选列表中。举例来说,在AMVP的情况下,如果空间相邻块不可用(例如,因为空间相邻块在图片、切片或图片块边界外部,因为空间相邻块经帧内预测,等),那么视频译码器可将TMVP候选者包含在AMVP候选列表中。在合并模式中,TMVP候选者可指定时间相邻块的列表0及/或列表1运动向量。用于合并模式中的TMVP候选者的参考索引始终设置成0。在AMVP模式中,TMVP候选者指定时间相邻块的列表0运动向量或时间相邻块的列表1运动向量。时间相邻块为参考图片中的块。对于合并模式及AMVP模式两者,用于TMVP候选者的运动向量导出的过程可为相同的。
如上文所提及,视频译码器可缩放运动向量。当缩放运动向量时,假设运动向量的值与呈现时间中的图片的距离成比例。运动向量与两个图片相关联:参考图片及含有运动向量的图片(即,含有图片)。当运动向量用以预测其它运动向量时,含有图片与参考图片的距离是基于参考图片及含有图片的图片次序计数(POC)值而计算。
对于待预测的运动向量,其相关联的含有图片及参考图片可不同。因此,计算新距离(基于POC)。基于这些两个POC距离缩放运动向量。对于空间相邻候选者,用于两个运动向量的含有图片相同,而参考图片不同。在HEVC中,运动向量缩放适用于空间及时间相邻候选者的TMVP及AMVP两者。
另外,在一些实施方案中,如果MV候选列表(例如,合并MV候选列表或AMVP候选列表)不完整,那么视频译码器可在MV候选列表的末端处产生并插入假造运动向量候选者直到MV候选列表具有需要数目个候选者。在合并模式中,存在两种类型的假造MV候选者:仅针对B切片导出的组合候选者,及零候选者。组合候选者指定来自一个合并候选者的列表0运动向量与不同合并候选者的列表1运动向量的组合。仅当第一类型(即,组合候选者)不提供足够假造候选者时,零候选者才用于运动向量预测。零候选者为指定MV的候选者,所述MV的水平及竖直分量各自等于0。
对于已在候选列表中且具有必要运动信息的每一对候选者,双向合并运动向量候选者通过参考列表0中的图片的第一候选者的运动向量与参考列表1中的图片的第二候选者的运动向量的组合导出。
另外,视频译码器可应用修剪过程用于候选者插入。来自不同块的候选者可恰巧相同,这可降低合并/AMVP候选列表的效率。应用修剪过程以解决此问题。修剪过程将一个候选者与当前候选列表中的其它者相比较以避免插入在某些程度上相同的候选者。为减小复杂度,应用仅仅受限制数目个修剪过程,而非比较每一潜在候选者与所有其它现有候选者。
H.265/HEVC中的运动补偿用以产生当前帧间块(即,使用帧间预测译码的块)的预测子。视频编码器20及视频解码器30可使用四分之一像素准确度运动向量且可使用明度及色度分量的相邻整数像素值将像素值内插在分数位置处。
在一些实例视频编解码器标准中,仅将平移运动模型应用于运动补偿预测(MCP)(也被称作帧间预测)。然而,在真实世界中,存在许多种类的运动,例如放大/缩小、旋转、透视运动及其它不规则运动。如果仅将平移运动模型应用于具有不规则运动的此类测试序列中的MCP,那么此类平移运动模式的使用将影响预测准确度且可导致低译码效率。视频专家尝试设计算法以改进用于较高译码效率的MCP。在JEM中,应用仿射变换运动补偿预测以改进译码效率。已经提出仿射合并模式及仿射帧间模式来应对具有四个参数的如下仿射移动模型:
在方程式(1)中,mvx为用于块内的位置(x,y)的运动向量的水平分量,且mvy为用于块内的位置(x,y)的运动向量的竖直分量。在方程式(1)中,a、b、c、d、e及f为参数。应注意,在仿射运动模型中,块内的不同位置具有不同运动向量。
4参数仿射运动模型可由左上方控制点(V0)的运动向量及右上方控制点(V1)的运动向量表示。图4说明用于当前块300的简化仿射运动模型。如图4中所示,当前块300的仿射运动场由两个控制点运动向量MV0及MV1描述。MV0为用于当前块300的左上方控制点302的控制点运动向量。MV1为当前块300的右上方控制点304的控制点运动向量。因此,(mvx0,mvy0)为左上方拐角的控制点运动向量且(mvx1,mvy1)为当前块300的右上方拐角的另一控制点运动向量,如图4中所示。
块的运动向量场(MVF)是通过以下方程式描述:
在方程式(2)中,mvx为用于块中的位置(x,y)的运动向量的水平分量;mvy为用于块中的位置(x,y)的运动向量的竖直分量;(mv0x,mv0y)为左上方拐角控制点(例如左上方控制点302)的运动向量;(mv1x,mv1y)为右上方拐角控制点(例如右上方控制点304)的运动向量;且w为块的宽度。因此,视频编码器20及视频解码器30可使用方程式(2)以基于块的控制点的运动向量“外推”位置(x,y)的运动向量。在JEM软件的实例中,仅将仿射运动预测应用于正方形块。作为自然扩展,也可将仿射运动预测应用于非正方形块。
在一些实例中,为进一步简化运动补偿预测,可应用基于块的仿射变换预测。因此,视频译码器(例如,视频编码器20及/或视频解码器30)可导出块的子块的运动向量而非导出块中的每一子块的运动向量。在JEM中,子块为4×4块。为导出子块的运动向量,视频译码器可根据方程式(2)计算子块的中心样本的运动向量。视频译码器接着可将所计算运动向量舍入到1/16分率准确度。经舍入的运动向量在本文中可被称作高准确度运动向量。接着,视频译码器可应用运动补偿内插滤波器以用导出的运动向量产生子块中的每一者的预测(即,预测性块)。
图5说明每一子块的实例仿射运动向量场(MVF)。如图5的实例中所示,当前块400具有左上方控制点402及右上方控制点404。视频译码器可基于左上方控制点402的运动向量406及右上方控制点404的运动向量408计算当前块400的子块的运动向量。图5将子块的运动向量展示为小箭头。
在MCP之后,每一子块的高准确度运动向量经舍入并以与正常运动向量相同的准确度保存。在一些实例中,当所存储运动向量的精度小于高准确度运动向量时仅仅执行高准确度运动向量的舍入。
在一个实例中,在JEM中使用两种仿射运动模式:AF_INTER模式及AF_MERGE模式。在JEM的一个实例中,AF_INTER模式可应用于宽度及高度均大于8的CU。在位流中在CU级别处发信号通知仿射旗标以指示是否使用AF_INTER模式。在AF_INTER模式中,视频编码器20发信号通知当前块的列表0参考索引及/或列表1参考索引以指示列表0参考图片及/或列表1参考图片。
在AF_INTER模式中,视频编码器20及视频解码器30可各自构建当前块的一或多个候选列表(即,仿射MVP集合候选列表)。举例来说,视频编码器20及视频解码器30可各自构建列表0仿射MVP集合候选列表及/或列表1仿射MVP集合候选列表。仿射MVP集合候选列表中的每一者包含仿射MVP集合的相应集合。在4参数仿射运动模型中,列表0仿射MVP集合候选列表中的仿射MVP集合指定两个列表0运动向量(即运动向量对)。在4参数仿射运动模型中,列表1仿射MVP集合候选列表中的仿射MVP集合指定两个列表1运动向量。
对于大小等于或大于16×16的每一CU/PU,可如下应用AF_INTER模式。如果当前CU/PU处于AF_INTER模式,那么在位流中发信号通知CU/PU级别中的仿射旗标。建置仿射运动向量预测(MVP)候选列表,其中两个候选者为{(MVP0 0,MVP0 1),(MVP1 0,MVP1 1)}。使用速率-失真优化(RDO)成本来确定是选择(MVP0 0,MVP0 1)还是(MVP1 0,MVP1 1)作为当前CU/PU的仿射运动向量预测。如果选择(MVPx 0,MVPx 1),那么MV0是用MVPx 0译码为预测,且MV0是用MVPx 1译码为预测。针对位流中的当前块发信号通知指示所选择候选者在列表中的位置的索引。
图6为说明如在AF_INTER模式中所使用的当前块500及相邻块的框图。在一个实例中,图6中所示的相邻块A-F可用于构建当前块500的仿射MVP候选列表。在此实例中,相邻块可分成三个群组:群组0(G0)、群组1(G1)及群组2(G2)。G0包含左上方块502(A)、第一上方块504(B)及第一左块506(C)。G0相邻块可用于确定当前块500的左上方控制点的MV0的候选者。G1包含第二上方块508(D)及右上方块510(E)。G1相邻块可用于确定当前块500的右上方控制点的MV1的候选者。G2包含第二左块512(G)及右下方块514(F)。G2相邻块可用于确定当前块500的左下方控制点的MV2的候选者。
仿射MVP候选列表的构建过程如下。
-从三个群组(G0,G1,G2)收集MV
-G0:{MV-A,MV-B,MV-C},G1:{MV-D,MV-E},G2{MV-F,MV-G}。块A、B、C、D、E、F及G涉及当前块500展示于图6中。MV-A是与块A相关联的运动向量,MV-B是与块B相关联的运动向量,等等。
-首先参考目标参考图片获取MV。
-随后如果未参考目标目标图片,那么获取经缩放MV。
-对于来自G0、G1、G2的三元组(MV0,MV1,MV2),使用仿射模型自MV0及MV1导出MV2'以获得D(MV0,MV1,MV2)=|MV2-MV2'
-仔细检查来自G0、G1及G2的所有三元组,找出产生最小D的三元组(MV00,MV01,MV02),随后设置MVP0 0=MV00,MVP0 1=MV01。
-如果存在多于一个可用的三元组,那么找出产生第二最小D的(MV10,MV11,MV12),随后设置MVP1 0=MV10,MVP1 1=MV11。
-如果候选者未满足,那么针对当前块导出用于非仿射预测块的MVP候选者。举例来说,用于非仿射预测块的MVP候选者为MVP_nonaff0及MVP_nonaff1。如果无法从三元组搜索找到(MVP1 0,MVP1 1),那么设置MVP1 0=MVP1 1=MVP_nonaff0。
在确定当前仿射CU/PU的MVP之后,应用仿射运动估计且找到(MV00,MV01)。随后,在位流中译码(MV0 0,MV0 1)与(MVPx 0,MVPx 1)的差。
应用上文所提及的仿射运动补偿预测以产生当前CU/PU的残余。最后,作为传统过程,将当前CU/PU的残余变换、量化且译码成位流。
当使用AF_MERGE模式对当前CU/PU进行译码时,视频编码器20及视频解码器30可获得与来自有效的相邻经重构建块的用仿射模式译码的第一块有关的信息。图7A展示在以AF_MERGE模式译码当前块700时使用的相邻块。候选块相对于当前块700的选择次序为从左块702(A)、上方块704(B)、右上方块706(C)、左下方块708(D)到左上方块710(E),如图7A中所示。
在一个实例中,如果相邻左下方块702(A)是以仿射模式译码,如图7B中所示,那么视频编码器20及视频解码器30导出含有左下方块702(A)的CU/PU 712的左上方拐角、右上方拐角及左下方拐角的运动向量mv2、mv3及mv4。视频编码器20及视频解码器30根据mv2、mv3及mv4计算当前CU/PU 712的左上方拐角的运动向量v0。类似地,视频编码器20及视频解码器30基于mv2、mv3及mv4计算当前CU/PU 712的右上方的运动向量v1。在例如根据方程式(2)中所定义的简化仿射运动模型确定当前CU/PU mv0及mv1的控制点运动向量(CPMV)之后,视频编码器20及视频解码器30产生当前块700(例如CU/PU)的MVF。随后,视频编码器20及视频解码器30应用仿射MCP,如本发明中别处所描述。为了鉴别当前块700(CU/PU)是否是以AF_MERGE模式译码,在存在至少一个以仿射模式译码的至少一个相邻块时,视频编码器20可在位流中将仿射期标发信号通知到视频解码器30。如果不存在邻近于当前块700的仿射块(例如图7A中所示的相邻块),那么不会在位流中写入仿射旗标。
在一个实例中,对于其中X=0及/或X=1的列表X,视频编码器20及视频解码器30可外推相邻块704(B)的左上方控制点的列表X运动向量以产生当前块700的左上方控制点的列表X运动向量,使用相邻块704(B)的左上方控制点的列表X参考索引作为当前块700的左上方控制点的列表X参考索引,外推向量块704(B)的右上方控制点的列表X运动向量以产生当前块700的右上方控制点的列表X运动向量,且使用相邻块704(B)的右上方控制点的列表X参考索引作为当前块700的右上方控制点的列表X参考索引。在此实例中,视频编码器20及视频解码器30可使用以上方程式(2)外推相邻块704(B)的控制点的运动向量,以使用当前块700的控制点的(x,y)位置作为方程式(2)中的x及y确定当前块700的控制点的运动向量。
在HEVC中,使用上下文自适应二进制算术译码(CABAC)来将符号转换为二进制化值。此过程被称作二进制化。二进制化经由非二进制语法元素与一连串位的独特映射来实现有效二进制算术译码,所述位被称作二进制位(bin)。
在JEM2.0参考软件中,对于仿射合并模式,仅对仿射旗标进行译码,且推断合并索引为预定义检查次序A-B-C-D-E(例如,图7A中的块702、704、706、708及710)中的第一可用相邻仿射模型。对于仿射帧间模式,针对每一预测列表对两个MVD语法进行译码,从而指示经导出仿射运动向量与经预测运动向量之间的运动向量差。
在2017年5月4日提交的美国专利申请案15/587,044中,描述可切换的仿射运动预测方案。对于使用仿射预测译码的块,视频编码器20及视频解码器30可确定自适应地使用四参数仿射模型或六参数仿射模型。具有6个参数的仿射模型可定义为:
具有6个参数的仿射模型具有三个控制点。换句话说,具有6个参数的仿射模型是通过如图8中所展示的三个运动向量确定。MV0 802为当前块800的左上方拐角的第一CPMV,MV1 804为当前块800的右上方拐角的第二CPMV,且MV2 806为当前块800的左下方拐角的第三控制点运动向量,如图8中所示。仿射模型可描述当前块800旋转至针对参考块808展示的位置。用三个运动向量建置的仿射模型经计算为:
其中w及h分别为块的宽度及高度。
上述用以导出当前块的左上方拐角及右上方拐角的运动向量的技术也可用于导出左上方拐角、右上方拐角及左下方拐角的MVP。其它实例也描述于2017年10月4日提交的美国专利申请案第15/725,052号中。MVD1可在仿射模式中从MVD预测,如2017年10月10日提交的美国临时申请案第62,570,417号中所描述。举例来说,在AMVP模式中,最终MV经计算为MVP加运动向量差(MVD)。运动向量差是由视频编码器20确定为块的实际运动向量与MVP之间的差。在仿射模式下,可存在多于一个CPMV,且因此可存在多个MVD。一个MVD可自其它MVD预测。在一个实例中,选择左上方CPMV的MVD来预测其它CPMV的MVD。
本发明提出用以改进仿射运动向量预测的若干技术。本发明描述用于更有效构建仿射MVP列表的技术。可个别地应用以下详细列举的技术。替代地,可一起应用以下技术的任何组合。
在本发明的第一实例中,视频编码器20及/或视频解码器30可经配置以在仅当相邻块具有等同于目标参考图片的一个参考图片时在仿射模式下使用所述相邻块的运动向量作为当前块的控制点的MVP。目标参考图片是由针对当前块发信号通知的参考列表及参考图片索引所鉴别的参考图片。如果相邻块的一个参考图片与目标参考图片在相同参考列表中且具有相同参考图片索引,那么所述一个参考图片等同于所述目标参考图片。在另一实例中,如果相邻块的一个参考图片与目标参考图片具有相同图片次序计数(POC),那么所述一个参考图片等同于所述目标参考图片。
在本发明的第二实例中,视频编码器20及/或视频解码器30可经配置以如下导出MV0的一个MVP0:
1)按指定次序检查如图6中所示的相邻块A、B及C。举例来说,按A、C及B的次序检查三个块。在另一实例中,按A、B及C的次序检查三个块。在另一实例中,按C、B及A的次序检查三个块。
2)当以指定次序检查相邻块A、B及C时,视频编码器20及/或视频解码器30可经配置以选择经帧间译码及具有等同于目标参考图片的一个参考图片(被命名为RefX)的第一可用块。
3)参考RefX的所选择相邻块的运动向量经输出为MVP0。如果无块满足检查条件,那么在此步骤中将MVP0标记为不可用。
在本发明的第三实例中,视频编码器20及/或视频解码器30可经配置以如下导出MV1的一个MVP1:
1)以指定次序检查如图6中所示的相邻块D及E。举例来说,按D及E的次序检查两个块。在另一实例中,按E及D的次序检查两个块。
2)当以指定次序检查相邻块D及E时,视频编码器20及/或视频解码器30可经配置以选择经帧间译码及具有等同于目标参考图片的一个参考图片(被命名为RefX)的第一可用块。
3)参考RefX的所选择相邻块的运动向量经输出为MVP1。如果无块满足检查条件,那么在此步骤中将MVP1标记为不可用。
在本发明的第四实例中,视频编码器20及/或视频解码器30可经配置以如下导出MV2的一个MVP2:
1)以指定次序检查如图6中所示的相邻块F及G。举例来说,按F及G的次序检查两个块。在另一实例中,按G及F的次序检查两个块。
2)当以指定次序检查相邻块F及G时,视频编码器20及/或视频解码器30可经配置以选择经帧间译码及具有等同于目标参考图片的一个参考图片(被命名为RefX)的第一可用块。
3)参考RefX的所选择相邻块的运动向量经输出为MVP2。如果无块满足检查条件,那么在此步骤中将MVP2标记为不可用。
在本发明的第五实例中,如果MVP0(第二实例)及MVP1(第三实例)可用但MVP2(第四实例)不可用,那么视频编码器20及/或视频解码器30可经配置以如下计算MVP2:
其中MVP2=(mvpx 2,mvpy 2)、MVP1=(mvpx 1,mvpy 1)及MVP0=(mvpx 0,mvpy 0),且w及h分别为当前块的宽度及高度。在另一实例中,除法运算可由移位运算替代。举例来说,
其中w=2wb。偏移为任何整数,诸如0或w/2。在另一实例中,除法运算可由查找表替代。
在本发明的第六实例中,如果MVP0(第二实例)及MVP2(第四实例)可用但MVP1(第三实例)不可用,那么视频编码器20及/或视频解码器30可经配置以如下计算MVP1:
其中MVP2=(mvpx 2,mvpy 2)、MVP1=(mvpx 1,mvpy 1)及MVP0=(mvpx 0,mvpy 0),且w及h分别为当前块的宽度及高度。在另一实例中,除法运算可由移位运算替代。举例来说,
其中h=2wh。偏移为任何整数,诸如0或h/2。在另一实例中,除法运算可由查找表替代。
在本发明的第七实例中,如果MVP1(第三实例)及MVP2(第四实例)可用但MVP0(第二可用)不可用,那么视频编码器20及/或视频解码器30可经配置以如下计算MVP1:
其中MVP2=(mvpx 2,mvpy 2)、MVP1=(mvpx 1,mvpy 1)及MVP0=(mvpx 0,mvpy 0),且w及h分别为当前块的宽度及高度。在另一实例中,除法运算可由查找表替代。
在本发明的第八实例中,视频编码器20及/或视频解码器30可经配置以将输出MVP0、MVP1及MVP2舍入到MVD的预定义运动精度。举例来说,如果运动存储精度为1/16像素,但MVD精度为1/4像素,则输出MVP经如下舍入为
MVP0'=(MVP0>>2)<<2,MVP1'=(MVP1>>2)<<2,MVP3'=(MVP2>>2)<<2
在本发明的第九实例中,如果帧间块应用6参数仿射模型,那么视频编码器20及/或视频解码器30可经配置以导出及输出MVP0、MVP1及MVP2作为一个仿射MVP候选者。如果帧间块应用4参数仿射模型,那么视频编码器20及/或视频解码器30可经配置以仅导出及输出MVP0、MVP1作为一个仿射MVP候选者。
在本发明的第十实例中,如果MVP0、MVP1及MVP2中少于两者可用,那么视频编码器20及/或视频解码器30可经配置为不输出MVP0、MVP1及MVP2作为一个仿射MVP候选者。
在本发明的第十一实例中,如果MVP0不可用,那么视频编码器20及/或视频解码器30可经配置为不输出MVP0、MVP1及MVP2作为一个仿射MVP候选者。
在本发明的第十二实例中,图9A及9B说明所提出的仿射MVP候选列表构建过程的示范性流程图。在下文所描述的实例中,在相邻块具有等同于目标参考图片的一个参考图片(被命名为RefX)的情况下,邻近块具有有效MV。
如图9A中所示,视频编码器20及视频解码器30可首先将所导出的MVP添加到仿射MVP候选列表(900)。举例来说,视频编码器20及视频解码器30可使用上述先前技术中的任一者导出MVP。视频编码器20及视频解码器30接着可确定MVP候选列表是否完整(即,MVP候选列表包含预定数目个候选者)(902)。若是,则过程结束(904)。若否,则视频编码器20及视频解码器30可确定图6的相邻块A中具有MV0的有效候选者(906)。若是,则视频编码器20及视频解码器30可将相邻块A的运动向量设置为MV0(908)。若否,则视频编码器20及视频解码器30可对相邻块C执行相同检查(910),且接着对相邻块B执行相同检查(912)。如果相邻块C具有MV0的有效候选者,那么视频编码器20及视频解码器30可将相邻块C的运动向量设置为MV0(908)。如果相邻块C不具有有效候选者,那么视频编码器20及视频解码器30可确定相邻块B是否具有MV0的有效候选者(912)。如果相邻块B具有MV0的有效候选者,那么视频编码器20及视频解码器30可将相邻块B的运动向量设置为MV0(908)。如果相邻块C不具有有效候选者,那么视频编码器20及视频解码器30可将MV0标记为无可用候选者(914)。
所述过程接着继续进行到图6的相邻块D及E。视频编码器20及视频解码器30首先确定相邻块D是否具有MV1的有效候选者(916)。若是,则视频编码器20及视频解码器30将MV1的候选者设置为相邻块D的运动向量(918)。若否,则视频编码器20及视频解码器30确定相邻块E是否具有MV1的有效候选者(920)。若是,则视频编码器20及视频解码器30将MV1的候选者设置为相邻块E的运动向量(918)。如果相邻块E不具有有效候选者,那么视频编码器20及视频解码器30可将MV1标记为无可用候选者(922)。
过程在图9B中继续,其中检查图6的相邻块F及G。视频编码器20及视频解码器30首先确定相邻块F是否具有MV2的有效候选者(924)。若是,则视频编码器20及视频解码器30将MV2的候选者设置为相邻块F的运动向量(926)。若否,则视频编码器20及视频解码器30确定相邻块G是否具有MV2的有效候选者(928)。若是,则视频编码器20及视频解码器30将MV2的候选者设置为相邻块G的运动向量(926)。如果相邻块G不具有有效候选者,那么视频编码器20及视频解码器30可将MV2标记为无可用候选者(930)。
接下来,视频编码器20及视频解码器30可确定MV0的候选者是否在此前经确定为可用的(932)。若否,则视频编码器20可将额外MVP候选者(例如额外HEVC定义的假造候选者)附加到仿射MVP候选列表中(934)。如果视频编码器20及视频解码器30确定MV0的候选者可用(932),确定MV1的候选者可用(936),且确定MV2的候选者可用(938),那么视频编码器20及视频解码器30接着可将如(MVP0,MVP1,MVP2)的候选者附加到仿射MVP候选列表中(940)。
如果视频编码器20及视频解码器30确定仅MV0及MV1的候选者可用,那么视频编码器20及视频解码器30接着可自MV0及MV1的候选者的值导出MV2(942)。视频编码器20及视频解码器30接着可将如(MVP0,MVP1,MVP2)的候选者附加到仿射MVP候选列表中(940)。
若果视频编码器20及视频解码器30确定仅MV0及MV2的候选者可用,那么视频编码器20及视频解码器30接着可从MV0及MV2的候选者的值导出MV1(946)。视频编码器20及视频解码器30接着可将如(MVP0,MVP1,MVP2)的候选者附加到仿射MVP候选列表中(940)。
在将如(MVP0,MVP1,MVP2)的三个候选者(MV0,MV1,MV2)附加于仿射MVP候选列表中(940)之后,视频编码器20及视频解码器30接着可再检查仿射MVP候选列表是否完整(948)。若是,则过程结束。若否,则视频编码器20可将额外MVP候选者(例如额外HEVC定义的假造候选者)附加到仿射MVP候选列表中(934)。
用于导出如(MVP0,MVP1,MVP2)的仿射MVP的上述技术可改进CPMV的译码效率。在本发明的实例中,来自相邻块的MVPi具有与当前视频数据块的目标参考图片相同的相关联参考图片。此类技术可减少或消除仿射MVP导出中的缩放操作,从而简化MVP导出过程。测试已示出,本发明的技术在对压缩性能的影响最小的情况下导致对MVP导出过程的简化。
在本发明的第十三实例中,视频编码器20及/或视频解码器30可经配置以输出参考RefX的所选择相邻块的运动向量。
在本发明的第十四实例中,如果帧间块应用4参数仿射模型,那么视频编码器20及/或视频解码器30可经配置以不发信号通知MVD1y,其为右上方控制点的运动向量差的竖直分量。在另一实例中,zoom_only_flag经发信号通知以指示是否发信号通知MVD1y。语法元素zoom_only_flag可在诸如序列参数集(SPS)中的序列级别下、诸如图片参数集(PPS)中的图片级别下、诸如切片标头中的切片级别下,在译码树型单元(CTU)级别、译码单元(CU)级别或预测单元(PU)级别中发信号通知。
1)可针对双向预测内的每一参考列表分别发信号通知zoom_only旗标。参考块中的不同参考列表的运动可具有不同zoom_only_flag
2)在另一实例中,可针对双向预测内的两个参考列表发信号通知zoom_only_flag。参考块中的不同参考列表的运动可共用相同zoom_only_flag
在本发明的第十五实例中,如果MVD1y未经发信号通知,那么将MV1y隐式地设置为等于MV0y。MV1y为右上方控制点的运动向量的竖直分量且MV0y为左上方控制点的运动向量的竖直分量。
图10为说明可实施本发明的技术的实例视频编码器20的框图。出于解释的目的而提供图10,且不应将所述图视为对如本发明中广泛例示及描述的技术的限制。本发明的技术可应用于各种译码标准或方法。
在图10的实例中,视频编码器20包含预测处理单元1200、视频数据存储器1201、残余产生单元1202、变换处理单元1204、量化单元1206、反量化单元1208、反变换处理单元1210、重构建单元1212、滤波器单元1214、经解码图片缓冲器1216及熵编码单元1218。预测处理单元1200包含帧间预测处理单元1220及帧内预测处理单元1222。帧间预测处理单元1220可包含运动估计单元及运动补偿单元(图中未展示)。
视频数据存储器1201可经配置以存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储于视频数据存储器1201中的视频数据。经解码图片缓冲器1216可为参考图片存储器,其存储参考视频数据以供视频编码器20(例如)在帧内或帧间译码模式下编码视频数据时使用。视频数据存储器1201及经解码图片缓冲器1216可由多种存储器装置中的任一者形成,诸如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可由同一存储器装置或单独存储器装置提供视频数据存储器1201及经解码图片缓冲器1216。在各种实例中,视频数据存储器1201可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器1201可与图1的存储媒体19相同或为其一部分。
视频编码器20接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一CTU。所述CTU中的每一者可与图片的相等大小的明度译码树型块(CTB)及对应CTB相关联。作为编码CTU的部分,预测处理单元1200可执行分割以将CTU的CTB划分成逐渐较小的块。所述较小块可为CU的译码块。举例来说,预测处理单元1200可根据树型结构分割与CTU相关联的CTB。
视频编码器20可编码CTU的CU以产生所述CU的经编码表示(即,经译码的CU)。作为编码CU的部分,预测处理单元1200可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块及对应的色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小,且PU的大小可指PU的明度预测块的大小。假设特定CU的大小为2N×2N,则视频编码器20及视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小。视频编码器20及视频解码器30也可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的非对称分割。
帧间预测处理单元1220可产生用于PU的预测性数据。作为产生PU的预测性数据的部分,帧间预测处理单元1220对PU执行帧间预测。用于PU的预测性数据可包含PU的预测性块及用于PU的运动信息。取决于PU是在I切片中、P切片中还是B切片中,帧间预测处理单元1220可针对CU的PU执行不同操作。在I切片中,所有PU经帧内预测。因此,如果PU在I切片中,那么帧间预测处理单元1220并不对PU执行帧间预测。因此,对于在I模式中编码的块,经预测的块是使用空间预测从相同帧内的先前经编码的相邻块而形成。如果PU在P切片中,那么帧间预测处理单元1220可使用单向帧间预测来产生PU的预测性块。如果PU在B切片中,那么帧间预测处理单元1220可使用单向或双向帧间预测以产生PU的预测性块。帧间预测处理单元1220可应用如在本发明中别处所描述的用于仿射运动模型的技术。
帧内预测处理单元1222可通过对PU执行帧内预测而产生PU的预测性数据。用于PU的预测性数据可包含PU的预测性块及各种语法元素。帧内预测处理单元1222可对I切片、P切片及B切片中的PU执行帧内预测。
为对PU执行帧内预测,帧内预测处理单元1222可使用多个帧内预测模式来产生用于PU的预测性数据的多个集合。帧内预测处理单元1222可使用来自相邻PU的样本块的样本以产生PU的预测性块。对于PU、CU及CTU,假设从左到右、从上到下的编码次序,则所述相邻PU可在PU上方、右上方、左上方或左边。帧内预测处理单元1222可使用各种数目个帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区域的大小。
预测处理单元1200可从由帧间预测处理单元1220针对PU产生的预测性数据或由帧内预测处理单元1222针对PU产生的预测性数据中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元1200基于预测性数据的集合的速率/失真量度而选择CU的PU的预测性数据。所选择的预测性数据的预测性块在本文中可被称作所选择的预测性块。
残余产生单元1202可基于CU的译码块(例如,明度、Cb及Cr译码块)及CU的PU的所选择预测性块(例如,预测性明度、Cb及Cr块)而产生CU的残余块(例如,明度、Cb及Cr残余块)。举例来说,残余产生单元1202可产生CU的残余块,使得残余块中的每一样本的值等于CU的译码块中的样本与CU的PU的对应所选择预测性样本块中的对应样本之间的差。
变换处理单元1204可执行将CU的残余块分割成CU的TU的变换块。举例来说,变换处理单元1204可执行四分树分割以将CU的残余块分割成CU的TU的变换块。因此,TU可与明度变换块及两个色度变换块相关联。CU的TU的明度变换块及色度变换块的大小及位置可基于或可能不基于CU的PU的预测块的大小及位置。被称为“残余四分树”(RQT)的四分树结构可包含与区域中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元1204可通过将一或多个变换应用于TU的变换块而产生CU的每一TU的变换系数块。变换处理单元1204可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元1204可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元1204并不将变换应用于变换块。在这些实例中,变换块可经处理为变换系数块。
量化单元1206可量化系数块中的变换系数。量化过程可减少与所述变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间被下舍入到m位变换系数,其中n大于m。量化单位1206可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可引入信息的损失。因此,经量化变换系数可具有比最初变换系数低的精度。
反量化单元1208及反变换处理单元1210可分别将反量化及反变换应用于系数块,以从系数块重构建残余块。重构建单元1212可将经重构建的残余块添加到来自由预测处理单元1200产生的一或多个预测性块的对应样本,以产生与TU相关联的经重构建变换块。通过以此方式重构建CU的每一TU的变换块,视频编码器20可重构建CU的译码块。
滤波器单元1214可执行一或多个解块操作以减小与CU相关联的译码块中的块假影。经解码图片缓冲器1216可在滤波器单元1214对经重构建译码块执行一或多个解块操作之后,存储经重构建译码块。帧间预测处理单元1220可使用含有经重构建译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元1222可使用经解码图片缓冲器1216中的经重构建译码块,以对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元1218可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元1218可从量化单元1206接收系数块,且可从预测处理单元1200接收语法元素。熵编码单元1218可对数据执行一或多个熵编码操作,以产生经熵编码的数据。举例来说,熵编码单元1218可对数据执行CABAC操作、上下文自适应性可变长度译码(CAVLC)操作、可变至可变(V2V)长度译码操作、基于语法的上下文自适应性二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元1218所产生的经熵编码数据的位流。举例来说,位流可包含表示用于CU的变换系数的值的数据。
图11为说明经配置以实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图11,且其并不限制如本发明中所广泛例示及描述的技术。出于解释的目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图11的实例中,视频解码器30包含熵解码单元1300、视频数据存储器1301、预测处理单元1302、反量化单元1304、反变换处理单元1306、重构建单元1308、滤波器单元1310,及经解码图片缓冲器1312。预测处理单元1302包含运动补偿单元1314及帧内预测处理单元1316。在其它实例中,视频解码器30可包含更多、更少或不同功能组件。
视频数据存储器1301可存储待由视频解码器30的组件解码的经编码视频数据,诸如经编码视频位流。存储于视频数据存储器1301中的视频数据可例如从计算机可读媒体16,例如自本地视频源(诸如相机),经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体获得。视频数据存储器1301可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器1312可为参考图片存储器,其存储参考视频数据以供视频解码器30(例如)在帧内或帧间译码模式下解码视频数据时使用或以供输出。视频数据存储器1301及经解码图片缓冲器1312可由多种存储器装置中的任一者形成,诸如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可由同一存储器装置或单独存储器装置提供视频数据存储器1301及经解码图片缓冲器1312。在各种实例中,视频数据存储器1301可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器1301可与图1的存储媒体28相同或为其的一部分。
视频数据存储器1301接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元1300可从视频数据存储器1301接收经编码视频数据(例如,NAL单元),且可解析NAL单元以获得语法元素。熵解码单元1300可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元1302、反量化单元1304、反变换处理单元1306、重构建单元1308及滤波器单元1310可基于从位流提取的语法元素而产生经解码视频数据。熵解码单元1300可执行大体上与熵编码单元1218的过程互逆的过程。
除了获得来自位流的语法元素的外,视频解码器30可对CU执行重构建操作。为对CU执行重构建操作,视频解码器30可对CU的每一TU执行重构建操作。通过对CU的每一TU执行重构建操作,视频解码器30可重构建CU的残余块。
作为对CU的TU执行重构建操作的部分,反量化单元1304可反量化(即,解量化)与TU相关联的系数块。在反量化单元1304反量化系数块之后,反变换处理单元1306可将一或多个反变换应用于系数块以便产生与TU相关联的残余块。举例来说,反变换处理单元1306可将反DCT、反整数变换、反卡洛变换(Karhunen-Loeve transform,KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。
反量化单元1304可执行本发明的特定技术。举例来说,对于视频数据的图片的CTU的CTB内的多个量化群组的至少一个相应量化群组,反量化单元1304可至少部分地基于在位流中发信号通知的本地量化信息导出用于相应量化群组的相应量化参数。另外,在此实例中,反量化单元1304可基于用于相应量化群组的相应量化参数反量化CTU的CU的TU的变换块的至少一个变换系数。在此实例中,相应量化群组经定义为连续(在译码次序中)CU或译码块的群组,以使得相应量化群组的边界必须为CU或译码块的边界且相应量化群组的大小大于或等于阈值。视频解码器30(例如反变换处理单元1306、重构建单元1308及滤波器单元1310)可基于变换块的经反量化变换系数重构建CU的译码块。
如果使用帧内预测编码PU,那么帧内预测处理单元1316可执行帧内预测以产生PU的预测性块。帧内预测处理单元1316可使用帧内预测模式来基于样本空间相邻块产生PU的预测性块。帧内预测处理单元1316可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。
如果使用帧间预测编码PU,那么运动补偿单元1314可确定PU的运动信息。运动补偿单元1314可基于PU的运动信息而确定一或多个参考块。运动补偿单元1314可基于一或多个参考块产生PU的预测性块(例如,预测性明度、Cb及Cr块)。运动补偿单元1314可应用如在本发明中别处所描述的用于仿射运动模型的技术。
重构建单元1308可使用CU的TU的变换块(例如,明度、Cb及Cr变换块)及CU的PU的预测性块(例如,明度、Cb及Cr块)(即,可适用的帧内预测数据或帧间预测数据)来重构建CU的译码块(例如,明度、Cb及Cr译码块)。举例来说,重构建单元1308可增加变换块(例如,明度、Cb及Cr变换块)的样本到预测性块(例如,明度、Cb及Cr预测性块)的对应样本来重构建CU的译码块(例如,明度、Cb及Cr译码块)。
滤波器单元1310可执行解块操作以减少与CU的译码块相关联的块假影。视频解码器30可将CU的译码块存储于经解码图片缓冲器1312中。经解码图片缓冲器1312可提供参考图片以用于后续运动补偿、帧内预测及在显示装置(诸如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器1312中的块对其它CU的PU执行帧内预测或帧间预测操作。
图12为说明本发明的实例编码方法的流程图。图12的技术可由视频编码器20的一或多个结构组件(包含帧内预测处理单元1222)执行。
在本发明的一个实例中,视频编码器20可经配置以接收待使用仿射运动补偿编码的当前视频数据块(200)及构建所述当前视频数据块的一或多个控制点的仿射MVP列表,包含在来自邻近视频资块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到仿射MVP列表(202)。视频编码器20可进一步经配置以使用仿射MVP列表确定一或多个控制点的运动向量(204),及利用当前视频数据块的一或多个控制点的经确定运动向量编码当前视频数据块(206)。
在一个实例中,所述一或多个控制点包含至少第一控制点。为构建用于第一控制点的仿射MVP列表,视频编码器20进一步经配置以:按第一预定次序检查第一控制点的第一相邻块,其中第一相邻块包含左上方相邻块(A)、第一上方相邻块(B)及第一左方相邻块(C),且其中所述第一预定次序为A,接着C,接着B;且将具有与按第一预定次序首先出现的目标参考图片相同的相关联参考图片的第一相邻块的第一运动向量作为第一运动向量预测子(MVP0)添加到仿射MVP列表。
在本发明的另一实例中,视频编码器20进一步经配置以在第一控制点的第一相邻块的运动向量并不具有与目标参考图片相同的相关联参考图片的情况下将用于第一控制点的第一运动向量预测子标记为不可用的。
在本发明的另一实例中,所述一或多个控制点进一步包含第二控制点。为构建用于第二控制点的仿射MVP列表,视频编码器20进一步经配置以:按第二预定次序检查第二控制点的第二相邻块,其中第二相邻块包含第二上方相邻块(D)及右上方相邻块(E),且其中所述第二预定次序为D,接着E;且将具有与按第二预定次序首先出现的目标参考图片相同的相关联参考图片的第二相邻块的第二运动向量作为第二运动向量预测子(MVP1)添加到仿射MVP列表。
在本发明的另一实例中,视频编码器20进一步经配置以在第二控制点的第二相邻块的运动向量并不具有与目标参考图片相同的相关联参考图片的情况下将用于第二第一控制点的第二运动向量预测子标记为不可用的。
在本发明的另一实例中,所述一或多个控制点进一步包含第三控制点。为构建用于第三控制点的仿射MVP列表,视频编码器20进一步经配置以:按第三预定次序检查第三控制点的第三相邻块,其中第三相邻块包含第二左方相邻块(F)及左下方相邻块(G),且其中所述第三预定次序为F,接着G;且将具有与按第三预定次序首先出现的目标参考图片相同的相关联参考图片的第三相邻块的第三运动向量作为第三运动向量预测子(MVP2)添加到仿射MVP列表。
在本发明的另一实例中,视频编码器20进一步经配置以在第三控制点的第三相邻块的运动向量并不具有与目标参考图片相同的相关联参考图片的情况下将用于第三第一控制点的第三运动向量预测子标记为不可用的。
在本发明的另一实例中,视频编码器20进一步经配置以确定第三运动向量预测子(MVP2)不可用及响应于确定第三运动向量预测子(MVP2)不可用而根据第一运动向量预测子(MVP0)及第二运动向量预测子(MVP1)计算第三运动向量预测子(MVP2)。
在本发明的另一实例中,视频编码器20进一步经配置以确定第二运动向量预测子(MVP1)不可用及响应于确定第二运动向量预测子(MVP1)不可用而根据第一运动向量预测子(MVP0)及第三运动向量预测子(MVP2)计算第二运动向量预测子(MVP1)。
本发明的另一实例中,视频编码器20进一步经配置以确定第一运动向量预测子(MVP0)不可用及响应于确定第一运动向量预测子(MVP0)不可用而根据第二运动向量预测子(MVP1)及第三运动向量预测子(MVP2)计算第一运动向量预测子(MVP0)。
在本发明的另一实例中,视频编码器20进一步经配置以将第一运动向量预测子(MVP0)、第二运动向量预测子(MVP1)及第三运动向量预测子(MVP2)舍入到预定义运动精度。
在本发明的另一实例中,仿射运动补偿为6参数仿射模型,且仿射MVP列表包含第一运动向量预测子(MVP0)、第二运动向量预测子(MVP1)及第三运动向量预测子(MVP2)作为单一MVP候选者。
在本发明的另一实例中,仿射运动补偿为4参数仿射模型,且仿射MVP列表包含第一运动向量预测子(MVP0)及第二运动向量预测子(MVP1)作为单一MVP候选者。
在本发明的另一实例中,当相关联参考图片与目标参考图片处于同一参考图片列表中且与目标参考图片具有相同参考索引时,相关联参考图片与当前视频数据块的目标参考图片相同。
在本发明的另一实例中,当相关联参考图片与目标参考图片具有相同图片次序计数时,相关联参考图片与当前视频数据块的目标参考图片相同。
图13为说明本发明的实例解码方法的流程图。图13的技术可由视频解码器30的一或多个结构组件(包含运动补偿单元1314)执行。
在本发明的一个实例中,视频解码器30可经配置以接收待使用仿射运动补偿解码的当前视频数据块(210)及构建当前视频数据块的一或多个控制点的仿射MVP列表,包含在来自相邻视频资块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到仿射MVP列表(212)。视频解码器30可经进一步配置以使用仿射MVP列表确定一或多个控制点的运动向量(214)及利用当前视频数据块的一或多个控制点的经确定运动向量解码当前视频数据块(216)。
在一个实例中,所述一或多个控制点包含至少第一控制点。为构建第一控制点的仿射MVP列表,视频解码器30进一步经配置以:按第一预定次序检查第一控制点的第一相邻块,其中第一相邻块包含左上方相邻块(A)、第一上方相邻块(B)及第一左方相邻块(C),且其中所述第一预定次序为A,接着C,接着B;且将具有与按第一预定次序首先出现的目标参考图片相同的相关联参考图片的第一相邻块的第一运动向量作为第一运动向量预测子(MVP0)添加到仿射MVP列表。
在本发明的另一实例中,视频解码器30进一步经配置以在第一控制点的第一相邻块的运动向量并不具有与目标参考图片相同的相关联参考图片的情况下将第一控制点的第一运动向量预测子标记为不可用的。
在本发明的另一实例中,所述一或多个控制点进一步包含第二控制点。为构建第二控制点的仿射MVP列表,视频解码器30进一步经配置以:按第二预定次序检查第二控制点的第二相邻块,其中第二相邻块包含第二上方相邻块(D)及右上方相邻块(E),且其中所述第二预定次序为D,接着E;且将具有与按第二预定次序首先出现的目标参考图片相同的相关联参考图片的第二相邻块的第二运动向量作为第二运动向量预测子(MVP1)添加到仿射MVP列表。
在本发明的另一实例中,视频解码器30进一步经配置以在第二控制点的第二相邻块的运动向量并不具有与目标参考图片相同的相关联参考图片的情况下将第二第一控制点的第二运动向量预测子标记为不可用的。
在本发明的另一实例中,所述一或多个控制点进一步包含第三控制点。为构建用于第三控制点的仿射MVP列表,视频解码器30进一步经配置以:按第三预定次序检查第三控制点的第三相邻块,其中第三相邻块包含第二左方相邻块(F)及左下方相邻块(G),且其中所述第三预定次序为F,接着G;且将具有与按第三预定次序首先出现的目标参考图片相同的相关联参考图片的第三相邻块的第三运动向量作为第三运动向量预测子(MVP2)添加到仿射MVP列表。
在本发明的另一实例中,视频解码器30进一步经配置以在第三控制点的第三相邻块的运动向量并不具有与目标参考图片相同的相关联参考图片的情况下将第三第一控制点的第三运动向量预测子标记为不可用的。
在本发明的另一实例中,视频解码器30进一步经配置以确定第三运动向量预测子(MVP2)不可用及响应于确定第三运动向量预测子(MVP2)不可用而根据第一运动向量预测子(MVP0)及第二运动向量预测子(MVP1)计算第三运动向量预测子(MVP2)。
在本发明的另一实例中,视频解码器30进一步经配置以确定第二运动向量预测子(MVP1)不可用及响应于确定第二运动向量预测子(MVP1)不可用而根据第一运动向量预测子(MVP0)及第三运动向量预测子(MVP2)计算第二运动向量预测子(MVP1)。
本发明的另一实例中,视频解码器30进一步经配置以确定第一运动向量预测子(MVP0)不可用及响应于确定第一运动向量预测子(MVP0)不可用而根据第二运动向量预测子(MVP1)及第三运动向量预测子(MVP2)计算第一运动向量预测子(MVP0)。
在本发明的另一实例中,视频解码器30进一步经配置以将第一运动向量预测子(MVP0)、第二运动向量预测子(MVP1)及第三运动向量预测子(MVP2)舍入到预定义运动精度。
在本发明的另一实例中,仿射运动补偿为6参数仿射模型,且仿射MVP列表包含第一运动向量预测子(MVP0)、第二运动向量预测子(MVP1)及第三运动向量预测子(MVP2)作为单一MVP候选者。
在本发明的另一实例中,仿射运动补偿为4参数仿射模型,且仿射MVP列表包含第一运动向量预测子(MVP0)及第二运动向量预测子(MVP1)作为单一MVP候选者。
在本发明的另一实例中,当相关联参考图片与目标参考图片处于同一参考图片列表中且与目标参考图片具有相同参考索引时,相关联参考图片与当前视频数据块的目标参考图片相同。
在本发明的另一实例中,当相关联参考图片与目标参考图片具有相同图片次序计数时,相关联参考图片与当前视频数据块的目标参考图片相同。
已出于说明的目的关于HEVC、HEVC标准的扩展、JEM及VVC描述本发明的某些方面。然而,本发明中描述的技术可用于其它视频译码过程,包含当前在开发中或尚未开发的其它标准或专属视频译码过程。
如本发明中所描述,视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,如适用,视频译码可指视频编码或视频解码。在本发明中,片语“基于”可指示仅仅基于、至少部分地基于,或以某一方式基于。本发明可使用术语“视频单元”或“视频块”或“块”以指代一或多个样本块及用以译码样本的一或多个块的样本的语法结构。视频单元的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区,等等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树型块、译码块及其它类型的视频数据块。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列被执行、可被添加、合并或完全省去(例如,并非所有所描述动作或事件为实践所述技术所必要)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而存储在计算机可读媒体上或经由计算机可读媒体发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于诸如数据存储媒体的有形媒体)或通信媒体,所述通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性有形计算机可读存储媒体或(2)通信媒体,诸如信号或载波。数据存储媒体可为可通过一或多个计算机或一或多个处理电路存取以检索指令、代码及/或数据结构以用于实施本发明中描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或诸如红外线、无线电及微波的无线技术,从网站、服务器或其它远程源来发射指令,那么同轴缆线、光纤缆线、双绞线、DSL或诸如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而实情为涉及非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。
本发明中所描述的功能可通过固定功能及/或可编程处理电路执行。举例来说,指令可通过固定功能及/或可编程处理电路执行。这些处理电路可包含一或多个处理器,诸如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。此外,在一些实例中,本文所描述的功能性可提供于经配置以供编码及解码或并入于经组合编解码器中的专用硬件及/或软件模块内。此外,所述技术可完全实施于一或多个电路或逻辑元件中。处理电路可以各种方式耦合到其它组件。举例来说,处理电路可经由内部装置互连件、有线或无线网络连接或另一通信媒体耦合到其它组件。
本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC集(例如芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。相反地,如上所述,各种单元可与合适的软件及/或固件一起组合在编解码器硬件单元中或由互操作硬件单元的集合提供,硬件单元包含如上文所描述的一或多个处理器。
已经描述各种实例。这些及其它实例在以下权利要求书的范围内。
Claims (46)
1.一种视频解码方法,所述方法包括:
接收待使用仿射运动补偿解码的当前视频数据块;
构建用于所述当前视频数据块的一或多个控制点的仿射运动向量预测子MVP列表,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到所述仿射MVP列表;
使用所述仿射MVP列表确定所述一或多个控制点的运动向量;及
利用所述当前视频数据块的所述一或多个控制点的所述经确定的运动向量对所述当前视频数据块进行解码。
2.根据权利要求1所述的方法,其中所述一或多个控制点包含至少一第一控制点,且其中构建所述第一控制点的所述仿射MVP列表包括:
按第一预定次序检查所述第一控制点的第一相邻块,其中所述第一相邻块包含左上方相邻块(A)、第一上方相邻块(B)及第一左方相邻块(C),且其中所述第一预定次序为A,接着C,接着B;及
将具有与按所述第一预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第一相邻块的第一运动向量作为第一运动向量预测子(MVP0)添加到所述仿射MVP列表。
3.根据权利要求2所述的方法,其进一步包括:
在所述第一控制点的所述第一相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将所述第一控制点的所述第一运动向量预测子标记为不可用的。
4.根据权利要求2所述的方法,其中所述一或多个控制点进一步包含第二控制点,且其中构建所述第二控制点的所述仿射MVP列表包括:
按第二预定次序检查所述第二控制点的第二相邻块,其中所述第二相邻块包含第二上方相邻块(D)及右上方相邻块(E),且其中所述第二预定次序为D,接着E;及
将具有与按所述第二预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第二相邻块的第二运动向量作为第二运动向量预测子(MVP1)添加到所述仿射MVP列表。
5.根据权利要求4所述的方法,其进一步包括:
在所述第二控制点的所述第二相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将第二第一控制点的所述第二运动向量预测子标记为不可用的。
6.根据权利要求4所述的方法,其中所述一或多个控制点进一步包含第三控制点,且其中构建所述第三控制点的所述仿射MVP列表包括:
按第三预定次序检查所述第三控制点的第三相邻块,其中所述第三相邻块包含第二左方相邻块(F)及左下方相邻块(G),且其中所述第三预定次序为F,接着G;及
将具有与按所述第三预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第三相邻块的第三运动向量作为第三运动向量预测子(MVP2)添加到所述仿射MVP列表。
7.根据权利要求6所述的方法,其进一步包括:
在所述第三控制点的所述第三相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将第三第一控制点的所述第三运动向量预测子标记为不可用的。
8.根据权利要求6所述的方法,其进一步包括:
确定所述第三运动向量预测子(MVP2)不可用;及
响应于确定所述第三运动向量预测子(MVP2)不可用而根据所述第一运动向量预测子(MVP0)及所述第二运动向量预测子(MVP1)计算所述第三运动向量预测子(MVP2)。
9.根据权利要求6所述的方法,其进一步包括:
确定所述第二运动向量预测子(MVP1)不可用;及
响应于确定所述第二动向量预测子(MVP1)不可用而根据所述第一运动向量预测子(MVP0)及所述第三运动向量预测子(MVP2)计算所述第二运动向量预测子(MVP1)。
10.根据权利要求6所述的方法,其进一步包括:
确定所述第一运动向量预测子(MVP0)不可用;及
响应于确定所述第一动向量预测子(MVP0)不可用而根据所述第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)计算所述第一运动向量预测子(MVP0)。
11.根据权利要求6所述的方法,其进一步包括:
将所述第一运动向量预测子(MVP0)、所述第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)舍入到预定义运动精度。
12.根据权利要求1所述的方法,其中所述仿射运动补偿为6参数仿射模型,且其中所述仿射MVP列表包含第一运动向量预测子(MVP0)、第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)作为单一MVP候选者。
13.根据权利要求1所述的方法,其中所述仿射运动补偿为4参数仿射模型,且其中所述仿射MVP列表包含第一运动向量预测子(MVP0)及第二运动向量预测子(MVP1)作为单一MVP候选者。
14.根据权利要求1所述的方法,其中当所述相关联参考图片与所述目标参考图片处于同一参考图片列表中且与所述目标参考图片具有相同参考索引时,所述相关联参考图片与所述当前视频数据块的所述目标参考图片相同。
15.根据权利要求1所述的方法,其中当所述相关联参考图片与所述目标参考图片具有相同图片次序计数时,所述相关联参考图片与所述当前视频数据块的所述目标参考图片相同。
16.一种经配置以解码视频数据的设备,所述设备包括:
存储器,其经配置以存储当前视频数据块;及
与所述存储器通信的一或多个处理器,所述一或多个处理器经配置以:
接收待使用仿射运动补偿解码的所述当前视频数据块;
构建用于所述当前视频数据块的一或多个控制点的仿射运动向量预测子MVP列表,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到所述仿射MVP列表;
使用所述仿射MVP列表确定所述一或多个控制点的运动向量;及
利用所述当前视频数据块的所述一或多个控制点的所述经确定的运动向量对所述当前视频数据块进行解码。
17.根据权利要求16所述的设备,其中所述一或多个控制点包含至少第一控制点,且其中为构建所述第一控制点的所述仿射MVP列表,所述一或多个处理器经进一步配置以:
按第一预定次序检查所述第一控制点的第一相邻块,其中所述第一相邻块包含左上方相邻块(A)、第一上方相邻块(B)及第一左方相邻块(C),且其中所述第一预定次序为A,接着C,接着B;及
将具有与按所述第一预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第一相邻块的第一运动向量作为第一运动向量预测子(MVP0)添加到所述仿射MVP列表。
18.根据权利要求17所述的设备,其中所述一或多个处理器经进一步配置以:
在所述第一控制点的所述第一相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将用于所述第一控制点的所述第一运动向量预测子标记为不可用的。
19.根据权利要求17所述的设备,其中所述一或多个控制点进一步包含第二控制点,且其中为构建所述第二控制点的所述仿射MVP列表,所述一或多个处理器经进一步配置以:
按第二预定次序检查所述第二控制点的第二相邻块,其中所述第二相邻块包含第二上方相邻块(D)及右上方相邻块(E),且其中所述第二预定次序为D,接着E;及
将具有与按所述第二预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第二相邻块的第二运动向量作为第二运动向量预测子(MVP1)添加到所述仿射MVP列表。
20.根据权利要求19所述的设备,其中所述一或多个处理器经进一步配置以:
在所述第二控制点的所述第二相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将第二第一控制点的所述第二运动向量预测子标记为不可用的。
21.根据权利要求19所述的设备,其中所述一或多个控制点进一步包含第三控制点,且其中为构建所述第三控制点的所述仿射MVP列表,所述一或多个处理器经进一步配置以:
按第三预定次序检查所述第三控制点的第三相邻块,其中所述第三相邻块包含第二左方相邻块(F)及左下方相邻块(G),且其中所述第三预定次序为F,接着G;及
将具有与按所述第三预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第三相邻块的第三运动向量作为第三运动向量预测子(MVP2)添加到所述仿射MVP列表。
22.根据权利要求21所述的设备,其中所述一或多个处理器经进一步配置以:
在所述第三控制点的所述第三相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将第三第一控制点的所述第三运动向量预测子标记为不可用的。
23.根据权利要求21所述的设备,其中所述一或多个处理器经进一步配置以:
确定所述第三运动向量预测子(MVP2)不可用;及
响应于确定所述第三运动向量预测子(MVP2)不可用而根据所述第一运动向量预测子(MVP0)及所述第二运动向量预测子(MVP1)计算所述第三运动向量预测子(MVP2)。
24.根据权利要求21所述的设备,其中所述一或多个处理器经进一步配置以:
确定所述第二运动向量预测子(MVP1)不可用;及
响应于确定所述第二动向量预测子(MVP1)不可用而根据所述第一运动向量预测子(MVP0)及所述第三运动向量预测子(MVP2)计算所述第二运动向量预测子(MVP1)。
25.根据权利要求21所述的设备,其中所述一或多个处理器经进一步配置以:
确定所述第一运动向量预测子(MVP0)不可用;及
响应于确定所述第一动向量预测子(MVP0)不可用而根据所述第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)计算所述第一运动向量预测子(MVP0)。
26.根据权利要求21所述的设备,其中所述一或多个处理器经进一步配置以:
将所述第一运动向量预测子(MVP0)、所述第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)舍入到预定义运动精度。
27.根据权利要求16所述的设备,其中所述仿射运动补偿为6参数仿射模型,且其中所述仿射MVP列表包含第一运动向量预测子(MVP0)、第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)作为单一MVP候选者。
28.根据权利要求16所述的设备,其中所述仿射运动补偿为4参数仿射模型,且其中所述仿射MVP列表包含第一运动向量预测子(MVP0)及第二运动向量预测子(MVP1)作为单一MVP候选者。
29.根据权利要求16所述的设备,其中当所述相关联参考图片与所述目标参考图片处于同一参考图片列表中且与所述目标参考图片具有相同参考索引时,所述相关联参考图片与所述当前视频数据块的所述目标参考图片相同。
30.根据权利要求16所述的设备,其中当所述相关联参考图片与所述目标参考图片具有相同图片次序计数时,所述相关联参考图片与所述当前视频数据块的所述目标参考图片相同。
31.一种经配置以解码视频数据的设备,所述设备包括:
用于接收待使用仿射运动补偿解码的当前视频数据块的装置;
用于构建用于所述当前视频数据块的一或多个控制点的仿射运动向量预测子MVP列表的装置,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到所述仿射MVP列表;
用于使用所述仿射MVP列表确定所述一或多个控制点的运动向量的装置;及
用于利用所述当前视频数据块的所述一或多个控制点的所述经确定的运动向量对所述当前视频数据块进行解码的装置。
32.一种经配置以编码视频数据的设备,所述设备包括:
存储器,其经配置以存储当前视频数据块;及
与所述存储器通信的一或多个处理器,所述一或多个处理器经配置以:
接收待使用仿射运动补偿编码的所述当前视频数据块;
构建用于所述当前视频数据块的一或多个控制点的仿射运动向量预测子MVP列表,包含在来自相邻视频数据块的运动向量具有与所述当前视频数据块的目标参考图片相同的相关联参考图片的情况下将所述运动向量添加到所述仿射MVP列表;
使用所述仿射MVP列表确定所述一或多个控制点的运动向量;及
利用所述当前视频数据块的所述一或多个控制点的所述经确定的运动向量对所述当前视频数据块进行编码。
33.根据权利要求32所述的设备,其中所述一或多个控制点包含至少第一控制点,且其中为构建所述第一控制点的所述仿射MVP列表,所述一或多个处理器经进一步配置以:
按第一预定次序检查所述第一控制点的第一相邻块,其中所述第一相邻块包含左上方相邻块(A)、第一上方相邻块(B)及第一左方相邻块(C),且其中所述第一预定次序为A,接着C,接着B;及
将具有与按所述第一预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第一相邻块的第一运动向量添加到第一运动向量预测子(MVP0)的所述仿射MVP列表。
34.根据权利要求33所述的设备,其中所述一或多个处理器经进一步配置以:
在所述第一控制点的所述第一相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将所述第一控制点的所述第一运动向量预测子标记为不可用的。
35.根据权利要求33所述的设备,其中所述一或多个控制点进一步包含第二控制点,且其中为构建所述第二控制点的所述仿射MVP列表,所述一或多个处理器经进一步配置以:
按第二预定次序检查所述第二控制点的第二相邻块,其中所述第二相邻块包含第二上方相邻块(D)及右上方相邻块(E),且其中所述第二预定次序为D,接着E;及
将具有与按所述第二预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第二相邻块的第二运动向量作为第二运动向量预测子(MVP1)添加到所述仿射MVP列表。
36.根据权利要求35所述的设备,其中所述一或多个处理器经进一步配置以:
在所述第二控制点的所述第二相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将第二第一控制点的所述第二运动向量预测子标记为不可用的。
37.根据权利要求35所述的设备,其中所述一或多个控制点进一步包含第三控制点,且其中为构建所述第三控制点的所述仿射MVP列表,所述一或多个处理器经进一步配置以:
按第三预定次序检查所述第三控制点的第三相邻块,其中所述第三相邻块包含第二左方相邻块(F)及左下方相邻块(G),且其中所述第三预定次序为F,接着G;及
将具有与按所述第三预定次序首先出现的所述目标参考图片相同的所述相关联参考图片的所述第三相邻块的第三运动向量作为第三运动向量预测子(MVP2)添加到所述仿射MVP列表。
38.根据权利要求37所述的设备,其中所述一或多个处理器经进一步配置以:
在所述第三控制点的所述第三相邻块的运动向量并不具有与所述目标参考图片相同的所述相关联参考图片的情况下将第三第一控制点的所述第三运动向量预测子标记为不可用的。
39.根据权利要求37所述的设备,其中所述一或多个处理器经进一步配置以:
确定所述第三运动向量预测子(MVP2)不可用;及
响应于确定所述第三运动向量预测子(MVP2)不可用而根据所述第一运动向量预测子(MVP0)及所述第二运动向量预测子(MVP1)计算所述第三运动向量预测子(MVP2)。
40.根据权利要求37所述的设备,其中所述一或多个处理器经进一步配置以:
确定所述第二运动向量预测子(MVP1)不可用;及
响应于确定所述第二动向量预测子(MVP1)不可用而根据所述第一运动向量预测子(MVP0)及所述第三运动向量预测子(MVP2)计算所述第二运动向量预测子(MVP1)。
41.根据权利要求37所述的设备,其中所述一或多个处理器经进一步配置以:
确定所述第一运动向量预测子(MVP0)不可用;及
响应于确定所述第一动向量预测子(MVP0)不可用而根据所述第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)计算所述第一运动向量预测子(MVP0)。
42.根据权利要求37所述的设备,其中所述一或多个处理器经进一步配置以:
将所述第一运动向量预测子(MVP0)、所述第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)舍入到预定义运动精度。
43.根据权利要求32所述的设备,其中所述仿射运动补偿为6参数仿射模型,且其中所述仿射MVP列表包含第一运动向量预测子(MVP0)、第二运动向量预测子(MVP1)及所述第三运动向量预测子(MVP2)作为单一MVP候选者。
44.根据权利要求32所述的设备,其中所述仿射运动补偿为4参数仿射模型,且其中所述仿射MVP列表包含第一运动向量预测子(MVP0)及第二运动向量预测子(MVP1)作为单一MVP候选者。
45.根据权利要求32所述的设备,其中当所述相关联参考图片与所述目标参考图片处于同一参考图片列表中且与所述目标参考图片具有相同参考索引时,所述相关联参考图片与所述当前视频数据块的所述目标参考图片相同。
46.根据权利要求32所述的设备,其中当所述相关联参考图片与所述目标参考图片具有相同图片次序计数时,所述相关联参考图片与所述当前视频数据块的所述目标参考图片相同。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762586069P | 2017-11-14 | 2017-11-14 | |
US62/586,069 | 2017-11-14 | ||
US16/189,481 | 2018-11-13 | ||
US16/189,481 US11889100B2 (en) | 2017-11-14 | 2018-11-13 | Affine motion vector prediction in video coding |
PCT/US2018/061085 WO2019099540A1 (en) | 2017-11-14 | 2018-11-14 | Affine motion vector prediction in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111316648A true CN111316648A (zh) | 2020-06-19 |
CN111316648B CN111316648B (zh) | 2024-06-11 |
Family
ID=66433702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880072234.3A Active CN111316648B (zh) | 2017-11-14 | 2018-11-14 | 视频译码中的仿射运动向量预测 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11889100B2 (zh) |
EP (1) | EP3711300A1 (zh) |
CN (1) | CN111316648B (zh) |
SG (1) | SG11202002885RA (zh) |
TW (1) | TWI800555B (zh) |
WO (1) | WO2019099540A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179221A1 (zh) * | 2021-02-24 | 2022-09-01 | 华为技术有限公司 | 视频编码中的运动矢量(mv)约束和变换约束 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331722B (zh) | 2015-07-03 | 2019-04-26 | 华为技术有限公司 | 图像预测方法和相关设备 |
WO2017022973A1 (ko) * | 2015-08-04 | 2017-02-09 | 엘지전자 주식회사 | 비디오 코딩 시스템에서 인터 예측 방법 및 장치 |
US10659801B2 (en) * | 2016-03-24 | 2020-05-19 | Lg Electronics Inc. | Method and apparatus for inter prediction in video coding system |
WO2019070770A1 (en) * | 2017-10-02 | 2019-04-11 | Arris Enterprises Llc | SYSTEM AND METHOD FOR REDUCING BLOCKED ARTIFACTS AND PRODUCING ENHANCED ENCODING EFFICIENCY |
CN109729352B (zh) * | 2017-10-27 | 2020-07-21 | 华为技术有限公司 | 确定仿射编码块的运动矢量的方法和装置 |
US10986343B2 (en) * | 2018-04-15 | 2021-04-20 | Arris Enterprises Llc | Reducing overhead for multiple-hypothesis temporal prediction |
EP4362468A3 (en) * | 2018-07-02 | 2024-06-26 | Huawei Technologies Co., Ltd. | Motion vector prediction method and device, and codec |
KR102592642B1 (ko) * | 2018-07-13 | 2023-10-23 | 엘지전자 주식회사 | 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 |
KR20240133754A (ko) | 2018-08-06 | 2024-09-04 | 엘지전자 주식회사 | 영상 코딩 시스템에서 컨스트럭티드 어파인 mvp 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 |
BR122021009784A2 (pt) | 2018-09-10 | 2021-07-13 | Lg Electronics Inc. | Método e aparelho de decodificação de imagens com base em predição de movimento afim usando lista de candidatos a mvp afim no sistema de codificação de imagens |
US11202089B2 (en) * | 2019-01-28 | 2021-12-14 | Tencent America LLC | Method and apparatus for determining an inherited affine parameter from an affine model |
CN113545041A (zh) * | 2019-03-07 | 2021-10-22 | 数字洞察力有限公司 | 图像编码/解码方法和设备 |
CN113647108A (zh) | 2019-03-27 | 2021-11-12 | 北京字节跳动网络技术有限公司 | 基于历史的运动矢量预测 |
JP7321583B2 (ja) * | 2019-04-25 | 2023-08-07 | オーピー ソリューションズ, エルエルシー | ピクチャヘッダ内の大域的運動ベクトルの信号伝達 |
JP7323641B2 (ja) * | 2019-05-21 | 2023-08-08 | 北京字節跳動網絡技術有限公司 | アフィンモードのための適応動きベクトル差分分解 |
MX2021015524A (es) * | 2019-06-14 | 2022-02-03 | Lg Electronics Inc | Metodo y dispositivo de codificacion de imagenes usando diferencias de vectores de movimiento. |
JP7275326B2 (ja) * | 2019-06-14 | 2023-05-17 | ヒョンダイ モーター カンパニー | インター予測を利用した映像符号化方法、映像復号化方法、及び映像復号化装置 |
KR20220023341A (ko) | 2019-06-25 | 2022-03-02 | 인텔 코포레이션 | 레벨 도출이 있는 서브-픽처 및 서브-픽처 세트 |
CN113243105B (zh) * | 2019-06-25 | 2023-10-20 | Oppo广东移动通信有限公司 | 亮度分量预测方法、编码器、解码器以及存储介质 |
JP7448568B2 (ja) | 2019-06-25 | 2024-03-12 | オッポ広東移動通信有限公司 | 画像成分の予測方法、装置およびコンピュータ記憶媒体 |
CN110460859B (zh) * | 2019-08-21 | 2022-03-25 | 浙江大华技术股份有限公司 | 历史运动矢量列表的使用方法、编解码器及存储装置 |
US11190789B2 (en) * | 2019-06-30 | 2021-11-30 | Tencent America LLC | Method and apparatus for video coding using inter-prediction mode signaling to dertermine motion vectors |
WO2021027774A1 (en) | 2019-08-10 | 2021-02-18 | Beijing Bytedance Network Technology Co., Ltd. | Subpicture dependent signaling in video bitstreams |
CN114287129A (zh) * | 2019-08-24 | 2022-04-05 | 北京字节跳动网络技术有限公司 | 初始化基于历史的运动矢量预测器表 |
WO2021052505A1 (en) * | 2019-09-22 | 2021-03-25 | Beijing Bytedance Network Technology Co., Ltd. | Reference picture resampling in video processing |
US11936877B2 (en) * | 2021-04-12 | 2024-03-19 | Qualcomm Incorporated | Template matching based affine prediction for video coding |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104661031A (zh) * | 2015-02-16 | 2015-05-27 | 华为技术有限公司 | 用于视频图像编码和解码的方法、编码设备和解码设备 |
CN105163116A (zh) * | 2015-08-29 | 2015-12-16 | 华为技术有限公司 | 图像预测的方法及设备 |
CN105850133A (zh) * | 2013-12-27 | 2016-08-10 | 英特尔公司 | 用于下一代视频译码的内容自适应主运动补偿预测 |
CN106331722A (zh) * | 2015-07-03 | 2017-01-11 | 华为技术有限公司 | 图像预测方法和相关设备 |
WO2017148345A1 (en) * | 2016-03-01 | 2017-09-08 | Mediatek Inc. | Method and apparatus of video coding with affine motion compensation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9699456B2 (en) * | 2011-07-20 | 2017-07-04 | Qualcomm Incorporated | Buffering prediction data in video coding |
WO2017084512A1 (en) | 2015-11-20 | 2017-05-26 | Mediatek Inc. | Method and apparatus of motion vector prediction or merge candidate derivation for video coding |
WO2017118411A1 (en) * | 2016-01-07 | 2017-07-13 | Mediatek Inc. | Method and apparatus for affine inter prediction for video coding system |
WO2017130696A1 (ja) | 2016-01-29 | 2017-08-03 | シャープ株式会社 | 予測画像生成装置、動画像復号装置、および動画像符号化装置 |
-
2018
- 2018-11-13 US US16/189,481 patent/US11889100B2/en active Active
- 2018-11-14 CN CN201880072234.3A patent/CN111316648B/zh active Active
- 2018-11-14 WO PCT/US2018/061085 patent/WO2019099540A1/en unknown
- 2018-11-14 EP EP18812547.0A patent/EP3711300A1/en active Pending
- 2018-11-14 TW TW107140476A patent/TWI800555B/zh active
- 2018-11-14 SG SG11202002885RA patent/SG11202002885RA/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105850133A (zh) * | 2013-12-27 | 2016-08-10 | 英特尔公司 | 用于下一代视频译码的内容自适应主运动补偿预测 |
CN104661031A (zh) * | 2015-02-16 | 2015-05-27 | 华为技术有限公司 | 用于视频图像编码和解码的方法、编码设备和解码设备 |
CN106331722A (zh) * | 2015-07-03 | 2017-01-11 | 华为技术有限公司 | 图像预测方法和相关设备 |
CN105163116A (zh) * | 2015-08-29 | 2015-12-16 | 华为技术有限公司 | 图像预测的方法及设备 |
WO2017148345A1 (en) * | 2016-03-01 | 2017-09-08 | Mediatek Inc. | Method and apparatus of video coding with affine motion compensation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179221A1 (zh) * | 2021-02-24 | 2022-09-01 | 华为技术有限公司 | 视频编码中的运动矢量(mv)约束和变换约束 |
Also Published As
Publication number | Publication date |
---|---|
US20190149838A1 (en) | 2019-05-16 |
CN111316648B (zh) | 2024-06-11 |
TWI800555B (zh) | 2023-05-01 |
US11889100B2 (en) | 2024-01-30 |
TW201924350A (zh) | 2019-06-16 |
EP3711300A1 (en) | 2020-09-23 |
WO2019099540A1 (en) | 2019-05-23 |
SG11202002885RA (en) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111316648B (zh) | 视频译码中的仿射运动向量预测 | |
US11082687B2 (en) | Motion vector prediction for affine motion models in video coding | |
US11363288B2 (en) | Motion vector generation for affine motion model for video coding | |
AU2019356483B2 (en) | Improvements on history-based motion vector predictor | |
US11172229B2 (en) | Affine motion compensation with low bandwidth | |
CN110383839B (zh) | 仿射运动信息导出 | |
US20190110064A1 (en) | Affine prediction in video coding | |
US11425387B2 (en) | Simplified local illumination compensation | |
US20190208211A1 (en) | Generated affine motion vectors | |
JP2020536443A (ja) | ビデオコーディングのためのアフィン予測動き情報をコーディングすること | |
US9693077B2 (en) | Controlling sub prediction unit (sub-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding | |
CN114503584A (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 |