参考帧编解码的方法与装置与流程

文档序号:11157569阅读:1296来源:国知局
参考帧编解码的方法与装置与制造工艺

本发明涉及视频图像处理领域,尤其涉及参考帧编解码的方法与装置。



背景技术:

数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频会议装置、视频流装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频编解码(AVC)、ITU-TH.265高效率视频编解码(HEVC)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,从而更高效地发射及接收数字视频信息。视频装置可通过实施这些视频编解码技术来更高效地发射、接收、编码、解码和/或存储数字视频信息。

在视频编解码领域中,帧的概念是指一副完整的图像,由一帧一帧的图像按照一定的次序和帧速率组成视频格式后即可播放。当帧速率达到一定的速度后,两帧之间的间隔时间小于人眼的分辨极限,会出现短暂的视觉停留,方才能看似动态的出现在屏幕上。视频文件能够实现压缩的基础是单帧数字图像的压缩编码,数字化后的图像中存在很多的重复表示信息,称之为冗余信息。一帧图像中往往存有许多空间结构相同或相似的地方,例如同一物体或背景中的采样点颜色之间大都存在着紧密关联性和相似性。在多帧图像组中,一帧图像和其前一帧或后一帧基本上都有巨大的相关性,描述信息的像素值差别很小,这些都是可以被压缩的部分。同样的道理,视频文件中不但存在着空间冗余信息,而且包含大量的时间冗余信息,这是由视频的组成结构导致的。例如,视频采样的帧速率一般为25帧/秒至30帧/秒,特殊情况中会出现60帧/秒的可能。也就是说,相邻两帧间的采样时间间隔至少为1/30秒到1/25秒。在这么短的时间内,采样得到的图像画面中基本上 都存在大量的相似信息,画面之间存在巨大关联性。但是在原始的数字视频录入系统中是各自独立的记录,没有考虑和利用到这些连贯相似特性,这就造成了相当巨大的重复多余的数据量。另外,已通过研究表明,从人眼的视觉敏感度这一心理特性的角度出发,视频信息中也是存在可以用来压缩的部分,即视觉冗余。所谓视觉冗余,是指利用人眼对亮度变化比较敏感,而对色度的变化相对不敏感的胜利特性来适当的压缩视频比特流。在高亮度的区域,人眼视觉对亮度变化的敏感度呈现下降趋势,转而对物体的边缘处较为敏感,内部区域相对不敏感;对整体结构较为敏感,对内部细节变换相对不敏感。因为视频图像信息的最终服务对象是我们人类群体,所以可以充分利用人眼的这些特性对原有的视频图像信息进行压缩处理,达到更佳的压缩效果。除了上面提到的空间冗余、时间冗余和视觉冗余外,视频图像信息中还会存在信息熵冗余、结构冗余、知识冗余、重要性冗余等等这一系列的冗余信息。视频压缩编码的目的就是使用各种技术方法将视频序列中的冗余信息去除掉,以达到减小存储空间和节省传输带宽的效果。

就目前的技术发展现状而言,视频压缩处理技术主要包括帧内预测、帧间预测、变换量化、熵编码以及消块滤波处理等。在国际通用范围内,存在的视频压缩编码标准中主流的压缩编码方式主要有四种:色度抽样、预测编码、变换编码和量化编码。

色度抽样:此方式充分利用了人眼的视觉心理特点,从底层的数据表示中就开始设法最大限度的缩减单个元素描述的数据量。在电视系统中多数采用的是亮度-色度-色度(YUV)颜色编码,它是欧洲电视系统广泛采用的标准。YUV颜色空间中包括一个亮度信号Y和两个色差信号U和V,三个分量彼此独立。YUV颜色模式彼此分开的表示方式更加灵活,传输占用带宽少,比传统的红绿蓝(RGB)色彩模型更具优势。例如,YUV 4:2:0形式表示两色度分量U和V在水平方向和垂直方向上都只有亮度Y分量的一半,即4个采样像素点中存在4个亮度分量Y,而色度分量U和V则只有一个。这样表示时,数据量进一步缩小,仅为原始的33%左右。利用人眼生理视觉特性,通过这种色度抽样的方式实现视频压缩的目的,是目前广泛采用的视频数据压缩方式之一。

预测编码:即利用之前已编码帧的数据信息来预测当前将要编码的帧。通过预测得到一个预测值,它不完全等同与实际值,之间存在着一定的残差 值。如果预测越适合,则预测值就会越接近实际值,残差值就越小,这样对残差值进行编码就能大大减小数据量,在解码端解码时运用残差值加上预测值还原重构出初始图像,这就是预测编码的基本思想方法。在主流编码标准中预测编码分为帧内预测和帧间预测两种基本类型。

变换编码:是不直接对原本的空间域信息进行编码,而是将信息采样值按照某种形式的变换函数,从当前域转换到另外一种人为定义域中(通常称为变换域),再根据信息在变换域的分布特性进行压缩编码。变换编码的原因是:视频图像数据往往在空间域的数据相关性大,导致大量冗余信息的存在,直接编码需要很大的比特量。而在变换域中数据相关性则大大减少,使得编码的冗余信息减少,编码所需的数据量也随之大大减少,这样就能够得到较高的压缩比,而且可以实现较好的压缩效果。典型的变换编码有卡洛(K-L)变换、傅立叶变换等。整数离散余弦变换(DCT)是许多国际标准中都普遍采用的变换编码方式。

量化编码:上述提到的变换编码其实本身并不压缩数据,量化过程才是压缩数据的有力手段,也是有损压缩中数据“损失”的主要原因。量化的过程就是将动态范围较大的输入值强行规划成较少的输出值的过程。因为量化输入值范围较大,需要较多的比特数表示,而“强行规划”后的输出值范围较小,从而只需要少量的比特数即可表示。每个量化输入被归一化到一个量化输出,即量化到某个数量级中,这些数量级通常被称之为量化级(通常由编码器规定)。

在基于混合编码架构的编码算法中,上述压缩编码方式被混合使用,编码器控制模块根据视频帧中不同图像块的局部特性,选择该图像块所采用的编码模式。对帧内预测编码的块进行频域或空域预测,对帧间预测编码的块进行运动补偿预测,预测的残差再通过变换和量化处理形成残差系数,最后通过熵编码器生成最终的码流。为避免预测误差的累积,帧内或帧间预测的参考信号是通过编码端的解码模块得到。变换和量化后的残差系数经过反量化和反变换重建残差信号,再与预测的参考信号相加得到重建的图像。环路滤波会对重建后的图像进行像素修正,提高重建图像的编码质量。



技术实现要素:

本发明公开了一种提高编码效率的参考帧的编解码的方法。

运动补偿是视频编码中提高压缩效率最关键的技术之一。传统的基于块匹配的运动补偿是主流的视频编码器,特别是视频编码标准中,广泛采用的一种方法。在基于块匹配的运动补偿方法中,一个帧间预测块采用的是平移的运动模型,其假设一个块中所有像素位置上的运动向量相等。然而,这种假设在很多情况下并不成立。现实视频中物体的运动经常是平移、旋转、缩放等运动的复杂组合。若一个像素块中含有这些复杂的运动,则传统的基于块匹配的运动补偿方法得到的预测信号就不够准确,因此不能够充分去除帧间相关性。为了解决这个问题,高阶运动模型被引入到视频编码的运动补偿中。相比于平移运动模型,高阶运动模型的自由度更大,允许一个帧间预测块中的每个像素的运动向量各不相同,即高阶运动模型产生的运动矢量场具有更好的精度。

基于控制点描述的仿射运动模型是高阶运动模型中比较有代表性的一种。与传统的平移运动模型不同,块中各个像素点的运动向量的值与其所在位置有关,是坐标位置的一阶线性方程。仿射运动模型允许参考块经过旋转、缩放等扭曲变换,在运动补偿时可以得到更精确的预测块。

仿射模式可以更好的提高预测块的精度值,提高编码的效率,但是另一方面,相对于基于平移运动模型的统一的运动信息,需要花费更多的码率编码各个控制点的运动信息,同时,由于候选预测模式的增加,用来编码预测模式选择结果的码率也在增加。这些额外的码率消耗,都影响了编码效率的提高。

在本发明的第一个方面,公开了一种参考帧的解码方法,具体包括:

在解码端解码接收到的视频码流,从而解码重建出图像帧的过程中,需要已经完成解码重建的图像帧作为当前待解码帧的参考帧,当前待解码帧参考所述的参考帧完成解码重建。并非所有的解码重建后的图像帧都被用来作为当前待解码帧的参考帧,只用存储于参考帧列表中的解码重建后的图像参考帧才会被作为参考帧供当前待解码帧选择使用,这些参考帧列表中的参考帧,也被称为当前待解码帧的候选参考帧。参考帧列表也随着待解码帧的解码完成而更新。在一些实施例中,待解码帧在完成解码重建后会加入参考帧列表,作为后续待解码帧的参考帧。

不妨设当前的待解码帧已经完成解码重建,可选的,可以对所述解码重建后的图像帧做像素插值,所述像素插值的方法,包括单帧的图像分像素插 值以及多帧的运动估计插值,目的都在于提高该解码重建后图像作为参考图像在运动估计时的精准度,不作限定。不妨将所述解码重建帧或者像素插值后的解码重建帧称为第一参考帧。

解析码流中的映射参数。一般的,映射参数的个数不小于2个。映射参数在编码端编入码流,通过编解码端共同遵守的操作规范,解码端以与编码端的编码方式相对应的解码方式,从码流中解析这些映射参数。

