(57)【要約】【課題】ある画像処理モジュールにおいて、それに入力される画像データが処理のための条件に見合わない場合にも、エラーを生じさせる機会を低減し、処理を継続できるようにした画像処理装置を提供する。【解決手段】制御部１１が、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素の処理を行うものであって、記憶部１２に、各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶させておき、制御部１１は、画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、上記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに対して、上記取得した条件を満足する画像データに変換するための所定変換処理を実行する。【選択図】        図１
2004280609.tif 000002
【特許請求の範囲】
【請求項１】
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、
各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、
前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに対して、前記取得した条件を満足する画像データに変換するための所定変換処理を実行する手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、
各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、
各画像処理要素を特定する情報に関連づけて、それに代替する画像処理要素であって、入力される画像データに関する条件が互いに異なる、他の画像処理要素の少なくとも一つを代替画像処理要素として記憶する手段と、
前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該画像処理要素に関連づけられた代替画像処理要素を選択して、当該選択した代替画像処理要素に対して前記画像データを入力する手段と、
を含むことを特徴とする画像処理装置。
【請求項３】
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、
各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、
各画像処理要素を特定する情報に関連づけて、それに代替する画像処理要素であって、入力される画像データに関する条件が互いに異なる、他の画像処理要素の少なくとも一つを代替画像処理要素として記憶する手段と、
入力される画像データに関する条件ごとに、画像データに対して所定変換処理を行う方法と、代替画像処理要素による処理を行わせる方法と、のいずれの方法を選択的に行うべきかを定める選択情報を記憶する選択情報記憶手段と、
を含み、
前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに関する条件に関連づけられている、前記選択情報を参照し、当該選択情報に従って、画像データに対して所定変換処理を行って前記選択した画像処理要素に入力するか、又は代替画像処理要素に前記画像データを入力することを特徴とする画像処理装置。
【請求項４】
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、
各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、
画像処理の内容を特定する情報に関連づけて、各画像処理を省略可能か否かを定義する省略可否情報を記憶する手段と、
を含み、
前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合、当該画像処理要素が行う画像処理の内容を特定する情報に関連づけられている省略可否情報を参照し、省略可能であると定義されている場合は、入力しようとする画像データをそのまま出力することを特徴とする画像処理装置。
【請求項５】
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素モジュール、を用いた、コンピュータによる画像処理方法であって、
前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件を記憶しておき、
前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに対して、前記取得した条件を満足する画像データに変換するための所定変換処理を実行することを特徴とする画像処理方法。
【請求項６】
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素モジュール、を用いた、コンピュータによる画像処理方法であって、
前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件を記憶しておくとともに、
前記各画像処理要素モジュールを特定する情報に関連付けて、それに代替する画像処理要素モジュールであって、入力される画像データに関する条件が互いに異なる、他の画像処理要素モジュールの少なくとも一つを代替画像処理要素モジュールとして記憶しておき、
前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、前記代替画像処理要素モジュールを選択して、当該選択した代替画像処理要素モジュールに対して画像データを入力することを特徴とする画像処理方法。
【請求項７】
コンピュータに、
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する画像処理要素モジュール、を少なくとも一つ記憶させておくとともに、前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件を記憶させておき、
前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得する手順と、
前記入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに対して、前記取得した条件を満足する画像データに変換するための所定変換処理を実行する手順と、
を前記コンピュータに実行させることを特徴とする画像処理プログラム。
【請求項８】
コンピュータに、
入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する少なくとも一つの画像処理要素モジュールと、
前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件と、を記憶させておくとともに、
前記各画像処理要素モジュールを特定する情報に関連付けて、それに代替する画像処理要素モジュールであって、入力される画像データに関する条件が互いに異なる、他の画像処理要素モジュールの少なくとも一つを代替画像処理要素モジュールとして記憶させておき、
前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得する手順と、
入力しようとする画像データが当該取得した条件を満足しない場合に、前記代替画像処理要素モジュールを選択して、当該選択した代替画像処理要素モジュールに対して画像データを入力する手順と、
を前記コンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ装置等の内部に搭載される画像処理装置に関する。
【０００２】
【従来の技術】
プリンタ等、画像処理を必要とする装置内部では、数多くの画像処理モジュールが搭載されており、プリンタの制御部が、ユーザの指示に従って、それぞれの画像処理モジュールを組み合わせ、印刷等、出力対象となる画像データに対して一連の画像処理を行っている。例えばモノクロプリンタの場合に、カラーのドキュメントが入力され、ユーザによって５０％の縮小を行うべき旨の指示がなされている場合、モノクロ化する画像処理モジュールと、５０％縮小処理モジュールとが組み合わせられ、入力される、カラーのドキュメントの画像データに対してこれら組み合わせられた画像処理が順次実行される。
【０００３】
【発明が解決しようとする課題】
こうしたプリンタ装置などの画像処理モジュールは、その数も、種類も多いため、プリンタ装置の開発現場では、それぞれの担当に分かれてモジュールの作成が行われているのが現状である。特にソフトウエアによってこの画像処理モジュールを実現する場合、各プログラマは、なるべく十分テストされた既存のソフトウエアモジュールを利用することで、開発コストを低減するとともに信頼性の高いソフトウエアを提供しようとする。
【０００４】
ところが、このような開発が行われる結果、画像処理モジュール間で次のような不具合が生じることがある。例えば、複数の画像処理モジュールを組み合わせたときに、先行する画像処理モジュールが出力する画像データがＲＧＢ値によって表現されている画像データであるのに、次に当該画像データを受け入れて処理すべき画像処理モジュールが、ＣＭＹＫ値によって表現された画像データしか受け入れないという場合に、後段の画像処理モジュールはＲＧＢ値の入力を受けてエラーを発生し、画像処理が滞ってしまうのである。
【０００５】
本発明は、上記実情に鑑みて為されたもので、ある画像処理モジュールにおいて、それに入力される画像データが処理のための条件に見合わない場合にも、エラーを生じさせる機会を低減し、処理を継続できるようにした画像処理装置を提供することを、その目的の一つとする。
【０００６】
【課題を解決するための手段】
上記従来例の問題点を解決するための本発明は、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに対して、前記取得した条件を満足する画像データに変換するための所定変換処理を実行する手段と、を含むことを特徴としている。
【０００７】
これにより、入力される画像データが処理のための条件に見合わない場合にも、エラーを生じさせる機会を低減し、処理を継続できる。
【０００８】
また、上記従来例の問題点を解決するための本発明は、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、各画像処理要素を特定する情報に関連づけて、それに代替する画像処理要素であって、入力される画像データに関する条件が互いに異なる、他の画像処理要素の少なくとも一つを代替画像処理要素として記憶する手段と、前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該画像処理要素に関連づけられた代替画像処理要素を選択して、当該選択した代替画像処理要素に対して前記画像データを入力する手段と、を含むことを特徴としている。
【０００９】
さらに、上記従来例の問題点を解決するための本発明は、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、各画像処理要素を特定する情報に関連づけて、それに代替する画像処理要素であって、入力される画像データに関する条件が互いに異なる、他の画像処理要素の少なくとも一つを代替画像処理要素として記憶する手段と、入力される画像データに関する条件ごとに、画像データに対して所定変換処理を行う方法と、代替画像処理要素による処理を行わせる方法と、のいずれの方法を選択的に行うべきかを定める選択情報を記憶する選択情報記憶手段と、を含み、前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに関する条件に関連づけられている、前記選択情報を参照し、当該選択情報に従って、画像データに対して所定変換処理を行って前記選択した画像処理要素に入力するか、又は代替画像処理要素に前記画像データを入力することを特徴としている。
【００１０】
さらに上記従来例の問題点を解決するための本発明は、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素と、各画像処理要素を特定する情報に関連づけて、それに入力される画像データに関する条件を記憶する手段と、画像処理の内容を特定する情報に関連づけて、各画像処理を省略可能か否かを定義する省略可否情報を記憶する手段と、を含み、前記画像処理要素のいずれかに対して画像データを入力する際に、当該画像処理要素を特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合、当該画像処理要素が行う画像処理の内容を特定する情報に関連づけられている省略可否情報を参照し、省略可能であると定義されている場合は、入力しようとする画像データをそのまま出力することを特徴としている。
【００１１】
また、本発明の別の態様に係る画像処理方法は、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素モジュール、を用いた、コンピュータによる画像処理方法であって、前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件を記憶しておき、前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに対して、前記取得した条件を満足する画像データに変換するための所定変換処理を実行することを特徴としている。
【００１２】
また、本発明のさらに別の態様に係る画像処理方法は、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する、少なくとも一つの画像処理要素モジュール、を用いた、コンピュータによる画像処理方法であって、前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件を記憶しておくとともに、前記各画像処理要素モジュールを特定する情報に関連付けて、それに代替する画像処理要素モジュールであって、入力される画像データに関する条件が互いに異なる、他の画像処理要素モジュールの少なくとも一つを代替画像処理要素モジュールとして記憶しておき、前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得し、入力しようとする画像データが当該取得した条件を満足しない場合に、前記代替画像処理要素モジュールを選択して、当該選択した代替画像処理要素モジュールに対して画像データを入力することを特徴としている。
【００１３】
本発明のさらに別の態様に係るプログラムは、コンピュータに、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する画像処理要素モジュール、を少なくとも一つ記憶させておくとともに、前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件を記憶させておき、前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得する手順と、入力しようとする画像データが当該取得した条件を満足しない場合に、当該入力しようとする画像データに対して、前記取得した条件を満足する画像データに変換するための所定変換処理を実行する手順と、を前記コンピュータに実行させることとしている。
【００１４】
本発明のさらに別の態様に係るプログラムは、コンピュータに、入力される画像データに対し、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力する少なくとも一つの画像処理要素モジュールと、前記各画像処理要素モジュールを特定する情報に関連付けて、入力される画像データに関する条件と、を記憶させておくとともに、前記各画像処理要素モジュールを特定する情報に関連付けて、それに代替する画像処理要素モジュールであって、入力される画像データに関する条件が互いに異なる、他の画像処理要素モジュールの少なくとも一つを代替画像処理要素モジュールとして記憶させておき、前記画像処理要素モジュールのいずれかに対して画像データを入力する際に、当該画像処理要素モジュールを特定する情報に関連づけて記憶されている、前記条件を取得する手順と、入力しようとする画像データが当該取得した条件を満足しない場合に、前記代替画像処理要素モジュールを選択して、当該選択した代替画像処理要素モジュールに対して画像データを入力する手順と、を前記コンピュータに実行させることとしている。
【００１５】
【発明の実施の形態】
［第１の実施の形態］
本発明の第１の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置は、例えばプリンタに内蔵されたコンピュータによって実現されるもので、具体的には図１に示すように、制御部１１と、記憶部１２と、指示入力部１３と、画像データ入力インタフェース１４と、画像データ出力インタフェース１５とを含んで構成される。
【００１６】
制御部１１は、記憶部１２に格納されている画像処理プログラムに従って動作し、指示入力部１３を介して入力される指示に基づき、画像データ入力インタフェース１４から入力される画像データに対して画像処理を施して、当該画像処理を行った後の画像データを画像データ出力インタフェース１５を介して出力する。この制御部１１の動作については、後に詳しく述べる。記憶部１２は、制御部１１によって実行される画像処理プログラムを格納する、コンピュータ読み取り可能な記憶媒体である。また、この記憶部１２は、制御部１１の画像処理の過程で生成される画像データや、種々のパラメータなどを記憶するワークメモリとしても動作する。
【００１７】
指示入力部１３は、外部から画像処理の内容を指示する情報を受け入れて制御部１１に出力する。例えば本実施の形態の画像処理装置がプリンタに内蔵されている場合、この指示入力部１３は、プリンタ全体を制御する制御装置から、印刷の対象となった画像データに対して行うべき、一連の画像処理に関する情報を受け入れて、制御部１１に出力する。
【００１８】
画像データ入力インタフェース１４は、外部から処理の対象となった画像データを受け入れて制御部１１に出力する。また、画像データ出力インタフェース１５は、制御部１１から入力される指示に従って、画像データを外部に出力する。具体的に本実施の形態の画像処理装置がプリンタに内蔵されている場合は、パーソナルコンピュータなどからネットワークを介して受信される画像データが、画像データ入力インタフェース１４によって受け入れられる。そして、画像データ出力インタフェース１５は、画像データに基づいて印刷のための画像を形成する装置に対して、画像データを出力する。
【００１９】
ここで制御部１１の具体的動作について説明する。制御部１１は、記憶部１２に格納されている、少なくとも一つの画像処理要素モジュールを用いて画像処理を遂行する。例えば、５０％の縮小を行って９０度回転させるという場合、拡大・縮小処理を行う画像処理要素モジュールと、回転処理の画像処理要素モジュールとを読み込んで、まず、拡大・縮小処理を行う画像処理要素モジュールの処理として、処理対象の画像データを保持するための入力バッファと、処理後の画像データを保持するための出力バッファとを記憶部１２内に確保する。次に、入力バッファに画像データを取り込み、これに対して５０％の縮小処理を実行した画像データを出力バッファに格納する。そして、回転処理を行う画像処理要素モジュールの処理として、縮小処理後の画像データが格納されている、拡大・縮小処理（つまり前段の処理）で確保した出力バッファの記憶部１２上の位置（ポインタ）を入力バッファへのポインタとして設定するとともに、回転処理後の画像データを保持するための出力バッファを記憶部１２に確保し、当該入力バッファ（前段出力バッファ）に格納された画像データに対して９０度回転の処理を遂行し、出力バッファに出力する。このように各画像処理要素モジュールは、それぞれ出力バッファを次の段の入力バッファとして利用しながら多段に組み合わせられて処理を遂行する。
【００２０】
ここで、各画像処理要素モジュールの組み合わせ順序は必ずしも定まっていないが、例えば予め定めた優先順位に従って順序を定めるようにしてもよい。制御部１１は、利用する画像処理要素モジュールの順序を順序情報として生成し、当該順序情報を記憶部１２に格納する。
【００２１】
なお、各画像処理モジュールはこのように、入力される画像データを入力バッファに保持し、当該入力バッファに保持された画像データに対して、それぞれ所定の画像処理を実行し、画像処理後の画像データを出力バッファに出力するというものであるが、それぞれの画像処理の性質上又はプログラムの設計上、処理可能な画像データの形式等に制限がある場合もある。こうした処理可能な画像データの条件に関する情報は、各画像処理要素モジュールを特定する情報に関連付けて、図２に示すように記憶部１２に格納されている。
【００２２】
具体的に拡大・縮小の画像処理を行う、ある画像処理要素モジュールにおいて、画像データの各画素が８ビット以上（２５６階調以上のグレースケール、又は２５６色以上のカラー）でなければならないとする条件がある場合、当該条件の情報が、当該画像処理要素モジュールを特定する情報に関連付けて記憶部１２に格納される。
【００２３】
制御部１１は、処理の対象となる画像データが、画像データ入力インタフェース１４を介して入力されると、図３に示す処理を開始し、当該画像データの属性情報を取得する（Ｓ１）。ここで属性情報は、処理対象としての制限に関係するもので、具体的には画像データのサイズ、ビット数（各画素値のビット数）、色空間を特定する情報（ＲＧＢやＨＳＶ、ＣＭＹＫ等の別）、データ構造を特定する情報（ＪＰＥＧ、ＧＩＦなどの別）等である。
【００２４】
制御部１１は、そして記憶部１２に格納した順序情報を参照し、次（処理開始直後の場合は最初）に利用する画像処理要素モジュールを特定し（Ｓ２）、特定した画像処理要素モジュールが処理可能な画像データの条件の情報を記憶部１２から取得する（Ｓ３）。そして、処理Ｓ１で取得した画像データの属性情報が、処理Ｓ３で取得した条件を満足するか否かを調べ（Ｓ４）、満足しない場合は（Ｎｏであれば）、画像データに対して処理Ｓ３で取得した条件を満足させるための変換処理を行う（Ｓ５）。例えば画像データの各画素値のビット数が「１」であり、処理Ｓ３で取得した条件により各画素値のビット数が「８」以上であるとされる場合、画像データの各画素値のビット数を８ビットとする変換処理（この処理の内容は広く知られているので詳しい説明を省略する）を行う。
【００２５】
そして制御部１１は、処理Ｓ２で特定した画像処理要素モジュールにより、画像データ（変換処理を行った場合は当該変換処理後の画像データ）に対する画像処理を行わせ（Ｓ６）、順序情報を参照して、次に利用する画像処理要素モジュールがあるか否かを調べ（Ｓ７）、そのような画像処理要素モジュールがあれば（Ｙｅｓならば）、処理Ｓ２に戻って、当該次に利用する画像処理要素モジュールを特定する処理から繰り返す。
【００２６】
また制御部１１は、処理Ｓ７において次に利用する画像処理要素モジュールがなければ（Ｎｏならば）、すなわち一連の画像処理を完了したならば、当該画像処理後の画像データを画像データ出力インタフェース１５を介して出力し（Ｓ８）、処理を終了する。なお、処理Ｓ４において、処理Ｓ１で取得した画像データの属性情報が、処理Ｓ３で取得した条件を満足している場合には（Ｙｅｓならば）、処理Ｓ６に移行して処理を続ける。
【００２７】
なお処理Ｓ５においては、画像データの属性情報と、満足させるべき条件の情報とに関連付けて予めどの変換処理を行うかを定めて記憶部１２に格納しておき、当該定めに従って、どの変換処理を行うかを判断してもよいし、ユーザにどの処理を行うかの指示を求めるようにしてもよい。
【００２８】
また、後段の画像処理等のため、変換処理により変更した画像データの属性情報を、変換処理前の属性情報に戻す処理をさらに行ってもよい。具体的には、図３に示した処理を行う前に、画像データの属性情報を記憶部１２に格納して保持しておき、処理Ｓ８において外部の装置に画像データを出力する前に、その時点での画像データの属性情報と、記憶部１２に保持しておいた元の画像データの属性情報とを参照し、画像データを変換処理して、その属性を元の属性に戻す。例えば、上述のように画素値が１ビットで表されていたときに、処理の過程で８ビットに変換したときには、処理後の画像データの画素値を１ビットになるよう変換処理してから画像データ出力インタフェース１５を介して外部に出力する。
【００２９】
［第２の実施の形態］
ここまでの説明では、画像処理要素モジュールに対して画像データの属性情報が適合しない場合に、画像データの属性自体を変換するようにしていたが、属性を変更するのではなく、画像データの属性に適合した、他の画像処理要素モジュールを用いるようにしてもよい。このような処理を行う本発明の第２の実施の形態に係る画像処理装置は、基本的には図１に示した第１の実施の形態に係るものと同様の構成をとるものであるが、制御部１１の処理の内容と、記憶部１２に格納されている情報とが若干異なる。そこで以下、これら第１の実施の形態におけるのと異なる部分について説明する。
【００３０】
本実施の形態における制御部１１は、記憶部１２に格納されている、少なくとも一つの画像処理要素モジュールを用いて画像処理を遂行する点では第１の実施の形態のものと同様である。制御部１１は、利用する画像処理要素モジュールの順序を順序情報として生成し、当該順序情報を記憶部１２に格納する。
【００３１】
本実施の形態においては、各画像処理要素モジュールを特定する情報に関連付けて、処理可能な画像データの条件に関する情報と、代替画像処理要素モジュール特定情報とを記憶部１２に格納している（図４）。ここで代替画像処理要素モジュール特定情報は、各画像処理要素モジュール（以下、元の画像処理要素モジュールと呼ぶ）について、それと同等の画像処理を行う画像処理要素モジュール（代替画像処理要素モジュール）を特定する情報である。
【００３２】
具体的に拡大・縮小の画像処理を行う、ある画像処理要素モジュールにおいて、画像データの各画素が８ビット以上（２５６階調以上のグレースケール、又は２５６色以上のカラー）でなければならないとする制限がある場合、当該制限に係る条件の情報と、拡大・縮小を行うことのできる、他の画像処理要素モジュールを特定する情報とが、画像処理要素モジュールを特定する情報に関連付けて記憶部１２に格納される。
【００３３】
一例を挙げれば、元の画像処理要素モジュールと同等の処理が可能な代替画像処理要素モジュールは、例えば線形補間縮小・拡大処理モジュール（通常、線形補間法により画素値の補間を行う）に対して、最近傍縮小・拡大モジュール（最近傍法により画素値の補完を行う）が相当する。前者は画素値の補間を行うため、白黒２値（１ビット／画素）に対して適用してもメリットが感じられない為に一般的に階調数が８ビット以上の画像に対して適用する場合が多いが、後者であれば画素値のビット数は問題とならない。
【００３４】
そして制御部１１は、処理の対象となる画像データが、画像データ入力インタフェース１４を介して入力されると、図５に示す処理を開始し、当該画像データの属性情報を取得し（Ｓ１１）、記憶部１２に格納した順序情報を参照し、次（処理開始直後の場合は最初）に利用する画像処理要素モジュールを特定し（Ｓ１２）、特定した画像処理要素モジュールが処理可能な画像データの条件の情報を記憶部１２から取得する（Ｓ１３）。そして、処理Ｓ１１で取得した画像データの属性情報が、処理Ｓ１３で取得した条件を満足するか否かを調べ（Ｓ１４）、満足しない場合は（Ｎｏであれば）、処理Ｓ１２で特定した画像処理要素モジュールを元の画像処理要素モジュールとして、記憶部１２に格納されている代替画像処理要素モジュールを特定して（Ｓ１５）、処理Ｓ１３に戻って処理を行う。
【００３５】
また、処理Ｓ１４において、条件を満足する場合は（Ｙｅｓならば）、処理Ｓ１２又はＳ１５で特定された画像処理要素モジュールにより、画像データに対する画像処理を行わせ（Ｓ１６）、順序情報を参照して、次に利用する画像処理要素モジュールがあるか否かを調べ（Ｓ１７）、そのような画像処理要素モジュールがあれば（Ｙｅｓならば）、処理Ｓ１２に戻って、当該次に利用する画像処理要素モジュールを特定する処理から繰り返す。
【００３６】
また制御部１１は、処理Ｓ１７において次に利用する画像処理要素モジュールがなければ（Ｎｏならば）、すなわち一連の画像処理を完了したならば、当該画像処理後の画像データを画像データ出力インタフェース１５を介して出力し（Ｓ１８）、処理を終了する。
【００３７】
なお、元となる画像処理要素モジュールに対して、代替画像処理要素モジュールが複数ある場合は、複数の代替画像処理要素モジュールを元となる画像処理要素モジュールに関連付けてもよい。この場合、制御部１１は、処理Ｓ１５において、各代替画像処理要素モジュールに関連付けられた、画像データに関する条件の情報を記憶部１２から取得し、処理Ｓ１１で取得した属性情報がその条件に一致している代替画像処理要素モジュールを検索して特定する。
【００３８】
［第３の実施の形態］
さらに、ここまでに説明した第１の実施の形態においては、画像処理要素モジュールに対して画像データの属性情報が適合しない場合に、画像データの属性自体を変換するようにして、また第２の実施の形態においては、画像処理要素モジュールに対して画像データの属性情報が適合しない場合に、他の画像処理要素モジュールによって代替処理させることで、それぞれエラーの発生機会を低減させるようにしていたが、これらの処理を組み合わせても構わない。具体的に、本発明の第３の実施の形態に係る画像処理装置は、基本的には図１に示した第１の実施の形態に係るものと同様の構成をとるものであるが、制御部１１の処理の内容と、記憶部１２に格納されている情報とが若干異なる。そこで以下、これら第１の実施の形態におけるのと異なる部分について説明する。
【００３９】
本実施の形態においては、第２の実施の形態におけるのと同様に、図４に示したような、各画像処理要素モジュールを特定する情報に対して、入力される画像データの形式に制限に関する情報と、その画像処理要素モジュール（元の画像処理要素モジュール）と同等の画像処理を行う画像処理要素モジュール（代替画像処理要素モジュール）を特定する情報を代替画像処理要素モジュール特定情報とを関連づけた情報を、記憶部１２に格納している。
【００４０】
制御部１１は、処理の対象となる画像データが、画像データ入力インタフェース１４を介して入力されると、図６に示す処理を開始し、当該画像データの属性情報を取得する（Ｓ２１）。ここで属性情報は、処理対象としての制限に関係するもので、具体的には画像データのサイズ、ビット数（各画素値のビット数）、色空間を特定する情報（ＲＧＢやＨＳＶ、ＣＭＹＫ等の別）、データ構造を特定する情報（ＪＰＥＧ、ＧＩＦなどの別）等である。
【００４１】
制御部１１は、そして記憶部１２に格納した順序情報を参照し、次（処理開始直後の場合は最初）に利用する画像処理要素モジュールを特定し（Ｓ２２）、特定した画像処理要素モジュールが処理可能な画像データの条件の情報を記憶部１２から取得する（Ｓ２３）。そして、処理Ｓ２１で取得した画像データの属性情報が、処理Ｓ２３で取得した条件を満足するか否かを調べ（Ｓ２４）、満足しない場合は（Ｎｏであれば）、変換処理による方法と代替画像処理要素モジュールによる方法とのどちらの方法を適用するかを所定の方法で決定し（Ｓ２５）、変換処理を行うと決定した場合は、画像データに対して処理Ｓ２３で取得した条件を満足させるための変換処理を行う（Ｓ２６）。この処理は、第１の実施の形態における処理Ｓ５と同等の処理である。
【００４２】
そして制御部１１は、処理Ｓ２２で特定した画像処理要素モジュールにより、画像データ（変換処理を行った場合は当該変換処理後の画像データ）に対する画像処理を行わせ（Ｓ２７）、順序情報を参照して、次に利用する画像処理要素モジュールがあるか否かを調べ（Ｓ２８）、そのような画像処理要素モジュールがあれば（Ｙｅｓならば）、処理Ｓ２２に戻って、当該次に利用する画像処理要素モジュールを特定する処理から繰り返す。
【００４３】
また制御部１１は、処理Ｓ２８において次に利用する画像処理要素モジュールがなければ（Ｎｏならば）、すなわち一連の画像処理を完了したならば、当該画像処理後の画像データを画像データ出力インタフェース１５を介して出力し（Ｓ２９）、処理を終了する。なお、処理Ｓ２４において、処理Ｓ２１で取得した画像データの属性情報が、処理Ｓ２３で取得した条件を満足している場合には（Ｙｅｓならば）、処理Ｓ２７に移行して処理を続ける。
【００４４】
なお処理Ｓ２５においては、画像データの属性情報と、満足させるべき条件の情報とに関連付けて予めどの変換処理を行うかを定めて記憶部１２に格納しておき、当該定めに従って、どの変換処理を行うかを判断してもよいし、ユーザにどの処理を行うかの指示を求めるようにしてもよい。
【００４５】
また、後段の画像処理等のため、変換処理により変更した画像データの属性情報を、変換処理前の属性情報に戻す処理をさらに行ってもよい。具体的には、図６に示した処理を行う前に、画像データの属性情報を記憶部１２に格納して保持しておき、処理Ｓ２９において外部の装置に画像データを出力する前に、その時点での画像データの属性情報と、記憶部１２に保持しておいた元の画像データの属性情報とを参照し、画像データを変換処理して、その属性を元の属性に戻す。例えば、上述のように画素値が１ビットで表されていたときに、処理の過程で８ビットに変換したときには、処理後の画像データの画素値を１ビットになるよう変換処理してから画像データ出力インタフェース１５を介して外部に出力する。
【００４６】
また、処理Ｓ２５において、代替画像処理要素モジュールによる方法を適用すると決定した場合（図６では「代替」の場合）、処理Ｓ２２で特定した画像処理要素モジュールを元の画像処理要素モジュールとして、記憶部１２に格納されている代替画像処理要素モジュールを特定して（Ｓ３０）、処理Ｓ２３に戻って処理を行う（Ａ）。
【００４７】
この処理Ｓ２５における決定の方法としては、可能であれば処理を一時中断してユーザに対してどちらの方法を適用するかを問い合わせて、当該問い合わせに対するユーザの応答に従ってどちらかの方法に決定してもよい。また、予め図７に示すように、処理Ｓ２３において取得される条件ごとにどちらの方法とするかを定めたテーブルを記憶部１２に格納しておき、当該テーブルを参照してどちらかの方法に決定してもよい。このテーブルが本発明の選択情報に相当する。
【００４８】
［動作例］
ここで本発明の第１の実施の形態に係る画像処理装置を例として、その動作について説明する。なお以下の説明では、１つの画像処理要素モジュールにより画像データの処理を行う場合について説明する。
【００４９】
また、処理対象画像の属性が画像処理手段の入力画像条件と異なる場合に、処理対象画像の属性を入力画像条件に一致するように変換処理するか否かを表す変換可否フラグ（Ｆ１）と、変換処理したものを元の属性情報に戻すか否かを表す再変換フラグ（Ｆ２）とがユーザによって予め設定され、記憶部１２に格納されているものとする。制御部１１は、さらに、記憶部１２に、変換処理を行ったか否かを表す変換済フラグ（Ｆ３）と、変換処理前の画像データの属性情報を保持するための領域とを確保する。
【００５０】
制御部１１は、処理を開始すると、図８に示すように、処理対象となる画像データとともにユーザから入力される指示に従って、変換可否フラグ（Ｆ１）、再変換フラグ（Ｆ２）を設定し、変換済フラグ（Ｆ３）を、変換済みでないことを表す状態（ｆａｌｓｅ）に設定する（初期化処理；Ｓ４１）。なお、ここでは、処理対象となった画像データとともに変換処理を行うか否かや、元の属性情報に戻すかどうかの指示を受け入れて設定することとしているが、予めデフォルトの状態を設定しておいてもよいし、画像処理装置ごとに設定してもよい。また、処理対象となる画像データの性状（例えばＪＰＥＧで圧縮されているか否か、画素値のビット数などの属性情報など）に基づいて設定の状態を決定することとしてもよい。
【００５１】
制御部１１は、初期化が完了すると、処理対象となる画像データの属性情報を取得し（Ｓ４２）、さらに最初の画像処理要素モジュールである、画像処理要素モジュールが処理可能な画像データの条件の情報を記憶部１２から取得して（Ｓ４３）、処理Ｓ４３で取得した条件の情報に、処理Ｓ４２で取得した属性情報が適合しているか否かを調べる（Ｓ４４）。具体的に、画像処理要素モジュールが、補間拡大・縮小処理を行うものであれば、入力される画像データの画素値が８ビット以上で表現されているか否かを調べることになる。
【００５２】
処理Ｓ４４において、条件に属性情報が適合していれば（Ｙｅｓの場合）、後に説明する処理Ｓ５２に移行する。またこの処理Ｓ４４において、条件に属性情報が適合していない場合（Ｎｏの場合）、制御部１１は、変換可否フラグ（Ｆ１）を参照し（Ｓ４５）、それが変換処理しない（ｆａｌｓｅ）となっていれば、エラーを発生して（Ｓ４６）、処理を終了する（Ｂ）。ここでエラーの発生とは、例えば、例外を発生させて標準出力ないし標準エラー出力にエラーコードを出力する等の処理である。
【００５３】
また処理Ｓ４５において、変換可否フラグ（Ｆ１）が変換処理する（ｔｒｕｅ）となっていれば、処理Ｓ４３で取得した条件に適合させるため、画像データに対して所定の変換処理を実行する。すなわち、入力される画像データの画素値が８ビット以上で表現されているとの条件に対して、処理の対象となっている画像データの画素値が１ビット（「０」又は「１」の２値）であれば８ビットの画素値（「０」または「２５５」の２値）に変換するモジュール（変換処理モジュール）を読み出す。また制御部１１は、変換済フラグ（Ｆ３）を変換済みであることを意味する値（ｔｒｕｅ）に設定し（Ｓ４７）、変換処理前の、処理Ｓ４２にて取得された属性情報を記憶部１２に保持させる（Ｓ４８）。
【００５４】
制御部１１は、画像処理要素モジュールの入力バッファを指すポインタとして、変換処理モジュールの出力バッファへのポインタを複写して設定し、変換処理モジュールと画像処理要素モジュールとを接続する（Ｓ５０）。
【００５５】
そして制御部１１は、変換処理モジュールの処理を開始して、処理対象となった画像データに対して変換処理を行い（Ｓ５１）、処理Ｓ４２に戻る（Ｃ）。すると今回は、処理対象となる画像データの属性情報が処理Ｓ４３で取得される条件に適合していることとなるので、処理Ｓ４４から、次の処理Ｓ５２に移行することとなる。なお、ここでは一度に一回の変換処理を行う場合を想定して、変換処理後に再度、処理Ｓ４２からの処理を実行させているが、既に説明したように、処理Ｓ４２ではなく、次の処理Ｓ５２に直接移行するようにしても構わない。このように直接移行する場合は、例えば画素値を８ビット化し、かつ色空間をＲＧＢ化する、といったように複数の変換処理を要する場合に、これら複数の変換処理を処理Ｓ５１で一度に行うことになる。
【００５６】
制御部１１は、画像処理要素モジュールの処理を開始して、処理対象となった画像データに対して所定の画像処理を行う（Ｓ５２）。この処理の結果としての画像データは、画像処理要素モジュールの出力バッファに保持されていることとなる。
【００５７】
次に制御部１１は、変換済フラグ（Ｆ３）を参照し（Ｓ５３）、それが「ｔｒｕｅ」（変換済み）であれば、さらに再変換フラグ（Ｆ２）を参照する（Ｓ５４）。ここで、再変換フラグ（Ｆ２）が再変換をする旨を表している場合（ｔｒｕｅである場合）は、画像処理要素モジュールの出力バッファに保持されている画像データについて、処理Ｓ４８で保持した属性情報に変換する変換処理を行う（再変換処理；Ｓ５５）。具体的には、制御部１１は元の属性情報に変換するための変換処理モジュール（以下、先の変換処理モジュールと区別するために再変換処理モジュールと呼ぶ）を選択して読み込み、その再変換処理モジュールに対して、画像処理要素モジュールの出力バッファへのポインタを引き渡して変換処理を行わせ、変換処理後の画像データを、再変換処理モジュールの出力バッファに保持させる。
【００５８】
例えば、この再変換処理モジュールは、画素値のビット数を８ビットから１ビットに戻す場合は、所定閾値による２値化処理モジュール、ディザ処理モジュール、誤差拡散処理モジュール等の複数のモジュールのうちから選択されたものである。なお、変換処理の内容によっては、変換処理モジュールと再変換処理モジュールとが同一のモジュールであっても構わない。
【００５９】
また、処理Ｓ４８の処理は、ここで示したように各画像処理要素モジュールごとに行ってもよいが、例えば複数の画像処理要素モジュールによる処理を順次行う場合、最も先頭の画像処理要素モジュールなど、所定の段階での属性情報を保持させるようにしてもよい。この場合は、一連の画像処理要素モジュールによる処理が完了してから、処理Ｓ５３以下の処理を行って再変換をするか否かを判断する。
【００６０】
制御部１１は、さらに最後に処理を行ったモジュールの出力バッファから、処理後の画像データを外部に出力して（Ｓ５６）、処理を終了する。なお、処理Ｓ５３において変換済フラグ（Ｆ３）が「ｆａｌｓｅ」（変換なし）である場合や、処理Ｓ５４において再変換フラグ（Ｆ２）が再変換しない旨を表している（ｆａｌｓｅ）の場合は、制御部１１は、処理Ｓ５６に移行して処理を続ける。
【００６１】
従って、制御部１１は、再変換処理を行った場合は、再変換処理モジュールの出力バッファに保持された画像データを出力し、それ以外の場合は、画像処理要素モジュールの出力バッファに保持された画像データを出力することとなる。
【００６２】
［変形例］
さらに、処理対象の画像データの属性情報が、画像処理要素モジュールの処理可能な画像データに関する条件に適合しない場合に、当該画像処理要素モジュールによる処理を行わずに、次の段の画像処理要素モジュール等に画像データをそのまま出力するようにしてもよい。この場合は例えば各画像処理要素モジュールを特定する情報に対して、処理を省略可能か否かを表すフラグ（省略可否情報の一例に相当する）を関連付けて記憶部１２に格納しておき、省略可能とされている場合に、その画像処理要素モジュールでの処理を行わないようにする。
【００６３】
例えば第１の画像処理要素モジュールと、第２の画像処理要素モジュールとがこの順序で画像データを処理する場合において、第１の画像処理要素モジュールについて、その画像処理要素モジュールが処理可能な画像データに関する条件と、処理対象となった画像データの属性情報とが適合しない場合に、第１の画像処理要素モジュールによる処理が省略可能であると設定されている場合、制御部１１は、第１の画像処理要素モジュールによる処理を行わずに、当該処理対象となっている画像データを、そのまま第２の画像処理要素モジュールに出力する。
【００６４】
なお、このように一部の画像処理要素モジュールによる処理を省略した場合は、その内容をユーザに対して報知するようにしておくことも好ましい。また、このような省略の処理は、例えば変換処理ができなかったり、代替画像処理要素モジュールがないなどの場合に実行するようにしてもよい。
【００６５】
さらに、画像データについて画素値が８ビットであることを要するとする条件が設定されている第１の画像処理要素モジュールと、第３の画像処理要素モジュールとがあり、さらに画素値が１ビットであることを要するとする条件が設定されている第２の画像処理要素モジュールがあり、第１、第２、第３の画像処理要素モジュールの順序で画像処理を遂行しようとする場合に、画素値が１ビットである画像データが処理対象となったときには、本来であれば、第１の画像処理要素モジュールによる処理の前に画素値を８ビットに変換し、さらにその後に１ビットに戻して第２の画像処理要素モジュールによる処理を行い、さらに８ビットに変換するといった処理が必要となるが、このような場合の処理効率に配慮して、各画像処理要素モジュール間で順序の入れ替えの可否を設定しておき、可能な場合に処理の順序を入れ替えるようにしてもよい。例えば、第１の画像処理要素モジュールと、第２の画像処理要素モジュールとの順序について入れ替えが可能であると設定されている場合は、上述の例では、第２の画像処理要素モジュールによる処理を先に行うことで、当該処理の後で画素値を８ビットに変換して第１、第３の画像処理要素モジュールによる処理をそれぞれ行えばよい。
【００６６】
これら本発明の第１から第３の実施の形態に示した画像処理装置によると、ある画像処理モジュールにおいて、それに入力される画像データが処理のための条件に見合わない場合にも、エラーを生じさせる機会を低減し、処理を継続できるようにしており、例えばプリンタなどのように、ユーザインタフェースを有さず、エラーの発生を極力抑制したい場合などに有効な処理を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る画像処理装置の構成ブロック図である。
【図２】画像処理要素モジュールに対する条件を設定したテーブルの例を表す説明図である。
【図３】本発明の第１の実施の形態に係る画像処理装置の動作の例を表すフローチャート図である。
【図４】本発明の第２の実施の形態に係る画像処理装置が保持する、代替画像処理要素モジュールを設定したテーブルの例を表す説明図である。
【図５】本発明の第２の実施の形態に係る画像処理装置の動作の例を表すフローチャート図である。
【図６】本発明の第３の実施の形態に係る画像処理装置の動作の例を表すフローチャート図である。
【図７】本発明の第３の実施の形態に係る画像処理装置における、処理方法の決定のためのテーブルの例を表す説明図である。
【図８】本発明の実施の形態に係る画像処理装置の動作例を表すフローチャート図である。
【符号の説明】
１１  制御部、１２  記憶部、１３  指示入力部、１４  画像データ入力インタフェース、１５  画像データ出力インタフェース。
【図１】
2004280609.tif 000003
【図２】
2004280609.tif 000004
【図３】
2004280609.tif 000005
【図４】
2004280609.tif 000006
【図５】
2004280609.tif 000007
【図６】
2004280609.tif 000008
【図７】
2004280609.tif 000009
【図８】
2004280609.tif 000010