"現実空間がカメラによって撮影された現実画像と、3次元形状データとして表された仮想物体を1つの投影方向から見た画像である仮想画像とを合成した合成画像を作成する画像合成プログラムであって、前記合成画像は現実空間内の1つの水平面である基準面に前記仮想物体を置いた画像であり、前記基準面に前記仮想物体を配置するための現実空間内の座標を計算する仮想物体配置手段を備え、前記仮想物体配置手段は、前記現実画像に含まれている前記基準面上の2点である基準点の現実空間における2点間の距離基準距離に基づいて基準面の正確な位置を計算することを特徴とする、画像合成プログラム。現実画像内の2点を指定しその2点間の距離を入力させるサイズ指示手段を有し、前記仮想物体配置手段は、その2点を前記基準点とし、前記サイズ指示手段によって入力された距離を前記基準距離とするものであることを特徴とする、請求項1に記載の画像合成プログラム。前記仮想物体配置手段は、前記基準点の前記現実画像における座標、前記基準距離及び前記現実画像を撮影した時の前記カメラの撮影方向に基づいて、前記仮想物体の現実空間における位置並びに方向を計算することを特徴とする、請求項1又は2に記載の画像合成プログラム。前記合成画像をタッチパネルスクリーンに表示し、前記タッチパネルスクリーンにおけるジェスチャに基づいて前記仮想物体の現実空間における位置並びに方向を変更する仮想画像移動手段を有することを特徴とする、請求項1~3のいずれか1項に記載の画像合成プログラム。前記カメラがスマートフォンに付属するものであり、前記タッチパネルスクリーンがそのスマートフォンに付属する画面であることを特徴とする、請求項4に記載の画像合成プログラム。前記現実画像が室内を撮影した写真であり、前記仮想物体が家具、家電製品又はインテリア向け置物であることを特徴とする、請求項1~5のいずれか1項に記載の画像合成プログラム。サーバにおいて動作し、前記現実画像がインターネットを介してユーザから受信した画像であり、前記仮想物体の3次元形状データがそのサーバに保存され、合成された画像をインターネットを介してユーザの端末装置に表示することを特徴とする、請求項6に記載の画像合成プログラム。解決しようとする課題は、特別なマーカーを用いることなく正確な合成画像を作成するプログラムを提供することである。仮想物体は、3次元ポリゴンや曲面のデータとして表されたもの以下、このようなデータを3DCG3dimentionalcomputergraphicsと言う。であることが多い。この場合、仮想物体の位置並びに方向を決定するためには、以下の3つのことを行えばよい。1仮想物体を現実空間に配置する基準面の向きを定める。基準面は現実空間における床や机などの水平面である。カメラの撮影方向が既知であれば計算することができる。2その基準面とカメラ視点からの距離を定める。3仮想物体を現実空間の基準面上の特定の位置に配置する基準面の向きに合わせた方向で配置する。上記1についてはカメラの撮影方向が既知であれば計算することができる。3については画像を合成した後に調整することが可能であり、また、任意の物としても正しい合成画像が得られる。これらに対し、2についてはそれが正しくなければ、現実画像と仮想画像の大小比率の整合しない画像となってしまう。この意味において、2が重要である。本発明の画像合成プログラムは、現実空間がカメラによって撮影された現実画像と、3次元形状データ3DCGとして表された仮想物体を1つの投影方向から見た画像である仮想画像とを合成した合成画像を作成する画像合成プログラムであって、前記合成画像は現実空間内の1つの水平面である基準面に前記仮想物体を置いた画像であり、前記基準面に前記仮想物体を配置するための現実空間内の座標を計算する仮想物体配置手段を備え、前記仮想物体配置手段は、前記現実画像に含まれている前記基準面上の2点である基準点の現実空間における2点間の距離基準距離に基づいて前記基準面のカメラ視点からの正確な位置を計算することを特徴とする。現実画像は、現実空間を、カメラの撮影状態に基づいて射影した2次元画像である。多くの場合、仮想画像は3DCGとして表された仮想物体のものであり、合成画像は仮想画像と現実画像を重ね合わせたものである。ここで、現実空間の任意の位置に仮想物体を配置した合成画像を作成するためには、仮想物体の位置並びに方向を決定する必要がある。このために、基準面のカメラ視点からの正確な位置カメラ座標系による基準面を表す平面の式を求める。仮想物体を基準面上に配置することに限定するので、仮想物体の位置は平面上の移動、仮想物体の方向も平面上の1軸の回転のみに限定できるため画像を合成した後に調整することもできる。そこで、基準面と視点との距離の決定について検討する。基準面と視点との距離がわかれば、現実空間内の正しい位置に仮想物体を配置できるため、最終的に位置、向き、大きさの正しい仮想画像を表示できる。本発明の画像合成プログラムは、現実画像内の2点を指定しその2点間の距離を入力させるサイズ指示手段を有し、前記仮想物体配置手段は、その2点を前記基準点とし、前記サイズ指示手段によって入力された距離を前記基準距離とするものであることを特徴とする。現実画像の中の基準面上にサイズが既知の物体あるいは風景の一部が撮影されていれば、その物体の映像位置、サイズ、方向によって基準点を定め、既知のサイズを基準距離とすることができる。しかし、そのような物体が撮影されていたとしてもサイズの値がプログラムの利用するデータとして保持されていない場合には、その物体の基準点とその距離をプログラムに入力する必要がある。サイズ指示手段は、この入力を行わせるものである。具体的には、例えば、画像上の2点を指定マウスでクリック、タッチスクリーンをタップ等し、その2点の間の距離を入力入力用のウィンドウが表示されてそこにキーボード等で入力する操作をユーザに行わせることでよい。本発明の画像合成プログラムは、前記仮想物体配置手段は、前記基準点の前記現実画像における座標、前記基準距離及び前記現実画像を撮影した時の前記カメラの撮影方向に基づいて、前記仮想物体の現実空間における位置並びに方向を計算することを特徴とする。仮想物体の現実空間における位置並びに方向を決定するため、従来のマーカーを用いる方法では、マーカーに少なくとも4点を表示し、相互の距離が分かっているそれらの点の現実画像内の座標から逆算して位置、方向及びサイズを決定していた。このためには、マーカー上の表示として、少なくとも4点を必要とした。仮想物体のカメラに対する相対的な3次元位置及びカメラの焦点距離又はこれらと同等の情報を求める必要があるからである。しかし、1仮想物体の位置を3次元空間内の1つの水平面基準面に限定し、2カメラの撮影方向が既知であれば、基準面上の2つの基準点の現実画像における座標と基準距離のみによって仮想物体を配置する基準面の正確な位置と方向を決定することができる。ここで、カメラの撮影方向は、デジタルカメラの画像データ例えばExifフォーマットのものに含まれているものを使うこともでき、又は、各カメラの既知の値やカメラに備えられた重力センサ等のデバイスによる出力等を使うこともできる。2つの基準点及び基準距離がユーザによって入力される、或いは現実画像の中から基準点がプログラムによって認識され基準距離が既知であることのみによって、基準面の正確な位置を決定することができる。基準面上に配置する仮想物体の位置及び方向については、ユーザの希望に合わせるものであるが、基準点が2つ位置を指定する第1点と方向を指定する第2点あるので、2つの基準点の座標に基づいて位置及び方向を決定することができる。ユーザは、基準点の指定において自己の希望を示すことができる。本発明の画像合成プログラムは、以上のことを利用し、2つの基準点と基準距離のみをユーザに指定させて仮想画像の現実画像の中での位置、方向を決定する。ユーザによる指定の手間が小さいものである。本発明の画像合成プログラムは、前記合成画像をタッチパネルスクリーンに表示し、前記タッチパネルスクリーンにおけるジェスチャに基づいて前記仮想物体の現実空間における位置並びに方向を変更する仮想画像移動手段を有することを特徴とする。室内における家具の配置など、仮想物体を移動、回転させて比較検討したい場合が考えられる。合成画像をタッチパネルスクリーンに表示することにより、ユーザの直感に合わせた移動及び回転が容易に実現できる。本発明の画像合成プログラムは、前記カメラがスマートフォンに付属するものであり、前記タッチパネルスクリーンがそのスマートフォンに付属する画面であることを特徴とする。タッチパネルスクリーンを備えた端末装置として、スマートフォンが広く用いられている。スマートフォンを活用して本発明の画像合成プログラムを広く活用できる。本発明の画像合成プログラムは、前記現実画像が室内を撮影した写真であり、前記仮想物体が家具、家電製品又はインテリア向け置物であることを特徴とする。室内に家具又はインテリア向け置物を配置するアプリケーションは、本発明の画像合成プログラムを有効に活用するものである。本発明の画像合成プログラムは、サーバにおいて動作し、前記現実画像がインターネットを介してユーザから受信した画像であり、前記仮想物体の3次元形状データがそのサーバに保存され、合成された画像をインターネットを介してユーザの端末装置に表示することを特徴とする。この構成によれば、本発明の画像合成プログラムをインターネットを介して広く活用することができる。本発明の画像合成プログラムは、マーカーを用いることなく仮想物体の位置並びに方向を決定する。2つの基準点を指定して基準距離を入力することで足るので、ユーザの操作が容易である。以下に、本発明の実施例を示す。本実施例は、本発明の画像合成プログラムの基本動作を示すものである。本実施例においては、現実画像はカメラで撮影された室内の画像であり、仮想物体は家具である。図1は、画像合成プログラムの原理を示す図である。床面である基準面1を含む画像をカメラ2によって撮影する。カメラの横方向をx軸とし、縦方向をy軸とし、撮影方向をz軸とする座標をカメラ座標と言う。カメラの重力センサ等のデバイスにより図にNで示す重力方向が分かる。ベクトルNは単位ベクトル長さが1のものとする。基準面1は床面であるので、重力方向はそれに垂直である。撮影された現実画像は、カメラ3の後方にある撮像素子に投影されたものであるが、非特許文献2に示されるとおり、仮想スクリーン3上をカメラの前方に想定し、現実空間内の物が仮想スクリーン3に投射されたと考えてよい仮想スクリーン3上に投射された画像と現実画像とは相似である。。仮想スクリーン3は、カメラの撮影方向にカメラからdだけ離れた平面であり、カメラ座標でz=dで表される。ここで、dの値はカメラの焦点距離等によって定まるものであり、非特許文献2に記載の方法によりその値を求めることができる。以下、仮想スクリーン3に基づいて説明するが、現実画像と等価である。仮想スクリーン3上に、2つの基準点P及びQを設定する。基準点は、現実空間における基準面上の点P’及びQ’が撮影された点である。また、現実空間におけるP’とQ’との距離eを取得する。基準点の設定及び距離eの取得は、サイズ既知の物体を撮影しその物体を画像認識することでも可能であるが、本実施例ではユーザが入力する。ユーザは、コンピュータを用いて画像合成プログラムを起動し、撮影された現実画像データを画像合成プログラムに読み込ませる。画像合成プログラムが現実画像を表示する画面において、P及びQの点をマウスでクリックし、図2に示すウィンドウにおいて基準距離を入力する。図2は、サイズ入力手段の画面の例を示す図である。このように、サイズ既知の物体の2点を指定した場合には選択によって容易に基準距離を入力することができ、それ以外の場合には実際の距離を数値として入力することができる。図3は、画像合成プログラムのフローの例を示す図である。上記は、図におけるサイズ既知の画像があるかの分岐においてNoでありその下にあるサイズ指示手段5の処理が行われたことになる。サイズ指示手段5により、基準距離の値e及び基準点P並びにQのx座標並びにy座標が入力される。P及びQのカメラ座標は、x座標、y座標に加えて、z座標値はdであるを持つ。以下この3次元の座標で表されるベクトル値を、P、Qで表す。仮想物体配置手段6は、P、Q及びNに基づき、P’及びQ’を以下のとおりに求める。カメラ座標の原点レンズの位置からNの方向に1だけ移動した平面以下の数2で表されると、カメラ座標の原点とP及びQとを結ぶ直線の交点P0及びQ0を以下の数3の式で求める。ここで、PN及びQNは、P及びQとNとの内積である。P0及びQ0に基づき、以下の数4の式により、P’及びQ’を求める。ここで、|P0-Q0|は、P0とQ0との距離である。基準面は、として表される。基準面の正確な位置が求まる。ここで、|P’|,|P0|は、ベクトルP’,P0の大きさである。仮想物体配置手段6は、P’及びQ’に基づいて、P’の位置を原点とし、P’からQ’に向かう方向をx’軸、P’から図の上方に向かう基準面の法線をy’軸、x’軸に垂直な基準面内の方向をz’軸とする現実座標を定める。x’軸、y’軸を表す現実座標系の単位ベクトルUx’、Uy’は、カメラ座標で以下のとおりになる。z’軸は、x’軸及びy’軸に垂直な方向であるので、容易に計算できる。仮想物体配置手段6は、3DCGで表された仮想物体を現実座標に配置する。ここで、仮想物体は、平面y’=0が基準面に置かれるときの底面であり、x’軸方向が幅方向、y’軸方向が高さ方向、z’軸方向が奥行方向であり、z’軸の負の側に正面が向いているように3DCGを構成しておく。また、仮想物体の底面の中の1点を現実座標の原点に合わせるものとして指定しておく。基準面に正しく置かれ、仮想スクリーン3に正面側が投影されるようにするためである。図4は、仮想物体の配置状態の例を示す図である。仮想物体4は、カメラ方向が正面になるように配置され、基準面に正しく置かれている。なお、本実施例においてはP’を現実座標の原点としたが、他の位置例えばP’とQ’の中点を原点としてもよい。また、y’軸は図の上方に向かう基準面の法線でなければならないが、x’軸及びz’軸は本実施例と異なる方向としてもよい。要するに、仮想物体を配置する位置及び方向基準面の法線方向を除くについてはプログラムの設計により任意に定めてよい。画像合成プログラムは、現実座標をカメラ座標に変換し、仮想スクリーン3に投影する。現実座標からカメラ座標への変換は、以下の計算により行われる。x’軸、y’軸、z’軸の単位ベクトルUx’、Uy’、Uz’をカメラ座標で表現した値を、とするとき、左辺のベクトルがカメラ座標、右辺のベクトルが現実座標である。このカメラ座標x、y、zが、仮想スクリーン3上のX,Y,dに投影され仮想画像となる。3DCGのデータを一方向に投影した2次元画像を作成する方法については、既知のものを用いればよい。なお、X、Yは以下の計算で求めることができる。仮想スクリーン3に投影された画像が、合成画像となる。本実施例に示されるとおり、本発明の画像合成プログラムによれば、ユーザは2つの基準点と基準距離を入力することのみによって合成画像を得ることができる。2つの基準点の入力は、マウスのクリックでもよいし、タッチパネルスクリーンを用いる場合には画面のタップでもよく、或いは線分を描くジェスチャを用いて描かれた線分の始点と終点を基準点としてもよい。従来技術のようにマーカーを正確に置いて撮影する必要はない。また、非特許文献1の技術と異なり、仮想物体が正しいサイズで現実画像に合成される。ユーザは、現実空間に仮想物体を置いた場合について、正確な把握が可能である。本実施例は、本発明の画像合成プログラムによる合成画像をタッチパネルスクリーンに表示し、タッチパネルスクリーンにおけるジェスチャに基づいて合成画像の移動を行うものである。合成画像がタッチパネルスクリーンに表示されている。ユーザは、ジェスチャを用いて仮想物体の移動位置の変更又は回転方向の変更を行う。図5は、ジェスチャ及びその処理の例を示す図である。aは移動を行うためのジェスチャであり、ジェスチャ8aは、1本の指で仮想物体をポイントし、希望の位置に動かすものである。bは回転を行うためのジェスチャであり、ジェスチャ8bは、2本の指を仮想物体の周囲で旋回させるものである。ジェスチャを認識した画像合成プログラムは、以下の式により、仮想物体を配置する現実座標を変換する。なお、仮想物体をz’x’平面において移動、回転するものであり、y’座標はジェスチャの前後で同一である。移動のジェスチャについては、z’m、x’mだけの移動ジェスチャ8aの始点及び終点に対応する基準面上の2点の座標の差:基準面上の2点の座標は実施例1と同様に数3及び数4により計算できるとすると、ここで、添字Oは移動前、添字Rは移動後を示す。回転のジェスチャについては、θだけの回転ジェスチャ8bの始点と終点の角度の差とするとここで、添字Oは回転前、添字Rは回転後を示す。z’C、x’Cは、回転ジェスチャの中心点8cに対応する基準面上の点の座標である。画像合成プログラムは、移動回転の後の現実座標の値に基づき、実施例1と同様に仮想物体を仮想スクリーンに投影して合成画像を得る。なお、ジェスチャの終了を待たず、ジェスチャに追随して合成画像を継続的に更新してもよい。また、タッチスクリーンパネルを用いない場合には、ジェスチャによらずにマウスの操作により、ドラッグアンドドロップによって移動、所定のハンドルを動かして回転とすることができる。移動、回転のための具体的なユーザ操作は任意に設計できる。本実施例によれば、ユーザは、各種の仮想物体の配置についての合成画像を見ることができる。家具の購入前の検討を考えると、室内で最も気に入る配置の画像を見ることができる。本実施例は、本発明の画像合成プログラムをサーバにおいて動作させるものである。図6は、画像合成プログラムの構成の例を示す図である。サーバ9とユーザ端末装置10は、インターネットを介して接続されている。サーバ9においては、画像合成プログラム11が動作し、仮想物体データ12が保存されている。ユーザ端末装置10においては、ブラウザ13が動作し、現実画像データ14が保存されており又は作成される。ユーザ端末装置10は、特別のプログラムやデータを持たず、パーソナルコンピュータ、カメラ付きのスマートフォン等の広く用いられているものでよい。仮想物体データ12は、家具、家電製品又はインテリア向け置物のものである。サーバ9は、これらの物品を販売する者によって運営されている。パーソナルコンピュータであるユーザ端末装置10を使用するユーザは、ブラウザ13を立ち上げ、インターネットを介してサーバにアクセスする。ユーザは、デジタルカメラを用いて撮影した室内の写真現実画像データ14をユーザ端末装置10に保持しており、これを画像合成プログラム11に送信する。ここで、現実画像データ14はExifフォーマットであり、焦点距離及び撮影方向のデータを含む。なお、スマートフォンであるユーザ端末装置10でも、写真を撮影し、焦点距離及び撮影方向のデータを含んでサーバに送信することができる。仮想物体データ12は複数の商品の3DCGを含んでおり、画像合成プログラム11は、図示しない画面においてブラウザ13にこれらを画像表示する。ユーザは、表示ざれた画像から合成画像に用いるものを選択する。画像合成プログラム11は、現実画像をブラウザ13に表示する。ユーザは、表示された現実画像に対して基準点及び基準距離を入力する。画像合成プログラム11は、実施例1と同様にして、選択された仮想物体を含む合成画像を作成し、これをブラウザ13に表示する。この後、実施例2と同様にして仮想物体の移動回転を行ってもよい。この実施例によれば、家具、家電製品又はインテリア向け置物を販売する者は、効果的に販売を促進することができる。"