应理解,这些映射参数是以帧级的方式传递的,可以在图像参数集(PPS,picture parameter set)中传递,也可以在条带头(slice header),或作为其它帧级语法元素传递,不作限定。

根据经验或者试验数据,预先设置一种映射函数,这种映射函数反映了待生成的参考帧,不妨称为第二参考帧,上的任意一点与第一参考帧上的像素单元的位置映射关系。在一些实施例中,映射函数的输出为目标像素单元的位置,输入为源像素单元的位置和待定参数。因此,结合从码流中获得的映射参数,可以建立表征第二参考帧上的任意一点与第一参考帧上的像素单元的位置映射关系的映射函数。

应理解,像素单元,可以为一个像素点,或者若干在平面位置上相邻的像素点的集合,比如一个2x2像素点的集合,不作限定,对应的,像素单元的位置,可以以它的左上角的像素点或者像素集合中心位置的像素点,或者预置的任意像素点的位置来表示。在本发明实施例中,像素单元的坐标位置一般指像素单元左上角的像素点的坐标位置。

在映射函数的推导下,第二参考帧上的每一点都可以找到其在第一参考帧中的映射点,并获取所述映射点的像素值作为自己的像素值。当第二参考帧中的每一点都完成这一步骤时,第二参考帧就生成了。应理解,像素单元作为一个整体参与所述的映射点的确定过程,映射点的像素单元中的各个像素点的像素值位置对应地赋予第二参考帧中映射的像素单元的各个像素点。

在一个实施例中,上文所述的映射函数为x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y为源像素单元的横、纵坐标,x′,y′为与所述源像素单元x,y具有所述映射关系的目标像素单元的横、纵坐标,m0,m1,m2,m3,m4,m5为所述映射参数;对应的,所述根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有映射关系的第一像素单元,包括:在所述第一参考帧中,所述第一像素单元的 位置为x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y为所述第二像素单元的横、纵坐标,x′,y′为与所述第二像素单元具有所述映射关系的所述第一像素单元的横、纵坐标。应理解,在本实施例中,采用了6参数的映射函数。申请号为CN201010247275.7、CN201410584175.1、CN201410526608.8、CN201510085362.X、PCT/CN2015/073969、CN201510249484.8、CN201510391765.7、CN201510543542.8等专利申请,上述文件的全部内容以引用的方式并入本文中,披露了采用其他参数的映射函数,比如2参数、4参数、8参数等,不作限定。应理解,所述从码流中解析的映射参数的个数应该与对应的映射函数所需要的待定系数的个数相一致。

生成的第二参考帧只有加入参考帧列表中才能够被后续的待解码帧所选择使用,高效地设计参考帧列表的组成策略可以提高编码效率,反之,如果选择不合适的参考帧加入到参考帧列表中,则会降低编码效率。

在一个实施例中,将解码重建后的图像帧和第二参考帧以相邻的位置关系加入到参考帧列表中。

在一个实施例中,仅将第二参考帧加入到参考帧列表中。

在一个实施例中,根据本发明第一方面的方法,相对于多个解码重建后的图像帧,一般的,个数不少于两个,不妨以两个举例,生成第二参考帧和第四参考帧。将第二参考帧和第四参考帧的对应像素单元加权相加,获得新的参考帧,不妨称为第五参考帧。应理解,这里的加权相加,可以根据参考帧的不同质量,不同可靠性等指标来设置权值,不作限定。举例性的,可以将第二参考帧和第四参考帧的对应像素单元计算均值。将解码重建后的图像帧或者第五参考帧加入到参考帧列表中,也可以将它们同时加入到参考帧列表中。

在一个实施例中,任取第一参考帧中的一个区域,示例性的,可以取整个第一参考帧,则所述区域以第一参考帧四个顶点为顶点的矩阵,也可以在第一参考帧中随意获取任意形状的区域,不作限定。不妨将整个第一参考帧所覆盖的区域称为第一区域。按照本发明第一方面中的映射函数,计算出这四个第一区域的顶点在第二参考帧中对应的四个散点的位置。依照第一区域四个顶点的连接关系,连接四个散点,从而在第二参考帧中圈出一片区域,这个被圈出的区域不妨设为第二区域。在坐标平面位置关系上,在第一区域和第二区域所覆盖的范围内存在重叠的部分和不重叠的部分。重叠的部分被 称为第一区域和第二区域的交集。所述第一区域与所述第二区域范围内但不重叠的部分连同交集部分被称为第一区域和第二区域的并集。计算上述交集面积和并集面积的比值,当比值小于预设值时,将所述第二参考帧加入所述参考帧列表;否则,将解码重建后的图像帧加入所述参考帧列表。应理解,本方案的目的是为了判断解码重建后的图像帧和第二参考帧的差别,当差别较小时将解码重建后的图像帧加入所述参考帧列表,差别较大时将第二参考帧加入所述参考帧列表。为达到此目的,在实现手段上,不作限定。

在一个实施例中,将前一个实施例中的解码重建后的图像帧和第二参考帧均加入所述参考帧列表。对于后续的待解码帧,和前一个实施例中的所述第一区域和第二区域的交集的平面位置相一致,对应的,对待解码帧划分为对应交集内的区域和对应交集外的区域。在第一种示例性的实施方式中,待解码帧中对应交集内的区域的像素单元可以参考参考帧列表中所有解码重建后的图像帧,而不能参考参考帧列表中的第二参考帧;待解码帧中对应交集外的区域的像素单元可以参考参考帧列表中所有解码重建后的图像帧,也可以参考参考帧列表中的第二参考帧。在第二种示例性的实施方式中,待解码帧中对应交集内的区域的像素单元可以参考参考帧列表中所有解码重建后的图像帧,而不能参考参考帧列表中的第二参考帧;待解码帧中对应交集外的区域的像素单元不可以参考参考帧列表中所有解码重建后的图像帧,可以参考参考帧列表中的第二参考帧。

相对于前述引文中申请号为CN201010247275.7等专利提到的方法,本发明仅在帧级传递少量映射参数,丰富了参考帧的选择,使参考帧更接近于实际帧,使通过参考帧进行的预测更准确,提高了编码效率。

在本发明的第二个方面,公开了另一种参考帧的解码方法,具体包括:

在当前待解码帧解码重建以后,处理参考帧列表之前。首先,解码码流中的指示信息,所述指示信息表明是否仅使用解码重建后的图像帧作为参考帧,即不考虑本发明第一方面所提出的方法所生成的参考帧。如果指示信息表明仅使用解码重建后的图像帧作为参考帧,则仅使用解码重建后的图像帧作为参考帧,否则,使用本发明第一方面以及各实施例所述的方法生成的参考帧作为参考帧。

应理解,所述指示信息是以帧级的方式传递的,可以在图像参数集(PPS,picture parameter set)中传递,也可以在条带头(slice header),或作 为其它帧级语法元素传递,不作限定。

作为一种可选的实施方式,还可以在序列级传递指示信息,比如序列参数集(SPS,sequence parameter set),来指示整个所属的序列是否仅使用解码重建后的图像帧作为参考帧,进一步地,还可以指示序列中每一帧的构建参考帧的信息。示例性的,指示一个帧号4,代表只有第四帧将按照本发明第一方面以及各实施例所述的方法生成的参考帧加入参考帧列表,或者示例性的,指示一个011101的二进制序列,代表序列中每一帧的加入参考帧列表的帧的构建方式的情况。

由于源视频内容的多样性,对于某些视频内容仅使用解码重建后的图像帧作为参考帧即可达到良好的编码效果。通过指示信息,预先知晓是否需要生成本发明第一方面所提出的方法所生成的参考帧,可以降低方案的复杂度。

在本发明的第三个方面,公开了一种参考帧的编码方法,具体包括:

取得当前待编码的原始图像帧和此时参考帧序列中的一帧候选参考帧。分别提取所述原始图像帧和取得的候选参考帧的特征点。特征点的提取和匹配有多种方法,包括图像的视觉特征,统计特征,变换系数特征,代数特征等,相对应的,特征提取方法,包括主分量分析法、支持向量机等等,文献《图像特征提取方法的研究》(数字对象统一标示符(GOI):CNKI:CDMD:2.2007.058439)全文引入于此,文中第一章和第二章对图像特征及提取方法做了举例性的描述,对于本发明实施例采用的特征点提取和匹配的方法,不作限定。一般的,预置的映射函数与本发明第一方面所使用的映射函数一致,第一特征点集合中的若干特征点和其映射的第二特征集合中的相同数量的特征点,可以互为本发明第一方面所公开的映射函数的源像素单元和目标像素单元,从而计算出映射参数。与本发明第一方面的解析码流中的映射参数对应的,将上述计算出的映射参数编入码流。由于编码端和解码端的参考帧列表要保持一致。因此,和解码端进行相同的操作,编码端也基于当前编码重建完成的图像帧,可选的,可以对所述编码重建后的图像帧做像素插值,以及上述提到的映射函数,在编码端生成类似于本发明第一方面中第二参考帧的参考帧。可在本发明第一方面中实施的各解码端实施例,对应的,同样可以在本发明的第三方面中的编码端实施。

相对于前述引文中申请号为CN201010247275.7等专利提到的方法,本发明仅在帧级传递少量映射参数,丰富了参考帧的选择,使参考帧更接近于实 际帧,使通过参考帧进行的预测更准确,提高了编码效率。

在本发明的第四个方面,公开了另一种参考帧的编码方法,具体包括:

