CN102131091A - 解码端运动向量导出方法 - Google Patents
解码端运动向量导出方法 Download PDFInfo
- Publication number
- CN102131091A CN102131091A CN 201010586667 CN201010586667A CN102131091A CN 102131091 A CN102131091 A CN 102131091A CN 201010586667 CN201010586667 CN 201010586667 CN 201010586667 A CN201010586667 A CN 201010586667A CN 102131091 A CN102131091 A CN 102131091A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- decoding end
- end motion
- derive
- flag
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种解码端运动向量导出方法,包含:检查将被编码的当前块的块大小并相应地产生检查结果;以及利用解码端运动向量导出模块来参考检查结果以控制第一解码端运动向量导出控制信息的传输,第一解码端运动向量导出控制信息是用来指示解码端运动向量导出编码操作是否被用于编码当前块,其中当检查结果指示已满足预定准则时,在比特流中发送第一解码端运动向量导出控制信息;否则,不发送第一解码端运动向量导出控制信息。所述的解码端运动向量导出方法能够提升编码效率、减少搜寻复杂度、以及提高灵活性。
Description
技术领域
本发明有关于一种数据编码/解码方法,且特别有关于一种解码端运动向量导出(Decoder-side Motion Vector Derivation,以下简称为DMVD)方法。
背景技术
在视频编码中,可利用图像序列中发现的时序(temporal)与空间(spatial)相关来减少比特率/提升编码效率。通常来说,运动补偿帧间预测(motioncompensated inter-frame prediction)很大程度地影响最终的压缩效率。诸如运动向量(Motion Vector,以下简称为MV)数据与参考图像索引的运动信息是在编码端获得并编码在比特流中,因此解码器可基于已解码的运动信息而简单地执行运动补偿预测。然而,运动信息的编码需要很高的比特率。因此,提出一种DMVD机制。
在编码端与解码端可利用模板匹配(Template Matching,以下简称为TM)算法来决定运动信息。此外,对于预测(prediction,以下简称为P)图像的不同宏块(MacroBlock,以下简称为MB)类型,编码额外的标志以标示DMVD的使用。图1是P图像的传统TM机制的示意图。通常来说,传统TM机制是利用邻近于预测目标块的块的像素以及在重建(already reconstructed)参考图像中的像素之间的相关。如图1所示,当前图像中的DMVD目标块102具有N×N像素的块大小,且为MB 106的一部分;此外,自DMVD目标块102的上方与左侧扩充M个像素来定义反转L型模板104。此处,反转L型是指L型相对于水平轴的镜像。应注意,反转L型模板104仅覆盖重建像素。为清楚起见,当前图像中的重建像素是以斜线表示。随后,在每一参考图像中定义以候选MV为中心的小搜寻范围。在一个或多个重建参考图像(在时间上早于当前图像)中的至少一个置换模板区域(displaced template region),是通过最小化当前图像中的反转L型模板104以及重建参考图像中的置换模板之间的失真值(例如,绝对差值和(Sum of Absolute Difference,以下简称为SAD))而决定。如图1所示,由反转L型模板104与置换模板108之间的最小失真值可找出置换模板108。以此方式,通过TM机制可成功地决定DMVD目标块102的最终MV 110。
阿亨工业大学(RWTH Aachen University)首先提出可用于VCEG-AG16与VCEG-AH15r1中的DMVD。其支持的MB类型包含P_SKIP MB、P_L0_16x16MB、P_L0_L0_16x8 MB、P_L0_L0_8x16 MB、以及具有四个P_L0_8x8子宏块(Sub-MacroBlock,以下简称为SubMB)的P_8x8 MB。对于省略模式(skip mode)中的MB(即,P_ SKIP MB),N等于16,M等于4,且利用单一参考图像来寻找DMVD目标块102的最终MV 110。此外,当SKIP_MV不等于TM_MV时,其中SKIP_MV为通过H.264标准定义的MV而TM_MV为通过上述TM机制找出的最终MV,每一个MB即发送一个标志tm_skip_active_flag,上述标志设定当前16x16 MB是否使用DMVD编码或传统MV编码。因此,当解码器解码一个MB时,解码器必须执行TM操作以决定TM_MV,并随后比较TM_MV与SKIP_MV以判断自编码器产生的比特流中是否编码标志tm_skip_active_flag。对于非省略模式中的MB(即,P_L0_16x16 MB、P_L0_L0_16x8 MB、P_L0_L0_8x16 MB、以及具有四个P_L0_8x8 SubMB的P_8x8 MB),可利用多个参考图像来寻找DMVD目标块102的最终MV 110。对于P_L0_16x16 MB,N等于16,M等于4,且每16x16 MB即发送一个标志tm_active_flag,上述标志设定当前16x16 MB是否使用DMVD编码或传统MV编码。对于P_L0_L0_16x8 MB,N等于8,M等于4,且每16x8 MB即发送一个标志tm_active_flag,上述标志设定当前16x8 MB分区是否使用DMVD编码或传统MV编码。对于P_L0_L0_8x16 MB,N等于8,M等于4,且每8x16 MB即发送一个标志tm_active_flag,上述标志设定当前8x16 MB分区是否使用DMVD编码或传统MV编码。对于P_L0_8x8 SubMB,N等于4,M等于4,且每8x8SubMB即发送一个标志tm_active_flag,上述标志设定当前8x8 SubMB分区是否使用DMVD编码或传统MV编码;此外,由于N小于8,故不允许8x8变换。由此可见,对于TM机制支持的全部块类型,传统反转L型模板的模板大小M都相等(即,M=4)。
在TM阶段中,计算反转L型模板104的失真值(例如,SAD)以作为在搜寻范围中找出的每一候选MV的成本(cost)。在多假设(multi-hypothesis)预测情况下,可为DMVD目标块102以最低成本决定一组最后MV,而不是在单假设(single-hypothesis)预测情况下以最低成本仅识别一个最后MV。随后,依据传统设计,利用简单平均操作(average operation)来决定最终预测块。
简单来说,对于省略模式中的MB,可利用单一参考图像以及单一假设,并依据以一个候选MV为中心的搜寻范围执行整体像素全搜寻(integer-pel fullsearch)来检查多个候选MV。此外,子像素细化(sub-pel refinement)可应用于已侦测的整体MV。对于非省略模式中的MB,可利用多个参考图像以及多个假设,并依据多个参考图像以及多个假设来执行整体像素全搜寻。此外,子像素细化可应用于每一已侦测的整体MV,且可通过对子像素MV预测执行简单平均计算来获得最终预测块。
为进一步减少搜寻位置数,也提出了一种基于候选的搜寻机制。图2是依据先前基于候选的搜寻机制的利用邻近重建块的MV作为DMVD目标块202的候选MV的示意图。如图2所示,利用邻近重建块A与C(若右上角重建块C可用)或A与C’(若右上角重建块C不可用)的MV作为候选MV来搜寻DMVD目标块202的最终MV。换句话来说,相较于上述TM全搜寻机制,基于候选的搜寻机制将每一参考图像的搜寻位置数减少至2。此外,子像素细化也可省略或适用于利用基于候选的搜寻机制找出的每一个整体MV。
如上所述,当于编码端发现SKIP_MV等于TM_MV时,P_SKIP MB的标志tm_skip_active_flag并未编码在比特流中。当分析由编码器产生的比特流时,解码器必须执行TM操作以决定TM_MV并随后检查SKIP_MV是否等于TM_MV。当SKIP_MV等于TM_MV时,解码器知道在比特流中并未编码P_SKIPMB的标志tm_skip_active_flag。然而,当参考图像中具有一个错误参考像素时,获得的TM_MV可能不正确。当标志tm_skip_active_flag已编码在比特流中但由于错误参考像素而发现SKIP_MV等于TM_MV时,解码器将错误地认为并未发送P_SKIP MB的标志tm_skip_active_flag。因此,解码器可能无法分析当前图像的剩余部分,且若在图像的开始并无重同步标记(resynchronization marker),甚至无法分析后续的图像。若修改先前的DMVD设计以使一直发送每一个P_SKIPMB的标志tm_skip_active_flag来解决上述分析问题,由于一直发送每一个支持MB类型的标志tm_skip_active_flag/tm_active_flag,编码效率可被很大程度地降低。
先前的DMVD设计仅支持P部分画面(slice)(图像);此外,先前的DMVD设计缺乏灵活性。举例来说,TM全搜寻机制中所用的模板仅限制于具有固定模板大小的反转L型模板,几乎全部的支持MB类型都需要编码在比特流中的标志,MV的最高精准度限制为1/4像素的精准度,且基于候选的搜寻机制仅利用左边块以及右上角块(或左上角块)的MV。
发明内容
有鉴于此,特提供以下技术方案:
本发明实施例提供一种解码端运动向量导出方法,包含:检查将被编码的当前块的块大小并相应地产生检查结果;以及利用解码端运动向量导出模块参考检查结果来控制第一解码端运动向量导出控制信息的传输,第一解码端运动向量导出控制信息是用来指示解码端运动向量导出编码操作是否被使用以编码当前块,其中当检查结果指示已满足预定准则时,在比特流中发送第一解码端运动向量导出控制信息;否则,不发送第一解码端运动向量导出控制信息。
本发明实施例另提供一种解码端运动向量导出方法,包含:通过参考当前块的变换块大小,利用解码端运动向量导出模块设置解码端运动向量导出目标块的解码端运动向量导出目标块大小,其中解码端运动向量导出目标块大小与变换块大小一致;以及决定当前块内的解码端运动向量导出目标块的最终运动向量。
本发明实施例另提供一种解码端运动向量导出方法,包含:通过解码端运动向量导出模块设置解码端运动向量导出运动向量精准度,包含:使能特定运动向量精准度作为解码端运动向量导出运动向量精准度,其中特定运动向量精准度与非解码端运动向量导出运动向量精准度不同;以及依据解码端运动向量导出运动向量精准度决定解码端运动向量导出目标块的最终运动向量。
本发明实施例另提供一种解码端运动向量导出方法,包含:利用解码端运动向量导出模块为解码端运动向量导出目标块选择多个编码块的多个运动向量;处理多个编码块的多个运动向量以计算候选运动向量;以及至少依据候选运动向量决定解码端运动向量导出目标块的最终运动向量。
本发明实施例另提供一种解码端运动向量导出方法,包含:利用解码端运动向量导出模块选择至少一个块的运动向量作为解码端运动向量导出目标块的候选运动向量,其中至少一个块与解码端运动向量导出目标块位于不同图像中;以及至少依据候选运动向量决定解码端运动向量导出目标块的最终运动向量。
本发明实施例另提供一种解码端运动向量导出方法,包含:利用解码端运动向量导出模块为解码端运动向量导出目标块选择模板,其中模板与解码端运动向量导出目标块位于相同图像中,且模板包含通过自解码端运动向量导出目标块的上方扩充M个像素来定义的矩形模板;以及依据模板通过执行模板匹配操作搜寻至少一个参考图像来决定解码端运动向量导出目标块的最终运动向量。
本发明实施例另提供一种解码端运动向量导出方法,包含:依据多假设预测搜寻至少一个参考图像来决定解码端运动向量导出目标块的多个最终运动向量;通过参考分别对应于多个最终运动向量的多个失真值,利用解码端运动向量导出模块来计算多个最终运动向量的权重因子;以及依据已计算的权重因子通过混合多个最终运动向量的多个预测块来决定最终预测块。
本发明实施例另提供一种解码端运动向量导出方法,包含:依据多假设预测搜寻至少一个参考图像来决定解码端运动向量导出目标块的多个候选运动向量;利用解码端运动向量导出模块自多个候选运动向量选择多个最终运动向量,依据预定义权重因子混合多个最终运动向量的多个模板以产生混合模板,以及计算当前图像的模板以及至少一个参考图像的混合模板之间的失真值;以及通过混合多个最终运动向量的多个预测块来决定最终预测块。
本发明实施例另提供一种解码端运动向量导出方法,包含:依据至少一个原始参考图像利用解码端运动向量导出模块产生至少一个虚拟参考图像;以及搜寻至少一个原始参考图像以及至少一个虚拟参考图像来决定解码端运动向量导出目标块的最终运动向量。
本发明实施例另提供一种解码端运动向量导出方法,包含:在编码器上执行解码端运动向量导出编码操作;以及将自编码器上执行的解码端运动向量导出编码操作中获得的搜寻控制信息发送至解码器,以使编码器与解码器之间具有非对称的解码端运动向量导出搜寻复杂度。
本发明实施例另提供一种解码端运动向量导出方法,包含:依据第一特性利用解码端运动向量导出模块决定第一解码端运动向量导出目标块的运动向量;以及依据不同于第一特性的第二特性利用解码端运动向量导出模块决定第二解码端运动向量导出目标块的运动向量。
以上所述的解码端运动向量导出方法,能够通过解码端运动向量导出模块提升编码效率、减少解码端运动向量导出搜寻复杂度、以及提高解码端运动向量导出方法的灵活性。
附图说明
图1是P图像的传统TM机制的示意图。
图2是依据先前基于候选的搜寻机制的利用邻近重建块的MV作为DMVD目标块的候选MV的示意图。
图3是依本发明实施例的数据处理系统的范例的示意图。
图4是当前块以及多个邻近块的示意图,其中邻近块中的DMVD控制信息是被参考用于决定如何编码当前块的DMVD控制信息。
图5是依本发明快速搜寻机制范例的被选为DMVD目标块的候选MV的邻近块的MV的示意图。
图6是依本发明另一快速搜寻机制范例的被选为DMVD目标块的候选MV的参考图像中块的MV的示意图。
图7是依本发明实施例的模板设计的第一范例的示意图。
图8是依本发明实施例的模板设计的第二范例的示意图。
图9是依本发明实施例的多个虚拟参考图像以及多个原始参考图像的范例的示意图。
图10是依本发明实施例的DMVD方法的范例的流程图。
具体实施方式
在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属技术领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异作为区分组件的方式,而是以组件在功能上的差异作为区分的准则。在通篇说明书及权利要求项中所提及的「包含」为一开放式的用语,故应解释成「包含但不限定于」。此外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。
本发明提供一种DMVD设计的范例,以解决先前的DMVD设计所遇到的上述分析以及灵活性问题。图3是依本发明实施例的数据处理系统300的范例的示意图。数据处理系统300包含编码器302与解码器312,其中自编码器302产生的比特流是经由传送装置301传送至解码器312。举例来说,传送装置301可为存储媒体或有线/无线网络。编码器302包含DMVD模块304以及耦接于DMVD模块304的其它模块306,其中DMVD模块304可用于执行本发明的DMVD方法范例以产生每一DMVD目标块的最终运动向量MV_1,而其它模块306接收每一DMVD目标块的最终运动向量MV_1并产生比特流。举例来说,其它模块306的功能可包含变换、量化(quantization)、反量化、反变换、熵编码(entropy encoding)等等。解码器312包含DMVD模块314以及耦接于编码器302的其它模块316,其中DMVD模块314可用于执行本发明的DMVD方法范例以产生每一DMVD目标块的最终运动向量MV_2,而其它模块316接收每一DMVD目标块的最终运动向量MV_2并产生重建图像。举例来说,其它模块316的功能可包含反变换、反量化、熵解碼等等。请注意,每一模块可通过软件、硬件、或软件与硬件的组合实现。理想来说,编码器302对于特定DMVD目标块找出的最终运动向量MV_1应等于解码器312对于同一特定DMVD目标块找出的最终运动向量MV_2。下文中将详细描述本发明的DMVD方法范例。
请结合图10来参考图3,图10是依本发明实施例的DMVD方法的范例的流程图。首先,DMVD模块304检查将被编码的当前块的块大小并相应地产生检查结果(步骤S1002)。实际上,可通过侦测块大小或MB类型来检查块大小,因此可通过比较块大小与预定块大小或比较MB类型或预定MB类型来产生检查结果。随后,DMVD模块304参考检查结果来控制DMVD控制信息的传输(步骤S1004),DMVD控制信息是用来指示DMVD编码操作是否被用于编码当前块(步骤S1006)。其中当检查结果指示已满足预定准则时,举例来说,当发现块大小或MB类型等于预定块大小或预定MB类型时,在比特流中发送当前块的DMVD控制信息(步骤S1008);否则,不发送DMVD控制信息(步骤S1010)。其中,预定块大小为选择自8x8、16x16、32x32、64x64、128x128的编码单元大小。举例来说,DMVD控制信息为标志tm_active_flag,且预定准则设置预定块大小为16x16。因此,当允许使用DMVD且当前块的块大小为16x16时,通过编码器302发送标志tm_active_flag(即,将标志tm_active_flag编码在比特流中)。若DMVD机制被使用,标志tm_active_flag被设为“1”。因此,无须发送参考图像索引以及MV数据,预测方向可通过MB类型码字(codeword)指示。在某些实施例中,DMVD目标块N×N的块大小被设置为等于变换块大小(例如,4×4或8×8)。然而,若使用传统MV编码机制,标志tm_active_flag设为“0”。应注意,DMVD设计的范例支持前向预测(或列表0)、后向预测(或列表1)、以及双向预测。因此,可独立地获得前向预测结果或后向预测结果。当选择双向预测,可自前向预测结果以及后向预测结果而简单地获得双向预测结果(具有较低复杂度),或同时考虑前向预测以及后向预测而获得双向预测结果(具有较高编码效率)。
仅当检查结果指示已满足预定准则时,在比特流中发送标志tm_active_flag,举例来说,当块大小为16x16时。因此,当对于其它块大小并未选择DMVD时,由于对于其它块大小并未发送标志tm_active_flag,编码效率可被提升。此外,当分析由编码器302产生的比特流时,解码器312无须执行TM操作来首先找出最终MV并随后检查是否发送标志tm_active_flag。以此方式,当遗失或损坏参考图像的任意部分时,不会产生分析问题。因此,可解决先前的DMVD设计所遇到的上述分析问题。
应注意,DMVD方法范例也支持扩充MB(每一扩充MB大于16x16 MB)。举例来说,扩充MB具有64x64像素或32x32像素的块大小。
对于DMVD省略块(其除了发送标志tm_active_flag作为DMVD控制信息之外,并未发送任何其它信息),编码器302可发送另一DMVD控制信息来指示是否使用DMVD省略模式。举例来说,当标志tm_active_flag指示DMVD编码操作被使用时(即,tm_active_flag=1),发送标志tm_skip_active_flag。当利用DMVD编码机制时,若块为DMVD省略块则将标志tm_skip_active_flag设为“1”,若块为DMVD非省略块则将标志tm_skip_active_flag设为“0”。对于16x16DMVD省略块,DMVD目标块大小设为16x16像素;对于16x16 DMVD非省略块,DMVD目标块大小设为与变换块大小一致。通过标志tm_active_flag以及tm_skip_active_flag的传输,编码效率可被进一步提升。
相较于先前的DMVD设计(其最高MV精准度限制为1/4像素MV精准度),本发明提出的DMVD设计范例可支持较高的MV精准度,例如1/8像素MV精准度。在另一可选设计中,可支持最高MV精准度为1/4像素MV精准度(对于非DMVD块)或1/8像素MV精准度(对于DMVD块)。因此,除了在比特流中发送DMVD控制信息(例如,标志tm_active_flag)及/或另一DMVD控制信息(例如,标志tm_skip_active_flag),编码器302可发送又一DMVD控制信息(例如,标志tm_mv_res_flag)来指示是否使能不同于非DMVD MV精准度的特定MV精准度(例如,1/8像素MV精准度)。举例来说,当标志tm_active_flag指示DMVD编码操作被使用时(即,tm_active_flag==1),以部分画面级别(slicelevel)或序列级别(sequence level)发送标志tm_mv_res_flag来指示DMVD MV的MV精准度。在重建DMVD模式中,允许DMVD MV精准度比非DMVD MV精准度高;在用于后续MV预测的存储DMVD模式中,DMVD MV可截断(truncate)为与非DMVD MV相等的精准度(例如,1/4像素)。
如上所述,当将被编码的当前块的块大小或MB类型与预定块大小或预定MB类型(例如,16x16/32x32/64x64)相同时,在比特流中发送DMVD控制信息(例如,标志tm_active_flag)。DMVD控制信息是通过编码器302的其它模块306内的熵编码模块(未画出)编码在比特流中。举例来说,编码器302中的熵编码模块可执行内容适应性(context-adaptive)熵编码操作,例如内容适应性二位算术编码(Context-based Adaptive Binary Arithmetic Coding,以下简称为CABAC)。本发明实施例的范例提出一种改进的内容设计,用于提升编码效率且并未很大程度地增加计算复杂度。图4是当前块BLK_C以及多个邻近块BLK_A以及BLK_B的示意图。块BLK_A、BLK_B以及BLK_C中的每一个的块大小等于预定块大小。因此,产生标志Flag_A、Flag_B、以及Flag_C(每一个都作为上述标志tm_active_flag以指示DMVD编码操作是否被使用)并随后将其编码在比特流中。以标志Flag_C的编码为例,可依据邻近块BLK_A与BLK_B的标志Flag_A与Flag_B来决定当前块BLK_C的内容,其中邻近块BLK_A与BLK_B在处理时间上早于当前块BLK_C。举例来说,可依据下列等式计算内容Context_C。
Context_C=Flag_A+Flag_B (1)
若标志Flag_A与Flag_B都为0,则将当前块BLK_C的内容设为0。若标志Flag_A与Flag_B都为1,则将当前块BLK_C的内容设为2。若标志Flag_A与Flag_B中的一个为1而标志Flag_A与Flag_B中的另一个为0(即,Flag_A=1且Flag_B=0,或Flag_A=0且B=1),则将当前块BLK_C的内容设为1。为区分标志Flag_A与Flag_B中何者为1,可依据下列等式中的一个计算内容Context_C。
Context_C=Flag_A+Flag_B*2 (2)
Context_C=Flag_A*2+Flag_B (3)
在使用等式(2)情况中,若标志Flag_A为1且另一个标志Flag_B为0,将当前块BLK_C的内容设为1,以及若标志Flag_A为0且另一个标志Flag_B为1,将当前块BLK_C的内容设为2。在使用等式(3)的另一情况中,若标志Flag_A为0且另一个标志Flag_B为1,将当前块BLK_C的内容设为1,以及若标志Flag_A为1且另一个标志Flag_B为0,将当前块BLK_C的内容设为2。
简单来说,当发现当前块的块大小等于预定块大小时,可依据多个先前编码(previously coded)块的DMVD控制信息对当前块的DMVD控制信息执行内容适应性熵编码操作,其中每一先前编码块具有等于预定块大小的块大小。
如上所述,当DMVD编码时被使用,可发送额外的DMVD控制信息(例如,tm_skip_active_flag或tm_mv_res_flag)。假设上述标志Flag_A、Flag_B、以及Flag_C中的每一个都为标志tm_skip_active_flag,可依据上述等式(1)、(2)及(3)中的一个类似地计算内容Context_C。此外,假设上述标志Flag_A、Flag_B、以及Flag_C中的每一个都为标志tm_mv_res_flag,可依据上述等式(1)、(2)及(3)中的一个类似地计算内容Context_C。
对于通过DMVD模块304/314执行的TM操作范例,整体像素全搜寻可应用于每一个参考图像中的搜寻范围,其中搜寻范围是以H.264运动向量预测器(MV Predictor,以下简称为MVP)为中心且非整体像素MV精准度(例如,1/4像素MV精准度)被截断为整体像素MV精准度。此外,子像素细化,例如1/2像素细化或1/4像素细化,可应用于利用整体像素全搜寻找出的整体MV。应注意,通过参考当前块(例如,16x16/32x32/64x64 MB)的变换块大小,DMVD模块304/314可设置DMVD目标块的DMVD目标块大小,其中DMVD目标块大小与变换块大小一致(例如,2x2、4x4、或8x8)。随后,DMVD模块304/314决定当前图像中的DMVD目标块的最终MV。由于此时DMVD目标块大小确保与变换块大小一致,整体变换操作可利用任意可用变换块大小,包含4x4与8x8。
如上所述,依据实际设计考虑,可采用定位(localized)(基于MB)适应性MV精准度。然而,应注意,适应性MV精准度可以部分画面级别或序列级别控制而无须MB级别的额外语法改变。举例来说,对于每一帧/图像,当通过DMVD方法决定MV时,可采用1/8像素MV精准度来找出每一DMVD目标块的最终MV;然而,当通过传统的非DMVD方法决定MV时,采用1/4像素MV精准度。
简单来说,DMVD模块304/314可通过使能特定MV精准度(例如,1/8像素MV精准度)作为DMVD MV精准度来设置DMVD MV精准度,其中特定MV精准度(例如,1/8像素MV精准度)不同于非DMVD MV精准度(例如,整体像素MV精准度、1/2像素MV精准度、或1/4像素MV精准度),以及依据DMVD MV精准度决定DMVD目标块的最终MV。因此,任意利用特定MV精准度(不同于非DMVD MV精准度)的DMVD应用都遵从本发明的精神,应属本发明的涵盖范围。
通过具有特定MV精准度的DMVD找出的最终MV可用于决定下一块(可为非DMVD块)的候选MV。为再用H.264中MVP的定义,DMVD模块304/314可通过将特定MV精准度(例如,1/8像素MV精准度)截断至非DMVD MV精准度(例如,1/4像素MV精准度)来调节具有特定MV精准度的最终MV,以及随后存储具有非DMVD MV精准度的已调节MV。然而,其仅用于说明目的,并非作为本发明的限定。举例来说,若利用整体像素全搜寻找出下一块(为DMVD块)的候选MV,由于依据整体像素全搜寻需求,具有特定MV精准度的最终MV被调节将较高的MV精准度截断至整体MV精准度,当前DMVD块(具有诸如1/8像素MV精准度的特定MV精准度)的最终MV无须将较高的MV精准度截断至非DMVD MV精准度。
通常来说,DMVD利用自邻近于DMVD目标块的重建像素获得的信息来找出DMVD目标块的最终MV,其中DMVD目标块具有非重建像素。因此,DMVD目标块的非重建像素与邻近重建像素之间的相似性决定DMVD目标块的最终MV的发现准确性。即,利用较高MV精准度(例如,1/8像素MV精准度)发现的MV可能不确保比利用较低MV精准度(例如,1/4像素MV精准度)发现的MV准确。基于试验结果,发现对于低分辨率视频,利用1/8像素MV精准度易于具有较佳编码效率。因此,DMVD模块304/314可依据输入视频的分辨率来设置适当的DMVD MV精准度。举例来说,可使能不同于任何非DMVD MV精准度的特定MV精准度作为用于具有第一分辨率(例如,CIF/WVGA/SVGA)的输入视频的DMVD MV精准度,而使能非DMVD MV精准度作为用于具有第二分辨率(例如,720P/1080P)(比第一分辨率高)的输入视频的DMVD MV精准度。
上述整体像素全搜寻必须检查依据每一参考图像中的搜寻范围而发现的多个候选MV。举例来说,假设,搜寻范围是通过具有H.264 MVP所指的中心的[-S,+S]x[-S,+S]范围定义,必须检查R*(2S+1)2个候选像素来找出至少一个具有较低失真值的MV,其中失真值是利用平方差值和(Sum of Squared Difference,以下简称为SSD))或SAD估测,其中R代表参考图像的数目。若使用子像素细化以及多假设预测中的至少一个,则需检查更多侯选像素。为减少搜寻负担并增加DMVD模块304/314的搜寻灵活性,本发明提出一种快速搜寻机制,其可尝试自当前图像(DMVD目标块位于当前图像中)中的编码块及/或一个或多个参考图像中的编码块获得的多个候选MV。
在快速搜寻机制的实施范例中,DMVD模块304/314选择DMVD目标块的至少一个邻近块的MV作为DMVD目标块的候选MV,其中上述至少一个邻近块以及DMVD目标块位于同一图像中,且上述至少一个邻近块包含直接位于DMVD目标块正上方的顶部块。举例来说,如图5所示,图5是依本发明快速搜寻机制范例的被选为DMVD目标块502的候选MV的邻近块的MV的示意图,若右上角块C可用,则选择块A、B、以及C的运动向量MV_A、MV_B、以及MV_C作为DMVD目标块502的候选MV。若右上角块C不可用,则选择块A、B、以及D的运动向量MV_A、MV_B、以及MV_D作为DMVD目标块502的候选MV。随后,DMVD模块304/314依据候选MV决定DMVD目标块502的最终MV。应注意,子像素细化,例如1/2像素细化、1/4像素细化、或1/8像素细化,可应用于单假设预测中的单一整体像素MV或多假设预测中的多个整体像素MV。
在快速搜寻机制的另一实施范例中,DMVD模块304/314尝试多个候选MV,其中包含DMVD目标块的至少一个已处理或已计算MV。首先,DMVD模块304/314为DMVD目标块选择编码块的MV。上述编码块可与DMVD目标块位于同一图像中,或编码块可位于一个或多个参考图像中。在某些其它实施例中,多个编码块中的至少一个位于同一图像中,且多个编码块中的至少一个位于参考图像中。随后,DMVD模块304/314处理编码块的MV来计算候选MV。举例来说,候选MV为编码块的MV的中数(median)。举例来说,若右上角块C可用,则选择块A、B、以及C的运动向量MV_A、MV_B、以及MV_C,且计算运动向量MV_A、MV_B、以及MV_C的中数来作为一个候选MV。若右上角块C不可用,则选择块A、B、以及D的运动向量MV_A、MV_B、以及MV_D,且计算运动向量MV_A、MV_B、以及MV_D的中数来作为一个候选MV。依据自编码块的已处理或已计算MV获得的至少一个候选MV,DMVD模块304/314决定DMVD目标块502的最终MV。应注意,子像素细化,例如1/2像素细化、1/4像素细化、或1/8像素细化,可应用于单假设预测中的单一整体像素MV或多假设预测中的多个整体像素MV。
在快速搜寻机制的又一实施范例中,DMVD模块304/314选择至少一个块的MV作为DMVD目标块的候选MV,其中上述至少一个块以及DMVD目标块位于不同图像中。请结合图5来参考图6,图6是依本发明又一快速搜寻机制范例的被选为DMVD目标块的候选MV的参考图像中块的MV的示意图。请注意,如图6所示,其仅用于给出范例,并非作为本发明的限定,块a-j的运动向量MV_a-MV_j被选为当前图像中的DMVD目标块502(图6中未画出)的候选MV,其中块e位于参考图像中的并列DMVD目标块602内,且块a-d以及f-j邻近于并列DMVD目标块602。随后,DMVD模块304/314依据候选MV决定当前图像中的DMVD目标块502的最终MV。应注意,子像素细化,例如1/2像素细化、1/4像素细化、或1/8像素细化,可应用于单假设预测中的单一整体像素MV或多假设预测中的多个整体像素MV。
请注意,可利用上述快速搜寻机制的实施范例的任意组合来选择MV作为DMVD目标块的候选MV。举例来说,当前图像中的块A、B、以及C的运动向量MV_A、MV_B、以及MV_C,运动向量MV_A、MV_B、以及MV_C的中数,参考图像中的块a-j的运动向量MV_a-MV_j都可被选为候选MV以获得当前图像中的DMVD目标块502的最终MV。
如图1所示,TM操作中所用模版仅限于具有固定模板大小M的反转L型模板104。然而,上述模板设计约束了DMVD操作的灵活性。在本发明的一个设计范例中,DMVD模块304/314可为DMVD目标块选择一个模板,其中模板与DMVD目标块位于同一图像中,且上述模板并非具有固定模板大小的反转L型模板。随后,通过依据特定设计的模板来执行TM操作,DMVD模块304/314搜寻至少一个参考图像来发现DMVD目标块的最终MV。图7是依本发明实施例的模板设计的第一范例的示意图。图8是依本发明实施例的模板设计的第二范例的示意图。如图7所示,模板范例为反转L型模板702,但其模板大小并非固定围绕DMVD目标块。即,自DMVD目标块704的上方扩充M1个像素以形成矩形模板,并自DMVD目标块704的左侧以及DMVD目标块704上方的矩形模板扩充M2个像素来定义反转L型模板702,其中M1不等于M2(M1≠M2)。如图8所示,模板范例为具有模板大小M的矩形模板802。即,自DMVD目标块804的上方扩充M个像素来定义矩形模板802。请注意,上述两个范例仅用于说明目的,并非作为本发明的限定。举例来说,任意并非具有固定模板大小的传统反转L型模板的模板都应属本发明的涵盖范围。
对于在多假设预测中以最低代价决定的DMVD目标块的一组最终MV,可使用权重混合操作(weighted blending operation)来决定最终预测块。举例来说,DMVD模块304/314依据多假设预测搜寻至少一个参考图像来决定DMVD目标块的多个最终MV,通过参考分别对应于多个最终MV的多个失真值(例如,SAD或SSD)来计算多个最终MV的权重因子,以及依据已计算的权重因子通过混合多个最终MV的多个预测块来决定最终预测块。失真值是自当前图像的模板以及分别对应于最终MV的置换模板获得。在一个设计范例中,最终MV的权重因子与最终MV各自的失真值成反比。换句话来说,最终MV的失真值越低,则赋予上述最终MV的权重因子越大。
在另一个实施例中,在多假设预测中,允许搜寻DMVD目标块的一组候选MV,且可使用用于模板失真值计算的权重混合操作来决定最终预测块。举例来说,当考虑N假设预测时,DMVD模块304/314自候选MV选择N个最终MV,依据预定义权重因子混合N个最终MV的N个模板以产生混合模板,以及计算当前图像的模板与至少一个参考图像的混合模板之间的失真值。最终预测块是混合自N个最终MV的N个预测块。DMVD模块304/314可选择至少两个不同组合的N个最终MV来产生多个混合模板,以及计算分别对应于多个混合模板的多个失真值。随后找到最小失真值以及通过混合对应于N个最终MV的具有最小失真值的预测块来决定最终预测块。
为提升运动估测准确性,本发明更提出利用较多参考帧/图像。举例来说,DMVD模块304/314依据至少一个原始参考图像产生至少一个虚拟参考图像,以及搜寻至少一个原始参考图像以及至少一个虚拟参考图像来决定DMVD目标块的最终MV。图9是依本发明实施例的多个虚拟参考图像F’1-F’4以及多个原始参考图像F1-F4的范例的示意图。应注意,可依据实际设计考虑来调节创建虚拟参考图像的数目。虚拟参考图像F’1-F’4中的每一个可依据一个或多个原始参考图像来创建。请注意,下文仅用于给出范例,并非作为本发明的限定,可通过对一个原始参考图像执行特定滤波操作来创建虚拟参考图像F’1,可通过对一个原始参考图像内的每一像素施加像素值偏移来创建虚拟参考图像F’2,可通过对一个原始参考图像执行缩放(scaling)操作来创建虚拟参考图像F’3,以及可通过旋转一个原始参考图像来创建虚拟参考图像F’4。由于在运动估测中利用较多参考图像,从而可获得较高准确性的MV。因此,以此方式可提升编码效率。
通常来说,编码器302的DMVD模块304以及解码器312的DMVD模块314几乎具有相同的DMVD搜寻负担来决定DMVD目标块的MV。在一个实施范例中,编码器302可帮助解码器312来减少DMVD搜寻复杂度。举例来说,DMVD编码操作是在编码器302执行,自在编码器302执行的DMVD编码操作获得的搜寻控制信息被送至解码器312,以使编码器302与解码器312之间存在非对称的DMVD搜寻复杂度。搜寻控制信息可指示包含待搜寻参考图像的搜寻空间。或者,搜寻控制信息可指示包含待搜寻参考图像、待搜寻有效参考图像、可省略搜寻的无效参考图像的搜寻范围,或者搜寻控制信息可指示用于可省略的DMVD目标块的MV细化操作。由于编码器302提供信息来指示解码器312如何执行DMVD操作,DMVD搜寻复杂度(例如,模板匹配复杂度)可被有效地降低。
本发明也提出一种通过DMVD模块304/314使用的适应性DMVD方法,因此很大程度地提升了DMVD灵活性。举例来说,在DMVD操作中,可适应性地选择诸如匹配准则(例如,SAD以及SSD)、搜寻位置模式(例如,全搜寻、各类快速搜寻机制、以及增强预测区域搜寻(Enhanced Predictive Zonal Search,以下简称为EPZS))、MV精准度(例如,整体像素MV精准度、1/2像素MV精准度、1/4像素MV精准度、以及1/8像素MV精准度)、假设数目(例如,2以及4)、模板形状、混合方法、以及虚拟参考帧数目的特性。下文将给出某些可行的方案范例。
对于第一可行方案,DMVD模块304/314依据第一匹配准则决定第一DMVD目标块的MV,以及依据不同于第一匹配准则的第二匹配准则决定第二DMVD目标块的MV,其中第一匹配准则与第二匹配准则之间的切换是在序列级别、图像组(Group Of Picture,以下简称为GOP)级别、帧级别、图像级别、部分画面级别、编码单元(MB或扩充MB)级别、预测单元(MB分配或扩充MB分配)级别、以及变换单元级别中的一个上控制。
对于第二可行方案,DMVD模块304/314依据第一搜寻位置模式决定第一DMVD目标块的MV,以及依据不同于第一搜寻位置模式的第二搜寻位置模式决定第二DMVD目标块的MV,其中第一搜寻位置模式与第二搜寻位置模式之间的切换是在序列级别、GOP级别、帧级别、图像级别、部分画面级别、编码单元(MB或扩充MB)级别、预测单元(MB分配或扩充MB分配)级别、以及变换单元级别中的一个上控制。
对于第三可行方案,DMVD模块304/314依据第一MV精准度模式决定第一DMVD目标块的MV,以及依据不同于第一MV精准度的第二MV精准度决定第二DMVD目标块的MV,其中第一MV精准度与第二MV精准度之间的切换是在序列级别、GOP级别、帧级别、图像级别、部分画面级别、编码单元(MB或扩充MB)级别、预测单元(MB分配或扩充MB分配)级别、以及变换单元级别中的一个上控制。
对于第四可行方案,DMVD模块304/314依据第一假设数目决定第一DMVD目标块的MV,以及依据不同于第一假设数目的第二假设数目决定第二DMVD目标块的MV,其中第一假设数目与第二假设数目之间的切换是在序列级别、GOP级别、帧级别、图像级别、部分画面级别、编码单元(MB或扩充MB)级别、预测单元(MB分配或扩充MB分配)级别、以及变换单元级别中的一个上控制。
对于第五可行方案,DMVD模块304/314通过执行利用第模板的TM操作来决定第一DMVD目标块的MV,以及通过执行利用第二模板的TM操作来决定第二DMVD目标块的MV,其中第二模板的模板形状不同于第模板的模板形状,且其中第模板与第二模板之间的切换是在序列级别、GOP级别、帧级别、图像级别、部分画面级别、编码单元(MB或扩充MB)级别、预测单元(MB分配或扩充MB分配)级别、以及变换单元级别中的一个上控制。
对于第六可行方案,DMVD模块304/314通过在多假设预测中对第一DMVD目标块的多个最终MV执行第一混合方法来决定第一DMVD目标块的MV,以及在多假设预测中对第二DMVD目标块的多个最终MV执行第二混合方法来决定第二DMVD目标块的MV,其中第一混合方法与第二混合方法利用不同的混合机制,且其中第一混合方法与第二混合方法之间的切换是在序列级别、GOP级别、帧级别、图像级别、部分画面级别、编码单元(MB或扩充MB)级别、预测单元(MB分配或扩充MB分配)级别、以及变换单元级别中的一个上控制。
对于第七可行方案,DMVD模块304/314依据一个或多个第一参考图像产生至少一个第一虚拟参考图像,搜寻第一参考图像以及第一虚拟参考图像来决定第一DMVD目标块的MV,依据一个或多个第二参考图像产生至少一个第二虚拟参考图像,搜寻第二参考图像以及第二虚拟参考图像来决定第二DMVD目标块的MV,其中第一虚拟参考图像数目不同于第二虚拟参考图像数目,且其中第一虚拟参考图像数目与第二虚拟参考图像数目之间的切换是在序列级别、GOP级别、帧级别、图像级别、部分画面级别、编码单元(MB或扩充MB)级别、预测单元(MB分配或扩充MB分配)级别、以及变换单元级别中的一个上控制。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (41)
1.一种解码端运动向量导出方法,包含:
检查将被编码的当前块的块大小并相应地产生检查结果;以及
利用解码端运动向量导出模块参考该检查结果来控制第一解码端运动向量导出控制信息的传输,该第一解码端运动向量导出控制信息是用来指示解码端运动向量导出编码操作是否被使用以编码该当前块,其中当该检查结果指示已满足预定准则时,在比特流中发送该第一解码端运动向量导出控制信息;否则,不发送该第一解码端运动向量导出控制信息。
2.如权利要求1所述的解码端运动向量导出方法,其特征在于:当发现该块大小等于预定块大小时,该预定准则已满足,以及该预定块大小为选择自8x8、16x16、32x32、64x64、或128x128的编码单元大小。
3.如权利要求1所述的解码端运动向量导出方法,更包含:
当该检查结果指示已满足该预定准则时,依据多个先前编码块的第一解码端运动向量导出控制信息对该当前块的该第一解码端运动向量导出控制信息执行内容适应性熵编码操作。
4.如权利要求3所述的解码端运动向量导出方法,其特征在于:该内容适应性熵编码操作决定该当前块的内容如下:
Context_C=Flag_A+Flag_B;或
Context_C=Flag_A+Flag_B*2;或
Context_C=Flag_A*2+Flag_B,其中Context_C代表该当前块的该内容,以及Flag_A与Flag_B分别代表该多个先前编码块中的一个的该第一解码端运动向量导出控制信息。
5.如权利要求1所述的解码端运动向量导出方法,更包含:
当该第一解码端运动向量导出控制信息指示该解码端运动向量导出编码操作被使用时,在该比特流中发送第二解码端运动向量导出控制信息,其中该第二解码端运动向量导出控制信息用于指示解码端运动向量导出省略模式是否被使用。
6.如权利要求5所述的解码端运动向量导出方法,更包含:
当该第一解码端运动向量导出控制信息指示该解码端运动向量导出编码操作被使用时,依据多个先前编码块的第二解码端运动向量导出控制信息对该当前块的该第二解码端运动向量导出控制信息执行内容适应性熵编码操作。
7.如权利要求6所述的解码端运动向量导出方法,其特征在于:该内容适应性熵编码操作决定该当前块的内容如下:
Context_C=Flag_A+Flag_B;或
Context_C=Flag_A+Flag_B*2;或
Context_C=Flag_A*2+Flag_B,其中Context_C代表该当前块的该内容,以及Flag_A与Flag_B分别代表该多个先前编码块中的一个的该第二解码端运动向量导出控制信息。
8.如权利要求1所述的解码端运动向量导出方法,更包含:
当该第一解码端运动向量导出控制信息指示该解码端运动向量导出编码操作被使用时,在该比特流中发送第二解码端运动向量导出控制信息,其中该第二解码端运动向量导出控制信息用于指示是否使能不同于非解码端运动向量导出运动向量精准度的特定运动向量精准度。
9.如权利要求8所述的解码端运动向量导出方法,更包含:
当该第一解码端运动向量导出控制信息指示该解码端运动向量导出编码操作被使用时,依据多个先前编码块的第二解码端运动向量导出控制信息对该当前块的该第二解码端运动向量导出控制信息执行内容适应性熵编码操作。
10.如权利要求9所述的解码端运动向量导出方法,其特征在于:该内容适应性熵编码操作决定该当前块的内容如下:
Context_C=Flag_A+Flag_B;或
Context_C=Flag_A+Flag_B*2;或
Context_C=Flag_A*2+Flag_B,其中Context_C代表该当前块的该内容,以及Flag_A与Flag_B分别代表该多个先前编码块的该第二解码端运动向量导出控制信息。
11.一种解码端运动向量导出方法,包含:
通过参考当前块的变换块大小,利用解码端运动向量导出模块设置解码端运动向量导出目标块的解码端运动向量导出目标块大小,其中该解码端运动向量导出目标块大小与该变换块大小一致;以及
决定该当前块内的该解码端运动向量导出目标块的最终运动向量。
12.一种解码端运动向量导出方法,包含:
通过解码端运动向量导出模块设置解码端运动向量导出运动向量精准度,包含:
使能特定运动向量精准度作为该解码端运动向量导出运动向量精准度,其中该特定运动向量精准度与非解码端运动向量导出运动向量精准度不同;以及
依据该解码端运动向量导出运动向量精准度决定解码端运动向量导出目标块的最终运动向量。
13.如权利要求12所述的解码端运动向量导出方法,其特征在于:该特定运动向量精准度高于任意非解码端运动向量导出运动向量精准度。
14.如权利要求13所述的解码端运动向量导出方法,其特征在于:更包含:
通过将该最终运动向量的该特定运动向量精准度截断至该非解码端运动向量导出运动向量精准度来调节该最终运动向量,以及相应地产生具有该非解码端运动向量导出运动向量精准度的已调节运动向量。
15.如权利要求12所述的解码端运动向量导出方法,其特征在于:该特定运动向量精准度是在部分画面级别或序列级别使能。
16.如权利要求12所述的解码端运动向量导出方法,其特征在于:设置该解码端运动向量导出运动向量精准度包含:
依据输入视频的分辨率来设置该解码端运动向量导出运动向量精准度;
其中该特定运动向量精准度是被使能作为用于具有第一分辨率的该输入视频的该解码端运动向量导出运动向量精准度;以及该非解码端运动向量导出运动向量精准度是被使能作为用于具有第二分辨率的该输入视频的该解码端运动向量导出运动向量精准度,且该第二分辨率比该第一分辨率高。
17.一种解码端运动向量导出方法,包含:
利用解码端运动向量导出模块为解码端运动向量导出目标块选择多个编码块的多个运动向量;
处理该多个编码块的该多个运动向量以计算候选运动向量;以及
至少依据该候选运动向量决定该解码端运动向量导出目标块的最终运动向量。
18.如权利要求17所述的解码端运动向量导出方法,其特征在于:该候选运动向量为该多个编码块的该多个运动向量的中数。
19.如权利要求17所述的解码端运动向量导出方法,更包含:
利用该解码端运动向量导出模块选择至少一个块的运动向量作为该解码端运动向量导出目标块的另一候选运动向量,以及
依据该多个候选运动向量决定该解码端运动向量导出目标块的该最终运动向量。
20.如权利要求19所述的解码端运动向量导出方法,其特征在于:该至少一个块以及该解码端运动向量导出目标块位于不同图像中。
21.一种解码端运动向量导出方法,包含:
利用解码端运动向量导出模块选择至少一个块的运动向量作为解码端运动向量导出目标块的候选运动向量,其中该至少一个块与该解码端运动向量导出目标块位于不同图像中;以及
至少依据该候选运动向量决定该解码端运动向量导出目标块的最终运动向量。
22.一种解码端运动向量导出方法,包含:
利用解码端运动向量导出模块为解码端运动向量导出目标块选择模板,其中该模板与该解码端运动向量导出目标块位于相同图像中,且该模板包含通过自该解码端运动向量导出目标块的上方扩充M个像素来定义的矩形模板;以及
依据该模板通过执行模板匹配操作搜寻至少一个参考图像来决定该解码端运动向量导出目标块的最终运动向量。
23.如权利要求22所述的解码端运动向量导出方法,其特征在于:该模板进一步包含自该解码端运动向量导出目标块以及该矩形模板的左侧扩充的M2个像素,且M2与M不相等。
24.一种解码端运动向量导出方法,包含:
依据多假设预测搜寻至少一个参考图像来决定解码端运动向量导出目标块的多个最终运动向量;
通过参考分别对应于该多个最终运动向量的多个失真值,利用解码端运动向量导出模块来计算该多个最终运动向量的多个权重因子;以及
依据该已计算的多个权重因子通过混合该多个最终运动向量的多个预测块来决定最终预测块。
25.如权利要求24所述的解码端运动向量导出方法,其特征在于:该多个失真值是自当前图像的模板以及分别对应于该多个最终运动向量的多个置换模板获得。
26.一种解码端运动向量导出方法,包含:
依据多假设预测搜寻至少一个参考图像来决定解码端运动向量导出目标块的多个候选运动向量;
利用解码端运动向量导出模块自该多个候选运动向量选择多个最终运动向量,依据多个预定义权重因子混合该多个最终运动向量的多个模板以产生混合模板,以及计算当前图像的模板以及该至少一个参考图像的该混合模板之间的失真值;以及
通过混合该多个最终运动向量的多个预测块来决定最终预测块。
27.如权利要求26所述的解码端运动向量导出方法,其特征在于:该解码端运动向量导出模块通过选择该多个最终运动向量的不同组合来产生多个混合模板以及计算多个失真值,以及通过混合该多个预测块来决定该最终预测块,该多个预测块对应于具有最小失真值的该多个最终运动向量。
28.一种解码端运动向量导出方法,包含:
依据至少一个原始参考图像利用解码端运动向量导出模块来产生至少一个虚拟参考图像;以及
搜寻该至少一个原始参考图像以及该至少一个虚拟参考图像来决定解码端运动向量导出目标块的最终运动向量。
29.如权利要求28所述的解码端运动向量导出方法,其特征在于:该多个虚拟参考图像是通过对该至少一个原始参考图像执行特定滤波操作、对该至少一个原始参考图像内的每一个像素施加像素值偏移、对该至少一个原始参考图像执行缩放操作、或旋转该至少一个原始参考图像而创建。
30.一种解码端运动向量导出方法,包含:
在编码器上执行解码端运动向量导出编码操作;以及
将自该编码器上执行的该解码端运动向量导出编码操作中获得的搜寻控制信息发送至解码器,以使该编码器与该解码器之间具有非对称的解码端运动向量导出搜寻复杂度。
31.如权利要求30所述的解码端运动向量导出方法,其特征在于:该搜寻控制信息指示包含待搜寻参考图像的搜寻空间或搜寻范围。
32.如权利要求30所述的解码端运动向量导出方法,其特征在于:该搜寻控制信息指示用于解码端运动向量导出目标块的省略运动向量细化操作。
33.一种解码端运动向量导出方法,包含:
依据第一特性利用解码端运动向量导出模块决定第一解码端运动向量导出目标块的运动向量;以及
依据不同于该第一特性的第二特性利用该解码端运动向量导出模块决定第二解码端运动向量导出目标块的运动向量。
34.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性之间的切换是在序列级别、图像组级别、帧级别、图像级别、部分画面级别、编码单元级别、预测单元级别、以及变换单元级别中的一个上控制。
35.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性为不同的匹配准则。
36.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性为不同的搜寻位置模式。
37.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性为不同的运动向量精准度。
38.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性为不同的假设数目。
39.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性为用于模板匹配操作的不同模板形状。
40.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性为用于多假设预测的不同混合机制。
41.如权利要求33所述的解码端运动向量导出方法,其特征在于:该第一特性与该第二特性为不同的虚拟参考图像数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510936875.7A CN105530516A (zh) | 2010-01-15 | 2010-12-14 | 解码端运动向量导出方法 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29522710P | 2010-01-15 | 2010-01-15 | |
US61/295,227 | 2010-01-15 | ||
US30660810P | 2010-02-22 | 2010-02-22 | |
US61/306,608 | 2010-02-22 | ||
US12/826,693 US20110176611A1 (en) | 2010-01-15 | 2010-06-30 | Methods for decoder-side motion vector derivation |
US12/826,693 | 2010-06-30 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510936875.7A Division CN105530516A (zh) | 2010-01-15 | 2010-12-14 | 解码端运动向量导出方法 |
CN201210515074XA Division CN102970543A (zh) | 2010-01-15 | 2010-12-14 | 解码端运动向量导出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102131091A true CN102131091A (zh) | 2011-07-20 |
CN102131091B CN102131091B (zh) | 2013-01-23 |
Family
ID=44268962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010586667 Expired - Fee Related CN102131091B (zh) | 2010-01-15 | 2010-12-14 | 解码端运动向量导出方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102131091B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797229A (zh) * | 2014-11-20 | 2017-05-31 | 寰发股份有限公司 | 运动向量和块向量分辨率控制方法 |
CN107534766A (zh) * | 2015-03-27 | 2018-01-02 | 高通股份有限公司 | 于视频译码中针对子块推导运动信息 |
GB2563943A (en) * | 2017-06-30 | 2019-01-02 | Canon Kk | Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses |
WO2019201264A1 (en) * | 2018-04-18 | 2019-10-24 | Mediatek Inc. | Candidate reorganizing with advanced control in video coding |
CN110431842A (zh) * | 2017-03-22 | 2019-11-08 | 高通股份有限公司 | 解码器侧运动向量导出 |
CN111193929A (zh) * | 2013-12-16 | 2020-05-22 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
WO2020211755A1 (en) * | 2019-04-14 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector and prediction sample refinement |
CN111886866A (zh) * | 2018-01-26 | 2020-11-03 | 联发科技股份有限公司 | 硬件友善限制的运动向量细化修正 |
CN112703730A (zh) * | 2018-09-14 | 2021-04-23 | 腾讯美国有限责任公司 | 视频编解码的方法和设备 |
CN112913239A (zh) * | 2018-10-22 | 2021-06-04 | 北京字节跳动网络技术有限公司 | 基于参考图片的解码器侧运动矢量推导 |
US20230007272A1 (en) * | 2018-02-05 | 2023-01-05 | Apple Inc. | Techniques of multi-hypothesis motion compensation |
WO2023093863A1 (en) * | 2021-11-26 | 2023-06-01 | Mediatek Singapore Pte. Ltd. | Local illumination compensation with coded parameters |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003090475A1 (fr) * | 2002-04-19 | 2003-10-30 | Matsushita Electric Industrial Co., Ltd. | Procede pour calculer un vecteur de mouvement |
US20050062885A1 (en) * | 2002-11-25 | 2005-03-24 | Shinya Kadono | Motion compensation method, picture coding method and picture decoding method |
WO2008108566A1 (en) * | 2007-03-02 | 2008-09-12 | Lg Electronics Inc. | A method and an apparatus for decoding/encoding a video signal |
-
2010
- 2010-12-14 CN CN 201010586667 patent/CN102131091B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003090475A1 (fr) * | 2002-04-19 | 2003-10-30 | Matsushita Electric Industrial Co., Ltd. | Procede pour calculer un vecteur de mouvement |
US20050062885A1 (en) * | 2002-11-25 | 2005-03-24 | Shinya Kadono | Motion compensation method, picture coding method and picture decoding method |
WO2008108566A1 (en) * | 2007-03-02 | 2008-09-12 | Lg Electronics Inc. | A method and an apparatus for decoding/encoding a video signal |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193929B (zh) * | 2013-12-16 | 2022-04-12 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
CN111193929A (zh) * | 2013-12-16 | 2020-05-22 | 浙江大学 | 一种前向双假设编码图像块的编解码方法和装置 |
CN106797229A (zh) * | 2014-11-20 | 2017-05-31 | 寰发股份有限公司 | 运动向量和块向量分辨率控制方法 |
CN106797229B (zh) * | 2014-11-20 | 2019-06-21 | 寰发股份有限公司 | 视频编码方法 |
CN107534766B (zh) * | 2015-03-27 | 2020-05-08 | 高通股份有限公司 | 于视频译码中针对子块推导运动信息方法、装置 |
US11330284B2 (en) | 2015-03-27 | 2022-05-10 | Qualcomm Incorporated | Deriving motion information for sub-blocks in video coding |
CN107534766A (zh) * | 2015-03-27 | 2018-01-02 | 高通股份有限公司 | 于视频译码中针对子块推导运动信息 |
US10958927B2 (en) | 2015-03-27 | 2021-03-23 | Qualcomm Incorporated | Motion information derivation mode determination in video coding |
CN110431842B (zh) * | 2017-03-22 | 2021-06-18 | 高通股份有限公司 | 解码器侧运动向量导出 |
CN110431842A (zh) * | 2017-03-22 | 2019-11-08 | 高通股份有限公司 | 解码器侧运动向量导出 |
CN111133759B (zh) * | 2017-06-30 | 2022-06-24 | 佳能株式会社 | 编码或解码视频数据的方法和装置 |
CN111133759A (zh) * | 2017-06-30 | 2020-05-08 | 佳能株式会社 | 存储器访问减少的fruc模式下编码或解码视频数据的方法和装置 |
GB2563943A (en) * | 2017-06-30 | 2019-01-02 | Canon Kk | Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses |
GB2563943B (en) * | 2017-06-30 | 2021-02-24 | Canon Kk | Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses |
US11202076B2 (en) | 2017-06-30 | 2021-12-14 | Canon Kabushiki Kaisha | Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses |
CN111886866A (zh) * | 2018-01-26 | 2020-11-03 | 联发科技股份有限公司 | 硬件友善限制的运动向量细化修正 |
CN111886866B (zh) * | 2018-01-26 | 2023-12-26 | 寰发股份有限公司 | 用于编码或解码视频序列的方法及电子装置 |
US20230007272A1 (en) * | 2018-02-05 | 2023-01-05 | Apple Inc. | Techniques of multi-hypothesis motion compensation |
US11924440B2 (en) * | 2018-02-05 | 2024-03-05 | Apple Inc. | Techniques of multi-hypothesis motion compensation |
CN112042196A (zh) * | 2018-04-18 | 2020-12-04 | 联发科技股份有限公司 | 在视频编解码中具有高级控制的候选重组 |
WO2019201264A1 (en) * | 2018-04-18 | 2019-10-24 | Mediatek Inc. | Candidate reorganizing with advanced control in video coding |
CN112703730A (zh) * | 2018-09-14 | 2021-04-23 | 腾讯美国有限责任公司 | 视频编解码的方法和设备 |
CN112913239A (zh) * | 2018-10-22 | 2021-06-04 | 北京字节跳动网络技术有限公司 | 基于参考图片的解码器侧运动矢量推导 |
WO2020211755A1 (en) * | 2019-04-14 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector and prediction sample refinement |
WO2023093863A1 (en) * | 2021-11-26 | 2023-06-01 | Mediatek Singapore Pte. Ltd. | Local illumination compensation with coded parameters |
Also Published As
Publication number | Publication date |
---|---|
CN102131091B (zh) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102131091B (zh) | 解码端运动向量导出方法 | |
CN102970543A (zh) | 解码端运动向量导出方法 | |
RU2744696C1 (ru) | Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения | |
JP6553691B2 (ja) | 候補リスト共有方法及びこのような方法を使用する装置 | |
CN104837024B (zh) | 用于解码合并模式下的运动信息的装置 | |
CN111131822B (zh) | 具有从邻域导出的运动信息的重叠块运动补偿 | |
CN105282558A (zh) | 帧内像素预测方法、编码方法、解码方法及其装置 | |
CN113366831B (zh) | 重叠块运动补偿和其他工具之间的协调 | |
Segall et al. | Parallel intra prediction for video coding | |
AU2018267557B2 (en) | Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector | |
JP2013098715A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
KR102125969B1 (ko) | 화면 내 예측 방법 및 이러한 방법을 사용하는 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130123 Termination date: 20201214 |