JPH09237331A - 画像処理装置およびその方法 - Google Patents

画像処理装置およびその方法

Info

Publication number
JPH09237331A
JPH09237331A JP8042866A JP4286696A JPH09237331A JP H09237331 A JPH09237331 A JP H09237331A JP 8042866 A JP8042866 A JP 8042866A JP 4286696 A JP4286696 A JP 4286696A JP H09237331 A JPH09237331 A JP H09237331A
Authority
JP
Japan
Prior art keywords
data
palette
color
processed
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.)
Withdrawn
Application number
JP8042866A
Other languages
English (en)
Inventor
Yoshihiro Takagi
義博 高木
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 JP8042866A priority Critical patent/JPH09237331A/ja
Publication of JPH09237331A publication Critical patent/JPH09237331A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 インデックスカラーデータから中間表現色デ
ータへの画像データ形態の変換は、一画素ずつ行う必要
があるので、変換処理に時間がかかる。 【解決手段】 CPU1は、入力画像データに含まれる識別
子に基づき、前回処理した画像データのカラーパレット
と、今回処理する画像データのカラーパレットとが同じ
か否かを判定し、二つのカラーパレットが同じ場合およ
び画像データにより指定されるパレットデータに対応す
る変換処理済みのデータがRAM3のキャッシュ領域に格納
されている場合は、そのキャッシュ領域から処理済みの
データを読出す。二つのカラーパレットが異なり、変換
処理済みのデータがRAM3のキャッシュ領域に格納されて
いない場合は、RAM3に格納されたカラーパレットから指
定パレットデータを読出し、読出したパレットデータを
変換処理し、さらに、変換処理したデータをキャッシュ
領域に格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する利用分野】本発明は画像処理装置および
その方法に関し、例えば、画像データの形態を変換する
画像処理装置およびその方法に関するものである。
【0002】
【従来の技術】カラー画像を伝送する場合や、カラー画
像を記憶媒体に格納する場合など、比較的データ量が小
さくて済むデータ形態、例えば8ビットのインデックス
カラーデータが用いられることが多い。そして、インデ
ックスカラーデータは、所定のカラーパレットにより例
えばRGB各8ビットのカラー画像データに変換され、モニ
タなどに表示される。
【0003】また、二値カラー出力デバイスと呼ばれ
る、例えばインクジェットプリンタや強誘電体液晶ディ
スプレイ(FLCD)などは、多値のカラー画像データにディ
ザ処理や誤差拡散法などの擬似中間調処理を施して得た
二値カラー画像データに基づいて画像を形成する。従っ
て、インデックスカラーデータにより表されるカラー画
像を、二値カラー出力デバイスを用いて出力する場合
は、インデックスカラーデータを、一旦、多値のカラー
データに変換した後、擬似中間調処理を施して二値化す
ることになる。
【0004】同様に、インデックスカラーデータにより
表されるカラー画像を、グレースケールデバイス(例え
ば階調を表現できるレーザビームプリンタなど)を用い
て出力する場合は、インデックスカラーデータを、一
旦、多値のカラーデータに変換した後、グレースケール
データに変換することになる。
【0005】上記の変換処理は、画素ごとに、インデッ
クスカラーデータが指すパレットデータから多値のRGB
データ(またはグレースケールデータ)である中間表現
色データを得るものである。
【0006】
【発明が解決しようとする課題】しかし、上述した技術
においては、次のような問題点がある。つまり、インデ
ックスカラーデータから中間表現色データへの画像デー
タ形態の変換は、一画素ずつ行う必要があるので、変換
処理に時間がかかるという問題がある。
【0007】本発明は、上述の問題を解決するためのも
のであり、画像データの形態を変換する処理を高速化で
きる画像処理装置およびその方法を提供することを目的
とする。
【0008】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
【0009】本発明にかかる画像処理装置は、カラーパ
レットから読出され処理されたデータが格納される格納
手段と、入力された画像データに指定されるパレットデ
ータを処理し、処理したデータを前記格納手段に格納す
る処理手段と、前記入力画像データに付加された情報に
基づき、前回処理した画像データのカラーパレットと、
前記入力画像データのカラーパレットとが同じか否かを
判定する判定手段とを備え、前記処理手段は、前記判定
手段により二つのカラーパレットが同じと判定された場
合または前記指定パレットデータに対応する処理済みの
データが前記格納手段に格納されている場合は前記格納
手段から処理済みのデータを読出し、前記指定パレット
データに対応する処理済みのデータが前記格納手段に格
納されていない場合は、前記カラーパレットから前記指
定パレットデータを読出し読出したパレットデータを処
理することを特徴とする。
【0010】また、本発明にかかる画像処理方法は、入
力される画像データに付加された情報に基づき、前回処
理した画像データのカラーパレットと、前記入力画像デ
ータのカラーパレットとが同じか否かを判定する第一の
判定ステップと、前記第一の判定ステップで得られた判
定結果が二つのカラーパレットが異なることを示す場
合、前記入力画像データに指定されるパレットデータに
対応する処理済みのデータが格納手段に格納されている
か否かを判定する第二の判定ステップと、前記第一およ
び第二の判定ステップで得られた判定結果に基づいて、
前記指定パレットデータを処理する処理ステップと、前
記第二の判定ステップで得られた判定結果に基づいて、
前記処理ステップで処理したデータを前記格納手段に格
納する格納ステップとを有することを特徴とする。
【0011】
【発明の実施の形態】以下、本発明にかかる一実施形態
の画像処理装置を図面を参照して詳細に説明する。
【0012】[構成]図1Aは本発明にかかる一実施形態
の画像処理システムを実現するソフトウェアを実行する
ホストコンピュータ10の概略構成を示すブロック図であ
る。
【0013】CPU1は、メインバス7を介してホストコン
ピュータ10全体の制御を司るとともに、ホストコンピュ
ータ10の外部に接続される入力装置11(例えばイメージ
スキャナや記憶装置)や出力装置12(例えばプリンタや
モニタ)をインタフェイス(I/F)4,5を介して制御する。
つまり、CPU10は、インタフェイス(KBD I/F)6を介して
入力部(例えばキーボード8やポインティングデバイス
9)から入力された指示に従って、画像の入力,画像処
理,画像の出力制御など一連の処理を実行する。
【0014】ROM2には、ホストコンピュータ10の基本入
出力システム(BIOS)を含むCPU1のブートプログラムなど
が記憶されている。RAM3には、CPU1によりオペレーティ
ングシステム(OS)やその他のアプリケーションプログラ
ムがロードされ実行される。このアプリケーションプロ
グラムには、本発明にかかる画像処理のプログラムが含
まれる。さらに、RAM3は、CPU1が各種の演算処理を行う
際のワークメモリとして、また、演算に必要なデータを
CPU1がロードする領域としても利用される。なお、上述
したOS,アプリケーションプログラム,画像データを含
む各種データなどは、所定のインタフェイスを介して、
FD,HD,CD-ROM,光磁気ディスクなどの記憶メディア、あ
るいは通信回線から供給される。
【0015】図1Bは図1Aに示すホストコンピュータ10の
ソフトウェア構成例を示す図で、アプリケーションプロ
グラム21を操作することにより、出力装置12の一つであ
るプリンタに画像データを送る際のソフトウェア構成例
を示している。
【0016】つまり、印刷が指示された画像データは、
アプリケーションプログラム21によりOS22へ渡され、OS
22の一部として動作するプリンタドライバ23によりプリ
ンタコントローラ12aに応じたデータ形態に変換された
後、BIOS24を介してプリンタコントローラ12aに送られ
る。プリンタコントローラ12aへ渡すデータの形態に
は、ページ記述言語(PDL)形式やラスタイメージ形式な
どがある。
【0017】図2AはOS22からプリンタドライバ23へ渡さ
れるインデックスカラーデータの形態例を示す図で、そ
の先頭からカラーパレット50,識別子51,パレットイン
デックスデータ52の順に並んでいる。例えば8ビットの
インデックスカラーデータの場合、カラーパレット50は
256色分のパレットデータで構成され、パレットインデ
ックスデータ52は画素の数分になる。また、識別子51は
OS22によって設定されるもので、前回渡したインデック
スカラーデータのカラーパレット50と、今回渡すインデ
ックスカラーデータのカラーパレット50とが同じか否か
を表す少なくとも1ビットのデータである。なお、OS22
は、例えば、Windows(R)-NTなどである。
【0018】[画像データの構造]本発明にかかる画像
処理を説明する前に、画像処理で使用するデータの構造
を説明する。なお、以下で説明するデータ,配列,変
数,フラグなどは、とくに断らない限りRAM3などのメモ
リ上に存在する。
【0019】図2Bは入力画像データの記憶領域に格納さ
れる画像データの構造例を示す図で、パレットデータを
指定する例えば8ビットのパレットインデックスデータ
の配列である。以下、このデータをdata[](要素数はn+
1)で表す。ここで要素数n+1は、入力画像データの画素
数に等しい。
【0020】図3はパレット記憶領域に格納されるパレ
ットデータの構造例を示す図で、パレットデータは例え
ば各8ビット合計24ビットのRGB値の配列である。以下、
このデータをpalette[](要素数はm+1)で表す。ここで
要素数m+1は、カラーパレットの数に等しく、8ビットの
インデックスカラーデータを扱う場合は256になる。な
お、パレットデータはRAM3のパレット記憶領域に格納さ
れているとは限らない。例えば、上述した外部の記憶装
置やROM2などに格納されたパレットデータを用いること
もできるし、画像データとともに入力されるパレットデ
ータを用いることもできる。
【0021】図4は一次キャッシュ領域に格納されるキ
ャッシュデータの構造例を示す図で、一次キャッシュデ
ータは図3と同様にRGB値の配列である。以下、このデー
タをcash1[](要素数はm+1)で表す。
【0022】図5は二次キャッシュ領域に格納されるキ
ャッシュデータの構造例を示す図で、二次キャッシュデ
ータは、二値化処理前に使用する中間表現色データと、
その計算済みを示すフラグとを含む配列である。以下、
このデータをcash2[](要素数はm+1)で表す。また、i
番目の配列cash2[i]の中間表現色データをcash2[i].val
で、同計算済みフラグをcash2[i].flagで表す。
【0023】図6は中間画像データの記憶領域に格納さ
れる画像データの構造例を示す図で、中間画像データは
中間表現色データの配列である。以下、このデータをin
tensity[](要素数はn+1)で表す。
【0024】[画像処理]次に、一次および二次キャッ
シュを使用して、インデックスカラーデータを中間表現
色データに変換する処理を説明する。
【0025】図7および図8は本発明にかかる画像処理の
手順の一例を示すフローチャートで、CPU1によって実行
されるものである。
【0026】まず、ステップS102でフラグinit_flagを
調べる。init_flagは、本処理のプログラムが、RAM3に
ロードされ最初に実行される場合に、cash1[]が初期状
態であることを‘0’で示すフラグである。これは、一
般に、プログラムが複数回呼出されるような場合、その
タイミングや回数は、呼出されるプログラム側では不明
なことが多いからであり、そのため、フラグinit_flag
によりcash1[]の初期状態を示す。つまり、ステップS10
2でinit_flagの状態を判定することにより、palette[]
のデータをcash1[]へコピーすべきかどうかを決定す
る。そして、init_flag=‘0’の場合はステップS103でi
nit_flagに‘1’をセットする。これより、次回以降、
本プログラムが呼出されたときはステップS120へ進むよ
うになる。また、既にcash1[]に格納されているパレッ
トデータを変更したいときは、本プログラムを呼出す前
にinit_flagを‘0’にすればよい。
【0027】ステップS120では、図2Aに示したインデッ
クスカラーデータの識別子51を格納した変数new_idの値
と、変数old_idに保存した前回処理したインデックスカ
ラーデータの識別子51の値とが等しいか否かを判定し、
等しければステップS110へジャンプし、等しくなければ
ステップS121でold_idにnew_idの値を代入した後、ステ
ップS104へ進む。
【0028】ステップS104では、ループ変数iに0をセッ
トし、ステップS105からS107でpalette[]とcash1[]の全
データが等しいかどうかを判定する。そして、palette
[i]≠cash1[i]が一つでもある場合は、ステップS108でp
alette[]の全データをcash1[]へコピーし、ステップS10
9でcash1[]のデータが書換えられたことを示すためにフ
ラグflag1に‘1’をセットする。一方、palette[]=cash
1[]であった場合は、ステップS110でcash1[]のデータが
書換えられなかったことを示すためにflag1に‘0’をセ
ットする。
【0029】このように、パレットデータのすべてをRA
M3上に割り付けたcash1[]に格納すれば、ハードディス
ク,CD-ROM,光磁気ディスク,フロッピディスクなど比
較的低速な記憶媒体を利用する外部の記憶装置に格納さ
れたパレットデータを利用する際などに、パレットデー
タへのアクセスを高速化することができる。
【0030】続いて、ステップS201でflag1の状態を調
べ、flag1=‘1’であればステップS202でcash2[]の計算
済みフラグflagをすべて‘0’にクリアする。次に、ス
テップS203でループ変数iに0をセットし、ステップS204
からS212のループを実行する。
【0031】つまり、ステップS204でdata[i]のパレッ
トインデックスデータを変数indexに代入し、ステップS
205でcash2[index].flagに‘1’がセットされているか
どうかを判定する。このcash2[index].flagは、‘0’の
ときはcash2[index].valが未計算を、‘1’のときはcas
h2[index].valが計算済みを意味する。
【0032】cash2[index].val=‘0’であった場合は、
ステップS206でcash1[index]のRGB値を使って中間表現
色データを算出し、算出した中間表現色データを変数co
lへ代入する。この中間表現色データのフォーマットは
出力すべきデータに依存する。例えば、二値カラーデー
タを出力する場合は中間調表現色も多値(例えば各8ビ
ット合計24ビット)のRGBデータで表すので、cash1[ind
ex]のRGB値をそのまま中間表現色を表すのに使用できる
が、グレースケールデータまたは二値白黒データを出力
する場合は中間表現色を例えば8ビットのグレースケー
ルデータGrで表す必要があり、例えば次式を用いて算出
する。 Gr = (α・R + β・G + γ・B) …(1) ただし、0<α<1, 0<β<1, 0<γ<1, α + β + γ = 1 例えばα = 0.3, β = 0.6, γ = 0.1
【0033】次に、ステップS207で変数colの中間表現
色データをcash2[index].valに格納し、ステップS208で
cash2[index].flagに‘1’をセットして、cash2[inde
x].valが計算済みであることを示した後、ステップS210
へ進む。
【0034】一方、cash2[index].val=‘1’であった場
合は、ステップS209でcash2[index].valから中間表現色
データを取出し変数colへ代入する。
【0035】続いて、ステップS210で変数colの中間表
現色データをintensity[i]へ格納し、ステップS211で入
力画像データの終端、つまりi=nであるかどうかを判定
する。i≠nの場合はステップS212へ進んで変数iをイン
クリメントしてステップS204へ戻る。
【0036】一方、i=nの場合はdata[]のすべてのパレ
ットインデックスデータが中間表現色データに変換され
たことになるから、ステップS213でintensity[]の全デ
ータを出力用途に応じた形態に変換する。すなわち、画
像データをカラーモニタ,フィルムレコーダなどのフル
カラーデバイスへ出力する場合は、多値のRGBデータ、
つまりintensity[]の全データをそのまま(またはビッ
ト深さを調整して)出力すればよい。カラーレーザビー
ムプリンタなどのフルカラーデバイスへ出力する場合
は、intensity[]の全データを多値のCMYまたはCMYKデー
タに変換し(さらに、必要に応じてビット深さを調整し
て)出力すればよい。
【0037】また、画像データをFLCDなどの二値カラー
出力デバイスへ出力する場合は、そのデバイスの特性や
二値画像データの用途に応じた二値化手法(例えば、単
純二値化,ディザリング,誤差拡散など)を用いてinte
nsity[]の全データを二値化した二値カラー画像データ
を出力すればよい。インクジェットプリンタなどの二値
カラーデバイスへ出力する場合は、intensity[]の全デ
ータを多値のCMYまたはCMYKデータに変換した後、その
デバイスの特性や二値画像データの用途に応じた二値化
手法により二値化した二値カラー画像データを出力すれ
ばよい。
【0038】さらに、グレースケールモニタやなどへ出
力する場合は、intensity[]のグレースケールデータを
そのまま(またはビット深さを調整して)出力すればよ
い。多階調のレーザビームプリンタなどへ出力する場合
は、intensity[]のグレースケールデータを濃度データ
に変換し、そのまま(またはビット深さを調整して)出
力すればよい。なお、詳細な説明は省くが、ステップS2
13において、出力デバイスの特性に応じたガンマ補正,
階調補正,色再現範囲圧縮などの画像処理を、必要に応
じて画像データに施すのは言うまでもない。
【0039】このように、本実施形態によれば、RAM3な
どに割り付けた一次キャッシュ領域にパレットデータを
キャッシュし、キャッシュしたパレットデータから計算
した中間表現色データをRAM3などに割り付けた二次キャ
ッシュ領域にキャッシュするので、計算済のパレットイ
ンデックスデータであれば、新たに中間表現色データを
計算する必要がなく、二次キャッシュ領域から中間表現
色データを読出すだけで済む。従って、少なくとも一つ
の入力画像データ(インデックスカラーデータ)におい
て中間表現色データを計算する回数を減らすことがで
き、パレットデータに変更がなければ、複数の入力画像
データにおいて中間表現色データを計算する回数を減ら
すことができる。すなわち、中間表現色データを計算す
る回数が減る分、インデックスカラーデータを多値のRG
Bデータやグレースケールデータに変換する処理を高速
化することができる。
【0040】さらに、本実施形態によれば、インデック
スカラーデータに含まれる識別子を判定して、前回処理
したインデックスカラーデータのカラーパレットと、今
回処理するインデックスカラーデータのカラーパレット
とが同じである場合、前回計算した中間表現色データを
利用する。従って、二次キャッシュ領域にキャッシュし
た中間表現色データが適切か否かの判定(ステップS104
からS107)を行わない分、インデックスカラーデータを
多値のRGBデータやグレースケールデータに変換する処
理を高速化することができる。
【0041】
【第2実施形態】以下、本発明にかかる第2実施形態の画
像処理装置を説明する。なお、第2実施形態において、
第1実施形態と略同様の構成については、同一符号を付
して、その詳細説明を省略する。
【0042】前述した第1実施形態においては、パレッ
トデータpalette[]と一次キャッシュデータcash1[]を比
較して、一つでも異なるデータが存在したら、palett
e[]の全データをcash1[]へコピーする例を説明したが、
第2実施形態においては、一致しないデータだけをpalet
te[]からcash1[]へコピーする。
【0043】図9は第2実施形態の画像処理の手順の一例
を示すフローチャートで、第1実施形態の図7に対応する
ものである。つまり、ステップS105でcash1[i]≠palett
e[i]であった場合、ステップS108へ進まず、ステップS3
07でpalette[i]のパレットデータをcash1[i]へコピー
し、ステップS308でcash2[i].flagを‘0’にした後、ス
テップS106へ進む。
【0044】このようにすれば、前回処理したインデッ
クスカラーデータのカラーパレットと、今回処理するイ
ンデックスカラーデータのカラーパレットとが異なり、
cash1[]の一部を書換えた場合でも、cash2[]のflagが
‘0’の場合だけ中間表現色データを計算すればよく、
第1実施形態よりも中間表現色データの算出回数を減ら
すことができる。
【0045】
【第3実施形態】以下、本発明にかかる第3実施形態の画
像処理装置を説明する。なお、第3実施形態において、
第1実施形態と略同様の構成については、同一符号を付
して、その詳細説明を省略する。
【0046】オペレーティングシステムやアプリケーシ
ョンソフトウェアに用意された標準カラーパレットは、
各パレットに異なる色が予め設定されている。しかし、
ユーザが作成したカラーパレットや、ユーザが標準カラ
ーパレットを修正して得たカラーパレットは、異なるパ
レットに同一の色が設定されていることがある。
【0047】前述した実施形態においては、このような
異なるパレットに同一の色が設定されている場合を考慮
していない。第3実施形態は、前回処理したインデック
スカラーデータのカラーパレットと、今回処理するイン
デックスカラーデータのカラーパレットとが異なり、同
一の色が設定されている異なるパレットがある場合、そ
れらのパレットを指す画素のパレットインデックスデー
タを同じ値にして、一つのパレットを指すように更新す
るものである。
【0048】図10は第3実施形態の画像処理の手順の一
例を示すフローチャートで、図7(または図9)に示した
ステップS109またはS110の次に実行される入力画像デー
タを更新する処理の一例を示すものである。
【0049】まず、ステップS501でループ変数jを1に初
期化し、ステップS502でdata[j]のパレットインデック
スデータをインデックスカウンタp1_indexへ代入する。
次に、ステップS503でループ変数iを0に初期化し、ステ
ップS504でdata[i]のパレットインデックスデータをイ
ンデックスカウンタp2_indexへ代入する。
【0050】そして、ステップS505でp1_indexとp2_ind
exを比較し、等しい(つまり同一パレットを指してい
る)場合はステップS509へ進む。また、p1_index≠p2_i
ndexの場合はステップS506で、cash1[p1_index]のRGBデ
ータを変数rgb1へ代入し、cash1[p2_index]のRGBデータ
を変数rgb2へ代入する。次に、ステップS507で、rgb1と
rgb2を比較し、等しい(つまりパレットは異なるが同一
色)場合はステップS508でp2_indexの値をdata[j]へ格
納した後、ステップS511へ進む。また、rgb1≠rgb2であ
る場合はステップS509で変数iをインクリメントし、ス
テップS510で変数iとjを比較して、i<jであればステッ
プS504へ戻り、そうでなければステップS511へ進む。
【0051】ステップS511では変数jをインクリメント
し、ステップS512で変数iと画素数nを比較して、j>nで
あればステップS502へ戻り、そうでなければ図8に示し
たステップS201へ進む。
【0052】このようにすれば、異なるパレットに同一
の色が設定されている場合でも、それらのパレットを指
す画素のパレットインデックスデータを同じ値にして、
一つのパレットを指すように更新することができるの
で、中間表現色データの計算回数を減らして処理を高速
化することができる。
【0053】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0054】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPUやM
PU)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。この場合、記憶媒体から読出されたプログラムコ
ード自体が前述した実施形態の機能を実現することにな
り、そのプログラムコードを記憶した記憶媒体は本発明
を構成することになる。プログラムコードを供給するた
めの記憶媒体としては、例えば、フロッピディスク,ハ
ードディスク,光ディスク,光磁気ディスク,CD-ROM,
CD-R,磁気テープ,不揮発性のメモリカード,ROMなど
を用いることができる。
【0055】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレー
ティングシステム)などが実際の処理の一部または全部
を行い、その処理によって前述した実施形態の機能が実
現される場合も含まれることは言うまでもない。
【0056】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張カード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張カードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、その
処理によって前述した実施形態の機能が実現される場合
も含まれることは言うまでもない。
【0057】上述した各実施形態においては、インデッ
クスカラーデータに含まれる識別子が、前回処理したイ
ンデックスカラーデータのカラーパレットと、今回処理
するインデックスカラーデータのカラーパレットとが同
じか否かを表す例を説明した。しかし、この識別子に複
数のビットを与えることにより、今回処理するインデッ
クスカラーデータに含まれるカラーパレットが、例え
ば、システムやアプリケーションソフトなどに予め用意
された複数のカラーパレットのどれかという情報や、過
去に処理したどのインデックスカラーデータのカラーパ
レットのどれと同じかという情報を、識別子に表させる
こともできる。
【0058】上記のような識別子が与えられる場合、前
述したように、二つの変数(new_id,old_id)の値を比較
して、前回のインデックスカラーデータのカラーパレッ
トと、前回のインデックスカラーデータのカラーパレッ
トとが同じか否かを判定することもできる。さらに、中
間表現色データをキャッシュする領域を複数用意し、識
別子の値に応じてキャッシュ領域を切換えれば、例え、
前回のインデックスカラーデータと同じカラーパレット
でなくても、何れかのキャッシュ領域にキャッシュされ
ている中間表現色データを利用できる可能性があり、処
理をさらに高速化することができる。
【0059】なお、上述した各実施形態においては、イ
ンデックスカラーデータを8ビット、RGBデータを各8ビ
ット合計24ビット、グレースケールデータを8ビットと
する例を説明したが、本発明はこれに限定されるもので
はなく、4ビットのインデックスカラーデータ、各5ビッ
ト合計15ビットのRGBデータ、4ビットや2ビットのグレ
ースケールデータなど、任意のビット深さの画像データ
を扱うことができる。さらに、パレットデータや中間表
現色データもRGBデータに限らずCMYやCMYKデータでもよ
い。
【0060】さらに、上述した実施形態においては、図
8に示したステップS206において、インデックスカラー
データを、それに対応する例えばRGB各8ビットのパレッ
トデータまたはそのパレットデータから求めたグレース
ケールデータに変換する例を説明したが、同ステップで
用いる演算式を変えることにより、RGB各8ビットのパレ
ットデータに変換するとともに、データのビット幅を例
えばRGB各5ビット(または4ビットや2ビットのグレース
ケール)に低減する処理を行わせることもできる。
【0061】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図11のメモリマップ例に示す各モジュールを
記憶媒体に格納することになる。すなわち、少なくとも
二つの「判定」モジュールと、「処理」および「格納」
の各モジュールのプログラムコードを記憶媒体に格納す
ればよい。
【0062】
【発明の効果】以上説明したように、本発明によれば、
画像データの形態を変換する処理を高速化する画像処理
装置およびその方法を提供することができる。
【図面の簡単な説明】
【図1A】本発明にかかる一実施形態の画像処理システ
ムを実現するソフトウェアを実行するホストコンピュー
タの概略構成を示すブロック図、
【図1B】図1Aに示すホストコンピュータのソフトウェ
ア構成例を示す図、
【図2A】インデックスカラーデータの形態例を示す
図、
【図2B】入力画像データの記憶領域に格納される画像
データの構造例を示す図、
【図3】パレット記憶領域に格納されるパレットデータ
の構造例を示す図、
【図4】一次キャッシュ領域に格納されるキャッシュデ
ータの構造例を示す図、
【図5】二次キャッシュ領域に格納されるキャッシュデ
ータの構造例を示す図、
【図6】中間画像データの記憶領域に格納される画像デ
ータの構造例を示す図、
【図7】本発明にかかる画像処理の手順の一例を示すフ
ローチャート、
【図8】本発明にかかる画像処理の手順の一例を示すフ
ローチャート、
【図9】本発明にかかる第2実施形態の画像処理の手順
の一例を示すフローチャート、
【図10】本発明にかかる第3実施形態の画像処理の手
順の一例を示すフローチャート、
【図11】本発明にかかるプログラムコードを格納した
記憶媒体のメモリマップ例を示す図である。
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G09G 5/36 520 B41J 3/00 B H04N 1/52 H04N 1/46 B C2-6

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 カラーパレットから読出され処理された
    データが格納される格納手段と、 入力された画像データに指定されるパレットデータを処
    理し、処理したデータを前記格納手段に格納する処理手
    段と、 前記入力画像データに付加された情報に基づき、前回処
    理した画像データのカラーパレットと、前記入力画像デ
    ータのカラーパレットとが同じか否かを判定する判定手
    段とを備え、 前記処理手段は、前記判定手段により二つのカラーパレ
    ットが同じと判定された場合または前記指定パレットデ
    ータに対応する処理済みのデータが前記格納手段に格納
    されている場合は前記格納手段から処理済みのデータを
    読出し、前記指定パレットデータに対応する処理済みの
    データが前記格納手段に格納されていない場合は、前記
    カラーパレットから前記指定パレットデータを読出し読
    出したパレットデータを処理することを特徴とする画像
    処理装置。
  2. 【請求項2】 さらに、前記処理手段により処理された
    データを二値化する二値化手段を有することを特徴とす
    る請求項1に記載された画像処理装置。
  3. 【請求項3】 さらに、前記二値化手段により二値化さ
    れたデータに基づいて画像を出力する二値カラー出力デ
    バイスを有することを特徴とする請求項2に記載された
    画像処理装置。
  4. 【請求項4】 さらに、前記処理手段により処理された
    データを擬似中間調処理する中間調処理手段を有するこ
    とを特徴とする請求項1に記載された画像処理装置。
  5. 【請求項5】 さらに、前記中間調処理手段により擬似
    中間調処理されたデータに基づいて画像を出力する二値
    カラー出力デバイスを有することを特徴とする請求項4
    に記載された画像処理装置。
  6. 【請求項6】 前記処理手段は、前記カラーパレットか
    ら読出したパレットデータをグレースケールデータに変
    換することを特徴とする請求項1に記載された画像処理
    装置。
  7. 【請求項7】 さらに、前記カラーパレットが格納され
    る記憶手段を備え、 前記処理手段は、前記記憶手段に格納されたカラーパレ
    ットが処理対象のカラーパレットと異なる場合、その処
    理対象のカラーパレットにより前記記憶手段を更新する
    ことを特徴とする請求項1または請求項6に記載された画
    像処理装置。
  8. 【請求項8】 さらに、前記カラーパレットが格納され
    る記憶手段を備え、 前記処理手段は、前記記憶手段に格納されたカラーパレ
    ットと処理対象のカラーパレットとを比較して、対応す
    るパレットデータが異なる場合、前記記憶手段のパレッ
    トデータを前記処理対象のパレットデータに更新するこ
    とを特徴とする請求項1または請求項6に記載された画像
    処理装置。
  9. 【請求項9】 さらに、前記入力画像データが格納され
    る記憶手段を備え、 前記処理手段は、前記記憶手段に格納された入力画像デ
    ータを構成する異なる単位データにより指定される異な
    るパレットデータが同一の場合、それらの単位データを
    同一にすることを特徴とする請求項1または請求項6の何
    れかに記載された画像処理装置。
  10. 【請求項10】 入力される画像データに付加された情
    報に基づき、前回処理した画像データのカラーパレット
    と、前記入力画像データのカラーパレットとが同じか否
    かを判定する第一の判定ステップと、 前記第一の判定ステップで得られた判定結果が二つのカ
    ラーパレットが異なることを示す場合、前記入力画像デ
    ータに指定されるパレットデータに対応する処理済みの
    データが格納手段に格納されているか否かを判定する第
    二の判定ステップと、 前記第一および第二の判定ステップで得られた判定結果
    に基づいて、前記指定パレットデータを処理する処理ス
    テップと、 前記第二の判定ステップで得られた判定結果に基づい
    て、前記処理ステップで処理したデータを前記格納手段
    に格納する格納ステップとを有することを特徴とする画
    像処理方法。
  11. 【請求項11】 前記処理ステップは、前記第一の判定
    ステップで得られた判定結果が二つのカラーパレットが
    同じであることを示す場合または前記第二の判定ステッ
    プで得られた判定結果が指定パレットデータに対応する
    処理済みのデータが前記格納手段に格納されていること
    を示す場合は前記格納手段から処理済みのデータを読出
    し、そうでない場合は前記カラーパレットから前記指定
    パレットデータを読出して読出したパレットデータを処
    理することを特徴とする請求項10に記載された画像処理
    方法。
  12. 【請求項12】 前記格納ステップは、前記第二の判定
    ステップで得られた判定結果が指定パレットデータに対
    応する処理済みのデータが前記格納手段に格納されてい
    ないことを示す場合、前記処理ステップで処理したデー
    タを前記格納手段に格納することを特徴とする請求項10
    に記載された画像処理方法。
  13. 【請求項13】 画像処理のプログラムコードが格納さ
    れたコンピュータ可読メモリであて、 入力される画像データに付加された情報に基づき、前回
    処理した画像データのカラーパレットと、前記入力画像
    データのカラーパレットとが同じか否かを判定する第一
    の判定ステップのコードと、 前記第一の判定ステップで得られた判定結果が二つのカ
    ラーパレットが異なることを示す場合、前記入力画像デ
    ータに指定されるパレットデータに対応する処理済みの
    データが格納手段に格納されているか否かを判定する判
    定ステップのコードと、 前記第一および第二の判定ステップで得られた判定結果
    に基づいて、前記指定パレットデータを処理する処理ス
    テップのコードと、 前記第二の判定ステップで得られた判定結果に基づい
    て、前記処理ステップで処理したデータを前記格納手段
    に格納する格納ステップのコードとを有することを特徴
    とするコンピュータ可読メモリ。
JP8042866A 1996-02-29 1996-02-29 画像処理装置およびその方法 Withdrawn JPH09237331A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8042866A JPH09237331A (ja) 1996-02-29 1996-02-29 画像処理装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8042866A JPH09237331A (ja) 1996-02-29 1996-02-29 画像処理装置およびその方法

Publications (1)

Publication Number Publication Date
JPH09237331A true JPH09237331A (ja) 1997-09-09

Family

ID=12647966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8042866A Withdrawn JPH09237331A (ja) 1996-02-29 1996-02-29 画像処理装置およびその方法

Country Status (1)

Country Link
JP (1) JPH09237331A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002361942A (ja) * 2001-06-07 2002-12-18 Mimaki Engineering Co Ltd カラープリントシステム及びカラープリント方法
JP2007081833A (ja) * 2005-09-14 2007-03-29 Kyocera Mita Corp 画像処理装置、方法、およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002361942A (ja) * 2001-06-07 2002-12-18 Mimaki Engineering Co Ltd カラープリントシステム及びカラープリント方法
JP2007081833A (ja) * 2005-09-14 2007-03-29 Kyocera Mita Corp 画像処理装置、方法、およびプログラム

Similar Documents

Publication Publication Date Title
US6512595B1 (en) Data processing apparatus, data processing method, and medium
US5917947A (en) Image processing method and apparatus permitting use of PDL in compression memory
US6824240B2 (en) Image processing apparatus and method and recording medium
US5852710A (en) Apparatus and method for storing image data into memory
US6052203A (en) Printing system, printer, printer driver and program storage medium
JPH09116776A (ja) 色変換装置
EP0457572B1 (en) Outputting method and apparatus
JP3619143B2 (ja) 画像処理装置およびその方法
US7139099B2 (en) Image processing device and image processing method
US20020126312A1 (en) Accelerating color conversion using a temporary palette cache
JPH07288705A (ja) カラー画像処理装置および方法
US5751857A (en) Image processing method
JPH09326938A (ja) 画像処理装置及びその方法
JPH09237331A (ja) 画像処理装置およびその方法
JPH10145591A (ja) 効率的なグレイタイル格納
JP2003158632A (ja) 画像処理方法とこれを実行するための画像処理装置および画像処理システム
EP1077572B1 (en) Image forming apparatus selectively applying a smoothing operation to image data
JPH09200535A (ja) 画像処理装置およびその方法
JPH09186898A (ja) 画像処理装置及びその方法
JPH11122488A (ja) 画像処理装置
JP4306841B2 (ja) 画像処理装置及びその方法、コンピュータ可読メモリ
JP2994310B2 (ja) 多階調文字等パターン生成方法および装置,並びに記録媒体
JP4072403B2 (ja) 情報処理装置、情報処理方法及びプログラム
JPH1051636A (ja) 印刷制御装置、情報処理装置、印刷装置および印刷情報処理方法
JP2000324331A (ja) 画像処理装置及びその方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506