以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1実施の形態:画像表示システム
2.第2実施の形態:ホームサーバ
3.第3実施の形態:ホームサーバ
4.第4実施の形態:画像表示システム
5.第5実施の形態:画像表示システム
6.変形例
7.応用例
<第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方式等であってもよい。
なお、以下、第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを個々に区別する必要がない場合、高解像度符号化ストリームという。
また、コンテンツサーバ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レイヤの各面のテクスチャ画像において顔認識処理を行う。そして、第1レイヤ生成部50は、第1レイヤの各面のテクスチャ画像内の人の顔の有無を示す顔検出情報を生成し、メタデータ生成部57に供給する。
さらに、第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レイヤ生成部53は、第2レイヤの各面のテクスチャ画像内の人の顔の有無を示す顔検出情報を生成し、メタデータ生成部57に供給する。
さらに、第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に供給する。
設定部56は、必要に応じて、視聴者に対して視聴を推奨する方向である推奨視聴方向を設定する。推奨視聴方向は、例えば全天球画像の提供者等により設定され、例えばコンサートの模様を撮影した全天球画像においては、ステージ側の画像の方向が推奨視聴方向に設定される。設定部56は、推奨視聴方向を示す推奨視聴方向情報をメタデータ生成部57に供給する。
メタデータ生成部57は、第1レイヤ生成部50および第2レイヤ生成部53から供給される顔検出情報に基づいて、顔メタデータを生成する。顔メタデータは、例えば、各面の第1レイヤテクスチャストリームおよび第2レイヤテクスチャストリームにおいて、人の顔が出現するフレームまたは期間を示す。
メタデータ生成部57は、設定部56から供給される第1レイヤの視点位置情報および面情報、第2レイヤの視点位置情報および面情報を含むテーブル、設定部56から供給される推奨視聴方向情報、並びに、顔メタデータを含むメタデータを生成し、ストレージ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は、第1レイヤ生成部50および第2レイヤ生成部53から供給される顔検出情報に基づいて、顔メタデータを生成する。メタデータ生成部57は、設定部56から供給される第1レイヤの視点位置情報および面情報、第2レイヤの視点位置情報および面情報を含むテーブル、設定部56から供給される推奨視聴方向情報、並びに、顔メタデータを含むメタデータを生成し、ストレージ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ビット量子化をやり直す必要がない。
(ホームサーバの第1実施の形態の構成例)
図19は、図1のホームサーバ13の第1実施の形態であるホームサーバ13aの構成例を示すブロック図である。
図19のホームサーバ13は、カメラ13A、受け取り部231、ストレージ232、受け取り部233、視線検出部234、3Dモデル生成部235、および描画部236により構成される。3Dモデル生成部235は、ML3Dモデル生成部241-1乃至241-3、および低解像度3Dモデル生成部242により構成される。
ホームサーバ13aの受け取り部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のいずれかを含む面を選択面に決定する。
以上のようにして選択面が決定されることにより、後述する描画部236により選択面に対応する第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像を用いて生成される表示画像内の高解像度領域の割合が最も高くなる。また、3つの選択面が決定されることにより、1つの選択面が選択される場合に比べて、視線が立方体80の頂点付近に向かう場合に表示画像内の高解像度領域の割合を増加させることができる。
視線検出部234は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部241-1乃至241-3に供給する。また、視線検出部234は、低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、低解像度3Dモデル生成部242に供給する。
また、視線検出部234は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定する。視線検出部234は、視聴者の視野範囲と視聴位置を描画部236に供給する。視線検出部234は、3つの選択面と、その3つの選択面に対応する第2レイヤの3つの面の視点位置情報および面情報を描画部236に供給する。
ML3Dモデル生成部241-1乃至241-3は、それぞれ、第1レイヤテクスチャストリームと第1レイヤデプスストリームを用いて、第1レイヤのテクスチャ画像の各画素に対応するサンプリング点のテクスチャ画像座標系における3次元位置(u,v,z)および接続情報と、カラー情報としてのRGB値とからなる3次元データを生成する。なお、各サンプリング点の接続情報は、そのサンプリング点(vertex)と他のサンプリング点との接続を表す情報である。テクスチャ画像座標系は、テクスチャ画像の横方向をu軸、縦方向をv軸、奥行き方向をz軸とする座標系である。
また、ML3Dモデル生成部241-1乃至241-3は、それぞれ、視線検出部234から供給される第2レイヤテクスチャストリームと第2レイヤデプスストリームを用いて、第2レイヤのテクスチャ画像の各画素に対応するサンプリング点の3次元データを生成する。ML3Dモデル生成部241-1乃至241-3は、第1レイヤおよび第2レイヤの3次元データを描画部236に供給する。
低解像度3Dモデル生成部242は、視線検出部234から供給される低解像度テクスチャストリームと低解像度デプスストリームを復号し、低解像度テクスチャ画像と低解像度デプス画像を生成する。低解像度3Dモデル生成部242は、低解像度テクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。また、低解像度3Dモデル生成部242は、低解像度デプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、低解像度3Dモデル生成部242は、低解像度デプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。
また、低解像度3Dモデル生成部242は、各サンプリング点の3次元位置(u,v,z)に基づいて、隣接する3つのサンプリング点どうしが接続するように各サンプリング点の接続情報を生成する。低解像度3Dモデル生成部242は、各サンプリング点の3次元位置(u,v,z)、接続情報、およびRGB値を、低解像度テクスチャ画像の3次元データとして、描画部236に供給する。
描画部236は、低解像度3Dモデル生成部242から供給される低解像度テクスチャ画像の3次元データに基づいて、3Dモデル座標系において、低解像度テクスチャ画像の三角形パッチ描画(点群描画)を行う。その後、描画部236は、ML3Dモデル生成部241-1乃至241-3のそれぞれから供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部234から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
即ち、低解像度テクスチャ画像の視点は3Dモデル座標系における原点であり、3Dモデルとしての正八面体の各面の位置およびサイズは予め決まっている。従って、描画部236は、正八面体の各面に対応する各カメラの内部パラメータと外部パラメータを求めることができる。よって、描画部236は、この内部パラメータと外部パラメータを用いて、低解像度テクスチャ画像の各サンプリング点の3次元位置(u,v,z)から、各サンプリング点の画面上の位置(u,v)と3Dモデル座標系における3次元位置(X,Y,Z)を認識することができる。その結果、低解像度テクスチャ画像の各サンプリング点の画面上の位置(u,v)および3次元位置(X,Y,Z)と接続情報およびRGB値とを用いて三角形パッチ描画を行うことができる。
また、描画部236は、第1レイヤおよび第2レイヤの視点位置情報および面情報に基づいて、第1レイヤおよび第2レイヤの各面に対応する各カメラの内部パラメータと外部パラメータを求めることができる。従って、描画部236は、この内部パラメータと外部パラメータを用いて、第1レイヤおよび第2レイヤの各サンプリング点の3次元位置(u,v,z)から、各サンプリング点の画面上の位置(u,v)と3次元位置(X,Y,Z)を認識できる。その結果、描画部236は、第1レイヤおよび第2レイヤの各サンプリング点の画面上の位置(u,v)および3次元位置(X,Y,Z)と接続情報およびRGB値とを用いて三角形パッチ描画を行うことができる。
描画部236は、3Dモデル座標系において描画された三角形パッチを、視線検出部234から供給される視聴位置を視点として視野範囲に透視投影(マッピング)することにより、表示画像を生成する。描画部236は、表示画像を図1の変換装置14に送信する。
なお、以下、ML3Dモデル生成部241-1乃至241-3を個々に区別する必要がない場合、単にML3Dモデル生成部241という。
(ML3Dモデル生成部の構成例)
図20は、図19のML3Dモデル生成部241の構成例を示すブロック図である。
図20のML3Dモデル生成部241は、復号部261、バッファ262、バッファ263、レンダリング部264、復号部265、バッファ266、バッファ267、およびレンダリング部268により構成される。復号部261は、デコーダ271、およびデコーダ272により構成される。レンダリング部264は、RGB変換部281、デプス変換部282、不連続検出部283、および3Dモデル生成部284により構成される。復号部265は、デコーダ291、およびデコーダ292により構成される。レンダリング部268は、RGB変換部301、デプス変換部302、オクルージョン処理部303、および3Dモデル生成部304により構成される。
ML3Dモデル生成部241の復号部261は、第1レイヤテクスチャストリームおよび第1レイヤデプスストリームの復号を行う。
具体的には、復号部261のデコーダ271は、図19の視線検出部234から供給される第1レイヤテクスチャストリームを復号し、第1レイヤのテクスチャ画像を生成する。デコーダ271は、第1レイヤのテクスチャ画像をバッファ262に蓄積する。
デコーダ272は、視線検出部234から供給される第1レイヤデプスストリームを復号し、第1レイヤのデプス画像を生成する。デコーダ272は、第1レイヤのデプス画像をバッファ263に蓄積する。
レンダリング部264は、復号後の第1レイヤテクスチャストリーム(第1レイヤのテクスチャ画像)および第1レイヤデプスストリーム(第1レイヤのデプス画像)のレンダリングを行い、第1レイヤの描画用のテクスチャ画像の3次元データを生成する。
具体的には、レンダリング部264のRGB変換部281は、バッファ262に蓄積されている第1レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部281は、各サンプリング点のRGB値を3Dモデル生成部284に供給する。
デプス変換部282は、バッファ263に蓄積されている第1レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、デプス変換部282は、第1レイヤのデプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部282は、各サンプリング点の3次元位置(u,v,z)を不連続検出部283と3Dモデル生成部284に供給する。
不連続検出部283は、デプス変換部282から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第1レイヤのデプス画像の画素のうちの、隣接するサンプリング点とのz座標の差分が閾値以上であるサンプリング点に対応する画素である不連続画素を検出する。不連続検出部283は、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を3Dモデル生成部284に供給する。
3Dモデル生成部284は、デプス変換部282から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、各サンプリング点の接続情報を生成する。即ち、3Dモデル生成部284は、サンプリング点ごとに、そのサンプリング点を頂点とする三角形パッチの3つの頂点どうしの接続を表す接続情報を生成する。そして、3Dモデル生成部284は、不連続検出部283から供給される不連続画素に対応するサンプリング点の3次元位置(u,v,z)に基づいて、生成された各サンプリング点の接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除する。
3Dモデル生成部284は、第1レイヤの各サンプリング点の3次元位置(u,v,z)、RGB値、および削除後の接続情報を、第1レイヤの3次元データとして生成し、図19の描画部236に供給する。
復号部265のデコーダ291は、図19の視線検出部234から供給される第2レイヤテクスチャストリームを復号し、第2レイヤのテクスチャ画像を生成する。デコーダ291は、第2レイヤのテクスチャ画像をバッファ266に蓄積する。
デコーダ292は、視線検出部234から供給される第2レイヤデプスストリームを復号し、第2レイヤのデプス画像を生成する。デコーダ292は、第2レイヤのデプス画像をバッファ267に蓄積する。
レンダリング部268は、復号後の第2レイヤテクスチャストリーム(第2レイヤのテクスチャ画像)および第2レイヤデプスストリーム(第2レイヤのデプス画像)のレンダリングを行い、第2レイヤの描画用のテクスチャ画像の3次元データを生成する。
レンダリング部268のRGB変換部301は、バッファ266に蓄積されている第2レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部301は、各サンプリング点のRGB値を3Dモデル生成部304に供給する。
デプス変換部302は、バッファ267に蓄積されている第2レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、デプス変換部302は、第2レイヤのデプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部302は、各サンプリング点の3次元位置(u,v,z)をオクルージョン処理部303と3Dモデル生成部304に供給する。
オクルージョン処理部303は、デプス変換部302から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第2レイヤのデプス画像の画素のうちの不連続画素を検出する。オクルージョン処理部303は、第2レイヤの各サンプリング点の3次元位置(u,v,z)に基づいて、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を補正するオクルージョン処理を行う。
具体的には、オクルージョン処理部303は、例えば、不連続画素に対応するサンプリング点の2次元位置(u,v)を、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置(u,v)に補正する。オクルージョン処理部303は、第2レイヤの各サンプリング点のオクルージョン処理後の3次元位置(u,v,z)を3Dモデル生成部304に供給する。
3Dモデル生成部304は、オクルージョン処理部303から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、サンプリング点ごとに、そのサンプリング点と隣接する2つのサンプリング点との接続を表す接続情報を生成する。3Dモデル生成部304は、各サンプリング点の3次元位置(u,v,z)および接続情報、並びに、RGB変換部301から供給されるRGB値を、第2レイヤの3次元データとして生成する。3Dモデル生成部304は、第2レイヤの3次元データを図19の描画部236に供給する。
(低解像度3Dモデル生成部の構成例)
図21は、図19の低解像度3Dモデル生成部242の構成例を示すブロック図である。
図21の低解像度3Dモデル生成部242は、復号部321、バッファ322、バッファ323、およびレンダリング部324により構成される。復号部321は、デコーダ331およびデコーダ332により構成される。レンダリング部324は、RGB変換部341、デプス変換部342、および3Dモデル生成部343により構成される。
低解像度3Dモデル生成部242の復号部321は、低解像度テクスチャストリームおよび低解像度デプスストリームの復号を行う。
具体的には、復号部321のデコーダ331は、図19の視線検出部234から供給される低解像度テクスチャストリームを復号し、低解像度テクスチャ画像を生成する。デコーダ331は、低解像度テクスチャ画像をバッファ322に蓄積する。
デコーダ332は、視線検出部234から供給される低解像度デプスストリームを復号し、低解像度デプス画像を生成する。デコーダ332は、低解像度デプス画像をバッファ323に蓄積する。
レンダリング部324は、復号後の低解像度テクスチャストリーム(低解像度テクスチャ画像)および低解像度デプスストリーム(低解像度デプス画像)のレンダリングを行い、描画用の低解像テクスチャ画像の3次元データを生成する。
具体的には、レンダリング部324のRGB変換部341は、バッファ322に蓄積されている低解像テクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部341は、各サンプリング点のRGB値を3Dモデル生成部343に供給する。
デプス変換部342は、バッファ323に蓄積されている低解像度デプス画像の各画素の画素値に対して8ビット逆量子化を行い、逆数1/rを得る。そして、デプス変換部342は、低解像度デプス画像の各画素の逆数1/rに基づいて、各画素の3次元位置(u,v,z)を各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部342は、各サンプリング点の3次元位置(u,v,z)を3Dモデル生成部343に供給する。
3Dモデル生成部343は、デプス変換部342から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、各サンプリング点の接続情報を生成する。即ち、3Dモデル生成部343は、サンプリング点ごとに、そのサンプリング点を頂点とする三角形パッチの3つの頂点どうしの接続を表す接続情報を生成する。
3Dモデル生成部343は、各サンプリング点の3次元位置(u,v,z)、RGB値、および接続情報を、低解像度テクスチャ画像の3次元データとして生成し、図19の描画部236に供給する。
以上のようにして、各ML3Dモデル生成部241は、3つの選択面に対応する高解像度符号化ストリームの復号およびレンダリングを行う。低解像度3Dモデル生成部242は、低解像度符号化ストリームの復号およびレンダリングを行う。そして、描画部236は、3つの選択面に対応する第1レイヤおよび第レイヤの3次元データ、並びに、低解像度テクスチャ画像の3次元データに基づいて、表示画像を生成する最終的なレンダリングを行う。
(接続情報の削除およびオクルージョン処理の効果の説明)
図22は、第1レイヤの接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除しない場合の接続情報を説明する図であり、図23は、削除した場合の接続情報を説明する図である。
図22および図23において、左右方向は、テクスチャ画像の横方向を表し、上下方向は、テクスチャ画像の奥行き方向を表す。図22および図23の上方向が手前側、下方向が奥側である。また、図22および図23において、実線は、第1レイヤの各サンプリング点の3次元位置(u,v,z)を表し、点線は、第2レイヤの各サンプリング点の3次元位置(u,v,z)を表す。また、図22および図23の例では、被写体が図10の前景111と背景112である。
第1レイヤおよび第2レイヤの両方においてオクルージョン処理が行われない場合、図22のAに示すように、第1レイヤの前景111の撮影画像121と背景112の領域112Aの撮影画像122Aの境界の不連続画素に対応するサンプリング点の3次元位置は変更されない。
また、第1レイヤおよび第2レイヤの両方において不連続画素に対応するサンプリング点との接続を表す接続情報が削除されない場合、図22のAに示すように、第1レイヤおよび第2レイヤの不連続画素に対応するサンプリング点は、隣接する2つのサンプリング点と接続される。
従って、第1レイヤの不連続画素に対応するサンプリング点と、隣接する2つのサンプリング点とを頂点とする三角形パッチが生成され、その三角形パッチにより、有効領域の撮影画像122Cは塗り潰れされる。よって、図中右下から左上へ向かう視線Vに対応する、撮影済みオクルージョン領域112Cを含む表示画像を生成する場合に、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることはできない。
また、第1レイヤおよび第2レイヤの両方において、不連続画素に対応するサンプリング点との接続を表す接続情報が削除されないが、オクルージョン処理は行われる場合、図22のBに示すように、第1レイヤおよび第2レイヤの不連続画素に対応するサンプリング点の2次元位置が、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置に補正される。
従って、視線Vに対応する表示画像を生成する場合、撮影済みオクルージョン領域112Cの表示画像として、第1レイヤの領域112Aの撮影画像122Aを用いることができる。その結果、表示画像の画質は向上する。
しかしながら、オクルージョン処理後の第1レイヤの不連続画素に対応するサンプリング点は、隣接する2つのサンプリング点と接続され、三角形パッチが生成される。従って、図22のAの場合と同様に、視線Vに対応する表示画像を生成する場合、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることはできない。
これに対して、3Dモデル生成部284は、図23に示すように、第1レイヤの不連続画素との接続を表す接続情報を削除する。従って、第1レイヤの不連続画素に対応するサンプリング点を頂点とする三角形パッチが生成されない。よって、視線Vに対応する表示画像を生成する場合に、撮影済みオクルージョン領域112Cの撮影画像122Cが配置される第2レイヤの有効領域を用いることができる。第2レイヤにおいては接続情報の削除が行われないので、第1レイヤの三角形パッチが存在しない領域には、必ず第2レイヤの三角形パッチが存在する。
また、オクルージョン処理部303は、第2レイヤに対してオクルージョン処理を行う。従って、図23に示すように、第2レイヤの有効領域と想像領域の境界の不連続画素に対応するサンプリング点のうちの奥側のサンプリング点の2次元位置が、そのサンプリング点の近傍かつ手前側のサンプリング点の2次元位置に補正される。従って、第2レイヤにおいてオクルージョン領域が削減される。よって、視線Vに対応する表示画像を生成する際に用いられる第2レイヤの画質が向上し、その結果、表示画像の画質が向上する。
(第1レイヤの面の画角の効果の説明)
図24および図25は、それぞれ、第1レイヤの各面の画角が90度、100度である場合のサンプリング点を説明する図である。
図24および図25の例では、説明の便宜上、第1レイヤの各面の画角が90度、100度である場合の第1レイヤのテクスチャ画像およびデプス画像の解像度が、それぞれ、4x4画素、6x6画素であるものとする。
図24のBに示すように、第1レイヤの各面の画角が90度である場合、第1レイヤの6つの面は、立方体80を構成する6つの面81乃至86になる。
しかしながら、図24のAに示すように、第1レイヤの-Z面86のテクスチャ画像400上のサンプリング点411の位置(u,v)、即ち3Dモデル座標系における視点Oからサンプリング点411に向かう線が-Z面86と交差する位置は、各画素401の中心である。また、他の面81乃至85のサンプリング点の位置(u,v)も、-Z面86と同様に各画素の中心である。
従って、図24のBに示すように、図中黒丸で示すサンプリング点のうちの隣接する3つのサンプリング点どうしを接続することにより構成される全ての三角形パッチの、各面81乃至86上の領域402のu方向およびv方向サイズは、各面81乃至86に比べて画素の半分のサイズだけ小さい。よって、各面81乃至86の境界に対応する三角形パッチが生成されず、その結果、各面81乃至86の境界を通る視線の表示画像を高画質で生成することが困難になる。
これに対して、第1レイヤの各面の画角が100度である場合、図25のAに示すように、-Z面86を含む第1レイヤの面のテクスチャ画像420のサイズは、図24のテクスチャ画像400のサイズより大きい6×6画素になる。他の面81乃至85をそれぞれ含む第1レイヤの各面のテクスチャ画像のサイズも同様に6×6画素になる。
従って、図25のBに示すように、図中黒丸で示すサンプリング点のうちの隣接する3つのサンプリング点どうしを接続することにより構成される全ての三角形パッチの、-Z面86上の領域421のu方向およびv方向サイズは、-Z面86に比べて画素の半分のサイズだけ大きい。図示は省略するが、他の面81乃至85をそれぞれ含む第1レイヤの各面の三角形パッチの領域のu方向およびv方向サイズも、領域421と同様に、各面81乃至85に比べて画素の半分のサイズだけ大きい。従って、各面81乃至86の境界に対応する三角形パッチが生成され、その結果、各面81乃至86の境界を通る視線を含む任意の視線の表示画像を高画質で生成することができる。
図24および図25では、第1レイヤの各面の画角が100度である場合の効果について説明したが、第1レイヤの各面の画角が90度より大きければ、画角が100度ではない場合であっても同様の効果が発生する。
(第2レイヤの面の画角の効果の説明)
図26は、第2レイヤの各面の画角が90度および100度である場合のオクルージョン処理を説明する図である。
図26において、横軸はu軸を表し、縦軸はz軸を表す。また、丸はサンプリング点を表す。さらに、図26の例では、奥行き方向の位置が奥側であるほどz座標は大きい。
第2レイヤの各面の画角が90度である場合、サンプリング点が、第2レイヤのいずれか1つの面にのみマッピングされる。従って、図26のAに示すように、処理対象の面のu方向の端部にマッピングされるサンプリング点441に隣接するサンプリング点442は、処理対象の面にはマッピングされず、処理対象の面のオクルージョン処理時にサンプリング点442のz軸の位置はわからない。
よって、サンプリング点441とサンプリング点442のz座標の差分が閾値以上である場合であっても、サンプリング点441に対応する画素は不連続画素として検出されない。同様に、サンプリング点442がマッピングされる面が処理対象の面とされる場合にも、サンプリング点442に対応する画素は不連続画素として検出されない。従って、サンプリング点441およびサンプリング点442に対してオクルージョン処理を行うことはできない。即ち、サンプリング点441およびサンプリング点442に対してオクルージョン処理を行うために、処理対象の面のデプス画像以外に、処理対象の面と隣接する面のデプス画像も用いる必要がある。
これに対して、第2レイヤの各面の画角が100度である場合、各面の端部に、その面と隣接する面の端部以外の領域にマッピングされるサンプリング点が、のりしろとして重複してマッピングされる。例えば、サンプリング点441がマッピングされる処理対象の面の端部に、処理対象の面に隣接する面の端部以外の領域にマッピングされるサンプリング点442がマッピングされる。
従って、サンプリング点441とサンプリング点442のz座標の差分が閾値以上である場合、サンプリング点441とサンプリング点442に対応する画素は不連続画素として検出される。よって、図26のBに示すように、サンプリング点441とサンプリング点442に対してオクルージョン処理を行うことができる。その結果、不連続画素に対応するサンプリング点442のu座標が、サンプリング点442近傍のサンプリング点442より手前側の(z座標が小さい)サンプリング点443のu座標に補正される。
なお、図26の例では、処理対象の面の端部以外の領域にマッピングされるサンプリング点444とサンプリング点445のz座標の差分が閾値以上であるため、サンプリング点444とサンプリング点445に対応する画素も不連続画素として検出されている。その結果、図26のBに示すように、サンプリング点444のu座標が、サンプリング点444近傍のサンプリング点444より手前側のサンプリング点446のu座標に補正されている。
また、処理対象の面のu座標が最も大きい端部のサンプリング点447は、処理対象の面と隣接する面の端部以外の領域にマッピングされる。従って、この面が処理対象の面とされる場合に、サンプリング点447に対応する画素が不連続画素であるかどうかを判定し、不連続画素であると判定した場合に、サンプリング点447に対するオクルージョン処理を行うことができる。
以上のように、第2レイヤの各面の画角が100度である場合、各面のサンプリング点のみを用いて、各面の端部以外の領域の端部にマッピングされるサンプリング点441に対してもオクルージョン処理を行うことができる。その結果、第2レイヤのオクルージョン領域が削減され、表示画像の画質を向上させることができる。
図26では、第2レイヤの各面の画角が100度である場合の効果について説明したが、第2レイヤの各面の画角が90度より大きければ、画角が100度ではない場合であっても同様の効果が発生する。
なお、ML3Dモデル生成部241-1乃至241-3は、復号の結果得られるテクスチャ画像やデプス画像に対して、周辺の画素を用いたフィルタ処理等の画像処理を行うようにしてもよい。この場合、第1レイヤおよび第2レイヤの各面の画角が90度より大きいことにより、オクルージョン処理と同様に、各面の端部以外の領域の端部においても画像処理を行うことができるという効果を得ることができる。
(ホームサーバの処理の説明)
図27は、図19のホームサーバ13aの再生処理を説明するフローチャートである。この再生処理は、例えば、コンテンツサーバ12から伝送されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータが伝送されてきたとき、開始される。
図27のステップS41において、ホームサーバ13aの受け取り部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モデル座標系における視聴位置を検出し、描画部236に供給する。
ステップS47において、視線検出部234は、ストレージ232に記憶されているメタデータのうちの第1レイヤのテーブルと、3Dモデル座標系における視聴位置および視線方向とに基づいて、6つの面のうちの視線に最も近い視線ベクトルに対応する3つの面を選択面に決定する。
ステップS48において、視線検出部234は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定し、描画部236に供給する。
ステップS49において、視線検出部234は、低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、低解像度3Dモデル生成部242に供給する。また、視線検出部234は、3つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。視線検出部234は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部241-1乃至241-3に供給する。また、視線検出部234は、3つの選択面に対応する視点位置情報および面情報をストレージ232から読み出し、描画部236に供給する。
ステップS50において、ML3Dモデル生成部241-1乃至241-3は、面ごとに、第1レイヤおよび第2レイヤの各サンプリング点の3次元データを生成する3次元データ生成処理を行う。この3次元データ生成処理の詳細は、図28を参照して後述する。
ステップS51において、低解像度3Dモデル生成部242は、視線検出部234から供給される低解像度テクスチャストリームと低解像度デプスストリームから、低解像度テクスチャ画像の各サンプリング点の3次元データを生成し、描画部236に供給する。
ステップS52において、描画部236は、低解像度3Dモデル生成部242から供給される低解像度テクスチャ画像の3次元データに基づいて、3Dモデル座標系において、低解像度テクスチャ画像の三角形パッチ描画を行う。その後、描画部236は、ML3Dモデル生成部241-1乃至241-3のそれぞれから供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部234から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
ステップS53において、描画部236は、3Dモデル座標系において描画された三角形パッチを、視線検出部234から供給される視聴位置を視点として視野範囲に透視投影することにより、表示画像を生成する。ステップS54において、描画部236は、表示画像を図1の変換装置14に伝送する。
図28は、図27のステップS50において各ML3Dモデル生成部241(ML3Dモデル生成部241-1乃至241-3)により行われる3次元データ生成処理の詳細を説明するフローチャートである。
図28のステップS71において、ML3Dモデル生成部241のデコーダ271(図20)は、図19の視線検出部234から供給される第1レイヤテクスチャストリームを復号し、第1レイヤのテクスチャ画像を生成する。デコーダ271は、第1レイヤのテクスチャ画像をバッファ262に蓄積する。
ステップS72において、RGB変換部281は、バッファ262に蓄積されている第1レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部281は、各サンプリング点のRGB値を3Dモデル生成部284に供給する。
ステップS73において、デコーダ272は、視線検出部234から供給される第1レイヤデプスストリームを復号し、第1レイヤのデプス画像を生成する。デコーダ272は、第1レイヤのデプス画像をバッファ263に蓄積する。
ステップS74において、デプス変換部282は、バッファ263に蓄積されている第1レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、第1レイヤのデプス画像の各画素の逆数1/rを得る。
ステップS75において、デプス変換部282は、第1レイヤのデプス画像の各画素の逆数1/rに基づいて、第1レイヤのデプス画像の各画素の3次元位置(u,v,z)を、各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部282は、各サンプリング点の3次元位置(u,v,z)を不連続検出部283と3Dモデル生成部284に供給する。
ステップS76において、不連続検出部283は、デプス変換部282から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第1レイヤのデプス画像の各画素のうちの不連続画素を検出する。不連続検出部283は、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を3Dモデル生成部284に供給する。
ステップS77において、3Dモデル生成部284は、デプス変換部282から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、第1レイヤの各サンプリング点の接続情報を生成する。
ステップS78において、3Dモデル生成部284は、不連続検出部283から供給される不連続画素に対応するサンプリング点の3次元位置(u,v,z)に基づいて、ステップS77で生成された各サンプリング点の接続情報のうちの不連続画素に対応するサンプリング点との接続を表す接続情報を削除する。
ステップS79において、3Dモデル生成部284は、第1レイヤの各サンプリング点の3次元位置(u,v,z)、RGB値、および、ステップS78の処理による削除後の接続情報を、第1レイヤの3次元データとして生成する。3Dモデル生成部284は、第1レイヤの3次元データを図19の描画部236に供給する。
ステップS80において、デコーダ291は、視線検出部234から供給される第2レイヤテクスチャストリームを復号し、第2レイヤのテクスチャ画像を生成する。デコーダ291は、第2レイヤのテクスチャ画像をバッファ266に蓄積する。
ステップS81において、RGB変換部301は、バッファ266に蓄積されている第2レイヤのテクスチャ画像の各画素の画素値としてのYCbCr値をRGB値に変換し、各画素に対応するサンプリング点のRGB値とする。そして、RGB変換部301は、各サンプリング点のRGB値を3Dモデル生成部304に供給する。
ステップS82において、デコーダ292は、視線検出部234から供給される第2レイヤデプスストリームを復号し、第2レイヤのデプス画像を生成する。デコーダ292は、第2レイヤのデプス画像をバッファ267に蓄積する。
ステップS83において、デプス変換部302は、バッファ267に蓄積されている第2レイヤのデプス画像の各画素の画素値に対して8ビット逆量子化を行い、第2レイヤのデプス画像の各画素の逆数1/rを得る。
ステップS84において、デプス変換部302は、第2レイヤのデプス画像の各画素の逆数1/rに基づいて、第2レイヤのデプス画像の各画素の3次元位置(u,v,z)を、各画素に対応するサンプリング点の3次元位置(u,v,z)として求める。デプス変換部302は、各サンプリング点の3次元位置(u,v,z)をオクルージョン処理部303と3Dモデル生成部304に供給する。
ステップS85において、オクルージョン処理部303は、デプス変換部302から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、第2レイヤのデプス画像の各画素のうちの不連続画素を検出する。
ステップS86において、オクルージョン処理部303は、第2レイヤの各サンプリング点の3次元位置(u,v,z)に基づいて、不連続画素に対応するサンプリング点の3次元位置(u,v,z)を補正するオクルージョン処理を行う。オクルージョン処理部303は、第2レイヤの各サンプリング点のオクルージョン処理後の3次元位置(u,v,z)を3Dモデル生成部304に供給する。
ステップS87において、3Dモデル生成部304は、オクルージョン処理部303から供給される各サンプリング点の3次元位置(u,v,z)に基づいて、各サンプリング点のうちの隣接する3つのサンプリング点どうしが接続するように、第2レイヤの各サンプリング点の接続情報を生成する。
ステップS88において、3Dモデル生成部304は、各サンプリング点の3次元位置(u,v,z)および接続情報、並びに、RGB変換部301から供給されるRGB値を、第2レイヤの3次元データとして生成する。3Dモデル生成部304は、第2レイヤの3次元データを図19の描画部236に供給する。
以上のように、ホームサーバ13aは、第1レイヤと第2レイヤを用いて、表示画像を生成する。従って、視聴位置が視点Oとは異なる場合に、第2レイヤを用いることにより、表示画像に含まれる視点Oのオクルージョン領域を生成することができる。従って、高画質の表示画像を生成することができる。
また、ホームサーバ13aは、テクスチャ画像だけでなくデプス画像も用いて表示画像を生成する。従って、三角形パッチ描画により、被写体に応じた3次元形状の三角形パッチにテクスチャ画像をマッピングし、その三角形パッチを用いて表示画像を生成することができる。よって、テクスチャ画像のみを用いてテクスチャ画像を所定の面にマッピングすることにより表示画像を生成する場合に比べて、高画質の表示画像を生成することができる。
さらに、第1レイヤのテクスチャ画像とデプス画像は、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像である。従って、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のみを再生する再生装置において、第1レイヤのテクスチャ画像とデプス画像を再生することができる。
即ち、コンテンツサーバ12により生成される第1レイヤおよび第2レイヤのテクスチャ画像とデプス画像のフォーマットは、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のフォーマットと互換性を有する。また、ホームサーバ13aによる再生方法は、全天球画像のテクスチャ画像とデプス画像を所定の面にマッピングすることにより得られるテクスチャ画像とデプス画像のみを再生する再生装置の再生方法と互換性を有する。
なお、ホームサーバ13aは、第1レイヤのテクスチャ画像とデプス画像のみを用いて表示画像を生成するようにしてもよい。この場合、第1レイヤに対して接続情報の削除の代わりに、オクルージョン処理が行われる。
また、上述した説明では、3Dモデル生成部284は、不連続検出部283において検出された不連続画素に対応するサンプリング点との接続を表す接続情報を削除したが、コンテンツサーバ12から伝送されてくる三角形パッチ有効無効情報(詳細は後述する)に基づいて接続情報を削除するようにしてもよい。この場合、不連続検出部283は設けられない。
(三角形パッチ有効無効情報の説明)
図29は、このような場合にコンテンツサーバ12から伝送されてくる三角形パッチ有効無効情報を説明する図である。
図29の例では、第1レイヤのサンプリング点461の数が12個である。従って、隣接する3つのサンプリング点461を頂点とする三角形パッチ462の数は、12個である。
この場合、コンテンツサーバ12は、不連続検出部283と同様に、不連続画素を検出する。そして、コンテンツサーバ12は、その不連続画素に対応するサンプリング点を頂点とする三角形パッチ462を無効(OFF)に設定し、不連続画素に対応するサンプリング点を含まない三角形パッチ462を有効(ON)に設定する。
コンテンツサーバ12は、各三角形パッチ462の有効または無効を示す三角形パッチ有効無効情報を生成し、メタデータに含める。
ホームサーバ13aの3Dモデル生成部284は、三角形パッチ有効無効情報に基づいて、無効の三角形パッチの頂点を構成するサンプリング点どうしの接続を表す接続情報を削除する。その結果、三角形パッチ有効無効情報が無効を示す三角形パッチは、描画されない。
なお、三角形パッチは、右端および下端のサンプリング点を除いて、各サンプリング点に対して2個ずつ生成される。また、三角形パッチ有効無効情報は、三角形パッチの有効または無効を示す1ビットの情報である。従って、全ての三角形パッチの三角形パッチ有効無効情報のビット数は、第1レイヤのテクスチャ画像の水平方向の画素数をwidthとし、垂直方向の画素数をheightとすると、(width-1)*(height-1)*2ビットである。
三角形パッチ有効無効情報は、ロスレス圧縮または非圧縮で、コンテンツサーバ12からホームサーバ13aに伝送される。なお、三角形パッチ有効無効情報は、デプス画像のCb,Cr値として配置されてもよい。
<第2実施の形態>
第1実施の形態では、低解像度符号化ストリーム、および、視聴者の視線に近い3つの選択面に対応する高解像度符号化ストリームに基づいて、表示画像が生成される。従って、例えば、視聴者の視線方向が急激に変化したり、大きく変化したりした場合に、表示画像内の低解像度領域の割合が大きくなり、画質が低下する。これを防ぐためには、例えば、選択面の数を増やしたり、低解像度符号化ストリームを用いずに、全ての面の高解像度符号化ストリームのみを用いて表示画像を生成したりすることが考えられる。
一方で、低解像度符号化ストリームおよび高解像度符号化ストリームの復号およびレンダリングは、非常に負荷の大きな処理である。そのため、ホームサーバ13の処理能力等により、各符号化ストリームの復号およびレンダリングが間に合わず、表示画像の全部または一部の非表示、フリーズ、または更新の遅延が発生し、画質が低下するおそれがある。特に、上述したように選択面の数を増やしたり、高解像度符号化ストリームのみを用いて表示画像を生成したりすると、符号化ストリームの復号およびレンダリングの遅延による画質の低下が発生する可能性が高くなる。
そこで、第2実施の形態は、必要に応じて符号化ストリーム間で優先度をつけて各符号化ストリームの復号およびレンダリングを行うことにより、ホームサーバ13の負荷を軽減しつつ、表示画像の画質の低下を抑制するものである。
(ホームサーバの第2実施の形態の構成例)
図30は、図1のホームサーバ13の第2実施の形態であるホームサーバ13b(画像処理装置)の構成例を示すブロック図である。
図30に示す構成のうち、図19の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図30のホームサーバ13bは、カメラ13A、受け取り部231、ストレージ232、受け取り部233、描画部236、視線検出部501、および3Dモデル生成部502(画像生成部)により構成される。ホームサーバ13bは、図19のホームサーバ13aと比較して、視線検出部234および3Dモデル生成部235の代わりに、視線検出部501および3Dモデル生成部502が設けられている点が異なる。3Dモデル生成部502は、優先度設定部511、ML3Dモデル生成部512-1乃至512-6、および低解像度3Dモデル生成部513により構成される。
視線検出部501は、図19の視線検出部234と同様に、視聴者の視線方向の決定、視聴者の視聴位置の検出、並びに、視聴者の視野範囲の決定を行う。視線検出部501は、視聴者の視野範囲と視聴位置を描画部236に供給する。また、視線検出部501は、視聴者の視線方向と視聴位置を優先度設定部511に供給する。
優先度設定部511は、ストレージ232に記憶されているメタデータのうちの推奨視聴方向情報および顔メタデータ、視線検出部501から供給される視聴者の視聴位置および視線方向、図示せぬ音声処理部から供給される音源情報、並びに、ML3Dモデル生成部512-1乃至512-6から供給される画像中の色情報の分布に基づいて、各符号化ストリームの復号およびレンダリングを行う優先度を設定する。優先度設定部511は、各符号化ストリームに対する優先度を、それぞれ対応するML3Dモデル生成部512-1乃至512-6および低解像度3Dモデル生成部513に供給する。
また、優先度設定部511は、各面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。優先度設定部511は、読み出された第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、面ごとにML3Dモデル生成部512-1乃至512-6に供給する。また、優先度設定部511は、低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、低解像度3Dモデル生成部513に供給する。
ML3Dモデル生成部512-1乃至512-6は、図19のML3Dモデル生成部241-1乃至241-3と同様に、それぞれ対応する面の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する。例えば、ML3Dモデル生成部512-1は、+X面81を含む面の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する。ML3Dモデル生成部512-2は、-X面82を含む面の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する。ML3Dモデル生成部512-3は、+Y面83を含む面の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する。ML3Dモデル生成部512-4は、-Y面84を含む面の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する。ML3Dモデル生成部512-5は、+Z面85を含む面の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する。ML3Dモデル生成部512-6は、-Z面86を含む面の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する。そして、ML3Dモデル生成部512-1乃至512-6は、第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを描画部236に供給する。
ただし、ML3Dモデル生成部512-1乃至512-6は、ML3Dモデル生成部241-1乃至241-3と異なり、後述するように、各高解像度符号化ストリームの復号およびレンダリングを行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。また、ML3Dモデル生成部512-1乃至512-6は、復号した第1レイヤテクスチャストリームおよび第2レイヤテクスチャストリームのピクチャの色情報の分布を検出し、検出結果を優先度設定部511に供給する。
なお、以下、ML3Dモデル生成部512-1乃至512-6を個々に区別する必要がない場合、単にML3Dモデル生成部512という。
低解像度3Dモデル生成部513は、図19のホームサーバ13aの低解像度3Dモデル生成部242と同様に、低解像度テクスチャ画像の3次元データを生成する。低解像度3Dモデル生成部513は、低解像度テクスチャ画像の3次元データを描画部236に供給する。
ただし、低解像度3Dモデル生成部513は、低解像度3Dモデル生成部242と異なり、後述するように、低解像度符号化ストリームの復号およびレンダリングを行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。
(ML3Dモデル生成部の構成例)
図31は、図30のML3Dモデル生成部512の構成例を示すブロック図である。
図30に示す構成のうち、図20の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図31のML3Dモデル生成部512は、バッファ262、バッファ263、レンダリング部264、復号部265、バッファ266、バッファ267、レンダリング部268、復号部531、および復号部532により構成される。ML3Dモデル生成部512は、図20のML3Dモデル生成部241と比較して、復号部261および復号部265の代わりに、復号部531および復号部532が設けられている点が異なる。復号部531は、デコーダ541およびデコーダ542により構成される。復号部532は、デコーダ551およびデコーダ552により構成される。
復号部531のデコーダ541は、図20のデコーダ271と同様に、優先度設定部511から供給される第1レイヤテクスチャストリームを復号し、第1レイヤのテクスチャ画像を生成し、第1レイヤのテクスチャ画像をバッファ262に蓄積する。
ただし、デコーダ541は、デコーダ271と異なり、後述するように、第1レイヤテクスチャストリームの復号を行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。また、デコーダ541は、復号したピクチャの色情報の分布を検出し、検出結果を図30の優先度設定部511に供給する。
復号部531のデコーダ542は、図20のデコーダ272と同様に、優先度設定部511から供給される第1レイヤデプスストリームを復号し、第1レイヤのデプス画像を生成し、第1レイヤのデプス画像をバッファ263に蓄積する。
ただし、デコーダ542は、デコーダ272と異なり、後述するように、第1レイヤデプスストリームの復号を行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。
復号部532のデコーダ551は、図20のデコーダ291と同様に、優先度設定部511から供給される第2レイヤテクスチャストリームを復号し、第2レイヤのテクスチャ画像を生成し、第2レイヤのテクスチャ画像をバッファ266に蓄積する。
ただし、デコーダ551は、デコーダ291と異なり、後述するように、第2レイヤテクスチャストリームの復号を行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。また、デコーダ551は、復号したピクチャの色情報の分布を検出し、検出結果を図30の優先度設定部511に供給する。
復号部532のデコーダ552は、図20のデコーダ292と同様に、優先度設定部511から供給される第2レイヤデプスストリームを復号し、第2レイヤのデプス画像を生成し、第2レイヤのデプス画像をバッファ267に蓄積する。
ただし、デコーダ552は、デコーダ292と異なり、後述するように、第2レイヤデプスストリームの復号を行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。
(低解像度3Dモデル生成部の構成例)
図32は、図31の低解像度3Dモデル生成部513の構成例を示すブロック図である。
図32に示す構成のうち、図21の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図32の低解像度3Dモデル生成部513は、バッファ322、バッファ323、レンダリング部324、および復号部571により構成される。低解像度3Dモデル生成部513は、図21の低解像度3Dモデル生成部242と比較して、復号部321の代わりに、復号部571が設けられている点が異なる。復号部571は、デコーダ581およびデコーダ582により構成される。
復号部571のデコーダ581は、図21のデコーダ331と同様に、優先度設定部511から供給される低解像度テクスチャストリームを復号し、低解像度テクスチャ画像を生成し、低解像度テクスチャ画像をバッファ322に蓄積する。
ただし、デコーダ581は、デコーダ331と異なり、後述するように、低解像度テクスチャストリームの復号を行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。
復号部571のデコーダ582は、図21のデコーダ332と同様に、優先度設定部511から供給される低解像度デプスストリームを復号し、低解像度デプス画像を生成し、低解像度デプス画像をバッファ323に蓄積する。
ただし、デコーダ582は、デコーダ332と異なり、後述するように、低解像度デプスストリームの復号を行う際に、優先度設定部511により設定された優先度に従ってピクチャの間引き処理を行う。
(ホームサーバの処理の説明)
図33は、図30のホームサーバ13bの再生処理を説明するフローチャートである。この再生処理は、例えば、コンテンツサーバ12から伝送されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータが伝送されてきたとき、開始される。
ステップS101乃至S103において、図27のステップS41乃至S43と同様の処理が実行される。
ステップS104において、視線検出部501は、図27のステップS44の処理と同様に、受け取り部233から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデル座標系における視聴者の視線方向を決定する。視線検出部501は、視聴者の視線方向を優先度設定部511に供給する。
ステップS105において、カメラ13Aは、ヘッドマウントディスプレイ15に付されたマーカ15Aを撮影し、その結果得られる撮影画像を視線検出部234に供給する。
ステップS106において、視線検出部501は、カメラ13Aから供給されるマーカ15Aの撮影画像に基づいて、3Dモデル座標系における視聴位置を検出し、描画部236および優先度設定部511に供給する。
ステップS107において、図27のステップS48の処理と同様に、視線検出部501は、3Dモデル座標系における視聴位置と視線方向に基づいて、3Dモデル座標系における視聴者の視野範囲を決定し、描画部236に供給する。
ステップS108において、ホームサーバ13bは、表示画像生成処理を行う。表示画像生成処理の詳細は、図34を参照して後述する。
ステップS109において、図27のステップS54の処理と同様に、描画部236は、表示画像を図1の変換装置14に伝送する。
ステップS110において、優先度設定部511は、符号化ストリームの再生が終了したか否かを判定する。優先度設定部511は、ストレージ232に未再生の符号化ストリームが残っている場合、符号化ストリームの再生が終了していないと判定し、処理はステップS103に戻る。
その後、ステップS110において、符号化ストリームの再生が終了したと判定されるまで、ステップS103乃至S110の処理が繰り返し実行される。
一方、ステップS110において、優先度設定部511は、ストレージ232に未再生の符号化ストリームが残っていない場合、符号化ストリームの再生が終了したと判定し、再生処理は終了する。
図34は、図33のステップS108においてホームサーバ13bにより行われる表示画像生成処理の詳細を説明するフローチャートである。
ステップS131において、優先度設定部511は、レンダリングのアンダーフローが発生しそうか否かを判定する。例えば、優先度設定部511は、各ML3Dモデル生成部512のバッファ262、バッファ263、バッファ266、およびバッファ267の蓄積量を確認する。優先度設定部511は、全てのバッファの蓄積量が所定の閾値以上である場合、レンダリングのアンダーフローが発生しそうでないと判定し、処理はステップS132に進む。すなわち、各高解像度符号化ストリームの復号が順調に行われており、各高解像度符号化ストリームのレンダリングの遅延の発生が予測されない場合、処理はステップS132に進む。
ステップS132において、優先度設定部511は、優先度をデフォルト値に設定する。
図35は、優先度とピクチャの間引き方法の例を示している。図内の四角は符号化ストリームの各GOP(Group of Picture)内のピクチャを示している。黒地にIの文字が示されているピクチャは、他のピクチャとの依存関係がなく、単独で復号されるIピクチャを示している。斜線およびPrの文字が示されているピクチャは、フレーム間予測を用いて復号されるPピクチャのうち、他のピクチャから参照される参照Pピクチャを示している。白地にPnの文字が示されているピクチャは、Pピクチャのうち他のピクチャから参照されない非参照Pピクチャを示している。
例えば、最も高い優先度Aに設定されている符号化ストリームにおいては、ピクチャの間引きは行われない。すなわち、符号化ストリームの全てのピクチャの再生が行われる。例えば、優先度Aに設定されている符号化ストリームから生成される3次元データのフレームレートは、60fps(frame per second)となる。
2番目に高い優先度Bに設定されている符号化ストリームにおいては、符号化ストリームの各GOP内の非参照Pピクチャが間引かれる。すなわち、符号化ストリームのIピクチャおよび参照Pピクチャのみが再生される。例えば、優先度Bに設定されている符号化ストリームから生成される3次元データのフレームレートは、30fpsとなる。
3番目に高い優先度Cに設定されている符号化ストリームにおいては、符号化ストリームの各GOP内の参照Pピクチャおよび非参照Pピクチャが間引かれる。すなわち、符号化ストリームのIピクチャのみが再生される。例えば、優先度Cに設定されている符号化ストリームから生成される3次元データのフレームレートは、1fpsとなる。
最も低い優先度Dに設定されている符号化ストリームにおいては、GOP内の全てのピクチャが間引かれる。すなわち、符号化ストリームの再生が行われず、フレームの更新が行われない。従って、優先度Dに設定されている符号化ストリームは、表示画像の生成に用いられない。
このように、優先度が下がるにつれて、非参照Pピクチャ、参照Pピクチャ、Iピクチャの順に間引くピクチャが追加される。
例えば、優先度設定部511は、優先度をデフォルト値に設定する場合、全てのレイヤの全ての面の高解像度符号化ストリームを優先度Aに設定する。すなわち、全ての高解像度符号化ストリームが、ピクチャを間引かずに再生される。一方、優先度設定部511は、低解像度符号化ストリームを優先度Dに設定する。すなわち、低解像度符号化ストリームの再生が停止される。
優先度設定部511は、設定した優先度を、各ML3Dモデル生成部512のデコーダ541、デコーダ542、デコーダ551、およびデコーダ552、並びに、低解像度3Dモデル生成部513のデコーダ581およびデコーダ582に供給する。
ステップS133において、優先度設定部511は、次に再生を行う期間(以下、再生対象期間という)内の低解像度テクスチャストリームと低解像度デプスストリームをストレージ232から読み出し、低解像度3Dモデル生成部513に供給する。また、優先度設定部511は、次の再生対象期間内の各面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ストレージ232から読み出す。優先度設定部511は、読み出した各面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、それぞれ対応するML3Dモデル生成部512に供給する。また、優先度設定部511は、各面に対応する視点位置情報および面情報をストレージ232から読み出し、描画部236に供給する。
なお、再生対象期間は、例えば、所定の数のGOP単位で設定される。
ステップS134において、図27のステップS50の処理と同様に、各ML3Dモデル生成部512は、面ごとに、第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する3次元データ生成処理を行う。このとき、各ML3Dモデル生成部512は、各高解像度符号化ストリームのピクチャを間引くことなく、3次元データ生成処理を行う。
なお、低解像度符号化ストリームは優先度Dに設定されているため、低解像度テクスチャ画像の3次元データの生成処理は行われない。
ステップS135において、描画部236は、各ML3Dモデル生成部512から供給される第1レイヤおよび第2レイヤの3次元データと、視線検出部234から供給される視点位置情報および面情報とに基づいて、3Dモデル座標系において、第1レイヤおよび第2レイヤのテクスチャ画像の三角形パッチ描画を行う。
このとき、低解像度テクスチャ画像の三角形パッチ描画は行われない。
ステップS136において、図27のステップS53の処理と同様に、表示画像が生成される。上述したように、レンダリングのアンダーフローが発生しそうでないと判定された場合、低解像度テクスチャ画像の3次元データの生成処理は行われない。そして、高解像度の第1レイヤまたは第2レイヤのテクスチャ画像の3次元データのみを用いて表示画像が生成される。従って、視聴者の視野範囲の表示画像の全ての領域が高解像度となり、画質が向上する。
その後、表示画像生成処理は終了する。
一方、ステップS131において、優先度設定部511は、例えば、各ML3Dモデル生成部512のバッファ262、バッファ263、バッファ266、およびバッファ267のうち、少なくとも1つのバッファの蓄積量が所定の閾値未満である場合、レンダリングのアンダーフローが発生しそうであると判定し、処理はステップS137に進む。すなわち、少なくとも1つの高解像度符号化ストリームの復号が間に合わず、当該高解像度符号化ストリームのレンダリングの遅延の発生が予測される場合、処理はステップS137に進む。
ステップS137において、優先度設定部511は、優先度設定処理を行う。優先度設定処理の詳細は、図36および図37を参照して後述するが、各レイヤの各面の高解像度符号化ストリームの優先度が、優先度A乃至Dのいずれかに設定される。
なお、視聴者の視野範囲と重なる面およびレイヤ、並びに、視聴者が見る可能性が高い面およびレイヤの高解像度符号化ストリームの優先度が高く設定される。一方、視聴者が見る可能性が低い面およびレイヤの高解像度符号化ストリームの優先度が低く設定される。また、低解像度符号化ストリームの優先度が、最も高い優先度Aに設定される。
ステップS138において、ステップS133と同様の処理が行われる。
ステップS139において、各ML3Dモデル生成部512は、面およびレイヤごとに、優先度に従って段階的にピクチャを間引きながら、3次元データを生成する。具体的には、図27のステップS50の処理と同様に、各ML3Dモデル生成部512は、面ごとに、第1レイヤおよび第2レイヤのテクスチャ画像の3次元データを生成する3次元データ生成処理を行う。
このとき、各ML3Dモデル生成部512は、図35を参照して上述したように、優先度設定部511により設定された優先度に従って、各高解像度符号化ストリームのGOP内のピクチャを間引きながら、3次元データを生成する。具体的には、各ML3Dモデル生成部512のデコーダ541、デコーダ542、デコーダ551、およびデコーダ552が、間引く対象となるピクチャの復号をスキップすることにより、ピクチャを間引く。そして、優先度が低い高解像度符号化ストリームほど、復号するピクチャを間引く量が大きくなる。
なお、各ML3Dモデル生成部512は、全てのピクチャの復号を行う一方、間引く対象となるピクチャのレンダリングをスキップすることにより、ピクチャを間引くようにしてもよい。具体的には、各ML3Dモデル生成部512のデコーダ541、デコーダ542、デコーダ551、およびデコーダ552は、全てのピクチャの復号を実施する。一方、各ML3Dモデル生成部512のレンダリング部264およびレンダリング部268は、間引く対象となるピクチャのレンダリングをスキップすることにより、ピクチャを間引く。そして、優先度が低い高解像度符号化ストリームほど、レンダリングするピクチャを間引く量が大きくなる。
ステップS140において、図27のステップS51の処理と同様に、低解像度テクスチャ画像の3次元データが生成され、描画部236に供給される。このとき、低解像度符号化ストリームのピクチャが間引かれることなく、3次元データが生成される。
ステップS141において、図27のステップS52の処理と同様に、三角形パッチ描画が行われる。
ステップS142において、図27のステップS53の処理と同様に、表示画像が生成される。このとき、低解像度テクスチャ画像の3次元データ、並びに、優先度A乃至Cに設定されている面およびレイヤの高解像度テクスチャ画像の3次元データを用いて、表示画像が生成される。
ここで、上述したように、レンダリングのアンダーフローが発生しそうな場合、低解像度符号化ストリーム、視聴者の視野範囲と重なる面およびレイヤの高解像度符号化ストリーム、並びに、視聴者が見る可能性の高い面およびレイヤの高解像度符号化ストリームの優先度が高く設定される。従って、視聴者の視野範囲において高解像度領域の割合が高くなるとともに、視野範囲の高解像領域の更新頻度が高く維持される。また、視聴者の視線が想定外の動きをした場合にも、高解像度領域の画像か更新頻度が高い低解像度領域の画像かを視聴者に見せることができる。さらに、ホームサーバ13bの負荷が軽減され、符号化ストリームの再生の遅延が抑制され、表示画像のリアルタイム性が保証される。その結果、視聴者の視野範囲の表示画像の画質の低下が抑制され、ユーザエクスペリエンスの低下が抑制される。
その後、表示画像生成処理は終了する。
図36は、図34のステップS137において優先度設定部511により行われる優先度設定処理の詳細を説明するフローチャートである。
また、図37は、優先度を設定するためのスコアの算出に用いるスコア算出テーブルの例を示している。スコア算出テーブルは、加算要因、基準値、および重み係数の項目を含む。後述するように、優先度設定部511は、図37のスコア算出テーブルに基づいて、スコアの算出を行う。
ステップS161において、優先度設定部511は、スコアを算出する面を選択する。優先度設定部511は、第1レイヤの6つの面および第2レイヤの6つの面の中から、まだスコアを算出していない面を1つ選択する。
なお、以下、優先度設定部511により選択された面を設定対象面という。
ステップS162において、優先度設定部511は、ストレージ232に記憶されているメタデータのうちの推奨視聴方向情報に基づいて、設定対象面が推奨視聴方向に設定されているか否かを判定する。優先度設定部511は、設定対象面が推奨視聴方向の面である場合、設定対象面が推奨視聴方向に設定されていると判定し、処理はステップS163に進む。
ステップS163において、優先度設定部511は、推奨視聴方向に基づくスコアを加算する。
例えば、図37のスコア算出テーブルにおいて、設定対象面が推奨視聴方向に設定されている場合の基準値が1に設定され、推奨視聴方向に設定されていない場合の基準値が0に設定されている。また、重み係数が10に設定されている。
なお、基準値に重み係数を乗じた値がスコアに加算される。従って、設定対象面が推奨視聴方向に設定されている場合、基準値である1に重み係数である10を乗じた値である10がスコアに加算される。一方、設定対象面が推奨視聴方向に設定されていない場合、スコアは加算されない。
その後、処理はステップS164に進む。
一方、ステップS162において、設定対象面が推奨視聴方向に設定されていないと判定された場合、ステップS163の処理はスキップされ、スコアの加算が行われずに、処理はステップS164に進む。
ステップS164において、優先度設定部511は、視聴者の視野に基づくスコアを加算する。例えば、優先度設定部511は、視聴者の視聴位置から視線方向に延びる視線が設定対象面と交わる場合、設定対象面が視聴者の視野の中央であると判定する。また、優先度設定部511は、設定対象面が視聴者の視線と交わる面と隣接する面である場合、設定対象面が視聴者の視野の周辺であると判定する。さらに、優先度設定部511は、設定対象面が視聴者の視線と交わる面、および、視線と交わる面に隣接する面のいずれでもない場合、設定対象面が視聴者の視野外であると判定する。
例えば、図8のBの+Y面83を含む面が視聴者の視線と交わる場合、+Y面83を含む面が視野の中央となる。+X面81、-X面82、+Z面85、および-Z面86のうちいずれかを含む面が視野の周辺となる。-Y面84を含む面が視野外となる。
一方、図37のスコア算出テーブルにおいて、設定対象面が視野中央である場合の基準値が2に設定されており、視野周辺である場合の基準値が1に設定されており、視野外である場合の基準値が0に設定されている。また、重み係数が5に設定されている。従って、設定対象面が視野中央である場合、スコアが10だけ加算される。設定対象面が視野周辺である場合、スコアが5だけ加算される。設定対象面が視野外である場合、スコアは加算されない。
ステップS165において、優先度設定部511は、レイヤに基づくスコアを加算する。
例えば、図37のスコア算出テーブルにおいて、第1レイヤの基準値が2に設定され、第2レイヤの基準値が1に設定され、それ以外のレイヤの基準値が0に設定されている。また、重み係数が4に設定されている。従って、設定対象面のレイヤが第1レイヤである場合、スコアが8だけ加算される。設定対象面のレイヤが第2レイヤである場合、スコアが4だけ加算される。設定対象面のレイヤがそれ以外のレイヤである場合、スコアは加算されない。
なお、現在の例では、第3レイヤ以降のレイヤが設定されていないため、設定対象面のレイヤがそれ以外のレイヤになる場合はない。
ステップS166において、優先度設定部511は、設定対象面に人物が存在するか否かを判定する。例えば、優先度設定部511は、ストレージ232に記憶されているメタデータのうちの顔メタデータに基づいて、再生対象期間内の設定対象面のテクスチャストリームにおいて人の顔が出現する否かを検出する。優先度設定部511は、人の顔が出現する場合、設定対象面に人物が存在すると判定し、処理はステップS167に進む。
ステップS167において、優先度設定部511は、人物に基づくスコアを加算する。
例えば、図37のスコア算出テーブルにおいて、視聴者に注目される可能性が高いオブジェクトとして注目オブジェクトA乃至Cが設定されている。そのうち、注目オブジェクトAは人物であり、人物が存在する場合の基準値が1に設定され、人物が存在しない場合の基準値が0に設定されている。また、重み係数が3に設定されている。従って、設定対象面に人物が存在する場合、スコアが3だけ加算される。設定対象面に人物が存在しない場合、スコアは加算されない。
すなわち、視聴者は人物が存在する方向を見る可能性が高いため、人物が存在する面およびレイヤに対応する符号化ストリームの優先度が高く設定される。
その後、処理はステップS168に進む。
一方、ステップS166において、優先度設定部511は、再生対象期間内の設定対象面のテクスチャストリームにおいて人の顔が出現しない場合、設定対象面に人物が存在しないと判定する。そして、ステップS167の処理はスキップされ、スコアの加算は行われずに、処理はステップS168に進む。
ステップS168において、優先度設定部511は、音源情報を取得する。具体的には、優先度設定部511は、再生対象期間の所定の期間前(例えば、1フレーム前)の表示画像と同期して再生される音声の音源情報を、図示せぬ音声処理部から取得する。音源情報は、例えば、各音源の3Dモデル座標系における位置および音量を示す。
ステップS169において、優先度設定部511は、設定対象面に音量が大きな音源が存在するか否かを判定する。例えば、優先度設定部511は、取得した音源情報に基づいて、音量が所定の閾値以上の音源を抽出する。優先度設定部511は、視聴者の視聴位置を基準にして、抽出した音源が設定対象面の方向に存在する場合、設定対象面に音量が大きな音源が存在すると判定し、処理はステップS170に進む。
ステップS170において、優先度設定部511は、音源に基づくスコアを加算する。
例えば、図37のスコア算出テーブルにおいて、注目オブジェクトBとして音量が大きな音源が設定されている。そして、音量が大きな音源が存在する場合の基準値が1に設定され、存在しない場合の基準値が0に設定されている。また、重み係数が2に設定されている。従って、設定対象面に音量が大きな音源が存在する場合、スコアが2だけ加算される。設定対象面に音量が大きな音源が存在しない場合、スコアは加算されない。
すなわち、視聴者は大きな音がする方向を見る可能性が高いため、音量が大きな音源が存在する面およびレイヤに対応する符号化ストリームの優先度が高く設定される。
その後、処理はステップS171に進む。
一方、ステップS169において、設定対象面に音量が大きな音源が存在しないと判定された場合、ステップS170の処理はスキップされ、スコアの加算は行われずに、処理はステップS171に進む。
ステップS171において、優先度設定部511は、画像中の色情報の分布を取得する。具体的には、優先度設定部511は、設定対象面のテクスチャストリームの復号を行うML3Dモデル生成部512のデコーダ541またはデコーダ551から、設定対象面のテクスチャストリームの復号済みのピクチャのうち時間軸上で最も新しいピクチャの色情報の分布を取得する。
ステップS172において、優先度設定部511は、設定対象面に視覚的に目立つ被写体が存在するか否かを判定する。例えば、優先度設定部511は、取得した色情報の分布において、周囲と比べて特徴のある色領域の検出を行う。なお、特徴のある色領域の検出方法には、任意の方法を採用することができる。そして、優先度設定部511は、特徴のある色領域が検出された場合、設定対象面に視覚的に目立つ被写体が存在すると判定し、処理はステップS173に進む。
ステップS173において、優先度設定部511は、視覚的に目立つ被写体に基づくスコアを加算する。
例えば、図37のスコア算出テーブルにおいて、注目オブジェクトCとして視覚的に目立つ被写体が設定されている。そして、視覚的に目立つ被写体が存在する場合の基準値が1に設定され、存在しない場合の基準値が0に設定されている。また、重み係数が1に設定されている。従って、設定対象面に視覚的に目立つ被写体が存在する場合、スコアが1だけ加算される。設定対象面に視覚的に目立つ被写体が存在しない場合、スコアは加算されない。
すなわち、視聴者は視覚的に目立つ被写体が存在する方向を見る可能性が高いため、視覚的に目立つ被写体が存在する面およびレイヤに対応する符号化ストリームの優先度が高く設定される。
その後、処理はステップS174に進む。
一方、ステップS172において、設定対象面に視覚的に目立つ被写体が存在しないと判定された場合、ステップS173の処理はスキップされ、スコアの加算は行われずに、処理はステップS174に進む。
ステップS174において、優先度設定部511は、全ての面のスコアを算出したか否かを判定する。まだ全ての面のスコアを算出していないと判定された場合、処理はステップS161に戻る。
その後、ステップS174において、全ての面のスコアを算出したと判定されるまで、ステップS161乃至S174の処理が繰り返し実行される。
一方、ステップS174において、全ての面のスコアを算出したと判定された場合、処理はステップS175に進む。
ステップS175において、優先度設定部511は、各符号化ストリームの優先度を設定する。例えば、優先度設定部511は、低解像度符号化ストリームの優先度を優先度Aに設定する。すなわち、低解像度符号化ストリームは、視聴者の視野範囲を含む全ての方向をカバーするため、高解像度符号化ストリームより優先度が高く設定され、最優先で復号およびレンダリングが行われる。
また、優先度設定部511は、第1レイヤの6つの面および第2レイヤの6つの面の12種類の面をスコアの高い順に並べ、スコアが上位の25%に含まれる面に対応する高解像度符号化ストリームを優先度Aに設定する。優先度設定部511は、スコアが次の上位の25%に含まれる面に対応する高解像度符号化ストリームを優先度Bに設定する。優先度設定部511は、スコアが下位の50%に含まれる面に対応する高解像度符号化ストリームを優先度Dに設定する。
これにより、視聴者の視野範囲と重なる面およびレイヤに対応する高解像度符号化ストリーム、並びに、視聴者が見る可能性が高い面およびレイヤに対応する高解像符号化ストリームの優先度が高く設定される。一方、視聴者が見る可能性が低い面およびレイヤに対応する高解像度符号化ストリームの優先度が低く設定される。
優先度設定部511は、各高解像度符号化ストリームに対する優先度を、それぞれ対応するML3Dモデル生成部512のデコーダ541、デコーダ542、デコーダ551、またはデコーダ552に供給する。また、優先度設定部511は、低解像度符号化ストリームの優先度を、低解像度3Dモデル生成部513のデコーダ581およびデコーダ582に供給する。
その後、優先度設定処理は終了する。
<第3実施の形態>
第3実施の形態では、第2実施の形態と同様に、優先度をつけて各符号化ストリームの復号およびレンダリングが行われる。ただし、第3実施の形態では、低解像度符号化ストリームを用いずに、高解像度符号化ストリームのみを用いて表示画像の生成が行われる。
(ホームサーバの第3実施の形態の構成例)
図38は、図1のホームサーバ13の第3実施の形態であるホームサーバ13c(画像処理装置)の構成例を示すブロック図である。
図38に示す構成のうち、図30の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図38のホームサーバ13cは、カメラ13A、受け取り部231、ストレージ232、受け取り部233、描画部236、視線検出部501、および3Dモデル生成部601(画像生成部)により構成される。ホームサーバ13cは、図30のホームサーバ13bと比較して、3Dモデル生成部502の代わりに、3Dモデル生成部601が設けられている点が異なる。3Dモデル生成部601は、図30の3Dモデル生成部502と比較して、低解像度3Dモデル生成部513が設けられていない点が異なる。
なお、ホームサーバ13cの再生処理は、図33乃至図37を参照して上述したホームサーバ13bの再生処理とほぼ同様である。
ただし、ホームサーバ13cの3Dモデル生成部601では、第1レイヤおよび第2レイヤのテクスチャ画像の3次元データのみが生成され、低解像度テクスチャ画像の3次元データは生成されない。従って、3Dモデル生成部601は、図30の3Dモデル生成部502と比較して、低解像度符号化ストリームの復号およびレンダリングが省略される分だけ負荷が軽減される。そして、3Dモデル生成部601は、負荷が軽減された分だけ、高解像度符号化ストリームの復号およびレンダリングの処理量を増やすことができる。
そこで、例えば、上述した図36のステップS175において、12種類の面をスコアの高い順に並べ、スコアが上位の25%に含まれる面に対応する高解像度符号化ストリームが優先度Aに設定される。スコアが次の上位の25%に含まれる面に対応する高解像度符号化ストリームが優先度Bに設定される。スコアが次の上位の25%に含まれる面に対応する高解像度符号化ストリームが優先度Cに設定される。スコアが下位の25%に含まれる面に対応する高解像度符号化ストリームが優先度Dに設定される。すなわち、ホームサーバ13bの再生処理と比較して、優先度Cに設定される高解像度符号化ストリームの割合が増加し、優先度Dに設定される高解像度符号化ストリームの割合が減少する。
そして、上述した図34のステップS142において、描画部236は、高解像度の第1レイヤおよび第2レイヤのテクスチャ画像の3次元データのみを用いて表示画像を生成する。このとき、描画部236は、優先度Dに設定された高解像度符号化ストリームに基づく高解像度テクスチャ画像の3次元データも用いて表示画像を生成する。例えば、描画部236は、優先度Dに設定された高解像度符号化ストリームに対応する表示画像内の領域の画像を優先度Dに設定される直前の状態で更新を停止し、静止画とする。
これにより、表示画像内が全て高解像度領域となり、画質が向上する。また、視聴者の視野範囲において更新頻度が高くなるとともに、視聴者が見る可能性が低い領域の更新頻度が低くなる。さらに、ホームサーバ13cの負荷が軽減され、符号化ストリームの再生の遅延が抑制され、表示画像のリアルタイム性が保証される。その結果、視聴者の視野範囲の表示画像の画質の低下が抑制され、ユーザエクスペリエンスの低下が抑制される。
なお、第3実施の形態においては、コンテンツサーバ12において、低解像度符号化ストリームの生成処理を省略することが可能である。
<第4実施の形態>
(画像表示システムの第2実施の形態の構成例)
図39は、本開示を適用した画像表示システムの第2実施の形態の構成例を示すブロック図である。
図39に示す構成のうち、図1の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図39の画像表示システム700は、マルチカメラ11、コンテンツサーバ12、変換装置14、ヘッドマウントディスプレイ15、配信サーバ701、ネットワーク702、および再生装置703により構成される。画像表示システム700では、例えば、6つの面のうちの、視線に対応する1つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームのみが再生装置703に配信され、再生される。
具体的には、画像表示システム700の配信サーバ701は、コンテンツサーバ12から送信されてくる低解像度テクスチャストリームおよび低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを受け取り、記憶する。
また、配信サーバ701は、ネットワーク702を介して再生装置703と接続する。配信サーバ701は、再生装置703からの要求に応じて、記憶している低解像度テクスチャストリームおよび低解像度デプスストリーム、1つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びにメタデータを、ネットワーク702を介して再生装置703に伝送する。
なお、例えば、コンテンツサーバ12の処理能力、配信サーバ701の処理能力、ネットワーク702の負荷や構成等の要因により、配信サーバ701から再生装置703への各符号化ストリームの伝送が遅延する場合が想定される。この場合、例えば、配信サーバ701は、QoS(Quality of Service)等の技術を用いて、再生装置703におけるリアルタイム制を確保するように、優先度をつけて各符号化ストリームの伝送を行う。
再生装置703(画像処理装置)は、配信サーバ701に低解像度テクスチャストリーム、低解像度デプスストリーム、およびメタデータを、ネットワーク702を介して要求し、その要求に応じて伝送されてくる低解像度テクスチャストリーム、低解像度デプスストリーム、およびメタデータを受け取る。
また、再生装置703は、カメラ13Aを内蔵する。再生装置703は、ホームサーバ13aと同様に、3Dモデル座標系における視聴位置を検出し、3Dモデル座標系における視聴者の視線方向と視野範囲を決定する。
そして、再生装置703は、3Dモデル座標系における視聴位置および視線方向、並びに、メタデータに含まれる第1レイヤのテーブルに基づいて、第1レイヤの6つの面のうちの、視線に最も近い視線ベクトルに対応する1つの面を選択面に決定する。再生装置703は、1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを、ネットワーク702を介して要求する。再生装置703は、その要求に応じて伝送されてくる1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを受け取る。
再生装置703は、低解像度テクスチャストリームおよび低解像度デプスストリーム、並びに、1つの選択面に対応する第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを用いて表示画像を生成する。この場合の再生装置703の表示画像を生成する処理は、選択面の数が1つである点を除いて、ホームサーバ13aの処理と同様であるので、説明は省略する。再生装置703は、図示せぬHDMIケーブルを介して表示画像を変換装置14に伝送する。
或いは、例えば、再生装置703は、配信サーバ701に低解像度テクスチャストリーム、低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに、メタデータを、ネットワーク702を介して要求する。再生装置703は、その要求に応じて伝送されてくる低解像度テクスチャストリーム、低解像度デプスストリーム、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに、メタデータを受け取る。
再生装置703は、低解像度テクスチャストリームおよび低解像度デプスストリーム、並びに、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを用いて、図30のホームサーバ13bと同様の処理により、表示画像を生成する。この場合の再生装置703の表示画像を生成する処理は、ホームサーバ13bの処理と同様であるので、説明は省略する。再生装置703は、図示せぬHDMIケーブルを介して表示画像を変換装置14に伝送する。
或いは、例えば、再生装置703は、配信サーバ701に6つの面の第1レイヤテクスチャストリーム、第1レイヤデプストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに、メタデータを、ネットワーク702を介して要求する。再生装置703は、その要求に応じて伝送されてくる6つの面の第1レイヤテクスチャストリーム、第1レイヤデプストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリーム、並びに、メタデータを受け取る。
再生装置703は、6つの面の第1レイヤテクスチャストリーム、第1レイヤデプスストリーム、第2レイヤテクスチャストリーム、および第2レイヤデプスストリームを用いて、図30のホームサーバ13cと同様の処理により、表示画像を生成する。この場合の再生装置703の表示画像を生成する処理は、ホームサーバ13cの処理と同様であるので、説明は省略する。再生装置703は、図示せぬHDMIケーブルを介して表示画像を変換装置14に伝送する。
なお、この場合、コンテンツサーバ12において、低解像度符号化ストリームの生成処理を省略することが可能である。
また、例えば、再生装置703が、配信サーバ701からの符号化ストリームの伝送の遅延の発生が予測される場合に、ホームサーバ13bまたは13cと同様の処理により、優先度をつけて各符号化ストリームの復号およびレンダリングを行うようにしてもよい。そして、例えば、再生装置703が、設定した優先度に従って、配信サーバ701に符号化ストリームの送信を要求するようにしてもよい。これにより、例えば、優先度Dに設定された符号化ストリームの伝送が停止され、符号化ストリームの伝送量が抑制されることにより、符号化ストリームの伝送の遅延が回避される。その結果、表示画像のリアルタイム性が保証され、表示画像の画質の低下を抑制することができる。
<第5実施の形態>
(画像表示システムの第3実施の形態の構成例)
図40は、本開示を適用した画像表示システムの第3実施の形態の構成例を示すブロック図である。
図40の画像表示システム800は、送信部801および受信部802を備える。送信部801は、撮影部811、ストリーム生成部812、ストレージ813、および、伝送部814を備える。ストリーム生成部812は、形状データ生成部821、変換部822、および、符号化部823を備える。受信部802は、受け取り部841、ストレージ842、画像処理部843、描画部844、表示部845、カメラ846、および、視線検出部847を備える。画像処理部843は、復号部851および再構成部852を備える。
撮影部811は、複数の撮影カメラ(不図示)を備える。各撮影カメラは、受信部802において表示対象となるオブジェクト(以下、表示対象オブジェクトと称する)の周囲を取り囲むように配置され、複数の異なる視点(以下、撮影視点と称する)から表示対象オブジェクトを撮影する。撮影部811は、撮影の結果得られた複数の撮影視点からの視点画像である複数の撮影画像、および、各撮影画像の撮影視点に関する視点情報を含むメタデータ(以下、撮影視点メタデータと称する)を生成し、形状データ生成部821に供給する。
図41は、撮影視点メタデータの例を示している。撮影視点メタデータは、例えば、各撮影画像の撮影に用いられた撮影カメラを識別するためのID、並びに、各撮影カメラのカメラ座標系のワールド座標系に対する回転ベクトルおよび並進ベクトルを含む。
形状データ生成部821は、各撮影視点の撮影画像に基づいて、表示対象オブジェクトの3次元の形状を高解像度に表す高解像度形状データを生成する。形状データ生成部821は、各撮影視点の撮影画像、高解像度形状データ、および、撮影視点メタデータを変換部822に供給する。
変換部822は、各撮影視点の撮影画像、高解像度形状データ、および、撮影視点メタデータに基づいて、表示対象オブジェクトを複数の異なる視点(以下、伝送視点と称する)から見た視点画像である複数のテクスチャ画像および複数のデプス画像を生成する。なお、後述するように、伝送視点は必ずしも撮影視点と一致するとは限らない。
また、変換部822は、各テクスチャ画像および各デプス画像の伝送視点に関する視点情報を含むメタデータ(以下、伝送視点メタデータと称する)を生成する。さらに、変換部822は、高解像度形状データの解像度を下げた低解像度形状データを生成する。変換部822は、各伝送視点のテクスチャ画像、各伝送視点のデプス画像、低解像度形状データ、および、伝送視点メタデータを符号化部823に供給する。
なお、伝送視点メタデータは、例えば、各テクスチャ画像および各デプス画像を識別するためのID、各テクスチャ画像および各デプス画像の伝送視点に対応する仮想のカメラのカメラ座標系のワールド座標系に対する回転ベクトルおよび並進ベクトルを含む。
符号化部823は、各テクスチャ画像を伝送視点毎に圧縮符号化し、各伝送視点にそれぞれ対応する複数のテクスチャストリームを生成する。また、符号化部823は、各デプス画像を伝送視点毎に圧縮符号化し、各伝送視点にそれぞれ対応する複数のデプストリームを生成する。さらに、符号化部823は、低解像度形状データの圧縮符号化を行い、形状ストリームを生成する。符号化部823は、テクスチャストリーム、デプスストリーム、形状ストリーム、および、伝送視点メタデータをストレージ813に供給する。
ストレージ813は、符号化部823から供給される各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータを記憶する。
伝送部814は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータをストレージ813から読み出し、受信部802に送信する。
受信部802の受け取り部841は、送信部801から伝送されてくる各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータを受け取り、ストレージ842に供給する。
ストレージ842は、受け取り部841から供給される各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータを記憶する。
復号部851は、ストレージ842から各伝送視点のテクスチャストリームを読み出し、復号することにより、各伝送視点のテクスチャ画像を生成する。また、復号部851は、ストレージ842から各視点のデプスストリームを読み出し、復号することにより、各伝送視点のデプス画像を生成する。さらに、復号部851は、ストレージ842から形状ストリームを読み出し、復号することにより、低解像度形状データを生成する。復号部851は、各伝送視点のテクスチャ画像、各伝送視点のデプス画像、および、低解像度形状データを再構成部852に供給する。また、復号部851は、伝送視点メタデータをストレージ842から読み出し、再構成部852に供給する。
再構成部852は、各伝送視点のデプス画像および低解像度形状データに基づいて、高解像度形状データを生成する。このとき、再構成部852は、伝送視点メタデータ、視線検出部847から供給される仮想視点情報、および、外部から供給されるリソース情報に基づいて、必要に応じてデプス画像を間引きながら、高解像度形状データを生成する。
ここで、仮想視点とは、表示部845において表示する表示画像を生成する際の視点であり、例えば、表示部845を用いて表示画像を見る視聴者の視聴位置および視線方向に基づいて設定される。また、リソース情報は、画像処理部843および描画部844による再生処理に使用可能なハードウエアおよびソフトウエアのリソース(以下、再生リソースと称する)に関する情報を含む。再構成部852は、高解像度形状データを描画部844に供給する。
また、再構成部852は、伝送視点メタデータ、仮想視点情報およびリソース情報に基づいて、必要に応じてテクスチャ画像を間引き、残った(選択された)テクスチャ画像を描画部844に供給する。さらに、再構成部852は、伝送視点メタデータを描画部844に供給する。
描画部844は、高解像度形状データ、各伝送視点のテクスチャ画像、伝送視点メタデータ、および、視線検出部847から供給される仮想視点情報に基づいて、表示対象オブジェクトを仮想視点方向から見た場合の2次元の表示画像を生成する。描画部844は、表示画像を表示部845に供給する。
表示部845は、例えば、図1のヘッドマウントディスプレイ15と同様のヘッドマウントディスプレイにより構成される。表示部845は、描画部844から供給される表示画像の表示を行う。また、表示部845は、例えば、ジャイロセンサ(不図示)等により検出される表示部845の傾き等の姿勢を検出し、検出した姿勢を示す姿勢情報を視線検出部847に供給する。
カメラ846は、例えば、図1のカメラ13Aと同様に、表示部845に付されているマーカの撮影を行い、得られた撮影画像を視線検出部847に供給する。
視線検出部847は、表示部845からの姿勢情報、および、カメラ846からの撮影画像に基づいて、仮想視点および視聴者の視野範囲を設定する。視線検出部847は、仮想視点および視野範囲を含む仮想視点情報を生成し、再構成部852および描画部844に供給する。
図42は、図40の変換部822の構成例を示している。変換部822は、視点設定部901、画像生成部902、および、解像度変換部903を備える。
視点設定部901は、各撮影視点の撮影画像、高解像度形状データ、および、撮影視点メタデータを形状データ生成部821から取得する。また、視点設定部901は、テクスチャ画像およびデプス画像を生成する伝送視点の設定を行い、設定した伝送視点に関する視点情報を含む伝送視点メタデータを生成する。視点設定部901は、各撮影視点の撮影画像、高解像度形状データ、撮影視点メタデータ、および、伝送視点メタデータを画像生成部902に供給する。また、視点設定部901は、伝送視点メタデータを符号化部823に供給する。
画像生成部902は、各撮影視点の撮影画像、高解像度形状データ、および、撮影視点メタデータに基づいて、各伝送視点に対応する複数のテクスチャ画像および複数のデプス画像を生成する。画像生成部902は、各伝送視点のテクスチャ画像および各伝送視点のデプス画像を符号化部823に供給する。
解像度変換部903は、高解像度形状データを形状データ生成部821から取得する。解像度変換部903は、高解像度形状データの解像度を下げることにより低解像度形状データを生成し、符号化部823に供給する。
図43は、図40の再構成部852の構成例を示している。再構成部852は、優先度設定部951、画像選択部952、および、形状復元部953を備える。
優先度設定部951は、伝送視点メタデータを復号部851から取得し、仮想視点情報を視線検出部847から取得する。優先度設定部951は、伝送視点メタデータおよび仮想視点情報に基づいて、各テクスチャストリーム(テクスチャ画像)間、および、各デプスストリーム(デプス画像)間の優先度を設定する。優先度設定部951は、設定した優先度を示す優先度情報を画像選択部952に供給する。
画像選択部952は、各伝送視点のテクスチャ画像、各伝送視点のデプス画像、低解像度形状データ、および、伝送視点メタデータを復号部851から取得し、リソース情報を外部から取得する。画像選択部952は、優先度情報およびリソース情報に基づいて、表示画像の生成に用いるテクスチャ画像およびデプス画像を選択する。画像選択部952は、選択したテクスチャ画像、および、伝送視点メタデータを描画部844に供給する。また、画像選択部952は、選択したデプス画像、低解像度形状データ、および、伝送視点メタデータを形状復元部953に供給する。
形状復元部953は、画像選択部952から供給されるデプス画像、低解像度形状データ、および、伝送視点メタデータに基づいて、高解像度形状データを生成する。形状復元部953は、高解像度形状データを描画部844に供給する。
(送信部801の処理の説明)
図44は、図40の送信部801のストリーム生成処理を説明するフローチャートである。このストリーム生成処理は、図40の撮影部811の各撮影カメラが撮影を開始し、撮影画像および撮影視点メタデータの出力が開始されたとき、開始される。なお、各撮影カメラからは、撮影画像がフレーム単位で出力される。
なお、以下では、説明を分かりやすくするために、表示対象オブジェクトが1つの場合について説明する。
ステップS201において、形状データ生成部821は、形状データを生成する。具体的には、形状データ生成部821は、撮影部811から供給される各撮影視点の撮影画像、および、撮影視点メタデータに基づいて、表示対象オブジェクトの3次元の形状を高解像度に表す高解像度形状データを生成する。この高解像度形状データは、例えば、3次元のポリゴンメッシュまたはポイントクラウドからなる。形状データ生成部821は、各撮影視点の撮影画像、高解像度形状データ、および、撮影視点メタデータを視点設定部901に供給する。また、形状データ生成部821は、高解像度形状データを解像度変換部903に供給する。
ステップS202において、視点設定部901は、テクスチャ画像およびデプス画像を生成する視点(すなわち、伝送視点)を設定する。また、視点設定部901は、設定した伝送視点に関する視点情報を含む伝送視点メタデータを生成する。
なお、例えば、各伝送視点は、ユーザ設定等に基づいて設定される。また、各伝送視点は、撮影視点と一致していてもよいし、異なっていてもよい。さらに、伝送視点の数と撮影視点の数は、同じでもよいし、異なっていてもよい。また、テクスチャ画像を生成する伝送視点と、デプス画像を生成する伝送視点とは、一致していてもよいし、異なっていてもよい。さらに、テクスチャ画像を生成する伝送視点の数と、デプス画像を生成する伝送視点の数とは、同じでもよいし、異なっていてもよい。なお、通常は、テクスチャ画像を生成する伝送視点とデプス画像を生成する伝送視点とは、共通とされる。
視点設定部901は、各撮影視点の撮影画像、高解像度形状データ、撮影視点メタデータ、および、伝送視点メタデータを画像生成部902に供給する。また、視点設定部901は、伝送視点メタデータを符号化部823に供給する。
ステップS203において、画像生成部902は、テクスチャ画像およびデプス画像を生成する。具体的には、画像生成部902は、各撮影視点の撮影画像および撮影視点メタデータに基づいて、各伝送視点から表示対象オブジェクトを見た場合のテクスチャを表す複数のテクスチャ画像を生成する。なお、テクスチャ画像の生成方法には、任意の方法を採用することが可能である。また、例えば、撮影画像の撮影視点とテクスチャ画像を生成する伝送視点とが一致する場合、その撮影画像をそのままテクスチャ画像として用いることも可能である。
また、画像生成部902は、各撮影視点の撮影画像、高解像度形状データ、および、撮影視点メタデータに基づいて、伝送視点毎に、各伝送視点から各画素における表示対象オブジェクトまでの距離の逆数を画素値とする複数のデプス画像を生成する。なお、デプス画像の生成方法には、任意の方法を採用することが可能である。
画像生成部902は、各伝送視点のテクスチャ画像および各伝送視点のデプス画像を符号化部823に供給する。
ステップS204において、解像度変換部903は、形状データの解像度を下げる。すなわち、解像度変換部903は、高解像度形状データの解像度を下げることにより低解像度形状データを生成する。これにより、例えば、形状データの解像度がデプス画像より低くなり、形状データの容量が削減される。解像度変換部903は、低解像度形状データを符号化部823に供給する。
ステップS205において、符号化部823は、テクスチャ画像、デプス画像、および、形状データを圧縮符号化する。具体的には、符号化部823は、テクスチャ画像の圧縮符号化を伝送視点毎に行い、各伝送視点にそれぞれ対応する複数のテクスチャストリームを生成する。また、符号化部823は、デプス画像の圧縮符号化を伝送視点毎に行い、各伝送視点にそれぞれ対応する複数のデプストリームを生成する。さらに、符号化部823は、低解像度形状データの圧縮符号化を行い、形状ストリームを生成する。符号化部823は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータをストレージ813に供給する。ストレージ813は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータを記憶する。
ステップS206において、伝送部814は、テクスチャストリーム、デプスストリーム、形状ストリーム、および、伝送視点メタデータを送信する。具体的には、伝送部814は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータをストレージ813から読み出す。そして、伝送部814は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータを受信部802に送信する。
(受信部802の処理の説明)
図45は、図40の受信部802の再生処理を説明するフローチャートである。この再生処理は、例えば、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータが送信部801から伝送されてきたとき、開始される。
ステップS231において、受け取り部841は、テクスチャストリーム、デプスストリーム、形状ストリーム、および、伝送視点メタデータを受け取る。具体的には、受け取り部841は、送信部801から伝送されてきた各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータを受け取る。受け取り部841は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータをストレージ842に供給する。ストレージ842は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータを記憶する。
ステップS232において、復号部851は、テクスチャストリーム、デプスストリーム、および、形状ストリームを復号する。具体的には、復号部851は、各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、形状ストリーム、および、伝送視点メタデータをストレージ842から読み出す。復号部851は、各伝送視点のテクスチャストリームの復号を行い、各伝送視点のテクスチャ画像を生成する。また、復号部851は、各伝送視点のデプスストリームの復号を行い、各伝送視点のデプス画像を生成する。さらに、復号部851は、形状ストリームの復号を行い、低解像度形状データを生成する。復号部851は、伝送視点メタデータを優先度設定部951に供給する。また、復号部851は、各伝送視点のテクスチャ画像、各伝送視点のデプス画像、低解像度形状データ、および、伝送視点メタデータを画像選択部952に供給する。
ステップS233において、受信部802は、仮想視点情報を取得する。具体的には、視線検出部847は、表示部845から姿勢情報を取得し、その姿勢情報に基づいて、ワールド座標系における視聴者の視線方向を検出する。また、視線検出部847は、カメラ846から撮影画像を取得し、その撮影画像に基づいて、ワールド座標系における視聴者の視聴位置を検出する。そして、視線検出部847は、視聴者の視聴位置と視線方向に基づいて、ワールド座標系における仮想視点を設定する。仮想視点は、ワールド座標系における視聴者の視点とほぼ一致する。また、視線検出部847は、視聴者の視聴位置と視線方向に基づいて視聴者の視野範囲を設定する。視線検出部847は、仮想視点および視野範囲を含む仮想視点情報を生成し、優先度設定部951および描画部844に供給する。
ステップS234において、優先度設定部951は、優先度を設定する。具体的には、優先度設定部951は、伝送視点メタデータおよび仮想視点情報に基づいて、テクスチャストリーム(テクスチャ画像)間、および、デプスストリーム(デプス画像)間の優先度を設定する。例えば、優先度設定部951は、伝送視点が仮想視点に近い順にテクスチャストリーム(テクスチャ画像)の優先度を設定する。同様に、優先度設定部951は、伝送視点が仮想視点に近い順にデプスストリーム(デプス画像)の優先度を設定する。
なお、伝送視点と仮想視点との間の近さを測る基準には、例えば、2つの視点間のユークリッド距離、2つの視点間の視線方向の角度、または、それらの2つの基準を複合した基準等が用いられる。
優先度設定部951は、設定した優先度を示す優先度情報を画像選択部952に供給する。
ステップS235において、画像選択部952は、表示画像の生成に用いる画像を選択する。具体的には、画像選択部952は、外部から供給されるリソース情報を取得する。画像選択部952は、リソース情報に示される再生リソースに基づいて、表示画像の生成に用いるテクスチャ画像(テクスチャストリーム)の数(以下、使用画像数と称する)、および、表示画像の生成に用いるデプス画像(デプスストリーム)の数(使用画像数)を設定する。
なお、再生リソースが大きいほど使用画像数は多くなり、再生リソースが小さいほど使用画像数は少なくなる。また、再生リソースが十分に大きい場合、例えば、テクスチャ画像およびデプス画像の使用画像数を、各画像の総数と同じ値に設定し、全ての伝送視点のテクスチャ画像およびデプス画像を表示画像に用いるようにしてもよい。
そして、画像選択部952は、各伝送視点のテクスチャ画像の中から、優先度が高い方から順に使用画像数のテクスチャ画像を選択する。同様に、画像選択部952は、各伝送視点のデプス画像の中から、優先度が高い方から順に使用画像数のデプス画像を選択する。
ここで、図46を参照して、画像の選択方法の具体例について説明する。
図46の伝送視点1001-1乃至伝送視点1001-nは、表示対象となるオブジェクト1003のデプス画像の生成に用いられた伝送視点を示している。
例えば、優先度設定部951は、対応する伝送視点1001-1乃至伝送視点1001-nが仮想視点1002から近い順に、各デプスストリーム(デプス画像)間の優先度を設定する。そして、例えば、使用画像数が4に設定されている場合、画像選択部952は、優先度が1番から4番までのデプスストリームから生成されたデプス画像を選択する。例えば、図46の右側の図に示されるように、伝送視点1001-4、伝送視点1001-5、伝送視点1001-6、および、伝送視点1001-7の4視点に対応するデプス画像が選択される。
画像選択部952は、選択したテクスチャ画像、および、伝送視点メタデータを描画部844に供給する。また、画像選択部952は、選択したデプス画像、低解像度形状データ、および、伝送視点メタデータを形状復元部953に供給する。
なお、テクスチャ画像の使用画像数とデプス画像の使用画像数は、必ずしも同じでなくてもよい。例えば、一般的に人は形状に対する識別力より色に対する識別力の方が高いため、テクスチャ画像の使用画像数がデプス画像の使用画像数より多く設定される。
ステップS236において、形状復元部953は、形状データの復元を行う。具体的には、形状復元部953は、低解像度形状データと画像選択部952により選択されたデプス画像とを、伝送視点メタデータを用いて統合することにより、高解像度形状データを復元する。
ここで、図47乃至図51を参照して、低解像度形状データとデプス画像の統合方法の例について説明する。例えば、図47の伝送視点1001からオブジェクト1021を見た場合のデプス画像を用いて、仮想視点1002から見た形状データを復元する場合を例に挙げて説明する。
まず、図48を参照して第1の統合方法について説明する。
図48のデプス画像1031は、図47の伝送視点1001からオブジェクト1021を見た場合のデプス画像である。
そして、デプス画像1031に対する視点を伝送視点1001から仮想視点1002に変換することにより、仮想視点1002からオブジェクト1021を見た場合の仮想視点デプス画像1032が生成される。仮想視点デプス画像1032では、例えば、伝送視点1001から死角となり見えない左側の三日月形の領域(以下、死角領域と称する)の画素値が0に設定される。
一方、仮想視点1002から見た低解像度形状データ1033に基づいて、仮想視点1002からオブジェクト1021を見た場合の仮想視点デプス画像1034が生成される。なお、仮想視点デプス画像1034は、デプス画像1031および仮想視点デプス画像1032より解像度が低い。
なお、以下、解像度の差を明確にするために、デプス画像1031および仮想視点デプス画像1032を、それぞれ高解像度デプス画像1031および高解像度仮想視点デプス画像1032と称し、仮想視点デプス画像1034を低解像度仮想視点デプス画像1034と称する。
次に、低解像度仮想視点デプス画像1034に、高解像度仮想視点デプス画像1032の死角領域以外の部分が重畳されることにより、高解像度仮想視点デプス画像1035が生成される。高解像度仮想視点デプス画像1035では、高解像度仮想視点デプス画像1032の死角領域に対応する領域が低解像度になり、それ以外の領域が高解像度になる。また、高解像度仮想視点デプス画像1035の高解像度領域と低解像度領域の繋ぎ目は、例えば、高解像度仮想視点デプス画像1032と低解像度仮想視点デプス画像1034とを合成したものとなる。
そして、画像選択部952により選択された他のデプス画像も低解像度仮想視点デプス画像1034に重畳され、得られた高解像度仮想視点デプス画像に基づいて、3次元のポリゴンメッシュからなる高解像度形状データが生成される。
次に、図49乃至図51を参照して第2の統合方法について説明する。
まず、図49に示されるように、高解像度デプス画像1031に基づいて、仮想視点1002からオブジェクト1021を見た場合の高解像度ポリゴンメッシュ1041が生成される。
一方、低解像度ポリゴンメッシュ1042は、仮想視点1002からオブジェクト1021を見た場合の低解像度形状データである。そして、低解像度ポリゴンメッシュ1042に高解像度ポリゴンメッシュ1041を合成することにより、高解像度ポリゴンメッシュ1043が生成される。従って、高解像度ポリゴンメッシュ1043では、高解像度ポリゴンメッシュ1041に対応する領域が高解像度になり、それ以外の領域が低解像度になる。
ここで、図50および図51を参照して、低解像度ポリゴンメッシュ1042と高解像度ポリゴンメッシュ1041の合成方法の例について説明する。
図50の例では、低解像度ポリゴンメッシュ1042の高解像度ポリゴンメッシュ1041と重なる領域が、高解像度ポリゴンメッシュ1041に挿げ替えられる。このとき、高解像度ポリゴンメッシュ1041と低解像度ポリゴンメッシュ1042の境界付近の切れ目が、ポリゴンのエッジを用いて接続される。
図51の例では、低解像度ポリゴンメッシュ1042に高解像度ポリゴンメッシュ1041が重畳される。このとき、低解像度ポリゴンメッシュ1042の高解像度ポリゴンメッシュ1041と重なる領域が、高解像度ポリゴンメッシュ1041の裏側に押し込まれる。
そして、画像選択部952により選択された他のデプス画像に基づいて生成された高解像度ポリゴンメッシュも低解像度ポリゴンメッシュ1042に合成されることにより、3次元のポリゴンメッシュからなる高解像度形状データが生成される。
以上のようにして、画像選択部952により選択されたデプス画像と低解像度形状データとが統合されることにより、高解像度形状データが生成される。
このとき、再生リソースが大きく、使用するデプス画像が多くなるほど、高解像度形状データにおける高解像度領域が広くなる。一方、再生リソースが小さく、使用するデプス画像が少なくなるほど、高解像度形状データにおける高解像度領域が狭くなる。
例えば、図52は、再生リソースが大きく、低解像度形状データ1061と、全ての伝送視点のデプス画像1062-1乃至デプス画像1062-4とを用いて、高解像度形状データ1063aが生成される場合を示している。この場合、高解像度形状データ1063aのほぼ全周が高解像度となり、受信部802の解像度変換部903で解像度を下げる前の高解像度形状データとほぼ同様の形状データが復元される。
一方、図53は、再生リソースが小さく、低解像度形状データ1061と、仮想視点に近い伝送視点に対応するデプス画像1062-1およびデプス画像1062-4のみを用いて、高解像度形状データ1063bが生成される場合を示している。この場合、高解像度形状データ1063bは、仮想視点から見える領域付近が高解像度になり、他の領域は低解像度になる。
そして、形状復元部953は、生成した高解像度形状データを描画部844に供給する。
ステップS237において、描画部844は、描画処理を行う。例えば、描画部844は、高解像度形状データおよび伝送視点メタデータに基づいて、テクスチャ画像を用いて、高解像度形状データに色情報を付与する。そして、描画部844は、色情報を付与した高解像度形状データを、仮想視点から視野範囲に透視投影することにより、表示画像を生成する。描画部844は、表示画像を表示部845に供給する。
ステップS238において、表示部845は、表示画像に基づく画像を表示する。
以上のようにして、表示対象オブジェクトの周囲を取り囲むように配置された撮像カメラにより撮影された撮影画像に基づいて、任意の仮想視点からの表示画像を生成し、表示させることができる。
また、仮想視点および再生リソースに基づいて、表示画像の生成に用いられるテクスチャ画像およびデプス画像が適宜間引かれるため、再生処理の負荷が軽減される。これにより、再生リソースが少なくても、表示画像がスムーズに表示されるようになる。また、仮想視点から見える領域のテクスチャ画像およびデプス画像が優先して残されるため、視聴者の視野範囲の画像の画質の低下を抑制される。
さらに、デプス画像は、3次元の高解像度形状データと比較してデータ量が少ない。従って、高解像度の形状ストリームの代わりに、各伝送視点のデプスストリームおよび低解像度の形状ストリームを伝送することにより、送信部801と受信部802の間のデータの伝送量を削減することができる。
なお、以上の例では、表示対象オブジェクトが1つの場合の例について説明したが、表示対象オブジェクトが複数の場合にも同様の処理が行われる。表示対象オブジェクトが複数の場合、例えば、送信部801において、表示対象オブジェクト毎に各伝送視点のテクスチャストリーム、各伝送視点のデプスストリーム、および、低解像度の形状ストリームが生成され、受信部802に送信される。
なお、現実のオブジェクト間の位置関係等により、1つの表示対象オブジェクトが、複数の現実のオブジェクトを含む場合がある。例えば、人が椅子に座っている場合、1つの表示対象オブジェクトに人と椅子が含まれる。
<変形例>
以下、上述した本開示の実施の形態の変形例について説明する。
図54は、第1レイヤのテクスチャ画像の他の例を示す図である。
上述した説明では、第1レイヤの各面のテクスチャ画像は、1つの視点Oのテクスチャ画像であったが、視点Oに対応する左目用の視点と右目用の視点のテクスチャ画像が合成されたものであってもよい。
具体的には、図54のAに示すように、第1レイヤの各面のテクスチャ画像は、例えば、視点Oに対応する左目用の視点の第1レイヤの各面のテクスチャ画像1101と、右目用の視点の第1レイヤの各面のテクスチャ画像1102が、横方向(水平方向)にパッキングされたパッキング画像1100であってもよい。
また、図54のBに示すように、第1レイヤの各面のテクスチャ画像は、例えば、テクスチャ画像1101とテクスチャ画像1102が、縦方向(垂直方向)にパッキングされたパッキング画像1110であってもよい。
同様に、第2レイヤの各面のテクスチャ画像は、その面の1つの第2レイヤの視点に対応する左目用の視点の第2レイヤのテクスチャ画像と、右目用の視点の第2レイヤのテクスチャ画像が横方向または縦方向にパッキングされたパッキン画像であってもよい。
以上のように、第1レイヤおよび第2レイヤの各面のテクスチャ画像が左目用の視点と右目用の視点の画像をパッキングしたテクスチャ画像である場合、復号の結果得られるテクスチャ画像が、左目用の視点のテクスチャ画像と右目用の視点のテクスチャ画像に分離される。そして、第1レイヤおよび第2レイヤについて、左目用の3次元データと右目用の3次元データが生成される。
そして、視聴者の視聴方向および視聴位置に対応する左目の視聴方向および視聴位置基づいて、左目用の3次元データから左目用の表示画像が生成される。また、視聴者の視聴方向および視聴位置に対応する右目の視聴方向および視聴位置に基づいて、右目用の3次元データから右目用の表示画像が生成される。そして、ヘッドマウントディスプレイ15が3D表示可能である場合、ヘッドマウントディスプレイ15は、左目用の表示画像を左目用の画像として表示し、右目用の表示画像を右目用の画像として表示することにより、表示画像を3D表示する。
なお、第1乃至第4実施の形態では、撮影画像が正八面体にマッピングされることにより全天球画像が生成されたが、撮影画像がマッピングされる3Dモデルは、正八面体のほか、球や立方体などにすることができる。撮影画像が球にマッピングされる場合、全天球画像は、例えば、撮影画像がマッピングされた球の正距円筒図法による画像である。
また、第1乃至第4実施の形態では、立方体を構成する6つの面に全天球画像を透視投影することによりテクスチャ画像およびデプス画像が生成されたが、立方体以外の異なる形の面に透視投影することにより、テクスチャ画像およびデプス画像が生成されてもよい。
さらに、低解像度テクスチャストリームと低解像度デプスストリームは生成されなくてもよい。第1レイヤおよび第2レイヤのデプス画像は生成されなくてもよい。また、第2レイヤのテクスチャ画像とデプス画像は、重要な被写体の撮影画像がマッピングされる一部の面に対してのみ生成されるようにしてもよい。
また、低解像度テクスチャ画像および低解像度デプス画像も、高解像度のテクスチャ画像およびデプス画像と同様に、階層化して生成されてもよい。
さらに、テクスチャ画像とデプス画像のレイヤ数が3以上であってもよい。例えば、第1レイヤおよび第2レイヤと異なる視点から全天球画像を透視投影することにより、第3レイヤ以降のレイヤのテクスチャ画像とデプス画像が生成されてもよい。
また、レイヤ間の依存関係がないように各レイヤの画像が生成されてもよい。例えば、全天球画像における視点を中心とした立方体を構成する6つの面に対応する画像が、それぞれ視点からの複数の距離毎に階層化して生成されてもよい。例えば、全天球画像を所定の面にマッピングする場合に、視点からの全ての被写体をマッピングした画像、視点からの距離が第1の距離以上の被写体のみをマッピングした画像、視点からの距離が第2の距離(>第1の距離)以上の被写体のみをマッピングした画像・・・により、当該面に対応する複数のレイヤの画像が生成されてもよい。
また、以上の説明では、表示画像等の2次元の画像の生成に透視投影を用いる例を示したが、透視投影以外の投影方法を用いるようにしてもよい。例えば、図55および図56に示されるtan軸投影を用いることが可能である。
この例では、3Dモデルの3次元のxyz座標系において、zが-1.0である投影面1121が設定されている。この場合、投影面1121の中心O´を原点とし、投影面1121の水平方向をs方向とし、垂直方向をt方向とする2次元のst座標系が、投影面1121の座標系となる。
なお、以下では、xyz座標系の原点Oからst座標系の座標(s,t)に向かうベクトル1122を、座標(s,t)と、原点Oから投影面1121までの距離である-1.0とを用いて、ベクトル(s,t,-1.0)という。
図56は、tan軸投影(正接軸投影)を説明する図である。
図56は、投影面1121をzの負方向に見た図である。図56の例では、st座標系において、投影面1121のs値およびt値の最小値は-1.0であり、最大値は1.0である。
この場合、透視投影では、原点Oから投影面1121上の投影点に向かう投影ベクトルがベクトル(s´,t´-1.0)となるように、投影面1121上に投影点が設定される。なお、s´は、-1.0から1.0までのs値の範囲に設けられた所定の間隔ごとの値であり、t´は-1.0から1.0までのt値の範囲に設けられた所定の間隔ごとの値である。従って、透視投影における投影点は、投影面1121上で均一である。
これに対して、投影面1121の画角をθw(図56の例ではπ/2)とすると、tan軸投影では、投影ベクトルがベクトル(tan(s´*θw/2), tan(t´*θw/2), -1.0)となるように、投影面1121上に投影点が設定される。
具体的には、ベクトル(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φ)となるように、投影面1121上に投影点が設定される。従って、tan軸投影では、隣り合う投影点に対応する投影ベクトルどうしがなす角が同一になる。
なお、対数軸(ログスケール)と同様に、tan(s´*θw/2), tan(t´*θw/2)は、tan軸のs´,t´であると捉えられる。従って、本明細書では、投影ベクトルがベクトル(tan(s´*θw/2), tan(t´*θw/2), -1.0)となる投影を、tan軸投影と称している。
さらに、例えば、第2および第3の実施の形態において、各符号化ストリームに割り当てる優先度A乃至Dの比率が可変であってもよい。例えば、ホームサーバ13bまたは13cの優先度設定部511は、ホームサーバ13b若しくは13cの処理能力や負荷、または各符号化ストリームの復号処理の進捗状況等に応じて、優先度の比率を可変にしてもよい。例えば、優先度設定部511は、ホームサーバ13bまたは13cの負荷が低い場合には、優先度Aに設定する符号化ストリームの割合を増やし、ホームサーバ13bまたは13cの負荷が高い場合には、優先度Dに設定する符号化ストリームの割合を増やしてもよい。
また、図35の優先度の分類方法は、その一例であり、任意に変更することが可能である。例えば、優先度が2種類、3種類、または5種類以上に分類されてもよい。
さらに、例えば、第2および第3の実施の形態は、全天球画像以外の2以上の異なる方向の画像に対応する複数の符号化ストリームの復号およびレンダリングを、符号化ストリーム間で優先度をつけて行う場合にも適用することができる。また、例えば、第2および第3の実施の形態は、同じ方向の異なるレイヤの画像に対応する複数の符号化ストリームの復号およびレンダリングを、レイヤ間で優先度をつけて行う場合にも適用することができる。
また、図37のスコア算出テーブルは、任意に変更することが可能である。例えば、加算要因の種類を増減したり、基準値や重み係数を変更したりすることが可能である。
さらに、各優先度におけるピクチャの間引き方法は、任意に変更することが可能である。また、低解像度符号化ストリームにおいて、ピクチャの間引きが行われてもよい。
また、上述した第5実施の形態では、画像選択部952において、テクスチャ画像およびデプス画像を間引く例を説明したが、復号部851において間引き処理を行ってもよい。例えば、復号部851が、優先度に従って、復号するテクスチャストリームおよびデプスストリームを選択し、選択したテクスチャストリームおよびデプスストリームのみを復号するようにしてもよい。
また、例えば、受信部802側でなく、送信部801側で間引き処理を行ってもよい。
この場合、例えば、仮想視点情報または優先度情報のうち少なくとも1つとリソース情報とが、受信部802から送信部801に送信される。そして、例えば、送信部801の視点設定部901が、仮想視点または優先度と再生リソースとに基づいて、テクスチャ画像およびデプス画像を生成する伝送視点を選択する。例えば、視点設定部901は、再生リソースに基づいて使用する伝送視点の数を設定するともに、受信した優先度に基づいて、或いは、仮想視点に基づいて設定される優先度に基づいて、複数の伝送視点の中から、設定した数の伝送視点を選択する。
そして、例えば、選択された伝送視点のテクスチャ画像およびデプス画像のみが生成されることにより、テクスチャ画像およびデプス画像の間引きが行われる。また、送信部801から受信部802に伝送されるテクスチャストリームおよびデプスストリームの数が削減され、送信部801と受信部802の間のデータの伝送量が削減される。
或いは、例えば、全ての伝送視点のテクスチャ画像およびデプス画像を生成するようにして、符号化部823が、仮想視点または優先度と再生リソースとに基づいて伝送視点を選択し、選択した伝送視点に対応するテクスチャ画像およびデプス画像のみを圧縮符号化し、テクスチャストリームおよびデプスストリームを生成するようにしてもよい。
或いは、例えば、全ての伝送視点のテクスチャストリームおよびデプスストリームを生成するようにして、伝送部814が、仮想視点または優先度と再生リソースとに基づいて伝送視点を選択し、選択した伝送視点に対応するテクスチャストリームおよびデプスストリームのみを受信部802に送信するようにしてもよい。
なお、送信部801側で間引き処理を行う場合、再生リソースに加えて、或いは、再生リソースの代わりに、送信部801と受信部802の間の伝送路の状況に基づいて、間引き処理を行うようにしてもよい。例えば、送信部801は、上述した間引き処理を行うことにより、使用可能な伝送路の容量が大きくなるほど、伝送する符号化ストリームの数を増やし、使用可能な伝送路の容量が小さくなるほど、伝送する符号化ストリームの数を減らすようにしてもよい。
また、送信側の間引き処理は、例えば、上述した第2実施の形態又は第3実施の形態にも適用することができる。例えば、第2実施の形態又は第3実施の形態では、優先度をつけて各符号化ストリームの復号およびレンダリングを行うことにより、復号またはレンダリングするピクチャを間引く例を示したが、例えば、コンテンツサーバ12において、生成又は伝送する符号化ストリームを間引くようにしてもよい。例えば、コンテンツサーバ12が、優先度Dの符号化ストリームの生成または伝送を停止したり、優先度Bまたは優先度Cの符号化ストリームに含めるピクチャを間引くようにしてもよい。
なお、送信側(例えば、送信部801)で設定した優先度、又は、画像若しくは符号化ストリームの選択結果を再生側(例えば、受信部802)に送信し、再生側で、送信側から取得した情報に基づいて、間引き処理を行うようにしてもよい。
さらに、例えば、第5実施の形態において、送信部801のストリーム生成部812が、仮想視点に対応する表示画像を生成し、表示画像を圧縮符号化した表示画像ストリームを生成し、受信部802に送信するようにしてもよい。
また、第5実施の形態では、必ずしも表示対象オブジェクトの全周を囲む3次元の形状データを生成する必要はない。例えば、仮想視点が設定される範囲が限定されている場合、3次元の形状データは、少なくともその範囲内の視点から見える領域を含んでいればよい。
さらに、以上の説明では、第5実施の形態において、高解像度形状データからデプス画像を生成する例を示したが、例えば、ToFカメラ等のデプスの検出が可能なカメラを用いて、デプス画像を取得するようにしてもよい。
また、第5実施の形態において、例えば、視聴者の視線や視聴位置に基づかずに、仮想視点を設定するようにしてもよい。例えば、予め設定された位置に仮想視点を設定するようにしてもよい。
<応用例>
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図57は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ1200において、CPU(Central Processing Unit)1201,ROM(Read Only Memory)1202,RAM(Random Access Memory)1203は、バス1204により相互に接続されている。
バス1204には、さらに、入出力インタフェース1205が接続されている。入出力インタフェース1205には、入力部1206、出力部1207、記憶部1208、通信部1209、及びドライブ1210が接続されている。
入力部1206は、キーボード、マウス、マイクロフォンなどよりなる。出力部1207は、ディスプレイ、スピーカなどよりなる。記憶部1208は、ハードディスクや不揮発性のメモリなどよりなる。通信部1209は、ネットワークインタフェースなどよりなる。ドライブ1210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア1211を駆動する。
以上のように構成されるコンピュータ1200では、CPU1201が、例えば、記憶部1208に記憶されているプログラムを、入出力インタフェース1205及びバス1204を介して、RAM1203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ1200(CPU1201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータ1200では、プログラムは、リムーバブルメディア1211をドライブ1210に装着することにより、入出力インタフェース1205を介して、記憶部1208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1209で受信し、記憶部1208にインストールすることができる。その他、プログラムは、ROM1202や記憶部1208に、あらかじめインストールしておくことができる。
なお、コンピュータ1200が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
(移動体制御システムへの適用例)
また、本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図58は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図58に示した例では、車両制御システム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を備える。図58では、統合制御ユニット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は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図59は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図59には、それぞれの撮像部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は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図58に戻って説明を続ける。車外情報検出ユニット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は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図58の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図58に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
なお、図1乃至図54を用いて説明した本実施形態に係る画像表示システム10、700、または、800の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
以上説明した車両制御システム7000において、画像表示システム10、700、または、800は、図58に示した応用例の車両制御システム7000に適用することができる。例えば、画像表示システム10若しくは700のマルチカメラ11、または、画像表示システム800の撮影部811は、撮像部7410の少なくとも一部に相当する。また、コンテンツサーバ12、ホームサーバ13(ホームサーバ13a乃至13cのいずれか)、および変換装置14の全部若しくは一部、配信サーバ701、ネットワーク702、再生装置703、および変換装置14の全部若しくは一部、または、送信部801(撮影部811を除く)および受信部802(表示部845を除く)の全部若しくは一部は一体化され、統合制御ユニット7600のマイクロコンピュータ7610と記憶部7690に相当する。ヘッドマウントディスプレイ15または表示部845は、表示部7720に相当する。
なお、画像表示システム10または700を車両制御システム7000に適用する場合、カメラ13A、マーカ15A、およびジャイロセンサ15Bは設けられず、視聴者である搭乗者の入力部7800の操作により視聴者の視線方向および視聴位置が入力される。また、画像表示システム800を車両制御システム7000に適用する場合、カメラ846は設けられず、視聴者である搭乗者の入力部7800の操作により視聴者の視線方向および視聴位置が入力される。
以上のようにして、画像表示システム10、700、または、800を、図58に示した応用例の車両制御システム7000に適用することにより、全天球画像またはオブジェクトの周囲を囲む複数の視点からの画像を用いて高画質の表示画像を生成することができる。
また、画像表示システム10、700、または、800の少なくとも一部の構成要素は、図58に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、画像表示システム10、700、または、800が、図58に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本開示は、以下のような構成もとることができる。
(1)
全天球画像を複数の面に投影することにより得られる複数の投影画像、または、異なる視点からの複数の視点画像を符号化した複数の符号化ストリーム間の優先度に基づいて、前記符号化ストリームの復号、並びに、表示画像の生成に用いる画像の生成または選択を行う画像処理部と、
前記生成または選択された画像に基づいて、前記表示画像を生成する描画部と
を備える画像処理装置。
(2)
前記画像処理部は、前記優先度に基づいて、各前記符号化ストリームの復号およびレンダリングを行い、
前記描画部は、各前記符号化ストリームの復号およびレンダリングを行うことにより生成される複数の生成画像に基づいて、表示画像を生成する
前記(1)に記載の画像処理装置。
(3)
前記複数の投影画像は、複数のレイヤの画像を含み、
前記画像処理部は、さらに前記レイヤ間の優先度に基づいて、各前記符号化ストリームの復号及びレンダリングを行う
前記(2)に記載の画像処理装置。
(4)
前記複数のレイヤの画像は、前記全天球画像を異なる視点から投影することにより得られる
前記(3)に記載の画像処理装置。
(5)
前記画像処理部は、優先度が低い前記符号化ストリームほど、復号するピクチャを間引く量またはレンダリングするピクチャを間引く量を大きくする
前記(2)または(4)に記載の画像処理装置。
(6)
前記画像処理部は、優先度が下がるにつれて、フレーム間予測を用いて復号されるピクチャであって他のピクチャから参照されない第1のピクチャ、フレーム間予測を用いて復号されるピクチャであって他のピクチャから参照される第2のピクチャ、単独で復号される第3のピクチャの順に間引くピクチャを追加する
前記(5)に記載の画像処理装置。
(7)
前記画像処理部は、いずれかの前記符号化ストリームのレンダリングの遅延の発生が予測される場合に、前記優先度に基づいて、各前記符号化ストリームの復号およびレンダリングを行う
前記(2)乃至(6)のいずれかに記載の画像処理装置。
(8)
前記画像処理部は、前記全天球画像を前記投影画像より低解像度にした低解像度画像を符号化したサブ符号化ストリームの復号およびレンダリングをさらに行い、
前記描画部は、前記サブ符号化ストリームの復号およびレンダリングを行うことにより生成される低解像度生成画像に基づいて、前記表示画像を生成する
前記(2)乃至(7)のいずれかに記載の画像処理装置。
(9)
前記サブ符号化ストリームの優先度が前記符号化ストリームの優先度より高い
前記(8)に記載の画像処理装置。
(10)
各前記符号化ストリームのレンダリングの遅延の発生が予測されない場合、前記画像処理部は、前記サブ符号化ストリームの復号およびレンダリングを行わず、前記描画部は、複数の前記生成画像に基づいて、前記表示画像を生成し、
いずれかの前記符号化ストリームのレンダリングの遅延の発生が予測される場合、前記画像処理部は、前記サブ符号化ストリームの復号およびレンダリングを行うとともに、前記優先度に基づいて、各前記符号化ストリームの復号およびレンダリングを行い、前記描画部は、複数の前記生成画像、および前記低解像度生成画像に基づいて、前記表示画像を生成する
前記(8)または(9)に記載の画像処理装置。
(11)
前記画像処理部は、前記優先度に基づいて、復号する前記符号化ストリームの選択、および、前記符号化ストリームの復号により得られた前記視点画像の選択のうち少なくとも1つを行う
前記(1)に記載の画像処理装置。
(12)
前記複数の視点画像は、異なる視点からオブジェクトを見た複数のテクスチャ画像、および、異なる視点から前記オブジェクトを見た複数のデプス画像を含み、
前記画像処理部は、前記オブジェクトの3次元の形状を表し、前記デプス画像より解像度が低い第1の形状データを符号化した符号化形状ストリームの復号を行い、選択された前記デプス画像、および、前記第1の形状データに基づいて、前記第1の形状データより解像度が高い第2の形状データを生成し、
前記描画部は、選択された前記テクスチャ画像および前記第2の形状データに基づいて、前記表示画像を生成する
前記(11)に記載の画像処理装置。
(13)
画像処理装置が、
全天球画像を複数の面に投影することにより得られる複数の投影画像、または、異なる視点からの複数の視点画像を符号化した複数の符号化ストリーム間の優先度に基づいて、前記符号化ストリームの復号、並びに、表示画像の生成に用いる画像の生成または選択を行う画像処理ステップと、
前記生成または選択された画像に基づいて、前記表示画像を生成する描画ステップと
を含む画像処理方法。
(14)
全天球画像を複数の面に投影することにより得られる複数の投影画像、または、異なる視点からの複数の視点画像を取得する画像取得部と、
前記複数の投影画像間または前記複数の視点画像間の優先度に基づいて、前記複数の投影画像または前記複数の視点画像の一部又は全部を伝送する伝送部と
を備える画像処理装置。
(15)
前記複数の投影画像または前記複数の視点画像の符号化を行い、複数の符号化ストリームを生成する符号化部を
さらに備え、
前記符号化部が符号化する前記投影画像または前記視点画像を前記優先度に基づいて選択する処理、および、前記伝送部が伝送する前記符号化ストリームを前記優先度に基づいて選択する処理のうち少なくとも1つの処理を行う
前記(14)に記載の画像処理装置。
(16)
前記符号化部は、さらに前記符号化ストリームを伝送する伝送路の状況、および、前記符号化ストリームの再生を行う装置のリソースのうち少なくとも1つに基づいて、符号化する前記投影画像または前記視点画像を選択し、
前記伝送部は、さらに前記符号化ストリームを伝送する伝送路の状況、および、前記符号化ストリームの再生を行う装置のリソースのうち少なくとも1つに基づいて、伝送する前記符号化ストリームを選択する
前記(15)に記載の画像処理装置。
(17)
前記符号化部は、さらに前記全天球画像を前記投影画像より低解像度にした低解像度画像の符号化を行い、サブ符号化ストリームを生成し、
前記伝送部は、さらに前記サブ符号化ストリームの伝送を行う
前記(14)乃至(16)のいずれかに記載の画像処理装置。
(18)
前記サブ符号化ストリームの優先度が前記符号化ストリームの優先度より高い
前記(17)に記載の画像処理装置。
(19)
前記複数の投影画像は、前記全天球画像のテクスチャ画像とデプス画像を前記複数の面に投影することにより得られる複数のテクスチャ画像と複数のデプス画像を含む
前記(14)乃至(16)のいずれかに記載の画像処理装置。
(20)
画像処理装置が、
全天球画像を複数の面に投影することにより得られる複数の投影画像、または、異なる視点からの複数の視点画像を取得する画像取得ステップと、
前記複数の投影画像間または前記複数の視点画像間の優先度に基づいて、前記複数の投影画像または前記複数の視点画像の一部又は全部を伝送する伝送ステップと
を含む画像処理方法。