(57)【特許請求の範囲】
【請求項１】
原稿画像を取得する第１取得部と、
表示部の画面上における、前記原稿画像を表示する表示領域の指定を受け付ける第１受付部と、
仮想三次元空間における、指定された前記表示領域に対応する仮想領域を算出する配置部と、
前記原稿画像を配置する背景画像と、算出された前記仮想領域に前記原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像であるプレビュー画像を、前記原稿画像の印刷結果を推定した前記プレビュー画像として前記表示部に表示する制御を行う表示制御部と、
を備え、
前記第１受付部は、前記表示部の画面上における二次元座標の指定を、前記表示領域の指定として受け付け、
前記配置部は、前記原稿画像を仮想三次元空間の予め定めた基準位置に仮配置した原稿面を前記画面上における二次元空間に射影する射影行列と、指定された前記表示領域の二次元座標と、前記原稿画像と、を用いて、仮想三次元空間における前記仮想領域の三次元座標を算出し、
前記表示制御部は、仮想三次元空間における、算出された該三次元座標の前記仮想領域に前記原稿画像を配置した前記三次元原稿画像を、前記視点位置から視認した二次元空間に投影した二次元原稿画像と、前記背景画像と、を重畳した前記重畳画像を、前記プレビュー画像として前記表示部に表示する制御を行う、
画像処理装置。
【請求項２】
前記配置部は、
前記射影行列を算出する第１算出部と、
前記表示領域の二次元座標と、前記原稿面の三次元座標と、前記射影行列と、を用いて、前記仮想領域に配置した前記原稿画像の傾きと位置を算出するための傾き・位置行列を算出する第２算出部と、
仮想三次元空間に仮配置した矩形状の前記原稿面の４頂点の三次元座標を、前記傾き・位置行列に適用することによって、仮想三次元空間における前記仮想領域の三次元座標を算出する第４算出部と、
を含む、
請求項１に記載の画像処理装置。
【請求項３】
前記第２算出部は、
前記表示領域の二次元座標と、前記原稿面の三次元座標と、前記射影行列と、前記背景画像を撮影する撮影部の光学特性パラメータと、を用いて、前記傾き・位置行列を算出する、請求項２に記載の画像処理装置。
【請求項４】
仮想三次元空間に配置される仮想光源の反射特性を示す光源情報を受け付ける第２受付部を備え、
前記表示制御部は、
前記仮想三次元空間に前記光源情報を示す前記仮想光源を配置すると共に、前記背景画像と、前記二次元原稿画像と、を重畳した前記重畳画像を、前記プレビュー画像として前記表示部に表示する制御を行う、
請求項１〜請求項３の何れか１項に記載の画像処理装置。
【請求項５】
前記第１受付部は、前記表示部の画面上における矩形状領域の指定を、前記表示領域の指定として受け付ける、
請求項１〜請求項４の何れか１項に記載の画像処理装置。
【請求項６】
前記第１受付部は、前記表示部の画面上における矩形状領域の４頂点の指定を、前記表示領域の指定として受け付ける、
請求項１〜請求項５の何れか１項に記載の画像処理装置。
【請求項７】
前記第１受付部は、前記表示部の画面上における、矩形状領域の４頂点の内の１頂点の選択及び移動を受け付け、移動後の該１頂点と他の３頂点とを頂点として含む矩形状領域を、前記表示領域の指定として受け付ける、請求項１〜請求項６の何れか１項に記載の画像処理装置。
【請求項８】
前記配置部は、
仮想三次元空間における前記仮想領域の位置が、仮想三次元空間における前記基準位置より前記視点位置側に位置する場合、前回指定された前記表示領域を用いるように制御する制限部を含む、
請求項１に記載の画像処理装置。
【請求項９】
前記第１受付部は、
前記表示部に表示された前記プレビュー画像における、前記二次元原稿画像の移動指示を受け付け、
前記配置部は、
受け付けた移動指示によって示される位置への前記二次元原稿画像の移動を示す行列に、前記第２算出部で算出された前記傾き・位置行列を乗算した行列を、新たな傾き・位置行列として、前記第４算出部へ出力する移動部を含む、
請求項２に記載の画像処理装置。
【請求項１０】
前記第１受付部は、
前記表示部に表示された前記プレビュー画像における、前記二次元原稿画像の拡大または縮小を示す拡大縮小指示を受け付け、
前記配置部は、
受け付けた拡大縮小指示によって示される拡大倍率または縮小倍率を示す行列に、前記第２算出部で算出された前記傾き・位置行列を乗算した行列を、新たな傾き・位置行列として、前記第４算出部へ出力する拡大縮小部を含む、
請求項２に記載の画像処理装置。
【請求項１１】
前記第１受付部は、
前記表示部に表示された前記プレビュー画像における、前記二次元原稿画像の三次元回転を示す三次元回転指示を受け付け、
前記配置部は、
受け付けた三次元回転指示によって示される回転を示す行列に、前記第２算出部で算出された前記傾き・位置行列を乗算した行列を、新たな傾き・位置行列として、前記第４算出部へ出力する回転部を含む、
請求項２に記載の画像処理装置。
【請求項１２】
前記第１受付部は、
前記表示部に表示された前記プレビュー画像における、前記二次元原稿画像の二次元回転を示す二次元回転指示を受け付け、
前記配置部は、
受け付けた二次元回転指示によって示される回転を示す行列に、前記第２算出部で算出された前記傾き・位置行列を乗算した行列を、新たな傾き・位置行列として、前記第４算出部へ出力する回転部を含む、
請求項２に記載の画像処理装置。
【請求項１３】
立体原稿画像を取得する第２取得部と、
表示部の画面上における、前記立体原稿画像の１つの基準平面を表示する表示領域の指定を受け付ける第１受付部と、
仮想三次元空間における、指定された前記表示領域に対応する仮想領域を算出する配置部と、
前記立体原稿画像を配置する背景画像と、算出された前記仮想領域に前記立体原稿画像の前記基準平面が一致するように該立体原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像であるプレビュー画像を、前記立体原稿画像の印刷結果を推定した前記プレビュー画像として前記表示部に表示する制御を行う表示制御部と、
を備え、
前記第１受付部は、前記表示部の画面上における二次元座標の指定を、前記表示領域の指定として受け付け、
前記配置部は、前記立体原稿画像を仮想三次元空間の予め定めた基準位置に仮配置した原稿面を前記画面上における二次元空間に射影する射影行列と、指定された前記表示領域の二次元座標と、前記原稿画像と、を用いて、仮想三次元空間における前記仮想領域の三次元座標を算出し、
前記表示制御部は、仮想三次元空間における、算出された該三次元座標の前記仮想領域に前記立体原稿画像を配置した前記三次元原稿画像を、前記視点位置から視認した二次元空間に投影した二次元原稿画像と、前記背景画像と、を重畳した前記重畳画像を、前記プレビュー画像として前記表示部に表示する制御を行う、
画像処理装置。
【請求項１４】
原稿画像を取得する第１取得ステップと、
表示部の画面上における、前記原稿画像を表示する表示領域の指定を受け付ける第１受付ステップと、
仮想三次元空間における、指定された前記表示領域に対応する仮想領域を算出する配置ステップと、
前記原稿画像を配置する背景画像と、算出された前記仮想領域に前記原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像であるプレビュー画像を、前記原稿画像の印刷結果を推定した前記プレビュー画像として前記表示部に表示する制御を行う表示制御ステップと、
を含み、
前記第１受付ステップは、前記表示部の画面上における二次元座標の指定を、前記表示領域の指定として受け付け、
前記配置ステップは、前記原稿画像を仮想三次元空間の予め定めた基準位置に仮配置した原稿面を前記画面上における二次元空間に射影する射影行列と、指定された前記表示領域の二次元座標と、前記原稿画像と、を用いて、仮想三次元空間における前記仮想領域の三次元座標を算出し、
前記表示制御ステップは、仮想三次元空間における、算出された該三次元座標の前記仮想領域に前記原稿画像を配置した前記三次元原稿画像を、前記視点位置から視認した二次元空間に投影した二次元原稿画像と、前記背景画像と、を重畳した前記重畳画像を、前記プレビュー画像として前記表示部に表示する制御を行う、
画像処理方法。
【請求項１５】
原稿画像を取得する第１取得ステップと、
表示部の画面上における、前記原稿画像を表示する表示領域の指定を受け付ける第１受付ステップと、
仮想三次元空間における、指定された前記表示領域に対応する仮想領域を算出する配置ステップと、
前記原稿画像を配置する背景画像と、算出された前記仮想領域に前記原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像であるプレビュー画像を、前記原稿画像の印刷結果を推定した前記プレビュー画像として前記表示部に表示する制御を行う表示制御ステップと、
をコンピュータに実行させるためのプログラムであって、
前記第１受付ステップは、前記表示部の画面上における二次元座標の指定を、前記表示領域の指定として受け付け、
前記配置ステップは、前記原稿画像を仮想三次元空間の予め定めた基準位置に仮配置した原稿面を前記画面上における二次元空間に射影する射影行列と、指定された前記表示領域の二次元座標と、前記原稿画像と、を用いて、仮想三次元空間における前記仮想領域の三次元座標を算出し、
前記表示制御ステップは、仮想三次元空間における、算出された該三次元座標の前記仮想領域に前記原稿画像を配置した前記三次元原稿画像を、前記視点位置から視認した二次元空間に投影した二次元原稿画像と、前記背景画像と、を重畳した前記重畳画像を、前記プレビュー画像として前記表示部に表示する制御を行う、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
現実の環境から与えられる情報に、コンピュータが作り出した情報を重畳表示するＡＲ（拡張現実  Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）技術が知られている。例えば、特許文献１には、仮想三次元空間に配置したオブジェクトを二次元表示上で表示し、ユーザの入力に応じて、オブジェクトの配置などを二次元表示上で行うことが開示されている。具体的には、特許文献１には、モニター上にＸＹＺ軸の補助線を表示し、ユーザによる入力を示す機械信号と補助線との組合せを解釈することで、編集を行うことが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、従来では、ユーザは、仮想三次元空間における編集対象のオブジェクトの構造を意識して操作する必要があり、容易に仮想三次元空間に物体を配置することは困難であった。
【課題を解決するための手段】
【０００４】
上述した課題を解決し、目的を達成するために、本発明の画像処理装置は、原稿画像を取得する第１取得部と、表示部の画面上における、前記原稿画像を表示する表示領域の指定を受け付ける第１受付部と、仮想三次元空間における、指定された前記表示領域に対応する仮想領域を算出する配置部と、前記原稿画像を配置する背景画像と、算出された前記仮想領域に前記原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像であるプレビュー画像を、前記原稿画像の印刷結果を推定した前記プレビュー画像として前記表示部に表示する制御を行う表示制御部と、を備え、前記第１受付部は、前記表示部の画面上における二次元座標の指定を、前記表示領域の指定として受け付け、前記配置部は、前記原稿画像を仮想三次元空間の予め定めた基準位置に仮配置した原稿面を前記画面上における二次元空間に射影する射影行列と、指定された前記表示領域の二次元座標と、前記原稿画像と、を用いて、仮想三次元空間における前記仮想領域の三次元座標を算出し、前記表示制御部は、仮想三次元空間における、算出された該三次元座標の前記仮想領域に前記原稿画像を配置した前記三次元原稿画像を、前記視点位置から視認した二次元空間に投影した二次元原稿画像と、前記背景画像と、を重畳した前記重畳画像を、前記プレビュー画像として前記表示部に表示する制御を行う。
【発明の効果】
【０００５】
本発明によれば、容易に仮想三次元空間に原稿画像を配置することができる、という効果を奏する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１の実施の形態の画像処理装置の模式図である。
【図２】図２は、画像処理部の機能構成を示すブロック図である。
【図３】図３は、デバイス座標と、指定される表示領域と、の説明図である。
【図４】図４は、表示領域情報のデータ構造の一例を示す図である。
【図５】図５は、表示領域の４頂点と、表示領域を示す画像と、の関係の一例を示す図である。
【図６】図６は、光源情報テーブルのデータ構造の一例を示す図である。
【図７】図７は、原稿反射情報テーブルのデータ構造の一例を示す図である。
【図８】図８は、配置部の機能ブロック図である。
【図９】図９は、仮想三次元空間に仮配置した原稿面の説明図である。
【図１０】図１０は、仮配置した原稿面の４頂点の各々の、仮想三次元空間における初期配置座標の一例を示す図である。
【図１１】図１１は、射影行列算出の説明図である。
【図１２】図１２は、ＯｐｅｎＧＬによる変換ステージと射影行列との関係の説明図である。
【図１３】図１３は、デバイス座標と、傾き・位置行列と、投影行列と、の関係を示す説明図である。
【図１４】図１４は、プレビュー処理の一連の流れを示す模式図である。
【図１５】図１５は、表示画面の一例を示す図である。
【図１６】図１６は、移動、拡大縮小、回転の説明図である。
【図１７】図１７は、プレビュー処理の流れの説明図である。
【図１８】図１８は、画像処理部の機能構成を示すブロック図である。
【図１９】図１９は、プレビュー処理の一連の流れを示す模式図である。
【図２０】図２０は、画像処理装置のハードウェア構成図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、画像処理装置、画像処理方法、及びプログラムの実施の形態を詳細に説明する。
【０００８】
（第１の実施の形態）
図１は、本実施の形態の画像処理装置１０の模式図である。
【０００９】
画像処理装置１０は、プレビュー画像を表示部２０へ表示する装置である。
【００１０】
画像処理装置１０は、撮影部１２と、画像処理部１４と、記憶部１６と、入力部１８と、表示部２０と、を備える。撮影部１２、画像処理部１４、記憶部１６、入力部１８、及び表示部２０は、バスにより電気的に接続されている。
【００１１】
なお、画像処理装置１０は、少なくとも画像処理部１４を備えた構成であればよく、撮影部１２、記憶部１６、入力部１８、及び表示部２０の少なくとも１つを別体として設けた構成であってもよい。
【００１２】
また、画像処理装置１０は、携帯可能な携帯端末であってもよいし、固定型の端末であってもよい。本実施の形態では、一例として、画像処理装置１０は、撮影部１２と、画像処理部１４と、記憶部１６と、入力部１８と、及び表示部２０と、を一体的に備えた携帯可能な端末である場合を説明する。
【００１３】
撮影部１２は、プレビュー画像を表示する実空間における観察環境を撮影する。観察環境は、表示部２０に表示された画像をユーザが視認（観察）するときの環境である。また、観察環境は、原稿画像を印刷した記録媒体を観察する環境であってもよい。撮影によって、撮影部１２は、実空間における観察環境の撮影画像として、背景画像を取得する。背景画像は、静止画像であってもよいし、動画像であってもよい。本実施の形態では、撮影部１２は、画像処理装置１０の装置各部への電力供給が開始されると、背景画像の撮影を連続して行い、順次、画像処理部１４へ出力するものとして説明する。プレビュー画像を表示する実空間の観察環境は、例えば、オフィス、展示会場、駅の構内、駅のホーム、各種建物内などである。撮影部１２は、撮影によって撮影画像を得る公知の撮影装置である。なお、背景画像は、ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）などで描画された画像であってもよく、撮影部１２で得られた画像に限定されない。
【００１４】
表示部２０は、各種画像を表示する。表示部２０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの公知の表示装置である。本実施の形態では、表示部２０には、後述するプレビュー画像が表示される。
【００１５】
また、本実施の形態では、一例として、表示部２０と撮影部１２は、画像処理装置１０の筐体（図示省略）において、表示部２０の画面と、撮影部１２の撮影方向と、が互いに逆方向を向くように配置されている場合を説明する。このため、例えば、画像処理装置１０の位置を固定したまま、撮影部１２で撮影した撮影画像を表示部２０に表示した場合、表示部２０に表示された撮影画像と、表示部２０の背景（表示部２０の画面の対向側）に位置する実空間の風景と、は同じとなる。
【００１６】
入力部１８は、ユーザから各種操作を受け付ける。
【００１７】
なお、入力部１８と表示部２０とを一体的に構成したＵＩ（ユーザ・インターフェース）部２２としてもよい。ＵＩ部２２は、例えば、公知のタッチパネルである。
【００１８】
本実施の形態では、ＵＩ部２２は、入力部１８と表示部２０とを一体的に構成したタッチパネルである場合を説明する。
【００１９】
記憶部１６は、メモリやハードディスクドライブ装置（ＨＤＤ）等の記憶媒体であり、後述する各処理を実行するための各種プログラムや、各種データを記憶する。
【００２０】
画像処理部１４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータである。なお、画像処理部１４は、汎用のＣＰＵ以外の回路などであってもよい。画像処理部１４は、画像処理装置１０に設けられた装置各部を制御する。
【００２１】
画像処理部１４は、原稿画像のプレビュー画像を表示部２０へ表示する制御を行う。本実施の形態では、プレビュー画像は、背景画像上に、原稿画像に応じた後述する二次元原稿画像を重畳した重畳画像である。このような表示処理は、例えばＯｐｅｎＧＬ（Ｏｐｅｎ  Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ）などの３Ｄエンジンにより実現する。
【００２２】
背景画像は、プレビュー画像を表示する実空間における観察環境の撮影画像である。
【００２３】
本実施の形態では、プレビュー画像は、仮想三次元空間に背景画像を配置し、背景画像上に原稿画像を配置した三次元モデルを、二次元面に投影した画像である場合を説明する。
【００２４】
また、本実施の形態では、プレビュー画像は、背景画像上に、原稿画像に応じた二次元原稿画像を重畳した重畳画像である場合を説明するが、少なくとも背景画像上に二次元原稿画像を配置した画像であればよく、更に、他の画面を含んだ画像であってもよい。
【００２５】
他の画面としては、例えば、透明な色材を用いて形成する透明画像の表示された画面や、特色（金、白、透明など）の色材を用いて紙に与える表面効果を規定した表面効果画像の表示された画面等が挙げられるが、これらに限られない。
【００２６】
プレビュー画像が、複数の画面を含む場合には、プレビュー画像は、これらの複数の画面を、Ｚ軸方向（表示部２０の画面に対して垂直方向）に異なる位置に配置した画像とすればよい。
【００２７】
図２は、画像処理部１４の機能構成を示すブロック図である。画像処理部１４は、第１取得部２４と、第１受付部２６と、指定部２８と、配置部３０と、表示制御部３４と、第２受付部３６と、を含む。
【００２８】
第１取得部２４、第１受付部２６、指定部２８、配置部３０、表示制御部３４、及び第２受付部３６の一部またはすべては、例えば、ＣＰＵなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００２９】
第１取得部２４は、原稿画像を取得する。原稿画像は、プレビュー対象の画像である。第１取得部２４は、例えば、記憶部１６から原稿画像を読取ることで、原稿画像を取得する。例えば、表示制御部３４が、記憶部１６に記憶されている画像の一覧を表示部２０に表示する。ユーザは、入力部１８を操作することで、プレビュー対象の画像を選択する。第１取得部２４は、選択された画像を原稿画像として読取ることで、原稿画像を取得する。なお、第１取得部２４は、撮影部１２で撮影された画像を原稿画像として取得してもよい。また、第１取得部２４は、図示を省略する公知のスキャナ装置で読取った画像を、原稿画像として取得してもよい。この場合、画像処理部１４とスキャナ装置とを電気的に接続した構成とすればよい。
【００３０】
また、第１取得部２４は、実空間における観察環境の撮影画像として、撮影部１２で撮影された画像を、背景画像として取得してもよい。本実施の形態では、第１取得部２４は、撮影部１２から背景画像を取得する。
【００３１】
第１受付部２６は、表示部２０の画面上における、原稿画像の表示領域の指定をユーザから受け付ける。表示部２０の画面は、二次元の平面状である。ユーザは、表示部２０の画面上で、原稿画像の表示領域を指定する。第１受付部２６は、表示部２０の画面上における、指定された表示領域の位置を示す二次元座標を受け付けることで、表示領域の指定を受け付ける。
【００３２】
なお、本実施の形態では、表示部２０の画面上における二次元座標を、表示領域の指定として受け付ける。すなわち、表示領域の指定として受け付ける二次元座標は、表示部２０の画面上、すなわちデバイス上の座標となる。このため、表示領域の指定として受け付ける二次元座標を、以下では、デバイス座標と称して説明する。
【００３３】
原稿画像の表示領域の形状は、限定されない。例えば、指定される表示領域の形状は、円形状（真円、楕円）、３角形、４角形、５角形以上の多角形、などである。本実施の形態では、一例として、指定される表示領域の形状が、４頂点を有する矩形状（すなわち、四角形）である場合を説明する。
【００３４】
すなわち、本実施の形態では、第１受付部２６は、表示部２０の画面上における矩形状領域の指定を、表示領域の指定として受け付ける。なお、第１受付部２６は、表示部２０の画面上における矩形状領域の４頂点の指定を、表示領域の指定として受け付けてもよい。詳細には、表示部２０の画面上における、矩形状領域の４頂点の二次元座標を、表示領域の指定として受け付けてもよい。
【００３５】
図３は、デバイス座標と、指定される表示領域と、の説明図である。ユーザは、例えば、表示部２０を参照しながら、表示部２０の画面上において、原稿画像の表示領域を示す４頂点を指定する。上述したように、本実施の形態では、入力部１８と表示部２０は、一体的に構成されたタッチパネル（ＵＩ部２２）である。このため、ユーザは、表示部２０の画面上を操作することで、原稿画像の表示領域を表示部２０の画面上で指定することができる。
【００３６】
例えば、画像処理部１４では、表示領域の各頂点の指定順と、四角形の表示領域の各頂点の相対位置と、の関係を予め定める。各頂点の相対位置は、例えば、左上座標、右上座標、左下座標、右下座標、などで示される。
【００３７】
ユーザは、表示部２０の画面における、原稿画像の表示領域を示す４頂点の各々を、予め定めた指定順に沿って指定する。このため、例えば、ユーザは、左上座標に応じた頂点５０Ａ、右上座標に応じた頂点５０Ｂ、左下座標に応じた頂点５０Ｃ、右下座標に応じた頂点５０Ｄ、の４頂点をＵＩ部２２（入力部１８）の操作により順次指定する。これによって、第１受付部２６は、指定された４頂点のデバイス座標を、指定された表示領域として受け付ける。
【００３８】
このとき、表示制御部３４は、表示部２０に、指定順に応じた各頂点の指定を促すメッセージ（例えば、「次に、左上座標を指定して下さい」など）を表示してもよい。また、同じデバイス座標が連続して指定された場合には、表示制御部３４は、表示部２０に、再度の入力を促すメッセージを表示してもよい。
【００３９】
なお、詳細は後述するが、ユーザは、４頂点の内の１頂点を指定し、所望の位置にドラッグ操作などにより移動させることができる。
【００４０】
指定部２８は、第１受付部２６で受け付けた表示領域を、指定された表示領域として設定する。詳細には、指定部２８は、指定された表示領域の４頂点のデバイス座標を表示領域情報として記憶部１６に記憶する。
【００４１】
図４は、表示領域情報のデータ構造の一例を示す図である。表示領域情報は、例えば、指定順と、原稿画像の頂点の名称と、指定されたデバイス座標と、を対応づけたデータである。原稿画像の頂点の名称として、図４に示す例では、左上座標、右上座標、左下座標、右下座標、の各々を用いる。
【００４２】
図２に戻り、指定部２８は、指定された表示領域の、各頂点のデバイス座標を、指定された表示領域として、配置部３０へ出力する。
【００４３】
なお、指定部２８は、一点選択移動部２８Ａを含んだ構成であってもよい。
【００４４】
一点選択移動部２８Ａは、第１取得部２４で取得した原稿画像から、原稿画像の縦横の各々のサイズを読取る。そして、一点選択移動部２８Ａは、該原稿画像の中央と、表示部２０の画面の中央と、が一致するように、表示部２０の画面上に読取ったサイズの原稿画像を配置したときの、該原稿画像の４頂点の二次元座標（デバイス座標）を算出する。
【００４５】
この場合、表示制御部３４は、表示部２０の画面における、算出されたデバイス座標の位置に、４頂点の各々を示すマークを表示する。例えば、表示制御部３４は、表示部２０の画面における、算出された４頂点のデバイス座標に相当する各位置に、４頂点の各々を示すマーク（例えば、円マーク）を表示する（図３参照）。また、表示制御部３４は、表示部２０における、算出された４頂点のデバイス座標に相当する各位置に、プレビュー対象の原稿画像の４頂点の各々を一致させた原稿画像を表示してもよい。
【００４６】
ユーザは、入力部１８を操作することで、表示部２０に表示された４頂点の内、１頂点を選択し、表示部２０の画面上における任意の箇所に移動させる。詳細には、ユーザは、表示部２０に表示された４頂点の内、位置を変更する対象の１頂点の表示された付近を指示してドラッグし、任意の位置にまで移動させる。これにより、ユーザは、表示領域を変更することができる。
【００４７】
第１受付部２６は、矩形状領域の４頂点の内の１頂点の選択及び移動を受け付け、移動後の１頂点と、他の３頂点と、を頂点として含む矩形状領域を、表示領域の指定として受け付ける。
【００４８】
この場合、一点選択移動部２８Ａは、表示部２０に表示されている４頂点の内、ユーザによって指示された位置に最も近い頂点を、選択された１頂点とすればよい。例えば、ユーザによって指示された位置の、表示部２０の画面におけるデバイス座標が（Ｘａ，Ｙａ）であったとする。この場合、一点選択移動部２８Ａは、４頂点の内の１頂点（Ｘ１，Ｙ１）までの距離を、下記式（１）により算出する。
【００４９】
【数１】
0006488591.tif 000002
【００５０】
一点選択移動部２８Ａは、同様にして、指定された１頂点のデバイス座標（Ｘａ，Ｙａ）から残り３頂点（Ｘ２，Ｙ２）、（Ｘ３，Ｙ３）、（Ｘ４，Ｙ４）の各々までの距離を算出し、４頂点の内、最も距離の近い頂点を、ユーザによって選択された１頂点とすればよい。
【００５１】
例えば、４頂点の内の１頂点（Ｘ１，Ｙ１）が、デバイス座標（Ｘａ，Ｙａ）から最も近い１頂点であったとする。この場合、一点選択移動部２８Ａは、最初にユーザによって指定されたデバイス座標（Ｘａ，Ｙａ）と、４頂点の内、該デバイス座標に最も近い１頂点のデバイス座標（Ｘ１，Ｙ１）と、を対応づけて記憶部１６に記憶する。
【００５２】
次に、ユーザは、入力部１８の操作指示によって、選択した１頂点のデバイス座標（Ｘａ，Ｙａ）の位置をドラッグする。第１受付部２６は、ドラッグ中のデバイス座標を取得する。ここで、ドラッグ中のデバイス座標を（Ｘｂ，Ｙｂ）とする。すると、最初にユーザによって指定されたデバイス座標に最も近い１頂点（Ｘ１，Ｙ１）の移動後のデバイス座標は、（Ｘ１＋Ｘｂ−Ｘａ，Ｙ１＋Ｙｂ−Ｙａ）で表せる。
【００５３】
このため、一点選択移動部２８Ａは、選択された１頂点以外の３頂点のデバイス座標（Ｘ２，Ｙ２）、（Ｘ３，Ｙ３）、（Ｘ４，Ｙ４）と、ユーザによる入力部１８の指示によって移動した移動後の１頂点のデバイス座標（Ｘ１＋Ｘｂ−Ｘａ，Ｙ１＋Ｙｂ−Ｙａ）と、によって、定まる矩形状の領域を、指定された表示領域として設定する。
【００５４】
なお、このとき、一点選択移動部２８Ａは、ドラッグ中のデバイス座標を、順次配置部３０へ出力してもよい。後述する配置部３０の処理によって、ユーザは、プレビュー画像に含まれる、指定した表示領域に応じた大きさ及び形状の二次元原稿画像を参照しながら、表示領域を調整することができる。
【００５５】
また、第１取得部２４が背景画像を取得している場合、表示部２０には、背景画像上に、調整中の表示領域の形状、位置、及び大きさに調整された原稿画像に応じた二次元原稿画像を重畳した重畳画像が表示されることとなる。このため、ユーザは、表示部２０に表示された二次元原稿画像を参照しながら、背景画像上の任意の領域に表示領域を指定することができる。
【００５６】
また、表示制御部３４は、表示部２０の画面に、ユーザによって指定された表示領域を示す画像を表示する場合、画面上における、ユーザによって指定されたデバイス座標から相対位置分だけ移動させた位置に、表示領域を示す画像を表示することが好ましい。このため、表示部２０の画面上における、ユーザによって指示された箇所が、ユーザの指やポインタデバイスなどで見えなくなることが抑制され、ユーザは、表示領域を容易に指定することができる。
【００５７】
また、表示部２０の画面上における、ユーザによって指示された位置（例えば、４頂点の位置）と、指定された表示領域を示す画像の表示位置は、完全に一致した形態に限定されない。
【００５８】
図５は、ユーザによって指定された表示領域の４頂点と、表示領域を示す画像と、の関係の一例を示す図である。図５に示すように、ユーザによって表示領域５０として指定された４頂点（５０Ａ、５０Ｂ、５０Ｃ、５０Ｄ）の各々のデバイス座標と、該表示領域を表示した画像５２の４頂点のデバイス座標と、は異なっていてもよい。
【００５９】
すなわち、ユーザによって指定された４頂点の各々のデバイス座標から、表示部２０に表示する表示領域の画像の４頂点の各々のデバイス座標を算出することができれば、ユーザによって指定された表示領域５０と、該表示領域５０を表示した画像５２と、の各々の４頂点の位置は、必ずしも一致していなくてもよい。
【００６０】
この場合、指定部２８は、例えば、ユーザによって指定された表示領域５０の４頂点の各々のデバイス座標から、４頂点の重心のデバイス座標を算出する。そして、指定部２８は、重心から各４頂点の各々に到るベクトルを定数倍することで、表示部２０に表示する表示領域５０の画像の４頂点のデバイス座標を算出することができる。このため、例えば、指定された表示領域５０の４頂点を強調した画像を表示部２０に表示した場合であっても、領域調整中の表示領域５０の画像の見映えに対する影響を減らすことができる。
【００６１】
なお、表示対象の原稿画像は、一般的には、長方形などの四角形である。しかし、四角形以外の形状でプレビュー画像を表示させたい場合もある。すなわち、表示領域として、円形状などの、四角形以外の形状が指定される場合もある。このような場合には、表示制御部３４は、原稿画像における各画素の画素値に、透過度を表すアルファ値を追加し、利用しない部分の画素値のアルファ値を、完全透過を示す値に調整する透過処理を実行すればよい。透過処理については、表示制御部３４によるグラフィックエンジンで処理できる。このようにすれば、様々な形状の表示領域に対応することができる。
【００６２】
図２に戻り、第２受付部３６は、光源情報及び原稿反射情報を受け付ける。光源情報は、仮想三次元空間に配置される仮想光源の反射特性を示す情報である。原稿反射特性は、記録媒体の種類に応じた反射特性を示す情報である。例えば、第２受付部３６は、記憶部１６に予め光源情報テーブル及び原稿反射情報テーブルを記憶する。そして、第２受付部３６は、ユーザによる入力部１８の操作指示によって、光源情報テーブル及び原稿反射情報テーブルの各々から選択された、光源情報及び原稿反射情報を受け付ける。
【００６３】
図６は、光源情報テーブルのデータ構造の一例を示す図である。光源情報テーブルは、光源の種類を識別する光源ＩＤと、光源名と、光源情報と、を対応づけた情報である。なお、光源情報テーブルは、データベースであってもよく、データ形式は限定されない。
【００６４】
光源情報は、対応する光源ＩＤによって特定される光源の、光属性を示す情報である。光属性は、プレビュー画像表示時の光を演出するための、反射量を特定するための情報である。光源情報は、光源の色温度に関する項目である鏡面光、拡散光、及び環境光の各々における、ＲＧＢの色成分ごとの光量（輝度）で表される。ＲＧＢの各色成分の光の値は、最大「１．０」であり、最小値「０」である。具体的には、図６中、鏡面光の値の一例として記載した“（１．００，０．９５，０．９５）”は、Ｒ成分、Ｇ成分、Ｂ成分の各々の鏡面光の光量が、各々、１．００，０．９５，０．９５であることを示す。
【００６５】
図７は、原稿反射情報テーブルのデータ構造の一例を示す図である。原稿反射情報テーブルは、記録媒体の種類を識別する原稿ＩＤと、反射種と、原稿反射情報と、を含む。反射種は、対応する原稿ＩＤによって識別される種類の記録媒体の、反射の種類を示す。すなわち、記録媒体の紙質の種類などによって、反射率は異なるものとなる。原稿反射情報は、鏡面光反射率、拡散光反射率、及び環境光反射率を含む。鏡面光反射率は、入射角と反射角の等しくなる反射率である。拡散光反射率は、乱反射する反射率である。環境光反射率は、繰り返し乱反射して得られる光の反射率である。本実施の形態では、ＲＧＢの各成分の値により、これらの鏡面光反射率、拡散光反射率、及び環境光反射率の各々の反射率を規定している。具体的には、図７中、鏡面光反射率の値の一例として記載した“（０．５，０．５，０．５）”は、Ｒ成分、Ｇ成分、Ｂ成分の各々の鏡面光反射率が“０．５”であることを示す。
【００６６】
なお、プレビュー画像表示時の光を演出するための反射量は、光源の光量（光源情報）と、物体の反射率（上記図７に示す原稿反射情報に示される反射率）と、の乗算値により定まる。または、光源情報に仮想三次元空間での光源の座標位置を加え、ＯｐｅｎＧＬに反射量を計算させてもよい。
【００６７】
表示制御部３４は、記憶部１６に記憶されている光源情報テーブルを読取り、光源情報テーブルに登録されている光源情報の一覧を、選択可能に表示部２０に表示する。ユーザは、表示された光源情報の一覧の中から、所望の光源名に対応する光源情報を入力部１８の操作指示により入力する。これにより、第２受付部３６は、光源情報を受け付ける。
【００６８】
同様に、表示制御部３４は、記憶部１６に記憶されている原稿反射情報テーブルを読取り、原稿反射情報テーブルに登録されている原稿反射情報の一覧を、選択可能に表示部２０に表示する。ユーザは、表示された原稿反射情報の一覧の中から、所望の反射種に対応する原稿反射情報を入力部１８の操作指示により入力する。これにより、第２受付部３６は、原稿反射情報を受け付ける。
【００６９】
なお、ユーザによる入力部１８の操作指示などにより、新たな光源情報や新たな原稿反射情報を、原稿情報テーブル及び原稿反射情報テーブルに登録してもよいし、登録されているこれらの情報を編集可能としてもよい。
【００７０】
図２に戻り、次に、配置部３０について説明する。
【００７１】
配置部３０は、仮想三次元空間における、指定された表示領域に対応する仮想領域を算出する。上述したように、仮想領域は、表示部２０の二次元の画面上で指定された二次元座標（デバイス座標）によって表される。配置部３０は、この二次元のデバイス座標によって示される表示領域５０を、仮想三次元空間に配置したときの、該表示領域５０の三次元座標、傾き、位置等を示す仮想領域を算出する。
【００７２】
まず、配置部３０の処理の概要を説明する。配置部３０は、仮想三次元空間の予め定めた基準位置に仮配置した原稿面を表示部２０の画面上における二次元空間に射影する射影行列と、指定された表示領域５０の二次元座標と、原稿画像と、を用いて、仮想三次元空間における指定された表示領域５０に対応する仮想領域を算出する。
【００７３】
仮想三次元空間に仮配置した原稿面とは、プレビュー対象の原稿画像の縦横の長さを元に、該大きさ及び形状の原稿画像の４頂点を仮想三次元空間に仮配置した画像を示す。すなわち、原稿面は、仮想三次元空間に仮配置した原稿画像を示す。本実施の形態では、原稿面は、矩形状である場合を説明する。
【００７４】
仮想三次元空間の基準位置とは、仮想三次元空間における、Ｚ＝０のＸＹ平面を意味する。Ｚ＝０の位置は、ＯｐｅｎＧＬにおいて仮想三次元空間を写す仮想カメラの位置に相当し、−Ｚ軸方向は、仮想カメラの撮影方向の反対方向（１８０°反対方向）を意味する。
【００７５】
そして、配置部３０は、ユーザによって指定された表示領域５０の４頂点のデバイス座標と、仮想三次元空間に仮配置した原稿面の４頂点の座標と、仮想三次元空間に仮配置した原稿面を二次元空間に射影する射影行列と、を用いて、傾き・位置行列を算出する。
【００７６】
傾き・位置行列は、仮想三次元空間における、指定された表示領域５０に対応する仮想領域に配置した、原稿画像の傾きと位置（奥行）を算出するための行列である。
【００７７】
そして、配置部３０は、仮想三次元空間に仮配置した原稿面の４頂点の三次元座標を、傾き・位置行列に適用することで、三次元空間内における、指定された表示領域５０に対応する仮想領域の４頂点の三次元座標を算出する。
【００７８】
これにより、配置部３０は、仮想三次元空間における、指定された表示領域５０に対応する仮想領域を算出する。
【００７９】
図８は、配置部３０の機能ブロック図である。配置部３０は、設定部３０Ａと、第１算出部３０Ｂと、第２算出部３０Ｃと、第３算出部３０Ｄと、制限部３０Ｆと、第４算出部３０Ｇと、移動部３０Ｈと、拡大縮小部３０Ｉと、回転部３０Ｊと、を含む。
【００８０】
設定部３０Ａ、第１算出部３０Ｂ、第２算出部３０Ｃ、第３算出部３０Ｄと、制限部３０Ｆ、第４算出部３０Ｇ、移動部３０Ｈ、拡大縮小部３０Ｉ、及び回転部３０Ｊの一部またはすべては、例えば、ＣＰＵなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣなどのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００８１】
設定部３０Ａは、指定部２８で設定された表示領域５０を取得する。詳細には、設定部３０Ａは、ユーザによって指定された表示領域５０の各頂点のデバイス座標（二次元座標）を取得する。
【００８２】
また、設定部３０Ａは、プレビュー対象の原稿画像の縦横サイズを取得する。
【００８３】
そして、設定部３０Ａは、プレビュー対象の原稿画像の縦横サイズの原稿面を、仮想三次元空間における、Ｚ＝０のＸＹ平面上に仮配置する。すなわち、設定部３０Ａは、まず、プレビュー対象の原稿画像を、三次元空間におけるＺ＝０のＸＹ平面に仮配置し、仮想三次元空間に仮配置した原稿面とする。
【００８４】
図９は、仮想三次元空間に仮配置した原稿面５４を示す説明図である。設定部３０Ａは、原稿面５４の中心を、仮想三次元空間におけるＸＹ平面の原点Ｏに重ね、該原稿面５４の４頂点の座標（三次元座標）を初期値として設定することで、原稿面５４を仮配置する。
【００８５】
ここで、原稿画像の横幅をｗｉｄｔｈ、高さをｈｅｉｇｈｔとし、Ｏｘ＝ｗｉｄｔｈ／２、Ｏｙ＝ｈｅｉｇｈｔ／２とする。すると、仮配置した原稿面５４の４頂点の各々の、仮想三次元空間における初期配置座標は、図１０に示す値となる。
【００８６】
図１０に示すように、例えば、仮配置した原稿面５４の４頂点（左上（ｔｏｐｌｅｆｔ）、右上（ｔｏｐｒｉｇｈｔ）、左下（ｂｏｔｔｏｍｌｅｆｔ）、右下（ｂｏｔｔｏｍｒｉｇｈｔ））の各々の初期配置座標は、図１０に示される値となる。
【００８７】
そして、設定部３０Ａは、仮配置した原稿面５４の初期配置座標を保持する。
【００８８】
図８に戻り、第１算出部３０Ｂは、射影行列Ｆを算出する。
【００８９】
図１１は、射影行列Ｆ及び射影行列Ｇの算出の説明図である。射影行列Ｆは、仮想三次元空間に仮配置した原稿面５４の初期配置座標を（図１１（Ｂ）参照）、二次元空間のデバイス座標（図１１（Ａ）参照）に射影する射影行列である。
【００９０】
すなわち、第１算出部３０Ｂは、仮想三次元空間に仮配置した原稿面５４における右上（ｔｏｐｒｉｇｈｔ）の１頂点Ｏの初期配置座標（Ｏｘ，Ｏｙ，０）を、二次元空間における１頂点Ｄのデバイス座標（Ｄｘ，Ｄｙ）に射影するための、射影行列Ｆを算出する。
【００９１】
また、第１算出部３０Ｂは、その逆の射影を行うための射影行列Ｇを算出する。すなわち、第１算出部３０Ｂは、二次元空間のデバイス座標を、仮想三次元空間に仮配置した原稿面５４の初期配置座標に射影するための射影行列Ｇを算出する。
【００９２】
なお、上述したように、本実施の形態では、ＯｐｅｎＧＬを用いた表示処理を行う。このため、本実施の形態では、第１算出部３０Ｂは、ＯｐｅｎＧＬによる変換ステージに従い、射影行列Ｆ、及び射影行列Ｇを算出する。
【００９３】
図１２は、ＯｐｅｎＧＬによる変換ステージと射影行列との関係の説明図である。第１算出部３０Ｂは、ＯｐｅｎＧＬの変換ステージに従い、二次元空間のデバイス座標（図１２中、ハードウェア依存二次元座標参照）を、正規化行列Ｎ１の逆行列Ｎ１−１で正規化二次元座標に変換した後に、射影行列Ｆ、及び射影行列Ｇを算出する。なお、第１算出部３０Ｂは、射影行列の算出のための公知の計算式、もしくは、同等の任意の計算式を用いて、射影行列Ｆ及び射影行列Ｇを算出すればよい。また、第１算出部３０Ｂは、ｏｐｅｎＣＶ（Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  Ｌｉｂｒａｒｙ）などのコンピュータビジョン向けライブラリを利用して、射影行列Ｆ及び射影行列Ｇを算出してもよい。
【００９４】
第１算出部３０Ｂが算出する射影行列Ｆ、射影行列Ｇを以下に示す。
【００９５】
【数２】
0006488591.tif 000003
【００９６】
【数３】
0006488591.tif 000004
【００９７】
式（２）は、射影行列Ｆを示す。式（３）は、射影行列Ｇを示す。射影行列は、その定義により、定数倍の不定性が存在する。このため、射影行列は、任意のスケール係数（０ではない値）を乗算しても同じ変換であるとする。なお、射影行列Ｆについては、三行一列のベクトルを左から各々ｆ１、ｆ２、ｆ３、ｆ４と表す。
【００９８】
第２算出部３０Ｃは、傾き・位置行列を算出する。傾き・位置行列は、上述したように、  傾き・位置行列は、仮想三次元空間における、指定された表示領域５０に対応する仮想領域に配置した、原稿画像の傾きと位置（奥行）を算出するための行列である。
【００９９】
第２算出部３０Ｃは、第１算出部３０Ｂから射影行列Ｆを取得する。また、第２算出部３０Ｃは、撮影部１２の光学特性パラメータを取得する。撮影部１２の光学特性パラメータは、撮影部１２の焦点距離、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサにおける、１画素分の幅、高さ、画像中心、画素単位の焦点距離（レンズ中心から画像平面までの距離）、などのパラメータである。記憶部１６は、撮影部１２の光学特性パラメータを予め記憶する。第２算出部３０Ｃは、記憶部１６から光学特性パラメータを読取ればよい。
【０１００】
第２算出部３０Ｃは、射影行列Ｆと、撮影部１２の光学特性パラメータと、を用いて、傾き・位置行列を算出する。本実施の形態では、第２算出部３０Ｃは、射影行列Ｆと、後述する投影行列Ａと、を用いて、傾き・位置行列を算出する。
【０１０１】
まず、第２算出部３０Ｃは、撮影部１２の光学特性パラメータから、仮想三次元空間に配置された三次元像を二次元像に投影（すなわち、仮想三次元空間の三次元座標を二次元空間の二次元座標に投影）するための投影行列（以下、投影行列Ａとする）を算出する。投影行列Ａは、以下の式（４）によって示される。
【０１０２】
【数４】
0006488591.tif 000005
【０１０３】
式（４）中、ａｘ及びａｙは、撮影部１２の焦点距離を示す。詳細には、ａｘ及びａｙは、撮影部１２のレンズ中心から撮影素子配列（ＣＣＤ：Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）を配置した平面までの距離を示す。ｃｘ及びｃｙは、主点を示し、本実施の形態では、画像中心を示す。画像中心とは、撮影によって得た二次元の撮影画像の中心を示す。
【０１０４】
第２算出部３０Ｃは、プレビュー画像の生成時に用いる背景画像の取得時の、撮影部１２の光学特性パラメータを用いて、投影行列Ａを算出することが好ましい。撮影部１２の光学特性パラメータから算出した投影行列Ａを用いることで、背景画像の撮影条件と同じ光学条件の、プレビュー画像に含まれる二次元原稿画像とすることができる。すなわち、背景画像に映り込む物体と同様の二次元化を行うことができる。
【０１０５】
本実施の形態では、第２算出部３０Ｃは、画像処理装置１０に搭載されている撮影部１２の光学特性パラメータから、投影行列Ａを予め算出し、記憶部１６に予め記憶する。また、背景画像を撮影する複数の撮影部１２の各々の光学特性パラメータを用いて算出した、複数の投影行列Ａを予め記憶部１６に記憶してもよい。そして、画像処理部１４では、複数の投影行列Ａをユーザに対して選択可能に表示部２０に表示し、第２算出部３０Ｃは、ユーザによる入力部１８の操作指示によって選択された投影行列Ａを採用してもよい。また、ユーザによる入力部１８の操作指示によって、任意の光学特性パラメータ及び投影行列Ａを設定してもよい。
【０１０６】
そして、第２算出部３０Ｃは、射影行列Ｆと、投影行列Ａと、を用いて、傾き・位置行列を算出する。例えば、第２算出部３０Ｃは、ホモグラフィ分解法を用いて、射影行列Ｆと投影行列Ａとから、傾き・位置行列を算出する。なお、ホモグラフィ分解法を用いた場合、値の定まらない場合や虚数解が得られる場合がある。傾き・位置行列は、式（５）で示される。
【０１０７】
【数５】
0006488591.tif 000006
【０１０８】
なお、式（５）では、傾き・位置行列の三行一列のベクトルを、左から各々γ１、γ２、γ３、ｔと表している。なお、γ３は、γ１とγ２の外積である。
【０１０９】
第２算出部３０Ｃは、以下の式（６）を用いて、傾き・位置行列を算出する。
【０１１０】
【数６】
0006488591.tif 000007
【０１１１】
式（６）中、μ１は、式（７）で表せる。式（６）中、μ２は、式（８）で表せる。
【０１１２】
本実施の形態では、第２算出部３０Ｃは、ＯｐｅｎＧＬを利用する。このため、第２算出部３０Ｃは、式（５）に示す傾き・位置行列に、行ベクトル（０，０，０，１）を足して４×４行列に変換したものを、傾き・位置行列として算出する（式（９）参照）。
【０１１３】
【数７】
0006488591.tif 000008
【０１１４】
第２算出部３０Ｃは、算出した傾き・位置行列（上記式（９）参照）を保持する。なお、第２算出部３０Ｃは、前回算出した傾き・位置行列についても保持する。
【０１１５】
次に、第２算出部３０Ｃは、算出した傾き・位置行列と、射影行列Ｆと、算出に用いた光学特性パラメータと、を、第３算出部３０Ｄへ出力する。
【０１１６】
第３算出部３０Ｄは、仮想三次元空間に配置された三次元像を二次元像に投影（すなわち、仮想三次元空間の三次元座標を二次元空間の二次元座標に投影）するための投影行列Ｂを算出する。
【０１１７】
傾き・位置行列に、光沢特性パラメータから求めた投影行列Ａを乗算しても、射影行列Ｆに一致しない。このため、第３算出部３０Ｄは、傾き・位置行列に対して乗算した乗算結果が射影行列Ｆに一致するように、投影行列Ｂを算出する。ここで、傾き・位置行列と投影行列Ｂとの乗算値を、射影行列Ｆに一致させるための３行３列の補正行列を、Ｍとする。第３算出部３０Ｄは、ホモグラフィ分解法により、以下の式（１０）及び式（１１）を導出し、式（１５）により、補正行列Ｍを算出する。
【０１１８】
【数８】
0006488591.tif 000009
【０１１９】
なお、式（１０）及び式（１１）中、μ１は、式（１２）によって表され、μ２は、式（１３）によって表される。また、式（１０）及び式（１１）中、λは、式（１４）によって表される。
【０１２０】
このため、投影行列Ｂは、式（１６）で表せる。
【０１２１】
【数９】
0006488591.tif 000010
【０１２２】
ここで、第３算出部３０Ｄは、ＯｐｅｎｎＧＬ用に、式（１６）中の投影行列Ａと、補正行列Ｍと、を式（１７）に示すように変更する。
【０１２３】
【数１０】
0006488591.tif 000011
【０１２４】
式（１７）中、ｎとｆは、ＯｐｅｎＧＬ上でｚ軸方向における投影範囲を定めるものである。具体的には、ｎは、ｚ軸の負の方向に沿ったクリップ距離の近い方を示す。ｆは、ｚ軸の負の方向に沿ったクリップ距離の遠い方を示す。
【０１２５】
第３算出部３０Ｄが算出した投影行列Ｂを、仮想三次元空間に配置された三次元像を二次元像に投影（すなわち、仮想三次元空間の三次元座標を二次元空間の二次元座標に投影）するための投影行列として用いることで、後述する表示制御部３４は、仮想三次元空間に配置した原稿面５４を、デバイス座標で指定された表示領域５０に投影する。
【０１２６】
ここで、第３算出部３０Ｄは、ユーザによる入力部１８の操作指示に応じて、補正部３０Ｅを呼び出す。すなわち、第３算出部３０Ｄは、補正部３０Ｅを含む。
【０１２７】
第３算出部３０Ｄが算出した投影行列Ｂは、光学特性パラメータから著しく異なる値を取り得る。このため、補正部３０Ｅは、投影行列Ｂに示される各要素の値が予め定めた範囲から逸脱する場合、各要素の値が予め定めた範囲内に収まるように、投影行列Ｂの各要素を補正する。
【０１２８】
例えば、補正部３０Ｅは、投影行列Ｂの一行一列目の要素と、二行二列目の要素と、が当初の投影行列Ｂの１割以上変動する場合には、最大で一割の変動となるように、行列の要素の値を補正する。なお、当初の投影行列Ｂとは、原稿画像を仮想三次元空間の予め定めた基準位置に当初に仮配置した原稿面の領域に対する相似領域を、表示部２０の画面上の二次元空間に仮配置した時点を示す。
【０１２９】
例えば、ユーザの操作指示によって、表示部２０の画面上におけるユーザ所望の領域に表示領域５０を配置するまでは、補正を行わず、配置完了後に、ユーザによる操作指示に従い、補正部３０Ｅによる補正を実行してもよい。
【０１３０】
また、投影行列Ｂの一行一列目の要素と、二行二列目の要素と、の変動の上限を０割とすることで、撮影部１２の当初の光学特性パラメータを投影行列として用いることができる。このような処理を行うことで、後述する移動部３０Ｈによる移動処理において、背景画像に映り込む物体と異なる二次元化による違和感を、低減することができる。
【０１３１】
第３算出部３０Ｄは、前回算出した投影行列Ｂと、今回算出した投影行列Ｂと、の２つの投影行列Ｂを保持する。また、第３算出部３０Ｄは、今回算出した投影行列Ｂを、制限部３０Ｆへ出力する。
【０１３２】
図１３は、デバイス座標と、傾き・位置行列と、投影行列Ｂと、の関係を示す説明図である。
【０１３３】
図１３に示すように、傾き・位置行列は、仮想三次元空間における、指定された表示領域５０に対応する仮想領域に配置した、原稿画像の傾きと位置（奥行）を算出するための行列である。このため、三次元仮想空間内に仮配置した原稿面５４の４頂点の座標に、傾き・位置行列を適用することで、指定された表示領域５０に応じた傾き及び奥行（位置）を反映させることができる。投影行列Ｂは、仮想三次元空間に配置された三次元像を二次元像に投影（すなわち、仮想三次元空間の三次元座標を二次元空間の二次元座標に投影）するために用いる。
【０１３４】
図８に戻り、制限部３０Ｆは、ユーザによって指定された表示領域５０の形状が、実際にはあり得ない形状となるか否かを判定し、ありえない形状であると判定した場合、前回指定された表示領域５０を用いるように制御する。
【０１３５】
実際にはあり得ない形状とは、例えば、指定された表示領域５０の内角の合計値が１８０°以上である場合や、指定された表示領域に対応する仮想領域の、仮想三次元空間における位置が、仮想三次元空間における奥行方向の原点（すなわち、仮想空間における上記基準位置）より視点位置側＋Ｚ軸方向）に位置する場合である。
【０１３６】
詳細には、制限部３０Ｆは、仮配置した原稿面５４の４頂点の初期配置座標を設定部３０Ａから取得する。そして、制限部３０Ｆは、最新の投影行列Ｂを第２算出部３０Ｃから取得し、傾き・位置行列を第２算出部３０Ｃから取得する。そして、図１２に示すように、制限部３０Ｆは、仮配置した原稿面５４の４頂点の初期配置座標と、傾き・位置行列と、投影行列Ｂと、から、該４頂点の各々の、正規化二次元座標を算出する。このとき、制限部３０Ｆは、該４頂点の全ての正規化二次元座標におけるＺ座標（奥行方向の座標）が０以上である場合、すなわち、仮想三次元空間を写す仮想カメラの後方側（撮影方向の反対側、すなわち、仮想三次元空間における奥行方向の原点より視点位置側）に位置する場合、異常と判断する。なお、仮想カメラは、仮想三次元空間の原点に配置され、−Ｚ軸方向を撮影方向としている。
【０１３７】
図８に戻り、第４算出部３０Ｇは、制限部３０Ｆが異常と判断したか否かを判別する。制限部３０Ｆによって異常であると判断された場合、第４算出部３０Ｇは、異常信号を、指定部２８（図２参照）と、第２算出部３０Ｃと、第３算出部３０Ｄと、に通知する。
【０１３８】
指定部２８は、異常信号を受け付けると、最新の指定された表示領域５０を、前回指定された表示領域５０で上書きする。第２算出部３０Ｃは、異常信号を受け付けると、最新の傾き・位置行列を、前回算出した傾き・位置行列で上書きする。補正部３０Ｅは、異常信号を受け付けると、最新の投影行列Ｂを、前回算出した投影行列Ｂで上書きする。そして、第４算出部３０Ｇは、前回仮配置された原稿面５４の４頂点の初期配置座標と、前回の傾き・位置行列と、前回の投影行列Ｂと、を第４算出部３０Ｇ及び表示制御部３４へ通知する。
【０１３９】
一方、第４算出部３０Ｇは、制限部３０Ｆによって異常ではないと判断された場合、仮配置された原稿面５４の４頂点の初期配置座標と、最新の傾き・位置行列（仮想領域）と、最新の投影行列Ｂと、を第４算出部３０Ｇ及び表示制御部３４へ通知する。
【０１４０】
第４算出部３０Ｇは、仮想三次元空間に仮配置した原稿面５４の４頂点の三次元座標（初期配置座標）を、傾き・位置行列に適用することで、仮想三次元空間における、指定された表示領域５０に対応する仮想領域の４頂点の三次元座標を算出する。これにより、第４算出部３０Ｇは、仮想三次元空間における、指定された表示領域５０に対応する仮想領域を算出する。そして、第４算出部３０Ｇは、算出した仮想領域の三次元座標を、表示制御部３４へ通知する。
【０１４１】
移動部３０Ｈ、拡大縮小部３０Ｉ、及び回転部３０Ｊについては、詳細を後述する。
【０１４２】
図２に戻り、表示制御部３４は、仮想三次元空間における、算出された仮想領域に原稿画像５０を配置して三次元原稿画像とする。すなわち、表示制御部３４は、仮想三次元空間における、三次元座標によって示される仮想領域に原稿画像５０を配置することで、三次元原稿画像とする。さらに詳細には、表示制御部３４は、仮想三次元空間における、三次元座標によって示される仮想領域の４頂点の各々に、表示領域５０の４頂点の各々が一致するように配置して、三次元原稿画像とする。
【０１４３】
そして、表示制御部３４は、この三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像を、背景画像上に重畳した重畳画像を、原稿画像５０の印刷結果を推定したプレビュー画像として表示部２０に表示する制御を行う。
【０１４４】
視点位置は、仮想三次元空間の上記基準位置に仮配置された原稿面５４に対する垂線に沿った−Ｚ軸方向の位置である。視点位置は、ＯｐｅｎＧＬの処理により、ユーザによって指定された任意の位置に変更可能である。
【０１４５】
すなわち、表示制御部３４は、ＯｐｅｎＧＬに原稿画像、背景画像、仮想三次元空間に仮配置した原稿面５４の４頂点の三次元座標（初期配置座標）、ＯｐｅｎＧＬ内でのＭＯＤＥＬ−ＶＩＥＷ行列として最新の傾き・位置行列、ＰＲＯＪＥＣＴＩＯＮ行列として投影行列Ｂ、及び、第２受付部３６で受け付けた光源情報ならびに原稿反射情報を受け付ける。
【０１４６】
そして、表示制御部３４は、ＯｐｅｎＧＬを用いて、仮想三次元空間に、受け付けた光源情報及び原稿反射情報に応じた仮想光源を配置すると共に、仮想三次元空間における、指定された前記表示領域に対応する仮想領域に原稿画像を配置し、光源情報に応じた光源効果を付加された三次元原稿画像とする。
【０１４７】
そして、表示制御部３４は、この三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像を、背景画像上に重畳した重畳画像を、原稿画像５０の印刷結果を推定したプレビュー画像として表示部２０に表示する制御を行う。
【０１４８】
表示制御部３４は、三次元原稿画像を二次元空間に投影する際には、第３算出部３０Ｄが算出した投影行列Ｂを用いる。
【０１４９】
なお、背景画像についてはＯｐｅｎＧＬに描画させてもよいし、背景画像表示のレイヤーを作成し、その上にＯｐｅｎＧＬ用の表示レイヤーを乗せ、原稿画像に相当する部分以外は透過することで、重畳してもよい。
【０１５０】
表示部２０にプレビュー画像が表示されると、ユーザは、入力部１８を操作することで、プレビュー画像に含まれる二次元原稿画像の位置を、表示部２０の画面上における任意の位置に移動させることが可能となる。
【０１５１】
例えば、ユーザは、タッチパネルとして構成されたＵＩ部２２の画面を操作することで、表示されている二次元原稿画像またはその周辺にタッチし、任意の移動先の位置にまでドラッグする。第１受付部２６は、ドラッグ中、新たな二次元座標が指定されるたびに、新たに指定された表示領域５０のデバイス座標を受け付け、指定部２８は、第１受付部２６で受け付けた、指定された表示領域の各頂点のデバイス座標を表示領域情報として記憶部１６に記憶する。
【０１５２】
そして、配置部３０は、指定部２８で新たなデバイス座標が指定されるたびに、上記処理を行い、表示制御部３４は、上記と同様にしてプレビュー画像を表示部２０へ表示する。このように、ドラッグ中、表示領域５０の新たなデバイス座標が指定される度に、画像処理部１４は、上記プレビュー画像の表示処理を繰り返し実行する。
【０１５３】
なお、ユーザによる、表示領域５０の二次元座標の指定が終了したときに、配置部３０は処理を終了してもよいし、補正部３０Ｅによる投影行列の補正処理を行ってもよい。
【０１５４】
図１４は、画像処理部１４におけるプレビュー処理の一連の流れを示す模式図である。
【０１５５】
まず、第１取得部２４が背景画像７４と、原稿画像７２と、を取得する（図１４（Ａ）参照）。第１受付部２６が、原稿画像７２の表示領域５０の指定を受け付ける（図１４（Ｂ）参照）。上述したように、本実施の形態では、表示領域５０の４頂点のデバイス座標を入力部１８から受け付けることで、表示領域５０の指定を受け付ける（図１４（Ｂ）参照）。これらの４頂点は、ユーザがタッチパネルとして構成されたＵＩ部２２を用いて指定したものである。また、ユーザが入力部１８の操作によって、表示領域５０の４頂点の内の１頂点を背景画像７４上におけるユーザ所望の位置にドラッグすることで、ユーザ所望の位置に各頂点を移動させることができる（図１４（Ｃ）参照）。
【０１５６】
次に、配置部３０が、仮想三次元空間Ｓ内における、指定された表示領域５０に対応する仮想領域５４を算出する。そして、表示制御部３４は、該仮想領域５４に原稿画像７２を配置し、三次元原稿画像５５とする（図１４（Ｄ）参照）。このとき、表示制御部３４は、仮想三次元空間Ｓ内に、受け付けた光源情報を示す仮想光源Ｌを配置することで、受け付けた光源情報に応じた光源効果を付加された三次元原稿画像５５とすることが好ましい。
【０１５７】
具体的には、上述したように、配置部３０は、仮想三次元空間Ｓに仮配置した原稿面を二次元空間に射影する射影行列Ｆを算出する。また、配置部３０は、指定された表示領域５０の二次元座標と、仮想三次元空間Ｓ内に仮配置した原稿面の三次元座標と、射影行列と、を用いて、仮想三次元空間Ｓ内における、指定された表示領域に対応する仮想領域に配置した原稿画像の傾きと位置を算出するための傾き・位置行列を算出する。さらに、配置部３０は、仮想三次元空間Ｓに仮配置した原稿面の４頂点の三次元座標を、傾き・位置行列に適用することで、仮想三次元空間Ｓ内における、指定された表示領域に対応する仮想領域（図１４中、三次元原稿画像５５の位置）の三次元座標を算出する。また、ユーザの入力に応じて、仮想三次元空間Ｓ内における、三次元原稿画像５５の位置や姿勢を変更する。
【０１５８】
表示制御部３４は、ユーザの入力に応じて、各機能部を呼び出す。また、表示制御部３４は、表示部２０へ表示する画像を制御する。表示制御部３４は、３Ｄグラフィックエンジン（例えば、ＯｐｅｎＧＬ）を利用して、原稿画像７２を、仮想三次元空間Ｓにおける、指定された表示領域５０に応じた仮想領域に配置して三次元原稿画像５５とする。そして、表示制御部３４は、該三次元原稿画像５５を二次元空間に投影した二次元原稿画像５６を、背景画像７４上に重畳した重畳画像８０を、原稿画像７２の印刷結果を推定したプレビュー画像として表示部２０に表示する。
【０１５９】
図８に戻り、次に、表示制御部３４は、配置部３０の移動部３０Ｈ、拡大縮小部３０Ｉ、及び回転部３０Ｊを呼び出す。
【０１６０】
移動部３０Ｈ、拡大縮小部３０Ｉ、及び回転部３０Ｊは、指定された表示領域５０に対応する位置に本配置された原稿面５４を、仮想三次元空間の中で移動、拡大縮小、または回転させる。
【０１６１】
図１５は、表示画面６０の一例を示す図である。
【０１６２】
表示画面６０は、プレビュー画像の表示領域７０と、配置ボタン６２と、移動・拡大縮小ボタン６４と、３Ｄ回転ボタン６６と、平面回転ボタン６８と、を含む。
【０１６３】
表示領域７０には、プレビュー画像が表示される。配置ボタン６２は、表示領域５０の指定時にユーザが操作する指示領域である。移動・拡大縮小ボタン６４、３Ｄ回転ボタン６６、及び平面回転ボタン６８は、二次元原稿画像５６を仮想三次元空間Ｓの中で移動、拡大、縮小、回転させるときにユーザによって指示される。詳細には、移動・拡大縮小ボタン６４は、プレビュー画像に含まれる二次元原稿画像５６の移動、拡大、または縮小を指示するときにユーザが操作する指示領域である。３Ｄ回転ボタン６６は、プレビュー画像に含まれる二次元原稿画像５６を三次元に回転させるときにユーザが操作する指示領域である。平面回転ボタン６８は、プレビュー画像に含まれる二次元原稿画像５６を二次元に回転させるときにユーザが操作する指示領域である。
【０１６４】
配置ボタン６２、移動・拡大縮小ボタン６４、３Ｄ回転ボタン６６、及び平面回転ボタン６８は排他的に選択可能となっており、一つのボタンが指示されると、別のボタンの選択が解除される。なお、アプリケーション起動時には、配置ボタン６２が選択された状態となっており、表示領域５０の指定及び変更が可能な状態となっている。
【０１６５】
図１６は、移動、拡大縮小、回転の説明図である。
【０１６６】
ユーザが、移動・拡大縮小ボタン６４、３Ｄ回転ボタン６６、または平面回転ボタン６８を選択したとする。なお、これらの選択の後に、ユーザは、配置ボタン６２を選択することも可能である。
【０１６７】
まず、移動・拡大縮小ボタン６４について説明する。プレビュー画像に含まれる二次原稿元画像５６を移動したり、拡大したり、縮小したりする処理は、もっともよく利用される機能である。このため、本実施の形態では、これらの複数の処理を指示するためのボタンを、１つの移動・拡大縮小ボタン６４としている。ＵＩ部２２をタッチパネルで構成した場合、移動指示はドラッグ、拡大縮小指示はピンチアウト／ピンチインで行われる。このため、表示部２０の画面にタッチしているユーザの指の数が異なっており、同一のボタンであってもどちらの処理をユーザが利用しようとしているのか切り分けできる。すなわち、移動・拡大縮小ボタン６４が選択された状態で、ユーザによってドラッグの指示がなされると、画像処理部１４は、「移動指示」と判断すればよい。また、移動・拡大縮小ボタン６４が選択された状態で、ユーザによってピンチアウト／ピンチインがなされると、画像処理部１４は、「拡大指示」または「縮小指示」がなされたと判断すればよい。
【０１６８】
表示制御部３４は、配置部３０に、選択されているボタンを示す指示情報（配置ボタン６２、移動・拡大縮小ボタン６４、３Ｄ回転ボタン６６、及び平面回転ボタン６８の何れか）と、ユーザによって指示されたデバイス座標を出力する。
【０１６９】
配置部３０は、表示制御部３４から受け付けた指示情報及びデバイス座標に応じて、移動部３０Ｈ、拡大縮小部３０Ｉ、または回転部３０Ｊを呼び出す。
【０１７０】
移動部３０Ｈは、移動・拡大縮小ボタン６４を示す指示情報を受け付け、且つ、ユーザによって二次元原稿画像５６のドラッグ操作がなされた場合（図１６（Ａ）参照）、起動する。なお、移動部３０Ｈは、これらの指示情報（移動指示）やドラッグ操作を、入力部１８から第１受付部２６を介して受け付ける。
【０１７１】
そして、移動部３０Ｈは、ドラッグ開始時のデバイス座標を記憶する。また、移動部３０Ｈは、指定部２８から、指定された表示領域５０の各頂点のデバイス座標を取得し、４頂点の重心Ｐを求める。言い換えれば、移動部３０Ｈは、表示されているプレビュー画像に含まれる二次元原稿画像５６の各頂点のデバイス座標と、重心Ｐと、を求める（図１６（Ｂ）参照）。
【０１７２】
なお、移動部３０Ｈは、重心Ｐに代えて、４頂点の何れか１頂点を求めても良いし、任意の１点でもよい。具体的には、任意の１点から、二次元原稿画像５６の４頂点の各々のオブジェクト座標を算出可能な、該任意の１点であればよい。ここでは、制御が簡単な重心Ｐを利用する場合を説明する。
【０１７３】
そして、移動部３０Ｈは、ドラッグ開始時の二次元原稿画像５６の重心Ｐのオブジェクト座標を保持する。
【０１７４】
次に、移動部３０Ｈは、ユーザによるドラッグ操作中は、現座標（現在指示している二次元座標）からドラッグ開始時の二次元座標を差し引き、表示部２０の画面上における移動ベクトルを算出する。そして、移動部３０Ｈは、算出した移動ベクトルを、ドラッグ開始時の重心Ｐに加算することで、現在の重心Ｐ’のデバイス座標を算出する（図１６（Ｂ）参照）。
【０１７５】
次に、移動部３０Ｈは、算出した現在の重心Ｐ’の位置に、配置部３０が保持している射影行列Ｇを適用することで、仮想三次元空間Ｓにおける二次元原稿画像５６の位置を算出する。なお、この算出時には、Ｚ座標の値は０とする。これにより、二次元原稿画像５６は、仮想三次元空間Ｓ内の、ＸＹ平面を、二次元原稿画像５６Ａの位置から二次元原稿画像５６Ｂの位置へと移動することとなる（図１６（Ｃ）参照）。
【０１７６】
表示制御部３４によるプレビュー画像の表示時には、二次元原稿画像５６がＸＹ平面上を移動することとなる。ここで、二次元原稿画像５６Ａの位置から二次元原稿画像５６Ｂの位置への移動を示す行列をＴとする。移動部３０Ｈは、第２算出部３０Ｃで算出された傾き・位置行列に、この行列Ｔを乗算した行列（ＲＴ×Ｔ）を、新たな傾き・位置行列として第４算出部３０Ｇ及び表示制御部３４へ引き渡せばよい。なお、ＲＴは、傾き・位置行列を示す。
【０１７７】
また、配置部３０は、この行列Ｔを利用して、デバイス座標を算出し、新たな表示領域５０（変更後の表示領域５０）として、指定部２８へ引き渡せばよい。
【０１７８】
このように、ユーザは、プレビュー画像に含まれる二次元原稿画像５６を、容易に移動させることができるので、仮想三次元空間Ｓに配置された仮想光源Ｌによる反射位置の変化を、容易に確認することができる。
【０１７９】
拡大縮小部３０Ｉは、移動・拡大縮小ボタン６４を示す指示情報を受け付け、且つ、ユーザによって二次元原稿画像５６のピンチアウト／ピンチイン操作がなされた場合（図１６（Ｄ）参照）、起動する。なお、拡大縮小部３０Ｉは、これらの指示情報（拡大縮小指示）やピンチアウト／ピンチイン操作を、入力部１８から第１受付部２６を介して受け付ける。
【０１８０】
そして、拡大縮小部３０Ｉは、ピンチアウト／ピンチイン開始時の２頂点間の距離を算出し、記録する。また、ピンチアウト／ピンチイン中も、拡大縮小部３０Ｉは、２頂点間の距離を算出する。そして、ピンチアウト／ピンチイン中の２頂点間の距離を、ピンチアウト／ピンチイン開始時の２頂点間の距離で割ったものを、指定倍率として扱う。オブジェクト初期座標は、ＸＹ平面上にあり、倍率はＸＹ座標だけに適応する。拡大縮小部３０Ｉは、二次元原稿画像５６をピンチアウト／ピンチインするときの行列を、行列Ｓとし記憶する。
【０１８１】
さらに、拡大縮小部３０Ｉは、第２算出部３０Ｃで算出された傾き・位置行列に、行列Ｓを乗算した行列（ＲＴ×Ｓ）を、新たな傾き・位置行列として第４算出部３０Ｇ及び表示制御部３４へ引き渡せばよい。なお、移動部３０Ｈによる移動の後に、拡大縮小が指示された場合には、拡大縮小部３０Ｉは、第２算出部３０Ｃで算出された傾き・位置行列に、行列Ｔと、行列Ｓと、を乗算した行列（ＲＴ×Ｔ×Ｓ）を、新たな傾き・位置行列として第４算出部３０Ｇ及び表示制御部３４へ引き渡せばよい。これにより、拡大した二次元原稿画像５６を含むプレビュー画像が表示される。
【０１８２】
配置部３０は、移動部３０Ｈのときと同様にしてデバイス座標を算出し、新たな表示領域５０（変更後の表示領域５０）として、指定部２８へ引き渡せばよい。また、配置部３０は、拡大縮小の倍率を、表示制御部３４に引き渡す。表示制御部３４は、受け付けた倍率を、プレビュー画像と共に表示部２０に表示するように制御する。この倍率を表示部２０に表示することで、背景画像中に、基準となる大きさを示す物体などの画像が含まれる場合、二次元原稿画像５６の倍率をどの程度にすればよいか、ユーザは容易に推測可能となる。具体的には、ユーザは、表示されている倍率から、例えば、原稿画像をＡ３サイズのポスターとして出力するか、Ａ１サイズのポスターとして出力するか、などを、プレビュー画像を確認しながら考察することができる。
【０１８３】
回転部３０Ｊは、３Ｄ回転ボタン６６、または平面回転ボタン６８を示す指示情報を受け付けた場合（図１６（Ｅ）参照）、起動する。なお、回転部３０Ｊは、これらの指示情報（二次元回転指示、三次元回転指示）を、入力部１８から第１受付部２６を介して受け付ける。
【０１８４】
回転部３０Ｊは、３Ｄ回転ボタン６６を示す指示情報（三次元回転指示）を受け付けた場合、ユーザによる入力部１８の指示などによるドラッグに合わせて、二次元原稿画像５６を三次元回転させる。具体的には、回転部３０Ｊは、マウス等による入力部１８のドラッグに応じた、３次元の回転行列を生成する。
【０１８５】
本実施の形態では、この３次元の回転行列の生成に、既知のトラックボールコントロール技術を利用する。この三次元の回転行列をＲ３とする。この場合、回転部３０Ｊが、下記式（１８）によって示される行列を、新たな傾き・位置行列として第４算出部３０Ｇ及び表示制御部３４に引き渡すことで、三次元回転された二次元原稿画像５６を含むプレビュー画像が表示部２０に表示される。
【０１８６】
ＲＴ×Ｒ３・・・式（１８）
【０１８７】
なお、移動部３０Ｈによる移動、及び拡大縮小部３０Ｉによる拡大縮小の後に、さらに、三次元回転が指示された場合には、回転部３０Ｊは、下記式（１９）によって示される行列を、新たな傾き・位置行列として第４算出部３０Ｇ及び表示制御部３４に引き渡すことで、三次元回転された二次元原稿画像５６を含むプレビュー画像が表示部２０に表示される。
【０１８８】
ＲＴ×Ｔ×Ｒ３×Ｓ・・・式（１９）
【０１８９】
配置部３０は、移動部３０Ｈのときと同様にしてデバイス座標を算出し、新たな表示領域５０（変更後の表示領域５０）として、指定部２８へ引き渡せばよい。三次元回転された二次元原稿画像５６を含むプレビュー画像が表示部２０に表示されることで、ユーザは、光源反射効果を容易に確認できる。
【０１９０】
回転部３０Ｊは、平面回転ボタン６８を示す指示情報（二次元回転指示）を受け付けた場合（図１６（Ｅ）参照）、ユーザによる入力部１８の指示などによるドラッグに合わせて、仮想三次元空間Ｓ内における二次元原稿画像５６をＸＹ平面に沿って二次元回転させる。具体的には、回転部３０Ｊは、マウス等による入力部１８のドラッグに応じた、２次元の回転行列を生成する。
【０１９１】
この場合、回転部３０Ｊは、ドラッグ開始点からの移動量を、予め定めた係数をかけたラジアンとして取り扱う。回転部３０Ｊは、このラジアンを利用して、二次元の回転行列Ｒ２を生成する。回転部３０Ｊが、下記式（２０）によって示される行列を、新たな傾き・位置行列として第４算出部３０Ｇ及び表示制御部３４に引き渡すことで、二次元回転された二次元原稿画像５６を含むプレビュー画像が表示部２０に表示される。
【０１９２】
ＲＴ×Ｒ２・・・式（２０）
【０１９３】
なお、移動部３０Ｈによる移動、拡大縮小部３０Ｉによる拡大縮小、三次元回転、の後に更に二次元回転が指示された場合、回転部３０Ｊは、下記式（２１）によって示される行列を、新たな傾き・位置行列として第４算出部３０Ｇ及び表示制御部３４に引き渡すことで、さらに二次元回転された二次元原稿画像５６を含むプレビュー画像が表示部２０に表示される。
【０１９４】
ＲＴ×Ｔ×Ｒ３×Ｒ２×Ｓ・・・式（２１）
【０１９５】
配置部３０では、移動部３０Ｈのときと同様にしてデバイス座標を算出し、新たな表示領域５０（変更後の表示領域５０）として、指定部２８へ引き渡せばよい。配置部３０は、背景画像に平行なＸＹ平面に二次元原稿画像５６を配置するが、背景画像が常に垂直や水平な状態になっているとは限らず、傾いていることもあるため、この回転を利用することが好ましい。また、机などの背景画像の上に原稿画像を配置する場合、座っているユーザからみて正しく置かれている状態にしたいため、平面回転を行う。三次元回転に比べて、二次元回転の方が大変容易である。
【０１９６】
なお、移動部３０Ｈ、拡大縮小部３０Ｉ、及び回転部３０Ｊの少なくとも２つを組み合わせて利用してもよい。また、ユーザによる操作により配置ボタン６２が指示され、表示領域５０の指定をやり直す場合には、Ｔ、Ｒ３、Ｒ２、Ｓを単位行列にすればよい。
【０１９７】
移動・拡大縮小ボタン６４、３Ｄ回転ボタン６６、及び平面回転ボタン６８を用いて、二次元原稿画像５６を移動、拡大縮小、回転させることができるので、二次元原稿画像５６の４頂点の全てを操作して移動を行うことなく、一度確定した表示領域５０の形状を維持した状態で、三次元仮想空間Ｓ内における二次元原稿画像５６の姿勢を容易に変更することができる。
【０１９８】
また、ユーザは、プレビュー画像における二次元原稿画像５６の位置を容易に調整することができる。
【０１９９】
次に、画像処理部１４が実行するプレビュー処理の流れを説明する。図１７は、画像処理部１４が実行するプレビュー処理の流れの説明図である。
【０２００】
まず、第１取得部２４が原稿画像と背景画像を取得し、表示制御部３４へ出力する（ＳＥＱ１００）。第２受付部３６は、光源情報及び原稿反射情報を受け付け、表示制御部３４へ出力する（ＳＥＱ１０２）。
【０２０１】
第１受付部２６は、表示部２０の画面上における、原稿画像の表示領域の指定をユーザから受け付け、指定部２８へ出力する（ＳＥＱ１０４）。指定部２８は、第１受付部２６で受け付けた表示領域を、指定された表示領域として設定し、配置部３０の設定部３０Ａに出力する（ＳＥＱ１０６）。
【０２０２】
設定部３０Ａは、指定部２８で設定された表示領域５０を取得する。そして、設定部３０Ａは、プレビュー対象の原稿画像を、三次元空間におけるＺ＝０のＸＹ平面に仮配置し、原稿面５４とする。そして、設定部３０Ａは、仮配置した原稿面５４の初期配置座標（三次元座標）を、第１算出部３０Ｂへ出力する（ＳＥＱ１０８）。
【０２０３】
第１算出部３０Ｂは、仮想三次元空間に仮配置した原稿面５４の初期配置座標を、二次元空間のデバイス座標に射影する射影行列Ｆと、その逆の射影行列Ｇを算出する。そして、射影行列Ｆを第２算出部３０Ｃへ出力する（ＳＥＱ１１０）。
【０２０４】
第２算出部３０Ｃは、第１算出部３０Ｂから取得した射影行列Ｆと、撮影部１２の光学特性パラメータと、を用いて、傾き・位置行列を算出する。次に、第２算出部３０Ｃは、算出した傾き・位置行列と、射影行列Ｆと、算出に用いた光学特性パラメータと、を、第３算出部３０Ｄへ出力する（ＳＥＱ１１２）。
【０２０５】
第３算出部３０Ｄは、仮想三次元空間に配置された三次元像を二次元像に投影（すなわち、仮想三次元空間の三次元座標を二次元空間の二次元座標に投影）するための投影行列Ｂを算出する。
【０２０６】
制限部３０Ｆは、仮配置した原稿面５４の４頂点の初期配置座標を設定部３０Ａから取得する（ＳＥＱ１１４）。そして、制限部３０Ｆは、最新の投影行列Ｂを第２算出部３０Ｃから取得し（ＳＥＱ１１６）、傾き・位置行列を第２算出部３０Ｃから取得する（ＳＥＱ１１８）。そして、制限部３０Ｆは、仮配置した原稿面５４の４頂点の初期配置座標と、傾き・位置行列と、投影行列Ｂと、から、該４頂点の各々の、正規化二次元座標を算出する。このとき、制限部３０Ｆは、該４頂点の全ての正規化二次元座標におけるｚ座標が０以上である場合、すなわち、仮想三次元空間を写す仮想カメラの後方側（撮影方向の反対側）に位置する場合、異常と判断する（ＳＥＱ１２０）。
【０２０７】
第４算出部３０Ｇは、制限部３０Ｆが異常と判断したか否かを判別する（ＳＥＱ１２２）。制限部３０Ｆによって異常であると判断された場合、第４算出部３０Ｇは、異常信号を、指定部２８（図２参照）と、第２算出部３０Ｃと、第３算出部３０Ｄと、に通知する。一方、第４算出部３０Ｇは、制限部３０Ｆによって異常ではないと判断された場合、仮配置された原稿面５４の４頂点の初期配置座標と、最新の傾き・位置行列（仮想領域）と、最新の投影行列Ｂと、を第４算出部３０Ｇ及び表示制御部３４へ通知する（ＳＥＱ１２４）。
【０２０８】
表示制御部３４は、仮想三次元空間における、算出された仮想領域に原稿画像５０を配置して三次元原稿画像とする。すなわち、表示制御部３４は、仮想三次元空間における、三次元座標によって示される仮想領域に原稿画像５０を配置することで、三次元原稿画像とする。そして、表示制御部３４は、この三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像を、背景画像上に重畳した重畳画像を、原稿画像５０の印刷結果を推定したプレビュー画像として表示部２０に表示する制御を行う（ＳＥＱ１２６）。
【０２０９】
なお、このとき、ユーザによるドラッグなどの操作によって、新たな表示領域５０が指定されると、ＳＥＱ１００またはＳＥＱ１０４へ戻る。
【０２１０】
以上説明したように、本実施の形態の画像処理装置１０は、第１取得部２４と、第１受付部２６と、配置部３０と、表示制御部３４と、を備える。第１取得部２４は、原稿画像を取得する。第１受付部２６は、表示部の画面上における、前記原稿画像の表示領域の指定を受け付ける。配置部３０は、仮想三次元空間における、指定された表示領域に対応する仮想領域を算出する。表示制御部３４は、背景画像と、算出された前記仮想領域に原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、原稿画像の印刷結果を推定したプレビュー画像として表示部２０に表示する制御を行う。
【０２１１】
このため、ユーザは、表示部２０の二次元の画面上で表示領域を指定することで、仮想三次元空間における、指定した表示領域に対応する仮想領域に、プレビュー対象の原稿画像に応じた二次元原稿画像を配置した、プレビュー画像を確認することができる。すなわち、画像処理装置１０は、ユーザに対して、仮想三次元空間の構造を意識させること無く、ユーザの所望の位置に原稿画像を配置したプレビュー画像を提供することができる。
【０２１２】
従って、本実施の形態の画像処理装置１０では、容易に仮想三次元空間に物体（原稿画像）を配置することができる。
【０２１３】
すなわち、本実施の形態の画像処理装置１０では、ユーザは、ドラッグなどによる表示領域５０の指定や、表示領域５０の新たなデバイス座標の指定を行っている間、仮想三次元空間における原稿画像の姿勢や構造などを全く意識する必要がない。また、本実施の形態の画像処理装置１０では、ユーザの入力部１８の操作による新たなデバイス座標の指定やドラッグを、マウスクリックやタッチパネルへのマルチタッチなどにより提供する。このため、ユーザは、表示部２０の画面上におけるデバイス座標（二次元座標）についても意識する必要がない。このため、本実施の形態の画像処理装置１０では、ユーザは、容易に所望の位置に原稿画像を配置したプレビュー画像を確認することができる。
【０２１４】
また、第１受付部２６は、表示部２０の画面上における二次元座標の指定を、表示領域の指定として受け付ける。また、配置部３０は、原稿画像を仮想三次元空間に仮配置した原稿面を二次元空間に射影する射影行列と、指定された表示領域の二次元座標と、原稿画像と、を用いて、仮想三次元空間における仮想領域の三次元座標を算出する。そして、表示制御部３４は、仮想三次元空間における、算出された三次元座標の仮想領域に、原稿画像を配置した三次元原稿画像を二次元空間に投影した二次元原稿画像を、背景画像上に重畳した重畳画像を、プレビュー画像として表示部２０に表示する制御を行う。
【０２１５】
このように、画像処理装置１０側で、仮想三次元空間における、指定された表示領域に対応する仮想領域を算出することから、ユーザは、ドラッグなどによる表示領域５０の指定や、表示領域５０の新たなデバイス座標の指定を行っている間、仮想三次元空間における原稿画像の姿勢や構造などを全く意識する必要がない。すなわち、ユーザは、表示部２０の表示面といった二次元空間上に表示領域を設定するのみで、仮想三次元空間の位置座標や姿勢などを意識することなく、所望の表示領域に原稿画像の配置されたプレビュー画像を確認することができる。
【０２１６】
（第２の実施の形態）
第１の実施の形態では、プレビュー対象の原稿画像として、平面状の二次元の画像を用いる場合を説明した。本実施の形態では、プレビュー対象の原稿画像として、三次元の立体物である立体原稿画像を用いる場合を説明する。
【０２１７】
図１は、本実施の形態の画像処理装置１０Ａの模式図である。
【０２１８】
画像処理装置１０Ａは、撮影部１２と、画像処理部１４Ａと、記憶部１６と、入力部１８と、表示部２０と、を備える。撮影部１２、画像処理部１４Ａ、記憶部１６、入力部１８、及び表示部２０は、バスにより電気的に接続されている。撮影部１２、記憶部１６、入力部１８、及び表示部２０は、第１の実施の形態と同様である。
【０２１９】
図１８は、画像処理部１４Ａの機能構成を示すブロック図である。画像処理部１４Ａは、第２取得部２５と、第１受付部２７と、指定部２８と、配置部３０と、表示制御部３５と、第２受付部３６と、を含む。
【０２２０】
第２取得部２５、第１受付部２７、指定部２８、配置部３０、表示制御部３５、及び第２受付部３６の一部またはすべては、例えば、ＣＰＵなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣなどのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【０２２１】
第１取得部２４は、立体の立体原稿画像を取得する。立体原稿画像は、プレビュー対象の物体の画像であり、例えば、立方体のポリゴン情報である。
【０２２２】
第１受付部２７は、表示部２０の画面上における、立体原稿画像の１つの基準平面の表示領域の指定をユーザから受け付ける。基準平面は、立体原稿画像を構成する平面の内の１つである。例えば、立体原稿画像が、６つの平面から構成される立方体である場合、基準平面は、この６つの平面の内の１つの平面である。
【０２２３】
すなわち、本実施の形態では、ユーザは、立体原稿画像の１つの平面を基準平面として、表示部２０の画面上における、該基準平面の表示領域を指定する。
【０２２４】
指定部２８、配置部３０、及び第２受付部３６の処理は、指定された表示領域が、立体原稿画像の１つの基準平面である以外は、第１の実施の形態と同様の処理を行う。
【０２２５】
表示制御部３５は、仮想三次元空間における、配置部３０で算出された仮想領域に、立体原稿画像の基準平面が一致するように、該立体原稿画像を配置して三次元原稿画像とする。詳細には、表示制御部３５は、仮想三次元空間における、三次元座標によって示される仮想領域の４頂点の各々に、立体原稿画像の基準平面の４頂点の各々が一致するように、立体原稿画像を配置して、三次元原稿画像とする。
【０２２６】
そして、第１の実施の形態の表示制御部３４と同様に、表示制御部３５は、この三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像を、背景画像上に重畳した重畳画像を、立体原稿画像の印刷結果を推定したプレビュー画像として表示部２０に表示する制御を行う。
【０２２７】
すなわち、表示制御部３５は、ＯｐｅｎＧＬに、立体原稿画像、背景画像、仮想三次元空間に仮配置した原稿面の４頂点の三次元座標（初期配置座標）、ＯｐｅｎＧＬ内でのＭＯＤＥＬ−ＶＩＥＷ行列として最新の傾き・位置行列、ＰＲＯＪＥＣＴＩＯＮ行列として投影行列Ｂ、及び、第２受付部３６で受け付けた光源情報ならびに原稿反射情報を受け付ける。なお、仮想三次元空間に仮配置した原稿面は、本実施の形態では、立体原稿画像の基準平面を仮想三次元空間に仮配置した原稿面に相当する。
【０２２８】
そして、表示制御部３５は、ＯｐｅｎＧＬを用いて、仮想三次元空間に、受け付けた光源情報及び原稿反射情報に応じた仮想光源を配置すると共に、仮想三次元空間における、指定された表示領域に対応する仮想領域の４頂点に立体原稿画像の基準平面の４頂点が一致するように、立体原稿画像を配置し、光源情報に応じた光源効果を付加された三次元原稿画像とする。
【０２２９】
そして、表示制御部３５は、この三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像を、背景画像上に重畳した重畳画像を、立体原稿画像の印刷結果を推定したプレビュー画像として表示部２０に表示する制御を行う。
【０２３０】
なお、第１の実施の形態と同様に、表示制御部３５は、三次元原稿画像を二次元空間に投影する際には、第３算出部３０Ｄが算出した投影行列Ｂを用いる。
【０２３１】
なお、背景画像としてＣＧを用いた場合であっても、立体原稿画像を自由に配置することができる。これは、本実施の形態で用いる３ＤグラフィックエンジンのＯｐｅｎＧＬは、描画物単位でＰＲＯＪＥＣＴＩＯＮ行列やＭＯＤＥＬ−ＶＩＥＷ行列を設定することができるためである。
【０２３２】
図１９は、画像処理部１４Ａにおけるプレビュー処理の一連の流れを示す模式図である。
【０２３３】
まず、第２取得部２５が背景画像７４と、立体原稿画像７３と、を取得する（図１９（Ａ）参照）。次に、第１受付部２７が、立体原稿画像７３における基準平面７３Ａの表示領域５０の指定を受け付ける（図１９（Ｂ）参照）。本実施の形態では、表示領域５０の４頂点のデバイス座標を入力部１８から受け付けることで、基準平面７３Ａの表示領域５０の指定を受け付ける（図１９（Ｂ）参照）。これらの４頂点は、ユーザがタッチパネルとして構成されたＵＩ部２２を用いて指定したものである。また、ユーザが入力部１８の操作によって、表示領域５０の４頂点の内の１頂点を背景画像７４上におけるユーザ所望の位置にドラッグすることで、ユーザ所望の位置に各頂点を移動させることができる（図１９（Ｃ）参照）。
【０２３４】
次に、配置部３０が、仮想三次元空間Ｓ内における、指定された表示領域５０に対応する仮想領域５４を算出する。そして、表示制御部３４は、該仮想領域５４に立体原稿画像７３の基準平面７３Ａが一致するように、該立体原稿画像７３を配置し、三次元原稿画像５５とする（図１９（Ｄ）参照）。このとき、表示制御部３５は、仮想三次元空間Ｓ内に、受け付けた光源情報を示す仮想光源Ｌを配置することで、受け付けた光源情報に応じた光源効果を付加された三次元原稿画像５５とすることが好ましい。
【０２３５】
表示制御部３５は、３Ｄグラフィックエンジン（例えば、ＯｐｅｎＧＬ）を利用して、三次元原稿画像５５を二次元空間に投影した二次元原稿画像５７を、背景画像７４上に重畳した重畳画像８２を、立体原稿画像７３の印刷結果を推定したプレビュー画像として表示部２０に表示する（図１９（Ｅ）参照）。
【０２３６】
以上説明したように、本実施の形態の画像処理装置１０Ａは、第２取得部２５と、第１受付部２７と、配置部３０と、表示制御部３５と、を備える。第２取得部２５は、立体原稿画像を取得する。第１受付部２７は、表示部２０の画面上における、立体原稿画像の１つの基準平面の表示領域の指定を受け付ける。配置部３０は、仮想三次元空間における、指定された表示領域に対応する仮想領域を算出する。表示制御部３５は、背景画像と、算出された仮想領域に立体原稿画像の基準平面が一致するように該立体原稿画像を配置した三次元原稿画像を、予め定めた視点位置から視認した二次元空間に投影した二次元原稿画像と、を重畳した重畳画像を、立体原稿画像の印刷結果を推定したプレビュー画像として表示部２０に表示する制御を行う。
【０２３７】
このため、本実施の形態の画像処理装置１０Ａは、プレビュー対象として立体原稿画像を用いた場合についても同様に、第１の実施の形態と同様の効果が得られる。
【０２３８】
（第３の実施の形態）
次に、上述した画像処理装置１０、１０Ａのハードウェア構成について説明する。
【０２３９】
図２０は、画像処理装置１０、１０Ａのハードウェア構成図である。画像処理装置１０、１０Ａは、ハードウェア構成として、装置全体を制御するＣＰＵ３００と、各種データや各種プログラムを記憶するＲＯＭ３０２と、各種データや各種プログラムを記憶するＲＡＭ３０４と、各種データ記憶するＨＤＤ（ハードディスクドライブ）３０６と、撮影部３０８と、入力機能と表示機能を備えたタッチパネル等のＵＩ部３１０と、を主に備えており、通常のコンピュータを利用したハードウェア構成となっている。なお、撮影部３０８は、図１の撮影部１２に相当し、ＵＩ部３１０は、図１のＵＩ部２２に相当する。またＨＤＤ３０６が、図１の記憶部１６に相当する。
【０２４０】
上記実施の形態の画像処理装置１０、１０Ａで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【０２４１】
また、上記実施の形態の画像処理装置１０、１０Ａで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態の画像処理装置１０、１０Ａで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０２４２】
また、上記実施の形態の画像処理装置１０、１０Ａで実行されるプログラムを、ＲＯＭ３０２等に予め組み込んで提供するように構成してもよい。
【０２４３】
上記実施の形態の画像処理装置１０、１０Ａで実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ３００が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【０２４４】
なお、本発明は上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。また、種々の変形が可能である。
【符号の説明】
【０２４５】
１０、１０Ａ  画像処理装置
１４、１４Ａ  画像処理部
２４  第１取得部
２５  第２取得部
２６、２７  第１受付部
３０  配置部
３０Ａ  設定部
３０Ｂ  第１算出部
３０Ｃ  第２算出部
３０Ｄ  第３算出部
３０Ｆ  制限部
３０Ｇ  第４算出部
３０Ｈ  移動部
３０Ｉ  拡大縮小部
３０Ｊ  回転部
３４、３５  表示制御部
３６  第２受付部
【先行技術文献】
【特許文献】
【０２４６】
【特許文献１】特開２００３−２４８８４３号公報
【図１】
0006488591.tif 000012
【図２】
0006488591.tif 000013
【図３】
0006488591.tif 000014
【図４】
0006488591.tif 000015
【図５】
0006488591.tif 000016
【図６】
0006488591.tif 000017
【図７】
0006488591.tif 000018
【図８】
0006488591.tif 000019
【図９】
0006488591.tif 000020
【図１０】
0006488591.tif 000021
【図１１】
0006488591.tif 000022
【図１２】
0006488591.tif 000023
【図１３】
0006488591.tif 000024
【図１４】
0006488591.tif 000025
【図１５】
0006488591.tif 000026
【図１６】
0006488591.tif 000027
【図１７】
0006488591.tif 000028
【図１８】
0006488591.tif 000029
【図１９】
0006488591.tif 000030
【図２０】
0006488591.tif 000031