JP3781843B2 - バイナリイメージを無損失事前圧縮する方法 - Google Patents

バイナリイメージを無損失事前圧縮する方法 Download PDF

Info

Publication number
JP3781843B2
JP3781843B2 JP31365896A JP31365896A JP3781843B2 JP 3781843 B2 JP3781843 B2 JP 3781843B2 JP 31365896 A JP31365896 A JP 31365896A JP 31365896 A JP31365896 A JP 31365896A JP 3781843 B2 JP3781843 B2 JP 3781843B2
Authority
JP
Japan
Prior art keywords
pixel
binary
image
region
state
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.)
Expired - Fee Related
Application number
JP31365896A
Other languages
English (en)
Other versions
JPH09181923A (ja
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.)
Xerox Corp
Original Assignee
Xerox 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 Xerox Corp filed Critical Xerox Corp
Publication of JPH09181923A publication Critical patent/JPH09181923A/ja
Application granted granted Critical
Publication of JP3781843B2 publication Critical patent/JP3781843B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般的にはバイナリイメージの圧縮に関し、より詳しく述べれば高解像度で格納または伝送されるバイナリイメージの無損失事前圧縮に関する。
【0002】
【従来の技術】
本発明は、高解像度で格納または伝送されるバイナリイメージの無損失事前圧縮に関する。より詳しく述べれば、本発明は面積をベースとする圧縮技術を使用し、この技術は高解像度でビット複製されたイメージに適する。この技術は、ある共通するカラーの規則的な大きさのイメージ領域を探索し、それらの面積をコード化して表現する。本発明が使用するこの圧縮技術によれば、高解像度イメージを生成した元のビットマップバイナリイメージの無損失圧縮によって典型的に得られるイメージサイズに近いイメージサイズに高解像度イメージを圧縮して格納するか、または伝送することができる。この技術は、バイナリイメージに最も適しているが、個々のビットの各面(プレーン)をバイナリイメージとして処理することによって、多重ビット/画素グレイスケールイメージに適用することができる。
【0003】
多くのディジタル印刷アーキテクチャ(プリンタ、複写機、及び多機能機械を含む)では、事前照合(丁合い)された( precollated ) イメージを広帯域幅でアクセスして印刷できるように、これらのイメージをメモリ内に格納する必要がある。これは、イメージを「オンザフライ」で構成/照合(丁合い)する公知の技術と対照的である(この従来技術は、印刷速度が遅くなる傾向があるか、または高速ハードウェアを必要とする)。しかしながら、イメージビットマップをメモリ(電子事前照合(丁合い)メモリ(EPC))内に格納することに伴う欠点が存在する。主たる欠点は、中程度の解像度のイメージを格納するのでさえ、メモリのサイズを大きくしなければならないことである。例えば、300 スポット/インチ(spi)のフルページバイナリイメージビットマップは、約 1.05 メガバイト(MB)のメモリを必要とする。解像度がより高いプリンタの場合には、問題は悪化する。 1200 spiプリンタは、同じイメージをより高解像度で格納するために 16.83 MBを必要とする。従って、ディジタルプリンタの解像度が増すにつれて、事前照合メモリに関する要求を低下させるように、圧縮技術を改良する要望が絶えず存在している。
【0004】
1992年9月1日付の Nakamura の米国特許第5,144,682号は、文字またはワードに対応する面積を分離する方法および装置を開示している。この発明はその中に、元の原稿のデータをその原稿の文字線に対応する方向に圧縮する圧縮処理区分と、そのイメージデータを格納するための圧縮イメージバッファ(リングバッファ)とを含んでいる。圧縮区分は、論理OR演算を遂行して比例圧縮を達成する。またスレッショルディング及びシンニング( thinning )圧縮方法も開示されている。接続された画素の面積は、輪郭追尾動作によって決定される(4−5欄、および図4)。最小の主および副走査アドレスの頂点、および最大の主および副走査アドレスの別の対向する頂点を有する矩形面積が抽出される。しかしながら、この面積は、単に圧縮されたイメージ内の面積を表しているに過ぎない(6欄、1−7行)。
【0005】
1993年4月20日付の Chevion らの米国特許第5,204,756号には、バイナリイメージの圧縮および圧縮解除方法が記載されている。この発明は、直近のバイナリイメージの評価に基づいて、損失の多い圧縮技術および無損失圧縮技術を使用して可変圧縮比を達成している。イメージを相互に排他的なセグメント(例えば、イメージまたはテキストセグメント)に分割することによってイメージを評価した後、そのイメージセグメントの型に基づいて、ラスタをベースとする圧縮技術が選択される。この選択(圧縮比によって決定される)は、元のテキストイメージ内の黒または白間隔の相対幅として特徴付けられる測定基準( metrics ) によっても影響を受ける。
【0006】
1994年11月8日付の Shou らの米国特許第5,363,205号は、イメージのサイズを連続的に減少させて圧縮されたイメージを形成するイメージ圧縮方法を開示している。詳しく述べれば、2×2の畳み込み(コンボリューション)をその平均密度の画素によって表すことによって、グレイスケールイメージが連続的に減少される。
【0007】
1994年7月の O'Reilly & Assoc., J. Murray および W. van Ryper の “Encyclopedia of Graphic File Formats" の 125-171ページには、公知のいろいろなデータ圧縮方式の詳細が記載されている。
【0008】
1988年11月1日に出版された( Cornell University, Computer Science Department ) D. Moitra の “Finding a Minimal Cover for Binary Images : An Optimal Parallel Algorithm" には、あるバイナリイメージをカバーする最大方形の最小集合を決定するアルゴリズムが開示されている。
【0009】
【課題を解決するための手段】
本発明によれば、バイナリ入力イメージを圧縮するためにイメージ処理システム内で動作する方法が提供され、バイナリ入力イメージはバイナリイメージ信号の規則的なアレイとして表現されている。本発明の方法は:1つの共通の状態を有する複数のバイナリイメージ信号の、直交的に成形された二次元領域を識別する段階と:上記直交的に成形された領域のサイズを決定する段階と:上記直交的に成形された領域の状態およびサイズをディジタルデータワードとしてエンコードする段階と:上記エンコードされた形状およびサイズを表す上記ディジタルデータワードを圧縮メモリ内に格納する段階と:上記バイナリ入力イメージ内に存在するバイナリイメージ信号の複数の各直交的に成形された領域毎に上記諸段階を繰り返す段階と:から成ることを特徴とする。
【0010】
本発明の一つの面は、イメージの格納および伝送のようなイメージ処理における基本的な問題に対処する。この問題は従来から認識されており、いろいろな圧縮技術が使用されてきている。しかしながら、これらの技術は典型的にラスタをベースとするものである。
【0011】
この面は、ラスタをベースとする技術に伴う制約を除去する技術を発見したことにも基づいている。ここに使用した技術は二次元であり、高解像度イメージをある共通カラーすなわちバイナリ状態の直交ブロックに分割し、次いでこのイメージをNビット(Nは、2の累乗)を有する一連のデータワード(各ワードは、直交ブロックのカラー/状態およびサイズを表すために複数のビットを含む)として記録することによって、上記イメージ情報をエンコードしている。
【0012】
ここに説明する技術は、他のアプローチと比較した時に、この技術がイメージ処理システム(例えば、ディジタルプリンタに関連するシステム)内に大きい事前照合(丁合い)メモリの使用を殆ど不要にしているので有利である。さらにこの技術は、イメージを伝送する前にイメージを圧縮するのにも使用できる。本発明の事前圧縮および事前圧縮解除技術は、それらがビットマップイメージを効率的に圧縮し、圧縮解除することができるので有利である。さらに、本発明の基礎をなすこれらの技術は、他の無損失圧縮技術と組合わせて使用して本発明によって達成される圧縮比をさらに改善することができる。本発明の結果として、ディジタルプリンタ内の事前照合(丁合い)メモリのサイズを縮小する、すなわちその中に格納されるイメージの数を増加させることが可能である。
【0013】
【発明の実施の形態】
本明細書において使用する「データ」とは、情報を指示するか、または情報を含む物理的信号のことである。データの項目(アイテム)が複数の考え得る代替の1つを指示できる場合には、データの項目は複数の「値」の1つを有する。例えば、データのバイナリ項目(「ビット」ともいう)は、「1」および「0」、または「オン」および「オフ」、または「高」および「低」、または「黒」および「白」と互換的に呼ばれる2つの値の1つを有する。
【0014】
「データ」という用語は、どのような物理的形状ででも存在するデータを含み、また一時的な、または格納されるかまたは伝送されるデータを含む。例えば、データは電磁的な、または他の伝送される信号として、または電子、磁気、または他の形状で格納される信号として存在することができる。
【0015】
「メモリ回路」または「メモリ」は、データを格納することができる何等かの回路であり、ローカルおよび遠隔メモリ、および入力/出力デバイスを含むことができる。それらの例は、半導体ROM、RAM、およびそれらがアクセスできるデータ記憶媒体を有する記憶媒体アクセスデバイスを含む。
【0016】
「データ処理システム」は、データを処理する物理的システムである。「データプロセッサ」または「プロセッサ」は、データを処理することができる何等かの構成要素またはシステムであり、1つまたはそれ以上の中央処理ユニット、または他の処理構成要素を含むことができる。プロセッサは、それが人による同時の制御には無関係に演算または機能を遂行する時、演算または機能を、「自動的に」遂行する。「処理ユニット」は、別のプロセッサ内の構成要素であるプロセッサである。
【0017】
バイナリ(2進)数は、2の累乗の和として表すことができる。バイナリ数内の各ビットは、和の中の2の特定の「べき」の存否を指示する。従って、バイナリ数の「最上位ビット」または「MSB」は、2の最大の「べき」の存否を指示し、「最下位ビット」または「LSB」は2の最小「べき」の存否を指示する。因習的に、バイナリ数のビットはMSBからLSBAへの順番に、またはその逆に順序付けられる。本明細書に使用している「左」および「左へ」は、独断的に順番内でMSBへ向かう方向をいい、「右」および「右へ」は、独断的に順番内でLSBへ向かう方向をいう。
【0018】
「イメージ」は、物理的な光のパターンである。イメージは、文字、ワード、およびテキスト、並びにグラフィックスのような他の特色を含むことができる。テキストは、文書のページのイメージのような1つまたはそれ以上のイメージの集合内に含まれることができる。イメージは、各々が、それ自体イメージである「セグメント」に分割することができる。イメージのセグメントは、イメージ全体以下のどのようなサイズであることもできる。
【0019】
「画素」は、所与のシステムにおいてイメージが分割される最小のセグメントである。データの各項目がある値を与えるようなイメージを限定するアレイにおいては、ある位置のカラーを指示する各値を「画素値」またはイメージ信号と呼ぶことができる。各画素値は、あるイメージの「バイナリ形状」の、グレイスケール値はあるイメージの「グレイスケール形状」の、またはカラー空間座標の集合はあるイメージの「カラー座標形状」のビットであり、カラー座標形状は各々あるイメージを限定する二次元アレイである。
【0020】
「イメージ入力端末」(IIT)は、イメージを受けて、そのイメージのあるバージョンを限定するデータの項目を供給できるデバイスである。「スキャナ」は、走査動作によって(例えば、文書を走査することによって)イメージを受けるイメージ入力デバイスである。
【0021】
「イメージ出力端末」(IOT)は、あるイメージを限定するデバイスの項目を受けて、そのイメージを出力として供給できるデバイスである。「表示装置」は、人が見ることができる形状で出力イメージを供給するイメージ出力デバイスである。表示装置によって提示される可視パターンが「表示されたイメージ」または単に「イメージ」である。
【0022】
図1に示すデータ流れ図は、印刷前のイメージの処理に関連するさまざまな動作である。図示のディジタル印刷例では、始めに 300spi(すなわち、主および副走査方向において 300spiの解像度)バイナリビットマップイメージ20がイメージスケーリング動作22へ印加され、そこでビットマップ複製されるかまたは同じようにスケールされ、ビットマップはIOT(イメージ出力端末)の解像度で描写されて最終的にIOT上に供給される。図示の目的から、この例ではスケーリングは4×(=4倍)になっている。従ってスケーリング動作の出力は、1200spi解像度のビットマップ24で示されている高解像度(入力解像度より高い)である。当分野に精通していれば理解できるように、1200spi解像度イメージは、低解像度(例えば、240 spi、300 spi、400 spi、および600 spi)に対して共通整数スケーリング比を与える能力があり、これらの全てを高解像度で印刷し、表示しまたは処理できるので好ましい。次に、ビットマップ24は、26において、本発明に従って無損失事前圧縮動作がなされ、その出力は一連のバイナリ信号、またはバイナリ信号のストリームとして図示されているビットストリーム28になる。このビットストリームは圧縮動作30へ供給され、事前照合(丁合い)メモリ(例えば、ディスク34)内に格納される前に複数の無損失圧縮アルゴリズムの何れか1つに従ってさらに圧縮される(ディスク記憶デバイス34上に格納された圧縮データ記録32として図示)。1つまたはそれ以上の圧縮イメージを格納するのに十分な容量の何等かのメモリデバイスを、事前照合(丁合い)メモリに使用できることも理解されよう。
【0023】
図2は、図1において格納された圧縮データを、圧縮解除して印刷するプロセスを示している。詳しく述べれば、先ず圧縮データ32が事前照合メモリ34から検索される。次に、図1の圧縮動作30と矛盾しない手法で圧縮解除するように動作的に設計された圧縮解除動作40が圧縮データを圧縮解除し、イメージ圧縮および圧縮解除の分野においては公知の手法でバイナリビットストリーム42を発生させる。次いで、このビットストリーム42は事前圧縮解除動作44へ供給され、そこでビットストリーム信号は翻訳またはデコードされてビットマップイメージ46を表すバイナリイメージ信号が再生される。ビットマップイメージ46は、図1のイメージ24の解像度に等しい高解像度を有し、その正確な複製である。次いでビットマップイメージはIOTプリプロセッサ48へ転送され、そこでマーキングエンジン50を制御するビデオデータ信号を発生するようにさらに処理される。ビデオデータ信号の受信に応答して、マーキングエンジン50は高解像度のイメージ46の出力プリント52を発生する。
【0024】
以上に本発明の実施例の一般的な動作を説明したが、図1の事前圧縮動作26に関連するさまざまな段階の説明に注目されたい。図3および本欄の最後に表2〜表7として添付するプログラムリストに示すソフトウェアを参照する。この流れ図は、バイナリイメージのための事前圧縮動作の一般的な段階を含んでいる。ここではバイナリイメージに関して説明するが、本発明は個々のビットの各面をバイナリイメージとして処理することによって多重ビット/画素グレイスケールイメージにも適用できる。詳しく述べれば、事前圧縮動作はビットマップイメージ信号を検索することから開始される(段階70)。この動作に固有なものは、イメージに関連する走査線当たりの画素の数及び走査線の数(イメージの水平および垂直ディメンション)を知ることである。このデータは、通常はイメージヘッダまたはイメージデータ集合内に埋め込まれている。検索されたイメージデータの若干または全ては、以後の段階中にプロセッサによってアクセスできるようにメモリバッファ内に格納することが好ましい。この特定の例の場合、以下の説明から明白になるように、イメージバンドバッファのサイズが 128 走査線であるものとする。
【0025】
段階72において、格納されたイメージデータは左上隅(画素0,0)から始まる分析を受け、共通バイナリ状態を有する画素の直交領域が識別される。本明細書で使用する直交領域という用語は、イメージのセグメントが矩形または方形であり、これらのセグメントの境界または側がイメージ内の画素行または列に整列するものであることを意味している。イメージの直交領域が識別されると、段階74はその領域のサイズを決定する。すなわち、段階74はその領域の共通の隅(例えば、直交領域の左上隅)から、その領域の垂直および水平の広がりを決定する。これらの2つの値は領域のサイズとして使用され、後述する段階76において共通バイナリ状態と共に、直交領域を表すデータワードにエンコードされる。領域のサイズは複数の測定基準(例えば、点、パイカ)を使用して測定できることは明白であるが、好ましい例においては複数の画素が測定基準として使用される。従って、水平及び垂直の測度はそれぞれ画素の行および列に沿う画素の数を反映している。さらに図4に示す好ましい例では、直交領域を表すために方形を使用し、事前圧縮動作によって達成される圧縮比をさらに最適化している。また、ビット複製された高解像度イメージ(例えば、ビット倍化(bit doubling)によって準備されるイメージ)では、共通バイナリ状態の複数の方形領域が自動的に作成されることにも注目されたい。
【0026】
少しの間図4を参照する。図4は、大きいイメージの左上隅に大きい黒の画素領域92を含むイメージセグメント90の例を示すものであり、これからセグメントが選択されている。図示のように、セグメントは複数の方形領域(A−I)に分割されている。詳しく述べれば、いろいろな領域が(プロセッサによって遂行される命令に従って)図3の段階72によって決定される。共通バイナリ状態領域の識別を達成するのに適するコードは本欄最後の添付プログラムリスト(表2〜表7参照)に記載されている。
【0027】
図3に戻って、ある領域を記述するエンコードされたデータワードは次のフォーマットで生成される。
Figure 0003781843
ここに、Xは共通画素状態を表し、7ビット値Yは方形のサイズ・マイナス1(Y=サイズ−1)を表している。方形のサイズ・マイナス1を特定するのに7ビットを使用しているのは、先にバンドバッファを独断的に 128本の走査線であると想定したことに関係付けているのである。上に示したデータワードのサイズは8ビットにしか過ぎないが、サイズをどのような特定数のビットにも制限する意図がないことは理解されよう。さらに、データワードのサイズは使用するハードウェア機器に依存し、入力または出力メモリバッファ内に保持できるイメージ走査線またはラスタの数は、直交領域の最大サイズに、従ってデータワードのサイズに専用される。従って、データワードサイズの選択は、本発明を実現するハードウェアシステムと、より大きい領域を表す付加的なビットの必要性とによって決定される。矩形状の直交領域を使用して本発明を実現しようとすれば付加的な測定データ(第2のnビット値)が必要であり、または方形のサイズが2n を超えるものとすればより多くのビットを必要とすることも理解されよう。
【0028】
段階76においてエンコードされたデータワードは、これらの全ての領域のある記録またはリストの形状のエントリとしてメモリ内に格納される。この格納は、データワードを緩衝(バッファ)しながらイメージ全体を事前圧縮することができるように一時的であることが好ましい。格納段階78の後に、事前圧縮中のイメージ内に何等かのグループ化されていない画素が残っているか否かを決定する試験が実行される。詳しく述べれば、この試験は、次の直交領域の左上隅がバイナリ入力イメージの水平および垂直ディメンションを超えているか否かを決定する。付録に示されているように、この「試験」はループ動作を使用して実現することができる。もしイメージバンドバッファ内のイメージの終わりに到達していなければ、段階72において次の直交領域の処理が続けられる。一方、バンドバッファ内に収容されたイメージについての事前圧縮が完了すると、イメージデータの次のバンドバッファが処理のために読み出される。ある点において全イメージの事前圧縮が完了し、図1に関して先に説明したようにさらなる圧縮のためにデータは転送できるようになる。
【0029】
段階76が完了すると、図4に示すイメージセグメントのために以下に示すものに似た直交領域のリストが生成される(Yが7ビット値であるものとし、入力バッファは27 走査線までのデータを格納できるものとする)。
Figure 0003781843
【0030】
前述したように、得られるリストは所定数のビットを有するデータワードからなる。上に示したように、リストは直交領域を順番に表すように(好ましくは、領域内の第1の画素に遭遇するように左から右へ、上から下へ)順序付けられている。例えば、図4において領域Fは領域Dの左に現れているが、領域Dは第1のラスタまたは走査線の部分である左上隅内に画素を有しているので、リスト内では高めに配置される。このように限定されたリストは、データワード規模で分割可能なビットのストリームとして出力され、あたかもそれがビットマップを表しているかのように公知の技術によってさらに無損失圧縮することができる。
【0031】
以上に一般的な例によって本発明の動作を説明したが、次に、本発明の特定の用途であるデータ処理システムを説明する。図5にデータプロセッサ102を基礎とするイメージ処理システム100を示す。データプロセッサ102は、ソフトウェアプロダクト104(図5に示すような構成要素を含むシステムにおいて使用可能な製造の物品)に関連するコードを実行するのに適するどのようなデバイスであっても差し支えない。ソフトウェアプロダクト104は、アクセスデバイス108がアクセス可能な記憶媒体106を含む。記憶媒体106は例えば、図示したディスケットのような磁気媒体、CD ROMのような光媒体、またはデバイスを格納する他の適切な何等かの媒体であることができる。記憶媒体106は、アクセスデバイス108が(バス110または類似接続を介して)デバイスプロセッサ102へ供給可能なデータを格納する。プロセッサ102は、メモリ114にアクセスできるように接続されている。メモリ114は、プロセッサ102が実行できる命令を表すデータを格納しているプログラムメモリ(ROMおよびRAM)、またはプロセッサ102が命令を実行するのにアクセスできるデータを格納しているデータメモリまたは事前照合メモリ(RAM)を含むことができる。
【0032】
プロセッサ102は、イメージを限定するデータをイメージ入力回路116から受けるようにも接続されている。イメージ入力回路116は、イメージ入力端末(IIT)118を(バス110を介して)プロセッサ102へ接続する。ページイメージデータは、スキャナ118aから、ファクシミリ(ファックス)マシン118bから、ネットワーク118c(ローカルエリアネットワーク、またはイメージを限定するデータ伝送できる他のネットワークであることができる)から、または他の対話式イメージングデバイスから入手することができる。記憶媒体106の他に、ソフトウェアプロダクト104は、図3および4に示してあるような動作および付録に示すソフトウェアを遂行するためにプロセッサ102が実行できるコード命令120をも含む。命令120を実行する際にプロセッサ102は、上述した事前圧縮および圧縮を行うためにイメージ入力回路116からのイメージデータを使用する。イメージデータ122は、IIT 118から受けてアレイデータとして事前照合メモリ114内に格納することができる。さらに、アレイデータ122は、IITから受けた入力イメージを限定するデータを操作することによって入手することができ、任意の特定時点に単一のアレイデータ(122)よりも多くをメモリ114内に維持することができる。プロセッサ102はその後の圧縮のために、イメージデータを使用して無損失、事前圧縮されたイメージ信号のビットストリームを発生する。
【0033】
プロセッサ102は、イメージを限定するデータをイメージ出力回路124へ供給できるようにも接続されている。例えばソフトウェアプロダクト104は、出力イメージを限定する先に事前圧縮されたイメージデータを圧縮解除するために、または後述するように、図11に示すような事前圧縮解除ハードウェアの動作を制御するためにプロセッサ102が実行可能な命令を表すデータを含んでいる。圧縮解除/事前圧縮解除動作の結果として得られた出力イメージデータはイメージ出力回路124へ供給することができ、またファックスマシン126a、プリンタ126b、表示装置126c、またはネットワーク126dへ供給して例えば図5に示すイメージを発生させることができる。
【0034】
上述した事前圧縮動作を、図6に誇張して示すバイナリイメージセグメントの事前圧縮の例に関して図6、7、および8を参照して説明する。図6は、図7のメモリセグメント150内に表されているビットマップデータを絵画的に示している。図7では、黒(斜線付き)画素を表すのにバイナリ「1」を使用し、白(無マーク)画素を表すのにバイナリ「0」を使用している。イメージデータ(バンド)バッファが最大8走査線を格納できるものとすれば(例えば、Ymax =8=23 )、メモリセグメント150内に格納されるイメージデータは2つの8走査線区分152、154と、部分的な区分156とに分割され、各区分は、処理のために最終的に合計8ラスタを含んでいる。次いでイメージの左上(0,0)画素(黒画素)から開始して画素の状態をノートし、全ての隣接黒画素を識別して第1の共通画素領域160を決定する。次に、少なくとも第1のラスタに沿って水平方向に移動し、残りの画素データについてこのプロセスを繰り返して画素領域162乃至176を発生させる。第1の共通画素領域(領域160)に戻って、3×3領域のエンコードされた表現は 10000010 であり、MSBの「1」は黒画素を示しており、そして7つのLSB「0000010 」は方形領域・マイナス1のサイズを示している。イメージセグメント150の頂部に沿う処理領域160−176によって以下のビットストリーム(8ビットデータワードに配列)が得られる。
10000010 00000001 00000001 00000001 00000001 00000001 00000001 10000010
00000000
【0035】
イメージセグメント150をさらに処理すると、図8のビットマップメモリ表現に重なって残りの領域の識別が得られる。8走査線バッファに制約すると、本質的に、2つの走査線180と182に沿って自然の領域境界がもたらされることが理解されよう。図9のヒストグラムは、上例に従って識別された領域サイズの相対的な頻度と、本発明の事前圧縮の面とを示している。さらに、以下のデータは、事前圧縮動作により達成することができる圧縮の量を示すことに関連している。すなわち、このデータは図6〜8に示す 20 × 20 イメージセグメントの例のために準備されたものである。
【0036】
【表1】
Figure 0003781843
【0037】
上記表1に示されているバイト数は、共通 2048 バイトのイメージデータのヘッダを含んでいることに注意されたい。例えば、バイナリパックファイル 20 × 20 の値 2098 は 2048 プラス( 20 × 20 )/8= 2098 の和からなり、事前圧縮出力ファイル(バンドバッファサイズ=8走査線)の値 2178 は 2048 プラス 130( 130 は例示イメージ内に見出される方形の数)の和である。
【0038】
バンドバッファ内の共通画素状態を有する方形を識別するのに、多くの技術、または「規則」を使用できることは理解されよう。詳しく述べれば、付録にソフトウェアコードによって表されている実施例は、一連の段階として表されている以下の列規模での規則を使用している。
【0039】
方形
(a)境界を画している方形内の全ての画素が、最初の画素と異なるまで下方および右方へ対角線状に移動させ、次いで
(b)境界を画している方形に囲われている全ての画素が、今度は最初の画素と同じ状態であるように上方および左方へ対角線状に戻って移動させ、これで方形集合を限定させる。
【0040】
代わりに、共通画素状態を有する直交領域を識別するために多くの他の技術を使用することもできる。これらは、
(i) 列方向
(a)その領域に付加される各画素が最初の画素と同じ状態を有している限り、最初の画素の現在の行に沿って右列規模で移動させ、
(b)異なる状態の画素に到達した時に、それをその領域に含ませないが、最初の状態と同じ状態を有する行内の最後の画素まで戻し、次いで
(c)最初の画素および現在の画素によって境界を画されている矩形領域内に囲われている全ての画素が、最初の画素と同じでなくなるまでその列に沿って行規模で下方へ移動させ、次いで
(d)境界を画している矩形領域内に囲われている全ての画素が、最初の画素と同じ状態を有するように行規模で最後の画素まで戻して移動させ、これで列規模の集合を限定する。
(ii) 行方向
(a)付加された画素が最初の画素と同じ状態を有している限り、最初の画素の現在の列に沿って行規模で下方へ移動させ、
(b)異なる状態の画素に到達した時に、それをその領域に含ませないが、最初の状態と同じ状態を有する列内の最後の画素まで戻し、次いで
(c)境界を画している矩形領域内に囲われている全ての画素が、最初の画素と同じでなくなるまで現在の行に沿って列規模で右方へ移動させ、次いで
(d)最初の画素および現在の画素によって境界を画されている境界内に囲われている全ての画素が、最初の画素と同じ状態を有するように最後の画素まで戻して移動させ、これで行規模の集合を限定する。
(iii) (i) と(ii)の組合わせ
境界を画されている領域は、それが最初の画素と同じ状態の全ての囲われた画素を有する境界を画されている矩形領域をもたらす限り、(i) と(ii)の何等かの重み付き組合わせとして限定することもできる。
【0041】
以上に、本発明に関連する事前圧縮動作を詳細に説明したが、事前圧縮されたデータを圧縮解除する(事前圧縮解除という)プロセスにも注目されたい。事前圧縮解除動作に関連する一般的な段階は、本質的には上述した事前圧縮動作の逆であることは明白であるが、図10の流れ図に示す諸段階は図11に示すハードウェア例によって達成することが好ましい。図10を図11と共に参照する。最初の段階では、ポピュレート( populate )バッファブロック230がライン232から受信する入力データまたはビットストリームは、図2の無損失圧縮解除動作40によって生成されたものとしている。従って、段階200は先ず少なくとも1つのデータワードを受信する。次に段階202はデータワードをパーズし、段階204Aは、共通領域(MSB)の画素状態を決定し、段階204Bは領域(LSB)のサイズを決定する(図11には、アドレスの変化を表す「Δアドレス」として示されている)。この決定がなされると、ライン234上のポピュレートバッファブロック230の画素値出力は、段階206Aにおいて共通領域の「幅」にセットされる。同様に、段階206Bにおいてブロック230は、画素値を書き込むアドレスを初期化する。初期化されると、段階208において、ポピュレートバッファブロック230内のプログラマブルカウントダウンカウンタ(図示してない)を共通領域の幅にプログラムすることができる。事前圧縮解除プロセスの二次元面を処理するために、付加的なカウンタを使用できることは理解されよう。しかしながら、説明を簡略化するために、これらの面は単に繰り返し段階216の形状で示してあるに過ぎない。
【0042】
次に、段階212によってカウンタが0に到達したと決定されるまで、段階210において、画素値を複数のメモリアドレスの少なくとも1つ内に配置することによって、メモリ書き込みプロセスが開始される。出力メモリ238は、読み出し動作及び書き込み動作が同じアドレスを使用していない限り、入力ライン234上の格納用データを受信しながら、書き込みデータを出力ライン240へ出力できるデュアルポートメモリであることが好ましい。メモリ238は、市販されているダイレクトメモリアクセスデバイスによって可能化される公知のブロックメモリ転送の1つを使用してアクセスすることができることも理解されよう。従って、プロセッサがさらに介在することなく、出現する必要数の画素値を連続するメモリアドレスに書き込むことができる。ある走査線について画素値が書き込まれてしまうとその走査線の終わりが検出され、それ以上の画素値データが第1の走査線へ書き込まれることはないが、デュアルポートメモリ内の第1の走査線帯域の付加的な走査線に対する処理は続けられる。特定のIOTに関連付けられたイメージの出力水平および垂直ディメンションは固定されており、予め知られていることに注目されたい。これにより、ある走査線の終わりに到達したことを容易に検出できるのである。この点において、出力読み出し可能化ライン242がセットされ、デュアルポートメモリの第1の走査線帯域内に有効バイナリデータが存在していることを出力バッファ244に知らせる。図11に示し、説明しているさまざまなハードウェアブロックは、図5のイメージ出力回路124の一部として、または同図に示されているIOTの1つに関連付けられたインタフェース回路として含まれることが好ましい。さらに、当分野に精通していれば、説明しているハードウェア回路が、それらの動作を可能化するいろいろなタイミングおよび制御信号をも含んでいることは理解されよう。よく知られているこれらの信号は、好ましい例の説明からは省略した。
【0043】
事前圧縮解除動作の一部の例を、図12に絵画的に示してある。図12ではメモリまたはバンドバッファ(AおよびB)のサイズが4走査線であるものとし、区分Aの4走査線帯域がポピュレートされると、各共通領域280は画素毎に、およびラスタ毎に連続して出力される。同時に、ポピュレートバッファブロックは区分Bを埋め始める。一方のバンド区分をポピュレートするために受信する必要があるデータよりは、転送されるデータの方がかなり多いから、出力/読み出し動作の前にポピュレート動作は常に完了している。従って、AバンドとBバンドとの間のスイッチングを調整し、バンドバッファによって制限されたポピュレートおよび出力動作を「同期」させるための制御論理は不可欠である。
【0044】
要約すれば、本発明は格納される、または伝送される高解像度バイナリイメージを無損失事前圧縮する方法および装置である。より詳しく述べれば、本発明は高解像度ビット複製されたイメージに特に適した、面積をベースとする事前圧縮/事前圧縮解除技術を使用する。この技術は、共通カラーまたはバイナリ状態の規則正しいサイズのイメージ領域を探索し、それらの面積をコード化して表現する。本発明が使用したこの圧縮技術によれば、高解像度イメージを圧縮し、高解像度イメージが生成された元のビットマップバイナリイメージの無損失圧縮によって典型的に得られるイメージのサイズに近いイメージサイズで格納したり、または伝送することができる。
【0045】
事前圧縮動作に関連するプログラムリスト以下の表2〜表7に示す。
【表2】
Figure 0003781843
【表3】
Figure 0003781843
【表4】
Figure 0003781843
【表5】
Figure 0003781843
【表6】
Figure 0003781843
【表7】
Figure 0003781843
【表8】
Figure 0003781843

