Processing

Please wait...

Settings

Settings

Goto Application

1. WO2021056212 - METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43  

附图

1   2   3   4   5  

说明书

发明名称 : 视频编解码方法和装置

[0001]
版权申明
[0002]
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。

技术领域

[0003]
本申请涉及图像处理领域,并且更具体地,涉及一种视频编解码方法和装置。

背景技术

[0004]
预测是主流视频编码框架的重要模块,预测可以包括帧内预测和帧间预测。帧间预测模式可以包括高级运动向量预测(Advanced Motion Vector Prediction,AMVP)模式、合并(Merge)模式和Skip模式。在Merge模式中,可以在运动矢量的预测值(Motion Vector Prediction,MVP)候选列表中确定MVP,并直接将该MVP确定为MV,并可以在码流中传递MVP和参考帧索引至解码端,以用于解码端的解码。在Skip模式下,只需要传递MVP的索引,不需要传递MVD,也不需要传递残差。
[0005]
在构建上述运动矢量预测值的候选列表的过程中,在完成一个已编码或解码块的编码或解码时,利用该一个已编码或解码块的运动信息更新下一个待编码或解码块的运动矢量预测值列表。在对当前图像块或编码块的参考块进行像素插值时,往往依赖于读取运动矢量预测值的候选列表中的MVP以及其对应的插值滤波器,如此将使得相邻图像块所使用的运动矢量和对应的插值滤波器的依赖性较强。因此,现有技术中的编解码方式将导致编解码效率的降低,并造成编解码装置性能的损失。
[0006]
发明内容
[0007]
为了解决现有技术中存在技术问题,本申请实施例提供一种视频编解码 方法和装置,可以避免当前图像块过于依赖相邻块使用的插值滤波器,提高编解码效率。
[0008]
第一方面,提供了一种视频编解码方法,包括:对当前图像的图像块进行像素插值时可以使用至少两种插值滤波器中的一种进行像素插值,所述当前图像包括第一图像块和第二图像块;采用第一插值滤波器对所述第一图像块的参考块进行像素插值;采用默认插值滤波器对所述第二图像块的参考块进行像素插值,所述第一图像块为所述第二图像块的相邻块。
[0009]
第二方面,提供了一种视频编解码装置,所述视频编解码装置包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的所述指令,使得所述视频编解码方法,所述方法包括上述第一方面的方法中的操作。
[0010]
第三方面,提供一种视频编解码器,其包括上述第二方面的视频编解码装置,和本体,所述编解码器装置安装在所述本体上。
[0011]
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,该程序指令可以用于指示执行上述第一方面的方法。
[0012]
在本申请实施例中,采用第一插值滤波器对所述第一图像块的参考块进行像素插值;采用默认插值滤波器对所述第二图像块的参考块进行像素插值,所述第一图像块为所述第二图像块的相邻块,第二图像块的参考块在插值的过程中,采用了默认插值滤波器,其并未继承或读取第一图像块使用的插值滤波器,降低其对于第一图像块编解码的依赖,因此,在编解码的过程中提升了编解码效率,并提高了编解码装置性能。

附图说明

[0013]
下面将对实施例中所需要使用的附图作简单地介绍。
[0014]
图1是根据本申请实施例的技术方案的架构图。
[0015]
图2是根据本申请实施例的视频编码框架2示意图。
[0016]
图3是根据本申请实施例的图像块的相邻块的示意性图。
[0017]
图4是根据本申请实施例的视频编解码方法的示意性流程图。
[0018]
图5是根据本申请实施例的视频编解码装置的示意性框图。

具体实施方式

[0019]
下面对本申请实施例中的技术方案进行描述。
[0020]
除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。
[0021]
图1是应用本申请实施例的技术方案的架构图。
[0022]
如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后的数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本申请实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器、解码器或编解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本申请实施例的技术方案的计算机可执行指令、待处理数据102、处理后的数据108等。该存储器可以为任意种类的存储器,本申请实施例对此也不做限定。
[0023]
待编码数据可以包括文本、图像、图形对象、动画序列、音频、视频、或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风、近场传感器(例如,超声波传感器、雷达)、位置传感器、温度传感器、触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征、指纹扫描、视网膜扫描、嗓音记录、DNA采样等。
[0024]
图2是根据本申请实施例的视频编码框架2示意图。如图2所示,在接收待编码视频后,从待编码视频的第一帧开始,依次对待编码视频中的每一帧进行编码。其中,当前编码帧主要经过:预测(Prediction)、变换(Transform)、量化(Quantization)和熵编码(Entropy Coding)等处理,最终输出当前编码帧的码流。对应的,解码过程通常是按照上述过程的逆过程对接收到的码流进行解码,以恢复出解码前的视频帧信息。
[0025]
具体地,如图2所示,所述视频编码框架2中包括一个编码控制模块201, 用于进行编码过程中的决策控制动作,以及参数的选择。例如,如图2所示,编码控制模块202控制变换、量化、反量化、反变换的中用到的参数,控制进行帧内或者帧间模式的选择,以及运动估计和滤波的参数控制,且编码控制模块202的控制参数也将输入至熵编码模块中,进行编码形成编码码流中的一部分。
[0026]
对当前编码帧开始编码时,对编码帧进行划分202处理,具体地,首先对其进行条带(slice)划分,再进行块划分。可选地,在一个示例中,编码帧划分为多个互不重叠的最大的编码树单元(Coding Tree Unit,CTU),各CTU还可以分别按四叉树、或二叉树、或三叉树的方式迭代划分为一系列更小的编码单元(Coding Unit,CU),一些示例中,CU还可以包含与之相关联的预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU),其中PU为预测的基本单元,TU为变换和量化的基本单元。一些示例中,PU和TU分别是在CU的基础上划分成一个或多个块得到的,其中一个PU包含多个预测块(Prediction Block,PB)以及相关语法元素。一些示例中,PU和TU可以是相同的,或者,是由CU通过不同的划分方法得到的。一些示例中,CU、PU和TU中的至少两种是相同的,例如,不区分CU、PU和TU,全部是以CU为单位进行预测、量化和变换。为方便描述,下文中将CTU、CU或者其它形成的数据单元均称为编码块。
[0027]
应理解,在本申请实施例中,视频编码针对的数据单元可以为帧,条带,编码树单元,编码单元,编码块或以上任一种的组。在不同的实施例中,数据单元的大小可以变化。
[0028]
具体地,如图2所示,编码帧划分为多个编码块后,进行预测过程,用于去除当前编码帧的空域和时域冗余信息。当前比较常用的预测编码方法包括帧内预测和帧间预测两种方法。帧内预测仅利用本帧图像中己重建的信息对当前编码块进行预测,而帧间预测会利用到之前已经重建过的其它帧图像(也被称作参考帧)中的信息对当前编码块进行预测。具体地,在本申请实施例中,编码控制模块202用于决策选择帧内预测或者帧间预测。
[0029]
当选择帧内预测模式时,帧内预测203的过程包括获取当前编码块周围已编码相邻块的重建块作为参考块,基于该参考块的像素值,采用预测模式方法计算预测值生成预测块,将当前编码块与预测块的相应像素值相减得到 当前编码块的残差,当前编码块的残差经过变换204、量化205以及熵编码210后形成当前编码块的码流。进一步的,当前编码帧的全部编码块经过上述编码过程后,形成编码帧的编码码流中的一部分。此外,帧内预测203中产生的控制和参考数据也经过熵编码210编码,形成编码码流中的一部分。
[0030]
具体地,变换204用于去除图像块的残差的相关性,以便提高编码效率。对于当前编码块残差数据的变换通常采用二维离散余弦变换(Discrete Cosine Transform,DCT)变换和二维离散正弦变换(Discrete Sine Transform,DST)变换,例如在编码端将编码块的残差信息分别与一个N×M的变换矩阵及其转置矩阵相乘,相乘之后得到当前编码块的变换系数。
[0031]
在产生变换系数之后用量化205进一步提高压缩效率,变换系数经量化可以得到量化后的系数,然后将量化后的系数进行熵编码210得到当前编码块的残差码流,其中,熵编码方法包括但不限于内容自适应二进制算术编码(Context Adaptive Binary Arithmetic Coding,CABAC)熵编码。
[0032]
具体地,帧内预测203过程中的已编码相邻块为:当前编码块编码之前,已进行编码的相邻块,该相邻块的编码过程中产生的残差经过变换204、量化205、反量化206、和反变换207后,与该相邻块的预测块相加得到的重建块。对应的,反量化206和反变换207为量化206和变换204的逆过程,用于恢复量化和变换前的残差数据。
[0033]
如图2所示,当选择帧间预测模式时,帧间预测过程包括运动估计(Motion Estimation,ME)208和运动补偿(Motion Compensation,MC)209。具体地,根据重建视频帧中的参考帧图像进行运动估计208,在一张或多张参考帧图像中根据一定的匹配准则搜索到与当前编码块最相似的图像块为匹配块,该匹配块与当前编码块的相对位移即为当前编码块的运动矢量(Motion Vector,MV)。然后基于该运动矢量和参考帧对当前编码块进行运动补偿209,获得当前编码块的预测块。并将该编码块像素的原始值与对应的预测块像素值相减得到编码块的残差。当前编码块的残差经过变换204、量化205以及熵编码210后形成编码帧的编码码流中的一部分。此外,运动补偿209中产生的控制和参考数据也经过熵编码210编码,形成编码码流中的一部分。
[0034]
其中,如图2所示,重建视频帧为经过滤波211之后得到视频帧。滤波 211用于减少编码过程中产生的块效应和振铃效应等压缩失真,重建视频帧在编码过程中用于为帧间预测提供参考帧,在解码过程中,重建视频帧经过后处理后输出为最终的解码视频。
[0035]
视频编码标准中的帧间预测模式可以包括AMVP模式、Merge模式和Skip模式。
[0036]
对于AMVP模式而言,可以先确定MVP,在得到MVP之后,可以根据MVP确定运动估计的起始点,在起始点附近,进行运动搜索,搜索完毕之后得到最优的MV,由MV确定参考块在参考图像中的位置,参考块减去当前块得到残差块,MV减去MVP得到运动矢量差值(Motion Vector Difference,MVD),并将该MVD通过码流传输给解码端。
[0037]
对于Merge模式而言,可以先确定MVP,并直接将MVP确定为MV。其中,为了得到MVP,可以先构建一个MVP候选列表(merge candidate list),在MVP候选列表中,可以包括至少一个候选MVP,每个候选MVP可以对应有一个索引,编码端在从MVP候选列表中选择MVP之后,可以将该MVP索引写入到码流中,则解码端可以按照该索引从MVP候选列表中找到该索引对应的MVP,以实现对图像块的解码。
[0038]
其中,Merge模式的MVP候选列表的建立可以参考图3所示。该MVP候选列表可以包括时域候选运动矢量、空域候选运动矢量、成对平均(pairwise)运动矢量或零运动矢量。其中,pairwise运动矢量可以基于候选列表中已有的运动矢量进行平均或者加权平均获得。空域候选运动矢量从图3中1~5的灰色方框所在位置获取,时域候选运动矢量从当前CU临近已编码图像中同位CU获取,与空域情况不同,时域候选运动矢量不能直接使用候选块的运动信息,而需要根据参考图像的位置关系做相应的比例伸缩调整,具体伸缩方式此处不再赘述。
[0039]
对于Skip模式而言,它是一种特殊的merge模式,只需要传递MVP的索引。而且除了不需要传递MVD信息之外,也不需要传残差。
[0040]
Skip模式是Merge模式的一种特例。按照Merge模式得到MV之后,如果编码器确定当前块和参考块基本一样,那么不需要传输残差数据,只需要传递MV的索引,以及进一步地可以传递一个标志,该标志可以表明当前 块可以直接从参考块得到。
[0041]
也就是说,Merge模式特点为:MV=MVP(MVD=0);而Skip模式还多一个特点,即:重构值rec=预测值pred(残差值resi=0)。
[0042]
在运动估计的过程,由于自然物体运动的连续性,物体在相邻两帧之间的运动矢量不一定刚好是整数个像素单位。为了提高运动矢量的精确程度,在HEVC中对亮度分量的运动估计采用1/4像素精度的运动矢量。但是在数字视频中并不存在分数像素处的样值,一般来说,为了实现1/K像素精度估计,必须将这些分像素点的值近似内插出来,也就是对参考帧的行方向和列方向进行K倍内插,在插值之后的图像中进行搜索。
[0043]
当前视频编码参考架构中,普通AMVP模式设置了四种自适应运动矢量精度(Advanced Motion Vector Resolution,AMVR)的精度(整像素、4像素,1/4像素和1/2精度),需要说明的是,这些AMVR的精度仅仅作为示例,本申请实施例对像素精度的值不做具体限定,例如,还可以有1/8像素、1/16像素等,这里以整像素、4像素、1/4像素、1/2像素为例进行阐述。对于每一个采用AMVR技术的CU(有些情况下可能CU不采用AMVR),在编码端自适应地决策其对应的MV精度(整像素、4像素或1/4像素或1/2像素),并将决策的结果写进码流传递到解码端。
[0044]
不同AMVR精度的插值滤波器对应的抽头数量可能不同。例如,对于1/4像素精度,采用八抽头插值滤波器。对于1/2像素采用高斯插值滤波器(六抽头插值滤波器)。由于采用的插值滤波器不同,在进行运动矢量存储的时候,需要将当前CU使用的插值滤波器存储下来。作为一种示例,该插值滤波器可以用1比特(bit)来表示。当使用高斯滤波器(六抽头插值滤波器)时存储为1,不使用高斯滤波器则存储为0。后面的CU在参考之前已编码CU时,需要根据这个插值滤波器的标识位来决定当前CU使用的插值滤波器。这里,当前CU使用的插值滤波器可以理解为在对当前CU的参考块进行像素插值时使用的插值滤波器。下文中提到的图像块使用的插值滤波器可以理解为在对该图像块的参考块进行像素插值时使用的插值滤波器。
[0045]
对于Merge模式,由于MVP候选列表构建的过程中需要用到空域相邻块和时域相邻块的MV信息,因此在每一个CU完成编码后,需要将其最终使用的MV存储下来,便于后续MV的参考,MV会存储MV矢量的数值、 参考帧的索引、当前CU的预测模式等等信息。并且,当前块在做运动补偿时,是完全继承相邻块的MV及其对应的插值滤波器的。因此,在每一个CU完成编码后,还需要将当前CU使用的插值滤波器存储下来。具体存储方式也可以是用1比特的标识位进行存储,存储方式可参考前述描述,此处不再赘述。
[0046]
例如,当前块从运动矢量候选列表中选择的最优MV为时域MV,假设为MV0,且该MV0对应的插值滤波器的标识位为0,则表示当前块的时域相邻块在做运动补偿时,是利用高斯滤波器对其参考块进行像素插值的。那么,当前块利用MV0从参考帧中找到当前块的参考块后,也会利用高斯滤波器,即6抽头插值滤波器对其参考块进行像素插值,对像素进行插值之后,得到当前块的预测块。参考块减去当前块就可以得到残差块。
[0047]
通过上述描述可知,当前块在做运动补偿时,是完全继承相邻块的MV及其对应的插值滤波器的,使得相邻图像块所使用的插值滤波器的依赖性较强。这种编解码方式将导致编解码效率的降低,并造成编解码装置性能的损失。此外,由于在每个CU在完成编码之后,都需要将其使用的插值滤波器进行存储,占用了存储资源,并且在编解码的过程中,CU的数量是非常庞大的,对每个CU都要存储插值滤波器的标识所需的存储开销会很大,这对硬件的要求会非常高。
[0048]
为解决这一问题,本申请实施例提供的以下方案,可以降低其对于相邻块编解码过程的依赖,进而在编解码的过程中提升了编解码效率,并提高了编解码装置性能。并且,可以节省存储开销。
[0049]
本申请中所称的对图像块进行像素插值,是指对图像块的参考块进行像素插值,在其过程中所使用的插值滤波器,是采用插值滤波器对图像块的参考块进行像素插值。
[0050]
图4是根据本申请实施例的视频编解码方法400的示意性流程图。该方法400包括以下内容中的至少部分内容。其中,以下的方法400可以用于编码端,也可以用于解码端。
[0051]
在410中,对当前图像的图像块进行像素插值时可以使用至少两种插值滤波器中的一种进行像素插值,当前图像包括第一图像块和第二图像块;
[0052]
在420中,采用第一插值滤波器对第一图像块的参考块进行像素插值; 采用默认插值滤波器对第二图像块的参考块进行像素插值,第一图像块为第二图像块的相邻块。
[0053]
需要说明的是,在本申请中提及的图像块使用的插值滤波器可以理解为,在对该图像块的参考块进行像素插值时所采用/使用的插值滤波器。
[0054]
在本申请的实施例中,在对第二图像块的参考块进行像素插值时,不继承相邻块的插值滤波器,而是采用默认插值滤波器对第二图像块的参考块进行像素插值。
[0055]
并且需要指出的是,当前图像中的图像块在进行像素插值时总共有至少两种插值滤波器可供选择使用,例如至少包括6抽头的插值滤波器和8抽头的插值滤波器。示例性地,不同的像素精度也可以对应不同抽头的插值滤波器。以AMVR精度的插值滤波器为例,对于1/4像素精度,采用八抽头插值滤波器。对于1/2像素采用高斯插值滤波器(六抽头插值滤波器)。上述对应关系仅为示例性表示,并不构成对本申请的限定。
[0056]
在本申请实施例中,在对第一图像块进行编解码后,并不存储当前CU所使用的插值滤波器,并且不设置标识位,后面的CU在参考之前已编码的CU时,不需要根据这个插值滤波器的标识位来决定当前CU使用的插值滤波器,而是直接采用默认的插值滤波器。
[0057]
示例性地,第二图像块的参考块进行像素插值采用的像素精度是亚像素级别的。
[0058]
示例性地,对第二图像块的参考块进行像素插值采用的像素精度是1/2像素精度。对第二图像块的参考块进行像素插值采用的像素精度是1/2像素精度仅为示例性地描述,本申请的其他实施方式中可以采用其他像素精度,如1/4像素精度、1/8像素精度等等。
[0059]
虽然上述示例性地表述了第二图像块为亚像素精度级别的情况,但是本申请所示出的实施例也可以应用于整像素精度的像素插值。
[0060]
示例性地,第一图像块为第二图像块的时域相邻块。比如,第一图像块位于参考帧上,第二图像块位于当前帧上,第一图像块和第二图像块之间的相关预测为帧间预测,帧间预测的方向可以为前向预测、后向预测、双向预测等。前向预测是利用前一重构帧(“历史帧”)对当前帧进行预测。后 向预测是利用当前帧之后的帧(“将来帧”)对当前帧进行预测。双向预测是不仅利用“历史帧”也利用“将来帧”对当前帧进行预测。本申请并不限于上述三种预测方式的任何一种。当第一图像块和第二图像块为时域相邻块时,时域候选列表从当前CU临近已编码图像中同位CU获取,时域候选列表不能直接使用候选块的运动信息,而需要根据参考图像的位置关系做相应的比例伸缩调整,具体伸缩方式此处不再赘述。
[0061]
双向预测模式属于双运动矢量模式中的一种。双运动矢量模式包括双前向预测模式、双后向预测模式和双向预测模式。双前向预测模式包括两个前向运动矢量,双后向预测模式包括两个后向运动矢量。其中,双向预测模式包括前向预测模式和后向预测模式。
[0062]
示例性地,第一图像块为第二图像块的空域相邻块。比如,第一图像块和第二图像块均位于当前帧上。
[0063]
当第一图像块和第二图像块为空域相邻块时,例如,在Merge模式中,会为当前编码单元构建一个运动矢量候选列表,如图3所示,在merge模式下的空域候选列表从图中1~5的方框所在位置获取。
[0064]
可选的,第一图像块使用的第一插值滤波器为默认插值滤波器或非默认插值滤波器。在本申请中,第一图像块可以是merge模式、AMVP模式或Skip模式。当第一图像块为merge模式或Skip模式时,第一插值滤波器即为默认插值滤波器。当第一图像块为AMVP模式时,则第一插值滤波器为实际选择确定的插值滤波器。示例性地,在进行AMVR实际选择的像素精度是1/2像素精度,则使用6抽头插值滤波器,如果实际选择的像素精度为1/4像素精度,则使用8抽头插值滤波器。当决策出其他像素精度,则可对应选择其他的插值滤波器。
[0065]
示例性地,默认插值滤波器为默认抽头数量的插值滤波器。在该实施方式中,默认插值滤波器是指默认抽头数量的插值滤波器,示例性地,默认抽头数量的插值滤波器包括6抽头插值滤波器或8抽头插值滤波器。本申请实施例中的6抽头和8抽头仅作为一种举例,并不构成对默认插值滤波器的限定。
[0066]
示例性的,默认插值滤波器为默认权重值的插值滤波器。对于权重值的理解,以下给出解释。以1/2像素精度的6抽头插值滤波器为例,需要对参 考块中每2个整像素点之间插值1个亚像素点,该亚像素点即为1/2像素点。由于该1/2像素点上不存在像素值,则需要用到该1/2像素点左边的6个整像素点和右边的6个整像素点的像素值计算该1/2像素点的像素值。假设该1/2像素点的像素值的计算公式为q=round((–A0+4*A1–10*A2+58*A3+17*A4–5*A5+A6)/B)。其中,其中对于不同的整像素点,其分别示出了权重值,权重值是指A0~A6前方所给出的数值,其代表该像素点对于最终计算结果所给出的权重值,可见,对于不同的像素点,其权重值已经确定为具体数值,并且该具体数值可以通过设置或者通过默认数值来确定。
[0067]
上述示例仅为理解本申请实施例的默认插值滤波器所提供,并不构成对本申请实施例的限定。
[0068]
可选的,第一图像块可以采用Merge预测模式或Skip模式。
[0069]
示例性地,采用默认插值滤波器对第二图像块的参考块进行像素插值之前,还包括:获取运动矢量候选列表;从运动矢量候选列表中选择运动矢量;根据运动矢量从参考帧中确定第二图像块的参考块;采用默认插值滤波器对第二图像块的参考块进行像素插值之后,还包括:根据参考块经像素插值后的参考块和第二图像块确定残差。
[0070]
示例性地,在采用第一插值滤波器对第一图像块的参考块进行像素插值后,不对第一图像块的参考块采用的第一插值滤波器的标识进行存储。
[0071]
示例性地,在采用默认插值滤波器对第二图像块的参考块进行像素插值后,不对第二图像块的参考块采用的默认插值滤波器的标识进行存储。
[0072]
在前文的实施例中,仅以第一图像块和第二图像块两个图像为例进行了描述,然而在具体的编解码过程中,对于所有图像块进行编解码时,或者对于任意的图像块进行编解码时,均不对其采用的插值滤波器的标识进行存储。示例性的,当前块不管采用的是帧间预测模式下的哪一种,例如AMVP、merge或skip等等,均不对其使用的插值滤波器的标识进行存储。
[0073]
由此可见,上述编解码方法可以降低其对于相邻块编解码过程的依赖,进而在编解码的过程中提升了编解码效率,并提高了编解码装置性能。并且,由于不对插值滤波器的类型进行存储,因此可以节省硬件存储资源。
[0074]
上述实施例是以所有块均不存储插值滤波器的类型进行描述的,在其他可选的实施例中,可以只针对空域MV存储其对应的插值滤波器,而对于时 域MV则不存储其对应的插值滤波器。
[0075]
示例性地,在采用第一插值滤波器对第一图像块的参考块进行像素插值后,对第一图像块的参考块采用的第一插值滤波器的标识进行空域存储。本申请中所示出的进行空域存储,就是指在空域MV信息的buffer中,存当前块的参考块采用的插值滤波器的标识位。这种情况下,在对当前块的参考块进行像素插值时,可以直接从buffer中读取空域MV对应的插值滤波器的类型。
[0076]
示例性地,在采用第一插值滤波器对第一图像块的参考块进行像素插值后,不对第一图像块的参考块采用的第一插值滤波器的标识进行时域存储。本申请中所示出的进行时域存储,就是指在时域MV信息的buffer中,并不存储当前块的参考块采用的插值滤波器的标识位。这种情况下,在对当前块的参考块进行像素插值时,不需要从时域MV对应的buffer中读取时域MV对应的插值滤波器的类型,而是直接使用默认插值滤波器。
[0077]
本实施例中,只针对空域MV存储其对应的插值滤波器,而对于时域MV则不存储其对应的插值滤波器,是因为时域存储时存储的是整帧图像的信息,存储的压力较大,因此,可以只针对空域MV存储其对应的插值滤波器,而对于时域MV则不存储其对应的插值滤波器,如此也可以缓解一部分存储压力。后续CU在进行运动搜索时,如果从运动矢量候选列表中选择的最优MV是时域MV,则直接采用默认插值滤波器对其参考块进行像素插值。如果从运动矢量候选列表中选择的最优MV是空域MV,则仍然利用该空域MV对应的插值滤波器对其参考块进行像素插值。
[0078]
在另一种可选的实施例中,对于空域MV和时域MV,均不存储其对应的插值滤波器,后续CU在进行运动搜索时,直接采用默认插值滤波器对其参考块进行像素插值。如此可以降低对硬件的存储开销。节约了流程,提升了编解码效率,并提高了编解码装置性能。
[0079]
在又一种可选的实施例中,只针对时域MV存储其对应的插值滤波器,而对于空域MV则不存储其对应的插值滤波器,由于时域MV的存储也会占用存储空间,导致存储压力的增加,因此,可以只针对时域MV存储其对应的插值滤波器,而对于空域MV则不存储其对应的插值滤波器,如此也可以缓解一部分存储压力。后续CU在进行运动搜索时,如果从运动矢量候选列 表中选择的最优MV是空域MV,则直接采用默认插值滤波器对其参考块进行像素插值。如果从运动矢量候选列表中选择的最优MV是时域MV,则仍然利用该时域MV对应的插值滤波器对其参考块进行像素插值。
[0080]
示例性地,运动矢量候选列表中不包含第一图像块的参考块采用的第一插值滤波器的标识。在本申请示出的实施方式中,无需获得第一图像块的参考块采用的第一插值滤波器的标识,直接采用默认插值滤波器,如此可以节省存储空间,保证编码性能。
[0081]
示例性地,运动矢量候选列表包括空域候选运动矢量、时域候选运动矢量、基于历史信息的候选运动矢量、成对候选运动矢量中的一种或多种,其中,成对候选运动矢量是空域候选运动矢量、时域候选运动矢量或基于历史信息的候选运动矢量中的一种或多种确定。例如,成对候选运动矢量是基于空域候选运动矢量和/或时域候选运动矢量的均值/加权均值确定的。
[0082]
示例性地,针对亮度模式,采用默认插值滤波器对第二图像块的参考块进行像素插值。本申请示出的实施方式可以工作在亮度模式下。
[0083]
示例性地,针对色度模式,采用默认插值滤波器对第二图像块的参考块进行像素插值。本申请示出的实施方式可以工作在色度模式下。
[0084]
应理解,本申请实施例的方案可以不限于用于以上提到的AMVP模式、Merge模式或Skip模式,还可以用于其他的编解码模式,也就是说可以适用于编解码过程中采用了插值滤波器信息存储的任何编解码模式。
[0085]
还应理解,本申请实施例的方案可以降低其对于相邻块编解码过程的依赖,进而在编解码的过程中提升了编解码效率,并提高了编解码装置性能,从而可以用于图像块进行编解码的场景,但应理解,本申请实施例还可以用于编解码处理的场景,也就是降低系统的存储压力可以作为它用。
[0086]
图5示出了本申请实施例的视频编解码装置500的示意性框图。
[0087]
如图5所示,该视频编解码装置500可以包括处理器510,进一步地可以包括存储器520。
[0088]
应理解,该视频编解码装置500还可以包括其他视频编解码装置中通常所包括的部件,例如,输入输出设备、通信接口等,本申请实施例对此并不限定。
[0089]
存储器520用于存储计算机可执行指令。
[0090]
存储器520可以是各种种类的存储器,例如可以包括高速随机存取存储器(Random Access Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本申请实施例对此并不限定。
[0091]
处理器510用于访问该存储器520,并执行该计算机可执行指令,以进行上述本申请实施例的用于视频处理的方法中的操作。
[0092]
处理器510可以包括微处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(Graphics Processing Unit,GPU)等,本申请实施例对此并不限定。
[0093]
本申请实施例的用于视频处理的设备和计算机系统可对应于本申请实施例的用于视频处理的方法的执行主体,并且用于视频处理的设备和计算机系统中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
[0094]
应理解,该视频处理器可以实现以上方法实施例中由编解码装置实现的相应操作。所述视频编码器还可以包括:本体,所述编码器装置安装在所述本体上。
[0095]
示例性地,所述本体包括手机、相机或无人机中的至少一种。
[0096]
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,该程序指令可以用于指示执行上述本申请实施例的环路滤波的方法。
[0097]
应理解,在本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0098]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超 出本申请的范围。
[0099]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0100]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0101]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
[0102]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0103]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序指令的介质。
[0104]
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易 想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

