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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2022-553964ビデオ符号化の方法、装置およびコンピュータプログラム
<>
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図1
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図2
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図3
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図4
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図5
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図6
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図7
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図8
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図9
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図10
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図11
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図12
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図13
  • 特表-ビデオ符号化の方法、装置およびコンピュータプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-27
(54)【発明の名称】ビデオ符号化の方法、装置およびコンピュータプログラム
(51)【国際特許分類】
   H04N 21/236 20110101AFI20221220BHJP
   H04N 21/238 20110101ALI20221220BHJP
   H04N 21/84 20110101ALI20221220BHJP
【FI】
H04N21/236
H04N21/238
H04N21/84
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022523681
(86)(22)【出願日】2021-05-27
(85)【翻訳文提出日】2022-04-21
(86)【国際出願番号】 US2021034529
(87)【国際公開番号】W WO2021262385
(87)【国際公開日】2021-12-30
(31)【優先権主張番号】63/042,959
(32)【優先日】2020-06-23
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/088,712
(32)【優先日】2020-10-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/242,875
(32)【優先日】2021-04-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】イーラジ・ソダガー
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164MB13P
5C164MB41S
5C164MB44S
5C164SB01S
5C164SB11P
5C164SB26P
5C164SC03S
(57)【要約】
ビデオデータを取得するステップと、ビデオデータに基づいて、セグメント帯域幅を示し、かつメディアアダプテーションセットの複数の整列されたセグメントの情報を含む、時限メタデータトラックを作成するステップであって、その結果、整列されたセグメントのそれぞれの期間情報およびサイズ情報が少なくとも1つのメタデータサンプルに含まれる、ステップと、時限メタデータトラックが複数のリプレゼンテーションのそれぞれについて、入力バッファに対するオーバーフローを少なくとも1つ示しているか否かに基づいて、ビデオデータの複数のリプレゼンテーションのうちの1つに切り替えるステップと、複数のリプレゼンテーションのうちの1つをクライアントに配信するステップと、を1つまたは複数のプロセッサに実行させるように構成されたコンピュータコードを含む、方法および装置が含まれる。
【特許請求の範囲】
【請求項1】
ビデオ符号化の方法であって、
ビデオデータを取得するステップと、
前記ビデオデータに基づいて、セグメント帯域幅を示し、かつメディアアダプテーションセットの複数の整列されたセグメントの情報を含む、時限メタデータトラックを作成するステップであって、その結果、前記整列されたセグメントのそれぞれの期間情報およびサイズ情報が少なくとも1つのメタデータサンプルに含まれる、ステップと、
前記時限メタデータトラックが、複数のリプレゼンテーション(representations)のそれぞれについて、入力バッファに対するオーバーフローを少なくとも1つ示しているか否かに基づいて、前記ビデオデータの前記複数のリプレゼンテーションのうちの1つに切り替えるステップと、
前記複数のリプレゼンテーションのうちの前記1つをクライアントに配信するステップと
を含む、方法。
【請求項2】
前記少なくとも1つのメタデータサンプルにおける前記整列されたセグメントの、少なくとも1つのセグメントのメディアチャンクの特徴、および前記メディアチャンクのサイズをシグナリングする、再同期チャックインデックスを作成するステップと、
前記メタデータサンプルを前記メディアチャンクとともに徐々に生成するステップと、
前記メタデータサンプルを前記クライアントに徐々に配信するステップと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記時限メタデータトラックは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの相対品質をさらに示し、
前記複数のリプレゼンテーションのうちの前記1つに切り替えるステップは、前記相対品質の比較にさらに基づく、
請求項2に記載の方法。
【請求項4】
前記整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの期間が分かっているか否かをシグナリングするステップ
をさらに含み、
前記期間が分かっているときは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの前記少なくとも1つ当たりの正確な期間として、前記期間がシグナリングされ、
前記期間が未知のときは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの前記少なくとも1つ当たりの変動量とともに、前記期間がシグナリングされる、
請求項2に記載の方法。
【請求項5】
前記整列されたセグメントのインデックス情報を組み合わせて、組み合わせインデックスセグメントを作成するステップと、
前記組み合わせインデックスセグメントを前記クライアントに配信するステップと
をさらに含む、請求項1に記載の方法。
【請求項6】
前記メディアアダプテーションセットの前記整列されたセグメントのチャック再同期情報を組み合わせて、コンボ再同期インデックスセグメントを作成するステップと、
前記コンボ再同期インデックスセグメントを前記クライアントに配信するステップと
をさらに含む、請求項5に記載の方法。
【請求項7】
符号化されている前記整列されたセグメントのうちの1つ以外の、前記整列されたセグメントのすべてに対する前記組み合わせインデックスセグメントのフォーマットを含む、混合コンボ・インデックストラックを作成するステップ
をさらに含み、
前記混合コンボ・インデックストラックは、前記整列されたセグメントのうちの前記1つに対する、前記コンボ再同期インデックスセグメントのフォーマットをさらに含む、
請求項6に記載の方法。
【請求項8】
前記混合コンボ・インデックストラックは並列メタデータトラックである、
請求項7に記載の方法。
【請求項9】
前記ビデオデータの前記複数のリプレゼンテーションのうちの前記1つに切り替えるステップは、前記リプレゼンテーションの帯域幅を判定することにさらに基づく、
請求項1に記載の方法。
【請求項10】
前記時限メタデータトラックが少なくとも前記入力バッファに対する前記オーバーフローを示すか否かは、前記入力バッファの現在の占有量を判定することを含む、
請求項1に記載の方法。
【請求項11】
ビデオストリーミング用の装置であって、
コンピュータプログラムコードを記憶するように構成された、少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードに命令された通りに動作するように構成された、少なくとも1つのプロセッサと
を備え、前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、ビデオデータを取得させるように構成される、取得コードと、
前記少なくとも1つのプロセッサに、前記ビデオデータに基づいて、セグメント帯域幅を示し、かつメディアアダプテーションセットの複数の整列されたセグメントの情報を含む、時限メタデータトラックを作成させるように構成される作成コードであって、その結果、前記整列されたセグメントのそれぞれの期間情報およびサイズ情報が少なくとも1つのメタデータサンプルに含まれる、作成コードと、
前記少なくとも1つのプロセッサに、前記ビデオデータの複数のリプレゼンテーションのうちの1つに切り替えさせる切り替えコードであって、切り替えは前記時限メタデータトラックが、前記複数のリプレゼンテーションのそれぞれについて、入力バッファに対するオーバーフローを少なくとも1つ示しているか否かに基づく、切り替えコードと、
前記少なくとも1つのプロセッサに、前記複数のリプレゼンテーションのうちの前記1つをクライアントに配信させるように構成される、配信コードと
を含む、装置。
【請求項12】
前記少なくとも1つのプロセッサに、再同期チャックインデックスを作成させるように構成される別の作成コードであって、前記再同期チャックインデックスは、前記少なくとも1つのメタデータサンプルにおける前記整列されたセグメントの、少なくとも1つのセグメントのメディアチャンクの特徴、および前記メディアチャンクのサイズをシグナリングする、別の作成コードと、
前記少なくとも1つのプロセッサに、前記メタデータサンプルを前記メディアチャンクとともに徐々に生成させるように構成される、生成コードと、
前記少なくとも1つのプロセッサに、前記メタデータサンプルを前記クライアントに徐々に配信させるように構成される、別の配信コードと
をさらに含む、請求項11に記載の装置。
【請求項13】
前記時限メタデータトラックは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの相対品質をさらに示し、
前記複数のリプレゼンテーションのうちの前記1つへの切り替えは、前記相対品質の比較にさらに基づく、
請求項12に記載の装置。
【請求項14】
前記少なくとも1つのプロセッサに、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの期間が分かっているか否かをシグナリングさせるように構成される、シグナリングコード
をさらに含み、
前記期間が分かっているときは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの前記少なくとも1つ当たりの前記期間が正確な期間としてシグナリングされ、
前記期間が未知のときは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの前記少なくとも1つ当たりの変動量とともに前記期間がシグナリングされる、
請求項12に記載の装置。
【請求項15】
前記少なくとも1つのプロセッサに、前記整列されたセグメントのインデックス情報を組み合わせて、組み合わせインデックスセグメントを作成させるように構成される、別の作成コードと、
前記少なくとも1つのプロセッサに、前記組み合わせインデックスセグメントを前記クライアントに配信させるように構成される、別の配信コードと
をさらに含む、請求項11に記載の装置。
【請求項16】
前記少なくとも1つのプロセッサに、前記メディアアダプテーションセットの前記整列されたセグメントのチャック再同期情報を組み合わせて、コンボ再同期インデックスセグメントを作成させるように構成される、第2の別の作成コードと、
前記少なくとも1つのプロセッサに、前記コンボ再同期インデックスセグメントを前記クライアントに配信させるように構成される、第2の別の配信コードと
をさらに含む、請求項15に記載の装置。
【請求項17】
前記少なくとも1つのプロセッサに、符号化されている前記整列されたセグメントのうちの1つ以外の、すべての前記整列されたセグメントに対する組み合わせインデックスセグメントのフォーマットを含む、混合コンボ・インデックストラックを作成させるように構成される、第3の別の作成コードを
さらに含み、
前記混合コンボ・インデックストラックは、前記整列されたセグメントのうちの前記1つに対する、前記コンボ再同期インデックスセグメントのフォーマットをさらに含む、
請求項16に記載の装置。
【請求項18】
前記混合コンボ・インデックストラックは並列メタデータトラックである、
請求項17に記載の装置。
【請求項19】
前記ビデオデータの前記複数のリプレゼンテーションの前記1つへの切り替えは、前記リプレゼンテーションの帯域幅を判定することにさらに基づく、
請求項11に記載の装置。
【請求項20】
コンピュータに処理を実行させるプログラムを記憶する、非一時的なコンピュータ可読媒体であって、前記処理は、
ビデオデータを取得するステップと、
前記ビデオデータに基づいて、セグメント帯域幅を示し、かつメディアアダプテーションセットの複数の整列されたセグメントの情報を含む、時限メタデータトラックを作成するステップであって、その結果、前記整列されたセグメントのそれぞれの期間情報およびサイズ情報が少なくとも1つのメタデータサンプルに含まれる、ステップと、
前記時限メタデータトラックが、複数のリプレゼンテーションのそれぞれについて、入力バッファに対するオーバーフローを少なくとも1つ示しているか否かに基づいて、前記ビデオデータの前記複数のリプレゼンテーションのうちの1つに切り替えるステップと、
前記複数のリプレゼンテーションのうちの前記1つをクライアントに配信するステップと
を含む、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月28日に出願された米国特許出願第17/242,875号明細書に対する優先権の利益を主張し、この特許は2020年6月23日に出願された米国仮特許出願第63/042,959号明細書、および2020年10月7日に出願された米国仮特許出願第63/088,712号明細書に対する優先権を主張し、これらの内容は、その全体が参照により本明細書に明示的に組み込まれる。
【0002】
本開示は、HTTPを介した動的適応ストリーミング(DASH)のシグナリングに関する。
【背景技術】
【0003】
MPEG DASHは、IPネットワークを介してマルチメディアコンテンツをストリーミングするための規格を提供する。ISO/IEC 23009-1 DASH規格は、マルチレートのコンテンツのストリーミングを可能にする。しかしながら、DASHクライアントが、使用可能なネットワーク帯域幅とそのバッファ占有量とに基づいて、同じコンテンツの複数のリプレゼンテーション(representation)からセグメントを選びうるとしても、DASH規格が各リプレゼンテーションの平均帯域幅を記述する方法を提供する一方で、1つのリプレゼンテーションにおけるセグメントの瞬間帯域幅変動は提供されておらず、したがってリプレゼンテーションの平均ビットレートが与えられたとしても、バイト単位でのセグメントのサイズが予想される帯域幅よりもかなり大きくなる場合があり、その結果、そのセグメントをダウンロードすると、クライアントの入力バッファがオーバーフローする場合がある。
【発明の概要】
【課題を解決するための手段】
【0004】
1つ以上の異なる技術的問題に対処するために、本開示は、ネットワークオーバーヘッドおよびサーバの計算オーバーヘッドを低減する技術的解決策を提供する一方で、解決された要素に様々な動作を適用するオプションを提供し、その結果、これらのオプションを使用するとその実用性、および技術的なシグナリング機能が一部改善されうる。
【0005】
コンピュータプログラムコードを記憶するように構成されたメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって命令されるように動作するように構成された1つまたは複数のプロセッサと、を含む方法および装置が含まれる。コンピュータプログラムコードは、少なくとも1つのプロセッサにビデオデータを取得させるように構成される、取得コードと、少なくとも1つのプロセッサに、ビデオデータに基づいて、セグメント帯域幅を示し、かつメディアアダプテーションセットの複数の整列されたセグメントの情報を含む、時限メタデータトラックを作成させるように構成される作成コードであって、その結果、整列されたセグメントのそれぞれの期間情報およびサイズ情報が少なくとも1つのメタデータサンプルに含まれる、作成コードと、少なくとも1つのプロセッサに、ビデオデータの複数のリプレゼンテーションのうちの1つに切り替えさせる切り替えコードであって、切り替えは時限メタデータトラックが、複数のリプレゼンテーションのそれぞれについて、入力バッファのオーバーフローを少なくとも1つ示しているか否かに基づく、切り替えコードと、少なくとも1つのプロセッサに、複数のリプレゼンテーションのうちの1つをクライアントに配信させるように構成された、配信コードとを含む。
【0006】
例示的な実施形態によれば、コンピュータプログラムコードは、少なくとも1つのプロセッサに、再同期チャックインデックスを作成させるように構成される別の作成コードであって、再同期チャックインデックスは、少なくとも1つのメタデータサンプルにおける整列されたセグメントの、少なくとも1つのセグメントのメディアチャンクの特徴、およびメディアチャンクのサイズをシグナリングする、別の作成コードと、少なくとも1つのプロセッサに、メタデータサンプルをメディアチャンクとともに徐々に生成させるように構成された、生成コードと、少なくとも1つのプロセッサに、メタデータサンプルをクライアントに徐々に配信させるように構成される、別の配信コードとをさらに含む。
【0007】
例示的な実施形態によれば、時限メタデータトラックは、整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの相対品質をさらに示し、複数のリプレゼンテーションのうちの1つへの切り替えは、相対品質の比較にさらに基づく。
【0008】
例示的な実施形態によれば、コンピュータプログラムコードは、少なくとも1つのプロセッサに、整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの期間が分かっているか否かをシグナリングさせるように構成される、シグナリングコードをさらに含み、期間が分かっているときは、整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つ当たりの正確な期間として期間がシグナリングされ、期間が未知のときは、整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つ当たりの変動量とともに期間がシグナリングされる。
【0009】
例示的な実施形態によれば、コンピュータプログラムコードは、少なくとも1つのプロセッサに、整列されたセグメントのインデックス情報を組み合わせて、組み合わせインデックスセグメントを作成させるように構成される、別の作成コードと、少なくとも1つのプロセッサに、組み合わせインデックスセグメントをクライアントに配信させるように構成される、別の配信コードとをさらに含む。
【0010】
例示的な実施形態によれば、コンピュータプログラムコードは、少なくとも1つのプロセッサに、メディアアダプテーションセットの整列されたセグメントのチャック再同期情報を組み合わせて、コンボ再同期インデックスセグメントを作成させるように構成される、第2の別の作成コードと、少なくとも1つのプロセッサに、コンボ再同期インデックスセグメントをクライアントに配信させるように構成される、第2の別の配信コードとをさらに含む。
【0011】
例示的な実施形態によれば、コンピュータプログラムコードは、少なくとも1つのプロセッサに、符号化されている整列されたセグメントのうちの1つ以外の、すべての整列されたセグメントに対する組み合わせインデックスセグメントのフォーマットを含む、混合コンボ・インデックストラックを作成させるように構成される、第3の別の作成コードをさらに含み、混合コンボ・インデックストラックは、整列されたセグメントのうちの1つのための、コンボ再同期インデックスセグメントのフォーマットをさらに含む。
【0012】
例示的な実施形態によれば、混合コンボ・インデックストラックは並列メタデータトラックである。
【0013】
例示的な実施形態によれば、ビデオデータの複数のリプレゼンテーションのうちの1つへの切り替えは、リプレゼンテーションの帯域幅の判定にさらに基づく。
【0014】
例示的な実施形態によれば、時限メタデータトラックは、少なくとも入力バッファに対するオーバーフローを示し、入力バッファの現在の占有量を判定することを含む。
【0015】
開示される主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0016】
図1】実施形態による簡略化された概略図である。
図2】実施形態による簡略化された概略図である。
図3】実施形態によるデコーダに関する簡略化されたブロック図である。
図4】実施形態によるエンコーダに関する簡略化されたブロック図である。
図5】実施形態による簡略化されたブロック図である。
図6】実施形態による簡略化された図である。
図7】実施形態による簡略化された図である。
図8】実施形態による簡略化された図である。
図9】実施形態による簡略化された図である。
図10】実施形態による簡略化されたフローチャートである。
図11】実施形態による簡略化されたフローチャートである。
図12】実施形態による簡略化された図である。
図13】実施形態による簡略化された図である。
図14】実施形態による概略図である。
【発明を実施するための形態】
【0017】
以下で説明する提案された特徴は、別々に使用されてもよいし、任意の順序で組み合わされてもよい。さらに、実施形態は、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実施されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に格納されているプログラムを実行する。
【0018】
図1は、本開示の一実施形態による通信システム100の簡略化されたブロック図を示す。通信システム100は、ネットワーク105を介して相互接続された少なくとも2つの端末102、103を含んでよい。データの一方向送信のために、第1の端末103は、ネットワーク105を介して他方の端末102に送信するためにローカル位置でビデオデータを符号化してもよい。第2の端末102は、ネットワーク105から他方の端末の符号化されたビデオデータを受信し、符号化されたデータを復号し、復元されたビデオデータを表示してもよい。一方向データ送信は、メディアサービング用途などで一般的であることがある。
【0019】
図1は、例えばビデオ会議中に発生する可能性がある符号化されたビデオの双方向送信をサポートするために提供される端末101と104の第2のペアを示す。データの双方向送信のために、各端末101および104は、ネットワーク105を介して他方の端末に送信するためにローカル位置で、取り込んだビデオデータを符号化してもよい。各端末101および104はまた、他方の端末によって送信された符号化されたビデオデータを受信する場合もあり、符号化されたデータを復号してよく、復元されたビデオデータをローカルディスプレイデバイスに表示してよい。
【0020】
図1では、端末101、102、103および104は、サーバ、パーソナルコンピュータおよびスマートフォンとして示されてよいが、本開示の原理はそのように限定されるものではない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器を伴う用途を見出す。ネットワーク105は、例えば有線および/または無線通信ネットワークを含む、端末101、102、103および104間で、符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク105は、回路交換および/またはパケット交換チャネルにおいてデータを交換してよい。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットが含まれる。本考察の目的のために、ネットワーク105のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作にとって重要ではない場合がある。
【0021】
図2は、開示される主題のための用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの保存を含む、他のビデオ対応用途に等しく適用することができる。
【0022】
ストリーミングシステムは、例えば圧縮されていないビデオサンプルストリーム213を作成する、例えばデジタルカメラなどのビデオソース201を含むことができるキャプチャサブシステム203を含んでよい。そのサンプルストリーム213は、エンコードされたビデオビットストリームと比較して高いデータ量として強調されてよく、カメラ201に結合されたエンコーダ202によって処理することができる。エンコーダ202は、以下でより詳細に説明するように、開示される主題の態様を可能にするか、または実施するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。エンコードされたビデオビットストリーム204は、サンプルストリームと比較してより低いデータ量として強調されてよく、将来の使用のためにストリーミングサーバ205に格納することができる。1つまたは複数のストリーミングクライアント212および207は、ストリーミングサーバ205にアクセスして、エンコードされたビデオビットストリーム204のコピー208および206を取得することができる。クライアント212は、エンコードされたビデオビットストリームの着信コピー208を復号し、ディスプレイ209または他のレンダリングデバイス(図示せず)上にレンダリングすることができる発信ビデオサンプルストリーム210を形成するビデオデコーダ211を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム204、206および208は、特定のビデオ符号化/圧縮規格に従ってエンコードすることができる。これらの規格の例は、上記で言及されており、本明細書でさらに説明される。
【0023】
図3は、本発明の一実施形態によるビデオデコーダ300の機能ブロック図でありうる。
【0024】
受信機302は、デコーダ300によって復号されるべき1つまたは複数のコーデックビデオシーケンスを受信してよく、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスを受信してよく、この場合、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、チャネル301から受信されてよく、チャネルは、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクでありうる。受信機302は、それぞれの使用エンティティ(描かれていない)に転送されうる他のデータ、例えば符号化されたオーディオデータおよび/または補助データストリームとともに、エンコードされたビデオデータを受信してもよい。受信機302は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ303が、受信機302とエントロピーデコーダ/パーサ304(以降、「パーサ」)との間に結合されてよい。受信機302が十分な帯域幅と制御性を持つ記憶/転送装置から、またはアイソシンクロナスネットワークからデータを受信している場合、バッファ303は必要なくてもよい、または小さい場合もある。インターネットなどのベストエフォートパケットネットワークで使用する場合、バッファ303が必要とされる場合があり、比較的大きくすることができ、有利には適応サイズとすることができる。
【0025】
ビデオデコーダ300は、エントロピー符号化されたビデオシーケンスからシンボル313を再構築するためのパーサ304を含みうる。これらのシンボルのカテゴリには、デコーダ300の動作を管理するために使用される情報、および場合によっては、デコーダの不可欠な部分ではないが、それに結合することができるディスプレイ312などのレンダリングデバイスを制御するための情報が含まれる。レンダリングデバイス(複数可)の制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報パラメータセットフラグメント(描かれていない)の形式でありうる。パーサ304は、受信した符号化されたビデオシーケンスを解析/エントロピー復号してよい。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術または規格に従うことができ、可変長符号化、ハフマン符号化、文脈依存性を伴うまたは伴わない算術符号化などを含む、当業者によく知られた様々な原理に従うことができる。パーサ304は、符号化されたビデオシーケンスから、そのグループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出することができる。サブグループは、画像のグループ(GOP)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。エントロピーデコーダ/パーサはまた、変換係数、量子化パラメータ値、動きベクトルなどの符号化されたビデオシーケンス情報から抽出しうる。
【0026】
パーサ304は、シンボル313を作成するために、バッファ303から受信したビデオシーケンスに対してエントロピー復号/解析動作を実行することができる。パーサ304は、エンコードされたデータを受信し、特定のシンボル313を選択的に復号してよい。さらに、パーサ304は、特定のシンボル313が、動き補償予測ユニット306、スケーラ/逆変換ユニット305、イントラ予測ユニット307、またはループフィルタ311に提供されるべきか否かを判定してよい。
【0027】
シンボル313の再構築には、符号化されたビデオ画像またはその一部のタイプ(インター画像およびイントラ画像、インターブロックおよびイントラブロックなど)、ならびにその他の要因に応じて、複数の異なるユニットを関与させることができる。どのユニットがどのように関与しているかは、パーサ304によって、符号化されたビデオシーケンスから解析されたサブグループ制御情報によって管理することができる。パーサ304と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
【0028】
すでに言及した機能ブロックのほかに、デコーダ300は、以下で説明するように、いくつかの機能ユニットに概念的に再分割することができる。商業的な制約の下で動作する実際の実装形態では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合させることができる。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0029】
最初のユニットは、スケーラ/逆変換ユニット305である。スケーラ/逆変換ユニット305は、量子化された変換係数、および使用する変換、ブロックサイズ、量子化因子、量子化スケーリングマトリクスなどを含む制御情報をパーサ304からシンボル(複数可)313として受け取る。それは、アグリゲータ310に入力することができるサンプル値を含むブロックを出力することができる。
【0030】
一部のケースでは、スケーラ/逆変換305の出力サンプルは、イントラ符号化されたブロックに関係する場合があり、つまり、以前に再構築された画像からの予測情報は使用していないが、現在の画像の以前に再構築された部分からの予測情報を使用できるブロックに関係する場合がある。そのような予測情報は、イントラ画像予測ユニット307によって提供することができる。一部のケースでは、イントラ画像予測ユニット307は、現在の(部分的に再構築された)画像309からフェッチされた周囲のすでに再構築された情報を使用して、再構築中のブロックの同一サイズおよび同一形状のブロックを生成する。アグリゲータ310は、一部のケースでは、サンプルごとに、イントラ予測ユニット307が生成した予測情報をスケーラ/逆変換ユニット305によって提供されるような出力サンプル情報に追加する。
【0031】
他のケースでは、スケーラ/逆変換ユニット305の出力サンプルは、インター符号化された、および場合によっては動き補償されたブロックに関係する場合もある。そのようなケースでは、動き補償予測ユニット306は、参照画像メモリ308にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルをブロックに関連するシンボル313に従って動き補償した後、これらのサンプル(この場合、残差サンプルまたは残差信号と呼ばれる)は、出力サンプル情報を生成するために、アグリゲータ310によってスケーラ/逆変換ユニットの出力に追加することができる。動き補償ユニットが予測サンプルをフェッチする参照画像メモリ内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、および参照画像成分を有しうるシンボル313の形態で動き補償ユニットが利用できるようにすることができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリからフェッチされたサンプル値の補間、動きベクトル予測機構などを含むことができる。
【0032】
アグリゲータ310の出力サンプルは、ループフィルタユニット311における様々なループフィルタリング技術の対象となりうる。ビデオ圧縮技術は、符号化されたビデオビットストリームに含まれるパラメータによって制御され、パーサ304からのシンボル313としてループフィルタユニット311が利用できるようになっているループ内フィルタ技術を含むことができるが、これはまた、符号化された画像または符号化されたビデオシーケンスのこれまでの(復号順で)部分の復号中に取得されたメタ情報に応答し、また以前に再構築されループフィルタリングされたサンプル値に応答したりする場合もある。
【0033】
ループフィルタユニット311の出力は、レンダリングデバイス312に出力されうるだけでなく、将来のインター画像予測で使用するために参照画像メモリ557に格納されるサンプルストリームにすることもできる。
【0034】
特定の符号化された画像は、完全に再構成されると、将来の予測のための参照画像として使用できる。符号化された画像が完全に再構築され、符号化された画像が(例えば、パーサ304によって)参照画像として識別されると、現在の参照画像309は、参照画像バッファ308の一部になることができ、次の符号化された画像の再構築を開始する前に、新しい現在の画像メモリを再割り当てすることができる。
【0035】
ビデオデコーダ300は、ITU-T Rec.H.265などの規格で文書化されうる所定のビデオ圧縮技術に従って復号化動作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術文書または規格において指定されるように、および具体的にはそこで文書化されたプロファイルにおいて指定されるように、ビデオ圧縮技術または規格のシンタックスに準拠しているという意味において、使用されているビデオ圧縮技術または規格によって指定されたシンタックスに従ってよい。また、コンプライアンスのために必要なのは、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることである。場合によっては、レベルは、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒当たりのメガサンプルで測定される)、最大参照画像サイズなどを、制限する。レベルによって設定される制限は、場合によっては、ハイポセティカルリファレンスデコーダ(HRD)仕様と、符号化されたビデオシーケンスにおいて伝えられるHRDバッファ管理のメタデータによってさらに制限されることがある。
【0036】
一実施形態では、受信機302は、エンコードされたビデオとともに追加の(冗長な)データを受信する場合がある。追加のデータは、符号化されたビデオシーケンス(複数可)の一部として含まれる場合がある。追加のデータは、データを適切に復号する、および/または元のビデオデータをより正確に再構築するためにビデオデコーダ300によって使用されてよい。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)強化層、冗長スライス、冗長画像、順方向エラー訂正コードなどの形式をとることができる。
【0037】
図4は、本開示の一実施形態によるビデオエンコーダ400の機能ブロック図であってよい。
【0038】
エンコーダ400は、エンコーダ400によって符号化すべきビデオ画像(複数可)を取り込むことができる(エンコーダの一部ではない)ビデオソース401からビデオサンプルを受信してよい。
【0039】
ビデオソース401は、任意の適切なビット深度(例えば8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)でありうるデジタルビデオサンプルストリームの形態で、エンコーダ(303)によって符号化すべきソースビデオシーケンスを提供してよい。メディア供給システムでは、ビデオソース401は、これまでに準備されたビデオを格納する記憶装置でありうる。ビデオ会議システムでは、ビデオソース401は、ローカル画像情報をビデオシーケンスとして取り込むカメラである場合もある。ビデオデータは、順番に見たときに動きを与える複数の個別の画像として提供されうる。画像自体は、ピクセルの空間アレイとして編成することができ、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含みうる。当業者であれば、ピクセルとサンプルとの関係を容易に理解することができる。以下の説明はサンプルに焦点を当てている。
【0040】
実施形態によれば、エンコーダ400は、リアルタイムで、または用途によって必要とされる他の時間制約下で、ソースビデオシーケンスの画像を符号化し圧縮して、符号化されたビデオシーケンス410にしうる。適切な符号化速度にすることが、コントローラ402の1つの機能である。コントローラは、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合される。分かりやすくするために、結合は描かれていない。コントローラによって設定されるパラメータには、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化手法のラムダ値など)、画像サイズ、画像のグループ(GOP)レイアウト、最大動きベクトル検索範囲などを含めることができる。当業者であれば、コントローラ402の他の機能は、それらが特定のシステム設計のために最適化されたビデオエンコーダ400に関連しうるため、容易に特定することができる。
【0041】
一部のビデオエンコーダは、当業者が「符号化ループ」として容易に認識するもので動作する。過度に簡略化された説明として、符号化ループは、エンコーダ402(以後は「ソースコーダ」)(符号化すべき入力画像および参照画像(複数可)に基づいてシンボルを作成する役割を担う)の符号化部分と、(リモート)デコーダも同様に作成するであろう(開示された主題で考慮されるビデオ圧縮技術では、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮が可逆的であるため)サンプルデータを作成するためにシンボルを再構築する、エンコーダ400に埋め込まれた(ローカル)デコーダ406とで構成することができる。再構築されたサンプルストリームは、参照画像メモリ405に入力される。シンボルストリームの復号は、デコーダの場所(ローカルまたはリモート)に関係なくビットイグザクト結果をもたらすため、参照画像バッファコンテンツもまた、ローカルエンコーダとリモートエンコーダとの間でビットイグザクトである。言い換えると、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のとまったく同じサンプル値を参照画像サンプルとして「見る」。参照画像の同期性(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)のこの基本原理は、当業者によく知られている。
【0042】
「ローカル」デコーダ406の動作は、「リモート」デコーダ300の動作と同じであってよく、これは、図3に関連して上記で詳細にすでに説明されている。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ408およびパーサ304による符号化されたビデオシーケンスへのシンボルの符号化/復号化は可逆でありうるため、チャネル301、受信機302、バッファ303およびパーサ304を含むデコーダ300のエントロピー復号化部分は、ローカルデコーダ406に完全には実装されない場合がある。
【0043】
この時点で行うことができる観察は、デコーダに存在する解析/エントロピー復号以外のデコーダ技術も、対応するエンコーダにおいて、実質的に同一の機能形式で必ず存在する必要があるということである。エンコーダ技術の説明は、包括的に説明されているデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0044】
その動作の一部として、ソースコーダ403は、動き補償予測符号化を実行してよく、これは、「参照フレーム」として指定されたビデオシーケンスからの1つまたは複数の以前に符号化されたフレームを参照して入力フレームを予測的に符号化する。この方法において、符号化エンジン407は、入力フレームのピクセルブロックと、入力フレームへの予測参照(複数可)として選択されうる参照フレーム(複数可)のピクセルブロックとの差を符号化する。
【0045】
ローカルビデオデコーダ406は、ソースコーダ403によって作成されたシンボルに基づいて、参照フレームとして指定されうるフレームの符号化されたビデオデータを復号してよい。符号化エンジン407の動作は、非可逆プロセスであることが有利でありうる。符号化されたビデオデータがビデオデコーダ(図4には示されていない)で復号されうるとき、再構築されたビデオシーケンスは通常、いくつかのエラーを伴うソースビデオシーケンスの複製でありうる。ローカルビデオデコーダ406は、参照フレームに対してビデオデコーダによって実行されうる復号化プロセスを複製し、再構築された参照フレームを参照画像キャッシュ405に記憶させてよい。この方法において、エンコーダ400は、(送信エラーがない限り)遠端のビデオデコーダによって取得されるであろう再構築された参照フレームとして共通のコンテンツを有する再構築された参照フレームのコピーをローカルに格納してよい。
【0046】
予測器404は、符号化エンジン407の予測検索を実行してよい。すなわち、符号化すべき新しいフレームについて、予測器404は、サンプルデータ(候補参照ピクセルブロックとしての)、または新しい画像の適切な予測参照として機能しうる、参照画像の動きベクトル、ブロック形状などの特定のメタデータについて参照画像メモリ405を検索してよい。予測器404は、適切な予測参照を見つけるために、ピクセルブロックごとのサンプルブロックに基づいて動作してよい。一部のケースでは、予測器404によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ405に格納された複数の参照画像から引き出された予測参照を有してよい。
【0047】
コントローラ402は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ403の符号化動作を管理してよい。
【0048】
すべての前述の機能ユニットの出力は、エントロピーコーダ408でエントロピー符号化を受ける場合がある。エントロピーコーダは、例えばハフマン符号化、可変長符号化、算術符号化などの当業者に知られている技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0049】
送信機409は、エントロピーコーダ408によって作成された符号化されたビデオシーケンス(複数可)をバッファリングして、通信チャネル411を介した送信のためにそれを準備することができ、この通信チャネルは、エンコードされたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよい。送信機409は、ビデオコーダ403からの符号化されたビデオデータを、送信すべき他のデータ、例えば符号化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)と合体させてもよい。
【0050】
コントローラ402は、エンコーダ400の動作を管理してよい。符号化中に、コントローラ405は、各符号化された画像に特定の符号化画像タイプを割り当ててよく、これは、それぞれの画像に適用されうる符号化技術に影響を及ぼす可能性がある。例えば、画像は多くの場合、次のフレームタイプの1つとして割り当てられうる。
【0051】
イントラ画像(I画像)は、予測のソースとしてシーケンス内の他のフレームを使用せずに符号化および復号されうるものでありうる。一部のビデオコーデックでは、例えばIndependent Decoder Refresh Pictureなど、様々なタイプのイントラ画像を使用できる。当業者は、I画像の変形、ならびに、それらのそれぞれの用途および機能を認識している。
【0052】
予測画像(P画像)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号されうるものでありうる。
【0053】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号されうるものでありうる。同様に、複数予測画像は、単一ブロックの再構成のために3つ以上の参照画像および関連するメタデータを使用しうる。
【0054】
ソース画像は、一般に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に細分され、ブロックごとに符号化されうる。ブロックは、ブロックのそれぞれの画像に適用された符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化されうる。例えば、I画像のブロックは、非予測的に符号化されうるか、または同じ画像のすでに符号化されたブロックを参照して予測的に符号化されうる(空間予測またはイントラ予測)。P画像のピクセルブロックは、空間予測を介して、または以前に符号化された1つの参照画像を参照する時間予測を介して、非予測的に符号化されうる。B画像のブロックは、空間予測を介して、または以前に符号化された1つまたは2つの参照画像を参照する時間予測を介して、非予測的に符号化されうる。
【0055】
ビデオコーダ400は、ITU-T Rec.H.265などの所定のビデオ符号化技術または規格に従って符号化動作を実行することができる。その動作において、ビデオコーダ400は、入力ビデオシーケンスの時間的および空間的冗長性を活用する予測符号化動作を含む、様々な圧縮動作を実行することができる。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または規格によって指定されたシンタックスに準拠していることがある。
【0056】
一実施形態では、送信機409は、エンコードされたビデオとともに追加のデータを送信してもよい。ソースコーダ403は、そのようなデータを、符号化されたビデオシーケンスの一部として含む場合がある。追加データは、時間的/空間的/SNRエンハンスメント層、冗長な画像およびスライスなどの他の形式の冗長データ、補足拡張情報(SEI)メッセージ、視覚的有用性情報(VUI)パラメータセットフラグメントなどを含みうる。
【0057】
図5は、DASHおよび共通メディアアプリケーションフォーマット(CMAF:Common Media Application Format)イベントを処理するためのクライアントサンプルアーキテクチャなどの、サンプルDASHクライアント処理モデル500を示し、メディアセグメントのクライアント要求はマニフェストに記述されたアドレスに基づいてよく、マニフェストにはメタデータトラックも記述されており、クライアントはここからメタデータトラックのセグメントにアクセスし、これらを解析し、アプリケーションに送信しうる。さらに、以下で述べるようなメディアセグメントのアドレスの例示的な実施形態によれば、DASHマニフェストは、インデックスセグメントのアドレスを提供しうる。各インデックスセグメントは、1つのセグメントの期間およびサイズについての情報を提供し、リプレゼンテーションインデックスは、所与のリプレゼンテーションの全セグメントのインデックス情報を提供しうる。
【0058】
図6は、アダプテーションセットのセグメントのインデックス付けのための、例えば、任意の所与のアダプテーションセットのための、メタデータトラックのサンプルの例600を示す。例えば、瞬間セグメント帯域幅がシグナリングされることが予想される各アダプテーションセット(AS)の場合、図6に示すように、個別のアダプテーションセットがさらにマニフェストに含まれうる。
【0059】
図6に示すように、セグメントが時間整列されたk個のメディアリプレゼンテーションを有するAS iに対し、1つのリプレゼンテーションを含む新しいアダプテーションセットである、ASインデックスがマニフェストに追加される。この1つのリプレゼンテーションは、そのセグメントがAS iリプレゼンテーションのセグメントとも時間整列されている、時限メタデータトラックである。
【0060】
図7は、例示的な実施形態によるコンボ・インデックスセグメントの例700を示し、この中の各セグメントは、(1)(ISO/IEC 14496-12で定義された)ISOに基づくメディアファイルフォーマット(ISOBMFF:ISO Base Media File Format)の「styp」ボックスから始まるものとし、これが全トラックの組み合わせインデックスセグメントのボックスであることを識別するために、ブランド「cisx」を含み、(2)k個の「sidx」ボックスを0、1、2~K-1の順に含むものとし、そのそれぞれが、参照されるアダプテーションセットの1つのリプレゼンテーション0、1、2~K-1にその順序でそれぞれ対応し、(3)各sidxボックスは、対応するリプレゼンテーションのセグメント全体の期間およびサイズを含むものとする、という特徴を有しうる。例示的な実施形態によれば、ISOBMFFセグメントフォーマットは、コーデックのシグナリングに使用されるMIMEタイプのパラメータを定義する実装用であり、メディアソース拡張(MSE)のバイトストリームフォーマットのセクションに必要とされるような、初期化セグメント、メディアセグメント、およびランダム・アクセス・ポイントに必要なフォーマット固有の定義を提供する。
【0061】
図8は、低遅延モード用などの再同期インデックスセグメントの例800を示し、これは以下の構造を含む再同期インデックスセグメントを導入している。R0は、(1)ブランド「rpis」を含む、ISOBMFFの「styp」ボックスから始まるものとする。(2)各チャンクの符号化が完了するごとにセグメントに追加される、デイジーチェーン結合された段階的な一連のsidxボックスを含むものとする。(3)各sidxボックスは、メディアセグメントでの出現順に、対応するメディアセグメントの1つのチャンクの期間、サイズ、および開始SAPタイプを含むものとする。
【0062】
図9は、低遅延モード用などのコンボ再同期インデックスセグメントの例900を示し、これは以下の構造を有するコンボ再同期インデックスセグメントを導入している。(1)ブランド「rpis」を含む、ISOBMFFの「styp」ボックスから始まるものとする。(2)それぞれが参照されるアダプテーションセットの1つのリプレゼンテーション0、1、2~K-1にその順序でそれぞれ対応する、一連のsidxボックスを0、1、2~K-1の順に含む(また例示的な実施形態によると、各sidxボックスは、バージョン0として1つの参照カウントを持つ1つのレベルのsidxボックスであるため固定長を有し、各ボックスは、同じ順序で順序付けされた同じリプレゼンテーションの、次のチャンクの次のsidxボックスを指す)ものとする。(3)各sidxボックスは、メディアセグメントでの出現順に、対応するメディアセグメントの1つのチャンクの期間、サイズ、および開始SAPタイプを含むものとする。
【0063】
例示的な実施形態によれば、メタデータトラックはマニフェストの個別のアダプテーションに含まれてよく、このアダプテーションセットには必ず以下の制約がある。(1)参照されるメディアアダプテーションセットの同じアドレス指定方式がこのリプレゼンテーションに対して使用されるものとする(かつ参照されるアダプテーションセットのリプレゼンテーションが様々なアドレス指定方式を有する場合は、リプレゼンテーションのアドレス指定方式のうちの1つがメタデータトラックのリプレゼンテーションに使用されるものとする)。(2)メタデータトラックのいくつかのセグメントは、参照されるアダプテーションセットの任意のリプレゼンテーションのセグメントの最大数と等しいものとする。(3)メタデータトラックのアダプテーションセットは、そのMIMEタイプでメタデータとしてシグナリングされるものとし、このコンボ・インデックスセグメントトラックをシグナリングするために、@codecには固有の識別子が使用されねばならない。(4)リプレゼンテーショントラックは、インデックスセグメントのタイプと同様にメタデータとしてシグナリングされるものとし、コンボ・インデックスセグメント、コンボ再同期インデックスセグメント、最後の再同期インデックスセグメントを含むコンボ・インデックスセグメント、のうちの1つである。(5)参照されるアダプテーションセットidは、メタデータトラックアダプテーションセット内の補助的な記述子の値フィールドに含まれるものとし、uri:mpeg:dash:sidxtrack:2020などの固有のschemeIdUriを有する。(6)メタデータリプレゼンテーションidは、アドレス指定方式が同一の、参照されるアダプテーションセットのリプレゼンテーションと同一になるものとする。
【0064】
図10は、リプレゼンテーションごとに個別のセグメントインデックスを含むDASHクライアント処理モデルに関する、例示的なフローチャート1000を示し、例示的な実施形態によれば、コンボ・インデックスセグメントトラックなしでセグメントの期間およびサイズを取得することが可能であり、各リプレゼンテーションもまたマニフェストで定義されたインデックスセグメントを有する場合は、DASHクライアント処理モデルは以下のようになりうる。S1001は、ライブストリームの結合時間を選択するステップであり、以下の考慮事項を伴う。(J:平均期間と可能な帯域幅変動とを含むセグメント数に基づく、その入力バッファのサイズ。L:メタデータトラック内で先読みすることが可能なセグメント数。Lは、0~任意の正の数とすることができる。(L*average_duration)が再生に追加されることに留意されたい)。S1002は、JおよびLに基づいてライブストリームの結合時間を見つけるステップであり、S1003は、リプレゼンテーションごとにL個のインデックスセグメントをダウンロードするステップであって、L*Kダウンロードとなり、S1004は、L*Kインデックスセグメントのsidxボックスを解析して、表1(以下に示す)のサイズ/期間セグメントを構築するステップであり、S1005は、表1を考慮して、次のM個のセグメント(M<L)のリプレゼンテーション(複数可)への切り替えを計算するステップであって、入力バッファがオーバーフローしていない間は最高品質が達成され、S1006は、次のメディアセグメントおよびL+1個のメタデータセグメントをダウンロードするステップであり(この後に、これを処理および再生するステップS1007があってもよい)、S1008は、表1に従って更新するステップであり、S1009は、ネットワーク帯域幅の変化(複数可)を考慮して決定を調整するステップであり、その後、図10に示すように、S1005に戻る。
【0065】
図示されているように、リプレゼンテーションのインデックスセグメントではなくコンボ・インデックスセグメントトラックを使用することの違いは、各セグメント要求の前に、DASHクライアントがK個のインデックスセグメントを要求することである。Kが大きい数であれば、要求の数が増えると効率が悪くなる場合がある。
【0066】
【表1】
【0067】
図11は、コンボ・セグメントインデックストラックを含むDASHクライアント処理モデルに関する例示的なフローチャート1100を示し、例示的な実施形態によれば、S1001は、ライブストリームの結合時間を選択するステップである(以下の考慮事項を伴う。J:平均期間と可能な帯域幅変動とを含むセグメント数に基づく、その入力バッファのサイズ。L:メタデータトラック内で先読みすることが可能なセグメント数。Lは、0~任意の正の数とすることができる。(L*average_duration)が再生に追加されることに留意されたい)。S1102は、JおよびLに基づいてライブストリームの結合時間を見つけるステップであり、S1103は、コンボ・インデックスセグメントトラックからL個のセグメントをライブエッジからダウンロードするステップであり、S1104は、L個のセグメントのsidxボックスを解析して、表1のサイズ/期間セグメントを構築するステップであり、S1105は、表1を考慮して、次のM個のセグメント(M<L)のリプレゼンテーション(複数可)への切り替えを計算するステップであって、入力バッファがオーバーフローしていない間は最高品質が達成され、S1106は、次のメディアセグメントおよびL+1個のメタデータセグメントをダウンロードするステップであり(この後に、これを処理および再生するステップS1107があってもよい)、S1108は、表1に従って更新するステップであり、S1109は、ネットワーク帯域幅の変化(複数可)を考慮して決定を調整するステップであり、その後、図11に示すように、S1105に戻る。
【0068】
図示されているように、DASHクライアントは、図6のデータからK個のインデックスセグメント要求をする事例と比較して、メディアセグメント要求ごとに1つのコンボ・インデックスセグメントを要求しうる。したがって、特にKの数が大きい場合、このような例示的な実施形態は非常に効率的である。
【0069】
さらに、例えば、低遅延のDASHクライアント処理モデルに関する例示的な実施形態によれば、低遅延の場合の瞬間チャンク帯域幅適応にも使用されうるメタデータトラックがあってよく、このような事例では、メタデータサンプルは、全リプレゼンテーションのインデックスセグメントおよび再同期インデックスセグメントを含みうる。このような実施形態を考慮すると、以下の2つの可能な変形例が考えられる。(a)混合コンボ・インデックストラック:各セグメントが、最後のセグメント(ライブエッジにあるセグメント)を除く、対応するセグメントのsidxボックスを含み、最後のセグメントは徐々に追加されるコンボ再同期インデックスセグメントであってよく、対応するメディアセグメントが終了すると、コンボ再同期セグメントがコンボ・インデックスセグメントに置き換わる、1つのメタデータトラック。(b)通常および低遅延のコンボトラック:1つのトラックはコンボ・インデックスセグメントを含み、1つはコンボ再同期インデックスセグメントを含む、2つのメタデータトラックのアダプテーションセット。
【0070】
低遅延モードで動作しているクライアントの場合、これらの実施形態は、他のクライアントが通常のコンボトラックからセグメントをストリーミングしている間に、低遅延コンボトラックからセグメントをストリーミングしうる。あるいは、混合コンボ・インデックストラックのみが提供されている場合は、通常のクライアントおよび低遅延クライアントの両方が、同じトラックからストリーミングしうる。
【0071】
例示的な実施形態によれば、コンボ・インデックストラックは、以下の構造を有するISOBMFF時限メタデータトラックである。ヘッダは以下の情報を含む。(1)トラック4CC識別子。(2)スイッチングセット内のトラック数。(3)スイッチングセットのトラックのトラック識別子。(4)任意で、トラック、セグメント、およびチャンクの品質が測定される品質メトリック識別子。(5)各トラックの品質が、上述の品質メトリックを使用して他のトラックと比較されたこと。メタデータセグメントは以下の特徴を有する。(1)全セグメントが対応するスイッチングセットのセグメントと時間整列されている。(2)全チャンクが対応するスイッチングセットのチャンクと時間整列されている。(3)全セグメントがそれらのブランド内に4CC識別子を有する。各メタデータサンプルは以下の特徴を有する。(1)時間メタデータトラック内の各サンプルがランダムアクセスサンプルである。(2)各サンプルが以下の情報を有する。(a)対応するメディアセグメント/チャンクのSAPタイプ。(b)メディアセグメント/チャンクが、イベントおよびprftボックスなどの上位レベルのボックスを有していることを示す。(c)セグメントおよびチャンクの期間を測定する時間スケール。(d)期間が分かっている場合のフラグ。(e)期間が正確な場合のフラグ。(f)期間に占める最大期間変動の割合。(g)メタデータトラックのヘッダで定義された、時間スケールにおける対応するメディアセグメント/チャンクの期間。(h)このトラックで定義された固有の順序での、各トラックの対応する各セグメント/チャンクのサイズ。(e)任意で、他のセグメント/チャンクと比較した、トラックの対応するセグメント/チャンクの品質。
【0072】
例示的な実施形態によれば、コンボ・インデックストラックはマニフェストの個別のアダプテーションに含まれ、このコンボ・インデックスアダプテーションセットには必ず以下の制約がある。(1)参照されるメディアアダプテーションセットの同じアドレス指定方式がこのリプレゼンテーションに対して使用されるものとする(参照されるアダプテーションセットのリプレゼンテーションが様々なアドレス指定方式を有する場合は、リプレゼンテーションのアドレス指定方式のうちの1つがメタデータトラックリプレゼンテーションに使用されるものとする)。(2)コンボ・インデックストラックのチャンク/セグメント数は、参照されるアダプテーションセットの任意のリプレゼンテーションのチャンク/セグメント数と等しいものとする。(3)メタデータトラックのアダプテーションセットは、そのMIMEタイプでコンボ・インデックストラックとしてシグナリングされるものとし、このコンボ・インデックスセグメントトラックをシグナリングするために、@codecには固有の識別子が使用されねばならない。(4)リプレゼンテーショントラックは、コンボ・インデックストラックと同様にメタデータとしてシグナリングされるものとする。(5)参照されるアダプテーションセットidは、コンボ・インデックスアダプテーションセット内の補助的な記述子の値フィールドに含まれるものとし、uri:mpeg:dash:comboindex:2020などの固有のschemeIdUriを有する。(6)メタデータリプレゼンテーションidは、アドレス指定方式が同一の、参照されるアダプテーションセットのリプレゼンテーションと同一になるものとする。
【0073】
図12は、サンプルエントリ1200を示し、マニフェスト制約の可能な一実装を表しており、これは図12に示すように定義されてよく、このようなサンプルは、図13に示すシンタックス1300などのシンタックスを有してよく、また、以下のセマンティクスを有しうる。「num_tracks」は、スイッチングセット内のトラック数である。「track_id」は、サンプル内のtrack_idの順序付けを提供する。「quality_indicator_flag」は、チャンクの品質の識別に固有の品質インジケータが使用されているか否かを識別する。「quality_identifier」は、トラックおよびサンプルの品質が解釈されることが予想される、品質メトリックを示すURIである。「segment_start_flag」は、このチャンクがセグメントの始まりと同一か否か、すなわちチャンクがセグメントの始まりか否かを識別する。「SAP_type」は、SAPタイプを識別する。0であればチャンクはSAPから始まらない。markerは、このチャンクがstypを含むマーカを含むか否かを識別する。「emsg_flag」は、このチャンクが任意のemsgボックスを含むか否かを識別する。「prft_flag」は、このチャンクがprftボックスを含むか否かを識別する。「known_duration_flag」は、このチャンクの期間が分かっているか否かを識別する。このフラグが「false」であれば、フラグexact_duration_flag、およびduration_variation、期間、および時間スケールフィールドの値は無視されるものとする。「exact_duration_flag」は、期間の値が正確か否か、すなわち期間がこのチャンクの名目上の期間でないことを識別する(このフラグが「true」であれば、duration_variationフィールドの値は無視されるものとする)。「duration_variation」は、最大の期間の変動(より短い変動、またはより長い変動)をパーセンテージで識別する(この値は100を超えてはならない。100を超える値は100として処理される)。「duration」は時間スケールにおけるチャンクの期間であり、すなわち期間を時間スケールで割るとチャンクの期間が秒単位で得られる。「timescale」は、時間スケールに、1秒当たりのティック数で、このボックス内の期間フィールドを提供する。これは、参照されるスイッチングセットにおける1つのトラックの時間スケールと一致させることが推奨され、first_offsetが、シーケンスの始まりからチャンクのオフセットを識別する。「offset」は、セグメントの始まりからチャンクのバイトオフセットを識別する。sizeは、チャンクのサイズをオクテット単位で提供する。「quality」は、品質スキームに従ってチャンクの品質を提供する(品質スキームがない場合、品質は、値が増加するとともに品質が向上するものとして直線的に解釈される)。「missing」は、チャンクが欠落していて要求されるべきでないことを識別する。
【0074】
例示的な実施形態によれば、コンボ・インデックスセグメントは、前述したように、エンコーダ(複数可)によってメディアを符号化するとともに作成されてよく、このような事例では、エンコーダ(複数可)が、各セグメント/チャンクの正確な期間を有しうるため、この値はメタデータサンプルに含めることができる。しかしながら、パッケージャもまた、エンコーダから受信したセグメントに基づいて、このコンボ・インデックストラックを作成しうる。このような事例では、パッケージャの能力に応じて、次のいずれかのシナリオが採用されてよい。(a)各セグメント/チャンクの正確な期間が分かっており、したがってパッケージャは、コンボ・インデックスメタデータサンプルに正確な期間を挿入する。(b)正確な期間が未知であり、したがってパッケージャはセグメント/チャンクのサイズの計算のみを行い、これらをメタデータサンプルに含めて、期間が未知というフラグを設定する。(c)正確な期間が未知であるが、名目上の期間、およびおそらくは期間変動の最大範囲がパッケージャに知られており、したがってパッケージャは、これらの値をメタデータサンプルに含める。
【0075】
このように、例示的な実施形態によれば、インデックスセグメントを使用してDASHクライアントに帯域幅キャップをシグナリングする方法が提供され、低レイテンシの場合は再同期インデックスセグメントを使用する。性能を向上させるために、ライブストリーミングには結合インデックストラックも導入され、DASHクライアントは、瞬間セグメント帯域幅を見つけ、その入力バッファをオーバーフローさせないようにしながら最高の品質を提供する最良のリプレゼンテーションに切り替えるために、上述した手段のいずれかを使用しうる。また、ストリーミングクライアントに対する、様々なトラックの瞬間帯域幅の変化のシグナリングも提供され、その結果、クライアントは、全トラックの帯域幅要件の突然の変化を同時に観察でき、必要であれば上述した様々な基準に応じて、別のトラックに切り替える手段をとる。これに応じて、本明細書の実施形態では、結合されたセグメントと、同じアダプテーションセット/スイッチングセット内の全トラックのチャンクの期間およびサイズとを含むメタデータトラックを使用して、DASHクライアントに瞬間帯域幅変更をシグナリングするために、MPEG DASHのメタデータトラックを改善し、DASHクライアントは、瞬間セグメント帯域幅を見つけ、入力バッファをオーバーフローさせることなく最高の品質を提供する最良のリプレゼンテーションに切り替えるために、上述の手段のいずれかを使用しうる。
【0076】
例えば、瞬間セグメント帯域幅情報を提供するためのメタデータトラックの作成であって、メタデータトラックの1つのセグメントに、1つのメディアアダプテーションセットの、すべての整列されたセグメントの情報が提供されるような作成と、組み合わせインデックスセグメントの作成であって、全リプレゼンテーションの整列されたセグメントの全インデックス情報が、1つのインデックスセグメントに結合されるような作成と、1つのセグメントのチャンクの特徴をセグメントインデックスとしてシグナリングするための再同期インデックスセグメントの作成であって、再同期セグメントはメディアチャンクとともに徐々に生成されてよく、かつクライアントに徐々に配信でき、したがってクライアントは低遅延ストリーミングにおいて、それをチャンク境界で切り替えるのに使用できるような作成と、コンボ再同期インデックスセグメントの作成であって、1つのアダプテーションセットの全リプレゼンテーションの、すべての整列されたセグメントのチャック再同期情報がインデックスセグメントに含まれ、かつクライアントに徐々に送信され、その結果クライアントが低遅延ストリーミングにおいてチャンク間での切り替えを行いうるような作成と、符号化されている最後のセグメントを除く全セグメントにコンボ・インデックスセグメントフォーマットを使用し、現在符号化されているセグメントにはコンボ再同期セグメントフォーマットを使用する、混合コンボ・インデックストラックの作成と、コンボ・インデックスセグメントからなる通常のストリーミング動作用のトラックと、コンボ再同期インデックスセグメントからなる他のトラックとに対する、2つの並列メタデータトラックの作成と、各リプレゼンテーションの瞬間帯域幅を監視してそれをビットレートの山と谷を考慮したリプレゼンテーション間の切り替えに使用し、現在の帯域幅、バッファ占有量、ならびに複数のリプレゼンテーションにわたるセグメントサイズに基づくリプレゼンテーションの適応的選択を最適化するための、全リプレゼンテーションのセグメントインデックス内の情報をDASHクライアントが使用できるような方法と、全リプレゼンテーションの瞬間帯域幅をより効率的に測定するための、クライアントに対する上記のさらなる使用と、DASHクライアントの低遅延モードでの動作を可能にする、低遅延動作のための上記のさらなる使用と、通常のクライアントおよび低遅延クライアントの両方が、1つのトラックまたは2つのトラックで動作できるようにするための上記のさらなる使用と、のうちのいずれかが提供されうる。
【0077】
さらに、瞬間セグメント帯域幅および品質情報を提供するための時限メタデータトラックの作成であって、1つのメディアアダプテーションセットのすべての整列されたセグメントの情報が、メタデータトラックの1つのセグメントで提供され、すべての対応するセグメントおよび/またはチャンクの期間およびサイズ情報がサンプルに含まれるような作成と、メタデータサンプル内の1つのセグメントのチャンクの特徴を、チャンクのサイズとともにシグナリングするための再同期チャックインデックスの作成であって、メタデータサンプルはメディアチャンクとともに徐々に生成されてよく、かつクライアントに徐々に配信でき、したがってクライアントはそれを低遅延ストリーミングにおけるチャンク境界での切り替えに使用できるような作成と、上述した方法においてセグメントおよび/またはチャンクの相対品質をそれぞれ使用することであって、その結果、クライアントが全メディアトラックにわたって瞬間品質を比較できるような使用と、整列されたセグメントまたは整列されたチャンクの期間が、整列されたセグメントまたはチャンクのセットごとに分かっているか否かをシグナリングすることであって、分かっている場合は名目上の期間または正確な期間をシグナリングし、シグナリングされた期間が正確な期間か名目上の期間かをシグナリングし、名目上の期間であれば、期間の最大変動をシグナリングする、シグナリングと、徐々に作成されて徐々にクライアントに送信されるインデックスセグメントの作成であって、その結果、クライアントが低遅延ストリーミングにおいてチャンクを切り替えうるような作成と、メタデータトラックの作成であって、最後の1つを除く全セグメントが上述のいずれかであり、最後のセグメントは、ライブエッジで符号化され、上述した他の機能を使用して作成されたセグメントに対応するような作成と、2つの並列メタデータトラックの作成であって、1つは上述の機能を使用し、1つは上述の他の機能を使用し、マニフェストでこれらのトラックをシグナリングするような作成と、各リプレゼンテーションの瞬間帯域幅を監視し、ビットレートの山と谷を考慮してそれをリプレゼンテーション間の切り替えに使用して、現在の帯域幅、バッファ占有量、および複数のリプレゼンテーションにわたるセグメントサイズに基づいて、リプレゼンテーションの適応選択を最適化するために、DASHクライアントに上述のメタデータトラックセグメントの情報を使用させることと、全リプレゼンテーションの瞬間帯域幅のより効率的な測定と、全リプレゼンテーションの瞬間帯域幅をより効率的に測定するための、クライアントのための低遅延動作と、通常のクライアントおよび低遅延クライアントの両方が1つのトラックまたは2つのトラックで動作できるようにすることと、もまた提供されうる。
【0078】
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして、または特別に構成された1つまたは複数のハードウェアプロセッサによって実施することができる。例えば、図14は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム1400を示している。
【0079】
コンピュータソフトウェアは、任意の適切な機械コードまたはコンピュータ言語を使用して符号化でき、これは、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接、または解釈、マイクロコードの実行などを介して実行できる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構に従ってもよい。
【0080】
命令は、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネット装置などを含む、様々な種類のコンピュータまたはその構成要素で実行することができる。
【0081】
コンピュータシステム1400について図14に示される構成要素は、事実上例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関する制限を示唆することを意図するものではない。構成要素の構成も、コンピュータシステム1400の例示的な実施形態に示される構成要素のいずれか1つまたは組み合わせに関連する依存関係または要件を有すると解釈されるべきではない。
【0082】
コンピュータシステム1400は、特定のヒューマンインターフェース入力デバイスを含みうる。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(図示せず)を介して、1人または複数の人間ユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、音声(発話、音楽、周囲音など)、画像(走査画像、静止画カメラで取得される写真画像など)、ビデオ(二次元ビデオ、立体ビデオを含む三次元ビデオなど)などの人による意識的な入力に必ずしも直接関与しない、いくつかの媒体の捕捉にさらに使用することができる。
【0083】
入力ヒューマンインターフェースデバイスには、キーボード1401、マウス1402、トラックパッド1403、タッチスクリーン1410、ジョイスティック1405、マイク1406、スキャナー1408、カメラ1407のうちの1つまたは複数(各々の1つのみが描かれる)が含まれてよい。
【0084】
コンピュータシステム1400は、特定のヒューマンインターフェース出力デバイスも含みうる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通じて、1人または複数の人間のユーザの感覚を刺激しうる。そのようなヒューマンインターフェース出力デバイスには、触覚出力デバイス(例えば、タッチスクリーン1410、またはジョイスティック1405による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、音声出力デバイス(スピーカー1409、ヘッドホン(描かれていない)など)、視覚的出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含めるスクリーン1410であり、それぞれにタッチスクリーン入力機能を備えたものと備えていないものがあり、それぞれに触覚フィードバック機能の備えたものと備えていないものがあり、その一部は、ステレオグラフィック出力、仮想現実の眼鏡(描かれていない)、ホログラフィックディスプレイおよびスモークタンク(描かれていない)などの手段を介して二次元の視覚的出力、または三次元を超える出力を出力することが可能でありうる)、ならびにプリンタ(描かれていない)が含まれてよい。
【0085】
コンピュータシステム1400はまた、人間がアクセス可能な記憶装置と、それらに関連付けられた媒体、例えば、CD/DVD1411または同様の媒体を備えたCD/DVD ROM/RW1420、サムドライブ1422、取り外し可能なハードドライブまたはソリッドステートドライブ1423、テープおよびフロッピーディスク(描かれていない)などのレガシー磁気媒体、セキュリティドングル(描かれていない)などの専用のROM/ASIC/PLDベースのデバイスを含めた光学媒体などを含むこともできる。
【0086】
ここで開示されている主題に関して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波その他の一時的な信号は含まないことを当業者にはさらに理解されたい。
【0087】
コンピュータシステム1400は、1つまたは複数の通信ネットワーク1498へのインターフェース1499も含むことができる。ネットワーク1498は、例えば、無線、有線、光でありうる。さらに、ネットワーク1498は、ローカル、広域、大都市圏、車両および産業、リアルタイム、遅延耐性などである場合がある。ネットワーク1498の例としては、イーサネットなどのローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルテレビ、衛星テレビおよび地上波放送を含むTV有線または無線広域デジタルネットワーク、CANBusなどを含む車両用および産業用などが含まれる。特定のネットワーク1498は一般に、特定の汎用目的のデータポートまたは周辺バス(1450および1451)(例えば、コンピュータシステム1400のUSBポートなど)に結合された外部のネットワークインターフェースアダプタを必要とし、その他のものは一般に、以下に説明するようにシステムバスへの結合によってコンピュータシステム1400のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワーク1498のいずれかを使用して、コンピュータシステム1400は他のエンティティと通信することができる。そのような通信は、単方向の受信のみ(例えば、放送TV)、単方向送信のみ(例えば、CANbusから特定のCANbusデバイスへ)、または双方向、例えばローカルエリアまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信でありうる。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用しうる。
【0088】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム1400のコア1440に接続されうる。
【0089】
コア1440には、1つまたは複数の中央処理装置(CPU)1441、グラフィックス処理装置(GPU)1442、グラフィックスアダプタ1417、フィールドプログラマブルゲート領域(FPGA)1443の形態の専用のプログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ1444などを含めることができる。これらのデバイスは、読み取り専用メモリ(ROM)1445、ランダムアクセスメモリ1446、ユーザがアクセスすることができない内部ハードドライブ、SSDなどの内部大容量記憶装置1447とともに、システムバス1448を介して接続されてよい。一部のコンピュータシステムでは、システムバス1448に、1つまたは複数の物理的プラグの形態でアクセスして、追加のCPU、GPUなどによる拡張を可能にすることもできる。周辺機器は、コアのシステムバス1448に直接、または周辺バス1451を介して結合することができる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0090】
CPU 1441、GPU 1442、FPGA 1443、およびアクセラレータ1444は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM 1445またはRAM 1446に格納されうる。移行データもまたRAM 1446に記憶することができるが、永続的データは、例えば内部大容量記憶装置1447に記憶することができる。1つまたは複数のCPU 1441、GPU 1442、大容量記憶装置1447、ROM 1445、RAM 1446などと密接に関連付けることができるキャッシュメモリを使用することにより、メモリデバイスのいずれかへの高速記憶および高速取り出しを可能にすることできる。
【0091】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計され構築されたものにすることができ、あるいはコンピュータソフトウェアの技術分野の当業者によく知られ、当業者が使用可能な種類のものであってもよい。
【0092】
一例として、限定としてではなく、アーキテクチャ、具体的にはコア1440を有するコンピュータシステム1400は、1つまたは複数の有形のコンピュータ可読媒体で具体化されたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介したようにユーザがアクセス可能な大容量記憶装置のほか、コア内部大容量記憶装置1447またはROM 1445などの非一時的性質のコア1440の特定の記憶装置にも関連する媒体でありうる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに格納され、コア1440によって実行されうる。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含みうる。ソフトウェアは、コア1440、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM 1446に格納されたデータ構造の定義およびソフトウェアによって定義されたプロセスによる、そのようなデータ構造の変更を含む、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載の特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたはそれと一緒に動作することができる回路(例えば、アクセラレータ1444)に配線されたまたはそうでなければ具体化されたロジックの結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への参照は、適切な場合には、実行のためにソフトウェアを格納する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアおよびソフトウェアの任意の適切な組み合わせを包含する。
【0093】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る修正、置換、および様々な代替等価物がある。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0094】
100 通信システム
101 端末
102 端末
103 端末
104 端末
105 ネットワーク
201 ビデオソース、カメラ
202 エンコーダ
203 キャプチャサブシステム
204 ビデオビットストリーム
205 ストリーミングサーバ
206 ビデオビットストリームのコピー
207 ストリーミングクライアント
208 ビデオビットストリームのコピー
209 ディスプレイ
210 発信ビデオサンプルストリーム
211 ビデオデコーダ
212 ストリーミングクライアント
213 サンプルストリーム
300 デコーダ
301 チャネル
302 受信機
303 バッファメモリ
304 パーサ
305 スケーラ/逆変換ユニット
306 動き補償予測ユニット
307 イントラ画像予測ユニット
308 参照画像メモリ、参照画像バッファ
309 現在の画像
310 アグリゲータ
311 ループフィルタユニット
312 ディスプレイ
313 シンボル
400 エンコーダ、ビデオエンコーダ
401 ビデオソース
402 コントローラ
403 ソースコーダ
404 予測器
405 参照画像メモリ
406 デコーダ
407 符号化エンジン
408 エントロピーコーダ
409 送信機
410 ビデオシーケンス
411 通信チャネル
500 サンプルDASHクライアント処理モデル
600 メタデータトラックのサンプルの例
700 コンボ・インデックスセグメントの例
800 再同期インデックスセグメントの例
900 コンボ再同期インデックスセグメントの例
1000 フローチャート
1100 フローチャート
1200 サンプルエントリ
1300 シンタックス
1400 コンピュータシステム
1401 キーボード
1402 マウス
1403 トラックパッド
1405 ジョイスティック
1406 マイク
1407 カメラ
1408 スキャナー
1409 音声出力デバイス、スピーカー
1410 タッチスクリーン、スクリーン
1411 CD/DVD
1417 グラフィックスアダプタ
1420 CD/DVD ROM/RW
1422 サムドライブ
1423 ソリッドステートドライブ
1440 コア
1441 CPU
1442 GPU
1443 FPGA
1444 アクセラレータ
1445 ROM
1446 RAM
1447 内部大容量記憶装置
1448 システムバス
1450 周辺バス
1451 周辺バス
1498 通信ネットワーク
1499 ネットワークインターフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2022-04-21
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行するビデオ符号化の方法であって、
ビデオデータを取得するステップと、
前記ビデオデータに基づいて、セグメント帯域幅を示し、かつメディアアダプテーションセットの複数の整列されたセグメントの情報を含む、時限メタデータトラックを作成するステップであって、その結果、前記整列されたセグメントのそれぞれの期間情報およびサイズ情報が少なくとも1つのメタデータサンプルに含まれる、ステップと、
前記時限メタデータトラックが、複数のリプレゼンテーション(representations)のそれぞれについて、入力バッファに対するオーバーフローを少なくとも1つ示しているか否かに基づいて、前記ビデオデータの前記複数のリプレゼンテーションのうちの1つに切り替えるステップと、
前記複数のリプレゼンテーションのうちの前記1つをクライアントに配信するステップと
を含む、方法。
【請求項2】
前記少なくとも1つのメタデータサンプルにおける前記整列されたセグメントの、少なくとも1つのセグメントのメディアチャンクの特徴、および前記メディアチャンクのサイズをシグナリングする、再同期チャックインデックスを作成するステップと、
前記メタデータサンプルを前記メディアチャンクとともに徐々に生成するステップと、
前記メタデータサンプルを前記クライアントに徐々に配信するステップと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記時限メタデータトラックは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの相対品質をさらに示し、
前記複数のリプレゼンテーションのうちの前記1つに切り替えるステップは、前記相対品質の比較にさらに基づく、
請求項2に記載の方法。
【請求項4】
前記整列されたセグメントおよびメディアチャンクのいずれかのうちの少なくとも1つの期間が分かっているか否かをシグナリングするステップ
をさらに含み、
前記期間が分かっているときは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの前記少なくとも1つ当たりの正確な期間として、前記期間がシグナリングされ、
前記期間が未知のときは、前記整列されたセグメントおよびメディアチャンクのいずれかのうちの前記少なくとも1つ当たりの変動量とともに、前記期間がシグナリングされる、
請求項2に記載の方法。
【請求項5】
前記整列されたセグメントのインデックス情報を組み合わせて、組み合わせインデックスセグメントを作成するステップと、
前記組み合わせインデックスセグメントを前記クライアントに配信するステップと
をさらに含む、請求項1に記載の方法。
【請求項6】
前記メディアアダプテーションセットの前記整列されたセグメントのチャック再同期情報を組み合わせて、コンボ再同期インデックスセグメントを作成するステップと、
前記コンボ再同期インデックスセグメントを前記クライアントに配信するステップと
をさらに含む、請求項5に記載の方法。
【請求項7】
符号化されている前記整列されたセグメントのうちの1つ以外の、前記整列されたセグメントのすべてに対する前記組み合わせインデックスセグメントのフォーマットを含む、混合コンボ・インデックストラックを作成するステップ
をさらに含み、
前記混合コンボ・インデックストラックは、前記整列されたセグメントのうちの前記1つに対する、前記コンボ再同期インデックスセグメントのフォーマットをさらに含む、
請求項6に記載の方法。
【請求項8】
前記混合コンボ・インデックストラックは並列メタデータトラックである、
請求項7に記載の方法。
【請求項9】
前記ビデオデータの前記複数のリプレゼンテーションのうちの前記1つに切り替えるステップは、前記リプレゼンテーションの帯域幅を判定することにさらに基づく、
請求項1に記載の方法。
【請求項10】
前記時限メタデータトラックが少なくとも前記入力バッファに対する前記オーバーフローを示すか否かは、前記入力バッファの現在の占有量を判定することを含む、
請求項1に記載の方法。
【請求項11】
ビデオストリーミング用の装置であって、
少なくとも1つのプロセッサに請求項1~10のいずれか一項に記載の方法を実行させるためのコンピュータプログラムコードを記憶するように構成された、少なくとも1つのメモリと、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードに命令された通りに動作するように構成された、少なくとも1つのプロセッサと
を備え、装置。
【請求項12】
コンピュータに請求項1~10のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】