JPH02228879A - データ圧縮方法 - Google Patents
データ圧縮方法Info
- Publication number
- JPH02228879A JPH02228879A JP2010461A JP1046190A JPH02228879A JP H02228879 A JPH02228879 A JP H02228879A JP 2010461 A JP2010461 A JP 2010461A JP 1046190 A JP1046190 A JP 1046190A JP H02228879 A JPH02228879 A JP H02228879A
- Authority
- JP
- Japan
- Prior art keywords
- raster
- data
- row
- byte
- bytes
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/417—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
- H04N1/4175—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding involving the encoding of tone transitions with respect to tone transitions in a reference line
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/415—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which the picture-elements are subdivided or grouped into fixed one-dimensional [1D] or two-dimensional [2D] blocks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の技術分野]
本発明はデータ圧縮方法に係り、特にラスタ行毎の圧縮
とバイト・グループ毎の圧縮を選択的に行なうことに関
するものである。
とバイト・グループ毎の圧縮を選択的に行なうことに関
するものである。
[従来技術およびその問題点]
データのバイトは、しばしばグラフィクス・イメージを
ラスタ行の配列として表現する。ラスタ行とは、グラフ
ィクス・イメージのラインつまり細片(Strip)
1本のラインである。多数の平行なうスフ行g=9が配
列されて、つまり積み重ねられて、グラフィクス・イメ
ージの全体を作ることができる。
ラスタ行の配列として表現する。ラスタ行とは、グラフ
ィクス・イメージのラインつまり細片(Strip)
1本のラインである。多数の平行なうスフ行g=9が配
列されて、つまり積み重ねられて、グラフィクス・イメ
ージの全体を作ることができる。
データの各バイトが、このグラフィクス・イメージ内の
1本のラスタ行の一部を表現している。
1本のラスタ行の一部を表現している。
各バイトがラスタ行の一部を表現しているので、このデ
ータ自体はラスタ行データ、あるいは以下で言うように
、ラスタ行単位で編成されたデータと呼ばれている。
ータ自体はラスタ行データ、あるいは以下で言うように
、ラスタ行単位で編成されたデータと呼ばれている。
グラフィクス・イメージは多くの場合複雑であるので、
このイメージを表現するデータは大規模かつ詳細なもの
であり得る。したがって、ホスト・コンピュータとプリ
ンタとの間のような、システム内の構成要素間のこのよ
うなデータの転送には大容量のメモリを必要としまた望
ましくない時間遅延を招く。必要とされるメモリを抑え
かつこのような時間遅延を防止するために、データを圧
縮して、情報をより少ないデータを使用して転送し、も
っと時間を節約することができる。
このイメージを表現するデータは大規模かつ詳細なもの
であり得る。したがって、ホスト・コンピュータとプリ
ンタとの間のような、システム内の構成要素間のこのよ
うなデータの転送には大容量のメモリを必要としまた望
ましくない時間遅延を招く。必要とされるメモリを抑え
かつこのような時間遅延を防止するために、データを圧
縮して、情報をより少ないデータを使用して転送し、も
っと時間を節約することができる。
データは多くの方法で圧縮可能である。
たとえば、G11bert He1dは著書“Data
Co+mpres−sion” (Wiley H
ayden、著作権表示1984年)において、1つの
ラスタ行内のデータのビットを隣接ラスタ行内のデータ
のビットと比較する圧縮方法を開示している。これらビ
ットを比較することによって、行間の差を知ることがで
きる。こうすることにより、一方のラスタ行を、この行
内のビットが他方の行のビットとどのように異なるかを
判定することによって表現できる。この差を表現するデ
ータはラスタ行を表現するデータよりも小規模であり、
データ圧縮がもたらされる。
Co+mpres−sion” (Wiley H
ayden、著作権表示1984年)において、1つの
ラスタ行内のデータのビットを隣接ラスタ行内のデータ
のビットと比較する圧縮方法を開示している。これらビ
ットを比較することによって、行間の差を知ることがで
きる。こうすることにより、一方のラスタ行を、この行
内のビットが他方の行のビットとどのように異なるかを
判定することによって表現できる。この差を表現するデ
ータはラスタ行を表現するデータよりも小規模であり、
データ圧縮がもたらされる。
しかしながら、上記のようなビット単位で異なるラスタ
行データを比較しても、ラスタ行自体の中でのデータの
反復性は認識されない。さらに、このような比較は行間
のビット変化を記録する簡潔な方法としては役に立たな
い。
行データを比較しても、ラスタ行自体の中でのデータの
反復性は認識されない。さらに、このような比較は行間
のビット変化を記録する簡潔な方法としては役に立たな
い。
[発明の目的]
本発明の方法は、行間の変化を記録する簡潔な方法を捷
供することによるとともに、ラスタ行内の反復性を認識
することによって、上記のような従来方式のデータ圧縮
方法の諸制限を克服することを目的とする。
供することによるとともに、ラスタ行内の反復性を認識
することによって、上記のような従来方式のデータ圧縮
方法の諸制限を克服することを目的とする。
[発明の概要]
本発明の一実施例によれば、ラスタ行単位圧縮とバイト
・グループ単位圧縮が選択的に行われる。
・グループ単位圧縮が選択的に行われる。
このラスタ行単位の圧縮では、互いに隣接したラスタ行
内のバイト同志を比較し、これによってこれら行間での
反復性を検出している。ラスタ行単位でデータを比較す
る際、本発明の方法では、何か差があるとそれを相対オ
フセットおよび置換えバイトとして記録する。バイト・
グループ単位の比較では、単一のラスタ行内の色々なバ
イト・グループを比較し、そしてこれによってその行内
の反復性を検出する。上述の両基準に従ってデータを選
択的に圧縮することにより、勝れたデータ圧縮がもたら
される。
内のバイト同志を比較し、これによってこれら行間での
反復性を検出している。ラスタ行単位でデータを比較す
る際、本発明の方法では、何か差があるとそれを相対オ
フセットおよび置換えバイトとして記録する。バイト・
グループ単位の比較では、単一のラスタ行内の色々なバ
イト・グループを比較し、そしてこれによってその行内
の反復性を検出する。上述の両基準に従ってデータを選
択的に圧縮することにより、勝れたデータ圧縮がもたら
される。
[発明の実施例]
第1図は本発明のラスタ行データ圧縮方法のフローを1
0で全般的に示している。先ず、データのブロックが、
ブロック12によって表わされているように、ラスタ行
単位で配列されている。この場合も、ラスタ行単位で配
列されたデータのブロックは、ラスタ行の配列としてイ
メージを表現するデータのことを言う。
0で全般的に示している。先ず、データのブロックが、
ブロック12によって表わされているように、ラスタ行
単位で配列されている。この場合も、ラスタ行単位で配
列されたデータのブロックは、ラスタ行の配列としてイ
メージを表現するデータのことを言う。
次にステップ14で、第1のラスタ行データと第2のラ
スタ行データとを比較し、ステップ16でこれらの行間
の差を認識する(note) *具体的に言えば、第2
のラスタ行内のバイトのうちで第1のラスタ行内の対応
するバイトと異なっている各バイトが、相対オフセット
および置換えバイトとして、ステップ18で記録される
。対応するバイトとは、垂直方向に隣接しているが別々
のラスタ行にあるイメージの部分を定義するデータのバ
イトである。相対オフセットおよび置換えバイトは、上
述のようなラスタ行間の変化を記録する方法に関係して
いる。
スタ行データとを比較し、ステップ16でこれらの行間
の差を認識する(note) *具体的に言えば、第2
のラスタ行内のバイトのうちで第1のラスタ行内の対応
するバイトと異なっている各バイトが、相対オフセット
および置換えバイトとして、ステップ18で記録される
。対応するバイトとは、垂直方向に隣接しているが別々
のラスタ行にあるイメージの部分を定義するデータのバ
イトである。相対オフセットおよび置換えバイトは、上
述のようなラスタ行間の変化を記録する方法に関係して
いる。
たとえば、第1のラスタ行内の対応バイトと異なってい
るという理由で置き換えられるべき第2のラスタ行内の
バイトの個数は、3ビツトの数として記録することがで
きる。置き換えられるべきバイトのロケーションは、5
ビツトの数として記録することができる。この5ビツト
の数が相対オフセット値である。このオフセットは現在
のラスタ行中で処理を受けていないバイトの最後のもの
から数えたバイト数である。つまり、換言すれば、最後
の被置換バイトの次のバイトから数えて何バイト目かを
表す。あるいは、こうするかわりに、このオフセットは
図形の左マージンからのオフセットとしてもよい。
るという理由で置き換えられるべき第2のラスタ行内の
バイトの個数は、3ビツトの数として記録することがで
きる。置き換えられるべきバイトのロケーションは、5
ビツトの数として記録することができる。この5ビツト
の数が相対オフセット値である。このオフセットは現在
のラスタ行中で処理を受けていないバイトの最後のもの
から数えたバイト数である。つまり、換言すれば、最後
の被置換バイトの次のバイトから数えて何バイト目かを
表す。あるいは、こうするかわりに、このオフセットは
図形の左マージンからのオフセットとしてもよい。
大きいオフセットは、これを表わすために数個のバイト
を必要とすることがある。たとえば数O〜30で、相対
オフセットO〜30を表してよい。ここでOは次の圧縮
されていないバイトを表す。この5ビツト数が31であ
る場合は、次のバイトが付加的オフセット値であると解
釈されて直前の5ビツト数に加えられる。たとえば、オ
フセット31は数31に次のデータ・バイト内に含まれ
ている付加オフセットOを加えたものとして記録できる
。またオフセット32は、数31に付加オフセット1を
加えた数として記録できる。上述のような次のバイトが
数255を含むとすると、この値が5ビツトの数に加え
られそしてその次のバイトをオフセットとして含む。以
下同様である。
を必要とすることがある。たとえば数O〜30で、相対
オフセットO〜30を表してよい。ここでOは次の圧縮
されていないバイトを表す。この5ビツト数が31であ
る場合は、次のバイトが付加的オフセット値であると解
釈されて直前の5ビツト数に加えられる。たとえば、オ
フセット31は数31に次のデータ・バイト内に含まれ
ている付加オフセットOを加えたものとして記録できる
。またオフセット32は、数31に付加オフセット1を
加えた数として記録できる。上述のような次のバイトが
数255を含むとすると、この値が5ビツトの数に加え
られそしてその次のバイトをオフセットとして含む。以
下同様である。
これまでに説明した通り、置換えるバイトの個数および
これらバイトのロケーション(オフセット)が記録され
る。置換えバイト自体は、オフセット値を定義するバイ
トの次に置かれる。置換えられるバイト毎に置換えバイ
トがともなっていなければならない。置換えバイトの個
数は1から8までの範囲にあることができるが、置換え
るバイトの個数を示すために2進数3桁のみが利用可能
であるので、単一のコマンド・バイトについて8を超過
することはできない。したがって、各データの形式は以
下の通り表わされる。
これらバイトのロケーション(オフセット)が記録され
る。置換えバイト自体は、オフセット値を定義するバイ
トの次に置かれる。置換えられるバイト毎に置換えバイ
トがともなっていなければならない。置換えバイトの個
数は1から8までの範囲にあることができるが、置換え
るバイトの個数を示すために2進数3桁のみが利用可能
であるので、単一のコマンド・バイトについて8を超過
することはできない。したがって、各データの形式は以
下の通り表わされる。
くコマンド・バイト〉〔〈オプションのオフセラ数を示
す3ビツト数および最初の5ビツトのオフセット値を含
んでいる。たとえばコマンド・バイトが2進コードで“
0100 0000″であるとすると、現在のラスタ行
内の次の3バイトはコマンド・バイト舛→≠番饗換壽に
続いて置かれているもので置換えられなければならない
。コマンド・バイトが“0110 0101”であると
すると、現在のラスタ行内の次の5バイトをとばして、
それに引き続く4バイトを適切な4個の置換えバイトで
置換える。コマンド・バイトが“o。
す3ビツト数および最初の5ビツトのオフセット値を含
んでいる。たとえばコマンド・バイトが2進コードで“
0100 0000″であるとすると、現在のラスタ行
内の次の3バイトはコマンド・バイト舛→≠番饗換壽に
続いて置かれているもので置換えられなければならない
。コマンド・バイトが“0110 0101”であると
すると、現在のラスタ行内の次の5バイトをとばして、
それに引き続く4バイトを適切な4個の置換えバイトで
置換える。コマンド・バイトが“o。
00 QOOO”である場合には、次のバイトが置換
えられるべきものとなる。
えられるべきものとなる。
この好適実施例においては、ラスタ行間またはバイト・
グループ間の変化分をまとめる(comp i le)
とは、既に説明したような変化の個数およびロケーショ
ンを記録することを言う。しかしながら、各種の記録方
法が本発明の圧縮方法に憚ることなく使用可能である。
グループ間の変化分をまとめる(comp i le)
とは、既に説明したような変化の個数およびロケーショ
ンを記録することを言う。しかしながら、各種の記録方
法が本発明の圧縮方法に憚ることなく使用可能である。
ラスタ行間の比較で変化していなかったことがわかった
データは、ステップ20において複製(wpム゛Cαt
e、)される。この複製されたデータはタスク・プロセ
ッサのメモリまたはバッファ内に既に存在しているので
、圧縮データの一部ではない。換言すれば、複製ステッ
プでは単にデータを変化させないでそのまま保持する。
データは、ステップ20において複製(wpム゛Cαt
e、)される。この複製されたデータはタスク・プロセ
ッサのメモリまたはバッファ内に既に存在しているので
、圧縮データの一部ではない。換言すれば、複製ステッ
プでは単にデータを変化させないでそのまま保持する。
複製されたバイト並びに相対オフセットと置換えバイト
によって第2のラスタ行内のデータが完全に表現される
。
によって第2のラスタ行内のデータが完全に表現される
。
このデータは次に、ステップ22によって表わされるよ
うに、タスク・プロセッサに送出してよい。
うに、タスク・プロセッサに送出してよい。
ここでも、複製されたデータは既にタスク・プロセッサ
内にあって変化していないままになっているので、オフ
セットおよび置換えバイトのみがタスク・プロセッサに
送られる。次にステップ24で、データ・ブロック全体
の圧縮が完了したが否かを判断する。完了している場合
は圧縮を終結する。
内にあって変化していないままになっているので、オフ
セットおよび置換えバイトのみがタスク・プロセッサに
送られる。次にステップ24で、データ・ブロック全体
の圧縮が完了したが否かを判断する。完了している場合
は圧縮を終結する。
完了していない場合は、この手続を再開して、ステップ
14において後続ラスタ行情報の比較を行なう。
14において後続ラスタ行情報の比較を行なう。
最初に、第1のラスタ行と第2のラスタ行とが比較され
区。後続のラスタ行を表現しているデータを比較すると
は、“第2の”ラスタ行と以前に呼ばれたものが現在は
“第1の”ラスタ行であることを意味する。換言すれば
、ここに用いたように、“′第1の°”ラスタ行は基準
行、つまり種の行を意味している。次のラスタ行が第2
のラスタ行となり、これが今や第1のラスタ行を表現す
る未圧縮データと比較される。したがって、「第1のラ
スタ行」、「第2のラスタ行」という用語は、圧縮の手
続を進めていくにつれて異なる色々な行を指示していく
。
区。後続のラスタ行を表現しているデータを比較すると
は、“第2の”ラスタ行と以前に呼ばれたものが現在は
“第1の”ラスタ行であることを意味する。換言すれば
、ここに用いたように、“′第1の°”ラスタ行は基準
行、つまり種の行を意味している。次のラスタ行が第2
のラスタ行となり、これが今や第1のラスタ行を表現す
る未圧縮データと比較される。したがって、「第1のラ
スタ行」、「第2のラスタ行」という用語は、圧縮の手
続を進めていくにつれて異なる色々な行を指示していく
。
第2図は第3A図ないし第3C図の配置関係を示す。こ
こで、第3A図はブロック28、第3B図はブロック3
0、第3C図はブロック32によって示されている、第
3A図、第3B図、および第3C図は、本発明の選択可
能圧縮方法のブロック図を示している。
こで、第3A図はブロック28、第3B図はブロック3
0、第3C図はブロック32によって示されている、第
3A図、第3B図、および第3C図は、本発明の選択可
能圧縮方法のブロック図を示している。
第3A図において、ブロック34は1つのイメージを構
成するラスタ行を表現しているデータのバイトを表わし
ている。ステップ36は、上述のデータの第1のラスタ
行を捜し出す。
成するラスタ行を表現しているデータのバイトを表わし
ている。ステップ36は、上述のデータの第1のラスタ
行を捜し出す。
圧縮動作を行なう際の最初の第1のラスタ行は次に、ス
テップ38に示されているように、基準ラスタ行と比較
される。この基準ラスタ行は本発明の方法を使用してい
るシステムが発生する。グラフィック・イメージの最初
の行は通常ブランクであるので、この基準行は通常は値
Oに設定される。
テップ38に示されているように、基準ラスタ行と比較
される。この基準ラスタ行は本発明の方法を使用してい
るシステムが発生する。グラフィック・イメージの最初
の行は通常ブランクであるので、この基準行は通常は値
Oに設定される。
次のステップ40は、第1のラスタ行と基準ラスタ行と
の間の変化分を認識してこれをまとめる。
の間の変化分を認識してこれをまとめる。
この変化分のまとめ処理は、第1のラスタ行を表現する
データの圧縮表現を作る。次に、ステップ42において
、この圧縮が充分であったか否かを判断する。圧縮度が
予め選択された圧縮比、たとえば9:1、を満足してい
る場合は、この圧縮は充分である。
データの圧縮表現を作る。次に、ステップ42において
、この圧縮が充分であったか否かを判断する。圧縮度が
予め選択された圧縮比、たとえば9:1、を満足してい
る場合は、この圧縮は充分である。
圧縮が充分ではない場合は、本発明の方法は、ステップ
44において、第1のタスク行内のデータのバイトがバ
イト・グループ単位で圧縮されているか否かを判断する
。バイト・グループ単位の圧縮が行われていない場合は
、ステップ46に示されているように、第1のタスク行
内のバイト・グループ間での比較を行なう。バイト・グ
ループとは、所与のタスク行内の予め選択された個数の
バイトである。次にステップ40および42が今度はバ
イト・グループ圧縮のために繰返される。
44において、第1のタスク行内のデータのバイトがバ
イト・グループ単位で圧縮されているか否かを判断する
。バイト・グループ単位の圧縮が行われていない場合は
、ステップ46に示されているように、第1のタスク行
内のバイト・グループ間での比較を行なう。バイト・グ
ループとは、所与のタスク行内の予め選択された個数の
バイトである。次にステップ40および42が今度はバ
イト・グループ圧縮のために繰返される。
ラスタ行圧縮では不充分でありかつバイト・グループ圧
縮も不充分であった場合は、本発明の方法は、ステップ
48に示されているように、圧縮度が最大のデータを採
用する。圧縮度が最大のデータは、記憶のためにより小
容量のメモリしか必要としない、ラスタ行圧縮データ、
バイト・グループ圧縮データあるいは圧縮していないデ
ータそれ自身であり得る。
縮も不充分であった場合は、本発明の方法は、ステップ
48に示されているように、圧縮度が最大のデータを採
用する。圧縮度が最大のデータは、記憶のためにより小
容量のメモリしか必要としない、ラスタ行圧縮データ、
バイト・グループ圧縮データあるいは圧縮していないデ
ータそれ自身であり得る。
最初のラスタ行圧縮が充分であったかあるいはその次に
行われたバイト・グループ圧縮が充分であった場合、あ
るいは圧縮最大のデータを選択して採用することになっ
た場合のいずれにあたっても、その次のステップ50で
は上述のようなデータ次タスク・プロセッサに移送する
。本発明の方法は次に、ステップ52で、圧縮が完了し
たか否かを判断する。完了している場合は、このタスク
はステップ54で終結する。完了していない場合は、こ
の方法は″“A”と表示されたステップ56に進む。
行われたバイト・グループ圧縮が充分であった場合、あ
るいは圧縮最大のデータを選択して採用することになっ
た場合のいずれにあたっても、その次のステップ50で
は上述のようなデータ次タスク・プロセッサに移送する
。本発明の方法は次に、ステップ52で、圧縮が完了し
たか否かを判断する。完了している場合は、このタスク
はステップ54で終結する。完了していない場合は、こ
の方法は″“A”と表示されたステップ56に進む。
第3B図は、表示“A”に続く諸ステップを示している
。最初に、ステップ58で次のラスタ行を捜し出す。こ
の行は直前のラスタ行に対して行ねれたものと同一のや
り方で先ず圧縮される。たとえば、直前のラスタ行がバ
イト・グループ単位で圧縮されたとすると、次のラスタ
行もバイト・グループ単位で圧縮される。ステップ60
では、直前の行に対して採用された圧縮のやり方が何で
あったかを判断する。直前のラスタ行が圧縮されなかっ
た場合は、どちらの圧縮方法でも選択できる。
。最初に、ステップ58で次のラスタ行を捜し出す。こ
の行は直前のラスタ行に対して行ねれたものと同一のや
り方で先ず圧縮される。たとえば、直前のラスタ行がバ
イト・グループ単位で圧縮されたとすると、次のラスタ
行もバイト・グループ単位で圧縮される。ステップ60
では、直前の行に対して採用された圧縮のやり方が何で
あったかを判断する。直前のラスタ行が圧縮されなかっ
た場合は、どちらの圧縮方法でも選択できる。
直前の圧縮がタスク行単位であった場合は、本発明の方
法は“B”と表示されたステップ62を通る。直前の圧
縮がバイト・グループ単位であった場合は、本発明の方
法は“C”と表示されたステップ64に進む。
法は“B”と表示されたステップ62を通る。直前の圧
縮がバイト・グループ単位であった場合は、本発明の方
法は“C”と表示されたステップ64に進む。
表示“B”によって識別されたステップでは、ステップ
66によって示されたように、先ず現在のラスタ行を直
前のラスタ行と比較する。行間の変化分はステップ68
において認識されまとめられる。
66によって示されたように、先ず現在のラスタ行を直
前のラスタ行と比較する。行間の変化分はステップ68
において認識されまとめられる。
次に、ステップ70において、圧縮が充分であったか否
かを判断する。充分であった場合は、ラスタ行圧縮の結
果として得られたデータがステップ72において第3C
図に示されているように採用される。
かを判断する。充分であった場合は、ラスタ行圧縮の結
果として得られたデータがステップ72において第3C
図に示されているように採用される。
ステップ70で、充分な圧縮が行われなかったと判断さ
れた場合は、74に示されているように、次のステップ
は、このラスタ行がこれまでにバイト・グループ単位で
圧縮されたことがあるか否かを判断することである。こ
のような圧縮を受けたことがない場合は、64で表わさ
れる表示“C”に続(諸ステップに進む。
れた場合は、74に示されているように、次のステップ
は、このラスタ行がこれまでにバイト・グループ単位で
圧縮されたことがあるか否かを判断することである。こ
のような圧縮を受けたことがない場合は、64で表わさ
れる表示“C”に続(諸ステップに進む。
したがって、表示“C“に続く前述の諸ステップは、ス
テップ60で判断されるように直前のラスタ行がバイト
・グループ単位で圧縮されていた場合、またはステップ
66.68のラスタ行圧縮が充分な圧縮に至らなかった
場合に実行される。いずれの場合も、バイト・グループ
間の比較はステップ76で行われる。これらグループ間
の変化分が、ステップ78において認識されまとめられ
る。
テップ60で判断されるように直前のラスタ行がバイト
・グループ単位で圧縮されていた場合、またはステップ
66.68のラスタ行圧縮が充分な圧縮に至らなかった
場合に実行される。いずれの場合も、バイト・グループ
間の比較はステップ76で行われる。これらグループ間
の変化分が、ステップ78において認識されまとめられ
る。
次に、ステップ80において、バイト・グループ圧縮が
充分なものであったか否かを判断する。充分であった場
合は、第3C図に示されているように、ステップ82に
おいてバイト・グループ単位で圧縮されたデータが採用
される。バイト・グループ圧縮が充分な圧縮に至らなか
った場合は、ステップ84に示されているように、この
データがこれまでにタスク行単位で圧縮されたことがあ
るか否かを判断する。このやり方で圧縮されたことがな
ければ、62で示される表示“B”に続く諸ステップが
次に実行される。
充分なものであったか否かを判断する。充分であった場
合は、第3C図に示されているように、ステップ82に
おいてバイト・グループ単位で圧縮されたデータが採用
される。バイト・グループ圧縮が充分な圧縮に至らなか
った場合は、ステップ84に示されているように、この
データがこれまでにタスク行単位で圧縮されたことがあ
るか否かを判断する。このやり方で圧縮されたことがな
ければ、62で示される表示“B”に続く諸ステップが
次に実行される。
第3C図は、本発明のデータ圧縮方法をさらに示してい
る。ラスタ行がタスク行単位およびバイト・グループ単
位で圧縮されたが、いずれの圧縮も充分な圧縮に至らな
かった場合は、ブロック86に進んで圧縮度最大のデー
タを採用する。この圧縮度最大データは、ラスタ行圧縮
データか、バイト・グループ圧縮データか、あるいは圧
縮されていないデータのいずれかである。
る。ラスタ行がタスク行単位およびバイト・グループ単
位で圧縮されたが、いずれの圧縮も充分な圧縮に至らな
かった場合は、ブロック86に進んで圧縮度最大のデー
タを採用する。この圧縮度最大データは、ラスタ行圧縮
データか、バイト・グループ圧縮データか、あるいは圧
縮されていないデータのいずれかである。
いずれのデータが使用されても、このデータはステップ
88においてタスク・プロセッサに移送される。この方
法は次に、ステップ90において、データ圧縮が完了し
たか否かを判断する。完了した場合は、ブロック92に
示されているように、タスクが終結する。圧縮が完了し
ていない場合は、この方法は第3B図の56における表
示“A”に戻ってそこから続(諸ステップへ進む。
88においてタスク・プロセッサに移送される。この方
法は次に、ステップ90において、データ圧縮が完了し
たか否かを判断する。完了した場合は、ブロック92に
示されているように、タスクが終結する。圧縮が完了し
ていない場合は、この方法は第3B図の56における表
示“A”に戻ってそこから続(諸ステップへ進む。
[発明の効果コ
このラスタ行データ圧縮方法および再選択データ圧縮方
法は、タスク行単位でグラフィック・イメージを表現す
るすべてのデータに適用可能である。ラスタ行同志を比
較することによるデータの圧縮は、ラスタ行からラスタ
行に、すなわち“′垂直“方向に反復するデータに関し
て高圧縮比をもたらす。バイト・グループ・データ圧縮
は、単一のタスク行内で、すなわち“水平”方向に反復
するデータに対して高圧縮比をもたらす。
法は、タスク行単位でグラフィック・イメージを表現す
るすべてのデータに適用可能である。ラスタ行同志を比
較することによるデータの圧縮は、ラスタ行からラスタ
行に、すなわち“′垂直“方向に反復するデータに関し
て高圧縮比をもたらす。バイト・グループ・データ圧縮
は、単一のタスク行内で、すなわち“水平”方向に反復
するデータに対して高圧縮比をもたらす。
選択可能データ圧縮方法は、どの圧縮方法が充分な結果
をもたらすかに基づいて、タスク行単位とバイト・グル
ープ単位のいずれかでデータの圧縮ができるよう、峠す
る。上述のような選択的圧縮方法は、グラフィック・イ
メージが水平方向または垂直方向にしばしば反復するが
必ずしも同時に両方向に反復しないので、他のデータ圧
縮方法に比較して勝れた性能をもたらすものである。
をもたらすかに基づいて、タスク行単位とバイト・グル
ープ単位のいずれかでデータの圧縮ができるよう、峠す
る。上述のような選択的圧縮方法は、グラフィック・イ
メージが水平方向または垂直方向にしばしば反復するが
必ずしも同時に両方向に反復しないので、他のデータ圧
縮方法に比較して勝れた性能をもたらすものである。
本発明の好適実施例をここに説明したが、当然ながら本
発明の精神に悸ることなく諸変更等が実施可能である。
発明の精神に悸ることなく諸変更等が実施可能である。
第1図および第3八図ないし第3C図は本発明の実施例
の方法を説明する図、 第2図は第3A図ないし第3C図の接続関係を説明する
図である。
の方法を説明する図、 第2図は第3A図ないし第3C図の接続関係を説明する
図である。
Claims (7)
- (1)下記のステップ(a)ないし(c)を設けてなる
データ圧縮方法: (a)第1のラスタ行データをそれに隣接する第2のラ
スタ行データと比較し、 (b)前記第1のラスタ行データから前記第2のラスタ
行データへの変化分を相対オフ セットと置換バイトとして表現し、 (c)前記ステップ(a)および(b)を以降の隣接す
るラスタ行データについて繰り 返す。 - (2)下記のステップ(d)および(e)を更に設けた
ことを特徴とする請求項1記載のデータ圧縮方法: (d)前記第1のラスタ行データ中のバイトのうちで前
記第2のラスタ行データで変化 がなかったものは複製し、 (e)前記第2のラスタ行データを、前記相対オフセッ
トと前記置換バイトと前記複製 されたバイトを用いて表現する。 - (3)バイト・グループ・データがラスタ行単位で配列
されたデータの圧縮方法において、下記のステップ(a
)ないし(c)を設けたことを特徴とするデータ圧縮方
法: (a)前記ラスタ行のデータをラスタ行単位あるいはバ
イト・グループ単位のいずれか で選択的に比較し、 (b)前記選択された単位を用いた比較を行って、隣接
する前記ラスタ行あるいは前記 バイト・グループ間の変化分をまとめるこ とにより、前記比較されたラスタ行あるい はバイト・グループの第1の圧縮表現を形 成し、 (c)前記第1の圧縮表現が充分な圧縮を与えているか
否かを判定し、 (d)ステップ(c)の判定が肯定的ならば、前記第1
の圧縮表現を採用し、 (e)ステップ(c)の判定が否定的ならば、ステップ
(a)での選択とは異なる単位を 用いて比較を行って、隣接する前記バイト ・グループあるいは前記ラスタ行間の変化 分をまとめることにより、前記比較された バイト・グループあるいはラスタ行の第2 の圧縮表現を形成し、 (f)前記第2の圧縮表現が充分な圧縮を与えているか
否かを判定し、 (g)ステップ(f)の判定が肯定的ならば、前記第2
の圧縮表現を採用し、 (h)ステップ(f)の判定が否定的ならば、前記第1
の圧縮表現と前記第2の圧縮表現 と圧縮を行っていないデータの間で最も大 きな圧縮を与えるものを採用し、 (i)前記ステップ(a)ないし(h)を後続のラスタ
行について繰り返す。 - (4)前記ステップ(a)は、バイト・グループ単位で
前記比較を行う場合、下記のステップ(a−1)および
(a−2)を含むことを特徴とする請求項3記載のデー
タ圧縮方法: (a−1)ラスタ行中の所定数のバイトを同一ラスタ行
中の前記所定数のバイトに隣接 する所定数のバイトと比較し、 (a−2)ステップ(a−1)を当該ラスタ行を構成す
る全バイトを比較し終わるまで 繰り返す。 - (5)ステップ(a)で選択する単位は前回の繰り返し
中で採用された圧縮表現を得るために用いられた単位と
同じであることを特徴とする請求項3記載のデータ圧縮
方法。 - (6)最初のラスタ行についてはステップ(a)におけ
る前記選択はラスタ行単位とすることを特徴とする請求
項3記載のデータ圧縮方法。 - (7)前記比較がラスタ行単位で行われた場合には、第
2の前記ラスタ行中で第1の前記ラスタ行から変化して
いたバイトは相対オフセットおよび置換バイトで表し、
前記相対オフセットおよび前記置換バイトを前記第2の
ラスタ行の圧縮表現を構成するようにまとめることを特
徴とする請求項3記載のデータ圧縮方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US299,363 | 1989-01-19 | ||
| US07/299,363 US5060286A (en) | 1989-01-19 | 1989-01-19 | Raster row and byte group graphics images data compression method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02228879A true JPH02228879A (ja) | 1990-09-11 |
| JP2807017B2 JP2807017B2 (ja) | 1998-09-30 |
Family
ID=23154461
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010461A Expired - Fee Related JP2807017B2 (ja) | 1989-01-19 | 1990-01-19 | データ圧縮方法 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US5060286A (ja) |
| EP (1) | EP0378762B1 (ja) |
| JP (1) | JP2807017B2 (ja) |
| KR (1) | KR0147355B1 (ja) |
| CN (1) | CN1022012C (ja) |
| CA (1) | CA1317022C (ja) |
| DE (1) | DE68919669T2 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2063495C (en) | 1991-10-03 | 1999-03-30 | John O. G. Vieth | Method and system for compressing data in a multi-channel image processing system |
| US5452405A (en) * | 1993-01-25 | 1995-09-19 | Hewlett-Packard Company | Method and apparatus for delta row decompression |
| US5864716A (en) * | 1994-01-07 | 1999-01-26 | Cirrus Logic, Inc. | Tagged data compression for parallel port interface |
| US5617517A (en) * | 1994-09-20 | 1997-04-01 | Seiko Epson Corporation | Two-dimensional method and system for compressing bi-level images |
| US5649074A (en) * | 1995-01-31 | 1997-07-15 | Hewlett-Packard Company | Raster image data compression method and system |
| JP3302246B2 (ja) * | 1995-03-14 | 2002-07-15 | 株式会社リコー | 符号化装置 |
| US6263106B1 (en) * | 1995-07-04 | 2001-07-17 | Asahi Kogaku Kogyo Kabushiki Kaisha | Image data compression device having compression inhibiting function |
| JPH0970044A (ja) * | 1995-08-31 | 1997-03-11 | Sony Corp | 画像信号処理装置および方法 |
| JP3116989B2 (ja) * | 1995-10-16 | 2000-12-11 | セイコーエプソン株式会社 | 圧縮された2値画像データの復元装置 |
| US5963716A (en) * | 1996-12-02 | 1999-10-05 | Hewlett-Packard Company | Bi-directional data stream decompression |
| US6373583B1 (en) | 1998-11-16 | 2002-04-16 | Hewlett-Packard Company | Compound document page data compression |
| JP2000285069A (ja) | 1999-03-31 | 2000-10-13 | Copyer Co Ltd | 同期式シリアル通信方法及び同期式シリアル通信システム |
| US6972868B1 (en) | 2000-11-09 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Image data compression method |
| US6937276B2 (en) * | 2001-08-22 | 2005-08-30 | Benq Corporation | Digital camera with low memory usage |
| US7373008B2 (en) | 2002-03-28 | 2008-05-13 | Hewlett-Packard Development Company, L.P. | Grayscale and binary image data compression |
| DE10259416A1 (de) * | 2002-12-19 | 2004-07-08 | Krauss-Maffei Kunststofftechnik Gmbh | Verfahren für eine abbildtreue, visuelle Fernbedienung |
| CN100388230C (zh) * | 2005-04-18 | 2008-05-14 | 普立尔科技股份有限公司 | 相机程序的检测与更新方法 |
| US8244051B2 (en) * | 2006-03-15 | 2012-08-14 | Microsoft Corporation | Efficient encoding of alternative graphic sets |
| CN103095964B (zh) * | 2011-10-31 | 2016-03-09 | 北京大学 | 一种页面点阵压缩方法及装置 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0693245B2 (ja) * | 1985-04-20 | 1994-11-16 | 富士写真フイルム株式会社 | フオ−ム情報圧縮方法 |
| US4932066A (en) * | 1985-10-15 | 1990-06-05 | Canon Kabushiki Kaisha | Information signal transmission system |
| JPS6299869A (ja) * | 1985-10-25 | 1987-05-09 | Fuji Photo Film Co Ltd | 情報圧縮方法 |
| US4947448A (en) * | 1985-11-22 | 1990-08-07 | Canon Kabushiki Kaisha | Image information signal transmitting system |
| IL77840A (en) * | 1986-02-10 | 1989-05-15 | Elscint Ltd | Data compression system for digital imaging |
| US4791680A (en) * | 1986-03-25 | 1988-12-13 | Matsushita Electric Industrial Co. | Image data converter |
| DE3613343A1 (de) * | 1986-04-19 | 1987-10-22 | Philips Patentverwaltung | Hybrid-codierer |
| DE3715501A1 (de) * | 1986-09-02 | 1988-03-10 | Agfa Gevaert Ag | Verfahren zur ueberwachung der verfilmung von vorlagen in einer mikrofilmkamera sowie mikrofilmkamera zur durchfuehrung des verfahrens |
-
1989
- 1989-01-19 US US07/299,363 patent/US5060286A/en not_active Expired - Fee Related
- 1989-09-25 CA CA000612734A patent/CA1317022C/en not_active Expired - Fee Related
- 1989-10-23 DE DE68919669T patent/DE68919669T2/de not_active Expired - Fee Related
- 1989-10-23 EP EP89119617A patent/EP0378762B1/en not_active Expired - Lifetime
- 1989-12-11 CN CN89109339A patent/CN1022012C/zh not_active Expired - Fee Related
-
1990
- 1990-01-18 KR KR1019900000584A patent/KR0147355B1/ko not_active Expired - Fee Related
- 1990-01-19 JP JP2010461A patent/JP2807017B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0378762A3 (en) | 1992-01-29 |
| DE68919669T2 (de) | 1995-06-22 |
| JP2807017B2 (ja) | 1998-09-30 |
| US5060286A (en) | 1991-10-22 |
| KR0147355B1 (ko) | 1998-09-15 |
| CN1044353A (zh) | 1990-08-01 |
| EP0378762A2 (en) | 1990-07-25 |
| DE68919669D1 (de) | 1995-01-12 |
| EP0378762B1 (en) | 1994-11-30 |
| KR900012170A (ko) | 1990-08-03 |
| CA1317022C (en) | 1993-04-27 |
| CN1022012C (zh) | 1993-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02228879A (ja) | データ圧縮方法 | |
| US4992954A (en) | Method of storing character patterns and character pattern utilization system | |
| EP0703580A2 (en) | Information reproducing device and information recording medium | |
| US6418449B1 (en) | Method of cloning the file system of a window web operating system by using a bitmap file | |
| JP3088397B2 (ja) | デジタルデータ記憶方法および該方法を用いたコンピュータシステム | |
| US20090083267A1 (en) | Method and System for Compressing Data | |
| US6125468A (en) | High-speed data recording method for digital versatile disk-random access memory | |
| JP3000800B2 (ja) | ドットマトリックス型プリンタ | |
| JP2573438B2 (ja) | パターン識別方法および装置 | |
| JP3031391B2 (ja) | プリンタ | |
| JPH08223428A (ja) | 画像データ圧縮装置および画像データ伸長装置 | |
| JPH07282242A (ja) | 文字フォント圧縮装置及び圧縮方法 | |
| JP4036514B2 (ja) | データ圧縮方法とデータ復元方法およびソートマージ処理装置とソートマージ処理方法およびこれら方法のプログラムを記録した媒体 | |
| JPS6132664A (ja) | 画像デ−タの圧縮方法 | |
| JPS60254963A (ja) | 画像フアイル装置 | |
| GB2357604A (en) | Cloning computer file system using bitmap file | |
| JPS58123159A (ja) | 画像情報の登録方法 | |
| KR20030009992A (ko) | 교환 시스템에서의 패키징 압축 방법 | |
| WO1998014008A1 (en) | Device and method for recording and reproducing video signal | |
| JPH0381882A (ja) | 画像データメモリ格納方式 | |
| JPS61202574A (ja) | 画像デ−タの圧縮および伸張方式 | |
| JPH07109547B2 (ja) | フォントデータの形成方法 | |
| JPH05265819A (ja) | データ圧縮方式 | |
| JPH07160706A (ja) | 圧縮データの出力装置 | |
| JPH02228769A (ja) | 画像記憶装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |