(57)【要約】タイルベースの没入型ビデオのストリーミングセッション中、基準時間における、現在のタイルと関連付けられた現在のタイルセグメントから、新しいタイルと関連付けられた新しいタイルセグメントへの切り換えを求める要求時に、エンコーダ（３００）は、基準時間から、新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、新しいタイルセグメントの１つまたは複数の補完フレームを生成することを提供する。
2022501846.tif 000002
【特許請求の範囲】
【請求項１】
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオをエンコードするために構成されたエンコーダであって、タイルは、前記没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルの前記セットのうちのタイルと関連付けられ、前記エンコーダは、
現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、前記現在のタイルセグメントと同じ、前記没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を受信し、前記要求は、前記現在のタイルセグメントから前記新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含み、
前記基準時間から、前記新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを獲得する
よう構成された少なくとも１つのプロセッサを備えたエンコーダ。
【請求項２】
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法であって、タイルは、前記没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルの前記セットのうちのタイルと関連付けられ、前記方法は、
現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、前記現在のタイルセグメントと同じ、前記没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を受信するステップであって、前記要求は、前記現在のタイルセグメントから前記新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、ステップと、
前記基準時間から、前記新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを獲得するステップと
を備える方法。
【請求項３】
前記補完フレームは、前記現在のタイルセグメントの１つまたは複数のフレームから獲得される請求項１に記載のエンコーダ、または請求項２に記載の方法。
【請求項４】
前記補完フレームを獲得するために使用される、前記現在のタイルセグメントの前記１つまたは複数のフレームは、前記プレーヤにすでに配信されている請求項１もしくは３に記載のエンコーダ、または請求項２もしくは３に記載の方法。
【請求項５】
前記基準時間が、前記現在のタイルの前記現在のタイルセグメントのグループオブピクチャのＰフレームまたはＢフレームに対応するとき、前記補完フレームは、新しいＰフレームから成る請求項１、３、もしくは４に記載のエンコーダ、または請求項２乃至４のいずれか一項に記載の方法。
【請求項６】
前記補完フレームは、前記現在のタイルの前記現在のタイルセグメントの先行するＰフレームを参照してエンコードされる請求項１、３乃至５のいずれか一項に記載のエンコーダ、または請求項２乃至５のいずれか一項に記載の方法。
【請求項７】
前記現在のタイルおよび前記新しいタイルは、前記シーンの同じ部分を部分的にカバーする請求項１、３乃至６のいずれか一項に記載のエンコーダ、または請求項２乃至６のいずれか一項に記載の方法。
【請求項８】
前記基準時間からの前記新しいタイルセグメントを定義する残りのフレームは、前記補完フレーム前に配置された１つまたは複数のフレームへのいかなる参照も行わない請求項１、３乃至７のいずれか一項に記載のエンコーダ、または請求項２乃至７のいずれか一項に記載の方法。
【請求項９】
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを受信するために構成されたプレーヤであって、タイルは、前記没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルの前記セットのうちのタイルと関連付けられ、前記プレーヤは、
現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、前記現在のタイルセグメントと同じ、前記没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を送信し、前記要求は、前記現在のタイルセグメントから前記新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含み、
前記基準時間から、前記新しいタイルセグメントのデコーディングを可能にする、少なくとも１つの補完フレームを受信する
よう構成された少なくとも１つのプロセッサを備えたプレーヤ。
【請求項１０】
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、プレーヤにおいて受信するための方法であって、タイルは、前記没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルの前記セットのうちのタイルと関連付けられ、前記方法は、
現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、前記現在のタイルセグメントと同じ、前記没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を送信するステップであって、前記要求は、前記現在のタイルセグメントから前記新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、ステップと、
前記基準時間から、前記新しいタイルセグメントのデコーディングを可能にする、少なくとも１つの補完フレームを受信するステップと
を備える方法。
【請求項１１】
前記プロセッサは、
タイル切り換えを求める要求を送信する前に、タイミング条件をチェックすること
を行うためにさらに構成された請求項９に記載のプレーヤ、または
タイル切り換えを求める要求を送信する前に、タイミング条件をチェックするステップ
をさらに備える請求項１０に記載の方法。
【請求項１２】
前記タイミング条件は、前記基準時間、前記補完フレームのエンコーディング時間、少なくとも前記補完フレームを含む前記新しいタイルセグメントのいくつかのフレームのローディング時間およびデコーディング時間、ならびにラウンドトリップタイムに依存する請求項１１に記載のプレーヤ、または請求項１１に記載の方法。
【請求項１３】
通信ネットワークからダウンロード可能であること、およびコンピュータの少なくとも１つによって可読な非一時的なコンピュータ可読媒体上に記録されることの少なくとも一方であり、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオをエンコーダにおいてエンコードするための方法を実施するためのプログラムコード命令を含む、プロセッサによって実行可能なコンピュータプログラム製品であって、タイルは、前記没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルの前記セットのうちのタイルと関連付けられ、前記方法は、
現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、前記現在のタイルセグメントと同じ、前記没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を受信することであって、前記要求は、前記現在のタイルセグメントから前記新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、受信することと、
前記基準時間から、前記新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを獲得することと
を含むコンピュータプログラム製品。
【請求項１４】
コンピュータによって可読であり、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法を実行するための、前記コンピュータによって実行可能な命令からなるプログラムを有形に具体化する、非一時的なプログラム記憶デバイスであって、タイルは、前記没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルの前記セットのうちのタイルと関連付けられ、前記方法は、
現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、前記現在のタイルセグメントと同じ、前記没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を受信することであって、前記要求は、前記現在のタイルセグメントから前記新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、受信することと、
前記基準時間から、前記新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを獲得することと
を含む非一時的なプログラム記憶デバイス。
【請求項１５】
請求項２乃至８のいずれか一項に記載の方法に従って獲得される、少なくとも１つの補完フレームを含むビットストリーム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、（全天球ビデオ、いわゆる、仮想現実（ＶＲ）３６０°ビデオ、またはパノラマビデオなど）没入型ビデオの、配信ネットワークを通した、エンドデバイスへのストリーミングに関する。
【背景技術】
【０００２】
このセクションは、以下で説明および／または特許請求される、本開示の様々な態様に関連することができる技術の様々な態様を、読者に紹介することを意図している。この説明は、本開示の様々な態様のより良い理解を容易にするための背景情報を、読者に提供するのに役立つと信じられる。したがって、これらの言明は、先行技術の承認としてではなく、この観点から読まれるべきであることを理解されたい。
【０００３】
全天球ビデオ(spherical video)は、ユーザが、ＶＲヘッドマウントディスプレイ（ＨＭＤ）を使用して、あたりを見回すことができる、または（マウスもしくはリモコンなどの）制御装置を用いて、ビューポートを制御することによって、フラットディスプレイ上のシーン内を自由に移動する(navigate：ナビゲートする)ことができる、没入型体験を提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
空間移動(spatial navigation)におけるそのような自由は、シーン内の観察者の照準点（aiming point）の位置に応じて、視覚化されるビデオ部分を抽出するように構成された、（ＨＭＤまたはＴＶセット内に組み込まれた）プレーヤに、３６０°シーン全体が配信されることを必要とする。そのような状況においては、ビデオを配信するために、高スループットが必要である。
【０００５】
したがって、１つの主要な問題は、許容可能な質の没入型体験が得られる（すなわち、画面フリーズ、ブロックノイズ、画面暗転などを回避する）、帯域幅が制約されたネットワーク上における、全天球ビデオの効率的な送信に依存している。現在、全天球ビデオサービスをストリーミングで配信するために、没入型体験、ビデオの解像度と、コンテンツ配信ネットワークの利用可能なスループットとの間で、妥協点が探られている。
【０００６】
全天球ビデオをストリーミングする知られたソリューションの大部分は、完全な３６０°シーンをエンドデバイスに提供するが、シーン全体の１０％未満しかユーザに提示されない。配信ネットワークは、制限されたスループットを有するので、ビデオ解像度は、帯域幅制約に合うように引き下げられる。
【０００７】
他の知られたソリューションは、エンドデバイスの現在のビューポートの外側に配置される、３６０°シーンの部分の解像度を低減させることによって、ビデオ品質の悪化を軽減する。それにもかかわらず、ユーザの動作のせいで、エンドデバイスのビューポートが、より低い解像度のエリアに移動させられたとき、表示されるビデオは、突然の悪化をこうむる。
【０００８】
その上、目標とされる使用が、表示されるビデオが常に最良の品質であることを必要とするとき、そのことは、ユーザの照準点が変化しているときの解像度の過渡的な悪化に基づいて、ソリューションを使用することを妨げる。結果として、配信されるビデオは、ビデオデータの欠落に起因する、損害の大きい暗転エリア表示のリスクなしに、ユーザがパンすることを可能にするのに十分な大きさのシーンの部分をカバーしなければならない。シーンのこの部分は、例えば、現在見られているエリア（すなわち、ビューポートまたは照準点）と、ユーザがビューポートを動かしたときの品質悪化を防止するための周囲領域(surrounding region)とを含むことができる。これは、没入型ビデオのシーンを、タイルのセットを用いて空間的にタイリングすること、および没入型ビデオを、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割することによって達成することができ、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられる。（ビューポートおよびそれの周囲を構成するタイルに対応する）没入型ビデオの１つまたは複数の関連するタイルセグメントが、プレーヤに配信される。
【０００９】
特に、ユーザがシーン内を移動（ナビゲート）しているとき、ビューポートを表示するために、新しいタイル（および対応するタイルセグメント）を必要とすることができる。それにもかかわらず、利用可能なシーンが、セグメント持続時間（segment duration）の周期性でしか変更することができないとき、タイル切り換えは、与えられた瞬間（例えば、セグメントの開始）においてしか発生することができない。
【００１０】
本開示は、上述のことを念頭に置いて考案された。
【課題を解決するための手段】
【００１１】
１つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオをエンコードするために構成されたエンコーダが提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記エンコーダは、
−  現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔(temporal interval)に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を受信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間(reference time)を含む、受信することと、
−  基準時間から、新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを獲得することと
を行うために構成された少なくとも１つのプロセッサを備える。
【００１２】
１つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法が提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
−  現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔(temporal interval)に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を受信するステップであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間(reference time)を含む、ステップと、
−  基準時間から、新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを獲得するステップと
を備える。
【００１３】
１つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを受信するために構成されたプレーヤが提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記プレーヤは、
−  現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を送信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、送信することと、
−  基準時間から、新しいタイルセグメントのデコーディングを可能にする、少なくとも１つの補完フレームを受信することと
を行うために構成された少なくとも１つのプロセッサを備える。
【００１４】
１つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、プレーヤにおいて受信するための方法が提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
−  現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を送信するステップであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、ステップと、
−  基準時間から、新しいタイルセグメントのデコーディングを可能にする、少なくとも１つの補完フレームを受信するステップと
を備える。
【００１５】
１つまたは複数の実施形態に従うと、通信ネットワークからダウンロード可能であること、およびコンピュータの少なくとも１つによって可読な非一時的なコンピュータ可読媒体上に記録されることの少なくとも一方であり、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法を実施するためのプログラムコード命令を含む、プロセッサによって実行可能なコンピュータプログラム製品が提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
−  現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えることを求める要求を受信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、受信することと、
−  基準時間から、新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを獲得することと
を備える。
【００１６】
１つまたは複数の実施形態に従うと、コンピュータによって可読であり、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法を実行するための、コンピュータによって実行可能な命令からなるプログラムを有形に具体化する、非一時的なプログラム記憶デバイスが提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
−  現在のタイルと関連付けられた少なくとも１つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも１つの新しいタイルセグメントに切り換えるための要求を受信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、受信することと、
−  新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも１つの補完フレームを基準時間から獲得することと
を備える。
【００１７】
１つまたは複数の実施形態に従うと、上で説明されたようなエンコーディングのための方法に従って獲得される、少なくとも１つの補完フレームを含む、ビットストリームが提供される。
【００１８】
１つまたは複数の実施形態に従った方法は、プログラム可能な装置上において、ソフトウェアで実施することができる。それらは、ハードウェア単独もしくはソフトウェア単独で、またはそれらの組合せで実施することができる。
【００１９】
１つまたは複数の実施形態の要素によって実施されるいくつかのプロセスは、コンピュータで実施することができる。したがって、そのような要素は、本明細書においては、一般に、すべてが「回路」、「モジュール」、または「システム」と呼ばれることがある、全面的にハードウェアの実施形態、（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）全面的にソフトウェアの実施形態、またはソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形態を取ることができる。さらに、そのような要素は、媒体内に具体化されたコンピュータ使用可能なプログラムコードを有する、任意の有形な表現媒体内に具体化された、コンピュータプログラム製品の形態を取ることができる。
【００２０】
要素は、ソフトウェアで実施することができるので、実施形態のいくつかの態様は、任意の適切なキャリア媒体上の、プログラム可能な装置に提供するためのコンピュータ可読コードとして、具体化することができる。有形なキャリア媒体は、フロッピディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、磁気テープデバイス、またはソリッドステートメモリデバイスなどの、記憶媒体を含むことができる。
【００２１】
したがって、１つまたは複数の実施形態は、上で述べられた方法をコンピュータが実行することを可能にするためのコンピュータ実行可能命令を含む、コンピュータ可読プログラムを提供する。
【００２２】
開示された実施形態と範囲が等しい、ある態様が、以下で説明される。これらの態様は、１つまたは複数の実施形態が取ることができる、ある形態の簡潔な要約を読者に提供するためだけに提示されること、およびこれらの態様は、開示の範囲を限定することを意図しないことを理解されたい。実際、本開示は、以下で説明されないことがある様々な態様を包含することができる。
【００２３】
本開示は、添付の図を参照する、決して限定的ではない、以下の実施形態および実行例を用いて、より良く理解され、例示される。
【図面の簡単な説明】
【００２４】
【図１】実施形態を実施することができる、例示的クライアント−サーバアーキテクチャの概略図である。
【図２】実施形態による例示的なクライアント端末の概略ブロック図である。
【図３】実施形態による例示的なコンテンツサーバの概略ブロック図である。
【図４】実施形態による例示的なエンコーダの概略ブロック図である。
【図５】実施形態による全天球ビデオのシーンの例示的タイリングを示す図である。
【図６】実施形態による、ビューポートを含む例示的なタイルを示す図である。
【図７】実施形態による図５の全天球ビデオをカバーするタイルのセットのうちの例示的タイルを示す図である。
【図８】実施形態による、アダプティブストリーミングにフォーマットされた、タイルベースの没入型ビデオの異なる利用可能な表現のための、ビデオセグメントおよびタイルセグメントのセットを概略的に示す図である。
【図９Ａ】実施形態で使用される、エンコーダ側で没入型ビデオのアダプティブストリーミングセッション中にタイルを切り換える、例示的方法のフローチャートである。
【図９Ｂ】実施形態で使用される、クライアント側で没入型ビデオのアダプティブストリーミングセッション中にタイルを切り換える、例示的方法のフローチャートである。
【図１０】実施形態による、照準切り換え時間が、グループオブピクチャのＰフレームに対応する、図９Ａの方法の例示的実施を示す図である。
【図１１】実施形態による、照準切り換え時間が、前のＰフレームに後続するグループオブピクチャのＢフレームに対応する、図９Ａの方法の例示的実施を示す図である。
【図１２】実施形態による、照準切り換え時間が、前のＢフレームに後続するグループオブピクチャのＢフレームに対応する、図９Ａの方法の例示的実施を示す図である。
【図１３】実施形態による、没入型ビデオのタイルセグメントと関連付けられたグループオブピクチャを送信順序に従って示す図である。
【図１４】没入型ビデオのストリーミングセッション中に、タイルを切り換え要求を受信したとき、サーバ側、クライアント側で実行される例示的動作を示す図である。
【発明を実施するための形態】
【００２５】
以下の説明は、いくつかの実施形態を例示する。したがって、本明細書において明示的に説明または示されていないが、実施形態のいくつかの態様を具体化し、それらの範囲内に含まれる、様々な構成を当業者が考案することができることが理解されよう。
【００２６】
本明細書において語られる、すべての例および条件を含む言い回しは、読者が実施形態を理解するのを助けるための教育的な目的を意図しており、そのような具体的に語られた例および条件に限定されないものとして解釈されるべきである。
【００２７】
さらに、実施形態について語る本明細書におけるすべての言明、およびそれらの具体的な例は、それらの構造的および機能的均等物の両方を包含することを意図している。加えて、そのような均等物は、現在知られている均等物と、将来開発される均等物の両方、すなわち、構造に関係なく、同じ機能を実行する、開発された任意の要素を含むことが意図される。
【００２８】
したがって、例えば、本明細書において提示されるブロック図は、実施形態のいくつかの態様を具体化する、例示的な回路の概念図を表すことが、当業者によって理解されよう。同様に、いずれのフローチャート、フロー図、状態遷移図、および擬似コードなども、コンピュータ可読媒体内に実質的に表され、そのため、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかに関わらず、実行することができる、様々なプロセスを表すことが理解されよう。
【００２９】
図に示される様々な要素の機能は、専用のハードウェアの使用、および適切なソフトウェアと関連付けられた、ソフトウェアを実行することが可能なハードウェアの使用を通して、提供することができる。プロセッサによって提供されるとき、機能は、単一の専用プロセッサによって、単一の共用プロセッサによって、またはそれらのいくつかは共用されることがある、複数の個別のプロセッサによって、提供することができる。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することが可能なハードウェアを排他的に指すと解釈されるべきではなく、限定することなく、デジタルシグナルプロセッサ（ＤＳＰ）ハードウェア、ソフトウェアを記憶するためのリードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および不揮発性ストレージを暗黙的に含むことができる。
【００３０】
本明細書の特許請求の範囲において、指定された機能を実行するための手段および／またはモジュールとして表現されるいずれの要素も、例えば、ａ）その機能を実行する回路要素の組合せ、またはｂ）任意の形態の、したがって、ファームウェアもしくはマイクロコードなどを含むソフトウェアであって、機能を実行するために、そのソフトウェアを実行するための適切な回路と組み合わされる、ソフトウェアを含む、その機能を実行する任意の方法を包含することを意図される。したがって、それらの機能性を提供することができるいずれの手段も、本明細書において示されるものと均等であると見なされる。
【００３１】
加えて、本開示の図および説明は、本実施形態の明確な理解に関連する要素を例示する一方で、明瞭にする目的で、典型的なデジタルマルチメディアコンテンツ配信方法、デバイス、およびシステムに見出される他の多くの要素を排除し、簡略化されていることを理解されたい。しかしながらそのような要素は、当技術分野においてよく知られているので、そのような要素についての詳細な説明は本明細書において提供されない。本明細書における実施形態は、当業者に知られる、すべてのそのような変形および変更に向けられる。
【００３２】
実施形態は、没入型または広視野ビデオ（例えば、全天球ビデオ、パノラマビデオなど）を、配信ネットワークを通して、クライアント端末に配信するための、ストリーミング環境に関して示される。
【００３３】
図１の例示的な実施形態に示されるように、ネットワークＮ（例えば、インターネット、ホームネットワーク、企業ネットワーク）によってサポートされるクライアント−サーバネットワークアーキテクチャは、１つまたは複数のクライアント端末１００（ただ１つのクライアント端末が表されている）と、（例えば、ＨＴＴＰプロトコルを実施して、データを配信する）コンテンツサーバなどの、１つまたは複数のネットワーク機器２００（図１には、ただ１つが表されている）と、エンコードされた没入型（または広視野）ビデオをコンテンツサーバ２００に提供するエンコーダ装置３００とを備える。
【００３４】
クライアント端末１００は、ストリーミングセッション（例えば、アダプティブストリーミングセッション）中に、コンテンツサーバ２００上に記憶された、タイルベースの没入型ビデオを要求することを望むことができる。
【００３５】
サーバ２００は、クライアントの要求時に、ストリーミングプロトコルを使用して、タイルベースの没入型ビデオのセグメントを、クライアント端末１００にストリーミングするように構成される。以下においては、例示的であるが非限定的な例として、没入型ビデオをサーバ２００からクライアント端末１００に配信するための、（ＭＰＥＧ−ＤＡＳＨなどの、ＨＴＴＰアダプティブストリーミングプロトコル、いわゆる、ＨＡＳ、またはＨＴＴＰライブストリーミング（ＨＬＳ）などの）アダプティブストリーミングが、考察される。明らかに、タイルベースの没入型ビデオのストリーミングセッションをサポートするために、異なるタイプのストリーミングプロトコルを実施することができる。
【００３６】
図２の例に示されるように、クライアント端末１００は、少なくとも以下のものを備えることができる。
【００３７】
ネットワークＮまたは追加のネットワーク（図１に図示せず）への接続のインターフェース１０１（例えば、Ｗｉ−Ｆｉ、イーサネットなどのような、有線および／または無線）。
【００３８】
サーバ２００と通信するための、プロトコルスタックを含む、通信回路１０２。特に、通信モジュール１０２は、当技術分野においてよく知られた、ＴＣＰ／ＩＰスタックを備える。もちろん、それは、クライアント端末１００がサーバ２００と通信することを可能にする、他の任意のタイプのネットワークおよび／または通信手段であることができる。
【００３９】
サーバ２００から没入型ビデオを（特に、対応するセグメントを）受信する、ストリーミングコントローラ１０３。
【００４０】
エンコードされた没入型ビデオをデコードおよびレンダリングするように適合された、ビデオプレーヤ１０４。
【００４１】
クライアント端末１００の不揮発性メモリ内に記憶された、アプリケーションおよびプログラムを実行するための、１つまたは複数のプロセッサ１０５。
【００４２】
例えば、サーバ２００から受信されたセグメントを、ビデオプレーヤ１０４へのそれらの送信前に、バッファリングするための、揮発性メモリなどの、記憶手段１０６。
【００４３】
一般的なクライアント端末機能性を実行するための、当業者によく知られた、様々なモジュールおよびすべての手段を接続するための、内部バス１０７。
【００４４】
例として、クライアント端末１００は、ポータブルメディアデバイス、モバイルフォン、タブレットもしくはラップトップ、ヘッドマウントデバイス、ＴＶセット、またはセットトップボックスなどである。もちろん、クライアント端末１００は、完全なビデオプレーヤを備えずに、メディアコンテンツを逆多重化およびデコードするためのものなど、いくつかのサブ要素だけを備えることができ、外部手段に依存して、デコードされたコンテンツをエンドユーザに表示することができる。
【００４５】
図３の実施形態に示されるように、サーバ２００は、少なくとも以下のものを備えることができる。
【００４６】
ネットワークＮまたは追加のネットワーク（図１に図示せず）への接続のインターフェース２０１（有線および／または無線）。
【００４７】
１つまたは複数の要求クライアント端末１００にデータを配信するための、通信回路２０２。特に、通信回路２０２は、当技術分野においてよく知られた、ＴＣＰ／ＩＰスタックを備えることができる。もちろん、それは、サーバ２００がクライアント端末１００と通信することを可能にする、他の任意のタイプのネットワークおよび／または通信手段であることができる。
【００４８】
タイルベースの没入型ビデオを１つまたは複数のクライアント端末１００に配信するように構成された、ストリーミングコントローラ２０３。
【００４９】
サーバ２００の不揮発性メモリ内に記憶された、アプリケーションおよびプログラムを実行するための、１つまたは複数のプロセッサ２０４。
【００５０】
記憶手段２０５。
【００５１】
一般的なサーバ機能性を実行するための、当業者によく知られた、様々なモジュールおよびすべての手段を接続するための、内部バス２０６。
【００５２】
図４の実施形態に示されるように、エンコーダ３００は、少なくとも以下のものを備えることができる。
【００５３】
コンテンツサーバ２００への接続のインターフェース３０１（有線および／または無線）。
【００５４】
１つまたは複数のコンテンツサーバ２００にエンコードされたデータを配信するための、通信回路３０２。特に、通信回路３０２は、当技術分野においてよく知られた、ＴＣＰ／ＩＰスタックを備えることができる。もちろん、それは、エンコーダ３００がサーバ２００と通信することを可能にする、他の任意のタイプのネットワークおよび／または通信手段であることができる。
【００５５】
エンコーダ３００の不揮発性メモリ内に記憶された、アプリケーションおよびプログラムを実行するための、１つまたは複数のプロセッサ３０３。
【００５６】
記憶手段３０４。
【００５７】
没入型ビデオコンテンツを生成およびフォーマットするように構成された、コンテンツジェネレータ３０５。記憶手段３０４内に記憶された没入型ビデオコンテンツは、エンコードされたとき、コンテンツサーバ２００に転送することができる。
【００５８】
エンコーダの一般的な機能性を実行するための、当業者によく知られた、様々なモジュールおよびすべての手段を接続するための、内部バス３０６。
【００５９】
変形または補足においては、エンコーダ３００は、サーバ２００内に組み込まれて、単一のデバイスを形成することができる。
【００６０】
図５に示される例示的な実施形態に従うと、タイルベースのビデオサービスにおいて、没入型ビデオは、サーバ／エンコーダ側において、タイル４００のセットに空間的にスライスすることができる。タイルのセットは、没入型ビデオの全シーン５００（図５の例においては、球）をカバーする。
【００６１】
図６および図７に示されるように、タイル４００のサイズは、別のタイルを瞬時に獲得およびデコードすることを強いられることなく、焦点の変化を可能にするように、十分大きく定義することができる。特に、以下においては、端末１００に配信された１つのタイルは、没入型ビデオを要求するクライアント端末１００と関連付けられたビューポートＶＰを通して表示される、シーン５００の少なくとも一部をカバーすることができると仮定される。もちろん、変形または補足においては、タイルが、ビューポートＶＰよりも小さいとき、ビューポートＶＰを通して表示されるシーンの一部を獲得するために、複数のタイルが必要になることがある。
【００６２】
必須ではないが、タイルのセットのうちの連続するタイル４００の間に、重なりが存在することがさらに仮定される。加えて、図６においては、長方形のタイルが例示されているが、本構成は、もちろん、他の任意のタイプのタイル形状にも適用することができる。
【００６３】
アダプティブストリーミングの例においては、タイルベースの没入型ビデオは、等しい持続時間(duration)の複数のビデオセグメントに時間的に分割され、各ビデオセグメントは、図８に示されるように、サーバ２００において、異なるビデオ品質またはビットレート（表現とも呼ばれる）で利用可能である。それは異なることがあるが、これ以降、没入型ビデオのすべてのビデオセグメントは、等しい持続時間であることが仮定される。
【００６４】
図８においては、すべての利用可能なビデオ品質（品質１、品質２、．．．、品質ｚ）について、没入型ビデオの各ビデオセグメント１からｎは、同じタイル配置に従って、タイル４００に空間的に分割される（各タイルは、図５に例示されるように、没入型シーンの一部をカバーする）。次に、各ビデオセグメントは、全天球シーン全体をカバーする同じ持続時間(same duration)のタイルセグメントのセットによって定義される（各タイルセグメントは、異なるビデオ品質で利用可能である）。複数の符号化されたビデオフレームを含む、どのタイルセグメントも、等価の持続時間である。
【００６５】
ユーザが、シーン内を移動（ナビゲート）しているとき、ビューポートを表示するために、新しいタイル（および対応するタイルセグメント）を必要とすることができる。通常の動作モードにおいては、タイル切り換えは、（例えば、ＭＰＥＧ−ＤＡＳＨ規格に従うと、ＳＡＰまたはストリームアクセスポイントと呼ばれる）定義された切り換え時間に発生する。
【００６６】
実施形態においては、待ち時間を短縮するために、タイルセグメントの持続時間は、短く選択することができ（例えば、０．５秒）、（没入型ビデオの時間ｔiに対応する）タイルセグメントＳtiは、Ｉフレーム（イントラフレーム）の数を減らすために、１つのグループオブピクチャ（ＧＯＰ）を含むことができる。セグメントＳtiのデコードのためには、少なくともそれの第１のフレームＩを必要とする。エンコーディングスキームは、通常、単方向予測フレーム（以前符号化されたフレームに基づいて符号化された、予測的に符号化されたフレームである、いわゆる、Ｐフレーム）の間に挿入される、双方向予測フレーム（以前符号化されたフレームと将来符号化されるフレームの両方に基づいて符号化された、双方向的に予測されたフレームである、いわゆる、Ｂフレーム）を含む。
【００６７】
図１０に示される例示的であるが非限定的な例においては、ＧＯＰは、（表示順序を考慮して）Ｉ−Ｂ−Ｂ−Ｐ−Ｂ−Ｂ−Ｐ−Ｂ−Ｂ−Ｐ−Ｂ−Ｂ−Ｐ−Ｂ−Ｐなど、ただ１つのＩフレームを有する、１５個のフレームを含むことができ、それは、Ｂフレームが、予測のために、以前のまたは先行するＩまたはＰフレームと、次のＰフレームとを使用することができ、Ｐフレームが、以前のまたは先行するＩまたはＰフレームを使用することができる、エンコーディングスキームである。この例示的な例においては、プレーヤ１０４は、第１のＢフレームをデコードすることができる前に、第１のＩフレーム（他のすべてのフレームとは独立して符号化される、イントラ符号化フレーム）を、第１のＰフレームとともに獲得する。ＰフレームおよびＢフレームは、Ｉフレームよりもはるかに小さいので、デコーディングを開始する前にダウンロードされるデータサイズは、セグメントデータのボリュームの半分におおよそ対応することができる。もちろん、異なる実施形態においては、ＧＯＰは、１５個とは異なる数のフレーム（例えば、１０フレーム）を含むことができることを理解されたい。いくつかの実施形態は、他の任意の適切なエンコーディングスキームを実施することができることにさらに留意されたい。
【００６８】
実施形態に従うと、エンコーダ３００は、要求時にクライアント端末１００とのストリーミングセッションを実行するために、図９Ａに示されるような方法６００を行って、タイルベースの没入型ビデオをコンテンツサーバ２００に提供することができる。特に、方法６００は、切り換え時間（例えば、ＳＡＰ）が定義されていない、または存在しない場合であっても、セグメント間隔中（すなわち、１つのセグメント内において）、１つまたは複数の現在のタイルセグメントＳtiから、１つまたは複数の新しいタイルセグメントＳ’tiへの切り換えを可能にする。そのような要求の受信時に、エンコーダは、適切なセグメント部分に加えて、場合によっては、追加情報を獲得し、その全部が、クライアント端末が、新しいセグメントＳ’tiの要求された部分をデコードし、それを正しく表示することを可能にする。現在のタイルセグメントと新しいタイルセグメントは、没入型ビデオの同じ時間間隔に対応することを理解されたい。
【００６９】
より具体的には、ステップ６０１において、エンコーダ３００は、現在のタイル４００と関連付けられた（現在、処理および表示されている）少なくとも１つの現在のタイルセグメントＳtiから、新しいタイル４００と関連付けられた少なくとも１つの新しいタイルセグメントＳ’tiに切り換えることを求める、（例えば、コンテンツサーバ２００を介した）クライアント端末１００からの要求を、（例えば、接続のインターフェース３０１および／またはプロセッサ３０３を介して）受信する。そのような要求は、現在のタイルセグメントＳtiから新しいタイルセグメントＳtiへのタイル切り換えを実施するための望ましい時間を定義する、（照準切り換え時間とも呼ばれる）基準時間ｔi＋∂ｔを含むことができる。基準時間は、現在表示されているタイムスタンプよりも大きく選択される。コンテンツサーバとエンコーダが、２つの別個のエンティティであるとき、サーバによって受信されたクライアント端末からの要求は、エンコーダに転送される前に、変更されることができることに留意されたい。
【００７０】
さらなるステップ６０２において、エンコーダ３００は、送信された基準時間から、新しいタイルと関連付けられた新しいタイルセグメントＳ’tiのデコーディングを可能にする、少なくとも１つの補完フレームを、（例えば、それのプロセッサ３０３および／またはコンテンツジェネレータ３０５を介して）獲得することができる。
【００７１】
ステップ６０３において、エンコーダ３００は、獲得された補完フレームを、クライアント端末１００に配信するために、コンテンツサーバ２００に転送することができる。エンコーダが、コンテンツサーバ内に組み込まれるケースにおいては、獲得された補完フレームは、エンコーダと、コンテンツサーバの専用要素（例えば、ストリーミングコントローラ２０３および／または記憶手段２０５）との間で、（例えば、内部バス２０６を介して）内部的に転送することができる。
【００７２】
実施形態に従うと、クライアント端末１００は、図９Ｂに示されるような方法７００を実施して、タイルベースの没入型ビデオのストリーミングセッション中に、タイル切り換えを要求することができる。
【００７３】
ステップ７０１において、タイル切り換えを求める要求を送信する前に、（例えば、これ以降で指定されるような、基準時間、補完フレームのエンコーディング時間、少なくとも補完フレームを含む新しいタイルセグメントＳ’tiのいくつかのフレームのローディング時間およびデコーディング時間、ならびにラウンドトリップタイムに依存する）タイミング条件を予備チェックすることができる。
【００７４】
ステップ７０２において、タイミング条件が、満たされたとき（実施されたとき）、クライアント端末は、１つの現在のタイルから新しいタイルに切り換えるために、基準時間ｔi＋∂ｔを含む、タイル切り換えを求める要求を、サーバ２００に送信する。
【００７５】
実施形態は、１つの現在のタイルから現在のタイルに重なる新しいタイルへの切り換えに適用されるばかりでなく、１つの現在のタイルからタイル間にいかなる重なりもない新しいタイルへの切り換えにも適用されることに留意されたい。
【００７６】
ステップ７０３において、クライアント端末１００は、サーバ２００から、新しいタイルのタイルセグメントＳ’tiの終りのほうのフレームとともに補完フレームを含む、新しいタイルの新しいタイルセグメントＳ’tiの残りの部分を受信することができる。
【００７７】
ステップ７０４において、クライアント端末１００は（例えば、それのプロセッサ１０５および／またはそれのビデオプレーヤ１０４のおかげで）、受信された補完フレームをデコードし、（表示することができる、または表示することができない）デコードされた補完フレームから、新しいタイルセグメントＳ’tiの残りのフレームをデコードすることができる。
【００７８】
ステップ７０５において、新しいタイルのタイルセグメントＳ’tiの残りの部分は、時間ｔi＋∂ｔにおいて、画面１０７上に表示することができる。切り換えの時間（すなわち、基準時間）に応じて、補完フレームは、表示することができ、または表示することができない。特に、基準時間が、現在のタイルセグメントＳti内のＰフレームに対応するとき、補完フレームは、プレーヤによってデコードおよび表示されるように構成される。現在時間が、現在のタイルセグメントＳti内のＢフレームに対応するとき、補完フレームは、プレーヤによって表示されることなしに、デコードだけされる。
【００７９】
Ｂフレームが、予測のために、以前のＰフレームと、次のＰフレームとを使用することができ、Ｐフレームが、以前のＩまたはＰフレームを使用する、エンコーディングスキームに依存する、図１０に示される例示的なＧＯＰを用いると、クライアント端末によって送信された要求において指定される基準時間ｔi＋∂ｔ（ｔiは、現在のタイルセグメントＳtiの開始時間である）は、現在のタイル（例えば、図１０の例における、参照されるタイルＸ）の現在のタイルセグメント内の（ＰフレームまたはＢフレームのどちらかに後続する）ＰフレームまたはＢフレームのどちらかに対応することができる。現在のタイルＸの現在のタイルセグメントＳtiと、新しいタイルＹの新しいタイルセグメントＳ’tiは、没入型ビデオの（時間ｔiにおいて開始する）同じ時間間隔に対応する。
【００８０】
基準時間が、図１０に示されるように、Ｐフレーム（すなわち、フレームＰ7,X）に対応するとき、補完フレームは、クライアント端末２００にすでに送信された現在のタイルセグメントの１つまたは複数のフレーム（例における、現在のタイルＸセグメントのフレームＰ7,X）を参照してエンコードされる、１つの新しいフレーム（図１０の例における、Ｐフレーム）から成る。そのようなケースにおいては、補完フレームは、新しいタイルセグメントＳ’tiの残りの部分における基準時間ｔi＋∂ｔに配置される。その後、クライアント端末２００のプレーヤ１０４は、この補完フレーム（例えば、図１０の例における、Ｐ’7,Y）をデコードおよび表示することができる。
【００８１】
（画面１０７上に表示されない）フレームＰ7,Xが、現在のタイルＸセグメントＳtiの以前のＢフレーム（例えば、Ｂ5,XおよびＢ6,X）をデコードするために、使用されるので、現在のタイルＸセグメントＳtiのフレームＰ7,Xが、クライアント端末２００に送信され、それのプレーヤ１０４によってデコードされることに留意されたい。
【００８２】
基準時間が、図１１の例に示されるように、Ｐフレームに後続するＢフレーム（すなわち、フレームＢ8,X）に対応するとき、補完フレームは、クライアント端末２００に以前に送信された現在のタイルセグメントＳtiの１つまたは複数のフレーム（例における、現在のタイルＸセグメントのフレームＰ7,X）を参照してエンコードされる、１つの新しいフレームから成る。そのようなケースにおいては、補完フレームは、新しいタイルセグメントＳ’tiの残りの部分に属する基準時間ｔi＋∂ｔにおけるフレーム（すなわち、図１１における、Ｂ8,Y）の１つ前のフレームに配置される。その後、クライアント端末２００のプレーヤ１０４は、この補完フレーム（例における、図１１における、Ｐ’7,Y）を、それを画面１０７上に表示することなしに、デコードすることができる。補完フレームＰ’7,Yは、新しいタイルＹのための新しいタイルセグメントＳ’tiの（残りのフレームとも呼ばれる）次のフレームのための参照フレームとして使用される。
【００８３】
基準時間が、図１２の例に示されるように、Ｂフレームに後続するＢフレーム（すなわち、フレームＢ9,X）に対応するとき、補完フレームは、クライアント端末２００に以前に送信された現在のタイルセグメントＳtiの１つまたは複数のフレーム（例における、現在のタイルＸセグメントのフレームＰ7,X、すなわち、現在のタイルＸセグメントの先行するＰフレーム）を参照してエンコードされる、１つの新しいフレーム（図１２の例における、Ｐフレーム）から成る。そのようなケースにおいては、補完フレームは、新しいタイルセグメントＳ’tiの残りの部分に属する基準時間ｔi＋∂ｔにおけるフレーム（すなわち、図１１におけるＢ9,Y）の２つ前のフレームに配置される。その後、クライアント端末２００のプレーヤ１０４は、この補完フレーム（例における、図１１における、Ｐ’7,Y）を、それを画面１０７上に表示することなしに、デコードすることができる。補完フレームＰ’7,Yは、新しいタイルＹのための新しいタイルセグメントＳ’tiの次のフレームのための参照フレームとして使用される。図１２に示されるように、現在のタイルセグメントのフレームＰ10,Xは、送信および表示される現在のタイルセグメントのフレームＢ8,Xをデコードすることができるようにするために（フレームＢ8,Xは、フレームＰ7,XおよびＰ10,Xを参照してエンコードされる）、送信されるが、（タイル切り換え後に配置されるので）表示されない。
【００８４】
基準時間に対応するフレームのタイプが、何であれ（すなわち、Ｐフレームであれ、Ｐフレームに後続するＢフレームであれ、Ｂフレームに後続するＢフレームであれ）、補完フレームは、時間ｔi＋∂ｔ−ｎ×ｆｒａｍｅ＿ｄｕｒａｔｉｏｎに配置され、ここで、ｎは、［０，２］に属する整数（Ｐフレームについては、ｎ＝０、Ｐフレームに後続するＢフレームについては、ｎ＝１、Ｂフレームに後続するＢフレームについては、ｎ＝２）であることを理解されたい。
【００８５】
基準時間が、（図１２の例に示されるように）以前のＢフレームに後続するＢフレームに対応するとき、現在のタイルの現在のタイルセグメントと、新しいタイルの新しいタイルセグメントとの間のタイル切り換えを実施するために、１７個のフレームが送信される。基準時間が、（図１０に示されるように）ＧＯＰのＰフレームに、または（図１１に示されるように）Ｐフレームに後続するＢフレームに対応するとき、タイル切り換えを実施するために、１６個のフレームが送信される。
【００８６】
補完フレームをエンコードするために使用される参照フレームは、Ｉフレーム、Ｐフレーム、またはＢフレームであることができる。加えて、補完フレームを獲得するために使用される参照フレームは、クライアント端末にすでに送信された現在のタイルＸの現在のセグメントＳtiのフレームに対応することができる（現在のタイルと新しいタイルの間の重なり合いのケースにおいて、効率的なエンコーディングをもたらす）。補足または変形においては、補完フレームを獲得するために使用される参照フレームは、現在のタイルＹの新しいタイルセグメントＳ’tiのフレームに対応することができる。
【００８７】
図１０から図１２の例においては、補完フレームＰ’m,Yの後のＧＯＰのフレームは（ｍは、タイルセグメントのＧＯＰにおける補完フレームの（表示順序での）時間的位置であり、そのため、図１０から図１２の例においては、ｍは、７に等しい）、補完フレームＰ’m,Yに先行するフレームへのいかなる参照も行わないことを理解されたい。
【００８８】
図１０から図１２の例においては、ＧＯＰのフレームは、フレーム表示順序に従って表される（それはフレーム送信順序とは異なり、いくつかのＢフレームは、より大きいタイムスタンプのフレームを参照することができる）。図１３は、それらの送信順序に従った例示的なＧＯＰのフレームを示している。ＧＯＰのフレーム番号７（表示順序）は、クライアント端末２００に２回送信されるが（１回は、現在のタイルの現在のタイルセグメントのために（フレームＰ7,X）、１回は、新しいタイルの新しいタイルセグメントのために、補完フレームＰ’7,Yとして）、切り換えの基準時間に応じて、一方（図１０から１２の例においては、Ｐ7,XまたはＰ’7,Yのどちらか）だけが表示されることに留意されたい。
【００８９】
実施形態は、サーバ２００およびプレーヤ１０４が、いくつかの動作を実行する時間を有することを仮定して、（ＳＡＰが定義されていない場合であっても）現在のセグメント間隔内の任意のタイムスタンプにおける切り換えを可能にする。実際、図１４の例示的であるが非限定的な例に示されるように、参照タイルが、Ｐフレームに後続するＢフレームに対応するとき、補完フレーム（すなわち、フレームＰ’7,Y）をエンコードする時間に、新しいタイルのセグメントＳ’tiの残りの部分（これ以降、セグメント’で参照される）の最初の３つのフレーム（すなわち、｛Ｐ’7,Y、Ｐ10,Y、Ｂ8,Y｝）をロードおよびデコードする時間を加えた時間は、タイルの切り換えを要求した時間ｔreq’と、基準時間ｔi＋∂ｔ（すなわち、切り換え時間）との間の間隔よりも短くするべきである。セグメント’は、補完フレームＰ’Yと、基準時間以降の新しいタイルＹのタイルセグメントＳ’tiの終りのほうのフレームとを含む。
【００９０】
特に、図１４の例に従ってタイル切り換えを実施するための動作のシーケンスは、以下のように説明される。
【００９１】
−  時間ｔreq’において、タイル切り換えを求める要求が、クライアント端末１００によってサーバ２００に送信される。
【００９２】
−  時間ＲＴＴ／２の後、サーバ２００は、要求を受信し、補完フレーム（すなわち、例における、Ｐ’7,Y）のエンコーディングを開始し、ＲＴＴは、ラウンドトリップタイム（すなわち、クライアントが要求を送信した時間と、それがこの要求に対応するデータを受信し始める時間との間の、ネットワークにおいて費やされる時間）に対応する。
【００９３】
−  時間Ｔencの後、補完フレーム（Ｐ’7,Y）が送信される準備が整う。（現在のタイルセグメントの基準時間までの部分をデコードするために使用される）タイルＸの最後のフレームの送信が、ちょうど終了したとき、サーバ２００は、補完フレーム（Ｐ’7,Y）の送信を開始することができる。
【００９４】
−  新しい時間ＲＴＴ／２の後、クライアント端末１００は、補完フレーム（Ｐ’7,Y）を受信し始める。
【００９５】
−  必要とされる補完フレームと、セグメント’の後続する２つのフレームとの送信持続時間に対応する追加の時間Ｔsend｛Ｐ’7,Y，Ｐ10,Y，Ｂ8,Y｝の後、クライアント端末１００は、新しいタイルセグメントの補完フレームに後続する最初のフレーム（Ｂ8,Y）をデコードする準備が整う（フレームＰ’7,YおよびＰ10,Yは、すでに並列してデコードされており、デコードが送信よりも速いと仮定されるときは、準備が整っている）。
【００９６】
−  補完フレームに後続する最初のフレームのデコーディング持続時間に対応する時間Ｔdec｛Ｂ8,Y｝の後、フレームＢ8,Yは、クライアント端末１００によって表示される準備が整う。
【００９７】
上述のことから、Ｐフレームに後続するＢフレームに対応する基準時間について、現在のタイルセグメントの処理中に、クライアント端末１００が、新しいタイルの新しいタイルセグメントを要求するためのタイミング条件を導出することができる。
【００９８】
ｔreq’＜ｔi＋∂ｔ−（ＲＴＴ＋Ｔenc｛Ｐ’7,Y｝＋Ｔsend｛Ｐ’7,Y，Ｐ10,Y，Ｂ8,Y｝＋Ｔdec｛Ｂ8,Y｝）
より一般には、基準時間に対応するフレームのタイプが、何であれ（すなわち、Ｐフレームであれ、Ｐフレームに後続するＢフレームであれ、Ｂフレームに後続するＢフレームであれ）、現在のタイルセグメントの処理中に、クライアント端末１００が、新しいタイルの新しいタイルセグメントを要求するためのタイミング条件は、
ｔreq’＜ｔi＋∂ｔ−（ＲＴＴ＋ｍａｘ（Ｔenc，Ｔsend_remain）＋Ｔsend_new＋Ｔdec）
によって定義することができ、ここで、
−  Ｔencは、補完フレームのエンコーディング持続時間に対応し、
−  Ｔsend_remainは、基準時間まで送信される、現在のタイルセグメントの残りのデータの送信持続時間に対応し、
−  Ｔsend_newは、必要とされる補完フレームと、基準時間に配置されたフレームをデコードするために使用される、セグメント’の後続するフレームとの送信持続時間に対応し、
−  Ｔdecは、基準時間に配置されたフレームのデコーディング持続時間に対応する。
【００９９】
クライアント端末は、（例えば、ストリーミングセッションの開始時に、例えば、マニフェストによって提供される情報を用いて）そのようなタイミング条件について、サーバによって予備通知されることができることに留意されたい。
【０１００】
サーバ側およびプレーヤ側において発生する動作を示す、図１４の例に示されるように、切り換え時間が、Ｐフレームに後続するＢフレームに対応するとき、サーバ２００は、現在、現在のタイルＸのタイルセグメントＳ’tiを送信している。時間ｔreq’＋ＲＴＴ／２において、サーバ２００は、クライアント端末１００から、現在のタイルＸから新しいタイルＹに切り換えることを求める要求を受信する。要求の受信時、時間ｔreq’が、上で説明されたようなタイミング条件を満たすとき、サーバ２００は、（エンコーダ３００を介して）時間ｔi＋∂ｔ−ｆｒａｍｅ＿ｄｕｒａｔｉｏｎに配置されたフレームに対応する、補完フレームを準備する。サーバ２００は、ｔi＋∂ｔよりも早くない時間において、現在のタイルＸのタイルセグメントＳtiの送信をキャンセルする。図１４の例においては、補完フレームＰ’7,Yは、クライアント端末１００によって受信され、デコードされるが、表示されない。
【０１０１】
別の実施形態においては、１つもしくは複数のセグメントのための、および／または１つもしくは複数のタイルのための補完フレーム（Ｐ’Y）を、サーバ側において事前エンコードおよび記憶して、サーバ／エンコーダ側において使用される処理リソースを減らすことができる。そのような実施形態においては、タイル切り換えは、（例えば、サーバによって準備され、クライアント端末に配信される、マニフェストに列挙された）与えられた瞬間においてだけ可能にされる。
【０１０２】
説明された実施形態のおかげで、アダプティブストリーミングセッション中、切り換え時間（例えば、ＳＡＰ）が定義されていない場合であっても、セグメント間隔中に、タイル切り換えを可能にすることができる。
【０１０３】
加えて、説明された実施形態のうちの１つまたは複数は、タイルベースの没入型ビデオのアダプティブストリーミングセッション内におけるスローモーションモードの実施に適合させられる。アダプティブストリーミング規格ＭＰＥＧ−ＤＡＳＨの例示的であるが非限定的な例において、クライアント端末は、スローモーションモードのために、専用コンテンツが利用可能であるとき、タイルおよびセグメントの選択および回復の両方について、通常の再生モードの動作と同じ方式で、スローモーション動作を行うことができる。専用のスローモーションコンテンツがない場合、同じコンテンツが、通常およびスローモーションモードで再生される。したがって、ＤＡＳＨセグメントは、スローモーション中、通常の再生モードよりも長時間にわたって再生される。例として、スローモーション中に、ビデオフレームレートが、２（スローモーション係数）で割られた場合、セグメントは、実際に、２倍長く表示される。
【０１０４】
スローモーションモードが、没入型ビデオ全体に対して利用可能でない（しかし、いくつかのシーケンスに対してだけは利用可能である）とき、コンテンツサーバによって送信され、クライアント端末によって受信されるマニフェストは、（例えば、スローモーションモードがそれに対して利用可能なセグメントを列挙することによって）そのような情報を示すことができる。
【０１０５】
説明、特許請求の範囲、および図面において開示される言及は、独立して、または任意の適切な組合せで提供することができる。特徴は、必要に応じて、ハードウェア、ソフトウェア、または２つの組合せで実施することができる。
【０１０６】
本明細書における「一実施形態」または「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が、説明される方法およびデバイスの少なくとも１つの実施に含まれることができることを意味する。本明細書の様々な場所における「一実施形態において」という語句の出現は、必ずしもすべてが同じ実施形態を指すわけではなく、別個のまたは代替的な実施形態は、必ずしも他の実施形態と互いに排他的なわけではない。
【０１０７】
特許請求の範囲に出現する参照番号は、例示にすぎず、特許請求の範囲に限定的な影響を有さないものとする。
【０１０８】
本開示のある実施形態だけが、本明細書において説明されたが、本開示の他の変更、変形、および可能性が可能であることが、当業者によって理解されよう。したがって、そのような変更、変形、および可能性は、本開示の主旨および範囲内にあり、したがって、本明細書において説明および／または例示される開示の一部を形成すると見なされるべきである。
【０１０９】
図におけるフローチャートおよび／またはブロック図は、本開示の様々な実施形態に従った、システム、方法、およびコンピュータプログラム製品の可能な実施の構成、動作、および機能性を例示している。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表すことができる。いくつかの代替的な実施においては、ブロック内に記された機能が、図に記された順序通りに生じないことがあることにも留意されたい。例えば、連続して示された２つのブロックは、実際には、実質的に同時に実行することができ、またはブロックは、ときには逆順で実行することができ、またはブロックは、含まれる機能性に応じて、代替的な順序で実行することができる。ブロック図および／またはフローチャート図の各ブロック、ならびにブロック図および／またはフローチャート図のブロックの組合せは、指定された機能もしくは動作を実行する専用ハードウェアベースのシステム、または専用ハードウェアとコンピュータ命令の組合せによって実施することができることにも留意されたい。明示的に説明されていないが、本実施形態は、任意のコンビネーションまたはサブコンビネーションで利用することができる。
【図１】
2022501846.tif 000003
【図２】
2022501846.tif 000004
【図３】
2022501846.tif 000005
【図４】
2022501846.tif 000006
【図５】
2022501846.tif 000007
【図６】
2022501846.tif 000008
【図７】
2022501846.tif 000009
【図８】
2022501846.tif 000010
【図９Ａ】
2022501846.tif 000011
【図９Ｂ】
2022501846.tif 000012
【図１０】
2022501846.tif 000013
【図１１】
2022501846.tif 000014
【図１２】
2022501846.tif 000015
【図１３】
2022501846.tif 000016
【図１４】
2022501846.tif 000017
【手続補正書】
【提出日】令和3年7月7日(2021.7.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントへ時間的に分割される、没入型ビデオをエンコードし、タイルは前記没入型ビデオのシーンの一部をカバーしており、タイルセグメントはタイルの前記セットのタイルと関連付けられており、
少なくとも１つの補完フレームのパッケージに対する要求を受信し、前記少なくとも１つの補完フレームは、デコーダが、基準時間において現在のタイルと関連付けられた現在のタイルセグメントから新しいタイルと関連付けられた新しいタイルセグメントに切り換えることを可能とし、前記新しいタイルセグメントは、前記現在のタイルセグメントと前記没入型ビデオの同一の時間間隔に対応しており、
少なくとも１つの補完フレームの前記パッケージを生成して、前記デコーダへ送信する
よう構成された少なくとも１つのプロセッサ
を備えたエンコーダ。
【請求項２】
前記少なくとも１つの補完フレームのパッケージに対する前記要求は、前記現在のタイルから前記新しいタイルへの前記切り替えを実施する基準時間を含む、請求項１に記載のエンコーダ。
【請求項３】
前記補完フレームは、前記現在のタイルセグメントの１つ以上のフレームから生成される、請求項１に記載のエンコーダ。
【請求項４】
前記基準時間が、前記現在のタイルの前記現在のタイルセグメントのグループオブピクチャのＰフレームまたはＢフレームに対応する時、前記補完フレームは、新しいＰフレームから成る、請求項１に記載のエンコーダ。
【請求項５】
前記補完フレームは、前記現在のタイルの前記現在のタイルセグメントの先行するＰフレームを参照してエンコードされる、請求項１に記載のエンコーダ。
【請求項６】
前記現在のタイルおよび前記新しいタイルは、前記シーンの同じ部分を部分的にカバーする、請求項１に記載のエンコーダ。
【請求項７】
前記基準時間からの前記新しいタイルセグメントを定義する残りのフレームは、前記補完フレームの前に配置された１つまたは複数のフレームへのいかなる参照も行わない請求項１に記載のエンコーダ。
【請求項８】
前記補完フレームを生成するために使用される、前記現在のタイルセグメントの前記１つまたは複数のフレームは、プレーヤにすでに配信されている請求項１に記載のエンコーダ。
【請求項９】
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントへ時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードする方法であって、タイルは前記没入型ビデオのシーンの一部をカバーしており、タイルセグメントはタイルの前記セットのタイルと関連付けられており、
デコーダから、少なくとも１つの補完フレームのパッケージに対する要求を受信するステップであって、前記少なくとも１つの補完フレームは、前記デコーダが、基準時間において現在のタイルと関連付けられた現在のタイルセグメントから新しいタイルと関連付けられた新しいタイルセグメントに切り換えることを可能とし、前記新しいタイルセグメントは、前記現在のタイルセグメントと前記没入型ビデオの同一の時間間隔に対応している、ステップと、
少なくとも１つの補完フレームの前記パッケージを生成して、前記デコーダへ送信するステップと
を備える方法。
【請求項１０】
前記少なくとも１つの補完フレームのパッケージに対する前記要求は、前記現在のタイルから前記新しいタイルへのタイル切り替えを実施する基準時間を含む、請求項９に記載の方法。
【請求項１１】
前記補完フレームは、前記現在のタイルセグメントの１つ以上のフレームから生成される、請求項９に記載の方法。
【請求項１２】
前記基準時間が、前記現在のタイルの前記現在のタイルセグメントのグループオブピクチャのＰフレームまたはＢフレームに対応する時、前記補完フレームは、新しいＰフレームから成る、請求項９に記載の方法。
【請求項１３】
前記補完フレームは、前記現在のタイルの前記現在のタイルセグメントの先行するＰフレームを参照してエンコードされる、請求項９に記載の方法。
【請求項１４】
前記現在のタイルおよび前記新しいタイルは、前記シーンの同じ部分を部分的にカバーする、請求項９に記載の方法。
【請求項１５】
前記基準時間からの前記新しいタイルセグメントを定義する残りのフレームは、前記補完フレームの前に配置された１つまたは複数のフレームへのいかなる参照も行わない請求項９に記載の方法。
【国際調査報告】
2022501846.tif 000018
2022501846.tif 000019
2022501846.tif 000020