权利要求书

[权利要求 1]
一种视频编解码方法,其特征在于,包括: 对当前图像的图像块进行像素插值时可以使用至少两种插值滤波器中的一种进行像素插值,所述当前图像包括第一图像块和第二图像块; 采用第一插值滤波器对所述第一图像块的参考块进行像素插值; 采用默认插值滤波器对所述第二图像块的参考块进行像素插值,所述第一图像块为所述第二图像块的相邻块。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,对所述第二图像块的参考块进行像素插值采用的像素精度是亚像素级别的。
[权利要求 3]
根据权利要求1或2所述的方法,其特征在于,对所述第二图像块的参考块进行像素插值采用的像素精度是1/2像素精度。
[权利要求 4]
根据权利要求1至3任一项所述的方法,其特征在于,所述第一图像块为所述第二图像块的时域相邻块。
[权利要求 5]
根据权利要求1至3任一项所述的方法,其特征在于,所述第一图像块为所述第二图像块的空域相邻块。
[权利要求 6]
根据权利要求1至5任一项所述的方法,其特征在于,所述默认插值滤波器为默认抽头数量的插值滤波器。
[权利要求 7]
根据权利要求1至6任一项所述的方法,其特征在于,所述第一插值滤波器为所述默认插值滤波器或非默认插值滤波器。
[权利要求 8]
根据权利要求6所述的方法,其特征在于,所述默认抽头数量的插值滤波器包括6抽头插值滤波器或8抽头插值滤波器。
[权利要求 9]
根据权利要求1至8任一项所述的方法,其特征在于,所述第二图像块采用Merge预测模式或Skip模式。
[权利要求 10]
根据权利要求1至8任一项所述的方法,其特征在于,所述第一图像块采用AMVP预测模式或Merge预测模式或Skip模式。
[权利要求 11]
根据权利要求7所述的方法,其特征在于,所述采用默认插值滤波器对所述第二图像块的参考块进行像素插值之前,还包括: 获取运动矢量候选列表; 从所述运动矢量候选列表中选择运动矢量; 根据所述运动矢量从参考帧中确定所述第二图像块的参考块; 采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值之后,还包括: 根据所述参考块经像素插值后的参考块和所述第二图像块确定残差。
[权利要求 12]
根据权利要求1至11任一项所述的方法,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,不对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行存储。
[权利要求 13]
根据权利要求1至12任一项所述的方法,其特征在于,在采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值后,不对所述第二图像块的参考块采用的所述默认插值滤波器的标识进行存储。
[权利要求 14]
根据权利要求1至13任一项所述的方法,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,不对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行时域存储。
[权利要求 15]
根据权利要求12所述的方法,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行空域存储。
[权利要求 16]
根据权利要求12所述的方法,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,不对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行空域存储。
[权利要求 17]
根据权利要求11所述的方法,其特征在于,所述运动矢量候选列表中不包含所述第一图像块的参考块采用的所述第一插值滤波器的标识。
[权利要求 18]
根据权利要求11所述的方法,其特征在于,所述运动矢量候选列表包括空域候选运动矢量、时域候选运动矢量、基于历史信息的候选运动矢量、成对候选运动矢量或零运动矢量中的一种或多种,其中,所述成对候选运动矢量是所述空域候选运动矢量、所述时域候选运动矢量或所述基于历史信息的候选运动矢量中的一种或多种确定的。
[权利要求 19]
根据权利要求1至18任一项所述的方法,其特征在于,针对亮度模式,采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值。
[权利要求 20]
根据权利要求1至18任一项所述的方法,其特征在于,针对色度模式,采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值。
[权利要求 21]
一种视频编解码装置,其特征在于,所述视频编解码装置包括: 存储器,用于存储可执行指令; 处理器,用于执行所述存储器中存储的所述指令,使得所述视频编解码方法,所述方法包括: 对当前图像的图像块进行像素插值时可以使用至少两种插值滤波器中的一种进行像素插值,所述当前图像包括第一图像块和第二图像块; 采用第一插值滤波器对所述第一图像块的参考块进行像素插值; 采用默认插值滤波器对所述第二图像块的参考块进行像素插值,所述第一图像块为所述第二图像块的相邻块。
[权利要求 22]
根据权利要求21所述的视频编解码装置,其特征在于,对所述第二图像块的参考块进行像素插值采用的像素精度是亚像素级别的。
[权利要求 23]
根据权利要求21或22所述的视频编解码装置,其特征在于,对所述第二图像块的参考块进行像素插值采用的像素精度是1/2像素精度。
[权利要求 24]
根据权利要求21至23任一项所述的视频编解码装置,其特征在于,所述第一图像块为所述第二图像块的时域相邻块。
[权利要求 25]
根据权利要求21至23任一项所述的视频编解码装置,其特征在于,所述第一图像块为所述第二图像块的空域相邻块。
[权利要求 26]
根据权利要求21至25任一项所述的视频编解码装置,其特征在于,所述默认插值滤波器为默认抽头数量的插值滤波器。
[权利要求 27]
根据权利要求21至26任一项所述的视频编解码装置,其特征在于,所述第一插值滤波器为所述默认插值滤波器或非默认插值滤波器。
[权利要求 28]
根据权利要求26所述的视频编解码装置,其特征在于,所述默认抽头数量的插值滤波器包括6抽头插值滤波器或8抽头插值滤波器。
[权利要求 29]
根据权利要求21至28任一项所述的视频编解码装置,其特征在于,所述第二图像块采用Merge预测模式或Skip模式。
[权利要求 30]
根据权利要求21至28任一项所述的视频编解码装置,其特征在于,所述第一图像块采用AMVP预测模式或Merge预测模式或Skip模式。
[权利要求 31]
根据权利要求27所述的视频编解码装置,其特征在于,所述采用默认插值滤波器对所述第二图像块的参考块进行像素插值之前,还包括: 获取运动矢量候选列表; 从所述运动矢量候选列表中选择运动矢量; 根据所述运动矢量从参考帧中确定所述第二图像块的参考块; 采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值之后,还包括: 根据所述参考块经像素插值后的参考块和所述第二图像块确定残差。
[权利要求 32]
根据权利要求21至31任一项所述的视频编解码装置,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,不对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行存储。
[权利要求 33]
根据权利要求21至32任一项所述的视频编解码装置,其特征在于,在采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值后,不对所述第二图像块的参考块采用的所述默认插值滤波器的标识进行存储。
[权利要求 34]
根据权利要求21至33任一项所述的视频编解码装置,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,不对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行时域存储。
[权利要求 35]
根据权利要求32所述的视频编解码装置,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行空域存储。
[权利要求 36]
根据权利要求32所述的视频编解码装置,其特征在于,在采用所述第一插值滤波器对所述第一图像块的参考块进行像素插值后,不对所述第一图像块的参考块采用的所述第一插值滤波器的标识进行空域存储。
[权利要求 37]
根据权利要求31所述的视频编解码装置,其特征在于,所述运动矢量候选列表中不包含所述第一图像块的参考块采用的所述第一插值滤波器的标识。
[权利要求 38]
根据权利要求31所述的视频编解码装置,其特征在于,所述运动矢量候选列表包括空域候选运动矢量、时域候选运动矢量、基于历史信息的候选运动矢量、成对候选运动矢量或零运动矢量中的一种或多种,其中,所述成对候选运动矢量是所述空域候选运动矢量、所述时域候选运动矢量或所述基于历史信息的候选运动矢量中的一种或多种确定的。
[权利要求 39]
根据权利要求21至38任一项所述的视频编解码装置,其特征在于, 针对亮度模式,采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值。
[权利要求 40]
根据权利要求21至38任一项所述的视频编解码装置,其特征在于,针对色度模式,采用所述默认插值滤波器对所述第二图像块的参考块进行像素插值。
[权利要求 41]
一种视频编解码器,其特征在于,包括: 权利要求21至40任一项所述的视频编解码装置;和 本体,所述编解码器装置安装在所述本体上。
[权利要求 42]
根据权利要求41所述的视频编解码器,其特征在于,所述本体包括手机、相机或无人机中的至少一种。
[权利要求 43]
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至20中任一项所述的视频编解码方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]