以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1実施の形態:画像表示システム(図1乃至図28)
2.第2実施の形態:画像表示システム(図29)
3.第3実施の形態:画像表示システム(図30乃至図36)
4.テクスチャ画像の他の例(図37)
5.第4実施の形態:コンピュータ(図38)
6.応用例(図39および図40)
<第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、低解像度画像処理部33、および高解像度画像処理部34により構成される。
コンテンツサーバ12のデプス検出部31は、図1のマルチカメラ11から供給される各カメラの撮影画像の画素ごとに、その画素における被写体を含む奥行き方向に垂直なデプス平面とカメラの間の奥行き方向の距離zの逆数1/zを検出する。デプス検出部31は、その結果得られる各カメラの撮影画像の各画素の逆数1/zを画素値とするz画像を低解像度画像処理部33と高解像度画像処理部34に供給する。
低解像度画像処理部33は、マルチカメラ11の3次元座標系(以下、カメラ座標系という)における所定の3次元位置を視点として、マルチカメラ11から供給される各カメラの撮影画像を、視点を中心とした正八面体にマッピング(透視投影)することにより、全天球画像のテクスチャ画像を生成する。また、低解像度画像処理部33は、デプス検出部31から供給される各カメラのz画像を、撮影画像と同様に正八面体にマッピングすることにより、全天球画像のz画像を生成する。
低解像度画像処理部33は、全天球画像のz画像の各画素の逆数1/zを逆数1/rに変換する。そして、低解像度画像処理部33は、以下の式(1)により、逆数1/rに対して8ビット量子化を行う。
なお、Id(r)は、距離rの逆数1/rの8ビット量子化後の値である。rmax,rminは、それぞれ、全天球画像における距離rの最大値、最小値である。
低解像度画像処理部33は、全天球画像の各画素の逆数1/rの8ビット量子化後の値を画素値とすることにより、全天球画像のデプス画像を生成する。
低解像度画像処理部33は、全天球画像のテクスチャ画像とデプス画像を低解像度化し、低解像度テクスチャ画像と低解像度デプス画像を生成する。低解像度画像処理部33は、低解像度テクスチャ画像と低解像度デプス画像を圧縮符号化し、その結果得られる低解像度テクスチャストリームと低解像度デプスストリームを記憶する。低解像度画像処理部33は、記憶している低解像度テクスチャストリームと低解像度デプスストリームを、図1のホームサーバ13に送信する。
高解像度画像処理部34は、マルチカメラ11から供給される各カメラの撮影画像を用いて、低解像度画像処理部33における正八面体と中心が同一である立方体を構成する6つの面に対応する第1レイヤおよび第2レイヤのテクスチャ画像を生成する。高解像度画像処理部34は、デプス検出部31から供給される各カメラのz画像を用いて、撮影画像と同様に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レイヤ生成部50、量子化部51、エンコーダ52、第2レイヤ生成部53、量子化部54、エンコーダ55、設定部56、メタデータ生成部57、ストレージ58、再構成部59、および伝送部60により構成される。
第1レイヤ生成部50には、設定部56から、カメラ座標系における全天球画像の視点を原点とした3次元座標系(以下、3Dモデル座標系という)における、第1レイヤの視点の3次元位置として原点を示す視点位置情報が供給される。また、第1レイヤ生成部50には、3Dモデル座標系における原点を中心とした立方体を構成する6つの面をそれぞれ含む6つの面それぞれの、3Dモデル座標系における3次元位置およびサイズを示す面情報が供給される。
第1レイヤ生成部50は、視点位置情報が示す原点を第1レイヤの視点(第1の視点)に設定する。第1レイヤ生成部50(画像生成部)は、カメラ座標系における全天球画像の視点を原点として、第1レイヤの視点から、図1のマルチカメラ11から供給される撮影画像を、6つの各面情報が示す3次元位置およびサイズの面のそれぞれにマッピングする。これにより、第1レイヤ生成部50は、第1レイヤの6つの面のテクスチャ画像を生成する。
また、第1レイヤ生成部50(画像生成部)は、カメラ座標系における全天球画像の視点を原点として、第1レイヤの視点から、図2のデプス検出部31から供給されるz画像を、6つの各面情報が示す3次元位置およびサイズの面のそれぞれにマッピングする。これにより、第1レイヤ生成部50は、第1レイヤの6つの面のz画像を生成する。
第1レイヤの6つの面に対応する視点は同一であるため、第1レイヤの6つの面のテクスチャ画像は、第1レイヤの視点を中心とした3Dモデルにマッピングされた全天球画像を6つの面にマッピングすることにより得られた画像であるといえる。同様に、第1レイヤの6つの面のz画像は、第1レイヤの視点を中心とした3Dモデルにマッピングされた全天球画像のz画像を6つの面にマッピングすることにより得られた画像であるといえる。第1レイヤ生成部50は、第1レイヤの6つの面のテクスチャ画像をエンコーダ52に供給し、第1レイヤの6つの面のz画像を量子化部51に供給する。
量子化部51は、第1レイヤ生成部50から供給される第1レイヤの6つの各面のz画像の各画素の逆数1/zを逆数1/rに変換する。そして、量子化部51は、上述した式(1)により、逆数1/rに対して8ビット量子化を行う。但し、式(1)におけるrmax,rminは、6つの面全てにおける距離rの最大値、最小値である。rmaxおよびrminを6つの面全てにおける距離rの最大値および最小値とすることにより、各面の距離rの最大値および最小値とする場合に比べて、面ごとに量子化ステップが変化することを防止することができる。量子化部51は、第1レイヤの6つの面のz画像の各画素の逆数1/rの8ビット量子化後の値を画素値とすることにより、第1レイヤの6つの面のデプス画像を生成し、エンコーダ52に供給する。
エンコーダ52は、第1レイヤの6つの面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化し、第1レイヤテクスチャストリームと第1レイヤデプスストリームを生成する。エンコーダ52は、第1レイヤテクスチャストリームと第1レイヤデプスストリームをストレージ58に供給する。
第2レイヤ生成部53には、設定部56から、第1レイヤの各面に対応する第2レイヤの各面の、第1レイヤの視点とは異なる視点(第2の視点)の視点位置情報と、第1レイヤの各面に対応する第2レイヤの各面の面情報とが供給される。第2レイヤ生成部53は、第2レイヤの面ごとに、その面に対応する視点位置情報が示す3次元位置を第2レイヤの視点に設定する。
第2レイヤ生成部53(画像生成部)は、第2レイヤの面ごとに、その面に対応する第2レイヤの視点から、マルチカメラ11から供給される撮影画像のうちの第1レイヤの視点におけるオクルージョン領域を、第2レイヤの面にマッピングする。これにより、第2レイヤ生成部53は、第2レイヤの6つの面のテクスチャ画像を生成する。
また、第2レイヤ生成部53(画像生成部)は、第2レイヤの面ごとに、その面に対応する第2レイヤの視点から、デプス検出部31から供給されるz画像のうちの第1レイヤの視点におけるオクルージョン領域を、第2レイヤの面にマッピングする。これにより、第2レイヤ生成部53は、第2レイヤの6つの面のz画像を生成する。
即ち、マルチカメラ11の各カメラの位置は異なっているため、カメラ座標系における1つの3次元位置を視点としたとき、撮影画像には、その視点におけるオクルージョン領域が含まれている。しかしながら、第1レイヤのテクスチャ画像は、1つの視点の全天球画像をマッピングすることにより生成されるため、第1レイヤのテクスチャ画像には、その視点におけるオクルージョン領域の撮影画像は含まれない。よって、第2レイヤ生成部53は、そのオクルージョン領域の撮影画像を第2レイヤのテクスチャ画像として含める。z画像についても同様である。第2レイヤ生成部53は、第2レイヤの6つの面のテクスチャ画像をエンコーダ55に供給し、第2レイヤの6つの面のz画像を量子化部54に供給する。
量子化部54は、第2レイヤ生成部53から供給される第2レイヤの6つの各面のz画像の各画素の逆数1/zを逆数1/rに変換する。そして、量子化部54は、量子化部51と同様に、上述した式(1)により、逆数1/rに対して8ビット量子化を行う。量子化部54は、第2レイヤの6つの面のz画像の各画素の逆数1/rの8ビット量子化後の値を画素値とすることにより、第2レイヤの6つの面のデプス画像を生成し、エンコーダ55に供給する。
エンコーダ55は、第2レイヤの6つの面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化し、第2レイヤテクスチャストリームと第2レイヤデプスストリームを生成する。エンコーダ55は、第2レイヤテクスチャストリームと第2レイヤデプスストリームをストレージ58に供給する。
設定部56は、3Dモデル座標系における原点を第1レイヤの視点として設定する。設定部56は、第1レイヤの視点を中心とした立方体を構成する6つの矩形の面をそれぞれ含む6つの面を第1レイヤの面として設定する。また、設定部56は、第1レイヤの面ごとに第2レイヤの視点と矩形の面を設定する。
設定部56は、第1レイヤの1つの視点位置情報と6つの面情報を第1レイヤ生成部50とメタデータ生成部57に供給する。また、設定部56は、第1レイヤの6つの面に対応する第2レイヤの6つの視点位置情報と6つの面情報を、第2レイヤ生成部53とメタデータ生成部57に供給する。
メタデータ生成部57は、設定部56から供給される第1レイヤの視点位置情報および面情報、並びに、第2レイヤの視点位置情報および面情報を含むテーブルをメタデータとして生成し、ストレージ58に供給する。
ストレージ58は、エンコーダ52から供給される第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レイヤデプスストリームを、通常の画像の符号化ストリームの送信方法で送信することができる。
(距離zと距離rの説明)
図4は、距離zと距離rを説明する図である。
なお、図4は、第1レイヤに対応する立方体の所定の面を上から見た図である。
距離zは、視点から各画素における被写体を含む奥行き方向に垂直なデプス平面までの奥行き方向の距離である。また、第1レイヤの各面の奥行き方向は、第1レイヤの各面に垂直な方向である。従って、第1レイヤの各面とデプス平面は平行になる。よって、第1レイヤの各面における距離zが同一であるデプス平面である等距離z面の形状は、第1レイヤの視点Oを中心とした立方体状になる。従って、等距離z面を第1レイヤに対応する立方体の所定の面の上から見た形状は、図4のAの点線で示すように正方形となる。
これに対して、距離rは、視点から各画素における被写体までの直線の距離である。また、第1レイヤの各面の視点Oから被写体までの直線の方向は、面によらず、視点Oを中心とした円の半径方向である。従って、第1レイヤの各面における距離rが同一である等距離r面の形状は、第1レイヤの視点Oを中心とした球状になる。よって、等距離r面を第1レイヤに対応する立方体の所定の面の上から見た形状は、図4のBの点線で示すように円状になる。
(デプス画像の効果の説明)
なお、以下では、第1レイヤの視点Oと、第1レイヤに対応する立方体80を構成する6つの面の中心を通る6つの面の法線ベクトルのうちの、互いに直交する3つを、3Dモデル座標系のX軸、Y軸、Z軸の正方向とし、その3つと逆方向の3つを、3Dモデル座標系のX軸、Y軸、Z軸の負方向とする。
図5は、3Dモデル座標系のX軸の変化を示す図であり、図6は、3Dモデル座標系のX軸の変化に伴う最小値zminと最小値rminの変化を示す図である。
なお、図5および図6の例では、第1レイヤの各面の画角が90度であるものとする。
図5に示すように、第1レイヤに対応する立方体80がY軸を軸としてXZ平面上で45度回転され、第1レイヤの各面の位置が変更される場合、X軸がXZ平面上で45度回転される。これにより、X軸の正方向を法線ベクトルとする第1レイヤの面81の奥行き方向はXZ平面上で45度回転する。
従って、図6に示すように、X座標が正の値であり、Z座標が0である位置を中心とした球76が被写体として面81の画角内に存在するとき、回転前の面81における最小値zminは、図6のAに示すように、視点Oと球76の図6のAのX軸の正方向の距離の最小値である。しかしながら、回転後の面81における最小値zminは、図6のBに示すように、視点Oと画角内の球76(図6のB中球76の上半分)の図6のBのX軸の正方向の距離の最小値である。
また、図6の例の場合、回転前の面81における最大値zmaxは無限大であるため、回転後の面81における最大値zmaxも無限大であるが、無限大ではない場合、最小値zminと同様の理由により、回転の前後で面81における最大値zmaxは変化する。第1レイヤの他の面についても同様に、最小値zminと最大値zmaxが変化する。
また、説明は省略するが、第1レイヤの面の画角、数、または間隔が変更される場合も、第1レイヤの全ての面における最小値zminと最大値zmaxは変化する。
従って、第1レイヤのデプス画像の各画素のy値(輝度値)として、距離zの逆数1/zが用いられると、再構成部59による再構成時に、各面における最小値zminと最大値zmaxを計算し直し、全ての面における最小値zminと最大値zmaxを決定し直す必要がある。その結果、デプス画像の8ビット量子化をやり直す必要がある。
これに対して、視点Oから被写体までの直線の方向は、第1レイヤの面の位置によらず同一である。従って、図5に示したように立方体80がY軸を軸としてXZ平面上で45度回転される場合であっても、最小値rminと最大値rmaxは同一である。
即ち、図6のBに示すように、図6のAのX軸がXZ平面上で45度回転されても、回転前と同様に、視点Oから被写体までの直線の方向は、視点Oから放射状に延びる方向である。従って、X軸の回転によらず、第1レイヤの全ての面における最小値rminは、視点Oから球76までの直線の距離の最小値である。第1レイヤの全ての面における最大値rmaxについても、最小値rminの場合と同様の理由により、回転前後で変化しない。
また、説明は省略するが、第1レイヤの面の画角、数、または間隔が変更される場合も、視点Oから被写体までの直線の方向は変化しないため、最小値rminと最大値rmaxは変化しない。
従って、第1レイヤのデプス画像の各画素のy値として、逆数1/zではなく、逆数1/rの量子化値が用いられることにより、再構成部59による再構成時にデプス画像の8ビット量子化をやり直す処理を削減することができる。
なお、上述した説明では、低解像度テクスチャストリームと低解像度デプスストリームは再構成されないようにしたが、再構成されるようにしてもよい。この場合も、低解像度デプス画像の各画素のy値は逆数1/rの量子化値であるので、第1レイヤのデプス画像の再構成時と同様に、再構成時に低解像度デプス画像の8ビット量子化をやり直す処理を削減することができる。
また、低解像度テクスチャストリームと低解像度デプスストリームの再構成は、低解像度テクスチャストリームと低解像度デプスストリームのマッピング方式を変更することにより行われてもよい。この場合も、デプス画像の各画素のy値を逆数1/rの量子化値にすることにより、再構成時に低解像度デプス画像の8ビット量子化をやり直す処理を削減することができる。
(第1レイヤの6つの面のデプス画像の各画素の球上の位置の例)
図7は、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の例を示す図である。
なお、図7では、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置が点で表されている。
第1レイヤの各面のデプス画像の各画素のデプス画像上の位置の間隔は等間隔である。しかしながら、図7に示すように、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の間隔は等間隔ではない。即ち、第1レイヤの6つの面のデプス画像を球にマッピングした際の各画素の球上の位置の密度は、一定ではない。
(第1レイヤの面の例)
図8は、第1レイヤの面の例を示す図である。
なお、以下では、視点Oと6つの面のそれぞれとの距離をRとしたときのX=Rである面を、適宜、+X面ともいい、X=−Rである面を、適宜、−X面ともいう。同様に、Y=Rである面、Y=−rである面、Z=Rである面、Z=−Rである面を、適宜、+Y面、−Y面、+Z面、−Z面ともいう。
また、図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のステップS11において、コンテンツサーバ12のデプス検出部31は、マルチカメラ11から供給される各カメラの撮影画像から、各カメラの撮影画像の各画素の逆数1/zを検出し、低解像度画像処理部33と高解像度画像処理部34に供給する。
ステップS12において、低解像度画像処理部33は、カメラ座標系における所定の3次元位置を視点として、マルチカメラ11から供給される各カメラの撮影画像から全天球画像のテクスチャ画像を生成し、低解像度化する。
ステップS13において、低解像度画像処理部33は、デプス検出部31から供給される各カメラのz画像から、全天球画像のデプス画像を生成し、低解像度化する。
ステップ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レイヤ生成部50とメタデータ生成部57に供給する。また、設定部56は、第2レイヤの6つの視点位置情報と6つの面情報を第2レイヤ生成部53とメタデータ生成部57に供給する。
ステップS17において、第1レイヤ生成部50は、カメラ座標系における全天球画像の視点を原点とし、第1レイヤの視点位置情報が示す原点を視点として、各カメラの撮影画像から、第1レイヤの各面情報に対応する各面のテクスチャ画像を生成する。また、第1レイヤ生成部50は、各カメラのz画像から、第1レイヤの各面情報に対応する各面のz画像を生成して量子化部51に供給し、量子化部51は、各面のz画像から各面のデプス画像を生成する。
ステップS18において、第2レイヤ生成部53は、第2レイヤの面情報に対応する面ごとに、カメラ座標系における全天球画像の視点を原点とし、第2レイヤの視点位置情報が示す3次元位置を視点として、各カメラの撮影画像からテクスチャ画像を生成する。また、第2レイヤ生成部53は、第2レイヤの面情報に対応する面ごとに、各カメラのz画像から各面のz画像を生成して量子化部54に供給し、量子化部54は、各面のz画像から各面のデプス画像を生成する。
ステップS19において、エンコーダ52は、第1レイヤの各面のテクスチャ画像とデプス画像を、面ごと、かつ、画像の種類ごとに圧縮符号化してストレージ58に供給し、記憶させる。
ステップS20において、エンコーダ55は、第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モデル生成部262は、第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に伝送する。
<第3実施の形態>
本開示を適用した画像表示システムの第3実施の形態の構成は、透視投影の代わりにtan軸投影(詳細は後述する)が行われる点を除いて、図1の画像表示システム10の構成と同一である。従って、以下では、tan軸投影についてのみ説明する。
(投影面の座標系の説明)
図30は、投影面の座標系を説明する図である。
なお、第3実施の形態では、投影面は、コンテンツサーバ12が低解像度画像を生成する際に撮影画像をtan軸投影する正八面体の各面、コンテンツサーバ12が第1レイヤ画像および第2レイヤ画像を生成する際に撮影画像やz画像をtan軸投影する各面、または、ホームサーバ13が表示画像を生成する際に三角形パッチをtan軸投影する視野範囲である。
図30の例では、3Dモデル座標系において、Zが-1.0である投影面501が設定されている。この場合、投影面501の中心O´を原点とし、投影面501の水平方向をs方向とし、垂直方向をt方向とする2次元のst座標系が、投影面501の座標系となる。
なお、以下では、3Dモデル座標系の原点Oからst座標系の座標(s,t)に向かうベクトル502を、座標(s,t)と、原点Oから投影面501までの距離である-1.0とを用いて、ベクトル(s,t,-1.0)という。
(tan軸投影の説明)
図31は、tan軸投影(正接軸投影)を説明する図である。
図31は、投影面501をZの負方向に見た図である。図31の例では、st座標系において、投影面501のs値およびt値の最小値は-1.0であり、最大値は1.0である。
この場合、透視投影では、原点Oから投影面501上の投影点に向かう投影ベクトルがベクトル(s´,t´-1.0)となるように、投影面501上に投影点が設定される。なお、s´は、-1.0から1.0までのs値の範囲に設けられた所定の間隔ごとの値であり、t´は-1.0から1.0までのt値の範囲に設けられた所定の間隔ごとの値である。従って、透視投影における投影点は、投影面501上で均一である。
これに対して、投影面501の横画角および縦画角を画角θw(図31の例ではπ/2)とすると、tan軸投影では、投影ベクトルがベクトル(tan(s´*θw/2), tan(t´*θw/2), -1.0)となるように、投影面501上に投影点が設定される。
具体的には、ベクトル(tan(s´*θw/2), tan(t´*θw/2), -1.0)は、s´*θw/2をθとし、t´*θw/2をφとすると、ベクトル(tanθ,tanφ,-1.0)になる。このとき、画角θwがπに近付くと、tanθやtanφは無限大に発散する。従って、tanθやtanφが無限大に発散しないように、ベクトル(tanθ,tanφ,-1.0)が、ベクトル(sinθ*cosφ, cosθ*sinφ, -cosθ*cosφ)に補正され、投影ベクトルがベクトル(sinθ*cosφ, cosθ*sinφ, -cosθ*cosφ)となるように、投影面501上に投影点が設定される。従って、tan軸投影では、隣り合う投影点に対応する投影ベクトルどうしがなす角が同一になる。
なお、対数軸(ログスケール)と同様に、tan(s´*θw/2), tan(t´*θw/2)は、tan軸のs´,t´であると捉えられる。従って、本明細書では、投影ベクトルがベクトル(tan(s´*θw/2), tan(t´*θw/2), -1.0)となる投影を、tan軸投影と称している。
(透視投影とtan軸投影における投影点の説明)
図32は、透視投影とtan軸投影における投影点を説明する図である。
図32は、投影面501をYの負方向に見た図である。図32の例では、投影面501上に投影点が9個配置され、球511にマッピングされた全天球画像が投影される。
この場合、図32に示すように、透視投影では、投影点P1乃至P9が投影面501上に同一の間隔dで配置される。従って、投影点P1乃至P9に対応する、球511にマッピングされた全天球画像上の点P1´乃至P9´の間隔d´は等間隔ではない。即ち、間隔d´は、投影ベクトルに依存し、投影面501の中央に近い投影点ほど間隔d´が広い。
これに対して、tan軸投影では、投影点Q1乃至Q9が、隣り合う投影点の投影ベクトルどうしのなす角度が同一の角度αになるように配置される。従って、投影点Q1乃至Q9に対応する、球511にマッピングされた全天球画像上の点Q1´乃至Q9´の間隔は同一の間隔d´´になる。
(透視投影とtan軸投影により生成された第1レイヤの高解像度画像上の撮影画像の各画素の例)
図33は、透視投影により生成された第1レイヤの高解像度画像上の撮影画像の各画素の例を示す図であり、図34は、tan軸投影により生成された第1レイヤの高解像度画像上の撮影画像の各画素の例を示す図である。
なお、図33および図34では、第1レイヤの高解像度画像上の撮影画像の各画素の境界を白線で図示してある。このことは、後述する図35においても同様である。また、図33および図34の例では、撮影画像が一度球にマッピングされ、球にマッピングされた撮影画像が投影される。さらに、図33および図34の例では、第1レイヤの各面は立方体の各面である。
この場合、図33に示すように、球にマッピングされた撮影画像の各画素が、立方体の各面に透視投影されることにより生成される第1レイヤの高解像度画像521乃至526上の撮影画像の画素530(図中白線で囲まれた矩形)の密度は、画面の中央に近いほど高くなる。
即ち、投影点の間隔が立方体の各面上で同一である透視投影では、球にマッピングされた撮影画像上の投影点に対応する点の角度あたりの密度が、立方体の各面の中央に近い投影点ほど低くなる。従って、第1レイヤの高解像度画像521乃至526上の撮影画像の画素530の密度は、画面の中央に近いほど高くなる。
これに対して、図34に示すように、球にマッピングされた撮影画像の各画素が、立方体の各面にtan軸投影されることにより生成される第1レイヤの高解像度画像541乃至546上の撮影画像の画素550(図中白線で囲まれた矩形)の密度は、略均一になる。
即ち、投影点に対応する、球にマッピングされた撮影画像上の点の間隔が同一であるtan軸投影では、透視投影に比べて、球にマッピングされた撮影画像上の投影点に対応する点の角度あたりの密度が均一になる。従って、第1レイヤの高解像度画像541乃至546上の撮影画像の画素550の密度は略均一になる。その結果、第1レイヤの高解像度画像541乃至546の画質は、撮影画像の画素の密度が均一ではない第1レイヤの高解像度画像521乃至526に比べて向上する。
なお、第1レイヤの高解像度画像541や第1レイヤの高解像度画像546の各画素550の境界は同心円を描かないため、第1レイヤの高解像度画像541や第1レイヤの高解像度画像546は、魚眼レンズにより撮影された撮影画像とは異なる。また、第1レイヤの高解像度画像521乃至526のそれぞれと、第1レイヤの高解像度画像541乃至546のそれぞれは、撮影画像の同一の領域が投影された画像であるため、相互変換が可能である。
図35は、透視投影およびtan軸投影により生成された第1レイヤの高解像度画像上の撮影画像の各画素の他の例を示す図である。
図35の上段には、横画角および縦画角が、60°、90°、120°、150°、170°である場合に透視投影により生成された第1レイヤの高解像度画像561乃至565が図示してある。
また、図35の下段には、横画角および縦画角が、60°、90°、120°、150°、170°である場合にtan軸投影により生成された第1レイヤの高解像度画像571乃至575が図示してある。
図35の上段に示すように、透視投影により生成された第1レイヤの高解像度画像561乃至565上の撮影画像の画素の密度の、画面内の位置による差は、横画角や縦画角が大きいほど大きくなる。一方、図35の下段に示すように、tan軸投影により生成された第1レイヤの高解像度画像571乃至575の撮影画像の画素の密度は、画面内で均一に近い。従って、横画角や縦画角が大きいほど、tan軸投影により生成された第1レイヤの高解像度画像571乃至575は、透視投影により生成された第1レイヤの高解像度画像561乃至565に比べて画質が向上する。
また、透視投影により生成された第1レイヤの高解像度画像561乃至565の画面中央の撮影画像の画素の密度は、横画角や縦画角が大きいほど高くなる。従って、例えば、横画角および縦画角が120°である第1レイヤの高解像度画像563の画面中央の解像度は、横画角および縦画角が90°である第1レイヤの高解像度画像562に比べて低下する。
一方、tan軸投影により生成された第1レイヤの高解像度画像571乃至575全体の撮影画像の画素の密度は、横画角や縦画角が大きいほど高くなるが、画面内で均一に近い。従って、tan軸投影では、透視投影に比べて、横画角や縦画角が大きくなるほど画面中央の撮影画像の画素の密度が高くなることを抑制することができる。
例えば、横画角および縦画角が120°であり、tan軸投影により生成される第1レイヤの高解像度画像573の画面中央における撮影画像の画素の密度は、横画角および縦画角が90°であり、透視投影により生成される第1レイヤの高解像度画像562の画面中央における撮影画像の画素の密度と略等しくなる。その結果、tan軸投影では、透視投影に比べて、画面中央の重要な領域の解像度を向上させることができる。
なお、図示は省略するが、第1レイヤの高解像度画像521乃至526が立方体の各面にテクスチャとしてマッピングされ、隣接する2つの面の境界が画面中央に投影されるように透視投影が行われると、その境界に近いほど、透視投影された撮影画像の画素の密度が高くなる。同様に、隣接する3つの面の境界が画面中央に投影されるように透視投影が行われると、その境界に近いほど、透視投影された撮影画像の画素の密度が高くなる。即ち、第1レイヤの高解像度画像521乃至526がマッピングされた立方体の頂点付近から透視投影された撮影画像の画素の密度は、他の領域に比べて高くなる。
また、説明は省略するが、tan軸投影により生成される第1レイヤのデプス画像、第2レイヤ画像、および、表示画像においても、第1レイヤの高解像度画像と同様の効果を得ることができる。
(第1レイヤの視点位置情報および面情報のテーブルの構成例)
図36は、第3実施の形態における第1レイヤの視点位置情報および面情報のテーブルの構成例を示す図である。
図36のテーブルの構成は、新たに各面への投影の方式が投影方式として登録される点を除いて、図9の構成と同一である。具体的には、第3実施の形態では、各面への投影の方式がtan軸投影であるため、図36のテーブルには、第1レイヤの各面のファイル名の共通部分に対応付けて、投影方式としてtan軸投影が登録される。
なお、第1および第2実施の形態においても、第3実施の形態と同様に、テーブルに投影方式が登録されるようにしてもよいし、第3実施の形態において、第1実施の形態と同様に、テーブルに投影方式が登録されないようにしてもよい。
以上のように、第3実施の形態では、撮影画像やz画像を面にtan軸投影することにより第1レイヤ画像および第2レイヤ画像を生成するので、第1レイヤ画像および第2レイヤ画像の画質を向上させることができる。また、三角形パッチを視野範囲にtan軸投影することにより表示画像を生成するので、表示画像の画質を向上させることができる。
なお、第1レイヤ画像、第2レイヤ画像、および表示画像を生成する際に行われる投影は、透視投影、tan軸投影以外であってもよい。また、面ごとに投影方式が異なるようにしてもよい。さらに、第2実施の形態において、透視投影の代わりにtan軸投影が行われるようにしてもよい。
<テクスチャ画像の他の例>
図37は、第1レイヤのテクスチャ画像の他の例を示す図である。
上述した説明では、第1レイヤの各面のテクスチャ画像は、1つの視点Oのテクスチャ画像であったが、視点Oに対応する左目用の視点と右目用の視点のテクスチャ画像が合成されたものであってもよい。
具体的には、図37のAに示すように、第1レイヤの各面のテクスチャ画像は、例えば、視点Oに対応する左目用の視点の第1レイヤの各面のテクスチャ画像621と、右目用の視点の第1レイヤの各面のテクスチャ画像622が、横方向(水平方向)にパッキングされたパッキング画像620であってもよい。
また、図37のBに示すように、第1レイヤの各面のテクスチャ画像は、例えば、テクスチャ画像621とテクスチャ画像622が、縦方向(垂直方向)にパッキングされたパッキング画像640であってもよい。
同様に、第2レイヤの各面のテクスチャ画像は、その面の1つの第2レイヤの視点に対応する左目用の視点の第2レイヤのテクスチャ画像と、右目用の視点の第2レイヤのテクスチャ画像が横方向または縦方向にパッキングされたパッキン画像であってもよい。
以上のように、第1レイヤおよび第2レイヤの各面のテクスチャ画像が左目用の視点と右目用の視点の画像をパッキングしたテクスチャ画像である場合、復号の結果得られるテクスチャ画像が、左目用の視点のテクスチャ画像と右目用の視点のテクスチャ画像に分離される。そして、第1レイヤおよび第2レイヤについて、左目用の3次元データと右目用の3次元データが生成される。
そして、視聴者の視聴方向および視聴位置に対応する左目の視聴方向および視聴位置基づいて、左目用の3次元データから左目用の表示画像が生成される。また、視聴者の視聴方向および視聴位置に対応する右目の視聴方向および視聴位置に基づいて、右目用の3次元データから右目用の表示画像が生成される。そして、ヘッドマウントディスプレイ15が3D表示可能である場合、ヘッドマウントディスプレイ15は、左目用の表示画像を左目用の画像として表示し、右目用の表示画像を右目用の画像として表示することにより、表示画像を3D表示する。
なお、第1および第2実施の形態では、撮影画像が正八面体にマッピングされることにより全天球画像が生成されたが、撮影画像がマッピングされる3Dモデルは、正八面体のほか、球や立方体などにすることができる。撮影画像が球にマッピングされる場合、全天球画像は、例えば、撮影画像がマッピングされた球の正距円筒図法による画像である。
また、低解像度テクスチャストリームと低解像度デプスストリームは生成されなくてもよい。第1レイヤおよび第2レイヤのデプス画像は生成されなくてもよい。また、第2レイヤのテクスチャ画像とデプス画像は、重要な被写体の撮影画像がマッピングされる一部の面に対してのみ生成されるようにしてもよい。
さらに、低解像度テクスチャ画像および低解像度デプス画像も、高解像度のテクスチャ画像およびデプス画像と同様に、階層化して生成されてもよい。
<第4実施の形態>
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図38は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ900において、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。
バス904には、さらに、入出力インタフェース905が接続されている。入出力インタフェース905には、入力部906、出力部907、記憶部908、通信部909、及びドライブ910が接続されている。
入力部906は、キーボード、マウス、マイクロフォンなどよりなる。出力部907は、ディスプレイ、スピーカなどよりなる。記憶部908は、ハードディスクや不揮発性のメモリなどよりなる。通信部909は、ネットワークインタフェースなどよりなる。ドライブ910は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア911を駆動する。
以上のように構成されるコンピュータ900では、CPU901が、例えば、記憶部908に記憶されているプログラムを、入出力インタフェース905及びバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ900(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア911に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータ900では、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インタフェース905を介して、記憶部908にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部909で受信し、記憶部908にインストールすることができる。その他、プログラムは、ROM902や記憶部908に、あらかじめインストールしておくことができる。
なお、コンピュータ900が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
<応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図39は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図39に示した例では、車両制御システム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を備える。図39では、統合制御ユニット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は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図40は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図40には、それぞれの撮像部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は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図39に戻って説明を続ける。車外情報検出ユニット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は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図39の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図39に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
なお、図1乃至図37を用いて説明した本実施形態に係る画像表示システム10(400)の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
以上説明した車両制御システム7000において、図1乃至図37を用いて説明した本実施形態に係る画像表示システム10(400)は、図39に示した応用例の車両制御システム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)を、図39に示した応用例の車両制御システム7000に適用することにより、全天球画像を用いて高画質の表示画像を生成することができる。
また、図1乃至図37を用いて説明した画像表示システム10(400)の少なくとも一部の構成要素は、図39に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1乃至図37を用いて説明した画像表示システム10(400)が、図39に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本開示は、以下のような構成もとることができる。
(1)
全天球画像のテクスチャ画像とデプス画像から構成される第1レイヤ画像と、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像とを用いて、所定の視点のテクスチャ画像を生成する画像生成部
を備える画像処理装置。
(2)
前記第1レイヤ画像は、前記全天球画像のテクスチャ画像とデプス画像を所定の面に投影することにより得られたテクスチャ画像とデプス画像から構成され、
前記第2レイヤ画像は、前記オクルージョン領域のテクスチャ画像とデプス画像を所定の面に投影することにより得られたテクスチャ画像とデプス画像から構成される
ように構成された
前記(1)に記載の画像処理装置。
(3)
前記第2レイヤ画像の前記オクルージョン領域以外の領域のうちの背景領域は、前記第1レイヤ画像と同一である
ように構成された
前記(1)または(2)に記載の画像処理装置。
(4)
前記第2レイヤ画像の前記オクルージョン領域以外の領域のうちの背景領域は、平坦画像である
ように構成された
前記(1)または(2)に記載の画像処理装置。
(5)
前記第2レイヤ画像の前記オクルージョン領域および背景領域以外の領域は、前記オクルージョン領域を用いて推測された画像である
ように構成された
前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6)
前記第2レイヤ画像の前記オクルージョン領域および背景領域以外の領域は、前記第1レイヤ画像と同一である
ように構成された
前記(1)乃至(4)のいずれかに記載の画像処理装置。
(7)
前記第2レイヤ画像のデプス画像の画素のうちの、隣接する画素との奥行き方向の位置の差分が閾値以上である不連続画素の3次元位置を補正するオクルージョン処理部
をさらに備え、
前記画像生成部は、前記第1レイヤ画像、前記第2レイヤ画像のテクスチャ画像、および前記オクルージョン処理部による補正後の3次元位置を用いて、前記所定の視点のテクスチャ画像を生成する
ように構成された
前記(6)に記載の画像処理装置。
(8)
前記第1レイヤ画像のデプス画像の各画素に対応するサンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、各サンプリング点の他のサンプリング点との接続を表す接続情報を生成する接続情報生成部
をさらに備え、
前記接続情報生成部は、生成された前記接続情報から、前記第1レイヤ画像のデプス画像の不連続画素に対応するサンプリング点との接続を表す接続情報を削除し、
前記画像生成部は、前記第1レイヤ画像のテクスチャ画像、前記第2レイヤ画像のテクスチャ画像、前記オクルージョン処理部による補正後の3次元位置、前記第1レイヤ画像の各画素の3次元位置、前記接続情報生成部による削除後の接続情報、および第2レイヤ画像の接続情報を用いて、前記所定の視点のテクスチャ画像を生成する
ように構成された
前記(7)に記載の画像処理装置。
(9)
前記第1レイヤ画像のデプス画像の各画素に対応するサンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、各サンプリング点の他のサンプリング点との接続を表す接続情報を生成する接続情報生成部
をさらに備え、
前記接続情報生成部は、前記3つのサンプリング点どうしを接続することにより生成される各三角形パッチの有効または無効を示す三角形パッチ有効無効情報に基づいて、無効の前記三角形パッチを構成する前記3つのサンプリング点どうしの接続を表す接続情報を削除し、
前記画像生成部は、前記第1レイヤ画像のテクスチャ画像、前記第2レイヤ画像のテクスチャ画像、前記オクルージョン処理部による補正後の3次元位置、前記第1レイヤ画像の各画素の3次元位置、前記接続情報生成部による削除後の接続情報、および第2レイヤ画像の接続情報を用いて、前記所定の視点のテクスチャ画像を生成する
ように構成された
前記(7)に記載の画像処理装置。
(10)
画像処理装置が、
全天球画像のテクスチャ画像とデプス画像から構成される第1レイヤ画像と、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像とを用いて、所定の視点のテクスチャ画像を生成する画像生成ステップ
を含む画像処理方法。
(11)
全天球画像のテクスチャ画像とデプス画像から構成される第1レイヤ画像と、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像とを生成する画像生成部
を備える画像処理装置。
(12)
前記画像生成部は、前記第1レイヤ画像と前記第2レイヤ画像の前記オクルージョン領域を複数の視点の撮影画像から生成する
ように構成された
前記(11)に記載の画像処理装置。
(13)
前記画像生成部は、前記全天球画像のテクスチャ画像とデプス画像をそれぞれ所定の面に投影することにより前記第1レイヤ画像を生成し、前記オクルージョン領域のテクスチャ画像とデプス画像をそれぞれ所定の面に投影することにより前記第2レイヤ画像を生成する
ように構成された
前記(11)または(12)に記載の画像処理装置。
(14)
前記第2レイヤ画像の前記オクルージョン領域以外の領域のうちの背景領域は、前記第1レイヤ画像と同一である
ように構成された
前記(11)乃至(13)のいずれかに記載の画像処理装置。
(15)
前記第2レイヤ画像の前記オクルージョン領域以外の領域のうちの背景領域は、平坦画像である
ように構成された
前記(11)乃至(13)のいずれかに記載の画像処理装置。
(16)
前記第2レイヤ画像の前記オクルージョン領域および背景領域以外の領域は、前記オクルージョン領域を用いて推測された画像である
ように構成された
前記(11)乃至(15)のいずれかに記載の画像処理装置。
(17)
前記第2レイヤ画像の前記オクルージョン領域および背景領域以外の領域は、前記第1レイヤ画像と同一である
ように構成された
前記(11)乃至(15)のいずれかに記載の画像処理装置。
(18)
前記第1レイヤ画像のデプス画像の各画素に対応するサンプリング点のうちの隣接する3つのサンプリング点どうしを接続することにより生成される各三角形パッチの有効または無効を示す三角形パッチ有効無効情報を生成する生成部
をさらに備える
前記(11)乃至(17)のいずれかに記載の画像処理装置。
(19)
前記第1レイヤ画像のデプス画像の画素のうちの、隣接する画素との奥行き方向の位置の差分が閾値以上である不連続画素に対応するサンプリング点を頂点とする三角形パッチの前記三角形パッチ有効無効情報は、三角形パッチの無効を示す情報である
ように構成された
前記(18)に記載の画像処理装置。
(20)
画像処理装置が、
全天球画像のテクスチャ画像とデプス画像から構成される第1レイヤ画像と、前記第1レイヤ画像の視点におけるオクルージョン領域のテクスチャ画像とデプス画像から構成される第2レイヤ画像とを生成する画像生成ステップ
を含む画像処理方法。