以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1実施の形態:配信システム(図1乃至図12)
2.第2実施の形態:配信システム(図13乃至図22)
3.第3実施の形態:配信システム(図23乃至図38)
4.第4実施の形態:配信システム(図39乃至図47)
5.第5実施の形態:配信システム(図48乃至図69)
6.第6実施の形態:コンピュータ(図70)
<第1実施の形態>
(配信システムの第1実施の形態の構成例)
図1は、本開示を適用した配信システムの第1実施の形態の構成例を示すブロック図である。
図1の配信システム10は、撮影装置11、生成装置12、配信サーバ13、再生装置14、およびヘッドマウントディスプレイ15により構成される。配信システム10は、撮影装置11により撮影された撮影画像から全天球画像を生成し、全天球画像を用いて視聴者の視野範囲の表示画像を表示する。
具体的には、配信システム10の撮影装置11は、6個のカメラ11A-1乃至11A-6およびマイクロフォン11Bにより構成される。なお、以下では、カメラ11A-1乃至11A-6を特に区別する必要がない場合、それらをまとめてカメラ11Aという。
各カメラ11Aは動画像を撮影し、マイクロフォン11Bは周囲の音声を取得する。配信システム10は、各カメラ11Aにより撮影された6方向の動画像である撮影画像とマイクロフォン11Bにより取得された音声を、動画コンテンツとして生成装置12に供給する。なお、撮影装置11が備えるカメラの数は、複数であれば、6個以外であってもよい。
生成装置12は、正距円筒図法を用いた方法により、撮影装置11から供給される撮影画像から全天球画像を生成し、1以上のビットレートで符号化して、各ビットレートの正距円筒ストリームを生成する。また、生成装置12は、キューブマッピングにより、撮影画像から全天球画像を生成し、1以上のビットレートで符号化して、各ビットレートのキューブストリームを生成する。また、生成装置12は、撮影装置11から供給される音声を符号化し、オーディオストリームを生成する。
生成装置12は、各ビットレートの正距円筒ストリーム、各ビットレートのキューブストリーム、およびオーディオストリームを、セグメントと呼ばれる数秒から10秒程度の時間単位でファイル化する。生成装置12は、その結果生成されたセグメントファイルを配信サーバ13にアップロードする。
なお、ここでは、正距円筒ストリームとキューブストリームのビットレートが1以上であるようにするが、ビットレート以外の条件(例えば、画像のサイズ等)が1以上であるようにしてもよい。
また、生成装置12は、動画コンテンツのセグメントファイルを管理するMPD(Media Presentation Description)ファイルを生成し、配信サーバ13にアップロードする。
配信サーバ13は、生成装置12からアップロードされたセグメントファイルとMPDファイルを格納する。配信サーバ13は、再生装置14からの要求に応じて、格納しているセグメントファイルやMPDファイルを再生装置14に送信する。
再生装置14は、配信サーバ13にMPDファイルを要求し、その要求に応じて送信されてくるMPDファイルを受け取る。また、再生装置14は、MPDファイルに基づいて、再生装置14で行うことが可能なマッピングに対応する全天球画像の生成方法で生成された全天球画像のセグメントファイルを要求し、その要求に応じて送信されてくるセグメントファイルを受け取る。再生装置14は、受け取られたセグメントファイルに含まれる正距円筒ストリームまたはキューブストリームを復号する。再生装置14は、復号の結果得られる全天球画像を3Dモデルにマッピングすることにより、3Dモデル画像を生成する。
また、再生装置14は、カメラ14Aを内蔵し、ヘッドマウントディスプレイ15に付されたマーカ15Aを撮影する。そして、再生装置14は、マーカ15Aの撮影画像に基づいて、3Dモデルの座標系における視聴位置を検出する。さらに、再生装置14は、ヘッドマウントディスプレイ15のジャイロセンサ15Bの検出結果を、ヘッドマウントディスプレイ15から受け取る。再生装置14は、ジャイロセンサ15Bの検出結果に基づいて、3Dモデルの座標系における視聴者の視線方向を決定する。再生装置14は、視聴位置と視線方向に基づいて、3Dモデルの内部に位置する視聴者の視野範囲を決定する。
再生装置14は、視聴位置を焦点として、3Dモデル画像を視聴者の視野範囲に透視投影することにより、視聴者の視野範囲の画像を表示画像として生成する。再生装置14は、表示画像をヘッドマウントディスプレイ15に供給する。
ヘッドマウントディスプレイ15は、視聴者の頭部に装着され、再生装置14から供給される表示画像を表示する。ヘッドマウントディスプレイ15には、カメラ14Aにより撮影されるマーカ15Aが付されている。従って、視聴者は、ヘッドマウントディスプレイ15を頭部に装着した状態で、移動することにより視聴位置を指定することができる。また、ヘッドマウントディスプレイ15には、ジャイロセンサ15Bが内蔵され、そのジャイロセンサ15Bによる角速度の検出結果は再生装置14に伝送される。従って、視聴者は、ヘッドマウントディスプレイ15を装着した頭部を回転させることにより、視線方向を指定することができる。
(生成装置の構成例)
図2は、図1の生成装置12の構成例を示すブロック図である。
図2の生成装置12は、スティッチング処理部21、投影処理部22、エンコーダ23、投影処理部24、エンコーダ25、音声取得部26、エンコーダ27、セグメントファイル生成部28、MPDファイル生成部29、およびアップロード部30により構成される。
スティッチング処理部21は、フレームごとに、図1のカメラ11Aから供給される6方向の撮影画像の色や明るさを同一にし、重なりを除去して接続するスティッチング処理を行う。スティッチング処理部21は、スティッチング処理後のフレーム単位の撮影画像を投影処理部22と投影処理部24に供給する。
投影処理部22は、キューブマッピングにより、スティッチング処理部21から供給される撮影画像から全天球画像を生成する。具体的には、投影処理部22は、スティッチング処理後の撮影画像をテクスチャとして立方体に投影し、その立方体の展開図の画像を全天球画像として生成する。投影処理部22は、全天球画像をエンコーダ23に供給する。なお、スティッチング処理部21と投影処理部22は、一体化されていてもよい。
エンコーダ23は、投影処理部22から供給される全天球画像を1以上のビットレートで符号化し、キューブストリームを生成する。エンコーダ23は、各ビットレートのキューブストリームをセグメントファイル生成部28に供給する。
投影処理部24は、正距円筒図法を用いた方法により、スティッチング処理部21から供給される撮影画像から全天球画像を生成する。具体的には、投影処理部24は、スティッチング処理後の撮影画像をテクスチャとして球に投影し、その球の正距円筒図法による画像を全天球画像として生成する。投影処理部24は、全天球画像をエンコーダ25に供給する。なお、スティッチング処理部21と投影処理部24は、一体化されていてもよい。
エンコーダ25は、投影処理部24から供給される全天球画像を1以上のビットレートで符号化し、正距円筒ストリームを生成する。エンコーダ25は、各ビットレートの正距円筒ストリームをセグメントファイル生成部28に供給する。
音声取得部26は、図1のマイクロフォン11Bから供給される音声を取得し、エンコーダ27に供給する。エンコーダ27は、音声取得部26から供給される音声を符号化し、オーディオストリームを生成する。エンコーダ27は、オーディオストリームをセグメントファイル生成部28に供給する。
セグメントファイル生成部28は、各ビットレートの正距円筒ストリーム、各ビットレートのキューブストリーム、およびオーディオストリームを、セグメント単位でファイル化する。セグメントファイル生成部28は、その結果生成されたセグメントファイルをアップロード部30に供給する。
MPDファイル生成部29は、MPDファイルを生成する。具体的には、MPDファイル生成部29(設定部)は、MPDファイルに、正距円筒ストリームおよびキューブストリームのセグメントファイルごとに、セグメントファイルに対応する全天球画像の生成に用いられた撮影画像を識別する識別情報としてのIDなどを設定する。
また、MPDファイル生成部29は、必要に応じて、MPDファイルに、正距円筒ストリームおよびキューブストリームのセグメントファイルごとに、セグメントファイルに対応するマッピング情報を設定する。
マッピング情報とは、スティッチング処理後の撮影画像内の所定の位置の基準画像が3Dモデルの基準位置に所定の傾き(以下、基準傾きという)で投影されるように、全天球画像を3Dモデルにマッピングする際に用いられる情報である。ここでは、マッピング情報は、全天球画像内の基準画像の位置と、基準画像が基準位置にマッピングされるように全天球画像を3Dモデルにマッピングした際に3Dモデル上の基準画像の傾きを基準傾きにするための基準位置における全天球画像の回転角とにより構成される。なお、基準位置とは、例えば、視聴位置が3Dモデルの中心である場合の所定の視線方向に対応する3Dモデル上の位置である。
即ち、投影処理部22と投影処理部24は、個々に投影を行うため、基準位置に投影される撮影画像の撮影画像上の位置や傾きが異なる場合がある。従って、このような場合、MPDファイル生成部29はマッピング情報を設定する。これにより、再生装置14は、マッピング情報に基づいて、全天球画像の生成方法によらず、基準位置に基準画像を基準傾きでマッピングすることができる。MPDファイル生成部29は、MPDファイルをアップロード部30に供給する。
アップロード部30は、セグメントファイル生成部28から供給されるセグメントファイルとMPDファイル生成部29から供給されるMPDファイルとを、図1の配信サーバ13にアップロードする。
(キューブマッピングの説明)
図3は、図2の投影処理部22のキューブマッピングにおいて撮影画像が投影される3Dモデルとしての立方体を示す斜視図である。
図3に示すように、投影処理部22のキューブマッピングでは、スティッチング処理部21から供給される撮影画像が立方体40の6つの面41乃至46に投影される。
本明細書では、立方体40の中心Oを通り、面41および面42と直交する軸をx軸、面43および面44と直交する軸をy軸、面45および面46と直交する軸をz軸とする。そして、中心Oと面41乃至46のそれぞれとの距離をrとしたときのx=rである面41を、適宜、+x面41ともいい、x=-rである面42を、適宜、-x面42ともいう。同様に、y=rである面43、y=-rである面44、z=rである面45、z=-rである面46を、適宜、+y面43、-y面44、+z面45、-z面46ともいう。
+x面41と-x面42、+y面43と-y面44、+z面45と-z面46は、それぞれ、対向する。
図4は、図2の投影処理部22においてキューブマッピングにより生成される全天球画像の例を示す図である。
図4に示すように、キューブマッピングにより生成される全天球画像50は、立方体40の展開図の画像である。具体的には、全天球画像50は、中央の左から順に-x面42の画像52、+z面45の画像55、+x面41の画像51、-z面46の画像56が配置され、画像55の上に+y面43の画像53が配置され、画像55の下に-y面44の画像54が配置された画像である。
本明細書では、全天球画像50の水平方向のサイズが4096画素であり、垂直方向のサイズが3072画素であり、画像51乃至56の水平方向および垂直方向のサイズは1024画素であるものとする。
(正距円筒図法を用いた方法の説明)
図5は、図2の投影処理部24の正距円筒図法を用いた方法において撮影画像が投影される3Dモデルとしての球を示す斜視図である。
図5に示すように、投影処理部24の正距円筒図法を用いた方法では、スティッチング処理部21から供給される撮影画像が、球70の面に投影される。球70の面は、例えば、同一のサイズおよび形状の8つの面71乃至78に分割することができる。
本明細書では、球70の中心Oを通り、面71および面72の中心を通る軸をA軸、面73および面74の中心を通る軸をB軸、面75および面76の中心を通る軸をC軸、面77および面78の中心を通る軸をD軸とする。そして、中心Oと面71乃至78のそれぞれとの距離をrとしたときのA=rである面71を、適宜、+A面71ともいい、A=-rである面72を、適宜、-A面72ともいう。同様に、B=rである面73、B=-rである面74、C=rである面75、C=-rである面76、D=rである面77、D=-rである面78を、適宜、+B面73、-B面74、+C面75、-C面76、+D面77、-D面78ともいう。
+A面71と-A面72、+B面73と-B面74、+C面75と-C面76、+D面77と-D面78は、それぞれ、対向する。
図6は、図2の投影処理部24において正距円筒図法を用いた方法により生成される全天球画像の例を示す図である。
図6に示すように、正距円筒図法を用いた方法により生成される全天球画像90は、球70の正距円筒図法による画像である。従って、全天球画像90の横座標(水平方向の座標)と縦座標(垂直方向の座標)は、球70が地球儀である場合の経度と緯度に相当する。
具体的には、全天球画像90は、上の左から順に+A面71の画像91、+B面73の画像93、+C面75の画像95、+D面77の画像97が配置され、下の左から順に-C面76の画像96、-D面78の画像98、-A面72の画像92、-B面74の画像94が配置された画像である。
本明細書では、全天球画像90の水平方向のサイズが1920画素であり、垂直方向のサイズが960画素であるものとする。
(MPDファイルの例)
図7は、図2のMPDファイル生成部29により生成されるMPDファイルの例を示す図である。
MPDファイルでは、各セグメントファイルにおける符号化方式、符号化ビットレート、画像の解像度などの情報が階層化されて、XML形式で記述される。
具体的には、MPDファイルには、ピリオド(Period)、アダプテーションセット(AdaptationSet)、リプレゼンテーション(Representation)、セグメントインフォ(SegmentInfo)等の要素が階層的に含まれている。
MPDファイルでは、自分が管理するセグメントファイルに対応する動画コンテンツが所定の時間範囲(例えば、番組、CM(Commercial)などの単位)で分割される。ピリオド要素は、分割された動画コンテンツごとに記述される。ピリオド要素は、動画コンテンツのプログラム(同期を取った1組の画像データや音声データなどのデータ)の再生開始時刻などの情報を有する。
アダプテーションセット要素は、ピリオド要素に含まれ、そのピリオド要素に対応する動画コンテンツのリプレゼンテーション要素をメディア種別や属性などによってグルーピングする。アダプテーションセット要素は、グループに含まれるリプレゼンテーション要素に対応する動画コンテンツに共通のメディア種別、属性などを有する。
リプレゼンテーション要素は、それをグルーピングするアダプテーションセット要素に含まれ、上位層のピリオド要素に対応する動画コンテンツのうちの、メディア種別および属性が同一である動画コンテンツのセグメントファイル群ごとに記述される。リプレゼンテーション要素は、このリプレゼンテーション要素に対応するセグメントファイル群に共通の属性、URL(Uniform Resource Locator)などを有する。
セグメントインフォ要素は、リプレゼンテーション要素に含まれ、そのリプレゼンテーション要素に対応するセグメントファイル群の各セグメントファイルに関する情報を有する。
図7の例では、ピリオド要素に対応する時間範囲の正距円筒ストリーム、キュービックストリーム、およびオーディオストリームのセグメントファイルが、それぞれ、1つのグループにグルーピングされている。従って、図7のMPDファイルでは、ピリオド要素が、3つのアダプテーションセット要素を含んでいる。
先頭から1つ目のアダプテーションセット要素は、正距円筒ストリームのセグメントファイルに対応する要素であり、2つ目のアダプテーションセット要素は、キュービックストリームのセグメントファイルに対応する要素である。両方のアダプテーションセット要素とも、全天球画像のセグメントファイルに対応する要素であるため、同様に構成される。
具体的には、1つ目および2つ目のアダプテーションセット要素は、対応する全天球画像の水平方向のサイズwidthと垂直方向のサイズheightを有する。上述したように、正距円筒ストリームに対応する全天球画像90の水平方向のサイズは1920画素であり、垂直方向のサイズは960画素であるので、図7に示すように、1つ目のアダプテーションセット要素のサイズwidthは1920画素であり、サイズheightは960画素である。また、キュービックストリームに対応する全天球画像50の水平方向のサイズは4096画素であり、垂直方向のサイズは3072画素であるので、図7に示すように、2つ目のアダプテーションセット要素のサイズwidthは4096画素であり、サイズheightは3072画素である。
また、1つ目および2つ目のアダプテーションセット要素は、このアダプテーションセット要素に対応する全天球画像の生成方法をvalueで示すSupplementalPropertyである「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」を有する。
1つ目のアダプテーションセット要素は、正距円筒ストリームのセグメントファイルに対応する要素であるので、1つ目のアダプテーションセット要素に対応する全天球画像の生成方法は正距円筒図法を用いた方法である。従って、図7に示すように、1つ目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueは、正距円筒図法を用いた方法を示す「equirectangular」である。
2つ目のアダプテーションセット要素は、キュービックストリームのセグメントファイルに対応する要素であるので、2つ目のアダプテーションセット要素に対応する全天球画像の生成方法はキューブマッピングである。従って、図7に示すように、2つ目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueは、キューブマッピングを示す「cube」である。
さらに、1つ目および2つ目のアダプテーションセット要素は、このアダプテーションセット要素に対応する全天球画像の生成に用いられた撮影画像の識別情報とマッピング情報をvalueで示すSupplementalPropertyである「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」を有する。
図7の例では、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueには、IDと「X,Y,λ」が設定される。図8に示すように、IDは、全天球画像の生成に用いられた撮影画像の識別情報である。また、Xは、全天球画像のマッピング情報のうちの全天球画像内の基準画像の位置のX座標であり、Yはそのマッピング情報のうちの全天球画像内の基準画像の位置のY座標である。さらに、λは、マッピング情報のうちの回転角である。
1つ目および2つ目のアダプテーションセット要素に対応する全天球画像50および全天球画像90の生成に用いられる撮影画像は同一であるため、識別情報は、同一の値(図7の例では1)である。また、図7の例では、正距円筒ストリームに対応する全天球画像90内の基準画像の位置の座標は(960,480)であり、回転角は0度である。なお、図7に示される例の場合、valueにおいて、識別情報を格納するブロックの先頭には、「I」が付されており、マッピング情報を格納するブロックの先頭には、「B」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。従って、1つ目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1 B960,480,0」である。つまり、この場合、「I1」の「1」が識別情報であり、「B960,480,0」の「960」がX座標、「480」がY座標、「0」が回転角である。
また、図7の例では、キュービックストリームに対応する全天球画像50内の基準画像の位置の座標は(1530,1524)であり、回転角は0度である。従って、2つ目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1 B1530,1524,0」である。つまり、この場合、「I1」の「1」が識別情報であり、「B1530,1524,0」の「1530」がX座標、「1524」がY座標、「0」が回転角である。
なお、図7の例では、全天球画像50および全天球画像90の生成時に3Dモデルの基準位置に基準画像が基準傾きで投影されないため、1つ目および2つ目のアダプテーションセット要素にマッピング情報が記述されているが、投影される場合には、マッピング情報は記述されない。
先頭から3つ目のアダプテーションセット要素は、オーディオストリームのセグメントファイルに対応する要素である。
また、図7の例では、各アダプテーションセット要素は、1つのリプレゼンテーション要素を含んでいる。先頭から1乃至3つ目のアダプテーションセット要素のリプレゼンテーション要素には、例えば、そのリプレゼンテーション要素に対応するセグメントファイルの基本となるURL(BaseURL)として、それぞれ、「equirectangular.mp4」、「cube.mp4」、「audio.mp4」が記述されている。なお、図7では、セグメントインフォ要素の記述は省略している。
以上のように、MPDファイルには、全天球画像の生成方法をvalueで示すSupplementalPropertyと、識別情報およびマッピング情報をvalueで示すSupplementalPropertyが設定される。
従って、再生装置14は、MPDファイルに基づいて、同一の識別情報が設定されたセグメントファイルから、自分が行うことが可能なマッピングに対応する生成方法で生成された全天球画像のセグメントファイルを、再生対象のセグメントファイルとして選択することができる。
また、再生装置14は、マッピング情報を用いて再生対象のセグメントファイルに対応する全天球画像をマッピングすることにより、基準画像を、3Dモデルの基準位置に基準傾きでマッピングすることができる。
なお、識別情報とマッピング情報は、SupplementalPropertyではなく、EssentialPropertyに記述されるようにしてもよい。SupplementalPropertyに識別情報とマッピング情報が記述される場合、このSupplementalPropertyを理解できない再生装置は、このSupplementalProperty以外のMPDファイルの情報を使用することができる。一方、EssentialPropertyに識別情報とマッピング情報が記述される場合、このEssentialPropertyを理解できない再生装置は、このEssentialPropertyを含む要素の全ての情報を使用することができない。
また、識別情報とマッピング情報は、アダプテーションセット要素以外のリプレゼンテーション要素などの要素に含まれるようにしてもよい。
(マッピング情報の説明)
図9は、正距円筒ストリームのセグメントファイルのマッピング情報を説明する図である。
図9に示すように、正距円筒ストリームのセグメントファイルのマッピング情報は、正距円筒図法を用いた方法により生成された全天球画像90内の基準画像の位置111の座標を含む。
また、正距円筒ストリームのセグメントファイルのマッピング情報は、位置111が基準位置にマッピングされるように全天球画像90を球70にマッピングする際に球70上の基準画像の傾きを基準傾きにするために必要な、球70上の位置111と球70の中心Oを繋げた線を軸とした、矢印112が示す反時計周り方向の全天球画像90の回転の角度である回転角λを含む。
なお、マッピング情報は、基準画像が基準位置に基準傾きでマッピングされるように全天球画像を3Dモデルにマッピングする際の全天球画像の回転角を示すオイラー角(α,β,γ)やクォータニオン(q0, q1, q2, q3)であってもよい。
マッピング情報がオイラー角(α,β,γ)である場合、再生装置14は、全天球画像をそのまま3Dモデルにマッピングした後、オイラー角(α,β,γ)に基づいて、マッピングされた全天球画像を3Dモデル上で3回回転させる。
具体的には、再生装置14は、オイラー角(α,β,γ)に基づいて、まず、3Dモデルにマッピングされた全天球画像をy軸周りにオイラー角αだけ回転させる。次に、再生装置14は、y軸周りにオイラー角αだけ回転された全天球画像を、x軸周りにオイラー角βだけ回転させる。最後に、再生装置14は、x軸周りにオイラー角βだけ回転された全天球画像を、z軸周りにオイラー角γだけ回転させる。これにより、3回回転後に3Dモデルの基準位置にマッピングされている全天球画像が、基準傾きの基準画像になる。
ここでは、全天球画像がy軸、x軸、z軸の順に回転されるようにしたが、回転順はこれに限定されない。マッピング情報がオイラー角(α,β,γ)である場合には、マッピング情報に回転順を示すパラメータが含められるようにしてもよい。
また、マッピング情報がクォータニオン(q0, q1, q2, q3)(四元数)である場合、再生装置14は、全天球画像をそのまま3Dモデルにマッピングした後、クォータニオン(q0, q1, q2, q3)に基づいて、マッピングされた全天球画像を3Dモデル上で1回回転させる。
(生成装置の処理の説明)
図10は、図2の生成装置12のファイル生成処理を説明するフローチャートである。
図10のステップS11において、スティッチング処理部21は、フレームごとに、図1のカメラ11Aから供給される6方向の撮影画像に対してスティッチング処理を行う。スティッチング処理部21は、その結果得られるフレーム単位の撮影画像を投影処理部22と投影処理部24に供給する。
ステップS12において、投影処理部22は、キューブマッピングにより、スティッチング処理部21から供給される撮影画像から全天球画像50を生成し、エンコーダ23に供給する。
ステップS13において、エンコーダ23は、投影処理部22から供給されるキューブマッピングにより生成された全天球画像50を1以上のビットレートで符号化し、キューブストリームを生成する。エンコーダ23は、各ビット
レートのキューブストリームをセグメントファイル生成部28に供給する。
ステップS14において、投影処理部24は、正距円筒図法を用いた方法により、スティッチング処理部21から供給される撮影画像から全天球画像90を生成し、エンコーダ25に供給する。
ステップS15において、エンコーダ25は、投影処理部24から供給される正距円筒図法を用いた方法により生成された全天球画像90を1以上のビットレートで符号化し、正距円筒ストリームを生成する。エンコーダ25は、各ビットレートの正距円筒ストリームをセグメントファイル生成部28に供給する。
ステップS16において、エンコーダ27は、図1のマイクロフォン11Bから音声取得部26を介して取得される音声を符号化し、オーディオストリームを生成する。エンコーダ27は、オーディオストリームをセグメントファイル生成部28に供給する。
ステップS17において、セグメントファイル生成部28は、各ビットレートの正距円筒ストリーム、各ビットレートのキューブストリーム、およびオーディオストリームを、セグメント単位でファイル化し、セグメントファイルを生成する。セグメントファイル生成部28は、セグメントファイルをアップロード部30に供給する。
ステップS18において、MPDファイル生成部29は、全ての正距円筒ストリームとキューブストリームのセグメントファイルの識別情報として同一のIDを設定する。
ステップS19において、MPDファイル生成部29は、投影処理部22および投影処理部24により3Dモデルの基準位置に投影された撮影画像が基準傾きの基準画像であるかどうかを判定する。
ステップS19で、投影処理部22および投影処理部24の少なくとも一方により基準位置に投影された撮影画像が基準傾きの基準画像ではないと判定された場合、処理はステップS20に進む。
ステップS20において、MPDファイル生成部29は、識別情報とマッピング情報を含むMPDファイルを生成する。具体的には、MPDファイル生成部29は、MPDファイルのうちの正距円筒ストリームとキューブストリームのそれぞれに対応するアダプテーションセット要素に、ステップS18で設定された識別情報を設定する。また、MPDファイル生成部29は、基準位置に投影された撮影画像が基準傾きの基準画像ではない3Dモデルから、投影処理部22および投影処理部24の少なくとも一方の投影により生成された全天球画像に対応するアダプテーションセット要素に、さらにマッピング情報を設定する。MPDファイル生成部29は、生成されたMPDファイルをアップロード部30に供給し、処理をステップS22に進める。
一方、ステップS19で、投影処理部22および投影処理部24の両方により基準位置に投影された撮影画像が基準傾きの基準画像であると判定された場合、処理はステップS21に進む。
ステップS21において、MPDファイル生成部29は、正距円筒ストリームとキューブストリームのそれぞれに対応するアダプテーションセット要素が、ステップS18で設定された識別情報を含むMPDファイルを生成する。MPDファイル生成部29は、生成されたMPDファイルをアップロード部30に供給し、処理をステップS22に進める。
ステップS22において、アップロード部30は、セグメントファイル生成部28から供給されるセグメントファイルとMPDファイル生成部29から供給されるMPDファイルとを、図1の配信サーバ13にアップロードし、処理を終了する。
(再生装置の構成例)
図11は、図1の再生装置14の構成例を示すブロック図である。
図11の再生装置14は、カメラ14A、MPD取得部220、MPD処理部221、セグメントファイル取得部222、デコーダ223、マッピング処理部226、描画部227、受け取り部228、および視線検出部229により構成される。
再生装置14のMPD取得部220は、MPDファイルを図1の配信サーバ13に要求し、取得する。MPD取得部220は、取得されたMPDファイルをMPD処理部221に供給する。
MPD処理部221は、MPD取得部220から供給されるMPDファイルを解析する。具体的には、MPD処理部221(選択部)は、アダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueのIが付与された値を、識別情報として認識する。そして、MPD処理部221は、各アダプテーションセット要素の識別情報に基づいて、所定の識別情報のアダプテーションセット要素を選択する。例えば、MPDファイルの構成が図7の構成である場合、MPD処理部221は、識別情報が1である、1つ目および2つ目のアダプテーションセット要素を選択する。
また、MPD処理部221は、所定の識別情報を含むアダプテーションセット要素の中から、マッピング処理部226によるマッピングの方式に対応する全天球画像の生成方法を含むアダプテーションセット要素を、再生対象のアダプテーションセット要素として選択する。
図11の例では、後述するように、マッピング処理部226によるマッピングの方式が、立方体を3Dモデルとしてマッピングを行う方式である。従って、MPD処理部221は、立方体を3Dモデルとしてマッピングを行うキューブマッピングを全天球画像の生成方法として含むアダプテーションセット要素を、再生対象のアダプテーションセット要素として選択する。即ち、MPD処理部221は、「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが「cube」であるアダプテーションセット要素を選択する。
MPD処理部221は、選択されたアダプテーションセット要素のリプレゼンテーション要素から、再生時刻のセグメントファイルのURL等の情報を取得し、セグメントファイル取得部222に供給する。また、MPD処理部221は、選択されたアダプテーションセット要素にマッピング情報が含まれる場合、そのマッピング情報をマッピング処理部226に供給する。
セグメントファイル取得部222は、MPD処理部221から供給されるURLに基づいて、そのURLで特定されるセグメントファイルを配信サーバ13に要求し、セグメントファイルを取得する。セグメントファイル取得部222は、取得されたセグメントファイルに含まれるキュービックストリームをデコーダ223に供給する。
デコーダ223は、セグメントファイル取得部222から供給されるキュービックストリームを復号し、全天球画像50を生成する。デコーダ223は、生成された全天球画像50をマッピング処理部226に供給する。
マッピング処理部226は、MPD処理部221からマッピング情報が供給された場合、マッピング情報に基づいて、デコーダ223から供給される全天球画像50内の基準画像を基準位置に配置し、回転角だけ回転させて、立方体40の面41乃至46のそれぞれにテクスチャとしてマッピングする。
一方、MPD処理部221からマッピング情報が供給されていない場合、マッピング処理部226は、全天球画像50をそのまま立方体40の面41乃至46のそれぞれにテクスチャとしてマッピングする。マッピング処理部226は、マッピングの結果得られる3Dモデル画像を描画部227に供給する。
描画部227は、マッピング処理部226から供給される3Dモデル画像を、視線検出部229から供給される視聴位置を焦点として、視聴者の視野範囲に透視投影することにより、視聴者の視野範囲の画像を表示画像として生成する。描画部227は、表示画像をヘッドマウントディスプレイ15に供給する。
受け取り部228は、図1のジャイロセンサ15Bの検出結果を、ヘッドマウントディスプレイ15から受け取り、視線検出部229に供給する。
視線検出部229は、受け取り部228から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデルの座標系における視聴者の視線方向を決定する。また、視線検出部229は、カメラ14Aからマーカ15Aの撮影画像を取得し、その撮影画像に基づいて、3Dモデルの座標系における視聴位置を検出する。視線検出部229は、3Dモデルの座標系における視聴位置と視線方向に基づいて、3Dモデルの座標系における視聴者の視野範囲を決定する。視線検出部229は、視聴者の視野範囲と視聴位置を描画部227に供給する。
なお、マッピング処理部226によるマッピングの方式は、球を3Dモデルとしてマッピングを行う方式であってもよい。
この場合、MPD処理部221は、球を3Dモデルとしてマッピングを行う正距円筒図法を用いた方法を全天球画像の生成方法として含むアダプテーションセット要素を、再生対象のアダプテーションセット要素として選択する。即ち、MPD処理部221は、「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが「equirectangular」であるアダプテーションセット要素を、再生対象のアダプテーションセット要素として選択する。その結果、セグメントファイル取得部222は、正距円筒ストリームのセグメントファイルを取得する。
(再生装置の処理)
図12は、図11の再生装置14の再生処理を説明するフローチャートである。
図12のステップS31において、再生装置14のMPD取得部220は、MPDファイルを図1の配信サーバ13に要求し、取得する。MPD取得部220は、取得されたMPDファイルをMPD処理部221に供給する。
ステップS32において、MPD処理部221は、MPDファイルの各アダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueのIが付与された値を、識別情報として認識する。
ステップS33において、MPD処理部221は、各アダプテーションセット要素の識別情報の中から所定の識別情報を再生対象の全天球画像の識別情報として選択する。
ステップS34において、MPD処理部221は、MPDファイルから、再生対象の全天球画像50のキュービックストリームのセグメントファイルのURLを取得する。具体的には、MPD処理部221は、MPDファイルに記述される、再生対象の全天球画像の識別情報と全天球画像の生成方法としてキューブマッピングとを含むアダプテーションセット要素のリプレゼンテーション要素から、再生時刻のセグメントファイルのURLを取得する。MPD処理部221は、取得されたURLを、セグメントファイル取得部222に供給する。
ステップS35において、セグメントファイル取得部222は、MPD処理部221から供給されるURLに基づいて、そのURLで特定されるセグメントファイルを配信サーバ13に要求し、セグメントファイルを取得する。セグメントファイル取得部222は、取得されたセグメントファイルに含まれるキュービックストリームをデコーダ223に供給する。
ステップS36において、デコーダ223は、セグメントファイル取得部222から供給されるキュービックストリームを復号し、全天球画像50を生成する。デコーダ223は、生成された全天球画像50をマッピング処理部226に供給する。
ステップS37において、受け取り部228は、ヘッドマウントディスプレイ15からジャイロセンサ15Bの検出結果を受け取り、視線検出部229に供給する。
ステップS38において、視線検出部229は、受け取り部228から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデルの座標系における視聴者の視線方向を決定する。
ステップS39において、カメラ14Aは、マーカ15Aの画像を撮影し、視線検出部229に供給する。ステップS40において、視線検出部229は、カメラ14Aから供給されるマーカ15Aの撮影画像に基づいて、3Dモデルの座標系における視聴位置を検出する。
ステップS41において、視線検出部229は、3Dモデルの座標系における視聴位置と視線方向に基づいて、視聴者の視野範囲を決定する。視線検出部229は、視聴者の視野範囲と視聴位置を描画部227に供給する。
ステップS42において、MPD処理部221は、再生対象の全天球画像の識別情報と、全天球画像の生成方法としてキューブマッピングとを含むアダプテーションセット要素にマッピング情報が含まれているかどうかを判定する。
ステップS42でマッピング情報が含まれていると判定された場合、MPD処理部221は、そのマッピング情報をマッピング処理部226に供給し、処理をステップS43に進める。
ステップS43において、マッピング処理部226は、マッピング情報に基づいて、デコーダ223から供給される全天球画像50を、立方体40の面41乃至46のそれぞれにテクスチャとしてマッピングする。これにより、立方体40の基準位置にマッピングされた全天球画像50は、基準傾きの基準画像になる。マッピング処理部226は、マッピングの結果得られる3Dモデル画像を描画部227に供給し、処理をステップS45に進める。
一方、ステップS42でマッピング情報が含まれていないと判定された場合、ステップS44において、マッピング処理部226は、全天球画像50を立方体40の面41乃至46のそれぞれにテクスチャとしてマッピングする。
アダプテーションセット要素にマッピング情報が含まれない場合、そのアダプテーションセット要素に対応する全天球画像50は、立方体40にマッピングするだけで、立方体40の基準位置に基準傾きの基準画像がマッピングされる全天球画像50である。従って、ステップS44の処理により、立方体40の基準位置には、基準傾きの基準画像がマッピングされる。マッピング処理部226は、マッピングの結果得られる3Dモデル画像を描画部227に供給し、処理をステップS45に進める。
ステップS45において、描画部227は、マッピング処理部226からの3Dモデル画像を、視線検出部229から供給される視聴位置を焦点として、視聴者の視野範囲に透視投影することにより、視聴者の視野範囲の画像を表示画像として生成する。
ステップS46において、描画部227は、表示画像を図1のヘッドマウントディスプレイ15に伝送して表示させ、処理を終了する。
以上のように、生成装置12は、MPDファイルに識別情報を設定する。従って、再生装置14は、識別情報に基づいて、全天球画像の生成に用いられた撮影画像を識別することができる。その結果、再生装置14は、同一の撮影画像から生成された全天球画像の中から、適切な全天球画像を再生対象として選択することができる。
また、生成装置12は、複数の生成方法で全天球画像を生成するので、生成装置12で生成された全天球画像を再生可能な再生装置を増加させることができる。
なお、第1実施の形態では、全天球画像の生成時に3Dモデルの基準位置に基準画像が基準傾きで投影されるかどうかによらず、MPDファイルにマッピング情報が記述されないようにしてもよい。
<第2実施の形態>
(生成装置の構成例)
本開示を適用した配信システムの第2実施の形態の構成は、生成装置と再生装置の構成を除いて、図1の配信システム10の構成と同一である。従って、以下では、生成装置と再生装置についてのみ説明する。
図13は、本開示を適用した配信システムの第2実施の形態における生成装置の構成例を示すブロック図である。
図13に示す構成のうち、図2の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図13の生成装置250の構成は、エンコーダ23、エンコーダ25、セグメントファイル生成部28、MPDファイル生成部29の代わりに、エンコーダ254-1乃至254-6、エンコーダ252、セグメントファイル生成部255、MPDファイル生成部256が設けられる点、および、新たに低解像度化部251と分割部253が設けられる点が、図2の生成装置12の構成と異なる。
生成装置250は、正距円筒図法を用いた方法により生成された全天球画像90を低解像度化して符号化し、キュービックマッピングにより生成された全天球画像50を分割して符号化する。
具体的には、生成装置250の低解像度化部251は、投影処理部24から供給される全天球画像90の水平方向と垂直方向の解像度を半分にすることにより低解像度化し、低解像度画像を生成する。低解像度化部251は、低解像度画像をエンコーダ252に供給する。
エンコーダ252は、低解像度化部251から供給される低解像度画像を1以上のビットレートで符号化し、低解像度ストリームを生成する。エンコーダ252は、低解像度ストリームをセグメントファイル生成部255に供給する。
分割部253は、投影処理部22から供給される全天球画像50を、6つの面41乃至46の画像51乃至56に分割する。分割部253は、各画像51乃至56を高解像度画像として、エンコーダ254-1乃至254-6に供給する。
エンコーダ254-1乃至254-6は、それぞれ、分割部253から供給される高解像度画像を1以上のビットレートで符号化する。エンコーダ254-1乃至254-6は、その結果生成される面41乃至46の高解像度ストリームをセグメントファイル生成部255に供給する。
セグメントファイル生成部255は、各ビットレートの低解像度ストリーム、各ビットレートの面41乃至46の高解像度ストリーム、およびオーディオストリームを、セグメント単位でファイル化する。セグメントファイル生成部255は、その結果生成されたセグメントファイルをアップロード部30に供給する。
MPDファイル生成部256は、MPDファイルを生成する。具体的には、MPDファイル生成部256は、MPDファイルに、低解像度ストリームおよび高解像度ストリームのセグメントファイルごとに、セグメントファイルに対応する撮影画像の識別情報としてのIDなどを設定する。
また、MPDファイル生成部256は、必要に応じて、MPDファイルに、低解像度ストリームおよび高解像度ストリームのセグメントファイルごとに、セグメントファイルに対応するマッピング情報を設定する。MPDファイル生成部256は、MPDファイルをアップロード部30に供給する。
(MPDファイルの第1の例)
図14は、図13のMPDファイル生成部256により生成されるMPDファイルの第1の例を示す図である。
図14の例では、ピリオド要素に対応する時間範囲の低解像度ストリーム、面41乃至46の高解像度ストリーム、およびオーディオストリームのセグメントファイルが、それぞれ、1つのグループにグルーピングされている。従って、図14のMPDファイルでは、ピリオド要素が、8つのアダプテーションセット要素を含んでいる。また、図14の例では、全天球画像50および全天球画像90の識別情報とマッピング情報は、図7の例と同一である。
先頭から1つ目のアダプテーションセット要素は、低解像度ストリームのセグメントファイルに対応する要素である。このアダプテーションセット要素は、水平方向のサイズwidthおよび垂直方向のサイズheightと、
「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueを除いて、図7の1つ目のアダプテーションセット要素と同一である。
即ち、1つ目のアダプテーションセット要素に対応する画像は、投影処理部24により生成される全天球画像90ではなく、低解像度画像である。また、低解像度画像の水平方向および垂直方向の解像度は、それぞれ、全天球画像90の水平方向および垂直方向の解像度の半分である。従って、1つ目のアダプテーションセット要素が有する水平方向のサイズwidthは960(=1920/2)画素であり、垂直方向のサイズheightが480(=960/2)画素である。
また、低解像度画像の生成に用いられた撮影画像は、全天球画像90の生成に用いられた撮影画像であり、その撮影画像の識別情報としてのIDは「1」である。しかしながら、図14の例では、低解像度画像のマッピング情報は、低解像度画像内の基準画像の位置の座標(480,240)と回転角0度である。従って、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1 B480,240,0」である。つまり、図14の場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付され、マッピング情報を格納するブロックの先頭に「B」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。
先頭から2乃至7つ目のアダプテーションセット要素は、それぞれ、面41乃至46の高解像度ストリームのセグメントファイルに対応する要素である。このアダプテーションセット要素は、水平方向のサイズwidthおよび垂直方向のサイズheightと、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:srd:2014”」を新たに含む点とを除いて、図7の2つ目のアダプテーションセット要素と同一である。
即ち、先頭から2乃至7つ目のアダプテーションセット要素に対応する画像は、投影処理部22により生成される全天球画像50ではなく、画像51乃至56である。従って、2乃至7つ目のアダプテーションセット要素が有する水平方向のサイズwidthおよび垂直方向のサイズheightは、画像51乃至56の水平方向および垂直方向の画素数である1024画素である。
また、先頭から2乃至7つ目のアダプテーションセット要素は、このアダプテーションセット要素に対応する画像が動画コンテンツの画像を分割した画像であることを示すSRD(Spatial Relationship Description)である「SupplementalProperty schemeIdUri=“urn:mpeg:dash:srd:2014”」を有する。
「SupplementalProperty schemeIdUri=“urn:mpeg:dash:srd:2014”」のvalueは、source_id, object_x, object_y, object_width, object_height, total_width, total_height,spatial_set_idである。
「source_id」は、このアダプテーションセット要素に対応する画像の分割前の画像(ここでは全天球画像50)を識別するIDである。また、「object_x」、「object_y」は、それぞれ、このアダプテーションセット要素に対応する画像の左上の位置の、分割前の画像(ここでは全天球画像50)上の水平方向の座標、垂直方向の座標である。「object_width」、「object_height」は、それぞれ、このアダプテーションセット要素に対応する画像の水平方向のサイズ、垂直方向のサイズである。さらに、「total_width」、「total_height」は、それぞれ、このアダプテーションセット要素に対応する画像の分割前の画像(ここでは全天球画像50)の水平方向のサイズ、垂直方向のサイズである。「spatial_set_id」は、このアダプテーションセット要素に対応する画像の分割の階層を識別するIDである。図14の例では、全天球画像50のIDは0である。
従って、画像51乃至56に対応する先頭から2つ目乃至7つ目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri=“urn:mpeg:dash:srd:2014”」のvalueは、それぞれ、「0,2048,1024,1024,1024,4096,3072,0」、「0,0,1024,1024,1024,1024,4096,3072,0」、「0,1024,0,1024,1024,4096,3072,0」、「0,1024,2048,1024,1024,4096,3072,0」、「0,1024,1024,1024,1024,4096,3072,0」、「0,3072,1024,1024,1024,4096,3072,0」である。
なお、図14の例では、全天球画像50および全天球画像90の生成時に3Dモデルの基準位置に基準画像が基準傾きで投影されないため、マッピング情報が記述されているが、投影される場合には、マッピング情報は記述されない。
先頭から8つ目のアダプテーションセット要素は、オーディオストリームのセグメントファイルに対応する要素である。
また、図14の例では、各アダプテーションセット要素は、1つのリプレゼンテーション要素を含んでいる。先頭から1乃至8つ目のアダプテーションセット要素のリプレゼンテーション要素には、例えば、そのリプレゼンテーション要素に対応するセグメントファイルのBaseURLとして、それぞれ、「equirectangular.mp4」、「cube1.mp4」乃至「cube6.mp4」、「audio.mp4」が記述されている。なお、図14では、セグメントインフォ要素の記述は省略している。
(生成装置の処理の説明)
図15は、図13の生成装置250のファイル生成処理を説明するフローチャートである。
図15のステップS61において、スティッチング処理部21は、フレームごとに、図1のカメラ11Aから供給される6方向の撮影画像に対してスティッチング処理を行う。スティッチング処理部21は、その結果得られるフレーム単位の撮影画像を投影処理部22と投影処理部24に供給する。
ステップS62において、投影処理部24は、正距円筒図法を用いた方法により、スティッチング処理部21から供給される撮影画像から全天球画像90を生成し、低解像度化部251に供給する。
ステップS63において、低解像度化部251は、投影処理部24から供給される全天球画像90を低解像度化し、低解像度画像を生成する。低解像度化部251は、低解像度画像をエンコーダ252に供給する。
ステップS64において、エンコーダ252は、低解像度化部251から供給される低解像度画像を符号化し、低解像度ストリームを生成する。エンコーダ252は、低解像度ストリームをセグメントファイル生成部255に供給する。
ステップS65において、投影処理部22は、キューブマッピングにより、スティッチング処理部21から供給される撮影画像から全天球画像50を生成し、分割部253に供給する。
ステップS66において、分割部253は、投影処理部22から供給される全天球画像50を、6つの面41乃至46の画像51乃至56に分割する。分割部253は、画像51乃至56を高解像度画像として、それぞれ、エンコーダ254-1乃至254-6に供給する。
ステップS67において、エンコーダ254-1乃至254-6は、それぞれ、面41乃至46の高解像度画像を符号化して高解像度ストリームを生成し、セグメントファイル生成部255に供給する。
ステップS68において、エンコーダ27は、図1のマイクロフォン11Bから音声取得部26を介して取得される音声を符号化し、オーディオストリームを生成する。エンコーダ27は、オーディオストリームをセグメントファイル生成部255に供給する。
ステップS69において、セグメントファイル生成部255は、各ビットレートの低解像度ストリーム、各ビットレートの面41乃至46の高解像度ストリーム、およびオーディオストリームをセグメント単位でファイル化し、セグメントファイルを生成する。セグメントファイル生成部255は、セグメントファイルをアップロード部30に供給する。
ステップS70乃至S74の処理は、図10のステップS18乃至S22の処理と同様であるので、説明は省略する。
(再生装置の構成例)
図16は、本開示を適用した配信システムの第2実施の形態における再生装置の構成例を示すブロック図である。
図16に示す構成のうち、図11の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図16の再生装置270の構成は、MPD処理部221、セグメントファイル取得部222、デコーダ223、マッピング処理部226、視線検出部229の代わりに、MPD処理部271、セグメントファイル取得部272、デコーダ273およびデコーダ274、マッピング処理部275、視線検出部276が設けられる点が、図11の再生装置14の構成と異なる。再生装置270は、視聴者の視聴位置から視線方向に延びる視線に対応する面の高解像度画像と低解像度画像から表示画像を生成する。
再生装置270のMPD処理部271は、MPD取得部220から供給されるMPDファイルを解析する。具体的には、MPD処理部271は、図11のMPD処理部221と同様に、各アダプテーションセット要素の識別情報を認識し、所定の識別情報のアダプテーションセット要素を選択する。例えば、MPDファイルの構成が図14の構成である場合、MPD処理部271は、識別情報が1である、先頭から1乃至7つ目のアダプテーションセット要素を選択する。
そして、MPD処理部271は、選択された所定の識別情報を含むアダプテーションセット要素の中から、低解像度画像のアダプテーションセット要素(図14の例では、SRDを含まないアダプテーションセット要素)を、再生対象の低解像度画像のアダプテーションセット要素として選択する。例えば、MPDファイルの構成が図14の構成である場合、MPD処理部271は、1つ目のアダプテーションセット要素を選択する。
また、MPD処理部271は、選択された所定の識別情報を含むアダプテーションセット要素の中から、高解像度画像のアダプテーションセット要素(図14の例では、SRDを含むアダプテーションセット要素)を選択する。例えば、MPDファイルの構成が図14の構成である場合、MPD処理部271は、2乃至7つ目のアダプテーションセット要素を選択する。
そして、MPD処理部271は、視線検出部276から供給される選択面情報(詳細は後述する)とSRDとに基づいて、高解像度画像のアダプテーションセット要素から、選択面情報が示す選択面のアダプテーションセット要素を、再生対象の高解像度画像のアダプテーションセット要素として選択する。
具体的には、MPD処理部271は、画像51乃至56のうちの、選択面情報が示す選択面に対応する画像の全天球画像50上の位置をvalueが示すアダプテーションセット要素を、再生対象の高解像度画像のアダプテーションセット要素として選択する。なお、選択面情報とは、面41乃至46のうちの視聴者の視線に対応する1つの面を選択面として示す情報である。
MPD処理部271は、再生対象の低解像度画像および高解像度画像のアダプテーションセット要素のリプレゼンテーション要素から、再生時刻のセグメントファイルのURL等の情報を取得し、セグメントファイル取得部272に供給する。また、MPD処理部271は、再生対象の低解像度画像および高解像度画像のアダプテーションセット要素にマッピング情報が含まれる場合、そのマッピング情報をマッピング処理部275に供給する。
セグメントファイル取得部272は、MPD処理部271から供給されるURLに基づいて、そのURLで特定されるセグメントファイルを配信サーバ13に要求し、セグメントファイルを取得する。セグメントファイル取得部272は、取得されたセグメントファイルに含まれる1本の低解像度ストリームをデコーダ273に供給し、1本の高解像度ストリームをデコーダ274に供給する。
デコーダ273は、セグメントファイル取得部272から供給される1本の低解像度ストリームを復号して低解像度画像を生成し、マッピング処理部275に供給する。
デコーダ274は、セグメントファイル取得部272から供給される1本の高解像度ストリームを復号して高解像度画像を生成し、マッピング処理部275に供給する。
マッピング処理部275は、MPD処理部271から低解像度画像のマッピング情報が供給された場合、そのマッピング情報に基づいて低解像度画像内の基準画像を基準位置に配置し、回転角λだけ回転させて、球70の面71乃至76のそれぞれにテクスチャとしてマッピングする。一方、MPD処理部271から低解像度画像のマッピング情報が供給されない場合、マッピング処理部275は、低解像度画像をそのまま、球70の面71乃至76のそれぞれにテクスチャとしてマッピングする。
なお、マッピング処理部275は、低解像度画像の全てをマッピングするのではなく、視線検出部276により決定される視聴者の視野範囲に透視投影される範囲を含む低解像度画像の一部のみをマッピングするようにしてもよい。
また、マッピング処理部275は、視線検出部276から供給される選択面情報に基づいて、球70の内部に選択面を3Dモデルとして設定する。マッピング処理部275は、MPD処理部271から高解像度画像のマッピング情報が供給された場合、そのマッピング情報に基づいて高解像度画像の基準画像を基準位置に配置し、回転角だけ回転させて、球70の内部に設定された選択面にテクスチャとしてマッピングする。一方、MPD処理部271から高解像度画像のマッピング情報が供給されない場合、マッピング処理部275は、高解像度画像をそのまま、球70の内部に設定された選択面にテクスチャとしてマッピングする。
そして、マッピング処理部275は、球70と選択面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給する。
視線検出部276は、受け取り部228から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデルの座標系における視聴者の視線方向を決定する。また、視線検出部276は、カメラ14Aからマーカ15Aの撮影画像を取得し、その撮影画像に基づいて視聴位置を検出する。
視線検出部276は、3Dモデルの座標系における視聴位置と視線方向に基づいて、面41乃至46のうちの、中心を通る法線が視聴者の視線に最も近い1つの面を選択面に決定する。視線検出部276は、選択面情報をMPD処理部271とマッピング処理部275に供給する。
また、視線検出部276は、3Dモデルの座標系における視聴位置と視線方向に基づいて、3Dモデルの座標系における視聴者の視野範囲を決定する。視線検出部276は、視聴者の視野範囲と視聴位置を描画部227に供給する。
(再生装置の処理)
図17は、図16の再生装置270の再生処理を説明するフローチャートである。
図17のステップS81乃至S83の処理は、図12のステップS31乃至S33の処理と同様であるので、説明は省略する。
ステップS84において、MPD処理部271は、MPDファイルから再生対象の低解像度ストリームのセグメントファイルのURLを取得する。具体的には、MPD処理部271は、MPDファイルに記述される、ステップS83で選択された識別情報を含む低解像度画像のアダプテーションセット要素のリプレゼンテーション要素から、再生時刻のセグメントファイルのURLを取得する。MPD処理部271は、取得されたURLをセグメントファイル取得部272に供給する。
ステップS85乃至S88の処理は、図12のステップS37乃至S40の処理と同様であるので、説明は省略する。
ステップS89において、視線検出部276は、視聴位置と視線方向に基づいて、選択面と視聴者の視野範囲を決定する。視線検出部276は、視聴者の視野範囲と視聴位置を描画部227に供給する。また、視線検出部276は、選択面情報をMPD処理部271とマッピング処理部275に供給する。マッピング処理部275は、選択面情報に基づいて、球70の内部に選択面を3Dモデルとして設定する。
ステップS90において、MPD処理部271は、MPDファイルから再生対象の高解像度ストリームのセグメントファイルのURLを取得する。具体的には、MPD処理部271は、MPDファイルに記述される、ステップS83で選択された識別情報と選択面情報が示す選択面に対応する高解像度画像の全天球画像50上の位置をvalueが示すSRDを含むアダプテーションセット要素のリプレゼンテーション要素から、再生時刻のセグメントファイルのURLを取得する。MPD処理部271は、取得されたURLをセグメントファイル取得部272に供給する。
ステップS91において、セグメントファイル取得部272は、MPD処理部271から供給されるURLに基づいて、そのURLで特定されるセグメントファイルを配信サーバ13に要求し、セグメントファイルを取得する。セグメントファイル取得部222は、取得されたセグメントファイルに含まれる低解像度ストリームをデコーダ273に供給し、高解像度ストリームをデコーダ274に供給する。
ステップS92において、デコーダ274は、セグメントファイル取得部272から供給される高解像度ストリームを復号して高解像度画像を生成し、マッピング処理部275に供給する。
ステップS93において、デコーダ273は、セグメントファイル取得部272から供給される低解像度ストリームを復号して低解像度画像を生成し、マッピング処理部275に供給する。
ステップS94において、MPD処理部271は、再生対象の低解像度ストリームのアダプテーションセット要素にマッピング情報が含まれているかどうかを判定する。ステップS94でマッピング情報が含まれていると判定された場合、MPD処理部271は、そのマッピング情報をマッピング処理部275に供給し、処理をステップS95に進める。
ステップS95において、マッピング処理部275は、MPD処理部271から供給される低解像度ストリームのマッピング情報に基づいて、デコーダ273から供給される低解像度画像を球70の面41乃至46のそれぞれにテクスチャとしてマッピングする。そして、処理はステップS97に進む。
一方、ステップS94でマッピング情報が含まれないと判定された場合、処理はステップS96に進む。ステップS96において、マッピング処理部275は、デコーダ273から供給される低解像度画像をそのまま、球70の面41乃至46のそれぞれにテクスチャとしてマッピングする。そして、処理はステップS97に進む。
ステップS97において、MPD処理部271は、再生対象の高解像度ストリームのアダプテーションセット要素にマッピング情報が含まれているかどうかを判定する。ステップS97でマッピング情報が含まれていると判定された場合、MPD処理部271は、そのマッピング情報をマッピング処理部275に供給し、処理をステップS98に進める。
ステップS98において、マッピング処理部275は、高解像度ストリームのマッピング情報に基づいて、高解像度画像を球70の内部に設定された選択面にテクスチャとしてマッピングする。マッピング処理部275は、球70と選択面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給し、処理をステップS100に進める。
一方、ステップS97でマッピング情報が含まれていないと判定された場合、処理はステップS99に進む。ステップS99において、マッピング処理部275は、高解像度画像を球70の内部に設定された選択面にそのままテクスチャとしてマッピングする。マッピング処理部275は、球70と選択面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給し、処理をステップS100に進める。
ステップS100およびS101の処理は、図12のステップS45およびS46の処理と同様であるので、説明は省略する。
以上のように、生成装置250は、MPDファイルに識別情報を設定する。従って、再生装置270は、識別情報に基づいて、同一の識別情報に対応する低解像度画像と高解像度画像を、同時に再生する画像として選択することができる。
また、生成装置250は、MPDファイルにマッピング情報を設定する。従って、再生装置270は、マッピング情報に基づいて低解像度画像と高解像度画像のマッピングを行うことにより、基準位置にマッピングされる低解像度画像と高解像度画像を基準傾きの基準画像にすることができる。その結果、低解像度画像と高解像度画像を同一の球70内に高精度で重ねてマッピングすることができる。
さらに、再生装置270は、面41乃至46のうちの、視聴者の視線に対応する1つの選択面の高解像度ストリームのみを取得する。従って、全ての面41乃至46の高解像度ストリームを取得する場合に比べて、生成装置250と再生装置270間の伝送量を削減することができる。
また、再生装置270は、視聴者の視線に対応する選択面の高解像度画像と、全ての面71乃至78の低解像度画像とを用いて3Dモデル画像を生成する。従って、視聴者の視野範囲の表示画像を高解像度画像から生成することができ、その結果、表示画像の画質が向上する。また、視聴者の視野範囲への透視投影に用いる3Dモデル画像の領域が高解像度画像以外の領域を含む場合や、視聴者の視野範囲が急激に変化した場合であっても、低解像度画像を用いて表示画像を生成することができる。
(MPDファイルの第2の例)
図18は、図13のMPDファイル生成部256により生成されるMPDファイルの第2の例を示す図である。
図18のMPDファイルの記述は、識別情報とマッピング情報が、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」ではなく、「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueとして設定される点が、図14の記述と異なる。
具体的には、全天球画像のアダプテーションセット要素に含まれる、「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが、全天球画像の生成方法、ID、および「X,Y,λ」である。
即ち、先頭から1つ目のアダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが、「equirectangular I1 B480,240,0」である。また、先頭から2乃至7つ目のアダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが、「cube I1 B1530,1524,0」である。この場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付され、マッピング情報を格納するブロックの先頭に「B」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。なお、全天球画像の生成方法を格納するブロックの先頭には何も付されていない。
また、先頭から1乃至7つ目のアダプテーションセット要素には、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」が記述されない。
(MPDファイルの第3の例)
図19は、図13のMPDファイル生成部256により生成されるMPDファイルの第3の例を示す図である。
図19のMPDファイルの記述は、マッピング情報が、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」ではなく、「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueとして設定される点が、図14の記述と異なる。
具体的には、全天球画像のアダプテーションセット要素に含まれる、「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが、全天球画像の生成方法とマッピング情報である。
従って、先頭から1つ目のアダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが、「equirectangular B480,240,0」である。また、先頭から2乃至7つ目のアダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueが、「cube B1530,1524,0」である。この場合も、図7の場合と同様に、valueの、マッピング情報を格納するブロックの先頭に「B」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。なお、全天球画像の生成方法を格納するブロックの先頭には何も付されていない。
また、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、IDである。即ち、1乃至7つ目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1」である。この場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付されている。
図19の例では、識別情報がマッピング情報とは異なるSupplementalPropertyのvalueで示されるので、マッピング以外の処理に識別情報を用いることが容易になる。
(MPDファイルの第4の例)
図20は、図13のMPDファイル生成部256により生成されるMPDファイルの第4の例を示す図である。
図20のMPDファイルの記述は、マッピング情報の種類を示す種類情報が新たに記述される点が、図14の記述と異なる。
即ち、上述した説明では、マッピング情報は、座標(X,Y)と回転角λであるようにした。しかしながら、上述したように、マッピング情報は、オイラー角(α,β,γ)やクォータニオン(q0, q1, q2, q3)であってもよい。
従って、図20の例では、マッピング情報が、座標(X,Y)と回転角λ、オイラー角(α,β,γ)、およびクォータニオン(q0, q1, q2, q3)のいずれであるかを示す情報が、種類情報として記述される。
具体的には、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」の「original_source_id」と「2016」の間に種類情報が設定される。
図21に示すように、種類情報(type)は、マッピング情報が座標(X,Y)と回転角λであることを示す場合「2dxy-3dr」であり、マッピング情報がオイラー角(α,β,γ)であることを示す場合「yxz-euler」である。また、種類情報は、マッピング情報がクォータニオン(q0, q1, q2, q3)であることを示す場合、「quaternion」である。
図20の例では、マッピング情報が座標(X,Y)と回転角λである。従って、先頭から1つ目のアダプテーションセット要素に含まれる、valueが「I1 B480,240,0」であるSupplementalPropertyは、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2dxy-3dr:2016”」である。
また、先頭から2乃至7つ目のアダプテーションセット要素に含まれる、valueが「I1 B1530,1524,0」であるSupplementalPropertyは、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2dxy-3dr:2016”」である。なお、この図20の場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付され、マッピング情報を格納するブロックの先頭に「B」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。
(MPDファイルの第5の例)
図22は、図13のMPDファイル生成部256により生成されるMPDファイルの第5の例を示す図である。
図22のMPDファイルの記述は、種類情報が「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueに設定される点が、図20の記述と異なる。
具体的には、全天球画像のアダプテーションセット要素に含まれる、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueが、IDと「種類情報,X,Y,λ」になる。
従って、先頭から1つ目のアダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1 B2dxy-3dr,480,240,0」である。また、先頭から2乃至7つ目のアダプテーションセット要素に含まれる「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1 B2dxy-3dr,1530,1524,0」である。なお、この図20の場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付され、マッピング情報を格納するブロックの先頭に「B」が付されている。つまり、この場合、マッピング情報が格納されるブロックの先頭に格納された種類情報に「B」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。
以上のように、図20および図22の例では、MPDファイルに種類情報が設定される。従って、MPDファイル生成部256は、MPDファイルに設定するマッピング情報の種類を複数種類の中から選択することができる。また、再生装置270は、MPDファイル生成部256がマッピング情報の種類を選択する場合であっても、種類情報により、マッピング情報の種類を認識することができる。その結果、再生装置270は、マッピング情報に基づくマッピングを正確に行うことができる。
なお、第1実施の形態のMPDファイルにおいても、図18の場合のように、識別情報とマッピング情報が、「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueに設定されるようにしてもよい。また、図19の場合のように、マッピング情報が「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueに設定されるようにしてもよい。さらに、図20や図22の場合のように、マッピング情報の種類が記述されるようにしてもよい。
<第3実施の形態>
(生成装置の構成例)
本開示を適用した配信システムの第3実施の形態の構成は、生成装置と再生装置の構成を除いて、図1の配信システム10の構成と同一である。従って、以下では、生成装置と再生装置についてのみ説明する。
図23は、本開示を適用した配信システムの第3実施の形態における生成装置の構成例を示すブロック図である。
図23に示す構成のうち、図13の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図23の生成装置300の構成は、分割部253、エンコーダ254-1乃至254-6、セグメントファイル生成部255の代わりに、透視投影部302-1乃至302-18、エンコーダ303-1乃至303-18、セグメントファイル生成部304が設けられる点、設定部301が新たに設けられる点、および投影処理部22が設けられない点が、図13の生成装置250の構成と異なる。
生成装置300は、正距円筒図法により生成された全天球画像を球70に投影し、18個の2次元平面に透視投影することにより18個の高解像度画像を生成する
。
具体的には、生成装置300の設定部301は、18個の視線方向に対応する描画面としての2次元平面の位置、傾き、およびサイズを示す2次元平面情報を設定する。設定部301は、各2次元平面情報を透視投影部302-1乃至302-18に供給する。
透視投影部302-1乃至302-18は、それぞれ、投影処理部24により生成された全天球画像90を球70に透視投影する。透視投影部302-1乃至302-18は、それぞれ、球70の中心を焦点として、球70に投影された全天球画像を、設定部301から供給される2次元平面情報が示す2次元平面に透視投影することにより、画像(透視投影画像)を生成する。これにより、生成された画像は、球70に投影された全天球画像90を球70の中心Oから所定の視線方向に向かって見た画像となる。透視投影部302-1乃至302-18は、それぞれ、生成された画像を高解像度画像としてエンコーダ303-1乃至303-18に供給する。
エンコーダ303-1乃至303-18は、それぞれ、透視投影部302-1乃至302-18から供給される高解像度画像を、1以上のビットレートで符号化する。エンコーダ303-1乃至303-18は、その結果生成される各2次元平面の高解像度ストリームをセグメントファイル生成部304に供給する。
なお、以下では、透視投影部302-1乃至302-18を特に区別する必要がない場合、それらをまとめて透視投影部302という。同様に、エンコーダ303-1乃至303-18をまとめてエンコーダ303という。
セグメントファイル生成部304は、各ビットレートの低解像度ストリーム、各ビットレートの各2次元平面の高解像度ストリーム、およびオーディオストリームを、セグメント単位でファイル化する。セグメントファイル生成部304は、その結果生成されたセグメントファイルをアップロード部30に供給する。
(2次元平面情報の構成例)
図24は、2次元平面情報の構成例を示す図である。
図24に示すように、2次元平面情報は、方位角、仰角、回転角、横画角、および縦画角により構成される。方位角と仰角は、2次元平面の位置を示す情報であり、回転角は、2次元平面の傾きを示す情報である。また、横画角と縦画角は、2次元平面のサイズを示す情報である。
具体的には、方位角と仰角は、それぞれ、図25に示すように、3次元モデルとしての球70の中心Oと2次元平面311の中心Cを結ぶ線と、中心Oと球70上の基準点Bとのなす水平方向(図25中矢印a方向)の角度、垂直方向(図25中矢印b方向)の角度である。また、回転角は、図25に示すように、中心Cと中心Oを結ぶ線を軸としたときの2次元平面311の回転方向(図25中矢印c方向)の角度である。なお、ここでは、2次元平面の中心Cの位置は、基準点Bから方位角、仰角、回転角の順に移動させることにより設定されるものとする。また、回転角は、例えば反時計周りが正方向である。
横画角は、図25に示すように、2次元平面311の横方向の2つの端部の中点sおよび中点qそれぞれと中心Oとを結んだ線のなす角度qosである。また、縦画角は、図25に示すように、2次元平面311の縦方向の2つの端部の中点pおよび中点rそれぞれと中心Oとを結んだ線のなす角度porである。
なお、2次元平面311は、球70の中心Oと2次元平面311の中心Cを通る線が法線となるように設定される。この法線は、中心Oを視聴位置としたときの、2次元平面311に対応する高解像度画像の視線方向である。
(2次元平面の例)
図26は、図23の設定部301により設定される18個の2次元平面の例を示す図であり、図27は、その18個の2次元平面の2次元平面情報の例を示す図である。
図26に示すように、設定部301は、球70の内部に球70の中心Oを中心として配置される立方体320の12本の各辺の中点と中心Oを結ぶ線321-1,321-2,321-4,321-5,321-7,321-9,321-11,321-12,321-14,321-15,321-16、および321-18を、中心を通る法線とする12個の2次元平面を設定する。
また、設定部301は、立方体320の6個の各面の中心と中心Oを結ぶ線321-3,321-6,321-8,321-10,321-13、および321-17を、中心を通る法線とする6個の2次元平面を設定する。
この場合、図27に示すように、線321-1乃至321-18を中心を通る法線とする18個の2次元平面の2次元平面情報のうちの方位角は、順に、-135,-90,-90,-90,-45,0,0,0,0,0,45,90,90,90,135,180,180,180である。また、仰角は、順に、0,45,0,-45,0,90,45,0,-45,-90,0,45,0,-45,0,45,0,-45である。
また、図27の例では、18個の2次元平面全ての回転角は0度に設定され、横画角と縦画角は90度に設定されている。
以上のように設定された18個の2次元平面では、隣り合う2次元平面どうしが重なり合う。従って、隣り合う2次元平面の高解像度画像には、球70に投影された同一の領域の全天球画像が存在する。
なお、2次元平面のサイズを示す情報は、横画角と縦画角ではなく、対角画角であってもよい。対角画角とは、図28に示すように、2次元平面325の対角の2つの頂点b(a)および頂点d(c)のそれぞれと球70の中心Oとを結ぶ線がなす角bod(aoc)である。
2次元平面のサイズを示す情報が横画角と縦画角である場合、対角画角である場合に比べて、その情報を見た人間が、2次元平面のサイズを理解しやすい。一方、2次元平面のサイズを示す情報が対角画角である場合、横画角と縦画角である場合に比べて、パラメータの数が少ないため、情報量を削減することができる。
(高解像度画像のSRDの設定方法の説明)
図29は、図23のMPDファイル生成部256による高解像度画像のSRDの設定方法を説明する図である。
図29の例では、透視投影部302-i(i=1,2,・・・,18)が、図27の先頭からi番目の2次元平面情報が示す2次元平面に全天球画像を透視投影することにより高解像度画像331-iを生成する。
この場合、MPDファイル生成部256は、高解像度画像331-1乃至331-18を、図29に示すように1つの仮想の全天球画像332上に配置し、高解像度画像331-1乃至331-18を仮想の全天球画像332を分割した分割画像として、高解像度画像331-1乃至331-18のSRDを設定する。以下では、高解像度画像331-1乃至331-18を特に区別する必要がない場合、それらをまとめて高解像度画像331という。
第3実施の形態では、図29に示すように、仮想の全天球画像332のサイズは8192画素×5120画素であり、高解像度画像331のサイズは1024画素×1024画素である。
(MPDファイルの第1の例)
図30は、図23のMPDファイル生成部256により生成されるMPDファイルの第1の例を示す図である。
図30の例では、ピリオド要素に対応する時間範囲の低解像度ストリーム、各高解像度画像331の高解像度ストリーム、およびオーディオストリームのセグメントファイルが、それぞれ、1つのグループにグルーピングされている。従って、図30のMPDファイルでは、ピリオド要素が、20個のアダプテーションセット要素を含んでいる。
先頭から1個目の低解像度ストリームのセグメントファイルに対応するアダプテーションセット要素は、図14の場合と同一であるので、説明は省略する。
先頭から2乃至19個目のアダプテーションセット要素は、各高解像度画像331の高解像度ストリームのセグメントファイルに対応する要素である。このアダプテーションセット要素は、全天球画像の生成方法、SRDのvalueに設定される情報、リプレゼンテーション要素、およびマッピング情報を除いて、図14の2つ目のアダプテーションセット要素と同一である。
具体的には、2乃至19個目のアダプテーションセット要素に対応する全天球画像は、仮想の全天球画像332である。従って、2乃至19個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueには、全天球画像の生成方法として、仮想の全天球画像332の生成方法を示す「cube-ex」が設定される。
なお、第3実施の形態では、18個の2次元平面が、立方体を構成する6個の面を有しており、仮想の全天球画像332が、キューブマッピングにより生成される全天球画像を含む。従って、ここでは、仮想の全天球画像332の生成方法を、キューブマッピング拡張方法と定義し、キューブマッピング拡張方法を示す情報を「cube-ex」とするが、仮想の全天球画像332の生成方法を示す情報は、これに限定されない。
また、2乃至19個目のアダプテーションセット要素が有するSRDのsource_idには、各高解像度画像331の分割前の画像である仮想の全天球画像332を識別するIDが設定される。図30の例では、このIDは0である。
また、2個目のアダプテーションセット要素に対応する高解像度画像331-1の左上の位置の仮想の全天球画像332上の座標は(0,2048)である。従って、2個目のアダプテーションセット要素が有するSRDのobject_xとobject_yには、それぞれ、0,2048が設定される。
同様にして、3乃至19個目のアダプテーションセット要素が有するSRDのobject_xには、それぞれ、1024,1024,1024,2048,3072,3072,3072,3072,3072,4096,5120,5120,5120,6144,7168,7168,7168が設定される。また、object_yには、それぞれ、1024,2048,3072,2048,0,1024,2048,3072,4096,2048,1024,2048,3072,2048,1024,2048,3072が設定される。
また、2乃至19個目のアダプテーションセット要素に対応する高解像度画像331の水平方向および垂直方向のサイズは全て1024画素である。従って、2乃至19個目のアダプテーションセット要素が有するSRDのobject_widthとobject_heightには、全て1024が設定される。
さらに、2乃至19個目のアダプテーションセット要素に対応する高解像度画像331の分割前の仮想の全天球画像332の水平方向のサイズは8192画素であり、垂直方向のサイズは5120画素である。従って、2乃至19個目のアダプテーションセット要素が有するSRDのtotal_widthには、全て8192が設定され、total_heightには、全て5120が設定される。
また、2乃至19個目のアダプテーションセット要素に対応する高解像度画像331は、仮想の全天球画像332を1度分割した画像である。従って、2乃至19個目のアダプテーションセット要素が有するSRDのspatial_set_idには、0が設定される。図30の例では、マッピング情報のうちの座標(X,Y)が(2554,3572)である。この図30の場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付され、マッピング情報を格納するブロックの先頭に「B」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。
さらに、図30の例では、先頭から2乃至19個目アダプテーションセット要素は、1つのリプレゼンテーション要素を含んでいる。先頭から2乃至19個目のアダプテーションセット要素のリプレゼンテーション要素には、そのリプレゼンテーション要素に対応するセグメントファイルのBaseURLとして、それぞれ、「cube1.mp4」乃至「cube18.mp4」が記述されている。
先頭から20個目のアダプテーションセット要素は、オーディオストリームのセグメントファイルに対応する要素であり、図14の先頭から8つ目のアダプテーションセット要素と同一であるので、説明は省略する。なお、図30では、セグメントインフォ要素の記述は省略している。
(生成装置の処理の説明)
図31は、図23の生成装置300のファイル生成処理を説明するフローチャートである。
図31のステップS121乃至S124は、図15のステップS61乃至S64の処理と同様であるので、説明は省略する。
ステップS125において、設定部301は、18個の視線方向321-1乃至321-18に対応する2次元平面情報を設定する。設定部301は、各2次元平面情報を透視投影部302に供給する。
ステップS126において、透視投影部302は、投影処理部24により生成された全天球画像90を球70に投影し、球70に投影された全天球画像90を、2次元平面情報が示す2次元平面に透視投影することにより、高解像度画像331を生成する。透視投影部302は、高解像度画像331をエンコーダ303に供給する。
ステップS127において、エンコーダ303は、透視投影部302から供給される高解像度画像を、1以上のビットレートで符号化する。エンコーダ303は、その結果生成される各2次元平面の高解像度ストリームをセグメントファイル生成部304に供給する。
ステップS128において、エンコーダ27は、図1のマイクロフォン11Bから音声取得部26を介して取得される音声を符号化し、オーディオストリームを生成する。エンコーダ27は、オーディオストリームをセグメントファイル生成部304に供給する。
ステップS129において、セグメントファイル生成部304は、各ビットレートの低解像度ストリーム、各ビットレートの各2次元平面の高解像度ストリーム、およびオーディオストリームをセグメント単位でファイル化し、セグメントファイルを生成する。セグメントファイル生成部304は、セグメントファイルをアップロード部30に供給する。
ステップS130乃至S134の処理は、図15のステップS70乃至S74の処理と同様であるので、説明は省略する。
(再生装置の構成例)
図32は、本開示を適用した配信システムの第3実施の形態における再生装置の構成例を示すブロック図である。
図32に示す構成のうち、図16の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図32の再生装置340の構成は、MPD処理部271、マッピング処理部275、視線検出部276の代わりに、MPD処理部341、マッピング処理部342、視線検出部343が設けられる点が、図16の再生装置270の構成と異なる。再生装置340は、視聴者の視線に対応する2次元平面の高解像度画像と低解像度画像から表示画像を生成する。
具体的には、再生装置340のMPD処理部341は、MPD取得部220から供給されるMPDファイルを解析する。具体的には、MPD処理部341は、図16のMPD処理部271と同様に、各アダプテーションセット要素の識別情報を認識し、所定の識別情報のアダプテーションセット要素を選択する。例えば、MPDファイルの構成が図30の構成である場合、MPD処理部は、識別情報が1である、先頭から1乃至19個目のアダプテーションセット要素を選択する。
そして、MPD処理部341は、選択された所定の識別情報を含むアダプテーションセット要素の中から、低解像度画像のアダプテーションセット要素(図30の例では、SRDを含まないアダプテーションセット要素)を、再生対象の低解像度画像のアダプテーションセット要素として選択する。例えば、MPDファイルの構成が図30の構成である場合、MPD処理部341は、1個目のアダプテーションセット要素を選択する。
また、MPD処理部341は、選択された所定の識別情報を含むアダプテーションセット要素の中から、高解像度画像のアダプテーションセット要素(例えば、図30の例では、SRDを含むアダプテーションセット要素)を選択する。例えば、MPDファイルの構成が図30の構成である場合、MPD処理部は、2乃至19個目のアダプテーションセット要素を選択する。
そして、MPD処理部341は、視線検出部343から供給される選択2次元平面情報(詳細は後述する)とSRDに基づいて、高解像度画像のアダプテーションセット要素から、選択2次元平面情報が示す選択2次元平面のアダプテーションセット要素を、再生対象の高解像度画像のアダプテーションセット要素として選択する。
具体的には、MPD処理部341は、各2次元平面と、その2次元平面の高解像度画像の仮想の全天球画像332上の位置の対応関係を示す対応情報を予め保持している。MPD処理部341は、対応情報に基づいて、選択2次元平面情報が示す選択2次元平面に対応する仮想の全天球画像332上の位置を認識する。MPD処理部341は、その位置をobject_xとobject_yが示すアダプテーションセット要素を、再生対象の高解像度画像のアダプテーションセット要素として選択する。なお、選択2次元平面情報とは、18個の2次元平面のうちの視聴者の視線に対応する1つの2次元平面を選択2次元平面として示す情報である。
MPD処理部341は、再生対象の低解像度画像および高解像度画像のアダプテーションセット要素のリプレゼンテーション要素から、再生時刻のセグメントファイルのURL等の情報を取得し、セグメントファイル取得部272に供給する。また、MPD処理部341は、再生対象の低解像度画像および高解像度画像のアダプテーションセット要素にマッピング情報が含まれる場合、そのマッピング情報をマッピング処理部342に供給する。
マッピング処理部342は、MPD処理部341から低解像度画像のマッピング情報が供給された場合、そのマッピング情報に基づいて低解像度画像内の基準画像を基準位置に配置し、回転角λだけ回転させて、球70の面71乃至76のそれぞれにテクスチャとしてマッピングする。一方、MPD処理部341から低解像度画像のマッピング情報が供給されない場合、マッピング処理部342は、低解像度画像をそのまま、球70の面71乃至76のそれぞれにテクスチャとしてマッピングする。
なお、マッピング処理部342は、低解像度画像の全てをマッピングするのではなく、視線検出部343により決定される視聴者の視野範囲に透視投影される範囲を含む低解像度画像の一部のみをマッピングするようにしてもよい。
また、マッピング処理部342は、視線検出部343から供給される選択2次元平面情報に基づいて、球70の内部に選択2次元平面を3Dモデルとして設定する。マッピング処理部342は、MPD処理部341から高解像度画像のマッピング情報が供給された場合、そのマッピング情報に基づいて高解像度画像の基準画像を基準位置に配置し、回転角だけ回転させて、球70の内部に設定された選択2次元平面にテクスチャとしてマッピングする。一方、MPD処理部341から高解像度画像のマッピング情報が供給されない場合、マッピング処理部342は、高解像度画像をそのまま、球70の内部に設定された選択2次元平面にテクスチャとしてマッピングする。
そして、マッピング処理部342は、球70と選択2次元平面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給する。
視線検出部343は、受け取り部228から供給されるジャイロセンサ15Bの検出結果に基づいて、3Dモデルの座標系における視聴者の視線方向を決定する。また、視線検出部343は、カメラ14Aからマーカ15Aの撮影画像を取得し、その撮影画像に基づいて視聴位置を検出する。
視線検出部343は、図23の設定部301と同様に、18個の2次元平面の2次元平面情報を設定する。視線検出部343は、3Dモデルの座標系における視聴位置、視線方向、および2次元平面情報に基づいて、18個の2次元平面のうちの、中心を通る法線が視聴者の視線に最も近い1つの2次元平面を選択2次元平面に決定する。視線検出部343は、選択2次元平面情報をMPD処理部341とマッピング処理部342に供給する。
また、視線検出部343は、3Dモデルの座標系における視聴位置と視線方向に基づいて、3Dモデルの座標系における視聴者の視野範囲を決定する。視線検出部343は、視聴者の視野範囲と視聴位置を描画部227に供給する。
(マッピングの説明)
図33は、図32のマッピング処理部342によるマッピングを説明する図である。
図33の例では、視聴位置が球70の中心Oである。この場合、中心Oから視線方向に延びる視線361と、基準位置と中心Oを結ぶ線とのなす、水平方向および垂直方向の角度、並びに、視線361の回転角に最も近い、方位角および仰角並びに回転角に対応する、中心Oから矢印362の方向に延びる線を、中心を通る法線とする2次元平面363が選択2次元平面として選択される。
従って、マッピング処理部342は、球70の内側に2次元平面363を3Dモデルとして設定する。そして、マッピング処理部342は、3Dモデルとしての球70に低解像度画像371をテクスチャとしてマッピングし、3Dモデルとしての2次元平面363に高解像度画像372をテクスチャとしてマッピングする。
以上のように、2次元平面363は、球70の内部に配置される。従って、描画部227は、低解像度画像371と高解像度画像372の両方が存在する方向から、2次元平面363より内側の視野範囲に透視投影を行う際、低解像度画像371に比べて高解像度画像372を優先的に用いることができる。
(再生装置の処理)
図34は、図32の再生装置340の再生処理を説明するフローチャートである。
図34のステップS141乃至S148の処理は、図17のステップS81乃至S88の処理と同様であるので、説明は省略する。
ステップS149において、視線検出部343は、3Dモデルの座標系における視聴位置、視線方向、および2次元平面情報に基づいて、18個の2次元平面のうちの、中心を通る法線が視聴者の視線に最も近い1つの2次元平面を選択2次元平面に決定する。視線検出部343は、選択2次元平面情報をMPD処理部341とマッピング処理部342に供給する。
ステップS150において、視線検出部343は、3Dモデルの座標系における視聴位置と視線方向に基づいて、3Dモデルの座標系における視聴者の視野範囲を決定する。視線検出部343は、視聴者の視野範囲と視聴位置を描画部227に供給する。
ステップS151において、MPD処理部341は、MPDファイルから再生対象の高解像度ストリームのセグメントファイルのURLを取得する。具体的には、MPD処理部341は、MPDファイルに記述される、ステップS143で選択された識別情報と選択2次元平面情報が示す選択2次元平面に対応する高解像度画像331の仮想の全天球画像332上の位置をvalueが示すSRDを含むアダプテーションセット要素のリプレゼンテーション要素から、再生時刻のセグメントファイルのURLを取得する。MPD処理部341は、取得されたURLをセグメントファイル取得部272に供給する。
ステップS152乃至S157の処理は、図17のステップS91乃至S96の処理と同様であるので、説明は省略する。
ステップS158において、マッピング処理部342は、視線検出部343から供給される選択2次元平面情報に基づいて、球70の内部に選択2次元平面を3Dモデルとして設定する。
ステップS159において、MPD処理部341は、再生対象の高解像度ストリームのアダプテーションセット要素にマッピング情報が含まれているかどうかを判定する。ステップS159でマッピング情報が含まれていると判定された場合、MPD処理部341は、そのマッピング情報をマッピング処理部342に供給し、処理をステップS160に進める。
ステップS160において、マッピング処理部342は、高解像度ストリームのマッピング情報に基づいて、高解像度画像を、ステップS158で設定された選択2次元平面にテクスチャとしてマッピングする。マッピング処理部342は、球70と選択2次元平面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給し、処理をステップS162に進める。
一方、ステップS159でマッピング情報が含まれていないと判定された場合、処理はステップS161に進む。ステップS161において、マッピング処理部342は、高解像度画像を、ステップS158で設定された選択2次元平面にそのままテクスチャとしてマッピングする。マッピング処理部342は、球70と選択2次元平面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給し、処理をステップS162に進める。
ステップS162およびS163の処理は、図17のステップS100およびS101の処理と同様であるので、説明は省略する。
なお、上述した説明では、生成装置300が、高解像度画像331を配置した仮想の全天球画像332を生成し、再生装置340が、対応情報を保持しておくことにより、SRDを用いて各高解像度画像331の2次元平面情報を生成装置300から再生装置340に通知することを可能にした。しかしながら、生成装置300は、SRDを用いずに、2次元平面情報そのものを再生装置340に通知するようにしてもよい。
(MPDファイルの第2の例)
図35は、この場合のMPDファイルの例を示す図である。
図35のMPDファイルは、先頭から2乃至19個目のアダプテーションセット要素に、全天球画像の生成方法をvalueで示す「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」とSRDが含まれず、2次元平面情報をvalueで示す「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」が記述される点と、「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueを除いて、図30のMPDファイルと同一である。
具体的には、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」のvalueには、IDと、方位角、仰角、回転角、横画角、および縦画角とが設定される。IDは、高解像度画像の生成に用いられた全天球画像がマッピングされた3Dモデルを識別するIDである。方位角は、2次元平面情報のうちの方位角である。
例えば、先頭から2個目のアダプテーションセット要素に対応する高解像度画像331-1に対応する2次元平面情報のうちの方位角、仰角、回転角、横画角、縦画角は、それぞれ、図27に示したように、-135,0,0,90,90である。従って、先頭から2個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」のvalueは、「I0 D-135,0,0,90,90」である。
同様に、先頭から3乃至19個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」のvalueは、それぞれ、「I0 D-90,45,0,90,90」、「I0 D-90,0,0,90,90」、「I0 D-90,-45,0,90,90」、「I0 D-45,0,0,90,90」、「I0 D0,90,0,90,90」、「I0 D0,45,0,90,90」、「I0 D0,0,0,90,90」、「I0 D0,-45,0,90,90」、「I0 D0,-90,0,90,90」、「I0 D45,0,0,90,90」、「I0 D90,45,0,90,90」、「I0 D90,0,0,90,90」、「I0 D90,-45,0,90,90」、「I0 D135,0,0,90,90」、「I0 D180,45,0,90,90」、「I0 D180,0,0,90,90」、「I0 D180,-45,0,90,90」である。つまりこの図35の場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付され、2次元平面情報等のデータを格納するブロックの先頭に「D」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。
また、MPDファイルに2次元平面情報そのものが記述される場合、マッピング情報を、全天球画像内の基準画像の位置の座標(X,Y)と回転角λで表すことはできない。従って、図35の例では、マッピング情報をオイラー角で表している。図35の例では、低解像度画像のオイラー角(α,β,γ)は(0,0,0)であり、高解像度画像331のオイラー角(α,β,γ)は(1,0,0)である。また、図35の例では、種類情報も記述される。
よって、図35のMPDファイルでは、先頭から1個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1 Byxz-euler,0,0,0」である。また、先頭から2乃至19個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri=“urn:mpeg:dash:original_source_id:2016”」のvalueは、「I1 Byxz-euler,1,0,0」である。つまり、この場合、マッピング情報が格納されるブロックの先頭に種類情報が格納され、「B」が付されている。
以上のように、MPDファイルに2次元平面情報そのものが記述される場合、生成装置300が仮想の全天球画像332に高解像度画像331を配置したり、再生装置340が、予め対応情報を保持しておいたりする必要がない。従って、2次元平面の設定の自由度が高まる。
その結果、例えば、注目されやすい前方向については、2次元平面の縦画角と横画角を90度に設定し、隣接する2次元平面どうしの間隔が45度になるように方位角、仰角、および回転角を設定するが、注目されにくい上方向や後方向については、2次元平面の縦画角と横画角を90度以上に設定し、最も注目されにくい下方向については、2次元平面を設定しないようにすることができる。また、注目されやすい方向を撮影画像の内容に応じて変更することもできる。
なお、第3実施の形態では、高解像度画像が2次元平面への透視投影により生成されたが、立体射影(stereographic)、等距離射影(equidistant)などにより生成されるようにしてもよい。この場合、高解像度画像を生成する際の2次元平面への投影方式(Projection方式)を示す情報がMPDファイルに設定される。
具体的には、例えば、図35の「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」の「Perspective」が、透視投影以外の投影方式を示す情報に変更される。または、図35の「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」の代わりに、描画面を示す情報と投影方式をvalueで示す「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Portion/2016"」が、MPDファイルに記述される。前者では、投影方式を示す情報がschemeIdUriで示されるが、後者では、valueで示される。
後者の場合、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Portion/2016"」のvalueには、ID、投影方式を示す情報、並びに、方位角、仰角、回転角、横画角、および縦画角が設定される。
投影方式として透視投影を示す情報は、例えば「Perspective」であり、立体射影を示す情報は、例えば「stereographic」であり、等距離射影を示す情報は、例えば「equidistant」である。
また、第3実施の形態では、18個の2次元平面が、立方体を構成する6個の面を含むため、18個の高解像度画像には、6個の面41乃至46の画像51乃至56が含まれている。従って、18個の高解像度画像のうちの6個の面41乃至46の画像51乃至56である高解像度画像(以下、共通画像という)を、第2実施の形態における再生装置270においても再生することができるように、MPDファイルが設定されるようにしてもよい。
(共通画像の2次元平面情報の説明)
図36は、図27の2次元平面情報のうちの、6個の共通画像の2次元平面情報を示す図である。
図36に示すように、6個の共通画像の2次元平面情報は、図27の2次元平面情報のうちの方位角と仰角が、それぞれ、-90と0、0と90、0と0、0と-90、90と0、180と0である2次元平面情報である。即ち、6個の共通画像は、高解像度画像331-3,331-6,331-8,331-10,331-13、および331-17である。
(MPDファイルの第3の例)
図37は、図16の再生装置270において共通画像をキューブマッピングにより生成された全天球画像を分割した高解像度画像として用いることができるように設定されたMPDファイルの一部の例を示す図である。
図37では、MPDファイルのうちの共通画像である高解像度画像331-3のアダプテーションセット要素についてのみ図示している。
図37のMPDファイルでは、高解像度画像331-3の高解像度ストリームのセグメントファイルが、2つのグループにグルーピングされる。従って、図37のMPDファイルでは、高解像度画像331-3に対応して2つのアダプテーションセット要素が記述される。
1つ目のアダプテーションセット要素では、高解像度画像331-3を面42の画像52として、各種の情報が記述される。具体的には、1つ目のアダプテーションセット要素は、リプレゼンテーション要素に記述されるBaseURLを除いて、図14の先頭から3つ目のアダプテーションセット要素と同一である。
即ち、1つ目のアダプテーションセット要素に対応する高解像度画像は、18個の高解像度画像331-1乃至331-18のうちの高解像度画像331-3である。従って、1つ目のアダプテーションセット要素内のリプレゼンテーション要素のBaseURLとしては、図30の先頭から4つ目のアダプテーションセット要素内のリプレゼンテーション要素にBaseURLとして記述される「cube3.mp4」が記述される。
また、2つ目のアダプテーションセット要素では、高解像度画像331-3を、線321-3を中心を通る法線とする2次元平面の高解像度画像として、各種の情報が記述される。具体的には、2つ目のアダプテーションセット要素は、SRDのsource_idに設定される値を除いて、図30の先頭から4つ目のアダプテーションセット要素と同一である。
即ち、高解像度画像331-3を面42の画像52とした際の分割前の画像は全天球画像50であるが、高解像度画像331-3を線321-3を中心を通る法線とする2次元平面の高解像度画像とした際の分割前の画像は仮想の全天球画像332である。従って、2つ目のアダプテーションセット要素のsource_idには、1つ目のアダプテーションセット要素のsource_idである0とは異なる1が設定される。
なお、図38に示すように、2つ目のアダプテーションセット要素は、図35の先頭から4つ目のアダプテーションセット要素と同一であってもよい。また、図示は省略するが、高解像度画像331-6,331-8,331-10,331-13、および331-17のアダプテーションセット要素についても、高解像度画像331-3のアダプテーションセット要素と同様に記述される。
図37や図38のMPDファイルが生成装置300により生成される場合、第2実施の形態における再生装置270は、全天球画像の生成方法を示す情報として「cube」を有するアダプテーションセット要素のみを抽出する。そして、再生装置270は、抽出されたアダプテーションセット要素に対応する6個の面41乃至46から視線に対応する面を選択し、選択面の高解像度画像と低解像度画像を用いて表示画像を生成する。
一方、第3実施の形態における再生装置340は、図37のMPDファイルが生成装置300により生成される場合、全天球画像の生成方法を示す情報として「cube-ex」を有するアダプテーションセット要素のみを抽出する。また、図38のMPDファイルが生成装置300により生成される場合、再生装置340は、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」を有するアダプテーションセット要素のみを抽出する。そして、再生装置340は、抽出されたアダプテーションセット要素に対応する18個の2次元平面から視線に対応する面を選択し、選択面の高解像度画像と低解像度画像を用いて表示画像を生成する。
なお、第3実施の形態では、2次元平面情報に対応する撮影方向、傾き、および画角で撮影画像を撮影することにより、撮影画像そのものを高解像度画像として用いることもできる。この場合、生成装置300は、透視投影を行う必要がない。
また、第3実施の形態では、同一の全天球画像から低解像度画像と高解像度画像が生成されたが、低解像度画像と高解像度画像の生成に用いられる全天球画像の生成方法は異なっていてもよい。また、同一の全天球画像から低解像度画像と高解像度画像が生成される場合、マッピング情報は記述されなくてもよい。
<第4実施の形態>
(2次元平面情報の構成例)
本開示を適用した配信システムの第4実施の形態の構成は、2次元平面情報の構成を除いて、第3実施の形態の構成と同一である。従って、以下では、2次元平面情報についてのみ説明する。
図39は、第4実施の形態における2次元平面情報を示す描画面情報の構成例を示す図である。
図39の描画面情報の構成は、FOV_flag、全横画角、全縦画角、およびspatial_set_idが新たに含まれる点が、図24の構成と異なっている。
FOV_flag(面種類情報)は、このFOV_flagを含む情報に対応する描画面(視野)が球面であるか、または、2次元平面であるかを示すフラグである。描画面情報が2次元平面情報を示す場合、FOV_flagは、描画面が2次元平面であることを示す1である。
FOV_flagにより、描画面が球面である場合、例えば、正距円筒図法を用いて生成された全天球画像の一部が高解像度画像として生成される場合等の描画面を示す情報の構成を、2次元平面情報と同様にすることができる。即ち、FOV_flagを変更することにより、このFOV_flagを含む情報を、2次元平面情報、または、描画面として球面を示す情報に容易に変更することができる。描画面として球面を示す情報に含まれるFOV_flagは、描画面が球面であることを示す0である。
再生装置340は、FOV_flagにより、このFOV_flagに対応する高解像度画像が、2次元平面への透視投影により生成される画像であるか、球面への透視投影により生成される画像であるかを認識することができる。
FOV_flagが1である場合、全横画角と全縦画角は、それぞれ、この全横画角と全縦画角を含む2次元平面情報が示す2次元平面のグループ(詳細は後述する)に属する2次元平面全体の横方向の画角、縦方向の画角である。FOV_flagが0である場合も同様である。以降、FOV_flagが1である場合について記述するが、特に説明しない限り、FOV_flagが0である場合も同様である。
再生装置340は、全横画角と全縦画角により、グループに属する1つの2次元平面の2次元平面情報を解析するだけで、そのグループに対応する高解像度画像で表現可能な視野範囲を認識することができる。従って、高解像度画像で表現不可能な視野範囲の2次元平面情報を無駄に探索することを防止することができる。グループに属する2次元平面により球や立方体などの3次元物体が構成される場合、全横画角は360度であり、全縦画角は180度である。
spatial_set_idは、このspatial_set_idを含む2次元平面情報が示す2次元平面が属するグループを示す、グループに固有のIDである。2次元平面は、例えば、横画角や縦画角、2次元平面の種類、解像度などによりグループ化される。
2次元平面が横画角によりグループ化される場合、例えば、同一の横画角ごとに2次元平面がグループ化される。ヘッドマウントディスプレイ15などの表示デバイスは、表示デバイスの種類によって表示画角が異なるため、表示に適切な2次元平面の横画角は表示デバイスの種類によって異なる。従って、再生装置340は、ヘッドマウントディスプレイ15の表示に適切な横画角の2次元平面情報を容易に認識できることが望ましい。
2次元平面が同一の横画角ごとにグループ化される場合、再生装置340は、ヘッドマウントディスプレイ15の表示に適切な横画角に対応するグループの2次元平面情報を、ヘッドマウントディスプレイ15の表示に適切な横画角の2次元平面情報として容易に認識することができる。縦画角についても、横画角と同様である。
また、2次元平面が2次元平面の種類によりグループ化される場合、例えば、2次元平面は、キューブマッピングにより生成される全天球画像の描画面である、立方体を構成する6つの面のいずれかであるかどうかでグループ化される。この場合、図26で説明した18個の2次元平面のうちの、立方体を構成する6つの面が、1つのグループにグループ化され、その他の面が、他のグループにグループ化される。
(FOV_flagの説明)
図40は、FOV_flagが0である場合の描画面を説明する図である。
FOV_flagが0である場合、高解像度画像は、図40のAに示すように、球70の表面の一部の領域391に投影された撮影画像、即ち、図40のBに示すように、正距円筒図法を用いて生成された全天球画像90の部分画像392である。
この場合、部分画像392の描画面、即ち領域391の横画角は、球70の中心Oを含む水平面における領域391の角度poqであり、縦画角は、中心Oを含む水平面に垂直な垂直面における領域391の角度aobである。図40の例では、角度poqと角度aobは30度である。
これに対して、FOV_flagが1である場合、高解像度画像の描画面は2次元平面である。従って、横画角は図25で示した角度qosであり、縦画角は、図25で示した角度porである。
(MPDファイルの第1の例)
図41は、図39の2次元情報を記述するMPDファイルの第1の例を示す図である。
図41のMPDファイルは、投影方式が透視投影である場合の2次元平面情報をvalueで示すschemeIdUriである「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」のvalueに、新たにspatial_set_id、全横画角、および全縦画角が設定される点が、図35のMPDファイルと異なっている。
具体的には、図41の「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」のvalueには、IDおよびspatial_set_idと、方位角、仰角、回転角、横画角、縦画角、全横画角、および全縦画角が設定される。
また、図41の例では、高解像度画像331-1乃至331-18に対応する2次元平面が全て同一のグループにグループ化され、そのグループにID「1」が付与されている。また、高解像度画像331-1乃至331-18に対応する18個の2次元平面には、立方体40を構成する6つの面41乃至46が含まれている。従って、18個の2次元平面全体の全横画角と全縦画角は、それぞれ、360度、180度である。
従って、先頭から2個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」のvalueは、「I0,1 D-135,0,0,90,90,360,180」である。
また、先頭から3乃至19個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」のvalueは、それぞれ、「I0,1 D-90,45,0,90,90,360,180」、「I0,1 D-90,0,0,90,90,360,180」、「I0,1 D-90,-45,0,90,90,360,180」、「I0,1 D-45,0,0,90,90,360,180」、「I0,1 D0,90,0,90,90,360,180」、「I0,1 D0,45,0,90,90,360,180」、「I0,1 D0,0,0,90,90,360,180」、「I0,1 D0,-45,0,90,90,360,180」、「I0,1 D0,-90,0,90,90,360,180」、「I0,1 D45,0,0,90,90,360,180」、「I0,1 D90,45,0,90,90,360,180」、「I0,1 D90,0,0,90,90,360,180」、「I0,1 D90,-45,0,90,90,360,180」、「I0,1 D135,0,0,90,90,360,180」、「I0,1 D180,45,0,90,90,360,180」、「I0,1 D180,0,0,90,90,360,180」、「I0,1 D180,-45,0,90,90,360,180」である。つまりこの図35の場合も、図7の場合と同様に、valueの、識別情報を格納するブロックの先頭に「I」が付されている。なお、データを格納するブロックの先頭には「D」が付されている。また、ブロック内の各情報はカンマ(,)で区切られ、ブロック間は、スペースで区切られている。
なお、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」は、投影方式が透視投影である場合のschemeIdUriであるため、このschemeIdUriが記述される場合、描画面は必ず2次元平面である。従って、図41の例では、FOV_flagがvalueとして設定されないようにしたが、設定されるようにしてもよい。
また、第3実施の形態と同様に、投影方式としては透視投影以外の方式が採用されてもよい。この場合、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」の「Perspective」が、投影方式を示す他の情報(例えば、「stereographic」、「equidistant」)に変更される。
なお、投影方式は、valueで示されてもよい。この場合、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」の代わりに、描画面を示す情報と投影方式をvalueで示す「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Portion/2016"」が、MPDファイルに記述される。そして、valueには、IDおよびspatial_set_id、投影方式を示す情報、FOV_flag、方位角、仰角、回転角、横画角、縦画角、全横画角、および全縦画角が設定される。
従って、例えば、投影方式が透視投影である場合、図41の先頭から2個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」は、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/portion/2016"」になり、valueは、「I0,1 Pperspective D1,-135,0,0,90,90,360,180」になる。なお、この場合、投影方式を格納するブロックの先頭には「P」が付されている。
以上のように、投影方式をvalueで示す場合、valueを変更するだけで投影方式の拡張に対応することができる。従って、投影方式をschemeIdUriで示す場合に比べて投影方式の拡張への対応が容易である。また、投影方式をvalueで示す場合、描画面を示す情報をvalueで示すschemeIdUriは全投影方式で共通であるため、このschemeIdUriの記述によって、描画面が球面と2次元平面のいずれであるか判断することはできない。従って、この場合、valueには、FOV_flagが設定される。
また、第4実施の形態においても、第3実施の形態と同様に、共通画像を再生装置270においても再生することができるように、MPDファイルが設定されるようにしてもよい。
(MPDファイルの第2の例)
図42は、この場合のMPDファイルの一部の例を示す図である。
図42のMPDファイルは、2つ目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016”」のvalueが、図41の先頭から4個目のアダプテーションセット要素と同一になる点が、図38のMPDファイルと異なっている。
また、第4の実施例において、MPDファイルには、描画面情報が、全天球映像の生成方法とSRD情報とともに記述されるようにしてもよい。
図43は、この場合のMPDファイルの一部の例を示す図である。図43において、各アダプテーションセット要素の「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/cordinates/2015”」のvalueには、全天球映像の生成方法が設定される。
また、各アダプテーションセット要素の「SupplementalProperty schemeIdUri=“http://xmlns.sony.net/metadata/mpeg/dash/360VR/Portion/2016”」のvalueには、描画面情報として、ID, spatial_set_id, FOV_flag, 方位角、仰角、回転角、横画角、縦画角、全横画角、および全縦画角が設定される。投影方式は、前記全天球映像の生成方法から判別可能であるため設定されないようにしたが、設定されるようにしてもよい。
さらに、2番目乃至4番目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=“urn:mpeg:dash:srd:2014”」のvalueにはSRD情報が設定される。
なお、上述した描画面情報におけるID, spatial_set_id,全横画角、および全縦画角は、その描画面情報がSRD情報とともにアダプテーションセット要素に記述される場合、省略してもよい。また、各アダプテーションセット要素に記述される描画面情報が、マッピング情報を含んだ情報となっている場合、マッピング情報の記述は省略してもよい。
図44は、図43に示されるMPDファイルにより設定されるキューブストリームの3Dモデルの例を示す斜視図である。この場合、撮影画像は、立方体の6つの面(分割1乃至分割6)に投影される。この各面を展開したSRD情報は、例えば図45のようになる。また、描画面情報は例えば図46のようになる。
また、第4実施の形態において、MPDファイルには、全天球画像の3Dモデルとしての球70の半径をメートル単位で示す距離情報が記述されるようにしてもよい。
(MPDファイル第3の例)
図47は、この場合のMPDファイルの例を示す図である。
図47のMPDファイルは、各アダプテーションセット要素に、距離情報をvalueで示す「SupplementalProperty schemeIdUri=http://xmlns.sony.net/metadata/mpeg/dash/360VR/sphere_radius/2016」が新たに記述される点が、図41のMPDファイルと異なる。
図41の例では、球70の半径が10メートルである。従って、図41の先頭から2乃至19個目のアダプテーションセット要素の「SupplementalProperty schemeIdUri=http://xmlns.sony.net/metadata/mpeg/dash/360VR/sphere_radius/2016」のvalueには、10が設定される。
なお、距離情報には、球70の半径そのものを示す情報だけでなく、球70の半径が無限遠であることを示す「inf」や不明であることを示す「und」が含まれるようにしてもよい。距離情報が「und」である場合、球70の半径は、再生装置340により推測される。また、距離情報の単位は、メートル単位以外の単位であってもよい。
第1乃至第3実施の形態においても、第4実施の形態と同様に、MPDファイルに球70の半径が記述されるようにしてもよい。
以上のように、MPDファイルに球70の半径を記述することにより、再生装置14(270,340)は、適切な奥行き感のある表示画像を視聴者に提供することができる。
即ち、ヘッドマウントディスプレイ15などの表示デバイスでは、両目用に別々の画像を表示することができる。従って、再生装置14(270,340)は、例えば、表示画像を所定の距離だけ右方向と左方向にずらして、左目用の表示画像と右目用の表示画像を生成し、ヘッドマウントディスプレイ15に表示させることにより、表示画像の奥行き感を発生させることができる。左目用の表示画像と右目用の表示画像のずれが大きい場合、視聴者は、表示画像における被写体が手前側にあると認識し、ずれが小さい場合、被写体が奥側にあると認識する。
しかしながら、再生装置14(270,340)は、左目用の表示画像と右目用の表示画像の適切なずれ量がわからない。従って、生成装置12(250,300)は、MPDファイルに球70の半径を記述する。これにより、再生装置14(270,340)は、球70の半径に基づいて左目用の表示画像と右目用の表示画像の適切なずれ量を算出することができる。その結果、適切な奥行き感のある表示画像を視聴者に提供することができる。
なお、第1乃至4実施の形態では、value値を区切る方法として、スーペースとアルファベットによって区切る方法と、コンマで区切る方法の両方が用いられるが、コンマで区切る方法のみが用いられるようにしてもよい。
この場合、例えば、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/portion/2016"」のvalueには、「ID,projection,FOV_flag,方位角,仰角,回転角,横画角,縦画角,全横画角,全縦画角,spatial_set_id」が設定される。
従って、例えば、投影方式が透視投影である場合、図41の先頭から2個目のアダプテーションセット要素が有する「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/Perspective-Portion/2016"」は、「SupplementalProperty schemeIdUri="http://xmlns.sony.net/metadata/mpeg/dash/360VR/portion/2016"」になり、valueは、「0,perspective,1,-135,0,0,90,90,360,180,1」になる。
<第5実施の形態>
(生成装置の構成例)
本開示を適用した配信システムの第5実施の形態は、第4実施の形態でMPDファイルに設定された画像(低解像度画像、高解像度画像)に関する各種の情報をセグメントファイルに設定する点が、第4実施の形態と異なる。従って、以下では、生成装置と再生装置以外の処理の説明は、適宜省略する。
図48は、本開示を適用した生成装置の第5実施の形態の構成例を示すブロック図である。
図48に示す構成のうち、図23の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図48の生成装置400の構成は、セグメントファイル生成部304、MPDファイル生成部256の代わりに、セグメントファイル生成部401、MPDファイル生成部402が設けられる点が、図23の生成装置300の構成と異なる。
セグメントファイル生成部401は、ビットレートおよびセグメントごとに、低解像度ストリーム、各2次元平面の高解像度ストリーム、およびオーディオストリームをまとめて、MP4ファイルフォーマットにしたがってファイル化し、セグメントファイルを生成する。
具体的には、セグメントファイル生成部401は、ビットレートおよびセグメントごとに、所定の時間単位の低解像度ストリーム、各2次元平面の高解像度ストリーム、およびオーディオストリームをそれぞれサンプルとして、セグメントファイルに配置する。また、セグメントファイル生成部401(設定部)は、セグメントファイルに、そのセグメントファイルに配置されるサンプルに対応する画像に関する各種の情報を設定する。セグメントファイル生成部401は、セグメントファイルをアップロード部30に供給する。
MPDファイル生成部402は、MPDファイルを生成する。このMPDファイルには、第4実施の形態のように画像に関する各種の情報は設定されない。MPDファイル生成部402は、MPDファイルをアップロード部30に供給する。
なお、第5実施の形態では、画像の符号化方式はHEVC(High Efficiency Video Coding)であるものする。
(画像に関する各種の情報の設定方法の説明)
図49は、図48のセグメントファイル生成部401による画像に関する各種の情報の設定方法を説明する図である。
セグメントファイルは、MP4ファイルフォーマットのファイルであり、図49に示すボックス構造を有する。図49において、4文字のアルファベットは、ボックスの名前を表し、その名前の横方向の位置は、その名前のボックスの層を表している。層は、右側ほど低い。
図49に示すように、図48のセグメントファイル生成部401による画像に関する各種の情報の設定方法としては、例えば、第1乃至第5の方法がある。
具体的には、画像に関する各種の情報がトラック内で変化しない場合、画像に関する各種の情報は、第1乃至第3の方法のいずれかでトラック単位で設定される。
第1の方法では、画像に関する各種の情報は、moovボックスの下層の、トラックごとに設けられるtrakボックスの下層の、画像の符号化方式であるHEVCのConfiguration BoxであるhvcCボックス(HEVC Configuration Box)に設定される。
第2の方法では、画像に関する各種の情報は、trakボックスの下層のstsdボックスに含まれるHEVCの画像のVisual Sample Entry(hev1ボックス)に設定される。
第3の方法では、画像に関する各種の情報は、trakボックスの下層の復号後の処理に必要な情報を格納するrinf ボックス(Restricted Scheme Info box)の下層のschiボックスに設定される。
また、画像に関する各種の情報の少なくとも一部がトラック内で変化する場合、画像に関する各種の情報は、第4または第5の方法で設定される。
第4の方法では、画像に関する各種の情報のうちの、少なくともトラック内で変化する情報が、サンプル単位で、sbgpボックス(SampleToGroupBox)とsgpd(SampleGroupDescriptionBox)ボックスを用いてサンプルグループという手法で設定される。
第5の方法では、画像に関する各種の情報のうちの、少なくともトラック内で変化する情報が、サンプル単位で、画像に関する各種の情報に割り当てられたトラックのサンプルにtimed metadataとして設定される。
(第1の方法の説明)
図50は、図48のセグメントファイル生成部401により第1の方法で画像に関する各種の情報が設定される場合のhvcCボックスの構成例を示す図である。
図50に示すように、セグメントファイル生成部401により第1の方法で画像に関する各種の情報が設定される場合、hvcCボックスが、トラック単位の画像に関する各種の情報を含むscriボックス(Spherical Coordinate Region Info Box)を含むように拡張される。
なお、第5実施の形態では、画像の符号化方式がHEVCであるのでhvcCボックスが拡張されたが、画像の符号化方式がHEVC以外である場合には、hvcCボックスではなく、その符号化方式のConfiguration Boxがscriボックスを含むように拡張される。
図51は、scriボックスの構成例を示す図である。
図51に示すように、scriボックスには、画像に関する各種の情報が設定される。具体的には、高解像度画像を生成する際の2次元平面への投影方式を示す情報がprojection_typeとして設定される。
全天球画像の生成に用いられた撮影画像の識別情報としてのIDがidとして設定される。FOV_flagが設定される。2次元平面情報を構成する方位角がobject_yawとして設定され、仰角がobject_pitchとして設定され、回転角がobject_rollとして設定され、横画角がobject_widthとして設定され、縦画角がobject_heightとして設定される。
また、全横画角がtotal_widthとして設定され、全縦画角がtotal_heightとして設定される。なお、全横画角が360度である場合total_widthは省略可能であり、全縦画角が180度である場合total_heightは省略可能である。さらに、距離情報がsphere_radiusとして設定され、spatial_set_idが設定される。spatial_set_idが0である場合、spatial_set_idは設定されなくてもよい。
なお、同一のidが設定されるscriボックスに対応するトラックが割り当てられた低解像度画像および高解像度画像は、同一の3Dモデルにマッピング可能である。
また、同一のspatial_set_idが示すグループに属する複数の高解像度画像に対して異なるトラックが割り当てられる場合であっても、total_width,total_heightとしては、全横画角、全縦画角が設定される。即ち、この場合、total_width,total_heightとしては、複数のトラックに割り当てられた、同一のspatial_set_idが示すグループに属する複数の高解像度画像に対応する2次元平面全体の横方向の画角、縦方向の画角が設定される。
全天球画像の生成に用いられた撮影画像の識別情報としてのIDが同一である複数の画像(低解像度画像、高解像度画像)に対して複数のトラックが割り当てられる場合、セグメントファイル生成部401は、そのIDをidとしてscriボックスに設定せずに、そのIDが同一であるトラックをグルーピングするようにしてもよい。
この場合、図52に示すように、trakボックスの下層のtrefボックス(Track Reference Box)を用いて、全天球画像の生成に用いられた撮影画像の識別情報としてのIDが同一であるトラックどうしのグルーピングが行われる。
具体的には、trefボックスに含まれるトラックの参照関係を示すTrack Reference Type Boxの参照関係の種類を示すreference_typeとして、全天球画像の生成に用いられた撮影画像の識別情報としてのIDが同一であることを示す「spid」が設定される。そして、reference_typeが「spid」であるTrack Reference Type Boxには、このTrack Reference Type Boxに対応するトラックと、全天球画像の生成に用いられた撮影画像の識別情報としてのIDが同一である他のトラックのIDが、参照するトラックのトラックIDであるtrack_IDsとして設定される。
同様に、spatial_set_idが同一である複数の高解像度画像に対して複数のトラックが割り当てられる場合、セグメントファイル生成部401は、spatial_set_id をscriボックスに設定せずに、spatial_set_idが同一であるトラックをグルーピングするようにしてもよい。この場合、reference_typeは、spatial_set_idが同一であることを示す「spsi」である。
(第2の方法の説明)
図53は、図48のセグメントファイル生成部401により第2の方法で画像に関する各種の情報が設定される場合のVisual Sample Entryの構成例を示す図である。
図53に示すように、セグメントファイル生成部401により第2の方法で画像に関する各種の情報が設定される場合、画像のSample EntryであるVisual Sample Entryが、図51のscriボックスを含むように拡張される。従って、第2の方法では、画像の符号化方式によって、scriボックスを含むように拡張するボックスは変化しない。
第5実施の形態では、画像の符号化方式はHEVCであるため、画像に関する各種の情報が設定されるVisual Sample Entry は、HEVCの画像のVisual Sample Entry(hev1ボックス)である。
(第3の方法の説明)
図54は、図48のセグメントファイル生成部401により第3の方法で画像に関する各種の情報が設定される場合のschiボックスの構成例を示す図である。
図54に示すように、セグメントファイル生成部401により第3の方法で画像に関する各種の情報が設定される場合、schiボックスが、図51のscriボックスを含むように拡張される。拡張されたschiボックスと同層のschmボックス(Scheme Type Box)の、そのschiボックスに格納される情報を用いる復号後の処理の種類を表すscheme_typeは、マッピング処理を示す「scri」に設定される。
第3の方法では、画像の符号化方式によって、scriボックスを含むように拡張するボックスは変化しない。
なお、第2の方法および第3の方法においても、第1の方法と同様に、セグメントファイル生成部401は、idやspatial_set_idを設定せず、trefボックスを用いて全天球画像の生成に用いられた撮影画像の識別情報としてのIDやspatial_set_idが同一であるトラックをグルーピングすることができる。
以上のように、第1乃至第3の方法では、トラックごとに設けられるtrakボックスの下層に画像に関する各種の情報が設定される。従って、画像に関する各種の情報がトラック内で変化しない場合、その情報をトラック単位で効率的に設定することができる。
(第4の方法の説明)
図55は、サンプルグループを説明する図である。
図55に示すように、サンプルグループという手法では、sgpdボックスとsbgpボックスが用いられる。
sgpdボックスは、サンプルに関する情報であるサンプル情報が共通である連続するサンプルをグループ化し、各グループのサンプル情報を記述するボックスである。sbgpボックスは、各グループのサンプルを特定する情報(以下、サンプル特定情報という)を記述するボックスである。
sgpdボックスには、grouping_type, entry_count, GroupEntryなどが記述される。sgpdボックスのgrouping_typeは、対応するグループのグループ化の基になったサンプル情報の種類を示し、entry_countは、各グループのサンプル情報のうちの互いに異なるサンプル情報の数を示す。また、GroupEntryは、各グループのサンプル情報のうちの互いに異なるサンプル情報であり、entry_countの数だけ記述される。GroupEntryの構造は、grouping_typeによって異なる。
sbgpボックスには、grouping_type,entry_count,sample_count, group_description_indexなどが記述される。sbgpボックスのgrouping_typeは、対応するグループのグループ化の基になったサンプル情報の種類を示し、entry_countは、グループの数を示す。
sample_countは、各グループのサンプル特定情報であり、各グループのサンプルの連続数を示す。sample_countは、entry_countの数だけ記述され、全てのsample_countの合計は、sgpdボックスに対応するトラックの全サンプル数になる。group_description_indexは、各グループのサンプル情報であるGroupEntryを特定する情報である。
図55の例では、grouping_typeが同一であるsbgpボックスとsgpdボックスのentry_countが、それぞれ、6,4である。従って、グループの数は6個であり、6個の各グループのサンプル情報のうちの互いに異なるサンプル情報の数は4個である。そして、sgpdボックスには、4つのGroupEntryが記述される。
また、sbgpボックスの先頭から1乃至6番目のsample_count[1]乃至sample_count[6]は、順に、1,2,1,1,1,2である。従って、先頭から1乃至6番目のグループのサンプル数が、順に、1,2,1,1,1,2である。
即ち、先頭から1番目のサンプル(sample[1])が、先頭から1番目のグループに分類され、先頭から2番目および3番目のサンプル(sample[2],sample[3])が、先頭から2番目のグループに分類される。また、先頭から4番目のサンプル(sample[4])が、先頭から3番目のグループに分類され、先頭から5番目のサンプル(sample[5])が、先頭から4番目のグループに分類される。先頭から6番目のサンプル(sample[6])が、先頭から5番目のグループに分類され、先頭から7番目および8番目のサンプル(sample[7],sample[8])が、先頭から6番目のグループに分類される。
また、先頭から1番目乃至6番目のgroup_description_index[1]乃至group_description_index[6]は、順に、1,3,2,0,4,1である。従って、先頭から1番目のグループに分類される先頭から1番目のサンプルのサンプル情報は、先頭から1番目のGroupEntryである。また、先頭から2番目のグループに分類される先頭から2番目および3番目のサンプルに共通するサンプル情報は、先頭から3番目のGroupEntryである。
さらに、先頭から3番目のグループに分類される先頭から4番目のサンプルのサンプル情報は、先頭から2番目のGroupEntryである。また、先頭から5番目のグループに分類される先頭から4番目のサンプル情報はない。
また、先頭から5番目のグループに分類される先頭から6番目のサンプルのサンプル情報は、先頭から4番目のGroupEntryである。また、先頭から6番目のグループに分類される先頭から7番目および8番目のサンプルに共通するサンプル情報は、先頭から1番目のGroupEntryである。
セグメントファイル生成部401により第4の方法で画像に関する各種の情報が設定される場合、以上のようなサンプルグループを用いて、サンプル単位の画像に関する各種の情報がサンプル情報として設定される。
具体的には、図56のSpherical Coordinate Region Info EntryがGroupEntryとして配置されたgrouping_typeが「scri」であるsgpdボックスに対応して、grouping_typeが「scri」であるsbgpボックスが設定される。図56のSpherical Coordinate Region Info Entryは、サンプル単位の画像に関する各種の情報を含むように、VisualSampleGroupEntryを拡張したものである。
即ち、第4の方法では、サンプル単位の画像に関する各種の情報が共通である連続するサンプルがグループ化される。そして、各グループのサンプル単位の画像に関する各種の情報のうちの互いに異なるものが、grouping_typeが「scri」であるsgpdボックスにGroupEntryとして配置される図56のSpherical Coordinate Region Info Entryに設定される。また、grouping_typeが「scri」であるsbgpボックスに、各グループのサンプル特定情報を示すsample_countが設定される。これにより、サンプル単位の画像に関する各種の情報をセグメントファイルに設定することができる。
なお、上述した第4の方法では、画像に関する各種の情報の全てをサンプル単位で設定できるようにしたが、画像に関する各種の情報のうちのトラック内で変化する情報のみをサンプル単位で設定できるようにしてもよい。
図57は、この場合のSpherical Coordinate Region Info Entryの構成例を示す図である。
なお、図57の例では、画像に関する各種の情報のうちのobject_yaw,object_pitch,object_roll,object_width、およびobject_heightが、トラック内で変化する情報である。
この場合、図57に示すように、Spherical Coordinate Region Info Entryには、object_yaw,object_pitch,object_roll,object_width、およびobject_heightのみが設定される。
また、この場合、画像に関する各種の情報のうちのトラック内で変化しない情報は、第1乃至第3の方法と同様の方法で、hvcCボックス、hev1ボックス、またはschiボックスに含まれるscriボックスに設定される。このときのscriボックスは、図58に示すようになる。図58のscriボックスの構成は、object_yaw,object_pitch,object_roll,object_width、およびobject_heightが設定されない点が、図51の構成と異なる。
なお、第1乃至第3の方法と同様に、トラック内で変化しない情報のうちのidやspatial_set_idはscriボックスに設定されず、idやspatial_set_idが同一であるトラックがグルーピングされるようにしてもよい。
以上のように、画像に関する各種の情報のうちのトラック内で変化する情報のみをサンプルグループを用いて設定する場合、画像に関する各種の情報の全てをサンプルグループを用いて設定する場合に比べて、セグメントファイルのデータ量を削減することができる。
なお、図57および図58の例では、画像に関する各種の情報のうちのトラック内で変化する情報は、object_yaw,object_pitch,object_roll,object_width、およびobject_heightであるものとしたが、任意の情報にすることができる。
(第5の方法の説明)
図59は、図48のセグメントファイル生成部401により第5の方法で画像に関する各種の情報が設定される場合のセグメントファイルの構成例を示す図である。
図59に示すように、第5の方法では、画像に関する各種の情報に対して、その画像のトラックとは異なるメタデータのトラック(Spherical Coordinate Region Info Track)が割り当てられる。サンプル単位の画像に関する各種の情報(Spherical Coordinate Region Information)は、割り当てられたトラックにtimed metadataのサンプルとして設定される。
また、Spherical Coordinate Region Info Trackのtrefボックスには、reference_typeが、画像とその画像に関する各種の情報の関係であることを示す「scri」であるTrack Reference Type Boxが設定される。このTrack Reference Type Boxには、このTrack Reference Type Boxに対応するトラックの画像に関する各種の情報のSpherical Coordinate Region Info TrackのIDが、track_IDsとして設定される。
図60は、サンプル単位の画像に関する各種の情報が配置されたtimed metadataのサンプルであるSphericalCoordinateRegionInfoSampleの構成例を示す図である。
図60に示すように、SphericalCoordinateRegionInfoSampleには、サンプル単位の画像に関する各種の情報が設定される。
なお、全てのサンプルのサンプル単位の画像に関する各種の情報がSphericalCoordinateRegionInfoSampleとして設定されるのではなく、直前のサンプルのサンプル単位の画像に関する各種の情報と異なる場合にのみ、その情報がSphericalCoordinateRegionInfoSampleとして設定されるようにしてもよい。
この場合、サンプル単位の画像に関する各種の情報をSphericalCoordinateRegionInfoSampleに設定する方法としては、例えば、全情報設定方法と部分情報設定方法の2つの方法がある。
全情報設定方法は、サンプル単位の画像に関する各種の情報のうちの少なくとも1つが直前のサンプルのものと異なる場合、サンプル単位の画像に関する各種の情報の全てをSphericalCoordinateRegionInfoSampleに設定する方法である。
具体的には、全情報設定方法では、図61に示すように、Spherical Coordinate Region Info Trackのtrakボックスの下層のstsdボックスに含まれる画像に関する各種の情報のMetadata Sample EntryであるSpherical Coordinate Region Info Sample Entryが、Spherical Coordinate Region Info Configuration Boxを含む。そして、図62に示すように、Spherical Coordinate Region Info Configuration Boxには、サンプル単位の画像に関する各種の情報のデフォルト値(default_projection_type, default_id, default_FOV_flag, default_object_yaw, default_object_pitch, default_object_roll, default_object_width, default_object_height, default_total_width, default_total_height, default_sphere_radius、およびdefault_spatial_set_id)が設定される。
なお、ここでは、サンプル単位の画像に関する各種の情報のデフォルト値は、Spherical Coordinate Region Info Trackのstsdボックスに含まれるようにするが、画像のトラックのstsdボックスに含まれるようにしてもよい。この場合のhvcCボックスは、トラック単位の画像に関する各種の情報が、サンプル単位の画像に関する各種の情報のデフォルト値に代わる点を除いて、図50および図51で説明した第1の方法におけるhvcCボックスと同一である。
また、全情報設定方法では、SphericalCoordinateRegionInfoSampleは、図63に示すようになる。図63のSphericalCoordinateRegionInfoSampleは、このサンプルと直前のサンプルのサンプル単位の画像に関する各種の情報のうちの少なくとも1つが異なるかどうかを示す1ビットのupdate_flagが設定される点と、update_flagに応じてサンプル単位の画像に関する各種の情報の全てが設定される点が、図60のSphericalCoordinateRegionInfoSampleと異なる。
update_flagは、このupdate_flagに対応するサンプルと直前のサンプルのサンプル単位の画像に関する各種の情報のうちの少なくとも1つが異なる場合1であり、全てが同一である場合0である。なお、update_flagに対応するサンプルが最初のサンプルである場合、直前のサンプルのサンプル単位の画像に関する各種の情報は、サンプル単位の画像に関する各種の情報のデフォルト値である。
update_flagが1である場合、SphericalCoordinateRegionInfoSampleには、このサンプルのサンプル単位の画像に関する各種の情報が設定される。一方、update_flagが0である場合、SphericalCoordinateRegionInfoSampleには、サンプル単位の画像に関する各種の情報は設定されない。
また、部分情報設定方法は、サンプル単位の画像に関する各種の情報のうちの少なくとも1つが直前のサンプルのものと異なる場合、異なる情報のみをSphericalCoordinateRegionInfoSampleに設定する方法である。
具体的には、部分情報設定方法では、全情報設定方法と同様に、サンプル単位の画像に関する各種の情報のデフォルト値が設定される。また、SphericalCoordinateRegionInfoSampleは、図64に示すようになる。図64のSphericalCoordinateRegionInfoSampleは、このサンプルと直前のサンプルのサンプル単位の画像に関する各種の情報のそれぞれが異なるかどうかを示す16ビットのupdate_flagが設定される点と、update_flagに応じてサンプル単位の画像に関する各種の情報が情報ごとに設定される点が、図60のSphericalCoordinateRegionInfoSampleと異なる。
即ち、update_flagの各ビットには、サンプル単位の画像に関する各種の情報の各情報が割り当てられており、各情報が、このupdate_flagに対応するサンプルの直前のサンプルと異なる場合、その情報に割り当てられたビットが1になり、同一である場合0になる。なお、update_flagに対応するサンプルが最初のサンプルである場合、直前のサンプルのサンプル単位の画像に関する各種の情報は、サンプル単位の画像に関する各種の情報のデフォルト値である。
図64の例では、update_flagの各ビットが、最下位ビットから順に、画像に関する各種の情報のうちの、projection_type, id, FOV_flag, object_yaw, object_pitch, object_roll, object_width, object_height, total_width, total_height, sphere_radius, spatial_set_idに割り当てられている。
従って、例えば16ビットのupdate_flagが0000 0000 0000 0001bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのprojection_typeのみが設定される。update_flagが0000 0000 0000 0010bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのidのみが設定される。
また、update_flagが0000 0000 0000 0100b である場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのFOV_flagのみが設定される。update_flagが0000 0000 0000 1000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのobject_yawのみが設定される。update_flagが0000 0000 0001 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのobject_pitchのみが設定される。
さらに、update_flagが0000 0000 0010 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのobject_rollのみが設定される。update_flagが0000 0000 0100 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのobject_widthのみが設定される。update_flagが0000 0000 1000 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのobject_heightのみが設定される。
また、update_flagが0000 0001 0000 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのtotal_widthのみが設定される。update_flagが0000 0010 0000 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのtotal_heightのみが設定される。update_flagが0000 0100 0000 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのsphere_radiusのみが設定される。update_flagが0000 1000 0000 0000bである場合、SphericalCoordinateRegionInfoSampleには、このupdate_flagに対応するサンプルのspatial_set_idのみが設定される。
さらに、例えば、画像に関する各種の情報のうちのprojection_typeとFOV_flagのみが直前のサンプルとは異なる場合、update_flagとしては0x0005(0000 0000 0000 0101b)が設定される。この場合、SphericalCoordinateRegionInfoSampleには、このサンプルのprojection_typeとFOV_flagのみが設定される。
以上のように、サンプル単位の画像に関する各種の情報の少なくとも1つが直前のサンプルとは異なる場合にのみ、サンプル単位の画像に関する各種の情報がSphericalCoordinateRegionInfoSampleに設定される場合、サンプル単位の画像に関する各種の情報の変更頻度が低いときに、セグメントファイルのデータ量を削減することができる。
また、部分情報設定方法では、サンプル単位の画像に関する各種の情報のうちの、直前のサンプルとは異なる情報のみがSphericalCoordinateRegionInfoSampleに設定されるので、全情報設定方法に比べて、セグメントファイルのデータ量をより削減することができる。
上述した第5の方法では、画像に関する各種の情報の全てをサンプル単位で設定できるようにしたが、画像に関する各種の情報のうちのトラック内で変化する情報のみをサンプル単位で設定できるようにしてもよい。
図65は、この場合のSpherical Coordinate Region Info Configuration Boxの構成例を示す図であり、図66は、この場合のSphericalCoordinateRegionInfoSampleの構成例を示す図である。
図65および図66の例では、画像に関する各種の情報のうちのobject_yaw,object_pitch,object_roll,object_width、およびobject_heightが、トラック内で変化する情報である。
この場合、図65に示すように、Spherical Coordinate Region Info Trackのtrakボックスの下層のstsdボックスに含まれるSpherical Coordinate Region Info Configuration Boxには、画像に関する各種の情報のうちのトラック内で変化しないprojection_type, id, FOV_flag, total_width, total_height, sphere_radius、およびspatial_set_idがトラック単位で設定される。
また、図66に示すように、SphericalCoordinateRegionInfoSampleには、画像に関する各種の情報のうちのトラック内で変化するobject_yaw,object_pitch,object_roll,object_width、およびobject_heightがサンプル単位で設定される。
なお、画像に関する各種の情報のうちのトラック内で変化しないprojection_type, id, FOV_flag, total_width, total_height, sphere_radius、およびspatial_set_idは、画像のトラックのstsdボックスに含まれるようにしてもよい。この場合のhvcCボックスは、object_yaw,object_pitch,object_roll,object_width、およびobject_heightが設定されない点が、図50および図51で説明した第1の方法におけるhvcCボックスと異なる。
また、第1乃至第3の方法と同様に、トラック内で変化しない情報のうちのidやspatial_set_idはscriボックスに設定されず、idやspatial_set_idが同一であるトラックがグルーピングされるようにしてもよい。
以上のように、画像に関する各種の情報のうちのトラック内で変化する情報のみをSphericalCoordinateRegionInfoSampleに設定する場合、画像に関する各種の情報の全てをSphericalCoordinateRegionInfoSampleに設定する場合に比べて、セグメントファイルのデータ量を削減することができる。
なお、図65および図66の例では、画像に関する各種の情報のうちのトラック内で変化する情報は、object_yaw,object_pitch,object_roll,object_width、およびobject_heightであるものとしたが、任意の情報にすることができる。
以上のように、第4の方法または第5の方法では、画像に関する各種の情報のうちの少なくともトラック内で変化する情報がサンプル単位でセグメントファイルに設定される。従って、画像に関する各種の情報の少なくとも一部がトラック内で変化する場合であっても、その情報をセグメントファイルに設定することができる。
(生成装置の処理の説明)
図67は、図48の生成装置400のファイル生成処理を説明するフローチャートである。
図67のステップS201乃至S208の処理は、図31のステップS121乃至S128の処理と同様であるので、説明は省略する。
ステップS209において、セグメントファイル生成部401は、ビットレートおよびセグメントごとに、低解像度ストリーム、各2次元平面の高解像度ストリーム、およびオーディオストリームをまとめてファイル化し、第1乃至第5の方法のいずれかの方法で画像に関する各種の情報が設定されたセグメントファイルを生成する。
ステップS210において、MPDファイル生成部402は、MPDファイルを生成する。
ステップS211において、アップロード部30は、セグメントファイル生成部401から供給されるセグメントファイルとMPDファイル生成部402から供給されるMPDファイルとを、図1の配信サーバ13にアップロードし、処理を終了する。
(再生装置の構成例)
図68は、本開示を適用した配信システムの第5実施の形態における再生装置の構成例を示すブロック図である。
図68に示す構成のうち、図32の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図68の再生装置430の構成は、MPD処理部341、セグメントファイル取得部272、マッピング処理部342の代わりに、MPD処理部431、セグメントファイル取得部432、マッピング処理部433が設けられる点が、図32の再生装置340の構成と異なる。
具体的には、再生装置430のMPD処理部431は、MPD取得部220から供給されるMPDファイルを解析し、所定のビットレートの再生時刻のセグメントファイルのURL等の情報を取得する。MPD処理部431は、取得されたURLをセグメントファイル取得部432に供給する。
セグメントファイル取得部432は、MPD処理部431から供給されるURLに基づいて、そのURLで特定されるセグメントファイルを配信サーバ13に要求し、セグメントファイルを取得する。セグメントファイル取得部432は、取得されたセグメントファイルから画像(低解像度画像、高解像度画像)に関する各種の情報を取得する。セグメントファイル取得部432は、取得された画像に関する各種の情報のうちの所定のidに対応するサンプルを選択する。
そして、セグメントファイル取得部432は、選択されたサンプルのうちの、画像に関する各種の情報として2次元平面情報等が設定されないサンプルを、再生対象の低解像度画像のサンプルとする。セグメントファイル取得部432は、再生対象の低解像度画像のサンプルに配置される1本の低解像度ストリームをデコーダ273に供給する。
また、セグメントファイル取得部432は、選択されたサンプルのうちの、画像に関する各種の情報として2次元平面情報等も設定されるサンプルを、高解像度画像のサンプルとして認識する。
そして、セグメントファイル取得部432は、視線検出部343により生成された選択2次元平面情報と、高解像度画像のサンプルに対応するsource_id, object_x, object_y, object_width, object_height, total_width, total_height,spatial_set_id等に基づいて、高解像度画像のサンプルから、選択2次元平面に対応するサンプルを、再生対象の高解像度画像のサンプルとして選択する。セグメントファイル取得部432は、再生対象の高解像度画像のサンプルに配置される1本の高解像度ストリームをデコーダ274に供給する。
マッピング処理部433は、デコーダ273から供給される低解像度画像を、球70の面71乃至76のそれぞれにテクスチャとしてマッピングする。
なお、マッピング処理部433は、低解像度画像の全てをマッピングするのではなく、視線検出部343により決定される視聴者の視野範囲に透視投影される範囲を含む低解像度画像の一部のみをマッピングするようにしてもよい。
また、マッピング処理部433は、視線検出部343から供給される選択2次元平面情報に基づいて、球70の内部に選択2次元平面を3Dモデルとして設定する。マッピング処理部433は、高解像度画像を、球70の内部に設定された選択2次元平面にテクスチャとしてマッピングする。そして、マッピング処理部433は、球70と選択2次元平面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給する。
(再生装置の処理)
図69は、図68の再生装置430の再生処理を説明するフローチャートである。
図69のステップS231において、再生装置430のMPD取得部220は、MPDファイルを図1の配信サーバ13に要求し、取得する。MPD取得部220は、取得されたMPDファイルをMPD処理部431に供給する。
ステップS232において、MPD処理部431は、MPD取得部220から供給されるMPDファイルを解析し、所定のビットレートの再生時刻のセグメントファイルのURL等の情報を取得する。MPD処理部431は、取得されたURLをセグメントファイル取得部432に供給する。
ステップS233において、セグメントファイル取得部432は、MPD処理部431から供給されるURLに基づいて、そのURLで特定されるセグメントファイルを配信サーバ13に要求し、セグメントファイルを取得する。
ステップS234において、セグメントファイル取得部432は、取得されたセグメントファイルから画像に関する各種の情報を取得する。
ステップS235において、セグメントファイル取得部432は、ステップS234で取得された画像に関する各種の情報のうちのidの中から所定のidを再生対象の全天球画像のidとして選択する。そして、セグメントファイル取得部432は、選択されたidが設定されたサンプルを選択する。
ステップS236において、セグメントファイル取得部432は、選択されたサンプルのうちの、画像に関する各種の情報として2次元平面情報等が設定されないサンプルを再生対象の低解像度画像のサンプルとし、そのサンプルに配置される1本の低解像度ストリームをセグメントファイルから取得する。セグメントファイル取得部432は、取得された1本の低解像度ストリームをデコーダ273に供給する。
ステップS237乃至S242の処理は、図34のステップS145乃至S150の処理と同様であるので、説明は省略する。
ステップS243において、セグメントファイル取得部432は、選択されたサンプルのうちの、画像に関する各種の情報として2次元平面情報等も設定されるサンプルを、高解像度画像のサンプルとして認識する。そして、セグメントファイル取得部432は、視線検出部343により生成された選択2次元平面情報と、高解像度画像のサンプルに対応するsource_id, object_x, object_y, object_width, object_height, total_width, total_height,spatial_set_id等に基づいて、高解像度画像のサンプルから、選択2次元平面に対応するサンプルを、再生対象の高解像度画像のサンプルとして選択する。セグメントファイル取得部432は、再生対象の高解像度画像のサンプルに配置される1本の高解像度ストリームをデコーダ274に供給する。
ステップS244において、セグメントファイル取得部432は、セグメントファイルから、ステップS243で選択された再生対象の高解像度画像のサンプルに配置される1本の高解像度ストリームを取得し、デコーダ274に供給する。
ステップS245およびS246の処理は、図34のステップS153およびS154の処理と同様であるので、説明は省略する。
ステップS247において、マッピング処理部433は、デコーダ273から供給される低解像度画像を、球70の面71乃至76のそれぞれにテクスチャとしてマッピングする。
ステップS248において、マッピング処理部433は、視線検出部343から供給される選択2次元平面情報に基づいて、球70の内部に選択2次元平面を3Dモデルとして設定する。
ステップS249において、マッピング処理部433は、デコーダ274から供給される高解像度画像を、ステップS248で設定された選択2次元平面にテクスチャとしてマッピングする。マッピング処理部433は、球70と選択2次元平面にテクスチャがマッピングされた3Dモデル画像を描画部227に供給する。
ステップS250およびS251の処理は、図34のステップS162およびS163の処理と同様である。
以上のように、生成装置400は、セグメントファイルに画像に関する各種の情報を設定する。従って、第4実施の形態と同様の効果をMP4レイヤで実現することができる。
また、生成装置400は、セグメントファイルのサンプルを管理するmoovボックスの下層、または、画像のトラックと参照関係にあるトラックのサンプルに、画像に関する各種の情報を設定する。従って、サンプルとして配置される低解像度ストリームや高解像度ストリームの復号前に、各種の情報を認識することができる。
さらに、生成装置400は、画像に関する各種の情報をトラック単位またはサンプル単位で設定する。従って、再生装置430は、画像に関する各種の情報をトラック単位またはサンプル単位で認識することができる。よって、再生装置430は、トラック単位またはサンプル単位の画像に関する各種の情報と選択2次元平面情報に基づいて、再生対象のトラック単位のサンプルまたはサンプル単位のサンプルを容易に選択することができる。
なお、第5実施の形態では、第4実施の形態でMPDファイルに設定された画像に関する各種の情報が、セグメントファイルに設定されたが、第1乃至第3実施の形態でMPDファイルに設定された画像に関する各種の情報が、セグメントファイルに設定されるようにしてもよい。さらに、上述した第1乃至第5実施の形態を全て組み合わせてもよく、例えば、画像に関する各種の情報が、セグメントファイルとMPDファイルとの両方に設定されるようにしてもよい。
また、画像に関する各種の情報には、マッピング情報が含まれるようにしてもよい。マッピング情報が含まれる場合、マッピング処理部433は、マッピング処理部433と同様に、そのマッピング情報に基づいてマッピングを行う。
<第6実施の形態>
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図70は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ900において、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。
バス904には、さらに、入出力インタフェース905が接続されている。入出力インタフェース905には、入力部906、出力部907、記憶部908、通信部909、及びドライブ910が接続されている。
入力部906は、キーボード、マウス、マイクロフォンなどよりなる。出力部907は、ディスプレイ、スピーカなどよりなる。記憶部908は、ハードディスクや不揮発性のメモリなどよりなる。通信部909は、ネットワークインタフェースなどよりなる。ドライブ910は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア911を駆動する。
以上のように構成されるコンピュータ900では、CPU901が、例えば、記憶部908に記憶されているプログラムを、入出力インタフェース905及びバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ900(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア911に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータ900では、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インタフェース905を介して、記憶部908にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部909で受信し、記憶部908にインストールすることができる。その他、プログラムは、ROM902や記憶部908に、あらかじめインストールしておくことができる。
なお、コンピュータ900が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
さらに、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
なお、本開示は、以下のような構成もとることができる。
(1)
撮影画像を3Dモデルに投影することにより生成された全天球画像の生成に用いられた前記撮影画像を識別する識別情報を設定する設定部
を備え、
前記設定部は、再生装置において前記全天球画像を前記3Dモデルにマッピングする際に用いられる、マッピング情報を設定するように構成された
ファイル生成装置。
(2)
前記マッピング情報は、前記撮影画像内の基準画像が前記3Dモデルの基準位置に所定の傾きでマッピングされるように、前記全天球画像をマッピングする際に用いられる情報である
ように構成された
前記(1)に記載のファイル生成装置。
(3)
前記マッピング情報は、前記全天球画像内の前記基準画像の位置と、前記基準画像が前記基準位置にマッピングされるように前記全天球画像をマッピングする際に前記3Dモデル上の前記基準画像の傾きを前記所定の傾きにする回転角とにより構成される
ように構成された
前記(2)に記載のファイル生成装置。
(4)
前記マッピング情報は、前記基準画像が前記基準位置に前記所定の傾きでマッピングされるように前記全天球画像を前記3Dモデルにマッピングする際の前記全天球画像の回転角である
前記(2)に記載のファイル生成装置。
(5)
前記設定部は、
前記撮影画像を3Dモデルに投影することにより生成された複数の前記全天球画像に対して同一の前記識別情報を設定し、
前記3Dモデルに投影する少なくとも1つの方法で生成された前記全天球画像と、前記方法とは異なる方法で生成された各領域の前記全天球画像に対して同一の識別情報を設定する
ように構成された
前記(1)に記載のファイル生成装置。
(6)
前記設定部は、
前記全天球画像を描画面に投影することにより生成される撮影画像に対して前記識別情報を設定し、
前記撮影画像に対して、その描画面に関する情報を含む描画面情報を設定し、
前記描画面情報は、前記描画面の位置と画角を含む
ように構成された
前記(1)に記載のファイル生成装置。
(7)
前記描画面情報は、前記撮影画像の描画面が2次元平面または球面であることを示す面種類情報を含む
ように構成された
前記(6)に記載のファイル生成装置。
(8)
前記描画面はグループ化され、
前記描画面情報は、その描画面情報が位置と画角を示す前記描画面が属するグループを示す情報と、そのグループに属する描画面全体の画角を含む
ように構成された
前記(6)または(7)に記載のファイル生成装置。
(9)
前記設定部は、前記全天球画像を描画面に投影することにより生成される複数の撮影画像のそれぞれに対して、その撮影画像の生成に用いられた前記全天球画像がマッピングされた前記3Dモデルを識別する情報として同一の情報を設定する
ように構成された
前記(6)乃至(8)のいずれかに記載のファイル生成装置。
(10)
前記描画面情報は、前記全天球映像の生成方法およびSRD(Spatial Relationship Description)情報とともに、MPD(Media Presentation Description)ファイルに記述される
前記(6)乃至(9)のいずれかに記載のファイル生成装置。
(11)
前記3Dモデルは球であり、
前記設定部は、前記3Dモデルの半径を示す情報を設定する
ように構成された
前記(1)乃至(10)のいずれかに記載のファイル生成装置。
(12)
前記設定部は、前記全天球画像のファイルを管理する管理ファイルに、前記識別情報、前記マッピング情報、および前記描画面情報のうち、少なくとも1つを設定する
ように構成された
前記(6)乃至(10)のいずれかに記載のファイル生成装置。
(13)
前記管理ファイルは、MPD(Media Presentation Description)であって、前記識別情報、前記マッピング情報、および前記描画面情報のう
ち、少なくとも1つは、アダプテーションセットに設定される
前記(12)に記載のファイル生成装置。
(14)
前記識別情報、前記マッピング情報、および前記描画面情報のうち、少なくとも1つは、前記アダプテーションセットのSupplementalPropertyまたはEssentialPropertyに設定される
前記(13)に記載のファイル生成装置。
(15)
前記設定部は、前記全天球画像のファイルに、前記識別情報、前記マッピング情報、および前記描画面情報のうち、少なくとも1つを格納する
ように構成された
前記(1)乃至(9)および(11)のいずれかに記載のファイル生成装置。
(16)
ファイル生成装置が、
撮影画像を3Dモデルに投影することにより生成された全天球画像の生成に用いられた前記撮影画像を識別する識別情報を設定する設定ステップ
を含み、
前記設定ステップにおいて、再生装置において前記全天球画像を前記3Dモデルにマッピングする際に用いられる、マッピング情報が設定される
を含むファイル生成方法。
(17)
前記設定ステップにおいて、
前記全天球画像を描画面に投影することにより生成される撮影画像に対して前記識別情報を設定し、
前記撮影画像に対して、その描画面に関する情報を含む描画面情報を設定し、
前記描画面情報は、前記描画面の位置と画角を含む
(16)に記載のファイル生成方法。
(18)
撮影画像を3Dモデルに投影することにより生成された全天球画像の生成に用いられた前記撮影画像を識別する識別情報に基づいて、再生対象とする前記全天球画像を選択する選択部
を備え、
前記全天球画像を前記3Dモデルにマッピングするために設定されたマッピング情報を用いてマッピングを行い、
前記全天球画像を描画面に投影することにより生成される撮影画像に対して前記識別情報が設定されており、
前記撮影画像に対して、その描画面に関する情報を含む描画面情報が設定されており、
前記描画面情報は、前記描画面の位置と画角を含む
再生装置。
(19)
再生装置が、
撮影画像を3Dモデルに投影することにより生成された全天球画像の生成に用いられた前記撮影画像を識別する識別情報に基づいて、再生対象とする前記全天球画像を選択する
選択ステップ
を含み、
前記全天球画像を前記3Dモデルにマッピングするために設定されたマッピング情報を
用いてマッピングが行われ、
前記全天球画像を描画面に投影することにより生成される撮影画像に対して前記識別情
報が設定されており、
前記撮影画像に対して、その描画面に関する情報を含む描画面情報が設定されており、
前記描画面情報は、前記描画面の位置と画角を含む
再生方法。