(57)【要約】  クライアント・デバイスによって全方位ビデオを処理するための方法について記載する。前記全方位ビデオは、湾曲面、好ましくは、球面上において当該全方位ビデオのビデオ・データの空間位置を判定するための３Ｄ座標系に関連付けられている。前記方法は、マニフェスト・ファイルを受信するステップであって、マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、タイル・ストリームが、画像表示枠を有するビデオ・フレームを構成し(comprise)、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、ステップと、マニフェスト・ファイルにおける空間関係情報に基づいて，更にクライアント・デバイスのユーザの視点に基づいて、第１解像度および第１タイル位置に関連付けられた第１タイル・ストリームと、第２解像度および第２タイル位置に関連付けられた第２タイル・ストリームとを選択するステップであって、第２解像度が第１解像度よりも低く、空間関係情報が、タイル毎に、タイル位置を定め、視点がユーザの目視方向を定め、タイル位置および視点が、３Ｄ座標系の座標に基づいて定められる、ステップとを含む。【選択図】      図１
2019526178.tif 000002
【特許請求の範囲】
【請求項１】
クライアント・デバイスによって全方位ビデオを処理する方法であって、前記全方位ビデオが、湾曲面、好ましくは、球体上において該全方位ビデオのビデオ・データの空間位置を判定するための３Ｄ座標系に関連付けられており、当該方法が、
好ましくは前記クライアント・デバイスによってマニフェスト・ファイルを受信するステップであって、前記マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、前記タイル・ストリームが、２Ｄ投影ビデオ・データを有するビデオ・フレームを含み、前記ビデオ・フレームが画像表示枠を有し、これによって、異なるタイル・ストリームにおける前記ビデオ・フレームの画像表示枠が、前記全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、ステップと、
好ましくは前記クライアント・デバイスによって、前記マニフェスト・ファイルにおける空間関係情報に基づいて、また、前記クライアント・デバイスのユーザの視点に基づいて、第１解像度および第１タイル位置に関連付けられた第１タイル・ストリームと、第２解像度および第２タイル位置に関連付けられた第２タイル・ストリームとを選択するステップであって、前記第２解像度が前記第１解像度よりも低く、前記空間関係情報が、タイル毎に、タイル位置を定め、前記視点が前記ユーザの目視方向を定め、前記タイル位置および前記視点が、前記３Ｄ座標系の座標に基づいて定められる、ステップと、
を含む、方法。
【請求項２】
請求項１記載の方法であって、更に、
好ましくは前記クライアント・デバイスによって、１つ以上のタイル・ストリーム記憶デバイス、好ましくは１つ以上のネットワーク・ノードに、前記選択した１つ以上のタイル・ストリームを要求するステップと、
前記１つ以上の選択したタイル・ストリームのビデオ・データを受信すると共にマッピング情報を受信するステップであって、好ましくは、前記マッピング情報の少なくとも一部が、前記マニフェスト・ファイルにおいて前記クライアント・デバイスに通知され、前記マッピング情報が、前記クライアント・デバイスが前記タイル・ストリームの２Ｄ投影ビデオ・データを、全方位ビデオ・データとして、前記湾曲面上にマッピングすることを可能にするための情報を、前記クライアント・デバイスに提供する、ステップと、
前記空間関係情報および前記マッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理するステップと、
を含む、方法。
【請求項３】
請求項２記載の方法において、前記マッピング情報が、前記全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式の指示を含み、更に、任意に、前記２Ｄ投影ビデオ・データを前記湾曲面上にマッピングするために必要とされる１つ以上のパラメータを含む、方法。
【請求項４】
請求項１〜３のいずれか１項記載の方法において、前記視点が前記ユーザの視野に関連付けられ、好ましくは、前記視点が前記ユーザの視野の中心点を定め、前記選択するステップが、
前記視野の中央部の少なくとも一部に位置するタイル位置に対して、高解像度のタイル・ストリームを選択するステップと、
前記視野の周辺部の少なくとも一部に位置するタイル位置に対して、前記高解像度よりも低い解像度のタイル・ストリームを選択するステップと、
を含む、方法。
【請求項５】
請求項２〜４のいずれか１項記載の方法において、前記ビデオ・データを処理するステップが、更に、
前記受信したタイル・ストリームのビデオ・データを、タイルを表すビデオ・フレームにデコードするステップと、
１つの時間インスタンスに関連付けられた前記タイルのビデオ・フレームを空間的に配置し、前記ビデオ・フレームをスティッチして１つのビデオ・フレームにするステップと、
前記マッピング情報に基づいて、前記ビデオ・フレームの２Ｄ投影ビデオ・データを、全方位ビデオ・データとして、前記湾曲面上にマッピングするステップと、
を含む、方法。
【請求項６】
請求項２〜５のいずれか１項記載の方法において、前記選択した１つ以上のタイル・ストリームの前記要求および受信が、ＨＴＴＰ適応ストリーミング・プロトコル、好ましくは、ＭＰＥＧ ＤＡＳＨストリーミング・プロトコルまたはその派生物に基づく、方法。
【請求項７】
請求項１〜６のいずれか１項記載の方法において、前記マニフェスト・ファイルが、更に、タイル・ストリームの１つ以上の表現を定め、好ましくは、前記１つ以上の表現が、１つ以上の解像度表現および／または１つ以上のタイリング表現を含む、方法。
【請求項８】
請求項１〜７のいずれか１項記載の方法において、前記マニフェスト・ファイルが、１つ以上の空間関係記述子（ＳＲＤ）を含み、空間関係記述子が、前記３Ｄ座標系の座標に基づいて前記タイルのタイル位置および寸法を定めるための１つ以上のＳＲＤパラメータを含む、方法。
【請求項９】
請求項８記載の方法において、前記１つ以上の空間関係記述子（ＳＲＤ）が、更に、前記全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式を通知するための１つ以上のＳＲＤパラメータを含み、好ましくは、前記２Ｄ投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および／またはこれらの組み合わせの内の１つを含む、方法。
【請求項１０】
全方位ビデオを処理するためのクライアント・デバイスであって、前記全方位ビデオが、湾曲面上に前記全方位ビデオのビデオ・データの空間位置を決定するための３Ｄ座標系に関連付けられており、前記クライアント・デバイスが、
プログラムの少なくとも一部が組み込まれたコンピュータ読み取り可能記憶媒体であって、マニフェスト・ファイルを含む、コンピュータ読み取り可能記憶媒体と、
コンピュータ読み取り可能プログラム・コードが組み込まれたコンピュータ読み取り可能記憶媒体と、
前記コンピュータ読み取り可能記憶媒体に結合されたプロセッサ、好ましくは、マイクロプロセッサと、
を含み、前記コンピュータ読み取り可能プログラム・コードの実行に応答して、前記プロセッサが、
マニフェスト・ファイルを受信する動作であって、前記マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、前記タイル・ストリームが、２Ｄ投影ビデオ・データを有するビデオ・フレームを含み、前記ビデオ・フレームが画像表示枠を有し、これによって、異なるタイル・ストリームにおける前記ビデオ・フレームの画像表示枠が、前記全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、動作と、
前記マニフェスト・ファイルにおける空間関係情報に基づいて、また、前記クライアント・デバイスのユーザの視点に基づいて、第１解像度および第１タイル位置に関連付けられた第１タイル・ストリームと、第２解像度および第２タイル位置に関連付けられた第２タイル・ストリームとを選択する動作であって、前記第２解像度が前記第１解像度よりも低く、前記空間関係情報がタイル毎にタイル位置を定め、前記視点が前記ユーザの目視方向を定め、前記タイル位置および前記視点が、前記３Ｄ座標系の座標に基づいて定められる、動作と、
を含む実行可能動作を実行するように構成される、クライアント・デバイス。
【請求項１１】
請求項１０記載のクライアント・デバイスにおいて、前記実行可能動作が、更に、
１つ以上のタイル・ストリーム記憶デバイス、好ましくは１つ以上のネットワーク・ノードに、前記選択した１つ以上のタイル・ストリームを要求する動作と、
前記１つ以上の選択したタイル・ストリームのビデオ・データを受信すると共に、マッピング情報を受信する動作であって、好ましくは、前記マッピング情報の少なくとも一部が、前記マニフェスト・ファイルにおいて前記クライアント・デバイスに通知され、前記マッピング情報が、前記クライアント・デバイスが前記タイル・ストリームの２Ｄ投影ビデオ・データを、全方位ビデオ・データとして、前記湾曲面上にマッピングすることを可能にするための情報を、前記クライアント・デバイスに提供する、動作と、
前記空間関係情報および前記マッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理する動作と、
を含む、クライアント・デバイス。
【請求項１２】
請求項１０または１１記載のクライアント・デバイスにおいて、前記マニフェスト・ファイルが、１つ以上の空間関係記述子（ＳＲＤ）を含み、空間関係記述子が、前記３Ｄ座標系の座標に基づいて前記タイルのタイル位置および寸法を定めるための１つ以上のＳＲＤパラメータを含み、任意に、前記１つ以上の空間関係記述子が、更に、前記全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式を通知するための１つ以上のＳＲＤパラメータを含み、好ましくは、前記２Ｄ投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および／またはこれらの組み合わせの内の１つを含む、クライアント・デバイス。
【請求項１３】
クライアント・デバイスのためにマニフェスト・ファイルを格納するための非一時的コンピュータ読み取り可能記憶媒体であって、前記クライアント・デバイスが、前記マニフェスト・ファイルに基づいて全方位ビデオを処理するように構成され、前記全方位ビデオが、湾曲面、好ましくは球面上に前記全方位ビデオのビデオ・データの空間位置を決定するための３Ｄ座標系に関連付けられており、前記マニフェスト・ファイルがコンピュータ読み取り可能データを含み、前記データが、
複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子であって、前記タイル・ストリームが、２Ｄ投影ビデオ・データを有するビデオ・フレームを含み、前記ビデオ・フレームが画像表示枠を有し、これによって、異なるタイル・ストリームにおける前記ビデオ・フレームの画像表示枠が、前記全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、複数のタイル・ストリーム識別子と、
空間関係情報であって、タイル毎にタイル位置を定め、前記タイル位置および前記視点が、前記３Ｄ座標系の座標に基づいて定められる、空間関係情報と、
前記クライアント・デバイスが、前記マニフェスト・ファイルにおいて全方位ビデオ・データとして識別された前記タイル・ストリームの２Ｄ投影ビデオ・データを、前記湾曲面上にマッピングすることを可能にするための情報を、前記クライアント・デバイスに提供するためのマッピング情報と、
を含む、非一時的コンピュータ読み取り可能記憶媒体。
【請求項１４】
請求項１３記載の非一時的コンピュータ読み取り可能記憶媒体において、前記コンピュータ読み取り可能データが、更に、
１つ以上の空間関係記述子（ＳＲＤ）であって、空間関係記述子が、前記３Ｄ座標系の座標に基づいて前記タイルのタイル位置および寸法を定めるための１つ以上のＳＲＤパラメータを含む、１つ以上の空間関係記述子（ＳＲＤ）、および／または
前記全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式を通知するための１つ以上のＳＲＤパラメータであって、好ましくは、前記２Ｄ投影の型式が、正距円筒投影、立体投影、円筒投影またはこれらの組み合わせの内の１つを含む、１つ以上のＳＲＤパラメータ、
を含む、非一時的コンピュータ読み取り可能記憶媒体。
【請求項１５】
ソフトウェア・コード部分を含むコンピュータ・プログラム製品であって、前記ソフトウェア・コード部分が、コンピュータのメモリ内で実行されると、請求項１〜９のいずれか１項記載の方法ステップを実行するように構成される、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間的にタイリングされた全方位ビデオのストリーミング(spatially tiled omnidirectional video streaming)に関し、特に、空間タイリング全方位ビデオをストリーミングするための方法およびシステム、空間タイリング全方位ビデオを処理するように構成されたクライアント・デバイス、空間タイリング全方位ビデオのクライアント・デバイスへのストリーミングを可能にするためのデータ構造、ならびにこのような方法を実行するためのコンピュータ・プログラム製品に関するが、これらに限定されるのではない。
【従来技術】
【０００２】
カメラおよび画像処理技術の進歩は、増々高い解像度で記録することを可能にするだけでなく、複数のカメラの出力を互いにスティッチすることも可能にする。このようにすると、１組のカメラを併せて、８K×４Kよりも高い解像度で、３６０度全体を記録することができる。このようなビデオを全方位ビデオと呼ぶこともできる。
全方位ビデオは、産業界で現在躍進を遂げつつある仮想現実（ＶＲ）および拡張現実（ＡＲ）のような、新たなユーザ体験を提供する。しかしながら、高品質のＶＲコンテンツをストリーミングする場合、高品質の全方位ビデオをストリーミングし球面コンテンツをビット・ストリームで表すために必要とされる高帯域幅要件を含む課題が今なお提起されている。
【０００３】
実際、利用可能な帯域幅は、効率とユーザ体験との間の折衷案となる。一方で、ユーザに興味がある視点(viewpoint)を高品質で、そして同時に最小限のレイテンシでユーザに提供する必要性がある。これは、達成することが極度に難しい目標である。何故なら、視点は空間的に制限されるが、ユーザは３６０度のストリーム内で彼らの視点を連続的に変化させることができ、１つの視点から他の視点への変遷は滑らかでなければならないからである。
【０００４】
全方位ビデオは、性質上球面であり、近年のビデオ・コード化規格とインターフェースするために、エンコーディングの前に、１つ以上の平面にマッピングされる。現在、球面ビデオをビット・ストリームで表すための標準的な方法は存在せず、異なる球面−平面マッピング(sphere-to-plane mapping)が可能であるため、相互運用性が問題となる。
【０００５】
最近になって、Ｆａｃｅｂｏｏｋ社が、全方位ビデオ・コンテンツに関する帯域幅問題の低減を可能にする企業固有のエンコーディング技法を提案した。この技法では、全方位ビデオを角錐にマッピングする。角錐の基底(basis)が、見る人の中央ＦＯＶに関係付けられた高解像度ビデオを表し、角錐の側面は、見る人の側方および背後におけるビデオ情報に使用される。角錐の側面におけるビデオ情報は、中央ＦＯＶのエッジから見る人の背後に向かって解像度が徐々に低下するように構成されている。このエンコーディング技法は、ファイル・サイズの大幅な縮小を可能にし、したがって全方位ビデオをストリーミングする際の帯域幅問題を改善する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、Ｆａｃｅｂｏｏｋ社の技法は、企業固有の解決手段であり、コード化レベルで実装され、つまり、相互運用性に関してはさほど柔軟でない。この解決手段は、ハード・コード化された角錐マッピング技法に基づくので、他の（別の）マッピング技法の中に更に一層の改善が得られるもの、または特殊用途に使用することができるものがあっても、これらを受け入れる予地がない。加えて、Ｆａｃｅｂｏｏｋ社が提案する特殊エンコーディング技法は、ＨＥＶＣおよびＶＰ９のような、従来の技術的現状のコード化技法と互換性がない。
【０００７】
したがって、以上のことから、従来のタイリングに基づくストリーミング方式は、全方位ビデオ・データをストリーミングするための効率的で柔軟なフレームワークを提供するには相応しくないという結果になる。
【課題を解決するための手段】
【０００８】
当業者には認められようが、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、またはソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態をなすことができ、これらは全て本明細書では一般に「回路」、「モジュール」、または「システム」と呼ぶこともできる。本開示において説明する機能は、コンピュータのマイクロプロセッサによって実行されるアルゴリズムとして実現することができる。更に、本発明の態様は、コンピュータ読み取り可能プログラム・コードが具体化されている、例えば、格納されている１つ以上のコンピュータ読み取り可能媒体（１つまたは複数）に具体化されたコンピュータ・プログラム製品の形態をなすこともできる。
【０００９】
１つ以上のコンピュータ読み取り可能媒体（１つまたは複数）の任意の組み合わせも利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体であってもよい。コンピュータ読み取り可能記憶媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、あるいはデバイス、更には以上のもののあらゆる適した組み合わせであってもよいが、これらに限定されるのではない。コンピュータ読み取り可能記憶媒体の更に具体的な例（非網羅的な羅列）を挙げるとすれば、以下を含むであろう。１本以上のワイヤを有する電気接続、可搬型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、消去可能プログラマブル・リード・オンリ・メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、可搬型コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、あるいは以上のもののあらゆる適した組み合わせ。本文書のコンテキストでは、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによる使用のため、またはそれと関連した使用のためのプログラムを収容または格納することができる、任意の有形媒体とすればよい。
【００１０】
コンピュータ読み取り可能信号媒体は、例えば、ベースバンドにまたは搬送波の一部としてコンピュータ読み取り可能プログラム・コードが内部に具体化された伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはこれらのあらゆる適した組み合わせを含むがこれらに限定されない種々の形態の内任意の形態をなすことができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、命令実行システム、装置、またはデバイスによる使用、またはそれと関連した使用のためにプログラムを伝達、伝搬、または移送することができる任意のコンピュータ読み取り可能媒体とすることができる。
【００１１】
コンピュータ読み取り可能媒体上に具体化されたプログラム・コードは、任意の適した媒体を使用して送信することができる。任意の適した媒体には、ワイヤレス、ワイヤライン、光ファイバ、ケーブル、ＲＦ等、または以上のもののあらゆる適した組み合わせを含むが、これらに限定されるのではない。本発明の態様のために動作を実行するコンピュータ・プログラム・コードは、１つ以上のプログラミング言語の任意の組み合わせで書くことができる。プログラミング言語には、Ｊａｖａ（商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語のような従来の手続き型プログラミング言語が含まれる。プログラム・コードは、完全にユーザのコンピュータにおいて、部分的にユーザのコンピュータにおいて、単独のソフトウェア・パッケージとして、部分的にユーザのコンピュータにおいてそして部分的にリモート・コンピュータにおいて、あるいは完全にリモート・コンピュータまたはサーバにおいて実行することができる。後者のシナリオでは、リモート・コンピュータをユーザのコンピュータに任意の型式のネットワークを通じて接続することができる。ネットワークには、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）が含まれ、または接続が外部コンピュータに対して行われてもよい（例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて）。
【００１２】
本発明の態様について、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図および／またはブロック図を参照して以下に説明する。尚、フローチャート図および／またはブロック図の各ブロック、そしてフローチャート図および／またはブロック図におけるブロックの組み合わせをコンピュータ・プログラム命令によって実現できることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサ、具体的には、マイクロプロセッサまたは中央処理ユニット（ＣＰＵ）に供給され、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスのプロセッサによって命令が実行されて、フローチャートおよび／またはブロック図の１つまたは複数のブロックにおいて指定された機能／アクトを実現する手段を形成する(create)ように、機械を生成することができる。
【００１３】
これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能媒体に格納することもでき、コンピュータ読み取り可能媒体に格納された命令が、フローチャートおよび／またはブロック図の１つまたは複数のブロックにおいて指定された機能／アクトを実現する命令を含む製品を生成するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の様式で機能するように指令することができる。
【００１４】
また、コンピュータ・プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラマブル装置、またはデバイス上で実行させ、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートおよび／またはブロック図の１つまたは複数のブロックにおいて指定された機能／アクトを実現するためのプロセスを設けるように、コンピュータ実装プロセスを生成することもできる。
【００１５】
図におけるフローチャートおよびブロック図は、本発明の種々の実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能（１つまたは複数）を実現するための１つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表すことができる。また、ある代替実施態様では、ブロック内に記された機能が、図に記された順序以外で行われてもよいことも注記してしかるべきである。例えば、連続して示される２つのブロックが、実際には、実質的に同時に実行されてもよく、またはこれらのブロックが、関与する機能に応じて、逆の順序で実行されてもよいときもある。また、ブロック図および／またはフローチャート図の各ブロック、ならびにブロック図および／またはフローチャート図におけるブロックの組み合わせは、指定された機能またはアクトを実行する特殊目的ハードウェア・ベース・システム、あるいは特殊目的ハードウェアおよびコンピュータ命令の組み合わせによっても実現できることも注記しておく。
【００１６】
本発明の目的は、先行技術において知られている欠点の内少なくとも１つを低減または解消することである。第１の態様において、本発明は，クライアント・デバイスによって全方位ビデオを処理する方法に関することができる。全方位ビデオは、球面のような湾曲面上に全方位ビデオのビデオ・データの空間位置を決定するための３Ｄ座標系に関連付けられてもよい。
【００１７】
実施形態では、この方法は、好ましくはクライアント・デバイスによってマニフェスト・ファイルを受信するステップであって、マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、タイル・ストリームが、画像表示枠(image view)を有するビデオ・フレームを構成し(comprise)、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、ステップと、好ましくはクライアント・デバイスによって、マニフェスト・ファイルにおける空間関係情報に基づいて，更にクライアント・デバイスのユーザの視点に基づいて、第１解像度および第１タイル位置に関連付けられた第１タイル・ストリームと、第２解像度および第２タイル位置に関連付けられた第２タイル・ストリームとを選択するステップであって、第２解像度が第１解像度よりも低く、空間関係情報が、タイル毎に、タイル位置を定め、視点がユーザの目視方向を定め、タイル位置および視点が、３Ｄ座標系の座標に基づいて定められる、ステップとを含む。
【００１８】
したがって、本発明は、クライアント・デバイスが、特定の視点、即ち、クライアント・デバイスのユーザが見ている方向を表す湾曲面上の点に対応する視点に対応する全方位ビデオの一部を、全方位ビデオ・データに適用される２Ｄ投影方式には依存しない方法で選択することを可能にする。マニフェスト・ファイルは、視点を定めるためにも使用される３Ｄ座標系に基づいて、タイルの空間位置およびタイルのサイズを記述するので、ＦＯＶに対して速いタイルの選択を達成することができる。このように、本発明は、ストリーミングされるコンテンツと仮想現実レンダリング・システムとの間のインターフェースを改良して提供することができる。クライアント・デバイスは、ストリーミングされるコンテンツの内ユーザの視点に対応するものを効率的に選択することができ、これは視点に基づく全方位ビデオのレンダリングには有利である。本発明は、クライアント・デバイスにストリーミングする必要があるタイルの速いタイル・ストリーム選択を可能にするが、これは高い品質の体験を提供するには必須である。
【００１９】
加えて、先行技術において知られている特殊なコード化方式とは対照的に、本発明は、低解像度ビデオ・タイルおよび高解像度ビデオ・タイルの独立した選択を可能にする。このように、異なる解像度および異なるサイズのタイルに基づいて、視野の中央部に高解像度ビデオ・データを含み、視野の周辺部および／または視野の外側に低解像度ビデオを含む視野を構築することができる。このようにして、レンダリングの間にクライアント・デバイスにストリーミングする必要があるデータの量は、特殊なコード化方式を使用する必要なく、劇的に削減することができる。実際、本発明は、ＡＶＣ、ＳＶＣ、およびＨＥＶＣのような、技術的現状のコード化方式の使用を可能にする。
【００２０】
実施形態では、前述の方法は、更に、
好ましくはクライアント・デバイスによって、１つ以上のタイル・ストリーム記憶デバイス、好ましくは１つ以上のネットワーク・ノードに、選択した１つ以上のタイル・ストリームを要求するステップと、１つ以上の選択したタイル・ストリームのビデオ・データを受信し、更にマッピング情報を受信するステップであって、好ましくは、マッピング情報の少なくとも一部が、マニフェスト・ファイルにおいてクライアント・デバイスに通知され、マッピング情報が、クライアント・デバイスがタイル・ストリームの２Ｄ投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングすることを可能にするための情報を、クライアント・デバイスに提供する、ステップと、空間関係情報およびマッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理するステップとを含んでもよい。
【００２１】
実施形態では、マッピング情報が、全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式の指示を含んでもよく、更に、随意に、２Ｄ投影ビデオ・データを湾曲面上にマッピングするために必要とされる１つ以上のパラメータを含んでもよい。
【００２２】
したがって、マッピング情報は、異なる投影型式に基づく異なる種類の全方位ビデオの柔軟な使用を可能にする。マッピング情報は、全方位ビデオが生成されたときに使用された２Ｄ投影の型式について、レンダリング・エンジンに知らせることができる。加えて、マッピング情報は、特定の２Ｄ投影に関連付けられたマッピング・パラメータをレンダリング・エンジンに供給することもできるので、レンダリング・エンジンは、逆に、２Ｄ投影されたビデオ・データを、使用された投影に従う湾曲面上に正しくマッピングすることができる。
【００２３】
実施形態では、視点がユーザの視野に関連付けられてもよく、好ましくは、視点がユーザの視野の中心点を定める。実施形態では、選択するステップが、視野の中央部の少なくとも一部に位置するタイル位置に対して、高解像度のタイル・ストリームを選択するステップと、視野の周辺部の少なくとも一部に位置するタイル位置に対して、高解像度よりも低い解像度のタイル・ストリームを選択するステップとを含んでもよい。
【００２４】
したがって、ＦＯＶの中央部だけが最高品質を必要であってもよく、一方ＦＯＶの周辺部はそれよりも低い品質のストリームで対処することもできる。全方位コンテンツに異なる品質レイヤを生成することにより、そして各品質レイヤを空間サブパート（タイル）に分割することにより、ストリーミング・クライアントは、異なる空間サブパートを異なる品質でダウンロードし、帯域幅の使用を最小限に抑えつつ、高品質の体験をユーザに提供する柔軟性を得る。
【００２５】
中央部および周辺部の寸法は、人のＦＯＶおよび帯域幅の考慮に基づいて決定または選択されてもよい。タイル状ビデオ・コンテンツは、中央および周辺ＦＯＶの異なる要件（タイル・サイズおよびビデオ品質に関する）を考慮に入れて生成することができ、この情報の少なくとも一部は、マニフェスト・ファイルを介して、クライアント・デバイスに通知することができる。その後、ビデオ処理デバイスにおけるクライアント・デバイスは、このマニフェスト・ファイルを使用して、中央および周辺ＦＯＶに基づいて異なるビデオ・タイルを選択することができる。
【００２６】
実施形態では、前記ビデオ・データを処理するステップが、更に、前記受信したタイル・ストリームのビデオ・データを、タイルを表すビデオ・フレームにデコードするステップと、１つの時間インスタンスに関連付けられたタイルのビデオ・フレームを空間的に配置し、ビデオ・フレームをスティッチして１つのビデオ・フレームにするステップと、マッピング情報に基づいて、ビデオ・フレームの２Ｄ投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングするステップとを含んでもよい。
【００２７】
実施形態では、前記選択した１つ以上のタイル・ストリームの要求および受信が、ＨＴＴＰ適応ストリーミング・プロトコル、好ましくは、ＭＰＥＧ ＤＡＳＨストリーミング・プロトコルまたはその派生物に基づいてもよい。
【００２８】
実施形態では、マニフェスト・ファイルが、更に、タイル・ストリームの１つ以上の表現を含み、好ましくは、前記１つ以上の表現が、１つ以上の解像度表現および／または１つ以上のタイリング表現を含んでもよい。
【００２９】
実施形態では、マニフェスト・ファイルが、１つ以上の空間関係記述子（ＳＲＤ）を含み、空間関係記述子が、３Ｄ座標系の座標に基づいてタイルのタイル位置および寸法を定めるための１つ以上のＳＲＤパラメータを含んでもよい。
【００３０】
実施形態では、１つ以上の空間関係記述子（ＳＲＤ）が、更に、全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式を通知するための１つ以上のＳＲＤパラメータを含み、好ましくは、２Ｄ投影の型式が、正距円筒投影 (equirectangular projection)、立方投影、円筒投影、あるいはこれらの組み合わせを含んでもよい。
【００３１】
拡張ＳＲＤは、相互運用性に関する利点を提供する。実際、同時に異なる２Ｄマッピングを使用して全方位ストリームを提供することもでき、ＳＲＤのsource_idパラメータは、これらのストリーム全てが同じコンテンツに関係することをクライアントに示すことができる。したがって、クライアントは、このクライアントにおいて最良にレンダリングすることができるフォーマットを選択することができる。また、全方位コンテンツをサポートしないクライアントには、同じコンテンツの非全方位バージョンを提供し、source_idの同じ値を使用することによって、それを全方位コンテンツに関係付けることも可能である。
【００３２】
本発明による拡張ＳＲＤは、ＶＲレンダリング・システムとのインターフェース改良に対処し、これにより、クライアント・デバイスがユーザの視点を効率的に処理することを可能にする。これは、全方位ビデオの視点に基づくレンダリングにとって重要である。したがって、これに基づくタイル・ストリーム選択方法は、クライアント・デバイスにストリーミングする必要があるサブパート（タイル）の選択迅速化を可能にする。これは、レイテンシを短縮し結果的に高い品質の体験を提供するためには必須である。
【００３３】
ある実施形態では、２Ｄ投影のビデオ・フレームは、空間タイリングをサポートするコデックに基づいてエンコードされてもよい。例えば、ＨＥＶＣ規格は、ＨＥＶＣタイルをサポートし、ビデオ・フレームは格子状のタイルに空間的に分割される。これらのＨＥＶＣタイルは、タイルの各々をマイクロプロセッサの異なるコアによって処理できるようにエンコードされる。ＨＥＶＣタイルに関連付けられたメディア・データは、これらが同じビデオ・フレームの他のタイルのメディア・データに対する空間デコーディング依存性を全く有さないようにエンコードすることができる。更に、タイルに関連付けられたメディア・データは、これらが以前のまたは今後のビデオ・フレームの他のタイルのメディア・データに対して時間デコーディング依存性を全く有さないようにエンコードされる。その場合、各ＨＥＶＣタイルのビデオ・データはメディア・ソース上にＨＥＶＣタイル・トラック、即ち、ＨＥＶＣタイル・ファイルとして格納することができる。これらのタイル・トラックは、ＩＳＯ／ＩＥＣ１４４９６−１２、ＩＳＯベース・メディア・ファイル・フォーマット（ＩＳＯＢＭＦＦ：ISO Base Media File Format）またはＩＳＯ／ＩＥＣ１４４９６−１５、ＩＳＯベース・メディア・ファイル・フォーマットのＮＡＬユニット構造化ビデオの搬送(ISO/IEC 14496-15 Carriage of NAL unit structured video)に基づくデータ・コンテナ・フォーマットを有してもよい。その場合、コンテンツ処理デバイスは、タイルをサポートするＨＥＶＣクライアントを当然備えており、要求されたＨＥＶＣタイル・ストリームを１つのビデオ・フレームにデコードすることができる。
【００３４】
他の態様において、本発明は、全方位ビデオを処理するためのクライアント・デバイスに関し、前記全方位ビデオが、湾曲面上に前記全方位ビデオのビデオ・データの空間位置を決定するための３Ｄ座標系に関連付けられる。このクライアント・デバイスは、プログラムの少なくとも一部が具体化されているコンピュータ読み取り可能記憶媒体であって、マニフェスト・ファイルを含む、コンピュータ読み取り可能記憶媒体と、コンピュータ読み取り可能プログラム・コードが具体化されているコンピュータ読み取り可能記憶媒体と、コンピュータ読み取り可能記憶媒体に結合されたプロセッサ、好ましくは、マイクロプロセッサとを含む。コンピュータ読み取り可能プログラム・コードの実行に応答して、プロセッサは、マニフェスト・ファイルを受信する動作であって、マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、タイル・ストリームが、画像表示枠を有するビデオ・フレームを構成し(comprise)、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、動作と、マニフェスト・ファイルにおける空間関係情報に基づいて，更にクライアント・デバイスのユーザの視点に基づいて、第１解像度および第１タイル位置に関連付けられた第１タイル・ストリームと、第２解像度および第２タイル位置に関連付けられた第２タイル・ストリームとを選択する動作であって、第２解像度が第１解像度よりも低く、空間関係情報が、タイル毎に、タイル位置を定め、視点がユーザの目視方向を定め、タイル位置および視点が、３Ｄ座標系の座標に基づいて定められる、動作とを含む、実行可能動作を実行するように構成される。
【００３５】
実施形態では、 実行可能動作が、更に、１つ以上のタイル・ストリーム記憶デバイス、好ましくは１つ以上のネットワーク・ノードに、選択した１つ以上のタイル・ストリームを要求する動作と、１つ以上の選択したタイル・ストリームのビデオ・データを受信し、更にマッピング情報を受信する動作であって、好ましくは、マッピング情報の少なくとも一部が、マニフェスト・ファイルにおいてクライアント・デバイスに通知され、マッピング情報が、クライアント・デバイスがタイル・ストリームの２Ｄ投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングすることを可能にするための情報を、クライアント・デバイスに提供する、動作と、空間関係情報およびマッピング情報に基づいて、前記受信したタイル・ストリームのビデオ・データを処理する動作とを含んでもよい。
【００３６】
実施形態では、マニフェスト・ファイルが、１つ以上の空間関係記述子（ＳＲＤ）を含み、空間関係記述子が、３Ｄ座標系の座標に基づいてタイルのタイル位置および寸法を定めるための１つ以上のＳＲＤパラメータを含んでもよい。
【００３７】
実施形態では、マニフェスト・ファイルが、全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式を通知するための１つ以上のＳＲＤパラメータを含む、１つ以上の空間関係記述子を含んでもよい。
【００３８】
実施形態では、２Ｄ投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および／またはこれらの組み合わせを含む。
【００３９】
他の態様において、本発明は、クライアント・デバイスによって全方位ビデオを処理する方法に関することができる。前記全方位ビデオは、湾曲面、好ましくは、球体上に前記全方位ビデオのビデオ・データの空間位置を決定するための３Ｄ座標系に関連付けられる。前記方法は、好ましくはクライアント・デバイスによってマニフェスト・ファイルを受信するステップであって、マニフェスト・ファイルが、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子を含み、タイル・ストリームが、画像表示枠を有するビデオ・フレームを含み、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、ステップと、  
好ましくはクライアント・デバイスによって、マニフェスト・ファイルにおける空間関係情報に基づいて，更にクライアント・デバイスのユーザの視点に基づいて、第１解像度を有する１つ以上のタイル・ストリームと、第２解像度に関連付けられた第２ストリームとを選択するステップであって、第２解像度が第１解像度よりも低く（例えば、低解像度のベース・レイヤ）、空間関係情報が、タイル毎に、タイル位置を定め、視点がユーザの目視方向を定め、タイル位置および視点が、３Ｄ座標系の座標に基づいて定められる、ステップとを含む。
【００４０】
したがって、この実施形態では、ユーザのＦＯＶの中央部にビデオ・データをレンダリングするために、タイル・ストリーミングに基づいて高解像度ビデオ・データを要求することができ、一方ユーザのＦＯＶの周辺部および／または外側のエリアには、非タイル状の低解像度のベース・レイヤを要求してもよい。
【００４１】
実施形態では、Ｈ．２６４／ＭＰＥＧ−４ ＡＶＣビデオ圧縮規格のＡｎｎｅｘ Ｇ ｅｘｔｅｎｓｉｏｎから知られているスケーラブル・ビデオ・コード化（ＳＶＣ：scalable video coded)に基づいて、非タイル状およびタイル状ビデオ表現をコード化してもよい。したがって、この場合、非タイル状低解像度レイヤは、ＳＶＣベース・レイヤとしてフォーマットされてもよく、一方タイル状中および高解像度表現は、ＳＶＣエンハンスメント・レイヤ(enhancement layer)としてフォーマットされてもよい。
【００４２】
１つの態様において、本発明は、クライアント・デバイスのためにマニフェスト・ファイルを格納するための非一時的コンピュータ読み取り可能記憶媒体に関し、前記クライアント・デバイスが、前記マニフェスト・ファイルに基づいて全方位ビデオを処理するように構成されており、前記全方位ビデオが、湾曲面、好ましくは球上に前記全方位ビデオのビデオ・データの空間位置を決定するための３Ｄ座標系に関連付けられており、前記マニフェスト・ファイルがコンピュータ読み取り可能データを含む。前記データは、複数のタイル・ストリームを識別するための複数のタイル・ストリーム識別子であって、タイル・ストリームが、画像表示枠を有するビデオ・フレームを含み、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの２Ｄ投影の異なる領域を覆い、１つの領域が１つのタイルを定める、複数のタイル・ストリーム識別子と、空間関係情報であって、この空間関係情報がタイル毎にタイル位置を定め、タイル位置および視点が、３Ｄ座標系の座標に基づいて定められる、空間関係情報と、クライアント・デバイスが、マニフェスト・ファイルにおいて識別されたタイル・ストリームの２Ｄ投影ビデオ・データを、全方位ビデオ・データとして、湾曲面上にマッピングすることを可能にするための情報を、クライアント・デバイスに提供するためのマッピング情報とを含む。
【００４３】
実施形態では、マニフェスト・ファイルのコンピュータ読み取り可能データが、更に、１つ以上の空間関係記述子（ＳＲＤ）であって、空間関係記述子が、３Ｄ座標系の座標に基づいてタイルのタイル位置および寸法を定めるための１つ以上のＳＲＤパラメータを含む、１つ以上の空間関係記述子（ＳＲＤ）、および／または、全方位ビデオ・データを平坦面上に投影するために使用される２Ｄ投影の型式を通知するための１つ以上のＳＲＤパラメータであって、好ましくは、２Ｄ投影の型式が、正距円筒投影、立体投影、円筒投影、若しくは派生物、および／またはこれらの組み合わせを含む、１つ以上のＳＲＤパラメータを含む。
【００４４】
また、本発明は、ソフトウェア・コード部分を含むプログラム製品に関することができ、ソフトウェア・コード部分が、コンピュータのメモリ内で実行されると、前述の方法ステップの内任意のものを実行するように構成される。
【００４５】
添付図面を参照しながら、本発明について更に説明する。添付図面は、本発明による実施形態を模式的に示す。尚、本発明はこれらの具体的な実施形態に限定されることは全くないことは理解されよう。
【図面の簡単な説明】
【００４６】
【図１】図１は、本発明の実施形態による全方位ビデオ用ビデオ・ストリーミング・システムの模式図を表す。
【図２】図２Ａ〜２Ｃは、本発明の実施形態による全方位ビデオ用クライアント・デバイスの３Ｄ座標系における視点を示す。
【図３Ａ】図３Ａは、本発明の種々の実施形態によるタイル状全方位ビデオ(tiled omnidirectional video)の生成および再生(playout)のフローを示す。
【図３Ｂ】図３Ｂは、本発明の種々の実施形態によるタイル状全方位ビデオ(tiled omnidirectional video)の生成および再生(playout)のフローを示す。
【図４】図４は、本発明の実施形態によるタイル状全方位ビデオ用クライアント・デバイスの視野を示す。
【図５】図５Ａ〜図５Ｄは、本発明の実施形態による全方位ビデオ用クライアント・デバイスで使用するための異なるビデオ品質の異なるタイリング表現を示す。
【図６】図６は、本発明の実施形態によるタイリング・ビデオ全方位ビデオを構成する(comprise)ビデオ・フレームを表す。
【図７】図７は、全方位ビデオの２Ｄ平面への投影の他の例を示す。
【図８】図８は、本発明の実施形態による全方位ビデオ用クライアント・デバイスの視野を示す。
【図９】図９Ａ〜図９Ｄは、本発明の実施形態による全方位ビデオ用クライアント・デバイスで使用するための異なるビデオ品質の異なるタイリング表現を示す。
【図１０】図１０は、本発明の実施形態によるタイリング・ビデオ全方位ビデオを構成するビデオ・フレームを表す。
【図１１】図１１は、本発明の実施形態にしたがって、空間タイリング全方位ビデオを処理するように構成された(adapted)クライアント・デバイスを表す。
【図１２】図１２は、本開示において説明する実施形態と共に使用することができる例証的なデータ処理システムを示すブロック図を表す。
【発明を実施するための形態】
【００４７】
図１は、本発明の実施形態による全方位ビデオ用ビデオ・ストリーミング・システムの模式図を示す。具体的には、図１は、１つ以上のメディア・ソース１０４、例えば、１つ以上のビデオ・サーバを含むビデオ・ストリーミング・システム１００を表す。メディア・ソース１０４は、所定のデータ・フォーマットに基づいてタイル状全方位ビデオ・データ(tiled omnidirectional video data)１０２を格納するように構成されている。
【００４８】
タイル状全方位コンテンツは、個々のタイル・ストリーム・ファイル１０３１〜１０３４として格納することができ、タイル・ストリームのビデオ・フレームは、全方位ビデオ・コンテンツの矩形平面への二次元投影を表すビデオ・フレームの小区域（タイル）を表す。タイル・ストリーム識別子（例えば、ＵＲＬ）、および異なるタイル・ストリームの異なる小区域（タイル）間の空間関係は、いわゆる空間マニフェスト・ファイル１０６に格納される。タイル状コンテンツの概念については、以下で更に詳しく説明する。
【００４９】
１つ以上のメディア・ソースは、ストリーミング・プロトコルに基づいて、ビデオ・データを全方位ビデオ処理デバイス(omnidirectional video processing devices)１１８１〜１１８３（以後省略してビデオ処理デバイスと呼ぶ）にストリーミングするように構成されている(adapted)。メディア・ソースは、多数のビデオ処理デバイスへのメディア・データの効率的な配信のために構成されたコンテンツ配信ネットワーク（ＣＤＮ： content delivery network）の一部であってもよい。
【００５０】
ビデオ処理デバイスは、全方位ビデオ・データを処理し、表示のために全方位ビデオ・データをレンダリングするように構成されている。このようなビデオ処理デバイスの非限定的な例には、仮想現実および拡張現実の用途に使用される、頭部装着型ディスプレイ（ＨＭＤ：head-mounted display）がある。ＨＭＤは、視点(viewpoint)、すなわち、ＨＭＤのユーザが見ている３Ｄ空間における方向を判定するために、頭部、目、および／または身体の動きを追跡する１つ以上のセンサを含む。視点は、３Ｄ空間において方向を定めるのに適した、球面座標系のような、座標系に基づいて表現されてもよい。ＨＭＤは、更に、視野（ＦＯＶ：field of view）、即ち、特定の視点および所与の時点に対してＨＭＤが表示することができる全方位ビデオのエリアによって特徴付けられる。ＨＭＤのＦＯＶは、球面座標系に基づいて表現されてもよい。
【００５１】
ビデオ処理デバイスの各々は、クライアント・デバイス１２０１〜１２０３を含むことができる。クライアント・デバイス１２０１〜１２０３は、ネットワークから、具体的には、ビデオ・サーバ１０４および／またはビデオ・キャッシュ１１６のようなネットワーク・ノードに全方位メディア・データを要求するように構成されている。ビデオ処理デバイスは、更に、要求したビデオ・データを受信し、メディア・エンジン１２２１〜１２２３への入力のためにメディア・データをバッファするように構成されている。メディア・ビデオは、メディア・データをビデオ・フレームにデコードするために１つ以上のデコーディング・インスタンスを実行することができる、１つ以上のプロセッサ、例えば、グラフィカル処理ユニット（ＧＰＵ）を含んでもよい。
【００５２】
コンテンツ生成においては、所定のマッピング、例えば、正距円筒投影に基づいて方位ビデオ・データを生成することができる。したがって、マッピングされた全方位ビデオのビデオ・フレームは、全方位ビデオ・データの正距円筒投影を表すことができる画素を含む。これらのビデオ・フレームは、タイリング・プロセスを受けることができ、ビデオ・フレームはいわゆるビデオ・タイル（または省略して、タイル）に空間的に分割される。タイリング・プロセスは、ビデオ・データ（画素）の内ビデオ・フレームからのタイルに対応するエリアを切り抜き(crop)、この切り抜いたビデオ・データをエンコードし、エンコードしたビデオ・データをビデオ・ファイルとして格納する処理を含むことができる。このプロセスを異なるタイルに繰り返すことによって、別個にアクセスしクライアント・デバイスにストリーミングすることができる１組のビデオ・ファイルが得られる。コンテンツ処理デバイスは、１つ以上のタイル・ストリームを要求するクライアント、異なるタイル・ストリームのビデオ・データをデコードする１つ以上のデコーダ、およびビデオ・フレームを一緒にスティッチして１つのビデオ・フレームにするレンダリング・エンジンを当然含む。
【００５３】
あるいは、ある実施形態では、空間タイリングをサポートするコデックに基づいて、 ２Ｄ投影のビデオ・フレームをエンコードしてもよい。例えば、ＨＥＶＣ規格は、ＨＥＶＣタイルをサポートし、ビデオ・フレームは格子状のタイルに空間的に分割される。これらのＨＥＶＣタイルは、タイルの各々をマイクロプロセッサの異なるコアによって処理できるようにエンコードされる。ＨＥＶＣタイルに関連付けられたメディア・データは、これらが同じビデオ・フレームの他のタイルのメディア・データに対する空間デコーディング依存性を全く有さないようにエンコードすることができる。更に、タイルに関連付けられたメディア・データは、これらが以前のまたは今後のビデオ・フレームの他のタイルのメディア・データに対して時間デコーディング依存性を全く有さないようにエンコードされる。その場合、各ＨＥＶＣタイルのビデオ・データはメディア・ソース１０４上にタイル・トラックとして格納することができる。これらのタイル・トラックは、ＩＳＯ／ＩＥＣ１４４９６−１２、ＩＳＯベース・メディア・ファイル・フォーマット（ＩＳＯＢＭＦＦ：ISO Base Media File Format）またはＩＳＯ／ＩＥＣ１４４９６−１５、ＩＳＯベース・メディア・ファイル・フォーマットのＮＡＬユニット構造化ビデオの搬送(ISO/IEC 14496-15 Carriage of NAL unit structured video)に基づくデータ・コンテナ・フォーマットを有してもよい。その場合、コンテンツ処理デバイスは、タイルをサポートするＨＥＶＣクライアントを当然備えており、要求されたタイル・ストリームを１つのビデオ・フレームにデコードすることができる。
【００５４】
エンコードされたビット・ストリームをクライアント・デバイスに送信するために、異なるトランスポート・プロトコルを使用することができる。例えば、実施形態では、タイル・ストリームをクライアント・デバイスに配信するために、ＨＴＴＰ適応ストリーミング（ＨＡＳ：HTTP adaptive streaming）プロトコルを使用することができる。その場合、タイル・ストリームにおけるビデオ・フレームのシーケンスは、通例２〜１０秒のメディア・データを含む時間セグメントに一時的に分割することができる。このような時間セグメントは、記憶媒体上にメディア・ファイルとして格納することができる。実施形態では、デコーダが直接ＨＡＳセグメントにおけるメディア・データをデコードし始めることができるように、時間セグメントは、その時間セグメントまたは他の時間セグメントにおける他のフレーム、例えば、Ｉフレームまたはその同等物に対して時間コード化依存性を有さないメディア・データから開始するのでもよい。随意に、メディア・ストリームに関するパラメータ、例えば、空間解像度、フレーム・レート、コデック・プロファイルおよびレベル等によってデコーダを初期化することを唯一の目的として、メディア・セグメントと共に初期化セグメントを設けてもよい。
【００５５】
クライアント・デバイスは、ビデオ処理デバイスの視点に関連する１組のタイルを選択するように構成することができる。実施形態では、クライアント・デバイスは、いわゆるマニフェスト・ファイル１０６における情報、即ち、クライアント・デバイスのためのメタデータを含む１つ以上のデータ構造に基づいて、タイル・ストリームを選択しネットワークに要求するために、この選択を実行することができる。
【００５６】
マニフェスト・ファイルは、ストリーム識別子、例えば、ＵＲＬ、またはこのようなストリーム識別子を判定するための情報を含む(comprise)ことができる。ストリーム識別子は、１つ以上のタイル・ストリーム識別子を含む(include)ことができる。更に、マニフェスト・ファイルは、タイル間に存在する空間関係についてクライアント・デバイスに通知するために空間関係情報を含むこともできる。実施形態では、タイル・ストリーム識別子をタイル位置情報、即ち、タイル・ストリームのタイル状ビデオ・フレームにおけるタイルの位置についてクライアント・デバイスに通知するための情報と関連付けることができる。速いタイル選択を可能にするために、タイル位置情報を球面座標で表してもよい。
【００５７】
更に、マニフェスト・ファイルは、１つ以上のネットワーク・ノードに関する位置情報、例えば、ネットワーク・ノードの１つ以上のＵＲＬおよび／またはネットワーク・アドレスも含むことができる。これらのネットワーク・ノードは、要求されたメディア・データをクライアント・デバイスに送信するように構成されたメディア・ソース１０４および／またはメディア・キャッシュ１１６に関係付けることができる。クライアント・デバイスは、マニフェスト・ファイルを使用して、ビデオ処理デバイスによってクライアント・デバイスに供給される視点に基づいて、１つ以上のタイル・ストリームを選択することができる。
【００５８】
メディア・デバイス１１８１〜１１８３におけるクライアント・デバイス１２０１〜１２０３は、タイルのメディア・データを受信およびバッファし、メディア・エンジン１２２１〜１２２３への入力のために、メディア・データを１つ以上のビット・ストリームとして準備することができる。メディア・エンジンは、タイルのメディア・データをビデオ・フレームにデコードするための１つ以上のデコーダを含むことができる。次いで、生成したビデオ・フレームを、メディア・エンジンに結合されているレンダリング・エンジン１２４１〜１２４３に転送する。レンダリング・エンジンは、ビデオ・フレームをバッファするためのフレーム・バッファと、異なるタイル・ストリームのビデオ・フレームを融合して(fusing)、視野（ＦＯＶ）の正距円筒バージョンを表す１つのビデオ・フレーム１２６にするためにフュージョン・プロセッサ（図示せず）とを含むことができる。ビデオ・フレーム１２６は、レンダリングのために球面表現に変換する必要がある。
【００５９】
図２Ａ〜図２Ｃは、本発明の実施形態による全方位ビデオ用クライアント・デバイスの３Ｄ座標系における視点を示す。図２Ａは、全方位での使用に相応しい３Ｄ座標系の例を示す。具体的には、図２Ａは、球面上の視点２０２を定める３Ｄ球面座標系を示し、原点から視点に延びるベクトルの方向が、３Ｄ空間における全方位ビデオ処理デバイスのユーザの目視方向を定める。この方向は、極角θ（天頂角またはヨー角とも呼ぶ）および方位角φ（ピッチ角と呼ばれることもある）によって定めることができる。これらのパラメータは、球面物体上の位置が緯度および経度によって定められる地理的座標系に関係がある。
【００６０】
図２Ｂは、原点において視点の方向を見ている観察者の視野（ＦＯＶ）を定める。視野は、観察者によって任意の所与の時点に見られる観察可能な世界の範囲(extent)と定義してもよい。この特定的な場合では、観察者、即ち、全方位ビデオ処理デバイスのユーザにとって、観察可能な世界は、球面上に投影された全方位コンテンツと見なすことができ、視野は、全方位コンテンツの内、全方位ビデオ処理デバイスによって所与の時点にユーザに提示することができる部分を定める。
【００６１】
全方位ビデオについて図２Ｂに示すように、原点における観察者のＦＯＶは、観察者の目視方向における球の表面上のエリアと定義することができる。ＦＯＶは、観察者に提示することができる全方位ビデオの量を制限し、ＦＯＶの範囲（寸法）は、球面座標、例えば、天頂角および方位角に関して定義することができる。実施形態では、ＦＯＶは、ＦＯＶの中心としての視点θ０、Φ０によって定めることができ、θ０±ΔΘ、φ０±ΔφがＦＯＶの「幅」および「高さ」を定める。
【００６２】
従来のコード化方式に基づいて全方位ビデオをコード化することを可能にするために、全方位ビデオを最初に処理して、従来のエンコーダに入力できるフォーマットにする。従来のコデックは平面矩形ビデオ・フレームしか扱うことができないので、通例、ビデオ・データを従来の矩形ビデオ・フレーム・フォーマットの形状にマッピングする。異なるマッピングを使用することもできる。例えば、図２Ｃは全方位コンテンツの矩形平面上への正距円筒投影を表す。格子線によって示すように、このようなマッピングによって、球の前方、左側、右側、および後ろ側を含むビデオ・ピクチャ２１８が得られ、投影のために、物体は北極および南極に向かってピクチャ内で歪む。デコーダ・サイドでは、正距円筒投影は、湾曲面、例えば、球面に投影されるコンテンツに逆変換される必要がある。
【００６３】
全方位ビデオが生成される方法に応じて、そしてＶＲ用途の種類に応じて、その他の異なる型式の投影を使用することもできる。マッピングの型式、およびマッピングに必要とされるパラメータをマッピング情報と呼ぶ。
【００６４】
図２Ａ〜図２Ｃにおいて視点およびＦＯＶを記述するための３Ｄ座標系は球面座標系を表すが、他の湾曲線形座標系も、３Ｄにおいて湾曲面を記述するのに相応しければ、使用することができる。
【００６５】
視野２０８に対応するビデオ・データの部分のみをレンダリングする間に、ＦＯＶを再生する。このために、ビデオ・フレームを空間的にタイル状に分割し、個々のタイルのビデオ・データを処理し、クライアントがこれらに個々にアクセスし要求できるように、別個のファイルに格納する。タイル状全方位コンテンツの作成および再生に関する実施形態については、以下で更に詳しく説明する。
【００６６】
図３Ａ〜図３Ｂは、本発明の種々の実施形態によるタイル状全方位ビデオの生成および再生のフローを示す。図３Ａは、タイル状全方位ビデオの生成を表す。第１ステップ３０２において、全方位ビデオ・データを取り込むことができ、取り込まれるビデオ・データは、３Ｄ空間における目視方位(viewing orientation)の関数である。その後、画像を処理して２Ｄ矩形ビデオ・フレームとし（ステップ３０４）、ここで画素は立体マップにおける画素の正距円筒投影を表す。このようなビデオ・フレームを正距円筒ビデオ・フレームと呼ぶこともできる。ある実施形態では、全方位ビデオを異なる品質、例えば、ＳＤ、ＨＤ、ＵＨＤ、およびそれ以上で取り込むこともできる。
【００６７】
正距円筒ビデオ・フレームは、各タイルが、全方位ビデオ・データを表示するためにビデオ処理デバイスによって使用される湾曲（例えば、球）面のエリアを表すように、空間的にタイルに分割する（ステップ３０６）ことができる。各タイルを湾曲面上のタイル位置に関連付けることができ、３Ｄ座標系、例えば、球面座標系に関して表現することができる。ビデオ・フレームにおけるタイルと球面上におけるエリアとの間の関係は、使用されるマッピングにしたがって決定される（図２Ｃを参照して説明したとおり）。
【００６８】
タイリング・プロセスは、正距円筒ビデオ・フレームからあるエリアのビデオ・データ（画素）を切り抜く処理を含んでもよい。このようなエリアをビデオ・タイルまたは省略してタイルと呼ぶこともできる。正距円筒ビデオ・フレームのシーケンスにおいて同じエリアに対してクロッピング・プロセスを繰り返すと、タイルのシーケンスが得られる。これらのタイルのビデオ・データは、任意の既知のコデック、例えば、ＡＶＣ、ＳＶＣ、ＨＥＶＣ、ＶＰ９等を使用してエンコードし、ビデオ・タイル・ファイルに格納することができる。ビデオ・フレームからの正距円筒ビデオ・フレームにおける異なるエリアに対してこのプロセスを適用すると、別個にアクセスし１つ以上のタイル・ストリームとしてクライアント・デバイスにストリーミングすることができる１組のビデオ・タイル・ファイルが得られる（ステップ３０８）。したがって、タイル・ストリームは画像表示枠（ビデオ・タイルまたは省略してタイル）を有するビデオ・フレームを構成し(comprise)、これによって、異なるタイル・ストリームのビデオ・フレームの画像表示枠が、全方位ビデオの２Ｄ投影の異なる領域を覆うことになる。
【００６９】
その上、このコンテンツ生成プロセスは、異なるタイル毎および異なるビデオ品質毎にビデオ・タイル・ファイルが生成されるように、同じ全方位ビデオの異なる品質毎に繰り返してもよい。同様に、このコンテンツ生成プロセス（ステップ３０４および３０６）は、立体または円筒２Ｄ投影のような、異なる２Ｄ投影を生成するために繰り返してもよい。
【００７０】
更に他の実施形態では、異なるタイリング格子を使用することもできる。例えば、低品質のビデオをストリーミングするためには大きなタイルを使用すればよく、一方高品質のビデオをストリーミングするためには小さなタイル（粒度が小さいタイル格子）を使用すればよい。同様に、用途に応じて、タイル格子におけるタイルのサイズも異なってもよい。代わりに、および／または、加えて、同じコンテンツに基づいて異なるタイリング格子を生成することもできる。
【００７１】
実施形態では、ＭＰＥＧ ＤＡＳＨのようなＨＴＴＰベースのストリーミング・プロトコルを使用することもできる。その場合、所定期間（通例、２〜１０秒）の短いセグメント・ファイルにビデオ・タイル・ファイルを時間的にセグメント化することができる。
【００７２】
ビデオ・タイル・ファイルの生成の間に、いわゆる空間マニフェスト・ファイルが生成される。このマニフェスト・ファイルは、ビデオ処理デバイスにおけるクライアント・デバイスのためのメタデータを含むことができる。このメタデータは、ビデオ処理デバイスがタイル・ストリームを要求しタイル・ストリームにおけるビデオ・データを処理することを可能にする。このために、マニフェスト・ファイルは、タイル・ストリームを要求するためのネットワーク・アドレスを識別するために、タイル識別子、例えば、ＵＲＬを含むことができる。ある実施形態では、タイル識別子は、クライアント・デバイスが異なるビデオ品質から選択できるように、品質情報に関連付けられる。
【００７３】
更に、マニフェスト・ファイルは、タイル間に存在する空間関係についてクライアント・デバイスに通知するために、空間関係情報も含むことができる。このために、タイル識別子を、湾曲（例えば、球）面のエリアを定める座標に関連付けてもよく、ビデオ処理デバイスによって全方位ビデオを表示するために使用される。更に、マニフェスト・ファイルは、マッピング情報、即ち、選択されたビデオ・タイルのビデオ・データを表示するためにクライアント・デバイスが必要とする情報も含むことができる。マッピング情報は、例えば、タイル状全方位ビデオ・コンテンツを生成するために使用されるマッピングの型式の識別子を含むことができる。
【００７４】
ＭＰＥＧ ＤＡＳＨの場合、マニフェスト・ファイル（ＤＡＳＨではメディア・プレゼンテーション記述（ＭＰＤ）と呼ぶ）は空間関係記述子（ＳＤＲ）を含むことができる。実施形態では、ＳＤＲは、３Ｄ座標系に基づいてタイルの位置を記述する空間関係情報についてＤＡＳＨクライアントに通知するために拡張することができ、全方位ビデオを表示するために使用される湾曲面を記述（モデル化）するために使用される。他の実施形態では、タイル状全方位ビデオ・コンテンツを生成するために使用されるマッピングの型式についてＤＡＳＨクライアントに通知するように、ＳＤＲを構成することもできる。このようなＳＲＤの例について、以下で更に詳しく説明する。
【００７５】
マニフェスト・ファイルにおいて識別されたタイル状全方位ビデオは、タイル状でない全方位ビデオと組み合わせて使用することもできる。例えば、実施形態では、マニフェスト・ファイルにおいて識別されたタイル・ストリームが、全方位ビデオの中および高品質表現に関係があり、一方全方位ビデオのタイル状でないバージョンが、低解像度バージョンに関係があるとしてもよい。このように、該当する高解像度タイル・ストリームのみ、即ち、ＦＯＶの中央部のビデオ・データを搬送する分のみ、タイル・ストリームがクライアント・デバイスに送信される。
【００７６】
図３Ｂは、クライアント・デバイスによるタイル状全方ビデオ処理の流れ図を表す。このプロセスは、開始すると、クライアント・デバイスが、タイル・ストリームが識別されるマニフェスト・ファイルを受信することができ、タイルは、全方位ビデオを表示するために使用される表面を記述するために使用される３Ｄ座標系に基づいて定めることができる空間関係を有する。マニフェスト・ファイルは、更に、全方位ビデオ・データを生成するために使用されるマッピングの型式についてクライアント・デバイスに通知するために、マッピング情報も含むことができる（ステップ３２０）。
【００７７】
クライアント・デバイスは、ビデオ処理デバイスからの視点を含むことができる。視点は、全方位ビデオを表示するために使用される表面を記述するために使用される３Ｄ座標系における目視方向に関して定められてもよい。受信した視点に基づいて、クライアント・デバイスは現在のＦＯＶを判定することができる。その後、マニフェスト・ファイルにおける情報を使用して、現在のＦＯＶを定める湾曲面上のエリアを少なくとも部分的に覆う１つ以上の近隣タイルを選択することができる（ステップ３２２）。
【００７８】
その後、クライアント・デバイスは、要求されたタイル・ストリームをクライアント・デバイスに配信（送信）するように構成された１つ以上のネットワーク・ノードに、１つ以上のＨＴＴＰメッセージを送ることによって、タイル識別子、例えば、ＵＲＬに基づいて、選択したタイルを要求することができる。
【００７９】
実施形態では、クライアント・デバイスは、ＦＯＶにおけるタイルの位置に基づいて、タイルのビデオ品質を選択してもよい。例えば、タイルの大部分がＦＯＶの中央部に位置する、即ち、視点から一定の距離以内に位置するとき、クライアント・デバイスは高品質タイルを選択するのでもよい。タイルの大部分がＦＯＶの周辺部（ＦＯＶの中央部の外側）に位置するとき、クライアント・デバイスは、ＦＯＶの中央部に選択したタイルのビデオ品質よりも低い品質（例えば、中または低品質）を有するタイルを選択するのでもよい。
【００８０】
一旦ビデオ・ストリームが受信されたなら、タイルのビデオ・データをビデオ・フレームにデコードすることができる。更に、クライアント・デバイスは、全方位ビデオ・レンダリング・エンジンに、全方位ビデオを生成するために使用されるマッピングの型式を通知することができる。この情報に基づいて、レンダリング・エンジンは、ビデオを湾曲面にレンダリングすることができるように、それ自体を構成することができる（ステップ３２４）。ある実施形態では、クライアント・デバイスはマッピング情報内にあるマッピング・パラメータを使用してもよい。
【００８１】
クライアント・デバイスによって選択されたタイルを表すビデオ・フレームは、マニフェスト・ファイルにおける空間関係情報を使用して、一緒にスティッチされて、１つのビデオ・フレームにすることができる（ステップ３２６）。次いで、スティッチされたビデオ・フレームは、全方位ビデオを表示するために使用される湾曲面上にビデオ・データを投影するために、レンダリング・エンジンに供給することができる（ステップ３２８）。投影ステップは、２Ｄ投影ビデオ・データを逆に湾曲面にマッピングする処理を含むことができる。これは、ビデオ・データに１つ以上の数学的画像処理動作を受けさせることを含んでもよい。
【００８２】
したがって、本開示において説明したタイル状全方位ビデオは、観察者のＦＯＶを表す１つ以上のビデオ・タイルの速い選択を可能にする。この速い選択は、タイルが空間関係情報に関連付けられており、空間関係情報が、全方位ビデオを表示するために使用される表面を記述するために使用される３Ｄ座標系に基づくという事実に基づく。このように、３Ｄ空間における観察者のＦＯＶを、ＦＯＶを構築するタイルに直接連携させる(link)ことができる。
【００８３】
その上、マッピング情報は、異なる種類の全方位ビデオの柔軟な使用を可能にする。これは、マッピング情報が、全方位ビデオが生成されたときに使用されたマッピングの型式についてレンダリング・エンジンに知らせるからであり、更に、マッピング情報が、使用されたマッピングに従う湾曲面上に、レンダリング・エンジンがコンテンツを正しく投影できるように、マッピング・パラメータをレンダリング・エンジンに供給するからである。
【００８４】
ＭＰＥＧ ＤＡＳＨでは、タイルとマッピング情報との間の空間関係を通知するために、ＳＲＤを使用することができる。ＳＲＤは、ストリームを異なる空間サブパート（タイル）に分割することを可能にし、つまり、ユーザが関心を寄せるサブパートだけをストリーミングする可能性をクライアントに与える。ＶＲでは、ユーザは、いずれの時点においても、３６０度のストリームの内、使用中のＶＲヘッドセットのＦＯＶ（現在では約１００度）、そして最終的には人間の視覚(eye vision)（２７０度まで）によって制限される小さな一部分(subset)のみに関心を寄せる。
【００８５】
更に、このＦＯＶの内、焦点が合っている中央部分だけが最高の品質を必要とするのかしれず、一方ＦＯＶの周辺部は、それよりも低い品質のストリームで対処できるかもしれない。したがって、全方位コンテンツに複数の異なる品質レイヤを生成することにより、そして各品質レイヤを空間サブパート（タイル）に分割することにより、ストリーミング・クライアントは、異なる品質で異なる空間サブパートをダウンロードし、帯域幅使用を最小限に抑えつつ高品質の体験をユーザに提供する柔軟性を得る。
【００８６】
たとえば、全方位コンテンツが３つの品質レイヤで提供される(offer)場合、クライアントはユーザのＦＯＶの中央部を最高品質でストリーミングし、視野の周辺部を中間レベルの品質でストリーミングし、３６０度ビデオ全体を最低品質でストリーミングすることもできる。ユーザが彼女の視点を変更するときは、未だ彼女に示すべきコンテンツがあるので、最低品質での３６０度全域のストリーミングは、「ブラック・スクリーン」効果(black screen effect)を回避するために役に立つことができる。
【００８７】
拡張ＳＲＤは、相互運用性に関する利点を提供する。実際に、全方位ストリームは、同時に複数の異なる２Ｄマッピングを使用して提供することもでき、ＳＤＲのsource_idパラメータは、全てのそれらのストリームが同じコンテンツに関係することをクライアントに示すことができる。したがって、クライアントは、このクライアントにおいて最良にレンダリングすることができるフォーマットを選択することができる。また、全方位コンテンツをサポートしないクライアントのために、同じコンテンツの非全方位バージョンを提供し、source_idの同じ値を使用することによって、それを全方位コンテンツに関係付けることもできる。
【００８８】
ＳＲＤは、ＭＰＥＧ ＤＡＳＨ規格から知られており、２Ｄコンテンツに相応しいＳＲＤのみを記述する。異なる空間サブパートは、これらが２次元空間上で占有する位置およびサイズによって識別される。この手法は、２次元ビデオ・コンテンツを対象とする。しかしながら、既に以上で詳しく説明したように、全方位ビデオでは、使用に応じて、このような３６０度ビデオ（の空間サブパート）をビット・ストリームで表すために、異なる方法が存在する。例えば、正距円筒、縞状球面方式(striped spherical scheme)、円筒方式、または凸多面体／固体(convex polyhedron/solid)（立体または錐体等）を表す方式が知られている。
【００８９】
仮想現実ビデオ処理デバイスは、全方位ビデオの内、特定の視点、即ち、見る人(viewer)が見ている方向を表す湾曲面エリア上の点に対応する視点に対応する一部をレンダリングするように構成される。したがって、特定のサブパート（タイル）の空間位置およびサイズが、全方位ビデオのＦＯＶの部分をユーザに表示するために使用される湾曲面（例えば、球面）上におけるその真の表現に関係付けて記述されるのは有利である。
【００９０】
したがって、実施形態では、"space"と呼ばれる新たなＳＲＤパラメータを導入する。これは、全方位ビデオ表現をクライアントに通知するように構成されている。また、このパラメータは、特定の全方位ビデオ表現を更に特徴付ける１つ以上のパラメータも伴う(imply)または関連付けられてもよい。例えば、実施形態では、円筒状空間は、ＳＲＤにおいて、space="cylindrical"、およびこの円筒形を特徴付ける追加のＳＲＤパラメータによって通知することができ、追加のＳＲＤパラメータは、一定の、例えば、高さ＝１５０を有するのでもよい）。
【００９１】
他の実施形態では、ＳＲＤにおけるパラメータobject_xおよびobject_yが空間サブパートの中心位置を定める（従来のＳＲＤでは、これらが前記サブパートの左上角の位置を表すのとは異なる）。更に、object_xおよびobject_yは、それぞれ、ヨー角およびピッチ角を識別することもできる。ヨー角は、０から３６０までの範囲を取ることができ、ここで、０＝北、９０＝東、１８０＝南、そして２７０＝西であり、ピッチ角は−９０°（天底）から＋９０°（天頂）までの範囲を取ることができる。
【００９２】
本発明による拡張ＳＲＤは、ＶＲレンダリング・システムとのインターフェース改良をもたらし、これによって、クライアント・デバイスが、ユーザの視点を効率的に処理することを可能にする。これは、全方位ビデオの視点に基づくレンダリングには重要である。したがって、これに基づくタイル・ストリーム選択方法は、クライアント・デバイスにストリーミングする必要があるサブパート（タイル）の選択を高速化することができる。これは、レイテンシを短縮し結果的に高い品質の体験を提供するためには必須である。
【００９３】
ＳＲＤパラメータobject_widthおよびobject_heightは、３６０度面上における物体の角距離(angular length)に関して、タイルの幅および高さを表すことができる。具体的には、物体の幅は、物体の中心を通る平行線上で測定したその幅の弧度によって表され、高さは、例えば、図２Ｂに示すように、物体の中心を通る中線上で測定したその高さの弧度によって表される。
【００９４】
更に、ＶＲの用途では、ビデオ・コンテンツが常にユーザの目の前に表示される。しかしながら、人間の周辺視野は高周波（細かい詳細）には敏感でないことは周知である。したがって、更に他の実施形態では、本開示におけるタイリング方式を、人間の目のＦＯＶを考慮して最適化することができる。したがって、ユーザのＦＯＶの中央部を構成する領域を、高品質ビデオに基づいて表示することができ、一方周辺視野に対応する領域は、標準的な品質で提供することができ、こうして帯域幅を節約する。
【００９５】
図４は、本発明の実施形態によるタイル状全方位ビデオに対するクライアント・デバイスの視野を示す。図４は、正距円筒マッピングに基づく全方位コンテンツを表示するために使用される湾曲面４０２の方向を見ているユーザの視点を表す。ここでは、ＦＯＶ４０４は、表示枠(view)に示されるコンテンツの部分、および表示枠に示されないコンテンツ４０６の部分を定める。更に、ＦＯＶは中央ＦＯＶ４０８および周辺ＦＯＶ４１０に分割されている。ＦＯＶの中央部では、高品質コンテンツを表示することができ、周辺では、それよりも低い品質を選択することができる。
【００９６】
中央および周辺の寸法は、人のＦＯＶおよび帯域幅の考慮に基づいて決定または選択することができる。タイル状ビデオ・コンテンツは、中央および周辺ＦＯＶの異なる要件（タイル・サイズおよびビデオ品質に関して）を考慮に入れて生成することができ、この情報の少なくとも一部を、マニフェスト・ファイルを介してクライアント・デバイスに通知することもできる。続いて、ビデオ処理デバイスにおけるクライアント・デバイスは、マニフェスト・ファイルを使用して、中央および周辺ＦＯＶに基づいて異なるビデオ・タイルを選択することができる。
【００９７】
以下に、異なるマッピング（異なる２Ｄ投影によって表される）に基づいて生成された全方位ビデオ・データの異なる例について説明する。
【００９８】
正距円筒２Ｄ投影の例を、図５Ａ〜図５Ｄおよび図６において以下で示す。正距円筒２Ｄ投影では、全方位コンテンツは矩形としてビット・ストリームで表される。経度は水平座標にマッピングされ、緯度は垂直座標にマッピングされる。正距円筒２Ｄ投影は、魚眼レンズを装備した回転（走査）パノラマ・カメラのデフォルト出力フォーマットであり、現在全方位ビデオに使用されている最も普及したフォーマットの１つである。
【００９９】
図５Ａ〜図５Ｄは、クライアント・デバイスによって要求することができる、異なるタイリング配置を示す。このようなタイリング配置を全方位ビデオのタイリング表現と呼ぶこともできる。異なるタイリング表現を異なるビデオ品質に関係付けてもよい。タイリング表現は、図５Ａに表すような非タイル状低解像度ビデオ表現、および図５Ｂに表すようなタイル状高解像度表現を含んでもよい。高解像度表現は、ＦＯＶの中央部のコンテンツを表示するために使用されてもよい。全方位コンテンツをユーザに提供する(serve)ために、クライアントは、パノラマ・ビュー全体を覆うための非タイル状最低解像度レイヤ、ならびに最高解像度レイヤ（ＦＯＶの中央部を表す）のタイル９および１０を要求することもできる。加えて、クライアント・デバイスは、周辺ＦＯＶにために中解像度レイヤの４つのタイル、即ち、図５Ｄに示すような水平タイル状中解像度レイヤのタイル５および１４、ならびに図５Ｃに示すような垂直タイル状中解像度レイヤのタイル１２および１６を選択してもよい。
【０１００】
結果的に得られたＦＯＶを図６に示す。図６は、本発明の実施形態によるタイル状ビデオ全方位ビデオを構成する(comprise)ビデオ・フレームを表す。
【０１０１】
図６に示すように、ＦＯＶの中央部は超高品質で配信され、品質はＦＯＶのエッジに向かって低下する(diminish)。境界においてタイルの解像度が急激に変化することが知覚される影響を最小限に抑えるために、重複タイルを使用することができる。その場合、ＦＯＶの中央部における高解像度タイルは、周辺に向かう中解像度タイルと重複する。クライアント・デバイスがフィルタを使用してもよく、中解像度タイルと融合するために境界において高解像度タイルを徐々に調整し(scale)、該当する場合には、低解像度の背景と融合するために境界において中解像度タイルを徐々に調整することができる。
【０１０２】
更に他の実施形態では、Ｈ．２６４／ＭＰＥＧ−４ ＡＶＣビデオ圧縮規格のＡｎｎｅｘ Ｇ ｅｘｔｅｎｓｉｏｎから知られているスケーラブル・ビデオ・コード化（ＳＶＣ：scalable video coded)に基づいて、非タイル状およびタイル状ビデオ表現をコード化してもよい。したがって、この場合、非タイル状低解像度レイヤをＳＶＣベース・レイヤとしてフォーマットしてもよく、一方タイル状中および高解像度表現をＳＶＣエンハンスメント・レイヤ(enhancement layer)としてフォーマットしてもよい。
【０１０３】
図６に示すタイルを選択および要求するためにクライアントによって使用することができるＤＡＳＨ ＭＰＤをテーブル１に示す。
【０１０４】
【表１−１】
2019526178.tif 000003
【表１−２】
2019526178.tif 000004
【表１−３】
2019526178.tif 000005
【０１０５】
以上のＭＰＤは、空間タイル状全方位ビデオを記述するのに適している拡張ＳＲＤをネットワークがサポートすることをクライアント・デバイスに通知するために、新たなschemeIdUri "urn:mpeg:dash:srd:vr:2016"を含む。更に、ＭＰＤは、EssentialPropertyおよびSupplementalPropertyの値フィールドの第２位置（source_idパラメータの後）に、追加のＳＲＤパラメータ"space"も含む。このパラメータは、マッピング情報の一部であり、マニフェスト・ファイルにおいて識別される全方位ビデオ・データに使用される２Ｄ投影の型式について、クライアント・デバイスに通知することができる。例えば、spaceパラメータは、全方位ビデオが正距円筒２Ｄ投影によって表されることをクライアント・デバイスに通知するためには、値「０」を有するとしてもよい。正距円筒２Ｄ投影は、それを特徴化するために追加のパラメータを必要としないので、値フィールドにおける後続のＳＲＤパラメータは、object_x、object_y、object_width、object_height、total_width、total_height、Spatial_set_idである（これらは、以上で説明したような新たな関数記述に基づいて再使用することができる標準的なＳＲＤパラメータである）。
【０１０６】
円筒状２Ｄ投影の一例について、図７〜図１１を参照しながら以下に説明する。図７は、円筒状表現空間を示し、ピッチ角７０２−θおよび＋θ角間に含まれる球面７０４の部分が、正距円筒投影７０６によって表され、一方北極７０８および南極７１０は円形投影７１２、７１４として表される。
【０１０７】
図８は、本発明の他の実施形態によるタイル状全方位ビデオに対するクライアント・デバイスの視野を示す。具体的には、図８は、円筒状マッピングに基づく全方位コンテンツを表示するために使用される湾曲面の方向を見ているユーザの視点およびＦＯＶを表す。ここで、ＦＯＶ８０２は、表示枠に示されるコンテンツの部分を定め、８０６１〜８０６３は、表示枠に示されないコンテンツの部分を定める。更に、ＦＯＶは、中央ＦＯＶ８０８および周辺ＦＯＶ８１０に分割されている。ＦＯＶの中央部では、高品質コンテンツを表示するとしてもよく、一方周辺では、それよりも低い品質、例えば、標準的な品質が選択されてもよい。
【０１０８】
円筒状２Ｄ投影の一例を以下の図９Ａ〜図９Ｄおよび図１０に示す。円筒状２Ｄ投影では、全方位コンテンツは、正距円筒投影および円形投影の組み合わせとして、ビット・ストリームで表される。
【０１０９】
図９Ａ〜図９Ｄにおける異なるタイリング表現は、異なるビデオ品質に関係付けてもよい。タイリング表現は、図９Ａに表すような非タイル状低解像度ビデオ表現、および図９Ｂに表すようなタイル状高解像度表現を含んでもよい。高解像度表現は、ＦＯＶの中央部にコンテンツを表示するために使用されるとしてもよい。全方位コンテンツをユーザに供給する(serve)ために、クライアント・デバイスは、パノラマ・ビュー全体を覆うために最低解像度レイヤの単一タイルを要求し、更にＦＯＶの中央部に対して最高解像度レイヤのタイル３を要求することができる。更に、周辺ＦＯＶに対して、多数の中解像度型タイルを使用してもよい。例えば、水平タイル状中解像度レイヤ（図９Ｃ）のタイル５および１３、ならびに垂直タイル状中解像度レイヤ（図９Ｄ）のタイル４、７、および１７である。
【０１１０】
結果的に得られたＦＯＶを図１０に示す。図１０は、本発明の実施形態によるタイル状全方位ビデオを構成する(comprise)ビデオ・フレームを表す。図６を参照して説明した正距円筒投影と同様、ＦＯＶの中央部は、高品質コンテンツに基づいて実現され、品質はＦＯＶの境界の方向に低下する。また、この場合、境界においてタイルの解像度が急激に変化することが知覚される影響を最小限に抑えるために、高い方の解像度のタイルと低い方の解像度のタイルとの間の境界において、スムージングを実行することができる。
【０１１１】
図１０に示すタイルを選択および要求するためにクライアントによって使用することができるＤＡＳＨ ＭＰＤをテーブル２に示す。
【０１１２】
【表２−１】
2019526178.tif 000006
【表２−２】
2019526178.tif 000007
【表２−３】
2019526178.tif 000008
【表２−４】
2019526178.tif 000009
【０１１３】
このＭＰＤでは、EssentialPropertyおよびSupplementalPropertyの値フィールドの２番目の場所において（source_idパラメータの後）、２つの追加のＳＲＤパラメータが設けられる。第１のパラメータは、２Ｄ投影をクライアント・デバイスに通知するための"space"パラメータである。第２のパラメータは、特定の２Ｄ投影、この特定例では、円筒状２Ｄ投影に関連付けられ、円筒形の高さを特徴付ける。
【０１１４】
例えば、spaceパラメータは、全方位ビデオが円筒状２Ｄ投影に基づくことをクライアント・デバイスに通知するためには値「１」を有するとしてもよい。値フィールドにおける後続のパラメータは、object_x、object_y、object_width、object_height、total_width、total_height、Spatial_set_idとすればよい（これらは、以上で説明したような新たな関数記述に基づいて再使用することができる標準的なＳＲＤパラメータである）。
【０１１５】
円筒形の高さを通知する必要はない。ＭＰＤにおいて円筒形の極および矩形部を示す方法から、余分な高さパラメータを必要とせずに、それらの形態(form)およびサイズを推論することが可能である。しかしながら、他の実施形態では、クライアント・デバイスに対して明示するために、円筒形の高さを通知してもよい。
【０１１６】
以上の例では、ＳＲＤパラメータは、SupplementalPropertyまたはEssentialPropertyの値フィールドにおいて報告される。しかしながら、他の実施形態では、supplementalPropertyまたはEssentialPropertyあるいはそのサブエレメントにおいてであっても、これらのパラメータを別個のフィールドとして列挙してもよい。
【０１１７】
更に他の実施形態では、矩形タイルの代わりに、他の形状、例えば、球形タイルを使用してもよい。球形タイルは、タイルのサイズを示すために１つのパラメータ、即ち、その半径だけを必要とする。
【０１１８】
仮想現実にとって、レイテンシの短縮は非常に重要である。したがって、ある実施形態では、クライアント・デバイスの側におけるデータ処理、具体的には、クライアント・デバイスがＦＯＶに合致する(match)タイルを選択しなければならないプロセスを削減することが望ましい場合がある。
【０１１９】
したがって、代替手法は、更に一層レイテンシを削減する(save)ために、相応しいプロトコル、例えば、迅速ＵＤＰインターネット接続（ＱＵＩＣ：Quick UDP Internet Connections）プロトコルを使用して、サーバに、ユーザの視点およびＦＯＶの詳細（視点のピッチおよびヨーならびにＦＯＶのサイズ）だけをクライアントに送らせる手法である。サーバは、全方位コンテンツをタイル・ストリームに分割するために、タイリング方式、例えば、ＨＥＶＣタイリング方式を使用してもよい。次いで、クライアントの要求時に、サーバは最も該当するタイルをクライアント・デバイスに送ることができる。
【０１２０】
図１１は、本発明の実施形態にしたがって空間タイル状全方位ビデオを処理するように構成された(adapt)ビデオ処理デバイスを表す。具体的には、図１１は、タイル状および非タイル状全方位ビデオ・データを含むコンテンツを選択し検索するクライアント・デバイス１１０２、基準および改良(enhancement)タイル・ストリームのメディアをデコードする１つ以上のデコーダ１１２２、１１２４を含むメディア・エンジン１１０４、ならびにレンダリング・エンジン１１０６を含むビデオ処理デバイス１１００を表す。レンダリング・エンジン１１０６は、このレンダリング・エンジンから発生するビデオ・フレームをバッファする１つ以上のビデオ・フレーム・バッファ、タイルのビデオ・フレームを空間的に配置し、ビデオ・フレームをスティッチして１つのビデオ・フレームにする画像プロセッサ１１３２、およびビデオ・フレームのビデオ・データを、コンテンツをユーザに表示するために使用される湾曲（例えば、球）面上に投影するように構成された３Ｄ投影モジュールを含む。３Ｄ投影モジュールは、マッピング情報に基づいて、ビデオ・フレームのビデオ・データを湾曲（例えば、球）面上に投影するように構成されてもよい。
【０１２１】
図１１に示すように、クライアント・デバイスは、１つ以上のマニフェスト・ファイル１１０８を受信し、このマニフェスト・ファイルをメモリに格納するように構成することができる。マニフェスト・ファイル・パーザ１１１０は、マニフェスト・ファイルを解析および分析し、タイル状全方位ビデオ、即ち、タイル・ストリームについての情報を、コンテンツ選択モジュール１１１８に提供することができる。コンテンツ選択モジュールは、ビデオ処理デバイスのユーザの視点についての情報を受け取るように構成することができる。視点は、視点エンジン１１３６によって継続的に更新され、クライアント・デバイスに供給することができる。
【０１２２】
コンテンツ選択モジュールは、１つ以上のタイル・ストリームを選択するために、視点についての情報、即ち、視点の座標、および空間関係情報（例えば、マニフェスト・ファイルにおける空間関係記述子（ＳＲＤ）に基づいて指定されるような）を使用することができる。
【０１２３】
コンテンツ選択モジュールは、選択したタイル・ストリームについての情報、具体的には、選択したタイル・ストリームのＵＲＬを、コンテンツ検索モジュールに転送することができる。コンテンツ検索モジュールは、要求メッセージを１つ以上のネットワーク・ノードに送信し、要求したタイル・ストリームの一部を含む応答メッセージを受信するように構成することができる。実施形態では、クライアント・デバイスは、ＨＴＴＰ要求メッセージをＨＴＴＰメディア・サーバに送信するため、そして要求したメディア・ストリームのメディア・データを含むＨＴＴＰ応答メッセージを受信するために、ＨＴＴＰクライアントを含んでもよい。
【０１２４】
更に、コンテンツ検索モジュールは、要求したメディア・データを受け取り、メディア・エンジン１１０４への入力のためのメディア・データを準備するために、１つ以上のバッファも含んでもよい。
【０１２５】
図１２は、本開示において説明したように使用することができる例証的なデータ処理システムを示すブロック図である。データ処理システム１２００は、システム・バス１２０６を通じてメモリ・エレメント１２０４に結合された少なくとも１つのプロセッサ１２０２を含むことができる。したがって、データ処理システムはメモリ・エレメント１２０４内にプログラム・コードを格納することができる。更に、プロセッサ１２０２は、システム・バス１２０６を通じてメモリ・エレメント１２０４からアクセスされたプログラム・コードを実行することができる。一態様では、データ処理システムは、プログラム・コードを格納および／または実行するのに適したコンピュータとして実現することができる。しかしながら、データ処理システム１３００は、プロセッサおよびメモリを含み、本明細書内において説明した機能を実行することができる任意のシステムの形態で実装すればよいことは認められてしかるべきである。
【０１２６】
メモリ・エレメント１２０４は、例えば、ローカル・メモリ１２０８のような１つ以上の物理メモリ・デバイスと、１つ以上の大容量記憶デバイス１２１０とを含むことができる。ローカル・メモリとは、プログラム・コードの実際の実行中に通常使用されるランダム・アクセス・メモリまたは他の非永続的メモリ・デバイス（１つまたは複数）を指すことができる。大容量記憶デバイスは、ハード・ドライブまたは他の永続的データ記憶デバイスとして実装されればよい。また、処理システム１２００は１つ以上のキャッシュ・メモリ（図示せず）も含むことができる。キャッシュ・メモリは、実行中にプログラム・コードを大容量記憶デバイス１２１０から検索しなければならない回数を減らすために、少なくとも一部のプログラム・コードの一時的格納に備える。
入力デバイス１２１２および出力デバイス１２１４として図示されている入力／出力（Ｉ／Ｏ）デバイスは、任意に、データ処理システムに結合することができる。入力デバイスの例には、例えば、ポジション・トラッカ(position tracker)、キーボード、マウスのようなポインティング・デバイス、タッチ・スクリーン等を含むことができるが、これらに限定されるのではない。出力デバイスの例には、例えば、モニタまたは（頭部装着式）ディスプレイ、スピーカ等を含むことができるが、これらに限定されるのではない。入力デバイスおよび／または出力デバイスは、直接または仲介するＩ／Ｏコントローラを介してデータ処理システムに結合することができる。また、ネットワーク・アダプタ１２１６をデータ処理システムに結合してもよく、他のシステム、コンピュータ・システム、リモート・ネットワーク・デバイス、および／またはリモート記憶デバイスに、仲介するプライベートまたはパブリック・ネットワークを通じてデータ処理システムを結合することが可能になる。ネットワーク・アダプタは、前記システム、デバイス、および／またはネットワークによって送信されるデータを受信するデータ受信機、およびデータを前記システム、デバイス、および／またはネットワークに送信するデータ送信機を含むことができる。モデム、ケーブル・モデム、およびイーサネット・カードは、データ処理システム１２５０と共に使用することができる異なる型式のネットワーク・アダプタの例である。
【０１２７】
図１２に図示するように、メモリ・エレメント１２０４はアプリケーション１２１８を格納することができる。尚、データ処理システム１２００は、更に、アプリケーションの実行を容易にすることができるオペレーティング・システム（図示せず）を実行することもできることは認められてしかるべきである。実行可能プログラム・コードの形態で実現されるアプリケーションは、データ処理システム１２００によって、例えば、プロセッサ１２０２によって実行することができる。アプリケーションを実行したことに応答して、データ処理システムは、本明細書において更に詳しく説明する１つ以上の動作を実行するように構成することができる。
【０１２８】
一態様では、例えば、データ処理システム１２００がクライアント・データ処理システムを表すこともできる。その場合、アプリケーション１２１８はクライアント・アプリケーションを表すことができ、クライアント・アプリケーションは、実行されると、「クライアント」を参照して本明細書において説明した種々の機能を実行するように、データ処理システム１３００を構成する。クライアントの例には、パーソナル・コンピュータ、携帯用コンピュータ、移動体電話機等を含むことができるが、これらに限定されるのではない。
【０１２９】
他の態様では、データ処理システムがサーバを表すこともできる。例えば、データ処理システムが（ＨＴＴＰ）サーバを表すのでもよく、その場合、アプリケーション１２１８は、実行されると、（ＨＴＴＰ）サーバ動作を実行するように、データ処理システムを構成することができる。他の態様では、データ処理システムが本明細書において言及したような、モジュール、ユニット、または機能を表すこともできる。
【０１３０】
本明細書において使用した用語は、特定の実施形態を説明するために限られており、本発明の限定であることを意図するのではない。本明細書において使用する場合、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかにそうでないことを示すのでなければ、複数形も含むことを意図している。更に、「含む」(comprises)および／または「含んでいる」(comprising)という用語は、本明細書において使用する場合、述べられる特徴、整数、ステップ、動作、エレメント、および／またはコンポーネントの存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、および／またはそのグループの存在や追加を除外するのではないことも理解されよう。
【０１３１】
以下の特許請求の範囲における全ての手段またはステップ＋機能エレメントの対応する構造、材料、アクト、および均等物は、特定的に特許請求される他の特許請求対象エレメントと組み合わせて当該機能を実行する任意の構造、材料、またはアクトを含むことを意図している。本発明の説明は、例示および説明の目的に限って提示されたのであって、網羅的であること、または開示した形態に本発明を限定することを意図するのではない。本発明の範囲および主旨から逸脱することなく、当業者には多くの変更および変種が明白であろう。以上の実施形態が選択され説明されたのは、本発明の原理および実用的用途を最良に説明するためであり、更に他の当業者が、本発明を理解して、想定される特定の使用に適する種々の変更を行って種々の実施形態を得ることを可能にするためである。
【図１】
2019526178.tif 000010
【図２】
2019526178.tif 000011
【図３Ａ】
2019526178.tif 000012
【図３Ｂ】
2019526178.tif 000013
【図４】
2019526178.tif 000014
【図５】
2019526178.tif 000015
【図６】
2019526178.tif 000016
【図７】
2019526178.tif 000017
【図８】
2019526178.tif 000018
【図９】
2019526178.tif 000019
【図１０】
2019526178.tif 000020
【図１１】
2019526178.tif 000021
【図１２】
2019526178.tif 000022
【国際調査報告】
2019526178.tif 000023
2019526178.tif 000024
2019526178.tif 000025