WO2019196650A1 - 一种运动矢量确定方法、装置及其设备 - Google Patents

一种运动矢量确定方法、装置及其设备 Download PDF

Info

Publication number
WO2019196650A1
WO2019196650A1 PCT/CN2019/079803 CN2019079803W WO2019196650A1 WO 2019196650 A1 WO2019196650 A1 WO 2019196650A1 CN 2019079803 W CN2019079803 W CN 2019079803W WO 2019196650 A1 WO2019196650 A1 WO 2019196650A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
target
image block
determining
edge
Prior art date
Application number
PCT/CN2019/079803
Other languages
English (en)
French (fr)
Inventor
陈方栋
王莉
武晓阳
Original Assignee
杭州海康威视数字技术股份有限公司
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 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Publication of WO2019196650A1 publication Critical patent/WO2019196650A1/zh

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/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/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Abstract

本申请提供一种运动矢量确定方法、装置及其设备,该方法包括:获取编码比特流,所述编码比特流携带运动矢量参数值;根据所述运动矢量参数值确定目标图像块的原始运动矢量和运动矢量决策信息;若所述运动矢量决策信息是第一指示信息,则根据所述原始运动矢量获取目标运动矢量;并根据所述目标运动矢量确定所述目标图像块的最终运动矢量。

Description

一种运动矢量确定方法、装置及其设备 技术领域
本申请涉及视频编解码技术领域,尤其涉及一种运动矢量确定方法、装置及其设备。
背景技术
为了达到节约码率的目的,视频图像都是经过编码后才传输的,完整的视频编码方法可以包括预测、变换、量化、熵编码、滤波等过程。其中,预测编码包括帧内编码和帧间编码,帧间编码是利用视频时间域的相关性,使用邻近帧的图像的像素预测当前帧图像的像素,以达到有效去除视频时域冗余的目的。
在帧间编码中,可以使用运动矢量(Motion Vector,MV)表示当前帧视频图像的目标图像块与参考帧视频图像的参考图像块之间的相对位移。例如,当前帧的视频图像A与参考帧的视频图像B存在很强的时域相关性,在需要传输视频图像A的图像块A1(例如目标图像块)时,则可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1(例如参考图像块),并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。
编码端可以将运动矢量发送给解码端,不是将图像块A1发送给解码端,解码端可以根据运动矢量和图像块B1得到图像块A1。显然,由于运动矢量占用的比特数小于图像块A1占用的比特数,因此,上述方式可以节约比特。
但是,若将视频图像A划分成大量图像块,在传输每个图像块的运动矢量时,也会占用比较多的比特数。为了进一步的节约比特,还可以利用相邻图像块之间的空间相关性,预测图像块A1的运动矢量。例如,可以将与图像块A1相邻的图像块A2的运动矢量,确定为图像块A1的运动矢量。基于此,编码端可以将图像块A2的索引值发送给解码端,而解码端可以基于该索引值确定图像块A2的运动矢量,就是图像块A1的运动矢量。由于图像块A2的索引值占用的比特数小于运动矢量占用的比特数,因此,上述方式可以进一步节约比特。
由于图像块A1的运动与图像块A2的运动可能存在差异,例如图像块A2的运动矢量与图像块A1的运动矢量可能并不一致,因此,将图像块A2的运动矢量确定为图像块A1的运动矢量,存在预测质量不高,预测错误等问题。
发明内容
本申请提供了一种运动矢量确定方法、装置及其设备,针对预测质量不高,预测错误等问题,可以提高运动矢量的精度,提高编码性能。
本申请提供一种运动矢量确定方法,应用于解码端,所述方法包括:
获取编码比特流,所述编码比特流携带运动矢量参数值;根据所述运动矢量参数值确定目标图像块的原始运动矢量和运动矢量决策信息;若所述运动矢量决策信息是第一指示信息,则根据所述原始运动矢量获取目标运动矢量;并根据所述目标运动矢量确定 所述目标图像块的最终运动矢量。
本申请提供一种运动矢量确定方法,应用于编码端,所述方法包括:
获取目标图像块的原始运动矢量;根据所述原始运动矢量获取目标运动矢量;根据所述原始运动矢量和所述目标运动矢量确定运动矢量决策信息;根据所述运动矢量决策信息向解码端发送编码比特流。
本申请提供一种运动矢量确定装置,应用于解码端,包括:
接收模块,用于获取编码比特流,所述编码比特流携带运动矢量参数值;第一确定模块,用于根据所述运动矢量参数值确定目标图像块的原始运动矢量和运动矢量决策信息;获取模块,用于当所述运动矢量决策信息是第一指示信息时,根据所述原始运动矢量获取目标运动矢量;第二确定模块,用于根据所述目标运动矢量确定所述目标图像块的最终运动矢量。
本申请提供一种运动矢量确定装置,应用于编码端,包括:
获取模块,用于获取目标图像块的原始运动矢量,并根据所述原始运动矢量获取目标运动矢量;确定模块,用于根据所述原始运动矢量和所述目标运动矢量确定运动矢量决策信息;发送模块,用于根据所述运动矢量决策信息向解码端发送编码比特流。
本申请提供一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述的方法步骤。
本申请提供一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述的方法步骤。
由以上技术方案可见,本申请实施例中,可以根据原始运动矢量获取目标运动矢量,并根据目标运动矢量确定目标图像块的最终运动矢量,从而提高运动矢量的精度,提高编码性能。
附图说明
图1A和图1B是本申请一种实施方式中的运动矢量的示意图;
图2是本申请一种实施方式中的运动矢量确定方法的流程图;
图3A是本申请另一种实施方式中的运动矢量确定方法的流程图;
图3B-1、3B-2至图3D-1、3D-2是本申请一种实施方式中的目标图像块的模板示意图;
图4是本申请另一种实施方式中的运动矢量确定方法的流程图;
图5是本申请另一种实施方式中的运动矢量确定方法的流程图;
图6是本申请另一种实施方式中的运动矢量确定方法的流程图;
图7是本申请另一种实施方式中的运动矢量确定方法的流程图;
图8是本申请另一种实施方式中的运动矢量确定方法的流程图;
图9是本申请一种实施方式中的运动矢量确定装置的结构图;
图10是本申请另一种实施方式中的运动矢量确定装置的结构图;
图11是本申请一种实施方式中的解码端设备的硬件结构图;
图12是本申请一种实施方式中的编码端设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种运动矢量确定方法,可以应用于帧间编码技术中。在帧间编码技术中,可以使用运动矢量表示当前帧视频图像的目标图像块与参考帧视频图像的参考图像块之间的相对位移。参见图1A和图1B所示,视频图像A是当前帧视频图像,图像块A1是目标图像块,视频图像B是视频图像A的参考帧视频图像,图像块B1是图像块A1的参考图像块。由于视频图像A与视频图像B存在很强的时域相关性,在需要传输视频图像A的图像块A1时,可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1,并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。例如,运动矢量为(-6,4),该运动矢量表示图像块B1与图像块A1相比,在水平方向上,向左移动6个像素点,在垂直方向上,向上移动4个像素点。
编码端向解码端发送编码比特流时,编码比特流携带的是图像块A1的运动矢量(-6,4),不是图像块A1。解码端接收到编码比特流后,可以获得图像块A1的运动矢量(-6,4),基于图像块A1的位置和运动矢量(-6,4),在视频图像B中确定图像块B1的位置,例如:在图像块A1的位置上,向左移动6个像素点,向上移动4个像素点,得到的是图像块B1的位置,从图像块B1的位置读取图像块B1,利用图像块B1对图像块A1进行重建。由于图像块B1和图像块A1的相似度很高,因此利用图像块B1对图像块A1进行重建,可重建出相似度很高的图像。由于运动矢量占用的比特数小于图像块A1占用的比特数,因此通过在编码比特流携带运动矢量,而不是携带图像块A1,从而节约大量比特。
进一步的,若视频图像A包括大量图像块,则每个图像块的运动矢量也会占用比较 多的比特,因此,为了进一步的节约比特数,本申请实施例中,还可以利用相邻图像块的运动矢量确定图像块A1的运动矢量。例如,在视频图像A中,与图像块A1相邻的图像块可以包括:图像块A2、图像块A3、图像块A4和图像块A5,在运动矢量列表中包括图像块A2的运动矢量A21、图像块A3的运动矢量A31、图像块A4的运动矢量A41和图像块A5的运动矢量A51。
为了确定图像块A1的运动矢量,可以从运动矢量列表选择一个运动矢量,假设选择运动矢量A21,将运动矢量A21作为原始运动矢量。然后,利用原始运动矢量A21获取目标运动矢量,该目标运动矢量可以作为图像块A1的最终运动矢量。在上述方式中,不是直接将原始运动矢量A21作为图像块A1的最终运动矢量,而是根据原始运动矢量A21获取目标运动矢量,该目标运动矢量与图像块A1的运动矢量更为接近,因此,可以将该目标运动矢量作为图像块A1的最终运动矢量。与“将原始运动矢量A21直接作为图像块A1的最终运动矢量”的方式相比,本公开提供的“将目标运动矢量作为图像块A1的最终运动矢量”的方式,可以提高预测质量,减少预测错误。
根据本申请提供的实施例,编码端在向解码端发送编码比特流时,编码比特流携带的是原始运动矢量A21的索引值(例如在运动矢量列表中的索引值),而不是图像块A1的运动矢量(-6,4),更不是图像块A1。解码端接收到编码比特流后,可以获得原始运动矢量A21的索引值,并根据该索引值从运动矢量列表中获取原始运动矢量A21,然后使用和编码端相同的方法,根据原始运动矢量A21获取目标运动矢量,该目标运动矢量也就是图像块A1的最终运动矢量。根据该最终运动矢量,可以重建图像块A1。显然,由于索引值占用的比特数小于运动矢量占用的比特数,因此可以进一步节约比特。
以下结合具体的实施例,对上述运动矢量确定方法进行详细说明。
实施例一
参见图2所示,为运动矢量确定方法的流程示意图,该方法可以包括如下步骤。
步骤201,编码端获取目标图像块的原始运动矢量。
假设目标图像块是图像块A1,在编码端的运动矢量列表依次包括运动矢量A21、运动矢量A31、运动矢量A41和运动矢量A51,则编码端可以从运动矢量列表中选择一个运动矢量,而选择的运动矢量就是图像块A1的原始运动矢量。
编码端从运动矢量列表中选择一个运动矢量,可以包括:编码端从运动矢量列表中选择第一个运动矢量;或者,从运动矢量列表中选择最后一个运动矢量;或者,从运动矢量列表中随机选择第一个运动矢量;或者,采用hash(哈希)算法从运动矢量列表中选择第一个运动矢量。当然,上述方式只是几个示例,对此不做限制,只要能够从运动矢量列表中选择运动矢量即可。
运动矢量列表用于记录与目标图像块相邻的图像块的运动矢量。例如,在得到图像块A2的运动矢量A21后,可以将运动矢量A21记录到该运动矢量列表,在得到图像块A3的运动矢量A31后,可以将运动矢量A31记录到该运动矢量列表,以此类推,最终,可以得到图像块A1的运动矢量列表。对于编码端和解码端来讲,使用同一预先约定的规则得到目标图像块A1的运动矢量列表。
步骤202,编码端根据原始运动矢量获取目标运动矢量。所述目标运动矢量与所述原始运动矢量可以不同。
在一种实现方式中,编码端根据原始运动矢量获取目标运动矢量,可以包括:利用目标图像块的相邻图像块的信息,获取目标图像块的模板(Template);基于目标图像块的模板,以原始运动矢量为中心搜索目标运动矢量。
对于目标图像块的模板,可以包括模板的形状,模板的尺寸,模板包括的相邻图像块。模板的形状可以预先确定,例如,为L形。目标图像块的模板的具体尺寸可以根据目标图像块的尺寸确定。模板包括的相邻图像块也可以预先确定。目标图像块的模板的参数信息,由目标图像块的相邻图像块的信息确定。
目标图像块的相邻图像块可以包括:目标图像块的空域相邻图像块;或者,目标图像块的时域相邻图像块;对此相邻图像块不做限制。
相邻图像块的信息,可以包括:相邻图像块的重建信息和/或相邻图像块的预测信息。该重建信息可以包括亮度值、色度值等;该预测信息可以是能够获取重建信息的中间值,例如,若能够利用中间值A获取到亮度值,则中间值A就是预测信息,对此预测信息不做限制。
当然,相邻图像块的信息也可以是相邻图像块的其它信息,对此不做限制,只要利用相邻图像块的信息能够获取目标运动矢量即可。
步骤202的处理可以参见实施例二或者实施例三,在此先不描述。
步骤203,编码端根据该原始运动矢量和该目标运动矢量确定运动矢量决策信息。所述运动矢量决策信息可以包括第一指示信息和第二指示信息。所述第一指示信息用于指示采用目标运动矢量确定最终运动矢量,所述第二指示信息用于指示采用原始运动矢量确定最终运动矢量。
编码端根据该原始运动矢量和该目标运动矢量确定运动矢量决策信息,可以包括:编码端获取该原始运动矢量的编码性能和该目标运动矢量的编码性能。若该目标运动矢量的编码性能优于该原始运动矢量的编码性能,则可以确定运动矢量决策信息是第一指示信息;若该原始运动矢量的编码性能优于该目标运动矢量的编码性能,则可以确定运动矢量决策信息是第二指示信息。
编码端获取该原始运动矢量的编码性能和该目标运动矢量的编码性能的过程,可以参见后续的实施例四或者实施例五,在此先不描述。
步骤204,编码端根据该运动矢量决策信息向解码端发送编码比特流。
编码端根据该运动矢量决策信息向解码端发送编码比特流,可以包括:向解码端发送携带运动矢量参数值的编码比特流,运动矢量参数值可以包括原始运动矢量在运动矢量列表中的索引值,例如,若原始运动矢量为运动矢量A21,且运动矢量A21是运动矢量列表的第一个运动矢量,则该索引值为1。
若采用显式策略向解码端发送编码比特流,则运动矢量参数值还可以包括与该运动矢量决策信息对应的显式标记。例如,当该运动矢量决策信息为第一指示信息时,则运 动矢量参数值包括的显式标记为第一标识;当该运动矢量决策信息为第二指示信息时,则运动矢量参数值包括的显式标记为第二标识。
编码端和解码端还可以协商运动矢量决策策略,如运动矢量决策策略为默认第一指示信息;或,默认第二指示信息;或,采用相邻图像块的运动矢量决策信息。基于此,编码端还可以根据运动矢量决策信息(例如步骤203中确定的运动矢量决策信息)和运动矢量决策策略确定采用显式策略还是隐式策略。
例如,若运动矢量决策策略为默认第一指示信息,运动矢量决策信息是第一指示信息,运动矢量决策策略和运动矢量决策信息相同,则可以采用隐式策略向解码端发送编码比特流,例如编码比特流的运动矢量参数值未包括显式标记。若运动矢量决策信息是第二指示信息,运动矢量决策策略和运动矢量决策信息不同,则可以采用显式策略向解码端发送编码比特流,例如编码比特流的运动矢量参数值包括显式标记。
又例如,若运动矢量决策策略为默认第二指示信息,且运动矢量决策信息是第二指示信息,则可以采用隐式策略向解码端发送编码比特流;若运动矢量决策信息是第一指示信息,则可以采用显式策略向解码端发送编码比特流。
又例如,若运动矢量决策策略为采用相邻图像块的运动矢量决策信息,且相邻图像块对应第一指示信息,则当运动矢量决策信息是第一指示信息时,可以采用隐式策略向解码端发送编码比特流;当运动矢量决策信息是第二指示信息时,可以采用显式策略向解码端发送编码比特流。所采用相邻图像块为编码端和解码端预先约定好的某个相邻图像块,例如,编码端和解码端都采用相邻图像块A2的运动矢量决策信息。或者,相邻图像块对应第二指示信息时,则当运动矢量决策信息是第二指示信息时,可以采用隐式策略向解码端发送编码比特流;当运动矢量决策信息是第一指示信息时,可以采用显式策略向解码端发送编码比特流。
作为一种示例,编码端向解码端发送携带运动矢量参数值的编码比特流时,还可以对运动矢量参数值进行编码,在编码比特流中添加编码后的运动矢量参数值。
由以上技术方案可见,可以根据原始运动矢量获取目标运动矢量,并根据目标运动矢量确定目标图像块的最终运动矢量,而不是直接将原始运动矢量作为目标图像块的最终运动矢量,从而提高运动矢量的精度,提高编码性能。
实施例二
在步骤202中,编码端根据原始运动矢量获取目标运动矢量,其实现流程可以参见图3A,该流程可以包括以下步骤。
步骤301,编码端利用目标图像块的相邻图像块的信息,获取该目标图像块的模板。相邻图像块可以是目标图像块的空域相邻图像块(例如同一帧视频图像中的相邻图像块);或者,目标图像块的时域相邻图像块(例如不同帧视频图像中的相邻图像块),后续以空域相邻图像块为例进行说明。
在视频编码过程中,是对每个图像块逐一编码,在对目标图像块编码时,若目标图像块周围的相邻图像块已经重建完成,则可以利用相邻图像块的信息对目标图像块进行重建,而模板就是目标图像块的相邻图像块的信息。因此利用目标图像块的相邻图像块 的信息获取目标图像块的模板。
例如,参见图3B-1和图3B-2所示,假设图像块A1是目标图像块,图像块A2和图像块A3是图像块A1的相邻图像块,则图像块A2的信息和图像块A3的信息,可以是图像块A1的模板。图像块A1的模板包括:图像块A2的每个像素点的亮度值和/或色度值,图像块A3的每个像素点的亮度值和/或色度值。
例如,图像块可以采用YCbCr的颜色空间,Y分量为亮度值,Cb分量和Cr分量为色度值。图像块还可以采用RGB等其它方式,对此不做限制。
步骤302,编码端根据原始运动矢量确定中心运动矢量。
例如,可以将步骤201中选择的原始运动矢量A21确定为中心运动矢量。在后续过程中,编码端也可以选取编码性能最优的一个运动矢量作为新的中心运动矢量,该过程将在后续实施例中介绍,在此先不描述。
步骤303,编码端确定与该中心运动矢量对应的第一边缘运动矢量。
作为一种示例,编码端确定与该中心运动矢量对应的第一边缘运动矢量,可以包括:将该中心运动矢量(x,y)向不同方向偏移S,从而得到不同方向的第一边缘运动矢量(x-S,y)、第一边缘运动矢量(x+S,y)、第一边缘运动矢量(x,y+S)、第一边缘运动矢量(x,y-S)。例如,在水平方向上,可以将中心运动矢量(x,y)向左偏移S,得到第一边缘运动矢量(x-S,y);在水平方向上,可以将中心运动矢量(x,y)向右偏移S,得到第一边缘运动矢量(x+S,y);在垂直方向上,可以将中心运动矢量(x,y)向上偏移S,得到第一边缘运动矢量(x,y+S);在垂直方向上,可以将中心运动矢量(x,y)向下偏移S,得到第一边缘运动矢量(x,y-S)。
作为一种示例,S的初始值可以根据经验配置,如可以为2、4、8、16等。
假设中心运动矢量为(3,3),S为4,则第一边缘运动矢量包括第一边缘运动矢量(7,3)、第一边缘运动矢量(3,7)、第一边缘运动矢量(-1,3)、第一边缘运动矢量(3,-1)。
步骤304,编码端根据目标图像块的模板获得中心运动矢量的编码性能,并根据目标图像块的模板获得第一边缘运动矢量的编码性能。
第一部分,编码端根据目标图像块的模板获得中心运动矢量的编码性能,可以包括:根据目标图像块的模板的参数信息、所述中心运动矢量指向的模板的参考图像块的参数信息,确定中心运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定中心运动矢量的编码性能。
作为一种示例,上述参数信息可以为亮度值;或者,可以为亮度值和色度值。
假设参数信息为亮度值,为了确定中心运动矢量的编码性能,先获取目标图像块的模板的亮度值、中心运动矢量指向的模板的参考图像块的亮度值。
参见步骤301所示,图像块A1(例如目标图像块)的模板的亮度值,可以包括图像块A2的每个像素点的亮度值、图像块A3的每个像素点的亮度值。
参见图3C-1和图3C-2所示,图像块A1的模板包括图像块A2和图像块A3,假设图像块A2对应的参考图像块是图像块B2,图像块A3对应的参考图像块是图像块B3,中心运动矢量为(3,3),则中心运动矢量指向的模板的参考图像块可以包括:利用中心运动矢量(3,3)移动图像块B2和图像块B3,分别得到与图像块B2对应的图像块B2’(如向右移动3个像素点,向上移动3个像素点)、以及与图像块B3对应的图像块B3’(如向右移动3个像素点,向上移动3个像素点)。参见图3D-1和图3D-2所示,为图像块B2’和图像块B3’的示意图,而图像块B2’和图像块B3’就是中心运动矢量指向的模板的参考图像块,可以从视频图像B中获取图像块B2’的每个像素点的亮度值、图像块B3’的每个像素点的亮度值。
进一步,基于图像块A2的每个像素点的亮度值、图像块A3的每个像素点的亮度值、图像块B2’的每个像素点的亮度值、图像块B3’的每个像素点的亮度值,还可以采用如下公式(1)确定中心运动矢量的相似程度:
Figure PCTCN2019079803-appb-000001
其中,SAD可以是可用绝对差总和,其用于表示中心运动矢量的相似程度。TM i表示图像块A2和图像块A3中的第i个像素点的亮度值,TMP i表示图像块B2’和图像块B3’中的第i个像素点的亮度值,M表示像素点的总数量。
假设参数信息为亮度值和色度值,则可以利用上述公式(1)确定中心运动矢量的亮度值相似程度SAD,并可以采用如下公式(2)确定中心运动矢量的色度值相似程度CSAD:
Figure PCTCN2019079803-appb-000002
其中,CSAD可以是可用绝对差总和,用于表示中心运动矢量的色度值相似程度,CTM i表示图像块A2和图像块A3中第i个像素点的色度值,CTMP i表示图像块B2’和图像块B3’中第i个像素点的色度值,Mc表示像素点总数量。
然后可以对公式(1)得到的亮度值相似程度SAD和公式(2)得到的色度值相似程度CSAD求平均,所得到平均值就可以是中心运动矢量的相似程度。
在得到中心运动矢量的相似程度后,可以根据该相似程度和编码所需的实际比特数,确定中心运动矢量的编码性能。例如,可以采用RDO(Rate Distortion Optimized,率失真原则)确定中心运动矢量的编码性能,而RDO通常采用公式(3)确定中心运动矢量的编码性能:
J=D+λ*R     (3),
其中,J表示编码性能,D表示相似程度,λ是拉格朗日乘子,是根据经验配置的数值,R是图像块编码所需的实际比特a数,例如步骤204中发送的编码比特流携带信息的比特总和。
第二部分,编码端根据目标图像块的模板获得第一边缘运动矢量的编码性能,可以 包括:根据目标图像块的模板的参数信息、所述第一边缘运动矢量指向的模板的参考图像块的参数信息,确定第一边缘运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定第一边缘运动矢量的编码性能。
作为一种示例,上述参数信息可以为亮度值;或者,可以为亮度值和色度值。
第二部分的处理过程与第一部分的处理过程类似,区别在于:根据第一边缘运动矢量移动图像块B2和图像块B3,得到图像块B2’和图像块B3’,而不是根据中心运动矢量移动图像块B2和图像块B3。根据上述公式(1)-(3),编码端可以得到第一边缘运动矢量(7,3)的编码性能、第一边缘运动矢量(3,7)的编码性能、第一边缘运动矢量(-1,3)的编码性能、第一边缘运动矢量(3,-1)的编码性能,对此过程不再重新赘述。
步骤305,编码端根据中心运动矢量的编码性能和第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量。
作为一种示例,编码端可以从中心运动矢量和第一边缘运动矢量中选择编码性能最优的运动矢量;若该编码性能最优的运动矢量不是原始运动矢量,则可以将该编码性能最优的运动矢量确定为目标运动矢量;若该编码性能最优的运动矢量是原始运动矢量,则编码端可以从中心运动矢量和第一边缘运动矢量中选择编码性能次优的运动矢量,并将编码性能次优的运动矢量确定为目标运动矢量。
例如,若编码性能最优的运动矢量是第一边缘运动矢量(7,3),则编码端可以将第一边缘运动矢量(7,3)确定为目标运动矢量。若编码性能最优的运动矢量是中心运动矢量为(3,3),也就是原始运动矢量,则编码端还可以将编码性能次优的运动矢量(如第一边缘运动矢量(7,3))确定为目标运动矢量。
实施例三
在步骤202中,编码端根据原始运动矢量获取目标运动矢量,其实现流程可以参见图4所示,该流程可以包括以下步骤:
步骤401,编码端利用目标图像块的相邻图像块(如空域相邻图像块或者时域相邻图像块)的信息,获取该目标图像块的模板。
步骤402,编码端根据原始运动矢量确定中心运动矢量。
步骤403,编码端确定与该中心运动矢量对应的第一边缘运动矢量。
步骤404,编码端根据目标图像块的模板获得中心运动矢量的编码性能,并根据目标图像块的模板获得第一边缘运动矢量的编码性能。
步骤401-步骤404可以参见步骤301-步骤304,在此不再赘述。
步骤405,编码端判断是否满足结束条件。
如果是,则可以执行步骤407;如果否,则可以执行步骤406。
示例性的,所述结束条件可以包括:迭代次数达到次数阈值,如步骤403-步骤405的执行次数已经达到次数阈值。或者,执行时间达到时间阈值,如确定目标运动矢量的 时间已经达到时间阈值。或者,步骤403中的参数S已经被修改为预设数值,如1。上述只是几个示例,对此结束条件不做限制。
步骤406,编码端从中心运动矢量和第一边缘运动矢量中选择编码性能最优的运动矢量,将编码性能最优的运动矢量确定为新的中心运动矢量,并返回步骤403。
例如,若编码性能最优的运动矢量是第一边缘运动矢量(7,3),则可以将第一边缘运动矢量(7,3)确定为中心运动矢量,并重新执行步骤403,以此类推。
当第一次执行步骤403时,参数S的取值可以为初始值,如可以为16。当再次执行步骤403时,先对参数S的取值进行调整,如调整为上次参数S减去2,或者,调整为上次参数S的一半等,对此不做限制,只要小于上次参数S即可。例如,调整为上次参数S的一半,则当第二次执行步骤403时,则参数S的取值为8;当第三次执行步骤403时,则参数S的取值为4;以此类推。
在一个实施方式中,对参数S的取值进行调整后,先判断调整后的参数S是否小于或等于预设数值,如1。如果否,则可以基于调整后的参数S执行步骤403,对此过程不再赘述。如果是,则可以将参数S的取值设置为1,并基于该参数S(例如取值1)执行步骤403,而在执行到步骤405时,判断结果为满足结束条件。
步骤407,编码端根据中心运动矢量的编码性能和第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量。
步骤407的处理可以参见步骤305,在此不再赘述。
实施例四
在步骤203中,编码端根据原始运动矢量和目标运动矢量确定运动矢量决策信息之前,先获取原始运动矢量的编码性能和目标运动矢量的编码性能。
作为一种示例,获取原始运动矢量的编码性能,可以包括:根据目标图像块的模板的参数信息、原始运动矢量指向的模板的参考图像块的参数信息,确定该原始运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定该原始运动矢量的编码性能。上述参数信息可以为亮度值;或者,亮度值和色度值。
作为一种示例,获取原始运动矢量的编码性能的过程,可以参见步骤304中的第一部分,区别在于:利用原始运动矢量移动图像块B2和图像块B3,得到图像块B2’和图像块B3’,而不是利用中心运动矢量移动图像块B2和图像块B3。最终,编码端可以得到原始运动矢量的编码性能,对此编码性能的获取方式不再赘述。
作为一种示例,为了获取目标运动矢量的编码性能,编码端可以采用如下方式:
方式一、在获取目标运动矢量时,可以不区分目标运动矢量的亮度分量和色度分量。基于此,获取目标运动矢量的编码性能,可以包括:根据目标图像块的模板的参数信息、目标运动矢量指向的模板的参考图像块的参数信息,确定目标运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定目标运动矢量的编码性能。上述参数信息为亮度值;或者,亮度值和色度值。
获取目标运动矢量的编码性能的过程,参见步骤304中的第一部分,区别在于: 是利用目标运动矢量移动图像块B2和图像块B3,在此不再赘述。
方式二、编码端在获取目标运动矢量时,可以区分目标运动矢量的亮度分量和色度分量,因此,编码端可以获取用于亮度分量预测的亮度目标运动矢量和用于色度分量预测的色度目标运动矢量。例如,目标运动矢量可以包括用于亮度分量预测的亮度目标运动矢量和用于色度分量预测的色度目标运动矢量。
基于此,获取目标运动矢量的编码性能,可以包括:编码端根据目标图像块的模板的参数信息、亮度目标运动矢量指向的模板的参考图像块的参数信息,确定亮度目标运动矢量的相似程度;根据目标图像块的模板的参数信息、色度目标运动矢量指向的模板的参考图像块的参数信息,确定色度目标运动矢量的相似程度;根据该亮度目标运动矢量的相似程度、该色度目标运动矢量的相似程度、编码所需的实际比特数,确定目标运动矢量的编码性能。
编码端确定亮度目标运动矢量的相似程度时,其处理过程可以参见步骤304中的第一部分区别在于:利用亮度目标运动矢量移动图像块B2和图像块B3,而不是利用中心运动矢量移动图像块B2和图像块B3;编码端使用的参数信息是亮度值,而不是亮度值和色度值;其它的处理类似,在此不再赘述。
编码端确定色度目标运动矢量的相似程度时,其处理过程可以参见步骤304中的第一部分,区别在于:利用色度目标运动矢量移动图像块B2和图像块B3,而不是利用中心运动矢量移动图像块B2和图像块B3;编码端使用的参数信息是色度值,而不是亮度值,也不是亮度值和色度值;其它处理类似,在此不再赘述。
编码端根据亮度目标运动矢量的相似程度、色度目标运动矢量的相似程度、编码所需的实际比特数,确定目标运动矢量的编码性能,可以包括:编码端可以根据亮度目标运动矢量的相似程度和编码所需的实际比特数,确定第一编码性能;编码端可以根据色度目标运动矢量的相似程度和编码所需的实际比特数,确定第二编码性能。例如,编码端可以对第一编码性能和第二编码性能取平均值,从而可以得到目标运动矢量的编码性能。
在方式二中,编码端需要获取亮度目标运动矢量和色度目标运动矢量,而亮度目标运动矢量和色度目标运动矢量可以相同或者不同。若在编码端配置亮度目标运动矢量和色度目标运动矢量相同的指示信息,则采用实施例二或者实施例三得到目标运动矢量后,可以将该目标运动矢量确定为亮度目标运动矢量,并将该目标运动矢量确定为色度目标运动矢量。在一种实现方式中,若在编码端配置亮度目标运动矢量和色度目标运动矢量不同的指示信息,则采用实施例二或者实施例三得到目标运动矢量后,可以将该目标运动矢量确定为亮度目标运动矢量,并根据该亮度目标运动矢量获取色度目标运动矢量。针对根据该亮度目标运动矢量获取色度目标运动矢量的过程,可以参见实施例五。
需要注意的是,在一种实现方式中,可以在编码端设置指示信息,用于指示亮度目标运动矢量和色度目标运动矢量相同或不同。在另一种实现方式中,还可以在编码比特流中包括该指示信息,用于指示目标图像块的亮度目标运动矢量和色度目标运动矢量是否相同。
实施例五
在得到亮度目标运动矢量后,编码端根据该亮度目标运动矢量获取色度目标运动矢量的过程,其实现流程可以参见图5所示,该流程可以包括以下步骤:
步骤501,编码端确定与该亮度目标运动矢量对应的第二边缘运动矢量。
编码端确定与该亮度目标运动矢量对应的第二边缘运动矢量,可以包括:编码端将该亮度目标运动矢量(mx,my)向不同方向偏移W,从而得到不同方向的第二边缘运动矢量(mx-W,my)、第二边缘运动矢量(mx+W,my)、第二边缘运动矢量(mx,my+W)、第二边缘运动矢量(mx,my-W)。例如,在水平方向上,可以将亮度目标运动矢量(mx,my)向左偏移W,得到第二边缘运动矢量(mx-W,my);在水平方向上,可以将亮度目标运动矢量(mx,my)向右偏移W,得到第二边缘运动矢量(mx+W,my);在垂直方向上,可以将亮度目标运动矢量(mx,my)向上偏移W,得到第二边缘运动矢量(mx,my+W);在垂直方向上,可以将亮度目标运动矢量(mx,my)向下偏移W,得到第二边缘运动矢量(mx,my-W)。
W的取值可以根据经验配置,如可以为1、2、4、8、16等。假设亮度目标运动矢量为(3,3),S为1,则第二边缘运动矢量包括第二边缘运动矢量(4,3)、第二边缘运动矢量(3,4)、第二边缘运动矢量(2,3)、第二边缘运动矢量(3,2)。
步骤502,编码端根据目标图像块的模板获得亮度目标运动矢量的编码性能,并根据目标图像块的模板获得第二边缘运动矢量的编码性能。
编码端根据目标图像块的模板获得亮度目标运动矢量的编码性能,可以包括:根据目标图像块的模板的色度值、该亮度目标运动矢量指向的模板的参考图像块的色度值,确定亮度目标运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定亮度目标运动矢量的编码性能。
参见步骤301所示,目标图像块A1的模板的色度值,可以包括图像块A2的每个像素点的色度值,图像块A3的每个像素点的色度值。参见图3C-1和图3C-2所示,图像块A1的模板包括图像块A2和图像块A3,假设图像块A2对应的参考图像块是图像块B2,图像块A3对应的参考图像块是图像块B3,亮度目标运动矢量为(3,3),则亮度目标运动矢量指向的模板的参考图像块包括:利用亮度目标运动矢量为(3,3)移动图像块B2和图像块B3,得到与图像块B2对应的图像块B2’、与图像块B3对应的图像块B3’,而图像块B2’和图像块B3’就是亮度目标运动矢量指向的模板的参考图像块,可以从视频图像B中获取图像块B2’的每个像素点的色度值、图像块B3’的每个像素点的色度值。
进一步,基于图像块A2的每个像素点的色度值、图像块A3的每个像素点的色度值、图像块B2’的每个像素点的色度值、图像块B3’的每个像素点的色度值,采用上述公式(2)确定亮度目标运动矢量的相似程度。
在得到亮度目标运动矢量的相似程度后,可以根据相似程度和编码所需的实际比特数,确定亮度目标运动矢量的编码性能。如采用上述公式(3)确定亮度目标运动矢量的编码性能。
编码端根据目标图像块的模板获得第二边缘运动矢量的编码性能,可以包括:编码端根据目标图像块的模板的色度值、第二边缘运动矢量指向的模板的参考图像块的色度值,确定该第二边缘运动矢量的相似程度,并根据该相似程度和编码所需的实际比特数,确定第二边缘运动矢量的编码性能。
编码端获得第二边缘运动矢量的编码性能的过程,与亮度目标运动矢量的编码性能的获得方式类似,区别在于:利用第二边缘运动矢量移动图像块B2和图像块B3,而不是利用亮度目标运动矢量移动图像块B2和图像块B3,在此不再赘述。
步骤503,编码端从亮度目标运动矢量和第二边缘运动矢量中选择编码性能最优的运动矢量,并将编码性能最优的运动矢量确定为色度目标运动矢量。
步骤503的处理可以参见步骤305,在此不再赘述。
实施例六
参见图6所示,为运动矢量确定方法的流程示意图,该方法可以包括:
步骤601,解码端获取编码比特流,该编码比特流携带运动矢量参数值。
编码比特流可以是编码端发送给解码端的,也可以是解码端对比特流进行编码后得到的,对此不做限制,以编码端向解码端发送编码比特流为例进行说明。
步骤602,解码端根据该运动矢量参数值确定目标图像块的原始运动矢量和运动矢量决策信息。作为一种示例,所述运动矢量决策信息可以包括:第一指示信息和第二指示信息。所述第一指示信息用于指示采用目标运动矢量确定最终运动矢量;所述第二指示信息用于指示采用原始运动矢量确定最终运动矢量。
运动矢量参数值可以包括原始运动矢量在运动矢量列表中的索引值,因此,解码端可以从运动矢量列表中获取该索引值对应的运动矢量,如索引值为1时,则获取运动矢量列表的第一个运动矢量,该运动矢量就是目标图像块的原始运动矢量。例如,假设目标图像块是图像块A1,运动矢量列表依次包括运动矢量A21、运动矢量A31、运动矢量A41和运动矢量A51,则从运动矢量列表中选择第一个运动矢量A21,运动矢量A21是图像块A1的原始运动矢量。
运动矢量列表用于记录与目标图像块相邻的图像块的运动矢量,而且,解码端维护的运动矢量列表与编码端维护的运动矢量列表相同。
解码端根据该运动矢量参数值确定目标图像块的运动矢量决策信息,可以包括:若编码端采用显式策略发送编码比特流,则运动矢量参数值可以包括显式标记,当该显式标记为第一标识时,确定运动矢量决策信息是第一指示信息;当该显式标记为第二标识时,确定运动矢量决策信息是第二指示信息。
若编码端采用隐式策略发送编码比特流,则运动矢量参数值未包括显式标记,因此,解码端根据运动矢量决策策略确定目标图像块的运动矢量决策信息。解码端和编码端还可以协商运动矢量决策策略,如默认使用所述第一指示信息;或者,默认使用所述第二指示信息;或者,采用指定的相邻图像块的运动矢量决策信息。基于此,解码端根据运动矢量决策策略确定目标图像块的运动矢量决策信息,可以包括:若运动矢量决 策策略为默认第一指示信息,则解码端确定运动矢量决策信息是第一指示信息;或者,若运动矢量决策策略为默认第二指示信息,则解码端确定运动矢量决策信息是第二指示信息;或者,若运动矢量决策策略为采用相邻图像块的运动矢量决策信息,则解码端确定目标图像块的运动矢量决策信息是上相邻图像块的运动矢量决策信息。例如,若相邻图像块对应第一指示信息,则确定目标图像块的运动矢量决策信息是第一指示信息;若相邻图像块对应第二指示信息,则确定目标图像块的运动矢量决策信息是第二指示信息。
步骤603,若运动矢量决策信息是第一指示信息,则解码端根据原始运动矢量获取目标运动矢量,并根据该目标运动矢量确定目标图像块的最终运动矢量。在一种实现方式中,若运动矢量决策信息是第二指示信息,则解码端根据原始运动矢量确定目标图像块的最终运动矢量。
解码端根据原始运动矢量获取与该原始运动矢量不同的目标运动矢量,可以包括:利用目标图像块的相邻图像块的已解码信息,获取目标图像块的模板;基于目标图像块的模板,以原始运动矢量为中心搜索目标运动矢量。在这种情况下,目标运动矢量与原始运动矢量不同。
目标图像块的相邻图像块可以包括:目标图像块的空域相邻图像块;或者,目标图像块的时域相邻图像块;对此相邻图像块不做限制。
需要注意的是,对于解码端来讲,编码端如何选择模板,例如模板的形状、尺寸、包含的相邻图像块,则解码端需要使用同样的方法选择模板。
相邻图像块的已解码信息,可以包括:相邻图像块的重建信息和/或相邻图像块的预测信息。该重建信息可以包括亮度值、色度值等;该预测信息可以是能够获取重建信息的中间值。
解码端在得到运动矢量决策信息后,若该运动矢量决策信息是第一指示信息,则解码端可以根据原始运动矢量获取目标运动矢量,具体获取方式参见实施例七或者实施例八,在此先不描述。然后,解码端可以将该目标运动矢量确定为目标图像块最终运动矢量,并利用该最终运动矢量对目标图像块进行重建,对此重建过程不做限制。
需要注意的是,对于解码端来讲,编码端如何根据原始运动矢量获取目标运动矢量,则解码端需要使用同样的方法获取目标运动矢量。这样就可以保证解码端得到的目标运动矢量和编码端得到的目标运动矢量相同。从而可以提高运动矢量的精度。
在一种实现方式中,若该运动矢量决策信息是第二指示信息,则解码端可以直接将原始运动矢量确定为目标图像块最终运动矢量,并利用该最终运动矢量对目标图像块进行重建,对此重建过程不做限制。
由以上技术方案可见,可以根据原始运动矢量获取目标运动矢量,并根据目标运动矢量确定目标图像块的最终运动矢量,而不是直接根据原始运动矢量确定目标图像块的最终运动矢量,从而提高运动矢量的精度,提高解码性能。
实施例七
在步骤603中,解码端根据原始运动矢量获取目标运动矢量,其实现流程可以 参见图7所示,该流程可以包括以下步骤:
步骤701,解码端利用目标图像块的相邻图像块的已解码信息,获取该目标图像块的模板。
步骤702,解码端根据原始运动矢量确定中心运动矢量。
步骤703,解码端确定与该中心运动矢量对应的第一边缘运动矢量。
作为一种示例,确定与中心运动矢量对应的第一边缘运动矢量,可以包括:将中心运动矢量(x,y)向不同方向偏移S,得到不同方向的第一边缘运动矢量(x-S,y)、第一边缘运动矢量(x+S,y)、第一边缘运动矢量(x,y+S)、第一边缘运动矢量(x,y-S)。
需要注意的是,解码端的偏移量S需要和编码端的偏移量S一致。这个偏移量S的设置,可以为预先约定好的经验值。
步骤704,解码端根据目标图像块的模板获得中心运动矢量的编码性能,并根据目标图像块的模板获得第一边缘运动矢量的编码性能。
解码端根据目标图像块的模板获得中心运动矢量的编码性能,可以包括:解码端根据目标图像块的模板的参数信息、该中心运动矢量指向的模板的参考图像块的参数信息,确定该中心运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定该中心运动矢量的编码性能。
解码端根据目标图像块的模板获得第一边缘运动矢量的编码性能,可以包括:解码端根据目标图像块的模板的参数信息、该第一边缘运动矢量指向的模板的参考图像块的参数信息,确定该第一边缘运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定该第一边缘运动矢量的编码性能。
上述参数信息可以为亮度值;或者,亮度值和色度值。
步骤705,解码端根据中心运动矢量的编码性能和第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量。
作为一种示例,解码端从该中心运动矢量和该第一边缘运动矢量中选择编码性能最优的运动矢量;若编码性能最优的运动矢量不是原始运动矢量,则可以将编码性能最优的运动矢量确定为目标运动矢量;若编码性能最优的运动矢量是原始运动矢量,则可以从该中心运动矢量和第一边缘运动矢量中选择编码性能次优的运动矢量,并可以将编码性能次优的运动矢量确定为目标运动矢量。
步骤701-步骤705的详细处理流程,可以参见实施例二,只是执行主体从编码端变更为解码端,其它处理流程相同,在此不再赘述。
实施例八
在步骤603中,解码端根据原始运动矢量获取目标运动矢量,其实现流程可以参见图8所示,该流程可以包括以下步骤:
步骤801,解码端利用目标图像块的相邻图像块的已解码信息,获取该目标图像 块的模板。
步骤802,解码端根据原始运动矢量确定中心运动矢量。
步骤803,解码端确定与该中心运动矢量对应的第一边缘运动矢量。
步骤804,解码端根据目标图像块的模板获得中心运动矢量的编码性能,并根据目标图像块的模板获得第一边缘运动矢量的编码性能。
步骤805,解码端判断是否满足结束条件。
如果是,则可以执行步骤807;如果否,则可以执行步骤806。
步骤806,解码端从中心运动矢量和第一边缘运动矢量中选择编码性能最优的运动矢量,将编码性能最优的运动矢量确定为中心运动矢量,并返回步骤803。
步骤807,解码端根据中心运动矢量的编码性能和第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量。
步骤801-步骤807的详细处理流程,可以参见实施例三,只是执行主体从编码端变更为解码端,其它处理流程相同,在此不再重复赘述。
实施例九
解码端在获取目标运动矢量时,可以不区分目标运动矢量的亮度分量和色度分量,因此,在采用实施例七或者实施例八得到目标运动矢量后,可以将该目标运动矢量确定为目标图像块的最终运动矢量。或者,也可以区分目标运动矢量的亮度分量和色度分量,例如解码端可以获取用于亮度分量预测的亮度目标运动矢量和用于色度分量预测的色度目标运动矢量,目标运动矢量包括用于亮度分量预测的亮度目标运动矢量和用于色度分量预测的色度目标运动矢量。
若在解码端配置亮度目标运动矢量和色度目标运动矢量相同的指示信息,则采用实施例七或实施例八得到目标运动矢量后,可以将该目标运动矢量确定为亮度目标运动矢量,将该目标运动矢量确定为色度目标运动矢量,并将该亮度目标运动矢量和该色度目标运动矢量确定为目标图像块的最终运动矢量。若在解码端配置亮度目标运动矢量和色度目标运动矢量不同的指示信息,则采用实施例七或实施例八得到目标运动矢量后,可以将该目标运动矢量确定为亮度目标运动矢量,根据该亮度目标运动矢量获取色度目标运动矢量,并将该亮度目标运动矢量和该色度目标运动矢量确定为目标图像块的最终运动矢量。
需要注意的是,在一种实现方式中,可以在编码端和解码端设置同一的指示信息,用于指示亮度目标运动矢量和色度目标运动矢量相同或不同。在另一种实现方式中,还可以在编码比特流中包括该指示信息,用于指示目标图像块的亮度目标运动矢量和色度目标运动矢量是否相同。
作为一种示例,解码端根据该亮度目标运动矢量获取色度目标运动矢量,可以包括:解码端确定与该亮度目标运动矢量对应的边缘运动矢量;根据目标图像块的模板获得亮度目标运动矢量的编码性能,并根据目标图像块的模板获得边缘运动矢量的编码性能;从该亮度目标运动矢量和该边缘运动矢量中选择编码性能最优的运动矢量,并将 编码性能最优的运动矢量确定为色度目标运动矢量。
作为一个示例,解码端确定与该亮度目标运动矢量对应的第二边缘运动矢量,可以包括:解码端可以将该亮度目标运动矢量(mx,my)向不同方向偏移W,从而得到不同方向的第二边缘运动矢量(mx-W,my)、第二边缘运动矢量(mx+W,my)、第二边缘运动矢量(mx,my+W)、第二边缘运动矢量(mx,my-W)。
需要注意的是,解码端的偏移量W需要和编码端的偏移量W一致。这个偏移量W的设置,可以为预先约定好的经验值。
解码端根据目标图像块的模板获得亮度目标运动矢量的编码性能,可以包括:解码端根据目标图像块的模板的色度值、亮度目标运动矢量指向的模板的参考图像块的色度值,确定该亮度目标运动矢量的相似程度;根据该相似程度和编码所需的实际比特数,确定该亮度目标运动矢量的编码性能。
解码端根据目标图像块的模板获得边缘运动矢量的编码性能,可以包括:解码端根据目标图像块的模板的色度值、第二边缘运动矢量指向的模板的参考图像块的色度值,确定该第二边缘运动矢量的相似程度;然后,可以根据该相似程度和编码所需的实际比特数,确定该第二边缘运动矢量的编码性能。
解码端根据亮度目标运动矢量获取色度目标运动矢量的过程,可以参见实施例五,只是执行主体从编码端变更为解码端,其它处理相同,在此不再赘述。
上述实施例一至实施例九的运动矢量确定方法,可以应用于运动信息复用模式中。在运动信息复用模式中,编码端向解码端发送编码比特流时,并不携带原始运动矢量,而是携带原始运动矢量的索引值。解码端在接收到编码比特流后,可以利用原始运动矢量的索引值确定原始运动矢量。
基于与上述方法同样的申请构思,本申请实施例还提出一种运动矢量确定装置,应用于解码端,如图9所示,为所述装置的结构图,所述装置包括:
接收模块901,用于获取编码比特流,编码比特流携带运动矢量参数值。
第一确定模块902,用于根据所述运动矢量参数值确定目标图像块的原始运动矢量和运动矢量决策信息。
获取模块903,用于当所述运动矢量决策信息是第一指示信息时,根据所述原始运动矢量获取目标运动矢量。
第二确定模块904,用于根据所述目标运动矢量确定所述目标图像块的最终运动矢量。
所述第二确定模块904,还用于当所述运动矢量决策信息是第二指示信息时,则根据所述原始运动矢量确定所述目标图像块的最终运动矢量。
所述第一确定模块902具体用于:若所述运动矢量参数值包括显式标记,当显式标记为第一标识时,确定所述运动矢量决策信息是第一指示信息,当显式标记为第二标识时,确定所述运动矢量决策信息是第二指示信息。
在一种可能的实施方式中,若所述运动矢量参数值未包括显式标记,则根据运动矢量决策策略确定目标图像块的运动矢量决策信息。若所述运动矢量决策策略为默认使用第一指示信息,则确定所述运动矢量决策信息是第一指示信息;或者,若所述运动矢量决策策略为默认使用第二指示信息,则确定所述运动矢量决策信息是第二指示信息;或者,若所述运动矢量决策策略为采用相邻图像块的运动矢量决策信息,则确定所述目标图像块的运动矢量决策信息是相邻图像块的运动矢量决策信息。
所述获取模块903具体用于:利用目标图像块的相邻图像块的已解码信息,获取目标图像块的模板;基于所述目标图像块的模板,以原始运动矢量为中心搜索目标运动矢量。
在一种可能的实施方式中,基于所述目标图像块的模板,以原始运动矢量为中心搜索目标运动矢量包括:将原始运动矢量确定为中心运动矢量;确定与中心运动矢量对应的第一边缘运动矢量;根据目标图像块的模板获得中心运动矢量的编码性能和第一边缘运动矢量的编码性能;根据中心运动矢量的编码性能和第一边缘运动矢量的编码性能,从中心运动矢量和边缘运动矢量中确定目标运动矢量。
在一种可能的实施方式中,根据目标图像块的模板获得中心运动矢量的编码性能和第一边缘运动矢量的编码性能包括:根据目标图像块的模板的参数信息、中心运动矢量指向的所述模板的参考图像块的参数信息,确定中心运动矢量的相似程度;根据所述中心运动矢量的所述相似程度和编码所需的实际比特数,确定所述中心运动矢量的编码性能;根据目标图像块的模板的参数信息、所述第一边缘运动矢量指向的所述模板的参考图像块的参数信息,确定所述第一边缘运动矢量的相似程度;根据所述第一边缘运动矢量的所述相似程度和编码所需的实际比特数,确定所述第一边缘运动矢量的编码性能。
在一种可能的实施方式中,根据所述中心运动矢量的编码性能和所述第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量包括:从中心运动矢量和第一边缘运动矢量中选择编码性能最优的运动矢量;若编码性能最优的运动矢量不是所述原始运动矢量,则将编码性能最优的运动矢量确定为目标运动矢量;若编码性能最优的运动矢量是所述原始运动矢量,则从中心运动矢量和第一边缘运动矢量中选择编码性能次优的运动矢量,并将编码性能次优的运动矢量确定为目标运动矢量。
在一种可能的实施方式中,所述获取模块903还包括:将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;将所述目标运动矢量确定为用于色度分量预测的色度目标运动矢量。或者,将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;根据所述亮度目标运动矢量获取用于色度分量预测的色度目标运动矢量。
在一种可能的实施方式中,根据所述亮度目标运动矢量获取用于色度分量预测的色度目标运动矢量包括:确定与亮度目标运动矢量对应的第二边缘运动矢量;根据目标图像块的模板获得所述亮度目标运动矢量的编码性能和所述第二边缘运动矢量的编码性能;从所述亮度目标运动矢量和所述第二边缘运动矢量中选择编码性能最优的运动矢量,将编码性能最优的运动矢量确定为色度目标运动矢量。
在一种可能的实施方式中,根据目标图像块的模板获得所述亮度目标运动矢量 的编码性能和所述边缘运动矢量的编码性能包括:根据目标图像块的模板的色度值、亮度目标运动矢量指向的所述模板的参考图像块的色度值,确定亮度目标运动矢量的相似程度;根据亮度目标运动矢量的所述相似程度和编码所需的实际比特数,确定亮度目标运动矢量的编码性能;根据目标图像块的模板的色度值、第二边缘运动矢量指向的所述模板的参考图像块的色度值,确定第二边缘运动矢量的相似程度;根据第二边缘运动矢量的所述相似程度和编码所需的实际比特数,确定第二边缘运动矢量的编码性能。
基于与上述方法同样的申请构思,本申请实施例还提出一种运动矢量确定装置,应用于编码端,如图10所示,为所述装置的结构图,所述装置包括:
获取模块1001,用于获取目标图像块的原始运动矢量,并根据所述原始运动矢量获取目标运动矢量。
确定模块1002,用于根据所述原始运动矢量和所述目标运动矢量确定运动矢量决策信息。
发送模块1003,用于根据运动矢量决策信息向解码端发送编码比特流。
所述确定模块1002具体用于:获取原始运动矢量的编码性能和目标运动矢量的编码性能;若所述目标运动矢量的编码性能优于原始运动矢量的编码性能,确定所述运动矢量决策信息是第一指示信息;若所述原始运动矢量的编码性能优于所述目标运动矢量的编码性能,确定所述运动矢量决策信息是第二指示信息。
所述发送模块1003具体用于:向解码端发送携带运动矢量参数值的编码比特流,所述运动矢量参数值包括显式标记;若运动矢量决策信息为第一指示信息,所述显式标记为第一标识;若运动矢量决策信息为第二指示信息,所述显式标记为第二标识;所述运动矢量参数值还包括原始运动矢量在运动矢量列表中的索引值。
在一种可能的实施方式中,所述确定模块1002获取所述原始运动矢量的编码性能时具体用于:根据目标图像块的模板的参数信息、所述原始运动矢量指向的所述模板的参考图像块的参数信息,确定所述原始运动矢量的相似程度;根据所述相似程度和编码所需的实际比特数,确定所述原始运动矢量的编码性能。
在一种可能的实施方式中,所述确定模块1002获取所述目标运动矢量的编码性能时具体用于:根据目标图像块的模板的参数信息、所述目标运动矢量指向的所述模板的参考图像块的参数信息,确定所述目标运动矢量的相似程度;根据所述相似程度和编码所需的实际比特数,确定所述目标运动矢量的编码性能。
在一种可能的实施方式中,目标运动矢量包括亮度目标运动矢量和色度目标运动矢量;所述确定模块1002获取所述目标运动矢量的编码性能时具体用于:根据目标图像块的模板的参数信息、亮度目标运动矢量指向的所述模板的参考图像块的参数信息,确定所述亮度目标运动矢量的相似程度;根据目标图像块的模板的参数信息、色度目标运动矢量指向的所述模板的参考图像块的参数信息,确定所述色度目标运动矢量的相似程度;根据所述亮度目标运动矢量的相似程度、所述色度目标运动矢量的相似程度、编码所需的实际比特数,确定目标运动矢量的编码性能。
所述获取模块1001根据所述原始运动矢量获取目标运动矢量时具体用于:利用 目标图像块的相邻图像块的信息,获取所述目标图像块的模板;基于所述目标图像块的模板,以原始运动矢量为中心搜索目标运动矢量。
在一种可能的实施方式中,基于所述目标图像块的模板,以原始运动矢量为中心搜索目标运动矢量包括:将所述原始运动矢量确定为中心运动矢量;确定与所述中心运动矢量对应的第一边缘运动矢量;根据目标图像块的模板获得中心运动矢量的编码性能和第一边缘运动矢量的编码性能;根据所述中心运动矢量的编码性能和所述第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量。
在一种可能的实施方式中,根据目标图像块的模板获得中心运动矢量的编码性能和第一边缘运动矢量的编码性能包括:根据目标图像块的模板的参数信息、中心运动矢量指向的所述模板的参考图像块的参数信息,确定所述中心运动矢量的相似程度;根据所述中心运动矢量的所述相似程度和编码所需的实际比特数,确定中心运动矢量的编码性能;根据目标图像块的模板的参数信息、所述第一边缘运动矢量指向的所述模板的参考图像块的参数信息,确定所述第一边缘运动矢量的相似程度;根据所述第一边缘运动矢量的相似程度和编码所需的实际比特数,确定所述第一边缘运动矢量的编码性能。
在一种可能的实施方式中,根据所述中心运动矢量的编码性能和所述第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量包括:从中心运动矢量和第一边缘运动矢量中选择编码性能最优的运动矢量;若编码性能最优的运动矢量不是所述原始运动矢量,则将编码性能最优的运动矢量确定为目标运动矢量;若编码性能最优的运动矢量是所述原始运动矢量,则从中心运动矢量和第一边缘运动矢量中选择编码性能次优的运动矢量,并将编码性能次优的运动矢量确定为目标运动矢量。
在一种可能的实施方式中,根据所述中心运动矢量的编码性能和所述第一边缘运动矢量的编码性能,从中心运动矢量和第一边缘运动矢量中确定目标运动矢量之后还包括:将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;将所述目标运动矢量确定为用于色度分量预测的色度目标运动矢量;或者,将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;根据所述亮度目标运动矢量获取用于色度分量预测的色度目标运动矢量。
在一种可能的实施方式中,根据所述亮度目标运动矢量获取用于色度分量预测的色度目标运动矢量包括:确定与亮度目标运动矢量对应的第二边缘运动矢量;根据目标图像块的模板获得所述亮度目标运动矢量的编码性能和所述第二边缘运动矢量的编码性能;从所述亮度目标运动矢量和所述第二边缘运动矢量中选择编码性能最优的运动矢量,将编码性能最优的运动矢量确定为色度目标运动矢量。
在一种可能的实施方式中,根据目标图像块的模板获得所述亮度目标运动矢量的编码性能和所述边缘运动矢量的编码性能包括:根据目标图像块的模板的色度值、亮度目标运动矢量指向的所述模板的参考图像块的色度值,确定亮度目标运动矢量的相似程度;根据亮度目标运动矢量的所述相似程度和编码所需的实际比特数,确定亮度目标运动矢量的编码性能;根据目标图像块的模板的色度值、第二边缘运动矢量指向的所述模板的参考图像块的色度值,确定第二边缘运动矢量的相似程度;根据第二边缘运动矢量的所述相似程度和编码所需的实际比特数,确定第二边缘运动矢量的编码性能。
本申请实施例提供的解码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图11所示。包括:处理器和机器可读存储介质,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的运动矢量确定方法。
本申请实施例提供的编码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图12所示。包括:处理器和机器可读存储介质,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的运动矢量确定方法。
上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在 计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (36)

  1. 一种运动矢量确定方法,应用于解码端,包括:
    获取编码比特流,所述编码比特流携带运动矢量参数值;
    根据所述运动矢量参数值确定目标图像块的原始运动矢量和运动矢量决策信息;
    若所述运动矢量决策信息是第一指示信息,则
    根据所述原始运动矢量获取目标运动矢量;
    根据所述目标运动矢量确定所述目标图像块的最终运动矢量。
  2. 根据权利要求1所述的方法,其特征在于,还包括:
    若所述运动矢量决策信息是第二指示信息,则根据所述原始运动矢量确定所述目标图像块的所述最终运动矢量。
  3. 根据权利要求2所述的方法,其特征在于,若所述运动矢量参数值包括显式标记,根据所述运动矢量参数值确定所述目标图像块的所述运动矢量决策信息,包括:
    当所述显式标记为第一标识时,确定所述运动矢量决策信息是所述第一指示信息;
    当所述显式标记为第二标识时,确定所述运动矢量决策信息是所述第二指示信息。
  4. 根据权利要求2所述的方法,其特征在于,若所述运动矢量参数值未包括显式标记,根据所述运动矢量参数值确定所述目标图像块的所述运动矢量决策信息,包括:
    根据运动矢量决策策略确定所述目标图像块的所述运动矢量决策信息;其中,
    若所述运动矢量决策策略为默认使用所述第一指示信息,确定所述运动矢量决策信息是所述第一指示信息;
    若所述运动矢量决策策略为默认使用所述第二指示信息,确定所述运动矢量决策信息是所述第二指示信息;或者,
    若所述运动矢量决策策略为采用指定的相邻图像块的运动矢量决策信息,确定所述目标图像块的所述运动矢量决策信息是所述相邻图像块的所述运动矢量决策信息。
  5. 根据权利要求1所述的方法,其特征在于,若所述运动矢量参数值包括所述原始运动矢量在运动矢量列表中的索引值,则根据所述运动矢量参数值确定所述目标图像块的所述原始运动矢量,包括:
    从所述运动矢量列表中选取与所述索引值对应的运动矢量,
    将选取的所述运动矢量确定为所述原始运动矢量。
  6. 根据权利要求1所述的方法,其特征在于,根据所述原始运动矢量获取所述目标运动矢量,包括:
    利用所述目标图像块的相邻图像块的已解码信息,获取所述目标图像块的模板;
    基于所述目标图像块的所述模板,以所述原始运动矢量为中心搜索所述目标运动矢量。
  7. 根据权利要求6所述的方法,其特征在于,基于所述目标图像块的所述模板,以所述原始运动矢量为中心搜索所述目标运动矢量,包括:
    将所述原始运动矢量确定为中心运动矢量;
    确定与所述中心运动矢量对应的第一边缘运动矢量;
    根据所述目标图像块的所述模板获得所述中心运动矢量的编码性能和所述第一边缘运动矢量的编码性能;
    根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能, 从所述中心运动矢量和所述第一边缘运动矢量中确定所述目标运动矢量。
  8. 根据权利要求7所述的方法,其特征在于,确定与所述中心运动矢量对应的边缘运动矢量,包括:
    将所述中心运动矢量(x,y)向不同方向偏移S,得到不同方向的所述第一边缘运动矢量(x-S,y)、所述第一边缘运动矢量(x+S,y)、所述第一边缘运动矢量(x,y+S)、所述第一边缘运动矢量(x,y-S)。
  9. 根据权利要求7所述的方法,其特征在于,根据所述目标图像块的所述模板获得所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,包括:
    根据所述目标图像块的所述模板的参数信息、所述中心运动矢量指向的所述模板的参考图像块的参数信息,确定所述中心运动矢量的相似程度;
    根据所述中心运动矢量的所述相似程度和编码所需的实际比特数,确定所述中心运动矢量的所述编码性能;
    根据所述目标图像块的所述模板的所述参数信息、所述第一边缘运动矢量指向的所述模板的参考图像块的参数信息,确定所述第一边缘运动矢量的相似程度;
    根据所述第一边缘运动矢量的所述相似程度和编码所需的实际比特数,确定所述第一边缘运动矢量的所述编码性能。
  10. 根据权利要求7所述的方法,其特征在于,根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,从所述中心运动矢量和所述第一边缘运动矢量中确定目标运动矢量,包括:
    从所述中心运动矢量和所述第一边缘运动矢量中选择编码性能最优的运动矢量;
    若所述编码性能最优的运动矢量不是所述原始运动矢量,则将所述编码性能最优的运动矢量确定为所述目标运动矢量;
    若所述编码性能最优的运动矢量是所述原始运动矢量,则从所述中心运动矢量和所述第一边缘运动矢量中选择编码性能次优的运动矢量,并将所述编码性能次优的运动矢量确定为所述目标运动矢量。
  11. 根据权利要求7所述的方法,其特征在于,根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,从所述中心运动矢量和所述第一边缘运动矢量中确定所述目标运动矢量之前,所述方法还包括:
    判断是否满足结束条件;
    如果满足所述结束条件,执行根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,从所述中心运动矢量和所述第一边缘运动矢量中确定所述目标运动矢量的操作;
    如果不满足所述结束条件,从所述中心运动矢量和所述第一边缘运动矢量中选择编码性能最优的运动矢量,将所述编码性能最优的运动矢量确定为新的中心运动矢量,并执行确定与所述中心运动矢量对应的所述第一边缘运动矢量的操作。
  12. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;
    将所述目标运动矢量确定为用于色度分量预测的色度目标运动矢量。
  13. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;
    根据所述亮度目标运动矢量获取用于色度分量预测的色度目标运动矢量。
  14. 根据权利要求13所述的方法,其特征在于,根据所述亮度目标运动矢量获取用于所述色度分量预测的所述色度目标运动矢量,包括:
    确定与所述亮度目标运动矢量对应的第二边缘运动矢量;
    根据所述目标图像块的所述模板获得所述亮度目标运动矢量的编码性能和所述第二边缘运动矢量的编码性能;
    从所述亮度目标运动矢量和所述第二边缘运动矢量中选择编码性能最优的运动矢量,将所述编码性能最优的运动矢量确定为所述色度目标运动矢量。
  15. 根据权利要求14所述的方法,其特征在于,确定与所述亮度目标运动矢量对应的所述第二边缘运动矢量,包括:
    将所述亮度目标运动矢量(mx,my)向不同方向偏移W,得到不同方向的所述第二边缘运动矢量(mx-W,my)、所述第二边缘运动矢量(mx+W,my)、所述第二边缘运动矢量(mx,my+W)、所述第二边缘运动矢量(mx,my-W)。
  16. 根据权利要求14所述的方法,其特征在于,根据所述目标图像块的所述模板获得所述亮度目标运动矢量的所述编码性能和所述第二边缘运动矢量的所述编码性能,包括:
    根据所述目标图像块的所述模板的色度值、所述亮度目标运动矢量指向的所述模板的参考图像块的色度值,确定所述亮度目标运动矢量的相似程度;
    根据所述亮度目标运动矢量的所述相似程度和编码所需的实际比特数,确定所述亮度目标运动矢量的所述编码性能;
    根据所述目标图像块的所述模板的色度值、所述第二边缘运动矢量指向的所述模板的参考图像块的色度值,确定所述第二边缘运动矢量的相似程度;
    根据所述第二边缘运动矢量的所述相似程度和编码所需的实际比特数,确定所述第二边缘运动矢量的编码性能。
  17. 一种运动矢量确定方法,应用于编码端,所述方法包括:
    获取目标图像块的原始运动矢量;
    根据所述原始运动矢量获取目标运动矢量;
    根据所述原始运动矢量和所述目标运动矢量确定运动矢量决策信息;
    根据所述运动矢量决策信息向解码端发送编码比特流。
  18. 根据权利要求17所述的方法,其特征在于,根据所述原始运动矢量和所述目标运动矢量确定所述运动矢量决策信息,包括:
    获取所述原始运动矢量的编码性能和所述目标运动矢量的编码性能;
    若所述目标运动矢量的所述编码性能优于所述原始运动矢量的所述编码性能,确定所述运动矢量决策信息是第一指示信息;
    若所述原始运动矢量的所述编码性能优于所述目标运动矢量的所述编码性能,确定所述运动矢量决策信息是第二指示信息。
  19. 根据权利要求18所述的方法,其特征在于,根据所述运动矢量决策信息向所述解码端发送所述编码比特流,包括:
    向解码端发送携带运动矢量参数值的编码比特流,所述运动矢量参数值包括显式标记;其中,
    若所述运动矢量决策信息为所述第一指示信息,所述显式标记为第一标识;
    若所述运动矢量决策信息为所述第二指示信息,所述显式标记为第二标识;
    所述运动矢量参数值还包括所述原始运动矢量在运动矢量列表中的索引值。
  20. 根据权利要求18所述的方法,其特征在于,获取所述原始运动矢量的所述编码性能和所述目标运动矢量的所述编码性能,包括:
    根据所述目标图像块的模板的参数信息、所述原始运动矢量指向的所述模板的参考图像块的参数信息,确定所述原始运动矢量的相似程度;
    根据所述原始运动矢量的所述相似程度和编码所需的实际比特数,确定所述原始运动矢量的所述编码性能;
    根据所述目标图像块的所述模板的参数信息、所述目标运动矢量指向的所述模板的参考图像块的参数信息,确定所述目标运动矢量的相似程度;
    根据所述目标运动矢量的所述相似程度和编码所需的实际比特数,确定所述目标运动矢量的所述编码性能。
  21. 根据权利要求18所述的方法,其特征在于,
    所述目标运动矢量包括亮度目标运动矢量和色度目标运动矢量;
    获取所述目标运动矢量的编码性能,包括:
    根据所述目标图像块的模板的参数信息、所述亮度目标运动矢量指向的所述模板的参考图像块的参数信息,确定所述亮度目标运动矢量的相似程度;
    根据所述目标图像块的模板的参数信息、所述色度目标运动矢量指向的所述模板的参考图像块的参数信息,确定所述色度目标运动矢量的相似程度;
    根据所述亮度目标运动矢量的所述相似程度、所述色度目标运动矢量的所述相似程度、编码所需的实际比特数,确定所述目标运动矢量的所述编码性能。
  22. 根据权利要求17所述的方法,其特征在于,根据所述原始运动矢量获取所述目标运动矢量,包括:
    利用所述目标图像块的相邻图像块的信息,获取所述目标图像块的模板;
    基于所述目标图像块的所述模板,以所述原始运动矢量为中心搜索所述目标运动矢量。
  23. 根据权利要求22所述的方法,其特征在于,基于所述目标图像块的所述模板,以所述原始运动矢量为中心搜索所述目标运动矢量,包括:
    将所述原始运动矢量确定为中心运动矢量;
    确定与所述中心运动矢量对应的第一边缘运动矢量;
    根据所述目标图像块的所述模板,获得所述中心运动矢量的编码性能和所述第一边缘运动矢量的编码性能;
    根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,从所述中心运动矢量和所述第一边缘运动矢量中确定所述目标运动矢量。
  24. 根据权利要求23所述的方法,其特征在于,确定与所述中心运动矢量对应的所述第一边缘运动矢量,包括:
    将所述中心运动矢量(x,y)向不同方向偏移S,得到不同方向的所述第一边缘运动矢量(x-S,y)、所述第一边缘运动矢量(x+S,y)、所述第一边缘运动矢量(x,y+S)、所述第一边缘运动矢量(x,y-S)。
  25. 根据权利要求23所述的方法,其特征在于,根据所述目标图像块的所述模板获得所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,包括:
    根据所述目标图像块的所述模板的参数信息、所述中心运动矢量指向的所述模板的参考图像块的参数信息,确定所述中心运动矢量的相似程度;
    根据所述中心运动矢量的所述相似程度和编码所需的实际比特数,确定所述中心运动矢量的所述编码性能;
    根据所述目标图像块的所述模板的参数信息、所述第一边缘运动矢量指向的所述模板的参考图像块的参数信息,确定所述第一边缘运动矢量的相似程度;
    根据所述第一边缘运动矢量的所述相似程度和编码所需的实际比特数,确定所述第一边缘运动矢量的所述编码性能。
  26. 根据权利要求23所述的方法,其特征在于,根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,从所述中心运动矢量和所述第一边缘运动矢量中确定所述目标运动矢量,包括:
    从所述中心运动矢量和所述第一边缘运动矢量中选择编码性能最优的运动矢量;
    若所述编码性能最优的运动矢量不是所述原始运动矢量,则将所述编码性能最优的运动矢量确定为所述目标运动矢量;
    若所述编码性能最优的运动矢量是所述原始运动矢量,则从所述中心运动矢量和所述第一边缘运动矢量中选择编码性能次优的运动矢量,并将所述编码性能次优的运动矢量确定为所述目标运动矢量。
  27. 根据权利要求23所述的方法,其特征在于,根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,从所述中心运动矢量和所述第一边缘运动矢量中确定所述目标运动矢量之前,所述方法还包括:
    判断是否满足结束条件;
    如果满足结束条件,执行根据所述中心运动矢量的所述编码性能和所述第一边缘运动矢量的所述编码性能,从所述中心运动矢量和所述第一边缘运动矢量中确定所述目标运动矢量的操作;
    如果不满足所述结束条件,从所述中心运动矢量和所述第一边缘运动矢量中选择编码性能最优的运动矢量,将所述编码性能最优的运动矢量确定为新的中心运动矢量,并执行确定与所述中心运动矢量对应的所述第一边缘运动矢量的操作。
  28. 根据权利要求23所述的方法,其特征在于,所述方法还包括:
    将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;
    将所述目标运动矢量确定为用于色度分量预测的色度目标运动矢量。
  29. 根据权利要求23所述的方法,其特征在于,所述方法还包括:
    将所述目标运动矢量确定为用于亮度分量预测的亮度目标运动矢量;
    根据所述亮度目标运动矢量获取用于色度分量预测的色度目标运动矢量。
  30. 根据权利要求29所述的方法,其特征在于,根据所述亮度目标运动矢量获取用于所述色度分量预测的所述色度目标运动矢量,包括:
    确定与所述亮度目标运动矢量对应的第二边缘运动矢量;
    根据所述目标图像块的所述模板获得所述亮度目标运动矢量的编码性能和所述第二边缘运动矢量的编码性能;
    从所述亮度目标运动矢量和所述第二边缘运动矢量中选择编码性能最优的运动矢量,将所述编码性能最优的运动矢量确定为所述色度目标运动矢量。
  31. 根据权利要求30所述的方法,其特征在于,确定与所述亮度目标运动矢量对应的所述第二边缘运动矢量,包括:
    将所述亮度目标运动矢量(mx,my)向不同方向偏移W,得到不同方向的所述第二边缘运动矢量(mx-W,my)、所述第二边缘运动矢量(mx+W,my)、所述第二边缘运动矢量(mx,my+W)、所述第二边缘运动矢量(mx,my-W)。
  32. 根据权利要求30所述的方法,其特征在于,根据所述目标图像块的所述模板获得所述亮度目标运动矢量的所述编码性能和所述第二边缘运动矢量的所述编码性能,包括:
    根据所述目标图像块的所述模板的色度值、所述亮度目标运动矢量指向的所述模板的参考图像块的色度值,确定所述亮度目标运动矢量的相似程度;
    根据所述亮度目标运动矢量的所述相似程度和编码所需的实际比特数,确定所述亮度目标运动矢量的所述编码性能;
    根据所述目标图像块的所述模板的色度值、所述第二边缘运动矢量指向的所述模板的参考图像块的色度值,确定所述第二边缘运动矢量的相似程度;
    根据所述第二边缘运动矢量的所述相似程度和编码所需的实际比特数,确定所述第二边缘运动矢量的编码性能。
  33. 一种运动矢量确定装置,应用于解码端,包括:
    接收模块,用于获取编码比特流,所述编码比特流携带运动矢量参数值;
    第一确定模块,用于根据所述运动矢量参数值确定目标图像块的原始运动矢量和运动矢量决策信息;
    获取模块,用于当所述运动矢量决策信息是第一指示信息时,根据所述原始运动矢量获取目标运动矢量;
    第二确定模块,用于根据所述目标运动矢量确定所述目标图像块的最终运动矢量。
  34. 一种运动矢量确定装置,应用于编码端,包括:
    获取模块,用于获取目标图像块的原始运动矢量,并根据所述原始运动矢量获取目标运动矢量;
    确定模块,用于根据所述原始运动矢量和所述目标运动矢量确定运动矢量决策信息;
    发送模块,用于根据所述运动矢量决策信息向解码端发送编码比特流。
  35. 一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求1-16任一所述的方法。
  36. 一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现权利要求17-32任一所述的方法。
PCT/CN2019/079803 2018-04-09 2019-03-27 一种运动矢量确定方法、装置及其设备 WO2019196650A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810312713.X 2018-04-09
CN201810312713.XA CN110365987B (zh) 2018-04-09 2018-04-09 一种运动矢量确定方法、装置及其设备

Publications (1)

Publication Number Publication Date
WO2019196650A1 true WO2019196650A1 (zh) 2019-10-17

Family

ID=68163930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/079803 WO2019196650A1 (zh) 2018-04-09 2019-03-27 一种运动矢量确定方法、装置及其设备

Country Status (2)

Country Link
CN (1) CN110365987B (zh)
WO (1) WO2019196650A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070064809A1 (en) * 2005-09-14 2007-03-22 Tsuyoshi Watanabe Coding method for coding moving images
CN102158709A (zh) * 2011-05-27 2011-08-17 山东大学 一种解码端可推导的运动补偿预测方法
CN102710934A (zh) * 2011-01-22 2012-10-03 华为技术有限公司 一种运动预测或补偿方法
CN106105191A (zh) * 2014-03-19 2016-11-09 株式会社Kt 用于处理多视图视频信号的方法和装置
CN107071421A (zh) * 2017-05-23 2017-08-18 北京理工大学 一种结合视频稳定的视频编码方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374235B (zh) * 2007-08-24 2012-05-02 大唐移动通信设备有限公司 视频编码中的快速块运动估计方法和装置
CN101917619B (zh) * 2010-08-20 2012-05-09 浙江大学 一种多视点视频编码快速运动估计方法
US9049455B2 (en) * 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
CN102611886A (zh) * 2011-01-22 2012-07-25 华为技术有限公司 一种运动预测或补偿方法
US9860559B2 (en) * 2014-03-17 2018-01-02 Mediatek Singapore Pte. Ltd. Method of video coding using symmetric intra block copy
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070064809A1 (en) * 2005-09-14 2007-03-22 Tsuyoshi Watanabe Coding method for coding moving images
CN102710934A (zh) * 2011-01-22 2012-10-03 华为技术有限公司 一种运动预测或补偿方法
CN102158709A (zh) * 2011-05-27 2011-08-17 山东大学 一种解码端可推导的运动补偿预测方法
CN106105191A (zh) * 2014-03-19 2016-11-09 株式会社Kt 用于处理多视图视频信号的方法和装置
CN107071421A (zh) * 2017-05-23 2017-08-18 北京理工大学 一种结合视频稳定的视频编码方法

Also Published As

Publication number Publication date
CN110365987B (zh) 2022-03-25
CN110365987A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
WO2019192102A1 (zh) 用于图像运动补偿的方法和装置
US10116934B2 (en) Image processing method and apparatus
CN110290388B (zh) 帧内预测方法、视频编码方法、计算机设备及存储装置
JP5422168B2 (ja) 動画像符号化方法および動画像復号化方法
WO2017005146A1 (zh) 视频编码和解码方法、视频编码和解码装置
CN102215386B (zh) 视频图像块处理方法及装置
TW201931854A (zh) 統一合併候選列表運用
US20090060359A1 (en) Method and apparatus for estimating and compensating spatiotemporal motion of image
CN110933426B (zh) 一种解码、编码方法及其设备
JP5367097B2 (ja) 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム
JP2013543298A (ja) 事例ベースのデータ・プルーニングを用いたビデオ符号化
CN111698500B (zh) 一种编解码方法、装置及其设备
WO2020253769A1 (zh) 一种编解码方法、装置及其设备
WO2020001591A1 (zh) 一种解码、编码方法及其设备
WO2021093589A1 (zh) 一种编解码方法、装置及其设备
WO2019196650A1 (zh) 一种运动矢量确定方法、装置及其设备
WO2020001624A1 (zh) 一种运动矢量确定方法和设备
JP2007325119A (ja) 画像処理装置及び画像処理方法
CN112565747B (zh) 一种解码、编码方法、装置及其设备
WO2020253728A1 (zh) 编码方法及装置
US20180109791A1 (en) A method and a module for self-adaptive motion estimation
CN110691247B (zh) 一种解码、编码方法和设备
JP2006014183A (ja) 画像符号化装置、画像符号化方法及びそのプログラム
Jubran et al. Sequence-level reference frames in video coding
GB2585021A (en) Video coding and decoding

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19785533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19785533

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19785533

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12/05/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19785533

Country of ref document: EP

Kind code of ref document: A1