(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-13
(45)【発行日】2022-01-13
(54)【発明の名称】領域(region)ベースの360度ビデオを送信する方法、領域ベースの360度ビデオを受信する方法、領域ベースの360度ビデオ送信装置、領域ベースの360度ビデオ受信装置
(51)【国際特許分類】
H04N 21/235 20110101AFI20220105BHJP
H04N 19/85 20140101ALI20220105BHJP
H04N 19/46 20140101ALI20220105BHJP
H04N 21/845 20110101ALI20220105BHJP
H04N 19/597 20140101ALI20220105BHJP
【FI】
H04N21/235
H04N19/85
H04N19/46
H04N21/845
H04N19/597
(21)【出願番号】P 2019561236
(86)(22)【出願日】2017-08-08
(86)【国際出願番号】 KR2017008547
(87)【国際公開番号】W WO2019013384
(87)【国際公開日】2019-01-17
【審査請求日】2019-11-15
(32)【優先日】2017-07-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】オ ヒョンムク
(72)【発明者】
【氏名】オ ソチン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2016/199608(WO,A1)
【文献】Geert Van der Auwera, Muhammed Goban, Marta Karczewicz,AHG8:ECP with padding for 360-degree video,JVET-G0074,Joint Video Exploration Team of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2017年07月06日,PP.1-13
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
360度ビデオ送信装置により実行される360度ビデオデータ処理方法であって、
少なくとも一つのカメラによりキャプチャされた360度ビデオデータを取得するステップと、
前記360度ビデオデータを処理してプロジェクションされたピクチャ(projected picture)を取得するステップと、
前記プロジェクションされたピクチャにリージョン別パッキング過程(region-wise packing)を適用してパッキングされたピクチャ(packed picture)を取得するステップと、
前記360度ビデオデータに関するメタデータを生成するステップと、
前記パッキングされたピクチャをエンコードするステップと、
前記エンコードされたピクチャ及び前記メタデータに対して記憶又は送信のための処理を実行するステップと、を有し、
前記パッキングされたピクチャは、前記パッキングされたピクチャにおけるリージョンに対する複数のガードバンドを有し、
前記メタデータは、前記複数のガードバンドのうちの一つのガードバンドのタイプを示す情報を有し、前記タイプは、前記リージョン
に隣接
するリージョンに関する画質変化に関連する値を有し、
前記複数のガードバンドのタイプは異なる、360度ビデオデータ処理方法。
【請求項2】
前記一つのガードバンドのタイプを示す情報は、前記一つのガードバンドに有される情報が球形面上で前記リージョンと隣接するリージョンの映像情報であることを示す、請求項1に記載の360度ビデオデータ処理方法。
【請求項3】
前記メタデータは、前記複数のガードバンドが同じタイプを有するガードバンドであるかどうかを示すフラグを有する、請求項1に記載の360度ビデオデータ処理方法。
【請求項4】
前記メタデータは、前記一つのガードバンドに対する変換情報(transform information)がシグナリングされるかどうかを示すフラグを有し、
前記フラグの値が1である場合、前記メタデータは、前記一つのガードバンドに対する変換情報を有する、請求項1に記載の360度ビデオデータ処理方法。
【請求項5】
前記メタデータは、前記パッキングされたピクチャに前記リージョンのコーナ(corner)ガードバンドが有されるかどうかを示すフラグを有し、
前記コーナガードバンドは、前記リージョンの左上端、右上端、左下端又は右下端の周辺領域に位置するガードバンドであり、
前記フラグの値が1である場合、前記パッキングされたピクチャは、前記パッキングされたピクチャの前記リージョンに対する少なくとも一つのコーナガードバンドを有する、請求項1に記載の360度ビデオデータ処理方法。
【請求項6】
前記メタデータは、前記コーナガードバンドと前記一つのガードバンドとが同じタイプを有するかどうかを示すフラグを有し、
前記フラグの値が0である場合、前記メタデータは、前記コーナガードバンドのタイプを示す情報を有する、請求項5に記載の360度ビデオデータ処理方法。
【請求項7】
前記メタデータは、前記リージョンの拡張領域に関する情報がシグナリングされるかどうかを示すフラグを有し、
前記拡張領域は、前記リージョン及び前記複数のガードバンドを有する、請求項1に記載の360度ビデオデータ処理方法。
【請求項8】
前記リージョンの前記拡張領域に関する情報がシグナリングされるかどうかを示す前記フラグの値が1である場合、
前記メタデータは、前記拡張領域の中点に対応する球形面上の位置のヨー(yaw)値、ピッチ(pitch)値、及びロール(roll)値を示す情報を有する、請求項7に記載の360度ビデオデータ処理方法。
【請求項9】
前記リージョンの前記拡張領域に関する情報がシグナリングされるかどうかを示す前記フラグの値が1である場合、
前記メタデータは、前記拡張領域の水平範囲(horizontal range)及び垂直範囲(vertical range)を示す情報を有する、請求項7に記載の360度ビデオデータ処理方法。
【請求項10】
前記メタデータは、前記一つのガードバンドに有される360度ビデオデータがビューポート(viewport)生成に使われるかどうかを示すフラグを有する、請求項1に記載の360度ビデオデータ処理方法。
【請求項11】
前記パッキングされたピクチャは、前記リージョンの特定境界に隣接するサブ(sub)ガードバンドを有し、
前記メタデータは、前記サブガードバンドの個数を示す情報を有する、請求項1に記載の360度ビデオデータ処理方法。
【請求項12】
前記メタデータは、前記サブガードバンドの各々に対するサブ境界の長さを示す情報を有し、
前記サブガードバンドの各々に対する前記サブ境界は、前記特定境界のうち前記サブガードバンドの各々が隣接する部分である、請求項11に記載の360度ビデオデータ処理方法。
【請求項13】
360度ビデオ受信装置により実行される360度ビデオデータ処理方法であって、
360度ビデオデータに対するパッキングされたピクチャ(packed picture)に関する情報及び前記360度ビデオデータに関するメタデータを有する信号を受信するステップと、
前記信号を処理して前記パッキングされたピクチャに関する情報及び前記メタデータを取得するステップと、
前記パッキングされたピクチャに関する情報に基づいて前記パッキングされたピクチャをデコードするステップと、
前記メタデータに基づいて前記デコードされたピクチャを処理して3D空間でレンダリングするステップと、を有し、
前記パッキングされたピクチャは、前記パッキングされたピクチャにおけるリージョンに対する複数のガードバンドを有し、
前記メタデータは、前記複数のガードバンドのうちの一つのガードバンドのタイプを示す情報を有し、前記タイプは、前記リージョン
に隣接
するリージョンに関する画質変化に関連する値を有し、
前記複数のガードバンドのタイプは異なる、360度ビデオデータ処理方法。
【請求項14】
前記一つのガードバンドのタイプを示す情報の値が4である場合、前記一つのガードバンドは、球形面上で前記リージョンと隣接するリージョンの360度ビデオデータを有する、請求項13に記載の360度ビデオデータ処理方法。
【請求項15】
前記メタデータは、前記複数のガードバンドが同じタイプを有するかどうかを示すフラグを有する、請求項13に記載の360度ビデオデータ処理方法。
【請求項16】
前記メタデータは、前記一つのガードバンドに有される360度ビデオデータがビューポート(viewport)生成に使われるかどうかを示すフラグを有し、
前記フラグの値が1である場合、前記一つのガードバンドに有される360度ビデオデータは、前記ビューポート生成に使われる、請求項1に記載の360度ビデオデータ処理方法。
【請求項17】
少なくとも一つのカメラによりキャプチャされた360度ビデオデータを取得するよう構成された取得部と、
前記360度ビデオデータを処理してプロジェクションされたピクチャ(projected picture)を取得し、
前記プロジェクションされたピクチャにリージョン別パッキング過程(region-wise packing)を適用してパッキングされたピクチャ(packed picture)を取得し、
前記360度ビデオデータに関するメタデータを生成する、よう構成されたプロセッサと、
前記パッキングされたピクチャをエンコードするよう構成されたエンコーダと、
前記エンコードされたピクチャ及び前記メタデータに対して記憶又は送信のための処理を実行するよう構成された送信部と、を有し、
前記パッキングされたピクチャは、前記パッキングされたピクチャにおけるリージョンに対する複数のガードバンドを有し、
前記メタデータは、前記複数のガードバンドのうちの一つのガードバンドのタイプを示す情報を有し、前記タイプは、前記リージョン
に隣接
するリージョンに関する画質変化に関連する値を有し、
前記複数のガードバンドのタイプは異なる、360度ビデオ送信装置。
【請求項18】
360度ビデオデータに対するパッキングされたピクチャ(packed picture)に関する情報及び前記360度ビデオデータに関するメタデータを有する信号を受信するよう構成された受信部と、
前記信号を処理して前記パッキングされたピクチャに関する情報及び前記メタデータを取得するよう構成されたプロセッサと、
前記パッキングされたピクチャに関する情報に基づいて前記パッキングされたピクチャをデコードするよう構成されたデコーダと、
前記メタデータに基づいて前記デコードされたピクチャを処理して3D空間でレンダリングするよう構成されたレンダラと、を有し、
前記パッキングされたピクチャは、前記パッキングされたピクチャにおけるリージョンに対する複数のガードバンドを有し、
前記メタデータは、前記複数のガードバンドのうちの一つのガードバンドのタイプを示す情報を有し、前記タイプは、前記リージョン
に隣接
するリージョンに関する画質変化に関連する値を有し、
前記複数のガードバンドのタイプは異なる、360度ビデオ受信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、360度ビデオに関し、より詳しくは、360度ビデオを送受信する方法及びその装置に関する。
【背景技術】
【0002】
VR(Virtual Reality)システムは、ユーザに電子的に投影された環境内にいるような感覚を提供する。VRを提供するためのシステムは、より高画質のイメージと空間的な音響とを提供するためにさらに改善されることができる。VRシステムは、ユーザがインタラクティブにVRコンテンツを消費するようにすることができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の技術的課題は、VRシステムを提供するためのVRビデオデータ送信の効率を上げる方法及び装置を提供することにある。
【0004】
本発明の他の技術的課題は、VRビデオデータと、VRビデオデータに関するメタデータと、を送信する方法及び装置を提供することにある。
【0005】
本発明の他の技術的課題は、VRビデオデータと、VRビデオデータのリージョン(領域)別パッキング過程(手順)(procedure)に関するメタデータと、を送信する方法及び装置を提供することにある。
【0006】
本発明の他の技術的課題は、VRビデオデータと、VRビデオデータがマッピングされたリージョンのリージョン別追加情報と、に関するメタデータを送信する方法及び装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一実施例によると、360度ビデオ送信装置により実行される360度ビデオ処理方法が提供される。方法は、少なくとも一つのカメラによりキャプチャされた360度ビデオデータを取得するステップと、360度ビデオデータを処理してプロジェクション(投影)されたピクチャ(projected picture)を取得するステップと、プロジェクションされたピクチャにリージョン別パッキング過程(region-wise packing)を適用してパッキングされたピクチャ(packed picture)を取得するステップと、360度ビデオデータに関するメタデータを生成するステップと、パッキングされたピクチャをエンコードするステップと、エンコードされたピクチャ及びメタデータに対して記憶(格納)(storage)又は送信のための処理を実行するステップと、を有し、パッキングされたピクチャは、パッキングされたピクチャの対象リージョンに対する少なくとも一つのリージョン別追加情報(Region-wise Auxiliary Information、RAI)領域を有し、メタデータは、RAI領域のタイプを示す情報を有することを特徴とする。
【0008】
本発明の他の一実施例によると、360度ビデオデータを処理する360度ビデオ送信装置が提供される。360度ビデオ送信装置は、少なくとも一つのカメラによりキャプチャされた360度ビデオデータを取得するデータ入力部と、360度ビデオデータを処理してプロジェクションされたピクチャ(projected picture)を取得するプロジェクション処理部と、プロジェクションされたピクチャにリージョン別パッキング過程(region-wise packing)を適用してパッキングされたピクチャ(packed picture)を取得するリージョン別パッキング処理部と、360度ビデオデータに関するメタデータを生成するメタデータ処理部と、パッキングされたピクチャをエンコードするデータエンコーダと、エンコードされたピクチャ及びメタデータに対して記憶又は送信のための処理を実行する送信処理部と、を有し、パッキングされたピクチャは、パッキングされたピクチャの対象リージョンに対する少なくとも一つのリージョン別追加情報(Region-wise Auxiliary Information、RAI)領域を有し、メタデータは、RAI領域のタイプを示す情報を有することを特徴とする。
【0009】
本発明の他の一実施例によると、360度ビデオ受信装置により実行される360度ビデオ処理方法が提供される。方法は、360度ビデオデータに対するパッキングされたピクチャ(packed picture)に関する情報及び360度ビデオデータに関するメタデータを有する信号を受信するステップと、信号を処理してパッキングされたピクチャに関する情報及びメタデータを取得するステップと、パッキングされたピクチャに関する情報に基づいてパッキングされたピクチャをデコードするステップと、メタデータに基づいてデコードされたピクチャを処理して3D空間でレンダリングするステップと、を有し、パッキングされたピクチャは、パッキングされたピクチャの対象リージョンに対する少なくとも一つのリージョン別追加情報(Region-wise Auxiliary Information、RAI)領域を有し、メタデータは、RAI領域のタイプを示す情報を有することを特徴とする。
【0010】
本発明の他の一実施例によると、360度ビデオデータを処理する360度ビデオ受信装置が提供される。360度ビデオデータに対するパッキングされたピクチャ(packed picture)に関する情報及び360度ビデオデータに関するメタデータを有する信号を受信する受信部と、信号を処理してパッキングされたピクチャに関する情報及びメタデータを取得する受信処理部と、パッキングされたピクチャに関する情報に基づいてパッキングされたピクチャをデコードするデータデコーダと、メタデータに基づいてデコードされたピクチャを処理して3D空間でレンダリングするレンダラと、を有し、パッキングされたピクチャは、パッキングされたピクチャの対象リージョンに対する少なくとも一つのリージョン別追加情報(Region-wise Auxiliary Information、RAI)領域を有し、メタデータは、RAI領域のタイプを示す情報を有することを特徴とする。
【発明の効果】
【0011】
本発明によると、地上波放送網及びインターネット網を使用する次世代ハイブリッド放送をサポートする環境で、360コンテンツを効率的に送信できる。
【0012】
本発明によると、ユーザの360(度)コンテンツの消費において、インタラクティブ経験(interactive experience)を提供するための方式(方案)を提案することができる。
【0013】
本発明によると、ユーザの360コンテンツ消費において、360コンテンツ製作者の意図が正確に反映されるようにシグナリングする方式を提案することができる。
【0014】
本発明によると、360コンテンツ伝達において、効率的に送信キャパシティを増やし、必要な情報が伝達されるようにする方式を提案することができる。
【0015】
本発明によると、360度ビデオデータのプロジェクション及びリージョン別パッキング過程に関するメタデータを送信することができ、これによって全体的な送信効率を向上させる(improving)ことができる。
【図面の簡単な説明】
【0016】
【
図1】本発明による360度ビデオ提供のための全体アーキテクチャを示す図である。
【
図2】本発明の一実施例によるメディアファイルの構造を示す図である。
【
図3】本発明の一実施例によるメディアファイルの構造を示す図である。
【
図4】DASHベースの適応型ストリーミングモデルの全般的な動作の一例を示す図である。
【
図5】本発明が適用されることができる360度ビデオ送信装置の構成を概略的に説明する図である。
【
図6】本発明が適用されることができる360度ビデオ受信装置の構成を概略的に説明する図である。
【
図7】360度ビデオ送信装置/360度ビデオ受信装置を介して実行される360度ビデオ提供のための全体アーキテクチャを例示的に示す図である。
【
図8a】360度ビデオ送信装置/360度ビデオ受信装置を介して実行されるRAI領域が考慮された360度ビデオ提供のための全体アーキテクチャを例示的に示す図である。
【
図8b】360度ビデオ送信装置/360度ビデオ受信装置を介して実行されるRAI領域が考慮された360度ビデオ提供のための全体アーキテクチャを例示的に示す図である。
【
図8c】360度ビデオ送信装置/360度ビデオ受信装置を介して実行されるRAI領域が考慮された360度ビデオ提供のための全体アーキテクチャを例示的に示す図である。
【
図8d】360度ビデオ送信装置/360度ビデオ受信装置を介して実行されるRAI領域が考慮された360度ビデオ提供のための全体アーキテクチャを例示的に示す図である。
【
図9a】上記リージョン別追加情報に関するメタデータの一例を示す図である。
【
図9b】上記リージョン別追加情報に関するメタデータの一例を示す図である。
【
図9c】上記リージョン別追加情報に関するメタデータの一例を示す図である。
【
図10】上記拡張領域に関する情報を示すメタデータの一例を示す図である。
【
図11a】上記リージョン別追加情報のタイプによる上記リージョン別追加情報を例示的に示す図である。
【
図11b】上記リージョン別追加情報のタイプによる上記リージョン別追加情報を例示的に示す図である。
【
図12】ERPが適用されパッキングされたピクチャのリージョンに対するRAI領域の一例を示す図である。
【
図13】上記RAI領域を含むERPが適用されパッキングされたピクチャの一例を示す図である。
【
図14】上記ポストプロセッシングを介して上記パッキングされたピクチャ内のリージョン間のクォリティ差を補正する一例を示す図である。
【
図15】上記VisualSampleEntry又は上記HEVCSampleEntryなどに含まれて送信される上記RegionWiseAuxiliaryInformationSEIBoxに関して例示的に示す図である。
【
図16a】本発明の一実施例によるRegionWiseAuxiliaryInformationStructクラスを示す図である。
【
図16b】本発明の一実施例によるRegionWiseAuxiliaryInformationStructクラスを示す図である。
【
図16c】本発明の一実施例によるRegionWiseAuxiliaryInformationStructクラスを示す図である。
【
図17】本発明の一実施例による上記ExtendedCoverageInformationクラスを示す図である。
【
図18】本発明の一実施例によるRectRegionPackingクラスを示す図である。
【
図19】上記VisualSampleEntry又は上記HEVCSampleEntryなどに含まれて送信される上記RegionWiseAuxiliaryInformationStructクラスに関して例示的に示す図である。
【
図20】上記RegionWiseAuxiliaryInformationStructクラスを上記タイムドメタデータとして定義する一例を示す図である。
【
図21a】DASHベースのディスクリプタ形態で記述したリージョン別追加情報関連メタデータの一例を示す図である。
【
図21b】DASHベースのディスクリプタ形態で記述したリージョン別追加情報関連メタデータの一例を示す図である。
【
図21c】DASHベースのディスクリプタ形態で記述したリージョン別追加情報関連メタデータの一例を示す図である。
【
図21d】DASHベースのディスクリプタ形態で記述したリージョン別追加情報関連メタデータの一例を示す図である。
【
図21e】DASHベースのディスクリプタ形態で記述したリージョン別追加情報関連メタデータの一例を示す図である。
【
図21f】DASHベースのディスクリプタ形態で記述したリージョン別追加情報関連メタデータの一例を示す図である。
【
図22】本発明による360度ビデオ送信装置による360度ビデオデータ処理方法を概略的に示す図である。
【
図23】本発明による360度ビデオ受信装置による360度ビデオデータ処理方法を概略的に示す図である。
【発明を実施するための形態】
【0017】
本発明は、多様な変更を加えることができ、様々な実施例を有することができ、特定の実施例を図面に例示して詳細に説明する。しかしながら、これは、本発明を特定の実施例に限定するものではない。本明細書で使用する用語は、単に特定の実施例を説明するために使われたものであり、本発明の技術的思想を限定するために使われるものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本明細書で“含む”又は“有する”などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを指定するものであり、一つ又は複数の他の特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものの存在又は付加可能性を予め排除しないと理解しなければならない。
【0018】
一方、本発明で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立して図示したものであり、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されることを意味するものではない。例えば、各構成のうちの二つ以上の構成が統合されて一つの構成になることもでき、一つの構成が複数の構成に分けられることもできる。各構成が統合及び/又は分離された実施例も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0019】
以下、添付図面を参照して、本発明の好ましい実施例をさらに詳細に説明する。以下、図面上の同じ構成要素に対しては同じ参照符号を使用し、同じ構成要素に対して重複した説明は省略する。
【0020】
図1は、本発明による360度ビデオ提供のための全体アーキテクチャを示す。
【0021】
本発明は、ユーザにバーチャルリアリティ(Virtual Reality、VR)を提供するために、360コンテンツを提供する方式を提案する。VRとは、実際又は仮想の環境を複製(replicates)するための技術乃至その環境を意味する。VRは、人工的にユーザに感覚的経験を提供し、これによって、ユーザは、電子的にプロジェクションされた環境にいるような経験をすることができる。
【0022】
360コンテンツは、VRを具現、提供するためのコンテンツ全般を意味し、360度ビデオ及び/又は360(度)オーディオを含むことができる。360度ビデオは、VRを提供するために必要な、同時に全ての方向(360度)にキャプチャ又は再生されるビデオ乃至イメージコンテンツを意味する。以下、360度ビデオとは、360度ビデオを意味する。360度ビデオは、3Dモデルによって多様な形態の3D空間上に示されるビデオ乃至イメージを意味し、例えば、360度ビデオは、球形面(Spherical surface)上に示される。360オーディオもVRを提供するためのオーディオコンテンツであり、音響発生地が3次元の特定空間上に位置すると認知されることができる、空間的(Spatial)オーディオコンテンツを意味する。360コンテンツは、生成、処理されてユーザに送信されることができ、ユーザは、360コンテンツを利用してVR経験を消費することができる。
【0023】
本発明は、特に、360度ビデオを効果的に提供する方式を提案する。360度ビデオを提供するために、まず、一つ又は複数のカメラを介して360度ビデオがキャプチャされることができる。キャプチャされた360度ビデオは、一連の過程を経て送信され、受信側では、受信したデータを再び元来の360度ビデオに加工してレンダリングできる。これによって、360度ビデオがユーザに提供されることができる。
【0024】
具体的には、360度ビデオ提供のための全体の過程は、キャプチャ過程(処理)(process)、準備過程、送信過程、プロセッシング過程、レンダリング過程及び/又はフィードバック過程を含むことができる。
【0025】
キャプチャ過程は、一つ又は複数のカメラを介して複数の時点の各々に対するイメージ又はビデオをキャプチャする過程を意味する。キャプチャ過程により図示された
図1の110のようなイメージ/ビデオデータが生成されることができる。図示された
図1の110の各平面は、各時点に対するイメージ/ビデオを意味する。このキャプチャされた複数のイメージ/ビデオをロー(raw)データともいう。キャプチャ過程でキャプチャと関連するメタデータが生成されることができる。
【0026】
このキャプチャのためにVRのための特殊なカメラが使われることができる。一実施例によれば、コンピュータで生成された仮想の空間に対する360度ビデオを提供しようとする場合、実際のカメラを介したキャプチャが実行されない。この場合、単に関連データが生成される過程として該当キャプチャ過程に代える。
【0027】
準備過程は、キャプチャされたイメージ/ビデオ及びキャプチャ過程で発生したメタデータを処理する過程である。キャプチャされたイメージ/ビデオは、この準備過程で、ステッチング過程、プロジェクション過程、リージョン別パッキング過程(Region-wise Packing)及び/又はエンコーディング過程などを経ることができる。
【0028】
まず、各々のイメージ/ビデオがステッチング(Stitching)過程を経ることができる。ステッチング過程は、各々のキャプチャされたイメージ/ビデオを連結(接合、接続)し(connecting)て一つのパノラマイメージ/ビデオ又は球形のイメージ/ビデオを作る過程である。
【0029】
この後、ステッチされたイメージ/ビデオは、プロジェクション(Projection)過程を経ることができる。プロジェクション過程で、ステッチされたイメージ/ビデオは、2Dイメージ上にプロジェクションされることができる。この2Dイメージは、文脈によって2Dイメージフレームとも呼ばれる。2Dイメージにプロジェクションすることを2Dイメージにマッピングすると表現することもできる。プロジェクションされたイメージ/ビデオデータは、図示された
図1の120のような2Dイメージの形態になることができる。
【0030】
2Dイメージ上にプロジェクションされたビデオデータは、ビデオコーディング効率などを高めるために、リージョン別パッキング過程(Region-wise Packing)を経ることができる。リージョン別パッキングとは、2Dイメージ上にプロジェクションされたビデオデータをリージョン(Region)別に分けて処理を加える過程を意味する。ここで、リージョン(Region)とは、360度ビデオデータがプロジェクションされた2Dイメージが分かれた領域を意味する。このリージョンは、一実施例によれば、2Dイメージを均等に分けて区分され、又は任意に分かれて区分されることができる。また、一実施例によれば、リージョンは、プロジェクションスキームによって区分されることもできる。リージョン別パッキング過程は、選択的(オプション)(optional)過程であり、準備過程から省略されることができる。
【0031】
一実施例によれば、この処理過程は、ビデオコーディング効率を上げるために、各リージョンを回転し、又は2Dイメージ上で再配列する過程を含むことができる。例えば、リージョンを回転してリージョンの特定の辺が互いに近接して位置するようにすることによって、コーディング時の効率が高まるようにすることができる。
【0032】
一実施例によれば、この処理過程は、360度ビデオ上の領域別に解像度(resolution)を異ならせる(差等化する)(differentiate)ために、特定リージョンに対する解像度を高め、又は低くする過程を含むことができる。例えば、360度ビデオ上で相対的により重要な領域に該当するリージョンは、他のリージョンより解像度を高めることができる。2Dイメージ上にプロジェクションされたビデオデータ又はリージョン別にパッキングされたビデオデータは、ビデオコーデックを介したエンコーディング過程を経ることができる。
【0033】
一実施例によれば、準備過程は、付加的にエディティング(editing)過程などをさらに含むことができる。このエディティング過程において、プロジェクション前後のイメージ/ビデオデータに対する編集などがさらに実行されることができる。準備過程でも同様に、ステッチング/プロジェクション/エンコーディング/エディティングなどに関するメタデータが生成されることができる。また、2Dイメージ上にプロジェクションされたビデオデータの初期時点、又はROI(Region Of Interest)などに関するメタデータが生成されることができる。
【0034】
送信過程は、準備過程を経たイメージ/ビデオデータ及びメタデータを処理して送信する過程である。送信のために任意の送信プロトコルによる処理が実行されることができる。送信のための処理を終えたデータは、放送網及び/又はブロードバンドを介して伝達されることができる。このデータは、オンデマンド(On Demand)方式で受信側に伝達されることもできる。受信側では、多様な経路を介して該当データを受信することができる。
【0035】
プロセッシング過程は、受信したデータをデコードし、プロジェクションされているイメージ/ビデオデータを3Dモデル上にリプロジェクション(Re-projection)する過程を意味する。この過程で2Dイメージ上にプロジェクションされているイメージ/ビデオデータが3D空間上にリプロジェクションされることができる。この過程は、文脈によってマッピング、プロジェクションとも呼ばれる。このとき、マッピングされる3D空間は、3Dモデルによって他の形態を有することができる。例えば、3Dモデルには、球形(Sphere)、キューブ(Cube)、シリンダ(Cylinder)又はピラミッド(Pyramid)がある。
【0036】
一実施例によれば、プロセッシング過程は、付加的にエディティング(editing)過程、アップスケーリング(upscaling)過程などをさらに含むことができる。このエディティング過程において、リプロジェクション前後のイメージ/ビデオデータに対する編集などがさらに実行されることができる。イメージ/ビデオデータが縮小されている場合、アップスケーリング過程でサンプルのアップスケーリングを介してその大きさを拡大することができる。必要な場合、ダウンスケーリングを介してサイズを縮小する作業が実行されることもできる。
【0037】
レンダリング過程は、3D空間上にリプロジェクションされたイメージ/ビデオデータをレンダリングして表示する過程を意味する。表現によって、リプロジェクションとレンダリングとを統合して3Dモデル上にレンダリングすると表現することもできる。3Dモデル上にリプロジェクションされた(又は、3Dモデル上にレンダリングされた)イメージ/ビデオは、図示された
図1の130のような形態を有することができる。
図1に図示された130は、球形(Sphere)の3Dモデルにリプロジェクションされた場合である。ユーザは、VRディスプレイなどを介してレンダリングされたイメージ/ビデオの一部領域を見ることができる。このとき、ユーザが見るようになる領域は、
図1に図示された140のような形態である。
【0038】
フィードバック過程は、ディスプレイ過程で取得されることができる多様なフィードバック情報を送信側に伝達する過程を意味する。フィードバック過程を介して360度ビデオ消費において、双方向性(Interactivity)が提供されることができる。一実施例によれば、フィードバック過程でヘッドオリエンテーション(頭の向き)(Head Orientation)情報、ユーザが現在見ている領域を示すビューポート(Viewport)情報などが送信側に伝達されることができる。一実施例によれば、ユーザは、VR環境上に具現されたものと相互作用することもでき、この場合、その相互作用と関連する情報がフィードバック過程で送信側乃至サービスプロバイダ側に伝達されることもできる。一実施例によれば、フィードバック過程は、実行されないこともある。
【0039】
ヘッドオリエンテーション情報は、ユーザの頭の位置、角度、動きなどに関する情報を意味する。この情報に基づいてユーザが現在360度ビデオ内で見ている領域に関する情報、即ち、ビューポート情報が計算されることができる。
【0040】
ビューポート情報は、現在ユーザが360度ビデオで見ている領域に関する情報である。これによってゲイズ分析(Gaze Analysis)が実行され、ユーザがどのような方式で360度ビデオを消費するか、又は360度ビデオのどの領域をどれくらい凝視するかなどを確認することもできる。ゲイズ分析は、受信側で実行されて送信側にフィードバックチャネルを介して伝達されることもできる。VRディスプレイなどの装置は、ユーザの頭の位置/方向、装置がサポートする垂直(vertical)又は水平(horizontal)FOV(Field Of View)情報などに基づいてビューポート領域を抽出することができる。
【0041】
一実施例によれば、前述したフィードバック情報は、送信側に伝達されるだけでなく、受信側で消費されることもできる。即ち、前述したフィードバック情報を利用して受信側のデコーディング、リプロジェクション、レンダリング過程などが実行されることができる。例えば、ヘッドオリエンテーション情報及び/又はビューポート情報を利用して現在ユーザが見ている領域に対する360度ビデオのみが優先的にデコーディング及びレンダリングされることもできる。
【0042】
ここで、ビューポート(viewport)乃至ビューポート領域とは、ユーザが360度ビデオで見ている領域を意味する。視点(viewpoint)は、ユーザが360度ビデオで見ているポイントであり、ビューポート領域の正中央ポイントを意味する。即ち、ビューポートは、視点を中心にする領域であり、その領域が占める大きさ形態などは、後述するFOV(Field Of View)により決定されることができる。
【0043】
前述した360度ビデオ提供のための全アーキテクチャ内で、キャプチャ/プロジェクション/エンコーディング/送信/デコーディング/リプロジェクション/レンダリングの一連の過程を経るイメージ/ビデオデータを360度ビデオデータと呼ぶことができる。また、360度ビデオデータという用語は、このようなイメージ/ビデオデータと関連するメタデータ乃至シグナリング情報を含む概念として使われることもできる。
【0044】
前述したオーディオ又はビデオなどのメディアデータを記憶して送信するために、定形化されたメディアファイルフォーマットが定義されることができる。一実施例によれば、メディアファイルは、ISO BMFF(ISO Base Media File Format)に基づくファイルフォーマットを有することができる。
【0045】
図2及び
図3は、本発明の一実施例によるメディアファイルの構造を示す。
【0046】
本発明によるメディアファイルは、少なくとも一つのボックスを含むことができる。ここで、ボックス(box)は、メディアデータ又はメディアデータに関連するメタデータなどを含むデータブロック乃至オブジェクトである。ボックスは、互いに階層構造をなすことができ、それによって、データが分類されてメディアファイルが大容量メディアデータの記憶及び/又は送信に適した形態を有することができる。また、メディアファイルは、ユーザがメディアコンテンツの特定ポイントに移動する等、メディア情報のアクセス(接近)(access)に容易な構造を有することができる。
【0047】
本発明によるメディアファイルは、ftypボックス、moovボックス及び/又はmdatボックスを含むことができる。
【0048】
ftypボックス(ファイルタイプボックス)は、該当メディアファイルに対するファイルタイプ又は互換性関連情報を提供することができる。ftypボックスは、該当メディアファイルのメディアデータに対する構成バージョン情報を含むことができる。復号器は、ftypボックスを参照して該当メディアファイルを区分することができる。
【0049】
moovボックス(ムービーボックス)は、該当メディアファイルのメディアデータに関するメタデータを含むボックスである。moovボックスは、全てのメタデータのためのコンテナの役割を果たすことができる。moovボックスは、メタデータ関連ボックスのうち最上位層のボックスである。一実施例によれば、moovボックスは、メディアファイル内に一つのみが存在できる。
【0050】
mdatボックス(メディアデータボックス)は、該当メディアファイルの実際のメディアデータを盛り込む(含む)ボックスである。メディアデータは、オーディオサンプル及び/又はビデオサンプルを含むことができ、mdatボックスは、このようなメディアサンプルを盛り込むコンテナの役割を果たすことができる。
【0051】
一実施例によれば、前述したmoovボックスは、mvhdボックス、trakボックス及び/又はmvexボックスなどを下位ボックスとしてさらに含むことができる。
【0052】
mvhdボックス(ムービーヘッダボックス)は、該当メディアファイルに含まれるメディアデータのメディアプレゼンテーション関連情報を含むことができる。即ち、mvhdボックスは、該当メディアプレゼンテーションのメディア生成時間、変更時間、時間規格、期間などの情報を含むことができる。
【0053】
trakボックス(トラックボックス)は、該当メディアデータのトラックに関連する情報を提供することができる。trakボックスは、オーディオトラック又はビデオトラックに対するストリーム関連情報、プレゼンテーション関連情報、アクセス関連情報などの情報を含むことができる。Trakボックスは、トラックの個数によって複数存在できる。
【0054】
trakボックスは、一実施例によれば、tkhdボックス(トラックヘッダボックス)を下位ボックスとしてさらに含むことができる。tkhdボックスは、trakボックスが示す該当トラックに関する情報を含むことができる。tkhdボックスは、該当トラックの生成時間、変更時間、トラック識別子などの情報を含むことができる。
【0055】
mvexボックス(ムービー拡張(イクステンデッド)ボックス(movie extend box))は、該当メディアファイルに後述するmoofボックスがあることを指示することができる。特定トラックの全てのメディアサンプルを知るために、moofボックスがスキャンされなければならない。
【0056】
本発明によるメディアファイルは、一実施例によれば、複数のフラグメントに分けられる(200)。これによって、メディアファイルが分割されて記憶又は送信されることができる。メディアファイルのメディアデータ(mdatボックス)は、複数のフラグメントに分けられ、各々のフラグメントは、moofボックスと分けられたmdatボックスとを含むことができる。一実施例によれば、フラグメントを活用するためには、ftypボックス及び/又はmoovボックスの情報が必要である。
【0057】
moofボックス(ムービーフラグメントボックス)は、該当フラグメントのメディアデータに関するメタデータを提供することができる。moofボックスは、該当フラグメントのメタデータ関連ボックスのうち最上位層のボックスである。
【0058】
mdatボックス(メディアデータボックス)は、前述したように実際のメディアデータを含むことができる。このmdatボックスは、各々の該当フラグメントに該当するメディアデータのメディアサンプルを含むことができる。
【0059】
一実施例によれば、前述したmoofボックスは、mfhdボックス及び/又はtrafボックスなどを下位ボックスとしてさらに含むことができる。
【0060】
mfhdボックス(ムービーフラグメントヘッダボックス)は、分割された複数のフラグメント間の連関性と関連する情報を含むことができる。mfhdボックスは、シーケンスナンバ(sequence number)を含んで、該当フラグメントのメディアデータが分割された何番目のデータであるかを示すことができる。また、mfhdボックスを利用して分割されたデータのうち欠落されたものはないかどうかが確認されることができる。
【0061】
trafボックス(トラックフラグメントボックス)は、該当トラックフラグメントに関する情報を含むことができる。trafボックスは、該当フラグメントに含まれる分割されたトラックフラグメントに関するメタデータを提供することができる。trafボックスは、該当トラックフラグメント内のメディアサンプルが復号/再生されるようにメタデータを提供することができる。trafボックスは、トラックフラグメントの個数によって複数存在できる。
【0062】
一実施例によれば、前述したtrafボックスは、tfhdボックス及び/又はtrunボックスなどを下位ボックスとしてさらに含むことができる。
【0063】
tfhdボックス(トラックフラグメントヘッダボックス)は、該当トラックフラグメントのヘッダ情報を含むことができる。tfhdボックスは、前述したtrafボックスが示すトラックフラグメントのメディアサンプルに対して、基本的なサンプルの大きさ、期間、オフセット、識別子などの情報を提供することができる。
【0064】
trunボックス(トラックフラグメントラン(track fragment run box)ボックス)は、該当トラックフラグメント関連情報を含むことができる。trunボックスは、メディアサンプル別期間、大きさ、再生時点などの情報を含むことができる。
【0065】
前述したメディアファイル乃至メディアファイルのフラグメントは、セグメントとして処理されて送信されることができる。セグメントには、初期化セグメント(initialization segment)及び/又はメディアセグメント(media segment)がある。
【0066】
図示された実施例の210のファイルは、メディアデータを除いてメディアデコーダの初期化と関連する情報などを含むファイルである。このファイルは、例えば、前述した初期化セグメントに該当できる。初期化セグメントは、前述したftypボックス及び/又はmoovボックスを含むことができる。
【0067】
図示された実施例の220のファイルは、前述したフラグメントを含むファイルである。このファイルは、例えば、前述したメディアセグメントに該当できる。メディアセグメントは、前述したmoofボックス及び/又はmdatボックスを含むことができる。また、メディアセグメントは、stypボックス及び/又はsidxボックスをさらに含むことができる。
【0068】
stypボックス(セグメントタイプボックス)は、分割されたフラグメントのメディアデータを識別するための情報を提供することができる。stypボックスは、分割されたフラグメントに対して、前述したftypボックスのような役割を果たすことができる。一実施例によれば、stypボックスは、ftypボックスと同じフォーマットを有することができる。
【0069】
sidxボックス(セグメントインデックスボックス)は、分割されたフラグメントに対するインデックスを示す情報を提供することができる。これによって、該当分割されたフラグメントが何番目のフラグメントかが指示されることができる。
【0070】
一実施例によれば、230のssixボックスがさらに含まれることができ、ssixボックス(サブセグメントインデックスボックス)は、セグメントがサブセグメントにさらに分けられる場合において、そのサブセグメントのインデックスを示す情報を提供することができる。
【0071】
メディアファイル内のボックスは、図示された実施例の250のようなボックス乃至フルボックス(FullBox)形態に基づいて、より拡張された情報を含むことができる。この実施例において、sizeフィールド、largesizeフィールドは、該当ボックスの長さをバイト単位などで表すことができる。versionフィールドは、該当ボックスフォーマットのバージョンを示すことができる。Typeフィールドは、該当ボックスのタイプ乃至識別子を示すことができる。flagsフィールドは、該当ボックスと関連するフラグなどを示すことができる。
【0072】
一方、本発明の360度ビデオに関するフィールド(属性)は、DASHベースの適応型(Adaptive)ストリーミングモデルに含まれて伝達されることができる。
【0073】
図4は、DASHベースの適応型ストリーミングモデルの全般的な動作の一例を示す。図示された実施例の400によるDASHベースの適応型ストリーミングモデルは、HTTPサーバとDASHクライアントとの間の動作を記述している。ここで、DASH(Dynamic Adaptive Streaming over HTTP)は、HTTPベースの適応型ストリーミングをサポートするためのプロトコルであり、ネットワーク状況によって動的にストリーミングをサポートすることができる。それによって、AVコンテンツの再生がシームレスに提供されることができる。
【0074】
まず、DASHクライアントは、MPDを取得することができる。MPDは、HTTPサーバなどのサービスプロバイダから伝達されることができる。DASHクライアントは、MPDに記述されたセグメントへのアクセス情報を利用してサーバに該当セグメントを要求することができる。ここで、この要求は、ネットワーク状態を反映して実行されることができる。
【0075】
DASHクライアントは、該当セグメントを取得した後、これをメディアエンジンで処理して画面に表示できる。DASHクライアントは、再生時間及び/又はネットワーク状況などをリアルタイムに反映し、必要なセグメントを要求、取得することができる(Adaptive Streaming)。これによって、コンテンツがシームレスに再生されることができる。
【0076】
MPD(Media Presentation Description)は、DASHクライアントにセグメントを動的に取得させるための詳細情報を含むファイルであり、XML形態で表現されることができる。
【0077】
DASHクライアントコントローラ(DASH Client Controller)は、ネットワーク状況を反映してMPD及び/又はセグメントを要求するコマンドを生成することができる。また、このコントローラは、取得された情報をメディアエンジン等の内部ブロックで使用するように制御できる。
【0078】
MPDパーサ(Parser)は、取得したMPDをリアルタイムでパージングできる。これによって、DASHクライアントコントローラは、必要なセグメントを取得することができるコマンドを生成する。
【0079】
セグメントパーサ(Parser)は、取得したセグメントをリアルタイムでパージングできる。セグメントに含まれる情報によって、メディアエンジンなどの内部ブロックは、特定動作を実行することができる。
【0080】
HTTPクライアントは、必要なMPD及び/又はセグメントなどをHTTPサーバに要求できる。また、HTTPクライアントは、サーバから取得したMPD及び/又はセグメントをMPDパーサ又はセグメントパーサに伝達できる。
【0081】
メディアエンジン(Media Engine)は、セグメントに含まれるメディアデータを利用してコンテンツを画面上に表示できる。このとき、MPDの情報が活用されることができる。
【0082】
DASHデータモデルは、階層構造410を有することができる。メディアプレゼンテーションは、MPDにより記述されることができる。MPDは、メディアプレゼンテーションを作る複数の区間(Period)の時間的なシーケンスを記述することができる。ピリオドは、メディアコンテンツの一区間を示すことができる。
【0083】
一区間で、データは、アダプテーションセットに含まれることができる。アダプテーションセットは、互いに交換されることができる複数のメディアコンテンツコンポーネントの集合である。アダプテーションは、リプレゼンテーションの集合を含むことができる。リプレゼンテーションは、メディアコンテンツコンポーネントに該当できる。一つのリプレゼンテーション内で、コンテンツは、複数のセグメントに時間的に分けられる。これは、適切なアクセシビリティ(接近性)(accessibility)及び伝達(delivery)のためである。各々のセグメントにアクセスするために各セグメントのURLが提供されることができる。
【0084】
MPDは、メディアプレゼンテーションに関連する情報を提供することができ、ピリオドエレメント、アダプテーションセットエレメント、リプレゼンテーションエレメントは、各々、該当ピリオド、アダプテーションセット、リプレゼンテーションに対して記述できる。リプレゼンテーションは、サブリプレゼンテーションに分けられ、サブリプレゼンテーションエレメントは、該当サブリプレゼンテーションに対して記述できる。
【0085】
ここで、共通(Common)属性/エレメントが定義されることができ、これらは、アダプテーションセット、リプレゼンテーション、サブリプレゼンテーションなどに含まれる(適用される)ことができる。共通属性/エレメント中には、エッセンシャル(必須)プロパティ(EssentialProperty)及び/又はサプリメンタル(補足)プロパティ(SupplementalProperty)がある。
【0086】
エッセンシャルプロパティは、該当メディアプレゼンテーション関連データの処理時に必須であると判断されるエレメントを含む情報である。サプリメンタルプロパティは、該当メディアプレゼンテーション関連データの処理時に使われることもできるエレメントを含む情報である。一実施例によれば、後述するディスクリプタは、MPDを介して伝達される場合、エッセンシャルプロパティ及び/又はサプリメンタルプロパティ内に定義されて伝達されることができる。
【0087】
図5は、本発明が適用されることができる360度ビデオ送信装置の構成を概略的に説明する図面である。
【0088】
本発明による360度ビデオ送信装置は、前述した準備過程乃至送信過程に関連する動作を実行することができる。360度ビデオ送信装置は、データ入力部、ステッチャ(Stitcher)、プロジェクション処理部、リージョン別パッキング処理部(図示せず)、メタデータ処理部、(送信側)フィードバック処理部、データエンコーダ、カプセル化処理部、送信処理部及び/又は送信部を内部/外部エレメントとして含むことができる。
【0089】
データ入力部は、キャプチャされた各視点別イメージ/ビデオの入力を受けることができる。この視点別イメージ/ビデオは、一つ又は複数のカメラによりキャプチャされたイメージ/ビデオである。また、データ入力部は、キャプチャ過程で発生したメタデータの入力を受けることができる。データ入力部は、入力された視点別イメージ/ビデオをステッチャに伝達し、キャプチャ過程のメタデータをシグナリング処理部に伝達できる。
【0090】
ステッチャは、キャプチャされた視点別イメージ/ビデオに対するステッチング作業を実行することができる。ステッチャは、ステッチされた360度ビデオデータをプロジェクション処理部に伝達できる。ステッチャは、必要な場合、メタデータ処理部から必要なメタデータの伝達を受けてステッチング作業に利用できる。ステッチャは、ステッチング過程で発生したメタデータをメタデータ処理部に伝達できる。ステッチング過程のメタデータには、ステッチングが実行されたかどうか、ステッチングタイプなどの情報がある。
【0091】
プロジェクション処理部は、ステッチされた360度ビデオデータを2Dイメージ上にプロジェクションできる。プロジェクション処理部は、多様なスキーム(scheme)によってプロジェクションを実行することができ、これに関しては後述する。プロジェクション処理部は、各視点別360度ビデオデータの該当デプス(depth)を考慮してマッピングを実行することができる。プロジェクション処理部は、必要な場合、メタデータ処理部からプロジェクションに必要なメタデータの伝達を受けてプロジェクション作業に利用できる。プロジェクション処理部は、プロジェクション過程で発生したメタデータをメタデータ処理部に伝達できる。プロジェクション処理部のメタデータには、プロジェクションスキームの種類などがある。
【0092】
リージョン別パッキング処理部(図示せず)は、前述したリージョン別パッキング過程を実行することができる。即ち、リージョン別パッキング処理部は、プロジェクションされた360度ビデオデータをリージョン別に分け、各リージョンを回転、再配列し、又は各リージョンの解像度を変更する等の処理を実行することができる。前述したように、リージョン別パッキング過程は、選択的(optional)過程であり、リージョン別パッキングが実行されない場合、リージョン別パッキング処理部は省略されることができる。リージョン別パッキング処理部は、必要な場合、メタデータ処理部からリージョン別パッキングに必要なメタデータの伝達を受けてリージョン別パッキング作業に利用できる。リージョン別パッキング処理部は、リージョン別パッキング過程で発生したメタデータをメタデータ処理部に伝達できる。リージョン別パッキング処理部のメタデータには、各リージョンの回転程度、サイズなどがある。
【0093】
前述したステッチャ、プロジェクション処理部及び/又はリージョン別パッキング処理部は、一実施例によれば、一つのハードウェアコンポーネントで実行されることもできる。
【0094】
メタデータ処理部は、キャプチャ過程、ステッチング過程、プロジェクション過程、リージョン別パッキング過程、エンコーディング過程、カプセル化過程及び/又は送信のための処理過程で発生できるメタデータを処理することができる。メタデータ処理部は、このようなメタデータを利用して360度ビデオ関連メタデータを生成することができる。一実施例によれば、メタデータ処理部は、360度ビデオ関連メタデータをシグナリングテーブルの形態で生成することもできる。シグナリングコンテキスト(文脈)(signaling context)によって、360度ビデオ関連メタデータは、メタデータ又は360度ビデオ関連シグナリング情報とも呼ばれる。また、メタデータ処理部は、取得又は生成したメタデータを必要によって360度ビデオ送信装置の内部エレメントに伝達できる。メタデータ処理部は、360度ビデオ関連メタデータが受信側に送信されることができるように、データエンコーダ、カプセル化処理部及び/又は送信処理部に伝達できる。
【0095】
データエンコーダは、2Dイメージ上にプロジェクションされた360度ビデオデータ及び/又はリージョン別にパッキングされた360度ビデオデータをエンコードすることができる。360度ビデオデータは、多様なフォーマットでエンコードされることができる。
【0096】
カプセル化処理部は、エンコードされた360度ビデオデータ及び/又は360度ビデオ関連メタデータをファイルなどの形態でカプセル化できる。ここで、360度ビデオ関連メタデータは、前述したメタデータ処理部から伝達を受けたものである。カプセル化処理部は、該当データをISOBMFF、CFFなどのファイルフォーマットでカプセル化し、又はその他のDASHセグメントなどの形態で処理できる。カプセル化処理部は、一実施例によれば、360度ビデオ関連メタデータをファイルフォーマット上に含ませることができる。360関連メタデータは、例えば、ISOBMFFファイルフォーマット上の多様なレベルのボックス(box)に含まれ、又はファイル内で別個(別途)の(separate)トラック内のデータに含まれることができる。一実施例によれば、カプセル化処理部は、360度ビデオ関連メタデータ自体をファイルにカプセル化できる。送信処理部は、ファイルフォーマットによってカプセル化された360度ビデオデータに送信のための処理を加えることができる。送信処理部は、任意の送信プロトコルによって360度ビデオデータを処理することができる。送信のための処理には、放送網を介した伝達のための処理、ブロードバンドを介した伝達のための処理を含むことができる。一実施例によれば、送信処理部は、360度ビデオデータだけでなく、メタデータ処理部から360度ビデオ関連メタデータの伝達を受け、これに送信のための処理を加えることもできる。
【0097】
送信部は、送信処理された360度ビデオデータ及び/又は360度ビデオ関連メタデータを放送網及び/又はブロードバンドを介して送信できる。送信部は、放送網を介した送信のためのエレメント及び/又はブロードバンドを介した送信のためのエレメントを含むことができる。
【0098】
本発明による360度ビデオ送信装置の一実施例によると、360度ビデオ送信装置は、データ記憶部(図示せず)を内部/外部エレメントとしてさらに含むことができる。データ記憶部は、エンコードされた360度ビデオデータ及び/又は360度ビデオ関連メタデータを送信処理部に伝達する前に記憶する。このデータが記憶される形態は、ISOBMFFなどのファイル形態である。リアルタイムで360度ビデオを送信する場合には、データ記憶部が必要でないが、オンデマンド、NRT(Non Real Time)、ブロードバンドなどを介して伝達する場合には、カプセル化された360データがデータ記憶部に一定期間記憶された後に送信されることもできる。
【0099】
本発明による360度ビデオ送信装置の他の実施例によると、360度ビデオ送信装置は、(送信側)フィードバック処理部及び/又はネットワークインターフェース(図示せず)を内部/外部エレメントとしてさらに含むことができる。ネットワークインターフェースは、本発明による360度ビデオ受信装置からフィードバック情報の伝達を受け、これを送信側フィードバック処理部に伝達できる。送信側フィードバック処理部は、フィードバック情報をステッチャ、プロジェクション処理部、リージョン別パッキング処理部、データエンコーダ、カプセル化処理部、メタデータ処理部及び/又は送信処理部に伝達できる。一実施例によれば、フィードバック情報は、メタデータ処理部に伝達された後、再び各内部エレメントに伝達されることができる。フィードバック情報の伝達を受けた内部エレメントは、以後の360度ビデオデータの処理にフィードバック情報を反映することができる。
【0100】
本発明による360度ビデオ送信装置の他の実施例によると、リージョン別パッキング処理部は、各リージョンを回転して2Dイメージ上にマッピングすることができる。このとき、各リージョンは、互いに異なる方向、互いに異なる角度に回転されて2Dイメージ上にマッピングされることができる。リージョンの回転は、360度ビデオデータが球形の面上でプロジェクション前に隣接する部分、ステッチされた部分などを考慮して実行されることができる。リージョンの回転に関する情報、即ち、回転方向、角度などは、360度ビデオ関連メタデータによりシグナリングされることができる。本発明による360度ビデオ送信装置の他の実施例によると、データエンコーダは、各リージョン別に異なるようにエンコーディングを実行することができる。データエンコーダは、特定リージョンを高いクォリティで、他のリージョンを低いクォリティでエンコーディングを実行することができる。送信側フィードバック処理部は、360度ビデオ受信装置から伝達を受けたフィードバック情報をデータエンコーダに伝達し、データエンコーダがリージョン別に異ならせた(差等化された)(differentiated)エンコーディング方法を使用するようにすることができる。例えば、送信側フィードバック処理部は、受信側から伝達を受けたビューポート情報をデータエンコーダに伝達できる。データエンコーダは、ビューポート情報が指示する領域を含むリージョンに対して他のリージョンより高いクォリティ(UHD等)でエンコーディングを実行することができる。
【0101】
本発明による360度ビデオ送信装置の他の実施例によると、送信処理部は、各リージョン別に異なるように送信のための処理を実行することができる。送信処理部は、リージョン別に他の送信パラメータ(変調多値数(モジュレーションオーダ)(modulation orders)、符号化率(コードレート)等)を適用することで、各リージョン別に伝達されるデータのロバスト性(robustness)を異なるようにすることができる。
【0102】
このとき、送信側フィードバック処理部は、360度ビデオ受信装置から伝達を受けたフィードバック情報を送信処理部に伝達し、送信処理部がリージョン別に異なる送信処理を実行するようにすることができる。例えば、送信側フィードバック処理部は、受信側から伝達を受けたビューポート情報を送信処理部に伝達できる。送信処理部は、該当ビューポート情報が指示する領域を含むリージョンに対して他のリージョンより高いロバスト性を有するように送信処理を実行することができる。
【0103】
前述した本発明による360度ビデオ送信装置の内部/外部エレメントは、ハードウェアで具現されるハードウェアエレメントである。一実施例によれば、内部/外部エレメントは、変更、省略され、又は他のエレメントに代替、統合されることができる。一実施例によれば、付加エレメントが360度ビデオ送信装置に追加されることもできる。
【0104】
図6は、本発明が適用されることができる360度ビデオ受信装置の構成を概略的に説明する図面である。
【0105】
本発明による360度ビデオ受信装置は、前述したプロセッシング過程及び/又はレンダリング過程に関連する動作を実行することができる。360度ビデオ受信装置は、受信部、受信処理部、デカプセル化(カプセル除去)(decapsulation)処理部、データデコーダ、メタデータパーサ、(受信側)フィードバック処理部、リプロジェクション処理部及び/又はレンダラを内部/外部エレメントとして含むことができる。一方、シグナリングパーサは、メタデータパーサと呼ばれる。
【0106】
受信部は、本発明による360度ビデオ送信装置が送信した360度ビデオデータを受信することができる。送信されるチャネルによって、受信部は、放送網を介して360度ビデオデータを受信することもでき、ブロードバンドを介して360度ビデオデータを受信することもできる。
【0107】
受信処理部は、受信した360度ビデオデータに対して送信プロトコルによる処理を実行することができる。送信側で送信のための処理が実行されたことに対応するように、受信処理部は、前述した送信処理部の逆過程を実行することができる。受信処理部は、取得した360度ビデオデータをデカプセル化処理部に伝達し、取得した360度ビデオ関連メタデータをデータパーサに伝達できる。受信処理部が取得する360度ビデオ関連メタデータは、シグナリングテーブルの形態である。
【0108】
デカプセル化処理部は、受信処理部から伝達を受けたファイル形態の360度ビデオデータをデカプセル化することができる。デカプセル化処理部は、ISOBMFFなどによるファイルをデカプセル化し、360度ビデオデータ乃至360度ビデオ関連メタデータを取得することができる。取得された360度ビデオデータは、データデコーダに伝達し、取得された360度ビデオ関連メタデータは、メタデータパーサに伝達できる。デカプセル化処理部が取得する360度ビデオ関連メタデータは、ファイルフォーマット内のボックス又はトラック形態である。デカプセル化処理部は、必要な場合、メタデータパーサからデカプセル化に必要なメタデータの伝達を受けることもできる。
【0109】
データデコーダは、360度ビデオデータに対するデコーディングを実行することができる。データデコーダは、メタデータパーサからデコーディングに必要なメタデータの伝達を受けることもできる。データデコーディング過程で取得された360度ビデオ関連メタデータは、メタデータパーサに伝達されることもできる。
【0110】
メタデータパーサは、360度ビデオ関連メタデータに対するパージング/デコーディングを実行することができる。メタデータパーサは、取得したメタデータをデータデカプセル化処理部、データデコーダ、リプロジェクション処理部及び/又はレンダラに伝達できる。
【0111】
リプロジェクション処理部は、デコードされた360度ビデオデータに対してリプロジェクションを実行することができる。リプロジェクション処理部は、360度ビデオデータを3D空間にリプロジェクションできる。3D空間は、使われる3Dモデルによって他の形態を有することができる。リプロジェクション処理部は、メタデータパーサからリプロジェクションに必要なメタデータの伝達を受けることもできる。例えば、リプロジェクション処理部は、使われる3Dモデルのタイプ及びその詳細情報に関する情報をメタデータパーサから伝達されることができる。一実施例によれば、リプロジェクション処理部は、リプロジェクションに必要なメタデータを利用し、3D空間上の特定領域に該当する360度ビデオデータのみを3D空間にリプロジェクションすることもできる。
【0112】
レンダラは、リプロジェクションされた360度ビデオデータをレンダリングすることができる。前述したように、360度ビデオデータが3D空間上にレンダリングされると表現することもでき、このように二つの過程が一度に発生する場合、リプロジェクション処理部とレンダラとは統合され、レンダラでこの過程が全て実行(進行)されることができる。一実施例によれば、レンダラは、ユーザの視点情報によってユーザが見ている部分のみをレンダリングすることもできる。
【0113】
ユーザは、VRディスプレイなどを介してレンダリングされた360度ビデオの一部領域を見ることができる。VRディスプレイは、360度ビデオを再生する装置であり、360度ビデオ受信装置に含まれることもでき(tethered)、別個の装置として360度ビデオ受信装置に連結されることもできる(un-tethered)。
【0114】
本発明による360度ビデオ受信装置の一実施例によると、360度ビデオ受信装置は、(受信側)フィードバック処理部及び/又はネットワークインターフェース(図示せず)を内部/外部エレメントとしてさらに含むことができる。受信側フィードバック処理部は、レンダラ、リプロジェクション処理部、データデコーダ、デカプセル化処理部及び/又はVRディスプレイからフィードバック情報を取得して処理できる。フィードバック情報は、ビューポート情報、ヘッドオリエンテーション情報、ゲイズ(Gaze)情報などを含むことができる。ネットワークインターフェースは、フィードバック情報の受信側フィードバック処理部からの伝達を受け、これを360度ビデオ送信装置に送信できる。
【0115】
前述したように、フィードバック情報は、送信側に伝達されるだけでなく、受信側で消費されることもできる。受信側フィードバック処理部は、取得したフィードバック情報を360度ビデオ受信装置の内部エレメントに伝達し、レンダリングなどの過程に反映されるようにすることができる。受信側フィードバック処理部は、フィードバック情報をレンダラ、リプロジェクション処理部、データデコーダ及び/又はデカプセル化処理部に伝達できる。例えば、レンダラは、フィードバック情報を活用してユーザが見ている領域を優先的にレンダリングできる。また、デカプセル化処理部、データデコーダなどは、ユーザが見ている領域乃至見るようになる領域を優先的にデカプセル化、デコードすることができる。
【0116】
前述した本発明による360度ビデオ受信装置の内部/外部エレメントは、ハードウェアで具現されるハードウェアエレメントである。一実施例によれば、内部/外部エレメントは、変更、省略され、又は他のエレメントに代替、統合されることができる。一実施例によれば、付加エレメントが360度ビデオ受信装置に追加されることもできる。
【0117】
本発明の他の観点は、360度ビデオを送信する方法及び360度ビデオを受信する方法と関連することができる。本発明による360度ビデオを送信/受信する方法は、各々、前述した本発明による360度ビデオ送信/受信装置又はその装置の実施例により実行されることができる。
【0118】
前述した本発明による360度ビデオ送信/受信装置、送信/受信方法の各々の実施例及びその内部/外部エレメントの各々の実施例を互いに組み合わせることができる。例えば、プロジェクション処理部の実施例とデータエンコーダの実施例とは、互いに組み合わせられて、その場合の数ほどの360度ビデオ送信装置の実施例を作り出すことができる。このように組み合わせた実施例も本発明の範囲に含まれる。
【0119】
一方、360度ビデオデータは、多様なプロジェクションスキームによって2Dイメージ上にプロジェクションされることができ、これに対する具体的な内容は、次の通りである。また、上記プロジェクションスキームを示すメタデータは、projection_schemeフィールドを含むことができる。上記projection_schemeフィールドは、上記360度ビデオデータがマッピングされたピクチャのプロジェクションスキームを示すことができる。ここで、上記プロジェクションスキームは、プロジェクションタイプと示すこともでき、上記projection_schemeフィールドは、projection_typeフィールドと示すこともできる。
【0120】
本発明による一実施例によると、エクイレクタングラ(等正方形)(equirectangular)プロジェクションスキーム(正距円筒図法)を利用してプロジェクションが実行されることができる。上記エクイレクタングラプロジェクションスキームは、ERP(EquiRectangular Projection)と示すこともできる。上記projection_schemeフィールドがエクイレクタングラプロジェクションスキームを示す場合、球形面上の(r、θ0、0)即ち、θ=θ0、φ=0である点と2Dイメージの中央ピクセルとがマッピングされることができる。また、前面カメラ(front camera)の主点(principal point)を球形面の(r、0、0)ポイントであると仮定することができる。また、φ0=0に固定されることができる。したがって、XY座標系に変換された値(x、y)は、以下の数式を介して2Dイメージ上の(X、Y)ピクセルに変換できる。
【0121】
【0122】
また、2Dイメージの左上端ピクセルをXY座標系の(0、0)に配置する場合、x軸に対するオフセット値及びy軸に対するオフセット値は、以下の数式を介して示すことができる。
【0123】
【0124】
これを利用して前述した数式3に示すXY座標系への変換式を再び書くと、下記の通りである。
【0125】
【0126】
例えば、θ0=0である場合、即ち、2Dイメージの中央ピクセルが球形面上のθ=0であるデータを示す場合、球形面は、(0、0)を基準にして2Dイメージ上で横幅(width)=2Kxπrであり、縦高さ(height)=Kxπrである領域にマッピングされることができる。球形面上でφ=π/2であるデータは、2Dイメージ上の上側辺全体にマッピングされることができる。また、球形面上で(r、π/2、0)であるデータは、2Dイメージ上の(3πKxr/2、πKxr/2)である点にマッピングされることができる。
【0127】
受信側では、2Dイメージ上の360度ビデオデータを球形面上にリプロジェクションできる。これを変換式に書くと、以下の数式の通りである。
【0128】
【0129】
例えば、2Dイメージ上でXY座標値が(Kxπr、0)であるピクセルは、球形面上のθ=θ0、φ=π/2である点にリプロジェクションされることができる。
【0130】
エクイレクタングラプロジェクションスキームが使われる場合、前述したcenter_thetaフィールドは、θ0値のような値を示すことができる。
【0131】
本発明による他の実施例によると、キュービックプロジェクション(Cubic Projection)スキームを利用してプロジェクションが実行されることができる。上記キュービックプロジェクションスキームは、CMP(Cube Map Projection)と示すこともできる。例えば、ステッチされた360度ビデオデータは、球形の面上に示される。プロジェクション処理部は、このような360度ビデオデータをキューブ(Cube、正六面体)形態に分けて2Dイメージ上にプロジェクションできる。球形の面上の360度ビデオデータは、キューブの各面に対応して2Dイメージ上にプロジェクションされることができる。
【0132】
本発明による他の実施例によると、シリンダ型プロジェクション(Cylindrical Projection)スキームを利用してプロジェクションが実行されることができる。ステッチされた360度ビデオデータが球形の面上に示されると仮定するとき、プロジェクション処理部は、このような360度ビデオデータをシリンダ(Cylinder)形態に分けて2Dイメージ上にプロジェクションできる。球形の面上の360度ビデオデータは、シリンダのサイド(side)及びトップ(top)、ボトム(bottom)に各々対応されて2Dイメージ上にプロジェクションされることができる。
【0133】
本発明による他の実施例によると、タイルベースの(Tile-based)プロジェクションスキームを利用してプロジェクションが実行されることができる。タイルベースの(Tile-based)プロジェクションスキームが使われる場合、前述したプロジェクション処理部は、球形面上の360度ビデオデータを一つ又は複数の細部領域に分けて2Dイメージ上にプロジェクションできる。上記細部領域は、タイルと呼ばれる。
【0134】
本発明による他の実施例によると、ピラミッドプロジェクション(Pyramid Projection)スキームを利用してプロジェクションが実行されることができる。ステッチされた360度ビデオデータが球形の面上に示されると仮定するとき、プロジェクション処理部は、このような360度ビデオデータをピラミッド形態と見て、各面を分けて2Dイメージ上にプロジェクションできる。球形の面上の360度ビデオデータは、ピラミッドのフロント(front)、ピラミッドの4方向のサイド(Left top、Left bottom、Right top、Right bottom)に各々対応され、2Dイメージ上にプロジェクションされることができる。ここで、上記フロントは、正面を眺めるカメラが取得したデータを含む領域である。
【0135】
本発明による他の実施例によると、パノラミックプロジェクション(Panoramic Projection)スキームを利用してプロジェクションが実行されることができる。パノラミックプロジェクションスキームが使われる場合、前述したプロジェクション処理部は、球形面上の360度ビデオデータのうちのサイドのみを2Dイメージ上にプロジェクションできる。これは、シリンダ型プロジェクションスキームでトップ(top)とボトム(bottom)が存在しない場合と同じである。panorama_heightフィールドは、プロジェクション時に適用されたパノラマの高さを示すことができる。プロジェクションスキームを示すメタデータは、プロジェクションスキームがパノラミックプロジェクションスキームであることを上記projection_schemeフィールドが指示する場合、panorama_heightフィールドを含むことができる。
【0136】
本発明による他の実施例によると、ステッチングなしでプロジェクションが実行されることができる。即ち、上記projection_schemeフィールドは、ステッチングなしでプロジェクションされる場合を示すことができる。ステッチングなしでプロジェクションされる場合、前述したプロジェクション処理部は、360度ビデオデータをそのまま2Dイメージ上にプロジェクションできる。この場合、ステッチングは実行されずに、カメラで取得された各々のイメージがそのまま2Dイメージ上にプロジェクションされることができる。例えば、上記カメラで取得された二つのイメージが2Dイメージ上にステッチングなしでプロジェクションされることができる。各イメージは、球形カメラ(spherical camera)から各センサを介して取得した魚眼(fish-eye)イメージである。前述したように、受信側でカメラセンサから取得するイメージデータをステッチすることができ、ステッチされたイメージデータを球形面(spherical surface)上にマッピングして、球形ビデオ(spherical video)、即ち、360度ビデオをレンダリングすることができる。
【0137】
図7は、360度ビデオ送信装置/360度ビデオ受信装置を介して実行される360度ビデオ提供のための全体アーキテクチャを例示的に示す。
【0138】
図7に示すようなアーキテクチャにより、360コンテンツが提供されることができる。360コンテンツは、ファイル形態で提供され、又はDASHなどのようにセグメント(segment)ベースのダウンロード又はストリーミングサービスの形態で提供されることができる。ここで、360コンテンツは、VRコンテンツと呼ばれる。
【0139】
前述したように、360度ビデオデータ及び/又は360オーディオデータが取得されることができる(Acquisition)。
【0140】
360オーディオデータは、オーディオプリプロセッシング過程(Audio sing)、オーディオエンコーディング過程(Audio encoding)を経ることができる。この過程でオーディオ関連メタデータが生成されることができ、エンコードされたオーディオ及びオーディオ関連メタデータは、送信のための処理(file/segment encapsulation)を経ることができる。
【0141】
360度ビデオデータは、前述したような過程を経ることができる。360度ビデオ送信装置のステッチャは、360度ビデオデータにステッチングを実行することができる(Visual stitching)。この過程は、実施例によって省略されて受信側で実行されることもできる。
【0142】
また、360度ビデオ送信装置のプロジェクション処理部は、360度ビデオデータを2Dイメージ上にプロジェクションできる(Projection and mapping(packing))。プロジェクション処理部は、360度ビデオデータ(Input Images)の伝達を受けることができ、この場合、ステッチング及びプロジェクション過程を実行することができる。プロジェクション過程は、具体的には、ステッチされた360度ビデオデータを3D空間上にプロジェクションし、プロジェクションされた360度ビデオデータが2Dイメージ上に配列されることである。本明細書で、この過程を360度ビデオデータを2Dイメージ上にプロジェクションすると表現することもできる。ここで、3D空間は、球(sphere)又はキューブ(cube)などである。この3D空間は、受信側でリプロジェクションに使われる3D空間と同じこともある。
【0143】
2Dイメージは、プロジェクションされたフレーム(Projected frame)又はプロジェクションされたピクチャ(Projected picture)とも呼ばれる。また、上記2Dイメージにリージョン別パッキング(Region-wise packing)過程が選択的にさらに実行されることもできる。上記リージョン別パッキング過程が実行される場合、各リージョン(Region)の位置、形態、大きさを指示することによって、上記2Dイメージ上のリージョンがパッキングされたフレーム(packed frame)上にマッピングされることができる。上記パッキングされたフレームは、パッキングされたピクチャ(packed picture)と呼ばれる。上記プロジェクションされたフレームに上記リージョン別パッキング過程が実行されない場合、上記プロジェクションされたフレームは、上記パッキングされたフレームと同じである。リージョンに関しては後述する。プロジェクション過程及びリージョン別パッキング過程を、360度ビデオデータの各リージョンが2Dイメージ上にプロジェクションされると表現することもできる。設計によって、360度ビデオデータは、中間過程なしでパッキングされたフレーム(packed frame)に変換されることもできる。
【0144】
図7を参照すると、360度ビデオデータに対するパッキングされたフレームは、イメージエンコーディング乃至ビデオエンコードされることができる。一方、同じ360度ビデオコンテンツであるとしても視点(viewpoints)別に360度ビデオデータが存在でき、この場合、上記コンテンツの各視点別360度ビデオデータは、互いに異なるビットストリームでエンコードされることもできる。エンコードされた360度ビデオデータは、前述したカプセル化処理部によりISOBMFFなどのファイルフォーマットに処理されることができる。あるいは、カプセル化処理部は、エンコードされた360度ビデオデータをセグメントに処理できる。セグメントは、DASHに基づく送信のための個別トラックに含まれることができる。
【0145】
360度ビデオデータの処理と共に、前述したように360度ビデオ関連メタデータが生成されることができる。このメタデータは、ビデオストリーム又はファイルフォーマットに含まれて伝達されることができる。このメタデータは、エンコーディング過程やファイルフォーマットカプセル化、送信のための処理などの過程にも使われることができる。
【0146】
360オーディオ/ビデオデータは、送信プロトコルによる送信のための処理を経て、以後に送信されることができる。前述した360度ビデオ受信装置は、これを放送網又はブロードバンドを介して受信することができる。
【0147】
一方、
図7に示すように、スピーカ/ヘッドホン(Loudspeakers/headphones)、ディスプレイ(Display)、ヘッド/アイトラッキングコンポーネント(Head/eye tracking)は、360度ビデオ受信装置の外部装置乃至VRアプリケーションにより実行されることができるが、一実施例によれば、360度ビデオ受信装置は、上記スピーカ/ヘッドホン、上記ディスプレイ(Display)、上記ヘッド/アイトラッキングコンポーネントを全て含むこともできる。一実施例によれば、上記ヘッド/アイトラッキングコンポーネントは、前述した受信側フィードバック処理部に該当できる。
【0148】
360度ビデオ受信装置は、360オーディオ/ビデオデータに受信のための処理(File/segment decapsulation)を実行することができる。360オーディオデータは、オーディオデコーディング(Audio decoding)、オーディオレンダリング(Audio rendering)過程を経て、スピーカ/ヘッドホンを介してユーザに提供されることができる。
【0149】
360度ビデオデータは、イメージデコーディング乃至ビデオデコーディング、レンダリング(Visual rendering)過程を経て、ディスプレイを介してユーザに提供されることができる。ここで、ディスプレイは、VRをサポートするディスプレイ又は一般ディスプレイである。
【0150】
前述したように、レンダリング過程は、具体的には、360度ビデオデータが3D空間上にリプロジェクションされ、リプロジェクションされた360度ビデオデータがレンダリングされることである。これを360度ビデオデータが3D空間上にレンダリングされると表現することもできる。
【0151】
ヘッド/アイトラッキングコンポーネントは、ユーザのヘッドオリエンテーション情報、ゲイズ情報、ビューポート(Viewport)情報などを取得、処理することができる。これと関連する内容は、前述の通りである。
【0152】
受信側では、前述した受信側過程と通信するVRアプリケーションが存在できる。
【0153】
一方、前述した内容のように3次元空間で連続する360度ビデオデータが2Dイメージのリージョンにマッピングされる場合、上記2Dイメージのリージョン別にコーディングされて受信側に伝達されることができ、したがって、上記2Dイメージにマッピングされた360度ビデオデータが再び3次元空間にレンダリングされると、各リージョンのコーディング処理の差によって3次元空間にリージョン間の境界が現れる問題が発生できる。上記3次元空間に上記リージョン間の境界が現れる問題は、境界誤差(誤謬)(boundary error)と呼ばれる。上記境界誤差は、ユーザの仮想現実に対する没入感を低下させるため、本発明では、上記境界誤差を解消させるためのリージョン別追加情報(Region-wise Auxiliary Information)及びそれに関するメタデータを提供する方法を提案する。上記リージョン別追加情報は、上記境界誤差を減らすための方法である対象リージョンの境界に位置するサンプルと上記対象リージョンに隣接するリージョンのサンプルとのブレンディング(blending)過程と、上記対象リージョンの境界に位置するサンプルが上記リージョン別追加情報のサンプルに代替される代替過程と、に使われることができる。また、上記リージョン別追加情報は、上記対象リージョンに隣接するリージョンに対するデコーディング過程なしでビューポートを拡張するために使われることもできる。
【0154】
一方、上記パッキングされたフレームは、リージョン別追加情報(Region-wise Auxiliary Information、RAI)領域を含むことができる。上記RAI領域は、上記パッキングされたフレーム内の対象リージョンの境界(boundary)に隣接する領域であり、上記対象リージョンに対するRAI領域(オフセット領域)の映像情報を含むことができる。上記RAI領域は、オフセット領域又はガードバンド(guard band)とも呼ばれる。
【0155】
上記RAI領域を考慮して取得した360度ビデオデータを再構成、送信及び再生成して最終映像を出力する過程は、下記の通りである。
【0156】
図8a乃至
図8dは、360度ビデオ送信装置/360度ビデオ受信装置を介して実行されるRAI領域が考慮された360度ビデオ提供のための全体アーキテクチャを例示的に示す。
図8aを参照すると、少なくとも一つのカメラによりキャプチャされた360度ビデオデータが取得されることができ、上記360度ビデオデータを処理して生成されたプロジェクションされたピクチャ(projected picture)が取得されることができる。上記プロジェクションされたピクチャは、リージョン別パッキング(region-wise packing)過程が実行されることができる。上記リージョン別パッキング過程が実行される場合、上記プロジェクションされたピクチャ上にプロジェクションされた360度ビデオデータをリージョン(Region)別に分ける処理過程(region decomposition)が実行されることができ、各リージョンに対するRAI領域が追加される過程(guard band insertion)が実行されることができる。また、上記リージョン別に変換されることができ、360度ビデオ送信装置は、リージョン別に大きさを調整してリージョン別にクォリティ(quality)を調整することができる。上記プロジェクションされたピクチャに上記リージョン別パッキング過程が実行されることでパッキングされたピクチャ(packed picture)が導出されることができる。
【0157】
図8aを参照すると、上記パッキングされたピクチャに関する情報がエンコードされてビットストリームを介して出力されることができる。この場合、リージョン別量子化パラメータを介してリージョン別にクォリティが変更されることができる。エンコードされた上記パッキングされたピクチャに関する情報は、ビットストリームを介して送信されることができる。
【0158】
図8aを参照すると、360度ビデオ受信装置は、ビットストリームを介して取得された上記パッキングされたピクチャに関する情報をデコードすることができる。上記デコードされたパッキングされたピクチャに対してリージョン別アンパッキング(region-wise unpacking)過程が実行されることができる。
【0159】
上記デコードされたパッキングされたピクチャに対してリージョン別アンパッキング(region-wise unpacking)過程が実行される場合、上記パッキングされたピクチャに対してリージョン別逆変換過程(region-wise inverse transformation)が実行されることができる。即ち、上記パッキングされたピクチャの対象リージョンに対する変換情報に基づいて上記対象リージョンの逆変換が実行されることができる。
【0160】
また、上記デコードされたパッキングされたピクチャに対して選択的にステッチング(Stitching)過程が実行されることができる。ステッチング過程は、各々のキャプチャされたイメージ/ビデオ、即ち、上記パッキングされたピクチャのリージョンを連結して一つのピクチャに作る過程を示すことができる。360度ビデオ送信装置で既にステッチング過程が実行されている場合、360度ビデオ受信装置は、上記ステッチング過程を実行しない。
【0161】
上記パッキングされたピクチャは、上記リージョン別逆変換過程を介してプロジェクションされたピクチャ(projected picture)に復元(recovered)されることができる。あるいは、上記パッキングされたピクチャは、上記リージョン別逆変換過程及び上記ステッチング過程を介して上記プロジェクションされたピクチャに復元されることができる。上記復元されたプロジェクションされたピクチャにリージョン境界エンハンスメント(region boundary enhancement)過程が実行されることができる。上記リージョン境界エンハンスメント過程は、上記プロジェクションされたピクチャの対象リージョンの対象サンプルと対応するRAI領域内のサンプルのサンプル値と上記対象サンプルのサンプル値とを補間して新しいサンプル値を導出し、上記導出された新しいサンプル値を上記対象サンプルのサンプル値として導出するブレンディング(blending)過程と、上記対象リージョンの対象サンプルのサンプル値を上記対象サンプルと対応する上記RAI領域内のサンプルのサンプル値に代替する代替(replacement)過程と、を含むことができる。
【0162】
具体的には、例えば、上記プロジェクションされたピクチャの対象リージョン内の(x、y)位置のサンプルに対して、上記サンプルの既存のサンプル値、上記サンプルと対応するRAI領域のサンプルのサンプル値、及び上記RAI領域のサンプルと上記対象リージョンの境界との間の距離dを適用した単調増加関数alpha(x)[0:1]に基づいて上記新しいサンプル値が導出されることができる。ここで、上記単調増加関数alpha(x)[0:1]は、重み(加重値)(weighting)関数として示すことができる。これによって、上記対象リージョンの上記境界に近いほど、上記RAI領域のリージョン別追加情報(上記RAI領域のサンプルのサンプル値)が使われ、一定の距離以上遠ざかるほど、既存の情報、即ち、上記対象リージョンの情報(上記対象リージョン内の(x、y)位置のサンプルの既存サンプル値)が使われるようにすることによって、映像が自然に変わるようにすることができる。上記ブレンディング過程が適用される場合、上記(x、y)位置のサンプルの新しいサンプル値は、以下の数式に基づいて導出されることができる。
【0163】
【0164】
ここで、output[x][y]は、上記対象リージョン内の上記(x、y)位置のサンプルの新しいサンプル値を示すことができ、input[x][y]は、上記対象リージョン内の上記(x、y)位置のサンプルの既存のサンプル値を示すことができ、RAI[x][y]は、上記(x、y)位置のサンプルと対応する上記RAI領域内のサンプルのサンプル値を示すことができる。
【0165】
一方、上記RAI領域に対するrai_typeフィールドの値が2であり、即ち、上記RAI領域は、漸進的に映像画質が変わる領域であり、上記RAI領域に対するrai_delta_QPフィールドが与えられる場合、上記新しいサンプル値を導出するための重み関数は、境界からの距離と境界のQP(Quantization Parameter)との差に関する関数として定義されることもできる。この場合、上記対象リージョン内の上記(x、y)位置のサンプルの新しいサンプル値は、以下の数式に基づいて導出されることができる。上記rai_typeフィールド及びrai_delta_QPフィールドに関する具体的な説明は、後述する。
【0166】
【0167】
一方、上記代替過程が適用される場合、上記RAI領域により与えられた情報は、一定範囲まで別個の処理なしでそのまま使用可能であり、この場合、上記対象リージョン及び球形面上で上記大型リージョンに隣接するリージョンを付けて(attached)レンダリングするとき、上記RAI領域と重なる上記対象リージョンの部分に対しては、上記RAI領域が使われることができる。例えば、上記対象リージョンと球形面上で上記大型リージョンに隣接するリージョンとの間で画質差があり、上記RAI領域が漸進的に画質変化が行われる情報を含む場合、上記RAI領域に含まれるビデオデータがそのままレンダリングに使われることができる。
【0168】
上記復元されたプロジェクションされたピクチャは、上記リージョン境界エンハンスメント過程を介してエンハンス(向上)した(enhanced)プロジェクションされたピクチャとして導出されることができる。これによって、上記対象リージョンの境界で現れることができる誤差の発生程度を減らすことができる。
【0169】
上記エンハンスしたプロジェクションされたピクチャは、3D空間上にマッピングされることができる。一方、前述した過程は、360度ビデオデータが3D空間上にレンダリングされると表現されることもできる。この場合、受信したビューポート(Viewport)メタデータに基づいてビューポートイメージが生成されて表示されることができる。ここで、上記ビューポートイメージは、ビューポートとも呼ばれる。ビューポートメタデータは、現在ユーザが360度ビデオで見ている領域に関する情報である。
【0170】
一方、エンコードされた映像のうちの全体ではなく一部の映像のみがデコードされることができ、この場合、
図8bに示すような過程を実行する受信部が構成されることができる。
図8bを参照すると、360度ビデオ受信装置は、ビットストリームを介して取得された上記パッキングされたピクチャに関する情報をデコードすることができる。この場合、上記デコードされたパッキングされたピクチャの一部領域に対してリージョン別アンパッキング(region-wise unpacking)過程が実行されることができる。具体的には、上記デコードされたパッキングされたピクチャの対象リージョンが選択されることができる。例えば、受信したビューポートメタデータに基づいて上記対象リージョンが選択されることができる。ビューポートメタデータは、現在ユーザが360度ビデオで見ている領域に関する情報を示すことができ、上記対象リージョンは、上記現在ユーザが360度ビデオで見ている領域に含まれることができる。一方、上記対象リージョンに対するRAI領域が存在する場合、上記RAI領域も選択されることができる。
【0171】
また、上記選択された対象リージョン及び上記RAI領域に対する逆変換(inverse transformation)が実行されることができる。上記対象リージョンの変換に関する情報が受信されることができ、上記変換に関する情報に基づいて上記対象リージョンに対する逆変換が実行されることができる。一方、上記RAI領域は、上記対象リージョンと異なる変換が実行されることができる。この場合、上記RAI領域の変換に関する情報が受信されることができ、上記RAI領域の変換に関する情報に基づいて、上記RAI領域に対する逆変換が実行されることができる。
【0172】
また、上記対象リージョン及び上記RAI領域にリージョン境界エンハンスメント(region boundary enhancement)過程が実行されることができる。上記リージョン境界エンハンスメント過程は、前述したブレンディング(blending)過程及び代替(replacement)過程を含むことができる。上記リージョン境界エンハンスメント過程を介して上記対象リージョンの境界で現れることができる誤差の発生程度を減らすことができる。また、上記対象リージョンを含むビューポートイメージが生成されて表示されることができる。
【0173】
一方、上記プロジェクションされたピクチャは、複数のサブピクチャ(sub-picture)に分けられてパッキングされることができ、上記パッキングされたサブピクチャの各々がエンコードされて送信されることができる。ここで、上記サブピクチャは、独立してデコードされることができる映像単位を示すことができ、上記サブピクチャは、タイル(tile)、MCTS(Motion Constrained Tile Set)又はリージョンに対応できる。この場合、
図8cに示すように、上記プロジェクションされたピクチャは、リージョン(Region)別に分ける処理過程(region decomposition)が実行されることができる。また、上記リージョン別に変換されることができ、360度ビデオ送信装置は、リージョン別に大きさを調整してリージョン別にクォリティ(quality)を調整することができる。上記プロジェクションピクチャは、複数のサブピクチャに分けられる。上記サブピクチャは、上記プロジェクションピクチャのリージョンに対応することもできる。
【0174】
また、各サブピクチャにリージョン別パッキング過程が実行されることができ、各サブピクチャは、エンコードされてビットストリームを介して送信されることができる。上記リージョン別パッキング過程は、前述の通りである。
【0175】
図8dを参照すると、360度ビデオ受信装置は、ビットストリームを介して取得された上記各サブピクチャに関する情報をデコードすることができる。また、上記各サブピクチャに対する逆変換(inverse transformation)が実行されることができる。上記各サブピクチャの変換に関する情報が受信されることができ、上記変換に関する情報に基づいて上記各サブピクチャに対する逆変換が実行されることができる。
【0176】
逆変換された上記サブピクチャは、復元されたプロジェクションされたピクチャで構成されることができる。上記過程は、サブピクチャcomposition過程と示すことができる。例えば、複数のサブピクチャは、一つのピクチャにマージ(併合)される(merged)ことができ、上記ピクチャは、復元されたプロジェクションされたピクチャで表すことができる。上記復元されたプロジェクションされたピクチャにリージョン境界エンハンスメント(region boundary enhancement)過程が実行されることができる。上記リージョン境界エンハンスメント過程は、前述の通りである。一方、一つのサブピクチャでビューポートメタデータで指定する領域がカバー(cover)される場合、即ち、上記ビューポートメタデータで指定する領域が上記一つのサブピクチャに含まれる場合、前述したサブピクチャcomposition過程及びリージョン境界エンハンスメント過程は、省略されることができる。
【0177】
また、上記エンハンスしたプロジェクションされたピクチャは、3D空間上にマッピングされることができる。この場合、受信したビューポート(Viewport)メタデータに基づいてビューポートイメージが生成されて表示されることができる。ビューポートメタデータは、現在ユーザが360度ビデオで見ている領域に関する情報である。
【0178】
一方、上記ビューポートメタデータが指定するビューポートイメージは、一つのサブピクチャと上記サブピクチャに対するRAI領域に含まれる情報との組み合わせに基づいて生成可能である。この場合、rai_present_flagの値が1である場合、前述した複数のサブピクチャに対するリージョン境界エンハンスメント過程なしで上記RAI領域に含まれる情報に基づいて出力映像が生成されることができ、これによってコーディング効率がより向上することができる。ここで、上記rai_present_flagは、上記RAI領域に関する情報、上記サブピクチャに対するリージョン別追加情報(region-wise auxiliary information)がシグナリングされるかどうかを示すフラグである。上記rai_present_flagに関する具体的な内容は、後述する。
【0179】
一方、複数のリージョンに分けられた上記パッキングされたピクチャに対するリージョン別追加情報(region-wise auxiliary information)を伝達するための方法として、次のようなシンタックスを介して上記リージョン別追加情報がシグナリングされることができる。具体的には、例えば、上記リージョン別追加情報に関するメタデータが送信されることができ、上記リージョン別追加情報に関するメタデータは、HEVCのSEI messageを介して送信されることができる。また、上記リージョン別追加情報に関するメタデータは、ビデオレベルで必須に使われる情報であり、この場合、VPS、SPS又はPPSを介して送信されることができる。また、上記VPS、上記SPS又は上記PPSなどのビデオレベルだけでなく、デジタル有線/無線インターフェース、システムレベルのfile format等を介しても上記リージョン別追加情報に関するメタデータと同じ情報又は類似情報が伝達されることができる。
【0180】
後述するシンタックスは、上記リージョン別追加情報に関するメタデータが全体映像、即ち、上記パッキングされたピクチャ全体が送信される場合に対する実施例を示すことができる。しかしながら、映像がサブピクチャ(sub-picture)で送信される場合、上記リージョン別追加情報に関するメタデータは、上記サブピクチャに対するRAI領域が含まれるかどうか、即ち、上記サブピクチャに対するRAI領域が存在するかを示す情報、上記サブピクチャ内の対象リージョンを基準にして、上記RAI領域が、上側、下側、左側又は右側境界のうちのどの境界に隣接するか及び上記RAI領域のタイプに関する情報を示す情報がさらに含まれることができる。
【0181】
図9a乃至
図9cは、上記リージョン別追加情報に関するメタデータの一例を示す。
図9aを参照すると、payloadTypeの値が特定値を示す場合、上記リージョン別追加情報に関するメタデータが送信されることができる。具体的な上記リージョン別追加情報に関するメタデータは、
図9b乃至
図9cに示す通りである。
【0182】
図9b乃至
図9cを参照すると、リージョン別パッキング過程に関する情報に対するシンタックスに、上記リージョン別追加情報が含まれて送信されることができる。即ち、上記リージョン別パッキング過程に関するメタデータに、上記リージョン別追加情報に関するメタデータが含まれることができる。一方、上記リージョン別追加情報に関するメタデータが別個のシンタックスを介して送信されることもできる。
【0183】
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、num_regionsフィールドを含むことができる。上記num_regionsフィールドは、上記パッキングされたピクチャ(又は、サブピクチャ)内のリージョンの個数を示すことができる。一方、上記リージョン別追加情報に関するメタデータは、num_regionsフィールドの代わりにnum_regions_minus1フィールドを含むことができる。上記num_regions_minus1フィールドは、上記パッキングされたピクチャ(又は、サブピクチャ)内のリージョンの個数から1を引いた値を示すことができる。
【0184】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、target_picture_widthフィールド及びtarget_picture_heightフィールドを含むことができる。上記target_picture_widthフィールド及び上記target_picture_heightフィールドは、最終映像、即ち、入力された映像の最終的に導出されるピクチャの幅及び高さを示すことができる。例えば、上記target_picture_widthフィールド及び上記target_picture_heightフィールドは、360度ビデオデータに対するプロジェクションされたピクチャ(projected picture)の幅及び高さを示すことができる。上記target_picture_widthフィールド及び上記target_picture_heightフィールドは、各々、proj_picture_widthフィールド、proj_picture_heightフィールドと示すこともできる。一方、現在映像、即ち、入力された映像のパッキングされたピクチャ(又は、サブピクチャ)の幅及び高さに関する情報は、VPS(Video Parameter Set)、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)等を介して送信されることができ、必要な場合、別個の情報を介して伝達されることができる。
【0185】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、region_wise_auxiliary_information_present_flagフィールドを含むことができる。上記region_wise_auxiliary_information_present_flagフィールドの値が1である場合、上記パッキングされたピクチャ(又は、サブピクチャ)に対するリージョン別追加情報が送信されることを示すことができる。上記region_wise_auxiliary_information_present_flagフィールドの値が0である場合、上記パッキングされたピクチャ(又は、サブピクチャ)に対するリージョン別追加情報が送信されないことを示すことができる。上記region_wise_auxiliary_information_present_flagフィールドは、rai_present_flagフィールドと示すことができ、又はguard_band_flagフィールドと示すこともできる。
【0186】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、packing_typeフィールドを含むことができる。上記packing_typeフィールドは、パッキングされたピクチャ(又は、サブピクチャ)に適用されたリージョン別パッキングの種類(type)を示す。例えば、上記packing_typeフィールドの値が0である場合、上記パッキングされたピクチャ(又は、サブピクチャ)に適用されたリージョン別パッキングがrectangular region-wise packingであることを示すことができる。
【0187】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_widthフィールド及びrai_heightフィールドを含むことができる。上記rai_widthフィールド及び上記rai_heightフィールドは、gb_widthフィールド及びgb_heightフィールドと示すこともできる。上記rai_widthフィールド及び上記rai_heightフィールドは、対象リージョンの上側、下側、左側又は右側境界に隣接するRAI領域の幅及び高さを示すことができる。上記パッキングされたピクチャ(又は、サブピクチャ)に対するリージョン別追加情報が送信される場合、即ち、上記region_wise_auxiliary_information_present_flagフィールドの値が1である場合、上記rai_widthフィールド及び上記rai_heightフィールドは、送信されることができる。一方、rai_width[0]フィールド及びrai_height[0]フィールドは、上記対象リージョンの上側境界に隣接するRAI領域の幅及び高さを示すことができ、rai_width[1]フィールド及びrai_height[1]フィールドは、上記対象リージョンの左側境界に隣接するRAI領域の幅及び高さを示すことができ、rai_width[2]フィールド及びrai_height[2]フィールドは、上記対象リージョンの下側境界に隣接するRAI領域の幅及び高さを示すことができ、rai_width[3]フィールド及びrai_height[3]フィールドは、上記対象リージョンの右側境界に隣接するRAI領域の幅及び高さを示すことができる。あるいは、rai_width[i][0]フィールド及びrai_height[i][0]フィールドは、上記パッキングされたピクチャ(又は、サブピクチャ)のi番目のリージョンの上側境界に隣接するRAI領域の幅及び高さを示すことができ、rai_width[i][1]フィールド及びrai_height[i][1]フィールドは、上記i番目のリージョンの左側境界に隣接するRAI領域の幅及び高さを示すことができ、rai_width[i][2]フィールド及びrai_height[i][2]フィールドは、上記i番目のリージョンの下側境界に隣接するRAI領域の幅及び高さを示すことができ、rai_width[i][3]フィールド及びrai_height[i][3]フィールドは、上記i番目のリージョンの右側境界に隣接するRAI領域の幅及び高さを示すことができる。
【0188】
具体的には、例えば、対象リージョンの左側境界に隣接するRAI領域が存在する場合、rai_width[1]フィールド及びrai_height[1]フィールドが送信されることができ、上記rai_width[1]フィールド及びrai_height[1]フィールドは、上記RAI領域の幅及び高さを示すことができる。一般的に、上記rai_height[1]フィールドは、上記対象リージョンの高さと同じ値を示すことができる。しかしながら、上記対象リージョンと上記RAI領域とに互いに異なる変換が実行され、又は上記RAI領域の高さが上記対象リージョンの高さとは異なる範囲を有する場合、上記rai_height[1]フィールドは、上記対象リージョンの高さと異なる値を示すことができる。この場合、上記RAI領域の高さは、上記対象リージョンの中心(center)から対称に上記rai_height[1]フィールドが示す値の高さに定義されることができ、又は、上記RAI領域の左上側ポイントに対する位置情報が別個にシグナリングされることができ、上記左上側ポイントの位置から上記rai_height[1]フィールドが示す値の高さが上記RAI領域の高さに設定されることができる。
【0189】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_not_used_for_pred_flagフィールドを含むことができる。上記rai_not_used_for_pred_flagフィールドは、gb_not_used_for_pred_flagフィールドと示すこともできる。上記rai_not_used_for_pred_flagフィールドは、上記RAI領域に含まれるリージョン別追加情報がエンコーディング/デコーディング過程で予測に使われるかどうかを示すことができる。例えば、上記rai_not_used_for_pred_flagフィールドの値が1である場合、上記RAI領域に含まれるリージョン別追加情報がエンコーディング/デコーディング過程で予測に使われないことを示すことができる。また、上記rai_not_used_for_pred_flagフィールドの値が0である場合、上記RAI領域に含まれるリージョン別追加情報がエンコーディング/デコーディング過程で予測に使われることを示すことができる。
【0190】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_equal_type_flagフィールドを含むことができる。上記rai_equal_type_flagフィールドは、上記対象リージョンに対するRAI領域に含まれるリージョン別追加情報が同じタイプの情報であるかどうかを示すことができる。例えば、上記rai_equal_type_flagフィールドの値が1である場合、上記対象リージョンに対するRAI領域、即ち、上記対象リージョンの上側、下側、左側又は右側境界に隣接するRAI領域が全て同じタイプのリージョン別追加情報を含むことを示すことができる。また、上記rai_equal_type_flagフィールドの値が0である場合、上記対象リージョンに対するRAI領域、即ち、上記対象リージョンの上側、下側、左側又は右側境界に隣接するRAI領域が互いに異なるタイプのリージョン別追加情報を含むことを示すことができる。一方、上記RAI領域に含まれるリージョン別追加情報のタイプは、後述するrai_typeフィールドを介して送信されることができ、具体的なタイプによるリージョン別追加情報は、後述する。
【0191】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_transformation_flagフィールドを含むことができる。上記rai_transformation_flagフィールドは、上記rai_transformation_flagフィールドに対するRAI領域の変換(transformation)情報が送信されるかどうかを示すことができる。上記rai_transformation_flagフィールドの値が1である場合、RAI領域に対する変換情報が送信されることを示すことができ、上記rai_transformation_flagフィールドの値が0である場合、上記RAI領域は、上記RAI領域の対象リージョンと同じ変換が実行されることを示すことができる。
【0192】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_corner_present_flagフィールドを含むことができる。上記rai_corner_present_flagフィールドは、上記対象リージョンの左上端、右上端、右下端及び左下端の周辺領域のうちの少なくとも一つの領域に上記リージョン別追加情報が含まれるかどうかを示すことができる。例えば、上記rai_corner_present_flagフィールドの値が1である場合、上記リージョン別追加情報を含む上記対象リージョンの左上端、右上端、右下端及び/又は左下端周辺RAI領域が送信されることを示すことができる。上記左上端、上記右上端、上記右下端及び上記左下端周辺RAI領域は、コーナ(corner)RAI領域と呼ばれる。また、上記rai_corner_present_flagフィールドの値が0である場合、上記映像追加情報を含む上記リージョン別追加情報を含む上記対象リージョンの左上端、右上端、右下端及び左下端周辺RAI領域が送信されないことを示すことができる。例えば、360度ビデオ又はパノラマビデオ(panorama video)を提供するにあたって迅速なビューポート対応のために、上記RAI領域に基づいて対象リージョンのビデオ情報が拡張されることができる。ここで、上記ビューポート対応は、ユーザが眺める方向がユーザの動きなどに起因して変化する場合に、上記方向の変化に対応してビューポートイメージを変更する対応を示すことができる。この場合、上記対象リージョンの上側、下側、左側又は右側境界に隣接するリージョン別追加情報(region auxiliary information)だけでなく、コーナ(corner)周辺領域にもリージョン別追加情報が伝達されることがより効率的であり、したがって、上記rai_corner_present_flagの値が1に決定され、コーナ方向への移動に対する映像情報が伝達されることを示すことができる。
【0193】
また、上記rai_corner_present_flagフィールドの値が1である場合、各コーナ周辺領域、即ち、左上端、右上端、右下端及び左下端周辺RAI領域の各々に対するrai_typeフィールドがシグナリングされることができる。一方、前述したrai_equal_type_flagフィールドの値が1である場合、上記コーナ周辺領域のリージョン別追加情報のタイプも同じであり、上記rai_equal_type_flagフィールドの値が0である場合、各コーナ周辺領域、即ち、左上端、右上端、右下端及び左下端周辺RAI領域の各々に対するrai_typeフィールドだけでなく、上記コーナ周辺領域の各々に対するrai_transformationフィールドもシグナリングされることができる。例えば、上記対象リージョンに対する上記rai_equal_type_flagフィールドの値が0であり、上記rai_transformation_flagの値が0である場合、上記コーナ周辺領域の各々に対するrai_typeフィールド及びrai_transformationフィールドがシグナリングされることができる。
【0194】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_extended_coverage_flagフィールドを含むことができる。上記rai_extended_coverage_flagフィールドは、対象リージョンの拡張領域に関する情報が送信されるかどうかを示すことができる。ここで、上記拡張領域は、上記対象リージョン及び上記対象リージョンに対するRAI領域を含む領域を示すことができる。例えば、上記対象リージョンに対する上記rai_extended_coverage_flagフィールドの値が1であり、上記対象リージョンに対する上記RAI領域に関する情報が送信される場合、対象リージョン及び上記RAI領域を含む上記拡張領域に関する情報は、シグナリングされることができ、上記rai_extended_coverage_flagフィールドの値が0である場合、上記拡張領域に関する情報は、シグナリングされない。上記拡張領域に関する情報の具体的な内容は、下記の通りである。
【0195】
図10は、上記拡張領域に関する情報を示すメタデータの一例を示す。上記拡張領域に関する情報を示すメタデータは、extended_coverage_informationと示すことができる。
図10を参照すると、上記拡張領域に関する情報を示すメタデータは、center_yawフィールド、center_pitchフィールド及びcenter_rollフィールドを含むことができる。上記center_yawフィールド、上記center_pitchフィールド及び上記center_rollフィールドは、上記拡張領域の3D空間、例えば、球形面上における中点(center)の位置を示すことができる。具体的には、上記球形面(spherical surface)上の各点の位置は、飛行機の主軸の概念(Aircraft Principal Axes)に基づいて示される。例えば、3次元をなす軸を、各々、ピッチ(pitch)軸、ヨー(yaw)軸及びロール(roll)軸ということができ、上記球形面上の各点の位置は、ピッチ(pitch)、ヨー(yaw)及びロール(roll)を介して表現されることができる。本明細書において、これらを縮約してpitch、yaw、roll乃至pitch方向、yaw方向、roll方向と表現することもできる。上記center_yawフィールドは、上記拡張領域の上記球形面上における中点のヨー値を示すことができ、上記center_pitchフィールドは、上記拡張領域の上記球形面上における中点のピッチ値を示すことができ、上記center_rollフィールドは、上記拡張領域の上記球形面上における中点のロール値を示すことができる。
【0196】
また、
図10を参照すると、上記拡張領域に関する情報を示すメタデータは、hor_rangeフィールド及びver_rangeフィールドを含むことができる。上記hor_rangeフィールド及び上記ver_rangeフィールドは、各々、上記拡張領域の水平範囲及び垂直範囲を示すことができる。上記hor_rangeフィールド及び上記ver_rangeフィールドが示す上記拡張領域の水平範囲及び垂直範囲は、上記拡張領域に対する対象リージョンの水平範囲及び垂直範囲より大きい、又は同じである。一方、拡張領域に関する情報を示すメタデータは、上記パッキングされたピクチャの前述したリージョン別パッキング過程に関するメタデータに含まれることができ、又は別個の情報で生成されてシグナリングされることもできる。
【0197】
一方、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_presentation_flagフィールドを含むことができる。上記rai_presentation_flagフィールドは、guard_band_flagフィールドと示すこともできる。上記対象リージョンに対する上記rai_presentation_flagフィールドは、上記対象リージョンのRAI領域に含まれるリージョン別追加情報(region-wise auxiliary information)が上記対象リージョンに含まれる360度ビデオデータ及び球形面上で連続する情報であり、ビューポートイメージ生成に使われることができるかどうかを示すことができる。例えば、上記対象リージョンに対する上記rai_presentation_flagフィールドの値が1である場合、上記RAI領域に含まれるリージョン別追加情報が上記対象リージョンに含まれる360度ビデオデータ及び球形面上で連続する情報であり、ビューポートイメージ生成に使われることができることを示すことができる。具体的には、上記RAI領域に後述するrai_typeが2、3又は4であるリージョン別追加情報、即ち、上記RAI領域に球形面上の上記対象リージョンの隣接リージョンの映像(例えば、360度ビデオデータ)の一部又は加工された形態を示すリージョン別追加情報が含まれることができ、この場合、上記隣接リージョンに関する情報全体を受信及びデコーディングせずに、上記対象リージョン及び上記対象リージョンに対するRAI領域内のビデオ情報を介してビューポートイメージが生成されることができる。これによって、より迅速且つ効率的に上記ビューポートイメージが生成されることができる。したがって、上記RAI領域に含まれる上記リージョン別追加情報がこのような機能をサポートする場合、上記rai_presentation_flagフィールドは、1に設定されて、360度ビデオ受信装置で上記RAI領域に含まれる上記リージョン別追加情報がビューポートイメージ生成に使われることができることを示すことができる。一方、上記rai_presentation_flagフィールドの値が0である場合、上記RAI領域に含まれる上記リージョン別追加情報は、最終出力映像、即ち、ビューポートイメージ生成に使われないことを示すことができる。
【0198】
一方、上記対象リージョンの上側境界、下側境界、左側境界及び右側境界に隣接するRAI領域のうちの少なくとも一つのRAI領域が上記ビューポートイメージ生成に使われることができる場合、上記rai_presentation_flagフィールドの値は、1に設定されることができる。また、各方向、即ち、上記上側境界、上記下側境界、上記左側境界及び上記右側境界に隣接するRAI領域の各々に対するrai_presentation_flagフィールドがシグナリングされることができ、上記RAI領域の各々に対する上記rai_presentation_flagフィールドに基づいて各方向に対するリージョン別追加情報の上記ビューポートイメージ生成における使用が可能か否かが導出されることができる。
【0199】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_typeフィールドを含むことができる。上記rai_typeフィールドは、gb_typeフィールドと示すこともできる。上記rai_typeフィールドは、上記rai_typeフィールドに関連するRAI領域に含まれるリージョン別追加情報のタイプを示すことができる。上記タイプによる上記RAI領域に含まれるリージョン別追加情報は、下記の通りである。
【0200】
図11a乃至
図11bは、上記リージョン別追加情報のタイプによる上記リージョン別追加情報を例示的に示す。上記タイプは、上記対象リージョンの境界に隣接するRAI領域に含まれる映像の属性、即ち、上記RAI領域に含まれる上記リージョン別追加情報の属性を示す。上記rai_typeフィールドの値が0である場合、上記rai_typeフィールドは、上記RAI領域に含まれる情報が指定されないことを示すことができる。
【0201】
上記rai_typeフィールドの値が1である場合、上記RAI領域は、上記対象リージョンの境界に位置するサンプルに関する情報を繰り返して含むことができる。即ち、上記RAI領域は、上記RAI領域と隣接する上記対象リージョンの境界に位置するサンプルが複写された情報を含むことができる。上記
図11aの(a)は、上記rai_typeフィールドの値が1である場合の上記リージョン別追加情報を示すことができる。
【0202】
上記rai_typeフィールドの値が2である場合、上記RAI領域は、上記対象リージョンの境界と隣接する上記対象リージョン内の特定領域の情報を含み、上記対象リージョンの境界は、上記RAI領域と隣接する境界を示すことができ、上記特定領域の情報は、漸進的な画質変化を有することができる。具体的には、例えば、上記対象リージョンが、高い画質の360度ビデオデータを含み、上記対象リージョンと球形面上で隣接する周辺リージョンが、低い画質の360度ビデオデータを含む場合に、上記対象リージョンに対する上記RAI領域の上記rai_typeフィールドの値が2である場合、上記RAI領域は、上記対象リージョンの境界と隣接する上記対象リージョン内の上記特定領域の情報を含み、上記RAI領域に含まれる上記特定領域の情報は、上記対象リージョンに境界から遠ざかるほど上記対象リージョンの高い画質から上記周辺リージョンの低い画質へ漸進的な画質変化を有することができる。
【0203】
上記rai_typeフィールドの値が3である場合、上記RAI領域は、上記対象リージョンの境界と隣接する上記対象リージョン内の特定領域の情報を含み、上記対象リージョンの境界は、上記RAI領域と隣接する境界を示すことができ、上記特定領域の情報は、上記対象リージョンと同じ画質を有することができる。上記
図11aの(b)は、上記rai_typeフィールドの値が3である場合の上記リージョン別追加情報を示すことができる。また、上記
図11aの(b)は、前述したrai_corner_present_flagフィールドの値が1である場合の上記対象リージョンに対するコーナ周辺RAI領域を示すことができる。
【0204】
上記rai_typeフィールドの値が4である場合、上記RAI領域は、ビューポートプレーン(viewport plain)にprojectionされた映像に関する情報が含まれることができる。即ち、上記rai_typeフィールドの値が4である場合、上記RAI領域は、球形面上で上記対象リージョンに隣接する周辺リージョンの情報を含むことができる。ここで、上記ビューポートプレーンは、前述したビューポートイメージに対応できる。上記rai_typeフィールドの値が4である場合、上記RAI領域は、上記対象リージョンに対するビューポート拡張のために使われることができる。上記
図11aの(c)は、キュービックプロジェクションスキームが適用されたパッキングされたピクチャ内の対象リージョンに対する上記rai_typeフィールドの値が4である場合、上記対象リージョンのRAI領域に含まれる上記リージョン別追加情報を示すことができる。上記キュービックプロジェクションスキームは、CMP(Cube Map Projection)とも呼ばれる。また、上記
図11aの(c)は、前述したrai_corner_present_flagフィールドの値が1である場合の上記対象リージョンに対するコーナ周辺RAI領域を示すことができる。
【0205】
上記rai_typeフィールドの値が5である場合、上記rai_typeフィールドは、3次元空間(例えば、球形面)上で上記対象リージョンの境界に隣接する周辺リージョンの境界のRAI領域と同じリージョン別追加情報が上記対象リージョンのRAI領域に含まれることを示すことができる。ここで、上記対象リージョンの境界は、パッキングされたピクチャ上で上記対象リージョンと上記対象リージョンの上記RAI領域とが隣接する境界を示すことができ、上記3次元空間は、上記パッキングされたピクチャに適用されたプロジェクションスキームに対する3Dプロジェクション構造を示すことができる。即ち、上記対象リージョンの上記RAI領域は、直接的な情報を含まないが、上記対象リージョンの上記RAI領域の情報として3次元空間上で上記対象リージョンの境界に隣接する上記周辺リージョンの境界のRAI領域に関する情報が使われることができることを示すことができる。上記
図11bの(d)は、リージョンの境界のうちの3次元空間上で隣接する境界を例示的に示すことができる。3次元空間に上記パッキングされたピクチャをマッピングする場合、上記対象リージョンの境界と隣接する周辺リージョンは、一つとして導出されることができ、上記rai_typeフィールドのみで上記周辺リージョンのRAI領域の存在の有無のみがシグナリングされることができるが、より明確な情報として上記周辺リージョンの位置、上記周辺リージョンの上記RAI領域のサイズ及び/又は上記周辺リージョンの上記RAI領域の画質などの情報がシグナリングされることもできる。
【0206】
一方、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_dirフィールドを含むことができる。上記rai_dirフィールドは、上記対象リージョンの上記RAI領域に含まれるリージョン別追加情報が上記RAI領域と隣接する対象リージョンの境界を基準にしてどのような方向性を有する情報であるかを示すことができる。例えば、上記rai_dirフィールドは、上記RAI領域に含まれるリージョン別追加情報が、上記対象リージョンの境界を基準にして内側方向の情報であるか又は外側方向の情報であるかを示すことができる。例えば、上記rai_dirフィールドの値が0である場合、上記RAI領域に含まれるリージョン別追加情報は、上記対象リージョンの境界外側方向の情報であり、上記rai_dirフィールドの値が1である場合、上記RAI領域に含まれるリージョン別追加情報は、上記対象リージョンの境界内側方向の情報であり、上記rai_dirフィールドの値が2である場合、上記RAI領域に含まれるリージョン別追加情報は、上記対象リージョンの境界内側方向の情報及び上記対象リージョンの境界外側方向の情報を全て含むことができる。ここで、上記境界内側方向の情報は、上記対象リージョンの境界に隣接する対象リージョン内の特定領域に含まれる情報に基づいて導出された情報を示すことができ、上記境界外側方向の情報は、3次元空間上で上記対象リージョンの境界に隣接する周辺リージョン内の特定領域に含まれる情報に基づいて導出された情報を示すことができる。上記RAI領域に含まれるリージョン別追加情報が両側の情報を全て含む場合、上記対象リージョン内の特定領域と上記周辺リージョン内の特定領域とは、互いに同じサイズである。一方、上記対象リージョン内の特定領域と上記周辺リージョン内の特定領域とが互いに異なる割合で映像情報を含む上記対象リージョン内の特定領域の映像情報と上記周辺リージョン内の特定領域の映像情報との比率に関する情報が、追加でシグナリングされることができる。また、上記対象リージョン内の特定領域と上記周辺リージョン内の特定領域とが互いに異なる幅又は高さを有する場合、上記特定領域の幅又は高さに関する情報が追加でシグナリングされることができる。
【0207】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_transform_typeフィールドを含むことができる。上記rai_transformation_flagフィールドは、上記対象リージョンの上記RAI領域に対する変換情報がシグナリングされるかどうかを示すことができる。例えば、上記rai_transformation_flagフィールドの値が1である場合、上記RAI領域に対する変換情報がシグナリングされることができる。この場合、上記rai_transformation_flagフィールドは、上記RAI領域に含まれるリージョン別追加情報が上記対象リージョンの情報と異なる変換過程が実行されたことを示すことができる。また、上記rai_transformation_flagフィールドの値が1である場合、上記RAI領域に対するrai_transform_typeフィールドがシグナリングされることができ、上記rai_transform_typeフィールドは、上記RAI領域の変換情報を示すことができる。即ち、上記RAI領域に含まれる上記リージョン別追加情報がビューポートイメージ生成に使われるとき、上記rai_transform_typeで定義された変換情報に基づいて上記RAI領域が逆変換されることができ、逆変換された上記RAI領域は、上記ビューポートイメージ生成に使われることができる。上記rai_transform_typeフィールドの値が示す変換情報は、以下の表のように定義されることができる。
【0208】
【0209】
上記rai_transform_typeフィールドの値が0である場合、上記rai_transform_typeフィールドは、上記RAI領域に対する変換過程が実行されないことを示すことができる。上記rai_transform_typeフィールドの値が1である場合、上記rai_transform_typeフィールドは、上記RAI領域に水平ミラーリング(horizontal mirroring)が行われる変換過程が実行されたことを示すことができる。ここで、上記ミラーリングは、鏡に映したように中点を通過する(すぎる)垂直軸を中心にして対称的に反転されることを示すことができる。
【0210】
上記rai_transform_typeフィールドの値が2である場合、上記rai_transform_typeフィールドは、上記RAI領域に反時計方向に180度回転される変換過程が実行されたことを示すことができる。
【0211】
上記rai_transform_typeフィールドの値が3である場合、上記rai_transform_typeフィールドは、上記RAI領域に、水平ミラーリング(mirroring)が行われ、反時計方向に180度回転される変換過程が実行されたことを示すことができる。
【0212】
上記rai_transform_typeフィールドの値が4である場合、上記rai_transform_typeフィールドは、上記RAI領域に、水平ミラーリング(mirroring)が行われ、反時計方向に90度回転される変換過程が実行されたことを示すことができる。
【0213】
上記rai_transform_typeフィールドの値が5である場合、上記rai_transform_typeフィールドは、上記RAI領域に反時計方向に90度回転される変換過程が実行されたことを示すことができる。
【0214】
上記rai_transform_typeフィールドの値が6である場合、上記rai_transform_typeフィールドは、上記RAI領域に、水平ミラーリング(mirroring)が行われ、反時計方向に270度回転される変換過程が実行されたことを示すことができる。
【0215】
上記rai_transform_typeフィールドの値が7である場合、上記rai_transform_typeフィールドは、上記RAI領域に反時計方向に270度回転される変換過程が実行されたことを示すことができる。
【0216】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_hor_scaleフィールド及びrai_ver_scaleフィールドを含むことができる。上記rai_transformation_flagフィールドの値が1である場合、上記rai_hor_scaleフィールド及び上記rai_ver_scaleフィールドは、シグナリングされることができ、上記rai_hor_scaleフィールド及び上記rai_ver_scaleフィールドは、上記RAI領域に対して適用された変換過程の水平スケーリング係数及び垂直スケーリング係数を示すことができる。上記rai_hor_scaleフィールド及び上記rai_ver_scaleフィールドは、0.01単位で表すことができ、上記垂直スケーリング係数、及び上記水平スケーリング係数は、上記rai_transform_typeに基づいて導出された変換過程が適用される以前の水平及び垂直方向を示すように定義されることができる。
【0217】
また、
図9bを参照すると、上記リージョン別追加情報に関するメタデータは、rai_delta_QPフィールドを含むことができる。上記rai_delta_QPフィールドは、上記対象リージョンの量子化パラメータ(Quantization Parameter、QP)と3次元空間上で上記対象リージョンに隣接する周辺リージョンのQPとの差を示すことができる。上記対象リージョンと上記周辺リージョンとが隣接する境界に関連するRAI領域のrai_typeフィールドの値が2である場合、上記RAI領域に含まれるリージョン別追加情報は、画質変化(image quality change)を有することができる。この場合、上記画質変化の差に関する具体的な情報を伝達するために、上記rai_delta_QPフィールドが使われることができる。具体的には、上記対象リージョンと復元後に3次元空間上で隣接する周辺リージョンとが互いに異なるQPが使われて、上記対象リージョンと上記周辺リージョンとの間の画質差が発生することができ、この場合、上記対象リージョンに対する上記RAI領域は、上記対象リージョンと上記周辺リージョンとの間のQP差を緩和させる目的として漸進的にQPを変化させた映像を含むことができる。この場合、開始QP(starting QP)及び終了QP(end QP)に関する情報が各々伝達されることができ、又は上記開始QP(starting QP)と終了QP(end QP)との間の差を示す上記rai_delta_QPフィールドが伝達されることができる。
【0218】
この場合、例えば、上記対象リージョンのQPが上記開始QPに設定され、上記周辺リージョンのQPが終了QPに設定されて、上記RAI領域にQPが上記対象リージョンの境界に隣接するサンプルから漸進的に変化されることができる。この場合、上記対象リージョンの境界に隣接するRAI領域のサンプルは、上記開始QPが適用されることができ、上記対象リージョンの境界から最も遠い位置の上記RAI領域のサンプルは、上記終了QPが適用されることができる。上記rai_delta_QPフィールドが送信された場合、上記対象リージョンのQPからrai_delta_QPフィールドの値を引いた値が上記終了(種類)QP(ending QP)として導出されることができる。入力映像に対して前述したこのような場合のみが仮定される場合、上記RAI領域のrai_typeフィールドの値が2である場合、上記対象リージョンのQPを開始QPにし、上記周辺リージョンのQPを終了QPにして、上記RAI領域内の情報のQPを漸進的に変化させることが明示的に記述(説明)される(described)こともできる。
【0219】
一方、前述したQP以外の画質要素の差に関して、上記rai_delta_QPフィールドは、上記QP以外の他の画質要素に対する差を示すことができる。例えば、上記RAI領域は、上記対象リージョンのquality levelと上記周辺リージョンのquality levelとの間の差を緩和させる目的として、漸進的にquality levelを変化させた映像が含まれることができ、この場合、開始quality level及び終了quality levelに関する情報が各々伝達されることができ、又は上記開始quality levelと終了quality levelとの間の差を示す上記rai_delta_QPフィールドが伝達されることができる。ここで、上記quality levelは、相対的な画質を示す画質要素を意味する。
【0220】
また、
図9cを参照すると、上記リージョン別追加情報に関するメタデータは、num_sub_boundaries_minus1フィールドを含むことができる。例えば、上記対象リージョンの一つの境界に対して互いに異なる特性のリージョン別追加情報を含む複数のRAI領域が生成されることができる。上記複数のRAI領域は、サブRAI領域とも呼ばれる。上記num_sub_boundaries_minus1フィールドは、上記対象リージョンの境界に対する上記サブRAI領域の個数を示すことができる。例えば、上記num_sub_boundaries_minus1フィールドの値に1を加えた値が、上記境界に対する上記サブRAI領域の個数を示すことができる。
【0221】
また、
図9cを参照すると、上記リージョン別追加情報に関するメタデータは、rai_sub_lengthフィールドを含むことができる。上記対象リージョンの境界に対してサブRAI領域が生成された場合、各サブRAI領域に対するrai_sub_lengthフィールドがシグナリングされることができ、上記各サブRAI領域に対するrai_sub_lengthフィールドは、上記各サブRAI領域に対する上記対象リージョンのサブ境界の長さを示すことができる。ここで、上記サブ境界は、上記対象リージョンの境界のうちの上記各サブRAI領域が隣接する部分を示すことができる。具体的には、例えば、rai_sub_length[i][j][k]フィールドは、i番目のリージョンのj番目の境界に対するk番目のサブ境界の長さを示すことができる。また、上記対象リージョンの境界のうち、水平方向の境界の場合、左から右への順序で上記rai_sub_lengthフィールドが適用されることができ、垂直方向の境界の場合、上から下への順序で上記rai_sub_lengthフィールドが適用されることができる。
【0222】
一方、リージョン別パッキング過程に関するメタデータは、上記プロジェクションされたピクチャ上の上記対象リージョンの位置及び大きさに関する情報を含むことができ、上記パッキングされたピクチャ上の上記対象リージョンの位置及び大きさに関する情報を含むことができる。また、上記対象リージョンに対する変換情報を含むことができる。上記対象リージョンに関する情報は、以下の表の通りである。
【0223】
【0224】
ここで、projected_region_widthフィールドは、上記プロジェクションされたピクチャ上の上記対象リージョンの幅を示すことができ、projected_region_heightフィールドは、上記プロジェクションされたピクチャ上の上記対象リージョンの高さを示すことができる。また、projected_region_topフィールドは、上記プロジェクションされたピクチャ上の上記対象リージョンの左上端サンプルのy成分を示すことができ、projected_region_leftフィールドは、上記プロジェクションされたピクチャ上の上記対象リージョンの左上端サンプルのx成分を示すことができる。
【0225】
また、rai_transform_typeフィールドは、上記対象リージョンの変換情報を示すことができる。上記rai_transform_typeフィールドの値が示す変換情報は、前述の表1の通りである。具体的には、上記rai_transform_typeフィールドの値が0である場合、上記rai_transform_typeフィールドは、上記対象リージョンに対する変換過程が実行されないことを示すことができる。上記rai_transform_typeフィールドの値が1である場合、上記rai_transform_typeフィールドは、上記対象リージョンに水平ミラーリング(mirroring)が行われる変換過程が実行されたことを示すことができる。ここで、上記ミラーリングは、鏡に映したように中点を通過する垂直軸を中心にして対称的に反転されることを示すことができる。
【0226】
上記rai_transform_typeフィールドの値が2である場合、上記rai_transform_typeフィールドは、上記対象リージョンに反時計方向に180度回転される変換過程が実行されたことを示すことができる。
【0227】
上記rai_transform_typeフィールドの値が3である場合、上記rai_transform_typeフィールドは、上記対象リージョンに、水平ミラーリング(mirroring)が行われ、反時計方向に180度回転される変換過程が実行されたことを示すことができる。
【0228】
上記rai_transform_typeフィールドの値が4である場合、上記rai_transform_typeフィールドは、上記対象リージョンに、水平ミラーリング(mirroring)が行われ、反時計方向に90度回転される変換過程が実行されたことを示すことができる。
【0229】
上記rai_transform_typeフィールドの値が5である場合、上記rai_transform_typeフィールドは、上記対象リージョンに反時計方向に90度回転される変換過程が実行されたことを示すことができる。
【0230】
上記rai_transform_typeフィールドの値が6である場合、上記rai_transform_typeフィールドは、上記対象リージョンに、水平ミラーリング(mirroring)が行われ、反時計方向に270度回転される変換過程が実行されたことを示すことができる。
【0231】
上記rai_transform_typeフィールドの値が7である場合、上記rai_transform_typeフィールドは、上記対象リージョンに反時計方向に270度回転される変換過程が実行されたことを示すことができる。
【0232】
また、packed_region_widthフィールドは、上記パッキングされたピクチャ上における上記対象リージョンの幅を示すことができ、packed_region_heightフィールドは、上記パッキングされたピクチャ上における上記対象リージョンの高さを示すことができる。また、packed_region_topフィールドは、上記パッキングされたピクチャ上における上記対象リージョンの左上端サンプルのy成分を示すことができ、packed_region_leftフィールドは、上記パッキングされたピクチャ上における上記対象リージョンの左上端サンプルのx成分を示すことができる。
【0233】
一方、上記対象リージョンのRAI領域が互いに異なるタイプのリージョン別追加情報を含む場合のパッキングされたピクチャは、下記の通りである。
【0234】
図12は、ERPが適用されパッキングされたピクチャのリージョンに対するRAI領域の一例を示す。
図12の(a)を参照すると、上記ERPに基づいてプロジェクションされたピクチャは、qualityによって複数のリージョンに分けてコーディングされることができる。即ち、上記プロジェクションされたピクチャは、qualityが異なる複数のリージョンにパッキングされたピクチャとして導出されることができる。例えば、上記パッキングされたピクチャの中心リージョン(M)、トップ(上側)リージョン(T)及びボトム(下側)リージョン(B)が、主要部分と仮定されて高画質(High Quality、HQ)に指定されることができ、上記リージョンを除いた残りの左側リージョン(L)及び右側リージョン(R)は、低画質(Low Quality、LQ)に指定されることができる。上記パッキングされたピクチャの各リージョンに関する情報は、MCTSなどの技術に基づいて別個のストリームで送信されることができる。また、タイリング(Tiling)に基づいて上記各リージョンが別個の領域にエンコードされることができ、360度ビデオ受信装置は、上記リージョンのうちの必要なリージョンのみを選別的にデコードできるため、これによってコーディング効率をより向上させることができる。しかしながら、上記HQに指定されたリージョン及び上記LQに指定されたリージョンが共に表示される場合、上記LQに指定されたリージョンと上記HQに指定されたリージョンとが接した部分で意図しない境界現象が現れることができる。したがって、上記境界現象を減らすために、
図12の(b)に示すように、上記各リージョンの特性によって導出されたリージョン別追加情報(Region-wise Auxiliary Information、RAI)が伝達されることができる。上記各リージョンに対するリージョン別追加情報は、他のリージョンのリージョン別追加情報と異なることがある。
【0235】
図12の(b)を参照すると、上記各リージョンに対する上記リージョン別追加情報を含むRAI領域が導出されることができる。
図12の(b)に示す上記RAI領域の数字は、上記RAI領域に含まれるリージョン別追加情報のタイプを示すことができる。即ち、上記リージョン別追加情報を含む上記RAI領域の各々に対して前述したrai_typeフィールドがシグナリングされることができ、上記RAI領域の各々に対する数字は、上記rai_typeフィールドの値を示すことができる。上記rai_typeフィールドの値が2である場合、前述した内容のように上記rai_typeフィールドに対するRAI領域は、上記対象リージョンの境界と隣接する上記対象リージョン内の特定領域の情報を含み、上記特定領域の情報は、漸進的な画質変化を有することができる。また、上記rai_typeフィールドの値が3である場合、前述した内容のように上記rai_typeフィールドに対するRAI領域は、上記対象リージョンの境界と隣接する上記対象リージョン内の特定領域の情報をそのまま含むことができる。
【0236】
図12の(b)を参照すると、上記パッキングされたピクチャの中心リージョンに隣接する互いに異なるタイプのリージョン別追加情報を含むRAI領域が存在できる。この場合、上記中心リージョンに対するrai_equal_type_flagフィールドの値は、0である。また、上記中心リージョンに隣接する上記RAI領域は、ビューポート生成に使われることができ、この場合、上記中心リージョンに対するrai_present_flagフィールドの値は、1として現れることができる。また、RAI領域及び中心リージョンを含む部分のコーナ部分(
図12の(b)の対角線で表示された部分)、即ち、上記中心リージョンのコーナ周辺領域に上記中心リージョンに対するリージョン別追加情報が存在できる。この場合、上記中心リージョンに対するrai_corner_present_flagフィールドの値は、1で表すことができる。また、上記コーナ周辺領域に含まれる上記リージョン別追加情報は、ビューポート生成に使われることができる。
【0237】
また、
図12の(b)を参照すると、上記中心リージョンと上記左側リージョンとの間のRAI領域は、HQからLQへ画質が漸進的に変わるリージョン別追加情報を含むことができる。この場合、上記RAI領域がどのリージョンに対するRAI領域であるかに基づいて上記RAI領域の上記リージョン別追加情報がどのような方向性を有する情報であるかを示すことができる。即ち、上記RAI領域が属するリージョンによって上記リージョン別追加情報の方向性は、内側方向又は外側方向に導出されることができる。
【0238】
例えば、上記RAI領域が中心リージョンに対するRAI領域である場合、上記中心リージョンの左側境界から外側方向へ行く(進む)リージョン別追加情報が含まれると導出されることができる。即ち、上記RAI領域の上記リージョン別追加情報は、外側方向の方向性を有する情報で表すことができる。この場合、上記RAI領域に対するrai_dirフィールドの値は、0で表されることができる。
【0239】
また、他の例として、上記RAI領域が左側リージョンに対するRAI領域である場合、上記左側リージョンの右側境界から内側方向へ入るリージョン別追加情報が含まれると導出されることができる。即ち、上記RAI領域の上記リージョン別追加情報は、内側方向の方向性を有する情報で表すことができる。この場合、上記RAI領域に対するrai_dirフィールドは、1で表すことができる。
【0240】
また、
図12の(b)を参照すると、トップリージョンと上記左側リージョンとが隣接するRAI領域、上記トップリージョンと上記中心リージョンとが隣接するRAI領域、上記トップリージョンと上記右側リージョンとが隣接するRAI領域が、上記トップリージョンに対するRAI領域である。この場合、上記トップリージョンの下側境界に対して互いに異なるタイプの3個のリージョン別追加情報が導出されることができる。この場合、上記トップリージョンの上記下側境界に対する上記RAI領域の各々のrai_typeフィールドに基づいてサブ境界が設定されることができ、上記RAI領域の各々に対して互いに異なる情報がシグナリングされることができる。具体的には、例えば、上記下側境界に対するサブ境界は、5個導出されることができ、各サブ境界に対するRAI領域のrai_typeフィールドは、左から右への順序に2、0、3、0、2の値でシグナリングされることができる。
【0241】
一方、上記対象リージョンのRAI領域を含むERPが適用されたパッキングされたピクチャは、下記のような多様な形態で導出されることができる。
【0242】
図13は、上記RAI領域を含むERPが適用されたパッキングされたピクチャの一例を示す。
図13の(a)は、上記ERPが360度ビデオに対するプロジェクションタイプに適用される場合、上記ERPを介してプロジェクションされたピクチャを上記パッキングされたピクチャとして導出する方法で各ステップにおけるピクチャを示す。上記360度ビデオデータは、上記ERPを介してプロジェクションされることができ、プロジェクションされた後、上記プロジェクションされたピクチャに対するRAI領域が生成されることができる。
図13の(a)に示すように、上記プロジェクションされたピクチャの右側境界に隣接するRAI領域が生成されることができ、上記RAI領域は、上記プロジェクションされたピクチャの左側領域に基づいて生成されることができる。その後、上記RAI領域を含むプロジェクションされたピクチャに対するリージョン別パッキング過程が実行されることができる。具体的には、
図13の(a)に示すように、上記リージョン別パッキング過程を介してトップリージョン(Top)、ボトムリージョン(Bottom)、及びサイドリージョン(Side)がパッキングされたピクチャの位置に再配列されることができる。この場合、上記プロジェクションされたピクチャ内で水平(horizontally)ダウンサンプリングされた(down-sampled)上記トップリージョン及びボトムリージョンは、上記パッキングされたピクチャ内では上記サイドリージョンの上側に位置できる。また、上記リージョン別パッキング過程で、上記パッキングされたピクチャ内の各々のリージョンのRAI領域は、上記RAI領域と対応する領域の変換(transformation)によって変換されることができる。
【0243】
また、
図13の(b)は、上記ERPを介してプロジェクションされたピクチャを上記パッキングされたピクチャに導出する方法の他の実施例を示す。
図13の(b)に示すように、上記プロジェクションされたピクチャの右側境界に隣接するRAI領域及び左側境界に隣接するRAI領域が生成されることができ、上記RAI領域を含むプロジェクションされたピクチャに対するリージョン別パッキング過程が実行されることができる。具体的には、
図13の(b)に示すように、上記リージョン別パッキング過程を介して、上記プロジェクションされたピクチャのリージョンは、再配列されることができ、上記プロジェクションされたピクチャに対するパッキングされたピクチャが導出されることができる。
【0244】
また、
図13の(c)は、上記ERPを介してプロジェクションされたピクチャを上記パッキングされたピクチャに導出する方法の他の実施例を示す。
図13の(c)を参照すると、上記プロジェクションされたピクチャのトップリージョン、ボトムリージョン、及びサイドリージョンの左側境界及び右側境界に隣接するRAI領域が生成されることができる。また、上記リージョン別パッキング過程を介して上記プロジェクションされたピクチャのリージョン及び上記RAI領域が再配列されることができる。一方、
図13の(c)を参照すると、上記RAI領域の変換は、RAI領域毎に異なるように適用されることができる。例えば、上記トップリージョン及び上記ボトムリージョンに対するRAI領域の変換は、上記RAI領域の各々が対応するリージョンの変換から独立して実行されることができる。具体的には、例えば、上記RAI領域は、1/2の水平ダウンスケーリング(horizontal down-scaling)が適用されずに、1/4の水平ダウンスケーリング(horizontal down-scaling)が適用されることができる。これによって、
図13の(c)に示すように、上記RAI領域は、上記パッキングされたピクチャでより大きいサイズの領域に位置できる。また、サイドリージョンに対するRAI領域のうち上側境界に隣接するRAI領域及び下側境界に隣接するRAI領域は、リージョン間の画質差を減らすために漸進的な画質変化を有することができる。この場合、上記サイドリージョンに対するRAI領域のうちの左側境界に隣接するRAI領域及び右側境界に隣接するRAI領域に対するrai_typeフィールドの値は、上記サイドリージョン内の特定領域の情報をそのまま含むことを示すために、3に設定されることができる。また、上記サイドリージョンに対するRAI領域のうちの上側境界に隣接するRAI領域及び下側境界に隣接するRAI領域に対するrai_typeフィールドの値は、漸進的な画質変化を有することを示すために、2に設定されることができる。したがって、上記サイドリージョンの境界に対応するRAI領域は、互いに異なるタイプに生成されることができる。サイドリージョンに対して互いに異なるタイプのRAI領域が生成される場合、上記左側境界に隣接するRAI領域及び上記右側境界に隣接するRAI領域を介してリージョン間の境界が現れることを消えるようにすることができ、上記上側境界に隣接するRAI領域及び上記下側境界に隣接するRAI領域を介して高い画質のリージョンから低い画質のリージョンへスムーズに転換されるようにすることができる。
【0245】
一方、前述したように、上記パッキングされたピクチャ内のi番目のリージョンに対する互いに異なるタイプのRAI領域が生成される場合、上記RAI領域に含まれるイメージコンテンツ、即ち、360度ビデオデータは、上記パッキングされたピクチャに対するプロジェクションされたピクチャ内のi番目のリージョンに隣接する領域から導出されることができる。上記プロジェクションされたピクチャ内の上記i番目のリージョンに隣接する上記領域は、対応領域と示すことができ、上記プロジェクションされたピクチャは、ソースピクチャ(source picture)と示すことができる。上記RAI領域の上記対応領域に関する情報を含むシンタックス要素は、以下の表のように導出されることができる。
【0246】
【0247】
ここで、gb_source_width[i]は、パッキングされたピクチャ内のi番目のリージョンのRAI領域と対応するソースピクチャの対応領域の幅を示すことができ、gb_source_height[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記ソースピクチャの上記対応領域の高さを示すことができ、gb_source_top[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記対応領域の左上端サンプルのy成分を示すことができ、gb_source_left[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記対応領域の上記左上端サンプルのx成分を示すことができる。
【0248】
また、上記RAI領域の上記対応領域に関する情報を含むシンタックス要素は、以下の表のように導出されることもできる。
【0249】
【0250】
ここで、gb_source_type[i]は、上記RAI領域のソースピクチャを示すことができる。即ち、上記RAI領域は、前述したように上記プロジェクションされたピクチャ内の対応領域から導出されることができるが、上記パッキングされたピクチャ内の対応領域から導出されることもできる。例えば、上記gb_source_type[i]の値が1である場合、上記gb_source_type[i]は、上記プロジェクションされたピクチャが上記ソースピクチャであることを示すことができ、上記gb_source_type[i]の値が2である場合、上記gb_source_type[i]は、上記パッキングされたピクチャが上記ソースピクチャであることを示すことができる。また、guard_band_src_flag[i]は、上記対応領域に関する情報がシグナリングされるかどうかを示すことができる。例えば、上記guard_band_src_flag[i]の値が1である場合、上記対応領域に関する情報を示すgb_source_width[i]、gb_source_height[i]、gb_source_top[i]及びgb_source_left[i]がシグナリングされることができ、上記guard_band_src_flag[i]の値が0である場合、上記対応領域に関する情報は、シグナリングされない。この場合、上記RAI領域の360度ビデオデータは、上記プロジェクションされたピクチャ内の上記i番目のリージョンと隣接するリージョンから導出されることができ、上記RAI領域は、上記パッキングされたピクチャ内の上記i番目のリージョンのような変換が適用されることができる。
【0251】
また、gb_source_width[i]は、パッキングされたピクチャ内のi番目のリージョンのRAI領域と対応するソースピクチャの対応領域の幅を示すことができ、gb_source_height[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記ソースピクチャの上記対応領域の高さを示すことができ、gb_source_top[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記対応領域の左上端サンプルのy成分を示すことができ、gb_source_left[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記対応領域の上記左上端サンプルのx成分を示すことができる。また、gb_transform_type[i]は、前述した内容のように上記RAI領域の変換情報を示すことができる。
【0252】
また、上記RAI領域の上記対応領域に関する情報を含むシンタックス要素は、以下の表のように導出されることもできる。
【0253】
【0254】
ここで、gb_src_proj_pic_flag[i]は、上記RAI領域のソースピクチャを示すことができる。例えば、上記gb_source_type[i]の値が1である場合、上記gb_source_type[i]は、上記プロジェクションされたピクチャが上記ソースピクチャであることを示すことができ、上記gb_source_type[i]の値が0である場合、上記gb_source_type[i]は、上記パッキングされたピクチャが上記ソースピクチャであることを示すことができる。
【0255】
また、gb_types_different_flag[i]は、上記i番目のリージョンに対する上側境界に隣接するRAI領域、下側境界に隣接するRAI領域、左側境界に隣接するRAI領域、及び右側境界に隣接するRAI領域が互いに異なるRAI領域タイプを有することを示すことができる。例えば、上記gb_types_different_flag[i]値が1である場合、上記i番目のリージョンに対するRAI領域は、互いに異なるRAI領域タイプのRAI領域であり、上記gb_types_different_flag[i]値が0である場合、上記i番目のリージョンに対する上記RAI領域は、同じRAI領域タイプのRAI領域である。
【0256】
また、gb_independent_transform_flag[i]は、上記i番目のリージョンに対する上記RAI領域が上記i番目のリージョンの変換(transformation)と異なる変換が適用されるかどうかを示すことができる。例えば、上記gb_independent_transform_flag[i]の値が1である場合、上記RAI領域は、上記i番目のリージョンの変換(transformation)と異なる変換を介して生成されることができ、上記gb_independent_transform_flag[i]の値が0である場合、上記RAI領域は、上記i番目のリージョンの変換(transformation)と同じ変換を介して生成されることができる。
【0257】
また、gb_transform_type[i]は、前述した内容のように上記RAI領域の変換情報を示すことができる。また、gb_source_width[i]は、パッキングされたピクチャ内のi番目のリージョンのRAI領域と対応するソースピクチャの対応領域の幅を示すことができ、gb_source_height[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記ソースピクチャの上記対応領域の高さを示すことができ、gb_source_top[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記対応領域の左上端サンプルのy成分を示すことができ、gb_source_left[i]は、上記パッキングされたピクチャ内の上記i番目のリージョンの上記RAI領域と対応する上記対応領域の上記左上端サンプルのx成分を示すことができる。
【0258】
一方、前述したリージョン別パッキング過程を介して導出された上記パッキングされたピクチャは、ユーザの最終的な表示(最終ディスプレイ)として使われることができる。しかしながら、前述した内容のように上記パッキングされたピクチャ内のリージョンは、互いに異なるクォリティのデータが含まれることができ、それによって、ユーザは、不便感(inconvenience)を感じることができる。したがって、後述する内容のようにポストプロセッシングが適用されることができる。
【0259】
図14は、上記ポストプロセッシングを介して上記パッキングされたピクチャ内のリージョン間のクォリティの差を補正する一例を示す。
図14の(a)及び(b)に示すように、上記パッキングされたピクチャ内のリージョンは、互いに異なるクォリティのデータを含むことができる。したがって、ユーザの不便感を最小にする方法として、上記リージョン間のクォリティの差を補正するポストプロセッシング(post processing)が必要であり、例えば、上記パッキングされたピクチャの上記リージョンに対してSpatial enhancement filterが適用されることができる。従来の360度ビデオに関するメタデータは、上記リージョンの各々の相対的なクォリティレベル(quality level)に関する情報を含むが、上記情報のみでは上記ポストプロセッシングを実行し難い。したがって、上記ポストプロセッシングのための追加的な情報が送信されることができる。上記追加的な情報に対するシンタックスを含むボックス(box)は、以下の表のように導出されることができる。上記ボックスは、2DRegionQualityRankingBoxと示すことができる。
【0260】
【0261】
ここで、quality_ranking及びview_idcは、SphereRegionQualityRankingBoxにおけるquality_ranking及びview_idcシンタックス要素と同じように指定されることができる。また、num_regionsは、2DRegionQualityRankingBoxに含まれるクォリティランキング情報(quality ranking information)が与えられて品質順位情報に対するクォリティランキング2Dリージョン(quality ranking 2D regions)の個数を示すことができる。ここで、デコードされたピクチャのサンプルが上記クォリティランキング2Dリージョンのうちの二つ以上に含まれてはならない。
【0262】
また、remaining_area_flagの値が0である場合、上記クォリティランキング2Dリージョンは、left_offset、top_offset、region_width及びregion_heightに基づいて定義されることができ、上記remaining_area_flagの値が1である場合、1番目のクォリティランキング2Dリージョン乃至num_regions-1番目のクォリティランキング2Dリージョンは、left_offset、top_offset、region_width及びregion_heightに基づいて定義され、最後に残ったクォリティランキング2Dリージョンは、上記1番目のクォリティランキング2Dリージョン乃至上記num_regions-1番目のクォリティランキング2Dリージョンのリージョンを除いた領域のうち、幅及び高さがVisual Sample Entryの幅及び高さと同じ領域に定義されることができる。
【0263】
また、left_offset、top_offset、region_width及びregion_heightは、上記クォリティランキング2Dリージョンの位置及び大きさを示すことができる。具体的には、上記left_offset及び上記top_offsetは、ビジュアルプレゼンテーション(visual presentation)サイズ内のピクチャ上で上記クォリティランキング2Dリージョンの左上端サンプルのx成分及びy成分を示すことができる。また、上記region_width及び上記region_heightは、上記ビジュアルプレゼンテーションサイズ内の上記ピクチャ上で上記クォリティランキング2Dリージョンの幅及び高さを示すことができる。この場合、上記left_offsetに上記region_widthを加えた値は、TrackHeaderBoxの幅より小さく、上記top_offsetに上記region_heightを加えた値は、上記TrackHeaderBoxの高さより小さい。また、上記region_widthの値は、0より大きく、上記region_heightの値は、0より大きい。
【0264】
また、num_quality_description_typesは、上記クォリティランキング2Dリージョンに対するクォリティディスクリプション(quality description)タイプ及び詳細事項(detail)を示すquality_description_typeの数を示すことができる。例えば、上記num_quality_description_typesの値が0より大きい場合、クォリティランキングに関する詳細情報(detailed information)は、quality_description_type及びquality_description_paramに基づいて導出されることができる。上記quality_description_type及び上記quality_description_paramは、ビューポート内のリージョン間のクォリティの差で発生するアーチファクト(artefact)又は不便感を減らすためにレンダリング過程で使われることができる。上記quality_description_typeは、上記クォリティランキング2Dリージョンを生成するときに適用されたクォリティ要素(quality factor)を示すことができる。例えば、上記quality_description_typeの値が1である場合、上記quality_description_typeは、上記クォリティランキング2Dリージョンにspatial scalingが適用されることを示すことができ、上記quality_description_typeの値が2である場合、上記クォリティランキング2Dリージョンに量子化(quantization)過程が適用されることを示すことができる。また、num_paramは、quality_description_typeと関連するクォリティの差を示すパラメータ(parameters)の個数を示すことができる。例えば、上記quality_description_typeの値が1である場合、上記num_paramの値は、2として導出されることができ、上記quality_description_typeの値が2である場合、上記num_paramの値は、1として導出されることができる。上記quality_description_paramは、上記パラメータの値を示すことができる。例えば、上記quality_description_typeの値が1である場合、quality_description_param[i][j][0]は、水平スケーリングファクタ(horizontal scaling factor)を示すことができ、quality_description_param[i][j][1]は、垂直スケーリングファクタ(vertical scaling factor)を示すことができる。上記水平スケーリングファクタ及び上記垂直スケーリングファクタは、(quality_description_param[i][j][k]+1)/64で計算されることができ、上記水平スケーリングファクタ及び上記垂直スケーリングファクタの範囲は、1/64乃至4である。また、他の例として、上記quality_description_typeの値が2である場合、quality_description_param[i][j][0]は、エンコーディング過程で適用された上記クォリティランキング2Dリージョンの量子化パラメータ(Quantization Parameter、QP)を示すことができる。
【0265】
一方、上記リージョン別追加情報に関する360度ビデオに関するメタデータを伝達するために、RegionWiseAuxiliaryInformationSEIBoxが新しく定義されることができる。上記RegionWiseAuxiliaryInformationSEIBoxは、前述したリージョン別追加情報に関するメタデータを含むSEI NALユニットを含むことができる。上記SEI NALユニットは、リージョン別追加情報に関するメタデータを含むSEIメッセージを含むことができる。上記RegionWiseAuxiliaryInformationSEIBoxは、VisualSampleEntry、AVCSampleEntry、MVCSampleEntry、SVCSampleEntry、HEVCSampleEntryなどに含まれて伝達されることができる。
【0266】
図15は、上記VisualSampleEntry又は上記HEVCSampleEntryなどに含まれて送信される上記RegionWiseAuxiliaryInformationSEIBoxに関して例示的に示す。
図15の(a)を参照すると、上記RegionWiseAuxiliaryInformationSEIBoxは、regionwiseauxiliaryinformationseiフィールドを含むことができる。上記regionwiseauxiliaryinformationseiフィールドは、前述したリージョン別追加情報に関するメタデータを含むSEI NALユニットを含むことができる。上記メタデータは、前述の通りである。上記regionwiseauxiliaryinformationseiフィールドは、rai_seiフィールドと示すこともできる。
【0267】
また、上記RegionWiseAuxiliaryInformationSEIBoxは、VisualSampleEntry、AVCSampleEntry、MVCSampleEntry、SVCSampleEntry、HEVCSampleEntryなどに含まれて伝達されることができる。
【0268】
例えば、
図15の(b)を参照すると、上記RegionWiseAuxiliaryInformationSEIBoxは、上記VisualSampleEntryに含まれて送信されることができる。上記VisualSampleEntryは、上記RegionWiseAuxiliaryInformationSEIBoxの適用が可能か否かを示すrai_seiフィールドを含むことができる。上記rai_seiフィールドは、上記RegionWiseAuxiliaryInformationSEIBoxが上記VisualSampleEntryに適用されることを示す場合、上記RegionWiseAuxiliaryInformationSEIBoxに含まれる上記リージョン別追加情報に関するメタデータは、上記VisualSampleEntryにそのままコピー(copy)されて適用されることができる。
【0269】
また、例えば、
図15の(c)を参照すると、上記RegionWiseAuxiliaryInformationSEIBoxは、上記HEVCSampleEntryのHEVCDecoderConfigurationRecordに含まれて送信されることができる。上記HEVCSampleEntryのHEVCDecoderConfigurationRecordは、上記RegionWiseAuxiliaryInformationSEIBoxの適用が可能か否かを示すrai_seiフィールドを含むことができる。上記rai_seiフィールドが、上記RegionWiseAuxiliaryInformationSEIBoxが上記HEVCDecoderConfigurationRecordに適用されることを示す場合、上記RegionWiseAuxiliaryInformationSEIBoxに含まれる上記リージョン別追加情報に関するメタデータは、上記HEVCDecoderConfigurationRecordにそのままコピー(copy)されて適用されることができる。
【0270】
また、例えば、
図15の(d)を参照すると、上記RegionWiseAuxiliaryInformationSEIBoxは、上記HEVCSampleEntryに含まれて送信されることができる。上記HEVCSampleEntryは、上記RegionWiseAuxiliaryInformationSEIBoxの適用が可能か否かを示すrai_seiフィールドを含むことができる。上記rai_seiフィールドが、上記RegionWiseAuxiliaryInformationSEIBoxが上記HEVCSampleEntryに適用されることを示す場合、上記RegionWiseAuxiliaryInformationSEIBoxに含まれる上記リージョン別追加情報に関するメタデータは、上記HEVCSampleEntryにそのままコピー(copy)されて適用されることができる。
【0271】
一方、上記RegionWiseAuxiliaryInformationSEIBoxは、上記提案した前述した対象リージョンに対するリージョン別追加情報を含む映像のSEI(Supplemental Enhancement Information)又はVUI(Video Usability Information)を含むことができる。これによって、ファイルフォーマット(file format)を介して伝達されるビデオフレームの各リージョン毎に他のリージョン別追加情報がシグナリングされることができる。
【0272】
例えば、ISOBMFF(ISO Base Media File Format)などに基づいてビデオが記憶されることができ、ビデオトラック(又は、ビットストリーム)、サンプル、又はサンプルグループなどと関連するリージョン別追加情報に関するメタデータが記憶及びシグナリングされることができる。具体的には、visual sample entryなどのfile format上に上記リージョン別追加情報に関するメタデータが含まれて記憶されることができる。また、他の形態のファイルフォーマット、例えば、Common file formatなどにも上記リージョン別追加情報に関するメタデータが含まれて適用されることができる。一つのファイル内のビデオに対するビデオトラック又はサンプルなどと関連する上記リージョン別追加情報に関するメタデータは、下記のようなボックス(box)形態などで記憶されることができる。
【0273】
図16a乃至
図16cは、本発明の一実施例によるRegionWiseAuxiliaryInformationStructクラスを示す。
【0274】
上記RegionWiseAuxiliaryInformationStructクラスは、num_regions_minus1フィールド、target_picture_widthフィールド及びtarget_picture_heightフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0275】
また、上記RegionWiseAuxiliaryInformationStructクラスは、パッキングされたピクチャのリージョンに対するregion_wise_auxiliary_information_present_flagフィールド及びpacking_typeフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0276】
上記パッキングされたピクチャのリージョンに対するregion_wise_auxiliary_information_present_flagフィールドの値が1である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記リージョンのRAI領域に対するrai_widthフィールド及びrai_heightフィールドを含むことができ、上記フィールドに対する定義は、前述の通りである。また、上記リージョンに対するrai_not_used_for_pred_flagフィールド、rai_equal_type_flagフィールド、rai_transformation_flagフィールド、rai_corner_present_flagフィールド、rai_extended_coverage_flagフィールド、及びrai_presentation_flagフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0277】
また、rai_equal_type_flagフィールドの値が1である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記リージョンのRAI領域に対するrai_typeフィールド及びrai_dirフィールドを含むことができる。また、上記rai_transformation_flagフィールドの値が1である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記リージョンの上記RAI領域に対するrai_transform_typeフィールド、rai_hor_scaleフィールド及びrai_ver_scaleフィールドを含むことができる。また、上記リージョンのRAI領域に対するrai_typeフィールドの値が2である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記RAI領域に対するrai_delta_QPフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0278】
また、rai_equal_type_flagフィールドの値が1でない場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記リージョンの境界に対するnum_sub_boundaries_minus1フィールドを含むことができる。また、上記RegionWiseAuxiliaryInformationStructクラスは、上記境界に隣接するサブRAI領域に対するrai_sub_lengthフィールド、rai_typeフィールド及びrai_dirフィールドを含むことができる。また、上記rai_transformation_flagフィールドの値が1である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記サブRAI領域の各々に対するrai_transform_typeフィールド、rai_hor_scaleフィールド及びrai_ver_scaleフィールドを含むことができる。また、上記サブRAI領域の各々に対するrai_typeフィールドの値が2である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記サブRAI領域の各々に対するrai_delta_QPフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0279】
また、上記rai_corner_present_flagフィールドの値が1である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記リージョンのコーナ周辺RAI領域に対するrai_typeフィールド及びrai_dirフィールドを含むことができる。また、上記rai_transformation_flagフィールドの値が1である場合、上記RegionWiseAuxiliaryInformationStructクラスは、上記コーナ周辺RAI領域に対するrai_transform_typeフィールド、rai_hor_scaleフィールド及びrai_ver_scaleフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0280】
また、上記rai_corner_present_flagフィールドの値が1である場合、上記RegionWiseAuxiliaryInformationStructクラスは、ExtendedCoverageInformationクラスを含むことができる。上記ExtendedCoverageInformationクラスは、
図17に示す通りである。
【0281】
図17は、本発明の一実施例による上記ExtendedCoverageInformationクラスを示す。
図17を参照すると、上記ExtendedCoverageInformationクラスは、上記パッキングされたピクチャのリージョン及び上記リージョンに対するRAI領域を含む拡張領域に関する情報を含むことができる。例えば、上記ExtendedCoverageInformationクラスは、上記拡張領域に対するcenter_yawフィールド、center_pitchフィールド、center_rollフィールド、hor_rangeフィールド及びver_rangeフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0282】
また、一つのファイル内のビデオに対するビデオトラック又はサンプルなどと関連する上記リージョン別パッキング過程に関するメタデータは、下記のようなボックス(box)形態などで記憶されることができる。
【0283】
図18は、本発明の一実施例によるRectRegionPackingクラスを示す。
図18を参照すると、上記RectRegionPackingクラスは、上記パッキングされたピクチャ内のリージョンのリージョン別パッキング過程に関するメタデータを含むことができる。例えば、RectRegionPackingクラスは、上記リージョンに対するproj_reg_widthフィールド、proj_reg_heightフィールド、proj_reg_topフィールド、proj_reg_leftフィールド、transform_typeフィールド、packed_reg_widthフィールド、packed_reg_heightフィールド、packed_reg_topフィールド、及びpacked_reg_leftフィールドを含むことができる。上記フィールドに対する定義は、前述の通りである。
【0284】
一方、上記RegionWiseAuxiliaryInformationStruct(rwai)クラスは、VisualSampleEntry、AVCSampleEntry、MVCSampleEntry、SVCSampleEntry又はHEVCSampleEntryなどに含まれることができる。
【0285】
図19は、上記VisualSampleEntry又は上記HEVCSampleEntryなどに含まれて送信される上記RegionWiseAuxiliaryInformationStructクラスに関して例示的に示す。
図19の(a)を参照すると、上記RegionWiseAuxiliaryInformationStructクラスは、上記VisualSampleEntryに含まれて送信されることができる。この場合、上記OMVInformationSEIBoxに含まれる上記リージョン別追加情報に関するメタデータは、上記VisualSampleEntryにそのままコピー(copy)されて適用されることができる。
【0286】
また、例えば、
図19の(b)を参照すると、上記RegionWiseAuxiliaryInformationStructクラスは、上記HEVCSampleEntryのHEVCDecoderConfigurationRecordに含まれて送信されることができる。この場合、上記RegionWiseAuxiliaryInformationStructクラスに含まれる上記リージョン別追加情報に関するメタデータは、上記HEVCDecoderConfigurationRecordにそのままコピー(copy)されて適用されることができる。
【0287】
また、例えば、
図19の(c)を参照すると、上記RegionWiseAuxiliaryInformationStructクラスは、上記HEVCSampleEntryに含まれて送信されることができる。この場合、上記RegionWiseAuxiliaryInformationStructクラスに含まれる上記リージョン別追加情報に関するメタデータは、上記HEVCSampleEntryにそのままコピー(copy)されて適用されることができる。
【0288】
一方、上記RegionWiseAuxiliaryInformationStruct(rwai)クラスは、タイムド(時限)メタデータ(timed metadata)として定義されることができる。上記タイムドメタデータは、時間の変化によって値が変化するメタデータとして定義されることができる。
【0289】
図20は、上記RegionWiseAuxiliaryInformationStructクラスを上記タイムドメタデータとして定義する一例を示す。上記リージョン別追加情報が360度ビデオデータに対するサンプル全体に同じく(identically)適用される場合、
図20の(a)に示すように、タイムドメタデータトラック(timed metadata track)のMetadataSampleEntry又はヘッダ(例えば、moov又はmoof等)に上記RegionWiseAuxiliaryInformationStructクラスが含まれることができる。上記RegionWiseAuxiliaryInformationStructクラスに含まれるリージョン別追加情報に関するメタデータのフィールドに対する定義は、前述の通りであり、上記フィールドは、mdat内の全てのメタデータサンプルに適用されることができる。
【0290】
一方、上記リージョン別追加情報が360度ビデオデータに対するサンプルに異なるように適用される場合、
図20の(b)に示すように、RegionWiseAuxiliaryInformationSampleボックスに上記RegionWiseAuxiliaryInformationStructクラスが含まれることができる。一方、この場合にも、ファイルフォーマット(file format)内のビデオシーケンス(video sequence)全体に対する上記リージョン別追加情報が伝達されることができる。この場合、上記
図20の(a)に示すように、上記タイムドメタデータトラックの上記MetadataSampleEntryに上記ビデオシーケンス全体に対する上記リージョン別追加情報が含まれることができ、上記RegionWiseAuxiliaryInformationStructクラスのフィールドが上記ビデオシーケンス全体に対する上記リージョン別追加情報を示すように意味が拡張されることができる。例えば、上記RegionWiseAuxiliaryInformationStructクラスのregion_wise_auxiliary_information_present_flagフィールド、rai_not_used_for_pred_flagフィールド、rai_equal_type_flagフィールド、rai_transformation_flagフィールド、rai_corner_present_flagフィールド、rai_extended_coverage_flagフィールド及びrai_presentation_flagフィールドは、上記ビデオシーケンス内に各機能が使われるかどうかを知らせる意味に拡張されることができる。また、上記RegionWiseAuxiliaryInformationStructクラスのrai_widthフィールド、rai_heightフィールド、rai_hor_scaleフィールド、rai_ver_scaleフィールドに対する最大、最小値に関する情報を示すフィールドを追加することによって、上記ビデオシーケンス内に各値に対する範囲を示すように意味を拡張することができる。また、上記RegionWiseAuxiliaryInformationStructクラスのnum_regions_minus1フィールド及びnum_sub_boundaries_minus1フィールドは、上記ビデオシーケンス内における各ピクチャ及び各リージョンについて、サブ境界の数の最大、最小値に関する情報を示すフィールドを追加的にシグナリングすることによって、意味が拡張されることができる。また、上記RegionWiseAuxiliaryInformationStructクラスのpacking_typeフィールド、rai_typeフィールド、rai_dirフィールド、rai_transform_typeフィールド及びrai_delta_QPフィールドについては、上記ビデオシーケンス内で使われるRAI領域の種類、方向、変換情報が全て羅列されるようにシグナリングすることで、意味が拡張されることができる。また、上記RegionWiseAuxiliaryInformationStructクラスのnum_sub_boundaries_minus1フィールド、rai_typeフィールド、rai_dirフィールド、rai_transform_typeフィールド、rai_delta_QPフィールドについては、各面(surface)に対する範囲又は使われたことを羅列するように細分化して知らせるように意味が拡張されることができる。
【0291】
一方、DASHベースの適応型ストリーミングモデルなどを介して360度ビデオに対する放送サービスが提供され、又はDASHベースの適応型ストリーミングモデルなどを介して360度ビデオがストリーミングされる場合、前述したリージョン別追加情報に関するメタデータのフィールドは、DASH MPDなどに含まれるDASHベースのディスクリプタ形態でシグナリングされることができる。即ち、前述したリージョン別追加情報に関するメタデータの各々の実施例は、DASHベースのディスクリプタ形態で再び書くことができる。上記DASHベースのディスクリプタ形態は、エッセンシャルプロパティ(EssentialProperty)ディスクリプタ及びサプリメンタルプロパティ(SupplementalProperty)ディスクリプタを含むことができる。前述したリージョン別追加情報に関するメタデータのフィールドを示すディスクリプタは、MPDのアダプテーションセット(AdaptationSet)、リプレゼンテーション(Representation)又はサブリプレゼンテーション(SubRepresentation)に含まれることができる。これによって、クライアント(client)又は360度ビデオ受信装置などは、リージョン別パッキング過程及びリージョン別追加情報関連フィールドを取得することができ、上記フィールドに基づいて360度ビデオの処理を実行することができる。
【0292】
図21a乃至
図21fは、DASHベースのディスクリプタ形態で記述したリージョン別追加情報関連メタデータの一例を示す。
図21aの2100に示すように、DASHベースのディスクリプタは、@schemeIdUriフィールド、@valueフィールド及び/又は@idフィールドを含むことができる。@schemeIdUriフィールドは、該当ディスクリプタのスキーム(scheme)を識別するためのURIを提供することができる。@valueフィールドは、@schemeIdUriフィールドが指示するスキームによりその意味が定義される値(value)を有することができる。即ち、@valueフィールドは、該当スキームによるディスクリプタエレメントの値を有することができ、これらは、パラメータとも呼ばれる。これらは、互いに‘、’により区分されることができる。@idは、該当ディスクリプタの識別子を示すことができる。同じ識別子を有する場合、同じスキームID、値(value)、パラメータを含むことができる。
【0293】
また、
図21bの2110に示すように、上記リージョン別追加情報関連メタデータを伝達するディスクリプタの場合、@schemeIdURIフィールドがurn:mpeg:dash:vr:201x値を有することができる。これは、該当ディスクリプタが上記リージョン別追加情報関連メタデータを伝達するディスクリプタであることを識別する値である。
【0294】
各々のリージョン別追加情報関連メタデータを伝達するディスクリプタの@valueフィールドは、図示された
図21c乃至
図21fの2120のような値を有することができる。即ち、@valueの‘、’により区分される各々のパラメータは、前述したリージョン別追加情報関連メタデータの各々のフィールドに該当(対応)(correspond)できる。図示された
図21c乃至
図21fの2120は、前述したリージョン別追加情報関連メタデータの多様な実施例のうちの一つの実施例を@valueのパラメータで記述したものであるが、各シグナリングフィールドをパラメータに置換して前述した全てのリージョン別追加情報関連メタデータの実施例が、@valueのパラメータで記述されることができる。即ち、前述した全ての実施例によるリージョン別追加情報関連メタデータは、DASHベースのディスクリプタ形態で記述されることもできる。
【0295】
図示された
図21c乃至
図21fの2120で、各パラメータは、前述した同名のシグナリングフィールドと同じ意味を有することができる。ここで、Mは、該当パラメータが必須パラメータ(Mandatory)であることを意味し、Oは、該当パラメータがオプショナルパラメータ(Optional)であることを意味し、ODは、該当パラメータがデフォルト値を有するオプショナルパラメータ(Optional with Default)であることを意味する。ODであるパラメータ値が与えられない場合、既に定義されたデフォルト値が該当パラメータ値として使われることができる。図示された実施例において、各ODパラメータのデフォルト値が括弧内に与えられている。
【0296】
図22は、本発明による360度ビデオ送信装置による360度ビデオデータ処理方法を概略的に示す。
図22で開示された方法は、
図5で開示された360度ビデオ送信装置により実行されることができる。具体的には、例えば、
図22のS2200は、上記360度ビデオ送信装置のデータ入力部により実行されることができ、S2210は、上記360度ビデオ送信装置のプロジェクション処理部により実行されることができ、S2220は、上記360度ビデオ送信装置のリージョン別パッキング処理部により実行されることができ、S2230は、上記360度ビデオ送信装置のメタデータ処理部により実行されることができ、S2240は、上記360度ビデオ送信装置のデータエンコーダにより実行されることができ、S2250は、上記360度ビデオ送信装置の送信処理部により実行されることができる。上記送信処理部は、送信部に含まれることができる。
【0297】
360度ビデオ送信装置は、少なくとも一つのカメラによりキャプチャされた360度ビデオデータを取得する(S2200)。360度ビデオ送信装置は、少なくとも一つのカメラによりキャプチャされた360度ビデオデータを取得することができる。上記360度ビデオデータは、少なくとも一つのカメラによりキャプチャされたビデオである。
【0298】
360度ビデオ送信装置は、上記360度ビデオデータを処理してプロジェクションされたピクチャ(projected picture)を取得する(S2210)。360度ビデオ送信装置は、多様なプロジェクションスキーム(projection scheme)のうちの上記360度ビデオデータに対するプロジェクションスキームによって2Dイメージにプロジェクションを実行することができ、プロジェクションされたピクチャを取得することができる。上記多様なプロジェクションスキームは、エクイレクタングラプロジェクション(Equirectangular Projection)スキーム、キュービックプロジェクションスキーム、シリンダ型プロジェクションスキーム、タイルベースの(Tile-based)プロジェクションスキーム、ピラミッドプロジェクションスキーム、パノラミックプロジェクションスキーム及びステッチングなしで2Dイメージ上にプロジェクションされる上記特定スキームを含むことができる。また、上記プロジェクションスキームは、八面体プロジェクションスキーム及び二十面体プロジェクションスキームを含むことができる。一方、上記プロジェクションスキーム情報が特定スキームを指示する場合、上記少なくとも一つのカメラは、魚眼(Fish-eye)カメラであり、この場合、上記各カメラにより取得されたイメージは、原形イメージ(circular image)である。上記プロジェクションされたピクチャは、プロジェクションスキームの3Dプロジェクション構造の面を示すリージョンを含むことができる。
【0299】
360度ビデオ送信装置は、上記プロジェクションされたピクチャにリージョン別パッキング過程(region-wise packing)を適用してパッキングされたピクチャを取得する(S2220)。360度ビデオ送信装置は、上記プロジェクションされたピクチャのリージョンの各々を回転、再配列し、又は各リージョンの解像度を変更する等の処理を実行することができる。上記処理過程は、上記リージョン別パッキング過程と呼ばれる。360度ビデオ送信装置は、上記プロジェクションされたピクチャにリージョン別パッキング過程を適用することができ、上記リージョン別パッキング過程が適用されたリージョンを含む上記パッキングされたピクチャを取得することができる。上記パッキングされたピクチャは、パッキングされたフレーム(packed frame)と呼ばれる。
【0300】
一方、上記パッキングされたピクチャは、上記パッキングされたピクチャの対象リージョンに対する少なくとも一つのリージョン別追加情報(Region-wise Auxiliary Information、RAI)領域を含むことができる。
【0301】
例えば、上記プロジェクションされたピクチャ上にプロジェクションされた360度ビデオデータをリージョン(region)別に分ける処理過程(region decomposition)が実行されることができ、各リージョンに対するRAI領域が追加される過程(Region-wise Auxiliary Information insertion)が実行されることができる。ここで、上記RAI領域は、対象リージョンに対する追加的な360度ビデオデータを含む領域であり、上記RAI領域は、上記パッキングされたピクチャ上で対象リージョンの境界(boundary)に隣接する領域である。上記RAI領域は、ガードバンド(guard band)とも呼ばれる。また、上記RAI領域を回転、再配列し、又は解像度を変更する等の処理が実行されることができる。
【0302】
また、他の例として、上記プロジェクションされたピクチャは、複数のサブピクチャ(sub-picture)に分けられ、上記サブピクチャの対象リージョンに対するRAI領域が追加される過程(Region-wise Auxiliary Information insertion)が実行されることができる。上記サブピクチャは、タイル(tile)、MCTS(Motion Constrained Tile Set)又は領域に対応できる。また、上記RAI領域を回転、再配列し、又は解像度を変更する等の処理が実行されることができる。
【0303】
360度ビデオ送信装置は、上記360度ビデオデータに関するメタデータを生成する(S2230)。上記メタデータは、前述したnum_regionsフィールド、num_regions_minus1フィールド、target_picture_widthフィールド、target_picture_heightフィールド、region_wise_auxiliary_information_present_flagフィールド、packing_typeフィールド、rai_widthフィールド、rai_heightフィールド、rai_not_used_for_pred_flagフィールド、rai_equal_type_flagフィールド、rai_transformation_flagフィールド、rai_corner_present_flagフィールド、rai_extended_coverage_flagフィールド、rai_presentation_flagフィールド、rai_typeフィールド、rai_dirフィールド、rai_transform_typeフィールド、rai_hor_scaleフィールド、rai_ver_scaleフィールド、rai_delta_QPフィールド、num_sub_boundaries_minus1フィールド、rai_sub_lengthフィールド、center_yawフィールド、center_pitchフィールド、center_rollフィールド、hor_rangeフィールド、ver_rangeフィールド、projected_region_widthフィールド、projected_region_heightフィールド、projected_region_topフィールド、projected_region_leftフィールド、packed_region_widthフィールド、packed_region_heightフィールド、packed_region_topフィールド及び/又はpacked_region_leftフィールドを含むことができる。上記フィールドの意味は、前述の通りである。
【0304】
具体的には、一例として、上記メタデータは、上記対象リージョンに対するリージョン別追加情報(Region-wise Auxiliary Information、RAI)領域のタイプを示す情報を含むことができる。上記RAI領域のタイプを示す情報は、上記rai_typeフィールドを(で)示す(represent)ことができる。上記RAI領域のタイプを示す情報は、上記RAI領域に含まれるリージョン別追加情報(Region-wise Auxiliary Information)のタイプを示すことができる。例えば、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が指定されないことを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が0である場合、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が指定されないことを示すことができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域が上記対象リージョンの境界に位置するサンプルにマッピングされた360度ビデオデータを繰り返して含むことを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が1である場合、上記RAI領域は、上記対象リージョンの境界に位置するサンプルにマッピングされた360度ビデオデータを繰り返して含むことができる。即ち、上記RAI領域は、上記RAI領域と隣接する上記対象リージョンの境界に位置するサンプルにマッピングされた360度ビデオデータが複写された情報を含むことができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が上記対象リージョンに含まれる360度ビデオデータ(映像情報)であり、上記RAI領域の画質は、上記対象リージョンの画質から球形面上で上記対象リージョンと隣接するリージョンの画質に、漸進的に変更される画質を有することができることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が2である場合、上記RAI領域は、上記対象リージョンに含まれる360度ビデオデータを含み、上記RAI領域の画質は、上記対象リージョンの画質から球形面上で上記対象リージョンと隣接するリージョンの画質に、漸進的に変更される画質を有することができる。具体的には、例えば、上記RAI領域は、上記対象リージョンと隣接する境界から遠ざかるほど上記球形面上で上記対象リージョンと隣接する上記リージョンの画質に漸進的に変更されることができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が上記対象リージョンの画質と同じ画質の上記対象リージョンに含まれる360度ビデオデータ(映像情報)であることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が3である場合、上記RAI領域は、上記対象リージョンの画質と同じ画質の上記対象リージョンに含まれる360度ビデオデータを含むことができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が球形面上で上記対象リージョンと隣接するリージョンの映像情報であることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が4である場合、上記RAI領域は、球形面上で上記対象リージョンと隣接するリージョンの360度ビデオデータを含むことができる。また、上記RAI領域のタイプを示す情報は、参照リージョンのRAI領域の映像情報が上記対象リージョンの上記RAI領域の映像情報として使われることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が5である場合、参照リージョンのRAI領域の360度ビデオデータが上記対象リージョンの上記RAI領域の360度ビデオデータとして使われることができる。ここで、上記参照リージョンは、上記球形面上で上記対象リージョンと隣接するリージョンを示すことができる。この場合、上記対象リージョンの上記RAI領域は、360度ビデオデータを含まないことがあり、必要な場合に上記参照リージョンの上記RAI領域の360度ビデオデータが上記対象リージョンの上記RAI領域に対する360度ビデオデータとして使われることができる。例えば、上記パッキングされたピクチャのプロジェクションタイプがERP(EquiRectangular Projection)であり、上記対象リージョンの上記RAI領域が上記パッキングされたピクチャの左側境界に隣接する場合、上記参照リージョンのRAI領域は、上記パッキングされたピクチャの右側境界に隣接できる。
【0305】
また、他の例として、上記パッキングされたピクチャは、上記対象リージョンに対する複数のRAI領域を含むことができ、上記メタデータは、上記RAI領域が同じタイプを有する上記RAI領域であるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_equal_type_flagフィールドを示すことができる。上記フラグの値が1である場合、上記メタデータは、上記RAI領域のタイプを示す情報を含むことができ、上記RAI領域に含まれるデータの方向性を示す情報を含むことができる。上記RAI領域のタイプを示す情報は、上記rai_typeフィールドを示すことができ、上記RAI領域に含まれるデータの方向性を示す情報は、上記rai_dirフィールドを示すことができる。また、上記フラグの値が0である場合、上記メタデータは、上記RAI領域の各々のタイプを示す情報を含むことができ、上記RAI領域の各々に含まれるデータの方向性を示す情報を含むことができる。上記RAI領域の各々のタイプを示す情報は、上記rai_typeフィールドを示すことができ、上記RAI領域の各々に含まれるデータの方向性を示す情報は、上記rai_dirフィールドを示すことができる。
【0306】
また、他の例として、上記メタデータは、上記RAI領域に対する変換情報がシグナリングされるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_transformation_flagフィールドを示すことができる。上記RAI領域に対する変換情報がシグナリングされることを上記フラグが示す場合、即ち、上記フラグの値が1である場合、上記メタデータは、上記RAI領域に対する変換情報を含むことができる。上記RAI領域に対する変換情報は、上記RAI領域に適用された変換タイプを示す情報、上記RAI領域に対して適用された水平スケーリング係数及び垂直スケーリング係数を示す情報を含むことができる。上記RAI領域に適用された変換タイプを示す情報は、上記rai_transform_typeフィールドを示すことができ、上記RAI領域に対して適用された上記水平スケーリング係数及び上記垂直スケーリング係数を示す情報は、上記rai_hor_scaleフィールド及びrai_ver_scaleフィールドを示すことができる。
【0307】
また、他の例として、上記メタデータは、上記パッキングされたピクチャに上記対象リージョンのコーナ(corner)RAI領域が含まれるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_corner_present_flagフィールドを示すことができる。ここで、上記コーナRAI領域は、上記対象リージョンの左上端、右上端、左下端又は右下端周辺領域に位置するRAI領域であり、上記フラグの値が1である場合、上記パッキングされたピクチャは、上記パッキングされたピクチャの対象リージョンに対する少なくとも一つの上記コーナRAI領域を含むことができる。一方、上記メタデータは、上記コーナRAI領域を含むRAI領域が同じタイプを有する上記RAI領域であるかどうかを示すフラグを含むことができ、上記フラグの値が0である場合、上記メタデータは、上記コーナRAI領域のタイプを示す情報を含むことができる。即ち、上記メタデータは、上記コーナRAI領域及び上記RAI領域が同じタイプを有する上記RAI領域であるかどうかを示すフラグを含むことができ、上記フラグの値が0である場合、上記メタデータは、上記コーナRAI領域のタイプを示す情報を含むことができる。
【0308】
また、他の例として、上記メタデータは、上記対象リージョンの拡張領域に関する情報がシグナリングされるかどうかを示すフラグを含むことができる。ここで、上記拡張領域は、上記対象リージョン及び上記RAI領域を含むことができる。上記フラグは、上記rai_extended_coverage_flagフィールドを示すことができる。上記拡張領域に関する情報がシグナリングされることを上記フラグが示す場合、即ち、対象リージョンの上記拡張領域に関する情報がシグナリングされるかどうかを示す上記フラグの値が1である場合、上記メタデータは、上記拡張領域の中点に対応する球形面上の位置のヨー(yaw)値、ピッチ(pitch)値、及びロール(roll)値を示す情報を含むことができる。上記球形面上の上記位置のヨー(yaw)値、ピッチ(pitch)値、及びロール(roll)値を示す情報は、上記center_yawフィールド、上記center_pitchフィールド、上記center_rollフィールドを示すことができる。また、上記対象リージョンの上記拡張領域に関する情報がシグナリングされるかどうかを示す上記フラグの値が1である場合、上記メタデータは、上記拡張領域の水平範囲(horizontal range)及び垂直範囲(vertical range)を示す情報を含むことができる。上記拡張領域の上記水平範囲及び上記垂直範囲を示す情報は、各々、上記hor_rangeフィールド、上記ver_rangeフィールドを示すことができる。
【0309】
また、他の例として、上記メタデータは、上記RAI領域に含まれる360度ビデオデータがビューポート(viewport)生成に使われるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_presentation_flagフィールドを示すことができる。
【0310】
また、他の例として、上記パッキングされたピクチャは、上記対象リージョンの特定境界に隣接するサブ(sub)RAI領域を含むことができ、この場合、上記メタデータは、上記サブRAI領域の個数を示す情報を含むことができる。上記サブRAI領域の個数を示す情報は、上記num_sub_boundaries_minus1フィールドを示すことができる。また、上記メタデータは、各々のサブRAI領域に対するサブ境界の長さを示す情報を含むことができる。ここで、上記各々のサブRAI領域に対する上記サブ境界は、上記特定境界のうちの上記各々のサブRAI領域が隣接する部分を示すことができる。
【0311】
一方、上記メタデータは、SEIメッセージを介して送信されることができる。また、上記メタデータは、MPD(Media Presentation Description)のアダプテーションセット(AdaptationSet)、リプレゼンテーション(Representation)又はサブリプレゼンテーション(SubRepresentation)に含まれることもできる。ここで、上記SEIメッセージは、2Dイメージのデコーディング又は2Dイメージの3D空間への表示(ディスプレイ)に対する補助のために使われることができる。
【0312】
360度ビデオ送信装置は、上記パッキングされたピクチャをエンコードする(S2240)。360度ビデオ送信装置は、上記パッキングされたピクチャをエンコードすることができる。あるいは、上記パッキングされたピクチャのサブピクチャの中から選択されたサブピクチャのみをエンコードすることができる。また、360度ビデオ送信装置は、上記メタデータをエンコードすることができる。
【0313】
360度ビデオ送信装置は、上記エンコードされたピクチャ及び上記メタデータに対して記憶又は送信のための処理を実行する(S2250)。360度ビデオ送信装置は、上記エンコードされた360度ビデオデータ及び/又は上記メタデータをファイルなどの形態でカプセル化(encapsulation)できる。360度ビデオ送信装置は、エンコードされた360度ビデオデータ及び/又は上記メタデータを記憶又は送信するために、ISOBMFF、CFFなどのファイルフォーマットでカプセル化し、又はその他のDASHセグメントなどの形態で処理できる。360度ビデオ送信装置は、上記メタデータをファイルフォーマット上に含ませることができる。例えば、上記メタデータは、ISOBMFFファイルフォーマット上の多様なレベルのボックス(box)に含まれ、又はファイル内で別個のトラック内のデータに含まれることができる。また、360度ビデオ送信装置は、上記メタデータ自体をファイルにカプセル化できる。360度ビデオ送信装置は、ファイルフォーマットによってカプセル化された上記360度ビデオデータに送信のための処理を加えることができる。360度ビデオ送信装置は、任意の送信プロトコルによって上記360度ビデオデータを処理することができる。送信のための処理には、放送網を介した伝達のための処理、又はブロードバンドなどの通信ネットワークを介した伝達のための処理を含むことができる。また、360度ビデオ送信装置は、上記メタデータに送信のための処理を加えることもできる。360度ビデオ送信装置は、送信処理された上記360度ビデオデータ及び上記メタデータを放送網及び/又はブロードバンドを介して送信できる。
【0314】
図23は、本発明による360度ビデオ受信装置による360度ビデオデータ処理方法を概略的に示す。
図23で開示された方法は、
図6で開示された360度ビデオ受信装置により実行されることができる。具体的には、例えば、
図23のS2300は、上記360度ビデオ受信装置の受信部により実行されることができ、S2310は、上記360度ビデオ受信装置の受信処理部により実行されることができ、S2320は、上記360度ビデオ受信装置のデータデコーダにより実行されることができ、S2330は、上記360度ビデオ受信装置のレンダラにより実行されることができる。
【0315】
360度ビデオ受信装置は、360度ビデオデータに対するパッキングされたピクチャに関する情報及び上記360度ビデオデータに関するメタデータを含む信号を受信する(S2300)。360度ビデオ受信装置は、放送網を介して360度ビデオ送信装置からシグナリングされた上記360度ビデオデータに対する上記パッキングされたピクチャに関する情報及び上記メタデータを受信することができる。上記360度ビデオデータは、パッキングされたピクチャのサブピクチャを介して受信されることができる。あるいは、上記360度ビデオデータは、パッキングされたピクチャのサブピクチャのうちの一つのサブピクチャを介して受信されることができる。また、360度ビデオ受信装置は、ブロードバンドなどの通信ネットワーク、又は記憶媒体を介して上記パッキングされたピクチャに関する情報及び上記メタデータを受信することもできる。ここで、上記パッキングされたピクチャは、パッキングされたフレーム(packed frame)と呼ばれる。
【0316】
360度ビデオ受信装置は、上記受信した信号を処理して上記パッキングされたピクチャに関する情報及び上記メタデータを取得する(S2310)。360度ビデオ受信装置は、受信した上記パッキングされたピクチャに関する情報及び上記メタデータに対して送信プロトコルによる処理を実行することができる。また、360度ビデオ受信装置は、前述した360度ビデオ送信装置の送信のための処理の逆過程を実行することができる。上記メタデータは、前述したnum_regionsフィールド、num_regions_minus1フィールド、target_picture_widthフィールド、target_picture_heightフィールド、region_wise_auxiliary_information_present_flagフィールド、packing_typeフィールド、rai_widthフィールド、rai_heightフィールド、rai_not_used_for_pred_flagフィールド、rai_equal_type_flagフィールド、rai_transformation_flagフィールド、rai_corner_present_flagフィールド、rai_extended_coverage_flagフィールド、rai_presentation_flagフィールド、rai_typeフィールド、rai_dirフィールド、rai_transform_typeフィールド、rai_hor_scaleフィールド、rai_ver_scaleフィールド、rai_delta_QPフィールド、num_sub_boundaries_minus1フィールド、rai_sub_lengthフィールド、center_yawフィールド、center_pitchフィールド、center_rollフィールド、hor_rangeフィールド、ver_rangeフィールド、projected_region_widthフィールド、projected_region_heightフィールド、projected_region_topフィールド、projected_region_leftフィールド、packed_region_widthフィールド、packed_region_heightフィールド、packed_region_topフィールド及び/又はpacked_region_leftフィールドを含むことができる。上記フィールドの意味は、前述の通りである。
【0317】
具体的には、一例として、上記メタデータは、上記対象リージョンに対するリージョン別追加情報(Region-wise Auxiliary Information、RAI)領域のタイプを示す情報を含むことができる。上記RAI領域のタイプを示す情報は、上記rai_typeフィールドを示すことができる。上記RAI領域のタイプを示す情報は、上記RAI領域に含まれるリージョン別追加情報(Region-wise Auxiliary Information)のタイプを示すことができる。例えば、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が指定されないことを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が0である場合、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が指定されないことを示すことができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域が上記対象リージョンの境界に位置するサンプルにマッピングされた360度ビデオデータを繰り返して含むことを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が1である場合、上記RAI領域は、上記対象リージョンの境界に位置するサンプルにマッピングされた360度ビデオデータを繰り返して含むことができる。即ち、上記RAI領域は、上記RAI領域と隣接する上記対象リージョンの境界に位置するサンプルにマッピングされた360度ビデオデータが複写された情報を含むことができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が上記対象リージョンに含まれる360度ビデオデータ(映像情報)であり、上記RAI領域の画質は、上記対象リージョンの画質から球形面上で上記対象リージョンと隣接するリージョンの画質に、漸進的に変更される画質を有することができることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が2である場合、上記RAI領域は、上記対象リージョンに含まれる360度ビデオデータを含み、上記RAI領域の画質は、上記対象リージョンの画質から球形面上で上記対象リージョンと隣接するリージョンの画質に、漸進的に変更される画質を有することができる。具体的には、例えば、上記RAI領域は、上記対象リージョンと隣接する境界から遠ざかるほど上記球形面上で上記対象リージョンと隣接する上記リージョンの画質に漸進的に変更されることができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が上記対象リージョンの画質と同じ画質の上記対象リージョンに含まれる360度ビデオデータ(映像情報)であることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が3である場合、上記RAI領域は、上記対象リージョンの画質と同じ画質の上記対象リージョンに含まれる360度ビデオデータを含むことができる。また、上記RAI領域のタイプを示す情報は、上記RAI領域に含まれる情報が球形面上で上記対象リージョンと隣接するリージョンの映像情報であることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が4である場合、上記RAI領域は、球形面上で上記対象リージョンと隣接するリージョンの360度ビデオデータを含むことができる。また、上記RAI領域のタイプを示す情報は、参照リージョンのRAI領域の映像情報が上記対象リージョンの上記RAI領域の映像情報として使われることを示すことができる。具体的には、上記RAI領域のタイプを示す情報の値が5である場合、参照リージョンのRAI領域の360度ビデオデータが上記対象リージョンの上記RAI領域の360度ビデオデータとして使われることができる。ここで、上記参照リージョンは、上記球形面上で上記対象リージョンと隣接するリージョンを示すことができる。この場合、上記対象リージョンの上記RAI領域は、360度ビデオデータを含まないことがあり、必要な場合に上記参照リージョンの上記RAI領域の360度ビデオデータが上記対象リージョンの上記RAI領域に対する360度ビデオデータとして使われることができる。例えば、上記パッキングされたピクチャのプロジェクションタイプがERP(EquiRectangular Projection)であり、上記対象リージョンの上記RAI領域が上記パッキングされたピクチャの左側境界に隣接する場合、上記参照リージョンのRAI領域は、上記パッキングされたピクチャの右側境界に隣接できる。
【0318】
また、他の例として、上記パッキングされたピクチャは、上記対象リージョンに対する複数のRAI領域を含むことができ、上記メタデータは、上記RAI領域が同じタイプを有する上記RAI領域であるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_equal_type_flagフィールドを示すことができる。上記フラグの値が1である場合、上記メタデータは、上記RAI領域のタイプを示す情報を含むことができ、上記RAI領域に含まれるデータの方向性を示す情報を含むことができる。上記RAI領域のタイプを示す情報は、上記rai_typeフィールドを示すことができ、上記RAI領域に含まれるデータの方向性を示す情報は、上記rai_dirフィールドを示すことができる。また、上記フラグの値が0である場合、上記メタデータは、上記RAI領域の各々のタイプを示す情報を含むことができ、上記RAI領域の各々に含まれるデータの方向性を示す情報を含むことができる。上記RAI領域の各々のタイプを示す情報は、上記rai_typeフィールドを示すことができ、上記RAI領域の各々に含まれるデータの方向性を示す情報は、上記rai_dirフィールドを示すことができる。
【0319】
また、他の例として、上記メタデータは、上記RAI領域に対する変換情報(transform information)がシグナリングされるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_transformation_flagフィールドを示すことができる。上記RAI領域に対する変換情報がシグナリングされることを上記フラグが示す場合、即ち、上記フラグの値が1である場合、上記メタデータは、上記RAI領域に対する変換情報を含むことができる。上記RAI領域に対する変換情報は、上記RAI領域に適用された変換タイプを示す情報、上記RAI領域に対して適用された水平スケーリング係数及び垂直スケーリング係数を示す情報を含むことができる。上記RAI領域に適用された変換タイプを示す情報は、上記rai_transform_typeフィールドを示すことができ、上記RAI領域に対して適用された上記水平スケーリング係数及び上記垂直スケーリング係数を示す情報は、上記rai_hor_scaleフィールド及びrai_ver_scaleフィールドを示すことができる。
【0320】
また、他の例として、上記メタデータは、上記パッキングされたピクチャに上記対象リージョンのコーナ(corner)RAI領域が含まれるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_corner_present_flagフィールドを示すことができる。ここで、上記コーナRAI領域は、上記対象リージョンの左上端、右上端、左下端又は右下端周辺領域に位置するRAI領域であり、上記フラグの値が1である場合、上記パッキングされたピクチャは、上記パッキングされたピクチャの対象リージョンに対する少なくとも一つの上記コーナRAI領域を含むことができる。一方、上記メタデータは、上記コーナRAI領域を含むRAI領域が同じタイプを有する上記RAI領域であるかどうかを示すフラグを含むことができ、上記フラグの値が0である場合、上記メタデータは、上記コーナRAI領域のタイプを示す情報を含むことができる。即ち、上記メタデータは、上記コーナRAI領域及び上記RAI領域が同じタイプを有する上記RAI領域であるかどうかを示すフラグを含むことができ、上記フラグの値が0である場合、上記メタデータは、上記コーナRAI領域のタイプを示す情報を含むことができる。
【0321】
また、他の例として、上記メタデータは、上記対象リージョンの拡張領域に関する情報がシグナリングされるかどうかを示すフラグを含むことができる。ここで、上記拡張領域は、上記対象リージョン及び上記RAI領域を含むことができる。上記フラグは、上記rai_extended_coverage_flagフィールドを示すことができる。上記拡張領域に関する情報がシグナリングされることを上記フラグが示す場合、即ち、対象リージョンの上記拡張領域に関する情報がシグナリングされるかどうかを示す上記フラグの値が1である場合、上記メタデータは、上記拡張領域の中点に対応する球形面上の位置のヨー(yaw)値、ピッチ(pitch)値、及びロール(roll)値を示す情報を含むことができる。上記球形面上の上記位置のヨー(yaw)値、ピッチ(pitch)値、及びロール(roll)値を示す情報は、上記center_yawフィールド、上記center_pitchフィールド、上記center_rollフィールドを示すことができる。また、上記対象リージョンの上記拡張領域に関する情報がシグナリングされるかどうかを示す上記フラグの値が1である場合、上記メタデータは、上記拡張領域の水平範囲(horizontal range)及び垂直範囲(vertical range)を示す情報を含むことができる。上記拡張領域の上記水平範囲及び上記垂直範囲を示す情報は、各々、上記hor_rangeフィールド、上記ver_rangeフィールドを示すことができる。一方、上記拡張領域がビューポート生成に使われることができ、この場合、上記拡張領域に関する情報は、上記拡張領域のレンダリング過程に使われることができる。即ち、上記拡張領域に関する情報に基づいて上記拡張領域がマッピングされる球形面上での領域が導出されることができる。
【0322】
また、他の例として、上記メタデータは、上記RAI領域に含まれる360度ビデオデータがビューポート(viewport)生成に使われるかどうかを示すフラグを含むことができる。上記フラグは、上記rai_presentation_flagフィールドを示すことができる。上記RAI領域に含まれる上記360度ビデオデータがビューポート(viewport)を生成することを上記フラグが示す場合、上記RAI領域に含まれる上記360度ビデオデータは、上記球形面上の領域でレンダリングでき、表示されることができる。
【0323】
また、他の例として、上記パッキングされたピクチャは、上記対象リージョンの特定境界に隣接するサブ(sub)RAI領域を含むことができ、この場合、上記メタデータは、上記サブRAI領域の個数を示す情報を含むことができる。上記サブRAI領域の個数を示す情報は、上記num_sub_boundaries_minus1フィールドを示すことができる。また、上記メタデータは、各々のサブRAI領域に対するサブ境界の長さを示す情報を含むことができる。ここで、上記各々のサブRAI領域に対する上記サブ境界は、上記特定境界のうちの上記各々のサブRAI領域が隣接する部分を示すことができる。
【0324】
一方、上記メタデータは、SEIメッセージを介して受信されることができる。また、上記メタデータは、MPD(Media Presentation Description)のアダプテーションセット(AdaptationSet)、リプレゼンテーション(Representation)又はサブリプレゼンテーション(SubRepresentation)に含まれることもできる。ここで、上記SEIメッセージは、2Dイメージのデコーディング又は2Dイメージの3D空間への表示(ディスプレイ)に対する補助のために使われることができる。
【0325】
360度ビデオ受信装置は、上記ピクチャに関する情報に基づいて上記ピクチャをデコードする(S2320)。360度ビデオ受信装置は、上記ピクチャに関する情報に基づいて上記ピクチャをデコードすることができる。また、360度ビデオ受信装置は、受信したビットストリームを介してビューポートメタデータを取得することができ、上記ビューポートメタデータに基づいて選択されたリージョン(又は、サブピクチャ)のみをデコードすることができる。一方、上記対象リージョンの上記拡張領域に関する情報がシグナリングされるかどうかを示す上記フラグの値が1である場合、360度ビデオ受信装置は、上記RAI領域が含まれる上記拡張領域と上記RAI領域が含まれない対象リージョン(又は、サブピクチャ)との中から上記ビューポートメタデータが指定するビューポートの生成により効率的な領域を選択し、上記選択された領域をデコードすることができる。
【0326】
360度ビデオ受信装置は、上記メタデータに基づいて上記デコードされたピクチャを処理して3D空間にレンダリングする(S2330)。360度ビデオ受信装置は、上記メタデータに基づいて上記パッキングされたピクチャの360度ビデオデータを3D空間にマッピングすることができる。具体的には、360度ビデオ受信装置は、上記パッキングされたピクチャの上記対象リージョンに対するリージョン別パッキング過程関連メタデータに基づいて、上記対象リージョンに対するリージョン区分による逆変換(region-wise inverse)を実行することができる。一方、上記対象リージョンの上記RAI領域に上記対象リージョンと異なる変換過程が適用された場合、即ち、上記RAI領域に対する変換情報(transform information)がシグナリングされるかどうかを示すフラグの値が1である場合、上記RAI領域に対する変換情報(例えば、上記RAI領域に対する上記rai_transform_typeフィールド、上記rai_hor_scaleフィールド、上記rai_ver_scaleフィールド)に基づいて、上記RAI領域に対するリージョン区分による逆変換(region-wise inverse)が実行されることができる。また、上記パッキングされたピクチャに上記対象リージョンに対するコーナRAI領域が含まれる場合、上記メタデータは、上記コーナRAI領域に対する変換情報を含むことができ、上記コーナRAI領域に対する変換情報(上記コーナRAI領域に対する上記rai_transform_typeフィールド、上記rai_hor_scaleフィールド、上記rai_ver_scaleフィールド)に基づいて、上記コーナRAI領域に対するリージョン区分による逆変換(region-wise inverse)が実行されることができる。
【0327】
また、360度ビデオ受信装置は、上記メタデータに基づいて上記パッキングされたピクチャからプロジェクションされたピクチャを取得することができ、上記プロジェクションされたピクチャを上記3D空間にリプロジェクション(re-projection)できる。この場合、360度ビデオ受信装置は、上記対象リージョンに基づいて上記プロジェクションされたピクチャを取得することができ、上記対象リージョンに対する上記RAI領域の360度ビデオデータに基づいて上記プロジェクションされたピクチャのリージョン境界誤差を低減させることができる。上記リージョン境界誤差は、上記プロジェクションされたピクチャのリージョンが隣接する境界が明確な線で現れ、又は境界を中心にしてリージョン間の差が明確に現れて連続されるピクチャと見えずに区分された領域が現れる誤差を意味する。上記リージョン境界誤差を減らす方法として、前述した上記RAI領域のサンプルと上記プロジェクションされたピクチャのサンプルとの間のブレンディング(blending)過程を介して導出されたサンプルを上記プロジェクションされたピクチャにマッピングする方法及び上記プロジェクションされたピクチャのサンプルを上記RAI領域のサンプルに代替する代替(replacement)方法がある。
【0328】
また、上記RAI領域に含まれる360度ビデオデータがビューポート(viewport)生成に使われるかどうかを示すフラグの値が1である場合、上記RAI領域に含まれる上記360度ビデオデータは、3D空間にマッピングされることができる。具体的には、上記RAI領域及び上記対象リージョンが含まれる上記拡張領域は、3D空間上で上記ビューポートにマッピングされることができる。上記ビューポートは、上記3D空間上でユーザが眺めている方向の領域を示すことができる。
【0329】
前述したステップは、実施例によって省略され、又は類似/同じ動作を実行する他のステップにより代替されることができる。
【0330】
本発明の一実施例による360度ビデオ送信装置は、前述したデータ入力部、ステッチャ、シグナリング処理部、プロジェクション処理部、データエンコーダ、送信処理部及び/又は送信部を含むことができる。各々の内部コンポーネントは、前述の通りである。本発明の一実施例による360度ビデオ送信装置及びその内部コンポーネントは、前述した本発明の360度ビデオを送信する方法の実施例を実行することができる。
【0331】
本発明の一実施例による360度ビデオ受信装置は、前述した受信部、受信処理部、データデコーダ、シグナリングパーサ、リプロジェクション処理部及び/又はレンダラを含むことができる。各々の内部コンポーネントは、前述の通りである。本発明の一実施例による360度ビデオ受信装置及びその内部コンポーネントは、前述した本発明の360度ビデオを受信する方法の実施例を実行することができる。
【0332】
前述した装置の内部コンポーネントは、メモリに記憶された連続する実行過程を実行するプロセッサであり、又はその他のハードウェアで構成されたハードウェアコンポーネントである。これらは、装置の内部/外部に位置できる。
【0333】
前述したモジュールは、実施例によって省略され、又は類似/同じ動作を実行する他のモジュールにより代替されることができる。
【0334】
前述した各々のパート、モジュール又はユニットは、メモリ(又は、記憶ユニット)に記憶された連続する実行過程を実行するプロセッサ、又はハードウェアパーツである。前述した実施例に記述された各ステップは、プロセッサ又はハードウェアパーツにより実行されることができる。前述した実施例に記述された各モジュール/ブロック/ユニットは、ハードウェア/プロセッサとして動作できる。また、本発明が提示する方法は、コードとして実行されることができる。このコードは、プロセッサが読み取ることができる記憶媒体に書き込むことができ、したがって、装置(apparatus)が提供するプロセッサにより読み取られることができる。
【0335】
前述した実施例において、方法は、一連のステップ又はブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序で又は同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、又は流れ図の一つ又は複数のステップが本発明の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0336】
本発明において、実施例がソフトウェアで具現されるとき、前述した方法は、前述した機能を行うモジュール(過程、機能など)で具現されることができる。モジュールは、メモリに記憶され、プロセッサにより実行されることができる。メモリは、プロセッサの内部又は外部にあり、よく知られた多様な手段でプロセッサと接続(連結)される(connected)ことができる。プロセッサは、ASIC(Application-Specific Integrated Circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含むことができる。メモリは、ROM(Read-Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、メモリカード、記憶媒体及び/又は他の記憶装置を含むことができる。