图像解码方法、解码器以及存储介质

文档序号:1893579 发布日期:2021-11-26 浏览:12次 >En<

阅读说明:本技术 图像解码方法、解码器以及存储介质 (Image decoding method, decoder, and storage medium ) 是由 马彦卓 霍俊彦 高强 杨付正 万帅 于 2019-04-23 设计创作,主要内容包括:本申请实施例公开了一种图像解码方法、解码器以及存储介质,图像解码方法包括:接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。(The embodiment of the application discloses an image decoding method, a decoder and a storage medium, wherein the image decoding method comprises the following steps: receiving code stream data and analyzing the code stream data to obtain a code tree unit corresponding to the code stream data; analyzing an ith node of an ith layer corresponding to the coding tree unit to obtain an ith state parameter and an ith mark parameter corresponding to the ith node; wherein i is an integer greater than 0; detecting the ith node according to the ith state parameter and the ith mark parameter to obtain an ith detection result; acquiring an i &#43;1 th node of an i &#43;1 th layer corresponding to the coding tree unit according to the i detection result; continuously detecting the (i &#43; 1) th node, and traversing all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit are obtained; and generating a decoding image corresponding to the code stream data according to all the nodes and all the coding unit data.)

图像解码方法、解码器以及存储介质

本申请是申请日为2019年4月23日的PCT国际专利申请PCT/CN2019/083966进入中国国家阶段的中国专利申请号201980085010.0、发明名称为“图像解码方法、解码器以及存储介质”的分案申请。

技术领域

本申请实施例涉及视频编解码技术领域,尤其涉及的是一种图像解码方法、解码器以及存储介质。

背景技术

目前,视频编码技术方案主要是利用分割技术将图像的空间区域划分为互不交叠的小块作为编码的基本单元,然后再对其进行编码。其中,常使用的多类型树划分技术(multi-type-tree,MTT)是从四叉树分割块划分技术(Quadtree,QT)到四叉树及二叉树分割块划分技术(Quad-Tree-Binary-Tree,QTBT)再进一步结合三叉树分割块划分技术(Ternary tree,TT)一步步进化来的,因此,QT、QTBT以及MTT的区别只是进行图像分割时的划分方式不同,三者的划分原理则相同。

为了能够得到较好的编码的效果,在视频编码时常常需要对每一帧图像进行细致分割,同时,由于目前视频编码技术中固定的划分方案,细小的分割会产生更多的头信息和重复信息表示,从而降低编码效率。

发明内容

本申请实施例提供一种图像解码方法、解码器以及存储介质,能够避免过于细小的块划分,有效减少头信息的数量,从而提高编码效率。

本申请实施例的技术方案是这样实现的:

一种图像解码方法,所述方法包括:

接收码流数据,并解析所述码流数据,以获得所述码流数据对应的编码树单元;

解码编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,所述i为大于0的整数;所述第i状态参数用于对所述第i结点是否支持刷新进行判断;所述第i标志参数用于对所述第i结点是否使能刷新进行判断;

根据所述第i状态参数和所述第i标志参数对所述第i结点进行检测处理,获得第i检测结果;

根据所述第i检测结果,获取所述编码树单元对应的第i+1层的第i+1结点;

继续对所述第i+1结点进行所述检测处理,并遍历所述编码树单元对应的全部结点,直到获得所述编码树单元对应全部编码单元数据;

根据所述全部结点和所述全部编码单元数据,生成所述码流数据对应的解码图像。

本申请实施例提供了一种图像解码方法、解码器以及存储介质,解码器接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解码编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。由此可见,在本申请的实施例中,在对视频中的图像进行解码的过程中,在接收到码流数据并解析获得编码树单元之后,可以对编码树单元对应的每一层的结点进行解码处理,获得该层结点的状态参数和标志参数,然后根据状态参数和标志参数对结点进行检测处理,再对存在数据的结点进行解码处理,获得编码树单元对应的全部编码单元,以获得对应的解码图像。其中,由于在编码时支持编码单元与编码单元的交叠划分,因此,解码器对存在数据的结点进行解码获得的全部编码单元中,如果存在区域重合的至少两个编码单元,那么解码器可以按照刷新编码单元对应的图像信息对背景编码单元对应的图像信息进行刷新处理,从而可以避免对视频图像的过度划分,减少不必要的头信息,以及避免分散重复表示同一区域特性相似的数据,进而提高编码效率。

附图说明

图1为QT技术进行分割的示意图一;

图2为QT技术进行分割的示意图二;

图3为过度分割示意图;

图4为视频编码系统的组成结构示意图;

图5为视频解码系统的组成结构示意图;

图6为本申请实施例提出的一种图像解码方法的实现流程示意图;

图7为现有技术中编码树单元的结构示意图;

图8为本申请实施例中编码树单元的结构示意图;

图9为本申请实施例提出的图像解码方法流程示意图一;

图10为本申请实施例提出的图像解码方法流程示意图二;

图11为本申请实施例中状态参数和标志参数的示意图;

图12为分割处理的示意图一;

图13为分割处理的示意图二;

图14为分割处理的示意图三;

图15为分割处理的示意图四;

图16为分割处理的示意图五;

图17为分割处理的示意图六;

图18为本申请实施例提出的一种图像编码方法的示意图;

图19为不交叠划分的示意图一;

图20为不交叠划分的示意图二;

图21为交叠划分的示意图一;

图22为交叠划分的示意图二;

图23为本申请实施例提出的解码器的组成结构示意图一;

图24为本申请实施例提出的解码器的组成结构示意图二。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。

对视频进行编码就是对一帧一帧图像进行编码;同样,对视频编码压缩后的视频码流进行解码就是对一帧一帧图像的码流进行解码。在几乎所有的视频图像编码的国际标准中,对一帧图像进行编码时,都需要把一帧图像划分成若干块M×M像素的子图像,称为编码单元(Coding Unit,CU),以CU为基本编码单位,对子图像一块一块的进行编码。常用的M的大小是4,8,16,32,64。因此,对一个视频图像序列进行编码就是对各帧图像的各个编码单元,即各个CU依次进行编码;对一个视频图像序列的码流进行解码也是对各帧图像的各个CU依次进行解码,最终重构出整个视频图像序列。

为适应一帧图像内各部分图像内容与性质的不同,有针对性地进行最有效的编码,一帧图像内各个CU的大小可以是不同的,有的是8×8,有的是64×64等等。为了使不同大小的CU能够无缝拼接起来,一帧图像通常先划分成大小完全相同具有N×N像素的最大编码单元(Largest Coding Unit,LCU))或编码树单元(Coding Tree Unit,CTU),然后每个LCU再进一步划分成多个大小不一定相同的CU。例如,一帧图像先划分成大小完全相同的64×64像素的LCU,即N=64,其中,某个LCU由3个32×32像素的CU和4个16×16像素的CU构成,而另一个LCU由2个32×32像素的CU、3个16×16像素的CU和20个8×8像素的CU构成。CU也可以再进一步被划分成若干子区域。子区域包括但不限于预测单元(Prediction unit,PU)、变换单元(Transformation unit,TU)。综上所述,编码块或解码块是指一帧图像中对其施行编码或解码的一个区域。

CU是由若干像素值组成的一个区域。CU的形状可以为矩形,一帧图像中,各个CU可以具有各不相同的形状和大小。

在H.265/视频压缩标准(High Efficiency Video Coding,HEVC)中,可以采用QT技术对编码单元或编码块进行互不交叠的分割。图1为QT技术进行分割的示意图一,如图1所示,一帧图像首先按照行和列分割为多个相同大小的区域,每个区域叫做一个CTU,其中,一个CTU的边长可以为128个像素、64个像素等,因为该划分是横纵方向硬性切分,因此CTU与CTU之间是不会有交叠的。图2为QT技术进行分割的示意图二,如图2所示,在一个CTU内部,再以QT的方式,将其递归地划分为多个CU,且多个CU的大小并不完全相同,有8×8像素的CU,也有16×16像素的CU,还有32×32像素的CU。其中,每个CU与CU之间互相是没有交叠区域的,它们均为四叉树分割的叶子结点。同样,因为是横纵方向硬性切分,任意一个CTU切分出来的CU和CU之间是不会有交叠的。

现有的H.266/多功能视频编码(Versatile Video Coding,VVC)的视频编码技术,在QT基础上补充二叉树分割块划分技术(BinaryTree,BT),形成QTBT分割技术,以及又补充了TT的划分方案,形成了MTT。MTT中的各种划分方法,例如QT划分、垂直BT划分、水平BT划分、垂直中心-两边TT划分、水平中心-两边TT划分等,均在CTU内的各层上使用。

由此可见,目前的MTT方案,是从QT到QTBT再结合TT一步步进化来的、一脉相承的方案。它们的区别只是分割方式有所区别,但是三者的划分原理则是相同的,都不会在CU之间产生任何交叠。也就是说,由于目前的所有划分方案都不允许CU之间具有任何交叠区域的,而分割方式的固定,就使得在物体的不规则边缘处需要细致分割才能得到较好的视频编码的效果,另一方面,细碎的分割带来更多的头信息,会降低编码效率。随着分割模式的多样化,部分解决了一些细碎分割的问题,但是仍然存在过度分割的问题。图3为过度分割示意图,如图3所示,右侧球员手上捧球上缘处的区域划分放大后,可以看出大部分区域都是相似的背景平坦区域,而只有球的顶端是块内不同于其他区域的内容。为了划分出其对应的区域,最终的分割结果非常细碎。可见,现有编解码技术在视频编码时常常需要对每一帧图像进行细致分割才能得到较好的编码的效果,然而,细小的分割会产生更多的头信息和重复信息表示,从而降低编码效率。

本申请实施例提出了一种图像解码方法,能够避免对图像进行过于细小的块划分,有效减少头信息的数量,避免重复信息表示,从而提高编码效率。其中,编码方法可以应用于视频编码混合框架中的块分割、帧内和帧间预测信号的组合部分,具体地,解码方法还可以应用于视频编码混合框架中的缓存部分。例如,图4为视频编码系统的组成结构示意图,如图4所示,视频编码系统200包括变换与量化单元201、帧内估计单元202、帧内预测单元203、运动补偿单元204、运动估计单元205、反变换与反量化单元206、滤波器控制分析单元207、滤波单元208、熵编码单元209和解码图像缓存单元210等,其中,滤波单元208可以实现去方块滤波及样本自适应缩进(Sample Adaptive 0ffset,SAO)滤波,熵编码单元209可以实现头信息编码及基于上下文的自适应二进制算术编码(Context-based AdaptiveBinary Arithmatic Coding,CABAC)。

当检测接收到原始视频信号时,针对输入的原始视频信号,通过编码树单元的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元201对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元202和帧内预测单元203是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元202和帧内预测单元203用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元204和运动估计单元205用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元205执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元204基于由运动估计单元205所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元203还用于将所选择的帧内预测数据提供到熵编码单元209,而且运动估计单元205将所计算确定的运动向量数据也发送到熵编码单元209;此外,反变换与反量化单元206是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元207和滤波单元208去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元210的帧中的一个预测性块,用以产生经重构建的视频编码块;熵编码单元209是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该视频信号的码流;而解码图像缓存单元210是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元210中。

图5为视频解码系统的组成结构示意图,如图5所示,该视频解码系统300包括熵解码单元301、反变换与反量化单元302、帧内预测单元303、运动补偿单元304、滤波单元305和解码图像缓存单元306等,其中,熵解码单元301可以实现头信息解码以及CABAC解码,滤波单元305可以实现去方块滤波以及SAO滤波。输入的视频信号经过图4的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统300中,首先经过熵解码单元301,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元302进行处理,以便在像素域中产生残差块;帧内预测单元303可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元304是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元302的残差块与由帧内预测单元303或运动补偿单元304产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元305以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元306中,解码图像缓存单元306存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。

本申请提出的图像解码方法可以应用于上述图4和上述图5的编解码框架中,但是本申请实施例对此不作具体限定。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

在本申请的一个实施例中,图6为本申请实施例提出的一种图像解码方法的实现流程示意图,如图6所示,在本申请的实施例中,解码器进行图像解码的方法可以包括以下步骤:

步骤101、接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元。

在本申请的实施例中,解码器可以接收码流数据,然后对接收到的码流数据进行解析,获得码流数据对应的编码树单元。其中,解码器在对码流数据进行解析后,可以获得大小相同的至少一个编码树单元。

需要说明的是,在本申请的实施例中,编码器进行视频编码时,是对视频中的多帧图像进行一帧一帧的编码。在任一时刻,正在编码中的那一帧图像可以称为当前编码图像。编码器在对视频中当前编码图像进行编码时,需要先把当前编码图像划分成大小完全相同的编码树单元,然后在进行一步将编码树单元继续划分成大小不一定相同的编码单元进行编码。例如,编码器可以对当前编码图像进行划分,获得大小完全相同的64x64像素的编码树单元,即获得由64x64个像素点组成的编码树单元。其中,在本申请的实施例中,编码器对当前编码图像进行交叠划分时,允许编码单元和编码单元之间存在交叠,为了并行处理和降低编码复杂度的需要,编码树单元和编码树单元之间不存在交叠。

需要说明的是,在本申请的实施例中,编码器可以通过多类型树划分技术MTT对当前编码图像进行交叠划分并编码,然后获得当前编码图像对应的码流数据,解码器可以根据码流数据对当前编码图像进行解码,获得编码树单元,再进一步获得编码单元。

进一步地,在本申请的实施例中,解码器进行视频解码时,是对视频中的多帧图像的码流数据进行一帧一帧的解码。在任一时刻,正在解码中的那一帧图像可以称为当前解码图像。

需要说明的是,在本申请的实施例中,解码器对当前解码图像进行解码时,编码树单元和编码树单元之间不存在交叠,但是允许编码单元和编码单元之间存在交叠。也就是说,在本申请的实施例中,解码器解码时,在重建帧缓冲这个位置,会出现多个编码单元同时携带同一区域的解码像素数据,其中一个编码单元较大,可视为背景编码单元,一个编码单元较小,可视为刷新编码单元。背景编码单元解码重建数据,会被刷新编码单元携带的这个位置的像素数据覆盖掉,也就是刷新过程。在本申请中,这种用刷新编码单元对背景编码单元进行刷新的解码模式为刷新解码模式。

进一步地,在本申请的实施例中,解码器在进行视频解码时,可以选择开启用于进行编码单元刷新的刷新解码模式。具体地,解码器可以设置高层控制语法,在PPS或者SPS中可以以一个使能开关语法PPSRfrsEnbl或者SPSRfrsEnbl来说明当前是否支持刷新解码模式。

也就是说,在本申请的实施中,解码器在接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元之后,即步骤101之后,可以开启预设刷新模式。具体地,预设刷新模式可以用于在编码单元之间进行交叠解码。

步骤102、解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断。

在本申请的实施例中,解码器可以先对编码树单元对应的第i层的第i结点进行解析处理,以获得第i结点对应的第i状态参数和第i标识参数。具体地,i为大于0的整数,例如,i可以为1、2、3等。

需要说明的是,在本申请的实施例中,第i状态参数可以用于对第i结点的默认状态进行确定。其中,第i状态参数可以包括第i子树默认状态和第i数据默认状态。具体地,第i子树默认状态用于表示第i结点是否支持刷新的状态;第i数据默认状态用于确定第i结点是否存在源数据。

进一步地,在本申请的实施例中,视频编解码的具体语法中,可以通过bRfrsEnblFlag确定第i子树默认状态,即bRfrsEnblFlag可以表示编码树单元的当前结点是否支持刷新的状态,具体地,当bRfrsEnblFlag赋值为0时,可以认为编码树单元的当前结点不支持刷新,当bRfrsEnblFlag赋值为1时,可以认为编码树单元的当前结点支持刷新。

进一步地,在本申请的实施例中,对于编码树单元的第一层的第一结点,即i=1时,第i子树默认状态的默认值为SPSRfrsEnbl,其中,SPSRfrsEnbl为在SPS层可以声明的是否支持刷新的标志,也可以是在PPS层进行使能控制确定的;当i不为1时,第i子树默认状态可以通过上一层的子树默认状态进行确定,即第i子树默认状态可以根据第i-1子树默认状态进行确定。

进一步地,在本申请的实施例中,视频编解码的具体语法中,可以通过bAncFlag确定第i数据默认状态,即bAncFlag可以表示编码树单元的当前结点的是否存在源数据,具体地,当bAncFlag赋值为0时,可以认为编码树单元的当前结点不存在源数据,当bAncFlag赋值为1时,可以认为编码树单元的当前结点存在源数据。

进一步地,在本申请的实施例中,对于编码树单元的第一层的第一结点,即i=1时,第i数据默认状态的默认值为0;当i不为1时,第i数据默认状态可以通过上一层的数据默认状态进行确定,即第i数据默认状态可以根据第i-1数据默认状态进行确定。

需要说明的是,在本申请的实施例中,第i标志参数可以用于对第i结点的数据标志进行确定。其中,第i状态参数可以包括第i子树标识和第i数据标识。具体地,第i子树标识用于表示第i结点的子树上是否存在可以进行刷新的编码单元;第i数据标识用于确定第i结点是否存在数据。

进一步地,在本申请的实施例中,视频编解码的具体语法中,可以通过Refresh_CU_enable_flag[x0][y0]确定第i子树标识,即Refresh_CU_enable_flag[x0][y0]可以表示编码树单元的当前结点是否存在可以进行刷新的编码单元,具体地,当Refresh_CU_enable_flag[x0][y0]赋值为0时,可以认为编码树单元的当前结点不存在可以进行刷新的编码单元,当Refresh_CU_enable_flag[x0][y0]赋值为1时,可以认为编码树单元的当前结点存在可以进行刷新的编码单元。

进一步地,在本申请的实施例中,视频编解码的具体语法中,可以通过Refresh_CU_flag[x0][y0]确定第i数据标识,即Refresh_CU_flag[x0][y0]可以表示编码树单元的当前结点是否存在数据,具体地,当Refresh_CU_flag[x0][y0]赋值为0时,可以认为编码树单元的当前结点不存在数据,当Refresh_CU_flag[x0][y0]赋值为1时,可以认为编码树单元的当前结点存在数据。

进一步地,在本申请的实施例中,视频编解码的具体语法传输中,bAncFlag、Refresh_CU_enable_flag[x0][y0]以及Refresh_CU_flag[x0][y0]可能存在未被传输的情况。具体地,Refresh_CU_flag[x0][y0]和Refresh_CU_flag[x0][y0]是否存在始终以当前的结点是否为叶子结点、bRfrsEnblFlag和bAncFlag的值为前提。

需要说明的是,在本申请的实施例中,编码树单元可以对应有至少一层结点,而每一层的任一个结点都可能存在数据,其中,祖先结点的数据可以被其子孙结点的数据覆盖,因此,解码器在对编码树单元进行解码时,需要逐层检测在结点上是否存在数据,从而可以进一步对有数据的结点进行解码处理,构建出对应的编码单元。相比之下,现有技术中,对于一个编码树单元,数据仅仅存在于树结构中的不能继续分割的结点,即叶子上,因此,解码器需要对每一个叶子进行解析和解码处理。图7为现有技术中编码树单元的结构示意图,图8为本申请实施例中编码树单元的结构示意图,如图7和图8所示,对于同样的编码树单元,由于现有技术中编码单元和编码单元不能交叠划分,因此,编码树单元对应的树结构中,只有叶子上会有数据,解码器在解码时,需要对全部叶子进行数据解析,构建出编码单元。而本申请的实施例中,编码单元和编码单元可以交叠划分,因此,编码树单元对应的树结构中,任意一中间结点上都可能存在数据,对于任意一个编码树单元,可以在每一个结点上检测是否有数据存在,如果存在数据,则进行解码,获得相应的编码单元,而不需要对全部叶子进行数据解析,从而避免大量小块划分,可以提高解码效率。进一步地,在本申请的实施例中,编码器在进行图像编码时,不仅仅以叶子结点作为编码单元,而是可以对中间结点进行压缩编码。但是中间结点中要除去部分的子孙结点的结点信息,例如,通过掩码,并以补0、插值或外扩补充的方式进行。图7和图8相比,编码器通过将不规则的多个区域集中在一个区域中编码,可以降低编码分割的细碎程度,其中原本与背景不同的区域通过数据的扩充而暂时视为与其他背景区域相同,以降低表示所用比特数;而与背景不同的块还需要通过单独编码,并刷新覆盖背景块,来获得与原来相同的图像内容。由此,原来的分割树中某些分割将不必再分,减少了部分头信息;而且,由于平坦的图像区域是以低频分量为主的,对应的能量全部集中在区域的左上角部分,划分的减少更有利于能量的集中,与过度分割相比也将节省部分像素域转换后的频域数据。具体地,图8中分割树中的虚线部分,并不存在有效数据,所以这部分的划分信息可以略去。

进一步地,在本申请的实施例中,编码树单元对应的第i层数据中可以存在至少一个结点,因此,编码树单元对应的第i层的第i结点为第i层中的全部结点,也就是说,解码器可以对编码树单元对应的第i层中的全部第i结点进行检测处理,获得每一个第i结点对应的检测结果,即检测获得第i层全部结点对应的全部检测结果。

步骤103、根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果。

在本申请的实施例中,解码器在对编码树单元对应的第i层的第i结点进行解析处理,获得第i结点对应的第i状态参数和第i标志参数之后,便可以根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果。

需要说明的是,在本申请的实施例中,解码器在确定第i状态参数和第i标志参数之后,可以进一步结合第i结点的叶子参数,根据第i状态参数和第i标志参数,判断第i结点是否存在数据。

进一步地,在本申请的实施例中,第i结点的叶子参数可以用于判断第i结点是否为编码树单元中的叶子。

需要说明的是,在本申请的实施例中,解码器在根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果时,可以先确定第i结点对应的叶子参数;其中,叶子参数用于判断第i结点是否继续分割;然后按照叶子参数、第i状态参数以及第i标志参数,获得第i检测结果。也就是说,解码器可以根据第i结点对应的叶子参数确定出第i结点是否可以继续分割。

进一步地,在本申请的实施例中,为了确定第i结点是否存在数据以及是否可以继续分割,解码器进行对第i结点进行检测处理,相应地,第i检测结果可以包括存在数据且分割、不存在数据且分割、存在数据且不分割以及不存在数据且不分割四种。

需要说明的是,在本申请的实施例中,视频编解码的具体语法传输中,由于bAncFlag、Refresh_CU_enable_flag[x0][y0]以及Refresh_CU_flag[x0][y0]可能存在未被传输的情况,因此解码器需要根据叶子参数、第i状态参数以及第i标志参数,进一步对第i结点是否存在数据进行推算和确定。

步骤104、根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点。

在本申请的实施例中,解码器在根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果之后,可以根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点。

需要说明的是,在本申请的实施中,解码器在进行检测处理获得第i检测结果之后,由于第i检测结果可以包括存在数据且分割、不存在数据且分割、存在数据且不分割以及不存在数据且不分割四种,因此,解码器可以根据不同的检测结果,进一步对第i结点进行相应地处理。

进一步地,在本申请的实施例中,当第i检测结果为存在数据且分割时,解码器可以获取第i层的第i编码单元数据,然后对第i结点进行分割处理,获得编码树单元对应的第i+1层的第i+1结点。

需要说明的是,在本申请的实施中,解码器在对第i结点进行检测处理之后,如果确定第i结点上存在有数据且第i结点可以继续分割处理,那么解码器需要先获取对应的数据,即获得编码树单元中第i结点对应的第i编码单元数据。其中,由于编码树单元对应的第i层中可以有至少一个第i结点,因此,解码器在依次对第i层的全部第i结点进行检测处理之后,可以对检测结果为存在数据的第i结点进行数据的获取,从而获得第i结点对应的第i编码单元数据。进一步,解码器在获得对应的第i编码单元数据之后,便可以继续对第i结点进行分割处理,获得第i层的下一层结点,即获得编码树单元对应的第i+1层的第i+1结点。

进一步地,在本申请的实施例中,当第i检测结果为不存在数据且分割时,对第i结点进行分割处理,获得编码树单元对应的第i+1层的第i+1结点。在本申请的实施例中,解码器在对编码树单元对应的第i层的第i结点进行检测处理,获得第i检测结果之后,如果第i检测结果为不存在数据且分割时,那么解码器便不需要进行数据的获取,而是直接进行分割处理,获得下一层的结点,即第i+1层的第i+1结点。

进一步地,在本申请的实施例中,由于编码树单元对应的第i层中可以有至少一个第i结点,因此,解码器在依次对第i层的全部第i结点进行检测处理之后,可以对检测结果为可以继续分割的第i结点进行分割处理,获得每一个第i结点对应的第i+1层的第i+1结点,也就是说,对于每一个可以继续分割的第i结点,解码器都可以分割获得至少一个第i+1结点。

由此可见,在本申请的实施例中,只要第i结点可以分割,那么无论第i结点是否存在数据,解码器都需要继续对第i结点进行分割处理,从而获得第i+1层的第i+1结点。

进一步地,在本申请的实施例中,当第i检测结果为存在数据且不分割时,获取第i层的第i编码单元数据,并结束第i结点的解析处理。

需要说明的是,在本申请的实施中,解码器在对第i结点进行检测处理之后,如果确定第i结点上存在有数据且第i结点不可以继续分割处理,那么解码器需要先获取对应的数据,即获得编码树单元中第i结点对应的第i编码单元数据。其中,由于编码树单元对应的第i层中可以有至少一个第i结点,因此,解码器在依次对第i层的全部第i结点进行检测处理之后,可以对检测结果为存在数据的第i结点进行数据的获取,从而获得第i结点对应的第i编码单元数据。进一步,由于第i结点不可以继续分割,因此解码器在获得对应的第i编码单元数据之后,便可以结束第i结点的解析处理。

进一步地,在本申请的实施例中,当第i检测结果为不存在数据且不分割时,解码器便不需要进行数据的获取,同时,也不需要进行分割处理,而是直接结束第i结点的解析处理。

需要说明的是,在本申请的实施例中,编码器可以在分割产生的每一个矩形区域进行是否存在数据的判断,并在存在数据的情况下,获取该结点对应的编码单元数据,例如,对于存在数据的第i结点,可以获取第i结点的第i编码单元数据,进一步地,在本申请的实施例中,第i编码单元数据可以包括标识信息、预测信息以及变换系数等。进一步地,解码器可以根据第i编码单元数据获得对应的第i背景像素数据。