【図面の簡単な説明】
【図1】イメージの事前照合(丁合い)に従って遂行される、本発明の事前圧縮面を含む動作を示すデータ流れ図である。
【図2】事前照合されたイメージの処理に従って遂行される、圧縮解除動作を含むさまざまな動作を示すデータ流れ図である。
【図3】図1に示す事前圧縮動作の諸段階を示す流れ図である。
【図4】本発明の1つの面に従って直交領域に分割されたイメージセグメントの例を示す図である。
【図5】本発明の実施例として適当なイメージ処理システムの例の回路図である。
【図6】バイナリビットマップイメージのあるセグメントの絵画的表現の図である。
【図7】本発明による処理の一つの段階のバイナリイメージデータを示す図である。
【図8】本発明による処理の別の段階のバイナリイメージデータを示す図である。
【図9】本発明により図7にイメージを処理した結果を示すグラフである。
【図10】図2に示す事前圧縮解除動作の諸段階を示す流れ図である。
【図11】図10に示す事前圧縮解除動作を遂行するハードウェア回路のブロック線図である。
【図12】ポピュレーション中の、図10のデュアルポートメモリバンドバッファ内に格納される事前圧縮解除データの一部を示す図である。
【符号の説明】
20 バイナリビットマップイメージ
22 イメージスケーリング動作
24 ビットマップ
26 無損失事前圧縮動作
28 ビットストリーム
30 圧縮動作
32 圧縮データ記録
34 ディスク記憶デバイス
40 圧縮解除動作
42 バイナリビットストリーム
44 事前圧縮解除動作
46 ビットマップイメージ
48 IOTプリプロセッサ
50 マーキングエンジン
52 出力プリント
90 イメージセグメント
92 黒画素領域
100 イメージ処理システム
102 データプロセッサ
104 ソフトウェアプロダクト
106 記憶デバイス
108 アクセスデバイス
110 バス
114 メモリ
116 イメージ入力回路
118 イメージ入力端末(IIT)
120 コード命令
122 イメージデータ
124 イメージ出力回路
150 メモリセグメント
160−176 画素領域
230 ポピュレートバッファ
238 出力メモリ
244 出力バッファ
280 共通領域

