CN110896485B - 一种预测运动信息的解码方法及装置 - Google Patents
一种预测运动信息的解码方法及装置 Download PDFInfo
- Publication number
- CN110896485B CN110896485B CN201811264674.7A CN201811264674A CN110896485B CN 110896485 B CN110896485 B CN 110896485B CN 201811264674 A CN201811264674 A CN 201811264674A CN 110896485 B CN110896485 B CN 110896485B
- Authority
- CN
- China
- Prior art keywords
- motion information
- candidate
- motion vector
- identifier
- list
- 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 147
- 239000013598 vector Substances 0.000 claims description 739
- 230000002123 temporal effect Effects 0.000 claims description 45
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 description 38
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 37
- 230000008569 process Effects 0.000 description 36
- 230000015654 memory Effects 0.000 description 35
- 238000012545 processing Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 31
- 238000000638 solvent extraction Methods 0.000 description 20
- 238000005192 partition Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 238000013139 quantization Methods 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 5
- 238000013138 pruning Methods 0.000 description 5
- 241000985610 Forpus Species 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000007728 cost analysis Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PXFBZOLANLWPMH-SMLHJDAJSA-N Affinine Chemical compound C1C(C2=CC=CC=C2N2)=C2C(=O)C[C@@H]2C(=C/C)\CN(C)[C@H]1C2CO PXFBZOLANLWPMH-SMLHJDAJSA-N 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- 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/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/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例涉及一种预测运动信息的解码方法及装置,包括:解析码流以获得第一标识;根据第一标识,从第一候选集合中确定目标元素,第一候选集合中的元素包括至少一个第一候选运动信息和至少一个第二候选集合,第二候选集合中的元素包括多个第二候选运动信息;当目标元素为所述第一候选运动信息时,将作为该目标元素的第一候选运动信息作为目标运动信息,所述目标运动信息用来预测待处理图像块的运动信息;当目标元素为第二候选集合时,解析码流以获得第二标识,根据第二标识,从多个第二候选运动信息中确定目标运动信息。
Description
本申请要求于2018年09月13日提交中国专利局、申请号为201811068957.4、发明名称为“一种视频编解码的方法与装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及视频编解码技术领域,尤其涉及一种预测运动信息的解码方法及装置。
背景技术
数字视频技术可广泛应用于各种装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(personal digital assistant,PDA)、笔记本电脑、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话、视频电话会议装置、视频流式发射装置及其类似者。数字视频装置实施视频解码技术有效地发送、接收、编码、解码和/或存储数字视频信息。
在视频解码技术中,视频压缩技术尤为重要。视频压缩技术执行空间(图像内)预测和/或时间(图像间)预测,以减少或移除视频序列中固有的冗余信息。视频压缩的基本原理是,利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行的做法是采用基于块的混合视频编码框架,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤来实现视频编码压缩。
帧间预测是利用视频时域的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。在进行帧间预测时,从候选运动信息列表中确定每一个图像块的预测运动信息,从而通过运动补偿过程生成其预测块。其中,运动信息包括参考图像信息和运动矢量。参考图像信息包括:单向/双向预测信息,参考图像列表,和参考图像列表对应的参考图像索引。运动矢量是指水平和竖直方向的位置偏移。
当前,帧间预测的方式众多,包括合并(Merge)模式、仿射合并(Affine Merge)模式、高级运动矢量预测(Advanced Motion Vector Prediction,AMVP)模式、仿射高级运动矢量预测(Affine AMVP)模式等等。
为了提高帧间预测的准确性,当引入更多的候选情况,会导致候选运动信息列表长度变的越来越长,对检测过程和硬件实现上都不利。
发明内容
本申请实施例提供一种预测运动信息的解码方法及装置,能够在引入更多的候选运动信息时,有效控制候选运动信息列表长度。
为达到上述目的,本申请实施例采用如下技术方案:
本申请实施例的第一方面,提供了一种预测运动信息的解码方法,包括:解析码流以获得第一标识;根据第一标识,从第一候选集合中确定目标元素,该第一候选集合中的元素包括至少一个第一候选运动信息和至少一个第二候选集合,第二候选集合中的元素包括多个第二候选运动信息;当目标元素为第一候选运动信息时,将作为目标元素的第一候选运动信息作为目标运动信息,目标运动信息用来预测待处理图像块的运动信息;当目标元素为第二候选集合时,解析码流以获得第二标识,根据所述第二标识,从所述多个第二候选运动信息中确定所述目标运动信息。
通过本申请提供的预测运动信息的解码方法,第一候选集合中的元素包括了第一候选运动信息以及至少一个第二候选集合,这样一来,多层候选集合的结构,当引入更多候选时,可以将一类候选运动信息的集合作为一个元素添加在第一候选集合中,相比于直接将候选运动信息加入第一候选集合,大大所选了第一候选集合的长度。当第一候选集合为帧间预测的候选运动信息列表时,即使引起更多的候选,也可以很好的控制候选运动信息列表的长度,为检测过程和硬件实现提供便利。
在第一方面的一种可行的实施方式中,第一标识可以为类别标识,用于指示目标元素所属的分类。
在第一方面的一种可行的实施方式中,本申请实施例提供的预测运动信息的解码方法还可以包括:解析码流以获取第四标识,第四标识为目标元素在第一候选集合中,第一标识指示的类别中的索引。在该实现方式中,通过第四标识结合第一标识,唯一确定目标元素。
在第一方面的一种可行的实施方式中,第一候选运动信息包括待处理图像块的空域相邻图像块的运动信息。
在第一方面的一种可行的实施方式中,第一候选运动信息可以为Merge模式生成的候选运动信息。
在第一方面的一种可行的实施方式中,第二候选运动信息包括待处理图像块的空域非相邻图像块的运动信息。
在第一方面的一种可行的实施方式中,第二候选运动信息可以为Affine Merge模式生成的候选运动信息。
在第一方面的一种可行的实施方式中,第一候选运动信息包括第一运动信息,第二候选运动信息包括第二运动信息,第二运动信息基于第一运动信息和预设的运动信息偏移量获得。
在第一方面的一种可行的实施方式中,第一候选运动信息包括第一运动信息,第二候选运动信息包括预设的运动信息偏移量;对应的,根据第二标识,从多个第二候选运动信息中确定目标运动信息,包括:根据第二标识从多个预设的运动信息偏移量中确定目标偏移量;基于第一运动信息和目标偏移量确定目标运动信息。
在第一方面的一种可行的实施方式中,第一候选运动信息包括第一运动信息,第一候选集合中包括的至少一个第二候选集合为多个第二候选集合,多个第二候选集合包括至少一个第三候选集合和至少一个第四候选集合,第三候选集合中的元素包括多个待处理图像块的空域非相邻图像块的运动信息,第四候选集合中的元素包括多个基于第一运动信息和预设的运动信息偏移量获得的运动信息。
在第一方面的一种可行的实施方式中,在至少一个第一候选运动信息中,用于标识第一运动信息的编码码字最短。
在第一方面的一种可行的实施方式中,第一运动信息不包括根据可选时域运动矢量预测(alternative temporal motion vector prediction,ATMVP)模式获得的运动信息。
在第一方面的一种可行的实施方式中,第一候选集合中包括的至少一个第二候选集合为多个第二候选集合,多个第二候选集合包括至少一个第五候选集合和至少一个第六候选集合,第五候选集合中的元素包括多个待处理图像块的空域非相邻图像块的运动信息,第六候选集合中的元素包括多个预设的运动信息偏移量。
在第一方面的一种可行的实施方式中,当目标元素为第二候选集合时,本申请提供的预测运动信息的解码方法还可以包括:解析码流以获得第三标识,该第三标识包括预设系数。
在第一方面的一种可行的实施方式中,在根据第二标识从多个预设的运动信息偏移量中确定目标偏移量之前,还包括:将多个预设的运动信息偏移量和第三标识包括的预设系数相乘,以得到多个调整后的运动信息偏移量;对应的,根据第二标识从多个预设的运动信息偏移量中确定目标偏移量,包括:根据第二标识从按照预设系数调整后的多个调整后的运动信息偏移量中确定目标偏移量。
在第一方面的一种可行的实施方式中,第二候选运动信息和第一候选运动信息不相同。具体的,第一候选运动信息与第二候选运动信息,可以为按照不同的帧间预测模式选取的候选运动信息。
在第一方面的一种可行的实施方式中,目标运动信息用来预测待处理图像块的运动信息,包括:将目标运动信息作为待处理图像块的运动信息;或者,将目标运动信息作为待处理图像块的预测运动信息。在得到待处理图像块的运动信息或者预测运动信息后,进行运动补偿生成其图像块或者预测块。
在第一方面的一种可行的实施方式中,第二标识可以采用定长编码方式,这样可以节约标识占用的字节数。
在第一方面的一种可行的实施方式中,第二标识可以采用变长编码方式,这样可以标识更多的候选运动信息。
本申请实施例的第二方面,提供了一种预测运动信息的解码装置,包括:解析模块,用于解析码流以获得第一标识;确定模块,用于根据第一标识,从第一候选集合中确定目标元素,第一候选集合中的元素包括至少一个第一候选运动信息和至少一个第二候选集合,第二候选集合中的元素包括多个第二候选运动信息;赋值模块,当目标元素为第一候选运动信息时,用于将第一候选运动信息作为目标运动信息,该目标运动信息用来预测待处理图像块的运动信息;解析模块还用于,当目标元素为第二候选集合时,解析码流以获得第二标识,确定模块还用于根据第二标识,从所述多个第二候选运动信息中确定目标运动信息。
通过本申请提供的预测运动信息的解码装置,第一候选集合中的元素包括了第一候选运动信息以及至少一个第二候选集合,这样一来,多层候选集合的结构,当引入更多候选时,可以将一类候选运动信息的集合作为一个元素添加在第一候选集合中,相比于直接将候选运动信息加入第一候选集合,大大所选了第一候选集合的长度。当第一候选集合为帧间预测的候选运动信息列表时,即使引起更多的候选,也可以很好的控制候选运动信息列表的长度,为检测过程和硬件实现提供便利。
在第二方面的一种可行的实施方式中,第一候选运动信息可以包括待处理图像块的空域相邻图像块的运动信息。
在第二方面的一种可行的实施方式中,第二候选运动信息可以包括所述待处理图像块的空域非相邻图像块的运动信息。
在第二方面的一种可行的实施方式中,第一候选运动信息包括第一运动信息,第二候选运动信息包括第二运动信息,第二运动信息基于第一运动信息和预设的运动信息偏移量获得。
在第二方面的一种可行的实施方式中,第一候选运动信息包括第一运动信息,第二候选运动信息包括预设的运动信息偏移量;对应的,解析模块具体用于:根据第二标识从多个预设的运动信息偏移量中确定目标偏移量;基于第一运动信息和目标偏移量确定目标运动信息。
在第二方面的一种可行的实施方式中,第一候选运动信息包括第一运动信息,至少一个第二候选集合为多个第二候选集合,多个第二候选集合包括至少一个第三候选集合和至少一个第四候选集合,第三候选集合中的元素包括多个待处理图像块的空域非相邻图像块的运动信息,第四候选集合中的元素包括多个基于第一运动信息和预设的运动信息偏移量获得的运动信息。
在第二方面的一种可行的实施方式中,在至少一个第一候选运动信息中,用于标识第一运动信息的编码码字最短。
在第二方面的一种可行的实施方式中,第一运动信息不包括根据ATMVP模式获得的运动信息。
在第二方面的一种可行的实施方式中,至少一个第二候选集合为多个第二候选集合,多个第二候选集合包括至少一个第五候选集合和至少一个第六候选集合,第五候选集合中的元素包括多个待处理图像块的空域非相邻图像块的运动信息,第六候选集合中的元素包括多个预设的运动信息偏移量。
在第二方面的一种可行的实施方式中,当目标元素为第二候选集合时,解析模块还用于:解析码流以获得第三标识,第三标识包括预设系数。
在第二方面的一种可行的实施方式中,还包括计算模块,用于将多个预设的运动信息偏移量和预设系数相乘,以得到多个调整后的运动信息偏移量;对应的,确定模块具体用于,根据第二标识从计算模块得到的多个调整后的运动信息偏移量中确定目标偏移量,再基于第一运动信息和目标偏移量确定目标运动信息。
在第二方面的一种可行的实施方式中,第二候选运动信息和第一候选运动信息不相同。
在第二方面的一种可行的实施方式中,确定模块具体用于,将目标运动信息作为待处理图像块的运动信息;或者,将目标运动信息作为待处理图像块的预测运动信息。
在第二方面的一种可行的实施方式中,第二标识采用定长编码方式。
在第二方面的一种可行的实施方式中,第二标识采用变长编码方式。
本申请实施例的第三方面,提供了提供了一种预测运动信息的解码装置,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第一方面所述的预测运动信息的解码方法。
本申请实施例的第四方面,提供一种视频解码器,包括非易失性存储介质以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行如上述第一方面及其任意一种可能的实现方式所述的预测运动信息的解码方法。
本申请实施例的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的预测运动信息的解码方法。
本申请实施例的第六方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的预测运动信息的解码方法。
应理解,本申请的第二至六方面与本申请的第一方面的技术方案一致,各方面及对应的可实施的设计方式所取得的有益效果相似,不再赘述。
附图说明
图1为示例性的可通过配置以用于本申请实施例的一种视频译码系统框图;
图2为示例性的可通过配置以用于本申请实施例的一种视频编码器的系统框图;
图3为示例性的可通过配置以用于本申请实施例的一种视频解码器的系统框图;
图4为示例性的可通过配置以用于本申请实施例的一种帧间预测模块的框图;
图5为示例性的一种合并预测模式的实施流程图;
图6为示例性的一种高级运动矢量预测模式的实施流程图;
图7为示例性的可通过配置以用于本申请实施例的一种由视频解码器执行的运动补偿的实施流程图;
图8为示例性的一种编码单元及与其关联的相邻位置图像块的示意图;
图9为示例性的一种构建候选预测运动矢量列表的实施流程图;
图10为示例性的一种将经过组合的候选运动矢量添加到合并模式候选预测运动矢量列表的实施示意图;
图11为示例性的一种将经过缩放的候选运动矢量添加到合并模式候选预测运动矢量列表的实施示意图;
图12为示例性的一种将零运动矢量添加到合并模式候选预测运动矢量列表的实施示意图;
图13为示例性的另一种编码单元及与其关联的相邻位置图像块的示意图;
图14A为示例性的一种构建候选运动矢量集合方法的示意图;
图14B为示例性的一种构建候选运动矢量集合方法的示意图;
图15为本申请实施例中预测运动信息的解码方法的一个示意性流程图;
图16A为示例性的一种构建候选运动矢量集合方法的示意图;
图16B为示例性的一种构建候选运动矢量集合方法的示意图;
图16C为示例性的一种构建候选运动矢量集合方法的示意图;
图17为本申请实施例中预测运动信息的解码装置的一个示意性框图;
图18为本申请实施例中预测运动信息的解码装置的一个示意性框图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图1为本申请实施例中所描述的一种实例的视频译码系统1的框图。如本文所使用,术语“视频译码器”一般是指视频编码器和视频解码器两者。在本申请中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。视频译码系统1的视频编码器100和视频解码器200用于根据多种新的帧间预测模式中的任一种预测当前经译码图像块或其子块的运动信息,例如运动矢量,使得预测出的运动矢量最大程度上接近使用运动估算方法得到的运动矢量,从而编码时无需传送运动矢量差值,从而进一步的改善编解码性能。
如图1中所示,视频译码系统1包含源装置10和目的地装置20。源装置10产生经编码视频数据。因此,源装置10可被称为视频编码装置。目的地装置20可对由源装置10所产生的经编码的视频数据进行解码。因此,目的地装置20可被称为视频解码装置。源装置10、目的地装置20或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于RAM、ROM、EEPROM、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。
源装置10和目的地装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
目的地装置20可经由链路30从源装置10接收经编码视频数据。链路30可包括能够将经编码视频数据从源装置10移动到目的地装置20的一或多个媒体或装置。在一个实例中,链路30可包括使得源装置10能够实时将经编码视频数据直接发射到目的地装置20的一或多个通信媒体。在此实例中,源装置10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的地装置20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(radio frequency,RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备。
在另一实例中,可将经编码数据从输出接口140输出到存储装置40。类似地,可通过输入接口240从存储装置40存取经编码数据。存储装置40可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、数字通用光盘(digital videodisc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。
在另一实例中,存储装置40可对应于文件服务器或可保持由源装置10产生的经编码视频的另一中间存储装置。目的地装置20可经由流式传输或下载从存储装置40存取所存储的视频数据。文件服务器可为任何类型的能够存储经编码的视频数据并且将经编码的视频数据发射到目的地装置20的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(file transfer protocol,FTP)服务器、网络附接式存储(networkattached storage,NAS)装置或本地磁盘驱动器。目的地装置20可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,无线保真(wIreless-fidelity,Wi-Fi)连接)、有线连接(例如,数字用户线路(digital subscriber line,DSL)、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置40的传输可为流式传输、下载传输或两者的组合。
本申请实施例提供的预测运动信息的解码方法可应用于视频编解码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、用于存储于数据存储媒体上的视频数据的编码、存储在数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统1可用于支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
图1中所说明的视频译码系统1仅为实例,并且本申请的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
在图1的实例中,源装置10包含视频源120、视频编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
视频编码器100可对来自视频源120的视频数据进行编码。在一些实例中,源装置10经由输出接口140将经编码视频数据直接发射到目的地装置20。在其它实例中,经编码视频数据还可存储到存储装置40上,供目的地装置20以后存取来用于解码和/或播放。
在图1的实例中,目的地装置20包含输入接口240、视频解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码视频数据。显示装置220可与目的地装置20集成或可在目的地装置20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。
尽管图1中未图示,但在一些方面,视频编码器100和视频解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么解复用器(MUX-DEMUX)单元可符合国际电信联盟(international telecommunicationunion,ITU)H.223多路复用器协议,或例如用户数据报协议(user datagram protocol,UDP)等其它协议。
视频编码器100和视频解码器200各自可实施为例如以下各项的多种电路中的任一者:一或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器100和视频解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
本申请可大体上将视频编码器100称为将某些信息“发信号通知”或“发射”到例如视频解码器200的另一装置。术语“发信号通知”或“发射”可大体上指代用以对经压缩视频数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码码流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
JCT-VC开发了H.265(高效率视频编码(high efficiency video coding,HEVC))标准。HEVC标准化基于称作HEVC测试模型(HEVC model,HM)的视频解码装置的演进模型。H.265的最新标准文档可从http://www.itu.int/rec/T-REC-H.265获得,最新版本的标准文档为H.265(12/16),该标准文档以全文引用的方式并入本文中。HM假设视频解码装置相对于ITU-TH.264/AVC的现有算法具有若干额外能力。例如,H.264提供9种帧内预测编码模式,而HM可提供多达35种帧内预测编码模式。
JVET致力于开发H.266标准。H.266标准化的过程基于称作H.266测试模型的视频解码装置的演进模型。H.266的算法描述可从http://phenix.int-evry.fr/jvet获得,其中最新的算法描述包含于JVET-F1001-v2中,该算法描述文档以全文引用的方式并入本文中。同时,可从https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/获得JEM测试模型的参考软件,同样以全文引用的方式并入本文中。
一般来说,HM的工作模型描述可将视频帧或图像划分成包含亮度及色度样本两者的树块或最大编码单元(largest coding unit,LCU)的序列,LCU也被称为编码树单元(coding tree unit,CTU)。树块具有与H.264标准的宏块类似的目的。条带包含按解码次序的数个连续树块。可将视频帧或图像分割成一个或多个条带。可根据四叉树将每一树块分裂成编码单元。例如,可将作为四叉树的根节点的树块分裂成四个子节点,且每一子节点可又为母节点且被分裂成另外四个子节点。作为四叉树的叶节点的最终不可分裂的子节点包括解码节点,例如,经解码视频块。与经解码码流相关联的语法数据可定义树块可分裂的最大次数,且也可定义解码节点的最小大小。
编码单元包含解码节点及预测块(prediction unit,PU)以及与解码节点相关联的变换单元(transform unit,TU)。CU的大小对应于解码节点的大小且形状必须为正方形。CU的大小的范围可为8×8像素直到最大64×64像素或更大的树块的大小。每一CU可含有一个或多个PU及一个或多个TU。例如,与CU相关联的语法数据可描述将CU分割成一个或多个PU的情形。分割模式在CU是被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码的情形之间可为不同的。PU可经分割成形状为非正方形。例如,与CU相关联的语法数据也可描述根据四叉树将CU分割成一个或多个TU的情形。TU的形状可为正方形或非正方形。
HEVC标准允许根据TU进行变换,TU对于不同CU来说可为不同的。TU通常基于针对经分割LCU定义的给定CU内的PU的大小而设定大小,但情况可能并非总是如此。TU的大小通常与PU相同或小于PU。在一些可行的实施方式中,可使用称作“残余四叉树”(residualqualtree,RQT)的四叉树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可被称作TU。可变换与TU相关联的像素差值以产生变换系数,变换系数可被量化。
一般来说,PU包含与预测过程有关的数据。例如,在PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一可行的实施方式,在PU经帧间模式编码时,PU可包含界定PU的运动矢量的数据。例如,界定PU的运动矢量的数据可描述运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动矢量所指向的参考图像,和/或运动矢量的参考图像列表(例如,列表0、列表1或列表C)。
一般来说,TU使用变换及量化过程。具有一个或多个PU的给定CU也可包含一个或多个TU。在预测之后,视频编码器100可计算对应于PU的残余值。残余值包括像素差值,像素差值可变换成变换系数、经量化且使用TU扫描以产生串行化变换系数以用于熵解码。本申请通常使用术语“视频块”来指CU的解码节点。在一些特定应用中,本申请也可使用术语“视频块”来指包含解码节点以及PU及TU的树块,例如,LCU或CU。
视频序列通常包含一系列视频帧或图像。图像群组(group of picture,GOP)示例性地包括一系列、一个或多个视频图像。GOP可在GOP的头信息中、图像中的一者或多者的头信息中或在别处包含语法数据,语法数据描述包含于GOP中的图像的数目。图像的每一条带可包含描述相应图像的编码模式的条带语法数据。视频编码器100通常对个别视频条带内的视频块进行操作以便编码视频数据。视频块可对应于CU内的解码节点。视频块可具有固定或变化的大小,且可根据指定解码标准而在大小上不同。
作为一种可行的实施方式,HM支持各种PU大小的预测。假定特定CU的大小为2N×2N,HM支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM也支持2N×nU、2N×nD、nL×2N及nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,CU的一方向未分割,而另一方向分割成25%及75%。对应于25%区段的CU的部分由“n”后跟着“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,例如,“2N×nU”指水平分割的2N×2NCU,其中2N×0.5NPU在上部且2N×1.5NPU在底部。
在本申请中,“N×N”与“N乘N”可互换使用以指依照垂直维度及水平维度的视频块的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样地,N×N块一股在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。可将块中的像素排列成行及列。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。例如,块可包括N×M个像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性解码之后,视频编码器100可计算CU的TU的残余数据。PU可包括空间域(也称作像素域)中的像素数据,且TU可包括在将变换(例如,离散余弦变换(discrete cosine transform,DCT)、整数变换、小波变换或概念上类似的变换)应用于残余视频数据之后变换域中的系数。残余数据可对应于未经编码图像的像素与对应于PU的预测值之间的像素差。视频编码器100可形成包含CU的残余数据的TU,且接着变换TU以产生CU的变换系数。
在任何变换以产生变换系数之后,视频编码器100可执行变换系数的量化。量化示例性地指对系数进行量化以可能减少用以表示系数的数据的量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。例如,可在量化期间将n位值降值舍位到m位值,其中n大于m。
JEM模型对视频图像的编码结构进行了进一步的改进,具体的,被称为“四叉树结合二叉树”(QTBT)的块编码结构被引入进来。QTBT结构摒弃了HEVC中的CU,PU,TU等概念,支持更灵活的CU划分形状,一个CU可以正方形,也可以是长方形。一个CTU首先进行四叉树划分,该四叉树的叶节点进一步进行二叉树划分。同时,在二叉树划分中存在两种划分模式,对称水平分割和对称竖直分割。二叉树的叶节点被称为CU,JEM的CU在预测和变换的过程中都不可以被进一步划分,也就是说JEM的CU,PU,TU具有相同的块大小。在现阶段的JEM中,CTU的最大尺寸为256×256亮度像素。
在一些可行的实施方式中,视频编码器100可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的串行化向量。在其它可行的实施方式中,视频编码器100可执行自适应性扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器100可根据上下文自适应性可变长度解码(context-based adaptive variable-length code,CAVLC)、上下文自适应性二进制算术解码(context-based adaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应性二进制算术解码(syntax-based adaptive binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,PIPE)解码或其他熵解码方法来熵解码一维向量。视频编码器100也可熵编码与经编码视频数据相关联的语法元素以供视频解码器200用于解码视频数据。
为了执行CABAC,视频编码器100可将上下文模型内的上下文指派给待传输的符号。上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器100可选择待传输的符号的可变长度码。可变长度解码(variable-length code,VLC)中的码字可经构建以使得相对较短码对应于可能性较大的符号,而较长码对应于可能性较小的符号。以这个方式,VLC的使用可相对于针对待传输的每一符号使用相等长度码字达成节省码率的目的。基于指派给符号的上下文可以确定CABAC中的概率。
在本申请实施例中,视频编码器可执行帧间预测以减少图像之间的时间冗余。如前文所描述,根据不同视频压缩编解码标准的规定,CU可具有一个或多个预测单元PU。换句话说,多个PU可属于CU,或者PU和CU的尺寸相同。在本文中当CU和PU尺寸相同时,CU的分割模式为不分割,或者即为分割为一个PU,且统一使用PU进行表述。当视频编码器执行帧间预测时,视频编码器可用信号通知视频解码器用于PU的运动信息。示例性的,PU的运动信息可以包括:参考图像索引、运动矢量和预测方向标识。运动矢量可指示PU的图像块(也称视频块、像素块、像素集合等)与PU的参考块之间的位移。PU的参考块可为类似于PU的图像块的参考图像的一部分。参考块可定位于由参考图像索引和预测方向标识指示的参考图像中。
为了减少表示PU的运动信息所需要的编码比特的数目,视频编码器可根据合并预测模式或高级运动矢量预测模式过程产生用于PU中的每一者的候选预测运动矢量(MotionVector,MV)列表。用于PU的候选预测运动矢量列表中的每一候选预测运动矢量可指示运动信息,MV列表也可称之为候选运动信息列表。由候选预测运动矢量列表中的一些候选预测运动矢量指示的运动信息可基于其它PU的运动信息。如果候选预测运动矢量指示指定空间候选预测运动矢量位置或时间候选预测运动矢量位置中的一者的运动信息,则本申请可将所述候选预测运动矢量称作“原始”候选预测运动矢量。举例来说,对于合并(Merge)模式,在本文中也称为合并预测模式,可存在五个原始空间候选预测运动矢量位置和一个原始时间候选预测运动矢量位置。在一些实例中,视频编码器可通过组合来自不同原始候选预测运动矢量的部分运动矢量、修改原始候选预测运动矢量或仅插入零运动矢量作为候选预测运动矢量来产生额外候选预测运动矢量。这些额外候选预测运动矢量不被视为原始候选预测运动矢量且在本申请中可称作人工产生的候选预测运动矢量。
本申请的技术一般涉及用于在视频编码器处产生候选预测运动矢量列表的技术和用于在视频解码器处产生相同候选预测运动矢量列表的技术。视频编码器和视频解码器可通过实施用于构建候选预测运动矢量列表的相同技术来产生相同候选预测运动矢量列表。举例来说,视频编码器和视频解码器两者可构建具有相同数目的候选预测运动矢量(例如,五个候选预测运动矢量)的列表。视频编码器和解码器可首先考虑空间候选预测运动矢量(例如,同一图像中的相邻块),接着考虑时间候选预测运动矢量(例如,不同图像中的候选预测运动矢量),且最后可考虑人工产生的候选预测运动矢量直到将所要数目的候选预测运动矢量添加到列表为止。根据本申请的技术,可在候选预测运动矢量列表构建期间,在候选预测运动矢量列表中通过标识位指示一种类型的候选预测运动矢量,以控制候选预测运动矢量列表的长度。举例来说,将空间候选预测运动矢量集合和对于时间候选预测运动矢量可作为原始候选预测运动矢量,当将人工产生的候选预测运动矢量添加到候选预测运动矢量的列表时,可在候选预测运动矢量列表中增加一个标识位空间,以指示人工产生的候选预测运动矢量集合。在编解码时,当选中一个标识位时,从该标识位指示的候选预测运动矢量集合中选取预测运动矢量。
在产生用于CU的PU的候选预测运动矢量列表之后,视频编码器可从候选预测运动矢量列表选择候选预测运动矢量且在码流中输出候选预测运动矢量索引。选定候选预测运动矢量可为具有产生最紧密地匹配正被解码的目标PU的预测子的运动矢量的候选预测运动矢量。候选预测运动矢量索引可指示在候选预测运动矢量列表中选定候选预测运动矢量的位置。视频编码器还可基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。可基于由选定候选预测运动矢量指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。在AMVP模式中,PU的运动信息可基于PU的运动矢量差和由选定候选预测运动矢量指示的运动信息确定。视频编码器可基于CU的PU的预测性图像块和用于CU的原始图像块产生用于CU的一或多个残余图像块。视频编码器可接着编码一或多个残余图像块且在码流中输出一或多个残余图像块。
码流可包括识别PU的候选预测运动矢量列表中的选定候选预测运动矢量的数据,本文中称之为标识或者信号。该数据可以包括候选预测运动矢量列表中的索引,通过该索引确定出目标运动矢量;或者,通过该索引确定出目标运动矢量为某一类候选预测运动矢量,此时,该数据还包括指示选定候选预测运动矢量的数据在该类候选预测运动矢量中的具体位置的信息。视频解码器可解析码流,获取识别PU的候选预测运动矢量列表中的选定候选预测运动矢量的数据,根据该数据确定选定候选预测运动矢量的数据,基于由PU的候选预测运动矢量列表中的选定候选预测运动矢量指示的运动信息确定PU的运动信息。视频解码器可基于PU的运动信息识别用于PU的一或多个参考块。在识别PU的一或多个参考块之后,视频解码器可基于PU的一或多个参考块产生用于PU的预测性图像块。视频解码器可基于用于CU的PU的预测性图像块和用于CU的一或多个残余图像块来重构用于CU的图像块。
为了易于解释,本申请可将位置或图像块描述为与CU或PU具有各种空间关系。此描述可解释为是指位置或图像块和与CU或PU相关联的图像块具有各种空间关系。此外,本申请可将视频解码器当前在解码的PU称作当前PU,也称为当前待处理图像块。本申请可将视频解码器当前在解码的CU称作当前CU。本申请可将视频解码器当前在解码的图像称作当前图像。应理解,本申请同时适用于PU和CU具有相同尺寸,或者PU即为CU的情况,统一使用PU来表示。
如前文简短地描述,视频编码器100可使用帧间预测以产生用于CU的PU的预测性图像块和运动信息。在许多例子中,给定PU的运动信息可能与一或多个附近PU(即,其图像块在空间上或时间上在给定PU的图像块附近的PU)的运动信息相同或类似。因为附近PU经常具有类似运动信息,所以视频编码器100可参考附近PU的运动信息来编码给定PU的运动信息。参考附近PU的运动信息来编码给定PU的运动信息可减少码流中指示给定PU的运动信息所需要的编码比特的数目。
视频编码器100可以各种方式参考附近PU的运动信息来编码给定PU的运动信息。举例来说,视频编码器100可指示给定PU的运动信息与附近PU的运动信息相同。本申请可使用合并模式来指代指示给定PU的运动信息与附近PU的运动信息相同或可从附近PU的运动信息导出。在另一可行的实施方式中,视频编码器100可计算用于给定PU的运动矢量差(Motion Vector Difference,MVD)。MVD指示给定PU的运动矢量与附近PU的运动矢量之间的差。视频编码器100可将MVD而非给定PU的运动矢量包括于给定PU的运动信息中。在码流中表示MVD比表示给定PU的运动矢量所需要的编码比特少。本申请可使用高级运动矢量预测模式指代通过使用MVD和识别候选者运动矢量的索引值来用信号通知解码端给定PU的运动信息。
为了使用合并模式或AMVP模式来用信号通知解码端给定PU的运动信息,视频编码器100可产生用于给定PU的候选预测运动矢量列表。候选预测运动矢量列表可包括一或多个候选预测运动矢量。用于给定PU的候选预测运动矢量列表中的候选预测运动矢量中的每一者可指定运动信息。由每一候选预测运动矢量指示的运动信息可包括运动矢量、参考图像索引和预测方向标识。候选预测运动矢量列表中的候选预测运动矢量可包括“原始”候选预测运动矢量,其中每一者指示不同于给定PU的PU内的指定候选预测运动矢量位置中的一者的运动信息。
在产生用于PU的候选预测运动矢量列表之后,视频编码器100可从用于PU的候选预测运动矢量列表选择候选预测运动矢量中的一者。举例来说,视频编码器可比较每一候选预测运动矢量与正被解码的PU且可选择具有所要码率-失真代价的候选预测运动矢量。视频编码器100可输出用于PU的候选预测运动矢量索引。候选预测运动矢量索引可识别选定候选预测运动矢量在候选预测运动矢量列表中的位置。
此外,视频编码器100可基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。可基于由用于PU的候选预测运动矢量列表中的选定候选预测运动矢量指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。在AMVP模式中,可基于用于PU的运动矢量差和由选定候选预测运动矢量指示的运动信息确定PU的运动信息。视频编码器100可如前文所描述处理用于PU的预测性图像块。
如前述,候选预测运动矢量列表中可以使用标识位指示一类候选预测运动矢量,以控制候选预测运动矢量列表的长度。此处不再进行赘述。
当视频解码器200接收到码流时,视频解码器200可产生用于CU的PU中的每一者的候选预测运动矢量列表。由视频解码器200针对PU产生的候选预测运动矢量列表可与由视频编码器100针对PU产生的候选预测运动矢量列表相同。视频解码器200从码流中解析得到的语法元素可指示在PU的候选预测运动矢量列表中选定候选预测运动矢量的位置。在产生用于PU的候选预测运动矢量列表之后,视频解码器200可基于由PU的运动信息指示的一或多个参考块产生用于PU的预测性图像块。视频解码器200可基于解析码流获取的语法元素,从用于PU的候选预测运动矢量列表中的选定候选预测运动矢量指示的运动信息确定PU的运动信息。视频解码器200可基于用于PU的预测性图像块和用于CU的残余图像块重构用于CU的图像块。
如前述,候选预测运动矢量列表中可以使用标识位指示一类候选预测运动矢量,在此情况下,视频解码器200在接收到码流后,先解析码流获取第一标识,第一标识指示PU的候选预测运动矢量列表中选定候选预测运动矢量的位置。其中,PU的候选预测运动矢量列表中包括至少一个第一候选运动矢量及至少一个第二候选集合,第二候选集合包括至少一个第二候选运动矢量。视频解码器200根据第一标识,从PU的候选预测运动矢量列表中确定第一标识对应的目标元素。若该目标元素为第一候选运动矢量,则视频解码器200将目标元素确定为该PU的目标运动矢量,采用目标运动信息来预测待处理图像块(PU)的运动信息进行后续的解码流程。若该目标元素为第二候选集合,则视频解码器200解析码流以获得第二标识,第二标识用于标识选定的候选预测运动矢量在第一标识指示的第二候选集合中的位置;视频解码器200根据第二标识,从第一标识指示的第二候选集合中的多个第二候选运动矢量中,确定目标运动信息,采用目标运动信息来预测待处理图像块(PU)的运动信息进行后续的解码流程。
需要说明的是,候选预测运动矢量列表中的候选运动矢量可以根据不同的模式获取,本申请不进行具体限定。
应理解,在一种可行的实施方式中,在解码端,候选预测运动矢量列表的构建与从码流中解析选定候选预测运动矢量在候选预测运动矢量列表中的位置是相互独立,可以任意先后或者并行进行的。
在另一种可行的实施方式中,在解码端,首先从码流中解析选定候选预测运动矢量在候选预测运动矢量列表中的位置,根据解析出来的位置构建候选预测运动矢量列表,在该实施方式中,不需要构建全部的候选预测运动矢量列表,只需要构建到该解析出来的位置处的候选预测运动矢量列表,即能够确定出该位置的候选预测运动矢量即可。举例来说,当解析码流得出选定的候选预测运动矢量为候选预测运动矢量列表中索引为3的候选预测运动矢量时,仅需要构建从索引为0到索引为3的候选预测运动矢量列表,即可确定索引为3的候选预测运动矢量,可以达到减小复杂度,提高解码效率的技术效果。
图2为本申请实施例中所描述的一种实例的视频编码器100的框图。视频编码器100用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器100的经编码视频数据的视频实体的实例,例如媒体感知网络元件(MANE)或拼接/编辑装置。在一些情况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器100可为单独装置的若干部分,而在其它情况下,相对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图1的存储装置40的实例。
在图2的实例中,视频编码器100包括预测处理单元108、滤波器单元106、经解码图像缓冲器(decoded picture buffer,DPB)107、求和器112、变换器101、量化器102和熵编码器103。预测处理单元108包括帧间预测器110和帧内预测器109。为了图像块重构,视频编码器100还包含反量化器104、反变换器105和求和器111。滤波器单元106既定表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(adaptive loop filter,ALF)和样本自适应偏移(sample adaptive offset,SAO)滤波器。尽管在图2中将滤波器单元106示出为环路内滤波器,但在其它实现方式下,可将滤波器单元106实施为环路后滤波器。在一种示例下,视频编码器100还可以包括视频数据存储器、分割单元(图中未示意)。
视频数据存储器可存储待由视频编码器100的组件编码的视频数据。可从视频源120获得存储在视频数据存储器中的视频数据。DPB 107可为参考图像存储器,其存储用于由视频编码器100在帧内、帧间译码模式中对视频数据进行编码的参考视频数据。视频数据存储器和DPB 107可由多种存储器装置中的任一者形成,例如包含同步动态随机存储器(synchronous dynamic random access memory,SDRAM)的动态随机存取存储器(dynamicrandom access memory,DRAM)、磁阻式RAM(magnetic random access memory,MRAM)、电阻式RAM(resistive random access memory,RRAM),或其它类型的存储器装置。视频数据存储器和DPB 107可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器可与视频编码器100的其它组件一起在芯片上,或相对于那些组件在芯片外。
如图2所示,视频编码器100接收视频数据,并将所述视频数据存储在视频数据存储器中。分割单元将所述视频数据分割成若干图像块,而且这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。此分割还可包含分割成条带(slice)、片(tile)或其它较大单元。视频编码器100通常说明编码待编码的视频条带内的图像块的组件。所述条带可分成多个图像块(并且可能分成被称作片的图像块集合)。预测处理单元108可选择用于当前图像块的多个可能的译码模式中的一者,例如多个帧内译码模式中的一者或多个帧间译码模式中的一者。预测处理单元108可将所得经帧内、帧间译码的块提供给求和器112以产生残差块,且提供给求和器111以重构用作参考图像的经编码块。
预测处理单元108内的帧内预测器109可相对于与待编码当前块在相同帧或条带中的一或多个相邻块执行当前图像块的帧内预测性编码,以去除空间冗余。预测处理单元108内的帧间预测器110可相对于一或多个参考图像中的一或多个预测块执行当前图像块的帧间预测性编码以去除时间冗余。
具体的,帧间预测器110可用于确定用于编码当前图像块的帧间预测模式。举例来说,帧间预测器110可使用码率-失真分析来计算候选帧间预测模式集合中的各种帧间预测模式的码率-失真值,并从中选择具有最佳码率-失真特性的帧间预测模式。码率失真分析通常确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位码率(也就是说,位数目)。例如,帧间预测器110可确定候选帧间预测模式集合中编码所述当前图像块的码率失真代价最小的帧间预测模式为用于对当前图像块进行帧间预测的帧间预测模式。
帧间预测器110用于基于确定的帧间预测模式,预测当前图像块中一个或多个子块的运动信息(例如运动矢量),并利用当前图像块中一个或多个子块的运动信息(例如运动矢量)获取或产生当前图像块的预测块。帧间预测器110可在参考图像列表中的一者中定位所述运动向量指向的预测块。帧间预测器110还可产生与图像块和视频条带相关联的语法元素以供视频解码器200在对视频条带的图像块解码时使用。又或者,一种示例下,帧间预测器110利用每个子块的运动信息执行运动补偿过程,以生成每个子块的预测块,从而得到当前图像块的预测块;应当理解的是,这里的帧间预测器110执行运动估计和运动补偿过程。
具体的,在为当前图像块选择帧间预测模式之后,帧间预测器110可将指示当前图像块的所选帧间预测模式的信息提供到熵编码器103,以便于熵编码器103编码指示所选帧间预测模式的信息。
帧内预测器109可对当前图像块执行帧内预测。明确地说,帧内预测器109可确定用来编码当前块的帧内预测模式。举例来说,帧内预测器109可使用码率-失真分析来计算各种待测试的帧内预测模式的码率-失真值,并从待测试模式当中选择具有最佳码率-失真特性的帧内预测模式。在任何情况下,在为图像块选择帧内预测模式之后,帧内预测器109可将指示当前图像块的所选帧内预测模式的信息提供到熵编码器103,以便熵编码器103编码指示所选帧内预测模式的信息。
在预测处理单元108经由帧间预测、帧内预测产生当前图像块的预测块之后,视频编码器100通过从待编码的当前图像块减去所述预测块来形成残差图像块。求和器112表示执行此减法运算的一或多个组件。所述残差块中的残差视频数据可包含在一或多个(transform unit,TU)中,并应用于变换器101。变换器101使用例如离散余弦变换(discrete cosine transform,DCT)或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换器101可将残差视频数据从像素值域转换到变换域,例如频域。
变换器101可将所得变换系数发送到量化器102。量化器102量化所述变换系数以进一步减小位码率。在一些实例中,量化器102可接着执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码器103可执行扫描。
在量化之后,熵编码器103对经量化变换系数进行熵编码。举例来说,熵编码器103可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术。在由熵编码器103熵编码之后,可将经编码码流发射到视频解码器200,或经存档以供稍后发射或由视频解码器200检索。熵编码器103还可对待编码的当前图像块的语法元素进行熵编码。
反量化器104和反变化器105分别应用逆量化和逆变换以在像素域中重构所述残差块,例如以供稍后用作参考图像的参考块。求和器111将经重构的残差块添加到由帧间预测器110或帧内预测器109产生的预测块,以产生经重构图像块。滤波器单元106可以适用于经重构图像块以减小失真,诸如方块效应(block artifacts)。然后,该经重构图像块作为参考块存储在经解码图像缓冲器107中,可由帧间预测器110用作参考块以对后续视频帧或图像中的块进行帧间预测。
应当理解的是,视频编码器100的其它的结构变化可用于编码视频流。例如,对于某些图像块或者图像帧,视频编码器100可以直接地量化残差信号而不需要经变换器101处理,相应地也不需要经反变换器105处理;或者,对于某些图像块或者图像帧,视频编码器100没有产生残差数据,相应地不需要经变换器101、量化器102、反量化器104和反变换器105处理;或者,视频编码器100可以将经重构图像块作为参考块直接地进行存储而不需要经滤波器单元106处理;或者,视频编码器100中量化器102和反量化器104可以合并在一起。
图3为本申请实施例中所描述的一种实例的视频解码器200的框图。在图3的实例中,视频解码器200包括熵解码器203、预测处理单元208、反量化器204、反变换器205、求和器211、滤波器单元206以及DPB 207。预测处理单元208可以包括帧间预测器210和帧内预测器209。在一些实例中,视频解码器200可执行大体上与相对于来自图2的视频编码器100描述的编码过程互逆的解码过程。
在解码过程中,视频解码器200从视频编码器100接收表示经编码视频条带的图像块和相关联的语法元素的经编码视频码流。视频解码器200可从网络实体42接收视频数据,可选的,还可以将所述视频数据存储在视频数据存储器(图中未示意)中。视频数据存储器可存储待由视频解码器200的组件解码的视频数据,例如经编码视频码流。存储在视频数据存储器中的视频数据,例如可从存储装置40、从相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。视频数据存储器可作为用于存储来自经编码视频码流的经编码视频数据的经解码图像缓冲器(CPB)。因此,尽管在图3中没有示意出视频数据存储器,但视频数据存储器和DPB 207可以是同一个的存储器,也可以是单独设置的存储器。视频数据存储器和DPB 207可由多种存储器装置中的任一者形成,例如:包含同步DRAM(SDRAM)的动态随机存取存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。在各种实例中,视频数据存储器可与视频解码器200的其它组件一起集成在芯片上,或相对于那些组件设置在芯片外。
网络实体42可例如为服务器、MANE、视频编辑器/剪接器,或用于实施上文所描述的技术中的一或多者的其它此装置。网络实体42可包括或可不包括视频编码器,例如视频编码器100。在网络实体42将经编码视频码流发送到视频解码器200之前,网络实体42可实施本申请中描述的技术中的部分。在一些视频解码系统中,网络实体42和视频解码器200可为单独装置的部分,而在其它情况下,相对于网络实体42描述的功能性可由包括视频解码器200的相同装置执行。在一些情况下,网络实体42可为图1的存储装置40的实例。
视频解码器200的熵解码器203对码流进行熵解码以产生经量化的系数和一些语法元素。熵解码器203将语法元素转发到预测处理单元208。视频解码器200可接收在视频条带层级和/或图像块层级处的语法元素。
当视频条带被解码为经帧内解码(I)条带时,预测处理单元208的帧内预测器209可基于发信号通知的帧内预测模式和来自当前帧或图像的先前经解码块的数据而产生当前视频条带的图像块的预测块。当视频条带被解码为经帧间解码(即,B或P)条带时,预测处理单元208的帧间预测器210可基于从熵解码器203接收到的语法元素,确定用于对当前视频条带的当前图像块进行解码的帧间预测模式,基于确定的帧间预测模式,对所述当前图像块进行解码(例如执行帧间预测)。具体的,帧间预测器210可确定是否对当前视频条带的当前图像块采用新的帧间预测模式进行预测,如果语法元素指示采用新的帧间预测模式来对当前图像块进行预测,基于新的帧间预测模式(例如通过语法元素指定的一种新的帧间预测模式或默认的一种新的帧间预测模式)预测当前视频条带的当前图像块或当前图像块的子块的运动信息,从而通过运动补偿过程使用预测出的当前图像块或当前图像块的子块的运动信息来获取或生成当前图像块或当前图像块的子块的预测块。这里的运动信息可以包括参考图像信息和运动矢量,其中参考图像信息可以包括但不限于单向/双向预测信息,参考图像列表号和参考图像列表对应的参考图像索引。对于帧间预测,可从参考图像列表中的一者内的参考图像中的一者产生预测块。视频解码器200可基于存储在DPB 207中的参考图像来建构参考图像列表,即列表0和列表1。当前图像的参考帧索引可包含于参考帧列表0和列表1中的一或多者中。在一些实例中,可以是视频编码器100发信号通知指示是否采用新的帧间预测模式来解码特定块的特定语法元素,或者,也可以是发信号通知指示是否采用新的帧间预测模式,以及指示具体采用哪一种新的帧间预测模式来解码特定块的特定语法元素。应当理解的是,这里的帧间预测器210执行运动补偿过程。
反量化器204将在码流中提供且由熵解码器203解码的经量化变换系数逆量化,即去量化。逆量化过程可包括:使用由视频编码器100针对视频条带中的每个图像块计算的量化参数来确定应施加的量化程度以及同样地确定应施加的逆量化程度。反变换器205将逆变换应用于变换系数,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残差块。
在帧间预测器210产生用于当前图像块或当前图像块的子块的预测块之后,视频解码器200通过将来自反变换器205的残差块与由帧间预测器210产生的对应预测块求和以得到重建的块,即经解码图像块。求和器211表示执行此求和操作的组件。在需要时,还可使用环路滤波器(在解码环路中或在解码环路之后)来使像素转变平滑或者以其它方式改进视频质量。滤波器单元206可以表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)以及样本自适应偏移(SAO)滤波器。尽管在图3中将滤波器单元206示出为环路内滤波器,但在其它实现方式中,可将滤波器单元206实施为环路后滤波器。在一种示例下,滤波器单元206适用于重建块以减小块失真,并且该结果作为经解码视频流输出。并且,还可以将给定帧或图像中的经解码图像块存储在经解码图像缓冲器207中,经DPB 207存储用于后续运动补偿的参考图像。经DPB 207可为存储器的一部分,其还可以存储经解码视频,以供稍后在显示装置(例如图1的显示装置220)上呈现,或可与此类存储器分开。
应当理解的是,视频解码器200的其它结构变化可用于解码经编码视频码流。例如,视频解码器200可以不经滤波器单元206处理而生成输出视频流;或者,对于某些图像块或者图像帧,视频解码器200的熵解码器203没有解码出经量化的系数,相应地不需要经反量化器204和反变换器205处理。
如前文所注明,本申请的技术示例性地涉及帧间解码。应理解,本申请的技术可通过本申请中所描述的视频解码器中的任一者进行,视频解码器包含(例如)如关于图1到3所展示及描述的视频编码器100及视频解码器200。即,在一种可行的实施方式中,关于图2所描述的帧间预测器110可在视频数据的块的编码期间在执行帧间预测时执行下文中所描述的特定技术。在另一可行的实施方式中,关于图3所描述的帧间预测器210可在视频数据的块的解码期间在执行帧间预测时执行下文中所描述的特定技术。因此,对一般性“视频编码器”或“视频解码器”的引用可包含视频编码器100、视频解码器200或另一视频编码或编码单元。
应当理解的是,本申请的视频编码器100和视频解码器200中,针对某个环节的处理结果可以经过进一步处理后,输出到下一个环节,例如,在插值滤波、运动矢量推导或环路滤波等环节之后,对相应环节的处理结果进一步进行Clip或移位shift等操作。
例如,按照相邻仿射编码块的运动矢量推导得到的当前图像块的控制点的运动矢量,可以经过进一步处理,本申请对此不做限定。例如,对运动矢量的取值范围进行约束,使其在一定的位宽内。假设允许的运动矢量的位宽为bitDepth,则运动矢量的范围为-2^(bitDepth-1)~2^(bitDepth-1)-1,其中“^”符号表示幂次方。如bitDepth为16,则取值范围为-32768~32767。如bitDepth为18,则取值范围为-131072~131071。可以通过以下两种方式进行约束:
方式1,将运动矢量溢出的高位去除:
ux=(vx+2bitDepth)%2bitDepth
vx=(ux>=2bitDepth-1)?(ux-2bitDepth):ux
uy=(vy+2bitDepth)%2bitDepth
vy=(uy>=2bitDepth-1)?(uy-2bitDepth):uy
例如vx的值为-32769,通过以上公式得到的为32767。因为在计算机中,数值是以二进制的补码形式存储的,-32769的二进制补码为1,0111,1111,1111,1111(17位),计算机对于溢出的处理为丢弃高位,则vx的值为0111,1111,1111,1111,则为32767,与通过公式处理得到的结果一致。
方法2,将运动矢量进行Clipping,如以下公式所示:
vx=Clip3(-2bitDepth-1,2bitDepth-1-1,vx)
vy=Clip3(-2bitDepth-1,2bitDepth-1-1,vy)
其中Clip3的定义为,表示将z的值钳位到区间[x,y]之间:
图4为本申请实施例中帧间预测模块121的一种示意性框图。帧间预测模块121,示例性的,可以包括运动估计单元和运动补偿单元。在不同的视频压缩编解码标准中,PU和CU的关系各有不同。帧间预测模块121可根据多个分割模式将当前CU分割为PU。举例来说,帧间预测模块121可根据2N×2N、2N×N、N×2N和N×N分割模式将当前CU分割为PU。在其他实施例中,当前CU即为当前PU,不作限定。
帧间预测模块121可对PU中的每一者执行整数运动估计(Integer MotionEstimation,IME)且接着执行分数运动估计(Fraction Motion Estimation,FME)。当帧间预测模块121对PU执行IME时,帧间预测模块121可在一个或多个参考图像中搜索用于PU的参考块。在找到用于PU的参考块之后,帧间预测模块121可产生以整数精度指示PU与用于PU的参考块之间的空间位移的运动矢量。当帧间预测模块121对PU执行FME时,帧间预测模块121可改进通过对PU执行IME而产生的运动矢量。通过对PU执行FME而产生的运动矢量可具有子整数精度(例如,1/2像素精度、1/4像素精度等)。在产生用于PU的运动矢量之后,帧间预测模块121可使用用于PU的运动矢量以产生用于PU的预测性图像块。
在帧间预测模块121使用AMVP模式用信号通知解码端PU的运动信息的一些可行的实施方式中,帧间预测模块121可产生用于PU的候选预测运动矢量列表。候选预测运动矢量列表可包括一个或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一个或多个额外候选预测运动矢量。在产生用于PU的候选预测运动矢量列表之后,帧间预测模块121可从候选预测运动矢量列表选择候选预测运动矢量且产生用于PU的运动矢量差(MVD)。用于PU的MVD可指示由选定候选预测运动矢量指示的运动矢量与使用IME和FME针对PU产生的运动矢量之间的差。在这些可行的实施方式中,帧间预测模块121可输出识别选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引。帧间预测模块121还可输出PU的MVD。下文详细描述图6中,本申请实施例中高级运动矢量预测(AMVP)模式的一种可行的实施方式。
除了通过对PU执行IME和FME来产生用于PU的运动信息外,帧间预测模块121还可对PU中的每一者执行合并(Merge)操作。当帧间预测模块121对PU执行合并操作时,帧间预测模块121可产生用于PU的候选预测运动矢量列表。用于PU的候选预测运动矢量列表可包括一个或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一个或多个额外候选预测运动矢量。候选预测运动矢量列表中的原始候选预测运动矢量可包括一个或多个空间候选预测运动矢量和时间候选预测运动矢量。空间候选预测运动矢量可指示当前图像中的其它PU的运动信息。时间候选预测运动矢量可基于不同于当前图像的对应的PU的运动信息。时间候选预测运动矢量还可称作时间运动矢量预测(TMVP)。
在产生候选预测运动矢量列表之后,帧间预测模块121可从候选预测运动矢量列表选择候选预测运动矢量中的一个。帧间预测模块121可接着基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。下文描述的图5说明Merge示例性的流程图。
根据本申请的技术,可在候选预测运动矢量列表构建期间,在候选预测运动矢量列表中直接包括原始候选预测运动矢量,通过标识位指示一种类型的额外候选预测运动矢量,以控制候选预测运动矢量列表的长度。特别的,通过不同的标识位指示不同类型的额外候选预测运动矢量。在编解码时,当选中一个标识位时,从该标识位指示的额外候选预测运动矢量集合中选取预测运动矢量。
在基于IME和FME产生用于PU的预测性图像块和基于合并操作产生用于PU的预测性图像块之后,帧间预测模块121可选择通过FME操作产生的预测性图像块或者通过合并操作产生的预测性图像块。在一些可行的实施方式中,帧间预测模块121可基于通过FME操作产生的预测性图像块和通过合并操作产生的预测性图像块的码率-失真代价分析来选择用于PU的预测性图像块。
在帧间预测模块121已选择通过根据分割模式中的每一者分割当前CU而产生的PU的预测性图像块之后(在一些实施方式中,编码树单元CTU划分为CU后,不会再进一步划分为更小的PU,此时PU等同于CU),帧间预测模块121可选择用于当前CU的分割模式。在一些实施方式中,帧间预测模块121可基于通过根据分割模式中的每一者分割当前CU而产生的PU的选定预测性图像块的码率-失真代价分析来选择用于当前CU的分割模式。帧间预测模块121可将与属于选定分割模式的PU相关联的预测性图像块输出到残差产生模块102。帧间预测模块121可将指示属于选定分割模式的PU的运动信息的语法元素输出到熵编码模块。
在图4的示意图中,帧间预测模块121包括IME模块180A到180N(统称为“IME模块180”)、FME模块182A到182N(统称为“FME模块182”)、合并模块184A到184N(统称为“合并模块184”)、PU模式决策模块186A到186N(统称为“PU模式决策模块186”)和CU模式决策模块188(也可以包括执行从CTU到CU的模式决策过程)。
IME模块180、FME模块182和合并模块184可对当前CU的PU执行IME操作、FME操作和合并操作。图4的示意图中将帧间预测模块121说明为包括用于CU的每一分割模式的每一PU的单独IME模块180、FME模块182和合并模块184。在其它可行的实施方式中,帧间预测模块121不包括用于CU的每一分割模式的每一PU的单独IME模块180、FME模块182和合并模块184。
如图4的示意图中所说明,IME模块180A、FME模块182A和合并模块184A可对通过根据2N×2N分割模式分割CU而产生的PU执行IME操作、FME操作和合并操作。PU模式决策模块186A可选择由IME模块180A、FME模块182A和合并模块184A产生的预测性图像块中的一者。
IME模块180B、FME模块182B和合并模块184B可对通过根据N×2N分割模式分割CU而产生的左PU执行IME操作、FME操作和合并操作。PU模式决策模块186B可选择由IME模块180B、FME模块182B和合并模块184B产生的预测性图像块中的一者。
IME模块180C、FME模块182C和合并模块184C可对通过根据N×2N分割模式分割CU而产生的右PU执行IME操作、FME操作和合并操作。PU模式决策模块186C可选择由IME模块180C、FME模块182C和合并模块184C产生的预测性图像块中的一者。
IME模块180N、FME模块182N和合并模块184可对通过根据N×N分割模式分割CU而产生的右下PU执行IME操作、FME操作和合并操作。PU模式决策模块186N可选择由IME模块180N、FME模块182N和合并模块184N产生的预测性图像块中的一者。
PU模式决策模块186可基于多个可能预测性图像块的码率-失真代价分析选择预测性图像块,且选择针对给定解码情形提供最佳码率-失真代价的预测性图像块。示例性的,对于带宽受限的应用,PU模式决策模块186可偏向选择增加压缩比的预测性图像块,而对于其它应用,PU模式决策模块186可偏向选择增加经重建视频质量的预测性图像块。在PU模式决策模块186选择用于当前CU的PU的预测性图像块之后,CU模式决策模块188选择用于当前CU的分割模式且输出属于选定分割模式的PU的预测性图像块和运动信息。
图5为本申请实施例中合并模式的一种实施流程图。视频编码器(例如视频编码器20)可执行合并操作200。该合并操作200可以包括:202、产生用于当前预测单元的候选者列表。204、产生与候选者列表中的候选者相关联的预测性视频块。206、从候选者列表选择候选者。208、输出候选者。其中,候选者是指候选运动矢量或者候选运动信息。
在其它可行的实施方式中,视频编码器可执行不同于合并操作200的合并操作。举例来说,在其它可行的实施方式中,视频编码器可执行合并操作,其中视频编码器执行比合并操作200多、少的步骤或与合并操作200不同的步骤。在其它可行的实施方式中,视频编码器可以不同次序或并行地执行合并操作200的步骤。编码器还可对以跳跃(skip)模式编码的PU执行合并操作200。
在视频编码器开始合并操作200之后,视频编码器可产生用于当前PU的候选预测运动矢量列表(202)。视频编码器可以各种方式产生用于当前PU的候选预测运动矢量列表。举例来说,视频编码器可根据下文关于图8到图12描述的实例技术中的一者产生用于当前PU的候选预测运动矢量列表。其中,根据本申请的技术,用于当前PU的候选预测运动矢量列表中包括至少一个第一候选运动矢量以及至少一个第二候选运动矢量集合的标识。
如前文所述,用于当前PU的候选预测运动矢量列表可包括时间候选预测运动矢量。时间候选预测运动矢量可指示时域对应(co-located)的PU的运动信息。co-located的PU可在空间上与当前PU处于图像帧中的同一个位置,但在参考图像而非当前图像中。本申请可将包括时域对应的PU的参考图像称作相关参考图像。本申请可将相关参考图像的参考图像索引称作相关参考图像索引。如前文所描述,当前图像可与一个或多个参考图像列表(例如,列表0、列表1等)相关联。参考图像索引可通过指示在参考图像某一个参考图像列表中的位置来指示参考图像。在一些可行的实施方式中,当前图像可与组合参考图像列表相关联。
在一些视频编码器中,相关参考图像索引为涵盖与当前PU相关联的参考索引源位置的PU的参考图像索引。在这些视频编码器中,与当前PU相关联的参考索引源位置邻接于当前PU左方或邻接于当前PU上方。在本申请中,如果与PU相关联的图像块包括特定位置,则PU可“涵盖”所述特定位置。在这些视频编码器中,如果参考索引源位置不可用,则视频编码器可使用零的参考图像索引。
然而,可存在以下例子:与当前PU相关联的参考索引源位置在当前CU内。在这些例子中,如果PU在当前CU上方或左方,则涵盖与当前PU相关联的参考索引源位置的PU可被视为可用。然而,视频编码器可需要存取当前CU的另一PU的运动信息以便确定含有co-located PU的参考图像。因此,这些视频编码器可使用属于当前CU的PU的运动信息(即,参考图像索引)以产生用于当前PU的时间候选预测运动矢量。换句话说,这些视频编码器可使用属于当前CU的PU的运动信息产生时间候选预测运动矢量。因此,视频编码器可能不能并行地产生用于当前PU和涵盖与当前PU相关联的参考索引源位置的PU的候选预测运动矢量列表。
视频编码器可在不参考任何其它PU的参考图像索引的情况下显式地设定相关参考图像索引。此可使得视频编码器能够并行地产生用于当前PU和当前CU的其它PU的候选预测运动矢量列表。因为视频编码器显式地设定相关参考图像索引,所以相关参考图像索引不基于当前CU的任何其它PU的运动信息。在视频编码器显式地设定相关参考图像索引的一些可行的实施方式中,视频编码器可始终将相关参考图像索引设定为固定的预定义预设参考图像索引(例如0)。以此方式,视频编码器可基于由预设参考图像索引指示的参考帧中的co-locatedPU的运动信息产生时间候选预测运动矢量,且可将时间候选预测运动矢量包括于当前CU的候选预测运动矢量列表中。
在视频编码器显式地设定相关参考图像索引的可行的实施方式中,视频编码器可显式地在语法结构(例如图像标头、条带标头、APS或另一语法结构)中用信号通知相关参考图像索引。在此可行的实施方式中,视频编码器可用信号通知解码端用于每一LCU(即CTU)、CU、PU、TU或其它类型的子块的相关参考图像索引。举例来说,视频编码器可用信号通知:用于CU的每一PU的相关参考图像索引等于“1”。
在一些可行的实施方式中,相关参考图像索引可经隐式地而非显式地设定。在这些可行的实施方式中,视频编码器可使用由涵盖当前CU外部的位置的PU的参考图像索引指示的参考图像中的PU的运动信息产生用于当前CU的PU的候选预测运动矢量列表中的每一时间候选预测运动矢量,即使这些位置并不严格地邻近当前PU。
在产生用于当前PU的候选预测运动矢量列表之后,视频编码器可产生与候选预测运动矢量列表中的候选预测运动矢量相关联的预测性图像块(204)。视频编码器可通过基于所指示候选预测运动矢量的运动信息确定当前PU的运动信息和接着基于由当前PU的运动信息指示的一个或多个参考块产生预测性图像块来产生与候选预测运动矢量相关联的预测性图像块。视频编码器可接着从候选预测运动矢量列表选择候选预测运动矢量中的一者(206)。视频编码器可以各种方式选择候选预测运动矢量。举例来说,视频编码器可基于对与候选预测运动矢量相关联的预测性图像块的每一者的码率-失真代价分析来选择候选预测运动矢量中的一者。
在选择候选预测运动矢量之后,视频编码器可输出候选预测运动矢量索引(208)。候选预测运动矢量索引可指示在候选预测运动矢量列表中选定候选预测运动矢量的位置。在一些可行的实施方式中,候选预测运动矢量索引可表示为“merge_idx”。
图6为本申请实施例中高级运动矢量预测(AMVP)模式的一种实施流程图。视频编码器(例如视频编码器20)可执行AMVP操作210。该AMVP操作210可以包括:211、产生用于当前预测单元的一个或多个运动向量。212、产生用于当前预测单元的预测性视频块。213、产生用于当前预测单元的候选者列表。214、产生运动向量差。215从候选者列表选择候选者。216、输出参考图片索引、候选者索引,和用于选定候选者的运动向量差。其中,候选者是指候选运动矢量或者候选运动信息。
在视频编码器开始AMVP操作210之后,视频编码器可产生用于当前PU的一个或多个运动矢量(211)。视频编码器可执行整数运动估计和分数运动估计以产生用于当前PU的运动矢量。如前文所描述,当前图像可与两个参考图像列表(列表0和列表1)相关联。如果当前PU经单向预测,则视频编码器可产生用于当前PU的列表0运动矢量或列表1运动矢量。列表0运动矢量可指示当前PU的图像块与列表0中的参考图像中的参考块之间的空间位移。列表1运动矢量可指示当前PU的图像块与列表1中的参考图像中的参考块之间的空间位移。如果当前PU经双向预测,则视频编码器可产生用于当前PU的列表0运动矢量和列表1运动矢量。
在产生用于当前PU的一个或多个运动矢量之后,视频编码器可产生用于当前PU的预测性图像块(212)。视频编码器可基于由用于当前PU的一个或多个运动矢量指示的一个或多个参考块产生用于当前PU的预测性图像块。
另外,视频编码器可产生用于当前PU的候选预测运动矢量列表(213)。视频解码器可以各种方式产生用于当前PU的候选预测运动矢量列表。举例来说,视频编码器可根据下文关于图8到图12描述的可行的实施方式中的一个或多个产生用于当前PU的候选预测运动矢量列表。在一些可行的实施方式中,当视频编码器在AMVP操作210中产生候选预测运动矢量列表时,候选预测运动矢量列表可限于两个候选预测运动矢量。相比而言,当视频编码器在合并操作中产生候选预测运动矢量列表时,候选预测运动矢量列表可包括更多候选预测运动矢量(例如,五个候选预测运动矢量)。
在产生用于当前PU的候选预测运动矢量列表之后,视频编码器可产生用于候选预测运动矢量列表中的每一候选预测运动矢量的一个或多个运动矢量差(MVD)(214)。视频编码器可通过确定由候选预测运动矢量指示的运动矢量与当前PU的对应运动矢量之间的差来产生用于候选预测运动矢量的运动矢量差。
如果当前PU经单向预测,则视频编码器可产生用于每一候选预测运动矢量的单一MVD。如果当前PU经双向预测,则视频编码器可产生用于每一候选预测运动矢量的两个MVD。第一MVD可指示候选预测运动矢量的运动矢量与当前PU的列表0运动矢量之间的差。第二MVD可指示候选预测运动矢量的运动矢量与当前PU的列表1运动矢量之间的差。
视频编码器可从候选预测运动矢量列表选择候选预测运动矢量中的一个或多个(215)。视频编码器可以各种方式选择一个或多个候选预测运动矢量。举例来说,视频编码器可选择具有最小误差地匹配待编码的运动矢量的相关联运动矢量的候选预测运动矢量,此可减少表示用于候选预测运动矢量的运动矢量差所需的位数目。
在选择一个或多个候选预测运动矢量之后,视频编码器可输出用于当前PU的一个或多个参考图像索引、一个或多个候选预测运动矢量索引,和用于一个或多个选定候选预测运动矢量的一个或多个运动矢量差(216)。
在当前图像与两个参考图像列表(列表0和列表1)相关联且当前PU经单向预测的例子中,视频编码器可输出用于列表0的参考图像索引(“ref_idx_10”)或用于列表1的参考图像索引(“ref_idx_11”)。视频编码器还可输出指示用于当前PU的列表0运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_10_flag”)。或者,视频编码器可输出指示用于当前PU的列表1运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_11_flag”)。视频编码器还可输出用于当前PU的列表0运动矢量或列表1运动矢量的MVD。
在当前图像与两个参考图像列表(列表0和列表1)相关联且当前PU经双向预测的例子中,视频编码器可输出用于列表0的参考图像索引(“ref_idx_10”)和用于列表1的参考图像索引(“ref_idx_11”)。视频编码器还可输出指示用于当前PU的列表0运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_10_flag”)。另外,视频编码器可输出指示用于当前PU的列表1运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_11_flag”)。视频编码器还可输出用于当前PU的列表0运动矢量的MVD和用于当前PU的列表1运动矢量的MVD。
图7为本申请实施例中由视频解码器(例如视频解码器30)执行的运动补偿的一种实施流程图。
当视频解码器执行运动补偿操作220时,视频解码器可接收用于当前PU的选定候选预测运动矢量的指示(222)。举例来说,视频解码器可接收指示选定候选预测运动矢量在当前PU的候选预测运动矢量列表内的位置的候选预测运动矢量索引。
如果当前PU的运动信息是使用AMVP模式进行编码且当前PU经双向预测,则视频解码器可接收第一候选预测运动矢量索引和第二候选预测运动矢量索引。第一候选预测运动矢量索引指示用于当前PU的列表0运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置。第二候选预测运动矢量索引指示用于当前PU的列表1运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置。在一些可行的实施方式中,单一语法元素可用以识别两个候选预测运动矢量索引。
在一些可行的实施方式中,如果根据本申请的技术构建的候选预测运动矢量列表,视频解码器可接受指示选定候选预测运动矢量在当前PU的候选预测运动矢量列表内的位置的候选预测运动矢量索引,或者,接受指示选定候选预测运动矢量所属的分类在当前PU的候选预测运动矢量列表内的位置的标识,以及选定候选预测运动矢量在其所属分类中的位置的候选预测运动矢量索引。
另外,视频解码器可产生用于当前PU的候选预测运动矢量列表(224)。视频解码器可以各种方式产生用于当前PU的此候选预测运动矢量列表。举例来说,视频解码器可使用下文参看图8到图12描述的技术来产生用于当前PU的候选预测运动矢量列表。当视频解码器产生用于候选预测运动矢量列表的时间候选预测运动矢量时,视频解码器可显式地或隐式地设定识别包括co-located PU的参考图像的参考图像索引,如前文关于图5所描述。根据本申请的技术,可在候选预测运动矢量列表构建期间,在候选预测运动矢量列表中通过标识位指示一种类型的候选预测运动矢量,以控制候选预测运动矢量列表的长度。
在产生用于当前PU的候选预测运动矢量列表之后,视频解码器可基于由用于当前PU的候选预测运动矢量列表中的一个或多个选定候选预测运动矢量指示的运动信息确定当前PU的运动信息(225)。举例来说,如果当前PU的运动信息是使用合并模式而编码,则当前PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。如果当前PU的运动信息是使用AMVP模式而编码,则视频解码器可使用由所述或所述选定候选预测运动矢量指示的一个或多个运动矢量和码流中指示的一个或多个MVD来重建当前PU的一个或多个运动矢量。当前PU的参考图像索引和预测方向标识可与所述一个或多个选定候选预测运动矢量的参考图像索引和预测方向标识相同。在确定当前PU的运动信息之后,视频解码器可基于由当前PU的运动信息指示的一个或多个参考块产生用于当前PU的预测性图像块(226)。
图8为本申请实施例中编码单元(CU)及与其关联的相邻位置图像块的一种示例性示意图,说明CU250和与CU250相关联的示意性的候选预测运动矢量位置252A到252E的示意图。本申请可将候选预测运动矢量位置252A到252E统称为候选预测运动矢量位置252。候选预测运动矢量位置252表示与CU250在同一图像中的空间候选预测运动矢量。候选预测运动矢量位置252A定位于CU250左方。候选预测运动矢量位置252B定位于CU250上方。候选预测运动矢量位置252C定位于CU250右上方。候选预测运动矢量位置252D定位于CU250左下方。候选预测运动矢量位置252E定位于CU250左上方。图8为用以提供帧间预测模块121和运动补偿模块可产生候选预测运动矢量列表的方式的示意性实施方式。下文将参考帧间预测模块121解释实施方式,但应理解运动补偿模块可实施相同技术,且因此产生相同候选预测运动矢量列表。
图9为本申请实施例中构建候选预测运动矢量列表的一种实施流程图。将参考包括五个候选预测运动矢量的列表描述图9的技术,但本文中所描述的技术还可与具有其它大小的列表一起使用。五个候选预测运动矢量可各自具有索引(例如,0到4)。将参考一般视频解码器描述图9的技术。一般视频解码器示例性的可以为视频编码器(例如视频编码器20)或视频解码器(例如视频解码器30)。对于基于本申请的技术构建的选预测运动矢量列表在下文实施例中详细描述,此处暂不进行赘述。
为了根据图9的实施方式重建候选预测运动矢量列表,视频解码器首先考虑四个空间候选预测运动矢量(902)。四个空间候选预测运动矢量可以包括候选预测运动矢量位置252A、252B、252C和252D。四个空间候选预测运动矢量对应于与当前CU(例如,CU250)在同一图像中的四个PU的运动信息。视频解码器可以特定次序考虑列表中的四个空间候选预测运动矢量。举例来说,候选预测运动矢量位置252A可被第一个考虑。如果候选预测运动矢量位置252A可用,则候选预测运动矢量位置252A可指派到索引0。如果候选预测运动矢量位置252A不可用,则视频解码器可不将候选预测运动矢量位置252A包括于候选预测运动矢量列表中。候选预测运动矢量位置可出于各种理由而不可用。举例来说,如果候选预测运动矢量位置不在当前图像内,则候选预测运动矢量位置可能不可用。在另一可行的实施方式中,如果候选预测运动矢量位置经帧内预测,则候选预测运动矢量位置可能不可用。在另一可行的实施方式中,如果候选预测运动矢量位置在与当前CU不同的条带中,则候选预测运动矢量位置可能不可用。
在考虑候选预测运动矢量位置252A之后,视频解码器可接下来考虑候选预测运动矢量位置252B。如果候选预测运动矢量位置252B可用且不同于候选预测运动矢量位置252A,则视频解码器可将候选预测运动矢量位置252B添加到候选预测运动矢量列表。在此特定上下文中,术语“相同”和“不同”指代与候选预测运动矢量位置相关联的运动信息。因此,如果两个候选预测运动矢量位置具有相同运动信息则被视为相同,且如果其具有不同运动信息则被视为不同。如果候选预测运动矢量位置252A不可用,则视频解码器可将候选预测运动矢量位置252B指派到索引0。如果候选预测运动矢量位置252A可用,则视频解码器可将候选预测运动矢量位置252指派到索引1。如果候选预测运动矢量位置252B不可用或与候选预测运动矢量位置252A相同,则视频解码器跳过候选预测运动矢量位置252B且不将其包括于候选预测运动矢量列表中。
候选预测运动矢量位置252C由视频解码器类似地考虑以供包括于列表中。如果候选预测运动矢量位置252C可用且不与候选预测运动矢量位置252B和252A相同,则视频解码器将候选预测运动矢量位置252C指派到下一可用索引。如果候选预测运动矢量位置252C不可用或并非不同于候选预测运动矢量位置252A和252B中的至少一者,则视频解码器不将候选预测运动矢量位置252C包括于候选预测运动矢量列表中。接下来,视频解码器考虑候选预测运动矢量位置252D。如果候选预测运动矢量位置252D可用且不与候选预测运动矢量位置252A、252B和252C相同,则视频解码器将候选预测运动矢量位置252D指派到下一可用索引。如果候选预测运动矢量位置252D不可用或并非不同于候选预测运动矢量位置252A、252B和252C中的至少一者,则视频解码器不将候选预测运动矢量位置252D包括于候选预测运动矢量列表中。以上实施方式大体上描述示例性地考虑候选预测运动矢量252A到252D以供包括于候选预测运动矢量列表中,但在一些实施方施中,可首先将所有候选预测运动矢量252A到252D添加到候选预测运动矢量列表,稍后从候选预测运动矢量列表移除重复。
在视频解码器考虑前四个空间候选预测运动矢量之后,候选预测运动矢量列表可能包括四个空间候选预测运动矢量或者该列表可能包括少于四个空间候选预测运动矢量。如果列表包括四个空间候选预测运动矢量(904,是),则视频解码器考虑时间候选预测运动矢量(906)。时间候选预测运动矢量可对应于不同于当前图像的图像的co-located PU的运动信息。如果时间候选预测运动矢量可用且不同于前四个空间候选预测运动矢量,则视频解码器将时间候选预测运动矢量指派到索引4。如果时间候选预测运动矢量不可用或与前四个空间候选预测运动矢量中的一者相同,则视频解码器不将所述时间候选预测运动矢量包括于候选预测运动矢量列表中。因此,在视频解码器考虑时间候选预测运动矢量(906)之后,候选预测运动矢量列表可能包括五个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量和框904处考虑的时间候选预测运动矢量)或可能包括四个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量)。如果候选预测运动矢量列表包括五个候选预测运动矢量(908,是),则视频解码器完成构建列表。
如果候选预测运动矢量列表包括四个候选预测运动矢量(908,否),则视频解码器可考虑第五空间候选预测运动矢量(910)。第五空间候选预测运动矢量可(例如)对应于候选预测运动矢量位置252E。如果位置252E处的候选预测运动矢量可用且不同于位置252A、252B、252C和252D处的候选预测运动矢量,则视频解码器可将第五空间候选预测运动矢量添加到候选预测运动矢量列表,第五空间候选预测运动矢量经指派到索引4。如果位置252E处的候选预测运动矢量不可用或并非不同于候选预测运动矢量位置252A、252B、252C和252D处的候选预测运动矢量,则视频解码器可不将位置252处的候选预测运动矢量包括于候选预测运动矢量列表中。因此在考虑第五空间候选预测运动矢量(910)之后,列表可能包括五个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量和框910处考虑的第五空间候选预测运动矢量)或可能包括四个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量)。
如果候选预测运动矢量列表包括五个候选预测运动矢量(912,是),则视频解码器完成产生候选预测运动矢量列表。如果候选预测运动矢量列表包括四个候选预测运动矢量(912,否),则视频解码器添加人工产生的候选预测运动矢量(914)直到列表包括五个候选预测运动矢量(916,是)为止。
如果在视频解码器考虑前四个空间候选预测运动矢量之后,列表包括少于四个空间候选预测运动矢量(904,否),则视频解码器可考虑第五空间候选预测运动矢量(918)。第五空间候选预测运动矢量可(例如)对应于候选预测运动矢量位置252E。如果位置252E处的候选预测运动矢量可用且不同于已包括于候选预测运动矢量列表中的候选预测运动矢量,则视频解码器可将第五空间候选预测运动矢量添加到候选预测运动矢量列表,第五空间候选预测运动矢量经指派到下一可用索引。如果位置252E处的候选预测运动矢量不可用或并非不同于已包括于候选预测运动矢量列表中的候选预测运动矢量中的一者,则视频解码器可不将位置252E处的候选预测运动矢量包括于候选预测运动矢量列表中。视频解码器可接着考虑时间候选预测运动矢量(920)。如果时间候选预测运动矢量可用且不同于已包括于候选预测运动矢量列表中的候选预测运动矢量,则视频解码器可将所述时间候选预测运动矢量添加到候选预测运动矢量列表,所述时间候选预测运动矢量经指派到下一可用索引。如果时间候选预测运动矢量不可用或并非不同于已包括于候选预测运动矢量列表中的候选预测运动矢量中的一者,则视频解码器可不将所述时间候选预测运动矢量包括于候选预测运动矢量列表中。
如果在考虑第五空间候选预测运动矢量(框918)和时间候选预测运动矢量(框920)之后,候选预测运动矢量列表包括五个候选预测运动矢量(922,是),则视频解码器完成产生候选预测运动矢量列表。如果候选预测运动矢量列表包括少于五个候选预测运动矢量(922,否),则视频解码器添加人工产生的候选预测运动矢量(914)直到列表包括五个候选预测运动矢量(916,是)为止。
在一种可能的实现中,可在空间候选预测运动矢量和时间候选预测运动矢量之后人工产生额外合并候选预测运动矢量,以使合并候选预测运动矢量列表的大小固定为合并候选预测运动矢量的指定数目(例如前文图9的可行的实施方式中的五个)。额外合并候选预测运动矢量可包括示例性的经组合双向预测性合并候选预测运动矢量(候选预测运动矢量1)、经缩放双向预测性合并候选预测运动矢量(候选预测运动矢量2),和零向量Merge/AMVP候选预测运动矢量(候选预测运动矢量3)。根据本申请的技术,可以在候选预测运动矢量列表中直接包括空间候选预测运动矢量和时间候选预测运动矢量,在候选预测运动矢量列表中通过标识位指示人工产生的额外合并候选预测运动矢量。
图10为本申请实施例中将经过组合的候选运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图。经组合双向预测性合并候选预测运动矢量可通过组合原始合并候选预测运动矢量而产生。具体来说,原始候选预测运动矢量中的两个候选预测运动矢量(其具有mvL0_A和ref0或mvL1_B和ref0)可用以产生双向预测性合并候选预测运动矢量。在图10中,两个候选预测运动矢量包括于原始合并候选预测运动矢量列表中。一候选预测运动矢量的预测类型为列表0单向预测,且另一候选预测运动矢量的预测类型为列表1单向预测。在此可行的实施方式中,mvL0_A和ref0是从列表0拾取,且mvL1_B和ref0是从列表1拾取,且接着可产生双向预测性合并候选预测运动矢量(其具有列表0中的mvL0_A和ref0以及列表1中的mvL1_B和ref0)并检查其是否不同于已包括于候选预测运动矢量列表中的候选预测运动矢量。如果其不同,则视频解码器可将双向预测性合并候选预测运动矢量包括于候选预测运动矢量列表中。
图11为本申请实施例中将经过缩放的候选运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图。经缩放双向预测性合并候选预测运动矢量可通过缩放原始合并候选预测运动矢量而产生。具体来说,来自原始候选预测运动矢量的一候选预测运动矢量(其可具有mvL0_A和ref0或mvL1_A和ref1)可用以产生双向预测性合并候选预测运动矢量。在图11的可行的实施方式中,两个候选预测运动矢量包括于原始合并候选预测运动矢量列表中。一候选预测运动矢量的预测类型为列表0单向预测,且另一候选预测运动矢量的预测类型为列表1单向预测。在此可行的实施方式中,mvL0_A和ref0可从列表0拾取,且ref0可复制到列表1中的参考索引ref0′。接着,可通过缩放具有ref0和ref0′的mvL0_A而计算mvL0′_A。缩放可取决于POC距离。接着,可产生双向预测性合并候选预测运动矢量(其具有列表0中的mvL0_A和ref0以及列表1中的mvL0′_A和ref0′)并检查其是否为重复的。如果其并非重复的,则可将其添加到合并候选预测运动矢量列表。
图12为本申请实施例中将零运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图。零向量合并候选预测运动矢量可通过组合零向量与可经参考的参考索引而产生。如果零向量候选预测运动矢量并非重复的,则可将其添加到合并候选预测运动矢量列表。对于每一产生的合并候选预测运动矢量,运动信息可与列表中的前一候选预测运动矢量的运动信息比较。
在一种可行的实施方式中,如果新产生的候选预测运动矢量不同于已包括于候选预测运动矢量列表中的候选预测运动矢量,则将所产生的候选预测运动矢量添加到合并候选预测运动矢量列表。确定候选预测运动矢量是否不同于已包括于候选预测运动矢量列表中的候选预测运动矢量的过程有时称作修剪(pruning)。通过修剪,每一新产生的候选预测运动矢量可与列表中的现有候选预测运动矢量比较。在一些可行的实施方式中,修剪操作可包括比较一个或多个新候选预测运动矢量与已在候选预测运动矢量列表中的候选预测运动矢量和不添加为已在候选预测运动矢量列表中的候选预测运动矢量的重复的新候选预测运动矢量。在另一些可行的实施方式中,修剪操作可包括将一个或多个新候选预测运动矢量添加到候选预测运动矢量列表且稍后从所述列表移除重复候选预测运动矢量。
在上述图10-12等各种可行的实施方式中,基于本申请的技术,可以将新产生的候选预测运动矢量作为一类候选运动矢量,在原始候选预测运动矢量列表中通过标识位指示新产生的候选预测运动矢量。在编码时,当选定的候选运动矢量为某一新产生的候选预测运动矢量,则在码流中包括指示新产生的候选预测运动矢量的类别的标识1以及选定的候选运动矢量在新产生的候选预测运动矢量的类别中位置的标识2。在解码时,根据标识1及标识2,从候选预测运动矢量列表中确定选定的候选运动矢量执行后续解码流程。
在上述图5-7、图9-12等各种可行的实施方式中,空间候选预测模式示例性的来自图8所示的252A至252E的五个位置,即与待处理图像块邻接的位置。在上述图5-7、图9-12等各种可行的实施方式的基础上,在一些可行的实施方式中,空间候选预测模式示例性的还可以包括与待处理图像块相距预设距离以内,但不与待处理图像块邻接的位置。示例性的,该类位置可以如图13中的252F至252J所示。应理解,图13为本申请实施例中编码单元及与其关联的相邻位置图像块的一种示例性示意图。与所待处理图像块处于同一图像帧且处理所述待处理图像块时已完成重建的不与所述待处理图像块相邻的图像块所述的位置均在此类位置的范围内。
不妨将该类位置称为空域非邻接图像块,不妨设其中第一空域非邻接图像块、第二空域非邻接图像块和第三空域非邻接图像块可用,其中“可用”的物理意义可以参考前文所述,不再赘述。同时,不妨设,所述空间候选预测模式取自图8所示的位置的预测模式时,按照如下顺序检查并构建候选预测运动模式列表,应理解,其中,检查包括前文提到的“可用”的检查以及修剪的过程,不再赘述。所述候选预测模式列表,包括:252A位置图像块的运动矢量、252B位置图像块的运动矢量、252C位置图像块的运动矢量、252D位置图像块的运动矢量、由选择性时域运动矢量预测(ATMVP)技术获得的运动矢量、252E位置图像块的运动矢量、由时空运动矢量预测(STMVP)技术获得的运动矢量。其中,ATMVP技术和STMVP技术在JVET-G1001-v1的第2.3.1.1节和第2.3.1.2节中有详细记录,本文将JVET-G1001-v1全文引入于此,不再赘述。应理解,示例性的,所述候选预测模式列表包括以上7个预测运动矢量,根据不同的具体实施方式,所述候选预测模式列表所包含的预测运动矢量的个数可能少于7个,比如取前5个构成所述候选预测模式列表,还可以将前文所述的图10-12中各可行的实施方式所构建的运动矢量加入到所述候选预测模式列表中,使其包含更多的预测运动矢量。在一种可行的实施方式中,可以将上述第一空域非邻接图像块、第二空域非邻接图像块和第三空域非邻接图像块加入到所述候选预测模式列表中,作为待处理图像块的预测运动矢量。进一步的,不妨设252A位置图像块的运动矢量、252B位置图像块的运动矢量、252C位置图像块的运动矢量、252D位置图像块的运动矢量、由ATMVP技术获得的运动矢量、252E位置图像块的运动矢量、由STMVP技术获得的运动矢量分别为MVL、MVU、MVUR、MVDL、MVA、MVUL、MVS,设第一空域非邻接图像块、第二空域非邻接图像块和第三空域非邻接图像块的运动矢量分别为MV0、MV1、MV2,则可以按照如下顺序检查并构建候选预测运动矢量列表:
示例1:MVL、MVU、MVUR、MVDL、MV0、MV1、MV2、MVA、MVUL、MVS;
示例2:MVL、MVU、MVUR、MVDL、MVA、MV0、MV1、MV2、MVUL、MVS;
示例3:MVL、MVU、MVUR、MVDL、MVA、MVUL、MV0、MV1、MV2、MVS;
示例4:MVL、MVU、MVUR、MVDL、MVA、MVUL、MVS、MV0、MV1、MV2;
示例5:MVL、MVU、MVUR、MVDL、MVA、MV0、MVUL、MV1、MVS、MV2;
示例6:MVL、MVU、MVUR、MVDL、MVA、MV0、MVUL、MV1、MV2、MVS;
示例7:MVL、MVU、MVUR、MVDL、MVA、MVUL、MV0、MV1、MV2、MVS;
应理解,上述候选预测运动矢量列表可以用于上文所述的Merge模式或者AMVP模式,或者其它获取待处理图像块的预测运动矢量的预测模式中,可以用于编码端,也可以和对应的编码端保持一致地用于解码端,不作限定,同时,候选预测运动矢量列表中候选预测运动矢量的数量也是预设的,并且在编解码端保持一致,具体的数量不做限定。
应理解,示例1至示例7示例性地给出了几种可行的候选预测运动矢量列表的组成方式,基于空域非邻接图像块的运动矢量,还可以有其他的候选预测运动矢量列表的组成方式以及列表中候选预测运动矢量的排列方式,不作限定。
本申请实施例提供了另一种构建候选预测运动矢量列表的方法,与示例1至示例7等候选预测运动矢量列表的方法相比,该实施例将在其他实施例中确定的候选预测运动矢量与预设的矢量差相结合,形成了新的候选预测运动矢量,克服了预测运动矢量的预测精度低的缺陷,提高了编码效率。
在本申请的一种可行的实施方式中,如图14A所示,待处理图像块的候选预测运动矢量列表包括两个分列表:第一运动矢量集合和矢量差集合。其中,第一运动矢量集合的构成可以参考本文前述实施例中的各种构成方式,示例性的,比如H.265标准所规定的Merge模式或AMVP模式下候选运动矢量集合的构成方式。矢量差集合包括一个或多个预设的矢量差。
在一些可行的实施方式中,矢量差集合中的每个矢量差和从第一运动矢量集合中确定的原始目标运动矢量相加,相加后的矢量差和原始目标运动矢量一起,成为一个新的运动矢量集合。
在一些可行的实施方式中,图14A所示的候选预测运动矢量列表中可以将矢量差集合作为子集合包含于候选预测运动矢量列表中,候选预测运动矢量列表中通过标识位(矢量差集合计算的MV)来指示该矢量差集合,在矢量差集合中通过索引指示每个矢量差,构建的候选预测运动矢量列表如图14B所示。
应理解,本申请技术提供的预测运动矢量列表中通过标识位指示一类候选运动矢量的方式,可以用于上文所述的Merge模式或者AMVP模式,或者其它获取待处理图像块的预测运动矢量的预测模式中,可以用于编码端,也可以和对应的编码端保持一致地用于解码端,不作限定,同时,候选预测运动矢量列表中候选预测运动矢量的数量也是预设的,并且在编解码端保持一致,具体的数量不做限定。
以下,结合附图对本申请实施例提供的预测运动信息的解码方法进行详细描述。按照本申请实施例的技术,编码端或者解码端在构建候选运动信息列表时,在列表中通过标识位指示一类候选运动信息以控制列表的长度,本申请实施例提供的预测运动信息的解码方法基于此展开,该方法由解码装置执行,该解码装置可以为图1所示的视频译码系统1中的视频解码器200,或者,也可以为视频解码器200中的功能单元,本申请对此不进行具体限定。
图15为本申请实施例的示意性流程图,涉及一种预测运动信息的解码方法,具体可以包括:
S1501、解码装置解析码流以获得第一标识。
如前所述,码流由编码端对当前图像块进行编码后发送,第一标识指示编码端对当前图像块编码时从选定的候选运动信息的位置,第一标识用于解码装置确定该选定的候选运动信息,进而预测待处理图像块的运动信息。
一种可能的实现中,第一标识可以为选定的候选运动信息的具体索引,这种情况下,第一标识即可唯一确定出一个候选运动信息。
一种可能的实现中,第一标识可以为选定的候选运动信息所属分类的标识,这种情况下,码流中还包括第四标识,以指示选定的候选运动信息在其所属分类中的具体位置。
需要说明的是,解析码流获取标识的具体实现本申请不进行具体限定,对于第一标识、第四标识在码流中的位置以及形式,本申请实施例对此也不进行具体限定。
可选的,第一标识可以采用定长编码方式。例如,第一标识可以为1个比特标识,其指示的种类有限。
可选的,第一标识可以采用变长编码方式。
S1502、解码装置根据第一标识,从第一候选集合中确定目标元素,第一候选集合中的元素包括至少一个第一候选运动信息和至少一个第二候选集合,第二候选集合中的元素包括多个第二候选运动信息。
其中,第一候选集合可以为构建的候选运动信息列表。在第一候选集合中,直接包含至少一个第一候选运动信息,多个第二候选运动信息以第二候选集合的形式包含于第一候选集合中。
在一种可行的实施方式中,第二候选运动信息和第一候选运动信息不相同。
示例性的,第一候选运动信息与每个第二候选集合中包括的第二候选运动信息,可以为采用不同的MV预测模式确定的候选运动信息,或者,可以为不同类型的候选运动信息,本申请实施例对此不进行具体限定。
例如,第一候选运动信息可以为Merge方式获取的运动信息,第二候选运动信息可以为Affine Merge方式获取的运动信息。
例如,第一候选运动信息可以为原始候选运动信息,第二候选运动信息可以为根据原始候选运动信息生成的运动信息。
示例性的,如图16A、图16B所示,示意了两种Merge候选列表。在图16A或图16B示意的Merge候选列表中,列表中的标识位用于指示一个候选运动信息集合。标识位可以位于列表中的任意位置,本申请实施例对此不进行具体限定。例如,标识位可以位于如图16A所示的列表中的末尾;或者,标识位可以位于如图16B所示的列表中的中部。当码流中的第一标识指示该标识位时,则确定目标元素为该标识位指示的候选运动信息集合。再对标识位所指向的候选运动信息集合中,根据进一步的标识(S1504中的第二标识)选取其中一候选运动信息作为目标运动信息,用来预测待处理图像块的运动信息。
在另一种可行的实施方式中,如图16C所示,在Merge候选列表中,增加不只1个标识位,每个标识位均指向一个特定候选运动信息集合。当码流中的第一标识指示某一个标识位时,则确定目标元素为该标识位指示的候选运动信息集合。
图16A、图16B、图16C通过在Merge列表中引入标识位(指针)方式,以子集合方式实现候选的引入,当引入多候选情况,大大减少了候选列表的长度,减少了列表重构复杂度,有益于硬件实现简化。
在一种可行的实施方式中,第一候选运动信息可以包括待处理图像块的空域相邻图像块的运动信息。需要说明的是,对于空域相邻图像块的运动信息的定义,已经在前述内容进行了说明,此处不再进行赘述。
在一种可行的实施方式中,第二候选运动信息可以包括待处理图像块的空域非相邻图像块的运动信息。需要说明的是,对于空域非相邻图像块的运动信息的定义,已经在前述内容进行了说明,此处不再进行赘述。
在一种可行的实施方式中,第一候选运动信息包括第一运动信息,第二候选运动信息包括第二运动信息,第二运动信息基于第一运动信息和预设的运动信息偏移量获得。
其中,第一运动信息的获取方式可以根据实际需求选取,本申请实施例对此不进行具体限定。用于获取第二运动信息的预设的运动信息偏移量的取值,可以为定值也可以是从一个集合中选取的值,本申请实施例对于预设的运动信息偏移量的内容及形式均不进行具体限定。
在一种可行的实施方式中,第一候选运动信息包括第一运动信息,第二候选运动信息包括预设的运动信息偏移量。根据第一运动信息和预设的运动信息偏移量即可生成新的运动信息。
在一种可行的实施方式中,第一候选运动信息包括第一运动信息,至少一个第二候选集合为多个第二候选集合,多个第二候选集合包括至少一个第三候选集合和至少一个第四候选集合,第三候选集合中的元素包括多个待处理图像块的空域非相邻图像块的运动信息,第四候选集合中的元素包括多个基于第一运动信息和预设的运动信息偏移量获得的运动信息。
在一种可行的实施方式中,至少一个第二候选集合为多个第二候选集合,多个第二候选集合包括至少一个第五候选集合和至少一个第六候选集合,第五候选集合中的元素包括多个待处理图像块的空域非相邻图像块的运动信息,第六候选集合中的元素包括多个预设的运动信息偏移量。
在一种可行的实施方式中,在至少一个第一候选运动信息中,用于标识第一运动信息的编码码字最短。
在一种可行的实施方式中,第一运动信息不包括根据ATMVP模式获得的运动信息。
如S1501中所述,第一标识可以为第一候选集合中的索引,也可以是运动信息所述分类的标识,根据具体内容,S1502可以实现为下述两种情况:
情况1、第一标识为第一候选集合中的索引。
在情况1中,S1502中解码装置可以将第一候选集合中,第一标识指示的位置的元素确定为目标元素。由于第一候选集合包括至少一个第一候选运动信息和至少一个第二候选集合,所以,根据第一标识确定的目标元素可能是第一候选运动集合,也可能是一个第二候选集合,取决于第一标识指示的位置排列的内容。
情况2、第一标识为候选运动信息分类的标识。
在情况2中,S1502中解码装置根据第一标识确定目标元素所属的分类。解码装置再解析码流以获取第四标识,第四标识指示目标元素在其分类中的具体位置,根据第四标识在其分类中唯一确定出目标元素。具体的,若第一标识指示目标元素属于第一候选运动信息的分类,根据第四标识在至少一个第一候选运动信息中确定一个第一候选运动信息作为目标元素。若第一标识指示目标元素属于某一种第二候选运动信息的分类,根据第四标识,确定出作为目标元素的一个第二候选集合。
示例性的,假设第一候选运动信息为Merge运动信息,第一候选集合中包括两个第二候选集合,一个第二候选集合中的第二候选运动信息为第一类型的Affine Merge运动信息,另一个第二候选集合中的第二候选运动信息为第二类型的Affine Merge运动信息。配置标识为0指示Merge运动信息,标识为1指示Affine Merge运动信息。若解码装置在S1501中解析码流获取的第一标识为0,则S1502中解码装置再解析码流获取第四标识。根据第四标识,在第一候选集合中的至少一个Merge运动信息中确定一个Merge运动信息作为目标元素。若解码装置在S1501中解析码流获取的第一标识为1,则S1502中解码装置再解析码流获取第四标识。根据第四标识,在两个第二候选集合中确定一个第二候选集合作为目标元素。
可选的,在S1502中,解码装置确定目标元素若为第一候选运动信息,则执行S1503;在S1502中,解码装置确定目标元素若为第二候选集合,则执行S1504。
S1503、当目标元素为第一候选运动信息时,将第一候选运动信息作为目标运动信息。
其中,目标运动信息用来预测待处理图像块的运动信息。
可选的,目标运动信息用来预测待处理图像块的运动信息,具体可以实现为:将目标运动信息作为待处理图像块的运动信息;或者,将目标运动信息作为待处理图像块的预测运动信息。在实际应用中,可以根据实际需求选取目标运动信息用来预测待处理图像块的运动信息的具体实现,此处不进行具体限定。
进一步的,对于待处理图像块的后续处理,已经在前述内容中进行了详细描述,此处不再进行赘述。
S1504、当目标元素为第二候选集合时,解析码流以获得第二标识,根据第二标识,从多个第二候选运动信息中确定目标运动信息。
需要说明的是,解析码流获取标识的具体实现本申请不进行具体限定,对于第二标识在码流中的位置以及形式,本申请实施例对此也不进行具体限定。
可选的,第二标识可以采用定长编码方式。例如,第二标识可以为1个比特标识,其指示的种类有限。
可选的,第二标识可以采用变长编码方式。例如,第二标识可以为多个比特标识。
可选的,根据第二候选运动信息的内容不同,S1504中根据第二标识,从多个第二候选运动信息中确定目标运动信息可以通过下述一种可行的实现方式实现,但并不局限于此。
在一种可行的实施方式中,当第一候选运动信息包括第一运动信息,第二候选运动信息包括第二运动信息,第二运动信息基于第一运动信息和预设的运动信息偏移量获得,在该方式中,第二标识可以为目标运动信息在第二候选集合中的具体位置,S1504中解码装置根据第二标识,从多个第二候选运动信息中确定目标运动信息,具体可以实现为:将作为目标元素的第二候选集合中,第二标识指示的位置的第二候选运动信息确定为目标运动信息。
在一种可行的实施方式中,当第一候选运动信息包括第一运动信息,第二候选运动信息包括预设的运动信息偏移量,在该方式中,第二标识为目标偏移量在第二候选集合中的具体位置,S1504中解码装置根据第二标识,从多个第二候选运动信息中确定目标运动信息,可以具体实现为:根据第二标识从多个预设的运动信息偏移量中确定目标偏移量;基于第一运动信息和目标偏移量确定目标运动信息。
在一种可行的实施方式中,当第一候选运动信息包括第一运动信息,第二候选运动信息包括预设的运动信息偏移量,在根据第二标识从多个预设的运动信息偏移量中确定目标偏移量之前,本申请提供的预测运动信息的解码方法还可以包括:将多个预设的运动信息偏移量和预设系数相乘,以得到多个调整后的运动信息偏移量;对应的,根据第二标识从多个预设的运动信息偏移量中确定目标偏移量,包括:根据第二标识从多个调整后的运动信息偏移量中确定目标偏移量。
在一种可行的实施方式中,当第一候选运动信息包括第一运动信息,第二候选运动信息包括预设的运动信息偏移量,在该方式中,S1504中解码装置根据第二标识,从多个第二候选运动信息中确定目标运动信息,可以具体实现为:根据第二标识从多个预设的运动信息偏移量中确定一个运动信息偏移量并乘以预设系数后作为目标偏移量;基于第一运动信息和目标偏移量确定目标运动信息。
需要说明的是,预设系数可以为配置在解码装置内的固定系数,也可以为码流中携带的系数,本申请实施例对此不进行具体限定。
进一步可选的,当预设系数为码流中携带的系数时,本申请提供的预测运动信息的解码方法还可以包括S1505。
S1505、解析码流以获得第三标识。
其中,第三标识包括预设系数。
通过本申请提供的预测运动信息的解码方法,第一候选集合中的元素包括了第一候选运动信息以及至少一个第二候选集合,这样一来,多层候选集合的结构,当引入更多候选时,可以将一类候选运动信息的集合作为一个元素添加在第一候选集合中,相比于直接将候选运动信息加入第一候选集合,大大所选了第一候选集合的长度。当第一候选集合为帧间预测的候选运动信息列表时,即使引起更多的候选,也可以很好的控制候选运动信息列表的长度,为检测过程和硬件实现提供便利。
示例性的,下面为本申请实施例的几个具体实施方式:
实施例1:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。其中,第一索引0-5对应的候选运动信息包括运动矢量及参考图像,第一索引6对应基于索引0所对应的候选运动信息以及预设运动矢量偏移生成的新运动信息。假设第一索引0所对应的候选运动信息为前向预测,运动矢量为(2,-3),参考帧POC为2。预设的运动矢量偏移为(1,0),(0,-1),(-1,0),(0,1)。当解析码流得到第一索引值为6时,表明当前图像块采用的运动信息为基于索引0所对应的候选运动信息及预设运动矢量偏移生成的新的运动信息,则进一步解码以获取第二索引值。当进一步解码得到的第二索引值为1时,则当前图像块的运动信息为前向预测,运动矢量为(2,-3)+(0,-1)=(2,-4),参考帧POC为2。
实施例2:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。其中,第一索引0-5对应的候选运动信息包括运动矢量及参考图像,第一索引6对应基于第一索引0所对应的候选运动信息以及预设运动矢量偏移生成的新运动信息。假设第一索引0所对应的候选的运动信息为双向预测,前向运动矢量为(2,-3),参考帧POC为2,后向运动矢量为(-2,-1),参考帧POC为4。预设的运动矢量偏移为(1,0),(0,-1),(-1,0),(0,1)。当解析码流得到第一索引值为6时,表明当前图像块采用的运动信息为基于索引0所对应的候选运动信息及预设运动矢量偏移生成的新的运动信息,则进一步解码以获取第二索引值。当进一步解码得到的第二索引值为0时,则当前图像块的运动信息为双向预测,当前帧POC为3时,此时前后向参考帧POC较当前帧POC为非同向。则前向运动矢量为(2,-3)+(1,0)=(3,-3),参考帧POC为2,后向运动矢量为(-2,-1)-(1,0)=(-3,-1),参考帧POC为4;当前帧POC为6时,此时前后向参考帧POC较当前帧POC为同向。则前向运动矢量为(2,-3)+(1,0)=(3,-3),参考帧POC为2,后向运动矢量为(-2,-1)+(1,0)=(-1,-1),参考帧POC为4。
实施例3:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。其中,第一索引0-5对应的候选运动信息包括运动矢量及参考图像,设第一索引0指示的候选运动信息由子块运动信息所构成,第一索引1所对应的候选运动信息不是由子块运动信息所构成且运动信息为前向预测,运动矢量为(2,-3),参考帧POC为2;第一索引6对应基于第一索引1所对应的候选运动信息以及预设运动矢量偏移生成的新运动信息;预设的运动矢量偏移为(1,0),(0,-1),(-1,0),(0,1)。当解析码流得到第一索引值为6时,表明当前图像块采用的运动信息为基于第一索引1所对应的候选运动信息及预设运动矢量偏移生成的新的运动信息,则进一步解码以获取第二索引值。当进一步解码得到的第二索引值为1时,则当前块的运动信息为前向预测,运动矢量为(2,-3)+(0,-1)=(2,-4),参考帧POC为2。
实施例4:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。第一索引6指示当前块采用非相邻空域候选的运动信息作为当前块的参考运动信息。设非相邻空域候选集合大小为4,非相邻空域候选集合是根据预设的检测顺序将可用的非相邻空域候选放入集合中,设集合中非相邻空域候选运动信息如下:
第二索引0:候选0:前向预测,运动矢量为(2,-3),参考帧POC为2。
第二索引1:候选1:前向预测,运动矢量为(1,-3),参考帧POC为4。
第二索引2:候选2:后向预测,运动矢量为(2,-4),参考帧POC为2。
第二索引3:候选3:双向预测,前向运动矢量为(2,-3),参考帧POC为2,后向运动矢量为(2,-2),参考帧POC为4。
当解码得到第一索引值为6时,表明当前块采用非相邻空域候选的运动信息作为当前块的参考运动信息,则进一步解码以获取第二索引值。进一步解码得到的第二索引值为1时,则将非相邻空域候选集合中的候选1的运动信息作为当前块的运动信息。
实施例5:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。第一索引0所对应的候选运动信息为前向预测,运动矢量为(2,-3),参考帧POC为2。第一索引6指示基于第一索引0所对应的候选运动信息生成的新的运动信息或采用非相邻空域候选的运动信息作为当前块的参考运动信息。设非相邻空域候选集合大小为4,非相邻空域候选集合是根据预设的检测顺序将可用的非相邻空域候选放入集合中,设集合中非非相邻空域候选运动信息如下:
第二索引0:候选0:前向预测,运动矢量为(-5,-3),参考帧POC为2。
第二索引1:候选1:前向预测,运动矢量为(1,-3),参考帧POC为4。
第二索引2:候选2:后向预测,运动矢量为(2,-4),参考帧POC为2。
第二索引3:候选3:双向预测,前向运动矢量为(2,-3),参考帧POC为2,后向运动矢量为(2,-2),参考帧POC为4。
根据第一索引0所对应的候选的运动信息和预设的运动矢量偏移(1,0),(0,-1),(-1,0),(0,1),得到另外4个候选如下:
第二索引4:候选4:前向预测,运动矢量为(2,-3)+(1,0),参考帧POC为2。
第二索引5:候选5:前向预测,运动矢量为(2,-3)+(0,-1),参考帧POC为2。
第二索引6:候选6:前向预测,运动矢量为(2,-3)+(-1,0),参考帧POC为2。
第二索引7:候选7:前向预测,运动矢量为(2,-3)+(0,1),参考帧POC为2。
当解码得到第一索引值为6时,表明当前块采用基于第一索引0所对应的候选运动信息生成的新的运动信息或采用非相邻空域候选的运动信息作为当前块的参考运动信息,则进一步解码以获取第二索引值。当进一步解码得到的第二索引值为0时,则将非相邻空域候选集合中的候选0(前向预测,运动矢量为(-5,-3),参考帧POC为2)的运动信息作为当前块的运动信息。当进一步解码得到的第二索引值为5时,则将进行了运动矢量偏移的候选5(前向预测,运动矢量为(2,-3)+(0,-1),参考帧POC为2)作为当前块运动信息。
实施例6:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。第一索引0所对应的候选的运动信息为前向预测,运动矢量为(2,-3),参考帧POC为2。第一索引6指示当前块采用的运动信息为基于第一索引0所对应的候选运动信息生成的新的运动信息。根据预设的运动矢量偏移
(1,0),(0,-1),(-1,0),(0,1);
(2,0),(0,-2),(-2,0),(0,2);
第二索引值0表示间距为1的候选,1表示间距为2的候选,第三索引值表示运动矢量偏移的候选索引。当解码得到第一索引值为6时,表明当前块采用的运动信息为基于第一索引0所对应的候选运动信息生成的新的运动信息,则进一步解码以获取第二索引值。当进一步解码得到的第二索引值,第三索引值分别为1,3时,则选择间距为2且索引为2的偏移运动矢量(-2,0)。则当前块的运动信息为前向预测,运动矢量为(2,-3)+(-2,0)=(0,-3),参考帧POC为2。
实施例7:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。第一索引6指示当前块采用AFFINE得到的运动信息候选集合中的其中一个候选为参考运动信息。设AFFINE运动信息候选集合包括4个AFFINE运动信息候选:
第二索引0:AFFINE候选0;
第二索引1:AFFINE候选1;
第二索引2:AFFINE候选2;
第二索引3:AFFINE候选3;
当解码得到第一索引值为6时,表明当前块采用AFFINE得到的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二索引值。进一步解码得到的第二索引值为1时,则将AFFINE候选1的运动信息作为当前块的运动信息。
实施例8:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。第一索引6指示当前块采用相邻空域得到的运动信息候选集合中的其中一个候选为参考运动信息。设相邻空域运动信息候选集合包括4个相邻空域运动信息候选:
第二索引0:相邻空域候选0;
第二索引1:相邻空域候选1;
第二索引2:相邻空域候选2;
第二索引3:相邻空域候选3;
当解码得到第一索引值为6时,表明当前块采用相邻空域得到的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二索引值。进一步解码得到的第二索引值为1时,则将相邻空域候选1的运动信息作为当前块的运动信息。
实施例9:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。第一索引6指示当前块采用相邻时域得到的运动信息候选集合中的其中一个候选为参考运动信息。设相邻时域运动信息候选集合包括4个相邻时域运动信息候选:
第二索引0:相邻时域候选0;
第二索引1:相邻时域候选1;
第二索引2:相邻时域候选2;
第二索引3:相邻时域候选3;
当解码得到第一索引值为6时,表明当前块采用相邻时域得到的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二索引值。进一步解码得到的第二索引值为1时,则将相邻时域候选1的运动信息作为当前块的运动信息。
实施例10:
设Merge候选列表最大长度为7,第一索引0-6指示了Merge列表中各候选空间。第一索引6指示当前块采用由子块运动信息所构成的运动信息候选集合中的其中一个候选为参考运动信息。设由子块运动信息所构成的运动信息候选集合包括AFFINE运动信息候选、ATMVP、STMVP候选:
第二索引0:AFFINE候选;
第二索引1:ATMVP候选;
第二索引2:STMVP候选;
当解码得到第一索引值为6时,表明当前块采用由子块运动信息所构成的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二索引值。进一步解码得到的第二索引值为1时,则将ATMVP候选的运动信息作为当前块的运动信息。
实施例11:
在Merge候选空间中,该列表中空间0-5为采用Merge得到的运动信息,空间6为AFFINE得到的运动信息候选集合。设第一索引0指示当前块采用Merge得到的运动信息为参考运动信息,第一索引1指示了指示当前块采用AFFINE得到的运动信息候选集合中的其中一个候选为参考运动信息。设AFFINE运动信息候选集合包括4个AFFINE运动信息候选:
第二索引0:AFFINE候选0;
第二索引1:AFFINE候选1;
第二索引2:AFFINE候选2;
第二索引3:AFFINE候选3;
一种情况,当解码得到第一索引值为1时,表明当前块采用AFFINE得到的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二标识值。进一步解码得到的第二标识值为1时,则将AFFINE候选1的运动信息作为当前块的运动信息;
一种情况,当解码得到第一索引值为0时,表明当前块采用Merge得到的运动信息为参考运动信息,则进一步解码以获取第四索引。进一步解码得到的第四索引值为2时,则将Merge候选列表中空间2的运动信息作为当前块的运动信息。
实施例12:
在Merge候选空间中,该列表中空间0-3为采用Merge得到的运动信息,空间4为采用相邻时域得到的运动信息候选集合,空间5为由子块运动信息所构成的运动信息候选集合,空间6为AFFINE得到的运动信息候选集合。设第一索引0指示当前块采用Merge得到的运动信息为参考运动信息,第一索引1指示了指示当前块采用AFFINE得到的运动信息候选集合中的其中一个候选为参考运动信息,第一索引01指示了指示当前块采用相邻时域得到的运动信息候选集合中的其中一个候选为参考运动信息;第一索引11指示了当前块采用由子块运动信息所构成的运动信息候选集合中的其中一个候选为参考运动信息。
设AFFINE运动信息候选集合包括4个AFFINE运动信息候选:
第二标识0:AFFINE候选0;
第二标识1:AFFINE候选1;
第二标识2:AFFINE候选2;
第二标识3:AFFINE候选3;
设相邻时域运动信息候选集合包括4个相邻时域运动信息候选:
第二索引0:相邻时域候选0;
第二索引1:相邻时域候选1;
第二索引2:相邻时域候选2;
第二索引3:相邻时域候选3;
设由子块运动信息所构成的运动信息候选集合包括AFFINE运动信息候选、ATMVP、STMVP候选:
第二索引0:AFFINE候选;
第二索引1:ATMVP候选;
第二索引2:STMVP候选;
一种情况,当解码得到第一索引值为0时,表明当前块采用Merge得到的运动信息为参考运动信息,则进一步解码以获取第四索引。进一步解码得到的第四索引值为2时,则将Merge候选列表中空间2的运动信息作为当前块的运动信息。
一种情况,当解码得到第一索引值为1时,表明当前块采用AFFINE得到的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二标识值。进一步解码得到的第二标识值为1时,则将AFFINE候选1的运动信息作为当前块的运动信息。
一种情况,当解码得到第一索引值为01时,表明当前块采用相邻时域得到的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二标识值。进一步解码得到的第二标识值为2时,则将相邻时域候选2的运动信息作为当前块的运动信息。
一种情况,当解码得到第一索引值为11时,表明当前块采用由子块运动信息所构成的运动信息候选集合中的其中一个候选为参考运动信息,则进一步解码以获取第二索引值。进一步解码得到的第二索引值为1时,则将ATMVP候选的运动信息作为当前块的运动信息。
本申请实施例提供一种预测运动信息的解码装置,该装置可以为视频解码器,也可以为视频编码器,还可以为解码器。具体的,预测运动信息的解码装置用于执行以上预测运动信息的解码方法中的解码装置所执行的步骤。本申请实施例提供的预测运动信息的解码装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对预测运动信息的解码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图17示出上述实施例中所涉及的预测运动信息的解码装置的一种可能的结构示意图。如图9所示,预测运动信息的解码装置1700可以包括解析模块1701、确定模块1702、赋值模块1703。具体的,各模块功能如下:
解析模块1701,用于解析码流以获得第一标识。
确定模块1702,用于根据第一标识,从第一候选集合中确定目标元素,第一候选集合中的元素包括至少一个第一候选运动信息和至少一个第二候选集合,第二候选集合中的元素包括多个第二候选运动信息。
赋值模块1703,当目标元素为第一候选运动信息时,用于将第一候选运动信息作为目标运动信息,目标运动信息用来预测待处理图像块的运动信息。
解析模块1701,当目标元素为第二候选集合时,还用于解析码流以获得第二标识,根据第二标识,确定模块1702还用于从多个第二候选运动信息中确定目标运动信息。
其中,解析模块1701用于支持该预测运动信息的解码装置1700执行上述实施例中的S1501及S1505等,和/或用于本文所描述的技术的其它过程。确定模块1702用于支持该预测运动信息的解码装置1700执行上述实施例中的S1502等,和/或用于本文所描述的技术的其它过程。赋值模块1703用于支持该预测运动信息的解码装置1700执行上述实施例中的S1502等,和/或用于本文所描述的技术的其它过程。
在一种可行的实施方式中,当确定模块1702确定的目标元素为第二候选集合时,解析模块1701还用于:解析码流以获得第三标识,第三标识包括预设系数。
进一步的,如图17所示,预测运动信息的解码装置1700还可以包括计算模块1704,用于将所述多个预设的运动信息偏移量和所述预设系数相乘,以得到多个调整后的运动信息偏移量。对应的,确定模块1702,具体用于根据所述第二标识从所述多个调整后的运动信息偏移量中确定所述目标偏移量。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
虽然关于视频编码器100及视频解码器200已描述本申请的特定方面,但应理解,本申请的技术可通过许多其它视频编码和/或编码单元、处理器、处理单元、例如编码器/解码器(CODEC)的基于硬件的编码单元及类似者来应用。此外,应理解,仅作为可行的实施方式而提供关于图17所展示及描述的步骤。即,图17的可行的实施方式中所展示的步骤无需必定按图17中所展示的次序执行,且可执行更少、额外或替代步骤。
在采用集成的单元的情况下,图18为本申请实施例中的预测运动信息的解码设备1800的一种示意性结构框图。具体的,预测运动信息的解码装置1800包括:处理器1801和耦合于所述处理器的存储器1802;所述处理器1801用于执行图17所示的实施例以及各种可行的实施方式。
其中,处理模块1801可以是处理器或控制器,例如可以是中央处理器(CentralProcessingUnit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。存储模块102可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
上述预测运动信息的解码装置1700和预测运动信息的解码装置1800均可执行上述图15所示的预测运动信息的解码方法,预测运动信息的解码装置1700和预测运动信息的解码装置1800具体可以是视频解码装置或者其他具有视频编解码功能的设备。预测运动信息的解码装置1700和预测运动信息的解码装置1800可以用于在解码过程中进行图像预测。
本申请实施例提供一种帧间预测装置,该帧间预测装置可以为视频解码器,也可以为视频编码器,还可以为解码器。具体的,帧间预测装置用于执行以上帧间预测方法中的帧间预测装置所执行的步骤。本申请实施例提供的帧间预测装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对帧间预测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请还提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行本申请实施例的预测运动信息的解码方法。
这里的终端可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的预测运动信息的解码方法。
本申请还提供一种解码器,所述解码器包括本申请实施例中的预测运动信息的解码装置。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当终端中的处理器在执行该程序代码时,该终端执行如图15所示的预测运动信息的解码方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;终端的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得终端实施执行如图15所示的预测运动信息的解码方法。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
此外,应理解,取决于可行的实施方式,本文中所描述的方法中的任一者的特定动作或事件可按不同序列执行,可经添加、合并或一起省去(例如,并非所有所描述的动作或事件为实践方法所必要的)。此外,在特定可行的实施方式中,动作或事件可(例如)经由多线程处理、中断处理或多个处理器来同时而非顺序地执行。另外,虽然出于清楚的目的将本申请的特定方面描述为通过单一模块或单元执行,但应理解,本申请的技术可通过与视频解码器相关联的单元或模块的组合执行。
在一个或多个可行的实施方式中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么功能可作为一个或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来传输,且通过基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体的有形媒体,通信媒体包含促进计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体。
以这个方式,计算机可读媒体示例性地可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或多个计算机或一个或多个处理器存取以检索用于实施本申请中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为可行的实施方式而非限制,此计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于存储呈指令或数据结构的形式的所要代码且可由计算机存取的任何其它媒体。同样,任何连接可适当地称作计算机可读媒体。例如,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL),或例如红外线、无线电及微波的无线技术而从网站、服务器或其它远端源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL,或例如红外线、无线电及微波的无线技术包含于媒体的定义中。
然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而替代地针对非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、雷射光盘、光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过雷射以光学方式再现数据。以上各物的组合也应包含于计算机可读媒体的范围内。
可通过例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效集成或离散逻辑电路的一个或多个处理器来执行指令。因此,如本文中所使用,术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码及解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。同样,技术可完全实施于一个或多个电路或逻辑元件中。
本申请的技术可实施于广泛多种装置或设备中,包含无线手机、集成电路(IC)或IC的集合(例如,芯片组)。本申请中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。更确切来说,如前文所描述,各种单元可组合于编码解码器硬件单元中或由互操作的硬件单元(包含如前文所描述的一个或多个处理器)结合合适软件和/或固件的集合来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (30)
1.一种预测运动信息的解码方法,其特征在于,包括:
解析码流以获得第一标识;
根据所述第一标识,从第一候选集合中确定目标元素,所述第一候选集合中的元素包括至少一个第一候选运动信息和至少一个第二候选集合,所述第二候选集合中的元素包括多个第二候选运动信息;
当所述目标元素为所述第一候选运动信息时,将所述第一候选运动信息作为目标运动信息,所述目标运动信息用来预测待处理图像块的运动信息;
当所述目标元素为所述第二候选集合时,解析所述码流以获得第二标识,根据所述第二标识,从所述多个第二候选运动信息中确定所述目标运动信息。
2.根据权利要求1所述的方法,其特征在于,所述第一候选运动信息包括所述待处理图像块的空域相邻图像块的运动信息。
3.根据权利要求1或2所述的方法,其特征在于,所述第二候选运动信息包括所述待处理图像块的空域非相邻图像块的运动信息。
4.根据权利要求1或2所述的方法,其特征在于,所述第一候选运动信息包括第一运动信息,所述第二候选运动信息包括第二运动信息,所述第二运动信息基于所述第一运动信息和预设的运动信息偏移量获得。
5.根据权利要求1或2所述的方法,其特征在于,所述第一候选运动信息包括第一运动信息,所述第二候选运动信息包括预设的运动信息偏移量;
对应的,所述根据所述第二标识,从所述多个第二候选运动信息中确定所述目标运动信息,包括:
根据所述第二标识从所述多个预设的运动信息偏移量中确定目标偏移量;
基于所述第一运动信息和所述目标偏移量确定所述目标运动信息。
6.根据权利要求1或2所述的方法,其特征在于,所述第一候选运动信息包括第一运动信息,所述至少一个第二候选集合为多个第二候选集合,所述多个第二候选集合包括至少一个第三候选集合和至少一个第四候选集合,所述第三候选集合中的元素包括多个所述待处理图像块的空域非相邻图像块的运动信息,所述第四候选集合中的元素包括多个基于所述第一运动信息和预设的运动信息偏移量获得的运动信息。
7.根据权利要求4至6任一项所述的方法,其特征在于,在所述至少一个第一候选运动信息中,用于标识所述第一运动信息的编码码字最短。
8.根据权利要求7所述的方法,其特征在于,所述第一运动信息不包括根据可选时域运动矢量预测ATMVP模式获得的运动信息。
9.根据权利要求5所述的方法,其特征在于,所述至少一个第二候选集合为多个第二候选集合,所述多个第二候选集合包括至少一个第五候选集合和至少一个第六候选集合,所述第五候选集合中的元素包括多个所述待处理图像块的空域非相邻图像块的运动信息,所述第六候选集合中的元素包括多个预设的运动信息偏移量。
10.根据权利要求9所述的方法,其特征在于,当所述目标元素为所述第二候选集合时,所述方法还包括:
解析所述码流以获得第三标识,所述第三标识包括预设系数。
11.根据权利要求10所述的方法,其特征在于,在所述根据所述第二标识从所述多个预设的运动信息偏移量中确定目标偏移量之前,还包括:
将所述多个预设的运动信息偏移量和所述预设系数相乘,以得到多个调整后的运动信息偏移量;
对应的,所述根据所述第二标识从所述多个预设的运动信息偏移量中确定目标偏移量,包括:
根据所述第二标识从所述多个调整后的运动信息偏移量中确定所述目标偏移量。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述第二候选运动信息和所述第一候选运动信息不相同。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述目标运动信息用来预测待处理图像块的运动信息,包括:
将所述目标运动信息作为所述待处理图像块的运动信息;或者,将所述目标运动信息作为所述待处理图像块的预测运动信息。
14.根据权利要求1至13任一项所述的方法,其特征在于,所述第二标识采用定长编码方式。
15.根据权利要求1至13任一项所述的方法,其特征在于,所述第二标识采用变长编码方式。
16.一种预测运动信息的解码装置,其特征在于,包括:
解析模块,用于解析码流以获得第一标识;
确定模块,用于根据所述第一标识,从第一候选集合中确定目标元素,所述第一候选集合中的元素包括至少一个第一候选运动信息和至少一个第二候选集合,所述第二候选集合中的元素包括多个第二候选运动信息;
赋值模块,当所述目标元素为所述第一候选运动信息时,用于将所述第一候选运动信息作为目标运动信息,所述目标运动信息用来预测待处理图像块的运动信息;
所述解析模块,当所述目标元素为所述第二候选集合时,还用于解析所述码流以获得第二标识,根据所述第二标识,所述确定模块还用于从所述多个第二候选运动信息中确定所述目标运动信息。
17.根据权利要求16所述的装置,其特征在于,所述第一候选运动信息包括所述待处理图像块的空域相邻图像块的运动信息。
18.根据权利要求16或17所述的装置,其特征在于,所述第二候选运动信息包括所述待处理图像块的空域非相邻图像块的运动信息。
19.根据权利要求16或17所述的装置,其特征在于,所述第一候选运动信息包括第一运动信息,所述第二候选运动信息包括第二运动信息,所述第二运动信息基于所述第一运动信息和预设的运动信息偏移量获得。
20.根据权利要求16或17所述的装置,其特征在于,所述第一候选运动信息包括第一运动信息,所述第二候选运动信息包括预设的运动信息偏移量;
对应的,所述解析模块具体用于:
根据所述第二标识从所述多个预设的运动信息偏移量中确定目标偏移量;
基于所述第一运动信息和所述目标偏移量确定所述目标运动信息。
21.根据权利要求16或17所述的装置,其特征在于,所述第一候选运动信息包括第一运动信息,所述至少一个第二候选集合为多个第二候选集合,所述多个第二候选集合包括至少一个第三候选集合和至少一个第四候选集合,所述第三候选集合中的元素包括多个所述待处理图像块的空域非相邻图像块的运动信息,所述第四候选集合中的元素包括多个基于所述第一运动信息和预设的运动信息偏移量获得的运动信息。
22.根据权利要求19至21任一项所述的装置,其特征在于,在所述至少一个第一候选运动信息中,用于标识所述第一运动信息的编码码字最短。
23.根据权利要求22所述的装置,其特征在于,所述第一运动信息不包括根据可选时域运动矢量预测ATMVP模式获得的运动信息。
24.根据权利要求20所述的装置,其特征在于,所述至少一个第二候选集合为多个第二候选集合,所述多个第二候选集合包括至少一个第五候选集合和至少一个第六候选集合,所述第五候选集合中的元素包括多个所述待处理图像块的空域非相邻图像块的运动信息,所述第六候选集合中的元素包括多个预设的运动信息偏移量。
25.根据权利要求24所述的装置,其特征在于,当所述目标元素为所述第二候选集合时,所述解析模块还用于:
解析所述码流以获得第三标识,所述第三标识包括预设系数。
26.根据权利要求25所述的装置,其特征在于,还包括计算模块,用于将所述多个预设的运动信息偏移量和所述预设系数相乘,以得到多个调整后的运动信息偏移量;
对应的,所述确定模块,具体用于根据所述第二标识从所述多个调整后的运动信息偏移量中确定所述目标偏移量。
27.根据权利要求16至26任一项所述的装置,其特征在于,所述第二候选运动信息和所述第一候选运动信息不相同。
28.根据权利要求16至27任一项所述的装置,其特征在于,所述确定模块具体用于将所述目标运动信息作为所述待处理图像块的运动信息;或者,将所述目标运动信息作为所述待处理图像块的预测运动信息。
29.根据权利要求16至28任一项所述的装置,其特征在于,所述第二标识采用定长编码方式。
30.根据权利要求16至28任一项所述的装置,其特征在于,所述第二标识采用变长编码方式。
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224335.8A CN114125467A (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
CN202111213736.3A CN114143554B (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
EP19860217.9A EP3843404A4 (en) | 2018-09-13 | 2019-09-12 | DECODING PROCESS AND DEVICE FOR PREDICTED MOVEMENT INFORMATION |
SG11202102362UA SG11202102362UA (en) | 2018-09-13 | 2019-09-12 | Decoding method and decoding apparatus for predicting motion information |
BR112021004429-9A BR112021004429A2 (pt) | 2018-09-13 | 2019-09-12 | método de decodificação e aparelho de decodificação para predizer informações de movimento |
KR1020247028818A KR20240135033A (ko) | 2018-09-13 | 2019-09-12 | 모션 정보를 예측하는 디코딩 방법 및 디코딩 장치 |
CA3112289A CA3112289A1 (en) | 2018-09-13 | 2019-09-12 | Decoding method and decoding apparatus for predicting motion information |
JP2021513418A JP7294576B2 (ja) | 2018-09-13 | 2019-09-12 | 動き情報を予測するための復号方法及び復号装置 |
PCT/CN2019/105711 WO2020052653A1 (zh) | 2018-09-13 | 2019-09-12 | 一种预测运动信息的解码方法及装置 |
KR1020217010321A KR102701208B1 (ko) | 2018-09-13 | 2019-09-12 | 모션 정보를 예측하는 디코딩 방법 및 디코딩 장치 |
US17/198,544 US20210203944A1 (en) | 2018-09-13 | 2021-03-11 | Decoding method and decoding apparatus for predicting motion information |
ZA2021/01890A ZA202101890B (en) | 2018-09-13 | 2021-03-19 | Decoding method and decoding apparatus for predicting motion information |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811068957 | 2018-09-13 | ||
CN2018110689574 | 2018-09-13 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111213736.3A Division CN114143554B (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
CN202111224335.8A Division CN114125467A (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110896485A CN110896485A (zh) | 2020-03-20 |
CN110896485B true CN110896485B (zh) | 2021-10-15 |
Family
ID=69785620
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111224335.8A Pending CN114125467A (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
CN201811264674.7A Active CN110896485B (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
CN202111213736.3A Active CN114143554B (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111224335.8A Pending CN114125467A (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111213736.3A Active CN114143554B (zh) | 2018-09-13 | 2018-10-26 | 一种预测运动信息的解码方法及装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20210203944A1 (zh) |
EP (1) | EP3843404A4 (zh) |
JP (1) | JP7294576B2 (zh) |
KR (2) | KR20240135033A (zh) |
CN (3) | CN114125467A (zh) |
BR (1) | BR112021004429A2 (zh) |
CA (1) | CA3112289A1 (zh) |
SG (1) | SG11202102362UA (zh) |
ZA (1) | ZA202101890B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541390B (zh) * | 2020-10-30 | 2023-04-25 | 四川天翼网络股份有限公司 | 一种用于考试视频违规分析的抽帧动态调度方法及系统 |
WO2022104678A1 (zh) * | 2020-11-20 | 2022-05-27 | 深圳市大疆创新科技有限公司 | 视频编解码方法、装置、可移动平台和存储介质 |
CN112764635B (zh) * | 2021-01-27 | 2022-07-08 | 浙江大华技术股份有限公司 | 一种显示方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2271102A1 (en) * | 2009-06-29 | 2011-01-05 | Thomson Licensing | Adaptive residual image coding |
CN102651814A (zh) * | 2011-02-25 | 2012-08-29 | 华为技术有限公司 | 视频解码方法、编码方法及终端 |
CN103931196A (zh) * | 2011-09-09 | 2014-07-16 | Lg电子株式会社 | 帧间预测方法及其装置 |
CN104126302A (zh) * | 2011-11-07 | 2014-10-29 | 高通股份有限公司 | 产生额外合并候选者 |
CN105580372A (zh) * | 2013-09-20 | 2016-05-11 | 高通股份有限公司 | 用于3d视频译码的组合式双向预测合并候选者 |
CN107027038A (zh) * | 2016-01-29 | 2017-08-08 | 谷歌公司 | 动态参考运动矢量编码模式 |
CN107257466A (zh) * | 2011-06-17 | 2017-10-17 | 寰发股份有限公司 | 内部预测模式编码的方法及装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090123066A1 (en) * | 2005-07-22 | 2009-05-14 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein, |
US8908755B2 (en) * | 2010-07-16 | 2014-12-09 | Sony Corporation | Multi-parameter motion for efficient prediction in video compression |
US20120183047A1 (en) * | 2011-01-18 | 2012-07-19 | Louis Joseph Kerofsky | Video decoder with reduced dynamic range transform with inverse transform clipping |
CN107529708B (zh) * | 2011-06-16 | 2019-05-07 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
CN103907346B (zh) * | 2011-10-11 | 2017-05-24 | 联发科技股份有限公司 | 运动矢量预测子及视差矢量导出方法及其装置 |
KR102227279B1 (ko) * | 2013-10-24 | 2021-03-12 | 한국전자통신연구원 | 비디오 부호화/복호화 방법 및 장치 |
WO2015192353A1 (en) * | 2014-06-19 | 2015-12-23 | Microsoft Technology Licensing, Llc | Unified intra block copy and inter prediction modes |
US9918105B2 (en) * | 2014-10-07 | 2018-03-13 | Qualcomm Incorporated | Intra BC and inter unification |
WO2017035833A1 (en) * | 2015-09-06 | 2017-03-09 | Mediatek Inc. | Neighboring-derived prediction offset (npo) |
CN114222139A (zh) * | 2016-05-28 | 2022-03-22 | 世宗大学校产学协力团 | 视频信号的解码方法 |
CN117528108A (zh) * | 2016-11-28 | 2024-02-06 | 英迪股份有限公司 | 图像编码方法、图像解码方法及用于传送比特流的方法 |
US10602180B2 (en) * | 2017-06-13 | 2020-03-24 | Qualcomm Incorporated | Motion vector prediction |
CN112313956A (zh) * | 2018-06-22 | 2021-02-02 | 索尼公司 | 图像处理装置和方法 |
WO2020039408A1 (en) * | 2018-08-24 | 2020-02-27 | Beijing Bytedance Network Technology Co., Ltd. | Overlapped block motion compensation using temporal neighbors |
WO2020084462A1 (en) * | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on decoder side motion vector derivation based on block size |
-
2018
- 2018-10-26 CN CN202111224335.8A patent/CN114125467A/zh active Pending
- 2018-10-26 CN CN201811264674.7A patent/CN110896485B/zh active Active
- 2018-10-26 CN CN202111213736.3A patent/CN114143554B/zh active Active
-
2019
- 2019-09-12 BR BR112021004429-9A patent/BR112021004429A2/pt unknown
- 2019-09-12 CA CA3112289A patent/CA3112289A1/en active Pending
- 2019-09-12 KR KR1020247028818A patent/KR20240135033A/ko unknown
- 2019-09-12 SG SG11202102362UA patent/SG11202102362UA/en unknown
- 2019-09-12 EP EP19860217.9A patent/EP3843404A4/en active Pending
- 2019-09-12 JP JP2021513418A patent/JP7294576B2/ja active Active
- 2019-09-12 KR KR1020217010321A patent/KR102701208B1/ko active IP Right Grant
-
2021
- 2021-03-11 US US17/198,544 patent/US20210203944A1/en not_active Abandoned
- 2021-03-19 ZA ZA2021/01890A patent/ZA202101890B/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2271102A1 (en) * | 2009-06-29 | 2011-01-05 | Thomson Licensing | Adaptive residual image coding |
CN102651814A (zh) * | 2011-02-25 | 2012-08-29 | 华为技术有限公司 | 视频解码方法、编码方法及终端 |
CN107257466A (zh) * | 2011-06-17 | 2017-10-17 | 寰发股份有限公司 | 内部预测模式编码的方法及装置 |
CN103931196A (zh) * | 2011-09-09 | 2014-07-16 | Lg电子株式会社 | 帧间预测方法及其装置 |
CN104126302A (zh) * | 2011-11-07 | 2014-10-29 | 高通股份有限公司 | 产生额外合并候选者 |
CN105580372A (zh) * | 2013-09-20 | 2016-05-11 | 高通股份有限公司 | 用于3d视频译码的组合式双向预测合并候选者 |
CN107027038A (zh) * | 2016-01-29 | 2017-08-08 | 谷歌公司 | 动态参考运动矢量编码模式 |
Non-Patent Citations (1)
Title |
---|
CE 4:Enhanced Merge Mode;Xu Chen;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0198》;20180718;全文 * |
Also Published As
Publication number | Publication date |
---|---|
SG11202102362UA (en) | 2021-04-29 |
KR102701208B1 (ko) | 2024-08-29 |
EP3843404A1 (en) | 2021-06-30 |
CN114143554A (zh) | 2022-03-04 |
KR20210057101A (ko) | 2021-05-20 |
BR112021004429A2 (pt) | 2021-05-25 |
KR20240135033A (ko) | 2024-09-10 |
JP7294576B2 (ja) | 2023-06-20 |
CA3112289A1 (en) | 2020-03-19 |
ZA202101890B (en) | 2022-08-31 |
CN114143554B (zh) | 2024-04-12 |
CN114125467A (zh) | 2022-03-01 |
JP2022500910A (ja) | 2022-01-04 |
EP3843404A4 (en) | 2021-10-27 |
CN110896485A (zh) | 2020-03-20 |
US20210203944A1 (en) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109996081B (zh) | 图像预测方法、装置以及编解码器 | |
US20130272409A1 (en) | Bandwidth reduction in video coding through applying the same reference index | |
US20130070855A1 (en) | Hybrid motion vector coding modes for video coding | |
CN111684796B (zh) | 一种视频编解码方法和装置 | |
CN111200735B (zh) | 一种帧间预测的方法及装置 | |
US11563949B2 (en) | Motion vector obtaining method and apparatus, computer device, and storage medium | |
US20210203944A1 (en) | Decoding method and decoding apparatus for predicting motion information | |
US9479788B2 (en) | Systems and methods for low complexity encoding and background detection | |
CN115695782A (zh) | 一种帧间预测方法和装置 | |
CN113170141B (zh) | 帧间预测方法和相关装置 | |
CN114513671B (zh) | 一种视频编解码方法和装置 | |
CN110546956B (zh) | 一种帧间预测的方法及装置 | |
CN110876057B (zh) | 一种帧间预测的方法及装置 | |
CN110855993A (zh) | 一种图像块的运动信息的预测方法及装置 | |
WO2020052653A1 (zh) | 一种预测运动信息的解码方法及装置 | |
WO2020024275A1 (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 |