(57)【要約】【課題】ユーザによって指定された目に関する位置に従った処理のためのユーザの負担が過剰に大きくなることを抑制できる技術を提供することを目的とする。【解決手段】対象画像における人物の目の画像を含む目領域を検出し、対象画像における目領域を含む一部の領域である確認領域を出力する第１処理を実行し、確認領域内の位置を指定する位置指示を受け付ける。【選択図】  図８
2009237660.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
対象画像における人物の目の画像を含む目領域を検出する目領域検出部と、
前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する領域出力部と、
前記確認領域内の位置を指定する位置指示を受け付ける受付部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、さらに、
前記位置指示に従って前記対象画像を利用した特定の処理を実行する画像処理部を備える、
画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記画像処理部は、前記位置指示に従って前記対象画像における処理対象領域を決定し、前記処理対象領域を用いて前記特定の処理を実行する、
画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記画像処理部は、前記処理対象領域として、前記位置指示で指定された位置の画素を含む、所定の赤目条件を満たす領域を選択し、前記特定の処理として、前記処理対象領域を利用した赤目補正を実行する、
画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像処理装置であって、
前記領域出力部は、さらに、前記対象画像の全体を出力する第２処理を実行し、
前記第１処理で出力された前記目領域のサイズは、前記第２処理によって出力された前記対象画像に含まれる前記目領域のサイズよりも大きい、
画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の画像処理装置であって、
前記対象画像は、複数の画素を含む画素ブロック毎に符号化された対象画像データによって表されており、
前記領域出力部は、前記対象画像データに含まれる複数の画素ブロックの内の前記確認領域を表す画素を含む一部の画素ブロックを選択的に復号することによって、前記確認領域を取得する、
画像処理装置。
【請求項７】
プリンタであって、
対象画像における人物の目の画像を含む目領域を検出する目領域検出部と、
前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する領域出力部と、
前記確認領域内の位置を指定する位置指示を受け付ける受付部と、
前記位置指示に従って前記対象画像を利用した特定の処理を実行する画像処理部と、
前記画像処理部による処理後の前記対象画像を印刷する印刷部と、
を備える、プリンタ。
【請求項８】
請求項７に記載のプリンタであって、さらに、
メモリを備え、
前記画像処理部は、ユーザから前記対象画像をＮ回（Ｎは２以上の整数）印刷する指示を受信したことに応答して、
（Ａ）１回目の印刷のために、前記目領域検出部と前記領域出力部と前記受付部との処理によって取得された前記位置指示を利用し、
（Ｂ）前記位置指示によって指定される位置と関連のある位置情報を前記メモリに格納し、
（Ｃ）２回目以降の印刷のために、前記目領域検出部と前記領域出力部と前記受付部との処理をキャンセルし、前記メモリに格納された前記位置情報を利用する、
プリンタ。
【請求項９】
画像処理方法であって、
対象画像における人物の目の画像を含む目領域を検出する目領域検出工程と、
前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する工程と、
前記確認領域内の位置を指定する位置指示を受け付ける受付工程と、
を備える、画像処理方法。
【請求項１０】
画像処理のためのコンピュータプログラムであって、
対象画像における人物の目の画像を含む目領域を検出する目領域検出機能と、
前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する機能と、
前記確認領域内の位置を指定する位置指示を受け付ける受付機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プリンタ、画像処理方法、画像処理のためのプログラムに関するものである。
【背景技術】
【０００２】
従来より、種々の画像処理が利用されている。例えば、色を補正する処理や、被写体を変形させる処理がある。また、画像処理を行うために、画像から人物の顔を検出する技術も利用されている。
【０００３】
【特許文献１】特開２００４−３１８２０４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ユーザによって指定された位置が画像処理に利用される場合がある。例えば、画像中の人物の目（特に瞳孔）が赤く写る場合がある（いわゆる、赤目）。ここで、赤目を補正するために、赤目の画像内の位置がユーザによって指定され得る。ところが、このような画像処理は、種々の負担をユーザにかける場合があった。例えば、画像の全体の中から赤目の位置を指定することには、画像の全体の細かい確認が要求されるので、ユーザの負担が大きい場合があった。なお、ユーザの負担は、位置指定に起因する負担に限らず、画像処理の待ち時間が長いこと等の種々の負担があり得る。また、このような問題は、赤目補正に限らず、ユーザによって指定された目に関する位置に従った種々の処理に共通する問題であった。
【０００５】
本発明は、上記の課題の少なくとも一部を解決するためになされたものであり、ユーザによって指定された目に関する位置に従った処理のためのユーザの負担が過剰に大きくなることを抑制できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、対象画像における人物の目の画像を含む目領域を検出する目領域検出部と、前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する領域出力部と、前記確認領域内の位置を指定する位置指示を受け付ける受付部と、を備える、画像処理装置。
【０００８】
この構成によれば、目領域を含む一部の領域である確認領域が出力されるので、ユーザによって指定された目に関する位置に従った処理のためのユーザの負担が過剰に大きくなることを抑制できる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、さらに、前記位置指示に従って前記対象画像を利用した特定の処理を実行する画像処理部を備える、画像処理装置。
【００１０】
この構成によれば、位置指示に従って特定の処理を実行する態様において、ユーザによって指定された目に関する位置に従った処理のためのユーザの負担が過剰に大きくなることを抑制できる。
【００１１】
［適用例３］適用例２に記載の画像処理装置であって、前記画像処理部は、前記位置指示に従って前記対象画像における処理対象領域を決定し、前記処理対象領域を用いて前記特定の処理を実行する、画像処理装置。
【００１２】
この構成によれば、位置指示に従って対象画像における処理対象領域が決定され、処理対象領域を用いて特定の処理が実行されるので、ユーザによって指定された目に関する位置に従った処理のためのユーザの負担が過剰に大きくなることを抑制できる。
【００１３】
［適用例４］適用例３に記載の画像処理装置であって、前記画像処理部は、前記処理対象領域として、前記位置指示で指定された位置の画素を含む、所定の赤目条件を満たす領域を選択し、前記特定の処理として、前記処理対象領域を利用した赤目補正を実行する、画像処理装置。
【００１４】
この構成によれば、赤目補正のためのユーザの負担を軽減することができる。
【００１５】
［適用例５］適用例１ないし適用例４のいずれかに記載の画像処理装置であって、前記領域出力部は、さらに、前記対象画像の全体を出力する第２処理を実行し、前記第１処理で出力された前記目領域のサイズは、前記第２処理によって出力された前記対象画像に含まれる前記目領域のサイズよりも大きい、画像処理装置。
【００１６】
この構成によれば、第２処理によって出力された対象画像に含まれる目領域のサイズよりも大きいサイズで目領域が出力されるので、確認領域内の位置を指定するユーザの負担を軽減することができる。
【００１７】
［適用例６］適用例１ないし適用例５のいずれかに記載の画像処理装置であって、前記対象画像は、複数の画素を含む画素ブロック毎に符号化された対象画像データによって表されており、前記領域出力部は、前記対象画像データに含まれる複数の画素ブロックの内の前記確認領域を表す画素を含む一部の画素ブロックを選択的に復号することによって、前記確認領域を取得する、画像処理装置。
【００１８】
この構成によれば、確認領域を表す画素を含む一部の画素ブロックを選択的に復号することによって確認領域が取得されるので、確認領域の取得に要する処理時間が過剰に長くなることを抑制できる。その結果、ユーザの待ち時間が過剰に長くなることを抑制できるので、ユーザの負担が過剰に大きくなることを抑制できる。
【００１９】
［適用例７］プリンタであって、対象画像における人物の目の画像を含む目領域を検出する目領域検出部と、前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する領域出力部と、前記確認領域内の位置を指定する位置指示を受け付ける受付部と、前記位置指示に従って前記対象画像を利用した特定の処理を実行する画像処理部と、前記画像処理部による処理後の前記対象画像を印刷する印刷部と、を備える、プリンタ。
【００２０】
［適用例８］適用例７に記載のプリンタであって、さらに、メモリを備え、前記画像処理部は、ユーザから前記対象画像をＮ回（Ｎは２以上の整数）印刷する指示を受信したことに応答して、（Ａ）１回目の印刷のために、前記目領域検出部と前記領域出力部と前記受付部との処理によって取得された前記位置指示を利用し、（Ｂ）前記位置指示によって指定される位置と関連のある位置情報を前記メモリに格納し、（Ｃ）２回目以降の印刷のために、前記目領域検出部と前記領域出力部と前記受付部との処理をキャンセルし、前記メモリに格納された前記位置情報を利用する、プリンタ。
【００２１】
この構成によれば、対象画像をＮ回（Ｎは２以上の整数）印刷する場合に、ユーザは１回だけ位置を指定すればよいので、ユーザによって指定された目に関する位置に従った処理のためのユーザの負担が過剰に大きくなることを抑制できる。
【００２２】
［適用例９］画像処理方法であって、対象画像における人物の目の画像を含む目領域を検出する目領域検出工程と、前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する工程と、前記確認領域内の位置を指定する位置指示を受け付ける受付工程と、を備える、画像処理方法。
【００２３】
［適用例１０］画像処理のためのコンピュータプログラムであって、対象画像における人物の目の画像を含む目領域を検出する目領域検出機能と、前記対象画像における前記目領域を含む一部の領域である確認領域を出力する第１処理を実行する機能と、前記確認領域内の位置を指定する位置指示を受け付ける受付機能と、をコンピュータに実現させるコンピュータプログラム。
【００２４】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２５】
次に、この発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．変形例：
【００２６】
Ａ．第１実施例：
図１は、本発明の一実施例としてのプリンタ１００を示す説明図である。このプリンタ１００は、制御部２００と、印刷エンジン３００と、ディスプレイ３１０と、タッチパネル３２０と、カードインターフェース（Ｉ／Ｆ）３３０と、を備えている。
【００２７】
制御部２００は、ＣＰＵ２１０と、ＲＡＭ２２０と、ＲＯＭ２３０とを含むコンピュータである。この制御部２００は、プリンタ１００の各構成要素を制御する。
【００２８】
印刷エンジン３００は、与えられた印刷データを利用して印刷を実行する印刷機構である。印刷機構としては、インク滴を印刷媒体に吐出して画像を形成する印刷機構や、トナーを印刷媒体上に転写・定着させて画像を形成する印刷機構等の種々の印刷機構を採用可能である。
【００２９】
ディスプレイ３１０は、制御部２００からの命令に従って、操作メニューや画像を含む種々の情報を表示する。ディスプレイ３１０としては、液晶ディスプレイや有機ＥＬディスプレイ等の種々のディスプレイを採用可能である。
【００３０】
タッチパネル３２０は、ペン型の入力装置（スタイラスペン）であるタッチペンＴＰを用いた各種入力を受け入れる。本実施例では、タッチパネル３２０は、パネル３２０内におけるタッチペンＴＰとの接触点を検知し、接触点の座標を表す座標情報を制御部２００に供給する。タッチパネル３２０は、現行の座標を表す座標情報の供給を、繰り返し実行する。
【００３１】
また、このタッチパネル３２０は、透明な材料を用いて形成されており、ディスプレイ３１０の上に重なるように配置されている。ユーザは、ディスプレイ３１０に表示された情報を、タッチパネル３２０越しに見ることができる。そして、ユーザは、表示された情報（例えば、ボタン画像）の上に、タッチペンＴＰを用いた入力を行うことができる。なお、タッチパネル３２０としては、接触点の位置を検知する種々の装置を採用可能である。例えば、光学的な変化や電流の変化を検知に利用するタッチパネルや、抵抗膜方式のタッチパネル等を採用可能である。
【００３２】
カードＩ／Ｆ３３０は、メモリカードＭＣのインターフェースである。制御部２００は、メモリカードＭＣに格納された画像ファイルをカードＩ／Ｆ３３０を介して読み出す。そして、制御部２００は、読み出した画像ファイルを利用して、印刷を実行する。
【００３３】
図２は、ＲＯＭ２３０（図１）に格納されたモジュールを示す説明図である。本実施例では、目領域検出モジュール４００と、領域出力モジュール４１０と、位置受付モジュール４２０と、画像処理モジュール４３０と、印刷データ生成モジュール４４０と、がＲＯＭ２３０に格納されている。これらのモジュール４００〜４４０は、ＣＰＵ２１０によって実行されるプログラムである。以下、モジュールに従ってＣＰＵが処理を実行することを、単に、「モジュールが処理を実行する」とも表現する。なお、各モジュール４００〜４４０は、ＲＡＭ２２０を介して互いにデータの送受信が可能である。各モジュール４００〜４４０の機能の詳細については後述する。
【００３４】
図３は、印刷処理の手順を示すフローチャートである。画像処理モジュール４３０（図２）は、タッチパネル３２０（図１）に入力されたユーザの指示に応答して、この印刷処理を開始する。この印刷処理では、制御部２００は、ユーザの指示によって指定された画像ファイルに含まれる画像データによって表される画像を印刷する。以下、ユーザによって指定された画像ファイルを「対象画像ファイル」と呼び、対象画像ファイルに格納されている画像データを「対象画像データ」と呼び、対象画像データによって表される画像を「対象画像」とも呼ぶ。
【００３５】
最初のステップＳ１００では、目領域検出モジュール４００（図２）は、対象画像データを利用して、対象画像と同じ画像を表す画素密度の低い縮小画像を作成する。
【００３６】
図４は、縮小画像作成の手順を示すフローチャートである。本実施例では、目領域検出モジュール４００（図２）は、いわゆるＱＶＧＡサイズ（３２０＊２４０画素）の画像を縮小画像として作成する。
【００３７】
図５は、縮小画像作成の概略図である。対象画像ＩＭＧの形状は矩形であり、複数の画素が、互いに直交するＸ方向とＹ方向とのそれぞれに沿って並んで配置されている。Ｘ方向の合計画素数はＩＷであり、Ｙ方向の合計画素数はＩＨである。Ｘ方向の画素位置は「０」〜「ＩＷ−１」の範囲内であり、Ｘ方向の画素位置は「０」〜「ＩＨ−１」の範囲内である。
【００３８】
ここで、幅ＩＷは、３２０よりも大きく、高さＩＨは２４０よりも大きいこととする。また、本実施例では、対象画像ＩＭＧを表すデータが、いわゆるＪＰＥＧ画像データであることとしている。よく知られているように、ＪＰＥＧ画像データでは、ＭＣＵ（Minimum Coded Unit）と呼ばれる画素ブロック毎にデータが符号化（例えば、種々のデータ圧縮）されている。以下、このブロックのことを「ブロックＭＣＵ」と呼ぶ。図５の対象画像ＩＭＧには、一部のブロックＭＣＵが示されている。また、図５の右上部分には、ブロックＭＣＵの拡大図が示されている。本実施例では、ブロックＭＣＵは、Ｍ＊Ｍの複数の画素ＰＸで構成されたブロックである（Ｍは１以上の整数）。通常は、ブロックサイズＭとして「８」が利用される。
【００３９】
目領域検出モジュール４００は、Ｘ方向に延びる画素ラインを利用して、縮小画像を作成する。図５には、Ｙ方向の位置がＹｋである画素ラインＬｋが破線で示されている。図中のブロックバンドＢＤｋは、この画素ラインを表す画素を含むブロックＭＣＵを示している。ブロックバンドＢＤｋは、Ｘ方向に沿って延びるブロックの１本のラインである。
【００４０】
図４の最初のステップＳ３００では、目領域検出モジュール４００は、対象ラインＬｋのＹ方向位置Ｙｋを初期化する（Ｙｋ＝０）。次のステップＳ３０５では、対象ラインＬｋを表す復号されたデータが、ＲＡＭ２２０内のバンドバッファＢＢＦに格納されているか否かを判断する。バンドバッファＢＢＦとしては、ＲＡＭ２２０内の所定のアドレスの領域が利用される。復号が済んでいない場合には、目領域検出モジュール４００は、ブロックバンドＢＤｋの各ブロックＭＣＵを復号し（例えば、種々のデータ伸張）、復号されたデータ（復号ブロックバンドＤＢＤｋ）をバンドバッファＢＢＦに格納する。ここでは、ハフマン解凍（Ｓ３１０）、逆量子化（Ｓ３１５）、逆ＤＣＴ（逆離散コサイン変換：Ｓ３２０）、ＹＣＣ色空間からＲＧＢ色空間への色変換（Ｓ３２５）を含む処理が実行される。そして、バンドバッファＢＢＦ内の古いデータは、新しいデータによって上書きされる（Ｓ３３０）。
【００４１】
ブロックバンドＢＤｋの復号が済んでいる場合には、目領域検出モジュール４００は、ステップＳ３１０〜Ｓ３３０の処理をスキップして、ステップＳ３３５に移行する。
【００４２】
ステップＳ３３５では、目領域検出モジュール４００は、バンドバッファＢＢＦから、対象ラインＬｋ（Ｙ方向位置＝Ｙｋ）を表す画素データを取得する。そして、次のステップＳ３４０で、対象ラインＬｋの画素データを利用して、縮小画像ＬＩＭＧの一部の画素ラインの画素データを算出する。図５の例では、Ｙ方向位置＝Ｙｊである画素ラインＬｊの画素データが算出されている。次のステップＳ３４５では、目領域検出モジュール４００は、算出した画素データを、ＲＡＭ２２０内の縮小画像バッファＬＩＢＦに格納する。縮小画像バッファＬＩＢＦとしては、ＲＡＭ２２０内の所定のアドレスの領域が利用される。なお、縮小画像ＬＩＭＧの画素データの算出方法としては、任意の方法を採用可能である。例えば、単純に一部の画素を間引くことによって、残りの画素を縮小画像ＬＩＭＧの画素として利用してもよい。また、補間（例えば、線形補間）によって、縮小画像ＬＩＭＧの画素のデータを算出してもよい。
【００４３】
目領域検出モジュール４００は、位置Ｙｋを１だけインクリメントし（Ｓ３５０）、位置Ｙｋが高さＩＨ以上であるか否かを判断する（Ｓ３５５）。そして、目領域検出モジュール４００は、対象画像ＩＭＧの全ての画素ラインのそれぞれに着目して、ステップＳ３０５〜Ｓ３５５の処理を繰り返し実行する。その結果、縮小画像バッファＬＩＢＦには、縮小画像ＬＩＭＧが格納される。そして、縮小画像作成処理が完了する。
【００４４】
図３の次のステップＳ１１０では、目領域検出モジュール４００は、縮小画像ＬＩＭＧを解析して目領域を検出する。検出される目領域は、縮小画像ＬＩＭＧにおける領域であり、目の画像を含む領域である。
【００４５】
図５には、目領域の検出結果が示されている。縮小画像ＬＩＭＧ（すなわち、対象画像ＩＭＧ）は、一人の人物を表している。そして、目領域検出モジュール４００は、両目のそれぞれを表す２つの目領域ＥＡＬ１、ＥＡＬ２を検出している。図示するように、本実施例では、１つの目の画像を含む矩形領域が、目領域として検出される。図示は省略するが、縮小画像ＬＩＭＧにおける目の大きさが小さい場合には、小さい目領域が検出される。縮小画像ＬＩＭＧにおける目の大きさが大きい場合には、大きい目領域が検出される。なお、目領域のアスペクト比（縦横比）は、対象画像中の目の形状に従って変化して良い。ただし、アスペクト比が固定されてもよい。
【００４６】
目領域検出モジュール４００による目領域の検出方法としては、公知の種々の方法を採用可能である。本実施例では、目のテンプレート画像を用いたパターンマッチングによって、目領域が検出される。なお、このような目領域の検出方法としては、テンプレートを利用したパターンマッチングによる種々の方法（例えば、特開２００４−３１８２０４参照）を採用可能である。
【００４７】
なお、１つの対象画像ＩＭＧが二人以上の人物を表す場合がある。この場合には、目領域検出モジュール４００は、各人物の目を目領域として検出する。また、目領域検出モジュール４００は、縮小画像ＬＩＭＧ内の相対的な位置に従って、縮小画像ＬＩＭＧから検出された目領域と同じ部分を示す対象画像ＩＭＧにおける目領域を特定する。その結果、目領域検出モジュール４００は、対象画像ＩＭＧにおける目領域を検出する。なお、本実施例では、目領域の検出に縮小画像ＬＩＭＧが利用されるので、処理を高速に行うことが可能である。
【００４８】
図３の次のステップＳ１２０では、領域出力モジュール４１０（図２）が、目領域を復号する（展開）。図６は、目領域の復号の手順を示すフローチャートである。領域出力モジュール４１０は、このフローチャートに従って、対象画像ＩＭＧに含まれる複数のブロックＭＣＵの内の、目領域を表す画素を含むブロックＭＣＵを選択的に復号することによって、目領域の画像データを取得する。
【００４９】
図７は、目領域の復号の概略図である。図７の上部分には、対象画像ＩＭＧと２つの目領域ＥＡ１、ＥＡ２が示されている。これらの目領域ＥＡ１、ＥＡ２は、目領域検出モジュール４００（図２）によって検出された領域であり、図５に示す目領域ＥＡＬ１、ＥＡＬ２と同じ部分をそれぞれ示している。
【００５０】
図７の中部分には、第１目領域ＥＡ１の周辺部分の拡大図が示されている。以下、第１目領域ＥＡ１を表す画像データを取得する場合を例に説明を行う。第１目領域ＥＡ１は、複数のブロックＭＣＵに跨っている。図中の目ブロック領域ＥＢＡは、第１目領域ＥＡ１を表す画素を含むブロックＭＣＵで構成された領域である。領域出力モジュール４１０（図２）は、目ブロック領域ＥＢＡ外のブロックＭＣＵを復号せずに、目ブロック領域ＥＢＡ内のブロックＭＣＵを選択的に復号することによって、第１目領域ＥＡ１を表す画像データを取得する。ここで、領域出力モジュール４１０は、対象画像ＩＭＧ内の或る１つのブロックＭＣＵ（「対象ブロックＭＣＵｍ」と呼ぶ）が目領域の画素を含むか否かを判断し、対象ブロックＭＣＵｍが目領域の画素を含む場合に、対象ブロックＭＣＵｍを復号する。この判断は、全てのブロックＭＣＵに対して行われる。
【００５１】
なお、図７の実施例では、第１目領域ＥＡ１は、Ｘ方向の位置がａ０〜ａ１（ａ０＜ａ１）であり、Ｙ方向の位置がｂ０〜ｂ１（ｂ０＜ｂ１）である矩形領域である。また、対象ブロックＭＣＵｍは、原点の画素（Ｘ＝０、Ｙ＝０）に最も近いコーナの画素の位置（Ｘ＝Ｘｍ、Ｙ＝Ｙｍ）によって特定可能である。
【００５２】
図６の最初のステップＳ５００では、領域出力モジュール４１０（図２）は、目領域ＥＡ１を表す画像データのためのバッファ領域を、ＲＡＭ２２０（図１）に確保する（図示省略）。このバッファ領域のサイズは、目領域ＥＡ１の画素数に従って決定される。また、領域出力モジュール４１０は、対象ブロックＭＣＵｍのＹ方向位置Ｙｍを初期化する（Ｙｍ＝０）。次のステップＳ５０５では、対象ブロックＭＣＵｍのＸ方向の位置Ｘｍを初期化する（Ｘｍ＝０）。次のステップＳ５１０では、対象ブロックＭＣＵｍのハフマン解凍を実行する。
【００５３】
次のステップＳ５１５、Ｓ５２０では、領域出力モジュール４１０は、対象ブロックＭＣＵｍが目領域ＥＡ１の画素を含むか否かを判断する。図７の下部分には、対象ブロックＭＣＵｍの拡大図が示されている。第１コーナ画素ＰＸｃ１は、原点の画素（Ｘ＝０、Ｙ＝０）に最も近いコーナの画素を示している（Ｘ＝Ｘｍ、Ｙ＝Ｙｍ）。第２コーナ画素ＰＸｃ２は、原点の画素から最も遠いコーナの画素を示している（Ｘ＝Ｘｍ＋Ｍ−１、Ｙ＝Ｙｍ＋Ｍ−１）。ここで、２つのコーナ画素ＰＸｃ１、ＰＸｃ２の少なくとも一方が第１目領域ＥＡ１内にある場合に、対象ブロックＭＣＵｍが目領域ＥＡ１の画素を含むと判断可能である。
【００５４】
ステップＳ５１５では、以下の条件Ｂ１が成立するか否かが判断される。
条件Ｂ１：Ｙｍ＋Ｍ−１がｂ０以上、かつ、Ｙｍがｂ１以下
次のステップＳ５２０では、以下の条件Ｂ２が成立するか否かが判断される。
条件Ｂ２：Ｘｍ＋Ｍ−１がａ０以上、かつ、Ｘｍがａ１以下
【００５５】
条件Ｂ１は、２つのコーナ画素ＰＸｃ１、ＰＸｃ１のＹ方向位置の少なくとも一方が第１目領域ＥＡ１内にあることを示している。条件Ｂ２は、２つのコーナ画素ＰＸｃ１、ＰＸｃ１のＸ方向位置の少なくとも一方が第１目領域ＥＡ１内にあることを示している。これらの条件Ｂ１、Ｂ２の両方が満たされる場合に、対象ブロックＭＣＵｍが目領域ＥＡ１の画素を含む。
【００５６】
両方の条件Ｂ１、Ｂ２が満たされる場合には、領域出力モジュール４１０は、ステップＳ５２５で、対象ブロックＭＣＵｍを復号する。この復号は、図４のステップＳ３１５、Ｓ３２０と同じである。領域出力モジュール４１０は、復号によって得られた画像データを、ＲＡＭ２２０のブロックＭＣＵ用のバッファに格納する（図示省略）。
【００５７】
続いて、領域出力モジュール４１０は、対象ブロックＭＣＵｍ内の１つの画素（対象画素ＰＸｉ）に着目して処理を実行する（図７の下部分）。ここで、ステップＳ５２５では、領域出力モジュール４１０は、対象画素ＰＸｉ（図７）のＹ方向の相対位置（ｙｉ）を初期化する（ｙｉ＝０）。また、次のステップＳ５２７では、Ｘ方向の相対位置（ｘｉ）が初期化される（ｘｉ＝０）。これらの相対位置ｘｉ、ｙｉは、ブロックＭＣＵ内での相対的な位置を示している。すなわち、ｘｉ＝ｙｉ＝０である画素は、第１コーナ画素ＰＸｃ１である。
【００５８】
次のステップＳ５３０、Ｓ５３５では、領域出力モジュール４１０は、対象画素ＰＸｉが目領域ＥＡ１に含まれるか否かを判断する。対象画素ＰＸｉのＸ方向の位置は、Ｘｍ＋ｘｉであり、対象画素ＰＸｉのＹ方向の位置は、Ｙｍ＋ｙｉである。これらの位置に従って、判断が行われる。
【００５９】
ステップＳ５３０では、以下の条件Ｐ１が成立するか否かが判断される。
条件Ｐ１：Ｙｍ＋ｙｉがｂ０以上、かつ、Ｙｍ＋ｙｉがｂ１以下
ステップＳ５３５では、以下の条件Ｐ２が成立するか否かが判断される。
条件Ｐ２：Ｘｍ＋ｘｉがａ０以上、かつ、Ｘｍ＋ｘｉがａ１以下
【００６０】
条件Ｐ１は、対象画素ＰＸｉのＹ方向位置が目領域ＥＡ１内にあることを示している。条件Ｐ２は、対象画素ＰＸｉのＸ方向位置が目領域ＥＡ１内にあることを示している。これらの条件Ｐ１、Ｐ２の両方が満たされる場合に、対象画素ＰＸｉが目領域ＥＡ１に含まれる。
【００６１】
両方の条件Ｐ１、Ｐ２が満たされる場合には、領域出力モジュール４１０は、ステップＳ５４０で、対象画素ＰＸｉの画素データの色変換を行い、変換後の画素データを目領域ＥＡ１のためのバッファに格納する。この色変換は、図４のステップＳ３２５の処理と同じである。
【００６２】
続けて、領域出力モジュール４１０は、相対位置ｘｉを１だけインクリメントする（Ｓ５４５）。インクリメントされた相対位置ｘｉがブロックサイズＭ未満である場合には（Ｓ５５０：Ｙｅｓ）、処理は、ステップＳ５３５に戻る。このように、領域出力モジュール４１０は、対象ブロックＭＣＵｍ内の全ての相対位置ｘｉに関して、ステップＳ５３５〜Ｓ５５０を繰り返す。相対位置ｘｉに関する繰り返しが完了した後、領域出力モジュール４１０は、相対位置ｙｉを１だけインクリメントする（Ｓ５５５）。インクリメントされた相対位置ｙｉがブロックサイズＭ未満である場合には（Ｓ５６０：Ｙｅｓ）、処理はステップＳ５２７に移行する。このように、領域出力モジュール４１０は、対象ブロックＭＣＵｍ内の全ての相対位置ｙｉに関して、ステップＳ５２７〜Ｓ５６０を繰り返す。ここで、上述の条件Ｐ１が満たされない場合には（Ｓ５３０：Ｎｏ）、ステップＳ５３５〜Ｓ５５０はスキップされる。また、条件Ｐ２が満たされない場合には（Ｓ５３５：Ｎｏ）、ステップＳ５４０がスキップされる。これらの結果、対象ブロックＭＣＵｍ内の全画素の内、目領域ＥＡ１に含まれる画素のデータが、目領域ＥＡ１のためのバッファに格納される。
【００６３】
対象ブロックＭＣＵｍ内の画素に関する繰り返しが終了した後、領域出力モジュール４１０は、位置ＸｍをブロックサイズＭだけインクリメントする（Ｓ５６５）。インクリメントされた位置Ｘｍが幅ＩＷ未満である場合には（Ｓ５７０：Ｙｅｓ）、処理はステップＳ５１０に移行する。このように、領域出力モジュール４１０は、対象画像ＩＭＧ内の全てのブロックＭＣＵの位置Ｘｍに関して、ステップＳ５１０〜Ｓ５７０を繰り返す。位置Ｘｍに関する繰り返しが完了した後、領域出力モジュール４１０は、位置ＹｍをブロックサイズＭだけインクリメントする（Ｓ５７５）。インクリメントされた位置Ｙｍが高さＩＨ未満である場合には（Ｓ５８０：Ｙｅｓ）、処理はステップＳ５０５に移行する。このように、領域出力モジュール４１０は、対象画像ＩＭＧ内の全てのブロックＭＣＵの位置Ｙｍに関して、ステップＳ５０５〜Ｓ５８０を繰り返す。ここで、上述の条件Ｂ１が満たされない場合には（Ｓ５１５：Ｎｏ）、ステップＳ５２０〜Ｓ５７０がスキップされる。また、上述の条件Ｂ２が満たされない場合には（Ｓ５２０：Ｎｏ）、ステップＳ５２５〜Ｓ５６０がスキップされる。
【００６４】
これらの結果、領域出力モジュール４１０は、対象画像ＩＭＧに含まれる複数のブロックＭＣＵの内の、目領域を表す画素を含むブロックＭＣＵを選択的に復号することによって、目領域の画像データを取得する。
【００６５】
目領域の復号が完了した後、図３の次のステップＳ１３０で、領域出力モジュール４１０は、目領域を表示する。そして、次のステップＳ１４０で、ユーザは、表示された画像を確認して、赤目位置を指定する。図８は、目領域の表示と赤目位置の指定との概略図である。図８（Ａ）には、ディスプレイ３１０（図１）に表示された設定画面が示されている。この設定画面は、領域出力モジュール４１０（図２）によって表示される。また、この設定画面には、完了ボタンＣＰＢと、キャンセルボタンＣＣＢと、画像表示領域ＤＡと、が表示されている。領域出力モジュール４１０は、画像表示領域ＤＡに目領域ＥＡ１を表示する。この目領域ＥＡ１の表示は、特許請求の範囲における「第１処理」に相当する。
【００６６】
ユーザは、画像表示領域ＤＡに表示された赤目部分の上をタッチペンＴＰでタップすることによって、赤目の位置を指定することができる（図８（Ｂ））。位置受付モジュール４２０（図２）は、タップ位置を表す座標情報をタッチパネル３２０から受信し、座標情報を画像処理モジュール４３０に供給する。画像処理モジュール４３０は、座標情報に従って、目領域ＥＡ１内の位置を特定する。このように、座標情報は、特許請求の範囲における「位置指示」に相当する。また、位置受付モジュール４２０は、ユーザからの位置指示を受け付ける。
【００６７】
画像処理モジュール４３０は、指定された位置に従って赤目領域を特定する。本実施例では、赤目領域として、指定された位置の画素を含み赤目条件を満たす領域が、赤目領域として選択される。本実施例では、赤目条件は、その領域が、赤色画素が連結して得られる領域であることである。赤色画素は、所定の赤色範囲の色を示す画素を意味している。このような赤色範囲としては、赤目の色を表す種々の範囲を採用可能である（赤色範囲は、実験的に決定すればよい）。なお、赤目領域として画素を選択するための条件としては、このような条件に限らず、赤目を表すことを示す種々の条件を採用可能である。例えば、ユーザによって指定された位置からの距離が所定値以下の範囲内の赤色画素の全体を赤目領域として選択してもよい。
【００６８】
画像処理モジュール４３０は、特定した赤目領域を画像表示領域ＤＡに表示する（図８（Ｃ））。図８（Ｃ）では、赤目領域ＲＥＡの輪郭が太線で表されている。ユーザは、この表示を観察することによって、設定された赤目領域ＲＥＡが適切であるか否かを確認できる。
【００６９】
なお、表示された目が赤目では無い場合には、ユーザは、位置を指定せずに完了ボタンＣＰＢをタップすればよい。また、ユーザによって特定された位置の画素が赤色画素では無い場合には、画像処理モジュール４３０は、赤目領域を特定しない。また、ユーザは、赤目の設定を省略する場合には、キャンセルボタンＣＣＢをタップすればよい。これらの場合には、画像処理モジュール４３０は、その目領域には赤目領域が存在しないと判断する。
【００７０】
複数の目領域が検出された場合には、図３のステップＳ１２０〜Ｓ１４０の処理が、各目領域毎に繰り返される。本実施例では、ユーザが、図８（Ａ）、９（Ｃ）の設定画面で完了ボタンＣＰＢをタップしたことに応答して、次の目領域のための処理（Ｓ１２０〜Ｓ１４０）が実行される。
【００７１】
全ての目領域に関する処理が終了した場合には（Ｓ１５０：Ｙｅｓ）、画像処理モジュール４３０は、次のステップＳ１６０で赤目補正を行う。赤目補正は、対象画像中の赤目を目立ちにくくする処理である。本実施例では、赤目補正として、赤目領域の彩度を下げる処理が実行される。なお、赤目領域は、特許請求の範囲における「処理対象領域」に相当する。なお、赤目補正としては、他の種々の処理を採用可能である。例えば、赤目領域の彩度を下げる処理と赤目領域の明るさを下げる処理との少なくとも一方を含む種々の処理を採用可能である。
【００７２】
次のステップＳ１７０では、領域出力モジュール４１０（図２）は、画像処理済みの対象画像をディスプレイ３１０（図１）に表示する。図９は、ディスプレイ３１０に表示された表示画面を示す説明図である。表示画面には、印刷ボタンＰＴＢと、終了ボタンＦＢと、図８の設定画面のものと同じ画像表示領域ＤＡと、が表示されている。領域出力モジュール４１０は、画像表示領域ＤＡに画像処理済みの対象画像ＩＭＧの全体を表示する。この対象画像ＩＭＧの表示は、特許請求の範囲における「第２処理」に相当する。ユーザは、画像表示領域ＤＡを観察することによって、画像処理が適切であるか否かを確認できる。ユーザは、終了ボタンＦＢをタップすることによって、印刷せずに処理を終了させることができる。
【００７３】
ユーザが印刷ボタンＰＴＢをタップしたことに応答して、処理は、ステップＳ１８０に移行する。印刷データ生成モジュール４４０（図２）は、画像処理モジュール４３０による処理後の画像データを利用して、印刷データを生成する。印刷データのフォーマットとしては、印刷エンジン３００（図１）に適した任意の形式を採用可能である。例えば、本実施例では、印刷データ生成モジュール４４０は、解像度変換処理、色変換処理、ハーフトーン処理を実行することによって、各インクのドットの記録状態を表す印刷データを生成する。そして、印刷データ生成モジュール４４０は、生成した印刷データを印刷エンジン３００に供給する。印刷エンジン３００は、受信した印刷データに従って印刷を実行する。そして、図３の処理が完了する。なお、印刷データ生成モジュール４４０と印刷エンジン３００との全体は、特許請求の範囲における「印刷部」に相当する。
【００７４】
以上のように、本実施例では、対象画像ＩＭＧの一部の領域である目領域が表示されるので（図８）、ユーザは、容易に赤目の位置を指示することができる。特に、図９に示すように対象画像ＩＭＧの全体が表示された場合と比べて、目領域が大きく表示される（図８（Ａ））。従って、目領域内の位置を指定するユーザの負担を軽減することができる。また、目領域の表示のために、目領域を表す画素を含む画素ブロックが選択的に復号される。従って、処理速度が向上し、ユーザの待ち時間を低減することができる。また、処理に要するメモリ量を低減できる。さらに、目領域内のユーザによって指定された位置に従って、処理対象領域（赤目領域）が決定されるので、ユーザは、処理対象領域を指定せずに済む。これらの結果、ユーザによって指定された目に関する位置に従った処理のためのユーザの負担が過剰に大きくなることを抑制できる。
【００７５】
Ｂ．第２実施例：
図１０は、第２実施例における印刷処理の概略図である。この第２実施例では、画像処理モジュール４３０（図２）が、ユーザから対象画像ＩＭＧをＮ回（Ｎは２以上の整数）印刷する指示を受信した場合について説明する。プリンタの構成は、図１、図２に示す第１実施例のプリンタ１００と同じである。
【００７６】
図１０（Ａ）は、図８（Ｂ）と同様の設定画面を示している。赤目領域を特定するための処理（図３：Ｓ１００〜Ｓ１５０）は、第１実施例と同様に実行される。次に、画像処理モジュール４３０は、位置情報ＰＩをＲＡＭ２２０に格納する（図１０（Ｂ））。位置情報ＰＩとしては、タッチパネル３２０に入力された指示によって指定される位置と関連のある種々の情報を採用可能である。例えば、画素位置を表す情報を採用してもよい。また、位置指示（座標情報）に従って決定された赤目領域を表す情報を採用してもよい。
【００７７】
次に、画像処理モジュール４３０は、対象画像ＩＭＧに対する画像処理を実行する（図１０（Ｃ）：Ｓ６００）。この処理は、図３のステップＳ１６０と同じである。次に、印刷データ生成モジュール４４０は、印刷を実行する（図１０（Ｃ）：Ｓ６１０）。この処理は、図３のステップＳ１８０と同じである。なお、印刷の前に、図３のステップＳ１７０と同様に、画像処理済みの対象画像ＩＭＧを表示してもよい
【００７８】
次に、画像処理モジュール４３０と印刷データ生成モジュール４４０とは、２回目の印刷のための処理を実行する（図１０（Ｄ））。ここで、画像処理モジュール４３０は、赤目領域を特定するための処理（図３：Ｓ１００〜Ｓ１５０）をキャンセルし、ＲＡＭ２２０に格納された位置情報ＰＩを利用して画像処理を実行する（Ｓ６００）。印刷のステップＳ６１０は、１回目と同じである。３回目以降の印刷のための処理も、２回目と同様に、実行される。
【００７９】
以上のように、本実施例では、対象画像を２回以上印刷する場合であっても、ユーザは位置の指定を１回だけ行えばよいので、ユーザの負担が過剰に大きくなることを抑制できる。なお、ＲＡＭ２２０（図１）の容量が大きい場合には、画像処理モジュール４３０は、画像処理済みの対象画像データをＲＡＭ２２０に格納して再利用してもよい。また、複数の対象画像は、１枚のシートに印刷されてもよく、複数のシートに分散して印刷されてもよい。
【００８０】
Ｃ．第３実施例：
図１１は、第３実施例における複合機１００Ａを示す説明図である。図１に示すプリンタ１００との差違は、スキャナ３４０が追加されている点だけである。スキャナ３４０は、光学的に画像を読み取って、読み取った画像を表す画像データを生成する装置である。他の構成は、図１のプリンタ１００と同じである。また、対象画像の印刷処理は、図３の手順に従って実行される。ただし、ステップＳ１３０、Ｓ１４０、Ｓ１５０の処理が、第１実施例と異なっている。他のステップの処理は、上述の各実施例と同じである。
【００８１】
ステップＳ１３０では、領域出力モジュール４１０は、目領域を表すオーダーシートを印刷する。具体的には、領域出力モジュール４１０はオーダーシートを表す画像データを生成し、印刷データ生成モジュール４４０は、その画像データに従って印刷データを生成し、印刷エンジン３００（図１）が印刷を実行する。図１２は、オーダーシートＩＳＨの説明図である。このオーダーシートＩＳＨには、対象画像ＩＭＧの全体と、記入領域ＰＡ１〜ＰＡ４が印刷されている。各記入領域ＰＡ１〜ＰＡ４には、識別番号が付されている（円の中の数字）。記入領域には、検出された全ての目領域が印刷されている。図１２の例では、２つの目領域ＥＡ１、ＥＡ２が検出されている。２つの目領域ＥＡ１、ＥＡ２は、２つの記入領域ＰＡ１、ＰＡ２に、それぞれ印刷されている。対象画像ＩＭＧ中には、識別番号とともに目領域が示されている。
【００８２】
図３の次のステップＳ１４０では、ユーザは、各記入領域ＰＡ１、ＰＡ２内の赤目部分に筆記具ＰＮでマークＭＫを付ける。そして、ユーザは、マークＭＫを付けたオーダーシートＩＳＨをスキャナ３４０（図１１）に読み取らせる。位置受付モジュール４２０は、スキャナ３４０によって生成された画像データを解析して、記入領域内のマークＭＫの位置を特定する。このマークＭＫは、特許請求の範囲における「位置指示」に相当する。画像処理モジュール４３０は、特定された位置に従って、目領域内の位置を特定する。なお、マークＭＫとしては任意の書き込みを採用可能である。例えば、塗りつぶされた円を採用してもよい。
【００８３】
図示するように、本実施例では、オーダーシートＩＳＨの上部に印刷された対象画像ＩＭＧと比べて、記入領域ＰＡ１、ＰＡ２に大きなサイズで目領域ＥＡ１、ＥＡ２が印刷される。従って、目領域内の位置を指定するユーザの負担を軽減することができる。また、このように、目領域の出力方法としては、表示に限らず、印刷を利用してもよい。また、検出された複数の目領域は、１枚のシートに印刷されてもよく、複数のシートに分散して印刷されてもよい。
【００８４】
Ｄ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８５】
変形例１：
上述の各実施例において、位置指示としては、一点を示す指示に限らず、位置を指定する種々の指示を採用可能である。例えば、領域の輪郭を示す指示を採用してもよい。具体的には、図８に示す実施例において、ユーザが、赤目領域を囲む閉じた閉曲線を入力してもよい。また、矩形領域の対角線を示す指示を採用してもよい。また、ユーザが、所望の領域を塗りつぶしてもよい。
【００８６】
いずれの場合も、ユーザによる位置を指定する方法としては、タッチパネル３２０を利用する方法や、オーダーシートＩＳＨを利用する方法に限らず、任意の方法を採用可能である。例えば、画像処理装置に接続された入力装置（例えば、マウス）を利用して、ユーザが位置を指定してもよい。
【００８７】
変形例２：
上述の各実施例において、ユーザによって指定された位置を利用した処理としては、赤目補正に限らず任意の処理を採用可能である。図１３は、位置を利用した処理の別の実施例の概略図である。図１３（Ａ）には、目領域ＥＡが示されている。ユーザは、目の上端点ＥＰ１と下端点ＥＰ２と左端点ＥＰ３と右端点ＥＰ４とを指定する。ここで、画像処理モジュール４３０（図２）は、上端点ＥＰ１が上に移動し、下端点ＥＰ２が下に移動するように、目を高さ方向に大きくする変形処理を実行してもよい（図１３（Ｂ））。こうすれば、目のパッチリした画像を得ることができる。画像を変形させる方法としては、公知の種々の方法を採用可能である。例えば、目領域ＥＡを所定のパターンに従って複数の小領域に分割し、各小領域を所定の規則に従って拡大、あるいは、縮小する方法を採用可能である。
【００８８】
また、画像処理モジュール４３０は、指定された位置を含む一部の領域に対してシャープネスを低減する処理を実行してもよい。こうすれば、指定された部分の画像の粗さが過剰に目立つことを抑制できる。また、ユーザが、目の中の白目部分（強膜部分）を指定してもよい。そして、画像処理モジュール４３０は、指定された白目部分の彩度を下げる処理を実行してもよい。こうすれば、白目部分が過剰に濁って見えることを抑制できる。
【００８９】
変形例３：
上述の各実施例において、ユーザによる位置指定のために出力される確認領域としては、目領域そのものに限らず、対象画像における一部の領域であって、目領域を含む種々の領域を採用可能である。例えば、目領域とその周辺部分を含む領域を確認領域として採用してもよい。いずれの場合も、確認領域を出力する方法としては、表示や印刷といった種々の出力を採用可能である。
【００９０】
変形例４：
上述の各実施例において、領域出力モジュール４１０（図２）による第２処理で全体が出力される対象画像としては、図９に示すように画像処理部による処理済みの対象画像を採用してもよく、図１２に示すように画像処理部による処理前の対象画像を採用してもよい。
【００９１】
変形例５：
上述の各実施例において、対象画像データとしては、ＪＰＥＧ画像データに限らず、任意の画像データを採用可能である。例えば、ブロック毎の符号化がされていない画像データ（例えば、ＴＩＦＦ画像データ）を採用してもよい。また、静止画像データに限らず、動画像データを、対象画像データとして利用してもよい。この場合、動画像に含まれる複数のフレーム画像の少なくとも一部のそれぞれを、対象画像として利用すればよい。
【００９２】
また、上述の各実施例において、縮小画像の画素密度（すなわち、画素数）としては、元の対象画像の画素密度よりも低い任意の密度を採用可能である（目領域を検出できるように、画素密度を予め実験的に決定すればよい）。また、縮小画像の縦横比は、対象画像の縦横比と同じであることが好ましい。但し、縦横比が変化してもよい。また、縮小画像を利用せずに対象画像をそのまま利用して目領域を検出してもよい。
【００９３】
変形例６：
上述の各実施例において、画像処理と印刷データ生成と印刷とを、対象画像における一部のライン（例えば、１ラインや２ライン）を単位として繰り返すことによって、対象画像の全体の画像処理と印刷とを実行してもよい。こうすれば、メモリに大量のデータを格納せずに済むので、メモリ量を節約することができる。また、この場合には、図１０に示す第２実施例のように、印刷毎に画像処理を実行すれば、補正後の対象画像データをメモリに格納せずに済むので、メモリ量を節約することができる。
【００９４】
変形例７：
上述の各実施例において、画像処理済みの画像データの用途としては、印刷に限らず任意の用途を採用可能である。例えば、画像処理モジュール４３０（図２）は、処理済みの画像データを格納する画像ファイルを生成してもよい。画像処理モジュール４３０は、生成した画像ファイルを任意の方法でユーザに提供してよい。例えば、メモリカードＭＣ（図１）に画像ファイルを格納してもよい。ここで、印刷データ生成モジュール４４０を省略してもよい。さらに、画像処理モジュール４３０を省略してもよい。この場合、位置受付モジュール４２０は、対象画像データと位置情報とを、他の画像処理装置に供給してもよい。
【００９５】
変形例８：
上述の各実施例において、目の画像を含む目領域を対象画像から検出する方法としては、パターンマッチングによる方法に限らず、任意の方法を採用可能である。例えば、ブースティング（たとえばAdaBoost）や、サポートベクターマシンや、ニューラルネットワークを採用可能である。また、人物の顔を表す顔領域を検出した後に、検出された顔領域内から目領域を検出してもよい。
【００９６】
変形例９：
上述の各実施例において、目領域を含む確認領域を出力して、位置指示を受け付ける画像処理装置としては、プリンタ１００（図１）や、複合機１００Ａ（図１１）に限らず、任意の画像処理装置を採用可能である。例えば、デジタルスチルカメラや、汎用のコンピュータを採用してもよい。
【００９７】
変形例１０：
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の目領域検出モジュール４００の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【００９８】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータプログラム）は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施例としてのプリンタ１００を示す説明図である。
【図２】ＲＯＭ２３０（図１）に格納されたモジュールを示す説明図である。
【図３】印刷処理の手順を示すフローチャートである。
【図４】縮小画像作成の手順を示すフローチャートである。
【図５】縮小画像作成の概略図である。
【図６】目領域の復号の手順を示すフローチャートである。
【図７】目領域の復号の概略図である。
【図８】目領域の表示と赤目位置の指定との概略図である。
【図９】ディスプレイ３１０に表示された表示画面を示す説明図である。
【図１０】第２実施例における印刷処理の概略図である。
【図１１】第３実施例における複合機１００Ａを示す説明図である。
【図１２】オーダーシートＩＳＨの説明図である。
【図１３】位置を利用した処理の別の実施例の概略図である。
【符号の説明】
【０１００】
１００...プリンタ
１００Ａ...複合機
２００...制御部
２１０...ＣＰＵ
２２０...ＲＡＭ
２３０...ＲＯＭ
３００...印刷エンジン
３１０...ディスプレイ
３２０...タッチパネル
３３０...カードＩ／Ｆ
３４０...スキャナ
４００...目領域検出モジュール
４１０...領域出力モジュール
４２０...位置受付モジュール
４３０...画像処理モジュール
４４０...印刷データ生成モジュール
ＬＩＢＦ...縮小画像バッファ
ＭＣ...メモリカード
ＰＮ...筆記具
ＴＰ...タッチペン
ＢＢＦ...バンドバッファ
【図１】
2009237660.tif 000003
【図２】
2009237660.tif 000004
【図３】
2009237660.tif 000005
【図４】
2009237660.tif 000006
【図５】
2009237660.tif 000007
【図６】
2009237660.tif 000008
【図７】
2009237660.tif 000009
【図８】
2009237660.tif 000010
【図９】
2009237660.tif 000011
【図１０】
2009237660.tif 000012
【図１１】
2009237660.tif 000013
【図１２】
2009237660.tif 000014
【図１３】
2009237660.tif 000015