CN110636301A - 仿射预测方法、计算机设备和存储装置 - Google Patents
仿射预测方法、计算机设备和存储装置 Download PDFInfo
- Publication number
- CN110636301A CN110636301A CN201910883011.1A CN201910883011A CN110636301A CN 110636301 A CN110636301 A CN 110636301A CN 201910883011 A CN201910883011 A CN 201910883011A CN 110636301 A CN110636301 A CN 110636301A
- Authority
- CN
- China
- Prior art keywords
- block
- control point
- blocks
- current coding
- motion vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种仿射预测方法、计算机设备和存储装置。该仿射预测方法包括:获取当前编码块,其中当前编码块包括阵列排布的多个子块;将当前编码块划分成至少两个区块,其中每个区块包括至少两个子块;针对每个区块上的控制点设置对应的控制点运动矢量;利用每个区块的控制点运动矢量对每个区块内的子块的运动矢量进行仿射预测。通过将当前编码块分成多个区块进行仿射预测,本申请能够提高当前编码块内各子块的运动矢量预测准确度。
Description
技术领域
本申请涉及视频图像编码技术领域,特别是涉及一种仿射预测方法、计算机设备和存储装置。
背景技术
H.266标准协议的帧间预测技术中,编码块尺寸最大可为128x128。而仿射预测可应用于大于等于8x8的编码块,每个编码块进一步划分为多个4x4子块,每个子块根据2或3个控制点运动矢量(Control Point Motion Vector,CPMV)根据位置关系加权获得该子块的运动矢量(Motion Vector,MV)。
但在编码块较大时,现有方法难以保证对整个编码块的预测的准确性,因为子块离控制点(Control Point,CP)越远,CPMV对子块的MV的预测就越不准确,则运动补偿产生的预测值也越不准确。
发明内容
本申请主要提供一种仿射预测方法、计算机设备和存储装置,以解决编码块较大时各子块的运动矢量预测误差较大的问题。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种仿射预测方法。该仿射预测方法包括:获取当前编码块,其中当前编码块包括阵列排布的多个子块;将当前编码块划分成至少两个区块,其中每个区块包括至少两个子块;针对每个区块上的控制点设置对应的控制点运动矢量;利用每个区块的控制点运动矢量对每个区块内的子块的运动矢量进行仿射预测。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机设备。该计算机设备包括处理器和存储器,处理器耦接存储器,存储器用于存储程序,处理器用于执行程序以实现如上述的方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种存储装置。该存储装置存储有程序,程序被执行时能够实现如上述的方法。
本申请的有益效果是:区别于现有技术的情况,本申请公开了一种仿射预测方法、计算机设备和存储装置。通过将当前编码块划分成多个区块,并分别获取各区块更适宜的控制点运动矢量,利用各区块的控制点运动矢量对各区块内的子块的运动矢量进行仿射预测,使得不管当前编码块规格尺寸多大,通过对当前编码块分区,各区块内的子块到各区块的控制点的距离均可被控制在适合的距离内,从而提高各区块的控制点运动矢量对各区块内的子块的运动矢量预测的准确度,即提高了对当前编码块内各子块的运动矢量预测准确度;此外采用仿射预测的图像区域可以采用大规格尺寸的编码块,而不用分为多个小尺寸编码块分别进行仿射预测,节省了图像编码所需码字,提高了图像编码压缩率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本申请提供的仿射预测方法一实施例的流程示意图;
图2是图1流程中对当前编码块进行水平划分的结构示意图;
图3是图1流程中对当前编码块进行水平和竖直划分的结构示意图;
图4是图1流程中对当前编码块进行L形划分的结构示意图;
图5是本申请提供的仿射预测装置一实施例的结构示意图;
图6是本申请提供的计算机设备一实施例的结构示意图;
图7是本申请提供的存储装置一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1,图1是本申请提供的仿射预测方法一实施例的流程示意图,本实施例中,该仿射预测方法包括:
S11:获取当前编码块,其中当前编码块包括阵列排布的多个子块。
当前编码块为当前帧中待编码的图像块,当前帧以图像块的形式按一定顺序依次进行编码,该当前编码块为当前帧内按该顺序下一时刻待编码的图像块。当前编码块可具有多种规格尺寸,例如16X16、32X32或32X16等规格,其中数字表示当前编码块上像素点的行数和列数。
当前编码块包括阵列排布的多个子块,其中子块为较小规格的像素点集合,子块通常为4X4规格,子块也可以为4X4、8X4或8X8等规格,且当前编码块中子块的规格是统一的。
因而获取当前编码块后,将当前编码块划分为阵列排布且规格统一的多个子块。
S12:将当前编码块划分成至少两个区块,其中每个区块包括至少两个子块。
对当前编码块进行分区,并划分成至少两个区块,且每个区块包括至少两个子块。
可选地,如图2所示,对当前编码块进行水平划分,从而将当前编码块划分成沿列方向排列的多个区块。
可选地,参阅图3,对当前编码块进行竖直划分,从而将当前编码块划分成沿行方向排列的多个区块。
可选地,如图3所示,依次对当前编码块进行水平划分和竖直划分,从而将当前编码块划分成阵列排布的多个区块。
需要说明的是,可对当前编码块进行N次水平和/或竖直划分,且每次划分的比列不作限制,其中N为正整数。例如,可先对当前编码块进行水平四等分划分为四个区块,再对该四个区块竖直二等分,从而划分为八个区块。
进一步地,各区块的规格尺寸可以相同或不同,例如其中一个区块所包含的子块呈4X4排列,且还存在另一个区块所包含的子块呈2X4排列。
进一步地,各区块的形状也可以相同或不同。例如,如图4所示,对当前编码块进行L形划分,从而将当前编码块划分成L形区块和矩形区块,当前编码块经L形划分后所形成的多个区块中包括至少一个L形区块。当然,L形划分的次数和规格也不作限制。
上述区块划分规则均可应用于对当前编码块进行区块划分。
S13:针对每个区块上的控制点设置对应的控制点运动矢量。
针对每个区块上的控制点(Control Point,CP)设置对应的控制点运动矢量(Control Point Motion Vector,CPMV)。每个控制点所属子块的运动矢量称为CPMV。
仿射模式下,当前编码块中每个子块的运动矢量(Motion Vector,MV)由当前编码块中控制点运动矢量依据子块在该当前编码块中的位置关系加权计算获得。
仿射模式可分为4参数仿射和6参数仿射,其中4参数仿射采用当前编码块的左上和右上两点作为控制点,其中6参数仿射采用当前编码块的左上、右上和左下三点作为控制点。仿射预测可分为affine_AMVP和affine_MERGE两种模式。
对于4参数仿射,各个区块采用该区块的左上点和右上点作为新的控制点,且各控制点对应有控制点运动矢量;对于6参数仿射,各个区块采用该区块的左上点、右上点和左下点作为新的控制点,各控制点对应有控制点运动矢量。
若待设置控制点是当前编码块的控制点,则将当前编码块的控制点的控制点运动矢量作为该待设置控制点的控制点运动矢量。即当前编码块经划分成多个区块后,若区块的待设置控制点是当前编码块的原有控制点,则将当前编码块原有的控制点运动矢量作为该区块上待设置控制点的控制点运动矢量。
如图2所示,在4参数affine_merge模式下,当前编码块的规格尺寸为32x32,其可划分为64个4x4的子块。将当前编码块水平四等分划分为四个区块area0、area1、area2和area3。
其中,区块area0中两个控制点v0和v1都为当前编码块的原有控制点,则当前编码块原有的控制点运动矢量作为该区块area0上待设置控制点v0和v1的控制点运动矢量。
再如图4所示,在6参数affine_AMVP模式下,当前编码块的规格尺寸为32x32,其可分为64个4x4子块。在将当前编码块进行1次L形划分分为2个区块area0和area1,其中区块area0为L形区块,区块area1为矩形区块。
其中,区块area0中三个控制点v0、v1和v2都为当前编码块的原有控制点,则当前编码块原有的控制点运动矢量作为该区块area0上待设置控制点v0、v1和v2的控制点运动矢量。
进一步地,若待设置控制点不是当前编码块的控制点,则将与待设置控制点的子块相邻设置的相邻块的运动矢量作为该待设置控制点的控制点运动矢量。即当前编码块经划分成多个区块后,若区块的待设置控制点不是当前编码块的原有控制点,且与该区块相邻的另一区块上已知其自身的控制点运动矢量,进而可计算得到该另一区块上任一子块的运动矢量,则将该另一区块上与待设置控制点的子块相邻设置的相邻块的运动矢量作为该待设置控制点的控制点运动矢量,该相邻块为当前编码块中与待设置控制点所在的子块相邻设置的相邻子块。
如图2所示,区块area1中两个控制点v0′和v1′都不是当前编码块的原有控制点,与区块area1相邻设置的区块area0中已知两个控制点v0和v1的控制点运动矢量,则在区块area0中计算获取与控制点v0′所在子块相邻设置的子块A的运动矢量作为控制点v0′的控制点运动矢量,以及计算获取与控制点v1′所在子块相邻设置的子块B的运动矢量作为控制点v1′的控制点运动矢量。区块area2和区块area3中各自控制点的控制点运动矢量获取方法与此类似,即分别获取区块area1中子块C、子块D的运动矢量作为区块area2的控制点v0″和v1″的控制点运动矢量,分别获取区块area2中子块E、子块F的运动矢量作为区块area3的控制点v0″′和v1″′的控制点运动矢量。
如图4所示,区块area1中两个控制点v0′、v1′和v2′都不是当前编码块的原有控制点,与区块area1相邻设置的区块area0中已知三个控制点v0、v1和v2的控制点运动矢量,则获取区块area0中与控制点v0′所在子块左侧相邻设置的子块A的运动矢量作为控制点v0′的控制点运动矢量,以及获取区块area0中与控制点v2′所在子块左侧相邻设置的子块B的运动矢量作为控制点v2′的控制点运动矢量。
进一步地,相邻块还可以是与当前编码块相邻设置的已编码块。即相邻块包括位于当前编码块的相邻子块和/或与当前编码块相邻设置的已编码块。
如图4所示,检测与当前编码块相邻设置的已编码块C是否采用帧间预测,其中已编码块C与控制点v1′所在子块相邻;若已编码块C采用的帧间预测模式是非仿射预测模式,则直接采用已编码块C的运动矢量作为控制点v1′的控制点运动矢量;若已编码块C采用的是仿射预测模式,则采用已编码块C中与控制点v1′所在子块相邻的相邻子块的运动矢量作为控制点v1′的控制点运动矢量,例如该相邻子块位于控制点v1′所在子块的右上且相邻。
若已编码块C不是采用帧间预测进行编码,则采用区块area0中的相邻子块D的运动矢量作为控制点v1′的控制点运动矢量,其中相邻子块D位于控制点v1′所在子块上侧且相邻。或者,还可直接采用已编码块C和相邻子块D二者中的任一个的运动矢量作为控制点v1′的控制点运动矢量。本申请对已编码块C和相邻子块D的优先级选取顺序不作限制。
或者,利用与待设置控制点所在的区块相邻设置的相邻区块的所述控制点运动矢量计算所述待设置控制点的控制点运动矢量。即当前编码块经划分成多个区块后,若区块的待设置控制点不是当前编码块的原有控制点,且与该区块相邻的另一区块上已知其自身的控制点运动矢量,则可利用该另一区块的控制点运动矢量计算获得该待设置控制点的控制点运动矢量。
如图2所示,区块area0的两个控制点v0和v1都为当前编码块的原有控制点,则当前编码块原有的控制点运动矢量作为该区块area0上待设置控制点v0和v1的控制点运动矢量,并采用控制点v0和v1的控制点运动矢量预测区块area0内各个子块的运动矢量和控制点v0′和v1′所述子块的运动矢量,并将预测的控制点v0′和v1′所述子块的运动矢量作为区块area1内待设置控制点v0′和v1′的控制点运动矢量。区块area2和区块area3中待设置控制点的控制点运动矢量获取方法依次类推,不再赘述。
当前编码块经划分成多个区块后,还可将各区块作为新的且独立的编辑块,并基于该新的编辑块计算各编辑块的控制点运动矢量。即将各区块作为新的编辑块对待,基于affine_AMVP或affine_MERGE仿射预测模式获取各区块对应的控制点运动矢量。affine_AMVP或affine_MERGE仿射预测模式为H.266标准协议文档中的帧间预测技术,本申请对其具体实现过程不再赘述。
S14:利用每个区块的控制点运动矢量对每个区块内的子块的运动矢量进行仿射预测。
当前编码块经划分成多个区块,并采用上述方式获取各区块的控制点运动矢量后,利用每个区块的控制点运动矢量对各自区块内的子块的运动矢量进行仿射预测,区块中每个子块的运动矢量由该区块中控制点运动矢量依据子块在该区块中的位置关系加权计算获得,该各区块的仿射预测是基于affine_AMVP模式或affine_MERGE模式进行的,其基本预测过程为:构建区块的运动矢量候选列表,基于运动矢量候选列表对区块进行运动估计和运动补偿,再根据运动估计和运动补偿结果确定该区块的预测方向、参考索引、运动矢量预测(MVP)、运动矢量残差(MVD)、残差等信息,并进行编码。
进一步地,将不同区块划分规则下的区块对当前编码块进行预测所获得的率失真代价进行比较,并采用率失真代价相对较小的预测方式对当前编码块进行编码。
例如,对该同一当前编码块进行竖直划分形成多个区块,对该同一当前编码块进行水平划分形成多个区块,对该同一当前编码块进行L形划分形成多个区块,并比较各区块划分规则下对当前编码块进行预测所获得的率失真代价,并采用率失真代价相对较小的预测方式对当前编码块进行编码,从而减小划分规则给当前编码块进行预测和编码所带来的误差影响。
进一步地,还将基于各区块对当前编码块进行预测所获得的率失真代价与基于当前编码块整体进行预测所获得的率失真代价进行比较,并采用率失真代价相对较小的预测方式对当前编码块进行编码。即获取上述基于各区块对当前编码块进行预测所获得的率失真代价RDCOSTdivide,并获取基于affine_AMVP模式或affine_MERGE模式对当前编码块整体进行预测所获得的率失真代价RDCOST0,若RDCOSTdivide<RDCOST0,则采用上述将当前编码块划分为各区块的方式进行仿射预测,否则按现有基于当前编码块整体的仿射预测方法进行仿射预测。因而,可择优选择不同的仿射预测方法对当前编码块进行预测,以提高对当前编码块的预测精度。
进一步地,在当前编码块的编码结果中设置标识,该标识用于表明当前编码块是否需要进行分区块预测,或是采用何种区块划分规则进行区块预测,其中不同的标识表示不同的预测方式。
例如,新增一个标志AFFINE_DIVIDE来表示当前编码块是否采用分区块进行仿射预测。
标志AFFINE_DIVIDE为0说明当前编码块按现有现有技术基于当前编码块整体进行预测。标志AFFINE_DIVIDE为1说明当前编码块需要进行水平划分成多区块进行预测。标志AFFINE_DIVIDE为2说明当前编码块需要进行竖直划分成多区块进行预测。标志AFFINE_DIVIDE为3说明当前编码块需要进行L形划分成多区块进行预测。
还可增加标志AFFINE_DIVIDE的标示值以说明划分规则的类型、划分比例等信息。
进一步地,可以不传输额外的编码标志信息,而是根据编码块的宽高或编码块的纹理特征等信息来直接决定当前编码块采用仿射预测时,是否需要进行分区块预测,或是采用何种区块划分规则进行区块预测,这样可以减少所需要传输的码流信息。
例如,当前编码块采用仿射预测,且宽高大于等于32x32时,将当前编码块强制划分为两个区块进行预测。当当前编码块的高大于等于宽时,进行水平二等分划分;当编码块的宽大于高时,进行垂直二等分划分。因而可依据编码块的宽高信息确定当前编码块的划分规则,进而减少传输划分规则所需要的码流信息。
区别于现有技术的情况,本申请公开了一种仿射预测方法、计算机设备和存储装置。通过将当前编码块划分成多个区块,并分别获取各区块更适宜的控制点运动矢量,利用各区块的控制点运动矢量对各区块内的子块的运动矢量进行仿射预测,使得不管当前编码块规格尺寸多大,通过对当前编码块分区,各区块内的子块到各区块的控制点的距离均可被控制在适合的距离内,从而提高各区块的控制点运动矢量对各区块内的子块的运动矢量预测的准确度;此外采用仿射预测的图像区域可以采用大规格尺寸的编码块,而不用分为多个小尺寸编码块分别进行仿射预测,节省了图像编码所需码字,提高了图像编码压缩率。
图5是本申请仿射预测装置一实施例的结构示意图。如图5所示,该装置100包括获取模块110、区块划分模块120、设置模块130和预测模块140。
获取模块110用于获取当前编码块,其中所述当前编码块包括阵列排布的多个子块。
区块划分模块120用于将所述当前编码块划分成至少两个区块,其中每个所述区块包括至少两个所述子块。
在一些实施例中,所述至少两个区块沿所述子块的行方向和/或列方向排列。
在另一些实施例中,所述至少两个区块的形状和/或尺寸相同或不同。
在又一些实施例中,所述至少两个区块中包括至少一个L形区块。
设置模块130用于针对每个所述区块上的控制点设置对应的控制点运动矢量。
预测模块140用于利用每个区块的所述控制点运动矢量对每个所述区块内的所述子块的运动矢量进行仿射预测。
设置模块130可具体用于:若待设置控制点是所述当前编码块的控制点,则将所述当前编码块的控制点的控制点运动矢量作为所述待设置控制点的控制点运动矢量。
设置模块130进一步用于:若所述待设置控制点不是所述当前编码块的控制点,则将与所述待设置控制点所在的子块相邻设置的相邻块的运动矢量作为所述待设置控制点的控制点运动矢量;或者利用与所述待设置控制点所在的区块相邻设置的相邻区块的所述控制点运动矢量计算所述待设置控制点的控制点运动矢量。其中,所述相邻块包括位于所述当前编码块的相邻子块和/或与所述当前编码块相邻设置的已编码块。
设置模块130还可用于:将所述区块作为新的编辑块,并基于所述新的编辑块计算所述控制点运动矢量。
该装置100还包括比较模块150,该比较模块150用于将基于所述区块对所述当前编码块进行预测所获得的率失真代价与基于所述当前编码块整体进行预测所获得的率失真代价进行比较,预测模块140采用所述率失真代价相对较小的预测方式对所述当前编码块进行编码。
进一步,该比较模块150还用于将不同区块划分规则下的所述区块对所述当前编码块进行预测所获得的率失真代价进行比较,预测模块140采用所述率失真代价相对较小的预测方式对所述当前编码块进行编码。
该装置100进一步包括标志模块160,标志模块160用于在所述当前编码块的编码结果中设置标识,其中不同的标识表示不同的预测方式。
基于此,本申请还提供一种计算机设备200,请参阅图6,图6是本申请计算机设备第一实施例的结构示意图,该实施方式中,计算机设备200包括处理器210和存储器220,处理器210耦接存储器220,存储器220用于存储程序,处理器210用于执行程序以实现上述任一实施例的帧内预测方法或视频编码方法。
计算机设备200可以是编解码器。处理器210还可以称为CPU(Central ProcessingUnit,中央处理单元)。处理器210可以是一种集成电路芯片,具有信号的处理能力。处理器210还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器110可以是微处理器或者该处理器也可以是任何常规的处理器等。
基于此,本申请还提供一种存储装置300,请参阅图7,图7是本申请提供的存储装置一实施例的结构示意图,该实施方式中,存储装置300存储有程序310,程序310被执行时能够实现上述任一实施例的帧内预测方法或视频编码方法。
其中,该程序310可以以软件产品的形式存储在上述存储装置300中,包括若干指令用以使得一个设备或处理器执行本申请各个实施方式方法的全部或部分步骤。
存储装置300是计算机存储器中用于存储某种不连续物理量的媒体。而前述的具有存储功能的存储装置300包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序210代码的介质。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (13)
1.一种仿射预测方法,其特征在于,所述方法包括:
获取当前编码块,其中所述当前编码块包括阵列排布的多个子块;
将所述当前编码块划分成至少两个区块,其中每个所述区块包括至少两个所述子块;
针对每个所述区块上的控制点设置对应的控制点运动矢量;
利用每个区块的所述控制点运动矢量对每个所述区块内的所述子块的运动矢量进行仿射预测。
2.根据权利要求1所述的方法,其特征在于,所述至少两个区块沿所述子块的行方向和/或列方向排列。
3.根据权利要求1所述的方法,其特征在于,所述至少两个区块的形状和/或尺寸相同或不同。
4.根据权利要求3所述的方法,其特征在于,所述至少两个区块中包括至少一个L形区块。
5.根据权利要求1所述的方法,其特征在于,所述针对每个所述区块上的控制点设置对应的控制点运动矢量的步骤包括:
若待设置控制点是所述当前编码块的控制点,则将所述当前编码块的控制点的控制点运动矢量作为所述待设置控制点的控制点运动矢量。
6.根据权利要求5所述的方法,其特征在于,所述针对每个所述区块上的控制点设置对应的控制点运动矢量的步骤进一步包括:
若所述待设置控制点不是所述当前编码块的控制点,则将与所述待设置控制点所在的子块相邻设置的相邻块的运动矢量作为所述待设置控制点的控制点运动矢量;或者
利用与所述待设置控制点所在的区块相邻设置的相邻区块的所述控制点运动矢量计算所述待设置控制点的控制点运动矢量。
7.根据权利要求6所述的方法,其特征在于,所述相邻块包括位于所述当前编码块的相邻子块和/或与所述当前编码块相邻设置的已编码块。
8.根据权利要求1所述的方法,其特征在于,所述针对每个所述区块上的控制点设置对应的控制点运动矢量的步骤包括:
将所述区块作为新的编辑块,并基于所述新的编辑块计算所述控制点运动矢量。
9.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
将基于所述区块对所述当前编码块进行预测所获得的率失真代价与基于所述当前编码块整体进行预测所获得的率失真代价进行比较,并采用所述率失真代价相对较小的预测方式对所述当前编码块进行编码。
10.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
将不同区块划分规则下的所述区块对所述当前编码块进行预测所获得的率失真代价进行比较,并采用所述率失真代价相对较小的预测方式对所述当前编码块进行编码。
11.根据权利要求9或10所述的方法,其特征在于,所述方法进一步包括:
在所述当前编码块的编码结果中设置标识,其中不同的标识表示不同的预测方式。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述处理器耦接所述存储器,所述存储器用于存储程序,所述处理器用于执行所述程序以实现如权利要求1-11任一项所述的方法。
13.一种存储装置,其特征在于,所述存储装置存储有程序,所述程序被执行时能够实现如权利要求1-11任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910883011.1A CN110636301B (zh) | 2019-09-18 | 2019-09-18 | 仿射预测方法、计算机设备和计算机可读存储介质 |
PCT/CN2020/116275 WO2021052478A1 (en) | 2019-09-18 | 2020-09-18 | Affine predication methodandcomputing device |
EP20866113.2A EP4032280A4 (en) | 2019-09-18 | 2020-09-18 | AFFINE PREDICTION METHOD AND COMPUTING DEVICE |
US17/696,890 US20220210413A1 (en) | 2019-09-18 | 2022-03-17 | Affine predication method, computing device and non-transitory storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910883011.1A CN110636301B (zh) | 2019-09-18 | 2019-09-18 | 仿射预测方法、计算机设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636301A true CN110636301A (zh) | 2019-12-31 |
CN110636301B CN110636301B (zh) | 2021-08-03 |
Family
ID=68971351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910883011.1A Active CN110636301B (zh) | 2019-09-18 | 2019-09-18 | 仿射预测方法、计算机设备和计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220210413A1 (zh) |
EP (1) | EP4032280A4 (zh) |
CN (1) | CN110636301B (zh) |
WO (1) | WO2021052478A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021052478A1 (en) * | 2019-09-18 | 2021-03-25 | Zhejiang Dahua Technology Co., Ltd. | Affine predication methodandcomputing device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11936877B2 (en) * | 2021-04-12 | 2024-03-19 | Qualcomm Incorporated | Template matching based affine prediction for video coding |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108781284A (zh) * | 2016-03-15 | 2018-11-09 | 联发科技股份有限公司 | 具有仿射运动补偿的视频编解码的方法及装置 |
WO2019029590A1 (zh) * | 2017-08-11 | 2019-02-14 | 华为技术有限公司 | 视频图像编码和解码的方法、装置及设备 |
WO2019069601A1 (ja) * | 2017-10-03 | 2019-04-11 | 日本電気株式会社 | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム |
CN110024403A (zh) * | 2016-12-29 | 2019-07-16 | 高通股份有限公司 | 用于视频译码的仿射运动模型的运动向量生成 |
CN110178371A (zh) * | 2017-01-16 | 2019-08-27 | 世宗大学校产学协力团 | 影像编码/解码方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106303543B (zh) * | 2015-05-15 | 2018-10-30 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
EP3343923B1 (en) * | 2015-08-24 | 2021-10-06 | Huawei Technologies Co., Ltd. | Motion vector field coding method and decoding method, and coding and decoding apparatuses |
WO2017147765A1 (en) * | 2016-03-01 | 2017-09-08 | Mediatek Inc. | Methods for affine motion compensation |
US10701390B2 (en) * | 2017-03-14 | 2020-06-30 | Qualcomm Incorporated | Affine motion information derivation |
EP3468196A1 (en) * | 2017-10-05 | 2019-04-10 | Thomson Licensing | Methods and apparatuses for video encoding and video decoding |
JP7109558B2 (ja) * | 2018-02-14 | 2022-07-29 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 適応型補間フィルタ |
US11277628B2 (en) * | 2018-09-24 | 2022-03-15 | Qualcomm Incorporated | Restrictions for the worst-case bandwidth reduction in video coding |
US20200120335A1 (en) * | 2018-10-12 | 2020-04-16 | Qualcomm Incorporated | Affine candidate derivation for video coding |
TWI734254B (zh) * | 2018-11-12 | 2021-07-21 | 聯發科技股份有限公司 | 視訊編碼之多重假設方法和裝置 |
US11102476B2 (en) * | 2018-12-28 | 2021-08-24 | Qualcomm Incorporated | Subblock based affine motion model |
CN110636301B (zh) * | 2019-09-18 | 2021-08-03 | 浙江大华技术股份有限公司 | 仿射预测方法、计算机设备和计算机可读存储介质 |
-
2019
- 2019-09-18 CN CN201910883011.1A patent/CN110636301B/zh active Active
-
2020
- 2020-09-18 EP EP20866113.2A patent/EP4032280A4/en active Pending
- 2020-09-18 WO PCT/CN2020/116275 patent/WO2021052478A1/en unknown
-
2022
- 2022-03-17 US US17/696,890 patent/US20220210413A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108781284A (zh) * | 2016-03-15 | 2018-11-09 | 联发科技股份有限公司 | 具有仿射运动补偿的视频编解码的方法及装置 |
CN110024403A (zh) * | 2016-12-29 | 2019-07-16 | 高通股份有限公司 | 用于视频译码的仿射运动模型的运动向量生成 |
CN110178371A (zh) * | 2017-01-16 | 2019-08-27 | 世宗大学校产学协力团 | 影像编码/解码方法及装置 |
WO2019029590A1 (zh) * | 2017-08-11 | 2019-02-14 | 华为技术有限公司 | 视频图像编码和解码的方法、装置及设备 |
WO2019069601A1 (ja) * | 2017-10-03 | 2019-04-11 | 日本電気株式会社 | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021052478A1 (en) * | 2019-09-18 | 2021-03-25 | Zhejiang Dahua Technology Co., Ltd. | Affine predication methodandcomputing device |
Also Published As
Publication number | Publication date |
---|---|
WO2021052478A1 (en) | 2021-03-25 |
EP4032280A4 (en) | 2022-11-16 |
US20220210413A1 (en) | 2022-06-30 |
EP4032280A1 (en) | 2022-07-27 |
CN110636301B (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI665907B (zh) | 用於圖像和視訊編碼的基於模板的圖框內預測的方法和裝置 | |
CN111050168B (zh) | 仿射预测方法及其相关装置 | |
CN104602017B (zh) | 视频编码器、方法和装置及其帧间模式选择方法和装置 | |
TWI520579B (zh) | 支持區塊分割及區塊合併之圖像編碼技術 | |
CN103891290B (zh) | 运动矢量处理 | |
CN107925759A (zh) | 用于编码和解码帧内预测的方法和设备 | |
CN109644276A (zh) | 图像编码/解码方法 | |
CN104471941B (zh) | 3d视频编码中的视图间子分割预测的方法和装置 | |
CN110446044B (zh) | 线性模型预测方法、装置、编码器及存储装置 | |
CN111031319B (zh) | 一种局部光照补偿预测方法、终端设备及计算机存储介质 | |
CN106713935A (zh) | 一种基于贝叶斯决策的hevc块划分快速方法 | |
CN108347616A (zh) | 一种基于可选时域运动矢量预测的深度预测方法及装置 | |
CN110636301B (zh) | 仿射预测方法、计算机设备和计算机可读存储介质 | |
SE538057C2 (sv) | Metod för att härleda en temporal prediktionsrörelsesvektoroch en anordning som använder metoden. | |
CN110198447A (zh) | 用于共享候选者列表的方法和装置 | |
CN102957907A (zh) | 一种变换块位置信息的获取方法和模块 | |
CN110166775B (zh) | 帧内预测方法、编码器及存储装置 | |
CN108712647A (zh) | 一种用于hevc的cu划分方法 | |
CN111246212B (zh) | 一种基于编解码端的几何划分模式预测方法、装置、存储介质及终端 | |
BR112021000750A2 (pt) | método e aparelho para codificar/decodificar imagens e mídia de gravação na qual um fluxo de bits é armazenado | |
CN112055203A (zh) | 帧间预测方法、视频编码方法及其相关装置 | |
CN109891892A (zh) | 依赖于图像编译系统中的帧内预测的图像解码方法和装置 | |
CN109005412B (zh) | 运动矢量获取的方法及设备 | |
CN110719467B (zh) | 色度块的预测方法、编码器及存储介质 | |
CN110290383B (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 |