在当前待编码帧编码重建以后,处理参考帧列表之前。分别按照本发明第三方面所提出的方法所生成的参考帧和使用解码重建后的图像帧作为参考帧测试编码性能。应理解,上述测试编码性能是编码质量-编码代价(distortion-rate)选择的过程,可以按照精确的编码质量和编码比特数进行比较,也可以使用简化的方式进行比较,比如只考察编码比特数的多少等,不作限定。如果使用本发明第三方面所提出的方法所生成的参考帧能够获得更高的编码性能,则按照本发明第三方面及各个实施例的方法进行编码,并把选择信息,与本发明第二方面中解析码流中的指示信息对应的,编入码流,否则,则按照用解码重建后的图像帧作为参考帧进行编码,同样需要把选择信息,与本发明第二方面中解析码流中的指示信息对应的,编入码流。

应理解,所述选择信息是以帧级的方式传递的,可以在图像参数集(PPS,picture parameter set)中传递,也可以在条带头(slice header),或作为其它帧级语法元素传递,不作限定。

与解码端的实现方式相对应的,还可以在序列级编码指示信息,比如序列参数集(SPS,sequence parameter set),来指示整个所属的序列是否仅使用解码重建后的图像帧作为参考帧,进一步地,还可以指示序列中每一帧的构建参考帧的信息。示例性的,指示一个帧号4,代表只有第四帧将按照本发明第一方面以及各实施例所述的方法生成的参考帧加入参考帧列表,或者示例性的,指示一个011101的二进制序列,代表序列中每一帧的加入参考帧列表的帧的构建方式的情况。

由于源视频内容的多样性,对于某些视频内容仅使用编码重建后的图像帧作为参考帧即可达到良好的编码效果。通过选择信息,预先通知解码端是否需要生成本发明第三方面所提出的方法所生成的参考帧,可以降低方案的复杂度。

在本发明的第五个方面,公开了一种参考帧的解码装置,包括:

第一获取模块,用于获取第一参考帧,所述第一参考帧为解码重建后的第一图像帧或所述第一图像帧通过像素插值获得的第一插值图像帧;

解析模块,用于解析码流中的映射参数;

第二获取模块,用于根据所述映射参数,确定预置的映射函数的待定系 数;

第三获取模块,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有映射关系的第一像素单元;

赋值模块,用于将所述第一像素单元的像素值赋予所述第二像素单元。

在本发明的第六个方面,公开了另一种参考帧的解码装置,包括:

第一解析模块,用于解析码流中的指示信息;

选择模块,用于当所述指示信息指示不基于解码重建后的图像帧构建其它参考帧时,将所述解码重建后的图像帧作为所述参考帧,否则使用下述方法获得参考帧;

第一获取模块,用于获取第一参考帧,所述第一参考帧为所述解码重建后的图像帧或所述图像帧通过像素插值获得的插值图像帧;

第二解析模块,用于解析码流中的映射参数;

第二获取模块,用于根据所述映射参数,确定预置的映射函数的待定系数;

第三获取模块,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有映射关系的第一像素单元;

赋值模块,用于将所述第一像素单元的像素值赋予所述第二像素单元。

在本发明的第七个方面,公开了一种参考帧的编码装置,包括:

第一获取模块,用于获取待编码图像帧和所述待编码图像帧对应的编码重建后的图像帧的候选参考帧;

第二获取模块,用于分别提取所述待编码图像帧的第一特征点的集合和所述候选参考帧的第二特征点的集合;

第三获取模块,用于根据所述第一特征点的集合、所述第二特征点的集合和预置的映射函数,获得映射参数,所述映射参数表征在所述映射函数的约束下,所述第一特征点和所述第二特征点的映射关系;

编码模块,用于将所述映射参数编入码流;

第四获取模块,用于获取第一参考帧,所述第一参考帧为编码重建后的第一图像帧或所述第一图像帧通过像素插值获得的第一插值图像帧;

第五获取模块,用于根据所述映射参数,确定所述映射函数的待定系数;

第六获取模块,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有所述映射关系的第一像素 单元;

赋值模块,用于将所述第一像素单元的像素值赋予所述第二像素单元。

在本发明的第八个方面,公开了另一种参考帧的编码装置,包括:

第一获取模块,用于获取待编码图像帧和所述待编码图像帧对应的编码重建后的图像帧的候选参考帧;

第二获取模块,用于分别提取所述待编码图像帧的第一特征点的集合和所述候选参考帧的第二特征点的集合;

第三获取模块,用于根据所述第一特征点的集合、所述第二特征点的集合和预置的映射函数,获得映射参数,所述映射参数表征在所述映射函数的约束下,所述第一特征点和所述第二特征点的映射关系;

第一编码模块,用于将所述映射参数编入码流;

第四获取模块,用于获取第一参考帧,所述第一参考帧为编码重建后的第一图像帧或所述第一图像帧通过像素插值获得的第一插值图像帧;

第五获取模块,用于根据所述映射参数,确定所述映射函数的待定系数;

第六获取模块,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有所述映射关系的第一像素单元;

赋值模块,用于将所述第一像素单元的像素值赋予所述第二像素单元;

第一计算模块,用于计算所述第二参考帧作为所述参考帧的第一编码性能;

第二计算模块,用于计算所述已编码图像帧作为所述参考帧的第二编码性能;

第二编码模块,用于将所述第一编码性能和所述第二编码性能的比较信息编入所述码流;

比较模块,用于当所述比较信息指示所述第一编码性能优于所述第二编码性能时,将所述第二参考帧作为所述参考帧;

否则,将所述编码重建后的图像帧作为所述参考帧。

在本发明的第九个方面,公开一种用于对参考帧进行解码的设备,所述设备包括经配置以进行以下操作的处理器:所述操作为第一个方面所述的操作方法。

在本发明的第十个方面,公开另一种用于对参考帧进行解码的设备,所 述设备包括经配置以进行以下操作的处理器:所述操作为第二个方面所述的操作方法。

在本发明的第十一个方面,公开一种用于对参考帧进行编码的设备,所述设备包括经配置以进行以下操作的处理器:所述操作为第三个方面所述的操作方法。

在本发明的第十二个方面,公开另一种用于对参考帧进行编码的设备,所述设备包括经配置以进行以下操作的处理器:所述操作为第四个方面所述的操作方法。

在本发明的第十三个方面,公开一种存储有指令的计算机可读存储媒体,所述指令在被执行时使用于对参考帧进行解码的设备的一或多个处理器进行以下操作:所述操作为第一个方面所述的操作方法。

在本发明的第十四个方面,公开另一种存储有指令的计算机可读存储媒体,所述指令在被执行时使用于对参考帧进行解码的设备的一或多个处理器进行以下操作:所述操作为第二个方面所述的操作方法。

在本发明的第十五个方面,公开一种存储有指令的计算机可读存储媒体,所述指令在被执行时使用于对参考帧进行编码的设备的一或多个处理器进行以下操作:所述操作为第三个方面所述的操作方法。

在本发明的第十六个方面,公开另一种存储有指令的计算机可读存储媒体,所述指令在被执行时使用于对参考帧进行编码的设备的一或多个处理器进行以下操作:所述操作为第四个方面所述的操作方法。

综上,本发明仅在帧级传递少量映射参数,丰富了参考帧的选择,使参考帧更接近于实际帧,使通过参考帧进行的预测更准确,提高了编码效率。

附图说明

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

图1是根据本发明实施例的视频编解码系统的示意性框图;

图2是根据本发明实施例的视频编码器的示意性框图;

图3是根据本发明实施例的视频解码器的示意性框图;

图4是根据本发明实施例的一种参考帧解码方法的示意性流程图;

图5是参考帧列表中原始参考帧和变换参考帧交织排列示意图;

图6是根据本发明实施例的另一种参考帧解码方法的示意性流程图;

图7是根据本发明实施例的一种参考帧编码方法的示意性流程图;

图8是高斯差分金字塔生成示例图;

图9是DOG空间极值点检测示例图;

图10是根据本发明实施例的另一种参考帧编码方法的示意性流程图;

图11是根据本发明实施例的一种参考帧解码装置的示意性框图;

图12是根据本发明实施例的另一种参考帧解码装置的示意性框图;

图13是根据本发明实施例的一种参考帧编码装置的示意性框图;

图14是根据本发明实施例的另一种参考帧编码装置的示意性框图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是根据本发明实施例的视频编解码系统10的示意性框图。如图1所示,视频编解码系统10包含源装置12及目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称作视频编码装置或视频编码设备。目的地装置14可解码由源装置12产生的经编码视频数据。因此,目的地装置14可被称作视频解码装置或视频解码设备。源装置12及目的地装置14可为视频编解码装置或视频编解码设备的实例。源装置12及目的地装置14可包括广泛范围的装置,包含台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其类似者。

目的地装置14可经由信道16接收来自源装置12的编码后的视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一个或多个媒体及/或装置。在一个实例中,信道16可包括使源装置12能 够实时地将编码后的视频数据直接发射到目的地装置14的一个或多个通信媒体。在此实例中,源装置12可根据通信标准(例如,无线通信协议)来调制编码后的视频数据,且可将调制后的视频数据发射到目的地装置14。所述一个或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一根或多根物理传输线。所述一个或多个通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。所述一个或多个通信媒体可包含路由器、交换器、基站,或促进从源装置12到目的地装置14的通信的其它设备。

在另一实例中,信道16可包含存储由源装置12产生的编码后的视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。

在另一实例中,信道16可包含文件服务器或存储由源装置12产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置14可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置14的服务器类型。实例文件服务器包含web服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附加存储(NAS)装置,及本地磁盘驱动器。

目的地装置14可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。

本发明的技术不限于无线应用场景,示例性的,可将所述技术应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应 用。

在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。视频源18可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。

视频编码器20可编码来自视频源18的视频数据。在一些实例中,源装置12经由输出接口22将编码后的视频数据直接发射到目的地装置14。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置14稍后存取以用于解码及/或播放。

在图1的实例中,目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些实例中,输入接口28包含接收器及/或调制解调器。输入接口28可经由信道16接收编码后的视频数据。显示装置32可与目的地装置14整合或可在目的地装置14外部。一般来说,显示装置32显示解码后的视频数据。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。

视频编码器20及视频解码器30可根据视频压缩标准(例如,高效率视频编解码H.265标准)而操作,且可遵照HEVC测试模型(HM)。H.265标准的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29号发布,可从http://handle.itu.int/11.1002/1000/12455下载,所述文件的全部内容以引用的方式并入本文中。

或者,视频编码器20及视频解码器30可根据其它专属或行业标准而操作,所述标准包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual,ITU-TH.264(还称为ISO/IECMPEG-4AVC),包含可分级视频编解码(SVC)及多视图视频编解码(MVC)扩展。应理解,本发明的技术不限于任何特定编解码标准或技术。

此外,图1仅为实例且本发明的技术可应用于未必包含编码装置与解码装置之间的任何数据通信的视频编解码应用(例如,单侧的视频编码或视频解码)。在其它实例中,从本地存储器检索数据,经由网络流式传输数据,或以类似方式操作数据。编码装置可编码数据且将所述数据存储到存储器,及/或解码装置可从存储器检索数据且解码所述数据。在许多实例中,通过 彼此不进行通信而仅编码数据到存储器及/或从存储器检索数据及解码数据的多个装置执行编码及解码。

视频编码器20及视频解码器30各自可实施为多种合适电路中的任一者,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果技术部分地或者全部以软件实施,则装置可将软件的指令存储于合适的非瞬时计算机可读存储媒体中,且可使用一个或多个处理器执行硬件中的指令以执行本发明的技术。可将前述各者中的任一者(包含硬件、软件、硬件与软件的组合等)视为一个或多个处理器。视频编码器20及视频解码器30中的每一者可包含于一个或多个编码器或解码器中,其中的任一者可整合为其它装置中的组合式编码器/解码器(编解码器(CODEC))的部分。

本发明大体上可指代视频编码器20将某一信息“用信号发送”到另一装置(例如,视频解码器30)。术语“用信号发送”大体上可指代语法元素及/或表示编码后的视频数据的传达。此传达可实时或近实时地发生。或者,此通信可在一时间跨度上发生,例如可在编码时以编码后得到的二进制数据将语法元素存储到计算机可读存储媒体时发生,所述语法元素在存储到此媒体之后接着可由解码装置在任何时间检索。

所述视频编码器20编码视频数据。视频数据可包括一个或多个图片。视频编码器20可产生码流,所述码流以比特流的形式包含了视频数据的编码信息。所述编码信息可以包含编码图片数据及相关联数据。相关联数据可包含序列参数集(SPS)、图片参数集(PPS)及其它语法结构。SPS可含有应用于零个或多个序列的参数。PPS可含有应用于零个或多个图片的参数。语法结构是指码流中以指定次序排列的零个或多个语法元素的集合。

为产生图片的编码信息,视频编码器20可将图片分割成编码树型块(CTB)的栅格。在一些例子中,CTB可被称作“树型块”、“最大编码单元”(LCU)或“编码树型单元”。CTB不限于特定大小且可包含一个或多个编码单元(CU)。每一个CTB可以与图片内的具有相等大小的像素块相关联。每一像素可对应一个亮度(luminance或luma)采样及两个色度(chrominance或chroma)采样。因此,每一个CTB可与一个亮度采样块及两个色度采样块相关联。图片的CTB可分成一个或多个条带。在一些实例中,每一个条带包含整数个数的CTB。作为编码图片的一部分,视频编码器20可产生所述图片的每一条带的编码 信息,即编码所述条带内的CTB。为了编码CTB,视频编码器20可对与CTB相关联的像素块递归地执行四叉树分割,以将像素块分割成递减的像素块。所述较小的像素块可以和CU相关联。

视频编码器20可产生每一不再分割CU的一个或多个预测单元(PU)。CU的每一个PU可与CU的像素块内的不同像素块相关联。视频编码器20可针对CU的每一个PU产生预测性像素块。视频编码器20可使用帧内预测或帧间预测来产生PU的预测性像素块。如果视频编码器20使用帧内预测来产生PU的预测性像素块,则视频编码器20可基于与PU相关联的图片的解码后的像素来产生PU的预测性像素块。如果视频编码器20使用帧间预测来产生PU的预测性像素块,则视频编码器20可基于不同于与PU相关联的图片的一个或多个图片的解码后的像素来产生PU的预测性像素块。视频编码器20可基于CU的PU的预测性像素块来产生CU的残余像素块。CU的残余像素块可指示CU的PU的预测性像素块中的采样值与CU的初始像素块中的对应采样值之间的差。

视频编码器20可对CU的残余像素块执行递归四叉树分割以将CU的残余像素块分割成与CU的变换单元(TU)相关联的一个或多个较小残余像素块。因为与TU相关联的像素块中的像素各自对应一个亮度采样及两个色度采样,所以每一个TU可与一个亮度的残余采样块及两个色度的残余采样块相关联。视频编码器20可将一个或多个变换应用于与TU相关联的残余采样块以产生系数块(即,系数的块)。变换可以是DCT变换或者它的变体。采用DCT的变换矩阵,通过在水平和竖直方向应用一维变换计算二维变换,获得所述系数块。视频编码器20可对系数块中的每一个系数执行量化程序。量化一般指系数经量化以减少用以表示系数的数据量,从而提供进一步压缩的过程。

视频编码器20可产生表示量化后系数块中的系数的语法元素的集合。视频编码器20可将熵编码操作(例如,上下文自适应二进制算术译码(CABAC)操作)应用于上述语法元素中的部分或者全部。为将CABAC编码应用于语法元素,视频编码器20可将语法元素二进制化以形成包括一个或多个位(称作“二进位”)的二进制序列。视频编码器20可使用规则(regular)编码来编码二进位中的一部分,且可使用旁通(bypass)编码来编码二进位中的其它部分。

除熵编码系数块的语法元素外,视频编码器20可将逆量化及逆变换应 用于变换后的系数块,以从变换后的系数块重建残余采样块。视频编码器20可将重建后的残余采样块加到一个或多个预测性采样块的对应采样块,以产生重建后的采样块。通过重建每一色彩分量的采样块,视频编码器20可重建与TU相关联的像素块。以此方式重建CU的每一TU的像素块,直到CU的整个像素块重建完成。

在视频编码器20重建构CU的像素块之后,视频编码器20可执行消块滤波操作以减少与CU相关联的像素块的块效应。在视频编码器20执行消块滤波操作之后,视频编码器20可使用采样自适应偏移(SAO)来修改图片的CTB的重建后的像素块。在执行这些操作之后,视频编码器20可将CU的重建后的像素块存储于解码图片缓冲器中以用于产生其它CU的预测性像素块。

视频解码器30可接收码流。所述码流以比特流的形式包含了由视频编码器20编码的视频数据的编码信息。视频解码器30可解析所述码流以从所述码流提取语法元素。当视频解码器30执行CABAC解码时,视频解码器30可对部分二进位执行规则解码且可对其它部分的二进位执行旁通解码,码流中的二进位与语法元素具有映射关系,通过解析二进位获得语法元素。

视频解码器30可基于从码流提取的语法元素来重建视频数据的图片。基于语法元素来重建视频数据的过程大体上与由视频编码器20执行以产生语法元素的过程互逆。举例来说,视频解码器30可基于与CU相关联的语法元素来产生CU的PU的预测性像素块。另外,视频解码器30可逆量化与CU的TU相关联的系数块。视频解码器30可对逆量化后的系数块执行逆变换以重建与CU的TU相关联的残余像素块。视频解码器30可基于预测性像素块及残余像素块来重建CU的像素块。

在视频解码器30重建CU的像素块之后,视频解码器30可执行消块滤波操作以减少与CU相关联的像素块的块效应。另外,基于一个或多个SAO语法元素,视频解码器30可执行与视频编码器20相同的SAO操作。在视频解码器30执行这些操作之后,视频解码器30可将CU的像素块存储于解码图片缓冲器中。解码图片缓冲器可提供用于后续运动补偿、帧内预测及显示装置呈现的参考图片。

图2为说明经配置以实施本发明的技术的实例视频编码器20的框图。应理解,图2是示例性的而不应视为限制如本发明广泛例证并描述的技术。如图2所示,视频编码器20包含预测处理单元100、残余产生单元102、变 换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重建单元112、滤波器单元113、解码图片缓冲器114及熵编码单元116。熵编码单元116包含规则CABAC编解码引擎118及旁通编解码引擎120。预测处理单元100包含帧间预测处理单元121及帧内预测处理单元126。帧间预测处理单元121包含运动估计单元122及运动补偿单元124。在其它实例中,视频编码器20可包含更多、更少或不同的功能组件。

视频编码器20接收视频数据。为编码视频数据,视频编码器20可编码视频数据的每一图片的每一条带。作为编码条带的一部分,视频编码器20可编码所述条带中的每一CTB。作为编码CTB的一部分,预测处理单元100可对与CTB相关联的像素块执行四叉树分割,以将像素块分成递减的像素块。举例来说,预测处理单元100可将CTB的像素块分割成四个相等大小的子块,将子块中的一个或多个分割成四个相等大小的子子块,等等。

视频编码器20可编码图片中的CTB的CU以产生CU的编码信息。视频编码器20可根据折形扫描次序来编码CTB的CU。换句话说,视频编码器20可按左上CU、右上CU、左下CU及接着右下CU来编码所述CU。当视频编码器20编码分割后的CU时,视频编码器20可根据折形扫描次序来编码与分割后的CU的像素块的子块相关联的CU。

此外,预测处理单元100可在CU的一个或多个PU中分割CU的像素块。视频编码器20及视频解码器30可支持各种PU大小。假定特定CU的大小为2N×2N,视频编码器20及视频解码器30可支持2N×2N或N×N的PU大小以用于帧内预测,且支持2N×2N、2N×N、N×2N、N×N或类似大小的对称PU以用于帧间预测。视频编码器20及视频解码器30还可支持2N×nU、2N×nD、nL×2N及nR×2N的不对称PU以用于帧间预测。

帧间预测处理单元121可通过对CU的每一PU执行帧间预测而产生PU的预测性数据。PU的预测性数据可包含对应于PU的预测性像素块及PU的运动信息。条带可为I条带、P条带或B条带。帧间预测单元121可根据PU是在I条带、P条带还是B条带中而对CU的PU执行不同操作。在I条带中,所有PU执行帧内预测。

如果PU在P条带中,则运动估计单元122可搜索参考图片的列表(例如,“列表0”)中的参考图片以查找PU的参考块。PU的参考块可为最紧密地对应于PU的像素块的像素块。运动估计单元122可产生指示列表0中的含有 PU的参考块的参考图片的参考图片索引,及指示PU的像素块与参考块之间的空间位移的运动向量。运动估计单元122可将参考图片索引及运动向量作为PU的运动信息而输出。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的预测性像素块。

如果PU在B条带中,则运动估计单元122可对PU执行单向帧间预测或双向帧间预测。为对PU执行单向帧间预测,运动估计单元122可搜索第一参考图片列表(“列表0”)或第二参考图片列表(“列表1”)的参考图片以查找PU的参考块。运动估计单元122可将以下各者作为PU的运动信息而输出:指示含有参考块的参考图片的列表0或列表1中的位置的参考图片索引、指示PU的像素块与参考块之间的空间位移的运动向量,及指示参考图片是在列表0中还是在列表1中的预测方向指示符。为对PU执行双向帧间预测,运动估计单元122可搜索列表0中的参考图片以查找PU的参考块,且还可搜索列表1中的参考图片以查找PU的另一参考块。运动估计单元122可产生指示含有参考块的参考图片的列表0及列表1中的位置的参考图片索引。另外,运动估计单元122可产生指示参考块与PU的像素块之间的空间位移的运动向量。PU的运动信息可包含PU的参考图片索引及运动向量。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的预测性像素块。

帧内预测处理单元126可通过对PU执行帧内预测而产生PU的预测性数据。PU的预测性数据可包含PU的预测性像素块及各种语法元素。帧内预测处理单元126可对I条带、P条带及B条带内的PU执行帧内预测。

为对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的预测性数据的多个集合。为使用帧内预测模式来产生PU的预测性数据的集合,帧内预测处理单元126可在与帧内预测模式相关联的方向上跨越PU的采样块扩展来自相邻PU的采样块的采样。假定从左向右、从上而下的编码次序用于PU、CU及CTB,相邻PU可在PU的上方,在PU的右上方,在PU的左上方或在PU的左方。帧内预测处理单元126可使用包含不同数目的帧内预测模式,例如,33个方向性帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的像素块的大小。

预测处理单元100可从通过帧间预测处理单元121针对PU而产生的预测性数据或通过帧内预测处理单元126针对PU而产生的预测性数据当中选择CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数 据的集合的速率/失真量度来选择CU的PU的预测性数据。例如,使用拉格朗日代价函数来在编码模式及其参数值(比如运动矢量、参考索引和帧内预测方向)之间进行选择。这一种类的代价函数使用加权因子lambda将由于有损编码方法所致的实际的或者估计的图像失真与为了表示在图像区域中的像素值而需要的实际的或估计的信息量联系在一起:C=D+lambda×R,其中C是待最小化的拉格朗日代价,D是具有模式及其参数的图像失真(例如均方误差),R是为了在解码器中重构图像块而需要的比特数(例如包括用于表示候选运动矢量的数据量)。一般的,代价最小的编码模式被选定作为实际编码模式。选定预测性数据的预测性像素块在本文中可被称作选定预测性像素块。

残余产生单元102可基于CU的像素块及CU的PU的选定预测性像素块来产生CU的残余像素块。举例来说,残余产生单元102可产生CU的残余像素块,使得残余像素块中的每一采样具有等于以下两者之间的差的值:CU的像素块中的采样,及CU的PU的选定预测性像素块中的对应采样。

预测处理单元100可执行四叉树分割以将CU的残余像素块分割成子块。每一不再划分的残余像素块可与CU的不同TU相关联。与CU的TU相关联的残余像素块的大小及位置与基于CU的PU的像素块的大小及位置没有必然联系。

因为TU的残余像素块的像素可对应一个亮度采样及两个色度采样,所以每一个TU可与一个亮度采样块及两个色度采样块相关联。变换处理单元104可通过将一个或多个变换应用于与TU相关联的残余采样块而产生CU的每一个TU的系数块。举例来说,变换处理单元104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用于残余采样块。

量化单元106可量化系数块中的系数。举例来说,n位系数可在量化期间舍位到m位系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值来量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。

逆量化单元108及逆变换处理单元110可分别将逆量化及逆变换应用于变换后的系数块以从系数块重建残余采样块。重建单元112可将重建后的残余采样块的采样加到预测处理单元100产生的一个或多个预测性采样块的对应采样,以产生与TU相关联的重建后的采样块。通过此方式重建CU的每一个TU的采样块,视频编码器20可重建CU的像素块。

滤波器单元113可执行消块滤波操作以减少与CU相关联的像素块的块效应。此外,滤波器单元113可将由预测处理单元100确定的SAO偏移应用于重建后的采样块以恢复像素块。滤波器单元113可产生CTB的SAO语法元素的编码信息。

解码图片缓冲器114可存储重建后的像素块。帧间预测单元121可使用含有重建后的像素块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用解码图片缓冲器114中的重建后的像素块来对在与CU相同的图片中的其它PU执行帧内预测。

熵编码单元116可接收来自视频编码器20的其它功能组件的数据。举例来说,熵编码单元116可接收来自量化单元106的系数块且可接收来自预测处理单元100的语法元素。熵编码单元116可对数据执行一个或多个熵编码操作以产生熵编码后的数据。举例来说,熵编码单元116可对数据执行上下文自适应可变长度编解码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度编解码操作、基于语法的上下文自适应二进制算术编解码(SBAC)操作、机率区间分割熵(PIPE)编解码操作,或其它类型的熵编码操作。在一特定实例中,熵编码单元116可使用规则CABAC引擎118来编码语法元素的经规则CABAC编解码二进位,且可使用旁通编解码引擎120来编码经旁通编解码二进位。

图3为说明经配置以实施本发明的技术的实例视频解码器30的框图。应理解,图3是示例性的而不应视为限制如本发明广泛例证并描述的技术。如图3所示,视频解码器30包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重建单元158、滤波器单元159及解码图片缓冲器160。预测处理单元152包含运动补偿单元162及帧内预测处理单元164。熵解码单元150包含规则CABAC编解码引擎166及旁通编解码引擎168。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。

视频解码器30可接收码流。熵解码单元150可解析所述码流以从所述码流提取语法元素。作为解析码流的一部分,熵解码单元150可解析码流中的经熵编码后的语法元素。预测处理单元152、逆量化单元154、逆变换处理单元156、重建单元158及滤波器单元159可根据从码流中提取的语法元素来解码视频数据,即产生解码后的视频数据。

语法元素可包含经规则CABAC编解码二进位及经旁通编解码二进位。熵 解码单元150可使用规则CABAC编解码引擎166来解码经规则CABAC编解码二进位,且可使用旁通编解码引擎168来解码经旁通编解码二进位。

另外,视频解码器30可对不再分割的CU执行重建操作。为对不再分割的CU执行重建操作,视频解码器30可对CU的每一TU执行重建操作。通过对CU的每一TU执行重建操作,视频解码器30可重建与CU相关联的残余像素块。

作为对CU的TU执行重建操作的一部分,逆量化单元154可逆量化(即,解量化)与TU相关联的系数块。逆量化单元154可使用与TU的CU相关联的QP值来确定量化程度,且与确定逆量化单元154将应用的逆量化程度相同。

在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一个或多个逆变换应用于系数块,以便产生与TU相关联的残余采样块。举例来说,逆变换处理单元156可将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆方向性变换或其它与编码端的变换对应的逆变换应用于系数块。

如果PU使用帧内预测编码,则帧内预测处理单元164可执行帧内预测以产生PU的预测性采样块。帧内预测处理单元164可使用帧内预测模式以基于空间相邻PU的像素块来产生PU的预测性像素块。帧内预测处理单元164可根据从码流解析的一个或多个语法元素来确定PU的帧内预测模式。

运动补偿单元162可根据从码流解析的语法元素来构造第一参考图片列表(列表0)及第二参考图片列表(列表1)。此外,如果PU使用帧间预测编码,则熵解码单元150可解析PU的运动信息。运动补偿单元162可根据PU的运动信息来确定PU的一个或多个参考块。运动补偿单元162可根据PU的一个或多个参考块来产生PU的预测性像素块。

重建单元158可在适用时使用与CU的TU相关联的残余像素块及CU的PU的预测性像素块(即,帧内预测数据或帧间预测数据)以重建CU的像素块。特定来说,重建单元158可将残余像素块的采样加到预测性像素块的对应采样以重建CU的像素块。

滤波器单元159可执行消块滤波操作以减少与CTB的CU相关联的像素块的块效应。另外,滤波器单元159可根据从码流解析的SAO语法元素来修改CTB的像素值。举例来说,滤波器单元159可根据CTB的SAO语法元素来确定修正值,且将所确定的修正值加到CTB的重建后的像素块中的采样值。 通过修改图片的CTB的部分或全部像素值,滤波器单元159可根据SAO语法元素来修正视频数据的重建图片。

视频解码器30可将CU的像素块存储于解码图片缓冲器160中。解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测及显示装置(例如,图1的显示装置32)呈现。举例来说,视频解码器30可根据解码图片缓冲器160中的像素块来对其它CU的PU执行帧内预测操作或帧间预测操作。

本发明实施例公开了一种参考帧解码的方法,结合图3可知,运动补偿单元162可根据从码流解析的语法元素来构造第一参考帧列表及第二参考帧列表)。如果PU使用帧间预测编码,则熵解码单元150可解析PU的运动信息。运动补偿单元162可根据PU的运动信息来确定PU的一个或多个参考块。运动补偿单元162可根据PU的一个或多个参考块来产生PU的预测性像素块。

图4示出了本发明实施例的一种参考帧解码方法1000的示意性流程图。如图4所示,

S1001,获取第一参考帧;

第一参考帧可以是当前解码重建后的图像帧。因为待获取的第二参考帧需要参考第一参考帧来获取,所以可选的,为了增加第二参考帧的精准度,可以对当前解码重建后的图像帧进行像素插值处理,获得像素插值后的图像,作为第一参考帧。对图像进行像素插值,有很多种实现方式,一种可行的实施方式是采用单帧图像像素插值的方式,即对于当前图像的像素单元,不妨称为整像素单元,进行插值滤波,在当前图像的分像素单元位置,推导出该分像素单元的像素值,所有整像素单元和分像素单元一起组成了当前图像的插值图像。文献《数字图像最佳插值算法研究》(《中国空间科学技术》2005年03期)全文引用于此,对现有的图像插值算法进行了介绍。可以理解,该文献中所描述的方法都可以实例性的,作为本实施例中S1001步骤获取第一参考帧的一种可选的实现方式,而不作限定。

S1002,解析码流中的映射参数;

在一种可行的实施方式中:

设预置的映射函数为x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y为源像素单元的横、纵坐标,x′,y′为与所述源像素单元x,y具有所述映射关系的 目标像素单元的横、纵坐标,m0,m1,m2,m3,m4,m5为待定系数。则,图3中的熵解码模块150通过解析对应位置的码流,解析出六个映射参数的具体数值。该六个映射参数,即对应预置的映射函数的待定系数m0,m1,m2,m3,m4,m5

应理解,所谓预置的映射函数是指根据经验或者试验数据获得,也相同的形式固化在编解码器中(在一些实施例中,映射函数也可以在编解码器中同步更新),即不需要编码器发送任何启示信息到解码器,解码器就可以获知并和编码器采用相同的操作使用该映射函数。

应理解,上述实施方式中的映射函数是示例性的。由于自然的运动具有多样性,因此也有多种映射函数来匹配不同的运动模型,比如4参数、8参数等等,不作限定。

应理解,步骤S1002中的映射参数和预置的映射函数中的待定系数需要保持一致,即它们具有相同的数量和相同的物理意义。

应理解,这些映射参数是以帧级的方式传递的,可以在图像参数集(PPS,picture parameter set)中传递,也可以在条带头(slice header),或作为其它帧级语法元素传递,不作限定。

S1003,根据所述映射参数,确定预置的映射函数的待定系数;

即,将步骤S1002中解析获得的具体映射参数,按照和预置的映射函数的待定系数的一一对应关系,代入到映射函数中,从而得到自变量为源像素坐标位置,因变量为目标像素坐标位置的映射函数x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y为源像素单元的横、纵坐标,x′,y′为与所述源像素单元x,y具有所述映射关系的目标像素单元的横、纵坐标,m0,m1,m2,m3,m4,m5为映射参数。

S1004,根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有映射关系的第一像素单元;

即,对于第二参考帧中的每一个像素单元,在第一参考帧中都有唯一的像素单元与其相映射,并且可以通过步骤S1004中的映射函数,求得第一参考帧中的映射像素单元的位置,具体的:在所述第一参考帧中,所述第一像素单元的位置为x′=m0x+m1y+m2,y′=m3x+m4y+m5,其中,x,y为所述第二像素单元的横、纵坐标,x′,y′为与所述第二像素单元具有所述映射关系的所述第一像素单元的横、纵坐标。

S1005,将所述第一像素单元的像素值赋予所述第二像素单元;

因为第二参考帧中的像素单元都存在一个与其一一对应的第一参考帧中的像素单元,并且通过步骤S1004可以获得所述第一参考帧的像素单元的位置,将该位置的像素单元的像素值赋值给第二参考帧中对应的像素单元。当第二参考帧中的所有像素单元都获得了赋值,则第二参考帧便构造完成。

应理解,步骤S1001中第一参考帧的获取和步骤S1002、S1003中映射函数的获取,没有前后顺序上的联系,可以调整次序,保证S1002中获取映射参数与编码端编入映射参数的步骤对应,即可。

参考帧需要放入到参考帧列表中才可以成为待解码图像帧的候选参考帧,当参考帧更接近于实际图像内容时,才能提高预测的精准度。

H.263,H.264/AVC和HEVC中都采用了多帧参考技术,来提高帧间预测的准确性。解码已经完成的图像,被缓存在解码重建图像缓存(DPB)中,供后续的帧用作参考图像,因此,标准需要对DPB中的图像进行管理。DPB中的每一个图像,有三种状态“不被参考”、“作为短期参考帧”和“作为长期参考帧”,这三种状态之间的转换,是通过解码图像标记过程进行控制的。H.264/AVC中采用了滑动窗和MMCO两种方式。滑动窗管理方式,顾名思义,是以DPB可以存放的帧数为窗口,随着当前解码的图像,以先入先出的方式,将新的解码图像移入,将超出窗口的解码图像移出,因此,DPB中保存的是最近解码的多个图像。MMCO是通过在码流中传输控制命令,完成对DPB中图像的状态标记的,它可以将一个“作为短期参考帧”或“作为长期参考帧”标记为“不被参考”也可以将当前帧或者“作为短期参考帧”的帧,标记为“作为长期参考帧”等。

在一种可行的实施方式一中,步骤S1005中生成的第二参考帧和解码重建后的图像帧同时加入参考帧列表,同时按照上述滑动窗管理方式,以先入先出的方式,当新的解码图像移入时,超出窗口的解码图像将被移出。特别的,所述第二参考帧和所述解码重建后的图像帧在参考帧列表中处于相邻的位置。特别的,在参考帧列表中,由解码方法1000所生成的参考帧,可以与解码重建后的图像帧以交织的方式排列,如图5所示,其中Rn,n=0,1,2...表示解码重建后的图像帧,Tn,n=0,1,2...表示由解码方法1000所生成的参考帧。

示例性的,可以由以下模块完成实施方式一:

获取模块,用于获取参考帧列表,所述参考帧列表包括所述解码重建后 的第一图像帧的候选参考帧;

构建模块,用于将所述解码重建后的第一图像帧和所述第二参考帧加入所述参考帧列表,其中所述解码重建后的第一图像帧和所述第二参考帧在所述参考帧列表中的位置相邻。

在一种可行的实施方式二中,仅将步骤S1005中生成的第二参考帧加入参考帧列表,同理,超出窗口的解码图像将被移出。

示例性的,可以由以下模块完成实施方式二:

获取模块,用于获取参考帧列表,所述参考帧列表包括所述解码重建后的第一图像帧的候选参考帧;

构建模块,用于将所述第二参考帧加入所述参考帧列表。

在一种可行的实施方式三中,按照解码方法1000,基于多个解码重建后的图像帧,构建多个步骤S1005生成的参考帧。在一个实施例中,不妨设按照解码方法1000,基于两个解码重建后的图像帧,第一参考帧和第三参考帧,构建两个步骤S1005生成的参考帧,第二参考帧和第四参考帧。其中第一参考帧在第三参考帧之前生成,构建第二参考帧和第四参考帧使用相同的预置的映射函数和映射参数,一般的,映射参数只需要解析一次。将第二参考帧和第四参考帧加权,获取第五参考帧。可以根据第二参考帧和第四参考帧,或者第一参考帧和第三参考帧,的不同图像质量,不同可供预测的准确度,不同与实际序列的相思度等指标来设置权值,不作限定。举例性的,可以将第二参考帧和第四参考帧的对应像素单元计算均值。将解码重建后的图像帧或者第五参考帧加入到参考帧列表中,也可以将它们同时加入到参考帧列表中,同理,超出窗口的解码图像将被移出。

示例性的,可以由以下模块完成实施方式三:

第一获取模块,用于获取第三参考帧,所述第三参考帧为解码重建后的第二图像帧或所述第二图像帧通过像素插值获得的第二插值图像帧;