Claims (3)

  1. バイナリイメージ信号の規則的なアレイとして表されるバイナリ入力イメージを圧縮するように、イメージ処理システム内で動作する方法であって、
    (A)同じ状態を有する複数のバイナリイメージ信号の、二次元の直交的に形成された領域と前記直交的に形成された領域を包囲する境界とを識別するために、
    (1)前記バイナリ入力イメージにおける第1の画素の状態を識別する段階と、
    (2)(a)現在の画素の位置を、前記第1の画素と前記現在の画素とによって境界を画している方形内の画素が前記第1の画素と同じ状態でなくなるまで、前記バイナリ入力イメージの対角線状に移動させ、次いで(b)前記現在の画素の位置を、前記境界を画している方形に囲われている全ての画素が前記第1の画素と同じ状態であるように対角線状に戻って移動させる段階とによって、前記二次元の直交的に形成された領域を識別する段階と、
    (B)前記直交的に形成された領域のサイズを決定する段階と、
    (C)前記直交的に形成された領域の状態およびサイズをディジタルデータワードとしてエンコードする段階と、
    (D)前記エンコードされた形状およびサイズを表す前記ディジタルデータワードを圧縮メモリ内に格納する段階と、
    (E)前記バイナリ入力イメージ内に存在するバイナリイメージ信号の、複数の直交的に形成された領域の各々について前記諸段階を繰り返す段階と
    から成ることを特徴とする方法。
  2. バイナリイメージ信号の規則的なアレイとして表されるバイナリ入力イメージを圧縮するように、イメージ処理システム内で動作する方法であって、
    (A)同じ状態を有する複数のバイナリイメージ信号の、二次元の直交的に形成された領域と前記直交的に形成された領域を包囲する境界とを識別するために、
    (1)前記バイナリ入力イメージにおける第1の画素の状態を識別する段階と、
    (2)(a)現在の画素の位置を、前記領域にある各画素が前記第1の画素と同じ状態を有している限り、前記第1の画素の現在の行において1列ずつ移動させ、(b)前記現在の画素の位置を、該現在の画素が異なる状態の画素に到達したとき、前記現在の行において前記第1の画素と同じ状態を持つ、以前の画素まで戻し、(c)前記現在の画素の位置を、前記第1の画素の位置と前記現在の画素の位置とによって定められる、境界を画する領域内に囲われている画素が前記第1の画素の状態と異なるまで、列方向に移動させ、(d)前記現在の画素位置を、前記境界を画する領域内に囲われている全ての画素が前記第1の画素と同じ状態を有する最後の画素まで列方向に戻るように移動させる段階とによって、前記二次元の直交的に形成された領域を識別する段階と、
    (B)前記直交的に形成された領域のサイズを決定する段階と、
    (C)前記直交的に形成された領域の状態およびサイズをディジタルデータワードとしてエンコードする段階と、
    (D)前記エンコードされた形状およびサイズを表す前記ディジタルデータワードを圧縮メモリ内に格納する段階と、
    (E)前記バイナリ入力イメージ内に存在するバイナリイメージ信号の、複数の直交的に形成された領域の各々について前記諸段階を繰り返す段階と
    から成ることを特徴とする方法。
  3. バイナリイメージ信号の規則的なアレイとして表されるバイナリ入力イメージを圧縮するように、イメージ処理システム内で動作する方法であって、
    (A)同じ状態を有する複数のバイナリイメージ信号の、二次元の直交的に形成された領域と前記直交的に形成された領域を包囲する境界とを識別するために、
    (1)前記バイナリ入力イメージにおける第1の画素の状態を識別する段階と、
    (2)(a)現在の画素の位置を、前記領域にある各画素が前記第1の画素と同じ状態を有している限り、前記第1の画素の現在の列において1行ずつ移動させ、(b)前記現在の画素の位置を、該現在の画素が異なる状態の画素に到達したとき、前記現在の列にお いて前記第1の画素と同じ状態を持つ、以前の画素まで戻し、(c)前記現在の画素の位置を、前記第1の画素の位置と前記現在の画素の位置とによって定められる、境界を画する領域内に囲われている画素が前記第1の画素の状態と異なるまで、行方向に移動させ、(d)前記現在の画素位置を、前記境界を画する領域内に囲われている全ての画素が前記第1の画素と同じ状態を有する最後の画素まで行方向に戻るように移動させる段階とによって、前記二次元の直交的に形成された領域を識別する段階と、
    (B)前記直交的に形成された領域のサイズを決定する段階と、
    (C)前記直交的に形成された領域の状態およびサイズをディジタルデータワードとしてエンコードする段階と、
    (D)前記エンコードされた形状およびサイズを表す前記ディジタルデータワードを圧縮メモリ内に格納する段階と、
    (E) 前記バイナリ入力イメージ内に存在するバイナリイメージ信号の、複数の直交的に形成された領域の各々について前記諸段階を繰り返す段階と
    から成ることを特徴とする方法。
