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

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

▶ クゥアルコム・インコーポレイテッドの特許一覧

特表2022-551436DASHセグメントの再同期点におけるランダムアクセス
<>
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図1
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図2
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図3
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図4
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図5
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図6
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図7
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図8
  • 特表-DASHセグメントの再同期点におけるランダムアクセス 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-09
(54)【発明の名称】DASHセグメントの再同期点におけるランダムアクセス
(51)【国際特許分類】
   H04N 21/434 20110101AFI20221202BHJP
   H04N 21/435 20110101ALI20221202BHJP
   H04N 5/765 20060101ALI20221202BHJP
【FI】
H04N21/434
H04N21/435
H04N5/765
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022519566
(86)(22)【出願日】2020-10-02
(85)【翻訳文提出日】2022-03-28
(86)【国際出願番号】 US2020054026
(87)【国際公開番号】W WO2021067768
(87)【国際公開日】2021-04-08
(31)【優先権主張番号】62/909,642
(32)【優先日】2019-10-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/061,152
(32)【優先日】2020-10-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(72)【発明者】
【氏名】ストックハマー、トーマス
(72)【発明者】
【氏名】ブアジジ、イメード
(72)【発明者】
【氏名】ジア、ワカール
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164GA02
5C164SB08S
5C164SB15S
5C164UB10P
5C164UB11P
(57)【要約】
メディアを取り出すためのデバイスは、メディアプレゼンテーションのメディアデータを記憶するように構成されたメモリと、ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すことと、再同期点はセグメントの開始以外の位置にあり、ビットストリームのメディアデータのコンテナ解析が開始され得る点を表す、再同期点において開始する表現のメディアデータを取り出す要求を形成するためにマニフェストファイルを使用することと、再同期点において開始するメディアプレゼンテーションのメディアデータの取出しを開始する要求を送ることと、取り出されたメディアデータを提示することとを行うように構成される、回路内に実装された1つまたは複数のプロセッサとを含む。
【特許請求の範囲】
【請求項1】
メディアデータを取り出す方法であって、
ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示す前記メディアプレゼンテーションのマニフェストファイルを取り出すことと、前記再同期点は前記セグメントの開始以外の位置にあり、前記ビットストリームの前記メディアデータの前記コンテナ解析が開始され得る点を表す、
前記マニフェストファイルを使用して、前記再同期点において開始する前記表現の前記メディアデータを取り出す要求を形成することと、
前記再同期点において開始する前記メディアプレゼンテーションの前記メディアデータの取出しを開始する前記要求を送ることと、
前記取り出されたメディアデータを提示することと
を備える、方法。
【請求項2】
前記取り出されたメディアデータを提示することは、前記再同期点において前記取り出されたメディアデータのファイルレベルメディアデータコンテナを解析することを備える、請求項1に記載の方法。
【請求項3】
解析することは、
前記メディアプレゼンテーションのランダムアクセスポイント(RAP)を検出するまで前記ファイルレベルメディアデータコンテナを解析することと、
前記RAPをメディアデコーダに送ることと
を備える、請求項2に記載の方法。
【請求項4】
前記再同期点はチャンク境界の開始を備える、請求項1に記載の方法。
【請求項5】
前記チャンク境界は、0個または1個のセグメントタイプ値と、0個または1個の発生器基準時間値と、0個以上のイベントメッセージと、少なくとも1つのムービーフラグメントボックスと、少なくとも1つのメディアデータコンテナボックスとを備えるチャンクの開始を備える、請求項2に記載の方法。
【請求項6】
前記マニフェストファイルは、前記表現の前記セグメント中の前記再同期点の利用可能性を示す、請求項1に記載の方法。
【請求項7】
前記再同期点は、前記セグメントの開始以外の位置にある、請求項6に記載の方法。
【請求項8】
前記マニフェストファイルは、前記再同期点において実行され得るランダムアクセスのタイプを示す、請求項6に記載の方法。
【請求項9】
前記マニフェストファイルは、前記再同期点の位置およびタイミングと、前記位置およびタイミング情報が正確であるかまたは推定であるかとを示す、請求項6に記載の方法。
【請求項10】
前記マニフェストファイルはメディアプレゼンテーション記述(MPD)を備える、請求項1に記載の方法。
【請求項11】
メディアデータを取り出すためのデバイスであって、
メディアプレゼンテーションのメディアデータを記憶するように構成されたメモリと、
ビットストリームのメディアデータのコンテナ解析が前記メディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示す前記メディアプレゼンテーションのマニフェストファイルを取り出すことと、前記再同期点は前記セグメントの開始以外の位置にあり、前記ビットストリームの前記メディアデータの前記コンテナ解析が開始され得る点を表す、
前記再同期点において開始する前記表現の前記メディアデータを取り出す要求を形成するために前記マニフェストファイルを使用することと、
前記再同期点において開始する前記メディアプレゼンテーションの前記メディアデータの取出しを開始する前記要求を送ることと、
前記取り出されたメディアデータを提示することと
を行うように構成される、回路内に実装された1つまたは複数のプロセッサと
を備える、デバイス。
【請求項12】
前記取り出されたメディアデータを提示するために、前記1つまたは複数のプロセッサは、前記再同期点において前記取り出されたメディアデータのファイルレベルメディアデータコンテナを解析するように構成される、請求項11に記載のデバイス。
【請求項13】
前記ファイルレベルメディアデータコンテナを解析するために、前記1つまたは複数のプロセッサは、
前記メディアプレゼンテーションのランダムアクセスポイント(RAP)を検出するまで前記ファイルレベルメディアデータコンテナを解析することと、
前記RAPをメディアデコーダに送ることと
を行うように構成される、請求項12に記載のデバイス。
【請求項14】
前記再同期点はチャンク境界の開始を備える、請求項11に記載のデバイス。
【請求項15】
前記チャンク境界は、0個または1個のセグメントタイプ値と、0個または1個の発生器基準時間値と、0個以上のイベントメッセージと、少なくとも1つのムービーフラグメントボックスと、少なくとも1つのメディアデータコンテナボックスとを備えるチャンクの開始を備える、請求項14に記載のデバイス。
【請求項16】
前記マニフェストファイルは、前記表現の前記セグメント中の前記再同期点の利用可能性を示す、請求項11に記載のデバイス。
【請求項17】
前記再同期点は、前記セグメントの開始以外の位置にある、請求項16に記載のデバイス。
【請求項18】
前記マニフェストファイルは、前記再同期点において実行され得るランダムアクセスのタイプを示す、請求項16に記載のデバイス。
【請求項19】
前記マニフェストファイルは、前記再同期点の位置およびタイミングと、前記位置およびタイミング情報が正確であるかまたは推定であるかとを示す、請求項16に記載のデバイス。
【請求項20】
前記マニフェストファイルはメディアプレゼンテーション記述(MPD)を備える、請求項11に記載のデバイス。
【請求項21】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されたとき、プロセッサに、
ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示す前記メディアプレゼンテーションのマニフェストファイルを取り出すことと、前記再同期点は前記セグメントの開始以外の位置にあり、前記ビットストリームの前記メディアデータの前記コンテナ解析が開始され得る点を表す、
前記再同期点において開始する前記表現の前記メディアデータを取り出す要求を形成するために前記マニフェストファイルを使用することと、
前記再同期点において開始する前記メディアプレゼンテーションの前記メディアデータの取出しを開始する前記要求を送ることと、
前記取り出されたメディアデータを提示することと
を行わせる、コンピュータ可読記憶媒体。
【請求項22】
前記再同期点はチャンク境界の開始を備える、請求項21に記載のコンピュータ可読記憶媒体。
【請求項23】
前記チャンク境界は、0個または1個のセグメントタイプ値と、0個または1個の発生器基準時間値と、0個以上のイベントメッセージと、少なくとも1つのムービーフラグメントボックスと、少なくとも1つのメディアデータコンテナボックスとを備えるチャンクの開始を備える、請求項22に記載のコンピュータ可読記憶媒体。
【請求項24】
前記マニフェストファイルは、前記表現の前記セグメント中の前記再同期点の利用可能性を示す、請求項21に記載のコンピュータ可読記憶媒体。
【請求項25】
前記再同期点は、前記セグメントの開始以外の位置にある、請求項24に記載のコンピュータ可読記憶媒体。
【請求項26】
前記マニフェストファイルは、前記再同期点において実行され得るランダムアクセスのタイプを示す、請求項24に記載のコンピュータ可読記憶媒体。
【請求項27】
前記マニフェストファイルは、前記再同期点の位置およびタイミングと、前記位置およびタイミング情報が正確であるかまたは推定であるかとを示す、請求項24に記載のコンピュータ可読記憶媒体。
【請求項28】
前記マニフェストファイルはメディアプレゼンテーション記述(MPD)を備える、請求項21に記載のコンピュータ可読記憶媒体。
【請求項29】
メディアデータを取り出すためのデバイスであって、
ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示す前記メディアプレゼンテーションのマニフェストファイルを取り出すための手段と、前記再同期点は前記セグメントの開始以外の位置にあり、前記ビットストリームの前記メディアデータの前記コンテナ解析が開始され得る点を表す、
前記マニフェストファイルを使用して、前記再同期点において開始する前記表現の前記メディアデータを取り出す要求を形成するための手段と、
前記再同期点において開始する前記メディアプレゼンテーションの前記メディアデータの取出しを開始する前記要求を送るための手段と、
前記取り出されたメディアデータを提示するための手段と
を備える、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本出願は、2020年10月1日に出願された米国出願第17/061,152号、2019年10月2日に出願された米国仮出願第62/909,642号の利益を主張し、その内容全体が参照により本明細書に組み込まれる。
【0002】
[0002]本開示は、符号化ビデオデータの記憶およびトランスポートに関する。
【背景技術】
【0003】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、MPEG-2、MPEG-4、ITU-T H.263またはITU-T H.264/MPEG-4、Part10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、ITU-T H.265(高効率ビデオコーディング(HEVC:High Efficiency Video Coding)とも呼ばれる)によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などの、ビデオ圧縮技法を実装する。
【0004】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的予測および/または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスは、マクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラコード化(I)フレームまたはスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インターコード化(PまたはB)フレームまたはスライス中のマクロブロックは、同じフレームもしくはスライス中の隣接マクロブロックに関する空間的予測、または他の参照フレームに関する時間的予測を使用し得る。
【0005】
[0005]ビデオデータが符号化された後、ビデオデータは送信または記憶のためにパケット化され得る。ビデオデータは、AVCなどの、国際標準化機構(ISO)ベースのメディアファイルフォーマットおよびその拡張などの、様々な規格のいずれかに準拠するビデオファイルへと組み立てられ得る。
【発明の概要】
【0006】
[0006]概して、本開示は、動的適応ストリーミングオーバーHTTP(DASH)および/または共通メディアアクセスフォーマット(CMAF)において、セグメントの開始時だけでなく、セグメント内の他の場所で(たとえば、ランダムアクセスのために)セグメントのデータにアクセスするための技法について説明する。本開示はまた、セグメント内でランダムアクセスを実行する能力をシグナリングすることに関する技法について説明する。本開示は、これらの技法に関する様々な使用事例について説明する。たとえば、本開示は、DASHおよびISOベースメディアファイルフォーマット(BMFF)における再同期(resync)点と再同期点のシグナリングとを定義する。
【0007】
[0007]一例では、メディアデータを取り出す方法は、ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すことと、再同期点はセグメントの開始以外の位置にあり、ビットストリームのメディアデータのコンテナ解析が開始され得る点を表す、マニフェストファイルを使用して、再同期点において開始する表現のメディアデータを取り出す要求を形成することと、再同期点において開始するメディアプレゼンテーションのメディアデータの取出しを開始する要求を送ることと、取り出されたメディアデータを提示することとを含む。
【0008】
[0008]別の例では、メディアデータを取り出すためのデバイスは、メディアプレゼンテーションのメディアデータを記憶するように構成されたメモリと、ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すことと、再同期点はセグメントの開始以外の位置にあり、ビットストリームのメディアデータのコンテナ解析が開始され得る点を表す、再同期点において開始する表現のメディアデータを取り出す要求を形成するためにマニフェストファイルを使用することと、再同期点において開始するメディアプレゼンテーションのメディアデータの取出しを開始する要求を送ることと、取り出されたメディアデータを提示することとを行うように構成される、回路内に実装された1つまたは複数のプロセッサとを含む。
【0009】
[0009]別の例では、コンピュータ可読記憶媒体は、実行されたとき、ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すことと、再同期点はセグメントの開始以外の位置にあり、ビットストリームのメディアデータのコンテナ解析が開始され得る点を表す、再同期点において開始する表現のメディアデータを取り出す要求を形成するためにマニフェストファイルを使用することと、再同期点において開始するメディアプレゼンテーションのメディアデータの取出しを開始する要求を送ることと、取り出されたメディアデータを提示することとをプロセッサに行わせる命令をその上に記憶した。
【0010】
[0010]別の例では、メディアデータを取り出すためのデバイスは、ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すための手段と、再同期点はセグメントの開始以外の位置にあり、ビットストリームのメディアデータのコンテナ解析が開始され得る点を表す、マニフェストファイルを使用して、再同期点において開始する表現のメディアデータを取り出す要求を形成するための手段と、再同期点において開始するメディアプレゼンテーションのメディアデータの取出しを開始する要求を送るための手段と、取り出されたメディアデータを提示するための手段とを含む。
【0011】
[0011]1つまたは複数の例の詳細が添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0012】
図1】[0012]ネットワークを介してメディアデータをストリーミングするための技法を実装する例示的なシステムを示すブロック図。
図2】[0013]取出しユニットの構成要素の例示的なセットを示すブロック図。
図3】[0014]例示的なマルチメディアコンテンツの要素を示す概念図。
図4】[0015]表現のセグメントに対応し得る、例示的なビデオファイルの要素を示すブロック図。
図5】[0016]本開示による、第1の使用事例において使用され得る例示的な低レイテンシアーキテクチャを示す概念図。
図6】[0017]図5に関して説明された使用事例の一例をさらに詳細に示す概念図。
図7】[0018]ブロードキャストプロトコルのコンテキストにおいてDASHおよびCMAFランダムアクセスを使用する例示的な第2の仕様事例を示す概念図。
図8】[0019]マニフェストファイル中のストリームアクセスポイント(SAP)の例示的なシグナリングを示す概念図。
図9】[0020]本開示の技法による、メディアデータを取り出す例示的な方法を示すフローチャート。
【発明を実施するための形態】
【0013】
[0021]本開示の技法は、ISOベースメディアファイルフォーマット、スケーラブルビデオコーディング(SVC)ファイルフォーマット、アドバンストビデオコーディング(AVC)ファイルフォーマット、第3世代パートナーシッププロジェクト(3GPP(登録商標))ファイルフォーマット、および/もしくはマルチビュービデオコーディング(MVC)ファイルフォーマット、または他の同様のビデオファイルフォーマットのうちのいずれかに従ってカプセル化されたビデオデータに準拠するビデオファイルに適用され得る。
【0014】
[0022]HTTPストリーミングでは、頻繁に使用される動作は、HEADと、GETと、部分GETとを含む。HEAD動作は、所与のユニフォームリソースロケータ(URL)またはユニフォームリソースネーム(URN)に関連付けられたペイロードを取り出すことなく、URLまたはURNに関連付けられたファイルのヘッダを取り出す。GET動作は、所与のURLまたはURNに関連付けられたファイル全体を取り出す。部分GET動作は、入力パラメータとしてバイト範囲を受信し、ファイルの連続するいくつかのバイトを取り出し、バイトの数は、受信されたバイト範囲に対応する。したがって、部分GET動作は1つまたは複数の個々のムービーフラグメントを得ることができるので、HTTPストリーミングのためのムービーフラグメントが与えられ得る。ムービーフラグメント中に、異なるトラックのいくつかのトラックフラグメントが存在し得る。HTTPストリーミングでは、メディアプレゼンテーションは、クライアントがアクセス可能であるデータの構造化された集合であり得る。クライアントは、ストリーミングサービスをユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。
【0015】
[0023]HTTPストリーミングを使用して3GPPデータをストリーミングする例では、マルチメディアコンテンツのビデオおよび/またはオーディオデータに関する複数の表現が存在し得る。以下で説明されるように、異なる表現は、異なるコーディング特性(たとえば、ビデオコーディング規格の異なるプロファイルまたはレベル)、異なるコーディング規格もしくはコーディング規格の拡張(マルチビューおよび/またはスケーラブル拡張など)、または異なるビットレートに対応し得る。そのような表現のマニフェストは、メディアプレゼンテーション記述(MPD)データ構造において定義され得る。メディアプレゼンテーションは、HTTPストリーミングクライアントデバイスがアクセス可能であるデータの構造化された集合に対応し得る。HTTPストリーミングクライアントデバイスは、ストリーミングサービスをクライアントデバイスのユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。メディアプレゼンテーションは、MPDの更新を含み得るMPDデータ構造中に記述され得る。
【0016】
[0024]メディアプレゼンテーションは、1つまたは複数の期間のシーケンスを含み得る。各期間は、次の期間の開始まで、または最後の期間の場合、メディアプレゼンテーションの終了まで継続し得る。各期間は、同じメディアコンテンツにおいて1つまたは複数の表現を含み得る。表現は、オーディオ、ビデオ、タイムドテキスト、または他のそのようなデータのいくつかの代替的な符号化バージョンのうちの1つであり得る。表現は、符号化タイプによって、たとえば、ビデオデータの場合、ビットレート、解像度、および/またはコーデックによって、オーディオデータの場合、ビットレート、言語、および/またはコーデックによって異なり得る。表現という用語は、マルチメディアコンテンツの特定の期間に対応し、特定の方法で符号化された符号化オーディオデータまたはビデオデータのセクションを指すために使用され得る。
【0017】
[0025]特定の期間の表現は、表現が属する適応セットを示すMPD中の属性によって示されるグループに割り当てられ得る。同じ適応セット中の表現は、一般に、クライアントデバイスが、たとえば、帯域幅適応を実行するために、これらの表現の間で動的におよびシームレスに切り替えることができるという点で、互いに代替物と見なされる。たとえば、特定の期間のビデオデータの各表現は、対応する期間のマルチメディアコンテンツのビデオデータまたはオーディオデータなどのメディアデータを提示するために復号するのに表現のいずれかが選択され得るように、同じ適応セットに割り当てられ得る。1期間内のメディアコンテンツは、いくつかの例では、存在する場合、グループ0からの1つの表現、または各非ゼログループからの多くとも1つの表現の組合せのいずれかによって表され得る。期間の各表現についてのタイミングデータは、期間の開始時間に対して表現され得る。
【0018】
[0026]表現は、1つまたは複数のセグメントを含み得る。各表現は初期化セグメントを含むことがあり、または表現の各セグメントは自己初期化していることがある。存在するとき、初期化セグメントは、表現にアクセスするための初期化情報を含み得る。概して、初期化セグメントは、メディアデータを含まない。セグメントは、ユニフォームリソースロケータ(URL)、ユニフォームリソースネーム(URN)、またはユニフォームリソース識別子(URI)などの識別子によって一意に参照され得る。MPDは、各セグメントに識別子を与え得る。いくつかの例では、MPDはまた、URL、URN、またはURIによってアクセス可能なファイル内のセグメントのためのデータに対応し得るバイト範囲をrange属性の形態で与え得る。
【0019】
[0027]異なる表現は、異なるタイプのメディアデータの実質的に同時の取出しのために選択され得る。たとえば、クライアントデバイスは、セグメントを取り出す、オーディオ表現と、ビデオ表現と、タイムドテキスト表現とを選択し得る。いくつかの例では、クライアントデバイスは、帯域幅適応を実行するための特定の適応セットを選択し得る。すなわち、クライアントデバイスは、ビデオ表現を含む適応セット、オーディオ表現を含む適応セット、および/またはタイムドテキストを含む適応セットを選択し得る。代替的に、クライアントデバイスは、あるタイプのメディア(たとえば、ビデオ)の適応セットを選択し、他のタイプのメディア(たとえば、オーディオおよび/またはタイムドテキスト)の表現を直接選択し得る。
【0020】
[0028]低レイテンシ動的適応ストリーミングオーバーHTTP(LL-DASH)は、低レイテンシでDASHクライアントにメディアデータを提供することを試みるDASHのためのプロファイルである。LL-DASHのためのいくつかの技術が、以下に簡単に要約される。
・符号化は断片化されたISO BMFFファイルに基づき、典型的には、CMAFフラグメントおよびCMAFチャンクが仮定される。
・各チャンクは、DASHパッケージャによって個々にアクセス可能であり、オリジンサーバにアップロードされるHTTPチャンクにマッピングされる。この1対1マッピングは、低レイテンシ動作のための推奨であるが、要件ではない。クライアントは、この1対1マッピングがクライアントに保存されていると決して仮定すべきでない。
・セグメントが完成される前にクライアントがセグメントにアクセスすることができるように、部分的に利用可能なセグメントの低遅延プロトコル、たとえばHTTPチャンク転送符号化が使用される。利用可能開始時間は、この機能を利用することができるクライアントのために調整される。
・次の2つの動作モードが許可される。
【0021】
○簡単なライブ提供物が、@durationシグナリングおよび$Number$ベースのテンプレート化を適用することによって使用される。
【0022】
○$Number$または$Time$のいずれかとしてSegmentTimelineを有するメインライブ提供物は、DASH第4版において提案された更新によってサポートされる。
・MPD有効性満了イベントは、使用され得るが、クライアントによって理解されるのに必須ではない。
・一般に、帯域内イベントメッセージは存在し得るが、クライアントは、任意のチャンクにおいてではなく、セグメントの開始時にそれらを回復することのみが期待される。DASHパッケージャは、チャンク境界において、またはタイムドメタデータトラックを使用して完全に非同期的に、エンコーダから通知を受信し得る。
・単一のメディアプレゼンテーションにおいて、メディアプレゼンテーションの1期間内に、チャンク化された低レイテンシモードを使用している適応セットと、異なるメディアタイプに短いセグメントを使用する適応セットとを有することが許可される。
・メディアパイプライン上のDASHクライアントの一定量の再生制御は、利用可能であり得、DASHクライアントのロバスト性のために使用されるべきである。たとえば、再生は、ある時間期間の間、加速または減速され得るか、またはDASHクライアントは、セグメントへのシークを実行し得る。
・システムは、標準HTTP/1.1で実行可能であるように設計されるが、低レイテンシ動作の改善のためにHTTP拡張および他のプロトコルにも適用可能であるべきである。
・MPDは、サービス構成およびサービスプロパティ(たとえば、サービスのターゲットレイテンシを含む)における明示的なシグナリングを含む。
・MPDおよび場合によってはセグメントも、DASHクライアントが、ライブと比較して現在のレイテンシを測定し、サービス期待値を満たすように調整することを可能にするアンカー時間を含む。
・たとえば、動作上のロバスト性は、たとえば、エンコーダ故障の場合に対象とされる。
・既存のDRMおよび暗号化モードは、提案された低レイテンシ動作に適合する。
【0023】
[0029]上記の高レベルの概要に基づいて、次のものが定義される。セグメントは、セグメント境界だけでなく、セグメント内でも表現にランダムにアクセスするために使用され得る。そのようなランダムアクセスが与えられる場合、これは、MPDにおいてシグナリングされるべきである。
【0024】
[0030]図1は、ネットワークを介してメディアデータをストリーミングするための技法を実装する例示的なシステム10を示すブロック図である。この例では、システム10は、コンテンツ作成デバイス20と、サーバデバイス60と、クライアントデバイス40とを含む。クライアントデバイス40およびサーバデバイス60は、インターネットを備え得るネットワーク74によって通信可能に結合される。いくつかの例では、コンテンツ作成デバイス20およびサーバデバイス60も、ネットワーク74または別のネットワークによって結合され得るか、あるいは直接通信可能に結合され得る。いくつかの例では、コンテンツ作成デバイス20およびサーバデバイス60は同じデバイスを備え得る。
【0025】
[0031]コンテンツ作成デバイス20は、図1の例では、オーディオソース22とビデオソース24とを備える。オーディオソース22は、たとえば、オーディオエンコーダ26によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース22は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータ化されたシンセサイザなどのオーディオデータ生成器、またはオーディオデータの任意の他のソースを備え得る。ビデオソース24は、ビデオエンコーダ28によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、コンピュータグラフィックスソースなどのビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。コンテンツ作成デバイス20は、必ずしもすべての例においてサーバデバイス60に通信可能に結合されるとは限らないが、サーバデバイス60によって読み取られる別個のメディアにマルチメディアコンテンツを記憶し得る。
【0026】
[0032]生のオーディオおよびビデオデータは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオエンコーダ26および/またはビデオエンコーダ28によって符号化される前にデジタル化され得る。オーディオソース22は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオソース24は、通話参加者のビデオデータを取得し得る。他の例では、オーディオソース22は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオソース24は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明される技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオデータ、またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオデータに適用され得る。
【0027】
[0033]ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれるビデオソース24によってキャプチャされた(または生成された)ビデオデータと同時に、オーディオソース22によってキャプチャされた(または生成された)オーディオデータを含むオーディオフレームである。たとえば、通話参加者が一般に話すことによってオーディオデータを生成する間、オーディオソース22はオーディオデータをキャプチャし、同時に、すなわち、オーディオソース22がオーディオデータをキャプチャしている間、ビデオソース24は通話参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、1つまたは複数の特定のビデオフレームに時間的に対応し得る。したがって、ビデオフレームに対応するオーディオフレームは、一般に、オーディオデータとビデオデータとが同時にキャプチャされる状況、およびオーディオフレームとビデオフレームとが、それぞれ、同時にキャプチャされたオーディオデータとビデオデータとを備える状況に対応する。
【0028】
[0034]いくつかの例では、オーディオエンコーダ26は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化することができ、同様に、ビデオエンコーダ28は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化することができる。そのような例では、ビデオフレームに対応するオーディオフレームは、あるタイムスタンプを備えるオーディオフレームと、同じタイムスタンプを備えるビデオフレームとを備え得る。コンテンツ作成デバイス20は、オーディオエンコーダ26および/またはビデオエンコーダ28がそこからタイムスタンプを生成し得るか、あるいはオーディオソース22およびビデオソース24がオーディオデータとビデオデータとをそれぞれタイムスタンプに関連付けるために使用し得る、内部クロックを含み得る。
【0029】
[0035]いくつかの例では、オーディオソース22は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ26に送ることができ、ビデオソース24は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ28に送ることができる。いくつかの例では、オーディオエンコーダ26は、必ずしもオーディオデータが記録された絶対時間を示すことなしに、符号化オーディオデータの相対的時間順序を示すために、符号化オーディオデータ中のシーケンス識別子を符号化し得、同様に、ビデオエンコーダ28も、符号化ビデオデータの相対的時間順序を示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、または場合によってはタイムスタンプと相関し得る。
【0030】
[0036]オーディオエンコーダ26は、一般に符号化オーディオデータのストリームを生成するが、ビデオエンコーダ28は、符号化ビデオデータのストリームを生成する。データの各個々のストリームは(オーディオかビデオかにかかわらず)エレメンタリストリームと呼ばれることがある。エレメンタリストリームは、表現のデジタル的にコード化された(場合によっては圧縮された)単一の構成要素である。たとえば、表現のコード化ビデオまたはオーディオ部分は、エレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム(PES)に変換され得る。同じ表現内では、1つのエレメンタリストリームに属するPESパケットを他のものから区別するためにストリームIDが使用され得る。エレメンタリストリームの基本データ単位は、パケット化エレメンタリストリーム(PES)パケットである。したがって、コーディングされたビデオデータは、一般にエレメンタリビデオストリームに対応する。同様に、オーディオデータは、1つまたは複数のそれぞれのエレメンタリストリームに対応する。
【0031】
[0037]ITU-T H.264/AVCおよび来るべき高効率ビデオコーディング(HEVC)規格などの、多くのビデオコーディング規格は、シンタックスと、セマンティクスと、エラーのないビットストリームのための復号プロセスとを定義し、これらのいずれも特定のプロファイルまたはレベルに準拠する。ビデオコーディング規格は、通常、エンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオコーディング規格のコンテキストでは、「プロファイル」は、アルゴリズム、機能、またはツール、およびそれらに適用される制約のサブセットに対応する。たとえば、H.264規格によって定義される「プロファイル」は、H.264規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度と、ビットレートと、ブロック処理レートとに関連するデコーダメモリおよび計算などの、デコーダリソース消費の制限に対応する。プロファイルはprofile_idc(プロファイルインジケータ)値でシグナリングされ得るが、レベルはlevel_idc(レベルインジケータ)値でシグナリングされ得る。
【0032】
[0038]H.264規格は、たとえば、所与のプロファイルのシンタックスによって課される境界内で、復号されたピクチャの指定されたサイズなどの、ビットストリーム中のシンタックス要素によってとられる値に応じて、エンコーダおよびデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認める。H.264規格は、多くの適用例において、特定のプロファイル内でシンタックスのすべての仮定的使用を処理することが可能なデコーダを実装することが現実的でもなく、経済的でもないことをさらに認める。したがって、H.264規格は、ビットストリーム中のシンタックス要素の値に課された制約の規定されたセットとして「レベル」を定義する。これらの制約は、値に関する単純な制限であり得る。代替的に、これらの制約は、値の演算の組合せ(たとえば、ピクチャの幅×ピクチャの高さ×毎秒復号されるピクチャの数)に関する制約の形態をとり得る。H.264規格は、個々の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることをさらに規定している。
【0033】
[0039]プロファイルに準拠するデコーダは、通常、プロファイル中で定義されたすべての機能をサポートする。たとえば、コーディング機能として、Bピクチャコーディングは、H.264/AVCのベースラインプロファイルではサポートされないが、H.264/AVCの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能であるべきである。プロファイルおよびレベルの定義は、説明可能性のために役立ち得る。たとえば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より具体的には、H.264/AVCでは、レベルは、処理される必要があるマクロブロックの数に関する制限と、復号ピクチャバッファ(DPB)サイズと、コード化ピクチャバッファ(CPB)サイズと、垂直動きベクトル範囲と、2つの連続するMBごとの動きベクトルの最大数と、Bブロックが8×8ピクセル未満のサブマクロブロック区分を有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを決定し得る。
【0034】
[0040]図1の例では、コンテンツ作成デバイス20のカプセル化ユニット30は、ビデオエンコーダ28からのコード化ビデオデータを備えるエレメンタリストリームと、オーディオエンコーダ26からのコード化オーディオデータを備えるエレメンタリストリームとを受信する。いくつかの例では、ビデオエンコーダ28およびオーディオエンコーダ26は各々、符号化データからPESパケットを形成するためのパケッタイザを含み得る。他の例では、ビデオエンコーダ28およびオーディオエンコーダ26は各々、符号化データからPESパケットを形成するためのそれぞれのパケッタイザとインターフェースし得る。さらに他の例では、カプセル化ユニット30は、符号化オーディオデータと符号化ビデオデータとからPESパケットを形成するためのパケッタイザを含み得る。
【0035】
[0041]ビデオエンコーダ28は、様々なビットレートで、ピクセル解像度、フレームレート、様々なコーディング規格への準拠、様々なコーディング規格のための様々なプロファイルおよび/またはプロファイルのレベルへの準拠、(たとえば、2次元または3次元再生用の)1つまたは複数のビューを有する表現、あるいは他のそのような特性などの様々な特性を用いてマルチメディアコンテンツの異なる表現を生成するために、様々な方法でマルチメディアコンテンツのビデオデータを符号化し得る。本開示で使用される表現は、オーディオデータ、ビデオデータ、テキストデータ(たとえば、クローズドキャプション用)、または他のそのようなデータのうちの1つを備え得る。表現は、オーディオエレメンタリストリームまたはビデオエレメンタリストリームなどのエレメンタリストリームを含み得る。各PESパケットは、PESパケットが属するエレメンタリストリームを識別するstream_idを含み得る。カプセル化ユニット30は、エレメンタリストリームを様々な表現のビデオファイル(たとえば、セグメント)にアセンブルすることを担う。
【0036】
[0042]カプセル化ユニット30は、オーディオエンコーダ26およびビデオエンコーダ28から表現のエレメンタリストリームのPESパケットを受信し、PESパケットから対応するネットワークアブストラクションレイヤ(NAL)ユニットを形成する。コード化ビデオセグメントは、ビデオ電話、記憶、ブロードキャスト、またはストリーミングなどのアプリケーションに対処する「ネットワークフレンドリー」なビデオ表現を提供する、NALユニットに編成され得る。NALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと非VCL NALユニットとに分類され得る。VCLユニットは、コア圧縮エンジンを含み得、ブロック、マクロブロック、および/またはスライスレベルデータを含み得る。他のNALユニットは、非VCL NALユニットであり得る。いくつかの例では、通常は1次コード化ピクチャとして提示される、1つの時間インスタンス中のコード化ピクチャは、1つまたは複数のNALユニットを含み得るアクセスユニット中に含まれ得る。
【0037】
[0043]非VCL NALユニットは、特に、パラメータセットNALユニットとSEI NALユニットとを含み得る。パラメータセットは、(シーケンスパラメータセット(SPS)中の)シーケンスレベルヘッダ情報と、(ピクチャパラメータセット(PPS)中の)まれに変化するピクチャレベルヘッダ情報とを含み得る。パラメータセット(たとえば、PPSおよびSPS)がある場合、まれに変化する情報がシーケンスごとまたはピクチャごとに繰り返される必要はなく、したがって、コーディング効率が改善され得る。さらに、パラメータセットの使用は、重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要性を回避することができる。帯域外送信の例では、SEI NALユニットなどの、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。
【0038】
[0044]補足エンハンスメント情報(SEI)は、VCL NALユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関するプロセスを支援し得る情報を含み得る。SEIメッセージは、非VCL NALユニット中に含まれることがある。SEIメッセージは、一部の規格仕様の規範的部分であり、したがって、規格に準拠するデコーダ実装のために常に必須であるとは限らない。SEIメッセージは、シーケンスレベルSEIメッセージまたはピクチャレベルSEIメッセージであり得る。SVCの例におけるスケーラビリティ情報SEIメッセージ、MVCにおけるビュースケーラビリティ情報SEIメッセージなどのSEIメッセージ内に、何らかのシーケンスレベル情報が含まれる場合がある。これらの例示的なSEIメッセージは、たとえば、動作点の抽出およびそれらの動作点の特性に関する情報を搬送し得る。加えて、カプセル化ユニット30は、表現の特性を記述するメディアプレゼンテーション記述子(MPD)などの、マニフェストファイルを形成し得る。カプセル化ユニット30は、拡張可能マークアップ言語(XML)に従ってMPDをフォーマットし得る。
【0039】
[0045]カプセル化ユニット30は、マニフェストファイル(たとえば、MPD)とともに、マルチメディアコンテンツの1つまたは複数の表現についてのデータを出力インターフェース32に与え得る。出力インターフェース32は、ユニバーサルシリアルバス(USB)インターフェース、CDまたはDVDライターまたはバーナーなど、記憶媒体に書き込むためのネットワークインターフェースまたはインターフェース、磁気またはフラッシュ記憶媒体へのインターフェース、あるいはメディアデータを記憶または送信するための他のインターフェースを備え得る。カプセル化ユニット30は、マルチメディアコンテンツの表現の各々のデータを出力インターフェース32に与えることができ、出力インターフェース32は、ネットワーク送信または記憶媒体を介してそのデータをサーバデバイス60に送ることができる。図1の例では、サーバデバイス60は、様々なマルチメディアコンテンツ64を記憶する記憶媒体62を含み、各マルチメディアコンテンツ64は、それぞれのマニフェストファイル66と1つまたは複数の表現68A~68N(表現68)とを含む。いくつかの例では、出力インターフェース32はデータを直接ネットワーク74に送ることもできる。
【0040】
[0046]いくつかの例では、表現68は、適応セットに分離され得る。すなわち、表現68の様々なサブセットは、コーデック、プロファイルおよびレベル、解像度、ビューの数、セグメントのファイルフォーマット、表現を用いて表示されるべきテキストおよび/または復号され、たとえばスピーカーによって提示されるべきオーディオデータの言語または他の特性を識別し得るテキストタイプ情報、適応セット中の表現のためのシーンのカメラアングルまたは現実世界のカメラパースペクティブを記述し得るカメラアングル情報、特定の視聴者のコンテンツ適合性を記述するレーティング情報など、特性のそれぞれの共通のセットを含み得る。
【0041】
[0047]マニフェストファイル66は、特定の適応セットに対応する表現68のサブセットを示すデータと、適応セットについての共通の特性とを含み得る。マニフェストファイル66はまた、ビットレートなどの、適応セットの個々の表現についての個々の特性を表すデータを含み得る。このようにして、適応セットは、簡略化されたネットワーク帯域幅適応を可能にし得る。適応セット中の表現は、マニフェストファイル66の適応セット要素の子要素を使用して示され得る。
【0042】
[0048]サーバデバイス60は、要求処理ユニット70とネットワークインターフェース72とを含む。いくつかの例では、サーバデバイス60は、複数のネットワークインターフェースを含み得る。さらに、サーバデバイス60の機能のうちのいずれかまたはすべてが、ルータ、ブリッジ、プロキシデバイス、スイッチ、または他のデバイスなどの、コンテンツ配信ネットワークの他のデバイス上で実装され得る。いくつかの例では、コンテンツ配信ネットワークの中間デバイスは、マルチメディアコンテンツ64のデータをキャッシュし、サーバデバイス60の構成要素に実質的に準拠する構成要素を含み得る。概して、ネットワークインターフェース72は、ネットワーク74を介してデータを送信および受信するように構成される。
【0043】
[0049]要求処理ユニット70は、クライアントデバイス40などのクライアントデバイスから、記憶媒体62のデータについてのネットワーク要求を受信するように構成される。たとえば、要求処理ユニット70は、R.Fieldingらによる、RFC2616、「Hypertext Transfer Protocol-HTTP/1.1」、Network Working Group、IETF、1999年6月に記載されている、ハイパーテキスト転送プロトコル(HTTP)バージョン1.1を実装し得る。すなわち、要求処理ユニット70は、HTTP GET要求または部分GET要求を受信し、これらの要求に応答してマルチメディアコンテンツ64のデータを与えるように構成され得る。要求は、たとえば、セグメントのURLを使用して、表現68のうちの1つのセグメントを指定し得る。いくつかの例では、要求はまた、セグメントの1つまたは複数のバイト範囲を指定し、したがって部分GET要求を備え得る。要求処理ユニット70は、表現68のうちの1つのセグメントのヘッダデータを与えるためのHTTP HEAD要求をサービスするようにさらに構成され得る。いずれの場合も、要求処理ユニット70は、要求されたデータをクライアントデバイス40などの要求元デバイスに与えるための要求を処理するように構成され得る。
【0044】
[0050]追加または代替として、要求処理ユニット70は、eMBMSなどのブロードキャストまたはマルチキャストプロトコルを介してメディアデータを配信するように構成され得る。コンテンツ作成デバイス20は、説明した方法と実質的に同じ方法でDASHセグメントおよび/またはサブセグメントを作成し得るが、サーバデバイス60は、eMBMSまたは別のブロードキャストもしくはマルチキャストネットワークトランスポートプロトコルを使用して、これらのセグメントまたはサブセグメントを配信し得る。たとえば、要求処理ユニット70は、クライアントデバイス40からマルチキャストグループ参加要求を受信するように構成され得る。すなわち、サーバデバイス60は、マルチキャストグループに関連付けられたインターネットプロトコル(IP)アドレスを、クライアントデバイス40を含む、特定のメディアコンテンツ(たとえば、ライブイベントのブロードキャスト)に関連付けられたクライアントデバイスに広告することができる。今度は、クライアントデバイス40が、マルチキャストグループに参加するための要求をサブミットすることができる。この要求は、ネットワーク74全体にわたって、たとえば、ネットワーク74を構成するルータに伝播され得、その結果、ルータは、マルチキャストグループに関連付けられたIPアドレスを宛先とするトラフィックを、クライアントデバイス40などの加入クライアントデバイスに向けさせられる。
【0045】
[0051]図1の例に示されるように、マルチメディアコンテンツ64は、メディアプレゼンテーション記述(MPD)に対応し得るマニフェストファイル66を含む。マニフェストファイル66は、異なる代替表現68(たとえば、異なる品質を有するビデオサービス)の記述を含み得、その記述は、たとえば、表現68のコーデック情報と、プロファイル値と、レベル値と、ビットレートと、他の記述特性とを含み得る。クライアントデバイス40は、表現68のセグメントにアクセスする方法を決定するためにメディアプレゼンテーションのMPDを取り出し得る。
【0046】
[0052]詳細には、取出しユニット52は、ビデオデコーダ48の復号能力とビデオ出力44のレンダリング能力とを決定するために、クライアントデバイス40の構成データ(図示せず)を取り出し得る。構成データはまた、クライアントデバイス40のユーザによって選択された言語の選好、クライアントデバイス40のユーザによって設定された深度の選好に対応する1つまたは複数のカメラパースペクティブ、および/またはクライアントデバイス40のユーザによって選択されたレーティングの選好のうちのいずれかまたはすべてを含み得る。取出しユニット52は、たとえば、HTTP GET要求と部分GET要求とをサブミットするように構成されたウェブブラウザまたはメディアクライアントを備え得る。取出しユニット52は、クライアントデバイス40の1つまたは複数のプロセッサまたは処理ユニット(図示せず)によって実行されるソフトウェア命令に対応し得る。いくつかの例では、取出しユニット52に関して説明される機能のすべてまたは部分が、ハードウェア、あるいはハードウェア、ソフトウェア、および/またはファームウェアの組合せで実装され得、ソフトウェアまたはファームウェアの命令を実行するために必須のハードウェアが設けられ得る。
【0047】
[0053]取出しユニット52は、クライアントデバイス40の復号能力およびレンダリング能力を、マニフェストファイル66の情報によって示される表現68の特性と比較し得る。取出しユニット52は、最初に、表現68の特性を決定するためにマニフェストファイル66の少なくとも一部分を取り出し得る。たとえば、取出しユニット52は、1つまたは複数の適応セットの特性を記述するマニフェストファイル66の一部分を要求し得る。取出しユニット52は、クライアントデバイス40のコーディング能力およびレンダリング能力によって満たされ得る特性を有する表現68のサブセット(たとえば、適応セット)を選択し得る。次いで、取出しユニット52は、適応セット中の表現のビットレートを決定し、ネットワーク帯域幅の現在利用可能な量を決定し、ネットワーク帯域幅によって満たされ得るビットレートを有する表現のうちの1つからセグメントを取り出し得る。
【0048】
[0054]概して、より高いビットレート表現はより高品質のビデオ再生を生じ得るが、利用可能なネットワーク帯域幅が減少したとき、より低いビットレート表現は十分な品質のビデオ再生を与え得る。したがって、利用可能なネットワーク帯域幅が比較的高いとき、取出しユニット52は比較的高いビットレート表現からデータを取り出し得るが、利用可能なネットワーク帯域幅が低いとき、取出しユニット52は比較的低いビットレート表現からデータを取り出し得る。このようにして、クライアントデバイス40は、ネットワーク74上でマルチメディアデータをストリーミングしながら、ネットワーク74の変化するネットワーク帯域幅利用可能性にも適応し得る。
【0049】
[0055]追加または代替として、取出しユニット52は、eMBMSまたはIPマルチキャストなどのブロードキャストまたはマルチキャストネットワークプロトコルに従ってデータを受信するように構成され得る。そのような例では、取出しユニット52は、特定のメディアコンテンツに関連付けられたマルチキャストネットワークグループに参加するための要求をサブミットし得る。マルチキャストグループに参加した後、取出しユニット52は、サーバデバイス60またはコンテンツ作成デバイス20に発行されるさらなる要求なしに、マルチキャストグループのデータを受信し得る。取出しユニット52は、マルチキャストグループのデータがもはや必要とされないときに、たとえば、再生を停止するために、またはチャネルを異なるマルチキャストグループに変更するために、マルチキャストグループを離れるための要求をサブミットし得る。
【0050】
[0056]ネットワークインターフェース54は、選択された表現のセグメントのデータを受信し、取出しユニット52に与えることができ、取出しユニット52は、今度は、そのセグメントをカプセル化解除ユニット50に与えることができる。カプセル化解除ユニット50は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送ることができる。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力42に送り、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力44に送る。
【0051】
[0057]ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、取出しユニット52、およびカプセル化解除ユニット50は各々、適用可能な場合、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な好適な処理回路のいずれかとして実装され得る。ビデオエンコーダ28およびビデオデコーダ48の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。同様に、オーディオエンコーダ26およびオーディオデコーダ46の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合コーデックの一部として統合され得る。ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、取出しユニット52、および/またはカプセル化解除ユニット50を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【0052】
[0058]クライアントデバイス40、サーバデバイス60、および/またはコンテンツ作成デバイス20は、本開示の技法に従って動作するように構成され得る。例として、本開示は、クライアントデバイス40およびサーバデバイス60に関して、これらの技法について説明する。しかしながら、コンテンツ作成デバイス20は、サーバデバイス60の代わりに(またはそれに加えて)これらの技法を実行するように構成され得ることを理解されたい。
【0053】
[0059]カプセル化ユニット30は、NALユニットが属するプログラムを識別するヘッダ、ならびにペイロード、たとえば、オーディオデータ、ビデオデータ、またはNALユニットが対応するトランスポートまたはプログラムストリームを記述するデータを備える、NALユニットを形成し得る。たとえば、H.264/AVCでは、NALユニットは1バイトのヘッダと変動するサイズのペイロードとを含む。そのペイロード中にビデオデータを含むNALユニットは、様々なグラニュラリティレベルのビデオデータを備え得る。たとえば、NALユニットは、ビデオデータのブロック、複数のブロック、ビデオデータのスライス、またはビデオデータのピクチャ全体を備え得る。カプセル化ユニット30は、エレメンタリストリームのPESパケットの形態でビデオエンコーダ28から符号化ビデオデータを受信し得る。カプセル化ユニット30は、各エレメンタリストリームを対応するプログラムに関連付け得る。
【0054】
[0060]カプセル化ユニット30はまた、複数のNALユニットからアクセスユニットをアセンブルし得る。概して、アクセスユニットは、ビデオデータのフレームを表すための1つまたは複数のNALユニットと、そのフレームに対応するオーディオデータが利用可能なとき、そのようなオーディオデータとを備え得る。アクセスユニットは、概して、1つの出力時間インスタンスにわたるすべてのNALユニット、たとえば1つの時間インスタンスにわたるすべてのオーディオデータおよびビデオデータを含む。たとえば、各ビューが20フレーム毎秒(fps)のフレームレートを有する場合、各時間インスタンスは0.05秒の時間間隔に対応し得る。この時間間隔中に、同じアクセスユニット(同じ時間インスタンス)のすべてのビューの固有のフレームは同時にレンダリングされ得る。一例では、アクセスユニットは、1次コード化ピクチャとして提示され得る、1つの時間インスタンス中のコード化ピクチャを備え得る。
【0055】
[0061]したがって、アクセスユニットは、共通の時間インスタンスのすべてのオーディオフレームおよびビデオフレーム、たとえば、時間Xに対応するすべてのビューを備え得る。本開示はまた、特定のビューの符号化ピクチャを「ビュー構成要素」と呼ぶ。すなわち、ビュー構成要素は、特定の時間における特定のビューの符号化ピクチャ(またはフレーム)を備え得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのビュー構成要素を備えるものと定義され得る。アクセスユニットの復号順序は、必ずしも出力順序または表示順序と同じである必要はない。
【0056】
[0062]メディアプレゼンテーションは、異なる代替表現(たとえば、異なる品質を有するビデオサービス)の記述を含み得るメディアプレゼンテーション記述(MPD)を含み得、その記述は、たとえば、コーデック情報と、プロファイル値と、レベル値とを含み得る。MPDは、マニフェストファイル66などのマニフェストファイルの一例である。様々なプレゼンテーションのムービーフラグメントにアクセスする方法を決定するために、クライアントデバイス40は、メディアプレゼンテーションのMPDを取り出し得る。ムービーフラグメントは、ビデオファイルのムービーフラグメントボックス(moofボックス)中に配置され得る。
【0057】
[0063]マニフェストファイル66(たとえば、MPDを備え得る)は、表現68のセグメントの利用可能性を広告し得る。すなわち、MPDは、表現68のうちの1つの第1のセグメントが利用可能になる壁時計時間を示す情報と、表現68内のセグメントの持続時間を示す情報とを含み得る。このようにして、クライアントデバイス40の取出しユニット52は、開始時間と、特定のセグメントに先行するセグメントの持続時間とに基づいて、各セグメントがいつ利用可能であるかを決定し得る。
【0058】
[0064]カプセル化ユニット30が、受信されたデータに基づいてNALユニットおよび/またはアクセスユニットをビデオファイルにアセンブルした後、カプセル化ユニット30はビデオファイルを出力のために出力インターフェース32に渡す。いくつかの例では、カプセル化ユニット30は、ビデオファイルをローカルに記憶するか、またはビデオファイルを直接クライアントデバイス40に送るのではなく、出力インターフェース32を介してビデオファイルをリモートサーバに送り得る。出力インターフェース32は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気メディアドライブ(たとえば、フロッピー(登録商標)ドライブ)などの、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス(USB)ポート、ネットワークインターフェース、または他の出力インターフェースを備え得る。出力インターフェース32は、ビデオファイルを、たとえば、送信信号、磁気メディア、光メディア、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体などの、コンピュータ可読媒体に出力する。
【0059】
[0065]ネットワークインターフェース54は、ネットワーク74を介してNALユニットまたはアクセスユニットを受信し、取出しユニット52を介してNALユニットまたはアクセスユニットをカプセル化解除ユニット50に与え得る。カプセル化解除ユニット50は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送ることができる。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力42に送り、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力44に送る。
【0060】
[0066]本開示の技法によれば、コンテンツ作成デバイス20および/またはサーバデバイス60は、DASH/CMAFセグメント中に追加のランダムアクセスポイントを追加し得る。ランダムアクセスは、ファイルフォーマット解析時に再同期のみを与えるまでずっと、クリーンランダムアクセスと、オープンなまたは漸進的なデコーダリフレッシュとを含む。これは、再同期および復号がこの時点で開始され得るという情報を提供するチャンク境界と、以下のランダムアクセスポイントのタイプに関するシグナリングとを提供することによって対処され得る。tfdtの利用可能性は、moofヘッダ情報および場合によっては初期化セグメントの使用とともに、プレゼンテーション時間レベルでの時間再同期を可能にする。本開示では、この新しい点を「再同期点」と呼ぶ。すなわち、再同期点は、ファイルレベルコンテナ(たとえば、ISO BMFF中のボックス)が適切に解析され得る点を表し、それに続いて、メディアデータ中のランダムアクセスポイント(たとえば、Iフレーム)が発生する。したがって、クライアントデバイス40は、たとえば、これらのランダムアクセスポイントのうちの1つにおいて、マルチメディアコンテンツ64にランダムにアクセスし得る。
【0061】
[0067]コンテンツ作成デバイス20および/またはサーバデバイス60はまた、各DASHセグメントにおけるランダムアクセスポイントと再同期との利用可能性を示すとともに、ランダムアクセスポイントのロケーションと、タイプと、タイミングとに関する情報を提供する、マニフェストファイル66(たとえば、MPD)中に適切なシグナリングを追加し得る。コンテンツ作成デバイス20および/またはサーバデバイス60は、場合によっては、ランダムアクセスの位置、タイミング、タイプ、ならびに、情報が正確であるかまたは推定であるかに関する特性を追加して、追加の再同期点がセグメント中で利用可能であることを示す、マニフェストファイル66(MPD)中のシグナリングを提供し得る。したがって、クライアントデバイス40は、そのようなランダムアクセスポイントが利用可能であるかどうかを決定し、それに応じて取出しと再生とを再同期させるために、このシグナリングされたデータを使用し得る。
【0062】
[0068]クライアントデバイス40は、任意の開始点の場合、再同期点を見つけることによって、カプセル化解除と、解読と、復号とに再同期する能力を用いて構成され得る。コンテンツ作成デバイス20および/またはサーバデバイス60は、CMAF TUCにおいて対処される上記の要件を満たす適切なチャンクを提供し得る。異なるタイプが、後に定義され得る。
【0063】
[0069]クライアントデバイス40は、たとえば、HTML-5/MSEベースの再生において利用可能であるように、制限された受信機環境において処理を開始するように構成され得る。この問題は、受信機実装形態を通して対処され得る。しかしながら、データ構造、タイミング、およびタイプにおける再同期点のマップを得る能力を有する受信機パイプラインに再同期トリガおよび情報を提供することが適切であり、それは、復号パイプラインのユーザがランダムアクセスポイントにおいて再生を初期化することを可能にする。
【0064】
[0070]さらに、後方互換性があるマニフェストファイル66中のシグナリングが提供され得る。シグナリングを解析する能力を用いて構成されないクライアントデバイスは、シグナリングを無視し、上記で説明した方法を実行し得る。さらに、マニフェストファイル66は、適応セットレベルでのシグナリングを可能にするために、位置を@bandwidthの値に関連付けるシグナリングを含み得る。
【0065】
[0071]図2は、図1の取出しユニット52の構成要素の例示的なセットをより詳細に示すブロック図である。この例では、取出しユニット52は、eMBMSミドルウェアユニット100と、DASHクライアント110と、メディアアプリケーション112とを含む。
【0066】
[0072]この例では、eMBMSミドルウェアユニット100は、eMBMS受信ユニット106と、キャッシュ104と、プロキシサーバユニット102とをさらに含む。この例では、eMBMS受信ユニット106は、たとえば、tools.ietf.org/html/rfc6726において利用可能なT.Pairaら、「FLUTE-File Delivery over Unidirectional Transport」、ネットワークワーキンググループ、RFC6726、2012年11月に記載されているFile Delivery over Unidirectional Transport(FLUTE)に従って、eMBMSを介してデータを受信するように構成される。すなわち、eMBMS受信ユニット106は、たとえば、ブロードキャスト/マルチキャストサービスセンター(BM-SC)として働き得るサーバデバイス60から、ブロードキャストを介してファイルを受信し得る。
【0067】
[0073]eMBMSミドルウェアユニット100がファイルに関するデータを受信すると、eMBMSミドルウェアユニットは、受信されたデータをキャッシュ104中に記憶し得る。キャッシュ104は、フラッシュメモリ、ハードディスク、RAM、または任意の他の適切な記憶媒体などのコンピュータ可読記憶媒体を備え得る。
【0068】
[0074]プロキシサーバユニット102は、DASHクライアント110のためのサーバとして働き得る。たとえば、プロキシサーバユニット102は、DASHクライアント110にMPDファイルまたは他のマニフェストファイルを提供し得る。プロキシサーバユニット102は、MPDファイル中のセグメントに関する利用可能時間と、セグメントが取り出され得るハイパーリンクとを広告し得る。これらのハイパーリンクは、クライアントデバイス40に対応するローカルホストアドレスプレフィックス(たとえば、IPv4の場合は127.0.0.1)を含み得る。このようにして、DASHクライアント110は、HTTP GETまたは部分GET要求を使用して、プロキシサーバユニット102にセグメントを要求し得る。たとえば、リンクhttp://127.0.0.1/rep1/seg3から利用可能なセグメントの場合、DASHクライアント110は、http://127.0.0.1/rep1/seg3についての要求を含むHTTP GET要求を構築し、その要求をプロキシサーバユニット102にサブミットし得る。プロキシサーバユニット102は、要求されたデータをキャッシュ104から取り出し、そのような要求に応答して、そのデータをDASHクライアント110に提供し得る。
【0069】
[0075]図3は、例示的なマルチメディアコンテンツ120の要素を示す概念図である。マルチメディアコンテンツ120は、マルチメディアコンテンツ64(図1)、または記憶媒体62に記憶された別のマルチメディアコンテンツに対応し得る。図3の例では、マルチメディアコンテンツ120は、メディアプレゼンテーション記述(MPD)122と、複数の表現124A~124N(表現124)とを含む。表現124Aは、任意のヘッダデータ126と、セグメント128A~128N(セグメント128)とを含み、表現124Nは、任意のヘッダデータ130と、セグメント132A~132N(セグメント132)とを含む。文字Nは、便宜上、表現124の各々中の最後のムービーフラグメントを指定するために使用される。いくつかの例では、表現124間で異なる数のムービーフラグメントが存在し得る。
【0070】
[0076]MPD122は、表現124とは別のデータ構造を備え得る。MPD122は、図1のマニフェストファイル66に対応し得る。同様に、表現124は、図1の表現68に対応し得る。概して、MPD122は、コーディング特性およびレンダリング特性、適応セット、MPD122が対応するプロファイル、テキストタイプ情報、カメラアングル情報、レーティング情報、トリックモード情報(たとえば、時間サブシーケンスを含む表現を示す情報)、および/または(たとえば、再生中のメディアコンテンツ中へのターゲット広告挿入のための)リモート期間を取り出すための情報などの、表現124の特性を全体的に記述するデータを含み得る。
【0071】
[0077]ヘッダデータ126は、存在するとき、セグメント128の特性、たとえば、ランダムアクセスポイント(RAP、ストリームアクセスポイント(SAP)とも呼ばれる)の時間ロケーションを記述することができ、セグメント128のランダムアクセスポイントは、ランダムアクセスポイント、セグメント128内のランダムアクセスポイントへのバイトオフセット、セグメント128のユニフォームリソースロケータ(URL)、またはセグメント128の他の態様を含む。ヘッダデータ130は、存在するとき、セグメント132に関する同様の特性を記述し得る。追加または代替として、そのような特性は、MPD122内に完全に含まれ得る。
【0072】
[0078]セグメント128、132は、1つまたは複数のコード化ビデオサンプルを含み、コード化ビデオサンプルの各々は、ビデオデータのフレームまたはスライスを含み得る。セグメント128のコード化ビデオサンプルの各々は、同様の特性、たとえば、高さ、幅、および帯域幅の要件を有し得る。そのような特性はMPD122のデータによって記述され得るが、そのようなデータは図3の例に示されていない。MPD122は、本開示で説明されるシグナリングされた情報のいずれかまたはすべてに加えて、3GPP仕様によって説明される特性を含み得る。
【0073】
[0079]セグメント128、132の各々は、一意のユニフォームリソースロケータ(URL)に関連付けられ得る。したがって、セグメント128、132の各々は、DASHなどのストリーミングネットワークプロトコルを使用して独立して取出し可能であり得る。このようにして、クライアントデバイス40などの宛先デバイスは、セグメント128または132を取り出すためにHTTP GET要求を使用し得る。いくつかの例では、クライアントデバイス40は、セグメント128または132の特定のバイト範囲を取り出すためにHTTP部分GET要求を使用し得る。
【0074】
[0080]本開示の技法によれば、MPD122(同じく、図1のマニフェストファイル66に対応し得る)は、上記で説明した問題に対処するためのシグナリングを含み得る。たとえば、表現124(および場合によっては適応セットレベルでデフォルト設定される)の各々に関して、MPD122は、(後方互換性を可能にし得る)1つまたは複数の再同期要素を含み得る。各再同期要素は、表現124のうちの対応する1つの中のセグメント128、132の各々について、以下が成り立つことを示し得る。
・@typeまたはそれよりも小さい(しかし0よりも大きい)ストリームアクセスポイント(SAP)タイプの再同期点は、@dTによってシグナリングされる最大デルタTと、@dImaxによってシグナリングされる最大バイトオフセット差と、@dIminによってシグナリングされる最小バイトオフセット差とを有する各セグメント内に存在し、@dImaxおよび@dIminの値の両方は、値を得るために、この表現に割り当てられた@bandwidth属性の値によって乗算される必要がある。「デルタT」は、表現の@timescaleの単位での再同期点に続く任意のデータの最も早いプレゼンテーション時間の差を指す。@typeが0に設定される場合、コンテナおよび解読レベルに関する再同期のみが保証される。
・再同期マーカーフラグ@markerは、使用中のセグメントフォーマットによって定義される再同期パターンを使用して、再同期点ごとに再同期点が含まれることを示すように設定され得る。
・複数の再同期要素が、異なるSAPタイプに関して存在し得る。
・再同期点は、メディアの処理が、CMAFヘッダ/初期化セグメントとの組合せで、ISO BMFFおよび解読情報上で起こり得ることを要求する。
【0075】
[0081]再同期点の例示的な使用は、以下の図8に関して説明される。
【0076】
[0082]再同期要素がMPD122において提供され、セグメントがISO BMFFまたはCMAFに基づくセグメント128、132のいずれかに関して、以下が成立し得る。
・セグメントは、以下に定義される1つまたは複数のチャンクのシーケンスであり得る。
・さらに、要素において指定された@typeのセグメント中の任意の2つの連続する再同期点に関して、以下が成立し得る。
○2つのうちの最も早いプレゼンテーション時間の差は、多くとも@dTの値であり得る。
【0077】
○開始からのバイトオフセットの差は、多くとも、@bandwidth値で正規化された@dImaxであり得る。
【0078】
○開始からのバイトオフセットの差は、少なくとも、@bandwidth値で正規化された@dIminであり得る。
・再同期マーカーフラグが設定される場合、各再同期点は、再同期ボックス/stypを含み得る。
【0079】
[0083]図4は、図3のセグメント128、132のうちの1つなどの表現のセグメントに対応し得る例示的なビデオファイル150の要素を示すブロック図である。セグメント128、132の各々は、図4の例に示されるデータの配列に実質的に一致するデータを含み得る。ビデオファイル150は、セグメントをカプセル化すると言われることがある。上記で説明したように、ISOベースメディアファイルフォーマットおよびその拡張によるビデオファイルは、データを「ボックス」と呼ばれる一連のオブジェクトに記憶する。図4の例では、ビデオファイル150は、ファイルタイプ(FTYP)ボックス152と、ムービー(MOOV)ボックス154と、セグメントインデックス(sidx)ボックス162と、ムービーフラグメント(MOOF)ボックス164と、ムービーフラグメントランダムアクセス(MFRA)ボックス166とを含む。図4はビデオファイルの一例を表しているが、他のメディアファイルは、ISOベースメディアファイルフォーマットおよびその拡張に従って、ビデオファイル150のデータと同様に構造化された他のタイプのメディアデータ(たとえば、オーディオデータ、タイムドテキストデータなど)を含み得ることを理解されたい。
【0080】
[0084]ファイルタイプ(FTYP)ボックス152は概して、ビデオファイル150のファイルタイプを記述する。ファイルタイプボックス152は、ビデオファイル150の最良の使用を記述する仕様を識別するデータを含み得る。ファイルタイプボックス152は、代替的に、MOOVボックス154、ムービーフラグメントボックス164、および/またはMFRAボックス166の前に配置され得る。
【0081】
[0085]いくつかの例では、ビデオファイル150などのセグメントは、FTYPボックス152の前にMPD更新ボックス(図示せず)を含み得る。MPD更新ボックスは、MPDを更新するための情報とともに、ビデオファイル150を含む表現に対応するMPDが更新されるべきであることを示す情報を含み得る。たとえば、MPD更新ボックスは、MPDを更新するために使用されるリソースのためのURIまたはURLを提供し得る。別の例として、MPD更新ボックスは、MPDを更新するためのデータを含み得る。いくつかの例では、MPD更新ボックスは、ビデオファイル150のセグメントタイプ(STYP)ボックス(図示せず)の直後にくることができ、ここで、STYPボックスは、ビデオファイル150のセグメントタイプを定義し得る。
【0082】
[0086]MOOVボックス154は、図4の例では、ムービーヘッダ(MVHD)ボックス156と、トラック(TRAK)ボックス158と、1つまたは複数のムービー拡張(MVEX)ボックス160とを含む。概して、MVHDボックス156は、ビデオファイル150の一般的特性を記述し得る。たとえば、MVHDボックス156は、ビデオファイル150が最初に生成されたとき、ビデオファイル150が最後に変更されたときを記述するデータ、ビデオファイル150の時間軸、ビデオファイル150の再生の持続時間、またはビデオファイル150を一般に記述する他のデータを含み得る。
【0083】
[0087]TRAKボックス158は、ビデオファイル150のトラックについてのデータを含み得る。TRAKボックス158は、TRAKボックス158に対応するトラックの特性を記述するトラックヘッダ(TKHD)ボックスを含み得る。いくつかの例では、TRAKボックス158はコード化ビデオピクチャを含み得るが、他の例では、トラックのコード化ビデオピクチャは、TRAKボックス158および/またはsidxボックス162のデータによって参照され得るムービーフラグメント164中に含まれ得る。
【0084】
[0088]いくつかの例では、ビデオファイル150は、2つ以上のトラックを含み得る。したがって、MOOVボックス154は、ビデオファイル150中のトラックの数に等しいいくつかのTRAKボックスを含み得る。TRAKボックス158は、ビデオファイル150の対応するトラックの特性を記述し得る。たとえば、TRAKボックス158は、対応するトラックについての時間および/または空間情報を記述し得る。カプセル化ユニット30(図3)が、ビデオファイル150などのビデオファイル中にパラメータセットトラックを含むとき、MOOVボックス154のTRAKボックス158と同様のTRAKボックスは、パラメータセットトラックの特性を記述し得る。カプセル化ユニット30は、パラメータセットトラックを記述するTRAKボックス内のパラメータセットトラック中にシーケンスレベルSEIメッセージが存在することをシグナリングし得る。
【0085】
[0089]MVEXボックス160は、たとえば、もしあれば、MOOVボックス154内に含まれるビデオデータに加えて、ビデオファイル150がムービーフラグメント164を含むことをシグナリングするように、対応するムービーフラグメント164の特性を記述し得る。ビデオデータをストリーミングするコンテキストでは、コード化ビデオピクチャは、MOOVボックス154ではなくムービーフラグメント164中に含まれ得る。したがって、すべてのコード化ビデオサンプルは、MOOVボックス154ではなくムービーフラグメント164中に含まれ得る。
【0086】
[0090]MOOVボックス154は、ビデオファイル150中のムービーフラグメント164の数に等しいいくつかのMVEXボックス160を含み得る。MVEXボックス160の各々は、ムービーフラグメント164のうちの対応する1つの特性を記述し得る。たとえば、各MVEXボックスは、ムービーフラグメント164のうちの対応する1つの持続時間を記述するムービー拡張ヘッダボックス(MEHD)ボックスを含み得る。
【0087】
[0091]上述のように、カプセル化ユニット30は、シーケンスデータセットを、実際のコード化ビデオデータを含まないビデオサンプル中に記憶し得る。ビデオサンプルは、概して、特定の時間インスタンスにおけるコード化ピクチャの表現である、アクセスユニットに対応し得る。AVCのコンテキストでは、コード化ピクチャは、アクセスユニットのすべてのピクセルを構成するための情報を含んでいる1つまたは複数のVCL NALユニットと、SEIメッセージなどの他の関連する非VCL NALユニットとを含む。したがって、カプセル化ユニット30は、ムービーフラグメント164のうちの1つの中に、シーケンスレベルSEIメッセージを含み得る、シーケンスデータセットを含み得る。カプセル化ユニット30はさらに、シーケンスデータセットおよび/またはシーケンスレベルSEIメッセージの存在を、ムービーフラグメント164のうちの1つに対応するMVEXボックス160のうちの1つの内のムービーフラグメント164のうちの1つの中に存在するものとしてシグナリングし得る。
【0088】
[0092]SIDXボックス162は、ビデオファイル150の任意の要素である。すなわち、3GPPファイルフォーマット、または他のそのようなファイルフォーマットに準拠するビデオファイルは、必ずしもSIDXボックス162を含むとは限らない。3GPPファイルフォーマットの例によれば、SIDXボックスは、セグメント(たとえば、ビデオファイル150内に含まれるセグメント)のサブセグメントを識別するために使用され得る。3GPPファイルフォーマットは、サブセグメントを、「対応するメディアデータボックスと、ムービーフラグメントボックスによって参照されるデータを含むメディアデータボックスとをもつ、1つまたは複数の連続するムービーフラグメントボックスの自己完結型セットは、そのムービーフラグメントボックスに続き、同じトラックに関する情報を含む次のムービーフラグメントボックスに先行しなければならない」と定義する。3GPPファイルフォーマットはまた、SIDXボックスが、「ボックスによって文書化される(サブ)セグメントのサブセグメントへの参照のシーケンスを含む。参照されたサブセグメントは、プレゼンテーション時間において連続する。同様に、セグメントインデックスボックスによって参照されるバイトは、常にセグメント内で連続する。参照されたサイズは、参照された材料中のバイト数のカウントを与える」ことを示している。
【0089】
[0093]SIDXボックス162は、概して、ビデオファイル150中に含まれるセグメントの1つまたは複数のサブセグメントを表す情報を提供する。たとえば、そのような情報は、サブセグメントが開始および/または終了する再生時間、サブセグメントのバイトオフセット、サブセグメントがストリームアクセスポイント(SAP)を含む(たとえば、それで開始する)かどうか、SAPのタイプ(たとえば、SAPが瞬時デコーダリフレッシュ(IDR)ピクチャであるか、クリーンランダムアクセス(CRA)ピクチャであるか、切断リンクアクセス(BLA)ピクチャであるかどうかなど)、サブセグメント中の(再生時間および/またはバイトオフセットに関する)SAPの位置などを含み得る。
【0090】
[0094]ムービーフラグメント164は、1つまたは複数のコード化ビデオピクチャを含み得る。いくつかの例では、ムービーフラグメント164は、1つまたは複数のピクチャグループ(GOP)を含み得、GOPの各々は、いくつかのコード化ビデオピクチャ、たとえばフレームまたはピクチャを含み得る。さらに、上記で説明したように、ムービーフラグメント164は、いくつかの例では、シーケンスデータセットを含み得る。ムービーフラグメント164の各々は、ムービーフラグメントヘッダボックス(MFHD、図4に図示せず)を含み得る。MFHDボックスは、ムービーフラグメントのシーケンス番号などの、対応するムービーフラグメントの特性を記述し得る。ムービーフラグメント164は、ビデオファイル150中のシーケンス番号の順に含まれ得る。
【0091】
[0095]MFRAボックス166は、ビデオファイル150のムービーフラグメント164内のランダムアクセスポイントを記述し得る。これは、ビデオファイル150によってカプセル化されたセグメント内の特定の時間ロケーション(すなわち、再生時間)へのシークを実施することなどの、トリックモードを実施するのを支援し得る。MFRAボックス166は、概して随意であり、いくつかの例では、ビデオファイル中に含まれる必要がない。同様に、クライアントデバイス40などのクライアントデバイスは、ビデオファイル150のビデオデータを正しく復号し表示するために、必ずしもMFRAボックス166を参照する必要がない。MFRAボックス166は、ビデオファイル150のトラックの数に等しいか、またはいくつかの例ではビデオファイル150のメディアトラック(たとえば、非ヒントトラック)の数に等しい、いくつかのトラックフラグメントランダムアクセス(TFRA)ボックス(図示せず)を含み得る。
【0092】
[0096]いくつかの例では、ムービーフラグメント164は、IDRピクチャなどの、1つまたは複数のストリームアクセスポイント(SAP)を含み得る。同様に、MFRAボックス166は、SAPのビデオファイル150内のロケーションの指示を提供し得る。したがって、ビデオファイル150のSAPからビデオファイル150の時間サブシーケンスが形成され得る。時間サブシーケンスはまた、SAPに従属するPフレームおよび/またはBフレームなどの、他のピクチャを含み得る。時間サブシーケンスのフレームおよび/またはスライスは、サブシーケンスの他のフレーム/スライスに依存する時間サブシーケンスのフレーム/スライスが適切に復号され得るように、セグメント内に構成され得る。たとえば、データの階層構成において、他のデータの予測のために使用されるデータも時間サブシーケンス中に含まれ得る。
【0093】
[0097]一例では、本開示は、下記の表において次のように「チャンク」を定義する。この表は、チャンクの基数と順序性の両方の例示的な定義を提供する。
【0094】
【表1】
【0095】
[0098]一例では、本開示は、再同期点をチャンクの開始として定義する。さらに、再同期点は、以下のプロパティを割り当てられ得る。
・それは、チャンクの第1のバイトを指す、セグメントの開始からのバイトオフセットを有する。
・それは、moof中の情報と、場合によってはそれに割り当てられたムービーヘッダとから導出される最も早いプレゼンテーション時間を有する。
・それは、ISO/IEC14496-12において定義されているように、それに割り当てられたSAPタイプを有する。
・チャンクが再同期ボックス(上記のstyp)を含むか否かの指示がある。
・再同期点から開始して、ムービーヘッダ中の情報とともに、ファイルフォーマット解析および解読が行なわれ得る。
【0096】
[0099]いくつかの例では、マーカーのバイトストリームをスキャンすることによってセグメント(たとえば、ビデオファイル150)の開始への同期を可能にする再同期マーカーボックスが定義され得る。この再同期ボックスは、以下のプロパティを有し得る。
・それは、極めて高い尤度で再同期のための一意のパターンを定義する。
・それは、SAPタイプを定義する。
【0097】
[0100]再同期マーカーボックスは新しいボックスであってもよいし、stypボックスなどの既存のボックスを再利用してもよい。本開示では、特定の制限をもつstypが再同期マーカーボックスとして使用され得ることが、仮定される。この手法のロバスト性に関する研究が進行中である。
【0098】
[0101]以下の図5図7は、セグメントの開始以外の点におけるDASHセグメントへのランダムアクセスが有用であり得るいくつかの使用事例を説明するために使用される。
【0099】
[0102]図5は、本開示による、第1の使用事例において使用され得る例示的な低レイテンシアーキテクチャ200を示す概念図である。すなわち、図5は、DASH-IF IOPによって低レイテンシDASHサービスを動作させるための情報の基本的な流れを示す。低レイテンシアーキテクチャ200は、DASHパッケージャ202と、エンコーダ216と、コンテンツ配信ネットワーク(CDN)220と、通常のDASHクライアント230と、低レイテンシDASHクライアント232とを含む。エンコーダ216は、概して、図1のオーディオエンコーダ26とビデオエンコーダ28とのいずれかまたは両方に対応し得るが、DASHパッケージャ202は、図1のカプセル化ユニット30に対応し得る。
【0100】
[0103]この例では、エンコーダ216は、CH208、CMAF初期チャンク206A、206B(CIC206)、およびCMAF非初期チャンク204A~204D(CNC204)などのCMAFヘッダ(CH)を形成するために、受信されたメディアデータを符号化する。エンコーダ216は、DASHパッケージャ202に、CH208と、CIC206と、CNC204とを提供する。DASHパッケージャ202はまた、サービスの一般的な記述とエンコーダ216のエンコーダ構成とに関する情報を含むサービス記述を受信する。
【0101】
[0104]DASHパッケージャ202は、メディアプレゼンテーション記述(MPD)210と初期化セグメント212とを形成するために、サービス記述と、CH208と、CIC206と、CNC204とを使用する。DASHパッケージャ202はまた、セグメント214A、214B(セグメント214)内にマップCH208と、CIC206と、CNC204とを生成し、CDN220に増分方式でセグメント214を提供する。DASHパッケージャ202は、セグメント214を、それらが生成されるときにチャンクの形態で配信し得る。CDN220は、MPD210と、IS212と、セグメント214とを記憶するためのセグメントストレージ222を含む。CDN220は、たとえば、通常のDASHクライアント230および低レイテンシDASHクライアント232からのHTTP Getまたは部分Get要求に応答して、通常のDASHクライアント230に完全なセグメントを配信するが、低レイテンシDASHクライアント232に個々のチャンク(たとえば、CH208、CIC206、およびCNC204)を配信する。
【0102】
[0105]図6は、図5に関して説明された使用事例の一例をさらに詳細に示す概念図である。図6の例は、チャンク252A~252E(チャンク252)のそれぞれのセットを含むセグメント250A~250E(セグメント250)を示す。図1のクライアントデバイス40などのクライアントデバイスは、完全なセグメント250または個々のチャンク252のいずれかを取り出し得る。たとえば、図5に示すように、通常のDASHクライアント230は、セグメント250を取り出し得るが、低レイテンシDASHクライアント232は、個々のチャンク252を(少なくとも最初に)取り出し得る。
【0103】
[0106]図6は、完全なセグメント250ではなく個々のチャンク252を取り出すことによってレイテンシが低減され得る方法をさらに示す。たとえば、現在時間において完全なセグメントを取り出すことは、より高いレイテンシを引き起こし得る。直近の完全に利用可能なセグメントを単に取り出すことは、レイテンシを低減するが、依然として比較的高いレイテンシを生じさせ得る。
【0104】
[0107]代わりにチャンクを取り出すことによって、これらのレイテンシが大幅に低減され得る。たとえば、図6において「今」によって示される現在時間において、セグメント250Eは、完全には形成されていない。それでも、クライアントデバイスは、チャンク252E-1および252E-2が形成され、取り出すために利用可能であると仮定すると、セグメント250Eが完全に形成される前であっても、セグメント250Eのチャンク252E-1および252E-2などの形成されたチャンクを取り出すことができる。
【0105】
[0108]ライブストリームに参加するとき、典型的には、低レイテンシと高速始動の両方が達成されるべきである。しかしながら、これは自明ではなく、数個の戦略が、図6に基づいて以下に説明される。
・第1の事例では、ライブエッジにおいて、時間履歴が3セグメント(すなわち、セグメント250B、250C、および250D)後ろにあるセグメントがバッファにロードされる。1つのセグメントが利用可能になると、再生が開始される。これはかなりのレイテンシをもたらすが、再生は、セグメントの開始時におけるランダムアクセスがロードされるので、比較的迅速に開始することができる。
・第2の事例では、3セグメント古いセグメントの代わりに、最新の利用可能なセグメントであるセグメント250Dが選択される。この事例における再生レイテンシは、少なくともセグメント持続時間であるが、より長くてもよい。始動は、上記の事例と同様である可能性がある。
・他の3つの事例では、複数のチャンクを含むセグメント(たとえば、セグメント250E)が、まだ生成されている間に再生される。これはレイテンシを低減するが、特に最新の公開されたセグメントのセグメント利用可能開始時間と壁時計時間との差がターゲットレイテンシよりも大きい場合、再生の開始が影響を受け得るという問題が存在する。この事例では、クライアントデバイスは、次の秒が発出されるまで待たなければならない場合がある。6秒セグメントの事例では、これは、4~5秒の始動レイテンシをもたらし得る。
・他の技法および使用事例が存在する。たとえば、クライアントは、開始時に古いセグメントにアクセスし、すべてをダウンロードし、再生を加速し、早送り復号を行うことができる。しかしながら、そのような手法は、加速された復号が起こり得る前に有意なデータがダウンロードされる必要があるという欠点を有する。さらに、それは、デコーダインターフェースにおいて広くサポートされていない。
【0106】
[0109]適切な解決策は、以下のものであり得る。
・適応セットの少なくとも1つの表現は、セグメント/フラグメント中に、より頻度が高いランダムアクセスポイントと非初期チャンクとを含む。
・DASHクライアントは、MPDからの情報を使用して、そのようなランダムアクセス方法が存在すると決定し得るが、ランダムアクセスポイントのロケーション/バイトオフセットは、正確にシグナリングされない場合がある。
・DASHクライアントは、始動時にこの表現にアクセスすることができるが、最新の利用可能な非初期チャンクのバイト範囲または少なくともそれに近いバイト範囲から開始してダウンロードするだけである。
・DASHクライアントは、ダウンロードされると、ランダムアクセスポイントを決定し、同じくダウンロードされた同じ表現の初期化セグメント/CMAFヘッダとともにデータの処理を開始し得る。ランダムアクセスポイントの位置特定については、以下で説明される。
【0107】
[0110]しかしながら、後者の手法は、以下に要約されるように、様々な問題に遭遇し得る。
【0108】
[0111]したがって、図6の例に示され、以下で説明されるように、本開示で説明されるチャンクの使用は、レイテンシを実質的に低減し得る。チャンクの開始を事前にシグナリングすることは、頻繁な更新を必要としないが、チャンク内のストリームアクセスポイント(SAP)の概略的なロケーションを依然として示すことができるマニフェストファイルが前もって生成されることを可能にし得る。このようにして、クライアントデバイスは、連続的なマニフェストファイル更新を必要とせず、マニフェストファイルを使用してチャンク境界のロケーションを決定することができるが、クライアントデバイスがチャンク境界の始めに、たとえば再同期点においてメディアストリーミングを開始することを依然として可能にする。すなわち、クライアントデバイスは、マニフェストファイルから、セグメントが完全に形成される前でも、再同期点を含むセグメントのバイト範囲を決定することができるが、それは、マニフェストファイルが、セグメント中の再同期点の概略的なロケーションを表すバイト範囲または他のデータをシグナリングすることができるからである。
【0109】
[0112]図7は、ブロードキャストプロトコルのコンテキストにおいてDASHおよびCMAFランダムアクセスを使用する例示的な第2の仕様事例を示す概念図である。図7は、メディアエンコーダ280と、CMAF/ファイルフォーマット(FF)パッケージャ282と、DASHパッケージャ284と、ROUTEセンダー286と、CDNオリジンサーバ288と、ROUTE受信機290と、DASHクライアント292と、CMAF/FFパーサ294と、メディアデコーダ296とを含む例を示す。メディアエンコーダ280は、オーディオデータまたはビデオデータなどのメディアデータを符号化する。メディアエンコーダ280は、図1のオーディオエンコーダ26もしくはビデオエンコーダ28、または図5のエンコーダ216に対応し得る。メディアエンコーダ280は、CMAF/FFパッケージャ282に符号化メディアデータを提供し、CMAF/FFパッケージャ282は、CMAFとISO BMFFまたはその拡張などの特定のファイルフォーマットとに従って、符号化メディアデータをファイル内にフォーマットする。
【0110】
[0113]CMAF/FFパッケージャ282は、これらのファイル(たとえば、チャンク)をDASHパッケージャ284に提供し、DASHパッケージャ284は、ファイル/チャンクをDASHセグメント内にアグリゲートする。DASHパッケージャ284はまた、ファイル/チャンク/セグメントを記述するデータを含む、MPDなどのマニフェストファイルを形成し得る。さらに、本開示の技法によれば、DASHパッケージャ284は、将来のストリームアクセスポイント(SAP)またはランダムアクセスポイント(RAP)の近似的なロケーションを決定し、MPD中で近似的なロケーションをシグナリングし得る。CMAF/FFパッケージャ282およびDASHパッケージャ284は、図1のカプセル化ユニット30または図5のDASHパッケージャ202に対応し得る。
【0111】
[0114]DASHパッケージャ284は、MPDとともに、セグメントをROUTEセンダー286とCDNオリジンサーバ288とに提供する。ROUTEセンダー286およびCDNオリジンサーバ288は、図1のサーバデバイス60または図5のCDN220に対応し得る。概して、ROUTEセンダー286は、この例では、ROUTEに従ってROUTE受信機290にメディアデータを送ることができる。他の例では、FLUTEなどの、他のファイルベースの配信プロトコルが、ブロードキャストまたはマルチキャストのために使用され得る。追加または代替として、CDNオリジンサーバ288は、たとえば、HTTPに従って、メディアデータをROUTE受信機290に、および/または直接DASHクライアント292に送ることができる。
【0112】
[0115]ROUTE受信機290は、図2のeMBMSミドルウェアユニット100などのミドルウェア中に実装され得る。ROUTE受信機290は、たとえば、図2に示されたキャッシュ104中で、受信されたメディアデータをバッファリングすることができる。DASHクライアント292(図2のDASHクライアント110に対応し得る)は、HTTPを使用してROUTE受信機290から、キャッシュされたメディアデータを取り出すことができる。代替的に、DASHクライアント292は、上記で説明したように、HTTPに従ってCDNオリジンサーバ288から直接メディアデータを取り出し得る。
【0113】
[0116]さらに、本開示の技法によれば、DASHクライアント292は、たとえば、マニフェストファイル中でシグナリングされた再同期点に続いて、SAPまたはRAPのロケーションを決定するために、MPDなどのマニフェストファイルを使用し得る。DASHクライアント292は、次の最も早い再同期点から開始するメディアプレゼンテーションの取出しを始め得る。再同期点は、概して、ファイルコンテナレベルデータが正しく解析され得るビットストリームのロケーションを示し得る。したがって、DASHクライアント292は、再同期点において開始するストリーミングを始め、CMAF/FFパーサ294に、再同期点から開始する受信されたメディアデータを配信し得る。
【0114】
[0117]CMAF/FFパーサ294は、再同期点から開始するメディアデータの解析を始めることができる。CMAF/FFパーサ294は、図1のカプセル化解除ユニット50に対応し得る。さらに、CMAF/FFパーサ294は、解析されたデータから復号可能なメディアデータを抽出し、図1のオーディオデコーダ46またはビデオデコーダ48に対応し得るメディアデコーダ296に、復号可能なメディアデータを配信し得る。メディアデコーダ296は、メディアデータを復号し、復号されたメディアデータを、図1のオーディオ出力42またはビデオ出力44などの対応する出力デバイスに配信し得る。
【0115】
[0118]ブロードキャストの事例では、DASH/CMAFとROUTEとの組合せの例が図7に示される。低レイテンシDASHモードとROUTEとの組合せで(たとえば、ABRマルチキャストにおけるDVB TM-IPIタスクフォースと、ATSCプロファイルとについて考慮されるように)、以下の問題が生じ得る。ROUTE受信機290は、DASH/CMAF低レイテンシセグメントの途中で参加する場合、同期が利用可能でなく、他の目的のためのランダムアクセスも存在しないので、データの処理を開始することができない。したがって、セグメントの途中でより頻度が高いランダムアクセスが提供される場合でも、始動は遅延される。
【0116】
[0119]適切な解決策は、以下のものであり得る。
・ブロードキャスト/マルチキャスト表現は、セグメント/フラグメント中に、より頻度が高いランダムアクセスポイントと非初期チャンクとを含む。
・DASHクライアント292は、MPDの情報を使用して、および/または場合によってはROUTE受信機290からの情報によって、そのようなランダムアクセス方法が存在すると決定する。DASHクライアント292は、そのような情報を正確に使用してランダムアクセスポイントの位置を特定し得るが、場合によってはそうしない。
・DASHクライアント292は、始動時にこの表現にアクセスすることができるが、開始からすべての情報にはアクセスできない場合がある。
・セグメントの受信された部分へのアクセスを開始すると、DASHクライアント292は、ランダムアクセスポイントを見つけ、同じ表現の同じくダウンロードされた初期化セグメント/CMAFヘッダとともにデータの処理を開始し得る。ランダムアクセスポイントの位置特定については、以下で説明される。
【0117】
[0120]しかしながら、後者の手法は、以下に要約されるように、様々な問題に遭遇し得る。
【0118】
[0121]上記の第2の使用事例において説明したものと同様の事例では、ランダムアクセス再同期時だけでなく、パケットの損失も問題となり得る。この例示的な第3の使用事例では、上記で説明したものと同様の手順が適用され得る。これ以外に、クリーンランダムアクセスが試みられるだけでなく、十分なボックス解析が可能になった後に、非ランダムアクセスチャンク(たとえば、IDRフレームなし)におけるイベント、復号、およびプレゼンテーションが試みられ得る場合もあり得る。したがって、クリーンランダムアクセスへの再同期だけでなく、ファイルフォーマット解析へのランダムアクセスへの再同期も重要である。
【0119】
[0122]さらに別の第4の使用事例は、典型的には、ライブメディアコンテンツが低レイテンシで配信されるが、次いで同じメディアコンテンツが遅延再生のために時間シフトして使用される場合に生じ得る。クライアントは、特定の時間にメディアプレゼンテーションにアクセスしたい場合があるが、この時間は、セグメント/CMAFフラグメント開始と一致しない場合がある(一般には、一致しない)。
【0120】
[0123]適切な解決策は、以下のものであり得る。
・適応セットの少なくとも1つの表現は、セグメント/フラグメント中に、より頻度が高いランダムアクセスポイントと非初期チャンクとを含み得る。
・DASHクライアント292は、MPDからの情報を使用して、そのようなランダムアクセス方法が存在すると決定し得るが、ランダムアクセスポイントのロケーション/バイトオフセットは、正確には知られていない場合がある。
・DASHクライアント292は、シーク時にこの表現にアクセスすることができるが、最新の利用可能な非初期チャンクのバイト範囲または少なくともそれに近いバイト範囲から開始するダウンロードだけが許可され得る。
・DASHクライアント292は、ダウンロードされると、ランダムアクセスポイントを見つけ、同じくダウンロードされた同じ表現の初期化セグメント/CMAFヘッダとともにデータの処理を開始し得る。ランダムアクセスポイントの位置特定については、以下で説明される。
【0121】
[0124]しかしながら、後者の手法は、以下に要約されるように、様々な問題に遭遇し得る。
【0122】
[0125]ISO BMFF/DASH/CMAFセグメントの事例の再同期は、一般に、以下に要約される複数のプロセスを含む。
1)ボックス構造を見つけること。
2)すべての関連情報を有するCMAFチャンク/フラグメントを見つけること。
3)mdatおよびtfdtを介してタイミングを見つけること。
4)適用可能な場合、すべての解読関連情報を取得すること。
5)場合によってはイベントメッセージを処理すること。
6)エレメンタリストリームレベルで復号を開始すること。
【0123】
[0126]特定の時間にボックス構造中の再同期点を見つける例示的な方法が、以下に要約される。
・セグメントインデックス(SIDXボックス)がある場合、そのような再同期点は、プレゼンテーション時間およびバイトオフセットとして提供される。しかしながら、事前にセグメントが完全には形成されていないので、セグメントインデックスは、典型的には、低レイテンシライブのために利用可能ではない。
・セグメントの開始が利用可能である場合、クライアントは、ボックス構造が処理され得るように、バイト範囲の最小セットをダウンロードし得る。
・再同期は、たとえばチャンクの境界がシグナリングされ、クライアントが解析を開始し得ることを提供する基礎をなすプロトコルによって提供される。
・セグメントの開始が、シグナリングされたデータを通して容易に決定されることができない場合、クライアントは、クライアントがデータにランダムにアクセスすることを可能にする同期パターンを見つけることができる。次いで、クライアントは、解析を開始し、たとえば、emsg、prft、mdat、moof、および/またはmdatなどの処理を可能にする適切なボックス構造を見つけることができる。
【0124】
[0127]本開示は、上記の第4の例に適用され得る技法について説明する。最初の3つは、対応する情報が利用可能である場合の例示的な単純化を表す。
【0125】
[0128]本開示は、上記の説明に基づく以下の問題と、これらの問題が解決策を必要とすることとを認識する。
1)DASH/CMAFセグメント中に追加のランダムアクセスポイントを追加すること。ランダムアクセスは、ファイルフォーマット解析時に再同期のみを与えるまでずっと、クリーンランダムアクセスと、オープンなまたは漸進的なデコーダリフレッシュとを含み得る。
2)各DASHセグメントにおけるランダムアクセスポイントと再同期との利用可能性を示すとともに、ランダムアクセスポイントのロケーションと、タイプと、タイミングとに関する情報を提供する、MPD(または他のマニフェストファイル)中に適切なシグナリングを追加すること。情報は、正確であるか、または、ある範囲内であり得る。
3)任意の開始点の場合、再同期点を見つけることによって、カプセル化解除と、解読と、復号とに再同期する能力。
4)たとえば、HTML-5/MSEベースの再生において利用可能であるように、制限された受信機環境において処理を開始する能力。
【0126】
[0129]図8は、マニフェストファイル中のストリームアクセスポイント(SAP)の例示的なシグナリングを示す概念図である。特に、図8は、SAP302A~302D(SAP302)およびセグメント304A~304D(セグメント304)を含むビットストリーム300と、SAP312A~312D(SAP312)、SAP316A~316D(SAP316)、およびセグメント314A~314D(セグメント314)を含むビットストリーム310とを示す。すなわち、この例では、ビットストリーム310のセグメント314は、ビットストリーム300のセグメント304よりも頻度が高いSAP312、316を含む。SAP302、312の各々は、セグメント304、314のうちの対応する1つの両方の開始と、これらのセグメントの第1のチャンクに対応し得る。SAP316は、対応するセグメント316内のチャンクの開始には対応し得るが、対応するセグメント316の始めには対応しない。
【0127】
[0130]1000個のサンプルの等距離のチャンク(およびサンプル持続時間における@timescale=1000)と、SAPタイプ1(これは、たとえばオーディオ表現であり得る)とを用いて一定のビットレート表現を達成するための単純な技法を提供するために、再同期要素は、以下を追加され得る。
【0128】
【数1】
【0129】
[0131]そのような情報を受信するクライアント、たとえば、図1のクライアントデバイス40は、@duration=10000のセグメントについて、ランダムアクセスポイントが正確なバイト範囲において毎秒アクセスされ得ることを識別することができない場合がある。ビットレートが可変である場合、受信機(たとえば、クライアントデバイス40)は、ランダムアクセスポイントを見つけるべき範囲を識別するために、@dIMinと@dIMaxとを使用し得る。最大値をシグナリングする@dTの代替として、それはまた、公称チャンク持続時間をシグナリングし得る。
【0130】
[0132]マニフェストファイルの再同期要素はまた、通常のセグメントと同じテンプレート関数を使用して、各セグメント中の再同期点のバイナリ再同期インデックスを指すURL@indexを含み得る。この再同期は、存在する場合、セグメントインデックスと同様に、セグメント中のすべての再同期点の正確な位置を提供することができる。このインデックスが存在する場合、再同期インデックスは、マニフェストファイル/MPDの発出時間において利用可能である期間のすべてのセグメントについて利用可能であり得る。
【0131】
[0133]1つの手法では、再同期インデックスは、セグメントインデックスと同一であり得るが、変更されてもよい。
【0132】
[0134]図1のクライアントデバイス40は、メディアファイル(たとえば、セグメントであり得る、図4のビデオファイル150)に再同期するための基礎としてISO BMFF 4文字ボックスタイプを使用し得る。一例では、選択されたボックスタイプは、「styp」ボックスであるが、「moof」ボックス自体であってもよい。ボックス列タイプのランダムエミュレーションは、極めてまれである。stypエミュレーションのテストレポートが、以下で説明される。次いで、このエミュレーションは、既知の予想されるボックスタイプに対してチェックすることによって回避される。クライアントデバイス40は、次のように概説される再同期メカニズムを実行し得る。
1)たとえばバイトオフセットB1において、セグメント中の「styp」バイト列の出現を見つける。
2)次のようにランダムエミュレーションに対して検証する。次のボックスタイプが、予想されるボックスタイプのリスト、すなわち、「styp」、「sidx」、「ssix」、「prft」、「moof」、「mdat」、「free」、「mfra」、「skip」、「meta」、「meco」と比較される。
【0133】
a.既知のボックスタイプのうちの1つが見つけられた場合、バイトオフセットB1-4バイトは、再同期点のバイトオフセットである。
【0134】
b.これが前述の既知のボックスタイプのうちの1つでない場合、stypボックスのこの出現は、無効な同期点と見なされ、無視される。上記のステップ1から再開する。
【0135】
[0135]本開示の技法は、スキャンされたDASH-IFテストアセットからの30,282個のセグメントにおいてテストされた。このスキャンは、ファイル中の「styp」列の28,408回の出現を明らかにし、これらの28,408回の出現のうちの10回(2840回の出現のうちの約1回)のみは、次のボックスが予想されるボックスタイプ、すなわち、「styp」、「sidx」、「ssix」、「prft」、「moof」、「mdat」、「free」、「mfra」、「skip」、「meta」、「meco」のうちの1つではないと決定されると、破棄されるエミュレーションであった。
【0136】
[0136]これらの結果に基づいて、チャンク構造とともにstyp再同期点検出を使用すれば十分であると考えられる。prft、emsg、free、skip、およびmoofなどの、stypに続き得るボックスのサブセットのみに制限することが適切である。
【0137】
[0137]残りの問題は、SAPタイプと最も早いプレゼンテーション時間との決定である。後者は、tfdtおよびムービーフラグメントヘッダ中の他の情報の使用によって容易に達成される。アルゴリズムを文書化することが適切である。
【0138】
[0138]下記のように、SAPタイプを決定するためのいくつかのオプションがある。
・moof中の情報に基づく検出。簡単な技法が、文書化され実行され得る。
・SAPタイプにおける互換性ブランドの使用。すでにCMAFを使用することによって、以下のことが推論され得る。
【0139】
○cmff:SAPが1または2であることを示す
○cmfl:SAPが0であることを示す(これは解読に関して正しいか?)
○cmfr:SAPが1、2、または3であることを示す
・このシグナリングは、一貫して使用される場合、十分であり得る。他のSAPタイプに対する互換性ブランドが定義され得る。
・SAPタイプを示すために、他の技法が使用され得る。
【0140】
[0139]SAPタイプを決定するために、既存のオプションが使用され得る。
【0141】
[0140]このようにして、本開示の技法は、次のように要約され得、上記で説明したように、図1のコンテンツ作成デバイス20、サーバデバイス60、および/またはクライアントデバイス40などのデバイスによって実行され得る。
【0142】
[0141]DASHコンテキストでは、ある事例では、セグメントは、ダウンロード、メディアプレゼンテーションへのアクセスのための単一のユニットとして扱われ、アドレス指定されたURLによっても扱われる。しかしながら、セグメントは、コンテナレベルでの再同期化と、セグメント内でもそれぞれの表現へのランダムアクセスとを可能にするように構造化され得る。再同期メカニズムは、再同期要素によってサポートされ、シグナリングされる。
【0143】
[0142]再同期要素は、セグメント中の再同期点をシグナリングする。再同期点は、(バイト位置における)チャンクの開始であり、チャンクは、特定のプレゼンテーション持続時間のメディアデータを含むセグメント内の構造化された連続するバイト範囲として定義され、解読の可能性を含むコンテナフォーマット上で独立してアクセスされ得る。セグメント中の再同期点は、次のように定義され得る。
・再同期点は、チャンクの開始である。
・さらに、再同期点は、以下のプロパティを割り当てる。
【0144】
○それは、チャンクの第1のバイトを指す、セグメントの開始からのバイトオフセットまたはインデックス値を有する。
【0145】
○それは、表現において割り当てられた最も早いプレゼンテーション時間を有する。
【0146】
○それは、たとえばISO/IEC14496-12におけるSAPタイプによって定義された、割り当てられたSAPタイプを有する。
【0147】
○それは、特定のマーカーを通してセグメントを解析する間に再同期点が検出され得るかどうか、または再同期点が外部手段によってシグナリングされる必要があるかどうかを示すマーカープロパティを割り当てた。
・再同期点から処理を開始することは、初期化セグメント中の情報とともに、存在する場合、コンテナ解析および解読を可能にする。含まれるエレメンタリビデオストリームにアクセスすべきかどうか、および、それにどのようにアクセスすべきかの能力は、SAPタイプによって定義される。
【0148】
[0143]MPD中で各再同期点をシグナリングすることは、再同期点がMPD更新とは無関係にセグメントパッケージャによって追加され得るので、因果性の理由で困難であり得る。たとえば、再同期点は、MPDとは無関係にエンコーダとパッケージャとによって生成され得る。また、低レイテンシでは、MPDシグナリングは、DASHクライアント、たとえば、図2のDASHクライアント110または図7のDASHクライアント292にとって利用可能でない場合がある。したがって、MPD中のセグメントにおいて提供される再同期点をシグナリングする2つの方法が存在する。
・各セグメントの再同期インデックスセグメント中の再同期点に関するバイナリマップを提供することによる。これは、ネットワーク上で完全に利用可能なセグメントに最も容易に使用される。
・セグメント中の再同期点の存在と、また、バイト位置およびプレゼンテーション時間に関して再同期点を容易に見つけることを可能にするいくつかの追加情報とをシグナリングすることによる。
【0149】
[0144]上記の特性をシグナリングするために、再同期要素は、DASH仕様の第5.3.12.2節においてより詳細に説明される異なる属性を有する。
【0150】
[0145]ランダムアクセスは、存在する場合、初期化セグメントを用いて表現を初期化し、シグナリングされたセグメント以降から表現を復号および提示することによって、時間t以降のランダムアクセスポイントから表現の処理、復号、および提示を開始することを指す。ランダムアクセスポイントは、以下の表10において定義されるように、RandomAccess要素を用いてシグナリングされ得る。
【0151】
【表2】
【0152】
[0146]表11は、様々なランダムアクセスポイントタイプを提供する。
【0153】
【表3】
【0154】
[0147]再同期インデックスセグメントは、メディアセグメントに関連する情報を含む。再同期インデックスセグメントは、セグメントインデックスと同様に、セグメント中のすべての再同期点の正確な位置を提供する。再同期点は、DASH仕様の第5.3.12.1節に定義されている。
【0155】
[0148]ISO BMFFの再同期点は、基数と順序性の両方に関して以下の制限を有するISO BMFFセグメントの開始として定義され得る。
【0156】
【表4】
【0157】
[0149]ISO BMFFベースの再同期点の場合、プロパティは、次のように定義され得る。
・インデックスIndexは、上記の制約されたISO BMFFセグメントの第1のバイトのオフセットとして定義される。
・最も早いプレゼンテーション時間Timeは、チャンク中の任意のサンプルの復号時間と、構成オフセットと、エディットリストとの組合せの最小時間として定義される。
・SAPタイプは、DASH仕様の第4.5.2節に従って定義される。
・stypが主な互換性ブランドとして「cmfl」とともに存在する場合、マーカーは存在する。
【0158】
[0150]再同期インデックスセグメントは、1つの表現の1つのメディアセグメントをインデックス付けすることができ、次のように定義され得る。
・各表現インデックスセグメントは「styp」ボックスで始まるべきであり、ブランド「risg」は「styp」ボックス中に存在すべきである。ブランド「risg」の適合要件は、この下位条項によって定義される。
・各メディアセグメントは、1つまたは複数のセグメントインデックスボックスによってインデックス付けされ、所与のメディアセグメントのボックスは連続している。
【0159】
[0151]図9は、本開示の技法による、メディアデータを取り出す例示的な方法を示すフローチャートである。図9の方法が、図1のクライアントデバイス40に関して説明される。しかしながら、図5の低レイテンシDASHクライアント232、または、図7のメディアデコーダ296と、CMAF/FFパーサ294と、DASHクライアント292と、ROUTE受信機290とを含むクライアントデバイスはまた、この方法または同様の方法を実行するように構成され得る。
【0160】
[0152]最初に、クライアントデバイス40は、メディアプレゼンテーションのMPDなどのマニフェストファイルを取り出すことができる(350)。クライアントデバイス40は、たとえばサーバデバイス60からマニフェストファイルを取り出すことができる。マニフェストファイルは、メディアプレゼンテーションがメディアプレゼンテーションの表現のセグメント内のチャンク境界における再同期点を含むことを示すデータを含み得る。したがって、クライアントデバイス40は、メディアプレゼンテーションの再同期点、たとえば、直近に利用可能な再同期点を決定することができる(352)。概して、再同期点は、チャンク境界の開始を示すことができ、ファイルレベルコンテナ(たとえば、上記で説明したように、ボックスなどのデータ構造)が適切に解析され得る表現のランダムアクセス可能な点である。
【0161】
[0153]特に、マニフェストファイルは、セグメントの開始からのバイトオフセットなどの、再同期点の位置を示すことができる。この情報は、セグメント中の再同期点のロケーションを正確に識別することはできないが、再同期点がバイトオフセットからのバイト範囲内で利用可能であることを保証することができる。したがって、クライアントデバイス40は、再同期点において取出しを始めるために、示されたバイトオフセットを指定する、HTTP部分Get要求などの要求を形成することができる(354)。クライアントデバイス40は、次いで、サーバデバイス60に要求を送ることができる(356)。
【0162】
[0154]要求に応答して、クライアントデバイス40は、再同期点を含む要求されたメディアデータを受信することができる(358)。上述のように、バイトオフセットは、再同期点のロケーションを正確に識別しない場合があり、したがって、クライアントデバイス40は、再同期点の実際の位置を検出するまでデータを解析し得る。クライアントデバイス40は、取り出されたメディアデータの対応するチャンクのメディアデータのロケーションを決定するために、再同期点で開始して、ファイルフォーマットボックスなどのファイルレベルデータ構造を解析し得る。詳細には、クライアントデバイス40は、たとえば、セグメントタイプ値と、発生器基準時間値と、イベントメッセージと、ムービーフラグメントと、メディアデータコンテナボックスとを検出することによって、再同期点をチャンクの開始として識別し得る。ムービーフラグメントは、符号化メディアデータを含み得る。
【0163】
[0155]カプセル化解除ユニット50は、たとえば、ムービーフラグメントから、対応するチャンクの符号化メディアデータを抽出し(360)、たとえば、ビデオデコーダ48に符号化メディアデータを提供することができる。チャンクは、ビデオデータのイントラ予測フレーム(Iフレーム)などのランダムアクセスポイント(RAP)で開始し得る。マニフェストファイルは、RAPがクローズドピクチャグループ(GOP)またはオープンGOPの開始であるかどうかをさらに示し、それによって、RAPで開始して実行され得るランダムアクセスのタイプ(たとえば、Iフレームのリーディングピクチャが復号可能であるか、または復号不可能でないか)を示すことができる。ビデオデコーダ48は、次に、符号化メディアデータを復号し(362)、復号されたメディアデータを提示する(364)ために、たとえばビデオ出力44にメディアデータを送ることができる。
【0164】
[0156]このようにして、図9の方法は、ビットストリームのメディアデータのコンテナ解析がメディアプレゼンテーションの表現のセグメントの再同期点において開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すことと、再同期点はセグメントの開始以外の位置にあり、ビットストリームのメディアデータのコンテナ解析が開始され得る点を表す、マニフェストファイルを使用して、再同期点において開始する表現のメディアデータを取り出す要求を形成することと、再同期点において開始するメディアプレゼンテーションのメディアデータの取出しを開始する要求を送ることと、取り出されたメディアデータを提示することとを含む、メディアデータを取り出す方法の一例を表す。
【0165】
[0157]本開示のいくつかの技法は、以下の例において要約される。
【0166】
[0158]例1:メディアデータを取り出す方法であって、メディアプレゼンテーションの表現の再同期点において再同期および解読が開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すことと、再同期点において開始する表現のメディアデータを取り出すことと、取り出されたメディアデータを提示することとを備える、方法。
【0167】
[0159]例2:再同期点はチャンク境界の開始を備える、例1の方法。
【0168】
[0160]例3:チャンク境界は、0個または1個のセグメントタイプ値と、0個または1個の発生器基準時間値と、0個以上のイベントメッセージと、少なくとも1つのムービーフラグメントボックスと、少なくとも1つのメディアデータコンテナボックスとを備えるチャンクの開始を備える、例2の方法。
【0169】
[0161]例4:マニフェストファイルは、表現のセグメント中の再同期点の利用可能性を示す、例1から3のいずれかの方法。
【0170】
[0162]例5:再同期点は、セグメントの開始以外の位置にある、例4の方法。
【0171】
[0163]例6:マニフェストファイルは、再同期点において実行され得るランダムアクセスのタイプを示す、例4および5のいずれかの方法。
【0172】
[0164]例7:マニフェストファイルは、再同期点の位置およびタイミングと、位置およびタイミング情報が正確であるかまたは推定であるかとを示す、例4から6のいずれかの方法。
【0173】
[0165]例8:マニフェストファイルはメディアプレゼンテーション記述(MPD)を備える、例1から7のいずれかの方法。
【0174】
[0166]例9:メディアデータを取り出すためのデバイスであって、例1から8のいずれかの方法を実行するための1つまたは複数の手段を備える、デバイス。
【0175】
[0167]例10:1つまたは複数の手段は、回路内に実装された1つまたは複数のプロセッサと、メディアデータを記憶するように構成されたメモリとを備える、例9のデバイス。
【0176】
[0168]例11:集積回路、マイクロプロセッサ、またはワイヤレス通信デバイスのうちの少なくとも1つを備える、例9のデバイス。
【0177】
[0169]例12:実行されたとき、例1から8のいずれかの方法をプロセッサに実行させる命令を記憶したコンピュータ可読記憶媒体。
【0178】
[0170]例13:メディアデータを取り出すためのデバイスであって、メディアプレゼンテーションの表現の再同期点において再同期および解読が開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを取り出すための手段と、再同期点において開始する表現のメディアデータを取り出すための手段と、取り出されたメディアデータを提示するための手段とを備える、デバイス。
【0179】
[0171]例14:メディアデータを送る方法であって、メディアプレゼンテーションの表現の再同期点において再同期および解読が開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを、クライアントデバイスに送ることと、クライアントデバイスから再同期点において開始するメディアデータの要求を受信することと、要求に応答して、再同期点において開始する表現の要求されたメディアデータを、クライアントデバイスに送ることとを備える、方法。
【0180】
[0172]例15:マニフェストファイルを生成することをさらに備える、例14の方法。
【0181】
[0173]例16:再同期点はチャンク境界の開始を備える、例14および15のいずれかの方法。
【0182】
[0174]例17:チャンク境界は、0個または1個のセグメントタイプ値と、0個または1個の発生器基準時間値と、0個以上のイベントメッセージと、少なくとも1つのムービーフラグメントボックスと、少なくとも1つのメディアデータコンテナボックスとを備えるチャンクの開始を備える、例16の方法。
【0183】
[0175]例18:マニフェストファイルは、表現のセグメント中の再同期点の利用可能性を示す、例14から17のいずれかの方法。
【0184】
[0176]例19:再同期点は、セグメントの開始以外の位置にある、例18の方法。
【0185】
[0177]例20:マニフェストファイルは、再同期点において実行され得るランダムアクセスのタイプを示す、例18および19のいずれかの方法。
【0186】
[0178]例21:マニフェストファイルは、再同期点の位置およびタイミングと、位置およびタイミング情報が正確であるかまたは推定であるかとを示す、例18から20のいずれかの方法。
【0187】
[0179]例22:マニフェストファイルはメディアプレゼンテーション記述(MPD)を備える、例14から21のいずれかの方法。
【0188】
[0180]例23:メディアデータを送るためのデバイスであって、例14から22のいずれかの方法を実行するための1つまたは複数の手段を備える、デバイス。
【0189】
[0181]例24:1つまたは複数の手段は、回路内に実装された1つまたは複数のプロセッサと、メディアデータを記憶するように構成されたメモリとを備える、例23のデバイス。
【0190】
[0182]例25:集積回路、マイクロプロセッサ、またはワイヤレス通信デバイスのうちの少なくとも1つを備える、例23のデバイス。
【0191】
[0183]例26:実行されたとき、例1から8のいずれかの方法をプロセッサに実行させる命令を記憶したコンピュータ可読記憶媒体。
【0192】
[0184]例27:メディアデータを送るためのデバイスであって、メディアプレゼンテーションの表現の再同期点において再同期および解読が開始され得ることを示すメディアプレゼンテーションのマニフェストファイルを、クライアントデバイスに送るための手段と、クライアントデバイスから再同期点において開始するメディアデータの要求を受信するための手段と、要求に応答して、再同期点において開始する表現の要求されたメディアデータを、クライアントデバイスに送るための手段とを備える、デバイス。
【0193】
[0185]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に、相当し得る。データ記憶媒体は、本開示で説明される技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【0194】
[0186]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の一時的媒体を含むのではなく、代わりに非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0195】
[0187]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、または、本明細書で説明された技法の実装に好適な任意の他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に提供されるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。
【0196】
[0188]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされ得るか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【0197】
[0189]様々な例について説明してきた。これらおよび他の例は、以下の特許請求の範囲内に入る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】