JP5891426B2 - 全周囲立体画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム - Google Patents

全周囲立体画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム Download PDF

Info

Publication number
JP5891426B2
JP5891426B2 JP2012542263A JP2012542263A JP5891426B2 JP 5891426 B2 JP5891426 B2 JP 5891426B2 JP 2012542263 A JP2012542263 A JP 2012542263A JP 2012542263 A JP2012542263 A JP 2012542263A JP 5891426 B2 JP5891426 B2 JP 5891426B2
Authority
JP
Japan
Prior art keywords
image
image data
pixel
depth
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012542263A
Other languages
English (en)
Other versions
JPWO2012132234A1 (ja
Inventor
田中 敬一
敬一 田中
朋子 片山
朋子 片山
山地 治
治 山地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2012132234A1 publication Critical patent/JPWO2012132234A1/ja
Application granted granted Critical
Publication of JP5891426B2 publication Critical patent/JP5891426B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

本発明は、全周囲画像の描画技術に関するものである。
上記全周囲画像の描画技術は、ストリートビューサービスの基盤となる技術である。ストリートビューサービスとは、様々な道路上の地点で撮影したパノラマ画像をサーバ上で管理し、ユーザは任意地点の道路上からの風景を、WEBブラウザ等を通じて360度の全周囲パノラマ画像で楽しむことが出来るサービスである。このストリートビューサービスにより、旅先の周辺状況の事前確認や、旅行後の思い出をもう一度振り返りたい場合等において、固定視点ではなく任意視点で風景を見ることができるため、ユーザの使い勝手が向上するというメリットがある。ストリートビューについての先行技術としては、以下の特許文献に記載されている技術がある。
特表2010-531007
しかしながら、前述のストリートビューサービスはパノラマ画像を確認できるとはいうものの、表示される映像は平面視映像となっている。近年、大画面3Dテレビが普及しつつある中で、パノラマ画像を平面視でしか見れないとなると、サービスが見劣りするのは明らかである。
ただし、ストリートビューも3D立体視サービスに対応するために、立体視カメラで再度、世界中の道路を撮影するとなると、膨大な時間と労力がかかる上、せっかく撮り溜めた平面視画像のストリートビューが無駄に終わってしまう。そこで考えられるのは、平面視−立体視変換により、既存の平面視ストリートビューを立体視化するという考えである。このような平面視-立体視化には、以下のような技術的障壁が存在する。上述したようなレンダリングは、通常一枚のメルカトル画像として撮影されるものではなく、縦4×横7といった数の複数の背景画像を結合することで作成される。このように、複数の背景画像を結合することで360度パノラマ画像を得て、立体視化の対象にしようとすると、360度パノラマ画像を構成する個々の画像について、デプス画像に基づくデプスイメージベースドレンダリングを実行する必要がある。デプスイメージベースドレンダリングとは、デプス画像に示される奥行きをもたらすよう、画像の各画素の座標を水平方向にシフトする技術である。ここで、360度パノラマ画像を構成する個々の画像に対して、デプス画像に基づくシフトを行うと、個々の画像のうち端部に存在するものの一部が、画像の表示領域外になる。そうすると、360度パノラマ画像を構成する個々の画像の境界にあたる部分の画素が消失することになり、空白の縦筋が存在するような360度パノラマ画像が得られる。
これは表示の品位を大きく低下させる。立体視化の対象とする映像を、メルカトル画像とする場合、画像間の結合境界は存在しないから、空白の縦筋が発生することはない。しかし、複数の画像を結合することで得られたメルカトル画像に対しデプスイメージベースドレンダリングを施すとなると、メルカトル画像を一時的に格納しておくためのメモリ規模が多大なものになり、製品の低価格化を妨げるという問題がある。またメルカトル画像は、本来球体モデルへの貼付けを意図したものだから、貼付け状態において、画像の一方の端部と、他方の端部とが向かい合うことになり、境界が発生する。この場合、デプスイメージベースドレンダリングを行うことで境界が画素のない空白部分となり、表示の品位を低下させる。
以上のように平面視画像とデプス画像からステレオ画像を生成する場合、ステレオ画像生成の過程で発生する画像両端での画素シフトにより、個々の画像同士のシームレス性が失われ、結果として画像同士の境界上は不自然な形で表示されるという課題がある。
本発明の目的は、立体視再生時において、画素の空白部分を生じさせることがない画像描画装置を提供することである。
背景画像がストリートビューであるとの仮定下で技術的課題を提示したが、この仮定は、上記技術的課題を説明するにあたって、身近な題材を選んだに過ぎず、本願で対象としている技術的課題は、背景画像が上記のストリートビューの例であるケースに限定されない。何等かの画像を複数結合して立体視の対象とする際の視覚上の不整合解消全般が、本願の技術的課題であり、近い将来において、上記技術を工業製品の分野で実用化しようとする際、当業者が必ず直面する技術的障壁である。
かかる課題を解決することができる画像描画装置は、結合画像データについての立体視を実現する画像描画装置であって、
前記結合画像データは、複数の背景画像データが横方向に結合したものであり、
結合画像データを構成する個々の背景画像データに対して画素シフトを施すと共に、当該画素シフトに伴う境界処理を施すことで、2以上の視点テクスチャを得る画素シフト手段と、
三次元モデリング空間における立体モデルの内側表面に、2以上の視点テクスチャをマッピングするテクスチャマッピング手段と、
テクスチャマッピングがなされた立体モデルから、2以上の視点のそれぞれに対応するビューポート画像を抽出するビューポート変換手段とを備え、
前記画素シフトは、
個々の背景画像データを構成する画素の座標を横方向に移動させる処理であり、画素の移動量は、結合画像データに対応するデプス画像データにおける画素の奥行き値に基づき定められ、
前記境界処理は、
横方向への画素座標の移動によって個々の背景画像データの表示範囲からはみ出すことになる画素群を抽出して、抽出されたはみ出し画素群を、結合画像データにおいて横方向に隣接する他の背景画像データの端部に書き込む処理であることを特徴とする。
本発明によれば、シフトにより領域外となった画素を、隣接する画像のシフト方向とは反対側の端部に追加するので、シフトにより領域外になった画素群が消失することはない。画像の境界における画素消失がなくなるため、画像を横方向に結合した場合の一体感がまし、リアルな360度パノラマ画像を実現することができる。また、画像を球体に貼付ける場合において、その結合体の一方の端部に存在する画像と、反対側の端部に存在する画像とが隣り合うことになる。この場合、一方の端部に存在する画像をシフトすることで領域外となった画素は、反対側の端部に追加されることになるから、これらの複数の画像の結合体を球体モデルに貼付ける場合であっても、シフトで領域外となった画素が消失することにはならない。これにより画像の一体感が増す。
例えば縦4×横7の背景画像を結合した全周囲画像をシフトするにあたって、縦4×横7の画像全体をメモリに格納する必要はないから、省メモリ化の実現が可能になる。
任意的であるが前記画像描画装置は、
表示領域バッファと、領域外バッファと、画素シフトの処理がなされた処理済みの背景画像データを格納しておくためのテクスチャメモリとを備え、
前記画素シフトは、
前記結合画像データを構成する複数の背景画像データのうち、処理対象になるものを表示領域バッファに格納して、表示領域バッファ上で背景画像データを構成する画素の座標を横方向に移動させると共に、背景画像データの表示範囲から画素がはみ出た画素群を抽出して領域外バッファに書き込むことでなされ、
前記境界処理は、
領域外バッファからはみだし画素群を読み出して、テクスチャメモリに格納された処理済み背景画像データにおける一方の端部に書き込むことでなされてもよい。シフトのための表示領域バッファの規模は、結合画像全体のものではなく、1つの背景画像データを格納しうる容量で足りる。画素シフトに必要なメモリの実装量は最低限になるから、画像描画装置をデジタル家電に搭載するにあたってのコスト高騰を危惧する必要はない。
任意的であるが、前記結合画像データが、1つのメルカトル画像データの一方の端部と、他方の端部とを結合することで得られる結合メルカトル画像データである場合、
前記境界処理は、
結合メルカトル画像データにおける各画素がデプス画像データを元にシフトされることにより、メルカトル画像の表示範囲からはみ出すことになる画素群を抽出して、抽出されたはみ出し画素群を、抽出された端部とは逆側の端部に上書きしてもよい。一枚のメルカトル画像を球体モデルの内側表面に貼付ける場合において、その画像の一方の端部は、自身の反対側の端部と隣り合うことになる。この場合、シフトで領域外になった画素を、シフト方向とは反対側の端部に追加することで、一体感がある画像が球体モデルに貼付けられることになり、空白部分の発生を回避することができる。
任意的であるが、前記画像描画装置は、ユーザ操作に従って、地図上のカレント視点位置と、カレント視線方向とを判定する位置方向判定手段と、
地図上のカレント視点位置に対応する地理的情報を用いて画像取得要求を作成し、画像収集サーバに送信することでストリートビューファイルのダウンロードを行う取得手段とを備え、
画像収集サーバからダウンロードされたストリートビューファイルは 画像取得要求に含まれる地理的情報と合致する撮影地属性を有し、
前記結合画像データは、ダウンロードされたストリートビューファイル内に存在してもよい。背景画像は、地球上の地理的情報を用いた画像取得要求に応じて送信されるので、ユーザは家屋の中に居ながら、世界中の好きな場所の光景をサーバからダウンロードしてこれを自分の写真に合成させることができる。かかるサービスにより世界中を旅行したような仮想体験をユーザに経験させることができる。
任意的であるが、前記結合画像データは視点周囲画像であり、複数の背景画像データを横方向に結合させることで画像取得要求における地理的情報に対応する地理的位置から周囲を見渡した場合の光景を表してもよい。写真ファイルに存在する地理的情報をキーワードとして背景画像の検索をサーバに行わせ、所望のストリートビューファイルを取得するので、画像描画装置がデジタルテレビに組み込まれる場合、デジタルテレビと、立体視カメラとを連携させた新規なサービスが可能になる。これにより、デジタルテレビと、立体視カメラとをセットで販売する場合に、競合商品との差別化が可能になる。
任意的であるが、前記結合画像データは視点周囲画像であり、複数の背景画像データを横方向に結合させることで画像取得要求における地理的情報に対応する地理的位置から周囲を見渡した場合の光景を表してもよい。ユーザは、視点周辺画像に現れる範囲で、自由に視線を変化させることができ、追体験機能の充実化を図ることができる。
立体視グローバルビュー検索サービスの全体構成を示す。 ストリートビューの対象となる仮想空間を模式的に示す図である。 複数の背景画像が横並びに貼りつけられた球面モデルの内側表面を表す。 三次元モデリング空間において立体視再生時に作成される2つの球面モデルを示す。 球体の内側表面に貼りつけられた背景画像から多視点画像を作成する過程を示す。 左シフト後の全周囲画像、右シフト後の全周囲画像が貼りつけられた状態の球面モデルを示す。 左目用テクスチャ、右目用テクスチャの配置を示す。 前景画像と、背景画像との合成を示す。 追体験映像の一例を示す。 ストリートビューナビの画面構成の一例を示す。 実施の形態1における描画装置の入出力形態の一例を示す図である。 画像描画装置の使用形態の一例を示す図である。 画像描画装置の機能構成を示すブロック図である。 ネットワークインターフェース3、もしくは、ローカルストレージ4から取得される全周囲画像と対応するデプス画像の一例である。 デプス画像をベースにして、全周囲画像の各画素をシフトすることにより他視点からの画像を生成する過程を示す図である。 画像において座標(x,y)に存在する画素Pix(x,y)と、デプス画像において座標(x,y)に存在する画素depth(x,y)とを示す。 画素レベルのシフトにより、左目テクスチャ、右目テクスチャにおいてどのような視差がもたらされるかを示す。 全周囲画像メモリ13、デプス画像メモリ、左目テクスチャメモリ22、右目テクスチャメモリ23の内部構成と、画素シフト部18、表示領域バッファ19、領域外バッファ20との関係を示す。 デプス画像メモリ、全周囲画像メモリ13、左目テクスチャメモリ22間のデータフローを示す。 デプス画像メモリ、全周囲画像メモリ13、左目テクスチャメモリ22間のデータフローを示す。 左目テクスチャが形成されてゆく過程を示す。 右目テクスチャが形成されてゆく過程を示す。 右目テクスチャが形成されてゆく過程を示す。 全周囲画像の立体視化手順を示すフローチャートである。 水平360度ステレオ画像生成処理のフローチャートである。 DIBR処理だけに基づいて得られる右目用の全周囲画像と、画素シフト及び境界処理を行なって得られる右目用の全周囲画像との対比を示す図である。 実施の形態2における全周囲画像と、これに対応するデプス画像を示す図である。 実施の形態2における、画素シフト後の画像を補正し、ステレオ画像を生成する様子を示す図である。 テクスチャマッピング部28によるテクスチャマッピングを示す。 画像描画装置のハードウェア構成図である。 GPUの内部構成を示す図である。 球面モデルと、テクスチャとの対応付け、及び、テクスチャマッピングを実現するためのAPI呼出しの記述例である。
上記課題解決手段を具備した画像描画装置の発明は、ストリートビューを再生するためのデジタル家電機器として実施することができ、集積回路の発明は、当該デジタル家電機器に組込まれるシステムLSIとして実施することができる。画像描画方法の発明は、このデジタル家電機器で実現される時系列手順として実施することができる。画像描画プログラムの発明は、コンピュータ読み取り可能な非一時的記録媒体に記録され、デジタル家電機器にインストールされる実行形式プログラムとして実施することができる。画像描画装置の説明に先立ち、画像描画装置の使用環境である立体視グローバルビュー検索サービスの全体構成について説明する。
図1は、立体視グローバルビュー検索サービスの全体構成を示す。グローバルビュー収集サーバ1001は、世界中から収集された背景画像を、デプスデータ、地形データと対応付けて格納しているサーバであり、クライアント装置からの要求に応じて視点周囲画像を、デプス画像、地形データと共に送信する。背景画像は、専用の撮影車両の走向中に撮影されたものである。デプスデータは、その撮影時に取得したランドマークの奥行きを示す。 更に視点周囲画像とは、グローバルビュー収集サーバ1001に対して送信した画像取得要求における地理的情報に対応する地理的位置から周囲を見渡した場合の光景を表すものである。視点周囲画像は例えば90度、120度、180度、360度といった比較的広い視野を見渡せる画像であり、特に、360度の視野を見渡せる視点周囲画像をパノラマ画像または全周囲画像と称することもある。説明の便宜上、以降の説明において視点周囲画像は360度の視野を見渡せるパノラマ画像、つまり全周囲画像であると仮定する。この撮影車両は、複数のカメラを具備していて、複数のカメラで、車両が存在する場所を、縦4×横7の背景画像により表す。デプス画像は、デプスデータにおけるランドマークの奥行きを、画素の輝度によって表したものであり、背景画像の奥行きを表す。つまりデプス画像の個々の画素は、背景画像の個々の画素を奥行きを示す奥行き情報になる。
クライアント装置1002は、デジタルテレビ等、ネットワーク対応の家電機器であり、サーバに対してダウンロード要求mg1を送信し、全周囲画像mg2、デプス画像mg3を受信する。この全周囲画像を用いて、3Dストリートビューを実行する。かかるダウンロード要求は、緯度、経度、標高の情報を含み地球上の任意の場所の全周囲画像の送信を要求することができる。
眼鏡1003は、ユーザが立体視でのストリートビューの視聴を希望する場合に、ユーザによって着用される。ここでの立体視は、多視点画像群により実現されるものである。ここで多視点画像群とは、左目用画像、右目用画像、中央、右斜上画像、右斜下画像、左斜上画像、左斜下画像というように、2以上の視点に対応する視点画像によって立体視を実現する視点画像の集合体である。多視点画像群の全てのバリエーションについて説明を行うとすると説明が煩雑になるので、以降の説明において、多視点画像群は、必要最低限の視点画像の組み、つまり、左目画像、右目画像の組みからなるステレオ画像群であるとして進める。
図2は、ストリートビュー立体視システムを模式的に示す図である。本図の上半分はモデルが存在する仮想空間であり、下半分は、クライアント装置1002、眼鏡1003が存在する現実空間である。
まず仮想空間について説明する。仮想空間とは、立体モデルの幾何学形状を規定する三次元座標を配置するための座標系にて規定される三次元モデリング空間である。立体モデルの形状は問わない。円柱、円錐、三角錐、楕円体等、どのような形状の三次元モデルでもよいが、説明の便宜のため、以降の説明は、球面モデルとして説明を行う。立体モデルである球体の中心は、カメラの位置である。簡単のため、球面モデルは1つのみをえがいているが、立体視時には、左目用、右目用のそれぞれについての球面モデルが存在する。図中のカメラCLは、球面モデルの中心から右側にpだけ隔てた位置に配置されるカメラである。カメラCRは、球面モデルの中心から左側にpだけ隔てた位置に配置されるカメラである。これらカメラCL、CRは、左目撮影時、右目撮影行為時における球面モデルの中心位置になる。
この立体モデルの斜め上には、縦4×横7の背景画像を結合した全周囲画像が配置される。全周囲画像には、右目用の全周囲画像m1と、左目用の全周囲画像m2とがあり、右目用テクスチャと、左目用テクスチャとでは、三次元モデリング空間における配置位置が異なる。本図では、球面モデルの上半分のみを描いているが、実際は下半分も存在する。また全周囲画像についても、上半分のみを描いているが、実際は下半分も存在する。
次に球面モデルについて説明する。球体の内側表面には、右目用テクスチャの貼付け範囲m4、左目用テクスチャの貼付け範囲m5が存在する。球面モデルにおける貼付け範囲とは、球面モデルにおいて、4つ又は3つの交点にて規定されるグリッドのことである。かかるグリッドは、球面モデルの曲率を有し、球面モデルの極座標を頂点とした三角形ストリップの一部又は全部として定義される。テクスチャマッピングにあたっては、図形タイプを三角形ストリップとして、背景画像が格納されたテキストバッファ座標との対応付けをすることで、グラフィクス描画を実行する。テクスチャの手前には、表示面が存在し、この表示面にはビューポートmg6が定義される。ビューポートは、三次元モデリング空間のうち、表示に供される部分を規定するものである。このビューポートに投影される映像が、再生に供されることになる。ビューポートは、左目の投影範囲、右目の投影範囲が交差する場所に存在している。つまりビューポートは、左目用と、右目用とで共通の位置に配置される。
球面モデルの内側に貼付けられるテクスチャは全周囲画像であるから、360°の全周囲を見渡せることになる。三次元モデリング空間における球面モデルをメルカトル図形に展開すれば、全周囲画像になる。半球体における縦2×横7のグリッドの個数は、全周囲画像における縦2×横7の背景画像の個数と一致する。つまり全周囲画像における個々の背景画像をテクスチャに変換して、球面モデルの個々のグリッドに貼付けるというテクスチャマッピングを行う。
以上が仮想空間についての説明である。続いて、現実空間について説明する。
本図では、立体モデルである球体の真下にクライアント装置1002と、眼鏡1003を着用したユーザの顔とを描いている。クライアント装置1002の表示画面は、球面モデル内のビューポートの真下に存在する。また眼鏡1003は、カメラCL,CRの真下よりやや奥に存在する。これは、ユーザの右目、左目はカメラCL,CRの位置となるので、眼鏡1003はこれの近くに配置せねばならないからである。
上述したように、カメラCL、CRの位置がユーザの右目、左目に該当し、ビューポートがクライアント装置1002の画面に該当するから、クライアント装置1002と、ユーザとの間に立体視画像が出現する。仮想空間において、家屋は平面的に表現されていたが、現実空間において家屋は、クライアント装置1002の画面から飛出す形になっている。
図3は、球面内側に貼りつけられたテクスチャを、球面モデル中心から視聴した状態を示す。図3は、複数の背景画像が横並びに貼りつけられた球面モデルの内側表面を表す。図3では、正面には近代的な教会が配置され、右手側に滑り台が存在する。これらは球体の内側表面に貼りつけられたものであるから、断面円の中心にカメラを配置した場合、これを全周囲から取り囲むように背景画像が配置されることになる。この球面モデルに貼付けられたテクスチャは、地球上の緯度、経度、標高から定まる視点位置に伴い変化する。つまり画像描画装置は、視点位置の変更操作がユーザによってなされた場合、地球上の地理的情報(緯度、経度、標高等)から定まるカレント視点位置を更新して、更新後のカレント視点位置に合致した全周囲画像をダウンロードし、この全周囲画像を球面モデルに貼付けて、再描画を行う。
図2の球面モデルは、球面モデルの中心にカメラが存在していたが、これは平面視のためのカメラ位置であり、立体視のカメラ位置は異なる。立体視時には、球面モデル中心からpだけ隔てられた位置にカメラを配置することで球面モデルが2つ得られる。図4は、三次元モデリング空間において立体視再生時に作成される2つの球面モデルを示す。図4(a)は、左目用の球面モデルであり、横7枚の背景画像を横方向に結合した画像に対してDIBRを実行することで作成された左目用画像が内側に貼付けられている。
図4(b)は、(a)の画像に対してデプス画像をベースにしたデプスイメージベースドレンダリングを実行することで作成された右目用画像であり、横7枚の背景画像を横方向に結合した画像に対して、デプス画像をベースにしたデプスイメージベースドレンダリングを実行することで作成された右目用画像が内側に貼付けられている。
全周囲画像を構成する横7枚の画像を、画像A,B,C,D,E,F,Gとする。この画像A〜Gから右目用テクスチャ、左目用テクスチャをどのように作成するかについて説明する。図5は、この球体の内側表面に貼りつけられた背景画像から多視点画像を作成する過程を示す。(a)は、球体内側表面を分割することで得られた7つの分割領域に、全周囲画像を構成する横7枚の画像のうち、A、B、C、D、Eという5枚の背景画像をA→B→C→D→Eの順序で貼りつける一例を示す。図5(a)の画像A、画像B、画像C、画像D、画像Eについて説明する。画像AにおいてDIBRによるシフトで座標が変化する画素の集りを、AL、AM、ARとしている。画像BにおいてDIBRによるシフトで座標が変化する画素の集りを、BL、BM、BR、画像CにおいてDIBRによるシフトで座標が変化する画素の集りを、CL、CM、CRとしている。画像DにおいてDIBRによるシフトで座標が変化する画素の集りを、DL、DM、DR、画像EにおいてDIBRによるシフトで座標が変化する画素の集りを、EL、EM、ERとしている。これらの画素群は画像において"V"の形状をなしている。
左目用テクスチャの作成では、画像A〜Eを結合してDIBRを実行する。これにより左端部分の画素が、表示領域外になるから、図5(a)における画素集合BL,CL,DL,EL,FLを、隣接する画像である画像A,B,C,D,Eの右側の端部に追加する。この結果が、図5(b)である。図5(b)に示すように左目用テクスチャは、画素群AM,AR,BLを含む画像A(L)、画素群BM,BR,CLを含む画像B(L)、画素群CM,CR,DLからなる画像C(L)、画素群DM,DR.ELを含む画像D(L)、画素群EM,ER,FLを含む画像E(L)から構成されることになる。紙面上の都合から、図5では画像F、Gについては図示を省略しているが画像F、Gについても本図と同様の処理がなされる。
右目用テクスチャの作成では、画像A〜Eを結合してDIBRを実行する。これにより右端部分の画素が、表示領域外になるから、図5(a)における画素集合GR,AR,BR,CR,DRを、隣接する画像である画像A,B,C,D,Eの側の左側の端部に追加する。この結果が図5(c)である。図5(c)に示すように右目用テクスチャは、画素群GR,AL,Amを含む画像A(R)、画素群AR,BL,Bmを含む画像B(R)、画素群BR,CL,Cmからなる画像C(R)、画素群CR,DL,Dmを含む画像D(R)、画素群DR,EL,Emを含む画像E(R)から構成されることになる。
図6(a)は、図5(b)の左シフト後の画素が球面内側に貼りつけられた場合のテクスチャを示す。図6(b)は、図5(c)の右シフト後の画素が球面内側に貼りつけられた場合のテクスチャを示す。
図7(a)は、図1の三次元モデリング空間において、左目用テクスチャ、右目用テクスチャと、ビューポートとの関係を示す。図7(a)は、左目用テクスチャの配置である。本図において、左目用カメラの視線ベクトルの先に、左目用テクスチャが配置され、左目用テクスチャが球面モデル内側に貼付けられる。これによりビューポートに該当する部分が表示に供されることになる。図7(b)は、右目用テクスチャの配置である。本図において、右目用カメラの視線ベクトルの先に、右目用テクスチャが配置され、右目用テクスチャが球面モデル内側に貼付けられる。これによりビューポートに該当する部分が表示に供されることになる。
図8は、前景画像と、背景画像との合成を示す。(a)は、題材となる前景画像、これは近代的な教会を背にして新郎、新婦が向かい合っているという内容のスナップ写真である。この近代的な教会は、背景画像にも存在するので、教会の輪郭線形状は、前景画像及び背景画像の共通の特徴となる。図8(b)は、前景画像と、背景画像とのマッチングを示す。かかるマッチングにより、背景画像、前景画像の対応関係を示す変換行列ができるから、かかる行列に従い、前景画像のデプス画像を変換した上でDIBRを行えば背景画像と違和感がない合成画像が得られることになる。
この図8の合成を前提として、追体験が可能になる。図9は、画面合成の一例を示す。視線vw1は、眼鏡1003によって右目が遮光された場合の映像の入射を示す。視線vw2は、眼鏡1003によって左目が遮光された場合の映像の入射を示す。このvw1により左目画像が視聴されることになる。またvw2により右目画像が視聴されることになる。眼鏡1003を着用することによりユーザは、右目画像、左目画像を交互に視聴することになり、立体視画像が再生される。図9の画像は、変換行列に従いビューポートに得られた前景画像と、背景画像とを合成することで得られる立体視画像である。球面体内部に貼りつけられた複数の背景画像を背にして人物が表示されるので、臨場感が高い立体視映像が得られる。以上のように、写真のグローバル位置に合致した全周囲画像をサーバから取得すれば、その写真に合致した全周囲画像に写真を合成することができる。
またストリートビューには、UIオブジェクトを合成することができる。図10は、UIオブジェクトが合成されたストリートビューを示す。方向ナビuiは、カレントの視線方向を視覚的に表示する。インディケータir1,ir2は、カレントの視点位置が存在する地名(loss-Less City central park)や建造物の名称(CABAC church)を表す。十字ボタンbn2は、カレント視点位置を変更させる場合において、その進行方向の選択を受け付けるものである。ズームアップボタンbn3は、視点位置、視線方向をそのままにして、表示内容の拡大・縮小操作を受け付けるものである。アングルボタンbn4は、カレント視線方向の右旋回、左旋回の指定を受け付けるものである。これらのGUIは、リモコンのキーに割り当てられるので、リモコンに対する操作により、ストリートビューにおける移動、回転といった制御が可能になる。以上がグローバルビュー検索サービスについての説明である。
(実施の形態1)
実施の形態1は、結合背景画像を構成する個々の背景画像に対して画素シフトを施す際、この画素シフトによって生じる"はみだし画素"を好適に処理する改良に関する。
図11は、実施の形態1における画像描画装置の入出力形態の一例を示す図である。描画装置101は入力として、全周囲画像と対応するデプス画像(デプスマップ)を受け取り、左目用と右目用の画像出力を行う。出力される左目画像、右目画像は立体視対応ディスプレイにて同期して画面上に描画され、視聴者には立体画像として知覚される。
1地点からの全周囲画像は、縦4枚、横7枚の計28枚の部分画像から構成される。各部分画像1枚は縦512画素、横512画素の画素数を持つ。デプス画像(デプスマップ)は、立体空間における各画素の奥行きを示すものであり、色がより黒い部分が立体空間上、奥に位置する物体であり、色が白い部分が、立体空間上手前に存在していることを示している。
描画装置は、各部分画像毎にデプス画像を適用し、入力される部分画像数と同じく、それぞれ28枚の右目用画像と左目用画像を生成する。生成された右目用画像、左目用画像はそれぞれ球面上に貼り付けられ、3Dモデリング空間上、球体の中心から球面側を見た範囲を、左目用と右目用で同期して画面上に出力することで、全周囲の立体画像を表示する。
図12は、画像描画装置の使用形態の一例を示す図である。ユーザはリモコン102を用いて、視聴したい場所やアングルを指定し、立体視対応ディスプレイ103に出力される映像を、液晶シャッターメガネ104を通して視聴することで、任意地点・アングルの全周囲画像を立体的に知覚することができる。
立体視対応ディスプレイ103は描画装置101と接続されているか、もしくは描画装置101の機能を内蔵している。図12における使用形態の例では、立体視対応ディスプレイ103が描画装置101の機能を内蔵しており、立体視対応ディスプレイ103はインターネットを経由しサーバ105と接続されている。立体視対応ディスプレイ103は、ユーザが指定した場所に対応する全周囲画像とデプス画像をダウンロードし、右目用画像と左目用画像を生成し同期して画面上に表示する。
図13は、描画装置の機能構成を示すブロック図である。図13に示すように、描画装置101は、ユーザ操作検知部1、位置方向判定部2、ネットワークインターフェース3、ローカルストレージ4、描画制御部5、左目プレーンメモリ6、右目プレーンメモリ7、及び出力インターフェース8から構成される。
(ユーザ操作検知部1)
ユーザ操作検知部1は、ユーザのリモコン操作、キーボード操作、マウス操作などを検知し、対応する操作コード(上下左右キー押下、右クリック押下などのユーザ操作を示すコード)を位置方向判定部2に送る。
(位置方向判定部2)
位置方向判定部2は、ユーザ操作検知部1から受け取った操作コードを元に、地図上のどの位置の全周囲画像を、どの視点方向で見た画像を表示すべきかを判定する。地図上の位置はカレント視点位置であり、緯度と経度を含む地理的情報で特定される。また視点方向はカレント視線方向であり、水平角度と垂直角度で特定される。水平角度は北を0度とし時計回りに0度から360度の範囲で表現される。垂直角度は地平線を0度、真上が90度、真下が-90度として、-90度から90度の範囲で表現される。位置方向判定部2は、受け取った操作コードを元に、これら緯度、経度、水平角度、垂直角度を特定し、特定された値を描画制御部5へ渡す。
(ネットワークインターフェース3)
ネットワークインターフェース3は、要求送信部、応答受信部を具備している。要求送信部は、地球上のカレント視点位置を指定した画像取得要求をグローバルビュー収集サーバ1001に送信する。ここで要求送信部は、地図画像に対するユーザ操作がなされた場合、ユーザ操作で指定された位置に対応について地理的情報を用いてカレント視点位置を指定する画像取得要求を作成してグローバルビュー収集サーバ1001に送信する。応答受信部は、画像取得要求に対する応答として、グローバルビュー収集サーバ1001から送信されてくる立体ストリートビュー視点ファイルを受信する。グローバルビュー収集サーバ1001から送信されてくる立体ストリートビュー視点ファイルは 画像取得要求に含まれる地理的情報と合致するさ8位置属性を有している。
ダウンロードされたストリートビューファイルには全周囲画像及びデプス画像が存在する。ストリートビューファイルは、一旦立体画像描画装置内のローカルストレージ4に格納される。これらを直ちに表示する場合、ローカルストレージ4には格納せず装置内のメモリ上にダウンロードされた全周囲画像をそのまま画像取得部に渡す。
(ローカルストレージ4)
ローカルストレージ4は、ハードディスクドライブ(HDD)、USBメモリ、SDメモリーカードなど、描画装置に取り付けられている記録媒体である。サーバからダウンロードしたストリートビューファイルをキャッシュしたり、サーバ以外の外部機器で作成したストリートビューファイルを描画装置で利用するなどの用途に用いられる。ローカルストレージ4の理解を高めるため、その格納内容であるストリートビューファイルについて説明する。ストリートビューファイルとは、地球上の任意の地点での視点を再現するファイルであり、地球上のその視点における撮影地属性に、全周囲画像である圧縮メルカトル画像と、対応するデプス画像である圧縮メルカトルデプスと、撮影日時、データサイズを対応付けたファイルである。ここでの撮影地属性とは、緯度、経度、標高、方角、傾斜である。ストリートビューファイルは、立体写真ファイルと共通のデータ構造をもっているので、ある視点位置に最適なストリートビューファイルを検索する際、データベースに存在するストリートビューファイルのうち、撮影地属性として同一の緯度、経度、標高をもつものサーチすれば、ユーザが希望するストリートビューファイルを早期に発見することができる。以上がローカルストレージ4についての説明である。
(描画制御部5)
描画制御部5は、位置方向判定部2から指示された地図上の位置と、ネットワークインターフェース3もしくはローカルストレージ4から取得した全周囲画像及びデプス画像を元に、3Dモデリング空間で球面上に貼り付けられた全周囲画像を、右目用と左目用の2種類作成し、位置方向判定部2から指示された視点方向で球の中心から球面を見たときに表示されるべきビューポート画像を抽出し、抽出された左目ビューポート画像、右目ビューポート画像を、それぞれ左目プレーンメモリ6、右目プレーンメモリ7に出力する処理を行う。
(左目プレーンメモリ6)
左目プレーンメモリ6は、立体視表示において左目に対して提示すべき一枚の画像を格納するメモリである。
(右目プレーンメモリ7)
右目プレーンメモリ7は、立体視表示において右目に対して提示すべき一枚の画像を格納するメモリである。
(出力インターフェース8)
出力インターフェース8は、左目プレーンメモリ6、右目プレーンメモリ7に格納された画像を1フレームずつ同期して立体視対応ディスプレイ103へ出力する。具体的には120Hzで、左右のプレーンメモリから画像を交互に読み出し、左右それぞれ秒間60コマの映像をディスプレイ側へ送信する。視聴するユーザは液晶シャッターメガネ104を装着し、液晶シャッターが120Hzで交互に開閉を繰り返すことで、左目には左目用の秒間60コマの画像を、右目には左目用の秒間60コマの画像を見ることが出来るため、左右の画像の視差から奥行きを知覚することができる。
以上が画像描画装置の基本構成についての説明である。続いて、描画制御部5の内部構成について説明する。描画制御部5はさらに、全周囲画像取得部11、全周囲画像デコーダ12、全周囲画像メモリ13、デプス画像取得部14、デプス画像デコーダ15、デプス画像メモリ16、DIBR部17(画素シフト部18、表示領域バッファ19、領域外バッファ20、境界処理部21)、左目テクスチャバッファ22、右目テクスチャバッファ23、CG処理部24(モデリングデータ格納部25、頂点変換部26、照度計算部27、テクスチャマッピング部28、ビューポート変換部29)から構成される。
(全周囲画像取得部11)
全周囲画像取得部11は、位置方向判定部2から指示された地図上の位置(緯度と経度で特定)に対応する全周囲画像を、ネットワークインターフェース3を介してサーバ105からダウンロードするか、もしくはローカルストレージ4から画像の取得を行う。1地点からの全周囲画像は、縦4枚、横7枚の計28枚の部分画像から構成され、各画像1枚は縦512画素、横512画素の画素数を持つ。図15(a)は、全周囲画像の一例を示す。
(全周囲画像デコーダ12)
全周囲画像デコーダ12はJPEGデコーダであり、圧縮メルカトル画像802の展開を行い全周囲画像メモリ19に格納する。
(全周囲画像メモリ13)
全周囲画像メモリ13は、全周囲画像デコーダ12より展開されたメルカトル画像を格納するメモリである。
(デプス画像取得部14)
デプス画像取得部14は、全周囲画像取得部11が取得した全周囲画像に対応するデプス画像を、ローカルストレージ4に格納されたストリートビューファイルから取得する。
(デプス画像デコーダ15)
デプス画像デコーダ15は、PNGデコーダであり、立体ストリートビュー視点に含まれる圧縮メルカトルデプスの展開を行いデプス画像メモリ16に格納する。
(デプス画像メモリ16)
デプス画像メモリ16は、デプス画像デコーダ15より生成されたデプス画像を格納するメモリである。デプス画像は、立体空間における各画素の奥行きを示すものであり、各画素の奥行きを8ビットの輝度で表現している。輝度0(黒色)は、対応する画素が最も遠い位置にあることを示し、輝度255(白色)は、対応する画素が最も近い位置にあることを示す。つまり、全周囲画像がカラー画像として見えるのに対し、デプス画像は輝度のみで表現されたグレースケール画像として認識される。デプス画像を示すグレースケール画像も、全周囲画像と同様、1地点につき、縦4枚、横7枚の計28枚の部分画像から構成され、各画像1枚は縦512画素、横512画素の画素数(各画素は8ビットの輝度のみ保持)を持つ。
図14はネットワークインターフェース3もしくはローカルストレージ4から取得される全周囲画像と対応するデプス画像の一例である。全周囲画像の1画素に対し、それぞれ8ビット(256段階)のデプス画像が割り当てられている。奥行き値0が3D空間上で最も奥に位置することを示し、奥行き値255が3D空間上で最も手前に位置することを示している。これらの奥行き値は、8ビットの輝度として割り当てられ、デプス画像は図14に示すようにグレースケールの画像(デプスマップ)として表現される。
デプス画像における1画素が、それぞれベースとなる全周囲画像の1画素の奥行き値(デプス値)に対応している。例えば、デプスマップ画像上の座標(X=100,Y=100)の画素の輝度が50であった場合、対応する全周囲画像の座標P(X=100,Y=100)の画素は奥行き値50であることを示し、デプスマップ画像上の座標(X=200,Y=200)の画素の輝度が100であった場合、対応する全周囲画像の座標Q(X=200,Y=200)の画素は奥行き値100であることを示す。
すなわち、全周囲画像の座標P(X=100,Y=100)は奥行き値50、全周囲画像の座標Q(X=200,Y=200)は奥行き値100であるから、座標Pの方が座標Qより、3D空間上で奥に位置することになる。
<DIBR部17>
DIBR部17は、全周囲画像取得部11からベースの左目用全周囲画像を、デプス画像取得部14からベース画像に対応するデプス画像を取得し、DIBR処理を行い、右目画像を生成する。DIBR(Depth Image Based Rendering、もしくはDepth Image Based Representations)とは、デプス画像(デプスマップ)を元に、ベース画像から各画素を左右にシフトして他視点からの視点画像を生み出す処理のことである。ベースの全周囲画像を左目用に割り当てる場合、生成される他視点からの視点画像(すなわち右目用の画像)上の画素は、ベースの画素に対し右にシフトすれば、3D空間上で奥側に移動し、ベースの画素に対し左にシフトすれば、3D空間上で手前に移動することになる。これは、いわゆる人間の目の輻輳角の差によって生み出される立体知覚によるものであり、ベースの左目画像に対し、右目画像上の画素を左にシフトすると輻輳角が小さくなり、いわゆる寄り目状態となるため、その画素で表現される物体が手前に位置するように知覚される。反対に、ベースの左目画像に対し、右目画像上の画素を右にシフトすると輻輳角が大きくなり、その画素で表現される物体が奥に位置するように知覚される。よって、デプス画像で示される各画素の奥行き値に応じ、ベースの左目画像の各画素を左右にシフトすれば、対応する立体視可能な右目画像を生成することができる。
ただし、DIBR処理に基づいて生成される右目画像はまだ不完全である。画像中央付近でシフトされる画素については問題ないが、画像の両端部にてシフトされる画素については、画素の座標やシフト量によっては、シフト後の画素が画像領域外の位置となる場合がある。また、画像の端部で、中心方向にシフトする場合、シフト前の位置を埋める画素が欠けてしまうという問題も発生する。
これらの問題について、図15を用いて具体的に説明する。図15は、ベースの全周囲画像の各画素を、デプス画像を元にシフトして他視点からの視点画像を生成する様子を示す図である。
この図15の一例では、最も単純な対応付けとして、シフト量0となる基準値を、奥行き値0とし、奥行き値が大きくなるにつれて、より多く左へシフトすることとする。ここでは、便宜上、奥行き値が1増加することに、左へのシフト量を1ずつ増やすこととする。つまり、奥行き値0の画素はシフトなし、奥行き値50の画素は左方向へ50ピクセル分のシフト行うことになる
図15(a)の左上に存在する画像は、複数の背景画像が結合した全周囲画像である。この画像には、左端部に雲が、右端部には隣の画像にまたがる形で家が描かれている。図15(a)の右上に存在する画像は、対応するデプス画像である。このデプス画像には、空を表現している背景に相当している部分が最も奥(奥行き値0)に位置しており、空より手前に雲、家が位置していることを示している。図15(a)では、雲の奥行き値が50、家の奥行き値が100とする。DIBR処理においては、まずシフト量0となる基準値を決め、そこから、奥行き値に応じてシフト量を決めるものとする。
図15では、空にあたる部分は奥行き値0であるため、シフトは行わない。一方、雲に関しては奥行き値が1以上のため、画素シフトを行う。ビルは奥行き値が50であるため、雲を構成している画素を左方向へ50ピクセル分シフトする。ビルに関しては奥行き値100であるため、ビルを構成している画素は左方向に100ピクセル分シフトする。全周囲画像を構成する個々の画像に対して画素シフトを行った結果が図5(b)の画像である。雲は元々の位置が左端部付近であったため、シフト後の結果が表示領域からはみ出した位置となっている。一方、家に関しては、右端部に位置し、隣の画像とまたがって描かれているため、左方向へシフトした後は、本来あるべき画素が隣の画像にあるため、シフトによる余白が発生し、一部が欠けた状態となっている。雲の左端、家の真ん中部分、山の真ん中部分を構成する画素がそれぞれはみ出し画素になっていることがわかる。そこでDIBR部17は、境界処理部21を具備することにより、シフトによる余白を補完する処理を行う。図15(c)は、その補完結果である。図15(b)に示したシフトによる余白は、隣接する画像のはみだし画素を用いて上書きされている。
(画素シフト部18)
画素シフト部18は、全周囲画像メモリ13から横512×縦512の画素からなる画像データを取り出し、また、全周囲画像メモリ16から横512×縦512の画素からなるデプスデータを取り出して、この横512×縦512のデプスデータをベースにして横512×縦512の画素の集りに対する画素シフトを実行する。画素シフトを実行するにあたって、どのような視差を各画素に設定するかを述べる。デプス画像の座標(x,y)に存在する画素において、視点からの奥行きがDepth(x,y)である場合、デプス画像において座標(x,y)に存在する輝度Y(x,y)から奥行きDepth(x,y)への変換は、例えば、以下の数式に基づいてすることができる。

(数式)
Y(x,y)=255-(log(Depth(x,y)+1)×100)

こうして求めた奥行きDepth(x,y)を、ディスプレイの画面サイズに応じた画素数offset(x,y)に変換することで画素の輝度を適切な視差に変換することができる。
DIBRでは、画像を構成する複数の画素のうち、任意の座標(x,y)に位置するものの座標を水平方向に移動するにあたって、対応するデプス画像において座標(x,y)に存在する画素の輝度Y(x,y)によって導かれる奥行きDepth(x,y)から、その座標(x,y)に固有のoffset(Depth(x,y),y)を求めて、このoffset(Depth(x,y),y)を移動量として使用することで他視点からの視点画像を得る。図16(a)は、デプス画像において座標(x,y)に存在する画素の奥行きDepth(x,y)を示す。Depth(x,y)は、図16(b)におけるPix(x,y)と位置的に対応する。図16(b)は、画像メモリにおいて座標(x,y)に存在する画素Pix(x,y)を示す。図16(c)は、左目テクスチャを生成するにあたって、画素Pix(x,y)がどれだけシフトするかを示す。図16(c)では、全周囲画像メモリ18において、Pix(x,y)は水平方向にOffset(Depth(x,y))だけ変位している。そのため、Pix(x+Offset(Depth(x,y))、y)に位置することになる。Offset(Depth(x,y))とは、全周囲画像において、x,y座標に一意なオフセットであり、デプス画像における対応画素の輝度によるDepth(x,y)から設定される。
2以上の視点画像を作成するにあたって、画素が水平方向にどれだけ変位するかは、画像の画素毎に異なることになる。デプス画像における画素の輝度レベルと、シフト量である画素数との対応付けは上記数式から導くことができる。その対応付けの一例として、図16(c)のように設定することができる。
図16(c)は、Y(x,y)における0〜255の輝度範囲と、1画素〜16画素の単位のオフセットとの対応付けを示す。本図では、0〜63の輝度範囲に0〜2画素の範囲のオフセットを、64〜127の輝度範囲に3〜4画素の範囲のオフセットを割り当て、128〜191の輝度範囲に5〜8画素のオフセットを、192〜255の輝度に9〜16画素のオフセットを割り当てるものである。つまり明るい部分の輝度範囲に割り当てるべき視差を大きくし、暗い部分の輝度範囲に割り当てるべき視差を小さくするという非線形な対応付けがなされている。
図17は、画素レベルのシフトにより、左目テクスチャ、右目テクスチャにおいてどのような視差がもたらされるかを示す。図17(a)はデプス画像、図17(b)は左目テクスチャメモリの格納内容、図17(c)は、右目テクスチャメモリの格納内容を示す。
Pix(x1,y)は、図17(b)において並ぶ3つのビルのうち、一番手前のビルの画素である。Pix(x2,y)は、3つのビルのうち2番目のビルの画素である。Pix(x3,y)は、3つのビルのうち3番目のものの画素である。
図17(a)は、デプス画像の一例であり、左目テクスチャにおける画素Pix(x1,y)、Pix(x2,y)、Pix(x3,y)に与えられる奥行きを示す。Depth(x1,y)は、左目テクスチャにおけるPix(x1,y)の奥行きを示す。Depth(x2,y)は、左目テクスチャにおけるPix(x2,y)の奥行きを示す。Depth(x3,y)は、左目テクスチャにおけるPix(x3,y)の奥行きを示す。
図17(c)の下側は、DIBRにおいて各画素に与えられるオフセットを示す。Offset(Depth(x1,y),y)は、左目テクスチャにおけるPix(x1,y)に与えられるオフセットを示す。Offset(Depth(x2,y),y)は、左目テクスチャにおけるPix(x2,y)に与えられるオフセット、Offset(Depth(x3,y),y)は、左目テクスチャにおけるPix(x3,y)に与えられるオフセットを示す。本図に示すように、Depth(x1,y)>Depth(x2,y)>Depth(x3,y)の関係があるから、一番手前にあるビルを構成する画素に対して一番大きな視差が与えられ画面から大きく飛出すことになる 以上のようにDIBRでは、デプス画像における対応画素の輝度に応じて画素の変位量は異なるものになるから、算術演算器を用いて、デプス画像における各画素の輝度からオフセットを算出すれば、ハードウェア素子により、画素シフト部18を実装することができる。以上が画素シフト部18についての説明である。続いて、表示領域バッファ19の詳細について説明する。
(表示領域バッファ19)
表示領域バッファ19は、画素シフト部18のDIBRの処理結果となる画素の集りのうち、シフト後の座標が、表示領域内になるものを格納する。オリジナルの画像データの解像度が横M×縦Nである場合、画像データの左上座標を原点(0,0)とした座標系において、X座標が0からM-1までの画素、Y座標が0からN-1までの画素が「表示領域」となる。そうすると、シフト後のX座標が、M以上となる画素を除外し、X座標が0からM-1までの範囲となる画素をこの表示領域バッファ19に格納する。シフトの対象が横512×縦512である場合、シフト後のX座標が、512以上となる画素を除外し、X座標が0から511までの範囲となる画素がこの表示領域バッファ19に格納されることになる。
(領域外バッファ20)
領域外バッファ20は、画素シフト部18のDIBRの処理結果となる画素の集りのうち、シフト後の座標が、表示領域外になるもの、つまり"はみ出し画素"を格納する。オリジナルの画像データの解像度が横M×縦Nである場合、シフト後のX座標が、M以上となる画素が"はみだし画素"としてこの領域外バッファ20に格納されることになる。
(境界処理部21)
境界処理部21は、DIBR処理による画素シフトで不完全になった画像の境界に対して補正を行う。画像の境界処理とは、次に隣接する画像データを画素シフト部18が処理する際、領域外バッファ20に格納されている表示領域範囲外の画素を用い、画像端部で欠落している画素を埋める処理をいう。
(左目テクスチャメモリ22、右目テクスチャメモリ23)
右目テクスチャメモリ22、左目テクスチャメモリ23のペアは、ストリートビューDIBR実行部17がDIBRを行うことで得られた左目テクスチャと、右目テクスチャとを格納する。
(CG処理部24)
CG処理部24は、モデリングデータを構成する三次元座標を三次元モデリング空間に配置して、その三次元モデリング空間における三次元座標をビューポートに投影する処理を行う。かかる処理には、座標・視野変換、照度計算(テクスチャマッピング処理)、ビューポート処理がある。
(モデリングデータ格納部25)
モデリングデータ格納部25は、球体モデル及びGUI部品の形状を規定するモデリングデータを格納する。
(座標変換部26)
座標変換部26は、視点をカメラにし、カメラの方向やズームレベルを指定することにより、立体物を投影するスクリーンを決定する。その後、球面モデルのモデリングデータを規定する三次元座標を三次元モデリング空間におけるワールド座標に変換する。ここでの座標変換は、三次元モデリング空間におけるカメラ位置を原点とし、カメラから見た座標系でのワールド座標に、モデリングデータを規定する三次元座標を変換するというものである。
(照度計算部27)
照度計算部27は、三次元モデリング空間において設定された光源位置から照射される光を立体物に当てたときの各頂点における照度の計算を行う。
(テクスチャマッピング部28)
テクスチャマッピング部28は、3Dモデリング空間上に左目用と右目用の2つの球体を用意し、背景画像を変換することで得られた2以上の左目用テクスチャ、右目用テクスチャを三次元モデリング空間における球体モデルの内側表面にマッピングする。
(ビューポート変換部29)
ビューポート変換部29は、ディスプレイの解像度等を含んだディスプレイ情報に従い、三次元モデリング空間における3次元座標の頂点座標を2次元のスクリーン座標に変換することでビューポート画像の抽出を行う。抽出される画像には、左目ビューポート画像、右目ビューポート画像があり、ビューポート変換部はこれらを、それぞれ左目プレーンメモリ6、右目プレーンメモリ7に出力する。位置方向判定部2からの指示が、カレント視点位置に変化はなく、カレント視線方向のみの変化であった場合、テクスチャマッピング部はテクスチャマッピング処理をスキップし、ビューポート変換部のみがカレント視線方向変化に伴うビューポートの再抽出及びプレーンメモリへの再出力のみを行う。
以上が描画制御部5についての説明である。
図18は、全周囲画像メモリ13、デプス画像メモリ、左目テクスチャメモリ22、右目テクスチャメモリ23の内部構成と、画素シフト部18、表示領域バッファ19、領域外バッファ20との関係を示す。本図では、メモリの記憶領域が格子状になっている。この格子のそれぞれは、メモリの記憶素子における記憶内容のそれぞれを意味する。記憶素子の記憶内容として画素値が存在する。この画素値は、輝度Y,赤色差Cr,青色差Cb,透明度αから構成される。
上段にデプス画像メモリ16、全周囲画像メモリ13を描き、下段に左目テクスチャメモリ22、右目テクスチャメモリ23、中段には画素シフト部18、表示領域バッファ19、領域外バッファ20を描いている。全周囲画像メモリ13におけるA,B,C,D,E,F,Gは、全周囲画像を構成する横方向の7つの画像であり、各画像が縦512×横512画素の規模をもつ。左上の左目テクスチャメモリ22におけるA(dp),B(dp),C(dp),D(dp),E(dp),F(dp),G(dp)は、縦512×横512画素の規模のグレースケールである。左下の左目テクスチャメモリ22の格納内容において、A(L),B(L),C(L),D(L),E(L),F(L),G(L)は、左方向のシフト結果である。右下の右目テクスチャメモリ23の格納内容において、A(R),B(R),C(R),D(R),E(R),F(R),G(R)は、右方向のシフト結果である。
全周囲画像メモリ13に格納されている縦4×横7の全周囲画像から、縦512×横512画素の画素からなる画像を取り出すと共に、デプス画像メモリに格納されているデプス画像から、対応する縦512×横512画素の画素からなるグレースケールを取り出す。そして、取出された画像と、グレースケールとをベースにしたDIBRを実行して、その結果を左目テクスチャメモリ22、右目テクスチャメモリ23に格納してゆき、左目テクスチャメモリ22、右目テクスチャメモリ23上で順次、左目テクスチャ、右目テクスチャを形成してゆくというものである。
図19は、デプス画像メモリ、全周囲画像メモリ13、左目テクスチャメモリ22間のデータフローを示す。本図は、図18をベースとして作図されており、このベースとなる構成と比較して、画像データの行き来を示す矢印が追加されている点が異なる。図19(a)において矢印df1,df2は、デプス画像メモリからのデプス画像A(dp)及び全周囲画像メモリ13からの画像Aの読み出しを模式的に示す。矢印df3,df4は、表示領域バッファ19、領域外バッファ20から左目テクスチャメモリ22への画像A(L)の書き込みを模式的に示す。
図19(b)において矢印df5,df6は、デプス画像メモリからのデプス画像B(dp)及び全周囲画像メモリ13からの画像Bの読み出しを模式的に示す。矢印df7,df8は、表示領域バッファ19、領域外バッファ20から左目テクスチャメモリ22への画像B(L)の書き込みを模式的に示す。
図20は、デプス画像メモリ、全周囲画像メモリ13、左目テクスチャメモリ22間のデータフローを示す。本図は、図18をベースとして作図されており、このベースとなる構成と比較して、画像データの行き来を示す矢印が追加されている点が異なる。図20(a)において矢印df9,df10は、デプス画像メモリからのデプス画像A(dp)及び全周囲画像メモリ13からの画像Aの読み出しを模式的に示す。矢印df11,df12は、表示領域バッファ19、領域外バッファ20から右目テクスチャメモリ23への画像A(R)の書き込みを模式的に示す。
図20(b)において矢印df13,df14は、デプス画像メモリからのデプス画像B(dp)及び全周囲画像メモリ13からの画像Bの読み出しを模式的に示す。矢印df15,df16は、表示領域バッファ19、領域外バッファ20から右目テクスチャメモリ23への画像B(R)の書き込みを模式的に示す。以上のように全周囲画像メモリ13に格納された全周囲画像は、縦512×横512画素毎に読み出されて画素シフト部18に供され、縦512×横512画素毎にDIBRが実行されることがわかる。
全周囲画像を構成する個々の画像に対するDIBRでどのように余白が生じるか、またこの余白がどのようにして補完されるかについて図21〜図23を参照しながら説明する。
シフトによる余白の補完は、ある画像に対して画素シフトが施された際、画像の表示領域から発生したはみ出し画素を一旦領域外バッファ20に格納しておき、次の画像について画素シフトが施された際、バッファに格納されたはみ出し画素群を、その画像についてのシフト余白の補完に用いるというものである。
(左目テクスチャ、右目テクスチャの形成過程)
上記構成要素による処理過程を経て、左目テクスチャ、右目テクスチャが得られる。素材から最終成果物が得られるまでの途中過程のうち、トピックになるものを模式的に描いたのが図21〜図23である。
図21は、左方向のシフト時における全周囲画像メモリ13−表示領域バッファ19、領域外バッファ20−左目テクスチャメモリ22間のデータフローを示す。図20(a)における矢印uf1は、DIBRによる画素シフトを示す。これにより画像Aは全体的に右方向にシフトし、画像Aの右端にはシフトによる余白が発生する。矢印uf2は、DIBRにより表示領域バッファ19からはみ出した画素の領域外バッファ20への書き込みを示す。矢印uf3は、領域外バッファ20から左目テクスチャメモリ22への画素の書き込みを示す。これにより、領域外バッファ20内の画素は、G(L)の一部として左目テクスチャメモリ22に格納されることがわかる。矢印uf4は、表示領域バッファ19から左目テクスチャメモリ22への画素の書き込みを示す。これにより、表示領域バッファ19内における画像Aの本体は、余白付きでA(L)の一部として左目テクスチャメモリ22に格納されることがわかる。
図21(b)における矢印uf5は、DIBRによる画素シフトを示す。これにより画像Bは全体的に右方向にシフトし、画像Bの右端にはシフトによる余白が発生する。矢印uf6は、DIBRにより表示領域バッファ19からはみ出した画素の領域外バッファ20への書き込みを示す。矢印uf7は、領域外バッファ20から左目テクスチャメモリ22への画素の書き込みを示す。これにより、領域外バッファ20内の画素は、A(L)の一部として左目テクスチャメモリ22に格納されることがわかる。矢印uf8は、表示領域バッファ19から左目テクスチャメモリ22への画素の書き込みを示す。これにより、表示領域バッファ19内における画像Bの本体は、余白付きでB(L)の一部として左目テクスチャメモリ22に格納されることがわかる。
図21(c)における矢印uf9は、DIBRによる画素シフトを示す。これにより画像Cは全体的に右方向にシフトし、画像Cの右端にはシフトによる余白が発生する。矢印uf10は、DIBRにより表示領域バッファ19からはみ出した画素の領域外バッファ20への書き込みを示す。矢印uf11は、領域外バッファ20から左目テクスチャメモリ22への画素の書き込みを示す。これにより、領域外バッファ20内の画素は、B(L)の一部として左目テクスチャメモリ22に格納されることがわかる。矢印uf12は、表示領域バッファ19から左目テクスチャメモリ22への画素の書き込みを示す。これにより、表示領域バッファ19内における画像Cの本体は、余白付きでC(L)の一部として左目テクスチャメモリ22に格納されることがわかる。
図22、図23は、左目テクスチャメモリ22、右目テクスチャメモリ23内で右目テクスチャ、左目テクスチャが形成されてゆく過程を示す。その形成の過程の前提としては、図22(a)に示されているような5枚の画像を選ぶ。図22(a)は、画像Gに対してDIBRが施され、G(R)が得られる段階を示す。図22(b)は、画像Fに対してDIBRが施され、F(R)が得られる段階を示す。図22(a)は、画像Eに対してDIBRが施され、E(R)が得られる段階を示す。図22(b)は、画像Dに対してDIBRが施され、D(R)が得られる段階を示す。図22(a)(b)、図23(a)(b)は何れも共通の記載になっており、第1段目は全周囲画像メモリ13の格納内容、第2段目は表示領域バッファ19、領域外バッファ20の格納内容、第3段目は左目テクスチャメモリ22の格納内容を示す。
第2段目において、DIBRにおけるシフトに伴う余白がそのシフト方向とは反対側の端部に発生する。領域外バッファ20には、このシフトによって、表示領域から追いやられた画素が格納される。第3段目では、領域外バッファ20に格納されたはみ出し画素群が、その直後の画像に対するシフトで生じた余白の上書きに使用されていることがわかる。
これらG(R),F(R),E(R),D(R)の生成の途中過程ではシフトによる余白が発生していることがわかる。このシフトによる余白は、次の画像のDIBRの実行にあたって、表示領域の右端からはみ出すことになった画素によって上書きされる。
図22は、左方向のシフト時における全周囲画像メモリ13−表示領域バッファ19、領域外バッファ20−左目テクスチャメモリ22間のデータフローを示す。図20(a)における矢印tf1は、DIBRによる画素シフトを示す。これにより画像Gは全体的に左方向にシフトし、画像Gの左端にはシフトによる余白が発生する。矢印tf2は、DIBRにより表示領域バッファ19からはみ出した画素の領域外バッファ20への書き込みを示す。矢印tf3は、領域外バッファ20から左目テクスチャメモリ22への画素の書き込みを示す。これにより、領域外バッファ20内の画素は、A(R)の一部として左目テクスチャメモリ22に格納されることがわかる。矢印tf4は、表示領域バッファ19から左目テクスチャメモリ22への画素の書き込みを示す。これにより、表示領域バッファ19内における画像Gの本体は、余白付きでG(R)の一部として左目テクスチャメモリ22に格納されることがわかる。
図22(b)における矢印tf5は、DIBRによる画素シフトを示す。これにより画像Fは全体的に左方向にシフトし、画像Fの左端にはシフトによる余白が発生する。矢印tf6は、DIBRにより表示領域バッファ19からはみ出した画素の領域外バッファ20への書き込みを示す。矢印tf7は、領域外バッファ20から左目テクスチャメモリ22への画素の書き込みを示す。これにより、表示領域バッファ19内の画素は、G(R)の一部として左目テクスチャメモリ22に格納されることがわかる。矢印tf8は、表示領域バッファ19から左目テクスチャメモリ22への画素の書き込みを示す。これにより、領域外バッファ20内における画像Fの本体は、余白付きでF(R)の一部として左目テクスチャメモリ22に格納されることがわかる。
図23(a)における矢印tf9は、DIBRによる画素シフトを示す。これにより画像Eは全体的に左方向にシフトし、画像Eの左端にはシフトによる余白が発生する。矢印tf10は、DIBRにより表示領域バッファ19からはみ出した画素の領域外バッファ20への書き込みを示す。矢印tf11は、領域外バッファ20から左目テクスチャメモリ22への画素の書き込みを示す。これにより、領域外バッファ20内の画素は、F(R)の一部として左目テクスチャメモリ22に格納されることがわかる。矢印tf12は、表示領域バッファ19から左目テクスチャメモリ22への画素の書き込みを示す。これにより、表示領域バッファ19内における画像Eの本体は、余白付きでE(R)の一部として左目テクスチャメモリ22に格納されることがわかる。
図23(b)における矢印tf13は、DIBRによる画素シフトを示す。これにより画像Dは全体的に左方向にシフトし、画像Dの左端にはシフトによる余白が発生する。矢印tf14は、DIBRにより表示領域バッファ19からはみ出した画素の領域外バッファ20への書き込みを示す。矢印tf15は、領域外バッファ20から左目テクスチャメモリ22への画素の書き込みを示す。これにより、領域外バッファ20内の画素は、E(R)の一部として左目テクスチャメモリ22に格納されることがわかる。矢印tf16は、表示領域バッファ19から左目テクスチャメモリ22への画素の書き込みを示す。これにより、表示領域バッファ19内における画像Dの本体は、余白付きでD(R)の一部として左目テクスチャメモリ22に格納されることがわかる。
<汎用CPU上での動作を前提としたソフトウェア実装>
本実施形態に係る画像描画装置は、上述したような画像描画装置における各構成要素を、ASIC等のハードウェア集積素子で具現化することで工業的に生産することができる。このハードウェア集積素子に、CPU、コードROM、RAMといった汎用的なコンピュータシステムのアーキテクチャを採用する場合、上述したような各構成要素の処理手順をコンピュータコードで記述したプログラムをコードROMに予め組みこんておき、ハードウェア集積素子内のCPUに、このプログラムの処理手順を実行させねばならない。
汎用的なコンピュータシステムのアーキテクチャを採用する場合、ソフトウェア実装で必要となる処理手順について説明する。
図24は、レンダリングの立体視化手順を示すフローチャートである。メインフロー。ステップS1においてレンダリングの地図におけるカレントの視点位置(緯度、経度)と、画面上に表示するカレントの視線方向(水平角度及び垂直角度)を決定し、ステップS2において地図上のカレント視点位置に対応する画像取得要求を作成し、画像取得要求をサーバ1001に送信する。ステップS3ではストリートビューファイルの受信待ちを行い、ストリートビューファイルを受信すれば、ステップS4において全周囲画像と、これに対応するデプス画像を取得する。
ステップS5では、垂直方向の4枚の画像のうち、何れか一枚をカレント画像とする。その後、ステップS6〜ステップS8のループに移行する。このループは、カレント画像に対して水平360度の多視点画像の生成を実行し(ステップS6)、カレント画像が垂直方向の最後の画像であるかどうかを判定して(ぷ7)、そうでなければ、縦方向の次の画像をカレント画像とする処理(ステップS8)を繰り返すものである。ここで、カレント画像が垂直方向の最後の画像であれば、ステップS7がYesとなり、このループを抜ける。
以降、ステップS9において3Dモデリング空間に用意された左目用の球体モデル、右目用の球体モデルに対してDIBRで得られた右目テクスチャ、左目テクスチャを貼りつける。ステップS8では、球体モデルの中心から視線方向を見たときの投影画像を左目用プレーン、右目用プレーンに書き込む。
図25は、水平360度画像生成処理のフローチャートである。ステップS13は、横7枚の画像のうち、カレントの視線方向にある画像を基点画像とする。ステップS14では、基点画像をカレント画像として、ステップS15において、カレント画像と、これに対応するデプス画像とを抽出し、ステップS16において、デプス画像に示される個々の画素の奥行きをもつように、カレント画像の個々の画素の座標を水平方向にシフトする。ステップS17では、シフトにより領域外の座標を有することになった画素群を領域外バッファに書き込む。以降、ステップS18〜ステップS22のループを実行する。このループは、ステップS18でカレント画像にシフト方向に隣接している画像を、カレント画像に設定して、ステップS19においてデプス画像に示される個々の画素の奥行きをもつようにカレント画像の個々の画素座標を水平方向にシフトし、ステップS20において、シフトにより領域外になった画素を領域外バッファに書き込む。その後、ステップS21において、カレント画像のうち、シフト方向とは反対側の端部に、領域外バッファにおける画素群を追加する。ステップS22は、このループの終了条件を規定したものであり、カレント画像が基点画像に等しいかどうかを判断する。もし同じでなければ、ステップS22がNoになってループを継続する。同じであれば、ステップS23に移行して、カレント画像のうち、シフト方向とは反対側の端部に、領域外バッファにおける画素群を追加してステップS12に移行する。
ベースとなる左目用の全周囲画像から本図のフローチャートに基づき右目用の全周囲画像を生成すると、生成される右目用全周囲画像も28枚の部分画像をつなぎ合わせても画素欠落のないシームレスな全周囲画像となる。これらを球面上にテクスチャとしてマッピングし、ユーザが見たい方向の投影画像を左右プレーンに出力することで、シームレスな全周囲立体視を実現することが可能となる。
以降、図24、図25のフローチャートによる各構成要素の動作を説明する。まず、ユーザ操作検知部1、位置方向判定部2により、表示すべき全周囲画像の地図上の位置(緯度及び経度)と、画面上に表示する方向(水平角度及び垂直角度)を決定する(S1)。続いて、全周囲画像取得部11によりステップS1で決定した地図上の位置に対応する全周囲画像を取得する(S2)。ステップS2で取得される1地点分の全周囲画像は縦4枚、横7枚の計28枚の部分画像から構成され、各画像1枚は縦512画素、横512画素の画素数を持つ。これらが左目用の全周囲画像となる。
次に、デプス画像取得部14により、ステップS2で取得した全周囲画像に対応するデプス画像を取得する(S3)。デプス画像は、立体空間における各画素の奥行きを示すものであり、各画素の奥行きを8ビットの輝度で表現している。デプス画像自身も画像として構成されており、全周囲画像と同様、1地点につき、縦4枚、横7枚の計28枚のグレースケール画像から構成されている。
ステップS2及びステップS3でベースとなる全周囲画像とデプス画像を取得した後、垂直方向4枚の画像のうち、いずれか1枚を選び、図18に示したフローチャートに基づき水平360度のステレオ画像生成を行う(S5)。垂直方向4枚からの選択方法としては、表示すべき全周囲画像の垂直角度に近い位置の画像を選ぶのが望ましい。視点方向にある画像から先に処理していくことで、残りの画像が処理中でも画面上に表示することが可能となる。
垂直方向に4枚の画像があるため、水平360度の画像グループが4種類存在することになる。すべてのグループに対し、ステレオ画像の生成処理を完了したと判断すれば(S7でYes)、続いてテクスチャマッピングを行う(S9)。この場合におけるテクスチャマッピングは、3Dモデリング空間上に用意された左目用と右目用の2つの球体に対し、ベースの全周囲画像及び境界処理部21によって生成されたステレオ画像を、それぞれ左目用、右目用の球体面上に貼り付ける処理となる。
ステップS9におけるテクスチャマッピングが完了すれば、球体の中心から位置方向判定部2により指定された視点方向を見たときに投影される画像を左目プレーン、右目プレーンに書き込み(S10)、立体視対応ディスプレイにて立体視表示がなされる。
図25において、まずは、全周囲画像取得部11より水平360度を構成する画像の中から基点となる画像の抽出と、抽出された基点画像に対応するデプス画像をデプス画像取得部14から取得する(S13〜15)。基点となる画像は、位置方向判定部2から指示された視点方向にある画像が望ましい。視点方向にある画像から先に処理していくことで、残りの画像が処理中でも画面上に表示することが可能となる。
基点となる画像が決定すると、DIBR部17にて画素シフト処理(DIBR処理)を行う(S16)。前述したように、DIBR処理ではシフトした画素が画像領域外にはみ出る場合があり、境界処理部21にて、画像領域外にはみ出た画素を、画像領域外のバッファメモリに一時的に格納する(S17)。一旦、画像領域外にはみ出た画素をバッファメモリに格納した後、再び全周囲画像取得部11より画像の抽出、及びデプス画像取得部14より対応するデプス画像の取得を行う。このときカレント画像として、前回DIBR処理を行った画像の左側に隣接する画像を選択する(S18)。次に、ステップS18で抽出されたカレント画像が、ステップS13で抽出された基点画像と一致するかどうかを判断する(S22)。ステップS104で抽出した画像が、基点画像ではない(すなわち、まだ処理が水平方向に1周360度分が完了していない)と判断された場合、ステップS18で抽出した画像に対し、DIBR処理を行い、右目用の他視点からの視点画像を生成する(S19)。
次に、ステップS19で得られた右目用の他視点からの視点画像に対し、現在領域外バッファメモリに格納されている画素群を、画像右側端部に追加する処理を行う(S20)。続いて、今度はステップS19のDIBR処理で領域外にはみ出した画素を領域外バッファメモリに格納する(S21)。そして、ステップS18で処理した画像の左側に隣接する画像を選択し、ステップS18〜S21の処理を繰り返して行う。
ステップS18〜S21の処理を繰り返していき、ステップS22において、ステップS18で抽出された隣接方向の画像が、ステップS14で抽出された基点画像と同じであると判断した場合(すなわち、水平方向に1周360度分の処理が完了)、現在領域外バッファメモリに格納されている画素群を、基点画像の右側端部に追加する処理を行い(S23)、水平方向1周360度分の画素シフト及び境界処理を終了する。
図26は、DIBR処理だけに基づいて得られる右目用の全周囲画像と、画素シフト及び境界処理を行なって得られる右目用の全周囲画像の比較を示す図である。図19(a)がDIBR処理に基づく画素シフトのみを行なって、画像を繋ぎ合わせて出来上がる全周囲画像である。繋ぎ合わせの部分で、不自然な絵となっているが、これは、DIBR処理で画素が画面領域外にはみ出し、それらの画素が画像端部で抜け落ちていくため、重ね合わせ部分で画素の欠落が発生し、画像をつなぎ合わせたときにシームレスに絵が表示されない。
図26(b)は、新たに画素シフト及び境界処理を施して出来上がる全周囲画像である。図26では、DIBR処理によって画面領域外にはみ出る画素を、隣接する画像生成に活用することで、つなぎ合わせ部分における画素の欠落を防ぎ、画像のつなぎ目でもシームレスに絵を表示することが可能となる。
(実施の形態2)
全周囲画像が複数の部分画像で構成されている場合におけるステレオ全周囲画像生成について述べたが、本実施形態は、全周囲画像が1枚の画像で構成されている場合におけるステレオ全周囲画像生成について述べる。かかる全周囲画像を処理するため、第1実施形態の既存の構成要素である全周囲画像取得部11、デプス画像取得部14、DIBR部17、表示領域バッファ19、領域外バッファ20、境界処理部21、テクスチャマッピング部28は、以下の処理を行う。
全周囲画像取得部11は、位置方向判定部2から指示された地図上の位置における全周囲画像を、ネットワークインターフェース3を介してサーバ105からダウンロードするか、もしくはローカルストレージ4から画像の取得を行う。
デプス画像取得部14は、全周囲画像取得部11が取得した全周囲画像に対応するデプス画像を、ローカルストレージ4に格納されたストリートビューファイルから取得する。図27は、実施形態2において全周囲画像取得部11、デプス画像取得部14が取得する全周囲画像、デプス画像を示す。図27(a)における全周囲画像は縦2048画素、横3584画素の大きな一枚の画像で形成される。対するデプス画像も、図27(b)に示すように、縦2048画素、横3584画素の大きな一枚のグレースケール画像で形成される。
DIBR部17は、全周囲画像取得部11からベースの左目用全周囲画像を、デプス画像取得部14からベース画像に対応するデプス画像を取得し、DIBR処理を行い、右目画像を生成する。
表示領域バッファ19は、シフトで得られた右目画像を格納する。
領域外バッファ20は、シフトにより生じたはみだし画素を格納する。
境界処理部21は、境界処理として、右端から左方向(すなわち画像中央の方向)に10ピクセル離れた位置(垂直方向としては同じ所に位置する)に埋め込む。
全周囲画像が大きな一枚の画像で形成されている場合、DIBR処理により画像端部で画素のはみ出しが発生すると、その画素は画像逆端部側に埋めるべき画素となる。なぜなら、全周囲画像が1枚の画像で形成されている場合は画像が球面上で一周するため、右端の画素と左端の画素は最終的には球面上に並べて表示することになるからである。そのため、画像の右端と左端は連続しているものと捉えると、左端で画像領域からはみ出した画素は、逆端である右端に埋められるべき画素となる。
例えば、DIBR処理により左端より10ピクセル左へはみ出した画素は、境界処理部21の境界処理により、右端から左方向(すなわち画像中央の方向)に、10ピクセル離れた位置(垂直方向としては同じ所に位置する)に埋め込まれる。図28は、実施の形態2における、画素シフト後の画像を補正し、ステレオ画像を生成する様子を示す図である。全周囲画像が大きな1枚の画像で形成されている場合、DIBR処理により画像端部で画素のはみ出しが発生すると、その画素は画像逆端部側に埋めるべき画素となる。なぜなら、全周囲画像が1枚の画像で形成されている場合は画像が球面上で1周するため、右端の画素と左端の画素は最終的には球面上に並べて表示することになるからである。そのため、画像の右端と左端は連続しているものと捉えると、左端で画像領域からはみ出した画素は、逆端である右端に埋められるべき画素となる。
例えば、DIBR処理により左端より10ピクセル左へはみ出した画素は、境界処理により、右端から左方向(すなわち画像中央の方向)へ10ピクセル離れた位置(垂直方向としては同じ所に位置する)に埋め込まれる。
テクスチャマッピング部28は、DIBRで得られた左目テクスチャ、右目テクスチャを球面モデルにマッピングする。図29は、テクスチャマッピング部28によるテクスチャマッピングを示す。上段における左目テクスチャ、右目テクスチャは、DIBR部17のDIBRで得られたものであり、これらが矢印tm1、tm2に示すように下段の左目用球面モデル、右目用球面モデルの内側表面に貼付けられていることがわかる。かかる貼付けがなされた左目用球面モデル、右目用球面モデルに対してビューポート抽出がなされる。
改良された構成要素の説明に後説明として、上記改良がなされた場合の既存の構成要素の動作について説明する。つまり、表示領域バッファ19に格納される全周囲画像が実施形態1のフローチャートによりどのように処理されるかについて説明する。
図24において、一枚の全周囲画像が対象になった際の動作は以下の通りである。まず、ユーザ操作検知部1、位置方向判定部2により、表示すべき全周囲画像の地図上の位置(緯度及び経度)と、画面上に表示する方向(水平角度及び垂直角度)を決定する(S1)。続いて、全周囲画像取得部11によりステップS401で決定した地図上の位置に対応する全周囲画像を取得する(S2)。ステップS402で取得される1地点分の全周囲画像は縦2048画素、横3584画素の大きな一枚の画像で形成される。これが左目用の全周囲画像となる。次に、デプス画像取得部14により、ステップS402で取得した全周囲画像に対応するデプス画像を取得する(S3)。デプス画像は、立体空間における各画素の奥行きを示すものであり、各画素の奥行きを8ビットの輝度で表現している。デプス画像自身も画像として構成されており、全周囲画像と同様、縦2048画素、横3584画素の大きな一枚のグレースケール画像として形成される。
ベースとなる全周囲画像とデプス画像を取得した後、に示したフローチャートに基づきステレオ画像生成を行う(S5)。ステップS404でステレオ画像生成を終えた後、続いてテクスチャマッピングを行う(S7)。この場合におけるテクスチャマッピングは、3Dモデリング空間上に用意された左目用と右目用の2つの球体に対し、ベースの全周囲画像及び境界処理部21によって生成されたステレオ画像を、それぞれ左目用、右目用の球体面上に貼り付ける処理となる。ステップS7におけるテクスチャマッピングが完了すれば、球体の中心から位置方向判定部2により指定された視点方向を見たときに投影される画像を左目プレーン、右目プレーンに出力し(S8)、立体視対応ディスプレイにて立体視表示がなされる。
表示すべき全周囲画像の抽出と、抽出された画像に対応するデプス画像をデプス画像取得部14から取得する(S15)。次に、ステップS2で取得された画像とデプス画像を元にDIBR部17にて画素シフト処理(DIBR処理)を行う(S16)。
DIBR処理ではシフトした画素が画像領域外にはみ出る場合があり、境界処理部21にて、画像領域外にはみ出た画素を、画像領域外のバッファメモリに一時的に格納する(S17)。
全周囲画像であれば、対象となる画像は一枚であるから、カレント画像に隣接する画像は、必ず自分自身となる。よって、全周囲画像については、1つの全周囲画像が基点画像及びカレント画像として決定された後、ステップS18において、カレント画像に隣接する画像をカレント画像として決定しようとすると、自分自身が再度、カレント画像として決定されることになる。よって、1つ前のカレント画像が新たにカレント画像として決定された後、ステップS22に移行することになる。ステップS22は、新たなカレント画像が基点画像かどうかの判定である。全周囲画像は一枚であるから、再度決定されたカレント画像は、必ず基点画像と一致する。よってこの場合、ステップS22がYesになりステップS23に移行する。
ステップS23では、ステップS16のDIBR処理で得られた右目用の他視点からの視点画像に対し、現在領域外バッファメモリに格納されている画素群を、はみ出し元の画像端部とは逆の端部へ埋め込む。かかる処理を、左目及び右目のそれぞれについて繰り返すことで、画素シフト及び境界処理を終了する。
以上により、ベースとなる左目用の全周囲画像から1枚の大きな画像から形成されていたとしても、生成される右目用全周囲画像は画素欠落のないシームレスな全周囲画像となる。これらを球面上にテクスチャとしてマッピングし、ユーザが見たい方向の投影画像を左右プレーンに出力することで、シームレスな全周囲立体視を実現することが可能となる。
(実施の形態3)
本実施形態は、これまでの実施形態で述べた画像描画装置をどのようなハードウェア構成で実現するかを開示する。
まず初めに、CG処理部についてのハードウェア構成を説明する。図30は、CG処理部のハードウェア構成を示す。本図に示すように画像描画装置は、インターフェイス201、ビデオデコーダ回路202、テクスチャメモリ203、コードROM204、CPU205、ワークメモリ206、GPU207、フレームメモリ208から構成される。
インターフェイス201は、ビルドインメディアやリムーバブルメディアのドライブとのインターフェイスである。
ビデオデコーダ202は、インターフェイス201を通じて読み出された背景画像やデプス画像をデコードする専用回路である。
テクスチャメモリ203は、ビデオデコーダ回路202のデコードで得られた非圧縮の背景画像を格納する。
コードROM204は、これまでのフローチャートで述べたプログラムを構成するコード列を格納している。
CPU205は、コードROM204に格納されたコード列を読み出し、処理することで、これまでの実施形態で述べた処理を実現する。
ワークメモリ206は、コードROM204が処理を行う際に、変数や配列の格納場所として使用される。
GPU207は、テクスチャマッピング等のグラフィクス処理のための専用処理回路である。
フレームメモリ208は、GPU207が処理のために使用するメモリである。
図31は、GPUの内部構成を示す図である。
Xステージボード800は、X(Transformation, Xformation)ステージでの処理を実現するものであり、HIP801、GED802、ディスプレイリストキャッシュ803、SIMDチップ 804a,b,c,dを具備している。X(Transformation)ステージの処理は、おおまかに言うと二つある。一つは、三次元の各頂点データ(x, y, z)を二次元のスクリーン座標に変換する処理、二つ目は、各頂点に関して、光源や材質情報をもとに明るさ(色)を計算する照光(lighting)計算処理である。この二つ(Transformation and Lighting)の処理を総称してT&L 処理あるいはTnL 処理と呼ぶ。
HIP(Host Interface Processor)801は、入力のOpenGLAPIコールを解釈して演算処理に適した形式に変換するASIC(Application Specific Integrated Circuit)である。
GED(GeometryElement Distributor)802は、各頂点データを、4つある次段のSIMDチップのうち処理待ちの状態にあるものに振り分ける役割を果たす。
ディスプレイリストキャッシュ803は、OpenGLAPIコールをグループ化したディスプレイリストを格納しておくキャッシュメモリである。よく使う一連のOpenGLAPIコールをディスプレイリストにしておくと、CPU からXステージボードに転送するデータ量を大幅に減らすことができる。
SIMDチップ 804a,b,c,dは、ASIC で実現された1 チップのプロセッサで、FPU(浮動小数点演算ユニット)を3 系統持ち、マイクロコード格納用のキャッシュとデータキャッシュを備えている。一つのFPU には二つの演算器が含まれている。一つは通常の浮動小数点ALU(ArithmeticLogic Unit)で、もう一つは浮動小数点乗算器である。本ボードではこのSIMDチップを4 個搭載している。FPU は12 系統が並列で動作するため、同時に12 個の頂点データ(x, y, z)の処理を並列で行うことができる。
SIMDチップでの処理内容(座標変換や照光計算のアルゴリズム)は、マイクロコードによって記述されている。演算回路はチップ上のキャッシュに記憶されたマイクロコードにしたがって動作する。マイクロコードはシステム起動時にキャッシュにロードされる。SIMDチップでの演算結果はFIFO(First-In First-Out)メモリに集められ、Xステージボード全体の出力としてTriangle Bus と呼ばれるバスに転送される。各頂点データは、スクリーン座標系上の座標(x, y)と奥行き情報z、照光計算の結果である(r, g, b)、透明度情報のa、法線ベクトル(nx, ny, nz)、それとテクスチャ座標(s, t)を含む。
また、次のS ステージでの計算効率をよくするための前処理も本ボードで行われる。代表的な前処理はとして裏面カリングがある。裏面カリングは、ウィンドウ座標系に変換したときに裏向きになっている三角形を検出し、そのような三角形については頂点データをTriangle Bus に出力しないようにする処理である。以上がX ステージボードの処理である。
Sステージボード805について説明する。Sステージボード805は4 種類のASIC チップ(TG806, PG807, TF808, IMP809)から構成される。S(Scan conversion)ステージでの処理は、三角形の内部の各画素を塗りつぶすラスタライズ処理、隠面消去処理やステンシルマスク処理、霧の効果の処理などが含まれる。
ラスタライズ処理において重要な機能が、球面ストリップに全周囲画像を貼りつけるというテクスチャマッピングである。テクスチャマッピングでは、明るさ(r, g, b)を補間で求める代わりに、テクスチャ座標(s, t)を補間した結果からテクスチャメモリに格納されているテクスチャ画像のアドレスを計算して適切な画素を読み出し、その明るさ(r, g, b)をフラグメントの明るさデータとする。
Sステージボードの入力は、XステージボードからTriangle Bus を通じて与えられる三角形各頂点におけるフラグメント形式のデータ(スクリーン座標(x, y, z)、テクスチャ座標(s, t)、明るさ(r, g,b)、透明度a、法線ベクトル(nx, ny, nz))である。
TG(Texture Generator)チップ 806は、三角形の塗りつぶしを行い、画素ごとのテクスチャ座標(s, t)の補間結果を出力し、テクスチャメモリのアドレスを生成してテクスチャ画素(テクセル(texel)と呼ばれる)をTF(Texture Filter)に渡す。
PG(Pixel Generator)チップ 807では、ラスタライズ処理、すなわち三角形の塗りつぶし処理を行い画素ごとの明るさ(r, g, b)などの補間を行う。
TF(Texture Filter)チップ 808は、PG の出力結果すなわちシェーディングされた明るさとテクスチャメモリの出力(テクセル)とを合成し、画素ごとのフラグメントをIMP(ImageMemory Processor)に渡す。
IMP(IMage Proccer)809は、ピクセル処理フローを実現するプロセッサで、霧処理、アンチエイリアシング、アルファテスト、ステンシルテスト、デプステスト、ブレンディング、マスキング、書込バッファ選択といったピクセル処理を行い、処理結果をフレームメモリ208に書き込む。
Dステージボード812は、Dステージの処理を行うボードであり、XMAP813、VOC814を具備している。
XMAP(Pixel Mapping Asic)813は、Pixel Bus から画像データを受け取り、必要に応じてルックアップテーブルで変換し、また、カーソルの表示も行ってVideo Packet Bus に画像データを乗せる。各VOCは、自分の担当する矩形領域が記述されたVOF データに従って画像を拾い、DA コンバータでビデオ信号に変換する。
VOC(Video Output Channel)回路814は、画像を拡大する出力回路、拡大画像の画質を良くするためのフィルタリング回路もあり、表示処理中に負荷が重くなったら動的に粗い解像度で描画し、ハードウェア拡大して元通りに表示する。Dステージボードでは最大8つの出力チャネルがあり、そのほかにHDMI出力エンコーダを備えている。
次に、上述したようなハードウェア構成のGPUに対して、どのような制御をソフトウェアで指示すべきかについて説明する。
図32(a)は、球面モデルと、テクスチャとの対応付けを模式的に示す。左側は球面モデルを構成するグリッド、右側はテクスチャを格納するテクスチャバッファの格納内容を示す。左側の球面モデルは、横方向にW個に分割され、それぞれの分割部分にテクスチャが貼付けられることになる。本実施形態において、テクスチャマッピングの対象となる図形タイプを、三角形ストリップとし、この三角形ストリップの全部又は一部をテクスチャマッピングの対象とする。この三角形ストリップの全部又は一部は、頂点グリッドとして規定される。具体的にいうと、T1、T2、T3からなるグリッドがテクスチャマッピングの対象になり、T3,T4,T5,T6からなるグリッドが1つのテクスチャマッピングの対象になる。これらのグリッドを構成する交点の座標を、インデックスとして指定した上で、テクスチャマッピングを行う。
図32(b)は、テクスチャマッピングを実現するためのOPEN-GLにおけるAPI呼出しの記述例である。
『glVertexPointer(3, GL#FLOAT, 0, g#v);』は、三次元モデリング空間におけるグリッドの各交点の座標群を頂点群として格納するものである。引き数の"3"は、三次元モデリング空間の次元数であり、GL#FOLATは、座標群のそれぞれの座標の型が浮動小数点形式であることを示す。
『glTexCoordPointer(2, GL#FLOAT, 0, g#uv);』は、三次元モデリング空間におけるグリッドに対応したテクスチャの座標群g#uvをテクスチャ座標値として格納するためのAPI呼出しである。
『for(I=0;i<W;i++)』は、横方向のW個の座標のそれぞれについて、glDrawElementsの呼出しを繰り返すループ構造として規定される。
『glDrawElements(GL#TRIANGLE#STRIP,(H + 1) * 2, GL#UNSIGNED#SHORT,getStaticData()->g#index[i]);』について説明する。このAPI呼出しの第1引き数は、3Dモデルの図形タイプが三角形ストリップ(GL#Triangle#Stirp)であることを指定している。第2引き数は、頂点数の指定であり、(縦分割数H+1)×2の数値を指定している。GL#UNSIGNED#SHORTは、頂点を格納したindexの型が符号無しのshort形式であることを示す。g#index[W]は、描画順番を決めたインデックス配列であり、個々の配列要素としてグリッド交点の頂点座標が格納される。g#indexの配列要素として格納されている頂点座標に従った描画を実行することにより、テクスチャマッピングがなされることになる。
先ず始めに、DIBRを実現するためのハードウェア構成(全周囲画像メモリ13、画素シフト部18ハードウェア構成)について説明する。
全周囲画像メモリ13は、複数のラインメモリからなり、全周囲画像データは、ラインメモリを構成する32ビット長の記憶素子にそれぞれ格納される。そして全周囲画像データの画面上の座標は、例えば全周囲画像メモリ13におけるラインメモリのアドレスであるROWアドレスと、ラインメモリにおける記憶素子の相対アドレスであるCOLUMNアドレスとの組みに対応する。 以上が全周囲画像メモリ13についての説明である。続いて、画素シフト部18のハードウェア構成について説明する。
画素シフト部18は、全周囲画像データと、デプス画像データとに対して画素シフトを施し、他視点からのテクスチャを作成する。
全周囲画像における画素のX座標を変更することで左目テクスチャを作成したい場合、全周囲画像メモリ13から左目テクスチャメモリ22へのコピー時において、そのコピー先となる記憶素子を指示するCOLUMNアドレスを、画素数Xに相当するアドレスだけ前に調整しておく。このようなアドレス調整を前提にしてコピーを実行すれば、左目テクスチャの座標は、左方向にシフトすることになる。よって画素シフト部18は、左目テクスチャについては、アドレス調整を伴うコピー処理で作成することができる。
ストリートビューのX座標を変更することで右目テクスチャを作成したい場合、全周囲画像メモリ13から右目テクスチャメモリ23へのコピー時において、そのコピー先となる記憶素子を指示するCOLUMNアドレスを、画素数Xに相当するアドレスだけ後に調整しておく。このようなアドレス調整を前提にしてコピーを実行すれば、右目テクスチャの座標は、右方向にシフトすることになる。よって画素シフト部18は、右目テクスチャについては、アドレス調整を伴うコピー処理で右目テクスチャを作成する。以上がハードウェアによる画素シフト部18の実現である。
またDIBRをラインスキャンで実現することができる。ラインスキャンとは、フレームメモリに格納された一画面分の画素(1920×1080)の集りを横1920画素ずつ読み出してデジタル映像信号に変換するものである。かかるラインスキャンは、1行分の画素データを格納しうるライン画素メモリと、フィルタ回路、パラレル/シリアル変換を行う変換回路によって実現することができる。上述したようにDIBRは、デプス画像の個々の画素の輝度を視差に変換して画素のシフトを行う処理である。ラインメモリに読み出された全周囲画像の一ライン分の画素の座標を、全周囲画像に対するデプス画像における対応するラインの奥行きに応じた画素数だけ横方向に移動すれば、デプス画像示される奥行きをもたらす他視点からの視点画像を作成することができる。
<備考>
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。
(デプス画像のバリエーション)
圧縮メルカトルデプス画像は、メルカトル画像に対する奥行きを示す画像をPNG形式で圧縮されたデータとしたが奥行きは圧縮ノイズが目立ってしまうため、PNG形式などのロスレス形式で圧縮することが望ましい。なお、ストリートビューファイルにおける圧縮メルカトルデプス画像はデータが冗長であるため、PNG形式での圧縮以外にも周囲の地形データおよび、圧縮メルカトル画像と地形データとの関係を示すデータを備えるようにしてもよい。なお立体ストリートビュー視点をインターネットで送受信をする場合、圧縮メルカトル画像は分割し複数のファイルに分けるようにすると、ダウンロード途中の状態でも表示が可能となる。
(集積回路の実施形態)
第1実施形態に示した画像描画装置のハードウェア構成のうち、記録媒体のドライブ部や、外部とのコネクタ等、機構的な部分を排除して、論理回路や記憶素子に該当する部分、つまり、論理回路の中核部分をシステムLSI化してもよい。システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものはマルチチップモジュールと呼ばれるが、このようなものも、システムLSIに含まれる。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、電源供給やグランド、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、画像描画装置の中核としての役割を果たす。
(プログラムの実施形態)
各実施形態に示したプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。かかるコンピュータプログラムを非一時的なコンピュータ読取可能な記録媒体に記録してユーザに提供してよい。
(視点周囲画像の範囲増減)
各実施形態では、横7枚の背景画像を横方向に結合することで得られる全周囲画像を対象にして説明を進めたが、横方向の画像の結合数を減少することで、視点から見渡せるストリートビューの範囲を変更してもよい。上記実施形態の全周囲画像は、横7枚の背景画像で360°の視野を網羅するから、一枚の背景画像で網羅される範囲は、52°(≒365°/7)である。よって、2枚の画像を結合した場合、104°(≒52°×2)の範囲を見渡すことができ、3枚の画像を結合した場合、156°(≒52×3)の範囲を見渡すことができる。このように、ストリートビュー収集サーバや映像提供装置で横方向の画像の結合数を変化させることにより、視点周囲画像の規模を変化させ、テクスチャマッピング処理やテクスチャにおける視差算出等の負荷を軽減することもできる。
本発明にかかる画像描画装置は、製造産業において経営的に、また継続的および反復的に製造し、販売することができる。特に、全周囲立体画像の制作と再生に携わる民生機器産業において利用できる。
101 描画装置
102 リモコン
103 立体視対応ディスプレイ
104 液晶シャッターメガネ
105 サーバ
1 ユーザ操作検知部
2 位置方向判定部
3 ネットワークインターフェース
4 ローカルストレージ

Claims (7)

  1. 結合画像データについての立体視を実現する画像描画装置であって、
    前記結合画像データは、複数の背景画像データが横方向に結合したものであり、
    結合画像データを構成する個々の背景画像データに対して画素シフトを施すと共に、当該画素シフトに伴う境界処理を施すことで、2以上の視点テクスチャを得る画素シフト手段と、
    三次元モデリング空間における立体モデルの内側表面に、2以上の視点テクスチャをマッピングするテクスチャマッピング手段と、
    テクスチャマッピングがなされた立体モデルから、2以上の視点のそれぞれに対応するビューポート画像を抽出するビューポート変換手段とを備え、
    前記画素シフトは、
    個々の背景画像データを構成する画素の座標を横方向に移動させる処理であり、画素の移動量は、結合画像データに対応するデプス画像データにおける画素の奥行き値に基づき定められ、
    前記境界処理は、
    横方向への画素座標の移動によって個々の背景画像データの表示範囲からはみ出すことになる画素群を抽出して、抽出されたはみ出し画素群を、結合画像データにおいて横方向に隣接する他の背景画像データの端部に書き込む処理である
    ことを特徴とする画像描画装置。
  2. 前記画像描画装置は、
    表示領域バッファと、領域外バッファと、画素シフトの処理がなされた処理済みの背景画像データを格納しておくためのテクスチャメモリとを備え、
    前記画素シフトは、
    前記結合画像データを構成する複数の背景画像データのうち、処理対象になるものを表示領域バッファに格納して、表示領域バッファ上で背景画像データを構成する画素の座標を横方向に移動させると共に、背景画像データの表示範囲から画素がはみ出た画素群を抽出して領域外バッファに書き込むことでなされ、
    前記境界処理は、
    領域外バッファからはみだし画素群を読み出して、テクスチャメモリに格納された処理済み背景画像データにおける一方の端部に書き込むことでなされる
    ことを特徴とする請求項1記載の画像描画装置
  3. 前記結合画像データが、1つのメルカトル画像データの一方の端部と、他方の端部とを結合することで得られる結合メルカトル画像データである場合、
    前記境界処理は、
    結合メルカトル画像データにおける各画素がデプス画像データを元にシフトされることにより、メルカトル画像の表示範囲からはみ出すことになる画素群を抽出して、抽出されたはみ出し画素群を、抽出された端部とは逆側の端部に上書きする
    ことを特徴とする請求項1記載の画像描画装置。
  4. 前記画像描画装置は、ユーザ操作に従って、地図上のカレント視点位置と、カレント視線方向とを判定する位置方向判定手段と、
    地図上のカレント視点位置に対応する地理的情報を用いて画像取得要求を作成し、画像収集サーバに送信することでストリートビューファイルのダウンロードを行う取得手段とを備え、
    画像収集サーバからダウンロードされたストリートビューファイルは画像取得要求に含まれる地理的情報と合致する撮影地属性を有し、
    前記結合画像データは、ダウンロードされたストリートビューファイル内に存在する
    ことを特徴とする請求項1記載の画像描画装置。
  5. 前記結合画像データは視点周囲画像であり、複数の背景画像データを横方向に結合させることで画像取得要求における地理的情報に対応する地理的位置から周囲を見渡した場合の光景を表す
    ことを特徴とする請求項1記載の画像描画装置。
  6. 結合画像データについての立体視を実現する映像描画方法であって、
    前記結合画像データは、複数の背景画像データが横方向に結合したものであり、
    結合画像データを構成する個々の背景画像データに対して画素シフトを施すと共に、当該画素シフトに伴う境界処理を施すことで、2以上の視点テクスチャを得る画素シフトステップと、
    三次元モデリング空間における立体モデルの内側表面に、2以上の視点テクスチャをマッピングするテクスチャマッピングステップと、
    テクスチャマッピングがなされた立体モデルから、2以上の視点のそれぞれに対応するビューポート画像を抽出するビューポート変換ステップとを含み、
    前記画素シフトは、
    個々の背景画像データを構成する画素の座標を横方向に移動させる処理であり、画素の移動量は、結合画像データに対応するデプス画像データにおける画素の奥行き値に基づき定められ、
    前記境界処理は、
    横方向への画素座標の移動によって個々の背景画像データの表示範囲からはみ出すことになる画素群を抽出して、抽出されたはみ出し画素群を、結合画像データにおいて横方向に隣接する他の背景画像データの端部に書き込む処理である
    ことを特徴とする映像描画方法。
  7. 結合画像データについての立体視をコンピュータに実現させる映像描画プログラムであって、
    前記結合画像データは、複数の背景画像データが横方向に結合したものであり、
    結合画像データを構成する個々の背景画像データに対して画素シフトを施すと共に、当該画素シフトに伴う境界処理を施すことで、2以上の視点テクスチャを得る画素シフトステップと、
    三次元モデリング空間における立体モデルの内側表面に、2以上の視点テクスチャをマッピングするテクスチャマッピングステップと、
    テクスチャマッピングがなされた立体モデルから、2以上の視点のそれぞれに対応するビューポート画像を抽出するビューポート変換ステップとをコンピュータに実行させ
    前記画素シフトは、
    個々の背景画像データを構成する画素の座標を横方向に移動させる処理であり、画素の移動量は、結合画像データに対応するデプス画像データにおける画素の奥行き値に基づき定められ、
    前記境界処理は、
    横方向への画素座標の移動によって個々の背景画像データの表示範囲からはみ出すことになる画素群を抽出して、抽出されたはみ出し画素群を、結合画像データにおいて横方向に隣接する他の背景画像データの端部に書き込む処理である
    ことを特徴とする映像描画プログラム。
JP2012542263A 2011-03-31 2012-03-02 全周囲立体画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム Expired - Fee Related JP5891426B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161470032P 2011-03-31 2011-03-31
US61/470,032 2011-03-31
PCT/JP2012/001460 WO2012132234A1 (ja) 2011-03-31 2012-03-02 全周囲立体画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム

Publications (2)

Publication Number Publication Date
JPWO2012132234A1 JPWO2012132234A1 (ja) 2014-07-24
JP5891426B2 true JP5891426B2 (ja) 2016-03-23

Family

ID=46930030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012542263A Expired - Fee Related JP5891426B2 (ja) 2011-03-31 2012-03-02 全周囲立体画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム

Country Status (4)

Country Link
US (1) US8907968B2 (ja)
JP (1) JP5891426B2 (ja)
CN (1) CN102971770B (ja)
WO (1) WO2012132234A1 (ja)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286941B2 (en) 2001-05-04 2016-03-15 Legend3D, Inc. Image sequence enhancement and motion picture project management system
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US9282321B2 (en) 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
US9241147B2 (en) 2013-05-01 2016-01-19 Legend3D, Inc. External depth map transformation method for conversion of two-dimensional images to stereoscopic images
US9288476B2 (en) * 2011-02-17 2016-03-15 Legend3D, Inc. System and method for real-time depth modification of stereo images of a virtual reality environment
US9407904B2 (en) * 2013-05-01 2016-08-02 Legend3D, Inc. Method for creating 3D virtual reality from 2D images
US9113130B2 (en) 2012-02-06 2015-08-18 Legend3D, Inc. Multi-stage production pipeline system
US20130201296A1 (en) * 2011-07-26 2013-08-08 Mitchell Weiss Multi-camera head
US9557885B2 (en) 2011-08-09 2017-01-31 Gopro, Inc. Digital media editing
GB2498184A (en) * 2012-01-03 2013-07-10 Liang Kong Interactive autostereoscopic three-dimensional display
US9547937B2 (en) 2012-11-30 2017-01-17 Legend3D, Inc. Three-dimensional annotation system and method
JP6044328B2 (ja) 2012-12-26 2016-12-14 株式会社リコー 画像処理システム、画像処理方法およびプログラム
US20140215296A1 (en) * 2013-01-25 2014-07-31 Chunghwa Wideband Best Network Co., Ltd. Method and system for presenting a webpage
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9438878B2 (en) 2013-05-01 2016-09-06 Legend3D, Inc. Method of converting 2D video to 3D video using 3D object models
JP6167703B2 (ja) * 2013-07-08 2017-07-26 株式会社リコー 表示制御装置、プログラム及び記録媒体
CN108495051B (zh) 2013-08-09 2021-07-06 热成像雷达有限责任公司 采用多个虚拟设备分析热像数据的方法和将深度值与图像像素进行关联的方法
US9965856B2 (en) 2013-10-22 2018-05-08 Seegrid Corporation Ranging cameras using a common substrate
US20150228106A1 (en) * 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
US9754159B2 (en) 2014-03-04 2017-09-05 Gopro, Inc. Automatic generation of video from spherical content using location-based metadata
JP2015186015A (ja) * 2014-03-24 2015-10-22 株式会社Jvcケンウッド 画像処理装置、画像処理方法、プログラム及びカメラ
US9972121B2 (en) * 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
US9934222B2 (en) 2014-04-22 2018-04-03 Google Llc Providing a thumbnail image that follows a main image
USD781317S1 (en) 2014-04-22 2017-03-14 Google Inc. Display screen with graphical user interface or portion thereof
USD780777S1 (en) 2014-04-22 2017-03-07 Google Inc. Display screen with graphical user interface or portion thereof
US9792502B2 (en) 2014-07-23 2017-10-17 Gopro, Inc. Generating video summaries for a video using video summary templates
US9685194B2 (en) 2014-07-23 2017-06-20 Gopro, Inc. Voice-based video tagging
CN104236547A (zh) * 2014-10-07 2014-12-24 谭希妤 基于惯性导航系统的建筑物内部电子地图的方法与系统
EP3032495B1 (en) * 2014-12-10 2019-11-13 Dassault Systèmes Texturing a 3d modeled object
US9734870B2 (en) 2015-01-05 2017-08-15 Gopro, Inc. Media identifier generation for camera-captured media
US10127714B1 (en) * 2015-01-27 2018-11-13 Google Llc Spherical three-dimensional video rendering for virtual reality
US9679605B2 (en) 2015-01-29 2017-06-13 Gopro, Inc. Variable playback speed template for video editing application
KR102533555B1 (ko) 2015-02-17 2023-05-18 네버마인드 캐피탈 엘엘씨 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치
US10362290B2 (en) 2015-02-17 2019-07-23 Nextvr Inc. Methods and apparatus for processing content based on viewing information and/or communicating content
WO2016147272A1 (ja) * 2015-03-13 2016-09-22 日本電気株式会社 生体検知装置、生体検知方法、および、記録媒体
US10366509B2 (en) * 2015-03-31 2019-07-30 Thermal Imaging Radar, LLC Setting different background model sensitivities by user defined regions and background filters
WO2016187235A1 (en) 2015-05-20 2016-11-24 Gopro, Inc. Virtual lens simulation for video and photo cropping
US10061492B2 (en) 2015-06-04 2018-08-28 Microsoft Technology Licensing, Llc Path-linked viewpoints from point of interest
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US9277122B1 (en) * 2015-08-13 2016-03-01 Legend3D, Inc. System and method for removing camera rotation from a panoramic video
WO2017031117A1 (en) * 2015-08-17 2017-02-23 Legend3D, Inc. System and method for real-time depth modification of stereo images of a virtual reality environment
US10217189B2 (en) * 2015-09-16 2019-02-26 Google Llc General spherical capture methods
US9609307B1 (en) 2015-09-17 2017-03-28 Legend3D, Inc. Method of converting 2D video to 3D video using machine learning
US9858706B2 (en) * 2015-09-22 2018-01-02 Facebook, Inc. Systems and methods for content streaming
US10096130B2 (en) * 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
US9721611B2 (en) 2015-10-20 2017-08-01 Gopro, Inc. System and method of generating video from video clips based on moments of interest within the video clips
US10204273B2 (en) 2015-10-20 2019-02-12 Gopro, Inc. System and method of providing recommendations of moments of interest within video clips post capture
US9473758B1 (en) * 2015-12-06 2016-10-18 Sliver VR Technologies, Inc. Methods and systems for game video recording and virtual reality replay
US10109319B2 (en) 2016-01-08 2018-10-23 Gopro, Inc. Digital media editing
US10083537B1 (en) 2016-02-04 2018-09-25 Gopro, Inc. Systems and methods for adding a moving visual element to a video
US10230957B2 (en) 2016-03-22 2019-03-12 Cyberlink Corp. Systems and methods for encoding 360 video
US9794632B1 (en) 2016-04-07 2017-10-17 Gopro, Inc. Systems and methods for synchronization based on audio track changes in video editing
US9838730B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing
US9838731B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing with audio mixing option
EP3249929A1 (en) * 2016-05-25 2017-11-29 Thomson Licensing Method and network equipment for establishing a manifest
KR102589496B1 (ko) * 2016-07-04 2023-10-16 삼성전자 주식회사 화면 표시 방법 및 이를 지원하는 전자 장치
US10185891B1 (en) 2016-07-08 2019-01-22 Gopro, Inc. Systems and methods for compact convolutional neural networks
US10621469B2 (en) * 2016-07-28 2020-04-14 Troy Plota Automated pixel shifting within a video file
US10339688B2 (en) * 2016-07-28 2019-07-02 Cyberlink Corp. Systems and methods for rendering effects in 360 video
JP6930541B2 (ja) * 2016-08-19 2021-09-01 ソニーグループ株式会社 画像処理装置および画像処理方法
JP6657475B2 (ja) * 2016-08-25 2020-03-04 エルジー エレクトロニクス インコーポレイティド 全方位ビデオを伝送する方法、全方位ビデオを受信する方法、全方位ビデオの伝送装置及び全方位ビデオの受信装置
WO2018038520A1 (ko) * 2016-08-25 2018-03-01 엘지전자 주식회사 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
US9836853B1 (en) 2016-09-06 2017-12-05 Gopro, Inc. Three-dimensional convolutional neural networks for video highlight detection
WO2018052100A1 (ja) * 2016-09-15 2018-03-22 株式会社カヤック 画像処理装置、画像処理方法、画像処理プログラム
KR102558473B1 (ko) 2016-09-30 2023-07-25 삼성전자주식회사 이미지를 표시하기 위한 방법 및 그 전자 장치
US10404960B2 (en) * 2016-10-10 2019-09-03 Samsung Electronics Co., Ltd. System and method to prevent boundary artifacts
KR102598082B1 (ko) * 2016-10-28 2023-11-03 삼성전자주식회사 영상 표시 장치, 모바일 장치 및 그 동작방법
US10284809B1 (en) 2016-11-07 2019-05-07 Gopro, Inc. Systems and methods for intelligently synchronizing events in visual content with musical features in audio content
US10262639B1 (en) 2016-11-08 2019-04-16 Gopro, Inc. Systems and methods for detecting musical features in audio content
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
WO2018123645A1 (ja) * 2016-12-28 2018-07-05 ソニー株式会社 生成装置、識別情報生成方法、再生装置および画像再生方法
EP3565260A1 (en) * 2016-12-28 2019-11-06 Sony Corporation Generation device, identification information generation method, reproduction device, and image generation method
WO2018123801A1 (ja) * 2016-12-28 2018-07-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル配信方法、三次元モデル受信方法、三次元モデル配信装置及び三次元モデル受信装置
US10334238B2 (en) * 2017-01-03 2019-06-25 Black Sails Technology Inc. Method and system for real-time rendering displaying high resolution virtual reality (VR) video
US10534966B1 (en) 2017-02-02 2020-01-14 Gopro, Inc. Systems and methods for identifying activities and/or events represented in a video
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10127943B1 (en) 2017-03-02 2018-11-13 Gopro, Inc. Systems and methods for modifying videos based on music
US10185895B1 (en) 2017-03-23 2019-01-22 Gopro, Inc. Systems and methods for classifying activities captured within images
US10083718B1 (en) 2017-03-24 2018-09-25 Gopro, Inc. Systems and methods for editing videos based on motion
US10477200B2 (en) * 2017-04-13 2019-11-12 Facebook, Inc. Panoramic camera systems
US10187690B1 (en) 2017-04-24 2019-01-22 Gopro, Inc. Systems and methods to detect and correlate user responses to media content
US11802968B2 (en) 2017-05-31 2023-10-31 Woven By Toyota, U.S., Inc. System of vehicles equipped with imaging equipment for high-definition near real-time map generation
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
CN107392851A (zh) * 2017-07-04 2017-11-24 上海小蚁科技有限公司 用于生成全景图像的方法和设备
CN107318010B (zh) * 2017-07-05 2019-10-11 上海小蚁科技有限公司 用于生成立体全景图像的方法和设备
EP3435670A1 (en) * 2017-07-25 2019-01-30 Koninklijke Philips N.V. Apparatus and method for generating a tiled three-dimensional image representation of a scene
EP3680857B1 (en) * 2017-09-11 2021-04-28 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image processing method and apparatus, electronic device and computer-readable storage medium
US10574886B2 (en) 2017-11-02 2020-02-25 Thermal Imaging Radar, LLC Generating panoramic video for video management systems
US11474254B2 (en) 2017-11-07 2022-10-18 Piaggio Fast Forward Inc. Multi-axes scanning system from single-axis scanner
CN109035375B (zh) * 2018-06-22 2023-11-10 广州久邦世纪科技有限公司 一种基于OpenGL的3D眼镜渲染方法及其系统
US10652514B2 (en) 2018-07-19 2020-05-12 Facebook, Inc. Rendering 360 depth content
EP3598395A1 (en) * 2018-07-19 2020-01-22 Facebook, Inc. Rendering 360 depth content
CN110956583B (zh) * 2018-09-26 2022-05-10 华为技术有限公司 球面图像处理方法、装置及服务器
US10657699B1 (en) * 2018-12-08 2020-05-19 Arm Limited Performing texturing operations for sets of plural execution threads in graphics processing systems
US11190755B2 (en) * 2019-06-12 2021-11-30 Sony Interactive Entertainment Inc. Asymmetric arrangement of left and right displays to improve image quality for a stereoscopic head-mounted display (HMD)
CN110930305A (zh) * 2019-10-25 2020-03-27 江苏荣策士科技发展有限公司 一种基于空间坐标轴的全景图像的拼接方法
KR102593103B1 (ko) * 2019-10-28 2023-10-24 주식회사 케이티 카메라를 정렬하는 장치, 방법 및 컴퓨터 프로그램
US11601605B2 (en) 2019-11-22 2023-03-07 Thermal Imaging Radar, LLC Thermal imaging camera device
US11758101B2 (en) * 2020-08-25 2023-09-12 Samsung Electronics Co., Ltd. Restoration of the FOV of images for stereoscopic rendering
KR102558095B1 (ko) * 2020-12-15 2023-07-24 한국과학기술원 의미론적 객체 매칭을 통한 파노라마 텍스처 매핑 방법 및 시스템
CN115578502B (zh) * 2022-11-18 2023-04-07 杭州枕石智能科技有限公司 一种图像生成方法、装置、电子设备及存储介质
TWI828575B (zh) * 2023-04-14 2024-01-01 欣時代數位科技有限公司 環景佈景生成系統及其控制方法
CN116893816B (zh) * 2023-09-08 2024-01-23 北京趋动智能科技有限公司 远程渲染方法、装置及存储介质
CN117197319B (zh) * 2023-11-07 2024-03-22 腾讯科技(深圳)有限公司 图像生成方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11514118A (ja) * 1996-06-07 1999-11-30 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 立体画像の発生
JP2003284093A (ja) * 2002-03-27 2003-10-03 Sanyo Electric Co Ltd 立体画像処理方法および装置
JP2004132933A (ja) * 2002-10-15 2004-04-30 Japan Science & Technology Agency アクティブセンサの位置・姿勢推定方法及びその装置、並びにアクティブセンサの位置・姿勢推定プログラム
JP2009123219A (ja) * 2007-11-16 2009-06-04 Gwangju Inst Of Science & Technology 深さマップ推定装置と方法、これを用いた中間映像生成方法および多視点ビデオのエンコーディング方法
JP2009129183A (ja) * 2007-11-22 2009-06-11 Internatl Business Mach Corp <Ibm> 仮想空間を構築するための画像処理方法、装置
JP2009194920A (ja) * 2002-06-28 2009-08-27 Sharp Corp 画像符号化装置、および画像送信装置
WO2010032403A1 (ja) * 2008-09-18 2010-03-25 パナソニック株式会社 映像コンテンツを立体視再生する再生装置、再生方法、および再生プログラム
JP2010193458A (ja) * 2009-02-19 2010-09-02 Sony Europe Ltd 画像処理装置、画像処理システム及び画像処理方法
JP2010531007A (ja) * 2007-05-25 2010-09-16 グーグル インコーポレイテッド パノラマのイメージを描画すること、閲覧すること、および注釈をつけること、ならびにそのアプリケーション
JP2011039358A (ja) * 2009-08-14 2011-02-24 Shibaura Institute Of Technology 立体画像地図

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2357838B1 (en) * 2002-03-27 2016-03-16 Sanyo Electric Co., Ltd. Method and apparatus for processing three-dimensional images
US8369607B2 (en) * 2002-03-27 2013-02-05 Sanyo Electric Co., Ltd. Method and apparatus for processing three-dimensional images
JP3852934B2 (ja) * 2003-05-20 2006-12-06 株式会社バンダイナムコゲームス 画像処理システム、プログラム及び情報記憶媒体
US8515207B2 (en) 2007-05-25 2013-08-20 Google Inc. Annotations in panoramic images, and applications thereof
US7843451B2 (en) 2007-05-25 2010-11-30 Google Inc. Efficient rendering of panoramic images, and applications thereof
US7990394B2 (en) 2007-05-25 2011-08-02 Google Inc. Viewing and navigating within panoramic images, and applications thereof
JP5055214B2 (ja) * 2007-10-19 2012-10-24 キヤノン株式会社 画像処理装置、画像処理方法
WO2010095403A1 (ja) 2009-02-17 2010-08-26 パナソニック株式会社 再生装置、再生方法、プログラム
US20100306249A1 (en) * 2009-05-27 2010-12-02 James Hill Social network systems and methods
US20110080462A1 (en) 2009-10-02 2011-04-07 Panasonic Corporation Playback device, integrated circuit, playback method, and program for stereoscopic video playback
KR20120091007A (ko) * 2009-10-02 2012-08-17 파나소닉 주식회사 입체 시 영상을 재생할 수 있는 재생장치, 집적회로, 재생방법, 프로그램
US10080006B2 (en) * 2009-12-11 2018-09-18 Fotonation Limited Stereoscopic (3D) panorama creation on handheld device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11514118A (ja) * 1996-06-07 1999-11-30 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 立体画像の発生
JP2003284093A (ja) * 2002-03-27 2003-10-03 Sanyo Electric Co Ltd 立体画像処理方法および装置
JP2009194920A (ja) * 2002-06-28 2009-08-27 Sharp Corp 画像符号化装置、および画像送信装置
JP2004132933A (ja) * 2002-10-15 2004-04-30 Japan Science & Technology Agency アクティブセンサの位置・姿勢推定方法及びその装置、並びにアクティブセンサの位置・姿勢推定プログラム
JP2010531007A (ja) * 2007-05-25 2010-09-16 グーグル インコーポレイテッド パノラマのイメージを描画すること、閲覧すること、および注釈をつけること、ならびにそのアプリケーション
JP2009123219A (ja) * 2007-11-16 2009-06-04 Gwangju Inst Of Science & Technology 深さマップ推定装置と方法、これを用いた中間映像生成方法および多視点ビデオのエンコーディング方法
JP2009129183A (ja) * 2007-11-22 2009-06-11 Internatl Business Mach Corp <Ibm> 仮想空間を構築するための画像処理方法、装置
WO2010032403A1 (ja) * 2008-09-18 2010-03-25 パナソニック株式会社 映像コンテンツを立体視再生する再生装置、再生方法、および再生プログラム
JP2010193458A (ja) * 2009-02-19 2010-09-02 Sony Europe Ltd 画像処理装置、画像処理システム及び画像処理方法
JP2011039358A (ja) * 2009-08-14 2011-02-24 Shibaura Institute Of Technology 立体画像地図

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012018224; 飯塚 里志 外3名: '"簡易ユーザ入力による景観画像の3Dシーン生成システム"' 情報処理学会研究報告 研究報告 グラフィックスとCAD(CG) No.142, 20110415, p.1-6 *

Also Published As

Publication number Publication date
CN102971770A (zh) 2013-03-13
US8907968B2 (en) 2014-12-09
CN102971770B (zh) 2016-02-10
JPWO2012132234A1 (ja) 2014-07-24
WO2012132234A1 (ja) 2012-10-04
US20130044108A1 (en) 2013-02-21

Similar Documents

Publication Publication Date Title
JP5891426B2 (ja) 全周囲立体画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム
JP5891425B2 (ja) 追体験映像を提供することができる映像提供装置、映像提供方法、映像提供プログラム
JP5891388B2 (ja) 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム
EP3673463B1 (en) Rendering an image from computer graphics using two rendering computing devices
JP4764305B2 (ja) 立体画像生成装置、方法およびプログラム
JP7007348B2 (ja) 画像処理装置
US20070070067A1 (en) Scene splitting for perspective presentations
TW201921921A (zh) 基於紋理圖與網格之3d影像資訊的處理
CN101189643A (zh) 3d图像生成和显示系统
US8619071B2 (en) Image view synthesis using a three-dimensional reference model
US11417060B2 (en) Stereoscopic rendering of virtual 3D objects
JP2022179473A (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
TW201921318A (zh) 用於產生場景之舖磚式三維影像表示之設備及方法
KR102059732B1 (ko) 디지털 비디오 렌더링
EP3057316B1 (en) Generation of three-dimensional imagery to supplement existing content
CN115908716A (zh) 虚拟场景灯光渲染方法、装置、存储介质及电子设备
CN117011492B (zh) 图像渲染方法、装置、电子设备及存储介质
JP6898264B2 (ja) 合成装置、方法及びプログラム
US20210297649A1 (en) Image data output device, content creation device, content reproduction device, image data output method, content creation method, and content reproduction method
CN114051089B (zh) 一种全景视频中投放资源的方法及显示设备
Sauerbier et al. Multi-resolution image-based visualization of archaeological landscapes in Palpa (Peru)
CN114051090B (zh) 一种全景视频中投放资源的方法及显示设备
WO2023166794A1 (ja) 情報処理装置、情報処理方法、画像生成装置、画像生成方法及びプログラム
Alshammari et al. Creation of a virtual landscape of Al-Madinah Al-Munwwarah in Saudi Arabia including 3-dimensional scene attributes

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140606

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141006

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151112

R151 Written notification of patent or utility model registration

Ref document number: 5891426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

SZ03 Written request for cancellation of trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z03

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees