CN114222136A - 运动补偿的处理方法、编码器、解码器以及存储介质 - Google Patents
运动补偿的处理方法、编码器、解码器以及存储介质 Download PDFInfo
- Publication number
- CN114222136A CN114222136A CN202111584028.0A CN202111584028A CN114222136A CN 114222136 A CN114222136 A CN 114222136A CN 202111584028 A CN202111584028 A CN 202111584028A CN 114222136 A CN114222136 A CN 114222136A
- Authority
- CN
- China
- Prior art keywords
- search
- directions
- motion vector
- point
- search position
- 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.)
- Pending
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/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/57—Motion estimation characterised by a search window with variable size or shape
-
- 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
-
- 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/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- 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/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/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/182—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 a pixel
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种运动补偿的处理方法、编码器、解码器以及存储介质,所述方法包括:基于初始运动矢量建立搜索位置星座图(11);基于预设范围覆盖规则,从所述搜索位置星座图中选取至少一个搜索位置(12);其中,所述预设范围覆盖规则为将预设搜索点个数分散在所述N个搜索方向上进行选取;将至少一个搜索位置作为新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值(13)。从而,避免一部分搜索步长不会被选中所带来的编码效率降低的问题;并且保证大多数物体的运动情况得到满足,更加精确的对运动信息进行表示。
Description
技术领域
本申请实施例涉及视频编解码技术领域,尤其涉及的是一种运动补偿的处理方法、编码器、解码器以及存储介质。
背景技术
存在运动矢量差的融合技术(MMVD,Merge with Motion Vector Difference)技术,应用在帧间预测中的跳过(skip)和融合(merge)模式中,是一种运动矢量的特殊表达形式。MMVD技术主要通过以下流程实现:重用多功能视频编码(VVC,Versatile VideoCoding)中的merge候选运动矢量,在这些候选当中,选中其中的一个作为初始的运动矢量,然后通过以下方法进行扩展;利用一些简单的语法元素进行表示,主要包括起始点,运动幅度和运动方向,来得到运动矢量的最终扩展表示,形成一个新的运动矢量。但是,上述方案目前难以满足大多数物体的运动情况,导致所能够表示的运动信息精度不足。
发明内容
本申请实施例提供一种运动补偿的处理方法、编码器、解码器以及存储介质,能够避免一部分搜索步长不会被选中所带来的编码效率降低的问题;并且保证大多数物体的运动情况得到满足,更加精确的对运动信息进行表示。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供了一种运动补偿的处理方法,应用于解码器,所述方法包括:
以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索;以及
根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。
第二方面,本申请实施例提供了一种运动补偿的处理方法,应用于编码器,所述方法包括:
以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索;以及
根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。
第三方面,本申请实施例提供了一种解码器,包括:
扩展部分,以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
解码部分,基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,以及根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索。
第四方面,本申请实施例提供了一种编码器,包括:
构造部分,以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
编码部分,基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,以及根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索。
第五方面,本申请实施例提供了一种解码器,所述解码器包括处理器以及存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现第一方面或其他各方面的方法。
第六方面,本申请实施例提供了一种编码器,所述解码器包括处理器以及存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现第二方面或其他各方面的方法。
第七方面,本申请实施例提供了一种计算机存储介质,其中,所述计算机存储介质存储有程序,所述程序被处理器执行时实现如第一方面所述方法的步骤、或者被处理器执行时实现如第二方面所述方法的步骤。
本实施例提供的方案能够在进行搜索位置确定的时候,基于包含有对角线搜索方向的N个搜索方向以及多种搜索步长来执行。如此,与现有技术相比,减少了各个方向上的搜索步长,从而避免了一部分搜索步长不会被选中所带来的编码效率降低的问题;并且通过增加搜索方向,保证了大多数物体的运动情况得到满足,从而更加精确的对运动信息进行表示。
附图说明
图1为帧内预测确定搜索位置的示意图;
图2为本申请实施例运动补偿的处理方法的流程示意图一;
图3为本申请实施例中确定搜索位置的示意图;
图4为本申请应用于MMVD中时搜索方向示意图;
图5为本申请在MMVD中得到多个搜索位置的示意图;
图6为视频编码***的结构示意图;
图7为视频解码***的结构示意图;
图8为本申请实施例提出的编码器的组成结构示意图;
图9为本申请实施例运动补偿的处理方法的流程示意图二;
图10为本申请实施例提出的解码器的组成结构示意图;
图11为本申请实施例提出的硬件组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
在MMVD技术中,通过VVC中merge候选列表构建的过程,得到当前CU运动矢量的候选列表。然后,对于列表中的每个候选,都进行语法扩展:将每个候选作为初始运动矢量,以该候选在参考图像中所指向的位置为起始点,在上下左右四个方向上,进行8种不同步长的搜索,如图1所示。每个初始运动矢量在每个方向上的每种步长都会形成一个新的运动矢量,通过该运动矢量进行一次运动补偿得到当前CU的预测值。再对当前所有的预测值之间进行率失真代价的比较,选出最优的一种语法元素的组合,记录初始运动矢量在merge候选列表中的位置,移动方向和搜索步长的索引三个语法元素。
考虑到算法复杂度和性能的折中,目前该算法中使用merge候选列表的前两个候选作为初始运动矢量。对于初始运动矢量、8种搜索步长和4个搜索方向的索引,参考如下表1、2、3所示:
表1
表2
表3
而基于上述MMVD技术中进行新的运动矢量的选择时,对于8个搜索步长的利用并不完善,通过统计VVC的标准测试序列中8种步长被选中的概率,可以发现对于各个测试序列,前四种搜索步长即1/4,1/2,1,2这4种步长的被选中概率几乎占据了90%以上,那么剩余的4种步长就没有得到充分的利用,使得编码效率降低。另外,上述仅仅存在上下左右4个搜索方向,因此难以满足大多数物体的运动情况,导致所能够表示的运动信息精度不足。
基于此,本实施例提供一种运动补偿的处理方法,如图2所示,包括:
步骤11:基于初始运动矢量建立搜索位置星座图;其中,所述搜索位置星座图中包含N个搜索方向,所述搜索方向上采用至少一种搜索步长进行搜索得到的至少一个搜索点;N为大于等于1的整数,且所述N个搜索方向中至少包括有对角线搜索方向;
步骤12:基于预设范围覆盖规则,从所述搜索位置星座图中选取至少一个搜索位置;其中,所述预设范围覆盖规则为将预设搜索点个数分散在所述N个搜索方向上进行选取;
步骤13:将至少一个搜索位置作为新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。
本实施例提供的方法可以应用于视频编解码***中的编码器端。
总的来说上述方案首先按照距离在多搜索方向上分配可用搜索点,构造出搜索位置星座图,再从该星座图中按照范围覆盖原则选取合适数量的搜索位置。
也就是说,本实施例在预设搜索位置为32个的前提下,将原有的4个搜索方向扩展为8个方向,再将每个方向8个的搜索步长数量减少,并在不同搜索方向上分别分配搜索步长,以覆盖更广阔的搜索范围。
所述基于初始运动矢量建立搜索位置星座图,具体还包括:
以所述初始运动矢量所指向的点作为中心点建立搜索位置星座图。
所述8个搜索方向分为两种类型,分别为水平垂直搜索方向、以及对角线搜索方向。
所述水平垂直搜索方向分别为:上、下、左、右;所述对角线搜索方向分别为:左上、左下、右上、右下。
所述搜索步长与搜索方向的类型相对应;
所述方法还包括:当所述搜索方向的类型为水平垂直搜索方向时,采用第一组搜索步长;当所述搜索方向的类型为对角线搜索方向时,采用第二组搜索步长;
其中,在预设搜索位置为32个的前提下,所述第一组搜索步长中包含有至少一种第一搜索步长;所述第二组搜索步长中包含有至少一种第二搜索步长。
需要指出的是,本实施例中第一组搜索步长与第二组搜索步长可以相同也可以不同。
当两组搜索步长相同的时候,可以认为是水平垂直方向与对角线方向均采用相同的4个搜索步长(步长为搜索位置与星座中心点的位置的距离)来选取搜索位置。
或者,所述第一组搜索步长与第二组搜索步长不同,这种情况下,第一组搜索步长与第二组搜索步长可以交叉。比如,水平竖直方向的搜索步长和对角方向的搜索步长交错增大,一种示例为:水平竖直方向的距离优先选择,然后对角方向的搜索步长交叉在两个相邻的水平垂直的搜索步长内。如此,可让对角方向的搜索覆盖到水平竖直方向无法搜索的区域。
也就是说,第一组搜索步长中第1种第一搜索步长与第2种第一搜索步长之间,可以为第二组搜索步长的第1种第二搜索步长;相应的,第二组搜索步长的第2种第二搜索步长与第3种第二搜索步长之间可以为第一组搜索步长的第3种第一搜索步长。
对角方向位置(lx,ly)其中lx=ly,的搜索步长本文以单一数值lx来表示。
举例来说,所述第一搜索步长为以下至少之一:1/4像素、1/2像素、2像素、4像素;
所述第二搜索步长为以下至少之一:1/8像素、3/8像素、3/4像素、3/2像素。
下面结合附图对本实施例提供的方案进行说明:
以按倍数增加的搜索步长为半径,以初始运动矢量所指向为圆心画圆,对角方向上的搜索步长均设计为靠近圆边的位置,依次向远处拓展。其中所述对角方向上的搜索步长可以基于第一组搜索步长和第二组搜索步长来确定,比如,当第一组搜索步长与第二组搜索步长可以相同的时候,可以为基于4种第一搜索步长或第二搜索步长作为半径画圆,得到四个圆,在对角方向上以及水平垂直方向上均有4个搜索点。第一组搜索步长与第二组搜索步长不同的时候,可以分别基于4个第一搜索步长、4个第二搜索步长,分别在对角以及水平垂直搜索方向上得到多个搜索点。
再依统计按覆盖范围选出具有代表性的搜索点,并以方便插值运算的原则近似到可以用除以2的幂次表示的位置上,如图3示:水平垂直方向均选择1/4,1/2,2,4像素,对角方向选择(1/8,1/8),(3/8,3/8),(3/4,3/4),(3/2,3/2)像素位置。其中,选取代表性的搜索点的时候,考虑到不同分辨率序列的不同统计特性,可以为1/2为半径的圆和2为半径的环附近分配较多搜索点。
在此基础上实现MMVD的详细说明如下。
首先,从候选列表中选取初始运动矢量;
具体的,依然重用VVC的merge候选列表的前两位作为初始的运动矢量。对于每个初始的运动矢量,依然使用初始运动矢量索引,搜索方向索引,搜索步长索引三个语法元素来进行扩展表示。
再进行扩展表示的过程中,对于搜索方向部分,如图4所示,由原来的上下左右4个方向修改为上下左右4个方向以及左上,右上,右下,左下4个方向,即在原始方向的基础之上,增加了对角方向。
在图4中,新增的方向使用实线表示,原有方向使用虚线表示。这样,在原来水平垂直方向的基础之上,新增加了额外的运动方向,可以增加表示运动矢量的灵活性。
本实施例中的搜索方向的索引表为表4:
表4
接着对搜索步长进行一定的修改。首先将原始算法的8种搜索步长减少为常用的4中搜索步长,具体如表5所示:
步长索引 | 0 | 1 | 2 | 3 |
像素距离 | 1/4 | 1/2 | 2 | 4 |
表5
在表5的基础之上,为了覆盖更广的搜索范围,表6为对角方向设计了不同于上下左右方向的搜索步长:
表6
最终对于每个初始的运动矢量,形成的搜索方向及步长如图5所示。
基于上述方案,本实施例还可以包括:将至少一个搜索位置作为新的运动矢量;基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。再对当前所有的预测值之间进行率失真代价的比较,选出最优的一种语法元素的组合,记录初始运动矢量在merge候选列表中的位置,移动方向和搜索步长的索引三个语法元素。
通过采用上述方案,在Random Access条件下对JVET要求的测试序列进行测试,在Y,Cb,Cr分量上BD-rate平均变化分别为-0.14%,-0.12%,0.10%。这一数据说明该技术提升了编码性能。
图6为视频编码***的结构示意图,如图6所示,该视频编码***100包括变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、反变换与反量化模块106、滤波器控制分析模块107、去方块滤波及样本自适应缩进(SampleAdaptive 0ffset,SAO)滤波模块108、头信息编码及基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmatic Coding,CABAC)编码模块109和解码图像缓存模块110等部件;图7为视频解码***的结构示意图,如图7所示,该视频解码***200包括头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203、运动补偿模块204、去方块滤波及SAO滤波模块205和解码图像缓存模块206等部件;视频图像经过视频编码***100中变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、反变换与反量化模块106、滤波器控制分析模块107、去方块滤波及SAO滤波模块108、头信息编码及CABAC编码模块109和解码图像缓存模块110等部分处理之后,输出该视频图像的码流;该码流输入视频解码***200中,经过视频解码***200中头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203以及运动补偿模块204等部分处理,最终恢复出原来的视频图像。
进一步地,本申请提出的图像编码方法,可以影响视频编码混合框架中的帧内预测部分,即主要应用于视频编码中的运动补偿模块104和运动估计模块105;以及视频解码中的运动补偿模块204中,对编码端和解码端同时作用。
基于前述方案,本实施例可以在运算次数基本不变的情况下提升编码性能。现有技术中要对两个初始运动矢量做扩展表示,共计要比较2*4*8=64次,其中2代表两个初始运动矢量,4代表搜索方向,8代表搜索步长。修改后依然对2个初始运动矢量进行扩展表示,包括8个搜索方向和4个搜索步长,共计2*8*4=64次比较。由此可见,本技术可以在保持和原有技术相同运算量的情况下提升整体的编码性能。
相应的,基于前述方案能够保持解码端复杂度不变。现有技术在解码端通过解码3个语法元素,对初始运动矢量进行扩展表示,以进行运动补偿最终得到重建块。在本方案中,依然是通过解码3个语法元素来对初始运动矢量进行扩展表示,因此复杂度不变。
可见,本实施例提供的方案能够在进行搜索位置确定的时候,基于8个搜索方向以及每一个方向对应4种搜索步长来执行。如此,与现有技术相比,减少了各个方向上的搜索步长,从而避免了一部分搜索步长不会被选中所带来的编码效率降低的问题;并且通过增加搜索方向,保证了大多数物体的运动情况得到满足,从而更加精确的对运动信息进行表示。
基于此,本实施例提供一种编码器,如图8所示,构造部分32以及编码部分33,
所述构造部分32,基于初始运动矢量建立搜索位置星座图;其中,所述搜索位置星座图中包含N个搜索方向,所述搜索方向上采用至少一种搜索步长进行搜索得到的至少一个搜索点;N为大于等于1的整数,且所述N个搜索方向中至少包括有对角线搜索方向;
所述编码部分33,基于预设范围覆盖规则,从所述搜索位置星座图中选取至少一个搜索位置;将至少一个搜索位置作为新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值;
其中,所述预设范围覆盖规则将预设搜索点个数分散在所述N个搜索方向上进行选取。
本实施例提供的方法可以应用于视频编解码***中的编码器端。
也就是说,本实施例在预设搜索位置为32个的前提下,将原有的4个搜索方向扩展为8个方向,再将每个方向8个的搜索步长数量减少,并在不同搜索方向上分别分配搜索步长,以覆盖更广阔的搜索范围。
具体的,所述构造部分,以所述初始运动矢量所指向的点作为中心点建立搜索位置星座图。
所述搜索位置星座图中所包含的N个搜索方向还包括水平垂直搜索方向;所述水平垂直搜索方向分别为:上、下、左、右;所述对角线搜索方向分别为:左上、左下、右上、右下。
所述搜索步长与搜索方向的类型相对应;所述编码部分,当所述搜索方向的类型为水平垂直搜索方向时,采用第一组搜索步长;当所述搜索方向的类型为对角线搜索方向时,采用第二组搜索步长;
其中,在预设搜索位置为32个的前提下,所述第一组搜索步长中包含有至少一种第一搜索步长;所述第二组搜索步长中包含有至少一种第二搜索步长。
需要指出的是,本实施例中第一组搜索步长与第二组搜索步长可以相同也可以不同。
当两组搜索步长相同的时候,可以认为是水平垂直方向与对角线方向均采用相同的4个搜索步长(步长为搜索位置与星座中心点的位置的距离)来选取搜索位置。
或者,所述第一组搜索步长与第二组搜索步长不同,这种情况下,第一组搜索步长与第二组搜索步长可以交叉。比如,水平竖直方向的搜索步长和对角方向的搜索步长交错增大,一种示例为:水平竖直方向的距离优先选择,然后对角方向的搜索步长交叉在两个相邻的水平垂直的搜索步长内。如此,可让对角方向的搜索覆盖到水平竖直方向无法搜索的区域。
也就是说,第一组搜索步长中第1种第一搜索步长与第2种第一搜索步长之间,可以为第二组搜索步长的第1种第二搜索步长;相应的,第二组搜索步长的第2种第二搜索步长与第3种第二搜索步长之间可以为第一组搜索步长的第3种第一搜索步长。
对角方向位置(lx,ly)其中lx=ly,的搜索步长本文以单一数值lx来表示。
举例来说,所述第一搜索步长为以下至少之一:1/4像素、1/2像素、2像素、4像素;
所述第二搜索步长为以下至少之一:1/8像素、3/8像素、3/4像素、3/2像素。
下面结合附图对本实施例提供的方案进行说明:
以按倍数增加的搜索步长为半径,以初始运动矢量所指向为圆心画圆,对角方向上的搜索步长均设计为靠近圆边的位置,依次向远处拓展。其中所述对角方向上的搜索步长可以基于第一组搜索步长和第二组搜索步长来确定,比如,当第一组搜索步长与第二组搜索步长可以相同的时候,可以为基于4种第一搜索步长或第二搜索步长作为半径画圆,得到四个圆,在对角方向上以及水平垂直方向上均有4个搜索点。第一组搜索步长与第二组搜索步长不同的时候,可以分别基于4个第一搜索步长、4个第二搜索步长,分别在对角以及水平垂直搜索方向上得到多个搜索点。
再依统计按覆盖范围选出具有代表性的搜索点,并以方便插值运算的原则近似到可以用除以2的幂次表示的位置上,如图3示:水平垂直方向均选择1/4,1/2,2,4像素,对角方向选择(1/8,1/8),(3/8,3/8),(3/4,3/4),(3/2,3/2)像素位置。其中,选取代表性的搜索点的时候,考虑到不同分辨率序列的不同统计特性,可以为1/2为半径的圆和2为半径的环附近分配较多搜索点。
在此基础上实现MMVD的详细说明如下。
首先,从候选列表中选取初始运动矢量;
具体的,依然重用VVC的merge候选列表的前两位作为初始的运动矢量。对于每个初始的运动矢量,依然使用初始运动矢量索引,搜索方向索引,搜索步长索引三个语法元素来进行扩展表示。
再进行扩展表示的过程中,对于搜索方向部分,如图4所示,由原来的上下左右4个方向修改为上下左右4个方向以及左上,右上,右下,左下4个方向,即在原始方向的基础之上,增加了对角方向。
在图4中,新增的方向使用实线表示,原有方向使用虚线表示。这样,在原来水平垂直方向的基础之上,新增加了额外的运动方向,可以增加表示运动矢量的灵活性。
本实施例中的搜索方向的索引表为表4:
表4
接着对搜索步长进行一定的修改。首先将原始算法的8种搜索步长减少为常用的4中搜索步长,具体如表5所示:
步长索引 | 0 | 1 | 2 | 3 |
像素距离 | 1/4 | 1/2 | 2 | 4 |
表5
在表5的基础之上,为了覆盖更广的搜索范围,表6为对角方向设计了不同于上下左右方向的搜索步长:
步长索引 | 0 | 1 | 2 | 3 |
上下左右像素距离 | 1/4 | 1/2 | 2 | 4 |
对角方向像素距离 | 1/8 | 3/8 | 3/4 | 3/2 |
表6
最终对于每个初始的运动矢量,形成的搜索方向及步长如图5所示。
基于上述方案,本实施例所述编码部分,将至少一个搜索位置作为新的运动矢量;基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。再对当前所有的预测值之间进行率失真代价的比较,选出最优的一种语法元素的组合,记录初始运动矢量在merge候选列表中的位置,移动方向和搜索步长的索引三个语法元素。
通过采用上述方案,在Random Access条件下对JVET要求的测试序列进行测试,在Y,Cb,Cr分量上BD-rate平均变化分别为-0.14%,-0.12%,0.10%。这一数据说明该技术提升了编码性能。
基于前述方案,本实施例可以在运算次数基本不变的情况下提升编码性能。现有技术中要对两个初始运动矢量做扩展表示,共计要比较2*4*8=64次,其中2代表两个初始运动矢量,4代表搜索方向,8代表搜索步长。修改后依然对2个初始运动矢量进行扩展表示,包括8个搜索方向和4个搜索步长,共计2*8*4=64次比较。由此可见,本技术可以在保持和原有技术相同运算量的情况下提升整体的编码性能。
相应的,基于前述方案能够保持解码端复杂度不变。现有技术在解码端通过解码3个语法元素,对初始运动矢量进行扩展表示,以进行运动补偿最终得到重建块。在本方案中,依然是通过解码3个语法元素来对初始运动矢量进行扩展表示,因此复杂度不变。
可见,本实施例提供的方案能够在进行搜索位置确定的时候,基于8个搜索方向以及每一个方向对应4种搜索步长来执行。如此,与现有技术相比,减少了各个方向上的搜索步长,从而避免了一部分搜索步长不会被选中所带来的编码效率降低的问题;并且通过增加搜索方向,保证了大多数物体的运动情况得到满足,从而更加精确的对运动信息进行表示。
本实施例提供一种运动补偿的处理方法,应用于解码器,如图9所示,包括:
步骤41:基于初始运动矢量的语法元素,对所述初始运动矢量在搜索位置星座图中对应的至少一个搜索位置进行扩展;
步骤42:基于所述初始运动矢量扩展得到的新的运动矢量进行运动补偿得到重建块;
其中,所述语法元素中包含有初始运动矢量索引、搜索方向索引、搜索步长索引;所述搜索方向索引中所指示的搜索方向至少包括对角线搜索方向。
基于所述初始运动矢量扩展得到的新的运动矢量进行运动补偿得到重建块,可以理解为基于所述初始运动矢量扩展得到的新的运动矢量进行运动补偿得到当前处理块的重建块。当前处理块为当前编码块。
本实施例提供的方法可以应用于视频编解码***中的解码器端。
总的来说上述方案首先按照距离在多搜索方向上分配可用搜索点,构造出搜索位置星座图,再从该星座图中按照范围覆盖原则选取合适数量的搜索位置。
也就是说,本实施例在预设搜索位置为32个的前提下,将原有的4个搜索方向扩展为8个方向,再将每个方向8个的搜索步长数量减少,并在不同搜索方向上分别分配搜索步长,以覆盖更广阔的搜索范围。
具体的,以所述初始运动矢量所指向的点作为中心点建立搜索位置星座图;
其中,所述搜索位置星座图中所包含的搜索方向还包括水平垂直搜索方向;所述水平垂直搜索方向分别为:上、下、左、右;所述对角线搜索方向分别为:左上、左下、右上、右下。
所述搜索步长与搜索方向的类型相对应;
所述方法还包括:当所述搜索方向的类型为水平垂直搜索方向时,采用第一组搜索步长;当所述搜索方向的类型为对角线搜索方向时,采用第二组搜索步长;
其中,在预设搜索位置为32个的前提下,所述第一组搜索步长中包含有至少一种第一搜索步长;所述第二组搜索步长中包含有至少一种第二搜索步长。
需要指出的是,本实施例中第一组搜索步长与第二组搜索步长可以相同也可以不同。
当两组搜索步长相同的时候,可以认为是水平垂直方向与对角线方向均采用相同的4个搜索步长(步长为搜索位置与星座中心点的位置的距离)来选取搜索位置。
或者,所述第一组搜索步长与第二组搜索步长不同,这种情况下,第一组搜索步长与第二组搜索步长可以交叉。比如,水平竖直方向的搜索步长和对角方向的搜索步长交错增大,一种示例为:水平竖直方向的距离优先选择,然后对角方向的搜索步长交叉在两个相邻的水平垂直的搜索步长内。如此,可让对角方向的搜索覆盖到水平竖直方向无法搜索的区域。
也就是说,第一组搜索步长中第1种第一搜索步长与第2种第一搜索步长之间,可以为第二组搜索步长的第1种第二搜索步长;相应的,第二组搜索步长的第2种第二搜索步长与第3种第二搜索步长之间可以为第一组搜索步长的第3种第一搜索步长。
对角方向位置(lx,ly)其中lx=ly,的搜索步长本文以单一数值lx来表示。
所述第一搜索步长为以下至少之一:1/4像素、1/2像素、2像素、4像素;
所述第二搜索步长为以下至少之一:1/8像素、3/8像素、3/4像素、3/2像素。
在此基础上实现MMVD的详细说明如下。
首先,从候选列表中选取初始运动矢量;
具体的,依然重用VVC的merge候选列表的前两位作为初始的运动矢量。对于每个初始的运动矢量,依然使用初始运动矢量索引,搜索方向,搜索步长三个语法元素来进行扩展表示。
再进行扩展表示的过程中,对于搜索方向部分,如图4所示,由原来的上下左右4个方向修改为上下左右4个方向以及左上,右上,右下,左下4个方向,即在原始方向的基础之上,增加了对角方向。
在图4中,新增的方向使用实线表示,原有方向使用虚线表示。这样,在原来水平垂直方向的基础之上,新增加了额外的运动方向,可以增加表示运动矢量的灵活性。
本实施例中的搜索方向的索引表为表4:
表4
接着对搜索步长进行修改。将原始算法的8种搜索步长减少为常用的4中搜索步长,具体如表5所示:
步长索引 | 0 | 1 | 2 | 3 |
像素距离 | 1/4 | 1/2 | 2 | 4 |
表5
在表5的基础之上,为了覆盖更广的搜索范围,表6为对角方向设计了不同于上下左右方向的搜索步长:
表6
最终对于每个初始的运动矢量,形成的搜索方向及步长如图5所示。
基于上述方案,本实施例还可以包括:基于所述初始运动矢量扩展得到的新的运动矢量进行运动补偿得到重建块。
图7为视频解码***的结构示意图,如图7所示,该视频解码***200包括头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203、运动补偿模块204、去方块滤波及SAO滤波模块205和解码图像缓存模块206等部件;视频图像经过视频编码***100中变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、反变换与反量化模块106、滤波器控制分析模块107、去方块滤波及SAO滤波模块108、头信息编码及CABAC编码模块109和解码图像缓存模块110等部分处理之后,输出该视频图像的码流;该码流输入视频解码***200中,经过视频解码***200中头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203以及运动补偿模块204等部分处理,最终恢复出原来的视频图像。
进一步地,本申请提出的图像编码方法,可以影响视频编码混合框架中的帧内预测部分,即主要应用于视频编码中的运动补偿模块104和运动估计模块105;以及视频解码中的运动补偿模块204中,对编码端和解码端同时作用。
基于前述方案能够保持解码端复杂度不变。现有技术在解码端通过解码3个语法元素,对初始运动矢量进行扩展表示,以进行运动补偿最终得到重建块。在本方案中,依然是通过解码3个语法元素来对初始运动矢量进行扩展表示,因此复杂度不变。
需要说明的是,针对原始图像帧中的编码块,在解码器侧,首先确定所述编码块所采用的编码模式;然后基于确定的编码模式,建立与所述编码模式对应的候选列表;再根据所述编码模式对应的候选列表,得到所述编码块对应的解码参数;最后基于所述编码块对应的解码参数,对所述编码块进行预测解码。
还需要说明的是,在对该编码块进行预测编码之后,编码器会将该编码块对应的码流发送到解码器。这样,在解码器侧,解码参数可以根据码流中的编码参数和候选列表共同确定得到的。
可见,本实施例提供的方案能够在进行搜索位置确定的时候,基于包含有对角线搜索方向的N个搜索方向以及多种搜索步长来执行。如此,与现有技术相比,减少了各个方向上的搜索步长,从而避免了一部分搜索步长不会被选中所带来的编码效率降低的问题;并且通过增加搜索方向,保证了大多数物体的运动情况得到满足,从而更加精确的对运动信息进行表示。
本实施例提供一种解码器,如图10所示,包括:
扩展部分51,用于基于初始运动矢量的语法元素,对所述初始运动矢量在搜索位置星座图中对应的至少一个搜索位置进行扩展;其中,所述语法元素中包含有初始运动矢量索引、搜索方向索引、搜索步长索引;所述搜索方向索引中所指示的搜索方向至少包括对角线搜索方向;
解码部分52,基于所述初始运动矢量扩展得到的新的运动矢量进行运动补偿得到重建块。
本实施例提供的方法可以应用于视频编解码***中的解码器端。
总的来说上述方案首先按照距离在多搜索方向上分配可用搜索点,构造出搜索位置星座图,再从该星座图中按照范围覆盖原则选取合适数量的搜索位置。
也就是说,本实施例在预设搜索位置为32个的前提下,将原有的4个搜索方向扩展为8个方向,再将每个方向8个的搜索步长数量减少,并在不同搜索方向上分别分配搜索步长,以覆盖更广阔的搜索范围。
具体的,
扩展部分,用于以所述初始运动矢量所指向的点作为中心点建立搜索位置星座图;
其中,所述搜索位置星座图中所包含的搜索方向还包括水平垂直搜索方向;所述水平垂直搜索方向分别为:上、下、左、右;所述对角线搜索方向分别为:左上、左下、右上、右下。
所述搜索步长与搜索方向的类型相对应;
所述扩展部分51,用于当所述搜索方向的类型为水平垂直搜索方向时,采用第一组搜索步长;当所述搜索方向的类型为对角线搜索方向时,采用第二组搜索步长;
其中,在预设搜索位置为32个的前提下,所述第一组搜索步长中包含至少一种第一搜索步长;所述第二组搜索步长中包含至少一种第二搜索步长。
需要指出的是,本实施例中第一组搜索步长与第二组搜索步长可以相同也可以不同。
当两组搜索步长相同的时候,可以认为是水平垂直方向与对角线方向均采用相同的4个搜索步长(步长为搜索位置与星座中心点的位置的距离)来选取搜索位置。
或者,所述第一组搜索步长与第二组搜索步长不同,这种情况下,第一组搜索步长与第二组搜索步长可以交叉。比如,水平竖直方向的搜索步长和对角方向的搜索步长交错增大,一种示例为:水平竖直方向的距离优先选择,然后对角方向的搜索步长交叉在两个相邻的水平垂直的搜索步长内。如此,可让对角方向的搜索覆盖到水平竖直方向无法搜索的区域。
也就是说,第一组搜索步长中第1种第一搜索步长与第2种第一搜索步长之间,可以为第二组搜索步长的第1种第二搜索步长;相应的,第二组搜索步长的第2种第二搜索步长与第3种第二搜索步长之间可以为第一组搜索步长的第3种第一搜索步长。
对角方向位置(lx,ly)其中lx=ly,的搜索步长本文以单一数值lx来表示。
所述第一搜索步长为以下至少之一:1/4像素、1/2像素、2像素、4像素;
所述第二搜索步长为以下至少之一:1/8像素、3/8像素、3/4像素、3/2像素。
图7为视频解码***的结构示意图,如图7所示,该视频解码***200包括头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203、运动补偿模块204、去方块滤波及SAO滤波模块205和解码图像缓存模块206等部件;视频图像经过视频编码***100中变换与量化模块101、帧内估计模块102、帧内预测模块103、运动补偿模块104、运动估计模块105、反变换与反量化模块106、滤波器控制分析模块107、去方块滤波及SAO滤波模块108、头信息编码及CABAC编码模块109和解码图像缓存模块110等部分处理之后,输出该视频图像的码流;该码流输入视频解码***200中,经过视频解码***200中头信息解码及CABAC解码模块201、反变换与反量化模块202、帧内预测模块203以及运动补偿模块204等部分处理,最终恢复出原来的视频图像。
进一步地,本申请提出的图像编码方法,可以影响视频编码混合框架中的帧内预测部分,即主要应用于视频编码中的运动补偿模块104和运动估计模块105;以及视频解码中的运动补偿模块204中,对编码端和解码端同时作用。
基于前述方案能够保持解码端复杂度不变。现有技术在解码端通过解码3个语法元素,对初始运动矢量进行扩展表示,以进行运动补偿最终得到重建块。在本方案中,依然是通过解码3个语法元素来对初始运动矢量进行扩展表示,因此复杂度不变。
需要说明的是,针对原始图像帧中的编码块,在解码器侧,首先确定所述编码块所采用的编码模式;然后基于确定的编码模式,建立与所述编码模式对应的候选列表;再根据所述编码模式对应的候选列表,得到所述编码块对应的解码参数;最后基于所述编码块对应的解码参数,对所述编码块进行预测解码。
还需要说明的是,在对该编码块进行预测编码之后,编码器会将该编码块对应的码流发送到解码器。这样,在解码器侧,解码参数可以根据码流中的编码参数和候选列表共同确定得到的。
可见,本实施例提供的方案能够在进行搜索位置确定的时候,基于包含有对角线搜索方向的N个搜索方向以及多种搜索步长来执行。如此,与现有技术相比,减少了各个方向上的搜索步长,从而避免了一部分搜索步长不会被选中所带来的编码效率降低的问题;并且通过增加搜索方向,保证了大多数物体的运动情况得到满足,从而更加精确的对运动信息进行表示。
图11为本申请实施例提出的硬件的组成结构示意图,图中硬件可以为前述编码器或解码器,如图11所示,本申请实施例提出的编码器300还可以包括处理器304、存储有处理器304可执行指令的存储器305、通信接口306,和用于连接处理器304、存储器305以及通信接口306的总线307。
进一步地,在本申请的实施例中,上述处理器304,用于执行前述编码器或解码器中的处理。
在本申请的实施例中,上述处理器304可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field ProgRAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其他,本申请实施例不作具体限定。存储器305可以与处理器304连接,其中,存储器305用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器305可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
在本申请的实施例中,总线307用于连接通信接口306、处理器304以及存储器305以及这些器件之间的相互通信
在本申请的实施例中,存储器305,用于存储指令和数据。
在实际应用中,上述存储器305可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供了一种图像编码器,用于执行前述编码器中的处理。
本申请实施例还提供了一种解码器,用于执行前述解码器的处理。
本申请实施例提供计算机可读存储介质和计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述实施例所述的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
工业实用性
本申请实施例提供了一种运动补偿的处理方法、编码器以及存储介质,编码器基于初始运动矢量建立搜索位置星座图;其中,所述搜索位置星座图中包含N个搜索方向,所述搜索方向上采用至少一种搜索步长进行搜索得到的至少一个搜索点;N为大于等于1的整数,且所述N个搜索方向中至少包括有对角线搜索方向;基于预设范围覆盖规则,从所述搜索位置星座图中选取至少一个搜索位置;其中,所述预设范围覆盖规则为将预设搜索点个数分散在所述N个搜索方向上进行选取;将至少一个搜索位置作为新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。如此,与现有技术相比,减少了各个方向上的搜索步长,从而避免了一部分搜索步长不会被选中所带来的编码效率降低的问题;并且通过增加搜索方向,保证了大多数物体的运动情况得到满足,从而更加精确的对运动信息进行表示。
Claims (12)
1.一种运动补偿的处理方法,应用于解码器,所述方法包括:
以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索;以及
根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。
2.根据权利要求1所述的方法,其中,所述至少一个搜索点还包括水平垂直方向上的搜索点;所述水平垂直方向分别为:上、下、左、右。
3.一种运动补偿的处理方法,应用于编码器,所述方法包括:
以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索;以及
根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值。
4.根据权利要求3所述的方法,其中,所述至少一个搜索点还包括水平垂直方向上的搜索点;所述水平垂直方向分别为:上、下、左、右。
5.一种解码器,包括:
扩展部分,以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
解码部分,基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,以及根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索。
6.根据权利要求5所述的解码器,其中,所述至少一个搜索点还包括水平垂直方向上的搜索点;所述水平垂直方向分别为:上、下、左、右。
7.一种编码器,包括:
构造部分,以初始运动矢量所指向的点作为中心点确定搜索位置星座图,其中,所述搜索位置星座图中包含N个方向,在所述方向上采用至少一种步长搜索至少一个搜索点,N为大于等于1的整数,所述至少一个搜索点至少包括有对角线方向上的搜索点,所述对角线方向分别为:相对于所述中心点的左上、左下、右上、右下;
编码部分,基于预设范围覆盖规则,从所述搜索位置星座图中搜索至少一个搜索位置,以及根据至少一个搜索位置得到新的运动矢量,基于所述新的运动矢量进行运动补偿得到编码单元CU的预测值,其中,所述预设范围覆盖规则为将搜索点排列在所述方向上进行搜索。
8.根据权利要求7所述的编码器,其中,所述至少一个搜索点还包括水平垂直方向上的搜索点;所述水平垂直方向分别为:上、下、左、右。
9.一种解码器,所述解码器包括处理器以及存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如权利要求1-2任一项所述的方法。
10.一种编码器,所述编码器包括处理器以及存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如权利要求3-4任一项所述的方法。
11.一种计算机可读存储介质,其上存储有程序,应用于解码器中,所述程序被处理器执行时,实现如权利要求1-2任一项所述的方法。
12.一种计算机可读存储介质,其上存储有程序,应用于编码器中,所述程序被处理器执行时,实现如权利要求3-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111584028.0A CN114222136A (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/092829 WO2020258039A1 (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
CN202111584028.0A CN114222136A (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
CN201980096079.3A CN113785592A (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096079.3A Division CN113785592A (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114222136A true CN114222136A (zh) | 2022-03-22 |
Family
ID=74060441
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096079.3A Pending CN113785592A (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
CN202111584028.0A Pending CN114222136A (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096079.3A Pending CN113785592A (zh) | 2019-06-25 | 2019-06-25 | 运动补偿的处理方法、编码器、解码器以及存储介质 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11490113B2 (zh) |
EP (1) | EP3972257A4 (zh) |
JP (1) | JP7381615B2 (zh) |
KR (1) | KR20220024020A (zh) |
CN (2) | CN113785592A (zh) |
WO (1) | WO2020258039A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023051646A1 (en) * | 2021-09-30 | 2023-04-06 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8462850B2 (en) * | 2004-07-02 | 2013-06-11 | Qualcomm Incorporated | Motion estimation in video compression systems |
JPWO2007111206A1 (ja) * | 2006-03-14 | 2009-08-13 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
EP2392999A4 (en) * | 2009-02-02 | 2013-11-27 | Panasonic Corp | INFORMATION DISPLAY DEVICE |
CN101795409B (zh) * | 2010-03-03 | 2011-12-28 | 北京航空航天大学 | 内容自适应分数像素运动估计方法 |
US8472725B2 (en) * | 2010-06-02 | 2013-06-25 | Cisco Technology, Inc. | Scene change detection and handling for preprocessing video with overlapped 3D transforms |
US9635308B2 (en) * | 2010-06-02 | 2017-04-25 | Cisco Technology, Inc. | Preprocessing of interlaced video with overlapped 3D transforms |
US9628674B2 (en) * | 2010-06-02 | 2017-04-18 | Cisco Technology, Inc. | Staggered motion compensation for preprocessing video with overlapped 3D transforms |
US9451277B2 (en) * | 2012-02-08 | 2016-09-20 | Qualcomm Incorporated | Restriction of prediction units in B slices to uni-directional inter prediction |
JP5987768B2 (ja) * | 2012-04-16 | 2016-09-07 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム |
CN104077796B (zh) * | 2013-03-28 | 2017-01-18 | 北京京东方光电科技有限公司 | 一种将二维图像转换为三维图像的方法和装置 |
CN105532004B (zh) * | 2013-07-12 | 2019-01-25 | 三星电子株式会社 | 层间视频解码方法及设备 |
CN106537918B (zh) * | 2014-08-12 | 2019-09-20 | 英特尔公司 | 用于视频编码的运动估计的***和方法 |
FR3041495B1 (fr) * | 2015-09-17 | 2017-10-20 | Ateme | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede |
EP3171595A1 (en) * | 2015-11-18 | 2017-05-24 | Thomson Licensing | Enhanced search strategies for hierarchical motion estimation |
US10743023B2 (en) * | 2015-12-04 | 2020-08-11 | Sony Corporation | Image processing apparatus and image processing method |
RU2018132742A (ru) * | 2016-02-16 | 2020-03-17 | Самсунг Электроникс Ко., Лтд. | Способ внутреннего предсказания для уменьшения ошибок внутреннего предсказания и устройство для этого |
CN105959705B (zh) * | 2016-05-10 | 2018-11-13 | 武汉大学 | 一种面向可穿戴设备的视频直播方法 |
JP2018032949A (ja) * | 2016-08-23 | 2018-03-01 | キヤノン株式会社 | 動きベクトル検出装置およびその制御方法 |
CN110121884B (zh) * | 2016-11-28 | 2023-04-04 | 韩国电子通信研究院 | 用于滤波的方法和装置 |
WO2019009618A1 (ko) * | 2017-07-04 | 2019-01-10 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
US10595045B2 (en) * | 2017-07-27 | 2020-03-17 | Advanced Micro Devices, Inc. | Device and method for compressing panoramic video images |
CN116708780A (zh) * | 2017-08-11 | 2023-09-05 | 华为技术有限公司 | 视频图像编码和解码的方法、装置及设备 |
KR102643115B1 (ko) * | 2017-11-29 | 2024-03-04 | 한국전자통신연구원 | 루프내 필터링을 이용한 영상 부호화/복호화 방법 및 장치 |
WO2019176189A1 (ja) * | 2018-03-16 | 2019-09-19 | ソニー株式会社 | 画像処理装置と画像処理方法 |
US11509925B2 (en) * | 2018-04-12 | 2022-11-22 | Samsung Electronics Co.. Ltd. | Method and device for video encoding and video decoding motion vector information |
US10783647B2 (en) * | 2018-05-24 | 2020-09-22 | Cisco Technology, Inc. | Real-time object tracking |
CN113170186A (zh) * | 2018-12-07 | 2021-07-23 | 夏普株式会社 | 运动图像解码装置 |
-
2019
- 2019-06-25 JP JP2021573521A patent/JP7381615B2/ja active Active
- 2019-06-25 CN CN201980096079.3A patent/CN113785592A/zh active Pending
- 2019-06-25 CN CN202111584028.0A patent/CN114222136A/zh active Pending
- 2019-06-25 WO PCT/CN2019/092829 patent/WO2020258039A1/zh unknown
- 2019-06-25 KR KR1020217040779A patent/KR20220024020A/ko unknown
- 2019-06-25 EP EP19935161.0A patent/EP3972257A4/en not_active Ceased
-
2021
- 2021-12-09 US US17/643,522 patent/US11490113B2/en active Active
-
2022
- 2022-09-15 US US17/945,261 patent/US11910003B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP7381615B2 (ja) | 2023-11-15 |
KR20220024020A (ko) | 2022-03-03 |
WO2020258039A1 (zh) | 2020-12-30 |
JP2022541104A (ja) | 2022-09-22 |
EP3972257A4 (en) | 2022-06-08 |
US20220103857A1 (en) | 2022-03-31 |
US11490113B2 (en) | 2022-11-01 |
US11910003B2 (en) | 2024-02-20 |
US20230007295A1 (en) | 2023-01-05 |
CN113785592A (zh) | 2021-12-10 |
EP3972257A1 (en) | 2022-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11622129B2 (en) | Intra prediction method and apparatus using the method | |
JP6702406B2 (ja) | Hevcビデオ符号化における論理的イントラモードネーミング | |
CN109997361B (zh) | 用于视频译码的低复杂度符号预测 | |
RU2696237C2 (ru) | Способ декодирования видеосигнала | |
JP6284954B2 (ja) | イントラ予測のためのモード決定の簡略化 | |
US10003792B2 (en) | Video encoder for images | |
CN113068032B (zh) | 图像编解码方法、编码器、解码器以及存储介质 | |
JP2017069971A (ja) | インタ予測方法及びその装置 | |
GB2531003A (en) | Method and apparatus for vector encoding in video coding and decoding | |
US20220417553A1 (en) | Encoding method and apparatus therefor, and decoding method and apparatus therefor | |
Li et al. | Intra block copy for screen content in the emerging AV1 video codec | |
US11910003B2 (en) | Processing method for motion compensation, encoder and decoder | |
CN113992914B (zh) | 帧间预测方法及装置、设备、存储介质 | |
KR101688085B1 (ko) | 고속 인트라 예측을 위한 영상 부호화 방법 및 장치 | |
CN112954350A (zh) | 一种基于帧分类的视频后处理优化方法及装置 | |
KR20230162988A (ko) | 멀티미디어 데이터 프로세싱 방법 및 장치, 컴퓨터 디바이스, 및 컴퓨터-판독가능 저장 매체 | |
CN111510727A (zh) | 一种运动估计方法及装置 | |
Mazhar | AN EFFICIENT FAST HEVC ENCODING TECHNIQUE |
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 |