以下に、本願に係る表示プログラム、表示装置および表示方法を実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る表示プログラム、表示装置および表示方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
[実施形態]
〔1.自由視点画像を生成する生成処理について〕
まず、表示装置の一例である端末装置10(例えば、図2を参照)が実行する表示処理の説明に先駆けて、端末装置10が表示処理において用いる多視点画像を生成する生成処理の一例について説明する。例えば、図1は、実施形態に係る生成処理の一例を示す図である。図1に示す例では、情報提供装置100が所定の撮影対象PT1を撮影した撮影画像から、多視点画像を生成する生成処理の一例について記載した。
図1に示す情報提供装置100は、生成処理を行う情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。また、図1に示すカメラCMは、例えば、デジタルカメラであり、撮影対象PT1を撮影する機能を有する。
以下、生成処理の流れについて説明する。まず、カメラCMは、視点を変更しながら、撮影対象PT1を撮影することで、撮影対象PT1を含む複数の撮影画像であって、視点がそれぞれ異なる撮影画像群を取得する(ステップS1)。そして、カメラCMは、撮影画像群を情報提供装置100へと提供する(ステップS2)。
なお、図1に示す例では、単一のカメラCMを用いて、視点を変更しながら撮影対象PT1を撮影することで、視点がそれぞれ異なる撮影画像群を取得する処理について記載した。しかしながら、実施形態は、これに限定するものではない。例えば、撮影画像群は、それぞれ異なる位置に配置された複数のカメラCMが同時期に撮影した画像であってもよい。より具体的な例を挙げると、撮影画像群は、複数のカメラCMによって、所謂バレットタイム撮影により撮影された画像であってもよい。
また、撮影画像群は、動画像であってもよい。例えば、利用者は、カメラCMを用いて、視点を変更しながら撮影対象PT1を撮影した動画像を撮影する。このような場合、情報提供装置100は、撮影された動画像のデータから生成された画像、すなわち、各フレームの画像を撮影画像群としてもよい。
なお、撮影画像群に含まれる各画像は、共通する撮影対象PT1が撮影されており、かつ、それぞれ視点が異なる画像であれば、任意の画像が採用可能である。例えば、各画像における注視点や焦点は、統一されている必要はない。また、各画像のうち撮影対象PT1が含まれる範囲は、共通していてもよく、共通してなくともよい。
このようにして撮影された撮影画像群には、異なる視点から撮影された撮影対象PT1の像が含まれることとなる。しかしながら、単一のカメラCMを用いて撮影対象PT1を順次撮影した場合、撮影対象PT1の像が含まれる範囲が画像ごとに変化したり、注視点がそれぞれ異なったりすると考えられる。また、複数のカメラを用いて撮影対象PT1を撮影するのは、手間がかかる。
そこで、情報提供装置100は、カメラキャリブレーションの技術を用いて、撮影画像群から、撮影対象の3次元形状を示す3次元情報を取得する(ステップS3)。そして、情報提供装置100は、三次元情報と撮影画像群とに基づいて、注視点が撮影対象PT1から所定の範囲に収まり、かつ、視点がそれぞれ異なる複数の対象画像を対象画像群として生成する(ステップS4)。
例えば、情報提供装置100は、各撮影画像について、撮影対象や背景等といった各撮影画像内に含まれるオブジェクトの表面の3次元座標点を、各撮影画像を撮影したカメラCMと対応するパラメータを考慮した透視投影変換を用いて画像平面に写像されたものと見做す。そして、情報提供装置100は、カメラCMと対応するパラメータから透視投影変換を実現する関数(行列)の逆関数(逆行列)を求め、逆行列を用いて、各撮影画像に撮影されたオブジェクトの表面の3次元座標点を推定する。より具体的には、情報提供装置100は、各撮影画像ごとに、オブジェクトの3次元座標点の推定を行う。
なお、情報提供装置100は、カメラCMと対応するパラメータとして、レンズのゆがみ等といった各種のパラメータを採用可能である。また、このような3次元座標点の推定については、カメラキャリブレーションをはじめとした撮影画像からオブジェクトの3次元座標点を推定する各種の公知技術が採用可能である。
続いて、情報提供装置100は、撮影画像ごとに推定された3次元座標点の解析結果に基づいて、撮影対象PT1が撮影された範囲を撮影画像ごとに推定する。例えば、情報提供装置100は、撮影画像ごとの3次元座標点の解析結果に基づいて、各撮影画像から撮影対象PT1が撮影されている範囲を推定する。そして、情報提供装置100は、各撮影画像から推定した範囲をトリミングした画像を対象画像として生成する。すなわち、情報提供装置100は、各撮影画像から、注視点が撮影対象PT1から所定の範囲内に収まり、かつ、視点がそれぞれ異なる撮影画像群を生成する。なお、情報提供装置100は、同じ表示サイズの対象画像を生成してもよく、各対象画像内において撮影対象PT1が含まれる割合や領域が同程度に収まるように、各画像の拡大や縮小を行ってもよい。
続いて、情報提供装置100は、生成した各対象画像と視点の角度とを推定する。例えば、情報提供装置100は、対象画像からいずれかの対象画像を選択し、選択した対象画像を基準となる対象画像とする。続いて、情報提供装置100は、3次元情報を用いて、基準となる対象画像における視点と注視点(すなわち、撮影対象PT1)とを結ぶ軸(以下、「視線軸」と記載する。)と、他の対象画像における視線軸との間の角度を推定する。そして、情報提供装置100は、各対象画像と、各対象画像ごとに推定した基準となる対象画像からの角度とを対応付けた対象画像群を生成する。なお、情報提供装置100は、利用者から基準となる対象画像の選択を受付けてもよく、各対象画像と基準となる対象画像との間の角度の入力を利用者から受付けてもよい。
このような処理の結果、情報提供装置100は、位置を固定した複数のカメラCMを準備せずとも、1台のカメラCMを用いて順次撮影した撮影画像群から、撮影対象PT1を異なる視点から撮影した対象画像群を生成することができる。より具体的には、あたかも注視点を撮影対象PT1に据えたまま、視点を順次変更することで撮影されたような複数の画像を生成することができる。なお、このような対象画像群は、いわゆる自由視点画像と呼ばれる画像に対応する。
〔2.端末装置について〕
続いて、図2を用いて、端末装置10が実行する第1表示処理の一例について説明する。図2は、実施形態に係る端末装置が実行する第1表示処理の一例を示す図である。端末装置10は、PC(Personal Computer)、サーバ装置、スマートテレビジョン、スマートフォン若しくはタブレット等といったスマートデバイス等により実現され、例えば、4G(Generation)、5G、LTE(Long Term Evolution)、Wifi(登録商標)若しくは無線LAN(Local Area Network)等といった各種の無線通信網若しくは各種の有線通信網といったネットワークN(例えば、図6参照)を介して、情報提供装置100等との通信を行う。
ここで、端末装置10は、カメラを有し、任意の撮影対象を撮影可能な機能を有する。例えば、端末装置10は、静止画像若しくは動画像の撮影が可能である。なお、端末装置10は、例えば、カメラを有さないタブレットやPCと、カメラCMとを組み合わせることにより実現されてもよい。
〔3−1.第1表示処理について〕
ここで、拡張現実(AR:Augmented Reality)と呼ばれる技術が知られている。このようなARの技術では、例えば、撮影した利用者の手の平の上に3次元モデルを配置した状態で表示し、撮影位置の変更や利用者の操作に応じて3次元モデルの表示態様を変更するといった技術が知られている。しかしながら、3次元モデルの生成には、手間やコストがかかる。また、人物の3次元モデルを生成した場合、3次元モデルの精度によっては、不気味の谷と呼ばれる現象により、閲覧する利用者に不快感を及ぼしてしまう恐れがある。
そこで、端末装置10は、上述した自由視点画像を用いた第1表示処理を実行することにより、ARのコンテンツの提供を容易にする。まず、端末装置10は、撮影画像に撮影された撮影対象と、当該撮影画像を撮影した撮影装置との位置関係を推定する。そして、端末装置10は、所定の対象を異なる視点から撮影した複数の対象画像のうち、推定された位置関係と対応する視点から撮影された対象画像を、撮影画像内に配置して表示させる。
例えば、端末装置10は、任意の撮影対象を撮影し、撮影画像から所定の指標図形が配置された撮影対象、すなわち、マーカを特定する。そして、端末装置10は、特定した撮影対象と撮影装置との位置関係を推定する。例えば、端末装置10は、撮影対象を貫く軸と撮影装置との位置関係を推定する。具体的には、端末装置10は、撮影画像が端末装置10のカメラにより撮影されている場合は、マーカと端末装置10との間の位置関係を推定する。一方、端末装置10は、撮影画像が端末装置10以外のカメラCMにより撮影されている場合は、マーカとカメラCMとの間の位置関係を推定する。
また、端末装置10は、対象画像群のうち、推定された位置関係と対応する対象画像群を選択する。例えば、端末装置10は、マーカが構成する平面に対して垂直な軸を設定し、設定した軸回りの角度であって、マーカが示す所定の方向を0度とした際に撮影装置が所在する角度を推定する。すなわち、端末装置10は、マーカから見た視点の方向を推定する。そして、端末装置10は、推定した角度と対応付けられた対象画像を対象画像群から選択し、選択した対象画像をマーカと重ねて表示する。
このような処理を繰り返し実行することで、端末装置10は、マーカに対する撮影位置の変更に伴い、マーカ上に重ねる対象画像を順次変更する。このような処理の結果、端末装置10は、マーカに対する視点の位置の変更に伴い、撮影対象PT1に対する視点が異なる対象画像群のうちいずれかの対象画像を表示する。この結果、端末装置10は、3次元モデルを用いずとも、あたかもマーカ上に撮影対象PT1が配置され、撮影位置の変更に伴って撮影対象PT1に対する視点も変更するといった態様のコンテンツ、すなわち、ARに関するコンテンツ(以下、「ARコンテンツ」と記載する。)を表示させることができる。
例えば、端末装置10が表示する対象画像群は、撮影画像から抽出された画像であるため、従来の3次元モデルよりも撮影対象PT1を詳細に示すことができ、利用者に対して不快感を及ぼす可能性が少ない。また、一般的な情報処理技術においては、3次元モデルのレンダリングに要する処理能力よりも、画像の表示に要する処理能力の方が少ない。このため、端末装置10は、より容易にARコンテンツを提供することができる。
〔3−2.第1表示処理の一例について〕
以下、図2を用いて、端末装置10が実行する第1表示処理の流れの一例について説明する。まず、端末装置10は、図1に示す生成処理により生成された対象画像群を情報提供装置100から取得する(ステップS1)。すなわち、端末装置10は、撮影対象PT1を異なる視点から撮影した複数の対象画像を取得する。
続いて、端末装置10は、撮影対象を逐次撮影する(ステップS2)。具体的には、端末装置10は、自装置に設置されたカメラを用いて、ARコンテンツの背景となる画像を撮影する。図2に示す例では、端末装置10は、女性である撮影対象TUがマーカTMを手に持っている姿を、視点を移動させながら逐次撮影する。なお、端末装置10が撮影する画像は、動画像であってもよい。このような処理の結果、端末装置10は、少なくとも、撮影対象TUとマーカTMとを撮影対象として含む撮影画像P1を得ることとなる。
このような場合、端末装置10は、撮影画像P1から所定の撮影対象として、マーカTMを抽出する(ステップS3)。例えば、端末装置10は、各種の画像解析技術を用いて、あらかじめ登録されていた図形が表面に印刷されている物体、すなわちマーカTMを検出する。続いて、端末装置10は、抽出したマーカTMの画像を用いて、マーカとカメラとの間の位置関係を推定する(ステップS4)。例えば、端末装置10は、予め登録されていたマーカTMの画像と、撮影されたマーカTMの画像との比較により、カメラとマーカーTMとの位置関係を推定する。例えば、端末装置10は、予め登録されていたマーカTMの画像を撮影されたマーカTMの画像へと変換する変換行列に基づいて、マーカTMとカメラとの間の距離や角度等を位置関係として推定する。
例えば、端末装置10は、マーカTMが構成する平面上にx軸およびy軸を設定する。例えば、端末装置10は、マーカTMが構成する平面上において、マーカTM上に印刷された図形が示す所定の方向をy軸とし、y軸と共にマーカTMが構成する平面上の方向であって、y軸に対して垂直な方向をx軸とする。なお、端末装置10は、マーカTMの図形が示す所定の方向をx軸およびy軸としてもよい。また、端末装置10は、マーカTMが構成する平面に対して垂直な軸方向をz軸とする。
そして、端末装置10は、x軸およびy軸からなるxy平面上における視線軸の角度θを推定する。すなわち、端末装置10は、マーカTMに対するxy平面上のカメラの方向を推定する。換言すると、端末装置10は、マーカTMが構成する平面と水平な平面上の角度を推定する。
また、端末装置10は、y軸およびz軸からなるyz平面上における視線軸の角度φを推定する。すなわち、端末装置10は、マーカTMに対するyz平面上のカメラの方向を推定する。換言すると、端末装置10は、撮影装置と注視点とを結ぶ軸とz軸との間の角度を推定する。
また、端末装置10は、マーカTMが構成する平面を基準としたカメラの傾きrを推定する。例えば、端末装置10は、端末装置10の長尺方向(或いは、短尺方向)の軸とz軸との間の角度を傾きrとして推定する。換言すると、端末装置10は、撮影装置と注視点とを結ぶ軸を中心とした角度を推定する
また、端末装置10は、マーカTMと端末装置10との間の距離dを推定する。なお、上述した各種の角度や距離の推定は、画像から撮影対象とカメラとの間の位置関係を推定する各種の推定技術が採用可能である。また、例えば、端末装置10は、マーカTMが曲面を有する場合、マーカTMが構成する曲面のうちマーカTMが示す位置(例えば、指示図形の中央)における法線をz軸として推定し、推定したz軸に対して垂直な面をxy平面に設定してもよい。
そして、端末装置10は、対象画像群から推定された位置関係と対応する対象画像を選択する(ステップS6)。例えば、端末装置10は、角度θと角度#1とが対応する場合は、角度#1と対応付けられた対象画像TP1を選択する。より具体的な例を挙げると、端末装置10は、角度θが−90度となる場合、すなわち、カメラがマーカTMの正面方向(−y軸方向)に所在する場合は、対象画像群のうち、対象画像TP1を正面から撮影した対象画像TP1を選択する。また、端末装置10は、角度θが0度となる場合、すなわち、カメラがマーカTMの右横側(x軸方向)に所在する場合は、対象画像群のうち、対象画像TP1を右横から撮影した対象画像を選択する。また、端末装置10は、角度θが180度となる場合、すなわち、カメラがマーカTMの左横側(−x軸方向)に所在する場合は、対象画像群のうち、対象画像TP1を左横から撮影した対象画像を選択する。
そして、端末装置10は、撮影画像のうち特定したマーカTMに、選択した対象画像を重ねた重畳画像を生成する(ステップS7)。例えば、端末装置10は、撮影画像P1のうち、マーカTMが撮影されている範囲を特定し、特定した範囲に、対象画像TP1を配置した重畳画像OP1を生成する。そして、端末装置10は、重畳画像OP1を表示する(ステップS8)。
ここで、端末装置10は、画像の撮影を行う度に、ステップS3〜ステップS8の処理を実行する。例えば、端末装置10は、動画像の撮影を行い、撮影された動画像に含まれる撮影画像ごとに、端末装置10とマーカTMとの間の位置関係を推定し、動画像に含まれる撮影画像ごとに、推定された位置関係と対応する視点から撮影された対象画像を配置した撮影画像を表示する。このような処理の結果、端末装置10は、例えば、視点を移動させながら撮影対象TUやマーカTMを撮影した際に、マーカTM上に、撮影対象PT1が撮影された撮影画像であって、移動後の視点と対応する視点から撮影された撮影画像することができる。換言すると、端末装置10は、視点の移動に伴い、撮影対象PT1に対する視点が変化するといった対応で、対象画像の切り替えを行う。このような処理の結果、端末装置10は、3Dモデルを用いずとも、ARコンテンツの表示を実現することができる。
〔3−3.視点に応じて表示する対象画像について〕
ここで、図3を用いて、マーカTMに対する視点の移動に応じてどのような視点から撮影した対象画像を表示するかの一例について説明する。図3は、実施形態に係る端末装置が表示する対象画像の一例を示す図である。なお、図3に示す例では、マーカTMに対する端末装置10の位置、すなわちマーカTMに対する視点と、端末装置10が表示対象とする対象画像との関係の一例について記載した。また、図3に示す例において、マーカTMが構成する平面と垂直な軸をz軸とし、マーカTMが有する平面において紙面左右方向の軸をx軸、マーカTMが有する平面において紙面奥行方向の軸をy軸とした。また、図3に示す例においては、手前側(−y軸方向)がマーカTMの正面であるものとする。
例えば、端末装置10は、マーカTM上のパターンからマーカTMと端末装置10との位置関係を推定する。そして、端末装置10は、例えば、端末装置10がマーカTMの正面側となる第1方向に位置すると推定される場合、撮影対象PT1を正面から撮影した対象画像TP1を表示する。また、端末装置10は、例えば、端末装置10が第1方向から、z軸方向を中心として反時計回りに90度移動した場合、すなわち、マーカTMの右側方向(+x軸方向)である第2方向に移動したと推定される場合、対象画像TP1に代えて、撮影対象PT1を右側から撮影した対象画像TP2を表示する。
また、端末装置10は、例えば、端末装置10が第1方向から、z軸方向を中心として時計回りに90度移動した場合、すなわち、マーカTMの左側方向(−x軸方向)である第3方向に移動したと推定される場合、対象画像TP1に代えて、撮影対象PT1を左側から撮影した対象画像TP3を表示する。なお、端末装置10は、第3方向から第1方向へと端末装置10が移動したと推定される場合は、対象画像TP3に代えて対象画像TP1を表示すればよい。また、端末装置10は、第2方向から第1方向へと端末装置10が移動したと推定される場合は、対象画像TP2に代えて対象画像TP1を表示すればよい。
なお、端末装置10は、z軸を中心とする回転方向に視線を移動させながら撮影対象PT1を撮影した画像のみならず、x軸やy軸を中心とする回転方向、すなわち、撮影対象PT1の上側や下側に視線を移動させながら撮影対象PT1を撮影した画像が対象画像群に含まれている場合、端末装置10がx軸やy軸を中心とする回転方向に移動したことを契機として、撮影対象PT1の上側や下側に視線を移動させながら撮影対象PT1を撮影した画像を表示してもよい。例えば、端末装置10は、端末装置10が第1方向から、x軸方向を中心として時計回りに90度移動した場合、すなわち、マーカTMの上方向(+z軸方向)である第4方向に移動したと推定される場合、対象画像TP1に代えて、撮影対象PT1を上側から撮影した対象画像TP4を表示すればよい。
なお、図3に示す例では、各軸方向に視線の位置を90度動かした際に表示する対象画像の一例について記載したが、実施形態は、これに限定されるものではない。例えば、端末装置10は、撮影対象PT1を注視点とし、視点の位置を各軸方向に30度ずつ移動させながら撮影した複数の画像を対象画像群として受付けた場合、マーカTMを注視点として端末装置10の位置が各軸方向に30度ずつ移動する度に、表示される対象画像を切替えればよい。
〔3−4.対象画像の表示態様について〕
ここで、端末装置10は、撮影対象PT1の大きさを考慮した表示を行ってもよい。例えば、端末装置10は、端末装置10とマーカTMとの間の距離dが離れれば離れる程、選択された対象画像の表示サイズを縮小してもよい。また、端末装置10は、距離dが縮まれば縮まる程、対象画像の表示サイズを拡大してもよい。
また、端末装置10は、撮影対象PT1の大きさを考慮した処理を行ってもよい。例えば、端末装置10は、予めマーカTMの大きさを示す情報と撮影対象PT1の大きさを示す情報とを取得し、取得した情報の比較結果に応じて、対象画像を表示する際の表示サイズを決定してもよい。なお、上述した各種表示サイズの変更は、対象画像の変更を伴わずとも、任意のタイミングで実行されてよい。
すなわち、端末装置10は、推定された位置関係と対応する視点から撮影された対象画像を、位置関係と対応する表示態様で、撮影画像内に配置して表示させればよい。このような表示態様において、どのようなタイミングで対象画像の変更を行うか、対象画像の表示サイズをどのような表示サイズに設定するかについては、各種任意の設定が採用可能である。
なお、上述した説明では、マーカTMに対する端末装置10の位置関係に基づいて、対象画像の表示態様を変更する例に説明したが、実施形態は、これに限定されるものではない。例えば、端末装置10は、撮影対象TUがマーカTMを傾けた場合、マーカTM上に対象画像を傾けた状態で配置して表示すればよい。例えば、端末装置10は、推定した角度rだけ、各対象画像を傾けた状態で表示してもよい。
なお、端末装置10は、各軸方向に視点を移動させた対象画像群を用いる必要はない。例えば、情報提供装置100は、撮影対象PT1を貫く上方向の軸をz軸として、z軸を中心に回転させた複数の撮影画像から対象画像群を生成する。このような場合、端末装置10は、マーカTMのz軸を中心として端末装置10が移動した際に、表示される対象画像を逐次変更すればよい。
〔3−5.対象画像の表示手法について〕
なお、撮影画像に対して対象画像を重ねて表示する場合、端末装置10は、以下の処理を実行する。まず、端末装置10は、撮影画像のうち、マーカTM等の撮影対象と対応する位置に撮影装置と対向する向きの仮想的な平面を設定し、設定した平面上に対象画像を配置して表示させる。例えば、図4は、実施形態に係る端末装置が対象画像を撮影画像に重ねて表示する際の処理の一例を示す図である。なお、図4に示す例では、端末装置10が対象画像を表示する際に実行する処理の一例を、基準状態、時計回り状態、および反時計回り状態に分けて記載した。
例えば、端末装置10は、基準状態に示すように、視点の位置が撮影画像Pに含まれるマーカTMの正面に位置する場合、マーカTM上に不可視なビルボードBBの設定を行う。より具体的には、端末装置10は、マーカTM上に、マーカTMの傾き等に係わらず、視線軸に対して垂直なビルボードBBの設定を行う。そして、端末装置10は、ビルボードBB上に選択した対象画像TP1を配置して、最終的に表示する重畳画像OP1のレンダリングを行う。
一方、端末装置10は、反時計回り状態に示すように、視点の位置が撮影画像Pに含まれるマーカTMの左側に移動した場合も、視線軸に対して垂直なビルボードBBをマーカTM上に設定する。そして、端末装置10は、ビルボードBB上に選択した対象画像TP6を配置して、最終的に表示する重畳画像OP1のレンダリングを行う。また、端末装置10は、時計回り状態に示すように、視点の位置が撮影画像Pに含まれるマーカTMの右側に移動した場合も、視線軸に対して垂直なビルボードBBをマーカTM上に設定する。そして、端末装置10は、ビルボードBB上に選択した対象画像TP5を配置して、最終的に表示する重畳画像OP1のレンダリングを行う。
なお、端末装置10は、マーカTMが傾いた場合、ビルボードBBを傾けることで、対象画像の傾きを再現してもよく、対象画像をビルボードBB上に配置する際に、対象画像そのものを傾けて配置することで、マーカTMの動きに撮影対象PT1を追従させてもよい。
〔3−6.位置推定について〕
なお、端末装置10は、カメラキャリブレーションの技術を用いて、撮影画像に撮影された撮影対象と、撮影装置との3次元的な位置関係を推定してもよい。例えば、端末装置10は、カメラキャリブレーションの技術を用いて、撮影対象TUやマーカTMと、端末装置10との位置関係の推定を行ってよい。
〔3−7.撮影対象について〕
ここで、端末装置10は、マーカTMを用いずとも、上述した第1表示処理を実現してもよい。例えば、端末装置10は、撮影画像に撮影された複数の撮影対象のうち、所定の条件を満たす撮影対象と撮影装置との位置関係を推定し、推定された位置関係と対応する視点から撮影された対象画像を、撮影画像のうち所定の条件を満たす撮影対象と対応する位置に配置して表示させてもよい。
例えば、端末装置10は、カメラキャリブレーションの技術を用いて、撮影画像Pに含まれる撮影対象のうち、平面を構成する撮影対象を特定する。例えば、端末装置10は、撮影対象TUが手のひらを上に向けている画像を撮影した場合、撮影対象TUの手のひら部分を平面を構成する撮影対象として特定する。なお、カメラキャリブレーションを用いる場合、端末装置10は、少なくとも同一平面を構成する3点を有する撮影対象を特定すればよい。
そして、端末装置10は、撮影対象TUの手のひら部分と端末装置10との位置関係を推定し、推定結果に応じた表示対象で、対象画像を撮影対象TUの手のひらと重なる位置に配置して表示すればよい。例えば、端末装置10は、特定した撮影対象が構成する平面に対して垂直な軸をz軸として推定し、推定したz軸に対する端末装置10の位置関係を推定して、推定結果に応じて対象画像を切替えればよい。このような処理の結果、端末装置10は、撮影対象が構成する平面上に、撮影対象PTが配置されている態様で、対象画像を表示する。このため、端末装置10は、あたかも撮影対象TUの手のひらの上に撮影対象PT1が乗っているといった態様のARコンテンツを表示することができる。
なお、端末装置10は、撮影画像Pに含まれる撮影対象から、対象画像を重ねて表示する対象の選択を受付けてもよい。例えば、端末装置10は、撮影画像Pに含まれる撮影対象から、各種平面を構成する撮影対象やマーカTM等を特定し、利用者に提示する。そして、端末装置10は、提示した撮影対象のうち利用者によって選択された撮影対象に、対象画像を重畳して表示してもよい。
〔3−8.対象画像について〕
ここで、上述した説明では、端末装置10は、対象画像群として、視点が異なる静止画像の表示を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置100は、撮影対象に対する視点がそれぞれ異なる複数の動画像を対象画像群として生成してもよい。このような場合、端末装置10は、端末装置10とマーカTM等といった撮影対象との位置関係を推定し、推定した位置関係と対応する視点から撮影された動画像を表示することとなる。
〔4−1.第2表示処理について〕
ここで、AR技術においては、動画像に撮影されたマーカ上に3次元モデルを配置して表示するといった態様が考えられる。しかしながら、このような技術では、位置関係の推定、3次元モデルの設定、およびレンダリングという一連の処理を動画像の各フレームごとに実行する必要があり、処理コストが増大する。また、このような技術では、3次元モデルを重畳するコンテンツが動画像に限定されてしまう。
そこで、端末装置10は、以下の第2表示処理を実行してもよい。例えば、端末装置10は、静止画像の一部に、所定の対象を複数の視点から表示可能なコンテンツを重ねて表示させる。そして、端末装置10は、所定の条件が満たされた場合は、コンテンツにおける所定の対象に対する視点を変更する。
すなわち、端末装置10は、動画像ではなく、1枚の静止画像上に、視点の変更が可能なコンテンツを配置して表示する。例えば、端末装置10は、利用者が手の平を差し出している画像において、手の平の上に3次元モデルや上述した多視点画像を表示し、静止画の表示態様を変更することなく、3次元モデルや多視点画像における視点の切り替えを行う。このような処理の結果、端末装置10は、処理コストの軽減を図ることができる。
〔4−2.第1表示処理の一例について〕
以下、図5を用いて、端末装置10が実行する第2表示処理の流れの一例について説明する。図5は、実施形態に係る端末装置が実行する第2表示処理の一例を示す図である。なお、図5に示す例では、端末装置10は、視点を変更可能なコンテンツとして、情報提供装置100により生成された対象画像群をあらかじめ保持しているものとする。
まず、端末装置10は、静止画像を撮影する(ステップS1)。具体的には、端末装置10は、自装置に設置されたカメラを用いて、ARコンテンツの背景となる画像を撮影する。図5に示す例では、端末装置10は、女性である撮影対象TUが手のひらを差し出している姿を撮影した静止画像を撮影画像P2として撮影する。
このような場合、端末装置10は、カメラキャリブレーションの技術を用いて、平面を構成する撮影対象を特定する(ステップS2)。例えば、端末装置10は、第1表示処理と同様に、カメラキャリブレーションの技術を用いて、利用者の手のひら等といった平面を構成する撮影対象TAを特定する。すなわち、端末装置10は、所定の条件を満たす撮影対象を撮影画像P2から特定する。
続いて、端末装置10は、特定した撮影対象TAが構成する平面上に、対象画像群のうちいずれかの対象画像を配置して表示する(ステップS3)。例えば、端末装置10は、第1表示処理と同様に、撮影対象TAが構成する平面上にビルボードBBを設定し、設定したビルボードBB上に対象画像TP1を配置して表示する。なお、端末装置10は、例えば、カメラキャリブレーションの技術を用いて、撮影画像P2を撮影した際の端末装置10と撮影対象TAとの間の位置関係を推定し、推定した位置関係に応じた表示態様で、表示する対象画像の選択を行ってもよく、表示する対象画像の表示サイズ等を適宜変更してもよい。
ここで、端末装置10は、利用者からの操作を受付ける(ステップS4)。このような場合、端末装置10は、撮影画像P2の表示態様を変更することなく、撮影画像P2に重ねて表示された対象画像を、利用者からの操作に応じて異なる視点の対象画像に変更する(ステップS5)。例えば、端末装置10は、対象画像TP1を、他の視点から撮影対象PT1を撮影した対象画像TP2、TP3、TP5、TP6へと順次変更する。例えば、端末装置10は、対象画像TP1を対象画像TP6に切換え、その後、対象画像TP2に切替えた後、対象画像TP2を対象画像TP6に切換える。また、端末装置10は、対象画像TP6を対象画像TP1に切替えた後に、対象画像TP1を対象画像TP5に切換え、対象画像TP5を対象画像TP3に切替える。このような処理を実行することで、端末装置10は、撮影対象PT1が利用者の手の平の上で立体的に回転しているといった態様のARコンテンツを提供することができる。
すなわち、端末装置10は、所定の対象を異なる視点から撮影した複数の対象画像のうちいずれかの対象画像を静止画像の一部に重ねて表示させ、静止画像に重ねられた対象画像を、視点が異なる他の対象画像に変更する。このような処理を実行することで、端末装置10は、所定の対象が撮影対象が構成する平面上に配置される態様で、ARコンテンツを撮影画像内に配置して表示させることができる。
〔4−3.撮影対象について〕
上述した例では、端末装置10は、撮影対象TAとして、平面を構成する対象画像を特定した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、所定の条件を満たす撮影対象として、所定の指標図形が配置された撮影対象、すなわち、マーカTMを特定してもよい。例えば、端末装置10は、第1表示処理と同様に、撮影対象TUがマーカTMを保持している場合、マーカTMを特定し、特定したマーカTM上で、対象画像を順次切り替えてもよい。また、端末装置10は、静止画像に撮影された撮影対象のうち、利用者により選択された撮影対象を特定してもよい。
〔4−4.対象画像の切り替えについて〕
ここで、端末装置10は、任意の条件に応じて、対象画像の切り替えを行ってもよい。例えば、端末装置10は、利用者からの操作によらず、自動的に、対象画像の切り替えを順次行うことで、静止する利用者の手のひらの上で撮影対象が立体的に回転するといった表示態様を実現してもよい。また、端末装置10は、利用者の操作に応じて、コンテンツにおける所定の対象に対する視点を変更してもよい。例えば、利用者がタップやスクロール操作を行った場合に、対象画像の切り替えを行ってもよい。例えば、端末装置10は、画像P2が配置された各種のコンテンツに対するスクロール操作が行われた場合に、対象画像の切り替えを行ってもよい。
また、端末装置10は、端末装置10の物理的な状態に応じて、コンテンツにおける所定の対象に対する視点を変更してもよい。例えば、端末装置10は、端末装置10が移動した場合は、コンテンツにおける所定の対象に対する視点を、端末装置10が移動した方向と対応する方向に変更してもよい。
例えば、端末装置10は、ジャイロセンサ、傾きセンサ、加速度センサ等の各種のセンサ情報を用いて、端末装置10の動きを推定する。そして、例えば、端末装置10は、仮想的な物体を回り込みながら撮影しているような動きが推定された場合は、推定された動きに従って、対象画像の切り替えを行ってもよい。例えば、端末装置10は、仮想的な物体にカメラを向けながら、仮想的な物体を中心として反時計回りに動いたと推定される場合は、対象画像TP1を対象画像TP6や対象画像TP2に変更してもよい。また、端末装置10は、端末装置10の向きや高さが変化したと推定された場合は、推定結果に応じて、表示する対象画像を切替えてもよい。
〔4−5.対象画像について〕
ここで、上述した説明では、端末装置10は、対象画像群として、視点が異なる静止画像の表示を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置10は、視点が異なる複数の動画像を対象画像群として取得している場合、視点が異なる複数の動画像を逐次切替えて表示してもよい。例えば、端末装置10は、所定の対象を異なる視点から撮影した複数の動画像のうちいずれかの動画像を静止画像の一部に重ねて表示させ、静止画像に重ねられた動画像を、所定のタイミングで、視点が異なる他の動画像に変更すればよい。
なお、第2表示処理においては、端末装置10は、対象画像に代えて、視点を変更可能な3次元モデルを静止画の一部に重ねて表示させ、3次元モデルに対する視点のみを順次変更してもよい。このような処理においても、端末装置10は、静止した利用者の手の平野上で、撮影対象が立体的に回転するといった表示態様のARコンテンツを提供可能である。
〔4−6.投稿について〕
なお、第2表示処理によって生成されるARコンテンツ(重畳画像)においては、端末装置10がカメラを用いて画像を撮影し続ける必要はない。このため、第2表示処理において生成された重畳画像は、SNS(Social Networking Service)やマイクロブログ、ニュース等に投稿されてもよい。このように投稿された重畳画像を表示する場合、端末装置10は、配信されたコンテンツに対するスクロール操作等に応じて、重畳画像に含まれる対象画像を逐次切替えればよい。
また、このような重畳画像は、所謂広告として配信されるものであってもよい。例えば、端末装置10は、広告を構成する背景画像と対象画像群との配信を受付ける。このような場合、端末装置10は、背景画像上に対象画像群のいずれかを配置し、利用者からの操作等に応じて、表示する対象画像を切替えればよい。
なお、広告、営利若しくは非営利の広告だけではなく、ボランティアの募集、公共広告、公共に対する通知、重畳画像とともに表示されるコンテンツに関する情報の一部、その他任意のコンテンツであるものとする。すなわち、広告は、いわゆる広告関連の情報を含むコンテンツのみならず、利用者に興味を抱かせ、重畳画像に含まれる情報、または、重畳画像と関連するコンテンツ(例えば、ランディングページ等)に含まれる情報を広く報知するものであれば任意の内容の広告が適用可能である。
〔4−7.背景となる画像について〕
ここで、端末装置10は、自装置により撮影された撮影画像のみならず、配信された撮影画像に対して対象画像群を重ねて表示してもよい。例えば、端末装置10は、撮影画像と対象画像群との配信を受付け、配信された撮影画像上で対象画像群を逐次切替えてもよい。
〔4−8.実装について〕
ここで、端末装置10は、任意の実装手法により上述した第2表示処理を実現してもよい。例えば、端末装置10は、対象画像のうち第1の対象画像を静止画像に重ねた第1の重畳画像を生成し、生成した第1の重畳画像を表示させ、第1の対象画像とは異なる第2の対象画像を静止画像に重ねた第2の重畳画像を生成し、生成した第2の重畳画像を表示させてもよい。例えば、端末装置10は、撮影画像と対象画像群とを取得した場合、撮影画像に対して各対象画像を重ねた複数の重畳画像をそれぞれ生成する。そして、端末装置10は、表示する重畳画像を逐次変更することで、上述した第2表示処理を実現してもよい。
また、端末装置10は、静止画像を表示させるとともに、静止画像の前面に対象画像のうち第1の対象画像を重ねた状態で表示させ、第1の対象画像を、第1の対象画像とは異なる第2の対象画像に変更させてもよい。例えば、端末装置10は、静止画像からマーカTMや手のひら等の所定の条件を満たす撮影対象を特定する。そして、端末装置10は、静止画像を表示するとともに、表示した静止画像のうち特定した撮影対象上に、対象画像群のうちいずれかの対象画像を配置して表示する。その後、端末装置10は、表示する対象画像を逐次切替えることで、上述した第2表示処理を実現してもよい。
ここで、撮影対象があたかもマーカTMや利用者の手の上で立体的に回転しているように表示を行うには、背景を除いた状態の対象画像群を表示するのが望ましい。そこで、情報提供装置100は、各種の画像抽出技術を用いて、撮影対象のみを含み、他の範囲が透過領域となる画像を対象画像群として生成してもよい。また、端末装置10は、各種の画像抽出技術を用いて、対象画像に含まれる撮影対象を抽出し、抽出した撮影対象以外の範囲を透過状態に変換して、対象画像の表示や重畳画像の生成を行ってもよい。
また、端末装置10は、クロマキーの技術を用いて背景を除外してもよい。例えば、情報提供装置100は、緑色等といった所定の色彩を背景とした撮影対象の画像を撮影し、撮影した画像から対象画像群を生成する。このような場合、端末装置10は、対象画像のうち第1の対象画像を、所定の色彩を透過させた状態で静止画像の前面に重ねた状態で表示する。すなわち、端末装置10は、対象画像から緑色等といった背景色を特定し、特定した背景色が設定された画素を透過領域に変換し、表示してもよい。
また、端末装置10は、カメラキャリブレーションの技術に基づいて、所定の対象を異なる視点から撮影した複数の画像から、所定の対象を含む範囲をそれぞれ抽出した抽出画像を生成する。そして、端末装置10は、抽出画像のうちいずれかの対象画像を静止画像の一部に重ねて表示させ、静止画像に重ねられた抽出画像を、視点が異なる他の抽出画像に変更してもよい。例えば、端末装置10は、カメラキャリブレーションの技術を用いて、各対象画像から撮影対象が含まれる部分を特定し、特定した部分のみを抽出した抽出画像を静止画像に重ねて表示してもよい。また、端末装置10は、所定の色彩を背景とした撮影対象の画像から生成された対象画像に対し、カメラキャリブレーションの技術と、クロマキーの技術とを併用することで、より精度よく撮影対象が含まれる範囲を特定し、特定した範囲を抽出画像として表示してもよい。
〔5.実行主体について〕
なお、上記では端末装置10が第1表示処理や第2表示処理を実行したが、実施形態は、これに限定されるものではない。例えば、上述した第1表示処理や第2表示処理は、情報提供装置100等、重畳画像を表示する装置以外の装置により実現されてもよい。例えば、情報提供装置100は、端末装置10が撮影した動画像を取得し、取得した動画像の各フレームごとに上述した第1表示処理を実行することで重畳画像を生成し、生成した重畳画像を端末装置10に配信して表示させてもよい。また、情報提供装置100は、静止画像と対象画像群とを端末装置10に配信し、上述した第2表示処理を実行させてもよい。
このような場合、情報提供装置100は、端末装置10に対して上述した各種の処理を実行させるための制御情報を配信する。このような制御情報は、例えば、背景となる静止画像や動画像、対象画像群と共に配信されるJavaScript(登録商標)やCSS(Cascading Style Sheets)、WebGL(Web Graphics Library)、HTTP(Hypertext Transfer Protocol)のcanvas等により実現されてもよい。
また、上述した制御情報は、各種の投稿情報や広告等を配信する配信サーバにより配信されてもよい。例えば、配信サーバは、背景となる静止画像と対象画像群と共に、上述した第2表示処理を実現するための制御情報を配信する。このような場合、端末装置10は、制御情報に従って、配信された静止画像に対象画像を配置して表示し、逐次表示する対象画像を変更することで、上述した第2表示処理を実現する。
〔6.機能構成の一例〕
以下、上記した各処理を実行するため、情報提供装置100および端末装置10が有する機能構成の一例について説明する。
〔6−1.情報提供装置が有する機能構成の一例〕
まず、図6を用いて、情報提供装置100が有する機能構成の一例について説明する。図6は、実施形態に係る情報提供装置の構成例を示す図である。図6に示すように、情報提供装置100は、通信部120、記憶部130、および制御部140を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置10やカメラCMとの間で情報の送受信を行う。
記憶部130は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部130は、対象画像群データベース131を記憶する。
対象画像群データベース131には、各種の対象画像群が登録される。例えば、図7は、実施形態に係る対象画像群データベースの一例を示す図である。図7に示す例では、対象画像群データベース131には、「対象画像群ID(Identifier)」、「対象画像ID」、「画像データ」、「位置情報」といった情報が登録される。なお、図7に示す情報以外にも、対象画像群データベース131には、対象画像群に関する任意の情報が登録されていてよい。
ここで、「対象画像群ID」とは、対象画像群を識別する識別子である。また、「対象画像ID」とは、対象画像に含まれる対象画像を識別する識別子である。また、「画像データ」、とは、対象画像のデータである。また、「位置情報」とは、対応付けられた対象画像を撮影した際の、撮影対象とカメラCMとの位置関係を示す情報である。
例えば、図7に示す例では、対象画像群データベース131には、対象画像群ID「ID#1」、対象画像ID「ID#1−1」、画像データ「画像データ#1−1」、および位置情報「位置#1−1」が対応付けて登録されている。このような情報は、対象画像群ID「ID#1」が示す対象画像群に、対象画像ID「ID#1−1」が示す対象画像が含まれており、その対象画像のデータが画像データ「画像データ#1−1」である旨を示す。また、このような情報は、対象画像ID「ID#1−1」が示す対象画像を撮影した際の撮影対象とカメラCMとの位置関係が位置情報「位置#1−1」が示す位置関係であった旨を示す。なお、図7に示す例では、「画像データ#1」、「位置#1−1」といった概念的な値を記載したが、実際には、各種形式の画像データや、位置関係を示す各種数値等が対象画像群データベース131に登録されることとなる。
図6に戻り、説明を続ける。制御部140は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報提供装置100内部の記憶装置に記憶されている各種プログラム(通知プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部140は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図6に示すように、制御部140は、受付部141、解析部142、生成部143、および提供部144を有する。受付部141は、カメラCMから撮影画像を受付ける。例えば、受付部141は、カメラCMが撮影位置、すなわち視点を変更しながら撮影した複数の画像を受付ける。
解析部142は、受付部141が受け付けた撮影画像の解析を行い、撮影対象の3次元情報を生成する。例えば、解析部142は、カメラCMのレンズ等に基づくパラメータを用いて、カメラキャリブレーションの技術により、撮影画像から撮影対象の3次元情報を生成する。そして、解析部142は、各撮影画像の3次元情報の共通性等に基づいて、撮影対象に対するカメラCMの位置や、各撮影画像のどの範囲に各撮影対象が含まれているかを解析する。
生成部143は、複数の撮影画像の解析結果に基づいて、所定の撮影対象が含まれる対象画像を生成する。例えば、生成部143は、各撮影画像に含まれる所定の撮影対象を特定し、特定した撮影対象を注視点とし、視点がそれぞれ異なる対象画像を生成する。例えば、生成部143は、表示サイズが同一であり、撮影対象のうち所定の位置を共通する注視点とし、かつ、視点がそれぞれ異なる対象画像を生成する。そして、生成部143は、生成した複数の対象画像を対象画像群として対象画像群データベース131に登録する。
ここで、生成部143は、撮影画像に複数の撮影対象が含まれる場合、撮影対象毎に異なる対象画像群を生成してもよい。例えば、図8は、実施形態に係る情報提供装置が対象画像群ごとに異なる対象画像群を生成する処理の一例を示す図である。例えば、図8に示す例では、カメラCMは、隣接する撮影対象PT1と撮影対象PT2とを視点を移動させたながら撮影している。このような場合、情報提供装置100は、撮影対象PT1と撮影対象PT2とを含む複数の撮影画像である撮影画像群を取得する。
このような場合、解析部142は、カメラキャリブレーションの技術を用いて、撮影画像群のうち、撮影対象PT1と撮影対象PT2とがそれぞれ含まれる範囲を推定することができる。そこで、生成部143は、解析部142の解析結果に基づいて、同一の撮影画像群から、撮影対象PT1が含まれる第1対象画像群と、撮影対象PT2が含まれる第2対象画像群とをそれぞれ生成する。
図6に戻り、説明を続ける。提供部144は、対象画像群を端末装置10に対して提供する。例えば、提供部144は、端末装置10からのリクエストに応じて、対象画像群データベース131に登録された対象画像群を端末装置10へと配信する。
〔6−2.端末装置が有する機能構成の一例〕
続いて、図9を用いて、端末装置10が有する機能構成の一例について説明する。図9は、実施形態に係る端末装置が有する機能構成の一例を説明する図である。図9に示すように、端末装置10は、通信部20、記憶部30、入力部40、出力部50、物理センサ60、カメラ70、および制御部80とを有する。
通信部20は、例えば、NIC等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、情報提供装置100との間で情報の送受信を行う。なお、通信部20は、各種のコンテンツを配信する配信サーバと通信可能であってもよい。
記憶部30は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、対象画像群31を記憶する。対象画像群31は、情報提供装置100により生成された対象画像群であり、端末装置10のリクエストにより情報提供装置100から配信された対象画像群のデータである。
入力部40は、利用者から各種操作を受け付ける入力装置である。例えば、入力部40は、キーボードやマウスや操作キー等によって実現される。出力部50は、各種情報を表示するための表示装置であり、すなわち、画面である。例えば、出力部50は、液晶ディスプレイ等によって実現される。なお、端末装置10にタッチパネルが採用される場合には、入力部40と出力部50とは一体化される。また、以下の説明では、出力部50を画面と記載する場合がある。
物理センサ60は、端末装置10の物理的な状態を検知するセンサである。例えば、物理センサ60は、端末装置10の3軸方向の傾きを測定するジャイロセンサである。なお、物理センサ60は、ジャイロセンサに限定されるものではなく、例えば、加速度センサ、温度センサ、音量センサ、明度センサ等、任意のセンサが適用可能である。
カメラ70は、画像(動画或いは静止画)を撮像するための撮像装置である。カメラ70は、例えば、CCD(Charged-coupled devices)センサやCMOS(Complementary metal-oxide-semiconductor)センサ等の撮像素子により構成される。なお、カメラ70は、端末装置10の背面側(画面が設置された面の反対側の面)に設置されるメインカメラと、端末装置10の背面側(画面が設置された面)に設置されるサブカメラとにより構成されていてもよい。
制御部80は、例えば、コントローラであり、CPUやMPU等によって、端末装置10内部の記憶装置に記憶されている各種プログラム(表示プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部80は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
図9に示す例では、制御部80は、第1アプリケーション81や第2アプリケーション82を実行することで、上述した第1表示処理や第2表示処理を実現するための機能構成を有することとなる。なお、制御部80は、例えば、端末装置10のOS(Operating System)となるアプリケーションや、各種操作の受付を実現するためのアプリケーション等、任意のアプリケーションを他にも実行していてよい。
〔6−3.第1アプリケーションが実現する機能構成の一例〕
第1アプリケーション81は、上述した第1表示処理を端末装置10に実行させる。例えば、図10は、実施形態に係る第1アプリケーションが実現する機能構成の一例を示す図である。図10に示すように、第1アプリケーション81は、第1撮影部811、第1推定部812、および第1表示部813を実現する。
第1撮影部811は、第1表示処理において対象画像を重畳する画像を撮影させる。例えば、第1撮影部811は、カメラ70を制御し、対象画像を重畳する動画像を撮影させる。そして、第1撮影部811は、撮影された動画像のデータから描画される各フレームの画像を第1推定部812へと逐次提供する。
第1推定部812は、撮影画像に撮影された撮影対象と、撮影画像を撮影した撮影装置との位置関係を推定する。例えば、第1推定部812は、撮影画像に撮影された複数の撮影対象のうち、所定の条件を満たす撮影対象と撮影装置との位置関係を推定する。より具体的には、第1推定部812は、所定の条件を満たす撮影対象として、所定の指標図形が配置された撮影対象、すなわちマーカTMを特定し、特定した撮影対象と撮影装置との位置関係を推定する。例えば、第1推定部812は、マーカTMに配置された指標図形の大きさや変形具合等に応じて、端末装置10とマーカTMとの間の位置関係を推定する。
ここで、第1推定部812は、マーカTMを基準とした端末装置10の各軸方向の位置やマーカTMと端末装置10との間の距離等を位置関係として推定する。例えば、第1推定部812は、位置関係として、マーカTMが構成する平面に対して水平な平面上の角度(すなわち、z軸回りの角度)を推定する。また、第1推定部812は、位置関係として、撮影装置と注視点とを結ぶ軸と軸との間の角度(すなわち、zy平面上の角度)を推定する。また、第1推定部812は、位置関係として、撮影装置と注視点とを結ぶ軸を中心とした角度(すなわち、視線軸回りの角度)を推定する。また、第1推定部812は、位置関係として、撮影対象と撮影装置との間の距離を推定する。
なお、第1推定部812は、マーカTM以外にも、所定の条件を満たす撮影対象を特定し、特定した撮影対象と端末装置10との間の位置関係を推定してもよい。例えば、第1推定部812は、カメラキャリブレーションの技術を用いて、撮影対象を特定し、特定した撮影対象のうち利用者により選択された撮影対象と端末装置10との間の位置関係を推定してもよい。また、第1推定部812は、平面を構成する撮影対象を特定し、特定した撮影対象と端末装置10との間の位置関係を推定してもよい。この際、第1推定部812は、撮影対象が構成する平面に対して垂直な軸をz軸とし、z軸回りの角度を推定してもよい。また、第1推定部812は、カメラキャリブレーションの技術を用いて、撮影対象と端末装置10との間の位置関係を推定してもよい。
第1表示部813は、所定の対象を異なる視点から撮影した複数の対象画像のうち、推定された位置関係と対応する視点から撮影された対象画像を、撮影画像内に配置して表示させる。例えば、第1表示部813は、撮影画像に撮影された撮影対象のうち、マーカTMが配置された領域を特定する。そして、第1表示部813は、対象画像群31のうち、第1推定部812により推定された位置関係と対応する対象画像を選択し、選択した対象画像をマーカTM上に配置した重畳画像を生成する。そして、第1表示部813は、生成した重畳画像を画面上に表示させる。
すなわち、第1表示部813は、推定された位置関係と対応する視点から撮影された対象画像を、撮影画像のうち所定の条件を満たす撮影対象と対応する位置に配置して表示させることとなる。例えば、第1表示部813は、所定の条件を満たす撮影対象の表面上に、所定の対象が配置されている態様で、所定の対象が撮影された対象画像を撮影画像内に配置して表示させる。より具体的には、第1表示部813は、撮影画像における撮影対象が構成する平面上に、対象画像の撮影対象が配置される態様で、対象画像を撮影画像内に配置して表示させる。
なお、第1表示部813は、推定された位置関係と対応する視点から撮影された対象画像を、位置関係と対応する表示態様で、撮影画像内に配置して表示させてもよい。例えば、第1表示部813は、マーカTMと端末装置10との間の距離に応じて、対象画像を表示する表示サイズを変更してもよい。なお、第1表示部813は、撮影画像のうち、マーカTMと対応する位置に撮影装置と対向する向きの仮想的な平面を設定し、設定した平面上に対象画像を配置して表示させてもよい。
また、第1表示部813は、カメラ70が撮影した動画像の各画像ごとに、第1推定部812により推定された位置関係と対応する対象画像を重畳して表示させることで、対象画像が重畳された動画像を表示させることとなる。また、第1表示部813は、対象画像群が動画像により構成される場合、動画像のうち推定された位置関係と対応する視点から撮影された対象画像を配置した画像を表示させてもよい。
〔6−4.第2アプリケーションが実現する機能構成の一例〕
第2アプリケーション82は、上述した第2表示処理を端末装置10に実行させる。例えば、図11は、実施形態に係る第2アプリケーションが実現する機能構成の一例を示す図である。図11に示すように、第2アプリケーション82は、第2撮影部821、特定部822、第2表示部823、および表示制御部824を実現する。
第2撮影部821は、第2表示処理において対象画像を重畳する画像を撮影させる。例えば、第2撮影部821は、カメラ70を制御し、対象画像を重畳する静止画像を撮影させる。
特定部822は、第2撮影部821によって撮影された静止画像に撮影された撮影対象のうち、所定の条件を満たす撮影対象を特定する。例えば、特定部822は、画像解析の技術を用いて、所定の指標図形が配置されたマーカTMを特定する。また、例えば、特定部822は、カメラキャリブレーションの技術を用いて、静止画像に撮影された撮影対象の3次元的な位置の解析を行い、平面を構成する撮影対象を特定してもよい。また、例えば、特定部822は、特定した撮影対象を利用者に提示し、提示された撮影対象のうち利用者が選択した撮影対象を特定してもよい。
第2表示部823は、静止画像の一部に、所定の対象を複数の視点から表示可能なコンテンツを重ねて表示させる。例えば、第2表示部823は、第2撮影部821が撮影した静止画像のうち、特定部822により特定された撮影対象が撮影されている位置に、所定の対象を複数の視点から表示可能なコンテンツを重ねて、画面上に表示させる。より具体的な例を挙げると、第2表示部823は、所定の対象を異なる視点から撮影した複数の対象画像、すなわち、対象画像群のうちいずれかの対象画像を静止画像の一部に重ねて表示させる。なお、第2表示部823は、対象画像群ではなく、視点を変更可能な3次元モデルを静止画像の一部に重ねて表示させてもよい。また、第2表示部823は、対象画像群として、それぞれ視点が異なる複数の動画像を取得していた場合、所定の対象を異なる視点から撮影した複数の動画像のうちいずれかの動画像を静止画像の一部に重ねて表示させてもよい。
なお、第2表示部823は、第1推定部812や第1表示部813と同様の処理を実行することにより、端末装置10と撮影対象との間の位置関係を推定し、対象画像群のうち、推定した位置関係と対応する視点から撮影された対象画像を静止画像の一部に重ねて表示してもよい。また、第2表示部823は、所定の対象が撮影対象が構成する平面上に配置される態様で、対象画像を撮影画像内に配置して表示させてもよい。
表示制御部824は、所定の条件が満たされた場合は、コンテンツにおける所定の対象に対する視点を変更する。例えば、表示制御部824は、コンテンツとして対象画像群のうちいずれかの対象画像が静止画像と重ねて表示されている場合、表示されている対象画像を視点が異なる他の対象画像に変更する。例えば、表示制御部824は、対象画像群の中から表示されている対象画像の視点と隣接する視点から撮影された対象画像を選択し、表示されてる対象画像を選択した対象画像に変更する。なお、表示制御部824は、動画王が静止画像と重ねて表示されている場合、表示されている動画像を、視点が異なる他の動画像に変更してもよい。また、表示制御部824は、3次元モデルが静止画像と重ねて表示されている場合、3次元モデルに対する視点を変更してもよい。
ここで、表示制御部824は、任意のタイミングで、コンテンツにおける視点を変更してもよい。例えば、表示制御部824は、利用者のスクロール操作やタップ操作に応じて、コンテンツにおける視点を変更させてもよい。また、表示制御部824は、静止画像とコンテンツとが表示された場合は、自動的に視点を変更させてもよい。
また、表示制御部824は、端末装置10の物理的な状態に応じて、コンテンツにおける所定の対象に対する視点を変更してもよい。例えば、表示制御部824は、物理センサ60が検出した端末装置10の傾きや動き等に応じて、コンテンツにおける視点を変更してもよい。例えば、表示制御部824は、端末装置10が移動した場合は、コンテンツにおける所定の対象に対する視点を、端末装置10が移動した方向と対応する方向に変更してもよい。
なお、第2表示部823および表示制御部824は、任意の態様で、上述した第2表示処理による画面表示を実現してよい。例えば、第2表示部823は、静止画像に各対象画像を重畳した重畳画像を対象画像ごとに生成し、生成した重畳画像のいずれかを表示させる。そして、表示制御部824は、利用者の操作や端末装置10の物理的な状態に応じて、生成された重畳画像を他の重畳画像に変更することで、表示される対象画像の切り替えを行ってもよい。
また、第2表示部823は、静止画像を画面上に表示させるとともに、静止画像の前面に対象画像のうちいずれかの対象画像を重ねた状態で表示させる。そして、表示制御部824は、静止画像を表示させたまま、静止画像と重ねて表示された対象画像を、異なる対象画像に変更することで、表示させる対象画像の切り替えを行ってもよい。
また、クロマキーの技術を用いる場合、第2表示部823は、静止画像を表示させるとともに、対象画像のうちいずれかの対象画像を、所定の色彩を透過させた状態で静止画像の前面に重ねた状態で表示させる。そして、表示制御部824は、表示されている第1の対象画像を、異なる第2対象画像に変更させるとともに、第2の対象画像のうち所定の色彩を透過させた状態で表示させてもよい。
また、第2表示部823は、カメラキャリブレーションの技術に基づいて、所定の対象を異なる視点から撮影した複数の画像から、所定の対象が撮影された範囲を抽出した抽出画像を生成する。そして、第2表示部823は、抽出画像のうちいずれかの抽出画像を静止画像の一部に重ねて表示させる。その後、表示制御部824は、表示された抽出画像を他の抽出画像に変更すればよい。
〔7.処理手順〕
次に、図12を用いて、実施形態に係る第1表示処理の手順の一例について説明する。図12は、実施形態に係る第1表示処理の流れの一例を示すフローチャートである。例えば、端末装置10は、撮影画像から所定の条件を満たす撮影対象を特定する(ステップS101)。そして、端末装置10は、所定の条件を満たす撮影対象と撮影装置との位置関係を推定する(ステップS102)。
続いて、端末装置10は、対象画像から、推定された位置関係と対応する視点の対象画像を選択し(ステップS103)、選択した対象画像を撮影対象と重ねて表示する(ステップS104)。その後、端末装置10は、新たな撮影画像を受付けたか否かを判定し(ステップS105)、受付けた場合は(ステップS105:Yes)、ステップS101を実行する。一方、端末装置10は、新たな撮影画像を受付けていない場合は(ステップS105:No)、処理を終了する。
次に、図13を用いて、実施形態に係る第2表示処理の手順の一例について説明する。図13は、実施形態に係る第2表示処理の流れの一例を示すフローチャートである。例えば、端末装置10は、撮影画像から所定の条件を満たす撮影対象を特定する(ステップS201)。そして、端末装置10は、特定した撮影対象に対象画像群のいずれかの画像を重ねて表示する(ステップS202)。
ここで、端末装置10は、操作を受付けたか否かを判定し(ステップS203)、操作を受付けていない場合は(ステップS203:No)、ステップS202を実行する。一方、端末装置10は、操作を受付けた場合は(ステップS203:Yes)、操作に応じて対象画像を視点が異なる対象画像に変更し(ステップS204)、処理を終了する。
〔8.変形例〕
上述した第1表示処理や第2表示処理は、上記実施形態以外にも種々の異なる形態にて実施されてもよい。そこで、以下では、第1表示処理や第2表示処理の他の実施形態について説明する。
〔8−1.対象画像や静止画像の配信について〕
第2表示処理の説明では、端末装置10が撮影した動画像や静止画像に対象画像や3Dモデルを配置して表示する処理の一例について記載した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置100は、広告等を構成する任意の静止画像と対象画像群とを端末装置10に配信し、静止画像上に対象画像群のいずれかを配置して表示させてもよい。また、このような配信は、ホームページや広告等、各種のコンテンツを配信する配信装置により実現されてもよい。
また、情報提供装置100は、配信対象となる対象画像群の指定を受付けてもよい。例えば、情報提供装置100は、端末装置10により撮影された動画像の解析により、それぞれ異なる撮影対象を注視点とする複数の対象画像群を生成する。そして、情報提供装置100は、各対象画像群のサムネイルを端末装置10を介して利用者に提示する。その後、情報提供装置100は、利用者が選択したサムネイルと対応する対象画像群を配信対象としてもよい。
なお、端末装置10は、第1表示処理によって表示された重畳画像からなるARコンテンツをSNS等に投稿可能としてもよい。このような場合、SNS等にアクセスしたPCやスマートデバイス等の情報表示装置は、重畳画像を逐次表示することで、第1表示処理において表示された各重畳画像を動画像として表示することとなる。また、端末装置10は、第2表示処理によって表示される重畳画像、若しくは、静止画像と対象画像群と制御情報とからなるARコンテンツをSNS等に投稿可能としてもよい。このような場合、情報表示装置は、制御情報に従って、静止画像上に対象画像群のうちいずれかたの対象画像を重ねて表示し、その後、対象画像を順次切り替えることで、ARコンテンツの表示を実現することとなる。
〔8−2.対象画像群の生成について〕
上述した説明では、情報提供装置100は、あるカメラCMが撮影した複数の撮影画像群から対象画像群を生成した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置100は、それぞれ異なる複数のカメラCM(例えば、それぞれ異なるスマートフォンが有するカメラ)により撮影された複数の撮影画像群から、各カメラに対応するパラメータを用いて、カメラキャリブレーションの技術により、対象画像群の生成を行ってもよい。このような処理により、情報提供装置100は、例えば、それぞれ異なる利用者が撮影したアイドルの撮影画像群から、対象画像群を生成することができる。なお、情報提供装置100は、それぞれ撮影された日時が異なる複数の撮影画像群から、対象画像群の生成を行ってもよい。また、情報提供装置100は、このような対象画像群の生成において、各種の色彩補正や表示サイズの補正、撮影対象の像の補間等を実行してもよい。
〔8−3.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔8−4.プログラム〕
また、上述した実施形態に係る端末装置10や情報提供装置100は、例えば図14に示すような構成のコンピュータ1000によって実現される。図14は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が端末装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部80の機能を実現する。
〔9.効果〕
上述してきたように、端末装置10は、撮影画像に撮影された撮影対象と、その撮影画像を撮影した撮影装置との位置関係を推定する。そして、端末装置10は、所定の対象を異なる視点から撮影した複数の対象画像のうち、推定された位置関係と対応する視点から撮影された対象画像を、撮影画像内に配置して表示させる。このような処理の結果、端末装置10は、撮影位置に応じた視点から撮影された所定の対象を撮影画像と重ねて表示することができるので、3Dモデルを用いずとも、ARコンテンツの表示を実現できる。この結果、端末装置10は、処理負荷を軽減する結果、ARのコンテンツを容易に提供することができる。
また、端末装置10は、撮影画像に撮影された複数の撮影対象のうち、所定の条件を満たす撮影対象と撮影装置との位置関係を推定し、推定された位置関係と対応する視点から撮影された対象画像を、撮影画像のうち所定の条件を満たす撮影対象と対応する位置に配置して表示させる。例えば、端末装置10は、所定の条件を満たす撮影対象として、所定の指標図形が配置された撮影対象を特定し、特定した撮影対象と撮影装置との位置関係を推定する。このような処理の結果、例えば、端末装置10は、マーカTM上に所定の対象が乗っているといった態様のARコンテンツの表示を実現できる。
なお、端末装置10は、複数の撮影対象のうち、利用者により選択された撮影対象と撮影装置との位置関係を推定してもよい。また、端末装置10は、所定の条件を満たす撮影対象として、平面を構成する撮影対象を特定し、特定した撮影対象と撮影装置との位置関係を推定してもよい。そして、端末装置10は、所定の対象が撮影対象が構成する平面上に配置される態様で、対象画像を撮影画像内に配置して表示させる。すなわち、端末装置10は、所定の条件を満たす撮影対象の表面上に、所定の対象が配置されている態様で、その所定の対象が撮影された対象画像を撮影画像内に配置して表示させる。このような処理の結果、端末装置10は、撮影対象上に所定の対象があたかも乗っているといった態様のARコンテンツを表示できる。
また、端末装置10は、撮影対象を貫く軸を設定し、設定した軸と撮影装置との位置関係を推定する。また、端末装置10は、撮影対象が有する平面に対して垂直な軸を設定し、設定した軸と撮影装置との位置関係を推定する。また、端末装置10は、位置関係として、軸に対して水平な平面上の角度を推定する。また、端末装置10は、位置関係として、撮影装置と注視点とを結ぶ軸と軸との間の角度を推定する。また、端末装置10は、位置関係として、撮影装置と注視点とを結ぶ軸を中心とした角度を推定する。また、端末装置10は、位置関係として、撮影対象と撮影装置との間の距離を推定する。そして、端末装置10は、推定された位置関係と対応する視点から撮影された対象画像を、その位置関係と対応する表示態様で、撮影画像内に配置して表示させる。このような処理の結果、端末装置10は、撮影対象と撮影装置との間の位置関係を、表示する対象画像における視点と撮影対象との位置関係に反映させることができるので、より適切なARコンテンツを表示させることができる。
また、端末装置10は、カメラキャリブレーションの技術を用いて、撮影画像に撮影された撮影対象と、撮影装置との3次元的な位置関係を推定する。このため、端末装置10は、より適切に位置関係の推定を実現できる。
また、端末装置10は、撮影画像のうち、撮影対象と対応する位置に撮影装置と対向する向きの仮想的な平面を設定し、設定した平面上に対象画像を配置して表示させる。このため、端末装置10は、対象画像を用いたARコンテンツを実現することができる。
また、端末装置10は、撮影された動画像に含まれる撮影画像ごとに、位置関係を推定し、動画像に含まれる撮影画像ごとに、推定された位置関係と対応する視点から撮影された対象画像を配置した動画像を表示させる。このため、端末装置10は、例えば、端末装置10の移動(すなわち、視点の移動)に応じて、対応する対象画像を表示させ続けることができるので、ARコンテンツを適切に表示させることができる。
また、端末装置10は、所定の対象を異なる視点から撮影した複数の動画像のうち、推定された位置関係と対応する視点から撮影された動画像を、撮影画像内に配置して表示させる。このような場合、端末装置10は、撮影された撮影対象上で、所定の対象があたかも動いているといった態様のARコンテンツを表示させることができる。
また、端末装置10は、静止画像の一部に、所定の対象を複数の視点から表示可能なコンテンツを重ねて表示させ、所定の条件が満たされた場合は、コンテンツにおける所定の対象に対する視点を変更する。このような処理の結果、端末装置10は、ARコンテンツを容易に表示させることができる。
また、端末装置10は、静止画像に撮影された撮影対象のうち、所定の条件を満たす撮影対象を特定し、特定された撮影対象とコンテンツとを重ねて表示させる。例えば、端末装置10は、所定の条件を満たす撮影対象として、所定の指標図形が配置された撮影対象を特定する。また、例えば、端末装置10は、静止画像に撮影された撮影対象のうち、利用者により選択された撮影対象を特定する。また、例えば、端末装置10は、所定の条件を満たす撮影対象として、平面を構成する撮影対象を特定する。そして、端末装置10は、所定の対象が撮影対象が構成する平面上に配置される態様で、コンテンツを撮影画像内に配置して表示させる。このような処理の結果、端末装置10は、撮影対象のうち一部の撮影対象に対する視点が動くといった態様のARコンテンツを提供することができる。
また、端末装置10は、コンテンツとして、所定の対象を異なる視点から撮影した複数の対象画像のうちいずれかの対象画像を静止画像の一部に重ねて表示させ、静止画像に重ねられた対象画像を、視点が異なる他の対象画像に変更する。このような処理の結果、端末装置10は、処理負荷をさらに軽減することができる。
また、端末装置10は、対象画像のうち第1の対象画像を静止画像に重ねた第1の重畳画像を生成し、生成した第1の重畳画像を表示させ、第1の対象画像とは異なる第2の対象画像を静止画像に重ねた第2の重畳画像を生成し、生成した第2の重畳画像を表示させる。また、端末装置10は、静止画像を表示させるとともに、その静止画像の前面に対象画像のうち第1の対象画像を重ねた状態で表示させ、第1の対象画像を、その第1の対象画像とは異なる第2の対象画像に変更させる。また、端末装置10は、静止画像を表示させるとともに、対象画像のうち第1の対象画像を、所定の色彩を透過させた状態で静止画像の前面に重ねた状態で表示させ、第1の対象画像を、その第1の対象画像とは異なる第2の対象画像に変更させるとともに、その第2の対象画像のうち所定の色彩を透過させた状態で表示させる。また、端末装置10は、カメラキャリブレーションの技術に基づいて、所定の対象を異なる視点から撮影した複数の画像から、その所定の対象が撮影された範囲をそれぞれ抽出した複数の抽出画像を生成し、生成された複数の抽出画像のうちいずれかの抽出画像を静止画像の一部に重ねて表示させ、静止画像に重ねられた抽出画像を、視点が異なる他の抽出画像に変更する。これらの処理の結果、端末装置10は、静止画像上で所定の対象が立体的に動いているといった態様のARコンテンツを実現できる。
また、端末装置10は、コンテンツとして、所定の対象を異なる視点から撮影した複数の動画像のうちいずれかの動画像を静止画像の一部に重ねて表示させ、静止画像に重ねられた動画像を、視点が異なる他の動画像に変更する。また、端末装置10は、コンテンツとして、視点を変更可能な3次元モデルを静止画像の一部に重ねて表示させ、3次元モデルに対する視点を変更してもよい。このような処理の結果、端末装置10は、撮影対象のうち一部の撮影対象に対する視点が動くといった態様のARコンテンツを提供することができる。
また、端末装置10は、静止画像とコンテンツとを重ねて表示する端末装置の物理的な状態に応じて、コンテンツにおける所定の対象に対する視点を変更する。また、端末装置10は、端末装置が移動した場合は、コンテンツにおける所定の対象に対する視点を、その端末装置が移動した方向と対応する方向に変更する。また、端末装置10は、利用者の操作に応じて、コンテンツにおける所定の対象に対する視点を変更する。このような処理の結果、端末装置10は、利用者の操作や端末装置10の位置等といった様々な条件に応じて表示態様を変化させるARコンテンツを実現できる。
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。