CN110809887B - 用于多参考预测的运动矢量修正的方法和装置 - Google Patents

用于多参考预测的运动矢量修正的方法和装置 Download PDF

Info

Publication number
CN110809887B
CN110809887B CN201880044272.8A CN201880044272A CN110809887B CN 110809887 B CN110809887 B CN 110809887B CN 201880044272 A CN201880044272 A CN 201880044272A CN 110809887 B CN110809887 B CN 110809887B
Authority
CN
China
Prior art keywords
motion vector
reference picture
estimate
picture
block
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
Application number
CN201880044272.8A
Other languages
English (en)
Other versions
CN110809887A (zh
Inventor
塞米赫·艾森力克
阿南德·梅赫·科特拉
赵志杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211657738.6A priority Critical patent/CN116248898A/zh
Priority to CN202211657842.5A priority patent/CN116233463A/zh
Publication of CN110809887A publication Critical patent/CN110809887A/zh
Application granted granted Critical
Publication of CN110809887B publication Critical patent/CN110809887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

本发明涉及针对多参考帧间预测在搜索空间中执行运动矢量修正。选择两幅或以上参考图像,其中一幅图像用于运动矢量修正。基于用于运动矢量修正的参考图像的运动矢量的初始估计值,构建所述参考图像中的搜索空间。使用模板匹配对所述第一运动矢量进行修正。另一幅参考图像的第二运动矢量是采用其初始估计值、所述第一运动矢量的初始估计值和修正后的第一运动矢量计算出来的。

Description

用于多参考预测的运动矢量修正的方法和装置
本发明涉及视频编解码领域,尤其涉及一种适用于多参考帧间预测的运动矢量估计。本申请要求于2017年6月30日提交的PCT/EP2017/066342的优先权,其内容通过引用结合在本申请中。
背景技术
当前混合视频编解码器应用的是预测编码。视频序列的图像被细分为像素块,然后对这些块进行编码。整个块不是逐像素地进行编码,而是采用与该块在空间或时间上接近的已编码像素来预测整个块。编码器仅进一步处理该块与该块的预测块之间的差异。所述进一步处理通常包括将块像素变换为变换域中的系数。然后,可以通过量化进一步压缩这些系数,再通过熵编码进一步压缩这些系数以形成码流。该码流还包括使得解码器能够解码编码视频的任何信令信息。例如,该信令可以包括与编码器设置相关的设置,如输入图像的大小、帧率、量化步长指示、应用于图像的块的预测等。
时间预测利用了视频的图像,也称为帧,之间的时间相关性。时间预测也称为帧间预测,原因在于时间预测是一种使用(帧间)不同视频帧之间的依赖关系的预测。相应地,从(一幅或)多幅先前编码的称为参考图像的图像中预测正在编码的块,该块也称为当前块。按照视频序列的显示顺序,参考图像不一定是位于当前块所在的当前图像之前的图像。编码器可以按照与显示顺序不同的编码顺序对图像进行编码。作为当前块的预测块,可以确定参考图像中的同位块。该同位块是参考图像中与当前图像中的当前块处于相同位置的块。这种预测对于静止图像区域是准确的,即图像区域不会从一幅图像移动到另一幅图像。
为了获得将运动考虑在内的预测值,即运动补偿预测值,在确定当前块的预测块时,通常应用运动估计。相应地,当前块是采用参考图像中的块进行预测得到的,该块位于与同位块的位置相距由运动矢量给定的距离。为了使解码器能够确定当前块的相同预测块,可以在码流中发送运动矢量。为了进一步减少为每个块发送运动矢量所造成的信令开销,可以估计运动矢量本身。可以基于空域和/或时域中相邻块的运动矢量进行运动矢量估计。
可以使用一幅参考图像或者通过从两幅或以上参考图像获得的加权预测块来计算当前块的预测块。参考图像可以是相邻图像,即按照显示顺序紧邻当前图像之前的图像和/或紧邻当前图像之后的图像,原因在于相邻图像最有可能与当前图像相似。但是,一般情况下,参考图像也可以是按照显示顺序位于当前图像之前或之后以及码流中位于当前图像之前(解码顺序)的任何其他图像。例如,这可以在视频内容中存在遮挡和/或非线性移动情况下提供优势。因此,也可以在码流中发送参考图像。
帧间预测的一种特殊模式是所谓的双向预测,在双向预测中,两幅参考图像用于生成当前块的预测块。特别地,将两幅参考图像中分别确定的两个预测块组合为当前块的预测信号。相对于单向预测,即仅使用单幅参考图像的预测,双向预测可以为当前块提供更准确的预测。预测更准确,则当前块与预测块(也称为“残差”)的像素之间的差值更小,预测块可以更有效地编码,即压缩为更短的码流。通常,可以使用两幅以上参考图像查找到各自的两个以上参考块来预测当前块,即可以应用多参考帧间预测。因此,术语“多参考预测”包括双向预测以及使用两幅以上参考图像的预测。
为了提供更准确的运动估计,可以通过在像素之间插值样本来增强参考图像的分辨率。可以通过最近像素的加权平均来进行分数像素插值(Fractional pixelinterpolation)。在半像素分辨率的情况下,例如,通常使用双线性插值。将其他分数像素(Fractional pixel)计算为最近像素的平均值,该平均值是由最近像素各自与正在预测像素之间的距离的倒数加权得到。
运动矢量估计是计算复杂度较高的任务,在该任务中,计算当前块与参考图像中的候选运动矢量所指向的相应预测块之间的相似性。为了降低复杂度,通常通过将候选运动矢量限制在一定的搜索空间内来减少候选运动矢量的数量。例如,搜索空间可以由参考图像中与当前图像中当前块的位置所对应的位置周围的像素数量和/或位置定义。另一方面,候选运动矢量可以由相邻块的运动矢量所组成的候选运动矢量列表定义。
运动矢量通常至少有一部分是在编码器侧确定的,并在编码码流中发送给解码器。然而,运动矢量也可以在解码器处推导出。在这种情况下,当前块在解码器处不可用,也不能用于计算与参考图像中的候选运动矢量所指向的块之间的相似性。因此,使用由已解码块的像素所构成的模板而不是当前块。例如,可以使用与当前块相邻的已解码像素(位于当前图像或参考图像中)。这种运动估计提供了减少信令的优点:编码器处和解码器处采用相同方式推导出运动矢量,因此无需信令。另一方面,这种运动估计的准确性可以更低。
为了平衡准确性和信令开销,可以将运动矢量估计分为两个步骤:运动矢量推导和运动矢量修正。例如,运动矢量推导可以包括从候选列表中选择运动矢量。例如,可以通过搜索空间内进行搜索来进一步修正所选择的运动矢量。搜索空间内进行的搜索是基于计算每个候选运动矢量的成本函数的,即候选运动矢量所指向的块的每个候选位置。
X.Chen、J.An和J.Zheng的文件JVET-D0029《基于双向模板匹配的解码器侧的运动矢量修正》(该文件可在http://phenix.it-sudparis.eu/jvet/上找到)示出了运动矢量修正,其中先查找到整数像素分辨率的第一运动矢量,再通过在第一运动矢量周围的搜索空间内以半像素分辨率进行搜索来进一步修正第一运动矢量。
发明内容
当应用多参考预测时,需要确定多幅参考图像中的运动矢量。即使在第一阶段发送了所述运动矢量使得解码器无需进行进一步搜索,运动矢量修正仍然需要在对应搜索空间的运动矢量中进行额外搜索。这可能是一个复杂的任务,需要计算资源和内存资源。
本发明提供了一种在第一参考图像中确定第一运动矢量和在第二参考图像中确定第二运动矢量的技术,从而可以降低复杂度。首先,粗略估计所述第一运动矢量和所述第二运动矢量。然后,通过在所述第一运动矢量的粗略估计值所给定的搜索空间内进行搜索,对所述第一运动矢量进行修正。基于所述第二运动矢量的粗略估计值以及修正后的第一运动矢量进行计算,确定所述第二运动矢量。所述第一运动矢量和所述第二运动矢量可以应用于当前图像中当前块的帧间预测,用于编码器和/或解码器侧的解码器。
根据第一方面,本发明涉及一种用于在第一参考图像中确定第一运动矢量和在第二参考图像中确定第二运动矢量的装置,所述第一运动矢量和所述第二运动矢量应用于当前图像中图像块的帧间预测,所述装置包括运动矢量修正单元和运动矢量计算单元。所述运动矢量修正单元用于获取所述第一运动矢量的估计值。基于所述第一运动矢量的估计值指定了搜索空间。所述运动矢量修正单元在所述搜索空间内进行搜索,以确定所述第一运动矢量。所述运动矢量计算单元获取所述第二运动矢量的估计值。所述运动矢量计算单元基于所述第二运动矢量的估计值和所述第一运动矢量计算所述第二运动矢量。
因此,在仍然保持修正所述第一运动矢量所带来的准确性以及基于修正后的第一运动矢量的估计所述第二运动矢量的修正量的同时,可以以更低的复杂度进行运动矢量确定。
在根据第一方面所述的装置的一种可能的实现方式中,通过将所述第一运动矢量与所述第一运动矢量的估计值之间的差值的函数与所述第二运动矢量的估计值相加,计算所述第二运动矢量。所述函数可以包括缩放和/或剪切。当确定缩放参数时,其取值可以取决于所述第一参考图像和所述第二参考图像各自与所述当前图像的距离之间的比值。
作为对所述第一运动矢量执行的修正的函数,所述第二运动矢量的计算为一种低复杂度估计。此外,通过进一步修改(例如,通过根据各参考图像之间的距离缩放)所述第二运动矢量,使得估计可以变得更加准确。
有利地,所述装置还包含参考图像选择单元,用于获取参考图像并选择其中哪一幅参考图像为所述第一参考图像和所述第二参考图像。在该选择之后,所述参考图像选择单元确定所述第一参考图像还是所述第二参考图像用于运动矢量修正。参考图像列表将待包含在码流中的索引与参考图像相对于所述当前图像的位置相关联。所述参考图像选择单元用于基于是否通过在所述预定义参考图像列表中的索引在码流中引用了所述第一参考图像或所述第二参考图像来选择所述第一参考图像和所述第二参考图像。
换句话说,所述参考图像选择单元用于基于所述第一图像或第二图像是否被与至少两个参考图像列表中的预定义参考图像列表相关的索引在码流中引用,来选择所述第一图像或所述第二图像,所述码流中也包括所述视频的经编码的图像块,其中,参考图像列表将索引与参考图像相对于所述当前图像的位置相关联。
如果所述两幅参考图像被相同的预定义参考图像列表中的索引在所述码流中引用,则所述参考图像选择单元可以选择用于运动矢量修正的参考图像为所述参考图像列表中位置最高的图像。
或者,可以选择用于运动矢量修正的参考图像为所述两幅图像中时间层最低的图像。
可以选择用于运动矢量修正的参考图像为基量化值最小的图像或者与所述当前图像距离最短的图像。
作为另一种方法,可以选择用于运动矢量修正的参考图像,使得指向用于运动矢量修正的参考图像的运动矢量的估计值的大小小于另一运动矢量的估计值的大小。
所述装置还可以包括运动矢量确定单元,用于确定所述第一运动矢量的估计值和所述第二运动矢量的估计值。通过基于模板与运动矢量候选所涉及的图像的相应的部分区域之间的相似性从一组运动矢量候选中选择所述第一运动矢量的估计值和所述第二运动矢量的估计值,执行上述确定。
一种用于将多幅图像编码成码流的视频编码器,包括帧间预测单元、码流形成器和重建单元。所述帧间预测单元包括用于确定所述第一运动矢量和所述第二运动矢量的装置以及预测单元。所述预测单元根据所述第一运动矢量所涉及的所述第一参考图像的部分区域和所述第二运动矢量所涉及的所述第二参考图像的部分区域,确定所述预测块。所述码流形成器将所述第一运动矢量的估计值和所述第二运动矢量的估计值包括在所述码流中。所述重建单元根据所述预测块重建所述当前块,并将所述重建块存储在存储器中。
一种用于从码流中解码多幅图像的视频解码器,包括帧间预测单元、码流解析器和重建单元。所述帧间预测单元包括用于确定所述第一运动矢量和所述第二运动矢量的装置以及预测单元。所述预测单元根据所述第一运动矢量所涉及的所述第一参考图像的部分区域和所述第二运动矢量所涉及的所述第二参考图像的部分区域,确定所述预测块。所述码流解析器从所述码流获取所述第一运动矢量的估计值和所述第二运动矢量的估计值。所述重建单元根据所述预测块重建所述当前块。
所述方法包括运动矢量修正和运动矢量计算。获取第一运动矢量的估计值。基于所述第一运动矢量的估计值指定了搜索空间。在所述搜索空间内进行搜索,以确定所述第一运动矢量。获取第二运动矢量的估计值。基于所述第二运动矢量的估计值和所述第一运动矢量,计算所述第二运动矢量。通过将所述第一运动矢量与所述第一运动矢量的估计值之间的差值的函数与所述第二运动矢量的估计值相加,计算所述第二运动矢量。所述函数包括缩放和/或剪切。缩放参数的取值取决于所述第一参考图像和所述第二参考图像各自与所述当前图像的距离之间的比值。
所述方法还包括参考图像选择,以获取参考图像并选择其中哪一幅参考图像为所述第一参考图像和所述第二参考图像。在该选择之后,所述参考图像选择确定所述第一参考图像还是所述第二参考图像用于运动矢量修正。参考图像列表将待包含在码流中的索引与参考图像相对于所述当前图像的位置相关联。执行所述参考图像选择,从而基于是否通过在所述预定义参考图像列表中的索引在码流中引用了所述第一参考图像或所述第二参考图像来选择所述第一参考图像和所述第二参考图像。如果通过相同预定义参考图像列表中的索引在所述码流中引用了所述两幅参考图像,则选择用于运动矢量修正的参考图像为所述参考图像列表中位置最高的图像。或者,可以选择用于运动矢量修正的参考图像为所述两幅图像中时间层最低的图像。可以选择用于运动矢量修正的参考图像为基量化值最小的图像或者与所述当前图像距离最短的图像。作为另一种方法,可以选择用于运动矢量修正的参考图像,使得指向用于运动矢量修正的参考图像的运动矢量的估计值的大小小于另一运动矢量的估计值的大小。
所述方法还可以确定所述第一运动矢量的估计值和所述第二运动矢量的估计值。通过基于模板与运动矢量候选所涉及的图像的相应的部分区域之间的相似性从一组运动矢量候选中选择所述第一运动矢量的估计值和所述第二运动矢量的估计值,执行上述确定。
一种用于将多幅图像编码成码流的视频编码方法,包括执行帧间预测、码流形成和块重建。所述帧间预测包括确定所述第一运动矢量和所述第二运动矢量以及块预测。所述预测包括根据所述第一运动矢量所涉及的所述第一参考图像的部分区域和所述第二运动矢量所涉及的所述第二参考图像的部分区域,确定所述预测块。所述码流形成将所述第一运动矢量的估计值和所述第二运动矢量的估计值包括在所述码流中。所述重建包括根据所述预测块重建所述当前块,并将所述重建块存储在存储器中。
一种用于从码流中解码多幅图像的视频解码方法,包括执行帧间预测、码流解析和块重建。所述帧间预测包括确定所述第一运动矢量和所述第二运动矢量以及块预测。所述预测根据所述第一运动矢量所涉及的所述第一参考图像的部分区域和所述第二运动矢量所涉及的所述第二参考图像的部分区域,确定所述预测块。
所述码流解析从所述码流获取所述第一运动矢量的估计值和所述第二运动矢量的估计值。所述重建包括根据所述预测块重建所述当前块。
本发明可以在提供相似图像质量的同时,减少运动矢量修正过程中的搜索候选的数量,不会对译码(coding)性能产生任何影响。这通过仅对当前块的一个参考图像的运动矢量修正进行搜索而实现的,而同一个当前块的另一个参考图像的另一个运动矢量是基于该修正后的运动矢量计算出来的。
附图说明
下文将参考以下附图详细描述示例实施例:
图1是可以应用运动矢量推导和修正的编码器的示例结构的框图;
图2是可以应用运动矢量推导和修正的解码器的示例结构的框图;
图3是对第一运动矢量进行运动矢量修正的示意图;
图4是基于修正后的第一运动矢量对第二运动矢量进行运动矢量修正的示意图;
图5是一种运动矢量修正装置的框图;
图6是搜索空间各种配置的示意图;
图7是根据本实施例的一种用于确定运动矢量的方法的示意图;
图8是根据本实施例的一种用于确定运动矢量和执行帧内预测的帧间预测单元的框图。
具体实施方式
本发明涉及针对多参考预测确定运动矢量。运动矢量确定可以用于视频编码和解码时的运动估计。下文介绍了可以应用本发明的搜索空间构造实现运动估计的示例性编码器和解码器。
图1示出了编码器100,该编码器100包括用于接收视频流的帧或图像的输入块的输入端和用于生成编码视频码流的输出端。本发明中的术语“帧”用作图像的同义词。然而,需要说明的是,本发明也适用于应用隔行的领域。一般来说,一幅图像包括m乘n个像素。这对应于图像样本,并且可以包括一个或多个颜色分量。为了简单起见,以下描述是指像素即亮度样本。然而,需要说明的是,本发明的运动矢量搜索可应用于包括色度的任何颜色分量或诸如RGB等搜索空间的分量。另一方面,仅对一个分量进行运动矢量估计并将确定的运动矢量应用于多个(或全部)分量可能是有益的。
待编码输入块不一定具有相同的大小。一幅图像可以包括不同大小的块,不同图像的块栅格也可以不同。
在一种解释性实现中,编码器100用于将预测、变换、量化和熵编码应用于视频流。该变换、量化和熵编码分别由变换单元101、量化单元102和熵编码单元103执行,以生成编码视频码流作为输出。
视频流可以包括多个帧,其中,将每个帧划分为一定大小的块,而这些块是帧内或帧间编码的。例如,视频流的第一个帧的块由帧内预测单元109进行帧内编码。仅使用同一帧内的信息对帧内编码帧进行编码,使得该帧可以进行独立解码,并且可以在码流中提供用于随机访问的入口点。视频流的其它帧的块可以由帧间预测单元110进行帧间编码:来自先前编码帧(参考图像)的信息用于减少时间冗余,使得帧间编码帧的每个块均由参考帧中的块预测得到。模式选择单元108用于选择帧块是由帧内预测单元109还是帧间预测单元110处理。该块也控制帧内或帧间预测的参数。为了实现图像信息的刷新,可以在帧间编码帧内提供帧内编码块。此外,可以将仅包含帧内编码块的帧内编码帧均匀地插入视频序列中,以便提供解码的入口点,即解码器可以不采用来自先前编码帧的信息而开始解码的点。
帧内预测单元109为块预测单元。为了进行空间或时间预测,逆量化单元104和逆变换单元105还可以处理编码块。在对块进行重建后,环路滤波单元106用于进一步提高解码图像的质量。然后,过滤块形成随后存储在帧缓冲器107中的参考帧。编码器侧的这种解码环路(解码器)提供了以下优点:生成与解码器侧重建的参考图像相同的参考帧。相应地,编码器和解码器侧以对应的方式工作。这里,术语“重建”是指通过将预测块与解码后的残差块相加获得重建块。
帧间预测单元110接收待帧间编码的当前帧或图像以及帧缓冲器107中一个或多个参考帧或图像的块作为输入。帧间预测单元110应用运动估计和运动补偿。运动估计用于基于某个成本函数获得运动矢量和参考帧。然后,运动补偿根据参考帧的参考块到当前帧的平移,即通过运动矢量,来描述当前帧的当前块。帧间预测单元110输出当前块的预测块,其中,预测块最小化成本函数。例如,成本函数可以是待编码当前块与其预测块之间的差值,即成本函数最小化残差块。例如,基于计算当前块与候选参考图像中的候选块的所有像素(样本)之间的绝对差异和(sum of absolute difference,简称SAD)最小化残差块。但是,一般情况下,可以应用任何其他相似性度量,例如均方差(mean square error,简称MSE)或结构相似性(structural similarity,简称SSIM)度量。
然而,成本函数也可以是编码这种帧间编码块和/或这种编码造成的失真所必需的比特的数量。因此,率失真优化流程可以用于决定运动矢量选择和/或在一般情况下决定编码参数,例如,对块使用帧间预测还是帧内预测以及使用哪些设置。
帧内预测单元109接收当前待帧内编码的帧或图像的块以及来自当前帧的已重建区域的一个或若干参考样本作为输入。然后,帧内预测根据当前帧的参考样本的函数描述当前帧的当前块的像素。帧内预测单元109输出当前块的预测块,其中,预测块有利地将待编码当前块与其预测块之间的差值最小化,即最小化残差块。例如,可以基于率失真优化流程最小化残差块。特别地,获得预测块作为参考样本的方向插值。所述方向可以通过率失真优化和/或通过计算上文提及的与帧内预测相关的相似性度量来确定。
随后,变换单元101变换当前块与预测块之间的差值,即残差块。变换系数由量化单元102量化,并由熵编码单元103编码。由此生成的编码视频码流包括帧内编码块和帧间编码块以及对应的信令(例如模式指示、运动矢量的指示和/或帧内预测方向)。变换单元101可以应用线性变换,例如傅立叶或离散余弦变换(discrete fourier transform/fastFourier transformation或discrete cosine transform,简称DFT/FFT或DCT)。这种向空间频域的变换提供了以下优点:所得的系数通常在较低的频率中具有较高的值。因此,在经过有效的系数扫描(如Z形扫描(zig-zag))和量化之后,所得的值的序列通常在开头具有一些较大的值,并且以一串零结尾。这使得编码更加有效。量化单元102通过降低系数值的分辨率来执行实际的有损压缩。然后,熵编码单元103将二进制码字分配给系数值,以产生码流。熵编码单元103还对信令信息进行编码(图1中未示出)。
图2示出了视频解码器200。特别地,视频解码器200包括参考图像缓冲器207和帧内预测单元209,帧内预测单元209是块预测单元。参考图像缓冲器207用于存储从编码视频码流中重构的至少一个参考帧,其中,参考帧与编码视频码流的当前帧(当前解码帧)不同。帧内预测单元209用于生成预测块,预测块为待解码块的估计值。帧内预测单元209用于基于从参考图像缓冲器207获得的参考样本生成该预测块。
解码器200用于解码视频编码器100生成的编码视频码流。优选地,解码器200和编码器100均生成各自待编码/解码块的相同预测块。参考图像缓冲器207和帧内预测单元209的特征与图1中参考图像缓冲器107和帧内预测单元109的特征类似。
视频解码器200还包括视频编码器100中存在的其它单元,例如,逆量化单元204、逆变换单元205和环路滤波单元206,分别对应视频编码器100的逆量化单元104、逆变换单元105和环路滤波单元106。
熵解码单元203用于对接收到的编码视频码流进行解码,并对应地获得量化后的残差变换系数和信令信息。将量化后的残差变换系数传送到逆量化单元204和逆变换单元205,以产生残差块。将残差块与预测块相加,并且将相加过程传送到环路滤波单元206,以获得解码视频。解码视频的帧可以存储在参考图像缓冲器207中,并作为帧间预测的参考帧。
通常,图1和图2中的帧内预测单元109和209可以使用已编码区域中的参考样本生成需要编码或需要解码的块的预测信号。
熵解码单元203接收编码码流作为其输入。一般情况下,首先解析码流,即从码流中提取信令参数和残差。通常,码流的语法和语义由标准定义,使得编码器和解码器可以以可互操作的方式工作。如上述背景部分所述,编码码流不是仅包括预测残差。在运动补偿预测的情况下,运动矢量指示也在码流中进行编码并在解码器处从码流中解析得到。运动矢量指示可以通过提供运动矢量的参考图像以及运动矢量坐标给定。到目前为止,考虑了译码完整的运动矢量。然而,也可以仅对当前运动矢量与码流中的前一运动矢量之间的差值进行编码。该方法使得相邻块的运动矢量之间的冗余可以得到利用。
为了有效地编码参考图像,H.265编解码器(ITU-T,H265,系列H:音视频和多媒体系统:高效视频编码)提供了一个参考图像列表,将各参考帧分配给列表索引。然后,通过在码流中包含对应的分配列表索引,在码流中发送参考帧。这种列表可以在标准中定义,也可以在视频或一组帧的开头发送。需要说明的是,在H.265中,定义了两个参考图像列表,称为L0和L1。然后,通过指示列表(L0或L1)以及指示列表中与期望参考图像相关联的索引,在码流中通信号发送参考图像。提供两个或以上列表可以具有更好压缩的优点。例如,L0可用于单向帧间预测切片和双向帧间预测切片,而L1仅可用于双向帧间预测切片。但是,一般来说,本发明不限于列表L0和L1的任何内容。
列表L0和L1可以在标准中定义并固定。然而,可以通过在视频序列的开头发送这两个列表使得编码/解码更加灵活。相应地,编码器可以使用根据索引排序的特定参考图像对列表L0和L1进行配置。列表L0和L1可以具有相同的固定大小。一般可以有两个以上的列表。可以直接由参考图像中的坐标发送运动矢量。或者,如H.265中规定,可以构造候选运动矢量的列表,并且可以发送列表中与特定运动矢量相关联的索引。
当前块的运动矢量通常与当前图像或先前经编码的图像中相邻块的运动矢量相关。这是因为相邻块很可能与具有相似运动的相同运动物体相对应,并且物体的运动不太可能随着时间而突然变化。因此,将相邻块中的运动矢量作为预测值减小了发送的运动矢量差值的大小。MVP通常是从空间相邻块或同位图像中时间相邻块中已解码的运动矢量中推导出的。在In H.264/AVC中,这是通过对三个空间相邻运动矢量按分量逐个作出中值来完成的。使用该方法不需要预测值的信令。仅在H.264/AVC的所谓时间直接模式中考虑来自同位图像的时间MVP。H.264/AVC的直接模式也用于推导除运动矢量之外的其他运动数据。因此,直接模式更多地涉及HEVC中的块合并概念。在HEVC中,隐式地推导MVP的方法被一种称为运动矢量竞争的技术所代替,该技术明确地指示MVP列表的哪一个MVP用于运动矢量推导。HEVC中的可变译码四叉树块结构可使得一个块具有若干个相邻块,这些相邻块的运动矢量为潜在MVP候选。以左相邻块为例。在最坏情况下,当不再进一步拆分64x64亮度编码树块并且左相邻块被拆分到最大深度时,64x64亮度预测块可能在左侧有16个4x4亮度预测块。
为了考虑这种灵活的块结构,引入了高级运动矢量预测(advanced motionvector prediction,AMVP)来修改运动矢量竞争。在HEVC的发展过程中,最初的AMVP设计得到了显着简化,以在译码效率和易于实现的设计之间取得良好的平衡。AMVP的初始设计包括来自三类不同预测值的五个MVP:来自空间相邻块的三个运动矢量、三个空间预测值的中值以及来自同位、时间相邻块的缩放运动矢量。此外,通过重新排序将最可能的运动预测值置于第一个位置,并通过删除冗余候选以确保信令开销最小,从而对预测值列表进行修改。AMVP候选列表构造的最终设计包括以下两个MVP候选:a)从五个空间相邻块推导出的最多两个空间候选MVP;b)当两个空间候选MVP都不可用或相同时,从两个时间同位块推导出的一个时间候选MVP;c)当空间候选、时间候选或两个候选都不可用时的零个运动矢量。关于运动矢量确定的细节可以在V.Sze等人(编写)的《高效视频编码(High Efficiency VideoCodding,简称HEVC):算法和架构》(Springer,2014年)一书中找到,尤其是在第5章中,通过引用并入本文。
为了进一步改善运动矢量估计而又不增加信令开销,进一步修正编码器侧推导出的并在码流中提供的运动矢量可能是有益的。可以在解码器处执行运动矢量修正,而无需编码器的帮助。在其解码器环路中,编码器可以应用相同的修正以获得对应的参考图像。修正是通过确定模板、确定搜索空间以及在搜索空间中找到与模板最匹配的参考图像部分来进行的。最佳匹配部分的位置确定了最佳运动矢量,最佳运动矢量则用于获得当前块的预测值,即正在重建的当前块。
图3示出了搜索空间(搜索区域)310,搜索空间310包括参考图像的整数像素位置(全点)和分数像素位置(空点)。在该示例中,分数像素位置为半像素位置。如上所述,可以通过诸如双线性插值的插值从整数(全像素)位置获得分数像素位置。
在当前块的双向预测中,将使用列表L0中的第一运动矢量和列表L1中的第二运动矢量得到的两个预测块合并为单个预测信号,该单个预测信号能够比单向预测更好适应原始信号,使得残差信息更少,压缩更有效。图3还示出了当前图像中的当前块320。在解码器处,由于当前块因运动矢量修正正在被解码而不可用,所以使用了模板,该模板是当前块的估计值,并且是基于已经处理过(即,在编码器侧编码和在解码器侧解码)的图像部分构造的。
例如,可以基于属于当前图像的已经解码(即,在当前块之前解码的)的样本来构造模板。另外或替代地,这些样本可以属于任何先前解码的参考图像。作为一个示例,模板构造中使用的样本可以属于在当前图像之前解码并按照显示顺序位于当前图像之前的参考图像。或者,这些样本可以属于在当前图像之前解码并按照显示顺序位于当前图像之后的参考图像。最后,可以基于来自两幅不同参考图像的样本的组合来构建模板。本领域技术人员显而易见的是,可以使用不同的方法获得模板,使得构造的模板可以用来估计当前块。
首先,如图3所示,在解码器200处接收第一运动矢量的估计值MV0和第二运动矢量的估计值MV1作为输入。在编码器侧100,可以通过块匹配和/或通过搜索与当前块相邻的块(位于同一图像或相邻图像中)的运动矢量所组成的候选列表(例如,合并列表)来获得运动矢量估计值MV0和MV1。然后,有利地将MV0和MV1在码流中发送到解码器侧。然而,需要说明的是,通常也可以通过模板匹配来执行编码器处的第一确定阶段,这提供了降低信令开销的优势。
在解码器侧200,有利地基于码流中的信息获得运动矢量MV0和MV1。MV0和MV1直接发送或有区别地发送,和/或发送了运动矢量列表(合并列表)中的索引。但是,本发明不限于码流中的信令运动矢量。相反,可以通过第一阶段中已有的模板匹配来确定运动矢量,这与编码器的操作相对应。可以基于与第二(修正)阶段的搜索空间不同的搜索空间进行第一阶段的模板匹配(运动矢量推导)。特别地,可以对分辨率较高(即,搜索位置之间的距离较短)的搜索空间进行修正。
MV0和MV1分别指向的两幅参考图像的指示也会提供给解码器。作为先前处理的结果,即相应的编码和解码,参考图像存储在编码器侧和解码器侧的参考图像缓冲器中。通过搜索选择这些参考图像中的一幅参考图像用于运动矢量修正。用于确定运动矢量的装置的参考图像选择单元用于选择MV0所指向的第一参考图像和MV1所指向的第二参考图像。在该选择之后,参考图像选择单元确定第一参考图像还是第二参考图像用于执行运动矢量修正。在图3中,选择运动矢量MV0所指向的第一参考图像进行搜索。为了进行运动矢量修正,在运动矢量MV0所指向的候选位置周围定义第一参考图像中的搜索区域310。通过在搜索空间内执行模板匹配并确定绝对差异和(sum of absolute difference,简称SAD)等相似性度量来分析搜索区域310内的候选搜索空间位置,以找到与模板块最相似的块。如上所述,在一种实现方式中,基于两幅不同的其各自运动矢量为MV0和MV1的参考图像中的样本的组合构建模板。执行模板匹配,以基于搜索区域310中与模板最相似的点找到块。或者,在另一种实现方式中,构建模板,以找到基于L0中的MV0生成的预测块P0与基于L1中的MV1生成的预测块P1之间的相似性。为了对MV0进行修正,模板匹配包括基于搜索区域310中的点找到块,该点由P0和P1之间的相似性度量(例如SAD)确定。搜索空间310中的位置表示模板的左上角匹配的位置。如上所述,左上角仅仅是一种约定,搜索空间中的任意点,例如中心点330,通常可用于表示匹配位置。
将SAD值最低的候选位置确定为运动矢量MV0”。在图3中,MV0”所指向的位置为半像素位置,该位置与初始估计值MV0在垂直方向上相差1.5个像素,而在水平方向相同。
根据本发明,对于双向预测或多参考预测,通过基于当前块的另一修正后的运动矢量而不是通过模板匹配进行计算,从而对当前块的至少一个运动矢量进行修正。图4示出了这种修正。特别地,基于运动矢量估计值MV1以及MV0”-MV0的函数而不是执行第二模板匹配计算运动矢量MV1”。在图4的示例中,结合上文中图3所述,描述了确定和修正第一运动矢量MV0”。此外,通过从第二运动矢量MV1”的估计值中减去MV0”和MV0的差值来计算运动矢量MV1”。
这种方法利用了以下事实:视频序列中的大多数运动属于“平移运动”的范畴。在平移运动中,物体以恒定速度(至少在采样时间彼此接近的帧之间)移动。这意味着物体沿x-和-y方向以相同的像素距离在连续帧中移动(如果时间采样周期不随时间变化)。本发明在一定程度上利用了平移运动的原理。
在上述示例中,通过模板匹配修正第一运动矢量MV0”,而通过计算则修正了第二运动矢量。但是,根据本发明,还可以执行选择过程,从而设置哪些运动矢量通过模板匹配进行修正以及哪些运动矢量通过计算进行确定。图5示出了运动矢量修正器500的一个示例的框图。
运动矢量修正器500可以包括在如图8所示的用于确定运动矢量的装置810中。该装置可以包括在可代替图1所示的帧间预测单元110的帧间预测单元800和/或可以包括在如图2所示的帧间预测单元210中。
更具体地,提供了一种在第一参考图像中确定第一运动矢量和在第二参考图像中确定第二运动矢量的装置。第一运动矢量和第二运动矢量可应用于当前图像中图像块的帧间预测。
装置包括如图5中详细示出的运动矢量修正器500,该运动矢量修正器500还包括运动矢量修正单元530,用于获取第一运动矢量MV0”的估计值MV0,并通过在基于估计值MV0所指定的搜索空间内进行搜索来确定第一运动矢量MV0”。该装置还包括运动矢量计算单元550,用于获取第二运动矢量MV1”的估计值MV1,并基于第二运动矢量MV1”的估计值MV1和第一运动矢量MV0”计算第二运动矢量MV1”。
在该示例中,该装置包括:第一分支,其包括运动矢量修正单元530和运动矢量计算单元550;第二分支,其包括运动矢量修正单元540和运动矢量计算单元560;以及开关520,其用于打开这两个分支之一以及关闭另一个分支。第二分支与第一分支类似,其与第一分支主要区别在于,通过将MV1作为第一运动矢量的估计值并将MV0作为第二运动矢量的估计值进行处理,输出第一运动矢量MV1”和第二运动矢量MV0”。
更具体地,运动矢量修正单元540用于获取第一运动矢量MV1”的估计值MV1,并通过在基于估计值MV1所指定的搜索空间内进行搜索来确定第一运动矢量MV1”。该装置还包括运动矢量计算单元560,用于获取第二运动矢量MV0”的估计值MV0,并基于第二运动矢量MV0”的估计值MV0和第一运动矢量MV1”计算第二运动矢量MV0”。
图5示出了本发明在双向预测中的应用,在双向预测中,确定的两幅参考图像中分别有两个运动矢量,即运动矢量MV0”和MV1”。相应地,也只需取MV0和MV1中的一个进行模板匹配,并使用MV1和MV0另一个进行计算,即可通过模板匹配选择用于修正的图像。
解码器运动矢量修正(decoder motion vector refinement,简称DMVR)的过程由装置500执行。运动矢量修正单元530或540(取决于模板搜索针对运动矢量估计值MV0和MV1中的哪一个执行的)在输入端505上从运动矢量估计器820接收运动矢量估计值MV0或MV1,并在MV0或MV1周围设置搜索区域310。图3和图4中的搜索区域的大小为3x3个整数像素中进行半像素插值到7x7,因此总共有49个位置。一般而言,搜索区域的形式和/或大小可以不同,本发明与搜索区域的大小和形状无关。搜索区域可以具有预定或预定义的大小。换言之,搜索空间的形状和大小可以在标准中固定和规定。或者,用户可以在编码器设置内手动和/或根据视频的内容自动在若干种可能的形式和大小中选择一种形式和大小。
搜索空间的大小和形状的一些示例如图6所示。全三角形标记了搜索空间的中心像素,全圆标记了其余的搜索空间位置。需要说明的是,搜索空间还可以通过分数(半像素、四分之一像素等)插值进行扩展。本发明一般不限于任何特定的像素图案。
对于搜索区域内的每个位置或分数位置,使用与当前块接近的模板进行模板匹配,从而为每个搜索空间坐标提供SAD值。需要说明的是,这里的整数像素分辨率和半像素分辨率描述了搜索空间的分辨率,即搜索到的位置相对于输入到进程的未修正运动矢量的位移。这样,搜索坐标不一定与图像平面上的实际像素坐标重合。换言之,搜索空间的整数像素(样本)分辨率不一定意味着搜索空间位置位于参考图像的整数像素上。搜索空间的整数位置可以与参考图像的分数像素点重合,尤其是如果初始运动矢量MV0、MV1指向参考图像内的分数像素时。
比较搜索区域中的位置的SAD值,从而确定SAD值最小的位置。将SAD值最小的位置确定为运动矢量MV0”。如背景部分所述,SAD仅仅是一个示例,通常可以使用任何其他度量,例如MSE、SSIM、相关性系数等。将确定的第一运动矢量MV0”以及第二运动矢量的估计值MV1传递至运动矢量计算单元550,其中,通过计算确定(修正)运动矢量MV1”。
作为第一种示例方法,结合图4如上所述,运动矢量计算单元550用于通过将第二运动矢量的估计值与第一运动矢量与第一运动矢量的估计值之间的差值或第一运动矢量与第一运动矢量的估计值之间的差值的函数相加,计算第二运动矢量。
与差值相加可计算如下:
MV1”=MV1+(MV0–MV0”) (等式1)
在图4所示的情况下,当两幅参考图像其中一幅参考图像位于当前图像之前而另一幅参考图像位于当前图像之后时,该等式1(加上了差值MV0”–MV0的负值)有效。从图4可以看出,为了外推正则运动(regular motion),将当前运动矢量与之前图像中的第一运动矢量之间的差值以反向符号(reversed sign)的形式投影到当前图像之后的图像。
如果MV0和MV1的两个参考帧都位于当前图像之后或之前,则直接加上差值,而不改变符号:
MV1”=MV1+(MV0”–MV0) (等式2)
上述提及的前/后位置是按照显示顺序排列的。视频中图像的显示顺序可以与编码/解码顺序不同,即与经编码的图像嵌入码流的顺序不同。图像的显示顺序可以由图像顺序编号(picture order count,简称POC)给定。特别地,在作为图像或其部分区域的每一个切片(slice)的切片头(slice header)中发送H.265/HEVC中的POC。
用于确定两幅参考图像其中一幅参考图像在当前图像之前而另一幅参考图像在当前图像之后的条件可以采用如下参数POC实现:
(POCi–POC0)*(POCi–POC1)<0 (等式3)
其中,POCi为当前图像的显示顺序(序号),POC0为第一参考图像的显示顺序,POC1为第二参考图像的显示顺序。如果等式3中的条件为真,则第一参考图像位于当前图像之前,第二参考图像位于当前图像之后,反之亦然。另一方面,如果等式3的条件不为真,则两幅参考图像都在当前图像之前或之后。但是,请注意,该条件可以以任何能够检查两个差值表达式(POCi-POC0)和(POCi-POC1)的符号是否相同的方式实现。以上等式3仅是以乘法“*”为例,原因在于实现相对简单。
在其中一幅参考图像位于当前图像之前而另一幅参考图像位于当前图像之后的双向预测的情况下(等式3中的条件为真),与差值的函数相加可以计算如下:
MV1”=MV1–f(MV0”–MV0) (等式4)
同样地,如果按照显示顺序两幅参考图像都在当前图像之前或之后(等式3中的条件为假),则该计算将加上差值,而不会改变符号:
MV1”=MV1+f(MV0”–MV0) (等式5)
例如,函数可以包括缩放和/或剪切。
如果函数为缩放,则运动矢量的计算可以如下:
MV1”=MV1–k*(MV0”–MV0)=MV1+k*(MV0–MV0”) (等式6)
其中,“*”表示乘法(缩放),k为缩放参数。若k=1,则得到等式1。对于固定的(预定义的)k,等式6适用于其中一幅参考图像位于当前图像之前而另一幅参考图像位于当前图像之后的情况。对于两幅参考图像都位于当前图像之前或之后的情况,需要改变符号:
MV1”=MV1+k*(MV0”–MV0)=MV1–k*(MV0–MV0”) (等式7)
根据一个实施例,缩放参数的值取决于第一图像和第二图像各自与当前图像的距离之间的比值。因此,k的值不是预定义的也不是固定的,但是可以随着定义了运动矢量的参考图像而变化。例如,缩放因子k可以给出如下:
k=–(POCi–POC1)/(POCi–POC0) (等式8)
需要说明的是,上述等式8已经考虑到符号的变化,原因在于缩放参数会取决于两幅参考图像按照显示顺序都位于当前图像的同一侧(之前还是之后)还是在当前图像的不同侧而改变符号。
尽管考虑第一参考图像和第二参考图像各自与当前图像的距离可能是有益的,但是即使这些距离彼此不同,仍然可以在等式1和2中设置k=1。这种做法更简单,并且修正后的运动矢量的质量可能仍然比不应用修正要高得多。
缩放操作完成后,可以进行四舍五入或剪切操作。这里,四舍五入是指提供一个预定义准确性最接近输入值的整数或实数。剪切是指从输入值中去除精度高于预定义准确性的数字。在典型计算系统中应用的定点运算中,这可能特别有益。
由于仅对两幅参考图像其中一幅参考图像进行运动矢量修正,因此用于模板匹配的搜索空间减小了50%。
在对当前图像中的当前块进行上述处理之后,在输出端580提供两幅参考图像及其各自关联的运动矢量MV0”和MV1”。这些运动矢量用于确定当前块的预测值,例如,取运动矢量MV0”和MV1”所指向的与当前块的大小和形状相对应的参考图像各自的部分而获得的两个预测值进行平均。这由预测单元890执行。
一般而言,预测单元890通过将第一运动矢量MV0”所涉及的第一参考图像的部分区域和第二运动矢量MV1”所涉及的第二参考图像的部分区域进行合并,确定预测块。
所合并的预测信号能够比单向预测更好适应原始信号,使得残差信息更少,压缩更有效。
如前一段所述,装置500的输出运动矢量MV0”和MV1”可以使得残差信息更少。因此,与初始运动矢量MV0和MV1相比,使用运动矢量MV0”和MV1”可以提高预测性能。需要说明的是,为了进一步提高预测性能,可以多次使用装置500。此时,将装置500的第一次应用的输出视为第二次应用的输入,每次应用之后,运动矢量之间的等式(等式1至8)保持相等。在这种情况下,由于运动矢量MV0”和MV1”在装置500的第一次应用之后为当前块提供了更好估计,因此运动矢量修正器单元530中使用的模板是基于第二次应用中MV0”所指向的样本或MV1”所指向的样本构建的。
根据一个示例性实施例,装置500还包括参考图像选择单元510,用于获取两幅参考图像并选择其中一幅参考图像为第一参考图像和第二参考图像。
换言之,参考图像选择单元510控制当前块的运动矢量中的哪一个运动矢量通过模板匹配进行修正以及哪一个运动矢量通过基于另一修正后运动矢量的修正所进行的计算进行修正。下面提供了参考图像选择单元510如何能够执行选择过程的若干示例。
图7示出了本实施例提供的一种在第一参考图像中确定第一运动矢量和在第二参考图像中确定第二运动矢量的方法700的示意图。例如,上述的数字视频编码器100或解码器200,尤其是帧间预测单元110或210,可以采用过程700来获得第一运动矢量和第二运动矢量,该第一运动矢量和第二运动矢量应用于当前图像中图像块的帧间预测。方法700包括以下步骤:步骤701:获取第一运动矢量的估计值;步骤703:通过在基于第一运动矢量的估计值所指定的搜索空间内进行搜索来确定第一运动矢量;步骤705:获取第二运动矢量的估计值;步骤707:基于第二运动矢量的估计值和第一运动矢量计算第二运动矢量。
示例1
在第一示例中,参考图像选择单元510根据运动矢量所涉及的相应的参考图像所属的列表,在搜索空间中进行搜索确定决定哪一个运动矢量。特别地,为了发送预测值信息,该预测值信息用于解码器恢复码流内的与在编码器处使用的预测值相同的预测值,一些编解码器通过将参考图像列表中与特定参考图像关联的索引包含在码流中来发送参考图像。例如,参考图像列表(参考图像的列表)可以是编码器和解码器中均可用、并将索引与与参考图像相对于当前图像的位置相关联的表格。
可以有不止一个参考图像列表。例如,如H.265/HEVC中通常使用的参考图像列表L0和参考图像列表L1。为了在码流中发送参考图像,首先发送参考图像列表,然后在发送的参考图像列表中发送索引。
随后,参考图像选择单元510有利地用于根据是否通过预定义参考图像列表中的索引在码流中引用了第一参考图像或第二参考图像来选择第一参考图像或第二参考图像。在这种情况下,例如,术语“预定义”是指在标准中固定定义的,或者在信令中为整个视频定义的。示例性的,预定义列表可以为列表L0。则,如果参考图像列表L0中引用了第一参考图像,而参考图像列表L1中引用了第二列表,则通过模板匹配来修正指向第一参考图像的第一运动矢量,原因在于L0中引用了第一运动矢量,并计算第二运动矢量,原因在于L0中未引用第二运动矢量。但是,请注意,预定义列表不限于列表L0。相反,所使用的任一参考图像列表可以是预定义的。通常,相对于L1,L0会列出更近邻区的参考图像。或者,L0可以包括按照显示顺序在当前图像之前的更多参考图像,而L1可以包括按照显示顺序在当前图像之后的更多图像。然而,本发明与两个或更多参考图像列表之间存在哪种特定差异无关。
需要说明的是,在相同的参考图像列表中引用了第一运动矢量和第二运动矢量各自指向的第一参考图像和第二参考图像情况可能发生。例如,第一参考图像和第二参考图像均可以在预定义图像列表L0中引用。或者,如果当前编码块应用了双向预测,则必须指示来自列表L0的一幅参考图像和来自列表L1的一幅参考图像,其中,这两幅参考图像可以一起包含在参考列表中的一个(或两个)中。原因在于参考图像可以同时出现在两个列表(列表L0和列表L1)中。
如果第一参考图像和第二参考图像均包括在预定义列表(例如,L0)中,则选择列表(L0)中位置最高的图像为用于通过指向其的对应运动矢量进行模板匹配来进行运动矢量修正的参考图像。
如果两幅参考图像都包含在未预定义的参考图像列表中(例如,如果L0是预定义的,则是L1),则可以进行相同的选择。换言之,如果在从除预定义参考图像列表之外的参考图像列表中引用参考图像,则选择列表中位置最高的参考图像进行基于模板匹配的运动矢量修正。
总而言之,参考图像选择单元510用于:如果通过相同预定义参考图像列表中的索引在码流中引用了两幅参考图像,则选择参考图像列表中位置最高的图像作为第一参考图像。
本示例提供了一种无需任何额外智能选择过程的简单实现方式。特别地,当解析的参考图像列表是预定义列表(例如L0)时,如果两幅图像都在同一列表中,或者也基于参考图像的索引值,参考图像选择单元510控制开关520和570在图5的框图中选择上或下分支。
示例2
根据第二示例,参考图像选择单元510用于为当前块选择两幅(或更多)参考图像中时间层最低的图像作为第一参考图像(通过模板匹配进行修正)。换言之,根据与运动矢量MV0和MV1相关的参考图像的时间层,参考图像选择单元510控制开关520和580选择上分支(530、550)或下分支(540、560)。
需要说明的是,在图5中,上、下分支不一定需要双重实现。通常,在本发明的任一实施例和示例中,提供了单运动矢量修正单元530和单运动矢量计算单元550,并且根据参考图像选择单元210的控制仅切换到单分支的输入。
特别地,确定两幅(或更多)参考图像的时间层。参考图像的时间层表示图像数量,这些图像在可以解码参考图像之前必须进行解码。时间层通常设置在解码器处,该解码器对不同时间层的视频运动图像进行编码。时间层可以包含在码流中。因此,解码器可以基于来自码流的信令信息确定哪个参考图像属于哪个时间层。相应地,随后,选择时间层较低的第一参考图像或第二参考图像作为用于通过模板匹配进行运动矢量修正的参考图像。该方法可以提供为模板匹配选择参考图像的优势,这较少依赖先前解码的图像,从而出现错误和失真的概率较低。相应地,运动矢量修正流程更灵活。
示例3
在第三示例中,参考图像选择单元510用于选择基量化值最低的图像作为第一参考图像(通过模板匹配进行修正)。换言之,根据与运动矢量MV0和MV1相关的参考图像的量化参数,参考图像选择单元510控制开关520和580选择上分支(530、550)或下分支(540、560)。
本文中的量化值或量化参数是码流中提供的信息,能够确定量化步骤。在诸如H.264/AVC和H.265/HEVC等众所周知的编解码器中,量化参数能够确定待量化系数被除的值。量化值越大,量化越粗,这通常导致重建后的图像质量较差。因此,较低的量化值意味着可以提供较高的重建图像质量。选择量化参数较低的参考图像意味着使用质量较好的参考图像进行运动矢量修正,这样也会得到更好的修正结果。
术语“基”量化值是指一个图像切片共有的、用作所有块的基数的量化值。例如,这种值通常在切片头中发送。然后,通常以块或处理单元为单位来发送与基值的差值。
然而,本发明不限于任何特定信令,甚至是这种值的存在。通过根据图像中的元素的量化值确定图像的基量化值可以实现相同的效果,其中,该图像的量化值已发送。换言之,术语“基量化值”表示图像的一般量化值。
示例4
根据第四示例,参考图像选择单元510用于选择与当前图像距离最短的图像作为第一参考图像。换言之,根据与各运动矢量MV0和MV1相关的参考图像与当前图像的距离,参考图像选择单元510控制开关520和580选择上分支(530、550)或下分支(540、560)。
例如,确定与各运动矢量MV0和MV1相关的各参考图像的图像顺序编号(pictureorder count,简称POC)值POC0和POC1与当前图像的POC值POCi之间的差值。POC值规定了图像的显示顺序,而不是编解码。因此,在POC=8的图像之前显示POC=2的图像。然而,需要说明的是,由于本发明不限于如H.264/AVC和H.265/HEVC等公知编解码器例中的应用,因此可以以任何其他方式确定参考图像与当前图像之间的差值,无需依赖特定的POC参数。
选择(参考图像和当前图像之间)绝对POC差值较小的与运动矢量MV0相关的第一参考图像或者与运动矢量MV1相关的第二参考图像作为用于运动矢量修正的参考图像,原因在于期望较近的参考图像的运动矢量更精确和/或运动矢量所指向的参考块与当前块更相似。这可能带来更好的修正质量。
示例5
根据第五示例,参考图像选择单元用于选择第一参考图像和第二参考图像,使得第一矢量的估计值的大小小于第二运动矢量的估计值的大小。换言之,根据与各参考图像相关的运动矢量MV0和MV1的长度(大小),参考图像选择单元510控制开关520和580选择上分支(530、550)或下分支(540、560)。
采用确定矢量绝对值的标准流程确定指向第一参考图像和第二参考图像的运动矢量MV0和MV1的绝对大小。例如,对运动矢量的每个矢量分量的平方值求和。该和或平方根可以用作运动矢量的大小,但是平方根的计算具有更高的计算成本。假设图像之间的运动通常较小,则采用较小的运动矢量进行修正提供了正确确定的可能性更高的优势。
可以在解码器处接收关于第一运动矢量的估计值MV0、第二运动矢量的估计值MV1以及MV0和MV1所涉及的参考图像的索引的一些信息作为输入。运动矢量信息通常以块为单位发送,而块可以具有不同的大小。参考图像指示也是如此。作为熵解码单元203的一部分而实现的码流解析器从码流中获取运动矢量信息。运动信息可以直接为运动矢量的坐标(相对于参考图像中与当前图像中当前块的位置相同的块的位置所给定的点(0,0)的坐标)。或者,也可以发送与按照解码顺序位于当前块之前的块的运动矢量之间的差值。有利地,这可以是当前块的空间或时间相邻块之一。
根据另一示例,一种也包括运动矢量修正器500的用于确定运动矢量装置还包括运动矢量估计器820,用于通过基于模板与运动矢量候选所涉及的图像的相应的部分区域之间的相似性从一组运动矢量候选中选择所述第一运动矢量的估计值和所述第二运动矢量的估计值,从而确定第一运动矢量的估计值和第二运动矢量的估计值。换言之,运动矢量(MV0和MV1)不一定是基于参考图像中定义的搜索空间中的模板匹配来确定的。搜索空间可以由(合并)列表给出,该列表列出了空间或时间相邻块或当前块附近的块的各运动矢量相关的索引。也就是说,本发明不受运动矢量估计值MV0和MV1在用于修正之前的推导方式的限制。
总之,在一个编码块的双向预测操作中,将来自列表L0的运动矢量(motionvector,简称MV)和列表L1的MV的两个预测块合并为单个预测信号,该单个预测信号能够比单向预测更好适应原始信号,使得残差信息更少,压缩更有效。当前图像中当前块的双向预测解码处理包括以下处理步骤:
首先,在解码器侧接收第一运动矢量的估计值MV0和第二运动矢量的估计值MV1作为输入。MV0和MV1所指向的两幅参考图像位于解码器的图像缓冲器中,原因在于MV0和MV1在处理当前图像之前已经解码。选择这些参考图像其中之一用于通过模板匹配来进行运动矢量修正,例如,MV0所指向的参考图像。为了进行运动矢量修正,在选择的MV0所指向的候选点周围定义MV0所指向的参考图像中的搜索区域。通过与当前块空间进行模板匹配以及确定相似性度量,分析搜索区域内的候选搜索空间位置。将不相似性值最低的候选搜索空间位置确定为运动矢量MV0”。基于MV1和MV0”-MV0的函数计算运动矢量MV1”,而不是进行第二模板匹配。
根据本发明的一个实施例,通过比较MV0”所指向的样本和MV1”所指向的样本来进行相似性比较。根据图4,搜索空间310中的MV0”所指向的任何点具有由等式1至8中的一个或多个所给定的对应运动矢量MV1”。为了在模板匹配过程中比较样本块之间的相似性,可以在SAD函数等函数中使用MV0”所指向的样本块和MV1”所指向的样本块。此时,模板仅由属于MV1所涉及的参考图像的样本组成,并对MV0进行运动矢量修正操作。此外,针对搜索空间310中的每个点,模板略有改变。
更具体地,根据本实施例,应用如下步骤:
步骤1:计算输入运动矢量MV0所指向的样本与输入运动矢量MV1所指向的样本之间的相似性。输入运动矢量MV0指向搜索空间中的点330。
步骤2:选择搜索空间310中的第二点,该第二点与点330不同,第二点用MV0”表示。
步骤3:基于MV0”、MV0和MV1使用等式1至8中的一个或多个计算运动矢量MV1”。
步骤4:计算输入运动矢量MV0”所指向的样本与输入运动矢量MV1”所指向的样本之间的相似性。如果相似性高于步骤1中计算得到的值,则选择MV0”和MV1”对作为修正后的运动矢量。否则,选择MV0和MV1对(即,初始运动矢量对)作为修正后的运动矢量。
可以重复步骤2、3和4,以评估搜索空间310中的更多候选点。如果搜索空间中没有剩余的搜索点,则修正后的运动矢量作为最终修正后的运动矢量输出。
在步骤4中,清楚的是,如果相似性度量(如SAD、SSIM等)可能使初始点330处的相似性最高,而初始运动矢量MV0指向初始点330,初始运动矢量MV0的对应初始运动矢量为根据等式1至8中的一个或多个的初始运动矢量MV1,如果是这种情况,则认为修正后的运动矢量,即运动矢量修正过程的输出是MV0和MV1。
作为装置500的输出的任何运动矢量对MV0”和MV1”必须遵循等式1至8中的一个或多个所描述的规则。在不影响本发明及其益处的情况下,可以改变模板构造和模板匹配操作中使用的相似性度量的具体细节,该益处指通过配对两个运动矢量减少待检查的搜索点。
根据本发明的一个实施例,除了如上所述的帧间预测单元中执行的双向预测处理之外,用于编码和解码的其他处理步骤遵循标准H.265/HEVC。
但是,一般而言,本发明适用于任何用于从码流中解码多幅图像的视频解码器。则这类解码器可以包括帧间预测单元,帧间预测单元包括如权利要求1至11任一项所述的装置,以及预测单元,用于根据第一运动矢量所涉及的第一参考图像的部分区域和第二运动矢量所涉及的第二参考图像的部分区域,确定预测块。解码器还可以包括码流解析器。例如,码流解析器可以实现为熵解码单元203的一部分,用于从码流中获取第一运动矢量的估计值和第二运动矢量的估计值。视频解码器还可以包括重建单元211,用于根据预测块重建当前块。
另一方面,一种用于将多幅图像编码为码流的视频编码器可以包括:帧间预测单元,帧间预测单元包括如权利要求1至12任一项所述的装置,以及预测单元,用于根据第一运动矢量所涉及的第一参考图像的部分区域和第二运动矢量所涉及的第二参考图像的部分区域,确定预测块;码流形成器,实现为熵编码单元103的一部分,用于将第一运动矢量的估计值和第二运动矢量的估计值包含在码流中;重建单元111,用于根据预测块重建当前块,并将重建块存储在存储器中。
以上描述的帧间预测解码处理不限于使用两幅参考图像。或者,也可以考虑两幅以上的参考图像和相关的运动矢量。此时,参考图像选择单元选择两幅以上的参考图像,其中一幅参考图像用于运动矢量修正。使用上述示例1至5中描述的一种方法选择用于运动矢量修正的参考图像。使用相应运动矢量的估计值和运动矢量修正所产生的运动矢量调整其余运动矢量。换句话说,如果进行多参考预测,上述本发明也可以起作用。例如,如果有三幅参考图像和三个相应的运动矢量,则可以通过模板匹配进行修正以确定三个运动矢量中的一个运动矢量,并计算另外两个运动矢量。这样降低了复杂度。或者,通过模板匹配进行修正以确定其中两个运动矢量,并基于修正后的运动矢量中的一个或两个计算另一个运动矢量。本领域技术人员清楚地了解到,本发明可扩展至任意数量的参考图像和用于构造当前块的预测值的相应运动矢量。
本发明的效果是使得能够在在解码器处以更低处理负载和内存需求执行双向预测。这可以应用于任何解码器,其可以包括在编码设备和/或解码设备中,即在编码器侧或解码器侧。
如上所述的运动矢量修正可以实现为视频信号(运动图像)的编码和/或解码的一部分。然而,运动矢量修正也可以用于图像处理的其他目的,如运动检测、运动分析等。
运动矢量修正可以实现为一种装置。这种装置可以是软件和硬件的组合。例如,运动矢量修正可以由通用处理器、数字信号处理器(digital signal processor,简称DSP)、现场可编程门阵列(field programmable gate array,简称FPGA)等芯片执行。但是,本发明不限于在可编程硬件上实现。其可以在特殊应用集成电路(application-specificintegrated circuit,简称ASIC)上实现,也可以通过上述硬件组件的组合实现。
运动矢量修正也可以通过存储在计算机可读介质上的程序指令来实现。当程序执行时,使计算机执行以下步骤:获取运动矢量的估计值,基于估计值确定第一参考图像和第二参考图像,对第一运动矢量进行运动矢量修正,基于运动矢量的估计值和修正后的第一运动矢量计算第二运动矢量。计算机可读介质可以是存储该程序的任何介质,例如DVD、CD、USB(闪存)驱动器、硬盘、通过网络可用的服务器存储等。
编码器和/或解码器可以在各种设备中实现,包括电视机、机顶盒、PC、平板电脑、智能手机等。其可以是实现上述方法步骤的软件、app。

Claims (14)

1.一种用于在视频的第一参考图像中确定第一运动矢量(MV0”)和在所述视频的第二参考图像中确定第二运动矢量(MV1”)的装置,其特征在于,所述第一运动矢量和所述第二运动矢量应用于所述视频的当前图像中图像块的帧间预测,所述装置包括:
运动矢量修正单元(530),用于获取所述第一运动矢量的估计值(MV0),并通过在基于所述第一运动矢量的估计值所指定的搜索空间(310)内进行搜索来确定所述第一运动矢量与所述第一运动矢量的估计值之间的差值;
运动矢量计算单元(550),用于获取所述第二运动矢量的估计值(MV1),并基于所述第二运动矢量的估计值和所述第一运动矢量与所述第一运动矢量的估计值之间的差值计算所述第二运动矢量;
其中,所述运动矢量计算单元(550)用于通过将所述第一运动矢量与所述第一运动矢量与所述第一运动矢量的估计值之间的差值的函数与所述第二运动矢量的估计值相加,计算所述第二运动矢量。
2.根据权利要求1所述的装置,其特征在于,所述函数包括通过缩放因子进行的缩放和/或剪切。
3.根据权利要求2所述的装置,其特征在于,所述缩放因子的值取决于所述第一参考图像和所述第二参考图像各自与所述当前图像的距离之间的比值。
4.根据权利要求1至3任一项所述的装置,其特征在于,还包括:
参考图像选择单元(510),用于获取两幅参考图像,从所述两幅参考图像中选择所述第一参考图像,以及从所述两幅参考图像中选择所述第二参考图像。
5.根据权利要求4所述的装置,其特征在于:
所述参考图像选择单元(510)用于基于第一图像或第二图像是否被与至少两个参考图像列表中的预定义参考图像列表相关的索引在码流中引用,来选择所述第一图像或所述第二图像,所述码流中也包括所述视频的经编码的图像块,其中,参考图像列表将索引与参考图像相对于所述当前图像的位置相关联。
6.根据权利要求5所述的装置,其特征在于:
所述参考图像选择单元(510)用于:如果所述两幅参考图像被相同的预定义参考图像列表中的索引在所述码流中引用,则选择所述参考图像列表中位置最高的图像作为所述第一参考图像。
7.根据权利要求4所述的装置,其特征在于,所述参考图像选择单元(510)用于选择两幅图像中时间层最低的图像作为所述第一参考图像。
8.根据权利要求4所述的装置,其特征在于,所述参考图像选择单元(510)用于选择基量化值(base quantization value)最小的图像作为所述第一参考图像。
9.根据权利要求4所述的装置,其特征在于,所述参考图像选择单元(510)用于选择与所述当前图像距离最短的图像作为所述第一参考图像。
10.根据权利要求4所述的装置,其特征在于,所述参考图像选择单元(510)用于选择所述第一参考图像和所述第二参考图像,使得所述第一运动矢量的估计值的大小(magnitude)小于所述第二运动矢量的估计值的大小(magnitude)。
11.根据权利要求1-3和5-10任一项所述的装置,其特征在于,还包括:
运动矢量估计器(820),用于通过基于模板与运动矢量候选所涉及的图像的相应的部分区域之间的相似性从一组运动矢量候选中选择所述第一运动矢量的估计值和所述第二运动矢量的估计值,从而确定所述第一运动矢量的估计值和所述第二运动矢量的估计值。
12.一种用于从码流中解码多幅图像的视频解码器(200),其特征在于,包括:
帧间预测单元(210),包括如权利要求1-3和5-10任一项所述的装置,以及预测单元,用于根据所述第一运动矢量所涉及的所述第一参考图像的部分区域和所述第二运动矢量所涉及的所述第二参考图像的部分区域,确定预测块;
码流解析器,用于从所述码流中获取所述第一运动矢量的估计值和所述第二运动矢量的估计值;
重建单元(211),用于根据所述预测块重建当前块。
13.一种用于将多幅图像编码成码流的视频编码器(100),其特征在于,包括:
帧间预测单元(110),包括如权利要求1-3和5-10任一项所述的装置,以及预测单元,用于根据所述第一运动矢量所涉及的所述第一参考图像的部分区域和所述第二运动矢量所涉及的所述第二参考图像的部分区域,确定预测块;
码流形成器,用于将所述第一运动矢量的估计值和所述第二运动矢量的估计值包括在所述码流中;
重建单元(111),用于根据所述预测块重建当前块,并将重建后的当前块存储在存储器中。
14.一种用于在视频的第一参考图像中确定第一运动矢量(MV0”)和在所述视频的第二参考图像中确定第二运动矢量(MV1”)的方法(700),其特征在于,所述第一运动矢量和第二运动矢量应用于所述视频的当前图像中图像块的帧间预测,所述方法包括:
获取(701)所述第一运动矢量的估计值(MV0);
通过在基于所述第一运动矢量的估计值所指定的搜索空间(310)内进行搜索来确定(703)所述第一运动矢量与所述第一运动矢量的估计值之间的差值;
获取(705)所述第二运动矢量的估计值(MV1);
基于所述第二运动矢量的估计值(MV1)以及所述第一运动矢量(MV0”)与所述第一运动矢量的估计值之间的差值,计算(707)所述第二运动矢量(MV1”);
其中,所述基于所述第二运动矢量的估计值(MV1)以及所述第一运动矢量(MV0”)与所述第一运动矢量的估计值之间的差值,计算(707)所述第二运动矢量(MV1”),包括:
通过将所述第一运动矢量(MV0”)与所述第一运动矢量(MV0”)与所述第一运动矢量的估计值(MV0)之间的差值的函数与所述第二运动矢量的估计值(MV1)相加,计算所述第二运动矢量(MV1”)。
CN201880044272.8A 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正的方法和装置 Active CN110809887B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211657738.6A CN116248898A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正
CN202211657842.5A CN116233463A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EPPCT/EP2017/066342 2017-06-30
PCT/EP2017/066342 WO2019001741A1 (en) 2017-06-30 2017-06-30 MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION
PCT/EP2018/058203 WO2019001786A1 (en) 2017-06-30 2018-03-29 MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202211657842.5A Division CN116233463A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正
CN202211657738.6A Division CN116248898A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正

