JPH1023272A - ページプリンタにおけるデータ圧縮方法及び伸長方法 - Google Patents
ページプリンタにおけるデータ圧縮方法及び伸長方法Info
- Publication number
- JPH1023272A JPH1023272A JP8172587A JP17258796A JPH1023272A JP H1023272 A JPH1023272 A JP H1023272A JP 8172587 A JP8172587 A JP 8172587A JP 17258796 A JP17258796 A JP 17258796A JP H1023272 A JPH1023272 A JP H1023272A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image data
- compression
- bits
- code
- 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.)
- Pending
Links
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Record Information Processing For Printing (AREA)
Abstract
(57)【要約】
【課題】 ページプリンタのメモリ容量を節減し、低価
格化と高解像度化を可能にすると共に、イメージデータ
の圧縮処理及び圧縮コードの伸長処理の高速化を図る。 【解決手段】 予め、基準長となる所定ビット数のイメ
ージデータの全種類に対して、その各値をアドレスとし
て、所定のコードテーブルに基づいて各イメージデータ
を符号化したレコードデータを格納した符号化ルックア
ップテーブルと、所定ビット数のレコードデータ(圧縮
コード)の全種類に対して、その各値をアドレスとし
て、上記コードテーブルに基づいて各レコードデータを
復号化したイメージデータを格納した復号化ルックアッ
プテーブルとを作成しておく。そして、イメージデータ
に対して所定ビット数毎にその値に対応する符号化テー
ブルを参照して符号化し、圧縮コードに対しても所定ビ
ット数毎にその値に対応する復号化テーブルを参照して
復号化する。
格化と高解像度化を可能にすると共に、イメージデータ
の圧縮処理及び圧縮コードの伸長処理の高速化を図る。 【解決手段】 予め、基準長となる所定ビット数のイメ
ージデータの全種類に対して、その各値をアドレスとし
て、所定のコードテーブルに基づいて各イメージデータ
を符号化したレコードデータを格納した符号化ルックア
ップテーブルと、所定ビット数のレコードデータ(圧縮
コード)の全種類に対して、その各値をアドレスとし
て、上記コードテーブルに基づいて各レコードデータを
復号化したイメージデータを格納した復号化ルックアッ
プテーブルとを作成しておく。そして、イメージデータ
に対して所定ビット数毎にその値に対応する符号化テー
ブルを参照して符号化し、圧縮コードに対しても所定ビ
ット数毎にその値に対応する復号化テーブルを参照して
復号化する。
Description
【0001】
【発明の属する技術分野】この発明は、白黒およびカラ
ーのレーザプリンタ,LEDプリンタ等のページプリン
タ(デジタル複写機のプリンタ部も含む)におけるデー
タ圧縮方法及びデータ伸長方法に関する。
ーのレーザプリンタ,LEDプリンタ等のページプリン
タ(デジタル複写機のプリンタ部も含む)におけるデー
タ圧縮方法及びデータ伸長方法に関する。
【0002】
【従来の技術】近年、レーザプリンタ等のページプリン
タの解像度は益々高くなり、最近では600DPIが主
流になっている。今後は800DPIや1200DPI
のプリンタが出現するであろうし、マルチ・リゾリュー
ション・プリンタ、すなわちエミュレーションに応じて
エンジンの解像度が変化するプリンタも増えてくるであ
ろう。
タの解像度は益々高くなり、最近では600DPIが主
流になっている。今後は800DPIや1200DPI
のプリンタが出現するであろうし、マルチ・リゾリュー
ション・プリンタ、すなわちエミュレーションに応じて
エンジンの解像度が変化するプリンタも増えてくるであ
ろう。
【0003】しかし、ページプリンタ内の1ページ分の
ビットマップデータを展開するフレームバッファのメモ
リ容量は、A4,600DPIで約4MB、A3,60
0DPIでは約8MBになる。このようなフレームバッ
ファのメモリ容量の増加は、製品価格に大きな影響を与
える。一方、ページプリンタの価格は逆に低価格へと推
移しているため、高解像度化に伴う価格上昇をなんらか
の手段で抑えなければならない。
ビットマップデータを展開するフレームバッファのメモ
リ容量は、A4,600DPIで約4MB、A3,60
0DPIでは約8MBになる。このようなフレームバッ
ファのメモリ容量の増加は、製品価格に大きな影響を与
える。一方、ページプリンタの価格は逆に低価格へと推
移しているため、高解像度化に伴う価格上昇をなんらか
の手段で抑えなければならない。
【0004】そのための2値画像データの可逆圧縮技術
には、ファクシミリ等で用いられるMH(ハフマン符号
化方式:一次元圧縮法によるG3ファクシミリの標準符
号化方式),MR(二次元圧縮法によるG3ファクシミ
リではオプションの符号化方式),MMR(MR符号化
方式の変形で、G4ファクシミリの標準符号化方式)
や、コンピュータで扱うテキストファイルやバイナリフ
ァイルに用いられる、例えばLZ方式の圧縮等がある。
また、最近では国際標準である算術符号化を用いたJB
IG方式もある。
には、ファクシミリ等で用いられるMH(ハフマン符号
化方式:一次元圧縮法によるG3ファクシミリの標準符
号化方式),MR(二次元圧縮法によるG3ファクシミ
リではオプションの符号化方式),MMR(MR符号化
方式の変形で、G4ファクシミリの標準符号化方式)
や、コンピュータで扱うテキストファイルやバイナリフ
ァイルに用いられる、例えばLZ方式の圧縮等がある。
また、最近では国際標準である算術符号化を用いたJB
IG方式もある。
【0005】
【発明が解決しようとする課題】しかしながら、これら
の2値画像データ圧縮技術は、画像あるいはファイルの
先頭から順番に逐次符号化処理を行なうので、所望の任
意ブロックだけをリアルタイムに復元することはできな
い。
の2値画像データ圧縮技術は、画像あるいはファイルの
先頭から順番に逐次符号化処理を行なうので、所望の任
意ブロックだけをリアルタイムに復元することはできな
い。
【0006】ページプリンタでは、印刷すべき文書情報
がコンピュータのCRT上で実際に作成された順番にく
るため、ある大きさのブロック単位で圧縮処理を施さな
ければならない。従って、上記圧縮技術をそのまま使用
することはできない。また、2値画像データの固定長可
逆圧縮技術は世の中に存在しない。従って、対象とする
画像データによっては、所望の容量に圧縮できない場合
がある。
がコンピュータのCRT上で実際に作成された順番にく
るため、ある大きさのブロック単位で圧縮処理を施さな
ければならない。従って、上記圧縮技術をそのまま使用
することはできない。また、2値画像データの固定長可
逆圧縮技術は世の中に存在しない。従って、対象とする
画像データによっては、所望の容量に圧縮できない場合
がある。
【0007】そこで、本発明者等は先に、ページプリン
タにおいて印刷すべき文書データを所定の解像度にラス
タライズし、そのラスタライズされたデータに対して所
定の大きさのユニット(複数のブロックによって構成さ
れる)単位で可変長可逆圧縮処理を施し、1ユニットが
全て白データの場合の特定コードを含む圧縮コードを圧
縮メモリに格納し、該圧縮メモリへの1ページ分あるい
はそれを複数に分割したデータの圧縮コードの格納が完
了した後、その圧縮コードを伸長してプリンタエンジン
にビデオ信号を出力する画像データの圧縮・伸長方法を
発明した。
タにおいて印刷すべき文書データを所定の解像度にラス
タライズし、そのラスタライズされたデータに対して所
定の大きさのユニット(複数のブロックによって構成さ
れる)単位で可変長可逆圧縮処理を施し、1ユニットが
全て白データの場合の特定コードを含む圧縮コードを圧
縮メモリに格納し、該圧縮メモリへの1ページ分あるい
はそれを複数に分割したデータの圧縮コードの格納が完
了した後、その圧縮コードを伸長してプリンタエンジン
にビデオ信号を出力する画像データの圧縮・伸長方法を
発明した。
【0008】上記の発明によれば、ページプリンタのメ
モリ容量を節減でき、低価格化と高解像度化を共に可能
にすることができる。しかし、その場合でも、ラスタラ
イズされたイメージデータを圧縮コードへ符号化する際
に、ラスタライズされたデータを1ビットずつ“0”か
“1”かを判別してその連続するビット数をカウントし
ていたため、nビットの符号化にはn回の処理が必要で
あった。したがって、この方式ではバスアクセスの回数
が多く、圧縮符号化処理の速度を速めることが困難であ
った。また、圧縮コードを伸張処理する際にも、mビッ
トの符号化されたデータを1ビットずつ処理するため、
やはり処理速度を速めることが困難であった。
モリ容量を節減でき、低価格化と高解像度化を共に可能
にすることができる。しかし、その場合でも、ラスタラ
イズされたイメージデータを圧縮コードへ符号化する際
に、ラスタライズされたデータを1ビットずつ“0”か
“1”かを判別してその連続するビット数をカウントし
ていたため、nビットの符号化にはn回の処理が必要で
あった。したがって、この方式ではバスアクセスの回数
が多く、圧縮符号化処理の速度を速めることが困難であ
った。また、圧縮コードを伸張処理する際にも、mビッ
トの符号化されたデータを1ビットずつ処理するため、
やはり処理速度を速めることが困難であった。
【0009】この発明はこの点を改善するためになされ
たものであり、ページプリンタにおけるフレームバッフ
ァのメモリ容量を削減し、低価格な高解像度ページプリ
ンタを提供できるようにするとともに、ラスタライズさ
れたイメージデータをを圧縮コードに符号化する処理、
及びその圧縮コードを元のイメージデータに復元する伸
長処理の高速化を図ることを目的とする。
たものであり、ページプリンタにおけるフレームバッフ
ァのメモリ容量を削減し、低価格な高解像度ページプリ
ンタを提供できるようにするとともに、ラスタライズさ
れたイメージデータをを圧縮コードに符号化する処理、
及びその圧縮コードを元のイメージデータに復元する伸
長処理の高速化を図ることを目的とする。
【0010】
【課題を解決するための手段】この発明によるデータ圧
縮方法は、ページプリンタにおいて、印刷すべき文書デ
ータを所定の解像度にラスタライズし、そのラスタライ
ズされたイメージデータに対して所定の大きさのブロッ
ク単位で可変長可逆圧縮処理を施し、その圧縮コードを
圧縮メモリに格納するデータ圧縮方法であって、上記の
目的を達成するため、予め、符号化ルックアップテーブ
ルを参照する基準長となる所定ビット数のイメージデー
タの白ドットと黒ドットの全ての組み合わせに対して、
各組み合わせの値をアドレスとして、所定のコードテー
ブルに基づいて各イメージデータを圧縮できる部分まで
圧縮したレコードデータを格納した符号化ルックアップ
テーブルを作成しておく。
縮方法は、ページプリンタにおいて、印刷すべき文書デ
ータを所定の解像度にラスタライズし、そのラスタライ
ズされたイメージデータに対して所定の大きさのブロッ
ク単位で可変長可逆圧縮処理を施し、その圧縮コードを
圧縮メモリに格納するデータ圧縮方法であって、上記の
目的を達成するため、予め、符号化ルックアップテーブ
ルを参照する基準長となる所定ビット数のイメージデー
タの白ドットと黒ドットの全ての組み合わせに対して、
各組み合わせの値をアドレスとして、所定のコードテー
ブルに基づいて各イメージデータを圧縮できる部分まで
圧縮したレコードデータを格納した符号化ルックアップ
テーブルを作成しておく。
【0011】そして、上記ブロック単位のイメージデー
タに対して、先頭から上記所定ビット数のデータについ
て、その白ドットと黒ドットの組み合わせによる値で上
記符号化ルックアップテーブルを参照し、そこに格納さ
れているレコードデータを圧縮コードの一部として圧縮
メモリに格納し、その後、圧縮できなかった残りのイメ
ージデータの初めから再び上記所定ビット数のデータに
ついて、その白ドットと黒ドットの組み合わせによる値
で上記符号化ルックアップテーブルを参照し、そこに格
納されているレコードデータを圧縮コードの続きの部分
として上記圧縮メモリに格納することを、上記ブロック
単位のイメージデータの終わりまで繰り返すことを特徴
とする。
タに対して、先頭から上記所定ビット数のデータについ
て、その白ドットと黒ドットの組み合わせによる値で上
記符号化ルックアップテーブルを参照し、そこに格納さ
れているレコードデータを圧縮コードの一部として圧縮
メモリに格納し、その後、圧縮できなかった残りのイメ
ージデータの初めから再び上記所定ビット数のデータに
ついて、その白ドットと黒ドットの組み合わせによる値
で上記符号化ルックアップテーブルを参照し、そこに格
納されているレコードデータを圧縮コードの続きの部分
として上記圧縮メモリに格納することを、上記ブロック
単位のイメージデータの終わりまで繰り返すことを特徴
とする。
【0012】このようにすれば、ラスタライズされたデ
ータを圧縮コードに符号化する際に、1ビット毎の処理
ではなく、基準長となる所定ビット数ずつまとめて符号
化できるので、符号化処理の高速化を計れる。その符号
化ルックアップテーブルを参照する基準長となる所定ビ
ット数を可変にすることができ、この所定ビット数を大
きくすることによって、さらに高速化を計れる。
ータを圧縮コードに符号化する際に、1ビット毎の処理
ではなく、基準長となる所定ビット数ずつまとめて符号
化できるので、符号化処理の高速化を計れる。その符号
化ルックアップテーブルを参照する基準長となる所定ビ
ット数を可変にすることができ、この所定ビット数を大
きくすることによって、さらに高速化を計れる。
【0013】さらに、圧縮メモリ及び非圧縮メモリとし
て使用できるメモリの記憶容量を判別し、その判別した
記憶容量に応じて基準長となる所定ビット数を決定する
ようにすれば、システムの記憶容量に応じて、最適な基
準長のビット数の符号化ルックアップテーブルを作成す
ることができ、記憶容量に応じた最大限の処理速度を実
現できる。
て使用できるメモリの記憶容量を判別し、その判別した
記憶容量に応じて基準長となる所定ビット数を決定する
ようにすれば、システムの記憶容量に応じて、最適な基
準長のビット数の符号化ルックアップテーブルを作成す
ることができ、記憶容量に応じた最大限の処理速度を実
現できる。
【0014】また、印刷すべき文書データのイメージ,
文字,線画,グラフィックス等の種類に応じて、使用す
るコードテーブルを選択的に切り替えて符号化ルックア
ップテーブルを作成するようにすれば、文書の種類に応
じて最適なコードテーブルを選択して、圧縮効率を最高
にできる符号化ルックアップテーブルを作成できる。
文字,線画,グラフィックス等の種類に応じて、使用す
るコードテーブルを選択的に切り替えて符号化ルックア
ップテーブルを作成するようにすれば、文書の種類に応
じて最適なコードテーブルを選択して、圧縮効率を最高
にできる符号化ルックアップテーブルを作成できる。
【0015】一方、この発明によるデータ伸長方法は、
ページプリンタにおいて、ラスタライズされたイメージ
データに対して所定の大きさのブロック単位で可変長可
逆圧縮処理を施して圧縮メモリに格納された圧縮コード
を伸長して元のイメージデータに復元するデータ伸長方
法であって、上記の目的を達成するため、予め、復号化
ルックアップテーブルを参照する基準長となる所定ビッ
ト数の圧縮コードの全ての異なる値をそれぞれアドレス
として、所定のコードテーブルに基づいて各圧縮コード
をそれぞれ復元できる部分まで復元したイメージデータ
を格納した復号化ルックアップテーブルを作成してお
く。
ページプリンタにおいて、ラスタライズされたイメージ
データに対して所定の大きさのブロック単位で可変長可
逆圧縮処理を施して圧縮メモリに格納された圧縮コード
を伸長して元のイメージデータに復元するデータ伸長方
法であって、上記の目的を達成するため、予め、復号化
ルックアップテーブルを参照する基準長となる所定ビッ
ト数の圧縮コードの全ての異なる値をそれぞれアドレス
として、所定のコードテーブルに基づいて各圧縮コード
をそれぞれ復元できる部分まで復元したイメージデータ
を格納した復号化ルックアップテーブルを作成してお
く。
【0016】そして、圧縮メモリに格納されている上記
ブロック単位のイメージデータが圧縮された圧縮コード
に対して、先頭から上記所定ビット数の圧縮コードにつ
いて、その値で上記復号化ルックアップテーブルを参照
し、そこに格納されているイメージデータを復元するイ
メージデータの一部として送出し、その後、復元できな
かった残りの圧縮コードの初めから再び上記所定ビット
数の圧縮コードについて、その値で上記復号化ルックア
ップテーブルを参照し、そこに格納されているイメージ
データを復元するイメージデータの続きの部分として送
出することを、上記ブロック単位の圧縮コードの終わり
まで繰り返すことを特徴とする。
ブロック単位のイメージデータが圧縮された圧縮コード
に対して、先頭から上記所定ビット数の圧縮コードにつ
いて、その値で上記復号化ルックアップテーブルを参照
し、そこに格納されているイメージデータを復元するイ
メージデータの一部として送出し、その後、復元できな
かった残りの圧縮コードの初めから再び上記所定ビット
数の圧縮コードについて、その値で上記復号化ルックア
ップテーブルを参照し、そこに格納されているイメージ
データを復元するイメージデータの続きの部分として送
出することを、上記ブロック単位の圧縮コードの終わり
まで繰り返すことを特徴とする。
【0017】このようにすれば、符号化された圧縮コー
ドを復元化する際に、圧縮コードを1ビット毎に処理す
るのではなく、基準長となる所定ビット数ずつまとめて
復元化できるので、復元化処理の高速化を計れる。この
場合にも、復元化ルックアップテーブルを参照する基準
長となる所定ビット数を可変にすることができ、この所
定ビット数を大きくすることによって、さらに高速化を
計れる。
ドを復元化する際に、圧縮コードを1ビット毎に処理す
るのではなく、基準長となる所定ビット数ずつまとめて
復元化できるので、復元化処理の高速化を計れる。この
場合にも、復元化ルックアップテーブルを参照する基準
長となる所定ビット数を可変にすることができ、この所
定ビット数を大きくすることによって、さらに高速化を
計れる。
【0018】さらに、圧縮メモリや非圧縮メモリ及びル
ックアップテーブルの記憶用として使用できるメモリの
記憶容量(システムのデータ記憶容量)を判別し、その判
別した記憶容量に応じて基準長となる所定ビット数を決
定するようにすれば、データ記憶容量に応じて最適な基
準長のビット数の復号化ルックアップテーブルを作成す
ることができ、データ記憶容量に応じた最大限の処理速
度を実現できる。
ックアップテーブルの記憶用として使用できるメモリの
記憶容量(システムのデータ記憶容量)を判別し、その判
別した記憶容量に応じて基準長となる所定ビット数を決
定するようにすれば、データ記憶容量に応じて最適な基
準長のビット数の復号化ルックアップテーブルを作成す
ることができ、データ記憶容量に応じた最大限の処理速
度を実現できる。
【0019】また、印刷すべき文書データのイメージ,
文字,線画,グラフィックス等の種類に応じて、使用す
るコードテーブルを選択的に切り替えて復号化ルックア
ップテーブルを作成するようにすれば、文書の種類に応
じて最適なコードテーブルを選択して、圧縮効率を最高
にできる復号化ルックアップテーブルを作成できる。
文字,線画,グラフィックス等の種類に応じて、使用す
るコードテーブルを選択的に切り替えて復号化ルックア
ップテーブルを作成するようにすれば、文書の種類に応
じて最適なコードテーブルを選択して、圧縮効率を最高
にできる復号化ルックアップテーブルを作成できる。
【0020】
【発明の実施の形態】以下、この発明の実施の形態を図
面に基づいて具体的に説明する。図7はこの発明による
ページプリンタを用いた画像形成システムの構成例を示
す図であり、100はパーソナルコンピュータ、200
がページプリンタである。通常、ユーザはパーソナルコ
ンピュータ100のCRT画面とキーボードとDTP
(デスクトップ・パブリッシング)アプリケーションを
使って文書を作成し、その文書データをプリンタドライ
バ101を通してページプリンタ200に転送して印刷
を行なう。
面に基づいて具体的に説明する。図7はこの発明による
ページプリンタを用いた画像形成システムの構成例を示
す図であり、100はパーソナルコンピュータ、200
がページプリンタである。通常、ユーザはパーソナルコ
ンピュータ100のCRT画面とキーボードとDTP
(デスクトップ・パブリッシング)アプリケーションを
使って文書を作成し、その文書データをプリンタドライ
バ101を通してページプリンタ200に転送して印刷
を行なう。
【0021】プリンタドライバ101は、通常印刷すべ
き文書内容をページプリンタ200がサポートするプリ
ンタ言語、例えばヒューレット・パッカード(HP)社
のPCLやAdobe社のポストスクリプト言語等にコ
ンバートする。前者に接続されたプリンタを一般にPC
Lエミュレーション・プリンタ、後者に接続されたプリ
ンタをポストスクリプト・プリンタと呼ぶ。また、パー
ソナルコンピュータ100側で全てラスタライズされた
ビットイメージを印刷するだけのダムプリンタと呼ばれ
るプリンタもある。
き文書内容をページプリンタ200がサポートするプリ
ンタ言語、例えばヒューレット・パッカード(HP)社
のPCLやAdobe社のポストスクリプト言語等にコ
ンバートする。前者に接続されたプリンタを一般にPC
Lエミュレーション・プリンタ、後者に接続されたプリ
ンタをポストスクリプト・プリンタと呼ぶ。また、パー
ソナルコンピュータ100側で全てラスタライズされた
ビットイメージを印刷するだけのダムプリンタと呼ばれ
るプリンタもある。
【0022】ページプリンタ200としては、レーザプ
リンタやインクジェットプリンタ、あるいはサーマルプ
リンタ等があるが、高速印刷という点でレーザプリンタ
が勝る。最近はカラーのレーザプリンタも市場に出始め
ており、それを使用することも可能である。また、解像
度は年々高まる一方で、現在は600DPIが標準とな
っている。以下の実施例では、ページプリンタ200を
600DPIの白黒ポストスクリプト・レーザプリンタ
(以下単に「ページプリンタ」と称する)として説明す
るが、この発明はそれに限定されるものではない。
リンタやインクジェットプリンタ、あるいはサーマルプ
リンタ等があるが、高速印刷という点でレーザプリンタ
が勝る。最近はカラーのレーザプリンタも市場に出始め
ており、それを使用することも可能である。また、解像
度は年々高まる一方で、現在は600DPIが標準とな
っている。以下の実施例では、ページプリンタ200を
600DPIの白黒ポストスクリプト・レーザプリンタ
(以下単に「ページプリンタ」と称する)として説明す
るが、この発明はそれに限定されるものではない。
【0023】図8はそのページプリンタの外観図であ
り、図9はその内部機構の概略を示す縦断面図である。
このページプリンタ200は、給紙トレイ2を着脱可能
に備え、上部に第1排紙スタッカ3を設け、後部に第2
排紙スタッカ4を設けている。2個の排紙スタッカ3,
4への排紙は切換爪5によって切換え可能である。通常
は、排紙スタッカとして第1排紙スタッカ3が選択され
るが、封筒や葉書などのカールし易い紙を使用する場合
など、特別な場合に第2排紙スタッカ4が選択される。
り、図9はその内部機構の概略を示す縦断面図である。
このページプリンタ200は、給紙トレイ2を着脱可能
に備え、上部に第1排紙スタッカ3を設け、後部に第2
排紙スタッカ4を設けている。2個の排紙スタッカ3,
4への排紙は切換爪5によって切換え可能である。通常
は、排紙スタッカとして第1排紙スタッカ3が選択され
るが、封筒や葉書などのカールし易い紙を使用する場合
など、特別な場合に第2排紙スタッカ4が選択される。
【0024】さらに、内部にはプリンタエンジンの作像
部を構成する感光体ドラム10,帯電部11,光書込部
12,現像部13,転写部14,定着部15と、給紙ロ
ーラ16及びレジストローラ対17等による給紙部と、
搬送ローラとペーパガイド板等からなる排紙用搬送部1
8と、このページプリンタ全体を制御するプリンタコン
トローラを構成するコントローラ基板19及びプリンタ
エンジンのシーケンスコントローラを構成するエンジン
ドライバ基板20等が設けられている。
部を構成する感光体ドラム10,帯電部11,光書込部
12,現像部13,転写部14,定着部15と、給紙ロ
ーラ16及びレジストローラ対17等による給紙部と、
搬送ローラとペーパガイド板等からなる排紙用搬送部1
8と、このページプリンタ全体を制御するプリンタコン
トローラを構成するコントローラ基板19及びプリンタ
エンジンのシーケンスコントローラを構成するエンジン
ドライバ基板20等が設けられている。
【0025】そして、プリンタエンジンのシーケンスコ
ントローラによりプリントシーケンスが開始されると、
給紙ローラ16によって給紙トレイ2から給紙を始め、
その用紙の先端をレジストローラ対17に突き当てた状
態で一時停止させる。一方、感光体ドラム10は、図9
の矢印A方向へ回転し、帯電部11で一様に帯電された
表面に、光書込部12によってプリンタコントローラか
らの画像データに応じて変調されたレーザビームが、ド
ラム軸方向に主走査しながら照射してて露光され、表面
に静電潜像が形成される。
ントローラによりプリントシーケンスが開始されると、
給紙ローラ16によって給紙トレイ2から給紙を始め、
その用紙の先端をレジストローラ対17に突き当てた状
態で一時停止させる。一方、感光体ドラム10は、図9
の矢印A方向へ回転し、帯電部11で一様に帯電された
表面に、光書込部12によってプリンタコントローラか
らの画像データに応じて変調されたレーザビームが、ド
ラム軸方向に主走査しながら照射してて露光され、表面
に静電潜像が形成される。
【0026】それを現像部13でトナーによって現像
し、レジストローラ対17によって所定のタイミングで
給送される用紙に転写部14において転写し、定着部1
5で加熱定着したプリント紙を第2排紙スタッカ4へ送
出するか、排紙用搬送部18を通して上部の第1排紙ス
タッカ3へ搬送する。
し、レジストローラ対17によって所定のタイミングで
給送される用紙に転写部14において転写し、定着部1
5で加熱定着したプリント紙を第2排紙スタッカ4へ送
出するか、排紙用搬送部18を通して上部の第1排紙ス
タッカ3へ搬送する。
【0027】図10はコントローラ基板19の内部ブロ
ック図である。このコントローラ基板19は、CPU2
01,NVRAM203,プログラムROM204,フ
ォントROM205,RAM206,及び4個のインタ
フェース(以下「I/F」と略称する)207,20
9,211,213と、これらを接続するバスライン2
15によって構成されている。
ック図である。このコントローラ基板19は、CPU2
01,NVRAM203,プログラムROM204,フ
ォントROM205,RAM206,及び4個のインタ
フェース(以下「I/F」と略称する)207,20
9,211,213と、これらを接続するバスライン2
15によって構成されている。
【0028】CPU201は、プログラムROM204
に格納されたプログラム、操作パネル210からのモー
ド指示、ホスト装置であるパーソナルコンピュータ(パ
ソコン)100からのコマンド等によって、このコント
ローラ全体を制御する。また、挿着されたICカード2
02から、フォントデータやプログラム等を取り込むこ
ともできる。NVRAM203は、操作パネル210か
らのモード指示の内容などを記憶しておく不揮発性メモ
リである。
に格納されたプログラム、操作パネル210からのモー
ド指示、ホスト装置であるパーソナルコンピュータ(パ
ソコン)100からのコマンド等によって、このコント
ローラ全体を制御する。また、挿着されたICカード2
02から、フォントデータやプログラム等を取り込むこ
ともできる。NVRAM203は、操作パネル210か
らのモード指示の内容などを記憶しておく不揮発性メモ
リである。
【0029】プログラムROM204は、このコントロ
ーラの制御プログラムを格納している読出し専用メモリ
である。フォントROM205は、文字フォントのパタ
ーンデータなどを記憶する。RAM206は、CPU2
01のワークメモリ,入力データのインプットバッフ
ァ,プリントデータのページメモリ(フレームバッフ
ァ),ビデオバッファ,ダウンロードフォント用のメモ
リ等に使用するランダムアクセス・メモリである。
ーラの制御プログラムを格納している読出し専用メモリ
である。フォントROM205は、文字フォントのパタ
ーンデータなどを記憶する。RAM206は、CPU2
01のワークメモリ,入力データのインプットバッフ
ァ,プリントデータのページメモリ(フレームバッフ
ァ),ビデオバッファ,ダウンロードフォント用のメモ
リ等に使用するランダムアクセス・メモリである。
【0030】エンジンI/F207は、実際に印刷を行
なうプリンタエンジン208と接続されて、コマンド及
びステータスや印字データの通信を行なうインタフェー
スである。パネルI/F209は、操作パネル210と
接続されて、コマンド及びステータスの通信を行なうイ
ンタフェースであり、操作パネル210は、使用者に現
在のプリンタの状態を表示して知らせたり、使用者がモ
ード指示を行なったりするパネル装置である。
なうプリンタエンジン208と接続されて、コマンド及
びステータスや印字データの通信を行なうインタフェー
スである。パネルI/F209は、操作パネル210と
接続されて、コマンド及びステータスの通信を行なうイ
ンタフェースであり、操作パネル210は、使用者に現
在のプリンタの状態を表示して知らせたり、使用者がモ
ード指示を行なったりするパネル装置である。
【0031】ホストI/F211は、ホスト装置である
パーソナルコンピュータ100と通信を行なうインタフ
ェースであり、通常はセントロニクスI/FやRS23
2Cを使用する。ディスクI/F213は、ディスク装
置214と通信を行なうためのディスクインタフェース
である。ディスク装置214は、フォントデータやプロ
グラム、あるいは印字データなどの種々のデータを記憶
しておくための外部記憶装置であり、フロッピディスク
装置やハードディスク装置などである。
パーソナルコンピュータ100と通信を行なうインタフ
ェースであり、通常はセントロニクスI/FやRS23
2Cを使用する。ディスクI/F213は、ディスク装
置214と通信を行なうためのディスクインタフェース
である。ディスク装置214は、フォントデータやプロ
グラム、あるいは印字データなどの種々のデータを記憶
しておくための外部記憶装置であり、フロッピディスク
装置やハードディスク装置などである。
【0032】次に、このページプリンタ200によるペ
ージ印刷の動作について説明する。図11は、図10に
示したコントローラ基板19及び600DPIのプリン
タエンジン208による、ページ印刷の処理に係わる部
分の機能構成を示すブロック図である。そのPSインタ
ープリタ21と圧縮部22及び伸長部25は、図10の
CPU201等による機能、圧縮メモリ23と非圧縮メ
モリ24はRAM206のメモリ領域、ビデオ出力部2
7はエンジンI/F207の機能をそれぞれ示してい
る。
ージ印刷の動作について説明する。図11は、図10に
示したコントローラ基板19及び600DPIのプリン
タエンジン208による、ページ印刷の処理に係わる部
分の機能構成を示すブロック図である。そのPSインタ
ープリタ21と圧縮部22及び伸長部25は、図10の
CPU201等による機能、圧縮メモリ23と非圧縮メ
モリ24はRAM206のメモリ領域、ビデオ出力部2
7はエンジンI/F207の機能をそれぞれ示してい
る。
【0033】図12は、このページプリンタにより1ペ
ージ分の印刷を行なう際の動作フロー図である。そこ
で、この図12のフローに沿って、図11を参照しなが
らページ印刷の動作を説明する。図7に示したパーソナ
ルコンピュータ100内のプリンタドライバ101が、
印刷すべき文書データをページ毎にポストスクリプト
(以下、PSと記す)ファイルに変換してページプリン
タ200へ送る。
ージ分の印刷を行なう際の動作フロー図である。そこ
で、この図12のフローに沿って、図11を参照しなが
らページ印刷の動作を説明する。図7に示したパーソナ
ルコンピュータ100内のプリンタドライバ101が、
印刷すべき文書データをページ毎にポストスクリプト
(以下、PSと記す)ファイルに変換してページプリン
タ200へ送る。
【0034】ページプリンタ200がそのPSファイル
を受信すると、図11に示したPSインタープリタ21
が、それをプリンタエンジン208の性能による印刷の
解像度と同じ600DPIの解像度で、ある大きさのブ
ロック単位でラスタライズし、そのラスタライズしたデ
ータに対して、圧縮部22がそのブロック単位で可変長
可逆圧縮処理を試みる。このブロック単位については追
って詳述する。
を受信すると、図11に示したPSインタープリタ21
が、それをプリンタエンジン208の性能による印刷の
解像度と同じ600DPIの解像度で、ある大きさのブ
ロック単位でラスタライズし、そのラスタライズしたデ
ータに対して、圧縮部22がそのブロック単位で可変長
可逆圧縮処理を試みる。このブロック単位については追
って詳述する。
【0035】そして圧縮できれば、その結果の圧縮コー
ドを圧縮メモリ23へストアする。この圧縮メモリ23
は、300DPIで1ページ分に相当する容量を持つペ
ージメモリで、図10に示したRAM206のメモリ領
域を使用する。圧縮できなかったら、ラスタライズされ
た600DPIのデータを非圧縮メモリ24へストアす
る。実際には、この非圧縮メモリ24は圧縮メモリ23
を兼用することができるので、RAM206のメモリ容
量を増加させる必要はない。なお、この圧縮メモリ23
と非圧縮メモリ24を含むページメモリは、その1ペー
ジ分の領域をN個に分割した各領域に、上記圧縮コード
及び非圧縮のデータを順次格納していく。
ドを圧縮メモリ23へストアする。この圧縮メモリ23
は、300DPIで1ページ分に相当する容量を持つペ
ージメモリで、図10に示したRAM206のメモリ領
域を使用する。圧縮できなかったら、ラスタライズされ
た600DPIのデータを非圧縮メモリ24へストアす
る。実際には、この非圧縮メモリ24は圧縮メモリ23
を兼用することができるので、RAM206のメモリ容
量を増加させる必要はない。なお、この圧縮メモリ23
と非圧縮メモリ24を含むページメモリは、その1ペー
ジ分の領域をN個に分割した各領域に、上記圧縮コード
及び非圧縮のデータを順次格納していく。
【0036】1ページ分の処理が終了したら、圧縮画像
の伸長及びビデオ信号出力を行なう。すなわち、圧縮メ
モリ23へストアした圧縮コードをページの左上から順
番に伸長部25で伸長(解凍処理ともいう)し、600
DPIの画像データに復元して、ビデオ出力部27内の
ビデオバッファ(フレームメモリ)にビットマップ展開
する。非圧縮メモリ24にストアした600DPIの非
圧縮画像データは、そのままビデオバッフアの後述する
圧縮データテーブル(CDT)によって指定されたアド
レスに展開する。
の伸長及びビデオ信号出力を行なう。すなわち、圧縮メ
モリ23へストアした圧縮コードをページの左上から順
番に伸長部25で伸長(解凍処理ともいう)し、600
DPIの画像データに復元して、ビデオ出力部27内の
ビデオバッファ(フレームメモリ)にビットマップ展開
する。非圧縮メモリ24にストアした600DPIの非
圧縮画像データは、そのままビデオバッフアの後述する
圧縮データテーブル(CDT)によって指定されたアド
レスに展開する。
【0037】そして、このビデオバッファに展開された
画像データを、ビデオ出力部27がシリアルなビデオ信
号として、プリンタエンジン208へ送出して印刷させ
る。このときのビデオ出力部27内のビデオバッファ
は、図10のRAM206あるいは別のメモリに確保し
た1ページ分のフレームメモリ領域を使用する。その具
体例は後述する。あるいは1ページ分のフレームメモリ
の1/Nの大きさのメモリ領域を使用し、1ページ分の
画像データの展開およびそれによるビデオ信号の出力を
N回に分けて行なうこともできる。
画像データを、ビデオ出力部27がシリアルなビデオ信
号として、プリンタエンジン208へ送出して印刷させ
る。このときのビデオ出力部27内のビデオバッファ
は、図10のRAM206あるいは別のメモリに確保し
た1ページ分のフレームメモリ領域を使用する。その具
体例は後述する。あるいは1ページ分のフレームメモリ
の1/Nの大きさのメモリ領域を使用し、1ページ分の
画像データの展開およびそれによるビデオ信号の出力を
N回に分けて行なうこともできる。
【0038】次に、図11及び図12によって説明した
この発明の前提となるブロック単位の可変長可逆圧縮処
理の詳細について図13乃至図20を参照して説明す
る。PSファイルをラスタライズするデータのブロック
単位を、図13に示すようにtドット(dot) のブロック
ワードBWとする。そして、図13の(a)又は(b)
に示すように、このtドット(dot) のブロックワードB
Wが主走査方向(a)あるいは副走査方向(b)にu個
分連続して1ユニット(unit)を構成している。すなわ
ち、1ユニット(unit)=u*BWである。
この発明の前提となるブロック単位の可変長可逆圧縮処
理の詳細について図13乃至図20を参照して説明す
る。PSファイルをラスタライズするデータのブロック
単位を、図13に示すようにtドット(dot) のブロック
ワードBWとする。そして、図13の(a)又は(b)
に示すように、このtドット(dot) のブロックワードB
Wが主走査方向(a)あるいは副走査方向(b)にu個
分連続して1ユニット(unit)を構成している。すなわ
ち、1ユニット(unit)=u*BWである。
【0039】そして、図10に示したCPU201は、
図11のPSインタープリタ21としての機能によって
PSファイルをラスタライズ(描画)した際、その1ユ
ニットのデータが全て白ドットか否かを調べ、全て白の
場合には圧縮部22を使用せずに直接圧縮メモリ23の
ホワイトマップテーブルWMTをNULL(2xfffffff
f)にする。黒ドットが1つでもあると、そのユニット
を構成する各ブロックワードBW毎に、圧縮部22に圧
縮処理を行なわせる。
図11のPSインタープリタ21としての機能によって
PSファイルをラスタライズ(描画)した際、その1ユ
ニットのデータが全て白ドットか否かを調べ、全て白の
場合には圧縮部22を使用せずに直接圧縮メモリ23の
ホワイトマップテーブルWMTをNULL(2xfffffff
f)にする。黒ドットが1つでもあると、そのユニット
を構成する各ブロックワードBW毎に、圧縮部22に圧
縮処理を行なわせる。
【0040】図14はそのブロックワードBW及びユニ
ットの具体例を示し、PSファイルをラスタライズした
データに対して、64ドット(dot) の白ドット及び/又
は黒ドットからなるブロックワードBWの8(line)分を
1ユニットとする。すなわち、1ユニット(unit)=8
*BW=8*64(dot)とする。
ットの具体例を示し、PSファイルをラスタライズした
データに対して、64ドット(dot) の白ドット及び/又
は黒ドットからなるブロックワードBWの8(line)分を
1ユニットとする。すなわち、1ユニット(unit)=8
*BW=8*64(dot)とする。
【0041】さらに、各ユニットに対して図15に示す
ように、32bit のホワイトマップテーブル(White
Map Table:WMT)を用意する。そして、1ユニッ
トのデータが全て白ドットなら、WMTをNULL(0x
ffffffff)とし、もし、黒ドットが1つ以上存在するな
ら、図16に示す32bitの圧縮データテーブル(Comp
ression Data Table:CDT)の実アドレス(CDT
アドレス)を格納する。
ように、32bit のホワイトマップテーブル(White
Map Table:WMT)を用意する。そして、1ユニッ
トのデータが全て白ドットなら、WMTをNULL(0x
ffffffff)とし、もし、黒ドットが1つ以上存在するな
ら、図16に示す32bitの圧縮データテーブル(Comp
ression Data Table:CDT)の実アドレス(CDT
アドレス)を格納する。
【0042】なお、CDTアドレスが示すレコードの長
さは、図17に示すように8*CDT=8*32ビット
(bit)=32バイト(byte) とする。CDTは1つの
ブロックワードBWに対応し、後述の圧縮方式を試み
て、もし圧縮可能であったら、図16に示す圧縮データ
テーブルCDTのbit29〜bit0に、その圧縮コードを
格納する。また、もし圧縮不可能であったら、bit31
=1とし、bit30〜bit0に非圧縮時のデータ格納メモ
リアドレス(Uucompression Data TableAddress:UD
Tアドレス)を格納する(図18)。
さは、図17に示すように8*CDT=8*32ビット
(bit)=32バイト(byte) とする。CDTは1つの
ブロックワードBWに対応し、後述の圧縮方式を試み
て、もし圧縮可能であったら、図16に示す圧縮データ
テーブルCDTのbit29〜bit0に、その圧縮コードを
格納する。また、もし圧縮不可能であったら、bit31
=1とし、bit30〜bit0に非圧縮時のデータ格納メモ
リアドレス(Uucompression Data TableAddress:UD
Tアドレス)を格納する(図18)。
【0043】今回使用した圧縮方式は、次に示す2ステ
ップからなる。まず始めに、対象となるブロックワード
BWが全部白ドットか、全部黒ドットかを調べる。も
し、そうであったらCDTアドレスをそれぞれ、0x0000
0000 又は 0x7fffffffとする。もし、そうでない場合に
は、先頭ドットが白ドットか黒ドットか(図16に示し
たCDTの bit30にて“0”か“1”で指定)に応じ
て、白ドットあるいは黒ドットのランレングスを、例え
ば図19に示すハフマン・コードで記述する。
ップからなる。まず始めに、対象となるブロックワード
BWが全部白ドットか、全部黒ドットかを調べる。も
し、そうであったらCDTアドレスをそれぞれ、0x0000
0000 又は 0x7fffffffとする。もし、そうでない場合に
は、先頭ドットが白ドットか黒ドットか(図16に示し
たCDTの bit30にて“0”か“1”で指定)に応じ
て、白ドットあるいは黒ドットのランレングスを、例え
ば図19に示すハフマン・コードで記述する。
【0044】例えば、図20の(a)に示す64ドット
のブロックワードBWは、同図(b)に示す圧縮コード
に変換される。なお、最後の白ドット(ランレングス=
10)は、圧縮コードに含まれないが、最後の黒ドット
(ランレングス=19)の後ろは全て白ドットであるこ
とにより復元が可能である。また、CDTの余った領域
には、1を書き込むようにする。
のブロックワードBWは、同図(b)に示す圧縮コード
に変換される。なお、最後の白ドット(ランレングス=
10)は、圧縮コードに含まれないが、最後の黒ドット
(ランレングス=19)の後ろは全て白ドットであるこ
とにより復元が可能である。また、CDTの余った領域
には、1を書き込むようにする。
【0045】したがって、ラスタライズされたデータに
対するこの可変長可逆圧縮処理を、図13に示したtド
ットのブロックワードBWが主走査方向又は副走査方向
にu個並んだユニットを基本単位として行なう場合の処
理は、次の各ステツプによる。印刷すべきデータを1ペ
ージ分ずつラスタライズするために必要なページバッフ
ァを上記ユニット単位に分割するステップ。その分割し
た各ユニットのデータが全白であるかどうかをチェック
し、その結果をmビット(図16では32ビット)のホ
ワイトマップテーブルに保存するステップ。
対するこの可変長可逆圧縮処理を、図13に示したtド
ットのブロックワードBWが主走査方向又は副走査方向
にu個並んだユニットを基本単位として行なう場合の処
理は、次の各ステツプによる。印刷すべきデータを1ペ
ージ分ずつラスタライズするために必要なページバッフ
ァを上記ユニット単位に分割するステップ。その分割し
た各ユニットのデータが全白であるかどうかをチェック
し、その結果をmビット(図16では32ビット)のホ
ワイトマップテーブルに保存するステップ。
【0046】各ユニット毎にそのデータが全白でない場
合に、ホワイトマップテーブルで指定されるアドレス領
域にuブロック分のnビット(図16では32ビット)
の圧縮データテーブル(CDT)を用意し、u個分のブ
ロック毎のデータの圧縮処理結果を格納するステップ。
各ブロック毎の圧縮処理が不可能な場合に、圧縮データ
テーブル(CDT)で指定されるアドレス領域にtビッ
トの非圧縮データテーブル(UDT)を用意し、圧縮処
理が不可能なブロックのデータをそのまま格納するステ
ップ。
合に、ホワイトマップテーブルで指定されるアドレス領
域にuブロック分のnビット(図16では32ビット)
の圧縮データテーブル(CDT)を用意し、u個分のブ
ロック毎のデータの圧縮処理結果を格納するステップ。
各ブロック毎の圧縮処理が不可能な場合に、圧縮データ
テーブル(CDT)で指定されるアドレス領域にtビッ
トの非圧縮データテーブル(UDT)を用意し、圧縮処
理が不可能なブロックのデータをそのまま格納するステ
ップ。
【0047】次に、図12における「ブロック単位で圧
縮処理」および「圧縮画像の伸長とビデオ信号出力の処
理」において実行されるこの発明によるデータ圧縮方法
及びデータ伸長方法について、図1乃至図6によって説
明する。図1は、ラスタライズされたイメージデータを
この発明によるデータ圧縮方法によって圧縮符号化する
際の処理の流れを示す説明図であり、図2は図1の
(d)に示す符号化ルックアップテーブルを構成する1
つのテーブルのフォーマットの例を示す説明図である。
縮処理」および「圧縮画像の伸長とビデオ信号出力の処
理」において実行されるこの発明によるデータ圧縮方法
及びデータ伸長方法について、図1乃至図6によって説
明する。図1は、ラスタライズされたイメージデータを
この発明によるデータ圧縮方法によって圧縮符号化する
際の処理の流れを示す説明図であり、図2は図1の
(d)に示す符号化ルックアップテーブルを構成する1
つのテーブルのフォーマットの例を示す説明図である。
【0048】この実施形態として、以下のビットサイズ
での例で説明する。図1の(a),(g),(b),(d)に示
すように、圧縮するラスタライズデータの単位:64ビ
ット(前述の1ブロックワードBW)、圧縮メモリ内の
符号化コード(CDR)格納サイズ:32ビット、ルッ
クアップテーブルの参照データ基準:長8ビット、符号
化ルックアップテーブルのサイズ:16ビット×256
個とする。また、復元化ルックアップテーブルのサイ
ズ:32ビット×256個とする。符号化ルックアップ
テーブル及び復元化ルックアップテーブルは、符号化及
び復元化処理を実行する前に予め作成しておく。
での例で説明する。図1の(a),(g),(b),(d)に示
すように、圧縮するラスタライズデータの単位:64ビ
ット(前述の1ブロックワードBW)、圧縮メモリ内の
符号化コード(CDR)格納サイズ:32ビット、ルッ
クアップテーブルの参照データ基準:長8ビット、符号
化ルックアップテーブルのサイズ:16ビット×256
個とする。また、復元化ルックアップテーブルのサイ
ズ:32ビット×256個とする。符号化ルックアップ
テーブル及び復元化ルックアップテーブルは、符号化及
び復元化処理を実行する前に予め作成しておく。
【0049】符号化ルックアップテーブル内の1テーブ
ル(Table)のフォーマットの例を図2に示す。このテ
ーブルは16ビット構成であり、上位から8ビットのレ
コードデータ、1ビットのランコンティニュー・フラ
グ、1ビットのユーズレコード・フラグ、3ビットのレ
コードシフト数、および3ビットのイメージシフト数か
らなる。
ル(Table)のフォーマットの例を図2に示す。このテ
ーブルは16ビット構成であり、上位から8ビットのレ
コードデータ、1ビットのランコンティニュー・フラ
グ、1ビットのユーズレコード・フラグ、3ビットのレ
コードシフト数、および3ビットのイメージシフト数か
らなる。
【0050】8ビットのレコードデータは符号化された
データ(圧縮コード)である。1ビットのランコンティニ
ュー・フラグは、基準長である8ビットの参照イメージ
データをコード化したとき、コード化可能でありながら
8ビットのレコードデータに収まらず再度判定しなけれ
ばならない部分、すなわち続きがあるかどうかを示すフ
ラグであり、続きがなければ“0”、あれば“1”であ
る(具体例を後述する)。
データ(圧縮コード)である。1ビットのランコンティニ
ュー・フラグは、基準長である8ビットの参照イメージ
データをコード化したとき、コード化可能でありながら
8ビットのレコードデータに収まらず再度判定しなけれ
ばならない部分、すなわち続きがあるかどうかを示すフ
ラグであり、続きがなければ“0”、あれば“1”であ
る(具体例を後述する)。
【0051】1ビットのユーズレコード・フラグは、レ
コードデータとしてイメージデータを符号化した有効な
データが格納されているか否かを示すフラグで、格納さ
れていれば、このフラグは“1”である。このフラグが
“0”になるのは、参照イメージデータの8ビットが全
て白(“0”)又は黒(“1”)の場合だけである。こ
のときには、その8ビットの参照イメージデータのみで
は符号化するコードが定まらないので、この2つの場
合、すなわち参照イメージデータが“0000000
0”でその値が「0」、“11111111”でその値
が「255」のテーブルのレコードデータには意味のあ
るデータは入っていないから、ユーズレコード・フラグ
が“0”になる。
コードデータとしてイメージデータを符号化した有効な
データが格納されているか否かを示すフラグで、格納さ
れていれば、このフラグは“1”である。このフラグが
“0”になるのは、参照イメージデータの8ビットが全
て白(“0”)又は黒(“1”)の場合だけである。こ
のときには、その8ビットの参照イメージデータのみで
は符号化するコードが定まらないので、この2つの場
合、すなわち参照イメージデータが“0000000
0”でその値が「0」、“11111111”でその値
が「255」のテーブルのレコードデータには意味のあ
るデータは入っていないから、ユーズレコード・フラグ
が“0”になる。
【0052】3ビットのレコードシフト数は、レコード
データの8ビットのうち何ビットが有効かを示す。例え
ば上位3ビットのみが有効であれば、レコードシフト数
は「3:“011”」になる。8ビツト全てが有効であ
れば「8:“1000”」になるはずであるが、3ビツ
トしかないので“000”とする。レコードデータが1
ビットも有効でない(全て無効)な場合はユーズレコー
ド・フラグが“0”になるので、このレコードシフト数
は無視する。
データの8ビットのうち何ビットが有効かを示す。例え
ば上位3ビットのみが有効であれば、レコードシフト数
は「3:“011”」になる。8ビツト全てが有効であ
れば「8:“1000”」になるはずであるが、3ビツ
トしかないので“000”とする。レコードデータが1
ビットも有効でない(全て無効)な場合はユーズレコー
ド・フラグが“0”になるので、このレコードシフト数
は無視する。
【0053】3ビットのイメージシフト数は、8ビット
の参照イメージデータのうち符号化してレコードデータ
として格納できた有効ビット数を示すもので、上位6ビ
ットが有効であった場合は、イメージシフト数は「6:
“110”」になる。これは、今回の符号化は今回参照
した8ビットイメージのうち6ビット分だけ成功し、次
の符号化は7ビット目から始められることを意味する。
の参照イメージデータのうち符号化してレコードデータ
として格納できた有効ビット数を示すもので、上位6ビ
ットが有効であった場合は、イメージシフト数は「6:
“110”」になる。これは、今回の符号化は今回参照
した8ビットイメージのうち6ビット分だけ成功し、次
の符号化は7ビット目から始められることを意味する。
【0054】この図2に示すフォーマットのテーブル
を、8ビットのイメージデータの白ドットと黒ドットの
全ての組み合わせに対して、その各組み合せの値(便宜
上2進化10数:0〜255で表わす)をアドレスとし
て、それぞれ所定のコードテーブルに基づいて、各イメ
ージデータを圧縮(符号化)できる部分まで圧縮したレ
コードデータを格納して作成し、図4に示すような符号
化ルックアップテーブルを、予め作成する。なお、この
図4では、値「43」から「253」は8ビツトイメー
ジも図示を省略し、テーブルの内容は値0〜5,12,
26,42,254,255のみを図示している。
を、8ビットのイメージデータの白ドットと黒ドットの
全ての組み合わせに対して、その各組み合せの値(便宜
上2進化10数:0〜255で表わす)をアドレスとし
て、それぞれ所定のコードテーブルに基づいて、各イメ
ージデータを圧縮(符号化)できる部分まで圧縮したレ
コードデータを格納して作成し、図4に示すような符号
化ルックアップテーブルを、予め作成する。なお、この
図4では、値「43」から「253」は8ビツトイメー
ジも図示を省略し、テーブルの内容は値0〜5,12,
26,42,254,255のみを図示している。
【0055】この符号化ルックアップテーブルの作成及
び後述する復号化ルックアップテーブルの作成には、図
6に示すようなランレングス圧縮・復号用の各種のコー
ドテーブルを使用することができるが、この例ではコー
ドテーブル3を使用している。
び後述する復号化ルックアップテーブルの作成には、図
6に示すようなランレングス圧縮・復号用の各種のコー
ドテーブルを使用することができるが、この例ではコー
ドテーブル3を使用している。
【0056】図4において、値が0〜254の各8ビツ
トイメージのうち、先頭ビツトから実線で示す枠が囲ん
だ範囲まで、すなわち最後に“0”から“1”へあるい
は“1”から“0”に変わる前のビットまでが符号化可
能な部分であり、Wは符号化可能な白ドット(“0”)
の連続数、Bは符号化可能な黒ドット(“1”)の連続
数を示している。
トイメージのうち、先頭ビツトから実線で示す枠が囲ん
だ範囲まで、すなわち最後に“0”から“1”へあるい
は“1”から“0”に変わる前のビットまでが符号化可
能な部分であり、Wは符号化可能な白ドット(“0”)
の連続数、Bは符号化可能な黒ドット(“1”)の連続
数を示している。
【0057】値が「0」の“00000000”と値が
「255」の“11111111”は、変化するところ
がないので、これだけでは符号化できない。したがっ
て、この場合は、前述のようにユーズレコード・フラグ
を“0”にし、コード化可能な続きもないのでランコン
ティニュー・フラグも“0”にする。このような8ビッ
トイメージを含むプロックに対しては、従来と同様に6
4ビットのイメージデータの先頭から“0”又は“1”
が連続する数をカウントしてランレングス圧縮すること
になる。
「255」の“11111111”は、変化するところ
がないので、これだけでは符号化できない。したがっ
て、この場合は、前述のようにユーズレコード・フラグ
を“0”にし、コード化可能な続きもないのでランコン
ティニュー・フラグも“0”にする。このような8ビッ
トイメージを含むプロックに対しては、従来と同様に6
4ビットのイメージデータの先頭から“0”又は“1”
が連続する数をカウントしてランレングス圧縮すること
になる。
【0058】値が「1」の8ビットイメージ“0000
0001”は、白ドットが7個連続している部分が符号
化可能であり、図6のコードテーブル3によってバリュ
ー7で3ビットの‘011’にコード化し、テーブル1
のレコードデータ(Record)にそれを格納する。そし
て、符号化可能なそれ以上のデータはないので、ランコ
ンティニュー・フラグ(RUN)は“0”、有効なレコ
ードデータがあるのでユーズレコード・フラグ(US
E)は“1”、レコードデータは上位3ビットが有効な
のでレコードシフト数(RSF)は3:“011”、8
ビットイメージデータのうち7ビットを符号化してレコ
ードデータとして格納できたので、イメージシフト数
(ISF)は7:“111”である。
0001”は、白ドットが7個連続している部分が符号
化可能であり、図6のコードテーブル3によってバリュ
ー7で3ビットの‘011’にコード化し、テーブル1
のレコードデータ(Record)にそれを格納する。そし
て、符号化可能なそれ以上のデータはないので、ランコ
ンティニュー・フラグ(RUN)は“0”、有効なレコ
ードデータがあるのでユーズレコード・フラグ(US
E)は“1”、レコードデータは上位3ビットが有効な
のでレコードシフト数(RSF)は3:“011”、8
ビットイメージデータのうち7ビットを符号化してレコ
ードデータとして格納できたので、イメージシフト数
(ISF)は7:“111”である。
【0059】値が「12」の8ビットイメージ“000
01100”は、白ドットが4個連続している部分が3
ビットの“000”に、次の黒ドットが2個連続してい
る部分が4ビットの“1100”に符号化可能であり、
その圧縮コードは合計7ビットであるから8ビットのレ
コードデータに収まるので、テーブル12のレコードデ
ータにそれを格納する。符号化可能なそれ以上のデータ
はないので、RUNは“0”、有効なレコードデータが
あるのでUSEは“1”、レコードデータは上位7ビッ
トが有効なのでRSFは7:“111”、8ビットイメ
ージデータのうち6ビットを符号化してレコードデータ
として格納できたので、ISFは6:“110”であ
る。
01100”は、白ドットが4個連続している部分が3
ビットの“000”に、次の黒ドットが2個連続してい
る部分が4ビットの“1100”に符号化可能であり、
その圧縮コードは合計7ビットであるから8ビットのレ
コードデータに収まるので、テーブル12のレコードデ
ータにそれを格納する。符号化可能なそれ以上のデータ
はないので、RUNは“0”、有効なレコードデータが
あるのでUSEは“1”、レコードデータは上位7ビッ
トが有効なのでRSFは7:“111”、8ビットイメ
ージデータのうち6ビットを符号化してレコードデータ
として格納できたので、ISFは6:“110”であ
る。
【0060】値が「26」の8ビットイメージ“000
11010”は、白ドットが3個連続している部分が4
ビットの“1101”に、次の黒ドットが2個連続して
いる部分が4ビットの“1100”に、次の白ドット1
個及び黒ドット1個がそれぞれ4ビットの“1110”
に符号化可能であるが、その圧縮コードは合計16ビッ
トであるから8ビットのレコードデータに収まるのは、
先頭から図4に破線の枠で示す手前の5ビットまでで、
テーブル26のレコードデータにはその圧縮コード“1
101”と“1100”を格納する。
11010”は、白ドットが3個連続している部分が4
ビットの“1101”に、次の黒ドットが2個連続して
いる部分が4ビットの“1100”に、次の白ドット1
個及び黒ドット1個がそれぞれ4ビットの“1110”
に符号化可能であるが、その圧縮コードは合計16ビッ
トであるから8ビットのレコードデータに収まるのは、
先頭から図4に破線の枠で示す手前の5ビットまでで、
テーブル26のレコードデータにはその圧縮コード“1
101”と“1100”を格納する。
【0061】符号化可能なそれ以上のデータがあるの
で、RUNは“1”、有効なレコードデータがあるので
USEは“1”、レコードデータは8ビット全てが有効
なのでRSFは“000”、8ビットイメージデータの
うち5ビットを符号化してレコードデータとして格納で
きたので、ISFは5:“101”である。
で、RUNは“1”、有効なレコードデータがあるので
USEは“1”、レコードデータは8ビット全てが有効
なのでRSFは“000”、8ビットイメージデータの
うち5ビットを符号化してレコードデータとして格納で
きたので、ISFは5:“101”である。
【0062】値が「42」の8ビットイメージ“001
01010”の場合も、先頭から7ビット目まで符号化
可能であるが、テーブル42の8ビットのレコードデー
タとしては初めの白ドット2個と黒ドット1個を符号化
した“1100”と“1110”しか収まらないため、
RUNが“1”になる。このようにして、図4に示す値
「0〜255」をそれぞれアドレスとする256個のテ
ーブルからなる符号化ルックアップテーブルを完成す
る。
01010”の場合も、先頭から7ビット目まで符号化
可能であるが、テーブル42の8ビットのレコードデー
タとしては初めの白ドット2個と黒ドット1個を符号化
した“1100”と“1110”しか収まらないため、
RUNが“1”になる。このようにして、図4に示す値
「0〜255」をそれぞれアドレスとする256個のテ
ーブルからなる符号化ルックアップテーブルを完成す
る。
【0063】その後、この符号化ルックアップテーブル
を使用して、ラスタライズされたイメージデータの圧縮
処理を行なうが、図1を参照してその方法を説明する。
まず、図1の(a)に示すラスタライズされた1ブロッ
クワード(64ビット)のイメージデータの先頭から、
(b)に示すように8ビット分のデータ“000011
00”をマージし、(d)に示す符号化ルックアップテ
ーブル中の、その8ビット分のデータの値「12」に該
当するテーブル12を参照(ルックアップ)する。
を使用して、ラスタライズされたイメージデータの圧縮
処理を行なうが、図1を参照してその方法を説明する。
まず、図1の(a)に示すラスタライズされた1ブロッ
クワード(64ビット)のイメージデータの先頭から、
(b)に示すように8ビット分のデータ“000011
00”をマージし、(d)に示す符号化ルックアップテ
ーブル中の、その8ビット分のデータの値「12」に該
当するテーブル12を参照(ルックアップ)する。
【0064】図1の(e)に示すテーブル12のレコー
ドデータには、図4に示したように、その8ビットイメ
ージの内の“000011”の部分を符号化したコード
“0001100”が最上位からレコードシフト数が示
す7ビットに格納されているので、それを圧縮メモリ内
の32ビツトの符号化コード(CDR)格納エリアの先
頭から7ビットに、圧縮データの最初の部分として格納
する。
ドデータには、図4に示したように、その8ビットイメ
ージの内の“000011”の部分を符号化したコード
“0001100”が最上位からレコードシフト数が示
す7ビットに格納されているので、それを圧縮メモリ内
の32ビツトの符号化コード(CDR)格納エリアの先
頭から7ビットに、圧縮データの最初の部分として格納
する。
【0065】これの処理によって、64ビットのイメー
ジデータの内の、テーブル12のイメージシフト数に示
される6ビット分だけが符号化できたので、次の参照ス
テップでは、その分だけ進めて図1の(c)に示す次の
8ビットの参照イメージデータを得る。この値が「2
6」なので、符号化ルックアップテーブルの内のテーブ
ル26を参照(ルックアップ)する。
ジデータの内の、テーブル12のイメージシフト数に示
される6ビット分だけが符号化できたので、次の参照ス
テップでは、その分だけ進めて図1の(c)に示す次の
8ビットの参照イメージデータを得る。この値が「2
6」なので、符号化ルックアップテーブルの内のテーブ
ル26を参照(ルックアップ)する。
【0066】図1の(f)に示すテーブル26のレコー
ドデータには、図4に示したように、その8ビットイメ
ージの内の“00011”の部分を符号化したコード
“11011100”が最上位からレコードシフト数が
示す8ビットに格納されているので、それを圧縮メモリ
内の符号化コード(CDR)格納エリアの圧縮データの
続きの部分として格納する。
ドデータには、図4に示したように、その8ビットイメ
ージの内の“00011”の部分を符号化したコード
“11011100”が最上位からレコードシフト数が
示す8ビットに格納されているので、それを圧縮メモリ
内の符号化コード(CDR)格納エリアの圧縮データの
続きの部分として格納する。
【0067】このように、順次イメージデータの符号化
できたビット数だけ進めて、次の8ビットの参照イメー
ジデータを得ながら、その値が示すテーブルを参照し
て、そのレコードデータを圧縮データの続きの部分とし
てCDR格納エリアに順次格納する処理を、64ビット
のイメージデータが終了するまで繰り返す。したがっ
て、イメージデータを基準長となる所定ビット数(上述
の例では8ビット)参照して、その中で符号化可能な複
数ビットのデータを一度に符号化できるので、データ圧
縮処理を高速化することができる。
できたビット数だけ進めて、次の8ビットの参照イメー
ジデータを得ながら、その値が示すテーブルを参照し
て、そのレコードデータを圧縮データの続きの部分とし
てCDR格納エリアに順次格納する処理を、64ビット
のイメージデータが終了するまで繰り返す。したがっ
て、イメージデータを基準長となる所定ビット数(上述
の例では8ビット)参照して、その中で符号化可能な複
数ビットのデータを一度に符号化できるので、データ圧
縮処理を高速化することができる。
【0068】次に、このようにして圧縮されたデータを
元のイメージデータに復元するデータ伸長処理について
説明する。まず、そのデータ伸長処理に使用する復元化
ルックアップテーブルについて、図4及び図5によって
説明する。図4は復元化ルックアップテーブル内の1テ
ーブルのフォーマットの例を示す図である。このテーブ
ルは、32ビット構成であり、22ビットの復号イメー
ジデータ、1ビットのネクストインバース・フラグ、1
ビットのユーズイメージ・フラグ、3ビットのレコード
シフト数、および5ビットのイメージシフト数からな
る。
元のイメージデータに復元するデータ伸長処理について
説明する。まず、そのデータ伸長処理に使用する復元化
ルックアップテーブルについて、図4及び図5によって
説明する。図4は復元化ルックアップテーブル内の1テ
ーブルのフォーマットの例を示す図である。このテーブ
ルは、32ビット構成であり、22ビットの復号イメー
ジデータ、1ビットのネクストインバース・フラグ、1
ビットのユーズイメージ・フラグ、3ビットのレコード
シフト数、および5ビットのイメージシフト数からな
る。
【0069】22ビットの復号イメージデータは、8ビ
ットの参照レコードデータを復元したものを、最大22
ビットの復号イメージデータとして格納する。1ビツト
のネクストインバース・フラグは、今回の参照レコード
の復号の際、次のイメージデータの先頭の白黒が、今回
と比べて反転するかどうかを示すフラグである。
ットの参照レコードデータを復元したものを、最大22
ビットの復号イメージデータとして格納する。1ビツト
のネクストインバース・フラグは、今回の参照レコード
の復号の際、次のイメージデータの先頭の白黒が、今回
と比べて反転するかどうかを示すフラグである。
【0070】1ビットのユーズイメージ・フラグは、参
照レコード(圧縮コード)の復元に対して、格納してい
る復号イメージデータを参照するかどうかのフラグで、
複号する際、レコードデータの長さが8ビットを越え、
このテーブルによる復号ができないときに“0”とな
る。このときは、8ビットのレコードデータだけでは復
号できないため、そのテーブルのイメージデータ部には
意味のあるデータは入っておらず、ユーズイメージ・フ
ラグは“0”となる。
照レコード(圧縮コード)の復元に対して、格納してい
る復号イメージデータを参照するかどうかのフラグで、
複号する際、レコードデータの長さが8ビットを越え、
このテーブルによる復号ができないときに“0”とな
る。このときは、8ビットのレコードデータだけでは復
号できないため、そのテーブルのイメージデータ部には
意味のあるデータは入っておらず、ユーズイメージ・フ
ラグは“0”となる。
【0071】3ビットのレコードシフト数は、参照した
レコードデータ(圧縮コード)のうち復元できた有効ビ
ット数を示す。5ビットのイメージシフト数は、復号イ
メージデータとして格納しているイメージデータの有効
ビット数を示す。つまり、符号化の場合と同様に、参照
したレコードデータのうちレコードシフト数だけ復号に
成功し、22ビットの復号イメージデータ部のうち最上
位からイメージシフト数分だけ有効な復号イメージデー
タが入っていて、残りは無意味なデータであることを示
す。
レコードデータ(圧縮コード)のうち復元できた有効ビ
ット数を示す。5ビットのイメージシフト数は、復号イ
メージデータとして格納しているイメージデータの有効
ビット数を示す。つまり、符号化の場合と同様に、参照
したレコードデータのうちレコードシフト数だけ復号に
成功し、22ビットの復号イメージデータ部のうち最上
位からイメージシフト数分だけ有効な復号イメージデー
タが入っていて、残りは無意味なデータであることを示
す。
【0072】図5に復号化ルックアップテーブルの具体
例を示す。この復号化ルックアップテーブルは、値が
「1」から「255」までの各8ビットのレコードデー
タに対する図3に示したフォーマットの256個のテー
ブルからなる。各8ビットのレコードデータのうち、枠
で囲んだ部分が、符号化に使用した図6に示すコードテ
ーブル3によってそれぞれ復号化可能であり、Wは復号
した白ドットの連続数、Bは復号した黒ドットの連続数
を示す。
例を示す。この復号化ルックアップテーブルは、値が
「1」から「255」までの各8ビットのレコードデー
タに対する図3に示したフォーマットの256個のテー
ブルからなる。各8ビットのレコードデータのうち、枠
で囲んだ部分が、符号化に使用した図6に示すコードテ
ーブル3によってそれぞれ復号化可能であり、Wは復号
した白ドットの連続数、Bは復号した黒ドットの連続数
を示す。
【0073】例えば、値が「16」のレコードデータ
“0001000”は、最初の“000”がコードテー
ブル3における“0”で始まる3ビットのコードデータ
でバリューが「4」であるから、白の4ドットに復元で
き、次の“1000”は上位2ビットが“10”である
4ビットのコードデータで、バリューが「8」であるか
ら、黒8ビットに復元できる。したがって、復号イメー
ジデータは“000011111111”となる。
“0001000”は、最初の“000”がコードテー
ブル3における“0”で始まる3ビットのコードデータ
でバリューが「4」であるから、白の4ドットに復元で
き、次の“1000”は上位2ビットが“10”である
4ビットのコードデータで、バリューが「8」であるか
ら、黒8ビットに復元できる。したがって、復号イメー
ジデータは“000011111111”となる。
【0074】次のイメージデータの先頭の白又は黒が今
回と比べて反転することはない(次は、今回と同じく白
から始まる)ので、ネクストインバース・フラグ(IN
V)は“0”、圧縮コードの復元に際して格納している
復号イメージデータを参照できるのでユーズイメージ・
フラグ(USE)は“1”、レコードデータのうち復元
できた有効ビット数は7ビットなのでレコードシフト数
(RSF)は7:“111”、復号イメージデータとし
て格納しているイメージデータの有効ビット数は12ビ
ットなので、イメージシフト数(ISF)は12:“1
100”である。
回と比べて反転することはない(次は、今回と同じく白
から始まる)ので、ネクストインバース・フラグ(IN
V)は“0”、圧縮コードの復元に際して格納している
復号イメージデータを参照できるのでユーズイメージ・
フラグ(USE)は“1”、レコードデータのうち復元
できた有効ビット数は7ビットなのでレコードシフト数
(RSF)は7:“111”、復号イメージデータとし
て格納しているイメージデータの有効ビット数は12ビ
ットなので、イメージシフト数(ISF)は12:“1
100”である。
【0075】値が「240」以上のレコードデータにな
ると、少なくとも上位4ビットが“1”になるので、図
6のコードテーブル3では9ビット以上のコードデータ
になり、8ビットでは復元できない。したがって、ユー
ズイメージ・フラグは“0”になり。レコードシフト数
は“000”となり、イメージシフト数は無視する。こ
の場合は、この方法では復号化できないので、従来の方
法で復号化することになる。
ると、少なくとも上位4ビットが“1”になるので、図
6のコードテーブル3では9ビット以上のコードデータ
になり、8ビットでは復元できない。したがって、ユー
ズイメージ・フラグは“0”になり。レコードシフト数
は“000”となり、イメージシフト数は無視する。こ
の場合は、この方法では復号化できないので、従来の方
法で復号化することになる。
【0076】このような復号化ルックアップテーブルを
予め作成した後、圧縮メモリの各CDR格納エリアから
読み出した圧縮コードのレコードデータを、図1によっ
て説明した符号化の場合と同様に、先頭から基準長であ
る8ビットずつ参照して、復号化ルックアップテーブル
内の、その8ビットのレコードデータの値に相当するテ
ーブルを参照(ルックアップ)する。そして、32ビッ
トのテーブルデータを得て、そこに格納されている復号
イメージデータを復元するイメージデータの最初の部分
として送出し、ビデオバッファにストアさせる。
予め作成した後、圧縮メモリの各CDR格納エリアから
読み出した圧縮コードのレコードデータを、図1によっ
て説明した符号化の場合と同様に、先頭から基準長であ
る8ビットずつ参照して、復号化ルックアップテーブル
内の、その8ビットのレコードデータの値に相当するテ
ーブルを参照(ルックアップ)する。そして、32ビッ
トのテーブルデータを得て、そこに格納されている復号
イメージデータを復元するイメージデータの最初の部分
として送出し、ビデオバッファにストアさせる。
【0077】次のステップでは、今回参照したテーブル
のレコードシフト数が示す復元できたビット数だけ進め
て、その次のビットから8ビットのレコードデータにつ
いて、上述と同様な処理を行ない、それを32ビットの
CDRレコードデータ(圧縮コード)が終了するまで繰
り返す。それにより、圧縮コードを能率よく元のイメー
ジデータに復元して、図11に示したビデオ出力部27
のビデオバッファに展開することができる。
のレコードシフト数が示す復元できたビット数だけ進め
て、その次のビットから8ビットのレコードデータにつ
いて、上述と同様な処理を行ない、それを32ビットの
CDRレコードデータ(圧縮コード)が終了するまで繰
り返す。それにより、圧縮コードを能率よく元のイメー
ジデータに復元して、図11に示したビデオ出力部27
のビデオバッファに展開することができる。
【0078】このように、この発明によるデータ圧縮方
法及びデータ伸長方法を実施すれば、所定の大きさのイ
メージデータ(例えば64ビット)やその圧縮コード
(例えば32ビットのレコードデータ)の符号化及び復
元化を、上位から1ビットずつ“0”か“1”かを判別
して行なう従来の方式に比べ、複数ビットをまとめて符
号化あるいは復元化するため、命令数及びバスアクセス
回数が格段に減り、処理の高速化を計ることができる。
請求項3の発明は、上記発明に対して、Lookup Table
を参照する基準データ(符号化の場合は、イメージデー
タ。復元の場合はレコードデータ)のビットサイズを可
変にすることである。
法及びデータ伸長方法を実施すれば、所定の大きさのイ
メージデータ(例えば64ビット)やその圧縮コード
(例えば32ビットのレコードデータ)の符号化及び復
元化を、上位から1ビットずつ“0”か“1”かを判別
して行なう従来の方式に比べ、複数ビットをまとめて符
号化あるいは復元化するため、命令数及びバスアクセス
回数が格段に減り、処理の高速化を計ることができる。
請求項3の発明は、上記発明に対して、Lookup Table
を参照する基準データ(符号化の場合は、イメージデー
タ。復元の場合はレコードデータ)のビットサイズを可
変にすることである。
【0079】また、符号化ルックアップテーブルあるい
は復号化ルックアップテーブルを参照する基準長となる
所定ビット数(参照基準データのサイズ)を可変するこ
とができ、その基準長に応じたルックアップテーブルを
作成することができる。基準長を大きくすれば、ルック
アップテーブルの参照回数が減り、一層処理速度を速め
ることができる。しかし、この基準長すなわち参照基準
データのサイズを大きくすると、当然ルックアップテー
ブルのサイズも大きくなる。参照基準データのサイズを
pビットとし、1個のルックアップテーブルのサイズを
qビットとすると、ルックアップテーブル全体サイズ
は、2のp乗×q/8(Bytes)となる。
は復号化ルックアップテーブルを参照する基準長となる
所定ビット数(参照基準データのサイズ)を可変するこ
とができ、その基準長に応じたルックアップテーブルを
作成することができる。基準長を大きくすれば、ルック
アップテーブルの参照回数が減り、一層処理速度を速め
ることができる。しかし、この基準長すなわち参照基準
データのサイズを大きくすると、当然ルックアップテー
ブルのサイズも大きくなる。参照基準データのサイズを
pビットとし、1個のルックアップテーブルのサイズを
qビットとすると、ルックアップテーブル全体サイズ
は、2のp乗×q/8(Bytes)となる。
【0080】システムのデータ記憶容量、すなわち圧縮
メモリ及び非圧縮メモリ,及びルックアップテーブルの
記憶用メモリとして使用できるメモリの容量を判別し、
その判別した記憶容量に応じて最適な参照基準データの
サイズを決定して、符号化及び復号化用のルックアップ
テーブルを作成することもできる。システムの記憶容量
が大きければ、参照基準データのサイズを大きくできる
ので、当然処理の高速化を計れる。
メモリ及び非圧縮メモリ,及びルックアップテーブルの
記憶用メモリとして使用できるメモリの容量を判別し、
その判別した記憶容量に応じて最適な参照基準データの
サイズを決定して、符号化及び復号化用のルックアップ
テーブルを作成することもできる。システムの記憶容量
が大きければ、参照基準データのサイズを大きくできる
ので、当然処理の高速化を計れる。
【0081】さらに、符号化における圧縮率は文書の種
類(イメージ,文字,線画,グラフィックス等)によっ
て異なることが判っている。そこで、印刷すべき文書の
種類に応じて、ルックアップテーブルを作成する際に使
用する図6に示したような各種のコードテーブルから最
適なもの選ぶようにすれば、最高の圧縮効率が得られる
符号化ルックアップテーブル及び、それによって圧縮さ
れた圧縮コードを復元できる復号化ルックアップテーブ
ルを作成することができるる。
類(イメージ,文字,線画,グラフィックス等)によっ
て異なることが判っている。そこで、印刷すべき文書の
種類に応じて、ルックアップテーブルを作成する際に使
用する図6に示したような各種のコードテーブルから最
適なもの選ぶようにすれば、最高の圧縮効率が得られる
符号化ルックアップテーブル及び、それによって圧縮さ
れた圧縮コードを復元できる復号化ルックアップテーブ
ルを作成することができるる。
【0082】
【発明の効果】以上説明してきたように、この発明によ
れば、ページプリンタのメモリ容量を節減でき、低価格
化と高解像度化を可能にすると共に、イメージデータの
圧縮処理及び圧縮コードの伸長(復号)処理の高速化を
図ることが出来る。
れば、ページプリンタのメモリ容量を節減でき、低価格
化と高解像度化を可能にすると共に、イメージデータの
圧縮処理及び圧縮コードの伸長(復号)処理の高速化を
図ることが出来る。
【図1】ラスタライズされたイメージデータをこの発明
によるデータ圧縮方法によって圧縮符号化する際の処理
の流れを示す説明図である。
によるデータ圧縮方法によって圧縮符号化する際の処理
の流れを示す説明図である。
【図2】図1における符号化ルックアップテーブルを構
成する1つのテーブルのフォーマットの例を示す説明図
である。
成する1つのテーブルのフォーマットの例を示す説明図
である。
【図3】圧縮コードの伸張処理に使用する復号化ルック
アップテーブルを構成する1つのテーブルのフォーマッ
トの例を示す説明図である。
アップテーブルを構成する1つのテーブルのフォーマッ
トの例を示す説明図である。
【図4】8ビットイメージの種類とその各値と符号化ル
ックアップテーブルの内容との関係を示す図である。
ックアップテーブルの内容との関係を示す図である。
【図5】8ビツトのレコードデータ(圧縮コード)の種
類とその各値と復号化ルックアップテーブルの内容との
関係を示す図である。
類とその各値と復号化ルックアップテーブルの内容との
関係を示す図である。
【図6】符号化ルックアップテーブル及び復号化ルック
アップテーブルを作成する際に使用するコードテーブル
の異なる例を示す図である。
アップテーブルを作成する際に使用するコードテーブル
の異なる例を示す図である。
【図7】この発明を適用したページプリンタを用いた画
像形成システムの構成例を示す図である。
像形成システムの構成例を示す図である。
【図8】図7におけるページプリンタの一例を示す外観
図である。
図である。
【図9】同じくその内部機構の概略を示す縦断面図であ
る。
る。
【図10】図9におけるコントローラ基板19の構成を
示すブロック図である。
示すブロック図である。
【図11】図7乃至図9に示したページプリンタ200
におけるPSファイルの文書データを印刷するための処
理に係わる部分の機能構成を示すブロック図である。
におけるPSファイルの文書データを印刷するための処
理に係わる部分の機能構成を示すブロック図である。
【図12】図11に示した各部により1ページ分の印刷
を行なう際の動作フロー図である。
を行なう際の動作フロー図である。
【図13】PSフアイルをラスタライズしたデータの1
ユニット(unit)の構成を示す図である。
ユニット(unit)の構成を示す図である。
【図14】同じくそのブロックワードBWのドット数及
び1ユニットのライン数の具体例を示す図である。
び1ユニットのライン数の具体例を示す図である。
【図15】各ユニットに対するホワイトマップテーブル
(WMT)のサイズを示す図である。
(WMT)のサイズを示す図である。
【図16】図15のWMTに格納する圧縮データテーブ
ル(CDT)の構成を示す図である。
ル(CDT)の構成を示す図である。
【図17】図16に示したCDTの実アドレス(CDT
アドレス)のレコードの長さを示す図である。
アドレス)のレコードの長さを示す図である。
【図18】非圧縮時のデータ格納メモリアドレス(UD
Tアドレス)をBWに格納する場合の説明図である。
Tアドレス)をBWに格納する場合の説明図である。
【図19】白ドットあるいは黒ドットのランレングスを
記述するハフマン・コードの説明図である。
記述するハフマン・コードの説明図である。
【図20】圧縮コードの変換例を示す図である。
10:感光体ドラム 11:帯電部 12:光書込部 13:現像部 14:転写部 15:定着部 19:コントローラ基板 20:エンジンドライバ基板 21:ホストスクリプト(PS)インタープリタ 22:圧縮部 23:圧縮メモリ 24:非圧縮メモリ 25:伸長部 27:ビデオ出力部 100:パーソナルコンピュータ 101:プリンタドライバ 200:ページプリンタ 201:CPU 206:RAM 208:プリンタエンジン
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成8年8月30日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0056
【補正方法】変更
【補正内容】
【0056】図4において、値が0〜255の各8ビツ
トイメージのうち、先頭ビツトから実線で示す枠が囲ん
だ範囲まで、すなわち最後に“0”から“1”へあるい
は“1”から“0”に変わる前のビットまでが符号化可
能な部分であり、Wは符号化可能な白ドット(“0”)
の連続数、Bは符号化可能な黒ドット(“1”)の連続
数を示している。
トイメージのうち、先頭ビツトから実線で示す枠が囲ん
だ範囲まで、すなわち最後に“0”から“1”へあるい
は“1”から“0”に変わる前のビットまでが符号化可
能な部分であり、Wは符号化可能な白ドット(“0”)
の連続数、Bは符号化可能な黒ドット(“1”)の連続
数を示している。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0072
【補正方法】変更
【補正内容】
【0072】図5に復号化ルックアップテーブルの具体
例を示す。この復号化ルックアップテーブルは、値が
「0」から「255」までの各8ビットのレコードデー
タに対する図3に示したフォーマットの256個のテー
ブルからなる。各8ビットのレコードデータのうち、枠
で囲んだ部分が、符号化に使用した図6に示すコードテ
ーブル3によってそれぞれ復号化可能であり、Wは復号
した白ドットの連続数、Bは復号した黒ドットの連続数
を示す。
例を示す。この復号化ルックアップテーブルは、値が
「0」から「255」までの各8ビットのレコードデー
タに対する図3に示したフォーマットの256個のテー
ブルからなる。各8ビットのレコードデータのうち、枠
で囲んだ部分が、符号化に使用した図6に示すコードテ
ーブル3によってそれぞれ復号化可能であり、Wは復号
した白ドットの連続数、Bは復号した黒ドットの連続数
を示す。
Claims (6)
- 【請求項1】 ページプリンタにおいて、印刷すべき文
書データを所定の解像度にラスタライズし、そのラスタ
ライズされたイメージデータに対して所定の大きさのブ
ロック単位で可変長可逆圧縮処理を施し、その圧縮コー
ドを圧縮メモリに格納するデータ圧縮方法であって、 予め、符号化ルックアップテーブルを参照する基準長と
なる所定ビット数のイメージデータの白ドットと黒ドッ
トの全ての組み合わせに対して、各組み合わせの値をア
ドレスとして、所定のコードテーブルに基づいて各イメ
ージデータを圧縮できる部分まで圧縮したレコードデー
タを格納した符号化ルックアップテーブルを作成してお
き、 前記ブロック単位のイメージデータに対して、先頭から
前記所定ビット数のデータについて、その白ドットと黒
ドットの組み合わせによる値で前記符号化ルックアップ
テーブルを参照し、そこに格納されているレコードデー
タを前記圧縮コードの一部として圧縮メモリに格納し、 その後、圧縮できなかった残りのイメージデータの初め
から再び前記所定ビット数のデータについて、その白ド
ットと黒ドットの組み合わせによる値で前記符号化ルッ
クアップテーブルを参照し、そこに格納されているレコ
ードデータを前記圧縮コードの続きの部分として前記圧
縮メモリに格納することを、前記ブロック単位のイメー
ジデータの終わりまで繰り返すことを特徴とするデータ
圧縮方法。 - 【請求項2】 ページプリンタにおいて、ラスタライズ
されたイメージデータに対して所定の大きさのブロック
単位で可変長可逆圧縮処理を施して圧縮メモリに格納さ
れた圧縮コードを伸長して元のイメージデータに復元す
るデータ伸長方法であって、 予め、復号化ルックアップテーブルを参照する基準長と
なる所定ビット数の圧縮コードの全ての異なる値をそれ
ぞれアドレスとして、所定のコードテーブルに基づいて
各圧縮コードをそれぞれ復元できる部分まで復元したイ
メージデータを格納した復号化ルックアップテーブルを
作成しておき、 前記圧縮メモリに格納されている前記ブロック単位のイ
メージデータが圧縮された圧縮コードに対して、先頭か
ら前記所定ビット数の圧縮コードについて、その値で前
記復号化ルックアップテーブルを参照し、そこに格納さ
れているイメージデータを復元するイメージデータの一
部として送出し、 その後、復元できなかった残りの圧縮コードの初めから
再び前記所定ビット数の圧縮コードについて、その値で
前記復号化ルックアップテーブルを参照し、そこに格納
されているイメージデータを前記復元するイメージデー
タの続きの部分として送出することを、前記ブロック単
位の圧縮コードの終わりまで繰り返すことを特徴とする
データ伸長方法。 - 【請求項3】 前記符号化ルックアップテーブルを参照
する基準長となる所定ビット数を可変にすることを特徴
とする請求項1記載のデータ圧縮方法。 - 【請求項4】 前記復号化ルックアップテーブルを参照
する基準長となる所定ビット数を可変にすることを特徴
とする請求項2記載のデータ伸長方法。 - 【請求項5】 システムのデータ記憶容量を判別し、そ
の判別した記憶容量に応じて前記基準長となる所定ビッ
ト数を決定することを特徴とする請求項1又は3記載の
データ圧縮方法。 - 【請求項6】 印刷すべき文書データのイメージ,文
字,線画,グラフィックス等の種類に応じて、使用する
コードテーブルを選択的に切り替えて前記符号化ルック
アップテーブルを作成することを特徴とする請求項1,
3,5のいずれか一項に記載のデータ圧縮方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8172587A JPH1023272A (ja) | 1996-07-02 | 1996-07-02 | ページプリンタにおけるデータ圧縮方法及び伸長方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8172587A JPH1023272A (ja) | 1996-07-02 | 1996-07-02 | ページプリンタにおけるデータ圧縮方法及び伸長方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1023272A true JPH1023272A (ja) | 1998-01-23 |
Family
ID=15944617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8172587A Pending JPH1023272A (ja) | 1996-07-02 | 1996-07-02 | ページプリンタにおけるデータ圧縮方法及び伸長方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1023272A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100405819B1 (ko) * | 2001-01-15 | 2003-11-14 | 한국과학기술원 | 이진 영상의 데이터 압축 및 복원방법 |
CN100395669C (zh) * | 2003-04-14 | 2008-06-18 | 北京启迪时代科技有限公司 | 激光打印系统的图像编解码装置及方法 |
US8351692B2 (en) | 2007-01-19 | 2013-01-08 | Samsung Electronics Co., Ltd. | Method, medium, and system effectively compressing and/or restoring binary images |
-
1996
- 1996-07-02 JP JP8172587A patent/JPH1023272A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100405819B1 (ko) * | 2001-01-15 | 2003-11-14 | 한국과학기술원 | 이진 영상의 데이터 압축 및 복원방법 |
CN100395669C (zh) * | 2003-04-14 | 2008-06-18 | 北京启迪时代科技有限公司 | 激光打印系统的图像编解码装置及方法 |
US8351692B2 (en) | 2007-01-19 | 2013-01-08 | Samsung Electronics Co., Ltd. | Method, medium, and system effectively compressing and/or restoring binary images |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0809192B1 (en) | Method and apparatus for rendering fontless structured documents | |
US5835685A (en) | Page printer, resolution converting method, and variable-length reversible compression process | |
US6337747B1 (en) | System to adaptively compress raster image data | |
US6860203B2 (en) | Method and apparatus for printing computer generated images | |
EP0398681A2 (en) | Output apparatus | |
JP3327650B2 (ja) | 記録装置 | |
JPH08278862A (ja) | 画像出力装置および画像処理方法 | |
JPH1023272A (ja) | ページプリンタにおけるデータ圧縮方法及び伸長方法 | |
JPH09270919A (ja) | ページプリンタにおけるデータ圧縮方法 | |
JP3611921B2 (ja) | ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ | |
US8941882B2 (en) | Method of pre-processing data on a host machine for a host-based print system | |
JP3581470B2 (ja) | ページプリンタにおけるデータ処理方法及びページプリンタ | |
JP3655457B2 (ja) | プリンタ制御装置 | |
JP3606985B2 (ja) | ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ | |
JPH08307695A (ja) | ページプリンタ及びそのデータ処理方法 | |
JPH09252409A (ja) | ページプリンタにおけるデータ圧縮方法 | |
JPH08307677A (ja) | 多値画像を印刷可能なページプリンタ | |
JPH09248943A (ja) | ページプリンタにおけるデータ圧縮方法 | |
JPH08307696A (ja) | ページプリンタにおけるデータ圧縮・伸長方法 | |
JPH08307676A (ja) | ページプリンタおよびその画像データ処理方法 | |
JP3514027B2 (ja) | 記録装置、記録システム、画像転送システム | |
JPH0993425A (ja) | 画像形成装置 | |
JPH11235849A (ja) | 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JPH08307693A (ja) | ページプリンタ及びその解像度変換方法ならびに2値画像の可変長可逆圧縮処理方法 | |
JPH09102879A (ja) | 画像形成装置 |