串编码技术的编码方法、设备及存储介质

文档序号:882753 发布日期:2021-03-19 浏览:1次 >En<

阅读说明:本技术 串编码技术的编码方法、设备及存储介质 (Encoding method, apparatus and storage medium for string encoding technique ) 是由 方诚 江东 陈秀丽 林聚财 殷俊 于 2020-11-24 设计创作,主要内容包括:本申请公开基于串编码技术的编码方法、设备及存储介质。其中,基于串编码技术的编码方法包括:根据预测模式句法元素判断当前模式是否为预定模式;若是,则利用预测运动矢量候选列表中的预测运动信息,计算出代价值最小的最佳预测运动信息,利用所述最佳预测运动信息对像素串的运动信息进行编码;若否,则利用最佳运动信息在预测运动矢量候选列表中的索引和矢量残差,对所述像素串的运动信息进行编码。通过在预测模式句法元素代表预定模式时,引入新的SP模式,无需再同时编码最佳预测运动信息的index和矢量残差SVD,仅需利用所述最佳预测运动信息编码像素串,有效减少编码比特数,提高视频编码压缩率。(The application discloses a coding method, a device and a storage medium based on a string coding technology. The encoding method based on the string encoding technology comprises the following steps: judging whether the current mode is a preset mode or not according to the syntax element of the prediction mode; if so, calculating the optimal predicted motion information with the minimum cost value by using the predicted motion information in the predicted motion vector candidate list, and encoding the motion information of the pixel string by using the optimal predicted motion information; and if not, encoding the motion information of the pixel string by using the index of the optimal motion information in the predicted motion vector candidate list and the vector residual error. By introducing a new SP mode when the syntax element of the prediction mode represents a preset mode, the index and the vector residual SVD of the optimal prediction motion information do not need to be coded at the same time, and only the pixel string needs to be coded by using the optimal prediction motion information, so that the coding bit number is effectively reduced, and the video coding compression rate is improved.)

串编码技术的编码方法、设备及存储介质

技术领域

本申请属于视频编码技术领域,具体涉及串编码技术的编码方法、设备及存储介质。

背景技术

视频图像数据量比较大,通常需要对视频像素数据(RGB、YUV等)其进行压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。整个视频编码流程包括预测、变换、量化、编码等过程。

SP技术(串匹配预测技术)是一种独立的预测技术,针对的是图像内不同区域却有相同图像内容的情况。当前块内连续的n个(n>=1)像素称为一个串,当前块内可以有若干个不同的串,每个串都有自己的一个SV(串矢量),SV指向空域上之前的已编码像素(参考像素)。若当前块内有像素不能成串,则直接编码该像素值。然而目前SP技术存在压缩率低的问题。

发明内容

本申请提供串编码技术的编码方法、设备及存储介质,以进一步提高sp技术的压缩率。

为解决上述技术问题,本申请采用的一个技术方案是:一种基于串编码技术的编码方法,所述方法包括:根据预测模式句法元素判断当前模式是否为预定模式;若是,则利用预测运动矢量候选列表中的预测运动信息,计算出代价值最小的最佳预测运动信息,利用所述最佳预测运动信息对像素串的运动信息进行编码;若否,则利用最佳运动信息在预测运动矢量候选列表中的索引和矢量残差,对所述像素串的运动信息进行编码。

根据本申请一实施方式,所述利用所述最佳预测运动信息对像素串的运动信息进行编码,包括:直接利用所述最佳预测运动信息在所述预测运动矢量候选列表中的索引,对所述像素串的运动信息进行编码;或者,判断所述最佳预测运动信息是否为预设运动信息;若是,则利用所述预设运动信息对应句法元素对所述像素串的运动信息进行编码;或者,直接利用所述预设运动信息的值对所述像素串的运动信息进行编码;若否,则利用所述最佳预测运动信息在所述预测运动矢量候选列表中的索引,对所述像素串的运动信息进行编码。

根据本申请一实施方式,所述方法包括:计算预定模式的代价值;响应于预定模式的代价值小于预定值,所述预测模式句法元素代表预定模式。

为解决上述技术问题,本申请采用的又一个技术方案是:一种基于串编码技术的编码方法,所述方法包括:根据矢量残差句法元素判断矢量残差是否为零矢量;若是,则所述矢量残差为零矢量,即最佳运动信息与预测运动信息相同,利用所述预测运动信息在预测运动矢量候选列表中的索引,对像素串的运动信息进行编码;若否,则矢量残差不为零矢量,即所述最佳运动信息与所述预测运动信息不同,利用所述预测运动信息在所述预测运动矢量候选列表中的索引和所述矢量残差,对所述像素串的运动信息进行编码。

根据本申请一实施方式,所述方法还包括:获取预测运动信息,所述预测运动信息包括当前图像块的空域相邻块的运动信息,和/或历史候选列表中的运动信息,和/或当前图像块的空域非相邻块的运动信息,和/或预设固定运动信息;利用所述预测运动信息构建预测运动矢量候选列表,所述预测运动矢量候选列表包含的所述预测运动信息的数量在第一预定值以下,即所述预测运动矢量候选列表的长度设置为第一预定值。

根据本申请一实施方式,所述利用所述预测运动信息构建预测运动矢量候选列表包括:判断待加入所述预测运动矢量候选列表的所述预测运动信息,与已经位于所述预测运动矢量候选列表里的所有所述预测运动信息是否重复;若不重复,则将所述预测运动信息加入所述预测运动矢量候选列表;或者,判断待加入所述预测运动矢量候选列表的所述预测运动信息,与已经位于所述预测运动矢量候选列表里的预定位置的所述预测运动信息是否重复;若不重复,则将所述预测运动信息加入所述预测运动矢量候选列表。

根据本申请一实施方式,所述当前图像块的空域相邻块的运动信息包括:所述当前块的左下方相邻块、所述当前块的上右方相邻块、所述当前块的上右方右侧相邻块、所述当前块的左上方相邻块、所述当前块的左上方上侧相邻块中的一个或几个相邻块的运动信息。

根据本申请一实施方式,所述当前图像块的空域非相邻块的运动信息包括:所述当前块的左下方左侧相邻块、所述当前块的上右方上侧相邻块、所述当前块的上右方右上侧相邻块、所述当前块的左上方左侧相邻块、所述当前块的左上方上左侧相邻块中的一个或几个相邻块的运动信息。

根据本申请一实施方式,所述方法可用于屏幕内容场景、自然图像场景、或混合场景。

为解决上述技术问题,本申请采用的又一个技术方案是:一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述任一方法。

为解决上述技术问题,本申请采用的又一个技术方案是:一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述任一方法。

本申请的有益效果是:通过在预测模式句法元素代表预定模式时,引入新的SP模式,无需再同时编码最佳预测运动信息的index和矢量残差SVD,仅需编码最佳预测运动信息的index,或者预设运动信息对应句法元素编码,或者预设运动信息的值,有效减少编码比特数,提高视频编码压缩率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:

图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预测技术模式下在构建预测运动矢量候选列表后,现有SP预测技术中会存在很多像素串的最佳运动信息SV都在该候选列表内的情况,此时运动信息SV仍然需要用该列表中的index和矢量残差SVD两部分来表达,编码比特数多,编码的压缩率低。

所以本实施例中,采用一个矢量残差句法元素来代表矢量残差。

在一实施例中,矢量残差句法元素包括isc_mode_is_merge_flag,根据矢量残差句法元素判断矢量残差是否为零矢量包括:

判断isc_mode_is_cu_string_flag是否为1。

S22:若是,则矢量残差为零矢量,利用预测运动信息在预测运动矢量候选列表中的索引,对像素串的运动信息进行编码。

若矢量残差句法元素代表矢量残差为零矢量,即矢量残差为(0,0),矢量残差句法元素isc_mode_is_cu_string_flag为1。则说明最佳运动信息SV与预测运动信息相同,即最佳运动信息SV在预测运动矢量候选列表内。此时,利用预测运动信息在预测运动矢量候选列表中的索引index,对像素串的运动信息进行编码,无需再编码矢量残差SVD,减少编码比特数,提高视频编码压缩率。

S23:若否,则矢量残差不为零矢量,利用预测运动信息在预测运动矢量候选列表中的索引和矢量残差,对像素串的运动信息进行编码。

若否,即矢量残差句法元素isc_mode_is_cu_string_flag为0,矢量残差不为零矢量,仍然利用预测运动信息在预测运动矢量候选列表中的索引和矢量残差,对像素串的运动信息进行编码。

需要说明的是,目前,在运动矢量的表达过程中最佳运动信息SV与预测运动信息相同的情况占大多数。且本实施例中的预测运动矢量候选列表可采用上述实施例中的方法获得,预测运动矢量候选列表中的预测运动信息相关度更大,最佳运动信息SV与预测运动信息相同概率进一步提升,采用本实施例的方法,可有效减少编码比特数,提高视频编码压缩率。

本实施例的方法可与上述实施例结合,或者单独实施,以提高基于串编码技术的编码方法的压缩率。

请参阅图7,图7是本申请的串编码技术的编码方法又一实施例的流程示意图。本方法又一实施例提供了一种基于串编码技术的编码方法,包括如下步骤:

S31:根据预测模式句法元素判断当前模式是否为预定模式。

在一实施例中,预测模式句法元素包括isc_mode_is_merge_flag。,在其他实施例中,还可以采用其他句法元素。

本申请提出了一种新的SP技术,具体地,可以用预测模式句法元素isc_mode_is_merge_flag为1表示。在其他实施例中,可以用其他值表示。

在一实施例中,根据预测模式句法元素判断当前模式是否为预定模式包括:判断预测模式句法元素isc_mode_is_merge_flag是否为1。

S32:若是,则利用预测运动矢量候选列表中的预测运动信息,计算出代价值最小的最佳预测运动信息,利用最佳预测运动信息对像素串的运动信息进行编码。

若是,则预测模式句法元素isc_mode_is_merge_flag为1,则可利用预定模式,即新的SP技术进行预测,不再进行运动搜索,利用预测运动矢量候选列表中的预测运动信息,计算预测运动信息中代价值最小的最佳预测运动信息,利用最佳预测运动信息对像素串的运动信息进行编码。

其中,利用最佳预测运动信息对像素串的运动信息进行编码可以有两种方式:

第一种,选出最佳预测运动信息后,直接利用最佳预测运动信息在预测运动矢量候选列表中的索引,对像素串的运动信息进行编码。由于不再进行运动搜索,编码速率提升,并且,直接利用最佳预测运动信息的index值,对像素串的运动信息进行编码,有效减少编码比特数,提高视频编码压缩率。

第二种,预测运动矢量候选列表中有少数预设运动信息,这些预设运动信息有各自特殊的对应句法元素。所以需要先判断最佳预测运动信息是否为预设运动信息,若是预设运动信息,则利用预设运动信息对应句法元素对像素串的运动信息进行编码;或者,直接利用预设运动信息的值对像素串的运动信息进行编码。若不是预设运动信息,则直接利用最佳预测运动信息的index值,对像素串的运动信息进行编码。

同样地,第二种方法也无需再同时编码最佳预测运动信息的index和矢量残差SVD,仅需编码最佳预测运动信息的index,或者预设运动信息对应句法元素,或者预设运动信息的值。有效减少编码比特数,提高视频编码压缩率。

预设运动信息可能为预测运动矢量候选列表中的(0,-1),当然还可能为其他预测运动信息。

S34:若否,则利用最佳运动信息在预测运动矢量候选列表中的索引和矢量残差,对像素串的运动信息进行编码。

若否,则预测模式句法元素isc_mode_is_merge_flag为0,即预测模式句法元素不代表预定模式。不采用新的SP技术,而是直接利用现有模式,利用最佳运动信息在预测运动矢量候选列表中的索引和矢量残差SVD,对像素串的运动信息进行编码。当然,在矢量残差SVD为零矢量时,可以仅利用最佳运动信息在预测运动矢量候选列表中的索引,对像素串的运动信息进行编码。

需要说明的是,本实施例中的预测模式句法元素是否表达预定模式(是否为1)可以通过比较预定模式的代价值决定,响应于预定模式的代价值小于预定值,预测模式句法元素代表预定模式。具体地,预定值为现有SP模式的代价值,可以比较预定模式代价值是否小于现有SP模式的代价值,若小于,则可以使用本实施例中新的SP模式,若大于则仍然使用现有SP模式。当然,预定值还可以为具体代价值数值,为一个经过大量实验确定的经验值。

本实施例的方法可与上述任一实施例结合,或者单独实施,以提高基于串编码技术的编码方法的压缩率。

本申请的方法可用于SSC场景(屏幕内容,主要由计算机产生的图像)、自然图像场景、或混合场景(SCC+自然图像)。

以下结合一具体实施方式说明:

在AVS3标准技术中,采用方案2句法元素的修改如下表所示:

表1串复制帧内预测定义

新增一些句法元素后,新增预测模式句法元素的描述如下:

串预测Merge模式isc_mode_is_merge_flag[i]

二值变量。值为‘1’表示当前编码单元第i部分的串预测模式为Merge模式,采用步骤S33。值为‘0’表示当前编码单元第i部分的串预测模式为非Merge模式,采用步骤S34。

请参阅图8,本申请又一实施例提供了一种基于串编码技术的编码装置40,包括获取模块41和处理模块42,以实现上述对应实施例的基于串编码技术的编码方法。

具体地,判断模块41根据预测模式句法元素判断当前模式是否为预定模式;若是,则处理模块42利用预测运动矢量候选列表中的预测运动信息,计算出代价值最小的最佳预测运动信息,利用最佳预测运动信息对像素串的运动信息进行编码;若否,则处理模块42利用最佳运动信息在预测运动矢量候选列表中的索引和矢量残差,对像素串的运动信息进行编码。由于采用预定模式时,无需再同时编码最佳预测运动信息的index和矢量残差SVD,仅需编码最佳预测运动信息的index,或者预设运动信息对应句法元素编码,或者预设运动信息的值,有效减少编码比特数,提高视频编码压缩率。

或者,判断模块41根据矢量残差句法元素判断矢量残差是否为零矢量;若是,则矢量残差为零矢量,即最佳运动信息与预测运动信息相同,处理模块42利用预测运动信息在预测运动矢量候选列表中的索引,对像素串的运动信息进行编码;若否,则矢量残差不为零矢量,即最佳运动信息与预测运动信息不同,处理模块42利用预测运动信息在预测运动矢量候选列表中的索引和矢量残差,对像素串的运动信息进行编码。通过当矢量残差SVD为零矢量时,利用预测运动信息在预测运动矢量候选列表中的索引index,对像素串的运动信息进行编码,无需再编码矢量残差SVD,减少编码比特数,提高视频编码压缩率。

请参阅图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)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频编码方法、装置、计算机设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类