CN110876057B - 一种帧间预测的方法及装置 - Google Patents
一种帧间预测的方法及装置 Download PDFInfo
- Publication number
- CN110876057B CN110876057B CN201810995914.4A CN201810995914A CN110876057B CN 110876057 B CN110876057 B CN 110876057B CN 201810995914 A CN201810995914 A CN 201810995914A CN 110876057 B CN110876057 B CN 110876057B
- Authority
- CN
- China
- Prior art keywords
- block
- processed
- image
- image block
- basic 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 113
- 239000013598 vector Substances 0.000 claims abstract description 341
- 238000004364 calculation method Methods 0.000 claims abstract description 41
- 238000013507 mapping Methods 0.000 claims description 32
- 230000002123 temporal effect Effects 0.000 claims description 32
- 238000003672 processing method Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 40
- 238000003860 storage Methods 0.000 description 35
- 238000000638 solvent extraction Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 20
- 238000005192 partition Methods 0.000 description 19
- 230000009286 beneficial effect Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 230000003044 adaptive effect Effects 0.000 description 12
- 238000013139 quantization Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 6
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000007728 cost analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241000985610 Forpus Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000019580 granularity Nutrition 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
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 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
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 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/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/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/124—Quantisation
-
- 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/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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例涉及一种帧间预测的方法和装置,该方法包括:确定待处理图像块中的基本预测块的尺寸,该尺寸用于确定基本预测块在待处理图像块中的位置;根据该位置,确定基本预测块的第一参考块和第二参考块,其中,第一参考块的左边界线和基本预测单元的左边界线共线,第二参考块的上边界线和基本预测单元的上边界线共线,第一参考块与待处理图像块的上边界线邻接,第二参考块与待处理图像块的左边界线邻接;对第一参考块对应的运动矢量、第二参考块对应的运动矢量以及与待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得基本预测块对应的运动矢量。
Description
技术领域
本申请涉及视频编解码技术领域,尤其涉及一种视频图像的帧间预测方法及装置。
背景技术
数字视频能力可并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频编码(AVC)定义的标准、视频编码标准H.265/高效视频编码(HEVC)标准以及此类标准的扩展中所描述的视频压缩技术。视频装置可通过实施此类视频压缩技术来更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图像内)预测和/或时间(图像间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频编码,视频条带(即,视频帧或视频帧的一部分)可分割成若干图像块,所述图像块也可被称作树块、编码单元(CU)和/或编码节点。使用关于同一图像中的相邻块中的参考样本的空间预测来编码图像的待帧内编码(I)条带中的图像块。图像的待帧间编码(P或B)条带中的图像块可使用相对于同一图像中的相邻块中的参考样本的空间预测或相对于其它参考图像中的参考样本的时间预测。图像可被称作帧,且参考图像可被称作参考帧。
其中,包含高效视频编码(HEVC)标准在内的各种视频编码标准提出了用于图像块的预测性编码模式,即基于已经编码的图像块来预测当前编码的图像块。在帧内预测模式中,基于与当前块在相同的图像中的一或多个先前经解码相邻块来预测当前解码的图像块;在帧间预测模式中,基于不同图像中的已经解码块来预测当前解码的图像块。
然而,现有的几种帧间预测模式,例如合并模式(Merge mode)、跳过模式(Skipmode)和高级运动矢量预测模式(AMVP mode)仍然无法满足实际的不同应用场景对运动矢量的预测准确性的要求。
发明内容
本申请实施例提供了一种帧间预测的方法与装置,具体的,提供给了一种帧间预测模式,该帧间预测模式利用和待处理块具有相关位置关系的空域或时域参考块对应的运动矢量进行插值,获得待处理块内部各个子块对应的运动矢量,提高了帧间预测的效率,同时通过调整子块的尺寸以及限制该帧间预测模式的适用条件等方法,进一步实现了编码增益和复杂度的平衡。应理解,插值获得的待处理图像块的各子块对应的运动矢量,可以直接作为待处理图像块各子块的运动矢量参与运动补偿,也可以作为各子块的运动矢量的预测值,进一步根据该预测值获得运动矢量,再进行运动补偿。本申请实施例涉及的帧间预测方法可以作为一种预测模式和其他现有技术中的预测模式一起,在编码端参与率失真选择,当该预测模式被编码端确定为最优预测模式时,和现有技术中的预测模式一样,其在预测模式集合中的标识信息会被编入码流并传递到解码端,解码端会根据接收到的码流信息,解析该预测模式,实现编解码端的一致。
在本申请实施例的第一方面提供了一种帧间预测的方法,包括:确定待处理图像块中的基本预测块的尺寸,所述尺寸用于确定所述基本预测块在所述待处理图像块中的位置;根据所述位置,确定所述基本预测块的第一参考块和第二参考块,其中,所述第一参考块的左边界线和所述基本预测单元的左边界线共线,所述第二参考块的上边界线和所述基本预测单元的上边界线共线,所述第一参考块与所述待处理图像块的上边界线邻接,所述第二参考块与所述待处理图像块的左边界线邻接;对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量。
该实施方式的有益效果在于:对于待处理图像块中的每一个子块(即基本预测块)分成不同的运动矢量,从而使待处理图像块对应的运动矢量场更精确,提高预测效率。
在第一方面的第一种可行的实施方式中,所述与所述待处理图像块具有预设位置关系的原始参考块,包括:与所述待处理图像块具有预设空域位置关系的原始参考块和/或与所述待处理图像块具有预设时域位置关系的原始参考块。
该实施方式的有益效果在于:合理地选择用于生成基本预测块对应的运动矢量的参考块,提高生成的运动矢量的可靠性。
在第一方面的第二种可行的实施方式中,与所述待处理图像块具有预设空域位置关系的原始参考块,包括:位于所述待处理图像块左上角且与所述待处理图像块的左上角点相邻的图像块、位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块和位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块中的一个或多个,其中,所述与所述待处理图像块具有预设空域位置关系的原始参考块位于所述待处理图像块的外部。
该实施方式的有益效果在于:合理地选择用于生成基本预测块对应的运动矢量的空域参考块,提高生成的运动矢量的可靠性。
在第一方面的第三种可行的实施方式中,与所述待处理图像块具有预设时域位置关系的原始参考块,包括:在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块,其中,所述与所述待处理图像块具有预设时域位置关系的原始参考块位于所述映射图像块的外部,所述映射图像块与所述待处理图像块尺寸相等,所述映射图像块在所述目标参考帧中的位置与所述待处理图像块在所述待处理图像块所在图像帧中的位置相同。
该实施方式的有益效果在于:合理地选择用于生成基本预测块对应的运动矢量的时域参考块,提高生成的运动矢量的可靠性。
在第一方面的第四种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息通过解析所述码流获得。
该实施方式的有益效果在于:与现有技术中预先设定目标参考帧相比,可以灵活地选择目标参考帧,使对应的时域参考块更可靠。
在第一方面的第五种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息位于所述待处理图像块所在的条带的条带头对应的码流段中。
该实施方式的有益效果在于:将目标参考帧的标识信息存储于条带头,条带内的图像块所有时域参考块共享相同的参考帧信息,节省了编码码流,提高了编码效率。
在第一方面的第六种可行的实施方式中,所述对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量,包括:所述基本预测块对应的运动矢量根据如下公式获得:
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W),
其中,
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W
AR为所述位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块对应的运动矢量,BR为所述在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块对应的运动矢量,BL为所述位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块对应的运动矢量,x为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的水平距离与所述基本预测块的宽的比值,y为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的竖直距离与所述基本预测块的高的比值,H为所述待处理图像块的高与所述基本预测块的高的比值,W为所述待处理图像块的宽与所述基本预测块的宽的比值,L(-1,y)为所述第二参考块对应的运动矢量,A(x,-1)为所述第一参考块对应的运动矢量,P(x,y)为所述基本预测块对应的运动矢量。
本申请具体实施方式部分提高了多种所述对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量的实施方式,并不仅限于本实施方式。
在第一方面的第七种可行的实施方式中,所述确定待处理图像块中的基本预测块的尺寸,包括:当所述基本预测块的两条邻边的边长不等时,确定所述基本预测块的较短的一条边的边长为4或8;当所述基本预测块的两条邻边的边长相等时,确定所述基本预测块的边长为4或8。
该实施方式的有益效果在于:固定基本预测块的尺寸,降低了复杂度。
在第一方面的第八种可行的实施方式中,所述确定待处理图像块中的基本预测块的尺寸,包括:从码流中解析第一标识,所述第一标识用于指示所述基本预测块的尺寸,其中,所述第一标识位于所述待处理图像块所在序列的序列参数集、所述待处理图像块所在图像的图像参数集和所述待处理图像块所在条带的条带头中的一个所对应的码流段中。
该实施方式的有益效果在于:在辅助信息中加入基本预测块的尺寸的标识信息,提高了对于图像内容的适应性。
在第一方面的第九种可行的实施方式中,所述确定待处理图像块中的基本预测块的尺寸,包括:根据在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,所述平面模式预测块为根据第一方面前述任一项可行的实施方式进行帧间预测的待处理图像块,所述在先已重构图像为编码顺序位于所述待处理图像块所在图像之前的图像。
在第一方面的第十种可行的实施方式中,所述根据所述待处理图像块所在图像的在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,包括:计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值;当所述平均值小于阈值时,所述基本预测块的尺寸为第一尺寸;当所述平均值大于或等于所述阈值时,所述基本预测块的尺寸为第二尺寸,其中,所述第一尺寸小于所述第二尺寸。
该实施方式的有益效果在于:利用先验信息来确定当前图像的基本预测块的尺寸,不需要传递额外的标识信息,既提高了对于图像的适应性,又保证了不增加编码码率。
在第一方面的第十一种可行的实施方式中,所述在先已重构图像为与所述待处理图像块所在的图像具有相同的时域层标识的图像中,编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
该实施方式的有益效果在于:合理地选择同一时域层中的最近参考帧来统计先验信息,提高了统计信息的可靠性。
在第一方面的第十二种可行的实施方式中,所述在先已重构图像为编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
该实施方式的有益效果在于:合理地选择最近的参考帧来统计先验信息,提高了统计信息的可靠性。
在第一方面的第十三种可行的实施方式中,所述在先已重构图像为多个图像,对应的,所述计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值,包括:计算所述多个在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值。
该实施方式的有益效果在于:累计多帧的统计信息来确定当前图像中基本预测块的尺寸,提高了统计的可靠性。
在第一方面的第十四种可行的实施方式中,所述阈值为预设阈值。
在第一方面的第十五种可行的实施方式中,当所述待处理图像块所在的图像的参考帧的POC均小于所述待处理图像块所在的图像的POC时,所述阈值为第一阈值;当所述待处理图像块所在的图像的至少一个参考帧的POC大于所述待处理图像块所在的图像的POC时,所述阈值为第二阈值,其中,所述第一阈值和所述第二阈值不同。
该实施方式的有益效果在于:可以根据不同的编码场景,设置不同的阈值,提高了对应编码场景的适应性。
在第一方面的第十六种可行的实施方式中,在所述确定待处理图像块中的基本预测块的尺寸之后,还包括:根据所述尺寸,将所述待处理图像块划分为多个所述基本预测块;依次确定每个所述基本预测块在所述待处理图像块中的位置。
应理解,该实施方式确定了各个基本预测块在待处理图像块中的坐标位置。
在第一方面的第十七种可行的实施方式中,在所述确定待处理图像块中的基本预测块的尺寸之前,所述方法还包括:确定所述第一参考块和所述第二参考块位于所述待处理图像块所在的图像边界内。
该实施方式的有益效果在于:当待处理图像块不存在第一参考块或第二参考块时不采用本申请实施例中的预测方法,当第一参考块和第二参考块不存在时,该预测方法的准确性会降低,此时不采用本方法,则避免了不必要的复杂度开销。
在第一方面的第十八种可行的实施方式中,在所述确定待处理图像块中的基本预测块的尺寸之前,所述方法还包括:确定所述待处理图像块的宽大于或等于16且所述待处理图像块的高大于或等于16;或者,确定所述待处理图像块的宽大于或等于16;或者,确定所述待处理图像块的高大于或等于16。
该实施方式的有益效果在于:当待处理图像块过小时不采用本申请实施例中的预测方法,平衡了编码效率和复杂度。
在第一方面的第十九种可行的实施方式中,所述方法用于编码所述待处理图像块,或者,解码所述待处理图像块。
应理解,本申请实施例涉及一种帧间预测方法,在混合编码架构下,既属于编码过程的一部分,也属于解码过程的一部分。
在本申请实施例的第二方面提供了一种帧间预测的装置,包括:确定模块,用于确定待处理图像块中的基本预测块的尺寸,所述尺寸用于确定所述基本预测块在所述待处理图像块中的位置;定位模块,用于根据所述位置,确定所述基本预测块的第一参考块和第二参考块,其中,所述第一参考块的左边界线和所述基本预测单元的左边界线共线,所述第二参考块的上边界线和所述基本预测单元的上边界线共线,所述第一参考块与所述待处理图像块的上边界线邻接,所述第二参考块与所述待处理图像块的左边界线邻接;计算模块,用于对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量。
在第二方面的第一种可行的实施方式中,所述与所述待处理图像块具有预设位置关系的原始参考块,包括:与所述待处理图像块具有预设空域位置关系的原始参考块和/或与所述待处理图像块具有预设时域位置关系的原始参考块。
在第二方面的第二种可行的实施方式中,与所述待处理图像块具有预设空域位置关系的原始参考块,包括:位于所述待处理图像块左上角且与所述待处理图像块的左上角点相邻的图像块、位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块和位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块中的一个或多个,其中,所述与所述待处理图像块具有预设空域位置关系的原始参考块位于所述待处理图像块的外部。
在第二方面的第三种可行的实施方式中,与所述待处理图像块具有预设时域位置关系的原始参考块,包括:在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块,其中,所述与所述待处理图像块具有预设时域位置关系的原始参考块位于所述映射图像块的外部,所述映射图像块与所述待处理图像块尺寸相等,所述映射图像块在所述目标参考帧中的位置与所述待处理图像块在所述待处理图像块所在图像帧中的位置相同。
在第二方面的第四种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息通过解析所述码流获得。
在第二方面的第五种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息位于所述待处理图像块所在的条带的条带头对应的码流段中。
在第二方面的第六种可行的实施方式中,所述计算模块具体用于根据如下公式获得所述基本预测块对应的运动矢量:
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W),
其中,
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W
AR为所述位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块对应的运动矢量,BR为所述在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块对应的运动矢量,BL为所述位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块对应的运动矢量,x为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的水平距离与所述基本预测块的宽的比值,y为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的竖直距离与所述基本预测块的高的比值,H为所述待处理图像块的高与所述基本预测块的高的比值,W为所述待处理图像块的宽与所述基本预测块的宽的比值,L(-1,y)为所述第二参考块对应的运动矢量,A(x,-1)为所述第一参考块对应的运动矢量,P(x,y)为所述基本预测块对应的运动矢量。
在第二方面的第七种可行的实施方式中,所述确定模块具体用于:当所述基本预测块的两条邻边的边长不等时,确定所述基本预测块的较短的一条边的边长为4或8;当所述基本预测块的两条邻边的边长相等时,确定所述基本预测块的边长为4或8。
在第二方面的第八种可行的实施方式中,所述确定模块具体用于:从码流中解析第一标识,所述第一标识用于指示所述基本预测块的尺寸,其中,所述第一标识位于所述待处理图像块所在序列的序列参数集、所述待处理图像块所在图像的图像参数集和所述待处理图像块所在条带的条带头中的一个所对应的码流段中。
在第二方面的第九种可行的实施方式中,所述确定模块具体用于:根据在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,所述平面模式预测块为根据第二方面前述任一项可行的实施方式进行帧间预测的待处理图像块,所述在先已重构图像为编码顺序位于所述待处理图像块所在图像之前的图像。
在第二方面的第十种可行的实施方式中,所述确定模块具体用于:计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值;当所述平均值小于阈值时,所述基本预测块的尺寸为第一尺寸;当所述平均值大于或等于所述阈值时,所述基本预测块的尺寸为第二尺寸,其中,所述第一尺寸小于所述第二尺寸。
在第二方面的第十一种可行的实施方式中,所述在先已重构图像为与所述待处理图像块所在的图像具有相同的时域层标识的图像中,编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
在第二方面的第十二种可行的实施方式中,所述在先已重构图像为编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
在第二方面的第十三种可行的实施方式中,所述在先已重构图像为多个图像,对应的,所述确定模块具体用于:计算所述多个在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值。
在第二方面的第十四种可行的实施方式中,所述阈值为预设阈值。
在第二方面的第十五种可行的实施方式中,当所述待处理图像块所在的图像的参考帧的POC均小于所述待处理图像块所在的图像的POC时,所述阈值为第一阈值;当所述待处理图像块所在的图像的至少一个参考帧的POC大于所述待处理图像块所在的图像的POC时,所述阈值为第二阈值,其中,所述第一阈值和所述第二阈值不同。
在第二方面的第十六种可行的实施方式中,还包括划分模块,用于:根据所述尺寸,将所述待处理图像块划分为多个所述基本预测块;依次确定每个所述基本预测块在所述待处理图像块中的位置。
在第二方面的第十七种可行的实施方式中,还包括判断模块,用于:确定所述第一参考块和所述第二参考块位于所述待处理图像块所在的图像边界内。
在第二方面的第十八种可行的实施方式中,所述判断模块还用于:确定所述待处理图像块的宽大于或等于16且所述待处理图像块的高大于或等于16;或者,确定所述待处理图像块的宽大于或等于16;或者,确定所述待处理图像块的高大于或等于16。
在第二方面的第十九种可行的实施方式中,所述装置用于编码所述待处理图像块,或者,解码所述待处理图像块。
本申请实施例的第三方面提供了一种帧间预测的设备,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第一方面所述的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请实施例的第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请实施例的第六方面提供了一种视频图像编码器,所述视频图像编码器包含上述第二方面所述的装置。
本申请实施例的第七方面提供了一种视频图像解码器,所述视频图像解码器包含上述第二方面所述的装置。
应理解,本申请的第二至七方面与本申请的第一方面的技术方案一致,各方面及对应的可实施的设计方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例中视频编码及解码系统的一种示例性框图;
图2为本申请实施例中视频编码器的一种示例性框图;
图3为本申请实施例中视频解码器的一种示例性框图;
图4为本申请实施例中帧间预测模块的一种示意性框图;
图5为本申请实施例中待处理图像块和其参考块位置关系的一种示意图;
图6为本申请实施例中帧间预测方法的一种示例性流程图;
图7为本申请实施例中加权计算基本预测块对应的运动矢量的一种示意图;
图8为本申请实施例中加权计算基本预测块对应的运动矢量的另一种示意图;
图9为本申请实施例中加权计算基本预测块对应的运动矢量的又一种示意图;
图10为本申请实施例中帧间预测装置的一种示例性框图;
图11为本申请实施例中译码设备的一种示例性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图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。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备。
在另一实例中,可将经编码数据从输出接口140输出到存储装置40。类似地,可通过输入接口240从存储装置40存取经编码数据。存储装置40可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。
在另一实例中,存储装置40可对应于文件服务器或可保持由源装置10产生的经编码视频的另一中间存储装置。目的地装置20可经由流式传输或下载从存储装置40存取所存储的视频数据。文件服务器可为任何类型的能够存储经编码的视频数据并且将经编码的视频数据发射到目的地装置20的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接式存储(NAS)装置或本地磁盘驱动器。目的地装置20可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,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可包括多种显示装置,例如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
尽管图1中未图示,但在一些方面,视频编码器100和视频解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器100和视频解码器200各自可实施为例如以下各项的多种电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器100和视频解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
本申请可大体上将视频编码器100称为将某些信息“发信号通知”或“发射”到例如视频解码器200的另一装置。术语“发信号通知”或“发射”可大体上指代用以对经压缩视频数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码码流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
JCT-VC开发了H.265(HEVC)标准。HEVC标准化基于称作HEVC测试模型(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也被称为CTU。树块具有与H.264标准的宏块类似的目的。条带包含按解码次序的数个连续树块。可将视频帧或图像分割成一个或多个条带。可根据四叉树将每一树块分裂成编码单元。例如,可将作为四叉树的根节点的树块分裂成四个子节点,且每一子节点可又为母节点且被分裂成另外四个子节点。作为四叉树的叶节点的最终不可分裂的子节点包括解码节点,例如,经解码视频块。与经解码码流相关联的语法数据可定义树块可分裂的最大次数,且也可定义解码节点的最小大小。
编码单元包含解码节点及预测块(prediction unit,PU)以及与解码节点相关联的变换单元(transformunit,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可根据上下文自适应性可变长度解码(CAVLC)、上下文自适应性二进制算术解码(CABAC)、基于语法的上下文自适应性二进制算术解码(SBAC)、概率区间分割熵(PIPE)解码或其他熵解码方法来熵解码一维向量。视频编码器100也可熵编码与经编码视频数据相关联的语法元素以供视频解码器200用于解码视频数据。
为了执行CABAC,视频编码器100可将上下文模型内的上下文指派给待传输的符号。上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器100可选择待传输的符号的可变长度码。可变长度解码(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的候选预测运动矢量列表中的每一候选预测运动矢量可指示运动信息。由候选预测运动矢量列表中的一些候选预测运动矢量指示的运动信息可基于其它PU的运动信息。如果候选预测运动矢量指示指定空间候选预测运动矢量位置或时间候选预测运动矢量位置中的一者的运动信息,则本申请可将所述候选预测运动矢量称作“原始”候选预测运动矢量。举例来说,对于合并模式,在本文中也称为合并预测模式,可存在五个原始空间候选预测运动矢量位置和一个原始时间候选预测运动矢量位置。在一些实例中,视频编码器可通过组合来自不同原始候选预测运动矢量的部分运动矢量、修改原始候选预测运动矢量或仅插入零运动矢量作为候选预测运动矢量来产生额外候选预测运动矢量。这些额外候选预测运动矢量不被视为原始候选预测运动矢量且在本申请中可称作人工产生的候选预测运动矢量。
本申请的技术一般涉及用于在视频编码器处产生候选预测运动矢量列表的技术和用于在视频解码器处产生相同候选预测运动矢量列表的技术。视频编码器和视频解码器可通过实施用于构建候选预测运动矢量列表的相同技术来产生相同候选预测运动矢量列表。举例来说,视频编码器和视频解码器两者可构建具有相同数目的候选预测运动矢量(例如,五个候选预测运动矢量)的列表。视频编码器和解码器可首先考虑空间候选预测运动矢量(例如,同一图像中的相邻块),接着考虑时间候选预测运动矢量(例如,不同图像中的候选预测运动矢量),且最后可考虑人工产生的候选预测运动矢量直到将所要数目的候选预测运动矢量添加到列表为止。根据本申请的技术,可在候选预测运动矢量列表构建期间针对某些类型的候选预测运动矢量利用修剪操作以便从候选预测运动矢量列表移除重复,而对于其它类型的候选预测运动矢量,可能不使用修剪以便减小解码器复杂性。举例来说,对于空间候选预测运动矢量集合和对于时间候选预测运动矢量,可执行修剪操作以从候选预测运动矢量的列表排除具有重复运动信息的候选预测运动矢量。然而,当将人工产生的候选预测运动矢量添加到候选预测运动矢量的列表时,可在不对人工产生的候选预测运动矢量执行修剪操作的情况下添加人工产生的候选预测运动矢量。
在产生用于CU的PU的候选预测运动矢量列表之后,视频编码器可从候选预测运动矢量列表选择候选预测运动矢量且在码流中输出候选预测运动矢量索引。选定候选预测运动矢量可为具有产生最紧密地匹配正被解码的目标PU的预测子的运动矢量的候选预测运动矢量。候选预测运动矢量索引可指示在候选预测运动矢量列表中选定候选预测运动矢量的位置。视频编码器还可基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。可基于由选定候选预测运动矢量指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。在AMVP模式中,PU的运动信息可基于PU的运动矢量差和由选定候选预测运动矢量指示的运动信息确定。视频编码器可基于CU的PU的预测性图像块和用于CU的原始图像块产生用于CU的一或多个残余图像块。视频编码器可接着编码一或多个残余图像块且在码流中输出一或多个残余图像块。
码流可包括识别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产生的候选预测运动矢量列表相同。从码流中解析得到的语法元素可指示在PU的候选预测运动矢量列表中选定候选预测运动矢量的位置。在产生用于PU的候选预测运动矢量列表之后,视频解码器200可基于由PU的运动信息指示的一或多个参考块产生用于PU的预测性图像块。视频解码器200可基于由用于PU的候选预测运动矢量列表中的选定候选预测运动矢量指示的运动信息确定PU的运动信息。视频解码器200可基于用于PU的预测性图像块和用于CU的残余图像块重构用于CU的图像块。
应理解,在一种可行的实施方式中,在解码端,候选预测运动矢量列表的构建与从码流中解析选定候选预测运动矢量在候选预测运动矢量列表中的位置是相互独立,可以任意先后或者并行进行的。
在另一种可行的实施方式中,在解码端,首先从码流中解析选定候选预测运动矢量在候选预测运动矢量列表中的位置,根据解析出来的位置构建候选预测运动矢量列表,在该实施方式中,不需要构建全部的候选预测运动矢量列表,只需要构建到该解析出来的位置处的候选预测运动矢量列表,即能够确定该位置出的候选预测运动矢量即可。举例来说,当解析码流得出选定的候选预测运动矢量为候选预测运动矢量列表中索引为3的候选预测运动矢量时,仅需要构建从索引为0到索引为3的候选预测运动矢量列表,即可确定索引为3的候选预测运动矢量,可以达到减小复杂度,提高解码效率的技术效果。
图2为本申请实施例中所描述的一种实例的视频编码器100的框图。视频编码器100用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器100的经编码视频数据的视频实体的实例,例如媒体感知网络元件(MANE)或拼接/编辑装置。在一些情况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器100可为单独装置的若干部分,而在其它情况下,相对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图1的存储装置40的实例。
在图2的实例中,视频编码器100包括预测处理单元108、滤波器单元106、经解码图像缓冲器(DPB)107、求和器112、变换器101、量化器102和熵编码器103。预测处理单元108包括帧间预测器110和帧内预测器109。为了图像块重构,视频编码器100还包含反量化器104、反变换器105和求和器111。滤波器单元106既定表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管在图2中将滤波器单元106示出为环路内滤波器,但在其它实现方式下,可将滤波器单元106实施为环路后滤波器。在一种示例下,视频编码器100还可以包括视频数据存储器、分割单元(图中未示意)。
视频数据存储器可存储待由视频编码器100的组件编码的视频数据。可从视频源120获得存储在视频数据存储器中的视频数据。DPB 107可为参考图像存储器,其存储用于由视频编码器100在帧内、帧间译码模式中对视频数据进行编码的参考视频数据。视频数据存储器和DPB107可由多种存储器装置中的任一者形成,例如包含同步DRAM(SDRAM)的动态随机存取存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(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表示执行此减法运算的一或多个组件。所述残差块中的残差视频数据可包含在一或多个TU中,并应用于变换器101。变换器101使用例如离散余弦变换(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以及经解码图像缓冲器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中,经解码图像缓冲器207存储用于后续运动补偿的参考图像。经解码图像缓冲器207可为存储器的一部分,其还可以存储经解码视频,以供稍后在显示装置(例如图1的显示装置220)上呈现,或可与此类存储器分开。
应当理解的是,视频解码器200的其它结构变化可用于解码经编码视频码流。例如,视频解码器200可以不经滤波器单元206处理而生成输出视频流;或者,对于某些图像块或者图像帧,视频解码器200的熵解码器203没有解码出经量化的系数,相应地不需要经反量化器204和反变换器205处理。
如前文所注明,本申请的技术示例性地涉及帧间解码。应理解,本申请的技术可通过本申请中所描述的视频解码器中的任一者进行,视频解码器包含(例如)如关于图1到3所展示及描述的视频编码器100及视频解码器200。即,在一种可行的实施方式中,关于图2所描述的帧间预测器110可在视频数据的块的编码期间在执行帧间预测时执行下文中所描述的特定技术。在另一可行的实施方式中,关于图3所描述的帧间预测器210可在视频数据的块的解码期间在执行帧间预测时执行下文中所描述的特定技术。因此,对一般性“视频编码器”或“视频解码器”的引用可包含视频编码器100、视频解码器200或另一视频编码或编码单元。
图4为本申请实施例中帧间预测模块的一种示意性框图。帧间预测模块121,示例性的,可以包括运动估计单元42和运动补偿单元44。在不同的视频压缩编解码标准中,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。
除了通过对PU执行IME和FME来产生用于PU的运动信息外,帧间预测模块121还可对PU中的每一者执行合并(Merge)操作。当帧间预测模块121对PU执行合并操作时,帧间预测模块121可产生用于PU的候选预测运动矢量列表。用于PU的候选预测运动矢量列表可包括一个或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一个或多个额外候选预测运动矢量。候选预测运动矢量列表中的原始候选预测运动矢量可包括一个或多个空间候选预测运动矢量和时间候选预测运动矢量。空间候选预测运动矢量可指示当前图像中的其它PU的运动信息。时间候选预测运动矢量可基于不同于当前图像的对应的PU的运动信息。时间候选预测运动矢量还可称作时间运动矢量预测(TMVP)。
在产生候选预测运动矢量列表之后,帧间预测模块121可从候选预测运动矢量列表选择候选预测运动矢量中的一个。帧间预测模块121可接着基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。
在基于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的运动信息的语法元素输出到熵编码模块116。
在图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示出了本申请实施例中一种示例性的待处理图像块和其参考块的示意图。如图5所示,W和H是待处理图像块500以及待处理图像块在指定参考图像中的co-located块(简称为映射图像块)500’的宽度和高度。待处理图像块的参考块包括:待处理图像块的上侧空域邻接块和左侧空域邻接块,以及映射图像块的下侧空域邻接块和右侧空域邻接块,其中映射图像块为指定参考图像中与待处理图像块具有相同的大小、形状的图像块,并且映射图像块在指定参考图像中的位置和待处理图像块在其所在图像(一般指当前待处理图像)中的位置相同。映射图像块的下侧空域邻接块和右侧空域邻接块也可以被称作时域参考块。每帧图像可以被划分为用于编码的图像块,这些图像块可以被进一步划分为更小的块。例如,待处理图像块和映射图像块可以被分割成多个MxN子块,即每个子块的大小均为MxN像素,不妨设每个参考块的大小也为MxN像素,即与待处理图像块的子块的大小相同。“M×N”与“M乘N”可互换使用以指依照水平维度及垂直维度的图像子块的像素尺寸,即在水平方向上具有M个像素,且在垂直方向上具有N个像素,其中M、N表示非负整数值。此外,M和N不一定相同。举例说明,M可以等于N,M、N均为4,即子块的大小为4x4,M也可以不等于N,比如M=8,N=4,即子块的大小为8x4,在可行的实施方式中,示例性的,待处理图像块的子块大小和参考块的大小可以是4x4,8x8,8x4或4x8像素,或者标准允许的预测块的最小尺寸。在一种可行的实施方式中,W和H的度量单位分别为子块的宽度和高度,即W表示待处理图像块的宽和待处理图像块中子块的宽的比值,H表示待处理图像块的高和待处理图像块中子块的高的比值。此外,本申请描述的待处理图像块可以理解为但不限于:预测单元(predictionunit,PU)或者编码单元(coding unit,CU)或者变换单元(transform unit,TU)等。根据不同视频压缩编解码标准的规定,CU可包含一个或多个预测单元PU,或者PU和CU的尺寸相同。图像块可具有固定或可变的大小,且根据不同视频压缩编解码标准而在大小上不同。此外,待处理图像块是指当前待编码或当前待解码的图像块,例如待编码或待解码的预测单元。
在一种示例下,如图5所示,可以沿着方向1依次判断待处理图像块的每个左侧空域邻接块是否可用,以及可以沿着方向2依次判断待处理图像块的每个上侧空域邻接块是否可用,例如判断上述邻接块是否采用帧间编码,如果邻接块存在且采用帧间编码,则所述邻接块可用;如果邻接块不存在或者采用帧内编码,则所述邻接块不可用。在一种可行的实施方式中,如果一个邻接块采用帧内编码,则复制邻近的其它参考块的运动信息作为该邻接块的运动信息。按照类似方法检测映射图像块的下侧空域邻接块和右侧空域邻接块是否可用,在此不再赘述。
应理解,运动信息的存储可以存在不同的颗粒度,比如在H.264和H.265标准中,运动信息是以4x4像素集合为存储运动信息的基本单元的,示例性的,还可以以2x2,8x8,4x8,8x4等像素集合作为存储运动信息的基本单元。在本文中,不妨存储运动信息的基本单元简称为基本存储单元。
当上述参考块的大小与基本存储单元的大小一致时,可以直接获取该参考块对应的基本存储单元所存储的运动信息作为该参考块对应的运动信息。
或者,当上述参考块的大小小于基本存储单元的大小时,可以直接获取该参考块对应的基本存储单元所存储的运动信息作为该参考块对应的运动信息。
或者,当上述参考块的大小大于存储运动信息的基本单元的大小时,可以获取参考块预定位置处对应的基本存储单元所存储的运动信息。示例性的,可以获取参考块左上角点处对应的基本存储单元所存储的运动信息,或者,可以获取参考块中心点处对应的基本存储单元所存储的运动信息,作为该参考块对应的运动信息。
在本申请实施例中,为了方便描述,待处理图像的子块又被称为基本预测块。
图6示例性的示出了本申请实施例中根据待处理图像块的参考块对应的运动矢量加权获得待处理图像块内部各基本预测块的运动矢量的示意流程图,包括:
S601、确定待处理图像块中的基本预测块的尺寸,所述尺寸用于确定所述基本预测块在所述待处理图像块中的位置;
在一种可行的实施方式中,待处理图像块中的基本预测块的尺寸可以是预设的固定值,由编解码端预先确定,并且分别固化在编解码端。示例性的,当所述基本预测块的两条邻边的边长不等时,即所述基本预测块为非正方形的长方形(non-square),确定所述基本预测块的较短的一条边的边长为4或8;当所述基本预测块的两条邻边的边长相等时,即所述基本预测块为正方形,确定所述基本预测块的边长为4或8。应理解,上述边长为4或8只是一个示例值,也可以是16,24等其它常数。
在一种可行的实施方式中,待处理图像块中的基本预测块的尺寸可以通过解析码流中获得,具体的:从码流中解析第一标识,所述第一标识用于指示所述基本预测块的尺寸,其中,所述第一标识位于所述待处理图像块所在序列的序列参数集(sequenceparameter set,SPS)、所述待处理图像块所在图像的图像参数集(picture parameterset,PPS)和所述待处理图像块所在条带的条带头(slice header,或者slice segmentheader)中的一个所对应的码流段中。
即,可以从码流中解析相应的语法元素,进而确定基本预测块的尺寸。而该语法元素可以携带于码流中对应SPS的码流部分,也可以携带于码流中对应PPS的码流部分,还可以携带于码流中对应条带头的码流部分。
应理解,当从SPS中解析出基本预测块的尺寸时,整个序列中的基本预测块采用相同的尺寸,当从PPS中解析出基本预测块的尺寸时,整个图像帧中的基本预测块采用相同的尺寸,当从条带头中解析出基本预测块的尺寸时,整个条带中的基本预测块采用相同的尺寸。
应理解,在本文中,图像和图像帧是不同的概念,图像包括以整帧形式存在的图像(即图像帧),也包括以条带(slice)形式存在的图像,以片(tile)形式存在的图像,或者以其它子图像的形式存在的图像,不做限定。
应理解,对于采用帧内预测的条带,由于不需要确定基本预测块的尺寸,因此,采用帧内预测的条带的条带头不存在上述第一标识。
具体的,编码端通过适当的方式确定基本预测块的尺寸(比如,率失真选择的方式,或者实验经验值的方式),将确定后的基本预测块的尺寸编入码流,解码端从码流中解析出基本预测块的尺寸。
在一种可行的实施方式中,待处理图像块中的基本预测块的尺寸通过历史信息来确定,因此可以分别在编解码端自适应地获得,具体的,根据在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,所述平面模式预测块为根据权利要求1至7任一项所述的方法进行帧间预测的待处理图像块,所述在先已重构图像为编码顺序位于所述待处理图像块所在图像之前的图像。
应理解,当确定当前图像的基本预测块时,在先已重构图像中根据权利要求1至7任一项所述的方法进行帧间预测的待处理图像块已经处理完毕,所述平面模式预测块实际为根据权利要求1至7任一项所述的方法完成帧间预测的图像块。本文相关段落均依此解释,不再赘述。
不妨将采用本申请实施例中所述的方法(比如,图6所示的方法)进行帧间预测的待处理图像块称为平面模式预测块。可以根据在先编码的图像中统计平面模式预测块的大小来估计待处理图像块所在图像(在后文中简称为当前图像)中基本预测块的大小。
应理解,在编码端的图像编码顺序和在解码端的图像解码顺序是一致的,因此,所述在先已重构图像为编码顺序位于所述待处理图像块所在图像之前的图像,也可以描述为所述在先已重构图像为解码顺序位于所述待处理图像块所在图像之前的图像。本文对于编码顺序和解码顺序均按上述方式理解,不再赘述。
应理解,当存在于编码端的已重构图像A的编码顺序和存在于解码端的已重构图像B的解码顺序相同时,图像A和图像B是相同的,因此分别在编码端和解码端基于相同的重构图像进行分析,可以得到相同的先验信息,基于该先验信息来确定基本预测块的尺寸,在编解码端可以得到相同的结果,即实现确定基本预测块的尺寸的自适应机制。
具体的,可以按照如下方式确定当前图像基本预测块的尺寸:
计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值;
当所述平均值小于阈值时,所述基本预测块的尺寸为第一尺寸;
当所述平均值大于或等于所述阈值时,所述基本预测块的尺寸为第二尺寸,其中,所述第一尺寸小于所述第二尺寸。
应理解,一般的,上述阈值是预先设置的。
在一种可行的实施方式中,当所述待处理图像块所在的图像的参考帧的POC(显示顺序,picture order count)均小于所述待处理图像块所在的图像的POC时,所述阈值为第一阈值;当所述待处理图像块所在的图像的至少一个参考帧的POC大于所述待处理图像块所在的图像的POC时,所述阈值为第二阈值,其中,所述第一阈值和所述第二阈值不同。
即当以低延时(low delay)的方式进行编码时,此时当前图像的参考帧的POC均小于当前图像的POC,将阈值设置为第一数值,示例性的可以设置为75,当以随机接入(randomaccess)的方式进行编码时,此时当前图像的至少一个参考帧的POC大于当前图像的POC,将阈值设置为第二数值,示例性的可以设置为27。应理解,该第一数值和第二数值的设置不做限定。
应理解,第一尺寸小于第二尺寸,示例性的,第一尺寸和第二尺寸的关系可以包括第一尺寸为4(正方形边长)且第二尺寸为8(正方形边长),也可以包括第一尺寸为4x4且第二尺寸为8x8,也可以包括第一尺寸为4x4且第二尺寸为4x8,也可以包括第一尺寸为4x8,第二尺寸为8x8,也可以包括第一尺寸为4x8,第二尺寸为8x16,不做限定。
在一种可行的实施方式中,所述在先已重构图像为编码顺序距离所述待处理图像块所在的图像最近的已重构图像,也即所述在先已重构图像为解码顺序距离所述待处理图像块所在的图像最近的已重构图像。
即,根据当前图像帧的前一编码/解码帧中的全部所述平面模式预测块的统计信息(示例性的,全部所述平面模式预测块的宽和高的乘积的平均值),确定当前图像帧中的基本预测块的尺寸,或者,根据当前条带的前一条带中的全部所述平面模式预测块的统计信息,确定当前条带中的基本预测块的尺寸。如前所述,图像也可以包括其他形式的子图像,因此,并不限定于图像帧和条带。
应理解,在此实施方式中,统计信息以图像帧或者条带为单位进行更新,即每图像帧或者每条带进行一次更新。
应理解,在采用帧内预测的图像帧或者条带中不进行统计信息的更新。
在一种可行的实施方式中,所述在先已重构图像为与所述待处理图像块所在的图像具有相同的时域层标识的图像中,编码顺序距离所述待处理图像块所在的图像最近的已重构图像,也即所述在先已重构图像为与所述待处理图像块所在的图像具有相同的时域层标识的图像中,解码顺序距离所述待处理图像块所在的图像最近的已重构图像。
即,从和当前图像具有相同时域层标识(temporal ID)的图像中确定和当前图像编码距离最近的图像。具体方式可参考上一可行的实施方式,不做赘述。
在一种可行的实施方式中,所述在先已重构图像为多个图像,对应的,所述计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值,包括:计算所述多个在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值。
应理解,上述两种可行的实施方式分别是按照单一在先已重构图像的统计数据来确定当前图像的基本预测块的尺寸,而在本实施方式中是累计多个在先已重构图像的统计数据来确定当前图像的基本预测块的尺寸。即,在此实施方式中,统计信息以多个图像帧或者多个条带为单位进行更新,即每预设个数的图像帧或者每预设个数条带进行一次更新,或者统计信息可以一直累计而不做更新。具体的,计算所述多个在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值,可以包括:分别统计所述多个在先已重构图像中每个图像中的全部所述平面模式预测块的宽和高的乘积的平均值,将上述分别统计的平均值再做加权,获得本实施方式中用于和上述阈值进行比较的最终平均值,也可以包括:累加多个在先已重构图像中的全部所述平面模式预测块的宽和高的乘积,再除以全部所述平面模式预测块的个数,以获得本实施方式中用于和上述阈值进行比较的平均值。
在一种可行的实施方式中,在计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值的过程中,还包括确定统计信息有效,比如,如果所述在先已重构图像中没有所述平面模式预测块,就无法计算所述平均值,此时统计信息无效,对应的,可以不对统计信息进行更新,或者将当前图像的基本预测块的尺寸设置为预设值,示例性的,对于正方形块可以设置为4x4。
应理解,对于第一个采用帧间预测的图像在采用历史信息确定基本预测块的尺寸的实施方式中,基本预测块的尺寸也设置为预设值。
在一种可行的实施方式中,确定待处理图像块中的基本预测块的尺寸,还包括确定基本预测块的形状,示例性的,当待处理图像块为正方形时,可以确定基本预测块也为正方形,或者,待处理图像块的宽高比和基本预测块的宽高比一致,或者,将待处理图像块的宽和高分别均分成若干等分以获得基本预测块的宽和高,或者,待处理图像块的形状和基本预测块的形状不相关。比如,可以将基本预测块固定设置为正方形,或者,当待处理图像块的尺寸为32x16时,可以设置基本预测块为16x8或者8x4等,不做限定。
应理解,在一种可行的实施方式中,对基本预测块形状的确定分别固化于编解码端,并保持一致。
在一种可行的实施方式中,在本步骤之后,还包括:
S602、根据所述尺寸,将所述待处理图像块划分为多个所述基本预测块;依次确定每个所述基本预测块在所述待处理图像块中的位置。
应理解,每个基本预测块的尺寸是相同的,在确定了基本预测块的尺寸之后,可以在待处理图像块中按照尺寸依次推算出每一个基本预测块的位置。
应理解,在一种可行的实施方式中,待处理图像块和基本预测块的位置均以坐标的形式存在,该步骤仅需要确定每个基本预测块的坐标即可,或者,将待处理图像块和基本预测块进行区分,不存在实体化的划分步骤。
S603、根据所述位置,确定所述基本预测块的第一参考块和第二参考块,其中,所述第一参考块的左边界线和所述基本预测单元的左边界线共线,所述第二参考块的上边界线和所述基本预测单元的上边界线共线,所述第一参考块与所述待处理图像块的上边界线邻接,所述第二参考块与所述待处理图像块的左边界线邻接。
S604、对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量。
在一种可行的实施方式中,所述与所述待处理图像块具有预设位置关系的原始参考块,包括:与所述待处理图像块具有预设空域位置关系的原始参考块和/或与所述待处理图像块具有预设时域位置关系的原始参考块。
在一种可行的实施方式中,与所述待处理图像块具有预设空域位置关系的原始参考块,包括:位于所述待处理图像块左上角且与所述待处理图像块的左上角点相邻的图像块、位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块和位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块中的一个或多个,其中,所述与所述待处理图像块具有预设空域位置关系的原始参考块位于所述待处理图像块的外部,且不妨简称为空域参考块。
在一种可行的实施方式中,与所述待处理图像块具有预设时域位置关系的原始参考块,包括:在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块,其中,所述与所述待处理图像块具有预设时域位置关系的原始参考块位于所述映射图像块的外部,所述映射图像块与所述待处理图像块尺寸相等,所述映射图像块在所述目标参考帧中的位置与所述待处理图像块在所述待处理图像块所在图像帧中的位置相同,且不妨简称为时域参考块。
在一种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息通过解析所述码流获得。
在一种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息位于所述待处理图像块所在的条带的条带头对应的码流段中。
下面将具体描述步骤S603和S604的具体实现方式:
在一种可行的实施方式中,如图7所示:
S701、根据待处理图像块600中的基本预测块604的位置确定第一参考块809和第二参考块802,其中,第一参考块所对应的运动矢量为A(x,-1),第二参考块对应的运动矢量为L(-1,y);
S702A、基于待处理图像块的右上角的空域参考块805对应的运动矢量和待处理图像块的右下角位置的时域参考块807对应的运动矢量进行加权计算获得第一临时块806对应的运动矢量,示例性的,计算公式为R(W,y)=((H-y-1)×AR+(y+1)×BR)/H,其中,AR为所述位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块对应的运动矢量,BR为所述在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块对应的运动矢量,H为所述待处理图像块的高与所述基本预测块的高的比值,y为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的竖直距离与所述基本预测块的高的比值。其中,目标参考帧的索引信息和参考帧列表信息从条带头中解析获得。
S702B、基于待处理图像块的左下角的空域参考块801对应的运动矢量和待处理图像块的右下角位置的时域参考块807对应的运动矢量进行加权计算获得第二临时块808对应的运动矢量,示例性的,计算公式为B(x,H)=((W-x-1)×BL+(x+1)×BR)/W,其中,BL为所述位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块对应的运动矢量,BR为所述在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块对应的运动矢量,W为所述待处理图像块的宽与所述基本预测块的宽的比值,x为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的水平距离与所述基本预测块的宽的比值。
应理解,步骤S702A和步骤S702B不限定先后顺序关系。
S703A、基于待处理图像块的第一临时块对应的运动矢量和待处理图像块的第二参考块对应的运动矢量进行加权计算获得基本预测单元对应的第一临时运动矢量Ph(x,y),示例性的,计算公式为Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)。
S703B、基于待处理图像块的第二临时块对应的运动矢量和待处理图像块的第一参考块对应的运动矢量进行加权计算获得基本预测单元对应的第二临时运动矢量Pv(x,y),示例性的,计算公式为Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)。
应理解,步骤S703A和步骤S703B不限定先后顺序关系。
S704、基于待处理图像块的第一临时运动矢量和第二临时运动矢量进行加权计算获得基本预测单元对应的运动矢量P(x,y),示例性的,计算公式为P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W)。
应理解,在一种可行的实施方式中,基本预测单元对应的运动矢量P(x,y)也可以通过综合上述步骤的单一公式得出,示例性的,计算公式为
P(x,y)=(H×((W-1-x)×L(-1,y)+(x+1)×((H-y-1)×AR+(y+1)×BR)/H)+W×((H-1-y)×A(x,-1)+(y+1)×((W-x-1)×BL+(x+1)×BR)/W)+H×W)/(2×H×W)
在另一种可行的实施方式中,如图8所示:
S801、根据待处理图像块600中的基本预测块604的位置确定第一参考块809和第二参考块802,其中,第一参考块所对应的运动矢量为A(x,-1),第二参考块对应的运动矢量为L(-1,y);
S802A、将待处理图像块的右上角的空域参考块805对应的运动矢量作为待处理图像块的第一临时块806对应的运动矢量;
S802B、将待处理图像块的左下角的空域参考块801对应的运动矢量作为待处理图像块的第二临时块808对应的运动矢量;
S803A、基于待处理图像块的第一临时块对应的运动矢量R(W,y)和待处理图像块的第二参考块对应的运动矢量进行加权计算获得基本预测单元对应的第一临时运动矢量Ph(x,y),示例性的,计算公式为Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)。
S803B、基于待处理图像块的第二临时块对应的运动矢量B(x,H)和待处理图像块的第一参考块对应的运动矢量进行加权计算获得基本预测单元对应的第二临时运动矢量Pv(x,y),示例性的,计算公式为Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)。
应理解,步骤S803A和步骤S803B不限定先后顺序关系。
S804、基于待处理图像块的第一临时运动矢量和第二临时运动矢量进行加权计算获得基本预测单元对应的运动矢量P(x,y),示例性的,计算公式为P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W)。
在另一种可行的实施方式中,如图9所示:
S901、根据待处理图像块600中的基本预测块604的位置确定第一参考块809和第二参考块802,其中,第一参考块所对应的运动矢量为A(x,-1),第二参考块对应的运动矢量为L(-1,y);
S902、根据待处理图像块600中的基本预测块604的位置确定第一临时块806和第二临时块809,其中,第一临时块为在目标参考帧中位于映射图像块的块806位置的图像块,第二临时块为在目标参考帧中位于映射图像块的块808位置的图像块,第一临时块和第二临时块均为时域参考块。
S903A、基于待处理图像块的第一临时块对应的运动矢量R(W,y)和待处理图像块的第二参考块对应的运动矢量进行加权计算获得基本预测单元对应的第一临时运动矢量Ph(x,y),示例性的,计算公式为Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)。
S903B、基于待处理图像块的第二临时块对应的运动矢量B(x,H)和待处理图像块的第一参考块对应的运动矢量进行加权计算获得基本预测单元对应的第二临时运动矢量Pv(x,y),示例性的,计算公式为Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)。
应理解,步骤S903A和步骤S903B不限定先后顺序关系。
S904、基于待处理图像块的第一临时运动矢量和第二临时运动矢量进行加权计算获得基本预测单元对应的运动矢量P(x,y),示例性的,计算公式为P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W)。
在另一种可行的实施方式中,如图9所示:
S0101、根据待处理图像块600中的基本预测块604的位置确定第一参考块809和第二参考块802,其中,第一参考块所对应的运动矢量为A(x,-1),第二参考块对应的运动矢量为L(-1,y);
S0102、根据待处理图像块的任一空域参考块的运动信息进行运动补偿,确定参考帧信息和运动补偿块的位置。
其中,所述任一可以是图5所示的左侧空域邻接块或上侧空域邻接块中的某一个可用的空域邻接块,示例性的,可以是沿着方向1检测到的第一个可用的左侧空域邻接块,或者可以是沿着方向2检测到的第一个可用的上侧空域邻接块;还可以是对待处理图像块的多个预设空域参考块依照预设的顺序检测得到的第一个可用的空域邻接块,如图7所示的L→A→AR→BL→AL的顺序;还可以是按照预定规则所选择的空域邻接块,不做限定。
S0103、根据待处理图像块600中的基本预测块604的位置确定第一临时块806和第二临时块808,其中,第一临时块为在步骤S0102中根据参考帧信息确定的参考帧中位于运动补偿块的块806位置的图像块,第二临时块为在步骤S0102中根据参考帧信息确定的参考帧中位于运动补偿块的块808位置的图像块,第一临时块和第二临时块均为时域参考块。
S0104A、基于待处理图像块的第一临时块对应的运动矢量R(W,y)和待处理图像块的第二参考块对应的运动矢量进行加权计算获得基本预测单元对应的第一临时运动矢量Ph(x,y),示例性的,计算公式为Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)。
S0104B、基于待处理图像块的第二临时块对应的运动矢量B(x,H)和待处理图像块的第一参考块对应的运动矢量进行加权计算获得基本预测单元对应的第二临时运动矢量Pv(x,y),示例性的,计算公式为Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)。
应理解,步骤S0104A和步骤S0104B不限定先后顺序关系。
S0105、基于待处理图像块的第一临时运动矢量和第二临时运动矢量进行加权计算获得基本预测单元对应的运动矢量P(x,y),示例性的,计算公式为P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W)。
前文提到了图像块和存储运动信息的基本存储单元的关系,不妨将图像块所对应的基本存储单元所存储的运动信息称为该图像块的实际运动信息,而运动信息包括运动矢量和运动矢量指向的参考帧的索引信息。应理解,用于加权计算出基本预测块的运动矢量的各个参考块的参考帧的索引信息不能保证是一致的。当各参考块的参考帧的索引信息一致时,参考块对应的运动信息就是参考块的实际运动信息。当个参考块的参考帧的索引信息不一致时,首先需要按照参考帧索引指示的参考帧的距离关系对参考块的实际运动矢量进行加权处理,参考块对应的运动信息就是对参考块的实际运动信息中的运动矢量进行加权处理后的运动矢量。
具体的,确定目标参考图像索引,示例性的,可以固定为0,1或其它索引值,也可以是参考图像列表中使用频率最高的参考图像索引,例如是所有参考块的实际运动矢量或者经加权的运动矢量指向次数最多的参考图像索引。
判断各个参考块的参考帧的索引信息是否与目标图像索引相同;
如果某个参考块的参考帧的索引信息与目标图像索引不同,则基于参考块所在图像与参考块的实际运动信息(参考帧索引信息)所指示的参考帧图像之间的时间距离,与参考块所在图像与目标参考图像索引所指示的参考图像之间的时间距离之比,来按比例缩放实际运动矢量,以获得加权处理后的运动矢量。
在一种可行的实施方式中,在步骤S604之后,所述方法还包括:
S605、基于所述获得的运动矢量,对所述待处理图像块进行运动补偿。
在一种可行的实施方式中,包括:首先对具有相同运动信息的相邻基本预测块进行合并,然后以合并后的图像块作为运动补偿的单元进行运动补偿。
具体的,首先进行横向合并,即对待处理图像块中的每一行基本预测块,从左向右依次判断基本预测块和与其相邻的基本预测块的运动信息(示例性的,包括运动矢量、参考帧列表、参考帧索引信息)是否相同。当运动信息相同时,合并相邻的两个基本预测块,并继续判断和合并后的基本预测块相邻的下一个基本预测块的运动信息是否与合并后的基本预测块的运动信息相同,直到相邻的基本预测块的运动信息与合并后的基本预测块的运动信息不同时,停止合并,继续以该具有不同运动信息的基本预测块作为起点继续进行具有相同运动信息的相邻基本预测块进行合并的步骤,直到该基本预测块行结束。
然后再进行纵向合并,即对每一个横向合并后的基本预测块或者未合并的基本预测块,判断该块的下边沿是否和另一个横向合并后的基本预测块或者未合并的基本预测块的上边沿完全重合。如果完全重合,合并边沿重合的两个具有相同运动信息的基本预测块(或者横向合并后的基本预测块),继续对纵向合并后的基本预测块进行具有相重合的上下边沿的具有相同运动信息的相邻基本预测块进行合并的步骤,直到该待处理图像块中没有满足上述条件的基本预测块。
最后,以合并后的基本预测块作为运动补偿的单元进行运动补偿。
在一种可行的实施方式中,对具有相同运动信息的相邻基本预测块进行合并的合并方式和待处理图像块的形状有关系。示例性的,当待处理图像块的宽大于或等于待处理图像块的高时,只采用上文所述的横向合并的方式进行基本预测块的合并。当待处理图像块的宽小于待处理图像块的高时,对待处理图像块中的每一列基本预测块,从上向下依次判断基本预测块和与其相邻的基本预测块的运动信息(示例性的,包括运动矢量、参考帧列表、参考帧索引信息)是否相同。当运动信息相同时,合并相邻的两个基本预测块,并继续判断和合并后的基本预测块相邻的下一个基本预测块的运动信息是否与合并后的基本预测块的运动信息相同,直到相邻的基本预测块的运动信息与合并后的基本预测块的运动信息相同不同时,停止合并,继续以该具有不同运动信息的基本预测块作为起点继续进行具有相同运动信息的相邻基本预测块进行合并的步骤,直到该基本预测块列结束。
在一种可行的实施方式中,在步骤S601之前,所述方法还包括:
S606、确定所述第一参考块和所述第二参考块位于所述待处理图像块所在的图像边界内。
即,当待处理图像块的上边界线和待处理图像块所在图像的上边界线重合时,第一参考块不存在,此时本申请实施例中的方案不适用。当待处理图像块的左边界线和待处理图像块所在图像的左边界线重合时,第二参考块不存在,此时本申请实施例中的方案也不适用。
在一种可行的实施方式中,在步骤S601之前,所述方法还包括:
S607、确定所述待处理图像块的宽大于或等于16且所述待处理图像块的高大于或等于16;或者,确定所述待处理图像块的宽大于或等于16;或者,确定所述待处理图像块的高大于或等于16。
即,当待处理图像块的宽小于16或高小于16时,本申请实施例中的方案不适用,或者,当待处理图像块的宽小于16且高小于16时,本申请实施例中的方案不适用。
应理解,示例性的,这里以16作为阈值,还可以采用8,24,32等其他数值,宽和高所对应的阈值也可以不相等,均不做限定。
应理解,步骤S606和步骤S607可以配合执行。示例性的,在一种可行的实施方式中,当待处理图像块处于图像帧的左边界,或上边界,或待处理图像块的宽和高都小于16时,不能采用本申请实施例中的帧间预测方案,在另一种可行的实施方式中,当待处理图像块处于图像帧的左边界,或上边界,或待处理图像块的宽或高小于16时,不能采用本申请实施例中的帧间预测方案。
图10为本申请实施例中的帧间预测装置1000的一种示意性框图,具体的,包括:
确定模块1001,用于确定待处理图像块中的基本预测块的尺寸,所述尺寸用于确定所述基本预测块在所述待处理图像块中的位置;
定位模块1002,用于根据所述位置,确定所述基本预测块的第一参考块和第二参考块,其中,所述第一参考块的左边界线和所述基本预测单元的左边界线共线,所述第二参考块的上边界线和所述基本预测单元的上边界线共线,所述第一参考块与所述待处理图像块的上边界线邻接,所述第二参考块与所述待处理图像块的左边界线邻接;
计算模块1003,用于对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量。
在第一种可行的实施方式中,所述与所述待处理图像块具有预设位置关系的原始参考块,包括:与所述待处理图像块具有预设空域位置关系的原始参考块和/或与所述待处理图像块具有预设时域位置关系的原始参考块。
在第二种可行的实施方式中,与所述待处理图像块具有预设空域位置关系的原始参考块,包括:位于所述待处理图像块左上角且与所述待处理图像块的左上角点相邻的图像块、位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块和位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块中的一个或多个,其中,所述与所述待处理图像块具有预设空域位置关系的原始参考块位于所述待处理图像块的外部。
在第三种可行的实施方式中,与所述待处理图像块具有预设时域位置关系的原始参考块,包括:在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块,其中,所述与所述待处理图像块具有预设时域位置关系的原始参考块位于所述映射图像块的外部,所述映射图像块与所述待处理图像块尺寸相等,所述映射图像块在所述目标参考帧中的位置与所述待处理图像块在所述待处理图像块所在图像帧中的位置相同。
在第四种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息通过解析所述码流获得。
在第五种可行的实施方式中,所述目标参考帧的索引信息和参考帧列表信息位于所述待处理图像块所在的条带的条带头对应的码流段中。
在第六种可行的实施方式中,所述计算模块具体用于根据如下公式获得所述基本预测块对应的运动矢量:
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W),
其中,
Ph(x,y)=(W-1x-)×L(-1,y)+(x+1)×R(W,y)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W
AR为所述位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块对应的运动矢量,BR为所述在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块对应的运动矢量,BL为所述位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块对应的运动矢量,x为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的水平距离与所述基本预测块的宽的比值,y为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的竖直距离与所述基本预测块的高的比值,H为所述待处理图像块的高与所述基本预测块的高的比值,W为所述待处理图像块的宽与所述基本预测块的宽的比值,L(-1,y)为所述第二参考块对应的运动矢量,A(x,-1)为所述第一参考块对应的运动矢量,P(x,y)为所述基本预测块对应的运动矢量。
在第七种可行的实施方式中,所述确定模块1001具体用于:当所述基本预测块的两条邻边的边长不等时,确定所述基本预测块的较短的一条边的边长为4或8;当所述基本预测块的两条邻边的边长相等时,确定所述基本预测块的边长为4或8。
在第八种可行的实施方式中,所述确定模块1001具体用于:从码流中解析第一标识,所述第一标识用于指示所述基本预测块的尺寸,其中,所述第一标识位于所述待处理图像块所在序列的序列参数集、所述待处理图像块所在图像的图像参数集和所述待处理图像块所在条带的条带头中的一个所对应的码流段中。
在第九种可行的实施方式中,所述确定模块1001具体用于:根据在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,所述平面模式预测块为根据前述各可行的实施方式进行帧间预测的待处理图像块,所述在先已重构图像为编码顺序位于所述待处理图像块所在图像之前的图像。
在第十种可行的实施方式中,所述确定模块1001具体用于:计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值;当所述平均值小于阈值时,所述基本预测块的尺寸为第一尺寸;当所述平均值大于或等于所述阈值时,所述基本预测块的尺寸为第二尺寸,其中,所述第一尺寸小于所述第二尺寸。
在第十一种可行的实施方式中,所述在先已重构图像为与所述待处理图像块所在的图像具有相同的时域层标识的图像中,编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
在第十二种可行的实施方式中,所述在先已重构图像为编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
在第十三种可行的实施方式中,所述在先已重构图像为多个图像,对应的,所述确定模块1001具体用于:计算所述多个在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值。
在第十四种可行的实施方式中,所述阈值为预设阈值。
在第十五种可行的实施方式中,当所述待处理图像块所在的图像的参考帧的POC均小于所述待处理图像块所在的图像的POC时,所述阈值为第一阈值;当所述待处理图像块所在的图像的至少一个参考帧的POC大于所述待处理图像块所在的图像的POC时,所述阈值为第二阈值,其中,所述第一阈值和所述第二阈值不同。
在第十六种可行的实施方式中,还包括划分模块1004,用于:根据所述尺寸,将所述待处理图像块划分为多个所述基本预测块;依次确定每个所述基本预测块在所述待处理图像块中的位置。
在第十七种可行的实施方式中,还包括判断模块1005,用于:确定所述第一参考块和所述第二参考块位于所述待处理图像块所在的图像边界内。
在第十八种可行的实施方式中,所述判断模块1005还用于:确定所述待处理图像块的宽大于或等于16且所述待处理图像块的高大于或等于16;或者,确定所述待处理图像块的宽大于或等于16;或者,确定所述待处理图像块的高大于或等于16。
在第十九种可行的实施方式中,所述装置用于编码所述待处理图像块,或者,解码所述待处理图像块。
图11为本申请实施例的编码设备或解码设备(简称为译码设备1100)的一种实现方式的示意性框图。其中,译码设备1100可以包括处理器1110、存储器1130和总线系统1150。其中,处理器和存储器通过总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令。编码设备的存储器存储程序代码,且处理器可以调用存储器中存储的程序代码执行本申请描述的各种视频编码或解码方法,尤其是在各种新的帧间预测模式下的视频编码或解码方法,以及在各种新的帧间预测模式下预测运动信息的方法。为避免重复,这里不再详细描述。
该存储器1130可以包括只读存储器(ROM)设备或者随机存取存储器(RAM)设备。任何其他适宜类型的存储设备也可以用作存储器1130。存储器1130可以包括由处理器1110使用总线1150访问的代码和数据1131。存储器1130可以进一步包括操作系统1133和应用程序1135,该应用程序1135包括允许处理器1110执行本申请描述的视频编码或解码方法(尤其是本申请描述的帧间预测方法或运动信息预测方法)的至少一个程序。例如,应用程序1135可以包括应用1至N,其进一步包括执行在本申请描述的视频编码或解码方法的视频编码或解码应用(简称视频译码应用)。
该总线系统1150除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1150。
可选的,译码设备1100还可以包括一个或多个输出设备,诸如显示器1170。在一个示例中,显示器1170可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1170可以经由总线1150连接到处理器1110。
虽然关于视频编码器100及视频解码器200已描述本申请的特定方面,但应理解,本申请的技术可通过许多其它视频编码和/或编码单元、处理器、处理单元、例如编码器/解码器(CODEC)的基于硬件的编码单元及类似者来应用。此外,应理解,仅作为可行的实施方式而提供关于图6所展示及描述的步骤。即,图6所涉及实施方式中所展示的步骤无需必定按图6中所展示的次序执行,且可执行更少、额外或替代步骤。
此外,应理解,取决于可行的实施方式,本文中所描述的方法中的任一者的特定动作或事件可按不同序列执行,可经添加、合并或一起省去(例如,并非所有所描述的动作或事件为实践方法所必要的)。此外,在特定可行的实施方式中,动作或事件可(例如)经由多线程处理、中断处理或多个处理器来同时而非顺序地执行。另外,虽然出于清楚的目的将本申请的特定方面描述为通过单一模块或单元执行,但应理解,本申请的技术可通过与视频解码器相关联的单元或模块的组合执行。
在一个或多个可行的实施方式中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么功能可作为一个或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来传输,且通过基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体的有形媒体,通信媒体包含促进计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体。
以这个方式,计算机可读媒体示例性地可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或多个计算机或一个或多个处理器存取以检索用于实施本申请中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为可行的实施方式而非限制,此计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于存储呈指令或数据结构的形式的所要代码且可由计算机存取的任何其它媒体。同样,任何连接可适当地称作计算机可读媒体。例如,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL),或例如红外线、无线电及微波的无线技术而从网站、服务器或其它远端源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL,或例如红外线、无线电及微波的无线技术包含于媒体的定义中。
然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而替代地针对非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、雷射光盘、光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过雷射以光学方式再现数据。以上各物的组合也应包含于计算机可读媒体的范围内。
可通过例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效集成或离散逻辑电路的一个或多个处理器来执行指令。因此,如本文中所使用,术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码及解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。同样,技术可完全实施于一个或多个电路或逻辑元件中。
本申请的技术可实施于广泛多种装置或设备中,包含无线手机、集成电路(IC)或IC的集合(例如,芯片组)。本申请中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。更确切来说,如前文所描述,各种单元可组合于编码解码器硬件单元中或由互操作的硬件单元(包含如前文所描述的一个或多个处理器)结合合适软件和/或固件的集合来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (36)
1.一种帧间预测的方法,其特征在于,包括:
确定待处理图像块的宽大于或等于16且所述待处理图像块的高大于或等于16;或者确定所述待处理图像块的宽大于或等于16;或者确定所述待处理图像块的高大于或等于16;
确定待处理图像块中的基本预测块的尺寸,所述尺寸用于确定所述基本预测块在所述待处理图像块中的位置;
根据所述位置,确定所述基本预测块的第一参考块和第二参考块,其中,所述第一参考块的左边界线和基本预测单元的左边界线共线,所述第二参考块的上边界线和所述基本预测单元的上边界线共线,所述第一参考块与所述待处理图像块的上边界线邻接,所述第二参考块与所述待处理图像块的左边界线邻接;
对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量;
所述确定待处理图像块中的基本预测块的尺寸,包括:当所述基本预测块的两条邻边的边长不等时,确定所述基本预测块的较短的一条边的边长为4或8;当所述基本预测块的两条邻边的边长相等时,确定所述基本预测块的边长为4或8。
2.根据权利要求1所述的方法,其特征在于,所述与所述待处理图像块具有预设位置关系的原始参考块,包括:与所述待处理图像块具有预设空域位置关系的原始参考块和/或与所述待处理图像块具有预设时域位置关系的原始参考块。
3.根据权利要求2所述的方法,其特征在于,与所述待处理图像块具有预设空域位置关系的原始参考块,包括:位于所述待处理图像块左上角且与所述待处理图像块的左上角点相邻的图像块、位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块和位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块中的一个或多个,其中,所述与所述待处理图像块具有预设空域位置关系的原始参考块位于所述待处理图像块的外部。
4.根据权利要求2或3所述的方法,其特征在于,与所述待处理图像块具有预设时域位置关系的原始参考块,包括:在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块,其中,所述与所述待处理图像块具有预设时域位置关系的原始参考块位于所述映射图像块的外部,所述映射图像块与所述待处理图像块尺寸相等,所述映射图像块在所述目标参考帧中的位置与所述待处理图像块在所述待处理图像块所在图像帧中的位置相同。
5.根据权利要求4所述的方法,其特征在于,所述目标参考帧的索引信息和参考帧列表信息通过解析码流获得。
6.根据权利要求5所述的方法,其特征在于,所述目标参考帧的索引信息和参考帧列表信息位于所述待处理图像块所在的条带的条带头对应的码流段中。
7.根据权利要求4所述的方法,其特征在于,所述对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量,包括:所述基本预测块对应的运动矢量根据如下公式获得:
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W) ,
其中,
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W
AR为所述位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块对应的运动矢量,BR为所述在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块对应的运动矢量,BL为所述位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块对应的运动矢量,x为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的水平距离与所述基本预测块的宽的比值,y为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的竖直距离与所述基本预测块的高的比值,H为所述待处理图像块的高与所述基本预测块的高的比值,W为所述待处理图像块的宽与所述基本预测块的宽的比值,L(-1, y)为所述第二参考块对应的运动矢量,A(x,-1)为所述第一参考块对应的运动矢量,P(x,y)为所述基本预测块对应的运动矢量。
8.根据权利要求1至3任一项所述的方法,其特征在于,所述确定待处理图像块中的基本预测块的尺寸,包括:
从码流中解析第一标识,所述第一标识用于指示所述基本预测块的尺寸,其中,所述第一标识位于所述待处理图像块所在序列的序列参数集、所述待处理图像块所在图像的图像参数集和所述待处理图像块所在条带的条带头中的一个所对应的码流段中。
9.根据权利要求7所述的方法,其特征在于,所述确定待处理图像块中的基本预测块的尺寸,包括:
根据在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,所述平面模式预测块为根据权利要求1至7任一项所述的方法进行帧间预测的待处理图像块,所述在先已重构图像为编码顺序位于所述待处理图像块所在图像之前的图像。
10.根据权利要求9所述的方法,其特征在于,所述根据所述待处理图像块所在图像的在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,包括:
计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值;
当所述平均值小于阈值时,所述基本预测块的尺寸为第一尺寸;
当所述平均值大于或等于所述阈值时,所述基本预测块的尺寸为第二尺寸,其中,所述第一尺寸小于所述第二尺寸。
11.根据权利要求10所述的方法,其特征在于,所述在先已重构图像为与所述待处理图像块所在的图像具有相同的时域层标识的图像中,编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
12.根据权利要求10所述的方法,其特征在于,所述在先已重构图像为编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
13.根据权利要求10所述的方法,其特征在于,所述在先已重构图像为多个图像,对应的,所述计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值,包括:计算所述多个在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值。
14.根据权利要求10所述的方法,其特征在于,所述阈值为预设阈值。
15.根据权利要求10所述的方法,其特征在于,当所述待处理图像块所在的图像的参考帧的POC均小于所述待处理图像块所在的图像的POC时,所述阈值为第一阈值;当所述待处理图像块所在的图像的至少一个参考帧的POC大于所述待处理图像块所在的图像的POC时,所述阈值为第二阈值,其中,所述第一阈值和所述第二阈值不同。
16.根据权利要求1至3任一项所述的方法,在所述确定待处理图像块中的基本预测块的尺寸之后,还包括:
根据所述尺寸,将所述待处理图像块划分为多个所述基本预测块;
依次确定每个所述基本预测块在所述待处理图像块中的位置。
17.根据权利要求1至3任一项所述的方法,其特征在于,在所述确定待处理图像块中的基本预测块的尺寸之前,所述方法还包括:
确定所述第一参考块和所述第二参考块位于所述待处理图像块所在的图像边界内。
18.根据权利要求1至3任一项所述的方法,其特征在于,所述方法用于编码所述待处理图像块,或者,解码所述待处理图像块。
19.一种帧间预测的装置,其特征在于,包括:
判断模块用于,确定待处理图像块的宽大于或等于16且所述待处理图像块的高大于或等于16;或者确定所述待处理图像块的宽大于或等于16;或者确定所述待处理图像块的高大于或等于16;
确定模块,用于确定待处理图像块中的基本预测块的尺寸,所述尺寸用于确定所述基本预测块在所述待处理图像块中的位置;
定位模块,用于根据所述位置,确定所述基本预测块的第一参考块和第二参考块,其中,所述第一参考块的左边界线和基本预测单元的左边界线共线,所述第二参考块的上边界线和所述基本预测单元的上边界线共线,所述第一参考块与所述待处理图像块的上边界线邻接,所述第二参考块与所述待处理图像块的左边界线邻接;
计算模块,用于对所述第一参考块对应的运动矢量、所述第二参考块对应的运动矢量以及与所述待处理图像块具有预设位置关系的原始参考块对应的运动矢量中的一个或多个进行加权计算,以获得所述基本预测块对应的运动矢量;
在确定待处理图像块中的基本预测块的尺寸方面,所述确定模块具体用于:当所述基本预测块的两条邻边的边长不等时,确定所述基本预测块的较短的一条边的边长为4或8;当所述基本预测块的两条邻边的边长相等时,确定所述基本预测块的边长为4或8。
20.根据权利要求19所述的装置,其特征在于,所述与所述待处理图像块具有预设位置关系的原始参考块,包括:与所述待处理图像块具有预设空域位置关系的原始参考块和/或与所述待处理图像块具有预设时域位置关系的原始参考块。
21.根据权利要求20所述的装置,其特征在于,与所述待处理图像块具有预设空域位置关系的原始参考块,包括:位于所述待处理图像块左上角且与所述待处理图像块的左上角点相邻的图像块、位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块和位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块中的一个或多个,其中,所述与所述待处理图像块具有预设空域位置关系的原始参考块位于所述待处理图像块的外部。
22.根据权利要求20或21所述的装置,其特征在于,与所述待处理图像块具有预设时域位置关系的原始参考块,包括:在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块,其中,所述与所述待处理图像块具有预设时域位置关系的原始参考块位于所述映射图像块的外部,所述映射图像块与所述待处理图像块尺寸相等,所述映射图像块在所述目标参考帧中的位置与所述待处理图像块在所述待处理图像块所在图像帧中的位置相同。
23.根据权利要求22所述的装置,其特征在于,所述目标参考帧的索引信息和参考帧列表信息通过解析码流获得。
24.根据权利要求23所述的装置,其特征在于,所述目标参考帧的索引信息和参考帧列表信息位于所述待处理图像块所在的条带的条带头对应的码流段中。
25.根据权利要求22所述的装置,其特征在于,所述计算模块具体用于根据如下公式获得所述基本预测块对应的运动矢量:
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W) ,
其中,
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
R(W,y)=((H-y-1)×AR+(y+1)×BR)/H
B(x,H)=((W-x-1)×BL+(x+1)×BR)/W
AR为所述位于所述待处理图像块右上角且与所述待处理图像块的右上角点相邻的图像块对应的运动矢量,BR为所述在目标参考帧中位于映射图像块右下角且与所述映射图像块的右下角点相邻的图像块对应的运动矢量,BL为所述位于所述待处理图像块左下角且与所述待处理图像块的左下角点相邻的图像块对应的运动矢量,x为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的水平距离与所述基本预测块的宽的比值,y为所述基本预测块的左上角点相对于所述待处理图像块的左上角点的竖直距离与所述基本预测块的高的比值,H为所述待处理图像块的高与所述基本预测块的高的比值,W为所述待处理图像块的宽与所述基本预测块的宽的比值,L(-1, y)为所述第二参考块对应的运动矢量,A(x,-1)为所述第一参考块对应的运动矢量,P(x,y)为所述基本预测块对应的运动矢量。
26.根据权利要求19至21任一项所述的装置,其特征在于,所述确定模块具体用于:
从码流中解析第一标识,所述第一标识用于指示所述基本预测块的尺寸,其中,所述第一标识位于所述待处理图像块所在序列的序列参数集、所述待处理图像块所在图像的图像参数集和所述待处理图像块所在条带的条带头中的一个所对应的码流段中。
27.根据权利要求25所述的装置,其特征在于,所述确定模块具体用于:根据在先已重构图像中平面模式预测块的尺寸,确定所述基本预测块的尺寸,所述平面模式预测块为根据权利要求20至26任一项所述的装置进行帧间预测的待处理图像块,所述在先已重构图像为编码顺序位于所述待处理图像块所在图像之前的图像。
28.根据权利要求27所述的装置,其特征在于,所述确定模块具体用于:
计算所述在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值;
当所述平均值小于阈值时,所述基本预测块的尺寸为第一尺寸;
当所述平均值大于或等于所述阈值时,所述基本预测块的尺寸为第二尺寸,其中,所述第一尺寸小于所述第二尺寸。
29.根据权利要求28所述的装置,其特征在于,所述在先已重构图像为与所述待处理图像块所在的图像具有相同的时域层标识的图像中,编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
30.根据权利要求28所述的装置,其特征在于,所述在先已重构图像为编码顺序距离所述待处理图像块所在的图像最近的已重构图像。
31.根据权利要求28所述的装置,其特征在于,所述在先已重构图像为多个图像,对应的,所述确定模块具体用于:计算所述多个在先已重构图像中全部所述平面模式预测块的宽和高的乘积的平均值。
32.根据权利要求28所述的装置,其特征在于,所述阈值为预设阈值。
33.根据权利要求28所述的装置,其特征在于,当所述待处理图像块所在的图像的参考帧的POC均小于所述待处理图像块所在的图像的POC时,所述阈值为第一阈值;当所述待处理图像块所在的图像的至少一个参考帧的POC大于所述待处理图像块所在的图像的POC时,所述阈值为第二阈值,其中,所述第一阈值和所述第二阈值不同。
34.根据权利要求19至21任一项所述的装置,其特征在于,还包括划分模块,用于:
根据所述尺寸,将所述待处理图像块划分为多个所述基本预测块;
依次确定每个所述基本预测块在所述待处理图像块中的位置。
35.根据权利要求19至21任一项所述的装置,其特征在于,还包括判断模块,用于:
确定所述第一参考块和所述第二参考块位于所述待处理图像块所在的图像边界内。
36.根据权利要求19至21任一项所述的装置,其特征在于,所述装置用于编码所述待处理图像块,或者,解码所述待处理图像块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810995914.4A CN110876057B (zh) | 2018-08-29 | 2018-08-29 | 一种帧间预测的方法及装置 |
PCT/CN2019/094666 WO2020042758A1 (zh) | 2018-08-29 | 2019-07-04 | 一种帧间预测的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810995914.4A CN110876057B (zh) | 2018-08-29 | 2018-08-29 | 一种帧间预测的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110876057A CN110876057A (zh) | 2020-03-10 |
CN110876057B true CN110876057B (zh) | 2023-04-18 |
Family
ID=69643430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810995914.4A Active CN110876057B (zh) | 2018-08-29 | 2018-08-29 | 一种帧间预测的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110876057B (zh) |
WO (1) | WO2020042758A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112911284B (zh) * | 2021-01-14 | 2023-04-07 | 北京博雅慧视智能技术研究院有限公司 | 一种视频编码中跳过模式实现方法及实现电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103299642A (zh) * | 2011-01-07 | 2013-09-11 | Lg电子株式会社 | 编码和解码图像信息的方法和使用该方法的装置 |
CN106851287A (zh) * | 2010-08-17 | 2017-06-13 | M&K控股株式会社 | 用于解码图像的装置 |
CN107211157A (zh) * | 2015-01-26 | 2017-09-26 | 高通股份有限公司 | 用于视频译码的重叠运动补偿 |
WO2018097692A2 (ko) * | 2016-11-28 | 2018-05-31 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
WO2018131830A1 (ko) * | 2017-01-11 | 2018-07-19 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685473B (zh) * | 2011-03-10 | 2015-03-25 | 华为技术有限公司 | 一种帧内预测方法和装置 |
PT3471412T (pt) * | 2011-04-25 | 2021-01-27 | Lg Electronics Inc | Processo de intra-predição para descodificação de vídeo e codificação de vídeo |
CN103841426B (zh) * | 2012-10-08 | 2017-04-26 | 华为技术有限公司 | 用于运动矢量预测的运动矢量列表建立的方法、装置 |
US9270999B2 (en) * | 2013-09-25 | 2016-02-23 | Apple Inc. | Delayed chroma processing in block processing pipelines |
US20180131943A1 (en) * | 2015-04-27 | 2018-05-10 | Lg Electronics Inc. | Method for processing video signal and device for same |
-
2018
- 2018-08-29 CN CN201810995914.4A patent/CN110876057B/zh active Active
-
2019
- 2019-07-04 WO PCT/CN2019/094666 patent/WO2020042758A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851287A (zh) * | 2010-08-17 | 2017-06-13 | M&K控股株式会社 | 用于解码图像的装置 |
CN103299642A (zh) * | 2011-01-07 | 2013-09-11 | Lg电子株式会社 | 编码和解码图像信息的方法和使用该方法的装置 |
CN107211157A (zh) * | 2015-01-26 | 2017-09-26 | 高通股份有限公司 | 用于视频译码的重叠运动补偿 |
WO2018097692A2 (ko) * | 2016-11-28 | 2018-05-31 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
WO2018131830A1 (ko) * | 2017-01-11 | 2018-07-19 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
Non-Patent Citations (1)
Title |
---|
CE4.2.14:planar motion vector prediction;ZHANG,Na et al.;<Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting:Ljubljana,SI>;20180718;第1-2部分,摘要 * |
Also Published As
Publication number | Publication date |
---|---|
CN110876057A (zh) | 2020-03-10 |
WO2020042758A1 (zh) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108605126B (zh) | 滤波视频数据的经解码块的方法和装置及存储介质 | |
CN107211154B (zh) | 用于译码视频数据的方法和装置以及计算机可读存储介质 | |
US8995523B2 (en) | Memory efficient context modeling | |
US9008175B2 (en) | Intra smoothing filter for video coding | |
US9699456B2 (en) | Buffering prediction data in video coding | |
US9762904B2 (en) | Performing motion vector prediction for video coding | |
AU2012273398B2 (en) | Unified merge mode and adaptive motion vector prediction mode candidates selection | |
US20130163664A1 (en) | Unified partition mode table for intra-mode coding | |
CN111200735B (zh) | 一种帧间预测的方法及装置 | |
WO2015038928A1 (en) | Partial intra block copying for video coding | |
CN107113433B (zh) | 基于动态模式决策分支化的低复杂性译码 | |
CN110896485B (zh) | 一种预测运动信息的解码方法及装置 | |
US11601667B2 (en) | Inter prediction method and related apparatus | |
CN110876057B (zh) | 一种帧间预测的方法及装置 | |
CN110855993A (zh) | 一种图像块的运动信息的预测方法及装置 | |
WO2020038232A1 (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 |