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

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

▶ ドルビー・インターナショナル・アーベーの特許一覧

特表2024-521809プリセレクションをシグナリングするための方法、装置、およびシステム
<>
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図1
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図2
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図3
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図4
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図5
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図6
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図7
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図8
  • 特表-プリセレクションをシグナリングするための方法、装置、およびシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-04
(54)【発明の名称】プリセレクションをシグナリングするための方法、装置、およびシステム
(51)【国際特許分類】
   H04N 21/434 20110101AFI20240528BHJP
   H04N 21/439 20110101ALI20240528BHJP
   H04N 21/236 20110101ALI20240528BHJP
   H04N 21/84 20110101ALI20240528BHJP
【FI】
H04N21/434
H04N21/439
H04N21/236
H04N21/84
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2023573086
(86)(22)【出願日】2022-06-28
(85)【翻訳文提出日】2023-11-27
(86)【国際出願番号】 EP2022067668
(87)【国際公開番号】W WO2023275013
(87)【国際公開日】2023-01-05
(31)【優先権主張番号】63/216,029
(32)【優先日】2021-06-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/297,473
(32)【優先日】2022-01-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】510185767
【氏名又は名称】ドルビー・インターナショナル・アーベー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュライナー,シュテファン
(72)【発明者】
【氏名】ミュラー,ヤン
(72)【発明者】
【氏名】シルトバッハ,ヴォルフガング アー.
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164MB13P
5C164PA41
5C164SB08S
5C164SB11P
5C164UB08P
5C164UB10S
5C164UB11P
(57)【要約】
メディア・ストリームを処理する方法が記載される。本方法は:事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する一つまたは複数のトラック・ボックスを含む、ステップと;前記メディア・ストリームが、プリセレクションを示す事前定義されたタイプのプリセレクション関連ボックスを含むかどうかを判定するステップであって、該プリセレクションは、ユーザーへのメディア呈示に対応する、ステップと;前記メディア・ストリームが前記プリセレクション関連ボックスを含むと判定された場合:前記プリセレクション関連ボックスに対応するメタデータ情報を解析することであって、前記メタデータ情報は前記プリセレクションの特性を示す、ことと;前記メタデータ情報に基づいて前記プリセレクションに寄与する前記パケット化されたメディア・ストリームにおける一つまたは複数のトラックを識別することと;前記与えられたプリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供することとを実行するステップとを含む。
【特許請求の範囲】
【請求項1】
メディア・ストリームを処理する方法であって:
事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する一つまたは複数のトラック・ボックスを含む、ステップと;
前記メディア・ストリームが、プリセレクションを示す事前定義されたタイプのプリセレクション関連ボックスを含むかどうかを判定するステップであって、該プリセレクションは、ユーザーへのメディア呈示に対応する、ステップと;
前記メディア・ストリームが前記プリセレクション関連ボックスを含むと判定された場合:
前記プリセレクション関連ボックスに対応するメタデータ情報を解析することであって、前記メタデータ情報は前記プリセレクションの特性を示す、ことと;
前記メタデータ情報に基づいて前記プリセレクションに寄与する前記パケット化されたメディア・ストリームにおける一つまたは複数のトラックを識別することと;
前記与えられたプリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供することとを実行するステップとを含む、
方法。
【請求項2】
前記メディア・ストリームは、前記プリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報をさらに含む、請求項1に記載の方法。
【請求項3】
前記処理情報は、前記一つまたは複数のトラックを処理するためのトラック順序を示す順序付け情報を含む、請求項2に記載の方法。
【請求項4】
前記処理情報は、一つまたは複数のトラックが合同処理のために一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含む、請求項2または3に記載の方法。
【請求項5】
当該方法は:
前記マージ情報および前記順序付け情報に従って前記一つまたは複数のトラックをマージすることをさらに含む、請求項3を引用する場合の請求項4に記載の方法。
【請求項6】
前記順序付け情報は、前記プリセレクションに寄与する各トラックについて、前記トラックのトラック順序を定義するためのそれぞれのトラック順序値を含み、
前記マージ情報は、前記プリセレクションに寄与する各トラックについてのそれぞれのマージ・フラグを含み、前記マージ・フラグの第1の設定値は、それぞれのトラックがトラック順序における隣接トラックとマージされるべきであることを示し、前記マージ・フラグの第2の設定値は、それぞれのトラックが別個に処理されるべきであることを示し、
前記マージ情報および前記順序付け情報に従って前記一つまたは複数のトラックをマージすることは:
トラック順序に従ってトラックを相続いて走査し、
それぞれのマージ・フラグに従ってトラックをマージすることを含む、
請求項5に記載の方法。
【請求項7】
前記プリセレクションによって示された前記メディア呈示に従ってメディア・ストリームの再生のために前記一つまたは複数のトラックをデコードすることをさらに含む、請求項1ないし6のうちいずれか一項に記載の方法。
【請求項8】
前記一つまたは複数のトラックは、下流のデバイスによってデコードされる、請求項7に記載の方法。
【請求項9】
前記一つまたは複数のトラックをマージすることと、前記一つまたは複数のトラックをデコードすることとは、1つの単一のデバイスによって実行される、請求項5または6に記載の方法。
【請求項10】
前記メディア・ストリームは、前記事前定義されたタイプの複数のプリセレクション関連ボックスを含み、当該方法は、前記複数のプリセレクション関連ボックスの中から前記プリセレクション関連ボックスを選択することをさらに含む、請求項1ないし9のうちいずれか一項に記載の方法。
【請求項11】
前記プリセレクション関連ボックスは、アプリケーションによって選択される、請求項10に記載の方法。
【請求項12】
前記メディア・ストリームは、それぞれのプリセレクションに対応するユーザーへのそれぞれのメディア呈示のための記述情報をそれぞれが含む一つまたは複数のラベル・ボックスを含む、請求項10または11に記載の方法。
【請求項13】
前記プリセレクション関連ボックスは、パケット化される前に前記メディア・ストリームをエンコードするために使用されたメディア・コーデックに関知しない、請求項1ないし12のうちいずれか一項に記載の方法。
【請求項14】
前記プリセレクション関連ボックスに対応する前記メタデータ情報は、それぞれのトラックにそれぞれ関連付けられている一つまたは複数のトラック識別子を示すトラック識別情報を含み、前記メタデータ情報における前記一つまたは複数のトラック識別子に関連付けられたトラックは、前記メディア呈示に関係する、請求項1ないし13のうちいずれか一項に記載の方法。
【請求項15】
前記プリセレクション関連ボックスに対応する前記メタデータ情報は、前記プリセレクションを識別するためのプリセレクション識別子を示すプリセレクション識別情報を含む、請求項1ないし14のうちいずれか一項に記載の方法。
【請求項16】
前記プリセレクション関連ボックスに対応する前記メタデータ情報は、前記プリセレクションに従ってトラックをデコードするための下流のデバイスを構成するための一意的なプリセレクション固有データを含む、請求項1ないし15のうちいずれか一項に記載の方法。
【請求項17】
メディア・ストリームを処理する方法であって、
事前定義されたトランスポート・フォーマットに従ってパケット化された前記メディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する一つまたは複数のトラック・ボックスと、前記メディア・ストリーム内のそれぞれのトラック・グループを合同して識別するトラック・グループ識別子とトラック・グループ・タイプとのそれぞれのペアにそれぞれが関連付けられた一つまたは複数のトラック・グループ・ボックスとを含み、同じトラック・グループ識別子および同じトラック・グループ・タイプを有する諸トラックは、同じトラック・グループに属し、そのような各トラック・グループは、ユーザーへのメディア呈示に対応するプリセレクションを決定する、ステップと;
前記メディア・ストリームにおける前記トラック・ボックスをチェックして、前記メディア・ストリームにおいて存在するプリセレクションのフル・セットを決定するステップであって、プリセレクションの前記フル・セットの前記決定は:トラック・グループ識別子とトラック・グループ・タイプとの一意的なペアのセットを決定し、それぞれのトラック・グループ識別子によってプリセレクションをアドレッシングすることを含む、ステップと;
プリセレクションの前記フル・セットの中からプリセレクションを選択するステップであって、そのプリセレクションは、同じトラック・グループ識別子を有するトラック・グループ・ボックスに含まれるそれぞれのプリセレクションの属性に基づいて選択される、ステップと;
選択されたプリセレクションに寄与する一つまたは複数のトラック・ボックスのセットを決定するステップであって、そのプリセレクションに寄与する一つまたは複数のトラック・ボックスの前記セットは、同じトラック・グループ識別子を有するトラック・グループ・ボックスの存在によって識別される、ステップと;
前記プリセレクションに寄与する一つまたは複数のトラックとして、一つまたは複数のトラック・ボックスの前記セットの各メンバーにおいて参照されるトラックを決定するステップと;
前記プリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供するステップとを含む、
方法。
【請求項18】
各プリセレクションは、事前定義されたタイプのそれぞれのプリセレクション関連ボックスに関連付けられ、前記プリセレクション関連ボックスは、プリセレクションに関連する事前定義されたトラック・グループ・タイプを有するトラック・グループ・ボックスをインスタンス化する、請求項17に記載の方法。
【請求項19】
前記プリセレクション関連ボックスは、前記プリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報を含むプリセレクション処理ボックスに関連付けられる、請求項18に記載の方法。
【請求項20】
前記プリセレクション関連ボックスは、前記プリセレクションを示すセマンティック情報を含むプリセレクション情報ボックスに関連付けられる、請求項18または19に記載の方法。
【請求項21】
前記処理情報は、前記プリセレクションに従ってトラックをデコードするための下流のデバイスを構成するための一意的なプリセレクション固有データを含む、請求項19または20に記載の方法。
【請求項22】
前記処理情報は、前記トラックを順序付けるためのトラック順序を示す順序付け情報を含む、請求項19ないし21にのうちいずれか一項に記載の方法。
【請求項23】
前記処理情報は、前記トラックが一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含む、請求項19ないし22のうちいずれか一項に記載の方法。
【請求項24】
当該方法は:
前記マージ情報および前記順序付け情報に従って前記トラックをマージすることをさらに含む、
請求項22を引用する場合の請求項23に記載の方法。
【請求項25】
前記順序付け情報は、トラックのトラック順序を定義するためのトラック順序値を含み、
前記マージ情報は、マージ・フラグを含み、前記マージ・フラグの第1の設定値は、そのトラックがトラック順序における隣接トラックとマージされるべきであることを示し、前記マージ・フラグの第2の設定値は、そのトラックが別個に処理されるべきであることを示し、
前記マージ情報および前記順序付け情報に従って前記一つまたは複数のトラックをマージすることは:
前記トラック順序に従ってトラックを相続いて走査し;
それぞれのマージ・フラグに従ってトラックをマージすることを含む、
請求項24に記載の方法。
【請求項26】
前記プリセレクションによって示された前記メディア呈示に従って前記メディア・ストリームの再生のために前記トラックをデコードすることをさらに含む、
請求項17ないし25のうちいずれか一項に記載の方法。
【請求項27】
前記一つまたは複数のトラックは、下流のデバイスによってデコードされる、請求項26に記載の方法。
【請求項28】
前記トラックをマージすることとデコードすることとは、1つの単一のデバイスによって実行される、請求項24または25を引用する場合の請求項26に記載の方法。
【請求項29】
前記プリセレクションは、アプリケーションによって決定される、請求項17ないし28のうちいずれか一項に記載の方法。
【請求項30】
前記メディア・ストリームは、それぞれのプリセレクションそれぞれのプリセレクション情報ボックスにそれぞれリンクされる一つまたは複数のラベル・ボックスを含み、各ラベル・ボックスは、ユーザーへのそれぞれのメディア呈示のための記述情報を含み、
前記プリセレクションの前記決定はユーザーの入力に基づく、
請求項17ないし29のうちいずれか一項に記載の方法。
【請求項31】
前記メディア・ストリームは、オーディオ・ストリームまたはビデオ・ストリームのうちの少なくとも1つを含む、請求項1ないし30のうちいずれか一項に記載の方法。
【請求項32】
メディア・ストリームを処理する方法であって:
事前定義されたトランスポート・フォーマットに従って一つまたは複数のエレメンタリー・ストリームをカプセル化して、パケット化されたメディア・ストリームを生成するステップを含み、
前記パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含み、
前記一つまたは複数のエレメンタリー・ストリームをカプセル化することは:
前記一つまたは複数のエレメンタリー・ストリームのそれぞれのトラックを参照する一つまたは複数のトラック・ボックスを生成するために、前記トランスポート・フォーマットに従って前記一つまたは複数のエレメンタリー・ストリームのメディア・データをパケット化するステップと;
前記一つまたは複数のエレメンタリー・ストリームのヘッダ情報に基づいて、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスを生成するステップであって、前記一つまたは複数のプリセレクション関連ボックスのそれぞれは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す、ステップとを含む、
方法。
【請求項33】
前記一つまたは複数のプリセレクション関連ボックスのそれぞれは、それぞれのプリセレクションの特性を示すメタデータ情報を含み、
前記メタデータ情報は、それぞれのプリセレクションに寄与する前記メディア・ストリームにおける一つまたは複数のトラックを示す情報を含む、
請求項32に記載の方法。
【請求項34】
それぞれのプリセレクション関連ボックスに対応する前記メタデータ情報はさらに:
それぞれのプリセレクションを識別するためのプリセレクション識別子を示すプリセレクション識別情報、または
前記プリセレクションに従ってトラックをデコードするための一意的なプリセレクション固有データのうちの少なくとも一つを含む、
請求項33に記載の方法。
【請求項35】
前記エレメンタリー・メディア・ストリームをカプセル化することは、前記パケット化されたメディア・ストリーム内のそれぞれのトラック・グループを合同で識別するそれぞれのトラック・グループ識別子およびそれぞれのトラック・グループ・タイプにそれぞれが関連付けられた一つまたは複数のトラック・グループ・ボックスを生成することをさらに含み、同じトラック・グループ識別子および同じトラック・グループ・タイプを有するトラックは、同じトラック・グループに属すし;
前記一つまたは複数のプリセレクション関連ボックスを生成することは:
第1の一意的な識別子を各プリセレクションに割り当てることと;
それぞれのプリセレクションに寄与する各トラックについて、それぞれのプリセレクションに関連付けられたそれぞれのプリセレクション関連ボックスであって、前記プリセレクション関連ボックスは、プリセレクションに関連する事前定義されたトラック・グループ・タイプを有するトラック・グループ・ボックスをインスタンス化する、プリセレクション関連ボックスを生成し、トラック・グループ識別子を前記第1の一意的な識別子に設定することとを含む、
請求項32に記載の方法。
【請求項36】
前記トラック・グループ・ボックスは、トラックのそれぞれのメディア・タイプに基づいて、1つのプリセレクションに寄与する諸トラックをグループ化することによって生成される、請求項35に記載の方法。
【請求項37】
前記メディア・タイプは、オーディオ、ビデオ、および字幕のうちの少なくとも1つを含む、請求項35に記載の方法。
【請求項38】
前記一つまたは複数のプリセレクション関連ボックスを生成することは、それぞれのプリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報を含む一つまたは複数のプリセレクション処理ボックスを生成することをさらに含む、請求項32ないし37のうちいずれか一項に記載の方法。
【請求項39】
前記処理情報は:
前記トラックを処理するためのトラック順序を示す順序付け情報、または
一つまたは複数のトラックが別の一つまたは複数のトラックとマージされるべきかどうかを示すマージ情報
のうちの少なくとも1つを含む、請求項38に記載の方法。
【請求項40】
少なくとも1つの入力メディアを受領するステップと;
前記入力メディアを処理して、前記一つまたは複数のエレメンタリー・ストリームを生成するステップとをさらに含み、
前記一つまたは複数のエレメンタリー・ストリームは、前記入力メディアの前記メディア・データと、前記対応するヘッダ情報とを含む、
請求項32ないし39のうちいずれか一項に記載の方法。
【請求項41】
当該方法は:
前記一つまたは複数のプリセレクション関連ボックスに基づいてマニフェスト・ファイルを生成するステップをさらに含む、
請求項32ないし40のうちいずれか一項に記載の方法。
【請求項42】
前記マニフェスト・ファイルは、MPEG Dynamic Adaptive Streaming over HTTP(DASH)フォーマット・ファイルまたはHTTP Live Stream(HLS)フォーマット・ファイルである、請求項41に記載の方法。
【請求項43】
メディア・ストリームを処理する方法であって:
事前定義されたトランスポート・フォーマットに従ってパケット化された前記メディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する一つまたは複数のトラック・ボックスと、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスとを含み、各プリセレクション関連ボックスは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す、ステップと;
前記一つまたは複数のプリセレクション関連ボックスに基づいてマニフェスト・ファイルを生成するステップとを含む、
方法。
【請求項44】
前記マニフェスト・ファイルは、MPEG Dynamic Adaptive Streaming over HTTP(DASH)フォーマット・ファイルまたはHTTP Live Stream(HLS)フォーマット・ファイルである、請求項43に記載の方法。
【請求項45】
ユーザーへの前記メディア呈示は、前記メディア・ストリームの言語、種類、および/または一つもしくは複数のメディア固有の属性に関するそれぞれの構成によって特徴付けられる、請求項1ないし44のうちいずれか一項に記載の方法。
【請求項46】
前記事前定義されたトランスポート・フォーマットは、ISOベース・メディア・ファイル・フォーマット(ISOBMFF)である、請求項1ないし45のうちいずれか一項に記載の方法。
【請求項47】
プロセッサと、該プロセッサに結合されたメモリとを含むメディア・ストリーム処理装置であって、前記プロセッサは、当該メディア・ストリーム処理装置に、請求項1ないし46のうちいずれか一項に記載の方法を実行させるように適応されている、メディア・ストリーム処理装置。
【請求項48】
プロセッサによって実行されると、該プロセッサに、請求項1ないし46のうちいずれか一項に記載の方法を実行させる命令を含んでいるプログラム。
【請求項49】
請求項48に記載のプログラムを記憶しているコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、以下の優先出願の利益を主張する:2021年6月29日に出願された米国仮出願第63/216,029号(整理番号:D21064USP1)および2022年1月7日に出願された米国仮出願第63/297,473号(整理番号:D21064USP2)。これらは、本明細書中に参照により援用される。
【0002】
技術分野
本開示は、オーディオおよび/またはビデオ・コーディング(エンコード/デコード)の一般的な分野に向けられ、より詳細には、メディア呈示に対応するプリセレクションをユーザーにシグナリングするための方法、装置およびシステム、ならびにその処理に向けられる。
【背景技術】
【0003】
一般的に言えば、次世代オーディオ(Next-Generation Audio、NGA)または同様のビデオ技術の出現により、全体的なオーディオ経験は、もはや、事前生成されたシングル・インスタンスのメディア・コンポーネントとして送信されるのではない。むしろ、個々の意味的オブジェクトがそれぞれ別個に提供され、エンドユーザーに、コンテンツを自分の好みに合わせて調整する効率的な方法を提供することができる。
【0004】
たとえば、ダイアログは、追加的な選択可能なオーディオ・コンポーネントとして複数の言語で提供されてもよく、言語選択は、異なるオーディオ・コンポーネントを組み合わせることによって、またはコンポーネント間の異なるバランスを通して実装されることができる。
【0005】
広い意味では、現代のビデオ圧縮方式は、一般に、メディア・アセットのある種の部分を要求しないユーザーのために伝送帯域幅を節約する可能性を含む種々の理由で、利用可能なメディア・データ全体をいくつかのストリームにまたがらせる可能性を利用しうる。
【0006】
いずれにせよ、当業者によって理解され、認識されうるように、メディア・プレーヤーは、典型的には、事前定義されたユーザー経験をもたらすためにコンポーネントをどのようにレンダリングするかについてのガイダンスについては、付随するメタデータに依存する。
【0007】
伝送のために、これらのコンテンツ・コンポーネント(または、略してCC)のうちの複数が、1つの単一のエレメンタリー・ストリームに多重化されうるか、またはこれらのコンポーネントが、複数のエレメンタリー・ストリームにわたって拡散されうる。
【0008】
典型的には、すべての利用可能なコンポーネントが同時に呈示されるべきではなく、これらのコンポーネントのある種の組み合わせのみが、所望されるユーザー経験を提供しうる。
【0009】
さまざまな多重化およびトランスポート層におけるメタデータは、クライアント(またはエンドユーザー)に、すべての利用可能なコンポーネントについての必要な知識を提供する。さらに、このデータは、場合によっては、どのエレメンタリー・ストリームがダウンロードされデコードされるかを決定するためにも必要とされることがある。
【0010】
国際標準化機構(ISO)は、一般にISOBMFFとして知られるベース・メディア・ファイル・フォーマットを含み、規定している。特に、このISOBMFFは、ISOによるISO/IEC 14496-12 MPEG-4 Part 12によって規定されている。一般的に言えば、それは、ビデオおよび/またはオーディオのような時間ベースのマルチメディア・ファイルのための一般的な構造を定義する。ほとんどの既存の多重フォーマットは、ファイル内のコンポーネントにそれぞれのプロパティで注釈付けするための手段をすでに提供していることがありうるが、ISOベース・メディア・ファイル・フォーマット(ISOBMFF)多重は、コンテンツ・コンポーネントの組み合わせから構成される全体的な経験をシグナリングする能力をいくぶん欠いているように思われる。要するに、プリセレクション(Preselection)の概念を導入したと思われる他のいくつかの規格(たとえば、MPEG-DASH(ISO/IEC 23009-1))と比較して、ギャップが存在するように思われる。
【0011】
それに鑑み、一般的に言えば、特にISOBMFFのコンテキスト内で、そのようなプリセレクションを示す情報を(可能性としては、そのようなプリセレクションがどのように処理されるべきかを示す情報も)ユーザーにシグナリングする技法が必要であると思われる。
【発明の概要】
【発明が解決しようとする課題】
【0012】
上記に鑑みて、本開示は、概して、それぞれの独立請求項の特徴を有する、メディア・ストリームを処理する方法、メディア・ストリーム処理装置、プログラム、ならびにコンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【0013】
本開示の第1の側面によれば、メディア・ストリームを処理する方法が提供される。メディア・ストリームは、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。本方法は、ユーザー側で、または場合によっては、さまざまな実装に依存して、限定されるものではないが、TV、サウンドバー、ウェブブラウザー、メディアプレイ、プラグインなどを含みうるユーザー側(デコード側)環境において実行されうる。
【0014】
特に、本方法は、事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受信することを含むことができる。事前定義されたトランスポート・フォーマットは、ISOによるISO/IEC14496-12 MPEG-4 Part 12によって規定されるようなベース・メディア・ファイル・フォーマット(ISOBMFF)、または任意の他の好適な(トランスポート)フォーマットでありうる。パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含むことができる。特に、本明細書で使用されるところでは、「ボックス」という用語は、一般に、いくつかの可能な場合には、たとえばISO14496-12に記載されているような一意的な(ボックス)タイプ識別子(および可能性としてはそれぞれの長さ)によって定義されるオブジェクト指向ビルディング・ブロックを指すために使用されうる。当然ながら、本開示全体を通して使用される「ボックス」という用語は、そのような仕様のみに限定されると理解されるべきではない。むしろ、「ボックス」という用語は、一般に、パケット化されたメディア・ストリームのメディア・データまたは他のデータのためのプレースホルダーとして機能することができる任意の適切なデータ構造として理解されるものとする。さらに、やはり当業者によって理解され認識されるように、そのような「ボックス」は、任意の他の適切な用語を使用することによって言及されることがある。一例として、(MP4の第1の定義を含む)いくつかの可能な仕様では、「ボックス」は、場合によっては、代替的に「アトム」と呼ばれることがある。さらに、示されるように(「階層的」)、複数のボックスは、当業者によって理解され、認識されるように、さまざまな実装および/または要件に依存して、同じまたは異なるレベル(または位置)、ネストされた(子/サブボックスと親ボックス)などでありうる。より具体的には、複数のボックスは、他の可能性の中でも、メディア・ストリームのメディア(コンテンツ)コンポーネントを示すそれぞれのトラックを参照する(または言い換えれば、示す)一つまたは複数のトラック・ボックスを含みうる。大まかに言えば、メディア(コンテンツ)コンポーネントは、一般に、メディア・コンテンツの単一/個々の連続的なコンポーネントを指すことができる(また、典型的には、オーディオ、ビデオ、テキストなどを含みうるが、これらに限定されない対応する(たとえば、割り当てられた)メディア・コンテンツ・コンポーネント・タイプに関連付けることもできる)。「メディア(コンテンツ)コンポーネント」の概念を理解するための例は、たとえばMPEG-DASH(ISO/IEC 23009-1)において定義/説明されているように見出されうる。
【0015】
本方法は、メディア・ストリームが、プリセレクションを示す事前定義されたタイプのプリセレクション関連ボックスを含むかどうかを判定するステップをさらに含んでいてもよく、該プリセレクションは、ユーザーへのメディア呈示に対応しうる。より具体的には、本明細書で使用されるところでは、「プリセレクション」という用語/句は、一般に、(たとえば、ユーザー側デバイスによって)一緒に消費されることが意図されている、より具体的には、同時デコードおよび/または呈示のためにエンドユーザーによって選択されうるメディア呈示の1つのバージョンを一般に表す、(メディア・ストリームの)メディア・コンテンツ・コンポーネントのセットを指すために使用される。「プリセレクション」の概念を理解するための例は、たとえばMPEG-DASH(ISO/IEC23009-1)に記載されているように見出されうる。むろん、当業者によって理解され認識されるように、いくつかの他の可能な技術的コンテキストにおいては、「プリセレクション」という用語は、たとえばETSI TS103190-2に記載されているような「呈示〔プレゼンテーション〕」、またはたとえばISO/IEC23008-3に記載されているような「プリセット」などの(ただし、これらに限定されない)任意の他の適切な(同等の)用語を使用することによって知られていることがありうる(または言及されることがありうる)。よって、プリセレクション関連ボックスは、特定の事前定義された(または事前決定された)タイプの、メディア・ストリーム内の複数のボックスのうちの特定のボックスでありうる。プリセレクションを示すそのような特定のタイプは、当業者によって理解され認識されるように、任意の適切な手段を使用することによって前もって事前定義(または事前決定)されてもよく、それは、以下で、より詳細に説明される。
【0016】
メディア・ストリームがプリセレクション関連ボックスを含むと判定された場合、本方法は、プリセレクション関連ボックスに対応するメタデータ情報を解析するステップであって、メタデータ情報はプリセレクションの特性を示す、ステップと;メタデータ情報に基づいてプリセレクションに寄与するパケット化されたメディア・ストリーム内の一つまたは複数のトラックを識別するステップと;所与のプリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供するステップとをさらに含むことができる。当業者によって理解され認識されるように、上記で示されたメタデータ情報は、さまざまな実装に依存して、任意の適切な手段を使用することによって、メディア・ストリーム(またはより具体的には、(パケット化された)メディア・ストリームの複数のボックス)に(直接的に)含まれうるか、または該メディア・ストリームから(間接的に)導出可能でありうる。たとえば、メタデータ情報は、プリセレクション関連ボックスに(たとえば、そのサブボックスとして)関連付けられうるか、またはリンクされうるヘッダ・ボックス(または別のボックスのサブボックス)に含まれうるか、または包含されうる。上述のように、プリセレクションは、一般に、メディア・コンテンツ・コンポーネントのセットが、たとえば、一つまたは複数の適切な下流のデバイス(たとえば、メディア・デコーダ、メディア・プレーヤーなど)によって、一緒に消費されることが意図される場合を指す。下流のデバイスは、いくつかの可能な場合には、単に「シンク」と呼ばれることもある。結果として、さまざまな実装および/または要件に依存して、下流の処理は、以下でより詳細に説明するような、それらの寄与するトラックの多重化(またはいくつかの可能な場合には再多重化)、順序付け、マージ、デコード、またはレンダリングを含みうるが、むろんそれらに限定されない。
【0017】
上述のように構成されると、提案される方法は、一般に、特定のプリセレクションに寄与するように構成されたメディア・ストリーム内の諸トラックを決定/識別し、その後シグナリングするための効率的であるが柔軟な方法を提供し、それにより(たとえば、一つまたは複数の適切な下流のデバイスによる)そのような寄与トラックのさらなる適切な下流の処理を可能にしうる。したがって、大まかに言えば、提案される方法は、トランスポート層ファイル(たとえば、ISOBMFF)中でプリセレクションを(および可能性としてはその処理も)を示す情報をシグナリングする可能性および能力を、統一された仕方で提供すると見なされてもよく、これはさまざまな使用事例またはシナリオにおいて有益であると考えられうる。たとえば、プリセレクションのそのような統一された表現(または、言い換えれば、フォーマット/タイプに関知しない)は、メディア・プレーヤーにおけるフォーマット固有の実装が必要とされないように、(たとえば、アプリケーションによって、またはウェブブラウザーのためのプラグインとして使用される)メディア再生アプリケーション・プログラミング・インターフェース(API)のための統一されたデータ構造を実装するために使用されてもよく、それにより、実装および/または試験のための労力がより少なくなり、同時に、信頼性が増加する。別の例として、プリセレクションのそのような統一された表現は、マニフェスト(たとえば、MPEG Dynamic Adaptive Streaming over HTTP(DASH)フォーマット・ファイル、またはHTTP Live Stream(HLS)フォーマット・ファイル)生成器におけるプリセレクション・データ処理の、フォーマットに関知しない実装も可能にし、それにより、バイナリ・データに対する計算的により高価な操作の必要を回避し、ここでもやはり実装労力が低減され、信頼性が増加する。本明細書で使用されるところでは、フォーマット/タイプに関知しない〔アグノスティック〕という用語は、概して、提案される表現がすべてのデータ・タイプ(フォーマット)について汎用であることを意味しうる。
【0018】
いくつかの例示的実装では、メディア・ストリームは、プリセレクションに寄与するトラックが(たとえば、下流のデバイスによって)どのように処理されるべきかを示す処理情報をさらに含みうる。上述したメタデータ情報と同様に、処理情報は、さまざまな実施に依存して、任意の適切な手段を使用することによって、メディア・ストリーム(または、より具体的には、(パケット化された)メディア・ストリームの前記複数のボックス)に(直接的に)含まれてもよく、または該メディア・ストリームから(間接的に)導出可能であってもよい。たとえば、処理情報は、プリセレクションまたはプリセレクション関連ボックスに(たとえば、そのサブボックスとして)関連付けられるか、またはリンクされうる(たとえば、特定の(事前定義された)タイプの)1つの特定のボックスに含まれてもよい。
【0019】
いくつかの例示的実装では、処理情報は、前記一つまたは複数のトラックを処理(たとえば、デコード、マージなど)するためのトラック順序を示す順序付け情報を含んでいてもよい。たとえば、いくつかの可能な場合には、トラック順序は、トラックが下流のデバイス(たとえば、デコード・デバイス)にどの順序で与えられるべきかを示しうる。上記と同様に、そのような順序付け情報は、処理情報に関連付けられているか、またはリンクされている(サブ)ボックスに含まれるものとして実装されてもよい。
【0020】
いくつかの例示的実装では、処理情報は、一つまたは複数のトラックが合同(下流)処理のために一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含みうる。すなわち、そのようなマージ情報の実装に依存して、いくつかの場合には、いくつかのトラックが下流の処理のためにいくつかの他のトラックとマージされてもよく、いくつかの他の場合には、いくつかのトラックが別々に扱われてもよい(たとえば、個々のデコード・インスタンスにルーティングされる)。特に、いくつかの可能な場合には、そのようなマージは、多重化、または任意の他の適切な用語で呼ばれることもある。当業者によって理解され認識されるように、トラックのマージ(多重化)は、任意の適切な手段を使用することによって(たとえば、後続のトラックを先行するトラックの終わりに付加することによって)達成されうる。
【0021】
いくつかの例示的実装では、本方法は、マージ情報および順序付け情報に従って前記一つまたは複数のトラックをマージすることをさらに含みうる。
【0022】
いくつかの例示的実装では、順序付け情報は、プリセレクションに寄与する各トラックについて、トラックのトラック順序を定義するためのそれぞれのトラック順序値を含みうる。当業者によって理解され認識されるように、それぞれのトラック順序値を使用することによってトラックのトラック順序を定義するために、さまざまな適切な規則が決定されうる。上述のように、いくつかの可能な場合には、トラック順序は、トラックが下流のデバイス(たとえば、デコード・デバイス)にどの順序で与えられるべきかを示しうる。そのような場合、ある可能な例示的実装(ただし、いかなる種類の限定としてでもない)は、より小さいトラック順序値(たとえば、1)をもつトラックが、より大きいトラック順序値(たとえば、3)をもつ別のトラックよりも早くデコード・デバイスに与えられることでありうる。場合によっては、複数のトラックが同じ値順序値を有する場合、それらのトラックの順序付けは、もはや有意でないか、または重要でないことがある。さらに、同様に、マージ情報は、プリセレクションに寄与する各トラックについてのそれぞれのマージ・フラグを含んでいてもよい。特に、マージ・フラグの第1の設定値(たとえば、「1」)は、それぞれのトラックがトラック順序における隣接トラック(たとえば、そのようなマージ・フラグのさまざまな実装に依存して、先行または後続トラック)とマージ(または多重化)されるべきであることを示してもよく、マージ・フラグの第2の設定値(たとえば、「0」)は、対応して、それぞれのトラックが別個に処理される(たとえば、別個の下流のデコード・デバイスに供給またはルーティングされる)べきであることを示してもよい。よって、マージ情報および順序付け情報に従って前記一つまたは複数のトラックをマージすることは、トラック順序に従ってトラックを相続いて(または逐次的に)走査し、それぞれのマージ・フラグに従ってトラックをマージすることを含みうる。たとえば、いくつかの可能な場合には、トラックiのマージ・フラグflag[i]が「1」に設定された場合、このトラックiの各サンプルは、次の、より低い(またはより高い)トラック順序値をもつトラック(たとえば、トラックi-1またはi+1)の(一つまたは複数の)サンプルにアペンドされてもよく、一方、トラックのマージ・フラグが「0」に設定された場合、このトラックiは別個のデコーダ・インスタンスに与えられうる。トラックのためのすべてのマージ・フラグが「0」に設定される極端な場合における別の可能な例として、上記の概念を適用すると、すべてのトラックは、いくつかの(別個の)下流のデバイス(シンク)に分配されることになる。
【0023】
いくつかの例示的実装では、本方法は、プリセレクションによって示されたメディア呈示に従ってメディア・ストリームの再生のために前記一つまたは複数のトラックをデコードすることをさらに含みうる。
【0024】
いくつかの例示的実装では、前記一つまたは複数のトラックは、下流のデバイス(たとえば、メディア・プレーヤー、TV、サウンドバー、プラグインなど)によってデコードされうる。
【0025】
いくつかの例示的実装では、前記一つまたは複数のトラックをマージすることと、前記一つまたは複数のトラックをデコードすることとは、1つの単一のデバイスによって実行されてもよい。言い換えれば、マージおよびデコードがタンデムに機能する使用事例がありうる。より具体的には、そのような使用事例の例(限定としてではない)は、あるJavaScript APIが、複数のストリームではなく、単一のマージされたストリームと一緒にのみ機能することを予期するというものでありうる。そのような場合、1つのエンティティは、一般に、複数のはいってくるストリームを受け、上記で示したようにそれらをマージ/多重化し、その後、それらを1つのマージされたストリームとして、単一ストリームAPIを通じて送ることができる。APIの反対側でデコードするためである。いくつかの可能な場合には、シングル・ストリーム・フォーマットは、共通メディア・アプリケーション・フォーマット(CMAF)バイト・ストリーム・フォーマットでありうる。むろん、当業者によって理解され認識されるように、いくつかの他の場合には、トラックのマージおよびデコードは、異なる(別個の)デバイスによって実行されうる。(限定ではなく)例示的な例として、TVは、上記で示したようなストリームのマージを実装しうるが、マージされたストリームを、その後のデコードのためにサウンドバーのような別個の下流のデバイスに送りうる。
【0026】
いくつかの例示的実装では、メディア・ストリームは、(1つだけではなく)複数の、事前定義されたタイプのプリセレクション関連ボックスを含みうる。よって、本方法は、複数のプリセレクション関連ボックスの中からプリセレクション関連ボックスを選択する(または決定する)ことをさらに含むことができる。当業者によって理解され認識されるように、複数のプリセレクション関連ボックスの中からの1つの特定のプリセレクション関連ボックスのそのような選択(または決定)は、任意の適切な手段で実行されうる。
【0027】
いくつかの例示的実装では、プリセレクション関連ボックスは、アプリケーション(たとえば、メディア・プレーヤー/デコーダを制御するアプリケーション)によって選択(または決定)されうる。たとえば、いくつかの可能な場合において、前記アプリケーションは、たとえば、(たとえば、デコードまたは呈示環境の)特定のセットアップに対応する、プリセレクション関連ボックスを(自動的に)選択(または決定)するように(たとえば、事前定義されたアルゴリズムに基づいて)構成されてもよい。
【0028】
いくつかの例示的実装では、メディア・ストリームは、それぞれのプリセレクションに対応するユーザーへのそれぞれのメディア呈示のための記述情報をそれぞれが含む(それぞれのプリセレクションまたはそれぞれのプリセレクション関連ボックスに何らかの仕方で関連付けられるかまたはリンクされうる)一つまたは複数のラベル・ボックスを含みうる。よって、そのような場合には、プリセレクション関連ボックスの選択(または決定)は、ユーザーの入力に基づいて実行されてもよい。一例として(限定としてではなく)、ラベル・ボックスは、さまざまな言語(たとえば、英語、ドイツ語、中国語など)の選択可能な字幕を示す記述情報を含むことができ、そのそれぞれは、それぞれのプリセレクション(呈示)とみなされてもよく、それにより、(たとえば、アプリケーションを制御する)ユーザーは、対応する言語設定を適宜選択することができる(たとえば、キーボードまたはマウスをクリックすることによって)。
【0029】
いくつかの例示的実装では、プリセレクション関連ボックスは、パケット化される前にメディア・ストリームをエンコードするために使用されたメディア・コーデックに関知しないと見なされてもよい。すなわち、一般的に言えば、プリセレクション関連ボックスは、それぞれのプリセレクションのために必要な情報のみを含み、メディア・コーデックにリンクされうる情報(すなわち、コーデック固有の情報)は含まなくてもよい。言い換えれば、プリセレクション関連ボックス(複数可)においては、一般に、メディア・ストリームがどのようにエンコードされたか(たとえば、特定のメディア・エンコーダによって)、および/またはそのようなメディア・ストリームがどのようにデコードされるべきか(たとえば、特定のメディア・デコーダによって)に関する情報はない。
【0030】
いくつかの例示的実装では、プリセレクション関連ボックスに対応するメタデータ情報は、それぞれのトラックにそれぞれ関連付けられている一つまたは複数のトラック識別子を示すトラック識別情報を含んでいてもよく、メタデータ情報中の前記一つまたは複数のトラック識別子に関連付けられたトラックは、メディア呈示に関係しうる。当業者によって理解され、認識されるように、一つまたは複数のトラック識別子を示すそのようなトラック識別情報は、任意の適切な手段で、たとえば、その中の各要素がそれぞれのトラック識別子(それ自身は整数値または任意の他の適切な形を使用することによって表されうる)を(一意的に)示す配列ほど単純に実装されうる。その場合、いくつかの可能な場合において、プリセレクション関連ボックスに対応するメタデータ情報は、そのプリセレクションによって必要とされる(またはそれに寄与する)トラックの数を示すカウンタ(たとえば整数値)を任意的にさらに含んでいてもよい。
【0031】
いくつかの例示的実装では、プリセレクション関連ボックスに対応するメタデータ情報は、プリセレクションを識別するためのプリセレクション識別子を示すプリセレクション識別情報を含んでいてもよい。すなわち、プリセレクション関連ボックスに対応するメタデータ情報は、たとえば、それぞれのプリセレクションの選択/決定を適宜支援するために、プリセレクションが外部(たとえば、下流)アプリケーションおよび/またはデバイスに対して(一意的に)識別可能であることを可能にする(たとえば、整数を使用することによって表される)必要な情報を含むことができる。
【0032】
いくつかの例示的実装では、プリセレクション関連ボックスに対応するメタデータ情報は、プリセレクションに従ってトラックをデコードするための下流のデバイス(たとえば下流のメディア・プレーヤー/デコーダ)を構成するための一意的なプリセレクション固有データを含んでいてもよい。さまざまな実装および/または要件に依存して、そのようなプリセレクション固有データは、任意の適切な情報(たとえば、場合によっては、コーデック固有情報)を含んでいてもよく、任意の適切な手段(たとえば、整数、配列、ストリングなど)で実装(表現)されうる。
【0033】
本開示の第2の側面によれば、メディア・ストリームを処理する方法が提供される。メディア・ストリームは、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。本方法は、ユーザー側で、または場合によっては、さまざまな実装に依存して、限定されるものではないが、TV、サウンドバー、ウェブブラウザー、メディアプレイ、プラグインなどを含みうるユーザー側(デコード側)環境において実行されうる。
【0034】
特に、本方法は、事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受信することを含むことができる。前述の第1の側面と同様に、事前定義されたトランスポート・フォーマットは、ISOによるISO/IEC14496-12 MPEG-4 Part 12によって規定されるようなベース・メディア・ファイル・フォーマット(ISOBMFF)、または任意の他の好適な(トランスポート)フォーマットでありうる。パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含むことができる。上記で例示したように、当業者によって理解され認識されるように、複数のボックス(または任意の他の適切な用語を使って言及されうる)は、さまざまな実装および/または要件に依存して、同じまたは異なるレベル(または位置)、ネストされた(子/サブボックスと親ボックス)などでありうる。より具体的には、複数のボックスは、他の可能性の中でも、メディア・ストリームのメディア(コンテンツ)コンポーネントを示すそれぞれのトラックを参照する(または言い換えれば、示す)一つまたは複数のトラック・ボックスを含みうる。加えて、複数のボックスはまた、メディア・ストリーム内のそれぞれのトラック・グループを合同して識別するトラック・グループ識別子とトラック・グループ・タイプとのそれぞれのペアにそれぞれが関連付けられた一つまたは複数のトラック・グループ・ボックス(または任意の他の好適な用語/名前を使用することによって言及される)を含みうる。すなわち、同じトラック・グループ識別子および同じトラック・グループ・タイプを有する(たとえば、それらによって識別されるか、またはそれらに関連付けられる)諸トラックは、同じトラック・グループに属すると見なされうる。そのような各トラック・グループは、一般に、ユーザーへのそれぞれのメディア呈示に対応するそれぞれのプリセレクションを決定することができる。すでに上で示したように、用語/句プリセレクション(または任意の他の適切な用語/名前を使用することによって言及される)は、一般に、(たとえば、ユーザー側デバイスによって)一緒に消費されることが意図され、より詳細には、同時デコード/呈示のためにエンドユーザーによって選択されうるメディア呈示の1つのバージョンを一般に表す、(メディア・ストリームの)メディア・コンテンツ・コンポーネントのセットを参照するために使用される。
【0035】
本方法は、メディア・ストリーム内のトラック・ボックスをチェックして(たとえば、訪問する、それらを通じて巡回するなど)、メディア・ストリーム内に存在するプリセレクションのフルの(または完全な/全体の)セットを決定することをさらに含むことができる。特に、プリセレクションの完全なセットの決定は:トラック・グループ識別子とトラック・グループ・タイプとの一意的なペアのセットを決定し、それぞれのトラック・グループ識別子によってプリセレクションをアドレッシングすることを含みうる。上述したように、各プリセレクションは、それぞれのトラック・グループに関連付けられ、トラック・グループ自体は、対応するトラック・グループ識別子と対応するトラック・グループ・タイプとのそれぞれのペアによって識別される。よって、プリセレクションは、それに関連付けられた/リンクされたそれぞれのトラック・グループ識別子によってアドレッシング(または識別)されうる。
【0036】
本方法は、プリセレクションの完全なセットの中からプリセレクションを選択することをさらに含むことができる。特に、プリセレクションは、同じトラック・グループ識別子を有するトラック・グループ・ボックスに含まれるそれぞれのプリセレクションの属性(たとえば、メタデータまたは任意の他の適切な形式として表される)に基づいて選択されうる。
【0037】
本方法は、選択されたプリセレクションに寄与する一つまたは複数のトラック・ボックスのセットを決定する(たとえば、識別する)ステップをも含みうる。特に、(同じ)プリセレクションに寄与する一つまたは複数のトラック・ボックスのセットは、同じトラック・グループ識別子を有する(それぞれの)トラック・グループ・ボックスの存在によって決定(識別)されてもよい。
【0038】
さらに、本方法は、プリセレクションに寄与する一つまたは複数のトラックとして、上記で決定された一つまたは複数のトラック・ボックスのセットの各メンバー(要素)において参照されるトラックを決定することをさらに含みうる。
【0039】
最後に、本方法は、プリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供することを含むことができる。上述のように、プリセレクションは、一般に、たとえばメディア・デコーダ、メディア・プレーヤーなどの一つまたは複数の適切な下流のデバイス(または、いくつかの可能な場合には、シンクと呼ばれる)によって一緒に消費されることが意図されるメディア・コンテンツ・コンポーネントのセットを指す。結果として、さまざまな実装および/または要件に依存して、下流の処理は、以下でより詳細に説明するように、それらの寄与トラックの多重化(または、いくつかの可能な場合には再多重化)、順序付け、マージ、デコード、またはレンダリングを含みうるが、それらに限定されない。
【0040】
上述のように構成されると、提案される方法は、一般に、特定のプリセレクションに寄与するように構成されたメディア・ストリーム内のトラックを決定/識別し、その後シグナリングするための効率的であるが柔軟な方法を提供し、それにより、(たとえば、一つまたは複数の下流のデバイスによる)そのような寄与トラックのさらなる適切な下流の処理を可能にしうる。特に、第1の側面において上記で提案された方法は、一般に、プリセレクション関連ボックス内の特定のプリセレクションに寄与するように構成された(すべての)トラックのために関連情報を提供しようとし、それにより、すべての寄与トラックのインデックス付け(または識別)を可能にすることに留意されたい。この意味で、第1の側面で説明したようなトラックのインデックス付けは、順(直接)インデックス付けの一種と見なすことができる。対照的に、この第2の側面において提案される方法では、特定のプリセレクションに寄与するトラックは、トラック・グループ・タイプとトラック・グループ識別子とのペアによって合同で決定されうる。より具体的には、特定の(たとえば、事前定義されたまたは事前決定された)トラック・グループ・タイプを有するトラック・グループ・ボックスを有する(たとえば、含む)諸トラックは、一般に、該トラックがプリセレクションに寄与することを示すことができる。さらに、同じトラック・グループ識別子を有する諸トラックは、一般に、それらのトラックが同じプリセレクションに属する(寄与する)ことを示しうる。この意味で、第1の側面で提案されたものとは反対に、ここで説明されるトラックのそのようなインデックス付けは、ある種の逆インデックス付けと見なされうる。いずれにせよ、第1の側面と同様に、第2の側面において提案される方法も、トランスポート層ファイル(たとえば、ISOBMFF)においてプリセレクション(および可能性としてはその処理)を示す情報を、統一された仕方でシグナリングする可能性および能力を提供しうる。これは、さまざまな使用事例またはシナリオにおいて有益であると考えられうる。たとえば、プリセレクションのそのような統一された表現(または言い換えれば、フォーマットに関知しない)は、メディア・プレーヤーにおけるフォーマット固有の実装が必要とされないように、(たとえば、アプリケーションによって、またはウェブブラウザーのためのプラグインとして使用される)メディア再生APIのための統一されたデータ構造を実装するために使用されてもよく、それにより、実装および/または試験のための労力がより少なくなり、同時に信頼性が向上する。別の例として、プリセレクションのそのような統一された表現は、マニフェスト(たとえば、MPEG Dynamic Adaptive Streaming over HTTP、DASH、フォーマット・ファイル、またはHTTP Live Stream、HLS、フォーマット・ファイル)生成器におけるプリセレクション・データ処理の、フォーマットに関知しない実装も可能にし、それにより、バイナリ・データに対する計算的により高価な操作の必要を回避し、ここでもまた、実装労力が低減され、信頼性が向上する。
【0041】
いくつかの例示的実装では、各プリセレクションは、事前定義されたタイプのそれぞれのプリセレクション関連ボックスに関連付けられうる。特に、プリセレクション関連ボックスは、プリセレクションに関連する事前定義されたトラック・グループ・タイプを有するトラック・グループ・ボックスをインスタンス化(たとえば、内在的、拡張するなど)することができる。プリセレクションに関するそのような事前定義されたトラック・グループ・タイプは、当業者によって理解され、認識されるように、特定の(事前定義された)ストリング(たとえば、「preselection〔プリセレクション〕」または「pres」)、特定の(事前定義された)値(たとえば、「3」)などの任意の適切な手段を使用することによって実装されうる。一般的に言えば、第2の側面において提案される方法では、一般的に、プリセレクションごとに、およびそのプリセレクションに対応する(寄与する)トラックごとに、1つのそのようなプリセレクション関連ボックスが存在する。比較として、前述の第1の側面で提案された方法では、一般に、プリセレクションごとに1つのそのようなプリセレクション関連ボックスが存在する。
【0042】
いくつかの例示的実装では、プリセレクション関連ボックスは、プリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報を含むプリセレクション処理ボックスに関連付けられてもよい。処理情報は、さまざまな実装に依存して、任意の適切な手段を使用することによって、メディア・ストリーム(またはより詳細には、(パケット化された)メディア・ストリームの複数のボックス)に(直接的に)含まれるか、または該メディア・ストリームから(間接的に)導出可能でありうる。たとえば、処理情報は、プリセレクションまたはプリセレクション関連ボックスに(たとえば、そのサブボックスとして)関連付けられまたはリンクされうる(たとえば、特定の(事前定義された)タイプの)特定のボックスに含まれてもよい。
【0043】
いくつかの例示的実装では、プリセレクション関連ボックスは、プリセレクションを示す(たとえば、属性、特性など)セマンティック(または記述的)情報を含むプリセレクション情報ボックスに関連付けられうる。
【0044】
いくつかの例示的実装では、処理情報は、プリセレクションに従ってトラックをデコードするための下流のデバイス(たとえば、下流のメディア・プレーヤー/デコーダ)を構成するための一意的なプリセレクション固有データを含んでいてもよい。さまざまな実装および/または要件に依存して、そのようなプリセレクション固有データは、任意の適切な情報(たとえば、場合によっては、コーデック固有情報)を含んでいてもよく、任意の適切な手段(たとえば、整数、配列、ストリングなど)で実装(表現)されうる。
【0045】
いくつかの例示的実装では、処理情報は、さらなる下流の処理(たとえば、デコード、マージなど)のためにトラックを順序付けるためのトラック順序を示す順序付け情報を含みうる。たとえば、いくつかの可能な場合には、トラック順序は、トラックが下流のデバイス(たとえば、デコード・デバイス)にどの順序で与えられるべきかを示しうる。上記と同様に、そのような順序付け情報は、処理情報に関連付けられた、またはリンクされた(サブ)ボックスに含まれるものとして実装されてもよい。
【0046】
いくつかの例示的実装では、処理情報は、たとえば合同(下流)処理のために、一つまたは複数のトラックが一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含んでいてもよい。すなわち、そのようなマージング情報の実装に依存して、いくつかの場合には、いくつかのトラックが下流の処理のためにいくつかの他のトラックとマージされてもよく、いくつかの他の場合には、いくつかのトラックが別々に扱われうる(たとえば、個々のデコード・インスタンスにルーティングされうる)。特に、いくつかの可能な場合には、そのようなマージは、多重化、または任意の他の適切な用語で呼ばれることもある。当業者によって理解され認識されるように、トラックのマージ(多重化)は、任意の適切な手段を使用することによって(たとえば、後続のトラックを先行するトラックの終わりに付加することによって)達成されうる。
【0047】
いくつかの例示的実装では、方法は、マージ情報および順序付け情報に従って前記一つまたは複数のトラックをマージすることをさらに含みうる。
【0048】
いくつかの例示的実装では、順序付け情報は、プリセレクションに寄与する各トラックについて、トラックのトラック順序を定義するためのそれぞれのトラック順序値を含みうる。当業者によって理解され認識されるように、それぞれのトラック順序値を使用することによってトラックのトラック順序を定義するために、さまざまな適切な規則が決定されうる。上述のように、いくつかの可能な場合には、トラック順序は、トラックが下流のデバイス(たとえば、デコード・デバイス)にどの順序で与えられるべきかを示しうる。そのような場合、ある可能な例示的実装(ただし、いかなる種類の限定としてでもない)は、より小さいトラック順序値(たとえば、1)をもつトラックが、より大きいトラック順序値(たとえば、3)をもつ別のトラックよりも早くデコード・デバイスに与えられることでありうる。場合によっては、複数のトラックが同じ値順序値を有する場合、それらのトラックの順序付けは、もはや有意でないか、または重要でないことがある。さらに、同様に、マージ情報は、プリセレクションに寄与する各トラックについてのそれぞれのマージ・フラグを含んでいてもよい。特に、マージ・フラグの第1の設定値(たとえば、「1」)は、それぞれのトラックがトラック順序における隣接トラック(たとえば、そのようなマージ・フラグのさまざまな実装に依存して、先行または後続トラック)とマージ(または多重化)されるべきであることを示してもよく、マージ・フラグの第2の設定値(たとえば、「0」)は、対応して、それぞれのトラックが別個に処理される(たとえば、別個の下流のデコード・デバイスに供給またはルーティングされる)べきであることを示してもよい。よって、マージ情報および順序付け情報に従って前記一つまたは複数のトラックをマージすることは、トラック順序に従ってトラックを相続いて(または逐次的に)走査し、それぞれのマージ・フラグに従ってトラックをマージすることを含みうる。たとえば、いくつかの可能な場合には、トラックiのマージ・フラグflag[i]が「1」に設定された場合、このトラックiの各サンプルは、次の、より低い(またはより高い)トラック順序値をもつトラック(たとえば、トラックi-1またはi+1)の(一つまたは複数の)サンプルにアペンドされてもよく、一方、トラックのマージ・フラグが「0」に設定された場合、このトラックiは別個のデコーダ・インスタンスに与えられうる。トラックのためのすべてのマージ・フラグが「0」に設定される極端な場合における別の可能な例として、上記の概念を適用すると、すべてのトラックは、いくつかの(別個の)下流のデバイス(シンク)に分配されることになる。
【0049】
いくつかの例示的実装では、本方法は、プリセレクションによって示されたメディア呈示に従ってメディア・ストリームの再生のために前記一つまたは複数のトラックをデコードすることをさらに含みうる。
【0050】
いくつかの例示的実装では、前記一つまたは複数のトラックは、下流のデバイス(たとえば、メディア・プレーヤー、TV、サウンドバー、プラグインなど)によってデコードされうる。
【0051】
いくつかの例示的実装では、前記一つまたは複数のトラックをマージすることと、前記一つまたは複数のトラックをデコードすることとは、1つの単一のデバイスによって実行されてもよい。言い換えれば、マージおよびデコードがタンデムに機能する使用事例がありうる。より具体的には、そのような使用事例の例(限定としてではない)は、あるJavaScript APIが、複数のストリームではなく、単一のマージされたストリームと一緒に機能することのみを予期するというものでありうる。そのような場合、1つのエンティティは、一般に、複数のはいってくるストリームを受け、上記で示したようにそれらをマージ/多重化し、その後、それらを1つのマージされたストリームとして、単一ストリームAPIを通じて送ることができる。APIの反対側でデコードするためである。いくつかの可能な場合には、シングル・ストリーム・フォーマットは、共通メディア・アプリケーション・フォーマット(CMAF)バイト・ストリーム・フォーマットでありうる。むろん、当業者によって理解され認識されるように、いくつかの他の場合には、トラックのマージおよびデコードは、異なる(別個の)デバイスによって実行されうる。(限定ではなく)例示的な例として、TVは、上記で示したようなストリームのマージを実装しうるが、マージされたストリームを、その後のデコードのためにサウンドバーのような別個の下流のデバイスに送りうる。
【0052】
いくつかの例示的実装では、プリセレクションは、アプリケーション(たとえば、メディア・プレーヤー/デコーダを制御するアプリケーション)によって選択(または決定)されうる。たとえば、いくつかの可能な場合において、アプリケーションは、たとえば、(たとえば、デコードまたは呈示環境の)特定のセットアップに対応する、プリセレクションを(自動的に)選択(または決定)するように(たとえば、事前定義されたアルゴリズムに基づいて)構成されうる。
【0053】
いくつかの例示的実装では、メディア・ストリームは、それぞれのプリセレクションに対応するユーザーへのそれぞれのメディア呈示のための記述情報をそれぞれ含む(それぞれのプリセレクションまたはプリセレクション関連ボックスに関連付けられうるかまたはリンクされうる)一つまたは複数のラベル・ボックスを含んでいてもよい。よって、そのような場合、プリセレクションの選択(または決定)は、ユーザーの入力に基づいて実行されうる。一例として(限定としてではなく)、ラベル・ボックスは、さまざまな言語(たとえば、英語、ドイツ語、中国語など)の選択可能な字幕を示す記述情報を含んでいてもよく、そのそれぞれは、それぞれのプリセレクション(呈示)とみなすことができ、それにより、(たとえば、アプリケーションを制御する)ユーザーは、対応する言語設定を適宜選択することができる(たとえば、キーボードまたはマウスをクリックすることによって)。むろん、当業者によって理解され、認識されるように、プリセレクションの選択(または決定)は、任意の他の適切な手段でも実行されうる。
【0054】
いくつかの例示的実装では、メディア・ストリームは、上記で示したように、オーディオ・ストリームまたはビデオ・ストリーム(またはそれらの組み合わせ)のうちの少なくとも1つを含みうる。特に、本開示で提案される方法が適用されうるいくつかの可能なシナリオ(または使用事例)は、たとえば、(閲覧者が一つまたは複数のビデオ・ストリームを選択する能力を有することができる)複数人のビデオ会議であってもよく、または(たとえば、より高いビットレート/解像度を有する1つのピクチャーと、より低いビットレート/解像度を有する別のピクチャーとをもつ)ピクチャーインピクチャー能力をもつTVであってもよい。
【0055】
本開示の第3の側面によれば、メディア・ストリームを処理する方法が提供される。メディア・ストリームは、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。本方法は、エンコーダ側環境(たとえば、メディア・エンコーダ)上で実行されうる。いくつかのシナリオ(または使用事例)では、そのようなエンコーダは、(メディア)パッケージャと呼ばれることもある(すなわち、メディア入力をパック/パケット化するように構成されている)。
【0056】
特に、本方法は、事前定義されたトランスポート・フォーマットに従って一つまたは複数のエレメンタリー・ストリームをカプセル化して、パケット化されたメディア・ストリームを生成することを含んでいてもよく、パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含む。上記と同様に、事前定義されたトランスポート・フォーマットは、ISOによるISO/IEC14496-12 MPEG-4 Part 12によって規定されるようなベース・メディア・ファイル・フォーマット(ISOBMFF)、または任意の他の好適な(トランスポート)フォーマットでありうる。大まかに言えば、当業者によって理解され認識されうるように、エレメンタリー・ストリームは、単一のメディア・エンコーダからメディア・デコーダ(オーディオまたはビデオのいずれか)に流れる(メディア)データの圧縮されたバイナリ表現を形成するものと見なされうる。事前定義されたトランスポート・フォーマット(たとえば、ISOBMFF)に多重化(またはパケット化)されるとき、これらのエレメンタリー・ストリームは、「トラック」と呼ばれることがあり、「トラック・ボックス」が、ファイル・ヘッダにおいて各トラックのプロパティ(または属性)を記述する。さらに、やはり上述したように、複数のボックス(または任意の他の適切な用語を使用することによって言及される)は、当業者によって理解され認識されるように、さまざまな実装および/または要件に依存して、同じまたは異なるレベル(または位置)、ネストされた(子/サブボックスと親ボックス)などでありうる。
【0057】
より具体的には、前記一つまたは複数のエレメンタリー・ストリームをカプセル化することは、前記一つまたは複数のエレメンタリー・ストリームのそれぞれのトラックを参照する(または示す)一つまたは複数のトラック・ボックスを生成するために、トランスポート・フォーマットに従って前記一つまたは複数のエレメンタリー・ストリームのメディア・データをパケット化すること;前記一つまたは複数のエレメンタリー・ストリームのヘッダ情報に基づいて、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスを生成することとを含んでいてもよく、前記一つまたは複数のプリセレクション関連ボックスのそれぞれは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す。
【0058】
上記のように構成されると、提案される方法は、概して、事前定義されたトランスポート・フォーマット(たとえば、ISOBMFF)に従ってメディア入力(たとえば、エレメンタリー・ストリーム)をパケット化するための効率的であるが柔軟な方法を提供しうる。より具体的には、パケット化されたメディア・ストリームとともに一つまたは複数のプリセレクション関連ボックス(そのそれぞれがそれぞれのプリセレクションを示す)を生成し、含めることによって、提案される方法は、コーデックに関知しない統一された仕方でプリセレクションを表すことも可能にし、それにより、(たとえば、前述の第1および第2の側面において提案された方法による)対応するプリセレクションに寄与するトラックの適切な下流の処理をさらに可能にしうる。さらに、上記で示したように、プリセレクションのそのような統一された表現は、マニフェスト(たとえば、MPEG Dynamic Adaptive Streaming over HTTP、DASH、フォーマット・ファイル、またはHTTP Live Stream、HLS、フォーマット・ファイル)生成器におけるプリセレクション・データ処理の、フォーマットに関知しない実装も可能にし、それにより、バイナリ・データに対する計算的により高価な操作の必要を回避し、同時に、実装労力が低減され、信頼性が向上する。
【0059】
いくつかの例示的実装では、前記一つまたは複数のプリセレクション関連ボックスのそれぞれは、それぞれのプリセレクションの特性を示すメタデータ情報を含んでいてもよい。より具体的には、メタデータ情報は、それぞれのプリセレクションに寄与するメディア・ストリーム内の一つまたは複数のトラックを示す情報を含むことができる。当業者によって理解され認識されるように、上記に示されたメタデータ情報は、さまざまな実装に依存して、任意の適切な手段を使用することによって、メディア・ストリーム(または、より詳細には、(パケット化された)メディア・ストリームの複数のボックス)に(直接的に)含まれうるか、または該メディア・ストリームから(間接的に)導出可能でありうる。たとえば、メタデータ情報は、プリセレクション関連ボックスに何らかの形で(たとえば、そのサブボックスとして)関連付けられうるか、またはリンクされうるヘッダ(など)ボックスに含まれうる/包含されうる。
【0060】
いくつかの例示的実装では、それぞれのプリセレクション関連ボックスに対応するメタデータ情報はさらに、それぞれのプリセレクションを識別するためのプリセレクション識別子を示すプリセレクション識別情報、またはプリセレクションに従ってトラックをデコードするための(たとえば、下流のメディア・デコーダのような下流のデバイスを構成するための)一意的なプリセレクション固有データのうちの少なくとも一つを含んでいてもよい。
【0061】
いくつかの例示的実装では、エレメンタリー・メディア・ストリームをカプセル化することは、パケット化されたメディア・ストリーム内のそれぞれのトラック・グループを合同で識別するそれぞれのトラック・グループ識別子およびそれぞれのトラック・グループ・タイプ(のペア)にそれぞれが関連付けられた一つまたは複数のトラック・グループ・ボックスを生成することをさらに含みうる。特に、同じトラック・グループ識別子および同じトラック・グループ・タイプを有するトラックは、同じトラック・グループに属すると見なされうる。さらに、前記一つまたは複数のプリセレクション関連ボックスを生成することは:第1の一意的な識別子を各プリセレクションに割り当てることと、それぞれのプリセレクションに寄与する各トラックについて、それぞれのプリセレクションに関連付けられたそれぞれのプリセレクション関連ボックスを生成することとを含んでいてもよく、プリセレクション関連ボックスは、プリセレクションに関連する事前定義されたトラック・グループ・タイプを有し、トラック・グループ識別子を前記第1の一意的な識別子に設定するトラック・グループ・ボックスをインスタンス化する。プリセレクションに関連するそのような事前定義されたトラック・グループ・タイプは、当業者によって理解され認識されるように、特定の(事前定義された)ストリング(たとえば、「preselection」または「pres」)、特定の(事前定義された)値(たとえば、3)などの任意の適切な手段を使用することによって実装されうる。一般的に言えば、ここで提案される方法では、一般的に、プリセレクション毎に、およびそのプリセレクションに対応する(寄与する)トラック毎に、1つのそのようなプリセレクション関連ボックスが存在する。
【0062】
いくつかの例示的実装では、トラック・グループ・ボックスは、トラックのそれぞれのメディア・タイプに基づいて、1つのプリセレクションに寄与する諸トラックをグループ化することによって生成されうる。
【0063】
いくつかの例示的実装では、メディア・タイプは、オーディオ、ビデオ、および字幕のうちの少なくとも1つを含みうる。むろん、当業者によって理解され認識されるように、任意の他の適切なメディア・タイプも同様に使用されうる。
【0064】
いくつかの例示的実装では、前記一つまたは複数のプリセレクション関連ボックスを生成することは、それぞれのプリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報を含む一つまたは複数のプリセレクション処理ボックスを生成することをさらに含みうる。処理情報は、さまざまな実装に依存して、任意の適切な手段を使用することによって、メディア・ストリーム(またはより詳細には、(パケット化された)メディア・ストリームの複数のボックス)に(直接的に)含まれるか、または該メディア・ストリームから(間接的に)導出可能でありうる。たとえば、処理情報は、プリセレクションまたはプリセレクション関連ボックスに(たとえば、そのサブボックスとして)何らかの形で関連付けられまたはリンクされうる(たとえば、特定の(事前定義された)タイプの)特定のボックスに含まれてもよい。
【0065】
いくつかの例示的実装では、処理情報は、トラックを処理するためのトラック順序を示す順序付け情報、または一つまたは複数のトラックが(たとえば、合同(下流)処理のために)別の一つまたは複数のトラックとマージされるべきかどうかを示すマージ情報のうちの少なくとも1つを含みうる。たとえば、いくつかの可能な場合には、トラック順序は、トラックが下流のデバイス(たとえば、デコード・デバイス)にどの順序で与えられるべきかを示しうる。さらに、マージ情報の実装形態に依存して、場合によっては、いくつかのトラックが下流の処理のためにいくつかの他のトラックとマージされうる;一方、いくつかの他の場合には、いくつかのトラックは別個に扱われてもよい(たとえば、個々のデコード・インスタンスにルーティングされうる)。上記と同様に、順序付け情報ならびにマージ情報は、処理情報に関連付けられたまたはリンクされた(サブ)ボックス(またはそれ以上)に含まれるものとして実装されうる。
【0066】
いくつかの例示的実装では、本方法は、少なくとも1つの入力メディアを受領することと;前記一つまたは複数のエレメンタリー・ストリームを生成するために入力メディアを処理する(たとえば、エンコードする)こととをさらに含んでいてもよく、前記一つまたは複数のエレメンタリー・ストリームは、入力メディアのメディア・データと、対応するヘッダ情報とを含む。たとえば、入力メディアは、対応するエレメンタリー・ストリームを適宜生成するために、適切なメディア・エンコーダを使用することによって処理(たとえばエンコード)されうる。
【0067】
いくつかの例示的実装では、本方法は、前記一つまたは複数のプリセレクション関連ボックスに基づいてマニフェスト・ファイルを生成することをさらに含みうる。一般的に言えば、マニフェスト・ファイルは、典型的には、さまざまな情報、たとえば、メディア・ストリームに関する情報(メディア・タイプ、コーデック属性、メディア固有のプロパティなど)を含むことができる。そのような情報(すなわち、メディア・ストリーム自体に関する情報)とは別に、提案される方法は、プリセレクションに関連する情報をさらに含めてもよい。プリセレクション関連情報は、メタデータ情報、処理情報などを含むことができるが、これらに限定されるものではない。従来の技術と比較して、マニフェスト・ファイルの生成のための提案された方法は、一般に、プリセレクション関連データ処理のための、フォーマットに関知しない実装を提供し、それにより、計算的により高価な操作(たとえば、従来の技術ではバイナリ・データに対して実行されなければならない操作)を回避し、実装および/またはテストの労力を低減し、信頼性を高めることができる。
【0068】
いくつかの例示的実装では、マニフェスト・ファイルは、当業者によって理解され認識されるように、MPEG Dynamic Adaptive Streaming over HTTP(DASH)フォーマット・ファイル、HTTP Live Stream(HLS)フォーマット・ファイル、または任意の他の適切なマニフェスト・フォーマット・ファイルでありうる。
【0069】
本開示の第4の側面によれば、メディア・ストリームを処理する方法が提供される。メディア・ストリームは、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。この方法は、たとえば、マニフェスト生成器によって実行されてもよい。
【0070】
具体的には、本方法は、事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受領することを含むことができる。具体的には、パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含むことができ、複数のボックスは、メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する(たとえば、示す)一つまたは複数のトラック・ボックスと、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスとを含むことができ、各プリセレクション関連ボックスは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す。
【0071】
さらに、本方法は、前記一つまたは複数のプリセレクション関連ボックスに基づいてマニフェスト・ファイルを生成することも含むことができる。
【0072】
上述のように構成されて、提案された方法は、一般に、プリセレクション関連情報(たとえば、記述情報および/または処理関連情報)も考慮に入れることによって、マニフェスト・ファイルを生成するための効率的であるが柔軟な方法を提供することができる。より具体的には、メディア・ストリームに関する情報とは別に、提案される方法は、プリセレクションに関連する情報をさらに含めることができる。プリセレクション関連情報は、メタデータ情報、処理情報などを含むことができるが、これらに限定されるものではない。従来の(マニフェスト生成)技術と比較して、マニフェスト・ファイルの生成のための提案された方法は、一般に、プリセレクション関連データ処理のための、フォーマットに関知しない実装を提供し、それにより、計算的により高価な操作(たとえば、従来の技術ではバイナリ・データに対して実行されなければならない操作)を回避し、実装および/またはテストの労力を低減し、信頼性を高めることができる。
【0073】
いくつかの例示的実装では、マニフェスト・ファイルは、当業者によって理解され認識されるように、MPEG Dynamic Adaptive Streaming over HTTP(DASH)フォーマット・ファイル、HTTP Live Stream(HLS)フォーマット・ファイル、または任意の他の適切なマニフェスト・フォーマット・ファイルでありうる。
【0074】
いくつかの例示的実装では、ユーザーへのメディア呈示は、メディア・ストリームの言語、種類、および/または一つもしくは複数のメディア固有の属性に関するそれぞれの構成によって特徴付けられうる。むろん、さまざまな実装に依存して、任意の他の適切な構成も使用されうる。
【0075】
いくつかの例示的実装では、事前定義されたトランスポート・フォーマットは、ISOベース・メディア・ファイル・フォーマット(ISOBMFF)、または任意の他の好適なトランスポート・フォーマットでありうる。
【0076】
本発明の第5の側面によれば、プロセッサと、プロセッサに結合されたメモリとを含むメディア・ストリーム処理装置が提供される。プロセッサは、メディア・ストリーム処理装置に、前述の諸側面で説明された例示的な方法のいずれかに従ってすべてのステップを実行させるように適応されうる。
【0077】
本発明の第6の側面によれば、コンピュータ・プログラムが提供される。コンピュータ・プログラムは、プロセッサによって実行されると、プロセッサに、本開示全体を通して説明される方法のすべてのステップを実行させる命令を含みうる。
【0078】
本発明の第7の側面によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は、上述のコンピュータ・プログラムを記憶してもよい。
【0079】
装置の特徴および方法のステップは、多くの仕方で交換されうることが理解されるであろう。特に、開示された方法の詳細は、当業者が理解するように、対応する装置(またはシステム)によって実現されることができ、その逆も同様である。さらに、方法(複数可)に関してなされた上記の陳述のいずれも、対応する装置(またはシステム)に同様に適用され、その逆も同様であることが理解される。
【図面の簡単な説明】
【0080】
本開示の例示的実施形態は、添付の図面を参照して以下に説明される。図面において、同様の参照番号は同様のまたは類似の要素を示す。
図1】Aは、メディア再生アプリケーション・プログラミング・インターフェース(API)の例示的な実装を示す概略図である。Bは、本開示の実施形態によるメディア再生APIの例示的な実装を示す概略図である。
図2】本開示の実施形態による、メディア・ストリームを処理するシステムの例示的な実装を示す概略図である。
図3】Aは、パッケージャの例示的実装を示す概略図である。Bは、本開示の実施形態によるパッケージャの例示的実装を示す概略図である。
図4】Aは、マニフェスト生成器の例示的な実装を示す概略図である。Bは、本開示の実施形態によるマニフェスト生成器の例示的な実装を示す概略図である。
図5】本開示の実施形態による、メディア・ストリームを処理する方法の例を示す概略フローチャートである。
図6】本開示の実施形態による、メディア・ストリームを処理する方法の別の例を示す概略フローチャートである。
図7】本開示の実施形態による、メディア・ストリームを処理する方法のさらなる例を示す概略フローチャートである。
図8】本開示の実施形態による、メディア・ストリームを処理する方法のさらに別の例を示す概略フローチャートである。
図9】本開示の実施形態による、方法を実行するための例示的な装置の概略ブロック図である。
【発明を実施するための形態】
【0081】
上述のように、本開示における同一または同様の参照番号は、特に指示がない限り、同一または同様の要素を示し、その繰り返しの説明は、簡潔さの理由で割愛されうる。
【0082】
特に、図面および以下の説明は、単に例解として、好ましい実施形態に関する。以下の議論から、本明細書に開示される構造および方法の代替実施形態が、特許請求されるものの原理から逸脱することなく採用されうる有望な代替として容易に認識されることに留意されたい。
【0083】
ここで、添付の図面に例が示されているいくつかの実施形態を詳細に参照する。実際上可能な場合はいつでも、類似または同様の参照番号が図中で使用されることがあり、類似または同様の機能を示しうることに留意されたい。図面は、開示されたシステム(または方法)の実施形態を、単に例示の目的で示す。当業者は、本明細書に記載された原理から逸脱することなく、本明細書に示された構造および方法の代替の実施形態を使用することができることを、以下の説明から容易に認識するであろう。
【0084】
さらに、図において、実線または破線または矢印などの接続要素が、2つ以上の他の概略要素間の接続、関係、または関連を示すために使用される場合、そのような接続要素がないことは、接続、関係、または関連が存在しえないことを含意することは意図されていない。言い換えれば、要素間のいくつかの接続、関係、または関連は、本発明を埋没させないように、図面に示されていない。加えて、説明を容易にするために、単一の接続要素が、要素間の複数の接続、関係、または関連を表すために使用される。たとえば、接続要素が信号、データ、または命令の通信を表す場合、そのような要素は、必要に応じて、通信に影響を及ぼすための一つまたは複数の信号経路を表すことを当業者は理解されたい。
【0085】
上記で示したように、広い意味で、本稿は、概して、ISOBMFFファイルのコンテキスト内でプリセレクションの概念を可能にし、それにより、MPEG-DASHおよびさまざまな他のメディア圧縮フォーマットにおける利用可能性を完全にすることができる技法を提案しようとする。
【0086】
よって、本明細書に記載される例示的な実施形態は、「プリセレクション」のさまざまな使用事例に向けられる方法、装置、およびプロセスに関しうる。
【0087】
例示的な実施形態を説明するための詳細に入る前に、理解を容易にするために、本開示全体を通して使用されうる可能な用語のうちのいくつかを説明することは、そのうちのいくつかがすでに上記で(簡潔に)説明されている場合があるが、依然として価値がありうる。
【0088】
特に、本稿の目的のために、「プリセレクション」(Preselection)に関して、そのような用語は、一般に、たとえばMPEG-DASH(ISO/IEC23009-1)に記載されているような、一つまたは複数のメディア(コンテンツ)コンポーネントのセットの同時デコード/呈示を意味する。当業者によって理解され認識されるように、いくつかの他の可能な技術的コンテキストにおいては、「プリセレクション」は、他の適切な(同等の)用語、たとえばETSI TS103190-2に記載されている「呈示〔プレゼンテーション〕」、またはたとえばISO/IEC23008-3に記載されている「プリセット」など(ただしこれらに限定されない)を使用することによって知られ(または言及され)ることもありうる。
【0089】
「適応セット」(AdaptationSet)に関して、そのような用語は、一般に、MPEG-DASH(ISO/IEC23009-1)に同等に記載されるように定義されるものとし、上記と同様に、共通メディア・アプリケーション・フォーマット(CMAF)において定義される「SwitchingSet」などの他の用語として知られている(呼ばれる)こともある。
【0090】
「表現」(Representation)に関して、そのような用語は、一般に、MPEG-DASH(ISO/IEC23009-1)に記載されるように定義されるものとし、「AudioTrack」(たとえば、W3C APIによって定義される)または「Tracklist」もしくは「Track」(たとえば、ISOBMFFによって定義される)として知られていることもある。
【0091】
「メディア・コンテンツ・コンポーネント」に関して、そのような語句は、一般に、たとえばMPEG-DASH(ISO/IEC23009-1)に記載されているような、割り当てられたメディア・コンテンツ・コンポーネント・タイプを有するメディア・コンテンツの単一の連続的なコンポーネントを意味するものとする。
【0092】
「メディア・コンテンツ・コンポーネント・タイプ」に関して、そのような語句は、一般に、たとえばMPEG-DASH(ISO/IEC23009-1)に記載されているような、単一のタイプのメディア・コンテンツを意味するものとする。当業者によって理解され認識されるように、メディアコンテンツコンポーネントタイプの例は、オーディオ、ビデオ、テキスト、または任意の他の適切なタイプを含みうるが、これらに限定されない。
【0093】
「ボックス」に関して、そのような用語は、一般に、たとえばISO14496-12に記載されているような、一意的なタイプ識別子および長さによって定義されるオブジェクト指向のビルディング・ブロックを意味するものとする。上記と同様に、用語「ボックス」は、いくつかの仕様(MP4の第1の定義を含む)では、代替的に「アトム」と呼ばれることがあり、または任意の他の適切な同様の用語で呼ばれることがあることに留意されたい。
【0094】
「コンテナ・ボックス」に関して、そのような語句は、一般に、たとえばISO14496-12に記載されているような、関連する(サブ)ボックスのセットを収容し、グループ化することを唯一の目的とするボックスを意味するものとする。それにもかかわらず、コンテナ・ボックスは通常「フルボックス」から派生しないことに留意されたい。
【0095】
最後に、「ISOベース・メディア・ファイル」(ISO Base Media File)に関して、そのような語句は、一般に、ISO14496-12において規定されているファイル・フォーマット(すなわち、ISOBMFF)に準拠するファイルを意味するものとする。
【0096】
したがって、明示的に別段の指示がない限り、上記で示された語句は、当業者によって理解され認識されるように、交換可能に使用されうる。
【0097】
それぞれの例示的な実施形態の技術的詳細に入る前に、特に抽象的かつ広範な全体的な観点から、プリセレクションに関するいくつかの可能な使用事例(シナリオ)を最初に説明することも価値がありうる。
【0098】
図面を参照すると、図1のAは、メディア再生アプリケーション・プログラミング・インターフェース(API)の例示的な実装を示す概略図である。言い換えると、図1のAは、メディア・プレーヤーにおける呈示(プリセレクション)選択の例示的な使用事例と見なされうる。より具体的には、図1のAの例は、一般に、従来の技術を使用することによってプリセレクションをサポートするための1つの可能な実装と考えられる。
【0099】
広い意味で、一部のメディア・コンテンツは、一般にマニフェスト・ファイルを利用するMPEG DASHのような手段を用いて送達されうるが、一部のプレーヤー・フレームワークは、ISOBMFFフォーマットのコンテンツを消費するだけでありうる。結果として、そのようなアーキテクチャーに基づくメディア・プレーヤーは、ISOBMFFに含まれるメタデータ情報だけに基づいて呈示選択を可能にすることが必要とされ、結果として、もはやマニフェスト・ファイル(単数または複数)からのシグナリングに依拠することができない。
【0100】
図1のAに示されるように、メディア・プレーヤー1200は、対応するメディア出力/呈示1400を生成するために入力メディア(またはファイル)1000を受領する。入力メディア1000は、(パケット化された)コンテナ・フォーマット・ファイルまたはストリーム(たとえば、ISOBMFFファイルまたはストリーム)でありうる。メディア・プレーヤー1200は、適切なアプリケーション1300によって制御される。そのようなアプリケーション1300、および対応してメディア・プレーヤー1200の従来の制御は、「再生」、「一時停止」、「停止」、「早送り」、「巻き戻し」などを含みうるが、これらに限定されない。しかしながら、次世代オーディオ(または同様のビデオ技術)では、メディア・プレーヤー1200は、利用可能な経験(または呈示)のリストをアプリケーション1300に呈示し、返報として、該アプリケーションから所望される選択を受けることが必要とされる場合がある。これは、一般に、メディア・プレーヤー1200とアプリケーション1300との間のAPI 1290において実施されうる。
【0101】
一般的に言うと、はいってくるISOBMFF 1000は、(たとえば、一つまたは複数のボックスとして、または任意の他の好適な形で実装される)コンテナ・フォーマット固有の表現におけるメタデータ1010ならびにメディア・エレメンタリー・ストリーム1020を与える(含む)。特に、そのようなコンテナ・フォーマット・メタデータ1010は、一般にコーデック固有でありうるバイト・データとして構成されうる。さらに、エレメンタリー・ストリーム1020自体は、ヘッダ情報データ(または、場合によっては、何らかの種類のメタデータとも呼ばれることがある)1030(これは典型的には、バイナリ・データの形である)ならびにコーディングされた(または圧縮された)メディア・データ1040(これは、バイナリ・メタデータ1030と同様に、典型的にはバイナリ・データの形である)を含むことができる。当業者によって理解され認識されうるように、概して、エレメンタリー・ストリーム・データ1040は、典型的には、バイナリ情報(ビット・データ)で表されてもよく、コンテナ・データ1010は、典型的には、バイト・データを利用してもよい。
【0102】
さらに、図1のAに示されるように、メディア・プレーヤー1200自体は、多数の異なるメディア・フォーマットのための(あるいは換言すれば、フォーマットまたはコーデック固有の)複数のデコーダ実装(またはインスタンス)1220を含むことができ、メディア・プレーヤー1200は対応して、コンテナ・フォーマット・データからエレメンタリー・ストリームをアンパックし、どのメディア・デコーダ1220を使用するかを決定するために、適切な選択要素/コンポーネント(または単にセレクタと呼ばれる)1210をも提供することを必要とされる。この決定は、一般に、上述のようにコンテナ・フォーマット・メタデータ1010に基づく。
【0103】
図1のAにさらに示されるように、プリセレクション対応デコーダ1220は、プリセレクション関連データ1230を提供する(たとえば、生成する)。そのようなコーデック固有のデータ1230は、(典型的にはコーデックに関知しない)それぞれのAPI 1290を介してアプリケーション1300によって消費されるために、対応するフォーマット・コンバータ1240によってコーデックに関知しない一般化されたフォーマット1250に変換されなければならない。
【0104】
一般に、エレメンタリー・ストリームをアンパックすること、コーデック/フォーマット固有のデータをコーデックに関知しない一般化されたフォーマットに変換することに関係する動作は、全体的な手順の(たとえば、実装のため、テストのためのなどの)(望ましくない)余分な作業を導入することがあり、よって、ある程度非効率的であると見なされうる。
【0105】
図1のAに関して論じた問題の一部または全部に対処するために、図1のBは、本開示の実施形態によるメディア再生APIの例示的な実装を概略的に示す。特に、先に示したように、図1Bにおける同一または同様の参照番号は、特に指示がない限り、図1のAにおける同一または同様の要素を示し、その繰り返しの説明は、簡潔さの理由で省略されうる。
【0106】
特に、図1のAと比較して、図1のBに示されるメディア・プレーヤー1201は、もはや、各デコーダ1221のそれぞれのAPIを読み出し、その出力を再フォーマットし、該データをフォーマット独立に提供する必要がない。
【0107】
代わりに、はいってくるISOBMFFファイルまたはストリーム1001内の(以下でより詳細に説明するような)プリセレクションに関係する(典型的にはバイト・フォーマットの)新しいデータ構造1051を用いて、メディア・プレーヤー1201は、このデータ1051をアプリケーション1301にそのそれぞれのAPI 1291において呈示することができる。主な理由は、そのようなプリセレクション関連データ1051がコーデックに関知しないことである。
【0108】
提案されたように構成されると、この手法は、一般に、複数のフォーマット依存メタデータ・フォーマット・コンバータ(たとえば、図1のAに示されるようなフォーマット・コンバータ1240)を実装する必要性をなくす。さらに、提案された手法は、メディア・プレーヤーAPI 1291においてプリセレクション関連メタデータ(たとえば、新しいデータ構造1051)を呈示するために使用されうる統一されたデータ構造を暗黙的に定義する。言い換えると、新しい提案されたデータ構造を用いて、メディア・プレーヤーは、所望される呈示(プリセレクション)を選択するようにアプリケーションに要求するために、適切なAPIを介して、含まれている情報を公開することが可能にされる。より具体的には、この手法は、コーデックに関知せずに機能し、符号化されたメディア・エッセンスにパースする必要がないので、軽量な手法を提供する。
【0109】
要約すると、当業者によって理解され認識されるように、メディア・プレーヤーAPIの使用事例のための上記の提案された手法は、一般に、少なくとも以下の利点を提供する。
・ISOBMFFなどのトランスポート・データ・フォーマットにおけるトップ・レベルのプリセレクションのための統一された表現;
・メディア・プレーヤーAPIのための統一されたデータ構造;
・メディア・プレーヤーにおけるフォーマット固有の実装が必要とされない;
・実装者の労力がより少なく、試験の労力がより少なく、信頼性が高まり、産業に迅速に取り込まれる。
【0110】
図2は、本発明の実施形態による、メディア・ストリームを処理するシステムの例示的な実装を示す概略図である。特に、図2は、そのようなメディア処理システムのための可能な全体的なワークフローを概略的に示されるものと見られてもよい。
【0111】
特に、図2に示されるように、図1のAおよび図1のBに関して記述されたメディア・プレーヤー使用事例と同様に、(自動化された)マニフェスト生成器2500は、はいってくるメディア・データに含まれる経験(呈示)へのアクセスも必要としうる。一般に、多数の使用されるコーデックがそのような処理システムにおいて扱われなければならない場合があるので、これらのデバイス2500は、好ましくは、コーデックに関知しないメタデータで動作させられることになる。さらに、一般に、堅牢な動作のためはデータ・サイド・パスも望ましくないので、使用される任意のメタデータ構造は、包括的であり、マニフェスト(またはマニフェスト・ファイル)に現れるべきすべての詳細を提供する必要がある場合がある。
【0112】
図2に示されるような例示的なシステム・ワークフローでは、メディア(たとえば、オーディオおよび/またはビデオ)エンコーダ2100-A、2100-Bおよび2100-Cは、一般に、異なるフォーマット(たとえば、MP3、MP4、AC-4等)で符号化されたメディア・ストリーム2200-A、2200-Bおよび2200-Cを生成する。これらのエレメンタリー・ストリーム2200-A~Cは、次いで、ISOBMFFなどの統一されたトランスポート・フォーマットへのカプセル化のためにパッケージャ2300-A、2300-Bおよび2300-Cに供給される。
【0113】
これらのISOBMFFファイルまたはストリーム2400-A、2400-Bおよび2400-Cのそれぞれは、次いで、それぞれのメディア・プレーヤー(図示せず)に配送されうるが、出力として対応するマニフェスト・ファイル2600を生成するためのマニフェスト生成器2500にも配送されうる。そのようなファイル(たとえば、MPEG DASHフォーマット・ファイルまたはHLSフォーマット・ファイル)は、しばしば、XML(拡張マークアップ言語)などの機械および/または人間可読フォーマットで表されうる。
【0114】
ここで、図3のAを参照すると、パッケージャ(たとえば、パッケージャ2300-A~C)のある可能な実装を示す例示的な図が提供される。
【0115】
特に、図3のAに関して示されるように、(バイナリ)メディア・ヘッダ情報もしくはメタデータ3210および(バイナリ)符号化/圧縮された(生の)メディア情報/データ3220からなる、はいってくるメディア・エレメンタリー・ストリーム3200(たとえば、図2に例示されるようなエレメンタリー・ストリーム2400-A~C)は、その後、コンテナ・フォーマット出力ファイルまたはストリーム(たとえば、ISOBMFF)3400にパッケージ化される。
【0116】
より具体的には、このプロセスでは、パッケージャ3300は、一般に、はいってくるストリーム・データ3200を変更されない形で、対応する出力表現3420に渡す。パッケージャ3300の適切な内部装置(またはコンポーネント)3310は、バイナリ・ヘッダ情報/メタデータ3210を読み取って、対応する記述的メタデータ情報を、ただしメディア出力3400のためにバイト・フォーマット3410で生成することができる。パッケージャ3300のそのような装置(またはコンポーネント)3310は、たとえば、デコーダ固有情報(decoder specific information、DSI)生成器、または任意の他の好適なコンポーネントであってもよい。このデータ3410は、後に、適切なデコーダ(たとえば、図1のAに示されるようなデコーダ1220)を選択するために、それぞれのメディア・プレーヤー(たとえば、図1のAに示されるようなメディア・プレーヤー1200)によって使用されうる。ISOBMFFの例示的な使用事例では、この記述的バイト・データ3410は、とりわけ、デコーダ固有情報(略してDST)を含みうるが、エレメンタリー・ストリーム上のある種の一般的な注釈をも含みうる。前に示したように、エレメンタリー・ストリームは、ISOBMFFなどのある種のファイル・フォーマットにおいてカプセル化されたときは、トラックと呼ばれることがある。
【0117】
図3のAの実装と比較して、図3のBは、本発明の実施形態によるパッケージャのある可能な例示的実装を概略的に示す。上記と同様に、図3のBにおける同一または同様の参照番号は、特に指示がない限り、図3のAにおける同一または同様の要素を示し、その繰り返しの説明は、簡潔さの理由で省略されうる。
【0118】
より具体的には、図3のBに関して示されるように、パッケージャ3301は、ここでは、やはりはいってくるメディア・ストリーム3201のバイナリ・ヘッダ情報3211を提供される、さらなる(内部)装置/コンポーネント3321(これはいくつかの可能な場合では、プリセレクション・データ生成器と呼ばれうる)を含みうる。いくつかの可能な場合において、この装置3321の機能は、既存の(内部)装置3311の一部としての追加の機能として実装されてもよい。しかしながら、図3のBに明確に示されるように、そのような場合、追加のバイト・フォーマット指定されたデータ構造(Byte-format specified data structure)3451が生成され、出力ストリーム3400に埋め込まれる。特に、上で示されたように、このデータ構造3451は、一般に、(コーデックに関知しない)プリセレクション関連情報(たとえば、記述情報および/または処理関連情報)と、メディア・フォーマット独立表現とを担持する。
【0119】
図4のAは、マニフェスト生成器の例示的な実装の概略図である。
【0120】
特に、図4のAに関して示されるように、マニフェスト生成器4500は、一般に、入力ファイルまたはストリーム4400(たとえば、ISOBMFFファイル)を読んで、対応するマニフェスト・ファイル4600のための必要とされる情報を生成する。そのような必要とされるデータは、適切なメディア・タイプ(MIMEタイプと呼ばれることもある)、コーデック属性、ならびにメディア固有のプロパティなど、メディア・ストリーム4620に関する情報を含みうる。該情報のすべては、各メディア・ファイルまたはストリームについて独立して、コンテナ・レベルのメタデータ構造4410から利用可能なデータに基づいて生成されうる。
【0121】
これらの個々のメディア・ファイルまたはストリームに関連する情報とは別に、プリセレクション関連情報4610も生成する必要がある場合がある。従来の技術では、必要とされる情報は、典型的には、たとえば、ある種の帯域外のサイド・データ・パス(図4Aに示されている)を通じて、またはカプセル化されたエレメンタリー・ストリームのバイナリ・ヘッダ・データをパースすることから提供される必要がある。
【0122】
特に後者の場合、対応する装置/コンポーネント4510(これはいくつかの可能な場合において、プリセレクション・データ生成器と呼ばれるか、または任意の他の適切な用語を使用して呼ばれることがある)は、したがって、コーデック・フォーマットに依存するだけでなく、計算コストの高いバイナリ・データのパース、および、使用されるメディア・フォーマットに依存して、利用可能なコンテンツ・コンポーネント・メタデータから対応するプリセレクションをどのように生成するかについての追加的なフォーマット依存知識も必要とすることになる。ある種の場合には、このステップは、複数のメディア・ファイルまたはストリームのペイロードを合同して読むことをさらに必要とし、このプロセスを困難にし、エラーを起こしやすくする。いくつかの可能な場合において、マニフェスト生成器4500は、当業者によって理解され認識されるように、メディア固有のシグナリング(たとえば、「アダプテーションセット」)のような動作を実行することを受け持ちうる別の(内部)装置/コンポーネント4520を有していてもよい。
【0123】
図4のAに関して論じた問題の一部または全部に対処するために、図4のBは、本開示の実施形態によるマニフェスト生成器の例示的実装を概略的に示す。特に、先に示したように、上記で示したように、図4のBにおける同一または同様の参照番号は、特に指示がない限り、図4のAにおける同一または同様の要素を示し、その繰り返しの説明は、簡潔さの理由で省略されうる。
【0124】
特に、図4のBに関して示されるように、提案されるようなプリセレクション関連データ構造4451を利用することにより、コーデック固有のバイナリ・パーサの必要性を回避することができるだけでなく、マニフェスト生成器4501は、はいってくるストリーム4401の提案されるデータ構造4451からの事前生成された情報に依拠することができる。当業者によって理解され認識されうるように、このデータ構造4451は、所望される出力データ4611とすでに整列されている。したがって、本明細書で提案されるマニフェスト生成器4501は、図4のAに示されるような(コーデック固有の)プリセレクション・データ生成器4510とは異なり、バイト情報をマニフェスト・ファイルの表現、たとえばXMLに変換することのために応答するプリセレクション・データ・コンバータ4531を一般に必要とするだけである。
【0125】
要約すると、当業者によって理解され認識されるように、マニフェスト生成器の使用事例のための上記提案された手法は、一般に、少なくとも以下の利点を提供する。
・マニフェスト生成器におけるプリセレクション・データ処理の、フォーマットに関知しない実装;
・バイト・フォーマットのみでの実装は、バイナリ・データに対する、計算上のより高価な操作の必要性を回避する;
・既存の機能との高い重複のため、パッケージャにおいてプリセレクション・メタデータを実装するためのオーバーヘッドが低い;
・すべてのメディア・フォーマットについて、等しいマニフェスト生成器動作;
・実施者の労力がより少なく、試験の労力がより少なく、信頼性がより高く、産業に迅速に取り込まれる。
【0126】
上記および本開示の他所に示されるように、本開示で提案される技法は、オーディオ・ストリームならびにビデオ・ストリーム(またはそれらの組み合わせ)の処理に適用されうる。具体的には、ビデオ処理に関する場合、本発明をさらに理解するために、潜在的な使用事例のいくつかをより詳細に論じることは価値がある。
【0127】
1つの可能な使用事例は、フレームレート/解像度スケーラブルなビデオ処理を含みうる。より具体的には、(たとえば、ITU-T H.266としても知られるISO/IEC23090-3(「MPEG-I、Part 3」)において定義されるような多用途ビデオ符号化(VCC)のコンテキストにおける)いくつかの可能なMPEGコーデックは、同じストリームから複数の表示フレームレートを作成するオプションを提供することができる。たとえば、1つのストリームは、50Hzにデコードされることができ、または、より高い複雑さを代償として、100Hzにデコードされてもよい。当業者によって理解され認識されうるように、1つのストリームをいずれのフレームレートにもデコードできることは、本開示において提案されるようなプリセレクションの概念でカバーされうる。関連する使用事例では、1つのストリームは、50Hzのプリセレクションのためのビットだけを搬送し、第2のストリームが、100Hzのプリセレクションのための追加ビットを提供し、その結果、100Hzにデコードするためには、2つのストリームが100Hzのプリセレクションによって参照される。同様に、フレームレートをスケーリングする代わりに、画像の解像度がスケーリングされてもよく、よって、上記の例示は、マルチ解像度ストリームにも適用される。
【0128】
別の考えられる例示的な使用事例は、合同SDR/HDRストリームに関しうる。この特定の使用事例は、標準ダイナミックレンジ(SDR)におけるレガシー・ビデオと比較して、より高いコントラストを、および時にはより広い色域(wider color gamut、WCG)をも提供する高ダイナミックレンジ(HDR)の概念に関連しうる。後方互換性のある向上層を提供するシステムなどのシステムは、SDRディスプレイまたはHDR対応ディスプレイのいずれかのためにデコードされうるストリームを作成するために使用されうる。同じストリームまたは複数のストリームのいずれかから異なる経験を導出する可能性は、異なる経験に関連するプリセレクションと一緒にシグナリングされうる。
【0129】
さらに別のビデオ関連の使用事例は、ピクチャーインピクチャー(picture-in-picture、略してpip)の技法に関係しうる。具体的には、この使用事例では、ビデオ複合体(composition)の一部は、(たとえば、VCCにおける「サブピクチャー」の概念、または任意の他の好適な手段を使用することによって)異なるコンテンツによって置き換えられうる。一例は、表示の一部が、聴覚障害のある視聴者のためにコンテンツを解釈する手話通訳者のビデオ捕捉で置き換えられるニュース番組である。これは、最終的な経験が異なる部分から構成され、それらの部分がプリセレクションによって(集合的に)選択される別の例である。
【0130】
上記の可能な使用事例を論じたが、ここで図5図8を参照すると、本発明の実施形態による、メディア・ストリームを処理する方法の例を示すフローチャートが概略的に示されている。
【0131】
特に、大きな観点からは、図5および図6の方法のストリーム処理方法は、さまざまな実装および/または状況に応じて、一緒にまたは代替的に実装されうるトランスポート・フォーマット・ファイル(たとえば、ISOBMFF)中のプリセレクションに関係する情報を扱う(シグナリングする)ための2つの可能な解決策と見なされてもよい。一方、図7および図8の方法のストリーム処理方法は、図3のBおよび図4のBをそれぞれ参照して上述したパッケージャおよびマニフェスト生成器の可能な使用事例に対応するものと見ることができる。
【0132】
より具体的には、図5に示される方法5000は、ステップS5100において、事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受領することによって開始しうる。先に示したように、メディア・ストリームは、図3のBを参照して説明したパッケージャ3301によって準備されるメディア・ストリーム3401などの、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。方法5000は、ユーザー側で、または言い換えれば、さまざまな実装に依存して、限定されるものではないが、TV、サウンドバー、ウェブブラウザー、メディアプレイ、プラグインなどを含みうるユーザー側(デコード側)環境において実行されうる。事前定義されたトランスポート・フォーマットは、ISOによるISO/IEC14496-12 MPEG-4 Part 12によって規定されるようなベース・メディア・ファイル・フォーマット(ISOBMFF)、または任意の他の好適な(トランスポート)フォーマットでありうる。具体的には、パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含むことができる。上述のように、本開示全体を通して使用される「ボックス」という用語は、そのような特定の用語のみに限定されると理解されるべきではない。むしろ、「ボックス」という用語は、一般に、パケット化されたメディア・ストリーム内のメディア・データのためのプレースホルダーのはたらきをしうる、よって、他の適切な用語を使用することによって言及されうる任意の適切なデータ構造として理解されるものとする。さらに、当業者によって理解され認識されるように、複数のボックスは、さまざまな実装および/または要件に依存して、同じまたは異なるレベル(または位置)、ネストされた(子/サブボックスと親ボックス)などでありうる。複数のボックスは、他の可能性の中でも、メディア・ストリームのメディア(コンテンツ)コンポーネントを示すそれぞれのトラックを参照する(または言い換えれば、示す)一つまたは複数のトラック・ボックスを含みうる。大まかに言えば、メディア(コンテンツ)コンポーネントは、一般に、メディア・コンテンツの単一/個々の連続的なコンポーネントを指すことができる(また、典型的には、オーディオ、ビデオ、テキストなどの対応する(割り当てられた)メディア・コンテンツ・コンポーネント・タイプに関連付けられてもよい)。「メディア(コンテンツ)コンポーネント」の概念を理解するための例は、たとえばMPEG-DASH(ISO/IEC23009-1)において定義/説明されているように見出されうる。
【0133】
その後、ステップS5200において、方法5000は、メディア・ストリームが、プリセレクションを示す事前定義されたタイプのプリセレクション関連ボックスを含むかどうかを判定することを含んでいてもよく、該プリセレクションは、ユーザーへのメディア呈示に対応することができる。上述のように、「プリセレクション」という語句は、一般に、(たとえば、ユーザー側デバイスによって)一緒に消費されることが意図され、より詳細には、同時デコード/呈示のためにエンドユーザーによって選択されうるメディア呈示の1つのバージョンを一般に表す(メディア・ストリームの)メディア・コンテンツ・コンポーネントのセットを指すために使用される。むろん、当業者によって理解され認識されるように、いくつかの他の可能な技術的コンテキストにおいて、「プリセレクション」という用語は、たとえばETSI TS103190-2に記載されているような「呈示」、またはたとえばISO/IEC23008-3に記載されているような「プリセット」など(ただし、これらに限定されない)の他の適切な(同等の)用語を使用することによって知られていてもよい(または言及されてもよい)。よって、プリセレクション関連ボックスは、特定の事前定義された(または事前決定された)タイプの、メディア・ストリーム内の複数のボックスのうちの特定のボックスでありうる。プリセレクションを示すそのような特定のタイプは、当業者によって理解され認識されるように、任意の適切な手段を使用することによって、前もって事前定義(または事前決定)されうる。
【0134】
ステップS5300において、メディア・ストリームがプリセレクション関連ボックスを含むと判定された場合、方法5000は、ステップS5310において、プリセレクション関連ボックスに対応するメタデータ情報を解析するステップであって、メタデータ情報はプリセレクションの特性を示す、ステップと;ステップS5320において、メタデータ情報に基づいて、プリセレクションに寄与する、パケット化されたメディア・ストリーム内の一つまたは複数のトラックを識別するステップと;最後にステップS5330において、所与のプリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供するステップとをさらに含むことができる。当業者によって理解され認識されるように、上記に示されたメタデータ情報は、さまざまな実装に依存して、任意の適切な手段を使用することによって、メディア・ストリーム(または、より詳細には、(パケット化された)メディア・ストリームの複数のボックス)に(直接的に)含まれうるか、または該メディア・ストリームから(間接的に)導出可能でありうる。たとえば、メタデータ情報は、プリセレクション関連ボックスに(たとえば、そのサブボックスとして)何らかの形で関連付けられうるか、またはリンクされうるヘッダ・ボックスに含まれてもよい。上述のように、プリセレクションは、一般に、たとえば一つまたは複数の適切な下流のデバイス(たとえば、メディア・デコーダ、メディア・プレーヤーなど)によって、一緒に消費されることが意図されるメディア・コンテンツ・コンポーネントのセットを指す。下流のデバイスは、いくつかの可能な場合には単に「シンク」と呼ばれることもある。結果として、さまざまな実装および/または要件に依存して、下流の処理は、これに限定されるものではないが、上記で説明したように、それらの寄与トラックを多重化(または再多重化)、順序付け、マージ、デコード、またはレンダリングすることを含みうる。
【0135】
上記のように構成されると、提案される方法5000は、一般に、特定のプリセレクションに寄与するように構成されるメディア・ストリーム内のトラックを決定/識別し、その後シグナリングするための効率的であるが柔軟な方式を提供し、それにより、(たとえば、一つまたは複数の下流のデバイスによる)そのような寄与トラックのさらなる下流の処理を可能にしうる。よって、大まかに言えば、提案される方法は、トランスポート層ファイル(たとえば、ISOBMFF)中のプリセレクション(および可能性としてはその処理)を示す情報をシグナリングする可能性および能力を統一された様式で提供すると見なされうる。これは、図1のA、図2図3のBおよび図4のBを参照して上記で詳細に説明されたものなど、さまざまな使用事例またはシナリオにおいて有益であると考えられうる。
【0136】
特に、当業者によって理解され認識されうるように、国際標準化機構(ISO)は、国際電気標準会議(IEC)とともに、ISO/IEC14496-12、Information technology-Coding of audiovisual objects-Part 12:ISO base media file formatと題するある技術の実装のための機能文書を共同で発行している(最新版は2020年に発行され、https://www.iso.org/standard/74428.htmlで入手可能)。もともとは動画像専門家グループ(MPEG)によって起草されたこの文書は、他のより具体的なファイル・フォーマットの基礎をなす一般的なフォーマットであるISOベース・メディア・ファイル・フォーマット(または、略してISOBMFF)を規定する。
【0137】
すでに上で示されたように、ISOBMFF内のメディア情報は、典型的には、「ボックス」と呼ばれるビルディング・ブロックを利用することによって、階層的なオブジェクト指向の仕方で構造化される。これらのデータ構造は、一意的なタイプ識別子および長さによって定義され、ネストまたは連結されて、全体的なファイル構造を形成することができる。
【0138】
1つの単一のビデオまたはオーディオ・コンポーネントなどのファイル・フォーマット内の個々のメディア・データは、メディア・エンコーダによって前もって生成されたエレメンタリー・ストリームとして表される「トラック」と呼ばれることがある。
【0139】
このファイル・フォーマットは、オーディオビジュアル呈示などのメディア・データのタイミングをとった(timed)諸シーケンスのためのタイミング、構造、およびメディア情報を含む。ISO/IEC14496-12は、メディア・コンポーネントの特性を記述するためのいくつかの手段をすでに含んでいる。そのような記述要素または専用ボックスは、ムービー・ヘッダ(「moov」)ボックス内の個々のトラックおよびサブトラックに割り当てられる。そのような利用可能なボックスは、「拡張された言語タグ」(「elng」)を含む。ボックスまたはカインド(「kind」)ボックスを含む。
【0140】
図5を参照して詳細に上述したように、トラックまたはサブトラックの組み合わせの特性をシグナリングする目的で、本開示は、一般に、いくつかの可能な実装として、たとえばムービー・ヘッダ(または任意の他の適切なボックス)内のトラックの定義と並行して使用される新たなデータ構造を提供することを提案する。それにもかかわらず、これらのいわゆるプリセレクションのそれぞれをそれらを構成するメディア・トラック(寄与するメディア・トラック)にリンクすることは本提案の一部ではあるが、それらのそれぞれの特性をシグナリングするための既存の手段は、可能な限り再利用されるべきであることに留意されたい。
【0141】
たとえば、いくつかの可能な実装では、2つの新しいボックスが導入されてもよく、1つのコンテナ・ボックスは、DASHプリセレクション要素の対応物を形成し、すべての記述的および構造的メタデータを子ボックスとして取ると考えられてもよく、別のボックスは、プリセレクションを作成するために構造的メタデータを取る(必須の)ヘッダ・ボックスであってもよい。むろん、上記で詳細に説明したように、必要であれば、任意のさらなる適切なボックス(たとえば、処理関連ボックス)も含められてもよい。そのような場合、プリセレクションを諸トラックにリンクすることは、たとえば、各トラックのトラック・ヘッダにおける一意的なトラック識別子(ID)割り当てを利用することによって達成されうる。プリセレクションは、一般に、外部アプリケーションによって参照される必要があるので、一意的な識別子がしかるべく割り当てられるものとする。特に、プリセレクション識別子は、バンドル全体の範囲内で、すなわち、このメディア呈示のために利用可能なすべてのISOBMFFファイルにわたって一意的であるものとする。さらに、エンコードされたメディア・フォーマットは、異なる割り当てを利用することができるので、さらなる要素(単数または複数)が、しかるべく定義および/または設定される必要がある場合がある(たとえば、メディア・フォーマットなどで使用されるそれぞれの識別子をマッピングするために対応するタグを使用する)。
【0142】
それに鑑み、特にISOBMFFのコンテキスト内でプリセレクションをサポートするために、図5に関して上述したような提案される方法を実装する目的で、いくつかの可能な実装では、ISO14496-12、セクション8を以下のテキストで修正する(作成する、または置き換える)ことが一般に提案されうる。
【0143】
3.1 用語および定義
3.1.x プリセレクション
同時デコード/呈示のためにユーザーによって選択されうるメディア呈示の1つのバージョンを表す一つまたは複数のメディア・コンポーネントのセット。
3.1.y バンドル
複数のトラックのセット。必ずしも、メディア呈示の全体的な利用可能な経験を与える1つの単一のISOBMFFファイル中に含まない。
【0144】
8.18 プリセレクション構造
8.18.1 はじめに
8.18.2 後方互換性
8.18.3プリセレクション・ボックス
定義
ボックス・タイプ:'pres'
コンテナ:ムービー・ボックス('moov')、ムービー・フラグメント・ボックス('moof')
必須:いいえ
量:ゼロ以上
これは、単一のプリセレクションのためのコンテナ・ボックスである。プリセレクションは、1つの特定のエンドユーザー経験の記述および技術的組成を提供する。メディア呈示内の利用可能な各プリセレクションについて1つのプリセレクション・ボックスが存在すべきである。
【0145】
必須のプリセレクション・ヘッダ・ボックスは、プリセレクションを構成するすべてのトラックへの必要な参照を含む。さらに、該ボックスは、選択プロセスのために使用可能な識別子を提供する。
【0146】
プリセレクションのプロパティは、拡張言語ボックスまたはカインド・ボックスのような追加のボックスを使用して示される。複数のプリセレクションが同じ共通のプロパティを共有する場合、コンテンツ作成者は、ラベル・ボックスを通じて適切なテキスト記述を提供すべきである。
シンタックス
aligned(8) class PreselectionBox extends Box('pres'){
}
【0147】
8.18.3プリセレクション・ヘッダ・ボックス
定義
ボックス・タイプ:'prhd'。
コンテナ:プリセレクション・ボックス('pres')
必須:はい
量:ちょうど1つ
このボックスは、単一のプリセレクションの特性を指定する。プリセレクションには、ちょうど1つのプリセレクション・ヘッダ・ボックスが含まれる。
preselection_idおよびpreselection_tagは、それぞれアプリケーションまたはメディア・コーデックに対するプリセレクションの識別を提供する。これらは、呈示を選択するために使用されうる。
selection_priorityは、他の区別が提供されない場合に、任意の自動化された選択プロセスをガイドするために使用されるべきである。プリセレクション要素の優先度を決定するためにプリセレクション要素の順序を評価することは、回避されるべきである。
シンタックス
【表1】
セマンティクス
versionは、このボックスのバージョンを指定する整数(この仕様では0)である。
flagsは、諸フラグを有する24ビット整数であり、値はまだ定義されていない。
preselection_idは、外部アプリケーションに対して一意的な識別子を宣言する整数である。
preselection_tagは、使用されるメディア・コーデックに対して識別子を宣言する整数である。
selection_priorityは、メディア言語を通じてなどの他の区別が可能でない場合に、プリセレクションの優先度を宣言する整数である。数字が小さいほど優先度が高いことを示す。
n_tracksは、プリセレクションを形成するのに必要なトラックの数を宣言する整数である。
track_IDは、トラックをそれぞれ一意的に識別する整数の配列である。この配列内のすべてのトラックのリストは、プリセレクションのために必要とされるtrack_ID値を通じて参照する。
【0148】
8.18.4ラベルおよびグループ・ラベル・ボックス
定義
ボックス・タイプ:'labl'。
コンテナ:プリセレクション・ボックス('pres')および任意的には他のもの
必須:いいえ
量:ゼロ以上
このボックスは、コンテナ含有構造にテキスト記述で注釈を付けるために使用できる。この記述は、何らかの形のテキスト表示でユーザーに呈示されることが意図されており、自動化された選択プロセスを意図されていない。
複数のボックスが、異なる言語でテキスト記述を提供するために使用できる。
シンタックス
aligned(8) class LabelBox
extends Box(‘labl’){
template unsigned int(16) label_id=0;
string language〔言語〕
String label〔ラベル〕
}
セマンティクス
label_idは、外部アプリケーションによって使用可能な識別子を含む整数である。
languageは、「en-US」、「fr-FR」、または「zh-CN」などのRFC4646(BCP47)準拠言語タグ文字列を含むNULL終端C文字列である。
labelは、テキスト記述を含むNULL終端Cストリングである。
【0149】
結果として、以下に示されるように下線で強調された行を用いて(同じ文書ISO14496-12における)テーブル1を更新することがさらに提案されうる。
【表2-1】
【表2-2】
【表2-3】
【0150】
さらに、既存のボックスのいくつかに、新しい、コンテナとしてのプリセレクション・ヘッダ・ボックスを導入することが提案されうる。たとえば、(同じ文書ISO14496-12における)既存のボックス定義を以下のように修正することが提案されうる。
【0151】
8.4.6 拡張言語タグ
8.4.6.1 定義
ボックス・タイプ:'elng'
コンテナ:メディア・ボックス('mdia')、プリセレクション・ヘッダ・ボックス('prhd')
必須:いいえ
量:ゼロまたは1
[…]
【0152】
先述したように、上記で提案される修正は、単に一つの可能な実装例であり、むろん、唯一のものではない。たとえプリセレクションに関する提案されるボックスの特定の名称が上記で与えられ/提案されていたとしても、これらのボックスは異なる名称とされてもよい。同様に、たとえ上記で提案されるプリセレクション関連ボックスが'moov'ボックスの下にネストされているように見えるとしても、これらのボックスは、むろん、他の箇所で実装されてもよい。これは当業者には理解され認識されるであろう。ある可能な例では(むろん、いかなる限定でもない)、これらのプリセレクション関連ボックスは、ISOBMFFにおけるいわゆる'EntityToGroupBox'または他の任意の好適な場所に関連付けられてもよい(たとえば、その下にネストされてもよい)。同様に、当業者によって理解され認識されるように、標準が進歩および/または発展するにつれ、上述した例示的な表(またはその中の要素)および例示的なセクションは、異なる名称および/または(階層的な)位置をもつことがありうる。いくつかの可能な場合には、上述した例示的な表(またはその一部)および/またはセクションは、部分的または完全にすたれる(時代遅れになる)ことさえあり、それぞれのプリセレクション関連情報は、それまでに適切と考えられるようになる他の箇所で定義される必要があることがありうる。
【0153】
ここで図6を参照すると、本発明の実施形態による、メディア・ストリームを処理する方法6000の別の可能な例のフローチャートが示されている。上記のように、図6の方法は、一般に、上述した図5の方法の代替(またはいくつかの可能な場合には追加)と見られてもよい。
【0154】
具体的には、方法6000は、ステップS6100において、事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受領することによって始まる。上記と同様に、メディア・ストリームは、図3のBを参照して説明したパッケージャ3301によって準備されるメディア・ストリーム3401などの、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。方法6000は、ユーザー側で、または言い換えれば、さまざまな実装に依存して、限定されるものではないが、TV、サウンドバー、ウェブブラウザー、メディアプレイ、プラグインなどを含みうるユーザー側(デコード側)環境において実行されうる。事前定義されたトランスポート・フォーマットは、ISOによるISO/IEC14496-12 MPEG-4 Part 12によって規定されるようなベース・メディア・ファイル・フォーマット(または略してISOBMFF)、または任意の他の好適な(トランスポート)フォーマットでありうる。具体的には、パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含むことができる。複数のボックスは、他の可能性の中でも、メディア・ストリームのメディア(コンテンツ)コンポーネントを示すそれぞれのトラックを参照する(または言い換えれば、示す)一つまたは複数のトラック・ボックスを含みうる。
【0155】
その後、ステップS6200において、方法6000は、メディア・ストリーム中に存在するプリセレクションのフルの(または完全な/全)セットを決定するために、メディア・ストリーム内のトラック・ボックスをチェックする(たとえば、訪れる、巡回する)ことを含んでいてもよい。具体的には、プリセレクションの完全なセットの決定は:トラック・グループ識別子およびトラック・グループ・タイプの一意的なペアのセットを決定し、それぞれのトラック・グループ識別子によってプリセレクションをアドレッシングすることを含んでいてもよい。上記のように、各プリセレクションはそれぞれのトラック・グループに関連付けられ、該トラック・グループ自身は、対応するトラック・グループ識別子および対応するトラック・グループ・タイプのそれぞれのペアによって識別される。こうして、プリセレクションは、それに関連付けられた/リンクされたそれぞれのトラック・グループ識別子によってアドレッシングされ(または識別され)うる。
【0156】
方法6000はさらに、S6300において、プリセレクションのフル・セットのうちからプリセレクションを選択することを含んでいてもよい。具体的には、プリセレクションは、同じトラック・グループ識別子をもつトラック・グループ・ボックスに含まれるそれぞれのプリセレクションの属性(たとえばメタデータまたは他の好適な形で表される)に基づいて選択されうる。
【0157】
その後、ステップS6400において、方法6000は、選択されたプリセレクションに寄与する一つまたは複数のトラック・ボックスのセットを決定することを含んでいてもよい。特に、(同じ)プリセレクションに寄与する一つまたは複数のトラック・ボックスのセットは、同じトラック・グループ識別子をもつ(それぞれの)トラック・グループ・ボックスの存在によって識別されてもよい。
【0158】
さらに、ステップS6500において、方法6000は、プリセレクションに寄与する一つまたは複数のトラックとして、上記で決定された一つまたは複数のトラック・ボックスのセットの各メンバー(要素)において参照されているトラックを決定することを含んでいてもよい。
【0159】
最後に、ステップS6600において、方法6000は、プリセレクションに従って、下流の処理のための前記一つまたは複数のトラックを提供することを含んでいてもよい。上記のように、プリセレクションは、一般に、たとえばメディア・デコーダ、メディア・プレーヤーなどの一つまたは複数の適切な下流のデバイス(または、いくつかの可能な場合には、シンクと呼ばれる)によって一緒に消費されることが意図されるメディア・コンテンツ・コンポーネントのセットを指す。結果として、さまざまな実装および/または要件に依存して、下流の処理は、以下でより詳細に説明するように、それらの寄与トラックの多重化(または再多重化)、順序付け、マージ、デコード、またはレンダリングを含みうるが、それらに限定されない。
【0160】
上述のように構成されると、提案される方法6000は、一般に、特定のプリセレクションに寄与するように構成されたメディア・ストリーム内のトラックを決定/識別し、その後シグナリングするための効率的であるが柔軟な方法を提供し、それにより、(たとえば、一つまたは複数の下流のデバイスによる)そのような寄与トラックのさらなる適切な下流の処理を可能にしうる。特に、第1の側面において上記で提案された方法は、一般に、プリセレクション関連ボックス内の特定のプリセレクションに寄与するように構成された(すべての)トラックのために関連情報を提供しようとし、それにより、すべての寄与トラックのインデックス付け(または識別)を可能にすることに留意されたい。この意味で、図5の上記の方法5000で説明したようなトラックのインデックス付けは、順(直接)インデックス付けの一種と見なすことができる。対照的に、図6に示される方法6000では、特定のプリセレクションに寄与するトラックが、トラック・グループ・タイプとトラック・グループ識別子とのペアによって合同で決定されうる。より具体的には、特定の(たとえば、事前定義されたまたは事前決定された)トラック・グループ・タイプを有するトラック・グループ・ボックスを有する(たとえば、含む)諸トラックは、一般に、該トラックがプリセレクションに寄与することを示すことができる。さらに、同じトラック・グループ識別子を有する諸トラックは、一般に、それらのトラックが同じプリセレクションに属する(寄与する)ことを示しうる。この意味で、図5で提案されたものに比べ、図6を参照して説明されるトラックのそのようなインデックス付けは、ある種の逆インデックス付けと見なされうる。いずれにせよ、図5と同様に、図6の提案される方法6000も、トランスポート層ファイル(たとえば、ISOBMFF)においてプリセレクション(および可能性としてはその処理)を示す情報を、統一された仕方でシグナリングする可能性および能力を提供しうる。これは、図1のA、図2図3のB、図4のBを参照して上記で詳述したさまざまな使用事例またはシナリオにおいて有益であると考えられうる。
【0161】
特に、図5と同様に、図6に関して上述した提案される方法6000を実施する目的で、特にISOBMFFのコンテキスト内でプリセレクションをサポートするために、いくつかの可能な実装では、一般的に、(図5を参照して提案されるものの代わりに、またはそれに加えて)ISO14496-12を以下のテキストで修正する(作成する、または置き換える)ことが提案されうる。
【0162】
3.1 用語および定義
3.1.x プリセレクション
同時デコード/呈示のためにユーザーによって選択されうるメディア呈示の1つのバージョンを表す一つまたは複数のメディア・コンポーネントのセット。
3.1.y メディア・コンポーネント
【0163】
ISO14496-12、セクション8.3.4.3を、以下の下線を付した行で修正することが一般的に提案されうる。
track_group_typeは、grouping_typeを示し、以下の値、または登録された値、または派生した仕様もしくは登録からの値のうちの1つに設定されるものとする。
'msrc'は、このトラックがマルチソース呈示に属することを示す。8.3.4.4.1に規定されている。
'ster'は、このトラックが、立体ディスプレイ上での再生に適したステレオ・ペアの左ビューまたは右ビューのいずれかであることを示す。02において規定される。
'pres'は、このトラックがプリセレクションに寄与することを示す。8.3.4.4.3において規定される。
track_group_idとtrack_group_typeのペアは、ファイル内のトラック・グループを識別する。track_group_idとtrack_group_typeの同じ値をもつ特定のTrackGroupTypeBoxを含む諸トラックは、同じトラック・グループに属する。
【0164】
一般に、ISO14496-12、セクション8.3.4.4.3を以下の行で修正(または作成)することが提案されうる。
8.3.4.1.3 プリセレクション・ボックス
8.3.4.1.3.1 定義
'pres'に等しいtrack_group_typeを有するTrackGroupTypeBoxは、このトラックがプリセレクションに寄与することを示す。
PreselectionGroupBox内のtrack_group_idの同じ値を有する諸トラックは、同じプリセレクションの一部である。
プリセレクションは、言語、種類〔カインド〕、またはオーディオ・レンダリング指示もしくはチャネル・レイアウトのようなメディア固有の属性によって修飾されうる。プリセレクション・ボックス内でシグナリングされる属性は、寄与トラック内でシグナリングされる属性よりも優先されるものとする。
プリセレクションを一意的に限定するすべての属性は、プリセレクションの少なくとも1つのプリセレクション・ボックスに存在するものとする。プリセレクションの2つ以上のプリセレクション・ボックスに存在する場合、それらのボックスは同一であるものとする。
注:プリセレクションは、同じメディア・タイプのトラックのみをグループ化する。
少なくとも1つのプリセレクションのための必要なすべてのメディア・コンポーネントを含まないトラックは、そのトラック・ヘッダ・ボックス内で、「0」に設定されたtrack_in_movieフラグを有するものとする。これは、プリセレクション・ボックスを理解しないプレーヤーがそのトラックを再生して不完全な経験をもたらすことを防止する。
注:1に設定されたtrack_in_movieフラグを有する1つのトラックを有することは、良い慣行である。これは、このトラックが少なくとも1つの完全な経験を提供することを意味する。
【0165】
8.3.4.1.3.2 シンタックス
aligned(8) class PreselectionGroupBox extends TrackGroupTypeBox('pres')
{
if (flags & 1){
unsigned int(8) selectionPriority=1
}
if (flags & 2) {
unsigned int(8) order=0
}
PreselectionInformationBox()
PreselectionProcessingBox()
}
【0166】
8.3.4.1.3.3 セマンティクス
selection_priorityは、メディア言語を通じてなどの他の区別が可能でない場合に、プリセレクションの優先度を宣言する整数である。数字が小さいほど優先度が高いことを示す。
orderは、以下に列挙されるセットからの、[MPEG-DASH]によるプリセレクション内の適応セット内の表現のための準拠規則を指定する。
0: undefined(未定義)
1: time-ordered(時間順序付けされる)
2: fully-ordered(完全に順序付けされる)
【0167】
8.3.4.1.3.4 プリセレクション情報ボックス
8.3.4.1.3.4.1 定義
ボックス・タイプ: 'prsi'
コンテナ:プリセレクション・ボックス
必須:はい
量:ちょうど1つ
このボックスは、プリセレクションについてのすべての意味的情報を総合する。
【0168】
8.3.4.1.3.4.2 シンタックス
aligned(8) class PreselectionInformationBox
extends FullBox('prsi', version=0, 0 ){
// プリセレクションを記述する諸ボックス
}
8.3.4.1.3.4.3 セマンティクス
8.3.4.1.3.4.5 プリセレクション処理ボックス
8.3.4.1.3.4.5.1 定義
ボックス・タイプ:'prsp'
コンテナ:プリセレクション・ボックス
必須:はい
量:ちょうど1つ
このボックスは、プリセレクションに寄与するトラックがどのように処理されるかの情報を含む。さらなる処理を記述するために、メディア・タイプ固有のボックスが使用されてもよい。
【0169】
8.3.4.1.3.4.5.2 シンタックス
aligned(8) class PreselectionProcessingBox
extends FullBox('prsp', version=0,0){
string preselection_tag;
unsigned int(8) track_order
unsigned int(1) sample_merge_flag
unsigned int(7) reserved
// プリセレクションに寄与するトラックの
// 追加的な処理を定義する諸ボックス
}
8.3.4.1.3.4.5.3 セマンティクス
preselection_tagは、ラベルについての識別子を含む整数である。同じ値をもつ諸ラベルはラベル・グループに属する。ゼロのデフォルト値は、そのラベルがいかなるラベル・グループにも属さないことを示す。
track_orderは、トラックがデコーダに提供される順序を定義する。より小さなtrack_orderをもつトラックが、先にデコーダに与えられる。複数のトラックがtrack_orderの同じ値をもつ場合、順序は重要でない。
sample_merge_flag:このフラグが「1」に設定される場合、このトラックの各サンプルは、次の、より小さいtrack_order値をもつトラックのサンプルにアペンドされる。「0」に設定される場合、このトラックは分離されたデコーダ・インスタンスに与えられる。
【0170】
さらに、ISO14496-12、セクション8.18.4を以下のように作成(または修正または置換)することが提案されうる。
【0171】
8.18.4 ラベルおよびグループ・ラベル・ボックス
定義
ボックス・タイプ:'labl'
コンテナ:トラック内のコンテナ・ユーザー・データ・ボックス('udta'、プリセレクション・ボックス('pres'))
必須:いいえ
量:ゼロ以上
ラベルは、ラベルが割り当てられる要素のコンテキストの記述を提供するために、ISOBMFFファイル内のデータ構造に注釈付けする能力を提供する。そのようなラベルは、たとえば、選択肢をユーザーに提供するために再生クライアントによって使用されてもよい。ラベルは、別のコンテキストでは単純な注釈付けのために使用されてもよい。
さらに、グループ内に集められた諸ラベルの概要またはタイトルを与えるために、GroupLabel要素が、より高いレベルで追加されてもよい。一例は、ラベルのメニューのコンテキストを与えるために、メニューにおいてこれが使用されるというものでありうる。
【0172】
テキスト記述を与えるために複数のラベルが使用されることができる。多言語の聴取者にプリセレクションを注釈付けするために、注釈は、プリセレクションの言語とは異なる言語で与えられてもよい。
【0173】
シンタックス
aligned(8) class LabelBox
extends FullBox('labl', version=0, 0 ){
unsigned int(8) is_group_label = 0;
unsigned int(16) label_id = 0;
utf8string language;
utf8string label;
}
セマンティクス
is_group_labelは、そのラベルがラベルのグループについての概要ラベルを含むかどうかを指定する。
label_idは、そのラベルについての識別子を含む整数である。同じ値をもつ諸ラベルはラベル・グループに属する。ゼロのデフォルト値は、そのラベルがいかなるラベル・グループにも属さないことを示す。
languageは、「en-US」、「fr-FR」、または「zh-CN」などのRFC4646(BCP47)準拠言語タグ文字列を含むNULL終端C文字列である。言語は、そのラベルのターゲットとされる言語である。
labelは、テキスト記述を含むNULL終端Cストリングである。
【0174】
ISO14496-12、セクション8.18.4を以下のように作成(または修正または置換)することがさらに提案されてもよい。
【0175】
8.18.5 オーディオ・レンダリング指示ボックス
定義
ボックス・タイプ:'ardi'
コンテナ:プリセレクション・ボックス('pres')
必須:いいえ
量:ゼロまたは1
オーディオ・レンダリング指示ボックスは、好ましい再生チャネル・レイアウトのためのヒントを含む。
シンタックス
aligned(8) class AudioRenderingIndicationBox
extends FullBox('ardi', version=0, 0){
unsigned int(8) audio_rendering_indication = 0;
}
セマンティクス
audio_rendering_indicationは、テーブル2に従ってコーディングされた、好ましい再生チャネル・レイアウトのためのヒントを含む。
【表3】
【0176】
特に、上記で説明したような新たに提案されたプリセレクション関連ボックスに基づいて、図5を参照して説明したような上記のテーブル1にさらに提案することもできる。これは当業者によって理解され認識されるであろう。よって、その詳細は、簡潔のため、繰り返さない。
【0177】
さらに、既存のボックスのいくつかに新しい、コンテナとしてのプリセレクション・ヘッダ・ボックスを導入することがさらに提案されてもよい。たとえば、下線または取り消し線で強調されたテキストによって既存のボックス定義を修正することが提案されうる。
8.4.6 拡張言語タグ
8.4.6.1 定義
ボックス・タイプ:'elng'
コンテナ:メディア・ボックス('mdia')、プリセレクション・ボックス('pres')
必須:いいえ
量:0または1
[…]
8.10.1 ユーザー・データ・ボックス
8.10.4.1 定義
ボックス・タイプ:'udta'
コンテナ:ムービー・ボックス、トラック・ボックス、ムービー・フラグメント・ボックス、
[外1]
トラック・フラグメント・ボックス、またはプリセレクション・ボックス
必須:いいえ
量:0または1
[…]
8.10.4 トラック種類
8.10.4.1 定義
ボックス・タイプ:'kind'
コンテナ:トラック内のコンテナ・ユーザー・データ・ボックス('udta')またはプリセレクション・ボックス('pres')
必須:いいえ
量:0または1
12.2.4 チャネル・レイアウト
8.10.4.1 定義
ボックス・タイプ:'chnl'
コンテナ:オーディオ・サンプル・エントリーまたはプリセレクション・ボックス
必須:いいえ
量:0または1
[…]
【0178】
ここでもまた、前述したように、図6の方法を参照して説明された上記の提案された修正は、単に1つの可能な実装例として理解されるべきであり、むろん、唯一のものではない。たとえプリセレクションに関する提案されるボックスのいくつかの特定の名称が上記で与えられ/提案されていたとしても、これらのボックスは異なる名称とされてもよい。同様に、たとえ上記で提案されるプリセレクション関連ボックスが何らかの特定ボックスに関連付けられているように見えるとしても、これらのボックスは、むろん、他の箇所で実装されてもよい。これは当業者には理解され認識されるであろう。
【0179】
ここで図7を参照すると、本発明の実施形態による、メディア・ストリームを処理する方法7000の例示的なフローチャートが概略的に示されている。上記と同様に、メディア・ストリームは、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。特に、方法7000は、エンコード側環境(たとえば、メディア・エンコーダ)上で実行されうる。いくつかのシナリオ(または使用事例)では、そのようなエンコーダは、図2の2300-A~Cまたは図3のBの3301として例示されるように、(メディア)パッケージャと呼ばれることもある(すなわち、メディア入力をパック/パケット化するように構成される)。
【0180】
特に、方法7000は、ステップS7100において、事前定義されたトランスポート・フォーマットに従って一つまたは複数のエレメンタリー・ストリームをカプセル化して、パケット化されたメディア・ストリームを生成することを含んでいてもよい。パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含む。上記と同様に、事前定義されたトランスポート・フォーマットは、ISOによるISO/IEC14496-12 MPEG-4 Part 12によって規定されるようなベース・メディア・ファイル・フォーマット(または略してISOBMFF)、または任意の他の適切な(トランスポート)フォーマットでありうる。
【0181】
より具体的には、一つまたは複数のエレメンタリー・ストリームをカプセル化するステップS7100は、ステップS7110において、トランスポート・フォーマットに従って前記一つまたは複数のエレメンタリー・ストリームのメディア・データをパケット化して、前記一つまたは複数のエレメンタリー・ストリームのそれぞれのトラックを参照する(または示す)一つまたは複数のトラック・ボックスを生成することと;ステップS7120において、前記一つまたは複数のエレメンタリー・ストリームのヘッダ情報に基づいて、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスを生成することとを含み、前記一つまたは複数のプリセレクション関連ボックスのそれぞれは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す。
【0182】
上記のように構成されると、提案される方法は、概して、事前定義されたトランスポート・フォーマット(たとえば、ISOBMFF)に従ってメディア入力(たとえば、エレメンタリー・ストリーム)をパケット化するための効率的であるが柔軟な方法を提供しうる。より具体的には、パケット化されたメディア・ストリームとともに一つまたは複数のプリセレクション関連ボックス(そのそれぞれがそれぞれのプリセレクションを示す)を生成し、含めることによって、提案される方法は、コーデックに関知しない統一された仕方でプリセレクションを表すことも可能にし、それにより、(たとえば、前述の第1および第2の側面において提案された方法に従って)対応するプリセレクションに寄与するトラックの適切な下流の処理をさらに可能にすることができる。さらに、上記で示したように、プリセレクションのそのような統一された表現は、マニフェスト(たとえば、MPEG Dynamic Adaptive Streaming over HTTP、DASH、フォーマット・ファイル、またはHTTP Live Stream、HLS、フォーマット・ファイル)生成器におけるプリセレクション・データ処理の、フォーマットに関知しない実装も可能にし、それにより、バイナリ・データに対する、計算的により費用のかかる操作の必要を回避し、同時に、実装労力が低減され、信頼性が向上する。
【0183】
図8は、本発明の実施形態による、メディア・ストリームを処理する方法8000のさらに別の例を示す概略フローチャートである。メディア・ストリームは、オーディオ・ストリーム、ビデオ・ストリーム、またはそれらの組み合わせでありうる。方法8000は、マニフェスト生成器、たとえば、図2の2500または図4のBの4501として例示されるマニフェスト生成器によって実行されてもよい。
【0184】
特に、方法8000は、ステップS8100において、事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受領することを含むことができる。より具体的には、パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含むことができ、複数のボックスは、メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する(たとえば、示す)一つまたは複数のトラック・ボックスと、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスとを含むことができ、各プリセレクション関連ボックスは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す。
【0185】
さらに、方法8000は、ステップS8200において、一つまたは複数のプリセレクション関連ボックスに基づいてマニフェスト・ファイルを生成することを含んでいてもよい。
【0186】
上述のように構成されて、提案される方法は、一般に、プリセレクション関連情報(たとえば、記述情報および/または処理関連情報)も考慮に入れることによってマニフェスト・ファイルを生成するための効率的であるが柔軟な方法を提供することができる。より具体的には、メディア・ストリームに関する情報とは別に、提案される方法は、プリセレクションに関連する情報をさらに含むことができる。プリセレクション関連情報は、メタデータ情報、処理情報などを含むことができるが、これらに限定されるものではない。従来の(マニフェスト生成)技術と比較して、マニフェスト・ファイルの生成のための提案される方法は、一般に、プリセレクション関連データを扱うための、フォーマットに関知しない実装を提供し、それにより、計算的により高価な操作(たとえば、従来の技術においてバイナリ・データに対して実行されなければならない動作)を回避し、実装および/またはテストの労力を低減し、信頼性を高めることができる。
【0187】
要約すると、図面を参照して提案され、上述された方法は、一般に、「プリセレクション」を考慮に入れることによってメディア・ストリームを処理するための技術に関する。そのような「プリセレクション」に関知する技法は、さまざまな潜在的な使用事例を可能にしうる。1つの可能な使用事例は、上述のように、いくつかの言語(字幕)の中から選択することを含みうる。
【0188】
別の可能な例示的な使用事例は、ナラティブの重要性に関連しうる。特に、可能性としては聴覚障害者のニーズに対処するために、または、可能性としてはオーディオ複合体を種々の聴取条件に適応させるために、ダイアログ向上のような技法が必要とされることがある。これは一般的に言えば、ダイアログ・レベル対バックグラウンド・レベルの比を改善するために使用される。そのようなダイアログ向上技法の拡張として、ダイアログ了解性を改善するために、複合体からオーディオ要素全体を選択的かつ漸進的にドロップするための追加的な施策が提案されている。そのような場合、「完全な素材」から「ダイアログのみ」までの連続体をいくつかのプリセレクションにマッピングし、本開示の方法を使用することが可能である。
【0189】
さらなる考えられる使用事例は、聴衆ターゲティングに関連しうる。より具体的には、時には、言語を超えて特定の聴衆をターゲットにすることが有益であることがある。一例として(ただし、いかなる種類の限定としてでもなく)、それぞれ、いずれかのチームにバイアスされた2人のスポーツ試合解説者が提供されてもよい。この場合、異なるプリセレクションは、異なるスポーツ試合解説者を含むか、または参照することができる。
【0190】
さらに別のプリセレクション関連の使用事例は、再生環境適応に関するものであってもよい。すなわち、コンテンツ作成者は、TVの内蔵スピーカーまたはヘッドフォン・バージョンと比較して、ホームシネマ・セットアップなどの異なる再生環境をターゲットにする専用バージョンを生成することがある。この場合、異なるプリセレクションは、異なる再生環境のための異なるオーディオに関連しうる。
【0191】
最後に、本発明は、同様に、本開示全体にわたって説明される方法および技法を実行するための装置(複数可)に関する。図9は、そのような装置9000の例を一般的に示す。特に、装置9000は、プロセッサ9100と、プロセッサ9100に結合されたメモリ9200とを含む。メモリ9200は、プロセッサ9100のための命令を記憶しうる。プロセッサ9100はまた、さまざまな使用事例および/または実装に依存して、とりわけ入力データ(たとえば、メディア入力、パケット化されたメディア・ストリームなど)を受領しうる。プロセッサ9100は、さまざまな使用事例および/または実装に依存して、本開示全体にわたって説明された方法/技法(たとえば、上記で示した方法5000、6000、7000および8000)を実行し、対応して出力データ9400(たとえば、パケット化されたメディア・ストリーム、マニフェスト・ファイルなど)を生成するように適応されうる。たとえば、装置9000は、状況に応じて、本発明の実施形態に従って、図7に関して上で示したようなメディア・ストリームを処理する方法7000を実行するように構成されたパッケージャを実装することができ、または図8に関して上で示したようなメディア・ストリームを処理する方法8000を実行するように構成されたマニフェスト生成器を実装することができる。
【0192】
解釈
上記の技法を実装するコンピューティングデバイスは、以下の例示的なアーキテクチャーを有することができる。より多くのまたはより少ない構成要素を有するアーキテクチャーを含む他のアーキテクチャーも可能である。いくつかの実装では、例示的なアーキテクチャーは、一つまたは複数のプロセッサ(たとえば、デュアルコアIntel(登録商標)Xeon(登録商標)プロセッサ)、一つまたは複数の出力デバイス(たとえば、LCD)、一つまたは複数のネットワークインターフェース、一つまたは複数の入力デバイス(たとえば、マウス、キーボード、タッチセンシティブディスプレイ)、および一つまたは複数のコンピュータ可読媒体(たとえば、RAM、ROM、SDRAM、ハードディスク、光ディスク、フラッシュメモリなど)を含む。これらの構成要素は、一つまたは複数の通信チャネル(たとえば、バス)を介して通信およびデータを交換することができ、通信チャネルは、構成要素間のデータおよび制御信号の転送を容易にするためのさまざまなハードウェアおよびソフトウェアを利用することができる。
【0193】
「コンピュータ可読媒体」という用語は、実行のためにプロセッサに命令を提供することに関与する媒体を指し、限定されるものではないが、不揮発性媒体(たとえば、光学または磁気ディスク)、揮発性媒体(たとえば、メモリ)および伝送媒体を含む。伝送媒体は、限定されるものではないが、同軸ケーブル、銅線、および光ファイバーを含む。
【0194】
コンピュータ可読媒体は、オペレーティングシステム(たとえば、Linux(登録商標)オペレーティングシステム)、ネットワーク通信モジュール、オーディオインターフェースマネージャ、オーディオ処理マネージャ、およびライブコンテンツディストリビュータをさらに含むことができる。オペレーティングシステムは、マルチユーザー、マルチプロセッシング、マルチタスキング、マルチスレッド、リアルタイムなどでありうる。オペレーティングシステムは、ネットワークインターフェースおよび/またはデバイスからの入力を認識し、それに出力を提供すること、コンピュータ可読媒体(たとえば、メモリまたは記憶デバイス)上のファイルおよびディレクトリを追跡し、管理すること、周辺デバイスを制御すること、ならびに一つまたは複数の通信チャネル上のトラフィックを管理することを含むがそれらに限定されない、基本タスクを実行する。ネットワーク通信モジュールは、ネットワーク接続を確立し、維持するためのさまざまな構成要素(たとえば、TCP/IP、HTTPなどの通信プロトコルを実装するためのソフトウェア)を含む。
【0195】
アーキテクチャーは、並列処理またはピアツーピアインフラストラクチャーにおいて、または一つまたは複数のプロセッサを有する単一のデバイス上で実装されうる。ソフトウェアは、複数のソフトウェアコンポーネントを含むことができ、または単一のコード本体であることができる。
【0196】
記載された特徴は、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受領し、それらにデータおよび命令を送信するように結合された少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能な一つまたは複数のコンピュータ・プログラムにおいて有利に実装できる。コンピュータ・プログラムは、ある活動を実行するか、またはある結果をもたらすために、コンピュータにおいて直接的または間接的に使用されうる命令のセットである。コンピュータ・プログラムは、コンパイル型言語またはインタープリタ型言語を含む任意の形のプログラミング言語(たとえば、Objective-C、Java(登録商標))で書くことができ、スタンドアローンプログラムとして、またはモジュール、コンポーネント、サブルーチン、ブラウザベースのウェブアプリケーション、もしくはコンピューティング環境での使用に適した他のユニットとしてであることを含め、任意の形で展開できる。
【0197】
命令のプログラムの実行のための好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のコンピュータの単一のプロセッサまたは複数のプロセッサもしくはコアのうちの1つを含む。一般に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受領する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための一つまたは複数のメモリである。一般に、コンピュータは、データファイルを記憶するための一つまたは複数の大容量記憶装置も含むか、またはそれと通信するように動作上結合され、そのような装置は、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、および光ディスクを含む。コンピュータ・プログラム命令およびデータを有形に具現するのに適した記憶デバイスは、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスのような半導体メモリ装置、内部ハードディスクおよびリムーバブルディスクのような磁気ディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスクを含むすべての形の不揮発性メモリを含む。プロセッサおよびメモリは、ASIC(特定用途向け集積回路)によって補完されてもよく、またはASICに組み込まれてもよい。
【0198】
ユーザーとの対話を提供するために、特徴は、ユーザーに情報を表示するためのCRT(陰極線管)またはLCD(液晶ディスプレイ)モニターまたは網膜ディスプレイデバイスなどのディスプレイデバイスを有するコンピュータ上で実施されうる。コンピュータは、タッチ表面入力デバイス(たとえば、タッチスクリーン)またはキーボード、およびマウスまたはトラックボールなどのポインティングデバイスを有することができ、それによりユーザーはコンピュータに入力を提供することができる。コンピュータは、ユーザーからの音声コマンドを受領するための音声入力装置を有することができる。
【0199】
特徴は、データサーバーなどのバックエンドコンポーネントを含む、またはアプリケーションサーバーもしくはインターネットサーバーなどのミドルウェアコンポーネントを含む、またはグラフィカルユーザーインターフェースもしくはインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含む、またはそれらの任意の組み合わせを含むコンピュータシステムにおいて実装できる。システムの構成要素は、通信ネットワークなどのデジタルデータ通信の任意の形または媒体によって接続されうる。通信ネットワークの例は、たとえば、LAN、WAN、およびインターネットを形成するコンピュータおよびネットワークを含む。
【0200】
コンピューティングシステムは、クライアントおよびサーバーを含みうる。クライアントおよびサーバーは、一般に、互いに遠隔にあり、典型的には、通信ネットワークを通じて対話する。クライアントとサーバーの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバー関係を有するコンピュータ・プログラムによって生じる。いくつかの実施形態では、サーバーは、(たとえば、クライアントデバイスと対話するユーザーにデータを表示し、ユーザーからユーザー入力を受領する目的で)クライアントデバイスにデータ(たとえば、HTMLページ)を送信する。クライアントデバイスで生成されたデータ(たとえば、ユーザー対話の結果)は、サーバーでクライアントデバイスから受領されうる。
【0201】
一つまたは複数のコンピュータのシステムは、動作中にシステムにアクションを実行させる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することによって、特定のアクションを実行するように構成されうる。一つまたは複数のコンピュータ・プログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含むことによって、特定のアクションを実行するように構成されうる。
【0202】
本明細書は、多くの個別的な実装詳細を含むが、これらは、任意の発明の範囲または特許請求されうるものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別々の実施形態の文脈において本明細書に記載されているある種の特徴は、単一の実施形態において組み合わせて実施することもできる。逆に、単一の実施形態の文脈で説明されるさまざまな特徴が、複数の実施形態において別々に、または任意の適切なサブコンビネーションで実施されることもできる。さらに、特徴は、ある組み合わせで作用するものとして上述され、最初にそのように請求されることもありうるが、請求される組み合わせからの一つまたは複数の特徴は、いくつかの場合において、組み合わせから削除されることができ、請求される組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられてもよい。
【0203】
同様に、動作は、特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序で、または逐次順で実行されること、あるいはすべての示された動作が実行されることを必要とすると理解されるべきではない。ある種の状況では、マルチタスキングおよび並列処理が有利である場合がある。さらに、上述の実施形態におけるさまざまなシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージ化されうることを理解されたい。
【0204】
特に明記しない限り、以下の説明から明らかなように、本発明の説明全体を通して、「処理」、「コンピューティング」、「計算」、「決定」、「解析」などの用語を利用する説明は、電子的な量などの物理量として表されるデータを、同様に物理量として表される他のデータに操作および/または変換するコンピュータもしくはコンピューティングシステム、または同様の電子コンピューティングデバイスのアクションおよび/またはプロセスを指すことが理解される。
【0205】
本発明を通して、「1つの例示的実施形態」、「いくつかの例示的実施形態」、または「ある例示的実施形態」への言及は、その例示的実施形態に関連して説明される特定の特徴、構造、または特性が、本発明の少なくとも1つの例示的実施形態に含まれることを意味する。よって、本発明全体を通してさまざまな箇所に「1つの例示的実施形態において」、「いくつかの例示的実施形態において」、または「ある例示的実施形態において」という語句が現れることは、必ずしもすべてが同じ例示的実施形態を指しているわけではない。さらに、特定の特徴、構造、または特性は、一つまたは複数の例示的実施形態において、本発明から当業者に明らかであるように、任意の適切な方法で組み合わされてもよい。
【0206】
本明細書で使用されるところでは、特に指定のない限り、共通の対象を説明するための序数形容詞「第1の」、「第2の」、「第3の」などの使用は、単に、同様の対象の異なるインスタンスが言及されていることを示し、そのように説明される対象が、時間的に、空間的に、ランキングで、または任意の他の仕方で、所与の順序でなければならないことを含意することは意図されていない。
【0207】
また、本明細書で使用される表現および用語は、説明のためのものであり、限定と見なされるべきではないことを理解されたい。「含む」、「有する」、または「もつ」、およびそれらの変形の使用は、列挙される項目およびそれらの等価物、ならびに追加の項目を包含することが意図されている。特に指定または限定されない限り、「取り付けられた」、「接続された」、「支持された」、および「結合された」という用語、並びにこれらの変形は、広義に使用され、直接的および間接的両方の取り付け、接続、支持、および結合を包含する。
【0208】
下記の特許請求の範囲および本明細書の説明において、有する、から構成される、または含むという用語のいずれも、少なくとも挙げられている要素/特徴を含むが、他のものを除外しないことを意味するオープンな用語である。よって、特許請求の範囲で使用される場合、有する/含むという用語は、列挙される手段または要素またはステップに限定されるものとして解釈されるべきではない。たとえば、AおよびBを有するデバイスという表現の範囲は、要素AおよびBのみからなるデバイスに限定されるべきではない。本明細書で使用される「含む」または「包含する」または「含んでいる」という用語もいずれも、少なくとも挙げられている要素/特徴を含むが、他のものを除外しないことも意味するオープンな用語である。このように、含むは、有すると同義であり、有するを意味する。
【0209】
本発明の例示的実施形態の上記の説明において、本発明のさまざまな特徴が、本発明の流れをよくし、さまざまな発明側面のうちの一つまたは複数の理解を助ける目的で、単一の例示的実施形態、図、またはその説明にまとめられることがあることを理解されたい。しかしながら、本発明のこの方法は、請求項が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明側面は、単一の上記の開示された例示的実施形態のすべての特徴よりも少ないものにある。よって、本明細書に続く特許請求の範囲は、本明細書に明示的に組み込まれ、各請求項は、本発明の別個の例示的実施形態として独立している。
【0210】
さらに、本明細書に記載されたいくつかの例示的実施形態は、他の例示的実施形態に含まれるいくつかの特徴を含むが、他の特徴は含まず、異なる例示的実施形態の特徴の組み合わせは、本発明の範囲内にあり、異なる例示的実施形態を形成することが意図されていることが、当業者によって理解される。たとえば、以下の特許請求の範囲において、請求される例示的実施形態のいずれも、任意の組み合わせで使用されうる。
【0211】
本明細書に提供される説明では、多数の具体的な詳細が記載される。しかしながら、本発明の例示的実施形態は、これらの具体的な詳細なしに実施されてもよいことが理解される。他の例では、この説明の理解を曖昧にしないために、周知の方法、構造、および技法は詳細に示されていない。
【0212】
したがって、本発明の最良の形態であると考えられるものを説明したが、当業者は、本発明の精神から逸脱することなく、他のさらなる修正をそれに対して行うことができ、本発明の範囲内にあるようなすべての変更および修正を請求することが意図されることを認識するであろう。たとえば、上記で与えられた任意の式は、単に使用されうる手順を表すものである。機能がブロック図に追加されてもよく、またはブロック図から削除されてもよく、動作が機能ブロック間で交換されてもよい。本開示の範囲内で、記載された方法にステップを追加または削除してもよい。
【0213】
本開示の箇条書き例示的実施形態(enumerated example embodiment、EEE」)が、オーディオ入力のオーディオ品質の指示を決定するための方法およびシステムに関して上で説明されている。よって、本発明のある実施形態は、以下に列挙される実施形態のうちの一つまたは複数に関しうる。
【0214】
EEE1. 多重化されたフォーマットのエンコードされたメディア・ビットストリームをデコードする方法であって、前記多重化されたフォーマットは、バージョンのプロパティをもつバージョンのリストのためのプリセレクション・ボックスを含み、前記プリセレクション・ボックスは、前記エンコードされたメディア・フォーマットに関知せず:
前記プリセレクション・ボックスから、選択方法のために、プロパティをもつバージョンのリストを決定するステップと;
再生可能なオーディオ・バージョンを出力するために、前記選択方法に基づいて前記エンコードされたメディア・ビットストリームをデコードするステップとを含む、
方法。
EEE2. 前記選択方法が、即時選択を実行するために、前記バージョンおよびプロパティを視覚化する、エンドユーザーに曝露されるUIである、EEE1に記載の方法。
EEE3. 前記選択方法が、ユーザー選好設定に基づく自動プロセスである、EEE1に記載の方法。
EEE4. 前記選択方法が、エンドデバイス、再生地理的領域、または他のデータ特性に関する情報に基づく自動プロセスである、EEE1に記載の方法。
EEE5. 前記多重化されたフォーマットがISOBMFF、トランスポート・ストリーム、またはMXFである、EEE1ないし4のうちいずれか一項に記載の方法。
EEE6. 前記メディア・ビットストリームが、暗号化されたメディア・ペイロードを含み、前記エンコード・フォーマットは平文である、EEE5に記載の方法。
EEE7. 当該デコードする方法は、オーディオ、ビデオおよび仮想現実のための特化した再生アーキテクチャー、特化したタイプのメディアまたは特化したプリセレクションのために使われる、EEE1ないし4のうちいずれか一項に記載の方法。
EEE8. 前記多重化されたフォーマットは、事前にダウンロードされたユーザー選択に関する情報を含む、EEE1ないし4のうちいずれか一項に記載の方法。
EEE9. 前記エンコードされたメディア・アセットを伝送のためにパッケージ化するための方法であって、伝送フォーマットが前記アセットをリストするマニフェスト・ファイルを包含し、当該方法は:
前記マニフェスト・ファイルをパッケージ化することを含み、前記マニフェスト・ファイルは、単一ストリームまたはマルチストリームのアセットのいずれかから導出されるべき利用可能なバージョンおよびそれらのプロパティのリストを包含し、前記リストは、コーデック固有情報にアクセスすることなしに前記アセットから導出されうる、
方法。
EEE10. 前記マニフェスト・ファイルが、MPEG DASH、HLS、またはSDPフォーマットである、EEE9に記載の方法。
EEE11. メディア・ストリームを処理する方法であって:
事前定義されたトランスポート・フォーマットに従ってパケット化された前記メディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すトラックを参照する一つまたは複数のトラック・ボックスと、一つまたは複数のトラック・グループ・ボックスとを含み、該一つまたは複数のトラック・グループ・ボックスはそれぞれ、前記メディア・ストリーム内のそれぞれのトラック・グループを合同して識別するそれぞれのトラック・グループ識別子およびそれぞれのトラック・グループ・タイプに関連付けられており、同じトラック・グループ識別子および同じトラック・グループ・タイプを有するトラックは、同じトラック・グループに属し、それぞれのそのようなトラック・グループは、プリセレクションを決定する、ステップと;
前記メディア・ストリーム内のすべてのトラック・ボックスを訪問して、プリセレクションの全セットを決定するステップであって、
前記決定は、トラック・グループ識別子とトラック・グループ・タイプとのすべての一意的なペアの前記セットを決定し、トラック・グループ識別子によって前記プリセレクションをアドレッシングすることによって行われる、ステップと;
同じトラック・グループ識別子を有するすべてのトラック・グループ・ボックス内で見つかったプリセレクションの属性に基づいて、プリセレクションを選択するステップと;
同じトラック・グループ識別子を有するトラック・グループ・ボックスの存在によって識別されるような、前記プリセレクションに寄与する一つまたは複数のトラック・ボックスのセットを決定するステップと;
トラック・ボックスの前記セットの各メンバーにおいて参照される前記寄与するトラックを決定するステップとを含む、
方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2023-11-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メディア・ストリームを処理する方法であって:
事前定義されたトランスポート・フォーマットに従ってパケット化されたメディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する一つまたは複数のトラック・ボックスを含む、ステップと;
前記メディア・ストリームが、プリセレクションを示す事前定義されたタイプのプリセレクション関連ボックスを含むかどうかを判定するステップであって、該プリセレクションは、ユーザーへのメディア呈示に対応する、ステップと;
前記メディア・ストリームが前記プリセレクション関連ボックスを含むと判定された場合:
前記プリセレクション関連ボックスに対応するメタデータ情報を解析することであって、前記メタデータ情報は前記プリセレクションの特性を示す、ことと;
前記メタデータ情報に基づいて前記プリセレクションに寄与する前記パケット化されたメディア・ストリームにおける一つまたは複数のトラックを識別することと;
前記与えられたプリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供することとを実行するステップとを含み、
前記メディア・ストリームは、前記プリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報をさらに含み、
前記処理情報は、前記一つまたは複数のトラックを処理するためのトラック順序を示す順序付け情報を含み、
前記処理情報は、一つまたは複数のトラックが合同処理のために一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含み、
当該方法は:
前記マージ情報および前記順序付け情報に従って前記一つまたは複数のトラックをマージすることをさらに含み、
前記順序付け情報は、前記プリセレクションに寄与する各トラックについて、前記トラックのトラック順序を定義するためのそれぞれのトラック順序値を含み、
前記マージ情報は、前記プリセレクションに寄与する各トラックについてのそれぞれのマージ・フラグを含み、前記マージ・フラグの第1の設定値は、それぞれのトラックがトラック順序における隣接トラックとマージされるべきであることを示し、前記マージ・フラグの第2の設定値は、それぞれのトラックが別個に処理されるべきであることを示し、
前記マージ情報および前記順序付け情報に従って前記一つまたは複数のトラックをマージすることは:
トラック順序に従ってトラックを相続いて走査し、
それぞれのマージ・フラグに従ってトラックをマージすることを含む、
法。
【請求項2】
前記プリセレクションによって示された前記メディア呈示に従ってメディア・ストリームの再生のために前記一つまたは複数のトラックをデコードすることをさらに含む、請求項1に記載の方法。
【請求項3】
前記一つまたは複数のトラックは、下流のデバイスによってデコードされる、請求項に記載の方法。
【請求項4】
前記一つまたは複数のトラックをマージすることと、前記一つまたは複数のトラックをデコードすることとは、1つの単一のデバイスによって実行される、請求項に記載の方法。
【請求項5】
前記メディア・ストリームは、前記事前定義されたタイプの複数のプリセレクション関連ボックスを含み、当該方法は、前記複数のプリセレクション関連ボックスの中から前記プリセレクション関連ボックスを選択することをさらに含む、請求項1に記載の方法。
【請求項6】
前記プリセレクション関連ボックスは、アプリケーションによって選択される、請求項に記載の方法。
【請求項7】
前記メディア・ストリームは、それぞれのプリセレクションに対応するユーザーへのそれぞれのメディア呈示のための記述情報をそれぞれが含む一つまたは複数のラベル・ボックスを含む、請求項またはに記載の方法。
【請求項8】
前記プリセレクション関連ボックスは、パケット化される前に前記メディア・ストリームをエンコードするために使用されたメディア・コーデックに関知しない、請求項1に記載の方法。
【請求項9】
前記プリセレクション関連ボックスに対応する前記メタデータ情報は、それぞれのトラックにそれぞれ関連付けられている一つまたは複数のトラック識別子を示すトラック識別情報を含み、前記メタデータ情報における前記一つまたは複数のトラック識別子に関連付けられたトラックは、前記メディア呈示に関係する、請求項1に記載の方法。
【請求項10】
前記プリセレクション関連ボックスに対応する前記メタデータ情報は、前記プリセレクションを識別するためのプリセレクション識別子を示すプリセレクション識別情報を含む、請求項1に記載の方法。
【請求項11】
前記プリセレクション関連ボックスに対応する前記メタデータ情報は、前記プリセレクションに従ってトラックをデコードするための下流のデバイスを構成するための一意的なプリセレクション固有データを含む、請求項1に記載の方法。
【請求項12】
メディア・ストリームを処理する方法であって、
事前定義されたトランスポート・フォーマットに従ってパケット化された前記メディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれのボックス・タイプ識別子にそれぞれ関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する一つまたは複数のトラック・ボックスと、前記メディア・ストリーム内のそれぞれのトラック・グループを合同して識別するトラック・グループ識別子とトラック・グループ・タイプとのそれぞれのペアにそれぞれが関連付けられた一つまたは複数のトラック・グループ・ボックスとを含み、同じトラック・グループ識別子および同じトラック・グループ・タイプを有する諸トラックは、同じトラック・グループに属し、そのような各トラック・グループは、ユーザーへのメディア呈示に対応するプリセレクションを決定する、ステップと;
前記メディア・ストリームにおける前記トラック・ボックスをチェックして、前記メディア・ストリームにおいて存在するプリセレクションのフル・セットを決定するステップであって、プリセレクションの前記フル・セットの前記決定は:トラック・グループ識別子とトラック・グループ・タイプとの一意的なペアのセットを決定し、それぞれのトラック・グループ識別子によってプリセレクションをアドレッシングすることを含む、ステップと;
プリセレクションの前記フル・セットの中からプリセレクションを選択するステップであって、そのプリセレクションは、同じトラック・グループ識別子を有するトラック・グループ・ボックスに含まれるそれぞれのプリセレクションの属性に基づいて選択される、ステップと;
選択されたプリセレクションに寄与する一つまたは複数のトラック・ボックスのセットを決定するステップであって、そのプリセレクションに寄与する一つまたは複数のトラック・ボックスの前記セットは、同じトラック・グループ識別子を有するトラック・グループ・ボックスの存在によって識別される、ステップと;
前記プリセレクションに寄与する一つまたは複数のトラックとして、一つまたは複数のトラック・ボックスの前記セットの各メンバーにおいて参照されるトラックを決定するステップと;
前記プリセレクションに従って下流の処理のために前記一つまたは複数のトラックを提供するステップとを含み、
各プリセレクションは、事前定義されたタイプのそれぞれのプリセレクション関連ボックスに関連付けられ、前記プリセレクション関連ボックスは、プリセレクションに関連する事前定義されたトラック・グループ・タイプを有するトラック・グループ・ボックスをインスタンス化し、
前記プリセレクション関連ボックスは、前記プリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報を含むプリセレクション処理ボックスに関連付けられ、
前記処理情報は、前記トラックを順序付けるためのトラック順序を示す順序付け情報を含み、
前記処理情報は、前記トラックが一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含み、
当該方法は:
前記マージ情報および前記順序付け情報に従って前記トラックをマージすることをさらに含み、
前記順序付け情報は、トラックのトラック順序を定義するためのトラック順序値を含み、
前記マージ情報は、マージ・フラグを含み、前記マージ・フラグの第1の設定値は、そのトラックがトラック順序における隣接トラックとマージされるべきであることを示し、前記マージ・フラグの第2の設定値は、そのトラックが別個に処理されるべきであることを示し、
前記マージ情報および前記順序付け情報に従って前記一つまたは複数のトラックをマージすることは:
前記トラック順序に従ってトラックを相続いて走査し;
それぞれのマージ・フラグに従ってトラックをマージすることを含む、
法。
【請求項13】
前記プリセレクション関連ボックスは、前記プリセレクションを示すセマンティック情報を含むプリセレクション情報ボックスに関連付けられる、請求項12に記載の方法。
【請求項14】
前記処理情報は、前記プリセレクションに従ってトラックをデコードするための下流のデバイスを構成するための一意的なプリセレクション固有データを含む、請求項12に記載の方法。
【請求項15】
前記プリセレクションによって示された前記メディア呈示に従って前記メディア・ストリームの再生のために前記トラックをデコードすることをさらに含む、
請求項12に記載の方法。
【請求項16】
前記一つまたは複数のトラックは、下流のデバイスによってデコードされる、請求項15に記載の方法。
【請求項17】
前記トラックをマージすることとデコードすることとは、1つの単一のデバイスによって実行される、請求項15に記載の方法。
【請求項18】
前記プリセレクションは、アプリケーションによって決定される、請求項12に記載の方法。
【請求項19】
前記メディア・ストリームは、それぞれのプリセレクションそれぞれのプリセレクション情報ボックスにそれぞれリンクされる一つまたは複数のラベル・ボックスを含み、各ラベル・ボックスは、ユーザーへのそれぞれのメディア呈示のための記述情報を含み、
前記プリセレクションの前記決定はユーザーの入力に基づく、
請求項12に記載の方法。
【請求項20】
前記メディア・ストリームは、オーディオ・ストリームまたはビデオ・ストリームのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項21】
メディア・ストリームを処理する方法であって:
事前定義されたトランスポート・フォーマットに従って一つまたは複数のエレメンタリー・ストリームをカプセル化して、パケット化されたメディア・ストリームを生成するステップを含み、
前記パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含み、
前記一つまたは複数のエレメンタリー・ストリームをカプセル化することは:
前記一つまたは複数のエレメンタリー・ストリームのそれぞれのトラックを参照する一つまたは複数のトラック・ボックスを生成するために、前記トランスポート・フォーマットに従って前記一つまたは複数のエレメンタリー・ストリームのメディア・データをパケット化するステップと;
前記一つまたは複数のエレメンタリー・ストリームのヘッダ情報に基づいて、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスを生成するステップであって、前記一つまたは複数のプリセレクション関連ボックスのそれぞれは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す、ステップと
それぞれのプリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報を含む一つまたは複数のプリセレクション処理ボックスを生成するステップとを含み、
前記処理情報は、前記一つまたは複数のトラックを処理するためのトラック順序を示す順序付け情報を含み、
前記処理情報は、一つまたは複数のトラックが合同処理のために一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含み、
前記順序付け情報は、前記プリセレクションに寄与する各トラックについて、前記トラックのトラック順序を定義するためのそれぞれのトラック順序値を含み、
前記マージ情報は、前記プリセレクションに寄与する各トラックについてのそれぞれのマージ・フラグを含み、前記マージ・フラグの第1の設定値は、それぞれのトラックがトラック順序における隣接トラックとマージされるべきであることを示し、前記マージ・フラグの第2の設定値は、それぞれのトラックが別個に処理されるべきであることを示す、
方法。
【請求項22】
前記一つまたは複数のプリセレクション関連ボックスのそれぞれは、それぞれのプリセレクションの特性を示すメタデータ情報を含み、
前記メタデータ情報は、それぞれのプリセレクションに寄与する前記メディア・ストリームにおける一つまたは複数のトラックを示す情報を含む、
請求項21に記載の方法。
【請求項23】
それぞれのプリセレクション関連ボックスに対応する前記メタデータ情報はさらに:
それぞれのプリセレクションを識別するためのプリセレクション識別子を示すプリセレクション識別情報、または
前記プリセレクションに従ってトラックをデコードするための一意的なプリセレクション固有データのうちの少なくとも一つを含む、
請求項22に記載の方法。
【請求項24】
前記エレメンタリー・メディア・ストリームをカプセル化することは、前記パケット化されたメディア・ストリーム内のそれぞれのトラック・グループを合同で識別するそれぞれのトラック・グループ識別子およびそれぞれのトラック・グループ・タイプにそれぞれが関連付けられた一つまたは複数のトラック・グループ・ボックスを生成することをさらに含み、同じトラック・グループ識別子および同じトラック・グループ・タイプを有するトラックは、同じトラック・グループに属すし;
前記一つまたは複数のプリセレクション関連ボックスを生成することは:
第1の一意的な識別子を各プリセレクションに割り当てることと;
それぞれのプリセレクションに寄与する各トラックについて、それぞれのプリセレクションに関連付けられたそれぞれのプリセレクション関連ボックスであって、前記プリセレクション関連ボックスは、プリセレクションに関連する事前定義されたトラック・グループ・タイプを有するトラック・グループ・ボックスをインスタンス化する、プリセレクション関連ボックスを生成し、トラック・グループ識別子を前記第1の一意的な識別子に設定することとを含む、
請求項21に記載の方法。
【請求項25】
前記トラック・グループ・ボックスは、トラックのそれぞれのメディア・タイプに基づいて、1つのプリセレクションに寄与する諸トラックをグループ化することによって生成される、請求項24に記載の方法。
【請求項26】
前記メディア・タイプは、オーディオ、ビデオ、および字幕のうちの少なくとも1つを含む、請求項25に記載の方法。
【請求項27】
少なくとも1つの入力メディアを受領するステップと;
前記入力メディアを処理して、前記一つまたは複数のエレメンタリー・ストリームを生成するステップとをさらに含み、
前記一つまたは複数のエレメンタリー・ストリームは、前記入力メディアの前記メディア・データと、前記対応するヘッダ情報とを含む、
請求項21ないし26のうちいずれか一項に記載の方法。
【請求項28】
当該方法は:
前記一つまたは複数のプリセレクション関連ボックスに基づいてマニフェスト・ファイルを生成するステップをさらに含む、
請求項21に記載の方法。
【請求項29】
前記マニフェスト・ファイルは、MPEG Dynamic Adaptive Streaming over HTTP(DASH)フォーマット・ファイルまたはHTTP Live Stream(HLS)フォーマット・ファイルである、請求項28に記載の方法。
【請求項30】
メディア・ストリームを処理する方法であって:
事前定義されたトランスポート・フォーマットに従ってパケット化された前記メディア・ストリームを受領するステップであって、前記パケット化されたメディア・ストリームは、それぞれがそれぞれのボックス・タイプ識別子に関連付けられた複数の階層的なボックスを含み、前記複数のボックスは、前記メディア・ストリームのメディア・コンポーネントを示すそれぞれのトラックを参照する一つまたは複数のトラック・ボックスと、事前定義されたタイプの一つまたは複数のプリセレクション関連ボックスとを含み、各プリセレクション関連ボックスは、ユーザーへのメディア呈示に対応するそれぞれのプリセレクションを示す、ステップと;
前記一つまたは複数のプリセレクション関連ボックスに基づいてマニフェスト・ファイルを生成するステップとを含み、
前記メディア・ストリームは、前記プリセレクションに寄与するトラックがどのように処理されるべきかを示す処理情報をさらに含み、
前記処理情報は、前記一つまたは複数のトラックを処理するためのトラック順序を示す順序付け情報を含み、
前記処理情報は、一つまたは複数のトラックが合同処理のために一つまたは複数の他のトラックとマージされるべきかどうかを示すマージ情報を含み、
前記順序付け情報は、前記プリセレクションに寄与する各トラックについて、前記トラックのトラック順序を定義するためのそれぞれのトラック順序値を含み、
前記マージ情報は、前記プリセレクションに寄与する各トラックについてのそれぞれのマージ・フラグを含み、前記マージ・フラグの第1の設定値は、それぞれのトラックがトラック順序における隣接トラックとマージされるべきであることを示し、前記マージ・フラグの第2の設定値は、それぞれのトラックが別個に処理されるべきであることを示す、
方法。
【請求項31】
前記マニフェスト・ファイルは、MPEG Dynamic Adaptive Streaming over HTTP(DASH)フォーマット・ファイルまたはHTTP Live Stream(HLS)フォーマット・ファイルである、請求項30に記載の方法。
【請求項32】
ユーザーへの前記メディア呈示は、前記メディア・ストリームの言語、種類、および/または一つもしくは複数のメディア固有の属性に関するそれぞれの構成によって特徴付けられる、請求項30に記載の方法。
【請求項33】
前記事前定義されたトランスポート・フォーマットは、ISOベース・メディア・ファイル・フォーマット(ISOBMFF)である、請求項30に記載の方法。
【請求項34】
プロセッサと、該プロセッサに結合されたメモリとを含むメディア・ストリーム処理装置であって、前記プロセッサは、当該メディア・ストリーム処理装置に、請求項1ないし33のうちいずれか一項に記載の方法を実行させるように適応されている、メディア・ストリーム処理装置。
【請求項35】
プロセッサによって実行されると、該プロセッサに、請求項1ないし33のうちいずれか一項に記載の方法を実行させる命令を含んでいるプログラム。
【請求項36】
請求項35に記載のプログラムを記憶しているコンピュータ可読記憶媒体。
【国際調査報告】