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

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

▶ インターデジタル シーイー パテント ホールディングスの特許一覧

特許7553679タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法
<>
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図1
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図2
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図3
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図4
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図5
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図6
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図7
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図8
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図9A
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図9B
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図10
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図11
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図12
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図13
  • 特許-タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法
(51)【国際特許分類】
   H04N 19/597 20140101AFI20240910BHJP
   H04N 21/234 20110101ALI20240910BHJP
   H04N 21/6379 20110101ALI20240910BHJP
【FI】
H04N19/597
H04N21/234
H04N21/6379
【請求項の数】 15
(21)【出願番号】P 2023177583
(22)【出願日】2023-10-13
(62)【分割の表示】P 2020566578の分割
【原出願日】2019-05-24
(65)【公開番号】P2023171661
(43)【公開日】2023-12-01
【審査請求日】2023-11-13
(31)【優先権主張番号】18305674.6
(32)【優先日】2018-05-31
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】518341334
【氏名又は名称】インターディジタル・シーイー・パテント・ホールディングス・ソシエテ・パ・アクシオンス・シンプリフィエ
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】テイビィ、シャーリーン
(72)【発明者】
【氏名】アンベール、フレデリック
(72)【発明者】
【氏名】ウデイユ、レミ
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2018-033123(JP,A)
【文献】特開2010-041515(JP,A)
【文献】特開2004-350237(JP,A)
【文献】国際公開第2016/026526(WO,A2)
【文献】米国特許出願公開第2018/0139464(US,A1)
【文献】米国特許第9788077(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
H04N 21/00 - 21/858
(57)【特許請求の範囲】
【請求項1】
エンコーダであって、
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントへ時間的に分割される、没入型ビデオをエンコードし、タイルは前記没入型ビデオのシーンの一部をカバーしており、タイルセグメントはタイルの前記セットのタイルと関連付けられており、
クライアント端末から、現在のタイルと関連付けられた現在のタイルセグメントから新しいタイルと関連付けられた新しいタイルセグメントに切り換える要求を受信し、前記要求は前記現在のタイルから前記新しいタイルへの切り換える時間を規定する基準時間を含み、
新しいPフレームを含み、前記新しいタイルと関連付けられた前記新しいタイルセグメントのデコーディングを可能とする補完フレームを取得し、
前記クライアント端末へ、前記補完フレームを送信する
よう構成された少なくなくとも1つのプロセッサを備え、
前記新しいタイルセグメントにおける少なくとも1つのフレームは、前記補完フレームから予測され、
前記基準時間は、現在の表示時間よりも大きい
エンコーダ。
【請求項2】
前記補完フレームを取得することは、前記受信された基準時間に基づいて、および、前記クライアント端末において既に利用可能な前記現在のタイルセグメントの少なくとも1つのフレームに基づいて、前記新しいPフレームを生成することを含む請求項1に記載のエンコーダ。
【請求項3】
前記補完フレームは、前記現在のタイルセグメントの1つ以上のフレームから生成される請求項1に記載のエンコーダ。
【請求項4】
前記補完フレームは、前記現在のタイルの前記現在のタイルセグメントの先行するPフレームから予測される請求項1に記載のエンコーダ。
【請求項5】
前記現在のタイルおよび前記新しいタイルは、前記シーンの同じ部分を部分的にカバーしている請求項1に記載のエンコーダ。
【請求項6】
前記基準時間からの前記新しいタイルセグメントを定義する残りのフレームは、前記補完フレームの前に配置された1つ以上のフレームへのいかなる参照も行わない請求項1に記載のエンコーダ。
【請求項7】
タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントへ時間的に分割される没入型ビデオを、エンコーダにおいてエンコードする方法であって、タイルは前記没入型ビデオのシーンの一部をカバーしており、タイルセグメントはタイルの前記セットのタイルと関連付けられており、
クライアント端末から、現在のタイルと関連付けられた現在のタイルセグメントから新しいタイルと関連付けられた新しいタイルセグメントに切り換える要求を受信するステップであって、前記要求は前記現在のタイルから前記新しいタイルへの切り換える時間を規定する基準時間を含む、ステップと、
新しいPフレームを含み、前記新しいタイルと関連付けられた前記新しいタイルセグメントのデコーディングを可能とする補完フレームを取得するステップと、
前記クライアント端末へ、前記補完フレームを送信するステップと
を備え、
前記新しいタイルセグメントにおける少なくとも1つのフレームは、前記補完フレームから予測され、
前記基準時間は、現在の表示時間よりも大きい
方法。
【請求項8】
前記補完フレームを取得するステップは、前記受信された基準時間に基づいて、および、前記クライアント端末において既に利用可能な前記現在のタイルセグメントの少なくとも1つのフレームに基づいて、前記新しいPフレームを生成することを含む請求項7に記載の方法。
【請求項9】
前記補完フレームは、前記現在のタイルセグメントの1つ以上のフレームから生成される、請求項7に記載の方法。
【請求項10】
前記補完フレームは、前記現在のタイルの前記現在のタイルセグメントの先行するPフレームから予測される請求項7に記載の方法。
【請求項11】
前記現在のタイルおよび前記新しいタイルは、前記シーンの同じ部分を部分的にカバーしている請求項7に記載の方法。
【請求項12】
前記基準時間からの前記新しいタイルセグメントを定義する残りのフレームは、前記補完フレームの前に配置された1つ以上のフレームへのいかなる参照も行わない請求項7に記載の方法。
【請求項13】
没入型ビデオプレーヤであって、
エンコーダへ、現在のタイルと関連付けられた現在のタイルセグメントから新しいタイルと関連付けられた新しいタイルセグメントに切り換える要求を送り、前記要求は前記現在のタイルから前記新しいタイルへの切り換える時間を規定する基準時間を含み、
新しいPフレームを含み、前記基準時間において、前記没入型ビデオプレーヤが、前記現在のタイルに関連付けられた前記現在のタイルセグメントから、前記新しいタイルに関連付けられた前記新しいタイルセグメントへ切り替わることを可能とする補完フレームを受信する
よう構成された少なくとも1つのプロセッサを備え、
前記新しいタイルセグメントにおける少なくとも1つのフレームは、前記補完フレームから予測され、
前記基準時間は、現在の表示時間よりも大きい
没入型ビデオプレーヤ。
【請求項14】
前記少なくとも1つのプロセッサは、
前記現在のタイルセグメントの少なくとも1つの基準フレームに基づいて、前記新しいPフレームをデコードし、
前記デコードされた新しいPフレームを基準フレームとして使用して、前記新しいタイルセグメントの少なくとも1つのフレームをデコードし、
前記新しいタイルセグメントの前記デコードされた少なくとも1つのフレームを表示する
ようさらに構成された請求項13に記載の没入型ビデオプレーヤ。
【請求項15】
前記補完フレームは、前記現在のタイルの前記現在のタイルセグメントの先行するPフレームから予測される請求項13に記載の没入型ビデオプレーヤ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、(全天球ビデオ、いわゆる、仮想現実(VR)360°ビデオ、またはパノラマビデオなど)没入型ビデオの、配信ネットワークを通した、エンドデバイスへのストリーミングに関する。
【背景技術】
【0002】
このセクションは、以下で説明および/または特許請求される、本開示の様々な態様に関連することができる技術の様々な態様を、読者に紹介することを意図している。この説明は、本開示の様々な態様のより良い理解を容易にするための背景情報を、読者に提供するのに役立つと信じられる。したがって、これらの言明は、先行技術の承認としてではなく、この観点から読まれるべきであることを理解されたい。
【0003】
全天球ビデオ(spherical video)は、ユーザが、VRヘッドマウントディスプレイ(HMD)を使用して、あたりを見回すことができる、または(マウスもしくはリモコンなどの)制御装置を用いて、ビューポートを制御することによって、フラットディスプレイ上のシーン内を自由に移動する(navigate:ナビゲートする)ことができる、没入型体験を提供する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
空間移動(spatial navigation)におけるそのような自由は、シーン内の観察者の照準点(aiming point)の位置に応じて、視覚化されるビデオ部分を抽出するように構成された、(HMDまたはTVセット内に組み込まれた)プレーヤに、360°シーン全体が配信されることを必要とする。そのような状況においては、ビデオを配信するために、高スループットが必要である。
【0005】
したがって、1つの主要な問題は、許容可能な質の没入型体験が得られる(すなわち、画面フリーズ、ブロックノイズ、画面暗転などを回避する)、帯域幅が制約されたネットワーク上における、全天球ビデオの効率的な送信に依存している。現在、全天球ビデオサービスをストリーミングで配信するために、没入型体験、ビデオの解像度と、コンテンツ配信ネットワークの利用可能なスループットとの間で、妥協点が探られている。
【0006】
全天球ビデオをストリーミングする知られたソリューションの大部分は、完全な360°シーンをエンドデバイスに提供するが、シーン全体の10%未満しかユーザに提示されない。配信ネットワークは、制限されたスループットを有するので、ビデオ解像度は、帯域幅制約に合うように引き下げられる。
【0007】
他の知られたソリューションは、エンドデバイスの現在のビューポートの外側に配置される、360°シーンの部分の解像度を低減させることによって、ビデオ品質の悪化を軽減する。それにもかかわらず、ユーザの動作のせいで、エンドデバイスのビューポートが、より低い解像度のエリアに移動させられたとき、表示されるビデオは、突然の悪化をこうむる。
【0008】
その上、目標とされる使用が、表示されるビデオが常に最良の品質であることを必要とするとき、そのことは、ユーザの照準点が変化しているときの解像度の過渡的な悪化に基づいて、ソリューションを使用することを妨げる。結果として、配信されるビデオは、ビデオデータの欠落に起因する、損害の大きい暗転エリア表示のリスクなしに、ユーザがパンすることを可能にするのに十分な大きさのシーンの部分をカバーしなければならない。シーンのこの部分は、例えば、現在見られているエリア(すなわち、ビューポートまたは照準点)と、ユーザがビューポートを動かしたときの品質悪化を防止するための周囲領域(surrounding region)とを含むことができる。これは、没入型ビデオのシーンを、タイルのセットを用いて空間的にタイリングすること、および没入型ビデオを、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割することによって達成することができ、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられる。(ビューポートおよびそれの周囲を構成するタイルに対応する)没入型ビデオの1つまたは複数の関連するタイルセグメントが、プレーヤに配信される。
【0009】
特に、ユーザがシーン内を移動(ナビゲート)しているとき、ビューポートを表示するために、新しいタイル(および対応するタイルセグメント)を必要とすることができる。それにもかかわらず、利用可能なシーンが、セグメント持続時間(segment duration)の周期性でしか変更することができないとき、タイル切り換えは、与えられた瞬間(例えば、セグメントの開始)においてしか発生することができない。
【0010】
本開示は、上述のことを念頭に置いて考案された。
【課題を解決するための手段】
【0011】
1つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオをエンコードするために構成されたエンコーダが提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記エンコーダは、
- 現在のタイルと関連付けられた少なくとも1つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔(temporal interval)に対応する、新しいタイルと関連付けられた少なくとも1つの新しいタイルセグメントに切り換えることを求める要求を受信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間(reference time)を含む、受信することと、
- 基準時間から、新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも1つの補完フレームを獲得することと
を行うために構成された少なくとも1つのプロセッサを備える。
【0012】
1つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法が提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
- 現在のタイルと関連付けられた少なくとも1つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔(temporal interval)に対応する、新しいタイルと関連付けられた少なくとも1つの新しいタイルセグメントに切り換えることを求める要求を受信するステップであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間(reference time)を含む、ステップと、
- 基準時間から、新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも1つの補完フレームを獲得するステップと
を備える。
【0013】
1つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを受信するために構成されたプレーヤが提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記プレーヤは、
- 現在のタイルと関連付けられた少なくとも1つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも1つの新しいタイルセグメントに切り換えることを求める要求を送信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、送信することと、
- 基準時間から、新しいタイルセグメントのデコーディングを可能にする、少なくとも1つの補完フレームを受信することと
を行うために構成された少なくとも1つのプロセッサを備える。
【0014】
1つまたは複数の実施形態に従うと、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、プレーヤにおいて受信するための方法が提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
- 現在のタイルと関連付けられた少なくとも1つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも1つの新しいタイルセグメントに切り換えることを求める要求を送信するステップであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、ステップと、
- 基準時間から、新しいタイルセグメントのデコーディングを可能にする、少なくとも1つの補完フレームを受信するステップと
を備える。
【0015】
1つまたは複数の実施形態に従うと、通信ネットワークからダウンロード可能であること、およびコンピュータの少なくとも1つによって可読な非一時的なコンピュータ可読媒体上に記録されることの少なくとも一方であり、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法を実施するためのプログラムコード命令を含む、プロセッサによって実行可能なコンピュータプログラム製品が提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
- 現在のタイルと関連付けられた少なくとも1つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも1つの新しいタイルセグメントに切り換えることを求める要求を受信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、受信することと、
- 基準時間から、新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも1つの補完フレームを獲得することと
を備える。
【0016】
1つまたは複数の実施形態に従うと、コンピュータによって可読であり、タイルのセットを用いて空間的にタイリングされ、複数のタイルセグメントによって定義される複数のビデオセグメントに時間的に分割される、没入型ビデオを、エンコーダにおいてエンコードするための方法を実行するための、コンピュータによって実行可能な命令からなるプログラムを有形に具体化する、非一時的なプログラム記憶デバイスが提供され、タイルは、没入型ビデオのシーンの一部をカバーし、タイルセグメントは、タイルのセットのうちのタイルと関連付けられ、前記方法は、
- 現在のタイルと関連付けられた少なくとも1つの現在のタイルセグメントから、現在のタイルセグメントと同じ、没入型ビデオの時間間隔に対応する、新しいタイルと関連付けられた少なくとも1つの新しいタイルセグメントに切り換えるための要求を受信することであって、要求は、現在のタイルセグメントから新しいタイルセグメントへのタイル切り換えを実施するための基準時間を含む、受信することと、
- 新しいタイルセグメントの、要求プレーヤによる、デコーディングを可能にする、少なくとも1つの補完フレームを基準時間から獲得することと
を備える。
【0017】
1つまたは複数の実施形態に従うと、上で説明されたようなエンコーディングのための方法に従って獲得される、少なくとも1つの補完フレームを含む、ビットストリームが提供される。
【0018】
1つまたは複数の実施形態に従った方法は、プログラム可能な装置上において、ソフトウェアで実施することができる。それらは、ハードウェア単独もしくはソフトウェア単独で、またはそれらの組合せで実施することができる。
【0019】
1つまたは複数の実施形態の要素によって実施されるいくつかのプロセスは、コンピュータで実施することができる。したがって、そのような要素は、本明細書においては、一般に、すべてが「回路」、「モジュール」、または「システム」と呼ばれることがある、全面的にハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)全面的にソフトウェアの実施形態、またはソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形態を取ることができる。さらに、そのような要素は、媒体内に具体化されたコンピュータ使用可能なプログラムコードを有する、任意の有形な表現媒体内に具体化された、コンピュータプログラム製品の形態を取ることができる。
【0020】
要素は、ソフトウェアで実施することができるので、実施形態のいくつかの態様は、任意の適切なキャリア媒体上の、プログラム可能な装置に提供するためのコンピュータ可読コードとして、具体化することができる。有形なキャリア媒体は、フロッピディスク、CD-ROM、ハードディスクドライブ、磁気テープデバイス、またはソリッドステートメモリデバイスなどの、記憶媒体を含むことができる。
【0021】
したがって、1つまたは複数の実施形態は、上で述べられた方法をコンピュータが実行することを可能にするためのコンピュータ実行可能命令を含む、コンピュータ可読プログラムを提供する。
【0022】
開示された実施形態と範囲が等しい、ある態様が、以下で説明される。これらの態様は、1つまたは複数の実施形態が取ることができる、ある形態の簡潔な要約を読者に提供するためだけに提示されること、およびこれらの態様は、開示の範囲を限定することを意図しないことを理解されたい。実際、本開示は、以下で説明されないことがある様々な態様を包含することができる。
【発明の効果】
【0023】
タイルベースの没入型ビデオをエンコードするための新規なエンコーダおよび方法を提供する。
本開示は、添付の図を参照する、決して限定的ではない、以下の実施形態および実行例を用いて、より良く理解され、例示される。
【図面の簡単な説明】
【0024】
図1】実施形態を実施することができる、例示的クライアント-サーバアーキテクチャの概略図である。
図2】実施形態による例示的なクライアント端末の概略ブロック図である。
図3】実施形態による例示的なコンテンツサーバの概略ブロック図である。
図4】実施形態による例示的なエンコーダの概略ブロック図である。
図5】実施形態による全天球ビデオのシーンの例示的タイリングを示す図である。
図6】実施形態による、ビューポートを含む例示的なタイルを示す図である。
図7】実施形態による図5の全天球ビデオをカバーするタイルのセットのうちの例示的タイルを示す図である。
図8】実施形態による、アダプティブストリーミングにフォーマットされた、タイルベースの没入型ビデオの異なる利用可能な表現のための、ビデオセグメントおよびタイルセグメントのセットを概略的に示す図である。
図9A】実施形態で使用される、エンコーダ側で没入型ビデオのアダプティブストリーミングセッション中にタイルを切り換える、例示的方法のフローチャートである。
図9B】実施形態で使用される、クライアント側で没入型ビデオのアダプティブストリーミングセッション中にタイルを切り換える、例示的方法のフローチャートである。
図10】実施形態による、照準切り換え時間が、グループオブピクチャのPフレームに対応する、図9Aの方法の例示的実施を示す図である。
図11】実施形態による、照準切り換え時間が、前のPフレームに後続するグループオブピクチャのBフレームに対応する、図9Aの方法の例示的実施を示す図である。
図12】実施形態による、照準切り換え時間が、前のBフレームに後続するグループオブピクチャのBフレームに対応する、図9Aの方法の例示的実施を示す図である。
図13】実施形態による、没入型ビデオのタイルセグメントと関連付けられたグループオブピクチャを送信順序に従って示す図である。
図14】没入型ビデオのストリーミングセッション中に、タイルを切り換え要求を受信したとき、サーバ側、クライアント側で実行される例示的動作を示す図である。
【発明を実施するための形態】
【0025】
以下の説明は、いくつかの実施形態を例示する。したがって、本明細書において明示的に説明または示されていないが、実施形態のいくつかの態様を具体化し、それらの範囲内に含まれる、様々な構成を当業者が考案することができることが理解されよう。
【0026】
本明細書において語られる、すべての例および条件を含む言い回しは、読者が実施形態を理解するのを助けるための教育的な目的を意図しており、そのような具体的に語られた例および条件に限定されないものとして解釈されるべきである。
【0027】
さらに、実施形態について語る本明細書におけるすべての言明、およびそれらの具体的な例は、それらの構造的および機能的均等物の両方を包含することを意図している。加えて、そのような均等物は、現在知られている均等物と、将来開発される均等物の両方、すなわち、構造に関係なく、同じ機能を実行する、開発された任意の要素を含むことが意図される。
【0028】
したがって、例えば、本明細書において提示されるブロック図は、実施形態のいくつかの態様を具体化する、例示的な回路の概念図を表すことが、当業者によって理解されよう。同様に、いずれのフローチャート、フロー図、状態遷移図、および擬似コードなども、コンピュータ可読媒体内に実質的に表され、そのため、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかに関わらず、実行することができる、様々なプロセスを表すことが理解されよう。
【0029】
図に示される様々な要素の機能は、専用のハードウェアの使用、および適切なソフトウェアと関連付けられた、ソフトウェアを実行することが可能なハードウェアの使用を通して、提供することができる。プロセッサによって提供されるとき、機能は、単一の専用プロセッサによって、単一の共用プロセッサによって、またはそれらのいくつかは共用されることがある、複数の個別のプロセッサによって、提供することができる。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することが可能なハードウェアを排他的に指すと解釈されるべきではなく、限定することなく、デジタルシグナルプロセッサ(DSP)ハードウェア、ソフトウェアを記憶するためのリードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性ストレージを暗黙的に含むことができる。
【0030】
本明細書の特許請求の範囲において、指定された機能を実行するための手段および/またはモジュールとして表現されるいずれの要素も、例えば、a)その機能を実行する回路要素の組合せ、またはb)任意の形態の、したがって、ファームウェアもしくはマイクロコードなどを含むソフトウェアであって、機能を実行するために、そのソフトウェアを実行するための適切な回路と組み合わされる、ソフトウェアを含む、その機能を実行する任意の方法を包含することを意図される。したがって、それらの機能性を提供することができるいずれの手段も、本明細書において示されるものと均等であると見なされる。
【0031】
加えて、本開示の図および説明は、本実施形態の明確な理解に関連する要素を例示する一方で、明瞭にする目的で、典型的なデジタルマルチメディアコンテンツ配信方法、デバイス、およびシステムに見出される他の多くの要素を排除し、簡略化されていることを理解されたい。しかしながらそのような要素は、当技術分野においてよく知られているので、そのような要素についての詳細な説明は本明細書において提供されない。本明細書における実施形態は、当業者に知られる、すべてのそのような変形および変更に向けられる。
【0032】
実施形態は、没入型または広視野ビデオ(例えば、全天球ビデオ、パノラマビデオなど)を、配信ネットワークを通して、クライアント端末に配信するための、ストリーミング環境に関して示される。
【0033】
図1の例示的な実施形態に示されるように、ネットワークN(例えば、インターネット、ホームネットワーク、企業ネットワーク)によってサポートされるクライアント-サーバネットワークアーキテクチャは、1つまたは複数のクライアント端末100(ただ1つのクライアント端末が表されている)と、(例えば、HTTPプロトコルを実施して、データを配信する)コンテンツサーバなどの、1つまたは複数のネットワーク機器200(図1には、ただ1つが表されている)と、エンコードされた没入型(または広視野)ビデオをコンテンツサーバ200に提供するエンコーダ装置300とを備える。
【0034】
クライアント端末100は、ストリーミングセッション(例えば、アダプティブストリーミングセッション)中に、コンテンツサーバ200上に記憶された、タイルベースの没入型ビデオを要求することを望むことができる。
【0035】
サーバ200は、クライアントの要求時に、ストリーミングプロトコルを使用して、タイルベースの没入型ビデオのセグメントを、クライアント端末100にストリーミングするように構成される。以下においては、例示的であるが非限定的な例として、没入型ビデオをサーバ200からクライアント端末100に配信するための、(MPEG-DASHなどの、HTTPアダプティブストリーミングプロトコル、いわゆる、HAS、またはHTTPライブストリーミング(HLS)などの)アダプティブストリーミングが、考察される。明らかに、タイルベースの没入型ビデオのストリーミングセッションをサポートするために、異なるタイプのストリーミングプロトコルを実施することができる。
【0036】
図2の例に示されるように、クライアント端末100は、少なくとも以下のものを備えることができる。
【0037】
ネットワークNまたは追加のネットワーク(図1に図示せず)への接続のインターフェース101(例えば、Wi-Fi、イーサネットなどのような、有線および/または無線)。
【0038】
サーバ200と通信するための、プロトコルスタックを含む、通信回路102。特に、通信モジュール102は、当技術分野においてよく知られた、TCP/IPスタックを備える。もちろん、それは、クライアント端末100がサーバ200と通信することを可能にする、他の任意のタイプのネットワークおよび/または通信手段であることができる。
【0039】
サーバ200から没入型ビデオを(特に、対応するセグメントを)受信する、ストリーミングコントローラ103。
【0040】
エンコードされた没入型ビデオをデコードおよびレンダリングするように適合された、ビデオプレーヤ104。
【0041】
クライアント端末100の不揮発性メモリ内に記憶された、アプリケーションおよびプログラムを実行するための、1つまたは複数のプロセッサ105。
【0042】
例えば、サーバ200から受信されたセグメントを、ビデオプレーヤ104へのそれらの送信前に、バッファリングするための、揮発性メモリなどの、記憶手段106。
【0043】
一般的なクライアント端末機能性を実行するための、当業者によく知られた、様々なモジュールおよびすべての手段を接続するための、内部バス107。
【0044】
例として、クライアント端末100は、ポータブルメディアデバイス、モバイルフォン、タブレットもしくはラップトップ、ヘッドマウントデバイス、TVセット、またはセットトップボックスなどである。もちろん、クライアント端末100は、完全なビデオプレーヤを備えずに、メディアコンテンツを逆多重化およびデコードするためのものなど、いくつかのサブ要素だけを備えることができ、外部手段に依存して、デコードされたコンテンツをエンドユーザに表示することができる。
【0045】
図3の実施形態に示されるように、サーバ200は、少なくとも以下のものを備えることができる。
【0046】
ネットワークNまたは追加のネットワーク(図1に図示せず)への接続のインターフェース201(有線および/または無線)。
【0047】
1つまたは複数の要求クライアント端末100にデータを配信するための、通信回路202。特に、通信回路202は、当技術分野においてよく知られた、TCP/IPスタックを備えることができる。もちろん、それは、サーバ200がクライアント端末100と通信することを可能にする、他の任意のタイプのネットワークおよび/または通信手段であることができる。
【0048】
タイルベースの没入型ビデオを1つまたは複数のクライアント端末100に配信するように構成された、ストリーミングコントローラ203。
【0049】
サーバ200の不揮発性メモリ内に記憶された、アプリケーションおよびプログラムを実行するための、1つまたは複数のプロセッサ204。
【0050】
記憶手段205。
【0051】
一般的なサーバ機能性を実行するための、当業者によく知られた、様々なモジュールおよびすべての手段を接続するための、内部バス206。
【0052】
図4の実施形態に示されるように、エンコーダ300は、少なくとも以下のものを備えることができる。
【0053】
コンテンツサーバ200への接続のインターフェース301(有線および/または無線)。
【0054】
1つまたは複数のコンテンツサーバ200にエンコードされたデータを配信するための、通信回路302。特に、通信回路302は、当技術分野においてよく知られた、TCP/IPスタックを備えることができる。もちろん、それは、エンコーダ300がサーバ200と通信することを可能にする、他の任意のタイプのネットワークおよび/または通信手段であることができる。
【0055】
エンコーダ300の不揮発性メモリ内に記憶された、アプリケーションおよびプログラムを実行するための、1つまたは複数のプロセッサ303。
【0056】
記憶手段304。
【0057】
没入型ビデオコンテンツを生成およびフォーマットするように構成された、コンテンツジェネレータ305。記憶手段304内に記憶された没入型ビデオコンテンツは、エンコードされたとき、コンテンツサーバ200に転送することができる。
【0058】
エンコーダの一般的な機能性を実行するための、当業者によく知られた、様々なモジュールおよびすべての手段を接続するための、内部バス306。
【0059】
変形または補足においては、エンコーダ300は、サーバ200内に組み込まれて、単一のデバイスを形成することができる。
【0060】
図5に示される例示的な実施形態に従うと、タイルベースのビデオサービスにおいて、没入型ビデオは、サーバ/エンコーダ側において、タイル400のセットに空間的にスライスすることができる。タイルのセットは、没入型ビデオの全シーン500(図5の例においては、球)をカバーする。
【0061】
図6および図7に示されるように、タイル400のサイズは、別のタイルを瞬時に獲得およびデコードすることを強いられることなく、焦点の変化を可能にするように、十分大きく定義することができる。特に、以下においては、端末100に配信された1つのタイルは、没入型ビデオを要求するクライアント端末100と関連付けられたビューポートVPを通して表示される、シーン500の少なくとも一部をカバーすることができると仮定される。もちろん、変形または補足においては、タイルが、ビューポートVPよりも小さいとき、ビューポートVPを通して表示されるシーンの一部を獲得するために、複数のタイルが必要になることがある。
【0062】
必須ではないが、タイルのセットのうちの連続するタイル400の間に、重なりが存在することがさらに仮定される。加えて、図6においては、長方形のタイルが例示されているが、本構成は、もちろん、他の任意のタイプのタイル形状にも適用することができる。
【0063】
アダプティブストリーミングの例においては、タイルベースの没入型ビデオは、等しい持続時間(duration)の複数のビデオセグメントに時間的に分割され、各ビデオセグメントは、図8に示されるように、サーバ200において、異なるビデオ品質またはビットレート(表現とも呼ばれる)で利用可能である。それは異なることがあるが、これ以降、没入型ビデオのすべてのビデオセグメントは、等しい持続時間であることが仮定される。
【0064】
図8においては、すべての利用可能なビデオ品質(品質1、品質2、...、品質z)について、没入型ビデオの各ビデオセグメント1からnは、同じタイル配置に従って、タイル400に空間的に分割される(各タイルは、図5に例示されるように、没入型シーンの一部をカバーする)。次に、各ビデオセグメントは、全天球シーン全体をカバーする同じ持続時間(same duration)のタイルセグメントのセットによって定義される(各タイルセグメントは、異なるビデオ品質で利用可能である)。複数の符号化されたビデオフレームを含む、どのタイルセグメントも、等価の持続時間である。
【0065】
ユーザが、シーン内を移動(ナビゲート)しているとき、ビューポートを表示するために、新しいタイル(および対応するタイルセグメント)を必要とすることができる。通常の動作モードにおいては、タイル切り換えは、(例えば、MPEG-DASH規格に従うと、SAPまたはストリームアクセスポイントと呼ばれる)定義された切り換え時間に発生する。
【0066】
実施形態においては、待ち時間を短縮するために、タイルセグメントの持続時間は、短く選択することができ(例えば、0.5秒)、(没入型ビデオの時間tiに対応する)タイルセグメントStiは、Iフレーム(イントラフレーム)の数を減らすために、1つのグループオブピクチャ(GOP)を含むことができる。セグメントStiのデコードのためには、少なくともそれの第1のフレームIを必要とする。エンコーディングスキームは、通常、単方向予測フレーム(以前符号化されたフレームに基づいて符号化された、予測的に符号化されたフレームである、いわゆる、Pフレーム)の間に挿入される、双方向予測フレーム(以前符号化されたフレームと将来符号化されるフレームの両方に基づいて符号化された、双方向的に予測されたフレームである、いわゆる、Bフレーム)を含む。
【0067】
図10に示される例示的であるが非限定的な例においては、GOPは、(表示順序を考慮して)I-B-B-P-B-B-P-B-B-P-B-B-P-B-Pなど、ただ1つのIフレームを有する、15個のフレームを含むことができ、それは、Bフレームが、予測のために、以前のまたは先行するIまたはPフレームと、次のPフレームとを使用することができ、Pフレームが、以前のまたは先行するIまたはPフレームを使用することができる、エンコーディングスキームである。この例示的な例においては、プレーヤ104は、第1のBフレームをデコードすることができる前に、第1のIフレーム(他のすべてのフレームとは独立して符号化される、イントラ符号化フレーム)を、第1のPフレームとともに獲得する。PフレームおよびBフレームは、Iフレームよりもはるかに小さいので、デコーディングを開始する前にダウンロードされるデータサイズは、セグメントデータのボリュームの半分におおよそ対応することができる。もちろん、異なる実施形態においては、GOPは、15個とは異なる数のフレーム(例えば、10フレーム)を含むことができることを理解されたい。いくつかの実施形態は、他の任意の適切なエンコーディングスキームを実施することができることにさらに留意されたい。
【0068】
実施形態に従うと、エンコーダ300は、要求時にクライアント端末100とのストリーミングセッションを実行するために、図9Aに示されるような方法600を行って、タイルベースの没入型ビデオをコンテンツサーバ200に提供することができる。特に、方法600は、切り換え時間(例えば、SAP)が定義されていない、または存在しない場合であっても、セグメント間隔中(すなわち、1つのセグメント内において)、1つまたは複数の現在のタイルセグメントStiから、1つまたは複数の新しいタイルセグメントS’tiへの切り換えを可能にする。そのような要求の受信時に、エンコーダは、適切なセグメント部分に加えて、場合によっては、追加情報を獲得し、その全部が、クライアント端末が、新しいセグメントS’tiの要求された部分をデコードし、それを正しく表示することを可能にする。現在のタイルセグメントと新しいタイルセグメントは、没入型ビデオの同じ時間間隔に対応することを理解されたい。
【0069】
より具体的には、ステップ601において、エンコーダ300は、現在のタイル400と関連付けられた(現在、処理および表示されている)少なくとも1つの現在のタイルセグメントStiから、新しいタイル400と関連付けられた少なくとも1つの新しいタイルセグメントS’tiに切り換えることを求める、(例えば、コンテンツサーバ200を介した)クライアント端末100からの要求を、(例えば、接続のインターフェース301および/またはプロセッサ303を介して)受信する。そのような要求は、現在のタイルセグメントStiから新しいタイルセグメントStiへのタイル切り換えを実施するための望ましい時間を定義する、(照準切り換え時間とも呼ばれる)基準時間ti+∂tを含むことができる。基準時間は、現在表示されているタイムスタンプよりも大きく選択される。コンテンツサーバとエンコーダが、2つの別個のエンティティであるとき、サーバによって受信されたクライアント端末からの要求は、エンコーダに転送される前に、変更されることができることに留意されたい。
【0070】
さらなるステップ602において、エンコーダ300は、送信された基準時間から、新しいタイルと関連付けられた新しいタイルセグメントS’tiのデコーディングを可能にする、少なくとも1つの補完フレームを、(例えば、それのプロセッサ303および/またはコンテンツジェネレータ305を介して)獲得することができる。
【0071】
ステップ603において、エンコーダ300は、獲得された補完フレームを、クライアント端末100に配信するために、コンテンツサーバ200に転送することができる。エンコーダが、コンテンツサーバ内に組み込まれるケースにおいては、獲得された補完フレームは、エンコーダと、コンテンツサーバの専用要素(例えば、ストリーミングコントローラ203および/または記憶手段205)との間で、(例えば、内部バス206を介して)内部的に転送することができる。
【0072】
実施形態に従うと、クライアント端末100は、図9Bに示されるような方法700を実施して、タイルベースの没入型ビデオのストリーミングセッション中に、タイル切り換えを要求することができる。
【0073】
ステップ701において、タイル切り換えを求める要求を送信する前に、(例えば、これ以降で指定されるような、基準時間、補完フレームのエンコーディング時間、少なくとも補完フレームを含む新しいタイルセグメントS’tiのいくつかのフレームのローディング時間およびデコーディング時間、ならびにラウンドトリップタイムに依存する)タイミング条件を予備チェックすることができる。
【0074】
ステップ702において、タイミング条件が、満たされたとき(実施されたとき)、クライアント端末は、1つの現在のタイルから新しいタイルに切り換えるために、基準時間ti+∂tを含む、タイル切り換えを求める要求を、サーバ200に送信する。
【0075】
実施形態は、1つの現在のタイルから現在のタイルに重なる新しいタイルへの切り換えに適用されるばかりでなく、1つの現在のタイルからタイル間にいかなる重なりもない新しいタイルへの切り換えにも適用されることに留意されたい。
【0076】
ステップ703において、クライアント端末100は、サーバ200から、新しいタイルのタイルセグメントS’tiの終りのほうのフレームとともに補完フレームを含む、新しいタイルの新しいタイルセグメントS’tiの残りの部分を受信することができる。
【0077】
ステップ704において、クライアント端末100は(例えば、それのプロセッサ105および/またはそれのビデオプレーヤ104のおかげで)、受信された補完フレームをデコードし、(表示することができる、または表示することができない)デコードされた補完フレームから、新しいタイルセグメントS’tiの残りのフレームをデコードすることができる。
【0078】
ステップ705において、新しいタイルのタイルセグメントS’tiの残りの部分は、時間ti+∂tにおいて、画面107上に表示することができる。切り換えの時間(すなわち、基準時間)に応じて、補完フレームは、表示することができ、または表示することができない。特に、基準時間が、現在のタイルセグメントSti内のPフレームに対応するとき、補完フレームは、プレーヤによってデコードおよび表示されるように構成される。現在時間が、現在のタイルセグメントSti内のBフレームに対応するとき、補完フレームは、プレーヤによって表示されることなしに、デコードだけされる。
【0079】
Bフレームが、予測のために、以前のPフレームと、次のPフレームとを使用することができ、Pフレームが、以前のIまたはPフレームを使用する、エンコーディングスキームに依存する、図10に示される例示的なGOPを用いると、クライアント端末によって送信された要求において指定される基準時間ti+∂t(tiは、現在のタイルセグメントStiの開始時間である)は、現在のタイル(例えば、図10の例における、参照されるタイルX)の現在のタイルセグメント内の(PフレームまたはBフレームのどちらかに後続する)PフレームまたはBフレームのどちらかに対応することができる。現在のタイルXの現在のタイルセグメントStiと、新しいタイルYの新しいタイルセグメントS’tiは、没入型ビデオの(時間tiにおいて開始する)同じ時間間隔に対応する。
【0080】
基準時間が、図10に示されるように、Pフレーム(すなわち、フレームP7,X)に対応するとき、補完フレームは、クライアント端末200にすでに送信された現在のタイルセグメントの1つまたは複数のフレーム(例における、現在のタイルXセグメントのフレームP7,X)を参照してエンコードされる、1つの新しいフレーム(図10の例における、Pフレーム)から成る。そのようなケースにおいては、補完フレームは、新しいタイルセグメントS’tiの残りの部分における基準時間ti+∂tに配置される。その後、クライアント端末200のプレーヤ104は、この補完フレーム(例えば、図10の例における、P’7,Y)をデコードおよび表示することができる。
【0081】
(画面107上に表示されない)フレームP7,Xが、現在のタイルXセグメントStiの以前のBフレーム(例えば、B5,XおよびB6,X)をデコードするために、使用されるので、現在のタイルXセグメントStiのフレームP7,Xが、クライアント端末200に送信され、それのプレーヤ104によってデコードされることに留意されたい。
【0082】
基準時間が、図11の例に示されるように、Pフレームに後続するBフレーム(すなわち、フレームB8,X)に対応するとき、補完フレームは、クライアント端末200に以前に送信された現在のタイルセグメントStiの1つまたは複数のフレーム(例における、現在のタイルXセグメントのフレームP7,X)を参照してエンコードされる、1つの新しいフレームから成る。そのようなケースにおいては、補完フレームは、新しいタイルセグメントS’tiの残りの部分に属する基準時間ti+∂tにおけるフレーム(すなわち、図11における、B8,Y)の1つ前のフレームに配置される。その後、クライアント端末200のプレーヤ104は、この補完フレーム(例における、図11における、P’7,Y)を、それを画面107上に表示することなしに、デコードすることができる。補完フレームP’7,Yは、新しいタイルYのための新しいタイルセグメントS’tiの(残りのフレームとも呼ばれる)次のフレームのための参照フレームとして使用される。
【0083】
基準時間が、図12の例に示されるように、Bフレームに後続するBフレーム(すなわち、フレームB9,X)に対応するとき、補完フレームは、クライアント端末200に以前に送信された現在のタイルセグメントStiの1つまたは複数のフレーム(例における、現在のタイルXセグメントのフレームP7,X、すなわち、現在のタイルXセグメントの先行するPフレーム)を参照してエンコードされる、1つの新しいフレーム(図12の例における、Pフレーム)から成る。そのようなケースにおいては、補完フレームは、新しいタイルセグメントS’tiの残りの部分に属する基準時間ti+∂tにおけるフレーム(すなわち、図11におけるB9,Y)の2つ前のフレームに配置される。その後、クライアント端末200のプレーヤ104は、この補完フレーム(例における、図11における、P’7,Y)を、それを画面107上に表示することなしに、デコードすることができる。補完フレームP’7,Yは、新しいタイルYのための新しいタイルセグメントS’tiの次のフレームのための参照フレームとして使用される。図12に示されるように、現在のタイルセグメントのフレームP10,Xは、送信および表示される現在のタイルセグメントのフレームB8,Xをデコードすることができるようにするために(フレームB8,Xは、フレームP7,XおよびP10,Xを参照してエンコードされる)、送信されるが、(タイル切り換え後に配置されるので)表示されない。
【0084】
基準時間に対応するフレームのタイプが、何であれ(すなわち、Pフレームであれ、Pフレームに後続するBフレームであれ、Bフレームに後続するBフレームであれ)、補完フレームは、時間ti+∂t-n×frame_durationに配置され、ここで、nは、[0,2]に属する整数(Pフレームについては、n=0、Pフレームに後続するBフレームについては、n=1、Bフレームに後続するBフレームについては、n=2)であることを理解されたい。
【0085】
基準時間が、(図12の例に示されるように)以前のBフレームに後続するBフレームに対応するとき、現在のタイルの現在のタイルセグメントと、新しいタイルの新しいタイルセグメントとの間のタイル切り換えを実施するために、17個のフレームが送信される。基準時間が、(図10に示されるように)GOPのPフレームに、または(図11に示されるように)Pフレームに後続するBフレームに対応するとき、タイル切り換えを実施するために、16個のフレームが送信される。
【0086】
補完フレームをエンコードするために使用される参照フレームは、Iフレーム、Pフレーム、またはBフレームであることができる。加えて、補完フレームを獲得するために使用される参照フレームは、クライアント端末にすでに送信された現在のタイルXの現在のセグメントStiのフレームに対応することができる(現在のタイルと新しいタイルの間の重なり合いのケースにおいて、効率的なエンコーディングをもたらす)。補足または変形においては、補完フレームを獲得するために使用される参照フレームは、現在のタイルYの新しいタイルセグメントS’tiのフレームに対応することができる。
【0087】
図10から図12の例においては、補完フレームP’m,Yの後のGOPのフレームは(mは、タイルセグメントのGOPにおける補完フレームの(表示順序での)時間的位置であり、そのため、図10から図12の例においては、mは、7に等しい)、補完フレームP’m,Yに先行するフレームへのいかなる参照も行わないことを理解されたい。
【0088】
図10から図12の例においては、GOPのフレームは、フレーム表示順序に従って表される(それはフレーム送信順序とは異なり、いくつかのBフレームは、より大きいタイムスタンプのフレームを参照することができる)。図13は、それらの送信順序に従った例示的なGOPのフレームを示している。GOPのフレーム番号7(表示順序)は、クライアント端末200に2回送信されるが(1回は、現在のタイルの現在のタイルセグメントのために(フレームP7,X)、1回は、新しいタイルの新しいタイルセグメントのために、補完フレームP’7,Yとして)、切り換えの基準時間に応じて、一方(図10から12の例においては、P7,XまたはP’7,Yのどちらか)だけが表示されることに留意されたい。
【0089】
実施形態は、サーバ200およびプレーヤ104が、いくつかの動作を実行する時間を有することを仮定して、(SAPが定義されていない場合であっても)現在のセグメント間隔内の任意のタイムスタンプにおける切り換えを可能にする。実際、図14の例示的であるが非限定的な例に示されるように、参照タイルが、Pフレームに後続するBフレームに対応するとき、補完フレーム(すなわち、フレームP’7,Y)をエンコードする時間に、新しいタイルのセグメントS’tiの残りの部分(これ以降、セグメント’で参照される)の最初の3つのフレーム(すなわち、{P’7,Y、P10,Y、B8,Y})をロードおよびデコードする時間を加えた時間は、タイルの切り換えを要求した時間treq’と、基準時間ti+∂t(すなわち、切り換え時間)との間の間隔よりも短くするべきである。セグメント’は、補完フレームP’Yと、基準時間以降の新しいタイルYのタイルセグメントS’tiの終りのほうのフレームとを含む。
【0090】
特に、図14の例に従ってタイル切り換えを実施するための動作のシーケンスは、以下のように説明される。
【0091】
- 時間treq’において、タイル切り換えを求める要求が、クライアント端末100によってサーバ200に送信される。
【0092】
- 時間RTT/2の後、サーバ200は、要求を受信し、補完フレーム(すなわち、例における、P’7,Y)のエンコーディングを開始し、RTTは、ラウンドトリップタイム(すなわち、クライアントが要求を送信した時間と、それがこの要求に対応するデータを受信し始める時間との間の、ネットワークにおいて費やされる時間)に対応する。
【0093】
- 時間Tencの後、補完フレーム(P’7,Y)が送信される準備が整う。(現在のタイルセグメントの基準時間までの部分をデコードするために使用される)タイルXの最後のフレームの送信が、ちょうど終了したとき、サーバ200は、補完フレーム(P’7,Y)の送信を開始することができる。
【0094】
- 新しい時間RTT/2の後、クライアント端末100は、補完フレーム(P’7,Y)を受信し始める。
【0095】
- 必要とされる補完フレームと、セグメント’の後続する2つのフレームとの送信持続時間に対応する追加の時間Tsend{P’7,Y,P10,Y,B8,Y}の後、クライアント端末100は、新しいタイルセグメントの補完フレームに後続する最初のフレーム(B8,Y)をデコードする準備が整う(フレームP’7,YおよびP10,Yは、すでに並列してデコードされており、デコードが送信よりも速いと仮定されるときは、準備が整っている)。
【0096】
- 補完フレームに後続する最初のフレームのデコーディング持続時間に対応する時間Tdec{B8,Y}の後、フレームB8,Yは、クライアント端末100によって表示される準備が整う。
【0097】
上述のことから、Pフレームに後続するBフレームに対応する基準時間について、現在のタイルセグメントの処理中に、クライアント端末100が、新しいタイルの新しいタイルセグメントを要求するためのタイミング条件を導出することができる。
【0098】
req’<ti+∂t-(RTT+Tenc{P’7,Y}+Tsend{P’7,Y,P10,Y,B8,Y}+Tdec{B8,Y})
より一般には、基準時間に対応するフレームのタイプが、何であれ(すなわち、Pフレームであれ、Pフレームに後続するBフレームであれ、Bフレームに後続するBフレームであれ)、現在のタイルセグメントの処理中に、クライアント端末100が、新しいタイルの新しいタイルセグメントを要求するためのタイミング条件は、
req’<ti+∂t-(RTT+max(Tenc,Tsend_remain)+Tsend_new+Tdec
によって定義することができ、ここで、
- Tencは、補完フレームのエンコーディング持続時間に対応し、
- Tsend_remainは、基準時間まで送信される、現在のタイルセグメントの残りのデータの送信持続時間に対応し、
- Tsend_newは、必要とされる補完フレームと、基準時間に配置されたフレームをデコードするために使用される、セグメント’の後続するフレームとの送信持続時間に対応し、
- Tdecは、基準時間に配置されたフレームのデコーディング持続時間に対応する。
【0099】
クライアント端末は、(例えば、ストリーミングセッションの開始時に、例えば、マニフェストによって提供される情報を用いて)そのようなタイミング条件について、サーバによって予備通知されることができることに留意されたい。
【0100】
サーバ側およびプレーヤ側において発生する動作を示す、図14の例に示されるように、切り換え時間が、Pフレームに後続するBフレームに対応するとき、サーバ200は、現在、現在のタイルXのタイルセグメントS’tiを送信している。時間treq’+RTT/2において、サーバ200は、クライアント端末100から、現在のタイルXから新しいタイルYに切り換えることを求める要求を受信する。要求の受信時、時間treq’が、上で説明されたようなタイミング条件を満たすとき、サーバ200は、(エンコーダ300を介して)時間ti+∂t-frame_durationに配置されたフレームに対応する、補完フレームを準備する。サーバ200は、ti+∂tよりも早くない時間において、現在のタイルXのタイルセグメントStiの送信をキャンセルする。図14の例においては、補完フレームP’7,Yは、クライアント端末100によって受信され、デコードされるが、表示されない。
【0101】
別の実施形態においては、1つもしくは複数のセグメントのための、および/または1つもしくは複数のタイルのための補完フレーム(P’Y)を、サーバ側において事前エンコードおよび記憶して、サーバ/エンコーダ側において使用される処理リソースを減らすことができる。そのような実施形態においては、タイル切り換えは、(例えば、サーバによって準備され、クライアント端末に配信される、マニフェストに列挙された)与えられた瞬間においてだけ可能にされる。
【0102】
説明された実施形態のおかげで、アダプティブストリーミングセッション中、切り換え時間(例えば、SAP)が定義されていない場合であっても、セグメント間隔中に、タイル切り換えを可能にすることができる。
【0103】
加えて、説明された実施形態のうちの1つまたは複数は、タイルベースの没入型ビデオのアダプティブストリーミングセッション内におけるスローモーションモードの実施に適合させられる。アダプティブストリーミング規格MPEG-DASHの例示的であるが非限定的な例において、クライアント端末は、スローモーションモードのために、専用コンテンツが利用可能であるとき、タイルおよびセグメントの選択および回復の両方について、通常の再生モードの動作と同じ方式で、スローモーション動作を行うことができる。専用のスローモーションコンテンツがない場合、同じコンテンツが、通常およびスローモーションモードで再生される。したがって、DASHセグメントは、スローモーション中、通常の再生モードよりも長時間にわたって再生される。例として、スローモーション中に、ビデオフレームレートが、2(スローモーション係数)で割られた場合、セグメントは、実際に、2倍長く表示される。
【0104】
スローモーションモードが、没入型ビデオ全体に対して利用可能でない(しかし、いくつかのシーケンスに対してだけは利用可能である)とき、コンテンツサーバによって送信され、クライアント端末によって受信されるマニフェストは、(例えば、スローモーションモードがそれに対して利用可能なセグメントを列挙することによって)そのような情報を示すことができる。
【0105】
説明、特許請求の範囲、および図面において開示される言及は、独立して、または任意の適切な組合せで提供することができる。特徴は、必要に応じて、ハードウェア、ソフトウェア、または2つの組合せで実施することができる。
【0106】
本明細書における「一実施形態」または「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が、説明される方法およびデバイスの少なくとも1つの実施に含まれることができることを意味する。本明細書の様々な場所における「一実施形態において」という語句の出現は、必ずしもすべてが同じ実施形態を指すわけではなく、別個のまたは代替的な実施形態は、必ずしも他の実施形態と互いに排他的なわけではない。
【0107】
特許請求の範囲に出現する参照番号は、例示にすぎず、特許請求の範囲に限定的な影響を有さないものとする。
【0108】
本開示のある実施形態だけが、本明細書において説明されたが、本開示の他の変更、変形、および可能性が可能であることが、当業者によって理解されよう。したがって、そのような変更、変形、および可能性は、本開示の主旨および範囲内にあり、したがって、本明細書において説明および/または例示される開示の一部を形成すると見なされるべきである。
【0109】
図におけるフローチャートおよび/またはブロック図は、本開示の様々な実施形態に従った、システム、方法、およびコンピュータプログラム製品の可能な実施の構成、動作、および機能性を例示している。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表すことができる。いくつかの代替的な実施においては、ブロック内に記された機能が、図に記された順序通りに生じないことがあることにも留意されたい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行することができ、またはブロックは、ときには逆順で実行することができ、またはブロックは、含まれる機能性に応じて、代替的な順序で実行することができる。ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組合せは、指定された機能もしくは動作を実行する専用ハードウェアベースのシステム、または専用ハードウェアとコンピュータ命令の組合せによって実施することができることにも留意されたい。明示的に説明されていないが、本実施形態は、任意のコンビネーションまたはサブコンビネーションで利用することができる。
【産業上の利用可能性】
【0110】
本発明は、ストリーミングに利用することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10
図11
図12
図13
図14