以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1実施の形態:画像表示システム(図1乃至図28)
2.第2実施の形態:画像表示システム(図29)
3.テクスチャ画像の他の例(図30)
4.第3実施の形態:画像表示システム(図31乃至58)
5.第4実施の形態:コンピュータ(図59)
6.応用例(図60および図61)
<第1実施の形態>
(画像表示システムの第1実施の形態の構成例)
図1は、本開示を適用した画像表示システムの第1実施の形態の構成例を示すブロック図である。
図1の画像表示システム10は、マルチカメラ11、コンテンツサーバ12、ホームサーバ13、変換装置14、およびヘッドマウントディスプレイ15により構成される。画像表示システム10は、マルチカメラ11により撮影されたYCbCr画像(YUV画像)である撮影画像から全天球画像を生成し、全天球画像のうちの視聴者の視野範囲の画像を表示する。
具体的には、画像表示システム10のマルチカメラ11は、水平方向の周囲360度および垂直方向の周囲180度を撮影範囲として、外向きに配置された複数(図1の例では6個)のカメラにより構成される。各カメラは、撮影を行い、撮影画像をフレーム単位で生成する。マルチカメラ11は、各カメラの撮影画像をコンテンツサーバ12に供給する。
コンテンツサーバ12(画像処理装置)は、マルチカメラ11から供給される各カメラの撮影画像から、所定の視点の全天球画像のテクスチャ画像とデプス画像を生成する。第1実施の形態では、デプス画像は、所定の視点から各画素における被写体までの直線の距離rを示す8ビットの値としての、距離rの逆数1/rを画素値とする画像である。
コンテンツサーバ12は、全天球画像のテクスチャ画像とデプス画像を低解像度化し、低解像度テクスチャ画像と低解像度デプス画像とを生成する。コンテンツサーバ12は、低解像度テクスチャ画像と低解像度デプス画像を、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)/H.265等の符号化方式で圧縮符号化する。コンテンツサーバ12は、その結果得られる低解像度テクスチャ画像の符号化ストリーム(以下、低解像度テクスチャストリームという)と低解像度デプス画像の符号化ストリーム(以下、低解像度デプスストリームという)を記憶する。
また、コンテンツサーバ12は、各カメラの撮影画像を用いて、全天球画像における視点を中心とした立方体を構成する6つの面に対応するテクスチャ画像とデプス画像を階層化して生成する。具体的には、コンテンツサーバ12は、6つの面の第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を生成する。なお、全天球画像における視点と立方体の中心は異なっていてもよい。
コンテンツサーバ12は、各面の第1レイヤのテクスチャ画像とデプス画像からなる第1レイヤ画像と、各面の第2レイヤのテクスチャ画像とデプス画像からなる第2レイヤ画像を、面、画像の種類、およびレイヤごとに、AVCやHEVC等の符号化方式で圧縮符号化する。コンテンツサーバ12は、その結果得られる各面の第1レイヤのテクスチャ画像の符号化ストリーム(以下、第1レイヤテクスチャストリームという)、第1レイヤのデプス画像の符号化ストリーム(以下、第1レイヤデプスストリームという)、第2レイヤのテクスチャ画像の符号化ストリーム(以下、第2レイヤテクスチャストリームという)、および第2レイヤのデプス画像の符号化ストリーム(以下、第2レイヤデプスストリームという)を記憶する。なお、第1レイヤ画像と第2レイヤ画像の符号化方式は、MVC(Multiview Video Coding)方式や3D-HEVC方式等であってもよい。
また、コンテンツサーバ12は、第1レイヤおよび第2レイヤの各面に関する情報等をメタデータとして生成し、記憶する。コンテンツサーバ12は、記憶している低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを、図示せぬネットワークを介してホームサーバ13に伝送する。
なお、コンテンツサーバ12は、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを再構成(詳細は後述する)することもできる。この場合、コンテンツサーバ12は、再構成後の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームと、それらに対応するメタデータをホームサーバ13に伝送することもできる。しかしながら、以下では、説明の便宜上、再構成が行われた場合であっても、再構成前の6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームが、コンテンツサーバ12に伝送されるものとする。
ホームサーバ13(画像処理装置)は、コンテンツサーバ12から伝送されてくる、低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取る。
また、ホームサーバ13は、カメラ13Aを内蔵し、視聴者の頭部に装着されるヘッドマウントディスプレイ15に付されたマーカ15Aを撮影する。そして、ホームサーバ13は、マーカ15Aの撮影画像に基づいて視聴位置を検出する。さらに、ホームサーバ13は、ヘッドマウントディスプレイ15のジャイロセンサ15Bの検出結果を、ヘッドマウントディスプレイ15から変換装置14を介して受け取る。ホームサーバ13は、ジャイロセンサ15Bの検出結果に基づいて視聴者の視線方向を決定し、視聴位置と視線方向に基づいて視聴者の視野範囲を決定する。
ホームサーバ13は、第1レイヤの6つの面のうちの、視聴者の視線方向に対応する3つの面を選択する。そして、ホームサーバ13は、選択された3つの面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを復号する。これにより、ホームサーバ13は、選択された3つの面に対応する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像を生成する。
また、ホームサーバ13は、低解像度テクスチャストリームと低解像度デプスストリームを復号し、低解像度テクスチャ画像と低解像度デプス画像を生成する。ホームサーバ13は、選択された3つの面に対応する第1レイヤおよび第2レイヤのテクスチャ画像およびデプス画像、並びに、低解像度テクスチャ画像と低解像度デプス画像を用いて、視聴者の視野範囲の画像を表示画像として生成する。ホームサーバ13は、図示せぬHDMI(登録商標)(High-Definition Multimedia Interface)ケーブルを介して表示画像を変換装置14に伝送する。
変換装置14は、ホームサーバ13から伝送されてくる表示画像における座標を、ヘッドマウントディスプレイ15における座標に変換する。変換装置14は、座標変換後の表示画像をヘッドマウントディスプレイ15に供給する。
ヘッドマウントディスプレイ15は、マーカ15Aとジャイロセンサ15Bを有し、視聴者の頭部に装着される。ヘッドマウントディスプレイ15は、変換装置14から供給される表示画像を表示する。また、ヘッドマウントディスプレイ15に内蔵されるジャイロセンサ15Bは、ヘッドマウントディスプレイ15の傾きを検出し、その検出結果を、変換装置14を介してホームサーバ13に伝送する。
(コンテンツサーバの構成例)
図2は、図1のコンテンツサーバ12の構成例を示すブロック図である。
図2のコンテンツサーバ12は、デプス検出部31、量子化部32、低解像度画像処理部33、および高解像度画像処理部34により構成される。
コンテンツサーバ12のデプス検出部31は、図1のマルチカメラ11から供給される各カメラの撮影画像の画素ごとに、その画素における被写体を含む奥行き方向に垂直なデプス平面とカメラの間の奥行き方向の距離zの逆数1/zを検出する。デプス検出部31は、その結果得られる各カメラの撮影画像の各画素の逆数1/zを量子化部32に供給する。
量子化部32は、デプス検出部31から供給される各カメラの撮影画像の各画素の逆数1/zを、全天球画像において視点とされるマルチカメラ11の3次元座標系(以下、カメラ座標系という)における所定の3次元位置を視点としたときの逆数1/rに変換する。そして、量子化部32は、以下の式(1)により、逆数1/rに対して8ビット量子化を行う。
なお、Id(r)は、距離rの逆数1/rの8ビット量子化後の値である。rmax,rminは、それぞれ、全カメラの撮影画像における距離rの最大値、最小値である。
量子化部32は、各カメラの撮影画像の各画素の逆数1/rの8ビット量子化後の値を画素値とすることにより、各カメラのデプス画像を生成し、低解像度画像処理部33と高解像度画像処理部34に供給する。
低解像度画像処理部33は、カメラ座標系における所定の3次元位置を視点として、マルチカメラ11から供給される各カメラの撮影画像を、視点を中心とした正八面体にマッピング(透視投影)することにより、全天球画像のテクスチャ画像を生成する。また、低解像度画像処理部33は、量子化部32から供給される各カメラのデプス画像を、撮影画像と同様に正八面体にマッピングすることにより、全天球画像のデプス画像を生成する。
低解像度画像処理部33は、全天球画像のテクスチャ画像とデプス画像を低解像度化し、低解像度テクスチャ画像と低解像度デプス画像を生成する。低解像度画像処理部33は、低解像度テクスチャ画像と低解像度デプス画像を圧縮符号化し、その結果得られる低解像度テクスチャストリームと低解像度デプスストリームを記憶する。低解像度画像処理部33は、記憶している低解像度テクスチャストリームと低解像度デプスストリームを、図1のホームサーバ13に送信する。
高解像度画像処理部34は、マルチカメラ11から供給される各カメラの撮影画像を用いて、低解像度画像処理部33における正八面体と中心が同一である立方体を構成する6つの面に対応する第1レイヤおよび第2レイヤのテクスチャ画像を生成する。高解像度画像処理部34は、量子化部32から供給される各カメラのデプス画像を用いて、撮影画像と同様に6つの面に対応する第1レイヤおよび第2レイヤのデプス画像を生成する。
高解像度画像処理部34は、各面の第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を、面、画像の種類、およびレイヤごとに圧縮符号化する。コンテンツサーバ12は、その結果得られる第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを記憶する。
また、高解像度画像処理部34は、メタデータを生成して記憶する。コンテンツサーバ12は、記憶している6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを、図示せぬネットワークを介してホームサーバ13に伝送する。
(高解像度画像処理部の構成例)
図3は、図2の高解像度画像処理部34の構成例を示すブロック図である。
図3の高解像度画像処理部34は、第1レイヤ生成部52、エンコーダ53、第2レイヤ生成部54、エンコーダ55、設定部56、メタデータ生成部57、ストレージ58、再構成部59、および伝送部60により構成される。
第1レイヤ生成部52には、設定部56から、カメラ座標系における全天球画像の視点を原点とした3次元座標系(以下、3Dモデル座標系という)における、第1レイヤの視点の3次元位置として原点を示す視点位置情報が供給される。また、第1レイヤ生成部52には、3Dモデル座標系における原点を中心とした立方体を構成する6つの面をそれぞれ含む6つの面それぞれの、3Dモデル座標系における3次元位置およびサイズを示す面情報が供給される。
第1レイヤ生成部52は、視点位置情報が示す原点を第1レイヤの視点(第1の視点)に設定する。第1レイヤ生成部52(画像生成部)は、カメラ座標系における全天球画像の視点を原点として、第1レイヤの視点から、図1のマルチカメラ11から供給される撮影画像を、6つの各面情報が示す3次元位置およびサイズの面のそれぞれにマッピングする。これにより、第1レイヤ生成部52は、第1レイヤの6つの面のテクスチャ画像を生成する。
また、第1レイヤ生成部52(画像生成部)は、カメラ座標系における全天球画像の視点を原点として、第1レイヤの視点から、図2の量子化部32から供給されるデプス画像を、6つの各面情報が示す3次元位置およびサイズの面のそれぞれにマッピングする。これにより、第1レイヤ生成部52は、第1レイヤの6つの面のデプス画像を生成する。
第1レイヤの6つの面に対応する視点は同一であるため、第1レイヤの6つの面のテクスチャ画像は、第1レイヤの視点を中心とした3Dモデルにマッピングされた全天球画像を6つの面にマッピングすることにより得られた画像であるといえる。同様に、第1レイヤの6つの面のデプス画像は、第1レイヤの視点を中心とした3Dモデルにマッピングされた全天球画像のデプス画像を6つの面にマッピングすることにより得られた画像であるといえる。第1レイヤ生成部52は、第1レイヤの6つの面のテクスチャ画像とデプス画像をエンコーダ53に供給する。
エンコーダ53は、第1レイヤ生成部52から供給される第1レイヤの6つの面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化し、第1レイヤテクスチャストリームと第1レイヤデプスストリームを生成する。エンコーダ53は、第1レイヤテクスチャストリームと第1レイヤデプスストリームをストレージ58に供給する。
第2レイヤ生成部54には、設定部56から、第1レイヤの各面に対応する第2レイヤの各面の、第1レイヤの視点とは異なる視点(第2の視点)の視点位置情報と、第1レイヤの各面に対応する第2レイヤの各面の面情報とが供給される。第2レイヤ生成部54は、第2レイヤの面ごとに、その面に対応する視点位置情報が示す3次元位置を第2レイヤの視点に設定する。
第2レイヤ生成部54(画像生成部)は、第2レイヤの面ごとに、その面に対応する第2レイヤの視点から、マルチカメラ11から供給される撮影画像のうちの第1レイヤの視点におけるオクルージョン領域を、第2レイヤの面にマッピングする。これにより、第2レイヤ生成部54は、第2レイヤの6つの面のテクスチャ画像を生成する。
また、第2レイヤ生成部54(画像生成部)は、第2レイヤの面ごとに、その面に対応する第2レイヤの視点から、量子化部32から供給されるデプス画像のうちの第1レイヤの視点におけるオクルージョン領域を、第2レイヤの面にマッピングする。これにより、第2レイヤ生成部54は、第2レイヤの6つの面のデプス画像を生成する。
即ち、マルチカメラ11の各カメラの位置は異なっているため、カメラ座標系における1つの3次元位置を視点としたとき、撮影画像には、その視点におけるオクルージョン領域が含まれている。しかしながら、第1レイヤのテクスチャ画像は、1つの視点の全天球画像をマッピングすることにより生成されるため、第1レイヤのテクスチャ画像には、その視点におけるオクルージョン領域の撮影画像は含まれない。よって、第2レイヤ生成部54は、そのオクルージョン領域の撮影画像を第2レイヤのテクスチャ画像として含める。デプス画像についても同様である。
エンコーダ55は、第2レイヤ生成部54から供給される6つの面の第2レイヤのテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化し、第2レイヤテクスチャストリームと第2レイヤデプスストリームを生成する。エンコーダ55は、第2レイヤテクスチャストリームと第2レイヤデプスストリームをストレージ58に供給する。
設定部56は、3Dモデル座標系における原点を第1レイヤの視点として設定する。設定部56は、第1レイヤの視点を中心とした立方体を構成する6つの矩形の面をそれぞれ含む6つの面を第1レイヤの面として設定する。また、設定部56は、第1レイヤの面ごとに第2レイヤの視点と矩形の面を設定する。
設定部56は、第1レイヤの1つの視点位置情報と6つの面情報を第1レイヤ生成部52とメタデータ生成部57に供給する。また、設定部56は、第1レイヤの6つの面に対応する第2レイヤの6つの視点位置情報と6つの面情報を、第2レイヤ生成部54とメタデータ生成部57に供給する。
メタデータ生成部57は、設定部56から供給される第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給する。
ストレージ58は、エンコーダ53から供給される第1レイヤテクスチャストリームおよび第1レイヤデプスストリーム、並びに、エンコーダ55から供給される第2レイヤテクスチャストリームおよび第2レイヤデプスストリームを記憶する。また、ストレージ58は、メタデータ生成部57から供給されるメタデータを記憶する。
また、ストレージ58は、再構成部59から供給される再構成後の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに、メタデータを記憶する。
再構成部59は、必要に応じて、ストレージ58に記憶されている6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを読み出し、再構成する。
具体的には、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面の数や画角を変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面の数や画角を変更する。例えば、再構成部59は、第1レイヤの面を、立方体を構成する6つの面をそれぞれ含む6つの面から、その6つの面に各面の中心を通る法線が立方体の12本の各辺の中点と視点を通る線である12個の面を加えた18個の面に変更する。
または、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面どうしの間隔(密度)を変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面どうしの間隔を変更する。例えば、再構成部59は、第1レイヤの面を、中心を通る法線の間隔が90度である、立方体を構成する6つの面をそれぞれ含む6つの面から、中心を通る法線の間隔が45度である18個の面に変更する。
第1レイヤの面どうしの間隔が狭くなると、面数が増加するため、総データ容量は増加するが、ホームサーバ13において、より視聴者の視野範囲に近い第1レイヤの面に対応するテクスチャ画像およびデプス画像を用いて表示画像を生成することができる。その結果、表示画像内の、第1レイヤまたは第2レイヤのテクスチャ画像およびデプス画像を用いて生成される高解像度領域が増加し、表示画像の画質が向上する。
なお、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面の位置を変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面の位置を変更することにより、再構成を行ってもよい。この場合、再構成部59は、例えば、主要な被写体が第1レイヤの面の境界に存在するとき、主要な被写体が第1レイヤの面の境界以外の位置(例えば中央)に存在するように、第1レイヤの6つの面に対応する立方体を回転することにより、再構成を行う。
また、再構成部59は、再構成前の第1レイヤテクスチャストリームを用いて第1レイヤテクスチャストリームに対応する面の傾きを変更し、再構成前の第1レイヤデプスストリームを用いて第1レイヤデプスストリームに対応する面の傾きを変更することにより、再構成を行ってもよい。この場合、再構成部59は、例えば、第1レイヤのテクスチャ画像内の主要な被写体が傾いているとき、傾きがなくなるように、第1レイヤの6つの面に対応する立方体を回転することにより、再構成を行う。
再構成部59は、以上のようにして変更された第1レイヤの各面に対して、再構成後の第2レイヤの視点と面を設定する。そして、再構成部59は、再構成前の第2レイヤテクスチャストリームを用いて、第2レイヤテクスチャストリームに対応する視点および面を、設定された再構成後の第2レイヤの視点および面に変更する。また、再構成部59は、再構成前の第2レイヤデプスストリームを用いて、第2レイヤデプスストリームに対応する視点および面を、設定された再構成後の第2レイヤの視点および面に変更する。
再構成部59は、再構成後の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームをストレージ58に供給する。また、再構成部59は、再構成後の第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給する。
伝送部60は、ストレージ58から6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを読み出し、図1のホームサーバ13に送信する。
以上のように、図3の高解像度画像処理部34は、第1レイヤ画像と第2レイヤ画像を透視投影により生成する。従って、ホームサーバ13は、第1レイヤ画像と第2レイヤ画像に対して通常の画像用の処理を行うことができる。また、高解像度画像処理部34は、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、通常の画像の符号化ストリームの送信方法で送信することができる。
(デプス画像の効果の説明)
図4は、距離zと距離rを説明する図であり、図5は、距離zの最小値zminと距離rの最小値rminを説明する図である。
なお、図4および図5は、第1レイヤに対応する立方体の所定の面を上から見た図である。
距離zは、視点から各画素における被写体を含む奥行き方向に垂直なデプス平面までの奥行き方向の距離である。また、第1レイヤの各面の奥行き方向は、第1レイヤの各面に垂直な方向である。従って、第1レイヤの各面とデプス平面は平行になる。よって、第1レイヤの各面における距離zが同一であるデプス平面である等距離z面の形状は、第1レイヤの視点Oを中心とした立方体状になる。従って、等距離z面を第1レイヤに対応する立方体の所定の面の上から見た形状は、図4のAの点線で示すように正方形となる。
よって、第1レイヤの各面の画角が変更される場合、図5のAに示すように、全ての面における距離zの最小値zminが変化する。例えば、図5のAに示すように、第1レイヤの各面の横方向(図5中上下方向)の画角が90度から120度に変更される場合、変更後の各面のテクスチャ画像には、変更前の各面と横方向に隣接する、その面とは奥行き方向が異なる2つの面のテクスチャ画像が含まれる。従って、第1レイヤの各面の横方向の画角が120度である場合の最小値zminは、画角に含まれる、横方向に隣接する2つの面に対応する、第1レイヤの各面の横方向の画角が90度である場合の最小値zminの等距離z面61の位置を含むデプス平面と視点Oとの奥行き方向の距離zの最小値になる。距離zの最大値zmaxについても、最小値zminと同様である。
また、図6に示すように、第1レイヤに対応する立方体80が視点Oを通る線を軸として回転され、第1レイヤの各面の位置が変更される場合、変更前の面の奥行き方向pと変更後の面の奥行き方向qは異なる。従って、距離zの最小値zminと最大値zmaxは変化する。なお、図6において、点線は、変更前の面の等距離z面を示し、一点鎖線は、変更後の面の等距離z面を示している。
また、図示は省略するが、第1レイヤの面の数や間隔が変更される場合も、第1レイヤの各面の位置が変更される場合と同様に奥行き方向が変化するため、最小値zminと最大値zmaxは変化する。
以上のように、第1レイヤの面の画角、位置、数、または間隔が変更される場合、距離zの最小値zminと最大値zmaxは変化する。従って、第1レイヤのデプス画像の各画素のy値(輝度値)として、距離zの逆数1/zが用いられると、再構成部59による再構成時にデプス画像の8ビット量子化をやり直す必要がある。
これに対して、距離rは、視点から各画素における被写体までの直線の距離である。また、第1レイヤの各面の視点Oから被写体までの直線の方向は、面によらず、視点Oを中心とした円の半径方向である。従って、第1レイヤの各面における距離rが同一である等距離r面の形状は、第1レイヤの視点Oを中心とした球状になる。よって、等距離r面を第1レイヤに対応する立方体の所定の面の上から見た形状は、図4のBの点線で示すように円状になる。
以上のように、第1レイヤの各面の視点Oから被写体までの直線の方向は、面によらず同一であるため、第1レイヤの各面の画角が変更される場合であっても、図5のBに示すように、全ての面における距離rの最小値rminは変更されない。
例えば、変更前の各面と横方向(図5中上下方向)に隣接する2つの面における第1レイヤの各面の視点Oから被写体までの直線の方向は同一である。従って、図5のBに示すように、第1レイヤの各面の横方向の画角が90度から120度に変更され、変更後の各面のテクスチャ画像に、変更前の各面と横方向に隣接する2つの面のテクスチャ画像が含まれる場合であっても、最小値rminは変化しない。距離rの最大値rmaxについても、最小値rminと同様である。
また、図示は省略するが、第1レイヤの面の位置、数、または間隔が変更される場合も、第1レイヤの各面の画角が変更される場合と同様に第1レイヤの各面の視点Oから被写体までの直線の方向は変化しないため、最小値rminと最大値rmaxは変化しない。
従って、図2の量子化部32は、第1レイヤのデプス画像の各画素のy値として、逆数1/zではなく、逆数1/rの量子化値を用いることにより、再構成部59による再構成時にデプス画像の8ビット量子化をやり直す処理を削減することができる。
なお、上述した説明では、低解像度テクスチャストリームと低解像度デプスストリームは再構成されないようにしたが、再構成されるようにしてもよい。この場合も、低解像度デプス画像の各画素のy値は逆数1/rの量子化値であるので、第1レイヤのデプス画像の再構成時と同様に、再構成時に低解像度デプス画像の8ビット量子化をやり直す処理を削減することができる。
(第1レイヤの6つの面のデプス画像の各画素の球上の位置の例)
図7は、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の例を示す図である。
なお、図7では、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置が点で表されている。
第1レイヤの各面のデプス画像の各画素のデプス画像上の位置の間隔は等間隔である。しかしながら、図7に示すように、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の間隔は等間隔ではない。即ち、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の密度は、一定ではない。
(第1レイヤの面の例)
図8は、第1レイヤの面の例を示す図である。
なお、以下では、第1レイヤの視点Oと、第1レイヤに対応する立方体80を構成する6つの面81乃至86の中心を通る6つの軸のうちの、互いに直交する3つの軸を、X軸、Y軸、Z軸という。また、視点Oと6つの面81乃至86のそれぞれとの距離をRとしたときのX=Rである面81を、適宜、+X面81ともいい、X=−Rである面82を、適宜、−X面82ともいう。同様に、Y=Rである面83、Y=−rである面84、Z=Rである面85、Z=−Rである面86を、適宜、+Y面83、−Y面84、+Z面85、−Z面86ともいう。
また、図8のAは、第1レイヤの立方体80の斜視図であり、図8のBは、第1レイヤの立方体80をY軸の負方向に見た図である。
図8のAに示すように、第1レイヤの1つの面91は、視点Oを中心とした立方体80を構成する6つの面81乃至86のうちの+Y面83を含む面である。より詳細には、面91は、+Y面83と同一の位置に設定され、横方向と縦方向の画角が、+Y面83の画角である90度より大きく、180度より小さい面である。
従って、図8のBに示すように、面91のテクスチャ画像は、+Y面83にマッピングされたテクスチャ画像だけでなく、+Y面83に隣接する+X面81、−X面82、+Z面85、および−Z面86にマッピングされるテクスチャ画像の一部を含む。面91のデプス画像についても、テクスチャ画像と同様である。
図8では、第1レイヤの1つの面91のみ図示したが、他の5つの面も、面91と同様に、それぞれ、+X面81、−X面82、−Y面84、+Z面85、−Z面86と同一の位置に設定され、横方向と縦方向の画角が90度より大きく180度より小さい面である。
以上のように、第1レイヤの6つの面のそれぞれは、立方体を構成する6つの面81乃至86のそれぞれを含むように構成されるので、第1レイヤの6つの面のいずれかに必ず、全天球画像がマッピングされる。従って、ホームサーバ13は、第1レイヤの6つの面のうちの多くとも隣接する3つの面を用いれば、視点Oを視聴位置とした水平方向の周囲360度および垂直方向の周囲180度の任意の方向の表示画像を生成することができる。
(第1レイヤの視点位置情報および面情報のテーブルの構成例)
図9は、図3のメタデータ生成部57により生成されるメタデータのうちの、第1レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。
図9の例では、面情報のうちの、面の3Dモデル座標系における3次元位置を示す情報が、方位角、仰角、回転角、および視線ベクトルであり、サイズを示す情報が横画角と縦画角である。
方位角は、視点と各面の中心を結ぶ線とZ軸とのなすXZ平面方向の角度であり、仰角は、視点と各面の中心を結ぶ線とXZ平面とのなす角度である。ここでは、方位角は、右回りを正方向とし、仰角は、左回りを正方向とする。視点から延びるZ軸方向の線を方位角だけXZ平面上を水平回転した後、仰角だけY軸方向に上下回転した線が、面の中心を通る法線である。
回転角は、視点と各面の中心を結ぶ線を軸としたときの各面の回転方向の角度である。ここでは、回転角は右回りが正方向とする。視線ベクトルは、視点を起点として各面の中心へ向かう長さが1であるベクトル、即ち各面の中心を通る法線ベクトルである。横画角は、各面の横方向の2つの端部それぞれと視点とを結んだ線のなす角度であり、縦画角は、各面の縦方向の2つの端部それぞれと視点とを結んだ線のなす角度である。
図9に示すように、第1レイヤの視点位置情報および面情報のテーブルには、図3のストレージ58において各面の第1レイヤテクスチャストリームおよび第1レイヤデプスストリームが格納されるファイルのファイル名の共通部分が登録される。
具体的には、図9の例では、+Z面85、−Z面86、+X面81、−X面82、+Y面83、−Y面84をそれぞれ含む各面の第1レイヤテクスチャストリームのファイル名が、posZ_texture,negZ_texture,posX_texture,negX_texture,posY_texture,negY_textureである。また、+Z面85、−Z面86、+X面81、−X面82、+Y面83、−Y面84をそれぞれ含む各面の第1デプスストリームのファイル名が、それぞれ、posZ_depth,negZ_depth,posX_depth,negX_depth,posY_depth,negY_depthである。従って、図9のテーブルには、第1レイヤの各面のファイル名の共通部分として、posZ,negZ,posX,negX,posY,negYが登録される。
また、第1レイヤの視点位置情報および面情報のテーブルには、ファイル名の共通部分に対応付けて、そのファイル名の共通部分に対応する面の面情報、視点位置情報、テクスチャ画像およびデプス画像の横画素数および縦画素数が登録される。
具体的には、+Z面85、−Z面86、+X面81、−X面82、+Y面83、−Y面84をそれぞれ含む第1レイヤの各面の中心と視点Oを結ぶ線と、Z軸とのなすXZ平面方向の角度は、それぞれ、0度、−180度、90度、−90度、0度、0度であり、XZ平面とのなす角度は、それぞれ、0度、0度、0度、0度、90度、−90度である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、方位角「0度」、「−180度」、「90度」、「−90度」、「0度」、「0度」が登録されるとともに、仰角「0度」、「0度」、「0度」、「0度」、「90度」、「−90度」が登録される。
また、図9の例では、第1レイヤの全ての面の回転角は0度である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、回転角「0度」が登録される。さらに、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、視点位置情報として原点の座標(0,0,0)が登録される。
また、視点Oから、+Z面85、−Z面86、+X面81、−X面82、+Y面83、−Y面84をそれぞれ含む第1レイヤの各面の視線ベクトルは、(0,0,1),(0,0,-1),(1,0,0)(-1,0,0),(0,1,0),(0,-1,0)である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、視線ベクトル(0,0,1),(0,0,-1),(1,0,0)(-1,0,0),(0,1,0),(0,-1,0)が登録される。
さらに、図9の例では、第1レイヤの全ての面の横画角および縦画角は90度より大きい100度であり、テクスチャ画像およびデプス画像の横方向の画素数である横画素数および縦方向の画素数である縦画素数は1024である。従って、ファイル名の共通部分「posZ」,「negZ」,「posX」,「negX」,「posY」,「negY」のそれぞれに対応付けて、横画角「100度」、縦画角「100度」、横画素数「1024」、および縦画素数「1024」が登録される。
(階層化の説明)
図10は、第1レイヤの所定の面に対応する被写体の奥行き方向の位置を示す図であり、図11は、第1レイヤおよび第2レイヤの視点が同一である場合の図10の被写体の第1レイヤおよび第2レイヤのテクスチャ画像の構成例を示す図である。
なお、図10は、第1レイヤの視点Oと被写体を上から見た図であり、図10の上下方向は、この被写体を画角に含む第1レイヤの所定の面の奥行き方向である。また、図11において、左右方向および上下方向は、それぞれ、テクスチャ画像の横方向、奥行き方向を表す。図10および図11の下方向が手前側、上方向が奥側である。
図10および図11の例では、第1レイヤの所定の面の画角内に含まれる被写体が、中央の前景111と、前景の奥にある背景112である。この場合、図11に示すように、第1レイヤの所定の面のテクスチャ画像は、前景111の撮影画像121と、背景112のうちの前景111によって隠されない領域112Aの撮影画像122Aとにより構成される。
一方、この第1レイヤの所定の面に対応する第2レイヤの面のテクスチャ画像は、図11に示すように、背景112のうちの前景111によって遮蔽されたオクルージョン領域112Bのうちの、マルチカメラ11により撮影された撮影済みオクルージョン領域112Cの撮影画像122Cを有効領域として含む。
第2レイヤの面のテクスチャ画像のうちの有効領域以外の領域には何を配置してもよいが、無効値などの特殊値が配置されると、圧縮符号化により特殊値の値が変化し、ホームサーバ13において復号による特殊値の復元が困難になる。
従って、第2レイヤの面のテクスチャ画像の有効領域以外の領域は、領域112Aに対応する不要領域(背景領域)と、オクルージョン領域112Bのうちの撮影済みオクルージョン領域112C以外の領域に対応する想像領域とに分割される。
そして、オクルージョン領域が存在しない領域112Aに対応する不要領域には、第1レイヤと同様に撮影画像122Aが配置されるか、または、エッジ部分が急峻ではない平坦な画像が配置される。不要領域に撮影画像122Aが配置される場合、不要領域における第1レイヤと第2レイヤのテクスチャ画像が同一になるので、第1レイヤのテクスチャ画像を第2レイヤのテクスチャ画像を参照してMVC方式や3D-HEVC方式等で圧縮符号化する場合、圧縮率を向上させることができる。また、不要領域に平坦な画像が配置される場合、エッジ部分が急峻な画像が配置される場合に比べて、第2レイヤ画像の圧縮率を向上させることができる。なお、不要領域の一部に撮影画像122Aが配置され、他部に平坦な画像が配置されるようにしてもよい。
また、想像領域は、オクルージョン領域が存在するが、マルチカメラ11により撮影されていない、オクルージョン領域112Bのうちの撮影済みオクルージョン領域112C以外の領域に対応する領域である。従って、想像領域には、撮影済みオクルージョン領域112Cの撮影画像122Cを用いて推測(インペインティング)されたインペインティング画像が配置されるか、または、第1レイヤと同様に撮影画像121が配置される。
なお、インペインティングには、過去の撮影画像が用いられてもよい。コンテンツサーバ12がインペインティングを行うことにより、ホームサーバ13は、想像領域を有効領域と同等に扱うことができる。また、コンテンツサーバ12がインペインティングを再生前に行うことにより、多くの時間を要する処理負荷の高いインペインティングも行うことができる。
また、想像領域に撮影画像121が配置される場合、想像領域が点在したり、インペインティングが困難であったりするときにも、想像領域を容易に生成することが可能である。想像領域の一部にインペインティング画像が配置され、他部に撮影画像121が配置されるようにしてもよい。
なお、第1レイヤおよび第2レイヤのデプス画像の構成は、撮影画像がデプス画像に代わる点を除いて、第1レイヤおよび第2レイヤのテクスチャ画像の構成と同様であるので、説明は省略する。また、以下では、第2レイヤの不要領域と想像領域に、第1レイヤと同様の撮影画像またはデプス画像が配置される場合について説明する。
(第1レイヤと第2レイヤの視点の説明)
図12は、第1レイヤと第2レイヤの視点が同一である場合の第1レイヤの所定の面に対応する第1レイヤと第2レイヤのテクスチャ画像を説明する図である。図13は、第1レイヤと第2レイヤの視点が異なる場合の第1レイヤの所定の面に対応する第1レイヤと第2レイヤのテクスチャ画像を説明する図である。
図12のAと図13のAは、第1レイヤの視点Oと被写体を上から見た図であり、図12のAと図13のAの上下方向は、この被写体を画角に含む第1レイヤの所定の面の奥行き方向である。
図12のAに示すように、第2レイヤの視点が第1レイヤの視点Oである場合、第1レイヤの所定の面131の画角内の視点Oに延びる棒状の被写体141は、第1レイヤのテクスチャ画像151および第2レイヤのテクスチャ画像152の両方において点になる。
即ち、第1レイヤと第2レイヤにおいて視点Oから面131に向かう方向が同一になるため、第1レイヤのテクスチャ画像151と第2レイヤのテクスチャ画像152の両方において、被写体141が1点に縮退してしまう。従って、テクスチャ画像151とテクスチャ画像152では、被写体141の視点Oに延びる方向の長さを表現することができない。
これに対して、第2レイヤの視点が第1レイヤの視点Oとは異なる視点O´である場合、第1レイヤの面131と第2レイヤの面161の画角に含まれる被写体141は、第2レイヤのテクスチャ画像172において直線になる。
即ち、第1レイヤの視点Oから面131に向かう方向と第2レイヤの視点O´から面161に向かう方向は異なる。従って、第1レイヤのテクスチャ画像151において被写体141が1点に縮退してしまっても、第2レイヤのテクスチャ画像172においては被写体141が1点に縮退しない。よって、テクスチャ画像172では、被写体141の視点Oに延びる方向の長さを表現することができる。
以上により、コンテンツサーバ12では、第1レイヤと第2レイヤの視点が異なるように設定される。
(第2レイヤの視点の第1の例)
図14は、第2レイヤの視点の第1の例を示す図である。
図14のAは、第1レイヤの立方体80の斜視図であり、図14のBは、立方体80をY軸の負方向に見た図である。このことは、図16においても同様である。
図14の例では、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視点191が、第1レイヤの視点OからY軸の正方向に、立方体80の各辺の半分の長さaだけ移動した位置に設定される。図14において視点191に付された矢印が示すように、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視線ベクトルは、第1レイヤと同様に、(1,0,0)である。
第1レイヤの−X面82を含む面に対応する第2レイヤの面の視点192は、視点OからY軸の負方向に長さaだけ移動した位置に設定される。図14において視点192に付された矢印が示すように、第1レイヤの−X面82を含む面に対応する第2レイヤの面の視線ベクトルは、第1レイヤと同様に、(-1,0,0)である。
また、第1レイヤの+Y面83を含む面91に対応する第2レイヤの面の視点193と−Y面84を含む面に対応する第2レイヤの面の視点194は、それぞれ、視点OからZ軸の正方向、負方向に長さaだけ移動した位置に設定される。図14において視点193および視点194に付された矢印が示すように、第1レイヤの面91に対応する第2レイヤの面の視線ベクトルと−Y面84を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,1,0),(0,-1,0)である。
また、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視点195と−Z面86を含む面に対応する第2レイヤの面の視点196は、それぞれ、第1レイヤの視点OからX軸の正方向、負方向に長さaだけ移動した位置に設定される。図14において視点195および視点196に付された矢印が示すように、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視線ベクトルと−Z面86を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,0,1),(0,0,-1)である。
以上のように、図14の例では、第2レイヤの各面の視点191乃至196は、第1レイヤの視点Oから視線ベクトルに垂直な1方向に長さaだけ移動した位置に設定される。また、第2レイヤの各面の視線ベクトルは、対応する第1レイヤの面の視線ベクトルと同一である。さらに、第2レイヤの各面の視点191乃至196の視点Oに対するずれ方向は、面ごとに異なる。
なお、第2レイヤの各面の視点191乃至196と視点Oとの、X軸方向、Y軸方向、またはZ軸方向の距離は、立方体80の各辺の半分の長さaに限定されない。
(第2レイヤの視点位置情報および面情報のテーブルの第1の構成例)
図15は、第2レイヤの各面の視点として図14の視点191乃至196が設定される場合に、図3のメタデータ生成部57により生成されるメタデータのうちの、第2レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。
図15のテーブルは、ファイル名の共通部分と視点位置情報を除いて、図9のテーブルと同一である。
具体的には、図15の例では、+Z面85、−Z面86、+X面81、−X面82、+Y面83、−Y面84をそれぞれ含む第1レイヤの各面に対応する第2レイヤの各面のテクスチャ画像のファイル名が、それぞれ、posZ2_texture,negZ2_texture,posX2_texture,negX2_texture,posY2_texture,negY2_textureである。また、+Z面85、−Z面86、+X面81、−X面82、+Y面83、−Y面84をそれぞれ含む第1レイヤの各面に対応する第2レイヤの各面のデプス画像のファイル名が、それぞれ、posZ2_depth,negZ2_depth,posX2_depth,negX2_depth,posY2_depth,negY2_depthである。従って、図15のテーブルには、第2レイヤの各面のファイル名の共通部分として、posZ2,negZ2,posX2,negX2,posY2,negY2が登録される。
また、ファイル名の共通部分「posZ2」,「negZ2」,「posX2」,「negX2」,「posY2」,「negY2」のそれぞれに対応付けて、視点Oを原点としたときの視点191乃至196の座標(a,0,0),(-a,0,0),(0,a,0)(0,-a,0),(0,0,a),(0,0,-a)が登録される。
(第2レイヤの視点の第2の例)
図16は、第2レイヤの視点の第2の例を示す図である。
図16の例では、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視点211と−X面82を含む面に対応する第2レイヤの面の視点212は、それぞれ、第1レイヤの視点Oから、Y軸の正方向とZ軸の負方向、Y軸の負方向とZ軸の正方向に長さaだけ移動した位置に設定される。図16において視点211および視点212に付された矢印が示すように、第1レイヤの+X面81を含む面に対応する第2レイヤの面の視線ベクトルと第1レイヤの−X面82を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(1,0,0),(-1,0,0)である。
また、第1レイヤの+Y面83を含む面91に対応する第2レイヤの面の視点213と−Y面84を含む面に対応する第2レイヤの面の視点214は、それぞれ、視点Oから、X軸の負方向とZ軸の正方向、X軸の正方向とZ軸の負方向に長さaだけ移動した位置に設定される。図16において視点213および視点214に付された矢印が示すように、第1レイヤの面91に対応する第2レイヤの面の視線ベクトルと−Y面84を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,1,0),(0,-1,0)である。
また、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視点215と−Z面86を含む面に対応する第2レイヤの面の視点216は、それぞれ、視点Oから、X軸の正方向とY軸の負方向、X軸の負方向とY軸の正方向に長さaだけ移動した位置に設定される。図16において視点215および視点216に付された矢印が示すように、第1レイヤの+Z面85を含む面に対応する第2レイヤの面の視線ベクトルと−Z面86を含む面に対応する第2レイヤの面の視線ベクトルは、それぞれ、第1レイヤと同様に、(0,0,1),(0,0,-1)である。
以上のように、図16の例では、第2レイヤの各面の視点211乃至216は、第1レイヤの視点Oから視線ベクトルに垂直な2方向に長さaだけ移動した位置に設定される。また、第2レイヤの各面の視線ベクトルは、対応する第1レイヤの面の視線ベクトルと同一である。さらに、第2レイヤの各面の視点211乃至216の視点Oに対するずれ方向は、面ごとに異なる。また、視点211乃至216は、視点Oに対して対称である。
なお、第2レイヤの各面の視点191乃至196と視点Oとの、X軸方向、Y軸方向、およびZ軸方向のうちの2方向の距離は、立方体80の各辺の半分の長さaに限定されない。
(第2レイヤの視点位置情報および面情報のテーブルの第2の構成例)
図17は、第2レイヤの各面の視点として図16の視点211乃至216が設定される場合に、図3のメタデータ生成部57により生成されるメタデータのうちの、第2レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。
図17のテーブルは、視点位置情報を除いて、図15のテーブルと同一である。
具体的には、図17のテーブルには、ファイル名の共通部分「posZ2」,「negZ2」,「posX2」,「negX2」,「posY2」,「negY2」のそれぞれに対応付けて、視点Oを原点としたときの視点211乃至216の座標(a,-a,0),(-a,a,0),(0,a,-a),(0,-a,a),(-a,0,a),(a,0,-a)が登録される。
(コンテンツサーバの処理の説明)
図18は、図2のコンテンツサーバ12のストリーム生成処理を説明するフローチャートである。このストリーム生成処理は、図1のマルチカメラ11から各カメラの撮影画像がフレーム単位で供給されたとき、開始される。
図18のステップS10において、コンテンツサーバ12のデプス検出部31は、マルチカメラ11から供給される各カメラの撮影画像から、各カメラの撮影画像の各画素の逆数1/zを検出し、量子化部32に供給する。
ステップS11において、量子化部32は、各カメラの撮影画像の各画素の逆数1/zを、全天球画像において視点とされるカメラ座標系における所定の3次元位置を視点としたときの逆数1/rに変換し、その逆数1/rに対して8ビット量子化を行う。量子化部32は、各カメラの撮影画像の各画素の逆数1/rの8ビット量子化後の値を画素値とすることにより、各カメラのデプス画像を生成し、低解像度画像処理部33と高解像度画像処理部34に供給する。
ステップS12において、低解像度画像処理部33は、カメラ座標系における所定の3次元位置を視点として、マルチカメラ11から供給される各カメラの撮影画像から全天球画像のテクスチャ画像を生成し、低解像度化する。
ステップS13において、低解像度画像処理部33は、量子化部32から供給される各カメラのデプス画像から、全天球画像のテクスチャ画像と同様に全天球画像のデプス画像を生成し、低解像度化する。
ステップS14において、低解像度画像処理部33は、ステップS12の処理により生成された低解像度テクスチャ画像とステップS13の処理により生成された低解像度デプス画像とを圧縮符号化して記憶する。
ステップS15において、低解像度画像処理部33は、記憶している低解像度テクスチャストリームと低解像度デプスストリームを、図1のホームサーバ13に送信する。
ステップS16において、高解像度画像処理部34の設定部56(図3)は、3Dモデル座標系における原点を第1レイヤに共通の1つの視点として設定し、第1レイヤの視点を中心とした立方体を構成する6つの面をそれぞれ含む6つの面を第1レイヤの面として設定する。また、設定部56は、第1レイヤの各面に対応する第2レイヤの6つの視点と6つの面を設定する。設定部56は、第1レイヤの1つの視点位置情報と6つの面の面情報を第1レイヤ生成部52とメタデータ生成部57に供給する。また、設定部56は、第2レイヤの6つの視点位置情報と6つの面情報を第2レイヤ生成部54とメタデータ生成部57に供給する。
ステップS17において、第1レイヤ生成部52は、カメラ座標系における全天球画像の視点を原点とし、第1レイヤの視点位置情報が示す原点を視点として、各カメラの撮影画像から、第1レイヤの各面情報に対応する各面のテクスチャ画像を生成する。また、第1レイヤ生成部52は、テクスチャ画像と同様に、各カメラのデプス画像から、第1レイヤの各面情報に対応する各面のデプス画像を生成する。
ステップS18において、第2レイヤ生成部54は、第2レイヤの面情報に対応する面ごとに、カメラ座標系における全天球画像の視点を原点とし、第2レイヤの視点位置情報が示す3次元位置を視点として、各カメラの撮影画像からテクスチャ画像を生成する。また、第2レイヤ生成部54は、第2レイヤの面情報に対応する面ごとに、テクスチャ画像と同様に、各カメラのデプス画像から第2レイヤのデプス画像を生成する。
ステップS19において、エンコーダ53は、第1レイヤ生成部52から供給される第1レイヤの各面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化してストレージ58に供給し、記憶させる。
ステップS20において、エンコーダ55は、第2レイヤ生成部54から供給される第2レイヤの各面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化してストレージ58に供給し、記憶させる。
ステップS21において、メタデータ生成部57は、設定部56から供給される第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給して記憶させる。
ステップS22において、再構成部59は、第1レイヤのテクスチャ画像とデプス画像の再構成が必要であるかどうかを判定する。例えば、再構成部59は、ユーザから第1レイヤの面の数、画角、面どうしの間隔、位置、または傾きの変更が指示された場合、第1レイヤのテクスチャ画像とデプス画像の再構成が必要であると判定する。
ステップS22で第1レイヤのテクスチャ画像とデプス画像の再構成が必要であると判定された場合、処理はステップS23に進む。ステップS23において、再構成部59は、再構成後の第1レイヤの面、並びに、再構成後の第1レイヤの面に対応する第2レイヤの視点および面を設定する。
ステップS24において、再構成部59は、再構成後の第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給する。
ステップS25において、再構成部59は、ストレージ58に記憶されている各面の第1レイヤテクスチャストリームを、ステップS23で設定された再構成後の第1レイヤの面のテクスチャストリームに再構成し、ストレージ58に供給して記憶させる。また、再構成部59は、ストレージ58に記憶されている第1レイヤデプスストリームを、ステップS23で設定された再構成後の第1レイヤの面の第1レイヤデプスストリームに再構成し、ストレージ58に供給して記憶させる。
また、再構成部59は、ストレージ58に記憶されている各面の第2レイヤテクスチャストリームを、ステップS23で設定された再構成後の第2レイヤの視点および面の第2レイヤテクスチャストリームに再構成し、ストレージ58に供給して記憶させる。再構成部59は、ストレージ58に記憶されている第2レイヤデプスストリームを、ステップS23で設定された再構成後の第2レイヤの視点および面の第2レイヤデプスストリームに再構成し、ストレージ58に供給して記憶させる。そして、処理はステップS26に進む。
一方、ステップS22で第1レイヤのテクスチャ画像とデプス画像の再構成が必要ではないと判定された場合、処理はステップS26に進む。
ステップS26において、伝送部60は、ストレージ58から再構成前の6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを読み出し、ホームサーバ13に送信する。
以上のように、コンテンツサーバ12は、第1レイヤの視点におけるオクルージョン領域のテクスチャ画像およびデプス画像を第2レイヤのテクスチャ画像およびデプス画像として生成する。従って、ホームサーバ13は、視聴位置が視点Oとは異なる場合に、第2レイヤのテクスチャ画像とデプス画像を用いることにより、表示画像に含まれる視点Oのオクルージョン領域を生成することができる。よって、ホームサーバ13は、高画質の表示画像を生成することができる。
また、コンテンツサーバ12は、第2レイヤの視点を、第1レイヤの視点Oとは異なる3次元位置に設定する。従って、第2レイヤにおいて、視点Oに延びる被写体の視点Oに延びる方向の長さを表現することができる。
さらに、コンテンツサーバ12は、デプス画像の各画素のy値を逆数1/rを8ビット量子化した値とする。従って、コンテンツサーバ12は、再構成時にデプス画像の8ビット量子化をやり直す必要がない。
(ホームサーバの構成例)
図19は、図1のホームサーバ13の構成例を示すブロック図である。
図19のホームサーバ13は、カメラ13A、受け取り部231、ストレージ232、受け取り部233、視線検出部234、ML3Dモデル生成部235、ML3Dモデル生成部236、ML3Dモデル生成部237、3Dモデル生成部238、および描画部239により構成される。
ホームサーバ13の受け取り部231は、コンテンツサーバ12から伝送されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取り、ストレージ232に供給する。
ストレージ232は、受け取り部231から供給される低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを記憶する。
受け取り部233は、図1のジャイロセンサ15Bの検出結果をヘッドマウントディスプレイ15から受け取り、視線検出部234に供給する。
視線検出部234は、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視線方向を決定する。また、視線検出部234は、カメラ13Aからマーカ15Aの撮影画像を取得し、その撮影画像に基づいて、3Dモデル座標系における視聴位置を検出する。
視線検出部234は、ストレージ232からメタデータのうちの第1レイヤのテーブルを読み出す。視線検出部234は、3Dモデル座標系における視聴位置および視線方向、並びに、第1レイヤのテーブルに基づいて、6つの面のうちの、視聴位置から視線方向に延びる視線に最も近い視線ベクトルに対応する3つの面を選択面に決定する。具体的には、視線検出部234は、+X面81と−X面82のいずれかを含む面、+Y面83と−Y面84のいずれかを含む面、および、+Z面85と−Z面86のいずれかを含む面を選択面に決定する。
以上のようにして選択面が決定されることにより、後述する描画部239により選択面に対応する第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を用いて生成される表示画像内の高解像度領域の割合が最も高くなる。また、3つの選択面が決定されることにより、1つの選択面が選択される場合に比べて、視線が立方体80の頂点付近に向かう場合に表示画像内の高解像度領域の割合を増加させることができる。
視線検出部234は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部235乃至237に供給する。また、視線検出部234は、低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、3Dモデル生成部238に供給する。
また、視線検出部234は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定する。視線検出部234は、視聴者の視野範囲と視聴位置を描画部239に供給する。視線検出部234は、3つの選択面と、その3つの選択面に対応する第2レイヤの3つの面の視点位置情報および面情報を描画部239に供給する。
ML3Dモデル生成部235乃至237は、それぞれ、第1レイヤテクスチャストリームと第1レイヤデプスストリームを用いて、第1レイヤのテクスチャ画像の各画素に対応するサンプリング点のテクスチャ画像座標系における3次元位置(u,v,z)および接続情報と、カラー情報としてのRGB値とからなる3次元データを生成する。なお、各サンプリング点の接続情報は、そのサンプリング点(vertex)と他のサンプリング点との接続を表す情報である。テクスチャ画像座標系は、テクスチャ画像の横方向をu軸、縦方向をv軸、奥行き方向をz軸とする座標系である。
また、ML3Dモデル生成部235乃至237は、それぞれ、視線検出部234から供給される第2レイヤテクスチャストリームと第2レイヤデプスストリームを用いて、第2レイヤのテクスチャ画像の各画素に対応するサンプリング点の3次元データを生成する。ML3Dモデル生成部235乃至237は、第1レイヤおよび第2レイヤの3次元データを描画部239に供給する。
3Dモデル生成部238は、視線検出部234から供給される低解像度テクスチャストリームと低解像度デプスストリームを復号し、低解像度テクスチャ画像と低解像度デプス画像を生成する。3Dモデル生成部238は、低解像度テクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。また、3Dモデル生成部238は、低解像度デプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、3Dモデル生成部238は、低解像度デプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。
また、3Dモデル生成部238は、各サンプリング点の3次元位置(u,v,z)に基づいて、隣接する3つのサンプリング点どうしが接続するように各サンプリング点の接続情報を生成する。3Dモデル生成部238は、各サンプリング点の3次元位置(u,v,z)、接続情報、およびRGB値を、低解像度テクスチャ画像の3次元データとして、描画部239に供給する。
描画部239は、3Dモデル生成部238から供給される低解像度テクスチャ画像の3次元データに基づいて、3Dモデル座標系において、低解像度テクスチャ画像の三角形パッチ描画(点群描画)を行う。その後、描画部239は、ML3Dモデル生成部235乃至237のそれぞれから供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部234から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
即ち、低解像度テクスチャ画像の視点は3Dモデル座標系における原点であり、3Dモデルとしての正八面体の各面の位置およびサイズは予め決まっている。従って、描画部239は、正八面体の各面に対応する各カメラの内部パラメータと外部パラメータを求めることができる。よって、描画部239は、この内部パラメータと外部パラメータを用いて、低解像度テクスチャ画像の各サンプリング点の3次元位置(u,v,z)から、各サンプリング点の画面上の位置(u,v)と3Dモデル座標系における3次元位置(X,Y,Z)を認識することができる。その結果、低解像度テクスチャ画像の各サンプリング点の画面上の位置(u,v)および3次元位置(X,Y,Z)と接続情報およびRGB値とを用いて三角形パッチ描画を行うことができる。
また、描画部239は、第1レイヤおよび第2レイヤの視点位置情報および面情報に基づいて、第1レイヤおよび第2レイヤの各面に対応する各カメラの内部パラメータと外部パラメータを求めることができる。従って、描画部239は、この内部パラメータと外部パラメータを用いて、第1レイヤおよび第2レイヤの各サンプリング点の3次元位置(u,v,z)から、各サンプリング点の画面上の位置(u,v)と3次元位置(X,Y,Z)を認識できる。その結果、描画部239は、第1レイヤおよび第2レイヤの各サンプリング点の画面上の位置(u,v)および3次元位置(X,Y,Z)と接続情報およびRGB値とを用いて三角形パッチ描画を行うことができる。
描画部239(画像生成部)は、3Dモデル座標系において描画された三角形パッチを、視線検出部234から供給される視聴位置を視点として視野範囲に透視投影(マッピング)することにより、表示画像を生成する。描画部239は、表示画像を図1の変換装置14に送信する。
(ML3Dモデル生成部の構成例)
図20は、図19のML3Dモデル生成部235の構成例を示すブロック図である。
図20のML3Dモデル生成部235は、デコーダ251、RGB変換部252、デコーダ253、デプス変換部254、不連続検出部255、3Dモデル生成部256、デコーダ257、RGB変換部258、デコーダ259、デプス変換部260、オクルージョン処理部261、および3Dモデル生成部262により構成される。
ML3Dモデル生成部235のデコーダ251は、図19の視線検出部234から供給される第1レイヤテクスチャストリームを復号し、第1レイヤのテクスチャ画像を生成する。デコーダ251は、第1レイヤのテクスチャ画像をRGB変換部252に供給する。
RGB変換部252は、第1レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部252は、各サンプリング点のRGB値を3Dモデル生成部256に供給する。
デコーダ253は、視線検出部234から供給される第1レイヤデプスストリームを復号し、第1レイヤのデプス画像を生成する。デコーダ253は、第1レイヤのデプス画像をデプス変換部254に供給する。
デプス変換部254は、デコーダ253から供給される第1レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、デプス変換部254は、第1レイヤのデプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部254は、各サンプリング点の3次元位置(u,v,z)を不連続検出部255と3Dモデル生成部256に供給する。
不連続検出部255は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第1レイヤのデプス画像の画素のうちの、隣接するサンプリング点とのz座標の差分が閾値以上であるサンプリング点に対応する画素である不連続画素を検出する。不連続検出部255は、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を3Dモデル生成部256に供給する。
3Dモデル生成部256(接続情報生成部)は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、各サンプリング点の接続情報を生成する。即ち、3Dモデル生成部256は、サンプリング点ごとに、そのサンプリング点を頂点とする三角形パッチの3つの頂点どうしの接続を表す接続情報を生成する。そして、3Dモデル生成部256は、不連続検出部255から供給される不連続画素に対応するサンプリング点の3次元位置(u,v,z)に基づいて、生成された各サンプリング点の接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除する。
3Dモデル生成部256は、第1レイヤの各サンプリング点の3次元位置(u,v,z)、RGB値、および削除後の接続情報を、第1レイヤの3次元データとして生成し、図19の描画部239に供給する。
デコーダ257、RGB変換部258、デコーダ259、およびデプス変換部260の処理は、処理対象のレイヤが第1レイヤから第2レイヤに代わる点を除いて、デコーダ251、RGB変換部252、デコーダ253、およびデプス変換部254と同様であるので、説明は省略する。
オクルージョン処理部261は、デプス変換部260から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第2レイヤのデプス画像の画素のうちの不連続画素を検出する。オクルージョン処理部261は、第2レイヤの各サンプリング点の3次元位置(u,v,z)に基づいて、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を補正するオクルージョン処理を行う。
具体的には、オクルージョン処理部261は、例えば、不連続画素に対応するサンプリング点の2次元位置(u,v)を、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置(u,v)に補正する。オクルージョン処理部261は、第2レイヤの各サンプリング点のオクルージョン処理後の3次元位置(u,v,z)を3Dモデル生成部262に供給する。
3Dモデル生成部262は、オクルージョン処理部261から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、サンプリング点ごとに、そのサンプリング点と隣接する2つのサンプリング点との接続を表す接続情報を生成する。3Dモデル生成部262は、各サンプリング点の3次元位置(u,v,z)および接続情報、並びに、RGB変換部258から供給されるRGB値を、第2レイヤの3次元データとして生成する。3Dモデル生成部256は、第2レイヤの3次元データを図19の描画部239に供給する。
なお、図示は省略するが、ML3Dモデル生成部236およびML3Dモデル生成部237は、図20のML3Dモデル生成部235と同様に構成される。
(接続情報の削除およびオクルージョン処理の効果の説明)
図21は、第1レイヤの接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除しない場合の接続情報を説明する図であり、図22は、削除した場合の接続情報を説明する図である。
図21および図22において、左右方向は、テクスチャ画像の横方向を表し、上下方向は、テクスチャ画像の奥行き方向を表す。図21および図22の上方向が手前側、下方向が奥側である。また、図21および図22において、実線は、第1レイヤの各サンプリング点の3次元位置(u,v,z)を表し、点線は、第2レイヤの各サンプリング点の3次元位置(u,v,z)を表す。また、図21および図22の例では、被写体が図10の前景111と背景112である。
第1レイヤおよび第2レイヤの両方においてオクルージョン処理が行われない場合、図21のAに示すように、第1レイヤの前景111の撮影画像121と背景112の領域112Aの撮影画像122Aの境界の不連続画素に対応するサンプリング点の3次元位置は変更されない。
また、第1レイヤおよび第2レイヤの両方において不連続画素に対応するサンプリング点との接続を表す接続情報が削除されない場合、図21のAに示すように、第1レイヤおよび第2レイヤの不連続画素に対応するサンプリング点は、隣接する2つのサンプリング点と接続される。
従って、第1レイヤの不連続画素に対応するサンプリング点と、隣接する2つのサンプリング点とを頂点とする三角形パッチが生成され、その三角形パッチにより、有効領域の撮影画像122Cは塗り潰れされる。よって、図中右下から左上へ向かう視線Vに対応する、撮影済みオクルージョン領域112Cを含む表示画像を生成する場合に、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることはできない。
また、第1レイヤおよび第2レイヤの両方において、不連続画素に対応するサンプリング点との接続を表す接続情報が削除されないが、オクルージョン処理は行われる場合、図21のBに示すように、第1レイヤおよび第2レイヤの不連続画素に対応するサンプリング点の2次元位置が、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置に補正される。
従って、視線Vに対応する表示画像を生成する場合、撮影済みオクルージョン領域112Cの表示画像として、第1レイヤの領域112Aの撮影画像122Aを用いることができる。その結果、表示画像の画質は向上する。
しかしながら、オクルージョン処理後の第1レイヤの不連続画素に対応するサンプリング点は、隣接する2つのサンプリング点と接続され、三角形パッチが生成される。従って、図21のAの場合と同様に、視線Vに対応する表示画像を生成する場合、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることはできない。
これに対して、3Dモデル生成部256は、図22に示すように、第1レイヤの不連続画素との接続を表す接続情報を削除する。従って、第1レイヤの不連続画素に対応するサンプリング点を頂点とする三角形パッチが生成されない。よって、視線Vに対応する表示画像を生成する場合に、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることができる。第2レイヤにおいては接続情報の削除が行われないので、第1レイヤの三角形パッチが存在しない領域には、必ず第2レイヤの三角形パッチが存在する。
また、オクルージョン処理部261は、第2レイヤに対してオクルージョン処理を行う。従って、図22に示すように、第2レイヤの有効領域と想像領域の境界の不連続画素に対応するサンプリング点のうちの奥側のサンプリング点の2次元位置が、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置に補正される。従って、第2レイヤにおいてオクルージョン領域が削減される。よって、視線Vに対応する表示画像を生成する際に用いられる第2レイヤの画質が向上し、その結果、表示画像の画質が向上する。
(第1レイヤの面の画角の効果の説明)
図23および図24は、それぞれ、第1レイヤの各面の画角が90度、100度である場合のサンプリング点を説明する図である。
図23および図24の例では、説明の便宜上、第1レイヤの各面の画角が90度、100度である場合の第1レイヤのテクスチャ画像およびデプス画像の解像度が、それぞれ、4x4画素、6x6画素であるものとする。
図23のBに示すように、第1レイヤの各面の画角が90度である場合、第1レイヤの6つの面は、立方体80を構成する6つの面81乃至86になる。
しかしながら、図23のAに示すように、第1レイヤの−Z面86のテクスチャ画像280上のサンプリング点291の位置(u,v)、即ち3Dモデル座標系における視点Oからサンプリング点291に向かう線が−Z面86と交差する位置は、各画素281の中心である。また、他の面81乃至85のサンプリング点の位置(u,v)も、−Z面86と同様に各画素の中心である。
従って、図23のBに示すように、図中黒丸で示すサンプリング点のうちの隣接する3つのサンプリング点どうしを接続することにより構成される全ての三角形パッチの、各面81乃至86上の領域283のu方向およびv方向サイズは、各面81乃至86に比べて画素の半分のサイズだけ小さい。よって、各面81乃至86の境界に対応する三角形パッチが生成されず、その結果、各面81乃至86の境界を通る視線の表示画像を高画質で生成することが困難になる。
これに対して、第1レイヤの各面の画角が100度である場合、図24のAに示すように、−Z面86を含む第1レイヤの面のテクスチャ画像310のサイズは、図23のテクスチャ画像280のサイズより大きい6×6画素になる。他の面81乃至85をそれぞれ含む第1レイヤの各面のテクスチャ画像のサイズも同様に6×6画素になる。
従って、図24のBに示すように、図中黒丸で示すサンプリング点のうちの隣接する3つのサンプリング点どうしを接続することにより構成される全ての三角形パッチの、−Z面86上の領域311のu方向およびv方向サイズは、−Z面86に比べて画素の半分のサイズだけ大きい。図示は省略するが、他の面81乃至85をそれぞれ含む第1レイヤの各面の三角形パッチの領域のu方向およびv方向サイズも、領域311と同様に、各面81乃至85に比べて画素の半分のサイズだけ大きい。従って、各面81乃至86の境界に対応する三角形パッチが生成され、その結果、各面81乃至86の境界を通る視線を含む任意の視線の表示画像を高画質で生成することができる。
図23および図24では、第1レイヤの各面の画角が100度である場合の効果について説明したが、第1レイヤの各面の画角が90度より大きければ、画角が100度ではない場合であっても同様の効果が発生する。
(第2レイヤの面の画角の効果の説明)
図25は、第2レイヤの各面の画角が90度および100度である場合のオクルージョン処理を説明する図である。
図25において、横軸はu軸を表し、縦軸はz軸を表す。また、丸はサンプリング点を表す。さらに、図25の例では、奥行き方向の位置が奥側であるほどz座標は大きい。
第2レイヤの各面の画角が90度である場合、サンプリング点が、第2レイヤのいずれか1つの面にのみマッピングされる。従って、図25のAに示すように、処理対象の面のu方向の端部にマッピングされるサンプリング点331に隣接するサンプリング点332は、処理対象の面にはマッピングされず、処理対象の面のオクルージョン処理時にサンプリング点332のz軸の位置はわからない。
よって、サンプリング点331とサンプリング点332のz座標の差分が閾値以上である場合であっても、サンプリング点331に対応する画素は不連続画素として検出されない。同様に、サンプリング点332がマッピングされる面が処理対象の面とされる場合にも、サンプリング点332に対応する画素は不連続画素として検出されない。従って、サンプリング点331およびサンプリング点332に対してオクルージョン処理を行うことはできない。即ち、サンプリング点331およびサンプリング点332に対してオクルージョン処理を行うために、処理対象の面のデプス画像以外に、処理対象の面と隣接する面のデプス画像も用いる必要がある。
これに対して、第2レイヤの各面の画角が100度である場合、各面の端部に、その面と隣接する面の端部以外の領域にマッピングされるサンプリング点が、のりしろとして重複してマッピングされる。例えば、サンプリング点331がマッピングされる処理対象の面の端部に、処理対象の面に隣接する面の端部以外の領域にマッピングされるサンプリング点332がマッピングされる。
従って、サンプリング点331とサンプリング点332のz座標の差分が閾値以上である場合、サンプリング点331とサンプリング点332に対応する画素は不連続画素として検出される。よって、図25のBに示すように、サンプリング点331とサンプリング点332に対してオクルージョン処理を行うことができる。その結果、不連続画素に対応するサンプリング点332のu座標が、サンプリング点332近傍のサンプリング点332より手前側の(z座標が小さい)サンプリング点333のu座標に補正される。
なお、図25の例では、処理対象の面の端部以外の領域にマッピングされるサンプリング点334とサンプリング点335のz座標の差分が閾値以上であるため、サンプリング点334とサンプリング点335に対応する画素も不連続画素として検出されている。その結果、図25のBに示すように、サンプリング点334のu座標が、サンプリング点334近傍のサンプリング点334より手前側のサンプリング点336のu座標に補正されている。
また、処理対象の面のu座標が最も大きい端部のサンプリング点337は、処理対象の面と隣接する面の端部以外の領域にマッピングされる。従って、この面が処理対象の面とされる場合に、サンプリング点337に対応する画素が不連続画素であるかどうかを判定し、不連続画素であると判定した場合に、サンプリング点337に対するオクルージョン処理を行うことができる。
以上のように、第2レイヤの各面の画角が100度である場合、各面のサンプリング点のみを用いて、各面の端部以外の領域の端部にマッピングされるサンプリング点331に対してもオクルージョン処理を行うことができる。その結果、第2レイヤのオクルージョン領域が削減され、表示画像の画質を向上させることができる。
図25では、第2レイヤの各面の画角が100度である場合の効果について説明したが、第2レイヤの各面の画角が90度より大きければ、画角が100度ではない場合であっても同様の効果が発生する。
なお、ML3Dモデル生成部235乃至237は、復号の結果得られるテクスチャ画像やデプス画像に対して、周辺の画素を用いたフィルタ処理等の画像処理を行うようにしてもよい。この場合、第1レイヤおよび第2レイヤの各面の画角が90度より大きいことにより、オクルージョン処理と同様に、各面の端部以外の領域の端部においても画像処理を行うことができるという効果を得ることができる。
(ホームサーバの処理の説明)
図26は、図19のホームサーバ13の再生処理を説明するフローチャートである。この再生処理は、例えば、コンテンツサーバ12から伝送されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータが伝送されてきたとき、開始される。
図26のステップS41において、ホームサーバ13の受け取り部231は、コンテンツサーバ12から、低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取り、ストレージ232に供給する。
ステップS42において、ストレージ232は、低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを記憶する。
ステップS43において、受け取り部233は、図1のジャイロセンサ15Bの検出結果をヘッドマウントディスプレイ15から受け取り、視線検出部234に供給する。
ステップS44において、視線検出部234は、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視線方向を決定する。ステップS45において、カメラ13Aは、ヘッドマウントディスプレイ15に付されたマーカ15Aを撮影し、その結果得られる撮影画像を視線検出部234に供給する。
ステップS46において、視線検出部234は、カメラ13Aから供給されるマーカ15Aの撮影画像に基づいて、3Dモデル座標系における視聴位置を検出し、描画部239に供給する。
ステップS47において、視線検出部234は、ストレージ232に記憶されているメタデータのうちの第1レイヤのテーブルと、3Dモデル座標系における視聴位置および視線方向とに基づいて、6つの面のうちの視線に最も近い視線ベクトルに対応する3つの面を選択面に決定する。
ステップS48において、視線検出部234は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定し、描画部239に供給する。
ステップS49において、視線検出部234は、低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、3Dモデル生成部238に供給する。また、視線検出部234は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部235乃至237に供給する。また、視線検出部234は、3つの選択面に対応する視点位置情報および面情報をストレージ232から読み出し、描画部239に供給する。
ステップS50において、ML3Dモデル生成部235乃至237は、面ごとに、第1レイヤおよび第2レイヤの各サンプリング点の3次元データを生成する3次元データ生成処理を行う。この3次元データ生成処理の詳細は、図27を参照して後述する。
ステップS51において、3Dモデル生成部238は、視線検出部234から供給される低解像度テクスチャストリームと低解像度デプスストリームから、低解像度テクスチャ画像の各サンプリング点の3次元データを生成し、描画部239に供給する。
ステップS52において、描画部239は、3Dモデル生成部238から供給される低解像度テクスチャ画像の3次元データに基づいて、3Dモデル座標系において、低解像度テクスチャ画像の三角形パッチ描画を行う。その後、描画部239は、ML3Dモデル生成部235乃至237のそれぞれから供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部234から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
ステップS53において、描画部239は、3Dモデル座標系において描画された三角形パッチを、視線検出部234から供給される視聴位置を視点として視野範囲に透視投影することにより、表示画像を生成する。ステップS54において、描画部239は、表示画像を図1の変換装置14に伝送する。
図27は、図26のステップS50においてML3Dモデル生成部235により行われる3次元データ生成処理の詳細を説明するフローチャートである。
図27のステップS71において、ML3Dモデル生成部235のデコーダ251(図20)は、図19の視線検出部234から供給される第1レイヤテクスチャストリームを復号し、第1レイヤのテクスチャ画像を生成する。デコーダ251は、第1レイヤのテクスチャ画像をRGB変換部252に供給する。
ステップS72において、RGB変換部252は、第1レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部252は、各サンプリング点のRGB値を3Dモデル生成部256に供給する。
ステップS73において、デコーダ253は、視線検出部234から供給される第1レイヤデプスストリームを復号し、第1レイヤのデプス画像を生成する。デコーダ253は、第1レイヤのデプス画像をデプス変換部254に供給する。
ステップS74において、デプス変換部254は、デコーダ253から供給される第1レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、第1レイヤのデプス画像の各画素の逆数1/rを得る。
ステップS75において、デプス変換部254は、第1レイヤのデプス画像の各画素の逆数1/rに基づいて、第1レイヤのデプス画像の各画素の3次元位置(u,v,z)を、各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部254は、各サンプリング点の3次元位置(u,v,z)を不連続検出部255と3Dモデル生成部256に供給する。
ステップS76において、不連続検出部255は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第1レイヤのデプス画像の各画素のうちの不連続画素を検出する。不連続検出部255は、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を3Dモデル生成部256に供給する。
ステップS77において、3Dモデル生成部256は、デプス変換部254から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、第1レイヤの各サンプリング点の接続情報を生成する。
ステップS78において、3Dモデル生成部256は、不連続検出部255から供給される不連続画素に対応するサンプリング点の3次元位置(u,v,z)に基づいて、ステップS77で生成された各サンプリング点の接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除する。
ステップS79において、3Dモデル生成部256は、第1レイヤの各サンプリング点の3次元位置(u,v,z)、RGB値、および、ステップS78の処理による削除後の接続情報を、第1レイヤの3次元データとして生成する。3Dモデル生成部256は、第1レイヤの3次元データを図19の描画部239に供給する。
ステップS80において、デコーダ257は、視線検出部234から供給される第2レイヤテクスチャストリームを復号し、第2レイヤのテクスチャ画像を生成する。デコーダ257は、第2レイヤのテクスチャ画像をRGB変換部258に供給する。
ステップS81において、RGB変換部258は、第2レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部258は、各サンプリング点のRGB値を3Dモデル生成部262に供給する。
ステップS82において、デコーダ259は、視線検出部234から供給される第2レイヤデプスストリームを復号し、第2レイヤのデプス画像を生成する。デコーダ259は、第2レイヤのデプス画像をデプス変換部260に供給する。
ステップS83において、デプス変換部260は、デコーダ259から供給される第2レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、第2レイヤのデプス画像の各画素の逆数1/rを得る。
ステップS84において、デプス変換部260は、第2レイヤのデプス画像の各画素の逆数1/rに基づいて、第2レイヤのデプス画像の各画素の3次元位置(u,v,z)を、各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部260は、各サンプリング点の3次元位置(u,v,z)をオクルージョン処理部261と3Dモデル生成部262に供給する。
ステップS85において、オクルージョン処理部261は、デプス変換部260から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第2レイヤのデプス画像の各画素のうちの不連続画素を検出する。
ステップS86において、オクルージョン処理部261は、第2レイヤの各サンプリング点の3次元位置(u,v,z)に基づいて、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を補正するオクルージョン処理を行う。オクルージョン処理部261は、第2レイヤの各サンプリング点のオクルージョン処理後の3次元位置(u,v,z)を3Dモデル生成部262に供給する。
ステップS87において、3Dモデル生成部262は、オクルージョン処理部261から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、第2レイヤの各サンプリング点の接続情報を生成する。
ステップS88において、3Dモデル生成部262は、各サンプリング点の3次元位置(u,v,z)および接続情報、並びに、RGB変換部258から供給されるRGB値を、第2レイヤの3次元データとして生成する。3Dモデル生成部256は、第2レイヤの3次元データを図19の描画部239に供給する。
なお、ML3Dモデル生成部236およびML3Dモデル生成部237により行われる3次元データ生成処理は、図27の3次元データ処理と同様に行われる。
以上のように、ホームサーバ13は、第1レイヤと第2レイヤを用いて、表示画像を生成する。従って、視聴位置が視点Oとは異なる場合に、第2レイヤを用いることにより、表示画像に含まれる視点Oのオクルージョン領域を生成することができる。従って、高画質の表示画像を生成することができる。
また、ホームサーバ13は、テクスチャ画像だけでなくデプス画像も用いて表示画像を生成する。従って、三角形パッチ描画により、被写体に応じた3次元形状の三角形パッチにテクスチャ画像をマッピングし、その三角形パッチを用いて表示画像を生成することができる。よって、テクスチャ画像のみを用いてテクスチャ画像を所定の面にマッピングすることにより表示画像を生成する場合に比べて、高画質の表示画像を生成することができる。
さらに、第1レイヤのテクスチャ画像とデプス画像は、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像である。従って、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のみを再生する再生装置において、第1レイヤのテクスチャ画像とデプス画像を再生することができる。
即ち、コンテンツサーバ12により生成される第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像のフォーマットは、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のフォーマットと互換性を有する。また、ホームサーバ13による再生方法は、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のみを再生する再生装置の再生方法と互換性を有する。
なお、ホームサーバ13は、第1レイヤのテクスチャ画像とデプス画像のみを用いて表示画像を生成するようにしてもよい。この場合、第1レイヤに対して接続情報の削除の代わりに、オクルージョン処理が行われる。
また、上述した説明では、3Dモデル生成部256は、不連続検出部255において検出された不連続画素に対応するサンプリング点との接続を表す接続情報を削除したが、コンテンツサーバ12から伝送されてくる三角形パッチ有効無効情報(詳細は後述する)に基づいて接続情報を削除するようにしてもよい。この場合、不連続検出部255は設けられない。
(三角形パッチ有効無効情報の説明)
図28は、このような場合にコンテンツサーバ12から伝送されてくる三角形パッチ有効無効情報を説明する図である。
図28の例では、第1レイヤのサンプリング点351の数が12個である。従って、隣接する3つのサンプリング点351を頂点とする三角形パッチ352の数は、12個である。
この場合、コンテンツサーバ12は、不連続検出部255と同様に、不連続画素を検出する。そして、コンテンツサーバ12は、その不連続画素に対応するサンプリング点を頂点とする三角形パッチ352を無効(OFF)に設定し、不連続画素に対応するサンプリング点を含まない三角形パッチ352を有効(ON)に設定する。
コンテンツサーバ12(生成部)は、各三角形パッチ352の有効または無効を示す三角形パッチ有効無効情報を生成し、メタデータに含める。
ホームサーバ13の3Dモデル生成部256は、三角形パッチ有効無効情報に基づいて、無効の三角形パッチの頂点を構成するサンプリング点どうしの接続を表す接続情報を削除する。その結果、三角形パッチ有効無効情報が無効を示す三角形パッチは、描画されない。
なお、三角形パッチは、右端および下端のサンプリング点を除いて、各サンプリング点に対して2個ずつ生成される。また、三角形パッチ有効無効情報は、三角形パッチの有効または無効を示す1ビットの情報である。従って、全ての三角形パッチの三角形パッチ有効無効情報のビット数は、第1レイヤのテクスチャ画像の水平方向の画素数をwidthとし、垂直方向の画素数をheightとすると、(width-1)*(height-1)*2ビットである。
三角形パッチ有効無効情報は、ロスレス圧縮または非圧縮で、コンテンツサーバ12からホームサーバ13に伝送される。なお、三角形パッチ有効無効情報は、デプス画像のCb,Cr値として配置されてもよい。
<第2実施の形態>
(画像表示システムの第2実施の形態の構成例)
図29は、本開示を適用した画像表示システムの第2実施の形態の構成例を示すブロック図である。
図29に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図29の画像表示システム400は、マルチカメラ11、コンテンツサーバ12、変換装置14、ヘッドマウントディスプレイ15、配信サーバ401、ネットワーク402、および再生装置403により構成される。画像表示システム400では、6つの面のうちの、視線に対応する1つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームのみが再生装置403に配信され、再生される。
具体的には、画像表示システム400の配信サーバ401は、コンテンツサーバ12から送信されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取り、記憶する。
また、配信サーバ401は、ネットワーク402を介して再生装置403と接続する。配信サーバ401は、再生装置403からの要求に応じて、記憶している低解像度テクスチャストリームおよび低解像度デプスストリーム、1つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを、ネットワーク402を介して再生装置403に伝送する。
再生装置403(画像処理装置)は、配信サーバ401に低解像度テクスチャストリーム、低解像度デプスストリーム、およびメタデータを、ネットワーク402を介して要求し、その要求に応じて伝送されてくる低解像度テクスチャストリーム、低解像度デプスストリーム、およびメタデータを受け取る。
また、再生装置403は、カメラ13Aを内蔵する。再生装置403は、ホームサーバ13と同様に、3Dモデル座標系における視聴位置を検出し、3Dモデル座標系における視聴者の視線方向と視野範囲を決定する。
そして、再生装置403は、3Dモデル座標系における視聴位置および視線方向、並びに、メタデータに含まれる第1レイヤのテーブルに基づいて、第1レイヤの6つの面のうちの、視線に最も近い視線ベクトルに対応する1つの面を選択面に決定する。再生装置403は、1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ネットワーク402を介して要求する。再生装置403は、その要求に応じて伝送されてくる1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを受け取る。
再生装置403は、低解像度テクスチャストリームおよび低解像度デプスストリーム、並びに、1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを用いて表示画像を生成する。再生装置403の表示画像を生成する処理は、選択面の数が1つである点を除いて、ホームサーバ13の処理と同様であるので、説明は省略する。再生装置403は、図示せぬHDMIケーブルを介して表示画像を変換装置14に伝送する。
<テクスチャ画像の他の例>
図30は、第1レイヤのテクスチャ画像の他の例を示す図である。
上述した説明では、第1レイヤの各面のテクスチャ画像は、1つの視点Oのテクスチャ画像であったが、視点Oに対応する左目用の視点と右目用の視点のテクスチャ画像が合成されたものであってもよい。
具体的には、図30のAに示すように、第1レイヤの各面のテクスチャ画像は、例えば、視点Oに対応する左目用の視点の第1レイヤの各面のテクスチャ画像421と、右目用の視点の第1レイヤの各面のテクスチャ画像422が、横方向(水平方向)にパッキングされたパッキング画像420であってもよい。
また、図30のBに示すように、第1レイヤの各面のテクスチャ画像は、例えば、テクスチャ画像421とテクスチャ画像422が、縦方向(垂直方向)にパッキングされたパッキング画像440であってもよい。
同様に、第2レイヤの各面のテクスチャ画像は、その面の1つの第2レイヤの視点に対応する左目用の視点の第2レイヤのテクスチャ画像と、右目用の視点の第2レイヤのテクスチャ画像が横方向または縦方向にパッキングされたパッキン画像であってもよい。
以上のように、第1レイヤおよび第2レイヤの各面のテクスチャ画像が左目用の視点と右目用の視点の画像をパッキングしたテクスチャ画像である場合、復号の結果得られるテクスチャ画像が、左目用の視点のテクスチャ画像と右目用の視点のテクスチャ画像に分離される。そして、第1レイヤおよび第2レイヤについて、左目用の3次元データと右目用の3次元データが生成される。
そして、視聴者の視聴方向および視聴位置に対応する左目の視聴方向および視聴位置基づいて、左目用の3次元データから左目用の表示画像が生成される。また、視聴者の視聴方向および視聴位置に対応する右目の視聴方向および視聴位置に基づいて、右目用の3次元データから右目用の表示画像が生成される。そして、ヘッドマウントディスプレイ15が3D表示可能である場合、ヘッドマウントディスプレイ15は、左目用の表示画像を左目用の画像として表示し、右目用の表示画像を右目用の画像として表示することにより、表示画像を3D表示する。
なお、第1および第2実施の形態では、撮影画像が正八面体にマッピングされることにより全天球画像が生成されたが、撮影画像がマッピングされる3Dモデルは、正八面体のほか、球や立方体などにすることができる。撮影画像が球にマッピングされる場合、全天球画像は、例えば、撮影画像がマッピングされた球の正距円筒図法による画像である。
また、低解像度テクスチャストリームと低解像度デプスストリームは生成されなくてもよい。第1レイヤおよび第2レイヤのデプス画像は生成されなくてもよい。また、第2レイヤのテクスチャ画像とデプス画像は、重要な被写体の撮影画像がマッピングされる一部の面に対してのみ生成されるようにしてもよい。
さらに、低解像度テクスチャ画像および低解像度デプス画像も、高解像度のテクスチャ画像およびデプス画像と同様に、階層化して生成されてもよい。
<第3実施の形態>
(複数のマルチカメラにより撮影された画像を用いて再生する例)
以上においては、1台のマルチカメラ11により撮影される画像を用いて全天球画像を再生する例について説明してきたが、上述したテクスチャ画像およびデプス画像、並びに、メタデータのフォーマットを利用して、複数のマルチカメラ11により撮影されたテクスチャ画像およびデプス画像、または、複数のマルチカメラ11により撮影されたテクスチャ画像およびデプス画像よりレンダリングされたテクスチャ画像およびデプス画像を用いるようにすることで、様々な視点位置で、全天球画像を表示する、または、同一の被写体を異なるカメラで取り囲むようにして様々な視点の画像を表示できるようにしてもよい。
図31は、複数のマルチカメラ11を用いて、様々な視点で全天球画像や取り囲み画像を表示する画像表示システムの第3の実施の形態の構成例を示すブロック図である。尚、図31において、図1と同一の機能を備えた構成については、同一の符号を付しており、その説明は適宜省略するものとする。
すなわち、図31の画像表示システム10においては、マルチカメラ11−1乃至11−nで示されるように、マルチカメラ11が複数に設けられ、コンテンツサーバ12、およびホームサーバ13に代えて、コンテンツサーバ501およびホームサーバ502が新たに設けられている。
コンテンツサーバ501は、基本的な機能において、コンテンツサーバ12と同様であるが、複数のマルチカメラ11−1乃至11−nより供給される各カメラの撮影画像から、それぞれの所定の視点の全天球画像を構成する第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を生成する。さらに、コンテンツサーバ501は、ホームサーバ502からの視点位置、および視線方向からなる視点情報に対応付けられたテクスチャ画像、およびデプス画像の要求に応じて、各マルチカメラ11のそれぞれ所定の視点の全天球画像のテクスチャ画像とデプス画像に基づいて、要求に基づいた画像を生成し、ホームサーバ502に供給する。尚、マルチカメラ11−1乃至11−nについて、特に区別する必要がない場合、単に、マルチカメラ11と称するものとし、その他の構成についても同様に称する。
ホームサーバ502は、基本的な機能において、ホームサーバ13と同様であるが、ヘッドマウントディスプレイ15より供給されてくる、ヘッドマウントディスプレイ15の視聴位置および視線方向に対応する、視聴位置と視線方向に基づいた視聴者の視野範囲から特定される、テクスチャ画像とデプス画像をコンテンツサーバ501に要求し、取得して、変換装置14を介してヘッドマウントディスプレイ15に表示させる。
(再生方法の概要)
次に、図32を参照して、図31のコンテンツサーバ501により複数のマルチカメラ11−1乃至11−nより供給されてくるテクスチャ画像およびデプス画像を用いた再生方法の概要について説明する。
各マルチカメラ11から供給されてくるテクスチャ画像およびデプス画像は、第1レイヤのみを考えた場合、図8を参照して説明したように、+X面81、−X面82、+Y面83、−Y面84、+Z面85、−Z面86からなる6面のテクスチャ画像として管理される。
コンテンツサーバ501は、複数のマルチカメラ11により撮影された画像が送信されてくると、6面の面情報をマルチカメラ毎に記憶する。
そして、コンテンツサーバ501は、ホームサーバ502からの要求に応じて、複数のマルチカメラ11により撮影された画像を用いて画像を再生させようとするとき、マルチカメラ毎に撮影された画像を、それぞれカメラレイヤとして複数のレイヤからなる画像データを用いて再生させる。
コンテンツサーバ501は、例えば、マルチカメラ11−1,11−2からそれぞれ6面のテクスチャ画像、およびデプス画像が送信されてくるとき、これらをマルチカメラ11毎に記憶し、ホームサーバ502からの要求に応じて、この画像を用いて画像を再生する。
より具体的には、コンテンツサーバ501は、マルチカメラ11−1,11−2のそれぞれの6つの面の画像を用いる場合、マルチカメラ11が1台であるときには、全天球画像を表示させる上では、1台のマルチカメラ11により撮影された6つの画像を用いるだけであった。しかしながら、複数のマルチカメラ11の画像を用いるときには、例えば、図32で示されるように、6つの画像のそれぞれについて、マルチカメラ11毎の複数の画像を複数のカメラレイヤ分だけホームサーバ502に供給し、複数のカメラレイヤの画像のいずれかを選択的に表示する、または、複数のレイヤの画像を混合するといった手法で表示させる。
ここで、図32においては、マルチカメラ11毎により撮影された6面の面情報を、図32の右上部で示されるように、マルチカメラ11毎に正六面体の展開図として表現しており、カメラレイヤと、それぞれにおいて各面を識別する符号が付されている。さらに、カメラレイヤ毎に、正六面体の展開図が積層された状態で描かれている。
すなわち、図32のマルチカメラ11−1の6つの面については、カメラレイヤP1とされ、それぞれの面の名称に対応付けて符号が付されて+X面P1+X、−X面P1−X、+Y面P1+Y、−Y面P1−Y、+Z面P1+Z、−Z面P1−Zとされている。また、マルチカメラ11−2の6つの面については、カメラレイヤP2とされ、それぞれの面の名称に対応付けて符号が付されて+X面P2+X、−X面P2−X、+Y面P2+Y、−Y面P2−Y、+Z面P2+Z、−Z面P2−Zとされている。さらに、カメラレイヤP1は、図32においては、カメラレイヤP2の展開図の上に積層されて表現されている。
ここで、図32の左上部においては、マルチカメラ11−1、11−2の上面図となっており、マルチカメラ11は、それぞれ方形状のものとして表現されている。また、各方形状のマルチカメラ11の中心位置が視点位置となり、視点から各面への法線となる軸の名称が、各面の名称とされており,例えば、マルチカメラ11−1の視点位置から+Z軸を法線とする面、すなわち、+Z方向を視線方向とする面が、カメラレイヤP1の+Z面であり、展開図中の+Z面P1+Zとして表されている。
また、同様に、マルチカメラ11−1の図中の視点位置から+Z軸に対して90度を成す+X軸を法線とする面、すなわち、+X軸を視線方向とする面は、+X面P1+Xとなる。同様に、マルチカメラ11−2については、視点位置から+Z軸を法線とする面、すなわち、+Z軸方向を視線方向とする面が、カメラレイヤP2の+Z面P2+Zあり、視点位置から−X軸を法線とする面、すなわち、−X軸方向を視線方向とする面が、カメラレイヤP2の−X面P2−Xとなる。
さらに、マルチカメラ11−1,11−2の紙面に対して手前、または、奥が、それぞれ視点位置に対して+Y軸、および−Y軸方向となるため、図示が省略されているが、それぞれ視点位置から+Y軸を法線とする面、すなわち、+Y軸方向を視線方向とする面が、+Y面P1+Yであり、同様に、−Y面P1−Y、+Y面P2+Y、−Y面P2−Yが存在する。
このように、各マルチカメラ11−1,11−2の6つの面が図32の右上部で示される十字状に縦方向の3面、および横方向の4面に配列された展開図として表現されており、それぞれがカメラレイヤP1,P2を構成する各面として表されている。
そこで、以降においては、この6つの面の集合体であって展開図状に表記されたものを、例えば、マルチカメラ11−1の6つの各面のデータについては、カメラレイヤP1の面データと称するものとし、マルチカメラ11−2の6つの各面のデータについては、カメラレイヤP2の面データとも表現するものとする。従って、図32の右上部においては、カメラレイヤP1,P2の各面データを構成する6面のデータが積層されて表現されている。
また、図32においては、方形状に表現されるマルチカメラ11−1,11−2の対角線を延長した線分で表現される視点位置を中心に各90度ずつの範囲が各面の画角となり、マルチカメラ11−1,11−2の空間的な位置関係も表されている。
このため、図32においては、マルチカメラ11−1,11−2の間に被写体511が存在するような場合、+Z面P1+Zと+Z面P2+Zとの2枚の面で被写体511が撮影されている。
尚、ここでいうカメラレイヤは、上述した主に前景である第1レイヤと、主に背景である第2レイヤとは異なる階層を表現するものである。
このように複数のマルチカメラ11の面データが使用される場合、マルチカメラ11毎のカメラレイヤが設定され、6つの面の面データとして、カメラレイヤ毎に全天球画像を構成する6つの面が設定されている。
このため、例えば、全天球画像として再生することを前提とした場合、図33で示されるような位置関係でマルチカメラ11−11乃至11−13が被写体511を取り囲むように配置されているようなとき、仮想視点512が設定されると、仮想視点512に最も近いマルチカメラ11−11であるカメラレイヤP11となる6つの面のデータを使用することで、高精度に仮想視点512での画像を再生させることが可能となる。
尚、図33においては、マルチカメラ11−11乃至11−13のそれぞれにカメラレイヤP11,P12,P13の6つの面の面データが設定されており、図33の左上部において、積層されてレイヤが構成されていることが示されている。
また、被写体511の周りに設けられた画像を、仮想視点に応じて切り替えて表示する取り囲み画像として再生することを前提とした場合、図34の左部で示されるように、マルチカメラ11−11乃至11−13が被写体511の周りに配置されているような場合、マルチカメラ11毎に構成されるカメラレイヤP11,P12,P13のうち、被写体511が撮影されている面の画像だけを用いるようにする。
すなわち、図34の左部の場合、被写体511が撮影されている画像は、マルチカメラ11−11の+Z面P11+Z、マルチカメラ11−12の−X面P12−X、および、マルチカメラ11−13の+Z面P13+Zとの3面となる。
これに対して、図34の右部で示されるように、仮想視点521と被写体511が移動するような場合、マルチカメラ11−12の+Z面P12+Z、および、マルチカメラ11−13の−X面P13−Xの2面に変化する。
従って、各カメラレイヤで設定される6つの面のうち、必要とされる面は、3面となるので、ホームサーバ502に対して、複数のカメラレイヤの画像が必要となる際にも、必要となる面のみをホームサーバ502に対して送信するようにすることで、帯域に余裕を持たせるようにすることも可能となる。
すなわち、図35の中央下部で示されるように、3つのカメラレイヤ毎に設定される6つの面データに対して、それぞれの面データを送信する否かを設定するプライオリティテーブルを設定する。図35の中央下部においては、左項が各カメラレイヤP0乃至P1の、それぞれ設定される6つの面のデータを表現しており、右項が各カメラレイヤにおいて送信するか否かを設定するプライオリティテーブルであることを表している。図35の右項においては、各面のプライオリティとして、送信する必要があるものには「1」が設定されており、「1」のプライオリティが設定された面に対応するデータを送信し、「1」のプライオリティが設定されていない面に対するデータが送信されないことを表している。
従って、図35の左下部で示されるように、例えば、全天球画像として再生することを前提とした場合、仮想視点521に最も近いマルチカメラ11−11であるカメラレイヤP11となる6つの面(図中の最上層の6つの面)のデータを使用することで、高精度に仮想視点512での画像を再生させることが可能となる。このため、プライリティテーブルは、カメラレイヤP11を構成する6つの面に対応するものが「1」に設定されて送信され、カメラレイヤP12,P13のそれぞれの6つの面は送信されない。
また、図35の右上部で示されるように、取り囲み画像として再生することを前提とした場合、被写体511が撮影されている画像は、マルチカメラ11−11の+Z面P11+Z、マルチカメラ11−12の+X面P12+X、および、マルチカメラ11−13の+Z面P13+Zとの3面となる。このため、プライオリティテーブルは、マルチカメラ11−11の+Z面P11+Z、マルチカメラ11−12の+X面P12+X、および、マルチカメラ11−13の+Z面P13+Zとの3面に対応するものが「1」に設定されて送信され、それ以外の面は送信されない。
このように複数のマルチカメラ11−1乃至11−nにより撮影された画像は、マルチカメラ11毎に設定されるカメラレイヤ単位の6つの面のデータとして管理され、さらに、再生に際しては、被写体と仮想視点との位置関係に応じて、送信が必要な面を特定するプライオリティテーブルを生成して、全天球画像の場合には、特定のカメラレイヤの画像のみを送信し、取り囲み画像の送信に際しては、必要とされる面データのみが送信され、送信に係る伝送帯域の負荷を低減させることができる。
以降において、図31乃至図35を参照して説明したカメラレイヤの概念を利用した、本開示の画像表示システムについて説明する。
(図31のコンテンツサーバの構成例)
次に、図36のブロック図を参照して、高解像度画像処理部34の構成例について説明する。尚、図31のコンテンツサーバ501の構成において、図2のコンテンツサーバ12の構成と異なる点は、高解像度画像処理部34の構成のみであるので、ここでは、図31のコンテンツサーバ501における高解像度画像処理部34の構成例についてのみ説明する。
図36の高解像度画像処理部34と、図3の高解像度画像処理部34との違いは、グループ化部551、プライオリティ設定部552、および選択部553を設けた点である。
グループ化部551は、各マルチカメラ11の内部パラメータと外部パラメータの少なくとも一方に基づいて、複数のマルチカメラ11を複数のグループに分類する。グループ化部551は、複数のグループのそれぞれに関するグループ情報が登録されるグローバルテーブルを生成する。
また、グループ化部551は、グループごとに、そのグループに分類されたマルチカメラ11により撮影されるテクスチャ画像から3次元データを生成する際に用いられるカメラ情報を登録したグループテーブルを生成する。カメラ情報には、内部パラメータ、および外部パラメータなどがある。グループ化部551は、グローバルテーブルとグループテーブルをストレージ58に格納する。
プライオリティ設定部552は、グループ単位で、被写体の存在する視聴領域を複数のグリッドに分割し、グリッド毎に、複数のマルチカメラ11のそれぞれを構成する各面のカメラ(ここでは、6つの面からなるので、6個のカメラ)により構成されるカメラ配置毎に評価値を設定し、評価値に応じたプライオリティを設定する。
より詳細には、プライオリティ設定部552は、複数のマルチカメラ11のグループ毎に、マルチカメラ11を構成する6個のカメラのうちの、カメラの画像ごとの、各カメラの外部パラメータと内部パラメータに基づいて、各カメラの画角を求める。プライオリティ設定部552は、各カメラの画角に基づいて、3次元データの生成に対するカメラの配置の評価値を算出する。
プライオリティ設定部552は、例えば、所定のグループにおいて、マルチカメラ11の配置と被写体の位置関係は固定されているので、被写体の存在する視聴領域をグリッドに分割し、グリッド単位で、かつ、視線方向単位で、所定のグループに属するマルチカメラ11を構成するカメラの有無のパターンを変化させて、カメラ配置毎の評価値を算出し、それぞれの評価値に基づいて、そのカメラ配置に含まれるカメラ毎に、プライオリティを算出して、プライオリティテーブルを設定してストレージ58に格納する。
選択部553は、ホームサーバ502から要求される仮想視点より、プライオリティ設定部552から供給されるプライオリティテーブルに基づいて、仮想視点に対応したカメラにより撮影された面のプライオリティに基づいて、最もプライオリティが画像(面)を選択して、伝送部60よりホームサーバ502に伝送する。
(グループ化部の構成例)
次に、図37のブロック図を参照して、図36のグループ化部551の構成例について説明する。
図37のグループ化部551は、グルーピング部561、グローバルテーブル生成部562、およびグループテーブル生成部563により構成される。
グループ化部551のグルーピング部561は、プライオリティ設定部552により設定される各カメラの内部パラメータと外部パラメータの少なくとも一方に基づいて、複数のカメラを複数のグループに分類する。グルーピング部561は、各グループのグループ情報を生成し、グローバルテーブル生成部562に供給する。
また、グルーピング部561は、グループごとに、そのグループに分類されたマルチカメラ11と、各カメラの内部パラメータ、および外部パラメータを、グループテーブル生成部563に供給する。
グローバルテーブル生成部562(グループ情報生成部)は、グルーピング部561から供給される各グループのグループ情報に基づいて、グローバルテーブルを生成する。グローバルテーブル生成部562は、グローバルテーブルをストレージ58に供給して記憶させる。
グループテーブル生成部563(カメラ情報生成部)は、グルーピング部561から供給される各グループに分類されたマルチカメラ11の内部パラメータ、および外部パラメータに基づいて、グループごとにグループテーブルを生成する。グループテーブル生成部563は、グループテーブルをストレージ58に供給して記憶させる。
(マルチカメラの第1の分類方法の説明)
図38および図39は、グルーピング部561によるマルチカメラ11の第1の分類方法を説明する図である。
図38および図39の例では、13個のマルチカメラ11のうちの1個のカメラ571−0乃至571−12により、3つの3次元物体572−0乃至572−2が主要な被写体として撮影されている。尚、このことは、後述する図41においても同様である。また、以下では、カメラ571−0乃至571−12を特に区別する必要がない場合、それらをまとめてカメラ71という。さらに、以降においては、マルチカメラ11をグルーピングする方法を説明する上で、マルチカメラ11に属する6つのカメラ571のうちの1台のみをグルーピングする例について説明するが、各カメラ571が属するグループのそれぞれにマルチカメラ11が属するものとする。
この場合、第1の分類方法では、グルーピング部551は、例えば、図38に示すように、カメラ571の外部パラメータが示す位置に基づいて、k平均法(k-means法)などにより、カメラ571の所属するマルチカメラ11をグループに分類する。すなわち、マルチカメラ11は、例えば、6つの面を6個のカメラで撮像するものであるので、1個のマルチカメラ11は、6つの面のそれぞれでグループに属することになる。これにより、全てのマルチカメラ11は、いずれか1つのグループに分類される。図38の例では、グルーピング部561は、4つのカメラ571−0乃至571−3の属するマルチカメラ11を第1のグループに分類し、5つのカメラ71−4乃至71−8の属するマルチカメラ11を第2のグループに分類し、4つのカメラ71−9乃至71−12の属するマルチカメラ11を第3のグループに分類している。
このとき、グルーピング部561は、グループごとに、そのグループに分類される全てのカメラ571の属するマルチカメラ11の位置を含む領域573−0乃至573−2を決定し、領域573−0乃至573−2の重心574−0乃至574−2を求める。領域573−0乃至573−2のうちの隣り合う領域どうしは、接してもよいし、接しなくてもよい。
図38の第1の分類方法では、カメラ571を含むマルチカメラ11がいずれか1つのグループに分類されたが、図39に示すように、少なくとも1つのカメラ571が所属するマルチカメラ11が2以上のグループに分類されることもある。この場合、グルーピング部561は、全てのカメラ571の外部パラメータが示す位置を含む領域に対して、その領域の一部を構成する部分領域を、少なくとも1つの部分領域が他の部分領域と重なるように設定する。そして、グルーピング部561は、部分領域ごとに、その部分領域内に位置するカメラ571の属するマルチカメラ11を1つのグループに分類する。
図39の例では、全てのカメラ571の属するマルチカメラ11の位置を含む領域に対して、3つの円形の部分領域581−0乃至581−2が設定されている。そして、部分領域581−0内に位置する4つのカメラ571−0乃至571−3が属するマルチカメラ11が第1のグループに分類され、部分領域581−1内に位置する5つのカメラ571−4乃至571−8が属するマルチカメラ11が第2のグループに分類されている。また、部分領域581−2内に位置する6つのカメラ571−7乃至571−12が属するマルチカメラが第3のグループに分類されている。従って、カメラ571−7およびカメラ571−8の属するマルチカメラ11は、第2のグループと第3のグループの両方に分類されている。
このとき、グルーピング部561は、部分領域581−0乃至581−2の重心(中心)582−0乃至582−2を求める。
なお、図38および図39の例では、カメラ571により撮影される主な被写体が3次元物体であるようにしたが、3次元空間であってもよい。
(第1の分類方法におけるグローバルテーブルの構成例)
図40は、第1の分類方法におけるグローバルテーブルの構成例を示す図である。
なお、図40の例では、グループの数が3であり、各グループに0から順にグループIDが付与されている。
図40のグローバルテーブルでは、各グループのグループIDに対応付けて、そのグループの重心位置、領域情報、およびグループテーブル取得情報からなるグループ情報が登録される。
重心位置は、グループに分類される全てのカメラの位置を含む領域の重心(図38の例では重心574−0乃至574−2、図39の例では重心582−0乃至582−2)の位置を示す3次元座標である。図40では、グループIDがi(i=0,1,2)であるグループの重心位置を、3次元座標(xi,yi,zi)と記載している。
また、領域情報は、グループに分類される全てのカメラの位置を含む領域(図38の例では領域573−0乃至573−2、図39の例では部分領域581−0乃至581−2)を示す情報である。領域573−0乃至573−2のように、領域の形状が円形ではない場合、領域情報は、例えば、領域の各頂点の3次元座標である。一方、部分領域581−0乃至581−2のように、領域の形状が円形である場合、領域情報は、例えば、領域の半径を示す情報である。図40の例では、グループIDがiであるグループの領域情報を、Region iと記載している。
グループテーブル取得情報は、例えば、ストレージ58内のグローバルテーブルの位置を特定するURL(Uniform Resource Locator)などの情報である。図40では、グループIDがiであるグループのグループテーブル取得情報を、URL iと記載している。
(マルチカメラの第2の分類方法の説明)
図41は、図37のグルーピング部561によるマルチカメラ11の第2の分類方法を説明する図である。
第2の分類方法では、マルチカメラ11を構成する各カメラと各仮想視点に設置されるものと仮定されるカメラの内部パラメータおよび外部パラメータは同一である。
また、グルーピング部561は、図41に示すように、3次元物体572−0乃至572−2のそれぞれについて、その3次元物体572−0乃至572−2を被写体とするテクスチャ画像に対応するマルチカメラ11のいずれかに属するカメラをグループに分類する。具体的には、グルーピング部561は、カメラごとに、内部パラメータと外部パラメータに基づいて、テクスチャ画像(2次元画像)を用いて対応する3次元物体を認識する。そして、グルーピング部561は、3次元物体ごとに、その3次元物体に対応するカメラをグループに分類し、対応するマルチカメラ11を対応付けてグループに分類する。
図41の例では、グルーピング部561は、3次元物体72−0に対応するグループに、6つのカメラ571−0乃至571−3、カメラ71−10、およびカメラ571−11の属するマルチカメラ11を分類している。このとき、グルーピング部561は、3次元物体572−0に対応するグループに分類された全てのカメラ571の属するマルチカメラ11の位置を含む領域601を決定し、領域601の重心602を求める。
また、グルーピング部561は、3次元物体572−0に対応するグループと同様に、3次元物体572−1および572−2に対応するグループにカメラ571に属するマルチカメラ11を分類する。そして、グルーピング部561は、グループごとに、そのグループに分類された全てのカメラ571の属するマルチカメラ11の位置を含む領域を決定し、その領域の重心を求める。
(第2の分類方法におけるグローバルテーブルの構成例)
図42は、第2の分類方法におけるグローバルテーブルの構成例を示す図である。
図42のグローバルテーブルの構成は、グループ情報に3次元物体位置がさらに含まれる点が、図40の構成と異なっている。
即ち、図42のグローバルテーブルでは、各グループのグループIDに対応付けて、そのグループに対応する3次元物体(図41の例では3次元物体572−0乃至572−2)を表す情報としての3次元物体の中心の3次元座標が、3次元物体位置として登録される。つまり、3次元物体位置は、各グループに分類されたカメラに対応するマルチカメラ11に属するカメラにより撮影されたテクスチャ画像がどの3次元物体の3次元データの生成に用いられたかを示す情報である。図42では、グループIDがi(i=0,1,2)であるグループの3次元物体位置は、3次元座標(xsi,ysi,zsi)と記載している。
(カメラの第3の分類方法の説明)
図43は、図37のグルーピング部561によるカメラの第3の分類方法を説明する図である。
第3の分類方法では、マルチカメラ11に属する各カメラの主要な被写体が3次元空間である。図43の例では、マルチカメラ11に属するカメラの数が13個であり、13個のカメラ571−0乃至571−12には内部パラメータおよび外部パラメータが設定されている。
さらに、グルーピング部561は、図43に示すように、3次元空間をグリッドやボロノイなどにより3次元空間分割領域に分割する。図43の例では、いずれかのマルチカメラ11に属する13個のカメラ571は、3つの3次元空間分割領域621−0乃至621−2を主要な被写体として撮影している。なお、カメラ571により撮影される3次元空間分割領域621−0乃至621−2には、3次元物体が含まれていてもよい。
また、グルーピング部561は、図43に示すように、3次元空間分割領域621−0乃至621−2のそれぞれについて、その3次元空間分割領域621−0乃至621−2を被写体とするテクスチャ画像に対応するカメラをグループに分類する。具体的には、グルーピング部561は、カメラごとに、内部パラメータと外部パラメータに基づいて、テクスチャ画像を用いて生成される3次元データに対応する3次元空間分割領域を認識する。そして、グルーピング部561は、3次元空間分割領域ごとに、その3次元空間分割領域に対応するカメラをグループに分類する。
図43の例では、グルーピング部561は、3次元空間分割領域621−0に対応するグループに、6つのカメラ571−0乃至571−3、カメラ571−10、およびカメラ571−11に属するマルチカメラ11を分類している。このとき、グルーピング部561は、3次元空間分割領域621−0に対応するグループに分類された全てのカメラ571の属するマルチカメラ11の位置を含む領域601を決定し、領域601の重心602を求める。
また、グルーピング部561は、3次元空間分割領域621−0に対応するグループと同様に、3次元空間分割領域621−1および621−2に対応するグループにカメラ571の属するマルチカメラ11を分類する。そして、グルーピング部561は、グループごとに、そのグループに分類された全てのカメラ571の属するマルチカメラ11の位置を含む領域を決定し、その領域の重心を求める。
(第3の分類方法におけるグローバルテーブルの構成例)
図44は、第3の分類方法におけるグローバルテーブルの構成例を示す図である。
図44のグローバルテーブルの構成は、グループ情報に3次元空間分割領域位置がさらに含まれる点が、図40の構成と異なっている。
即ち、図44のグローバルテーブルでは、各グループのグループIDに対応付けて、そのグループに対応する3次元空間分割領域(図43の例では3次元空間分割領域621−0乃至621−2)を表す情報としての3次元空間分割領域の中心の3次元座標が、3次元空間分割領域位置として登録される。つまり、3次元空間分割領域位置は、各グループに分類されたカメラにより撮影されたテクスチャ画像等がどの3次元空間分割領域の3次元データの生成に用いられたかを示す情報である。図44では、グループIDがi(i=0,1,2)であるグループの3次元空間分割領域位置は、3次元座標(xci,yci,zci)と記載している。
(グループテーブルの例)
図45は、図37のグループテーブル生成部563により生成されるグループテーブルの例を示す図である。
図45に示すように、グループテーブルは、そのグループテーブルに対応するグループに分類されるマルチカメラ11の属するマルチカメラIDと、各マルチカメラに属するカメラにより撮影される面に対応付けて、そのカメラの内部パラメータ、外部パラメータ、ストリーム取得情報が、カメラ情報として登録される。
図45の例では、グループテーブルに対応するグループに分類されるマルチカメラ11の数が3つであり、マルチカメラ11のマルチカメラIDが1乃至3であり、各マルチカメラ11の属するカメラにより撮影される面がposZi,negZi,posXi,negXi,posYi,negYi (i=1,2,3)である。尚、マルチカメラ11における各カメラに対応する面は、図8を参照して説明した面81乃至86に対応するものである。
また、図45では、posZi,negZi,posXi,negXi,posYi,negYi (i=1,2,3)であるカメラの内部パラメータを、Kij(j=0乃至5)と記載し、外部パラメータはRij|Tijと記載している。
ストリーム取得情報は、テクスチャ画像取得情報とデプス画像取得情報からなる。図45では、カメラを識別する面がposZi,negZi,posXi,negXi,posYi,negYi (i=1,2,3)であるカメラのテクスチャ画像取得情報を、VIDEO URL ij(j=0乃至5)と記載している。
デプス画像取得情報は、カメラにより撮影されるデプス画像データの符号化ストリームの取得に用いられる情報であり、例えば、ストレージ58内のデプス画像データの位置を特定するURLなどの情報である。図45では、カメラを識別する面がposZi,negZi,posXi,negXi,posYi,negYi (i=1,2,3)であるカメラのデプス画像データ取得情報は、DEPTH URL ij(j=0乃至5)と記載している。
選択部553は、ホームサーバ502からの要求に応じて、以上のようにしてグループテーブルに登録される各カメラのカメラ情報に基づいて、登録されている全てのカメラのカメラ情報から、ホームサーバ502により再生される3次元データの生成に用いられるカメラ情報を選択する。
(プライオリティ設定部の構成例)
次に、図46のブロック図を参照して、プライオリティ設定部552の構成例について説明する。プライオリティ設定部552は、評価部651、およびプライオリティ判定部652を備えている。
評価部651は、グループ毎に、取り囲み画像を生成するのに必要とされる、各カメラの外部パラメータと内部パラメータに基づいて、各カメラの画角を求める。評価部651は、グループを構成するカメラの配置ごとに、各カメラの画角に基づいて、3次元データの生成に対するカメラの配置毎の評価値を算出する。評価部651は、カメラの配置ごとの評価値をグループ単位でプライオリティ判定部652に供給する。プライオリティ判定部652は、評価部651より供給されてくる、グループ毎の、各カメラ配置の評価値をプライオリティ判定部652に供給する。
プライオリティ判定部652は、評価部651より供給されてくるグループ毎の各カメラ配置の評価値に基づいて、全天球画像を表示するときのマルチカメラ11単位の全天球プライオリティと、取り囲み画像を表示する際の各カメラ単位の取り囲みプライオリティとを設定し、プライオリティテーブルを生成して、ストレージ58に格納する。プライオリティ判定部652は、例えば、後述する取り囲み画像のプライオリティである取り囲みプライオリティを設定し、取り囲みプライオリティで設定されるマルチカメラ11とは無関係に個々のカメラ単位で設定されるプライオリティを用いて、全天球画像のプライオリティである全天球プライオリティを設定するようにしてもよい。プライオリティ判定部652は、例えば、全天球プライオリティにより個々のカメラに設定されるプライオリティの総合計により、マルチカメラ11毎の全天球プライオリティを設定するようにしてもよい。
(取り囲み画像の例)
ここで、図47を参照して、取り囲み画像を生成するのに必要とされる画像を撮影するカメラによる取り囲み配置の例について説明する。
取り囲み画像は、例えば、図47に示すように、各グループにおいて、マルチカメラ11のそれぞれのカメラ571が設置される設置領域691が、被写体、または、被写体領域からなる視聴領域692を含む場合、カメラ571の配置が取り囲み配置される。図47では、設置領域691が複数(図47の例では、12(横)×8(縦))のグリッド693に分割されている。そして、全てのグリッド693の頂点のうちの3つの頂点の組み合わせごとに、その3つの頂点を各カメラ571の位置tとして含み、各カメラ571の光軸が視聴領域692の中心点694を通る姿勢Rを含む各カメラ571の外部パラメータが生成されるものとする。3つの頂点の組み合わせごとの各カメラ571の外部パラメータが、各カメラ571の配置の外部パラメータに決定されるものとする。
なお、設置領域691内のカメラ571の配置は、全てのカメラ571の画角が視聴領域692を含むグループ毎となる。
ここで、プライオリティ設定部552の構成例の説明に戻る。プライオリティ設定部552の評価部651は、分割部671、投影部672、判定部673、および計算部674により構成される。
評価部651の分割部671は、各グループで被写体に対応付けられる視聴領域情報の位置を示す視聴領域の表面を複数のグリッドに分割する。分割部671は、各グリッドの左上の位置を示す3次元座標などからなるグリッド情報を投影部672に供給する。
例えば、分割部671は、図48のAに示す視聴領域741の表面を複数のグリッド742に分割し、そのグリッド742の左上の位置743を示す3次元座標をグリッド情報として投影部672に供給する。なお、図48のAは、視聴領域741の斜視図である。
投影部672は、各グループについて、カメラ571の配置ごとに、分割部671から供給されるグリッド情報、並びに、各カメラ571の外部パラメータおよび内部パラメータに基づいて、各グリッドを各カメラ571に投影し、投影線を示す投影線情報を生成する。投影部672は、カメラ571のグループごとに、各グリッドの各カメラ571への投影線情報を判定部673に供給する。
例えば、投影部672は、図48のBに示すグリッド742の左上の位置743をカメラ571−1乃至571−3のそれぞれに投影し、投影線744を示す投影線情報を判定部673に供給する。なお、図48のBは、カメラ571と視聴領域741をカメラ571の上から見た図である。このことは、図48のCにおいても同様である。
判定部673は、各グループで、カメラ571ごとに、投影部672から供給される投影線情報に基づいて、各グリッドに対して、カメラ571への投影線が各カメラ571の画角内に存在するカメラ571の数Viewcountを検出する。
判定部673は、グリッドごとに、数Viewcountがカメラ571の数Nである場合、即ち各カメラ571への投影線が全てカメラ571の画角内に存在する場合、カメラ571の配置が妥当であるかどうか、すなわち、カメラ571により被写体が妥当に撮影されているか否かを示すValidFlagを、妥当であることを示す1に設定する。
一方、判定部673は、グリッドごとに、数Viewcountがカメラ571の数Nより小さい場合、即ち各カメラ571への投影線の少なくとも1つがカメラ571の画角内に存在しない場合、ValidFlagを、妥当ではないことを示す0に設定する。判定部673は、カメラ571の配置ごとに、各グリッドのValidFlagを算出部675に供給する。
例えば、図48のBに示す左上の位置743からカメラ571−1および571−2への投影線は、それぞれ、カメラ571−1の画角742−1、カメラ571−2の画角742−2内に存在する。しかしながら、左上の位置743からカメラ571−3への投影線は、カメラ571−3の画角742−3内に存在しない。従って、判定部673は、左上の位置743のグリッド742について、カメラ571の数Viewcountを2と判定する。そして、判定された数Viewcountである2は、カメラ571の数Nである3より小さいので、判定部673は、左上の位置743のグリッド742のValidFlagを0に設定し、算出部675に供給する。
一方、図48のBに示す中央下の位置743からカメラ571−1およびカメラ571−3への投影線は、それぞれ、カメラ571−1乃至571−3の画角742−1乃至742−3内に存在する。従って、判定部673は、中央下の位置743のグリッド742について、カメラ571の数Viewcountを3と判定する。そして、判定された数Viewcountである3は、カメラ571の数Nである3と同一であるので、判定部673は、中央下の位置743のグリッド742のValidFlagを1に設定し、算出部675に供給する。
計算部674は、カメラ571の配置ごとに、各カメラ571の外部パラメータおよび内部パラメータに基づいて、Convex Hullを生成する。Convex Hullは、各カメラ571の画角を3次元座標に投影する際に交差する領域であり、カメラ571の画角によって生成されるVisual Hullである。Convex Hullの詳細は、例えば、C. BRADFORD BARBER, DAVID P. DOBKIN, HANNU HUHDANPAA,The Quickhull Algorithm for Convex Hullsに記載されている。
図48のBの例では、計算部674は、Convex Hull745を生成する。Convex Hull745からはみ出した視聴領域741の3次元データを、カメラ571により撮影されたテクスチャ画像とデプス画像を用いて生成することはできない。
また、計算部674は、カメラ571の配置ごとに、Convex Hullのx,y,z座標の最小値と最大値に基づいて、Convex Hullに外接する四角柱であるBounding Boxの3次元座標を計算する。計算部674は、カメラ571の配置ごとに、Bounding Boxの3次元座標を算出部675に供給する。
例えば、計算部674は、図48のCのConvex Hull745のx,y,z座標の最小値と最大値に基づいて、Convex Hull745に外接する四角柱であるBounding Box746の3次元座標を計算し、算出部675に供給する。
算出部675は、カメラ571の配置ごとに、判定部673から供給される各グリッドのValidFlagに基づいて、全てのグリッドのValidFlagが1であるかどうかを判定する。算出部675は、全てのグリッドのValidFlagが1であると判定した場合、以下の式(2)に基づいて、評価値Eを算出する。
なお、len(R)は、領域Rの辺のx方向、y方向、およびz方向の長さの和である。また、本明細書では、視聴領域の形状が四角柱であるが、四角柱以外の形状の領域であってもよい。この場合、式(2)において、視聴領域の代わりに、視聴領域に外接する四角柱の領域が用いられる。
式(2)によれば、評価値Eは、Bounding Boxに占める視聴領域の割合が大きいほど1に近づく。即ち、評価値Eは、Convex Hullに占める視聴領域の割合が大きいほど1に近づく。
例えば、図49のBの上段に示すように、Convex Hull752に占める視聴領域741の割合が比較的大きい場合、図49のAの上段に示すように、Convex Hull751に占める視聴領域741の割合が比較的小さい場合に比べて、評価値Eは1に近い値となる。
また、カメラ571の配置が取り囲み配置である場合、カメラ571により撮影されたテクスチャ画像等からVisual Hullが用いられて3次元データが生成される。従って、図49のAの上段に示すように、画角によって生成されるVisual HullであるConvex Hull751に占める視聴領域741の割合が比較的小さい場合、図49のAの下段に示すように、3次元データから生成されるテクスチャ画像761内の視聴領域741のテクスチャ画像762の割合が比較的小さい。
これに対して、図49のBの上段に示すように、Convex Hull752に占める視聴領域741の割合が比較的大きい場合、図49のBの下段に示すように、3次元データから生成されるテクスチャ画像763内の視聴領域741のテクスチャ画像764の割合が比較的大きい。従って、視聴領域741のテクスチャ画像762の分解能は、視聴領域741のテクスチャ画像764の分解能に比べて高くなる。よって、式(2)により求められる評価値Eが1に近いほど、3次元データの精度が高くなる。
また、算出部675は、少なくとも1つのグリッドのValidFlagが1であると判定した場合、即ち視聴領域の少なくとも一部が少なくとも1つのカメラ571の画角に含まれない場合、評価値Eを0に決定する。算出部675は、カメラ571の配置ごとの評価値Eをプライオリティ判定部652に供給する。
以上のようにして評価値Eが決定されることにより、3次元データの精度が最も高いカメラ571の配置に対応する評価値Eが、1に最も近くなる。従って、プライオリティ判定部652は、評価値Eが最も1に近い配置を最適な配置の画像としてプライオリティを判定する。
なお、図46の例では、投影部672が、グリッドをカメラ571に投影したが、カメラ571をグリッドに投影するようにしてもよい。
また、評価値Eは、カメラ571により撮影されたテクスチャ画像等を用いて生成されるVisual Hullの精度を示す値であれば、Bounding Boxに占める視聴領域の割合を示す値以外であってもよい。
例えば、評価値Eは、convex hullに占める視聴領域の割合、Convex Hullの体積や表面積、Bounding Boxのx,y,z方向の辺の長さの差などを示す値にすることができる。この場合、convex hullに占める視聴領域の割合が最も大きいこと、Convex Hullの体積や表積が最も小さいこと、Bounding Boxのx,y,z方向の辺の長さの差が最も小さい(Bounding Boxが最も立方体に近くなる)ことを示す評価値Eに対応する配置が、最適な配置として選択される。
プライオリティ判定部652は、カメラ配置に対応する評価値Eに基づいて、上述した視聴領域におけるグリッド単位で、対応するカメラ571毎に取り囲みプライオリティを判定する。より詳細には、視聴領域771に対してカメラ571−1乃至571−4が、図50の左部で示されるように配置しているような場合、例えば、各カメラ571−1乃至571−3により構成されるカメラ構成においては、画角内に被写体であるグリッド771Aが含まれており、評価値Eとして比較的高い値が設定される。これに対して、カメラ571−4は、被写体であるグリッド771Aを含まないので、比較的低い値が設定されることになる。
結果として、図50の左部の場合、視聴領域771におけるグリッド771Aに対しては、画角内にグリッド771Aが含まれるカメラ571−1乃至571−3の取り囲みプライオリティがPriority=1に設定され、グリッド771Aが画角に含まれないカメラ571−4は、Priority=0に設定される。
また、図50の右部の場合、視聴領域771におけるグリッド771Bに対しては、画角内にグリッド771Bが含まれるカメラ571−1乃至571−3の取り囲みプライオリティがPriority=1に設定され、グリッド771Bが画角に含まれないカメラ571−4は、Priority=0に設定される。尚、取り囲みプライオリティは、高い程、値が高くなり、低い程、値が0に近づくものであり、ここでは、プライオリティのレンジは0乃至1であるが、レンジは、0乃至1に限るものではなく、0乃至1とは異なるレンジとしてもよい。
さらに、プライオリティ判定部652は、これらの取り囲みプライオリティの値に基づいて、全天球画像におけるマルチカメラ11単位の全天球プライオリティを設定する。例えば、プライオリティ判定部652は、グループ単位で、マルチカメラ11毎に、それぞれに属するカメラの取り囲みプライオリティの合計をマルチカメラ11の全天球プライオリティとし、属する全てのカメラに合計値を全天球プライオリティとして設定するようにしてもよい。また、プライオリティ判定部652は、取り囲みプライオリティとは、無関係に、被写体となるグリッド771より最も近いマルチカメラ11に属するカメラに高いプライオリティを設定し、離れているマルチカメラ11に属するカメラに低いプライオリティを設定するようにしてもよい。
尚、基本的に、カメラの配置は固定されているため、グループ内においては、グループに属するカメラの組み合わせによりカメラの配置を変化させて評価値を求め、同一グループ内において、最も評価値が大きなカメラ配置におけるプライオリティがグループにおけるプライオリティとして設定されるようにしてもよい。
(プライオリティテーブル)
プライオリティ判定部652は、図50を参照して説明した手法により、カメラ571毎のプライオリティに基づいて、プライオリティに関するメタデータであるプライオリティテーブルを生成し、ストレージ58に格納させる。
より具体的には、例えば、図51で示されるような視聴領域におけるグリッド毎、かつ、グループ毎のプライオリティテーブルが生成されて、ストレージ58に格納される。
図51においては、図中の左からマルチカメラ11の属するマルチカメラIDと、各マルチカメラに属するカメラにより撮影される面毎に対応付けて、全天球プライオリティ、および取り囲みプライオリティが登録される。
全天球プライオリティは、マルチカメラ11単位でのプライオリティであり、グリッドに対して、カメラ571単位で設定されるプライオリティが最も高いものを含むマルチカメラ11に属するカメラ単位で設定されるプライオリティである。
取り囲みプライオリティは、グリッド毎、かつ、グループ毎に個々のカメラに対して設定されるプライオリティである。
このため、例えば、図51で示されるプライオリティテーブルにおいては、カメラを識別するマルチカメラ11のカメラカメラID=1の面がposZ1,negZ1,posX1,negX1,posY1,negY1であるカメラの全天球プライオリティが、いずれも2と記載されている。尚、ここでは、プライオリティが0乃至2のレンジで設定されている。
また、カメラを識別するマルチカメラ11のマルチカメラID=1の面がposZ1,negZ3であるカメラのプライオリティが、いずれも2と記載され、面がposX2であるカメラのプライオリティが、1と記載されている。
図51のようなプライオリティテーブルにより、全天球画像での表示が設定されている場合、全天球プライオリティの設定により、例えば、図51の右上部で示されるように、マルチカメラIDが1乃至3で設定されているうちの、マルチカメラID=1に属する6つの面PX1,NX1,PY1,NY1,PZ1,NZ1の画像が選択される。
また、取り囲み画像での表示が設定されている場合、取り囲みプライオリティの設定により、例えば、図51の右下部で示されるように、面PX1,NX2,PX3の画像が選択される。
(選択部の構成例)
次に、図52のブロック図を参照して、選択部553の構成例について説明する。
図52の選択部553は、グローバルテーブル取得部781、グループ選択部782、グループテーブル取得部783、および面選択部784により構成される。
選択部553のグローバルテーブル取得部781は、ストレージ58から供給されるグローバルテーブルを取得し、グループ選択部782に供給する。
グループ選択部782は、視聴位置および視線方向、グローバルテーブル取得部781から供給されるグローバルテーブルに基づいて、全てのグループから、選択面を含むグループを選択する。グループ選択部782は、グローバルテーブルに登録されている、選択されたグループをプライオリティテーブル取得部783に供給する。
プライオリティテーブル取得部783(カメラ情報取得部)は、グループの情報に基づいて、対応するグループのプライオリティテーブルのうち、視聴位置および視線方向により指定されるグリッドのプライオリティテーブルを取得し、ユーザに指定されている画像が全天球画像であるか、または、取り囲み画像であるかに応じてプライオリティを選択し、選択した面の情報を面選択部784に供給する。
面選択部784は、グループテーブル取得部783から供給される選択された面の情報から、ストレージ58に格納されている面に対応するテクスチャ画像、およびデプス画像を伝送部60に供給する。
(グループテーブルの選択方法の説明)
図53を参照して、グループ選択部782によるグループテーブルの選択方法について説明する。
図53の左部で示されるように、仮想視点に仮想的に設置されたカメラ800が、例えば、画角fov内であって、被写体の前面までの距離nearで、かつ、被写体の背面までの距離farにより、グリッド771Cが特定される。
図53の左部で示されるように、図中の上部である視聴領域771のうち、グリッド771Cが、仮想視点に仮想的に設置されたカメラ800から、視聴する領域であるものとした場合、図53の右部で示されるように、グリッド771Cにより特定される、カメラ571−11乃至571−13が属するグループとして、例えば、グループID=1のグループが選択される。
以上のように、グループ選択部782は、仮想視点に設置されるカメラ800の被写体が、カメラ800の画角fov内であって、被写体の前面までの距離nearで、かつ、被写体の背面までの距離farとなるグリッドを特定し、このグリッドを含む領域情報に基づいて、対応付けられているグループを選択する。これにより、面選択部784は、選択されたグループについて、プライオリティテーブルの設定を読み出し、プライオリティが上位のカメラの画像のうち、必要な面の情報を取得する。
(ストリーム生成処理の説明)
次に、図54のフローチャートを参照して、図31のコンテンツサーバ501のストリーム生成処理を説明する。尚、図54のフローチャートにおけるステップS101乃至S116の処理は、図18のステップS10乃至S25の処理と同様であるので、その説明は省略するものとする。また、このストリーム生成処理は、図31のマルチカメラ11−1乃至11−nの各カメラの撮影画像がフレーム単位で順次供給されたとき、開始される。
ステップS101乃至S116の処理により、個々のマルチカメラ11の各面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、およびメタデータが生成されて、ストレージ58に格納されると処理は、ステップS117に進む。
ステップS117において、グループ化部551は、グループ化処理を実行し、マルチカメラ11と、それぞれに属するカメラをグループ化し、グローバルテーブルおよびグループテーブルを生成して、ストレージ58に記憶させる。尚、グループ化処理は、図55のフローチャートを参照して、詳細を後述する。
ステップS118において、プライオリティ設定部552は、図46乃至図50を参照して説明した手法により、グループごとに、視聴領域と、そのグリッド単位で、各マルチカメラ11、および各カメラのそれぞれについて、全天球プライオリティおよび取り囲みプライオリティを設定し、これらを含むプライオリティテーブルを生成し、ストレージ58に記憶させる。
以上の処理により、個別のマルチカメラ11の各面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、およびメタデータが生成されて、ストレージ58に格納されるとともに、グローバルテーブル、グループテーブル、およびプライオリティテーブルが生成される。
(グループ化処理)
次に、図55のフローチャートを参照して、グループ化処理を説明する。
ステップS131において、グループ化部551のグルーピング部561(図37)は各マルチカメラ11に属するカメラの内部パラメータと外部パラメータの少なくとも一方に基づいて、複数のマルチカメラ11を複数のグループに分類する。グルーピング部561は、各グループのグループ情報を生成し、グローバルテーブル生成部562に供給する。
また、グルーピング部561は、グループごとに、そのグループに分類されたマルチカメラ11のマルチカメラID、マルチカメラ11のカメラを識別する面、内部パラメータ、外部パラメータ、テクスチャ画像取得情報、およびデプス画像取得情報をグループテーブル生成部563に供給する。
ステップS132において、グローバルテーブル生成部562は、グルーピング部561から供給される各グループのグループ情報に基づいて、グローバルテーブルを生成する。グローバルテーブル生成部562は、グローバルテーブルをストレージ58に供給する。
ステップS133において、グループテーブル生成部563は、グルーピング部561から供給される各グループに分類されたマルチカメラ11のマルチカメラID、マルチカメラ11の各カメラを識別する面、内部パラメータ、外部パラメータ、テクスチャ画像取得情報、およびデプス画像取得情報に基づいて、グループごとにグループテーブルを生成する。グループテーブル生成部563は、グループテーブルをストレージ部58に供給する。
以上の処理により、複数のマルチカメラ11のそれぞれに加えて、さらに、各マルチカメラ11に属するカメラを識別する面の情報がグループ化され、グローバルテーブル、およびグループテーブルが生成されて、ストレージ58に格納される。
(図31のホームサーバの構成例)
次に、図56のブロック図を参照して、図31のホームサーバ502の構成例について説明する。尚、図56のホームサーバ502において、図19のホームサーバ13における構成と同一の機能を備えた構成については、同一の符号、および同一の名称を付しており、その説明は適宜省略する。
ホームサーバ502において、ホームサーバ13と異なる点は、視線検出部234に代えて視線検出部831を設け、画像要求部832を新たに設けた点である。
視線検出部831は、基本的な機能は、視線検出部234と同一の機能を備えているが、さらに、3Dモデル座標系における視聴位置および視線方向、並びに、第1レイヤのテーブルに基づいて、6つの面のうちの、視聴位置から視線方向に延びる視線に最も近い視線ベクトルに対応する3つの面からなる選択面の情報を決定し、視聴位置および視線方向と共に画像要求部832に供給する。
画像要求部832は、視線検出部831より供給されてくる、視聴位置および視線方向、並びに、選択面の情報を取得すると、視聴位置および視線方向と共に、対応する3つの面からなる選択面をコンテンツサーバ501に要求する。
受け取り部231は、要求に応じた選択面の情報を受け取り、ストレージ232に格納する。視線検出部831は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。
(図31の再生処理)
図57,図58のフローチャートを参照して、図31の画像表示システムによる再生処理について説明する。尚、図57のフローチャートは、ホームサーバ502の処理であり、図58のフローチャートは、コンテンツサーバ501の処理である。
尚、図57のフローチャートにおけるステップS181乃至S186、およびステップS189乃至S193の処理については、図26のフローチャートにおけるステップS43乃至S48、およびステップS50乃至S54の処理と同一であるので、その説明は省略するものとする。
すなわち、ステップS181乃至S186の処理により、視野範囲が決定すると、ステップS187において、画像要求部832は、仮想視点となる視聴者の視野範囲に基づいて、視聴位置および視線方向、および対応する選択面の画像を要求する。この際、画像要求部832は、全天球画像、または、取り囲み画像のいずれの種別を選択するかについても併せて要求する。
この要求に応じて、ステップS211(図58)において、選択部553のグローバルテーブル取得部781は、ストレージ58から供給されるグローバルテーブルを取得し、グループ選択部782に供給する。
ステップS212において、グループ選択部782は、要求に含まれている視聴位置および視線方向、対応する選択面、グローバルテーブル取得部781から供給されるグローバルテーブルに基づいて、全てのグループから、例えば、図54を参照して説明した手法により選択面を含むグループを選択する。グループ選択部782は、グローバルテーブルに登録されている、選択されたグループの情報をプライオリティテーブル取得部783に供給する。
ステップS213において、プライオリティテーブル取得部783(カメラ情報取得部)は、グループテーブル取得情報に基づいて、対応するグループのプライオリティテーブルのうち、仮想視点により指定されるグリッドのプライオリティテーブルを取得し、ユーザに指定されている画像が全天球画像であるか、または、取り囲み画像であるかに応じたプライオリティに基づいて、要求にあった選択面の情報を面選択部784に供給する。
ステップS214において、面選択部784は、グループテーブル取得部783から供給される選択面の情報から、ストレージ58に格納されている面の情報のうち、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを伝送部60に供給する。
この処理により、ステップS188において、受け取り部231は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームをストレージ232に格納させる。
視線検出部831が、ストレージ232より読み出して以降の処理を実行する。
以上の処理により、視聴位置および視線方向に基づいて、グローバルテーブルよりグループが選択され、選択されたグループのプライオリティテーブルが、例えば、図51の左部であり、全天球画像での表示が設定されている場合、全天球プライオリティの設定により、図51の右上部で示される左部で示されるように、マルチカメラIDが1乃至3で設定されているうちの、マルチカメラIDに属する6つの面PX1,NX1,PY1,NY1,PZ1,NZ1の画像が選択され、このうち、選択面となる3面の情報が送信される。
また、取り囲み画像での表示が設定されている場合、取り囲みプライオリティの設定により、図51の右下部で示されるように、面PX1,NX2,PX3の画像が選択される。
結果として、コンテンツサーバにおいては、複数のマルチカメラにより撮影された画像を蓄積することが可能となり、さらに、それらをマルチカメラ毎、および、マルチカメラに属するカメラ1つ1つについて、グループ毎に管理することが可能となる。
また、各グループについて、カメラ全天球画像に対応する全天球プライオリティ、および、取り囲み画像に対応する取り囲みプライオリティを設定することが可能となり、視聴位置および視線方向に対応付けてホームサーバに配信することが可能となる。
この際、コンテンツサーバは、ホームサーバからの視聴位置および視線方向に基づいた画像の要求に応じた面の画像データのみを送信するだけでホームサーバでの再生を実現することが可能となる。さらに、ホームサーバからの視聴位置および視線方向に基づいた画像の要求に応じた面の画像データのみを送信するだけでよくなるので、ホームサーバにおけるストレージ容量やハードウエアに要求される処理速度を低減させることが可能になるとともに、伝送帯域も低減させることが可能となる。さらに、画像データを送信する際、複数のマルチカメラ11により撮影されている、同一の面の画像データについては、複数レイヤで送信することが可能となり、より高精度の3次元データを生成することが可能となる。
<第4実施の形態>
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図59は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図59のコンピュータにおいて、CPU(Central Processing Unit)1001,ROM(Read Only Memory)1002,RAM(Random Access Memory)1003は、バス1004により相互に接続されている。
バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記憶部1008、通信部1009、及びドライブ1010が接続されている。
入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記憶部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインタフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア1011を駆動する。
以上のように構成されるコンピュータ1000では、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
図59のコンピュータでは、プログラムは、リムーバブルメディア1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
なお、図59のコンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
<応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図60は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図60に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図60では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図61は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図61には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920〜7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図60に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(Global System of Mobile communications)、WiMAX、LTE(Long Term Evolution)若しくはLTE−A(LTE−Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi−Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図60の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図60に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
なお、図1乃至図59を用いて説明した本実施形態に係る画像表示システム10(400)の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
以上説明した車両制御システム7000において、図1乃至図58を用いて説明した本実施形態に係る画像表示システム10(400)は、図60に示した応用例の車両制御システム7000に適用することができる。例えば、画像表示システム10(400)のマルチカメラ11は、撮像部7410の少なくとも一部に相当する。また、コンテンツサーバ12、ホームサーバ13(配信サーバ401、ネットワーク402、再生装置403)、および変換装置14は一体化され、統合制御ユニット7600のマイクロコンピュータ7610と記憶部7690に相当する。ヘッドマウントディスプレイ15は、表示部7720に相当する。なお、画像表示システム10(400)を車両制御システム7000に適用する場合、カメラ13A、マーカ15A、およびジャイロセンサ15Bは設けられず、視聴者である搭乗者の入力部7800の操作により視聴者の視線方向および視聴位置が入力される。以上のようにして、画像表示システム10(400)を、図60に示した応用例の車両制御システム7000に適用することにより、全天球画像を用いて高画質の表示画像を生成することができる。
また、図1乃至図58を用いて説明した画像表示システム10(400)の少なくとも一部の構成要素は、図60に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1乃至図30を用いて説明した画像表示システム10(400)が、図60に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本開示は、以下のような構成もとることができる。
<1> 被写体の3次元データの生成に必要なテクスチャ画像を取得する複数のカメラを複数のグループに分類するグルーピング部と、
前記複数のグループ毎に、前記複数のカメラのプライオリティを設定するプライオリティ設定部と
を含む画像処理装置。
<2> 視聴者の視聴位置と視線方向に基づいた、前記視聴者の視野範囲に対応する、前記被写体の前記3次元データの生成に必要なテクスチャ画像の要求を受信し、前記複数のグループのうち、前記視聴者の視野範囲の、前記被写体を含むテクスチャ画像を取得するカメラのグループを選択するグループ選択部と、
前記グループ選択部により選択されたグループにおける、前記カメラのプライオリティに応じて、前記視聴者の視野範囲に対応するテクスチャ画像を選択して、送信する画像選択部とをさらに含む
<1>に記載の画像処理装置。
<3> 前記複数のグループに分類された、前記被写体を含むテクスチャ画像を取得する複数のカメラのグループ毎に、前記被写体の3次元データの生成に用いられる前記テクスチャ画像を撮影するカメラの配置に基づいて、前記3次元データの生成に対する前記カメラの配置の評価値を算出する評価部をさらに含み、
プライオリティ設定部は、前記グループ毎に、前記評価値に基づいて、前記カメラのプライオリティを設定する
<1>または<2>に記載の画像処理装置。
<4> 前記被写体の前記3次元データの生成に必要なテクスチャ画像は、全天球画像、および取り囲み画像を含み、
前記プライオリティ設定部は、前記評価値に基づいて、前記グループ毎に、前記全天球画像における場合の前記複数のカメラのプライオリティである全天球プライオリティ、および前記取り囲み画像における場合の前記複数のカメラのプライオリティである取り囲みプライオリティを設定する
<3>に記載の画像処理装置。
<5> 前記受信部により受信される要求は、前記全天球画像、および前記取り囲み画像のいずれかを指定する情報を含み、
前記画像選択部は、
前記要求に、前記全天球画像を指定する情報が含まれている場合、前記グループ選択部により選択されたグループにおける、前記カメラの全天球プライオリティに応じて、前記全天球画像の生成に必要な、前記視聴者の視野範囲に対応するテクスチャ画像を選択して、送信し、
前記要求に、前記取り囲み画像を指定する情報が含まれている場合、前記グループ選択部により選択されたグループにおける、前記カメラの取り囲みプライオリティに応じて、前記取り囲み画像の生成に必要な、前記視聴者の視野範囲に対応するテクスチャ画像を選択して、送信する
<4>に記載の画像処理装置。
<6> 前記複数のカメラは、複数の方向を撮影する複数のマルチカメラを構成するものであり、
前記グルーピング部は、前記被写体の3次元データの生成に必要なテクスチャ画像を取得する複数のカメラと共に、前記マルチカメラをも併せて前記複数のグループに分類する
<4>に記載の画像処理装置。
<7> 前記プライオリティ設定部は、前記評価値に基づいて、前記複数のグループ毎に、前記マルチカメラ単位で、前記複数のカメラの前記全天球プライオリティを設定する
<6>に記載の画像処理装置。
<8> 前記グルーピング部は、前記複数のカメラの位置に基づいて、前記複数のカメラを前記複数のグループに分類する
ように構成された
<1>乃至<7>のいずれかに記載の画像処理装置。
<9> 前記複数のグループのそれぞれに関するグループ情報を生成するグループ情報生成部をさらに含み、
前記グループ情報は、前記グループに分類された前記カメラを含む領域の重心位置を表す情報である
ように構成された
<8>に記載の画像処理装置。
<10> 前記グルーピング部は、前記テクスチャ画像を用いて生成される3次元データに対応する3次元物体ごとに、前記テクスチャ画像に対応するカメラを前記グループに分類する
ように構成された
<1>乃至<9>のいずれかに記載の画像処理装置。
<11> 前記複数のグループのそれぞれに関するグループ情報を生成するグループ情報生成部をさらに含み、
前記グループ情報は、前記グループに対応する前記3次元物体を表す情報である
ように構成された
<10>に記載の画像処理装置。
<12> 前記グルーピング部は、前記テクスチャ画像を用いて生成される3次元データに対応する3次元空間ごとに、前記テクスチャ画像に対応するカメラを前記グループに分類する
ように構成された
<1>乃至<11>に記載の画像処理装置。
<13> 前記複数のグループのそれぞれに関するグループ情報を生成するグループ情報生成部をさらに含み、
前記グループ情報は、前記グループに対応する前記3次元空間を表す情報である
ように構成された
<12>に記載の画像処理装置。
<14> 被写体の3次元データの生成に必要なテクスチャ画像を取得する複数のカメラを複数のグループに分類し、
前記複数のグループ毎に、前記複数のカメラのプライオリティを設定するステップと
を含む画像処理方法。
<15> 視聴者の視聴位置と視線方向に基づいた、前記視聴者の視野範囲に対応する、被写体の前記3次元データの生成に必要なテクスチャ画像の要求を送信する送信部と、
前記被写体の3次元データの生成に必要なテクスチャ画像を取得する複数のカメラが分類されている、複数のグループのうちの、前記要求に基づいて、前記視聴者の視野範囲に対応するグループとして選択された複数のカメラであって、前記グループに属する複数のカメラに対して設定されるプライオリティに応じて選択されて、送信されてきたテクスチャ画像を再生する再生部と
を含む画像処理装置。
<16> 前記要求は、前記全天球画像、および前記取り囲み画像のいずれかを指定する情報を含む
<15>に記載の画像処理装置。
<17> 視聴者の視聴位置と視線方向に基づいた、前記視聴者の視野範囲に対応する、被写体の前記3次元データの生成に必要なテクスチャ画像の要求を送信し、
前記被写体の3次元データの生成に必要なテクスチャ画像を取得する複数のカメラが分類されている、複数のグループのうちの、前記要求に基づいて、前記視聴者の視野範囲に対応するグループとして選択された複数のカメラであって、前記グループに属する複数のカメラに対して設定されるプライオリティに応じて選択されて、送信されてきたテクスチャ画像を再生するステップと
を含む画像処理方法。