(57)【要約】【課題】画像メモリの使用量を低減して、画像メモリを効率的に使用することが可能な画像処理装置、画像処理方法、およびコンピュータが実行するためのプログラムを提供することを目的とする。【解決手段】本発明に係る画像処理装置１０は、画像データを格納するための画像メモリ１０７と、画像メモリ１０７にカラー画像データをＹＭＣＫ成分毎に展開するＤＭＡＣ１０４と、画像メモリ１０７に展開された画像データから画素値をサンプリングし、サンプリングした画素値に対して色変換処理を行い、色変換された画素値の色差を算出し、サンプリングされた全画素値の色差の絶対値が閾値以下である場合に、モノクロ画像と判定するカラー画像判定回路１０６と、モノクロ画像であると判断された場合に、画像メモリ１０７からＹＭＣの画像データを解放するＣＰＵ１０１とを備える。【選択図】        図１
2006080914.tif 000002
【特許請求の範囲】
【請求項１】
画像データを格納するための画像メモリと、
前記画像メモリにカラー画像データを色成分毎に展開する画像データ展開手段と、
前記画像メモリに展開されたカラー画像データから画素値をサンプリングするサンプリング手段と、
前記サンプリング手段でサンプリングされた画素値に対して色変換する色変換手段と、
前記色変換手段で色変換された画素値の色差を算出し、サンプリングされた全画素値の色差の絶対値が閾値以下である場合に、モノクロ画像と判定する色差判定手段と、
前記色差判定手段でモノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放するメモリ解放手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
画像データを格納するための画像メモリと、
前記画像メモリにカラー画像データを色成分毎に展開する画像データ展開手段と、
前記画像メモリに展開されたカラー画像データから画素値をサンプリングするサンプリング手段と、
前記サンプリング手段でサンプリングされた画素値に対して色変換する色変換手段と、
前記色変換手段で色変換された画素値の色差を算出し、サンプリングした全画素値の色差の平均値が閾値以下である場合に、モノクロ画像と判定する色差判定手段と、
前記色差判定手段でモノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放するメモリ解放手段と、
を備えたことを特徴とする画像処理装置。
【請求項３】
複数の画像入出力処理プロセスを同時に実行可能であることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記色成分は、Ｙ、Ｍ、Ｃ、Ｋであり、前記カラー色成分は、Ｙ、Ｍ、Ｃであることを特徴とする請求項１〜請求項３のいずれか１つに記載の画像処理装置。
【請求項５】
前記サンプリング手段は、前記画像メモリに展開されたカラー画像データを縦方向または横方向に間引きして画素値をサンプリングすることを特徴とする請求項１〜請求項４のいずれか１つに記載の画像処理装置。
【請求項６】
画像メモリにカラー画像データを色成分毎に展開する工程と、
前記画像メモリに展開されたカラー画像データから画素値をサンプリングする工程と、
前記サンプリング手段でサンプリングされた画素値に対して色変換する工程と、
前記色変換された画素値の色差を算出し、サンプリングされた全画素値の色差の絶対値が閾値以下である場合に、モノクロ画像と判定する工程と、
前記モノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放する工程と、
を含むことを特徴とする画像処理方法。
【請求項７】
画像メモリにカラー画像データを色成分毎に展開する工程と、
前記画像メモリに展開されたカラー画像データから画素値をサンプリングする工程と、
前記サンプリングされた画素値に対して色変換する工程と、
前記色変換手段で色変換された画素値の色差を算出し、サンプリングした画素値の色差の平均値が閾値以下である場合に、モノクロ画像と判定する工程と、
前記モノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放する工程と、
を備えたことを特徴とする画像処理方法。
【請求項８】
請求項６または請求項７に記載の画像処理方法の各工程をコンピュータに実行させることを特徴とするコンピュータが実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびコンピュータが実行するためのプログラムに関し、詳細には、スキャナやプロッタ等の画像入出力エンジンを備えた画像処理装置のシステムコントローラに関し、コピープロセスやプリントプロセスといった画像入出力処理プロセスを複数同時に動作させるプロセス実行環境において、画像メモリを管理する技術に関する。
【背景技術】
【０００２】
一般にＭＦＰ機（Multi  Function  Peripheral：デジタル複合機）等の画像処理装置には、複数の画像処理機能が搭載されている。例えば、プリント機能、スキャン機能、画像蓄積機能、ファックス機能、ネットワークを介した蓄積画像抽出機能などがその代表的な機能である。これらの機能は各々独立して動作できるようになっている。
【０００３】
また、ＭＦＰ機では、パフォーマンスアップのために複数の画像入出力処理プロセスを同時に実行できるように構成されている。プリントプロセスとスキャンプロセスを例に挙げると、互いのプロセスがプロッタやスキャナ等の画像処理装置のリソースを同時に奪い合うことがないため、コントローラにおいて両プロセスの並列動作を管理することにより並列動作が可能になり、パフォーマンスアップを図ることができる。
【０００４】
また、コピープロセスとファックス受信プロセスの並列動作の場合においても、コピープロセスがスキャナおよびプロッタリソースを消費するのに対し、ファックス受信による画像保存プロセスではこれらのリソースを使用しないためリソースの奪い合いが無く、画像入出力処理プロセスの並列動作が可能となる。
【０００５】
他方、ＭＦＰ機等の画像処理装置には、画像データを保持するための画像メモリが設けられており、各画像入出力処理プロセスは動作時に自身の画像入出力処理プロセスの動作のために画像メモリをリザーブし、この画像メモリを使用することによって画像処理を行なっている。しかしながら、ＭＦＰ機では、複数の画像入出力処理プロセスが並列動作するため、各画像入出力処理プロセスが同時に画像メモリをリザーブすることがあり、ある画像入出力処理プロセスが大量の画像メモリをリザーブしていた場合には、他の画像入出力処理プロセスが必要とする画像メモリを獲得することができず、動作を中断しなければならないことがある。これにより、画像入出力処理プロセスが即時に動作できなくなるため、システム全体のパフォーマンスが低下するという課題がある。
【０００６】
この課題を解決のために、例えば、特許文献１では、画像入出力処理プロセス毎にメモリを配分する技術が提案されている。しかしながら、かかる技術では、メモリは有限であるため、各画像入出力処理プロセスに配分できる画像メモリ量は制限されることになる。したがって、ある画像入出力処理プロセスでカラー画像のようなデータ量の大きい画像を複数ページ分メモリに展開した場合に、その画像入出力処理プロセスに配分された画像メモリ量では不足してしまう場合があるという問題がある。
【０００７】
また、このような配分を行なわない場合でも、データ量の大きい画像を画像メモリに展開すると、その画像入出力処理プロセスだけで画像メモリを大量に消費してしまい、他の画像入出力処理プロセスがメモリ不足のため動作できなくなる場合が生じる。
【０００８】
例えば、プリント系の画像処理を行う画像処理装置では、一般にカラー画像をＹＭＣＫの４プレーンで表現して、画像メモリやＨＤＤに保持している。これに対して、モノクロ画像はＫのみの１プレーンで表現することができる。すなわち、カラー画像はＹＭＣＫの４プレーン分の画像メモリを消費するのに対して、モノクロ画像は１プレーン分の画像メモリだけでよい。
【０００９】
また、カラー画像をビットマップでＨＤＤ等に保存した場合でも、同様にプレーン分の画像データが必要なので、その分だけモノクロ画像よりもＨＤＤ領域を消費する。また、カラーの１ドラム機で４プレーンのカラー画像を印刷する場合、４回ドラムを回転させなければならないので、モノクロ画像よりも印刷速度が低下する。
【００１０】
このように、画像メモリのリソース、印刷速度の面からも、カラー画像よりモノクロ画像の方がパフォーマンス的に有利である。一方、大部分がモノクロ画像で、一部にカラー情報がのっているがその色あいが小さい画像などは、データを忠実に印刷したとしても人間の目で見るとモノクロ画像とほとんど違いがない場合がある。
【００１１】
【特許文献１】特開２０００−０５９５８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上記課題に鑑みてなされたものであり、画像メモリの使用量を低減して、画像メモリを効率的に使用することが可能な画像処理装置、画像処理方法、およびコンピュータが実行するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、画像データを格納するための画像メモリと、前記画像メモリに画像データを色成分毎に展開する画像データ展開手段と、前記画像メモリに展開されたカラー画像データから画素値をサンプリングするサンプリング手段と、前記サンプリング手段でサンプリングされた画素値に対して色変換する色変換手段と、前記色変換手段で色変換された画素値の色差を算出し、サンプリングされた全画素値の色差の絶対値が閾値以下である場合に、モノクロ画像と判定する色差判定手段と、前記色差判定手段でモノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放するメモリ解放手段と、を備えたことを特徴とする。
【００１４】
これにより、色情報が少ないと判定したカラー画像データに対して、画像メモリのカラー色成分の画像データを解放することによって、消費する画像メモリを最小限にとどめ、画像メモリを効率的に使用することができる。この結果、ある画像入出力処理プロセスで画像メモリを使用している場合においても、他の画像入出力処理プロセスで画像メモリの十分な領域を使用して動作することが可能となる。また、原画像とほとんど違いのない画像での印刷を行うことができ、さらに、色情報がないため、例えば１ドラム方式のカラー複写機等の画像処理装置において、印刷速度を向上させることが可能となる。
【００１５】
上述した課題を解決し、目的を達成するために、本発明は、画像データを格納するための画像メモリと、前記画像メモリにカラー画像データを色成分毎に展開する画像データ展開手段と、前記画像メモリに展開されたカラー画像データから画素値をサンプリングするサンプリング手段と、前記サンプリング手段でサンプリングされた画素値に対して色変換する色変換手段と、前記色変換手段で色変換された画素値の色差を算出し、サンプリングした画素値の色差の平均値が閾値以下である場合に、モノクロ画像と判定する色差判定手段と、前記色差判定手段でモノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放するメモリ解放手段と、を備えたことを特徴とする。
【００１６】
これにより、色情報が少ないと判定したカラー画像データに対して、画像メモリのカラー色成分の画像データを解放することによって、消費する画像メモリを最小限にとどめ、画像メモリを効率的に使用することができる。この結果、ある画像処理プロセスで画像メモリを使用している場合においても、他の画像処理プロセスで画像メモリの十分な領域を使用して動作することが可能となる。また、原画像とほとんど違いのない画像での印刷を行うことができ、さらに、色情報がないため、例えば１ドラム方式のカラー複写機等の画像処理装置において、印刷速度を向上させることが可能となる。
【００１７】
また、本発明の好ましい態様によれば、複数の画像入出力処理プロセスを同時に実行可能であることが望ましい。これにより、複数の画像入出力処理プロセスで画像メモリを同時に使用する場合においても、画像メモリを効率的に使用して複数の画像入出力処理プロセスを高速に実行することが可能となる。
【００１８】
また、本発明の好ましい態様によれば、前記色成分は、Ｙ、Ｍ、Ｃ、Ｋであり、前記カラー色成分は、Ｙ、Ｍ、Ｃであることが望ましい。これにより、Ｙ、Ｍ、Ｃ、Ｋ成分からなるカラー画像データにおいて、Ｙ、Ｍ、Ｃ成分が少ない場合には、画像メモリに展開したＫ成分の画像データのみを残して、Ｙ、Ｍ、Ｃ成分の画像データを開放することが可能となる。
【００１９】
また、本発明の好ましい態様によれば、前記サンプリング手段は、前記画像メモリに展開された画像データを縦方向または横方向に間引きして画素値をサンプリングすることが望ましい。これにより、カラー画像データの全ての画素値を色差を演算する場合の対象としないため、判定を高速化することができる。
【００２０】
上述した課題を解決し、目的を達成するために、本発明は、画像メモリにカラー画像データを色成分毎に展開する工程と、前記画像メモリに展開されたカラー画像データから画素値をサンプリングする工程と、前記サンプリング手段でサンプリングされた画素値に対して色変換する工程と、前記色変換された画素値の色差を算出し、サンプリングされた全画素値の色差の絶対値が閾値以下である場合に、モノクロ画像と判定する工程と、モノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放する工程と、を含むことを特徴とする。
【００２１】
上述した課題を解決し、目的を達成するために、本発明は、画像メモリに画像データを色成分毎に展開する工程と、前記画像メモリに展開された画像データから画素値をサンプリングする工程と、前記サンプリングされた画素値に対して色変換する工程と、前記色変換された画素値の色差を算出し、サンプリングした全画素値の色差の平均値が閾値以下である場合に、モノクロ画像と判定する工程と、前記モノクロ画像であると判断された場合に、前記画像メモリからカラー色成分の画像データを解放する工程と、を含むことを特徴とする。
【００２２】
上述した課題を解決し、目的を達成するために、本発明は、本発明の画像処理方法の各工程をコンピュータに実行させるコンピュータが実行可能なプログラムであることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、画像メモリにカラー画像データを色成分毎に展開し、当該カラー画像データの色情報が少ない場合には、画像メモリのカラー色成分の領域を開放することとしたので、画像メモリの使用量を低減して、画像メモリを効率的に使用することが可能な画像処理装置、画像処理方法、およびコンピュータが実行するためのプログラムを提供すること可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下、この発明に係る画像処理装置、画像処理方法、およびコンピュータが実行するためのプログラムについて、図面を参照しつつ詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、下記実施例における構成要素には、当業者が容易に想定できるものまたは実質的に同一のものが含まれる。
【００２５】
（実施の形態１）
図１は、本発明に係る画像処理装置の全体構成を示すブロック図である。本発明に係る画像処理装置１０は、大別すると、コントローラ１００と、スキャナエンジン２００と、プロッタエンジン３００を備えている。画像処理装置１０は、プリント機能（プリントプロセス）、スキャナ機能（スキャナプロセス）、コピー機能（コピープロセス）画像蓄積機能（画像蓄積プロセス）、ファックス機能（ファックスプロセス）、ネットワークを介した蓄積画像抽出機能（蓄積画像抽出プロセス）等の複数の画像処理機能（画像入出力処理プロセス）を有しており、これらの各機能（画像入出力処理プロセス）は各々独立して動作でき、かつ複数の機能（画像入出力処理プロセス）が同時に実行可能に構成されている。
【００２６】
コントローラ１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＤＭＡＣ１０４、ＮＩＣ１０５、カラー画像判定回路１０６、画像メモリ１０７、ブリッジ１０８、スキャナバッファ１０９、プロッタバッファ１１０、ハードディスク１１１を備えており、ＣＰＵバス１２０と画像転送用バス１３０の２つのバスを有している。
【００２７】
ＣＰＵバス１２０は、ＣＰＵ１０１に直結しているバスであり、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、およびブリッジ１０８等が接続されている。画像転送用バス１３０は、主に画像データを転送するバスであり、ブリッジ１０８、画像メモリ１０７、ＤＭＡＣ１０４、スキャナバッファ１０９、プロッタバッファ１１０、ＮＩＣ１０５、ハードディスク１１１等が接続されている。画像転送用バス１３０は、画像データを高速に転送するために、汎用の高速のバスや画像データを効率良く転送するように設計した専用のバスを使用することが望ましい。
【００２８】
ＣＰＵ１０１は、ＲＯＭ１０２に格納されたプログラムに従って、ＲＡＭ１０３をワークエリアとして使用して、画像処理装置の全体を制御する。ブリッジ１０８は、ＣＰＵバス１２０と画像転送用バス１３０を仲介しており、２つのバスの速度差やバス幅の違いを吸収するとともに、エンディアンの変換などを行なう。例えば、ＣＰＵ１０１が画像メモリ１０７にアクセスする場合は、ＣＰＵ１０１によるＣＰＵバスアクセスサイクルを、ブリッジ１０８が画像転送用バスアクセスサイクルに変換することによって画像メモリ１０７へのアクセスを実現している。
【００２９】
画像メモリ１０７は、画像データを保存する領域であり、例えば、ＤＲＡＭ等で構成することができる。画像メモリ１０７は、スキャナエンジン２００から入力された画像データや、ＮＩＣ１０５を介してネットワークから送信されてきた画像データを保存する。この画像データは如何なる種類の画像でも良く、例えば、白黒／カラー、二値／多値、圧縮／非圧縮、低解像度／高解像度など各種多様なフォーマットの画像でも良い。
【００３０】
また、画像メモリ１０７上に保存した画像データは、プロッタエンジン３００に転送してプリントする処理、ＮＩＣ１０５を介してネットワーク上に送信する処理、およびハードディスクへ保存する処理等が行われる。カラー画像判定回路１０６は、画像メモリ１０７上に保存されているカラー画像データの色情報を参照して、カラー画像／モノクロ画像を判定するカラー画像判定処理を実行する（図５参照）。
【００３１】
ＤＭＡＣ（ＤＭＡ  Ｃｏｎｔｒｏｌｌｅｒ）１０４は、画像転送用バス１３０上を流れる画像データを高速に転送するためのコントローラである。ＤＭＡＣ１０４は、例えば、スキャン時にはスキャナＩ／Ｆから送られてくる画像データを、画像転送用バス１３０を介して画像メモリ１０７の指定された領域に書き込む等の大量の画像データを転送する処理を行なう。この場合、ＣＰＵ１０１は、画像メモリ１０７上のアドレスや転送サイズを予めＤＭＡＣ１０４に指定する。
【００３２】
ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）１０５は、ネットワークとのＩ／Ｆを制御するモジュールで、ネットワークから送られてきた画像データおよびその他のデータを受け取り、バスの要求に従って画像転送用バス１３０にデータを流す処理を行なう。また、ＮＩＣ１０５は、画像転送用バス１３０に流れているデータをネットワークへ送信する処理を行なう。
【００３３】
ネットワークは、汎用なネットワークでも、画像処理装置に特化したネットワークでもよい。汎用的なネットワークとしては、例えばイーサネット（登録商標）やＩＥＥＥ１３９４などのシリアルＩ／Ｆが挙げられる。このネットワークを通じて、画像データを送受信する。
【００３４】
スキャナエンジン２００は、原稿の画像データを読み取って入力するモジュールであり、入力した画像データをスキャナＩ／Ｆを介してスキャナバッファ１０９に転送する。スキャナバッファ１０９はスキャナエンジン２００から転送されてきた画像データを一時的に保存し、画像転送用バス１３０のバスサイクルに合わせてデータを出力する。
【００３５】
プロッタエンジン３００は、画像データを転写紙に印字出力するモジュールであり、プロッタバッファ１１０から転送されてきた画像データをプロッタＩ／Ｆを通じて取り込んでプリントする。プロッタバッファ１１０は、画像転送用バス１３０から送られてきた画像データを一時的に保存し、プロッタＩ／Ｆの速度に応じて画像データを出力する。ハードディスク１１１は、画像データおよびその他の情報を保存するための記憶装置である。
【００３６】
図２は、本発明の画像形成装置１０のコピープロセスの動作例を説明するためのフローチャートである。図２に示すコピープロセスの動作例では、スキャナエンジン２００で取り込んだ画像データを画像メモリ１０７に蓄積し、画像メモリ１０７上の画像データをプロッタエンジン３００に出力する場合を説明する。
【００３７】
図２において、まず、ＣＰＵ１０１は、スキャナエンジン２００にスキャン開始を要求し、これに応じて、スキャナエンジン２００は、原稿の画像データを取ってスキャナバッファ１０９に蓄積する（ステップＳ１）。続いて、ＣＰＵ１０１は、ＤＭＡＣ１０４にＤＭＡ転送開始を要求し、ＤＭＡＣ１０４は、予め設定されていたサイズ分だけスキャナバッファ１０９から画像メモリ１０７へ画像データを転送する（ステップＳ２）。この画像データの転送は、画像転送用バス１３０を使用して行なわれ、スキャナエンジン２００で１ページ分の画像データを読み込み、画像メモリ１０７に１ページ分の画像データが保存されるまでスキャナバッファ２００から画像メモリ１０７への画像データの転送が行なわれる。
【００３８】
ＣＰＵ１０１は、画像データの転送が終了した場合には（ステップＳ３の「Ｙｅｓ」）、スキャナエンジン３００にスキャン終了を要求し（ステップＳ４）、続いて、ＤＭＡＣ１０４にＤＭＡ転送終了を要求する。このようにして、スキャナエンジン３００から画像メモリ１０７への画像転送が行なわれる。
【００３９】
つづいて、ＣＰＵ１０１は、ＤＭＡＣ１０４にＤＭＡ転送開始を要求し、続いてプロッタエンジン３００にプリント開始を要求する（ステップＳ５）。これにより、ＤＭＡＣ１０４は、画像メモリ１０７からプロッタバッファ１１０へ画像データを転送する（ステップＳ６）。この転送は画像転送用バス１３０を使用して行なわれる。
【００４０】
画像メモリ１０７上の画像データが全て転送され、全ての画像データがプロッタエンジン３００に出力されるまで画像データの転送が行なわれる。ＣＰＵ１０１は、全ての画像データの転送が終了した場合には（ステップＳ７の「Ｙｅｓ」）、ＤＭＡＣ１０４にＤＭＡ転送終了を要求し、続いてプロッタエンジン３００にプリント終了を要求する（ステップＳ８）。このようにして、画像メモリ１０７からプロッタエンジン３００への画像転送が行なわれる。
【００４１】
図３はカラー画像判定回路１０６および画像メモリ１０７を説明するための模式図である。カラー画像判定回路１０６は、図３に示すように、色変換回路４０１、色差計算回路４０２、閾値設定回路４０３、および各プレーン毎の画像ポインタ４０４Ｙ〜Ｋを備えている。
【００４２】
画像ポインタ４０４Ｙ〜Ｋは、例えばＹ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）Ｋ（ブラック）画像の場合は、各プレーン毎の画像メモリ１０７上のアドレスを指し示している。色変換回路４０１は、画像メモリ１０７へのポインタで指し示されたアドレスの画素値を取得し、特定の色空間への変換を行なって色差計算回路４０２に出力する。色差計算回路４０２は、色変換回路４０１で特定の色空間に変換されたデータに基づいて色成分があるか否かの指標である色差を算出し、カラー画像／モノクロ画像の判定を行う。閾値設定回路４０３は、カラー画像かモノクロ画像かを判定するための色差の閾値を色差計算回路４０２に設定する。
【００４３】
上記カラー画像判定回路１０６の具体的な動作を説明する。ＤＭＡＣ１０４は、ＣＰＵ１０１の指示に応じて、カラー画像データを画像メモリ１０７に展開する場合は、図３に示すように、画像メモリ１０７においてＹＭＣＫの各プレーン５０１Ｙ〜Ｋが保存できるだけの大きさの領域を確保する。この時、カラー画像判定回路１０６は、各プレーン５０１Ｙ〜５０１Ｋの画像メモリ１０７の先頭アドレスを画像ポインタ４０４Ｙ〜Ｋに保存する。図４は、画像メモリ１０７のメモリマップを示している。各プレーン５０１Ｙ〜５０１Ｋは、実際には図４に示すように画像メモリ１０７上の連続したアドレスに取られる。
【００４４】
次に、ＤＭＡＣ１０４は、各プレーン５０１Ｙ〜Ｋ毎に確保した画像メモリ１０７に対して、プリントプロセスの場合は、各プレーン５０１Ｙ〜Ｋの画像データを描画する。コピープロセスの場合はスキャナエンジン２００で読み取った画像データを先頭アドレスから順次格納する。また、ハードディスク１１１などの二次記憶装置に保存している画像データを読み出すプロセスの場合は、確保した画像メモリ１０７に画像データをそのまま展開する。ハードディスク１１１に保存されている画像データが圧縮画像である場合には、不図示の圧縮伸張回路で伸長処理をした後に、確保した画像メモリ１０７に展開する。
【００４５】
カラー画像判定回路１０６では、色変換回路４０１は、各プレーン５０１Ｙ〜Ｋの画像ポインタ４０４Ｙ〜Ｋが示すアドレスの画素値を取得する。例えば、プレーン５０１Ｙ〜Ｋの階調が４ビットである場合は、画素値は「０」〜「１５」となり、また、プレーン５０１Ｙ〜Ｋの階調が８ビットである場合は、画素値は「０」〜「２５５」になる。色変換回路４０１は、４色分の画素値をサンプリングした後、その画素について色変換処理を行なう。ＹＭＣＫの色空間は、デバイスディペンドな空間のため、正しく色の違いを表現できていない。そこで、例えばＣＩＥＬＡＢ、ＣＩＥＸＹＺ空間などの均等色差空間に変換する。均等色差空間では２点間の距離が色の違いを表しているため、以下のような方法を使用する。
【００４６】
ＣＩＥＬＡＢ空間は、色情報をＬ＊、ａ＊、ｂ＊の３つの軸で表現している。そこで、２点間の距離である色差は下式（１）で算出することができる。
【００４７】
色差＝（Ｌ＊＾２＋ａ＊＾２＋ｂ＊＾２）＾（１／２）・・・（１）
【００４８】
ＣＩＥＬＡＢ空間は、Ｌ＊が輝度、ａ＊とｂ＊が色差を表しているため、色成分の大きさは、例えば下式（２）で算出することができる。
【００４９】
色差＝（ａ＊＾２＋ｂ＊＾２）＾（１／２）・・・（２）
【００５０】
次に、カラー画像の判断方法について説明する。まず、閾値設定回路４０３は色差計算回路４０２に閾値を設定する。閾値の設定はシステムで自動的に設定しても良いし、ユーザが設定できるようなＩ／Ｆを使用してユーザが設定するようにしてもよい。この閾値には、カラー画素であると判断できる色差の下限値を設定する。また、画像入出力処理プロセスの種類によって、閾値を変化させてもよい。
【００５１】
図５は、カラー画像判定回路１０６のカラー画像判定処理を説明するためのフローチャートである。図６〜図９は、画像メモリ１０７に格納した画像データからの画素値のサンプリング方法の一例を説明するための図である。
【００５２】
図５において、色変換回路４０１は、画像ポインタ４０１Ｙ〜Ｋで指し示す各プレーン５０１Ｙ〜Ｋの画素値をサンプリングする（ステップＳ１１）。ここで、画素値のサンプリングは、画素を間引きして行うのが望ましい。例えば、図６に示すように、サンプリングを１画素置きに行なった場合は、全画素の１／２をサンプリングすることになる。また、図７に示すように、サンプリングを２画素置きに行なった場合は、全画素の１／３をサンプリングすることになる。
【００５３】
また、画素値をサンプリング場合に、画像を縦方向に間引きすることにしても良く、例えば、図８に示すように、３画素置き縦方向に間引きすることにしても良い。横線が多い画像は縦方向に間引きすることによってサンプリング数を減らすことができ、かつ、間引きの隙間に線が乗らないようにすることができる。
【００５４】
また、画素値をサンプリングする場合に、画像を横方向に間引きすることにしても良い。例えば、図９に示すように、画素値を３画素置きに横方向に間引きすることにしても良い。縦線が多い画像は横方向に間引きすることによってサンプリング数を減らすことができ、かつ、間引きの隙間に線が乗らないようにすることができる。
【００５５】
なお、サンプリングは、上述したように規則的に行なっても良く、ランダムに行なっても良い。また、プロセスの種類に応じてサンプリング方法を変えることにしても良い。例えば、写真画像を扱う場合はサンプリングを細かくしてなるべく多くの画素を判断する。他方、ＰＣ上のアプリケーションで作成した文書を印刷する場合は、サンプリングを粗くして少ない画素で判断して処理速度を向上させることにしても良い。
【００５６】
色変換回路４０１は、サンプリングした画素値をＣＩＥＬＡＢ系の色空間に変換する（ステップＳ１２）。次に、色差計算回路４０２は、色空間変換後の画素値に対して色成分の色差を算出する（ステップＳ１３）。色差計算回路４０２は、算出した色差の絶対値と閾値設定回路４０３で設定された閾値とを比較して、色差の絶対値＞閾値であるか否かを判定する（ステップＳ１４）。色差計算回路４０２は、色差の絶対値＞閾値である場合には（ステップＳ１４の「Ｙｅｓ」）、この画像データがカラー画像であると判定して（ステップＳ１７）、当該処理を終了する。他方、色差の絶対値＞閾値でない場合には（ステップＳ１４の「Ｎｏ」）、色変換回路４０１は、サンプリングする次の画素が存在するか否かを判断する（ステップＳ１５）。
【００５７】
色変換回路４０１は、次の画素が存在する場合は（ステップＳ１５の「Ｙｅｓ」）、各プレーン５０１Ｙ〜Ｋの画像ポインタ４０４Ｙ〜Ｋの値を＋αとして、次のサンプリング画素まで進め（ステップＳ１８）、画像ポインタ４０４Ｙ〜Ｋが次のサンプリング画素を指し示すようにする。そして、ステップＳ１１に戻り、同一の処理を実行する（ステップＳ１１〜ステップＳ１４）。他方、色変換回路４０１は、次にサンプリングする画素が存在しない場合は（ステップＳ１５の「Ｎｏ」）、この画像データがモノクロ画像であると判定して（ステップＳ１６）、当該処理を終了する。
【００５８】
次に、モノクロ画像であると判断された場合の処理について説明する。上記処理によって、カラー画像であると判定された場合は、以後、通常のカラー画像の動作を行なう。他方、上記処理によって、モノクロ画像であると判定された場合は、以後、モノクロ画像の場合と同様な動作を行う。この場合、図４に示す画像メモリ１０７上に展開されているＹＭＣプレーン５０１Ｙ〜Ｃの画像データは必要なくなるため、ＣＰＵ１０１は、図１０に示すように、Ｋプレーン５０１Ｋのみを残し、他のプレーン５０１Ｙ〜Ｃを画像メモリ１０７から解放する。
【００５９】
解放後は、通常のモノクロ画像の動作を行なう。これにより、モノクロ画像と判定された場合に、ＹＭＣのプレーンの画像データを画像メモリ１０７から解放することができるため、他の画像入出力処理プロセスが使用できる画像メモリ１０７の領域が増え、他の画像入出力処理プロセスがメモリ不足により動作できなくなる場合を減らすことができる。
【００６０】
例えば、図４のように全体で３２ＭＢの画像メモリを持っているシステムで、１プレーンの大きさが４ＭＢ必要とする画像を１ページ扱う場合を考える。この場合、ＹＭＣＫの４プレーンで１６ＭＢの画像メモリを必要とするため、他のプロセスで使用できる画像メモリサイズは１６ＭＢである。ここで、画像がモノクロ画像であると判定されると、ＹＭＣのプレーンを解放するため、図１０のように他の画像入出力処理プロセスで使用できる画像メモリサイズは２８ＭＢとなる。
【００６１】
本実施の形態によれば、画像メモリにカラー画像データを色成分毎に展開し、画像メモリに展開されたカラー画像データから画素値をサンプリングし、サンプリングされた画素値に対して色変換を施し、色変換された画素値の色差を算出し、サンプリングされた全画素値の色差の絶対値が閾値以下である場合にモノクロ画像と擬似的に判定し、モノクロ画像であると判断された場合に画像メモリからカラー色成分の画像データを解放することとしたので、消費する画像メモリを最小限にとどめ、画像メモリを効率的に使用することができる。この結果、ある画像入出力処理プロセスで画像メモリを使用している場合においても、他の画像入出力処理プロセスで画像メモリの十分な領域を使用して動作することが可能となる。また、カラー画像データの色情報が少ない場合に、モノクロ画像として印刷処理することとしたので、原画像とほとんど違いのない画像での印刷を行うことができ、さらに、色情報がないため、例えば１ドラム方式のカラー複写機等の画像処理装置において、印刷速度を向上させることが可能となる。
【００６２】
（実施の形態２）
カラー画像判定回路１０６のカラー画像判定処理の他の例を説明する。図１１は、カラー画像判定回路１０６のカラー画像判定処理の他の例を説明するためのフローチャートである。
【００６３】
図１１において、まず、色差計算回路４０２は、色差値の合計を示す値ｓｕｍ＝０とする（ステップＳ２１）。色変換回路４０１は、画像ポインタ４０１Ｙ〜Ｋで指し示す各プレーン５０１Ｙ〜Ｋの画素値をサンプリングし（ステップＳ２２）、ＣＩＥＬＡＢ系の色空間に変換する（ステップＳ２３）。ここで、画素のサンプリング方法は、実施の形態１と同様な方法で行うことができる。
【００６４】
次に、色差変換回路４０２は、色空間変換後の画素値に対して色成分の色差を算出し、ＳＵＭ＝ＳＵＭ＋色差として、算出した色差を色差の合計値であるｓｕｍに加算する（ステップＳ２４）。色変換回路４０１は、サンプリングする次の画素が存在するか否かを判断する（ステップＳ２５）。
【００６５】
色変換回路４０１は、次の画素が存在する場合は（ステップＳ２５の「Ｙｅｓ」）、各プレーン５０１Ｙ〜Ｋの画像ポインタ４０４Ｙ〜Ｋの値を＋αとして、次のサンプリング画素まで進め（ステップＳ３０）、画像ポインタ４０４Ｙ〜Ｋが次のサンプリング画素を指し示すようにする。そして、ステップＳ２２に戻り、同一の処理を実行する（ステップＳ２２〜ステップＳ２４）。
【００６６】
他方、次にサンプリングする画素が存在しない場合は（ステップＳ２５の「Ｎｏ」）、色差計算回路４０２は、合計値ｓｕｍをサンプリングした画素数で除算して色差の平均を算出する（ステップＳ２６）。色差計算回路４０２は、算出した色差の平均値と閾値設定回路４０３で設定された閾値とを比較して、色差の平均値＞閾値であるか否かを判定する（ステップＳ２７）。色差計算回路４０２は、色差の平均値＞閾値である場合には（ステップＳ２７の「Ｙｅｓ」）、この画像データがカラー画像であると判定して（ステップＳ２８）、当該処理を終了する。他方、色差の平均値＞閾値でない場合には（ステップＳ２７の「Ｎｏ」）、この画像データがモノクロ画像であると判定して（ステップＳ２９）、当該処理を終了する。
【００６７】
（プログラム）
本発明の画像処理装置は、複数の機器（例えば、ホストコンピュータ、インターフェイス機器、スキャナ、プリンタ等）から構成されるシステムに適用しても、１つの機器から構成される装置（ホストコンピュータ等）に適用しても良い。
【００６８】
また、本発明の目的は、上述した画像処理装置の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（または、ＣＰＵ、ＭＰＵ、ＤＳＰ）が記録媒体に格納されたプログラムコードを実行することによっても達成することが可能である。この場合、記録媒体から読み出されたプログラムコード自体が前述した画像処理装置の機能を実現することになり、そのプログラムコードまたはそのプログラムを記憶した記録媒体は本発明を構成することになる。プログラムコードを供給するための記録媒体としては、ＦＤ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリ、ＲＯＭなどの光記録媒体、磁気記録媒体、光磁気記録媒体、半導体記録媒体を使用することができる。
【００６９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した画像処理装置の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した画像処理装置の機能が実現される場合も含まれること言うまでもない。
【００７０】
また、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した画像処理装置の機能が実現される場合も含まれることは言うまでもない。
【産業上の利用可能性】
【００７１】
以上のように、本発明に係る画像処理装置、画像処理方法、およびコンピュータが実行するためのプログラムは、カラー画像データを色成分毎に画像メモリに展開する場合に有用であり、特に、スキャナ、プリンタ、ファクシミリ、複写機、デジタル複合機等に適している。
【図面の簡単な説明】
【００７２】
【図１】本発明に係る画像処理装置の全体構成を示すブロック図である。
【図２】図１の画像形成装置の動作例を説明するためのフローチャートである。
【図３】図１のカラー画像判定回路を説明するための模式図である。
【図４】図１の画像メモリのメモリマップを示す図である。
【図５】図３のカラー画像判定回路のカラー画像判定処理を説明するためのフローチャートである。
【図６】画素値のサンプリング方法を説明するための図である（その１）。
【図７】画素値のサンプリング方法を説明するための図である（その２）。
【図８】画素値のサンプリング方法を説明するための図である（その３）。
【図９】画素値のサンプリング方法を説明するための図である（その４）。
【図１０】図１の画像メモリのメモリマップを示す図である。
【図１１】実施の形態２に係るカラー画像判定回路のカラー画像判定処理を説明するためのフローチャートである。
【符号の説明】
【００７３】
１０  画像処理装置
１００  コントローラ
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＤＭＡＣ
１０５  ＮＩＣ
１０６  カラー画像判定回路
１０７  画像メモリ
１０８  ブリッジ
１０９  スキャナバッファ
１１０  プロッタバッファ
１１１  ハードディスク
１２０  ＣＰＵバス
１３０  画像転送用バス
２００  スキャナエンジン
３００  プロッタエンジン
４０１  色変換回路
４０２  色差計算回路
４０３  閾値設定回路
４０４  画像ポインタ
【図１】
2006080914.tif 000003
【図２】
2006080914.tif 000004
【図３】
2006080914.tif 000005
【図４】
2006080914.tif 000006
【図５】
2006080914.tif 000007
【図６】
2006080914.tif 000008
【図７】
2006080914.tif 000009
【図８】
2006080914.tif 000010
【図９】
2006080914.tif 000011
【図１０】
2006080914.tif 000012
【図１１】
2006080914.tif 000013