Publications (2)

Publication Number Publication Date
CN110809887A CN110809887A (zh) 2020-02-18
CN110809887B true CN110809887B (zh) 2022-12-27

Family

ID=59258246

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202211657842.5A Pending CN116233463A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正
CN201880044272.8A Active CN110809887B (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正的方法和装置
CN202211657738.6A Pending CN116248898A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202211657842.5A Pending CN116233463A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211657738.6A Pending CN116248898A (zh) 2017-06-30 2018-03-29 用于多参考预测的运动矢量修正

Country Status (19)

Country Link
US (4) US11463726B2 (zh)
EP (3) EP3635956A1 (zh)
JP (3) JP6977068B2 (zh)
KR (4) KR102570488B1 (zh)
CN (3) CN116233463A (zh)
AU (1) AU2018294206B2 (zh)
BR (1) BR112019027261A2 (zh)
CA (1) CA3068332C (zh)
CL (1) CL2019003880A1 (zh)
ES (1) ES2963978T3 (zh)
FI (1) FI3632104T3 (zh)
HU (1) HUE064054T2 (zh)
IL (1) IL271762B2 (zh)
MX (1) MX2019015871A (zh)
PL (1) PL3632104T3 (zh)
PT (1) PT3632104T (zh)
SG (1) SG11201911978TA (zh)
UA (1) UA126919C2 (zh)
WO (3) WO2019001741A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019001741A1 (en) * 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION
CN117615153A (zh) * 2017-08-29 2024-02-27 株式会社Kt 视频解码和编码方法及用于存储压缩视频数据的装置
CN109996081B (zh) * 2017-12-31 2023-09-12 华为技术有限公司 图像预测方法、装置以及编解码器
US10992930B2 (en) * 2018-03-30 2021-04-27 Hulu, LLC Template refined bi-prediction for video coding
WO2019234676A1 (en) * 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Mv precision refine
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
CN111083484A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 基于子块的预测
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
WO2020103877A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Coding and decoding of video coding modes
US11095900B2 (en) * 2018-12-19 2021-08-17 Sony Group Corporation Point cloud coding structure
US11252431B2 (en) 2019-01-02 2022-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Side motion refinement in video encoding/decoding systems
EP3912352B1 (en) * 2019-02-22 2023-09-06 Huawei Technologies Co., Ltd. Early termination for optical flow refinement
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
CN117834906A (zh) * 2019-03-08 2024-04-05 华为技术有限公司 运动矢量细化的搜索区域
CN112954334A (zh) 2019-03-11 2021-06-11 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
JP7261896B2 (ja) * 2019-03-11 2023-04-20 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 動き改良および重み付け予測
CN113475076B (zh) 2019-03-11 2024-03-12 阿里巴巴集团控股有限公司 用于对视频数据进行编码的帧间预测方法
KR20230169434A (ko) 2019-04-02 2023-12-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 디코더 측 움직임 벡터 유도
US11736720B2 (en) * 2019-09-03 2023-08-22 Tencent America LLC Motion vector refinement methods for video encoding
WO2021202178A1 (en) * 2020-03-31 2021-10-07 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for high-level syntax in video coding
EP4128792A4 (en) * 2020-04-03 2023-05-24 Beijing Dajia Internet Information Technology Co., Ltd. METHODS AND DEVICES FOR HIGH-LEVEL SYNTAX IN VIDEO CODING
US11936899B2 (en) 2021-03-12 2024-03-19 Lemon Inc. Methods and systems for motion candidate derivation
US11671616B2 (en) 2021-03-12 2023-06-06 Lemon Inc. Motion candidate derivation
US20220295090A1 (en) * 2021-03-12 2022-09-15 Lemon Inc. Motion candidate derivation
WO2022222988A1 (en) * 2021-04-21 2022-10-27 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
US11895302B2 (en) * 2021-06-29 2024-02-06 Qualcomm Incorporated Adaptive bilateral matching for decoder side motion vector refinement
CN114161197B (zh) * 2021-12-22 2023-09-15 中国科学技术大学 一种偏心工件自动校正方法、系统、设备及存储介质
WO2023136655A1 (ko) * 2022-01-13 2023-07-20 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
WO2024076220A1 (ko) * 2022-10-07 2024-04-11 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110022133A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 영상의 움직임 추정방법 및 영상처리장치
TW201204054A (en) * 2010-01-14 2012-01-16 Intel Corp Techniques for motion estimation
WO2011120221A1 (en) * 2010-03-31 2011-10-06 Intel Corporation Power efficient motion estimation techniques for video encoding
JP5786498B2 (ja) * 2011-06-30 2015-09-30 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム
WO2016048834A1 (en) 2014-09-26 2016-03-31 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
US10200711B2 (en) * 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation in video coding
CA2995507C (en) * 2015-09-02 2021-05-25 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
EP3611925A4 (en) * 2017-04-13 2020-03-25 Panasonic Intellectual Property Corporation of America ENCODING DEVICE, DECODING DEVICE, ENCODING METHOD, AND DECODING METHOD
US20190007699A1 (en) * 2017-06-28 2019-01-03 Futurewei Technologies, Inc. Decoder Side Motion Vector Derivation in Video Coding
WO2019001741A1 (en) 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION

Also Published As

Publication number Publication date
CA3068332A1 (en) 2019-01-03
JP7358436B2 (ja) 2023-10-10
US11683520B2 (en) 2023-06-20
CN110809887A (zh) 2020-02-18
WO2019001741A1 (en) 2019-01-03
KR20200015734A (ko) 2020-02-12
EP4319154A3 (en) 2024-02-28
AU2018294206B2 (en) 2022-12-01
KR102450443B1 (ko) 2022-09-30
US20200137414A1 (en) 2020-04-30
AU2018294206A1 (en) 2020-01-23
US20220046274A1 (en) 2022-02-10
KR20220000917A (ko) 2022-01-04
CN116248898A (zh) 2023-06-09
KR20220136509A (ko) 2022-10-07
NZ760521A (en) 2021-09-24
US20230353778A1 (en) 2023-11-02
KR102344430B1 (ko) 2021-12-27
PL3632104T3 (pl) 2024-02-12
SG11201911978TA (en) 2020-01-30
AU2018294206A8 (en) 2020-01-30
MX2019015871A (es) 2020-08-06
UA126919C2 (uk) 2023-02-22
JP2023174703A (ja) 2023-12-08
EP4319154A2 (en) 2024-02-07
JP2022022228A (ja) 2022-02-03
EP3632104A1 (en) 2020-04-08
CA3068332C (en) 2023-10-03
NZ780051A (en) 2023-09-29
US11463726B2 (en) 2022-10-04
US10856006B2 (en) 2020-12-01
CN116233463A (zh) 2023-06-06
EP3635956A1 (en) 2020-04-15
KR102570488B1 (ko) 2023-08-23
WO2019001785A1 (en) 2019-01-03
ES2963978T3 (es) 2024-04-03
HUE064054T2 (hu) 2024-02-28
JP6977068B2 (ja) 2021-12-08
US20200137416A1 (en) 2020-04-30
IL271762B2 (en) 2023-11-01
KR20230125348A (ko) 2023-08-29
CL2019003880A1 (es) 2020-10-02
BR112019027261A2 (pt) 2020-07-14
JP2020526109A (ja) 2020-08-27
FI3632104T3 (fi) 2023-11-09
PT3632104T (pt) 2023-12-07
EP3632104B1 (en) 2023-10-04
IL271762A (en) 2020-02-27
IL271762B1 (en) 2023-07-01
WO2019001786A1 (en) 2019-01-03

Similar Documents

Publication Publication Date Title
CN110809887B (zh) 用于多参考预测的运动矢量修正的方法和装置
KR102085498B1 (ko) 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
US20210400298A1 (en) Method and apparatus for processing video signal by using affine prediction
TW201904284A (zh) 用於視訊編解碼的子預測單元時間運動向量預測
CN111201795B (zh) 存储访问窗口和用于运动矢量修正的填充
CN112292861B (zh) 用于解码端运动矢量修正的基于误差面的子像素精确修正方法
US11595639B2 (en) Method and apparatus for processing video signals using affine prediction
NZ760521B2 (en) Motion vector refinement for multi-reference prediction
NZ780051B2 (en) Motion vector refinement for multi-reference prediction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant