CN101102390A - 数据压缩设备和数据压缩程序存储介质 - Google Patents

数据压缩设备和数据压缩程序存储介质 Download PDF

Info

Publication number
CN101102390A
CN101102390A CNA2007101271373A CN200710127137A CN101102390A CN 101102390 A CN101102390 A CN 101102390A CN A2007101271373 A CNA2007101271373 A CN A2007101271373A CN 200710127137 A CN200710127137 A CN 200710127137A CN 101102390 A CN101102390 A CN 101102390A
Authority
CN
China
Prior art keywords
data
value
order
type
compressed object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101271373A
Other languages
English (en)
Other versions
CN101102390B (zh
Inventor
杉田由纪夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Publication of CN101102390A publication Critical patent/CN101102390A/zh
Application granted granted Critical
Publication of CN101102390B publication Critical patent/CN101102390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种数据压缩设备,包括:类型确定部分,用于确定要压缩数据的类型;差生成部分,用于获得形成要压缩数据的值的序列中相邻值之间的差,并生成要压缩的新数据;以及偏移部分,用于使形成要压缩的新数据的每个值偏移预定值。所述设备还包括:分割部分,用于将其值由偏移部分进行偏移的、要压缩数据的值,在小于单位位数目的预定分割位数处,分为较高阶位部分和较低阶位部分,从而将要压缩数据分为包括值的较高阶位部分的序列的较高阶数据和包括值的较低阶位部分的序列的较低阶数据。

Description

数据压缩设备和数据压缩程序存储介质
技术领域
本发明涉及一种数据压缩设备,用于对诸如图像数据等数据进行压缩,以及一种存储介质,其中,数据压缩程序使诸如计算机等信息处理设备作为数据压缩设备进行操作。
背景技术
传统地,压缩诸如图像数据等数据的技术已经广泛地用于减少所存储的数据、减小所传送的数据量等。
例如,日本专利待审公开No.5-328142公开了一种技术,用于分配色号,从而在从原始图像中选择表示色彩并生成CLUT(色彩查找表)时,连续色号可以具有接近值的色彩数据;生成与CLUT相对应的位图;获得相邻像素之间的色号差;在该差指示较大值时,改变在图像质量中没有出现降级的范围内的位图的色号;使该差偏移较小值;以及针对差数据执行运行长度编码过程。
以下引入的是应用了数据压缩技术的系统。
图1示出了应用数据压缩技术的打印系统的示例。图2示出了打印系统中的数据处理流。
如图1所示,打印系统包括主机控制器100、接口设备200、以及打印机300。主机控制器100通过通用接口电缆150(如SCSI等)与接口设备200连接,以及接口设备200通过专用接口电缆250与打印机300连接。
如图2所示,在主机控制器100中,将以不同语言和格式(如,PDF、PS、TIFF等)描述的特征和图像的数据11分为图像(连续调(CT))数据和线条数据等(线条色调格式(line work,LW));通过针对每条数据执行RIP(光栅图像处理)来生成位图数据12A和13A;以及针对每条数据执行数据压缩过程,从而生成基于CT的压缩数据14和基于LW的压缩数据15。如图1所示,压缩数据14和15从主机控制器100通过通用接口电缆150传递至接口设备200。在接口设备200中,针对所传递的压缩数据14和15执行数据解压缩处理,以及生成与主机控制器100执行数据压缩处理之前状态中的位图数据12A和13A相对应的位图数据12B和13B。
接口设备200将解压缩的CT数据(位图数据12B)和LW数据(位图数据13B)组合,将点信息等添加为标签,并将结果传输至打印机300。打印机300根据从接口设备200接收的位图数据和添加至数据的标签信息来输出图像。
当有必要使主机控制器100和接口设备200作为独立设备时(如,例如在将主机控制器100与接口设备200分开、或者接口设备200从多个主机控制器接收图像数据的情况下),主机控制器100执行如图2所示的数据压缩,并将数据传递至接口设备200,以及接口设备对数据进行解压缩,从而缩短从主机控制器100至接口设备200的数据传递时间,并提高了打印效率。
通常,将诸如JPEG等压缩系统(这是不可逆系统并具有高压缩率)用于CT数据,而将可逆压缩系统(如PackBit等)用于LW数据。
然而,在诸如JPEG等压缩系统中,需要很长时间使用软件来执行压缩过程,从而使整个系统的吞吐量降低。
尽管JPEG等由于是不可逆压缩过程而不可避免地具有图像质量降低的问题,但是对于更高的图像质量有着不断增长的需求。以及此外,对不降低图像质量的针对CT数据的可逆压缩进行了研究。
发明内容
考虑上述情况做出本发明,并且本发明提供了数据压缩设备、以及能够执行也可应用于CT数据的新的、优选的、以及可逆的压缩过程的数据压缩程序存储介质。
根据本发明的数据压缩设备是针对要压缩数据执行数据压缩过程的数据压缩设备,其中,所述要压缩数据包括由预定数目的单位位(unitbit)所表示的值的序列,以及所述设备包括:
类型确定部分,用于确定要压缩数据的类型;
差生成部分,用于获得形成要压缩数据的值的序列中相邻值之间的差,并生成要压缩的新数据,所述要压缩的新数据包括表示所述差的值的序列;
偏移部分,用于使形成要压缩的新数据的每个值偏移预定值;
分割部分,用于在小于单位位数目的预定分割位数处,将要压缩数据(其值由偏移部分进行偏移)的值分为较高阶位部分和较低阶位部分,从而将要压缩数据分为包括值的较高阶位部分的序列的较高阶数据、和包括值的较低阶位部分的序列的较低阶数据;
较低阶数据压缩部分,用于根据由类型确定部分所确定的类型,针对通过分割部分的分割所获得的较低阶数据来执行可逆压缩过程;以及
较高阶数据压缩部分,用于针对通过分割部分的分割所获得的较高阶数据来执行可逆压缩过程。
在以上的描述中,在“获得形成要压缩数据的值的序列中相邻值之间的差”中的“相邻”可以指数据流上的相邻,但是并不限于此。例如,如果将二维图像数据按照一维流数据进行处理,则数据在二维图像上可以是相邻的。此外,“相邻值之间的差”指不仅包括一维差,而且包括多维差,即两维或多维差。同样对于以下描述适用。
在根据本发明的数据压缩设备中,优选地,类型确定部分根据通过分割部分的分割所获得的较低阶数据来确定要压缩数据的类型。
在根据本发明的数据压缩设备中,优选地,要压缩数据是表示连续音图像和线条色调格式图像之一的数据,以及类型确定部分确定数据是否是表示连续音图像的第一类型、或者表示线条色调格式图像的第二类型。在这种情况下,优选地,类型确定部分根据出现于数据中的值的直方图来确定要压缩数据的类型,以及类型确定部分根据由差生成部分所生成的要压缩的新数据来确定要压缩数据的类型。
此外,如果要压缩数据是表示连续音图像和线条色调格式图像之一的数据,以及类型确定部分确定数据是否是表示连续音图像的第一类型、或者表示线条色调格式图像的第二类型,则优选包括类型编码部分,所述类型编码部分用于输出较低阶数据中除一个或多个预定压缩对象值之外的值;以及在类型确定部分确定了要压缩数据的类型是第二类型时,输出表示压缩对象值的编码值、以及表示压缩对象值重复次数的编码值;以及在类型确定部分确定了要压缩数据的类型是第一类型时,输出较低阶数据中的所有值。在具有这种优选特征的设备中,更加优选包括熵编码部分,所述熵编码部分用于使用代码和值之间的对应关系表,针对包括由类型编码部分输出的值的数据来执行熵编码过程,尤其优选地包括霍夫曼编码部分,所述霍夫曼编码部分用于使用霍夫曼表,针对包括由类型编码部分输出的值的数据来执行霍夫曼编码过程。但熵编码部分和霍夫曼编码部分包括在设备中时,熵编码部分和霍夫曼编码部分接收省略压缩的指令,并输出未经压缩的、包括由类型编码部分输出的值的数据。
此外优选地,在根据本发明的数据压缩设备中,较高阶数据压缩部分包括第一编码部分,所述第一编码部分用于输出较高阶数据中除一个或多个预定压缩对象值之外的值,以及输出表示压缩对象值的编码值、以及表示压缩对象值重复次数的编码值。此外优选地,较高阶数据压缩部分包括第二编码部分,所述第二编码部分用于使用代码和值之间的对应关系表,针对由第一编码部分编码的数据来执行熵编码过程。在这种情况下,优选地,第二编码部分使用霍夫曼表,针对由第一编码部分编码的数据来执行霍夫曼编码过程。
此外优选地,在根据本发明的数据压缩设备中,较高阶数据压缩部分包括:第一编码部分,用于输出较高阶数据中除一个或多个预定压缩对象值之外的值,以及输出表示压缩对象值的编码值、以及表示压缩对象值重复次数的编码值;直方图计算部分,用于获得出现于由第一编码部分编码的数据中的值的直方图;代码分配部分,用于根据由直方图计算部分获得的直方图,将具有较短长度的代码分配给在代码和值之间的对应关系表中出现频率较高的值;以及第二编码部分,用于使用由代码分配部分分配代码的表,针对由第一编码部分编码的数据来执行熵编码过程。
本发明的数据压缩程序存储介质是一种存储介质,用于存储数据压缩程序,其中,数据压缩程序被结合于存储介质中,并且使信息处理设备针对要压缩的、并且包括由预定数目的单位位所表示的值序列的数据来执行数据压缩过程;以及用于在信息处理设备中实现:
类型确定部分,用于确定要压缩数据的类型;
差生成部分,用于获得在形成要压缩数据的值的序列中的相邻值之间的差,并生成要压缩的新数据,所述要压缩的新数据包括表示所述差的值的序列;
偏移部分,用于使形成要压缩的新数据的每个值偏移预定值;
分割部分,用于将要压缩数据(其值由偏移部分进行偏移)的值,在小于单位位数目的预定分割位数处,分为较高阶位部分和较低阶位部分,从而将要压缩数据分为包括值的较高阶位部分的序列的较高阶数据和包括值的较低阶位部分的序列的较低阶数据;
较低阶数据压缩部分,用于根据由类型确定部分所确定的类型,针对通过分割部分的分割所获得的较低阶数据来执行可逆压缩过程;以及
较高阶数据压缩部分,用于针对通过分割部分的分割所获得的较高阶数据来执行可逆压缩过程。
以上仅描述了根据本发明的数据压缩程序存储介质的基本特征以避免重复描述。然而,根据本发明的数据压缩程序存储介质不但包括所述基本特征,而且包括与上述数据压缩设备的上述附加特征相对应的各种附加特征。
可以利用一个程序模块或多个程序模块来配置根据本发明的数据压缩程序在计算机中所实现的诸如偏移部分之类的组件。可选地,可以通过程序模块来配置多个组件。配置这些组件,从而可以由组件自身或者通过将指令给予结合于计算机中的程序或程序模块来执行操作。
根据本发明的数据压缩设备和数据压缩程序存储介质,由偏移部分对要压缩并由差生成部分生成的新数据的值进行偏移,并被分为较高阶部分和较低阶部分;依据由类型确定部分所确定的要压缩数据的类型,针对较高阶数据执行可逆压缩过程,以及针对较低阶数据执行可逆压缩过程。
由于在分割数据之后,在较低阶数据中清楚地表示了要压缩数据类型的特性,所以类型确定部分根据包括比原始数据的数据量少的较低阶数据来确定要压缩数据的类型,从而提高了确定效率。
在LW数据中,将数据值集中于一些特定值的趋势比在CT数据中的所述趋势强。因此,对于LW数据,可以通过提供类型编码部分(仅对这种特定值和表示特定值重复次数的值进行编码)获得高压缩率。此时,确定要压缩数据是LW数据还是CT数据的方法可以是根据出现于数据中的值的直方图,通过数据中的值在特定值上的集中程度来进行确定的方法;或者可以是通过在作为获得差之后数据的要压缩新数据中出现的值的集中率来进行确定的方法。在这些方法中,可以容易地确定要压缩数据是LW数据还是CT数据。
如果较低阶数据压缩部分具有熵编码部分,则可以通过熵编码过程期望压缩率中的进一步提高。尤其,如果较低阶压缩部分具有作为熵编码过程典型示例的霍夫曼编码部分,则可以通过霍夫曼编码过程来实现高压缩率。此时,如果熵编码部分和霍夫曼编码部分响应省略压缩的指令来输出未压缩的较低阶数据,则可以通过指令来选择高速压缩过程。
当较高阶数据压缩部分具有第一编码部分时,仅将压缩对象值编码为压缩对象值本身和表示重复次数的值,从而避免了所产生的数据比原是数据更加冗余的问题,并提高了压缩率。
此外,当较高阶数据压缩部分具有第二编码部分时,期望通过熵编码过程(典型地,通过霍夫曼编码过程)进一步提高压缩率。
此外,如果较高阶数据压缩部分具有直方图计算部分和代码分配部分,以及第二编码部分使用由代码分配部分分配了代码的表格来执行熵编码过程(例如,霍夫曼编码过程),则可以比使用代码分配固定的表格所执行的熵编码过程更加大地提高了压缩率。
附图说明
图1示出了应用了数据压缩技术的打印系统的示例;
图2示出了打印系统的数据处理流;
图3是示出了根据本发明数据压缩设备实施例的图像压缩设备的结构框图;
图4示出了图1所示主机控制器的硬件配置;
图5示出了根据本发明数据压缩程序存储介质实施例的存储于存储介质中的图像压缩过程程序的示意图;
图6示出了输入图3所示的数据压缩设备的输入图像文件中的图像数据结构;
图7示出了针对输入图3所示的数据压缩设备的输入图像文件中的图像数据来执行二维差编码过程之后的数据结构;
图8示例性示出了形成图3所示的数据压缩设备的差编码部分的二维差编码过程;
图9示出了CT图像数据的示例;
图10示出了针对CT图像数据的二维差编码过程和偏移的效果;
图11是示出了平面分割部分的数据分割过程效果的说明图示;
图12是图3所示运行长度编码部分的编码过程的说明图示;
图13示出了在运行长度编码部分中对压缩对象值进行编码的算法;
图14示出了通过图3运行长度编码部分,依据重复次数的编码过程的示例;
图15示出了数据扫描部分扫描过程结果的示例;
图16示出了霍夫曼表的示例;
图17示出了基于霍夫曼表准备的代码序列的实际示例;以及
图18示出了将较低阶子平面形成为8位值的像素数据的直方图的示例。
具体实施方式
以下描述的是根据本发明实施例的图像压缩设备,所述设备结合于图1所示整个系统中的主机控制器中。实际上,所述设备涉及针对图2所示主机控制器中的CT数据的位图数据12A和LW数据的位图数据13A执行数据压缩过程的过程。因此,在本例中,考虑利用以下将描述的根据本发明实施例的数据压缩过程来替换针对以上参考图1和2描述的CT数据和LW数据的数据压缩过程,以及利用与根据本发明实施例的数据压缩过程相对应的数据解压缩过程来替换接口设备中的数据解压缩过程。因此,将省略已在图1和2中示出的那些重复图示和对整个系统的描述以及对过程流的描述。
图3是与根据本发明的数据压缩设备的实施例相对应的图像压缩设备配置的结构框图。
图3中所示的图像压缩设备500是针对CT数据和LW数据执行可逆压缩过程的图像压缩设备。为了执行可逆压缩过程,该图像压缩设备包括差编码部分510、直方图分析部分515、偏移部分520、平面分割部分530、L平面压缩部分540和H平面压缩部分550。之后将对部分510至550每个的细节进行描述,以及将在以下对图像压缩设备500中的图像数据流进行描述。
将输入图像文件100(如图2所示,在本发明的本实施例中,该文件存储了以位图分解的CT数据12A和LW数据13A)输入差编码部分510,并执行二维差编码过程。即,根据当观看图像时沿各个方向相邻的值,在形成输入数据的值的序列上获得二维差,从而生成由表示所述差的8位值序列所形成的图像数据。差编码部分510与根据本发明的差生成部分的示例相对应。
将由值(表示通过差编码部分510生成的差)的序列所形成的图像数据输入偏移部分520,并偏移预定量。平面分割部分530将偏移图像数据中的8位值分为较低阶位和较高阶位。因此,将图像数据分为由较低阶位值序列形成的较低阶子平面D1L和由较高阶位值序列形成的较高阶子平面D1H。偏移部分520与根据本发明的偏移部分的示例相对应,以及平面分割部分530与根据本发明的分割部分的示例相对应。较低阶子平面D1L和较高阶子平面D1H分别与根据本发明的较低阶数据和较高阶数据的示例相对应。
L平面压缩部分540和H平面压缩部分550针对由平面分割部分530所分割的较低阶子平面D1L和较高阶子平面D1H来分别执行可逆压缩过程。在较低阶子平面D1L上,直方图分析部分515在输入L平面压缩部分540之前执行直方图分析过程,以及确定输入图像文件D0中的数据是CT数据还是LW数据。L平面压缩部分540依据直方图分析部分515的确定结果来执行可逆压缩过程。L平面压缩部分540和H平面压缩部分550分别与根据本发明的较低阶数据压缩部分和较高阶数据压缩部分的示例相对应,以及直方图分析部分515与根据本发明的类型确定部分的示例相对应。
L平面压缩部分540具有过程分支部分544。如果直方图分析部分515确定输入图像文件D0中的数据是CT数据,则过程分支部分544将所输入的较低阶子平面D1L输出至霍夫曼编码部分541。如果直方图分析部分515确定输入图像文件D0中的数据是LW数据,则过程分支部分544将所输入的较低阶子平面D1L输出至运行长度编码部分545。运行长度编码部分545从所输入的较低阶子平面D1L的数据中检测一个或多个压缩对象值和相同压缩对象值的重复次数。然后,在接收到检测结果时,在它是除较低阶子平面D1L的数据中的压缩对象值之外的值时,运行长度编码部分545执行输出编码过程,并输出压缩对象值自身的代码和表示压缩对象值重复次数的值的代码。在编码过程中,运行长度编码部分545根据相同压缩对象值的重复次数,通过不同数目的位来表示重复次数。在本例中,如果相同压缩对象值的重复次数实际上是预定次数或更少,则通过一个单位位的数目来表示重复次数。如果重复次数超过了预定值,则由两个单位位来表示重复次数。在本发明的实施例中,运行长度编码部分545和过程分支部分544的组合与根据本发明的类型编码部分的示例相对应。将由运行长度编码部分545编码的数据输入霍夫曼编码部分541中。即,通过过程分支部分544的操作,针对LW数据的较低阶子平面D1L来执行运行长度编码过程,然后将数据输入霍夫曼编码部分541,以及将CT数据的较低阶子平面D1L输入霍夫曼编码部分541。
根据值与代码之间对应关系的霍夫曼表,L平面压缩部分540的霍夫曼编码部分541执行以下编码过程:利用根据霍夫曼表的代码来替换形成输入霍夫曼编码部分541的较低阶子平面D1L的值。霍夫曼编码过程是熵编码过程类型。霍夫曼编码部分541与根据本发明的熵编码过程的示例相对应,以及还与根据本发明的霍夫曼编码部分的示例相对应。将模式切换部分542并入L平面压缩部分540。利用来自用户的、在高速模式和正常模式之间切换的指令,模式开关部分542在正常模式与高速模式之间进行切换,其中,正常模式通过霍夫曼编码部分541的霍夫曼编码过程,而高速模式省略了霍夫曼编码过程并输出较低阶子平面D1L。因此,最终在正常模式中,从L平面压缩部分输出由霍夫曼编码过程对较低阶子平面D1L进行压缩而获得的较低阶压缩数据D2L。在高速模式中,输出不执行霍夫曼编码过程的较低阶压缩数据D2L。
另一方面,H平面压缩部分550具有运算长度编码部分551、数据扫描部分552、以及霍夫曼编码部分553。将较高阶子平面D1H输入H平面压缩部分550中的运行长度编码部分551。
H平面压缩部分550中的运行长度编码部分551执行与由L平面压缩部分540中的运行长度编码部分545针对所输入的较高阶子平面D1H所执行相似的运行长度编码过程。在本发明的实施例中,H平面压缩部分550中的运行长度编码部分551与根据本发明第一编码部分的示例相对应。然后,将H平面压缩部分550中的运行长度编码部分551所编码的数据输入数据扫描部分552和霍夫曼编码部分553。在通过运行长度编码部分551编码之后,数据扫描部分552对所有数据进行扫描,并获得出现于数据中的所有值的出现(直方图)的频率。在作为本发明实施例中的单元的图3所示的每个较高阶子平面D1H上执行获得出现频率的过程,以及获得由每个较高阶子平面中的运行长度编码部分551所编码的数据中的值的出现频率。此外,数据扫描部分552根据所获得的数据直方图(值的出现频率),将具有较短代码长度的代码分配给在霍夫曼表上具有较高出现频率的值。数据扫描部分552与根据本发明的直方图计算部分和代码分配部分的示例相对应。
将霍夫曼表传递至霍夫曼编码部分553,其中,数据扫描部分552向霍夫曼表的值分配了代码。霍夫曼编码部分553执行以下编码过程:利用根据霍夫曼表的代码(即,由具有较高出现频率的值的较短位长所表示的代码)来替换根据所传递的霍夫曼表、形成了输入霍夫曼编码部分553的数据的值。霍夫曼编码部分553与根据本发明的第二编码部分的示例相对应。
由霍夫曼编码部分553执行霍夫曼编码过程的数据具有包括值的分配表和由数据扫描部分552所分配代码的压缩信息,并作为通过压缩来自H平面压缩部分550的较高阶子平面D1H所获得的较高阶压缩数据D2H来输出。
因此,分别从L平面压缩部分540和H平面压缩部分550输出的较低阶压缩数据D2L和较高阶压缩数据D2H组形成了原始图像数据的压缩数据。如图1所示,压缩数据通过诸如SCSI等通用接口电缆150传输至接口设备200。接口设备200针对所接收的可逆压缩数据来执行数据解压缩过程。在数据解压缩过程中,执行与图3所示的上述各种编码过程相对应的解码过程,以及对与原始输入图像文件中的相同的图像数据进行重构。
图4示出了图1所示的主机控制器100的硬件配置。
通过具有图4所示配置的计算机系统,对图1所示的主机控制器100进行配置。
由图4所示的计算机系统所配置的主机控制器100具有CPU111、RAM112、通信接口113、硬盘控制器114、FD驱动器115、CDROM驱动器116、鼠标控制器117、键盘控制器118、显示器控制器119、以及通信板120。这些组件经由总线110连接。
硬盘控制器114控制对构建于主机控制器100内的硬盘104的存取。FD驱动器115和CDROM驱动器116控制对可去除地加载在主机控制器100上的软盘(FD)130和CDROM140的存取。鼠标控制器117和键盘控制器118检测位主机控制器100所提供的鼠标107和键盘108的操作,并将信息传输至CPU111。利用CPU111的指令,显示控制器119在为主机控制器100所提供的图像显示器109的显示屏上显示图像。
通信板120执行诸如SCSI等通用接口协议来执行通信,并将压缩图像数据通过接口电缆150传输至接口设备200(图1)。
此外,通信接口113执行诸如因特网之类的通用通信,以及主机控制器100可以通过通信接口113来获取图像数据。
将存储于硬盘104中的程序读入RAM112,并被展开(expand)以便由CPU111执行。读取在RAM112上展开的程序并由CPU111执行。
图5是根据本发明数据压缩程序存储介质实施例的存储于存储介质中的图像压缩过程程序的示意图。
在本例中,将图像压缩程序600存储于CDROM140中。
通过差编码部分610、直方图分析部分615、偏移部分620、平面划分部分630、L平面压缩部分640、以及H平面压缩部分650来配置图像压缩程序600。除了图像压缩程序600之外,CDROM140将用于执行一系列过程的各种程序存储于图1所示的主机控制器100中。然而,由于这种程序与传统技术中的类似,所以在这里省略图示和描述。
将图5中示出的CDROM140载入图4中示出的主机控制器100,并通过CDROM驱动器116进行访问,以及将存储于CDROM140中的程序更新至主机控制器100并存储于硬盘104中。当从硬盘104中读取存储于硬盘104上的程序、在RAM112上展开并由CPU111执行时,主机控制器用作用于执行包括图3中示出的图像压缩设备500的过程的各种过程的主机控制器。
将图5中示出的图像压缩程序600安装在主机控制器100上,并通过CPU111执行,从而在主机控制器100中实现图3中示出的图像压缩设备500。当通过CPU111执行时,差编码部分610、直方图分析部分615、偏移部分620、平面分割部分630、L平面压缩部分640和H平面压缩部分650是用于使主机控制器100的组件用作配置图3中示出的图像压缩设备500的差编码部分510、直方图分析部分515、偏移部分520、平面分割部分530、L平面压缩部分540和H平面压缩部分550的程序模块。即,这些程序模块实际上可以在主机控制器100上构造图像压缩设备500的组件。
当通过CPU111执行时配置了图5中示出的图像压缩程序600的部分610至650的操作是配置了图3中示出的图像压缩部分500的部分510至550的操作。因此,还将对配置了图5中示出的图像压缩程序600的部分610至650应用目前为止所提供的、以及以下将提供的图3中示出的对图像压缩设备500的部分510至550的描述。
图6示出了输入图3所示的数据压缩设备的输入图像文件中的图像数据结构。图7示出了针对数据来执行二维差编码过程之后的数据结构。
通过N行来配置由输入图像文件中的图像数据表示的图像,每行包括沿预定主扫描方向、沿与主扫描方向垂直的次扫描方向的M个像素。利用这种配置,图像数据还具有N行的结构,每行包括沿预定主扫描方向(图6中的水平方向)、沿次扫描方向(图6中的垂直方向)的M个像素值,如图6所示。在图6中,由Pn,m来表示第n行中的第m个像素的像素值。在该表示中,在沿次扫描方向的第n行中,通过Pn,1,Pn,2,...,Pn,m-1,Pn,m,...,Pn,M-2,Pn,M-1,Pn,M来表示沿主扫描方向的每个像素的像素值。将这些像素值以十六进制来表示。
将上述图像数据输入配置了图3中示出的图像压缩设备500的差编码部分510,针对所述数据执行二维差编码过程,从而进一步获得在主扫描方向中相邻像素之间差中的次扫描方向中的差。
图7示出了执行二维差编码过程的数据的结构。所述数据还具有以下配置,其中,在沿次扫描方向的N行中设置执行了二维差编码过程的沿主扫描方向的M像素行。在图7中,由Xn,m来表示执行了二维差编码过程的第n行中的第m个像素的像素值,以及通过以下变换等式,从在图6中间部分处示出的二维差编码过程之前的四个像素{Pn-1,m-1,Pn-1,m,Pn,m-1,Pn,m}中获得二维差编码过程之后的像素Xn,m的值。
Xn,m=(Pn,m-Pn,m-1)-(Pn-1,m,-Pn-1,m-1)    (1)
当n=1或m=1时,在二维差编码过程之前的像素值的右侧出现下标0。将具有下标0的像素值定义如下:
P0,0=P0,m=00(m=1~M),Pn,0=Pn-1,M(n=1~N)    (2)
其中,等式(2)中的“00”指示当以十六进制表示像素值时的值0。以下给出了对等式(1)和(2)的含义的简要描述。
等式(1)指示通过在主扫描方向中相邻像素之间差中的次扫描方向中的差(即,由括号括起来的值)而获得在二维差编码过程之后的像素值Xn,m。在二维差编码过程之前的像素值Pn,m与相邻像素的像素值(即,具有相似值的像素值)紧密相关时,像素值Xn,m接近于0。
等式(2)指示在最新提供了沿次扫描方向的虚拟第0行、以及每行中的第0个像素的虚拟像素值时的每个像素值的定义。沿主扫描方向,将最左像素的像素值(从左起第0个像素的像素值Pn,0)标识为在上述最左像素的行之前的一行中的最右像素的像素值Pn-1,M。沿次扫描方向,将图示中最顶行的像素值(第0行像素的像素值),即P0,0和P0,m均固定为0。
在二维差编码过程之后的数据中,由于具有下标0的项在等式(1)的变换等式右侧出现,所以将等式(2)的定义应用于第一行中像素的像素值和每行中第一像素的像素值。实际上,通过上述等式(1)和(2),将二维差编码过程之后的第一行中像素的像素值表示如下。
X1,1=P1,1
X1,2=P1,2-P1,1
X1,3=P1,3-P1,2
X1,M=P1,M-P1,M-1
另一方面,在二维差编码过程之后的数据中,通过上述等式(2),将每行中第一像素的像素值表示如下。
X1,1=P1,1
X2,1=(P2,1-P1,M)-P1,1
X3,1=(P3,1-P2,M)-(P2,1-P1,M),
XN,1=(PN,1-PN-1,M)-(PN-1,1-PN-2,M)
因此,对第一行中的像素值和每行中的第一像素值进行特定变形,但是将等式(1)应用于上述值之外的像素值,而不应用等式(2)的定义。例如,将第二行中像素值除了最左像素值之外的像素值表示如下。
X2,2=(P2,2-P2,2)-(P1,2-P1,1),
X2,3=(P2,3-P2,2)-(P1,3-P1,2),
X2,M=(P2,M-P2,M-1)-(P1,M-P1,M-1)
以下将描述使用实际值的二维差编码过程。
图8示例性示出了形成图3所示的数据压缩设备的差编码部分510的二维差编码过程。
图8中左侧(部分(A))示出的每个值是形成了图像数据的像素值。图8中右侧(部分(B))示出的每个值是在二维差编码过程中输出的输出值。图8中示出的水平方向是主扫描方向,以及沿主扫描方向的八个值的序列指示行。图8中示出的数据指示总的8行,每行包括八个值,所述值与N=8的数据相对应,以及在图6和7中示出的数据中,M=8。
首先,在针对图8的部分(A)中示出数据的二维差编码过程中,第一行中的像素值“90 8A 8A 7B...”中最左边的“90”作为X1,1输出,以及其它值X1,2,X1,3,...作为沿主扫描方向的相邻值之间的差输出,即,“8A-90=FA”、“8A-8A=00”等。“8A”-“90”的相减结果是负值,并由9位值“1FA”来表示,但是省略了作为1位值的MSB的最高值“1”,以及仅输出较低阶的8位“FA”。
与第二行相关,在获得X2,1的等式中,即X2,1=(P2,1-P1,M)-P1,1,以图8的部分(A)中示出的值来代替在M=8时右侧的{P2,1,P1,8,P1,1},以及将“(87-58)-90=9F”作为X2,1输出。对于其它值X2,2,X2,3,...,输出是第二行中沿主扫描方向的相邻值之差与第一行中沿主扫描方向的相邻像素值之差之间的差值“(84-87)-(8A-90)=3”“(88-84)-(8A-8A)=04”...。
与第三行相关,在获得X3,1的等式中,即X3,1=(P3,1-P2,M)-(P2,1-P1,M),以图8的部分(A)中示出的值来代替在M=8时右侧的{P3,1,P2,8,P2,1,P1,8},以及将“(8B-4C)-(87-58)=10”作为X3,1输出。对于其它值X3,2,X3,3,...,输出是第三行中沿主扫描方向的相邻值之差与第二行中沿主扫描方向的相邻像素值之差之间的其它差值“(86-8B)-(84-87)=FE”“(8A-86)-(88-84)=00”...。
在第四和后续行中,可以通过重复与第三行中相同的操作来获得图8的部分(B)中示出的每个值。
图1中示出的接口设备200针对执行了二维差编码过程的数据来执行数据解码过程。在解码过程中,所使用的是从执行了二维差编码过程的数据的值中获得Pn,m的等式。获得以下等式。
将二维差编码过程之后的像素值Xi,j从i=1至i=m相加,以及在将所述值从j=1至j=m相加。使用等式(1)和(2),通过以下等式(3)来表示和。
[公式1]
Σ i = 1 n Σ j = 1 m X i , j = Σ i = 1 n { Σ j = 1 m ( P i , j - P i , j - 1 ) - Σ j = 1 m ( P i - 1 , j - P i - 1 , j - 1 ) }
= Σ i = 1 n { ( P i , m - P i , 0 ) - ( P i - 1 , m - P i - 1,0 ) }
= Σ i = 1 n { ( P i , m - P i - 1 , m ) - ( P i , 0 - P i - 1,0 ) } . . . . . ( 3 )
= ( P n , m - P 0 , m ) - ( P n , 0 - P 0,0 )
= P n , m - P n - 1 , M
其中,将等式(2)应用于出现在以上等式中的值{P0,0,Pn,0,P0m}。通过以上的等式,由以下等式(4)来表示二维差编码过程之前的像素值Pn,m
[公式2]
P n , m = Σ i = 1 n Σ j = 1 m X i , j + P n - 1 , M . . . . . . ( 4 )
图1所示的接口设备200首先通过以上等式(4)获得第一行中的像素值P1,1,P1,2,...,P1,M。例如,通过以下等式(5),将n=1替换给以上等式(4)并使用等式(2)中的P0,M=0来表示第一行像素值中沿主扫描方向的第m个像素值。
[公式3]
P 1 , m = Σ j = 1 m X 1 , j . . . . . . ( 5 )
因此,获得第一行中的所有像素值P1,1,P1,2,...,P1,M
可以通过将n=2替换给以上等式(4)并使用通过合并第一行中的像素值而获得的P1,M来获得第二行中的像素值P2,1,P2,2,...,P2,M。例如,通过以下等式(6)来表示第二行像素值中沿主扫描方向的第m个像素值。
[公式4]
P 2 , m = Σ j = 1 m ( X 1 , j + X 2 , j ) + P 1 , M . . . . . . ( 6 )
类似地,可以使用在以上等式(6)中合并的相似值来获得第三和后续行中的像素值。图1中示出的接口设备200以这种方式执行数据解码过程。
图3中示出的差编码部分510针对图像数据执行二维差编码过程。将通过二维差编码过程获得的数据输入图3中示出的偏移部分520中,将预定偏移值加至每个数据值,以及将数据分为较低阶子平面D1L和较高阶子平面D1H。在本例中,以下通过参照CT数据的图像数据来对行进至数据分割的过程进行特别描述。针对LW图像数据,类似地执行行进至数据分割的过程。
图9示出了CT图像数据的示例。
图9的部分(A)示出了单色风景图像作为由CT图像数据所表示的CT图像的示例。在本发明的本实施例中,使用其中由8位值来表示CT图像每个像素的色彩密度的图像数据。图9的部分(B)示出了在表示部分(A)所示风景图像的图像数据中的数据值的直方图,以及直方图的水平轴指示数据值,以及垂直轴指示数据的条数(像素数)。在CT图像中,直方图的宽度通常很大,以及尽管在直方图的数据条数中存在峰值和谷值,但是在直方图中数据条数很少为“0”。
图10示出了差编码和偏移对于CT图像数据的影响。
图10的部分(A)示出了通过针对图9所示的CT图像数据执行差编码过程而获得的数据的直方图。直方图的水平轴指示数据值,以及垂直轴指示出现频率。当针对CT图像数据执行图6和8中示出的差编码过程时,如图10的部分(A)所示,数据的直方图通常具有最小数据值和最大数据值的尖锐峰值。当针对数据执行偏移时,如图10的部分(B)所示,数据的直方图在偏移值处具有尖锐峰值。“8”用作本发明的本实施例中的偏移值,以及作为偏移结果的具有“16”或更大的数据的频率几乎是“0”。
因此,将具有通过差编码过程和偏移变换后直方图的数据通过图3中示出的平面分割部分530来分为较低阶子平面D1L和较高阶子平面D1H。
图11是通过平面分割部分530分割数据的效果的示例性图示。
图11示出了在数据值“15”和“16”之间分离的图10的部分(B)中示出的直方图。图3中示出的平面分割部分530的数据分割产生了与直方图的这种分割相对应的效果。即,在本发明的本实施例中,通过分隔形成数据的8位值来获得由4个较低阶位所表示的值序列形成的较低阶子平面D1L和由4个较高阶位所表示的值序列所形成的较高阶子平面D1H。如果解译了形成较低阶子平面D1L的4位值表示从“0”至“15”的每个值,以及形成较高阶子平面D1H的4位值表示从“16”至“256”以16为间隔的值的16种类型,则较低阶子平面D1L的直方图实质上与图11左侧示出的直方图相同,以及较高阶子平面D1H的直方图实质上与图11右侧示出的直方图相同。然而,获得较高阶子平面D1H的直方图,其中,将与图11左侧示出的直方图区域一样高的峰值加至图11右侧示出的直方图的数据值“16”。
以下描述的是对分为较高阶子平面D1H和较低阶子平面D1L之后数据的处理。如上所述,针对LW图像数据所执行的过程与针对CT图像数据所执行的过程之间的唯一差别是较低阶子平面D1L的过程,否则,在LW图像数据和CT图像数据的任一图像数据中的较高阶子平面D1H上执行相同的过程。
首先,以下将对针对较高阶子平面D1H所执行的过程进行描述。
如从像素的出现频率实质上为零的事实中所知,期望较高阶子平面D1H上的值大多是接近于零的值的序列(十六进制中的“00”,“01”和“FF”)。因此,为了对较高阶子平面D1H进行压缩,通过对相同值序列进行编码来执行压缩数据的运行长度编码过程是有效的,并将较高阶子平面D1H输入作为图3所示H平面压缩部分550的组件之一的运行长度编码部分551。
在本发明的本实施例中,为了处理的方便,运行长度编码部分551以4位值对中的8位值来处理形成较高阶子平面D1H的4位值序列,以及将以下的编码过程应用于十六进制的从“00”至“FF”的值的序列。
在该编码过程中,仅针对多个8位值的特定值来执行该过程。因此,运行长度编码部分55 1对要执行编码过程的值(在本例中,将该值称为“压缩对象值”)、以及来自所接收数据的压缩对象值的序列进行检测。
在本发明的本实施例中,作为示例,将“01”、“FF”和“00”三个值作为压缩对象值进行处理。
图12是由图3所示的运行长度编码部分551进行编码的示例性图示。
图12中的上一行示出了形成较高阶子平面D1H的数据,以及下一行示出了由运行长度编码部分551执行编码过程之后的数据。
在本例中,如由图12所示的上一行所表示的,假设从运行长度编码部分551输入“06 02 02 02 01 01 01 01 04 05 00...”。此时,图3中所示的运行长度编码部分551检测到第一位的“06”不是压缩对象值,以及下面的“02 02 02”不是压缩对象值,继续了四个压缩对象值“01”,将不是压缩对象值的“04”和“05”输入,然后继续32767个压缩对象值“00”。
图13示出了运行长度编码部分对压缩对象值进行编码的算法。
在图13中,Z指示相同压缩对象值的重复次数。例如,对于图12中的上一行中的“01”,Z=4,以及对于“00”,Z=32767。
在图13中,“YY”指示由十六进制的两个数字所表示的压缩对象值本身。“YY”之后的“0”或“1”指示由一位所表示的“0”或“1”。在后续的“XXX XXXX...”中,一个“X”指示一位,以及“XXXXXXX...”表示Z值。
即,在图13中,当压缩对象值“YY”继续小于Z次(Z<128)时,第一字节表示压缩对象值“YY”,包含第一位“0”和后续7位的后续字节表示Z值。当压缩对象值“YY”继续Z次或更多次(Z≥128),则第一字节表示压缩对象值“YY”,以及将后续两个字节(16位)的第一字节设为“1”,以指示连续两个字节的表达。15个后续位表示Z值。
根据图13所示的规则,以下将对图12中示出的编码示例进行描述。
由于从图3中示出的平面分割部分530输入的形成较高阶子平面D1H(上一行)的数据的第一值“06”不是压缩对象值,所以将值“06”输出。由于“02”不是压缩对象值,所以将后面的“02 02 02”输出。接下来,将后续的四个连续压缩对象值“01”编码为“01 04”。后续的“04”和“05”不是压缩对象值。因此,输出“04 05”。
接下来,由于“00”连续32767次,所以输入“00”,将接下来的1字节的第一位设为“1”,以及15位表示32767-128。结果,三字节“00 FF 7F”表示32767个连续“00”。即,由除第一位“1”之外的“00 00”来表示重复次数128。
图14示出了根据图3所示运行长度编码部分551的重复次数的编码过程示例。
·当“00”连续127次时,使用两个字节将它编码为“00 7F”。
·当“00”连续32767次时,使用三个字节将它编码为“00 FF 7E”。
·当“00”连续32895次时,使用三个字节将它编码为“00 FF FF”。
·当“00”连续128次时,使用三个字节将它编码为“00 80 00”。
·当“01”连续129次时,使用三个字节将它编码为“00 80 01”。
·当“FF”连续4096次时,使用三个字节将它编码为“FF 8F 80”。
图3中示出的运行长度编码部分551执行上述编码过程。
根据本发明的本实施例的运行长度编码部分551将最大压缩率提高至3/32895=1/10,965。如参照图11示出的直方图所描述,要由运行长度编码部分551处理的较高阶子平面D1H的数据包括大多数表示数据值“16”的4位值“0”,以及根据4位值生成的8位值大多是十六进制的值“00”。因此,可以从运行长度编码部分551的编码过程中期望显著的数据压缩。
将在图3中示出的运行长度编码部分551执行上述编码过程之后的数据输入图3中的数据扫描部分552、以及形成H平面压缩部分550的霍夫曼编码部分553。
数据扫描部分552首先对从运行长度编码部分551输出的完整数据进行扫描,并获得数据值出现频率。
图15示出了数据扫描部分552的扫描结果。
在本例中,假设“A1”的出现频率最高,接下来依次是“A2”、“A3”、“A4”...。“A1”“A2”等不直接表示值,但是表示指示值的代码。即,“A1”指示“00”,“A2”指示值“FF”,依此类推。在该描述中,为了简洁,从图3中示出的运行长度编码部分551中传输的所有数据的每个值是16个值“A1”至“A16”之一。对于16个值中的每个值,数据扫描部分552生成根据出现频率分配代码的霍夫曼表。即,向具有最高出现频率的“A1”分配由两个位所表示的代码“00”。接下来,向“A2”分配由两个位所表示的代码“01”。分别向接下来的“A3”和“A4”分配由三个位所表示的代码“100”和“101”,以及向后续的“A5”至“A8”分配由五个位所表示的每个代码。类似地,向具有较低出现频率的值分配由较多个数的位所表示的代码。
图16示出了霍夫曼表的示例。
霍夫曼表与图15至所示的表相对应,以及霍夫曼表是编码前的值(替换前)与编码后的值(替换后)之间的对应关系表,其中,利用由较短个数的位表示的代码来替换较高出现频率的值。
图3所示的形成H平面压缩部分550的霍夫曼编码部分553根据霍夫曼表对数据值进行编码。结果,利用较短个数的位来替换大数量的值,从而实现了数据压缩。
图17示出了在霍夫曼表上准备的代码串的实际示例。
在图17中示出的代码串中,在每个代码串中“,”右侧的值指示位长,以及位长“,”左侧的二进制代码指示实际代码。例如,图17中左上角处示出的第一代码是二位代码“11”,第二代码是三位代码“011”,第三代码是三位代码“010”,以及第四代码是四位代码“1010”。利用该代码串,以较少数目位的代码来替换较高出现频率。
在图12至17所示的上述过程中,通过运行长度编码部分551和霍夫曼编码部分553执行编码,可以以高压缩率对输入图3所示的H平面压缩部分550的较高阶子平面D1H压缩为较高阶压缩数据D2H。
以下描述的是对于较低阶子平面D1L的处理。将通过平面分割部分530的较低阶子平面D1L输入直方图分析部分515,并针对数据执行直方图分析。在该直方图分析过程中,确定输入图像文件D0中的数据是CT数据还是LW数据。在本发明的本实施例中,为了便于处理,直方图分析部分515以8位值对配置了较低阶子平面D1L的连续两个4位值进行处理。
图18示出了将较低阶子平面D1L形成为8位值的像素数据的直方图的示例。
直方图的水平轴指示以十进制表示的数据值,以及垂直轴指示出现频率。如图18所示,数据值集中于136附近,以及最高出现频率的第一峰值17a在数据值136处出现。在数据值137处的出现频率和数据值135处的出现频率也很高,并分别形成了第二峰值17b和第三峰值17c。在本发明的本实施例中,在第一峰值17a的高度(出现频率)是A、以及第二峰值17b的高度和第三峰值17c的高度分别是B和C时,在以下的确定方法中,直方图分析部分515确定输入图像文件D0中的数据是CT数据还是LW数据。
(B+C)>k×A  ......确定为CT数据
(B+C)≤k×A  ......确定为LW数据
其中,k指示大约0.2的常数。
通常,二维差编码过程之后的LW数据指示比CT数据高的数据值的集中,并趋向于具有特定数据值的较高峰值。该趋势出现于图11中所示分隔数据之后的较低阶子平面D1L中。在执行二维差编码过程后将图像数据分为较低阶子平面D1L和较高阶子平面D1H之后,可以通过对较低阶子平面D1L上数据值的集中程度进行评估来确定图像数据是LW数据还是CT数据。存在评估数据值的集中程度的多种传统方法,以及直方图分析部分515的上述确定方法是方法之一。在该确定方法中,通过检查与相邻峰值(B和C)的高度相比,第一峰值17a的高度A是否足够高。通过评估,确定图像数据是CT数据还是LW数据。在该确定方法中,常数k是通过实验(或经验)确定的常数。
在通过直方图分析部分515的确定之后,将较低阶子平面D1L输入L平面压缩部分540中的过程分支部分545。当图像数据是LW数据时,数据值的集中程度很高。因此,大量特定值(图18中的136个数据值)连续。结果,为了压缩LW数据的较低阶子平面D1L,通过对相同值序列进行编码来执行压缩的运行长度编码过程是有效的。因此,当直方图分析部分515确定了图像数据是LW数据时,过程分支部分544将所输入的较低阶子平面D1L输出至运行长度编码部分545,以及运行长度编码部分545执行参照图12至14的上述运行长度编码过程。霍夫曼编码部分541针对运行长度编码过程之后的较低阶子平面D1L来执行参照图15至17的上述霍夫曼编码过程。
另一方面,如果直方图分析部分515确定了图像数据是CT数据,则过程分支部分544将所输入的较低阶子平面D1L输出至霍夫曼编码部分541,以及针对CT数据的较低阶子平面D1L来直接执行霍夫曼编码过程,而无需执行运行长度编码过程。
与LW数据和CT数据无关,将霍夫曼编码过程之后的较低阶子平面D1L作为较低阶压缩数据D2L从L平面压缩部分540输出。
如上所述,当用户发布了高速模式的指令时,不考虑LW数据或CT数据而由霍夫曼编码部分541来执行霍夫曼编码过程,并从L平面压缩部分540输出。
这得出了本发明的本实施例描述的结论。
在本发明的本实施例中,针对8位至序列的图像数据执行可逆压缩过程。然而,本发明并不限于8位值序列的数据,只要压缩数据时由多个位的值所表示的值序列即可。例如,数据中的值的位数(位宽)可以是12、16等而不是8。

Claims (15)

1、一种数据压缩设备,用于针对要压缩数据执行数据压缩过程,其中,所述要压缩数据包括由预定数目的单位位所表示的值的序列,所述设备包括:
类型确定部分,用于确定要压缩数据的类型;
差生成部分,用于获得形成要压缩数据的值的序列中相邻值之间的差,并生成要压缩的新数据,所述要压缩的新数据包括表示所述差的值的序列;
偏移部分,用于使形成要压缩的新数据的每个值偏移预定值;
分割部分,用于在小于单位位数目的预定分割位数处,将其值由偏移部分进行偏移的、要压缩数据的值分为较高阶位部分和较低阶位部分,从而将要压缩数据分为包括值的较高阶位部分的序列的较高阶数据、和包括值的较低阶位部分的序列的较低阶数据;
较低阶数据压缩部分,用于根据由类型确定部分所确定的类型,针对通过分割部分的分割所获得的较低阶数据来执行可逆压缩过程;以及
较高阶数据压缩部分,用于针对通过分割部分的分割所获得的较高阶数据来执行可逆压缩过程。
2、如权利要求1所述的数据压缩设备,其中,所述类型确定部分根据通过分割部分的分割所获得的较低阶数据来确定要压缩数据的类型。
3、如权利要求1所述的数据压缩设备,其中,要压缩数据是表示连续音图像和线条色调格式图像之一的数据,以及所述类型确定部分确定数据是表示连续音图像的第一类型、还是表示线条色调格式图像的第二类型。
4、如权利要求3所述的数据压缩设备,其中,所述类型确定部分根据出现于数据中的值的直方图来确定要压缩数据的类型。
5、如权利要求3所述的数据压缩设备,其中,所述类型确定部分根据由差生成部分所生成的要压缩的新数据来确定要压缩数据的类型。
6、如权利要求3所述的数据压缩设备,其中,所述较低阶数据压缩部分包括类型编码部分,用于输出较低阶数据中除一个或多个预定压缩对象值之外的值,以及在所述类型确定部分确定了要压缩数据的类型是第二类型时,输出表示压缩对象值的编码值、和表示压缩对象值重复次数的编码值,以及在所述类型确定部分确定了要压缩数据的类型是第一类型时,输出较低阶数据中的所有值。
7、如权利要求3所述的数据压缩设备,其中,所述较低阶数据压缩部分包括类型编码部分,用于输出较低阶数据中除一个或多个预定压缩对象值之外的值,以及在所述类型确定部分确定了要压缩数据的类型是第二类型时,输出表示压缩对象值的编码值、和表示压缩对象值重复次数的编码值,以及在所述类型确定部分确定了要压缩数据的类型是第一类型时,输出较低阶数据中的所有值;以及
熵编码部分,用于使用代码和值之间的对应关系表,针对包括由所述类型编码部分输出的值的数据来执行熵编码过程。
8、如权利要求7所述的数据压缩设备,其中,所述熵编码部分接收省略压缩的指令,并输出未经压缩的、包括由类型编码部分输出的值的数据。
9、如权利要求3所述的数据压缩设备,还包括:
类型编码部分,用于输出较低阶数据中除一个或多个预定压缩对象值之外的值,以及在所述类型确定部分确定了要压缩数据的类型是第二类型时,输出表示压缩对象值的编码值、和表示压缩对象值重复次数的编码值,以及在所述类型确定部分确定了要压缩数据的类型是第一类型时,输出较低阶数据中的所有值;以及
霍夫曼编码部分,用于使用霍夫曼表,针对包括由所述类型编码部分输出的值的数据来执行霍夫曼编码过程。
10、如权利要求9所述的数据压缩设备,其中,所述霍夫曼编码部分接收省略压缩的指令,并输出未经压缩的、包括由类型编码部分输出的值的数据。
11、如权利要求1所述的数据压缩设备,其中,所述较高阶数据压缩部分包括第一编码部分,用于输出较高阶数据中除一个或多个预定压缩对象值之外的值,以及输出表示压缩对象值的编码值、和表示压缩对象值重复次数的编码值。
12、如权利要求1所述的数据压缩设备,其中,所述较高阶数据压缩部分包括:
第一编码部分,用于输出较高阶数据中除一个或多个预定压缩对象值之外的值,以及输出表示压缩对象值的编码值、和表示压缩对象值重复次数的编码值;以及
第二编码部分,用于使用代码和值之间的对应关系表,针对由所述第一编码部分编码的数据来执行熵编码过程。
13、如权利要求1所述的数据压缩设备,其中,所述较高阶数据压缩部分包括:
第一编码部分,用于输出较高阶数据中除一个或多个预定压缩对象值之外的值,以及输出表示压缩对象值的编码值、和表示压缩对象值重复次数的编码值;以及
第二编码部分,用于使用霍夫曼表,针对由所述第一编码部分编码的数据来执行霍夫曼编码过程。
14、如权利要求1所述的数据压缩设备,其中,所述较高阶数据压缩部分包括:
第一编码部分,用于输出较高阶数据中除一个或多个预定压缩对象值之外的值,以及输出表示压缩对象值的编码值、和表示压缩对象值重复次数的编码值;
直方图计算部分,用于获得出现于由第一编码部分编码的数据中的值的直方图;
代码分配部分,用于根据由直方图计算部分获得的直方图,将具有较短长度的代码分配给在代码和值之间的对应关系表中出现频率较高的值;以及
第二编码部分,用于使用由代码分配部分分配代码的表,针对由第一编码部分编码的数据来执行熵编码过程。
15、一种数据压缩程序存储介质,用于存储数据压缩程序,其中,所述数据压缩程序被结合于存储介质中,并且使信息处理设备针对要压缩的、并且包括由预定数目的单位位所表示的值序列的数据来执行数据压缩过程,所述数据压缩程序用于在信息处理设备中实现:
类型确定部分,用于确定要压缩数据的类型;
差生成部分,用于获得在形成要压缩数据的值的序列中的相邻值之间的差,并生成要压缩的新数据,所述要压缩的新数据包括表示所述差的值的序列;
偏移部分,用于使形成要压缩的新数据的每个值偏移预定值;
分割部分,用于将其值由偏移部分进行偏移的要压缩数据的值,在小于单位位数目的预定分割位数处,分为较高阶位部分和较低阶位部分,从而将要压缩数据分为包括值的较高阶位部分的序列的较高阶数据、和包括值的较低阶位部分的序列的较低阶数据;
较低阶数据压缩部分,用于根据由类型确定部分所确定的类型,针对通过分割部分的分割所获得的较低阶数据来执行可逆压缩过程;以及
较高阶数据压缩部分,用于针对通过分割部分的分割所获得的较高阶数据来执行可逆压缩过程。
CN2007101271373A 2006-07-05 2007-07-04 数据压缩设备 Active CN101102390B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006185579A JP4689545B2 (ja) 2006-07-05 2006-07-05 データ圧縮装置およびデータ圧縮プログラム
JP2006185579 2006-07-05
JP2006-185579 2006-07-05

Publications (2)

Publication Number Publication Date
CN101102390A true CN101102390A (zh) 2008-01-09
CN101102390B CN101102390B (zh) 2012-09-05

Family

ID=38920255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101271373A Active CN101102390B (zh) 2006-07-05 2007-07-04 数据压缩设备

Country Status (4)

Country Link
US (1) US7899262B2 (zh)
JP (1) JP4689545B2 (zh)
KR (1) KR101366030B1 (zh)
CN (1) CN101102390B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547086A (zh) * 2010-11-25 2012-07-04 卡西欧计算机株式会社 摄像装置、摄像控制方法及程序产品
CN103533260A (zh) * 2013-10-30 2014-01-22 上海集成电路研发中心有限公司 Cmos图像传感器像素值的无损压缩方法
CN105515727A (zh) * 2013-12-27 2016-04-20 阿尔特拉公司 用于改进编码的设备以及相关方法
CN109257047A (zh) * 2018-09-12 2019-01-22 中科驭数(北京)科技有限公司 数据压缩方法及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417044B2 (en) * 2008-06-20 2013-04-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding image using adaptive distribution adjustment of differential values
US9640376B1 (en) 2014-06-16 2017-05-02 Protein Metrics Inc. Interactive analysis of mass spectrometry data
US9385751B2 (en) * 2014-10-07 2016-07-05 Protein Metrics Inc. Enhanced data compression for sparse multidimensional ordered series data
WO2016093634A1 (ko) * 2014-12-10 2016-06-16 코웨이 주식회사 제가습 장치, 제습공기청정기, 가습공기청정기 및 이의 동작 방법
KR102017878B1 (ko) 2015-01-28 2019-09-03 한국전자통신연구원 디지털 기저대역 전송 시스템의 데이터 압축 및 복원장치와 그 방법
US10354421B2 (en) 2015-03-10 2019-07-16 Protein Metrics Inc. Apparatuses and methods for annotated peptide mapping
CN105302863B (zh) * 2015-09-22 2018-08-14 北京空间飞行器总体设计部 一种基于数据对的遥测数据存储方法
KR20180048127A (ko) 2016-11-02 2018-05-10 삼성전자주식회사 전자 장치, 그의 영상 압축 방법 및 비일시적 컴퓨터 판독가능 기록매체
US10319573B2 (en) 2017-01-26 2019-06-11 Protein Metrics Inc. Methods and apparatuses for determining the intact mass of large molecules from mass spectrographic data
US10546736B2 (en) 2017-08-01 2020-01-28 Protein Metrics Inc. Interactive analysis of mass spectrometry data including peak selection and dynamic labeling
US11626274B2 (en) 2017-08-01 2023-04-11 Protein Metrics, Llc Interactive analysis of mass spectrometry data including peak selection and dynamic labeling
US10510521B2 (en) 2017-09-29 2019-12-17 Protein Metrics Inc. Interactive analysis of mass spectrometry data
US10498865B2 (en) * 2017-12-12 2019-12-03 Intel Corporation Security-oriented compression
US11640901B2 (en) 2018-09-05 2023-05-02 Protein Metrics, Llc Methods and apparatuses for deconvolution of mass spectrometry data
US11346844B2 (en) 2019-04-26 2022-05-31 Protein Metrics Inc. Intact mass reconstruction from peptide level data and facilitated comparison with experimental intact observation
EP4204948A1 (en) 2020-08-31 2023-07-05 Protein Metrics, LLC Data compression for multidimensional time series data
CN112887729B (zh) * 2021-01-11 2023-02-24 西安万像电子科技有限公司 图像编解码的方法和装置
CN116366069B (zh) * 2023-06-02 2023-08-08 菏泽鹏远混凝土有限公司 一种高性能混凝土配比数据处理方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05328142A (ja) 1992-05-18 1993-12-10 Hitachi Ltd 画像データ圧縮方法および画像表示装置
DE69428979T2 (de) * 1993-08-30 2002-08-08 Sony Corp Einrichtung und verfahren zur kodierung von bilddaten
JPH09200537A (ja) * 1996-01-12 1997-07-31 Canon Inc 画像出力システム及び画像出力装置並びに画像出力制御方法
US20030012445A1 (en) * 1997-05-08 2003-01-16 Nekka Matsuura Image processing system for compressing image data including binary image data and continuous tone image data by a sub-band transform method with a high-compression rate
US6393149B2 (en) * 1998-09-17 2002-05-21 Navigation Technologies Corp. Method and system for compressing data and a geographic database formed therewith and methods for use thereof in a navigation application program
US6400844B1 (en) 1998-12-02 2002-06-04 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
US6744929B1 (en) * 1999-11-18 2004-06-01 Nikon Corporation Image data compression method image data compression apparatus and recording medium and data signal for providing image data compression program
JP2001298368A (ja) * 2000-04-14 2001-10-26 Sakai Yasue 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体
JP2004072273A (ja) 2002-08-02 2004-03-04 Canon Inc 画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2005252531A (ja) * 2004-03-03 2005-09-15 Fuji Photo Film Co Ltd データ圧縮装置およびデータ圧縮プログラム
JP4435586B2 (ja) * 2004-01-26 2010-03-17 富士フイルム株式会社 データ圧縮装置およびデータ圧縮プログラム
US7684629B2 (en) * 2004-01-26 2010-03-23 Fujifilm Corporation Data compression apparatus, and data compression program storage medium
KR100518849B1 (ko) * 2004-03-02 2005-09-30 엘지전자 주식회사 영상 압축 및 복원 방법
JP2005260420A (ja) * 2004-03-10 2005-09-22 Fuji Photo Film Co Ltd データ圧縮装置およびデータ圧縮プログラム
JP2005260408A (ja) * 2004-03-10 2005-09-22 Fuji Photo Film Co Ltd データ圧縮装置およびデータ圧縮プログラム
JP2005277932A (ja) * 2004-03-25 2005-10-06 Fuji Photo Film Co Ltd データ圧縮装置およびデータ圧縮プログラム
JP2006060490A (ja) * 2004-08-19 2006-03-02 Fuji Photo Film Co Ltd 画像圧縮装置および画像圧縮プログラム
JP2006108923A (ja) * 2004-10-01 2006-04-20 Ntt Docomo Inc 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム
US7183950B2 (en) * 2005-02-07 2007-02-27 Fuji Photo Film Co., Ltd. Data compression apparatus, and data compression program storage medium
JP4687216B2 (ja) * 2005-04-18 2011-05-25 ソニー株式会社 画像信号処理装置、カメラシステム、および画像信号処理方法
US8184333B2 (en) * 2005-04-28 2012-05-22 Fujifilm Corporation Image recording processing circuit, image recording apparatus and image recording method using image recording processing circuit
US7826670B2 (en) * 2005-06-15 2010-11-02 Fujifilm Corporation Data compression apparatus and data compression program storage medium
JP4633576B2 (ja) * 2005-08-24 2011-02-16 富士フイルム株式会社 データ圧縮装置およびデータ圧縮プログラム
JP4173505B2 (ja) * 2005-12-26 2008-10-29 富士フイルム株式会社 データ圧縮装置およびデータ圧縮プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547086A (zh) * 2010-11-25 2012-07-04 卡西欧计算机株式会社 摄像装置、摄像控制方法及程序产品
CN102547086B (zh) * 2010-11-25 2014-10-15 卡西欧计算机株式会社 摄像装置、摄像控制方法及程序产品
CN103533260A (zh) * 2013-10-30 2014-01-22 上海集成电路研发中心有限公司 Cmos图像传感器像素值的无损压缩方法
CN103533260B (zh) * 2013-10-30 2019-06-07 上海集成电路研发中心有限公司 Cmos图像传感器像素值的无损压缩方法
CN105515727A (zh) * 2013-12-27 2016-04-20 阿尔特拉公司 用于改进编码的设备以及相关方法
CN105515727B (zh) * 2013-12-27 2020-01-03 阿尔特拉公司 用于改进编码的设备以及相关方法
CN109257047A (zh) * 2018-09-12 2019-01-22 中科驭数(北京)科技有限公司 数据压缩方法及装置

Also Published As

Publication number Publication date
US20080010309A1 (en) 2008-01-10
KR20080004411A (ko) 2008-01-09
CN101102390B (zh) 2012-09-05
JP4689545B2 (ja) 2011-05-25
KR101366030B1 (ko) 2014-02-25
US7899262B2 (en) 2011-03-01
JP2008017115A (ja) 2008-01-24

Similar Documents

Publication Publication Date Title
CN101102390B (zh) 数据压缩设备
US7183950B2 (en) Data compression apparatus, and data compression program storage medium
US4918541A (en) Image processing method and apparatus
JPH08330974A (ja) データ圧縮方法およびその圧縮コードの復元回路
JPS5923964A (ja) テキスト文書の伝送方法
JP3461309B2 (ja) ハフマン符号化データ圧縮装置
JPH0870386A (ja) 圧縮手順選択方法
WO2004068844A1 (ja) 画像圧縮方法、画像復元方法、プログラム及び装置
JP4633576B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4173505B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4173498B2 (ja) データ圧縮装置およびデータ圧縮プログラム
US6246800B1 (en) Loss-less compression and decompression of bitmaps using strokes
JP4377351B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4741317B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4629512B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005277932A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4181147B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4579793B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JPH08223428A (ja) 画像データ圧縮装置および画像データ伸長装置
JP4131970B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4377352B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131969B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4633577B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2615215B2 (ja) 画像データ圧縮方式
US20040130733A1 (en) Image formation apparatus, image formation method, and program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant