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