JP2003174565A - 画像処理装置、画像処理方法、プログラム、及び記憶媒体 - Google Patents

画像処理装置、画像処理方法、プログラム、及び記憶媒体

Info

Publication number
JP2003174565A
JP2003174565A JP2001374340A JP2001374340A JP2003174565A JP 2003174565 A JP2003174565 A JP 2003174565A JP 2001374340 A JP2001374340 A JP 2001374340A JP 2001374340 A JP2001374340 A JP 2001374340A JP 2003174565 A JP2003174565 A JP 2003174565A
Authority
JP
Japan
Prior art keywords
pixel data
command
command output
image
image processing
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
Application number
JP2001374340A
Other languages
English (en)
Other versions
JP3970007B2 (ja
Inventor
Yoichi Sakamoto
陽一 坂本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001374340A priority Critical patent/JP3970007B2/ja
Priority to EP02258367.8A priority patent/EP1318665B1/en
Priority to CN 200810094578 priority patent/CN101282405B/zh
Priority to CN 200810097396 priority patent/CN101282406B/zh
Priority to CNB02155529XA priority patent/CN100397866C/zh
Priority to CN2008100973975A priority patent/CN101282407B/zh
Priority to US10/310,812 priority patent/US7245396B2/en
Publication of JP2003174565A publication Critical patent/JP2003174565A/ja
Application granted granted Critical
Publication of JP3970007B2 publication Critical patent/JP3970007B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 以前の画像データ列と一致する場合にはその
冗長性を利用して高い圧縮率を得るとともに、画像デー
タ列が一致する部分が少ない場合においても、圧縮率の
低下を極力抑えること。 【解決手段】 COPY UPコマンドに符号化できる
場合、COPY UPコマンドとそれに後続するバイト
数を示す符号を出力する(S29)。COPYLEFT
コマンドに符号化できる場合、COPY LEFTコマ
ンドとそれに後続するバイト数を示す符号を出力する
(S30)。CACHEコマンドに符号化できる場合、
CACHEコマンドとそれに後続する、キャッシュがヒ
ットしたキャッシュバッファの位置を示すデータを出力
する(S31)。現在の位置のバイトがキャッシュバッ
ファに登録されていない場合、RAWコマンドとそれに
後続する現在の位置のバイトに等しい8ビットの生デー
タを出力する(S28)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像を圧縮する、
又はその符号を復号する画像処理装置、画像処理方法、
プログラム、及び記憶媒体に関するものである。
【0002】
【従来の技術】データを圧縮する方法として以前のデー
タ系列と一致する場合には、一致するデータの長さを符
号化し、一致しない場合にはデータ自体を符号化すると
いう方法がある。
【0003】例えば,LZ77圧縮法では、所定の大き
さの移動窓内の任意の位置のデータ系列と一致する場合
には、一致するデータ系列の位置および一致する長さを
符号化し、一致しない場合にはデータ自体を符号化す
る。
【0004】また画像データを圧縮する場合には、あら
かじめ定められた1箇所または複数の箇所の位置、例え
ば符号化しようとしているデータの上あるいは左の位置
のデータ系列と一致する場合には一致する長さを符号化
し、一致しない場合にはデータ自体を符号化するという
方法がある。
【0005】一方、特開平6−242924号公報に示
されるように、最近出現したデータをキャッシュバッフ
ァに記憶し、キャッシュがヒットした場合には、一致し
たデータが記憶されているインデックスを符号化するこ
とで、データ自体を符号化する場合に較べて短い符号に
符号化するという方法がある。
【0006】
【発明が解決しようとする課題】しかしながら上述の方
法では、データ系列が一致する部分が少ない場合にデー
タ自体を符号化した符号が多くなり、圧縮率が著しく低
下するという欠点がある。
【0007】一方、特開平6−242924号公報に開
示されている方法では、以前のデータ系列と一致する場
合であってもその冗長性を圧縮に利用することができ
ず、高い圧縮率を得ることが困難であった。
【0008】本発明は以上の問題に鑑みて成されたもの
であり、以前の画像データ列と一致する場合にはその冗
長性を利用して高い圧縮率を得るとともに、画像データ
列が一致する部分が少ない場合においても、圧縮率の低
下を極力抑えることを目的とする。
【0009】
【課題を解決するための手段】本発明の目的を達成する
ために、例えば本発明の画像処理装置は以下の構成を備
える。
【0010】すなわち、画像を圧縮する画像処理装置で
あって、画像に対してディザマトリックスを用いて色変
換処理を行い、色毎の画像データを生成する色変換手段
と、色毎の画像データに対して、圧縮対象の画素データ
列と、当該画素データ列と所定の位置関係にある画素デ
ータ列とを比較し、一致する画像データ列の長さを示す
コマンドと共に、当該比較内容を示すコマンドを出力
し、色毎の画像データの符号化データを生成するコマン
ド出力手段とを備える。
【0011】本発明の目的を達成するために、例えば本
発明の画像処理装置は以下の構成を備える。
【0012】すなわち、画像を圧縮する画像処理装置で
あって、画像に対してディザマトリックスを用いて色変
換処理を行い、色毎の画像データを生成する色変換手段
と、前記色毎の画像データを圧縮し、符号化する符号化
手段と、前記符号化手段による符号化データを出力する
出力手段とを備え、更に前記符号化手段は、圧縮対象の
列の画素データ列と、当該列と所定の位置関係にある列
の画素データ列とを比較して、一致する画素データ列の
長さを求め、当該一致する画素データ列として、前記比
較内容を示すコマンドと共に、前記長さを示すコマンド
を出力する第1のコマンド出力手段と、前記長さが0の
場合、圧縮対象の列の画素データ列と、当該列において
所定の位置関係にある画素データ列とを比較して、一致
する画素データ列の長さを求め、当該一致する画素デー
タ列として、前記比較内容を示すコマンドと共に、前記
長さを示すコマンドを出力する第2のコマンド出力手段
と、前記第1のコマンド出力手段により求めた長さ、前
記第2のコマンド出力手段により求めた長さが共に0の
場合、圧縮対象の列の画素データ列の一部もしくは全部
を格納する格納手段と、前記第1のコマンド出力手段に
より求めた長さ、前記第2のコマンド出力手段により求
めた長さが共に0の場合、圧縮対象の画素データと前記
格納手段に格納された画素データ列とを比較し、前記圧
縮対象の画素データとして、一致する画素データの前記
格納手段における位置を示すコマンドと共に、前記比較
内容を示すコマンドを出力する第3のコマンド出力手段
と、前記第1のコマンド出力手段により求めた長さ、前
記第2のコマンド出力手段により求めた長さが共に0の
場合、且つ、前記第3のコマンド出力手段による比較の
結果、圧縮対象の画素データと一致する画素データが前
記格納手段に存在しないと判断された場合、圧縮対象の
画素データを示すコマンドを出力する第4のコマンド出
力手段とを備え、前記第1乃至4のコマンド出力手段の
一部もしくは全部によるコマンドを含む符号化データを
生成する。
【0013】本発明の目的を達成するために、例えば本
発明の画像処理装置は以下の構成を備える。
【0014】すなわち、上記画像処理装置による符号化
データを復号する画像処理装置であって、復号した画素
データ列を格納する第1の格納手段と、復号した画素デ
ータ列を所定個数分シフトして格納する第2の格納手段
と、前記第4のコマンド出力手段により出力されたコマ
ンドが表す画素データを格納する第3の格納手段と、前
記第1乃至4のコマンド出力手段から出力されたコマン
ドの内容を特定し、特定した内容に応じて前記第1の格
納手段、もしくは第2の格納手段、もしくは第3の格納
手段に格納された画素データを用いて画像を復元する復
元手段とを備える。
【0015】
【発明の実施の形態】以下添付図面を参照して、本発明
を好適な実施形態に従って詳細に説明する。
【0016】[第1の実施形態]図11に本実施形態の
画像処理装置の基本構成を示す。本実施形態では画像処
理装置として一般的なパーソナルコンピュータやワーク
ステーションを用いる。
【0017】1101はCPUで、RAM1102やR
OM1103に格納されたプログラムやデータを用いて
本装置全体の制御を行うと共に、後述の画像圧縮処理も
行う。1102はRAMで、外部記憶装置1104や記
憶媒体ドライブ1109からロードされたプログラムや
データ等を一時的に記憶するエリアを備えると共に、C
PU1101が各種の処理を実行する際に用いるワーク
エリアも備える。1103はROMで、本装置全体の制
御プログラム(例えばブートプログラム)や制御データ
(例えば本装置の設定データ)を格納する。1104は
ハードディスクなどの外部記憶装置で、記憶媒体ドライ
ブ1109からインストールされたプログラムやデータ
などを保存する。また、上述のワークエリアのサイズが
RAM1102内に設けられなくなった場合に、不足分
をファイルとして提供することもできる。1105,1
106は夫々キーボード、マウスで、夫々ポインティン
グデバイスとして用いられ、各種の指示を本装置に入力
することができる。1107は表示装置で、CRTや液
晶画面などにより構成されており、画像や文字などを表
示することができる。1108が画像入力装置で、ディ
ジタルカメラやスキャナなどにより構成されており、撮
像や取り込みなどの操作により画像をディジタルデータ
としてRAM1102や外部記憶装置1104に入力す
ることができる。
【0018】1109は記憶媒体ドライブで、CD−R
OMやDVD−ROMなどの記憶媒体からプログラムや
データなどを読み込み、読み込んだプログラムやデータ
をRAM1102や外部記憶装置1104等に出力す
る。1110はI/F(インターフェース)で、インタ
ーネットやLANなどを介して外部の機器から圧縮処理
対象の画像を受信したり、逆に圧縮した画像を外部の機
器に対して送信する等、外部の機器とのデータの送受信
を行う際のI/Fとして機能する。1111はプリンタ
で、圧縮された画像を伸長して紙などの記録媒体に印刷
を行う画像伸長装置として機能する。1112は上述の
各部を繋ぐバスである。
【0019】図1は画像を印刷する際に用いるソフトウ
ェア群とプリンタとの関係を示す概念図である。外部記
憶装置1104内にはオペレーティングシステム2(以
下、OS)、アプリケーション3、プリンタドライバ
4,ポートドライバ6が格納されている。
【0020】OS2は図1に示した各部(プリンタ11
11は除く)、及びアプリケーション3、プリンタドラ
イバ4、ポートドライバ5などのソフトウェアを管理す
る。アプリケーション3は、例えばワードプロセッサの
ようなアプリケーションソフトウェアであり、操作者か
らキーボード1105やマウス1106を用いて指示さ
れた内容に従って文書の作成・印刷などを行う。4はプ
リンタドライバであり、アプリケーション3が発行した
印刷指令をOS2を介して受け取り、該印刷指令をプリ
ンタ1111が解釈可能なプリンタコマンドに変換す
る。5はポートドライバであり、プリンタドライバ4が
変換したプリンタコマンドをOS2を介して受け取り、
不図示のパラレルポートを介してプリンタ1111に送
信する。そしてプリンタ1111は、ポートドライバ5
から受信したプリンタコマンドに従って印刷を行う。
【0021】図2はプリンタ1111の基本構成を示す
ブロック図である。図中、11はパラレルポートであ
り、ポートドライバ6から出力されたプリンタコマンド
を受信する。12はFIFO(ファーストインファース
トアウト)メモリであり、パラレルポート11が受信し
たプリンタコマンドに含まれる符号化データ(詳細は後
述)を記憶し、記憶したデータを先入れ先出しの順に復
号回路13に出力する。復号回路13は、FIFOメモ
リ12に記憶された符号列データを復号し、復元した画
像データをプリンタエンジン14に出力する。プリンタ
エンジン14はレーザビームプリンタエンジンであり、
制御回路15の指示により、復号回路13が出力した画
像データに従って印刷を行う。画像データはシアン、マ
ゼンタ、黄、黒の各色ごとに面順次で出力される。15
は制御回路であり,例えば1チップCPUで構成され、
パラレルポート11,FIFOメモリ12,復号回路1
3,およびプリンタエンジン14の制御を行う。
【0022】以下、印刷を行う際に、図1,2に示した
各部の動作について以下、説明する。
【0023】操作者がキーボード1105やマウス11
06を用いてアプリケーション3を操作して印刷データ
を生成し、更に、生成した印刷データを印刷する指示を
入力すると、アプリケーション3からOS2を介してプ
リンタドライバ4に印刷指令が渡される。プリンタドラ
イバ4はアプリケーション3から発行された印刷指令に
基づき、赤、緑、青の3色からなるRGB画像データを
作成し、次いでRGB画像データを、シアン、マゼン
タ、黄、黒の4色からなるCMYK画像データに変換す
る。そして、プリンタドライバ4は、後述する符号化手
順に基づき、作成した画像データから符号化データを生
成し,用紙サイズ、画像データ(ビットマップデータ)
のラインの長さとライン数などを指定する印刷制御コマ
ンドとともに出力する。ポートドライバ5は、プリンタ
ドライバ4が作成した,印刷制御コマンドおよび符号化
データからなる一連のプリンタコマンドを、プリンタ1
111に送信する。
【0024】制御回路15はパラレルポート11を経由
してプリンタコマンドを受信する。受信したプリンタコ
マンドのうち印刷制御コマンドは、印刷制御のために制
御回路15の内部に保持される。また、受信したプリン
タコマンドのうち符号化データは、FIFOメモリ12
に格納される。その後、ページ終了コマンドの受信など
により、1ページを構成するプリンタコマンドの受信が
完了したことを制御回路15が検出したときに、プリン
タエンジン14に印刷の開始を指示する。印刷の開始が
指示されると、プリンタエンジン14は不図示の給紙カ
セットから用紙を給紙し、用紙が所定の位置に到達した
ときに、復号回路13に画像データの出力を要求する。
復号回路13は、あらかじめFIFOメモリ12から符
号化データを読み出し、復号することで復元される画像
データを内部のバッファに保持しておき、プリンタエン
ジン14から画像データの出力を要求されたときに、内
部のバッファに保持していた画像データを出力する。復
号回路13は、画像データを保持していたバッファに空
きができたときに、FIFOメモリ12から引き続く符
号化データを読み出し、復号して内部のバッファに保持
する。このようにして符号化データは順次復号されて画
像データとして出力され、1ページの画像データの出力
が全て終了すると、印刷が完了する。
【0025】次に、図3および図4に示すテーブルを参
照し、図1に示したプリンタドライバ4が生成する符号
について説明する。
【0026】図3は、図1に示したプリンタドライバ4
が生成する符号化データに含まれる各符号の一例を説明
するテーブルである。なお、本実施形態で説明する各符
号はビット単位で可変長であり、例えば2ビットから1
8ビットまでのビット列で表現される。各符号はハフマ
ン符号と同様に、先頭から順に調べることにより符号を
識別することができるように構成されている。
【0027】図3に示すように、符号のビット列が
「1」で開始する場合はCOPY UPコマンドであ
る。このコマンドは、あらかじめ決定された所定ライン
上の位置から、<バイト数>が示す長さのバイト列を複
写することを指示する。
【0028】また、符号のビット列が「01」で開始す
る場合は,CACHEコマンドである。このコマンドは
キャッシュバッファ(本実施形態ではCPU1101内
に設けるが、これに限定されるものではなく、CPU1
101の外部に設けても良いい)内で<3ビットデータ
>が示す位置の1バイトのデータを指定する。
【0029】また、符号のビット列が「001」で開始
する場合はRAWコマンドである。このコマンドは<8
ビットデータ>の値を持つ1バイトのデータを指定す
る。
【0030】また、符号のビット列が「0001」で開
始する場合はCOPY LEFTコマンドである。この
コマンドは、あらかじめ決定された所定バイト左の位置
から、<バイト数>が示す長さのバイト列を複写するこ
とを指示する。
【0031】また、符号のビット列が「0000」の場
合はEOBコマンドであり、符号化データの終了を指示
する。
【0032】図4は上述のCOPY UPコマンド、C
OPY LEFTコマンドに後続する、長さを示す符号
(<バイト数>)の一例を示すテーブルである。図4に
示すように、符号のビット列が「1」である場合は1バ
イトの長さを指示する。
【0033】また、符号のビット列が「01」で開始す
る場合は1ビットのデータ(0もしくは1の値を取る)
が後続し、後続する1ビットのデータが0の場合はコマ
ンド符号としては「010」となり、意味としては2バ
イトを意味することになる。一方、後続する1ビットの
データが1の場合はコマンド符号としては「011」と
なり、意味としては3バイトを意味することになる。つ
まり、符号のビット列が「01」で開始する場合は、2
バイト、もしくは3バイトの長さを意味することにあ
る。
【0034】また符号のビット列が「001」で開始す
る場合は2ビットのデータが後続するので4バイトから
7バイトまでの長さを意味し、符号のビット列が「00
01」で開始する場合は3ビットのデータが後続するの
で8バイトから15バイトまでの長さを意味し、符号の
ビット列が「00001」で開始する場合は4ビットの
データが後続するので16バイトから31バイトまでの
長さを意味し、符号のビット列が「000001」で開
始する場合は5ビットのデータが後続するので32バイ
トから63バイトまでの長さを意味し、符号のビット列
が「0000001」で開始する場合は6ビットのデー
タが後続するので64バイトから127バイトまでの長
さを意味し、符号のビット列が「0000000」で開
始する場合は7ビットのデータが後続するので128バ
イトから255バイトまでの長さを意味する。
【0035】なお、これらの符号はあらかじめ多数の画
像データで各コマンドの出現頻度を求めておき、ハフマ
ン符号と同様に、出現頻度の高いコマンドに短い符号
を、出現頻度の低いコマンドに比較的長い符号を割り当
てることにより圧縮率を高くすることができる。
【0036】次に図5を参照し、RAWコマンドおよび
CACHEコマンドの動作を説明するとともに、キャッ
シュバッファに格納されるデータについて説明する。図
5は画像データと、この画像データがRAWコマンド及
びCACHEコマンドによりキャッシュバッファに格納
される方法を説明する図である。
【0037】同図に示すように,10バイトの画像デー
タ00,01,02,03,04,05,06,07,
08,06が左から並んでいる。キャッシュバッファは
8バイトの容量があり、最初は空である。
【0038】まず最初の画像データ00は符号001
00000000すなわちRAW00コマンドに符号化
することができ、このコマンドを符号化あるいは復号し
た結果、空であったキャッシュバッファの先頭にデータ
00が格納される。
【0039】次の画像データ01は符号001 000
00001すなわちRAW01コマンドに符号化するこ
とができ、このコマンドを符号化あるいは復号した結
果、キャッシュバッファの先頭にデータ01が格納さ
れ,先頭に格納されていたデータ00は次の位置に移動
する。このようにして画像データ07までの8バイトの
データが符号化あるいは復号されるとキャッシュバッフ
ァは埋め尽くされる。次の画像データ08は符号001
00010000すなわちRAW08コマンドに符号
化することができ、このコマンドを符号化あるいは復号
した結果、キャッシュバッファの先頭にデータ08が格
納され、すでに格納されていたデータ07からデータ0
1までの7バイトのデータは順次次の位置に移動し、キ
ャッシュバッファの最後に格納されていたデータ00は
失われる。
【0040】次の画像データ06は同一のデータがキャ
ッシュバッファの位置2に格納されているため、符号0
1 010すなわちCACHE2コマンドに符号化する
ことができ、このコマンドを符号化あるいは復号した結
果、位置2に格納されていたデータ06はキャッシュバ
ッファの先頭に移動し、位置2より前に格納されていた
データ08およびデータ07は順次次の位置に移動す
る。位置2より後に格納されていたデータは変更されな
い。
【0041】なお,COPY UPコマンドまたはCO
PY LEFTコマンドを符号化あるいは復号した場合
は、キャッシュバッファに格納されているデータは変更
されない。
【0042】次に図6を参照し、COPY UPコマン
ドおよびCOPY LEFTコマンドの動作について説
明する。図6は、画像データと、この画像データをCO
PYUPコマンド及びCOPY LEFTコマンドに符
号化する方法を説明する図である。同図に示すように、
画像データを構成する画素列において、最下行には10
バイトの画像データ01,23,45,67,89,A
B,89,AB,89,ABが左から並んでおり,その
4行上には画像データ01,23,45,67,89,
AB,00,00,00,00が左から並んでいる。現
在符号化あるいは復号しようとしている画像データは最
下行であり,またCOPY UPコマンドは4行上を,
COPY LEFTコマンドは2バイト左を参照するよ
うにあらかじめ設定されているものとする。
【0043】なお、上記画像データがディザマトリクス
を用いてディザ処理を施された画像である場合、隣接す
るデータには異なった処理が行われるため、隣接したデ
ータよりもむしろディザマトリックスの周期だけ離れた
位置のデータのほうが相関が高くなるという傾向があ
る。このためディザ処理を施された画像の場合、COP
Y UPコマンドまたはCOPY LEFTコマンドが
参照する位置は、注目位置との相関が最も高くなるよう
に定められる。すなわち、符号化しようとしている画像
データを生成したときに使用されたディザマトリックス
の周期に応じて定められる。
【0044】ここで最下行の画像データのうち、先頭の
6バイト01,23,45,67,89,ABは,4行
上の先頭6バイトと同一の並びであるので、符号1 0
0110すなわちCOPY UP6コマンドに符号化す
ることができる。また次の4バイト89,AB,89,
ABは同じ行の2バイト左から始まる4バイトと同一の
並びであるので、符号0001 001 00すなわち
COPY LEFT4コマンドに符号化することができ
る。
【0045】次に図7に示すフローチャートを参照し、
プリンタドライバ4の処理の詳細を説明する。図7はプ
リンタドライバ4が行うメインの処理のフローチャート
である。
【0046】プリンタドライバ4がオペレーティングシ
ステム2からの指令を受信すると、指令の種類が描画指
令であるか否かを判定する(ステップS5)。指令の種
類が描画指令であった場合は、処理をステップS6に進
め、描画処理を行う(ステップS6)。具体的には、オ
ペレーティングシステム2を経由してアプリケーション
3から送信された文字、図形またはビットマップ等を
赤、緑、青の3色を用いた各色8ビットの画像に変換
し、RAM1102に記録する。
【0047】一方、上記指令の種類が描画指令でなかっ
た場合は、処理をステップS7に進め、更に、上記指令
の種類がページ終了指令であるか否かを判定する(ステ
ップS7)。指令の種類がページ終了指令であった場合
には、処理をステップS8に進め、色変換処理を行う
(ステップS8)。具体的にはステップS6においてR
AM1102に記録された赤、緑、青の3色を用いた各
色8ビットの画像を、所定のディザマトリックスを使用
して,シアン、マゼンタ、黄、黒の4色からなる、例え
ば各色4ビットの画像に変換する。
【0048】次に、印刷条件指定コマンド、具体的には
用紙サイズ、給紙カセット、解像度、階調数、1ライン
のバイト数、1ページのライン数など印刷に必要な条件
を指定するコマンド(印刷制御コマンド)を出力する
(ステップS9)。
【0049】そして次に、ステップS10からステップ
S14までの処理をシアン、マゼンタ、黄、黒の各色ご
とに繰り返し、各色毎の印刷制御コマンドを出力する。
各ステップにおける具体的な処理としては、まずステッ
プS8において使用したディザマトリックスに応じた圧
縮パラメタ、すなわち符号化時に使用する、COPYU
PコマンドおよびCOPY LEFTコマンドが参照す
る位置を出力する(ステップS10)。次に後述する符
号化手順に従い、画像データを符号化する(ステップS
11)。このときに、ステップS10にて出力した圧縮
パラメタが指定する、COPY UPコマンドおよびC
OPY LEFTコマンドが参照する位置を用いて符号
化を行う。次にステップS11にて符号化された画像デ
ータのサイズおよびライン数を指定するヘッダを出力す
る(ステップS12)。次にステップS11にて符号化
された画像データを出力する(ステップS13)。次に
シアン、マゼンタ、黄、黒の各プレーンの処理が全て終
了したか否かを判定する(ステップS14)。シアン、
マゼンタ、黄、黒の各プレーンの処理が全て終了してい
ない場合は処理をステップS10に戻し、次のプレーン
の処理を行う。一方、シアン、マゼンタ、黄、黒の各プ
レーンの処理が全て終了すると、処理をステップS15
に進め、ページの終了を指定するコマンドを出力する
(ステップS15)。
【0050】一方、ステップS7における判断で、指令
の種類がページ終了指令でなかった場合に、処理をステ
ップS16に進め、指令の種類に応じたその他の処理、
例えばページ開始指令あるいはプリンタ能力問い合わせ
指令等に対応する処理を行う(ステップS16)。
【0051】次に、上記ステップS11における符号化
処理について、同処理の詳細を示すフローチャートを示
す図8を参照して説明する。
【0052】まず、現在の位置、すなわち符号化する画
素の位置を画像の左端上に設定する(ステップS2
0)。次にCOPY UPの参照位置が有効であるか否
かを判定する(ステップS21)。具体的にはCOPY
UPの参照位置が4行上である場合は、現在の位置が
先頭行から4行以上である場合にCOPY UPの参照
位置が有効であると判定する。COPY UPの参照位
置が有効である場合には処理をステップS22に進め、
現在の位置から始まるバイト列(画素データ列)と、C
OPY UPの参照位置から始まる画素データのバイト
列を比較し、値が一致するバイト列の長さを求める(ス
テップS22)。なおこの際に、行末に達した場合、及
び長さが255バイトに達した場合には処理を打ち切る
ものとする。
【0053】次にステップS22にて求めた長さが0で
あるか否かを判定する(ステップS23)。0でない場
合にはCOPY UPコマンドに符号化できると判断さ
れるので処理をステップS29に進め、COPY UP
コマンド、すなわち符号1とそれに後続するバイト数
(求めた長さ)を示す符号を出力し、処理をステップS
32に進める。
【0054】一方、ステップS21にてCOPY UP
の参照位置が無効であると判定された場合、もしくはス
テップS23にてステップS22で求めた長さが0であ
ると判定された場合は、処理をステップS24に進め、
COPY LEFTの参照位置が有効であるか判定する
(ステップS24)。具体的にはCOPY LEFTの
参照位置が2バイト左である場合は、現在の位置が左端
から2バイト以上離れている場合にCOPY LEFT
の参照位置が有効であると判定する。COPYLEFT
の参照位置が有効である場合には処理をステップS25
に進め、現在の位置から始まるバイト列(画素データ
列)と、COPY LEFTの参照位置から始まるバイ
ト列を比較し、一致するバイト列の長さを求める(ステ
ップS25)。なおこの際に、行末に達した場合、及び
長さが255バイトに達した場合には処理を打ち切るも
のとする。
【0055】次に、ステップS25にて求めた長さが0
であるか否かを判定する(ステップS26)。0でない
場合にはCOPY LEFTコマンドに符号化できると
判断されるので処理をステップS30に進め、COPY
LEFTコマンド、すなわち符号0001とそれに後
続するバイト数(求めた長さ)を示す符号を出力し、処
理をステップS32に進める。
【0056】一方、ステップS24にてCOPY LE
FTの参照位置が無効であると判定された場合、もしく
はステップS26にてステップS25で求めた長さが0
であると判定された場合は、処理をステップS27に進
め、キャッシュバッファを検索し、現在の位置のバイト
(画素データ)がキャッシュバッファに登録されている
か否かを判定する(ステップS27)。現在の位置のバ
イトがキャッシュバッファに登録されている場合、CA
CHEコマンドに符号化できると判断されるので、処理
をステップS31に進め、CACHEコマンド、すなわ
ち符号01とそれに後続する、キャッシュがヒットした
キャッシュバッファの位置を示す3ビットデータを出力
し(ステップS31)、キャッシュバッファを更新する
(ステップS37)。具体的には現在の位置のバイトを
キャッシュバッファの先頭に格納するとともに、キャッ
シュバッファの先頭から、キャッシュがヒットしたキャ
ッシュバッファの位置の手前までのデータを順次キャッ
シュバッファの次の位置に移動する処理を行う。
【0057】一方、ステップS27にて現在の位置のバ
イトがキャッシュバッファに登録されていないと判定さ
れた場合には、処理をステップS28に進め、RAWコ
マンド、すなわち符号001とそれに後続する、現在の
位置のバイトに等しい8ビットの生データを出力する
(ステップS28)。具体的には、現在の位置のバイト
をキャッシュバッファの先頭に格納するとともに、キャ
ッシュバッファの先頭からキャッシュバッファの最後の
手前までのデータを順次キャッシュバッファの次の位置
に移動する処理を行う。
【0058】次に、COPY UP、COPY LEF
T、CACHE、あるいはRAWコマンドで処理された
バイト数だけ現在の位置を進める(ステップS32)。
次に、全ての画像データを処理したか判定する(ステッ
プS33)。全ての画像データを処理していない場合に
は処理をステップS21に戻し、上述の符号化処理を行
う。また、全ての画像データを処理し終えた場合は、処
理をステップS34に進め、EOBコマンド、すなわち
符号0000を出力し(ステップS34)、更に、出力
した符号の総ビット数が8の整数倍となるように(8の
整数倍に達するまで)ビット0を出力する(ステップS
35)。
【0059】次に、復号回路13について説明する。図
9は復号回路13の基本構成を示すブロック図である。
同図において入力バッファ21はFIFOメモリ12か
ら読み出した符号化データを格納する。入力バッファ2
1は少なくとも4バイトのデータを格納することがで
き、バッファ21に空きが生じ、かつFIFOメモリ1
2にデータがある場合はFIFOメモリ12からデータ
を読み出して格納する。入力バッファ21はまた、ビッ
トカウンタ23に保持された、処理済ビット数が8以上
になった場合には、不要になった処理済データを破棄す
る。
【0060】セレクタ22は、例えば18組の8入力セ
レクタであり、入力バッファ21に格納された符号デー
タを、ビットカウンタ23が示す処理済ビット数に従っ
て選択することにより、コマンドデコード回路24が処
理するために必要な、コマンドの開始位置合わせを行
う。これは、入力バッファ21がバイト単位にデータを
保持するのに対し、コマンドはビット単位の可変長デー
タであるため、8箇所の開始位置があるために必要なも
のである。
【0061】ビットカウンタ23は、入力バッファ21
に格納された符号データのうち処理済みのビット数を格
納する。ビットカウンタ23はまた、コマンドデコード
回路24から出力された、コマンドのビット数をカウン
トし、ビットカウンタ23に格納された値をカウントし
た値に更新する。ビットカウンタ23はまた、入力バッ
ファ21が処理済データを破棄した場合には、格納して
いる値から破棄したビット数を減算する。ビットカウン
タ23はまた、コマンドデコード回路24がEOBコマ
ンドを復号したときに、コマンドデコード回路24から
EOB信号を受信し、ビットカウンタの下位3ビットが
全て0であれば何もせず、そうでなければ格納している
値に8を加算するとともに下位3ビットをクリアする処
理を行う。
【0062】コマンドデコード回路24は、例えばリー
ドオンリーメモリ、あるいはワイヤードロジックにより
構成され、セレクタ22によって位置合わせが行われ
た、入力バッファ21に格納された符号データを復号
し、復号したコマンドに従ってキャッシュ出力回路2
5,上コピー出力回路26、左コピー出力回路27、生
データ出力回路28、およびビットカウンタ23に、前
述の、あるいは後述する各種の信号を出力する。
【0063】キャッシュ出力回路25は、コマンドデコ
ード回路24がCACHEコマンドを復号したときにキ
ャッシュバッファの位置を示す3ビットのデータを受信
し、キャッシュバッファ36から該位置のデータを読み
取って出力する。上コピー出力回路26は、コマンドデ
コード回路24がCOPY UPコマンドを復号したと
きにコピーすべきバイト数を受信し、受信したバイト数
に応じてラインバッファ35からデータを読み取り、読
み取ったデータを出力することを繰り返す。左コピー出
力回路27は、コマンドデコード回路24がCOPY
LEFTコマンドを復号したときにコピーすべきバイト
数を受信し、受信したバイト数に応じて可変段シフトレ
ジスタ39からデータを読み取り、読み取ったデータを
出力することを繰り返す。生データ出力回路28は、コ
マンドデコード回路24がRAWコマンドを復号したと
きに生データを示す8ビットのデータを受信し、受信し
たデータを出力する。
【0064】ライン長レジスタ29は、受信した印刷制
御コマンドに含まれる1ラインのバイト数を保持する。
列カウンタ30は、ラインバッファ35の現在の列アド
レスを保持し、ラインバッファ35に書き込みが行われ
る毎にカウントアップし、またその結果、ライン長レジ
スタ29が保持する1ラインのバイト数に達した場合に
は0に復帰する。行数レジスタ31は、受信した圧縮パ
ラメタに含まれるCOPY UPコマンドが参照する位
置を示すライン数を保持する。行カウンタ32は、ライ
ンバッファ35の現在の行アドレスを保持し、列カウン
タ30がライン長レジスタ29が保持する1ラインのバ
イト数に達して0に復帰する毎にカウントアップする。
なお、行数レジスタ31が保持するライン数に達した場
合には0に復帰する。行カウンタ32はまた、行数レジ
スタ31にライン数が出力されたときには0に復帰す
る。
【0065】乗算回路33は、行カウンタ32が保持す
る現在の行アドレスと、ライン長レジスタ29が保持す
る1ラインのバイト数との積を計算することにより、ラ
インバッファ35の現在の行の先頭アドレスを出力す
る。加算回路34は、乗算回路33が出力する現在の行
の先頭アドレスと、列カウンタ30が保持する現在の列
アドレスとの和を計算することにより、ラインバッファ
35の現在のアドレスを出力する。
【0066】ラインバッファ35は、複数のラインの復
号データを保持し、加算回路34が出力するアドレスに
従って復号データの入力または出力を行う。ラインバッ
ファ35は、行数レジスタ31が保持するライン数によ
って指定されるサイズのリングメモリを構成する。
【0067】キャッシュバッファ36は、キャッシュ出
力回路25または生データ出力回路28が画像データを
復号したときにこれを記憶し、またキャッシュ出力回路
25が参照するデータを出力する。段数レジスタ38
は、COPY LEFTコマンドが参照する位置を示す
バイトオフセット値を保持する。可変段シフトレジスタ
39は、シフトレジスタとセレクタによって構成され、
段数レジスタ38が保持するバイトオフセット値に等し
い段数のシフトレジスタを構成し、出力された復号デー
タを、段数レジスタ38が保持するバイトオフセット値
で指定された値より1だけ小さい回数遅延したデータを
出力する。
【0068】以上の構成において、コマンドデコード回
路24がCOPY UPコマンドをデコードすると、そ
れに引き続く後続のバイト数をデコードし、上コピー出
力回路26にデコードしたバイト数を出力する。そして
ラインバッファ35において、現在の行よりも行数レジ
スタ31に格納されたライン数上で、且つデコードされ
たバイト数分の復号データ群がラインバッファ35から
上コピー出力回路26に読み出され、上コピー出力回路
26は読み出された復号データ群を加算回路34が出力
するアドレス(言い換えれば、現在の位置)から順に書
き込む。一方、読み出された復号データ群は可変段シフ
トレジスタ39に入力される(以下、先頭から)。そし
て可変段シフトレジスタ39に既に保持されていたデー
タは一段ずつシフトされ、可変段シフトレジスタ39の
最終段からは、現在の位置の次の位置に対応する、CO
PY LEFTコマンドが参照する位置の1バイトが出
力される。次いで列カウンタ30はカウントアップされ
る。このようにして、指定されたバイト数の処理が終了
するまで、復号データの出力が行われる。
【0069】一方、コマンドデコード回路24がCOP
Y LEFTコマンドをデコードすると、それに引き続
く後続のバイト数をデコードし、左コピー出力回路27
にデコードしたバイト数を出力する。そしてこのバイト
数分、可変シフトレジスタ39から復号データが可変段
シフトレジスタ39から読み取られ、左コピー出力回路
27に入力される。左コピー出力回路27がこの復号デ
ータを出力すると、出力された復号データはラインバッ
ファ35の現在の位置(加算回路34が出力するアドレ
ス)に書き込まれるとともに、可変段シフトレジスタ3
9に入力される。また可変段シフトレジスタ39に保持
されていたデータは一段ずつシフトされ、可変段シフト
レジスタ39の最終段からは現在の位置の次の位置に対
応するCOPY LEFTコマンドが参照する位置の1
バイトが出力される。次いで列カウンタ30はカウント
アップされる。このようにして、指定されたバイト数の
処理が終了するまで、復号データの出力が行われる。
【0070】コマンドデコード回路24がRAWコマン
ドをデコードすると、引き続く後続の8ビットの生デー
タを生データ出力回路28に出力する。生データ出力回
路28がこのデータを出力すると、出力された復号デー
タは、ラインバッファ35の現在の位置に書き込まれる
とともに、可変段シフトレジスタ39に入力され、また
可変段シフトレジスタ39に保持されていたデータは一
段ずつシフトされ、可変段シフトレジスタ39の最終段
からは、現在の位置の次の位置に対応する,COPY
LEFTコマンドが参照する位置の1バイトが出力され
る。次いで列カウンタ30はカウントアップされる。ま
た、出力された復号データはキャッシュバッファ36の
先頭に記憶される。
【0071】コマンドデコード回路24がCACHEコ
マンドをデコードすると、引き続く後続の3ビットのキ
ャッシュバッファ内の位置を示すデータをキャッシュ出
力回路25に出力する。キャッシュ出力回路25は指定
された位置の復号データをキャッシュバッファ36から
読み取り、その復号データを出力する。出力された復号
データはラインバッファ35の現在の位置に書き込まれ
るとともに、可変段シフトレジスタ39に入力される。
また可変段シフトレジスタ39に保持されていたデータ
は一段ずつシフトされ、可変段シフトレジスタ39の最
終段からは現在の位置の次の位置に対応するCOPY
LEFTコマンドが参照する位置の1バイトが出力され
る。次いで列カウンタ30はカウントアップされる。出
力された復号データはまた、キャッシュバッファ36の
先頭に記憶される。
【0072】次に図10を参照し、キャッシュバッファ
36の構成について説明する。図10はキャッシュバッ
ファ36の詳細な構成を示すブロック図である。
【0073】同図において51は第1のシフトレジスタ
であり、8ビット8段のシフトレジスタによって構成さ
れる。第1のシフトレジスタ51は生データ出力回路2
8またはキャッシュ出力回路25が出力した1バイトの
画像データを8つまで記憶することができる。第1のシ
フトレジスタ51を構成する各段のレジスタは制御回路
55からシフトパルスが入力された場合には前段のレジ
スタが記憶しているデータを記憶する。
【0074】52は第2のシフトレジスタであり、1ビ
ット8段のシフトレジスタによって構成される。第2の
シフトレジスタ52を構成する各段のレジスタは第1の
シフトレジスタ51の対応するレジスタにデータが記憶
されているか否かを示す1ビットの情報を保持する。第
2のシフトレジスタ52を構成する各段のレジスタは、
制御回路55からシフトパルスが入力された場合には前
段のレジスタが記憶しているデータを記憶する。
【0075】53はセレクタであり、入力されたアドレ
ス、すなわち参照すべきキャッシュバッファの位置にし
たがって、第1のシフトレジスタ51を構成する各段の
レジスタのうちの1つが記憶しているデータを選択して
出力する。
【0076】54はデコーダであり、キャッシュバッフ
ァからの読み取りを指示する読取信号が入力されたとき
に、入力されたアドレス、すなわち参照すべきキャッシ
ュバッファの位置にしたがって、第2のシフトレジスタ
52を構成する各段のレジスタのうちの1つをクリアす
る信号を出力する。
【0077】55は制御回路であり、キャッシュバッフ
ァへの書き込みを指示する書込信号が入力されたとき
に、第2のシフトレジスタ52に保持されている第1の
シフトレジスタ51の対応するレジスタにデータが記憶
されているか否かを示す情報にしたがって第1のシフト
レジスタ51および第2のシフトレジスタ52のシフト
が必要な各段に対してシフトパルスを出力する。シフト
パルスはそれ以前の段のいずれかにデータが記憶されて
いない段がある場合には出力されず、そうでない場合に
は出力される。
【0078】生データ出力回路28が復号データを出力
すると出力された復号データは第1のシフトレジスタ5
1に入力されるとともに,制御回路55に書込信号が入
力される。データが記憶されている段は連続しているの
で、制御回路55は先頭段および前段にデータが記憶さ
れている段にシフトパルスを出力し、第1のシフトレジ
スタ51の先頭段には入力された復号データが、第2の
シフトレジスタ52の先頭段にはデータが有効であるこ
とを示す値1がそれぞれ記憶されるとともに、前段にデ
ータが記憶されている段には前段のデータが記憶され
る。
【0079】キャッシュ出力回路25がキャッシュバッ
ファの位置を示す情報を受信すると、受信されたキャッ
シュバッファの位置を示す情報すなわちアドレスはセレ
クタ53およびエンコーダ54に入力されるとともに、
読取信号がエンコーダ54に入力される。セレクタ53
は入力されたアドレスにしたがって第1のシフトレジス
タ51に記憶されているデータを選択して出力する。ま
たエンコーダ54は、入力されたアドレスにしたがって
データが出力された段に対してクリア信号を出力する。
この結果、第2のシフトレジスタ52のデータが出力さ
れた段のレジスタはクリアされる。
【0080】キャッシュ出力回路25はセレクタ53が
出力したデータを読み取り、それを復号データとして出
力すると、出力された復号データは第1のシフトレジス
タ51に入力されるとともに、制御回路55に書込信号
が入力される。データが記憶されている段は第2のシフ
トレジスタ52のキャッシュバッファの読み取りが行わ
れた段がクリアされたため不連続となっているので、制
御回路55は先頭段からキャッシュバッファの読み取り
が行われた段までの段にシフトパルスを出力するので、
第1のシフトレジスタ51の先頭段には入力された復号
データが、第2のシフトレジスタ52の先頭段にはデー
タが有効であることを示す値1がそれぞれ記憶されると
ともに、第1のシフトレジスタ51および第2のシフト
レジスタ52の第2段からキャッシュバッファの読み取
りが行われた段までの段には、その前段のデータが記憶
される。
【0081】このようにしてキャッシュバッファ36に
はRAWコマンドまたはCACHEコマンドを復号した
データが新しい順に記憶されるように維持される。
【0082】以上の説明の通り、本実施形態の画像処理
装置は、以前のデータ系列と一致する部分は一致する長
さを符号化するので、画像データのように同一データの
系列が並ぶことが多いデータを高い圧縮率で符号化する
ことができる。
【0083】また、以前のデータ系列と一致しない場合
にはキャッシュバッファを検索し、キャッシュがヒット
した場合にはキャッシュバッファの位置を符号化するの
で、データ自体を符号化する場合に較べて短い符号に符
号化することができ、以前のデータ系列と一致する部分
が少ない場合でも極力圧縮率の低下を防ぐことができ
る。
【0084】また、データ系列が一致した長さを符号化
した場合には,キャッシュバッファを更新しないので、
長いデータ系列によりキャッシュバッファが書き換わる
ことによる圧縮率の低下を防ぐことができる。
【0085】[第2の実施形態]第1の実施形態では復
号処理をハードウェアで行っているが、これに限定され
るものではなく、ソフトウェアで行っても良い。また、
第1の実施形態では符号化(圧縮)処理をソフトウェア
で行っているが、これに限定されるものではなく、専用
のハードウェアを用いて行っても良い。又第1の実施形
態では、符号化の単位データサイズは1バイトであった
が、これに限定されるものではなく、例えば1画素ある
いは2バイトであってもよい。
【0086】また第1の実施形態では、キャッシュバッ
ファがフルのときに破棄するデータを選択する際に最も
長い間参照されなかったデータを破棄する、いわゆるL
RU法を用いているがこれに限定されるものではなく、
例えば擬似LRU法、あるいは擬似ランダム法などを用
いてもよい。
【0087】[他の実施形態]なお、本発明は、複数の
機器(例えばホストコンピュータ、インタフェイス機
器、リーダ、プリンタなど)から構成されるシステムに
適用しても、一つの機器からなる装置(例えば、複写
機、ファクシミリ装置など)に適用してもよい。
【0088】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることは言うまでもない。
【0089】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0090】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明した(図7,8の一部もしく
は全部の)フローチャートに対応するプログラムコード
が格納されることになる。
【0091】
【発明の効果】以上詳細に説明したように、本発明で
は、以前の画像データ列と一致する場合にはその冗長性
を利用して高い圧縮率を得るとともに、画像データ列が
一致する部分が少ない場合においても、圧縮率の低下を
極力抑えることができる。
【図面の簡単な説明】
【図1】画像を印刷する際に用いるソフトウェア群とプ
リンタとの関係を示す概念図である。
【図2】プリンタ1111の基本構成を示すブロック図
である。
【図3】図1に示したプリンタドライバ4が生成する符
号化データに含まれる書く符号の一例を説明するテーブ
ルを示す図である。
【図4】COPY UPコマンド、COPY LEFT
コマンドに後続する、長さを示す符号(<バイト数>)
の一例を示すテーブルを示す図である。
【図5】画像データと、この画像データがRAWコマン
ド及びCACHEコマンドによりキャッシュバッファに
格納される方法を説明する図である。
【図6】画像データと、この画像データをCOPY U
Pコマンド及びCOPYLEFTコマンドに符号化する
方法を説明する図である。
【図7】プリンタドライバ4が行うメインの処理のフロ
ーチャートである。
【図8】ステップS11における符号化処理の詳細を示
すフローチャートである。
【図9】復号回路13の基本構成を示すブロック図であ
る。
【図10】キャッシュバッファ36の詳細な構成を示す
ブロック図である。
【図11】本発明の実施形態における画像処理装置にお
ける基本構成を示すブロック図である。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 画像を圧縮する画像処理装置であって、 画像に対してディザマトリックスを用いて色変換処理を
    行い、色毎の画像データを生成する色変換手段と、 色毎の画像データに対して、圧縮対象の画素データ列
    と、当該画素データ列と所定の位置関係にある画素デー
    タ列とを比較し、一致する画像データ列の長さを示すコ
    マンドと共に、当該比較内容を示すコマンドを出力し、
    色毎の画像データの符号化データを生成するコマンド出
    力手段とを備えることを特徴とする画像処理装置。
  2. 【請求項2】 画像を圧縮する画像処理装置であって、 画像に対してディザマトリックスを用いて色変換処理を
    行い、色毎の画像データを生成する色変換手段と、 前記色毎の画像データを圧縮し、符号化する符号化手段
    と、 前記符号化手段による符号化データを出力する出力手段
    とを備え、 更に前記符号化手段は、 圧縮対象の列の画素データ列と、当該列と所定の位置関
    係にある列の画素データ列とを比較して、一致する画素
    データ列の長さを求め、当該一致する画素データ列とし
    て、前記比較内容を示すコマンドと共に、前記長さを示
    すコマンドを出力する第1のコマンド出力手段と、 前記長さが0の場合、圧縮対象の列の画素データ列と、
    当該列において所定の位置関係にある画素データ列とを
    比較して、一致する画素データ列の長さを求め、当該一
    致する画素データ列として、前記比較内容を示すコマン
    ドと共に、前記長さを示すコマンドを出力する第2のコ
    マンド出力手段と、 前記第1のコマンド出力手段により求めた長さ、前記第
    2のコマンド出力手段により求めた長さが共に0の場
    合、圧縮対象の列の画素データ列の一部もしくは全部を
    格納する格納手段と、 前記第1のコマンド出力手段により求めた長さ、前記第
    2のコマンド出力手段により求めた長さが共に0の場
    合、圧縮対象の画素データと前記格納手段に格納された
    画素データ列とを比較し、前記圧縮対象の画素データと
    して、一致する画素データの前記格納手段における位置
    を示すコマンドと共に、前記比較内容を示すコマンドを
    出力する第3のコマンド出力手段と、 前記第1のコマンド出力手段により求めた長さ、前記第
    2のコマンド出力手段により求めた長さが共に0の場
    合、且つ、前記第3のコマンド出力手段による比較の結
    果、圧縮対象の画素データと一致する画素データが前記
    格納手段に存在しないと判断された場合、圧縮対象の画
    素データを示すコマンドを出力する第4のコマンド出力
    手段とを備え、 前記第1乃至4のコマンド出力手段の一部もしくは全部
    によるコマンドを含む符号化データを生成することを特
    徴とする画像処理装置。
  3. 【請求項3】 前記色変換手段は、画像に対してディザ
    マトリックスを用いることで、赤、緑、青を用いた画像
    をシアン、マゼンタ、黄、黒を用いた画像に色変換し、
    前記符号化手段は、シアン、マゼンタ、黄、黒の各色の
    画像データに対して符号化を行うことを特徴とする請求
    項2に記載の画像処理装置。
  4. 【請求項4】 前記第3のコマンド出力手段は、前記第
    1のコマンド出力手段により求めた長さ、前記第2のコ
    マンド出力手段により求めた長さが共に0の場合、圧縮
    対象の画素データと前記格納手段に格納された画素デー
    タ列とを比較し、前記圧縮対象の画素データとして、一
    致する画素データの前記格納手段における位置を示すコ
    マンドと共に、前記比較を示すコマンドを出力し、 更に、前記一致する画素データを前記格納手段に格納す
    ることを特徴とする請求項2に記載の画像処理装置。
  5. 【請求項5】 前記第4のコマンド出力手段は、前記第
    1のコマンド出力手段により求めた長さ、前記第2のコ
    マンド出力手段により求めた長さが共に0の場合、且
    つ、前記第3のコマンド出力手段による比較の結果、圧
    縮対象の画素データと一致する画素データが前記格納手
    段に存在しないと判断された場合、圧縮対象の画素デー
    タを示すコマンドを出力し、 更に、前記圧縮対象の画素データを前記格納手段に格納
    することを特徴とする請求項2に記載の画像処理装置。
  6. 【請求項6】 前記格納手段はキャッシュバッファであ
    って、前記第3のコマンド出力手段は、圧縮対象の画素
    データとして、圧縮対象の画素データに対してキャッシ
    ュがヒットした前記キャッシュバッファの位置を示すコ
    マンドと共に、前記比較内容を示すコマンドを出力する
    ことを特徴とする請求項2乃至5のいずれか1項に記載
    の画像処理装置。
  7. 【請求項7】 前記出力手段は、出力する符号化データ
    の総ビット数が8の倍数となるように0を補填すること
    を特徴とする請求項2に記載の画像処理装置。
  8. 【請求項8】 前記所定の位置関係は、前記ディザマト
    リックスの周期に応じたものであることを特徴とする請
    求項2に記載の画像処理装置。
  9. 【請求項9】 請求項2乃至8のいずれか1項に記載の
    画像処理装置による符号化データを復号する画像処理装
    置であって、 復号した画素データ列を格納する第1の格納手段と、 復号した画素データ列を所定個数分シフトして格納する
    第2の格納手段と、 前記第4のコマンド出力手段により出力されたコマンド
    が表す画素データを格納する第3の格納手段と、 前記第1乃至4のコマンド出力手段から出力されたコマ
    ンドの内容を特定し、特定した内容に応じて前記第1の
    格納手段、もしくは第2の格納手段、もしくは第3の格
    納手段に格納された画素データを用いて画像を復元する
    復元手段とを備えることを特徴とする画像処理装置。
  10. 【請求項10】 前記第1の格納手段はラインバッファ
    であって、前記第1のコマンド出力手段により比較され
    る夫々の画素データ列の間隔分のサイズを有するリング
    メモリであることを特徴とする請求項9に記載の画像処
    理装置。
  11. 【請求項11】 前記第2の格納手段はシフトレジスタ
    とセレクタにより構成されており、復号した画素データ
    列を、前記第2のコマンド出力手段により比較される夫
    々の画素データの間隔分シフトすることを特徴とする請
    求項9に記載の画像処理装置。
  12. 【請求項12】 前記第3の格納手段はキャッシュメモ
    リであることを特徴とする請求項9に記載の画像処理装
    置。
  13. 【請求項13】 前記復号手段は、前記第1のコマンド
    出力手段により出力されたコマンドの場合、当該コマン
    ドによって特定される前記第1の格納手段に格納された
    画素データ列を読み出して、前記第1の格納手段に格納
    された画素データ列の最後尾に追加して格納すると共
    に、前記第2の格納手段の先頭に格納することを特徴と
    する請求項9乃至12のいずれか1項に記載の画像処理
    装置。
  14. 【請求項14】 前記復号手段は、前記第2のコマンド
    出力手段により出力されたコマンドの場合、当該コマン
    ドによって特定される個数分の画素データ列を前記第2
    の格納手段から読み出して、前記第1の格納手段に格納
    された画素データ列の最後尾に追加して格納すると共
    に、前記第2の格納手段の先頭に格納することを特徴と
    する請求項9乃至12のいずれか1項に記載の画像処理
    装置。
  15. 【請求項15】 前記復号手段は、前記第3のコマンド
    出力手段により出力されたコマンドの場合、当該コマン
    ドによって特定される前記第3の格納手段に格納された
    画素データを読み出して、前記第1の格納手段に格納さ
    れた画素データ列の最後尾に追加して格納すると共に、
    前記第3の格納手段の先頭に格納することを特徴とする
    請求項9乃至12のいずれか1項に記載の画像処理装
    置。
  16. 【請求項16】 前記復号手段は、前記第4のコマンド
    出力手段によって出力されたコマンドの場合、当該コマ
    ンドが表す画素データを前記第1の格納手段に格納され
    た画素データ列の最後尾に追加して格納すると共に、前
    記第3の格納手段の先頭に格納することを特徴とする請
    求項9乃至12のいずれか1項に記載の画像処理装置。
  17. 【請求項17】 画像を圧縮する画像処理方法であっ
    て、 画像に対してディザマトリックスを用いて色変換処理を
    行い、色毎の画像データを生成する色変換工程と、 色毎の画像データに対して、圧縮対象の画素データ列
    と、当該画素データ列と所定の位置関係にある画素デー
    タ列とを比較し、一致する画像データ列の長さを示すコ
    マンドと共に、当該比較内容を示すコマンドを出力し、
    色毎の画像データの符号化データを生成するコマンド出
    力工程とを備えることを特徴とする画像処理方法。
  18. 【請求項18】 画像を圧縮する画像処理方法であっ
    て、 画像に対してディザマトリックスを用いて色変換処理を
    行い、色毎の画像データを生成する色変換工程と、 前記色毎の画像データを圧縮し、符号化する符号化工程
    と、 前記符号化工程による符号化データを出力する出力工程
    とを備え、 更に前記符号化工程では、 圧縮対象の列の画素データ列と、当該列と所定の位置関
    係にある列の画素データ列とを比較して、一致する画素
    データ列の長さを求め、当該一致する画素データ列とし
    て、前記比較内容を示すコマンドと共に、前記長さを示
    すコマンドを出力する第1のコマンド出力工程と、 前記長さが0の場合、圧縮対象の列の画素データ列と、
    当該列において所定の位置関係にある画素データ列とを
    比較して、一致する画素データ列の長さを求め、当該一
    致する画素データ列として、前記比較内容を示すコマン
    ドと共に、前記長さを示すコマンドを出力する第2のコ
    マンド出力工程と、 前記第1のコマンド出力工程で求めた長さ、前記第2の
    コマンド出力工程で求めた長さが共に0の場合、圧縮対
    象の列の画素データ列の一部もしくは全部を所定の格納
    手段に格納する格納工程と、 前記第1のコマンド出力工程で求めた長さ、前記第2の
    コマンド出力工程で求めた長さが共に0の場合、圧縮対
    象の画素データと前記格納工程で格納された画素データ
    列とを比較し、前記圧縮対象の画素データとして、一致
    する画素データの前記格納工程で格納した位置を示すコ
    マンドと共に、前記比較内容を示すコマンドを出力する
    第3のコマンド出力工程と、 前記第1のコマンド出力工程で求めた長さ、前記第2の
    コマンド出力工程で求めた長さが共に0の場合、且つ、
    前記第3のコマンド出力工程での比較の結果、圧縮対象
    の画素データと一致する画素データが前記格納工程で格
    納していないと判断された場合、圧縮対象の画素データ
    を示すコマンドを出力する第4のコマンド出力工程とを
    備え、 前記第1乃至4のコマンド出力手段の一部もしくは全部
    によるコマンドを含む符号化データを生成することを特
    徴とする画像処理方法。
  19. 【請求項19】 請求項18に記載の画像処理方法によ
    る符号化データを復号する画像処理装置であって、 復号した画素データ列を第1の格納手段に格納する第1
    の格納工程と、 復号した画素データ列を所定個数分シフトして第2の格
    納手段に格納する第2の格納工程と、 前記第4のコマンド出力工程で出力されたコマンドが表
    す画素データを第3の格納手段に格納する第3の格納工
    程と、 前記第1乃至4のコマンド出力工程で出力されたコマン
    ドの内容を特定し、特定した内容に応じて前記第1の格
    納工程、もしくは第2の格納工程、もしくは第3の格納
    工程で格納された画素データを用いて画像を復元する復
    元工程とを備えることを特徴とする画像処理方法。
  20. 【請求項20】 請求項17乃至19のいずれか1項に
    記載の画像処理方法を実行するプログラム。
  21. 【請求項21】 請求項20に記載のプログラムを格納
    し、コンピュータが読み取り可能な記憶媒体。
JP2001374340A 2001-12-06 2001-12-07 画像処理装置、画像処理方法、プログラム、及び記憶媒体 Expired - Fee Related JP3970007B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2001374340A JP3970007B2 (ja) 2001-12-07 2001-12-07 画像処理装置、画像処理方法、プログラム、及び記憶媒体
EP02258367.8A EP1318665B1 (en) 2001-12-06 2002-12-04 Image processing apparatus and method, program, and storage medium
CN 200810097396 CN101282406B (zh) 2001-12-06 2002-12-05 图像处理装置
CNB02155529XA CN100397866C (zh) 2001-12-06 2002-12-05 图像处理装置、图像处理方法
CN 200810094578 CN101282405B (zh) 2001-12-06 2002-12-05 图像处理装置、图像处理方法
CN2008100973975A CN101282407B (zh) 2001-12-06 2002-12-05 图像处理装置、图像处理方法
US10/310,812 US7245396B2 (en) 2001-12-06 2002-12-06 Image data coding apparatus, image data decoding apparatus, image data coding method and image data decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001374340A JP3970007B2 (ja) 2001-12-07 2001-12-07 画像処理装置、画像処理方法、プログラム、及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2003174565A true JP2003174565A (ja) 2003-06-20
JP3970007B2 JP3970007B2 (ja) 2007-09-05

Family

ID=19182912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001374340A Expired - Fee Related JP3970007B2 (ja) 2001-12-06 2001-12-07 画像処理装置、画像処理方法、プログラム、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP3970007B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504734A (ja) * 2004-06-25 2008-02-14 アボセント コーポレイション デジタル映像圧縮コマンド優先度
JP2010147671A (ja) * 2008-12-17 2010-07-01 Casio Electronics Co Ltd データ伸長装置
US8385429B2 (en) 2002-10-01 2013-02-26 Avocent Corporation Video compression encoder
US8660194B2 (en) 2006-04-28 2014-02-25 Avocent Corporation DVC delta commands
US8805096B2 (en) 2004-06-25 2014-08-12 Avocent Corporation Video compression noise immunity
US9560371B2 (en) 2003-07-30 2017-01-31 Avocent Corporation Video compression system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385429B2 (en) 2002-10-01 2013-02-26 Avocent Corporation Video compression encoder
US9743095B2 (en) 2002-10-01 2017-08-22 Avocent Corporation Video compression encoder
US9560371B2 (en) 2003-07-30 2017-01-31 Avocent Corporation Video compression system
JP2008504734A (ja) * 2004-06-25 2008-02-14 アボセント コーポレイション デジタル映像圧縮コマンド優先度
US8805096B2 (en) 2004-06-25 2014-08-12 Avocent Corporation Video compression noise immunity
US8660194B2 (en) 2006-04-28 2014-02-25 Avocent Corporation DVC delta commands
JP2010147671A (ja) * 2008-12-17 2010-07-01 Casio Electronics Co Ltd データ伸長装置

Also Published As

Publication number Publication date
JP3970007B2 (ja) 2007-09-05

Similar Documents

Publication Publication Date Title
US20030107753A1 (en) Image processing apparatus and method, program, and storage medium
US7983500B2 (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus
EP1285399B1 (en) Enhanced compression of gray-level images
US5675382A (en) Spatial compression and decompression for video
US6008745A (en) Variable length decoding using lookup tables
US6285796B1 (en) Pseudo-fixed length image compression scheme
US7454070B2 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
US7715637B2 (en) Image processing apparatus and control method therefor
EP0814614B1 (en) High bit-rate Huffman decoding
EP0447203A2 (en) Data compression and decompression system and method
JP2003244446A (ja) 画像処理装置及び画像処理方法
KR102626217B1 (ko) 프레임 버퍼 컴프레서 및 이를 포함하는 이미지 처리 장치
JP3970007B2 (ja) 画像処理装置、画像処理方法、プログラム、及び記憶媒体
JP4109875B2 (ja) 画像符号化装置、画像符号化方法、プログラム、記憶媒体
JP4063487B2 (ja) ラスタデータの圧縮方法
CN110087085B (zh) 图像处理装置
US11735222B2 (en) Frame buffer compressing circuitry and image processing apparatus
US6879725B2 (en) Method, system, and program for decoding a section from compressed data
US5949909A (en) Apparatus for decompressing multiple codes in a single clock cycle
JP3170312B2 (ja) 画像処理装置
JP2001217722A (ja) 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体
JP3170313B2 (ja) 画像処理装置
JP2002223360A (ja) 符号化装置及び方法、復号装置及び方法、及び記憶媒体、並びにプリンタドライバ及びそれを格納する記憶媒体
TWI795480B (zh) 用於執行資料解壓縮的影像處理裝置及用於執行資料壓縮的影像處理裝置
AU2003268575B2 (en) Tiling a Compressed Image

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070420

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070605

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: 20110615

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees