CN110121073B - 一种双向帧间预测方法及装置 - Google Patents
一种双向帧间预测方法及装置 Download PDFInfo
- Publication number
- CN110121073B CN110121073B CN201810118179.9A CN201810118179A CN110121073B CN 110121073 B CN110121073 B CN 110121073B CN 201810118179 A CN201810118179 A CN 201810118179A CN 110121073 B CN110121073 B CN 110121073B
- Authority
- CN
- China
- Prior art keywords
- image block
- template
- weight value
- reference image
- difference
- 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
- 230000002457 bidirectional effect Effects 0.000 title claims abstract description 203
- 238000000034 method Methods 0.000 title claims abstract description 117
- 239000013598 vector Substances 0.000 claims description 132
- 238000003860 storage Methods 0.000 claims description 42
- 238000004891 communication Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 21
- 230000015572 biosynthetic process Effects 0.000 claims description 20
- 238000003786 synthesis reaction Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003672 processing method 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
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种双向帧间预测方法及装置,涉及视频图像编解码技术领域,自适应确定出双向加权预测的权重值,提高了双向加权预测的预测性能。该方法包括:根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块;获取当前模板、第一参考模板和第二参考模板;计算当前模板与第一参考模板之间的第一差异值,以及当前模板与第二参考模板之间的第二差异值;确定用于表征第一差异值与第二差异值的差异程度的差距,并根据该差距归属的预设范围,确定第一参考图像块的权重值和第二参考图像块的权重值;根据第一参考图像块的权重值和第二参考图像块的权重值,对第一参考图像块和第二参考图像块进行加权,得到预测图像块。
Description
技术领域
本申请实施例涉及视频图像编解码技术领域,尤其涉及一种双向帧间预测方法及装置。
背景技术
在视频编码中,运动补偿的帧间预测技术对编码效率的提高有非常重要的作用。
对于当前图像块而言,可以仅根据一个参考图像块生成当前图像块的预测图像块(即单向预测),也可以根据两个参考图像块生成当前图像块的预测图像块(即双向帧间预测),上述两个参考图像块可来自于同一个参考帧或者不同的参考帧。一般的,在双向帧间预测的过程中,将两个参考图像块根据各自的权重值进行加权,以生成当前图像块的预测图像块。
在现有的视频编码标准中,双向帧间预测是根据条带级的权重值对两个参考图像块进行加权,以生成预测图像块,或者使用默认权重值(1/2,1/2)对两个参考图像块进行均匀加权,以生成预测图像块。但是,在两个参考图像块与当前图像块的差异值有明显差别的场景中,使用现有方法生成的预测图像块的准确率较低,且预测性能较低。
发明内容
本申请实施例提供一种双向帧间预测方法及装置,能够解决目前获取到的预测图像块的准确率较低、预测性能低的问题。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种双向帧间预测方法,该双向帧间预测方法为:
在根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块后,获取当前模板(当前模板包括与当前图像块相邻、且已重建的像素区域)、第一参考模板(第一参考模板包括与第一参考图像块相邻、且已重建的像素区域)和第二参考模板(第二参考模板包括与第二参考图像块相邻、且已重建的像素区域),这里,当前模板与当前图像块的关系和参考模板与参考图像块的关系相同;然后,计算当前模板与第一参考模板之间的第一差异值,以及当前模板与第二参考模板之间的第二差异值,并确定用于表征第一差异之与第二差异值的差异程度的差距,进而根据该差距归属的预设范围,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值,这样,即可根据第一参考图像块对应的权重值和第二参考图像块对应的权重值,对第一参考图像块的像素和第二参考图像块的像素进行加权,得到预测图像块的像素。所述差距归属不同预设范围时,第一参考图像块对应的权重值不同,第二参考图像块对应的权重值不同。
本申请实施例提供的双向帧间预测方法确定出了第一参考图像块对应的权重值和第二参考图像块对应的权重值,即确定出了块级的权重值,相比于现有技术,本申请实施例提供的双向帧间预测方法有效的提高了当前图像块与预测图像块之间的相似程度,预测性能较高。
可选的,在本申请的一种可能的实现方式中,上述“确定差距”的方法为:根据下述公式确定差距:
D=(S1n+k)/(S0n+k)
其中,D表示差距,S1表示第二差异值,S0表示第一差异值,n为第一预设常数,k为第二预设常数。
可选的,在本申请的另一种可能的实现方式中,上述“确定差距”的方法为:根据下述公式确定差距:
D=S1m-S0m
其中,D表示差距,S1表示第二差异值,S0表示第一差异值,m为第三预设常数。
可选的,在本申请的另一种可能的实现方式中,上述“根据差距归属的预设范围,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值”的方法为:从预设对应关系中查找与预设范围对应的权重值偏移量;预设对应关系包括多个预设差距范围以及每个预设差距范围对应的权重值偏移量,预设范围为多个预设差距范围中的一个;根据第一预设公式和权重值偏移量,确定第一参考图像块对应的权重值,并根据第二预设公式以及第一参考图像块对应的权重值,确定第二参考图像块对应的权重值;其中,第一预设公式为:w0=1/2+Δw;第二预设公式为:w1=1-w0。w0为第一参考图像块对应的权重值,Δw为权重值偏移量,w1为第二参考图像块对应的权重值。
可选的,在本申请的另一种可能的实现方式中,上述“根据差距归属的预设范围,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值”的方法为:根据第三预设公式,确定与预设范围对应的权重值偏移量;根据第一预设公式和权重值偏移量,确定第一参考图像块对应的权重值,并根据第二预设公式和第一参考图像块对应的权重值,确定第二参考图像块对应的权重值;其中,第一预设公式为:w0=1/2+Δw;第二预设公式为:w1=1-w0;第三预设公式为:
w0为第一参考图像块对应的权重值,w1为第二参考图像块对应的权重值,Δw表示权重值偏移量,floor(·)为向下取整函数,P表示权重值的精度,o是第四预设常数,q为第五预设常数,i为第六预设常数,Dmin表示差距D的最小值。
可选的,在本申请的另一种可能的实现方式中,上述当前图像块的双向运动信息包括用于指示第一参考帧的第一参考帧索引、用于指示第二参考帧的第二参考帧索引、第一运动矢量以及第二运动矢量。
在这种情况下,上述“根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块”的方法为:获取第一参考帧索引、第二参考帧索引、第一运动矢量和第二运动矢量;根据第一参考帧索引,从第一参考帧列表中获取第一参考帧,根据第二参考帧索引,从第二参考帧列表中获取第二参考帧;根据第一运动矢量和第一参考帧,确定第一参考图像块,并根据第二运动矢量和第二参考帧,确定第二参考图像块。
可选的,在本申请的另一种可能的实现方式中,上述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量。
在这种情况下,上述“根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块”的方法为:获取第三参考帧索引、第四参考帧索引、第三运动矢量和第四运动矢量;根据第三参考帧索引和第三运动矢量,从第一参考帧中确定第一图像块,以及根据第四参考帧索引和第四运动矢量,从第二参考帧中确定第二图像块;该获取第一目标模板和第二目标模板,这里,第一目标模板包括第一图像块相邻、且已重建的像素区域,第二目标模板包括第二图像块相邻、且已重建的像素区域;根据第一目标模板和第二目标模板分别与当前模板之间的差异值,确定第一图像块对应的权重值和第二图像块对应的权重值;根据第一图像块的权重值和第二图像块对应的权重值,对第一图像块的像素和第二图像块的像素进行加权,得到搜索模板,并根据搜索模板,从第一参考帧中确定第一参考图像块,并从第二参考帧中确定第二参考图像块。
可以看出,本申请可以直接根据获取到的双向运动信息确定出第一参考图像块和第二参考图像块,也可以利用获取到的双向运动信息确定第一图像块和第二图像块,并根据第一图像块和第二图像块确定出搜索模板,进而根据该搜索模板从第一参考帧中确定出第一参考图像块,从第二参考帧中确定出第二参考图像块。利用搜索模板确定出第一参考图像块和第二参考图像块,进一步地提高了当前图像块与预测图像块之间的相似程度。
可选的,在本申请的另一种可能的实现方式中,上述“根据第一目标模板和第二目标模板分别与当前模板之间的差异值,确定第一图像块对应的权重值和第二图像块对应的权重值”的方法为:计算当前模板与第一目标模板之间的第三差异值,以及当前模板与第二目标模板之间的第四差异值,并根据第三差异值与第四差异值,确定第一图像块对应的权重值和第二图像块对应的权重值。
可选的,在本申请的另一种可能的实现方式中,上述“根据第一目标模板和第二目标模板分别与当前模板之间的差异值,确定第一图像块对应的权重值和第二图像块对应的权重值”的方法为:根据N(N≥2)对预设权重值,对第一目标模板的像素和第二目标模板的像素分别按照每一对预设权重值进行加权,得到N个合成空间模板,然后,计算当前模板与每一合成空间模板之间的差异值,这样,能够确定出差异值最小的合成空间模板,根据与该合成空间模板对应的一对预设权重值确定第一图像块对应的权重值和第二图像块对应的权重值。
本申请可以采用不同的方法确定第一图像块对应的权重值和第二图像块对应的权重值,本申请实施例对此不作具体限定。
第二方面,提供一种双向帧间预测装置,该双向帧间预测装置包括确定单元、获取单元、计算单元以及加权单元。
具体的,上述确定单元,用于根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块。上述获取单元,用于获取当前模板、第一参考模板和第二参考模板,当前模板包括与上述确定单元确定的当前图像块相邻、且已重建的像素区域,第一参考模板包括与上述确定单元确定的第一参考图像块相邻、且已重建的像素区域,第二参考模板包括与上述确定单元确定的第二参考图像块相邻、且已重建的像素区域;当前模板与当前图像块的位置关系、第一参考模板与第一参考图像块的位置关系、以及第二参考模板与第二参考图像块的位置关系均相同。上述计算单元,用于计算上述获取单元获取到的当前模板与第一参考模板之间的第一差异值,以及当前模板与第二参考模板之间的第二差异值。上述确定单元,还用于确定差距,该差距用于表征上述计算单元计算出的第一差异值与第二差异值的差异程度,以及根据差距归属的预设范围,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值,所述差距归属不同预设范围时,第一参考图像块对应的权重值不同,第二参考图像块对应的权重值不同。上述加权单元,用于根据上述确定单元确定出的第一参考图像块对应的权重值和第二参考图像块对应的权重值,对第一参考图像块的像素和第二参考图像块的像素进行加权,得到预测图像块的像素。
可选的,在本申请的一种可能的实现方式中,上述确定单元具体用于:根据公式D=(S1n+k)/(S0n+k)确定差距,其中,D表示差距,S1表示第二差异值,S0表示第一差异值,n为第一预设常数,k为第二预设常数。
可选的,在本申请的另一种可能的实现方式中,上述确定单元具体用于:根据公式D=S1m-S0m确定差距,其中,D表示差距,S1表示第二差异值,S0表示第一差异值,m为第三预设常数。
可选的,在本申请的另一种可能的实现方式中,上述确定单元具体用于:从预设对应关系中查找与预设范围对应的权重值偏移量;预设对应关系包括多个预设差距范围以及每个预设差距范围对应的权重值偏移量,预设范围为多个预设差距范围中的一个;根据第一预设公式和权重值偏移量,确定第一参考图像块对应的权重值,并根据第二预设公式以及第一参考图像块对应的权重值,确定第二参考图像块对应的权重值;其中,第一预设公式为:w0=1/2+Δw;第二预设公式为:w1=1-w0;w0为第一参考图像块对应的权重值,Δw为权重值偏移量,w1为第二参考图像块对应的权重值。
可选的,在本申请的另一种可能的实现方式中,上述确定单元具体用于:根据第三预设公式,确定与预设范围对应的权重值偏移量;根据第一预设公式和权重值偏移量,确定第一参考图像块对应的权重值,并根据第二预设公式和第一参考图像块对应的权重值,确定第二参考图像块对应的权重值;其中,第一预设公式为:w0=1/2+Δw;第二预设公式为:w1=1-w0;第三预设公式为:
w0为第一参考图像块对应的权重值,w1为第二参考图像块对应的权重值,Δw表示权重值偏移量,floor(·)为向下取整函数,P表示权重值的精度,o是第四预设常数,q为第五预设常数,i为第六预设常数,Dmin表示差距D的最小值。
可选的,在本申请的另一种可能的实现方式中,上述当前图像块的双向运动信息包括用于指示第一参考帧的第一参考帧索引、用于指示第二参考帧的第二参考帧索引、第一运动矢量以及第二运动矢量。
相应的,上述获取单元,还用于获取第一参考帧索引、第二参考帧索引、第一运动矢量和第二运动矢量,以及根据第一参考帧索引,从第一参考帧列表中获取第一参考帧,并根据第二参考帧索引,从第二参考帧列表中获取第二参考帧。上述确定单元,具体用于根据上述获取单元获取到的第一运动矢量和第一参考帧,确定第一参考图像块,并根据第二运动矢量和第二参考帧,确定第二参考图像块。
可选的,在本申请的另一种可能的实现方式中,上述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量。
相应的,上述获取单元,还用于获取第三参考帧索引、第四参考帧索引、第三运动矢量和第四运动矢量,以及根据第三参考帧索引和第三运动矢量,从第一参考帧中确定第一图像块,以及根据第四参考帧索引和第四运动矢量,从第二参考帧中确定第二图像块,以及获取第一目标模板和第二目标模板,第一目标模板包括第一图像块相邻、且已重建的像素区域,第二目标模板包括第二图像块相邻、且已重建的像素区域。上述确定单元,具体用于根据上述获取单元获取到的第一目标模板和第二目标模板分别与当前模板之间的差异值,确定第一图像块对应的权重值和第二图像块对应的权重值。上述加权单元,还用于根据上述确定单元确定出的第一图像块的权重值和第二图像块对应的权重值,对第一图像块的像素和第二图像块的像素进行加权,得到搜索模板。上述确定单元,具体用于根据上述加权单元得到的搜索模板,从第一参考帧中确定第一参考图像块,并从第二参考帧中确定第二参考图像块。
可选的,在本申请的另一种可能的实现方式中,在上述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量的情况下,上述计算单元,还用于计算当前模板与第一目标模板之间的第三差异值,以及当前模板与第二目标模板之间的第四差异值。上述确定单元,具体用于根据计算单元计算出的第三差异值与第四差异值,确定第一图像块对应的权重值和第二图像块对应的权重值。
可选的,在本申请的另一种可能的实现方式中,在上述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量的情况下,上述加权单元,还用于根据N对预设权重值,对第一目标模板的像素和第二目标模板的像素分别按照每一对预设权重值进行加权,得到N个合成空间模板,N≥2。上述计算单元,还用于计算当前模板与上述加权单元得到的每一合成空间模板之间的差异值。上述确定单元,具体用于确定上述计算单元计算出的差异值最小的合成空间模板,根据与该合成空间模板对应的一对预设权重值确定第一图像块对应的权重值和第二图像块对应的权重值。
第三方面,提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行如上述第一方面及其任意一种可能的实现方式所述的双向帧间预测方法。
具体的,上述处理器用于:根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块;通过上述通信接口获取当前模板、第一参考模板和第二参考模板,当前模板包括与当前图像块相邻、且已重建的像素区域,第一参考模板包括与第一参考图像块相邻、且已重建的像素区域,第二参考模板包括与第二参考图像块相邻、且已重建的像素区域,当前模板与当前图像块的位置关系、第一参考模板与第一参考图像块的位置关系、以及第二参考模板与第二参考图像块的位置关系均相同;计算当前模板与第一参考模板之间的第一差异值,以及当前模板与第二参考模板之间的第二差异值;确定差距,该差距用于表征上述计算单元计算出的第一差异值与第二差异值的差异程度,以及根据差距归属的预设范围,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值,所述差距归属不同预设范围时,第一参考图像块对应的权重值不同,第二参考图像块对应的权重值不同;根据第一参考图像块对应的权重值和第二参考图像块对应的权重值,对第一参考图像块的像素和第二参考图像块的像素进行加权,得到预测图像块的像素。
可选的,在本申请的一种可能的实现方式中,上述处理器具体用于:根据公式D=(S1n+k)/(S0n+k)确定差距,其中,D表示差距,S1表示第二差异值,S0表示第一差异值,n为第一预设常数,k为第二预设常数。
可选的,在本申请的另一种可能的实现方式中,上述处理器具体用于:根据公式D=S1m-S0m确定差距,其中,D表示差距,S1表示第二差异值,S0表示第一差异值,m为第三预设常数。
可选的,在本申请的另一种可能的实现方式中,上述确定单元具体用于:从预设对应关系中查找与预设范围对应的权重值偏移量;预设对应关系包括多个预设差距范围以及每个预设差距范围对应的权重值偏移量,预设范围为多个预设差距范围中的一个;根据第一预设公式和权重值偏移量,确定第一参考图像块对应的权重值,并根据第二预设公式以及第一参考图像块对应的权重值,确定第二参考图像块对应的权重值;其中,第一预设公式为:w0=1/2+Δw;第二预设公式为:w1=1-w0;w0为第一参考图像块对应的权重值,Δw为权重值偏移量,w1为第二参考图像块对应的权重值。
可选的,在本申请的另一种可能的实现方式中,上述处理器具体用于:根据第三预设公式,确定与预设范围对应的权重值偏移量;根据第一预设公式和权重值偏移量,确定第一参考图像块对应的权重值,并根据第二预设公式和第一参考图像块对应的权重值,确定第二参考图像块对应的权重值;其中,第一预设公式为:w0=1/2+Δw;第二预设公式为:w1=1-w0;第三预设公式为:
w0为第一参考图像块对应的权重值,w1为第二参考图像块对应的权重值,Δw表示权重值偏移量,floor(·)为向下取整函数,P表示权重值的精度,o是第四预设常数,q为第五预设常数,i为第六预设常数,Dmin表示差距D的最小值。
可选的,在本申请的另一种可能的实现方式中,上述当前图像块的双向运动信息包括用于指示第一参考帧的第一参考帧索引、用于指示第二参考帧的第二参考帧索引、第一运动矢量以及第二运动矢量。
相应的,上述处理器还用于:获取第一参考帧索引、第二参考帧索引、第一运动矢量和第二运动矢量,以及根据第一参考帧索引,从第一参考帧列表中获取第一参考帧,并根据第二参考帧索引,从第二参考帧列表中获取第二参考帧;根据获取到的第一运动矢量和第一参考帧,确定第一参考图像块,并根据第二运动矢量和第二参考帧,确定第二参考图像块。
可选的,在本申请的另一种可能的实现方式中,上述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量。
相应的,上述处理器还用于:获取第三参考帧索引、第四参考帧索引、第三运动矢量和第四运动矢量,以及根据第三参考帧索引和第三运动矢量,从第一参考帧中确定第一图像块,以及根据第四参考帧索引和第四运动矢量,从第二参考帧中确定第二图像块,以及获取第一目标模板和第二目标模板,第一目标模板包括第一图像块相邻、且已重建的像素区域,第二目标模板包括第二图像块相邻、且已重建的像素区域;根据获取到的第一目标模板和第二目标模板分别与当前模板之间的差异值,确定第一图像块对应的权重值和第二图像块对应的权重值;根据第一图像块的权重值和第二图像块对应的权重值,对第一图像块的像素和第二图像块的像素进行加权,得到搜索模板;根据搜索模板,从第一参考帧中确定第一参考图像块,并从第二参考帧中确定第二参考图像块。
可选的,在本申请的另一种可能的实现方式中,在上述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量的情况下,上述处理器还用于:计算当前模板与第一目标模板之间的第三差异值,以及当前模板与第二目标模板之间的第四差异值;根据计算出的第三差异值与第四差异值,确定第一图像块对应的权重值和第二图像块对应的权重值。
可选的,在本申请的另一种可能的实现方式中,在上述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量的情况下,上述处理器还用于:根据N对预设权重值,对第一目标模板的像素和第二目标模板的像素分别按照每一对预设权重值进行加权,得到N个合成空间模板,N≥2;计算当前模板与每一合成空间模板之间的差异值;确定计算出的差异值最小的合成空间模板,根据与该合成空间模板对应的一对预设权重值确定第一图像块对应的权重值和第二图像块对应的权重值。
第四方面,提供一种视频编码器,包括非易失性存储介质以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第一方面及其任意一种可能的实现方式所述的双向帧间预测方法。
第五方面,提供一种视频解码器,包括非易失性存储介质以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现所述第一方面及其任意一种可能的实现方式所述的双向帧间预测方法。
第六方面,提供一种编码器,所述编码器包括上述第二方面中的双向帧间预测装置以及重建模块,其中,所述重建模块用于根据所述双向帧间预测装置得到的预测图像块的像素确定当前图像块的重建像素值。
第七方面,提供一种解码器,所述解码器包括上述第二方面中的双向帧间预测装置以及重建模块,其中,所述重建模块用于根据所述双向帧间预测装置得到的预测图像块的像素确定当前图像块的重建像素值。
第八方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在上述第三方面所述的终端上运行时,使得所述终端执行如上述第一方面及其任意一种可能的实现方式所述的双向帧间预测方法。
第九方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在上述第三方面所述的终端上运行时,使得所述终端执行如上述第一方面及其任意一种可能的实现方式所述的双向帧间预测方法。
可选的,在上述任一方面及其任一可能的实现方式中,上述差异值均可以根据误差绝对值和(Sum ofAbsolute Differences,SAD)、误差变换系数绝对值之和(Sum ofAbsolute Transformed Difference,SATD)或去均值的误差绝对值之和(Mean-RemovalSum ofAbsolute Differences,MR-SAD)计算得到。
在本申请中,上述双向帧间预测装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请中第二方面到第九方面,及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第九方面,及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例中CTU的结构示意图;
图2为本申请实施例中图像块的模板的结构示意图;
图3为本申请实施例提供的视频传输系统的结构示意图;
图4A为本申请实施例提供的视频编解码装置的结构示意图;
图4B为本申请实施例提供的视频编解码系统的结构示意图;
图5为本申请实施例提供的双向帧间预测方法流程示意图一;
图6A为本申请实施例提供的当前模板、第一参考模板和第二参考模板的结构示意图一;
图6B为本申请实施例提供的当前模板、第一参考模板和第二参考模板的结构示意图二;
图7为本申请实施例提供的双向帧间预测方法流程示意图二;
图8为本申请实施例提供的当前图像块、搜索模板以及预测图像块的结构示意图;
图9为本申请实施例提供的双向帧间预测方法流程示意图三;
图10为本申请实施例提供的双向帧间预测装置的结构示意图;
图11为本申请实施例提供的双向帧间预测装置的结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了方便理解本申请实施例,首先在此介绍本申请实施例涉及到的相关要素。
编码树单元(Coding Tree Unit,CTU):一幅图像由多个CTU构成,一个CTU通常对应于一个方形图像区域,如图1所示,图像10由多个CTU构成(包括CTUA、CTU B、CTU C等)。与某一CTU对应的编码信息包含与该CTU对应的方形图像区域中的像素的亮度值和/或色度值。此外,与某一CTU对应的编码信息还可以包含语法元素,这些语法元素指示如何将该CTU划分成至少一个编码单元(Coding Unit,CU),以及解码每个CU以得到重建图像的方法。
一个CTU对应的图像区域可以包括64×64、128×128或256×256个像素。在一个示例中,64×64个像素的CTU包含由64列、每列64个像素的矩形像素点阵,每个像素包含亮度分量和/或色度分量。
可以理解的是,CTU也可以对应矩形图像区域或者其它形状的图像区域,一个CTU对应的图像区域也可以是水平方向的像素点的数量与竖直方向的像素点数量不同的图像区域,例如包括64×128个像素。
CU:通常对应于一个A×B的矩形区域,A为矩形的宽,B为矩形的高,其中,本申请实施例中涉及到的宽是指图1示出的二维直角坐标系XoY中沿X轴方向(水平方向)的长度,高是指图1示出的二维直角坐标系XoY中沿Y轴方向(竖直方向)的长度。这里,A和B的取值可以相同,也可以不同。A和B的取值通常为2的整数次幂,例如:256、128、64、32、16、8或4等。
一个CU可通过解码处理得到一个A×B的矩形区域的重建图像块,解码处理通常包括预测(prediction)、反量化(dequantization)、反变换(inversetransform)等处理,产生预测图像和残差图像,预测图像和残差图像叠加后得到重建图像块。多个重建图像块可以得到最终的重建图像。
条带(Slice):由一系列的按照光栅扫描顺序排列的CTU组成。一幅图像可以分解为一个或若干个条带,每个条带各包括一组CTU。
帧间预测:指以编码图像块/解码图像块为单位,利用当前帧与其参考帧之间的相关性完成的预测,当前帧可以存在一个或多个参考帧。具体的,根据当前图像块的参考帧中的像素,生成当前图像块的预测图像块。
一般的,对于当前图像块而言,可以仅根据一个参考图像块生成当前图像块的预测图像块,也可以根据两个参考图像块生成当前图像块的预测图像块。上述根据一个参考图像块生成当前图像块的预测图像块称为单向预测,上述根据两个参考图像块生成当前图像块的预测图像块称为双向帧间预测。双向帧间预测中的两个参考图像块可来自于同一个参考帧或者不同的参考帧。
可选的,双向帧间预测可以是指利用当前视频帧与在其之前编码且在其之前播放的视频帧之间的相关性,和当前视频帧与在其之前编码且在其之后播放的视频帧之间的相关性进行的帧间预测。
可以看出,上述双向帧间预测涉及两个方向的帧间预测,一般称为:前向帧间预测和后向帧间预测。前向帧间预测是指利用当前视频帧与在其之前编码且在其之前播放的视频帧之间的相关性进行的帧间预测。后向帧间预测是指利用当前视频帧与在其之前编码且在其之后播放的视频帧之间的相关性进行的帧间预测。
前向帧间预测对应前向参考帧列表L0,后向帧间预测对应后向参考帧列表L1,两个参考帧列表中所包含的参考帧的数量可以相同,也可以不同。
图像编码(image encoding):将图像序列压缩成码流的处理过程。
图像解码(image decoding):将码流按照特定的语法规则和处理方法恢复成重建图像的处理过程。
在大多数的编码框架中,视频序列包括一系列图像(picture),图像被划分为至少一个条带,每个条带又被划分为图像块(block)。视频编码/解码以图像块为单位,可从图像的左上角位置开始从左到右、从上到下、一行一行进行编码/解码处理。这里,图像块可以为视频编解码标准H.264中的宏块(macro block,MB),也可以为高效视频编码(HighEfficiency Video Coding,HEVC)标准中的CU,本申请实施例对此不作具体限定。
本申请中,正在进行编码/解码处理的图像块称为当前图像块(current block),当前图像块所在的图像称为当前帧。
当前帧可以为单向预测帧(P帧),也可以为双向预测帧(B帧)。在当前帧为P帧的情况下,当前帧具有一个参考帧列表。在当前帧为B帧的情况下,当前帧具有两个参考帧列表,这两个列表通常分别称为L0和L1。每个参考帧列表均包含至少一个用作当前帧的参考帧的重建帧。参考帧用于为当前帧的帧间预测提供参考像素。
在当前帧中,与当前图像块相邻的(例如位于当前块的左侧、上侧或右侧)的图像块可能已经完成了编码/解码处理,得到了重建图像,它们称为重建图像块;重建图像块的编码模式、重建像素等信息是可以获得的(available)。
在当前帧进行编码/解码之前已经完成编码/解码处理的帧称为重建帧。
图像块的模板:包括该图像块相邻、且已重建的像素区域。其中,图像块和该图像块的模板之间可以没有重叠区。示例性的,图像块的模板包括与该图像块相邻、且位于该图像块某一方向(如上侧、左侧和右侧中的至少一个方向)的至少一行重建像素。
可选的,模板的形状可以是L型,也可以是其他形状,本申请对此不作具体限定。例如,如图2所示,图像块20周围相邻的L型像素区域20'为图像块20的模板,位于图像块21左侧且与图像块21相邻的像素区域21'为图像块21的模板,位于图像块22左侧、上测以及右侧、且与图像块22相邻的像素区域22'为图像块22的模板。
运动矢量(MotionVector,MV):表示当前图像块与参考图像块之间的相对位移。
由于视频中连续的若干帧图像之间存在较强时间相关性,所以在进行视频编码时,常利用各个帧之间的时间相关性来减少视频帧间的冗余,达到压缩数据的目的。目前,主要采用运动补偿的帧间预测技术对视频图像进行编码。
具体的,编码端在对当前帧中的当前图像块进行编码时,首先从视频图像已编码的帧中任意选取一个以上参考帧,并从所述参考帧中获取当前图像块对应的预测图像块,然后计算预测图像块与当前图像块之间的残差值,对该残差值进行量化编码;解码端在对当前帧中的当前图像块进行解码时,首先获取当前图像块对应的预测图像块,然后从接收到的码流中获取预测图像块与当前图像块的残差值,根据该残差值和预测块解码重构当前图像块。
视频中当前帧与其他帧之间的时间相关性不仅表现在当前帧与在其之前编码的帧之间存在时间相关性,也表现在当前帧与在其之后编码的帧之间存在时间相关性。基于此,在进行视频编码时,可以考虑双向帧间预测,以得到较佳的编码效果。
在双向帧间预测的过程中,将两个参考图像块根据各自的权重值进行加权,以生成当前图像块的预测图像块。在现有的视频编码标准中,双向帧间预测是根据条带级的权重值对两个参考图像块进行加权,以生成预测图像块,或者使用默认权重值(1/2,1/2)对两个参考图像块进行均匀加权,以生成预测图像块。但是,在两个参考图像块与当前图像块的差异值有明显差别的场景中,使用现有方法生成的预测图像块与当前图像块的相似程度较低。
针对上述问题,本申请实施例提供一种双向帧间预测方法,在确定出第一参考图像块和第二参考图像块后,获取第一参考模板(第一参考模板包括与第一参考图像块相邻、且已重建的像素区域)、第二参考模板(第二参考模板包括与第二参考图像块相邻、且已重建的像素区域)以及当前模板(当前模板包括与当前图像块相邻、且已重建的像素区域),然后,计算当前模板与第一参考模板之间的第一差异值,以及当前模板与第二参考模板之间的第二差异值,并确定用于表征第一差异之与第二差异值的差异程度的差距,进而根据该差距归属的预设范围,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值,这样,即可根据第一参考图像块对应的权重值和第二参考图像块对应的权重值,对第一参考图像块的像素和第二参考图像块的像素进行加权,得到预测图像块的像素。本申请实施例中当前模板与当前图像块的位置关系、第一参考模板与第一参考图像块的位置关系、以及第二参考模板与第二参考图像块的位置关系均相同。所述差距归属不同预设范围时,第一参考图像块对应的权重值不同,第二参考图像块对应的权重值不同。
可以看出,本申请提供的双向帧间预测方法确定出了第一参考图像块对应的权重值和第二参考图像块对应的权重值,即确定出了块级的权重值,相比于现有技术,本申请实施例提供的双向帧间预测方法有效的提高了当前图像块与预测图像块之间的相似程度。
本申请提供的双向帧间预测方法可以由双向帧间预测装置、视频编解码装置、视频编解码器以及其它具有视频编解码功能的设备来执行。该双向帧间预测方法既可以发生在编码过程,也可以发生在解码过程,本申请实施例对此不作具体限定。
本申请实施例提供的双向帧间预测方法适用于视频传输系统。图3是本申请实施例提供的视频传输系统的结构示意图。如图3所示,该视频传输系统包括采集模块3001、编码模块3002、发送模块3003、网络3004、接收模块3005、解码模块3006和渲染模块3007。
其中,视频传输系统中各个模块的具体作用如下:
采集模块3001包含摄像头或者摄像头组,用于采集视频图像,并对采集到的视频图像进行编码前的处理,将光信号转化为数字化的视频序列。
编码模块3002用于对视频序列进行编码,得到码流。
发送模块3003用于将编码得到的码流发送出去。
接收模块3005用于接收发送模块3003发送的码流。
网络3004用于将发送模块3003发送的码流传输到接收模块3005。
解码模块3006用于对接收模块3005接收的码流进行解码,重建视频序列。
渲染模块3007用于对解码模块3006解码得到的重建视频序列进行渲染,以提高视频的显示效果。
具体的,图3所示的视频传输系统中的编码模块3001和解码模块3006都可以执行本申请实施例的双向帧间预测方法。
从上述描述可知,本申请实施例提供的双向帧间预测方法可以由视频编解码装置执行。这样,本申请实施例提供的双向帧间预测方法也适用于由视频编解码装置组成的编解码系统。
下面结合图4A和图4B对编解码装置和由编解码装置组成的编解码系统进行详细的介绍。
图4A是本申请实施例的视频编解码装置的示意性图。如图4A所示,视频编解码装置40可以是专门用于对视频图像进行编码和/或解码的装置,也可以是具有视频编解码功能的电子设备,进一步地,该视频编解码装置40可以是无线通信系统的移动终端或者用户设备。
视频编解码装置40可以包括下列模块或者单元:控制器401、编解码器402、无线电接口403、天线404、智能卡405、读卡器406、小键盘407、存储器408、红外线端口409、显示器410。此外,除了图4A中所示的模块和单元之外,视频编解码装置40还可以包括麦克风或者任何适当的音频输入模块,该音频输入模块可以是数字或者模拟信号输入。相应的,视频编解码装置40还可以包括音频输出模块,该音频输出模块可以是耳机、扬声器或者模拟音频或者数字音频输出连接。视频编解码装置40也可以包括电池,该电池可以是太阳能电池、燃料电池等等。视频编解码装置40还可以包括用于与其它设备进行近程视线通信的红外线端口,该视频编解码装置40还可以采用包括任何适当的近程通信方式与其它设备进行通信,例如,蓝牙无线连接、USB/火线有线连接。
存储器408可以存储形式为图像的数据和音频的数据,也可以存储用于在控制器401上执行的指令。
视频编解码器40可以实现对音频和/或视频数据的编码和解码或者在控制器401的控制下实现对音频和/或视频数据的辅助编码和辅助解码。
智能卡405和读卡器406可以提供用户信息,也可以提供网络认证和授权用户的认证信息。智能卡405和读卡器406的具体实现形式可以是集成电路卡(UniversalIntegrated Circuit Card,UICC)和UICC读取器。
无线电接口403可以生成无线通信信号,该无线通信信号可以是在进行蜂窝通信网络、无线通信系统或者无线局域网通信产生的通信信号。
天线404用于向其它装置(装置的数目可以为一个也可以为多个)发送在无线电接口电路403生成的射频信号,并且还可以用于从其它装置(装置的数目可以为一个也可以为多个)接收射频信号。
在本申请的一些实施例中,视频编解码装置40可以在传输和/或存储之前,接收另一设备发送的待处理的视频图像数据。在本申请的另一些实施例中,视频编解码装置40可以通过无线或者有线连接接收图像并对接收到的图像进行编码/解码。
图4B是本申请实施例的视频编解码系统50的示意性框图。
如图4B所示,视频编解码系统50包含源装置501及目的装置502。源装置501产生经过编码后的视频数据,源装置501也可以被称为视频编码装置或视频编码设备,目的装置502可以对源装置501产生的经过编码后的视频数据进行解码,目的装置502也可以被称为视频解码装置或视频解码设备。
源装置501和目的装置502的具体实现形式可以是如下设备中的任意一种:台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话、手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或者其它类似的设备。
目的装置502可以经由信道503接收来自源装置501编码后的视频数据。信道503可包括能够将编码后的视频数据从源装置501移动到目的装置502的一个或多个媒体及/或装置。在一个实例中,信道503可以包括使源装置501能够实时地将编码后的视频数据直接发射到目的装置502的一个或多个通信媒体,在此实例中,源装置501可以根据通信标准(例如,无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的装置502。上述一个或多个通信媒体可以包含无线及/或有线通信媒体,例如射频(RadioFrequency,RF)频谱或一根或多根物理传输线。上述一个或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置501到目的装置502的通信的其它设备。
在另一实例中,信道503可包含存储由源装置501产生的编码后的视频数据的存储媒体。在此实例中,目的装置502可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(Digital VideoDisc,DVD)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道503可包含文件服务器或存储由源装置501产生的编码后的视频数据的另一中间存储装置。在此实例中,目的装置502可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的装置502的服务器类型。例如,文件服务器可以包含全球广域网(WorldWide Web,Web)服务器(例如,用于网站)、文件传送协议(File Transfer Protocol,FTP)服务器、网络附加存储(NetworkAttached Storage,NAS)装置以及本地磁盘驱动器。
目的装置502可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本申请的双向帧间预测方法不限于无线应用场景,示例性的,本申请的双向帧间预测方法可以应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统50可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
在图4B中,源装置501包含视频源5011、视频编码器5012及输出接口5013。在一些实例中,输出接口5013可包含调制器/解调器(调制解调器)及/或发射器。视频源5011可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器5012可编码来自视频源5011的视频数据。在一些实例中,源装置501经由输出接口5013将编码后的视频数据直接发射到目的装置502。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的装置502稍后存取以用于解码及/或播放。
在图4B的实例中,目的装置502包含输入接口5023、视频解码器5022及显示装置5021。在一些实例中,输入接口5023包含接收器及/或调制解调器。输入接口5023可经由信道503接收编码后的视频数据。显示装置5021可与目的装置502整合或可在目的装置502外部。一般来说,显示装置5021显示解码后的视频数据。显示装置5021可包括多种显示装置,例如液晶显示器、等离子体显示器、有机发光二极管显示器或其它类型的显示装置。
视频编码器5012及视频解码器5022可根据视频压缩标准(例如,高效率视频编解码H.265标准)而操作,并且可以可遵照高效视频编码(High Efficiency Video Coding,HEVC)测试模型(HM)。
下面结合图3所示的视频传输系统、图4A示出的视频编解码装置以及图4B示出的由视频编解码装置组成的编解码系统对本申请提供的双向帧间预测方法进行详细描述。
本申请实施例提供的双向帧间预测方法可以由双向帧间预测装置执行,也可以由视频编解码装置执行,还可以由视频编解码器执行,还可以由其它具有视频编解码功能的设备执行,本申请实施例对此不作具体限定。
具体的,请参见图5,图5为本申请实施例提供的双向帧间预测方法的流程示意图。图5所示的双向帧间预测方法既可以发生在编码过程,也可以发生在解码过程。更具体的,图5所示的双向帧间预测方法可以发生在编解码时的帧间预测过程。
为了便于说明,图5中以双向帧间预测装置为执行主体为例进行说明。
如图5所示,该双向帧间预测方法包括:
S500、双向帧间预测装置根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块。
可选的,当前图像块的双向运动信息包括用于指示第一参考帧的第一参考帧索引、用于指示第二参考帧的第二参考帧索引、第一运动矢量以及第二运动矢量。
在这种情况下,双向帧间预测装置确定第一参考图像块和第二参考图像块的方法为:双向帧间预测装置获取第一参考帧索引、第二参考帧索引、第一运动矢量和第二运动矢量;双向帧间预测装置根据第一参考帧索引,从第一参考帧列表中获取第一参考帧,并根据第二参考帧索引,从第二参考帧列表中获取第二参考帧;双向帧间预测装置根据第一运动矢量和第一参考帧,确定第一参考图像块,并根据第二运动矢量和第二参考帧,确定第二参考图像块。
其中,第一参考帧与第二参考帧可以为同一参考帧,也可以为不同参考帧,本申请实施例对此不作具体限定。为了便于理解,本申请实施例后续内容均以第一参考帧与第二参考帧为不同参考帧为例进行说明。
本申请实施例中的第一参考帧索引和第二参考帧索引可以在码流中标识。例如:在HEVC标准中,语法元素ref_idx_l0和ref_idx_l1分别表示前向参考帧列表L0和后向参考帧列表L1中的参考帧索引。这样,双向帧间预测装置从码流中获取第一参考帧索引和第二参考帧索引。
可选的,双向帧间预测装置也可以从当前图像块的一个双向运动矢量预测值中,取前向运动矢量对应的参考帧索引作为第一参考索引,取后向运动矢量对应的参考帧索引作为第二参考帧索引。
其中,双向运动矢量预测值为当前图像块的运动矢量预测值候选者列表(MotionVector Predictor candidate list,MVP candidate list)中的一个运动矢量预测值。当前图像块的运动矢量预测值候选者列表可包含单向运动矢量或双向运动矢量。
可选的,双向帧间预测装置还可以将当前图像块的前向运动矢量预测值的参考帧索引作为第一参考索引,并将当前图像块的后向运动矢量预测值的参考帧索引作为第一参考索引。
其中,前向运动矢量预测值为当前图像块的前向运动矢量预测值候选者列表中的一个运动矢量预测值,后向运动矢量预测值为当前图像块的后向运动矢量预测值候选者列表中的一个运动矢量预测值。当前图像块的前向运动矢量预测值候选者列表包含单向运动矢量,当前图像块的后向运动矢量预测值候选者列表包含单向运动矢量。
本申请实施例中的双向帧间预测装置还可以采用其他方式获取第一参考帧索引和第二参考帧索引,本申请实施例对此不作具体限定。
本申请实施例中的第一运动矢量和第二运动矢量均为单向运动矢量。第一运动矢量和第二运动矢量均可以由运动矢量预测值(Motion Vector Predictor,MVP)和运动矢量差分值(Motion Vector Difference,MVD)相加得到,也可以仅根据运动矢量预测值确定,还可以由解码端运动矢量搜索得到。本申请实施例对第一运动矢量和第二运动矢量的确定方式不作具体限定。
可选的,双向帧间预测装置还可以根据搜索模板在第一参考帧中确定第一参考图像块,根据搜索模板在第二参考帧中确定第二参考图像块。该方法在图7和图9所述的实施例中详细描述。
S501、双向帧间预测装置获取当前模板、第一参考模板和第二参考模板。
当前模板包括当前图像块相邻、且已重建的像素区域,第一参考模板包括与第一参考图像块相邻、且已重建的像素区域,第二参考模板包括与第二参考图像块相邻、且已重建的像素区域。
本申请实施例中“当前模板与当前图像块的位置关系”、“第一参考模板与第一参考图像块的位置关系”以及“第二参考模板与第二参考图像块的位置关系”相同。
结合上述图像块的模板的定义可知,某一图像块的模板可包括该图像块上侧、左侧、右侧中至少一侧的相邻、已重建像素区域。
在一个示例中,如图6A所示,令T0为第一参考模板,T1为第二参考模板,Tc为当前模板,若当前模板Tc包括与当前图像块相邻、位于当前图像块左侧已重建的两列像素以及位于当前图像块上侧已重建的两行像素,则第一参考模板T0包括与第一参考图像块相邻、位于第一参考图像块左侧已重建的两列像素以及位于第一参考图像块上侧已重建的两行像素,第二参考模板T1包括与第二参考图像块相邻、位于第二参考图像块左侧已重建的两列像素以及位于第二参考图像块上侧已重建的两行像素。
在另一个示例中,如图6B所示,令T0为第一参考模板,T1为第二参考模板,Tc为当前模板,若当前模板Tc包括与当前图像块相邻、位于当前图像块左侧已重建的一列像素,则第一参考模板T0包括与第一参考图像块相邻、位于第一参考图像块左侧已重建的一列像素,第二参考模板T1包括与第二参考图像块相邻、位于第二参考图像块左侧已重建的一列像素。
此外,双向帧间预测装置可以在确定第一参考图像块和第二参考图像块之后获取当前模板,也可以在确定第一参考图像块和第二参考图像块之前获取当前模板,本申请实施例对此不作具体限定。
结合上述图像块的模板的定义可知,某一图像块的模板可包括该图像块上侧、左侧、右侧中至少一侧的相邻、已重建像素区域。
可选的,双向帧间预测装置可以根据位于某一图像块(当前图像块、第一参考图像块或第二参考图像块)周围、已经重建的区域,确定该图像块的模板。
示例性的,若当前图像块仅有上侧相邻区域已经重建,则当前模板包括当前图像块的上侧相邻区域;若当前图像块的上侧和左侧相邻区域均已重建,则当前模板包括当前图像块的上侧相邻区域和左侧相邻区域;若当前图像块的上侧和右侧相邻区域均已重建,则当前模板包括当前图像块的上侧相邻区域和右侧相邻区域。
可选的,双向帧间预测装置还可以根据某一图像块(当前图像块、第一参考图像块或第二参考图像块)的相邻区域的运动矢量和该图像块的运动矢量的相似性,确定该图像块的模板。
示例性的,双向帧间预测装置判断当前图像块的上侧相邻区域、左侧相邻区域、右侧相邻区域中至少一个区域的前向运动矢量是否与当前图像块的前向运动矢量相似,并确定前向运动矢量相似的区域属于当前模板;或者,双向帧间预测装置判断当前图像块的上侧相邻区域、左侧相邻区域、右侧相邻区域中至少一个区域的后向运动矢量是否与当前图像块的后向运动矢量相似,并确定后向运动矢量相似的区域属于当前模板。
这里,双向帧间预测装置判断两个运动矢量相似的判断方法可以为:若两个运动矢量指向同一参考帧且二者之间的水平分量差值和竖直分量差值的绝对值之和小于预设阈值(例如4个、8个或12个像素),则这两个运动矢量相似,否则为不相似。
本申请实施例中的双向帧间预测装置还可以采用其他方式获取某一图像块的模板,本申请实施例对此不作具体限定。
需要说明的是,在当前图像块、第一参考图像块或第二参考图像块的模板为空的情况下,双向帧间预测装置在执行S501后,可直接将第一参考图像块和第二参考图像块对应的权重值确定为1/2和1/2。
S502、双向帧间预测装置计算当前模板与第一参考模板之间的第一差异值,以及当前模板与第二参考模板之间的第二差异值。
为了便于描述,以当前模板为Tc、第一参考模板为T0、第二参考模板为T1、第一差异值为S0、第二差异值为S1为例进行说明。
可选的,双向帧间预测装置可以根据SAD确定差异值,即双向帧间预测装置根据Tc和T0对应像素的SAD确定S0,根据Tc和T1对应像素的SAD确定S1。S0越大,则表示当前模板与第一参考模板的相似程度越小;S1越大,则表示当前模板与第二参考模板的相似程度越小。
具体的,在双向帧间预测装置根据SAD确定差异值的情况下,双向帧间预测装置根据下述SAD计算公式(1)计算S0,根据下述SAD计算公式(2)计算S1。
上述公式(1)和公式(2)中,fc(x,y)为当前图像块中一个位置为(x,y)的像素(简称:像素(x,y))的亮度分量值,像素(x,y)与当前图像块的左上角的像素(0,0)的位置偏移为(x,y),其中,x为水平方向偏移,y为竖直方向偏移;N1为当前图像块在水平方向的长度,N2为当前图像块在竖直方向的长度;f0(x-dx0,y-dy0)为像素(x,y)根据运动矢量(dx0,dy0)得到的第一参考帧中对应位置的亮度分量值;f1(x-dx1,y-dy1)为像素(x,y)根据运动矢量(dx1,dy1)得到的第二参考帧中对应位置的亮度分量值。
上述公式(1)和公式(2)中的差异值均为亮度分量值的SAD。可选的,差本申请实施例中的差异值还可以为亮度分量值的SAD和色度分量值的SAD的总和。
可选的,双向帧间预测装置还可以根据SATD确定差异值,即双向帧间预测装置根据Tc和T0对应像素的SATD确定S0,根据Tc和T1对应像素的SATD确定S1。S0越大,则表示当前模板与第一参考模板的相似程度越小;S1越大,则表示当前模板与第二参考模板的相似程度越小。
具体的,在双向帧间预测装置根据SATD确定差异值的情况下,双向帧间预测装置根据下述SATD计算公式(3)计算S0,根据下述SATD计算公式(4)计算S1。
上述公式(3)和公式(4)中,Fc(μ,ν)=H[fc(x,y)],F0(μ,ν)=H[f0(x-dx0,y-dy0)],F1(μ,ν)=H[f1(x-dx1,y-dy1)],其中,H[x]表示对x进行变换,例如:哈达玛变换(Hadamard transform),μ和ν为变换域的二维坐标值。公式(3)和公式(4)中的其他参数的描述可以参考上述公式(1)和公式(2)的描述,此处不再进行详细赘述。
可选的,双向帧间预测装置还可以根据MR-SAD确定差异值,即双向帧间预测装置根据Tc和T0对应像素的MR-SAD确定S0,根据Tc和T1对应像素的MR-SAD确定S1。S0越大,则表示当前模板与第一参考模板的相似程度越小;S1越大,则表示当前模板与第二参考模板的相似程度越小。
具体的,在双向帧间预测装置根据MR-SAD确定差异值的情况下,双向帧间预测装置根据下述MR-SAD计算公式(5)计算S0,根据下述MR-SAD计算公式(6)计算S1。
其中,DeltaC0为Tc和T0的亮度均值的差值,DeltaC1为Tc和T1的亮度均值的差值,即,
公式(5)和公式(6)中的其他参数的描述可以参考上述公式(1)和公式(2)的描述,此处不再进行详细赘述。
容易理解的是,本申请实施例中的双向帧间预测装置还可以根据其他准则确定差异值,这里不再一一举例说明。
S503、双向帧间预测装置确定用于表征第一差异值与第二差异值的差异程度的差距,根据该差距归属的预设范围,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值。
当第一差异值和第二差异值的差异程度较小时,可以确定第一参考图像块与当前图像块的相似程度接近于第二参考图像块与当前图像块的相似程度,因此,双向帧间预测装置可以对两个参考图像块均匀加权,即第一参考图像块对应的权重值等于第二参考图像块对应的权重值。当第一差异值与第二差异值的差异程度较大时,以第一差异值远小于第二差异值为例进行说明,可以确定第一参考图像块与当前图像块的相似程度高于第二参考图像块与当前图像块的相似程度,因此,双向帧间预测装置为第一参考图像块分配较大的权重值,并为第二参考图像块分配较小的权重值,这样,可使得预测图像块在统计意义上更接近于当前图像块。
通常情况下,第一参考图像块对应的权重值与第二参考图像块的之和等于1。
具体的,双向帧间预测装置在计算出第一差异值和第二差异值之后,先确定用于表征第一差异值与第二差异值的差异程度的差距。
在一个示例中,双向帧间预测装置根据下述公式(7)或下述公式(8)确定用于表征两个参考图像块与当前图像块的差异值的差异程度的差距D,并根据该差距D为第一参考图像块和第二参考图像块分配权重值。
D=(S0n+k)/(S1n+k) (7)
D=(S1n+k)/(S0n+k) (8)
上述公式(7)和公式(8)中,参数n为第一预设常数,k为第二预设常数,例如:k=0、0.5、1或3,n=1/2、1或2。
两个差异值的差异程度越大(即上述公式(7)和公式(8)中D的数值越接近0或正无穷大),权重分配越不均匀,即两个参考图像块对应的权重值差别越大。两个差异值的差异程度越小(即上述公式(7)和公式(8)中D的数值越接近1),权重分配越均匀,即两个参考图像块对应的权重值差别越小。
在另一个示例中,双向帧间预测装置根据下述公式(9)或下述公式(10)确定用于表征两个参考图像块与当前图像块的差异值的差异程度的差距D,并根据该差距D为第一参考图像块和第二参考图像块分配权重值。
D=S0m-S1m (9)
D=S1m-S0m (10)
上述公式(9)和公式(10)中,参数m为第三预设常数,例如:m=1或2。
两个差异值的差异程度越大(即上述公式(9)和公式(10)中D的数值越接近负无穷大或正无穷大),权重分配越不均匀,即两个参考图像块对应的权重值差别越大。两个差异值的差异程度越小(即上述公式(9)和公式(10)中D的数值越接近于0),权重分配越均匀,即两个参考图像块对应的权重值差别越小。
为减小实现复杂度,一种较简单权重分配方式为:根据上述差距D,在预设的多组权重值中,选择一组权重值,作为两个参考图像块对应的权重值。
双向帧间预测装置在确定出上述差距D后,根据该差距D归属的预设范围确定第一参考图像块对应的权重值和第二参考图像块对应的权重值。
可选的,双向帧间预测装置可根据差距D归属的预设范围和预设对应关系,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值;也可以根据上述D和预设公式,计算确定第一参考图像块对应的权重值和第二参考图像块对应的权重值。
现在对“双向帧间预测装置根据D和预设对应关系,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值”进行说明。
具体的,双向帧间预测装置从预设对应关系中查找与差距D归属的预设范围对应的权重值偏移量,这样,该双向帧间预测装置确定所述权重值偏移量与1/2之和为第一参考图像块对应的权重值,并确定1与第一参考图像块对应的权重值之差为第二参考图像块对应的权重值。这里,预设对应关系包括多个预设差距范围以及每个预设差距范围对应的权重值偏移量,上述预设范围为所述多个预设差距范围中的一个。
在一个示例中,差距D使用上述公式(8)计算,权重值的精度为1/4(即权重值为1/4的整数倍),预设对应关系如表1所示,记w0为第一参考图像块对应的权重值,w1为第二参考图像块对应的权重值,均匀加权的权重值为Wa(通常Wa=1/2),第一参考图像块对应的权重值为w0=Wa+Δw,第二参考图像块对应的权重值为w1=1-w0=1-Wa-Δw,w0与w1之和等于1。当“第二模板参考模板与当前模板的第二差异值”与“第一模板参考模板与当前模板的第一差异值”的比值大于阈值thred1(即D>thred1)时,Δw为正值(如表1中的1/4),相应的,双向帧间预测装置确定出权重值{w0,w1}为{3/4,1/4}。当第二差异值与第一差异值的比值小于等于阈值thred1且大于等于阈值SmThd1(即D∈[SmThd1,thred1])时,Δw为0,相应的,双向帧间预测装置确定出权重值{w0,w1}为{1/2,1/2}。当第二差异值与第一差异值的比值小于阈值SmThd1时,Δw为负值(如表1中的-1/4),相应的,双向帧间预测装置确定出权重值{w0,w1}为{1/4,3/4}。这里,SmThd1的数值可以为0.5,thred1的数值可以为2。
表1
D | <SmThd1 | [SmThd1,thred1] | >thred1 |
Δw | -1/4 | 0/4 | 1/4 |
在另一个实例中,两个差异值之间的差异程度使用上述公式(8)计算,权重值的精度为1/8,预设对应关系如表2所示,记w0为第一参考图像块对应的权重值,w1为第二参考图像块对应的权重值,均匀加权的权重值为Wa,第一参考图像块对应的权重值为w0=Wa+Δw,第二参考图像块对应的权重值为w1=Wa-Δw。
表2
表2中的SmThd3、SmThd2、SmThd1、thred1、thred2和thred3用于表示不同的阈值,其中,thred1的数值可以为1.5,thred2的数值可以为2,thred3的数值可以为3,SmThd1的数值可以为2/3,SmThd2的数值可以为0.5,SmThd3的数值可以为1/3。
在另一个示例中,两个差异值之间的差异程度使用上述公式(8)计算,权重值的精度为1/16,预设对应关系如表3所示,记w0为第一参考图像块对应的权重值,w1为第二参考图像块对应的权重值,均匀加权的权重值为Wa,第一参考图像块对应的权重值为w0=Wa+Δw,第二参考图像块对应的权重值为w1=Wa-Δw。
表3
D | Δw |
<SmThd7 | -7/16 |
[SmThd7,SmThd6) | -6/16 |
[SmThd6,SmThd5) | -5/16 |
[SmThd5,SmThd4) | -4/16 |
[SmThd4,SmThd3) | -3/16 |
[SmThd3,SmThd2) | -2/16 |
[SmThd2,SmThd1) | -1/16 |
[SmThd1,thred1] | 0/16 |
(thred1,thred2] | 1/16 |
(thred2,thred3] | 2/16 |
(thred3,thred4] | 3/16 |
(thred4,thred5] | 4/16 |
(thred5,thred6] | 5/16 |
(thred6,thred7] | 6/16 |
>Thred7 | 7/16 |
表3中的SmThd7、SmThd6、SmThd5、SmThd4、SmThd3、SmThd2、SmThd1、thred1、thred2、thred3、thred4、thred5、thred6和thred7用于表示不同的阈值,其中thred1的数值可以为1.25,thred2的数值可以为1.5,thred3的数值可以为1.75,thred4的数值可以为2,thred5的数值可以为2.25,thred6的数值可以为2.5,thred7的数值可以为2.75,SmThd[i]为thred[i]的倒数,i为1,2,…,7。
本申请实施例中,预设对应关系(如上述表1、表2、表3)中的阈值可利用指数哥伦布编码,被包括在序列头的码流中,或者预设对应关系中的阈值均为预设阈值。
实际应用中,由于除法的计算复杂度较大,上述示例还可以由如下实现方式来规避除法,减小复杂度:以上述表1为例,如果(S1n+k)>thred1·(S0n+k),则Δw为1/4,权重值{w0,w1}为{3/4,1/4};如果(S1n+k)<SmThd1·(S0n+k),则Δw为-1/4,权重值{w0,w1}为{1/4,3/4};否则,Δw为0,权重值{w0,w1}为{1/2,1/2}。
现在对“双向帧间预测装置根据D和预设公式,确定第一参考图像块对应的权重值和第二参考图像块对应的权重值”进行说明。
具体的,双向帧间预测装置根据预设公式,确定与差距D归属的预设范围对应的权重值偏移量,并确定第一参考图像块对应的权重值等于1/2与所述权重值偏移量之和,第二参考图像块对应的权重值为1减去第一参考图像块对应的权重值。
记Δw为第一差异值和第二差异值中较小值对应的参考图像块对应的权重值Wmin与均匀加权权重值Wa的差,即Δw=Wmin-Wa,称为权重值偏移量,Δw通常为非负数。当第二差异值相比于第一差异值更大时,w0=Wa+Δw,w1=Wa-Δw;当第二差异值相比于第一差异值更小时,w0=Wa-Δw,w1=Wa+Δw。
其中,双向帧间预测装置根据下述公式(11)或公式(12)确定权重值偏移量Δw。
上述公式(11)和公式(12)中,floor(·)为向下取整函数,P为加权值的精度,如1/4、1/8或1/16等,o是第四预设常数,s表示线性关系的步长,其数值为预设常数,q表示对数关系的步长,其数值为第五预设常数,i为第六预设常数,Dmin为预设值,如Dmin=1。
在一个示例中,若加权值的精度P的数值为1/8,o的数值为1,s的数值为2时,上述公式(11)可以表示为Δw=(1/8)·floor(2·(D-o))。在这种情况下,Δw与D之间的对应关系如表4所示。
表4
D | [1,1.5) | [1.5,2) | [2,2.5) | ≥2.5 |
△w | 0/8 | 1/8 | 2/8 | 3/8 |
若加权值的精度P的数值为1/8,o的数值为1,q和n的数值均为2时,上述公式(12)可以表示为Δw=(1/8)·floor(log2(4·(D-1))/log2(2))。在这种情况下,Δw与D之间的对应关系如表5所示。
表5
D | [1,1.5) | [1.5,2) | [2,3) | ≥3 |
△w | 0/8 | 1/8 | 2/8 | 3/8 |
结合上述表2,当表2中的thred1的数值为1.5,thred2的数值为2,thred3的数值为3,SmThd1的数值为2/3,SmThd2的数值为0.5,SmThd3的数值为1/3时,表2与表5的内容一致。
在一个示例中,若加权值的精度P的数值为1/6,o的数值为1.25,s的数值为2时,上述公式(11)可以表示为Δw=(1/6)·floor(2(D-1))。在这种情况下,Δw与D之间的对应关系如表6所示。
表6
D | [1.25,1.75) | [1.75,2.25) | ≥2.25 |
△w | 0/6 | 1/6 | 2/6 |
在这种情况下,Δw与D之间的对应关系如表7所示。
表7
本申请实施例中,预设公式(如公式(11)、公式(12))中的相关参数(如P、o、s等)的数值可利用指数哥伦布编码,被包括在序列头的码流中,或者预设公式中的相关参数的数值均为预设数值。
可选的,为了进一步提高预测效率,如果min(S1,S0)>Th1,则双向帧间预测装置确定权重值{w0,w1}为{1/2,1/2}。其中min(·)为取较小值操作,Th1为预设常数,例如:Th1=10·NumP或Th1=20·NumP,NumP为当前图像块包含的像素数目,即当前图像块的宽与当前图像块的高的乘积。
可选的,为了进一步提高预测效率,如果max(S1,S0)>Th2,则双向帧间预测装置确定权重值{w0,w1}为{1/2,1/2}。其中max(·)为取较大值操作,Th2为预设常数,例如Th2=20·NumP或Th2=30·NumP。
S504、双向帧间预测装置根据第一参考图像块对应的权重值和第二参考图像块对应的权重值,对第一参考图像块和第二参考图像块进行加权,得到预测图像块。
双向帧间预测装置在确定出第一参考图像块对应的权重值和第二参考图像块对应的权重值后,根据第一参考图像块对应的权重值和第二参考图像块对应的权重值,对第一参考图像块的像素和第二参考图像块的像素进行加权,以得到当前图像块的预测图像块的像素。
可选的,双向帧间预测装置可根据下述公式(13)确定预测图像块PC。
PC=w0·f0+w1·f1 (13)
上述公式(13)中,w0为第一参考图像块对应的权重值,w1为第二参考图像块对应的权重值,f0为当前图像块根据第一运动矢量(dx0,dy0)得到的在第一参考帧中对应位置的第一参考图像块,f1为当前图像块根据第二运动矢量(dx1,dy1)得到的在第二参考帧中对应位置的第二参考图像块。f0和f1中一组对应位置的像素按照w0和w1加权求和,得到PC中对应的像素,即PC(x,y)=w0·f0(x,y)+w1·f1(x,y)。本申请实施例涉及到的像素可以仅包含亮度分量值,也可以包含亮度分量值和色度分量值。
需要说明的是,当第一运动矢量(dx0,dy0)和第二运动矢量(dx1,dy1)为亚像素精度的运动矢量时,第一参考图像块f0和第二参考图像块f1由空间位置的整像素插值得到。这里的插值方法可以为H.265标准中的亚像素插值方法,也可以为线性插值方法,还可以为其他插值方法,本申请实施例对此不作具体限定。
需要说明的是,上述自适应的权重值可以只应用于两个参考图像块的亮度分量的加权平均,色度分量的加权平均仍使用均匀加权方式。
可选的,双向帧间预测装置也可以只确定第一参考图像块中靠近第一参考模板的区域中的像素的权重值为w0,第二参考图像块中靠近第二参考模板的区域中的像素的权重值为w1,而第一参考图像块和第二参考图像块的其余区域中的像素的权重值仍然为1/2。对于第一参考图像块和第二参考图像块中对应位置的像素,双向帧间预测装置根据该像素的权重进行加权,得到预测图像块中对应的像素。
上述靠近模板的区域例如为符合max(x,y)≤k·min(M,H)的区域,其中,max(·)为取较大值操作,min(·)为取较小值操作,k为预设常数,如k=1/2或1/4,M和H分别表示当前图像块的长和宽。当前图像块的长与参考图像块的长相同,当前图像块的宽与参考图像块的宽相同。
可选的,双向帧间预测装置还可以根据下述公式(14)确定预测图像块PC。
上述公式(14)中,PC(x,y)为PC中位置为(x,y)的像素值,a=max(x,y),即a为x和y中的较大者,b为第七预设常数,例如b=4或b=c·min(M,H),c为第八预设常数,c=1/2、1/4、3/4或1。
上述图6A和图6B还简要的示出了本申请实施例中双向帧间预测装置按照图5所示的方法确定预测图像块的流程。
综上所述,双向帧间预测装置基于当前模板与第一参考模板的差异值以及当前模板与第二参考模板的差异值,确定用于表征两个差异值之间的差异程度的差距,并根据该差距归属的预设范围确定出了第一参考图像块对应的权重值和第二参考图像块对应的权重值,即双向帧间预测装置确定出了块级的权重值。
相比于现有技术,本申请实施例提供的双向帧间预测方法有效的提高了当前图像块与预测图像块之间的相似程度。
结合上面描述可知,本申请实施例中的双向帧间预测装置可以根据第一参考帧索引、第二参考帧索引、第一运动矢量以及第二运动矢量确定第一参考图像块和第二参考图像块,还可以根据搜索模板确定第一参考图像块和第二参考图像块。
在双向帧间预测装置根据搜索模板确定第一参考图像块和第二参考图像的场景中,该双向帧间预测装置需要先确定出搜索模板。双向帧间预测装置根据第一参考帧中的第一图像块以及第二参考帧中的第二图像块确定搜索模板。
可选的,双向帧间预测装置可以从预设的N对权重值中选取一对作为第一图像块对应的权重值和第二图像块对应的权重值,并按照该权重值对第一图像块和第二图像块进行加权,以确定搜索模板;也可以通过计算第一图像块的模板(即第一目标模板)和第二图像块的模板(即第二目标模板)分别与当前模板的差异值,并根据该差异值确定第一图像块对应的权重值和第二图像块对应的权重值,并按照该权重值对第一图像块的像素和第二图像块的像素进行加权,以确定搜索模板。
这里,先对双向帧间预测装置从预设的N对权重值中选取一对作为第一图像块对应的权重值和第二图像块对应的权重值,并按照该权重值对第一图像块的像素和第二图像块的像素进行加权,以确定搜索模板的像素,进而根据搜索模板确定第一参考图像块和第二参考图像块进行说明。
具体的,结合上述图5,如图7所示,本申请实施例中的S500包括S500a~S500h,S501包括S501a。
S500a、双向帧间预测装置获取用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量。
S500b、双向帧间预测装置根据第三参考帧索引和第三运动矢量,从第一参考帧中确定第一图像块,以及根据第四参考帧索引和第四运动矢量,从第二参考帧中确定第二图像块。
S500c、双向帧间预测装置获取当前模板、第一目标模板和第二目标模板。
第一目标模板包括第一图像块相邻、且已重建的像素区域,第二目标模板包括第二图像块相邻、且已重建的像素区域。
与第一参考模板和第二参考模板类似,本申请实施例中“当前模板与当前图像块的相对位置关系”、“第一目标模板与第一图像块的相对位置关系”以及“第二目标模板与第二图像块的相对位置关系”是相同的。
示例性的,如图8所示,Tp0是第一图像块的模板,即Tp0为第一目标模板;Tp1是第二图像块的模板,即Tp1为第二目标模板;Tc为当前图像块的模板,即Tc为当前模板。
S500d、双向帧间预测装置根据N(N≥2)对预设权重值,对第一目标模板的像素和第二目标模板的像素分别按照每一对预设权重值进行加权,得到N个合成空间模板。
示例性的,记第一图像块对应的权重值为wp0,第二图像块对应的权重值为wp1,若权重值的精度为1/6,则存在5对预设权重值,这5对预设权重值分别为{1/6,5/6}、{2/6,4/6}、{3/6,3/6}、{4/6,2/6}、{5/6,1/6}。双向帧间预测装置对第一目标模板的像素和第二目标模板的像素分别按照上述每一对预设权重值进行加权,得到5个合成空间模板。
可选的,双向帧间预测装置可采用S502示出的方法计算当前模板与第一目标模板的差异值,以及当前模板与第二目标模板的差异值,从而根据这两个差异值选择N对预设权重值。
示例性的,记第一图像块对应的权重值为wp0,第二图像块对应的权重值为wp1,若权重值的精度为1/6,则总共存在5对预设权重值,这5对预设权重值分别为{1/6,5/6}、{2/6,4/6}、{3/6,3/6}、{4/6,2/6}、{5/6,1/6}。若当前模板与第一目标模板的差异值小于当前模板与第二目标模板的差异值,则第一图像块对应的权重值应该大于等于第二图像块对应的权重值,因此,双向帧间预测装置只需根据下面三对预设权重值{3/6,3/6}、{4/6,2/6}、{5/6,1/6}对第一目标模板的像素和第二目标模板的像素进行加权,以生成三个不同的合成空间模板。
可选的,上述五对预设权重值还可以为{2/8,6/8}、{3/8,5/8}、{4/8,4/8}、{5/8,3/8}、{6/8,2/8}。
S500e、双向帧间预测装置计算当前模板与每一合成空间模板之间的差异值。
双向帧间预测装置可以根据SAD计算当前模板与每一合成空间模板之间的差异值,也可以为根据SATD计算当前模板与每一合成空间模板之间的差异值,还可以根据MR-SAD计算当前模板与每一合成空间模板之间的差异值,本申请实施例对此不作具体限定。
双向帧间预测装置计算当前模板与每一合成空间模板之间的差异值的具体方法可以参考上述S502的描述。
S500f、双向帧间预测装置确定差异值最小的合成空间模板,并将与该合成空间模板对应的一对预设权重值确定为第一图像块对应的权重值和第二图像块对应的权重值。
S500g、双向帧间预测装置根据第一图像块的权重值和第二图像块对应的权重值,对第一图像块的像素和第二图像块的像素进行加权,得到搜索模板。
具体的,双向帧间预测装置可根据下述公式(15)确定搜索模板SC。
SC=wp0·P0+wp1·P1 (15)
上述公式(15)中,wp0为第一参考图像块对应的权重值,wp1为第二参考图像块对应的权重值,P0为当前图像块根据第三运动矢量(dx2,dy2)得到的在第一参考帧中对应位置的第一图像块,P1为当前图像块根据第四运动矢量(dx3,dy3)得到的在第二参考帧中对应位置的第二图像块。
需要说明的是,当(dx2,dy2)和(dx3,dy3)为亚像素精度的运动矢量时,第一图像块P0(dx2,dy2)和第二图像块P1(dx3,dy3)由空间位置的整像素插值得到。这里的插值方法可以为H.265标准中的亚像素插值方法,也可以为线性插值方法,还可以为其他插值方法,本申请实施例对此不作具体限定。
S500h、双向帧间预测装置根据搜索模板和第一参考帧,确定第一参考图像块,并根据搜索模板和第二参考帧,确定第二参考图像块。
具体的,双向帧间预测装置根据S500g中得到的搜索模板,在第一参考帧中以第一图像块为中心,预设大小的窗口区域内,选择一个与搜索模板的差异值最小的图像块,并将该图像块确定为第一参考图像块。可选的,双向帧间预测装置可以根据SAD、SATD或MR-SAD计算该差异值。
同理,双向帧间预测装置根据S500g中得到的搜索模板,在第二参考帧中以第二图像块为中心,预设大小的窗口区域内,选择一个与搜索模板的差异值最小的图像块,并将该图像块确定为第二参考图像块。
S501a、双向帧间预测装置获取第一参考模板和第二参考模板。
上述图8还简要的示出了本申请实施例中双向帧间预测装置按照图7示出的方法确定预测图像块的流程。
可以看出,双向帧间预测装置基于搜索模板确定第一参考图像块和第二参考图像块,这样,基于图5示出的实施例,本实施例提高了当前图像块与预测图像块之间的相似程度。
现对双向帧间预测装置过计算第一图像块的模板(即第一目标模板)和第二图像块的模板(即第二目标模板)分别与当前模板的差异值,并根据该差异值确定第一图像块对应的权重值和第二图像块对应的权重值,并按照该权重值对第一图像块的像素和第二图像块的像素进行加权,以确定搜索模板,进而根据搜索模板确定第一参考图像块和第二参考图像块进行说明。
具体的,结合上述图7,如图9所示,本申请实施例中的双向帧间预测装置在执行S500c之后,不再执行S500d~S500f,而是执行S500x~S500y,并在S500y之后,继续执行S500g。
S500x、双向帧间预测装置计算当前模板与第一目标模板之间的第三差异值,以及当前模板与第二目标模板之间的第四差异值。
可选的,双向帧间预测装置计算第三差异值以及第四差异值的方法可以参考上述S502,这里不再进行详细赘述。
S500y、双向帧间预测装置根据第三差异值与第四差异值,确定第一图像块对应的权重值和第二图像块对应的权重值。
当第三差异值与第四差异值之间的差值越大时,第一图像块对应的权重值与第二图像块对应的权重值之间的差值越大。若第三差异值远小于第四差异值,则双向帧间预测装置为第一图像块分配较大的权重值。相反的,若第四差异值远小于第三差异值,则双向帧间预测装置为第二图像块分配较大的权重值。差异值与权重值应该为非严格单调递增关系。
令第三差异值为S2、第四差异值为S3,w2为第一图像块对应的权重值,w3为第二图像块对应的权重值。
可选的,本申请实施例采用函数f(·)拟合权重值与差异值之间的关系,f(·)满足以下关系:f(S2,S3)+f(S3,S2)=1,其中,f(x,y)表示x对应的图像块对应的权重值,即w2=f(S2,S3),w3=f(S3,S2)。
示例性的,f(x,y)的表达式可以为下述任一公式:
需要说明的是,S500y中双向帧间预测装置确定出的第一图像块对应的权重值和第二图像块对应的权重值可量化为以1/3、1/16、……、1/256为步长的精度,本申请实施例对此不作具体限定。
可选的,双向帧间预测装置确定第一图像块对应的权重值和第二图像块对应的权重值的方法可以参考上述S503的描述,此处不再进行详细赘述。
与图7所示的实施例类似,本实施例中的双向帧间预测装置也基于搜索模板确定第一参考图像块和第二参考图像块,这样,基于图5示出的实施例,本实施提高了当前图像块与预测图像块之间的相似程度。
本申请实施例提供一种双向帧间预测装置,该双向帧间预测装置用于执行以上双向帧间预测方法中的双向帧间预测装置所执行的步骤。本申请实施例提供的双向帧间预测装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对双向帧间预测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图10示出上述实施例中所涉及的双向帧间预测装置的一种可能的结构示意图。如图10所示,双向帧间预测装置10包括确定单元100、获取单元101、计算单元102以及加权单元103。
确定单元100用于支持该双向帧间预测装置10执行上述实施例中的S500、S503、S500f、S500h、S500y等,和/或用于本文所描述的技术的其它过程。
获取单元101用于支持该双向帧间预测装置10执行上述实施例中的S501、S500a、S500c等,和/或用于本文所描述的技术的其它过程。
计算单元102用于支持该双向帧间预测装置10执行上述实施例中的S502、S500e、S500x等,和/或用于本文所描述的技术的其它过程。
加权单元103用于支持该双向帧间预测装置10执行上述实施例中的S504、S500d、S500g等,和/或用于本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,本申请实施例提供的双向帧间预测装置10包括但不限于上述模块,例如:双向帧间预测装置还可以包括存储单元104。
存储单元104可以用于存储该双向帧间预测装置10的程序代码和数据。
在采用集成的单元的情况下,本申请实施例提供的双向帧间预测装置的结构示意图如图11所示。在图11中,该双向帧间预测装置11包括:处理模块110和通信模块111。处理模块110用于对双向帧间预测装置11的动作进行控制管理,例如,执行上述确定单元100、计算单元102以及加权单元103执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块111用于支持双向帧间预测装置11与其他设备之间的交互,例如,执行上述获取单元101执行的步骤。如图11所示,双向帧间预测装置11还可以包括存储模块112,存储模块112用于存储双向帧间预测装置11的程序代码和数据,例如存储上述存储单元104所保存的内容。
其中,处理模块110可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块111可以是收发器、RF电路或通信接口等。存储模块112可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
上述双向帧间预测装置10和双向帧间预测装置11均可执行上述图5、图7和图9中任一附图所示的双向帧间预测方法,双向帧间预测装置10和双向帧间预测装置11具体可以是视频编码装置、视频解码装置或者其他具有视频编解码功能的设备。双向帧间预测装置10和双向帧间预测装置11既可以用于在编码过程中进行图像预测,也可以用于在解码过程中进行图像预测。
本申请还提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行本申请实施例的双向帧间预测方法。
这里的终端可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请还提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的双向帧间预测方法。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的双向帧间预测方法。
本申请还提供一种解码器,所述解码器包括本申请实施例中的双向帧间预测装置(双向帧间预测装置10或双向帧间预测装置11)以及重建模块,其中,所述重建模块用于根据所述双向帧间预测装置得到的预测图像块的像素确定当前图像块的重建像素值。
本申请还提供一种编码器,所述编码器包括本申请实施例中的双向帧间预测装置(双向帧间预测装置10或双向帧间预测装置11)以及重建模块,其中,所述重建模块用于根据所述双向帧间预测装置得到的预测图像块的像素值确定当前图像块的重建像素值。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当终端中的处理器在执行该程序代码时,该终端执行如图5、图7和图9中任一附图所示的双向帧间预测方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;终端的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得终端实施执行图5、图7和图9中任一附图所示的双向帧间预测方法中的双向帧间预测装置的步骤。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种双向帧间预测方法,其特征在于,包括:
根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块;
获取当前模板、第一参考模板和第二参考模板,所述当前模板包括与当前图像块相邻、且已重建的像素区域,所述第一参考模板包括与所述第一参考图像块相邻、且已重建的像素区域,所述第二参考模板包括与所述第二参考图像块相邻、且已重建的像素区域;所述当前模板与所述当前图像块的位置关系、所述第一参考模板与所述第一参考图像块的位置关系、以及所述第二参考模板与所述第二参考图像块的位置关系均相同;
计算所述当前模板与所述第一参考模板之间的第一差异值,以及所述当前模板与所述第二参考模板之间的第二差异值;
确定差距,所述差距用于表征所述第一差异值与所述第二差异值的差异程度;
根据所述差距归属的预设范围,确定所述第一参考图像块对应的权重值和所述第二参考图像块对应的权重值;所述差距归属不同预设范围时,所述第一参考图像块对应的权重值不同,所述第二参考图像块对应的权重值不同;
根据所述第一参考图像块对应的权重值和所述第二参考图像块对应的权重值,对所述第一参考图像块的像素和所述第二参考图像块的像素进行加权,得到预测图像块的像素;
所述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量;
所述根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块,具体包括:
获取所述第三参考帧索引、所述第四参考帧索引、所述第三运动矢量和所述第四运动矢量;
根据所述第三参考帧索引和所述第三运动矢量,从所述第一参考帧中确定第一图像块,以及根据所述第四参考帧索引和所述第四运动矢量,从所述第二参考帧中确定第二图像块;
获取第一目标模板和第二目标模板,所述第一目标模板包括所述第一图像块相邻、且已重建的像素区域,所述第二目标模板包括所述第二图像块相邻、且已重建的像素区域;
根据所述第一目标模板和所述第二目标模板分别与所述当前模板之间的差异值,确定所述第一图像块对应的权重值和所述第二图像块对应的权重值;
根据所述第一图像块的权重值和所述第二图像块对应的权重值,对所述第一图像块的像素和所述第二图像块的像素进行加权,得到搜索模板;
根据所述搜索模板,从所述第一参考帧中确定所述第一参考图像块,并从所述第二参考帧中确定所述第二参考图像块。
2.根据权利要求1所述的双向帧间预测方法,其特征在于,所述确定差距,具体包括:
根据下述公式确定所述差距:
D=(S1n+k)/(S0n+k)
其中,D表示所述差距,S1表示所述第二差异值,S0表示所述第一差异值,n为第一预设常数,k为第二预设常数。
3.根据权利要求1所述的双向帧间预测方法,其特征在于,所述确定差距,具体包括:
根据下述公式确定所述差距:
D=S1m-S0m
其中,D表示所述差距,S1表示所述第二差异值,S0表示所述第一差异值,m为第三预设常数。
4.根据权利要求1-3中任意一项所述的双向帧间预测方法,其特征在于,所述根据所述差距归属的预设范围,确定所述第一参考图像块对应的权重值和所述第二参考图像块对应的权重值,具体包括:
从预设对应关系中查找与所述预设范围对应的权重值偏移量;所述预设对应关系包括多个预设差距范围以及每个所述预设差距范围对应的权重值偏移量,所述预设范围为所述多个预设差距范围中的一个;
根据第一预设公式和所述权重值偏移量,确定所述第一参考图像块对应的权重值,并根据第二预设公式以及所述第一参考图像块对应的权重值,确定所述第二参考图像块对应的权重值;
其中,所述第一预设公式为:w0=1/2+Δw;所述第二预设公式为:w1=1-w0;
w0为所述第一参考图像块对应的权重值,Δw为所述权重值偏移量,w1为所述第二参考图像块对应的权重值。
5.根据权利要求1-3中任意一项所述的双向帧间预测方法,其特征在于,所述根据所述差距归属的预设范围,确定所述第一参考图像块对应的权重值和所述第二参考图像块对应的权重值,具体包括:
根据第三预设公式,确定与所述预设范围对应的权重值偏移量;
根据第一预设公式和所述权重值偏移量,确定所述第一参考图像块对应的权重值,并根据第二预设公式和所述第一参考图像块对应的权重值,确定所述第二参考图像块对应的权重值;
其中,所述第一预设公式为:w0=1/2+Δw;所述第二预设公式为:w1=1-w0;所述第三预设公式为:
w0为所述第一参考图像块对应的权重值,w1为所述第二参考图像块对应的权重值,Δw表示所述权重值偏移量,floor(·)为向下取整函数,P表示权重值的精度,o是第四预设常数,q为第五预设常数,i为第六预设常数,Dmin表示所述差距D的最小值。
6.根据权利要求1-3中任意一项所述的双向帧间预测方法,其特征在于,所述当前图像块的双向运动信息包括用于指示第一参考帧的第一参考帧索引、用于指示第二参考帧的第二参考帧索引、第一运动矢量以及第二运动矢量;
所述根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块,具体包括:
获取所述第一参考帧索引、所述第二参考帧索引、所述第一运动矢量和所述第二运动矢量;
根据所述第一参考帧索引,从第一参考帧列表中获取所述第一参考帧,并根据所述第二参考帧索引,从第二参考帧列表中获取所述第二参考帧;
根据所述第一运动矢量和所述第一参考帧,确定第一参考图像块,并根据所述第二运动矢量和所述第二参考帧,确定第二参考图像块。
7.根据权利要求1-3中任意一项所述的双向帧间预测方法,其特征在于,所述根据所述第一目标模板和所述第二目标模板分别与所述当前模板之间的差异值,确定所述第一图像块对应的权重值和所述第二图像块对应的权重值,具体包括:
计算所述当前模板与所述第一目标模板之间的第三差异值,以及所述当前模板与所述第二目标模板之间的第四差异值;
根据所述第三差异值与所述第四差异值,确定所述第一图像块对应的权重值和所述第二图像块对应的权重值。
8.根据权利要求1-3中任意一项所述的双向帧间预测方法,其特征在于,所述根据所述第一目标模板和所述第二目标模板分别与所述当前模板之间的差异值,确定所述第一图像块对应的权重值和所述第二图像块对应的权重值,具体包括:
根据N对预设权重值,对所述第一目标模板的像素和所述第二目标模板的像素分别按照每一对预设权重值进行加权,得到N个合成空间模板,N≥2;
计算所述当前模板与每一合成空间模板之间的差异值;
确定差异值最小的合成空间模板,根据与该合成空间模板对应的一对预设权重值确定所述第一图像块对应的权重值和所述第二图像块对应的权重值。
9.一种双向帧间预测装置,其特征在于,包括:
确定单元,用于根据当前图像块的双向运动信息,确定第一参考图像块和第二参考图像块;
获取单元,用于获取当前模板、第一参考模板和第二参考模板,所述当前模板包括与所述确定单元确定的当前图像块相邻、且已重建的像素区域,所述第一参考模板包括与所述确定单元确定的所述第一参考图像块相邻、且已重建的像素区域,所述第二参考模板包括与所述确定单元确定的所述第二参考图像块相邻、且已重建的像素区域;所述当前模板与所述当前图像块的位置关系、所述第一参考模板与所述第一参考图像块的位置关系、以及所述第二参考模板与所述第二参考图像块的位置关系均相同;
计算单元,用于计算上述获取单元获取到的所述当前模板与所述第一参考模板之间的第一差异值,以及所述当前模板与所述第二参考模板之间的第二差异值;
所述确定单元,还用于确定差距,所述差距用于表征所述第一差异值与所述第二差异值的差异程度,以及根据所述差距归属的预设范围,确定所述第一参考图像块对应的权重值和所述第二参考图像块对应的权重值;所述差距归属不同预设范围时,所述第一参考图像块对应的权重值不同,所述第二参考图像块对应的权重值不同;
加权单元,用于根据所述确定单元确定出的所述第一参考图像块对应的权重值和所述第二参考图像块对应的权重值,对所述第一参考图像块的像素和所述第二参考图像块的像素进行加权,得到预测图像块的像素;
所述当前图像块的双向运动信息包括用于指示第一参考帧的第三参考帧索引、用于指示第二参考帧的第四参考帧索引、第三运动矢量和第四运动矢量;
所述获取单元,还用于获取所述第三参考帧索引、所述第四参考帧索引、所述第三运动矢量和所述第四运动矢量,以及根据所述第三参考帧索引和所述第三运动矢量,从所述第一参考帧中确定第一图像块,以及根据所述第四参考帧索引和所述第四运动矢量,从所述第二参考帧中确定第二图像块,以及获取第一目标模板和第二目标模板,所述第一目标模板包括所述第一图像块相邻、且已重建的像素区域,所述第二目标模板包括所述第二图像块相邻、且已重建的像素区域;
所述确定单元,具体用于根据所述获取单元获取到的所述第一目标模板和所述第二目标模板分别与所述当前模板之间的差异值,确定所述第一图像块对应的权重值和所述第二图像块对应的权重值;
所述加权单元,还用于根据所述确定单元确定出的所述第一图像块的权重值和所述第二图像块对应的权重值,对所述第一图像块的像素和所述第二图像块的像素进行加权,得到搜索模板;
所述确定单元,具体用于根据所述加权单元得到的所述搜索模板,从所述第一参考帧中确定所述第一参考图像块,并从所述第二参考帧中确定所述第二参考图像块。
10.根据权利要求9所述的双向帧间预测装置,其特征在于,所述确定单元具体用于:
根据下述公式确定所述差距:
D=(S1n+k)/(S0n+k)
其中,D表示所述差距,S1表示所述第二差异值,S0表示所述第一差异值,n为第一预设常数,k为第二预设常数。
11.根据权利要求9所述的双向帧间预测装置,其特征在于,所述确定单元具体用于:
根据下述公式确定所述差距:
D=S1m-S0m
其中,D表示所述差距,S1表示所述第二差异值,S0表示所述第一差异值,m为第三预设常数。
12.根据权利要求9-11中任意一项所述的双向帧间预测装置,其特征在于,所述确定单元具体用于:
从预设对应关系中查找与所述预设范围对应的权重值偏移量;所述预设对应关系包括多个预设差距范围以及每个所述预设差距范围对应的权重值偏移量,所述预设范围为所述多个预设差距范围中的一个;
根据第一预设公式和所述权重值偏移量,确定所述第一参考图像块对应的权重值,并根据第二预设公式以及所述第一参考图像块对应的权重值,确定所述第二参考图像块对应的权重值;
其中,所述第一预设公式为:w0=1/2+Δw;所述第二预设公式为:w1=1-w0;
w0为所述第一参考图像块对应的权重值,Δw为所述权重值偏移量,w1为所述第二参考图像块对应的权重值。
13.根据权利要求9-11中任意一项所述的双向帧间预测装置,其特征在于,所述确定单元具体用于:
根据第三预设公式,确定与所述预设范围对应的权重值偏移量;
根据第一预设公式和所述权重值偏移量,确定所述第一参考图像块对应的权重值,并根据第二预设公式和所述第一参考图像块对应的权重值,确定所述第二参考图像块对应的权重值;
其中,所述第一预设公式为:w0=1/2+Δw;所述第二预设公式为:w1=1-w0;所述第三预设公式为:
w0为所述第一参考图像块对应的权重值,w1为所述第二参考图像块对应的权重值,Δw表示所述权重值偏移量,floor(·)为向下取整函数,P表示权重值的精度,o是第四预设常数,q为第五预设常数,i为第六预设常数,Dmin表示所述差距D的最小值。
14.根据权利要求9-11中任意一项所述的双向帧间预测装置,其特征在于,所述当前图像块的双向运动信息包括用于指示第一参考帧的第一参考帧索引、用于指示第二参考帧的第二参考帧索引、第一运动矢量以及第二运动矢量;
所述获取单元,还用于获取所述第一参考帧索引、所述第二参考帧索引、所述第一运动矢量和所述第二运动矢量,以及根据所述第一参考帧索引,从第一参考帧列表中获取所述第一参考帧,并根据所述第二参考帧索引,从第二参考帧列表中获取所述第二参考帧;
所述确定单元,具体用于根据所述获取单元获取到的所述第一运动矢量和所述第一参考帧,确定第一参考图像块,并根据所述第二运动矢量和所述第二参考帧,确定第二参考图像块。
15.根据权利要求9-11中任意一项所述的双向帧间预测装置,其特征在于,
所述计算单元,还用于计算所述当前模板与所述第一目标模板之间的第三差异值,以及所述当前模板与所述第二目标模板之间的第四差异值;
所述确定单元,具体用于根据所述计算单元计算出的所述第三差异值与所述第四差异值,确定所述第一图像块对应的权重值和所述第二图像块对应的权重值。
16.根据权利要求9-11中任意一项所述的双向帧间预测装置,其特征在于,
所述加权单元,还用于根据N对预设权重值,对所述第一目标模板的像素和所述第二目标模板的像素分别按照每一对预设权重值进行加权,得到N个合成空间模板,N≥2;
所述计算单元,还用于计算所述当前模板与所述加权单元得到的每一合成空间模板之间的差异值;
所述确定单元,具体用于确定所述计算单元计算出的差异值最小的合成空间模板,根据与该合成空间模板对应的一对预设权重值确定所述第一图像块对应的权重值和所述第二图像块对应的权重值。
17.一种终端,其特征在于,所述终端包括:一个或多个处理器、存储器和通信接口;
所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述终端执行如权利要求1-7中任意一项所述的双向帧间预测方法。
18.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1-8中任意一项所述的双向帧间预测方法。
19.一种视频编码器,包括非易失性存储介质以及中央处理器,其特征在于,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,当所述中央处理器执行所述可执行程序时,所述视频编码器执行如权利要求1-8中任意一项所述的双向帧间预测方法。
20.一种视频解码器,包括非易失性存储介质以及中央处理器,其特征在于,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,当所述中央处理器执行所述可执行程序时,所述视频解码器执行如权利要求1-8中任意一项所述的双向帧间预测方法。
21.一种编码器,其特征在于,所述编码器包括如权利要求9-16中任意一项所述的双向帧间预测装置以及重建模块,其中,所述重建模块用于根据所述双向帧间预测装置得到的预测图像块的像素确定当前图像块的重建像素值。
22.一种解码器,其特征在于,所述解码器包括如权利要求9-16中任意一项所述的双向帧间预测装置以及重建模块,其中,所述重建模块用于根据所述双向帧间预测装置得到的预测图像块的像素确定当前图像块的重建像素值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118179.9A CN110121073B (zh) | 2018-02-06 | 2018-02-06 | 一种双向帧间预测方法及装置 |
PCT/CN2018/119430 WO2019153861A1 (zh) | 2018-02-06 | 2018-12-05 | 一种双向帧间预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810118179.9A CN110121073B (zh) | 2018-02-06 | 2018-02-06 | 一种双向帧间预测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110121073A CN110121073A (zh) | 2019-08-13 |
CN110121073B true CN110121073B (zh) | 2021-07-09 |
Family
ID=67519914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810118179.9A Active CN110121073B (zh) | 2018-02-06 | 2018-02-06 | 一种双向帧间预测方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110121073B (zh) |
WO (1) | WO2019153861A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111050177B (zh) * | 2018-10-15 | 2021-07-20 | 腾讯科技(深圳)有限公司 | 视频编码、视频解码方法、装置、计算机设备和存储介质 |
CN113794878B (zh) * | 2019-09-23 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
WO2021068918A1 (en) * | 2019-10-10 | 2021-04-15 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods for simplifying signalling picture header |
CN111104930B (zh) * | 2019-12-31 | 2023-07-11 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN113452997B (zh) * | 2020-03-25 | 2022-07-29 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN113810686B (zh) | 2020-06-01 | 2023-02-24 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
CN116320428A (zh) * | 2021-12-20 | 2023-06-23 | 维沃移动通信有限公司 | 帧间预测方法及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102160381A (zh) * | 2008-09-24 | 2011-08-17 | 索尼公司 | 图像处理设备和方法 |
CN102215407A (zh) * | 2010-04-09 | 2011-10-12 | 华为技术有限公司 | 双向预测块的获取方法和装置以及图像解码方法 |
CN104717512A (zh) * | 2013-12-16 | 2015-06-17 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
WO2017036417A1 (en) * | 2015-09-06 | 2017-03-09 | Mediatek Inc. | Method and apparatus of adaptive inter prediction in video coding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100703770B1 (ko) * | 2005-03-25 | 2007-04-06 | 삼성전자주식회사 | 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
CN102883160B (zh) * | 2009-06-26 | 2016-06-29 | 华为技术有限公司 | 视频图像运动信息获取方法、装置及设备、模板构造方法 |
US9438910B1 (en) * | 2014-03-11 | 2016-09-06 | Google Inc. | Affine motion prediction in video coding |
EP3139605A4 (en) * | 2014-04-28 | 2017-05-17 | Panasonic Intellectual Property Corporation of America | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
-
2018
- 2018-02-06 CN CN201810118179.9A patent/CN110121073B/zh active Active
- 2018-12-05 WO PCT/CN2018/119430 patent/WO2019153861A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102160381A (zh) * | 2008-09-24 | 2011-08-17 | 索尼公司 | 图像处理设备和方法 |
CN102215407A (zh) * | 2010-04-09 | 2011-10-12 | 华为技术有限公司 | 双向预测块的获取方法和装置以及图像解码方法 |
CN104717512A (zh) * | 2013-12-16 | 2015-06-17 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
WO2017036417A1 (en) * | 2015-09-06 | 2017-03-09 | Mediatek Inc. | Method and apparatus of adaptive inter prediction in video coding |
Also Published As
Publication number | Publication date |
---|---|
WO2019153861A1 (zh) | 2019-08-15 |
CN110121073A (zh) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110121073B (zh) | 一种双向帧间预测方法及装置 | |
US10771809B2 (en) | Picture prediction method and picture prediction apparatus | |
KR102214441B1 (ko) | 비디오 부호화, 복호화 방법 및 장치 | |
CN104012096A (zh) | 执行视频译码的运动向量预测 | |
WO2017129023A1 (zh) | 解码方法、编码方法、解码设备和编码设备 | |
TW201536037A (zh) | 解碼影像的方法 | |
US20220078443A1 (en) | Motion vector prediction method and related apparatus | |
TW201415904A (zh) | 幀間預測的運動預測方法、運動補償方法、運動預測裝置、運動補償裝置以及電腦可讀記錄媒體 | |
WO2019128716A1 (zh) | 图像的预测方法、装置及编解码器 | |
JP7520931B2 (ja) | 双方向インター予測の方法および装置 | |
US11412210B2 (en) | Inter prediction method and apparatus for video coding | |
US20150010056A1 (en) | Method and apparatus for video encoding capable of parallel entropy encoding of subregions, method and apparatus for video decoding capable of parallel entropy decoding of subregions | |
US11812050B2 (en) | Motion vector obtaining method and apparatus | |
CN112640468A (zh) | 应用于双向帧间预测中的参考帧获取方法及装置 | |
KR102407912B1 (ko) | 양방향 인트라 예측 시그널링 | |
US20210160491A1 (en) | Method and Apparatus for Aspect-Ratio Dependent Filtering for Intra-Prediction | |
WO2023092256A1 (zh) | 一种视频编码方法及其相关装置 | |
US11706444B2 (en) | Inter prediction method and apparatus | |
CN112055970B (zh) | 候选运动信息列表的构建方法、帧间预测方法及装置 | |
CN111355958A (zh) | 视频解码方法及装置 | |
RU2787812C2 (ru) | Способ и аппаратура предсказания видеоизображений | |
RU2778993C2 (ru) | Способ и аппаратура предсказания видеоизображений | |
JP2024149497A (ja) | 双方向インター予測の方法および装置 | |
WO2020119742A1 (zh) | 块划分方法、视频编解码方法、视频编解码器 | |
CN110677645A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220124 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 310058 Yuhang Tang Road, Xihu District, Hangzhou, Zhejiang 866 Patentee before: ZHEJIANG University Patentee before: HUAWEI Technologies Ltd |
|
TR01 | Transfer of patent right |