CN113228673B - 用于基于双向预测光流的逐像素校正的解码器和方法 - Google Patents
用于基于双向预测光流的逐像素校正的解码器和方法 Download PDFInfo
- Publication number
- CN113228673B CN113228673B CN201980085193.6A CN201980085193A CN113228673B CN 113228673 B CN113228673 B CN 113228673B CN 201980085193 A CN201980085193 A CN 201980085193A CN 113228673 B CN113228673 B CN 113228673B
- Authority
- CN
- China
- Prior art keywords
- interpolation
- target sub
- sample
- prediction
- motion vector
- 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 109
- 238000012937 correction Methods 0.000 title claims abstract description 102
- 230000003287 optical effect Effects 0.000 title claims abstract description 29
- 230000033001 locomotion Effects 0.000 claims abstract description 182
- 239000013598 vector Substances 0.000 claims abstract description 177
- 239000000523 sample Substances 0.000 claims abstract description 92
- 238000012986 modification Methods 0.000 claims abstract description 24
- 230000004048 modification Effects 0.000 claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims abstract description 23
- 239000013074 reference sample Substances 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 31
- 241000023320 Luma <angiosperm> Species 0.000 claims description 27
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 description 19
- 239000000872 buffer Substances 0.000 description 14
- 238000009795 derivation Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000002123 temporal effect Effects 0.000 description 12
- 230000002146 bilateral effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 8
- 208000034953 Twin anemia-polycythemia sequence Diseases 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000613118 Gryllus integer Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/238—Analysis of motion using block-matching using non-full search, e.g. three-step search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供一种帧间预测方法,包括:根据当前图像的当前图像块的运动信息选择参考样本;对选择的所述参考样本执行第一插值以推导第一插值样本;根据所述第一插值样本,执行整数距离运动矢量修正MVR,以推导目标子预测单元PU的整数距离增量运动矢量,其中,所述目标子PU处于所述当前图像块中;根据所述第一插值样本和所述整数距离增量运动矢量对所述目标子PU中的每个M×M像素矩阵执行双向预测光流BPOF以推导M×M像素矩阵流矢量,其中,M为正整数,并且M×M像素矩阵的尺寸小于所述目标子PU的尺寸;对所述参考样本执行第二插值以推导第二插值样本;根据所述M×M像素矩阵流矢量、所述第一插值样本和所述第二插值样本,计算所述目标子PU的至少一个校正参数;以及根据所述第二插值样本和所述至少一个校正参数执行双向预测。
Description
技术领域
本发明总体上涉及图像处理领域,并且更具体地涉及帧间预测技术。
背景技术
在视频压缩中,帧间预测是通过指定相对于当前块的运动矢量来使用先前解码的参考图像的重建样本的过程。可通过使用空间或时间运动矢量预测变量来将这些运动矢量译码为预测残差。运动矢量可以具有子像素精度。为了推导参考帧中的子像素准确的像素值,将当前块的预测推导为使用来自两个参考图像区域的两个运动矢量推导的两个预测块的加权组合。在这种情况下,除了运动矢量之外,还需要对用于推导两个预测块的参考图像的参考索引进行译码。当前块的运动矢量还可通过合并过程推导,在合并过程中,无需对任何运动矢量残差进行译码即可继承空间邻居的运动矢量和参考索引。除空间邻居外,还存储先前译码的参考帧的运动矢量,并将其用作具有适当缩放比例的运动矢量的时间合并选项,以相对于当前块的参考帧的距离照顾到离这些参考帧的距离。
本发明涉及通用视频译码标准化,该视频译码标准化先前是在联合视频探索小组内作为联合探索模型(JEM)而推行的作为VCEG的Q16与MPEG(SC29/WG11)之间的联合工作。与解码器侧运动矢量修正和解码器侧运动矢量推导有关的文件JVET-G1001和其他现有技术可用于获得与本发明有关的贡献文件和专利的列表。
为使得进一步减少运动矢量残差译码位,用于执行解码器侧运动矢量修正或推导的若干方法已被提出。
一类方法称为模板匹配(TM)法,它使用与已重建的当前块(如图1所示)相邻的L形区域(称为模板),并使用多个适当缩放的空间和时间运动矢量候选在每个参考帧中标识最佳匹配的L形区域(使用成本函数,例如绝对差之和或去除均值后的绝对差之和)。然后,以最佳匹配候选为中心,在围绕该中心的特定修正距离内执行进一步修正。在编码器侧,计算速率失真优化成本以在单预测(即,使用最佳匹配参考的预测)与双向预测(即,通过对前两个最佳匹配参考进行平均推导的预测)之间进行决策。
另一类方法称为双边匹配(BM)法,通过采用一组运动矢量候选并找到使用运动矢量候选的运动补偿块与从另一个参考获得的运动补偿块之间的最接近匹配来在解码器侧推导当前译码单元(CU)的运动信息,找到的途径是基于当前帧与用于双向预测的两个参考图像之间的时间距离比(并四舍五入到用于运动补偿的最近运动矢量精度)来对运动矢量候选进行对称镜像(注意,术语“图像”与“帧”在本文中可互换使用)。这在图2中示出。在连续运动轨迹的假设下,指向两个参考块的运动矢量MV0和MV1应与当前图像和两个参考图像之间的时间距离(即,TD0和TD1)成正比。当当前图像在时间上位于两个参考图像之间并且从当前图像到两个参考图像的时间距离相同时,双边匹配变为基于镜像的双向运动补偿(MC)。
在确定一组标准候选中最匹配的运动矢量候选后,基于第二参考中的时间距离比,在第一参考中的运动矢量候选和时间缩放后的运动矢量候选周围的修正范围内进行局部修正,其方式使得用于成本函数评估的对应搜索位置总是通过时间距离比率彼此相关。
在一些实施例中,为了降低运动补偿的插值复杂度,在修正期间执行双线性插值,并且在修正之后使用基于离散余弦变换的插值滤波器(DCTIF)来完成最终精确的MC。
在双向匹配合并模式中,始终应用双向预测,因为基于两个不同参考图像中沿着当前CU运动轨迹的两个块之间的最接近匹配来推导CU的运动信息。
可指示用于指示模板匹配合并或双边匹配合并的显式合并模式,以将这些模式与不需要任何解码器侧运动矢量推导的默认合并模式区分开。
在一些实施例中,时间距离被忽略,并且分别在过去参考帧和将来参考帧中以相等且相反的运动矢量执行双边匹配。
在一些实施例中,不指示合并索引,而在其他实施例中,为了简化解码器执行多个运动补偿的复杂性,指示显式合并索引。
在双边匹配模式的变型中,首先使用从明确指示的合并索引获得的L0和L1参考中的预测块创建双边平均模板,然后对该模板执行匹配。如有任何移动,则更新模板。同样,在一些实施例中,在一个参考中执行修正,而在另一个参考中通过对该修正的运动矢量进行镜像而获得运动矢量。修正在两个参考之间交替进行,直到中心位置的误差最小或迭代次数达到最大为止。
在一些修正方法中,首先执行CU级修正。然后,执行子CU级多候选评估以及作为候选的CU级修正MV。可选地,每个子CU可针对最佳匹配候选执行自己的修正。
绝对差之和或去除均值后的绝对差之和被用作匹配成本函数,以测量L0参考片与L1参考片之间的对齐水平。一些成本函数使用从修正位置开始的运动矢量修正距离作为偏置项。
假设隐式执行解码器侧的推导或修正过程(例如,如图3所示),则编码器需要以与解码器完全相同的方式执行这些步骤,以使编码器侧的重建与解码器侧的重建匹配。
在解码器侧运动矢量修正或推导过程期间,通常仅使用亮度样本。然而,色度也使用用于亮度运动补偿的最终修正运动矢量(适当缩放以适应任何色度下采样)进行运动补偿。
双向预测光流
双向预测光流(BPOF)是在逐块运动补偿的基础上进行双向预测的样本方式解码器侧运动修正。样本级运动修正不使用指示。
在此处,τ0和τ1表示到参考帧的距离,如图4所示。距离τ0和τ1是根据Ref0和Ref1的POC计算推导的:τ0=POC(current)-POC(Ref0),τ1=POC(Ref1)-POC(current)。如果两个预测都来自相同的时间方向(或都来自过去,或都来自未来),则信号不同(即,τ0·τ1<0)。在这种情况下,只有预测不是来自同一时间点(即,τ0≠τ1),两个参考区域具有非零运动(MVx0,MVy0,MVx1,MVy1≠0)并且块运动矢量与时间距离(MVx0/MVx1=MVy0/MVy1=-τ0/τ1)成正比时,才应用BPOF。
通过最小化点A与点B之间的差值(运动轨迹与参考帧平面的相交点)来确定运动矢量场(vx,vy)。模型仅将局部泰勒展开式的第一线性项用于Δ:
等式(1.15)中的所有值取决于样本位置(i′,j′),这些为止到目前为止在符号中已省略。假设运动在局部周围区域是一致的,我们在以当前预测点(i,j)为中心的(2M+1)×(2M+1)正方形窗口内进行最小化,其中,M等于2:
对于此优化问题,当前开发使用简化的最小二乘法,首先在垂直方向上进行最小化,然后在水平方向上进行最小化。这得到
其中,
为了避免被零或很小的值除,在等式(1.17)和(1.18)中引入了正则化参数r和m。
r=500·4d-8 (1.20)
m=700·4d-8 (1.21)
此处,d是视频样本的位深度。
在某些实施例中,使用向右移位执行除法,向右移位具有计算为分母中最高有效位位置的值的值。
使用BPOF,可以为每个样本修正运动场,但为降低计算复杂性,可使用基于块的BPOF设计。运动修正是基于4×4块计算的。在基于块的BPOF中,对4×4块中的所有样本的等式(1.19)中sn的值进行聚合,然后使用sn的合计值来推导4×4块的BPOF运动矢量偏移。以下基于最小二乘法的公式用于基于块的BPOF推导:
其中bk表示属于预测块的第k个4×4块的样本集。等式(1.17)和(1.18)中的sn替换为((sn,bk)>>4)以推导相关联的运动矢量偏移。
为了使BPOF的存储器访问与常规双向预测运动补偿相同,仅针对当前块内的位置计算所有预测值和梯度值为了计算需要当前块外部的样本值的当前块内部的位置的梯度,在某些实施例中使用双线性插值或最接近的整数网格样本值。在当前的开发中,将块外部的的值设置为等于块内部最近的可用值。例如,这可实现为填充,如图5所示。
在一些情况下,由于噪声或不规则运动,通过BPOF计算出的MV偏移可能不可靠。因此,在BPOF中、MV偏移的量级被限制为阈值thBPOF。基于当前图像的参考图像是否全部来自一个方向来确定阈值。例如,MV偏移通常在水平和垂直方向上都被限制在+/-1整数像素距离内。
在一些实施例中,使用与HEVC运动补偿过程(2D可分离FIR)一致的操作,利用运动补偿插值同时计算BPOF的梯度。此2D可分离FIR的输入是与运动补偿过程相同的参考帧样本,并且根据块运动矢量的分数部分是分数位置(fracX,fracY)。在水平梯度的情况下,首先对应于小数位置fracY而使用BPOFfilterS来对信号进行垂直插值,并进行d-8的缩放位移,然后对应于小数位置fracX而在水平方向上应用梯度滤波器BPOFfilterG,并进行18-d的缩放位移。在垂直梯度的情况下,首先对应于小数位置fracY而使用BPOFfilterG来垂直应用梯度滤波器,并进行d-8的缩放位移,然后对应于小数位置fracX而使用BPOFfilterS来执疗信号位移,并进行18-d的缩放位移。为了保持合理的复杂度,梯度计算BPOFfilterG和信号位移BPOFfilterF的插值滤波器长度较短(6抽头)。表1.4示出用于BPOF中块运动矢量的不同分数位置的梯度计算的滤波器。表1.5示出用于BPOF中的预测信号生成的插值滤波器。
表1.4
分数像素位置 | 梯度的插值滤波器(BIOfilterG) |
0 | {8,-39,-3,46,-17,5} |
1/16 | {8,-32,-13,50,-18,5} |
1/8 | {7,-27,-20,54,-19,5} |
3/16 | {6,-21,-29,57,-18,5} |
1/4 | {4,-17,-36,60,-15,4} |
5/16 | {3,-9,-44,61,-15,4} |
3/8 | {1,-4,-48,61,-13,3} |
7/16 | {0,1,-54,60,-9,2} |
1/2 | {-1,4,-57,57,-4,1} |
表1.5
分数像素位置 | 预测信号的插值滤波器(BIOfilterS) |
0 | {0,0,64,0,0,0} |
1/16 | {1,-3,64,4,-2,0} |
1/8 | {1,-6,62,9,-3,1} |
3/16 | {2,-8,60,14,-5,1} |
1/4 | {2,-9,57,19,-7,2} |
5/16 | {3,-10,53,24,-8,2} |
3/8 | {3,-11,50,29,-9,2} |
7/16 | {3,-11,44,35,-10,3} |
1/2 | {3,-10,35,44,-11,3} |
在某些其他实施例中,使用简单的[-1 0 1]滤波器在水平和垂直方向进行2D可分离运动补偿插值之后,计算梯度。
在目前的发展中,当两个预测来自不同的参考图像时,BPOF将应用于所有双向预测模式(仿射、加权双向预测运动补偿和基于子块的高级时间合并模式的情况除外)。
对于4×4子块并使用6×6样本位置,1.22中的等式需要以下中间精度:
·I(k)对应于2D分离运动补偿插值后的未剪切预测块样本,基于运动矢量的分数部分,该部分保持在中间位深度为14(在VVC中),并且偏移为-8192,以利用签名的14位数字的动态范围更好。因此,差分项(I(1)-I(0))将具有15位精度。
·因此,乘积项可具有(16+15)或(16+16)位精度,并且对于给定的4×4子块,在6×6样本位置上的累加将需要32+6=38位累加器。
在最近采用的通用视频译码标准中,对中间位深度进行了以下规范化简化,以避免超过32位累加器,并简化了16位或32位单指令多数据(SIMD)操作:
·I(k)在减法之前右移6位,相减后的量将为9位精度。
·使用11位精度梯度计算水平梯度和和垂直梯度项之和,并将计算出的和进一步右移3位,以使总和项达到9位精度。
·然后将乘积项计算为9位×9位乘法,得到累加到24位累加器中的18位输出。
·然后使用24位累积量来计算流矢量(同样不超过27位中间值),并且流矢量(vx,vy)以5位表示(即每个分量的值介于-8与8之间)。
·在像素级下应用BPOF校正时,使用中间的11位水平和垂直梯度值来获得水平梯度的12位差和垂直梯度的差,然后分别乘以vx和vy,一起相加(可跨越16位范围),然后通过舍入向下移位1,然后使用偏移项添加到未裁剪的预测块值中。因此,在软件中的SIMD中,操作以32位精度执行,直到最后一次右移以将其带到样本位深度,然后打包样本。因此,校正应用期间的SIMD吞吐量很差。当前,BPOF在加权双向预测期间被禁用,仅在常规双向预测平均期间被启用。
通常,在BPOF的情况下,运动矢量不会使用估计的位移进行更新,并且色度分量预测不会基于估计的位移进行调整。
DMVR与BPOF的组合:
由于用于修正的内部存储器要求直接取决于对其执行修正的块的尺寸,因此某些DMVR实施例将尺寸大于像素数的分区译码单元强制为不超过某一预定finement_sub_PU_width和某一预定finement_sub_PU_height的子预测单元(子PU)。
DMVR与BPOF的直接组合(虽然在此处和下文中使用术语DMVR,但不言而喻,还包括编码器侧向运动矢量的修正)是通过首先精确执行整数距离或子像素距离来实现的子PU级别的解码器侧MV修正,其中子PU DMVR使用更简单的可分离2D插值(例如,整数网格采样,以指定的子像素精度(可以与最终运动补偿的插值具有相同的子像素精度)或以降低的子像素精度进行双线性插值)。一旦子PU知道修正的运动矢量,便会执行基于2D可分离DCTIF的运动补偿插值。在HEVC和VVC草案标准中,根据子像素相位,将8或7抽头的DCTIF用于亮度MC。在垂直插值的DCTIF插值样本(通常遵循水平插值)变得可用之后,计算样本值和样本梯度,使用这些值和样本梯度可运用子PU块在每个像素级别或在m×n子级确定双向预测光流矢量,如前所述。基于此像素或子块的光流矢量以及样本值和样本梯度,使用如前所述的校正项更新常规的双向预测平均。
因此,针对子PU的基于DCTIF的插值的开始必须等待子PU DMVR完成。光流矢量计算的开始必须等待子PU DCTIF垂直插值开始可用,这只有在产生了DCTIF滤波器抽头数量的水平基于DCTIF的插值行之后才有可能。
鉴于上文,本发明的目的是提供一种帧间预测技术,与现有技术相比,该技术可减少总体处理时间和负荷以及对存储容量的需求。
发明内容
所附权利要求书解决了上述目的。提供一种帧间预测方法,包括:
根据当前图像的当前图像块的运动信息选择参考样本;
对选择的所述参考样本执行第一插值以推导第一插值样本;
根据所述第一插值样本执行整数距离运动矢量修正MVR以推导目标子预测单元PU的整数距离增量运动矢量,其中,所述目标子PU处于所述当前图像块中;
根据所述第一插值样本和所述整数距离增量运动矢量对所述目标子PU中的每个M×M像素矩阵执行双向预测光流BPOF以推导M×M像素矩阵流矢量(M是整数,例如,M=4),其中,M为正整数,且所述M×M像素矩阵的尺寸小于所述目标子PU的尺寸;
对所述参考样本进行第二插值以推导第二插值样本;
根据所述M×M像素矩阵流矢量、所述第一插值样本和所述第二插值样本,计算所述目标子PU的至少一个校正参数;以及
根据所述第二插值样本和所述至少一个校正参数进行双向预测。
通过如此指定的推导、计算与双向预测方法步骤的组合,与本领域中已知的技术相比,可显著减少基于帧间预测进行译码所需的总体计算负荷和计算时间。
所述运动信息可包括处于译码树块级或虚拟管线数据单元级的运动矢量。此外,所述运动信息可包括参考索引,所述参考索引对于促进适当的参考图像的选择是有用的。
可使用所述当前图像块的运动矢量和所述目标子PU推导的所述整数距离增量运动矢量执行本发明方法中的第二插值。基于所述当前块的初始运动矢量和适当的偏移推导子块的运动矢量。初始MV可能不指向整数像素位置,但偏移将是帧间距离增量,使得当偏移添加到初始运动矢量时,一个MV到达整数像素位置。
可根据为所述目标子PU的样本计算出的样本梯度计算用于所述双向预测的所述目标子PU的所述上述至少一个校正参数。从而,例如,仅基于模板或双边匹配的常规双向预测可在所述预测图像的准确性方面得到改善。
具体地,采用所述校正参数的所述双向预测可包括:使用第一参考图像L0得到的校正参数生成第一预测图像,并使用第二参考图像L1得到的校正参数生成第二预测图像。
根据本实施例,所述参考样本的所述整数网格样本存储在第一存储器中,且所述第一插值样本存储在与所述第一存储器不同的第二存储器(例如,高速缓冲存储器)中,使得所述第一插值样本可在需要时在不同处理步骤中轻松检索。
在上述实施例中,所述第二插值可由可分离的插值滤波器执行。这种滤波器可允许相对快速且准确的插值。
在上述实施例中,在计算所述目标子PU的所述至少一个校正参数之前,本发明方法可包括:
根据所述第一插值样本推导所述目标子PU的左右边界样本位置处的水平边界样本梯度以及所述目标子PU的上下边界样本位置处的垂直边界样本梯度。
所述水平和垂直边界样本梯度可在某些内部存储器中进行缓冲,以便在基于梯度的双向预测校正期间使用。可基于所述水平边界样本梯度和所述垂直边界样本梯度来计算所述目标子PU的所述至少一个校正参数。特别地,可在执行所述运动矢量修正之后推导水平边界样本梯度和垂直边界样本梯度,以便减少整体存储器和计算负荷。
所述上述第一插值可以是双线性插值,和/或所述上述第二插值可以是较简单/成本较低的离散余弦变换插值。
还通过提供一种帧间预测方法来解决上述目的,所述方法包括:
根据当前图像的当前图像块的运动信息选择参考样本;
对选择的所述参考样本执行插值(例如,由可分离插值滤波器执行)以推导插值样本;
根据所述插值样本计算整数距离运动矢量修正MVR成本;
根据计算的所述整数距离MVR成本确定整数距离增量运动矢量;
根据所述插值样本和所述整数距离增量运动矢量对目标子预测单元PU中的每个M×M像素矩阵执行双向预测光流BPOF以推导M×M像素矩阵流矢量,其中,M为正整数(M为整数,例如,M=4),并且M×M小于子PU的尺寸,并且其中,所述目标子PU处于所述当前图像块中;
根据所述M×M像素矩阵流矢量和所述插值样本,计算所述目标子PU的至少一个校正参数;以及
根据所述插值样本和所述至少一个校正参数执行双向预测。
通过如此指定的推导、计算与双向预测方法步骤的组合,与本领域中已知的技术相比,还可显著减少基于帧间预测进行译码所需的总体计算负荷和计算时间。
如先前描述的实施例中,所述运动信息可包括处于译码树块级或虚拟管线数据单元级的运动矢量,并可包括参考索引。
可根据所述目标子PU的样本计算出的样本梯度计算所述目标子PU的所述至少一个校正参数。如先前描述的实施例中,所述执行双向预测可包括:使用第一参考图像L0得到的校正参数生成第一预测图像,和使用第二参考图像L1得到的校正参数生成第二预测图像。
可根据所述边界梯度计算所述目标子PU的所述校正参数。因此,所述方法可包括:在计算所述目标子PU的所述至少一个校正参数之前,在计算所述目标子PU的所述至少一个校正参数之前,根据所述插值样本推导所述目标子PU的边界梯度。
在此提供的方法中使用的插值可以是双线性插值或离散余弦变换插值。此外,可使用相同的第一插值方法确定所述插值样本的前N行和后N行,并且可使用相同的第二插值方法确定所述插值样本的除所述前N行和后N行之外的行。N例如可以是3。所述第一插值方法可以是离散余弦变换插值或双线性插值,并且所述第二插值可以是离散余弦变换插值。
还通过提供另一种帧间预测方法来解决上述目的,所述方法包括以下步骤:
根据当前图像的当前图像块的运动信息选择参考样本;
对选择的所述参考样本的此类参考样本执行第一插值,所述参考样本的位置对应于所述当前图像块的运动矢量MV修正范围中的零增量MV,并对选择的所述参考样本的此类参考样本执行第二插值,所述参考样本的位置不对应于所述当前图像块的所述MV修正范围中的零增量MV,以推导所述当前图像块的目标子预测单元PU的插值样本;
根据所述插值样本计算整数距离运动矢量修正MVR成本;
根据计算的所述整数距离MVR成本确定整数距离增量运动矢量;
根据计算的所述整数距离MVR成本确定所述整数距离增量运动矢量周围的子像素精确增量运动矢量;
根据所述零增量运动矢量位置处的所述插值样本对所述目标子PU中的每个M×M亮度样本块执行双向预测光流BPOF以推导M×M像素矩阵流矢量(M是整数,例如,M=4),其中,M为正整数,并且M×M小于子PU的尺寸,且其中,所述目标子PU处于所述当前图像块中;
确定是否使用确定的所述目标子PU的增量运动矢量或推导的所述目标子PU中的每个M×M样本亮度块的BPOF矢量,对所述目标子PU执行亮度帧间预测;
在确定使用推导的所述BPOF矢量对目标子PU执行所述亮度帧间预测的情况下,根据所述M×M像素矩阵流矢量和所述插值样本计算所述目标子PU的所述至少一个校正参数;
在确定使用确定的所述增量运动矢量对目标子PU执行所述亮度帧间预测的情况下,根据确定的所述增量运动矢量计算所述目标子PU的所述至少一个校正参数;以及
根据所述插值样本和所述至少一个校正参数执行双向预测。
通过如此指定的推导、计算与双向预测方法步骤以及其他提供的方法的组合,与本领域中已知的技术相比,还可显著减少基于帧间预测进行译码所需的总体计算负荷和计算时间。
同样在此另一提供的方法中,可根据所述目标子PU的样本计算出的样本梯度计算所述目标子PU的所述至少一个校正参数。同样,所述执行所述双向预测可包括:使用第一参考图像L0得到的校正参数生成第一预测图像,和使用第二参考图像L1得到的校正参数生成第二预测图像。
所述第二插值可由可分离的插值滤波器执行,和/或所述第一插值可以是离散余弦变换插值。所述第二插值可以是双线性或离散余弦变换插值。
此另一个提供的方法针对所述目标子PU的所述增量运动矢量或针对所述目标子PU中的每个M×M样本亮度块的所述BPOF矢量来有条件地对目标子PU进行亮度帧间预测。因此,可基于在计算负荷/开销与由帧间预测过程产生的预测图像的准确性之间的折衷来选择具体帧间预测。在实际应用期间获得的实验和经验表明,对于特定条件下的所述目标子PU的每个M×M亮度块,使用推导的所述BPOF矢量来为所述目标子PU进行所述亮度帧间预测可能是合适的。例如,确定当满足以下条件中的一个或多个时,可针对所述目标子PU中的每个M×M亮度样本块的推导的BPOF矢量执行针对所述目标子PU的亮度帧间预测:
a)最佳成本整数距离增量运动矢量是零矢量;
b)所述零增量运动矢量MVR成本减最佳成本小于预定阈值;以及
c)信息跨目标子PU内的所有4×4亮度样本块的BPOF矢量的欧几里得距离或曼哈顿距离的方差超过预定阈值。
本发明方法的所有上述实施例可用于视频序列的视频图像的译码,即,编码和解码。因此,本文还提供以下方法:
一种对视频图像进行编码的方法,包括:接收所述视频图像;将上述实施例中的任一个的帧间预测方法应用于所述视频图像的块;以及基于执行的双向预测来对所述视频图像进行编码;以及一种对编码的视频图像进行解码的方法,包括:接收所述编码的视频图像;将上述实施例中的任一个的帧间预测方法应用于所述编码的视频图像的块;以及基于执行的双向预测来对所述编码的视频图像进行解码。
此外,提供一种编码器或解码器,包括用于执行上述实施例中任何一项的方法的处理电路。
特别地,提供一种编码器或解码器,包括一个或多个处理器以及与所述处理器耦合并存储由所述处理器执行的程序的非瞬时性计算机可读存储介质,其中,在由所述处理器执行时,所述程序将所述编码器器或解码器配置为执行上述实施例中任一项所述的方法。
此外,提供一种包括程序代码的计算机程序产品,该程序代码用于执行上述实施例中任一项所述的方法。
附图简要说明
图1:基于模板匹配的解码器侧运动矢量推导的图示
图2:基于双边匹配的解码器侧运动矢量推导的图示
图3:基于双边模板匹配的解码器侧运动矢量修正的图示
图4:双向预测光流的图示
图5:在当前块之外推导样本值和样本梯度值的图示
图6:实施例1的DMVR+BPOF共存系统框图
图7:实施例1的非DMVR CU的BPOF系统框图
图8:实施例1的DMVR+BPOF共存系统框图
图9:实施例2的DMVR+BPOF共存系统框图
图10:实施例2的非DMVR CU的BPOF系统框图
图11:具有对子PU级别子像素流(在4×4级别没有BPOF)的基于梯度的校正的DMVR的图示
图12:实施例3的框图
图13:实施例3的时序图
图14:编码器或解码器的实施例的图示。
具体实施方式
如上所述,解码器侧运动矢量修正(例如,使用对称双边匹配)和解码器侧基于双向预测光流的对每个双向预测运动补偿后样本的每个像素的校正的直接组合涉及以下项之间的依赖关系:用子像素距离修正运动矢量确定整数距离或整数的子PU级别,并开始基于水平DCTIF的插值。类似地,双向预测光流估计的开始依赖于第一基于垂直DCTIF的插值行变得可用。可通过建立子PU粒度管线来解决第一依赖性,使得当DMVR(同样注意,还包括编码器侧的DMVR运动矢量修正)在给定的子PU上工作时,可对DMVR已经完成(或已确定不适用)的早期子PU执行DCTIF。
鉴于彼此相邻的不同预测或译码单元块的运动补偿所需的样本之间可能存在相当大的重叠,因此在硬件设计中通常采用预取缓存来确定性地提供运动补偿所需的样本。在软件实现方式中,处理器缓存自动提供参考的空间局部性。这些预取缓存的访问速度往往比外部存储器快,但比硬件设计中使用的内部行存储器访问速度慢。因此,对于同一组样本,优选的是不要多次访问此预取缓存。因此,使用子PU级别的管线,内部存储器需求增加,以缓冲整数网格样本以用于最终的DCTIF,从而避免再次访问已为DMVR访问的行的预取缓存。通过在不同的子PU上使用基于DMVR和水平DCTIF的插值,内部存储器的需求将跨两个参考和两个子PU变成4*(sPUw+N_TAPS_DCTIF–1+2*(S+1))*(sPUh+2*(S+1)),其中sPUw和sPUh是子PU的宽度和高度(具有选定的粒度),N_TAPS_DCTIF表示用于基于DCTIF的插值的滤波器抽头的数量,S表示DMVR的修正范围合并运动矢量,并且附加的1来自BPOF。
随着N_TAPS_DCTIF的增加,考虑到在基于垂直DCTIF的插值之前需要规范地执行基于水平DCTIF的插值,因此直到产生N_TAPS_DCTIF数量的基于水平DCTIF的插值行之前,才能开始基于垂直DCTIF的插值。从总体时序(或管线的等待时间)的角度,优选的是在此期间执行BPOF的某些计算,由于在基于垂直DCTIF的插值样本上执行BPOF,因此目前尚无法实现。鉴于垂直方向上的梯度计算要求,需要3个垂直插值行才能开始垂直梯度计算。鉴于给定子PU级别管线,为了使内部存储器保持最小,BPOF也需要在子PU级别进行。确定子PU的4×4子块的流矢量需要5*(sPUw+2)*(sPUh+2)9位×9位乘法。乘积项累计的数量为NUM_4×4_PER_SUB_PU*36,其中NUM_4×4_PER_SUB_PU是每个子PU 4×4块的数量。由于校正项的计算需要水平和垂直梯度,因此必须将L0和L1的水平和垂直样本梯度(在15位深度处)存储在缓冲区中,或者将未修剪的预平均插值样本存储在中间位深度(共14个)存储在缓冲区中,直到校正计算可从4×4级别计算的流矢量的可用性开始时开始。为了获得最佳时序,虽然发生子PU内一行4×4块的光流估计,但将为子PU内的前一行4×4块计算基于流矢量和梯度的校正。这意味着在每个参考中,梯度存储或未修剪的平均前插值样本存储必须至少有8行。应注意,在没有BPOF的情况下,一旦来自每个参考的一列垂直插值样本可用,就可逐行执行双向预测平均。因此,期望减少内部存储器负荷。
当前没有DMVR的BPOF假设在译码单元内,基于DCTIF的插值样本在给定的4×4之外可用,只要这些附加样本落在译码单元内即可。换句话说,对于4×4内部位置的梯度计算,需要基于DCTIF的6×6插值样本。类似地,对于子PU,需要基于DCTIF的(sPUw+2)×(sPUh+2)插值样本。每当译码单元尺寸大于子PU尺寸时,这都将需要DCTIF通过初始产生2行和2列来预备子PU管线。这也增加了内部存储器的需求,因为在最坏情况下可能必须保持2*128*2*2的预平均插值参考样本。或者,节约内部存储器要求每个子PU产生(sPUw+2)×(sPUh+2)基于DCTIF的插值输出,对于16×16子PU来说,插值工作量将增加约25%。因此,希望避免这种内部存储器需求的增加或由于插值工作负荷的25%的增加而导致的门计数的增加。
每当DMVR使用子像素精确的增量MV时,每个子PU都可能在水平和垂直方向上具有不同的子像素相位偏移。因此,每个子PU需要执行独立的基于2D可分离DCTIF的插值。尽管这仍然远低于VVC中的仿射子CU遇到的所有4×4双向预测子PU的最坏情况DCTIF插值复杂度,但硬件的平均功耗要求或软件的平均处理要求随子级显著提高子PU级别DCTIF。此外,由于存在具有子像素精度增量MV的DMVR的BPOF被迫使用某种插值方法(例如,DCTIF、双线性插值或最接近的整数网格样本)来获得子PU之外的位置的梯度计算所需的子PU外部的附加样本。执行这些插值也会增加硬件的平均功耗要求和软件的平均处理要求。因此,希望可避免增加硬件的平均功率或增加软件的平均处理需求。
本发明提供一种用于通过以下方式解决/缓解上述一个或多个问题的系统和方法:(a)将预取缓存访问保持在接近没有DMVR的水平);(b)避免增加内部存储器;(c)减少执行计算所需的时间;(d)避免增加门计数;(e)避免增加硬件的平均功率或增加软件的平均处理要求;以及(f)避免缺少SIMD友好度。
本发明提高了不同处理的并发性。在一个实施例中,针对DMVR执行的双线性运动补偿也用于计算4×4块级的光流矢量。这使得所有流矢量相关的计算都可与基于DCTIF的运动补偿同时进行,从而改善运动补偿的总体时序。在另一个实施例中,基于DCTIF的运动补偿首先与使用双线性运动补偿计算出的用于修正的附加样本一起执行。当每个基于垂直DCTIF的插补线可用时,这允许DMVR在行级管线中执行。通过为中心部分共享基于DCTIF的插值样本,可降低通常在整个修正范围内执行的双线性插值的复杂度,从而减少硬件中的门计数或软件中的运算量。在此实施例中还减少了内部存储器需求,因为从预取高速缓存访问的整数网格样本不需要在2个子PU阶段上维护。
在要求DMVR和BPOF同时为一个译码单元共存的实施例中,禁用来自DMVR的子像素精度增量MV,因此在已被强制分成多个子PU的较大译码单元中,水平重复使用插值和垂直插值行缓冲区成为可能。在软件中,这允许在译码单元级执行DCTIF来生成(CU_w+4)×(CU_h+4)个样本,这比在子CU级别执行DCTIF的计算成本更低。
在DMVR中的子像素精确的增量MV可用的某些实施例中,使用从DMVR获得的子像素流矢量,将基于BPOF的校正替换为基于梯度的校正。通过使用利用整数距离成本值获得的参数误差表面来计算子像素流矢量,在这种情况下避免与流矢量计算相关的像素级运算。
在某些实施例中,为了改善总体时序,在不依赖于来自DMVR的增量MV的情况下,执行使用BDOF的流矢量计算。引入决策逻辑以决策亮度帧间预测是在DMVR确定的MV增量位置使用基于梯度的校正还是使用基于BDOF的光流矢量计算的校正。无关于上述决策,基于DMVR的增量MV用于更新修正的MV,并且该MV用于在子PU级别执行色度MC。
在应用BPOF但未应用DMVR的译码单元中,定义规范的子PU尺寸(优选地与使用BPOF的DMVR情况下使用的子PU尺寸相同),以使采样梯度在位置使用与DMVR相同的插值,获得子PU内部的需要子PU外部的样本。
在某些实施例中,基于译码单元尺寸来适配用于DMVR的插值,使得高于用于译码单元宽度、译码单元高度和译码单元尺寸的预定阈值的译码单元尺寸在整个修正范围内使用DCTIF本身,而剩余的译码单元对修正所需的附加样本或整个修正范围使用更简单的插值。
鉴于解码器侧运动矢量修正/推导是译码系统的规范方面,编码器还必须执行相同的修正搜索操作,以使编码器的重建与解码器的重建之间不存在任何漂移。因此,所有实施例的所有方面均适用于编码和解码系统。
在模板匹配中,修正运动仅在以子像素精确中心开始的参考中发生,该子像素精确中心基于显式指示的合并索引或隐式地通过成本评估推导得出。
在双边匹配(有或没有平均模板)中,修正从相应子像素准确中心开始的L0和L1参考开始,这些子像素准确中心基于显式指示的合并索引或隐式地通过成本评估推导得出。
实施例1
在此实施例中,DMVR和4×4级双向预测光流矢量确定使用相同的插值方案。这个的一个样本实施例在图6中示出,其中采用双线性插值,如框601所示。601访问来自预取缓冲区M601的样本来,假设该预取缓冲区M601使用未修正的运动矢量以译码树块级或虚拟管线数据单元(VPDU)级别来获取参考样本。双线性插值样本存储在内部存储器缓冲区M602中,并由处理块602访问,该处理块602针对给定的子PU针对L0和L1中的合并MV中心执行整数距离DMVR,以产生整数距离增量MV。用给定子PU对每个4×4执行双向预测光流矢量估计的块603还访问M602,该M602从由用于子CU的整数距离增量MV提供的偏移开始。应注意,公共插值也可以是基于DCTIF的插值。在公共插值不是基于DCTIF的插值的情况下,图6示出其余的相依关系。在非DCTIF插值期间访问的整数网格采样被缓冲在内部存储器M603中,以避免再次从预取高速缓存访问这些采样。DCTIF(604)的水平插值级将其输出产生到行缓冲区M604中。垂直插值级(605)然后从这些线缓冲区消耗以产生新的垂直插值线。子PU的左右边界处的水平梯度以及子PU的上下边界处的垂直梯度(在考虑了与DMVR的整数距离位移之后)被缓冲在内部存储器M605中。当子PU的每个垂直插值行变得可用时,在606中,通过使用针对子PU内的每个4×4块的计算的流矢量来应用基于梯度的校正。M605的内容用于获得需要在子PU外部采样的子PU内位置的梯度。使用所计算的校正,在607中产生具有校正的最终双向预测样本。假设在604、605和606中对L0和L1行的处理是同时执行或以交错方式执行的,以便607一次可完成一行。
表1示出此实施例提供的并发级别。主要功能块跨列示出,而与时序相关的不同阶段在各行中示出。从表可见,阶段T1、T3和T6与处理上升或下降有关,因此比处理一个或多个功能块的稳态的阶段T2、T4和T5小得多。可看出,T2在DMVR的插值和DMVR的成本计算之间提供并发性。T4提供子PU的4×4块的流矢量计算与基于水平DCTIF的插值启动之间的并发性。T5在基于垂直DCTIF的插值与基于梯度的校正的应用之间产生并发性,以产生最终的带有校正的一行双向预测。
表1:跨实施例1的不同功能块的并发表
注意:T1、T3、T6的时序比T2、T4、T5的时序小,这允许至少2个功能块并发。
图7示出了BPOF如何应用于不应用DMVR的译码单元。存储单元M701、M702、M703、M704和M705在功能性上分别类似于M601、M602、M603、M604和M605。处理单元701、702、703、704、705和706在功能性上分别类似于601、603、604、605、606和607。由于未执行DMVR,因此涉及的块尺寸不取决于DMVR修正范围参数S。然而,采用与DMVR情况相同的方法来协调采用DMVR和不采用DMVR的译码单元之间的硬件和软件实现。
图8示出了如何对不采用BPOF的译码单元执行DMVR。存储单元M801、M802、M803、M804和M805在功能性上分别类似于M601、M602、M603、M604和M605。处理单元801、802、804、805、806和807在功能性上分别类似于601、602、604、605、606和607。处理单元803与603的不同之处在于,它使用利用在802中评估的整数距离位置成本建模的参数误差表面来计算整个子PU的子像素精确流矢量。
在图6和图8的系统和方法中,如果可获得子像素精确的增量MV,则将其用于更新子PU的修正MV,以使得修正MV可用于空间MV预测(合并或AMVP),以进行去块效应强度确定,并以编码顺序用作未来访问单元的时间运动矢量预测变量。子像素增量MV更新的修正MV也用于对应于亮度子PU的色度部分的色度运动补偿。
实施例1的主要优点是提高了不同处理阶段的并发性,使得可在硬件实现方式中减少总的管线等待时间。具体地,通过使用与用于DMVR的相同插值来计算流矢量,可与基于DCTIF的插值同时发生流矢量的计算。类似地,基于梯度的校正可与基于DCTIF的插值的产生同时应用。通过允许对整个亮度译码单元执行用于修正的运动补偿和基于DCTIF的运动补偿,而不需要子CU级运动补偿,它还减少了软件实现方式中的平均处理时间。通过禁用亮度的子像素精度增量MV部分,可实现这一点。最坏情况下的预取缓存访问与没有DMVR和/或BPOF时几乎保持在同一级别。译码效率的影响保持最小。
在此实施例中,公开了一种用于在DMVR与BPOF矢量估计之间共享相同插值方法的系统和方法。公开了一种用于并发处理BPOF矢量估计和基于DCTIF的插值的系统和方法。公开了一种系统和方法,该系统和方法用于通过禁用亮度的子像素精确的增量MV来降低软件计算复杂度,但是仍然使用子像素精确的增量MV来更新子PU修正的MV和色度MC。
实施例2
在此实施例中,用于修正的运动补偿将基于DCTIF的插值样本用于修正范围的中心部分(即,用于对应于零增量MV的样本的译码单元尺寸的样本),而围绕这些中心样本的附加样本是使用DCTIF或更简单的插值方案可获得DMVR和BPOF所需的数据。这在图9中示出。块901通过访问来自预取缓冲区M901的样本来执行水平插值,假设该预取缓冲区M901使用未修正的运动矢量以译码树块级或虚拟管线数据单元(VPDU)级别来获取参考样本。水平插值在每行上生成依赖子像素相位的基于DCTIF的插值sPUw样本数量,并且使用DCTIF或更简单的插值(例如具有相同子像素精度或降低的子像素精度的双线性插值,最接近的整数网格样本等)生成行的左右三个插值样本。这些存储在行缓冲单元M902中。垂直插值块902从M902访问以产生垂直插值样本,其中使用DCTIF或更简单的插值来产生前三行和最后三行,而使用基于子像素相位的基于DCTIF的插值来产生中心的行数。这些垂直插值的样本存储在内部存储器缓冲区M903中。通过访问M903来在904中执行整数距离DMVR成本计算。应注意,只要有新行可用于给定的搜索位置,就可执行行级成本计算,以减少DMVR的等待时间。当针对DMVR的所有搜索位置的所有行更新成本计算时,在905中,通过找到所有位置中最低的成本并将该位置到搜索中心的距离用作整数距离增量MV,确定整数距离增量MV。一旦确定了整数距离增量MV,就可使用显式评估或通过基于参数误差表面的拟合来确定可选的子像素准确的增量MV,该拟合适用于904中确定的整数距离成本并传递到905。块906访问M903以访问在905中确定的整数距离偏移的样本值,并计算用于计算每个子PU内的每个4×4块的光流矢量所需的样本梯度。一旦在906中确定具有子PU的给定4×4块的光流矢量,就在907中通过访问M903并使用计算出的光流矢量来计算块级校正。906可使用从M903访问的样本值来重新计算梯度,而不需要906存储梯度值。在908中,通过访问M903中的样本值以及从907传递来的校正值来计算最终的双向预测样本值。
表2示出在此实施例中跨不同功能单元的并发级别。主要功能块跨列示出,而与时序相关的不同阶段在各行中示出。从表可看出,阶段T2和T4允许并发。具体地,在T2期间,插值和DMVR成本计算会同时发生。在T4期间,光流估计以及基于流矢量和梯度的校正是4×4块行上的管线。在垂直具有多个子PU的较大译码单元中,通过以列方式处理子PU,可从先前的子PU中重复使用8个水平插值行缓冲区和2个垂直插值行缓冲区T1。然而,在所有8×8译码单元的最坏情况下,一个CU的T1级输出不能用于另一个CU。然而,可使一个子PU/CU的阶段T1和另一个子PU/CU的阶段T5并发。
表2:跨实施例2的不同功能块的并发表
注意:以列方式遍历CU内的子PU,大部分T1工作可隐藏在子PU之间。然而,最坏情况发生在小型CU(例如,8×8)上,其中每个8×8都产生了自己的T1阶段,可在时序上与T2相提并论。
图10示出BPOF如何应用于不应用DMVR的译码单元。存储单元M1001、M1002和M1003在功能性上分别类似于M901、M902和M903。处理单元1001、1002、1006、1007和1008在功能性上分别类似于901、902、906、907和908。由于未执行DMVR,因此涉及的块尺寸不取决于DMVR修正范围参数S。然而,采用与DMVR情况相同的方法来协调采用DMVR和不采用DMVR的译码单元之间的硬件和软件实现。
图11示出如何对不采用BPOF的译码单元执行DMVR。存储单元M1101、M1102和M1103在功能上。分别类似于M901、M902和M903。处理单元1101、1102、1104、1105、1107和1108在功能性上分别类似于901、902、904、905、907和908。处理单元1106与906的不同之处在于,它使用利用在1104中评估并通过1105传递的整数距离位置成本建模的参数误差表面来计算整个子PU的子像素精确流矢量。
在图9和图11的系统和方法中,如果可获得子像素精确的增量MV,则将其用于更新子PU的修正MV,以使得修正MV可用于空间MV预测(合并或AMVP),以进行去块效应强度确定,并以编码顺序用作未来访问单元的时间运动矢量预测变量。子像素增量MV更新的修正MV也用于对应于亮度子PU的色度部分的色度运动补偿。
此实施例的主要优点在于,由于不必在2个子PU阶段上保持整数网格采样,从而减少了内部存储器的需求。每个参考仅存储插值的(sPUw+6)×(sPUh+6)样本,对于sPUw=8和sPUh=8的最坏情况,该等样本比(sPUw+13)×(sPUh+13)小得多。通过不对中心样本执行双线性插值,还可降低计算复杂度。通过具有执行插值与DMVR成本计算之间的行级管线以及流矢量估计和基于BPOF的校正之间的4×4级管线行的能力,还可提高并发性。通过允许对整个亮度译码单元执行用于修正的运动补偿和基于DCTIF的运动补偿,而不需要子CU级运动补偿,它还减少了软件实现方式中的平均处理时间。通过禁用亮度的子像素精度增量MV部分,可实现这一点。最坏情况下的预取缓存访问与没有DMVR和/或BPOF时几乎保持在同一级别。译码效率的影响保持最小。
在此实施例中,公开了一种用于修改规范运动补偿以将DCTIF用于来自DMVR的零增量MV并将非零增量MV所需的附加样本使用更简单的插值并将相同的插值用于DMVR和BPOF的系统和方法。公开了一种用于具有插值的DMVR成本计算的行级管线处理的系统和方法。公开了一种系统和方法,该系统和方法用于通过禁用亮度的子像素精确的增量MV来降低软件计算复杂度,但是仍然使用子像素精确的增量MV来更新子PU修正的MV和色度MC。
实施例3
在作为实施例2的变型的此实施例中,针对CU内的每个子PU中的每个样本的每个4×4样本块的基于BDOF的光流矢量估计基本与DMVR成本评估并行地执行,因此不依赖于由DMVR确定的修正运动矢量。
图12示出了用于亮度样本的译码单元块的子PU的此实施例。将译码单元块强制分成子PU,使得修正块尺寸不超过预定宽度和预定高度。当译码单元块的宽度小于或等于预定宽度而高度小于或等于预定高度时,则不强制将其分成较小的块,并且子PU和译码单元块将是相同的。
尽管示出基于水平和垂直DCTIF的插值块1201和1202,但应当理解,某些块可仅具有水平插值或仅具有垂直插值,或仅使用整数网格样本而无需任何插值。在最坏情况下,当水平和垂直运动矢量分量都具有分数像素部分时,应同时使用基于水平和垂直DCTIF的插值。当同时存在两个插值时,垂直插值和水平插值可在行级管线中发生。
在框1203中,使用最终的插值样本来计算用于DMVR的整数距离位置成本评估。应注意,对于某些成本函数,例如绝对差之和或去除行均值的绝对差之和,成本评估可在具有插值的行级管线中进行。
在框1204中,基于在来自合并MV的所有修正增量整数距离运动矢量位置处评估的成本来确定最佳整数距离位置。当最佳成本整数距离增量运动矢量不在修正范围的边界时,将参数误差曲面拟合到最佳成本整数距离增量运动矢量及其周围的整数距离成本函数值,以获得最佳子像素准确的增量运动矢量。
在框1205中,对于当前子PU内的每个4×4样本块,使用先前描述的双向预测光流估计过程来估计光流矢量。应注意,该光流矢量估计不依赖于使用DMVR的精确MV的确定。
在框1206中,在将DMVR修正的MV用于产生最终的双向预测输出样本还是将BDOF光流矢量用于产生最终的双向预测输出样本之间做出决策。做出此决策是为了有利于使用BDOF矢量,可使用以下一个或多个规则进行:
1.最佳成本整数距离增量运动矢量是零矢量;
2.如果零增量运动矢量DMVR成本减去最佳成本小于预定阈值(例如,对于16×16子PU,则在使用14位插值样本来计算成本函数时,预定阈值可以是16、32或64)。在一些实施例中,最佳成本可仅基于整数距离增量MV。在一些其他实施例中,最佳成本可基于整数距离成本函数值的参数误差面。
3.跨目标子PU内的所有4×4亮度样本块的BPOF矢量的欧几里得(Euclidean)距离或曼哈顿(Manhattan)距离的方差超过预定阈值(例如,对于尺寸为16乘16的子PU包含16个4×4样本块,曼哈顿距离方差的预定阈值可以是例如0.25、0.4、0.5等值)
在框1207中,基于框1206中做出的决策,生成最终双向预测样本。具体地,如果框1207选择DMVR,则访问以整数距离增量MV偏移的样本的L0和L1预测样本块作为当前子PU的预测样本。如果增量MV具有明确确定或使用参数误差面确定的子像素精确部分,则应用等式1.14,其中vx和vy分别是增量MV的水平分量和垂直分量子像素部分,并使用访问的预测样本计算梯度。因此,使用子像素增量MV和样本梯度差来修改整数距离增量MV处的双向预测。
另一个方面,如果框1207选择BDOF,则通过在框1205中使用针对该4×4的计算出的光流矢量,将等式1.14应用于子PU内的每个4×4样本块。
与1206的决策无关,来自1204的增量MV用于更新子PU的修正MV,可根据需要将其用于去块效应、时间MV预测和空间MV预测。
修正的MV还用于对子PU的色度分量执行运动补偿。在一个实施例中,如果决策框1206选择BDOF,则在获得用于执行色度分量的运动补偿的修正MV之前,将每个分量中的增量MV剪辑在-1与1之间。
图13示出了不同处理模块之间的依赖性。垂直插值(在2D分离插值情况下)跟随水平插值。例如,如果使用8抽头的DCTIF进行插值,则在有8个水平插值行可用之后,可能会发生一行垂直插值。之后,一行水平插值与一行垂直插值可交错(或者可同时发生)。一旦一行插值样本可用,则可开始对要由DMVR评估的MV增量的某些位置进行框1204的整数距离成本评估。类似地,一旦插值样本变得可用,则可开始处理块1205的梯度计算和梯度总和计算。因此,1204和1205中的处理可并行发生。一旦框1205最终确定修正MV,就进行框1206的决策。对双向预测的基于梯度的校正取决于框1206的决策。
所有上述过程都可在编码器或解码器中实现。在图14中示出可以是解码器或编码器的示例性视频译码设备400。
视频译码设备400包括用于接收数据的入端口410(或输入端口410)和接收器单元(Rx)420;用以处理数据的处理器、逻辑单元、处理电路或中心处理单元(CPU)430;用于传输数据的传输器单元(Tx)440和出端口450(或输出端口450);以及用于存储数据的存储器460。视频译码设备400还可包括耦合至入端口410、接收器单元420、传输器单元440和出端口450的用于光或电信号的进出的光电(OE)部件和电光(EO)部件。
处理器430可由硬件和软件实现。处理器430可被实现为一个或多个CPU芯片、核(例如,作为多核处理器)、FPGA、ASIC和DSP。处理器430与入端口410、接收器单元420、传输器单元440、出端口450和存储器460通信。处理器430可包括译码模块470,其中,可处理、准备或提供各种译码操作,特别是上述过程。或者,译码模块470被实现为存储在存储器460中并且由处理器430执行的指令。
存储器460可包括一个或多个磁盘、磁带驱动器和固态驱动器,并且可用作溢出数据存储设备,以在选择要执行的程序时存储程序,并存储在程序执行期间读取的指令和数据。存储器460可以是例如易失性的和/或非易失性的,并且可以是只读存储器(ROM)、随机访问存储器(RAM)、三态内容可寻址存储器(TCAM)和/或静态随机访问存储器(SRAM)。
缩略语和词汇的定义
DMVR 解码器侧运动矢量修正
SAD 绝对差之和
MV 运动矢量
BPOF 基于双向预测光流的双向预测样本的每个像素的校正
DCTIF 基于离散余弦变换的插值滤波器,用于基于相对于给定样本块的该参考帧的给定子像素运动矢量来对参考样本进行运动补偿插值
MC 运动补偿
HEVC 高效视频译码标准
VVC 多功能视频译码标准
Claims (39)
1.一种帧间预测方法,包括:
根据当前图像的当前图像块的运动信息选择参考样本;
对选择的所述参考样本执行第一插值以推导第一插值样本;
根据所述第一插值样本,执行整数距离运动矢量修正MVR,以推导目标子预测单元PU的整数距离增量运动矢量,其中,所述目标子PU处于所述当前图像块中;
根据所述第一插值样本和所述整数距离增量运动矢量,对所述目标子PU中的每个M×M像素矩阵执行双向预测光流BPOF,以推导M×M像素矩阵流矢量,其中,M为正整数,并且M×M像素矩阵的尺寸小于所述目标子PU的尺寸;
对所述参考样本执行第二插值以推导第二插值样本;
根据所述M×M像素矩阵流矢量、所述第一插值样本和所述第二插值样本,计算所述目标子PU的至少一个校正参数;以及
根据所述第二插值样本和所述至少一个校正参数执行双向预测。
2.根据权利要求1所述的方法,其中,所述运动信息包括处于译码树块级或虚拟管线数据单元级的运动矢量。
3.根据权利要求1或2所述的方法,其中,使用所述当前图像块的运动矢量和所述目标子PU推导的所述整数距离增量运动矢量执行所述第二插值。
4.根据权利要求1或2所述的方法,其中,所述目标子PU的所述至少一个校正参数是根据所述目标子PU的样本计算出的样本梯度计算的。
5.根据权利要求1或2所述的方法,其中,所述执行双向预测包括:使用第一参考图像L0得到的校正参数生成第一预测图像,和使用第二参考图像L1得到的校正参数生成第二预测图像。
6.根据权利要求1或2所述的方法,其中,所述参考样本的整数网格样本存储在第一存储器中,并且所述第一插值样本存储在与所述第一存储器不同的第二存储器中。
7.根据权利要求1或2所述的方法,其中,所述第二插值由可分离的插值滤波器执行。
8.根据权利要求1或2所述的方法,其中,在计算所述目标子PU的所述至少一个校正参数之前,所述方法包括:
根据所述第一插值样本推导所述目标子PU的左右边界样本位置处的水平边界样本梯度,以及所述目标子PU的上下边界样本位置处的垂直边界样本梯度。
9.根据权利要求8所述的方法,其中,在执行所述MVR之后,推导所述水平边界样本梯度和所述垂直边界样本梯度。
10.根据权利要求8或9所述的方法,其中
所述目标子PU的所述至少一个校正参数是根据所述水平边界样本梯度和所述垂直边界样本梯度计算的。
11.根据权利要求1或2所述的方法,其中,所述第一插值是双线性插值。
12.根据权利要求1或2所述的方法,其中,所述第二插值是离散余弦变换插值。
13.根据权利要求1或2所述的方法,其中,M为4。
14.一种帧间预测方法,包括:
根据当前图像的当前图像块的运动信息选择参考样本;
对选择的所述参考样本执行插值以推导插值样本;
根据所述插值样本计算整数距离运动矢量修正MVR成本;
根据计算的所述整数距离MVR成本确定整数距离增量运动矢量;
根据所述插值样本和所述整数距离增量运动矢量,对目标子预测单元PU中的每个M×M像素矩阵执行双向预测光流BPOF,以推导M×M像素矩阵流矢量,其中,M为正整数,并且所述M×M像素矩阵的尺寸小于所述目标子PU的尺寸,所述目标子PU处于所述当前图像块中;
根据所述M×M像素矩阵流矢量和所述插值样本,计算所述目标子PU的至少一个校正参数;以及
根据所述插值样本和所述至少一个校正参数来执行双向预测。
15.根据权利要求14所述的方法,其中,所述运动信息包括处于译码树块级或虚拟管线数据单元级的运动矢量。
16.根据权利要求14或15所述的方法,其中,所述目标子PU的所述至少一个校正参数是根据所述目标子PU的样本计算出的样本梯度计算的。
17.根据权利要求14或15所述的方法,其中,所述执行双向预测包括:使用第一参考图像L0得到的校正参数生成第一预测图像,和使用第二参考图像L1得到的校正参数生成第二预测图像。
18.根据权利要求14或15所述的方法,其中,所述插值由可分离的插值滤波器执行。
19.根据权利要求14或15所述的方法,其中,在计算所述目标子PU的所述至少一个校正参数之前,所述方法包括:
在计算所述目标子PU的所述至少一个校正参数之前,根据所述插值样本推导所述目标子PU的边界梯度。
20.根据权利要求19所述的方法,其中,所述目标子PU的所述至少一个校正参数是根据所述边界梯度计算的。
21.根据权利要求14或15所述的方法,其中,所述插值是双线性插值或离散余弦变换插值。
22.根据权利要求14或15所述的方法,其中,M为4。
23.根据权利要求14或15所述的方法,其中,使用相同的第一插值方法确定所述插值样本的前N行和后N行,且使用相同的第二插值方法确定所述插值样本的除所述前N行和后N行之外的行。
24.根据权利要求23所述的方法,其中,N为3。
25.根据权利要求23所述的方法,其中,所述第一插值方法是离散余弦变换插值或双线性插值,且所述第二插值是离散余弦变换插值。
26.一种帧间预测方法,包括:
根据当前图像的当前图像块的运动信息选择参考样本;
对选择的所述参考样本执行第一插值,所述参考样本的位置位于所述当前图像块的运动矢量MV修正范围中的零增量MV,并对附加样本执行第二插值,所述附加样本的位置不位于所述当前图像块的所述MV修正范围中的零增量MV,以推导所述当前图像块的目标子预测单元PU的插值样本;
根据所述插值样本计算整数距离运动矢量修正MVR成本;
根据计算的所述整数距离MVR成本,确定整数距离增量运动矢量;
根据计算的所述整数距离MVR成本,确定所述整数距离增量运动矢量周围的子像素精确增量运动矢量;
根据所述零增量MV位置处的所述插值样本对所述目标子PU中的每个M×M亮度样本块执行双向预测光流BPOF,以推导M×M像素矩阵流矢量,其中,M为正整数,且所述M×M亮度样本块的尺寸小于所述目标子PU的尺寸,且其中,所述目标子PU处于所述当前图像块中;
确定是否使用确定的所述目标子PU的增量运动矢量或推导的所述目标子PU中的每个M×M亮度样本块BPOF矢量,对所述目标子PU执行亮度帧间预测;
在确定使用推导的所述BPOF矢量对所述目标子PU执行所述亮度帧间预测的情况下,根据所述M×M像素矩阵流矢量和所述插值样本计算所述目标子PU的至少一个校正参数;
在确定使用所述增量运动矢量对所述目标子PU执行所述亮度帧间预测的情况下,根据确定的所述增量运动矢量计算所述目标子PU的所述至少一个校正参数;以及
根据所述插值样本和所述至少一个校正参数执行双向预测。
27.根据权利要求26所述的方法,其中,所述目标子PU的所述至少一个校正参数是根据所述目标子PU的样本计算出的样本梯度计算的。
28.根据权利要求26或27所述的方法,其中,所述执行双向预测包括:使用第一参考图像L0得到的校正参数生成第一预测图像,和使用第二参考图像L1得到的校正参数生成第二预测图像。
29.根据权利要求26或27所述的方法,其中,所述第二插值由可分离的插值滤波器执行。
30.根据权利要求26或27所述的方法,其中,所述第一插值是离散余弦变换插值。
31.根据权利要求26或27所述的方法,其中,所述第二插值是双线性插值或离散余弦变换插值。
32.根据权利要求26或27所述的方法,其中,M为4。
33.根据权利要求26或27所述的方法,其中,确定当满足以下条件中的一个或多个时,使用所述目标子PU中的每个M×M亮度样本块的推导的BPOF矢量对所述目标子PU进行所述亮度帧间预测:
a)最佳成本整数距离增量运动矢量是零矢量;
b)所述零增量运动矢量MVR成本减最佳成本小于预定阈值;以及
c)跨目标子PU内的所有4×4亮度样本块的BPOF矢量的欧几里得距离或曼哈顿距离的方差大于预定阈值。
34.一种视频图像编码的方法,包括:接收所述视频图像;将权利要求1至33中任一项所述的帧间预测方法应用于所述视频图像的块;以及根据执行的双向预测对所述视频图像进行编码。
35.一种对编码视频图像解码的方法,其特征在于,包括:接收所述编码视频图像;将权利要求1至33中任一项所述的帧间预测方法应用于所述编码视频图像的块;以及根据执行的双向预测对所述编码视频图像进行解码。
36.一种编码器,包括用于执行如权利要求1至34中任一项所述的方法的处理电路。
37.一种解码器,包括用于执行如权利要求1至33或35中任一项所述的方法的处理电路。
38.一种编码器,包括:
一个或多个处理器;以及
非瞬时性计算机可读存储介质,其耦合至所述处理器并存储有所述处理器执行的程序,其中所述程序由所述处理器执行时,使得所述编码器执行如权利要求1至34中任一项所述的方法。
39.一种解码器,包括:
一个或多个处理器;以及
非瞬时性计算机可读存储介质,其耦合至所述处理器并存储有所述处理器执行的程序,其中所述程序由所述处理器执行时,使得所述解码器执行如权利要求1至33或35中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201931000185 | 2019-01-02 | ||
IN201931000185 | 2019-01-02 | ||
IN201931001238 | 2019-01-10 | ||
IN201931001238 | 2019-01-10 | ||
PCT/CN2019/129980 WO2020140874A1 (en) | 2019-01-02 | 2019-12-30 | A hardware and software friendly system and method for decoder-side motion vector refinement with decoder-side bi-predictive optical flow based per-pixel correction to bi-predictive motion compensation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113228673A CN113228673A (zh) | 2021-08-06 |
CN113228673B true CN113228673B (zh) | 2023-03-03 |
Family
ID=71406642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980085193.6A Active CN113228673B (zh) | 2019-01-02 | 2019-12-30 | 用于基于双向预测光流的逐像素校正的解码器和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11490096B2 (zh) |
EP (1) | EP3854093A4 (zh) |
JP (1) | JP7200470B2 (zh) |
CN (1) | CN113228673B (zh) |
BR (1) | BR112021007949A2 (zh) |
WO (1) | WO2020140874A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020084476A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block based prediction |
CN111083491B (zh) | 2018-10-22 | 2024-09-20 | 北京字节跳动网络技术有限公司 | 细化运动矢量的利用 |
WO2020098644A1 (en) | 2018-11-12 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Bandwidth control methods for inter prediction |
CN117319644A (zh) | 2018-11-20 | 2023-12-29 | 北京字节跳动网络技术有限公司 | 基于部分位置的差计算 |
CN113170171B (zh) | 2018-11-20 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 组合帧间帧内预测模式的预测细化 |
WO2020177755A1 (en) | 2019-03-06 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Usage of converted uni-prediction candidate |
JP6867611B2 (ja) * | 2019-03-11 | 2021-04-28 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
KR102610709B1 (ko) * | 2019-04-02 | 2023-12-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 디코더 측 움직임 벡터 유도 |
CN114073090A (zh) * | 2019-07-01 | 2022-02-18 | 交互数字Vc控股法国公司 | 仿射运动补偿的双向光流细化 |
JP6960969B2 (ja) * | 2019-09-20 | 2021-11-05 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
CN114125466A (zh) * | 2020-08-26 | 2022-03-01 | Oppo广东移动通信有限公司 | 帧间预测方法、编码器、解码器以及计算机存储介质 |
US20230007238A1 (en) * | 2021-06-30 | 2023-01-05 | Qualcomm Incorporated | Using unrefined motion vectors for performing decoder-side motion vector derivation |
US12088828B2 (en) | 2022-07-26 | 2024-09-10 | Tencent America LLC | Method and apparatus for improved warp delta signaling |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010028478A (ja) * | 2008-07-18 | 2010-02-04 | Sharp Corp | 動きベクトル補正装置、動きベクトル補正方法、画像補間装置、テレビジョン受像装置、映像再生装置、制御プログラム、および、コンピュータ読み取り可能な記録媒体 |
CN105681805A (zh) * | 2016-01-19 | 2016-06-15 | 北京大学深圳研究生院 | 视频编码、解码方法及其帧间预测方法和装置 |
WO2018113658A1 (en) * | 2016-12-22 | 2018-06-28 | Mediatek Inc. | Method and apparatus of motion refinement for video coding |
CN108293131A (zh) * | 2015-11-20 | 2018-07-17 | 联发科技股份有限公司 | 用于视频编解码的运动矢量预测或者运动补偿的方法和装置 |
CN108541375A (zh) * | 2016-02-03 | 2018-09-14 | 夏普株式会社 | 运动图像解码装置、运动图像编码装置、以及预测图像生成装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100491530B1 (ko) * | 2002-05-03 | 2005-05-27 | 엘지전자 주식회사 | 모션 벡터 결정 방법 |
US8736767B2 (en) * | 2010-09-29 | 2014-05-27 | Sharp Laboratories Of America, Inc. | Efficient motion vector field estimation |
US12063387B2 (en) * | 2017-01-05 | 2024-08-13 | Hfi Innovation Inc. | Decoder-side motion vector restoration for video coding |
US20180199057A1 (en) | 2017-01-12 | 2018-07-12 | Mediatek Inc. | Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding |
KR102438181B1 (ko) * | 2017-06-09 | 2022-08-30 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
CN117478884A (zh) * | 2017-07-03 | 2024-01-30 | Vid拓展公司 | 用于视频编解码的设备、方法 |
CN108641375A (zh) | 2018-04-29 | 2018-10-12 | 徐菡 | 一种高流动耐磨pp塑料及其制备方法 |
-
2019
- 2019-12-30 BR BR112021007949-1A patent/BR112021007949A2/pt unknown
- 2019-12-30 WO PCT/CN2019/129980 patent/WO2020140874A1/en unknown
- 2019-12-30 CN CN201980085193.6A patent/CN113228673B/zh active Active
- 2019-12-30 JP JP2021520339A patent/JP7200470B2/ja active Active
- 2019-12-30 EP EP19907651.4A patent/EP3854093A4/en active Pending
-
2021
- 2021-05-05 US US17/308,311 patent/US11490096B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010028478A (ja) * | 2008-07-18 | 2010-02-04 | Sharp Corp | 動きベクトル補正装置、動きベクトル補正方法、画像補間装置、テレビジョン受像装置、映像再生装置、制御プログラム、および、コンピュータ読み取り可能な記録媒体 |
CN108293131A (zh) * | 2015-11-20 | 2018-07-17 | 联发科技股份有限公司 | 用于视频编解码的运动矢量预测或者运动补偿的方法和装置 |
CN105681805A (zh) * | 2016-01-19 | 2016-06-15 | 北京大学深圳研究生院 | 视频编码、解码方法及其帧间预测方法和装置 |
CN108541375A (zh) * | 2016-02-03 | 2018-09-14 | 夏普株式会社 | 运动图像解码装置、运动图像编码装置、以及预测图像生成装置 |
WO2018113658A1 (en) * | 2016-12-22 | 2018-06-28 | Mediatek Inc. | Method and apparatus of motion refinement for video coding |
Non-Patent Citations (1)
Title |
---|
Description of SDR, HDR and 360° video coding technology proposal considering mobile application scenario by Samsung, Huawei, GoPro, and HiSilicon;Sri Nitchith Akula 等;《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20180414;第1-116页 * |
Also Published As
Publication number | Publication date |
---|---|
US20210329257A1 (en) | 2021-10-21 |
BR112021007949A2 (pt) | 2021-07-27 |
JP2022515587A (ja) | 2022-02-21 |
EP3854093A4 (en) | 2021-10-27 |
EP3854093A1 (en) | 2021-07-28 |
CN113228673A (zh) | 2021-08-06 |
JP7200470B2 (ja) | 2023-01-10 |
WO2020140874A1 (en) | 2020-07-09 |
US11490096B2 (en) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113228673B (zh) | 用于基于双向预测光流的逐像素校正的解码器和方法 | |
TWI674794B (zh) | 用於視訊編解碼的運動細化的方法以及裝置 | |
US8705611B2 (en) | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program | |
JP7431253B2 (ja) | 動き情報精緻化のサブ領域に基づいた決定 | |
CN111201792B (zh) | 指向分数像素点位置的运动矢量的修正运动矢量 | |
CN113841396B (zh) | 简化的局部照明补偿 | |
CN113796084B (zh) | 运动矢量和预测样点细化 | |
BR122020015442B1 (pt) | Método realizado por um aparelho de codificação de vídeo | |
KR102502614B1 (ko) | 광학 흐름을 사용한 예측 미세조정을 위한 방법 및 장치 | |
CN116320473A (zh) | 光流预测细化的方法和装置 | |
CN111201795A (zh) | 存储访问窗口和用于运动矢量修正的填充 | |
KR102568199B1 (ko) | 디코더 측 모션 벡터 정제를 위한 에러 표면 기반 서브 픽셀 정밀 정제 방법 | |
US20050123039A1 (en) | Motion estimation method for motion picture encoding and recording medium having program recorded thereon to implement the motion estimation method | |
CN114342378A (zh) | 关于利用光流的预测细化的方法和装置 | |
CN113994692A (zh) | 用于利用光流的预测细化的方法和装置 | |
CN113728639A (zh) | 光流预测细化的方法和装置 | |
Zhang et al. | Fast motion estimation in HEVC inter coding: An overview of recent advances | |
CN114979631A (zh) | 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 | |
JP4142600B2 (ja) | 動きベクトル推定方法,動きベクトル推定装置,動きベクトル推定プログラムおよび動きベクトル推定プログラム記録媒体 | |
KR20080107668A (ko) | 블록 기반의 영상 움직임 추정 방법 및 그 장치 |
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 |