(57)【要約】【課題】  画像処理が実行されている画像と、画像処理が実行されていない画像を、ユーザが比較しやすいように出力させるための技術を提供することを目的とする。【解決手段】  所定の画像処理が実行されていない所定の画像における出力対象の領域の第１の画像と、所定の画像処理が実行された所定の画像における出力対象の領域の第２の画像とを、出力装置に出力させる。そのとき出力対象の領域の形状に応じた出力レイアウトで第１の画像と第２の画像が出力装置により並んで出力されるように、第１の画像と第２の画像を出力させる。【選択図】  図３
2019103007.tif 000002
【特許請求の範囲】
【請求項１】
出力装置に画像を出力させる情報処理装置を、
所定の画像に対して所定の画像処理を行う画像処理手段と、
前記画像処理手段により前記所定の画像に対して前記画像処理が実行されたときの変化量に関する情報に基づき、前記所定の画像における出力対象の領域を決定する決定手段と、
前記画像処理手段により前記所定の画像処理が実行されていない前記所定の画像における、前記決定手段により決定された出力対象の領域の第１の画像と、前記画像処理手段により前記所定の画像処理が実行された前記所定の画像における、前記出力対象の領域の第２の画像とを、前記出力装置に出力させる出力制御手段と、
として機能させ、
前記出力制御手段は、前記決定手段により決定された出力対象の領域の形状に応じた出力レイアウトで前記第１の画像と前記第２の画像が前記出力装置により並んで出力されるように、前記第１の画像と前記第２の画像を出力させることを特徴とするプログラム。
【請求項２】
前記決定手段は、前記所定の画像が分割された複数の分割画像のそれぞれにおける、前記所定の画像処理による変化量を取得し、取得された変化量に基づき、前記複数の分割画像のうちの最大の変化量に対応する、基準画像としての分割画像が前記出力対象の領域に含まれるように、前記出力対象の領域を決定することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記決定手段は、前記複数の分割画像のうちの前記基準画像と、前記複数の領域のうちの前記変化量が所定の閾値より大きく且つ前記基準画像に隣接する分割画像が前記出力対象の領域に含まれるように、前記出力対象の領域を決定することを特徴とする請求項２に記載のプログラム。
【請求項４】
前記出力制御手段は、前記決定手段により決定された出力対象の領域が所定の大きさよりも小さい場合、前記所定の画像において当該出力対象の領域を含み且つ当該出力対象の領域より大きな領域に対応する前記第１の画像と前記第２の画像を出力させることを特徴とする請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記画像処理手段は、前記所定の画像処理として、前記出力装置とは異なる出力装置が画像を出力するときの特性に応じた画像処理を実行することを特徴とする請求項１乃至４のいずれか１項に記載のプログラム。
【請求項６】
前記画像処理手段は、前記出力装置としての印刷装置が画像を印刷するときの印刷特性に応じた画像処理を実行することを特徴とする請求項５に記載のプログラム。
【請求項７】
前記出力制御手段は、前記第１の画像または前記第２の画像において、第１の領域における第１の変化量と第２の領域における第２の変化量の関係を示すように、前記第１の画像と前記第２の画像を前記出力装置に出力させることを特徴とする請求項１乃至６のいずれか１項に記載のプログラム。
【請求項８】
前記出力制御手段は、前記第１の変化量に基づく第１の画素値を有する画素が前記第１の領域に対応する位置に配置され且つ前記第２の変化量に基づく第２の画素値を有する画素が前記第２の領域に対応する位置に配置された測定結果画像を出力させることを特徴とする請求項７に記載のプログラム。
【請求項９】
前記出力制御手段は、前記測定結果画像が前記第１の画像または前記第２の画像に重なるように、前記測定結果画像を出力させることを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記出力制御手段は、前記出力対象の領域の縦横比が縦長のときに、前記第１の画像と前記第２の画像が、前記第１の画像と前記第２の画像における横方向に並んで出力され、前記出力対象の領域の縦横比が横長のときに、前記第１の画像と前記第２の画像が、前記第１の画像と前記第２の画像における縦方向に並んで出力されるように、前記第１の画像と前記第２の画像を出力させることを特徴とする請求項１乃至９のいずれか１項に記載のプログラム。
【請求項１１】
前記出力装置は表示装置であり、
前記出力制御手段は、前記表示装置に、前記第１の画像と前記第２の画像を表示させることを特徴とする請求項１乃至１０のいずれか１項に記載のプログラム。
【請求項１２】
前記出力装置は印刷装置であり、
前記出力制御手段は、前記印刷装置に、前記第１の画像と前記第２の画像を印刷させることを特徴とする請求項１乃至１０のいずれか１項に記載のプログラム。
【請求項１３】
出力装置に画像を出力させる情報処理装置であって、
所定の画像に対して所定の画像処理を行う画像処理手段と、
前記画像処理手段により前記所定の画像に対して前記画像処理が実行されたときの変化量に関する情報に基づき、前記所定の画像における出力対象の領域を決定する決定手段と、
前記画像処理手段により前記所定の画像処理が実行されていない前記所定の画像における、前記決定手段により決定された出力対象の領域の第１の画像と、前記画像処理手段により前記所定の画像処理が実行された前記所定の画像における、前記出力対象の領域の第２の画像とを、前記出力装置に出力させる出力制御手段と、
を有し、
前記出力制御手段は、前記決定手段により決定された出力対象の領域の形状に応じた出力レイアウトで前記第１の画像と前記第２の画像が前記出力装置により並んで出力されるように、前記第１の画像と前記第２の画像を出力させることを特徴とする画像処理装置。
【請求項１４】
出力装置に画像を出力させる情報処理方法であって、
所定の画像に対して所定の画像処理を行う画像処理工程と、
前記画像処理工程において前記所定の画像に対して前記画像処理が実行されたときの変化量に関する情報に基づき、前記所定の画像における出力対象の領域を決定する決定工程と、
前記画像処理工程において前記所定の画像処理が実行されていない前記所定の画像における、前記決定工程において決定された出力対象の領域の第１の画像と、前記画像処理工程において前記所定の画像処理が実行された前記所定の画像における、前記出力対象の領域の第２の画像とを、前記出力装置に出力させる出力制御工程と、
を有し、
前記出力制御工程では、前記決定工程において決定された出力対象の領域の形状に応じた出力レイアウトで前記第１の画像と前記第２の画像が前記出力装置により並んで出力されるように、前記第１の画像と前記第２の画像を出力させることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の画像に対して画像処理が実行されたときの変化量に関する情報を出力装置に出力させるプログラム、情報処理装置、および情報処理方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラやカメラ機能付きのスマートフォン、高精細なディスプレイの普及により、画像に対する画像処理を行うユーザが増加している。そのため、画像における画像処理の効果をユーザが確認するための表示方法が考案されている。
【０００３】
特許文献１には、画像において、画像処理の効果を確認するのに適した領域を判定する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−００５６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のようにユーザが画像処理の効果を確認する場合に、画像処理の前後の画像を出力装置による出力結果によりユーザが比較したいことがある。この場合、ユーザが画像処理前後の画像をより容易に比較することができる出力レイアウトであることが望ましい。
【０００６】
そこで本発明は、画像処理が実行されている画像と、画像処理が実行されていない画像を、ユーザが比較しやすいように出力させるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を鑑みて本発明のプログラムは、出力装置に画像を出力させる情報処理装置を、所定の画像に対して所定の画像処理を行う画像処理手段と、前記画像処理手段により前記所定の画像に対して前記画像処理が実行されたときの変化量に関する情報に基づき、前記所定の画像における出力対象の領域を決定する決定手段と、前記画像処理手段により前記所定の画像処理が実行されていない前記所定の画像における、前記決定手段により決定された出力対象の領域の第１の画像と、前記画像処理手段により前記所定の画像処理が実行された前記所定の画像における、前記出力対象の領域の第２の画像とを、前記出力装置に出力させる出力制御手段と、として機能させ、前記出力制御手段は、前記決定手段により決定された出力対象の領域の形状に応じた出力レイアウトで前記第１の画像と前記第２の画像が前記出力装置により並んで出力されるように、前記第１の画像と前記第２の画像を出力させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像処理が実行されている画像と、画像処理が実行されていない画像を、ユーザが比較しやすいように出力させることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における情報処理システムの一例を示す図である。
【図２】アプリケーションソフトウェアにより表示される画面の例を示す図である。
【図３】画像処理による変化を確認するための表示結果の例を示す図である。
【図４】差分画像を生成する処理を示すフローチャートである。
【図５】画像処理前後の変化量の算出処理を示すフローチャートである。
【図６】画像における表示対象の領域を決定する処理を示すフローチャートである。
【図７】図６の処理を具体的に説明するための図である。
【図８】表示対象の領域のサイズを調整する処理を示すフローチャートである。
【図９】画像処理による変化量を示す表示のための表示処理を示すフローチャートである。
【図１０】測定結果画像の重畳表示の結果を示す図である。
【図１１】表示対象の領域を表示する表示制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施形態について、具体的かつ詳細に説明する。なお、以下の説明では、図面全体を通して、同じ構成要素に対して同じ参照番号を付して言及する。
【００１１】
図１は、本実施形態における情報処理システムの一例を示す図である。本実施形態における情報処理装置としてのホストコンピュータ１００が、印刷装置であるプリンタ１０５と表示装置であるモニタ１０６に接続されている。ホストコンピュータ１００は、ワードプロセッサ、表計算、インターネットブラウザなどのアプリケーションソフトウェア１０１を有する。アプリケーションソフトウェア１０１によって発行される出力画像を示す各種描画処理命令群（イメージ描画命令、テキスト描画命令およびグラフィクス描画命令）は、オペレーティングシステム（ＯＳ）１０２を介してモニタドライバ１０４へ入力される。また、印刷を行う場合、それら描画命令群はＯＳ１０２を介して、プリンタドライバ１０３へも入力される。プリンタドライバ１０３は、それら描画命令群を処理して印刷データを作成してプリンタ１０５に印刷させるためのソフトウェアである。また、モニタドライバ１０４は、それら描画命令群を処理してモニタ１０６に画像を表示させるためのソフトウェアである。
【００１２】
ホストコンピュータ１００は、上記のソフトウェアを機能させるために、ハードウェア構成として、ＣＰＵ１０８、ハードディスク（ＨＤ）１０７、ＲＡＭ１０９、ＲＯＭ１１０を備える。図１の１０１〜１０４で示した各ソフトウェアに対応するプログラムがハードディスク１０７またはＲＯＭ１１０に記憶されている。そして、ＣＰＵ１０８がそれらのプログラムをＲＡＭ１０９に読み出し、実行することで、１０１〜１０４で示した各ソフトウェアの機能を実現することができる。
【００１３】
またホストコンピュータ１００には、不図示の操作部が含まれる、もしくは外部の操作デバイスが接続される。ＣＰＵ１０８は、これらの操作部や操作デバイスに対するユーザの指示を入力し、その指示に応じて各種の処理を行う。操作部や操作デバイスは、例えばマウス、キーボード等が含まれる。或いは、操作部や操作デバイスとモニタ１０６が一体となったタッチパネルでもよい。
【００１４】
上記の構成により、例えば印刷機能を有する任意のアプリケーションソフトウェアがホストコンピュータ１００にインストールされ、ＣＰＵ１０８による処理により、モニタ１０６およびプリンタ１０５が制御される。また、アプリケーションソフトウェア１０１により、各種のデータを用いて、出力画像データが作成される。この「各種のデータ」には、文字などのテキストに分類されるテキストデータ、図形などのグラフィクスに分類されるグラフィクスデータ、写真画像などに分類される画像データなどが含まれる。そして、ＣＰＵ１０８は作成した出力画像データをモニタ１０６に出力し、この出力画像データをモニタ１０６に表示させることができる。またアプリケーションソフトウェア１０１により、ＯＳ１０２に印刷出力要求が行われる。そして、テキストデータ部はテキスト描画命令、グラフィクスデータ部分はグラフィクス描画命令、画像データ部分はイメージ描画命令で構成される描画命令群が、ＯＳ１０２に発行される。この描画命令群に従ってＯＳ１０２により描画されたデータに基づいてプリンタドライバ１０３により印刷データが作成され、その印刷データがプリンタ１０５に送信されることで、印刷が実行される。
【００１５】
図２は、アプリケーションソフトウェア１０１により表示される画面の例を示す図である。図２に示す画面は、ＣＰＵ１０８がアプリケーションソフトウェア１０１とモニタドライバ１０４を実行することにより、モニタ１０６に表示される。
【００１６】
図２（ａ）は、画像の編集を指示するための画面の一例を示す図である。図２（ａ）に示す画面には、２０１〜２１０の各種の表示項目が含まれる。メニュー操作部２０１は、アプリケーションソフトウェア１０１の終了、ページへの画像追加、ヘルプの表示などをユーザが指示することが可能な表示項目である。プレビュー領域２０２は、編集対象となる画像および、画像処理による画素値の変化量が表示される表示領域である。図２（ｂ）は、プレビュー領域２０２に画像２１１が表示されている状態の一例を示す図である。
【００１７】
プリンタ選択プルダウン２０４、用紙サイズ選択プルダウン２０５、用紙種選択プルダウン２０６はそれぞれ、印刷に使用するプリンタ、用紙のサイズ、用紙の種類をユーザが選択するための表示項目である。これらの表示項目において、設定可能な選択候補が表示され、ユーザはその選択候補から設定値の選択を行う。
【００１８】
画像処理適用チェックボックス２０７は、編集対象の画像に対して画像処理を適用するか否かをユーザが指定するための表示項目である。なお、本実施形態における画像処理として、プリンタによる画質の変化の補正を行うための画像処理を例に説明する。プリンタによる印刷特性により、元画像の明るさ、色、シャープネス等が変化してしまうことがある。上記の画像処理では、その変化の特性に応じて、元画像について明るさ、色、シャープネス等に関する画像処理を予め行うことで、プリンタによる印刷特性を相殺することができる。例えば、プリンタにより印刷により画像の明るさが暗くなってしまう場合、その暗くなる程度に応じて、元画像が明るくなるよう画像処理を行う。この状態で印刷が行われることで、本来の明るさを表現することができる。なお、画像処理の種類や強さは、印刷を実施するプリンタの特性や印刷設定に応じて適宜変更される。
【００１９】
分割数入力領域２０８は、画像において、画像処理の変化量が測定される領域の数を指定するための表示項目である。本実施形態では、分割数入力領域２０８で指定された数の領域それぞれにおける、画像処理により変化量が測定され、その測定結果に応じて、後述する表示が行われる。なお、分割数入力領域２０８では、画像の幅方向における分割数と高さ方向における分割数として、それぞれ任意の数値の入力を受け付ける。
【００２０】
確認ボタン２０９は、画像における画像処理による変化量を確認するための表示を、ユーザが指示するためのボタンである。確認ボタン２０９が押下されると、ＣＰＵ１０８は、分割数入力領域２０８の設定内容に従い、画像に含まれる画素値の変化量を測定する。そしてＣＰＵ１０８は、測定された変化量に従って、該画像処理が実行されていない画像２１１の一部の部分画像と、該画像処理が実行されている画像２１１の同一部分の部分画像とを、プレビュー領域２０２に表示する。具体的には、ＣＰＵ１０８は、分割数入力領域２０８における設定により分割された、画像２１１の複数の領域のそれぞれについて、画像処理による画素値の変化量を測定する。そして、ＣＰＵ１０８は、該複数の領域のうちの、測定された変化量が大きく、画像処理による影響を把握しやすい領域を自動的に特定し、特定された領域について、画像処理前後の部分画像を表示する。さらに、ＣＰＵ１０８は、上記のように自動的に特定された、画像処理による影響を把握しやすい領域の形状に応じて、部分画像の表示レイアウトを、ユーザが部分画像の比較を行いやすいように自動的に決定する。ＣＰＵ１０８によるこれらの処理の詳細については後述する。
【００２１】
印刷ボタン２１０は、画像の印刷を指示するためのボタンである。例えばプレビュー領域２０２に画像が表示されているときに印刷ボタン２１０が押下されると、ＣＰＵ１０８は、プリンタドライバ１０３を実行することで、プリンタ１０５に該画像を印刷させる。この印刷においてＣＰＵ１０８は、印刷ボタン２１０が押されたときに画像処理適用チェックボックス２０７によって設定されている内容に従って、画像に対する画像処理を印刷に適用するか判断する。そして、その判断結果に応じて、画像処理が実行された画像、もしくは画像処理が実行されていない画像がプリンタ１０５に送信される。具体的には、ＣＰＵ１０８は、印刷ボタン２１０が押されたときにプリンタ選択プルダウン２０４で選択されているプリンタに対して、用紙サイズ選択プルダウン２０５、用紙種選択プルダウン２０６によって設定されている印刷設定とともに印刷指示を行う。
【００２２】
また、本実施形態では、画像処理適用チェックボックス２０７にチェックがない際には分割数入力領域２０８および確認ボタン２０９が操作されないように制御される。ただし、実施形態によってはそのような制御が行われなくてもよい。
【００２３】
以下、画像処理適用チェックボックス２０７にチェックがある状態でかつ、分割数入力領域２０８に入力がある場合に確認ボタン２０９が押下された際の処理について説明する。本実施形態では確認ボタン２０９が押下されると、ＣＰＵ１０８は、プレビュー領域２０２に表示されている画像２１１に対して、所定の画像処理を実行し、画像処理後の画像をＲＡＭ１０９に保持する。そしてＣＰＵ１０８は、画像処理前の画像における画素値と画像処理後の画像における画素値との差分を示す差分画像を生成する。図４は、差分画像を生成する処理を示すフローチャートである。なお、図４、及び後述する図５、図６、図８、図９に示すフローチャートに対応するプログラムがアプリケーションソフトウェア１０１に含まれている。ＣＰＵ１０８は、そのプログラムをＲＡＭ１０９上で実行することで、図５、図６、図８、図９、図１１に示す各処理を実現する。
【００２４】
Ｓ４０１でＣＰＵ１０８は、確認ボタン２０９の押下に応じて、図４に示す処理を開始する。またＳ４０１においてＣＰＵ１０８は、画像２１１に対して所定の画像処理を実行し、画像処理後の画像を、画像処理前の画像とともに、ＲＡＭ１０９に保持する。
【００２５】
Ｓ４０２でＣＰＵ１０８は、ＲＡＭ１０９において、画像２１１の画素数と同じ画素数の画像を記憶できる容量のメモリを確保し、差分画像のメモリ領域として割り当てる。本実施形態では、差分画像と画像２１１とにおいて、画素値として設定可能な値の範囲が同じであるため、Ｓ４０２では、画像２１１のメモリ領域と同容量のメモリ領域が確保される。
【００２６】
Ｓ４０３においてＣＰＵ１０８は、差分画像における処理対象の画素の高さ方向の位置を示すインデックスとして、初めに画像２１１における最上のピクセルを割り当てる。例えば、アプリケーションソフトウェア１０１において、画像２１１および差分画像における２次元の座標系として、画像の左上を原点とするＸＹ座標系が定義されている。Ｓ４０３では、差分画像における処理対象の画素の座標として、初めにＹ＝０が設定される。またこのインデックスは、ＲＡＭ１０９において、画像処理前後の画像における画素の画素値が格納されている領域、差分画像における画素の画素値が格納される領域に対応している。
【００２７】
Ｓ４０４でＣＰＵ１０８は、Ｓ４０３と同様の処理により、差分画像における処理対象の画素の幅方向の位置を示すインデックスとして、初めに画像２１１における最も左のピクセルを割り当てる。上記のＸＹ座標系においては、差分画像における処理対象の画素の座標として、初めにＸ＝０が設定される。
【００２８】
Ｓ４０５においてＣＰＵ１０８は、Ｓ４０３、Ｓ４０４において設定されているインデックスの値に従って、画像処理前の画像における処理対象の画素の画素値、画像処理前の画像における処理対象の画素の画素値をそれぞれ取得する。ここでは、画像の画素値としてＲＧＢそれぞれの値が取得されるものとする。Ｓ４０６においてＣＰＵ１０８は、Ｓ４０５において取得されたＲＧＢ値それぞれについて、画素間の差分を計算する。Ｓ４０７においてＣＰＵ１０８は、Ｓ４０６において計算された差分の絶対値を、ＲＡＭ１０９に記憶する。具体的には、ＣＰＵ１０８は、Ｓ４０２において確保されたメモリ領域において、Ｓ４０３、Ｓ４０４において設定されているインデックスに対応する領域に、差分の絶対値を保持する。
【００２９】
Ｓ４０８、Ｓ４０９でＣＰＵ１０８は、画像２１１および差分画像における幅方向、高さ方向における位置を更新する。具体的には、上記のＸＹ座標系におけるＸ、Ｙの値がＳ４０８、Ｓ４０９においてインクリメントされる。Ｓ４０４、Ｓ４０８の処理により、画像２１１、差分画像における幅方向の全画素についてＳ４０５〜Ｓ４０７の処理が実行される。またＳ４０３、Ｓ４０９の処理により、画像２１１、差分画像における高さ方向の全画素についてＳ４０４〜Ｓ４０８の処理が実行される。これにより、画像２１１の全画素について画像処理前後の差分値が算出され、差分画像が生成される。
【００３０】
図５は、画像処理前後の変化量の算出処理を示すフローチャートである。Ｓ５０１においてＣＰＵ１０８は、図４に示した処理により差分画像が生成されたことに応じて、図５に示す処理を開始する。Ｓ５０２においてＣＰＵ１０８は、分割数入力領域２０８における設定に応じて、差分画像を分割したときの各領域の画像（ここでは分割画像と呼ぶ）のサイズを決定する。具体的には、ＣＰＵ１０８は、差分画像の幅（Ｘ方向の画素数）を分割数入力領域２０８に設定されている幅方向の数値で除算する。同様に、差分画像の高さ（Ｙ方向の画素数）を分割数入力領域２０８に設定されている高さ方向の数値で除算する。そしてＣＰＵ１０８は、幅方向、高さ方向についての除算で求められた、幅方向、高さ方向の画素数を、分割画像のサイズとして決定する。
【００３１】
Ｓ５０３において、ＣＰＵ１０８は、分割画像のための分割画像インデックスを付ける。具体的には、ＣＰＵ１０８は、差分画像が記憶されているＲＡＭ１０９内のメモリ領域において、各分割画像に対応するメモリ領域を参照するためのインデックスを定義する。そのためＳ５０３では、差分画像に含まれる画素のそれぞれに対し、分割画像インデックスとして、該画素を含む分割画像に対応する情報が割り当てられる。例えば、分割数入力領域２０８に分割数として２×２が設定されている場合、各画素に対し、分割画像インデックスとして４種類の情報のいずれかが付与される。
【００３２】
Ｓ５０４においてＣＰＵ１０８は、特定の分割画像内の全ピクセルの画素値を加算する。具体的には、特定の分割画像インデックスが付与された画素の画素値を取得し、その画素値を加算する。分割画像は差分画像の一部であるため、Ｓ５０４の処理により、画像２１１の一部領域における画像処理の前後での変化量が算出される。Ｓ５０５においてＣＰＵ１０８は、Ｓ５０４において算出された値を分割画像インデックスに紐付けてＲＡＭ１０９に記憶する。Ｓ５０６においてＣＰＵ１０８は、全ての分割画像に対してＳ５０４、Ｓ５０５における処理が終了したか否かを判断する。該処理が全ての分割画像に対して終了していない場合、ＣＰＵ１０８は、分割画像インデックスを未処理の分割画像に対応するものに更新して、Ｓ５０４、Ｓ５０５の処理を実行する。全ての分割画像に対してＳ５０４、Ｓ５０５の処理が終了すると、処理がＳ５０７に進む。
【００３３】
Ｓ５０７においてＣＰＵ１０８は、各分割画像に対して、画像処理の変化量に対応するデータを割り当てる。具体的には、ＣＰＵ１０８は、「各分割画像における差分の加算値／（分割画像のピクセル数×２５５）」を算出する。この算出された情報は０〜１の値となり、画像処理による変化量が大きいほど、大きな値となる。ＣＰＵ１０８は、この値を、変化量に対応するデータとして各分割画像の分割画像インデックスに紐付けて記憶する。
【００３４】
次に、画像処理による変化をユーザが確認するための表示について説明する。ＣＰＵ１０８は、Ｓ５０７において各分割画像に対して割り当てられた、変化量に対応するデータに基づき、画像２１１のうちの表示対象（出力対象）の部分を決定する。さらにＣＰＵ１０８は、当該決定された表示対象（出力対象）の部分の表示レイアウト（出力レイアウト）を決定する。具体的には、ＣＰＵ１０８は、画像２１１のうちの表示対象の同一部分について、画像処理前の部分画像、画像処理後の部分画像をモニタ１０６に並べて表示する。このとき、各部分画像のうちのユーザが比較を行う領域が、モニタ１０６における垂直方向または水平方向において連続するように、表示レイアウトが決定される。
【００３５】
図３は、画像処理による変化を確認するための表示結果の例を示す図である。図３（ａ）は、後述する図６の処理により、画像２１１についての解析が行われた結果、画像２１１の右側半分の領域の変化量が大きいと判定された場合の表示例である。そのため図３（ａ）では、画像処理後の部分画像３０１と、画像処理前の部分画像３０２がそれぞれ、画像処理前後の画像２１１からトリミングされ、プレビュー領域２０２に表示される。また部分画像３０１、３０２が縦長の画像であるため、プレビュー領域２０２では、部分画像３０１、３０２に対して縦長の表示領域が設定され、表示レイアウトとして横方向に並んだレイアウトが決定される。図３（ａ）に示すように、プレビュー領域において同一の被写体部分（人物の目等）に相当する画像領域が、横方向に並んで表示される。そのため、ユーザは画像処理前後の画像の変化を容易に確認することができる。
【００３６】
また図３（ｂ）は、後述する図６の処理により、画像２１１についての解析が行われた結果、画像２１１の上側半分の領域の変化量が大きいと判定された場合の表示例である。そのため図３（ｂ）では、画像処理後の部分画像３０３と、画像処理前の部分画像３０４がそれぞれ、画像処理前後の画像２１１からトリミングされ、プレビュー領域２０２に表示される。部分画像３０３、３０４が横長の画像であるため、プレビュー領域２０２では、部分画像３０３、３０４に対して横長の表示領域が設定され、表示レイアウトとして縦方向に並んだレイアウトが決定される。図３（ｂ）では、同一の被写体部分（人物の目等）に相当する画像領域が縦方向に並んで表示されるため、ユーザは画像処理前後の画像の変化を容易に確認することができる。
【００３７】
なお、プレビュー領域２０２における表示内容の出力方法は表示に限らず、他の出力方法として印刷が行われてもよい。例えば、図３（ａ）、（ｂ）に示されている状態において印刷ボタン２１０が押下されたときに、プレビュー領域２０２における表示内容が、モニタ１０６とは異なる出力装置としてのプリンタ１０５により印刷されるよう、出力制御が行われてもよい。即ち、部分画像３０１と３０２、もしくは部分画像３０３と３０４が、表示のみならず、プリンタ１０５により印刷され、その印刷結果がユーザにより確認されてもよい。この場合、部分画像３０１と３０２、もしくは部分画像３０３と３０４が、プレビュー領域２０２におけるレイアウトに対応するレイアウトで印刷用紙に配置されるよう、印刷が行われる。特に、画像処理の内容がプリンタ１０５による印刷特性に応じた画像処理である場合、上記印刷結果をユーザが確認することで、画像処理を施すのが適切か否かをユーザがより容易に判断することができる。
【００３８】
また、プレビュー領域２０２の表示内容の印刷を指示するためのボタンが、印刷ボタン２１０とは別に画面上に設けられてもよい。この場合、印刷ボタン２１０が押下されると、ＣＰＵ１０８は、図２（ｂ）に示した画像２１１をプリンタ１０５に印刷させる。具体的には、ＣＰＵ１０８は、印刷ボタン２１０が押されたときに画像処理適用チェックボックス２０７によって設定されている内容に従って、画像２１１に対する画像処理を印刷に適用するか判断する。そして、その判断結果に応じて、画像処理が実行された画像２１１、もしくは画像処理が実行されていない画像２１１がプリンタ１０５に送信され、印刷される。
【００３９】
以下、図６を用いて、画像２１１のうちの、図３に示した表示において表示される表示対象の領域を決定する処理について説明する。
【００４０】
図６は、画像における表示対象の領域を決定する処理を示すフローチャートである。具体的には、ＣＰＵ１０８は、Ｓ５０７により得られた、変化量に対応するデータから、画像２１１における表示対象の部分を決定する。なお、ここでは描画先の領域が、画像２１１と同じ面積であるプレビュー領域２０２である場合について説明する。しかしこれに限らず、アプリケーションのウィンドウや、アプリケーションから印刷される印刷対象の領域において部分画像が描画されるときに、図６に示す処理が用いられてもよい。
【００４１】
Ｓ６００においてＣＰＵ１０８は、図５に示した処理が完了したことに応じて、図６に示す処理を開始する。Ｓ６０１においてＣＰＵ１０８は、図５のＳ５０７において各分割画像に対して設定された、画像処理による変化量に対応するデータについての、閾値を設定する。閾値として、任意の値が任意の方法で定められる。また以降の説明では、Ｓ５０７において分割画像に対して設定される値を「差分値」とも呼び、差分値が大きいほど、画像処理前後の変化量が大きく、つまり画像処理による影響が大きいことを示すものとする。Ｓ６０２でＣＰＵ１０８はさらに、複数の部分画像のうちの差分値が最大の部分画像を、表示領域の決定において基準とする部分画像（基準画像とも呼ぶ）として設定する。なお、「差分値が最大の分割画像」の代わりに、「差分値が最小の部分画像」や「ユーザが選択した分割画像」を基準画像にするなど、基準となる分割画像は適宜設定することができる。
【００４２】
Ｓ６０２においてＣＰＵ１０８は、複数の部分画像のうちの、Ｓ６０２において設定された閾値よりも大きい差分値を持つ分割画像を特定する。Ｓ６０３においてＣＰＵ１０８は、Ｓ６０２において特定された、閾値よりも大きい差分値を持つ分割画像（特定画像とも呼ぶ）が基準画像に隣接しているか否かを判断する。
【００４３】
Ｓ６０３において、特定画像が基準画像に隣接していないと判定されると、Ｓ６１４においてＣＰＵ１０８は、基準画像のみを表示対象の領域として設定する。一方、Ｓ６０３において特定画像が基準画像に隣接していると判定されると、処理はＳ６０４に進む。Ｓ６０４においてＣＰＵ１０８は、特定画像が基準画像から縦方向のみに連続しているか否かを判定する。特定画像が基準画像から縦方向のみに連続している場合、Ｓ６０５においてＣＰＵ１０８は、基準画像および基準画像から縦方向に連続している特定画像の合計の高さが描画先の領域の高さの半分以下であるかを判断する。合計の高さが描画先の領域の高さの半分以下である場合、Ｓ６０６においてＣＰＵ１０８は、基準画像を含む横方向の領域を表示対象として決定する。例えば、画像２１１において、基準画像および基準画像から縦方向に連続している部分画像を含み、且つ画像２１１の高さの半分の高さであり、且つ画像２１１の横方向の幅を持つ領域が、表示対象として決定される。
【００４４】
一方、Ｓ６０４において特定画像が基準画像から縦方向のみに連続していると判定されなかった場合、Ｓ６０７においてＣＰＵ１０８は、特定画像が基準画像から横方向のみに連続しているか判定する。特定画像が基準画像から横方向のみに連続している場合、Ｓ６０８においてＣＰＵ１０８は、基準画像および基準画像から横方向に連続している特定画像の合計の幅が描画先の領域の幅の半分以下であるかを判断する。合計の幅が描画先の領域の幅の半分以下である場合、Ｓ６０９においてＣＰＵ１０８は、基準画像を含む縦方向の領域を表示対象として決定する。例えば、画像２１１において、基準画像および基準画像から横方向に連続している部分画像を含み、且つ画像２１１の幅の半分の幅であり、且つ画像２１１の縦方向の高さを持つ領域が、表示対象として決定される。
【００４５】
Ｓ６０７においてＣＰＵ１０８は、特定画像が基準画像から横方向のみに連続していると判定されなかった場合（即ち基準画像から縦方向、横方向の両方に特定画像が連続している場合）、Ｓ６１０に処理が進む。Ｓ６１０においてＣＰＵ１０８は、基準画像および基準画像に連続する特定画像の合計の面積が、描画先の領域の面積の半分以下であるか判断する。合計の面積が描画先の領域の面積の半分以下であった場合、Ｓ６１２においてＣＰＵ１０８は、基準画像および基準画像に連続する特定画像を含む表示対象の領域を決定する。またＳ６１２においてＣＰＵ１０８は、描画先の領域の面積の半分の面積の領域を決定する。
【００４６】
基準画像および基準画像に連続する特定画像の合計の面積が、描画先の領域の面積の半分以下でない場合、Ｓ６１１に処理が進む。Ｓ６１１においてＣＰＵ１０８は、基準画像に連続する特定画像の一部を表示対象から除外することで、描画先の領域の面積の半分の面積の表示対象の領域を決定する。除外対象の部分画像は、例えば基準画像からより遠い位置に配置されている部分画像である。またＳ６１１において決定される表示対象の領域は、縦向きの領域と横向きの領域のどちらでも良い。例えば、表示対象から除外される特定画像がより少ない向きの領域が決定される。
【００４７】
図７は、図６の処理を具体的に説明するための図である。図７における分割画像７０２、７０３、７０４、７０５の左上に記載された数値は、それぞれの領域における差分値を示している。図７の例では、画像２１１および描画先の領域の高さとしてＹ＝３００、幅をＸ＝２００とし、分割数入力領域２０８において幅方向に２、高さ方向に２が設定され、またＳ６０１において任意の閾値が５に設定されているものとする。
【００４８】
図７の例では、Ｓ６０１において、差分値が最大（１０）である左上の分割画像７０２が基準画像として設定される。そしてＳ６０２において、差分値が閾値（５）より大きな特定画像として、分割画像７０３のみが特定される。そのため、Ｓ６０３でＹｅｓ、Ｓ６０４でＮｏ、Ｓ６０７でＹｅｓと判定され、Ｓ６０８の処理が実行される。分割画像７０２、７０３の幅の合計が２００であり、描画先の領域の幅が２００であるため、Ｓ６０８ではＮｏと判断され、Ｓ６０６に処理が進む。そして、Ｓ６０６において、分割画像７０２と分割画像７０３を含む、画像２１１の上半分の横向きの領域が表示対象として決定される。即ち、図３（ｂ）に示す表示対象の領域が決定される。また、仮に図７の部分画像７０３、７０４において差分値が逆であった場合、Ｓ６０９において、部分画像７０２と部分画像７０３を含む、画像２１１の左半分の縦向きの領域が表示対象として決定される。即ち、図３（ａ）に示す表示対象の領域が決定される。
【００４９】
以上の図６に示した処理によれば、画像処理による差分の大きい部分画像、言い換えれば画像処理による影響が大きく、画像処理の効果を認識しやすい部分画像を含む、最大の表示対象の領域が決定される。
【００５０】
図１１は、図６において決定された表示対象の領域を表示する表示制御処理を示すフローチャートである。
【００５１】
Ｓ１１０１においてＣＰＵ１０８は、図６に示した処理により表示対象の領域が決定されると、図１１に示す処理を開始する。Ｓ１１０２においてＣＰＵ１０８は、表示対象の領域が縦長の領域であるか判定される。図６のＳ６０９における処理が実行された場合、もしくはＳ６１１、Ｓ６１２、Ｓ６１４において決定された表示対象の領域が縦長の場合、図１１でＹｅｓと判定される。Ｓ１１０３においてＣＰＵ１０８は、画像処理が実行されている画像２１１における、図６に示した処理により決定された表示対象の領域を、プレビュー領域２０２における左半分に表示する。また、Ｓ１１０４においてＣＰＵ１０８は、画像処理が実行されていない画像２１１における、図６に示した処理により決定された表示対象の領域を、プレビュー領域２０２における右半分に表示する。Ｓ１１０３、Ｓ１１０４の処理により、図３（ａ）に示した表示結果となる。
【００５２】
一方、Ｓ１１０２においてＮｏと判定されると、Ｓ１１０５に処理が進む。図６のＳ６０６における処理が実行された場合、もしくはＳ６１１、Ｓ６１２、Ｓ６１４において決定された表示対象の領域が横長もしくは縦横で同じ長さの場合、図１１でＮｏと判定される。Ｓ１１０５においてＣＰＵ１０８は、画像処理が実行されている画像２１１における、図６に示した処理により決定された表示対象の領域を、プレビュー領域２０２における下半分に表示する。また、Ｓ１１０６においてＣＰＵ１０８は、画像処理が実行されていない画像２１１における、図６に示した処理により決定された表示対象の領域を、プレビュー領域２０２における上半分に表示する。Ｓ１１０５、Ｓ１１０６の処理により、図３（ｂ）に示した表示結果となる。
【００５３】
なお、Ｓ１１０３〜Ｓ１１０６では、表示対象の領域とプレビュー領域２０２の半分で縦横比が異なる場合、表示対象の領域がプレビュー領域の半分に収まるように、表示される画像が適宜縮小される。
【００５４】
以上の図６、図１１に示した処理により、画像において画像処理による変化を把握しやすい表示対象の領域が決定される。さらに、図３に示したように、画像処理前後の表示対象の領域が、その縦横比（縦長もしくは横長）に応じた方向に沿って表示画面上で並ぶように、レイアウトされる。そのため、本実施形態で示した表示を見たユーザは、画像処理前後の画像を容易に比較することができ、画像処理の効果を容易に把握することができる。
【００５５】
また、図６に示した処理により決定された表示対象の領域のサイズが、プレビュー領域２０２に対して小さすぎる場合がある。そこで次に、表示対象の領域のサイズを調整する処理について説明する。
【００５６】
図８は、表示対象の領域のサイズを調整する処理を示すフローチャートである。Ｓ８０１においてＣＰＵ１０８は、図６に示したフローチャートにおける処理が実行されると、図８に示す処理を開始する。Ｓ８０２においてＣＰＵ１０８は、描画先の領域に描画される表示対象の領域としての最低サイズを決定する。最低サイズは任意のサイズであり、例えば「描画先の領域の大きさの半分」のように可変値や、固定の値を採用することができる。
【００５７】
Ｓ８０３においてＣＰＵ１０８は、図６に示した処理により決定された表示対象の領域のサイズを算出する。Ｓ８０４において、Ｓ８０３において算出されたサイズがＳ８０２において決定された最低サイズ以上であるか判断する。Ｓ８０３において算出されたサイズが最低サイズ以上である場合、プレビュー表示において、現在の表示対象の領域のサイズで十分視認性が確保される可能性が高いため、図８に示す処理を終了する。一方、Ｓ８０３において算出されたサイズが最低サイズ未満である場合、Ｓ８０５においてＣＰＵ１０８は、表示対象の領域のサイズがＳ８０２において決定した最低サイズ以上となるように、表示対象の領域を拡張する。即ち、図６において表示対象の領域から除外された領域についても、表示対象として含める。また、図６において決定された表示対象の領域は、Ｓ８０５における拡張後の領域に含まれる。なお、図８の処理が終了した後に、図１１における表示制御が実行される。
【００５８】
画像処理の効果を確認する対象の画像が１枚である例について説明した。しかしこれに限らず、複数の画像について、画像処理の効果を示すように表示が行われてもよい。
【００５９】
さらに、図３の表示において、表示対象の領域が表示されるときに、複数の部分画像の間における画像処理の変化量の大小関係を示す測定結果画像が重畳表示されてもよい。
【００６０】
図９は、画像処理による変化量を示す表示のための表示処理を示すフローチャートである。図６に示した処理により表示対象の領域が決定されると、Ｓ９０１においてＣＰＵ１０８は、図９に示す処理を開始する。なお、図９でＣＰＵ１０８は、上記の差分値を基に、画像処理による変化量を示し且つ画像２１１における表示対象の領域に重畳表示される測定結果画像を作成する。以下、詳細に説明する。
【００６１】
Ｓ９０２でＣＰＵ１０８は、ＲＡＭ１０９において、表示対象の領域の画素数と同じ画素数の画像を記憶できる容量のメモリを確保し、測定結果画像のメモリ領域として割り当てる。本実施形態では、表示対象の領域のメモリ領域と同容量のメモリ領域が確保される。
【００６２】
Ｓ９０３、Ｓ９０４においてＣＰＵ１０８は、測定結果画像において画素値が算出される注目画素を示すインデックスを設定する。Ｓ９０３においてＣＰＵ１０８は、測定結果画像のピクセルの高さ方向（Ｙ方向）のインデックスに、測定結果画像の先頭ピクセル（上端の画素）から終端ピクセル（下端の画素）までＹ値をインクリメントさせて設定する。Ｓ９０４においてＣＰＵ１０８は、測定結果画像のピクセルの高さ方向（Ｘ方向）のインデックスに、測定結果画像の先頭ピクセル（左端の画素）から終端ピクセル（右端の画素）までＹ値をインクリメントさせて設定する。後述するＳ９０８、Ｓ９０９における処理により、Ｓ９０５からＳ９０７の処理が、各分割画像の全画素に対して実行され、測定結果画像の全ピクセルについてＲＧＢ値が設定される。
【００６３】
Ｓ９０５でＣＰＵ１０８は、Ｓ９０３、Ｓ９０４において設定されたインデックスにより、注目画素に対応する分割画像インデックスを判定する。図５に示したように、画像２１１における各画素について分割画像インデックスが割り当てられている。そのため、例えばＳ９０５においてＣＰＵ１０８は、測定結果画像に含まれる注目画素のＸ座標、Ｙ座標に位置する、画像２１１に含まれる画素を特定する。そして、特定された画像に対して割り当てられた分割画像インデックスが判定される。Ｓ９０６においてＣＰＵ１０８は、図５のＳ５０５で記憶された加算値を参照することで、Ｓ９０５で判定された分割画像インデックスに紐付けて記憶されている差分値を取得する。
【００６４】
Ｓ９０７においてＣＰＵ１０８は、Ｓ９０６において取得された差分値に基づいて、測定結果画像に含まれる当該注目画素のＲＧＢ値を決定する。そして、ＣＰＵ１０８は、Ｓ９０２において確保されたメモリ領域における、当該注目画素に対応する領域にＲＧＢ値を保持する。なお、Ｓ９０７におけるＲＧＢ値の決定方法は種々の方法を用いることができる。例えば、差分値が大きいほど、濃度が高い色となるように決定される。この時、ＲＧＢ値への設定として、Ｒ＝Ｇ＝Ｂとなるように、即ちグレースケールで表現されるように設定されてもよい。またはＲのみが設定されてもよいし、ＲＧＢそれぞれに重みが設定され、その重みに基づいた値が設定されても構わない。
【００６５】
Ｓ９０８、Ｓ９０９のそれぞれにおいてＣＰＵ１０８は、測定結果画像における注目画素のＸ値、Ｙ値をインクリメントし、新たな注目画素を設定する。Ｓ９０３、Ｓ９０４、Ｓ９０８、Ｓ９０９のループにより、測定結果画像における全画素が注目画素となり、Ｓ９０５〜Ｓ９０７の処理が実行される。そのため、Ｓ９０２〜Ｓ９０９の処理が完了したとき、測定結果画像の全画素に対するＲＧＢ値が保持され、即ち測定結果画像が生成される。
【００６６】
Ｓ９１０においてＣＰＵ１０８は、Ｓ９０２〜Ｓ９０９に示す処理によって生成された測定結果画像を、画像処理前の画像２１１における表示対象の領域、画像処理後の画像２１１における表示対象の領域に重畳表示するための表示制御を行う。具体的には、ＣＰＵ１０８は、測定結果画像を、透過画像として画像２１１の表示対象の領域に合成する。そして、モニタドライバ１０４を制御することで、この合成により得られた画像をモニタ１０６に表示する。透過画像としての合成は周知の処理を用いればよいため詳細な説明を省略するが、この合成により測定結果画像が半透明の画像として画像２１１の表示対象の領域に重畳表示される。
【００６７】
図１０は、測定結果画像の重畳表示の結果を示す図である。図１０の表示では、表示対象の領域において、画像処理による変化量が大きかった部分画像と、変化量が小さかった部分画像に対して異なる色の画像が重畳表示される。そのため、図１０の表示を見たユーザは、表示対象の領域内の分割画像間における、画像処理による変化量の大小関係を認識することができる。
【００６８】
なお、本実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【００６９】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【００７０】
１０８  ＣＰＵ
１０９  ＲＡＭ
１１０  ＲＯＭ
【図１】
2019103007.tif 000003
【図２】
2019103007.tif 000004
【図３】
2019103007.tif 000005
【図４】
2019103007.tif 000006
【図５】
2019103007.tif 000007
【図６】
2019103007.tif 000008
【図７】
2019103007.tif 000009
【図８】
2019103007.tif 000010
【図９】
2019103007.tif 000011
【図１０】
2019103007.tif 000012
【図１１】
2019103007.tif 000013