步骤105、继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据。

在本申请的实施例中,解码器在根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点之后,便可以继续对第i+1结点进行检测处理,然后遍历编码树单元对应的全部结点,即对编码树单元的全部结点进行检测处理,直到获得编码树单元对应全部编码单元。

需要说明的是,在本申请的实施例中,解码器在分割获得第i+1层的第i+1结点之后,便可以按照上述步骤101至上述步骤104的方法,继续对第i+1结点进行检测处理,从而获得第i+1结点对应的i+1编码单元数据以及第i+2层的第i+2结点,并按照上述步骤101至上述步骤104的方法递归处理处理后,便可以获得编码树单元对应全部编码单元数据。

进一步地,在本申请的实施例中,对于编码树单元的任意一层的结点,解码器都可以按照上述步骤101至上述步骤104的方法进行递归处理,即对于任意一个结点,解码器都可以先根据状态参数和标志参数进行检测处理,然后对存在数据且分割的结点进行数据的获取,获得相应的编码单元数据,并继续进行分割处理获得下一层的结点;对于不存在数据且分割的结点则直接进行分割处理,获得下一层的结点;对于存在数据且不分割的结点进行数据的获取,获得相应的编码单元数据,并结束解码处理;对于不存在数据且不分割的结点直接结束解码处理。综上所述,解码器在按照上述步骤101至上述步骤104的方法对编码树单元进行层层递归处理之后,便可以获得编码树单元对应全部编码单元数据。

步骤106、根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。

在本申请的实施例中,解码器在获得编码树单元对应全部编码单元数据之后,便可以根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。

需要说明的是,在本申请的实施例中,解码器在根据全部结点和全部编码单元数据,生成码流数据对应的解码图像时,可以先对全部编码单元数据进行解码处理,获得编码树单元对应的全部像素数据;然后便可以按照全部像素数据,生成码流数据对应的解码图像。

进一步地,在本申请的实施中,解码器在对全部编码单元数据进行解码处理,获得编码树单元对应的全部像素数据时,如果第i结点存在数据且不分割,那么解码器可以对第i编码单元数据解码获得第i像素数据;如果第i结点存在数据且分割时,对第i编码单元数据解码获得第i背景像素数据,对第i+1编码单元数据解码获得第i刷新像素数据,以获取第i像素数据,并遍历全部结点,直到获得全部像素数据。

进一步地,在本申请的实施中,解码器在按照全部像素数据,生成码流数据对应的解码图像时,当第i结点存在数据且分割时,按照第i刷新像素数据对第i背景像素数据进行刷新处理,得到刷新后的像素数据,即获得第i像素数据;继续遍历全部结点,直到获得解码图像。

也就是说,如果第i结点不能继续分割,即第i结点在编码树单元中为叶子结点,那么解码器解码获得的第i像素数据即为第i编码单元对应的像素数据;如果第i结点能继续分割,即第i结点在编码树单元中不是叶子结点,那么解码器需要获取第i+1结点的第i+1编码单元对应的像素数据,然后以第i+1结点的第i+1编码单元对应的像素数据对第i编码单元对应的像素数据的相应区域进行刷新,得到第i编码单元对应的像素数据。

需要说明的是,在本申请的实施中,解码器在对全部编码单元数据进行解码处理,获得编码树单元对应的全部像素数据时,也可以先解码下层数据,再解码上层数据。具体地,解码器在对全部编码单元数据进行解码处理,获得编码树单元对应的全部像素数据时,如果第i结点存在数据且分割时,解码器可以获取第i+1编码单元数据,对第i+1编码单元数据解码获得第i结点对应的第i刷新像素数据;然后对第i编码单元数据解码获得第i背景像素数据;再将第i背景像素数据设置为第i刷新像素数据的背景,从而便可以获得第i编码单元;编码器可以继续遍历全部结点,直到获得全部像素数据。

需要说明的是,在本申请的实施例中,如果第i检测结果为不存在数据时,第i背景像素数据保持为空。

需要说明的是,在本申请的实施例中,解码器在根据全部编码单元数据生成解码图像时,可以先对全部编码单元数据进行解码处理,获得编码树单元对应的全部像素数据,如果全部像素数据中的背景编码单元对应的背景像素数据与刷新编码单元对应的刷新像素数据存在区域重合,那么解码器可以按照刷新编码单元的像素数据替换掉背景编码单元的对应区域像素数据,即以刷新编码单元对背景编码单元进行刷新。

也就是说,在本申请的实施例中,解码器在根据全部编码单元,生成码流数据对应的解码图像时,如果全部编码单元中的第m编码单元对应的像素数据与第n编码单元对应的像素数据存在重合区域时,解码器可以按照第n编码单元对应的像素数据对第m编码单元对应的像素数据进行刷新处理,以生成解码图像。其中,m为大于0的整数,n为大于m的整数,即第n编码单元为第m编码单元的刷新编码单元。

现有技术中,编码器在进行视频图像编码时,编码单元和编码单元是不存在互相交叠的,因此对于任何细小的图像信息都需要进行细小的编码单元的划分,相应地,解码器在进行视频图像解码时,解码获得的编码单元也不会存在区域重合的情况;相比之下,本申请实施例提出的图像解码方法,正是由于编码器在进行图像编码时支持编码单元和编码单元互相交叠,从而可以避免对图形的细小划分,相应地,解码器在进行视频图像解码时,如果全部像素数据中的背景编码单元对应的背景像素数据与刷新编码单元对应的刷新像素数据存在区域重合,那么解码器可以按照刷新编码单元的像素数据替换掉背景编码单元的对应区域像素数据,即以刷新编码单元对背景编码单元进行刷新。

进一步地,在本申请的实施例中,在解码过程中,背景编码单元的数据,如预测信息、标识信息以及变换系数等,也可以被刷新编码单元数据刷新替换。

也就是说,在本申请的实施例中,解码器在解码过程中,无论缓存的像素数据,还是预测信息、标识信息以及变换系数等,均使用当前最新数据,其中,最新的数据可以为编码树单元背景编码单元对应像素数据,既可以为还未被刷新覆盖的背景编码单元的数据,也可以为被刷新编码单元解码图像替换后的数据。

需要说明的是,在本申请的实施例中,编码器和解码器也可以在预测和/或变换环节允许编码单元的区域交叠,相应的,一个编码树单元可以存在对应的背景预测单元和刷新预测单元,也可以存在对应的背景变换单元和刷新变换单元。

进一步地,在本申请的实施例中,在解码过程中,解码器可以及时或不及时刷新用于后续块预测的信息。

基于上述步骤101至步骤106提出的图像解码方法,图9为本申请实施例提出的图像解码方法流程示意图一,如图9所示,对于编码树单元中的任意一个可以继续分割的结点,解码器可以先进行解析处理,根据解析处理获得的状态参数和标志参数判断该结点上是否存在数据,如果检测结果为存在数据,那么解码器可以对数据进行获取,获得对应的标识信息、预测信息以及变换系数,从而通过解码处理获得对应的编码单元,然后进入分割处理流程;如果检测结果为不存在数据,那么解码器可以直接进入分割处理流程。在分割处理流程中,解码器可以先判断该结点是否可以进行四叉树分割,如果判定不可以进行四叉树分割,那么解码器可以继续判断该结点是否可以进行二叉树分割或者三叉树分割;如果可以进行四叉树分割,那么可以在对该结点进行四叉树分割后,对分割后的各个结点再次判断是否可以进行四叉树分割,如果可以,则递归解码各个结点,如果不可以,那么可以继续判断分割后的各个结点是否进行二叉树分割或者三叉树分割的判定;在进行二叉树分割或者三叉树分割的确定时,需要对二叉树分割或者三叉树分割的分割方向进行确定,即确定是垂直分割还是水平分割,最后,对分割后的结点进行递归解码。最终便可以获得该编码树单元对应的全部编码单元数据。

需要说明的是,在本申请的实施例中,对于数据存在于编码树单元对应的左上侧的情况,解码器可以先对左上侧编码单元进行递归解码,然后再对数据进行解析;对于数据存在于编码树单元对应的左侧的情况,解码器可以先对左侧编码单元进行递归解码,然后再对数据进行解析;对于数据存在于编码树单元对应的上侧的情况,解码器可以先对上侧编码单元进行递归解码,然后再对数据进行解析。

进一步地,在本申请的实施例中,解码器在进行图像解码时,还可以将对一个结点进行是否存在数据的判断流程放到对该结点进行分割标识解析之后的每个分支上,从而可以有效地节省传输信号的比特个数。基于上述图9,图10为本申请实施例提出的图像解码方法流程示意图二,如图10所示,对于任意一个编码树单元中的可以继续分割的结点,解码器可以先判断该结点是否可以进行四叉树分割,如果判定不可以进行四叉树分割,那么解码器可以继续判断该结点是否可以进行二叉树分割或者三叉树分割;如果可以进行四叉树分割,那么可以在对该结点进行四叉树分割后,对分割后的各个结点再次判断是否可以进行四叉树分割,如果可以,则递归解码各个结点,以获得该结点上分支的分割标识,如果不可以,那么可以继续判断分割后的各个结点是否进行二叉树分割或者三叉树分割的判定,以获得该结点上分支的分割标识;在解析获得该结点的每个分支上的分割标识之后,解码器可以对每个分支进行解析处理,然后根据解析处理获得的状态参数和标志参数判断该结点上是否存在数据,如果存在数据,那么解码器可以对数据进行获取,获得对应的标识信息、预测信息以及变换系数,从而获得该结点对应的编码单元,并对分割后各个分支进行递归解码;如果不存在数据,那么解码器可以直接对分割后各个分支进行递归解码。最终便可以获得该编码树单元对应的全部编码单元数据。

本申请实施例提供了一种图像解码方法,解码器接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。由此可见,在本申请的实施例中,在对视频中的图像进行解码的过程中,在接收到码流数据并解析获得编码树单元之后,可以对编码树单元对应的每一层的结点进行解析处理,获得该层结点的状态参数和标志参数,然后根据状态参数和标志参数对结点进行检测处理,再对存在数据的结点进行解码处理,获得编码树单元对应的全部编码单元,以获得对应的解码图像。其中,由于在编码时支持编码单元与编码单元的交叠划分,因此,解码器对存在数据的结点进行解码获得的全部编码单元中,如果存在区域重合的至少两个编码单元,那么解码器可以按照刷新编码单元对应的图像信息对背景编码单元对应的图像信息进行刷新处理,从而可以避免对视频图像的过度划分,减少不必要的头信息,以及避免分散重复表示同一区域特性相似的数据,进而提高编码效率。。

在本申请的另一实施例中,基于上述实施例,对于上述步骤102,解码器根据第i状态参数和第i标志参数,判断第i结点是否存在数据的方法可以包括以下步骤:

步骤103a、确定第i结点对应的叶子参数;其中,叶子参数用于判断第i结点是否继续分割。

在本申请的实施例中,解码器可以先确定第i结点的叶子参数,具体地,叶子参数可以用于对第i结点是否继续分割进行判断,即解码器先确定第i结点是否为编码树单元的叶子。

需要说明的是,在本申请的实施例中,如果第i结点为叶子,即第i结点不存在分支,那么解码器可以确定不需要对第i结点进行刷新的处理,而是直接进行普通的解码流程。

需要说明的是,在本申请的实施例中,如果第i结点不为叶子,即第i结点存在分支,那么解码器可以进一步确定是否对第i结点进行刷新的处理。

进一步地,在本申请的实施例中,当叶子参数赋值为0时,可以表示不为叶子结点,当叶子参数赋值为1时,可以表示为叶子结点。

步骤103b、按照叶子参数、第i状态参数以及第i标志参数,获得第i检测结果。

在本申请的实施例中,解码器在确定第i结点的叶子参数之后,便可以按照叶子参数、第i状态参数以及第i标志参数,获得第i检测结果。

需要说明的是,在本申请的实施例中,视频编解码的具体语法传输中,由于bAncFlag、Refresh_CU_enable_flag[x0][y0]以及Refresh_CU_flag[x0][y0]可能存在未被传输的情况,同时,Refresh_CU_flag[x0][y0]和Refresh_CU_flag[x0][y0]是否存在始终以当前的结点是否为叶子结点、bRfrsEnblFlag以及bAncFlag的值为前提,因此解码器需要根据叶子参数、第i状态参数以及第i标志参数,进一步对第i结点是否存在数据进行推算和确定。

在本申请的实施例中,进一步地,解码器在继续对第i+1结点进行解析处理、分割处理和/或解码处理之前,需要先根据叶子参数、第i状态参数以及第i标志参数,传输第i+1状态参数。

需要说明的是,在本申请的实施例中,第i+1状态参数可以用于对第i+1结点的默认状态进行确定。其中,第i+1状态参数可以包括第i+1子树默认状态和第i+1数据默认状态。具体地,第i+1子树默认状态用于表示第i结点是否支持刷新的状态;第i+1数据默认状态用于确定第i结点是否存在源数据。

进一步地,在本申请的实施例中,对于编码树单元的第i+1结点,第i+1子树默认状态可以通过上一层的子树默认状态进行确定,即第i+1子树默认状态可以根据第i子树默认状态进行确定。

进一步地,在本申请的实施例中,对于编码树单元的第i+1结点,第i+1数据默认状态可以通过上一层的数据默认状态进行确定,即第i+1数据默认状态可以根据第i数据默认状态进行确定。

在本申请的实施例中,进一步地,解码器根据叶子参数、第i状态参数以及第i标志参数,传输第i+1状态参数时,可以先根据叶子参数、第i状态参数以及第i标志参数,判断是否进行状态刷新;如果判定进行默认状态刷新,那么解码器可以对第i状态参数进行刷新处理,获得第i+1状态参数;如果判定不进行状态刷新,那么解码器可以将第i状态参确定为第i+1状态参数。

表1为本申请实施例中语法传输及状态刷新情况组合分析表,如表1所示,解码器可以根据一个结点的叶子参数、通过bRfrsEnblFlag表示的子树默认状态、通过bAncFlag表示的数据默认状态、通过Refresh_CU_enable_flag[x0][y0]表示的子树标志以及通过Refresh_CU_flag[x0][y0]表示的数据标志这5个参数,进一步对该结点是否存在数据进行判断,即确定是否对该结点进行解码。同时,解码器还可以通过该结点的这5个参数对下一层结点的子树默认状态和数据默认状态进行确定。其中,对于编码树单元的第一层的第一结点,即i=1时,第一子树默认状态的默认值为SPSRfrsEnbl,其中,SPSRfrsEnbl为在SPS层可以声明的是否支持刷新的标志,也可以是在PPS层进行使能控制确定的;而第一数据默认状态的默认值为0。

表1:语法传输及状态刷新情况组合分析表

进一步地,基于上述表1,当编码树单元中的一个结点不为叶子结点,即叶子参数为0,子树默认状态bRfrsEnblFlag赋值为1,即支持子树进行编码单元的刷新处理,数据默认状态bAncFlag为0,即该结点不存在源数据,子树标志Refresh_CU_enable_flag[x0][y0]为0,即该结点的子树上不存在可以进行刷新的编码单元,数据标志Refresh_CU_flag[x0][y0]未被传输,那么,根据以上5个参数,解码器可以确定该结点不存在数据,因此确定不对该结点进行解码处理,进一步地,解码器还可以按照该结点的子树默认状态bRfrsEnblFlag对下一层的子树默认状态进行刷新,即传输至下一层的子树默认状态赋值为1,同时,解码器可以确定不对下一层的数据默认状态进行刷新,即传输至下一层的数据默认状态依然为0。

基于上述表1,图11为本申请实施例中状态参数和标志参数的示意图,如图11所示,对于编码树单元第一层的第一结点,该第一结点的子树默认状态bRfrsEnblFlag赋值为1,即支持子树进行编码单元的刷新处理,且该第一结点的不同子树存在不同的支持情况,数据默认状态bAncFlag为0,即该结点不存在源数据,子树标志Refresh_CU_enable_flag[x0][y0]为1,即该第一结点的子树上存在可以进行刷新的编码单元,数据标志Refresh_CU_flag[x0][y0]为0,即该第一结点不存在数据,由于第一结点不为叶子结点,即叶子参数为0,因此,解码器基于上述表1可以判定不对第一结点进行解码处理,同时可以确定传输至下一层的结点的子树默认状态为1,数据默认状态为0。可以看出,对于编码树单元第二层的四个第二结点,子树默认状态均为1,数据默认状态也均为0。

本申请实施例提供了一种图像解码方法、解码器以及存储介质,解码器接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。由此可见,在本申请的实施例中,在对视频中的图像进行解码的过程中,在接收到码流数据并解析获得编码树单元之后,可以对编码树单元对应的每一层的结点进行解析处理,获得该层结点的状态参数和标志参数,然后根据状态参数和标志参数对结点进行检测处理,再对存在数据的结点进行解码处理,获得编码树单元对应的全部编码单元,以获得对应的解码图像。其中,由于在编码时支持编码单元与编码单元的交叠划分,因此,解码器对存在数据的结点进行解码获得的全部编码单元中,如果存在区域重合的至少两个编码单元,那么解码器可以按照刷新编码单元对应的图像信息对背景编码单元对应的图像信息进行刷新处理,从而可以避免对视频图像的过度划分,减少不必要的头信息,以及避免分散重复表示同一区域特性相似的数据,进而提高编码效率。

基于上述实施例,解码器对第i结点进行分割处理,获得编码树单元对应的第i+1层的第i+1结点的方法可以包括以下步骤,

步骤201、获取第i结点对应的第i分割模式。

在本申请的实施例中,解码器在对第i结点进行分割时,可以先获取第i结点对应的第i分割模式。

需要说明的是,在本申请的实施例中,第i分割模式可以包括QT、QTBT、TT以及BT等中的一种分割模式。需要说明的是,第i分割模式还可以为MTT,其中,MTT并不是与QT、BT、TT并列的方案,它包括多种分割方法,也就是QT、BT、TT共存的总称。而QTBT与其类似,是QT、BT并列的方案,它包括多种分割方法,也就是QT、BT共存的总称。

步骤202、按照第i分割模式对第i结点进行分割处理,获取第i+1结点。

在本申请的实施例中,解码器在获取第i结点对应的第i分割模式之后,便可以按照第i分割模式对第i结点进行分割处理,从而便可以获取第i+1结点。

需要说明的是,在本申请的实施中,解码器基于第i分割模式对第i结点进行分割处理,每一个第i结点都可以分割获得至少两个叶子,既可以获得至少两个第i+1结点。

本申请实施例提供了一种图像解码方法、解码器以及存储介质,解码器接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。由此可见,在本申请的实施例中,在对视频中的图像进行解码的过程中,在接收到码流数据并解析获得编码树单元之后,可以对编码树单元对应的每一层的结点进行解析处理,获得该层结点的状态参数和标志参数,然后根据状态参数和标志参数对结点进行检测处理,再对存在数据的结点进行解码处理,获得编码树单元对应的全部编码单元,以获得对应的解码图像。其中,由于在编码时支持编码单元与编码单元的交叠划分,因此,解码器对存在数据的结点进行解码获得的全部编码单元中,如果存在区域重合的至少两个编码单元,那么解码器可以按照刷新编码单元对应的图像信息对背景编码单元对应的图像信息进行刷新处理,从而可以避免对视频图像的过度划分,减少不必要的头信息,以及避免分散重复表示同一区域特性相似的数据,进而提高编码效率。

在本申请的再一实施例中,基于上述实施例,按照上述步骤101至上述步骤106的图像解码方法,对解码器进行图像解码时的分割处理进行示例性说明。

图12为分割处理的示意图一,图13为分割处理的示意图二,如图12和图13所示,编码树单元对不存在数据的第一结点A11进行QT分割后,获得的左上侧编码块A21、右上侧编码块A22、左下侧编码块A23以及右下侧编码块A24都存在数据,即编码树单元的第二层的四个第二结点均存在数据,由于A23还可以再分割处理,因此编码器可以对A23进行QT分割,获得第三层的四个第三结点,其中,四个第三结点均不存在数据,一个第三结点还可以再进行垂直BT分割,分割后获得第四层的两个第四结点分别为A41和A42,其中,A41和A42均不可以再进行分割,A42上存在数据。由此可见,本申请提出的图像解码方法,只需要对存在数据的A21、A22、A23、A24以及A42进行解码处理,获得对应的编码单元,其中,由于A42和A23存在重合区域,那么解码器可以按照A42对应的编码单元对A23对应的编码单元进行刷新,最后便可以获得编码树对应的解码图像。

图14为分割处理的示意图三,图15为分割处理的示意图四,如图14和图15所示,编码树单元的第一层的第一结点存在数据,且对第一结点B11进行QT分割后的,获得的左上侧编码块B21、右上侧编码块B22、左下侧编码块B23以及右下侧编码块B24中,B23存在数据,由于B23还可以再分割处理,因此编码器可以对B23进行QT分割,获得第三层的四个第三结点,其中,四个第三结点均不存在数据,一个第三结点还可以再进行垂直BT分割,分割后获得第四层的两个第四结点分别为B41和B42,其中,B41和B42均不可以再进行分割,B42上存在数据。由此可见,本申请提出的图像解码方法,只需要对存在数据的B11、B23以及B42进行解码处理,获得对应的编码单元,其中,由于B23和B11存在重合区域,B23和B42存在重合区域,那么解码器可以按照B23对应的编码单元对B11对应的编码单元进行刷新,获得B23对应的刷新后的编码单元,然后按照B42对应的编码单元对B23对应的刷新后的编码单元进行刷新,最后便可以获得编码树对应的解码图像。

图16为分割处理的示意图五,图17为分割处理的示意图六,如图16和图17所示,编码树单元的第一层的第一结点存在数据,且对第一结点C11进行QT分割后的,获得的左上侧编码块C21、右上侧编码块C22、左下侧编码块C23以及右下侧编码块C24均不存在数据,由于C23和C23还可以再分割处理,因此编码器可以对C22和C23分别进行QT分割,获得第三层的八个第三结点,包括与C22对应的四个第三结点和与C23对应的四个第三结点,其中,八个第三结点均不存在数据,其中两个第三结点还可以再进行垂直CT分割,分割后获得第四层的四个第四结点分别为C41、C42、C43以及C44,其中,C41、C42、C43以及C44均不可以再进行分割,C41和C44上存在数据。由此可见,本申请提出的图像解码方法,只需要对存在数据的C11、C41以及C44进行解码处理,获得对应的编码单元,其中,由于C41、C44分别与C11存在重合区域,因此解码器可以按照C41对应的编码单元对C11对应的编码单元进行刷新,同时,按照C44对应的编码单元对C11对应的编码单元进行刷新,最后便可以获得编码树对应的解码图像。

本申请实施例提供了一种图像解码方法、解码器以及存储介质,解码器接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。由此可见,在本申请的实施例中,在对视频中的图像进行解码的过程中,在接收到码流数据并解析获得编码树单元之后,可以对编码树单元对应的每一层的结点进行解析处理,获得该层结点的状态参数和标志参数,然后根据状态参数和标志参数对结点进行检测处理,再对存在数据的结点进行解码处理,获得编码树单元对应的全部编码单元,以获得对应的解码图像。其中,由于在编码时支持编码单元与编码单元的交叠划分,因此,解码器对存在数据的结点进行解码获得的全部编码单元中,如果存在区域重合的至少两个编码单元,那么解码器可以按照刷新编码单元对应的图像信息对背景编码单元对应的图像信息进行刷新处理,从而可以避免对视频图像的过度划分,减少不必要的头信息,以及避免分散重复表示同一区域特性相似的数据,进而提高编码效率。

在本申请的另一实施例中,上述实施例提出的图像解码方法,是基于编码器在进行图像编码时支持编码单元和编码单元互相交叠而提出的,编码器在进行编码时支持编码单元之间的互相交叠,可以避免对图形的细小划分,相应地,解码器在进行视频图像解码时,如果全部像素数据中的背景编码单元对应的背景像素数据与刷新编码单元对应的刷新像素数据存在区域重合,那么解码器可以按照刷新编码单元的像素数据替换掉背景编码单元的对应区域像素数据,即以刷新编码单元对背景编码单元进行刷新。

综上所述,图18为本申请实施例提出的一种图像编码方法的示意图,如图18所示,编码器在进行图像编码的方法可以包括以下步骤:

步骤301、对当前编码图像进行划分,获得当前编码图像对应的编码树单元。

在本申请的实施例中,编码器可以先对当前编码图像进行划分,从而获得当前编码图像对应的编码树单元。

进一步地,在本申请的实施例中,编码器进行视频编码时,是对视频中的多帧图像进行一帧一帧的编码。在任一时刻,正在编码中的那一帧图像可以称为当前编码图像。编码器在对视频中当前编码图像进行编码时,需要先把当前编码图像划分成大小完全相同的编码树单元。例如,编码器可以对当前编码图像进行划分,获得大小完全相同的64 64像素的编码树单元,即获得由64 64个像素点组成的编码树单元。

需要说明的是,在本申请的实施例中,编码器可以对当前编码图像进行交叠划分。具体地,编码器可以通过多类型树划分技术对当前编码图像进行交叠划分。

需要说明的是,在本申请的实施例中,编码器可以分别设置为预设刷新编码模式和普通编码模式。其中,普通编码模式即为常见的不允许编码树单元和编码树单元之间存在交叠,且编码单元和编码树单元之间也不存在交叠的编码模式;相比之下,预设刷新编码模式则允许编码树单元和编码树单元之间存在交叠的编码模式。即无论是预设刷新编码模式还是普通编码模式,编码树单元和编码树单元之间都不会存在交叠。

进一步地,在本申请的实施例中,编码器在进行视频编码时,可以选择开启预设刷新编码模式或者普通编码模式。从编码侧来看,预设刷新编码模式可以与原有方法通过率失真优化(Rate Distortion Optimization,RDO)进行模式选择,在不同的层级进行对比判断。在实现的过程中,也可以灵活选择支持的刷新层数、区域个数等。

进一步地,在本申请的实施例中,编码器对当前编码图像进行划分,获得当前编码图像对应的编码树单元之前,即步骤401之前,可以先将编码模式切换为预设刷新编码模式。

需要说明的是,在本申请的实施例中,编码器对当前编码图像进行划分时,可以按照光栅顺序排序进行编码树单元的划分,且编码器划分后可以获得多个编码树单元。

进一步地,在本申请的实施例中,在当前编码图像被划分为编码树单元后,还会继续使用MTT技术或其他分割技术进行进一步划分,最终会以编码单元为单位进行编码。

步骤302、继续对编码树单元进行划分,获得编码树单元对应的背景编码单元和刷新编码单元;其中,刷新编码单元用于覆盖背景编码单元的部分区域。

在本申请的实施例中,编码器对当前编码图像进行划分,获得当前编码图像对应的编码树单元之后,便可以继续对编码树单元进行划分,获得编码树单元对应的背景编码单元和刷新编码单元。其中,背景编码单元和刷新编码单元均为对编码树单元进行进一步划分获得的、用于图像编码的编码单元。

需要说明的是,在本申请的实施例中,刷新编码单元可以用于覆盖背景编码单元的部分区域。

进一步地,在本申请的实施例中,编码器在获得编码树单元之后,便可以按照预设刷新编码模式对编码树单元继续进行划分,从而可以获得编码树单元对应的背景编码单元和刷新编码单元。具体地,编码器可以先提取编码树单元中的像素信息,然后可以按照像素信息对编码树单元进行划分,从而可以将编码树单元划分成为背景编码单元和刷新编码单元。也就是说,编码器可以按照编码树单元中的像素信息,进一步将编码树单元划分成背景编码单元和刷新编码单元,从而便可以根据背景编码单元和刷新编码单元进行图像编码。其中,背景编码单元的部分区域可以被刷新编码单元覆盖和刷新。

图19为不交叠划分的示意图一,图20为不交叠划分的示意图二,如图19和图20所示,按照现有的视频编码方式,对于存在不同于其他区域内容的细小区域,如区域a与其他区域内容不相同,编码器在对编码树单元进行划分时,由于编码单元不允许交叠,需要按照图19或者图20的方式对编码树单元进行细致分割才能得到较好的视频编码的效果。图21为交叠划分的示意图一,图22为交叠划分的示意图二,如图21和图22所示,对于相同的区域a,编码器在对编码树单元进行划分时,由于允许编码单元互相交叠,具体地,可以将编码树单元划分为刷新编码单元掩盖替换背景编码单元,然后利用刷新编码单元掩盖替换背景编码单元的部分区域,从而避免过于细小的块划分,有效减少头信息的数量。

进一步地,在本申请的实施例中,像素域的数据是要经过离散余弦变换(DiscreteCosine Transform,DCT)和离散正弦变换(Discrete SineTransform,DST)变换转换到频率域,然后再进行量化编码传输的。例如,在一帧当前图像中,像素信息较少的平坦的图像区域,是以低频分量为主的,因此该平坦的图像区域变换后的能量全部集中在左上角位置,也就是说,在进行图像编码传输时,除了左上角的少数几个值,其他区域的数值都基本为0。这样传输时就可以只传输这少数几个值,即可表示全部区域的像素数据。相应地,如果编码并传输该平坦的图像区域需要n个数据,那么在将该平坦的图像区域划分成四个子区域后再进行编码传输,可能就需要4n个非零数据用于表示该区域了,从信息角度来说,是重复表达了相同的信息。

进一步地,在本申请的实施例中,MTT划分和QTBT划分,都是首先进行QT划分,然后在QT的各个叶子结点上再进行其他类型的划分。

进一步地,在本申请的实施例中,编码器对编码树单元进行划分所获得的背景编码单元和刷新编码单元中,可以允许一个背景编码单元被多个刷新编码单元所刷新,也允许刷新编码单元作为背景编码单元被下一层刷新编码单元所刷新。也就是说,在本申请的实施例中,预设刷新编码模式可以允许多区域刷新、多层刷新。

需要说明的是,在本申请的实施例中,编码器对编码树单元进行划分,获得编码树单元对应的背景编码单元和刷新编码单元的方法具体可以包括以下步骤:

步骤302a、对编码树单元进行划分,获得第j层对应的第j背景编码单元和第j刷新编码单元;其中,j为大于0的整数。

在本申请的实施例中,编码器对当前编码图像进行划分,获得当前编码图像对应的编码树单元之后,便可以按照MTT对编码树单元进行划分,从而可以获得第j层对应的第j背景编码单元和第j刷新编码单元;其中,j为大于0的整数。

需要说明的是,在本申请的实施中,由于预设刷新编码模式可以允许多层刷新,因此编码器在对编码树单元进行划分之后,可以获得至少一层的编码单元。

步骤302b、对第j刷新编码单元进行划分,获得第j+1层对应的第j+1背景编码单元和第j+1刷新编码单元。

在本申请的实施例中,编码器在按照MTT对编码树单元进行划分,获得第j层对应的第j背景编码单元和第j刷新编码单元之后,还可以继续按照MTT对第j刷新编码单元进行划分,获得第j+1层对应的第j+1背景编码单元和第j+1刷新编码单元。

需要说明的是,在本申请的实施中,如果编码树单元存在多层编码单元,那么,第j层的第j刷新编码单元可以继续划分出第j+1层对应的第j+1背景编码单元和第j+1刷新编码单元。即编码器对编码树单元进行划分所获得的背景编码单元和刷新编码单元中,可以允许一个背景编码单元被多个刷新编码单元所刷新,也允许刷新编码单元作为背景编码单元被下一层刷新编码单元所刷新。

步骤303、按照背景编码单元和刷新编码单元对编码树单元进行编码,生成与当前编码图像对应的码流数据。

在本申请的实施例中,编码器在对编码树单元进行划分,获得编码树单元对应的背景编码单元和刷新编码单元之后,可以按照背景编码单元和刷新编码单元对当前编码图像进行编码,生成与当前编码图像对应的码流数据。

进一步地,在本申请的实施例中,编码器在按照背景编码单元和刷新编码单元对编码树单元进行编码时,可以先对背景编码单元进行编码,然后再对刷新编码单元进行编码。即编码器在对背景编码单元进行编码,生成背景码流数据之后,然后才会对刷新编码单元进行编码,生成刷新码流数据。

需要说明的是,在本申请的实施例中,码流数据包括背景码流数据和刷新码流数据。

进一步地,在本申请的实施例中,编码器在按照背景编码单元和刷新编码单元对当前编码图像进行编码,生成当前编码图像对应的码流数据之后,便可以传输码流数据。具体地,在本申请的实施例中,编码器在传输码流数据时,可以先传输背景码流数据,然后再传输刷新码流数据。即编码器在进行码流数据的传输时,在传输背景码流数据之后,再传输刷新码流数据。

由此可见,在本申请的实施例中,编码器在根据预设刷新编码模式对编码树单元进行编码时,先编码并传输大背景编码单元,然后再编码并传输刷新编码单元;相应地,解码时也是先解码背景编码单元,再解码刷新编码单元。

进一步地,本申请的提出的编码方式可以理解为一种能实现不规则形状划分的方式,在以编码单元为单位编码的过程中,编码单元和编码单元之间并非有交叠存在,而是编码器将编码树单元划分成了背景编码单元和刷新编码单元,其中,背景编码单元的部分区域将被刷新编码单元覆盖,未被覆盖的区域是非规则形状的,这部分才是背景编码单元需要表示的区域,被覆盖的区域是属于虚拟扩展数据。其中,QTBT可以视为MTT的一个特殊情况,因此,在VVC引入MTT之后,提出方法的实施也是类似的。

进一步地,在本申请的实施例中,编码器和解码器也可以在预测和/或变换环节允许编码单元区域交叠,相应的,一个编码树单元可以存在对应的背景预测单元和刷新预测单元,也可以存在对应的背景变换单元和刷新变换单元。

进一步地,在本申请的实施例中,编码器可以通过块减法实现不规则区域分割方法。

本申请实施例提出的一种图像编码方法,在对视频中的图像进行编解码的过程中,编码器对当前编码图像进行编码单元的分割时,通过预设刷新编码模式可以获得部分区域交叠的背景编码单元和刷新编码单元,然后再进行编码;相应地,解码器在按照预设刷新解码模式对当前解码图像进行解码时,允许刷新编码单元在背景编码单元中的局部区域进行刷新,从而可以避免对视频图像的过度划分,减少不必要的头信息,进而提高编码效率。

基于上述实施例,在本申请的再一实施例中,图23为本申请实施例提出的解码器的组成结构示意图一,如图23所示,本申请实施例提出的解码器100可以包括接收部分101,解析部分102,检测部分103,获取部分104、生成部分105、传递部分106以及开启部分107。

所述接收部分101,配置于接收码流数据。

所述解析部分102,配置于解析所述码流数据,以获得所述码流数据对应的编码树单元。

所述解析部分102,还配置于解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,所述i为大于0的整数;所述第i状态参数用于对所述第i结点是否支持刷新进行判断;所述第i标志参数用于对所述第i结点是否使能刷新进行判断。

所述检测部分103,配置于根据所述第i状态参数和所述第i标志参数对所述第i结点进行检测处理,获得第i检测结果。

所述获取部分104,配置于根据所述第i检测结果,获取所述编码树单元对应的第i+1层的第i+1结点。

所述检测部分103,还配置于继续对所述第i+1结点进行所述检测处理,并遍历所述编码树单元对应的全部结点,直到获得所述编码树单元对应全部编码单元数据。

所述生成部分105,配置于根据所述全部结点和所述全部编码单元数据,生成所述码流数据对应的解码图像。

进一步地,在本申请的实施例中,所述获取部分104,具体配置于确定所述第i结点对应的叶子参数;其中,所述叶子参数用于判断所述第i结点是否继续分割;以及按照所述叶子参数、所述第i状态参数以及所述第i标志参数,获得所述第i检测结果。

进一步地,在本申请的实施例中,所述获取部分104,还具体配置于当所述第i检测结果为存在数据且分割时,获取所述第i层的第i编码单元数据,并对所述第i结点进行分割处理,获得所述编码树单元对应的第i+1层的第i+1结点;以及当所述第i检测结果为不存在数据且分割时,对所述第i结点进行分割处理,获得所述编码树单元对应的第i+1层的第i+1结点;以及当所述第i检测结果为存在数据且不分割时,获取所述第i层的第i编码单元数据,并结束第i结点的解析处理;以及当所述第i检测结果为不存在数据且不分割时,结束第i结点的解析处理。

进一步地,在本申请的实施例中,所述生成部分105,具体配置于基于所述全部结点对所述全部编码单元数据进行解码处理,获得所述编码树单元对应的全部像素数据;以及按照所述全部像素数据,生成所述码流数据对应的所述解码图像。

进一步地,在本申请的实施例中,所述传输部分106,配置于继续对所述第i+1结点进行所述检测处理之前,根据所述叶子参数、所述第i状态参数以及所述第i标志参数,传输第i+1状态参数。

进一步地,在本申请的实施例中,所述传输部分106,具体配置于根据所述叶子参数、所述第i状态参数以及所述第i标志参数,判断是否进行状态刷新;以及当判定进行默认状态刷新时,对所述第i状态参数进行刷新处理,获得所述第i+1状态参数;以及当判定不进行状态刷新时,将所述第i状态参确定为所述第i+1状态参数。

进一步地,在本申请的实施例中,所述获取部分104,具体配置于获取所述第i结点对应的第i分割模式;以及按照所述第i分割模式对所述第i结点进行分割处理,获取所述第i+1结点。

进一步地,在本申请的实施例中,所述获取部分104,还具体配置于当第i结点存在数据且不分割时,对所述第i编码单元数据解码获得第i像素数据;以及当第i结点存在数据且分割时,对所述第i编码单元数据解码获得第i背景像素数据,对第i+1编码单元数据解码获得第i刷新像素数据,以获取第i像素数据,并遍历所述全部结点,直到获得所述全部像素数据。

进一步地,在本申请的实施例中,所述获取部分104,还具体配置于按照所述第i刷新像素数据对所述第i背景像素数据进行刷新处理,得到第i像素数据;以及遍历所述全部结点,直到获得所述解码图像。

进一步地,在本申请的实施例中,所述获取部分104,还具体配置于当第i结点存在数据且分割时,获取第i+1编码单元数据,对所述第i+1编码单元数据解码获得所述第i结点对应的第i刷新像素数据;以及对所述第i编码单元数据解码获得第i背景像素数据;以及将所述第i背景像素数据设置为所述第i刷新像素数据的背景,获得第i像素数据;以及遍历所述全部结点,直到获得所述全部像素数据。

进一步地,在本申请的实施例中,所述获取部分104,还具体配置于当第i结点不存在数据时,将所述第i背景像素数据设定为空。

进一步地,在本申请的实施例中,所述生成部分105,还配置于继续对所述第i+1结点进行所述检测处理,并遍历所述编码树单元对应的全部结点,直到获得所述编码树单元对应全部编码单元数据之后,按照第i+1编码单元数据对第i编码单元数据进行刷新处理。

进一步地,在本申请的实施例中,所述开启部分107,配置于接收码流数据,并解析所述码流数据,以获得所述码流数据对应的编码树单元之后,开启预设刷新模式;其中,所述预设刷新模式用于在编码单元之间进行交叠解码。

图24为本申请实施例提出的解码器的组成结构示意图二,如图24所示,本申请实施例提出的解码器100还可以包括处理器108、存储有处理器108可执行指令的存储器109、通信接口110,和用于连接处理器108、存储器109以及通信接口110的总线111。

进一步地,在本申请的实施例中,上述处理器108,用于接收码流数据,并解析所述码流数据,以获得所述码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,所述i为大于0的整数;所述第i状态参数用于对所述第i结点是否支持刷新进行判断;所述第i标志参数用于对所述第i结点是否使能刷新进行判断;根据所述第i状态参数和所述第i标志参数对所述第i结点进行检测处理,获得第i检测结果;根据所述第i检测结果,获取所述编码树单元对应的第i+1层的第i+1结点;继续对所述第i+1结点进行所述检测处理,并遍历所述编码树单元对应的全部结点,直到获得所述编码树单元对应全部编码单元数据;根据所述全部结点和所述全部编码单元数据,生成所述码流数据对应的解码图像。

在本申请的实施例中,上述处理器108可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field ProgRAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其他,本申请实施例不作具体限定。存储器109可以与处理器108连接,其中,存储器109用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器109可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。

在本申请的实施例中,总线111用于连接通信接口110、处理器108以及存储器109以及这些器件之间的相互通信

在本申请的实施例中,存储器109,用于存储指令和数据。

在实际应用中,上述存储器109可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。

另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例提供了一种图像解码器,该解码器接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。由此可见,在本申请的实施例中,在对视频中的图像进行解码的过程中,在接收到码流数据并解析获得编码树单元之后,可以对编码树单元对应的每一层的结点进行解析处理,获得该层结点的状态参数和标志参数,然后根据状态参数和标志参数对结点进行检测处理,再对存在数据的结点进行解码处理,获得编码树单元对应的全部编码单元,以获得对应的解码图像。其中,由于在编码时支持编码单元与编码单元的交叠划分,因此,解码器对存在数据的结点进行解码获得的全部编码单元中,如果存在区域重合的至少两个编码单元,那么解码器可以按照刷新编码单元对应的图像信息对背景编码单元对应的图像信息进行刷新处理,从而可以避免对视频图像的过度划分,减少不必要的头信息,以及避免分散重复表示同一区域特性相似的数据,进而提高编码效率。

本申请实施例提供计算机可读存储介质和计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述实施例所述的方法。

具体来讲,本实施例中的一种图像解码方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种图像解码方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:

接收码流数据,并解析所述码流数据,以获得所述码流数据对应的编码树单元;

解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,所述i为大于0的整数;所述第i状态参数用于对所述第i结点是否支持刷新进行判断;所述第i标志参数用于对所述第i结点是否使能刷新进行判断;

根据所述第i状态参数和所述第i标志参数对所述第i结点进行检测处理,获得第i检测结果;

根据所述第i检测结果,获取所述编码树单元对应的第i+1层的第i+1结点;

继续对所述第i+1结点进行所述检测处理,并遍历所述编码树单元对应的全部结点,直到获得所述编码树单元对应全部编码单元数据;

根据所述全部结点和所述全部编码单元数据,生成所述码流数据对应的解码图像。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

工业实用性

本申请实施例提供了一种图像解码方法、解码器以及存储介质,解码器接收码流数据,并解析码流数据,以获得码流数据对应的编码树单元;解析编码树单元对应的第i层的第i结点,以得到第i结点对应的第i状态参数和第i标志参数;其中,i为大于0的整数;第i状态参数用于对第i结点是否支持刷新进行判断;第i标志参数用于对第i结点是否使能刷新进行判断;根据第i状态参数和第i标志参数对第i结点进行检测处理,获得第i检测结果;根据第i检测结果,获取编码树单元对应的第i+1层的第i+1结点;继续对第i+1结点进行检测处理,并遍历编码树单元对应的全部结点,直到获得编码树单元对应全部编码单元数据;根据全部结点和全部编码单元数据,生成码流数据对应的解码图像。由此可见,在本申请的实施例中,在对视频中的图像进行解码的过程中,在接收到码流数据并解析获得编码树单元之后,可以对编码树单元对应的每一层的结点进行解析处理,获得该层结点的状态参数和标志参数,然后根据状态参数和标志参数对结点进行检测处理,再对存在数据的结点进行解码处理,获得编码树单元对应的全部编码单元,以获得对应的解码图像。其中,由于在编码时支持编码单元与编码单元的交叠划分,因此,解码器对存在数据的结点进行解码获得的全部编码单元中,如果存在区域重合的至少两个编码单元,那么解码器可以按照刷新编码单元对应的图像信息对背景编码单元对应的图像信息进行刷新处理,从而可以避免对视频图像的过度划分,减少不必要的头信息,以及避免分散重复表示同一区域特性相似的数据,进而提高编码效率。

36页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于分布特征的SHVC空间可伸缩视频编码方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类