用于快速和高效的图像压缩和解压缩的方法和装置转让专利

申请号 : CN201680054069.X

文献号 : CN108028928B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : B.胡斯肯

申请人 : 皇家飞利浦有限公司

摘要 :

本发明涉及一种用于快速和高效的图像压缩和解压缩的方法和装置,包括:使用变换系数对图像数据进行变换编码以生成图像表示,使用变换系数对图像表示进行位平面序列化,以及针对每个位平面,对在位平面中共享局部上下文的位进行最优前缀编码、对位平面中的0位序列进行行程长度编码、以及对在最优前缀编码和0行程长度编码之后接收的系数进行存储,以符号开始、随后是按有效性顺序的位,在报头段中的查找表中以最高有效位开始到最低有效位。

权利要求 :

1.一种用于对图像数据进行编码的方法,该方法包括:获得所述图像数据的数字图像表示;

生成所述图像表示的序列化位平面;

通过零行程标志和指示行程长度的值对每个位平面中的0位序列进行行程长度编码;

经由霍夫曼编码器,对每个位平面中共享局部上下文的位、以及零行程标志进行最优前缀编码以生成码字,其中所述局部上下文由预定数量的相邻位给出,并且所述预定数量的相邻位被映射到字节标志;以及顺序地输出用于每个经编码的位平面的所述码字。

2.根据权利要求1的方法,进一步包括:

在位流中的相应图像的报头段中提供指向所述位流中每个经压缩的位平面的第一位的指针。

3.根据权利要求1的方法,其中,针对相应数据集,基于零位模式的评估来选择用于存储0位序列中0位量的位的量,和/或其中所述局部上下文包括N维数据集合中的相邻位。

4.根据权利要求1的方法,其中所述预定数量的相邻位是8位的倍数。

5.根据权利要求1的方法,进一步包括通过在得到的位流的报头段中提供相应信息来仅用零位条目掩蔽位平面。

6.根据权利要求1的方法,其中获得数字图像表示包括对所述图像数据的变换编码以通过变换系数生成图像表示。

7.根据权利要求6的方法,其中所述变换编码是小波变换编码,并且/或者其中从小波变换编码接收的系数被量化。

8.一种用于对图像数据进行编码的装置,其中该装置适于:获得所述图像数据的数字图像表示;

生成所述图像表示的序列化位平面;

通过零行程标志和指示行程长度的值对每个位平面中的0位序列进行行程长度编码;

经由霍夫曼编码器,对在每个位平面中共享局部上下文的位、以及零行程标志进行最优前缀编码以生成码字,其中所述局部上下文由预定数量的相邻位给出,并且所述预定数量的相邻位被映射到字节标志;

顺序地输出用于每个经编码的位平面的所述码字。

9.根据权利要求8的装置,其中所述装置适于:在位流中的相应图像的报头段中提供指向所述位流中每个经压缩的位平面的第一位的指针。

10.根据权利要求8的装置,其中所述装置适于针对相应数据集,基于零位模式的评估来选择用于存储0位序列中0位量的位的量,并且/或者其中所述局部上下文包括N维数据集合中的相邻位。

11.根据权利要求8的装置,其中所述装置适于将所述预定数量的相邻位映射到字节标志,其中预定数量的相邻位被设置为8位的倍数,并且/或者其中所述装置适于通过在得到的位流的报头段中提供相应信息来仅用零条目掩蔽位平面。

12.根据权利要求8的装置,其中所述装置适于:对所述图像数据应用变换编码以通过变换系数生成图像表示。

13.根据权利要求12的装置,所述变换编码是小波变换编码并且/或者其中从变换编码接收的系数被量化。

14.一种用于对图像数据进行解码的方法,该方法包括:从位流的报头段获得指向属于所述位流中的相应图像的多个经压缩的位平面中每一个的第一位的指针,其中每个位平面包括0行程长度和前缀编码数据,所述前缀编码数据代表表示像素值的初始n位值的特定位;以及通过使用包括在所述报头段中的指针向那些由预定数量限定的位平面应用前缀解码和行程长度解码来对预定数量的位平面进行解码,其中所述位平面以从最高有效位到最低有效位的递减顺序被解码,其中所述预定数量小于或等于经压缩的位平面的数量。

15.一种非暂时性计算机可读介质,其包含在处理单元中可执行的计算机程序,所述计算机程序包括用于当所述计算机程序在所述处理单元中被执行时促使所述处理单元执行如权利要求1-7或14中所限定的方法的指令。

说明书 :

用于快速和高效的图像压缩和解压缩的方法和装置

技术领域

[0001] 本发明涉及特别地用于例如用在数字病理学中的大图像的数据压缩和解压缩。

背景技术

[0002] 随着数字图像数据处理的推进发展,已经开拓了越来越多的应用领域,每个应用领域具有要满足的领域特定需求。在作为示范性应用领域的数字病理学的领域中,必须处理大量数据以保证用于病理分析的必要分辨率。为处理大量数据,图像数据压缩通常是不可缺少的。常规地,诸如预测编码和采用DCT(离散余弦变换)的编码之类的各种技术已经被提出,并被频繁使用。近年来,采用小波变换的信息压缩方法已经被大力研究和利用,例如在JPEG2000格式中。
[0003] 小波变换基于多层级子带分割,其中子带在水平方向、垂直方向和对角线方向上被分割。将频带分割达到第三层级,然后得到如图1中所示的十个子带。在本文中,3LL、3LH、3HL和3HH中的每一个是最低有效层级的子带,2LH、2HL和2HH中的每一个是下一更高层级的子带,并且1LH、1HL和1HH中的每一个是最高有效层级的子带。此外,LH是在水平方向上经低通滤波并且在垂直方向上经高通滤波的子带,HL是在水平方向上经高通滤波并且在垂直方向上经低通滤波的子带,并且HH是在水平方向和垂直方向二者上均经高通滤波的子带。
[0004] 与JPEG相比,利用小波变换编码的JPEG2000格式导致更少的源自块结构的特有失真和噪声。小波变换本身不具有压缩效果;因此它经常与实现子带系数的压缩的熵编码结合使用。数据压缩技术一般地处理数据质量和编码速度之间的折衷。
[0005] JPEG例如提供较低的质量并且不能以容易的方式无损地制成。另一方面,与JPEG相比,诸如JPEG2000之类的高级压缩格式相当慢。对于诸如-但不限于-数字病理学之类的应用,现成PC上的实时图像压缩是合意的,以便使得用户能够即时(on the fly)分析。JPEG2000将需要定制的硬件压缩编解码器,以便实现这样的实时图像压缩。

发明内容

[0006] 本发明的一个目的是提供一种改进的图像压缩,其允许快速和高效的压缩,同时提供带宽使用和图像质量之间的动态折衷,这对于网络上的图像通信尤其重要。
[0007] 该目的通过独立权利要求中限定的主题来解决。
[0008] 在本发明的第一方面中,提供了一种用于对图像数据进行编码的方法,该方法包括以下步骤:获得图像数据的数字图像表示,
[0009] 生成图像表示的序列化位平面;通过零行程标志和指示行程长度的值对每个位平面中的0位序列进行行程长度编码;对每个位平面中共享局部上下文的位、以及零行程标志进行最优前缀编码以生成码字,其中局部上下文由预定数量的相邻位给出,并且所述预定数量的相邻位被映射到字节标志;
[0010] 顺序地存储每个经编码位平面的码字。
[0011] 本发明基于下述想法:序列化表示相应n位像素表示的特定位的位平面,例如用于最高有效位的位平面,接下来是下一有效位的位平面,向下直到最低有效位的位平面。然后,对每个平面中的位进行行程长度编码,并且随后进行最优前缀编码。然后按相继的顺序输出得到的码字。作为该方案的基础的一个关键方面是在压缩比之上的速度和简单性。所提出的编码器比诸如在用于JPEG2000的EBCOT中所使用的复杂位平面编码器的效率低约10%。另一方面,它是10倍快的。它也被优化为在ASIC或FPGA中实现。此外,通过在数据流中的相应图像的报头中存储指向每个位平面的相应第一位的指针,有可能对图像逐步解压缩,例如通过不考虑预定义数量的最低有效位平面来生成较低质量的图像。图像数据的这样的部分解压缩导致较低质量的图像,但并非导致损坏的图像,这在某些情况下、例如对于快速浏览可能就足够了。因此,在优选实施例中,该方法包括:在位流中的相应图像的报头段中提供指向位流中每个经压缩的位平面的第一位的指针。
[0012] 在优选实施例中,针对相应数据集,基于零位模式的评估来选择用于存储0位序列中的0位量的位量。对于小的零行程,这可能导致没有零行程被编码,而只有两个或更多个零。取决于特定应用和出现次数,大的行程可以分成多个较小的行程,例如零模式。
[0013] 在优选实施例中,局部上下文包括N维数据集中的相邻位,例如,诸如3D变换图像之类的3D数据集中的2 * 2 * 2位局部。
[0014] 在优选实施例中,其中预定数量的相邻位、8位的倍数是计算的有效单位。如果例如计算机/芯片的计算的有效单位是8位,则局部中的位量被设置为8以具有有效8位= 1字节的标志表。
[0015] 在优选实施例中,该方法进一步包括通过在得到的位流的报头段中提供相应信息来仅利用零系数掩蔽位平面。
[0016] 在优选实施例中,获得数字图像表示包括通过变换系数对图像数据进行变换编码以生成图像表示。变换编码可以包括导致相互关联的相邻像素的任何变换(例如,小波、小边特征(edgelets)、梳状波(brushlets)、余弦包等)。
[0017] 在优选实施例中,变换编码是小波变换编码。从小波变换编码接收的系数可以被量化或可以不被量化。
[0018] 在本发明的另一方面中,提供了一种用于对图像数据进行编码的装置,其中该装置适于:获得图像数据的数字图像表示;
[0019] 生成图像表示的序列化位平面;
[0020] 通过零行程标志和指示行程长度的值对每个位平面中的0位序列进行行程长度编码;
[0021] 对在每个位平面中的共享局部上下文的位、以及零行程标志进行最优前缀编码以生成码字,其中局部上下文由预定数量的相邻位给出,并且预定数量的相邻位被映射到字节标志;
[0022] 顺序地输出用于每个经编码的位平面的码字。
[0023] 在另一方面中,提供了一种解码方法,其包括:
[0024] 从位流的报头段获得指向属于该位流中的相应图像的多个经压缩的位平面中每一个的第一位的指针;其中每个位平面包括0行程长度和前缀编码数据,该前缀编码数据代表表示像素值的初始n位值的特定位,通过使用包括在报头段中的指针、向为获得期望的质量所需的那些位平面应用前缀解码和行程长度解码,来对预定数量的位平面进行解码,其中位平面以从最高有效位到最低有效位的递减顺序被解码,其中所述预定数量小于或等于经压缩的位平面的数量。对于可能足以用于第一次快速浏览的较低质量图像,可以从图像解码丢弃3个最低有效的位平面,使得与完全重构相比,可以更快地提供得到的图像。
[0025] 在本发明的另一方面中,提供了一种可在处理单元中执行的计算机程序,该计算机程序包括程序代码构件,其用于当计算机程序在处理单元中被执行时使处理单元执行根据本发明的以上方面的方法中所限定的方法。
[0026] 应当理解,权利要求1的用于对图像数据进行编码的方法、权利要求8的装置、权利要求14的用于解码的方法以及权利要求15的计算机程序具有类似的和/或相同的优选实施例,特别是如从属权利要求中所限定的优选实施例。
[0027] 应当理解,本发明的优选实施例也可以是从属权利要求或上述实施例与相应的独立权利要求的任何组合。
[0028] 本发明的这些和其他方面将根据下文描述的实施例是显然的,并参照这些实施例被阐明。

附图说明

[0029] 图1图示了小波编码原理。
[0030] 图2示出了本发明的优选实施例。
[0031] 图3示出了根据本发明优选实施例的数据流的示范性图像块。

具体实施方式

[0032] 图2示出了本发明的一个实施例。其中,参照小波变换系数的压缩描述了该实施例。应该理解,作为替代可以使用典型地应用于图像编码领域中的任何其他变换编码(例如离散余弦变换(DCT))。
[0033] 该方法将甚至可以对未经变换编码的图像数据起作用。使用小波变换,序列化将得到子带的三个集合:HL是在水平方向上经高通滤波并且在垂直方向上经低通滤波的子带,LH是在水平方向上经低通滤波并且在垂直方向上经高通滤波的子带,并且HH是在水平方向和垂直方向二者上均经高通滤波的子带。
[0034] 变换编码之后接收的系数是位平面序列化的。也就是说,取代将像素(在这种情况下由变换系数表示)存储为顺序的数字的是,系数被存储为位平面,其中每个位平面是与表示像素信号的二进制数中的每一个中的给定位位置相对应的位的集合。例如,对于8位数据表示,存在8个位平面。第一位平面可以包含最高有效位(msb)的集合,接下来是包含下一个较低有效位的第二位平面,依此类推,直到包含最低有效位(lsb)的第八位平面。在这样的表示中,第一位平面通常给出中间值的最粗糙但最临界的近似。位平面的编号越高,它对最后阶段的贡献越小。因此,添加位平面给出更好的近似。
[0035] 取代使用诸如来自JPEG2000的EBCOT之类的复杂位平面编码器的是,一种非常简单的最优前缀编码器,例如霍夫曼编码器,被用于位平面的局部上下文,例如如在该示例中的4*2位邻域(这在图2中由指向虚线像素集合的附图标记100示出)。具有共享局部上下文的位可以在数据中存在非随机性的情况下对高效地压缩图案。
[0036] 例如,可以针对0行程分析每个位平面中的共享局部上下文的位,这可以通过由其后跟随指示行程长度的数字的零行程标志来替代相应0位序列来进行行程长度编码。然后,对零行程标志和位平面中共享局部性的所有其他位进行最优前缀编码。零行程编码作用于为零的位组,其具有与非零位(例如4×2位)相同的局部上下文。因此,剩余(非零)位的局部上下文没有被零行程长度编码破坏。
[0037] 其中最优前缀编码器对于在小波系数中频繁出现的为0的大块位不是非常高效,另外使用仅0行程长度编码器(对连续零的数量进行计数,并存储它们)显著提高了压缩比。
[0038] 在另外的步骤中,(经最优前缀+ 0行程长度编码的)压缩系数可以按照有效性顺序按位平面存储。这意味着在第一个位平面中将存储符号,在下一个平面中存储最高有效位,向下直到在最后一个平面中存储最低有效位。通过针对每个经压缩位平面在报头中存储对应的查找表,有可能逐步解压缩图像。通过不考虑任意数量的最低有效位平面,实现了较低质量的图像的快速生成。
[0039] 图3示出了根据本发明优选实施例的图像块序列。在报头段中,提供与位平面、查找表和熵编码器(例如霍夫曼表)以及可选地在整个位平面仅具有零条目的情况下的位掩码相关的信息。对于由小波编码LH、HL和HH产生的三个子带中的每一个,都遵循与n位系数表示的符号相关的第一位平面,然后跟随用于最高有效位的位平面,这里是位8,随后是针对所有子带的位7,向下直到位0。