CN109891890B - 用于解码视频数据的方法、编码视频数据的方法及相关设备 - Google Patents
用于解码视频数据的方法、编码视频数据的方法及相关设备 Download PDFInfo
- Publication number
- CN109891890B CN109891890B CN201780052813.7A CN201780052813A CN109891890B CN 109891890 B CN109891890 B CN 109891890B CN 201780052813 A CN201780052813 A CN 201780052813A CN 109891890 B CN109891890 B CN 109891890B
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- motion vector
- blocks
- prediction
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 144
- 239000013598 vector Substances 0.000 claims abstract description 604
- 238000003860 storage Methods 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 18
- 230000011664 signaling Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 238000000638 solvent extraction Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 61
- 230000002123 temporal effect Effects 0.000 description 54
- 238000005192 partition Methods 0.000 description 42
- 241000023320 Luma <angiosperm> Species 0.000 description 31
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 31
- 238000013139 quantization Methods 0.000 description 31
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 21
- 230000008569 process Effects 0.000 description 17
- 238000009795 derivation Methods 0.000 description 12
- 238000013500 data storage Methods 0.000 description 11
- 238000013138 pruning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 229910052757 nitrogen Inorganic materials 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012800 visualization Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 241000985610 Forpus Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 229910052760 oxygen Inorganic materials 0.000 description 2
- 229910052698 phosphorus Inorganic materials 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 229910052717 sulfur Inorganic materials 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 125000001997 phenyl group Chemical group [H]C1=C([H])C([H])=C(*)C([H])=C1[H] 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/172—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 picture, frame or field
-
- 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/18—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 a set of transform coefficients
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/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/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明描述用于视频译码的方法和设备。设备包括视频解码器,其中视频解码器经配置以将视频数据的图片的块分割成多个子块的技术。所述视频解码器经进一步配置以对于所述多个子块中的每一相应子块,基于与所述相应子块相邻的至少两个块的运动信息,导出相应子块的相应第一运动矢量。所述视频解码器还基于在位流中用信号通知的所述相应子块的相应运动矢量差来确定用于所述相应子块的第二运动矢量。另外,所述视频解码器基于所述相应子块的所述第一运动矢量及所述相应子块的所述第二运动矢量而生成用于所述相应子块的预测性块。
Description
相关申请案
本申请案主张在2016年9月7日提出申请的美国临时申请案第62/384,509号的权益,所述美国临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字摄像机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓“智能电话”、视频电话会议装置、视频流式处理装置及其类似者。数字视频装置实施视频补偿技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分、高级视频译码(AVC)、ITU-T H.265、高效率视频译码(HEVC)标准及此些标准的扩展所定义的标准中所描述之那些技术。视频装置可通过实施此些视频补偿技术而更高效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图像内)预测及/或时间(图像间)预测以减少或移除视频序列中固有的冗余。针对基于块的视频译码,可将视频图块(即,视频帧或视频帧的部分)分割成视频块,所述视频块也可被称作树块、译码单元(CU)及/或译码节点。图片的帧内编码(I)图块中的视频块系使用关于同一图片中的相邻块中的参考样本的空间预测来编码。图片的帧间编码(P或B)图块中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图像中的参考样本的时间预测。空间或时间预测导致欲译码的块的预测块。残留数据表示欲译码的原始块与预测块之间的像素差。根据指向形成预测块的参考样本块的运动矢量对帧间译码块进行编码,且残留数据指示译码块和预测块之间的差。根据帧内编码模式及残留数据对帧内译码块进行编码。为了进一步压缩,可将残留数据从像素域变换到变换域,从而产生残差变换系数,然后可对其进行量化。
发明内容
通常,本发明描述与视频编解码器中的运动矢量预测有关的技术。更具体地,从空间及时间相邻块在给定块(预测单元)的子块(子PU)级中导出双向运动矢量。
在实例中,本发明描述一种解码视频数据的方法,包含将视频数据的图片的块分割成多个子块。所述方法进一步包含:对于多个子块中的每一相应子块,基于关于与相应子块相邻的至少两个块的运动信息,导出相应子块的相应第一运动矢量。所述方法进一步包含基于在位流中用信号通知的相应子块的相应运动矢量差来确定用于相应子块的第二运动矢量。所述方法进一步包含基于相应子块的第一运动矢量及相应子块的第二运动矢量,生成用于相应子块的预测块。
在实例中,本发明描述一种编码视频数据的方法,包含将视频数据的图片的块分割成多个子块。所述方法进一步包含:对于多个子块中的每一相应子块,基于关于与相应子块相邻的至少两个块的运动信息,导出相应子块的相应第一运动矢量。所述方法进一步包含:相应子块的译码块,确定用于相应子块的第二运动矢量,所述第二运动矢量对应于用于相应子块的参考图片的运动矢量。所述方法进一步包含:基于相应子块的译码块与相应子块的第二运动矢量之间的差,确定相应子块的相应运动矢量差。所述方法进一步包含在位流中用信号通知相应子块的相应运动矢量差。所述方法进一步包含基于相应子块的第一运动矢量及相应子块的第二运动矢量,生成用于相应子块的预测块。
在实例中,本发明描述一种用于解码视频数据的装置,其包含经配置以存储视频数据的一或多个存储媒体以及一或多个处理器。一或多个处理器经配置以将视频数据的图片的块分割成多个子块。所述一或多个处理器经配置以,对于所述多个子块中的每一相应子块,基于与所述相应子块相邻的至少两个块的运动信息导出所述相应子块的相应第一运动矢量。所述一或多个处理器经配置以基于在位流中用信号通知的相应子块的相应运动矢量差来确定用于相应子块的第二运动矢量。一或多个处理器经配置以基于相应子块的第一运动矢量和相应子块的第二运动矢量,生成用于相应子块的预测块。
在实例中,本发明描述一种用于编码视频数据的装置,其包含经配置以存储视频数据的一或多个存储媒体以及一或多个处理器。一或多个处理器经配置以将视频数据的图片的块分割成多个子块。所述一或多个处理器经配置以,对于所述多个子块中的每一相应子块,基于与所述相应子块相邻的至少两个块的运动信息导出所述相应子块的相应第一运动矢量。所述基于相应子块的译码块,确定用于相应子块的第二运动矢量,所述第二运动矢量对应于用于相应子块的参考图片的运动矢量。一或多个处理器经配置以基于相应子块的译码块与相应子块的第二运动矢量之间的差来确定相应子块的相应运动矢量差。一或多个处理器经配置以在位流中用信号通知相应子块的相应运动矢量差。一或多个处理器经配置以基于相应子块的第一运动矢量和相应子块的第二运动矢量,生成用于相应子块的预测块。
在实例中,本发明描述存储指令的非暂时性计算机可读存储媒体,所述指令在被执行时使得用于解码视频数据的装置的一或多个处理器将视频数据的图片的块分割成多个子块。所述指令进一步致使所述一或多个处理器针对所述多个子块中的每一相应子块基于与所述相应子单元相邻的至少两个块的运动信息导出所述相应子块的相应第一运动矢量。指令进一步致使一或多个处理器基于在位流中用信号通知的相应子块的相应运动矢量差来确定用于相应子块的第二运动矢量。所述指令进一步致使一或多个处理器基于相应子块的第一运动矢量及相应子块的第二运动矢量生成用于相应子块的预测块。
在实例中,本发明描述存储指令的非暂时性计算机可读存储媒体,所述指令在被执行时使得用于编码视频数据的装置的一或多个处理器将视频数据的图片的块分割成多个子块。所述指令进一步致使所述一或多个处理器针对所述多个子块中的每一相应子块基于与所述相应子单元相邻的至少两个块的运动信息导出所述相应子块的相应第一运动矢量。所述指令进一步致使所述一或多个处理器基于相应子块的译码块确定用于相应子块的第二运动矢量,所述第二运动矢量对应于用于相应子块的参考图片的运动矢量。所述指令进一步致使一或多个处理器基于相应子块的译码块与相应子块的第二运动矢量之间的差来确定相应子块的相应运动矢量差。指令进一步致使一或多个处理器在位流中用信号通知相应子块的相应运动矢量差。所述指令进一步致使一或多个处理器基于相应子块的第一运动矢量及相应子块的第二运动矢量生成用于相应子块的预测块。
在实例中,本发明描述一种用于解码视频数据的设备,包含用于将视频数据的图片的块分割成多个子块的装置。所述设备进一步包含:对于多个子块中的每一相应子块,用于基于关于与相应子块相邻的至少两个块的运动信息,导出相应子块的相应第一运动矢量的装置。所述设备进一步包含用于基于在位流中用信号通知的相应子块的相应运动矢量差来确定用于相应子块的第二运动矢量的设备。所述设备进一步包含用于基于相应子块的第一运动矢量及相应子块的第二运动矢量,生成用于相应子块的预测块的设备。
在实例中,本发明描述一种用于编码视频数据的设备,包含用于将视频数据的图片的块分割成多个子块的装置。所述设备进一步包含:对于多个子块中的每一相应子块,用于基于关于与相应子块相邻的至少两个块的运动信息,导出相应子块的相应第一运动矢量的装置。所述设备进一步包含:用于基于相应子块的译码块,确定用于相应子块的第二运动矢量的装置,所述第二运动矢量对应于用于相应子块的参考图片的运动矢量。所述设备进一步包含用于基于相应子块的译码块与相应子块的第二运动矢量之间的差,确定相应子块的相应运动矢量差的装置。所述设备进一步包含用于在位流中用信号通知相应子块的相应运动矢量差的装置。所述设备进一步包含用于基于相应子块的第一运动矢量及相应子块的第二运动矢量,生成用于相应子块的预测块的设备。
下文的随附图式及描述中阐明本发明的一或多个方面的细节。根据描述、图式以及权利要求书将明了本发明中所描述的技术的其它特征、目的及优点。
附图说明
图1为说明可使用本发明中所描述的一或多种技术的实例性视频编码及解码***的框图。
图2A为用于合并模式的空间相邻运动矢量候选的说明。
图2B为用于高级运动矢量预测模式的空间相邻运动矢量候选者的图示。图
3A是时间预测运动矢量候选者的说明。
图3B为运动矢量缩放的说明。
图4说明用于3视图状况的多视图预测结构。
图5说明子预测单元(PU)级视图间运动预测。图
6说明来自参考图片的子PU运动预测。
图7说明高级时间运动矢量预测中的相关图片。
图8为空间-时间运动矢量预测值推导的流程图。
图9说明PU的第一示范性PU及相邻块。
图10说明PU的第二示范性PU及相邻块。
图11说明预测子PU运动矢量及其相邻块的实例。图
12A说明第一SubBi信令。
图12B说明第二SubBi信令。
图13为说明子PU双向运动补偿解码器流程图的流程图。
图14为说明子PU双向运动补偿编码器流程图的流程图。
图15为说明可实施本发明中所描述的一或多个技术的示范性视频编码器的框图。
图16为说明可实施本发明中所描述的一或多个技术的示范性视频解码器的框图。
图17为说明可实施本发明中所描述的一或多个技术的示范性视频数据解码的流程图。
图18为说明可实施本发明中所描述的一或多个技术的示范性视频数据编码的流程图。
具体实施方式
通常,本发明描述与视频译码中的运动矢量预测有关的技术。运动信息可含运动矢量,所述运动矢量包含水平分量及垂直分量,其中每一运动矢量分别指示沿水平及垂直方向的偏移值。运动信息可在高级视频编解码器(例如HEVC的扩展或下一代视频译码标准)的上下文中使用。
视频译码器(例如,视频解码器、视频编码器等)可针对图块的给定图片执行前向及/或后向运动预测。举例来说,可基于参考列表‘0’(例如,“RefPicList0”)向前预测图片或图块的块。另外或替代地,可基于参考列表‘1’(例如,“RefPicList1”)来后向预测图片或图块的块。在一些***中,视频译码器可使用前向及后向预测来执行双向预测。
使用双向预测的一些视频译码器可通过假设图片或图块内的运动高度相关来重用空间及时间相邻运动矢量,这可降低所得预测块中的运动准确度。一些视频译码器可使用两组运动矢量来执行双向运动补偿。执行双向运动补偿的一些视频译码器可用信号通知位流中的每一运动矢量的参考索引(例如,“RefIdx”)。然而,如果运动矢量差(MVD)的值很大,那么与单向运动补偿技术相比,用信号通知号通知额外运动矢量的成本可能为显著的。
期望减少用于重构用于生成视频的图片的译码块的信号通知的数据量。举例来说,视频编码器可用信号通知相对准确的运动矢量,其使得在位流中用信号通知的残留数据的量最小化。然而,此些视频***可使用位流中的相对大量的数据来用信号通知运动矢量。在其它实例中,视频解码器可预测运动矢量以减少用于用信号通知运动矢量的位流中的数据量。然而,在此些视频***中,预测运动矢量在所得预测块中可具有相对低的运动准确度,从而导致相对大的残留数据。如此,在用于生成运动矢量的视频译码器中可能存在问题,所述运动矢量使用于信号通知的运动矢量预测的数据量最小化,同时使所得预测块中的运动准确度最大化。
根据本文中所描述的一或多种技术,视频编码器可从一个方向(例如,“RefPicList0”)导出第一运动矢量且可在另一方向上用信号通知第二运动矢量(例如,“RefPicList1”)以提高准确度同时降低信令运动矢量的成本。举例来说,视频编码器可选择第一运动矢量的方向及图片以改进所得预测块中的运动准确度。另外,因为视频解码器可导出第一运动矢量,所以视频编码器可比使用两组用信号通知的运动矢量的双向运动补偿在位流中用信号通知更少的数据。以此方式,与用信号通知用于位流中的每一运动矢量的参考索引(例如,“RefIdx”)的执行双向运动补偿的视频***及执行双向运动补偿的视频***相比,本文中所描述的一或多种技术减少用信号通知用于重建用于生成视频的图片的译码块的数据量。
图1为说明可利用本发明的技术的实例性视频编码及解码***10的框图。如图1中所展示,***10包含源装置12,所述源装置提供欲稍后由目的地装置14进行解码的经编码视频数据。特定来说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手机(例如,所谓“智能”电话)、平板计算机、电视机、相机、显示装置、数字媒体播放器、视频游戏主机、视频流式传输装置,或其类似者。在一些状况中,源装置12及目的地装置14可经配备以用于无线通信。因此,源装置12及目的地装置14可为无线通信装置。源装置12为实例性视频编码装置(即,用于编码视频数据的装置)。目的地装置14为实例视频解码装置(即,用于解码视频数据的装置)。
在图1的实例中,源装置12包含视频源18、经配置以存储视频数据的存储媒体19、视频编码器20及输出接口24。目的地装置14包含输入接口26、经配置以存储经编码视频数据的存储媒体28、视频解码器30及显示装置32。在其它实例中,源装置及目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)
接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含整合式显示装置。
图1的所说明***10仅为一个实例。用于处理视频数据的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术通常由视频编码装置执行,但技术也可由视频编码器/解码器(通常称作为“CODEC”)执行。源装置12及目的地装置12仅为其中源装置12生成经译码视频数据以供发射到目的地装置14的此些译码装置的实例。在一些实例中,源装置及目的地装置可以基本上对称方式操作使得源装置12及目的地中之14中的每一者包含视频编码及解码组件。因此,***10可支持源装置12与目的地装置14之间的单向或双向视频传输,例如,用于视频流式传输、视频播放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置,例如视频摄像机、含有先前所捕获视频的视频存档,及/或用以从视频内容提供者接收视频数据的视频馈送接口。作为又一替代方案,视频源18可生成基于计算机图形数据作为源视频,或直播视频、经存档视频及计算机-生成视频的组合。源装置12可包括经配置以存储视频数据的一或多个数据存储媒体(例如,存储媒体19)。本发明中所描述的技术通常可应用于视频译码,且可应用于无线及/或有线应用。在每一状况下,所捕获、预捕获或计算机生成视频可由视频编码器20编码。输出接口24可将经编码的视频信息输出到计算机可读媒体16。
目的地装置14可接收待经由计算机可读媒体16解码的经编码视频数据。计算机可读媒体16可包含能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16包括通信媒体以使得源装置12能够实时地将经编码视频数据直接传输到目的地装置14。可根据通信标准(例如,无线通信协议)来调制经编码视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于数据包的网络的部分,例如局域网、广域网或例如因特网的全球网。通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。目的地装置14可包括一或多个数据存储媒体,其经配置以存储经编码视频数据及经解码视频数据。
在一些实例中,可将经编码数据从输出接口24输出到存储装置。类似地,可通过输入接口从存储装置存取编码数据。存储装置可包含各种分布式或本地存取数据存储媒体中的任何者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它适于存储经编码视频数据的数字存储媒体。在又一实例中,存储装置可对应于文件服务器或可存储由源装置12生成的经编码视频的另一中间存储装置。目的地装置14可经由流式处理或下载从存储装置存取所存储视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等),或适于存取存储于文件服务器上的经编码视频数据的两者的组合。来自存储装置的经编码视频数据的发射可为流式发射、下载发射或其组合。
所述技术可应用于支持各种多媒体应用中的任何者的视频译码,例如无线电视广播、有线电视发射、***发射、因特网流式视频发射,例如经由HTTP的动态自适应流式处理(DASH)、经编码到数据存储媒体上的数字视频、对存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,***10可经配置以支持单向或双向视频发射以支持例如视频流化、视频播放、视频广播及/或视频电话的应用。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射);或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动、光盘、数字视频光盘、蓝光光盘,或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据且将经编码视频数据提供到目的地装置14,例如,经由网络发射。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被理解为包括各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口26从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20的视频编码器20定义的语法信息,所述语法信息也由视频解码器30使用,其包含描述块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。存储媒体28可经配置以存储经编码视频数据,例如由输入接口26接收的经编码视频数据(例如,位流)。显示装置32向用户显示经解码视频数据,且可包括各种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器单元30各自可实施为各种适合编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任一组合。当技术部分地以软件实施时,装置可将用于软件的指令存储在适合非暂时性计算机可读媒体中且在硬件中使用一或多个处理器来执行指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包括在一或多个编码器或解码器中,其中的任一者可整合为相应装置中的组合式编码器/解码器(CODEC)的部分。
在一些实例中,视频编码器20及视频解码器30可根据视频译码标准(例如现有或未来标准)操作。实例性视频译码标准包含但不限于ITU-TH.261、ISO/IECMPEG-1可视化、ITU-TH.262或ISO/IECMPEG-2可视化、ITU-TH.263、ISO/IECMPEG-4可视化及ITU-TH.264(还称作ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。此外,新的视频译码标准,即高效视频译码(HEVC)或ITU-T H.265,包括其范围及屏幕内容译码扩展、3D视频译码(3D-HEVC)及多视图扩展(MV-HEVC)以及可缩放扩展(SHVC)最近由视频译码联合协作小组(JCT-VC)以及ITU-T视频译码专家组(VCEG)与ISO/IEC运动图像专家组(MPEG)的3D视频编码扩展开发联合协作小组(JCT-3V)开发。
在HEVC及其它视频译码规范中,视频序列通常包括一系列图片。图片也可被称作为“帧”。图片可包含三个样品阵列,标记为SL、SCb,及SCr。SL为亮度样本的二维阵列(即,块)。SCb为Cb色度样品的二维阵列。SCr为Cr色度样品的二维阵列。色度样品在本文中也可被称为“色度”样品。在其它情况下,图片可为单色的,且可仅包含亮度样本的阵列。
为了生成图片的经编码表示,视频编码器20可编码视频数据的图片的块。视频编码器20可在位流中包含视频块的经编码表示。举例来说,在HEVC中,为了生成图片的经编码表示,视频编码器20可生成一组译码树单元(CTU)。CTU中的每一者可包括一或多个译码树块(CTB),且可包括用于对一或多个译码树块的样本进行译码的语法结构。例如,每一CTU可包括亮度样本的译码树块,色度样本的两个对应译码树块,以及用于对译码树块的样本进行译码的语法结构。在具有三个单独颜色平面的单色图片或图片中,CTU可包括单个译码树块及用于译码译码树块的样本的语法结构。译码树块可为N×N个样本块。CTU也可称为“树块”或“最大译码单元”(LCU)。语法结构可经定义为以指定顺序一起存在于位流中的零个或多个语法元素。CTB的大小在HEVC主配置文件中的范围可为从16×16到64×64(尽管技术上可支持8×8CTB大小)。
在HEVC中,图块包含以光栅扫描顺序连续排序的整数个CTU。因此,在HEVC中,图块中的最大译码单元被称为译码树块(CTB)。
在HEVC中,为了生成图片的经译码的CTU,视频编码器20可对CTU的译码树块递归地执行四叉树分割以将译码树块分割成译码块,因此称为“译码树单元”。译码块为样本的N×N块。译码元(CU)可包括用于对一或多个译码块的样本进行译码的一或多个译码块及语法结构。例如,CU可包括亮度样本的译码块及具有亮度样本阵列、Cb样本阵列及Cr样本阵列的图片的色度样本的两个对应译码块,以及用于对译码块的样本进行译码的语法结构。在具有三个单独颜色平面的单色图片或图片中,CU可包括单个译码树块及用于译码译码树块的样本的语法结构。因此,CTB可含有四叉树,其节点为CU。
此外,视频编码器20可编码CU。举例来说,为编码CU,视频编码器20可将CU的译码块分割成一或多个预测块。预测块为是应用相同预测的矩形(即,正方形或非正方形)样本块。CU的预测单元(PU)可包括CU的一或多个预测块以及用于预测一或多个预测块的语法结构。举例来说,PU可包括亮度样本的预测块,色度样本的两个对应预测块,以及用于预测预测块的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块及用于预测预测块的语法结构。视频编码器20可产生CU的每一PU的预测块(例如,亮度、Cb及Cr预测块)的预测性块(例如,亮度、Cb及Cr预测性块)。
在HEVC中,每一CU用一种模式译码,其可为帧内模式或帧间模式。当CU经帧间译码时(即,应用帧间模式)时,当不应用进一步分割时,CU可进一步分割成2或4个PU或仅变为一个PU。当两个PU存在于一个CU中时,两个PU可为半尺寸矩形或具有CU的1/4或3/4尺寸的两个矩形尺寸。对于用帧间预测模式译码的CU,存在八种分割模式,即PART_2Nx2N、PART_2NxN、PART_Nx2N、PART_NxN、PART_2NxnU、PART_2NxnD、PART_nLx2N及PART_nRx2N,如图3中所展示。
当CU经帧间译码时,针对每一PU存在一组运动信息。另外,每一PU用唯一的帧间预测模式编码以导出运动信息集。如果视频编码器20使用帧内预测来生成PU的预测性块,那么视频编码器20可基于包含PU的图片的经解码样本生成PU的预测性块。当CU经帧内译码时,2N×2N及和N×N为唯一可允许的PU形状,且在每个PU内,单个帧内预测模式经译码(而色度预测模式在CU级别用信号通知)。仅在当前CU大小等于序列参数集(SPS)中定义的最小CU大小时,才允许N×N帧内PU形状。
视频编码器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可包括单个变换块及用于变换变换块的样本的语法结构。
视频编码器20可将TU的变换块应用于一或多个变换以生成TU的系数块。举例来说,视频编码器20可将一或多个变换应用于TU的亮度变换块以生成TU的亮度系数块。系数块可为二维变换系数阵列。变换系数可为标量。视频编码器20可将一或多个变换应用于TU的Cb变换块以生成TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块以生成TU的Cr系数块。
在一些实例中,视频编码器20跳过变换到变换块的应用。在此些实例中,视频编码器20可处理残留样本值可以与变换系数相同的方式处理。因此,在视频编码器20跳过变换的应用的实例中,变换系数及系数块的以下论述可适用于变换残留样本的块。
在生成系数块之后,视频编码器20可量化系数块。量化通常系指其中将变换系数量化以可能减少用于表示变换系数之资料之量,从而提供进一步压缩之程序。在一些实例中,视频编码器20跳过量化。在视频编码器20量化系数块之后,视频编码器20可生成指示经量化变换系数的语法元素。视频编码器20可对指示经量化变换系数的语法元素中的一或多者进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。
视频编码器20可输出包含经编码视频数据的位流。例如,位流可包括形成视频数据及相关联数据的经译码图片的表示的位序列。因此,位流包括视频数据的经编码表示。在一些实例中,经译码图片的表示可包含块的经编码表示。因此,视频编码器20可在位流中用信号通知块的经编码表示中的块的变换系数。在一些实例中,视频编码器20可使用一或多个语法元素来用信号通知块的每一变换系数。
位流可包括一系列网络抽象层(NAL)单元。NAL单元为语法结构,含有所述NAL单元中的数据的类型的指示以及含有呈视情况穿插有仿真阻止位(emulation preventionbit)的原始字节序列有效负载(RBSP)形式的所述数据的字节。NAL单元中的每一者可包含NAL单元标头且囊括RBSP。NAL单元标头可包含指示NAL单元类型译码的语法元素。由NAL单元的NAL单元标头规定的NAL单元类型译码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况中,RBSP包含零位。
视频解码器30可接收由视频编码器20生成的位流。另外,视频解码器30可剖析位流以从位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素来重构视频数据的图片。用以重构视频数据的序可通常与由视频编码器20执行的程序互逆。举例来说,视频解码器30可使用PU的运动矢量来判定用于当前CU之PU的预测块。另外,视频解码器30可逆量化当前CU的TU的系数块。视频解码器30可对系数块执行逆变换以重构当前CU的TU的变换块。视频解码器30可通过将当前CU的PU的预测块的样本添加到当前CU的TU的变换块的对应样本来重构当前CU的译码块。通过重构图片的每一CU的译码块,视频解码器30可重构图片。
在此章节中,描述视频译码标准,尤其是先前标准的运动矢量预测相关技术。
以下论述现有的视频译码标准。视频译码标准包含ITU-TH.261、ISO/IECMPEG-1可视化、ITU-TH.262或ISO/IECMPEG-2可视化、ITU-TH.263、ISO/IECMPEG-4可视化及ITU-TH.264(还称作ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。MVC的最新联合草案在“用于通用视听服务的高级视频译码(Advanced video codingfor generic audiovisual services)”,ITU-T推荐H.264,2010年3月中描述。
另外,存在由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作团队(JCT-VC)制定新研发的视频译码标准,即高效率视频译码(HEVC)。HEVC的最新草案可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip获得。
以下论述运动信息。对于每一块,可获得一组运动信息。运动信息集可含有关于向前预测方向及向后预测方向的运动信息。此处,前向及后向预测方向可为对应于当前图片或图块的参考图片列表0(RefPicList0)及参考图片列表1(RefPicList1)的两个预测方向。术语“向前”及“向后”不一定具有几何意义。相反,其用于区分运动矢量所基于的参考图片列表。前向预测可指代基于参考列表0形成的预测,而后向预测可指代基于参考列表1形成的预测。双向预测可指代基于参考列表0及参考列表1两者的预测。对
于给定图片或图块,如果仅使用一个参考图片列表,那么可向前预测图片或图块内的每一块。如果两个参考图片列表用于给定图片或图块,那么图片或图块内部的块可为前向预测的,或为后向预测的,或为双向预测。
针对每一预测方向,运动资讯可含有参考索引及运动矢量。可使用参考索引来识别对应参考图片清单(例如RefPicList0或RefPicList1)中的参考图片。运动矢量可具有水平及垂直分量,其中每一者分别指示沿着水平及垂直方向的偏移值。在一些描述中,为简单起见,措词“运动矢量”可与运动信息互换使用,以指示运动矢量及其相关参考索引两者。
以下将论述图片顺序计数(POC)。POC广泛用于视频译码标准中以识别图片的显示次序。尽管可能存在一个经译码视频序列内的两个图片可能具有相同POC值的状况,但通常不会在经译码视频序列内发生。当在位流中存在多个经译码视频序列时,具有相同POC值的图片在解码顺序方面可彼此更接近。
图片的POC值通常可用于参考图片列表构造及/或参考图片集的推导,如在HEVC中及运动矢量缩放。
以下论述高级视频译码(AVC)。AVC在Wiegand,Thomas;Sullivan,Gary J.;Gisle;Luthra,Ajay(2003年7月)的“H.264/AVC视频译码标准概述”(PDF)中描述。IEEE视频技术电路和***事务13(7)。以下论述AVC中的宏块(MB)结构。在H.264/AVC中,每一帧间MB可经分割成四种不同方式。H.264/AVC中的MB的第一分割可包含一个16×16MB分区。H.264/AVC中的MB的第二分割可包含两个16×8MB分区。H.264/AVC中的MB的第三分割可包含两个8×16MB分区。H.264/AVC中的MB的第四分割可包含四个8×8MB分区。
一个MB中的不同MB分区可针对每一方向具有不同的参考索引值(RefPicList0或RefPicList1)。
当MB未经分割成四个8×8MB分区时,MB可在每一方向上对于每一MB分区仅具有一个运动矢量。
当MB经分割成四个8×8MB分区时,每一8×8MB分区可经进一步分割成子块,子块中的每一者可在每一方向上具有不同的运动矢量。可能存在四种不同的从8×8MB分区获取子块的方法。从8×8MB分区获得子块的第一种方法可包含一个8×8子块。从8×8MB分区获得子块的第二种方式可包含两个8×4子块。从8×8MB分区获得子块的第三种方法可包含两个4×8子块。从8×8MB分区获得子块的第四种方式可包含四个4×4子块。换句话说,视频解码器30可将视频数据的图片的块分割成多个子块。类似地,视频编码器20可将视频数据的图片的块分割成多个子块。
每一子块可在每一方向上具有不同的运动矢量。因此,运动矢量可以等于或高于子块的级别存在。
以下论述AVC中的时间直接模式。在AVC中,可针对B图块中的跳过或直接模式在MB或MB分区级别中启用时间直接模式。对于每一MB分区,可使用与当前块的RefPicList1[0]中的当前MB分区共同定位的块的运动矢量来导出运动矢量。可基于POC距离缩放共同定位块中的每一运动矢量。
以下论述AVC中的空间直接模式。在AVC中,直接模式还可预测来自空间相邻者的运动信息。
以下论述HEVC。HEVC可在G.J.Sullivan;J.-R.Ohm;W.-J.Han;T.Wiegand(2012年12月)的“高效视频译码(HEVC)标准概述”(PDF)中进一步描述。IEEE视频技术电路与***交易(IEEE)22(12)。以下论述HEVC中的译码单元(CU)结构。在HEVC中,图块中的最大译码单元可被称作为译码树块(CTB)或译码树单元(CTU)。CTB可含有其节点为译码单元的四叉树。
在HEVC主要配置文件中,CTB的大小可在从16×16到64×64的范围内(尽管技术上可支持8×8CTB大小)。CU可与CTB的大小相同,但小至8×8。每一译码单元可用一种模式译码。当CU经帧间译码时,CU可经进一步分割成2或4个预测单元(PU)或在不应用进一步分割时变为仅一个PU。当两个PU存在于一个CU中时,其可为半尺寸矩形或具有CU的1/4或3/4尺寸的两个矩形尺寸。
当CU经帧间编码时,针对每一PU可存在一个运动信息集。另外,可用唯一的帧间预测模式对每一PU进行编码以导出运动信息集。
以下论述运动矢量预测。在HEVC标准中,针对PU,分别可存在两个帧间预测模式,即合并(例如跳过可被认为合并之特状况)及进阶运动矢量预测(AMVP)模式。
在AMVP或合并模式中,可针对多个运动矢量预测子维持运动矢量(MV)候选者列表。可通过从MV候选者列表取得一个候选者来生成当前PU的运动矢量以及合并模式中的参考索引。
MV候选者列表可含有多达5个用于合并模式的候选者,且含有用于AMVP模式的仅两个候选者。合并候选者可含有运动信息集,例如,对应于参考图片列表(列表0及列表1)及参考索引两者的运动矢量。如果通过合并索引识别合并候选者,那么参考图片可用于当前块的预测,以及可确定相关联运动矢量。然而,在AMVP模式下,对于来自列表0或列表1的每一潜在预测方向,可与MV候选者列表的MVP索引一起显式地用信号通知参考索引,因为AMVP候选者可仅含有运动矢量。在AMVP模式中,可进一步细化预测的运动矢量。
如上文可看见,合并候选者可对应于整组运动信息,而AMVP候选者可含有仅一个用于特定预测方向及参考索引的运动矢量。
可类似地从相同的空间及时间相邻块导出两种模式的候选者。
以下论述空间相邻候选者。对于特定PU(PU0),可从图2A及2B上所展示的相邻块导出空间MV候选者。在一些实例中,用于从块生成候选者的技术可对于合并及AMVP模式不同。
在合并模式中,可利用图2A上用数字所展示的次序导出多达四个空间MV候选者,且次序可为如下:左(0,A1)、上(1,B1)、右上(2,B0)、左下(3,A0)及左上(4,B2),如图2A中所展示。
在AVMP模式中,相邻块可经划分成两组:由块0及1组成的左组,以及由块2、3及4组成的上组,如图2B上所展示。对于每一组,参考与由用信号通知的参考索引指示的相同的参考图片的相邻块中的潜在候选者可具有经选择以形成所述组的最终候选者的最高优先级。所有相邻块可能不含有指向相同参考图片的运动矢量。因此,如果不能找到此候选者,那么可缩放第一可用候选者以形成最终候选者,因此可补偿时间距离差。
以下论述HEVC中的时间运动矢量预测。如果启用且可用,那么可在空间运动矢量候选者之后将时间运动矢量预测值(TMVP)候选者添加到MV候选者列表中。对于合并及AMVP模式,TMVP候选者的运动矢量推导过程可为相同的,然而合并模式中的TMVP候选者的目标参考索引可时钟设置为0。
用于TMVP候选者推导的主要块位置可为并置PU之外的右下方块,如在图3A中展示为块“T”,以补偿对用于生成空间相邻候选的上述及左侧块的偏置。然而,如果所述块位于当前CTB行之外或运动信息不可用,那么所述块可用PU的中心块代替。
可从以图块级别指示的共同定位图片的共同定位PU导出用于TMVP候选者的运动矢量。共同定位的PU的运动矢量可被称作为并置MV。
类似于AVC中的时间直接模式,为了导出TMVP候选运动矢量,可缩放共同定位的MV以补偿时间距离差,如图3A及3B中所展示。
以下论述HEVC中的运动预测的其它方面。以下论述合并及AMVP模式的几个方面。以下论述运动矢量缩放。在以下实例中,运动矢量的值可与呈现时间中的图片的距离成比例。在所述实例中,运动矢量可关联包含参考图片及含有运动矢量的图片(例如,含有图片)的两个图片。当利用运动矢量来预测另一运动矢量时,可基于POC值计算含有图片及参考图片的距离。
对于待预测的运动矢量,与待预测的运动矢量相关联的包含图片与参考图片连着均可为不同的。因此,可计算新距离(例如,基于POC)。在所述实例中,可基于两个POC距离来缩放运动矢量。对于空间相邻候选者,两个运动矢量的包含图片可为相同的,而参考图片可为不同的。在HEVC中,运动矢量缩放可应用于TMVP及AMVP两者用于空间和时间相邻候选者。
以下论述人工运动矢量候选者生成。如果运动矢量候选者列表未完成,那么可生成人工运动矢量候选者并将其***在列表的末尾,直到列表将具有所有候选者。
在合并模式中,可能存在两种类型的人工MV候选者:仅针对B图块导出的组合候选者及仅针对AMVP使用的零候选者。在一些方面中,如果仅针对B图块类型导出的组合候选者不提供足够的人工候选者,那么可包含零候选者。
对于已在候选者列表中且具有必要的运动信息的每对候选者,可导出双向组合运动矢量候选者。在一些方面中,可通过参考列表0中的图片的第一候选者的运动矢量与参考列表1中的图片的第二候选者的运动矢量的组合来导出双向组合运动矢量候选者。
以下论述候选者***的修剪过程。来自不同块的候选者可能恰好相同,这可能降低合并/AMVP候选者列表的效率。可应用修剪过程来解决来自不同块的候选者为相同的此问题。例如,一些技术可将一个候选者与当前候选者列表中的其它候选者进行比较以避免***相同的候选者。为了降低复杂性,可仅应用有限数目的修剪过程,而不是将每一潜在候选者与所有其它现有候选者进行比较。
以下论述3D-HEVC。3D-HEVC在Gerhard Tech;Krzysztof Wegner;Ying Chen;Sehoon Yea(2015-02-18)中所描述。“3D-HEVC草案文本7”,JCT-3V,2015年02月26日检索。3D-HEVC为JCT-3V正在开发的HEVC的3D视频扩展。在本小节中描述与本发明相关的关键技术。
值得一提的是,可在MV-HEVC中支持视图间样本预测(例如,来自重建的样本)。MV-HEVC中支持的预测结构如图4中所展示。
MV-HEVC及3D-HEVC两者都与HEVC兼容,其方式为可由HEVC(版本1)解码器解码的基本(纹理)视图。
在MV-HEVC中,通过将同一视图中的两个图片及同一时间例子的参考视图的图片放在图片的参考图片列表中,可通过同一视图中的两个图片及同一时间例子的参考视图中的图片来预测非基本视图中的当前图片。因此,当前图片的参考图片列表可含有时间参考图片及视图间参考图片两者。
与对应于时间参考图片的参考索引相关联的运动矢量可表示为时间运动矢量。与对应于视图间参考图片的参考索引相关联的运动矢量可表示为视差运动矢量。
图4说明用于3视图状况的多视图预测结构。在图4的实例中,V3表示基本视图及非基本视图(V1或V5)中的图片。在图4的实例中,可从同一时间例子的从属(基本)视图中的图片预测V3。
3D-HEVC支持MV-HEVC中的所有特征,因此可启用如上文所提及的视图间样本预测。另外,可支持更高级的仅纹理编码工具及深度相关/依赖编码工具。仅纹理编码工具可能需要识别可能属于同一对象的对应块(视图之间)。因此,视差矢量推导为3D-HEVC中的基本技术。
以下论述与3D-HEVC相关的子PU运动预测。以下论述3D-HEVC中基于子PU的视图间运动预测。在3D-HEVC中,可从参考视图中的参考块导出用于视图间合并候选者的子PU级视图间运动预测技术,即候选者。
当启用此模式时,当前PU可对应于参考视图中的参考区域(具有与由视差矢量识别的当前PU相同的大小)。在所述实例中,参考区域可具有比生成PU的运动信息集所需的更丰富的运动信息。因此,如图5中所展示提出子PU级视图间运动预测(SPIVMP)方法。
可将此模式用信号通知为特殊合并候选者。子PU中的每一者可含有全运动信息集。如此,PU可含有多个运动信息集。
以下论述3D-HEVC中基于子PU的MPI。类似地,在3D-HEVC的深度编码中,可设计技术使得从纹理视图导出的运动参数继承(MPI)候选者可以类似于子PU级视图间运动预测的方式扩展。
举例来说,如果当前深度PU具有含有多个PU的共同定位区域,那么可将当前深度PU分离为子PU。在所述实例中,子PU的每一子PU可具有不同运动信息集。此技术可被称作为子PU MPI。
以下论述用于2D视频编码的子PU的实例。在Ying Chen,Li Zhang的3D-HEVC中的两阶段时间运动矢量预测及子PU设计(美国公开案第2015/0085929案)中,已提出基于子PU的高级TMVP(ATMVP)设计。在单层编码中,提出两阶段高级时间运动矢量预测设计。第一阶段可用于导出识别参考图片中的当前PU的对应块的矢量,且第二阶段用于从对应块提取多个运动信息集并将其指派到PU的子PU。因此,PU的每一子PU可单独进行运动补偿。ATMVP的概念总结如下:最初,可从当前PU的空间及时间相邻块导出第一阶段中的矢量。接下来,可在所有其它合并候选者中激活合并候选者来实现此过程。
适用于单层编码及子PU时间运动矢量预测,PU或CU可具有欲在预测值顶部上传达的运动细化数据。如下强调Ying Chen等人的“3D-HEVC中的两阶段时间运动矢量预测及子PU设计”(美国公开案第2015/0085929号)的数个设计方面。在第一方面中,矢量推导的第一阶段也可仅通过零矢量来简化。在第二方面中,矢量推导的第一阶段可包含共同识别运动矢量及其相关图片。关于第二方面,已提出选择相关联图片并进一步将运动矢量确定为第一阶段矢量的各种方式。在第三方面中,如果在上述过程期间的运动信息不可用,那么可使用“第一阶段矢量”进行替代。在第四方面中,可以类似于TMVP中的运动矢量缩放的方式缩放从时间相邻者识别的运动矢量以用于当前子PU。然而,在第四方面中,可用以下方式中的一者来设计可缩放哪个参考图片,例如运动矢量。在第四方面的第一方式中,可通过当前图片的固定参考索引来识别图片。在第四方面的第二方式中,如果在当前图片的参考图片列表中也可用,那么可将图片识别为对应的时间相邻者的参考图片。在第四方面的第三方式中,可将图片设置为在第一阶段中识别的且从中抓取运动矢量的共同定位图片。
在Ying Chen,Xiang Li,Hongbin Liu,Jianle Chen,Li Zhang,MartaKarczewicz“经改进的子PU基于先进的时间运动矢量预测”(美国公开案第2016/0219278号)中,描述与HEVC相关的Sub-PU。图6说明来自参考图片的子PU运动预测。图7说明高级时间运动矢量预测值(ATMVP)中的相关图片。在一些实例中,ATMVP中的相关图片可类似于时间运动矢量预测值(TMVP)中的相关图片。
为了解决美国公开案第2015/0085929号中的一些设计问题,美国公开案第2016/0219278号提出以下技术。首先,实例涉及ATMVP候选者的位置,如果***,例如,作为合并候选者列表。在此实例中,空间候选者及TMVP候选者以特定次序序***到合并候选者中。可将ATMVP候选者***在那些候选者的任何相对固定的位置中。另外或替代地,例如,可在前两个空间候选者(例如A1及B1)之后***ATMVP候选者。另外或替代地,例如,可在前三个空间候选者(例如A1及B1以及B0)之后***ATMVP候选者。另外或替代地,例如,可在前四个候选者(例如A1、B1、B0及A0)之后***ATMVP候选者。另外或替代地,例如,可将ATMVP候选者刚好***在TMVP候选者之前。另外或替代地,例如,可将ATMVP候选者刚好***在TMVP候选者之后。
另外或替代地,可在位流中用信号通知候选者列表中的ATMVP候选者的位置。可另外用信号通知其它候选者的位置,包含TMVP候选者。
一个实例涉及可通过仅存取运动信息集来应用ATMVP候选者的可用性检查。当此信息集不可用时,例如,一个块经帧内编码,整个ATMVP候选者可认为是不可用的。在所述情况下,ATMVP可能不会***合并列表中。在所述实例中,中心位置或中心子PU可纯粹用于检查ATMVP候选者的可用性。当使用中心子PU时,可选择中心子PU作为覆盖中心位置的子PU。例如,中心子PU可经选择为PU的左上样本的中心3位置(具有相对坐标(W/2,H/2)),其中WxH为PU的大小。此位置或中心子PU可与时间矢量一起使用以识别运动源图片中的对应块。可识别来自块的覆盖对应块的中心位置的运动信息集。
一个实例涉及来自子PU的ATMVP经编码PU的代表性运动信息集。在实例的第一方面中,为了形成ATMVP候选者,可首先形成代表性运动信息集。在实例的第二方面中,可从固定位置或固定子PU导出此代表性运动信息集。在实例的第二方面中,可以与用于确定ATMVP候选者的可用性的运动信息集的方式相同的方式来选择此代表性运动信息集,如在先前实例中所描述。在实例的第三方面中,当子PU已识别其自己运动信息集且其不可用时,将其设置为等于所述代表性的运动信息集。在实例的第四方面中,如果代表性运动信息集经设置为子PU的运动信息集,那么在最糟状况情况下,在解码器侧可能不需要用于当前CTU或图块的额外运动存储。在实例的第五方面中,此代表性运动信息集可用在所有场景中,当解码过程要求整个PU由一个运动信息集(包括修剪)表示时,过程生成组合双向预测合并候选者。
在一个实例中,用TMVP候选者修剪ATMVP候选者,且可考虑TMVP与ATMVP之间的交互。以下列出所述实例的详细方面。在实例的第一方面中,可通过使用基于子PU候选者(例如,具有正常候选者的ATMVP候选)的代表性运动信息集(如在前面的实例中所论述)对此基于子PU的候选者进行修剪。如果此运动信息集与正常合并候选者相同,那么可认为两个候选者为相同的。
在实例的第二方面中,替代地或另外地,执行检查以确定ATMVP是否含有用于多个子Pu的多个不同的运动信息集。在实例的第二方面中,如果识别至少两个不同集合,那么基于子PU的候选者可不用于修剪。例如,如果识别至少两个不同集,那么可认为基于子PU的候选者与任何其它候选者不同。然而,如果未识别至少两个不同集合,那么基于子PU的候选者可用于修剪。
在实例的第三方面中,可替代地或另外地,可利用空间候选来修剪ATMVP候选者,例如仅左侧及顶部空间候选者,其中位置经表示为A1及B1。
在实例的第四方面中,可替代地或另外地,可仅从时间参考形成一个候选者,其为ATMVP候选者或TMVP候选者。在实例的第四方面中,当ATMVP可用时,候选者可为ATMVP。然而,当ATMVP不可用时,候选者可为TMVP。可在类似于TMVP的位置的位置中将此候选者***到合并候选者列表中。在此状况下,候选者的最大数目可保持不变。另外或替代地,即使在ATMVP不可用时,也可始终禁用TMVP。另外或替代地,仅在ATMVP不可用时才可使用TMVP。
在实例的第五方面中,另外或替代地,当ATMVP可用且TMVP不可用时,一个子PU的运动信息集被用作TMVP候选者。此外,在实例的第五方面中,不应用ATMVP与TMVP之间的修剪过程。
在实例的第六方面中,替代地或另外地,用于ATMVP的时间矢量也可用于TMVP,使得可不使用如用于HEVC中的当前TMVP的右下位置或中心3位置。另外或替代地,可联合考虑由时间矢量以及右下与中心3位置识别的位置以提供可用的TMVP候选者。
在实例中,可支持针对ATMVP候选者的多个可用性检查,以给予ATMVP候选者更高准确性及有效性的较高机会。当来自运动源图片的当前ATMVP候选者由第一时间矢量识别时(例如,如图7中所展示)不可用时,其它图片可视为运动源图片。当考虑另一图片时,其可与不同的第二时间矢量相关联,或可简单地与从第一时间矢量缩放的第二时间矢量相关联,所述第二时间矢量指向不可用的ATMVP候选者。
在实例的第一方面中,第二时间矢量可识别第二运动源图片中的ATMVP候选者,且可应用相同的可用性检查。如果从第二运动源图片导出的ATMVP候选者可用,那么可导出ATMVP候选者且不可检查其它图片。然而,如果从第二运动源图片导出的ATMVP候选者不可用,那么可检查作为运动源图片的其它图片。
在实例的第二方面中,欲检查的图片可为具有给定顺序的当前图片的参考图片列表中的图片。对于每一列表,可按参考索引的升序检查图片。可首先检查列表X且,然后列表Y(为1-X)中的图片。例如,可选择列表X,使得列表X为含有用于TMVP的共同定位图片的列表。另外或替代地,X可经简单地设置为1或0。
在实例的第三方面中,欲检查的图片可为具有给定顺序的空间相邻者的运动矢量所识别的图片。
在实例中,当前ATMVP应用的PU的分区可为2N×2N、N×N、2N×N、N×2N或其它AMP分区,例如2N×N/2。另外或替代地,如果可允许其它分区大小,那么也可支持ATMVP,此大小可包含例如64×8。另外或替代地,所述模式可仅应用于某些分区,例如,2N×2N。
在实例中,ATMVP候选者可经标记为不同类型的合并。
在实例中,当从相邻者识别矢量(例如,如第一阶段中的时间矢量)时,可按次序检查多个相邻位置,例如,在合并候选者列表构造中使用的那些位置。对于相邻者中的每一者,可按次序检查对应于参考图片列表0(列表0)或参考图片列表1(列表1)的运动矢量。当两个运动矢量可用时,可首先检查列表X中的运动矢量,且然后检查列表Y(其中Y等于1-X),使得列表X为含有用于TMVP的共同定位图片的列表。在ATMVP中,可添加时间矢量作为子PU的任何中心位置的移位,其中时间矢量的分量可移位到整数。此移位的中心位置可用于识别运动矢量可经分配到的最小单元,例如,具有覆盖当前中心位置的4×4的大小。另外或替代地,可在对应于列表1的运动矢量之前检查对应于列表0的运动矢量。另外或替代地,可在对应于列表0的运动矢量之前检查对应于列表1的运动矢量。另外或替代地,可按次序检查对应于所有空间相邻者中的列表X的所有运动矢量,接着是对应于列表Y的运动矢量(其中Y等于1-X)。此处X可为指示共同定位图片所属的位置或可经设置为0或1。另外或替代地,空间相邻者的次序可以HEVC合并模式使用的次序相同。
在实例中,当在识别时间矢量的第一阶段中不包含识别参考图片时,如图7中所展示的运动源图片,可简单地将其设置为固定图片,例如,用于TMVP的共同定位图片。
另外或替代地,在此状况下,可仅从指向此固定图像的运动矢量识别矢量。另外或替代地,在此状况下,可仅从指向任何图片但进一步缩放到固定图片的运动矢量来识别矢量。
在实例中,当在识别矢量的第一阶段中包含识别参考图片时,如图7中所展示的运动源图片,以下额外检查中的一或多者可应用于候选运动矢量。如果运动矢量与帧内编码的图片或图块相关联,那么此运动矢量可被视为不可用,且可能不被用于转换为矢量。另外或替代地,如果运动矢量在相关联的图片中识别帧内块(通过例如将当前中心坐标与运动矢量相加),那么此运动矢量被认为是不可用的且可能不被用于转换为矢量。
在实例中,当在识别矢量的第一阶段时,矢量的分量可经设置为(当前PU的一半宽度,当前PU的一半高度),使得它可识别在运动源图片中的右下像素位置。在此实例中,(x,y)可指示一个运动矢量的水平及垂直分量。另外或替代地,矢量的分量可经设置为(sum(当前PU的半宽度,M),sum(当前PU的半高度,N)),其中函数sum(a,b)返回a及b的总和。在实例的方面中,当运动信息以4×4单位存储时,M及N可均被设置为等于2。在实例的另一方面中,当运动信息以8×8单位存储时,M及N可均设置为等于4。
在实例中,当应用ATMVP时的子块/子PU大小可在参数集(例如,图片参数集的序列参数集)中用信号通知。尺寸的范围可从最小PU尺寸到CTU尺寸。大小也可为预定义的或用信号通知。尺寸可为例如小至4×4。另外或替代地,可基于PU或CU的大小导出子块/子PU大小。例如,子块/子PU可设置为等于max(4×4,(CU的宽度)>>M)。M的值可在位流中预定义或用信号通知。
在实例中,由于ATMVP可被视为新的合并候选者的事实,因此可将最大数目的合并候选者增加1。例如,与在修剪之后可能在合并候选者列表中占用多达5个候选者的HEVC相比,合并候选者的最大数目可增加到6。另外或替代地,可针对ATMVP执行利用常规TMVP候选者的修剪或用常规TMVP候选者的统一,使得合并候选者的最大数目可保持不变。另外或替代地,当ATMVP经识别为可用时,可从合并候选者列表中排除空间相邻候选者,例如,排除提取次序中的最后空间相邻候选者。
在实例中,当认为多个空间相邻运动矢量导出时间矢量时,可基于当前PU的相邻运动矢量以及由经设置等于运动矢量的特定时间矢量识别的相邻运动矢量来计算运动矢量相似度。可选择导致最高运动相似性的那个作为最终时间矢量。
在实例的第一方面中,对于来自相邻位置N的每个运动矢量,其可识别运动源图片中的块(与当前PU相同的大小),其中其相邻位置N含有运动信息集。可将此运动矢量集与所述运动信息集进行比较,如在当前块的相邻位置N中。
在实例的第二方面中,对于来自相邻位置N的每一运动矢量,其可识别运动源图片中的块,其中其相邻位置含有多个运动信息集。可将这些多个运动矢量集与来自相同相对位置中的当前PU的相邻位置的多个运动信息集进行比较。可计算运动信息相似度。例如,当前PU可具有来自A1、B1、A0及B0的以下运动信息集,表示为MIA1、MIB1、MIA0及MIB0。对于时间矢量TV,其可识对应于运动源图片中的PU的块。此块可具有来自相同的相对A1、B1、A0及B0位置的运动信息,且可表示为TMIA1、TMIB1、TMIA0及TMIB0。如由TV确定的运动相似性可计算为MStv=∑N∈{A1,B1,A0,B0}MVSim(MIN,TMIN),其中MVSim定义两组的运动信息之间的相似度。
在实例的第一及第二方面中的两者中,可使用运动相似度MVSim,其中两个输入参数可为两个运动信息,每一者可含有多达两个运动矢量及两个参考索引。由于列表X中的每一对运动矢量实际上可与不同图片的不同列表X中的参考图片相关联,当前图片及运动源图片。对于两个运动矢量MVXN及TMVXN(其中X等于0或1)中的每一个者,运动矢量差MVDXN可计算为MVXN-TMVXN。然后,差值MVSimX可计算为例如abs(MVDXN[0])+abs(MVDXN[1]),或(MVDXN[0]*MVDXN[0]+MVDXN[1]*MVDXN[1])。如果两个运动信息集含有可用运动矢量,那么可将MVSim设置为等于MVSim0+
MVSim1。
为了具有统一计算运动差,可能需要将两个运动矢量缩放到相同的固定图片,所述固定图片可为例如当前图片的列表X的第一参考图片RefPicListX[0]。
如果来自第一集的列表X中的运动矢量的可用性及来自第二集的列表X中的运动矢量的可用性可能不同,例如,一个参考索引为-1而另一者不是。此两个运动信息集可被认为在方向X上不相似。如果两个集在两个集中不相似,那么最终MVSim函数可返回大值T,其可例如被认为是无穷大。
另外或替代地,对于一对运动信息集,如果从列表X预测一个(X等于0或1)但并非列表Y(Y等于1-X)而另一集具有相同的状态,可应用1与2之间的加权(例如,MVSim等于MVSimX*1.5)。当仅从列表X预测一个集而另一集仅从列表Y预测时,可将MVSim设置为大值T。
另外或替代地,对于任何运动信息集,只要一个运动矢量可用,就可产生两个运动矢量。在仅有一个运动矢量可用的情况下(对应于列表X),其可缩放以形成对应于另一列表Y的运动矢量。
另外或替代地,可基于当前PU的相邻像素与由运动矢量识别的块的相邻像素(与当前PU相同的大小)之间的差来测量运动矢量。可选择导致最小差的运动矢量作为最终时间矢量。
在实例中,当导出当前块的时间矢量时,来自用ATMVP编码的相邻块的运动矢量及/或时间矢量可具有比来自其它相邻块的运动矢量更高的优先级。
在实例的第一方面中,可首先仅检查相邻块的时间矢量,可将第一可用的矢量设置为当前块的时间矢量。仅当不存在此些时间矢量时,才可进一步检查正常运动矢量。在此状况下,可存储ATMVP经译码块的时间矢量。
在实例的第二方面中,可首先仅检查来自ATMVP经编码相邻块的运动间矢量,可将第一可用的矢量设置为当前块的时间矢量。仅当不存在此些时间矢量时,才可进一步检查正常运动矢量。
在实例的第三方面中,可首先仅检查来自ATMVP经编码相邻块的运动间矢量,可将第一可用的矢量设置为当前块的时间矢量。如果此些运动矢量不可用,那么时间矢量的检查继续类似于实例的第一方面。
在实例的第一方面中,可首先检查来自相邻块的时间矢量,可将第一可用的矢量设置为当前块的时间矢量。如果此些运动矢量不可用,那么时间矢量的检查继续类似于实例的第二方面。
在实例的方面中,可首先检查ATMVP经编码相邻块的时间矢量及运动间矢量,可将第一可用的矢量设置为当前块的时间矢量。仅当不存在此些时间矢量及运动矢量时,才可进一步检查正常运动矢量。
在一些实例中,当认为多个空间相邻运动矢量导出时间矢量时,可选择运动矢量以使其最小化从像素域计算的失真,例如,可使用模板匹配来导出时间矢量使得选择导致最小匹配成本的时间矢量作为最终时间矢量。
在一些实例中,可以运动矢量在任何列表X的对应块中可用(将运动矢量表示为MVX)的方式来完成从对应块(在运动源图片中)中推导出运动信息集,对于ATMVP候选者的当前子PU,运动矢量可被认为可用于列表X(通过缩放MVX)。如果运动矢量在任何列表X的对应块中不可用,那么可认为运动矢量不可用于列表X。
另外或替代地,当对应块中的运动矢量不可用于列表X但可用于列表1-X(由Y表示为1-X且将运动矢量表示为MVY)时,运动矢量仍然可被认为是可用于列表X(通过将MVY缩放到列表X中的目标参考图片)。
另外或替代地,当列表X及列表Y(等于1-X)的对应块中的两个运动矢量都可用时,可不必使用来自列表X及列表Y的运动矢量来直接缩放以生成通过缩放来获得当前子PU的两个运动矢量。在实例的一个方面中,当制定ATMVP候选者时,在TMVP中进行的低延迟检查可应用于每一子PU。如果对于当前图块的每一参考图片列表中的每一图片(由refPic表示),refPic的POC小于当前图块的POC,那么可考虑当前图块具有低延迟模式。在此低延迟模式中,可缩放来自列表X及列表Y的运动矢量以分别为列表X及列表Y生成当前子PU的运动矢量。当不处于低延迟模式时,可仅选择和缩放来自MVX或MVY的一个运动矢量MVZ以生成当前子PU的两个运动矢量。类似于TMVP,在此状况下,Z可经设置为等于collocated_from_l0_flag,意味着其取决于如TMVP中的共同定位图片是否在当前图片的列表X还是列表Y中。另外或替代地,Z可如下设置:如果从列表X识别运动源图片,那么Z经设置为X。另外或替代地,当运动源图片属于两个参考图片列表时,且RefPicList0[idx0]为首先存在于列表0中的运动源图片,且RefPicList(1)[idx1]为首先存在于列表1中的运动源图片,如果idx0小于或等于idx1,那么Z可经设置为0,且否则可经设置为1。
在实例中,可用信号通知运动源图片。详细地,可针对B图块用信号通知号通知指示运动源图片是来自列表0还是列表1的旗标。另外或替代地,可用信号通知对当前图片的列表0或列表1的参考索引以识别运动源图片。
在实例中,当识别时间矢量时,如果矢量指向相关联运动源图片中的帧内译码块,那么可将矢量视为不可用(因此可考虑其它矢量)。
在Wei-Jung Chien、Xianglin Wang、Li Zhang、Hongbin Liu、Jianle Chen、MartaKarczewicz的“使用空间-时间运动信息的子PU运动矢量的预测”(美国公开案第2016/0366435号(美国申请案第15/176,790号)),论述与HEVC相关的子PU。图8为空间-时间运动矢量预测值推导的流程图。
在实例中,为了使用子PU运动预测来增强性能,可利用相邻子PU的空间-时间运动信息,如美国申请案第15/176,790号中所描述。在美国申请案第15/176,790号中,可从三维域中的相邻块的信息导出每一子PU的运动矢量。这意味着相邻块可为当前图片中的空间相邻者或先前经编码图片中的时间相邻者。图8展示空间-时间运动矢量预测值(STMVP)推导过程的流程图。除了以下描述之外,关于Ying Chen、Xiang Li、Hongbin Liu、Jianle Chen、Li Zhang、Marta Karczewicz的“经改进基于子PU的高级时间运动矢量预测”(美国公开案第2016/0219278号)所描述的技术,可直接扩展到STMVP。
在以下描述中,术语“块”可用于指代用于存储预测相关信息的块单元,例如帧间或帧内预测、帧内预测模式、运动信息等。可保存此预测信息且可用于编码未来块,例如,预测未来块的预测模式信息。在AVC及HEVC中,此块的大小为4×4。
注意,在以下描述中,“PU”可指示帧间译码块单元,且子PU可指示从相邻块导出运动信息的单元。
可应用以下技术的任何组合。
下面论述与从相邻块获得运动信息有关的技术。以下论述与子PU及相邻块的大小相关的技术。
考虑具有多个子PU的PU,子PU的大小通常等于或大于相邻块大小。在一个实例中,如图9中所展示,阴影正方形表示在当前PU之外的相邻块(使用小写字母a、b、...i表示)且剩余正方形(使用大写字母A、B、...、P表示)表示当前PU中的子PU。子PU及其相邻块的大小为相同的。例如,大小等于4×4。图9展示子PU大于相邻块的另一实例。以此方式,用于运动信息导出的相邻块的大小可等于或小于为其导出运动信息的子块的大小。替代地,子PU可采用非正方形形状,例如矩形或三角形。此外,可在图块标头中用信号通知子PU的大小。在一些实例中,以上所论述关在参数集中用信号通知子块或子PU大小的过程可扩展到这些技术。例如,可在参数集中用信号通知子PU大小,例如序列参数集(SPS)或图片参数集(PPS)。
关于图9的实例,假设视频译码器将光栅扫描次序(A、B、C、D、E等)应用于子PU以导出子块的运动预测。然而,也可以应用其它扫描次序,且应注意,这些技术不仅限于光栅扫描次序。
相邻块可分类为两种不同的类型:空间及时间。空间相邻块为已经译码的块或已经扫描的子PU,其在当前图片或图块中且与当前子PU相邻。时间相邻块为先前经译码图像中的块且与当前子PU的共同定位块相邻。在一个实例中,视频译码器使用与当前PU相关联的所有参考图片来获得时间相邻块。在另一实例中,视频译码器使用参考图片的子集用于STMVP导出,例如,仅用于每一参考图片列表的第一条目。
在这些定义之后,对于子PU(A),进一步参考图9,所有白色块(a、b、...i)及其在先前经译码图片中的并置块为被视为可用的空间及时间相邻块。根据光栅扫描顺序,块B、C、D、E...P在空间上不可用于子PU(A)。尽管所有子PU(从A到P)经为子PU(A)的时间上可用的相邻块,因为其运动信息可在其先前经译码图片中的并置块中找到。以子PU(G)为另一实例:其可用的空间相邻块包含从a、b...到i的安歇,以及从A到F的那些。此外,在一些实例中,可对空间相邻块应用某些限制,例如,空间相邻块(即,从a,b...到i)的块可经限制在相同的LCU/图块/块中。
根据本发明的技术,视频译码器(例如,视频编码器20或视频解码器30)可选择所有可用相邻块的子集以导出用于每一子PU的运动信息或运动场。可预定义用于推导每一PU的子集;替代地,视频编码器20可用信号通知(且视频解码器30可接收用信号通知指示)子集作为图块标头、PPS、SPS等中的高级语法。为了优化译码性能,子集对于每个子PU可为不同的。实际上,为简单起见,用于子集的固定位置模式为优选的。例如,每一子PU可使用其紧邻上面的空间相邻者,其直接左空间相邻者及其直接右下方时间相邻者作为子集。关于图9的实例,当考虑子PU(J)(水平散列)时,上面块(F)及左边块(I)(斜向左下的散列)为空间可用的相邻块,且右下块(O)(在两个方向上对角线散列)为暂时可用的相邻块。利用此子集,由于处理依赖性,当前PU中的子PU将依序(以定义的次序,例如光栅扫描次序)处理。
另外或替代地,当考虑子PU(J)时,视频编码器20及视频解码器30可将上面块(F)及左侧块(I)视为空间可用的相邻块,以及底部块(N)及右侧块(K)作为时间可用的相邻块。利用此子集,视频编码器20及视频解码器30可由于处理依赖性而顺序地处理当前PU中的子PU。
为了允许当前PU中的每一子PU的并行处理,视频编码器20及视频解码器30可将相邻块的不同子集用于一些子PU以用于运动预测推导。在一个实例中,可定义仅含有不属于当前PU的空间相邻块(例如块a、b、...i)的子集。在此状况下,可进行并行处理。
在另一实例中,对于给定的子PU,如果子PU空间相邻块在当前PU内,那么可将所述空间相邻块的并置块放入子集中并用于导出当前子PU的运动信息。例如,当考虑子PU(J)时,选择上面块(F)及左侧块(I)以及右下块(O)的时间并置块作为子集以导出子PU(J)的运动。在此状况下,子PU(J)的子集含有三个时间相邻块。在另一实例中,可启用部分并行处理,其中一个PU经分成几个区域,且每一区域(覆盖几个子PU)可经独立地处理。
有时,相邻块为经帧内译码,其中期望具有确定那些块的替换运动信息的规则,以获得更好的运动预测及译码效率。例如,考虑子PU(A),可能存在块b、c及/或f经帧内译码的状况,且a、d、e、g、h及i经帧间译码。
对于空间相邻者,视频编码器20及视频解码器30可使用预定义次序来用第一发现的经帧间译码块的运动信息填充经帧内译码块的运动信息。例如,可将上述相邻者的搜索顺序设置为从紧邻上面相邻者向右开始直到最右边的相邻者,意味着b、c、d及e的次序。左相邻者的搜索次序可设置为从紧邻的左相邻者向下开始直到最下相邻者,意味着f、g、h及i的次序。如果通过搜索过程未找到经帧间译码块,那么认为上面或左侧空间相邻者不可用。
对于时间相邻者,可使用与TMVP推导中指定的规则相同的规则。然而,应注意,也可使用其它规则,例如基于运动方向、时间距离(在不同参考图片中搜索)及空间位置等的规则。
视频编码器20及视频解码器30可使用以下技术来根据本发明的技术导出给定子PU的运动信息。视频编码器20及视频解码器30可首先确定目标参考图片,且执行运动矢量缩放。对于每一相邻块,可基于每一参考图片列表将运动矢量缩放应用于其运动矢量,以便将所有相邻块的运动矢量映射到每一列表中的相同参考图片。存在两个步骤:首先,确定要用于缩放的源运动矢量。其次,确定源运动矢量投影到的目标参考图片。
针对第一步,可使用几种技术。在第一方面中,对于每一参考列表,运动矢量缩放独立于另一参考列表中的运动矢量;对于给定块的运动信息,如果参考列表中不存在运动矢量(例如,单向预测模式而非双向预测模式),那么不对所述列表执行运动矢量缩放。对于第二方面,运动矢量缩放不独立于另一参考列表中的运动矢量;对于给定块的运动信息,如果参考列表中没有任何运动矢量不可用,那么可从另一参考列表中的一者缩放。在第三方面中,两个运动矢量从一个预定义的参考列表(如在TMVP中)缩放。
在一个实例中,根据本发明的技术,视频编码器20及视频解码器30使用第一方面来缩放空间相邻块的运动矢量,且上文的第三方面用于缩放时间相邻块的运动矢量。然而,在其它实例中可使用其它组合。
关于第二步骤,可基于可用空间相邻块的运动信息(例如,参考图片)根据特定规则来选择目标参考图片。此规则的一个实例为多数规则,即,选择由大多数块共享的参考图片。在此状况下,从编码器到解码器的目标参考图像不需要用信号通知,因为也可使用相同的规则在解码器侧推测出相同的信息。替代地,也可在图块标头中明确规定此参考图片,或在一些其它方法中用信号通知解码器。在一个实例中,目标参考图片经确定为每一参考列表的第一参考图片(refidx=0)。
在确定目标参考图片并根据需要缩放运动矢量之后,视频编码器20及视频解码器30导出用于给定子PU的运动信息。假设存在N个可用相邻块,其具有用于给定子PU的运动信息。首先,视频编码器20及视频解码器30确定预测方向(InterDir)。
用于确定预测方向的一种简单技术如下。在第一方面中,InterDir经初始化为零,然后通过N个可用相邻块的运动信息循环。在第二方面中,如果在列表0中存在至少一个运动矢量,那么InterDir=(InterDirbitwiseOR 1)。在第二方面中,如果在列表1中存在至少一个运动矢量,那么InterDir=(InterDirbitwiseOR 2)。
此处“bitwiseOR”表示按位“或”运算。InterDir的值经定义为:在此实例中,0(无帧间预测)、1(基于列表0的帧间预测)、2(基于列表1的帧间预测)及3(基于列表0及列表1的帧间预测)。
另外或替代地,类似于针对上文所描述运动矢量缩放的目标参考图片的确定,多数规则可用于基于所有可用邻域块的运动信息确定给定子PU的InterDir的值。
确定InterDir之后,可导出运动矢量。对于基于所导出InterDir的每一参考列表,可存在通过运动矢量缩放可用于目标参考图片的M个运动矢量(M<=N),如上文所描述。参考列表的运动矢量可导出为:
在上述等式中,wi及wj分别为水平及垂直运动分量的加权因子,且Oi及Oj为取决于加权因子的偏移值。
可基于各种因素来确定加权因子。在一个实例中,相同的规则可应用于一个PU内的所有子PU。所述规则可定义如下。在方面中,可基于各种因素确定加权因子。在一个实例中,相同的规则可应用于一个PU内的所有子PU。所述规则可定义如下。例如,可基于当前子PU及对应相邻块的位置距离来确定加权因子。在另一实例中,还可基于在缩放之前目标参考图片与和对应相邻块的运动矢量相关联的参考图片之间的POC距离来确定加权因子。在又另一实例中,可基于运动矢量差或一致性来确定加权因子。为简单起见,所有加权因子也可设置为1。
另外或替代地,可将不同规则应用于一个PU内的子PU。例如,另外,可应用上述规则,对于位于第一行/第一列的子PU,可将从时间相邻块导出的运动矢量的加权因子设置为0,而对于其余块,可将从空间相邻块导出的运动矢量的加权因子设置为0。
应注意,在实践中,上述方程式可按实际实施,或为了易于实施而简化。例如,为了避免除法或浮点运算,可使用不动点运算来近似上述方程式。一个例子为,为了避免除以3,可替代选择乘以43/128以用乘法及位移代替除法运算。应在本发明的相同精神下考虑实施中的那些变化。
另外或替代地,还可应用非线性操作来导出运动矢量,例如中值滤波器。
提出甚至每一子PU的运动矢量预测值均为可用的,STMVP模式可复位为不可用于一个PU。
举例来说,一旦针对给定PU导出每一子PU的运动矢量预测符,可执行一些可用性检查以确定是否应使STMVP模式可用于给定PU。此操作可用于消除对STMVP模式非常不可能最选择用于给定PU的状况。当STMVP模式不可用时,模式用信号通知可能不包含STMVP。在通过在合并列表中***SMTVP来实施STMVP模式的状况下,当确定STMVP模式不可用时,合并列表可不包含此STMVP候选者。因此,可减少信令
开销。
考虑将一个PU分割成M个子PU。在实例中,如果M个子PU中的N1(N1<=M)个子PU具有相同运动矢量预测值(即,相同的运动矢量及相同的参考图片索引),那么仅当N1比阈值小或预测值不同于合并列表中的其它运动矢量预测值(具有更小的合并索引)时才可使得STMVP可用。在另一实例中,如果在STMVP模式下的N2(N2<=M)个子PU与ATMVP下的对应子PU共享相同的运动矢量预测值,那么仅当N2比另一阈值小时STMVP才可用。
在实例中,N1及N2的两个阈值均经设置为等于M。
以下论述合并列表***。如果STMVP可用,那么可将其***到合并列表中。Wei-Jung Chien、Xianglin Wang、Li Zhang、Hongbin Liu、Jianle Chen、Marta Karczewicz的美国申请案第2016/0366435号(US美国申请案第15/176,790号)的使用空间-时间运动信息的子PU运动实例预测中的过程。可扩展且可在ATMVP之前或之后***STMVP。在一个实施例中,可将STMVP***刚好在合并列表中的ATMVP之后。
本文中所描述的技术呈现新颖的基于Sub-PU的双向运动补偿(SubBi)技术,其可降低双向运动补偿成本并维持高运动补偿准确度。
如先前所论述,在双向运动补偿中可能存在两个参考图片列表,分别称为RefPicList0及RefPicList1,其在每一列表中含有至少一个参考图片(帧)。两个列表中的参考图片可相同或具有一些重叠。
通常,先前的双向运动补偿方法可利用单向运动补偿(在RefPicList0或RefPicList1中)中的一者作为起始点,将其缩放到另一方向且找到运动矢量,所述运动实例在组合两个PU预测之后可生成PU的最终运动补偿。先前运动矢量预测技术试图通过假设局部运动高度相关来重用空间及时间相邻运动矢量。如果运动矢量预测的成本比搜索方法(单向或双向)小,那么可能不需要发射运动矢量。为了提高运动矢量预测的准确度,ATMVP(参见Chen等人,美国公开案第016/021927号及Wei-Jung Chien、Xianglin Wang、LiZhang、Hongbin Liu、Jianle Chen、Marta Karczewicz的使用空间-时间运动信息的子PU运动矢量预测的美国公开案第2016/0366435号(US申请案第15/176,790号)预测子PU级别(4x4)中的运动矢量。然而,直接重用子PU级运动矢量预测可能不足以捕获运动准确度。
双向运动补偿可使用两组运动矢量,且可用信号通知其参考索引(RefIdx)。与单向运动补偿相比,如果运动矢量差(MVD)的值大,那么额外运动矢量的成本可能为显著的。另一方面,如果两个运动矢量均为从如上文所描述的ATMVP的运动矢量预测技术导出的,那么运动补偿也可能缺乏准确度。因此,从一个方向预测运动矢量且然后在另一方向上搜索及发射是利用双向运动补偿及ATMVP问题的解决方案。
此观察激发基于Sub-PU预测的双向运动补偿,其组合Sub-PU级运动矢量预测及常规双向运动补偿。
例如,假设RefPicListPred为应用运动矢量预测的参考图片列表。然后,另一运动矢量来自参考图片列表RefPicListSearch中的搜索。RefPicListPred中的RefIdx经标记为RefIdxPred且RefPicListSearch中的RefIdx经标记为RefIdxSearch。
在本发明中,可不用信号通知RefPicListPred的运动矢量。一旦解码器接收到interSubBiFlag=1信号,解码器即可起始SubBi模式。RefPicListSearch的运动信息可精确地解码为单向运动补偿。
换句话说,视频解码器30可针对多个子块中的每一相应子块,基于在位流中用信号通知的相应子块的相应运动矢量差来确定用于相应子块的运动矢量。更具体地,例如,视频解码器30可针对多个子块中的每一相应子块,从由源装置12用信号通知的位流获得参考图片列表指示符(例如,RefPicListSearch)用于相应子块及用于相应子块的参考索引(例如,RefIdxSearch)。在此实例中,参考图片列表指示符(例如,RefPicListSearch)用于指示相应子块的相应参考图片列表的相应子块。在此实例中,参考索引(例如,RefIdxSearch)用于指示相应的子块的参考图片列表(例如,RefPicListSearch)中的相应子块的参考图片的相应子块。视频解码器30可确定用于相应子块的参考图片的运动矢量。换句话说,视频解码器30可使用表示参考图片的运动的运动矢量的水平分量及垂直分量来确定相应子块的运动矢量。在此实例中,视频解码器30可将用于相应子块的参考图片的运动矢量的水平分量及垂直分量分别与在由源装置12输出的位流中的相应子块的相应运动矢量差(MvDSearch)的水平分量及垂直分量组合以确定相应子块的运动矢量。
类似地,视频编码器20可针对多个子块中的每一相应子块,基于相应子块的译码块,确定对应于用于相应子块的参考图片的运动矢量的相应子块的运动矢量。更具体地,例如,视频编码器20可针对多个子块中的每个相应子块选择参考图片,使得使用用于所选择参考图片的运动矢量来解码子块产生用于从子块的所得预测值块解码子块的最低成本。在此实例中,视频编码器20可基于相应子块的译码块与相应子块的运动矢量之间的差来确定相应子块的相应运动矢量差。举例来说,视频编码器20可生成相应运动矢量差(例如,MvDSearch),其包含为参考图片的运动矢量及相应子块的运动矢量的水平分量及垂直分量分别与垂直分量之间的差的水平分量及垂直分量。在此实例中,视频编码器20可用信号通知位流中的相应子块的相应运动矢量差(例如,MvDSearch)。在一些实例中,视频编码器20可针对多个子块中的每一相应子块在位流中用信号通知用于相应子块的参考图片列表指示符(例如,RefPicListSearch)及用于相应子块的参考索引(例如,RefIdxSearch)。
单向运动补偿的预测方向可用于导出RefPicListSearch,因为用信号通知的运动矢量的搜索参考图片列表与RefPicListSearch相同。因此,其它参考图片列表可为RefPicListPred。可解码RefIdxSearch及RefIdxPred。解码器可使用由RefPicListPred及RefIdxPred确定的参考图片来预测Sub-PU级别中的运动预测。在以下示范性实施例中描述导出子PU级中的运动矢量RefPicListPred的实例。可组合预测图像块与从RefPicListSearch及RefIdxSearch上用信号通知的运动矢量得出的另一块以生成最终帧间预测。
以下论述实例。以下论述解码器中RefPicListPred上的基于子PU的运动矢量预测。作
为实例,可在子PU(4×4)级别中生成RefPicListPred的运动矢量预测。子PU运动矢量预测可为上、左及右下运动矢量的组合,其全部缩放到特定RefIdxPred。换句话说,视频解码器30可针对多个子块中的每一相应子块,基于关于与相应子块相邻的至少两个块的运动信息导出相应子块的相应运动矢量。类似地,视频编码器20可针对多个子块中的每一相应子块,基于关于与相应子块相邻的至少两个块的运动信息导出相应子块的相应第一运动矢量。
图11中展示实例。假设待预测的PU为16×16(灰色)块,其由16个4×4子PU组成。子PU A的运动矢量可以通过以下方程式计算:
在上述方程式中,wleft,wup,且wcol为具有wleft+wup+wcol=1的相邻运动矢量的正权重。
换句话说,例如,视频解码器30可将特定子块的运动矢量确定为特定子块的上面相邻块的运动矢量、特定子块的左侧相邻块的运动矢量,以及与用于特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和。类似地,例如,视频编码器20可将特定子块的运动矢量确定为特定子块的上面相邻块的运动矢量、特定子块的左侧相邻块的运动矢量,以及与用于特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和。
在一些实例中,wleft=wup=wcol=1/3。换句话说,例如,视频解码器30可将第一运动矢量的水平分量确定为特定子块的上面相邻块的运动矢量的水平分量乘以三分之一权重、特定子块的左相邻块的运动矢量的水平分量乘以三分之一权重,及经缩放运动矢量的水平分量乘以三分之一权重的总和。在此实例中,视频解码器30可将第一运动矢量的垂直分量确定为特定子块的上面相邻块的运动矢量的垂直分量乘以三分之一权重、特定子块的左相邻块的运动矢量的垂直分量乘以三分之一权重,及经缩放运动矢量的垂直分量乘以三分之一权重的总和。
类似地,例如,视频编码器20可将第一运动矢量的水平分量确定为特定子块的上面相邻块的运动矢量的水平分量乘以三分之一权重、特定子块的左相邻块的运动矢量的水平分量乘以三分之一权重,及经缩放运动矢量的水平分量乘以三分之一权重的总和。在此实例中,视频编码器20可将第一运动矢量的垂直分量确定为特定子块的上面相邻块的运动矢量的垂直分量乘以三分之一权重、特定子块的左相邻块的运动矢量的垂直分量乘以三分之一权重,及经缩放运动矢量的垂直分量乘以三分之一权重的总和。
类似地,子PU D的运动矢量可为E、A及G的运动矢量的组合。注意,来自右下相邻者的运动矢量可能不可用于当前PU。因此,使用并置运动矢量,即与参考帧在相同子PU位置处的运动矢量。换句话说,例如,视频解码器30可从位流获得规定与特定的子块的右下相邻块并置的参考图片的参考索引(例如,RefIdxPred)的一或多个语法元素。更具体地,例如,视频解码器30可将相应子块的相应参考图片列表(例如,RefPicListPred)确定为与所使用的预测方向不同。举例来说,视频解码器30可在视频编码器20用信号通知位流中的RefPicListSearch为参考列表‘0’(例如,“RefPicList0”)时将相应子块的相应参考图片列表(例如,RefPicListPred)确定为参考列表‘1’(例如,“RefPicList1”),且可在视频编码器20用信号通知位流中的RefPicListSearch为参考列表‘1’(例如,“RefPicList1”)时将相应子块的相应参考图片列表(例如,RefPicListPred)确定为参考列表‘0’(例如,“RefPicList0”)。在此实例中,视频解码器30可基于参考索引(例如,RefIdxPred)确定参考图片。举例来说,视频解码器30可确定相应子块的相应参考图片列表(例如,RefPicListPred)中的参考索引(例如,RefIdxPred)处的参考图片。
类似地,视频解码器20可在位流中用信号通知规定与特定的子块的右下相邻块并置的参考图片的参考索引(例如,RefIdxPred)的一或多个语法元素。更具体地,例如,视频编码器20可将相应子块的相应参考图片列表(例如,RefPicListPred)确定为与所使用的预测方向不同。在一些实例中,视频编码器20可确定相应子块的参考图片列表(例如,RefPicListPred)的每一参考图片的传输成本。在此实例中,视频编码器20可选择具有最低传输成本的相应子块的图片列表(例如,RefPicListPred)的参考图片。在一此实例中,视频编码器20可以不同方式选择相应子块的图片列表(例如,RefPicListPred)的参考图片。在任何状况下,视频编码器20可用信号通知参考图片的参考索引(例如,RefIdxPred),其指示相应的子块的图片列表(例如,RefPicListPred)中所选参考图片的位置。
视频解码器30可基于相应子块的经导出运动矢量及相应子块的经搜索运动矢量来生成用于相应子块的预测性块。举例来说,视频解码器30可基于相应子块的导出运动矢量确定第一样本阵列。例如,视频解码器30可通过将由相应子块的导出运动矢量指示的偏移应用于用于相应子块的导出运动矢量的参考图片来生成第一样本阵列。在此实例中,视频解码器30可基于由相应子块的搜索到的运动矢量指示的相应子块的参考图片中的位置处的样本来确定第二样本阵列。例如,视频解码器30可通过将由相应子块的所搜索运动矢量指示的偏移应用于用于相应子块的所搜索运动矢量的参考图片来生成第二样本阵列。在此实例中,视频解码器30可基于第一样本阵列及第二样本阵列生成用于相应子块的预测性块。例如,视频解码器30可将预测块生成为第一样本阵列及第二样本阵列的平均值。
视频解码器30可组合用于子块的预测性块以形成块的预测性块。用于译码单元的预测性块可包含块的预测性块。在此实例中,视频解码器30可确定译码单元的残留数据。在此实例中,视频解码器30可通过对残留数据的对应样本及译码单元的预测性块进行求和来重构译码单元的译码块。
类似地,视频编码器20可基于相应子块的经导出运动矢量及相应子块的经搜索运动矢量来生成用于相应子块的预测性块。举例来说,视频编码器20可基于相应子块的导出运动矢量确定第一样本阵列。例如,视频编码器20可通过将由相应子块的导出运动矢量指示的偏移应用于用于相应子块的导出运动矢量的参考图片来生成第一样本阵列。在此实例中,视频编码器20可基于由相应子块的搜索到的运动矢量指示的相应子块的参考图片中的位置处的样本来确定第二样本阵列。例如,视频编码器20可通过将由相应子块的所搜索运动矢量指示的偏移应用于用于相应子块的所搜索运动矢量的参考图片来生成第二样本阵列。在此实例中,视频编码器20可基于第一样本阵列及第二样本阵列生成用于相应子块的预测性块。例如,视频编码器20可将预测块生成为第一样本阵列及第二样本阵列的平均值。
视频编码器20可组合用于子块的预测性块以形成块的预测性块。用于译码单元的预测性块可包含块的预测性块。在此实例中,视频编码器20可确定译码单元的残留数据,使得残留数据指示译码单元的译码块与译码单元的预测块之间的差。在此实例中,视频编码器20可将用于译码单元的残留数据分割成一或多个变换块。在此实例中,视频编码器20可将变换应用于一或多个变换块以生成一或多个系数块。在此实例中,视频编码器20可量化一或多个系数块中的系数。
如图11中所说明,当预测子PUA的运动矢量时,可使用上文所描述的HEVC中的TMVP技术找到F处的并置运动矢量并将其缩放到当前RefIdx。
存在直接邻近运动矢量可能不可用的可能性,可应用运动矢量搜索,正如在Wei-Jung Chien、Xianglin Wang、Li Zhang、Hongbin Liu、Jianle Chen、Marta Karczewicz的美国公开案第2016/0366435号(美国申请案第15/176,790号)的“使用空间-时间运动信息的子PU运动矢量预测”中。可垂直搜索来自左相邻者的运动矢量,且可水平搜索来自上部相邻者的运动矢量预测。例如,如果MVB在预测MVA时不可用,那么搜索次序可为B->H->I->J。如果相邻运动矢量预测不可用,那么可将对应于此相邻者的权重设置为零。如果所有相邻运动矢量均不可用,那么可使用零运动。
当一些相邻运动矢量为双向的而其它运动矢量为单向的时,不同RefPicList中的权重可能不同。例如,如果MVB及MVF为双向的,但MVC为在RefPicList0中为单向,然后
wup=0在RefPicList0中但wup>0在RefPicList1中。
注意,即使相邻运动矢量中的参考图片可能不同,其可全部缩放到由当前PURefListPred给出的相同参考图片。
以下论述编码器中找到MvSearch的实例。对于PU,假设对应的预测运动场为MvPred=MV(RefPicListPred,RefIdxPred),其可包含多个子PU级运动矢量。通过RefPicListSearch及RefIdxSearch的单向运动补偿找到的运动矢量可用作RefPicListSearch的双向运动补偿中的搜索起始点。
本文中所描述的一或多种技术可检查RefPicListSearch中的每一参考图片,且最小成本配置可用作最终结果(最佳模式)。
此外,常规运动矢量预测也可应用于MvSearch。如果所提出的模式为其它模式中最好的模式,那么可能需要将所预测的MvSearch与真实的MvSearch之间的差(由MvDSearch表示)发射到解码器。
本文中所描述的一或多种技术可仅发射MvDSearch、RefPicListSearch、RefIdxSearch及RefIdxPred。
以下论述用信号通知。SubBi的用信号通知可以类似于单向运动补偿,因为仅发射一个运动矢量。不同之处在于,如果基于子PU的双向运动补偿与其它帧间预测方法相比具有最低成本,那么PU级旗标interSubBiFlag可经设置且与BestList及BestRefIdx一起用信号通知。还将用信号通知BestMv的运动矢量差(MVD)。用信号通知方案的两个实例展示在图12A到12B中。图12A的方案A更平衡。
在图12A的实例中,视频解码器30可从位流获得块级旗标及子块旗标。在此实例中,块级旗标具有值‘1’,其指示双向预测模式及子块双向预测模式,且子块旗标具有值‘1’,其指示子块双向预测模式。如图12A中所展示,块旗标及子块旗标‘1’对应于具有值‘111’的SubBi L11202及具有值‘110’的SubBi L01204。SubBi L11202及SubBi L01204识别参考图片的不同组合。举例来说,SubBi L11202可指示所导出的运动矢量使用来自参考列表‘0’的参考图片(例如,“RefPicList0”)且SubBi L01204可指示所导出的运动矢量使用来自参考列表‘1’的参考图片'(例如,“RefPicList0”)。在另一实例中,SubBi L01204可指示所导出的运动矢量使用来自参考列表‘0’的参考图片(例如,“RefPicList0”)且SubBiL11202可指示所导出的运动矢量使用来自参考列表‘1’的参考图片'(例如,“RefPicList0”)。在任何状况下,视频解码器30可导出相应第一运动矢量且响应于确定块级别旗标具有值‘1’且子块旗标具有值‘1’来确定第二运动矢量。举例来说,视频解码器30可响应于确定块级别旗标具有值‘1’且子块旗标具有值‘0’而执行双向预测模式。在另一实例中,视频解码器30可响应于确定块级别旗标具有值‘0’而执行单向预测模式。
类似地,视频编码器20可响应于确定子块双向预测模式具有比双向预测模式和单向预测模式更低的传输成本而在位流中用信号通知块级旗标具有值‘1’及子块旗标具有值‘1’。视频编码器20可响应于子块双向预测模式具有比双向预测模式及单向预测模式更低的传输成本而导出相应的第一运动矢量且确定第二运动矢量。
在图12B的实例中,视频解码器30可从位流获得块级旗标及子块旗标。在此实例中,块级旗标具有值‘0’,其指示单向预测模式及子块双向预测模式,且子块旗标具有值‘1’,其指示子块双向预测模式。如图12B中所展示,块旗标及子块旗标‘01’对应于具有值‘011’的SubBi L11212及具有值‘010’的SubBi L01214。SubBi L11212及SubBi L01214可识别参考图片的不同组合。举例来说,SubBi L11212可指示所导出的运动矢量使用来自参考列表‘0’的参考图片(例如,“RefPicList0”)且SubBi L01214可指示所导出的运动矢量使用来自参考列表‘1’的参考图片'(例如,“RefPicList0”)。在另一实例中,SubBi L01214可指示所导出的运动矢量使用来自参考列表‘0’的参考图片(例如,“RefPicList0”)且SubBiL11212可指示所导出的运动矢量使用来自参考列表‘1’的参考图片'(例如,“RefPicList0”)。在任何状况下,视频解码器30可导出相应第一运动矢量且响应于确定块级别旗标具有值‘0’且子块旗标具有值‘1’来确定第二运动矢量。例如,视频解码器30可响应于确定块级别旗标具有值‘1’而执行双向预测模式。在另一实例中,视频解码器30可响应于确定块级别旗标具有值‘0’且子块旗标具有值‘0’而执行单向预测模式。
类似地,视频编码器20可响应于确定子块双向预测模式具有比双向预测模式和单向预测模式更低的传输成本而在位流中用信号通知块级旗标具有值‘0’及子块旗标具有值‘1’。视频编码器20可响应于子块双向预测模式具有比双向预测模式及单向预测模式更低的传输成本而导出相应的第一运动矢量且确定第二运动矢量。
以下论述HM 16.6-KTA2的实施。以下论述HM 16.6-KTA2上的解码器。解码器将首先基于用信号通知方案A对预测模式进行解码。如图13中所展示,如果SubBiFlag为1,那么可使用单向运动MC解码来获得MvSearch、RefPicListSearch及RefIdxSearch。此外,RefIdxPred也经解码。然后RefPicListPred=1–RefPicListSearch。基于RefPicListPred及RefIdxPred,可如上文关于解码器中的RefPicListPred上的基于子pu的运动矢量预测所描述应用子PU级别运动矢量预测。来自MvSearch的帧间预测及来自运动场MvPred的预测可经组合以生成当前PU的最终运动补偿预测。
以下论述HM 16.6-KTA2上的编码器。图14中展示实施方案的实例。编码器可检查每一参考图片列表及参考索引,且最小成本配置将用作最终结果(最佳模式)。在初始化部分处,可从RefPicList0及RefIdx=0预测MvPred。对RefPicList1及RefIdx=0的单向预测可用作双向运动估计的起始点。可将双向运动估计成本与最佳成本进行比较,且存储最佳RefPicListSearch、RefIdxSearch及MvSearch。可测试RefPicList0及RefPicList1中的每一RefIdx。然后交换RefPicListPred及RefPicListSearch。且可应用相同搜索策略。
以下论述简化及替代方案。在子PU双向运动补偿中,可搜索每一参考pic列表及参考索引。因此,复杂性可能非常高。假设在列表0中存在M个参考图片且在列表1中存在N个参考图片,那么可存在总共2xMxN的双向运动补偿。此外,如果在CU中考虑非正方形PU的组合,那么对于预测方法(Uni、Bi、SubBi、ATMVP)的每一组合,可应用SubBi。
为了简化上述问题,实例为对每一SubBi搜索使用绝对变换差值的总和(SATD),而非使用全速率失真。
作为替代实例,如果PU为非正方形的,那么可不计算延迟组合。例如,当CU经分割成2N×N时,那么首先确定PU0的最佳帧间预测模式。然后,基于PU0的重建,可决定PU1的最佳帧间预测模式。
作为另一实例,为了进一步降低复杂度且还降低位率,可检查HM 16.6-KTA 2中的MvdL1ZeroFlag。如果此旗标为1,那么参考列表1中的运动矢量差可始终为(0,0)。在此状况下,将仅搜索参考pic列表1,且可不用信号通知MvSearch的运动矢量差。
图15是说明可实施本发明的技术的实例性视频编码器20的框图。图15是出于解释的目的而提供且不应认为是对本发明中广泛实例及描述的技术的限制。然而,本发明的技术可适用于各种译码标准或方法。
在图15的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残差生成单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重建单元112、滤波器单元114、解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元120可包含运动估计单元及运动补偿单元(未展示)。
视频数据存储器101可经配置以存储视频数据以由视频编码器20的组件进行编码。例如,可从视频源18获得存储在视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储参考视频数据供用于由视频编码器20(例如以帧内或帧间编码模式)编码视频数据的参考图片存储器。视频数据存储器101及经解码图片缓冲器116可由各种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器101及经解码图像缓冲器116可由相同存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器101可与视频编码器20的其它组件在芯片上,或相对于那些组件在芯片外。视频数据存储器101可与图1的存储媒体19相同或为其一部分。
视频编码器20接收视频数据。视频编码器20可将每一CTU编码在视频数据的图片的图块中。CTU中的每一者可与图片的大小相等的亮度译码树块(CTB)及对应的CTB相关联。作为对CTU进行编码的部分,预测处理单元100可执行分割以将CTU的CTB划分成逐渐变小的块。较小的块可为CU的译码块。例如,预测处理单元100可根据树结构分割与CTU相关联的CTB。
视频编码器20可编码CTU的CU以生成CU(即,经编码CU)的经编码表示。作为对CU进行编码的部分,预测处理单元100可在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大小的不对称分割。
帧间预测处理单元120可通过对CU的每一PU执行帧间预测来生成PU的预测数据。PU的预测数据可包含PU的预测块及PU的运动信息。帧间预测处理单元120可根据PU为在I图块、P图块还是B图块中来对CU的PU执行不同操作。在I图块中,所有PU均为帧内预测的。因此,如果PU在I图块中,那么帧间预测处理单元120不对PU执行帧间预测。因此,对于以I模式编码的块,使用来自同一帧内的先前编码的相邻块的空间预测来形成预测块。如果PU在P图块中,那么帧间预测处理单元120可使用单向帧间预测来生成PU的预测性块。如果PU在B图块中,那么帧间预测处理单元120可使用单向或双向帧间预测来生成PU的预测性块。
帧内预测处理单元126可通过对PU执行帧内预测来生成PU的预测数据。PU的预测数据可包含PU的预测块及各种语法元素。帧内预测处理单元126可对I图块、P图块及B图块中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来生成PU的多个预测数据集。帧内预测处理单元126可使用来自相邻PU的样本块的样本来生成PU的预测性块。假设PU、CU及CTU的从左到右,从上到下的编码次序,相邻PU可在PU的上方、上方及右侧,上方及左侧,或左侧。帧内预测处理单元126可使用各种数目的帧内预测模式,例如,33个方向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区域的大小。
预测处理单元100可从由帧间预测处理单元120针对PU生成的预测数据或由帧内预测处理单元126针对PU生成的预测数据中选择用于CU的PU的预测数据。在一些实例中,预测处理单元100基于预测数据集的速率/失真度量来选择CU的PU的预测数据。所选择预测数据的预测性块在本文中可称作为所选择预测块。
根据本发明的各种技术,预测处理单元100可执行用于基于子PU的双向运动补偿的一或多种技术。
残留生成单元102可基于CU的译码块(例如,亮度、Cb及Cr译码块)以及针对CU的PU的所选择的预测块(例如,预测亮度、Cb及Cr块)来生成CU的残留块(例如,亮度、Cb及Cr残留块)。举例来说,残留产生单元102可生成CU的残留块,使得残留块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选择预测性块中的对应样本之间的差的值。
变换处理单元104可执行四叉树分割以将与CU相关联的残留块分割成与CU的TU相关联的变换块。因此,TU可与亮度变换块及两个色度变换块相关联。CU的TU的亮度及色度变换块的大小及位置可或可不基于CU的PU的预测块的大小及位置。被称为
“残留四叉树”(RQT)的四叉树结构可包含与区域中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元104可通过将一或多个变换应用于TU的变换块来产生CU的每一TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、方向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104不将变换应用于变换块。在此实例中,变换块可被视为变换系数块。
量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的比特深度。例如,n位的变换系数可在量化期间经舍入到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值来量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可能会引起信息的丢失。因此,量化的变换系数可具有比原始系数低的准确度。
逆量化单元108及逆变换处理单元110可分别将逆量化及逆变换应用于系数块以从系数块重构残留块。重建单元112可将重构的残留块添加到来自由预测处理单元100生成的一或多个预测性块的对应样本以产生与TU相关联的经重构的变换块。通过以此方式针对CU的每一TU重建变换块,视频编码器20可重构CU的译码块。
滤波器单元114可执行一或多个解块操作以减少与CU相关联的译码块中的块伪影。经滤波的图片缓冲器116可在滤波器单元114对经重构的译码块执行一或多个解块操作之后存储经重构的译码块。帧间预测处理单元120可使用含有经重构的译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构译码块来对与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块且可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以生成熵编码数据。举例来说,熵编码单元118可执行CABAC操作,上下文自适应可变长度编码(CAVLC)操作,变量到变量(V2V)长度编码操作,基于语法的上下文自适应二进制算术编码(SBAC))操作,概率区间分区熵(PIPE)编码操作,指数哥伦布编码操作,或对数据的另一种类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的熵编码数据的位流。例如,位流可包含表示CU的变换系数的值的数据。
图16为说明经配置以实施本发明的技术的实例性视频解码器30的框图。图16是出于解释的目的而提供且不限制本发明中广泛例示及描述的技术。出于阐释的目的,本发明描述在HEVC编码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它编码标准或方法。
在图16的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重建单元158、滤波器单元160及经解码图像缓冲162。预测处理单元152包含运动补偿单元164及帧内预测处理单元166。在其它实例中,内容编码器30可包含更多、更少或不同的功能组件。
根据本发明的技术,预测处理单元150可执行用于基于子PU的双向运动补偿的一或多种技术。
视频数据存储器151可存储经编码视频数据,例如经编码视频位流,以由视频解码器30的组件解码。可经由视频数据的有线或无线网路通信或通过存取实体数据存储媒体(例如)从计算机可读媒体16(例如,来自本地视频源(例如相机))获得存储在视频数据存储器151中的视频数据。视频数据存储器151可形成经编码图像缓冲器(CPB),其存储来自经编码视频位流的经编码视频数据。经解码图片缓冲器162可为存储参考视频数据供用于由视频解码器30(例如以帧内或帧间编码模式)解码视频数据的参考图片存储器,或用于输出。视频数据存储器151及经解码图片缓冲器162可由各种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器151及经解码图像缓冲器162可由相同存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器151可与视频编码器30的其它组件在芯片上,或相对于那些组件在芯片外。视频数据存储器151可与图1的存储媒体28相同或为其一部分。
视频数据存储器151可接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从视频数据存储器151接收经编码视频数据(例如,NAL单元)且可解析NAL单元以获得语法元素。熵解码单元150可对NAL单元中的经熵编码的语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158及滤波器单元160可基于从位流提取的语法元素生成经解码的视频数据。熵解码单元150可执行通常与熵编码单元118的处理互逆的处理。
除了从位流获得语法元素外,视频解码器30可对未经分割的CU执行重构操作。为了对CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重建操作,视频解码器30可重构CU的残留块。
作为对CU的TU执行重构操作的部分,反量化单元154可反量化(即,反量化)与TU相关联的系数块。在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便生成与TU相关联的残留块。举例来说,逆变换处理单元156可将逆DCT、逆整数变换、逆Karhunen-Loeve变换(KLT)、逆旋转变换、逆向变换或另一逆变换应用于系数块。
逆量化单元154可执行本发明的特定技术。例如,对于视频数据的图片的CTU的CTB内的多个量化组中的至少一个相应量化组,逆量化单元154可至少部分地基于在位流中用信号通知的本地量化信息来导出相应量化组的相应量化参数。另外,在此实例中,逆量化单元154可基于用于相应量化组的相应量化参数对CTU的CU的TU的变换块的至少一个变换系数进行逆量化。在此实例中,相应量化组经定义为按编码次序、CU或译码块的连续组,使得相应量化组的边界必须为CU或译码块的边界,且相应量化组的大小大于或等于阈值。视频解码器30(例如,逆变换处理单元156、重建单元158及滤波器单元160)可基于变换块的经反量化变换系数来重构CU的译码块。
如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以生成PU的预测性块。帧内预测处理单元166可使用帧内预测模式来基于样本空间相邻块来生成PU的预测性块。帧内预测处理单元166可基于从位流获得的一或多个语法元素来确定PU的帧内预测模式。
如果使用帧间预测对PU进行编码,那么熵解码单元150可确定PU的运动信息。运动补偿单元164可基于PU的运动信息确定一或多个参考块。运动补偿单元164可基于一或多个参考块生成PU的预测性块(例如,预测性亮度、Cb及Cr块)。
重建单元158可使用用于CU的TU的变换块(例如,亮度、Cb及Cr变换块)及CU的PU的预测块(例如,亮度、Cb及Cr块),即,帧内预测数据或帧间预测数据(如果适用)以重建CU的译码块(例如,亮度、Cb及Cr译码块)。举例来说,重建单元158可将变换块(例如,亮度、Cb及Cr变换块)的样本添加到预测性块(例如,亮度、Cb及Cr预测性块)的对应样本以重构CU的译码块(例如,亮度、Cb及Cr译码块)。
滤波器单元160可执行解块操作以减少与CU的译码块相关联的块伪影。视频解码器30可将CU的译码块存储在经解码图片缓冲器162中。经解码图片缓冲器162可提供用于后续运动补偿、帧内预测以及在例如图1的显示装置32的显示装置上的呈现的参考图片。举例来说,视频解码器30可基于经解码图片缓冲器162中的块来执行其它CU的PU的帧内预测或帧间预测操作。
图17为说明可实施本发明中所描述的一或多个技术的示范性视频数据解码的流程图。如所描述,图17的实例性技术可由视频解码器30执行。在图17的实例中,视频解码器(例如,视频解码器30)将视频数据的图片的块分割成多个子块(1702)。视频解码器对于多个子块中的每一相应子块,基于关于与相应子块相邻的至少两个块的运动信息,导出相应子块的相应第一运动矢量(1704)。例如,视频解码器30可将特定子块的第一运动矢量确定为特定子块的上面相邻块的运动矢量,特定子块的左侧相邻块的运动矢量,以及与用于特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和。
视频解码器针对多个子块中的每一相应子块,基于在位流中用信号通知的相应子块的相应运动矢量差,确定用于相应子块的第二运动矢量(1706)。例如,视频解码器30可针对多个子块中的每一相应子块,从由源装置12用信号通知的位流获得参考图片列表指示符(例如,RefPicListSearch)用于相应子块及用于相应子块的参考索引(例如,RefIdxSearch)。在此实例中,视频解码器30可将用于定位在参考图片列表指示符(例如,RefPicListSearch)中的参考索引(例如,RefIdxSearch)处的参考图片的运动矢量的水平分量及垂直分量分别与在由源装置12输出的位流中的相应子块的相应运动矢量差(MvDSearch)的水平分量及垂直分量组合以确定相应子块的第二运动矢量。
所述视频解码器基于所述相应子块的所述第一运动矢量及所述相应子块的所述第二运动矢量而生成用于所述相应子块的预测性块(1708)。例如,视频解码器30可通过将由相应子块的第一运动矢量指示的偏移应用于用于相应子块的第一运动矢量的参考图片来生成第一样本阵列。在此实例中,视频解码器30可通过将由相应子块的所搜索运动矢量指示的偏移应用于用于相应子块的所搜索运动矢量的参考图片来生成第二样本阵列。在此实例中,视频解码器30可生成预测性块,使得预测性块中的每一样本为第一样本阵列及第二样本阵列中的对应样本的平均值。
图18为说明可实施本发明中所描述的一或多个技术的示范性视频数据编码的流程图。如描述,图18的实例技术可由视频编码器20执行。在图18的实例中,视频编码器(例如,视频编码器20)将视频数据的图片的块分割成多个子块(1802)。
视频编码器对于多个子块中的每一相应子块,基于关于与相应子块相邻的至少两个块的运动信息,导出相应子块的相应第一运动矢量(1804)。例如,视频编码器20可将特定子块的第一运动矢量确定为特定子块的上面相邻块的运动矢量,特定子块的左侧相邻块的运动矢量,以及与用于特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和。
视频编码器针对多个子块中的每个相应子块,基于用于相应子块的译码块,确定用于相应子块的第二运动矢量,其对应于用于相应子块的参考图片的运动矢量(1806)。例如,视频编码器20可针对多个子块中的每个相应子块选择参考图片,使得使用用于所选择参考图片的运动矢量来解码子块产生用于从子块的所得预测值块解码子块的最低成本。
视频编码器针对多个子块中的每一相应子块,基于相应子块的译码块与相应子块的第二运动矢量之间的差,确定相应子块的相应运动矢量差(1808)。例如,视频编码器20可生成相应运动矢量差(例如,MvDSearch),其包含为参考图片的运动矢量及相应子块的运动矢量的水平分量及垂直分量分别与垂直分量之间的差的水平分量及垂直分量。
视频编码器针对多个子块中的每一相应子块,用信号通知位流中的相应子块的相应运动矢量差(1810)。例如,视频编码器20可用信号通知位流中的相应子块的相应运动矢量差(例如,MvDSearch)。尽管在图18中未说明,视频编码器20可针对多个子块中的每一相应子块在位流中用信号通知用于相应子块的参考图片列表指示符(例如,RefPicListSearch)及用于相应子块的参考索引(例如,RefIdxSearch)。
视频编码器针对多个子块中的每一相应子块,基于相应子块的第一运动矢量及相应子块的第二运动矢量而生成用于相应子块的预测块(1812)。例如,视频编码器20可通过将由相应子块的第一运动矢量指示的偏移应用于用于相应子块的第一运动矢量的参考图片来生成第一样本阵列。在此实例中,视频编码器20可通过将由相应子块的第二运动矢量指示的偏移应用于用于相应子块的第二运动矢量的参考图片来生成第二样本阵列。在此实例中,视频编码器20可生成预测性块,使得预测性块中的每一样本为第一样本阵列及第二样本阵列中的对应样本的平均值。
出于说明的目的,已关于HEVC标准的扩展描述本发明的某些方面。然而,本发明中所描述的技术可用于其它视频编码过程,包含尚未开发的其它标准或专有视频编码过程。
如在本发明中所描述,视频编码器可指代视频编码器或视频解码器。类似地,视频译码单元可指代视频编码器或视频解码器。同样地,视频编码可指代适用时的视频编码或视频解码。在本发明中,短语“基于”可指示仅基于、至少部分地基于或以某种方式基于来指示。本发明可使用术语“视频单元”或“视频块”或“块”来指代用于译码一或多个样本块的样本的一或多个样本块和语法结构。视频单元的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些上下文中,PU的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树块,译码块和其它类型的视频数据块。
应认识到,取决于实例,本文中所描述的诸技术中的任一者的特定动作或事件可以不同顺序执行,可经添加、合并或完全省去(例如,并非所有所描述动作或事件为实践技术所必需的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多处理器同时地而非依序地执行动作或事件。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射且由基于硬件处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体,或包含促进(例如)根据通信协议将计算机程序自一个位置传送到另一位置的任一媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例的方式且非限制性,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光学磁盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于以指令或数据结构的形式存储所要代码且可由计算机存取的其它媒体。此外,可将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射指令,那么所述同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术皆包含于媒体的定义中。然而,应理解计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,但替代地是针对非暂时性、有形存储媒体。如本文中所使用,磁盘及光盘包含光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。上述各项的组合还应包括在计算机可读媒体的范围内。
指令可由固定功能及/或可编程处理电路执行,包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供在经配置以用于编码及解码或并入于组合式编解码器中的专用硬件及/或软件模块内。此外,技术可以一或多个电路或逻辑元件来完全实施。
本发明的技术可以广泛各种装置或装备(包含无线手机、集成电路(IC)或IC组(例如,芯片组))实施。各种组件、模块或单元在本发明中经描述以强调经配置以执行所揭示技术的装置的功能方面,而未必需要由不同硬件单元实现。确切来说,如上文所描述,各种单元可以编解码硬件单元组合或通过交互操作硬件单元(包含如上文所描述的一或多个处理器)的集合结合适合软件及/或固件提供。
已描述各种实例。这些及其它实例在以下权利要求书的范围内。
Claims (26)
1.一种解码视频数据的方法,所述方法包括:
将所述视频数据的图片的块分割成多个子块;及对于所述多个子块中的每一相应子块:
基于关于与所述相应子块相邻的至少两个块的运动信息,导出所述相应子块的相应第一运动矢量,其中,对于所述多个子块中的特定子块,导出所述特定子块的所述第一运动矢量包括将所述特定子块的所述第一运动矢量确定为所述特定子块的上面相邻块的运动矢量、所述特定子块的左相邻块的运动矢量,以及与所述特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和;
基于在位流中用信号通知的所述相应子块的相应运动矢量差,确定用于所述相应子块的第二运动矢量;及
基于所述相应子块的所述第一运动矢量及所述相应子块的所述第二运动矢量,生成用于所述相应子块的预测块。
2.根据权利要求1所述的方法,其中确定所述特定子块的所述第一运动矢量包括:将所述第一运动矢量的水平分量确定为所述特定子块的所述上面相邻块的所述
运动矢量的水平分量乘以三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的水平分量乘以所述三分之一权重,及所述经缩放运动矢量的水平分量乘以所述三分之一权重的总和;及
将所述第一运动矢量的垂直分量确定为所述特定子块的所述上面相邻块的所述运动矢量的垂直分量乘以所述三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的垂直分量乘以所述三分之一权重,及所述经缩放运动矢量的垂直分量乘以所述三分之一权重的总和。
3.根据权利要求1所述的方法,其中对于所述多个子块中的所述特定子块,所述方法进一步包括:
从所述位流获得一或多个语法元素,所述语法元素规定用于与所述特定子块的所述右下相邻块并置的所述参考图片的参考索引;及
基于所述参考索引确定所述参考图片。
4.根据权利要求1所述的方法,其中对于所述多个子块中的每一相应子块,所述方法进一步包括:
从所述位流获得所述相应子块的参考图片列表指示符及所述相应子块的参考索引,
所述相应子块的所述参考图片列表指示符指示所述相应子块的相应参考图片列表,
所述相应子块的所述参考索引指示所述相应子块的所述参考图片列表中的所述相应子块的参考图片;及
为所述相应子块生成所述预测块包括:
基于所述相应子块的所述第一运动矢量,确定第一样本阵列;
基于由所述相应子块的所述第二运动矢量指示的所述相应子块的所述参考图片中的位置处的样本,确定第二样本阵列;及
基于所述第一样本阵列及所述第二样本阵列,生成所述相应子块的所述预测块。
5.根据权利要求1所述的方法,其中对于所述多个子块中的每一相应子块,所述方法进一步包括:
从所述位流中获得块级旗标及子块旗标,
所述块级旗标具有值‘1’,指示双向预测模式及子块双向预测模式,及所述子块旗标具有值‘1’,指示所述子块双向预测模式,
其中导出所述相应的第一运动矢量及确定所述第二运动矢量是响应于确定所述块级旗标具有值“1”且所述子块旗标具有值“1”。
6.根据权利要求1所述的方法,其中对于所述多个子块中的每一相应子块,所述方法进一步包括:
从所述位流中获得块级旗标及子块旗标,
所述块级旗标具有值‘0’,指示单向预测模式及子块双向预测模式,以及所述子块旗标具有值‘1’,指示所述子块双向预测模式,
其中导出所述相应的第一运动矢量及确定所述第二运动矢量是响应于确定所述块级旗标具有值‘0’且所述子块旗标具有值‘1’。
7.根据权利要求1所述的方法,其进一步包括:
组合用于所述子块的所述预测块以形成所述块的预测块,其中用于译码单元的预测块包括所述块的所述预测块;
确定关于所述译码单元的残留数据;及
通过对所述译码单元的所述残留数据及所述预测块的对应样本求和来重构所述译码单元的译码块。
8.一种对视频数据进行编码的方法,所述方法包括:将所述视频数据的图片的块分割成多个子块;及对于所述多个子块中的每一相应子块:
基于关于与所述相应子块相邻的至少两个块的运动信息,导出所述相应子块的相应第一运动矢量,其中,对于所述多个子块中的特定子块,导出所述特定子块的所述第一运动矢量包括将所述特定子块的所述第一运动矢量确定为所述特定子块的上面相邻块的运动矢量、所述特定子块的左相邻块的运动矢量,以及与所述特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和;
基于所述相应子块的译码块,确定用于所述相应子块的第二运动矢量,所述第二运动矢量对应于用于所述相应子块的参考图片的运动矢量;
基于所述相应子块的所述译码块与所述相应子块的所述第二运动矢量之间的差,确定所述相应子块的相应运动矢量差;
用信号通知位流中所述相应子块的所述相应运动矢量差;及
基于所述相应子块的所述第一运动矢量及所述相应子块的所述第二运动矢量,生成用于所述相应子块的预测块。
9.根据权利要求8所述的方法,其中确定所述特定子块的所述第一运动矢量包括:
将所述第一运动矢量的水平分量确定为所述特定子块的所述上面相邻块的所述运动矢量的水平分量乘以三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的水平分量乘以所述三分之一权重,及所述经缩放运动矢量的水平分量乘以所述三分之一权重的总和;以及
将所述第一运动矢量的垂直分量确定为所述特定子块的所述上面相邻块的所述运动矢量的垂直分量乘以所述三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的垂直分量乘以所述三分之一权重,及所述经缩放运动矢量的垂直分量乘以所述三分之一权重的总和。
10.根据权利要求8所述的方法,其中对于所述多个子块中的所述特定子块,所述方法进一步包括:
在所述位流中用信号通知一或多个语法元素,所述语法元素规定用于与所述特定子块的所述右下相邻块并置的所述参考图片的参考索引。
11.根据权利要求8所述的方法,其中对于所述多个子块中的每一相应子块,所述方法进一步包括:
在所述位流中用信号通知所述相应子块的参考图片列表指示符及所述相应子块的参考索引,
所述相应子块的所述参考图片列表指示符指示所述相应子块的相应参考图片列表,
所述相应子块的所述参考索引指示所述相应子块的所述参考图片列表中的所述相应子块的所述参考图片;及
为所述相应子块生成所述预测块包括:
基于所述相应子块的所述第一运动矢量,确定第一样本阵列;
基于由所述相应子块的所述第二运动矢量指示的所述相应子块的所述参考图片中的位置处的样本,确定第二样本阵列;及
基于所述第一样本阵列及所述第二样本阵列,生成所述相应子块的所述预测块。
12.根据权利要求8所述的方法,其中对于所述多个子块中的每一相应子块,所述方法进一步包括:
响应于确定子块双向预测模式具有比双向预测模式及单向预测模式低的传输成本而在所述位流中用信号通知块级旗标具有值‘1’且子块旗标具有值‘1’,
所述块级旗标具有值‘1’指示所述双向预测模式及所述子块双向预测模式,以及
所述子块旗标具有值‘1’指示所述子块双向预测模式,
其中导出所述相应第一运动矢量及确定所述第二运动矢量是响应于确定所述子块双向预测模式具有比所述双向预测模式及所述单向预测模式低的传输成本而进行。
13.根据权利要求8所述的方法,其中对于所述多个子块中的每一相应子块,所述方法进一步包括:
响应于确定子块双向预测模式具有比双向预测模式及单向预测模式低的传输成本而在所述位流中用信号通知块级旗标具有值‘0’且子块旗标具有值‘1’,
所述块级旗标具有值‘0’指示所述单向预测模式及所述子块双向预测模式,以及
所述子块旗标具有值‘1’指示所述子块双向预测模式,
其中导出所述相应第一运动矢量及确定所述第二运动矢量是响应于确定所述子块双向预测模式具有比所述双向预测模式及所述双向预测模式低的传输成本而进行。
14.根据权利要求8所述方法,其进一步包括:
组合用于所述子块的所述预测块以形成所述块的预测块,其中用于译码单元的预测块包括所述块的所述预测块;
确定所述译码单元的残留数据,使得所述残留数据指示所述译码单元的译码块与所述译码单元的所述预测块之间的差;
将所述译码单元的所述残留数据分割成一或多个变换块;
将变换应用于所述一或多个变换块以生成一或多个系数块;及量化所述一或多个系数块中的系数。
15.一种用于解码视频数据的设备,其包括:
一或多个存储媒体,其经配置以存储视频数据;及
一或多个处理器,其经配置以:
将所述视频数据的图像的块分割成多个子块;及对于所述多个子块中的每一相应子块:
基于关于与所述相应子块相邻的至少两个块的运动信息,导出所述相应子块的相应第一运动矢量,其中对于所述多个子块中的特定子块,为了导出所述特定子块的所述第一运动矢量,所述一或多个处理器经配置以将所述特定子块的所述第一运动矢量确定为所述特定子块的上面相邻块的运动矢量、所述特定子块的左相邻块的运动矢量,以及与所述特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和;
基于在位流中用信号通知的所述相应子块的相应运动矢量差,确定用于所述相应子块的第二运动矢量;及
基于所述相应子块的所述第一运动矢量及所述相应子块的所述第二运动矢量,生成用于所述相应子块的预测块。
16.根据权利要求15所述的设备,其中为了确定所述特定子块的第一运动矢量,所述一或多个处理器经配置以:
将所述第一运动矢量的水平分量确定为所述特定子块的所述上面相邻块的所述运动矢量的水平分量乘以三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的水平分量乘以所述三分之一权重,及所述经缩放运动矢量的水平分量乘以所述三分之一权重的总和;及
将所述第一运动矢量的垂直分量确定为所述特定子块的所述上面相邻块的所述运动矢量的垂直分量乘以所述三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的垂直分量乘以所述三分之一权重,及所述经缩放运动矢量的垂直分量乘以所述三分之一权重的总和。
17.根据权利要求15所述的设备,其中,对于所述多个子块中的所述特定子块,所述一或多个处理器经进一步配置以:
从所述位流获得一或多个语法元素,所述语法元素规定用于与所述特定子块的所述右下相邻块并置的所述参考图片的参考索引;及
基于所述参考索引确定所述参考图片。
18.根据权利要求15所述的设备,其中,对于所述多个子块中的所述特定子块,所述一或多个处理器经进一步配置以:
从所述位流获得所述相应子块的参考图片列表指示符及所述相应子块的参考索引,
所述相应子块的所述参考图片列表指示符指示所述相应子块的相应参考图片列表,
所述相应子块的所述参考索引指示所述相应子块的所述参考图片列表中的所述相应子块的参考图片;及
其中为了生成所述相应子块的所述预测块,所述一或多个处理器经配置以:基于所述相应子块的所述第一运动矢量,确定第一样本阵列;
基于由所述相应子块的所述第二运动矢量指示的所述相应子块的所述参考图片中的位置处的样本,确定第二样本阵列;及
基于所述第一样本阵列及所述第二样本阵列,生成所述相应子块的所述预测块。
19.根据权利要求15所述的设备,其中,对于所述多个子块中的所述特定子块,所述一或多个处理器经进一步配置以:
从所述位流获得块级旗标及子块旗标,所述块级旗标具有指示双向预测模式及子块双向预测模式的值‘1’,以及所述子块旗标具有指示所述子块双向预测模式的值‘1’,
其中所述一或多个处理器经配置以导出所述相应第一运动矢量且响应于确定所述块级旗标具有值‘1’且所述子块旗标具有值‘1’来确定所述第二运动矢量。
20.根据权利要求15所述的设备,其中对于所述多个子块中的每一相应子块,所述一或多个处理器经进一步配置以:
从所述位流获得块级旗标及子块旗标,所述块级旗标具有指示单向预测模式及子块双向预测模式的值‘0’,以及所述子块旗标具有指示所述子块双向预测模式的值‘1’,
其中所述一或多个处理器经配置以导出所述相应第一运动矢量且响应于确定所述块级旗标具有值‘0’且所述子块旗标具有值‘1’来确定所述第二运动矢量。
21.根据权利要求15所述的设备,其中对于所述多个子块中的每一相应子块,所述一或多个处理器经进一步配置以:
组合用于所述子块的所述预测块以形成所述块的预测块,其中用于译码单元的预测块包括所述块的所述预测块;
确定关于所述译码单元的残留数据;及
通过对所述译码单元的所述残留数据及所述预测块的对应样本求和来重构所述译码单元的译码块。
22.根据权利要求15所述的设备,其中所述设备包括相机、计算机、移动装置、广播接收器装置或机顶盒中的一或多者。
23.根据权利要求15所述的设备,其中所述设备包括以下中的至少一者:集成电路;
微处理器;或无线通信装置。
24.一种用于编码视频数据的设备,其包括:
一或多个存储媒体,其经配置以存储视频数据;及一或多个处理器,其经配置以:
将所述视频数据的图像的块分割成多个子块;及对于所述多个子块中的每一相应子块:
基于关于与所述相应子块相邻的至少两个块的运动信息,导出所述相应子块的相应第一运动矢量,其中对于所述多个子块中的特定子块,为了导出所述特定子块的所述第一运动矢量,所述一或多个处理器经配置以将所述特定子块的所述第一运动矢量确定为所述特定子块的上面相邻块的运动矢量、所述特定子块的左相邻块的运动矢量,以及与所述特定子块的右下相邻块并置的参考图片的块的运动矢量的经缩放运动矢量的加权和;
基于所述相应子块的译码块,确定用于所述相应子块的第二运动矢量,所述第二运动矢量对应于用于所述相应子块的参考图片的运动矢量;
基于所述相应子块的所述译码块与所述相应子块的所述第二运动矢量之间的差,确定所述相应子块的相应运动矢量差;
在位流中用信号通知所述相应子块的所述相应运动矢量差;及
基于所述相应子块的所述第一运动矢量及所述相应子块的所述第二运动矢量,生成用于所述相应子块的预测块。
25.根据权利要求24所述的设备,其中为了确定所述特定子块的第一运动矢量,所述一或多个处理器经配置以:
将所述第一运动矢量的水平分量确定为所述特定子块的所述上面相邻块的所述运动矢量的水平分量乘以三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的水平分量乘以所述三分之一权重,及所述经缩放运动矢量的水平分量乘以所述三分之一权重的总和;及
将所述第一运动矢量的垂直分量确定为所述特定子块的所述上面相邻块的所述运动矢量的垂直分量乘以所述三分之一权重、所述特定子块的所述左相邻块的所述运动矢量的垂直分量乘以所述三分之一权重,及所述经缩放运动矢量的垂直分量乘以所述三分之一权重的总和。
26.根据权利要求24所述的设备,其中所述一或多个处理器经配置以:
在所述位流中用信号通知一或多个语法元素,所述语法元素规定用于与所述特定子块的所述右下相邻块并置的所述参考图片的参考索引。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662384509P | 2016-09-07 | 2016-09-07 | |
US62/384,509 | 2016-09-07 | ||
US15/696,727 US10477238B2 (en) | 2016-09-07 | 2017-09-06 | Sub-PU based bi-directional motion compensation in video coding |
US15/696,727 | 2017-09-06 | ||
PCT/US2017/050502 WO2018049043A1 (en) | 2016-09-07 | 2017-09-07 | Sub-pu based bi-directional motion compensation in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109891890A CN109891890A (zh) | 2019-06-14 |
CN109891890B true CN109891890B (zh) | 2023-06-16 |
Family
ID=61282174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780052813.7A Active CN109891890B (zh) | 2016-09-07 | 2017-09-07 | 用于解码视频数据的方法、编码视频数据的方法及相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10477238B2 (zh) |
EP (1) | EP3510779A1 (zh) |
CN (1) | CN109891890B (zh) |
WO (1) | WO2018049043A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107809642B (zh) * | 2015-02-16 | 2020-06-16 | 华为技术有限公司 | 用于视频图像编码和解码的方法、编码设备和解码设备 |
US10110914B1 (en) * | 2016-09-15 | 2018-10-23 | Google Llc | Locally adaptive warped motion compensation in video coding |
CN110140355B (zh) * | 2016-12-27 | 2022-03-08 | 联发科技股份有限公司 | 用于视频编解码的双向模板运动向量微调的方法及装置 |
CN110651476B (zh) | 2017-03-17 | 2023-12-01 | Vid拓展公司 | 基于几何图形填充的用于360度视频的预测编码 |
US11277635B2 (en) * | 2017-03-17 | 2022-03-15 | Vid Scale, Inc. | Predictive coding for 360-degree video based on geometry padding |
US11425418B2 (en) * | 2017-11-01 | 2022-08-23 | Vid Scale, Inc. | Overlapped block motion compensation |
BR112020018716A2 (pt) * | 2018-03-19 | 2020-12-29 | Qualcomm Incorporated | Aperfeiçoamentos em predição de vetor de movimento temporal avançado |
CN118200541A (zh) | 2018-04-01 | 2024-06-14 | Lg电子株式会社 | 图像编码/解码设备、数据的发送设备以及存储介质 |
CN111971958B (zh) * | 2018-04-18 | 2023-01-13 | 华为技术有限公司 | 视频编码中的块分割方法和设备 |
EP3831062A4 (en) * | 2018-08-17 | 2022-07-06 | HFI Innovation Inc. | SIMPLIFIED SUBMODE METHOD AND APPARATUS FOR VIDEO CODING |
CN111083484B (zh) * | 2018-10-22 | 2024-06-28 | 北京字节跳动网络技术有限公司 | 基于子块的预测 |
WO2020084473A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Multi- iteration motion vector refinement |
WO2020084552A1 (en) * | 2018-10-24 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate derivation based on spatial neighboring block in sub-block motion vector prediction |
WO2020089823A1 (en) | 2018-10-31 | 2020-05-07 | Beijing Bytedance Network Technology Co., Ltd. | Overlapped block motion compensation with adaptive sub-block size |
JP7277579B2 (ja) | 2018-11-02 | 2023-05-19 | 北京字節跳動網絡技術有限公司 | Hmvp候補記憶装置のための表の保守 |
CN113170174B (zh) | 2018-11-30 | 2024-04-12 | 寰发股份有限公司 | 视频编码***中用于决定储存用运动向量的视频处理方法和装置 |
CN117915081A (zh) | 2019-01-02 | 2024-04-19 | 北京字节跳动网络技术有限公司 | 视频处理的方法 |
US11889099B2 (en) | 2019-03-05 | 2024-01-30 | Hfi Innovation Inc. | Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems |
US11166015B2 (en) * | 2019-03-06 | 2021-11-02 | Tencent America LLC | Method and apparatus for video coding |
CN110460859B (zh) * | 2019-08-21 | 2022-03-25 | 浙江大华技术股份有限公司 | 历史运动矢量列表的使用方法、编解码器及存储装置 |
CN112135137B (zh) * | 2019-06-25 | 2024-04-09 | 华为技术有限公司 | 视频编码器、视频解码器及相应方法 |
JP7323710B2 (ja) * | 2019-09-13 | 2023-08-08 | 北京字節跳動網絡技術有限公司 | 映像符号化における重み付けサンプルの双予測 |
CN110691253B (zh) * | 2019-10-17 | 2022-03-01 | 北京大学深圳研究生院 | 一种基于帧间预测的编解码方法及装置 |
US11968356B2 (en) * | 2022-03-16 | 2024-04-23 | Qualcomm Incorporated | Decoder-side motion vector refinement (DMVR) inter prediction using shared interpolation filters and reference pixels |
CN114898577B (zh) * | 2022-07-13 | 2022-09-20 | 环球数科集团有限公司 | 一种用于高峰期道路管理的道路智能管理***与方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581972A (zh) * | 2004-05-20 | 2005-02-16 | 复旦大学 | 一种隐藏错误的视频译码方法 |
CN103370940A (zh) * | 2010-12-14 | 2013-10-23 | 吴秀美 | 帧间预测编码的运动画面的解码方法 |
CN104170381A (zh) * | 2012-03-16 | 2014-11-26 | 高通股份有限公司 | 在高效率视频译码及其扩展中的运动矢量译码及双向预测 |
CN105144719A (zh) * | 2012-12-28 | 2015-12-09 | 高通股份有限公司 | 使用一般化残差预测对视频信息进行可缩放及多视图/3d译码的装置及方法 |
WO2016078511A1 (en) * | 2014-11-18 | 2016-05-26 | Mediatek Inc. | Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5883431B2 (ja) * | 2011-02-25 | 2016-03-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法および画像復号化方法 |
US9491459B2 (en) * | 2012-09-27 | 2016-11-08 | Qualcomm Incorporated | Base layer merge and AMVP modes for video coding |
AP2015008369A0 (en) | 2013-04-15 | 2015-04-30 | Sunsho Pharmaceutical Co Ltd | Disintegrable capsule, manufacturing method for same, and smoking device containing said disintegrable capsule |
US9762927B2 (en) | 2013-09-26 | 2017-09-12 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
JP2015173404A (ja) * | 2014-03-12 | 2015-10-01 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
GB201409634D0 (en) * | 2014-05-30 | 2014-07-16 | Canon Kk | Intra block copy mode encoding choice |
US11477477B2 (en) | 2015-01-26 | 2022-10-18 | Qualcomm Incorporated | Sub-prediction unit based advanced temporal motion vector prediction |
US10271064B2 (en) | 2015-06-11 | 2019-04-23 | Qualcomm Incorporated | Sub-prediction unit motion vector prediction using spatial and/or temporal motion information |
-
2017
- 2017-09-06 US US15/696,727 patent/US10477238B2/en active Active
- 2017-09-07 CN CN201780052813.7A patent/CN109891890B/zh active Active
- 2017-09-07 WO PCT/US2017/050502 patent/WO2018049043A1/en unknown
- 2017-09-07 EP EP17768615.1A patent/EP3510779A1/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581972A (zh) * | 2004-05-20 | 2005-02-16 | 复旦大学 | 一种隐藏错误的视频译码方法 |
CN103370940A (zh) * | 2010-12-14 | 2013-10-23 | 吴秀美 | 帧间预测编码的运动画面的解码方法 |
CN104170381A (zh) * | 2012-03-16 | 2014-11-26 | 高通股份有限公司 | 在高效率视频译码及其扩展中的运动矢量译码及双向预测 |
CN105144719A (zh) * | 2012-12-28 | 2015-12-09 | 高通股份有限公司 | 使用一般化残差预测对视频信息进行可缩放及多视图/3d译码的装置及方法 |
WO2016078511A1 (en) * | 2014-11-18 | 2016-05-26 | Mediatek Inc. | Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate |
CN107113424A (zh) * | 2014-11-18 | 2017-08-29 | 联发科技股份有限公司 | 基于来自单向预测的运动矢量和合并候选的双向预测视频编码方法 |
Non-Patent Citations (2)
Title |
---|
Algorithm Description of Joint Exploration Test Model 3;Jianle Chen;《Joint Video Exploration Team》;20160602;第2.3.1.2部分 * |
高效视频编码;沈燕飞等;《计算机学报》;20131115(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018049043A1 (en) | 2018-03-15 |
US20180070105A1 (en) | 2018-03-08 |
CN109891890A (zh) | 2019-06-14 |
US10477238B2 (en) | 2019-11-12 |
EP3510779A1 (en) | 2019-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109891890B (zh) | 用于解码视频数据的方法、编码视频数据的方法及相关设备 | |
CN110771164B (zh) | 视频译码中的帧间预测与帧内预测的组合 | |
CN109644272B (zh) | 用于建构候选列表的几何型优先级 | |
JP6585200B2 (ja) | ビデオコード化における視差ベクトル予測 | |
CN109691106B (zh) | 一种对视频数据进行编解码的方法、装置及计算机可读存储介质 | |
CN111316648B (zh) | 视频译码中的仿射运动向量预测 | |
CN110024403B (zh) | 一种编解码视频数据的方法、装置和计算机可读存储媒体 | |
CN107690809B (zh) | 使用空间及/或时间运动信息的子预测单元运动向量预测 | |
JP7229774B2 (ja) | ビデオコーディングのための動きベクトル予測のためのマージ候補 | |
JP6258288B2 (ja) | 高効率ビデオコーディングのためのハイレベルシンタックスの拡張 | |
US20190208211A1 (en) | Generated affine motion vectors | |
CN111869217B (zh) | 简化的局部照度补偿 | |
WO2019140189A1 (en) | Affine motion compensation with low bandwidth | |
US9693077B2 (en) | Controlling sub prediction unit (sub-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding | |
WO2014100610A1 (en) | Constraints on neighboring block based disparity vector (nbdv) techniques for 3d video | |
EP3891988A1 (en) | Spatio-temporal motion vector prediction patterns for video coding | |
JP2022539005A (ja) | ビデオコーディングにおける時間動きベクトル予測候補の導出 | |
WO2015006883A1 (en) | Motion vector inheritance techniques for depth coding |
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 |