CN116527921A - 仿射候选构建方法、仿射预测的方法和相关设备 - Google Patents

仿射候选构建方法、仿射预测的方法和相关设备 Download PDF

Info

Publication number
CN116527921A
CN116527921A CN202310781846.2A CN202310781846A CN116527921A CN 116527921 A CN116527921 A CN 116527921A CN 202310781846 A CN202310781846 A CN 202310781846A CN 116527921 A CN116527921 A CN 116527921A
Authority
CN
China
Prior art keywords
block
motion vector
affine
control points
juxtaposition
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
Application number
CN202310781846.2A
Other languages
English (en)
Other versions
CN116527921B (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202310781846.2A priority Critical patent/CN116527921B/zh
Publication of CN116527921A publication Critical patent/CN116527921A/zh
Application granted granted Critical
Publication of CN116527921B publication Critical patent/CN116527921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种仿射候选构建方法、仿射预测的方法和相关设备,该方法包括:为当前块的多个控制点确定至少一个关联并置块,其中,关联并置块为关联位置的并置块,关联位置与控制点存在空域相关;基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量;利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选,上述方式,使得仿射候选能够充分继承与控制点关联的时域运动信息,提高仿射候选构建的准确性,进而将该仿射候选用于仿射预测,提高编码的准确率。

Description

仿射候选构建方法、仿射预测的方法和相关设备
技术领域
本申请涉及视频编码技术领域,特别是一种仿射候选构建方法、仿射预测的方法和相关设备。
背景技术
由于视频图像数据量比较大,为便于储存传输,可以对原始的视频进行编码压缩,以去除空间、时间维度的冗余,压缩后的数据称之为视频码流,视频码流经过传输到用户端,用户端对视频码流进行解码后再进行观看。
随着视频编码技术发展,人们已经发现平动运动模型并不能有效表示转动、缩放等复杂运动,而仿射(Affine)运动模型能够较好地描述这些复杂运动。但是现有的仿射候选构建仍然不够准确,限制了编码的准确率。
发明内容
本申请主要解决的技术问题是一种仿射候选构建方法、仿射预测的方法和相关设备,能够提高仿射候选构建的准确性,以提高编码的准确率。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种仿射候选构建方法,该方法包括:为当前块的多个控制点确定至少一个关联并置块,其中,关联并置块为关联位置的并置块,关联位置与控制点存在空域相关;基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量;利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选,其中,每个仿射候选包括至少两个控制点的运动矢量。
其中,与控制点存在空域相关的关联位置包括以下至少一者:控制点的相邻位置、以及包含控制点的当前块的位置。
其中,多个控制点包括多个第一控制点,为当前块的多个控制点确定至少一个关联并置块,包括:为当前块确定多个第一控制点;对于每个第一控制点,从第一控制点的多个候选相邻位置中选出目标相邻位置;将目标相邻位置的并置块作为第一控制点的关联并置块,或利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块;基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量,包括:分别利用各第一控制点的关联并置块的运动信息,对应得到各第一控制点的运动矢量。
其中,每个第一控制点属于第一类型、第二类型和第三类型中的任意一类;第一类型的第一控制点的多个候选相邻位置均为第一相邻位置;第二类型的第一控制点的多个候选相邻位置均为第二相邻位置;第三类型的第一控制点的多个候选相邻位置中包括第一相邻位置和第二相邻位置;其中,第一相邻位置用于提供自身的并置块作为第一控制点对应的关联并置块,第二相邻位置为已编码位置且用于提供自身的运动矢量对当前块的并置块进行偏移。
其中,多个第一控制点均属于第一类型;或者,多个第一控制点均属于第二类型;或者,多个第一控制点均属于第三类型;或者,多个第一控制点属于第一类型、第二类型和第三类型中的至少两类。
其中,利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块,包括:将并置帧中的当前块的并置块预设位置按照目标相邻位置的运动矢量进行第一偏移,并将并置帧中经第一偏移后的位置对应的块作为关联并置块。
其中,分别利用各第一控制点的关联并置块的运动信息,对应得到各第一控制点的运动矢量,包括:根据当前块的参考信息以及关联并置块的运动信息中的参考信息,对关联并置块的运动信息中的运动矢量进行缩放,得到对应的第一控制点的运动矢量。
其中,每个第一控制点的目标相邻位置有多个;分别利用各第一控制点的关联并置块的运动信息,对应得到各第一控制点的运动矢量,包括:对于每个第一控制点,利用第一控制点对应各目标相邻位置的关联并置块的运动信息,分别得到第一控制点对应各目标相邻位置的运动矢量,其中,多个第一控制点对应各目标相邻位置的运动矢量组成多个运动矢量集合,每个运动矢量集合均包括各第一控制点的一运动矢量;利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选,包括:响应于多个运动矢量集合的属性为允许集合间组合,从多个运动矢量集合中选择至少两个第一控制点的运动矢量,以组成一仿射候选;或者响应于多个运动矢量集合的属性为不允许集合间组合,分别将每个运动矢量集合作为目标集合,从目标集合中选择至少两个第一控制点的运动矢量,以组成一仿射候选。
其中,多个控制点包括多个第二控制点,为当前块的多个控制点确定至少一个关联并置块,包括:获取当前块的并置块作为多个第二控制点对应的关联并置块,或利用当前块的已编码相邻块的运动矢量对当前块的并置块进行偏移,以作为多个第二控制点对应的关联并置块;基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量,包括:基于关联并置块的运动信息,得到当前块中的各第一子块的第一运动矢量;利用各第一子块的第一运动矢量,拟合出多个第二控制点的运动矢量。
其中,利用各第一子块的第一运动矢量,拟合出多个第二控制点的运动矢量,包括:将第一子块的第一运动矢量分别代入至少一个仿射模型公式,得到各仿射模型公式对应的仿射模型的模型参数,以得到各仿射模型公式对应的控制点运动矢量组,其中,每组控制点运动矢量组包括至少两个第二控制点的运动矢量,利用所述仿射模型预测得到的第一子块的运动矢量为第二运动矢量,第二运动矢量与第一运动矢量之间的差异满足预设拟合条件;利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选,包括:对于每组控制点运动矢量组,将控制点运动矢量组中的所有第二控制点的运动矢量进行组合,以得到一仿射候选。
其中,利用当前块的已编码相邻块的运动矢量对当前块的并置块进行偏移,以作为多个第二控制点对应的关联并置块,包括:将并置帧中的当前块的并置块预设位置按照已编码相邻块的运动矢量进行第二偏移,并将并置帧中经第二偏移后的位置对应的块作为关联并置块。
其中,基于关联并置块的运动信息,得到当前块中的各第一子块的第一运动矢量,包括:根据当前块的参考信息以及关联并置块的运动信息中的参考信息,对关联并置块中的各第二子块的运动矢量进行缩放,得到各第一子块的运动矢量。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种仿射预测的方法,该方法包括:利用前述任一项中的方法获得当前块的若干仿射候选;分别利用各仿射候选,预测得到当前块的子块对应各仿射候选的运动矢量;获取各仿射候选的率失真优化代价;选出率失真优化代价符合预设选择条件的仿射候选作为当前块的目标仿射候选,并将目标仿射候选对应的子块的运动矢量作为子块的预测运动矢量。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述任一仿射候选构建方法或者仿射预测的方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述任一仿射候选构建方法或者仿射预测的方法。
上述方案,引入与多个控制点存在空域相关的关联位置的并置块的运动信息得到控制点的运动矢量,从而构建仿射候选,使得仿射候选能够充分继承与控制点关联的时域运动信息,提高仿射候选构建的准确性,进而将该仿射候选用于仿射预测,提高编码的准确率。
附图说明
图1是本申请仿射候选构建方法第一实施例的流程示意图;
图2是本申请仿射候选构建方法第二实施例的流程示意图;
图3是本申请仿射候选构建方法第三实施例的示意图;
图4是本申请仿射候选构建方法第四实施例的示意图;
图5是本申请仿射候选构建方法第五实施例的示意图;
图6是本申请仿射候选构建方法第六实施例的流程示意图;
图7是本申请仿射运动模型一实施例的示意图;
图8是本申请仿射候选构建方法第七实施例的示意图;
图9是本申请仿射候选构建方法第八实施例的示意图;
图10是本申请中仿射预测的方法一实施例的流程示意图;
图11是本申请仿射候选构建装置一实施例的框架示意图;
图12是本申请仿射预测装置一实施例的框架示意图;
图13是本申请电子设备一实施例的框架示意图;
图14是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
请参阅图1,图1是本申请仿射候选构建方法第一实施例的流程示意图。具体而言,该方法可以包括如下步骤:
步骤S110:为当前块的多个控制点确定至少一个关联并置块。
其中,当前帧图像中当前待编码的图像块作为当前块,控制点位于当前块范围内。需要说明的是,控制点可以在当前块内任意选取。示例性地,当前块为矩形区域,矩形区域的角点可以作为当前块的控制点。一些实施例中,控制点也可以不仅限于当前块的角点。
当前帧图像中关联位置的并置块为关联并置块,关联位置为与控制点存在空域相关的位置,空域相关是指关联位置与控制点的空间位置存在关联关系。关联并置块来自并置帧,其在并置帧中所处的空间位置与关联位置在当前帧中所处的空间位置存在对应关系。其中,关联并置块的尺寸与选取的关联位置的图像尺寸一致。上述对应关系可以是两者在各自图像中所处的空间位置一致,或者关联并置块与同关联位置所处空间位置一致的图像块之间的距离小于预定阈值。示例性地,并置块的空间位置处于当前块的空间位置的右下角。
需要说明的是,控制点和对应的关联并置块的之间数量关系可以是多样的,示例性地,一个控制点可以确定有一个或多个关联并置块,或者多个控制点可以确定有同一个关联并置块。关联并置块的尺寸可以是多样的,示例性地,关联并置块的尺寸可以与当前块相同,或者,当前块可以划分为多个子块,关联并置块的尺寸可以与子块相同。
步骤S120:基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量。
其中,关联并置块是关联位置的并置块,关联位置与控制点存在空域相关,关联并置块已经编码完成,关联并置块的运动信息可以表征关联并置块相对关联并置块的参考块之间的运动。基于关联位置与关联并置块之间的并置关系,关联并置块的运动信息可以表征关联位置与其的参考块之间的运动,从而可以用于确定与关联位置存在空域相关的控制点与其参考位置之间的运动位移,即可以用于得到控制点的运动矢量。
进一步地,与控制点存在空域相关的关联位置可以包括以下至少一者:控制点的相邻位置、以及包含控制点的当前块的位置。
步骤S130:利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选。
在得到多个控制点的运动矢量之后,可以从中选择至少两个进行组合,从而得到当前块的一仿射候选。其中,每个仿射候选包括的控制点的运动矢量数量可以不同。示例性地,一仿射候选包括两个控制点的运动矢量,另一仿射候选包括三个控制点的运动矢量。
上述方案,引入与多个控制点存在空域相关的关联位置的并置块的运动信息得到控制点的运动矢量,从而构建仿射候选,使得仿射候选能够充分继承与控制点关联的时域信息,提高仿射候选构建的准确性,以将该仿射候选用于仿射预测,提高编码的准确率。
请参阅图2,图2是本申请仿射候选构建方法第二实施例的流程示意图。具体而言,该方法可以包括如下步骤:
步骤S210:为当前块确定多个第一控制点。
步骤S110可以通过步骤S210-步骤S230实现。其中,多个控制点包括多个第一控制点。当前块的范围内的任意点可以作为第一控制点,进一步地,可以从当前块的边缘上选择多个点作为第一控制点。示例性地,当前块可以为矩形,选择矩形的四个角点作为第一控制点。对每个第一控制点分别执行步骤S220-步骤S230。
步骤S220:从第一控制点的多个候选相邻位置中选出目标相邻位置。
本实施例中,对每个第一控制点分别确定其对应的关联并置块。第一控制点的候选相邻位置可以包括第一控制点的所有相邻位置中的至少部分,相邻位置可以是边缘与第一控制点相接的图像块,对每个第一控制点分别确定目标相邻位置。示例性地,当前块的角点作为第一控制点,与角点相邻的多个子块作为该角点的候选相邻位置,从多个子块中确定目标相邻位置。一些实施例中,也可以不以子块划分相邻位置,例如,相邻位置的尺寸可以预先设定。
请结合参阅图3,图3中a表示当前块,图3中示出了当前块的四个角点作为第一控制点,并且给出了各第一控制点的相邻位置示意。以左上角点为例,A1-A4均为左上角点的相邻位置,并且可以作为候选相邻位置。
一些实施例中,由于候选相邻位置的并置块为帧内预测编码的,或者其他原因,候选相邻位置的并置块可能不存在运动信息,那么该候选相邻位置则不能够作为目标相邻位置。
其中,目标相邻位置可以为多个候选相邻位置中的一个。在一具体的应用场景中,对一第一控制点,按照顺序检测该第一控制点的多个候选相邻位置是否能够作为目标相邻位置,直到检测得到某一候选相邻位置能够作为目标相邻位置,则将该候选相邻位置作为该第一控制点的目标相邻位置。
步骤S230:将目标相邻位置的并置块作为第一控制点的关联并置块,或利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块。
本实施例中,第一控制点的并联并置块可以是其相邻位置的并置块,或者是当前块的经其相邻位置的运动矢量偏移后的并置块。
需要说明的是,在对当前块进行编码时,由于编码顺序的限制,当前块的各个第一控制点的所有相邻位置中包括已编码相邻位置和未编码相邻位置。对各第一控制点来说,其所有的相邻位置均能够提供自身的并置块,而已编码相邻位置由于其已获取运动矢量,故还能够提供自身的运动矢量。用于提供自身的并置块作为第一控制点对应的关联并置块为第一相邻位置,作为已编码位置且用于提供自身的运动矢量对当前块的并置块进行偏移为第二相邻位置。也即,已编码的相邻位置可以作为第一相邻位置,也可以作为第二相邻位置,未编码的相邻位置只可以作为第一相邻位置。示例性地,对于左上角点的四个相邻位置A1、A2、A3和A4,其中,在对当前块进行编码时,A4尚未编码,故A1、A2和A3可以作为第一相邻位置,也可以作为第二相邻位置,A4只可以作为第一相邻位置。
一些实施例中,对于第一控制点来说,可以预先确定其各个相邻位置是否作为候选相邻位置,以及候选相邻位置作为第一相邻位置或者第二相邻位置。
每个第一控制点可以划分为第一类型、第二类型和第三类型中的任一类。其中,第一类型的第一控制点的多个候选相邻位置均为第一相邻位置,第二类型的第一控制点的多个候选相邻位置均为第二相邻位置,第三类型的第一控制点的多个候选相邻位置中包括第一相邻位置和第二相邻位置。
在一实施场景中,对于左上角点可以预先确定A1、A2、A3和A4均作为候选相邻位置,并且这四个相邻位置均作为第一相邻位置。从这四个候选相邻位置中选择至少一个作为目标相邻位置,将目标相邻位置的并置块作为第一控制点的关联并置块,以获取第一控制点的运动矢量。此时,左上角点为第一类型。
在一实施场景中,对于左上角点可以预先确定A1、A2和A3作为候选相邻位置,并且这三个相邻位置均作为第一相邻位置。从这三个候选相邻位置中选择至少一个作为目标相邻位置,将目标相邻位置的并置块作为第一控制点的关联并置块,以获取第一控制点的运动矢量。此时,左上角点为第一类型。
在一实施场景中,对于左上角点可以预先确定A1、A2和A3作为候选相邻位置,并且这三个相邻位置均作为第二相邻位置。从这三个候选相邻位置中选择至少一个作为目标相邻位置,利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块。此时,左上角点为第二类型。
在一实施场景中,对于左上角点可以预先确定A1和A3作为候选相邻位置,并且这两个相邻位置均作为第二相邻位置。从这两个候选相邻位置中选择至少一个作为目标相邻位置,利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块。此时,左上角点为第二类型。
在一实施场景中,对于左上角点可以预先确定其四个相邻位置均作为候选相邻位置,并且A1、A2和A3作为第二相邻位置,A4作为第一相邻位置。从这三个候选相邻位置中选择至少一个作为目标相邻位置,若A1、A2、A3中的任一者作为目标相邻位置,将目标相邻位置的并置块作为第一控制点的关联并置块,以获取第一控制点的运动矢量。若A4作为目标相邻位置,利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块。此时,左上角点为第三类型。
一些实施例中,一个已编码的相邻位置也可以同时用于提供自身的并置块作为第一控制点对应的关联并置块,或者用于提供自身的运动矢量对当前块的并置块进行偏移。
进一步地,当前块的多个第一控制点均属于第一类型,或者多个第一控制点均属于第二类型,或者多个第一控制点均属于第三类型,或者多个第一控制点属于第一类型、第二类型和第三类型中的两类。
示例性地,当前块的四个角点作为第一控制点,均属于第一类型。
示例性地,当前块的三个角点作为第一控制点,其中两个属于第一类型,另一个属于第三类型。
其中,若第一相邻位置作为目标相邻位置,那么将目标相邻位置的并置块作为第一控制点的关联并置块。若第二相邻位置作为目标相邻位置,那么利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块。
进一步来说,利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块可以通过如下步骤实现:将并置帧中当前块的并置块预设位置按照目标相邻位置的运动矢量进行第一偏移,并将并置帧中经第一偏移后的位置对应的块作为关联并置块。其中,当前块的并置块预设位置可以根据当前块确定,并置块预设位置在并置帧中所处的空间位置与当前块在当前帧中所处的空间位置对应。示例性地,并置块预设位置在并置帧中所处的空间位置与当前块在当前帧中所处的空间位置一致。
上述方式,从与控制点相邻的目标相邻位置的维度上引入时域运动信息,用于计算该控制点的运动矢量,使得控制点的运动矢量能够充分利用时域运动信息,提高控制点运动矢量的准确性,提高仿射候选构建的准确性,以将该仿射候选用于仿射预测,提高编码的准确率。
进一步地,考虑到并置帧与当前帧之间可能发生运动位移,所以同位置的并置块的运动矢量并不一定准确,利用目标相邻位置的并置块对当前块的并置块进行偏移,偏移处理补偿并置帧与当前帧之间可能的位移,进一步提高控制点运动矢量的准确性,提高仿射候选构建的准确性,以将该仿射候选用于仿射预测,提高编码的准确率。
步骤S240:基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量。
具体来说,在对每个第一控制点分别确定关联并置块之后,分别利用各第一控制点的关联并置块的运动信息,对应得到各第一控制点的运动矢量。
其中,第一控制点的关联并置块为已编码的,关联并置块的运动信息是基于其编码过程得到的,表示关联并置块相对于关联并置块的参考块的运动。基于目标相邻位置与关联并置块之间的并置关系,关联并置块的运动信息可以表征目标相邻位置与其的参考块之间的运动,从而可以用于确定与目标相邻位置存在空域相关的控制点的运动情况,即可以用于得到第一控制点的运动矢量。
一些实施例中,目标相邻位置可以为多个位置。在一具体的应用场景中,选择多个候选相邻位置作为目标相邻位置,那么通过各个候选相邻位置分别的关联并置块的运动信息以得到第一控制点在多个候选相邻位置分别对应的运动矢量,以用于构建仿射候选。
其中,运动信息包括运动矢量,基于关联并置块的运动矢量而得到控制点的运动矢量。
进一步来说,关联并置块的运动信息还包括参考信息,参考信息可以表示关联并置块对应的参考帧。根据当前块的参考信息以及关联并置块的参考信息,对关联并置块的运动矢量进行缩放,得到第一控制点的运动矢量。其中,当前块的参考信息表示当前块对应的参考帧。
一些实施例中,目标相邻位置的并置块可以为非仿射块或者仿射块,仿射块是指该并置块本身是由其他图像进行仿射变换得到的。对于非仿射块,可以获取该非仿射块的运动信息,其中包括参考信息和该非仿射块的运动矢量。对于仿射块,可以获取该仿射块的控制点运动矢量,以用于得到控制点的运动矢量。
步骤S250:利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选。
在得到各第一控制点分别的运动矢量后,利用多个第一控制点分别的运动矢量进行组合,得到当前块的仿射候选。其中,一个仿射候选包括的运动矢量的数量可以根据实际需要而调整,具体来说,每个仿射候选包括至少两个第一控制点的运动矢量。
在一实施场景中,当前块的四个角点可以作为第一控制点,分别得到每个角点的运动矢量。选择四个角点的运动矢量中任意的两个或者三个进行组合,从而得到若干仿射候选。进一步地,若对于左上角点确定了第一候选相邻位置和第二候选相邻位置作为目标相邻位置,那么基于第一候选相邻位置得到第一矢量,基于第二候选相邻位置得到第二矢量,第一矢量和第二矢量中任意一者可以作为左上角点的运动矢量而用于进行组合,第一矢量和第二矢量不存在于同一仿射候选中。
请参阅图3,图3是本申请仿射候选构建方法第三实施例的示意图。
如图3所示,其中a表示当前块,本实施例中将当前块的左上角点、右上角点、左下角点和右下角点作为当前块的第一控制点。其中,A1-A4表示左上角点的四个候选相邻位置,B1-B4表示右上角点的四个候选相邻位置,C1-C4表示左下角点的四个候选相邻位置,D1-D4表示右下角点的四个候选相邻位置。本实施例中,四个第一控制点均属于第一类型,各第一控制点的多个候选相邻位置均为第一相邻位置,用于提供自身的并置块作为第一控制点对应的关联并置块。
一些实施例中,也可以采用当前块的左上角点、右上角点、左下角点和右下角点中的任意两个或者三个作为第一控制点。
对于各个第一控制点,在四个候选相邻位置中选择一个或多个作为目标相邻位置,获取目标相邻位置的并置块作为关联并置块,根据关联并置块的运动信息得到第一控制点的运动矢量,利用多个第一控制点的运动矢量进行组合,以获得当前块的若干仿射候选。
具体来说,按照预设检测顺序,检查第一控制点的多个候选相邻位置是否可以获取到运动信息,直到检测到预设数量的能够获取到运动信息的候选相邻位置。其中,不同第一控制点的检测顺序可以不同,并且不同第一控制点的预设数量也可以不同。示例性地,对左上角点按照A1、A2、A3、A4顺序依次检查,直到找到可以获取运动信息的一个候选相邻位置,以得到左上角点的运动矢量CPMV(control point motion vector,控制点运动矢量)1。对右上角点按照B1、B2、B3、B4顺序依次检查,直到找到可以获取运动信息的一个候选相邻位置,以得到右上角点的运动矢量CPMV2。对左下角点按照C1、C3、C2、C4顺序依次检查,直到找到可以获取运动信息的一个候选相邻位置,以得到左下角点的运动矢量CPMV3。对右下角点按照D1、D2、D3、D4顺序依次检查,直到找到可以获取运动信息的一个候选相邻位置,以得到右下角点的运动矢量CPMV4。
进一步地,对左上角点按照A1、A2、A3、A4顺序依次检查,直到找到A1为可以获取运动信息的一个候选相邻位置,利用A1的并置块作为关联并置块,获取A1的并置块的运动矢量进行缩放,作为A1的时间运动矢量预测(temporal motion vector prediction,TMVP),以作为左上角点的运动矢量CPMV1。
一些实施例中,目标相邻位置可以为多个。示例性地,对左上角点按照A1、A2、A3、A4顺序依次检查,直到找到可以获取运动信息的两个候选相邻位置。例如,A1和A2可以获取到运动信息,那么根据A1的并置块的运动信息和A2的并置块的运动信息可以得到两个运动矢量CPMV1-1和CPMV1-2,以用于构建仿射候选。
事先预设4个CPMV的所有组合如下:{ CPMV1, CPMV2},{ CPMV1, CPMV3},{CPMV1, CPMV4},{ CPMV2, CPMV3},{ CPMV2, CPMV4},{ CPMV3, CPMV4},用于构造4参数仿射模型。{ CPMV1, CPMV2, CPMV3},{ CPMV2, CPMV3, CPMV4},{ CPMV1, CPMV3, CPMV4},{ CPMV1, CPMV2, CPMV4},用于构造6参数仿射模型。
其中,由于CPMV1-CPMV4不一定全都可获取到,去除有获取不到的CPMV的组合,例如CPMV4获取不到,则预设组合剩下的为{ CPMV1, CPMV2},{ CPMV1, CPMV3},{ CPMV2,CPMV3},{ CPMV1, CPMV2, CPMV3}。以上组合可以作为仿射候选加入仿射候选列表。
请参阅图4,图4是本申请仿射候选构建方法第四实施例的示意图。
如图4所示,其中a表示当前块,本实施例中当前块的第一控制点包括当前块的左上角点、右上角点和左下角点。其中,A1-A3表示左上角点的三个候选相邻位置,B1-B2表示右上角点的两个候选相邻位置,C1-C2表示左下角点的两个候选相邻位置。本实施例中,三个第一控制点均属于第二类型,各第一控制点的多个候选相邻位置均为第二相邻位置,用于提供自身的运动矢量对当前块的并置块进行偏移。
本实施例中,图4中所示出的为各第一控制点的候选相邻位置。相比于图3中示出的第一控制点来说,本实施例中,由于编码按照由上至下、由左至右的顺序进行,在对当前块进行编码时,右下角点附近没有已编码的相邻位置,右下角点没有对应的候选相邻位置,也就不作为第一控制点。并且左上角点、右上角点和左下角点的多个相邻位置中未编码的位置也不作为候选相邻位置。
对于一个第一控制点,在其候选相邻位置中选择目标相邻位置。进一步来说,获取该目标相邻位置的运动矢量,该运动矢量是基于目标相邻位置的编码过程得到的。利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块。
示例性地,如图4所示,从A1、A2、A3中选择A1作为目标相邻位置,获取A1的运动矢量,将并置帧中的当前块a的并置块预设位置按照A1的运动矢量进行第一偏移,将并置帧中经第一偏移后的位置对应的块作为关联并置块,利用关联并置块的运动信息得到左上角点的运动矢量。
一些实施例中,每个第一控制点的目标相邻位置有多个,分别利用各第一控制点的关联并置块的运动信息,对应得到各第一控制点的运动矢量包括:对于每个第一控制点,利用第一控制点对应各目标相邻位置的关联并置块的运动信息,分别得到第一控制点对应各目标相邻位置的运动矢量。其中,多个第一控制点对应各目标相邻位置的运动矢量组成多个运动矢量集合,每个运动矢量集合均包括各第一控制点的一运动矢量。
本实施例中,在左上角点、右上角点和左下角点各选择2个目标相邻位置,对一个第一控制点,在两个目标相邻位置分别获取关联并置块的运动信息,得到该第一控制点在两个目标相邻位置的运动矢量。示例性地,得到左上角点对应两个目标相邻位置的运动矢量CPMV1-1和CPMV1-2,右上角点对应两个目标相邻位置的运动矢量CPMV2-1和CPMV2-2,左下角点对应两个目标相邻位置的运动矢量CPMV3-1和CPMV3-2。得到各个第一控制点在各自目标相邻位置的运动矢量构成运动矢量集合,集合数量与目标相邻位置的数量一致,每个运动矢量集合均包括各第一控制点的一运动矢量,并且同一第一控制点在不同运动矢量集合中的运动矢量不同。继续上例,得到第一CPMV集合CPMV1-1、CPMV2-1、CPMV3-1和第二CPMV集合CPMV1-2、CPMV2-2、CPMV3-2。
需要说明的是,多个运动矢量集合的属性可以设置为允许集合间组合,以及不允许集合间组合,根据这一属性进行运动矢量的组合,以得到若干仿射候选。具体来说,响应于多个运动矢量集合的属性为允许集合间组合,从多个运动矢量集合中选择至少两个第一控制点的运动矢量,以组成一仿射候选;或者响应于多个运动矢量集合的属性为不允许集合间组合,分别将每个运动矢量集合作为目标集合,从目标集合中选择至少两个第一控制点的运动矢量,以组成一仿射候选。
继续上例,预设第一集合与第二集合不可以组合在一起,即一个仿射候选中只能包含同一运动矢量集合中的运动矢量,预设CPMV的所有组合具体如下:
{ CPMV1-1, CPMV2-1},{ CPMV1-2, CPMV2-2},{ CPMV1-1, CPMV3-1}, { CPMV1-2, CPMV3-2},{ CPMV2-1, CPMV3-1},{ CPMV2-2, CPMV3-2}用于构造4参数仿射模型。{CPMV1-1, CPMV2-1, CPMV3-1},{ CPMV1-2, CPMV2-2, CPMV3-2}用于构造6参数仿射模型。
继续上例,对于右上角点,CPMV2-1可以是对应B1得到的,CPMV2-2可以是对应B2得到的,或者CPMV2-1可以是对应B2得到的,CPMV2-2可以是对应B1得到的,左下角点同理。对于左上角点,可以按照预设顺序从A1、A2、A3对应获取左上角点的运动矢量,例如,对应A1获取左上角点的运动矢量作为CPMV1-1,对应A2获取左上角点的运动矢量作为CPMV1-2,如果A2处获取不到,则在A3处获取。
进一步来说,对于左上角点,获取A1的运动矢量,对并置帧中当前块的并置块预设位置按照A1的运动矢量进行第一偏移,并将并置帧中经第一偏移后的位置对应的块作为关联并置块。其中,并置块预设位置在并置帧中所处的空间位置与当前块在当前帧中所处的空间位置对应。根据当前块的参考信息以及关联并置块的参考信息,对关联并置块的运动矢量进行缩放,得到左上角点的运动矢量CPMV1-1。
由于当前块的目标相邻位置有可能由于是帧内预测编码的等原因获取不到运动矢量。CPMV1-1~ CPMV3-2不一定全部能够得到,去除有获取不到的CPMV的组合,例如CPMV3-2获取不到,则预设组合剩下的为{ CPMV1-1, CPMV2-1},{ CPMV1-2, CPMV2-2},{ CPMV1-1, CPMV3-1},{ CPMV2-1, CPMV3-1},{ CPMV1-1, CPMV2-1, CPMV3-1}。以上CPMV均能获取到的组合作为仿射候选加入候选列表。
请参阅图5,图5是本申请仿射候选构建方法第五实施例的示意图。
如图5所示,其中a表示当前块,本实施例中当前块的第一控制点包括当前块的左上角点、右上角点、左下角点和右下角点。其中,A1-A4表示左上角点的四个候选相邻位置,其中,A1-A3为第二相邻位置,A4为第一相邻位置,左上角点属于第三类型,B1-B4表示右上角点的四个候选相邻位置,其中,B1-B2为第二相邻位置,B3-B4为第一相邻位置,右上角点属于第三类型,C1-C4表示左下角点的四个候选相邻位置,其中,C1-C2为第二相邻位置,C3-C4为第一相邻位置,左下角点属于第三类型,D1-D4表示右下角点的四个候选相邻位置,其中,D1-B4为第一相邻位置,右下角点属于第一类型。本实施例中,当前块的多个第一控制点属于第一类型和第三类型。
一些实施例中,若图5中的右下角不作为第一控制点,此时当前块的多个第一控制点均属于第三类型。
其中,若第一相邻位置作为目标相邻位置,那么将目标相邻位置的并置块作为第一控制点的关联并置块,以得到第一控制点的运动矢量。若第二相邻位置作为目标相邻位置,那么利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块,得到第一控制点的运动矢量。示例性地,将A4作为目标相邻位置,利用A4的并置块作为关联并置块,获取A4的并置块的运动矢量进行缩放,作为A4的时间运动矢量预测TMVP。示例性地,将A1作为目标相邻位置,那么利用A1的运动矢量对当前块的并置块进行偏移,得到关联并置块,利用关联并置块的运动矢量进行缩放得到A1处的偏移时间运动矢量预测(偏移TMVP)。
设定左上角获取按照以下顺序获取CPMV:A1处获取偏移TMVP、A2处获取偏移TMVP、A3处获取偏移TMVP、A4处获取TMVP;设定右上角获取按照以下顺序获取CPMV:B1处获取偏移TMVP、B2处获取偏移TMVP、B3处获取TMVP、B4处获取TMVP;设定左下角获取按照以下顺序获取CPMV:C1处获取偏移TMVP、C2处获取偏移TMVP、C3处获取TMVP、C4处获取TMVP;设定右下角获取按照以下顺序获取CPMV:D1处获取TMVP、D2处获取TMVP、D3处获取TMVP、D4处获取TMVP。
按照上面的顺序,左上角,右上角,左下角,右下角分别获取最多一个CPMV,得到CPMV1~CPMV4。再根据设定的组合构造仿射候选,加入候选列表。设定的组合为:{ CPMV1,CPMV2},{ CPMV1, CPMV3},{ CPMV1, CPMV4},{ CPMV2, CPMV3},{ CPMV2, CPMV4},{CPMV3, CPMV4},用于构造4参数仿射模型。{ CPMV1, CPMV2, CPMV3},{ CPMV2, CPMV3,CPMV4},{ CPMV1, CPMV3, CPMV4},{ CPMV1, CPMV2, CPMV4},用于构造6参数仿射模型。
请参阅图6,图6是本申请仿射候选构建方法第六实施例的流程示意图。具体而言,该方法可以包括如下步骤:
步骤S610:获取当前块的并置块作为多个第二控制点对应的关联并置块,或利用当前块的已编码相邻块的运动矢量对当前块的并置块进行偏移,以作为多个第二控制点对应的关联并置块。
其中,步骤S610的相关描述可以参考前述实施例中关于步骤S110的相关内容。本实施例中,多个控制点包括多个第二控制点,该多个第二控制点对应一个关联并置块。该关联并置块为当前块的并置块,或者基于当前块的并置块偏移得到。
其中,当前块的已编码相邻块为与当前块相邻的、已编码的图像块,该图像块可以根据实际需要选取。示例性地,可以参考前述实施例中的相邻位置选取。
进一步来说,利用当前块的已编码相邻块的运动矢量对当前块的并置块进行偏移,以作为多个第二控制点对应的关联并置块,包括:将并置帧中的当前块的并置块预设位置按照已编码相邻块的运动矢量进行第二偏移,并将并置帧中经第二偏移后的位置对应的块作为多个第二控制点的关联并置块。其中,当前块的并置块预设位置可以根据当前块确定,并置块预设位置在并置帧中所处的空间位置与当前块在当前帧中所处的空间位置对应。示例性地,并置块预设位置在并置帧中所处的空间位置与当前块在当前帧中所处的空间位置一致。
步骤S620:基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量。
在得到多个第二控制点共同对应的关联并置块之后,利用该关联并置块的运动信息,得到多个第二控制点的运动矢量。进一步来说,可以通过如下步骤实现:基于关联并置块的运动信息,得到当前块中各第一子块的第一运动矢量,利用各第一子块的第一运动矢量,拟合出多个第二控制点的运动矢量。
基于关联并置块与当前块之间的并置关系,可以假定关联并置块相比其参考块之间的运动与当前块相比参考块之间的运动相似。从而基于关联并置块的运动信息可以得到当前块的运动矢量。
进一步来说,关联并置块与当前块可以进行相同的子块划分,从而基于关联并置块中第二子块的运动信息可以得到当前块中相同位置的第一子块的第一运动矢量。在得到各个第一子块的第一运动矢量后,可以拟合得到各个第二控制点的运动矢量。
在一具体的应用场景中,根据当前块的参考信息以及关联并置块的运动信息中的参考信息,对关联并置块中的各第二子块的运动矢量进行缩放,得到各第一子块的运动矢量。
一些实施例中,利用各第一子块的第一运动矢量,拟合出多个第二控制点的运动矢量可以通过如下步骤实现:将所有第一子块的第一运动矢量分别带入到至少一个仿射模型公式中,求解得到各所述仿射模型公式对应的仿射模型的模型参数。基于各所述仿射模型公式对应的模型参数可以分别得到各仿射模型公式对应的控制点运动矢量组。其中,至少一个仿射模型公式包括4参数模型公式和/或6参数模型公式,选用的仿射模型公式可以为一个或者多个,得到的每组控制点运动矢量组包括至少两个第二控制点的运动矢量。
在一具体的应用场景中,设定仿射预测模型是4参数,后续利用回归得到的仿射预测模型计算出2个控制点,采用两个控制点的4参数仿射模型公式如下:
其中,(x,y)表示当前块中目标点的坐标,W和H分别表示当前块的宽和高,(mvx,mvy)表示目标点的运动矢量,(mv0x,mv0y)是左上角控制点的运动矢量,(mv1x,mv1y)是右上角控制点的运动矢量,(mv2x,mv2y)是左下角控制点的运动矢量。在给定了一个编码块两个角点运动矢量信息,就可以根据上述4参数模型计算出块内任意位置的运动矢量。反之,根据块内位置的运动矢量可以拟合得到仿射模型,从而得到模型参数,根据模型参数得到控制点运动矢量。
将所有第一子块的运动矢量带入到上述公式中,求解出4参数仿射模型公式中的模型参数。如上式中的、/>、/>、/>、/>、/>。从而基于模型参数可以得到该4参数仿射模型公式对应的控制点运动矢量组,其中包括两个控制点运动矢量。
在一具体的应用场景中,设定仿射预测模型是6参数,后续利用回归得到的仿射预测模型计算出3个控制点,采用三个控制点的6参数仿射模型公式如下:
其中,(x,y)表示当前块中目标点的坐标,W和H分别表示当前块的宽和高,(mvx,mvy)表示目标点的运动矢量,(mv0x,mv0y)是左上角控制点的运动矢量,(mv1x,mv1y)是右上角控制点的运动矢量,(mv2x,mv2y)是左下角控制点的运动矢量。在给定了一个编码块三个角点运动矢量信息,就可以根据上述6参数模型计算出块内任意位置的运动矢量。反之,根据块内位置的运动矢量可以拟合得到仿射模型,从而得到模型参数,根据模型参数得到控制点运动矢量。
将所有第一子块的运动矢量带入到上述公式中,求解出6参数仿射模型公式中的模型参数。如上式中的、/>、/>、/>、/>、/>。从而基于模型参数可以得到该6参数仿射模型公式对应的控制点运动矢量组,其中包括三个控制点运动矢量。
一些实施例中,可以将所有第一子块的运动矢量分别代入4参数仿射模型公式和6参数仿射模型公式,以得到一个两控制点运动矢量构建的仿射候选和一个三控制点运动矢量构建的仿射候选。
一些实施例中,仿射模型公式也可以不限于上述4参数仿射模型公式和6参数仿射模型公式。
请参阅图7,图7是本申请仿射运动模型一实施例的示意图。
如图7所示,cur表示当前块,图7中(a)中对当前块采用左上角点和右上角点作为控制点,其对应的仿射模型公式为上述采用两个控制点的4参数仿射模型公式。其中,v0和v1分别表示两个控制点的运动矢量。图7中(b)中对当前块采用左上角点、右上角点和左下角点作为控制点,其对应的仿射模型公式为上述采用三个控制点的6参数仿射模型公式。其中,v0、v1、v2分别表示三个控制点的运动矢量。
一些实施例中,仿射采用的控制点也可以调换,相应地仿射模型公式跟随控制点变化而变化。
在一具体的应用场景中,将各个第一子块的第一运动矢量带入到采用两个控制点的4参数仿射模型公式中,利用线性回归的方法,拟合得到仿射模型,确定仿射模型公式参数,以得到包含两个控制点的运动矢量的控制点运动矢量组。
在一具体的应用场景中,将各个第一子块的第一运动矢量带入到采用三个控制点的6参数仿射模型公式中,利用线性回归的方法,拟合得到仿射模型,确定仿射模型公式参数,以得到包含三个控制点的运动矢量的控制点运动矢量组。
进一步地,拟合得到的仿射模型可以用于预测块内任意位置的运动矢量,利用拟合得到的仿射模型预测得到的第一子块的运动矢量为第二运动矢量,第二运动矢量与第一运动矢量的差异满足预设拟合条件。示例性地,预设拟合条件为使得每个子块经过该仿射模型预测出的第二运动矢量与获取的第一运动矢量差异最小。
步骤S630:利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选。
具体地,利用多个第二控制点的运动矢量进行组合,以获取当前块的仿射候选。
进一步地,利用当前块的各第一子块的第一运动矢量,针对一个仿射模型公式拟合得到一组控制点运动矢量组,对于每组控制点运动矢量组,将控制点运动矢量组中的所有第二控制点的运动矢量进行组合,得到一仿射候选。
上述方案,从当前块的维度上引入时域运动信息,用于得到当前块中各第一子块的运动矢量,通过子块运动矢量拟合得出控制点的运动矢量,进一步充分挖掘了当前块对应的时域运动信息,进一步提高控制点运动矢量的准确性,提高仿射候选构建的准确性,以将该仿射候选用于仿射预测,提高编码的准确率。
进一步地,考虑到并置帧与当前帧之间可能发生运动位移,所以同位置的并置块的运动矢量并不一定准确,对当前块的并置块进行偏移,偏移处理补偿并置帧与当前帧之间可能的位移,提高控制点运动矢量的准确性,提高仿射候选构建的准确性,以将该仿射候选用于仿射预测,提高编码的准确率。
请参阅图8,图8是本申请仿射候选构建方法第七实施例的示意图。
本实施例中,获取当前块的并置块作为当前块的多个第二控制点对应的关联并置块,对关联并置块的各第二子块的运动矢量进行缩放,得到当前块中各第一子块。利用各第一子块的第一运动矢量,设定仿射预测模型是4参数,利用回归得到的仿射预测模型计算出2个控制点作为一控制点运动矢量组。利用各第一子块的第一运动矢量,设定仿射预测模型是6参数,后续利用回归得到的仿射预测模型计算出3个控制点作为一控制点运动矢量组。将一仿射模型公式对应的控制点运动矢量组内的所有控制点运动矢量进行组合,得到一仿射候选。
请参阅图9,图9是本申请仿射候选构建方法第八实施例的示意图。
本实施例中,获取当前块的已编码相邻块的运动矢量,该运动矢量基于已编码相邻块的帧间编码过程得到。如图9所示,A为与当前块相邻的已编码相邻块。利用该运动矢量对并置帧中的当前块的并置块预设位置进行第二偏移,并将并置帧中经第二偏移后的位置对应的块作为关联并置块。并置帧中的当前块的并置块预设位置进行第二偏移后,与当前块相邻的已编码相邻块相应地为A1。对关联并置块的各第二子块的运动矢量进行缩放,得到当前块中各第一子块。利用各第一子块的第一运动矢量,设定仿射预测模型是4参数,利用回归得到的仿射预测模型计算出2个控制点作为一控制点运动矢量组,将该控制点运动矢量组中的所有运动矢量进行组合,得到一仿射候选。利用各第一子块的第一运动矢量,设定仿射预测模型是6参数,后续利用回归得到的仿射预测模型计算出3个控制点作为一控制点运动矢量组,将该控制点运动矢量组中的所有运动矢量进行组合,得到一仿射候选。
请参阅图10,图10是本申请中仿射预测的方法一实施例的流程示意图。具体而言,该方法可以包括如下步骤:
步骤S1010:获得当前块的若干仿射候选。
其中,可以利用前述任意实施例中所述的方法得到若干仿射候选,将得到的仿射候选加入仿射候选列表中。示例性地,确定当前块的多个第一控制点以得到仿射候选,以及确定当前块的多个第二控制点以得到仿射候选。
步骤S1020:分别利用各仿射候选,预测得到当前块的子块对应各仿射候选的运动矢量。
对于一个仿射候选,根据仿射候选包含的控制点运动矢量,以及对应的仿射模型公式求得仿射模型,其中仿射模型可以用于预测当前块中各个位置的运动矢量。其中,当前块可以划分为若干子块,从而可以利用仿射模型预测当前块的子块的运动矢量,得到当前块的子块对应各仿射候选的运动矢量。
步骤S1030:获取各仿射候选的率失真优化代价。
其中,RDO(Rate Distortion Optimized,率失真优化)代价是评估编码效果的参数,通过比较各仿射候选的率失真优化代价能够从若干仿射候选中选择编码效果更好的仿射候选。
步骤S1040:选出率失真优化代价符合预设选择条件的仿射候选作为当前块的目标仿射候选,并将目标仿射候选对应的子块的运动矢量作为子块的预测运动矢量。
其中,预设选择条件可以根据实际需要而进行设置。
在一具体的应用场景中,利用前述任意实施例中所述的方法得到若干仿射候选,对于每个候选,CPMV可以有3个也可以有2个,后续对应使用的仿射模型公式不同。对于某一个候选,根据其控制点运动矢量和仿射模型公式求出仿射模型,将仿射模型用于每个子块,求出每个子块的运动矢量并做子块的运动补偿。其中3个CPMV的仿射候选使用6参数仿射模型公式,2个CPMV的仿射候选使用4参数仿射模型公式。比较不同候选的RDO代价,选择最佳候选,句法表达它在列表中的索引。
上述方案,引入与多个控制点存在空域相关的关联位置的并置块的运动信息得到控制点的运动矢量而构建仿射候选,扩充了仿射候选的构建方式,使得仿射候选能够充分继承与控制点关联的时域运动信息,提高仿射候选构建的准确性,将该仿射候选用于仿射预测,提高编码的准确率,提高编码效率。
请参阅图11,图11是本申请仿射候选构建装置一实施例的框架示意图。
本实施例中,仿射候选构建装置110包括确定模块111、获取模块112和组合模块113,其中,确定模块111用于为当前块的多个控制点确定至少一个关联并置块,其中,关联并置块为关联位置的并置块,关联位置与控制点存在空域相关;获取模块112用于基于至少一个关联并置块的运动信息,得到多个控制点的运动矢量;组合模块113用于利用多个控制点的运动矢量进行组合,以获得当前块的若干仿射候选,其中,每个仿射候选包括至少两个控制点的运动矢量。
其中,与控制点存在空域相关的关联位置包括以下至少一者:控制点的相邻位置、以及包含控制点的当前块的位置。
其中,多个控制点包括多个第一控制点。
其中,确定模块111包括确定子模块、选择子模块和关联子模块,确定子模块用于为当前块确定多个第一控制点;选择子模块用于对于每个第一控制点,从第一控制点的多个候选相邻位置中选出目标相邻位置;关联子模块用于将目标相邻位置的并置块作为第一控制点的关联并置块,或利用目标相邻位置的运动矢量对当前块的并置块进行偏移,以作为第一控制点的关联并置块。
其中,获取模块112包括第一获取子模块,用于分别利用各第一控制点的关联并置块的运动信息,对应得到各第一控制点的运动矢量。
其中,每个第一控制点属于第一类型、第二类型和第三类型中的任意一类;第一类型的第一控制点的多个候选相邻位置均为第一相邻位置;第二类型的第一控制点的多个候选相邻位置均为第二相邻位置;第三类型的第一控制点的多个候选相邻位置中包括第一相邻位置和第二相邻位置;其中,第一相邻位置用于提供自身的并置块作为第一控制点对应的关联并置块,第二相邻位置为已编码位置且用于提供自身的运动矢量对当前块的并置块进行偏移。
其中,多个第一控制点均属于第一类型;或者,多个第一控制点均属于第二类型;或者,多个第一控制点均属于第三类型;或者,多个第一控制点属于第一类型、第二类型和第三类型中的至少两类。
其中,关联子模块包括第一偏移单元,用于将并置帧中的当前块的并置块预设位置按照目标相邻位置的运动矢量进行第一偏移,并将并置帧中经第一偏移后的位置对应的块作为关联并置块。
其中,第一获取子模块包括第一缩放单元,用于根据当前块的参考信息以及关联并置块的运动信息中的参考信息,对关联并置块的运动信息中的运动矢量进行缩放,得到对应的第一控制点的运动矢量。
其中,每个第一控制点的目标相邻位置有多个。第一获取子模块包括获取单元,用于对于每个第一控制点,利用第一控制点对应各目标相邻位置的关联并置块的运动信息,分别得到第一控制点对应各目标相邻位置的运动矢量,其中,多个第一控制点对应各目标相邻位置的运动矢量组成多个运动矢量集合,每个运动矢量集合均包括各第一控制点的一运动矢量。
其中,组合模块113包括第一响应子模块和第二响应子模块,第一响应子模块用于响应于多个运动矢量集合的属性为允许集合间组合,从多个运动矢量集合中选择至少两个第一控制点的运动矢量,以组成一仿射候选;第二响应子模块用于响应于多个运动矢量集合的属性为不允许集合间组合,分别将每个运动矢量集合作为目标集合,从目标集合中选择至少两个第一控制点的运动矢量,以组成一仿射候选。
其中,多个控制点包括多个第二控制点,确定模块111包括第二获取子模块和偏移子模块,第二获取子模块用于获取当前块的并置块作为多个第二控制点对应的关联并置块,偏移子模块用于利用当前块的已编码相邻块的运动矢量对当前块的并置块进行偏移,以作为多个第二控制点对应的关联并置块。
其中,获取模块112包括第三获取子模块和拟合子模块,第三获取子模块用于基于关联并置块的运动信息,得到当前块中的各第一子块的第一运动矢量;拟合子模块用于利用各第一子块的第一运动矢量,拟合出多个第二控制点的运动矢量。
其中,拟合子模块包括带入单元,用于将第一子块的第一运动矢量分别代入至少一个仿射模型公式,得到各仿射模型公式对应的仿射模型的模型参数,以得到各仿射模型公式对应的控制点运动矢量组,其中,每组控制点运动矢量组包括至少两个第二控制点的运动矢量,利用仿射模型预测得到的第一子块的运动矢量为第二运动矢量,第二运动矢量与第一运动矢量之间的差异满足预设拟合条件。
其中,组合模块113包括组合子模块,用于对于每组控制点运动矢量组,将控制点运动矢量组中的所有第二控制点的运动矢量进行组合,以得到一仿射候选。
其中,偏移子模块包括第二偏移单元,用于将并置帧中的当前块的并置块预设位置按照已编码相邻块的运动矢量进行第二偏移,并将并置帧中经第二偏移后的位置对应的块作为关联并置块。
其中,第三获取子模块包括第二缩放单元,用于根据当前块的参考信息以及关联并置块的运动信息中的参考信息,对关联并置块中的各第二子块的运动矢量进行缩放,得到各第一子块的运动矢量。
请参阅图12,图12是本申请仿射预测装置一实施例的框架示意图。
本实施例中,仿射预测装置120包括第一获取模块121、预测模块122、第二获取模块123和选择模块124。其中,第一获取模块121用于利用前述任一仿射候选构建装置获得当前块的若干仿射候选;预测模块122用于分别利用各仿射候选,预测得到当前块的子块对应各仿射候选的运动矢量;第二获取模块123用于获取各仿射候选的率失真优化代价;选择模块124用于选出率失真优化代价符合预设选择条件的仿射候选作为当前块的目标仿射候选,并将目标仿射候选对应的子块的运动矢量作为子块的预测运动矢量。
请参阅图13,图13是本申请电子设备一实施例的框架示意图。
本实施例中,电子设备130包括存储器131、处理器132,其中存储器131耦接处理器132。具体地,电子设备130的各个组件可通过总线耦合在一起,或者电子设备130的处理器132分别与其他组件一一连接。该电子设备130可以为具有处理能力的任意设备,例如计算机、平板电脑、手机等。
存储器131用于存储处理器132执行的程序指令以及处理器132在处理过程中的数据等。例如,候选相邻位置、仿射模型公式等。其中,该存储器131包括非易失性存储部分,用于存储上述程序指令。
处理器132控制电子设备130的操作,处理器132还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器132可能是一种集成电路芯片,具有信号的处理能力。处理器132还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器132可以由多个成电路芯片共同实现。
处理器132通过调用存储器131存储的程序指令,用于执行指令以实现上述任一仿射候选构建方法或者仿射预测的方法。
请参阅图14,图14是本申请计算机可读存储介质一实施例的框架示意图。
本实施例中,该计算机可读存储介质140存储有处理器可运行的程序指令141,该程序指令141能够被执行,用以实现上述任一仿射候选构建方法或者仿射预测的方法。
该计算机可读存储介质140具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序指令的介质,或者也可以为存储有该程序指令的服务器,该服务器可将存储的程序指令发送给其他设备运行,或者也可以自运行该存储的程序指令。
在一些实施例中,计算机可读存储介质140还可以为如图13所示的存储器。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (13)

1.一种仿射候选构建方法,其特征在于,包括:
为当前块的多个控制点确定至少一个关联并置块,其中,所述关联并置块为关联位置的并置块,所述关联位置与所述控制点存在空域相关;
基于所述至少一个关联并置块的运动信息,得到所述多个控制点的运动矢量;
利用所述多个控制点的运动矢量进行组合,以获得所述当前块的若干仿射候选,其中,每个所述仿射候选包括至少两个所述控制点的运动矢量。
2.根据权利要求1所述的方法,其特征在于,与所述控制点存在空域相关的所述关联位置包括以下至少一者:所述控制点的相邻位置、以及包含所述控制点的当前块的位置。
3.根据权利要求1或2所述的方法,其特征在于,所述多个控制点包括多个第一控制点,所述为当前块的多个控制点确定至少一个关联并置块,包括:
为所述当前块确定多个第一控制点;
对于每个所述第一控制点,从所述第一控制点的多个候选相邻位置中选出目标相邻位置;
将所述目标相邻位置的并置块作为所述第一控制点的所述关联并置块,或利用所述目标相邻位置的运动矢量对所述当前块的并置块进行偏移,以作为所述第一控制点的所述关联并置块;
所述基于所述至少一个关联并置块的运动信息,得到所述多个控制点的运动矢量,包括:
分别利用各所述第一控制点的所述关联并置块的运动信息,对应得到各所述第一控制点的运动矢量。
4.根据权利要求3所述的方法,其特征在于,每个所述第一控制点属于第一类型、第二类型和第三类型中的任意一类;
所述第一类型的第一控制点的所述多个候选相邻位置均为第一相邻位置;
所述第二类型的第一控制点的所述多个候选相邻位置均为第二相邻位置;
所述第三类型的第一控制点的所述多个候选相邻位置中包括所述第一相邻位置和所述第二相邻位置;
其中,所述第一相邻位置用于提供自身的所述并置块作为所述第一控制点对应的关联并置块,所述第二相邻位置为已编码位置且用于提供自身的所述运动矢量对所述当前块的并置块进行偏移。
5.根据权利要求4所述的方法,其特征在于,
所述多个第一控制点均属于所述第一类型;或者,
所述多个第一控制点均属于所述第二类型;或者,
所述多个第一控制点均属于所述第三类型;或者,
所述多个第一控制点属于所述第一类型、第二类型和第三类型中的至少两类。
6.根据权利要求3所述的方法,其特征在于,
所述利用所述目标相邻位置的运动矢量对所述当前块的并置块进行偏移,以作为所述第一控制点的所述关联并置块,包括:
将并置帧中的所述当前块的并置块预设位置按照所述目标相邻位置的运动矢量进行第一偏移,并将所述并置帧中经第一偏移后的位置对应的块作为所述关联并置块;
和/或,所述分别利用各所述第一控制点的所述关联并置块的运动信息,对应得到各所述第一控制点的运动矢量,包括:
根据所述当前块的参考信息以及所述关联并置块的运动信息中的参考信息,对所述关联并置块的运动信息中的运动矢量进行缩放,得到对应的所述第一控制点的运动矢量。
7.根据权利要求3所述的方法,其特征在于,每个所述第一控制点的所述目标相邻位置有多个;
所述分别利用各所述第一控制点的所述关联并置块的运动信息,对应得到各所述第一控制点的运动矢量,包括:
对于每个所述第一控制点,利用所述第一控制点对应各所述目标相邻位置的关联并置块的运动信息,分别得到所述第一控制点对应各所述目标相邻位置的运动矢量,其中,所述多个第一控制点对应各所述目标相邻位置的运动矢量组成多个运动矢量集合,每个运动矢量集合均包括各所述第一控制点的一所述运动矢量;
所述利用所述多个控制点的运动矢量进行组合,以获得所述当前块的若干仿射候选,包括:
响应于所述多个运动矢量集合的属性为允许集合间组合,从所述多个运动矢量集合中选择至少两个所述第一控制点的运动矢量,以组成一所述仿射候选;或者
响应于所述多个运动矢量集合的属性为不允许集合间组合,分别将每个所述运动矢量集合作为目标集合,从所述目标集合中选择至少两个所述第一控制点的运动矢量,以组成一所述仿射候选。
8.根据权利要求1或2所述的方法,其特征在于,所述多个控制点包括多个第二控制点,所述为当前块的多个控制点确定至少一个关联并置块,包括:
获取所述当前块的并置块作为所述多个第二控制点对应的关联并置块,或利用所述当前块的已编码相邻块的运动矢量对所述当前块的并置块进行偏移,以作为所述多个第二控制点对应的关联并置块;
所述基于所述至少一个关联并置块的运动信息,得到所述多个控制点的运动矢量,包括:
基于所述关联并置块的运动信息,得到所述当前块中的各第一子块的第一运动矢量;
利用所述各第一子块的第一运动矢量,拟合出所述多个第二控制点的运动矢量。
9.根据权利要求8所述的方法,其特征在于,所述利用所述各第一子块的第一运动矢量,拟合出所述多个第二控制点的运动矢量,包括:
将所述第一子块的第一运动矢量分别代入至少一个仿射模型公式,得到各所述仿射模型公式对应的仿射模型的模型参数,以得到各所述仿射模型公式对应的控制点运动矢量组,其中,每组所述控制点运动矢量组包括至少两个所述第二控制点的运动矢量,利用所述仿射模型预测得到的所述第一子块的运动矢量为第二运动矢量,所述第二运动矢量与所述第一运动矢量之间的差异满足预设拟合条件;
所述利用所述多个控制点的运动矢量进行组合,以获得所述当前块的若干仿射候选,包括:
对于每组控制点运动矢量组,将所述控制点运动矢量组中的所有所述第二控制点的运动矢量进行组合,以得到一所述仿射候选。
10.根据权利要求8所述的方法,其特征在于,
所述利用所述当前块的已编码相邻块的运动矢量对所述当前块的并置块进行偏移,以作为所述多个第二控制点对应的关联并置块,包括:
将并置帧中的所述当前块的并置块预设位置按照所述已编码相邻块的运动矢量进行第二偏移,并将所述并置帧中经第二偏移后的位置对应的块作为所述关联并置块;和/或,
所述基于所述关联并置块的运动信息,得到所述当前块中的各第一子块的第一运动矢量,包括:
根据所述当前块的参考信息以及所述关联并置块的运动信息中的参考信息,对所述关联并置块中的各第二子块的运动矢量进行缩放,得到各所述第一子块的运动矢量。
11.一种仿射预测的方法,其特征在于,包括:
利用权利要求1至10任一项所述的方法获得当前块的若干仿射候选;
分别利用各所述仿射候选,预测得到所述当前块的子块对应各所述仿射候选的运动矢量;
获取各所述仿射候选的率失真优化代价;
选出所述率失真优化代价符合预设选择条件的所述仿射候选作为所述当前块的目标仿射候选,并将所述目标仿射候选对应的子块的运动矢量作为所述子块的预测运动矢量。
12.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至10中任一项所述的仿射候选构建方法或者权利要求11所述的仿射预测的方法。
13.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至10中任一项所述的仿射候选构建方法或者权利要求11所述的仿射预测的方法。
CN202310781846.2A 2023-06-29 2023-06-29 仿射候选构建方法、仿射预测的方法和相关设备 Active CN116527921B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310781846.2A CN116527921B (zh) 2023-06-29 2023-06-29 仿射候选构建方法、仿射预测的方法和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310781846.2A CN116527921B (zh) 2023-06-29 2023-06-29 仿射候选构建方法、仿射预测的方法和相关设备

Publications (2)

Publication Number Publication Date
CN116527921A true CN116527921A (zh) 2023-08-01
CN116527921B CN116527921B (zh) 2024-04-12

Family

ID=87399765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310781846.2A Active CN116527921B (zh) 2023-06-29 2023-06-29 仿射候选构建方法、仿射预测的方法和相关设备

Country Status (1)

Country Link
CN (1) CN116527921B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194513A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US20200059651A1 (en) * 2018-08-20 2020-02-20 Mediatek Inc. Methods and apparatus for generating affine candidates
CN111083485A (zh) * 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 仿射模式的运动信息的利用
CN111093073A (zh) * 2018-10-24 2020-05-01 北京字节跳动网络技术有限公司 用于子块运动矢量预测的基于搜索的运动候选推导
CN111988625A (zh) * 2019-05-23 2020-11-24 腾讯美国有限责任公司 视频解码方法和装置以及计算机设备和存储介质
US20210084291A1 (en) * 2019-03-11 2021-03-18 Alibaba Group Holding Limited Inter coding for adaptive resolution video coding
CN112889285A (zh) * 2018-10-18 2021-06-01 佳能株式会社 视频编码和解码
US20210203943A1 (en) * 2018-05-25 2021-07-01 Mediatek Inc. Method and Apparatus of Affine Mode Motion-Vector Prediction Derivation for Video Coding System
US20220224912A1 (en) * 2019-05-12 2022-07-14 Lg Electronics Inc. Image encoding/decoding method and device using affine tmvp, and method for transmitting bit stream

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194513A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US20210203943A1 (en) * 2018-05-25 2021-07-01 Mediatek Inc. Method and Apparatus of Affine Mode Motion-Vector Prediction Derivation for Video Coding System
US20200059651A1 (en) * 2018-08-20 2020-02-20 Mediatek Inc. Methods and apparatus for generating affine candidates
CN112889285A (zh) * 2018-10-18 2021-06-01 佳能株式会社 视频编码和解码
CN111083485A (zh) * 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 仿射模式的运动信息的利用
CN111093073A (zh) * 2018-10-24 2020-05-01 北京字节跳动网络技术有限公司 用于子块运动矢量预测的基于搜索的运动候选推导
US20210084291A1 (en) * 2019-03-11 2021-03-18 Alibaba Group Holding Limited Inter coding for adaptive resolution video coding
US20220224912A1 (en) * 2019-05-12 2022-07-14 Lg Electronics Inc. Image encoding/decoding method and device using affine tmvp, and method for transmitting bit stream
CN111988625A (zh) * 2019-05-23 2020-11-24 腾讯美国有限责任公司 视频解码方法和装置以及计算机设备和存储介质

Also Published As

Publication number Publication date
CN116527921B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
CN110249628B (zh) 用于预测分区的视频编码器和解码器
CN110213590B (zh) 时域运动矢量获取、帧间预测、视频编码的方法及设备
US9066099B2 (en) Methods for efficient implementation of skip/direct modes in digital video compression algorithms
US20220210436A1 (en) Method for acquiring motion vectors, prediction method and device
US9906809B2 (en) Moving picture decoding device, moving picture decoding method and moving picture decoding program
US20050265454A1 (en) Fast motion-estimation scheme
EP3282701B1 (en) Prediction mode selection method, apparatus and device
US20230328281A1 (en) Method and apparatus for low-complexity bi-directional intra prediction in video encoding and decoding
CN112055203B (zh) 帧间预测方法、视频编码方法及其相关装置
WO2020058958A1 (en) Construction for motion candidates list
CN109862353B (zh) 色度块预测模式获取方法、装置、编解码器及存储装置
CN106233334A (zh) 一种将视频块分割模式和视频编码块关联的装置和方法
US10785501B2 (en) System and method of performing motion estimation in multiple reference frame
CN110719467B (zh) 色度块的预测方法、编码器及存储介质
CN112261413B (zh) 视频编码方法、编码装置、电子设备和存储介质
CN116527921B (zh) 仿射候选构建方法、仿射预测的方法和相关设备
CN111901590B (zh) 一种用于帧间预测的细化运动矢量存储方法及装置
WO2014083492A2 (en) System and method of performing motion estimation in multiple reference frame
CN104113756A (zh) 一种适用于h.264视频编解码的整像素运动估计方法
CN113794883B (zh) 一种编解码方法、装置及其设备
CN112055221B (zh) 一种帧间预测方法、视频编码方法及电子设备和存储介质
CN112449181B (zh) 一种编解码方法、装置及其设备
WO2012174973A1 (en) Method and apparatus for line buffers reduction
CN112055207B (zh) 时域运动矢量预测方法、设备及存储介质
CN117676164A (zh) 一种运动估计起始点确定方法、系统、设备及存储介质

Legal Events

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