IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップの特許一覧

特許7022077空間的にタイリングされた全方位ビデオのストリーミング
<>
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図1
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図2
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図3A
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図3B
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図4
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図5
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図6
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図7
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図8
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図9
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図10
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図11
  • 特許-空間的にタイリングされた全方位ビデオのストリーミング 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-08
(45)【発行日】2022-02-17
(54)【発明の名称】空間的にタイリングされた全方位ビデオのストリーミング
(51)【国際特許分類】
   H04N 21/435 20110101AFI20220209BHJP
   H04N 21/442 20110101ALI20220209BHJP
   G06T 11/80 20060101ALI20220209BHJP
   G06T 3/00 20060101ALI20220209BHJP
【FI】
H04N21/435
H04N21/442
G06T11/80 A
G06T3/00 745
【請求項の数】 15
(21)【出願番号】P 2018562052
(86)(22)【出願日】2017-05-24
(65)【公表番号】
(43)【公表日】2019-09-12
(86)【国際出願番号】 EP2017062517
(87)【国際公開番号】W WO2017202899
(87)【国際公開日】2017-11-30
【審査請求日】2019-01-23
(31)【優先権主張番号】16001189.6
(32)【優先日】2016-05-25
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】16172029.7
(32)【優先日】2016-05-30
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】512287702
【氏名又は名称】コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100173565
【弁理士】
【氏名又は名称】末松 亮太
(72)【発明者】
【氏名】ダクント,ルシア
(72)【発明者】
【氏名】トーマス,エマニュエル
(72)【発明者】
【氏名】ヴァン・デーフェンテル,マティス・オスカー
(72)【発明者】
【氏名】ヴァン・ブランデンブルク,レイ
(72)【発明者】
【氏名】フェーンハウゼン,アリエン
【審査官】鈴木 順三
(56)【参考文献】
【文献】国際公開第2015/197815(WO,A1)
【文献】国際公開第2015/060165(WO,A1)
【文献】国際公開第2015/008774(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
G06T 11/60 - 13/80
G06T 3/00 - 5/50
(57)【特許請求の範囲】
【請求項1】
クライアント・デバイスによって全方位ビデオを処理する方法であって、前記全方位ビデオが、湾曲面上において該全方位ビデオのビデオ・データの空間位置を判定するための3D座標系に関連付けられており、当該方法が、
前記クライアント・デバイスによってマニフェスト・ファイルを受信するステップであって、前記マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、前記タイル・ストリームが、2D投影ビデオ・データを有するビデオ・フレームを含み、前記ビデオ・フレームが画像表示枠を有し、これによって、異なるタイル・ストリームにおける前記ビデオ・フレームの画像表示枠が、前記全方位ビデオの2D投影の異なる領域を覆い、1つの領域が1つのタイルを定める、ステップと、
前記クライアント・デバイスによって、前記マニフェスト・ファイルにおける空間関係情報に基づいて、また、前記クライアント・デバイスのユーザの視点に基づいて、第1解像度および第1タイル位置に関連付けられた第1タイル・ストリームと、第2解像度および第2タイル位置に関連付けられた第2タイル・ストリームとを選択するステップであって、前記第2解像度が前記第1解像度よりも低く、前記空間関係情報が、タイル毎に、タイル位置を定め、前記視点が前記ユーザの目視方向を定め、前記タイル位置および前記視点が、前記3D座標系の座標に基づいて定められる、ステップと、
を含む、方法。
【請求項2】
請求項1記載の方法であって、更に、
前記クライアント・デバイスによって、1つ以上のタイル・ストリーム記憶デバイスに、前記選択した1つ以上のタイル・ストリームを要求するステップと、
前記1つ以上の選択したタイル・ストリームのビデオ・データを受信すると共にマッピング情報を受信するステップであって、前記マッピング情報の少なくとも一部が、前記マニフェスト・ファイルにおいて前記クライアント・デバイスに通知され、前記マッピング情報が、前記クライアント・デバイスが前記タイル・ストリームの2D投影ビデオ・データを、全方位ビデオ・データとして、前記湾曲面上にマッピングすることを可能にするための情報を、前記クライアント・デバイスに提供する、ステップと、
前記空間関係情報および前記マッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理するステップと、
を含む、方法。
【請求項3】
請求項2記載の方法において、前記マッピング情報が、前記全方位ビデオ・データを平坦面上に投影するために使用される2D投影の型式の指示を含み、更に、前記2D投影ビデオ・データを前記湾曲面上にマッピングするために必要とされる1つ以上のパラメータを含む、方法。
【請求項4】
請求項2または3記載の方法において、前記視点が前記ユーザの視野に関連付けられ、前記視点が前記ユーザの視野の中心点を定め、前記選択するステップが、
前記視野の中央部の少なくとも一部に位置するタイル位置に対して、高解像度のタイル・ストリームを選択するステップと、
前記視野の周辺部の少なくとも一部に位置するタイル位置に対して、前記高解像度よりも低い解像度のタイル・ストリームを選択するステップと、
を含む、方法。
【請求項5】
請求項2~4のいずれか1項記載の方法において、前記ビデオ・データを処理するステップが、更に、
前記受信したタイル・ストリームのビデオ・データを、タイルを表すビデオ・フレームにデコードするステップと、
1つの時間インスタンスに関連付けられた前記タイルのビデオ・フレームを空間的に配置し、前記ビデオ・フレームをスティッチして1つのビデオ・フレームにするステップと、
前記マッピング情報に基づいて、前記ビデオ・フレームの2D投影ビデオ・データを、全方位ビデオ・データとして、前記湾曲面上にマッピングするステップと、
を含む、方法。
【請求項6】
請求項2~5のいずれか1項記載の方法において、前記選択した1つ以上のタイル・ストリームの前記要求および受信が、HTTP適応ストリーミング・プロトコルに基づく、方法。
【請求項7】
請求項2~6のいずれか1項記載の方法において、前記マニフェスト・ファイルが、更に、タイル・ストリームの1つ以上の表現を定め、前記1つ以上の表現が、1つ以上の解像度表現および/または1つ以上のタイリング表現を含む、方法。
【請求項8】
請求項2~7のいずれか1項記載の方法において、前記マニフェスト・ファイルが、1つ以上の空間関係記述子(SRD)を含み、空間関係記述子が、前記3D座標系の座標に基づいて前記タイルのタイル位置および寸法を定めるための1つ以上のSRDパラメータを含む、方法。
【請求項9】
請求項8記載の方法において、前記1つ以上の空間関係記述子(SRD)が、更に、前記全方位ビデオ・データを平坦面上に投影するために使用される2D投影の型式を通知するための1つ以上のSRDパラメータを含み、前記2D投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および/またはこれらの組み合わせの内の1つを含む、方法。
【請求項10】
全方位ビデオを処理するためのクライアント・デバイスであって、前記全方位ビデオが、湾曲面上に前記全方位ビデオのビデオ・データの空間位置を決定するための3D座標系に関連付けられており、前記クライアント・デバイスが、
プログラムの少なくとも一部が組み込まれたコンピュータ読み取り可能記憶媒体であって、マニフェスト・ファイルを含む、コンピュータ読み取り可能記憶媒体と、
コンピュータ読み取り可能プログラム・コードが組み込まれたコンピュータ読み取り可能記憶媒体と、
前記コンピュータ読み取り可能記憶媒体に結合されたプロセッサと、
を含み、前記コンピュータ読み取り可能プログラム・コードの実行に応答して、前記プロセッサが、
マニフェスト・ファイルを受信する動作であって、前記マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、前記タイル・ストリームが、2D投影ビデオ・データを有するビデオ・フレームを含み、前記ビデオ・フレームが画像表示枠を有し、これによって、異なるタイル・ストリームにおける前記ビデオ・フレームの画像表示枠が、前記全方位ビデオの2D投影の異なる領域を覆い、1つの領域が1つのタイルを定める、動作と、
前記マニフェスト・ファイルにおける空間関係情報に基づいて、また、前記クライアント・デバイスのユーザの視点に基づいて、第1解像度および第1タイル位置に関連付けられた第1タイル・ストリームと、第2解像度および第2タイル位置に関連付けられた第2タイル・ストリームとを選択する動作であって、前記第2解像度が前記第1解像度よりも低く、前記空間関係情報がタイル毎にタイル位置を定め、前記視点が前記ユーザの目視方向を定め、前記タイル位置および前記視点が、前記3D座標系の座標に基づいて定められる、動作と、
を含む実行可能動作を実行するように構成される、クライアント・デバイス。
【請求項11】
請求項10記載のクライアント・デバイスにおいて、前記実行可能動作が、更に、
1つ以上のタイル・ストリーム記憶デバイスに、前記選択した1つ以上のタイル・ストリームを要求する動作と、
前記1つ以上の選択したタイル・ストリームのビデオ・データを受信すると共に、マッピング情報を受信する動作であって、前記マッピング情報の少なくとも一部が、前記マニフェスト・ファイルにおいて前記クライアント・デバイスに通知され、前記マッピング情報が、前記クライアント・デバイスが前記タイル・ストリームの2D投影ビデオ・データを、全方位ビデオ・データとして、前記湾曲面上にマッピングすることを可能にするための情報を、前記クライアント・デバイスに提供する、動作と、
前記空間関係情報および前記マッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理する動作と、
を含む、クライアント・デバイス。
【請求項12】
請求項10または11記載のクライアント・デバイスにおいて、前記マニフェスト・ファイルが、1つ以上の空間関係記述子(SRD)を含み、空間関係記述子が、前記3D座標系の座標に基づいて前記タイルのタイル位置および寸法を定めるための1つ以上のSRDパラメータを含む、クライアント・デバイス。
【請求項13】
請求項11記載のクライアント・デバイスにおいて、
前記マニフェスト・ファイルが、1つ以上の空間関係記述子(SRD)を含み、
前記1つ以上の空間関係記述子が、記全方位ビデオ・データを平坦面上に投影するために使用される2D投影の型式を通知するための1つ以上のSRDパラメータを含む、クライアント・デバイス。
【請求項14】
請求項13記載のクライアント・デバイスにおいて、
前記2D投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および/またはこれらの組み合わせの内の1つを含む、クライアント・デバイス。
【請求項15】
ソフトウェア・コード部分を含むコンピュータ・プログラムであって、前記ソフトウェア・コード部分が、コンピュータのメモリ内で実行されると、請求項1~9のいずれか1項記載の方法ステップを実行するように構成される、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、空間的にタイリングされた全方位ビデオのストリーミング(spatially tiled omnidirectional video streaming)に関し、特に、空間タイリング全方位ビデオをストリーミングするための方法およびシステム、空間タイリング全方位ビデオを処理するように構成されたクライアント・デバイス、空間タイリング全方位ビデオのクライアント・デバイスへのストリーミングを可能にするためのデータ構造、ならびにこのような方法を実行するためのコンピュータ・プログラム製品に関するが、これらに限定されるのではない。
【従来技術】
【0002】
カメラおよび画像処理技術の進歩は、増々高い解像度で記録することを可能にするだけでなく、複数のカメラの出力を互いにスティッチすることも可能にする。このようにすると、1組のカメラを併せて、8K×4Kよりも高い解像度で、360度全体を記録することができる。このようなビデオを全方位ビデオと呼ぶこともできる。
全方位ビデオは、産業界で現在躍進を遂げつつある仮想現実(VR)および拡張現実(AR)のような、新たなユーザ体験を提供する。しかしながら、高品質のVRコンテンツをストリーミングする場合、高品質の全方位ビデオをストリーミングし球面コンテンツをビット・ストリームで表すために必要とされる高帯域幅要件を含む課題が今なお提起されている。
【0003】
実際、利用可能な帯域幅は、効率とユーザ体験との間の折衷案となる。一方で、ユーザに興味がある視点(viewpoint)を高品質で、そして同時に最小限のレイテンシでユーザに提供する必要性がある。これは、達成することが極度に難しい目標である。何故なら、視点は空間的に制限されるが、ユーザは360度のストリーム内で彼らの視点を連続的に変化させることができ、1つの視点から他の視点への変遷は滑らかでなければならないからである。
【0004】
全方位ビデオは、性質上球面であり、近年のビデオ・コード化規格とインターフェースするために、エンコーディングの前に、1つ以上の平面にマッピングされる。現在、球面ビデオをビット・ストリームで表すための標準的な方法は存在せず、異なる球面-平面マッピング(sphere-to-plane mapping)が可能であるため、相互運用性が問題となる。
【0005】
最近になって、Facebook社が、全方位ビデオ・コンテンツに関する帯域幅問題の低減を可能にする企業固有のエンコーディング技法を提案した。この技法では、全方位ビデオを角錐にマッピングする。角錐の基底(basis)が、見る人の中央FOVに関係付けられた高解像度ビデオを表し、角錐の側面は、見る人の側方および背後におけるビデオ情報に使用される。角錐の側面におけるビデオ情報は、中央FOVのエッジから見る人の背後に向かって解像度が徐々に低下するように構成されている。このエンコーディング技法は、ファイル・サイズの大幅な縮小を可能にし、したがって全方位ビデオをストリーミングする際の帯域幅問題を改善する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、Facebook社の技法は、企業固有の解決手段であり、コード化レベルで実装され、つまり、相互運用性に関してはさほど柔軟でない。この解決手段は、ハード・コード化された角錐マッピング技法に基づくので、他の(別の)マッピング技法の中に更に一層の改善が得られるもの、または特殊用途に使用することができるものがあっても、これらを受け入れる予地がない。加えて、Facebook社が提案する特殊エンコーディング技法は、HEVCおよびVP9のような、従来の技術的現状のコード化技法と互換性がない。
【0007】
したがって、以上のことから、従来のタイリングに基づくストリーミング方式は、全方位ビデオ・データをストリーミングするための効率的で柔軟なフレームワークを提供するには相応しくないという結果になる。
【課題を解決するための手段】
【0008】
当業者には認められようが、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態をなすことができ、これらは全て本明細書では一般に「回路」、「モジュール」、または「システム」と呼ぶこともできる。本開示において説明する機能は、コンピュータのマイクロプロセッサによって実行されるアルゴリズムとして実現することができる。更に、本発明の態様は、コンピュータ読み取り可能プログラム・コードが具体化されている、例えば、格納されている1つ以上のコンピュータ読み取り可能媒体(1つまたは複数)に具体化されたコンピュータ・プログラム製品の形態をなすこともできる。
【0009】
1つ以上のコンピュータ読み取り可能媒体(1つまたは複数)の任意の組み合わせも利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体であってもよい。コンピュータ読み取り可能記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、あるいはデバイス、更には以上のもののあらゆる適した組み合わせであってもよいが、これらに限定されるのではない。コンピュータ読み取り可能記憶媒体の更に具体的な例(非網羅的な羅列)を挙げるとすれば、以下を含むであろう。1本以上のワイヤを有する電気接続、可搬型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、可搬型コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、あるいは以上のもののあらゆる適した組み合わせ。本文書のコンテキストでは、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによる使用のため、またはそれと関連した使用のためのプログラムを収容または格納することができる、任意の有形媒体とすればよい。
【0010】
コンピュータ読み取り可能信号媒体は、例えば、ベースバンドにまたは搬送波の一部としてコンピュータ読み取り可能プログラム・コードが内部に具体化された伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはこれらのあらゆる適した組み合わせを含むがこれらに限定されない種々の形態の内任意の形態をなすことができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、命令実行システム、装置、またはデバイスによる使用、またはそれと関連した使用のためにプログラムを伝達、伝搬、または移送することができる任意のコンピュータ読み取り可能媒体とすることができる。
【0011】
コンピュータ読み取り可能媒体上に具体化されたプログラム・コードは、任意の適した媒体を使用して送信することができる。任意の適した媒体には、ワイヤレス、ワイヤライン、光ファイバ、ケーブル、RF等、または以上のもののあらゆる適した組み合わせを含むが、これらに限定されるのではない。本発明の態様のために動作を実行するコンピュータ・プログラム・コードは、1つ以上のプログラミング言語の任意の組み合わせで書くことができる。プログラミング言語には、Java(商標)、Smalltalk、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続き型プログラミング言語が含まれる。プログラム・コードは、完全にユーザのコンピュータにおいて、部分的にユーザのコンピュータにおいて、単独のソフトウェア・パッケージとして、部分的にユーザのコンピュータにおいてそして部分的にリモート・コンピュータにおいて、あるいは完全にリモート・コンピュータまたはサーバにおいて実行することができる。後者のシナリオでは、リモート・コンピュータをユーザのコンピュータに任意の型式のネットワークを通じて接続することができる。ネットワークには、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)が含まれ、または接続が外部コンピュータに対して行われてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)。
【0012】
本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図および/またはブロック図を参照して以下に説明する。尚、フローチャート図および/またはブロック図の各ブロック、そしてフローチャート図および/またはブロック図におけるブロックの組み合わせをコンピュータ・プログラム命令によって実現できることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサ、具体的には、マイクロプロセッサまたは中央処理ユニット(CPU)に供給され、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスのプロセッサによって命令が実行されて、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/アクトを実現する手段を形成する(create)ように、機械を生成することができる。
【0013】
これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能媒体に格納することもでき、コンピュータ読み取り可能媒体に格納された命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/アクトを実現する命令を含む製品を生成するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の様式で機能するように指令することができる。
【0014】
また、コンピュータ・プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラマブル装置、またはデバイス上で実行させ、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定された機能/アクトを実現するためのプロセスを設けるように、コンピュータ実装プロセスを生成することもできる。
【0015】
図におけるフローチャートおよびブロック図は、本発明の種々の実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能(1つまたは複数)を実現するための1つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表すことができる。また、ある代替実施態様では、ブロック内に記された機能が、図に記された順序以外で行われてもよいことも注記してしかるべきである。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよく、またはこれらのブロックが、関与する機能に応じて、逆の順序で実行されてもよいときもある。また、ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図におけるブロックの組み合わせは、指定された機能またはアクトを実行する特殊目的ハードウェア・ベース・システム、あるいは特殊目的ハードウェアおよびコンピュータ命令の組み合わせによっても実現できることも注記しておく。
【0016】
本発明の目的は、先行技術において知られている欠点の内少なくとも1つを低減または解消することである。第1の態様において、本発明は,クライアント・デバイスによって全方位ビデオを処理する方法に関することができる。全方位ビデオは、球面のような湾曲面上に全方位ビデオのビデオ・データの空間位置を決定するための3D座標系に関連付けられてもよい。
【0017】
実施形態では、この方法は、好ましくはクライアント・デバイスによってマニフェスト・ファイルを受信するステップであって、マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、タイル・ストリームが、画像表示枠(image view)を有するビデオ・フレームを構成し(comprise)、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの2D投影の異なる領域を覆い、1つの領域が1つのタイルを定める、ステップと、好ましくはクライアント・デバイスによって、マニフェスト・ファイルにおける空間関係情報に基づいて,更にクライアント・デバイスのユーザの視点に基づいて、第1解像度および第1タイル位置に関連付けられた第1タイル・ストリームと、第2解像度および第2タイル位置に関連付けられた第2タイル・ストリームとを選択するステップであって、第2解像度が第1解像度よりも低く、空間関係情報が、タイル毎に、タイル位置を定め、視点がユーザの目視方向を定め、タイル位置および視点が、3D座標系の座標に基づいて定められる、ステップとを含む。
【0018】
したがって、本発明は、クライアント・デバイスが、特定の視点、即ち、クライアント・デバイスのユーザが見ている方向を表す湾曲面上の点に対応する視点に対応する全方位ビデオの一部を、全方位ビデオ・データに適用される2D投影方式には依存しない方法で選択することを可能にする。マニフェスト・ファイルは、視点を定めるためにも使用される3D座標系に基づいて、タイルの空間位置およびタイルのサイズを記述するので、FOVに対して速いタイルの選択を達成することができる。このように、本発明は、ストリーミングされるコンテンツと仮想現実レンダリング・システムとの間のインターフェースを改良して提供することができる。クライアント・デバイスは、ストリーミングされるコンテンツの内ユーザの視点に対応するものを効率的に選択することができ、これは視点に基づく全方位ビデオのレンダリングには有利である。本発明は、クライアント・デバイスにストリーミングする必要があるタイルの速いタイル・ストリーム選択を可能にするが、これは高い品質の体験を提供するには必須である。
【0019】
加えて、先行技術において知られている特殊なコード化方式とは対照的に、本発明は、低解像度ビデオ・タイルおよび高解像度ビデオ・タイルの独立した選択を可能にする。このように、異なる解像度および異なるサイズのタイルに基づいて、視野の中央部に高解像度ビデオ・データを含み、視野の周辺部および/または視野の外側に低解像度ビデオを含む視野を構築することができる。このようにして、レンダリングの間にクライアント・デバイスにストリーミングする必要があるデータの量は、特殊なコード化方式を使用する必要なく、劇的に削減することができる。実際、本発明は、AVC、SVC、およびHEVCのような、技術的現状のコード化方式の使用を可能にする。
【0020】
実施形態では、前述の方法は、更に、
好ましくはクライアント・デバイスによって、1つ以上のタイル・ストリーム記憶デバイス、好ましくは1つ以上のネットワーク・ノードに、選択した1つ以上のタイル・ストリームを要求するステップと、1つ以上の選択したタイル・ストリームのビデオ・データを受信し、更にマッピング情報を受信するステップであって、好ましくは、マッピング情報の少なくとも一部が、マニフェスト・ファイルにおいてクライアント・デバイスに通知され、マッピング情報が、クライアント・デバイスがタイル・ストリームの2D投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングすることを可能にするための情報を、クライアント・デバイスに提供する、ステップと、空間関係情報およびマッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理するステップとを含んでもよい。
【0021】
実施形態では、マッピング情報が、全方位ビデオ・データを平坦面上に投影するために使用される2D投影の型式の指示を含んでもよく、更に、随意に、2D投影ビデオ・データを湾曲面上にマッピングするために必要とされる1つ以上のパラメータを含んでもよい。
【0022】
したがって、マッピング情報は、異なる投影型式に基づく異なる種類の全方位ビデオの柔軟な使用を可能にする。マッピング情報は、全方位ビデオが生成されたときに使用された2D投影の型式について、レンダリング・エンジンに知らせることができる。加えて、マッピング情報は、特定の2D投影に関連付けられたマッピング・パラメータをレンダリング・エンジンに供給することもできるので、レンダリング・エンジンは、逆に、2D投影されたビデオ・データを、使用された投影に従う湾曲面上に正しくマッピングすることができる。
【0023】
実施形態では、視点がユーザの視野に関連付けられてもよく、好ましくは、視点がユーザの視野の中心点を定める。実施形態では、選択するステップが、視野の中央部の少なくとも一部に位置するタイル位置に対して、高解像度のタイル・ストリームを選択するステップと、視野の周辺部の少なくとも一部に位置するタイル位置に対して、高解像度よりも低い解像度のタイル・ストリームを選択するステップとを含んでもよい。
【0024】
したがって、FOVの中央部だけが最高品質を必要であってもよく、一方FOVの周辺部はそれよりも低い品質のストリームで対処することもできる。全方位コンテンツに異なる品質レイヤを生成することにより、そして各品質レイヤを空間サブパート(タイル)に分割することにより、ストリーミング・クライアントは、異なる空間サブパートを異なる品質でダウンロードし、帯域幅の使用を最小限に抑えつつ、高品質の体験をユーザに提供する柔軟性を得る。
【0025】
中央部および周辺部の寸法は、人のFOVおよび帯域幅の考慮に基づいて決定または選択されてもよい。タイル状ビデオ・コンテンツは、中央および周辺FOVの異なる要件(タイル・サイズおよびビデオ品質に関する)を考慮に入れて生成することができ、この情報の少なくとも一部は、マニフェスト・ファイルを介して、クライアント・デバイスに通知することができる。その後、ビデオ処理デバイスにおけるクライアント・デバイスは、このマニフェスト・ファイルを使用して、中央および周辺FOVに基づいて異なるビデオ・タイルを選択することができる。
【0026】
実施形態では、前記ビデオ・データを処理するステップが、更に、前記受信したタイル・ストリームのビデオ・データを、タイルを表すビデオ・フレームにデコードするステップと、1つの時間インスタンスに関連付けられたタイルのビデオ・フレームを空間的に配置し、ビデオ・フレームをスティッチして1つのビデオ・フレームにするステップと、マッピング情報に基づいて、ビデオ・フレームの2D投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングするステップとを含んでもよい。
【0027】
実施形態では、前記選択した1つ以上のタイル・ストリームの要求および受信が、HTTP適応ストリーミング・プロトコル、好ましくは、MPEG DASHストリーミング・プロトコルまたはその派生物に基づいてもよい。
【0028】
実施形態では、マニフェスト・ファイルが、更に、タイル・ストリームの1つ以上の表現を含み、好ましくは、前記1つ以上の表現が、1つ以上の解像度表現および/または1つ以上のタイリング表現を含んでもよい。
【0029】
実施形態では、マニフェスト・ファイルが、1つ以上の空間関係記述子(SRD)を含み、空間関係記述子が、3D座標系の座標に基づいてタイルのタイル位置および寸法を定めるための1つ以上のSRDパラメータを含んでもよい。
【0030】
実施形態では、1つ以上の空間関係記述子(SRD)が、更に、全方位ビデオ・データを平坦面上に投影するために使用される2D投影の型式を通知するための1つ以上のSRDパラメータを含み、好ましくは、2D投影の型式が、正距円筒投影 (equirectangular projection)、立方投影、円筒投影、あるいはこれらの組み合わせを含んでもよい。
【0031】
拡張SRDは、相互運用性に関する利点を提供する。実際、同時に異なる2Dマッピングを使用して全方位ストリームを提供することもでき、SRDのsource_idパラメータは、これらのストリーム全てが同じコンテンツに関係することをクライアントに示すことができる。したがって、クライアントは、このクライアントにおいて最良にレンダリングすることができるフォーマットを選択することができる。また、全方位コンテンツをサポートしないクライアントには、同じコンテンツの非全方位バージョンを提供し、source_idの同じ値を使用することによって、それを全方位コンテンツに関係付けることも可能である。
【0032】
本発明による拡張SRDは、VRレンダリング・システムとのインターフェース改良に対処し、これにより、クライアント・デバイスがユーザの視点を効率的に処理することを可能にする。これは、全方位ビデオの視点に基づくレンダリングにとって重要である。したがって、これに基づくタイル・ストリーム選択方法は、クライアント・デバイスにストリーミングする必要があるサブパート(タイル)の選択迅速化を可能にする。これは、レイテンシを短縮し結果的に高い品質の体験を提供するためには必須である。
【0033】
ある実施形態では、2D投影のビデオ・フレームは、空間タイリングをサポートするコデックに基づいてエンコードされてもよい。例えば、HEVC規格は、HEVCタイルをサポートし、ビデオ・フレームは格子状のタイルに空間的に分割される。これらのHEVCタイルは、タイルの各々をマイクロプロセッサの異なるコアによって処理できるようにエンコードされる。HEVCタイルに関連付けられたメディア・データは、これらが同じビデオ・フレームの他のタイルのメディア・データに対する空間デコーディング依存性を全く有さないようにエンコードすることができる。更に、タイルに関連付けられたメディア・データは、これらが以前のまたは今後のビデオ・フレームの他のタイルのメディア・データに対して時間デコーディング依存性を全く有さないようにエンコードされる。その場合、各HEVCタイルのビデオ・データはメディア・ソース上にHEVCタイル・トラック、即ち、HEVCタイル・ファイルとして格納することができる。これらのタイル・トラックは、ISO/IEC14496-12、ISOベース・メディア・ファイル・フォーマット(ISOBMFF:ISO Base Media File Format)またはISO/IEC14496-15、ISOベース・メディア・ファイル・フォーマットのNALユニット構造化ビデオの搬送(ISO/IEC 14496-15 Carriage of NAL unit structured video)に基づくデータ・コンテナ・フォーマットを有してもよい。その場合、コンテンツ処理デバイスは、タイルをサポートするHEVCクライアントを当然備えており、要求されたHEVCタイル・ストリームを1つのビデオ・フレームにデコードすることができる。
【0034】
他の態様において、本発明は、全方位ビデオを処理するためのクライアント・デバイスに関し、前記全方位ビデオが、湾曲面上に前記全方位ビデオのビデオ・データの空間位置を決定するための3D座標系に関連付けられる。このクライアント・デバイスは、プログラムの少なくとも一部が具体化されているコンピュータ読み取り可能記憶媒体であって、マニフェスト・ファイルを含む、コンピュータ読み取り可能記憶媒体と、コンピュータ読み取り可能プログラム・コードが具体化されているコンピュータ読み取り可能記憶媒体と、コンピュータ読み取り可能記憶媒体に結合されたプロセッサ、好ましくは、マイクロプロセッサとを含む。コンピュータ読み取り可能プログラム・コードの実行に応答して、プロセッサは、マニフェスト・ファイルを受信する動作であって、マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、タイル・ストリームが、画像表示枠を有するビデオ・フレームを構成し(comprise)、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの2D投影の異なる領域を覆い、1つの領域が1つのタイルを定める、動作と、マニフェスト・ファイルにおける空間関係情報に基づいて,更にクライアント・デバイスのユーザの視点に基づいて、第1解像度および第1タイル位置に関連付けられた第1タイル・ストリームと、第2解像度および第2タイル位置に関連付けられた第2タイル・ストリームとを選択する動作であって、第2解像度が第1解像度よりも低く、空間関係情報が、タイル毎に、タイル位置を定め、視点がユーザの目視方向を定め、タイル位置および視点が、3D座標系の座標に基づいて定められる、動作とを含む、実行可能動作を実行するように構成される。
【0035】
実施形態では、 実行可能動作が、更に、1つ以上のタイル・ストリーム記憶デバイス、好ましくは1つ以上のネットワーク・ノードに、選択した1つ以上のタイル・ストリームを要求する動作と、1つ以上の選択したタイル・ストリームのビデオ・データを受信し、更にマッピング情報を受信する動作であって、好ましくは、マッピング情報の少なくとも一部が、マニフェスト・ファイルにおいてクライアント・デバイスに通知され、マッピング情報が、クライアント・デバイスがタイル・ストリームの2D投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングすることを可能にするための情報を、クライアント・デバイスに提供する、動作と、空間関係情報およびマッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理する動作とを含んでもよい。
【0036】
実施形態では、マニフェスト・ファイルが、1つ以上の空間関係記述子(SRD)を含み、空間関係記述子が、3D座標系の座標に基づいてタイルのタイル位置および寸法を定めるための1つ以上のSRDパラメータを含んでもよい。
【0037】
実施形態では、マニフェスト・ファイルが、全方位ビデオ・データを平坦面上に投影するために使用される2D投影の型式を通知するための1つ以上のSRDパラメータを含む、1つ以上の空間関係記述子を含んでもよい。
【0038】
実施形態では、2D投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および/またはこれらの組み合わせを含む。
【0039】
他の態様において、本発明は、クライアント・デバイスによって全方位ビデオを処理する方法に関することができる。前記全方位ビデオは、湾曲面、好ましくは、球体上に前記全方位ビデオのビデオ・データの空間位置を決定するための3D座標系に関連付けられる。前記方法は、好ましくはクライアント・デバイスによってマニフェスト・ファイルを受信するステップであって、マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、タイル・ストリームが、画像表示枠を有するビデオ・フレームを含み、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの2D投影の異なる領域を覆い、1つの領域が1つのタイルを定める、ステップと、
好ましくはクライアント・デバイスによって、マニフェスト・ファイルにおける空間関係情報に基づいて,更にクライアント・デバイスのユーザの視点に基づいて、第1解像度を有する1つ以上のタイル・ストリームと、第2解像度に関連付けられた第2ストリームとを選択するステップであって、第2解像度が第1解像度よりも低く(例えば、低解像度のベース・レイヤ)、空間関係情報が、タイル毎に、タイル位置を定め、視点がユーザの目視方向を定め、タイル位置および視点が、3D座標系の座標に基づいて定められる、ステップとを含む。
【0040】
したがって、この実施形態では、ユーザのFOVの中央部にビデオ・データをレンダリングするために、タイル・ストリーミングに基づいて高解像度ビデオ・データを要求することができ、一方ユーザのFOVの周辺部および/または外側のエリアには、非タイル状の低解像度のベース・レイヤを要求してもよい。
【0041】
実施形態では、H.264/MPEG-4 AVCビデオ圧縮規格のAnnex G extensionから知られているスケーラブル・ビデオ・コード化(SVC:scalable video coded)に基づいて、非タイル状およびタイル状ビデオ表現をコード化してもよい。したがって、この場合、非タイル状低解像度レイヤは、SVCベース・レイヤとしてフォーマットされてもよく、一方タイル状中および高解像度表現は、SVCエンハンスメント・レイヤ(enhancement layer)としてフォーマットされてもよい。
【0042】
1つの態様において、本発明は、クライアント・デバイスのためにマニフェスト・ファイルを格納するための非一時的コンピュータ読み取り可能記憶媒体に関し、前記クライアント・デバイスが、前記マニフェスト・ファイルに基づいて全方位ビデオを処理するように構成されており、前記全方位ビデオが、湾曲面、好ましくは球上に前記全方位ビデオのビデオ・データの空間位置を決定するための3D座標系に関連付けられており、前記マニフェスト・ファイルがコンピュータ読み取り可能データを含む。前記データは、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子であって、タイル・ストリームが、画像表示枠を有するビデオ・フレームを含み、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの2D投影の異なる領域を覆い、1つの領域が1つのタイルを定める、複数のタイル・ストリーム識別子と、空間関係情報であって、この空間関係情報がタイル毎にタイル位置を定め、タイル位置および視点が、3D座標系の座標に基づいて定められる、空間関係情報と、クライアント・デバイスが、マニフェスト・ファイルにおいて識別されたタイル・ストリームの2D投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングすることを可能にするための情報を、クライアント・デバイスに提供するためのマッピング情報とを含む。
【0043】
実施形態では、マニフェスト・ファイルのコンピュータ読み取り可能データが、更に、1つ以上の空間関係記述子(SRD)であって、空間関係記述子が、3D座標系の座標に基づいてタイルのタイル位置および寸法を定めるための1つ以上のSRDパラメータを含む、1つ以上の空間関係記述子(SRD)、および/または、全方位ビデオ・データを平坦面上に投影するために使用される2D投影の型式を通知するための1つ以上のSRDパラメータであって、好ましくは、2D投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および/またはこれらの組み合わせを含む、1つ以上のSRDパラメータを含む。
【0044】
また、本発明は、ソフトウェア・コード部分を含むプログラム製品に関することができ、ソフトウェア・コード部分が、コンピュータのメモリ内で実行されると、前述の方法ステップの内任意のものを実行するように構成される。
【0045】
添付図面を参照しながら、本発明について更に説明する。添付図面は、本発明による実施形態を模式的に示す。尚、本発明はこれらの具体的な実施形態に限定されることは全くないことは理解されよう。
【図面の簡単な説明】
【0046】
図1図1は、本発明の実施形態による全方位ビデオ用ビデオ・ストリーミング・システムの模式図を表す。
図2図2A~2Cは、本発明の実施形態による全方位ビデオ用クライアント・デバイスの3D座標系における視点を示す。
図3A図3Aは、本発明の種々の実施形態によるタイル状全方位ビデオ(tiled omnidirectional video)の生成および再生(playout)のフローを示す。
図3B図3Bは、本発明の種々の実施形態によるタイル状全方位ビデオ(tiled omnidirectional video)の生成および再生(playout)のフローを示す。
図4図4は、本発明の実施形態によるタイル状全方位ビデオ用クライアント・デバイスの視野を示す。
図5図5A図5Dは、本発明の実施形態による全方位ビデオ用クライアント・デバイスで使用するための異なるビデオ品質の異なるタイリング表現を示す。
図6図6は、本発明の実施形態によるタイリング・ビデオ全方位ビデオを構成する(comprise)ビデオ・フレームを表す。
図7図7は、全方位ビデオの2D平面への投影の他の例を示す。
図8図8は、本発明の実施形態による全方位ビデオ用クライアント・デバイスの視野を示す。
図9図9A図9Dは、本発明の実施形態による全方位ビデオ用クライアント・デバイスで使用するための異なるビデオ品質の異なるタイリング表現を示す。
図10図10は、本発明の実施形態によるタイリング・ビデオ全方位ビデオを構成するビデオ・フレームを表す。
図11図11は、本発明の実施形態にしたがって、空間タイリング全方位ビデオを処理するように構成された(adapted)クライアント・デバイスを表す。
図12図12は、本開示において説明する実施形態と共に使用することができる例証的なデータ処理システムを示すブロック図を表す。
【発明を実施するための形態】
【0047】
図1は、本発明の実施形態による全方位ビデオ用ビデオ・ストリーミング・システムの模式図を示す。具体的には、図1は、1つ以上のメディア・ソース104、例えば、1つ以上のビデオ・サーバを含むビデオ・ストリーミング・システム100を表す。メディア・ソース104は、所定のデータ・フォーマットに基づいてタイル状全方位ビデオ・データ(tiled omnidirectional video data)102を格納するように構成されている。
【0048】
タイル状全方位コンテンツは、個々のタイル・ストリーム・ファイル103~103として格納することができ、タイル・ストリームのビデオ・フレームは、全方位ビデオ・コンテンツの矩形平面への二次元投影を表すビデオ・フレームの小区域(タイル)を表す。タイル・ストリーム識別子(例えば、URL)、および異なるタイル・ストリームの異なる小区域(タイル)間の空間関係は、いわゆる空間マニフェスト・ファイル106に格納される。タイル状コンテンツの概念については、以下で更に詳しく説明する。
【0049】
1つ以上のメディア・ソースは、ストリーミング・プロトコルに基づいて、ビデオ・データを全方位ビデオ処理デバイス(omnidirectional video processing devices)118~118(以後省略してビデオ処理デバイスと呼ぶ)にストリーミングするように構成されている(adapted)。メディア・ソースは、多数のビデオ処理デバイスへのメディア・データの効率的な配信のために構成されたコンテンツ配信ネットワーク(CDN: content delivery network)の一部であってもよい。
【0050】
ビデオ処理デバイスは、全方位ビデオ・データを処理し、表示のために全方位ビデオ・データをレンダリングするように構成されている。このようなビデオ処理デバイスの非限定的な例には、仮想現実および拡張現実の用途に使用される、頭部装着型ディスプレイ(HMD:head-mounted display)がある。HMDは、視点(viewpoint)、すなわち、HMDのユーザが見ている3D空間における方向を判定するために、頭部、目、および/または身体の動きを追跡する1つ以上のセンサを含む。視点は、3D空間において方向を定めるのに適した、球面座標系のような、座標系に基づいて表現されてもよい。HMDは、更に、視野(FOV:field of view)、即ち、特定の視点および所与の時点に対してHMDが表示することができる全方位ビデオのエリアによって特徴付けられる。HMDのFOVは、球面座標系に基づいて表現されてもよい。
【0051】
ビデオ処理デバイスの各々は、クライアント・デバイス120~120を含むことができる。クライアント・デバイス120~120は、ネットワークから、具体的には、ビデオ・サーバ104および/またはビデオ・キャッシュ116のようなネットワーク・ノードに全方位メディア・データを要求するように構成されている。ビデオ処理デバイスは、更に、要求したビデオ・データを受信し、メディア・エンジン122~122への入力のためにメディア・データをバッファするように構成されている。メディア・ビデオは、メディア・データをビデオ・フレームにデコードするために1つ以上のデコーディング・インスタンスを実行することができる、1つ以上のプロセッサ、例えば、グラフィカル処理ユニット(GPU)を含んでもよい。
【0052】
コンテンツ生成においては、所定のマッピング、例えば、正距円筒投影に基づいて方位ビデオ・データを生成することができる。したがって、マッピングされた全方位ビデオのビデオ・フレームは、全方位ビデオ・データの正距円筒投影を表すことができる画素を含む。これらのビデオ・フレームは、タイリング・プロセスを受けることができ、ビデオ・フレームはいわゆるビデオ・タイル(または省略して、タイル)に空間的に分割される。タイリング・プロセスは、ビデオ・データ(画素)の内ビデオ・フレームからのタイルに対応するエリアを切り抜き(crop)、この切り抜いたビデオ・データをエンコードし、エンコードしたビデオ・データをビデオ・ファイルとして格納する処理を含むことができる。このプロセスを異なるタイルに繰り返すことによって、別個にアクセスしクライアント・デバイスにストリーミングすることができる1組のビデオ・ファイルが得られる。コンテンツ処理デバイスは、1つ以上のタイル・ストリームを要求するクライアント、異なるタイル・ストリームのビデオ・データをデコードする1つ以上のデコーダ、およびビデオ・フレームを一緒にスティッチして1つのビデオ・フレームにするレンダリング・エンジンを当然含む。
【0053】
あるいは、ある実施形態では、空間タイリングをサポートするコデックに基づいて、 2D投影のビデオ・フレームをエンコードしてもよい。例えば、HEVC規格は、HEVCタイルをサポートし、ビデオ・フレームは格子状のタイルに空間的に分割される。これらのHEVCタイルは、タイルの各々をマイクロプロセッサの異なるコアによって処理できるようにエンコードされる。HEVCタイルに関連付けられたメディア・データは、これらが同じビデオ・フレームの他のタイルのメディア・データに対する空間デコーディング依存性を全く有さないようにエンコードすることができる。更に、タイルに関連付けられたメディア・データは、これらが以前のまたは今後のビデオ・フレームの他のタイルのメディア・データに対して時間デコーディング依存性を全く有さないようにエンコードされる。その場合、各HEVCタイルのビデオ・データはメディア・ソース104上にタイル・トラックとして格納することができる。これらのタイル・トラックは、ISO/IEC14496-12、ISOベース・メディア・ファイル・フォーマット(ISOBMFF:ISO Base Media File Format)またはISO/IEC14496-15、ISOベース・メディア・ファイル・フォーマットのNALユニット構造化ビデオの搬送(ISO/IEC 14496-15 Carriage of NAL unit structured video)に基づくデータ・コンテナ・フォーマットを有してもよい。その場合、コンテンツ処理デバイスは、タイルをサポートするHEVCクライアントを当然備えており、要求されたタイル・ストリームを1つのビデオ・フレームにデコードすることができる。
【0054】
エンコードされたビット・ストリームをクライアント・デバイスに送信するために、異なるトランスポート・プロトコルを使用することができる。例えば、実施形態では、タイル・ストリームをクライアント・デバイスに配信するために、HTTP適応ストリーミング(HAS:HTTP adaptive streaming)プロトコルを使用することができる。その場合、タイル・ストリームにおけるビデオ・フレームのシーケンスは、通例2~10秒のメディア・データを含む時間セグメントに一時的に分割することができる。このような時間セグメントは、記憶媒体上にメディア・ファイルとして格納することができる。実施形態では、デコーダが直接HASセグメントにおけるメディア・データをデコードし始めることができるように、時間セグメントは、その時間セグメントまたは他の時間セグメントにおける他のフレーム、例えば、Iフレームまたはその同等物に対して時間コード化依存性を有さないメディア・データから開始するのでもよい。随意に、メディア・ストリームに関するパラメータ、例えば、空間解像度、フレーム・レート、コデック・プロファイルおよびレベル等によってデコーダを初期化することを唯一の目的として、メディア・セグメントと共に初期化セグメントを設けてもよい。
【0055】
クライアント・デバイスは、ビデオ処理デバイスの視点に関連する1組のタイルを選択するように構成することができる。実施形態では、クライアント・デバイスは、いわゆるマニフェスト・ファイル106における情報、即ち、クライアント・デバイスのためのメタデータを含む1つ以上のデータ構造に基づいて、タイル・ストリームを選択しネットワークに要求するために、この選択を実行することができる。
【0056】
マニフェスト・ファイルは、ストリーム識別子、例えば、URL、またはこのようなストリーム識別子を判定するための情報を含む(comprise)ことができる。ストリーム識別子は、1つ以上のタイル・ストリーム識別子を含む(include)ことができる。更に、マニフェスト・ファイルは、タイル間に存在する空間関係についてクライアント・デバイスに通知するために空間関係情報を含むこともできる。実施形態では、タイル・ストリーム識別子をタイル位置情報、即ち、タイル・ストリームのタイル状ビデオ・フレームにおけるタイルの位置についてクライアント・デバイスに通知するための情報と関連付けることができる。速いタイル選択を可能にするために、タイル位置情報を球面座標で表してもよい。
【0057】
更に、マニフェスト・ファイルは、1つ以上のネットワーク・ノードに関する位置情報、例えば、ネットワーク・ノードの1つ以上のURLおよび/またはネットワーク・アドレスも含むことができる。これらのネットワーク・ノードは、要求されたメディア・データをクライアント・デバイスに送信するように構成されたメディア・ソース104および/またはメディア・キャッシュ116に関係付けることができる。クライアント・デバイスは、マニフェスト・ファイルを使用して、ビデオ処理デバイスによってクライアント・デバイスに供給される視点に基づいて、1つ以上のタイル・ストリームを選択することができる。
【0058】
メディア・デバイス118~118におけるクライアント・デバイス120~120は、タイルのメディア・データを受信およびバッファし、メディア・エンジン122~122への入力のために、メディア・データを1つ以上のビット・ストリームとして準備することができる。メディア・エンジンは、タイルのメディア・データをビデオ・フレームにデコードするための1つ以上のデコーダを含むことができる。次いで、生成したビデオ・フレームを、メディア・エンジンに結合されているレンダリング・エンジン124~124に転送する。レンダリング・エンジンは、ビデオ・フレームをバッファするためのフレーム・バッファと、異なるタイル・ストリームのビデオ・フレームを融合して(fusing)、視野(FOV)の正距円筒バージョンを表す1つのビデオ・フレーム126にするためにフュージョン・プロセッサ(図示せず)とを含むことができる。ビデオ・フレーム126は、レンダリングのために球面表現に変換する必要がある。
【0059】
図2A図2Cは、本発明の実施形態による全方位ビデオ用クライアント・デバイスの3D座標系における視点を示す。図2Aは、全方位での使用に相応しい3D座標系の例を示す。具体的には、図2Aは、球面上の視点202を定める3D球面座標系を示し、原点から視点に延びるベクトルの方向が、3D空間における全方位ビデオ処理デバイスのユーザの目視方向を定める。この方向は、極角θ(天頂角またはヨー角とも呼ぶ)および方位角φ(ピッチ角と呼ばれることもある)によって定めることができる。これらのパラメータは、球面物体上の位置が緯度および経度によって定められる地理的座標系に関係がある。
【0060】
図2Bは、原点において視点の方向を見ている観察者の視野(FOV)を定める。視野は、観察者によって任意の所与の時点に見られる観察可能な世界の範囲(extent)と定義してもよい。この特定的な場合では、観察者、即ち、全方位ビデオ処理デバイスのユーザにとって、観察可能な世界は、球面上に投影された全方位コンテンツと見なすことができ、視野は、全方位コンテンツの内、全方位ビデオ処理デバイスによって所与の時点にユーザに提示することができる部分を定める。
【0061】
全方位ビデオについて図2Bに示すように、原点における観察者のFOVは、観察者の目視方向における球の表面上のエリアと定義することができる。FOVは、観察者に提示することができる全方位ビデオの量を制限し、FOVの範囲(寸法)は、球面座標、例えば、天頂角および方位角に関して定義することができる。実施形態では、FOVは、FOVの中心としての視点θ、Φによって定めることができ、θ±ΔΘ、φ±ΔφがFOVの「幅」および「高さ」を定める。
【0062】
従来のコード化方式に基づいて全方位ビデオをコード化することを可能にするために、全方位ビデオを最初に処理して、従来のエンコーダに入力できるフォーマットにする。従来のコデックは平面矩形ビデオ・フレームしか扱うことができないので、通例、ビデオ・データを従来の矩形ビデオ・フレーム・フォーマットの形状にマッピングする。異なるマッピングを使用することもできる。例えば、図2Cは全方位コンテンツの矩形平面上への正距円筒投影を表す。格子線によって示すように、このようなマッピングによって、球の前方、左側、右側、および後ろ側を含むビデオ・ピクチャ218が得られ、投影のために、物体は北極および南極に向かってピクチャ内で歪む。デコーダ・サイドでは、正距円筒投影は、湾曲面、例えば、球面に投影されるコンテンツに逆変換される必要がある。
【0063】
全方位ビデオが生成される方法に応じて、そしてVR用途の種類に応じて、その他の異なる型式の投影を使用することもできる。マッピングの型式、およびマッピングに必要とされるパラメータをマッピング情報と呼ぶ。
【0064】
図2A図2Cにおいて視点およびFOVを記述するための3D座標系は球面座標系を表すが、他の湾曲線形座標系も、3Dにおいて湾曲面を記述するのに相応しければ、使用することができる。
【0065】
視野208に対応するビデオ・データの部分のみをレンダリングする間に、FOVを再生する。このために、ビデオ・フレームを空間的にタイル状に分割し、個々のタイルのビデオ・データを処理し、クライアントがこれらに個々にアクセスし要求できるように、別個のファイルに格納する。タイル状全方位コンテンツの作成および再生に関する実施形態については、以下で更に詳しく説明する。
【0066】
図3A図3Bは、本発明の種々の実施形態によるタイル状全方位ビデオの生成および再生のフローを示す。図3Aは、タイル状全方位ビデオの生成を表す。第1ステップ302において、全方位ビデオ・データを取り込むことができ、取り込まれるビデオ・データは、3D空間における目視方位(viewing orientation)の関数である。その後、画像を処理して2D矩形ビデオ・フレームとし(ステップ304)、ここで画素は立体マップにおける画素の正距円筒投影を表す。このようなビデオ・フレームを正距円筒ビデオ・フレームと呼ぶこともできる。ある実施形態では、全方位ビデオを異なる品質、例えば、SD、HD、UHD、およびそれ以上で取り込むこともできる。
【0067】
正距円筒ビデオ・フレームは、各タイルが、全方位ビデオ・データを表示するためにビデオ処理デバイスによって使用される湾曲(例えば、球)面のエリアを表すように、空間的にタイルに分割する(ステップ306)ことができる。各タイルを湾曲面上のタイル位置に関連付けることができ、3D座標系、例えば、球面座標系に関して表現することができる。ビデオ・フレームにおけるタイルと球面上におけるエリアとの間の関係は、使用されるマッピングにしたがって決定される(図2Cを参照して説明したとおり)。
【0068】
タイリング・プロセスは、正距円筒ビデオ・フレームからあるエリアのビデオ・データ(画素)を切り抜く処理を含んでもよい。このようなエリアをビデオ・タイルまたは省略してタイルと呼ぶこともできる。正距円筒ビデオ・フレームのシーケンスにおいて同じエリアに対してクロッピング・プロセスを繰り返すと、タイルのシーケンスが得られる。これらのタイルのビデオ・データは、任意の既知のコデック、例えば、AVC、SVC、HEVC、VP9等を使用してエンコードし、ビデオ・タイル・ファイルに格納することができる。ビデオ・フレームからの正距円筒ビデオ・フレームにおける異なるエリアに対してこのプロセスを適用すると、別個にアクセスし1つ以上のタイル・ストリームとしてクライアント・デバイスにストリーミングすることができる1組のビデオ・タイル・ファイルが得られる(ステップ308)。したがって、タイル・ストリームは画像表示枠(ビデオ・タイルまたは省略してタイル)を有するビデオ・フレームを構成し(comprise)、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの2D投影の異なる領域を覆うことになる。
【0069】
その上、このコンテンツ生成プロセスは、異なるタイル毎および異なるビデオ品質毎にビデオ・タイル・ファイルが生成されるように、同じ全方位ビデオの異なる品質毎に繰り返してもよい。同様に、このコンテンツ生成プロセス(ステップ304および306)は、立体または円筒2D投影のような、異なる2D投影を生成するために繰り返してもよい。
【0070】
更に他の実施形態では、異なるタイリング格子を使用することもできる。例えば、低品質のビデオをストリーミングするためには大きなタイルを使用すればよく、一方高品質のビデオをストリーミングするためには小さなタイル(粒度が小さいタイル格子)を使用すればよい。同様に、用途に応じて、タイル格子におけるタイルのサイズも異なってもよい。代わりに、および/または、加えて、同じコンテンツに基づいて異なるタイリング格子を生成することもできる。
【0071】
実施形態では、MPEG DASHのようなHTTPベースのストリーミング・プロトコルを使用することもできる。その場合、所定期間(通例、2~10秒)の短いセグメント・ファイルにビデオ・タイル・ファイルを時間的にセグメント化することができる。
【0072】
ビデオ・タイル・ファイルの生成の間に、いわゆる空間マニフェスト・ファイルが生成される。このマニフェスト・ファイルは、ビデオ処理デバイスにおけるクライアント・デバイスのためのメタデータを含むことができる。このメタデータは、ビデオ処理デバイスがタイル・ストリームを要求しタイル・ストリームにおけるビデオ・データを処理することを可能にする。このために、マニフェスト・ファイルは、タイル・ストリームを要求するためのネットワーク・アドレスを識別するために、タイル識別子、例えば、URLを含むことができる。ある実施形態では、タイル識別子は、クライアント・デバイスが異なるビデオ品質から選択できるように、品質情報に関連付けられる。
【0073】
更に、マニフェスト・ファイルは、タイル間に存在する空間関係についてクライアント・デバイスに通知するために、空間関係情報も含むことができる。このために、タイル識別子を、湾曲(例えば、球)面のエリアを定める座標に関連付けてもよく、ビデオ処理デバイスによって全方位ビデオを表示するために使用される。更に、マニフェスト・ファイルは、マッピング情報、即ち、選択されたビデオ・タイルのビデオ・データを表示するためにクライアント・デバイスが必要とする情報も含むことができる。マッピング情報は、例えば、タイル状全方位ビデオ・コンテンツを生成するために使用されるマッピングの型式の識別子を含むことができる。
【0074】
MPEG DASHの場合、マニフェスト・ファイル(DASHではメディア・プレゼンテーション記述(MPD)と呼ぶ)は空間関係記述子(SDR)を含むことができる。実施形態では、SDRは、3D座標系に基づいてタイルの位置を記述する空間関係情報についてDASHクライアントに通知するために拡張することができ、全方位ビデオを表示するために使用される湾曲面を記述(モデル化)するために使用される。他の実施形態では、タイル状全方位ビデオ・コンテンツを生成するために使用されるマッピングの型式についてDASHクライアントに通知するように、SDRを構成することもできる。このようなSRDの例について、以下で更に詳しく説明する。
【0075】
マニフェスト・ファイルにおいて識別されたタイル状全方位ビデオは、タイル状でない全方位ビデオと組み合わせて使用することもできる。例えば、実施形態では、マニフェスト・ファイルにおいて識別されたタイル・ストリームが、全方位ビデオの中および高品質表現に関係があり、一方全方位ビデオのタイル状でないバージョンが、低解像度バージョンに関係があるとしてもよい。このように、該当する高解像度タイル・ストリームのみ、即ち、FOVの中央部のビデオ・データを搬送する分のみ、タイル・ストリームがクライアント・デバイスに送信される。
【0076】
図3Bは、クライアント・デバイスによるタイル状全方ビデオ処理の流れ図を表す。このプロセスは、開始すると、クライアント・デバイスが、タイル・ストリームが識別されるマニフェスト・ファイルを受信することができ、タイルは、全方位ビデオを表示するために使用される表面を記述するために使用される3D座標系に基づいて定めることができる空間関係を有する。マニフェスト・ファイルは、更に、全方位ビデオ・データを生成するために使用されるマッピングの型式についてクライアント・デバイスに通知するために、マッピング情報も含むことができる(ステップ320)。
【0077】
クライアント・デバイスは、ビデオ処理デバイスからの視点を含むことができる。視点は、全方位ビデオを表示するために使用される表面を記述するために使用される3D座標系における目視方向に関して定められてもよい。受信した視点に基づいて、クライアント・デバイスは現在のFOVを判定することができる。その後、マニフェスト・ファイルにおける情報を使用して、現在のFOVを定める湾曲面上のエリアを少なくとも部分的に覆う1つ以上の近隣タイルを選択することができる(ステップ322)。
【0078】
その後、クライアント・デバイスは、要求されたタイル・ストリームをクライアント・デバイスに配信(送信)するように構成された1つ以上のネットワーク・ノードに、1つ以上のHTTPメッセージを送ることによって、タイル識別子、例えば、URLに基づいて、選択したタイルを要求することができる。
【0079】
実施形態では、クライアント・デバイスは、FOVにおけるタイルの位置に基づいて、タイルのビデオ品質を選択してもよい。例えば、タイルの大部分がFOVの中央部に位置する、即ち、視点から一定の距離以内に位置するとき、クライアント・デバイスは高品質タイルを選択するのでもよい。タイルの大部分がFOVの周辺部(FOVの中央部の外側)に位置するとき、クライアント・デバイスは、FOVの中央部に選択したタイルのビデオ品質よりも低い品質(例えば、中または低品質)を有するタイルを選択するのでもよい。
【0080】
一旦ビデオ・ストリームが受信されたなら、タイルのビデオ・データをビデオ・フレームにデコードすることができる。更に、クライアント・デバイスは、全方位ビデオ・レンダリング・エンジンに、全方位ビデオを生成するために使用されるマッピングの型式を通知することができる。この情報に基づいて、レンダリング・エンジンは、ビデオを湾曲面にレンダリングすることができるように、それ自体を構成することができる(ステップ324)。ある実施形態では、クライアント・デバイスはマッピング情報内にあるマッピング・パラメータを使用してもよい。
【0081】
クライアント・デバイスによって選択されたタイルを表すビデオ・フレームは、マニフェスト・ファイルにおける空間関係情報を使用して、一緒にスティッチされて、1つのビデオ・フレームにすることができる(ステップ326)。次いで、スティッチされたビデオ・フレームは、全方位ビデオを表示するために使用される湾曲面上にビデオ・データを投影するために、レンダリング・エンジンに供給することができる(ステップ328)。投影ステップは、2D投影ビデオ・データを逆に湾曲面にマッピングする処理を含むことができる。これは、ビデオ・データに1つ以上の数学的画像処理動作を受けさせることを含んでもよい。
【0082】
したがって、本開示において説明したタイル状全方位ビデオは、観察者のFOVを表す1つ以上のビデオ・タイルの速い選択を可能にする。この速い選択は、タイルが空間関係情報に関連付けられており、空間関係情報が、全方位ビデオを表示するために使用される表面を記述するために使用される3D座標系に基づくという事実に基づく。このように、3D空間における観察者のFOVを、FOVを構築するタイルに直接連携させる(link)ことができる。
【0083】
その上、マッピング情報は、異なる種類の全方位ビデオの柔軟な使用を可能にする。これは、マッピング情報が、全方位ビデオが生成されたときに使用されたマッピングの型式についてレンダリング・エンジンに知らせるからであり、更に、マッピング情報が、使用されたマッピングに従う湾曲面上に、レンダリング・エンジンがコンテンツを正しく投影できるように、マッピング・パラメータをレンダリング・エンジンに供給するからである。
【0084】
MPEG DASHでは、タイルとマッピング情報との間の空間関係を通知するために、SRDを使用することができる。SRDは、ストリームを異なる空間サブパート(タイル)に分割することを可能にし、つまり、ユーザが関心を寄せるサブパートだけをストリーミングする可能性をクライアントに与える。VRでは、ユーザは、いずれの時点においても、360度のストリームの内、使用中のVRヘッドセットのFOV(現在では約100度)、そして最終的には人間の視覚(eye vision)(270度まで)によって制限される小さな一部分(subset)のみに関心を寄せる。
【0085】
更に、このFOVの内、焦点が合っている中央部分だけが最高の品質を必要とするのかしれず、一方FOVの周辺部は、それよりも低い品質のストリームで対処できるかもしれない。したがって、全方位コンテンツに複数の異なる品質レイヤを生成することにより、そして各品質レイヤを空間サブパート(タイル)に分割することにより、ストリーミング・クライアントは、異なる品質で異なる空間サブパートをダウンロードし、帯域幅使用を最小限に抑えつつ高品質の体験をユーザに提供する柔軟性を得る。
【0086】
たとえば、全方位コンテンツが3つの品質レイヤで提供される(offer)場合、クライアントはユーザのFOVの中央部を最高品質でストリーミングし、視野の周辺部を中間レベルの品質でストリーミングし、360度ビデオ全体を最低品質でストリーミングすることもできる。ユーザが彼女の視点を変更するときは、未だ彼女に示すべきコンテンツがあるので、最低品質での360度全域のストリーミングは、「ブラック・スクリーン」効果(black screen effect)を回避するために役に立つことができる。
【0087】
拡張SRDは、相互運用性に関する利点を提供する。実際に、全方位ストリームは、同時に複数の異なる2Dマッピングを使用して提供することもでき、SDRのsource_idパラメータは、全てのそれらのストリームが同じコンテンツに関係することをクライアントに示すことができる。したがって、クライアントは、このクライアントにおいて最良にレンダリングすることができるフォーマットを選択することができる。また、全方位コンテンツをサポートしないクライアントのために、同じコンテンツの非全方位バージョンを提供し、source_idの同じ値を使用することによって、それを全方位コンテンツに関係付けることもできる。
【0088】
SRDは、MPEG DASH規格から知られており、2Dコンテンツに相応しいSRDのみを記述する。異なる空間サブパートは、これらが2次元空間上で占有する位置およびサイズによって識別される。この手法は、2次元ビデオ・コンテンツを対象とする。しかしながら、既に以上で詳しく説明したように、全方位ビデオでは、使用に応じて、このような360度ビデオ(の空間サブパート)をビット・ストリームで表すために、異なる方法が存在する。例えば、正距円筒、縞状球面方式(striped spherical scheme)、円筒方式、または凸多面体/固体(convex polyhedron/solid)(立体または錐体等)を表す方式が知られている。
【0089】
仮想現実ビデオ処理デバイスは、全方位ビデオの内、特定の視点、即ち、見る人(viewer)が見ている方向を表す湾曲面エリア上の点に対応する視点に対応する一部をレンダリングするように構成される。したがって、特定のサブパート(タイル)の空間位置およびサイズが、全方位ビデオのFOVの部分をユーザに表示するために使用される湾曲面(例えば、球面)上におけるその真の表現に関係付けて記述されるのは有利である。
【0090】
したがって、実施形態では、"space"と呼ばれる新たなSRDパラメータを導入する。これは、全方位ビデオ表現をクライアントに通知するように構成されている。また、このパラメータは、特定の全方位ビデオ表現を更に特徴付ける1つ以上のパラメータも伴う(imply)または関連付けられてもよい。例えば、実施形態では、円筒状空間は、SRDにおいて、space="cylindrical"、およびこの円筒形を特徴付ける追加のSRDパラメータによって通知することができ、追加のSRDパラメータは、一定の、例えば、高さ=150を有するのでもよい)。
【0091】
他の実施形態では、SRDにおけるパラメータobject_xおよびobject_yが空間サブパートの中心位置を定める(従来のSRDでは、これらが前記サブパートの左上角の位置を表すのとは異なる)。更に、object_xおよびobject_yは、それぞれ、ヨー角およびピッチ角を識別することもできる。ヨー角は、0から360までの範囲を取ることができ、ここで、0=北、90=東、180=南、そして270=西であり、ピッチ角は-90°(天底)から+90°(天頂)までの範囲を取ることができる。
【0092】
本発明による拡張SRDは、VRレンダリング・システムとのインターフェース改良をもたらし、これによって、クライアント・デバイスが、ユーザの視点を効率的に処理することを可能にする。これは、全方位ビデオの視点に基づくレンダリングには重要である。したがって、これに基づくタイル・ストリーム選択方法は、クライアント・デバイスにストリーミングする必要があるサブパート(タイル)の選択を高速化することができる。これは、レイテンシを短縮し結果的に高い品質の体験を提供するためには必須である。
【0093】
SRDパラメータobject_widthおよびobject_heightは、360度面上における物体の角距離(angular length)に関して、タイルの幅および高さを表すことができる。具体的には、物体の幅は、物体の中心を通る平行線上で測定したその幅の弧度によって表され、高さは、例えば、図2Bに示すように、物体の中心を通る中線上で測定したその高さの弧度によって表される。
【0094】
更に、VRの用途では、ビデオ・コンテンツが常にユーザの目の前に表示される。しかしながら、人間の周辺視野は高周波(細かい詳細)には敏感でないことは周知である。したがって、更に他の実施形態では、本開示におけるタイリング方式を、人間の目のFOVを考慮して最適化することができる。したがって、ユーザのFOVの中央部を構成する領域を、高品質ビデオに基づいて表示することができ、一方周辺視野に対応する領域は、標準的な品質で提供することができ、こうして帯域幅を節約する。
【0095】
図4は、本発明の実施形態によるタイル状全方位ビデオに対するクライアント・デバイスの視野を示す。図4は、正距円筒マッピングに基づく全方位コンテンツを表示するために使用される湾曲面402の方向を見ているユーザの視点を表す。ここでは、FOV404は、表示枠(view)に示されるコンテンツの部分、および表示枠に示されないコンテンツ406の部分を定める。更に、FOVは中央FOV408および周辺FOV410に分割されている。FOVの中央部では、高品質コンテンツを表示することができ、周辺では、それよりも低い品質を選択することができる。
【0096】
中央および周辺の寸法は、人のFOVおよび帯域幅の考慮に基づいて決定または選択することができる。タイル状ビデオ・コンテンツは、中央および周辺FOVの異なる要件(タイル・サイズおよびビデオ品質に関して)を考慮に入れて生成することができ、この情報の少なくとも一部を、マニフェスト・ファイルを介してクライアント・デバイスに通知することもできる。続いて、ビデオ処理デバイスにおけるクライアント・デバイスは、マニフェスト・ファイルを使用して、中央および周辺FOVに基づいて異なるビデオ・タイルを選択することができる。
【0097】
以下に、異なるマッピング(異なる2D投影によって表される)に基づいて生成された全方位ビデオ・データの異なる例について説明する。
【0098】
正距円筒2D投影の例を、図5A図5Dおよび図6において以下で示す。正距円筒2D投影では、全方位コンテンツは矩形としてビット・ストリームで表される。経度は水平座標にマッピングされ、緯度は垂直座標にマッピングされる。正距円筒2D投影は、魚眼レンズを装備した回転(走査)パノラマ・カメラのデフォルト出力フォーマットであり、現在全方位ビデオに使用されている最も普及したフォーマットの1つである。
【0099】
図5A図5Dは、クライアント・デバイスによって要求することができる、異なるタイリング配置を示す。このようなタイリング配置を全方位ビデオのタイリング表現と呼ぶこともできる。異なるタイリング表現を異なるビデオ品質に関係付けてもよい。タイリング表現は、図5Aに表すような非タイル状低解像度ビデオ表現、および図5Bに表すようなタイル状高解像度表現を含んでもよい。高解像度表現は、FOVの中央部のコンテンツを表示するために使用されてもよい。全方位コンテンツをユーザに提供する(serve)ために、クライアントは、パノラマ・ビュー全体を覆うための非タイル状最低解像度レイヤ、ならびに最高解像度レイヤ(FOVの中央部を表す)のタイル9および10を要求することもできる。加えて、クライアント・デバイスは、周辺FOVにために中解像度レイヤの4つのタイル、即ち、図5Dに示すような水平タイル状中解像度レイヤのタイル5および14、ならびに図5Cに示すような垂直タイル状中解像度レイヤのタイル12および16を選択してもよい。
【0100】
結果的に得られたFOVを図6に示す。図6は、本発明の実施形態によるタイル状ビデオ全方位ビデオを構成する(comprise)ビデオ・フレームを表す。
【0101】
図6に示すように、FOVの中央部は超高品質で配信され、品質はFOVのエッジに向かって低下する(diminish)。境界においてタイルの解像度が急激に変化することが知覚される影響を最小限に抑えるために、重複タイルを使用することができる。その場合、FOVの中央部における高解像度タイルは、周辺に向かう中解像度タイルと重複する。クライアント・デバイスがフィルタを使用してもよく、中解像度タイルと融合するために境界において高解像度タイルを徐々に調整し(scale)、該当する場合には、低解像度の背景と融合するために境界において中解像度タイルを徐々に調整することができる。
【0102】
更に他の実施形態では、H.264/MPEG-4 AVCビデオ圧縮規格のAnnex G extensionから知られているスケーラブル・ビデオ・コード化(SVC:scalable video coded)に基づいて、非タイル状およびタイル状ビデオ表現をコード化してもよい。したがって、この場合、非タイル状低解像度レイヤをSVCベース・レイヤとしてフォーマットしてもよく、一方タイル状中および高解像度表現をSVCエンハンスメント・レイヤ(enhancement layer)としてフォーマットしてもよい。
【0103】
図6に示すタイルを選択および要求するためにクライアントによって使用することができるDASH MPDをテーブル1に示す。
【0104】
【表1-1】


【表1-2】


【表1-3】
【0105】
以上のMPDは、空間タイル状全方位ビデオを記述するのに適している拡張SRDをネットワークがサポートすることをクライアント・デバイスに通知するために、新たなschemeIdUri "urn:mpeg:dash:srd:vr:2016"を含む。更に、MPDは、EssentialPropertyおよびSupplementalPropertyの値フィールドの第2位置(source_idパラメータの後)に、追加のSRDパラメータ"space"も含む。このパラメータは、マッピング情報の一部であり、マニフェスト・ファイルにおいて識別される全方位ビデオ・データに使用される2D投影の型式について、クライアント・デバイスに通知することができる。例えば、spaceパラメータは、全方位ビデオが正距円筒2D投影によって表されることをクライアント・デバイスに通知するためには、値「0」を有するとしてもよい。正距円筒2D投影は、それを特徴化するために追加のパラメータを必要としないので、値フィールドにおける後続のSRDパラメータは、object_x、object_y、object_width、object_height、total_width、total_height、Spatial_set_idである(これらは、以上で説明したような新たな関数記述に基づいて再使用することができる標準的なSRDパラメータである)。
【0106】
円筒状2D投影の一例について、図7図11を参照しながら以下に説明する。図7は、円筒状表現空間を示し、ピッチ角702-θおよび+θ角間に含まれる球面704の部分が、正距円筒投影706によって表され、一方北極708および南極710は円形投影712、714として表される。
【0107】
図8は、本発明の他の実施形態によるタイル状全方位ビデオに対するクライアント・デバイスの視野を示す。具体的には、図8は、円筒状マッピングに基づく全方位コンテンツを表示するために使用される湾曲面の方向を見ているユーザの視点およびFOVを表す。ここで、FOV802は、表示枠に示されるコンテンツの部分を定め、806~806は、表示枠に示されないコンテンツの部分を定める。更に、FOVは、中央FOV808および周辺FOV810に分割されている。FOVの中央部では、高品質コンテンツを表示するとしてもよく、一方周辺では、それよりも低い品質、例えば、標準的な品質が選択されてもよい。
【0108】
円筒状2D投影の一例を以下の図9A図9Dおよび図10に示す。円筒状2D投影では、全方位コンテンツは、正距円筒投影および円形投影の組み合わせとして、ビット・ストリームで表される。
【0109】
図9A図9Dにおける異なるタイリング表現は、異なるビデオ品質に関係付けてもよい。タイリング表現は、図9Aに表すような非タイル状低解像度ビデオ表現、および図9Bに表すようなタイル状高解像度表現を含んでもよい。高解像度表現は、FOVの中央部にコンテンツを表示するために使用されるとしてもよい。全方位コンテンツをユーザに供給する(serve)ために、クライアント・デバイスは、パノラマ・ビュー全体を覆うために最低解像度レイヤの単一タイルを要求し、更にFOVの中央部に対して最高解像度レイヤのタイル3を要求することができる。更に、周辺FOVに対して、多数の中解像度型タイルを使用してもよい。例えば、水平タイル状中解像度レイヤ(図9C)のタイル5および13、ならびに垂直タイル状中解像度レイヤ(図9D)のタイル4、7、および17である。
【0110】
結果的に得られたFOVを図10に示す。図10は、本発明の実施形態によるタイル状全方位ビデオを構成する(comprise)ビデオ・フレームを表す。図6を参照して説明した正距円筒投影と同様、FOVの中央部は、高品質コンテンツに基づいて実現され、品質はFOVの境界の方向に低下する。また、この場合、境界においてタイルの解像度が急激に変化することが知覚される影響を最小限に抑えるために、高い方の解像度のタイルと低い方の解像度のタイルとの間の境界において、スムージングを実行することができる。
【0111】
図10に示すタイルを選択および要求するためにクライアントによって使用することができるDASH MPDをテーブル2に示す。
【0112】
【表2-1】


【表2-2】


【表2-3】


【表2-4】

【0113】
このMPDでは、EssentialPropertyおよびSupplementalPropertyの値フィールドの2番目の場所において(source_idパラメータの後)、2つの追加のSRDパラメータが設けられる。第1のパラメータは、2D投影をクライアント・デバイスに通知するための"space"パラメータである。第2のパラメータは、特定の2D投影、この特定例では、円筒状2D投影に関連付けられ、円筒形の高さを特徴付ける。
【0114】
例えば、spaceパラメータは、全方位ビデオが円筒状2D投影に基づくことをクライアント・デバイスに通知するためには値「1」を有するとしてもよい。値フィールドにおける後続のパラメータは、object_x、object_y、object_width、object_height、total_width、total_height、Spatial_set_idとすればよい(これらは、以上で説明したような新たな関数記述に基づいて再使用することができる標準的なSRDパラメータである)。
【0115】
円筒形の高さを通知する必要はない。MPDにおいて円筒形の極および矩形部を示す方法から、余分な高さパラメータを必要とせずに、それらの形態(form)およびサイズを推論することが可能である。しかしながら、他の実施形態では、クライアント・デバイスに対して明示するために、円筒形の高さを通知してもよい。
【0116】
以上の例では、SRDパラメータは、SupplementalPropertyまたはEssentialPropertyの値フィールドにおいて報告される。しかしながら、他の実施形態では、supplementalPropertyまたはEssentialPropertyあるいはそのサブエレメントにおいてであっても、これらのパラメータを別個のフィールドとして列挙してもよい。
【0117】
更に他の実施形態では、矩形タイルの代わりに、他の形状、例えば、球形タイルを使用してもよい。球形タイルは、タイルのサイズを示すために1つのパラメータ、即ち、その半径だけを必要とする。
【0118】
仮想現実にとって、レイテンシの短縮は非常に重要である。したがって、ある実施形態では、クライアント・デバイスの側におけるデータ処理、具体的には、クライアント・デバイスがFOVに合致する(match)タイルを選択しなければならないプロセスを削減することが望ましい場合がある。
【0119】
したがって、代替手法は、更に一層レイテンシを削減する(save)ために、相応しいプロトコル、例えば、迅速UDPインターネット接続(QUIC:Quick UDP Internet Connections)プロトコルを使用して、サーバに、ユーザの視点およびFOVの詳細(視点のピッチおよびヨーならびにFOVのサイズ)だけをクライアントに送らせる手法である。サーバは、全方位コンテンツをタイル・ストリームに分割するために、タイリング方式、例えば、HEVCタイリング方式を使用してもよい。次いで、クライアントの要求時に、サーバは最も該当するタイルをクライアント・デバイスに送ることができる。
【0120】
図11は、本発明の実施形態にしたがって空間タイル状全方位ビデオを処理するように構成された(adapt)ビデオ処理デバイスを表す。具体的には、図11は、タイル状および非タイル状全方位ビデオ・データを含むコンテンツを選択し検索するクライアント・デバイス1102、基準および改良(enhancement)タイル・ストリームのメディアをデコードする1つ以上のデコーダ1122、1124を含むメディア・エンジン1104、ならびにレンダリング・エンジン1106を含むビデオ処理デバイス1100を表す。レンダリング・エンジン1106は、このレンダリング・エンジンから発生するビデオ・フレームをバッファする1つ以上のビデオ・フレーム・バッファ、タイルのビデオ・フレームを空間的に配置し、ビデオ・フレームをスティッチして1つのビデオ・フレームにする画像プロセッサ1132、およびビデオ・フレームのビデオ・データを、コンテンツをユーザに表示するために使用される湾曲(例えば、球)面上に投影するように構成された3D投影モジュールを含む。3D投影モジュールは、マッピング情報に基づいて、ビデオ・フレームのビデオ・データを湾曲(例えば、球)面上に投影するように構成されてもよい。
【0121】
図11に示すように、クライアント・デバイスは、1つ以上のマニフェスト・ファイル1108を受信し、このマニフェスト・ファイルをメモリに格納するように構成することができる。マニフェスト・ファイル・パーザ1110は、マニフェスト・ファイルを解析および分析し、タイル状全方位ビデオ、即ち、タイル・ストリームについての情報を、コンテンツ選択モジュール1118に提供することができる。コンテンツ選択モジュールは、ビデオ処理デバイスのユーザの視点についての情報を受け取るように構成することができる。視点は、視点エンジン1136によって継続的に更新され、クライアント・デバイスに供給することができる。
【0122】
コンテンツ選択モジュールは、1つ以上のタイル・ストリームを選択するために、視点についての情報、即ち、視点の座標、および空間関係情報(例えば、マニフェスト・ファイルにおける空間関係記述子(SRD)に基づいて指定されるような)を使用することができる。
【0123】
コンテンツ選択モジュールは、選択したタイル・ストリームについての情報、具体的には、選択したタイル・ストリームのURLを、コンテンツ検索モジュールに転送することができる。コンテンツ検索モジュールは、要求メッセージを1つ以上のネットワーク・ノードに送信し、要求したタイル・ストリームの一部を含む応答メッセージを受信するように構成することができる。実施形態では、クライアント・デバイスは、HTTP要求メッセージをHTTPメディア・サーバに送信するため、そして要求したメディア・ストリームのメディア・データを含むHTTP応答メッセージを受信するために、HTTPクライアントを含んでもよい。
【0124】
更に、コンテンツ検索モジュールは、要求したメディア・データを受け取り、メディア・エンジン1104への入力のためのメディア・データを準備するために、1つ以上のバッファも含んでもよい。
【0125】
図12は、本開示において説明したように使用することができる例証的なデータ処理システムを示すブロック図である。データ処理システム1200は、システム・バス1206を通じてメモリ・エレメント1204に結合された少なくとも1つのプロセッサ1202を含むことができる。したがって、データ処理システムはメモリ・エレメント1204内にプログラム・コードを格納することができる。更に、プロセッサ1202は、システム・バス1206を通じてメモリ・エレメント1204からアクセスされたプログラム・コードを実行することができる。一態様では、データ処理システムは、プログラム・コードを格納および/または実行するのに適したコンピュータとして実現することができる。しかしながら、データ処理システム1300は、プロセッサおよびメモリを含み、本明細書内において説明した機能を実行することができる任意のシステムの形態で実装すればよいことは認められてしかるべきである。
【0126】
メモリ・エレメント1204は、例えば、ローカル・メモリ1208のような1つ以上の物理メモリ・デバイスと、1つ以上の大容量記憶デバイス1210とを含むことができる。ローカル・メモリとは、プログラム・コードの実際の実行中に通常使用されるランダム・アクセス・メモリまたは他の非永続的メモリ・デバイス(1つまたは複数)を指すことができる。大容量記憶デバイスは、ハード・ドライブまたは他の永続的データ記憶デバイスとして実装されればよい。また、処理システム1200は1つ以上のキャッシュ・メモリ(図示せず)も含むことができる。キャッシュ・メモリは、実行中にプログラム・コードを大容量記憶デバイス1210から検索しなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時的格納に備える。
入力デバイス1212および出力デバイス1214として図示されている入力/出力(I/O)デバイスは、任意に、データ処理システムに結合することができる。入力デバイスの例には、例えば、ポジション・トラッカ(position tracker)、キーボード、マウスのようなポインティング・デバイス、タッチ・スクリーン等を含むことができるが、これらに限定されるのではない。出力デバイスの例には、例えば、モニタまたは(頭部装着式)ディスプレイ、スピーカ等を含むことができるが、これらに限定されるのではない。入力デバイスおよび/または出力デバイスは、直接または仲介するI/Oコントローラを介してデータ処理システムに結合することができる。また、ネットワーク・アダプタ1216をデータ処理システムに結合してもよく、他のシステム、コンピュータ・システム、リモート・ネットワーク・デバイス、および/またはリモート記憶デバイスに、仲介するプライベートまたはパブリック・ネットワークを通じてデータ処理システムを結合することが可能になる。ネットワーク・アダプタは、前記システム、デバイス、および/またはネットワークによって送信されるデータを受信するデータ受信機、およびデータを前記システム、デバイス、および/またはネットワークに送信するデータ送信機を含むことができる。モデム、ケーブル・モデム、およびイーサネット・カードは、データ処理システム1250と共に使用することができる異なる型式のネットワーク・アダプタの例である。
【0127】
図12に図示するように、メモリ・エレメント1204はアプリケーション1218を格納することができる。尚、データ処理システム1200は、更に、アプリケーションの実行を容易にすることができるオペレーティング・システム(図示せず)を実行することもできることは認められてしかるべきである。実行可能プログラム・コードの形態で実現されるアプリケーションは、データ処理システム1200によって、例えば、プロセッサ1202によって実行することができる。アプリケーションを実行したことに応答して、データ処理システムは、本明細書において更に詳しく説明する1つ以上の動作を実行するように構成することができる。
【0128】
一態様では、例えば、データ処理システム1200がクライアント・データ処理システムを表すこともできる。その場合、アプリケーション1218はクライアント・アプリケーションを表すことができ、クライアント・アプリケーションは、実行されると、「クライアント」を参照して本明細書において説明した種々の機能を実行するように、データ処理システム1300を構成する。クライアントの例には、パーソナル・コンピュータ、携帯用コンピュータ、移動体電話機等を含むことができるが、これらに限定されるのではない。
【0129】
他の態様では、データ処理システムがサーバを表すこともできる。例えば、データ処理システムが(HTTP)サーバを表すのでもよく、その場合、アプリケーション1218は、実行されると、(HTTP)サーバ動作を実行するように、データ処理システムを構成することができる。他の態様では、データ処理システムが本明細書において言及したような、モジュール、ユニット、または機能を表すこともできる。
【0130】
本明細書において使用した用語は、特定の実施形態を説明するために限られており、本発明の限定であることを意図するのではない。本明細書において使用する場合、単数形「a」、「an」、および「the」は、文脈が明らかにそうでないことを示すのでなければ、複数形も含むことを意図している。更に、「含む」(comprises)および/または「含んでいる」(comprising)という用語は、本明細書において使用する場合、述べられる特徴、整数、ステップ、動作、エレメント、および/またはコンポーネントの存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、および/またはそのグループの存在や追加を除外するのではないことも理解されよう。
【0131】
以下の特許請求の範囲における全ての手段またはステップ+機能エレメントの対応する構造、材料、アクト、および均等物は、特定的に特許請求される他の特許請求対象エレメントと組み合わせて当該機能を実行する任意の構造、材料、またはアクトを含むことを意図している。本発明の説明は、例示および説明の目的に限って提示されたのであって、網羅的であること、または開示した形態に本発明を限定することを意図するのではない。本発明の範囲および主旨から逸脱することなく、当業者には多くの変更および変種が明白であろう。以上の実施形態が選択され説明されたのは、本発明の原理および実用的用途を最良に説明するためであり、更に他の当業者が、本発明を理解して、想定される特定の使用に適する種々の変更を行って種々の実施形態を得ることを可能にするためである。
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12