JPH0863606A - グラフィック画像の圧縮システムおよび方法 - Google Patents
グラフィック画像の圧縮システムおよび方法Info
- Publication number
- JPH0863606A JPH0863606A JP7098344A JP9834495A JPH0863606A JP H0863606 A JPH0863606 A JP H0863606A JP 7098344 A JP7098344 A JP 7098344A JP 9834495 A JP9834495 A JP 9834495A JP H0863606 A JPH0863606 A JP H0863606A
- Authority
- JP
- Japan
- Prior art keywords
- chaingon
- pixel
- pixels
- logic state
- series
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical 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)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
せる。 【構成】 本システムはビット・マップ・データを一ま
たは複数のチェーンゴンに分割する。チェーンゴンは水
平、垂直または対角線方向のいずれかに連続する一連の
ピクセル群である。各チェーンゴンはビット・マップ上
の開始位置とその長さによって定められる。各チェーン
ゴンは、チェーンゴンの開始位置に関連してデルタ符号
化により個別に符号化される。出現頻度の高いデルタ符
号は少数ビットを、出現頻度の低いものは多数ビットを
それぞれ有する。符号化されたチェーンゴンは圧縮され
る。本システムは、ビット・マップ・データ・ファイル
を記憶ないし第2のコンピュータに送信する任意のコン
ピュータ・システムに使用できる。本発明は、文字フォ
ントをテキスト・データとともに送信するプリンタやフ
ァクシミリ装置に特に有効である。
Description
ムおよび方法に関し、具体的にはラスタ・グラフィック
画像の圧縮を行うシステムおよび方法に関する。
て、グラフィックスはたいへん広く使用されている。コ
ンピュータ間のドキュメントの送信において、文字フォ
ントのようなグラフィック・データ(画像データないし
図形データ)の送信がよく行われる。この送信には、一
方のファクシミリ(FAX)装置から他のFAX装置へ
のファクシミリ・メッセージの送信やホスト・コンピュ
ータからプリンタへのデータの送信が含まれる。
ィック・データとして送信されることがある。この場合
に、グラフィック画像は、送信に先立ってビット・マッ
プ・データ・ファイルにされる。例えば、FAX装置は
ドキュメントを走査(スキャン)し、各ページごとのビ
ット・マップ・データ・ファイルを生成する。このビッ
ト・マップ・データ・ファイルは、送信時間を短縮する
ために送信に先立ち圧縮される。この圧縮により、コン
ピュータの使用効率が大幅にアップし、ファクシミリ電
話コールが遠距離の場合には、通話料の節約にもなる。
国際電信電話諮問委員会(CCITT)が作成した標準
化の規定には、周知のファクシミリ圧縮の標準規格が多
く存在する。これらは広く使用されているが、CCIT
Tの圧縮標準規格を使用したデータ圧縮は遅く、かつ、
グラフィック画像の効率的な圧縮にはなっていない。
ータに接続されたプリンタの一部であるコンピュータ)
は、プリンタによって印刷されるべきページに関する画
像データを転送することができる。プリンタは、テキス
ト・データに組み込まれた文字フォントを受信すること
が多い。プリンタは、組み込まれた文字フォントを使用
して、所望のフォントで高品質の印刷を行うことができ
る。これらのすべての事例に共通する項目は、一方のコ
ンピュータが他方のコンピュータに画像を送信するとい
うことである。
は、システムによって異なる。例えば、“Microsoft Wo
rd”(マイクソフト・ワード)ワード・プロセッサのよ
うなワード・プロセッシング・システムでは、画像デー
タを処理するために高度な計算能力および大容量のメモ
リを備えた処理能力の高い中央処理装置(CPU)が必
要とされる。同様にして、“PostScript”(ポストスク
リプト)ソフトウェアを使用するような印刷システムで
は、送信側コンピュータと受信側コンピュータの双方に
大量のデータ処理が必要となる。また、これにより、高
処理能力のCPUと大容量のメモリが必要となる。
処理能力のCPUおよび大容量のメモリに必要なコスト
を許容できない低コストのシステムでの使用には適しな
いことが分かる。したがって、高処理能力のCPUおよ
び大容量のメモリを必要としないラスタ・グラフィック
画像の圧縮および画像データの転送を行うためのシステ
ムおよび方法に対する要求が強く存在する。
配列)を表すビット・マップ・データ・ファイルを圧縮
するシステムに組み込まれる。このピクセルの直交アレ
イは、第1の次元に配列した一連のピクセル群を第2の
次元に複数個配列したものである。各ピクセルは第1論
理状態および第2論理状態を有する。チェーンゴン(ch
aingon:鎖状につながったもの)・ジェネレータは、ビ
ット・マップ・データ・ファイルを分析し、このファイ
ルを複数のチェーンゴン領域に分割する。チェーンゴン
領域のそれぞれは、第1論理状態を有する隣接したピク
セルを含んでいる。符号化アナライザは複数のチェーン
ゴン領域のそれぞれを分析する。そして、符号化アナラ
イザは、各チェーンゴン領域のピクセルを符号化(コー
ド化)して、各チェーンゴン領域の符号化データを生成
する。圧縮データ記憶領域はこの符号化データを受け取
り、記憶する。
ルタ符号化(デルタ・エンコーディング)を使用する。
さらに、システムは、符号化データを受け取って圧縮さ
れた符号化データを生成するコンプレッサ(圧縮器)を
備えている。このコンプレッサは、予め定められた圧縮
フォーマットを用いて、符号化データを圧縮することが
できる。予め定められた圧縮フォーマットには、RLE
圧縮、LZ圧縮およびハフマン圧縮の少なくとも一つが
含まれる。
ェネレータが含まれる。変化ベクトル・ジェネレータ
は、前記複数個の一連のピクセル群を順次分析し、前記
第1の次元において、この一連のピクセル群内のピクセ
ルが第1論理状態から第2論理状態に変化する位置およ
び第2論理状態から第1論理状態に変化する位置を決定
する。変化ベクトル・ジェネレータは、前記複数個の一
連のピクセル群のそれぞれについて変化ベクトル・テー
ブルを生成する。この実施例において、チェーンゴン・
ジェネレータは、ビット・マップ・データ・ファイルを
複数のチェーンゴン領域に分割するために変化ベクトル
・テーブルを使用する。チェーンゴン領域のそれぞれに
は、第1論理状態にある隣接したピクセル群が含まれ
る。
ネレータは、各チェーンゴン領域についてチェーンゴン
・リストを作成する。第1の連続する複数の一連のピク
セル群における一連のピクセル群の第1の特定のものの
位置が、第2の連続する複数の一連のピクセル群におけ
る一連のピクセル群の第1の特定のものと隣接している
かどうかを判断する際に、チェーンゴン・ジェネレータ
は、前記複数個の一連のピクセル群の第1および第2の
連続するものについてビット・マップ・データ・ファイ
ルを分析する。
メモリを必要とせずに、一方のコンピュータから他方の
コンピュータへ画像データを転送するシステムを提供す
るものである。記憶容量およびコストの面から、考えう
る全てのフォント・タイプを格納することは、プリンタ
のような装置では不可能である。プリンタに多くのフォ
ント・タイプが格納されていても、プリンタは、今後必
要となる新たな文字フォントを使用できるようにしてお
かなければならない。本発明のシステムは、ラスタ・デ
ータを処理して、ラスタ・データのサイズを大幅に削減
する。これにより、高処理能力および大容量メモリを備
えていない低コストのシステムであっても、テキスト・
データに新たな文字フォントを組み込むための柔軟性が
得られる。従来のシステムはアウトライン・フォントの
ようなラスタ・フォントを組み込むことができるが、こ
れらのシステムは、そのようなフォントの一つをサポー
トすることでさえメモリを多く必要とする。例えば、ア
ウトライン・フォント・セットは、一般に、フォント・
セットの処理用に約60キロバイト(KB)のコードを、
フォント・セットのアウトライン用に40KBから100 K
Bをそれぞれ必要とする。したがって、単一のアウトラ
イン・フォント・セットの転送には、160KB程度のメ
モリが必要となる。プリントされたページの代表的なも
のには、タイムズ・ローマン(Times-Roman )、タイム
ズ・ローマン・ボールド(Times-Roman Bold)およびタ
イムズ・ローマン・イタリック(Times-Roman Italics
)のようないくつかのフォントが含まれている。これ
らのそれぞれは、個々に定める必要がある個別フォント
と考えられる。したがって、複数のフォントの使用によ
り、メモリの必要性が非常に増大する。
DPI(ドット/インチ)の固定解像度における各フォ
ント・セットについて、各フォント・セットのラスタ・
データのサイズを約3KBから15KBに縮小する。これ
により、メモリ・リソースが比較的制限されている多く
の低コストの装置(例えば、複写機、ファクシミリ(F
AX)装置、プリンタ等)に本発明のシステムを使用す
ることが可能となる。メモリの必要性が軽減されること
により、ファクシミリ・メッセージ内にフォント・セッ
トを組み込むことが現実のものとなる。組み込まれたフ
ォント・セットのサイズが劇的に縮小されることは、組
み込まれたフォントを有するテキスト・データの転送時
間が縮小されることをも意味する。転送時間が縮小され
ることにより、データの転送が効率的なものとなり、フ
ァクシミリ装置のようなコンピュータの場合には転送コ
ストの低減につながる。また、このシステムは、上述し
た装置間の通信に柔軟性をも提供する。本発明を多くの
装置に利用することにより、相互運用能力が従来技術に
より達成できたものよりも増大する。
ルのデータ形式とみなされている。受信側コンピュータ
は、プリンタやFAX装置を問わず、従来システム(Po
stScriptのように、データは大量のデータ処理を必要と
する高レベルのフォーマットで転送される)が必要とす
る高度なデータ処理を行うことなく、組み込まれた文字
フォントを使用することができる。このように、本発明
によると、あまり高度でないマイクロプロセッサを受信
側コンピュータに使用することができ、コストがさらに
低減される。
タ画像である。ラスタ画像は、連続した水平方向の走査
列(水平走査列)からなる。各水平走査列は、一連のピ
クセル群からなる。ラスタ画像の各ピクセルは一または
複数のデータ・ビットによって表される。その最も簡単
な形式において、各ピクセルは、そのピクセルが「有
色」かどうかを表す一つのデータ・ビットだけで表され
る。「有色」とは、そのピクセルが特定の表示メディア
上で見ることができることをいう。簡単な表示メディア
は「背景色」(バックグラウンド・カラー)を有する。
この「背景色」は、特定の表示メディアでは見ることが
できないピクセルのデータ値を示している。「前景色」
(フォアグラウンド・カラー)は背景色のデータ値とは
異なるデータ値を有するピクセルを対応する。したがっ
て、前景色は特定の表示メディア上で見ることができ
る。例えば、レーザ・プリンタのような典型的なプリン
タでは、各ピクセルは、そのピクセルが有色かどうかを
示すためのデータ・ビットを一つ有する。ピクセルが前
景色(例えば、黒色)の場合に、そのピクセルは第1の
データ値(すなわち、第1論理状態)を有し、背景色
(例えば、白色)の場合に、第2のデータ値(すなわ
ち、第2反転論理状態)を有する。一方、ビデオ・ディ
スプレイ端末のピクセルは、白色の前景色に対して第1
論理状態を、黒色の背景色に対して第2論理状態をそれ
ぞれ有することもある。したがって、同じ論理状態が、
特定の表示メディアに依存して、異なった物理的表示に
なる場合がある。ピクセルの実際のデータ値は、特定の
表示メディアに依存する。
タ)は、各ピクセルについて、そのピクセルが有色かど
うかを示すデータ・ビットを一つ有する。上述したよう
に、ピクセルは、有色の場合(すなわち、画像で見え
る)に第1論理状態を、有色でない場合(すなわち、画
像で見えない)に逆の第2論理状態をそれぞれ有する。
解像度300 DPIの代表的なプリンタにおいて、解像度
300 DPIとは、各水平走査列の1インチ当たりに300
ピクセルが存在し、また、1インチ当たりに300本の水
平走査列が存在することを意味する。したがって、8.5
インチ×11インチのページは、各水平走査列ごとに2550
ピクセルを有する。各水平走査列におけるピクセルの位
置を示す値は0〜2549の範囲となる。「水平走査列」
は、各ピクセル列を水平方向に走査する一般的な装置に
ついて使用される用語である。本発明は、垂直方向に走
査する装置にも同様に適用することができる。
ステム10に組み込まれる。システム10は、中央処理装置
(CPU)12およびメモリ14を含んでいる。メモリ14
は、ランダム・アクセス・メモリ(RAM)とリード・
オンリー・メモリ(ROM)の双方を含んでいてもよ
い。データ記憶領域16(メモリ14の一部であってもよ
い)は、システム10によって処理されるラスタ・フォン
トまたは他の画像データを含んでいる。システム10が画
像データを処理するために、データ記憶領域16に全体画
像が記憶されている必要はない。典型的なアプリケーシ
ョンでは、データ記憶領域16は、画像データの一部を受
け取り、画像データをデータ・ストリームとして実時間
で処理するテンポラリー・バッファであってもよい。シ
ステム10がFAX装置に含まれている場合に、走査エン
ジン18は、送信対象である印刷されたページを走査する
ために使用される。走査エンジン18からのデータは、デ
ータ記憶領域16に与えられる。データ記憶領域16は、シ
ステム10がデータ・ストリームを実時間で処理している
間、テンポラリー・バッファとして働き、画像データを
保持する。
れ、受け取った画像データを印刷する。システム10がF
AXまたは複写機の場合には、プリンタ20をこのシステ
ムの一構成部分とすることもできる。選択的に、プリン
タ20はスタンド・アロンの装置とすることもできる。
は、各水平走査列を順次分析し、水平走査列内のピクセ
ルが第1論理状態から第2論理状態へ変化する位置およ
び第2論理状態から第1論理状態に変化する位置を決定
する。論理状態が変化する位置は、水平走査列の第1の
端部に相当する。したがって、この位置は、各水平走査
列の開始点、水平方向、および水平走査列の前のピクセ
ルの論理状態に対して論理状態が変化する各ピクセルの
相対位置によって示される長さを有するベクトルと見る
ことができる。
走査列における変化ベクトルを変化ベクトル・テーブル
24に格納する。データ記憶領域16と同様に、変化ベクト
ル・テーブル24は、画像内の全ての水平走査列の変化ベ
クトルを含でいる必要はない。変化ベクトル・テーブル
24は、一時に、一つの水平走査列の変化ベクトルのみを
含んでいてもよい。
ェネレータ26は、変化ベクトル・テーブル24のデータを
分析し、ラスタ画像データを表す一または二以上のチェ
ーンゴンを生成する。チェーンゴンは、水平方向、垂直
方向または対角線方向に隣接する同じ論理状態を有する
連続したピクセル群として定められる。チェーンゴンの
生成については、後に詳述する。この好ましい実施例に
おいては、チェーンゴンは、水平方向、垂直方向または
対角線方向に隣接する可視ピクセルとして定められるも
のとする。チェーンゴンは、チェーンゴン・テーブル28
に格納される。チェーンゴン・テーブル28はメモリ14の
一部であってもよい。
ンゴンを個別に分析し、チェーンゴンを符号化する。続
いて、符号化されたチェーンゴンは圧縮され、圧縮デー
タ記憶領域32に格納される。圧縮データ記憶領域32はメ
モリ14の一部であってもよい。上述したシステム10の様
々なコンポーネントは、バス34によって相互に接続され
る。バス34は、データ信号だけでなく、タイミング信号
や電力を供給することもできる。
するためにシステム10が用いる方法を示している。この
方法はステップ50でスタートする。ステップ52におい
て、変化ベクトル・ジェネレータ22(図1)は、分析対
象の水平走査列の論理状態に初期値を設定する。本発明
において、水平走査列の第1の端部(例えば、システム
10が左から右へ水平走査列を分析する場合には左端)で
スタートし、各水平走査列は白色のピクセル(すなわ
ち、可視ピクセル)で始まるものと仮定する。ステップ
54において、変化ベクトル・ジェネレータ22は、この最
初のピクセルを指し示すように水平走査列のポインタを
初期化する。判定ステップ56において、変化ベクトル・
ジェネレータ22は、ポインタが指し示すピクセルの論理
状態がその水平走査列における前のピクセルの論理状態
と異なるかどうかを判定する。論理状態が前のピクセル
のものと異なる場合には、判定ステップ56の結果はYES
となる。この場合に、ステップ58に進み、変化ベクトル
・ジェネレータ22は変化ベクトル・テーブル24(図1)
にポインタの現在値を格納する。変化ベクトル・テーブ
ル24の各値は、特定の水平走査列の変化ベクトルである
ことに注意すべきである。論理状態が前のピクセルのも
のと変化していない場合には、判定ステップ56の結果は
NOとなる。判定ステップ56の結果がNOの場合またはステ
ップ58の実行後に、変化ベクトル・ジェネレータ22は、
判定ブロック60に進み、ポインタの現在値が水平走査列
の第2の端部に相当するかどうかを判定する。ポインタ
の現在値が水平走査列の第2の端部に相当していない場
合には、判定ブロック60の結果はNOとなる。この場合
に、変化ベクトル・ジェネレータ22はステップ62に進
み、水平走査列のポインタの現在値をインクリメント
し、続いて判定ステップ56に戻り、水平走査列の分析を
継続する。ポインタの現在値が水平走査列の第2の端部
に相当する場合には、判定ステップ60の結果はYES とな
り、変化ベクトル・ジェネレータ22はステップ64におい
て水平走査列の分析を終了する。
が、ラスタ画像の一部分70を示す図3に示されている。
ラスタ画像は、データ記憶領域16(図1)のビット・マ
ップ・データ・ファイルとして格納されている。部分70
は7つの水平走査列72a〜72gからなる。変化ベクトル
・ジェネレータ22は、水平走査列72a〜72gの各列のピ
クセルを順次走査し、図2のフローチャートに示す方法
で、各水平走査列の変化ベクトルを判定する。最初の水
平走査列72aはピクセル0(白色の最初のピクセルと仮
定する)で変化を有する。したがって、最初の水平走査
列72aの最初の変化ベクトルはピクセル0で終了し、次
の変化ベクトルはピクセル1(ピクセルが黒から白に変
化する位置)で終了する。他の変化ベクトルはピクセル
3と6でそれぞれ終了する。このように、最初の水平走
査列72aの変化ベクトルの大きさは、0、1、3および
6となる。変化ベクトルは、システム10によってペアで
処理される。変化ベクトルの各ペアは、その水平走査列
上の同じ論理状態を有する連続したピクセル群を示す。
変化ベクトル・ペアによって定められる各連続したピク
セル群は、一続きのピクセル群と考えることができる。
水平走査列上のまず最初の変化ベクトルは、一続きの黒
色ピクセル群が開始する位置を示す。2番目の変化ベク
トルは、水平走査列において、一続きの白色ピクセルが
開始する位置を示す。したがって、変化ベクトル・ペア
の最初の変化ベクトルは算入的であるのに対し、変化ベ
クトル・ペアの2番目の変化ベクトルは排除的である。
すなわち、変化ベクトル・ペアの最初の変化ベクトルは
黒色の一続きのピクセル群が開始するピクセル位置を示
し、変化ベクトル・ペアの2番目の変化ベクトルはこの
黒色の一続きのピクセル群の最後のピクセルの後の位置
を示す。一続きのピクセル群の長さは、一ピクセル分の
場合もあり、水平走査列全体の長さの場合もある。黒色
の初期ピクセルを定め、変化ベクトル・ペアの最初の変
化ベクトルとして白色ピクセルを用いることにより、同
じタイプの処理が実現される。水平走査列72a〜72gの
変化ベクトル・ペアが表1に示されている。
クトル・ペアを変化ベクトル・テーブル24に格納する。
上述したように、変化ベクトル・テーブル24は、チェー
ンゴンの処理を開始するために、全水平走査列の変化ベ
クトルを含んでいる必要はない。
走査列の変化ベクトル・ペアを順次分析し、一または二
以上のチェーンゴン内に可視ピクセルを置いていく。シ
ステム10は、ラスタ画像の変化ベクトルを一回に一水平
走査列ずつ分析することによって、全体のラスタ画像用
に一または二以上のチェーンゴンを生成する。上述した
ように、チェーンゴンは、水平方向、垂直方向または対
角線方向に隣接する可視ピクセルとして定められる。例
えば、水平走査列72aのピクセル3〜5は、水平方向に
隣接している。したがって、チェーンゴン・ジェネレー
タ26は、それらのピクセルを一つのチェーンゴンに割り
当てる。水平走査列72bのピクセル5および6は水平方
向に互いに隣接し、水平走査列72aのピクセル3〜5に
も隣接している。したがって、水平走査列72bのピクセ
ル5および6は、水平走査列72aのピクセル3〜5を含
むチェーンゴンに加えられる。同様にして、水平走査列
72cのピクセル5および6は、水平方向に互いに隣接
し、水平走査列72bのピクセル5および6にも隣接して
いる。したがって、水平走査列72cのピクセル5および
6は、水平走査列72bのピクセル5および6、ならびに
水平走査列72aのピクセル3〜5を含むチェーンゴンに
加えられる。チェーンゴン・ジェネレータが、オープン
状態にあるチェーンゴンに加えるべきピクセルが垂直方
向と対角線方向のいずれにも隣接していない水平走査列
を発見するまで、オープン状態のチェーンゴンは上述の
ように成長し続ける。例えば、水平走査列72fは、水平
走査列72eのピクセル5および6に、垂直方向または対
角線方向のいずれかにオーバラップするピクセルを含ま
ない。したがって、チェーンゴン・ジェネレータはオー
プン状態のチェーンゴンをクローズする(閉じる)。各
水平走査列に他のチェーンゴンに加えるべき新たなピク
セルがある限り、そのチェーンゴンはオープン状態を維
持し続けることに注意すべきである。また、全ての隣接
したピクセルが同じチェーンゴンに含まれるとは限らな
いことにも注意すべきである。後述するように、ある特
定のピクセルが複数のチェーンゴンに含まれる場合に、
選択ルールが使用され、そのピクセルはある一つのチェ
ーンゴンに割り当てられる。
黒色ピクセルの位置を効率的に決定し、チェーンゴンを
定めるために使用される。選択的に、チェーンゴン・ジ
ェネレータ26は、ビット・マップ・データ・ファイル自
体を分析し、ピクセルが論理状態を変化させる位置を決
定することもできる。チェーンゴン・ジェネレータ26
は、変化ベクトルを含む最初の水平走査列上の変化ベク
トル・ペアのそれぞれに対してチェーンゴンを生成また
はオープン状態にする。なぜならば、その水平走査列の
変化ベクトル・ペアのそれぞれは、水平方向に隣接して
いない分離した一続きの黒色ピクセルを示すからであ
る。前の水平走査列の変化ベクトルと、これに続く次の
水平走査列の変化ベクトルとが垂直方向または対角線方
向のいずれかで隣接する限り、チェーンゴン・ジェネレ
ータ26によってオープン状態にされたチェーンゴンは、
オープン状態を維持する。
ャートは、チェーンゴンを生成するプロセスを示してい
る。チェーンゴン・ジェネレータ26(図1)は、ステッ
プ80において、図2のフローチャートに基づいて予め生
成された全ての変化ベクトルに対して処理を開始する。
ネレータ26は、最初の水平走査列(変化ベクトルを含
む)の各変化ベクトル・ペア用のチェーンゴン・リスト
を開始する。ファクシミリのページの上部で共通するよ
うに、変化ベクトルを有しない水平走査列が存在するこ
とがあるのは言うまでもない。表1から、最初の水平走
査列72aは、変化ベクトル・ペア(0,1)、(3,
6)を有する。この二つの変化ベクトル・ペアは、二つ
の一続きの黒色ピクセル群が水平走査列72aに存在する
ことを示している。最初の一続きの黒色ピクセル群はピ
クセル0で始まり、ピクセル1で終了する。したがっ
て、この一続きのピクセル群は一つの黒色ピクセルから
なる。2番目の一続きのピクセル群は、ピクセル3で開
始し、ピクセル6で終了する。したがって、この一続き
のピクセル群は3つの黒色ピクセルからなる。水平走査
列72aは分析開始後の最初の水平走査列であるので、オ
ープン状態のチェーンゴンは存在しない。したがって、
チェーンゴン・ジェネレータ26は二つのチェーンゴンを
オープン状態にする。第1のチェーンゴンはピクセル0
を含み、第2のチェーンゴンはピクセル3、4および5
を含むものである。チェーンゴン・ジェネレータ26は、
各チェーンゴンに関する変化ベクトル・ペアを含むチェ
ーンゴン・リストを生成する。チェーンゴン・リスト
(変化ベクトル・ペアを含んでいる)は、チェーンゴン
・テーブル28に格納される。
ネレータ26は、次の水平走査列を処理対象にする。判定
ステップ86において、チェーンゴン・ジェネレータ26
は、現在分析中の水平走査列の変化ベクトル・ペアが、
直前に分析された水平走査列のいずれかの変化ベクトル
・ペアとオーバラップするかどうかを判断する。「オー
バラップ」とは、ある変化ベクトル・ペアに対応するピ
クセルが、オープン状態にあるいずれかのチェーンゴン
のピクセルと垂直方向または対角線方向において隣接し
ていることをいう。オーバラップは、現在分析中の水平
走査列の変化ベクトル・ペアと前に分析された水平走査
列の一または複数の変化ベクトル・ペアとを比較するこ
とにより、数学的に判断され、オーバラップが存在する
かどうかが決定される。例えば、水平走査列72bのピク
セル5および6は、水平走査列72aのピクセル3〜5と
垂直方向でオーバラップしている(すなわち、水平走査
列72bのピクセル5が水平走査列72aのピクセル5と垂
直方向で隣接している)。したがって、水平走査列72b
の変化ベクトル・ペア(5,7)は、水平走査列72aの
変化ベクトル・ペア(3,6)を含んだチェーンゴン
(オープン状態)に加えられる。
ル・ペア(1,4)、(5,7)を有する。これらの変
化ベクトル・ペアは、1番目の一続きの黒色ピクセル群
がピクセル1で開始しピクセル4で終了すること、およ
び2番目の一続きの黒色ピクセル群がピクセル5で開始
しピクセル7で終了することを示している。チェーンゴ
ン・ジェネレータ26は、水平走査列72bの変化ベクトル
・ペアとオープン状態のチェーンゴンとを比較し、オー
バラップが存在するかどうかを判断する。
おける1番目の一続きの黒色ピクセル群(変化ベクトル
・ペア(0,1)によって示される)は、最初のオープ
ン状態のチェーンゴンに対応する。水平走査列72bにお
ける1番目の一続きの黒色ピクセル群(変化ベクトル・
ペア(1,4)で示される)は、水平走査列72aの変化
ベクトル・ペア(0,1)と対角線方向で隣接する。し
たがって、判定ステップ86の結果はYES となる。
走査列72aのピクセル3(このピクセル3は2番目のチ
ェーンゴンの一部である)の下にあるので、水平走査列
72bにおける1番目の一続きの黒色ピクセル群は、2番
目のチェーンゴンと垂直方向で隣接する。したがって、
水平走査列72bの1番目の一続きの黒色ピクセル群に対
応する変化ベクトル・ペアは、第1または第2のチェー
ンゴンのいずれかに置かれる。一続きのピクセル群を二
以上のチェーンゴンに置くことが可能な場合に、チェー
ンゴン・ジェネレータ26は、複数のチェーンゴンの中で
時間的に最も早くオープンしたものにピクセルを割り当
てる。したがって、ステップ88において、1番目の変化
ベクトル・ペア(水平走査列72bにおける1番目の一続
きの黒色ピクセル群に対応する)は、1番目のチェーン
ゴン用のチェーンゴン・リストに置かれる。選択的に、
1番目の変化ベクトル・ペア(水平走査列72bにおける
1番目の一続きの黒色ピクセル群に対応する)を2番目
のチェーンゴン用のチェーンゴン・リストに置くことも
できる。
ジェネレータ26は、現在分析中の水平走査列に未処理の
変化ベクトル・ペアが残っているかどうかを判断する。
水平走査列に未処理の変化ベクトル・ペアが残っている
場合に、判定ステップ90の結果はYES となる。この場合
に、ステップ92において、チェーンゴン・ジェネレータ
は現在分析中の水平走査列の次の変化ベクトル・ペアの
処理に移り、判定ステップ86に戻る。表1の例では、水
平走査列72bの変化ベクトル・ペア(5,7)が残って
いる。チェーンゴン・ジェネレータ22は、判定ステップ
86に戻り、2番目の変化ベクトル・ペアが2番目のチェ
ーンゴンに属すると判断する。チェーンゴン・ジェネレ
ータは、2番目の変化ベクトル・ペアを2番目のチェー
ンゴン・リストに置く。チェーンゴン・ジェネレータ
は、水平走査列72bの変化ベクトル・ペアのそれぞれに
対してこの処理を繰り返す。
クトル・ペアが残っていない場合には、判定ステップ90
の結果はNOとなり、チェーンゴン・ジェネレータ26は判
定ステップ96に進む。判定ステップ96において、チェー
ンゴン・ジェネレータ26は、現在分析中の水平走査列が
データ・ファイルの最後の水平走査列かどうかを判定す
る。分析すべき水平走査列がまだ残っている場合には、
判定ステップ96の結果はNOとなり、チェーンゴン・ジェ
ネレータ26はステップ84に戻り、次の水平走査列(分析
済の水平走査列72bに対しては水平走査列72c)を分析
する。図3の例では、変化ベクトル・ジェネレータ22お
よびチェーンゴン・ジェネレータ26は、水平走査列を上
から下へ分析する。各水平走査列は左から右へ走査され
る。上または下から開始し、左から右へまたは右から左
へ分析される任意のビット・マップ・データ・ファイル
に本発明の原理を適用できることは言うまでもない。例
えば、ビット・マップ・データ・ファイルがランドスケ
ープ・モードにおける文字を含む場合には、左から右の
代わりに上から下へ符号化を行う方が効率的である。ま
た、選択的に、前景ピクセルよりも背景ピクセルを符号
化するために一または複数のチェーンゴンを生成する方
が効率的な場合もある。本発明は、ビット・マップ・デ
ータ・ファイルにおいて、任意の方向における任意の論
理状態のチェーンゴン生成を包含するように意図されて
いる。
水平走査列ではない。したがって、チェーンゴン・ジェ
ネレータ26はステップ84に戻り、水平走査列72cを分析
する。表1から、水平走査列72cは変化ベクトル・ペア
(0,3)、(5,7)を有する。水平走査列72cのピ
クセル0,1および2は水平走査列72bのピクセル1、
2および3にオーバラップしている。水平走査列72bの
ピクセル1、2および3は1番目のチェーンゴンの一部
である。したがって、チェーンゴン・ジェネレータ26
は、1番目の変化ベクトル・ペア(0,3)を1番目の
チェーンゴン・リストに割り当てる。水平走査列72cの
2番目の一続きの黒色ピクセル群と2番目のチェーンゴ
ンとの間にはオーバラップが存在するので、チェーンゴ
ン・ジェネレータ26は、変化ベクトル・ペア(5,7)
を2番目のチェーンゴンに割り当てる。
らのチェーンゴンの一ピクセル内にない場合には、判定
ステップ86の結果はNOとなる。この場合に、ステップ94
に進み、チェーンゴン・ジェネレータ26は、現在の水平
走査列の変化ベクトル・ペア用に新たなチェーンゴン・
リストを作成する。現在の水平走査列において加えるべ
き新たな変化ベクトル・ペアを持たないチェーンゴン・
リストは、クローズまたはリタイヤされる。これは、そ
の特定のチェーンゴン・リストがもはや成長(拡大)す
ることはなく、その特定のチェーンゴンがチェーンゴン
・リストの変化ベクトル・ペアによって完全に確定した
ことを意味する。例えば、水平走査列72fには一つの変
化ベクトル・ペア(1,3)のみがある。チェーンゴン
・ジェネレータ26は、水平走査列72fの分析において、
水平走査列72eの2番目のチェーンゴンにオーバラップ
する変化ベクトル・ペアがないと判断する。したがっ
て、この2番目のチェーンゴンはクローズされる。この
2番目のチェーンゴン用のチェーンゴン・リストには、
水平走査列72a〜72eの変化ベクトル・ペアが含まれて
いる。同様にして、水平走査列72gの変化ベクトル・ペ
アの中で、水平走査列72fの1番目のチェーンゴンにオ
ーバラップするものはない。したがって、チェーンゴン
・ジェネレータが水平走査列72gを分析したときに、こ
の1番目のチェーンゴンはクローズされる。この1番目
のチェーンゴン用のチェーンゴン・リストには、水平走
査列72a〜72fの変化ベクトル・ペアが含まれている。
に、水平走査列72gには変化ベクトル・ペア(4,6)
が存在する。この水平走査列72gの変化ベクトル・ペア
(4,6)に対応するピクセルは、前の水平走査列72f
の変化ベクトルに対応するピクセルと全く隣接していな
い。水平走査列72gの変化ベクトル・ペアがオーバラッ
プするチェーンゴンが存在しないので、チェーンゴン・
ジェネレータ26は、水平走査列72gの変化ベクトル・ペ
ア(4,6)のみを含む3番目のチェーンゴンを生成
(開始)する。ステップ94において新たなチェーンゴン
を生成(開始)した後、チェーンゴン・ジェネレータ26
は判定ステップ90に進み、現在の水平走査列において他
の変化ベクトル・ペアが存在するかどうかを判断する。
ベクトル・ペアがチェーンゴン・リストに割り当てられ
るまで、チェーンゴン・ジェネレータ26は未処理の各水
平走査列を順次分析し続ける。分析すべき水平走査列が
存在しなくなると、判定ステップ96の結果はYES とな
り、チェーンゴン・ジェネレータ26はオープン状態にあ
るチェーンゴンをクローズし、ステップ98においてチェ
ーンゴンの生成処理を終了する。図3の例では、3番目
のチェーンゴンは、これに続く水平走査列においてオー
バラップするピクセルが存在しないので、クローズされ
る。
テーブル28(図1)に格納される。以下の表2は、図3
に示すピクセルに対して生成されたチェーンゴン・テー
ブルを示している。
容易にする方法で、チェーンゴン・リストをフォーマッ
トする。フォーマットされた各チェーンゴン・リスト
は、ヘッダを含んでいる。ヘッダには、ラスタ画像デー
タ・ファイルにおけるチェーンゴンの左上コーナの位
置、およびチェーンゴンの長さ(水平走査列の総数)に
関する情報が含まれている。チェーンゴン内の各水平走
査列のデータがヘッダに続く。表2に示すチェーンゴン
No.1(1番目のチェーンゴン)〜No.3(3番目のチェー
ンゴン)のデータをフォーマットしたチェーンゴン・リ
ストが、以下の表3に示されている。
1)のヘッダにあるXオフセットおよびYオフセット
は、このチェーンゴンが1番目の水平走査列の1番目の
ピクセルで開始することを示している。同様にして、2
番目のチェーンゴン(チェーンゴンNo.2)および3番目
のチェーンゴン(チェーンゴンNo.3)のヘッダのXオフ
セットおよびYオフセットは、これらのチェーンゴンが
1番目の水平走査列の4番目のピクセルおよび7番目の
水平走査列の5番目のピクセルからそれぞれ開始するこ
とを示している。1番目のチェーンゴンのヘッダにある
Yエクステントは、このチェーンゴンが6つの水平走査
列の長さを有することを示している。2番目のチェーン
ゴンおよび3番目のチェーンゴンのヘッダにあるYエク
ステントは、これらのチェーンゴンがそれぞれ5つおよ
び1つの水平走査列の長さを有することを示している。
このようにして、全体のラスタ画像データ・ファイル
は、一または二以上の一連のチェーンゴンに置き換えら
れる。
ン・リストのチェーンゴン・テーブル28(図1)への格
納、および上記方法によるチェーンゴン・リストのフォ
ーマットが完了すると、システム10は、デルタ符号化を
各チェーンゴンに適用して、各チェーンゴンを独立に符
号化する。デルタ符号化はデータ符号化の周知の形式で
あり、ここでは簡単に示されている。デルタ符号化の開
始前に、システム10が全てのチェーンゴンを完全に確定
させておく必要はない。例えば、図3における2番目の
チェーンゴンは、水平走査列72fの分析中にクローズさ
れる。そして、チェーンゴン・ジェネレータ26が変化ベ
クトル・テーブル24内の水平走査列72gについてのエン
トリをまだ分析している最中に、チェーンゴン・エンコ
ーダ30(図1)がこの2番目のチェーンゴンの符号化を
開始することができる。
査列に関連したチェーンゴン・データを、前の水平走査
列におけるチェーンゴン・データに関連したチェーンゴ
ンで符号化することにより、各チェーンゴンを符号化す
る。したがって、各水平走査列のチェーンゴン・データ
は、前の水平走査列からのチェーンゴン・データに関連
してデルタ値またはオフセット値として符号化される。
例えば、図5は、図3の1番目のチェーンゴンのみの符
号化プロセスを表している。上述したように、表3は、
1番目のチェーンゴンが1番目の水平走査列の1番目の
ピクセルから始まり、6つの水平走査列の長さを有する
ことを示している。表3のフォーマットされた1番目の
チェーンゴン・リストのデータ部分(ヘッダに続く部
分)の1番目の変化ベクトル・ペアは、変化ベクトル・
ペア(0,1)である。1番目のチェーンゴンの次の変
化ベクトル・ペア(1,4)は、この直前のエントリに
関連して符号化される。図3の例では、1番目のチェー
ンゴンの次の変化ベクトル・ペア(1,4)のデルタ値
は(+1,+3)となる。これは、次の水平走査列にお
ける一続きの黒色ピクセル群が、前の開始位置の右へ1
ピクセルだけ移動した箇所から開始し、前の終了位置の
右へ3ピクセルだけ移動した箇所で終了することを示し
ている。これらのデルタ値は、現在のチェーンゴン・デ
ータから前のチェーンゴン・データを差し引くことによ
り容易に求められる。元のチェーンゴンの変化ベクトル
・ペアと1番目のチェーンゴンのデルタ値は、以下の表
4に示されている。
前のデータの値からのオフセットのみである。したがっ
て、デルタ符号化を使用することにより、データの値の
サイズが削減される。チェーンゴンは、その定義から、
ビット・マップ・データ・ファイル内の閉じた関連ピク
セル群であるので、デルタ値は一般に小さなものとな
る。各デルタ値は複数のデータ・ビットによって表され
る。ほとんどのデルタ値が小さくなる傾向にあるので、
符号化プロセスはより予測可能なものとなる。後に詳述
するように、これにより、最もよく出現するオフセット
値に対しては少ないデータ・ビット数を使用し、大き
く、あまり出現しないオフセット値に対してはデータ・
ビット数を多く使用してデルタ符号化を行うことができ
る。このタイプの統計的符号化は、この技術分野におい
て周知である。例えば、修正ハフマン符号(ファクシミ
リのデータ符号化に共通して使用されている)は、統計
学に依存しており、よく出現するデータ・パターンに対
しては少ないデータ・ビット数を選択し、あまり出現し
ないデータ・パターンに対しては多くのデータ・ビット
数を選択している。
符号化プロセスの統計的性質を示している。オフセット
値零(0)は非常に多く出現し、最大の頻度で発生す
る。オフセット値+1および−1は次に多く出現するも
のである。他のオフセット値の発生頻度は小さい。シス
テム10は2つのデータ・ビットを使用して、3つの最も
よく出現するオフセット値を表現する。例えば、データ
・ビット00はオフセット値零を表す。データ・ビット
01はオフセット値+1を表し、データ・ビット11は
オフセット値−1を表す。あまり出現しないオフセット
値は、より多くのデータ・ビットで表される。例えば、
データ・ビット1011はオフセット値+2を表し、デ
ータ・ビット1010はオフセット値−2を表す。同様
にして、データ・ビット1001はオフセット値+3を
表す。出現頻度の小さなオフセット値を表すためには、
より多くのデータ・ビットが必要となる。表4の1番目
のチェーンゴンに対するデルタ符号化の値と上記データ
・ビット・パターンを使用すると、1番目のチェーンゴ
ンを符号化したデータは、00 01 01 1001
11 11 01 00 00 00 00 00と
なる。
された符号化データは、一方の符号の終端部分と他の新
たな符号の開始部分とを識別するためのデリミタを必要
としない。各符号のデータ・ビットはユニークであり、
システム10はその符号のデータ・ビットのパターンによ
り特定の符号の終端部分を認識する。例えば、上記例に
おける1番目のデータ・ビット00は、オフセット値0
を表す。データ・ビット00で始まる他のデータ・ビッ
ト・パターンは存在しない。したがって、システム10
は、このデータ・ビット00を完結した符号として認識
する。同様にして、データ・ビット01はオフセット値
+1を表す。データ・ビット01で始まる他のデータ・
ビット・パターンは存在しない。このようにして、各符
号は、そのデータ・ビット・パターンによってユニーク
に識別される。
ビットがチェーンゴン・エンコーダ30によって決定され
ると、このデルタ符号化データ・ビットを、受信側コン
ピュータに送信する前にさらに圧縮することができる。
これを行うために、システム10はLZデータ圧縮を使用
する。LZデータ圧縮により、デルタ符号化データ・ビ
ットはさらに圧縮される。LZデータ圧縮は、この技術
分野において周知であり、ここでは説明を省略する。選
択的に、他の多くの周知のデータ圧縮技術(例えば、R
LE(Run Length Encoding )やハフマン符号化)を用
いることもできる。本発明は、圧縮技術の特定の適用順
序に制限されるものではない。例えば、システム10はハ
フマン符号化を行った後にLZデータ圧縮を行うことも
できるし、まずLZデータ圧縮を行い、続いてハフマン
符号化を行うこともできる。チェーンゴンを圧縮したデ
ータは、圧縮データ記憶領域32(図1)に格納される。
この記憶領域32はメモリ14の一部であってもよい。
述したように、テキスト・データまたはファクシミリ・
メッセージ内に組み込み、データまたはメッセージとし
て送信することができる。圧縮データは、そのデータに
施された圧縮プロセスを逆に行うことにより、効率的に
伸張される。データの圧縮および伸張はこの技術分野に
おいて周知であり、ここでは説明を省略する。
の逆を行うことにより復号することができる。1番目の
チェーンゴンのデータ・ビット・パターンは、チェーン
ゴンの開始点からのオフセット値を示している。Xオフ
セットおよびYオフセットは1番目のチェーンゴンの水
平走査列の位置を、Yエクステントは1番目のチェーン
ゴンの水平走査列の個数をそれぞれ示している。この情
報により、符号化プロセスを容易に実行することができ
る。複数のチェーンゴンを含むデータに対しては、論理
OR演算により前のチェーンゴンと組み合わせて、各チ
ェーンゴンを一つのバッファに連続して伸張することが
できる。一続きのピクセル群を満たすことは、特に機械
語サイズ(例えば、32ビット)と適合した繰り返しの一
続きピクセル群に対しては高速である。
フォント・セットのようなラスタ画像データは、典型的
な文字フォント・セットに必要なスペースよりも劇的に
小さなスペースで表すことが可能となる。以下の表5の
データは、従来技術を用いた場合に典型的な文字フォン
ト・セットに必要となるデータ記憶容量、システム10が
同じ文字フォント・セットをチェーンゴンに処理した場
合のデータ記憶容量、およびチェーンゴンをさらにLZ
データ圧縮を用いて圧縮した場合のデータ記憶容量を示
している。
ムズ・ローマンの文字フォント・セットは、従来のシス
テムの記憶量として14.4KBを必要とする。これに対
し、システム10は、同じ文字フォント・セットを3.5 K
Bの少ない記憶量にすることができる。LZデータ圧縮
を用いてチェーンゴン・データを圧縮すると、同じ文字
フォント・セットが僅か1.5 KBになる。したがって、
システム10を使用することにより、約13KBの記憶量が
節約できることになる。スペース(記憶量)の節約は、
より大きなフォント・サイズに対しては一層劇的なもの
となる。
・セット・データと比較すると、スペースの節約になる
が、システム10は、データ圧縮のみにより得られるスペ
ースの節約よりも一層の節約を行うことができる。以下
の表6に示すデータは、チェーンゴンのみ、LZデータ
圧縮のみ、およびチェーンゴンとLZデータ圧縮を組み
合せたものの圧縮比を示している。
ムズ・ローマン(Times-Roman )文字フォント・セット
をチェーンゴン処理することにより、圧縮比は文字フォ
ント・データ・セットに対して4.1 :1になる。LZデ
ータ圧縮のみを使用した場合には、圧縮比は2.3 :1に
なる。これは、チェーンゴン・ラスタ化処理だけでもデ
ータ圧縮のみの使用よりも圧縮比が改善されていること
を示している。チェーンゴン・ラスタ化処理をLZデー
タ圧縮と組み合わせると、圧縮比は9.4 :1になる。し
たがって、システム10がラスタ画像データを処理する有
効なツールを提供することは容易に理解されるであろ
う。システム10を用いたスペースの節約およびデータ処
理の容易化は、より多くの装置が画像処理機能を組み込
むことができることを意味する。画像データ処理に必要
なメモリが少なくて済み、かつ、高処理能力および高コ
ストのCPUがデータ処理に必要なくなることから、こ
れらの装置は結局、低コストとなる。
ついて説明してきたが、上記説明は例示であり、本発明
の広い原理内において、詳細な変更を加えることができ
るのは言うまでもない。したがって、本発明は、特許請
求の範囲によってのみ限定されるものである。
る。
を生成する方法を示すフローチャートである。
を生成する様子を示すビット・マップ・データ・ファイ
ルのサンプルである。
方法を示すフローチャートである。
ゴンを生成する様子を示すビット・マップ・データ・フ
ァイルのサンプルである。
る予測符号頻度を示す。
Claims (18)
- 【請求項1】 各ピクセルが第1論理状態および第2論
理状態を有し、これらのピクセル群の一連のものが第1
の次元方向に並べられ、かつ、前記一連のピクセル群が
第2の次元方向に複数個並べられている直交アレイのピ
クセル群を表すビット・マップ・データ・ファイルを圧
縮するシステムであって、 前記ビット・マップ・データ・ファイルを圧縮されてい
ない形態で含むデータ・ファイル記憶領域、 前記複数個の一連のピクセル群の各一連のピクセル群を
順次分析して、前記第1の次元において、前記一連のピ
クセル群のピクセルが第1論理状態から第2論理状態に
変化する位置および第2論理状態から第1論理状態に変
化する位置を判断し、かつ、前記複数個の一連のピクセ
ル群のそれぞれに対して変化ベクトル・データ・テーブ
ルを生成するための、前記データ・ファイル記憶領域に
接続された変化ベクトル・ジェネレータ、 前記変化ベクトル・データ・テーブルを分析して、各領
域が第1論理状態を有する隣接したピクセル群を含むも
のである複数のチェーンゴン領域に前記ビット・マップ
・データ・ファイルを分割するための、前記変化ベクト
ル・ジェネレータに接続されたチェーンゴン・ジェネレ
ータ、 前記複数のチェーンゴン領域のそれぞれを分析して、前
記チェーンゴン領域のそれぞれに含まれるピクセル群を
符号化し、かつ、前記チェーンゴン領域のそれぞれに対
して符号化データを生成するための符号化アナライザ、
ならびに前記符号化データを記憶するためのデータ記憶
領域、 を備えているシステム。 - 【請求項2】 各ピクセルが第1論理状態および第2論
理状態を有し、これらのピクセル群の一連のものが第1
の次元方向に並べられ、かつ、前記一連のピクセル群が
第2の次元方向に複数個並べられている直交アレイのピ
クセル群を表すビット・マップ・データ・ファイルを圧
縮するシステムであって、 前記ビット・マップ・データ・ファイルを分析して、各
領域が第1論理状態を有する隣接したピクセル群を含む
ものである複数のチェーンゴン領域に前記ビット・マッ
プ・データ・ファイルを分割するチェーンゴン・ジェネ
レータ、 前記複数のチェーンゴン領域のそれぞれを分析し、か
つ、前記チェーンゴン領域のそれぞれに含まれるピクセ
ル群を符号化して、前記チェーンゴン領域のそれぞれに
対して符号化データを生成する符号化アナライザ、およ
び前記符号化データを記憶するデータ記憶領域、 を備えているシステム。 - 【請求項3】 各ピクセルが第1論理状態および第2論
理状態を有し、これらのピクセル群の一連のものが第1
の次元方向に並べられ、かつ、前記一連のピクセル群が
第2の次元方向に複数個並べられている直交アレイのピ
クセル群を表すビット・マップ・データ・ファイルから
符号化データ・ファイルを生成するシステムであって、 前記ビット・マップ・データ・ファイルの前記複数個の
一連のピクセル群の各一連のピクセル群を順次分析し
て、前記第1の次元において、前記一連のピクセル群の
ピクセルが第1論理状態から第2論理状態に変化する位
置および第2論理状態から第1論理状態に変化する位置
を判断し、かつ、前記複数個の一連のピクセル群のそれ
ぞれに対して変化ベクトル・データ・テーブルを生成す
るための変化ベクトル・ジェネレータ、ならびに前記変
化ベクトル・データ・テーブルを分析して、各領域が第
1論理状態を有する隣接したピクセル群を含むものであ
る複数のチェーンゴン領域に前記ビット・マップ・デー
タ・ファイルを分割するための、前記変化ベクトル・ジ
ェネレータに接続されたチェーンゴン・ジェネレータ、 を備え、 前記チェーンゴン・ジェネレータによって、前記ビット
・マップ・データ・ファイルは前記チェーンゴン領域に
符号化される、 システム。 - 【請求項4】 前記複数のチェーンゴン領域のそれぞれ
を分析し、かつ、前記チェーンゴン領域のそれぞれに含
まれるピクセル群を符号化して、前記チェーンゴン領域
のそれぞれに対して符号化データを生成する符号化アナ
ライザ、をさらに含む請求項3に記載のシステム。 - 【請求項5】 前記符号化アナライザがデルタ符号化を
使用するものである、請求項1、2または4に記載のシ
ステム。 - 【請求項6】 前記チェーンゴン・ジェネレータは、前
記チェーンゴン・ベクトル・テーブルを用いて前記チェ
ーンゴン領域のそれぞれに対してチェーンゴン・リスト
を生成するものであり、前記チェーンゴン・ジェネレー
タは、前記複数の一連のピクセル群の第1および第2の
連続したものの前記変化ベクトル・テーブルを分析し
て、前記第1の隣接した一連のピクセル群が第1論理状
態を有し、かつ、第1論理状態を有する前記第2の隣接
した一連のピクセル群のピクセルに隣接するものである
場合に、前記第1および第2の隣接した一連のピクセル
群からのピクセルを第1のチェーンゴンに割り当てるも
のである、請求項1に記載のシステム。 - 【請求項7】 前記符号化データを受け取り、圧縮され
た符号化データを生成するコンプレッサ、をさらに含む
請求項1、2または4に記載のシステム。 - 【請求項8】 前記コンプレッサは、RLE圧縮、LZ
圧縮およびハフマン圧縮の少なくとも一つを含む予め定
められた圧縮フォーマットを用いて、前記符号化データ
を圧縮するものである、請求項6に記載のシステム。 - 【請求項9】 前記チェーンゴン・ジェネレータは、前
記チェーンゴン領域のそれぞれに対して、前記第1およ
び第2の次元における前記各チェーンゴン領域の位置を
それぞれ示す第1および第2のオフセット・データ値を
生成するものである、請求項1、2または3に記載のシ
ステム。 - 【請求項10】 前記チェーンゴン・ジェネレータは、
前記第2の次元における前記チェーンゴン領域のそれぞ
れの長さを示す長さデータ値を生成するものである、請
求項1、2または3に記載のシステム。 - 【請求項11】 各ピクセルが第1論理状態および第2
論理状態を有し、これらのピクセル群の一連のものが第
1の次元方向に並べられ、かつ、前記一連のピクセル群
が第2の次元方向に複数個並べられている直交アレイの
ピクセル群を表すビット・マップ・データ・ファイルを
圧縮するためにコンピュータを使用する方法であって、 前記複数個の一連のピクセル群の各一連のピクセル群を
順次分析して、前記第1の次元において、前記一連のピ
クセル群のピクセルが第1論理状態から第2論理状態に
変化する位置および第2論理状態から第1論理状態に変
化する位置を判断し、 前記第2の次元における前記一連のピクセル群のそれぞ
れに対する前記位置の値を変化ベクトル・テーブルに記
憶し、 前記変化ベクトル・データ・テーブルを分析して、各領
域が第1論理状態を有する隣接したピクセル群を含むも
のである複数のチェーンゴン領域に前記ビット・マップ
・データ・ファイルを分割し、 前記複数のチェーンゴン領域のそれぞれを分析し、か
つ、前記チェーンゴン領域のそれぞれに含まれるピクセ
ル群を符号化して、前記チェーンゴン領域のそれぞれの
符号化データを生成する、 ステップを備えている方法。 - 【請求項12】 前記変化ベクトル・データ・テーブル
を分析するステップが、 前記複数個の一連のピクセル群の第1および第2の連続
するものについての前記変化ベクトル・テーブルを分析
し、 前記第1の隣接した一連のものにおけるピクセル群が第
1論理状態を有し、かつ、第1論理状態を有する前記第
2の隣接した一連のものにおけるピクセル群に隣接する
ものである場合に、前記第1および第2の隣接する一連
のピクセル群からのピクセルを第1のチェーンゴン・リ
ストに割り当てる、 ステップをさらに備えている請求項11に記載の方法。 - 【請求項13】 各ピクセルが第1論理状態および第2
論理状態を有し、これらのピクセル群の一連のものが第
1の次元方向に並べられ、かつ、前記一連のピクセル群
が第2の次元方向に複数個並べられている直交アレイの
ピクセル群を表すビット・マップ・データ・ファイルか
ら符号化データ・ファイルを生成するためにコンピュー
タを使用する方法であって、 前記ビット・マップ・データ・ファイルを、各領域が第
1論理状態を有する隣接したピクセル群を含むものであ
る複数のチェーンゴン領域に分割し、 前記複数のチェーンゴン領域のそれぞれを分析し、か
つ、前記チェーンゴン領域のそれぞれに含まれるピクセ
ルを符号化して、前記チェーンゴン領域のそれぞれにつ
いての符号化データを生成する、 ステップを備えている方法。 - 【請求項14】 各ピクセルが第1論理状態および第2
論理状態を有し、これらのピクセル群の一連のものが第
1の次元方向に並べられ、かつ、前記一連のピクセル群
が第2の次元方向に複数個並べられている直交アレイの
ピクセル群を表すビット・マップ・データ・ファイルか
ら符号化データ・ファイルを生成するためにコンピュー
タを使用する方法であって、 記憶場所から前記ビット・マップ・データ・ファイルを
受け取り、 前記ビット・マップ・データ・ファイルを、各領域が第
1論理状態を有する隣接したピクセル群を含むものであ
る複数のチェーンゴン領域に分割する、 ステップを備えている方法。 - 【請求項15】 前記複数のチェーンゴン領域のそれぞ
れを分析し、かつ、前記チェーンゴン領域のそれぞれに
おけるピクセルを符号化して、前記チェーンゴン領域の
それぞれについての符号化データを生成するステップ、
をさらに含む請求項14に記載の方法。 - 【請求項16】 前記チェーンゴン領域のそれぞれを符
号化する前記ステップがデルタ符号化を用いるものであ
る、請求項11、13または15に記載の方法。 - 【請求項17】 前記符号化データを圧縮するステッ
プ、をさらに含む請求項16に記載の方法。 - 【請求項18】 圧縮を行う前記ステップが、RLE圧
縮、LZ圧縮およびハフマン圧縮の少なくとも一つを含
む予め定められた圧縮フォーマットを使用して前記圧縮
データを圧縮するものである、請求項17に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/232624 | 1994-04-25 | ||
US08/232,624 US5504591A (en) | 1994-04-25 | 1994-04-25 | System and method for compressing graphic images |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007075395A Division JP4366408B2 (ja) | 1994-04-25 | 2007-03-22 | グラフィック画像の圧縮システムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0863606A true JPH0863606A (ja) | 1996-03-08 |
JP4101312B2 JP4101312B2 (ja) | 2008-06-18 |
Family
ID=22873883
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09834495A Expired - Lifetime JP4101312B2 (ja) | 1994-04-25 | 1995-04-24 | グラフィック画像の圧縮システムおよび方法 |
JP2007075395A Expired - Lifetime JP4366408B2 (ja) | 1994-04-25 | 2007-03-22 | グラフィック画像の圧縮システムおよび方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007075395A Expired - Lifetime JP4366408B2 (ja) | 1994-04-25 | 2007-03-22 | グラフィック画像の圧縮システムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5504591A (ja) |
EP (1) | EP0680016B1 (ja) |
JP (2) | JP4101312B2 (ja) |
DE (1) | DE69531080T2 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0816144A (ja) * | 1994-06-29 | 1996-01-19 | Fujitsu Ltd | アウトラインフォント展開方法およびアウトラインフォント展開装置 |
US5889893A (en) * | 1996-03-27 | 1999-03-30 | Xerox Corporation | Method and apparatus for the fast rotation of an image |
US5867612A (en) * | 1996-03-27 | 1999-02-02 | Xerox Corporation | Method and apparatus for the fast scaling of an image |
US6272555B1 (en) | 1996-07-01 | 2001-08-07 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system |
US6304893B1 (en) | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
US6038590A (en) | 1996-07-01 | 2000-03-14 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system |
US5848246A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
US6266709B1 (en) | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
US5987245A (en) | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework |
US5999972A (en) | 1996-07-01 | 1999-12-07 | Sun Microsystems, Inc. | System, method and article of manufacture for a distributed computer system framework |
US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
US6434598B1 (en) | 1996-07-01 | 2002-08-13 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system |
US5915098A (en) * | 1997-10-24 | 1999-06-22 | Digital Equipment Corp. | System for compressing bit maps to be shared and displayed in collaborative tool by client and server systems |
US6226400B1 (en) * | 1998-06-24 | 2001-05-01 | Colorcom, Ltd. | Defining color borders in a raster image by identifying and breaking contrast ties |
US6546360B1 (en) * | 1998-10-30 | 2003-04-08 | Trimble Navigation Limited | Device servicing system and method |
GB0031605D0 (en) * | 2000-12-27 | 2001-02-07 | Koninkl Philips Electronics Nv | Graphic image coding |
US7016547B1 (en) * | 2002-06-28 | 2006-03-21 | Microsoft Corporation | Adaptive entropy encoding/decoding for screen capture content |
ES2297083T3 (es) | 2002-09-04 | 2008-05-01 | Microsoft Corporation | Codificacion entropica por adaptacion de la codificacion entre modos por longitud de ejecucion y por nivel. |
US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
US7782954B2 (en) * | 2003-09-07 | 2010-08-24 | Microsoft Corporation | Scan patterns for progressive video content |
US7688894B2 (en) * | 2003-09-07 | 2010-03-30 | Microsoft Corporation | Scan patterns for interlaced video content |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7580564B2 (en) * | 2004-05-13 | 2009-08-25 | Lexmark International, Inc. | Method of an image processor for transforming a n-bit data packet to a m-bit data packet using a lookup table |
WO2006098930A2 (en) * | 2005-03-09 | 2006-09-21 | Stephen Jay Greenberg | Pet tracking systems, other tracking systems, and portable virtual fence |
US7684981B2 (en) * | 2005-07-15 | 2010-03-23 | Microsoft Corporation | Prediction of spectral coefficients in waveform coding and decoding |
US7693709B2 (en) | 2005-07-15 | 2010-04-06 | Microsoft Corporation | Reordering coefficients for waveform coding or decoding |
US7599840B2 (en) * | 2005-07-15 | 2009-10-06 | Microsoft Corporation | Selectively using multiple entropy models in adaptive coding and decoding |
US7933337B2 (en) * | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
US7565018B2 (en) * | 2005-08-12 | 2009-07-21 | Microsoft Corporation | Adaptive coding and decoding of wide-range coefficients |
JP2007310577A (ja) * | 2006-05-17 | 2007-11-29 | Toshiba Corp | 描画データ抽出装置、方法、およびプログラム |
US8184710B2 (en) * | 2007-02-21 | 2012-05-22 | Microsoft Corporation | Adaptive truncation of transform coefficient data in a transform-based digital media codec |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
US8179974B2 (en) | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
JP2011022784A (ja) * | 2009-07-15 | 2011-02-03 | Sony Corp | 情報処理装置、ブロック検出方法およびプログラム |
US8848261B1 (en) * | 2012-02-15 | 2014-09-30 | Marvell International Ltd. | Method and apparatus for using data compression techniques to increase a speed at which documents are scanned through a scanning device |
CN102841933B (zh) * | 2012-08-06 | 2015-01-14 | 北京地拓科技发展有限公司 | 栅格数据写入的方法及装置,栅格数据读取的方法及装置 |
CN102902712B (zh) * | 2012-08-13 | 2015-08-12 | 北京地拓科技发展有限公司 | 栅格因子数据写入的方法及装置、读取的方法及装置 |
CN110264533A (zh) * | 2019-06-25 | 2019-09-20 | 北京慧眼智行科技有限公司 | 一种数据传输方法、装置及电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5132488B2 (ja) * | 1971-12-30 | 1976-09-13 | ||
JPS4991716A (ja) * | 1972-12-31 | 1974-09-02 | ||
JPS5816665B2 (ja) * | 1975-10-30 | 1983-04-01 | ケイディディ株式会社 | フアクシミリシンゴウノフゴウカホウシキ |
JPS5537003A (en) * | 1978-09-07 | 1980-03-14 | Hitachi Ltd | Facsimile transmitter having redundancy suppression function |
JPS6055475A (ja) * | 1983-09-06 | 1985-03-30 | Matsushita Electric Ind Co Ltd | 境界線抽出装置 |
US4539587A (en) * | 1983-12-30 | 1985-09-03 | Gte Products Corporation | Shift register driven video measurement system for microcomputer |
US4701803A (en) * | 1984-06-05 | 1987-10-20 | Canon Kabushiki Kaisha | Image data compression apparatus |
US4783828A (en) * | 1986-06-02 | 1988-11-08 | Honeywell Inc. | Two-dimensional object recognition using chain codes, histogram normalization and trellis algorithm |
JPH01243188A (ja) * | 1988-03-24 | 1989-09-27 | Meidensha Corp | 輪郭検出装置 |
JPH01277976A (ja) * | 1988-04-28 | 1989-11-08 | Meidensha Corp | 画像処理装置 |
US4982293A (en) * | 1988-06-02 | 1991-01-01 | Ricoh Company, Ltd. | Method of compressing halftone image data |
KR930006750B1 (ko) * | 1989-06-29 | 1993-07-23 | 삼성전자 주식회사 | 화상데이터 부호화장치 |
GB2245463A (en) * | 1990-06-18 | 1992-01-02 | Rank Cintel Ltd | Generating graphic images with run length encoded data |
US5305111A (en) * | 1990-12-11 | 1994-04-19 | Industrial Technology Research Institute | Run length encoding method and system |
EP0552791B1 (en) * | 1992-01-24 | 2003-05-02 | Canon Kabushiki Kaisha | Apparatus and method for extracting outline data and encoding image data using the outline data |
US5414526A (en) * | 1993-10-21 | 1995-05-09 | Microsoft Corp. | System and method for encoding facsimile data |
-
1994
- 1994-04-25 US US08/232,624 patent/US5504591A/en not_active Expired - Lifetime
-
1995
- 1995-04-24 EP EP95106135A patent/EP0680016B1/en not_active Expired - Lifetime
- 1995-04-24 JP JP09834495A patent/JP4101312B2/ja not_active Expired - Lifetime
- 1995-04-24 DE DE69531080T patent/DE69531080T2/de not_active Expired - Lifetime
-
2007
- 2007-03-22 JP JP2007075395A patent/JP4366408B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0680016A2 (en) | 1995-11-02 |
JP2007184978A (ja) | 2007-07-19 |
JP4366408B2 (ja) | 2009-11-18 |
EP0680016A3 (en) | 1996-02-28 |
DE69531080D1 (de) | 2003-07-24 |
US5504591A (en) | 1996-04-02 |
EP0680016B1 (en) | 2003-06-18 |
DE69531080T2 (de) | 2003-12-04 |
JP4101312B2 (ja) | 2008-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4366408B2 (ja) | グラフィック画像の圧縮システムおよび方法 | |
US5850504A (en) | Method and apparatus for saving printer memory | |
JP2830690B2 (ja) | 画像処理装置 | |
JP3278298B2 (ja) | ビットマップデータの圧縮方法及び圧縮装置 | |
US6238105B1 (en) | Processor/memory non-intensive rendering for page printers | |
KR100477777B1 (ko) | 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체 | |
JP3720432B2 (ja) | 画像処理装置およびその方法 | |
JP3685234B2 (ja) | 画像処理装置 | |
JPH06268842A (ja) | 画像処理装置 | |
JP4385628B2 (ja) | イメージデータ処理装置および画像形成装置 | |
JPH09167222A (ja) | 画像処理装置 | |
JPH06113145A (ja) | 画像処理装置 | |
JPH08223428A (ja) | 画像データ圧縮装置および画像データ伸長装置 | |
JPH118771A (ja) | 画像出力装置および画像出力方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP3481644B2 (ja) | 画像圧縮装置 | |
JP3203352B2 (ja) | データ伸張処理装置 | |
JPH11187261A (ja) | 画像処理装置 | |
JP2683506B2 (ja) | データ圧縮方法及び装置、データ伸長方法及び装置 | |
JP3657081B2 (ja) | プリンタコントローラ | |
JPH10171612A (ja) | 画像処理装置及び圧縮処理方法 | |
JPH11136525A (ja) | 画像処理装置及び方法 | |
JPH11261825A (ja) | 画像処理装置 | |
JPS63117562A (ja) | イメ−ジデ−タ符号化方式 | |
JP2001078042A (ja) | 画像伸長処理装置および画像圧縮処理装置 | |
JPH10191066A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060317 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060619 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060619 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060919 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061121 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20070219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070322 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070404 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080319 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
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: 20110328 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |