CN112218092B - 串编码技术的编码方法、设备及存储介质 - Google Patents
串编码技术的编码方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112218092B CN112218092B CN202011113832.6A CN202011113832A CN112218092B CN 112218092 B CN112218092 B CN 112218092B CN 202011113832 A CN202011113832 A CN 202011113832A CN 112218092 B CN112218092 B CN 112218092B
- Authority
- CN
- China
- Prior art keywords
- motion information
- candidate list
- predicted motion
- block
- predicted
- 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.)
- Active
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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
-
- 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/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
本申请公开基于串编码技术的编码方法、设备及存储介质。其中,基于串编码技术的编码方法包括:获取预测运动信息,预测运动信息包括当前图像块的空域相邻块的运动信息,和历史候选列表中的运动信息,和/或当前图像块的空域非相邻块的运动信息,和/或预设固定运动信息;利用所述预测运动信息构建预测运动矢量候选列表,所述预测运动矢量候选列表包含的所述预测运动信息的数量在第一预定值以下,即所述预测运动矢量候选列表的长度设置为第一预定值。本申请获取预测运动信息的方式多样化,获取的预测运动信息相关度更大,不单单仅选用历史候选列表中的运动信息。在预测运动矢量候选列表中加入相关度更大的预测运动信息,有助于提升编码的压缩率。
Description
技术领域
本申请属于视频编码技术领域,具体涉及串编码技术的编码方法、设备及存储介质。
背景技术
视频图像数据量比较大,通常需要对视频像素数据(RGB、YUV等)其进行压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。整个视频编码流程包括预测、变换、量化、编码等过程。
SP技术(串匹配预测技术)是一种独立的预测技术,针对的是图像内不同区域却有相同图像内容的情况。当前块内连续的n个(n>=1)像素称为一个串,当前块内可以有若干个不同的串,每个串都有自己的一个SV(串矢量),SV指向空域上之前的已编码像素(参考像素)。若当前块内有像素不能成串,则直接编码该像素值。然而目前SP技术存在压缩率低的问题。
发明内容
本申请提供串编码技术的编码方法、设备及存储介质,以进一步提高sp技术的压缩率。
为解决上述技术问题,本申请采用的一个技术方案是:一种基于串编码技术的编码方法,所述方法包括:获取预测运动信息,所述预测运动信息包括当前图像块的空域相邻块的运动信息,和历史候选列表中的运动信息,和/或当前图像块的空域非相邻块的运动信息,和/或预设固定运动信息;利用所述预测运动信息构建预测运动矢量候选列表,所述预测运动矢量候选列表包含的所述预测运动信息的数量在第一预定值以下,即所述预测运动矢量候选列表的长度设置为第一预定值。
根据本申请一实施方式,所述利用所述预测运动信息构建预测运动矢量候选列表包括:判断待加入所述预测运动矢量候选列表的所述预测运动信息,与已经位于所述预测运动矢量候选列表里的所有所述预测运动信息是否重复;若不重复,则将所述预测运动信息加入所述预测运动矢量候选列表;或者,判断待加入所述预测运动矢量候选列表的所述预测运动信息,与已经位于所述预测运动矢量候选列表里的预定位置的所述预测运动信息是否重复;若不重复,则将所述预测运动信息加入所述预测运动矢量候选列表。
根据本申请一实施方式,所述当前图像块的空域相邻块的运动信息包括:所述当前块的左下方相邻块、所述当前块的上右方相邻块、所述当前块的上右方右侧相邻块、所述当前块的左上方相邻块、所述当前块的左上方上侧相邻块中的一个或几个相邻块的运动信息。
根据本申请一实施方式,所述当前图像块的空域非相邻块的运动信息包括:所述当前块的左下方左侧相邻块、所述当前块的上右方上侧相邻块、所述当前块的上右方右上侧相邻块、所述当前块的左上方左侧相邻块、所述当前块的左上方上左侧相邻块中的一个或几个相邻块的运动信息。
根据本申请一实施方式,所述方法包括:在像素级串预测模式下,获取运动搜索点信息,所述运动搜索点信息包括所述当前图像块的所述空域相邻块的运动信息,和/或所述历史候选列表中的运动信息,和/或所述当前图像块的所述空域非相邻块的运动信息,和/或所述预设固定运动信息;利用所述运动搜索点信息构建运动搜索点预测候选列表,所述运动搜索点预测候选列表包含的所述运动搜索点信息的数量在第二预定值以下。
根据本申请一实施方式,所述方法包括:判断在所述运动搜索点预测候选列表和HASH值相同的点中进行运动搜索获取的最佳候选运动信息,与所述预测运动矢量候选列表中获取的预测运动信息是否相同;若相同,则编码所述预测运动信息的索引;若不同,则直接编码所述最佳候选运动信息。
根据本申请一实施方式,所述方法可用于屏幕内容场景、自然图像场景、或混合场景。
为解决上述技术问题,本申请采用的又一个技术方案是:一种基于串编码技术的编码方法,所述方法包括:获取级串类型句法元素;判断所述级串类型句法元素是否代表CU级串;若是,则利用运动矢量残差和运动矢量预测值的索引表达所述CU级串的运动信息;若否,则所述级串类型句法元素代表像素级串,则利用所述最佳运动矢量预测值的索引或所述最佳运动矢量直接表达所述像素级串的运动信息。
为解决上述技术问题,本申请采用的又一个技术方案是:一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述任一方法。
为解决上述技术问题,本申请采用的又一个技术方案是:一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述任一方法。
本申请的有益效果是:本申请获取预测运动信息的方式多样化,在大多数情况下,当前图像块的空域相邻块的运动信息与当前图像块的相关度更大,当然,在少数情况下,其他方式获得的运动信息的相关度更大,所以此处获取预测运动信息时,不单单仅选用历史候选列表中的运动信息。在预测运动矢量候选列表中加入相关度更大的预测运动信息,有助于提升编码的压缩率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本申请的串编码技术的编码方法一实施例的流程示意图;
图2是本申请的串编码技术的编码方法一实施例中CU级运动搜索范围示意图;
图3是本申请的串编码技术的编码方法一实施例中像素级运动搜索的扫描方式示意图;
图4是本申请的串编码技术的编码方法一实施例中空域相邻块位置的示意图;
图5是本申请的串编码技术的编码方法一实施例中空域非相邻块位置的框架示意图;
图6是本申请的串编码技术的编码方法又一实施例的流程示意图;
图7是本申请的串编码技术的编码方法又一实施例的流程示意图;
图8是本申请的时域运动矢量预测装置一实施例的框架示意图;
图9是本申请的电子设备一实施例的框架示意图;
图10是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1是本申请的串编码技术的编码方法一实施例的流程示意图。
本申请一实施例提供了一种串编码技术的编码方法,包括如下步骤:
S11:获取预测运动信息。
获取预测运动信息。预测运动信息包括当前图像块的空域相邻块的运动信息,和/或,预测运动信息包括当前图像块的空域相邻块的运动信息,和/或历史候选列表中的运动信息,和/或当前图像块的空域非相邻块的运动信息,和/或预设固定运动信息,和/或其他推导方式得到的运动信息。
以下先对SP技术做一个简单的介绍,便于理解本发明:
在视频编码中,最常用颜色编码方法有YUV、RGB等,本发明中所采用的颜色编码方法为YUV。Y表示明亮度,也就是图像的灰度值;U和V(即Cb和Cr)表示色度,作用是描述图像色彩及饱和度。每个Y亮度块都对应一个Cb和一个Cr色度块,每个色度块也只对应一个亮度块。以4:2:0的采样格式为例,一个N*M的块对应亮度块大小为N*M,对应的两个色度块的大小都为(N/2)*(M/2),色度块为亮度块的1/4大小。
视频编码时,输入的是一个个图像帧,但对一帧图像进行编码时,需要将一帧分割成若干LCU(最大编码单元),然后再对每个编码单元进行不同尺寸的CU(编码单元)分割,视频编码就是以CU为单元进行的。
SP预测技术的详细步骤如下:
(1)SP技术应用条件
SP技术只能用于宽和高都大于等于4且小于等于32的亮度块。且对于某些小块,若这些小块再进一步划分后会产生边长小于4的色度块,那么这些小块的色度块部分将不再进一步划分,并且这些小块不采用SP模式,而采用传统帧内预测模式。
此外,像素级串预测方法还存在以下规范性限制:
参考像素位置限定左边LCU和当前LCU的区域,把LCU按64*64区域大小进行平均划分,一个参考串的所有像素都来自同一个64*64区域;
参考像素不能属于当前串;
每个CU所允许的串的个数(包括匹配像素串的个数加未匹配像素的个数)必须不大于当前CU块内像素个数的1/4;
每个串像素个数必须是4的倍数。
(2)预测运动矢量候选列表的构建
在AVS3现有技术中,通常采用历史候选列表HBVP中的运动信息,来构建预测运动矢量候选列表,并将HBVP列表中有效的运动信息按照倒序的方式填入到预测运动矢量候选列表内。历史候选列表HBVP中存放的是历史已编码且用IBC(帧内块拷贝)或串编码预测技术(SP技术)编码的块的运动信息,包括BV/SV(块矢量/串矢量)以及相关的信息。在运动估计过程中,利用预测运动矢量候选列表中的运动信息SV时,若遍历到BV,可将其转换为SV。
(3)运动估计
运动估计的目的是找到当前块的最佳运动矢量,该部分采用CU级运动搜索和像素级运动搜索两种方法来获取。先进行CU级运动搜索,如果未找到匹配块,再进行像素级运运动搜索。
1、CU级运动搜索
[a]从SVP候选列表中选择运动搜索起始SV。
遍历SVP候选列表中所有SV,采用SV进行预测。首先检查每个SV对应的匹配的块是否符合SP预测方法规范性限制。
对符合条件的SV计算其cost,选择cost最小的SV作为起始搜索SV。如果没有满足条件的SV,以(0,0)作为起始SV。
[b]设置搜索范围。
搜索范围设置为起始SV指向的点的水平垂直方向[-M,M]范围,然后上侧更新为-min(SV指向的点的垂直坐标,M);左侧更新为-min(SV指向的点的水平坐标,M);下侧更新为min(图像高-SV指向的点的垂直坐标-当前块高,M);右侧更新为min(图像块-SV指向的点的垂直坐标-当前块宽,M);其中M可选取32或者64。
[c]计算起始SV的cost,以起始SV作为最佳SV,并记录最佳SV在SVP列表中的index索引。
[d]搜索范围为起始SV指向位置的正上方、正左方、正下方和正右方的已编码块,搜索方向由远及近,如图2所示,搜索步长为整像素,搜索不能超过[b]中的搜索范围,搜索块内所有像素需要符合SP预测方法规范性限制。通过比较cost,更新当前块的最佳SV,并记录最佳SV在SVP列表中的index索引。
2、像素级运动搜索
在AVS3技术中,目前扫描方式为水平弓形扫描方式,如图3所示,像素级预测是采用(0,-1)、(-1,0)、已预测块的运动信息和像素HASH值相等时的运动矢量偏移,分别进行运动补偿后,比较率失真代价,代价最小的运动信息即为最佳的运动信息SV。
遍历所有预测运动矢量候选列表中所有SVP,计算SVP的index与SVD(最佳SV-SVP)的比特数和,比较比特数的大小,比特数最小的即为该像素串的最佳SVP。
在此过程中,如果最佳SV是(0,-1),该SV用一个flag来表达。
运动估计的目的是找到当前块的最佳运动矢量,该部分采用CU级运动搜索和像素级运动搜索两种方法来获取。先进行CU级运动搜索,如果未找到匹配块,再进行像素级运运动搜索。
在本实施例中,对预测运动矢量候选列表的构建作出改进,首先获取预测运动信息。预测运动信息包括当前图像块的空域相邻块的运动信息,和/或,预测运动信息包括当前图像块的空域相邻块的运动信息,和/或历史候选列表中的运动信息,和/或当前图像块的空域非相邻块的运动信息,和/或预设固定运动信息,和/或其他推导方式得到的运动信息。
本实施例获取预测运动信息的方式多样化,在大多数情况下,当前图像块的空域相邻块的运动信息与当前图像块的相关度更大,当然,在少数情况下,其他方式获得的运动信息的相关度更大,所以此处获取预测运动信息时,不单单仅选用历史候选列表中的运动信息。
S12:利用预测运动信息构建预测运动矢量候选列表。
利用获得的预测运动信息构建预测运动矢量候选列表,预测运动矢量候选列表包含的预测运动信息的数量在第一预定值以下,即预测运动矢量候选列表的长度设置为第一预定值,预测运动矢量候选列表包含的预测运动信息的数量小于等于第一预定值。第一预定值大于等于零。在预测运动矢量候选列表中加入相关度更大的预测运动信息,有助于提升编码的压缩率。
获取的预测运动信息需全部查重或部分查重后逐个加入预测运动矢量候选列表。
具体地,若需全部查重,利用预测运动信息构建预测运动矢量候选列表包括:
判断待加入预测运动矢量候选列表的预测运动信息,与已经位于预测运动矢量候选列表里的所有预测运动信息是否重复;
若不重复,则将运动信息加入预测运动矢量候选列表作为SVP;
若重复,则不加入。
在此情况下,对待加入预测运动矢量候选列表的预测运动信息全部查重,可以减少预测运动矢量候选列表的重复率,从而减少编码比特数,但是与此同时全部查重会增加运算和耗时。
所以,我们又提出了一种部分查重的方法,具体地,利用预测运动信息构建预测运动矢量候选列表包括:
判断待加入预测运动矢量候选列表的预测运动信息,与已经位于预测运动矢量候选列表里的预定位置的预测运动信息是否重复;
若不重复,则将预测运动信息加入预测运动矢量候选列表;
若重复,则不加入。
通过将待加入的预测运动信息与预测运动矢量候选列表里的预定位置的预测运动信息查重,而非全部查重,可以降低查重的运算和耗时,同时可以一定程度减少重复率,整体提高SP技术的压缩率。预定位置可根据预测运动信息的获取方式实际调整。
以下结合几个具体实施方式说明:
在一具体实施方式中:
预测运动矢量候选列表构建过程中采用先添加空域相邻块的运动信息,再添加历史候选列表中的运动信息的方式构建,设定第一预定值为12,且采用全部查重的方式进行添加,若重复,则不添加。
空域相邻块位置如图4所示,可以设定5个空域相邻块,当前图像块的空域相邻块的运动信息包括:当前块的左下方相邻块F、当前块的上右方相邻块G、当前块的上右方右侧相邻块C、当前块的左上方相邻块A、当前块的左上方上侧相邻块D中运动信息,加入顺序可设为F->G->C->A->D,在其他实施方式中,还可以设定上述5个空域相邻块中的任意几个,或者还包括其他位置的空域相邻块,顺序也可按照其他顺序加入。
在又一具体实施方式中:
预测运动矢量候选列表构建过程中采用先添加空域相邻块的运动信息,再添加历史候选列表中的运动信息的方式构建,设定第一预定值为12,且采用部分查重的方式进行添加:
空域相邻块位置继续参照图4,可以设定5个空域相邻块,当前图像块的空域相邻块的运动信息包括:当前块的左下方相邻块F、当前块的上右方相邻块G、当前块的上右方右侧相邻块C、当前块的左上方相邻块A、当前块的左上方上侧相邻块D中运动信息,加入顺序可设为F->G->C->A->D,在其他实施方式中,还可以设定上述5个空域相邻块中的任意几个,或者还包括其他位置的空域相邻块,顺序也可按照其他顺序加入,部分查重方式如下:
第一种,待加入的空域相邻块的运动信息加入时仅顺序上相邻查重:G与F查重,C与G查重,A与C查重,D与A查重;
第二种:G与F查重,C与G查重,A与C查重,D与A查重,同时,D与A不重复,D再与列表(预测运动矢量候选列表)第一个查重;
第三种:G与F查重,C与G查重,A与C查重,D与A查重,同时,D再与F和/或G查重;
第四种:D与A、F查重;
以上仅列举了几种查重方式,并非穷举,还可以根据实际情况采用其他查重方式。
需要说明的是,历史候选列表中的运动信息加入时相互之间不需要查重,因为历史候选列表中的运动信息已经过查重,历史候选列表中的运动信息加入时可设置与空域相邻块的运动信息全部查重;或是历史候选列表中的运动信息加入时可设置不与空域相邻块的运动信息查重;或是历史候选列表中的运动信息加入时可设置最多与空域相邻块的运动信息前两个查重;或是历史候选列表中的运动信息仅与加入预测运动矢量候选列表的空域相邻块的第一个运动信息进行查重。
在又一具体实施方式中:
预测运动矢量候选列表构建过程中采用先添加空域相邻块的运动信息,若不足5个,考虑空域非相邻块的运动信息,满5个后再添加历史候选列表中的运动信息方式构建,设定第一预定值为12,可采用全部查重或部分查重的方式进行添加(查重方式可参见上述两个实施方式,此处不再赘述)。
如图5,当前图像块的空域非相邻块的运动信息包括:当前块的左下方左侧相邻块F1、当前块的上右方上侧相邻块G1、当前块的上右方右上侧相邻块C1、当前块的左上方左侧相邻块A1、当前块的左上方上左侧相邻块D1中的运动信息。加入顺序可设为F1->G1->C1->A1->D1,在其他实施方式中,还可以设定上述5个空域非相邻块中的任意几个,或者还包括其他位置的空域非相邻块,顺序也可按照其他顺序加入。
请参阅图6,图6是本申请的串编码技术的编码方法又一实施例的流程示意图。本方法又一实施例提供了一种基于串编码技术的编码方法,包括如下步骤:
S21:获取级串类型句法元素。
句法元素是一种标识,用于表明编码端所配置的一些参数或使用的编码技术和方法等。在编码端需要将句法元素进行编码,也就是用特定的编码方式将句法元素的值转换成计算机能读懂的“0”和“1”组成的一串字符。将句法元素编码到码流中后传输到解码端。解码端通过解析这些编码后的字符读懂句法元素所代表的含义,才能知道编码端的编码信息,并采取对应的操作。例如,有一个句法元素SPCuFlag代表的是当前CU是否采用SP技术(串匹配预测技术),SPCuFlag=1时采用SP技术,SPCuFlag=0时不采用。在编码时就需要将SPCuFlag对应的值编码到码流中,传输到解码端。解码端通过解析SPCuFlag对应的值就知道编码端是否采用了SP技术,若采用了SP技术,解码端就要通过SP相关的操作来解码。
经分析和实验验证,现有SP预测技术中像素级预测下,运动搜索出来的运动信息SV与预测运动矢量候选列表中的运动信息SV相关性并不强。本实施例中,新增了级串类型句法元素将SP技术下CU级串和像素级串运动信息的编码方式进行区分。
S22:判断级串类型句法元素是否代表CU级串。
在一实施例中,级串类型句法元素包括isc_mode_is_cu_string_flag,判断所述级串类型句法元素是否代表CU级串包括:
判断isc_mode_is_cu_string_flag是否为1。
S23:若是,则利用运动矢量残差和运动矢量预测值的索引表达CU级串的运动信息。
若是,则利用运动矢量残差SVD和运动矢量预测值的索引index表达CU级串的运动信息。运动矢量预测值SVP即为预测运动矢量候选列表中获得的预测运动信息SV。
例如,当isc_mode_is_cu_string_flag为1时,表示为SP模式下的CU级串,可以去掉原有的串匹配句法isc_match_type_flag,可以去掉原有的串长度句法next_remaining_pixel_in_cu,可以去掉串矢量上方标志sv_above_flag;从而进一步去掉CU串级的编码句法冗余,可提高基于串编码技术的编码方法的压缩率。
S24:若否,则级串类型句法元素代表像素级串,则利用最佳运动矢量预测值的索引或最佳运动矢量直接表达像素级串的运动信息。
若否,则isc_mode_is_cu_string_flag为0,表示该级串类型句法元素代表像素级串,则利用最佳运动矢量在预测运动矢量候选列表的索引index或运动矢量直接表达像素级串的运动信息。若最佳运动矢量来自预测运动矢量候选列表,会直接编码最佳运动矢量在预测运动矢量候选列表中的索引,否则编码最佳运动矢量本身。采用SV的方式进行编码可以进一步减少运动信息的编码比特数,进而提升SP技术的压缩率。
具体地,像素级运动搜索到最佳运动矢量SV,与预测运动矢量候选列表中获取的预测运动矢量SV相同,则可以用预测运动矢量的索引index表达像素级串的运动信息,否则,直接用最佳运动矢量SV直接表达像素级串的运动信息。
像素级运动搜索可以与CU级运动搜索采用相同的预测运动矢量候选列表,或者构建不同的预测运动矢量候选列表。采用SV的方式进行编码可以进一步减少运动信息的编码比特数,进而提升SP技术的压缩率。
本实施例的方法可与上述实施例结合,或者单独实施,以提高基于串编码技术的编码方法的压缩率。
在AVS3标准技术中,本实施例句法元素的修改具体如下表所示:
表1串复制帧内预测定义
新增一些句法元素后,新增句法元素的描述如下:
串模式标记isc_mode_is_cu_string_flag
二值变量。值为‘1’表示CU串级模式;值为‘0’表示像素串级模式。IscModeIsCuStringFlag等于isc_mode_is_cu_string_flag。
串矢量历史标志sv_recent_flag[i]
二值变量。值为‘1’表示当前编码单元第i部分的串位移矢量从预测运动矢量候选列表中导出;值为‘0’表示当前编码单元第i部分的串位移矢量不从预测运动矢量候选列表中导出。SvRecentFlag[i]等于sv_recent_flag[i]的值。如果位流中不存在sv_recent_flag[i],SvRecentFlag[i]的值为0。注:当sv_above_flag的值和sv_recent_flag的值都等于0的时候,sv_x的值由语法元素sv_x_non_zero_flag、sv_x_sign、sv_x_abs_minus1确定,sv_y的值由语法元素sv_y_non_zero_flag,sv_y_sign、sv_y_abs_minus1确定。
串矢量历史索引sv_recent_idx[i]
当前编码单元第i部分的串矢量在预测运动矢量候选列表中的索引值SvRencentIdx[i]的值。
串矢量水平分量标志sv_x_non_zero_flag[i]
二值变量。值为‘0’表示当前编码单元第i部分的串矢量水平分量SvX[i]的值不等于0;值为‘1’表示SvX[i]的值等于0。SvXNonZeroFlag[i]等于sv_x_non_zero_flag[i]的值。如果位流中不存在sv_x_non_zero_flag[i],SvXNonZeroFlag的值为1。
串矢量垂直分量标志sv_y_non_zero_flag[i]
二值变量。值为‘0’表示当前编码单元第i部分的串矢量垂直分量SvY[i]的值不等于0;值为‘1’表示SvY[i]的值等于0。SvYNonZeroFlag[i]等于sv_y_non_zero_flag[i]的值。如果位流中不存在sv_y_non_zero_flag[i],SvYNonZeroFlag[i]的值为1。
串矢量水平分量符号位sv_x_sign[i]
二值变量。用于确定当前编码单元第i部分的串矢量水平分量的正负性。值为‘0’表示当前编码单元第i部分的串矢量水平分量SvX[i]是正数;值为‘1’表示SvX[i]是负数。SvXSign[i]等于sv_x_sign[i]的值。如果位流中不存在sv_x_sign[i],则SvXSign[i]的值为1。
串矢量垂直分量符号位sv_y_sign[i]
二值变量。用于确定当前编码单元第i部分的串矢量水平分量的正负性。值为‘0’表示当前编码单元第i部分的串矢量水平分量SvX[i]是正数;值为‘1’表示SvX[i]是负数。SvYSign[i]等于sv_y_sign[i]的值。如果位流中不存在sv_y_sign[i],则SvYSign[i]的值为1。
串矢量水平分量绝对值sv_x_abs_minus1[i]
当前编码单元第i部分的串位移水平分量的绝对值减1。SvXAbsMinus1[i]等于sv_x_abs_minus1[i]的值。如果位流中不存在sv_x_abs_minus1[i],则SvXAbsMinus1[i]的值为1。
串矢量垂直分量绝对值sv_y_abs_minus1[i]
当前编码单元第i部分的串位移垂直分量的绝对值减1。SvYAbsMinus1[i]等于sv_y_abs_minus1[i]的值。如果位流中不存在sv_y_abs_minus1[i],则SvYAbsMinus1[i]的值为1。
请参阅图7,图7是本申请的串编码技术的编码方法又一实施例的流程示意图。本方法又一实施例提供了一种基于串编码技术的编码方法,包括如下步骤:
S31:在像素级串预测模式下,获取运动搜索点信息。
运动搜索点信息包括级串当前图像块的级串空域相邻块的运动信息,和/或级串历史候选列表中的运动信息,和/或级串当前图像块的级串空域非相邻块的运动信息,和/或级串预设固定运动信息,和/或其他推导方式得到的运动信息。
本实施例通过建立一个像素级串预测模式下运动搜索点预测候选列表,首先获取运动搜索点信息,且获取运动搜索点信息的方式多样化,在大多数情况下,当前图像块的空域相邻块的运动信息与当前图像块的相关度更大,当然,在少数情况下,其他方式获得的运动信息的相关度更大,所以此处获取预测运动信息时,不单单仅选用历史候选列表中的运动信息。
S32:利用运动搜索点信息构建运动搜索点预测候选列表。
利用运动搜索点信息构建运动搜索点预测候选列表,运动搜索点预测候选列表包含的运动搜索点信息的数量在第二预定值以下。第二预定值大于等于零,第二预定值可与预测运动矢量候选列表的长度相同。
需要说明的是,运动搜索点预测候选列表可以是一个虚拟列表,用于像素级串预测模式下的SV。
获取的预测运动信息需全部查重或部分查重后逐个加入预测运动矢量候选列表。具体的全部查重或部分查重方法可以参考步骤S12,此处不再赘述。
S33:判断在运动搜索点预测候选列表和HASH值相同的点中进行运动搜索获取的最佳候选运动信息,与预测运动矢量候选列表中获取的预测运动信息是否相同。
运动搜索(搜索过程会搜索设置的所有运动搜索点SV、hash值相同的点,选择代价最小的SV)后获取最佳候选运动信息SV。判断最佳候选运动信息SV,与预测运动矢量候选列表中获取的预测运动信息SV是否相同。
S34:若相同,则编码预测运动信息的索引。
若相同,则只需要编码预测运动信息SV在预测运动矢量候选列表SVP中的索引index,进一步减少编码的比特数,提高编码压缩率。
S35:若不同,则直接编码最佳候选运动信息。
若不同,则直接编码最佳候选运动信息。
本实施例的方法可与上述任一实施例结合,或者单独实施,以提高基于串编码技术的编码方法的压缩率。
本申请的方法可用于SSC场景(屏幕内容,主要由计算机产生的图像)、自然图像场景、或混合场景。
请参阅图8,本申请又一实施例提供了一种基于串编码技术的编码装置40,包括获取模块41和处理模块42,以实现上述对应实施例的基于串编码技术的编码方法。具体地,获取模块41获取预测运动信息,预测运动信息包括当前图像块的空域相邻块的运动信息,和/或历史候选列表中的运动信息,和/或当前图像块的空域非相邻块的运动信息,和/或预设固定运动信息。处理模块42利用预测运动信息构建预测运动矢量候选列表,预测运动矢量候选列表包含的预测运动信息的数量在第一预定值以下。通过将获取预测运动信息的方式多样化,在大多数情况下,当前图像块的空域相邻块的运动信息与当前图像块的相关度更大,当然,在少数情况下,其他方式获得的运动信息的相关度更大,所以此处获取预测运动信息时,不单单仅选用历史候选列表中的运动信息。在预测运动矢量候选列表中加入相关度更大的预测运动信息,有助于提升编码的压缩率。
请参阅图9,本申请又一实施例提供了一种电子设备50,包括相互耦接的存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述任一实施例的基于串编码技术的编码方法。在一个具体的实施场景中,电子设备50可以包括但不限于:微型计算机、服务器,此外,电子设备50还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器52用于控制其自身以及存储器51以实现上述任一实施例的基于串编码技术的编码。处理器52还可以称为CPU(Central Processing Unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器52可以由集成电路芯片共同实现。
请参阅图10,本申请又一实施例提供了一种计算机可读存储介质60,其上存储有程序数据61,程序数据61被处理器执行时实现上述任一实施例的基于串编码技术的编码方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质60中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质60中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质60包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (9)
1.一种基于串编码技术的编码方法,其特征在于,所述方法包括:
获取预测运动信息,所述预测运动信息包括当前图像块的空域相邻块的运动信息,和历史候选列表中的运动信息,和/或当前图像块的空域非相邻块的运动信息,和/或预设固定运动信息;
利用所述预测运动信息构建预测运动矢量候选列表,所述预测运动矢量候选列表包含的所述预测运动信息的数量在第一预定值以下,所述预测运动矢量候选列表的长度设置为第一预定值;
在像素级串预测模式下,获取运动搜索点信息,利用运动搜索点信息构建运动搜索点预测候选列表,判断在所述运动搜索点预测候选列表和HASH值相同的点中进行运动搜索获取的最佳候选运动信息,与所述预测运动矢量候选列表中获取的预测运动信息是否相同;
若相同,则编码所述预测运动信息的索引;
若不同,则直接编码所述最佳候选运动信息。
2.根据权利要求1中所述的方法,其特征在于,所述利用所述预测运动信息构建预测运动矢量候选列表包括:
判断待加入所述预测运动矢量候选列表的所述预测运动信息,与已经位于所述预测运动矢量候选列表里的所有所述预测运动信息是否重复;
若不重复,则将所述预测运动信息加入所述预测运动矢量候选列表;或者,
判断待加入所述预测运动矢量候选列表的所述预测运动信息,与已经位于所述预测运动矢量候选列表里的预定位置的所述预测运动信息是否重复;
若不重复,则将所述预测运动信息加入所述预测运动矢量候选列表。
3.根据权利要求1中所述的方法,其特征在于,所述当前图像块的空域相邻块的运动信息包括:所述当前块的左下方相邻块、所述当前块的上右方相邻块、所述当前块的上右方右侧相邻块、所述当前块的左上方相邻块、所述当前块的左上方上侧相邻块中的一个或几个相邻块的运动信息。
4.根据权利要求1中所述的方法,其特征在于,所述当前图像块的空域非相邻块的运动信息包括:
所述当前块的左下方左侧相邻块、所述当前块的上右方上侧相邻块、所述当前块的上右方右上侧相邻块、所述当前块的左上方左侧相邻块、所述当前块的左上方上左侧相邻块中的一个或几个相邻块的运动信息。
5.根据权利要求1中所述的方法,其特征在于,所述方法包括:
在像素级串预测模式下,获取运动搜索点信息,所述运动搜索点信息包括所述当前图像块的所述空域相邻块的运动信息,和/或所述历史候选列表中的运动信息,和/或所述当前图像块的所述空域非相邻块的运动信息,和/或所述预设固定运动信息;
利用所述运动搜索点信息构建运动搜索点预测候选列表,所述运动搜索点预测候选列表包含的所述运动搜索点信息的数量在第二预定值以下。
6.根据权利要求1中所述的方法,其特征在于,所述方法可用于屏幕内容场景、自然图像场景、或混合场景。
7.根据权利要求1中所述的方法,其特征在于,所述方法包括:
获取级串类型句法元素;
判断所述级串类型句法元素是否代表CU级串;
若是,则利用运动矢量残差和预测运动信息的索引表达所述CU级串的运动信息;
若否,则所述级串类型句法元素代表像素级串,则利用预测运动信息的索引或最佳候选运动信息直接表达所述像素级串的运动信息。
8.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至7中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011113832.6A CN112218092B (zh) | 2020-10-17 | 2020-10-17 | 串编码技术的编码方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011113832.6A CN112218092B (zh) | 2020-10-17 | 2020-10-17 | 串编码技术的编码方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112218092A CN112218092A (zh) | 2021-01-12 |
CN112218092B true CN112218092B (zh) | 2022-09-06 |
Family
ID=74055680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011113832.6A Active CN112218092B (zh) | 2020-10-17 | 2020-10-17 | 串编码技术的编码方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112218092B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117528069A (zh) * | 2020-05-22 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 位移矢量预测方法、装置及设备 |
CN115086657A (zh) * | 2021-03-14 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
CN113365080B (zh) * | 2021-03-19 | 2023-02-28 | 浙江大华技术股份有限公司 | 串编码技术的编解码方法、设备及存储介质 |
CN113365074B (zh) * | 2021-06-07 | 2022-11-08 | 同济大学 | 限制点预测常现位置及其点矢量数目的编解码方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109429064A (zh) * | 2017-08-22 | 2019-03-05 | 华为技术有限公司 | 一种处理视频数据的方法和装置 |
CN110662028A (zh) * | 2018-06-30 | 2020-01-07 | 上海天荷电子信息有限公司 | 分层规定子集对编码参数进行编码的数据压缩方法和装置 |
CN110868613A (zh) * | 2018-08-28 | 2020-03-06 | 华为技术有限公司 | 基于历史候选列表的图像编码、解码方法以及编解码器 |
CN111050182A (zh) * | 2019-12-27 | 2020-04-21 | 浙江大华技术股份有限公司 | 运动矢量的预测方法、视频编码方法及相关设备、装置 |
WO2020133115A1 (zh) * | 2018-12-27 | 2020-07-02 | Oppo广东移动通信有限公司 | 编码预测方法、装置及计算机存储介质 |
-
2020
- 2020-10-17 CN CN202011113832.6A patent/CN112218092B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109429064A (zh) * | 2017-08-22 | 2019-03-05 | 华为技术有限公司 | 一种处理视频数据的方法和装置 |
CN110662028A (zh) * | 2018-06-30 | 2020-01-07 | 上海天荷电子信息有限公司 | 分层规定子集对编码参数进行编码的数据压缩方法和装置 |
CN110868613A (zh) * | 2018-08-28 | 2020-03-06 | 华为技术有限公司 | 基于历史候选列表的图像编码、解码方法以及编解码器 |
WO2020133115A1 (zh) * | 2018-12-27 | 2020-07-02 | Oppo广东移动通信有限公司 | 编码预测方法、装置及计算机存储介质 |
CN111050182A (zh) * | 2019-12-27 | 2020-04-21 | 浙江大华技术股份有限公司 | 运动矢量的预测方法、视频编码方法及相关设备、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112218092A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112218092B (zh) | 串编码技术的编码方法、设备及存储介质 | |
CN107347159B (zh) | 一种对视频位流进行编解码的方法、设备 | |
KR100714355B1 (ko) | 이미지 부호화 방법 및 이미지 부호기 | |
US20180227582A1 (en) | Method and apparatus for processing a video signal | |
CN101019437B (zh) | 基于帧内预测方向的h.264空间错误隐藏 | |
KR101808327B1 (ko) | 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치 | |
CN110087083B (zh) | 帧内色度预测模式的选择方法、图像处理设备及存储设备 | |
CN107431805B (zh) | 编码方法和装置以及解码方法和装置 | |
US10652541B2 (en) | Method and device for encoding video data | |
CN112073719B (zh) | 一种串匹配预测方法、装置、系统及计算机可读存储介质 | |
CN112055208B (zh) | 视频编码方法、设备及存储装置 | |
Fu et al. | Efficient depth intra frame coding in 3D-HEVC by corner points | |
CN113382249B (zh) | 图像/视频编码方法、装置、系统及计算机可读存储介质 | |
CN110213576B (zh) | 视频编码方法、视频编码装置、电子设备及存储介质 | |
CN111770334B (zh) | 数据编码方法及装置、数据解码方法及装置 | |
CN112565760B (zh) | 串编码技术的编码方法、设备及存储介质 | |
CN113365080B (zh) | 串编码技术的编解码方法、设备及存储介质 | |
CN112889280A (zh) | 用于数字图像/视频材料的编码和解码的方法和装置 | |
CN113347437B (zh) | 一种基于串预测的编码方法、编码器、解码器和存储介质 | |
CN112532974A (zh) | 串编码技术的编码方法、设备及存储介质 | |
NO20200708A1 (en) | Method, computer program and system for detecting changes and moving objects in a video view | |
US20230078064A1 (en) | Determining prediction samples of pixels based on color sampling mode of the picture block | |
CA2614571C (en) | A method for encoding images in a block-based manner employing block spatial prediction | |
CN115412727A (zh) | 编码方法、解码方法及其装置 | |
CN116156187A (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 |