JP2008035230A - データ圧縮装置およびデータ圧縮プログラム - Google Patents

データ圧縮装置およびデータ圧縮プログラム Download PDF

Info

Publication number
JP2008035230A
JP2008035230A JP2006206621A JP2006206621A JP2008035230A JP 2008035230 A JP2008035230 A JP 2008035230A JP 2006206621 A JP2006206621 A JP 2006206621A JP 2006206621 A JP2006206621 A JP 2006206621A JP 2008035230 A JP2008035230 A JP 2008035230A
Authority
JP
Japan
Prior art keywords
data
compression
numerical values
unit
encoding
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.)
Abandoned
Application number
JP2006206621A
Other languages
English (en)
Inventor
Yukio Sugita
由紀夫 杉田
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
Priority to JP2006206621A priority Critical patent/JP2008035230A/ja
Priority to US11/878,819 priority patent/US20080025620A1/en
Publication of JP2008035230A publication Critical patent/JP2008035230A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

【課題】2値画像データの圧縮処理にあたり、高い圧縮率と高速の圧縮速度を達成するのに適したデータ圧縮装置およびデータ圧縮プログラムを提供する。
【解決手段】1ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を施すデータ圧縮装置において、被圧縮データを構成する数値の連続について隣接する数値が同一か否かを表わす1ビット数で表わされる数値の連続からなる新たな被圧縮データを生成するデータ変換部と、上記データ変換部によって生成されたデータに対して圧縮処理を施すデータ圧縮部とを備えた。
【選択図】図3

Description

本発明は、画像データ等のデータを圧縮するデータ圧縮装置、およびコンピュータ等の情報処理装置をデータ圧縮装置として動作させるデータ圧縮プログラムに関する。
近年の情報通信技術の進歩に伴い、文字情報や画像情報を画像データとして取り扱い、このような画像データを送受信する必要性が増加している。このとき送受信する画像データの量が多いと、画像データの送受信に時間がかかることになる。そこで、画像データの送受信にかかる時間を短縮するため、画像データの圧縮処理が必要になる。
画像データの中には、「1」あるいは「0」の2種類の数値の連続で画像データが構成されている画像データ(いわゆる2値画像データ)が存在する。2値画像データは、従来からファクシミリで利用されることの多い画像データであり、送受信にかかる時間を短縮するための圧縮処理の必要性が高い画像データである。2値画像データの典型的な圧縮方法としては、対象画素の画素値を周辺画素の画素値から予測し、その予測の当たり外れのデータをブロック化して16ビットの数値の連続からなるデータに読み替えて、最後にハフマン符号化を施すという圧縮方法がよく知られている。さらには、こうした圧縮方法を改良した圧縮方法として、周辺ブロックのデータの特徴に応じてハフマンテーブルを切り換えて対象ブロックのデータをハフマン符号化を行うことで、さらなる圧縮率の向上を図った2値画像データの圧縮方法が提案されている(例えば、特許文献1参照)。
特開2000−333020号公報
最近では、2値画像データは、ファクシミリの転送データとしての用途の他に、サーバーからデータの送信を受けて基板にパターンを形成する露光装置において、基板パターンの描画データとしても利用されるようになってきている。基板パターンの描画データの場合には、ファクシミリでのデータの転送以上にデータの高速送信が要求されるため、2値画像データの圧縮処理にあたっては高い圧縮率と高速の圧縮処理とが必要となる。特許文献1記載の圧縮方式では、このような要求に見合うのに充分な圧縮率と圧縮速度の達成は困難であり、2値画像データの圧縮処理にあたってはさらなる工夫が求められる。
本発明は上記事情に鑑み、2値画像データの圧縮処理にあたり、高い圧縮率と高速の圧縮速度を達成するのに適したデータ圧縮装置およびデータ圧縮プログラムを提供することを目的とする。
上記目的を達成する本発明のデータ圧縮装置は、
1ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を施すデータ圧縮装置において、
被圧縮データを構成する数値の連続について隣接する数値が同一か否かを表わす1ビット数で表わされる数値の連続からなる新たな被圧縮データを生成するデータ変換部と、
上記データ変換部によって生成されたデータに対して圧縮処理を施すデータ圧縮部とを備えたことを特徴とする。
ここで、上記の『隣接する数値が同一か否かを表わす1ビット数で表わされる数値』における『隣接する』とは、データストリーム上で隣接してもよいが、必ずしもそれに限定されるものではない。例えば、2次元画像データが1次元ストリーム状のデータとして扱われている場合であれば、2次元的な画像上で見て隣接してもよい。
また、本発明のデータ圧縮装置は、
上記データ圧縮部は、上記データ変換部によって生成されたデータに対して可逆圧縮処理を施すものであることが好ましい。
また、本発明のデータ圧縮装置は、
上記データ圧縮部が、データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部を備えたものであることが好ましく、さらには、符号と数値を対応づけるテーブルを用いて、上記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることが好ましい。この場合、第2の符号化部は、ハフマンテーブルを用いて、上記第1の符号化部で符号化された後のデータにハフマン符号化を施すものであることがとりわけ好ましい。
また、本発明のデータ圧縮装置は、
上記データ圧縮部が、データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、上記第1の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、上記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部と、上記符号割当部で符号が割り当てられたテーブルを用いて、上記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることが好ましい。
上記目的を達成する本発明のデータ圧縮プログラムは、
プログラムを実行する情報処理装置内に組み込まれて該情報処理装置に、1ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を実行させるデータ圧縮プログラムにおいて、
上記情報処理装置上に、
被圧縮データを構成する数値の連続について隣接する数値が同一か否かを表わす1ビット数で表わされる数値の連続からなる新たな被圧縮データを生成するデータ変換部と、
上記データ変換部によって生成されたデータに対して圧縮処理を施すデータ圧縮部とを構築することを特徴とする。
なお、本発明にいうデータ圧縮プログラムについては、ここではその基本形態のみを示すのにとどめるが、これは単に重複を避けるためであり、本発明にいうデータ圧縮プログラムには、上記の基本形態のみではなく、前述したデータ圧縮装置の各形態に対応する各種の形態が含まれる。
また、本発明のデータ圧縮プログラムがコンピュータ上に構成するデータ圧縮部などといった要素は、1つの要素が1つのプログラム部品によって構築されるものであってもよく、1つの要素が複数のプログラム部品によって構築されるものであってもよく、複数の要素が1つのプログラム部品によって構築されるものであってもよい。また、これらの要素は、そのような作用を自分自身で実行するものとして構築されてもよく、あるいは、コンピュータに組み込まれている他のプログラムやプログラム部品に指示を与えて実行するものとして構築されても良い。
上記本発明のデータ圧縮装置ないしデータ圧縮プログラムによれば、データ変換部によって生成された新たな被圧縮データに対して、データ圧縮部によって圧縮処理が実行される。
1ビット数で表わされる数値の連続からなる被圧縮データは、一般に、同一の数値が連続して現れる傾向が強い。そこで、被圧縮データを、そのデータ中の隣接する数値が同一か否かを表わす1ビット数で表わされる数値の連続からなる新たな被圧縮データに変換することで、隣接する数値が同一であることを表す数値が連続して並んでいるデータが生成されることとなり、被圧縮データが圧縮されやすい状態に変換される。
このように被圧縮データが圧縮されやすい状態に変換されるため、データ圧縮部が可逆圧縮処理を施すものであっても充分な圧縮率が達成される。特に、画像情報を含むデータの場合には、この可逆圧縮処理によって、画質の低下を回避することができる。
また、上記のデータ圧縮部が第1の符号化部を備えると、圧縮されやすい状態に変換された被圧縮データは、圧縮対象数値のみが、その圧縮対象数値と連続数とを表わす数値とに符号化されるため、原データよりも冗長度が増すという事態が回避され、圧縮率が向上する。
また、上記のデータ圧縮部が第2の符号化部を備えると、エントロピー符号化(典型的にはハフマン符号化)による、圧縮率の更なる向上が見込まれる。
さらに、上記のデータ圧縮部が、ヒストグラム算出部と符号割当部とを備え、第2の符号化部が、符号割当部で符号が割り当てられたテーブルを用いてエントロピー符号化(例えばハフマン符号化)を施すものであると、符号の割り当てが固定されたテーブルを用いたエントロピー符号化と比べ、圧縮率をさらに大きく向上させることができる。
以下図面を参照して本発明の実施の形態を説明する。
図1は、本発明のデータ圧縮装置が適用された基板パターン露光システムの一例を示す図、図2は、図1の基板パターン露光システムにおけるデータ処理の流れを示す図である。
この基板パターン露光システムは、図1に示すように、ホストコントローラ100と、データ解凍装置200と、露光装置300とで構成されており、ホストコントローラ100とデータ解凍装置200との間はLANケーブル150で接続され、さらにデータ解凍装置200と露光装置300との間は専用インターフェースケーブル250で接続されている。
ホストコントローラ100の内部では、図2に示すように、CADデータやGISデータといった、描画対象(基板パターン)が線図として表現されている描画データ11に対して、RIP(Raster Image Processing)が施されて「1」あるいは「0」の連続からなる1ビットデータ12Aが生成される。さらにこの1ビットデータ12Aについてデータ圧縮処理が行なわれることにより圧縮データ14が生成され、図1に示すLANケーブル150を経由して、ホストコントローラ100からデータ解凍装置200に転送される。データ解凍装置200では、転送されてきた圧縮データ14にデータ伸長処理が施され、ホストコントローラ100でデータ圧縮処理が行われる前の状態の1ビットデータ12Bに復元され、さらにビットマップに展開されて露光装置300に送られる。露光装置300には、ミクロンサイズの超微小な鏡で光をデジタル制御するDMD(Digital Micro−Mirror Device)が備えられている。DMDは、高い応答性を備えていることで知られており、露光装置300は、DMDを用いた露光処理により、入力されたデータで表された基板パターンを形成する。
この基板パターン露光システムでは、ホストコントローラ100でデータ圧縮を行なってからデータ解凍装置200にデータ転送することにより、ホストコントローラ100からデータ解凍装置200へのデータ転送時間を短縮することができ、基板パターンの形成にかかる作業効率の向上が図られている。
以下において説明する実施形態は、図1に示す全体システムの中のホストコントローラに組み込まれる画像圧縮装置であり、さらに具体的には、図2に示すホストコントローラ内の1ビットデータ12Aについてデータ圧縮を行なう処理に関するものである。
図3は、本発明のデータ圧縮装置の一実施形態に相当する画像圧縮装置を示すブロック構成図である。
この図3に示す画像圧縮装置500は、「1」あるいは「0」の連続からなる1ビットデータに対して可逆圧縮処理を施す画像圧縮装置であり、この可逆圧縮処理のために、ライン間排他的論理和演算部510および圧縮部550を備えている。ライン間排他的論理和演算部510および圧縮部550の詳細は後述するが、この画像圧縮装置500内での画像データの流れは以下のとおりである。
2値画像ファイルD0(本実施形態では、図2に示すように、1ビットデータが格納されたファイル)は、まず、ライン間排他的論理和演算部510に入力される。1ビットデータは、所定の主走査方向に並んだ「1」あるいは「0」の連続からなるラインが、主走査方向と直交する副走査方向に所定数並ぶことによって構成されており、ライン間排他的論理和演算部510では、隣り合ったライン同士で排他的論理和の演算が行われる。この排他的論理和の演算とは、処理対象となる2つのラインにおいて、主走査方向について同位置にある数値が等しい場合(すなわち、両方とも「0」であるか、あるいは両方とも「1」である場合)には「0」を出力し、主走査方向について同位置にある数値が異なっている場合(すなわち、一方が「0」でもう一方が「1」である場合)には「1」を出力するという演算である。このライン間排他的論理和演算部510は、本発明にいうデータ変換部の一例に相当する。
ライン間排他的論理和演算部510で生成された、排他的論理和の演算後のデータは、次に圧縮部550に入力されて圧縮処理が施される。ここで、圧縮部550は、本発明にいうデータ圧縮部の一例に相当する。圧縮部550には、ランレングス符号化部551と、データスキャニング部552と、ハフマン符号化部553が備えられており、排他的論理和の演算後のデータは、まず、ランレングス符号化部551に入力される。ランレングス符号化部551では、各ライン中の1ビットの数値を8個ごとのブロックに分けて、各ブロックの1ビットの数値を8個で8ビットの数値が表されているものとみなす。そして、データ中において、圧縮対象値となる所定の8ビットの数値の存在と、データ中でのその8ビットの数値の連続数とが検出される。次に、その検出結果に基づき、ランレングス符号化部551は、8ビットの数値の連続とみなされたデータに対して、上記の圧縮対象数値を除く数値についてはそのまま出力すると共に、圧縮対象数値については、その圧縮対象数値と、その圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力するという符号化処理を施す。ここで、このランレングス符号化部551が、本発明にいう第1の符号化部の一例に相当する。ランレングス符号化部551での符号化後のデータは、データスキャニング部552とハフマン符号化部553との双方に入力される。データスキャニング部552では、ランレングス符号化部551で符号化された後のデータの全てをスキャニングして、そのデータ中に出現する全ての8ビットの数値について出現頻度(ヒストグラム)が求められる。さらに、データスキャニング部552では、求められたデータヒストグラム(数値の出現頻度)に基づき、ハフマンテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる。このデータスキャニング部552が、本発明にいうヒストグラム算出部および符号割当部の一例に相当する。
データスキャニング部552で数値に符号が割り当てられてなるハフマンテーブルは、ハフマン符号化部553に渡され、ハフマン符号化部553では、その渡されたハフマンテーブルに従って、そのハフマン符号化部553に入力されてきたデータを構成する8ビットの数値を、そのハフマンテーブルに従う符号、すなわち、出現頻度の高い数値ほど短かいビット長で表わされる符号に置き換える符号化処理が行なわれる。このハフマン符号化部553は、本発明にいう第2の符号化部の一例に相当する。
ハフマン符号化部553でハフマン符号化された後のデータは、データスキャニング部552で割り当てられた数値と符号との割当テーブルを含む圧縮情報が添付され、圧縮データD2として圧縮部550から出力される。
このように圧縮部550から出力される圧縮データD2は、図1に示すLANケーブル
150を経由してデータ解凍装置200に転送される。データ解凍装置200では、その受け取った圧縮データD2にデータ伸長処理が施されるが、このデータ伸長処理にあたっては、図3で説明した各種の符号化処理に対応する復号化処理が施されて元の2値画像ファイル中の2値画像データと同一の2値画像データが復元される。
図4は、図1に示すホストコントローラのハードウェア構成図である。
図1に示すホストコントローラ100は、図4に示す構成のコンピュータシステムで構成されている。
この図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に伝達する役割を担っている。さらに、ディスプレイコントローラ119は、このCPU111の指示に基づいて、ホストコントローラ100に備えられた画像ディスプレイ109の表示画面上に画像を表示する役割を担っている。
通信用ボード120は、SCSI等の汎用インターフェースプロトコルに準拠した通信を担っており、圧縮後の画像データをLANケーブル150を介してデータ解凍装置200(図1参照)に転送する役割を担っている。
さらに、通信用インターフェース113は、インターネット等の汎用の通信を担っており、このホストコントローラ100は、この通信用インターフェース113を経由して画像データを取り込むこともできる。
RAM112には、ハードディスク104に格納されているプログラムが読み出されてCPU111での実行のために展開され、CPU111では、そのRAM112に展開されたプログラムが読み出されて実行される。
図5は、本発明のデータ圧縮プログラムの一実施形態に相当する画像圧縮処理プログラムの模式構成図である。
ここでは、この画像圧縮プログラム600は、CDROM140に記憶されている。
この画像圧縮プログラム600は、ライン間排他的論理和演算部610および圧縮部650によって構成されている。このCDROM140には、ここに示す画像圧縮プログラム600のほか、図1に示すホストコントローラ100における一連の処理を実行するための各種プログラムが記憶されているが、それらについては従来と同様であるため図示および説明は省略する。
この図5に示すCDROM140が、図4に示すホストコントローラ100に装填されCDROMドライブ116でアクセスされてそのCDROM140に記憶されているプログラムがこのホストコントローラ100にアップロードされ、ハードディスク104に記憶される。このハードディスク104に記憶されたプログラムがそのハードディスク104から読み出されてRAM112に展開されCPU111で実行されると、このホストコントローラ100は、図3に示す画像圧縮装置500としての処理を含む、ホストコントローラとしての各種処理を実行する装置として動作する。
ここで、図5に示す画像圧縮プログラム600は、ホストコントローラ100にインストールされてCPU111で実行されることにより、そのホストコントローラ100内に図3に示す画像圧縮装置500を実現するものであり、ライン間排他的論理和演算部610および圧縮部650は、CPU111で実行されることにより、そのホストコントローラ100を、図3に示す画像圧縮装置500を構成する、それぞれ、ライン間排他的論理和演算部510および圧縮部550として動作させるプログラム部品である。つまり、これらのプログラム部品により、画像圧縮装置500の構成要素がホストコントローラ100上に実質的に構築されることとなる。
図5の画像圧縮プログラム600を構成するライン間排他的論理和演算部610および圧縮部650の、CPU111で実行されたときの作用は、それぞれ、図3の画像圧縮装置500を構成するライン間排他的論理和演算部510および圧縮部550の作用そのものである。したがって、図3の画像圧縮装置500のライン間排他的論理和演算部510および圧縮部550に関する、これまでの説明、および、以下に説明する詳細説明をもって、図5の画像圧縮プログラム600を構成するライン間排他的論理和演算部610および圧縮部650の説明を兼ねるものとする。
図6は、図3のデータ圧縮装置500に入力される2値画像ファイル中の2値画像データの構造を示す図、図7は、このデータに対して排他的論理和の演算処理が施された後のデータの構造を示す図である。
2値画像ファイル中の2値画像データで表される画像は、所定の主走査方向と、その主走査方向と直交する副走査方向とに画素が並ぶことによって構成されており、このような構成を反映してその2値画像データも、主走査方向と副走査方向とに、画素値を表す「1」あるいは「0」の数値が並んでいるという構造を備えている。図6では、8ビットの数値「P」によって、主走査方向に並んだ「1」あるいは「0」の8個の数値がまとめて表されている。上記の2値画像データは、このような8ビットの数値が主走査方向(図の左右方向)にM個並んでなるラインが、副走査方向(図の上下方向)にNライン並んでいるという構造を備えている。この図6において、上からn番目のライン中の、左からm番目に位置する8ビットの数値は、Pn,mと表記されており、この表記法を用いて、副走査方向にn番目のラインについては、主走査方向に並ぶ8ビットの数値が、その並び順に、
n,1,Pn,2,…,Pn,m−1,Pn,m,…,Pn,M−2,Pn,M−1,Pn,M
と表されている。
図3に示すデータ圧縮装置500を構成するライン間排他的論理和演算部510には、このような2値画像データが入力されて隣り合ったライン同士で排他的論理和の演算処理が施される。この演算処理では、上述した8ビットの数値が演算処理の単位とされており、隣り合ったラインにおいて主走査方向について同位置にある8ビットの数値同士の間の排他的論理和の演算が、ライン中の8ビットの各数値について順次行われていく。ここで、排他的論理和の演算について具体的な例で説明する。上から1番目のライン中の、左から1番目に位置する8ビットの数値が、
1,1=00001101
であり、上から2番目のライン中の、左から1番目に位置する8ビットの数値が、
2,1=00010100
であったとする。この2つの8ビットの数値の間で排他的論理和の演算を行うことを考える。排他的論理和の演算では、それぞれの8ビットの数値を構成する「1」あるいは「0」の8個の数値の並びについて、同位置にある数値同士を比較して、同じ値であれば「0」を出力し、異なる値であれば「1」を出力し、出力された、「1」あるいは「0」の8個の数値からなる新たな8ビットの数値が生成される。例えば、上記のP1,1の右端の数値は「1」であり、一方、上記のP2,1の右端の数値は「0」となっている。従って、新たな8ビットの数値の右端の数値は「1」と定まる。また、上記のP1,1の右から2番目の数値は「0」であり、一方、上記のP2,1の右から2番目の数値も「0」となっている。従って、新たな8ビットの数値の右から2番目の数値は「0」と定まる。このような手続を、2つの8ビットの数値中の8個の数値それぞれについて行う。ここで、P1,1とP2,1との間の排他的論理和の演算を、{P1,1 ExOR P2,1}のように表記することにすると、上記のP1,1とP2,1との間の排他的論理和の演算の結果、
{P1,1 ExOR P2,1}=00011001
という結果が得られる。
図7には、排他的論理和の演算処理が施されたデータの構造が示されており、このデータ中の各ラインも、排他的論理和の演算処理後の8ビットの数値が主走査方向にM個並んで構成されており、このようなラインが、副走査方向にNライン並んでいる。上からn番目のライン中の、左からm番目の、排他的論理和の演算処理後の8ビットの数値は、Xn,mと表記されており、このXn,mは、図6の中央部に示す、排他的論理和の演算処理前の2つの8ビットの数値、Pn−1,mおよびPn,mから、下記の変換式によって得られる。
n,m={Pn,m ExOR Pn−1,m} …(1)
ここで、n=1の場合には、右辺のPn−1,mの添え字に0が現れることとなるが、添え字が0となる8ビットの数値については、下記のように定義する。
0,m=00000000 (m=1〜M) …(2)
ここで、上式の「00000000」は、8ビットの数値を2進数表示で表したときに値がゼロであることを表している。この式は、副走査方向の仮想的な0番目のラインを新たに設けたときの、そのラインに並ぶ8ビットの数値の定義を表す式である。上述した排他的論理和の演算処理の定義では、一方の8ビットの数値を構成する1ビットの数値(すなわち「1」あるいは「0」)が、他方の8ビットの数値を構成する同位置の1ビットの数値と異なっている場合に「1」が出力されるため、上式の「00000000」と任意の8ビットの数値との間の排他的論理和の演算では、その任意の8ビットの数値がそのまま出力されることとなる。従って、排他的論理和の演算処理後のデータにおいて、1番目のライン中の8ビットの数値については、式(1)の変換式の右辺に添え字が「0」である項が現れるので式(2)の定義が適用され、排他的論理和の演算処理前のデータがそのまま出力されることとなる。従って、1番目のライン中の8ビットの数値については、
1,1=P1,1
1,2=P1,2
…………
1,M=P1,M ……(3)
のように表される。2番目以降のライン中の8ビットの数値については、式(1)の変換式がそのまま適用される。例えば、2番目のライン中の8ビットの数値については、
2,1={P2,1 ExOR P1,1},
2,2={P2,2 ExOR P1,2},
…………
2,M={P2,M ExOR P1,M} ……(4)
のように表される。
図1に示すデータ解凍装置200では、このように排他的論理和の演算処理が施されたデータに対してデータの復号化処理が行われる。この復号化処理では、まず、式(3)より、排他的論理和の演算処理後のデータの1番目のライン中の8ビットの数値が、そのまま復号化した8ビットの数値として出力される。次に、2番目のライン中の8ビットの数値については、式(4)を、それぞれ、P2,1,P2,2,P2,3,…,P2,Mについて解くことで、
2,1={X2,1 ExOR P1,1},
2,2={X2,2 ExOR P1,2},
…………
2,M={X2,M ExOR P1,M} ……(5)
と求められる。式(5)において右辺に現れる、P1,1,P1,2,P1,3,…,P1,Mについては、排他的論理和の演算処理後のデータの1番目のライン中の8ビットの数値、X1,1,X1,2,X1,3,…,X1,Mとそれぞれ等しいことがわかっているため、式(5)を用いることで、排他的論理和の演算処理前のデータの2番目のラインについても復号化が行われることとなる。同様に、3番目以降のライン中の8ビットの数値についても、式(1)を、Pn,mについて解いた式、
n,m={Xn,m ExOR Pn−1,m
と、それ以前に復号化された8ビットの数値とを用いることによって復号化が行われる。
以下では、排他的論理和の演算処理が施されたデータに対して施される圧縮処理について説明する。2値画像データは、モノクロの画像を表すデータであり、一般には、白部分と黒部分の境界領域が画像全体に占める割合はわずかである。このため、上記の排他的論理和の演算処理が施された後のデータ中には、2進数表示で「0」が数多く現れることになる。このため、こうしたデータを圧縮するにあたっては、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、排他的論理和の演算処理が施された後のデータは、図3に示す圧縮部550の構成要素の1つであるランレングス符号化部551に入力される。このランレングス符号化部551では、排他的論理和の演算処理が施された後のデータを圧縮するのに際し、データを構成する上述の8ビットの数値を圧縮処理の単位として扱い、8ビットの数値を16進数表示で表したときの、値「00」から値「FF」までの8ビットの数値の連続に対して以下の符号化処理が適用される。
この符号化処理では、複数の8ビットの数値のうちの特定の数値についてのみ符号化処理が行なわれる。このため、このランレングス符号化部551では、受け取ったデータの中から、符号化処理を行なう数値(ここでは、この数値を「圧縮対象数値」と称する)と、その圧縮対象数値の連続数が検出される。本実施形態では、一例として、「FF」および「00」の2つの数値を圧縮対象数値としている。
図8は、図3に示すランレングス符号化部551での符号化の説明図である。
図8の上のラインは、ランレングス符号化部551での符号化処理前のデータを表しており、下のラインは、上のラインのデータに対してランレングス符号化部551での符号化処理が施された後のデータを表している。
ここでは、図8の上のラインに示すように、ランレングス符号化部551からは、
「06 02 02 02 FF FF FF FF 04 05 00 … 」
なるデータが入力されたものとする。このとき、図3のランレングス符号化部551では、先頭の「06」は圧縮対象数値ではなく、次に続く「02 02 02」も圧縮対象数値ではなく、次に、圧縮対象数値である「FF」が4つ連続していること、次に、圧縮対象数値ではない「04」、「05」を間に置いて、圧縮対象数値である「00」が32767個連続していることが検出される。
図9は、ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
この図9中、Zは同一の圧縮対象数値の連続数、例えば図8の上のラインの「FF」についてはZ=4、「00」についてはZ=32767である。
また、図9中、「YY」は、16進2桁で表わされた圧縮対象数値自体を表わしている。その「YY」に続く、「0」又は「1」は1ビットで表現された「0」又は「1」であり、さらにそれに続く「XXX XXXX…」は、1つの「X」が1ビットを表わしており、この「XXX XXXX…」でZの値を表現している。
すなわち、図9は、圧縮対象数値「YY」がZ<128連続するときは、8ビット目で圧縮対象数値「YY」を表現し、それに続く8ビットで、先頭ビットが「0」、それに続く7ビットでZの値を表現すること、また、圧縮対象数値「YY」がZ≧128連続するときは、8ビット目で圧縮対象数値「YY」を表現し、それに続く2バイト(16ビット)のうちの先頭の1ビットを「1」とすることで2バイトに跨って表現されていることを表現し、それに続く15ビットで、Zの値を表現することを意味している。
この図9に示す規則に従って図8に示す符号化の例について説明する。
図8の上のラインに示すランレングス符号化前のデータ(上のライン)を構成する先頭の数値「06」は圧縮対象数値ではないため、その「06」のまま出力される。また、それに続く「02 02 02」も、「02」は圧縮対象数値ではなく、これら3つの「02」もそのまま出力される。次に、圧縮対象数値である「FF」が4個連続するため、「FF 04」に符号化される。次の「04」及び「05」は圧縮対象数値ではないため、そのまま「04 05」が出力される。
次に「00」が32767個連続しているため、「00」を置き、次の16ビットのうちの先頭の1ビットを「1」とし、次いで15ビットで32767−128=32639を表現することにより、「00 FF 7F」の3バイトで「00」が32767個連続していることを表現する。
図10は、図3のランレングス符号化部551における、連続数に応じた符号化処理の例を示す図である。
・「00」が127個連続するときは、2バイトを用いて「00 7F」に符号化され、
・「00」が32767個連続するときは、3バイトを用いて「00 FF 7E」に符号化され、
・「00」が32895個連続するときは、3バイトを用いて「00 FF FF」に符号化され、
・ 「00」が128個連続するときは、3バイトを用いて「00 80 00」に符号化され、
・ 「FF」が129個連続するときは、3バイトを用いて「FF 80 01」に符号化され、
・「FF」が4096個連続するときは、3バイトを用いて「FF 8F 80」に符号化される。
図3に示すランレングス符号化部551では、上記のような符号化処理が行なわれる。
ランレングス符号化部551におけるこのような符号化処理によって大幅なデータ圧縮が期待される。
図3のランレングス符号化部551で上記の符号化処理の行なわれた後のデータは、次に図3の圧縮部550を構成するデータスキャニング部552とハフマン符号化部553に入力される。
このデータスキャニング部552では、先ず、ランレングス符号化部551から出力されたデータの全体がスキャニングされてデータ値の出現頻度が求められる。
図11は、データスキャニング部552によるスキャニング結果の例を示す図である。
ここでは、「A1」の出現頻度が最も強く、以下順に、「A2」、「A3」、「A4」、…の順であるとする。尚、これら「A1」、「A2」等は数値を直接表わしている訳ではなく、数値を表わす符号である。すなわち、「A1」は例えば数値「00」、「A2」は数値「FF」等である。また、ここでは、簡単のため、図3のランレングス符号化部551から送られてくるデータは全てのデータ値が「A1」〜「A16」の16個の数値のうちのいずれかの数値であるものとする。そして、このような16個の数値それぞれに対して、データスキャニング部552では、出現頻度に応じた符号が割り当てられてハフマンテーブルが作成される。即ち、出現頻度の最も高い「A1」には、2ビットで表わされた符号「00」が割り当てられ、次の「A2」には、やはり2ビットで表わされた符号「01」が割り当てられ、次の「A3」、さらに次の「A4」には、3ビットで表わされる、それぞれ、符号「100」、符号「101」が割り当てられ、次の「A5」〜「A8」には、5ビットで表わされる各符号が割り当てられ、以下同様に、出現頻度が低い数値ほど多くのビット数で表わされた符号が割り当てられる。
図12は、ハフマンテーブルの一例を示す図である。
このハフマンテーブルは、図11と一致させてあり、出現頻度が高い数値ほど短かいビット数で表わされた符号に置き換えられるように並べられた、符号化前(置き換え前)の数値と符号化後(置き換え後)の数値との対応テーブルである。
図3の圧縮部550を構成するハフマン符号化部553では、このようなハフマンテーブルに従ってデータの数値が符号化され、その結果、多くの数値が短かいビット数の符号に置き換えられることとなってデータ圧縮が実現される。
図13は、ハフマンテーブルに用意される符号列の具体例を示す図である。
図13に示す符号列では、各符号列中の「,」よりも右側の数値がビット長を意味しており、その「,」から左側に並ぶそのビット長分の2進符号が実際の符号を表わしている。例えば、図13の左上の第1番目の符号は「11」の2ビット、次の2番目の符号は「011」の3ビット、その次の3番目の符号は「010」の3ビット、さらにその次の4番目の符号は「1010」の4ビットである。このような符号列により、出現頻度が高い数値ほど短かいビット数で表わされた符号に置き換えられる。
以上の図8〜図13で説明した処理により、図3の圧縮部550に入力されるデータは、ランレングス符号化部551による符号化とハフマン符号化部553による符号化が施されて高い圧縮率で圧縮された圧縮データD2となる。
なお、本実施形態では、図3の圧縮部550において、8ビットを単位として圧縮処理を行ったが、本発明では、圧縮部における圧縮単位は、このように8ビット分の数値に限定されず、12ビットや16ビットを圧縮単位としてもよい。
データ圧縮技術が適用された基板パターン露光システムの一例を示す図である。 基板パターン露光システムにおけるデータ処理の流れを示す図である。 本発明のデータ圧縮装置の一実施形態に相当する画像圧縮装置を示すブロック構成図である。 図1に示すホストコントローラのハードウェア構成図である。 本発明のデータ圧縮プログラムの一実施形態に相当する画像圧縮処理プログラムの模式構成図である。 図3のデータ圧縮装置に入力される2値画像ファイル中の画像データの構造が示す図である。 図3のデータ圧縮装置500に入力される2値画像ファイル中の画像データに対して排他的論理和の演算処理が施された後のデータの構造を示す図である。 図3に示すランレングス符号化部での符号化の説明図である。 ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。 図3のランレングス符号化部における、連続数に応じた符号化処理の例を示す図である。 データスキャニング部によるスキャニング結果の例を示す図である。 ハフマンテーブルの一例を示す図である。 ハフマンテーブルに用意される符号列の具体例を示す図である。
符号の説明
11 描画データ
12A,12B 1ビットデータ
14 圧縮データ
100 ホストコントローラ
140 CDROM
150 LANケーブル
200 データ解凍装置
250 専用インターフェースケーブル
300 露光装置
500 画像圧縮装置
510 ライン間排他的論理和演算部
550 圧縮部
551 ランレングス符号化部
552 データスキャニング部
553 ハフマン符号化部
600 画像圧縮プログラム
610 ライン間排他的論理和演算部
650 圧縮部

Claims (7)

  1. 1ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を施すデータ圧縮装置において、
    被圧縮データを構成する数値の連続について隣接する数値が同一か否かを表わす1ビット数で表わされる数値の連続からなる新たな被圧縮データを生成するデータ変換部と、
    前記データ変換部によって生成されたデータに対して圧縮処理を施すデータ圧縮部とを備えたことを特徴とするデータ圧縮装置。
  2. 前記データ圧縮部は、前記データ変換部によって生成されたデータに対して可逆圧縮処理を施すものであることを特徴とする請求項1記載のデータ圧縮装置。
  3. 前記データ圧縮部が、データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部を備えたものであることを特徴とする請求項1記載のデータ圧縮装置。
  4. 前記データ圧縮部が、
    データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
    符号と数値を対応づけるテーブルを用いて、前記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることを特徴とする請求項1記載のデータ圧縮装置。
  5. 前記データ圧縮部が、
    データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
    ハフマンテーブルを用いて、前記第1の符号化部で符号化された後のデータにハフマン符号化を施す第2の符号化部を備えたものであることを特徴とする請求項1記載のデータ圧縮装置。
  6. 前記データ圧縮部が、
    データ中、1つもしくは複数の所定の圧縮対象数値を除く数値についてはそのまま出力するとともに、圧縮対象数値については、該圧縮対象数値と、該圧縮対象数値と同一の圧縮対象数値の連続数を表わす数値とに符号化して出力する第1の符号化部と、
    前記第1の符号化部で符号化された後のデータ中に出現する数値のヒストグラムを求めるヒストグラム算出部と、
    前記ヒストグラム算出部で求められたヒストグラムに基づき、符号と数値を対応づけるテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる符号割当部と、
    前記符号割当部で符号が割り当てられたテーブルを用いて、前記第1の符号化部で符号化された後のデータにエントロピー符号化を施す第2の符号化部を備えたものであることを特徴とする請求項1記載のデータ圧縮装置。
  7. プログラムを実行する情報処理装置内に組み込まれて該情報処理装置に、1ビット数で表わされる数値の連続からなる被圧縮データにデータ圧縮処理を実行させるデータ圧縮プログラムにおいて、
    前記情報処理装置上に、
    被圧縮データを構成する数値の連続について隣接する数値が同一か否かを表わす1ビット数で表わされる数値の連続からなる新たな被圧縮データを生成するデータ変換部と、
    前記データ変換部によって生成されたデータに対して圧縮処理を施すデータ圧縮部とを構築することを特徴とするデータ圧縮プログラム。
JP2006206621A 2006-07-28 2006-07-28 データ圧縮装置およびデータ圧縮プログラム Abandoned JP2008035230A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006206621A JP2008035230A (ja) 2006-07-28 2006-07-28 データ圧縮装置およびデータ圧縮プログラム
US11/878,819 US20080025620A1 (en) 2006-07-28 2007-07-27 Data compression apparatus and data compressing program storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006206621A JP2008035230A (ja) 2006-07-28 2006-07-28 データ圧縮装置およびデータ圧縮プログラム

Publications (1)

Publication Number Publication Date
JP2008035230A true JP2008035230A (ja) 2008-02-14

Family

ID=38986376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006206621A Abandoned JP2008035230A (ja) 2006-07-28 2006-07-28 データ圧縮装置およびデータ圧縮プログラム

Country Status (2)

Country Link
US (1) US20080025620A1 (ja)
JP (1) JP2008035230A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211713A (ja) * 2009-03-12 2010-09-24 Nec Corp バックアップ装置、バックアップシステム、バックアップ方法、及びプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4777278B2 (ja) * 2007-02-28 2011-09-21 キヤノン株式会社 画像処理装置およびその方法
MX2013004826A (es) * 2010-11-02 2013-06-03 I Ces Innovative Compression Engineering Solutions Metodo para comprimir valores digitales de archivos de imagen, audio y/o video.
CN102523444B (zh) * 2011-11-22 2015-10-14 惠州市德赛西威汽车电子股份有限公司 一种单色位图压缩方法及其系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63117562A (ja) * 1986-11-05 1988-05-21 Canon Inc イメ−ジデ−タ符号化方式
JP2006180456A (ja) * 2004-12-23 2006-07-06 Toshiba Corp 画像圧縮装置と画像復号装置と画像変換装置と画像処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2139849B (en) * 1983-05-07 1986-11-19 Nippon Telegraph & Telephone Image data compression system
JP2824474B2 (ja) * 1992-02-17 1998-11-11 三菱電機株式会社 誤り訂正方式及びこの誤り訂正方式を用いた復号器
US6427025B1 (en) * 1992-08-14 2002-07-30 Canon Kabushiki Kaisha Image processing with selection between reversible and irreversible compression
US5592226A (en) * 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
US5675797A (en) * 1994-05-24 1997-10-07 International Business Machines Corporation Goal-oriented resource allocation manager and performance index technique for servers
JP3749752B2 (ja) * 1995-03-24 2006-03-01 アイティーティー・マニュファクチャリング・エンタープライジズ・インコーポレーテッド ブロック適応型差分パルスコード変調システム
US6314463B1 (en) * 1998-05-29 2001-11-06 Webspective Software, Inc. Method and system for measuring queue length and delay
US6947987B2 (en) * 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
US6124811A (en) * 1998-07-02 2000-09-26 Intel Corporation Real time algorithms and architectures for coding images compressed by DWT-based techniques
WO2000033536A1 (en) * 1998-12-03 2000-06-08 British Telecommunications Public Limited Company Network management system
US7062556B1 (en) * 1999-11-22 2006-06-13 Motorola, Inc. Load balancing method in a communication network
US7373008B2 (en) * 2002-03-28 2008-05-13 Hewlett-Packard Development Company, L.P. Grayscale and binary image data compression
US7365658B2 (en) * 2006-02-28 2008-04-29 The Board Of Trustees Of The University Of Arkansas Method and apparatus for lossless run-length data encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63117562A (ja) * 1986-11-05 1988-05-21 Canon Inc イメ−ジデ−タ符号化方式
JP2006180456A (ja) * 2004-12-23 2006-07-06 Toshiba Corp 画像圧縮装置と画像復号装置と画像変換装置と画像処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211713A (ja) * 2009-03-12 2010-09-24 Nec Corp バックアップ装置、バックアップシステム、バックアップ方法、及びプログラム

Also Published As

Publication number Publication date
US20080025620A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
JP4689545B2 (ja) データ圧縮装置およびデータ圧縮プログラム
US7826670B2 (en) Data compression apparatus and data compression program storage medium
JP3461309B2 (ja) ハフマン符号化データ圧縮装置
JP2006121718A (ja) 画像データ符号化方法及び装置
JP2008035230A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4633576B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4173505B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4173498B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP5842357B2 (ja) 画像処理装置及び画像処理プログラム
JP2003189109A (ja) 画像処理装置及び方法、並びにコンピュータ・プログラム
JP4377351B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4699307B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131969B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131970B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005277932A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4629512B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4181147B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4377352B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4741317B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4633577B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4435586B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2005252531A (ja) データ圧縮装置およびデータ圧縮プログラム
JP4579793B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2006060490A (ja) 画像圧縮装置および画像圧縮プログラム
JPH09200536A (ja) 符号化装置および復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20110105