首页> 中国专利> 编码电路、位平面编码器、编码方法、设备及介质

编码电路、位平面编码器、编码方法、设备及介质

摘要

本申请实施例提供一种编码电路、位平面编码器、编码方法、设备及介质。在本申请的一些实施例中,在从原始图像的数据中提取多个比特面的数据后,采用多个位平面编码器并行地对每个比特面的数据进行比特面编码,进而得到每个比特面对应的编码数据;再采用多个熵编码器并行地对每个比特面对应的编码数据进行熵编码,得到各比特面对应的压缩码流,最后,依据生成各比特面对应的压缩码流生成原始图像的压缩图像数据,本申请实施例通过多组串联的位平面编码器和熵编码器分别对各个比特面的数据进行编码,提高编码效率,进而能够提升图像压缩效率。

著录项

  • 公开/公告号CN113099236A

    专利类型发明专利

  • 公开/公告日2021-07-09

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN201911401407.4

  • 申请日2019-12-30

  • 分类号H04N19/436(20140101);H04N19/91(20140101);H04N19/93(20140101);H04N19/42(20140101);H04N19/184(20140101);

  • 代理机构11610 北京太合九思知识产权代理有限公司;

  • 代理人张爱;刘戈

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-06-19 11:45:49

说明书

本申请引用于2019年12月23日递交的名称为“编码电路、位平面编码器、编码方法、设备及介质”的第201911337773.8号中国专利申请,上述申请通过引用并入本申请。

技术领域

本申请涉及图像处理技术领域,尤其涉及一种编码电路、位平面编码器、编码方法、设备及介质。

背景技术

随着多媒体的发展,为了能更加有效的存储各种图片,图像压缩技术逐渐的成为了人们研究的热点。JPEG2000标准由于其表现出高压缩率、高灵活性等优秀性能,在各个领域中有着广阔的应用前景,因此越来越受到人们的重视,成为研究学习的热点。

目前,JPEG2000所采用的编码算法较为复杂。EBCOT是JPEG2000编码算法的核心部分,它将量化后的小波系数进行算数嫡编码和码流组织后生成压缩码流,是图像压缩的关键;EBCOT作为核心编码算法,虽然提高了压缩性能,但是据统计,当采用软件实现时,这一部分消耗了整个编码算法60%以上的运算时间。因此,现有JPEG2000编码算法的编码效率低,影响图像压缩效率。

发明内容

本申请的多个方面提供一种编码电路、位平面编码器、编码方法、设备及介质,编码电路结构简单紧凑,编码效率高。

本申请实施例提供一种编码电路,包括:比特面数据分离模块、多个位平面编码器和多个熵编码器;

所述比特面数据分离模块,用于从原始图像的数据中提取多个比特面的数据;

所述多个位平面编码器与比特面数据分离模块连接,用于对所述多个比特面的数据进行比特面编码,得到所述多个比特面各自对应的编码数据;

所述多个熵编码器分别与所述多个位平面编码器连接,用于对所述多个比特面各自对应的编码数据进行熵编码,获得所述多个比特面对应的压缩码流,以供生成所述原始图像的压缩图像数据。

本申请实施例还提供一种位平面编码器,包括:编码方式预测模块和至少一个编码模块;

所述编码方式预测模块,用于接收待处理比特面的数据,预测所述待处理比特面的数据可采用的目标编码方式,以及向提供所述目标编码方式的编码模块输出使能信号;

所述至少一个编码模块与所述编码方式预测模块连接,用于在接收到使能信号时,对所述待处理比特面的数据进行编码操作,以生成所述待处理比特面对应的编码数据。

本申请实施例还提供一种编码方法,适用于编码电路,所述方法包括:

利用编码电路中的比特面数据分离模块从原始图像的数据中提取多个比特面的数据;

利用编码电路中的多个位平面编码器,对所述多个比特面的数据进行比特面编码,得到所述多个比特面各自对应的编码数据;

利用编码电路中的与多个位平面编码器连接的多个熵编码器,对所述多个比特面各自对应的编码数据进行熵编码,获得所述多个比特面对应的压缩码流,以供生成所述原始图像的压缩图像数据。

本申请实施例还提供一种编码设备,包括:存储器和处理器;

所述存储器,用于存储一条或多条计算机指令;

所述处理器,用于执行所述一条或多条计算机指令以用于:

利用编码电路中的比特面数据分离模块从原始图像的数据中提取多个比特面的数据;

利用编码电路中的多个位平面编码器,对所述多个比特面的数据进行比特面编码,得到所述多个比特面各自对应的编码数据;

利用编码电路中的与多个位平面编码器连接的多个熵编码器,对所述多个比特面各自对应的编码数据进行熵编码,获得所述多个比特面对应的压缩码流,以供生成所述原始图像的压缩图像数据。

本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:

利用编码电路中的比特面数据分离模块对原始图像的数据中提取多个比特面的数据;

利用编码电路中的多个位平面编码器,对所述多个比特面的数据进行比特面编码,得到所述多个比特面各自对应的编码数据;

利用编码电路中的与多个位平面编码器连接的多个熵编码器,对所述多个比特面各自对应的编码数据进行熵编码,获得所述多个比特面对应的压缩码流,以供生成所述原始图像的压缩图像数据。

在本申请的一些实施例中,在从原始图像的数据中提取多个比特面的数据后,采用多个位平面编码器并行地对每个比特面的数据进行比特面编码,进而得到每个比特面对应的编码数据;再采用多个熵编码器并行地对每个比特面对应的编码数据进行熵编码,得到各比特面对应的压缩码流,最后,依据生成各比特面对应的压缩码流生成原始图像的压缩图像数据,本申请实施例通过多组串联的位平面编码器和熵编码器分别对各个比特面的数据进行编码,提高编码效率,进而能够提升图像压缩效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请一示例性实施例提供的一种编码电路的结构示意图;

图2为本申请示例性实施例提供的一种比特面数据分离模块的结构示意图;

图3为本申请示例性实施例提供的一种位平面编码器的整体结构示意图;

图4为本申请示例性实施例给出的一种零编码模块LL、LH和HL子带电路图;

图5为本申请示例性实施例给出的一种零编码模块HH子带电路图;

图6为本申请示例性实施例提供的一种幅度细化编码模块的电路图;

图7为本申请示例性实施例提供的一种符号编码模块的电路图;

图8为本申请示例性实施例提供的一种游程编码模块的电路图;

图9本申请示例性实施例提供的一种位平面编码器的结构示意图;

图10为本申请示例性实施例提供的一种编码方法的流程示意图;

图11为本申请一示例性实施例提供的一种编码设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前,JPEG2000编码算法的编码效率低,影响图像压缩效率。针对目前存在的技术问题,在本申请的一些实施例中,在从原始图像的数据中提取多个比特面的数据后,采用多个位平面编码器并行地对每个比特面的数据进行比特面编码,进而得到每个比特面对应的编码数据;再采用多个熵编码器并行地对每个比特面对应的编码数据进行熵编码,得到各比特面对应的压缩码流,最后,依据生成各比特面对应的压缩码流生成原始图像的压缩图像数据,本申请实施例通过多组串联的位平面编码器和熵编码器分别对各个比特面的数据进行编码,提高编码效率,进而能够提升图像压缩效率。

目前,EBCOT算法分为两部分:T1部分和T2部分。T1部分对原始图像的数据进行编码后生成每个比特面对应的压缩码流,T2部分完成压缩码流率控制和组织。本申请实施例提供的编码电路主要针对T1部分进行改进。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请一示例性实施例提供的一种编码电路的结构示意图。如图1所示,该编码电路包括比特面数据分离模块11、多个位平面编码器12和多个熵编码器13。比特面数据位平面分离模块111,用于从原始图像的数据中提取多个比特面的数据;多个位平面编码器12与比特面数据分离模块11连接,用于对多个比特面的数据进行比特面编码,得到多个比特面各自对应的编码数据;一个熵编码器13分别与一个位平面编码器12连接,用于对多个比特面各自对应的编码数据进行熵编码,获得多个比特面对应的压缩码流,以供生成原始图像的压缩图像数据。本申请实施例编码电路的电路结构简单紧凑,编码效率高,进而能够提升图像压缩效率。

在本实施例中,多个位平面编码器12并联在比特面数据分离模块11的输出端,对多个比特面的数据进行比特面编码,得到多个比特面各自对应的编码数据;在每个位平面编码器12后串联一个熵编码器13,熵编码器13分别对多个比特面各自对应的编码数据进行熵编码,获得多个比特面对应的压缩码流,利用串联连接的位平面编码器12和熵编码器13分别对单一比特面进行编码,提高图形数据编码效率。

在上述实施例中,编码电路还可以包括选择器14和压缩处理模块15。选择器14与多个熵编码器13连接,用于将多个比特面对应的压缩码流进行排序并输出排序后的压缩码流;压缩处理模块15与选择器14连接,压缩处理模块15对排序后的压缩码流按对恢复图像的质量贡献分层,生成原始图像的压缩图像数据。

在本实施例中,原始图像的数据为小波变换后的数据。原始图像的数据也可以为离散余弦变换后的数据。其中,小波变换之后的图像数据存储于ram中,为比特面数据分离模块11提供数据支持。对于一幅16比特图像而言,可以用16个比特平面来表示,其中,最高位比特平面存储有剩余比特平面的符号位,因此,针对一幅16比特图像,需要对15个比特面的数据进行编码。

在本实施例中,每个比特面的数据包括:比特面的符号位、比特面的幅值和比特面的有效状态变量。

图2为本申请示例性实施例提供的一种比特面数据分离模块11的结构示意图。如图2所示,比特面数据位平面分离模块111包括:位平面分离模块111和有效状态变量预测模块112;位平面分离模块111获取原始图像小波变换之后的图像数据,从小波变换之后的图像数据中分离得到各比特面的符号位和各比特面的幅值;有效状态变量预测模块112与位平面分离模块111连接,用于根据各比特面的幅值,获取各比特面的有效状态变量。

在上述实施例中,有效状态变量预测模块112根据各比特面的幅值,获取各比特面的有效状态变量,一种可实现的方式为,将目标比特面以上所有比特面与指定位置对应位置的幅值进行或运算,得到目标比特面的指定位置的重要性状态变量;目标比特面的指定位置的幅度细化状态变量为目标比特面上一比特面对应位置的重要性状态变量。例如:对于第p层比特面中指定位置[m,n]的重要性状态变量σ是第p层比特面以上所有比特面相应位置的幅值的或运算且最高层比特面的重要性状态变量为0。第p层比特面中指定位置[m,n]的幅度细化状态变量是第p+1层中相应位置的重要性状态变量。

第p层比特面的重要性状态变量公式如为:

第p层比特面的幅度细化状态变量公式为:e

其中,σ表示有效状态变量,e表示幅度细化状态变量,p表示当前层数,v表示幅值,m,n表示在码块中的位置信息。

由上可以看出,各个比特面之间的关系是通过有效状态变量联系的,而且每个编码点在各个比特面的有效状态变量是可以预先得到的,因此可以采用并行方式分别对每个比特面的数据进行编码。

图3为本申请示例性实施例提供的一种位平面编码器12的整体结构示意图。多个位平面编码器12并联连接在比特面数据位平面分离模块111的输出端,如图3所示,位平面编码器12包括编码方式预测模块和至少一个编码模块;编码方式预测模块与比特面数据分离模块11连接,用于预测各比特面的数据可采用的目标编码方式,以及向提供目标编码方式对应的编码模块输出使能信号;至少一个编码模块分别与比特面数据分离模块11连接,用于在接收到使能信号时,对送入其所属位平面编码器12的目标比特面的数据进行编码操作,以生成目标比特面对应的编码数据。本申请实施例,通过预测各比特面的数据可采用的目标编码方式,同时进行四种编码方式的编码,提高编码速度。

结合图3,说明本申请实施例编码方式预测模块的工作原理。如图3所示,重要编码模块包括游程编码模块、零编码模块、符号编码模块和幅度细化编码模块。其中,当前待编码数据的邻域数据包括当前待编码数据的前一数据和当前待编码数据的后一数据。例如,编码条带宽度为四时,将当前四个待编码数据及四个待编码数据的领域数据的重要性状态变量输入编码方式预测模块中进行编码方式的预测。其中,编码方式预测模块进行编码方式预测为:若当前待编码数据及当前待编码数据的邻域数据的重要性状态变量都为0,则确定游程编码方式作为目标编码方式;若当前待编码数据的重要性状态都为0,且当前待编码数据的邻域数据的重要性状态变量至少有一个不是0,则确定零编码方式作为目标编码方式;若当前待编码数据的幅值为1,则确定符号编码方式作为目标编码方式;若当前待编码数据的重要性状态变量都为1,则确定幅度细化编码方式作为目标编码方式;其中,当前待编码数据是目标比特面的数据中即将进行编码的部分数据。在一次编码方式预测结束后将所有的使能信号置为无效。在编码方式预测的过程中,编码方式预测模块是否工作由主控模块的控制信号决定,当主控模块读取下一列编码数据后编码方式预测模块使能信号置为有效。显而易见的是,上述编码方式预测模块可以采用逻辑电路或者软件实现。

其中,编码方式预测模块进行编码方式预测的公式如下:

m

zc_en

sc_en

mrc_en

rlc_en=!(m

其中,m

结合图3,下面分别对游程编码模块、零编码模块、符号编码模块和幅度细化编码的编码过程作出说明:

图4为本申请示例性实施例给出的一种零编码模块LL、LH和HL子带电路图;图5为本申请示例性实施例给出的一种零编码模块HH子带电路图。当待编码数据本身为不重要的时候,才有可能进行零编码操作。如图4、5所示,零编码模块包括第一求和电路201,第一上下文生成器203和第一输出电路202;第一求和电路201与比特面数据分离模块11连接,用于分别对目标比特面的数据中的各待编码数据的邻域数据的重要性状态变量进行求和,得到各待编码数据对应的求和结果;第一上下文生成器203和第一求和电路201连接,用于从预存的求和结果与上下文信息之间的映射关系中,获取与各待编码数据的求和结果对应的上下文,以生成目标比特面对应的上下文;第一输出电路202与第一上下文生成器203和编码方式预测模块连接,用于在接收到编码方式预测模块发出的使能信号时,控制第一输出电路202输出目标比特面对应的编码数据。

在本申请上述实施例中,如图4所示,在零编码LL、LH和HL子带中,第一求和电路201对8位邻域数据的水平邻域、垂直邻域和对角邻域的重要性状态变量进行求和,得到求和结果;第一上下文生成器203根据该求和结果从预存的求和结果与上下文信息的之间的映射关系中,获取与求和结果对应的上下文。在第一求和电路201和第一上下文生成器203之间还包括选择电路,用于在HL子带的编码过程中需要将V和H的重要性状态变量的和进行互换的操作。第一输出电路202在接收到编码方式预测模块发出的使能信号时,控制第一输出电路202输出目标比特面对应的编码数据。

在本申请上述实施例中,如图5所示,在零编码HH子带中,第一求和电路201对8位邻域数据的水平邻域和垂直邻域的重要性状态变量进行求和,得到求和结果;第一上下文生成器203根据该求和结果从预存的求和结果与上下文信息的之间的映射关系中,获取与求和结果对应的上下文。第一输出电路202在接收到编码方式预测模块发出的使能信号时,控制第一输出电路202输出目标比特面对应的编码数据。

在上述实施例中,求和结果与上下文信息的之间的映射关系如下表所示:

其中,H表示样本水平邻域重要性状态变量的和,V表示样本垂直邻域重要性状态变量的和,D表示样本四个对角重要性状态变量的和,X表示不考虑。

图6为本申请示例性实施例提供的一种幅度细化编码模块的电路图。如图6所示,幅度细化编码模块包括第二上下文生成器301和第二输出电路302;第二上下文生成器301与比特面数据分离模块11连接,用于对目标比特面的数据中的各待编码数据的邻域数据的重要性状态变量的和进行或非门运算,与是否第一次进入幅度细化编码的信号进行组合,获取各待编码数据对应的上下文,以生成目标比特面对应的上下文;第二输出电路302与第二上下文生成器301和编码方式预测模块连接,用于在接收到编码方式预测模块发出的使能信号时,控制第二输出电路302输出目标比特面对应的编码数据。

在本申请上述实施例中,8位邻域数据的重要性状态变量的和同过一个或非门进行计算,然后与是否第一次进入幅度细化编码stata_s_new端信号进行组合,生成上下文。通过一个使能信号进行控制整体编码的输出,只有当MRC_en端有效时,此次编码结果才算有效并且输出。其中,各待编码数据与上下文的映射关系如下表所示:

图7为本申请示例性实施例提供的一种符号编码模块的电路图。符号编码模块包括信号获取电路401,第三上下文生成器402和第三输出电路403;信号获取电路401与比特面数据分离电路连接,用于根据对目标比特面的数据中的各待编码数据的邻域数据的重要性状态变量和符号位,生成各待编码数据对应的所有的垂直贡献和水平贡献;第三上下文生成器402与信号获取电路401连接,用于从垂直贡献和水平贡献与编码数据的映射关系中,获取各待编码数据对应的上下文,以生成目标比特面对应的编码数据;第三输出电路403与第三上下文生成器402连接,在接收到编码方式预测模块的发出的使能信号时,控制第三输出电路403输出目标比特面对应的编码数据。

在本申请上述实施例中,如图7所示,信号获取电路401根据待编码数据的水平领域和垂直领域的重要性状态变量和符号位,生成所有的垂直贡献和水平贡献;第三上下文生成器402,根据从垂直贡献和水平贡献与编码数据的映射关系中得到相应的编码数据;第三输出电路403只有SC_en端触发有效时,符号编码有效,输出正确的编码数据。当待编码数据作为最高非零位数据第一次变成有效的时候则对数据进行零编码以后立刻进入符号编码。系数的状态用“1”表示正有效、用“-1”表示负有效和用“0”,表示无效,例如在H1位置的幅值为0,那么无论该位置的符号为正还是负,该位置贡献都为0,而当这个位置的幅值为1时,当符号为正的时候贡献为正有效性(1),当符号为负的时候贡献为负有效(-1)。符号编码的上下文索引如表2-5所示。XORbit表示反转因子,这里H表示水平方向邻域系数的符号和,V表示垂直方向的。如H邻域系数为是有效的邻域的符号系数的和,无效时则为0。其中,垂直贡献和水平贡献与编码数据的映射关系如下表所示:

图8为本申请示例性实施例提供的一种游程编码模块的电路图。如图8所示,游程编码模块,用于从各待编码数据与编码数据之间的映射关系中,获取与各待编码数据对应的编码数据,以生成并输出目标比特面对应的编码数据。如果四个待编码数据在这个位平面还是不是有效的,则输出上下文为17判决为0,然后进行下一组数据进行编码。如果这四个待编码数据中存在至少一个数据在这个比特面中是有效的则先输出上下文17和判决1,然后,输出上下文18和第一个有效数据的位置信息(00,01,10和11)作为判决与上下文18一起输出,接着进行有效系数的符号编码。

为了提高游程编码的速度和方便进行硬件结构的设计,在本次设计中将游程编码简化为一个数据查表过程由于,在游程编码中一共只有16种情况,相比与计算而言,可以简化电路的复杂程度提高编码速度。具体编码方法如表2-4所示,其中x0,x1,x2,x3,分别表示数据Data对应的符号位。其中,待编码数据(输入数据)与编码数据(输出数据)之间的映射关系如下表所示:

在本申请上述编码电路的实施例中,在从原始图像的数据中提取多个比特面的数据后,采用多个位平面编码器12并行地对每个比特面的数据进行比特面编码,进而得到每个比特面对应的编码数据;再采用多个熵编码器13并行地对每个比特面对应的编码数据进行熵编码,得到各比特面对应的压缩码流,最后,依据生成各比特面对应的压缩码流生成原始图像的压缩图像数据,本申请实施例通过多组串联的位平面编码器12和熵编码器13分别对各个比特面的数据进行编码,提高编码效率,进而能够提升图像压缩效率。

图9本申请示例性实施例提供的一种位平面编码器12的结构示意图。如图9所示,本申请实施例位平面编码器12包括编码方式预测模块和至少一个编码模块。编码方式预测模块,用于接收待处理比特面的数据,预测待处理比特面的数据可采用的目标编码方式,以及向提供目标编码方式的编码模块输出使能信号;至少一个编码模块与编码方式预测模块连接,用于在接收到使能信号时,对待处理比特面的数据进行编码操作,以生成待处理比特面对应的编码数据。

在本实施例中,关于位平面编码器12的实施例部分可参见前述位平面编码器12实施例部分的描述,在此不再赘述。

在本申请上述位平面编码器12的实施例中,在从原始图像的数据中提取多个比特面的数据后,采用多个位平面编码器12并行地对每个比特面的数据进行比特面编码,进而得到每个比特面对应的编码数据;再采用多个熵编码器13并行地对每个比特面对应的编码数据进行熵编码,得到各比特面对应的压缩码流,最后,依据生成各比特面对应的压缩码流生成原始图像的压缩图像数据,本申请实施例通过多组串联的位平面编码器12和熵编码器13分别对各个比特面的数据进行编码,提高编码效率,进而能够提升图像压缩效率。

基于以上编码电路的实施例,本申请一些实施例还提供一种编码方法,本申请实施例所提供的编码方法为上述编码电路进行编码的方法。

图10为本申请示例性实施例提供的一种编码方法的流程示意图。如图10所示,该方法包括:

S101:利用编码电路中的比特面数据分离模块11对原始图像的数据中提取多个比特面的数据;

S102:利用编码电路中的多个位平面编码器12,对多个比特面的数据进行比特面编码,得到多个比特面各自对应的编码数据;

S103:利用编码电路中的与一个位平面编码器12连接的一个熵编码器13,对多个比特面各自对应的编码数据进行熵编码,获得多个比特面对应的压缩码流,以供生成原始图像的压缩图像数据。

在本申请实施例中,本申请实施例编码方法的执行主体可以为计算机设备或者手持设备,其实现形式可以有多种,例如可以是智能手机、个人电脑、穿戴设备、平板电脑等。

在本实施例中,比特面数据分离模块11获取原始图像经过小波变换之后的图像数据,从小波变换之后的图像数据中分离得到各比特面的符号位和各比特面的幅值;有效状态变量预测模块112与位平面分离模块111连接,用于根据各比特面的幅值,获取各比特面的有效状态变量。

在上述实施例中,有效状态变量预测模块112根据各比特面的幅值,获取各比特面的有效状态变量,一种可实现的方式为,将目标比特面以上所有比特面与指定位置对应位置的幅值进行或运算,得到目标比特面的指定位置的重要性状态变量;目标比特面的指定位置的幅度细化状态变量为目标比特面上一比特面对应位置的重要性状态变量。例如:对于第p层比特面中指定位置[m,n]的重要性状态变量σ是第p层比特面以上所有比特面相应位置的幅值的或运算且最高层比特面的重要性状态变量为0。第p层比特面中指定位置[m,n]的幅度细化状态变量是第p+1层中相应位置的重要性状态变量。

第p层比特面的重要性状态变量公式如为:

第p层比特面的幅度细化状态变量公式为:e

其中,σ表示有效状态变量,e表示幅度细化状态变量,p表示当前层数,v表示幅值,m,n表示在码块中的位置信息。

由上可以看出,各个比特面之间的关系是通过有效状态变量联系的,而且每个编码点在各个比特面的有效状态变量是可以预先得到的,因此可以采用并行方式分别对每个比特面的数据进行编码。

编码方式预测模块与比特面数据位平面分离模块111连接,用于预测各比特面的数据可采用的目标编码方式,以及向提供目标编码方式对应的编码模块输出使能信号;至少一个编码模块分别与比特面数据位平面分离模块111连接,用于在接收到使能信号时,对送入其所属位平面编码器12的目标比特面的数据进行编码操作,以生成目标比特面对应的编码数据。本申请实施例,通过预测各比特面的数据可采用的目标编码方式,同时进行四种编码方式的编码,提高编码速度。

在本申请上述实施例中,当前待编码数据的邻域数据包括当前待编码数据的前一数据和当前待编码数据的后一数据。例如,编码条带宽度为四时,将当前四个待编码数据及四个待编码数据的领域数据的重要性状态变量输入编码方式预测模块中进行编码方式的预测。其中,编码方式预测模块进行编码方式预测为:若当前待编码数据及当前待编码数据的邻域数据的重要性状态变量都为0,则确定游程编码方式作为目标编码方式;若当前待编码数据的重要性状态都为0,且当前待编码数据的邻域数据的重要性状态变量至少有一个不是0,则确定零编码方式作为目标编码方式;若当前待编码数据的幅值为1,则确定符号编码方式作为目标编码方式;若当前待编码数据的重要性状态变量都为1,则确定幅度细化编码方式作为目标编码方式;其中,当前待编码数据是目标比特面的数据中即将进行编码的部分数据。在一次编码方式预测结束后将所有的使能信号置为无效。在编码方式预测的过程中,编码方式预测模块是否工作由主控模块的控制信号决定,当主控模块读取下一列编码数据后编码方式预测模块使能信号置为有效。显而易见的是,上述编码方式预测模块可以采用逻辑电路或者软件实现。

关于游程编码模块、零编码模块、符号编码模块和幅度细化编码模块中具体编码方式可参见前述实施例相关部分的描述,在此不再赘述。

在本申请上述编码方法的实施例中,在从原始图像的数据中提取多个比特面的数据后,采用多个位平面编码器12并行地对每个比特面的数据进行比特面编码,进而得到每个比特面对应的编码数据;再采用多个熵编码器13并行地对每个比特面对应的编码数据进行熵编码,得到各比特面对应的压缩码流,最后,依据生成各比特面对应的压缩码流生成原始图像的压缩图像数据,本申请实施例通过多组串联的位平面编码器12和熵编码器13分别对各个比特面的数据进行编码,提高编码效率,进而能够提升图像压缩效率。

图11为本申请一示例性实施例提供的一种编码设备的结构示意图。如图11所示,该编码设备包括:存储器1101和处理器1102。另外,该数据处理设备还包括通信组件1103和电源组件1104等必须组件。

存储器1101,用于存储计算机程序,并可被配置为存储其它各种数据以支持在数据处理设备上的操作。这些数据的示例包括用于在数据处理设备上操作的任何应用程序或方法的指令。

存储器1101,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

通信组件1103,用于与其他设备进行数据传输。

处理器1102,可执行存储器1101中存储的计算机指令,以用于:利用编码电路中的比特面数据分离模块对原始图像的数据中提取多个比特面的数据;利用编码电路中的多个位平面编码器,对多个比特面的数据进行比特面编码,得到多个比特面各自对应的编码数据;利用编码电路中的与多个位平面编码器连接的多个熵编码器,对多个比特面各自对应的编码数据进行熵编码,获得多个比特面对应的压缩码流,以供生成原始图像的压缩图像数据。

可选地,处理器1102在获得多个比特面对应的压缩码流之后,还可用于:利用编码电路中的选择器将多个比特面对应的压缩码流进行排序并输出排序后的压缩码流;利用编码电路中的压缩处理模块对排序后的压缩码流按对恢复图像的质量贡献分层,生成原始图像的压缩图像数据。

可选地,每个比特面的数据包括比特面的符号位、比特面的幅值和比特面的有效状态变量;处理器1102在从原始图像的数据中提取多个比特面的数据,具体用于:利用比特面数据分离模块中的位平面分离模块对原始图像的数据进行比特面分离,得到各比特面的幅值和各比特面的符号位;利用比特面数据分离模块中的有效状态变量预测模块,根据各比特面的幅值,获取各比特面的有效状态变量。

可选地,有效状态变量包括重要性状态变量和幅度细化状态变量,处理器1102在根据各比特面的幅值,获取目标比特面的指定位置的有效状态变量,具体用于:将目标比特面以上所有比特面与指定位置对应位置的幅值进行或运算且最高层比特面且最高层比特面的重要性状态变量为0,得到目标比特面的指定位置的重要性状态变量;目标比特面的指定位置的幅度细化状态变量为目标比特面上一比特面对应位置的重要性状态变量。

可选地,处理器1102在对多个比特面的数据进行比特面编码,得到多个比特面各自对应的编码数据,具体用于:利用位平面编码器中的编码方式预测模块预测各比特面的数据可采用的目标编码方式,以及向提供目标编码方式对应的位平面编码器中的编码模块输出使能信号;编码模块在接收到使能信号时,对输入编码模块所属位平面编码器的目标比特面的数据进行编码操作,以生成目标比特面对应的编码数据。

可选地,处理器1102在预测各比特面的数据可采用的目标编码方式,具体用于:若当前待编码数据及当前待编码数据的邻域数据的重要性状态变量都为0,则确定游程编码方式作为目标编码方式;若当前待编码数据的重要性状态都为0,且当前待编码数据的邻域数据的重要性状态变量至少有一个不是0,则确定零编码方式作为目标编码方式;若当前待编码数据的幅值为1,则确定符号编码方式作为目标编码方式;若当前待编码数据的重要性状态变量都为1,则确定幅度细化编码方式作为目标编码方式;其中,当前待编码数据是目标比特面的数据中即将进行编码的部分数据。

可选地,在编码模块包括以下至少一种:游程编码模块、零编码模块、符号编码模块和幅度细化编码模块。

上述图11中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术和蓝牙(BT)技术等,以促进短程通信。

上述图11中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

在本申请上述编码设备的实施例中,在从原始图像的数据中提取多个比特面的数据后,采用多个位平面编码器并行地对每个比特面的数据进行比特面编码,进而得到每个比特面对应的编码数据;再采用多个熵编码器并行地对每个比特面对应的编码数据进行熵编码,得到各比特面对应的压缩码流,最后,依据生成各比特面对应的压缩码流生成原始图像的压缩图像数据,本申请实施例通过多组串联的位平面编码器和熵编码器分别对各个比特面的数据进行编码,提高编码效率,进而能够提升图像压缩效率。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图10所示方法实施例中的各步骤。

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

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

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

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

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号