掌桥专利:专业的专利平台
掌桥专利
首页

残差编码方法及设备、视频编码方法及设备、存储介质

文献发布时间:2024-04-18 19:58:21


残差编码方法及设备、视频编码方法及设备、存储介质

本公开实施例涉及但不限于视频编解码技术,尤其设置一种系数编解码方法、编解码设备及存储介质。

数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。随着互联网视频的激增以及人们对视频清晰度的要求越来越高,尽管已有的数字视频压缩标准能够节省不少视频数据,但目前仍然需要追求更好的数字视频压缩技术,以减少数字视频传输的带宽和流量压力。

发明概述

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本公开实施例提供了一种残差编码方法,包括:

当前帧为帧间预测帧时,确定是否需要对所述当前帧中背景区域的残差进行补偿;在需要对所述当前帧中背景区域的残差进行补偿的情况下,对第一残差数据进行编码,在不需要对所述当前帧中背景区域的残差进行补偿的情况下,对第二残差数据进行编码;其中,所述第一残差数据是当前帧的整幅图像的残差数据,所述第二残差数据是当前帧中目标区域的残差数据。

本公开实施例还提供了一种视频编码方法,其中:

当前帧为帧间预测帧时,通过帧间预测计算得到所述当前频的预测图像;

根据所述当前帧的原始图像和预测图像计算得到所述第一残差数据;

按照如本公开任一实施例所述的方法进行残差编码。

本公开实施例还提供了一种残差编码设备,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的残差编码方法。

本公开实施例还提供了一种视频编码设备,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现本公开任一实施例所述的视频编码方法。

本公开实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如本公开任一实施例所述的残差编码方法或视频编码方法。

在阅读并理解了附图和详细描述后,可以明白其他方面。

附图概述

附图用来提供对本公开实施例的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。

图1为一种视频压缩编码的框架示意图;

图2为本公开一实施例的残差编码方法的流程图;

图3A是本公开一实施例的残差编码方法的一种示意图;

图3B是本公开一实施例的残差编码方法的另一种示意图;

图4是膨胀处理使用的膨胀核的示意图;

图5为本公开一实施例的视频编码方法的流程图;

图6为本公开一实施例的残差编码设备的示意图;

图7为本公开一实施例的视频编解码方法的示意图。

图8A是本公开一实施例膨胀前的目标掩膜的示意图;

图8B是对图8A目标掩膜进行膨胀后的目标掩膜的示意图;

图8C是使用图8A的目标掩膜处理后得到的图像;

图8D是使用图8B的目标掩膜处理后得到的图像;

图9A是本公开一实施例视频编码方法对I帧编码的流程图;

图9B是本公开一实施例视频编码方法对P帧编码的流程图;

图10A是本公开一实施例视频解码方法对I帧解码的流程图;

图10B是本公开一实施例视频解码方法对P帧解码的流程图;

图11为本公开一实施例视频解码器的结构框图。

详述

本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。

本公开中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开中被描述为“示例性的”或者“例如”的任何实施例不应被解释为比其他实施例更优选或更具优势。

在描述具有代表性的示例性实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。

视频编解码标准包括H.264/Advanced Video Coding(高级视频编码,AVC),H.265/High Efficiency Video Coding(高效视频编码,HEVC),H.266/Versatile Video Coding(多功能视频编码,VVC)以及这些标准的拓展,MPEG(Moving Picture Experts Group,动态图像专家组),AOM(开放媒体联盟,Alliance for Open Media),AVS(Audio Video coding Standard,音视频编码标准)或任何自定义的其他标准等,这些标准通过视频压缩技术减少数据传输和存储的数据量,以达到更高效的视频编解码和传输储存。

视频压缩包括用于减少视频内冗余的帧内预测(空域)和/或帧间预测(时域),残差信息的变换、量化和反量化反变换,提高主客观重建质量的环路滤波和熵编码等多个模块。

图1为一种视频编码器20的结构框图。视频编码器20可执行视频切片(video slices)内的视频块的帧内预测(Intra prediction)及帧间预测(Inter prediction)。帧内预测依赖于空间预测以减少或移除给定视频帧或图片内的视频中的空间冗余。帧间预测依赖于时间预测以减少或移除视频序列的相邻帧或图片内的视频的时间冗余。帧内模式(I模式)指基于空间的压缩模式。帧间模式(例如单向预测(P模式)或双向预测(B模式))指基于时间的压缩模式。

在图1所示的示例中,视频编码器20包含视频数据存储器33、划分单元35、预测处理单元41、残差产生单元50、变换处理单元52、量化单元54、熵编码单元56。预测处理单元41包含运动估计单元(MEU:motion estimation)42、运动补偿单元(MCU:motion compensation)44、帧内预测处理单元46及帧内块拷贝(IBC:Intra block copy)单元48。尽管为了易于阐释而在图1中单独地展示,但应理解,MEU 42、MCU 44、帧内预测处理单元46及IBC单元48可实际上高度地集成。对于视频块重建,视频编码器20还包含反量化单元58、反变换处理单元60、重建单元62、滤波器单元64及经解码图片缓冲器(DPB:decoded picture buffer)66。

如图1所示,视频编码器20接收视频数据并将所接收的视频数据存储在视频数据存储器33中。视频数据存储器33可存储待由视频编码器20的组件编码的视频数据。例如从视频源获得存储在视频数据存储器33中的视频数据。划分单元35从视频数据存储器33检索视频数据并结合预测处理单元41将视频数据分割成视频块。此分割还可包含分割成切片(Slice)、图块(Block)或其它较大单元。划分单元35还可以采用图像分割算法将输入视频图像划分为视频对象和背景两部分,并可进一步对视频对象所在的图像区域进行二值化处理,得到目标掩膜,对背景所在的图像区域进行二值化处理得到背景掩膜。文中,将视频对象所在的图像区域称为目标区域,将背景所在的图像区域称为背景区域。

预测处理单元41可基于误差结果(例如编码速率及失真等级)选择多种可能的编码模式中的一种(例如多种帧内预测模式中的一种或多种帧间预测模式中的一种)用于当前编码块。帧内预测处理单元46可执行帧内预测编码以提供空间压缩。MEU 42及MCU 44执行帧间预测编码以提供时间压缩,其中MEU 42执行运动估计以产生运动向量。IBC单元48可以产生二维向量并提取预测块,其中预测块是在与当前编码块相同的图片或帧中。在预测处理单元41经由帧内预测、帧间预测或IBC产生用于当前编码块的预测块之后,视频编码器20通过从当前视频块减去预测块而形成残差块,残差产生单元 50用于执行该减法运算。因此,视频编码器20可以根据当前帧的原始图像和预测图像计算得到当前编码块对应的残差数据。

对残差数据进行编码(即残差编码)时,可进行变换、量化和熵编码等处理。残差数据可被应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或类似变换将残差数据变换成残差变换系数。变换处理单元52可将残差数据从像素域转换到变换域(例如频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些示例中,量化单元54可执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度编码(CAVLC:Context Adaptive Variable Length Coding)、上下文自适应二进制算术编码(CABAC:Context-based Adaptive Binary Arithmetic Coding)等熵编码方法。完成熵编码之后,经编码码流可被发射到视频解码器30。在熵编码时,如果残差数据中有很多残差块的值均为零值,则可以用很少的比特完成编码。

反量化单元58及反变换处理单元60分别应用反量化及反变换以重建像素域中的残差块以供稍后用作参考块。MCU 44可通过将残差块与参考图片列表中的一参考图片中的预测块相加来计算参考块。MCU 44还可将一或多个内插滤波器应用于重建残差块以计算子整数像素值以用于运动估计。重建单元62将重建的残差块与由MCU 44产生的运动补偿预测块相加以产生重建块,从而得到重建图像。滤波器单元64对重建块进行滤波且将经滤波的重建视频块存储在DPB 66中以供用作参考块。

目前对视频帧做残差编码时,是对当前视频帧全幅图像的残差数据进行编码,压缩后的平均码率相对较高,在带宽受限的情况下会影响观看体验。此外对I帧编码时,显著度高的目标区域和显著度低的背景区域分配相同的码率,在码率资源紧张的情况下是一种浪费。

本公开一实施例提供了一种残差编码方法,以视频编码中的残差编码方法为例。如图2所示,所述方法包括:步骤110,当前帧为帧间预测帧时,确定是否需要对当前帧中背景区域的残差进行补偿,如果是,执行步骤120,如果否,执行步骤130;步骤120,在需要对当前帧中背景区域的残差进行补偿的情况下,对第一残差数据进行编码;步骤130,在不需要对当前帧中背景区域的残差进行补偿的情况下,对第二残差数据进行编码;其中,所述第一残差数据是当前帧的整幅图像的残差数据,所述第二残差数据是当前帧中目标区域的残差数据。本文中,帧间预测帧指一个画面组(GOP,Group of Pictures)中除I帧之外的其他帧,当前帧为帧间预测帧时,当前帧可以是P帧或B帧。本实施例间歇性补偿背景残差,逐帧补偿目标区域残差。在保证目标区域视觉质量的同时略微降低背景区域质量,可以节省码率资源,提升视频主观质量。

如图3A所示,是本公开实施例残差编码的一个示意图,从该图可以看出,在进行残差编码时,可以选择对当前帧的整幅图像的残差数据即第一残差数据进行编码,也可以选择对当前帧中目标区域 的残差数据即第二残差数据进行编码,编码结果写入码流,在解码端进行残差解码后可得到重建残差数据。该图中的第二残差数据是通过将第一残差数据与膨胀处理后的目标掩膜相乘得到。在一示例中,可以在图1中的残差产生单元50和变换处理单元52之间单独设置一个残差处理单元来执行上述步骤110中的判决,以及生成第二残差数据的相关处理,也可以由残差产生单元50或变换处理单元52去执行这些处理。

图3B是用另一种方式表示的本公开实施例残差编码的示意图,但图3B不应理解为本公开实施例的实际处理流程的表示。图3B可以明确看出,本公开实施例进行残差编码时,是间歇性地对背景区域的残差数据进行编码,并不是全部进行编码。本公开实施例有选择性地对帧间预测帧中的背景区域的残差进行补偿,可以减少编码量,提高编码效率。由于背景区域不是用户观看视频所关注的区域,该方法对视频的主观质量影响较小。

在本公开实施例中,可以将所述当前帧中除所述目标区域之外的其他区域的残差数据设置为等于0,对所述当前帧中除所述目标区域之外的其他区域的残差数据进行编码,编码结果写入码流。在对残差数据进行变换和量化后进行熵编码时,使用1位的编码非零标志位即可表示零值,如果除所述目标区域之外的其他区域的残差数据均为0,用很少的比特就可以完成这些数据的熵编码,减少当前帧残差数据的编码量。同时并没有改变残差编码的数据格式,在解码端仍然可以使用原来的解码方法完成解码,不需要进行调整,因此本公开实施例的编码方法对解码端具有很好的兼容性。

本公开实施例中,可以采用一种方法计算当前帧中目标区域的残差数据。第一种方法是将所述第一残差数据与第一目标掩膜相乘,得到当前帧中目标区域的残差数据,其中,所述第一目标掩膜通过将所述当前帧的原始图像输入目标分割网络,对分割结果进行二值化处理得到。这种方法没有对分割得到的目标区域进行膨胀处理,计算比较简单,便于实现。但由于没有对目标(即视频对象)边缘进行残差补偿,解码后的图像中在目标边缘有可能出现主观质量缺陷,影响视频观看效果。第二种是将所述第一残差数据与第二目标掩膜相乘,得到当前帧中目标区域的残差数据,其中,所述第二目标掩膜通过对所述第一目标掩膜进行膨胀处理得到。这种方法计算得到的是经膨胀处理后的目标区域的残差数据,由于对目标(即视频对象)边缘进行了残差补偿,可以避免上述主观质量缺陷,提升视频观看体验。

上述第二种方法对第一目标掩膜进行膨胀处理时,可以先确定膨胀处理使用的膨胀核,使用所述膨胀核对所述第一目标掩膜进行膨胀处理。膨胀核在图像形状学中也称为结构元素(SE:structure element),膨胀核的尺寸和中心点都可以根据需求定义。本实施例中,所述膨胀核的大小与所述目标区域中像素的位移统计值正相关。所述位移统计值为所述目标区域中所有像素的位移值中的最大值,或者是所有像素的位移值的平均值等,本公开不做局限。像素的位移值反映了目标在当前帧和前一帧之间对应的图像像素的运动速度。这种处理方式将目标区域中像素的位移值与膨胀核的大小关联起来,像素的位移值越大,说明目标移动较快,此时选用较大的膨胀核对第一目标元素进行膨胀处理,可以使膨胀后的目标区域也变大,从而保证目标的边缘区域得到残差补偿。

基于上述第二种方法的一个示例中,所使用的膨胀核为一正方形,所述正方形的边长k

k

其中,D为当前帧中像素的位移值组成的矩阵,M

假定计算得到的k

本公开一实施例中,所述确定是否需要对所述当前帧中背景区域的残差进行补偿,包括:根据在当前帧计算的影响因子和/或在同一画面组内已编码的帧间预测帧计算的影响因子,确定是否需要对所述当前帧中背景区域的残差进行补偿;其中,所述影响因子根据对背景区域的残差进行补偿和不对背景区域的残差进行补偿在重建的图像上的差异确定。也就是说,本实施例在选择是否对所述当前帧中背景区域的残差进行补偿时,考虑的是不对背景区域的残差进行补偿相对于对背景区域的残差进行补偿给重建的图像造成的影响或者说损失。如果影响较大(即损失较大),就可以选择对更多的帧间预测帧的背景区域的残差进行补偿,如果影响较小(即损失较小),就可以对较少的帧间预测帧的背景区域的残差进行补偿。从而可以实现动态自适应地选择对背景区域的残差进行或不进行补偿,以在提高编码效果和提升视频质量之间取得一个合理的平衡,达到性能的优化。

在本公开一实施例中,所述确定是否需要对所述当前帧中背景区域的残差进行补偿,包括:

将所述当前帧的预测图像和所述第二残差数据相加,得到所述当前帧的参考图像;

计算所述当前帧的原始图像和参考图像的相似度,判断所述相似度是否小于设定的第一阈值:

如果相似度小于设定的第一阈值,确定需要对所述当前帧中背景区域的残差进行补偿;

如果相似度不小于设定的第一阈值,确定不需要对所述当前帧中背景区域的残差进行补偿。

本实施例中的相似度即上文所述的“影响因子”的具体体现。因为当前帧的原始图像和本实施例计算得到的参考图像的相似度,可以体现对背景区域的残差进行补偿和不对背景区域的残差进行补偿在重建的图像上的差异。在一个示例中,相似度可以通过以下公式计算:

其中,R

上述实施例是在帧间预测帧均进行相似度计算,计算较为复杂。在本公开另一实施例中,采用在部分帧间预测帧进行相似度计算的方法。该方法在当前帧为画面组中I帧(一个画面组中只有第一个帧是I帧)后的第一个帧间预测帧时,将所述当前帧的预测图像和所述第二残差数据相加,得到所述当前帧的参考图像;及,进行相似度计算,得到所述当前帧的原始图像和参考图像的相似度,根据所述相似度确定对背景区域的残差进行补偿的间隔帧数N

本实施例中,在对帧间预测帧进行残差编码时,所述确定是否需要对所述当前帧中背景区域的残差进行补偿,包括:如果所述当前帧与最近的对背景区域的残差进行补偿的帧间预测帧或者与最近的I帧之间所间隔的帧数N等于N

如果N

例如,在一个示例中,一个画面组(GOP,Group of Pictures)中包括12个视频帧,其中的第一个帧为I帧,其他的都是P帧。对一个GOP编码时,对I帧的编码方法可以采用现有的编码方法。假定对该GOP中第一个P帧编码时,通过相似度确定间隔帧数N

上述实施例在对当前帧中背景区域的残差进行补偿的帧间预测帧均进行相似度计算并更新间隔帧数N

本公开一实施例中,根据所述相似度确定对背景区域的残差进行补偿的间隔帧数N

其中,R

但是,本公开不局限上述示例中的根据相似度计算N

在本公开的另一实施例中,与上一实施例不同的是,在N

本公开上述实施例提供的间歇性补偿背景区域残差,一定程度上节省了码率资源。

本公开一实施例还提供了一种视频编码方法,如图5所示,包括:

步骤210,当前帧为帧间预测帧时,通过帧间预测计算得到所述当前频的预测图像;

步骤220,根据所述当前帧的原始图像和预测图像计算得到第一残差数据;

步骤230,按照本公开任一实施例所述的残差编码方法进行残差编码。

在本公开一实施例中,所述视频编码方法还包括:

在当前帧为I帧时,采用第一码率和第二码率分别对所述当前帧的原始图像进行编码,得到第一码率的图像特征图和第二码率的图像特征图,其中,所述第一码率大于所述第二码率;

将所述第一码率的图像特征图与第三目标掩膜相乘,得到目标特征图;将所述第二码率的图像特征图与背景掩膜相乘,得到背景特征图;

分别对所述目标特征图和背景特征图进行编码;

其中,所述第三目标掩膜和背景掩膜通过将所述当前帧的原始图像输入目标分割网络,对分割结果进行二值化处理得到。其中,第三目标掩膜对应于分割结果中的目标区域(其他目标掩膜也是对应于相应的目标区域),背景掩膜对应分割结果中的背景区域。

本实施例通过给视频目标区域赋予更多码率资源,从而提升了极低码率下视频的主观质量。

本公开一实施例还提供了一种残差编码设备,如图6所示,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的残差编码方法。

本公开一实施例还提供了一种视频编码设备,也可参见图6,包括处理器以及存储有可在所述处理器上运行的计算机程序的存储器,其中,所述处理器执行所述计算机程序时实现如本公开任一实施例所述的视频编码方法。

本公开一实施例还提供了一种视频编解码系统,包括如本公开任一实施所述的视频编码设备,还包括视频解码设备。

本公开一实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如本公开任一实施例所述的残差编码方法或视频编码方法。

本公开一实施例还提供了一种码流,其中,所述码流根据如本公开任一实施例所述的残差编码方法或者如本公开任一实施例所述的视频编码方法生成,其中,在需要对所述当前帧中背景区域的残差进行补偿的情况下,所述码流中包括对上述第一残差数据编码得到的码字,在不需要对所述当前帧中背景区域的残差进行补偿的情况下,所述码流中包括对上述第二残差数据编码得到的码字。

本公开一实施例提出一种端到端的基于目标编码的视频编码方法,通过向目标区域分配更高码率,背景区域分配较低码率,以实现提升极低码率条件下视频的主观质量,其示意图如图7所示,图中X

其中:对视频系列(如一个画面组)的第一帧图像(I帧)编码时,采用如下编码方法,如图9A所示,包括:步骤310,将当前帧的图像输入目标分割网络,将目标分割结果处理为二值化的目标掩膜和二值化的背景掩膜;步骤320,将图像分别输入两个结构相同、参数不同的基于神经网络的编码器,分别得到对应于高码率的图像特征图和低码率的图像特征图;步骤330,将高码率特征图与目标 掩膜相乘,得到目标特征图;将低码率特征图与背景掩膜相乘,得到背景特征图;步骤340,对目标特征图和背景特征图分别进行量化、熵编码,得到码流。

本公开实施例在I帧编码时,对图像中的目标区域和背景区域采用不同码率,通过给目标区域赋予更多码率资源,从而提升了极低码率下视频的主观质量。

对视频系列的后续帧(本实施例为P帧)编码时,如图9B所示,包括以下步骤:

步骤410,将前一帧的重建图像与当前帧的图像合并到一起,输入特征融合网络,从特征融合网络输出帧间运动信息特征图;本步骤采用运动信息估计网络计算出当前帧与前一帧之间像素的运动信息。步骤420,将所述帧间运动信息特征图量化、熵编码,得到码流;步骤430,用当前帧的原始图像减去当前帧的预测图像,得到残差数据,对所述残差数据进行量化、熵编码(压缩编码),得到码流,本步骤的编码策略为:对目标区域的残差数据逐帧进行编码,对背景区域的残差数据,间隔性地在某些帧进行编码操作。

本步骤可分为以下分步骤:

步骤1),将图像输入目标分割网络,将分割结果处理为目标掩膜;

步骤2),对目标掩膜进行形态学的膨胀处理,膨胀核与目标区域像素最大位移值相关,由如下式子决定:

k

其中,每个像素的位置移

步骤3),在每一个间隔开始时(即第一个P帧,以及后续的与前一个对背景图像的残差进行补偿的帧所间隔的帧等于间隔帧数的P帧),判断背景残差有无的影响因子(即上文的相似度):

其中,d()为MS-SSIM函数,其他参数含义见上文相同公式。

根据影响因子所在区间决定间隔N的大小:

式中的参数的含义见上文相同公式。

步骤4),在每一个间隔中,当t

在另一示例中,当t

步骤5),在一个间隔结束之后,重复步骤以上步骤。

图8A是膨胀前的目标掩膜的示意图,图8B是对图8A的目标掩膜进行膨胀处理后的目标掩膜的示意图,图8C是使用图8A的目标掩膜处理后得到的图像,而图8D是使用图8B的目标掩膜处理后得到的图像。图8D中目标区域的边缘更为清晰。

采用H.264、H.265、NVC和本公开实施例的基于目标编码的视频压缩方法对样本图像进行编码,测试到的四种算法压缩该序列消耗的平均码率如下表所示:

本公开实施例通过给视频目标区域赋予更多码率资源,从而提升了极低码率下视频的主观质量。而通过间歇性补偿背景区域残差,逐帧补偿目标区域残差。保证目标区域视觉质量的同时略微降低背景区域质量,提升视频主观质量,一定程度上节省了码率资源。此外,本实施例通过将目标分割掩膜进行膨胀操作,解决了间歇性补偿背景残差导致的目标边缘出现的目标边缘视觉缺陷。

图11是本公开实施例视频解码器30的结构框图。视频解码器30包含熵解码单元150、预测处理单元152、反量化单元154、反变换处理单元156、重建单元158、滤波器单元159,以及图片缓冲器160。预测处理单元152包含运动补偿单元162和帧内预测处理单元164。在其它实施例中,视频解码器30可包含较多、较少或不同的功能组件。

视频解码器30接收码流。熵解码单元150可解析码流以从码流提取语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重建单元158以及滤波器单元159可基于从码流提取的语法元素来产生解码后的视频数据。

作为解析码流的部分,熵解码单元150可对码流中的语法元素进行熵解码。作为对编码单元(CU:coding unit)的变换单元(TU:Transform Unit)执行重建操作的部分,反量化单元154可对与TU相关联的系数块进行反量化。在反量化单元154对系数块进行反量化之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与TU相关联的残差块。

如果预测单元(PU:Prediction Unit)使用帧内预测编码的,那么帧内预测处理单元164可执行帧内预测以产生PU的预测块。帧内预测处理单元164可基于从码流解析出的一个或多个语法元素来确定PU的帧内预测模式。运动补偿单元162可基于从码流提取的语法元素构造第一参考图片列表(列表0)和第二参考图片列表(列表1)。此外,如果使用帧间预测对PU进行编码,那么熵解码单元150可提取PU的运动信息。运动补偿单元162可基于PU的运动信息来确定PU的一个或多个参考块。运动补 偿单元162可基于PU的一个或多个参考块来产生PU的预测块。重建单元158可使用与CU的TU相关联的残差块和CU的PU的预测块(即帧内预测数据或帧间预测数据)来得到CU的重建块。重建单元158可将残差块与预测块相加以得到CU的重建块。滤波器单元159可执行解块操作。视频解码器30可将CU的重建块存储在图片缓冲器160中。图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测以及在显示装置上的呈现。

当前帧为I帧时,视频解码设备执行的解码流程如图10A所示,包括:步骤510,对码流中待解码的当前帧(I帧)进行熵解码和反量化,得到重建的目标特征图和背景特征图;步骤520,将所述目标特征图和背景特征图相加,得到整幅图像的特征图;及步骤530,将所述整幅图像的特征图输入基于神经网络的解码器,得到经压缩的当前帧的重建图像。

当前帧为帧间预测帧(以P帧为例,也可以是B帧)时,视频解码设备执行的解码流程如图10B所示,包括:步骤610,对码流中待解码的当前帧(P帧)进行熵解码和反量化,得到重建的残差数据和重建的帧间运动信息特征图;在本步骤中,解码端不需要去识别编码端是对第一残差数据编码,还是对第二残差数据编码。编码端对第二残差数据(即当前帧中目标区域的残差数据)编码时,通过将当前帧中除目标区域之外的其他区域的残差数据设置为等于0并进行编码,其编码格式也没有变化。因此解码端可以采用相同的方式完成对残差数据的解码。步骤620,将重建的帧间运动信息特征图输入基于神经网络的解码器,得到经过压缩的帧间运动信息,利用所述帧间运动信息补偿前一帧的重建图像,得到当前帧的预测图像;步骤630,将重建的残差数据与当前帧的预测图像相加,得到经压缩的当前帧的重建图像。

在一或多个示例性实施例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,且由基于硬件的处理单元执行。计算机可读介质可包含对应于例如数据存储介质等有形介质的计算机可读存储介质,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可对应于非暂时性的有形计算机可读存储介质或例如信号或载波等通信介质。数据存储介质可为可由一或多个计算机或者一或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包含计算机可读介质。

举例来说且并非限制,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它介质。而且,还可以将任何连接称作计算机可读介质举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双纹线、DSL或例如红外线、无线电及微波等无线技术包含于介质的定义中。然而应了解,计算机可读存储介质和数据存储介质不包含连接、载波、信号或其它瞬时(瞬态)介质,而是针对非瞬时有形存储介质。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘或蓝光光盘等,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也 应包含在计算机可读介质的范围内。

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

本公开实施例的技术方案可在广泛多种装置或设备中实施,包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本公开实施例中描各种组件、模块或单元以强调经配置以执行所描述的技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或多个处理器)的集合结合合适软件和/或固件来提供。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

相关技术
  • 编码方法、设备及可读存储介质
  • 一种视频编码方法、解码方法、装置及电子设备
  • 全方位视频的解码方法、编码方法及电子设备
  • 一种基于AI的分级残差编码方法、装置、设备和存储介质
  • 视频解码方法、视频编码方法、装置、存储介质及设备
技术分类

06120116485293