(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024083340
(43)【公開日】2024-06-21
(54)【発明の名称】遠隔端末用の没入型テレビ会議及びテレプレゼンスのためのビットストリーム構造
(51)【国際特許分類】
H04N 21/2662 20110101AFI20240614BHJP
H04N 21/845 20110101ALI20240614BHJP
H04N 21/258 20110101ALI20240614BHJP
H04N 19/597 20140101ALI20240614BHJP
【FI】
H04N21/2662
H04N21/845
H04N21/258
H04N19/597
【審査請求】有
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024028745
(22)【出願日】2024-02-28
(62)【分割の表示】P 2022555688の分割
【原出願日】2021-08-06
(31)【優先権主張番号】63/111,425
(32)【優先日】2020-11-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/362,068
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ロヒト・アビシェーク
(72)【発明者】
【氏名】イーラジ・ソダガー
(57)【要約】
【課題】ビューポートビットストリームをコーディングするための方法、コンピュータプログラム、及びコンピュータシステムが提供される。
【解決手段】ビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームが、ユーザの頭の動きに対応する閾値に基づいて符号化される。低解像度を有する第2のコーディングされたビデオビットストリームが符号化される。第2のコーディングされたビデオビットストリームは、一定のセグメント持続時間又はサイズを有する背景に対応し得る。第1のコーディングされたビデオビットストリーム及び第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームが作成される。
【選択図】
図9
【特許請求の範囲】
【請求項1】
プロセッサによって実行可能な、ビューポートビットストリームを符号化する方法であって、
ユーザの頭の動きに対応する閾値に基づいてビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームを符号化するステップと、
一定のセグメント持続時間又はサイズを有する背景に対応する低解像度を有する第2のコーディングされたビデオビットストリームを符号化するステップと、
前記第1のコーディングされたビデオビットストリーム及び前記第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームを作成するステップと、
を含む方法。
【請求項2】
前記第1のコーディングされたビットストリームは、前記ビューポートのための複数のセグメントサイズを有する、請求項1に記載の方法。
【請求項3】
前記閾値は、前記ユーザの頭の動き及び利用可能な帯域幅に依存する、請求項1に記載の方法。
【請求項4】
前記ユーザは、リアルタイムトランスポートプロトコル(RTP)制御プロトコル(RTCP)フィードバックを介して前記頭の動き及び前記利用可能な帯域幅に関する情報を伝送し得る、請求項3に記載の方法。
【請求項5】
前記ビューポートの周りのマージンが前記ビューポートと同じ又はより長いセグメントサイズで要求される、請求項1に記載の方法。
【請求項6】
前記ユーザの頭の動きが前記マージン内にあることに基づいて、より長いセグメントを有する新しいタイルが前記マージンを更新するために要求される、請求項5に記載の方法。
【請求項7】
前記マージン内のタイルの前記解像度が前記ビューポート内のタイルよりも低いことに基づいて、より短い高解像度セグメントが要求される、請求項5に記載の方法。
【請求項8】
前記より短い高解像度セグメントは、前記ユーザの頭の動きが前記マージン内にあるかどうかにかかわらず要求される、請求項7に記載の方法。
【請求項9】
前記ビューポートが前記マージンを越えて動くことに基づいて、より短い長さのセグメントが要求される、請求項5に記載の方法。
【請求項10】
ビューポートビットストリームを分割するためのコンピュータシステムであって、前記コンピュータシステムは、
コンピュータプログラムコードを記憶するように構成された1つ又は複数のコンピュータ可読非一時的記憶媒体と、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令されるように動作するように構成された1つ又は複数のコンピュータプロセッサと、を含み、前記コンピュータプログラムコードは、
前記1つ又は複数のコンピュータプロセッサに、ユーザの頭の動きに対応する閾値に基づいてビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームを符号化させるように構成された、第1の符号化コードと、
前記1つ又は複数のコンピュータプロセッサに、一定のセグメント持続時間又はサイズを有する背景に対応する低解像度を有する第2のコーディングされたビデオビットストリームを符号化させるように構成された、第2の符号化コードと、
前記1つ又は複数のコンピュータプロセッサに、前記第1のコーディングされたビデオビットストリーム及び前記第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームを作成させるように構成された、作成コードと、
を含む、コンピュータシステム。
【請求項11】
前記第1のコーディングされたビットストリームは、前記ビューポートのための複数のセグメントサイズを有する、請求項10に記載の方法。
【請求項12】
前記閾値は、前記ユーザの頭の動き及び利用可能な帯域幅に依存する、請求項10に記載の方法。
【請求項13】
前記ユーザは、リアルタイムトランスポートプロトコル(RTP)制御プロトコル(RTCP)フィードバックを介して前記頭の動き及び前記利用可能な帯域幅に関する情報を伝送し得る、請求項12に記載の方法。
【請求項14】
前記ビューポートの周りのマージンが前記ビューポートと同じ又はより長いセグメントサイズで要求される、請求項10に記載の方法。
【請求項15】
前記ユーザの頭の動きが前記マージン内にあることに基づいて、より長いセグメントを有する新しいタイルが前記マージンを更新するために要求される、請求項14に記載の方法。
【請求項16】
前記マージン内のタイルの前記解像度が前記ビューポート内のタイルよりも低いことに基づいて、より短い高解像度セグメントが要求される、請求項14に記載の方法。
【請求項17】
前記より短い高解像度セグメントは、前記ユーザの頭の動きが前記マージン内にあるかどうかにかかわらず要求される、請求項16に記載の方法。
【請求項18】
前記ビューポートが前記マージンを越えて動くことに基づいて、より短い長さのセグメントが要求される、請求項14に記載の方法。
【請求項19】
ビューポートビットストリームを分割するためのコンピュータプログラムを記憶している非一時的コンピュータ可読媒体であって、前記コンピュータプログラムは、1つ又は複数のコンピュータプロセッサに、
ユーザの頭の動きに対応する閾値に基づいてビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームを符号化させ、
一定のセグメント持続時間又はサイズを有する背景に対応する低解像度を有する第2のコーディングされたビデオビットストリームを符号化させ、
前記第1のコーディングされたビデオビットストリーム及び前記第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームを作成させる
ように構成された、非一時的コンピュータ可読媒体。
【請求項20】
前記ビューポートの周りのマージンが前記ビューポートと同じ又はより長いセグメントサイズで要求される、請求項19に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、(2020年11月9日に出願された)米国仮特許出願第63/111,425号及び(2021年6月29日に出願された)米国特許出願第17/362,068号に基づく優先権を主張し、その全体が参照により本出願に組み込まれる。
【0002】
本開示は、一般に、データ処理の分野、より詳細にはビデオストリーミングに関する。
【背景技術】
【0003】
没入型ビデオストリーミングは、送信器から受信器への「世界」又は「全方位」ビューの伝送を伴い、受信器は、例えばビューポートに基づいて、受信した世界観の一部のみをレンダリングすることになる。ビューポートは、仮想現実ゴーグルを着用するとき、頭の動きの方向に基づいて選択することができる。ビューポート依存ビデオストリーミングは、「世界」ビューをカバーして記録されたシーンから、ユーザが選択したビューポートに基づいて、そのビューの一部分のみがユーザに伝送及びレンダリングされている技術に関し得る。
【発明の概要】
【課題を解決するための手段】
【0004】
実施形態は、ビューポートビットストリームを分割するための方法、システム、及びコンピュータ可読媒体に関する。一態様によれば、ビューポートビットストリームを分割するための方法が提供される。方法は、ユーザの頭の動きに対応する閾値に基づいてビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームを符号化するステップを含み得る。低解像度を有する第2のコーディングされたビデオビットストリームが符号化される。第2のコーディングされたビデオビットストリームは、一定のセグメント持続時間又はサイズを有する背景に対応し得る。第1のコーディングされたビデオビットストリーム及び第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームが作成される。
【0005】
別の態様によれば、ビューポートビットストリームを分割するためのコンピュータシステムが提供される。コンピュータシステムは、1つ又は複数のプロセッサと、1つ又は複数のコンピュータ可読メモリと、1つ又は複数のコンピュータ可読有形記憶デバイスと、1つ又は複数のメモリのうちの少なくとも1つを介して1つ又は複数のプロセッサのうちの少なくとも1つによって実行するために1つ又は複数の記憶デバイスのうちの少なくとも1つに記憶されたプログラム命令とを含み得、これにより、コンピュータシステムは方法を実行することが可能である。方法は、ユーザの頭の動きに対応する閾値に基づいてビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームを符号化するステップを含み得る。低解像度を有する第2のコーディングされたビデオビットストリームが符号化される。第2のコーディングされたビデオビットストリームは、一定のセグメント持続時間又はサイズを有する背景に対応し得る。第1のコーディングされたビデオビットストリーム及び第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームが作成される。
【0006】
さらに別の態様によれば、ビューポートビットストリームを分割するためのコンピュータ可読媒体が提供される。コンピュータ可読媒体は、1つ又は複数のコンピュータ可読記憶デバイスと、1つ又は複数の有形記憶デバイスのうちの少なくとも1つに記憶されたプログラム命令とを含み得、プログラム命令はプロセッサによって実行可能である。プログラム命令は、ユーザの頭の動きに対応する閾値に基づいてビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームを符号化するステップを適宜に含み得る方法を実行するためにプロセッサによって実行可能である。低解像度を有する第2のコーディングされたビデオビットストリームが符号化される。第2のコーディングされたビデオビットストリームは、一定のセグメント持続時間又はサイズを有する背景に対応し得る。第1のコーディングされたビデオビットストリーム及び第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームが作成される。
【0007】
これら及び他の目的、特徴、及び利点は、添付の図面に関連して読まれるべき、例示的な実施形態の以下の詳細な説明から明らかになるであろう。図は、詳細な説明と併せて当業者の理解を容易にする際に明確にするためのものであるため、図面の様々な特徴は一定の縮尺ではない。
【図面の簡単な説明】
【0008】
【
図1】少なくとも1つの実施形態による、没入型ビデオをストリーミングするためのエコシステムの概略図である。
【
図2】少なくとも1つの実施形態による、没入型ビデオのビューポートベースのストリーミングワークフローの概略図である。
【
図3】少なくとも1つの実施形態による、フレーム境界を持つフラグメント化された没入型ビデオビットストリームの概略図である。
【
図4】少なくとも1つの実施形態による、フレーム境界を持つ没入型ビットストリーム再生中のビューポート更新の概略図である。
【
図5】少なくとも1つの実施形態による、フレーム境界を持つ8K及び2k没入型ビットストリームフラグメント化の概略図である。
【
図6】フレーム境界の実施形態を有する提案された没入型ビットストリームフラグメント化の概略図である。
【
図7】少なくとも1つの実施形態による、ビューポートビットストリーム分割のためのシステムのブロック図である。
【
図8】少なくとも1つの実施形態による、コンピュータシステムの概略図である。
【
図9】少なくとも1つの実施形態による、ビューポートビットストリーム分割のためのプログラムによって実行されるステップを示す動作フローチャートである。
【発明を実施するための形態】
【0009】
特許請求される構造及び方法の詳細な実施形態が本明細書に開示されているが、開示された実施形態は、様々な形態で具現化され得る特許請求される構造及び方法の例示にすぎないことが理解され得る。しかしながら、これらの構造及び方法は、多くの異なる形態で具現化され得、本明細書に記載された例示的な実施形態に限定されると解釈されるべきではない。逆に、これらの例示的な実施形態は、本開示が徹底的かつ完全であり、当業者にその範囲を十分に伝達するように提供されている。この説明では、提示された実施形態を不必要に不明瞭にすることを避けるために、周知の特徴及び技術の詳細は省略されている場合がある。
【0010】
実施形態は、一般に、データ処理の分野、より詳細にはビデオストリーミングに関する。以下に説明する例示的な実施形態は、とりわけ、ビューポートベースのビデオストリーミングのためのシステム、方法、及びコンピュータプログラムを提供する。したがって、一部の実施形態は、ビューポートビットストリームのより小さいフラグメント化されたファイル又はDASHのセグメントへの分割を可能にすることによって、コンピューティングの分野を改善し、再生における高速ビットストリームランダムアクセスをサポートするためのフォールバック・ビットストリーム・フラグメント又はセグメントを提供する能力を有する。
【0011】
前述のように、没入型ビデオストリーミングは、送信器から受信器への「世界」又は「全方位」ビューの伝送を伴い、受信器は、例えばビューポートに基づいて、受信した世界観の一部のみをレンダリングすることになる。ビューポートは、仮想現実ゴーグルを着用するとき、頭の動きの方向に基づいて選択することができる。ビューポート依存ビデオストリーミングは、「世界」ビューをカバーして記録されたシーンから、ユーザが選択したビューポートに基づいて、そのビューの一部分のみがユーザに伝送及びレンダリングされている技術に関し得る。
【0012】
しかしながら、ユーザが彼/彼女の頭を動かす速度が上がるにつれて、新しいタイルを求める要求も同様に増加し、それによってM2HQ遅延が増加する。追加として、ダウンロードされる多くのデータがユーザによって見られず、したがって無駄になる。したがって、ビットストリームを再構成することによって没入型ビデオにおいてビューポートが変更されるときに受けるレイテンシを低減することが有利となり得る。
【0013】
本明細書では、様々な実施形態による方法、装置(システム)、及びコンピュータ可読媒体のフローチャート図及び/又はブロック図を参照して、態様が説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【0014】
以下に説明する例示的な実施形態は、ビューポートベースのビデオストリーミングに関し、より具体的には、可変ビットストリームセグメントサイズを使用することによる、ユーザのビューポートが変化するときの遠隔端末用の没入型テレビ会議及びテレプレゼンスのためのビューポートのビットストリーム構造に関する、システム、方法及びコンピュータプログラムを提供する。
【0015】
図1は、没入型ビデオをストリーミングするためのエコシステム100のブロック図を示す。360ビデオ(101)がエンコーダ(102)を通過し、ピクチャ全体がコンテンツ配信ネットワーク(CDN:content delivery network)(103)を介してストリーミングされる。ユーザは、VRプレーヤ(105)で受信コンテンツ(104)を復号及び再構成する。任意の所与の時点におけるユーザの視野(FoV)(106)は、ある包含の程度に入るのみであるから、ピクチャ全体を送信する問題点は、帯域幅及びレンダリングリソースの無駄使いである。ユーザの現在のFoV外であるビットストリームは、見ることができず、それにもかかわらずクライアントによって受信及びレンダリングされる。ビューポート選択は、例えば、仮想現実ゴーグルを着用するとき、頭の動きの方向に基づくことができる。ビューポート依存ビデオストリーミングは、「世界」ビューをカバーして記録されたシーンから、ユーザが選択したビューポートに基づいて、そのビューの一部分のみがユーザに伝送及びレンダリングされ、それによって、世界ビュー全体を伝送する必要性を排除する技術に関し得る。
【0016】
タイル(又はサブピクチャ)ベースの没入型ビデオストリーミング技術を使用して、帯域幅要件を低減し、ビデオ再生のビデオ品質を改善することができる。
図2を参照すると、360ビューポート依存ビデオストリーミングシステム200のブロック図が描写されている。ビデオシーンが適切につなぎ合わされ、例えば、正距円筒又はキューブマップ投影を使用して平面ビデオに投影された後に、平面ビデオエンコーダ(202)を使用することによって360ビデオシーン(201)が符号化される。
【0017】
DASHによってコーディングされたビデオビットストリームを使用するために、シーケンスは、ビットストリームをより小さいHTTPベースのビデオビットストリームセグメントに分割するフォーマットを有するファイルに入れることができる。それらのビデオファイルは、異なるビットレート及び持続時間を有し得る。それらは、IPネットワークを介して伝送され得、クライアント側で独立して復号可能であり得る。
【0018】
符号化された没入型ビデオは、上述のようにDASHパッケージャ(203)によってフラグメント化され得る。フラグメント化されたコンテンツは、コンテンツ配信サーバ(描写されていない)に保存することができ、CDN(204)によって、レンダリング(206)のために互換性プレーヤ(205)に伝達することができる。ここで、伝送されたビデオ(209)は、ピクチャ(207)全体を送る代わりに高解像度FoV(208)のみからなる。受信器側において、4Kピクチャは、プレーヤで復号及び再構成される。
【0019】
タイルベースのストリーミングは、360ビデオフレームをタイル又はブロックに空間的に区分する。ここで、パノラマビデオは、符号化され、圧縮状態の後にタイルに分割される。ユーザは、それから、ユーザの視野(FOV)に完全に又は部分的に入るタイルのみを要求する。大きな没入型ビデオビットストリームピクチャをより小さなフラグメント又はタイルに分割し、ユーザのFOVに入るフラグメント又はタイルを伝送することによって、ネットワーク及びレンダリング側リソースを節約し得る。
【0020】
大きな没入型コンテンツ(投影後、すなわち平面ビデオストリーム)は、例えば、同じ解像度のタイルに空間的に細分され得る。例えば、4k×2kビデオシーケンスのソースピクチャは、512×156サンプルの同じサイズのタイルに分割され得、結果として64個のタイルが得られる。各タイルは、(DASHで一般的であるように)異なるビットレート及び品質レベルで符号化及びパッケージ化され得、その隣接タイルと異なる品質で要求され得る。ユーザのビューポート内のタイルは、優先され得、ビューポート外のタイルよりも高品質で有利にストリーミングされ得る。場合によっては、ある特定のタイルが完全に伝送から省略され得る。フォールバックとして、例えば、パノラマ全体をカバーする、より低い解像度/品質/ビットレートを持つ特別な層が使用され得る。適切なプレーヤ設計を仮定すると、そうすることは、FoVが変化するが、ネットワーク/ストリーミングサーバ遅延に起因して新しいタイルが即座に利用可能でないとき、視覚的アーティファクト、例えば、ブラックエリアを防ぎ得る。
【0021】
タイルの解像度は、ユーザが彼/彼女の頭を動かすとき、変更され得るが、例えば、ランダムアクセスポイント(RAP)においてのみである。RAPは、受信器がタイル又はビデオを正常に復号し始めることができるアクセスユニットとすることができる。ピクチャフレームは、異なるGOP(グループオブピクチャ)サイズで互いにグループ化され得る。Iフレームには、先行フレームの変化のコーディングされた表現を含み得るPフレームが後続し得る。したがって、Pフレームは、Iフレーム及び以前のPフレームに依存する。GOP構造は、復号がIフレームで開始することができるように、各Iフレームをランダムアクセスポイントであるようにする典型的なエンコーダで使用される。したがって、タイルが変更されるために必要とされる応答時間は、タイル粒度及びRAP距離に依存する。ユーザの向きが変化するとき、現在ビューポートにあるタイルは、(少なくとも部分的に)異なるタイルによって置き換える必要があり得る。これらの新しいタイルは、次の利用可能なRAPにおいてのみ切り替えることができ、結果として、ユーザ入力に対して応答が遅延する。
【0022】
ここで
図3を参照すると、フレーム境界の実施形態を有するフラグメント化された没入型ビデオビットストリームのブロック
図300が描写されている。例えば、8k(301~303)及び2k(304~306)解像度ビデオビットストリームが、同じ投影シーンの表現内に含まれ得る。低解像度(304~306)は、FoVを変更するときフォールバックとして使用することができ、連続的にストリーミングしてもよい。高解像度(301~303)は、タイル化表現であり得、上述のようにビューポートに依存しないストリーミングのために使用され得る。両方のストリームは、等しいフレーム数を有し得、等しい固定フレームフラグメントに分割され得、それらは30フレームのランダムアクセスポイント期間からなり得る。8K解像度のある特定のタイルのみがFoVをカバーするために必要に応じて配信され、一方2K解像度を持つフレーム全体がフォールバックとして配信される。RAPは、固定30fpsフレームレートを仮定して、各ビットストリームに1秒ごとに一度存在し得る。
【0023】
そのような構成は、FoVが変化した場合に再構成されたフォールバックビットストリームを使用してレンダリングすることによって、視覚的に心地よい高速応答を可能にし得るが、高解像度タイルがFoVの変化に起因してレンダリングされない場合があるので、各FoV変化で平均して15フレームの無用な高解像度タイルが送られているという問題が残る。
【0024】
図4を参照すると、フレーム境界の実施形態を有する没入型ビットストリーム再生中のビューポート更新のブロック
図400が描写されている。ブロック
図400は、再生が実施されている間にFoV更新をエミュレートすることを例示する。ビューポートが402に変化するとき、Iフレーム(401)はフレームの先頭に位置しているので、ビューポートがフレームの中央にあるとしても、404及び405に加えて、403フレーム全体がダウンロード及び復号される。現在のネットワーク帯域幅がそれほど理想的でない場合、8K解像度を持つ新しいフラグメントをダウンロードすることは、余分な遅延を引き起こす可能性がある。このレイテンシを克服する方法は、ビューポートのために低減されたビットストリームセグメントサイズを有することである。
【0025】
ここで
図5を参照すると、フレーム境界の実施形態を有する8K及び2k没入型ビットストリームフラグメント化のブロック
図500が描写されている。ランダムアクセスポイント期間は、例えば、ビューポート内の高解像度セグメントに対して10フレーム(501~508)に短縮され得る。第1のピクチャはIフレームとして、残りはPフレームとして符号化され、低解像度フォールバックのために、第1のピクチャのみがIフレームとして、後続のピクチャがPフレームとして符号化されるか、又は不等なランダムアクセス期間を持つ高速ランダムアクセスが定義されるべきであるかのいずれかである。
【0026】
ランダムアクセス期間が小さいとき、ビューポートが変化した時点で、クライアントは30フレームすべてをダウンロードしなくてもよく、10フレームのみでよい。したがって、ランダムアクセスポイント期間が短縮され、より多くのランダムアクセスポイントがこれから利用可能になるので、新しいビューポートの要求と新しいビューポートのレンダリングとの間の遅延は低減される。より低いビットストリーム解像度を持つフォールバックビットストリーム509は、それほど理想的でないネットワーク状況のために提供され得る。もちろん、この効率向上は、追加のランダムアクセスピクチャのコーディングオーバヘッドによって獲得される。
【0027】
上記のように、イントラフレームコーディングされたピクチャをダウンロードすることは、ユーザのFoV再生及びレンダリングのために必要であるよりも多くのネットワーク帯域幅を要する可能性がある。
【0028】
高解像度ビデオをストリーミングするとき、セグメント化は、ネットワークリソースがあまり理想的ではないときビットストリームのダウンロード及びレンダリングの遅延を引き起こす可能性がある。各セグメントは、1つ又は複数の符号化されたフレームからなる。視聴者のFoVの変化は、同様に(追加の)遅延を引き起こし、ユーザの品質体験(QoE)を低下させる可能性がある。
【0029】
より短い持続時間を有するセグメントを使用することが、ビューポートに対するM2HQ遅延を低減するのに効果的である。もちろん、各セグメントは少なくとも1つのランダムアクセスフレームを有するので、この効率向上は、追加のランダムアクセスピクチャのコーディングオーバヘッドによって獲得される。
【0030】
一実施形態で、ヘッドマウントディスプレイ(HMD)が動くにつれて、新しいタイルが要求される。HMD速度が増加するにつれて、M2HQ遅延が同様に増加する。これは、ダウンロード及び復号される多くのセグメントがレンダリングされないので、遅延に加わるビューポート変更が非常に頻繁であるからである。したがって、ビットストリーム構造は、ユーザの頭の動きに基づいてビューポートのために規定することができる。
【0031】
ユーザのビューポートが変化しないとき、すなわちHMDが動いていないとき、ビットストリームセグメント持続時間(すなわちセグメント内の符号化されたフレームの数)は、ビューポート内の低解像度背景用及び高解像度タイル用のセグメントと同じであり得る。
【0032】
より長い持続時間のセグメント(したがってより大きなセグメントサイズ)を使用することによって、ビデオを最適に圧縮することが可能になり、それによって、必要とされる帯域幅が低減される。しかしながら、帯域幅が限界ではないとき、持続時間及びサイズが低減されたセグメントが使用され得る。
【0033】
ここで、ユーザの頭の動きとして、新しいHQタイルが要求される。M2HQの最大遅延は、セグメントの持続時間によって規定され得る。ユーザの向きが変化しないか、又は頭が非常に低減されたレートで動く場合、ビューポートに対するビットストリームは、より長い持続時間のものであり得る。
【0034】
利用可能な帯域幅のような要因に基づき得る頭速度閾値(HTH)が規定され得る。帯域幅が限界でない場合、セグメント持続時間/サイズは、M2HQ遅延を減少させるために低減され得る。ビットストリームセグメント持続時間/サイズは、HMD速度が増加するにつれてさらに低減され得る。
【0035】
したがって、サーバは、(帯域幅情報及びHMD速度を含むことになる)リアルタイムトランスポートプロトコル(RTP)制御プロトコル(RTCP)フィードバックに基づいて可変持続時間/サイズでセグメントを符号化することができる。
【0036】
あるいは、サーバは、可変セグメント持続時間/サイズを持つビットストリームの複数のバージョンを有することができ、(帯域幅情報及びHMD速度を含むことになる)RTCPフィードバックに基づいて、ビットストリームセグメントサイズは規定され得る。したがって、サーバがユーザからビットストリーム要求を受信するとき、それは、HMD速度及び利用可能な帯域幅に基づいてビットストリームセグメントを送ることができる。
【0037】
ここで
図6を参照すると、高品質(8K)ビューポートビットストリームは、可変持続時間/サイズの複数のビットストリームと、一定のセグメント持続時間/サイズを持つ背景用の1つのフォールバック低解像度(2K)とを有し得る。
【0038】
送信器は、帯域幅制約に起因してセグメント持続時間の下限(Dmin)を規定することができる。HMD速度が対応するHMD最大閾値(HMAX)を越えて増加しても、サーバは、セグメント持続時間をその下限から低減しない。
【0039】
サーバは、この方式でセグメント持続時間を変えるが、それは、コーデックプロファイル/レベル準拠要件を通知されたコーデックプロファイル及びレベルに維持し、したがって、受信器のデコーダは、再初期化なしでセグメントを復号することができる。
【0040】
M2HQ遅延を最小化し、ユーザ体験を向上させるために、十分な帯域幅が利用可能なとき、受信器は、ビューポートの周りに高品質で追加のマージンを要求し得る。マージンは、ビューポートと同じ品質のものであり得るが、必ずしもそうとは限らない。
【0041】
同じ又は別の実施形態で、HMDの動きがマージン内である場合、(マージンを更新するために)要求される新しいタイルは、より長い持続時間のセグメントであってもよく、より低いセグメント持続時間/サイズを必ずしも必要としない可能性がある。これは、マージンの解像度がビューポート(すなわち高解像度タイル)のそれと同じであるとき適用可能である。
【0042】
マージン内のタイルの解像度が、ビューポート内のタイルと比較してより低い場合、マージン内であってもHMDが動くにつれてより短い高解像度セグメントが要求され得る。
【0043】
しかしながら、ビューポートがマージンを越えて動く場合、M2HQを低減するために、新しいより短い持続時間のセグメントが要求され得る。任意選択で、ビューポート内のビットストリームセグメントのサイズは、マージンに対するセグメントと比較して低減されたセグメント持続時間でダウンロードされ得る。
【0044】
送信器は、任意選択で以下のパラメータ、すなわち、頭速度閾値(HTH)、最大閾値(HMAX)、及び最小セグメント持続時間(Dmin)のうちの1つ又は複数を用いて、SDPを使用してセッションセットアップにおいて受信器に可変持続時間セグメントの使用を通知し得るため、受信器は、そのRTCP報告に頭速度を含むだけでなく、任意選択のパラメータに基づいて、そのセグメント要求を最適化する。
【0045】
図7は、発明されたようなシステム設計を例示する。コンテンツは、カメラによって取り込まれた後、パノラマ表現(701)につなぎ合わされ、それから、符号化され(702)、短縮されたランダムアクセスポイント期間でビットストリームが構造化される低遅延パッケージャ(703)を通過する。伝送されたビデオ(709)は、ユーザのFoV(708)の高解像度コンテンツとピクチャ(707)の残りのための低減された品質とを含む。このコンテンツは、CDN(704)を介してレンダリング(706)のためにVRプレーヤ(705)に伝達される。
【0046】
上述の没入型ビューポートベースのビデオストリーミングのためのビットストリーム構造のための技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実現することができ、1つ又は複数のコンピュータ可読媒体に物理的に記憶することができる。例えば、
図8は、開示されている主題の、ある特定の実施形態を実現するのに適したコンピュータシステム800を示す。
【0047】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって、直接、又は解釈、マイクロコードの実行などを通して実行することができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構の適用を受け得る、任意の適切な機械コード又はコンピュータ言語を使用してコーディングすることができる。
【0048】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネット・デバイスなどを含む様々なタイプのコンピュータ又はその構成要素において実行することができる。
【0049】
コンピュータシステム800に関して
図8に示されている構成要素は、本質的に例示であり、本開示の実施形態を実現するコンピュータソフトウェアの使用又は機能の範囲に関する限定を示唆することを意図されていない。また、構成要素の構成は、コンピュータシステム800の例示的な実施形態に示す構成要素のいずれか1つ又は組み合わせに関連する依存性又は要件を有すると解釈されるべきではない。
【0050】
コンピュータシステム800は、ある特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(描写されていない)を介して、1人又は複数の人間のユーザによる入力に応答し得る。ヒューマン・インターフェース・デバイスを使用して、音声(発話、音楽、周囲音など)、画像(スキャン画像、静止画像カメラから取得される写真画像など)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係しないある特定の媒体を取り込むこともできる。
【0051】
入力ヒューマン・インターフェース・デバイスは、キーボード801、マウス802、トラックパッド803、タッチスクリーン810、データグローブ(描写されていない)、ジョイスティック805、マイク806、スキャナ807、カメラ808のうちの1つ又は複数(それぞれ1つのみを描写)を含み得る。
【0052】
コンピュータシステム800はまた、ある特定のヒューマンインターフェース出力デバイスを含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び臭い/味を通じて、1人又は複数の人間のユーザの感覚を刺激し得る。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン810、データグローブ(描写されていない)、又はジョイスティック805による触覚フィードバック、しかし入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、音声出力デバイス(スピーカ809、ヘッドフォン(描写されていない)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン810など、各々タッチスクリーン入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にかかわらず、それらのうちのいくつかは、ステレオグラフィック出力、仮想現実眼鏡(描写されていない)、ホログラフィックディスプレイ及びスモークタンク(描写されていない)などの手段を介して2次元視覚出力又は3次元以上の出力を出力することが可能な場合がある)、並びにプリンタ(描写されていない)を含み得る。
【0053】
コンピュータシステム800はまた、人間がアクセス可能な記憶デバイス及びそれらに関連する媒体を含むことができ、例えば、CD/DVD又は同様の媒体821を有するCD/DVD ROM/RW 820を含む光学媒体、サムドライブ822、取り外し可能なハードドライブ又はソリッドステートドライブ823、テープ及びフロッピーディスクなどのレガシー磁気媒体(描写されていない)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(描写されていない)などである。
【0054】
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解するべきである。
【0055】
コンピュータシステム800はまた、1つ又は複数の通信ネットワークへのインターフェースも含むことができる。ネットワークは、例えば、ワイヤレス、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両及び産業用、リアルタイム、遅延耐性などとすることができるネットワークの例には、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、及び地上波ブロードキャストTVを含むTVの有線又はワイヤレスの広域デジタルネットワーク、CANBusを含む車両及び産業用などが含まれる。ある特定のネットワークは、通常、ある特定の汎用データポート又は周辺バス(849)(例えば、コンピュータシステム800のUSBポートなど)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、通常、後述のようにシステムバスに取り付けることによってコンピュータシステム800のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム800は他のエンティティと通信することができる。そのような通信は、単方向受信のみ(例えば、ブロードキャストTV)、単方向送信のみ(例えば、ある特定のCANbusデバイスへのCANbus)、又は、例えば、ローカル若しくは広域のデジタルネットワークを使用する他のコンピュータシステムとの双方向であり得る。ある特定のプロトコル及びプロトコルスタックは、上述のように、それらのネットワーク及びネットワークインターフェースのそれぞれで使用することができる。
【0056】
前述のヒューマン・インターフェース・デバイス、ヒューマンアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム800のコア840に接続することができる。
【0057】
コア840には、1つ又は複数の中央処理装置(CPU)841、グラフィックス処理装置(GPU)842、フィールド・プログラマブル・ゲート・エリア(FPGA)843、ある特定のタスクのハードウェアアクセラレータ844などの形式の特殊なプログラマブル処理装置を含めることができる。これらのデバイスは、読み取り専用メモリ(ROM)845、ランダムアクセスメモリ846、ユーザがアクセスすることができない内部ハードドライブ、SSDなどの内部大容量記憶装置847とともに、システムバス848を介して接続され得る。一部のコンピュータシステムでは、追加のCPU、GPUなどによる拡張を可能にするために、1つ又は複数の物理プラグの形式でシステムバス848にアクセスすることができる。周辺デバイスは、コアのシステムバス848に直接接続することも、周辺バス849を介して接続することもできる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0058】
CPU841、GPU842、FPGA843、及びアクセラレータ844は、組み合わせて前述のコンピュータコードを構成できる、ある特定の命令を実行することができる。そのコンピュータコードは、ROM845又はRAM846に記憶することができる。移行データはRAM846に記憶することもできるが、恒久的データは例えば内部大容量記憶装置847に記憶することができる。任意のメモリデバイスの高速記憶及び検索は、1つ又は複数のCPU841、GPU842、大容量記憶装置847、ROM845、RAM846などに密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0059】
コンピュータ可読媒体は、様々なコンピュータ実施動作を行うためのコンピュータコードを有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構成されたものであってもよいし、又はコンピュータソフトウェア技術の当業者に周知かつ利用可能な種類のものであってもよい。
【0060】
一例として、限定するものではないが、アーキテクチャ800、具体的にはコア840を有するコンピュータシステムは、1つ又は複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。このようなコンピュータ可読媒体は、上記で紹介したユーザアクセス可能な大容量記憶装置、並びにコア内部大容量記憶装置847やROM845などの非一時的な性質のコア840のある特定の記憶装置に関連付けられた媒体とすることができる。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア840によって実行され得る。コンピュータ可読媒体は、特定の必要性に応じて、1つ又は複数のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア840、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM846に記憶されたデータ構造を定義することと、ソフトウェアによって定義されたプロセスに従って、そのようなデータ構造を変更することとを含む、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、本明細書に記載の特定のプロセス又は特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに又はソフトウェアと一緒に動作することができる回路(例えば、アクセラレータ844)に論理配線された、又は他の方法で具現化された結果として機能を提供することができる。必要に応じて、ソフトウェアへの参照には論理を包含することができ、その逆も可能である。必要に応じて、コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC:integrated circuit)など)、実行のための論理を具現化する回路、又はこれらの両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0061】
ここで
図9を参照すると、ビューポートビットストリームを分割するためのプログラムによって実行される方法900のステップを示す動作フローチャートが描写されている。
【0062】
902において、方法900は、ユーザの頭の動きに対応する閾値に基づいてビューポートのために規定されたセグメントサイズを有する第1のコーディングされたビデオビットストリームを符号化するステップを含み得る。
【0063】
904において、方法900は、一定のセグメント持続時間又はサイズを有する背景に対応する低解像度を有する第2のコーディングされたビデオビットストリームを符号化するステップを含み得る。
【0064】
906において、方法900は、第1のコーディングされたビデオビットストリーム及び第2のコーディングされたビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームを作成するステップを含み得る。
【0065】
図9は、一実装形態の例示のみを提供しており、異なる実施形態がどのように実現され得るかに関していかなる限定も含意しないことが理解され得る。描写された環境に対する多くの修正は、設計及び実施要件に基づいて行われ得る。
【0066】
一部の実施形態は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、及び/又はコンピュータ可読媒体に関し得る。コンピュータ可読媒体は、プロセッサに動作を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読非一時的記憶媒体を含み得る。
【0067】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持及び記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は上記の任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下を、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み出し専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み出し専用メモリ(EPROM:erasable programmable read-only memory又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカード又は溝内の隆起構造などの機械的に符号化されたデバイス、及び上記の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して伝送される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0068】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされ得るし、又はネットワーク、例えばインターネット、ローカルエリアネットワーク、広域ネットワーク、及び/若しくは無線ネットワークを介して外部コンピュータ若しくは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又はエッジサーバを含み得る。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0069】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、又はSmalltalk若しくはC++などのオブジェクト指向プログラミング言語、及び「C」プログラミング言語若しくは同様のプログラミング言語などの手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード若しくはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上及び部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ若しくはサーバ上で実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)若しくは広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよいし、又は(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされてもよい。一部の実施形態では、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA:programmable logic array)を含む電子回路が、態様又は動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによってコンピュータ可読プログラム命令を実行し得る。
【0070】
これらのコンピュータ可読プログラム命令は、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図のブロックで指定された機能/動作を実現するための手段を作成するように、マシンを生成するために汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はまた、記憶された命令を有するコンピュータ可読記憶媒体が、フローチャート及び/又はブロック図のブロックで指定された機能/動作の態様を実現する命令を含む製品を含むように、コンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに特定の方法で機能するように指示し得るコンピュータ可読記憶媒体に記憶されてもよい。
【0071】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令がフローチャート及び/又はブロック図のブロックで指定された機能/動作を実現するように、コンピュータ実施プロセスを生成するために一連の動作ステップがコンピュータ、他のプログラマブル装置、又は他のデバイス上で実行されるよう、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードされてもよい。
【0072】
図のフローチャート及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータ可読媒体の可能な実装形態のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図の各ブロックは、指定された論理機能を実現するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又は命令の一部を表し得る。方法、コンピュータシステム、及びコンピュータ可読媒体は、図に描写されているものと比べて、追加のブロック、より少ないブロック、異なるブロック、又は異なる配置のブロックを含んでもよい。一部の代替の実装形態では、ブロックに記載された機能は、図に記載されているのとは異なる順序で実行されてもよい。例えば、連続して示されている2つのブロックは、実際には、同時に又は実質的に同時に実行されてもよいし、又はブロックは、関連する機能に応じて、場合によっては逆の順序で実行されてもよい。ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能若しくは動作を実行する、又は専用ハードウェアとコンピュータ命令との組み合わせを実現する、専用ハードウェアベースのシステムによって実施され得ることにも留意されたい。
【0073】
本明細書に記載のシステム及び/又は方法は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせの異なる形態で実現されてもよいことは明らかであろう。これらのシステム及び/又は方法を実現するために使用される実際の専用の制御ハードウェア又はソフトウェアコードは、実装形態を限定するものではない。したがって、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェア及びハードウェアは、本明細書の記載に基づいてシステム及び/又は方法を実現するように設計され得ることが理解される。
【0074】
本明細書で使用される要素、動作、又は命令は、不可欠な又は必須のものとして明示的に記載されていない限り、不可欠な又は必須のものとして解釈されるべきではない。また、本明細書で使用される場合、冠詞「a」及び「an」は、1つ又は複数の項目を含むことを意図されており、「1つ又は複数」と交換可能に使用され得る。さらに、本明細書で使用される場合、「セット」という用語は、1つ又は複数の項目(例えば、関連項目、非関連項目、関連項目と非関連項目の組み合わせなど)を含むものであり、「1つ又は複数」と交換可能に使用され得る。1つの項目のみが対象とされる場合、「1つ」という用語又は同様の言葉が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、「有する(having)」などの用語は、オープンエンド用語であることが意図される。さらに、「に基づいて」という語句は、特に明記されない限り、「に少なくとも部分的に基づいて」を意味するものである。
【0075】
様々な態様及び実施形態の説明は、例示の目的で提示されているが、網羅的であること、又は開示された実施形態に限定されることを意図されていない。特徴の組み合わせが特許請求の範囲に列挙され、及び/又は本明細書に開示されているが、これらの組み合わせは、可能な実装形態の開示を限定することを意図されていない。実際には、これらの特徴の多くは、特許請求の範囲に具体的に列挙されていない、及び/又は本明細書に開示されていない方法で組み合わされてもよい。以下に列挙されている各従属請求項は1つの請求項のみに直接従属し得るが、可能な実装形態の開示は、請求項セット内の他のすべての請求項との組み合わせにおいて各従属請求項を含む。記載された実施形態の範囲から逸脱することなく、多くの修正及び変形が当業者に明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、若しくは市場で見られる技術に対する技術的改善を最もよく説明するために、又は当業者が本明細書に開示されている実施形態を理解することを可能にするために選択された。
【符号の説明】
【0076】
100 エコシステム
101 360ビデオ
102 エンコーダ
103 コンテンツ配信ネットワーク
104 受信コンテンツ
105 VRプレーヤ
106 ユーザの視野
200 360ビューポート依存ビデオストリーミングシステム
201 360ビデオシーン
202 平面ビデオエンコーダ
203 DASHパッケージャ
204 CDN
205 互換性プレーヤ
206 レンダリング
207 ピクチャ
208 高解像度FoV
209 伝送されたビデオ
300 ブロック図
301~303 8k
304~306 2k
400 ブロック図
401 Iフレーム
402 ビューポート
403~405 フレーム
500 ブロック図
501~508 フレーム
509 フォールバックビットストリーム
701 パノラマ表現
702 符号化される
703 低遅延パッケージャ
704 CDN
705 VRプレーヤ
706 レンダリング
707 ピクチャ
708 FoV
709 伝送されたビデオ
800 コンピュータシステム
801 キーボード
802 マウス
803 トラックパッド
805 ジョイスティック
806 マイク
807 スキャナ
808 カメラ
809 スピーカ
810 タッチスクリーン
820 CD/DVD ROM/RW
821 CD/DVD又は同様の媒体
822 サムドライブ
823 ソリッドステートドライブ
840 コア
841 CPU
842 GPU
843 FPGA
844 アクセラレータ
845 ROM
846 RAM
847 内部大容量記憶装置
848 システムバス
849 周辺バス
900 方法
【手続補正書】
【提出日】2024-03-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサによって実行可能な、ビューポートビットストリームを符号化する方法であって、
(i)ユーザが装着可能なデバイスを介してビデオコンテンツを見るときのユーザの頭の動きの速度及び、(ii)利用可能な帯域幅に関する情報をビデオデコーダから受信するステップであって、前記ビデオコンテンツは前記ビデオデコーダによって復号され、コンテンツ配信ネットワーク(CDN)を介して受信される、ステップと、
前記利用可能な帯域幅及び前記ユーザの頭の動きの速度に対応する頭の速度の閾値に基づいてビューポートのために規定されたセグメントサイズ及び第1の解像度を有する第1のコーディングされたビデオビットストリームを、前記セグメントサイズが前記ユーザの頭の動きの速度に逆相関するように符号化するステップと、
一定のセグメント持続時間又はサイズを有する背景に対応する、前記第1の解像度より低い第2の解像度を有する第2のコーディングされたビデオビットストリームを符号化するステップと、
前記第1のコーディングされたビデオビットストリーム及び前記第2のコーディングされたビデオビットストリームを使用して、復号又はレンダリングのためのストリーミングビットストリームを作成するステップと、
前記ストリーミングビットストリームを、前記CDNを介して前記ビデオデコーダへ送信するステップと、
を含む方法。
【請求項2】
前記第1のコーディングされたビデオビットストリームは、前記ビューポートのための複数のセグメントサイズを有する、請求項1に記載の方法。
【請求項3】
前記頭の速度の閾値は、前記ユーザの頭の動きの速度及び利用可能な帯域幅に依存する、請求項1に記載の方法。
【請求項4】
前記ユーザの頭の動きの速度及び前記利用可能な帯域幅に関する前記情報を受信するステップは、リアルタイムトランスポートプロトコル(RTP)制御プロトコル(RTCP)フィードバックを介して行われる、請求項3に記載の方法。
【請求項5】
前記ビューポートの周りのマージンが前記ビューポートと同じ又はより長いセグメントサイズで要求される、請求項1に記載の方法。
【請求項6】
前記ユーザの頭の動きが前記マージン内にあることに基づいて、より長いセグメントを有する新しいタイルが前記マージンを更新するために要求される、請求項5に記載の方法。
【請求項7】
前記マージン内のタイルの解像度が前記ビューポート内のタイルよりも低いことに基づいて、前記第1の解像度を有する、より短いセグメントが要求される、請求項5に記載の方法。
【請求項8】
前記より短いセグメントは、前記ユーザの頭の動きが前記マージン内にあるかどうかにかかわらず要求される、請求項7に記載の方法。
【請求項9】
前記ビューポートが前記マージンを越えて動くことに基づいて、より短い長さのセグメントが要求される、請求項5に記載の方法。
【請求項10】
請求項1から9のいずれか一項に記載の方法を実行するように構成されたコンピュータシステム。
【請求項11】
コンピュータに請求項1から9のいずれか一項に記載の方法を実行させるためのプログラム。
【外国語明細書】