(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
3Dシーンを表すデータの符号化/復号化は、3Dシーンの一部が各第1のタイルに関連付けられた状態で、第1のトラック内に符号化されて第1のフレームの第1のタイルに配列されたテクスチャを表す第1のデータと、1個以上の第2のトラック内に符号化されて第1のタイルの個数よりも多い個数の第2のフレームの第2のタイルであって、各第1のタイル及び複数のパッチに割り当てられた第2のタイルが、各第1のタイルに関連付けられた3Dシーンの一部における3D点の集団の2Dパラメータ化に対応し且つ当該集団の3D点に関連付けられた奥行きを表す第2のデータを含む第2のタイルの組に配列された第2のタイルに配列された奥行きを表す第2のデータと、第1及び第2のデータの一部を抽出すべく第3のトラック内に符号化された命令を含んでいてよい。
前記各パッチが更に、前記集団の複数の3D点に関連付けられたテクスチャを表す第3のデータを含み、前記第3のデータが前記少なくとも1個の第2のトラック内に符号化されている、請求項1に記載の方法又は請求項2に記載の装置。
少なくとも1個の第3のタイルを含む第3のフレームの第3のタイルの組が前記各第1のタイルに割り当てられ、前記集団の複数の3D点に関連付けられたテクスチャを表す第3のデータを含む少なくとも1個のパッチの組が前記第3のタイルの組に配列され、前記少なくとも1個のパッチが、前記3D点の集団の前記2次元パラメータ化に対応し、前記第3のデータが少なくとも1個の第3のトラック内に符号化されている、請求項1に記載の方法又は請求項2に記載の装置。
前記組のパッチのサイズが、前記パッチが配置される第2のタイルのサイズよりも大きい場合、前記パッチが前記第2のタイルのサイズよりも各々小さいサイズの複数の部分パッチに分割される、請求項1、3及び4のいずれか1項に記載の方法又は請求項2〜4のいずれか1項に記載の装置。
前記組のパッチが、前記パッチの視覚的重要度に依存する優先順位に応じて配列され、前記視覚的重要度が前記パッチに関連付けられた前記第2のデータに依存している、請求項1、3、4及び5のいずれか1項に記載の方法又は請求項2〜5のいずれか1項に記載の装置。
前記第2のタイルのサイズが、複数の時間的に連続する第2のフレームに対して固定されたサイズと同一である、請求項1及び3〜6のいずれか1項に記載の方法又は請求項2〜6のいずれか1項に記載の装置。
前記各パッチに含まれる前記集団の複数の3D点に関連付けられたテクスチャを表す第3のデータが前記少なくとも1個の第2のトラックから更に復号化される、請求項8に記載の方法又は請求項9に記載の装置。
テクスチャを表す第3のデータが少なくとも1個の第3のトラックから更に復号化され、前記第3のデータが第3のフレームの複数の第3のタイルに配列され、第3のタイルの組が前記各第1のタイルに割り当てられた少なくとも1個の第3のタイルを含み、前記集団の複数の3D点に関連付けられた第3のデータを含む少なくとも1個のパッチの組が前記第3のタイルの組に配列され、前記少なくとも1個のパッチが前記3Dの集団の2次元パラメータ化に対応している、請求項8に記載の方法又は請求項9に記載の装置。
前記3Dシーンの少なくとも一部が前記第1及び第2のデータに従いレンダリングされる、請求項8、10及び11のいずれか1項に記載の方法又は請求項9〜11のいずれか1項に記載の装置。
3Dシーンを表すデータを担持するビットストリームであって、前記データが、少なくとも1個の第1の構文要素内に、第1の視点に従い視認可能な3Dシーンのテクスチャを表す第1のデータを含み、前記第1のデータが第1のフレームの複数の第1のタイルに関連付けられ、前記3Dシーンの一部が前記複数の第1のタイルの各第1のタイルに関連付けられていて、少なくとも1個の第2の構文要素内に、前記3Dシーンの複数の点に関連付けられた奥行きを表す第2のデータを含み、前記第2のデータが第2のフレームの複数の第2のタイルに関連付けられ、前記第2のフレームの第2のタイルの総数が前記第1のフレームの第1のタイルの総数よりも多く、第2のタイルの組が前記各第1のタイルに割り当てられた少なくとも1個の第2のタイルを含み、少なくとも1個のパッチの組が前記第2のタイルの組に配列され、各パッチが前記各第1のタイルに関連付けられた前記3Dシーンの一部に含まれる3D点の集団の2次元パラメータ化に対応し、前記集団の複数の3D点に関連付けられた奥行きを表す第2のデータを含み、前記ビットストリームが更に、前記第1のデータ及び第2のデータの少なくとも一部を抽出する旨の少なくとも1個の命令を少なくとも1個の第3の構文要素内に担持しているビットストリーム。
【発明の概要】
【0010】
3.概要
本明細書における「ある実施形態」、「一実施形態」、「例示的な一実施形態」、「特定の実施形態」への言及は、記述する実施形態が特定の特性、構造、又は特徴を含んでいてよいことを示すが、全ての実施形態が必ずしも特定の特性、構造、又は特徴を含んでいる訳ではない。更に、このような語句は必ずしも同一実施形態を指す訳ではない。更に、特定の特性、構造、又は特徴が一実施形態との関連で記述されている場合、明示的に記述されているか否かに依らず、そのような特性、構造、又は特徴を他の実施形態と共に実現することは当業者の知識の範囲内であることを言明するものである。
【0011】
本開示は、3Dシーンを表すデータを符号化する方法に関し、本方法は、
−第1の視点に従い視認可能な3Dシーンのテクスチャを表す第1のデータであって第1のフレームの複数の第1のタイルに配列された第1のデータを、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラック内に符号化することと、
−3Dシーンの複数の点に関連付けられた奥行きを表す第2のデータであって第2のフレームの複数の第2のタイルに配列された第2のデータを、少なくとも1個の第2のトラック内に符号化する際に、第2のフレームの第2のタイルの総数が第1のフレームの第1のタイルの総数よりも多い状態で、且つ複数の第1のタイルの少なくとも一部の各第1のタイル毎に、
・複数の第2のタイルの少なくとも1個の第2のタイルを含む第2のタイルの組が、複数の第1のタイルの少なくとも一部の各第1のタイルに割り当てられ、
・少なくとも1個のパッチの組が第2のタイルの組に配列され、各パッチが、各第1のタイルに関連付けられた3Dシーンの一部に含まれる3D点の集団の2次元パラメータ化に対応し、且つ当該集団の複数の3D点に関連付けられた奥行きを表す第2のデータを含むように符号化することと、
−少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックの少なくとも一部から第1のデータ及び第2のデータの少なくとも一部を抽出する旨の少なくとも1個の命令を、少なくとも1個の第3のトラック内に符号化することを含んでいる。
【0012】
本開示は、3Dシーンを表すデータを符号化すべく構成された装置に関連し、本装置は、
−第1の視点に従い視認可能な3Dシーンのテクスチャを表す第1のデータであって第1のフレームの複数の第1のタイルに配列された第1のデータを、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラック内に符号化し、
−3Dシーンの複数の点に関連付けられた奥行きを表す第2のデータであって第2のフレームの複数の第2のタイルに配列された第2のデータを、少なくとも1個の第2のトラック内に符号化する際に、第2のフレームの第2のタイルの総数が第1のフレームの第1のタイルの総数よりも多い状態で、且つ複数の第1のタイルの少なくとも一部の各第1のタイル毎に、
・複数の第2のタイルの少なくとも1個の第2のタイルを含む第2のタイルの組が、複数の第1のタイルの少なくとも一部の各第1のタイルに割り当てられ、
・少なくとも1個のパッチの組が第2のタイルの組に配列され、各パッチが、各第1のタイルに関連付けられた3Dシーンの一部に含まれる3D点の集団の2次元パラメータ化に対応し、且つ当該集団の複数の3D点に関連付けられた奥行きを表す第2のデータを含むように符号化し、
−少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックの少なくとも一部から第1のデータ及び第2のデータの少なくとも一部を抽出する旨の少なくとも1個の命令を、少なくとも1個の第3のトラック内に符号化すべく構成された少なくとも1個のプロセッサに関連付けられたメモリを含んでいる。
【0013】
本開示は、3Dシーンを表すデータを符号化すべく構成された装置に関し、本装置は、
−第1の視点に従い視認可能な3Dシーンのテクスチャを表す第1のデータであって第1のフレームの複数の第1のタイルに配列された第1のデータを、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラック内に符号化すべく構成されたエンコーダと、
−3Dシーンの複数の点に関連付けられた奥行きを表す第2のデータであって第2のフレームの複数の第2のタイルに配列された第2のデータを、少なくとも1個の第2のトラック内に符号化すべく構成されたエンコーダにおいて、第2のフレームの第2のタイルの総数が第1のフレームの第1のタイルの総数よりも多い状態で、且つ複数の第1のタイルの少なくとも一部の各第1のタイル毎に、
・複数の第2のタイルの少なくとも1個の第2のタイルを含む第2のタイルの組が、複数の第1のタイルの少なくとも一部の各第1のタイルに割り当てられ、
・少なくとも1個のパッチの組が第2のタイルの組に配列され、各パッチが、各第1のタイルに関連付けられた3Dシーンの一部に含まれる3D点の集団の2次元パラメータ化に対応し、且つ当該集団の複数の3D点に関連付けられた奥行きを表す第2のデータを含むエンコーダと、
−少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックの少なくとも一部から第1のデータ及び第2のデータの少なくとも一部を抽出する旨の少なくとも1個の命令を、少なくとも1個の第3のトラック内に符号化すべく構成されたエンコーダを含んでいる。
【0014】
本開示は、3Dシーンを表すデータを符号化すべく構成された装置に関し、本装置は、
−第1の視点に従い視認可能な3Dシーンのテクスチャを表す第1のデータであって第1のフレームの複数の第1のタイルに配列された第1のデータを、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラック内に符号化する手段と、
−3Dシーンの複数の点に関連付けられた奥行きを表す第2のデータであって第2のフレームの複数の第2のタイルに配列された第2のデータを、少なくとも1個の第2のトラック内に符号化する手段において、第2のフレームの第2のタイルの総数が第1のフレームの第1のタイルの総数よりも多い状態で、且つ複数の第1のタイルの少なくとも一部の各第1のタイル毎に、
・複数の第2のタイルの少なくとも1個の第2のタイルを含む第2のタイルの組が、複数の第1のタイルの少なくとも一部の各第1のタイルに割り当てられ、
・少なくとも1個のパッチの組が第2のタイルの組に配列され、各パッチが、各第1のタイルに関連付けられた3Dシーンの一部に含まれる3D点の集団の2次元パラメータ化に対応し、且つ当該集団の複数の3D点に関連付けられた奥行きを表す第2のデータを含む手段と、
−少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックの少なくとも一部から第1のデータ及び第2のデータの少なくとも一部を抽出する旨の少なくとも1個の命令を、少なくとも1個の第3のトラック内に符号化する手段を含んでいる。
【0015】
特定の特徴によれば、各パッチは更に、集団の複数の3D点に関連付けられたテクスチャを表す第3のデータを含み、第3のデータが少なくとも1個の第2のトラック内に符号化される。
【0016】
特定の特徴によれば、少なくとも1個の第3のタイルを含む第3のフレームの第3のタイルの組が各第1のタイルに割り当てられ、集団の複数の3D点に関連付けられたテクスチャを表す第3のデータを含む少なくとも1個のパッチの組が第3のタイルの組に配列され、少なくとも1個のパッチが3D点の集団の2次元パラメータ化に対応し、第3のデータが少なくとも1個の第3のトラック内に符号化される。
【0017】
別の特定の特徴によれば、当該組のあるパッチのサイズが、当該パッチが配列される第2のタイルのサイズよりも大きい場合、当該パッチは各々のサイズが第2のタイルのサイズよりも小さい複数の部分パッチに分割される。
【0018】
更なる特定の特徴によれば、当該組の複数のパッチは、当該複数のパッチの視覚的重要度に応じて優先順位にて配列され、視覚的重要度は当該複数のパッチに関連付けられた第2のデータに依存する。
【0019】
更なる特定の特徴によれば、第2のタイルは、複数の時間的に連続する第2のフレームに対して固定されたサイズと同じサイズを有する。
【0020】
本開示は、3Dシーンを表すデータを復号化する方法に関し、本方法は、
−第1のデータ及び第2のデータを少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックから抽出する旨の少なくとも1個の命令を少なくとも1個の第3のトラックから復号化することと、
−第1のデータが第1の視点に従い視認可能な3Dシーンのテクスチャを表し、第1のデータが第1のフレームの第1の複数のタイルに配列され、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラックから第1のデータを復号化することと、
−第2のデータが3Dシーンの複数の点に関連付けられた奥行きを表し、第2のデータが第2のフレームの第2のタイルの少なくとも1個の組に配列された少なくとも1個のパッチに含まれる奥行きを表し、第2のタイルの組が各第1のタイルに割り当てられ、少なくとも1個のパッチが各第1のタイルに関連付けられた3Dシーンの少なくとも一部に含まれる3D点の集団の2次元パラメータ化に対応し、第2のデータが集団の複数の3D点に関連付けられた奥行きを表している状態で、少なくとも1個の第2のトラックから第2のデータを復号化することを含んでいる。
【0021】
本開示は、3Dシーンを表すデータを復号化すべく構成された装置に関し、本装置は、
−第1のデータ及び第2のデータを少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックから抽出する旨の少なくとも1個の命令を少なくとも1個の第3のトラックから復号化し、
−第1のデータが第1の視点に従い視認可能な3Dシーンのテクスチャを表し、第1のデータが第1のフレームの第1の複数のタイルに配列され、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラックから第1のデータを復号化し、
−第2のデータが3Dシーンの複数の点に関連付けられた奥行きを表し、第2のデータが第2のフレームの第2のタイルの少なくとも1個の組に配列された少なくとも1個のパッチに含まれる奥行きを表し、第2のタイルの組が各第1のタイルに割り当てられ、少なくとも1個のパッチが各第1のタイルに関連付けられた3Dシーンの少なくとも一部に含まれる3D点の集団の2次元パラメータ化に対応し、第2のデータが集団の複数の3D点に関連付けられた奥行きを表している状態で、少なくとも1個の第2のトラックから第2のデータを復号化すべく構成された少なくとも1個のプロセッサに関連付けられたメモリを含んでいる。
【0022】
本開示は、3Dシーンを表すデータを復号化すべく構成された装置に関し、本装置は、
−第1のデータ及び第2のデータを少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックから抽出する旨の少なくとも1個の命令を少なくとも1個の第3のトラックから復号化すべく構成されたデコーダと、
−第1のデータが第1の視点に従い視認可能な3Dシーンのテクスチャを表し、第1のデータが第1のフレームの第1の複数のタイルに配列され、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラックから第1のデータを復号化すべく構成されたデコーダと、
−第2のデータが3Dシーンの複数の点に関連付けられた奥行きを表し、第2のデータが第2のフレームの第2のタイルの少なくとも1個の組に配列された少なくとも1個のパッチに含まれる奥行きを表し、第2のタイルの組が各第1のタイルに割り当てられ、少なくとも1個のパッチが各第1のタイルに関連付けられた3Dシーンの少なくとも一部に含まれる3D点の集団の2次元パラメータ化に対応し、第2のデータが集団の複数の3D点に関連付けられた奥行きを表している状態で、少なくとも1個の第2のトラックから第2のデータを復号化すべく構成されたデコーダを含んでいる。
【0023】
本開示は、3Dシーンを表すデータを復号化すべく構成された装置に関し、本装置は、
−第1のデータ及び第2のデータを少なくとも1個の第1のトラック及び少なくとも1個の第2のトラックから抽出する旨の少なくとも1個の命令を少なくとも1個の第3のトラックから復号化する手段と、
−第1のデータが第1の視点に従い視認可能な3Dシーンのテクスチャを表し、第1のデータが第1のフレームの第1の複数のタイルに配列され、3Dシーンの一部が複数の第1のタイルの各第1のタイルに関連付けられた状態で、少なくとも1個の第1のトラックから第1のデータを復号化する手段と、
−第2のデータが3Dシーンの複数の点に関連付けられた奥行きを表し、第2のデータが第2のフレームの第2のタイルの少なくとも1個の組に配列された少なくとも1個のパッチに含まれる奥行きを表し、第2のタイルの組が各第1のタイルに割り当てられ、少なくとも1個のパッチが各第1のタイルに関連付けられた3Dシーンの少なくとも一部に含まれる3D点の集団の2次元パラメータ化に対応し、第2のデータが集団の複数の3D点に関連付けられた奥行きを表している状態で、少なくとも1個の第2のトラックから第2のデータを復号化する手段を含んでいる。
【0024】
特定の特徴によれば、各パッチに含まれる集団の複数の3D点に関連付けられたテクスチャを表す第3のデータは更に少なくとも1個の第2のトラックから復号化される。
【0025】
特定の特徴によれば、テクスチャを表す第3のデータは更に少なくとも1個の第3のトラックから復号化され、第3のデータが第3のフレームの複数の第3のタイルに配列され、第3のタイルの組が各第1のタイルに割り当てられた少なくとも1個の第3のタイルを含み、集団の複数の3D点に関連付けられた第3のデータを含む少なくとも1個のパッチの組が第3のタイルの組に配列され、当該少なくとも1個のパッチが3D点の集団の2次元パラメータ化に対応している。
【0026】
別の特徴によれば、3Dシーンの少なくとも一部が第1及び第2のデータに従いレンダリングされる。
【0027】
本開示はまた、3Dシーンを表すデータを担持するビットストリームに関し、当該データは、少なくとも1個の第1の構文要素内に、第1の視点に従い視認可能な3Dシーンのテクスチャを表す第1のデータを含み、当該第1のデータは第1のフレームの複数の第1のタイルに関連付けられ、3Dシーンの一部は当該複数の第1のタイルの各第1のタイルに関連付けられていて、少なくとも1個の第2の構文要素内に、3Dシーンの複数の点に関連付けられた奥行きを表す第2のデータを含み、当該第2のデータは第2のフレームの複数の第2のタイルに関連付けられ、第2のフレームの第2のタイルの総数は第1のフレームの第1のタイルの総数よりも多く、第2のタイルの組は前記各第1のタイルに割り当てられた少なくとも1個の第2のタイルを含み、少なくとも1個のパッチの組が第2のタイルの組に配列され、各パッチは各第1のタイルに関連付けられた3Dシーンの一部に含まれる3D点の集団の2次元パラメータ化に対応し、当該集団の複数の3D点に関連付けられた奥行きを表す第2のデータを含み、ビットストリームは更に、第1のデータ及び第2のデータの少なくとも一部を抽出する旨の少なくとも1個の命令を少なくとも1個の第3の構文要素内に担持している。
【0028】
本開示はまた、コンピュータで当該プログラムが実行されたならば3Dシーンを表すデータを符号化又は復号化する方法のステップを実行するプログラムコード命令を含むコンピュータプログラム製品に関する。
【0029】
本開示はまた、3Dシーンを表すデータを符号化又は復号化する少なくとも上述の方法をプロセッサに実行させる命令を保存している(非一時的)プロセッサ可読媒体に関する。
【0030】
4.図面のリスト
添付の図面を参照しながら以下の記述を精査することにより本開示に対する理解が深まると共に他の特定の特徴及び利点が明らかになろう。
【発明を実施するための形態】
【0032】
5.実施形態の詳細な説明
主題について、同一要素に同一参照番号が付与された図面を参照しながら以下に記述する。以下の記述において、主題を完全に理解できるよう説明目的で多数の具体的な詳細事項開示している。しかし、これらの具体的な詳細事項が無くても主題の実施形態が実施できることは明らかである。
【0033】
以下の記述で本開示の原理を説明する。従って本明細書に明示的に記述又は図示していなくても当業者には本開示の原理を実施する各種の構成に想到し得ることが理解されよう。
【0034】
本開示の非限定的な実施形態による、ボリュメトリックビデオ(3DoF+又は6DoFビデオとも呼ばれる)の画像を、例えば1個以上のフレーム、コンテナ及び/又はビットストリームに符号化する方法及び装置を開示する。ストリーム及び/又はフレームからボリュメトリックビデオの画像を復号化する方法及び装置も開示する。ボリュメトリックビデオの1個以上の画像/フレームを符号化するビットストリームの構文の例も開示する。
【0035】
非限定的な態様によれば、本原理について、3Dシーン(ボリュメトリックコンテンツで表され、没入型ビデオとも呼ばれる)を表すデータをコンテナ及び/又はビットストリームの1個以上のフレームに符号化する方法(及びそのように構成された装置)の第1の特定の実施形態に言及しながら記述する。
【0036】
上述の目的を達成すべく、第1の視点に従い視認可能な3Dシーンのテクスチャを表す第1のデータ(例:3Dシーンの要素、例えば点に関連付けられた色情報)は、第1のフレームの第1のタイルの少なくとも一部に関連付けられた1個以上の第1のトラック内に符号化される。第1のデータは、シーンの3DoFビュー/画像のテクスチャ情報、すなわち3Dシーンの幾何学的(すなわち奥行き又は3D情報)すなわち「平坦な」ビュー/画像を含まずテクスチャだけを有する中心視点に従うシーンのビューに対応している。第1のフレームは、複数の第1のタイル(フレームの部分領域に対応し、例えばHEVC標準(高効率ビデオ符号化)又は異なる略語(群)で表記されたグーグルのVP9で画定されるタイル)に分割され、当該3Dシーンの一部は第1のフレームの各第1のタイルに関連付けられている。
【0037】
第2のフレームは複数の第2のタイルに分割され、第2のタイルの総数は第1のフレームの第1のタイルの総数よりも多い。第1のタイルの少なくとも一部に対して、第2のタイルの組が各第1のタイルに割り当てられる。各第1のタイルに関して、各第1のタイルに対応する3Dシーンの一部のパッチが、割当られた第2のタイルに配列されている。1個のパッチは、当該シーンの3D部分の2次元の(2D)パラメータ化に対応し、3D部分に含まれる少なくともいくつかの点の奥行きを表す少なくとも第2のデータを含んでいる。
【0038】
第2のデータは、第2のタイルに関連付けられた1個以上の第2のトラック内に符号化される。
【0039】
(第1のトラックの少なくとも一部から)第1のデータの少なくとも一部及び(第2のトラックの少なくとも一部から)第2のデータの少なくとも一部を抽出すべく適合された命令が1個以上の第3のトラック内に符号化される。
【0040】
3Dシーンの3D部分の2Dパラメータ化は、当該3D部分の(例えば当該3D部分に含まれる3Dシーンの点の)2D表現に対応している。2Dパラメータ化は、以下の記述でより詳細に説明するように各種の仕方で取得できる。
【0041】
フレームは、(例:ビデオを形成する時間的に連続する静止画像シーケンスの)画像に対応し、且つピクセルの配列に対応し、属性(例:奥行き情報及び/又はテクスチャ情報)が当該フレームのピクセルに関連付けられている。
【0042】
3Dシーンを表すデータを復号化する対応方法(及びそのために構成された装置)についても、本原理の非限定的な態様に関して述べた。
【0043】
図1に、複数の被写体の表面表現を含む3次元(3D)シーン10を表す画像を示す。当該シーンは任意の適当な技術を用いて取得されていてよい。例えば、コンピュータグラフィックインターフェース(CGI)ツールを用いて作成されていてよい。色及び奥行き画像撮影機器により得られていてよい。そのような場合、撮影機器(例:カメラ)からは見えない被写体の1個以上の部分が、
図2に関連して記述したシーンには表示されない可能性がある。
図1に示す例示的なシーンは、住宅、二人の人物及び井戸を含んでいる。立方体11は、ユーザーが3Dシーンを視認できそうな視野空間を示す。視野空間11は、例えば第1の視点に中心を有している。3Dシーン(又はその一部)は、例えば、第1の視点に従い3Dシーンを表す平坦な画像(又は全方向画像/ビデオとも呼ばれるフラットビデオ)で表され、(例えばHMDを着用した)ユーザーが3個の自由度(3Dof)に従い、すなわちロール、ヨー及びピッチ軸の回りの回転によりシーン内を探索することができる。3Dシーン(又は3Dシーンの更なる複数部分)は、テクスチャデータの第1の視点以外の立方体11の視点から見た3Dシーンの部分に関連付けられた追加的なデータ(平坦な画像のテクスチャ/色データに追加して)により表されていてよい。追加的なデータは例えば、以下の情報、すなわち
−第1の視点から見た3Dシーンの複数の点に関連付けられた奥行き情報、
−第1の視点以外の立方体11の視点から見た3Dシーンの複数部分に関連付けられた奥行き情報と、
−第1の視点以外の立方体11の視点から見た3Dシーンの複数部分に関連付けられたテクスチャ情報(色情報とも呼ばれる)の1個又は任意の組み合わせを含んでいてよい。
【0044】
フラットビデオと組み合わせた追加的なデータは、3Dシーンの表現の3DoF+及び/又は6DoF視聴を可能にする。
【0045】
図2に、シーン、例えば
図1の3Dシーン10における視点の例示的な配置を示す。
図2はまた、当該配置の異なる視点から/に従い視認可能な当該3Dシーン10の点を示している。没入型レンダリング装置(例:cave(没入環境)又はヘッドマウントディスプレイ装置(HMD))によりレンダリング及び表示されるべく、第1視点(第1の視点とも呼ばれる)、例えば第1の視点20からの3Dシーンを考える。シーンの点21は第1の人物の右肘に対応しており、第1の視点20とシーンの点21の間に不透明な被写体が全く存在しないため、第1の視点20から視認可能である。対照的に、例えば第2の人物の左肘に対応する3Dシーン10の点22は第1の人物の点により塞がれているため第1の視点20から見えない。
【0046】
3DoFレンダリングについて、1個の視点、例えば第1の視点20だけを考える。ユーザーは、3Dシーンの様々な部分を見るために第1の視点周辺で3個の自由度で頭部を回転できるが、ユーザーは第1の視点を移動させることはできない。ストリームに符号化するシーンの点は、当該第1の視点から視認可能な点である。ユーザーは第1の視点を移動させても接近できないため、当該第1の視点から見えないシーンの点を符号化する必要が無い。
【0047】
6DoFレンダリングに関して、ユーザーはシーンの全ての箇所に視点を移動させることができる。この場合、自身の視点を移動できるユーザーにより全ての点に潜在的にアクセスできるため、コンテンツビットストリーム内のシーンの全ての点を符号化することが重要である。符号化段階では、ユーザーがどの視点から3Dシーン10を観察するかを先験的に知る手段は無い。
【0048】
3DoF+レンダリングに関して、ユーザーは視点周辺の限られた空間内で、例えば第1の視点20周辺で視点を移動させることができる。例えば、ユーザーは、第1の視点20に中心を有する立方体11内で自身の視点を移動させることができる。これにより、
図3を参照しながら示すように視差を体感できるようになる。視野空間、例えば立方体11内の任意の点から視認可能なシーンの一部を表すデータが、第1の視点20に従い視認可能な3Dシーンを表すデータを含むストリームに符号化されることになる。視野空間のサイズと形状は例えば、符号化ステップで決定及び画定されてビットストリームに符号化される。デコーダは当該情報をビットストリームから得られ、レンダラは取得された情報により決定された空間に視野空間を限定する。別の例によれば、レンダラはハードウェア制約に応じて、例えばユーザーの動きを検出するセンサ(群)の能力に関して視野空間を決定する。このような場合、符号化フェーズにおいて、レンダラの視野空間内の一点から視認可能な一点がビットストリームに符号化されていない場合、当該点はレンダリングされない。更なる例によれば、3Dシーンの全ての点を表すデータ(例:テクスチャ及び/又はジオメトリ)は、レンダリング視野空間を考慮することなくストリームに符号化される。ストリームのサイズを最適化すべく、シーンの点の部分集合、例えばレンダリング視野空間に従い視認可能な点の部分集合だけを符号化してもよい。
【0049】
図3に、ボリュメトリック(すなわち3DoF+及び6DoF)レンダリングにより可能な視差感を示す。
図3Bに、
図2の第1の視点20からユーザーが視認できるシーンの一部を示す。当該第1の視点20から、所与の空間構成に例えば2人の人物が存在し、(白いシャツを着た)第2の人物の頭部は視認可能であるが、左肘は第1の人物の体により隠されている。ユーザーが自身の頭部を3個の自由度に従い第1の視点20の回りに回転させてもこの構成は変化しない。視点が固定されている場合、第2の人物の左肘は視認できない。
図3Aに、
図2の視野空間11の左側に位置する視点から見たシーンの同一部分を示す。このような視点から、視差効果により
図2の点22は視認可能である。従って、ボリュメトリックレンダリングのために点22をストリームに符号化すべきである。符号化されない場合、当該点22はレンダリングされない。
図3Cに、
図3の視野空間11の右側に位置する視点から見たシーンの同一部分を示す。当該視点から、第2の人物は第1の人物によりほぼ全身が隠されている。
【0050】
3Dシーン内で視点を移動させることにより、ユーザーは視差効果を体感できる。
【0051】
図4に、
図2の第1の視点20から視認可能な3Dシーン10の点のテクスチャ情報(例:RGBデータ又はYUVデータ)を含むテクスチャ画像40(カラー画像とも呼ばれる)を示しており、当該テクスチャ情報は正距円筒投影マッピングにより取得できる。正距円筒投影マッピングは、球面投影マッピングの一例である。
【0052】
図5に、立方体投影マッピングに従い取得又は符号化された3Dシーンの点の画像50を示す。異なる立方体投影マッピングがある。例えば、立方体の面は
図5の画像50とは異なる仕方で配置されていても、及び/又は面は別の方向を向いていてもよい。
【0053】
決定された視点から視認可能なシーンの点の取得/符号化に用いる投影マッピングは、例えば圧縮基準、又は例えば標準的な任意選択に従い選択される。ある投影マッピングに従う点群の投影により得られた画像を、例えば異なる投影マッピングに従う同一点群の等価画像に変換可能であることは当業者には公知である。にもかかわらずこのような変換は投影の解像度に若干の損失をもたらす場合がある。
【0054】
図4及び5ではグレーの影付きで示している。これらがテクスチャ(色)画像(シーンの点のテクスチャ(色)を符号化する)の例えばRGB又はYUVの例であることは自然に理解されよう。画像40及び50は各々3Dシーンの3DoFレンダリングに必要なデータを含んでいる。構文の第1の要素に、
図4及び/又は
図5の例示的画像40及び/又は50として1個の画像を含むビットストリーム又はデータストリームを受信しているデコーダは、画像の符号化に用いる方法と相関する方法を用いて画像を復号化する。ストリームは、標準的な画像及びビデオ圧縮方法及び画像及びビデオ担持の標準形式、例えばMPEG−2、H.264又はHEVCに従い符号化することができる。デコーダは、復号化画像(又は画像のシーケンス)を3DoFレンダラ又は例えば再フォーマット設定モジュールに送信することができる。3DoFレンダラは最初に、投影面(例:
図4のERP画像40の場合は球面、又は
図5の画像50の場合は立方体)から復号化画像の投影を解除し、次いで視聴エンドユーザー機器が要求する矩形ビューポートを生成する。一変型例において、レンダラは投影前に別の異なる投影マッピングに従い画像を変換する。
【0055】
画像が3DoFレンダリングと互換性を有するのは、当該画像が投影マッピングに従い3Dシーンの点を符号化する場合である。当該シーンは360°の範囲に点を含んでいてよい。3DoFレンダリングと互換性を有する画像の符号化に一般的に用いる投影マッピングは、例えば球面マッピングのうち、正距円筒投影、経度/緯度投影、又は立方体投影マッピング若しくは正四角錐投影マッピングの異なる配置である。
【0056】
図6に、第1の視点20に従う3Dシーン10の奥行き画像(奥行きマップとも呼ばれる)を示す。奥行き情報はボリュメトリックレンダリングに必要である。
図6の画像の符号化例において、ピクセルが暗いほど視点から当該ピクセルに投影された点が近い。例えば、奥行きは12ビットに符号化、すなわち奥行きを0〜2
12−1(=4095)の間の整数で表すことができる。例えば、決定された視点から1メートルに最も近い点が位置し、決定された視点から25メートルに最も遠い点が位置する場合、奥行きの線形符号化は0.586センチメートル(=(2500−100)/4096)のステップにより実行される。視点から遠い点の奥行き値の低精度は、視点に近い点の奥行き値の低精度よりも重大でないため、奥行きを対数尺度で符号化してもよい。
図6に関する例示的実施形態において、視点から視認可能なシーンの点の奥行きは、
図5のカラーマップを符号化に用いた投影マッピングと同じ投影マッピングに従い奥行きマップに符号化される。別の実施形態において、異なる投影マッピングにより奥行きを符号化してもよい。レンダラは、奥行きマップ及び/又はカラー画像を当該データに符号化されたシーンの点を投影解除すべく変換する。
【0057】
図7に、被写体70の3次元(3D)モデル及び3Dモデル70に対応する点群71の点を示す。モデル70は3Dメッシュ表現であってよく、点群71の点はメッシュの頂点であってよい。点群71の点はまた、メッシュの表面上に分散した点であってよい。モデル70はまた、点群71を平滑化したバージョンとして表すことができ、モデル70の表面は点群71の点を平滑化することにより形成されている。モデル70は、ボクセル又はスプライン等、多くの異なる表現で表すことができる。
図7は、3D被写体の表面表現により点群を画定できること、及び3D被写体の表面表現を点群から生成できることを示している。本明細書で用いるように、3D被写体の点を(3Dシーンの拡張点により)画像に投影することは、当該3D被写体の任意の画像表現を投影して被写体を形成することと等価である。
【0058】
点群は、各点が自身の座標(例:3次元座標XYZ、又は所与の視点からの奥行き/距離)及び成分とも呼ばれる1個以上の属性を有するベクトル型の構造と見なすことができる。成分の一例は、各種の色空間内で表され得る色成分、例えばRGB(赤、緑及び青)又はYUV(Yは輝度成分、UVは二つの色度成分)である。点群は、所与の視点、又は視点の範囲から見た被写体の表現である。点群は多くの仕方、例えば
・カメラのリグから撮影され、任意選択的に奥行き能動検出装置により補足された実被写体の撮像から、
・モデリングツールの仮想カメラのリグにより撮影された仮想/合成被写体の撮像から、
・実及び仮想被写体の両方の混合から取得されてよい。
【0059】
3Dシーンのボリュメトリック部分は例えば、点群71のような1個又は複数の点群により表すことができる。
【0060】
図8に、本原理の非限定的な一実施形態による、画像40(以下で第1のフレーム40とも呼ばれる)のタイリングを示す。第1のフレーム40は、3Dシーンの広視野(最大360°)平坦表現、すなわち奥行き無しでテクスチャ(カラー)情報だけを含む2D表現に対応している。広視野コンテンツ(全方向コンテンツとも呼ばれる)は、典型的にエンドユーザー機器のビューポートよりも大きい視野を有する、すなわちエンドユーザー機器上の一度に第1のフレーム40の小部分だけが表示されるコンテンツである。第1のフレーム40は小部分又は部分領域81〜88に分割され、例えば(Alliance for Open Mediaにより開発された)HEVC、VP9又はAV1の意味でのタイルに対応していてよい。これらのタイルは、例えば動きが制約されたHEVCタイリング(MCTS)を用いて取得できる。
【0061】
非限定的な例によれば、(正距円筒(ERP)投影が実行された後の)第1のフレームは8個のHEVCタイル81〜88に分割される。HEVCタイルは、整数個のCTU(符号化ツリーユニット、CTUは例えばサイズが64×64の最大符号化ブロックに対応)を含み、固定又は可変サイズ(例:HEVCのMain10プロファイルレベル5.1はタイルの行と列の最大数を11×10に設定)の行と列からなる格子パターンに編成された重なり合わない矩形状領域に対応している。第1のフレームコンテンツは例えば、動きが制約されたタイル組(MCTS)を用いて、すなわち他のタイルから予測すること無く1個以上の解像度に符号化することができる。各々の符号化MCTSシーケンスは、例えばISOBMFF(ISOに基づくメディアファイル形式)コンテナ内で別々のタイルトラックにカプセル化されて保存することができる。HEVCのMain10プロファイルレベル5.1に基づくならば、タイルの個数は8に限定されず、任意の整数、例えば2以上且つ110未満(11×10)であってよい。
【0062】
3Dシーンの異なる3D部分又は3D区画に第1のフレーム40の各タイルT181、T282、T383、T484、T585、T686、T787及びT888が関連付けられていて(
図10に関してより詳細に説明するように)、3Dシーンの3D部分の投影の結果に対応する第1のフレームの決定されたタイルのビデオコンテンツが当該決定されたタイルに関連付けられている。
【0063】
図9に、本原理の非限定的な一実施形態による、第1のフレームの1個のタイルT686に関連付けられた3Dシーンの3D部分の2Dパラメータ化を示す。同一処理が第1のフレーム40のタイルT1、T2、T3、T4、T5、T7及びT8に関連付けられた3Dシーンの各3D部分に適用できる。
【0064】
タイルT686に関連付けられた3Dシーンの3D部分に含まれる3Dシーンの点は、複数個の点の1個以上の集団に集団化することができ、同一集団に属する点は例えば決定された奥行きの範囲に含まれる奥行き情報を有している(すなわち同一集団の点は奥行きが整合している)。視野空間(例:立方体)11に含まれる視点の範囲は例えば複数の視点(例:5、10又は20個の視点)に離散化されている。別の例によれば、第1の視点20に中心を有する四面体を画定することにより視野空間11から複数の視点が得られ、四面体の4個の頂点の各々が第1の視点20に加えて複数の視点のうち1個の視点を画定している。タイルT686に関連付けられた3Dシーンの3D部分の点は、複数の視点の各々から3D部分を考慮することにより集団化される。同一点が複数の集団に属するのを回避すべく、集団化は最初に第1の視点について行われてよく、第1の視点に従い集団化された点は別の視点に従う次の集団化では考慮されない。点の集団の例、例えば集団91〜95を
図9に示し、各集団は奥行きが整合する点を含み、例えば集団94は奥行きが2m〜2.5m(第1の視点からの距離)の点を含み、集団95は奥行きが3.2m〜3.9mの点を含み、集団93は奥行きが3.9m〜10mの点を含んでいる。
【0065】
点の各集団に対して1個のパッチが生成され、当該パッチは点の集団の2Dパラメータ化に対応している。例えば、パッチ904は点の集団94から生成される。点の各集団を2次元で、すなわち2Dパラメータ化に従い表すべく、3D部分の点の各集団の1個以上のパッチが生成される。点の各集団91、92、93、94及び95に対して1個以上の2Dパラメータ化を取得できる。2Dパラメータ化は点の集団毎に異なっていてよい。一変型例によれば、全ての点の集団に関連付けられた全ての2Dパラメータ化は同じ種類、例えば線形遠近投影又は正射投影である。一変型例によれば、同一の点の集団に対して異なる2Dパラメータ化を用いることができる。
【0066】
所与の1個の点の集団、例えば集団94に関連付けられた2Dパラメータ化は、所与の3D点の集団のサンプリングを可能にする点群の所与の3D点の集団の2次元での閲覧に対応し、すなわち適用したサンプリングステップに個数が依存する複数のサンプル(パッチ画像のピクセルに対応していてよい)を含む所与の3D点の集団のコンテンツ(すなわち点(群))の2D表現である。2Dパラメータ化は、パラメータの組により表すことができ、且つ各種の方法で、例えば以下の方法、すなわち
−視点に関連付けられた球面上への点群の点の集団に属する点の正距円筒投影(ERP)であって、ERP投影を表現するパラメータが球体の位置、方位及び空間サンプリングステップを含む投影、
−視点に関連付けられた平面への点群の点の集団に属する点の線形遠近投影であって、線形遠近投影を表現するパラメータが仮想カメラの位置、焦点距離、空間サンプリングステップ及び2次元視野を含む投影、
−表面への点群の点の集団に属する点の正射投影であって、正射投影を表現するパラメータが投影面のジオメトリ(形状、サイズ及び向き)及び空間サンプリングステップを含む投影、
−ここでは3Dから2Dへの転換/変換に適用される次元削減の個数値演算に対応するLLE(局所線形埋め込み)であって、LLEを表現するパラメータが変換係数を含む投影のうち任意の一つを実行することにより取得できる。
【0067】
各パッチは有利な特徴として、以下に説明するパッキング処理を容易にすべく矩形状である。各パッチは、関連する点の集団に属する点の投影/2Dパラメータ化により得られたジオメトリ情報を含んでいてよい。ジオメトリ情報は、奥行き情報又はメッシュ要素の頂点位置に関する情報に対応していてよい。パッチは更に、当該パッチが第1の視点から視認可能な点から取得された場合を除き、関連する点の集団に属する点に関連付けられたテクスチャ情報を含んでいてよい。第1の視点から視認可能な点に対して、テクスチャ情報を第1のフレーム40から取得することができる。一変型例によれば、ジオメトリ情報だけを含むジオメトリパッチが生成され、必要な場合にテクスチャ情報だけを含むテクスチャパッチが更に生成される。
【0068】
各2Dパラメータ化を自身に関連付けられたパッチに紐付けるマッピング情報を生成することができる。マッピング情報は、2Dパラメータ化と、パッチが配列されたフレーム内の関連付けられたジオメトリパッチ及びテクスチャパッチとの間の接続を維持すべく生成されてよい。マッピング情報は例えば、
{2Dパラメータ化のパラメータ、ジオメトリパッチID、テクスチャパッチID}の形式であってよく、
ジオメトリパッチIDは1個の整数値であっても、又はジオメトリパッチが配列されたフレーム内で当該ジオメトリパッチが属する行番号U及び列番号Vを含む一対の値であってよく、テクスチャパッチIDは1個の整数値又はパッチが属するフレーム(群)の(又はフレーム(群)のタイルの)パッチのマトリクス内でテクスチャパッチが属する行番号U’ 及び列番号V’を含む一対の値であってよい。
【0069】
各2Dパラメータ化に対して同一マッピング情報が生成されてジオメトリパッチ及びテクスチャパッチに関連付けられる。そのようなマッピング情報は、対応するジオメトリパッチ及びテクスチャパッチとの2Dパラメータ化の関連付けを確立することにより3Dシーンの対応部分を再構築可能にする。2Dパラメータ化が投影である場合、関連ジオメトリパッチに含まれるジオメトリ情報及び関連テクスチャパッチに含まれるテクスチャ情報を(逆投影を実行して)投影解除することにより3Dシーンの対応部分を再構築することができる。マッピング情報は従って以下のマッピング情報のリストに対応している。
{2Dパラメータ化のパラメータ、ジオメトリ及びテクスチャパッチID}
i
i=1〜n、nは2Dパラメータ化の個数。
【0070】
図10に、本原理の非限定的な一実施形態による、第1のフレーム40のタイルT686に関連付けられた3Dシーンの3D部分に対応する、ある角度で切った扇形視野の2次元ビューを示す。
【0071】
図8に関連して説明したように、第1のタイルT181〜T888は各々3Dシーンの3D部分に関連付けられている。第1のフレーム40が正距円筒又は立方体マップ投影マッピングにより得られた場合、所与の第1のタイルT(
図8の非限定的な例ではT∈[1,8])に関連付けられた3D部分は、
【数1】
で定義され得る第1の視点からの画角範囲101に対応している。3Dパッチの2Dパラメータ化によりパッチ904等のパッチを生成すべく3D部分から多数の3Dパッチを取得することができる。3Dパッチは3D部分の部分集合、すなわち
図9に関して説明したように取得された点の集団に対応している。3Dパッチ102は例えば、決定された視点(第1の視点20又は視野空間11の離散化から得られる視点のいずれか)からの画角及び距離範囲で画定することができる。3Dパッチ102は例えば([θ
1,θ
2],[φ
1,φ
2],[ρ
1,ρ
2])で定義され、[θ
1,θ
2],[φ
1,φ
2]は画角に対応する角度範囲に対応し、[ρ
1,ρ
2]は距離の範囲に対応している。3Dパッチ(又は点の集団)を画定する際に1個以上の制約を適用してよい。例えば、3Dパッチに関連付けられた球面範囲([θ
1,θ
2],[φ
1,φ
2],[ρ
1,ρ
2])は、同一の3Dパッチが第1のフレームの2個の異なる第1のタイルにわたり(又は等価的に2個の異なるタイルに関連付けられた2個の異なる画角範囲にわたり)展開するのを避けるべく、第1のフレーム内で画定された第1のタイルT686の画角範囲
【数2】
に含まれるか又は適合しなければならない。奥行き情報及び/又はテクスチャ情報を含むパッチ904は、
図9に関して説明したように、3Dパッチ102の点の2Dパラメータ化により取得できる。
図9に関して説明したように、3Dパッチ102に関連付けられたジオメトリパッチ904を生成することができ、且つ3Dパッチ102に関連付けられたテクスチャジオメトリパッチを更に生成することができる。3Dパッチ102を第1の視点20から見た/画定した場合、パッチ904はジオメトリ情報だけを含み、テクスチャ情報は第1のフレーム40から取り出すことができる。
【0072】
図11に、本原理の非限定的な一実施形態による、第1のフレーム40の第1のタイルに関連付けられたシーンの3D部分の3Dパッチの2Dパラメータ化により得られたパッチ集団の複数の例を示す。
【0073】
図11は、第1のフレーム40の第1のいくつかのタイルに関連付けられたシーンの一部に含まれる点の集団の2Dパラメータ化により得られたパッチ集団のいくつかを示している。
図11は例えば、第1のフレーム40の第1のタイルT181に関連付けられたパッチ集団S1、第1のフレーム40の第1のタイルT383に関連付けられたパッチ集団S3、第1のフレーム40の第1のタイルT585に関連付けられたパッチ集団S5、第1のフレーム40の第1のタイルT686に関連付けられたパッチ集団S6及び第1のフレーム40の第1のタイルT888に関連付けられたパッチ集団S8を示している。たとえ図示されていなくも、パッチ集団S2、S4及びS7は、第1のタイルT282、T484及びT787に各々関連付けられたシーンの3D部分のコンテンツから取得できる。
【0074】
パッチ集団は、奥行き情報及びテクスチャ情報を含むパッチを含んでいてよい。一変型例によれば、パッチ集団は、奥行き情報だけ、又はテクスチャ情報だけを含むパッチを含んでいてよい。パッチ集団が奥行き情報(又はテクスチャ情報)だけを含むパッチを含む場合、テクスチャ情報(又は奥行き情報)だけを含むパッチを含む対応するパッチ集団を生成することができる。後者の変型例によれば、1個の集団(例:第1のタイルT1に関連付けられた集団S1)に含まれる奥行きパッチの個数は、対応する集団(例:集団S1と同じ第1のタイルT1に関連付けられた集団S1’(例示せず))に含まれるテクスチャパッチの個数とは異なる(例えばそれより多い)場合がある。
【0075】
1個の集団に含まれるパッチの個数は集団毎に異なっていてよい。例えば、集団S1に含まれるパッチの個数は、集団S5及びS8に含まれるパッチの個数よりも多いが、集団S3及びS6に含まれるパッチの個数よりも少ない。1個の集団(例:集団S1)に含まれるパッチの個数は、前記集団に関連付けられた第1のタイル(例:第1のタイルT1)に関連付けられたシーンの3D部分のコンテンツに依存し得る。パッチの個数は例えば、パッチの集団(例:S1)に関連付けられた第1のタイル(例:第1のタイルT1)に対応するシーンの3D部分に含まれる点の奥行きが整合する集団の個数に依存し得る。
【0076】
一変型例によれば、パッチの個数は各パッチ集団内のパッチの個数と同一である。パッチの個数はユーザーが決めた値であっても、又はパッチ及びパッチ集団を生成すべく構成された装置に保存された既定値であってもよい。
【0077】
図12に、3Dシーンを表すデータを、同時期に3DoF及び3DoF+レンダリングと互換性を有する形式で符号化、送信及び復号化する非限定的な例を示す。
【0078】
3Dシーン120(又は3Dシーンのシーケンス)がエンコーダ121によりストリーム122に符号化される。ストリーム122は、3DoFレンダリング用の3Dシーンを表すデータ(
図8の第1の画像40のデータ)を担持する構文の第1の要素及び3DoF+レンダリング用の3Dシーンを表すデータ(例:
図13の1個以上の第2の/第3の画像130のデータ及び/又は
図15の1個以上の第4の画像151、152のデータ)を担持する構文の少なくとも1個の第2の要素を含んでいる。
【0079】
エンコーダ121は例えば以下のようなエンコーダに準拠している。
・HEVC(仕様はITUウェブサイト、T推奨、Hシリーズ、h265、http://www.itu.int/rec/T-REC-H.265-201612-I/enで見られる)、
・3D−HEVC(仕様がITUウェブサイト、T推奨、Hシリーズ、h265、h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en annex G and Iに見られるHEVCの拡張)、
・Googleが開発したVP9、又は
・Alliance for Open Mediaが開発したAV1(AOMedia Video 1)。
【0080】
デコーダ123がソースからストリーム122を取得する。例えば、ソースは、
−ローカルメモリ、例えばビデオメモリ又はRAM(又はランダムアクセスメモリ(Random Access Memory))、(フラッシュメモリ)、ROM(又は読出し専用メモリ(Read Only Memory))、ハードディスク等、
−ストレージインターフェース、例えば大容量ストレージとのインターフェース、RAM、フラッシュメモリ、ROM、光ディスク又は磁気サポート、
−通信インターフェース、例えば有線インターフェース(例:バスインターフェース、ワイドエリアネットワークインターフェース、ローカルエリアネットワークインターフェース)又は無線インターフェース(IEEE802.11インターフェース又はBluetooth(登録商標)インターフェース等)、
−ユーザーがデータを入力できるようにするグラフィカルユーザーインターフェース等のユーザーインターフェースを含む集合に属している。
【0081】
デコーダ123は、3DoFレンダリング124用のストリーム122の構文の第1の要素を復号化する。3DoF+レンダリング125の場合、デコーダはストリーム122の構文の第1の要素及び構文の第2の要素の両方を復号化する。
【0082】
デコーダ123は、エンコーダ121に準拠しており、例えば
・HEVC、
・3D−HEVC(HEVCの拡張)、
・VP9、又は
・AV1
等のデコーダに準拠している。
【0083】
図13に、本原理の非限定的な一実施形態による、第2のフレーム130の第2のタイル130
1〜130
32内で
図11のパッチ集団に含まれるパッチの配列の一例を示す。
【0084】
第2のフレーム130は、複数の第2のタイル130
1〜130
32、例えば
図13の非限定的な例の32個の第2のタイルに分割されている。第2のタイルの個数は32個に限定されず、第2のタイルの個数が第1の画像40の第1のタイルの個数よりも多い限り任意の個数であってよい。第1のタイルに関して、各第2のタイル130
1〜130
32のサイズ(例:高さ及び幅)は、第2のタイルが(1以上の)整数個数のCTU(例えばサイズが64×64の最大符号化ブロックに対応する符号化ツリーユニットであるCTU)を含み得るものであり、第2のタイル130
1〜130
32は格子パターンに編成され、行及び列のサイズは固定又は可変(例:HEVCのMain10プロファイルレベル5.1はタイルの行及び列の最大数を11×10に設定)である。
【0085】
第2のタイル130
1〜130
32に第1のタイルT1〜T8が関連付けられ、1個以上の第2のタイルが各第1のタイルに割り当てられる。例えば、2個の第2のタイル(例:第2のタイル130
1〜130
2)が第1のタイルT1に割り当てられ、4個の第2のタイル(例:第2のタイル130
3〜130
6)が第1のタイルT2に割り当てられ、5個の第2のタイル(例:第2のタイル130
7〜130
11)が第1のタイルT3に割り当てられ、5個の第2のタイル(例:第2のタイル130
12〜130
16)が第1のタイルT4に割り当てられ、3個の第2のタイル(例:第2のタイル130
17〜130
19)が第1のタイルT5に割り当てられ、5個の第2のタイル(例:第2のタイル130
20〜130
24)が第1のタイルT6に割り当てられ、5個の第2のタイル(例:第2のタイル130
25〜130
29)が第1のタイルT7に割り当てられ、3個の第2のタイル(例:第2のタイル130
30〜130
32)が第1のタイルT8に割り当てられていてよい。第2のタイルは、第1のタイルT1〜T8に関連付けられたシーンの3D部分を2Dパラメータ化することにより取得されたパッチを包含及び担持するために用いる。第1のタイルT1に関連付けられた3D部分を2Dパラメータ化することにより得られたパッチ集団S
1に含まれるパッチは第1のタイルT1に割り当てられた第2のタイル130
1〜130
2に配列され、集団S
2のパッチは第1のタイルT2に割り当てられた第2のタイル130
3〜130
6に配列され、集団S
3のパッチは第1のタイルT3に割り当てられた第2のタイル130
7〜130
11に配列され、以降も同様である。
【0086】
第2のタイルは例えば、第1のタイルを再分割することにより得られる。第1のタイルは例えば、2、4又は8個の第2のタイルに再分割することができる。
【0087】
第1のタイルに割り当てられた第2のタイルの個数は例えば、第1のタイルに関連付けられたパッチ集団に含まれるパッチの個数に依存し得る。当該個数は更に、各第1のタイルが少なくとも1個の第2のタイルを割り当てられるように最大値に限定されていてよい。
【0088】
第2の画像130は、奥行き及びテクスチャ情報を含むパッチを含んでいてよい。一変型例によれば、第2の画像130は奥行き情報だけを含むパッチを含んでいてよく、第3の画像は第1の視点から得られるパッチを除き、第1のタイルに関連付けられたテクスチャ情報を含むパッチを含むべく生成される。第3の画像は複数の第3のタイルを含み、第3のタイルの個数は第1のタイルの個数よりも多い。
【0089】
フレームサイズ及びタイルの個数等のパラメータは第1と第2の画像で同一であってよい。一変型例によれば、第1と第2の画像で1個以上のパラメータが異なる。
【0090】
図14に、第2のフレーム130内(及び/又は第3のフレーム内)の第2のタイル内のパッチ集団S
1〜S
8のパッチを配列する処理の非限定的な例を示す。
【0091】
第2のタイルに関する初期予定数は
図14の例によれば32である。
【0092】
本処理の入力は、i個のパッチ
【数3】
のN個の集団S
tのリストからなり(i及びNは整数であり、iは集団内のパッチの個数に対応し、
図14の例によればN=8である)、
【数4】
、t∈[1,N]であって、各集団S
1〜S
8は第1のフレーム40内の第1のタイルT1〜T8に対応している。
【0093】
第1の動作において、各入力パッチ
【数5】
のサイズが第2のタイルの幅又は高さを上回るか否かを調べる。例えば、第2のフレーム130のサイズが2048×1024ピクセルであり、且つ32個の第2のタイルが同じサイズであることを考慮すれば、第2のタイルのサイズは256×256ピクセルである。あるパッチが目標とする第2のタイルのサイズに合わない場合、当該パッチは、各々が目標とする第2のタイルのサイズよりも小さいパッチに分割される。
【0094】
第2の動作において、入力パッチ
【数6】
は視覚的重要度の降順にソートされる。パッチの視覚的重要度は、視点との距離(遠いほど重要度が低い)、及び/又は主視線方向に対する角度位置(左端、右端、上端又は下端のパッチは中央のパッチよりも重要度が低い)、及び/又は排除(中心視点から排除されたパッチは重要度が低い)に依存し得る。視覚的重要度に従うソートは全ての入力パッチについて、すなわちパッチ集団S
1〜S
8を並列に又は逐次的に考慮するのではなく、全てのパッチ集団S
1〜S
8の全ての入力パッチを同時に処理することにより実行される。にもかかわらず、入力パッチのパッチ集団への所属に関する情報は以下の動作用に保持される。
【0095】
例えばN個のパッキングアルゴリズムを、各パッチ集団S
1〜S
8に対して1個のパッキングアルゴリズムずつ並列に実行してもよい。例えばパッキングアルゴリズムとして、J. Jylanki”A thousand ways to pack the bin −A practical approach to two-dimensional rectangle bin packing”に記述されているShelf, Guillotine, Maximal Rectangles and Skyline法をその全ての変型例と共に用いてよい。
【0096】
第3の動作において、最も視覚的に重要なものから始めて入力パッチを1個ずつ処理することができる。入力パッチが属するパッチ集団を決定して(例:入力パッチに関連付けられたメタデータから取得して)、入力パッチを各々が属するパッチ集団に対応するパッキング分岐(t=1〜8)に向ける。1個以上の第2のタイル130
1〜130
32が各パッキング分岐に割り当てられる。
【0097】
パッキング分岐のうち1個において現在到着しているパッチを収容する空間が現在の第2のタイルにもはや存在しない場合、新たに空の第2のタイルが生成されて次回のパッキングでパッキングが再開する。当該パッキング分岐の後続パッチに対して、先行パッキング回に生成された全ての第2のタイルが潜在的に目標とする第2のタイルとして残る。実際、新たに到着する入力パッチは先のものよりも小さく、先に生成された第2のタイル内に配列することができる。
【0098】
全ての入力パッチが処理された、又は第2のタイル予定数が使い果たされて全ての第2のタイルが満杯になったならば処理は停止する。第2のフレーム130が小さ過ぎて全ての入力パッチをパッキングできない場合、未だパッキングされていない残りのパッチはパッキングされずに破棄される。入力パッチは視覚的重要度に従い処理されるため、破棄された入力パッチは視覚的重要度が最も低い入力パッチに対応し、第2のフレーム130のパッチから3Dシーンをレンダリングする際の問題を抑制する。
【0099】
図15に、第2のフレーム130の第2のタイルから(及び/又は第3のフレームの第3のタイルから)取得された2個の第4のフレーム151、152の非限定的な例を示す。
【0100】
第4のフレーム151、152は各々、第2のフレーム130の第2のタイルの一部に含まれるパッチを含んでいる。第4のフレーム内の第2のタイルは第1のフレーム内の第1のタイルのいくつかの選択に対応しており、第1のタイルと第2のタイルの間にマッピングが存在する。レンダリング側では、コンテンツのレンダリングに用いるエンドユーザー機器のビューポートが第1のフレーム40のコンテンツの視野より小さいことがあるため、第1のフレームの一部だけが必要な場合がある。エンドユーザー機器のレベルで決定可能な視線方向に従いフレーム40の小部分だけが表示され、当該小部分に対応する第1のタイルだけが復号化及びレンダリングすればよい。
【0101】
第4のフレーム151は例えば、(例えば解像度1280×1024ピクセルで)5列4行に配列された20個の第4のタイルを含んでいる。第4のフレーム151は、第1のタイルT1、T2、T5及びT6に関連付けられた3Dシーンの3D部分を含むビューポートに対応するデータを含み、当該第1のタイルT1、T2、T5及びT6に関連付けられた3Dシーンの3D部分の3Dパラメータ化により得られたパッチ、すなわち第2のタイル130
1、130
2、103
3、103
4、130
5、130
6、130
17、130
18、130
19、130
20、130
21、130
22、130
23及び130
24に含まれるパッチを含んでいる。当該第4のフレームのタイルは第2のタイルに対応し、且つ対応する第2のタイルのコンテンツ(パッチ及びパッチに含まれるデータ)を含んでいてよく、第2のタイルは自身の添え字、すなわち1〜32により識別される。当該第4のフレームの残りのタイル、すなわち斜めストライプで満たされたタイルは空であってデータを含まないか又はダミーデータを含んでいる。
【0102】
第4のタイルは、
図13で第2のフレームの第2のタイルを生成することなく、第2のタイル又は2Dパラメータ化処理から直接取得できる。
【0103】
第1、第2、第3及び第4のフレームは各々、時間が経過しても変化しないサイズ及び時間が経過しても変化しないタイル個数を有する。タイルのサイズ及び/又は個数は第1、第2、第3及び第4フレームで同じであっても、又は第1の、第2の、第3の及び/又は第4のフレームで異なっていてもよい。
【0104】
第4のフレーム152は、第4のフレーム151と同様に5列4行に配列された20個の第4のタイルを含んでいる。第4のフレーム152は、第1のタイルT2、T3、T6及びT7に関連付けられた3Dシーンの3D部分を含むビューポートに対応するデータを含み、当該第1のタイルT2、T3、T6及びT7に関連付けられた3Dシーンの3D部分の3Dパラメータ化により得られたパッチ、すなわち第2のタイル103
3、103
4、130
5、130
6、103
7、103
8、130
9、130
10、130
11、130
20、130
21、130
22、130
23、130
24、130
25、130
26、130
27、130
28及び130
29に含まれるパッチを含んでいる。第4のフレームに割り当てられた第2のタイルは、添え字3、4、5、6、7、8、9、10、11、20、21、22、23、24、25、26、27、28及び29により識別される。第4のフレームの残りのタイル、すなわち斜めストライプで満たされたタイルは空であってデータを含んでいないか又はダミーデータを含んでいる。
【0105】
一般的には、シーンの全方向平坦画像/ビデオに対応する第1のフレーム40の第1のタイルのC個の組み合わせがあり、M個の第1のタイルの各々の組み合わせが異なるビューポート方位(Mは例えば4に等しい整数)に対応している。W×H個の第1のタイルの完全な集合のうちW’×H’個の第1のタイルだけが(W’≦W,H’≦H、
図8の例ではWは4、Hは2に等しい)必要であり、抽出器トラックは、タイリングされたHEVC(又はVP9又はAV1)に準拠するビットストリームへの集約を復号化の前に実行する。
【0106】
同様の集約処理が、(W
a×H
a個の第2のタイルの完全な集合のうち)第1のタイルのC個の組み合わせの1個に対応するT個の第2のタイルの部分集合に対して実行される。第2のタイルは全てサイズが同じであり、
【数7】
個のタイルの矩形フレーム(例:第4のフレーム151、152)へのタイリングされた集約が常に可能である
【数8】
。以下の3通りの可能性がある。
(i)
【数9】
:集約のため完全デコーダ側タイリング格子(すなわち第4のフレーム)を用いる、
(ii)
【数10】
:デコーダ側タイリング格子の一部だけを使用し、未使用タイル(斜めストライプで示す)をダミー値で満たす、
(iii)
【数11】
:完全デコーダタイリング格子(すなわち第4のフレーム)を使用するが、いくつかの第2のタイルはドロップする;各パッチに(
図14に関して述べたパッキングアルゴリズムに従い)視覚的重要度値が割り当てられているため、タイル視覚的重要度はパックされたパッチの最大視覚的重要度として定義されて、視覚的重要度が最も低いタイルの優先順位が下げられる。
【0107】
図16に、パケット方式の送信プロトコルを介してデータを送信する際の3Dシーンを表す情報及びデータを担持するストリームの構文の一実施形態の非限定的な例を示す。
図16は、ボリュメトリックビデオストリームの例示的な構造16を示す。本構造は、ストリームを構文の独立した要素に編成するコンテナである。本構造は、ストリームの全ての構文要素に共通のデータ組であるヘッダ部分161を含んでいてよい。例えば、ヘッダ部分は、構文要素に関する各々の性質及び役割を記述したメタデータを含んでいる。ヘッダ部分はまた、3DoFレンダリングの第1のフレームの符号化に用いる視点の座標及びフレームのサイズ及び解像度に関する情報を含んでいてよい。本構造は、構文162の第1の要素を含むペイロード及び構文163の少なくとも1個の第2の要素を含んでいる。第1の構文要素162は、例えば第1の構文要素に符号化された第1のフレームのテクスチャデータに関連付けられた第1のビデオトラックに対応する、3DoFレンダリングのために用意された第1のフレームを表すデータを含んでいる。
【0108】
1個以上の第2の構文要素163は例えば、1個以上の第2のビデオトラックに関連付けられたジオメトリ情報及びテクスチャ情報を含んでいる。1個以上の第2の構文要素163は例えば、1個以上の第2のフレーム及び/又は
図13に関して述べた第3のフレームを表すデータを含んでいる。
【0109】
一変型例によれば、1個以上の第2の構文要素163は、
図15に関して述べた1個以上の第4のフレームを表すデータを含んでいる。
【0110】
更なる変型例によれば、ストリームは更に、構文の1個以上の第3の要素内の前記第1のデータ及び第2のデータの少なくとも一部を抽出する旨の少なくとも1個の命令を含んでいる。
【0111】
説明目的のため、ISOBMFFファイル形式標準との関連で、テクスチャデータ及びジオメトリデータ自体はmdat型の媒体データボックスに埋め込まれた状態で、テクスチャパッチ、ジオメトリパッチ及びメタデータは典型的に、moov型のボックス内のISOBMFFトラックで参照される。
【0112】
図17に、3Dシーンを符号化する処理の非限定的な例を示す。
図17の処理は、ボリュメトリックビデオのタイル方式符号化(例:タイル方式HEVC又はタイル方式AV1)及びファイルカプセル化に対応している。
【0113】
複数の第1のフレーム40のシーケンス171は、
・後方互換全方向ビデオを担持する複数のタイルトラック1710であって、N個の第1のタイルT1〜T8のうち1個の異なる第1のタイルに含まれるデータを各々含み(例:第1のタイルT1のコンテンツを担持する1個のタイルトラック、第1のタイルT2のコンテンツを担持する1個のタイルトラック、第1のタイルT3のコンテンツを担持する1個のタイルトラック、...及び第1のタイルT8のコンテンツを担持する1個のタイルトラック)、タイルトラックの個数は例えば2〜Nに含まれ、Nは第1のフレーム40の第1のタイルの個数に対応しているタイルトラック1710と、
・第1のフレーム、スティッチング及び領域毎のパッキングを取得して全方向ビデオをレンダリングするのに用いた投影に対応するメタデータ1712と、
・C個の可能なビューポート方位の個数に対応する抽出器トラックの最大数までの1個以上の抽出器トラック1711であって、1個の抽出器が1個のデコーダにより復号化可能なビットストリームを再構築する命令を含み、再構築されたビットストリームはデコーダにより復号化されるべく構文的に正しい抽出器トラック1711を取得すべく符号化することができる。
【0114】
符号化処理の出力側で取得された信号は例えば8個のタイルトラック1710(8は
図8の例における第1のタイルの個数に対応)、4個の抽出器トラック1711(4はエンドユーザー機器側でのビューポート方位に従う第1のタイルの可能な組み合わせの個数に対応、すなわち第1の組み合わせは第1のタイルT1、T2、T5、T6を含み、第2の組み合わせは第1のタイルT2、T3、T6、T7を含み、第3の組み合わせは第1のタイルT3、T4、T7、T8を含み、第4の組み合わせは第1のタイルT4、T1、T8、T5を含む)、及びメタデータ1712を含んでいてよい。
【0115】
一変型例によれば、信号は8個のタイルトラック1710の一部だけ、1個の抽出器トラック1711だけ、及びメタデータ1712を含んでいる。例えば、デコーダは、第1のタイルの組み合わせの一つ、例えば第1のタイルT2、T3、T6、T7を含む第2の組み合わせに対応する所与のビューポート方位を要求するリクエストを送信することができる。エンコーダはリクエストに応答して、タイルトラック2、3、6及び7が第1のタイルT2、T3、T6及びT7に関連付けられたデータを含む状態で、リクエストに対応する抽出器トラックだけを符号化して、要求されたビューポートを関連付けられたメタデータ1712によりレンダリングするためのビットストリームの再構築に必要とされる4個のタイルトラックを、要求を受けた抽出器に送信することができる。このような変型例により、データの担持に必要な符号化コスト及び帯域幅が削減可能になる。このようなビューポートに依存するコンテンツの配信は、DASHストリーミング機構(ISO/IEC23009−1、HTTPを介した動的適応ストリーミング)に基づいて実行することができる。
【0116】
シーケンス171の符号化により復号化後の全方向ビデオのレンダリングが可能になり、当該シーケンス171の符号化から得られたトラックは例えば、OMAF標準(ISO/IEC23090−2情報技術−没入型媒体(MPEG−I)の符号化表現−パート2:全方向媒体形式)に準拠している。
【0117】
第2のフレーム130のシーケンス172は、
・第2のタイル及び関連付けられたパッチを担持する複数のタイルトラック1720であって、M個の第2のタイル130
1〜130
32のうち1個の異なる第2のタイルに含まれるデータを各々が含むタイルトラック1720と、
・例えばパッチの投影解除パラメータ、第2のフレームの第2のタイル内の位置(又は適用可能な場合、第3のフレームの第3のタイル内の位置)を表す情報を含むメタデータ1722と、
・C個の可能なビューポート方位の個数に対応する抽出器トラックの最大数までの1個以上の抽出器トラック1721であって、1個の抽出器が1個のデコーダにより復号化可能なビットストリームを再構築する1個以上の命令を含み、再構築されたビットストリームはデコーダにより復号化されるべく構文的に正しく、“Information Technology − Coding of audio-visual objects − Part 15: carriage of NAL unit structured video in the ISO Base Media File Format, AMENDMENT 1: Carriage of Layered HEVC”,ISO/IEC 14496-15:2014/PDAM 1, dated July 11, 2014に記述するように、ある抽出器が別のトラックから当該抽出器が常駐するトラックに紐付けられたデータを抽出する命令を含む抽出器トラック1721を取得すべく符号化することができる。
【0118】
符号化処理の出力側で取得された信号は例えば32個のタイルトラック1720(32は
図13の例における第2のタイルの個数に対応)、4個の抽出器トラック1721(4はエンドユーザー機器側でのビューポート方位に従う第1のタイルの可能な組み合わせの個数に対応、すなわち第1の組み合わせは第1のタイルT1、T2、T5、T6に割り当てられた第2のタイルを含み、第2の組み合わせは第1のタイルT2、T3、T6、T7に割り当てられた第2のタイルを含み、第3の組み合わせは第1のタイルT3、T4、T7、T8に割り当てられた第2のタイルを含み、第4の組み合わせは第1のタイルT4、T1、T8、T5に割り当てられた第2のタイルを含む)、及びメタデータ1722を含んでいてよい。
【0119】
一変型例によれば、信号は32個のタイルトラック1720の一部だけ、1個の抽出器トラック1721だけ、及びメタデータ1722を含んでいる。例えば、デコーダは、第1のタイルの組み合わせの1個、例えば第1のタイルT2、T3、T6、T7に割り当てられた第2のタイルを含む第2の組み合わせに対応する所与のビューポート方位を要求するリクエストを送信することができる。エンコーダはリクエストに応答して、リクエストに対応する抽出器トラックだけを生成し、第1のタイルT2、T3、T6及びT7に割り当てられた第2のタイルに関連付けられたデータを含む第1のタイルT2、T3、T6及びT7に割り当てられた第2のタイルを含むタイルトラックを符号化して、要求されたビューポートを関連付けられたメタデータ1722によりレンダリングするためのビットストリームの再構築に必要とされる関連付けられたタイルトラックを、要求を受けた抽出器に送信することができる。このような変型例により、データの担持に必要な符号化コスト及び帯域幅が削減可能になる。このようなビューポートに依存するコンテンツの配信は、DASHストリーミング機構(ISO/IEC23009−1、HTTPを介した動的適応ストリーミング)に基づいて実行することができる。
【0120】
シーケンス171によりシーケンス172を符号化することでボリュメトリックビデオのレンダリングが可能になる。
【0121】
シーケンス172がジオメトリ情報だけを含む第2の画像のシーケンスに対応する場合、テクスチャ情報を含む第3のフレームの更なるシーケンスをシーケンス172と同様に符号化することができる。
【0122】
図18に、
図17の符号化処理により得られたビットストリームを復号化する処理の非限定的な例を示す。
【0123】
復号化処理は、二つの主処理、すなわち3DoFレンダリング用に全方向コンテンツ(テクスチャ情報だけ)を表すデータを復号化する第1の処理及び3DoF+レンダリング用にボリュメトリックコンテンツのレンダリングを可能にするデータを復号化する第2の処理を含んでいる。
【0124】
第1の処理において、要求されたビューポート方位に関連付けられたタイルトラック1810(
図17の非限定的な例による第1のタイルT2、T3、T6及びT7に関連付けられたデータを含むトラック)が、抽出器トラックで受信された命令に従いパーサ181により構文解析される。パーサ181は、デコーダ183に準拠するビットストリーム1811(例:デコーダ183がHEVC準拠ならばHEVC準拠ビットストリーム、又はデコーダ183がAV1準拠ならばAV1準拠ビットストリーム)を再構築可能にする。ビットストリーム1811に含まれるデータはデコーダ183により復号化され、復号化されたデータは、
図17の符号化処理により得られたビットストリームに含まれるメタデータ1712を用いて全方向コンテンツをレンダリングすべく構成されたレンダラ185に送信される。
【0125】
第2の処理において、要求されたビューポート方位に関連付けられたタイルトラック1820(
図17の非限定的な例による第1のタイルT2、T3、T6及びT7に関連付けられた第2のタイル(又はテクスチャデータの場合は第3のタイル)に含まれるパッチを含むトラック)は、抽出器トラックで受信された命令に従いパーサ182により構文解析される。パーサ182はデコーダ184に準拠するビットストリーム1821(例:デコーダ184がHEVC準拠ならばHEVC準拠ビットストリーム、又はデコーダ184がAV1準拠ならばAV1準拠ビットストリーム)を再構築可能にする。再構築されたビットストリームは、例えば
図15に関して述べた1個以上の第4のフレームのデータを含んでいる。ビットストリーム1821に含まれるデータはデコーダ184により復号化され、復号化されたデータは
図17の符号化処理により得られたビットストリームに含まれるメタデータ1722を用いてボリュメトリックコンテンツのボリュメトリック部分をレンダリングすべく構成されたレンダラ186に送信される。第2の処理は、奥行き情報を含むタイルトラック、及びテクスチャ情報を含むタイルトラックに対して実行することができる。
【0126】
図19に、
図17、18、20及び/又は21に関して述べた方法を実行すべく構成可能な装置19の例示的なアーキテクチャを示す。装置19は、
図12のエンコーダ121又はデコーダ123として構成することができる。
【0127】
装置19は、データ及びアドレスバス191により互いに接続された以下の要素、すなわち
−マイクロプロセッサ192(又はCPU)、例えばDSP(又はデジタル信号プロセッサ)、
−ROM(読み出し専用メモリ(Read Only Memory))193、
−RAM(ランダムアクセスメモリ(Random-Access Memory))194、
−記憶インターフェース195、
−送信対象データをアプリケーションから受信するためのI/Oインターフェース196、
−電源、例:電池を含んでいる。
【0128】
一例によれば、電源は装置の外部にある。列挙した各々のメモリにおいて、本明細書で用いる用語「レジスタ」は、小容量(数ビット)の領域又は極めて大領域(例:プログラム全体又は受信或いは復号化された大量のデータ)に対応していてよい。ROM193は少なくとも1個のプログラム及び複数のパラメータを含んでいる。ROM193は、本原理に従い技術を実行するアルゴリズム及び命令を保存することができる。CPU192は電源投入時に、RAMにプログラムをアップロードして対応する命令を実行する。
【0129】
RAM194は、CPU192により実行されて装置19の電源投入後にアップロードされるプログラムをレジスタ内に、入力データをレジスタ内に、本方法の異なる状態にある中間データをレジスタ内に、及び本方法の実行に用いる他の変数をレジスタ内に含んでいる。
【0130】
本明細書に記述する実装は、例えば、方法又は処理、装置、コンピュータプログラム製品、データストリーム、又は信号に実装することができる。たとえ単一形式の実装(例:方法又は装置としてのみ議論)との関連で議論したに過ぎなくても、議論する特徴の実装はまた他の形式(例:プログラム)で実装することができる。装置は、例えば適当なハードウェア、ソフトウェア、及びファームウェアに実装されていてよい。方法は例えば、一般に処理装置を指し、例えばコンピュータ、マイクロプロセッサ、集積回路、又はプログラム可能論理装置を含む例えばプロセッサ等の装置に実装されていてよい。プロセッサはまた、通信機器、例えばコンピュータ、携帯電話、ポータブル/パーソナル携帯情報機器(「PDA」)、及びエンドユーザー同士の情報通信を容易にする他の装置を含んでいる。
【0131】
図12の符号化又はエンコーダ121の例に従い、3次元シーンがソースから取られる。例えばソースは、
−ローカルメモリ(193又は194)、例えばビデオメモリ又はRAM(ランダムアクセスメモリ(Random−Access Memory))、フラッシュメモリ、ROM(読み出し専用メモリ(Read Only Memory))、ハードディスク、
−記憶インターフェース(195)、例えば大容量記憶装置、RAM、フラッシュメモリ、ROM、光ディスク又は磁気サポートとのインターフェース、
−通信インターフェース(196)、例えば有線インターフェース(例:バスインターフェース、ワイドエリアネットワークインターフェース、ローカルエリアネットワークインターフェース)又は無線インターフェース(IEEE802.11インターフェース又はBluetooth(登録商標)インターフェース等)、
−ユーザーがデータを入力できるようにするグラフィカルユーザーインターフェース等のユーザーインターフェースを含む組に属している。
【0132】
図12の復号化又はデコーダ(群)123の例に従い、ストリームが宛先へ送られ、具体的には宛先は、
−ローカルメモリ(193又は194)、例えばビデオメモリ又はRAM、フラッシュメモリ、ハードディスク、
−記憶インターフェース(195)、例えば大容量記憶装置、RAM、フラッシュメモリ、ROM、光ディスク又は磁気サポートとのインターフェース、
−通信インターフェース(196)、例えば有線インターフェース(例:バスインターフェース(例:USB(ユニバーサルシリアルバス))、ワイドエリアネットワークインターフェース、ローカルエリアネットワークインターフェース、HDMI(登録商標)(高解像度マルチメディアインターフェース)インターフェース)又は無線インターフェース(IEEE802.11インターフェース、WiFi(登録商標)又はBluetooth(登録商標)インターフェース等)を含む組に属している。
【0133】
符号化又はエンコーダの例に従い、ボリュメトリックシーンを表すデータを含むビットストリームが宛先へ送られる。例えば、ビットストリームはローカル又はリモートメモリ、例えばビデオメモリ又はRAM、ハードディスクに保存されている。一変型例において、ビットストリームは、記憶インターフェース、例えば大容量記憶装置とのインターフェース、フラッシュメモリ、ROM、光ディスク又は磁気サポートへ送られる、及び/又は通信インターフェース、例えばポイントツーポイントリンク、通信バス、ポイントツーマルチポイントリンク又はブロードキャストネットワークへのインターフェースを介して送信される。
【0134】
図12の復号化又はデコーダ或いはレンダラ123の例に従い、ビットストリームがソースから得られる。例示的に、ビットストリームはローカルメモリ、例えばビデオメモリ、RAM、ROM、フラッシュメモリ又はハードディスクから読まれる。一変型例において、ビットストリームは記憶インターフェース、例えば大容量記憶装置、RAM、ROM、フラッシュメモリ、光ディスク又は磁気サポートとのインターフェースから受信される、及び/又は通信インターフェース、例えばポイントツーポイントリンク、バス、ポイントツーマルチポイントリンク又はブロードキャストネットワークへのインターフェースから受信される。
【0135】
複数の例に従い、装置19は
図17、18、20及び/又は21に関して述べた方法を実行すべく構成され、
−モバイル機器、
−通信機器、
−ゲーム機器、
−タブレット(又はタブレットコンピュータ)、
−ラップトップ、
−スチル写真カメラ、
−ビデオカメラ、
−符号化チップ、
−サーバ(例:ブロードキャストサーバ、ビデオオンデマンドサーバ又はウェブサーバ)を含む組に属している。
【0136】
図20に、本原理の非限定的な一実施形態による、3Dシーン、例えば3Dシーン10を表すデータを符号化する方法を示す。本方法は例えば、エンコーダ121及び/又は装置19に実装することができる。装置19の異なるパラメータを更新することができる。3Dシーンは例えばソースから取得でき、3Dシーンの空間内で1個以上の視点を決定することができ、投影マッピング(群)に関連付けられたパラメータを初期化することができる。
【0137】
第1の動作201において、3Dシーンのテクスチャを表す第1のデータが、決定された形式、例えばHEVC/H265:“ITU-T H.265 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (10/2014), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services − Coding of moving video, High efficiency video coding, Recommendation ITU-T H.265”、又はAVIに従い、コンテナ又はファイルの1個以上の第1のトラック内に符号化又はフォーマット設定される。コンテナは例えば、ISOBMFF(ISO Base Media File Format, ISO/IEC 14496-12-MPEG-4 Part 12)ファイルに対応している。第1のデータは、単一の第1の視点に従い視認可能な3Dシーンの複数部分(例:点又はメッシュ要素)を指す。第1のデータは例えば、メタデータ及び第1のフレームのピクセルに符号化されたテクスチャ情報を含むビットストリームの第1の構文要素を指すシグナリング情報を含み、第1のフレームは複数のタイルに分割されている。3Dシーン10の3D部分には第1のフレーム40の各第1のタイルが関連付けられている。各第1のトラックは例えば、1個の異なる第1のタイルに関連付けられ、当該関連付けられた第1のタイルの第1のデータを含んでいる。第1のデータが復号化又は解釈されたならば、第1の視点による3Dシーンの3DoF表現、すなわち視差のない表現が取得可能になる。
【0138】
第2の動作202において、3Dシーンの複数の点に関連付けられた奥行きを表す第2のデータがコンテナ又はファイルの1個以上の第2のトラック内に符号化される。第2のデータは、
図15の第4のフレーム151、152に対応していてよい第2のフレームの第2のタイルに配列される。第2のタイルの異なる組が各第1のタイルに関連付けられ、第2のフレームに含まれる第2のタイルの個数は第1のフレームの第1のタイルの個数よりも多い。第2のデータ(第2のデータは例えばジオメトリ(奥行き)情報に対応)のパッチが第2のタイルに配列されて、例えばHEVC又はAV1形式に従い、対応する第2のトラック内に符号化される。各パッチは、3Dシーンの一部(すなわち点の集団)の2Dパラメータ化に対応している。所与の第1のタイルに関連付けられた3Dシーンの3D部分の2Dパラメータ化により得られたパッチが当該第1のタイルに割り当てられた第2のタイルに配列される。第2のデータが復号化又は解釈されたならば、第1の視点を含む複数のビューポートに従う3Dシーンの3DoF+表現(すなわち視差を有する表現)が取得可能になる。
【0139】
一変型例によれば、第1の視点を考慮して得られたパッチ以外のパッチはジオメトリ情報に加えテクスチャ情報を含んでいる。換言すれば、第2のデータは、ジオメトリ及びテクスチャデータを含んでいる。
【0140】
更なる一変型例によれば、パッチはジオメトリ情報だけを含んでいる。当該変型例によれば、1個以上の追加的な第2のフレームを取得でき、各々の追加的な第2のフレームは複数の第2のタイルに分割され、第2のタイルの個数は第1のタイルの総数よりも多い。1個以上の第2のタイルは各第1のタイルに関連付けられ、テクスチャデータのパッチは第2のタイルに配列され、第4のトラックと呼ばれる追加的なトラック内に符号化される。所与の第1のタイルに関連付けられた3Dシーンの3D部分の2Dパラメータ化により得られたパッチは当該第1のタイルに割り当てられた第2のタイルに配列される。
【0141】
第3の動作204において、1個以上の命令がコンテナ又はファイルの1個以上の第3のトラック内に符号化される。命令は、第1及び第2のトラックから第1及び第2のデータを抽出して、抽出された第1及び第2のデータを、単一のデコーダにより復号化されるべくフォーマット設定されたビットストリームに配列すべく適合されている。第3のトラックは例えばHEVCに従う抽出器トラックに対応している。第2のデータは第2のフレーム(群)内に符号化される。第3のトラックの個数は例えば、
図17に関して述べたC個の可能なビューポート方位の個数に等しい。
【0142】
更なる任意の一変型例によれば、第1、第2及び第3のトラックのデータと命令は、デコーダ又は当該デコーダを含むレンダラに送信されるビットストリームを形成する。
【0143】
図21に本原理の非限定的な一実施形態による、3Dシーン、例えば3Dシーン10を表すデータを復号化する方法を示す。本方法は例えば、デコーダ123及び/又は装置19に実装することができる。
【0144】
第1の動作211において、1個以上の命令は、コンテナ又はファイルの1個以上の第3のトラックから復号化される。命令は、第1及び第2のデータを第1及び第2のトラックから抽出して、抽出された第1及び第2のデータを、単一のデコーダにより復号化されるべくフォーマット設定されたビットストリームに配列すべく適合されている。第3のトラックは例えば、HEVCに従う抽出器トラックに対応している。
【0145】
第2の動作212において、第1の視点に従い視認可能な3Dシーンの部分のテクスチャを表す第1のデータが、動作211で取得された命令に従い、1個以上の第1のトラックに含まれる第1のタイルから復号化又は解釈される。第1のデータは第1の視点に従う3Dシーンの3DoF表現、すなわち視差のない表現を取得可能にする。
【0146】
第3の動作213において、第1の視点を含む視点の組に従い視認可能な3Dシーンのジオメトリを表す第2のデータが、動作211で取得された命令に従い、1個以上の第2のトラックに含まれる第2のタイルから復号化又は解釈される。第2のデータは、3Dシーンの点の集団の2Dパラメータ化により得られたパッチに含まれる。一変型例によれば、第1の視点以外の前記視点の組に従い視認可能な3Dシーンのテクスチャを表す第3のデータが追加的なトラックの1個以上の第3のタイルから復号化又は解釈される。第2のデータは第3のデータと共に前記視点に従う3Dシーンの3DoF+表現、すなわち視差を有する表現を取得可能にする。
【0147】
一変型例によれば、復号化された第1及び第2のデータは、デコーダにより復号化されるビットストリームを形成すべく動作211で取得された命令に従いビットストリームに配列される。別の変型例によれば、取得されたビットストリームは、レンダラによりレンダリングすべくデコーダにより復号化される。レンダリングされたコンテンツは、命令に対応するビューポート方位に従い、HMD等の視聴エンドユーザー機器に表示することができる。
【0148】
当然ながら、本開示は上述の実施形態に限定されない。
【0149】
特に、本開示は、3Dシーンを表す符号化/復号化データ用の方法及び装置に限定されず、符号化されたデータを含むビットストリームを生成する方法、及び当該方法を実行する任意の装置、特に少なくとも1個のCPU及び/又は少なくとも1個のGPUを含む任意の装置に拡張される。
【0150】
本開示はまた、ビットストリームの復号化されたデータからレンダリングされた画像を表示する方法(及びそのために構成された装置)にも関する。
【0151】
本開示はまた、ビットストリームを送信及び/又は受信する方法(及びそのために構成された装置)にも関する。
【0152】
本明細書に記述する実装は例えば、方法又は処理、装置、コンピュータプログラム製品、データストリーム、又は信号に実装することができる。単一形式の実装だけに関して議論(例えば方法又は装置としてのみ議論)された場合であっても、議論された特徴の実装は他の形式(例:プログラム)で実装することができる。ある装置は例えば、適当なハードウェア、ソフトウェア、及びファームウェアに実装することができる。本方法は例えば、一般に処理装置を指す、例えばコンピュータ、マイクロプロセッサ、集積回路、又はプログラム可能論理装置を含むプロセッサ等の装置で実行することができる。プロセッサはまた、通信機器、例えばスマートフォン、タブレット、コンピュータ、携帯電話、ポータブル/パーソナル携帯情報端末(「PDA」)、及びエンドユーザー同士で情報の通信を可能にする他の装置を含んでいる。
【0153】
明細書に記述する各種の処理及び特徴の実装は、様々の異なる機材又はアプリケーション、特に、例えばデータ符号化、データ復号化、ビュー生成、テクスチャ処理、画像及び関連テクスチャ情報及び/又は奥行き情報の他の処理に関連付けられた機材又はアプリケーションにおいて実施することができる。そのような機材の例として、エンコーダ、デコーダ、デコーダからの出力を処理するポストプロセッサ、エンコーダへの入力を提供するプリプロセッサ、ビデオコーダー、ビデオデコーダ、ビデオコーデック、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、携帯電話、PDA、及び他の通信機器が含まれる。明らかなように、当該機材はモバイル機器であって、移動する乗り物にも取り付け可能である。
【0154】
また、本方法はプロセッサが実行する命令により実行されてよく、そのような命令(及び/又は実装により生成されたデータ値)はプロセッサ可読媒体、例えば集積回路、ソフトウェア担持波又は、例えばハードディスク、コンパクトディスケット(「CD」)、光ディスク(例えば、デジタル多用途ディスク又はデジタルビデオディスクと呼ばれることが多いDVD等)、ランダムアクセスメモリ(「RAM」)、又は読出し専用メモリ(「ROM」)等の他の記憶装置に保存することができる。命令は、プロセッサ可読媒体に明示的に実装されたアプリケーションプログラムの形式をなしていてよい。命令は例えば、ハードウェア、ファームウェア、ソフトウェア、又はこれらを組み合わせたものであってよい。命令は、例えばオペレーティングシステム、別個のアプリケーション、又はこれら二つの組み合わせに見られ得る。従って、プロセッサは例えば、処理を実行すべく構成された装置と、処理を実行する命令を有するプロセッサ可読媒体(記憶装置等)を含む装置の両方として特徴付けることができる。更に、プロセッサ可読媒体は、命令に加え、又は命令に代えて、ある実装により生成されたデータ値を保存することができる。
【0155】
当業者には明らかになるように、複数の実装により、例えば保存又は送信可能な情報を担持すべくフォーマット設定される様々な信号を生成できる。情報は例えば、ある方法を実行する命令、又は記述された実装の一つにより生成されたデータを含んでいてよい。例えば、記述した実施形態の構文を読み書きする規則をデータとして担持すべく、又は記述する実施形態に書かれた実際の構文値をデータとして担持すべく信号がフォーマット設定されていてよい。そのような信号は例えば、電磁波(例:スペクトルの無線周波数部分を用いて)として、又はベースバンド信号としてフォーマット設定されていてよい。フォーマット設定は例えば、データストリームを符号化して、符号化されたデータストリームと共に担持波を変調することを含んでいてよい。信号が担持する情報は例えば、アナログ又はデジタル情報であってよい。信号は公知のように各種の異なる有線又は無線リンクを介して送信することができる。信号はプロセッサ可読媒体に保存することができる。
【0156】
多くの実装について記述してきた。にもかかわらず、各種の変更を加え得ることが理解されよう。例えば、異なる実装の要素を組み合わせ、補完、変更、又は除外して他の実装を生成することができる。また、当業者には、他の構造及び処理を開示したもので代替してよく、結果的に得られる実装が、少なくとも実質的に同じ機能(群)を少なくとも実質的に同じ方式(群)で実行して、開示した実装と少なくとも実質的に同じ結果(群)が実現されることを理解されよう。従って、これら及び他の実装が本出願により考察される。