一种图像编解码方法及装置制造方法及图纸

技术编号:37508043 阅读:24 留言:0更新日期:2023-05-07 09:46
本申请提供一种图像编解码方法及装置,涉及视频编解码领域,可以用于避免码流溢出。具体方法包括:基于待解码块的码流,确定待解码块对应的图像块是否采用回退模式,其中,图像块待解码块的码长小于或等于待解码块的最大码长,最大码长为码流缓冲器中允许缓存的最大码流长度。在待解码块对应的图像块采用回退模式时,获取第一固定码长,第一固定码长为一个待解码子块的码长,待解码块中包括一个或多个待解码子块;基于第一固定码长对码流进行解析,以解码所述待解码块。以解码所述待解码块。以解码所述待解码块。

【技术实现步骤摘要】
一种图像编解码方法及装置


[0001]本申请实施例涉及视频编解码领域,尤其涉及一种图像编解码方法及装置。

技术介绍

[0002]视频编码技术也称为视频压缩技术,视频压缩技术用于降低视频信号的数据带宽。其中,视频是连续的图像序列,由连续的图像帧构成,一帧图像即为一幅图像。由于人眼的视觉暂留效应,当帧序列以一定的速率播放时,人眼可见的就是连续的视频。对视频进行编解码即对视频中的每一帧图像进行编解码。以一帧图像为例,在编码端,图像编码器对图像编码,得到图像对应的码流并传输码流至解码端;在解码端,图像解码器解析码流,从而重建图像。
[0003]在图像编解码过程中,为了提高压缩效率,常见的视频压缩技术都采用了变长编码,一个视频序列经过压缩编码之后所得到的码流是变速率的,不适合实时地在固定码率的信道中传输。因此,通常将编码器产生的变码率数据先输出到一定存储空间的缓冲器,然后再从缓冲器以固定码率输出。应理解,缓冲器的存储空间的大小是一定的,若输入至缓冲器的码流数据过大,导致需要缓冲器暂时存储的数据超出其存储空间的大小,则会出现码流“上溢”的情况,从而导致后续的图像信息丢失。此外,若输入至缓冲器的码流数据过小,导致缓冲器暂时存储的数据“不足”,无法满足缓冲器的固定输出码率,则会出现码流“下溢”的情况。
[0004]因此,如何避免图像编解码过程中的码流“上溢”或“下溢”的情况出现,是亟待解决的问题。

技术实现思路

[0005]本申请实施例提供一种图像编解码方法及装置,可以用于避免码流溢出。
[0006]为达到上述目的,本申请实施例采用如下技术方案:
[0007]第一方面,本申请实施例提供一种图像编码方法,该方法由编码端执行,该方法包括:获取待编码块的最大码长,该最大码长为码流缓冲器缓存待编码块的经编码码流时,允许缓存的最大码流长度;基于第一模式对待编码块进行预编码,得到待编码块的第一码长,第一模式为编码端的多个预测模式中的一个;第一码长为待编码块编码后得到的码流的长度;在第一码长大于或等于最大码长的情况下,采用回退模式对待编码块进行编码,其中,基于回退模式对待编码块进行编码得到的码长小于或等于最大码长。
[0008]基于上述图像编码方法,可以首先对待编码块进行预编码,基于预编码得到的码流长度与待编码块允许占用的最大码长对比,并根据对比结果,确定是否会出现码流上溢的情况。进而,在确定会出现码流上溢的情况时,采用回退模式对待编码块进行编码,以避免待编码块的图像信息丢失。
[0009]在一种可能的实现方式中,上述最大码长为最大码长为码流缓冲器中可容纳的码流的长度与存储空间在单位时间内传输的码流的长度之和。其中,该存储空间即为码流缓
冲器的存储空间。
[0010]在另一种可能的实现方式中,待编码块可以包括第一色度分量、第二色度分量以及亮度分量,则上述在第一码长大于或等于最大码长的情况下,采用回退模式对待编码块进行编码,包括:在第一码长大于或等于最大码长的情况下,根据最大码长,按照预设比值确定第一色度最大码长、第二色度最大码长以及亮度最大码长,其中,第一色度最大码长、第二色度最大码长与第三色度最大码长之和为最大码长或存储空间在单位时间内流出的码长;根据第一色度最大码长、第二色度最大码长及亮度最大码长中的一个或多个,确定第一色度分量、第二色度分量以及亮度分量是否采用回退模式进行编码。
[0011]在又一种可能的实现方式中,上述根据第一色度最大码长、第一色度最大码长及亮度最大码长中的一个或多个,确定第一色度分量、第二色度分量以及亮度分量是否采用回退模式进行编码,包括:根据第一色度最大码长、第二色度最大码长及亮度最大码长中的任一个,确定第一色度分量、第二色度分量以及亮度分量是否采用回退模式进行编码;或者,根据第一色度最大码长或第二色度最大码长,确定第一色度分量和第二色度分量是否采用回退模式进行编码;以及根据亮度最大码长确定亮度分量是否采用回退模式进行编码;或者,根据第一色度最大码长确定第一色度分量是否采用回退模式进行编码,根据第二色度最大码长确定第二色度分量是否采用回退模式进行编码,以及,根据亮度最大码长确定亮度分量是否采用回退模式进行编码。
[0012]在又一种可能的实现方式中,上述根据第一色度最大码长确定第一色度分量是否采用回退模式进行编码,包括:基于所述第一模式对所述第一色度分量进行预编码,得到所述第一色度分量的第一色度码长;在所述第一色度码长大于或等于所述第一色度最大码长的情况下,确定采用所述回退模式对所述第一色度码长进行编码。
[0013]在又一种可能的实现方式中,第一色度分量的码长、第二色度分量的码长与亮度分量的码长之和为待编码块的码长;亮度分量的码长大于第一色度分量的码长或第二色度分量的码长。
[0014]可选的,上述预设比值为1:1:1、2:1:1或者4:1:1。
[0015]在又一种可能的实现方式中,上述采用回退模式对待编码块进行编码,包括:获取目标像素深度,目标像素深度用于指示在目标压缩率下编码待编码块的每个像素点时所需的码长;根据目标像素深度,确定待编码块的目标码长,目标码长为基于回退模式编码待编码块得到的码流长度,目标码长小于或等于最大码长;基于目标码长,采用固定码长的编码方式对待编码块进行编码。
[0016]在又一种可能的实现方式中,上述基于目标码长,采用固定码长的编码方式对待编码块进行编码,包括:将待编码块划分为多个待编码子块;基于目标码长和多个待编码子块的数量,确定第一固定码长;基于第一固定码长,采用固定码长的编码方式编码多个待编码子块;其中,多个待编码子块中的每个待编码子块编码得到的码流长度为第一固定码长。
[0017]在又一种可能的实现方式中,上述将待编码块划分为多个待编码子块包括:以预设大小将待编码块划分为多个待编码子块。
[0018]在又一种可能的实现方式中,上述基于目标码长,采用固定码长的编码方式对待编码块进行编码,包括:根据目标码长和第一固定码长,将待编码块划分为多个待编码子块;其中,第一固定码长为预设长度的码长;基于第一固定码长,采用固定码长的编码方式
编码多个待编码子块;其中,多个待编码子块中的每个待编码子块编码得到的码流长度为第一固定码长。
[0019]在又一种可能的实现方式中,对于多个待编码子块中的任一待编码子块,上述基于第一固定码长,采用固定码长的编码方式编码多个待编码子块,包括:确定任一待编码子块的残差值;基于第一固定码长,采用固定码长的编码方式编码任一待编码子块的残差块。
[0020]在又一种可能的实现方式中,对于多个待编码子块中的任一待编码子块,上述基于第一固定码长,采用固定码长的编码方式编码多个待编码子块,包括:基于第一固定码长,采用固定码长的编码方式对任一待编码子块的图像位宽的高位值进行编码,图像位宽的高位值用于指示图像位宽对应的二进制数的前N位的值,N为正整数;或者,基于第一固定码长,采用固定码长的编码方式对图像位宽的低位值进行编码,图像位宽的低位值用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图像解码方法,其特征在于,所述方法应用于解码端,所述方法包括:基于待解码块的码流,确定所述待解码块对应的图像块是否采用回退模式,其中,所述图像块待解码块的码长小于或等于所述待解码块的最大码长,所述最大码长为码流缓冲器中允许缓存的最大码流长度;在所述待解码块对应的图像块采用回退模式时,获取第一固定码长,所述第一固定码长为一个待解码子块的码长,所述待解码块中包括一个或多个所述待解码子块;基于所述第一固定码长对所述码流进行解析,以解码所述待解码块。2.根据权利要求1所述的方法,其特征在于,所述待解码块包括一个或多个分量,所述解码端分别确定所述一个或多个分量是否采用所述回退模式。3.根据权利要求1所述的方法,其特征在于,所述待解码块包括第一色度分量、第二色度分量以及亮度分量,所述基于待解码块的码流,确定所述待解码块对应的图像块在编码时否采用回退模式,包括:解析所述第一色度分量、所述第二色度分量或者所述亮度分量中任一分量的码流,确定所述第一色度分量、所述第二色度分量以及所述亮度分量是否采用所述回退模式;或者,解析所述第一色度分量或所述第二色度分量的码流,确定所述第一色度分量和所述第二色度分量是否采用所述回退模式;或者,解析所述第一色度分量、所述第二色度分量以及所述亮度分量的码流,分别确定所述第一色度分量、所述第二色度分量以及所述亮度分量是否采用所述回退模式。4.根据权利要求3所述的方法,其特征在于,所述第一色度分量的码长、所述第二色度分量的码长与所述亮度分量的码长之和为所述待解码块的码长;所述亮度分量的码长大于所述第一色度分量的码长或所述第二色度分量的码长。5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一固定码长为预设码长值或者所述待解码块的目标像素深度,所述目标像素深度用于指示在目标压缩率下解码所述待解码块的每个像素点时所需的码长。6.根据权利要求5所述的方法,其特征在于,所述基于所述第一固定码长对所述码流进行解析,以解码所述待解码块,包括:根据所述待解码块的码长和所述第一固定码长,将所述待解码块划分为多个待解码子块;基于所述第一固定码长对所述待解码块的每个待解码子块的码流进行解析,以解码所述待解码块。7.根据权利要求1至4任一项所述的方法,其特征在于,所述获取第一固定码长,包括:将所述待解码块划分为多个待解码子块;基于所述待解码块的码长和所述多个待解码子块的数量,确定第一固定码长。8.根据权利要求7所述的方法,其特征在于,所述将所述待解码块划分为多个待解码子块,包括:以预设大小将所述待解码块划分为多个待解码子块。9.根据权利要求1至4、6、8中任一项所述的方法,其特征在于,所述基于所述第一固定码长对各个待解码子块的码流进行解析,以解码所述待解码块,包括:基于所述第一固定码长对所述待解码块的每个待解码子块的码流进行解析,得到所述
每个待解码子块的图像位宽的高位值,所述的图像位宽的高位值用于指示所述图像位宽对应的二进制数的前N位值,N为正整数;根据所述每个待解码子块的预测值的低位值和所述每个待解码子的图像位宽的高位值,重建所述每个待解码子块,以得到所述每个待解码子块的重建块;所述预测值的低位值用于指示所述预测值对应的二进制数的后M位数值,M为正整数;其中,N与M之和为所述待解码子块的图像位宽,N为所述第一固定码长。10.根据权利要求1至4、6、8中任一项所述的方法,其特征在于,所述基于所述第一固定码长对所码流进行解析,以解码所述待解码块包括:基于所述第一固定码长对所述待解码块的每个待解码子块的码流进行解析,得到所述每个待解码子块对应的图像位宽的低位值,所述图像位宽的低位值用于指示所述图像位宽对应的二进制数的后N位值,N为正整数;根据所述每个待解码子块的预测值的高位值和所述每个待解码子对应的图像位宽的低位值,重建所述每个待解码子块,以得到所述每个待解码子块的重建块;所述预测值的高位值用于指示所述预测值对应的二进制数的前M位数值,M为正整数;其中,N与M之和为所述待解码子块的图像位宽,N为所述第一固定码长。11.根据权利要求1至4、6、8中任一项所述的方法,其特征在于,所述基于所述第一固定码长对所码流进行解析,以解码所述待解码块包括:基于所述第一固定码长对所述待解码块的每个待解码子块的码流进行解析,得到所述每个待解码子块的残差值;根据所述每个待解码子块的预测值和所述残差值,对所述每个待解码子块进行重建,以得到所述每个待解码子块的重建块。12.根据权利要求1至4、6、8中任一项所述的方法,其特征在于,所述方法还包括:在所述待解码块的码流中用于指示预测模式的码字为第一码字,且所述待解码块对应的图像块未采用回退模式时,基于原始值模式重建所述待解码块的图像块,其中,所述第一码字为用于指示所述回退模式或所述原始值模式。13.一种图像编码方法,其特征在于,所述方法应用于编码端,所述方法包括:获取待编码块的最大码长,所述最大码长为码流缓冲器中允许缓存的最大码流长度;基于第一模式对所述待编码块进行预编码,得到所述待编码块的第一码长,所述第一模式为所述编码端的多个预测模式中的一个;所述第一码长为所述待编码块编码后得到的码流的长度;在所述第一码长大于或等于所述最大码长的情况下,采用回退模式对所述待编码块进行编码,其中,基于所述回退模式对所述待编码块进行编码得到的码长小于或等于所述最大码长。14.根据权利要求13所述的方法,其特征在于,所述待编码块包括第一色度分量、第二色度分量以及亮度分量,则所述在所述第一码长大于或等于所述最大码长的情况下,采用回退模式对所述待编码块进行编码,包括:在所述第一码长大于或等于所述最大码长的情况下,根据所述最大码长,按照预设比值确定每个分量的码长,其中,所述第一色度最大码长、第二色度最大码长与第三色度最大码长之和为所述最大码长或所述码流缓冲器在单位时间内流出的码长;
根据所述第一色度最大码长、所述第二色度最大码长及所述亮度最大码长中的一个或多个,确定所述第一色度分量、所述第二色度分量以及所述亮度分量是否采用回退模式进行编码。15.一种图像解码方法,其特征在于,所述方法应用于解码端,所述方法包括:基于...

【专利技术属性】
技术研发人员:潘冬萍孙煜程陈方栋魏亮
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1