第二获取模块,用于根据确定所述待定系数后的映射函数,在所述第三参考帧中,获取与第四参考帧的第四像素单元具有所述映射关系的第三像素单元;

赋值模块,用于将所述第三像素单元的像素值赋予所述第四像素单元。

第三获取模块,用于获取参考帧列表,所述参考帧列表包括所述解码重建后的第二图像帧的候选参考帧;

计算模块,用于将所述第二参考帧的像素单元和所述第四参考帧中同一位置的像素单元加权相加,获得第五参考帧;

构建模块,用于将所述解码重建后的第二图像帧或所述第五参考帧加入所述参考帧列表。

在一个可行的实施方式四中,任取第一参考帧中的一个区域,示例性的,可以取整个第一参考帧,则所述区域以第一参考帧四个顶点为顶点的矩阵,也可以在第一参考帧中随意获取任意形状的区域,不作限定。不妨将整个第一参考帧所覆盖的区域称为第一区域。按照步骤S1003中的映射函数的逆函数,计算出这四个第一区域的顶点在第二参考帧中对应的四个散点的位置。依照第一区域四个顶点的连接关系,连接四个散点,从而在第二参考帧中圈出一片区域,这个被圈出的区域不妨设为第二区域。在坐标平面位置关系上,在第一区域和第二区域所覆盖的范围内存在重叠的部分和不重叠的部分。重叠的部分被称为第一区域和第二区域的交集。所述第一区域与所述第二区域范围内但不重叠的部分连同交集部分被称为第一区域和第二区域的并集。计算上述交集面积和并集面积的比值,当比值小于预设值时,将所述第二参考帧加入所述参考帧列表;否则,将解码重建后的图像帧加入所述参考帧列表。应理解,本方案的目的是为了判断解码重建后的图像帧和第二参考帧的差别,当差别较小时将解码重建后的图像帧加入所述参考帧列表,差别较大时将第二参考帧加入所述参考帧列表,同理,超出窗口的解码图像将被移出。应理解,预设值可以根据经验或者试验数据在编解码器两端同步设定相同的值,在一些实施例中,还可以根据实际情况在编解码器两端同步更新,示例性的,该预设值可以为0.5,或者其他不大于1的正值,不作限定。

示例性的,可以由以下模块完成实施方式四:

第一获取模块,用于获取参考帧列表,所述参考帧列表包括所述解码重建后的第一图像帧的候选参考帧;

第二获取模块,用于在所述解码重建后的第一图像帧中,获取预置的第一区域的区域顶点;

第三获取模块,用于根据所述映射函数,在所述第二参考帧中,获取与所述第一区域的区域顶点具有所述映射关系的散点;

连接模块,用于根据所述第一区域的区域顶点间的连接关系,连接所述第二参考帧中,与所述第一区域的区域顶点具有所述映射关系的所述散点;

构建模块,用于所述散点通过所述连接,包围的区域构成第二区域;

计算模块,用于计算所述第一区域与所述第二区域面积的交集和并集的比值,其中,所述交集包括所述第一区域与所述第二区域的重叠位置区域,所述并集包括所述交集以及所述第一区域与所述第二区域范围内所述第一区域与所述第二区域的不重叠位置区域;

比较模块,用于当所述比值小于预设值时,将所述第二参考帧加入所述参考帧列表;否则,将所述解码重建后的第一图像帧加入所述参考帧列表。

在一些实施例中,将前一个实施例中的解码重建后的图像帧和第二参考帧均加入所述参考帧列表。对于后续的待解码帧,和前一个实施例中的所述第一区域和第二区域的交集的平面位置相一致,对应的,对待解码帧划分为对应交集内的区域和对应交集外的区域。在第一种示例性的实施方式中,待解码帧中对应交集内的区域的像素单元可以参考参考帧列表中所有解码重建后的图像帧,而不能参考参考帧列表中的第二参考帧;待解码帧中对应交集外的区域的像素单元可以参考参考帧列表中所有解码重建后的图像帧,也可以参考参考帧列表中的第二参考帧。在第二种示例性的实施方式中,待解码帧中对应交集内的区域的像素单元可以参考参考帧列表中所有解码重建后的图像帧,而不能参考参考帧列表中的第二参考帧;待解码帧中对应交集外的区域的像素单元不可以参考参考帧列表中所有解码重建后的图像帧,可以参考参考帧列表中的第二参考帧。

上述实施例仅在帧级传递少量映射参数,丰富了参考帧的选择,使参考帧更接近于实际帧,使通过参考帧进行的预测更准确,提高了编码效率。

图6示出了本发明实施例的另一种参考帧解码方法2000的示意性流程图。如图6所示,

S2001,解析码流中的指示信息;

这里的指示信息主要用来表示是否需要按照解码方法1000的方法生成步骤S1005中所生成的第二参考帧。

应理解,指示信息是以帧级的方式传递的,可以在图像参数集(PPS,picture parameter set)中传递,也可以在条带头(slice header),或作为其它帧级语法元素传递,不作限定。

S2002,当所述指示信息指示不基于解码重建后的图像帧构建其它参考 帧时,将所述解码重建后的图像帧作为所述参考帧;

S2003,否则,按照S1001至S1005的步骤生成第二参考帧;

同时,可以按照上述可实行的实施方式一至四所述的方法,构建参考帧列表。

在一些实施例中,还可以在序列级传递指示信息,比如序列参数集(SPS,sequence parameter set),来指示整个所属的序列是否仅使用解码重建后的图像帧作为参考帧,进一步地,还可以指示序列中每一帧的构建参考帧的信息。示例性的,指示一个帧号4,代表只有第四帧将按照本发明第一方面以及各实施例所述的方法生成的参考帧加入参考帧列表,或者示例性的,指示一个011101的二进制序列,代表序列中每一帧的加入参考帧列表的帧的构建方式的情况。

通过指示信息,预先知晓是否需要生成本发明第一方面所提出的方法所生成的参考帧,可以降低方案的复杂度。

本发明实施例公开了一种参考帧编码的方法,结合图2可知,如果PU在P条带中,则运动估计单元122可搜索参考图片的列表(例如,“列表0”)中的参考图片以查找PU的参考块。PU的参考块可为最紧密地对应于PU的像素块的像素块。运动估计单元122可产生指示列表0中的含有PU的参考块的参考图片的参考图片索引,及指示PU的像素块与参考块之间的空间位移的运动向量。运动估计单元122可将参考图片索引及运动向量作为PU的运动信息而输出。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的预测性像素块。

图7示出了本发明实施例的一种参考帧编码方法3000的示意性流程图。如图7所示,

S3001,获取待编码图像帧和所述待编码图像帧对应的编码重建后的图像帧的候选参考帧;

S3002,分别提取所述待编码图像帧的第一特征点的集合和所述候选参考帧的第二特征点的集合;

作为一种可行的实施方式:

第一步骤:对于当前待编码帧提取SIFT(scale-invariant feature transform)特征点,SIFT算法首先构建图像高斯金字塔,高斯金字塔的构建分为两部分,对图像做不同尺度的高斯模糊以及对图像进行隔点降采样。然后相邻两层高斯图像做差,形成高斯差分金字塔(DOG,difference of Gaussian),该过程如图8所示。接下来在DOG空间中做极值检测。为了寻找DOG函数的极值点,每一个像素单元要和它所有的相邻点比较,若其是极大值或者极小值点,则初步判定为局部特征点。如图9所示,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。为了增强匹配稳定性、提高抗噪声能力,在初步判断为特征点的集合中去除低对比度的关键点和不稳定的边缘响应点。对于剩下的每个局部特征点,在其附近16x16邻域内划分16个4x4大小的子块,每个子块计算8方向的梯度方向直方图,将16个直方图拼接在一起形成一个128维的特征向量。

第二步骤:对于当前待编码帧的一个参考帧,用上述同样的方法提取其SIFT特征点。

第三步骤:将当前编码帧的特征点与参考帧中的特征点进行匹配,找到若干特征点匹配对。根据匹配对的位置信息,利用RANSAC(random sample consensus)算法排除异常点,RANSAC算法通过随机抽样的方式找出满足最多匹配对数的一组变换参数,能够有效的剔除掉无效的匹配对。

应理解,对于特征点的提取和匹配可以采用不同的方法,不作限定。

S3003,根据所述第一特征点的集合、所述第二特征点的集合和预置的映射函数,获得映射参数,所述映射参数表征在所述映射函数的约束下,所述第一特征点和所述第二特征点的映射关系;

作为一种可行的实施方式:

对于步骤S3002中获得的有效的特征点的匹配对,每一个匹配对,都由一个属于待编码图像帧的点,即第一特征点集合中的点,和一个属于候选参考帧的点,即第二特征点集合中的点,组成。不妨,将第一特征点中作为目标像素单元,与其所匹配的第二特征点作为源像素单元,根据步骤S1003所述的方法及对应映射函数的约束下,可以获取一组映射参数。

S3004,获取第一参考帧;

具体实施方式和步骤S1001类似,不再赘述。

S3005,根据所述映射参数,确定所述映射函数的待定系数;

具体实施方式和步骤S1003类似,不再赘述。

S3006,根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有所述映射关系的第一像素单元;

具体实施方式和步骤S1004类似,不再赘述。

S3007,将所述第一像素单元的像素值赋予所述第二像素单元;

具体实施方式和步骤S1005类似,不再赘述。

可选的,可以基于原始待编码图像和根据所述映射参数按照步骤S3004至S3007生成的第二参考帧,更新映射参数。

一种可行的实施方式为:

不妨设I′(x′,y′)和I(x,y)分别为步骤S3007生成的图像帧和当前待编码的原始图像帧。目标是使得两者误差最小,即使最小化误差函数成立:其中m0,m1,m2,m3,m4,m5,m6,m7为映射参数。通过梯度下降方法求解最优映射参数,包括:m(t+1)=m(t)+Δm,Δm=A-1b,其中,不断进行迭代计算直到强度差E低于某一门限或执行完一定的次数为止。

当获得更新后的映射参数后,需要按照步骤S3005至S3007的过程重新生成第二参考帧。

S3008,将所述映射参数编入码流;

步骤S3007获得的映射参数,包括一些实施例中更新后的映射参数,都将送入图2所示的熵编码单元116进行熵编码的过程,而编入码流。

应理解,这些映射参数是以帧级的方式传递的,可以在图像参数集(PPS,picture parameter set)中传递,也可以在条带头(slice header),或作为其它帧级语法元素传递,不作限定。

和解码端相对的,作为构建参考帧列表的各种不同的可行的实施方式,解码端构建参考帧列表的可行的实施方式一至四,在经过适应性的改变后,比如,将对解码重构图像的操作替换为在编码端具有等同物理意义的对编码重构图像的操作,将从码流中解析语法元素相对的替换为将语法元素编入码流,同样可以应用于编码端,这里不再赘述。

上述实施例仅在帧级传递少量映射参数,丰富了参考帧的选择,使参考帧更接近于实际帧,使通过参考帧进行的预测更准确,提高了编码效率。

图10示出了本发明实施例的另一种参考帧编码方法4000的示意性流程图。如图10所示,

S4001,按照编码方法3000的方法生成步骤S3007获得的第二参考帧;

S4002,计算所述第二参考帧作为所述参考帧的第一编码性能;

S4003,计算所述已编码图像帧作为所述参考帧的第二编码性能;

应理解,上述测试编码性能是编码质量-编码代价(distortion-rate)选择的过程,可以按照精确的编码质量和编码比特数进行比较,也可以使用简化的方式进行比较,比如只考察编码比特数的多少等,不作限定。图2中的预测处理单元100具体执行编码性能计算的功能,在此不再赘述。

S4004,将表征第一编码性能和第二编码性能哪一个更好的比较信息编入码流。

该步骤与步骤S2001相对应,如果第一编码性能更好,意味着需要采用编码方法3000的方法生成参考帧,否则,意味着只需要采用编码重建后的图像作为参考帧。

S4005,当所述比较信息指示所述第一编码性能优于所述第二编码性能时,将所述第二参考帧作为所述参考帧;否则,将所述编码重建后的图像帧作为所述参考帧。

同理,和解码端相对的,作为构建参考帧列表的各种不同的可行的实施方式,解码端构建参考帧列表的可行的实施方式一至四,在经过适应性的改变后,比如,将对解码重构图像的操作替换为在编码端具有等同物理意义的对编码重构图像的操作,将从码流中解析语法元素相对的替换为将语法元素编入码流,同样可以应用于编码端,这里不再赘述。

通过指示信息,预先知晓是否需要生成本发明第一方面所提出的方法所生成的参考帧,可以降低方案的复杂度。

图11示出了本发明实施例的一种参考帧解码装置100的示意性框图。如图11所示,

第一获取模块101,用于获取第一参考帧,所述第一参考帧为解码重建后的第一图像帧或所述第一图像帧通过像素插值获得的第一插值图像帧;

解析模块102,用于解析码流中的映射参数;

第二获取模块103,用于根据所述映射参数,确定预置的映射函数的待 定系数;

第三获取模块104,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有映射关系的第一像素单元;

赋值模块105,用于将所述第一像素单元的像素值赋予所述第二像素单元。

解码装置100与解码方法1000相对应,第一获取模块101,解析模块102,第二获取模块103,第三获取模块104,赋值模块105分别具体执行步骤S1001、S1002、S1003、S1004、S1005的操作,不再赘述。

图12示出了本发明实施例的另一种参考帧解码装置200的示意性框图。如图12所示,

第一解析模块201,用于解析码流中的指示信息;

选择模块202,用于当所述指示信息指示不基于解码重建后的图像帧构建其它参考帧时,将所述解码重建后的图像帧作为所述参考帧,否则使用下述方法获得参考帧;

第一获取模块203,用于获取第一参考帧,所述第一参考帧为所述解码重建后的图像帧或所述图像帧通过像素插值获得的插值图像帧;

第二解析模块204,用于解析码流中的映射参数;

第二获取模块205,用于根据所述映射参数,确定预置的映射函数的待定系数;

第三获取模块206,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有映射关系的第一像素单元;

赋值模块207,用于将所述第一像素单元的像素值赋予所述第二像素单元。

解码装置200与解码方法2000相对应,第一解析模块201具体执行步骤S2001,选择模块202,第一获取模块203,第二解析模块204,第二获取模块205,第三获取模块206,赋值模块207共同具体执行步骤S2002、S2003的操作,不再赘述。

图13示出了本发明实施例的一种参考帧编码装置300的示意性框图。如图13所示,

第一获取模块301,用于获取待编码图像帧和所述待编码图像帧对应的编码重建后的图像帧的候选参考帧;

第二获取模块302,用于分别提取所述待编码图像帧的第一特征点的集合和所述候选参考帧的第二特征点的集合;

第三获取模块303,用于根据所述第一特征点的集合、所述第二特征点的集合和预置的映射函数,获得映射参数,所述映射参数表征在所述映射函数的约束下,所述第一特征点和所述第二特征点的映射关系;

编码模块304,用于将所述映射参数编入码流;

第四获取模块305,用于获取第一参考帧,所述第一参考帧为编码重建后的第一图像帧或所述第一图像帧通过像素插值获得的第一插值图像帧;

第五获取模块306,用于根据所述映射参数,确定所述映射函数的待定系数;

第六获取模块307,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有所述映射关系的第一像素单元;

赋值模块308,用于将所述第一像素单元的像素值赋予所述第二像素单元。

编码装置300与编码方法3000相对应,第一获取模块301,第二获取模块302,第三获取模块303,编码模块304,第四获取模块305,第五获取模块306,第六获取模块307,赋值模块308分别具体执行步骤S3001、S3002、S3003、S3005、S3006、S3007、S3008、S3004的操作,不再赘述。

图14示出了本发明实施例的另一种参考帧编码装置400的示意性框图。如图14所示,

第一获取模块401,用于获取待编码图像帧和所述待编码图像帧对应的编码重建后的图像帧的候选参考帧;

第二获取模块402,用于分别提取所述待编码图像帧的第一特征点的集合和所述候选参考帧的第二特征点的集合;

第三获取模块403,用于根据所述第一特征点的集合、所述第二特征点 的集合和预置的映射函数,获得映射参数,所述映射参数表征在所述映射函数的约束下,所述第一特征点和所述第二特征点的映射关系;

第一编码模块404,用于将所述映射参数编入码流;

第四获取模块405,用于获取第一参考帧,所述第一参考帧为编码重建后的第一图像帧或所述第一图像帧通过像素插值获得的第一插值图像帧;

第五获取模块406,用于根据所述映射参数,确定所述映射函数的待定系数;

第六获取模块407,用于根据确定所述待定系数后的映射函数,在所述第一参考帧中,获取与第二参考帧的第二像素单元具有所述映射关系的第一像素单元;

赋值模块408,用于将所述第一像素单元的像素值赋予所述第二像素单元;

第一计算模块409,用于计算所述第二参考帧作为所述参考帧的第一编码性能;

第二计算模块410,用于计算所述已编码图像帧作为所述参考帧的第二编码性能;

第二编码模块411,用于将所述第一编码性能和所述第二编码性能的比较信息编入所述码流;

比较模块412,用于当所述比较信息指示所述第一编码性能优于所述第二编码性能时,将所述第二参考帧作为所述参考帧;否则,将所述编码重建后的图像帧作为所述参考帧。

编码装置400与编码方法4000相对应,第一获取模块401,第二获取模块402,第三获取模块403,第一编码模块404,第四获取模块405,第五获取模块406,第六获取模块407,赋值模块408共同具体执行步骤S4001的操作,第一计算模块409,第二计算模块410,第二编码模块411,比较模块412,分别具体执行步骤S4002、S4003、S4004和S4005的操作,不再赘述。

综上,上述实施例仅在帧级传递少量映射参数、比较信息或指示信息,丰富了参考帧的选择,使参考帧更接近于实际帧,使通过参考帧进行的预测更准确,提高了编码效率,同时当解码端预先获得参考帧的构建信息时,可以不进行额外的参考帧构建,降低了方案的复杂度。

在一个或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则功能可作为一个或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体而发送,且通过基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非瞬时的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或多个计算机或一个或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。

通过实例而非限制,某些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,任何连接可适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电及微波)而从网站、服务器或其它远程源发送指令,则同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是有关非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘通过激光以光学方式复制数据。以上各物的组合还应包含于计算机可读媒体的范围内。

可由例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指代前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。而且,所述技术可完全实施于一个或多个电路或逻辑元件中。

本发明的技术可以广泛地由多种装置或设备来实施,所述装置或设备包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求通过不同硬件单元来实现。确切地说,如上文所描述,各种单元可组合于编解码器硬件单元中,或通过交互操作性硬件单元(包含如上文所描述的一个或多个处理器)的集合结合合适软件及/或固件来提供。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

另外,本文中术语“系统”和“网络”在本文中常可互换使用。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1