图像的传输方法及装置制造方法及图纸

技术编号:30138550 阅读:16 留言:0更新日期:2021-09-23 14:54
本申请公开了一种图像的传输方法及装置、非易失性存储介质、处理器。其中,该方法包括:获取待发送的图像,将待发送的图像划分为多个宏块,并依据各个宏块的特点确定各个宏块的宏块类型;分别依据不同宏块类型对应的编码方法对各个宏块进行编码,将各个宏块的编码数据作为基本层数据;依据各个宏块的原宏块数据和对相应宏块进行编码后得到的基本层数据,得到各个宏块对应的残差宏块;分别对各个宏块对应的残差宏块进行编码,将各残差宏块的编码数据作为扩展层数据,并将基本层数据和扩展层数据合并之后的数据发送至图像解码端。本申请解决了现有的图像无损压缩编解码方法对带宽要求高的技术问题。的技术问题。的技术问题。

【技术实现步骤摘要】
图像的传输方法及装置


[0001]本申请涉及图像编码及解码领域,具体而言,涉及一种图像的传输方法及装置、非易失性存储介质、处理器。

技术介绍

[0002]现有的图像的渐进式编解码方法基本都是针对有损压缩的,例如JPEG的渐进式方案,是对量化后的系数进行渐进传输。而无损压缩则是在保证带宽的情况下直接进行熵编码,一般没有渐进式的方案,对带宽要求较高。
[0003]针对现有的图像无损压缩编解码方法对带宽要求高的问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本申请实施例提供了一种图像的传输方法及装置、非易失性存储介质、处理器,以至少解决现有的图像无损压缩编解码方法对带宽要求高的技术问题。
[0005]根据本申请实施例的一个方面,提供了一种图像的传输方法,包括:获取待发送的图像,将待发送的图像划分为多个宏块,并依据各个宏块的特点确定各个宏块的宏块类型,其中,不同类型的宏块采用不同的编码方法进行编码;分别依据不同宏块类型对应的编码方法对各个宏块进行编码,将各个宏块的编码数据作为基本层数据;依据各个宏块的原宏块数据和对相应宏块进行编码后得到的基本层数据,得到各个宏块对应的残差宏块;分别对各个宏块对应的残差宏块进行编码,将各残差宏块的编码数据作为扩展层数据,并将基本层数据和扩展层数据合并之后的数据发送至图像解码端。
[0006]可选地,依据各个宏块的原宏块数据和对相应宏块进行编码后得到的基本层数据,得到各个宏块对应的残差宏块,包括:对各个宏块进行编码后得到的基本层数据进行解码,得到各个宏块对应的重建宏块;将各个宏块的原宏块数据减去各个宏块对应的重建宏块的数据,得到各个宏块对应的残差宏块。
[0007]可选地,将各个宏块的原宏块数据减去各个宏块对应的重建宏块的数据,得到各个宏块对应的残差宏块,包括:将各个宏块的像素值减去各个宏块对应的重建宏块的像素值,得到各残差宏块的残差值,其中,各残差宏块的残差值为n行
×
m列的残差值矩阵,n和m均为大于或等于1的自然数。
[0008]可选地,分别对各个宏块对应的残差宏块进行编码,包括:对各残差宏块进行分层,其中,每个分层包括各残差宏块的残差值矩阵中的一行残差值或者多行残差值;依据当前网络可用带宽和基本层数据所占的流量的差值确定扩展层数据的可用流量;依据扩展层数据的可用流量确定各残差宏块的可编码层数;按照各残差宏块的可编码层数分别对各残差宏块进行编码。
[0009]可选地,依据扩展层数据的可用流量确定各残差宏块的可编码层数,包括:
[0010]根据已传输层数矩阵,确定当前扩展层数据中各残差宏块的已传输层数中的最小
已传输层数a;
[0011]将可编码层数i的初始值置为a,将总预测码流B置为0;
[0012]通过以下流程确定可编码层数i:
[0013]步骤1:确定所有已传输层数小于等于i的目标残差宏块的第i+1层残差数据的总码流b,同时,重新确定总预测码流B:B=0+b;
[0014]步骤2:如果B小于扩展层数据的可用流量,且当前可编码层数i小于各残差宏块的最大分层层数,则更新当前可编码层数i为:i=i+1,同时转至步骤1继续执行;如果B大于扩展层数据的可用流量或者当前可编码层数i等于最大分层层数,则确定可编码层数为i,并结束当前流程。
[0015]可选地,通过以下方式确定所有已传输层数为i的目标残差宏块的第i+1层残差数据的总码流:分别将各残差宏块的第i+1层残差值映射为符号值;从预设残差码表中查找第i+1层残差值中每个残差值对应的码长;将各残差宏块的第i+1层残差值中每个残差值对应的码长相加,得到所有已传输层数为i的目标残差宏块的第i+1层残差数据的总码流。
[0016]可选地,依据所述扩展层数据的可用流量确定各所述残差宏块的可编码层数之前,上述方法还包括:确定已传输层数矩阵,其中,已传输层数矩阵用于记录已经编码的前一帧图像中各残差宏块已编码的层数;将正在进行编码的当前帧图像中各宏块和前一帧图像中对应的各宏块进行比对,确定出当前帧图像中相对于前一帧图像发生变化的目标宏块;在已传输层数矩阵中,将与各个目标宏块对应位置上的已传输层数置为0,从而对已传输层数矩阵进行更新。
[0017]可选地,确定更新后的已传输层数矩阵中的最小已传输层数,包括:如果当前帧图像相对于前一帧图像至少有一个残差宏块发生变化,确定最小已传输层数为0;如果当前帧图像相对于前一帧图像未发生变化,将已传输层数矩阵中的所有数值进行排序,将已传输层数矩阵中的最小数值作为最小已传输层数。
[0018]可选地,按照各残差宏块的可编码层数分别对各残差宏块进行编码,包括:针对当前扩展层数据中,所有已传输层数小于可编码层数的残差宏块,对其已传输层数至可编码层数之间所有未传输的层数据进行编码。
[0019]根据本申请实施例的另一方面,还提供了另一种图像的传输方法,包括:获取编码之后的图像;将编码之后的图像分解为基本层数据和扩展层数据,其中,基本层数据是对原始图像划分得到的各个宏块进行编码得到的编码数据,扩展层数据是对各个宏块对应的残差宏块进行编码得到的编码数据;分别对基本层数据和扩展层数据解码,将基本层数据解码之后的数据和扩展层数据解码之后的数据进行拼接,得到编码之前的图像。
[0020]可选地,对扩展层数据解码,包括:如果待解码的当前帧图像中的残差宏块和下一帧图像中的残差宏块相同,记录待解码的当前帧图像中的残差宏块已经完成解码的残差值的层号N;在对下一帧图像中的残差宏块进行解码时,从下一帧图像中的残差宏块的第N+1层的残差值进行解码,直至将下一帧中的残差宏块的全部残差值解码完成。
[0021]根据本申请实施例的另一方面,还提供了一种图像的传输装置,包括:第一获取模块,用于获取待发送的图像,将待发送的图像划分为多个宏块,并依据各个宏块的特点确定各个宏块的宏块类型,其中,不同类型的宏块采用不同的编码方法进行编码;第一编码模块,用于分别依据不同宏块类型对应的编码方法对各个宏块进行编码,将各个宏块的编码
数据作为基本层数据;确定模块,用于依据各个宏块的原宏块数据和对相应宏块进行编码后得到的基本层数据,得到各个宏块对应的残差宏块;第二编码模块,用于分别对各个宏块对应的残差宏块进行编码,将各残差宏块的编码数据作为扩展层数据,并将基本层数据和扩展层数据合并之后的数据发送至图像解码端。
[0022]根据本申请实施例的另一方面,还提供了另一种图像的传输装置,包括:第二获取模块,用于获取编码之后的图像;分解模块,用于将编码之后的图像分解为基本层数据和扩展层数据,其中,基本层数据是对原始图像划分得到的各个宏块进行编码得到的编码数据,扩展层数据是对各个宏块对应的残差宏块进行编码得到的编码数据;解码模块,用于分别对基本层数据和扩展层数据解码,将基本层数据解码之后的数据和扩展层数据解码之后的数据进行拼接,得到编码之前的图像。
[0023]根据本申请实施例的再一方面,还提供了一种非易失性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图像的传输方法,其特征在于,包括:获取待发送的图像,将待发送的所述图像划分为多个宏块,并依据各个宏块的特点确定各个宏块的宏块类型,其中,不同类型的宏块采用不同的编码方法进行编码;分别依据不同宏块类型对应的编码方法对所述各个宏块进行编码,将所述各个宏块的编码数据作为基本层数据;依据所述各个宏块的原宏块数据和对相应宏块进行编码后得到的基本层数据,得到所述各个宏块对应的残差宏块;分别对所述各个宏块对应的残差宏块进行编码,将各所述残差宏块的编码数据作为扩展层数据,并将所述基本层数据和所述扩展层数据合并之后的数据发送至图像解码端。2.根据权利要求1所述的方法,其特征在于,依据所述各个宏块的原宏块数据和对相应宏块进行编码后得到的基本层数据,得到所述各个宏块对应的残差宏块,包括:对所述各个宏块进行编码后得到的基本层数据进行解码,得到所述各个宏块对应的重建宏块;将所述各个宏块的原宏块数据减去所述各个宏块对应的重建宏块的数据,得到所述各个宏块对应的残差宏块。3.根据权利要求2所述的方法,其特征在于,将所述各个宏块的原宏块数据减去所述各个宏块对应的重建宏块的数据,得到所述各个宏块对应的残差宏块,包括:将所述各个宏块的像素值减去所述各个宏块对应的重建宏块的像素值,得到各所述残差宏块的残差值,其中,各所述残差宏块的残差值为n行
×
m列的残差值矩阵,n和m均为大于或等于1的自然数。4.根据权利要求1所述的方法,其特征在于,分别对所述各个宏块对应的残差宏块进行编码,包括:对各所述残差宏块进行分层,其中,每个分层包括各所述残差宏块的残差值矩阵中的一行残差值或者多行残差值;依据当前网络可用带宽和所述基本层数据所占的流量的差值确定所述扩展层数据的可用流量;依据所述扩展层数据的可用流量确定各所述残差宏块的可编码层数;按照各所述残差宏块的可编码层数分别对各所述残差宏块进行编码。5.根据权利要求4所述的方法,其特征在于,依据所述扩展层数据的可用流量确定各所述残差宏块的可编码层数,包括:根据已传输层数矩阵,确定当前扩展层数据中各残差宏块的已传输层数中的最小已传输层数a;将可编码层数i的初始值置为a,将总预测码流B置为0;通过以下流程确定可编码层数i:步骤1:确定所有已传输层数小于等于i的目标残差宏块的第i+1层残差数据的总码流b,同时,重新确定总预测码流B:B=0+b;步骤2:如果B小于所述扩展层数据的可用流量,且当前可编码层数i小于各所述残差宏块的最大分层层数,则更新当前可编码层数i为:i=i+1,同时转至步骤1继续执行;如果B大于所述扩展层数据的可用流量或者当前可编码层数i等于所述最大分层层数,则确定可编
码层数为i,并结束当前流程。6.根据权利要求5所述的方法,其特征在于,通过以下方式确定所有已传输层数为i的目标残差宏块的第i+1层残差数据的总码流:分别将各所述残差宏块的第i+1层残差值映射为符号值;从预设残差码表中查找所述第i+1层残差值中每个残差值对应的码长;将各所述残差宏块的第i+1层残差值中每个残差值对应的码长相加,得到所有已传输层数为i的目标残差宏块的第i+1层残差数据的总码流。7.根据权利要求5所述的方法,其特征在于,依据所述扩展层数据的可用流量确定各所述残差宏块的可编码...

【专利技术属性】
技术研发人员:徐律潘志恒
申请(专利权)人:上海辰珅信息科技有限公司
类型:发明
国别省市:

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

1