高位深图像的压缩的制作方法

文档序号:7855104
专利名称:高位深图像的压缩的制作方法
技术领域
本发明涉及图像处理,并且特别地,涉及用于存储位像(bitmap image)的方法和装置。本发明还涉及包括上面记录有用于存储位像的计算机程序的计算机可读介质的计算机程序产品。
背景技术
当前的位像一般以每个颜色通道八(8)位的格式被编码。在这种情况下,对于特定的颜色通道,可呈现总共二百五十六(256)个色度(shade of colour)。一般地,对于许多的摄影、显示和打印需要,每个通道二百五十六(256)个色度是足够的。但是,伴随高位深医疗图像、图形显示和大格式打印机的使用的增加,需要编码每 个颜色通道十六(16)位的图像以在特定的颜色通道内提供更精细的颜色梯度级的方法。由于人眼能够将颜色梯度区分至大于二百五十六(256)的更多的级数,因此,需要更精细的颜色梯度级。存在大量的常规的用于编码十六(16)位图像的方法。所有的常规的方法通过在空间域中使用原像(primary image)和余像(residual image)编码十六(16)位图像。原像和余像被组合,以产生原始十六(16)位图像(或原始十六(16)位图像的有损近似)。联合摄影专家组(JPEG)限定了一种用于位像的有损压缩的方法。JPEG压缩允许通过使用图像数据的频域编码实现位像的有损压缩。作为例子,图3A表示位像301的一部分。在典型的JPEG压缩处理中,位像301首先被分割成八(8) X八(8)像素的编码块(例如,311)。离散余弦变换(DCT)被应用于各编码块,以产生频域系数的八(8) X八(8)块。图3B表示通过向编码块311应用DCT而产生的频域系数的八(8) X八(8)块305。如图3B所示,块305包含位于位置(0,O)的DC系数315和以Z字形次序325布置的六十三(63)个AC系数(例如,316)。特定的AC系数(例如,316)的次序越高,则该特定的AC系数编码的能量的频率越高。在空间域中,图像内的高频率能量代表快速变化的值,并且,低频率能量代表是缓慢变化的梯度。紧接DCT变换步骤之后,然后通过使用量化表将六十四(64)个DCT系数量化。一般地,量化表将在更大的程度上将更高次序的AC系数量化。较大的量化是由于AC系数编码的较高频率能量可典型地由较少的位数代表这一事实。可以使用DCT系数的不同的量化水平以控制最终编码的图像的大小。最后,经量化的DCT系数例如通过使用Huffman(哈夫曼)编码被无损地编码。除了量化以外,另一种控制最终编码图像的大小的方法是舍弃图像的DCT系数,该舍弃图像的DCT系数从最高频率级系数开始并一旦到达希望的存储器目标就停止。由于图像中的视觉信息的大多数被编码在DC系数和较低AC系数内,因此,这种方法起作用。现在将参照图4A和图4B描述图像的谱JPEG编码的方法。图4A示出了八(8)位图像的编码块的DCT系数410。对于每一这种DCT编码块,DCT系数410被存储于降低图像的视觉质量的谱带内。增加DCT系数的阶次直接与减小DCT系数对于图像的视觉质量的影响有关。由此,DCT系数410可分组成为按减少的与总体图像质量的关联性被排序的谱区段(例如,415和425)。在这种配置中,通过删除较高谱区段和它们的相关的DCT系数,图像质量可逐渐劣化。以这种方式,能够通过首先去除不相关的区段适应性地回收(reclaim)存储器。例如,在需要额外的存储器的情况下,图4B中的区段AC55-AC63首先被删除以适应性地回收存储器。区段AC55-AC63被删除,原因是该区段是视觉上最不显著的。如果需要更多的存储器,因此,视觉上次最不显著的区段AC45-AC54被删除以进一步回收存储器。图4A表示具有附图标记为415和425的区段I和2的DCT系数410的分区(partitioning)。图4B是表示对于图4A的DCT系数410的分区方案的表。如图4B所示,区段I (415)包含DC系数,并且区段2 (425)包含4(系数八(1、402和六〇3。JPEG压缩方法的一种限制在于该压缩方法仅对于每种颜色成分多至十二(12)位的图像被限定。需要编码高位深图像(B卩,比八(8)位大)的方法。

发明内容
本发明的一个目的是基本上克服或至少减轻现有的配置的一个或更多个缺点。公开了如下这样的配置,该配置在不将图像还原到空间域中的八位图像的情况下通过提供将高位深图像编码的方法来设法解决以上的问题。公开的方法还允许通过使用标准JPEG解压缩器将这种高位深编码图像解压缩。根据本公开的一个方面,提供一种存储图像的方法,所述方法包括接收图像的频域表现,所述频域表现具有多个位平面;将频域表现分割成第一组的位平面和第二组的位平面,所述第一组的位平面是比第二组的位平面高的一组位平面,将第一组的位平面和第二组的位平面中的每一个分区成多个区段;将来自第二组的位平面的至少一个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段;和存储图像的被布置的区段。根据本发明的另一方面,提供一种存储图像的方法,所述方法包括接收图像的16位频域表现,所述频域代表具有16位位平面;将频域表现分割成第一组的8位位平面和第二组的8位位平面,所述第一组的8位位平面是比第二组的8位位平面高的一组位平面;将第一组的位平面和第二组的位平面中的每一个分区成多个区段;将来自第二组的位平面的至少一个区段插入第一组的位平面的多个区段中以产生图像的多个配置的区段;和存储图像的被布置的区段。根据本发明的还另一方面,提供一种用于存储图像的装置,所述装置包括用于接收图像的高位深频域表现的部件,所述频域表现具有多个位平面;用于将高位深频域表现分成第一组的位平面和第二组的位平面的部件,所述第一组的位平面是比第二组的位平面高的一组位平面,用于将第一组的位平面和第二组的位平面中的每一个分区成多个区段的部件;
用于将来自第二组的位平面的至少一个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段的部件;和用于存储图像的被布置的区段的部件。根据本发明的另一方面,提供一种用于存储图像的系统,所述系统包括用于存储数据和计算机程序的存储器;与所述存储器耦合的用于执行所述计算机程序的处理器,所述计算机程序包含用于实现以下的过程的指令接收图像的高位深频域表现,所述频域表现具有多个位平面;将高位深频域表现分割成第一组的位平面和第二组的位平面,所述第一组的位平面是比第二组的位平面高的一组位平面, 将第一组的位平面和第二组的位平面中的每一个分区成多个区段;将来自第二组的位平面的至少一个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段;和存储图像的被布置的区段。还公开了本发明的其它方面。


现在将参照以下的附图描述本发明的一个或更多个实施例,其中,图I和图2形成在其上可实施所描述的配置的通用计算机系统的示意性框图;图3A是被分割成用于JPEG编码的编码单位的位像的示意图;图3B是八(8) X八(8)的DCT块的示意图;图4A是八(8)位图像的DCT域中的质量区段(quality partition)的示意图;图4B是表示根据一个例子的对于八(8)位图像的分区方案的表;图5表示用于实施所描述的配置的示例性软件结构;图6是存储十六(16)位图像的方法的流程图;图7是表示将高位深DCT系数数据编码的方法的流程图;图8A是表示被分区成高位平面部分和低位平面部分的高位深DCT系数数据的块的示意性框图;图8B是表示在将高位平面部分和低位平面部分量化之后的图8A的DCT系数数据的块的示意性框图;图8C表示修改的标准JPEG量化表;图8D表示用于将图8A的DCT系数数据的低位平面部分量化的量化表;图SE是表示被分区成质量区段的图8A的高位平面部分和低位平面部分的示意性框图;图8F表示被组合以形成共同的一组区段的两组质量区段;图8G表示示例性区段表;图9是表示存储于存储器内的质量区段的示意图;并且图10是表示将根据图6的方法编码的DCT数据的块解压缩的方法的流程图。
具体实施例方式在附图中的任一个或更多个中参考具有相同的附图标记的步骤和/或特征的情况下,除非出现相反的意图,否则这些步骤和/或特征对于本说明书来说具有相同的功能或操作。如上所述,JPEG压缩方法的一个限制在于其仅对于多至每个颜色成分十二(12)位的图像被限定。JPEG压缩方法可被扩展以包含十六(16)位或更高位的图像。特别地,通过将高位深图像分割成JPEG相容的两个或更多个低位深图像,JPEG压缩方法可结合上述的余像方法被扩展。低位深图像可然后被单独地JPEG编码。这种区段包含原像以及一个或更多个余像。但是,高位深图像的余像一般是噪声很大的,并因此不适于JPEG压缩。对于将被位分区(bit partition)成两个部分的高位深值,以下,代表较高阶次位平面的较高有效位(more significant bit)部分被称为“高位平面部分”,并且,代表较低阶次位平面的较低有效位(less significant bit)部分被称为“低位平面部分”。
·
以下,参照图5 10描述存储高位深图像(即,具有比八(8)位大的位深)的方法。描述的方法利用用于压缩高位深图像的JPEG压缩器,并且是以上参照图3A、图3B、图4A和图4B描述的谱区段JPEG编码方法的扩展。以下将作为示例参照十六(16)位图像来描述该方法。但是,所描述的方法可被扩展到其它的高位深图像。图I和图2示出在其上可实施所描述的方法的通用计算机系统100。如图I所示,计算机系统100包括计算机模块101 ;诸如键盘102、鼠标指示设备103、扫描仪126、照相机127和麦克风180的输入设备;和包括打印机115、显示设备114和扬声器117的输出设备。外部调制器-解调器(调制解调器)收发器设备116可被计算机模块101用于通过连接121与通信网络120通信。通信网络120可以是诸如因特网、蜂窝电信网络或私人广域网(WAN)的WAN。在连接121是电话线的情况下,调制解调器116可以是常规的“拨号”调制解调器。作为替代方案,在连接121是高容量(例如,电缆)连接的情况下,调制解调器116可以是宽带调制解调器。也可对于与通信网络120的无线连接使用无线调制解调器。计算机模块101典型地包括至少一个处理器单元105和存储器单元106。例如,存储器单元106可具有半导体随机存取存储器(RAM)和半导体只读存储器(ROM)。计算机模块101还包括大量的输入/输出(I/O)接口,这些接口包括与视频显示器114、扬声器117和麦克风180耦合的音频视频接口 107 ;与键盘102、鼠标103、扫描仪126、照相机127耦合并且任选地与操作杆或其它人机接口设备(未示出)耦合的I/O接口 113 ;和用于外部调制解调器116和打印机115的接口 108。在一些实现中,调制解调器116可被并入计算机模块101内,例如,被并入接口 108内。计算机模块101还具有局域网接口 111,该局域网接口允许计算机系统100通过连接123与已知为局域网络(LAN)的局域通信网络122耦合。如图I所示,局部通信网络122还可通过一般包含所谓的“防火墙”设备或类似功能的设备的连接124与广域网120耦合。局域网接口 111可包含Ethernet 电路卡、Bluetooth 无线配置或IEEE 802. 11无线配置;但是,对于接口 111可实施大量的其它类型的接口。1/0接口 108和113可提供串行和并行连接中的任一种或两种,前者一般根据通用串行总线(USB)标准被实现并具有相应的USB连接器(未示出)。存储设备109被设置,并且一般包括硬盘驱动器(HDD) 110。也可使用诸如软盘驱动器和磁带驱动器(未示出)的其它的存储设备。光盘驱动器112—般被设置用作非易失性数据源。任选的盘驱动112 —般被设置为用作非易失性数据源。例如,可以使用诸如光盘(例如,⑶-ROM、DVD、Blu-rayDiscTM(蓝光盘))、USB-RAM、便携式外部硬驱动器和软盘的便携式存储器设备作为系统100的适当的数据源。计算机模块101的组件105 113 —般通过互连总线104并以导致本领域技术人员已知的计算机系统100的常规操作模式的方式通信。例如,处理器105通过使用连接118与系统总线104耦合。类似地,存储器106和光盘驱动器112通过连接119与系统总线104耦合。在其上可实施所描述的配置的计算机的例子包括IBM-PC和兼容机、SunSparcstations、Apple Mac 或类似的计算机系统。可通过使用计算机系统100实施描述的方法,其中,要被描述的图5 10的处理可被实现为可在计算机系统100内执行的一个或更多个软件应用程序133。特别地,通过在计算机系统100内实施的软件133中的指令131 (参见图2)实现所描述的方法的步骤。软件指令131可形成为一个或更多个代码模块,每个代码模块用于执行一个或更多个特定的任务。软件也可被分成两个单独的部分,其中,第一部分和相应的代码模块执行所描述的 方法,并且,第二部分和相应的代码模块管理第一部分与用户之间的用户接口。例如,软件可被存储于包括以下描述的存储设备的计算机可读介质中。软件从计算机可读介质被加载到计算机系统100中,并然后由计算机系统100执行。具有这样的记录于计算机可读介质上的软件或计算机程序的计算机可读介质是计算机程序产品。计算机系统100中的计算机程序产品的使用优选实现有利的用于实现所描述的方法的装置。软件133 —般被存储于HDD 110或存储器106中。软件从计算机可读介质被加载到计算机系统100中,并被计算机系统100执行。因此,例如,软件133可被存储于由光盘驱动器112读取的光学可读盘存储介质(例如,⑶-ROM) 125上。在一些情况下,应用程序133可在一个或更多个⑶-ROM 125上编码并且通过相应的驱动器112被读取的情况下而被提供给用户,或者可替代地由用户从网络120或122读取。并且,软件也可从其它的计算机可读介质被加载到计算机系统100中。计算机可读存储介质指的是向计算机系统100提供用于执行和/或处理的被记录的指令和/或数据的任何非暂时有形存储介质。这种存储介质的例子包括软盘、磁带、CD-R0M、DVD、蓝光盘、硬盘驱动器、ROM或集成电路、USB存储器、磁光盘或诸如PCMCIA卡等的计算机可读卡,而不管这种器件处于计算机模块101的内部还是外部。也可参与向计算机模块101提供软件、应用程序、指令和/或数据的暂时的或非有形的计算机可读传送介质的例子包括无线电或红外传输通道以及与另一计算机或联网设备的网络连接和包含电子邮件传送和记录于站点等上的信息的因特网或内联网。上述的应用程序133的第二部分和相应的代码模块可被执行以实现要在显示器114上呈现或另外表现的一个或更多个图形用户界面(⑶I)。一般通过操作键盘102和鼠标103,计算机系统100和应用的用户可以功能适应的方式操作界面以向与⑶I相关的应用提供控制命令和/或输入。也可实现其它形式的功能适应用户界面,诸如利用通过扬声器117输出的语音提示和通过麦克风180输入的用户声音命令的音频界面。图2是处理器105和“存储器”134的详细的示意性框图。存储器134代表可被图I中的计算机模块101访问的所有存储器模块(包括HDD 109和半导体存储器106)的逻辑
隹A
口 O
当计算机模块101最初被通电时,执行通电自检(POST)程序150。POST程序150一般被存储于图I的半导体存储器106的R0M149中。诸如存储软件的ROM 149的硬件设备有时被称为固件。为了实现正确的操作,POST程序150检查计算机模块101内的硬件以确保适当地工作,并且一般检查处理器105、存储器134 (109、106)和一般也被存储于ROM149中的基本输入输出系统软件(BIOS)模块151。一旦POST程序150成功运行,BIOS 151就激活图I的硬盘驱动器110。硬盘驱动器110的激活导致驻留于硬盘驱动器110上的引导装入程序152通过处理器105执行。这将操作系统153加载到RAM存储器106中,此时,操作系统153开始操作。操作系统153是系统级应用,其可由处理器105执行以实现包括处理器管理、存储器管理、设备管理、存储管理、软件应用界面和一般用户界面的各种高级功能。操作系统153管理存储器134 (109、106)以确保在计算机模块101上运行的各处理或应用具有足够的存储器以在其中在不与分配给另ー处理的存储器冲突的情况下执行。并且,图I的系统100中可用的不同类型的存储器必须被适当地使用,使得可有效地运行各处理。因此,集合的存储器134意图不在于示出如何分配存储器的特定分段(除非另外陈述),而是要提供可由计算机系统100访问的存储器的一般视图以及如何使用该存储器。 如图2所示,处理器105包括包含控制单元139、运算逻辑单元(ALU) 140和有时称为高速缓存存储器的局部或内部存储器148的大量的功能模块。高速缓存存储器148 —般在寄存器部分中包含大量的存储寄存器144 146。ー个或更多个内部总线141在功能上将这些功能模块互连。处理器105 —般还具有用于通过使用连接118通过系统总线104与外部设备通信的一个或更多个接ロ 142。存储器134通过使用连接119与总线104耦合。应用程序133包括可包含条件转移和循环指令的一系列的指令131。程序133还可包含在程序133的执行中使用的数据132。指令131和数据132分别被存储于存储器位置128、129、130和135、136、137中。根据指令131和存储器位置128 130的相对大小,如存储器位置130所示的指令所示,特定的指令可被存储于单个存储器位置中。作为替代方案,如存储器位置128和129所示的指令段所示,指令可被分段成分别被存储于单独的存储器位置中的多个部分。一般地,给予处理器105在其中执行的ー组指令。处理器1105等待随后的输入,处理器105通过执行另ー组的指令对于该输入作出反应。可从大量的源中的一个或更多个提供各输入,该源包括通过输入设备102、103中的一个或更多个产生的数据、经网络120、102中的ー个从外部源接收的数据、从存储设备106、109中的一个检索的数据或从被插入相应的读取器112中的存储介质125检索的数据,所有这些在图I中被示出。ー组指令的执行在一些情况下可导致数据的输出。执行也可包括向存储器134存储数据或变量。所描述的方法使用在相应的存储器位置155、156、157被存储于存储器134中的输入变量154。描述的方法产生在相应的存储器位置162、163、164被存储于存储器134中的输出变量161。中间变量158可被存储于存储器位置159、160、166和167中。參照图2的处理器105,寄存器144、145、146、运算逻辑单元(ム1^)140和控制单元139 —起工作,以执行对于构成程序133的指令组中的每个指令执行“取得、解码和执行”循环所需要的微操作的序列。各取得、解码和执行循环包含(a)从存储器位置128、129、130取得或读取指令131的取得操作;
(b)控制单元139确定已取得哪条指令的解码操作;和(c)控制单元139和/或ALU 140执行指令的执行操作。然后,可以执行对于下一指令的另一取得、解码和执行循环。类似地,可执行存储循环,控制单元139通过该存储循环向存储器位置132存储或写入值。图5 10的处理中的各步骤或子处理与程序133的一个或更多个段相关,并且由一起工作的处理器105中的寄存器部分144、145、147、ALU 140和控制单元139执行,以对于程序133的注明的段的指令组中的每条指令执行取得、解码和执行循环。可替代地,可在诸如执行所述方法的功能或子功能的一个或更多个集成电路的专用硬件中实现描述的方法。这种专用硬件可包含图形处理器、数字信号处理器或一个或更多个微处理器和相关的存储器。
图5表示用于实现所述的方法的一个示例性软件结构500。从图5可以看出,软件结构 500 包含软件模块 501、502、503、504、505、511、550 和 599。软件模块 501、502、503、504、505、511、550和599可被用于实现“扩展谱JPEG压缩器”。软件结构500的软件模块501、502、503、504、505、511、550和599中的每一个可实
现为驻留于硬盘驱动器110上并且其执行由处理器105控制的软件应用程序133的一个或更多个代码模块。如图5所示,如果需要的话,颜色转换器模块501将输入图像数据转换成正确的处理颜色空间。根据以下描述的例子,颜色转换器模块501将输入图像数据转换成红绿蓝(RGB)颜色空间。作为替代方案,输入图像数据也可被转换成YCbCr颜色空间。DCT单元模块502对于以八(8) X八(8)块为单位的RGB输入图像数据执行DCT,从而输出DCT系数。在一个实现中,DCT单元模块502通过使用JPEG压缩方法压缩输入图像。如上所述,JPEG压缩方法被限定用于多至每个颜色成分十二(12)位的图像。因此,在输入图像被发送到DCT单元模块502之前,图像在空间域中被分成高位平面部分和低位平面部分。DCT单元模块502然后单独地将空间域高位平面部分和低位平面部分转换成频域等同物815和816。量化器模块503在处理器105的执行下通过使用两个量化表512将DCT系数的八(8)X八
(8)空间域块量化。两个量化表512包含JPEG量化表和修改的量化表。量化器模块503输出量化系数。分别在图8C和图8D中示出示例性量化表827和828。可通过处理器105从存储器106访问量化表827和828。量化器503还根据图3B所示的按Z字形次序的扫描从低频成分向高频成分将量化系数的八(8) X八(8)块重新布置成六十四(64)个一维量化系数。然后根据区段表514通过分区器模块504将量化系数分成质量区段。沿视觉质量轴完成分区,这意味着根据DCT系数的频率水平(frequency level)执行分区。在一个特定的实现中,DCT数据的DC系数被分配第一区段,DCT数据的ACl AC3被分配第二区段,DCT数据的AC4 AC7被分配第三区段,等等。分区器模块504向Huffman编码器模块505或RAW编码器模块550供给质量区段。Huffman编码器模块505在处理器105的执行下通过使用Huffman表513和任何适当的Huffman编码方法将质量区段中的输入的一维数据编码。Huffman编码器模块505输出编码数据、各编码数据的长度(由位数代表的“代码长度”)和代表相应的编码数据被分配给的区段的号码(以下,称为“区段号码”)。RAW编码器模块550将质量区段中的一维数据编码为单个区段,并且输出原始编码数据以及代表相应的编码数据被分配给的区段的区段号码。基干“区段号码”,区段控制器模块511将与由“区段号码”表示的区段对应的压缩数据写入到在存储器106内配置的压缩存储器模块599中。压缩存储器模块599被分成区段(例如,842、849)(參见图8F),并且,各条编码数据被写入与该数据的区段号码对应的区段中。现在将參照图6描述存储十六(16)位的图像的方法600。可通过驻留于硬盘驱动器110上并其执行由处理器105控制的软件模块501、502、503、504、505、511、550和599实现方法600。如上所述,软件模块501、502、503、504、505、511、550和599实现扩展谱JPEG压缩器以按上述的格式将十六(16 )位图像编码。软件模块501、502、503、504、505、511、550和599可形成软件应用程序133的一个或更多个代码模块。方法600在输入步骤610开始,在该输出步骤610,由DCT单元模块502从颜色转 换器模块501接收包含高位深图像的输入。在分割步骤620,DCT単元模块502在处理器105的执行下将图像分割成也称为编码块的八(8) X ノV(8)个像素的块。编码块可被存储于存储器106或存储设备109中。在决定步骤630,如果处理器105确定存在更多的要被处理的编码块,那么方法600前进到步骤640。否则,方法600结束。在变换步骤640,DCT单元模块502在处理器105的执行下对于当前的代码块应用离散余弦变换(DCT)。可通过使用浮点数或通过使用固定点方案来应用DCT。在步骤640从DCT単元模块502的输出是高位深DCT系数数据的块。对于16位图像,在使用整数的情况下,在步骤640由DCT单元模块502输出的系数数据的块可多至每个DCT系数二十三(23)位。DCT単元模块502输出的高位深DCT系数数据的块可被存储于存储器106中。然后,在编码步骤650,DCT単元模块502输出的高位深DCT系数数据被编码。以下,将參照图7详细描述如在步骤650执行的对高位深DCT系数数据进行编码的方法700。将作为例子參照在图8A中表示的高位深DCT数据811的块来描述方法700。图8A 8F表示在方法700的各步骤的高位深DCT数据811的块的状态。可通过驻留于硬盘驱动器110上并且其执行被处理器105控制的软件模块501、502、503、504、505、511、550和599中的一个或更多个实现方法700。软件模块501、502、503、504、505、511、550和599可形成软件应用程序133的一个或更多个代码模块。方法700在输入步骤701开始,在该输入步骤701,量化器模块503执行接收图像的高位深频域表现的步骤。特别地,量化器模块503接收包含通过DCT単元模块502输出的高位深DCT系数数据811的块的输入。在分割步骤710,量化器模块503在处理器105的执行下执行将高位频域表现分割成高位平面部分和低位平面部分的步骤。根据图8A的例子,在步骤710,如图8A所示,量化器模块503将高位深DCT系数数据811的块分成低位平面部分816和高位平面部分815。在一个实现中,高位平面部分815包含与可通过使用标准JPEG Huffman表编码的最大位数对应的信息的十五(15)个位。在这种情况下,低位平面部分816包含信息的剰余的位。对于16位图像,低位平面部分816包含信息的八(8)个位。在量化步骤720,量化器模块503在处理器105的执行下向DCT系数数据811的低位平面部分816和高位平面部分815两者应用量化处理。因此,高位深频域表现(即,高位深DCT系数数据811)的高位平面部分815和低位平面部分816在步骤720被量化。图8B表示步骤720的量化之后的DCT系数数据811的块。在步骤720,使用第一量化表以用于对高位平面部分815量化,并且,使用第二量化表以用于将低位平面部分816量化。特别地,对于高位平面部分815,可以使用图SC所示的经修改的标准JPEG量化表827以产生量化数据825,其中高位平面部分中的一些低频DCT系数未被量化。在量化处理中,较高频率DCT系数829中的多个位的一部分被去除。在该特定的例子中,量化依赖于DCT系数的视觉显著性(visual significance)或频率水平。DC成分和低AC系数不被量化,并且,随着DCT系数的频率水平增加,量化水平(quantisationlevel)增加。可通过使用如图8D所示的表828将低位平面部分816量化,使得,仅低位平面部分中的与低频DCT系数对应的数据826的部分(例如,与DC和AC1-AC3水平系数对应的数据)保持不被量化。量化处理通过将比预定的频率水平824高的低位平面部分的所有DCT系数量化为零以去除DCT系数824的较高频率成分中的位的部分。如上面讨论的那样,为了提供比八(8)位图像更精细的灰度,高位深图像是所希望的。这种更精细的灰度在具有缓慢变化的灰度信息的图像的区域中是尤其明显的。关于位 深,将额外灰度级编码到图像的位数据的低位平面部分内。这种额外灰度级在图像数据的空间和DCT域两者中出现。并且,在DCT域内,不同的DCT系数将图像的不同的能量频率编码。DC和较低的AC系数将与空间域中的缓慢变化的梯度对应的图像的大部分低频率能量编码。基于以上讨论的额外梯度水平和将不同的能量频率编码的不同的DCT系数,能够确定需要在量化步骤720之后被存储的DCT域内的低位平面数据的最相关部分。在一个实现中,在DCT系数数据811的量化之后,DCT系数数据811的前五(5)个AC系数和DC系数的低位平面部分在步骤720被存储于存储器106中。对于具有较高系数号的DCT系数编码的低位平面信息较不相关。在分区步骤730中,如图SE所示,分区器模块504在处理器105的执行下执行将DCT系数数据811的块的经量化的高位平面部分数据825和经量化的低位平面部分数据826分别分成多个质量区段(高位平面部分831和低位平面部分836)的步骤。一般地,经量化的高位平面部分数据825和经量化的低位平面部分数据826在步骤730中被分成至少三个质量区段。以与图4A的DCT系数410的分区类似的方式,高位平面部分数据825被分成按减少的与总体图像质量的相关性排序的高位平面部分的谱区段831。对于低位平面部分数据826,该部分数据826被分成如图SE所示的单个区段836。在一个实现中,在形成高位平面部分815和低位平面部分816之前,在步骤710高位深频域表现被分成一个或更多个质量区段(例如,831、836)。在这种实现中,上述的步骤710和730基本上被调换。在编码步骤740,通过Huffman编码器模块505将低位平面部分数据826的质量区段836编码,并且,通过原始编码器模块550将高位平面部分数据825的质量区段831编码。通过处理器105,经编码的质量区段根据各区段(例如,833和836)的各自质量显著性(quality significance)通过区段控制器模块511被以分类的次序一起存储在压缩存储器模块599中。在存储经编码的质量区段之前,处理器105执行按降低视觉显著性的顺序布置一个或更多个质量区段的步骤。经布置的质量区段可然后被存储于压缩存储器模块599中。图8F和图8G表示在步骤740如何组合和存储来自各质量区段(例如,846)的编码数据。如图8F所示,基于低位平面部分的区段836和高位平面部分的区段831的质量显著性,分别从低位平面部分数据826和高位平面部分数据825导出的低位平面部分846和高位平面部分841的两组的Huffman编码质量区段通过区段控制器模块511在步骤740中被组合成共同的一组区段861。各区段(例如,833)的个体质量显著性是该特定的区段对于重构图像的总体图像质量所贡献的信息的量。在一个实现中,区段的质量显著性基于视觉质量被预先确定。可以使用诸如均方差(MSE)、峰值信号噪声比(PSNR)的视觉质量度量、心理视觉评价或任何其它适当的方法以确定区段的质量显著性。为了确定量化后的低位平面部分836应到哪里,区段836被插入到高位平面部分831中的预定数量的位置中。例如,參照图8G,插入的低位平面区段被称为“段1”,并且被插入区段AC35-AC44和AC45-AC54之间。在确定“段I”应到哪里的实现中,例如,“段I”还被插入区段7和8之间以及区段10和11之间。然后,确定来自DC AC63的高位平面区 段以及位于不同位置的“段I”中的每ー个的视觉质量度量。在该特定的例子中,在“段I”位于区段AC35-AC44和AC45-AC54之间的情况下的高位平面区段的诸如PSNR的视觉质量度量是三个配置中的最高的。因此,对于低位平面区段852通过处理器105选择该位置。通过使用该预先确定的视觉质量,可通过处理器105通过将低位平面部分数据826和高位平面部分数据825的质量区段分等级来构建区段表514。在图SG中表示在ー个实现中使用的区段表514。如图SG所示,区段表514的区段号码指示各区段的质量显著性,其中一(I)指不最闻质量,十一(11)指不最低质量。区段表514被存储于存储器106中,使得Huffman编码区段861中的图像数据可通过处理器105中的解码器被解码。在一个实现中,包含区段842、843、844等直到最后的区段849的与高位平面部分数据825的高位平面部分的质量区段831对应的高位平面部分的Huffman编码质量区段841和包含区段852的与低位平面部分826的质量区段836对应的Huffman编码质量区段846通过根据各区段的区段号码将区段852放入高位平面部分的Huffman编码区段841之间而被组合成共同的一组质量区段861。在一个实现中,Huffman编码高位平面区段841中的区段852的位置由用户确定。用户可从得到的解码JPEG图像中的低位平面852评价区段的不同位置的效果,并且,选择使如用户的检测的在不同的位置插入低位平面区段对于JPEG图像引入的视觉畸变最小化的位置。在另ー实现中,通过使用诸如PSNR度量的视觉质量度量确定区段852的位置。质量区段852被插入预定数量的位置(例如,三(3)个位置)。通过使用图SG的质量区段,处理器105分别计算在低位平面区段852被插入区段10和11之间、区段8和10之间以及区段7和8之间的Huffman编码质量区段861的PSNR度量。通过比较关于低位平面区段852的不同位置的数据的高位平面部分的三个不同的PSNR度量,对于Huffman编码选择给出最高PSNR度量的区段852的位置。根据例子,处理器105对于低位平面区段852选择区段8和10之间的位置。图9是表示在一个实现中的存储于存储器106中的Huffman编码质量区段(例如,842、843、844、852、849)的示意图。包含来自代表压缩图像的质量区段(例如,842、843、844、852,849)的数据的存储器106包含多个头部和存储组块(memory chunk),各“存储组块”与特定的质量区段头部对应。根据需要,区段头部存储诸如区段号码、区段的长度、用于访问相关存储组块的方法或其它附加信息的区段信息。术语“存储组块”指的是出于存储压缩的图像数据的目的被链接在一起以形成存储器的逻辑连续组块的存储器的不一定连续的一个或更多个块。各区段的Huffman编码DCT数据被存储于各存储组块内。例如,在本例子中,存储Huffman编码区段数据842的组块951与“区段I”的头部902相关,而存储Huffman编码区段数据852的组块959与“区段9”的头部912相关。当需要特定的存储目标时,可通过从具有最低质量的区段开始删除质量区段以释放存储器。以这种方式,最终输出图像的图像质量可仅劣化所需要的那样多,以满足存储器资源要求。可对于压缩和存储高位深图像使用上述的方法。如上所述,可以使用软件模块501、502、503、504、505、511、550和599以实现“扩展谱JPEG压缩器”。在图7中描述的方法700可被颠倒,以解压缩来自在步骤740被组合和存储的各质量区 段(例如,846)的编码数据。现在参照图10描述将根据方法600编码的高位深系数数据解压缩的方法1000。解压缩模块可驻留于包含处理器105和存储器106的接收压缩数据的另一计算机上。解压缩模块也可驻留于包含板上处理器和存储器的诸如打印机115的呈现设备上。将参照图8A 8G的例子描述方法1000。方法1000可被用于将来自在步骤740被组合并被存储的各质量区段(例如,846)的编码数据解压缩。方法1000可实现为驻留于硬盘驱动器110上并且其执行由处理器105控制的软件应用程序133的一个或更多个软件代码模块。方法1000在组合步骤1010开始,在该组合步骤1010中,与高位平面部分数据825的质量区段831对应的高位平面部分841的Huffman编码质量区段通过处理器105被解码和组合成可被存储于存储器106中的DCT数据的高位平面部分。根据在图8A SG的例子,在步骤1010产生的数据的部分与图SB中可见的量化数据825至少类似或基本上相同。参照图8G,标记为“段I”的区段9以外的所有区段通过处理105被组合以形成DCT数据的量化的高位平面部分,并被存储于存储器106中。从驻留于另一计算机上的压缩模块接收包含低位平面部分数据(例如,与DC和ACl AC3水平系数对应的数据)的区段的位置。然后,在组合步骤1020,与低位平面部分数据826的质量区段836对应的Huffman编码质量区段846被解码并被组合成可被存储于存储器106中的DCT数据的第二低位平面部分。在步骤1020产生的数据的低位平面部分与图SB中可见的数据826至少类似或基本上相同。参照图8G,标记为“段I”的区段9被使用以产生DCT数据的量化的低位平面部分,并被存储于存储器106中。方法1000在逆量化步骤1030继续,在该逆量化步骤1030中,通过处理器105向分别在步骤1010和1020构建和存储的DCT数据的高位平面部分和低位平面部分两者应用逆量化。可以在步骤1030使用任何适当的逆量化方法。一种实现对于通过步骤1010构建的DCT数据的高位平面部分,通过将各高位平面DCT系数乘以其在诸如示例性量化表827的高位平面量化表中的相应的值来进行逆量化,而通过步骤1020构建的DCT数据的低位平面部分通过将各低位平面DCT系数乘以其在诸如示例性量化表828的低位平面量化表中的相应值被逆量化。在组合步骤1040,DCT数据的高位平面部分和低位平面部分在存储器106中被访问并通过处理器105被组合以产生系数数据的高位深DCT块。系数数据的高位深DCT块可被存储于存储器106中。根据图8A 8G的例子,在步骤1040产生的系数数据的高位深DCT块与图8A所示的高位深DCT系数数据811至少类似或基本上相同。然后,在步骤1050,通过使用任何适当的逆DCT方法将在步骤1040产生的高位深DCT系数数据的块变换成八(8) X ノV(8)像素图像块。在一个实现中,如果适于执行方法1000的相应的修改的JPEG解压缩器不可用,那么可以在将压缩数据预处理之后使用标准JPEG解压缩器。根据这种实现,对于各编码块,预处理包含舍弃与DCT数据的低位平面部分相关的区段并且将包含经分区的DCT系数的剩余的区段连接成单个存储器区段。エ业适用性
·
所述的配置适于计算机和数据处理工业,特别适于图像处理。以上仅描述了本发明的一些实施例,并且,可以在不背离本发明的范围和精神的情况下对其进行修改和/或变化,这些实施例是解释性的而不是限制性的。例如,对于不同类型的输入图像,能够改变与方法600相关的许多參数。修改可包含但不限于DCT数据的低位平面部分和DCT数据的高位平面部分的量化的量和类型。例如,作为使用不同的量化表以将DCT系数数据的高位平面部分和低位平面部分量化的替代,方法600可被修改以仅使用一个量化表以将DCT系数数据的高位平面部分和低位平面部分两者量化。并且,DCT数据的低位平面部分和高位平面部分的分区策略可被修改。例如,作为使用单个区段的替代,DCT数据的低位平面部分可基于DCT系数、位平面水平或两者的组合被分成多个质量区段。
权利要求
1.一种用于存储图像的方法,所述方法包括 接收图像的频域表现,所述频域表现具有多个位平面; 将所述频域表现分割成第一组的位平面和第二组的位平面,所述第一组的位平面是比第二组的位平面高的ー组位平面, 将第一组的位平面和第二组的位平面中的每ー个分成多个区段; 将来自第二组的位平面的至少ー个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段;以及存储图像的被布置的区段。
2.根据权利要求I的方法,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
3.根据权利要求2的方法,其中,通过评价在多个不同的位置的来自第二组的位平面的插入区段所引入的视觉畸变,确定降低视觉显著性的次序。
4.根据权利要求2的方法,其中,降低视觉显著性的次序由以下步骤确定 将来自第二组的位平面的区段插入到第一组的位平面的多个区段之间的预定数量的位置,以形成图像的多个被布置的区段; 确定图像的多个被布置的区段中的每ー个的视觉质量度量; 基于所确定的视觉质量度量选择图像的多个被布置的区段中的ー个。
5.根据权利要求2的方法,其中,第一组的位平面被量化。
6.根据权利要求2的方法,其中,第一组的位平面和第二组的位平面被量化。
7.根据权利要求I的方法,其中,第一量化表被用于将第一组的位平面量化,并且,第ニ量化表被用于将第二组的位平面量化。
8.根据权利要求I的方法,其中,在形成所述第一组的位平面和第二组的位平面之前,所述频域表现被分成所述多个区段。
9.根据权利要求I的方法,其中,所述频域表现是高位深频域表现。
10.一种用于存储图像的方法,所述方法包括 接收图像的23位频域表现,所述频域表现具有23位位平面; 将所述频域表现分割成第一组的15位位平面和第二组的8位位平面,所述第一组的15位位平面是比第二组的8位位平面高的ー组位平面; 将第一组的15位位平面和第二组的8位位平面中的每ー个分成多个区段; 将来自第二组的8位位平面的至少ー个区段插入第一组的15位位平面的多个区段中以产生图像的多个被布置的区段;和存储图像的被布置的区段。
11.根据权利要求10的方法,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
12.一种用于存储图像的装置,所述装置包括 用于接收图像的频域表现的部件,所述频域表现具有多个位平面; 用于将所述频域表现分割成第一组的位平面和第二组的位平面的部件,所述第一组的位平面是比第二组的位平面高的ー组位平面, 用于将第一组的位平面和第二组的位平面中的每ー个分成多个区段的部件;用于将来自第二组的位平面的至少ー个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段的部件;以及用于存储图像的被布置的区段的部件。
13.根据权利要求12的装置,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
14.一种用于存储图像的装置,所述装置包括 用于接收图像的高位深频域表现的部件,所述频域表现具有多个位平面; 用于将所述高位深频域表现分割成第一组的位平面和第二组的位平面的部件,所述第一组的位平面是比第二组的位平面高的ー组位平面; 用于将第一组的位平面和第二组的位平面中的每ー个分成多个区段的部件; 用于将来自第二组的位平面的至少ー个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段的部件;以及用于存储图像的被布置的区段的部件。
15.根据权利要求14的装置,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
16.一种用于存储图像的装置,所述装置包括 用于接收图像的23位频域表现的部件,所述频域表现具有23位位平面; 用于将所述频域表现分割成第一组的15位位平面和第二组的8位位平面的部件,所述第一组的15位位平面是比第二组的8位位平面高的ー组位平面; 用于将第一组的15位位平面和第二组的8位位平面中的每ー个分成多个区段的部件; 用于将来自第二组的8位位平面的至少ー个区段插入第一组的15位位平面的多个区段中以产生图像的多个被布置的区段的部件;和用于存储图像的被布置的区段的部件。
17.根据权利要求16的装置,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
18.一种用于存储图像的系统,所述系统包括 用于存储数据和计算机程序的存储器; 与所述存储器耦合的用于执行所述计算机程序的处理器,所述计算机程序包含用于实现以下操作的指令 接收图像的频域表现,所述频域表现具有多个位平面; 将所述频域表现分割成第一组的位平面和第二组的位平面,所述第一组的位平面是比第二组的位平面高的ー组位平面, 将第一组的位平面和第二组的位平面中的每ー个分成多个区段; 将来自第二组的位平面的至少ー个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段;以及存储图像的被布置的区段。
19.根据权利要求18的系统,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
20.一种用于存储图像的系统,所述系统包括 用于存储数据和计算机程序的存储器; 与所述存储器耦合的用于执行所述计算机程序的处理器,所述计算机程序包含用于实现以下操作的指令 接收图像的高位深频域表现,所述频域表现具有多个位平面; 将所述高位深频域表现分割成第一组的位平面和第二组的位平面,所述第一组的位平面是比第二组的位平面高的ー组位平面, 将第一组的位平面和第二组的位平面中的每ー个分成多个区段; 将来自第二组的位平面的至少ー个区段插入第一组的位平面的多个区段中以产生图像的多个被布置的区段;以及存储图像的被布置的区段。
21.根据权利要求20的系统,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
22.一种用于存储图像的系统,所述系统包括 用于存储数据和计算机程序的存储器; 与所述存储器耦合的用于执行所述计算机程序的处理器,所述计算机程序包含用于实现以下操作的指令 接收图像的23位频域表现,所述频域表现具有23位位平面; 将所述频域表现分割成第一组的15位位平面和第二组的8位位平面,所述第一组的15位位平面是比第二组的8位位平面高的ー组位平面; 将第一组的15位位平面和第二组的8位位平面中的每ー个分成多个区段; 将来自第二组的8位位平面的至少ー个区段插入第一组的15位位平面的多个区段中以产生图像的多个被布置的区段;和存储图像的被布置的区段。
23.根据权利要求22的系统,其中,图像的所述多个被布置的区段被按降低视觉显著性的次序布置。
全文摘要
本发明公开了高位深图像的压缩。公开了一种存储图像的方法。接收图像的频域表现,该频域表现具有多个位平面。将频域表现分割成第一组的位平面和第二组的位平面,第一组的位平面是比第二组的位平面高的一组位平面。将第一组的位平面和第二组的位平面中的每一个分成多个区段。将来自第二组的位平面的至少一个区段插入第一组的位平面的多个区段中以产生图像的多个被排列的区段。存储图像的被排列的区段。
文档编号H04N9/804GK102857767SQ20121022652
公开日2013年1月2日 申请日期2012年6月29日 优先权日2011年6月29日
发明者刘强, D·R·J·莫纳格汉, D·D·S·邓 申请人:佳能株式会社
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1