JP31365896A 1995-12-04 1996-11-25 バイナリイメージを無損失事前圧縮する方法 Expired - Fee Related JP3781843B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/566987 1995-12-04
US08/566,987 US6341178B1 (en) 1995-12-04 1995-12-04 Method and apparatus for lossless precompression of binary images

Publications (2)

Publication Number Publication Date
JPH09181923A JPH09181923A (ja) 1997-07-11
JP3781843B2 true JP3781843B2 (ja) 2006-05-31

Family

ID=24265293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31365896A Expired - Fee Related JP3781843B2 (ja) 1995-12-04 1996-11-25 バイナリイメージを無損失事前圧縮する方法

Country Status (2)

Country Link
US (1) US6341178B1 (ja)
JP (1) JP3781843B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343617B1 (en) 2000-02-29 2008-03-11 Goldpocket Interactive, Inc. Method and apparatus for interaction with hyperlinks in a television broadcast
US7367042B1 (en) 2000-02-29 2008-04-29 Goldpocket Interactive, Inc. Method and apparatus for hyperlinking in a television broadcast
EP1317857A1 (en) * 2000-08-30 2003-06-11 Watchpoint Media Inc. A method and apparatus for hyperlinking in a television broadcast
US20020087592A1 (en) * 2000-12-29 2002-07-04 Jamal Ghani Presentation file conversion system for interactive collaboration
US7412099B2 (en) * 2004-01-14 2008-08-12 Xerox Corporation System and method for controlling compression ratio and image quality of binary images
US7352368B2 (en) * 2004-05-03 2008-04-01 Sas Institute Inc. Computer-implemented system and method for displaying three-dimensional images having associated metadata
JP4725336B2 (ja) * 2006-01-30 2011-07-13 ブラザー工業株式会社 画像処理装置および画像処理プログラム
JP4135752B2 (ja) * 2006-06-12 2008-08-20 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法及び画像処理プログラム
US20160253096A1 (en) * 2015-02-28 2016-09-01 Altera Corporation Methods and apparatus for two-dimensional block bit-stream compression and decompression

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484081A (en) * 1980-09-19 1984-11-20 Trw Inc. Defect analysis system
US4799173A (en) * 1986-02-28 1989-01-17 Digital Equipment Corporation Transformation circuit to effect raster operations
US5144682A (en) 1987-03-05 1992-09-01 Ricoh Company, Ltd. Method and an apparatus for isolating an area corresponding to a character or word
US4785349A (en) * 1987-10-05 1988-11-15 Technology Inc. 64 Digital video decompression system
US5163104A (en) * 1988-02-24 1992-11-10 Transtechnology Corporation Digital image processing technique including improved gray scale compression
US5267333A (en) * 1989-02-28 1993-11-30 Sharp Kabushiki Kaisha Image compressing apparatus and image coding synthesizing method
IL91221A (en) 1989-08-04 1995-03-30 Ibm Israel Binary text compression method
US4999715A (en) * 1989-12-01 1991-03-12 Eastman Kodak Company Dual processor image compressor/expander
US5293579A (en) * 1992-02-18 1994-03-08 Ray Dream, Inc. Method and apparatus for smoothing jagged edges in a graphics display
JPH0662255A (ja) 1992-08-13 1994-03-04 Takayama:Kk 画像圧縮方法
EP0584966B1 (en) * 1992-08-26 1999-04-14 Hewlett-Packard Company Pixel image edge-smoothing method and system
US5471248A (en) * 1992-11-13 1995-11-28 National Semiconductor Corporation System for tile coding of moving images

Also Published As

Publication number Publication date
US6341178B1 (en) 2002-01-22
JPH09181923A (ja) 1997-07-11

Similar Documents

Publication Publication Date Title
EP0235456B1 (en) Image processing apparatus and method with blocks of compressed data
JP4101312B2 (ja) グラフィック画像の圧縮システムおよび方法
EP0411232B1 (en) Method for high-quality compression by binary text images
US5805735A (en) Method and apparatus for compression of digitized image data using variable color fidelity
US4791679A (en) Image character enhancement using a stroke strengthening kernal
US6272255B2 (en) Method and apparatus for pre-processing mixed raster content planes to improve the quality of a decompressed image and increase document compression ratios
EP1057138B1 (en) Compressed merging of raster images for high speed digital printing
CA2221752C (en) Method and apparatus for reducing storage requirements for display data
JP2922680B2 (ja) 高解像コンピユータ・グラフイツクスの圧縮画像蓄積方法
US6334001B2 (en) Iterative smoothing technique for pre-processing mixed raster content planes to improve the quality of a decompressed image and increase document compression ratios
US6741368B1 (en) Method and apparatus for reducing storage requirements for display data
US5768481A (en) Method and apparatus for compression of digitized image data using a dynamic band recompression scheme
US5867612A (en) Method and apparatus for the fast scaling of an image
JP3461309B2 (ja) ハフマン符号化データ圧縮装置
JPH0870386A (ja) 圧縮手順選択方法
JP3781843B2 (ja) バイナリイメージを無損失事前圧縮する方法
US6011566A (en) System and method to display raster images with negligible delay time and reduced memory requirements
US5859954A (en) Printing apparatus, data registration method, and storage medium
US7742199B2 (en) System and method for compressing and rotating image data
JPH11150660A (ja) 情報圧縮方法、圧縮装置、情報処理方法、情報処理装置、及び、記録媒体
JP3514050B2 (ja) 画像処理装置
EP0923045B1 (en) Image recognition through localized interpretation
JPH04356873A (ja) カラー文書画像の適応符号化方式
JPH07231391A (ja) 画像処理装置
JPH08223428A (ja) 画像データ圧縮装置および画像データ伸長装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060308

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees