(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-03-07
(54)【発明の名称】ビデオ処理のための方法、装置及び媒体
(51)【国際特許分類】
H04N 21/231 20110101AFI20250228BHJP
H04N 5/765 20060101ALI20250228BHJP
H04N 5/92 20060101ALI20250228BHJP
【FI】
H04N21/231
H04N5/765
H04N5/92 010
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024548431
(86)(22)【出願日】2023-02-14
(85)【翻訳文提出日】2024-10-15
(86)【国際出願番号】 US2023062547
(87)【国際公開番号】W WO2023158998
(87)【国際公開日】2023-08-24
(32)【優先日】2022-02-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ワン,イエ-クォイ
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164MB01S
5C164SA21S
5C164SB11S
5C164SB36P
(57)【要約】
本開示の実施形態は、ビデオ処理のためのソリューションを提供する。ビデオ処理方法が提案される。前記方法は、ビデオのビットストリームと前記ビデオのメディアファイルとの間の転換を実行するステップを含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ビデオ処理方法であって、
ビデオのビットストリームと前記ビデオのメディアファイルとの間の転換を実行するステップを含み、
前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、すくなくとも1つの第2のデータ構造の前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する、方法。
【請求項2】
前記少なくとも1つの第2のデータ構造は、前記事前選択を記述するボックスを含む、請求項1に記載の方法。
【請求項3】
前記メディアファイル内の第2の指示の値は、前記事前選択に寄与する全てのトラックに対して同じであり、前記第2の指示は、前記事前選択の優先度を示す、請求項1に記載の方法。
【請求項4】
前記第2の指示は、selection_priorityフィールドである、請求項3に記載の方法。
【請求項5】
前記第1のデータ構造はPreselection情報ボックスであるか、又は前記第1の指示はnumTracksフィールドである、請求項1に記載の方法。
【請求項6】
前記メディアファイル内のトラックレベルフラグは、前記事前選択の事前選択記述情報のセットが前記事前選択に寄与するトラックに含まれているか否かを示す、請求項1に記載の方法。
【請求項7】
前記事前選択記述情報のセットが前記トラックに含まれている場合、前記トラックレベルフラグの値は第1の所定値に等しく、
前記事前選択記述情報のセットが前記トラックに存在しない場合、前記トラックレベルフラグの値は第2の所定値に等しい、請求項6に記載の方法。
【請求項8】
前記第1の所定値は1であり、前記第2の所定値は0であるか、または
前記事前選択記述情報のセットは、前記事前選択の全ての事前選択記述情報を含むか、または
前記トラックレベルフラグの値は、前記事前選択に寄与するトラックの少なくとも1つに対して所定値に等しいか、または
前記トラックレベルフラグの値は、前記事前選択に寄与するトラックのうちの複数に対して所定値に等しいことが許容されるか、または
前記事前選択記述情報は、前記第1の指示又はselection_priorityフィールドの少なくとも1つを含むか、または
各前記事前選択記述情報が前記トラックに含まれているか否かは、それぞれの存在フラグによって示されるか、または
全ての前記事前選択記述情報が前記トラックに含まれているか否かは、単一の存在フラグによって示されるか、または
前記トラックレベルフラグは、前記トラック内の事前選択グループボックスのフラグフィールド内のビットを使用して指定されるか、または
前記トラックレベルフラグは、前記トラック内の事前選択グループボックス内のビットを使用して指定され、前記ビットは、前記事前選択グループボックスのフラグフィールドに含まれない、請求項7に記載の方法。
【請求項9】
前記メディアファイルは、前記事前選択に寄与するトラックの1つが前記事前選択についてのベーストラックとなることを示す第3の指示を含み、前記事前選択の全ての事前選択記述情報は前記ベーストラックでシグナリングされる、請求項1に記載の方法。
【請求項10】
全ての前記事前選択記述情報は前記ベーストラックでのみシグナリングされる、請求項9に記載の方法。
【請求項11】
前記メディアファイル内のトラックレベルフラグは、前記事前選択記述情報が前記事前選択に寄与するトラックに含まれているか否かを示し、前記事前選択記述情報が前記トラックに含まれている場合、前記トラックレベルフラグの値は第1の所定値に等しく、前記事前選択記述情報が前記トラックに存在しない場合、前記トラックレベルフラグの値は第2の所定値に等しい、請求項9に記載の方法。
【請求項12】
前記第1の所定値は1であり、前記第2の所定値は0であるか、または
前記トラックレベルフラグの値は、前記事前選択に寄与するトラックのうち正確に単一のトラックに対して前記第1の所定値に等しい、請求項11に記載の方法。
【請求項13】
前記単一のトラックは、前記ベーストラックである、請求項12に記載の方法。
【請求項14】
前記事前選択記述情報のセットは、前記ベーストラックとは異なるトラックでシグナリングされることが許容される、請求項9に記載の方法。
【請求項15】
前記メディアファイルは、国際標準化機構(ISO)ベースメディアファイルフォーマットである、請求項1に記載の方法。
【請求項16】
前記転換は、前記メディアファイルを生成することと、前記ビットストリームを前記メディアファイルに記憶することとを含む、請求項1に記載の方法。
【請求項17】
前記転換は、前記メディアファイルを解析して前記ビットストリームを再構築することを含む、請求項1に記載の方法。
【請求項18】
プロセッサと、命令が記録された非一時的メモリとを含むビデオ処理装置であって、前記命令は前記プロセッサによって実行されると、前記プロセッサに請求項1から17のいずれか一項に記載の方法を実行させる、装置。
【請求項19】
プロセッサに請求項1から17のいずれか一項に記載の方法を実行させる命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項20】
ビデオのメディアファイルを記憶する方法であって、
前記ビデオのビットストリームと前記メディアファイルとの間の転換を実行するステップと、
前記メディアファイルを非一時的なコンピュータ読み取り可能な記録媒体に記憶するステップと、を含み、
前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、すくなくとも1つの第2のデータ構造の前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する、方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2022年2月15日に出願された米国仮出願第63/310,433号の優先権の利益を主張し、その全内容は、参照により本明細書に明示的に組み込まれる。
【技術分野】
【0002】
本開示の実施形態は、一般的にはビデオ処理技術に関し、より具体的には、メディアファイル内の事前選択記述情報のシグナリングに関する。
【背景技術】
【0003】
メディアストリーミングアプリケーションは、通常、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、及びハイパーテキスト転送プロトコル(HTTP)トランスポート方式に基づいており、通常、ISOベースメディアファイルフォーマット(ISOBMFF)等のファイルフォーマットに依存している。そのようなストリーミングシステムの1つは、HTTP経由の動的アダプティブストリーミング(DASH)である。DASHでは、マルチメディアコンテンツのビデオ及び/又はオーディオデータに対して複数の表現が存在し得、異なる表現は異なるコーディング特性(例えば、ビデオコーディング規格の異なるプロファイル又はレベル、異なるビットレート、異なる空間解像度等)に対応し得る。さらに、事前選択は、同時デコーディング及びプレゼンテーションのためにユーザが選択し得るメディアプレゼンテーションの1つのバージョンを表す1つ又は複数のメディアコンポーネントのセットである。したがって、メディアファイル内の事前選択記述情報のシグナリングについて研究する価値がある。
【発明の内容】
【0004】
本開示の実施形態は、ビデオ処理のためのソリューションを提供する。
第1の態様では、ビデオ処理方法が提案される。前記方法は、ビデオのビットストリームと前記ビデオのメディアファイルとの間の転換を実行するステップを含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【0005】
本開示の第1の態様による方法によれば、第1の指示は、第2のデータ構造のセットの前にシグナリングされる。第1の指示が第2のデータ構造のセットの後にシグナリングされる従来のソリューションと比較して、提案された方法は、事前選択記述情報の適切なシグナリングを有利に確保することができる。
【0006】
第2の態様では、ビデオ処理装置が提案される。前記装置は、プロセッサと、命令が記録された非一時的メモリとを含む。前記命令は前記プロセッサによって実行されると、前記プロセッサに本開示の第1の態様による方法を実行させる。
【0007】
第3の態様では、非一時的なコンピュータ読み取り可能な記憶媒体が提案される。前記非一時的なコンピュータ読み取り可能な記憶媒体は、プロセッサに本開示の第1の態様による方法を実行させる命令を記憶する。
【0008】
第4の態様では、別の非一時的なコンピュータ読み取り可能な記録媒体が提案される。前記非一時的なコンピュータ読み取り可能な記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法は、前記ビデオのビットストリームとメディアファイルとの間の転換を実行するステップを含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【0009】
第5の態様では、ビデオのビットストリームを記憶する方法が提案される。前記方法は、前記ビデオのビットストリームとメディアファイルとの間の転換を実行するステップと、前記ビットストリームを非一時的なコンピュータ読み取り可能な記録媒体に記憶するステップと、を含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【0010】
第6の方法では、別の非一時的なコンピュータ読み取り可能な記録媒体が提案される。前記非一時的なコンピュータ読み取り可能な記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのメディアファイルを記憶する。前記方法は、前記ビデオのビットストリームと前記メディアファイルとの間の転換を実行するステップを含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【0011】
第7の態様では、ビデオのメディアファイルを記憶する方法が提案される。前記方法は、前記ビデオのビットストリームと前記メディアファイルとの間の転換を実行するステップと、前記メディアファイルを非一時的なコンピュータ読み取り可能な記録媒体に記憶するステップと、を含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【0012】
この発明の内容は、詳細な説明でさらに説明する概念の選択を簡略化した形で紹介するために提供される。この発明の内容は、請求された主題の主要な特徴又は必須の特徴を特定することを意図したものではなく、請求された主題の範囲を制限するために使用されることも意図されていない。
【図面の簡単な説明】
【0013】
添付の図面を参照した以下の詳細な説明により、本開示の例示的な実施形態の上記及びその他の目的、特徴、及び利点がより明らかになる。本開示の例示的な実施形態において、同じ参照番号は通常、同じ構成要素を指す。
【0014】
【
図1】本開示のいくつかの実施形態による、例示的なビデオコーディングシステムを示すブロック図を示す。
【0015】
【
図2】本開示のいくつかの実施形態による、第1の例示的なビデオエンコーダを示すブロック図を示す。
【0016】
【
図3】本開示のいくつかの実施形態による、例示的なビデオデコーダを示すブロック図を示す。
【0017】
【
図4】本開示の実施形態によるビデオ処理方法のフローチャートを示す。
【0018】
【
図5】本開示の様々な実施形態を具現することができるコンピューティングデバイスのブロック図を示す。
【0019】
図面全体を通じて、同一又は類似の参照番号は通常、同一又は類似の要素を指す。
【発明を実施するための形態】
【0020】
次に、いくつかの実施形態を参照して、本開示の原理を説明する。これらの実施形態は、説明のみを目的として記載されており、当業者が本開示を理解し具現するのを助けるものであり、本開示の範囲に関していかなる限定も示唆するものではないことは理解されるべきである。本明細書に記載の開示は、以下に記載する方法以外にも様々な方式で具現されることができる。
【0021】
以下の説明及び特許請求の範囲において、別段の定義がない限り、本明細書で使用される全ての技術用語及び科学用語は、本開示が属する技術分野の当業者によって一般に理解されるのと同じ意味を有する。
【0022】
本開示における「一つの実施形態」、「一実施形態」、「例示的な実施形態」などへの言及は、記載される実施形態が特定の特徴、構造、又は特性を含み得ることを示すが、必ずしも全ての実施形態が特定の特徴、構造、又は特性を含むとは限らない。また、そのような語句は必ずしも同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、又は特性が例示的な実施形態に関連して説明される場合、明示的に記載されているか否かにかかわらず、他の実施形態に関連してそのような特徴、構造、又は特性に影響を与えることは当業者の知識の範囲内であることが指摘される。
【0023】
「第1の」及び「第2の」などの用語は、本明細書では様々な要素を説明するために使用され得るが、これらの要素はこれらの用語によって限定されるべきではないことは理解されるべきである。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、例示的な実施形態の範囲から逸脱することなく、第1の要素が第2の要素と呼ばれ得、同様に、第2の要素が第1の要素と呼ばれ得る。本明細書で使用されるように、「及び/又は」という用語には、列挙された用語の1つ又は複数のあらゆる組み合わせが含まれる。
【0024】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、例示的な実施形態を限定することを意図したものではない。本明細書で使用されるように、単数形「a(一つの)」、「an(一つの)」、及び「the(その)」は、文脈上明らかに別段の指示がない限り、複数形も含むものとする。「含む」、「備える」、「有する」、「持つ」、「含有する」及び/又は「包含する」という用語は、本明細書で使用される場合、記載された特徴、要素、及び/又は構成要素などの存在を指定するが、1つ又は複数の他の特徴、要素、構成要素及び/又はそれらの組み合わせの存在又は追加を排除するものではないことがさらに理解されるであろう。
例示的な環境
【0025】
図1は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を示すブロック図である。図示されるように、ビデオコーディングシステム100は、ソースデバイス110と、宛先デバイス120とを含み得る。ソースデバイス110は、ビデオエンコーディングデバイスとも呼ばれ得、宛先デバイス120は、ビデオデコーディングデバイスとも呼ばれ得る。動作中、ソースデバイス110は、エンコードされたビデオデータを生成するように構成することができ、宛先デバイス120は、ソースデバイス110によって生成されたエンコードされたビデオデータをデコードするように構成することができる。ソースデバイス110は、ビデオソース112と、ビデオエンコーダ114と、入力/出力(I/O)インターフェース116とを含み得る。
【0026】
ビデオソース112は、ビデオキャプチャデバイスなどのソースを含み得る。ビデオキャプチャデバイスの例には、ビデオコンテンツプロバイダからビデオデータを受信するインターフェース、ビデオデータを生成するコンピュータグラフィックスシステム、及び/又はそれらの組み合わせが含まれるが、これらに限定されない。
【0027】
ビデオデータは、1つ又は複数のピクチャを含み得る。ビデオエンコーダ114は、ビデオソース112からのビデオデータをエンコードしてビットストリームを生成する。ビットストリームには、ビデオデータのコード化表現を形成する一連のビットが含まれ得る。ビットストリームには、コード化ピクチャ及び関連データが含まれ得る。コード化ピクチャは、ピクチャのコード化表現である。関連データには、シーケンスパラメータセット、ピクチャパラメータセット、及び他の構文構造が含まれ得る。I/Oインターフェース116は、変調器/復調器及び/又は送信機を含み得る。エンコードされたビデオデータは、I/Oインターフェース116を介してネットワーク130Aを通して宛先デバイス120に直接送信され得る。エンコードされたビデオデータは、宛先デバイス120によるアクセスのために記憶媒体/サーバ130Bに記憶されても良い。
【0028】
宛先デバイス120は、I/Oインターフェース126と、ビデオデコーダ124と、表示デバイス122とを含み得る。I/Oインターフェース126は、受信機及び/又はモデムを含み得る。I/Oインターフェース126は、ソースデバイス110又は記憶媒体/サーバ130Bからエンコードされたビデオデータを取得し得る。ビデオデコーダ124は、エンコードされたビデオデータをデコードし得る。表示デバイス122は、デコードされたビデオデータをユーザに表示し得る。表示デバイス122は、宛先デバイス120と一体化されて得、或いは外部表示デバイスとインターフェースするように構成された宛先デバイス120の外部にあり得る。
【0029】
ビデオエンコーダ114及びビデオデコーダ124は、High Efficiency Video Coding(高効率ビデオコーディング、HEVC)規格、Versatile Video Coding(多用途ビデオコーディング、VVC)規格及び他の現在の及び/又はさらなる規格などのビデオ圧縮規格に従って動作し得る。
【0030】
図2は、本開示のいくつかの実施形態による、
図1に示されるシステム100内のビデオエンコーダ114の一例であり得るビデオエンコーダ200の一例を示すブロック図である。
【0031】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを具現するように構成され得る。
図2の例では、ビデオエンコーダ200は複数の機能コンポーネントを含む。本開示で説明される技術は、ビデオエンコーダ200の様々なコンポーネント間で共有され得る。いくつかの例では、プロセッサは、本開示で説明された技術のいずれか又は全てを実行するように構成され得る。
【0032】
いくつかの実施形態では、ビデオエンコーダ200は、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構築ユニット212と、バッファ213と、エントロピーエンコーディングユニット214とを含み得る。
【0033】
他の例では、ビデオエンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含み得る。一例では、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含み得る。IBCユニットは、少なくとも1つの参照ピクチャが現在のビデオブロックが位置するピクチャであるIBCモードで予測を実行し得る。
【0034】
さらに、動き推定ユニット204及び動き補償ユニット205などのいくつかの構成要素は統合され得るが、
図2の例では説明の目的で別々に表されている。
【0035】
分割ユニット201は、ピクチャを1つ又は複数のビデオブロックに分割し得る。ビデオエンコーダ200及びビデオデコーダ300は、多様なビデオブロックサイズをサポートし得る。
【0036】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードのうちの1つを選択し、その結果から得られるイントラコード化又はインターコード化されたブロックを、残差ブロックデータを生成するように残差生成ユニット207に提供し、エンコードされたブロックを再構築して参照ピクチャとして使用するように再構築ユニット212に提供し得る。いくつかの例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ及びインター予測の組み合わせ(CIIP)モードを選択し得る。モード選択ユニット203は、インター予測の場合、ブロックの動きベクトルの解像度(例:サブピクセル又は整数ピクセル精度)を選択してもよい。
【0037】
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ又は複数の参照フレームを現在のビデオブロックと比較することで現在のビデオブロックの動き情報を生成し得る。動き補償ユニット205は、現在のビデオブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報及びデコードされたサンプルに基づいて、現在のビデオブロックの予測ビデオブロックを決定し得る。
【0038】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスのいずれにあるかに応じて、現在のビデオブロックに対して異なる演算を実行し得る。本明細書で使用されるように、「Iスライス」は、マクロブロックから構成されるピクチャの一部を指し得、その全てが同じピクチャ内のマクロブロックに基づいている。さらに、本明細書で使用されるように、いくつかの態様では、「Pスライス」及び「Bスライス」は、同じピクチャ内のマクロブロックに依存しないマクロブロックから構成されるピクチャの部分を指し得る。
【0039】
いくつかの例では、動き推定ユニット204は、現在のビデオブロックに対して単方向予測を実行し得、動き推定ユニット204は、現在のビデオブロックの参照ビデオブロックについてのリスト0又はリスト1の参照ピクチャを探し得る。次に、動き推定ユニット204は、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間的変位を示す動きベクトルとを生成し得る。動き推定ユニット204は、参照インデックス、予測方向指示子、及び動きベクトルを現在のビデオブロックの動き情報として出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
【0040】
代替的に、他の例では、動き推定ユニット204は、現在のビデオブロックに対して双方向予測を実行し得る。動き推定ユニット204は、現在のビデオブロックの参照ビデオブロックについてのリスト0内の参照ピクチャを探してもよいし、現在のビデオブロックの別の参照ビデオブロックについてのリスト1内の参照ピクチャを探してもよい。次に、動き推定ユニット204は、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間的変位を示す動きベクトルとを生成し得る。動き推定ユニット204は、現在のビデオブロックの参照インデックス及び動きベクトルを現在のビデオブロックの動き情報として出力し得る。動き補償ユニット205は、現在のビデオブロックの動き情報によって示される参照ビデオブロックに基づいて、現在のビデオブロックの予測ビデオブロックを生成し得る。
【0041】
いくつかの例では、動き推定ユニット204は、デコーダのデコーディング処理のためのフルセットの動き情報を出力し得る。代替的に、いくつかの実施形態では、動き推定ユニット204は、別のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報をシグナリングし得る。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接するビデオブロックの動き情報と十分に類似していると決定し得る。
【0042】
一例では、動き推定ユニット204は、現在のビデオブロックに関連付けられた構文構造において、現在のビデオブロックが別のビデオブロックと同じ動き情報を有することをビデオデコーダ300に示す値を示し得る。
【0043】
別の例では、動き推定ユニット204は、現在のビデオブロックに関連付けられた構文構造において、別のビデオブロック及び動きベクトル差分(MVD)を識別し得る。動きベクトル差分は、現在のビデオブロックの動きベクトルと、指示されたビデオブロックの動きベクトルとの間の差分を示す。ビデオデコーダ300は、指示されたビデオブロックの動きベクトル及び動きベクトル差分を使用して現在のビデオブロックの動きベクトルを決定し得る。
【0044】
上で論じたように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングし得る。ビデオエンコーダ200によって具現され得る予測シグナリング技術の2つの例には、アドバンスト動きベクトル予測(AMVP)とマージモードシグナリングとが含まれる。
【0045】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行し得る。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行するとき、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックのデコードされたサンプルに基づいて、現在のビデオブロックについての予測データを生成し得る。現在のビデオブロックについての予測データには、予測されたビデオブロック及び様々な構文要素が含まれ得る。
【0046】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測ビデオブロックを減算する(例:マイナス記号によって示される)ことで、現在のビデオブロックについての残差データを生成し得る。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプル成分に対応する残差ビデオブロックを含み得る。
【0047】
他の例では、例えばスキップモードにおいて、現在のビデオブロックについての残差データが存在しなくてもよいし、残差生成ユニット207は減算演算を実行しなくてもよい。
【0048】
変換処理ユニット208は、現在のビデオブロックに関連付けられた残差ビデオブロックに1つ又は複数の変換を適用することによって、現在のビデオブロックについての1つ又は複数の変換係数ビデオブロックを生成し得る。
【0049】
変換処理ユニット208が現在のビデオブロックに関連付けられた変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連付けられた1つ又は複数の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連付けられた変換係数ビデオブロックを量子化し得る。
【0050】
逆量子化ユニット210及び逆変換ユニット211は、それぞれ、変換係数ビデオブロックに逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構築し得る。再構築ユニット212は、再構築された残差ビデオブロックを、予測ユニット202によって生成された1つ又は複数の予測ビデオブロックからの対応するサンプルに追加して、バッファ213に記憶するために現在のビデオブロックに関連付けられた再構築ビデオブロックを生成し得る。
【0051】
再構築ユニット212がビデオブロックを再構築した後、ループフィルタリング動作が実行されて、ビデオブロック内のビデオブロッキングアーティファクトを低減し得る。
【0052】
エントロピーエンコーディングユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピーエンコーディングユニット214がデータを受信すると、エントロピーエンコーディングユニット214は、1つ又は複数のエントロピーエンコーディング動作を実行して、エントロピーエンコード化データを生成し、エントロピーエンコード化データを含むビットストリームを出力し得る。
【0053】
図3は、本開示のいくつかの実施形態による、
図1に示されるシステム100内のビデオデコーダ124の一例であり得るビデオデコーダ300の一例を示すブロック図である。
【0054】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するように構成され得る。
図3の例では、ビデオデコーダ300は複数の機能コンポーネントを含む。本開示で説明される技術は、ビデオデコーダ300の様々なコンポーネント間で共有され得る。いくつかの例では、プロセッサは、本開示で説明された技術のいずれか又は全てを実行するように構成され得る。
【0055】
図3の例では、ビデオデコーダ300は、エントロピーデコーディングユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構築ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例では、ビデオエンコーダ200に関して説明したエンコーディングパスと一般に逆のデコーディングパスを実行し得る。
【0056】
エントロピーデコーディングユニット301は、エンコードされたビットストリームを取り戻し得る。エンコードされたビットストリームは、エントロピーコード化されたビデオデータ(例:ビデオデータのエンコードされたブロック)を含み得る。エントロピーデコーディングユニット301は、エントロピーコード化されたビデオデータをデコードし得、エントロピーデコードされたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによってそのような情報を決定し得る。AMVPが使用され、隣接するPB及び参照ピクチャからのデータに基づいた最もあり得るいくつかの候補の導出を含む。動き情報には、通常、水平及び垂直動きベクトル変位値、1つ又は2つの参照ピクチャインデックス、及びBスライス内の予測領域の場合は、どの参照ピクチャリストが各インデックスに関連付けられているかの識別が含まれる。本明細書で使用されるように、いくつかの態様では、「マージモード」は、空間的又は時間的に隣接するブロックから動き情報を導出することを指し得る。
【0057】
動き補償ユニット302は、おそらく補間フィルタに基づいて補間を実行しながら、動き補償されたブロックを生成し得る。サブピクセル精度で使用される補間フィルタの識別子が構文要素に含まれ得る。
【0058】
動き補償ユニット302は、ビデオブロックのエンコーディング中にビデオエンコーダ200によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルについての補間値を計算し得る。動き補償ユニット302は、受信した構文情報に従ってビデオエンコーダ200によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【0059】
動き補償ユニット302は、構文情報の少なくとも一部を使用して、エンコードされたビデオシーケンスのフレーム及び/又はスライスをエンコードするために使用されるブロックのサイズ、エンコードされたビデオシーケンスのピクチャの各マクロブロックがどのように分割されるかを説明するパーティション情報、各パーティションがどのようにエンコードされるかを示すモード、各インターエンコードされたブロックの1つ又は複数の参照フレーム(及び参照フレームリスト)、及びエンコードされたビデオシーケンスをデコードするその他の情報を決定し得る。本明細書で使用されるように、いくつかの態様では、「スライス」は、エントロピーコーディング、信号予測、及び残差信号再構築に関して、同じピクチャの他のスライスから独立してデコードできるデータ構造を指し得る。スライスは、ピクチャ全体又はピクチャの領域のいずれかになり得る。
【0060】
イントラ予測ユニット303は、例えばビットストリームで受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット304は、ビットストリームで提供され、エントロピーデコーディングユニット301によってデコードされた量子化ビデオブロック係数を逆量子化、即ち量子化解除する。逆変換ユニット305は、逆変換を適用する。
【0061】
再構築ユニット306は、例えば、残差ブロックと、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックとを加算することで、デコードされたブロックを取得し得る。必要に応じて、デブロッキングフィルタが適用されて、ブロックアーティファクトを除去するよう、デコードされたブロックをフィルタリングしてもよい。次に、デコードされたビデオブロックはバッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のための参照ブロックを提供し、また、表示デバイス上にプレゼンテーションするためのデコードされたビデオも生成する。
【0062】
本開示のいくつかの例示的な実施形態について以下に詳細に説明することにする。本明細書では理解を容易にするためにセクション見出しが使用されているが、セクションで開示される実施形態をそのセクションのみに限定するものではないことを理解すべきである。さらに、特定の実施形態が多用途ビデオコーディング又は他の特定のビデオコーデックを参照して説明されるが、開示された技術は他のビデオコーディング技術にも適用可能である。さらに、いくつかの実施形態はビデオコーディングステップを詳細に説明するが、コーディングを元に戻す対応するデコーディングステップはデコーダによって実施されることは理解されるであろう。さらに、ビデオ処理という用語には、ビデオコーディング又は圧縮、ビデオデコーディング又は解凍、及びビデオピクセルを1つの圧縮フォーマットから別の圧縮フォーマット又は異なる圧縮ビットレートで表現するビデオトランスコーディングが包含される。
1. 概要
この開示は、メディアファイルフォーマットに関するものである。具体的には、メディアファイル内の事前選択記述情報のシグナリングに関するもので、事前選択とは、同時デコード及びプレゼンテーションのためにユーザが選択し得るメディアプレゼンテーションの1つのバージョンを表す1つ又は複数のトラック及び/又はサブトラックのセットである。このアイデアは、ISOベースメディアファイルフォーマット(ISOBMFF)及びISOBMFFから導出されるファイルフォーマットなど、任意のメディアファイルフォーマットによるメディアファイルに、個別に又はさまざまな組み合わせで適用され得る。
2. 紹介
2.1. ビデオコーディング規格
ビデオコーディング規格は、主によく知られているITU-T及びISO/IEC規格の開発を通じて進化している。ITU-TはH.261とH.263を策定し、ISO/IECはMPEG-1とMPEG-4 Visualを策定し、この2つの組織は共同でH.262/MPEG-2 Video、H.264/MPEG-4 Advanced Video Coding(AVC)、及びH.265/HEVC規格を策定した。H.262以降、ビデオコーディング規格は、時間予測及び変換コーディングが利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、2015年にVCEGとMPEGによって共同ビデオ探索チーム(Joint Video Exploration Team、JVET)が設立された。それ以来、多くの新しい方法がJVETに採用され、共同探索モデル(Joint Exploration Model、JEM)と呼ばれる参照ソフトウェアに取り入れられている。JVETは、Versatile Video Coding(VVC)プロジェクトが正式に開始されたときに、共同ビデオ専門家チーム(Joint Video Experts Team、JVET)に改名された。VVCは、HEVCと比較して50%のビットレート削減を目標とし、2020年7月1日に終了したJVETの第19回会議で最終決定された新しいコーディング規格である。
多用途ビデオコーディング(Versatile Video Coding、VVC)規格(ITU-T H.266 | ISO/IEC 23090-3)と関連する多用途補足拡張情報(VSEI)規格(ITU-T H.274 | ISO/IEC 23002-7)は、テレビ放送、ビデオ会議、ストレージメディアからの再生などの従来の用途だけでなく、アダプティブビットレートストリーミング、ビデオ領域の抽、複数のコード化ビデオビットストリームからのコンテンツの合成及びマージング、マルチビュービデオ、スケーラブルな階層化コーディング、ビューポート適応型360°イマーシブメディアなどの新しい高度な用途も含め、最大限に幅広いアプリケーションで使用されるように設計されている。
2.2. ファイルフォーマット規格
メディアストリーミングアプリケーションは、通常、IP、TCP、及びHTTPトランスポートメソッドに基づいており、通常はISOベースメディアファイルフォーマット(ISOBMFF)などのファイルフォーマットに依存する。このようなストリーミングシステムの1つが、HTTP経由の動的アダプティブストリーミング(DASH)である。ISOBMFF及びDASHでビデオフォーマットを使用する場合、AVCファイルフォーマット及びHEVCファイルフォーマットなどのビデオフォーマットに特有のファイルフォーマット仕様が、ISOBMFFトラック及びDASH表現とセグメントでのビデオコンテンツのカプセル化に必要になり得る。ビデオビットストリームに関する重要な情報、例えばプロファイル、階層、レベル、その他多くの情報は、コンテンツ選択の目的で、例えばストリーミングセッションの開始時の初期化及びストリーミングセッション中のストリーム適応の両方での適切なメディアセグメントの選択のために、ファイルフォーマットレベルのメタデータ及び/又はDASHメディアプレゼンテーション記述(MPD)として公開される必要があり得る。同様に、ISOBMFFでイメージフォーマットを使用する場合は、AVCイメージファイルフォーマット及びHEVCイメージファイルフォーマットなど、イメージフォーマットに特有のファイルフォーマット仕様が必要になり得る。
2.3. トラックグループ化とエンティティグループ化
ISOBMFFは、トラックグループ化とエンティティグループ化の両方を指定する。
トラックグループ化は、トラックボックスに含まれるトラックグループボックスに基づいてシグナリングされる。言い換えれば、トラックグループ化はトラックレベルのシグナリングである。このトラックグループボックスは、各グループが特定の特性を共有するか、又はグループ内のトラックが特定の関係を持つトラックのグループの指示を可能にする。特定の特性又は関係は、トラックグループボックスに含まれるボックスのボックスタイプによって示される。トラックグループボックスに含まれるボックスには識別子が含まれており、これを使用して同じトラックグループに属するトラックを結論付けることができる。トラックグループボックス内に含まれるボックスの同じタイプを含み、これらの含まれるボックス内で同じ識別子値を持つトラックは、同じトラックグループに属する。
エンティティグループは、アイテムのグループ化であり、トラックもグループ化し得る。エンティティグループ内のエンティティは、グループ化のタイプによって示されるように、特定の特性を共有するか、又は特定の関係を持つ。エンティティグループはGroupsListBoxで示される。ファイルレベルのMetaBoxのGroupsListBoxで指定されるエンティティグループは、トラック又はファイルレベルのアイテムを指す。ムービーレベルのMetaBoxのGroupsListBoxで指定されるエンティティグループは、ムービーレベルのアイテムを指す。トラックレベルのMetaBoxのGroupsListBoxで指定されるエンティティグループは、そのトラックのトラックレベルのアイテムを参照する。GroupsListBoxには、それぞれ1つのエンティティグループを指定するEntityToGroupBoxesが含まれる。
トラッキンググループ化とエンティティグループ化には、2つの重要な違いがある。
1) トラックグループ化のシグナリングはトラックレベルであるが、この目的のためのエンティティグループ化はファイルレベルになる。この違いにより、これら2つのメカニズムには次のような長所と短所がある。
a. エンティティグループ化の潜在的な利点は、いくつかのビットを節約することである。
b. エンティティグループ化の議論の余地のある利点は、どのトラックが事前選択に寄与するかを把握するために必要な解析が少なくなることである。
c. トラックグループ化には、トラッキンググループボックスを変更することなく一部のトラックを削除するなどの編集操作がしやすくなるという潜在的な利点がある(トラックの数など、いくつかの関連パラメータが追加されている場合を除く)。
2) エンティティグループ化は、イーメジアイテムなどのアイテムにも適用できるが、トラックグループ化は適用できない。事前選択にアイテムを含めるユースケースがある場合、これはエンティティグループ化に有利である。
2.4. ISOBMFFにおける事前選択シグナリング
ISOBMFF規格の修正が開発中である。この修正の最新のドラフト仕様には、事前選択のシグナリング用のいくつかの機能の仕様が含まれている。
事前選択のシグナリング用の機能の仕様は次のとおりである。
3.1定義と用語
事前選択
同時デコーディング/プレゼンテーションのためにユーザが選択し得るメディアプレゼンテーションの1つのバージョンを表す1つ又は複数のサブトラックのセット
サブトラック
トラック内の選択可能なエンティティ
8.3.4.4.3 事前選択グループボックス
8.3.4.4.3.1 定義
トラックに、track_group_typeが「pres」に等しい、PreselectionGroupBoxとも呼ばれる、TrackGroupTypeBoxが存在する場合、このトラックが事前選択に寄与することを示す。
PreselectionGroupBox内でtrack_group_idの値が同じであるトラックは、同じ事前選択の一部である。
事前選択は、言語、種類、又はオーディオレンダリング指示、オブジェクトの対話性又はチャンネルレイアウト等のメディア固有の属性によって適格とされ得る。事前選択ボックスでシグナリングされる属性は、寄与トラックでシグナリングされる属性よりも優先されるものとする。
事前選択を一意に適格させる全ての属性は、事前選択の少なくとも1つのPreselection Box(事前選択ボックス)に存在するものとする。事前選択の複数のPreselection Boxに存在する場合、適格属性を含むボックスは同一であるものとする。
注1:事前選択は、同じメディアタイプのトラックのみをグループ化する。
PreselectionGroupBoxを含み、少なくとも1つの事前選択に必要なサブトラックが全て含まれていないトラックでは、Track Header Boxes(トラックヘッダーボックス)内のtrack_in_movieフラグが「0」に設定されるものとする。これにより、Preselection Boxを理解していないプレーヤーがトラックをプレイして不完全な体験につながるのを防ぐ。
8.3.4.4.3.2 構文
aligned(8) class PreselectionGroupBox extends TrackGroupTypeBox(’pres’, 0, flags)
{
if (flags & 1) {
unsigned int(8) selection_priority=1;
}
PreselectionInformationBox presel_info;
PreselectionProcessingBox presel_processing;
}
8.3.4.4.3.3 セマンティクス
selection_priorityは、メディア言語などによる他の区別が不可能な場合に事前選択の優先度を宣告する整数である。数値が小さいほど優先度が高くなる。
presel_infoはPreselectionInformationBox()のインスタンスであり、事前選択を説明する情報を提供する。
presel_processingはPreselectionProcessingBox()のインスタンスであり、事前選択の処理に必要な情報を提供する。
8.3.4.4.4 事前選択情報ボックス
8.3.4.4.4.1 定義
ボックスタイプ: 「prsi」
コンテナー: PreselectionGroupBox
必須: いいえ
数量: 0又は1
このボックス(Box)には、事前選択に関する全てのセマンティック情報が集約される。
8.3.4.4.4.2構文
aligned(8) class PreselectionInformationBox
extends FullBox(’prsi’, version=0, 0 ){
// Boxes describing the preselection
unsigned int(8) numTracks;
}
8.3.4.4.4.3 セマンティクス
このボックスには、この事前選択が選択されたときに利用可能なエクスペリエンスに関する情報が含まれている。
事前選択を説明するのに適したボックスには、この仕様で定義されている次のボックスのリストが含まれるが、これらに限定されない。
* オーディオオブジェクトボックス(条項8.3.4.4.5)、
* オーディオオブジェクト選択ボックス(条項8.3.4.4.7)、
* 拡張言語タグ(条項8.4.6)、
* ユーザデータボックス(条項8.10.1)、
* トラックの種類(条項8.10.4)、
* ラベルボックス(条項8.18.4)、
* オーディオレンダリング指示(条項8.18.5)、
* チャネルレイアウト(条項12.2.4.1)。
ユーザデータボックスがPreselectionBoxに含まれる場合、上記のボックスはいずれもキャリーされないものとする。
numTracksは、事前選択の再生に寄与するトラックの数を宣告する。この値は、同じtrack_group_idを持つPreselectionGroupBoxを含むトラックの数と一致するものとする。
注1:事前選択の再生に寄与する全てのトラックが同じファイルで配信されるわけではない。
注2:種類ボックスは、事前選択の特性を記述するために一般的に使用されるスキームを提供するため、ISO/IEC 23009-1、条項5.8.5.5で定義されている役割スキームを利用し得る。
さらなるメディアタイプ固有のボックスを使用して、事前選択のプロパティを記述し得る。
8.3.4.4.9 事前選択処理ボックス
8.3.4.4.9.1 定義
ボックスタイプ: 「prsp」
コンテナー: PreselectionGroupBox
必須: はい
数量: 正確に1
このボックスには、事前選択に寄与するトラックがどのように処理されるかに関する情報が含まれる。メディアタイプ固有のボックスを使用して、さらなる処理を記述し得る。
8.3.4.4.9.2 構文
aligned(8) class PreselectionProcessingBox
extends FullBox(’prsp’, version=0, flags ){
utf8string preselection_tag;
if (flags & 1) {
unsigned int(8) order=0;
}
unsigned int(8) track_order;
unsigned int(1) sample_merge_flag;
unsigned int(7) reserved;
// further attributes and Boxes defining additional processing of
// the track contributing to the preselection
}
8.3.4.4.9.3 セマンティクス
preselection_tagは、メディア内のいくつかの事前選択から1つを一意に識別するために、再生システムがデコーダに提供できるコーデック固有の値である。
orderは、ISO/IEC 23009-1に従って、次の列挙セットから、Preselection(事前選択)内のAdaptation Sets(適応セット)における表現についての準拠規則を指定する。
0:未定義、
1:時間順、
2:完全順。
track_orderは、以下に説明するマージプロセスでのこのトラックの順序を定義する。
sample_merge_flagが1に等しい場合、このトラックは、以下に説明するように別のトラックとマージ可能になることを示す。
選択された事前選択に寄与し、sample_merge_flagが1に等しいトラックは、それぞれのメディアタイプに従ってそのサンプルをマージするものとする。
メディアタイプがそのようなプロセスを指定しない場合は、寄与サンプルは、次に低いtrack_orderを持つトラックのサンプルに付加され得る。このマージプロセスから生成された出力サンプルが新しいトラックに組み込まれるものとする場合、このトラックは、ベースメディアタイプから派生されたメディアタイプに準拠するものとする。
注:MPEG-H 3Dオーディオの場合、このプロセスはISO/IEC 23008-3、条項14.6で定義されている。
3. 問題点
トラックグループ化メカニズムを使用したISOBMFFでの事前選択のシグナリングの既存の設計には、事前選択記述情報のシグナリングに関して次の問題がある。
1) PreselectionInformationBoxでは、オプションボックスはコンテナボックスの最後にあるべきであるため、numTracksフィールドは全てのオプションボックスの前にシグナリングされるべきである。
2) 事前選択に寄与する異なるトラックのPreselectionGroupBoxのインスタンスにおけるselection_priority値は、異なることが許容されている。その場合、事前選択についての優先度が不明瞭になる。
3) 事前選択記述情報の多くが事前選択に寄与する全てのトラックで繰り返される。このような冗長性を減らすか回避することが望ましいであろう。
4. 詳細なソリューション
上記の問題を解決するために、以下に要約する方法が開示される。これらのソリューションは、一般的な概念を説明するための例として考慮されるべきであり、狭義に解釈されるべきではない。さらに、これらの解決策は、個別に又は任意の方式で組み合わせて適用され得る。
1) 一つ目の問題を解決するには、PreselectionInformationBoxで、numTracksフィールドが全てのオプションボックスの前にシグナリングされる。
2) 二つ目の問題を解決するには、事前選択に寄与する全てのトラック内のPreselectionGroupBox内のselection_priorityの値が同じであるものとすることが要求される。
3) 三つ目の問題を解決するために、次の側面の一つ又は複数が指定される。
a. 一例では、事前選択記述情報の一部又は全部の存在はトラックレベルフラグによって制御されるが、その値1と0は、それぞれトラック内の事前選択記述情報の一部又は全部の存在と不在を示す。
i. フラグは、事前選択に寄与するトラックの少なくとも1つに対して1に等しい必要がある。
ii. フラグは、事前選択に寄与するトラックの複数に対して1に等しいことが許容される。
iii. 一例では、numTracksフィールドは、事前選択記述情報の1つと見なされる。
iv. 一例では、selection_priorityフィールドは、事前選択記述情報の1つと見なされる。
v. 一例では、各事前選択記述情報の存在は、それ自体の存在フラグによって制御される。
vi. 一例では、全ての事前選択記述情報の存在は、単一の存在フラグによって制御される。
vii. 一例では、このような存在フラグは、PreselectionGroupBoxのフラグフィールドのビットの1つを使用して指定される。
viii. 一例では、このような存在フラグはPreselectionGroupBox内のビットを使用して指定されるが、そのビットはPreselectionGroupBoxのフラグフィールドのビットではない。
b. 一例では、メディアファイルに、事前選択に寄与するトラックの1つが事前選択についてのベーストラックとなることを示す指示が含まれ、事前選択の全ての事前選択記述情報がベーストラックでシグナリングされる。
i. 一例では、事前選択の事前選択記述情報は、事前選択のベーストラック以外の他のトラックではシグナリングされない。
ii. 一例では、事前選択のベーストラックは次のように示される。事前選択に寄与するトラック内の事前選択記述情報の存在は、トラックレベルフラグによって制御されるが、その値1と0は、それぞれトラック内の事前選択記述情報の存在と不在を示す。
1. フラグは、事前選択に寄与するトラックの1つに対してのみ1に等しいことが許容される。
2. フラグは、寄与トラックの1つに対しても1に等しい必要がある。
3. フラグが1に等しいトラックがベーストラックになる。
iii. 一例では、事前選択記述情報の一部又は全部が事前選択のベーストラック以外の他のトラックでシグナリングされることが許容されるが、必須ではない。
5. 実施形態
以下は、セクション4で上記にまとめた一部のソリューション側面のいくつかの例示的な実施形態である。追加又は変更されたほとんどの関連部分には下線が引かれ、削除された部分の一部は[[]]でかこまれている。編集上の性質上、強調表示されていないその他の変更があり得る。変更されていない部分は含まれていない。
5.1. 第1の実施形態
この実施形態は、ソリューション項目1、2、3.a、3.a.i-iv、及び3.a.vi-viiに対するものである。
8.3.4.4.3 事前選択グループボックス
8.3.4.4.3.1 定義
トラックに、track_group_typeが「pres」に等しい、PreselectionGroupBoxとも呼ばれる、TrackGroupTypeBoxが存在する場合、このトラックが事前選択に寄与することを示す。
PreselectionGroupBox内でtrack_group_idの値が同じであるトラックは、同じ事前選択の一部である。
事前選択は、言語、種類、又はオーディオレンダリング指示、オブジェクトの対話性又はチャンネルレイアウト等のメディア固有の属性によって適格とされ得る。事前選択ボックスでシグナリングされる属性は、寄与トラックでシグナリングされる属性よりも優先されるものとする。
事前選択を一意に適格させる全ての属性は、事前選択の少なくとも1つのPreselection Box(事前選択ボックス)に存在するものとする。事前選択の複数のPreselection Boxに存在する場合、適格属性を含むボックスは同一であるものとする。
注1:事前選択は、同じメディアタイプのトラックのみをグループ化する。
PreselectionGroupBoxを含み、少なくとも1つの事前選択に必要なサブトラックが全て含まれていないトラックでは、Track Header Boxes(トラックヘッダーボックス)内のtrack_in_movieフラグが「0」に設定されるものとする。これにより、Preselection Boxを理解していないプレーヤーがトラックをプレイして不完全な体験につながるのを防ぐ。
8.3.4.4.3.2 構文
aligned(8) class PreselectionGroupBox extends TrackGroupTypeBox(’pres’, 0, flags)
{
if (flags & 1) {
unsigned int(8) selection_priority=1;
PreselectionInformationBox presel_info;
}
[[PreselectionInformationBox presel_info;]]
PreselectionProcessingBox presel_processing;
}
8.3.4.4.3.3 セマンティクス
事前選択に寄与する全てのトラックの中には、PreselectionGroupBoxのフラグフィールドが、(flags & 1)が1に等しいという条件を満たすトラックが少なくとも1つ存在するものとする。
注:事前選択に寄与するトラックの複数で、PreselectionGroupBoxのフラグフィールドが、(flags & 1)が1に等しいという条件を満たすことが許容される。
selection_priorityは、メディア言語などによる他の区別が不可能な場合に事前選択の優先度を宣告する整数である。数値が小さいほど優先度が高くなる。selection_priorityの値は、事前選択に寄与する全てのトラックに対して同じであるものとする。
presel_infoはPreselectionInformationBox()のインスタンスであり、事前選択を説明する情報を提供する。
presel_processingはPreselectionProcessingBox()のインスタンスであり、事前選択の処理に必要な情報を提供する。
8.3.4.4.4 事前選択情報ボックス
8.3.4.4.4.1 定義
ボックスタイプ: 「prsi」
コンテナー: PreselectionGroupBox
必須: いいえ
数量: 0又は1
このボックス(Box)には、事前選択に関する全てのセマンティック情報が集約される。
8.3.4.4.4.2構文
aligned(8) class PreselectionInformationBox
extends FullBox(’prsi’, version=0, 0 ){
unsigned int(8) numTracks;
// Boxes describing the preselection
[[unsigned int(8) numTracks;]]
}
8.3.4.4.4.3 セマンティクス
このボックスには、この事前選択が選択されたときに利用可能なエクスペリエンスに関する情報が含まれている。
事前選択を説明するのに適したボックスには、この仕様で定義されている次のボックスのリストが含まれるが、これらに限定されない。
* オーディオオブジェクトボックス(条項8.3.4.4.5)、
* オーディオオブジェクト選択ボックス(条項8.3.4.4.7)、
* 拡張言語タグ(条項8.4.6)、
* ユーザデータボックス(条項8.10.1)、
* トラックの種類(条項8.10.4)、
* ラベルボックス(条項8.18.4)、
* オーディオレンダリング指示(条項8.18.5)、
* チャネルレイアウト(条項12.2.4.1)。
ユーザデータボックスがPreselectionBoxに含まれる場合、上記のボックスはいずれもキャリーされないものとする。
numTracksは、事前選択の再生に寄与するトラックの数を宣告する。この値は、同じtrack_group_idを持つPreselectionGroupBoxを含むトラックの数と一致するものとする。
注1:事前選択の再生に寄与する全てのトラックが同じファイルで配信されるわけではない。
注2:種類ボックスは、事前選択の特性を記述するために一般的に使用されるスキームを提供するため、ISO/IEC 23009-1、条項5.8.5.5で定義されている役割スキームを利用し得る。
さらなるメディアタイプ固有のボックスを使用して、事前選択のプロパティを記述し得る。
5.2. 第2の実施形態
この実施形態は、ソリューション項目1、2、3.a、3.a.i-iii、及び3.a.vi-viiに対するものである。
8.3.4.4.3 事前選択グループボックス
8.3.4.4.3.1 定義
トラックに、track_group_typeが「pres」に等しい、PreselectionGroupBoxとも呼ばれる、TrackGroupTypeBoxが存在する場合、このトラックが事前選択に寄与することを示す。
PreselectionGroupBox内でtrack_group_idの値が同じであるトラックは、同じ事前選択の一部である。
事前選択は、言語、種類、又はオーディオレンダリング指示、オブジェクトの対話性又はチャンネルレイアウト等のメディア固有の属性によって適格とされ得る。事前選択ボックスでシグナリングされる属性は、寄与トラックでシグナリングされる属性よりも優先されるものとする。
事前選択を一意に適格させる全ての属性は、事前選択の少なくとも1つのPreselection Box(事前選択ボックス)に存在するものとする。事前選択の複数のPreselection Boxに存在する場合、適格属性を含むボックスは同一であるものとする。
注1:事前選択は、同じメディアタイプのトラックのみをグループ化する。
PreselectionGroupBoxを含み、少なくとも1つの事前選択に必要なサブトラックが全て含まれていないトラックでは、Track Header Boxes(トラックヘッダーボックス)内のtrack_in_movieフラグが「0」に設定されるものとする。これにより、Preselection Boxを理解していないプレーヤーがトラックをプレイして不完全な体験につながるのを防ぐ。
8.3.4.4.3.2 構文
aligned(8) class PreselectionGroupBox extends TrackGroupTypeBox(’pres’, 0, flags)
{
if (flags & 1) {
unsigned int(8) selection_priority=1;
}
if (flags & 2) {
PreselectionInformationBox presel_info;
}
[[PreselectionInformationBox presel_info;]]
PreselectionProcessingBox presel_processing;
}
8.3.4.4.3.3 セマンティクス
事前選択に寄与する全てのトラックの中には、PreselectionGroupBoxのフラグフィールドが、(flags & 2)が1に等しいという条件を満たすトラックが少なくとも1つ存在するものとする。
注:事前選択に寄与するトラックの複数で、PreselectionGroupBoxのフラグフィールドが、(flags & 2)が1に等しいという条件を満たすことが許容される。
selection_priorityは、メディア言語などによる他の区別が不可能な場合に事前選択の優先度を宣告する整数である。数値が小さいほど優先度が高くなる。selection_priorityの値は、事前選択に寄与する全てのトラックに対して同じであるものとする。
presel_infoはPreselectionInformationBox()のインスタンスであり、事前選択を説明する情報を提供する。
presel_processingはPreselectionProcessingBox()のインスタンスであり、事前選択の処理に必要な情報を提供する。
8.3.4.4.4 事前選択情報ボックス
8.3.4.4.4.1 定義
ボックスタイプ:「prsi」
コンテナー:PreselectionGroupBox
必須:いいえ
数量:0又は1
このボックス(Box)には、事前選択に関する全てのセマンティック情報が集約される。
8.3.4.4.4.2構文
aligned(8) class PreselectionInformationBox
extends FullBox(’prsi’, version=0, 0 ){
unsigned int(8) numTracks;
// Boxes describing the preselection
[[unsigned int(8) numTracks;]]
}
8.3.4.4.4.3 セマンティクス
このボックスには、この事前選択が選択されたときに利用可能なエクスペリエンスに関する情報が含まれている。
事前選択を説明するのに適したボックスには、この仕様で定義されている次のボックスのリストが含まれるが、これらに限定されない。
* オーディオオブジェクトボックス(条項8.3.4.4.5)、
* オーディオオブジェクト選択ボックス(条項8.3.4.4.7)、
* 拡張言語タグ(条項8.4.6)、
* ユーザデータボックス(条項8.10.1)、
* トラックの種類(条項8.10.4)、
* ラベルボックス(条項8.18.4)、
* オーディオレンダリング指示(条項8.18.5)、
* チャネルレイアウト(条項12.2.4.1)。
ユーザデータボックスがPreselectionBoxに含まれる場合、上記のボックスはいずれもキャリーされないものとする。
numTracksは、事前選択の再生に寄与するトラックの数を宣告する。この値は、同じtrack_group_idを持つPreselectionGroupBoxを含むトラックの数と一致するものとする。
注1:事前選択の再生に寄与する全てのトラックが同じファイルで配信されるわけではない。
注2:種類ボックスは、事前選択の特性を記述するために一般的に使用されるスキームを提供するため、ISO/IEC 23009-1、条項5.8.5.5で定義されている役割スキームを利用し得る。
さらなるメディアタイプ固有のボックスを使用して、事前選択のプロパティを記述し得る。
【0063】
メディアファイル内の事前選択記述情報のシグナリングに関連する、本開示の実施形態のさらなる詳細を以下で説明する。本開示の実施形態は、一般的な概念を説明するための例として考えられるべきであり、狭義に解釈されるべきではない。さらに、これらの実施形態は、個別に又は任意の方式で組み合わせて適用され得る。
【0064】
本明細書で使用されるように、「事前選択」という用語は、同時デコーディング又はプレゼンテーションのためのメディアプレゼンテーションの1つのバージョンを表す1つ又は複数のトラックのセットを指し得る。事前選択の事前選択記述情報には、この事前選択が選択されたときに利用可能なエクスペリエンスに関する情報を含み得る。「トラック」という用語は、関連するサンプルのタイミングシーケンスを指し得る。「サンプル」という用語は、単一の時間に関連付けられた全てのデータを指し得る。
【0065】
図4は、本開示のいくつかの実施形態によるビデオ処理の方法400のフローチャートを示す。方法400は、クライアント又はサーバで具現され得る。ここで使用される「クライアント」という用語は、コンピュータネットワークのクライアントサーバモデルの一部としてサーバによって提供されるサービスにアクセスするコンピューターハードウェア又はソフトウェアを指し得る。例として、クライアントはスマートフォン又はタブレットであり得る。ここで使用される「サーバ」という用語は、コンピューティングの能力があるデバイスを指し得、その場合、クライアントはネットワークを通ってサービスにアクセスする。サーバは、物理的なコンピューティングデバイス又は仮想的なコンピューティングデバイスであり得る。
【0066】
図4に示すように、402では、ビデオのビットストリームと前記ビデオのメディアファイルとの間の転換が実行される。メディアファイルは、ファイルフォーマット(例:国際標準化機構(ISO)ベースメディアファイルフォーマット)のコンテキストでメディアコンテンツの有界又は無界のプレゼンテーションを確立するデータの収集である。いくつかの実施形態では、転換は、メディアファイルを生成し、ビットストリームをメディアファイルに記憶することを含み得る。追加的に又は代替的に、転換は、メディアファイルを解析してビットストリームを再構築することを含み得る。
【0067】
いくつかの実施形態では、前記メディアファイルは第1のデータ構造を含む。限定ではなく例として、第1のデータ構造はボックス型であり得、事前選択記述情報の少なくとも一部をキャリーするために使用され得る。本明細書で使用されるように、「ボックス」という用語は、ユニークタイプ識別子及び長さによって定義されるオブジェクト指向のビルディングブロックを指し得る。一例では、第1のデータ構造は事前選択情報ボックスであり得る。第1のデータ構造は、事前選択トラックグループエントリボックスなど、他の任意の適切な文字列によって表されるボックスであり得ることは理解されるべきである。本開示の範囲は、この点において限定されない。
【0068】
前記第1のデータ構造は、第1の指示を含む。前記第1の指示は、前記メディアファイル内の事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。例えば、この事前選択トラックグループによってグループ化されたトラックは、この事前選択のIDに等しいtrack_group_idを持つ「pres」トラックグループを有するトラックであり得る。したがって、非代替トラックの数は、同じtrack_group_idを持つ事前選択グループボックスを含むトラックの数と一致し得る。さらに、事前選択トラックグループによってグループ化された非代替トラックは、事前選択のプレイアウトに寄与するトラックに対応し得る。一例では、第1の指示は、numTracksフィールドであり得る。第1の指示は、他の適切な文字列、例えばnum_tracksフィールドによって表されるフィールドであり得ることは理解されるべきである。本開示の範囲は、この点において限定されない。
【0069】
さらに、前記第1データ構造は、前記メディアファイル内の前記事前選択を記述する少なくとも1つの第2のデータ構造をさらに含む。前記第1指示は、第2のデータ構造のセットの前にシグナリングされる。限定ではなく例として、少なくとも1つの第2データ構造は、ボックス型であり得る。一例では、少なくとも1つの第2データ構造は、事前選択を記述するボックスを含み得る。代替的に、少なくとも1つの第2データ構造は、全てのオプショナルボックスを含み得る。上記の解説及び/又は例は、説明の目的でのみ記載されていることは理解されるべきである。本開示の範囲は、この点において限定されない。
【0070】
上記を考慮すると、第1の指示は、第2のデータ構造のセットの前にシグナリングされる。第1の指示が第2のデータ構造のセットの後にシグナリングされる従来のソリューションと比較して、提案された方法は、事前選択記述情報の適切なシグナリングを有利に確保することができる。
【0071】
いくつかの実施形態では、前記メディアファイルは、前記事前選択の優先度を示す第2の指示を含み得る。前記第2の指示の値は、前記事前選択に寄与する全てのトラックに対して同じであり得る。限定ではなく例として、第2の指示は、selection_priorityフィールドであり得る。前記第2の指示は、前記第1のデータ構造に含まれ得る。第2の指示は、他の適切な文字列によって表されるフィールドであってもよいことは理解されるべきである。本開示の範囲は、この点において限定されない。これらの実施形態では、第2の指示の値は、事前選択に寄与する全てのトラックに対して同じである。第2の指示の値が事前選択に寄与するトラックごとに異なり得る従来のソリューションと比較して、提案された方法は、事前選択の優先度の適切なシグナリングを有利に確保することができる。
【0072】
いくつかの実施形態では、前記メディアファイル内のトラックレベルフラグは、前記事前選択の事前選択記述情報のセットが前記メディアファイルに含まれているか否かを示し得る。限定ではなく例として、トラックレベルフラグは、前記メディアファイル内の各トラックに含まれ得る。一例では、前記フラグは、前記メディアファイル内の事前選択グループボックスのフラグフィールド内のビットを使用して指定され得る。代替的に、前記フラグは、前記メディアファイル内の事前選択グループボックス内のビットを使用して指定され得、前記ビットは、前記事前選択グループボックスのフラグフィールドに含まれない場合がある。
【0073】
いくつかの実施形態では、前記事前選択記述情報のセットが前記メディアファイルに含まれている場合、前記フラグの値は第1の所定値に等しくてもよい。前記事前選択記述情報のセットが前記メディアファイルに存在しない場合、前記フラグの値は第2の所定値に等しくてもよい。限定ではなく例として、第1の所定値は1であり得、第2の所定値は0であり得る。一例では、事前選択記述情報のセットは、事前選択の事前選択記述情報の一部又は全部を含み得る。
【0074】
いくつかの実施形態では、前記フラグの値は、前記事前選択に寄与するトラックの少なくとも1つに対して所定値に等しくてもよい。代替的又は追加的に、前記フラグの値は、前記事前選択に寄与するトラックの複数に対して所定値に等しくてもよい。限定ではなく例として、前記所定値は1であり得る。いくつかの実施形態では、前記事前選択記述情報は、前記第1の指示又はselection_priorityフィールドの少なくとも1つを含み得る。
【0075】
いくつかの実施形態では、各前記事前選択記述情報が前記メディアファイルに含まれているか否かは、それぞれの存在フラグによって示され得る。言い換えれば、各事前選択記述情報の存在は、それ自体の存在フラグによって制御され得る。
【0076】
いくつかの実施形態では、全ての前記事前選択記述情報が前記メディアファイルに含まれているか否かは、単一の存在フラグによって示され得る。言い換えれば、全ての前記事前選択記述情報の存在は、単一の存在フラグによって制御され得る。
【0077】
いくつかの実施形態では、前記メディアファイルは、前記事前選択に寄与するトラックの1つが前記事前選択についてのベーストラックとなることを示す第3の指示を含み得る。さらに、前記事前選択の全ての事前選択記述情報は前記ベーストラックでシグナリングされ得る。
【0078】
いくつかの実施形態では、全ての前記事前選択記述情報は前記ベーストラックでのみシグナリングされ得る。言い換えれば、事前選択の事前選択記述情報は、事前選択のベーストラック以外の他のトラックではシグナリングされない。
【0079】
いくつかの実施形態では、前記メディアファイル内のトラックレベルフラグは、前記事前選択記述情報が前記メディアファイルに含まれているか否かを示し得る。前記事前選択記述情報が前記メディアファイルに含まれている場合、前記フラグの値は第1の所定値に等しくてもよい。前記事前選択記述情報が前記メディアファイルに存在しない場合、前記フラグの値は第2の所定値に等しくてもよい。限定ではなく例として、前記第1の所定値は1であり得、前記第2の所定値は0であり得る。さらに、前記フラグの値は、前記事前選択に寄与するトラックのうち正確に単一のトラックに対して前記第1の所定値に等しい。このような場合、前記単一のトラックが前記ベーストラックになる。いくつかの代替的な実施形態では、前記事前選択記述情報のセットは、前記ベーストラックとは異なるトラックでシグナリングされることが許容され得る。
【0080】
本開示のさらなる実施形態によれば、非一時的なコンピュータ読み取り可能な記録媒体が提供される。前記非一時的なコンピュータ読み取り可能な記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する。前記方法によれば、ビデオのビットストリームとメディアファイルとの間の転換が実行される。前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含む。前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【0081】
本開示のまたさらなる実施形態によれば、ビデオのビットストリームを記憶する方法が提供される。前記方法では、前記ビデオのビットストリームとメディアファイルとの間の転換が実行される。前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含む。前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。さらに、前記ビットストリームは、前記非一時的なコンピュータ読み取り可能な記録媒体に記憶される。
【0082】
本開示のまたさらなる実施形態によれば、別の非一時的なコンピュータ読み取り可能な記録媒体が提供される。前記非一時的なコンピュータ読み取り可能な記録媒体は、ビデオ処理装置によって実行される方法によって生成されたビデオのメディアファイルを記憶する。前記方法によれば、前記ビデオのビットストリームとメディアファイルとの間の転換が実行される。前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含む。前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。
【0083】
本開示のまたさらなる実施形態によれば、ビデオのメディアファイルを記憶する方法が提案される。前記方法では、前記ビデオのビットストリームとメディアファイルとの間の転換が実行される。前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含む。前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する。さらに、前記メディアファイルは、前記非一時的なコンピュータ読み取り可能な記録媒体に記憶される。
【0084】
本開示の具現は、以下の条項を考慮して説明され得、その特徴は、任意の合理的な方式で組み合わされ得る。
【0085】
条項1.ビデオ処理方法であって、ビデオのビットストリームと前記ビデオのメディアファイルとの間の転換を実行するステップを含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する、方法。
【0086】
条項2.前記少なくとも1つの第2のデータ構造は、前記事前選択を記述するボックスを含む、条項1に記載の方法。
【0087】
条項3.前記メディアファイル内の第2の指示の値は、前記事前選択に寄与する全てのトラックに対して同じであり、前記第2の指示は、前記事前選択の優先度を示す、条項1から2のいずれか一項に記載の方法。
【0088】
条項4.前記第2の指示は、selection_priorityフィールドである、条項3に記載の方法。
【0089】
条項5.前記第1のデータ構造はPreselection情報ボックスであるか、又は前記第1の指示はnumTracksフィールドである、条項1から4のいずれか一項に記載の方法。
【0090】
条項6.前記メディアファイル内のトラックレベルフラグは、前記事前選択の事前選択記述情報のセットが前記メディアファイルに含まれているか否かを示す、条項1から5のいずれか一項に記載の方法。
【0091】
条項7.前記事前選択記述情報のセットが前記メディアファイルに含まれている場合、前記フラグの値は第1の所定値に等しく、前記事前選択記述情報のセットが前記メディアファイルに存在しない場合、前記フラグの値は第2の所定値に等しい、条項6に記載の方法。
【0092】
条項8.前記第1の所定値は1であり、前記第2の所定値は0である、条項7に記載の方法。
【0093】
条項9.前記事前選択記述情報のセットは、前記事前選択の全ての事前選択記述情報を含む、条項7から8のいずれか一項に記載の方法。
【0094】
条項10.前記フラグの値は、前記事前選択に寄与するトラックの少なくとも1つに対して所定値に等しい、条項7から9のいずれか一項に記載の方法。
【0095】
条項11.前記フラグの値は、前記事前選択に寄与するトラックのうちの複数に対して所定値に等しいことが許容される、条項7から9のいずれか一項に記載の方法。
【0096】
条項12.前記所定値は1である、条項10から11のいずれか一項に記載の方法。
【0097】
条項13.前記事前選択記述情報は、前記第1の指示又はselection_priorityフィールドの少なくとも1つを含む、条項7から12のいずれか一項に記載の方法。
【0098】
条項14.各前記事前選択記述情報が前記メディアファイルに含まれているか否かは、それぞれの存在フラグによって示される、条項7から13のいずれか一項に記載の方法。
【0099】
条項15.全ての前記事前選択記述情報が前記メディアファイルに含まれているか否かは、単一の存在フラグによって示される、条項7から13のいずれか一項に記載の方法。
【0100】
条項16.前記フラグは、前記メディアファイル内の事前選択グループボックスのフラグフィールド内のビットを使用して指定される、条項7から15のいずれか一項に記載の方法。
【0101】
条項17.前記フラグは、前記メディアファイル内の事前選択グループボックス内のビットを使用して指定され、前記ビットは、前記事前選択グループボックスのフラグフィールドに含まれない、条項7から15のいずれか一項に記載の方法。
【0102】
条項18.前記メディアファイルは、前記事前選択に寄与するトラックの1つが前記事前選択についてのベーストラックとなることを示す第3の指示を含み、前記事前選択の全ての事前選択記述情報は前記ベーストラックでシグナリングされる、条項1から5のいずれか一項に記載の方法。
【0103】
条項19.全ての前記事前選択記述情報は前記ベーストラックでのみシグナリングされる、条項18に記載の方法。
【0104】
条項20.前記メディアファイル内のトラックレベルフラグは、前記事前選択記述情報が前記メディアファイルに含まれているか否かを示し、前記事前選択記述情報が前記メディアファイルに含まれている場合、前記フラグの値は第1の所定値に等しく、前記事前選択記述情報が前記メディアファイルに存在しない場合、前記フラグの値は第2の所定値に等しい、条項18から19のいずれか一項に記載の方法。
【0105】
条項21.前記第1の所定値は1であり、前記第2の所定値は0である、条項20に記載の方法。
【0106】
条項22.前記フラグの値は、前記事前選択に寄与するトラックのうち正確に単一のトラックに対して前記第1の所定値に等しい、条項20から21のいずれか一項に記載の方法。
【0107】
条項23.前記単一のトラックは、前記ベーストラックである、条項22に記載の方法。
【0108】
条項24.前記事前選択記述情報のセットは、前記ベーストラックとは異なるトラックでシグナリングされることが許容される、条項18に記載の方法。
【0109】
条項25.前記メディアファイルは、国際標準化機構(ISO)ベースメディアファイルフォーマットである、条項1から24のいずれか一項に記載の方法。
【0110】
条項26.前記転換は、前記メディアファイルを生成することと、前記ビットストリームを前記メディアファイルに記憶することとを含む、条項1から25のいずれか一項に記載の方法。
【0111】
条項27.前記転換は、前記メディアファイルを解析して前記ビットストリームを再構築することを含む、条項1から25のいずれか一項に記載の方法。
【0112】
条項28.プロセッサと、命令が記録された非一時的メモリとを含むビデオ処理装置であって、前記命令は前記プロセッサによって実行されると、前記プロセッサに条項1から27のいずれか一項に記載の方法を実行させる、装置。
【0113】
条項29.プロセッサに条項1から27のいずれか一項に記載の方法を実行させる命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体。
【0114】
条項30.ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶する非一時的なコンピュータ読み取り可能な記録媒体であって、前記方法は、前記ビデオの前記ビットストリームとメディアファイルとの間の転換を実行するステップを含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する、非一時的なコンピュータ読み取り可能な記録媒体。
【0115】
条項31.ビデオのビットストリームを記憶する方法であって、前記ビデオの前記ビットストリームとメディアファイルとの間の転換を実行するステップと、前記ビットストリームを非一時的なコンピュータ読み取り可能な記録媒体に記憶するステップと、を含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する、方法。
【0116】
条項32.ビデオ処理装置によって実行される方法によって生成されたビデオのメディアファイルを記憶する非一時的なコンピュータ読み取り可能な記録媒体であって、前記方法は、前記ビデオのビットストリームと前記メディアファイルとの間の転換を実行するステップを含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する、非一時的なコンピュータ読み取り可能な記録媒体。
【0117】
条項33.ビデオのメディアファイルを記憶する方法であって、前記ビデオのビットストリームと前記メディアファイルとの間の転換を実行するステップと、前記メディアファイルを非一時的なコンピュータ読み取り可能な記録媒体に記憶するステップと、を含み、前記メディアファイル内の第1のデータ構造は、第1の指示と、前記メディアファイル内の事前選択を記述する少なくとも1つの第2のデータ構造とを含み、前記第1の指示は、第2のデータ構造のセットの前にシグナリングされ、前記事前選択についての事前選択トラックグループによってグループ化された非代替トラックの数を指定する、方法。
例示的なデバイス
【0118】
図5は、本開示の様々な実施形態を具現できるコンピューティングデバイス500のブロック図を示す。コンピューティングデバイス500は、ソースデバイス110(或いは、ビデオエンコーダ114又は200)又は宛先デバイス120(或いは、ビデオデコーダ124又は300)として具現されるか、又はそれに含まれ得る。
【0119】
図5に示されるコンピューティングデバイス500は、単に解説を目的としたものであり、本開示の実施形態の機能及び範囲をいかなる形でも制限することを示唆するものではないことは理解されるだろう。
【0120】
図5に示すように、コンピューティングデバイス500は、汎用コンピューティングデバイス500を含む。コンピューティングデバイス500は、少なくとも1つ又は複数のプロセッサ又は処理ユニット510と、メモリ520と、記憶ユニット530と、1つ又は複数の通信ユニット540と、1つ又は複数の入力デバイス550と、1つ又は複数の出力デバイス560とを含み得る。
【0121】
いくつかの実施形態では、コンピューティングデバイス500は、コンピューティング能力を有する任意のユーザ端末又はサーバ端末として具現され得る。前記サーバ端末は、サービスプロバイダが提供するサーバや大規模コンピューティングデバイスなどであり得る。前記ユーザ端末は、例えば、携帯電話、ステーション、ユニット、デバイス、マルチメディアコンピュータ、マルチメディアタブレット、インターネットノード、コミュニケータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、パーソナルコミュニケーションシステム(PCS)デバイス、パーソナルナビゲーションデバイス、携帯情報端末(PDA)、オーディオ/ビデオプレーヤー、デジタルカメラ/ビデオカメラ、測位デバイス、テレビ受信機、ラジオ放送受信機、電子ブックデバイス、ゲームデバイス、又はそれらの任意の組み合わせ(これらのデバイスのアクセサリ及び周辺機器、又はそれらの任意の組み合わせを含む)を含む、任意のタイプの移動端末、固定端末、又は携帯端末であり得る。コンピューティングデバイス500は、ユーザに対する任意のタイプのインターフェース(「ウェアラブル」回路など)をサポートできることが考えられる。
【0122】
処理ユニット510は、物理又は仮想プロセッサであり得、メモリ520に記憶されたプログラムに基づいて様々なプロセスを具現することができる。マルチプロセッサシステムでは、コンピューティングデバイス500の並列処理能力を向上させるために、複数の処理ユニットがコンピュータ実行可能命令を並列に実行する。処理ユニット510は、中央処理ユニット(CPU)、マイクロプロセッサ、コントローラ又はマイクロコントローラと呼ばれても良い。
【0123】
コンピューティングデバイス500は、通常、様々なコンピュータ記憶媒体を含む。このような媒体は、揮発性及び不揮発性媒体、又は取り外し可能及び取り外し不可能な媒体を含むがこれらに限定されない、コンピューティングデバイス500によってアクセス可能な任意の媒体であり得る。メモリ520は、揮発性メモリ(例えば、レジスタ、キャッシュ、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、フラッシュメモリ)、又はそれらの任意の組み合わせであり得る。記憶ユニット530は、任意の取り外し可能又は取り外し不可能な媒体であり得、情報及び/又はデータを記憶するために使用でき、コンピューティングデバイス500でアクセスできる、メモリ、フラッシュメモリドライブ、磁気ディスク又は別の他の媒体などの機械読み取り可能な媒体を含み得る。
【0124】
コンピューティングデバイス500は、追加の取り外し可能/取り外し不可能、揮発性/不揮発性メモリ媒体をさらに含み得る。なお、
図5には示していないが、着脱可能な不揮発性磁気ディスクの読み書きを行う磁気ディスクドライブや、着脱可能な不揮発性光ディスクの読み書きを行う光ディスクドライブを提供することが可能である。このような場合、各ドライブは、1つ又は複数のデータ媒体インターフェースを介してバス(図示せず)に接続され得る。
【0125】
通信ユニット540は、通信媒体を介してさらなるコンピューティングデバイスと通信する。また、コンピューティングデバイス500内のコンポーネントの機能は、通信接続を介して通信できる単一のコンピューティングクラスタ又は複数のコンピューティングマシンによって具現され得る。したがって、コンピューティングデバイス500は、1つ又は複数の他のサーバ、ネットワーク化されたパーソナルコンピュータ(PC)、又はさらなる一般的なネットワークノードとの論理接続を使用して、ネットワーク化された環境で動作することができる。
【0126】
入力デバイス550は、マウス、キーボード、トラッキングボール、音声入力デバイスなどの様々な入力デバイスのうちの1つ又は複数であり得る。出力デバイス560は、ディスプレイ、ラウドスピーカ、プリンタなどの様々な出力デバイスのうちの1つ又は複数であり得る。通信ユニット540によって、コンピューティングデバイス500は、記憶デバイス及び表示デバイスなどの1つ又は複数の外部デバイス(図示せず)とさらに通信することができ、1つ又は複数のデバイスにより、ユーザがコンピューティングデバイス500と対話可能にするか、又は、必要に応じて、任意のデバイス(ネットワークカード、モデムなど)により、コンピューティングデバイス500が1つ又は複数の他のコンピューティングデバイスと通信可能にする。このような通信は、入力/出力(I/O)インターフェイス(図示せず)を介して実行され得る。
【0127】
いくつかの実施形態では、単一のデバイスに統合される代わりに、コンピューティングデバイス500のいくつかの又は全てのコンポーネントがクラウドコンピューティングアーキテクチャに配置され得る。クラウドコンピューティングアーキテクチャでは、コンポーネントは遠隔的に提供され、連携して本開示で説明される機能を実施し得る。いくつかの実施形態では、クラウドコンピューティングは、コンピューティング、ソフトウェア、データアクセス及びストレージサービスを提供し、これらのサービスを提供するシステム又はハードウェアの物理的な位置又は構成をエンドユーザが認識する必要はない。様々な実施形態において、クラウドコンピューティングは、適切なプロトコルを使用して広域ネットワーク(インターネットなど)を介してサービスを提供する。例えば、クラウドコンピューティングプロバイダーは、Webブラウザ又はその他のコンピューティングコンポーネントを通じてアクセスできる広域ネットワーク経由でアプリケーションを提供する。クラウドコンピューティングアーキテクチャのソフトウェア又はコンポーネント及び対応するデータは、遠隔地にあるサーバに保存され得る。クラウドコンピューティング環境におけるコンピューティングリソースは、リモートデータセンターの場所に併合又は分散され得る。クラウドコンピューティングインフラストラクチャは、ユーザにとって単一のアクセスポイントとして動作するが、共有データセンターを通じてサービスを提供し得る。したがって、クラウドコンピューティングアーキテクチャを使用して、本明細書で説明されるコンポーネント及び機能を遠隔地にあるサービスプロバイダから提供し得る。代替的に、それらは従来のサーバから提供されるか、又はクライアントデバイスに直接又はその他の方法でインストールされ得る。
【0128】
コンピューティングデバイス500は、本開示の実施形態においてビデオエンコーディング/デコーディングを具現するために使用され得る。メモリ520は、1つ又は複数のプログラム命令を有する1つ又は複数のビデオコーディングモジュール525を含み得る。これらのモジュールは、本明細書で説明される様々な実施形態の機能を実行するように、処理ユニット510によってアクセス可能かつ実行可能である。
【0129】
ビデオエンコーディングを実行する例示的な実施形態では、入力デバイス550は、エンコードされるビデオデータを入力570として受信し得る。ビデオデータは、例えば、ビデオコーディングモジュール525によって処理されて、エンコードされたビットストリームを生成し得る。エンコードされたビットストリームは、出力デバイス560を介して出力580として提供され得る。
【0130】
ビデオデコーディングを実行する例示的な実施形態では、入力デバイス550は、エンコードされたビットストリームを入力570として受信し得る。エンコードされたビットストリームは、例えば、ビデオコーディングモジュール525によって処理されて、デコードされたビデオデータを生成し得る。デコードされたビデオデータは、出力デバイス560を介して出力580として提供され得る。
【0131】
本開示は、その好ましい実施形態を参照して特に図示及び説明されたが、添付の特許請求の範囲によって定義される本出願の精神及び範囲から逸脱することなく、形態及び詳細における様々な変更を行うことができることが当業者には理解されるであろう。このような変形は、本出願の範囲に含まれるものとする。したがって、本出願の実施形態に関する前述の説明は限定することを意図したものではない。
【国際調査報告】