[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2011528868A - トラックおよびトラックサブセットグループ化の方法および装置 - Google Patents

トラックおよびトラックサブセットグループ化の方法および装置 Download PDF

Info

Publication number
JP2011528868A
JP2011528868A JP2011518022A JP2011518022A JP2011528868A JP 2011528868 A JP2011528868 A JP 2011528868A JP 2011518022 A JP2011518022 A JP 2011518022A JP 2011518022 A JP2011518022 A JP 2011518022A JP 2011528868 A JP2011528868 A JP 2011528868A
Authority
JP
Japan
Prior art keywords
track
group
box
groups
multitrack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011518022A
Other languages
English (en)
Other versions
JP5462259B2 (ja
Inventor
ミスカ ハンヌクセラ
イェ‐クイ ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of JP2011528868A publication Critical patent/JP2011528868A/ja
Application granted granted Critical
Publication of JP5462259B2 publication Critical patent/JP5462259B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

リアルタイムマルチメディアデータを、複数のトラックおよび/またはトラックサブセットに格納することと、1つ以上のマルチトラックグループを特定すること、ただし、各マルチトラックグループは、複数のトラックおよび/またはトラックサブセットのうちの1つ以上の間の関係性を伴う、前記特定することとを含む方法を提供する。
【選択図】図9

Description

本発明は、全般的に、リアルタイムマルチメディアデータの分野に関し、特に、そのようなマルチメディアデータの編成に関する。
発明の背景
本項は、特許請求の範囲に記載の本発明の背景または発明が為されるに至った事情を説明することを目的としている。本項の記載は、追求されうる概念を含むこともあり、それは必ずしも以前に着想または追求されたものとは限らない。したがって、本項に別途指示がない限り、本項に記載される事項は、本出願の記載および特許請求の範囲に対する従来技術と認めてはならず、本項に含まれるということだけで従来技術であると認められるものではない。
ISOベースメディアファイルフォーマット、およびその修正、例えばSVC(scalable video coding:スケーラブルビデオ符号化)ファイルフォーマットなどは、階層的に編成されたビットストリームサブセットの特性を示すことをサポートする。例えば、スケーラブルビデオ符号化(SVC)ビットストリームのサブセットの特性は、層(tier)(本質的にスケーラブルレイヤに類似)またはトラック全体(スケーラブルレイヤに対応)に対して示されることがある。しかし、ISOベースメディアファイルフォーマットは、種々の階層パーティショニングおよびオーバーラップするビットストリームサブセット(タマネギ状構造を有しない)の標示をサポートしていない。マルチビュービデオ符号化(MVC:Multiview video coding)は、出力用のビューの選択に柔軟性があるため、両タイプの標示を必要とする。
各トラックが、トラック参照により相互に関連付けられ、トラックまたはトラックサブセットの特性(例えばSVCの層)が示されることは可能だが、ISOベースメディアファイルフォーマットにもそれから派生したものにも、トラックまたはトラックサブセットのグループの特性を示すメカニズムはない。この特性とは、例えば、必要なプロファイル、レベル、復号器バッファリングパラメータなどである。
ISOベースメディアファイルフォーマットは、トラックまたはトラックサブセットのグループの、トラックまたはトラックサブセットの別のグループとの関係(共通要素および相違する要素)を示すメカニズムを欠く。
本発明の一側面において、リアルタイムマルチメディアデータを、複数のトラックおよび/またはトラックサブセットに格納することと、1つ以上のマルチトラックグループ(multi-track group)を特定すること、ただし、各マルチトラックグループは、前記複数のトラックおよび/またはトラックサブセットのうちの1つ以上の間の関係性を伴う、前記特定することとを含む方法を提供する。
一実施形態では、本方法は、複数マルチトラックグループの2つ以上のセット間の少なくとも1つの関係を特定することをさらに含む。
一実施形態では、1つ以上のマルチトラックグループを特定することは、少なくとも1つのトラックサブセットに基づきマルチトラックグループを特定することを含む。
一実施形態では、1つ以上のマルチトラックグループを特定することは、同じコンテンツの複数ビューをグループ化することを含む。
一実施形態では、1つ以上のマルチトラックグループを特定することは、トラックおよび/またはトラックサブセット間の関係を示すためにマルチトラックグループボックスを使用することを含む。
一実施形態では、本方法は、マルチトラックグループのセットを少なくとも1つ形成すること、ただし、マルチトラックグループのセットは、マルチトラックグループの特性1つ以上に関連する、前記形成することをさらに含む。
一実施形態では、マルチトラックグループのセットを少なくとも1つ形成することは、マルチビューメディアレンダリング、符号化、またはキャプチャリングの観点から類似する特性に基づく。
一実施形態では、マルチトラックグループのセットを少なくとも1つ形成することは、マルチトラックグループ間の関係を示すために、マルチトラックグループ関係ボックスを使用することを含む。マルチトラックグループ間の関係を示すために、1つ以上の基準が使用されてもよい。1つの基準は、示されるマルチトラックグループのうちの1つのみが一度に処理されるべきであるということを示してもよい。
本発明の別の側面では、コンピュータプログラムがコンピュータ可読媒体上に具現化される。このコンピュータプログラムは、リアルタイムマルチメディアデータを複数のトラックおよび/またはトラックサブセットに格納することと、1つ以上のマルチトラックグループを特定すること、ただし、各マルチトラックグループは、前記複数のトラックおよび/またはトラックサブセットのうちの1つ以上の間の関係性を伴う、前記特定することとを含む方法を提供するよう構成されている。
別の側面では、本発明は、リアルタイムマルチメディアデータを格納するストレージユニットと、プロセッサとを含む装置を含む。プロセッサは、リアルタイムマルチメディアデータを、複数のトラックおよび/またはトラックサブセットに格納すること、および1つ以上のマルチトラックグループを特定すること、ただし、各マルチトラックグループは、前記複数のトラックおよび/またはトラックサブセットのうちの1つ以上の間の関係性を伴う、前記特定することを行うよう構成されている。
以下の詳細な説明を添付の図面と併せて理解することで、本発明の様々な実施形態のこれらの利点および機能、ならびに他の利点および機能が、その実装および使用方法とともに明らかとなる。
本発明の例示実施形態について、添付の図面を参照することにより説明する。
マルチメディアファイルフォーマットの階層を示す。 ISOベースメディアファイルフォーマットに従った例示のボックスを示す。 サンプルグループ化を示す例示のボックスである。 SampleToGroupボックスを含むムービーフラグメントを含んだ例示のボックスを示す。 例示のMVC復号順序を示す。 マルチビュービデオ符号化の例示のMVC予測構造を示す。 例示のオーディオ/ビデオレートシェアプロファイル(audio/video rate share profile)を時間の関数として示す。 例示のオーディオレートシェアプロファイルを使用可能ビットレートの関数として示す。 マルチメディアデータ編成の概略を示す図である。 本発明の実施形態に従ったマルチメディアデータ編成の概略を示す図である。 本発明の実施形態に従ったプロセスを示すフローチャートである。 本発明の実施形態に従った、1つの切り替え関係が間にある2つのマルチトラックグループの例示ファイルを示す。 本発明の実施形態に従った、3つのビューを備えるビデオストリームの例示フォーマット構造を示す。 本発明の実施形態に従った、各ビューがトラックとして格納されている例示ファイルを示す。 本発明の実施形態に従った、すべてのビューが1つのトラックとして格納されている例示ファイルを示す。 本発明の実施形態に従った、各トラックが異なる数のビューを有する例示ファイルを示す。 本発明の実施形態に従った、ビュー階層のいくつかの異なる分岐に関連するSEI(:Supplemental Enhancement Information:付加拡張情報)メッセージを含む例示のマルチビュービットストリームを示す。 本発明の様々な実施形態が実装され得るシステムの概要図である。 本発明の様々な実施形態に従い利用されうる例示電子デバイスの斜視図を示す。 図18の電子デバイスに含まれうる回路の概略図である。 様々な実施形態が実装され得る汎用マルチメディア通信システムの図表現である。
様々な実施形態の詳細な説明
以下では、本発明の完全な理解を得られるよう、限定ではなく説明のために詳細事項および説明が記載される。なお、当業者には当然のことながら、本発明は、こうした詳細事項および説明から離れた他の実施形態において実践されてもよい。
マルチメディアコンテナファイルフォーマットは、一連のマルチメディアコンテンツ生成、操作、伝送および消費において重要な要素である。符号化フォーマット(別称エレメンタリストリームフォーマット)と、コンテナファイルフォーマットとの間には大きな違いがある。符号化フォーマットは、コンテンツ情報をビットストリームに符号化する特定の符号化アルゴリズムの動作に関する。コンテナファイルフォーマットは、生成されたビットストリームを編成する手段を含むものであり、この手段とは、ビットストリームについて、ローカルでの復号や再生のためのアクセス、ファイルとしての転送、ストリーミングなどのすべてを、様々なストレージおよびトランスポートアーキテクチャを利用して行うことができるように、ビットストリームを編成するものである。さらに、このファイルフォーマットは、メディアの交換や編集、ならびに受信されたリアルタイムストリームのファイルへの記録のためにも働く。マルチメディアファイルフォーマット200の階層が、図1に示されている。
使用可能なメディアファイルフォーマット標準には、ISOベースメディアファイルフォーマット(ISO/IEC14496-12)、MPEG-4ファイルフォーマット(ISO/IEC14496-14、別称MP4フォーマット)、AVCファイルフォーマット(ISO/IEC14496-15)、および3GPPファイルフォーマット(3GPP TS26.244、別称3GPフォーマット)が含まれる。AVCファイルフォーマットに対する最近の修正により、スケーラブルビデオ符号化(SVC)のファイルフォーマットが規定された。MPEG(Moving Picture Experts Group)では、AVCファイルフォーマットの修正としてのマルチビュービデオ符号化(MVC)のファイルフォーマットを規定する作業を進めている。MPEGはさらに、FLUTE(IETF RFC3926)およびALC(IETF RFC 3450)セッションのヒントトラックフォーマットを規定済みであり、これは、ISOベースメディアファイルフォーマットの2005年バージョンの修正2の一部となった。ISOベースメディアファイルフォーマットの2005年バージョンのすべての修正および正誤表をISOベースメディアファイルフォーマットの2005年バージョンに含めたものが、ISOベースメディアファイルフォーマットの新版(第3版)として最近刊行されており、これを、ISOベースメディアファイルフォーマットの2008年バージョン、またはISOベースメディアファイルフォーマットの第3版と呼ぶ。
ISOベースメディアファイルフォーマットから派生したもう1つのフォーマットが、最近DVB(digital video broadcasting:デジタルビデオブロードキャスティング)Bluebook A121として刊行されたDVBファイルフォーマットである。DVBファイルフォーマットを定義する主要目的は、現在の(DVB-T、DVB-C、DVB-S)および将来のDVB標準によるセットトップボックス、IP(Internet Protocol:インターネットプロトコル)テレビ受像機、ならびにDVB-Hおよびその将来の展開によるモバイルテレビ受信機などのDVB技術の実装間のコンテンツ相互運用を容易にすることである。DVBファイルフォーマットは、すべてのDVBコンテンツを端末側で格納することができる。DVBファイルフォーマットは、準拠したDVBデバイス間の相互運用性を確保する交換フォーマットとして意図されている。必ずしも、DVB準拠のデバイスの内部格納フォーマットとして意図されてはいない。このファイルフォーマットは、他のDVBブロードキャスト規格により使用される任意のタイプのメディアおよびデータを処理できなくてはならない。DVBファイルフォーマットは、異なる製造者のデバイス間で、記録されたメディアを交換すること、USB大容量メモリまたは同様の読み書きデバイスを使用してコンテンツを交換すること、およびホームネットワーク上で共通のディスクストレージに共用アクセスすること、ならびにその他多数の機能性を可能にする。
ISOファイルフォーマットが、上述のファイルフォーマットすべて(ISOファイルフォーマット自体を除いて)の派生の基礎である。こうしたファイルフォーマット(ISOファイルフォーマット自体を含む)は、ISOファイルフォーマット群と呼ばれる。
図2は、ISOベースメディアファイルフォーマットによる、簡略化したファイル構造220を示す。ISOベースメディアファイルフォーマットにおける基本構成ブロックは、ボックスと呼ばれる。各ボックスは、ヘッダおよびペイロードを有する。ボックスヘッダは、ボックスのタイプと、バイト単位でのボックスのサイズとを示す。ボックスが他のボックスを包含することもあり、ISOファイルフォーマットは、特定タイプのボックス内にどのボックスタイプが許可されるかを規定している。さらに、一部のボックスは強制的に各ファイル内に存在する一方、他のボックスはオプションである。さらに、一部のボックスタイプに関しては、ファイル内に2つ以上のボックスが存在することが許可される。ISOベースメディアファイルフォーマットは、ボックスの階層構造を規定するものであると結論付けることもできる。
ISOファイルフォーマット群によれば、ファイルは、メディアデータおよびメタデータから成り、これらはそれぞれメディアデータ(mdat)ボックスおよびムービー(moov)ボックスという別々のボックスに包含されている。ファイルが動作可能となるには、このボックス両方が存在しなければならない。ムービーボックスは、1つ以上のトラックを含むとよく、各トラックは1つのトラックボックスに属する。トラックは、メディア、ヒント、タイムドメタデータ(timed metadata)という複数のタイプのうちの1つであってもよい。メディアトラックは、メディア圧縮フォーマットに従いフォーマットされたサンプル(およびISOベースメディアファイルフォーマットへのそのカプセル化)を指す。ヒントトラックは、示される通信プロトコルによる伝送用にパケットを構築するための詳細命令を含む、ヒントサンプルを指す。この詳細命令は、パケットヘッダ構築およびパケットペイロード構築のガイダンスを含むこともある。パケットペイロード構築では、他のトラックまたはアイテムに属するデータが参照されることもある。すなわち、参照によって、特定トラックまたはアイテム内のデータのどの部分がパケット構築プロセス中にパケットにコピーされるよう指示されるかが示される。タイムドメタデータトラックは、参照されるメディアおよび/またはヒントサンプルを記述するサンプルを指す。典型的には、1つのメディアタイプのプレゼンテーションに、1つのメディアトラックが選択される。トラックのサンプルは、サンプル番号に暗に関連付けられており、サンプル番号は、示されるサンプルの復号順序により1ずつインクリメントされる。
なお、ISOベースメディアファイルフォーマットは、プレゼンテーションが1つのファイルに含まれるよう限定せず、プレゼンテーションはいくつかのファイルに含まれていてもよい。1つのファイルが、プレゼンテーション全体のメタデータを含む。このファイルがさらに、すべてのメディアデータを含んでもよく、その場合、プレゼンテーションは自己完結型である。他のファイルが使用される場合、それがISOベースメディアファイルフォーマットにフォーマットされることは要求されず、そのファイルは、メディアデータを含むよう使用され、さらに未使用メディアデータまたは他の情報を含んでもよい。ISOベースメディアファイルフォーマットは、プレゼンテーションファイルの構造のみに関係する。メディアデータファイルのフォーマットは、メディアファイル内のメディアデータが、ISOベースメディアファイルフォーマットまたはそれから派生したフォーマットにおいて規定されているようにフォーマットされなければならないという点においてのみ、ISOベースメディアファイルフォーマットまたはそれから派生したフォーマットに制約される。
ムービーフラグメントは、レコーディングアプリケーションがクラッシュした場合、ディスクが足りなくなった場合、またはその他何らかの問題が起こった場合にデータの損失を回避するために、ISOファイルにコンテンツを記録するときに使用される。ムービーフラグメントがなければ、すべてのメタデータ(ムービーボックス)がファイルの連続する一領域に書き込まれるようファイルフォーマットが要求することから、データ損失が生じることもある。さらに、ファイルを記録するとき、使用可能なストレージのサイズに対し、ムービーボックスをバッファリングする十分な量のランダムアクセスメモリ(RAM:Random Access Memory)がないこともあり、ムービーが閉じられるときにムービーボックスのコンテンツを再計算するのでは遅すぎる。加えて、ムービーフラグメントは、通常のISOファイルパーサを使用した、ファイルの同時記録・再生を可能にしてもよい。最終的に、ムービーフラグメントが使用され、同じメディアコンテンツを備えるがムービーフラグメントなしの構造のファイルに比べ初期のムービーボックスが小さければ、プログレッシブダウンロード、すなわちファイルの同時受信・再生に必要な初期バッファリング期間が短縮される。
ムービーフラグメントの機能は、従来moovボックスに属していたメタデータを、トラックの特定時間にそれぞれ対応する複数部分に分けることを可能にする。換言すれば、ムービーフラグメントの機能は、ファイルメタデータおよびメディアデータをインターリーブすることを可能にする。その結果として、moovボックスのサイズを制限でき、上述の使用事例が実現される。
従来通り、ムービーフラグメントのメディアサンプルは、それがmoovボックスと同じファイルにある場合はmdatボックスに属する。なお、ムービーフラグメントのメタデータには、moofボックスが提供される。moofボックスは、以前はmoovボックスにあったと考えられる再生時刻の特定期間に関する情報を含む。moovボックスは依然としてそれ自体で有効なムービーを表すが、それに加えて、同じファイル内にムービーフラグメントが続くことを示すmvexボックスを含む。ムービーフラグメントは、moovボックスに関連するプレゼンテーションを時間延長する。
moofボックスに含まれ得るメタデータは、moovボックスに含まれ得るメタデータのサブセットに限られ、場合によっては違う形で符号化される。moofボックスに含まれ得るボックスの詳細は、ISOベースメディアファイルフォーマット規格から確認できる。
以下、図3Aおよび3Bを参照する。ボックスにおけるサンプルグループ化の利用法が示されている。ISOベースメディアファイルフォーマット、ならびにそれから派生したもの、例えばAVCファイルフォーマットおよびSVCファイルフォーマットなどにおけるサンプルグループ化は、グループ化基準に基づき、トラック内の各サンプルを、1つのサンプルグループの要素とする割り当てである。サンプルグループ化におけるサンプルグループは、連続的なサンプルであるよう限定されず、隣接しないサンプルを含んでもよい。トラック内のサンプルに関して、2つ以上のサンプルグループ化があってもよいため、各サンプルグループ化は、グループ化のタイプを示すタイプフィールドを有する。サンプルグループ化は、リンクされた2つのデータ構造により表現される:(1)SampleToGroup(sbgpボックス)は、サンプルのサンプルグループへの割り当てを表現し、(2)SampleGroupDescriptionボックス(sgpdボックス)は、グループのプロパティを記述する各サンプルグループのサンプルグループエントリを含む。種々のグループ化基準に基づき、SampleToGroupおよびSampleGroupDescriptionボックスの複数のインスタンスがあることもある。これらは、グループ化のタイプを示すために使用されるタイプフィールドにより区別される。
図3Aは、サンプルグループボックスの入れ子構造を示す簡易化したボックス階層を提供する。サンプルグループボックス(SampleGroupDescriptionボックスおよびSampleToGroupボックス)は、サンプルテーブル(stbl)ボックス内に属し、サンプルテーブル(stbl)ボックスは、ムービー(moov)ボックス内で、メディア情報(minf)、メディア(mdia)、およびトラック(trak)ボックスに(その順序で)包含されている。
SampleToGroupボックスは、ムービーフラグメントに属することが許可されている。したがって、サンプルグループ化はフラグメントごとに行われてもよい。図3Bは、SampleToGroupボックスを含むムービーフラグメントを含んだファイルの例を示す。
ISOベースメディアファイルフォーマットは、エディットリストボックスを介した再生時刻変更およびファイルメタデータ再オーサリング(reauthoring)という、2つのタイプの編集動作をサポートする。エディットリストボックスは、メディア構成タイムラインがどのように再生タイムラインに変換されるかを規定し、メディアタイムラインを複数セクションに分割すること、およびそれらセクションを再生タイムライン内のタイムスライスへマッピングすることを可能にする。したがって、エディットリストボックスは、再生からメディアサンプルを省略すること、再生においてメディアセクションの順序を変更すること、およびメディアセクションの再生レートを変更することを可能にする。なお、例えばエディットリストボックスにより提供される機能の柔軟性がプレーヤ実装に対し課題をもたらすため、エディットリストボックスは、すべてのプレーヤによってはサポートされていない。さらに、エディットリストボックスを使用することで、moovボックスおよびmoofボックス内の再生されないメディアサンプルまたは再生されないメディアサンプルの記述に使用されるストレージ空間が解放可能となるわけでもない。その結果、多数のファイルエディタは通常、エディットリストボックスを使用せず、ファイルメタデータの再オーサリングによってファイルを変更する。
ISOベースメディアファイルフォーマットから得られたファイルに含まれているマルチメディアプレゼンテーションが、メディアデータの追加または削除により変更されると、ファイルメタデータは再オーサリングされなければならない。マルチメディアを後に削除または追加することによってファイルメタデータを完全に再オーサリングすることが必要とならないような形で、ファイルは何度もオーサリングされてもよい。例えば、トラックのメディアサンプルを含むチャンクが少ししかなければ、完全なトラックが直接的な形で消去されてもよい。
マルチビュービデオ符号化では、別々のカメラから出力され別々のビューにそれぞれ対応する複数ビデオシーケンスが、1つのビットストリームにコード化される。特定のビューを表示するために、復号後、当該ビューに属する復号済みピクチャが再構築および表示される。2つ以上のビューが再構築および表示されることも可能である。
マルチビュービデオ符号化には、自由視点ビデオ/テレビ、3D TV、および監視を含め、幅広い種類の用途がある。現在、ISO/IEC動画専門家集団(MPEG)およびITU-Tビデオ符号化専門家集団の合同ビデオチーム(JVT:Joint Video Team)が、MVC標準の開発に取り組んでおり、これはH.264/AVCの拡張となる。以下、この2つの(ドラフト)標準を、それぞれMVCおよびAVCと呼ぶ。
MVCの最新の共同ドラフトは、下記の非特許文献1に記載されている。
JVT-AA209 "マルチビュービデオ符号化に関する共同ドラフト7.0(Joint Draft 7.0 on Multiview Video Coding)"、第27回JVT会議、スイス国ジュネーブ、2008年4月 http://ftp3.itu.ch/av-arch/jvt-site/2008_04_Geneva/JVT-AA209.zip
マルチビュービデオビットストリームは、いくつのビュー、およびどのビューの表示が望まれるかに応じて、様々な方法で復号されてもよい。所定範囲時間の、特定の特性を備えるNビューのオートステレオスコピックディスプレイにおける出力には、特定セットのNビューがもっとも好ましいこともあり、その一方で、違う特性のセットを備える、または別の範囲時間のNビューのオートステレオスコピックディスプレイには、別のセットのNビューがもっとも好ましいこともある。さらに、好ましいセットのNビューが複数あり、ユーザがそこから選択すること、またはそれをナビゲートすることができることもよくある。Nの値は、1からビットストリーム内のビューの総数まで様々であり、ディスプレイの機能に従い復号/再生時に選択されるべきである。なお、出力用の好ましいセットのNビューは、ビュー間の依存関係により、Nビューを超える復号を必要とすることもある。
以下、図4を参照する。例示のMVC復号順序(すなわちビットストリーム順序)が示されている。この復号順序構成は、タイムファースト符号化と呼ばれる。各アクセスユニットが、1つの出力時間インスタンスのすべてのビューの符号化ピクチャを含むよう定義されている。なお、アクセスユニットの復号順序は、出力または表示順序と一致しないこともある。
以下、図5を参照する。マルチビュービデオ符号化の例示のMVC予測(各ビュー内のピクチャ間予測およびビュー間予測両方を含む)構造が示されている。示されている構造では、予測が矢印により示されており、ポイントされるオブジェクトが、ポイントのもとのオブジェクトを予測参照に使用する。
MVCにおいて、ビュー間予測は、テクスチャ予測のみによってサポートされ(すなわち、ビュー間予測には再構築されたサンプル値のみが使用できる)、ビュー間予測には、現在のピクチャと同じ出力時間インスタンスの、再構築されたピクチャのみが使用される。ビュー間予測において再構築されたサンプル値が使用されるという事実はさらに、MVCがマルチループ復号を利用するということを暗示する。換言すれば、動き補償および復号済みピクチャ再構築が、各ビューに対し実行される。
H.264/AVC、SVC、およびMVCビットストリームは、復号順に並んだネットワーク抽象化層(NAL:Network Abstraction Layer)ユニットを、バイトストリームフォーマットで、または外部フレーム化された形で含む。NALユニットは、ヘッダおよびペイロードから成る。NALユニットヘッダは、NALユニットのタイプ、およびNALユニットに含まれている符号化スライスが参照ピクチャまたは非参照ピクチャの一部であるかどうかを示す。NALユニットヘッダの第1バイトの後、NALユニットヘッダエクステンション(3バイト)が続く。NALユニットヘッダエクステンションは、MVCとの関連でNALユニットのプロパティを記述する構文要素を含む。
付加拡張情報(SEI)メッセージは、H.264/AVC、SVC、およびMVCビットストリームに含まれうる構文構造である。SEIメッセージは、出力ピクチャ内のサンプル値の復号に必要ではないが、ピクチャ出力タイミング、レンダリング、エラー検出、エラーコンシールメント、およびリソース予約などの関連プロセスを支援する。いくつかのSEIメッセージが、H.264/AVC、SVC、およびMVCにおいて規定されている。ユーザデータSEIメッセージにより、組織および企業は、それが使用するSEIメッセージを規定できる。H.264/AVC、SVC、およびMVC標準は、規定されたSEIメッセージの構文およびセマンティクスを含むが、復号器においてこのメッセージを処理するプロセスは定義されていない。その結果、符号化器は、SEIメッセージを作成するときに関連のある標準に従うことが要求され、関連のある標準に準拠する復号器は、出力順序が一致するようSEIメッセージを処理することは要求されない。SEI NALユニットは、1つ以上のSEIメッセージを含む。MVCスケーラブルネスティングSEIメッセージは、1つ以上の通常のH.264/AVC SEIメッセージを含み、そのメッセージが関係するビューを示す。その結果、MVCスケーラブルネスティングSEIメッセージは、ベースビュー以外のビューに関して、H.264/AVC SEIメッセージの構文を再使用することを可能にする。
マルチビュービデオの取得システムの情報は、レンダリングシステム上で正確に3次元エクスペリエンスを再構築するために必須である。マルチビュービデオ取得システムのパラメータは、内部パラメータおよび外部パラメータに分類されてもよい。内部パラメータは、個々のユニットとしての単一のカメラの特性を、マルチビュー取得システムの他のカメラとは独立して示す。なお、内部パラメータは、光学系(および特にレンズ)およびイメージセンサなど、カメラ処理チェーンの任意の部分からの特性を含んでもよい。典型的な内部カメラパラメータは、限定はされないが(光学および写真科学では周知の用語である)焦点または焦点距離、主点、および放射歪曲の標示を含む。外部パラメータは、外界に関係する単一のカメラの特性を示す。典型的な外部カメラパラメータは、限定はされないが、ワールド座標における相対位置(x,y,z)、および3つの軸すべてに対するカメラの回転(すなわちピッチ、ロール、ヨー/チルト)を含む。外部カメラパラメータは、座標系の原点(origo)などの選ばれた基準に対するものである。ドラフトMVC標準のマルチビュー取得情報SEIメッセージが、マルチビュービデオの取得情報のフォーマットの例である。
MPEGでは、AVCファイルフォーマットの修正としてのマルチビュービデオ符号化(MVC)のファイルフォーマットを規定する作業を進めている。SVCファイルフォーマットに含まれる多数の構造が、おそらくMVCファイルフォーマットでも利用されることになる。MVCファイルフォーマットにおいておそらく利用されるであろうこうしたSVCファイルフォーマット構造の一部について、以下の各段落に記載する。
同じサンプルに属するNALユニットをグループ化するために、アグリゲータが使用される。アグリゲータは、SVC VCL NALユニットまたはMVC VCL NALユニットと同じNALユニットヘッダを使用するが、異なる値のNALユニットタイプを備える。アグリゲータは、NALユニットの効率的なグループ化を可能にするファイルフォーマット内部構造である。アグリゲータは、サンプル構造との関連ではNALユニットと見なされる。サンプルにアクセスする(すなわち、ファイルからサンプルを得て、それを復号器に渡す)一方で、アグリゲータは (その含まれている、または参照されているNALユニットを残して) 削除されなければならない。アグリゲータは、ファイルフォーマット外のストリームに存在してはならない。アグリゲータは、その中(その長さにより示されるサイズ内)のNALユニットの包含による集約、さらにそれに続くNALユニット(その中のadditional_bytesフィールドにより示される領域内)の参照による集約の両方を行ってもよい。ストリームがAVCファイルリーダによりスキャンされると、包含されたNALユニットのみがアグリゲータの"中"と見なされ、これが、例えば、AVCファイルリーダが、不必要なSVC VCL NALユニットまたはMVC VCL NALユニットのセット全体をスキップすることを可能にする。同様に、AVC NALユニットが参照により集約されていれば、AVCリーダはそれをスキップせず、そのリーダに関してはストリーム内にとどまる。ストリームをスキャンするとき、a)アグリゲータが認識されなければ(例えばAVCリーダまたは復号器により)、アグリゲータはその包含されているコンテンツとともに容易に破棄され、b)アグリゲータが必要なければ(すなわち、それが望まれていないレイヤまたはビューに属する)、アグリゲータならびに包含および参照両方によるそのコンテンツは (その長さおよびadditional_bytesフィールドを使用して) 容易に破棄され、c)アグリゲータが必要であれば、そのヘッダが容易に破棄されてそのコンテンツが保持される。アグリゲータは、その他任意のNALユニットの様にサンプル内に格納される。すべてのNALユニットは、アグリゲータ内で復号順序を保つ。
以下のサンプルグループは、SVCまたはMVCストリームの構造を記述して、ストリームのサブセットの情報の取得およびサブセットのいずれかの抽出を容易にするために、SVCまたはMVCトラックにおいて使用されてもよい。以下で定義されるいくつかのボックスは、サンプルグループ記述、すなわちSVCストリームのScalableGroupEntry(スケーラブルグループエントリ)、およびMVCストリームのMultiviewGroupEntry(マルチビューグループエントリ)に存在してもよい。各ScalableGroupEntryまたはMultiviewGroupEntryは、それぞれSVCストリームまたはMVCストリームのサブセットを記述する。サブセットはそれぞれ、層(tier)に関連し、1つ以上のオペレーティングポイント(operating point)を含むこともある。オペレーティングポイントは、ビットストリームのサブセットである。MVCストリームのオペレーティングポイントは、特定の時間解像度における、複数ビューの特定のセットを表す。MVCの文脈では、層は、複数ビューの特定のセットの中の、複数時間サブセットの特定のセットを表す。'scif'または'mvif'というグループ化タイプが、それぞれScalableGroupEntryまたはMultiviewGroupEntryを定義するために使用される。各層に関して、2つ以上のScalableGroupEntryまたはMultiviewGroupEntryがそれぞれ、グループ化タイプ'scif'または'mvif'のSampleGroupDescriptionBox内にあってもよい。こうしたエントリのうちの1つのみが、層の一義的定義である。
ScalableGroupEntryおよびMultiviewGroupEntryは、SampleGroupDescriptionボックスに含まれるが、グループ化は、こうしたグループがサンプルのセクション、つまりNALユニットを記述するために使用されることから、各サンプルが2つ以上の層に関連することもあるため、真のサンプルグループ化ではない。結果として、グループが実際にサンプル全体を記述するということでない限り、グループ化タイプ'scif'または'mvif'のSampleToGroupボックスがないということもあってもよい。グループ化タイプ'scif'または'mvif'のSampleToGroupボックスが存在しても、その情報は、層のNALユニットの抽出には必要ない。代わりに、マップグループが、サンプル内のNALユニットの'パターン'を常に記述し、NALユニットの抽出に必要とされ得るNALユニットから層へのマッピング情報を提供しなければならない。
層情報ボックス、層ビットレートボックス、SVC優先範囲ボックス、初期パラメータセットボックス、バッファリングボックス、層依存関係ボックスが、SVCファイルフォーマットに関するのと同じように、MVCファイルフォーマットに関して規定される。具体的には、それらはMultiviewGroupEntryに包含されてもよい。
各ScalableGroupEntryまたはMultiviewGroupEntryは、groupIDおよびtierIDと関連する。tierIDエントリは、tierIDの値により示されるその依存関係の観点から順序付けられる。tierIDの値が大きいほど、上位の層を示す。値0は、最下位層を示す。層の復号は、それより上位の層のいずれからも独立しているが、それより下位の層には依存することもある。したがって、最下位層は独立して復号可能であり、層1の復号は層0に依存することもあり、層2の復号は層0および1に依存することなどもある。層は、ビデオストリーム内の1つ以上のレイヤまたはビューからのデータを含んでもよい。
各層に対し、厳密な一義的定義がなければならない。各ScalableGroupEntryまたはMultiviewGroupEntryに関して、フィールドprimary_groupIDがフィールドgroupIDと等しい場合、このグループがこの層の一義的定義であり、次が当てはまる。TierInfoBoxおよびSVCPriorityRangeBoxが存在するものとする。特定の層に関しては、オプションのボックスがいずれも存在しなければ、その情報はその層に関して定義されない(層情報の継承はない)。特定の層に関して、TierDependencyBoxが存在しなければ、この層は、それより低いtierIDを備えるすべての層に依存してもよい。InitialParameterSetBoxが存在すれば、この層およびそれが依存するより下位の層すべてを復号するのに必要なパラメータセットが、このボックスを用いて示される。このボックスが存在しなければ、SVCDecoderConfigurationRecordまたはMVCDecoderConfigurationRecordにより与えられるパラメータセットすべてが必要かどうかは示されない。パラメータセットストリームが使用される場合、InitialParameterSetBoxは存在しないものとする。tierIDの値は、連続的であることは要求されない。さらに、各ScalableGroupEntryに関して、フィールドprimary_groupIDがフィールドgroupIDと等しい場合、SVCDependencyRangeBoxが存在するものとする。さらに、各MultiviewGroupEntryに関して、フィールドprimary_groupIDがフィールドgroupIDと等しい場合、ViewIdentifierBoxが存在するものとする。
指定されるtierIDそれぞれに対して、それに関連する少なくとも1つのNALユニットがあるものとする。換言すれば、トラック内で使用されていない層を指定することは許可されない。エレメンタリストリーム内の各NALユニットは、次の通りtierID値と関連付けられる。まず、各サンプルが、後で規定される、タイプ"scnm"のサンプルグループ化によってgroupID値のマップに関連付けられる。したがって、"scnm"サンプルグループ化は、各サンプル内のNALユニットとgroupID値との間の関連を示す。次に、groupIDの値が、タイプ"scif"または"mvif"のサンプルグループ記述ボックスを使用してtierIDの値に関連付けられてもよい。特定のtierID値と関連するNALユニットは、それより小さいtierID値すべてに関連するNALユニットの全部または一部を、適切な復号動作のために必要とすることもあるが、それより大きなtierIDに関連するいずれのNALユニットも、決して必要とすることはない。(すなわち、依存関係は、それより下位の層の方向にのみ存在する。)サーバまたはプレーヤは、タイプ"scif"または"mvif"のサンプルグループ記述ボックスのエントリ内に存在する記述フィールドの値(例えばフレームレートなど)に基づき、適切な復号動作に必要となるtierID値のサブセットを選んでもよい。
MultiviewGroupEntryは、次のように定義される。
グループタイプ(Group Type):'mvif'
コンテナ(Container): サンプルグループ記述ボックス(Sample Group Description Box)('sgpd')
必須(Mandatory) : いいえ
数(Quantity) : ゼロ以上
MultiviewGroupEntryの構文は次の通りである。
class MultiviewGroupEntry() extends VisualSampleGroupEntry ('mvif') {
unsigned int(8) groupID;
unsigned int(8) primary_groupID;
unsigned int(4) reserved = 0;
unsigned int(1) is_tl_switching_point;
unsigned int(3) reserved = 0;
unsigned int(8) tl_switching_distance;

if (groupID == primary_groupID) // primary definition of tier
{
ViewIdentifierBox(); // Mandatory
TierInfoBox(); // Mandatory
TierDependencyBox(); // Mandatory
SVCPriorityRangeBox(); // Mandatory

//Optional Boxes or fields may follow when defined later
TierBitRateBox(); // optional
BufferingBox(); // optional
InitialParameterSetBox(); // optional
ProtectionSchemeInfoBox(); // optional
}
}
MultiviewGroupEntryのセマンティクスは次の通りである。
groupIDは、グループエントリの識別子を与える。groupIDは、任意の値であるが、固有のものとする。
primary_groupIDは、この層の一義的定義を含むグループを指定する。この値がgroupIDの値と等しければ、このグループがこの層の一義的定義である。
1にセットされているis_tl_switching_pointは、このグループの要素に関しては、ISO/IEC14496-10付属書類Hにおいて規定されているtemporal_idの最高値を有するものが、時間レイヤ切り替えポイントであることを示す。このグループの要素のtemporal_idの最高値をtIdとすると、tl_switching_distanceにより示されるtId-1に等しいtemporal_idを備える要素が処理されている(伝送および復号されている)ならば、tId-1に等しいtemporal_idを備える時間レイヤから、tIdと等しいtemporal_idを備える時間レイヤに、tIdに等しいtemporal_idを有する要素のいずれかにおいてビットストリームが切り替えられてよい。0と等しいis_tl_switching_pointは、ISO/IEC14496-10付属書類Hにおいて規定されているtemporal_idの最高値を有するこのグループの要素が、時間レイヤ切り替えポイントであることも、またはそうでないこともあるということを示す。
tl_switching_distanceは、is_tl_switching_pointが1のときに使用される。これは、切り替えポイントから、時間レイヤtIdにおける、またはその上位のストリームの復号可能性を確保するために復号されなければならない、tId-1と等しいtemporal_idを備える時間レイヤのサンプルの数を示す。値0は、それより下位の時間レイヤに依存しない時間切り替えポイントを示す。特定のサンプルに関して、必要とされるこの距離は、特定のサンプルの時間並列メタデータトラックにおける時間レイヤ切り替え距離ステートメント(temporal layer switching distance statement)により短縮されてもよい。
NALユニットは、次の通りマップグループおよび層にマッピングされる。SVCまたはMVCアクセスユニット内のスケーラビリティまたはビュー階層を記述するために、2種類のサンプルグループが使用される:a)サンプルのセクションを記述するグループ。グループそれぞれに関して、グループプロパティを定義するScalableGroupEntryまたはMultiviewGroupEntryが存在する。なお、これらはストリーム全体ではなく層を記述する。したがって、アクセスユニット全体ではなく、任意の時点に1つの層に属するNALユニットを記述する。b)アクセスユニット内の各NALユニットの(grouping_type'scnm'の)マップグループへのマッピングを記述するマップグループ。特定のマップグループに属するNALユニットの異なるシーケンスそれぞれに関して、ScalableNALUMapEntryが存在する。アクセスユニット内で、マップグループは層のすべてのNALユニットを含む。
マップグループを定義するには、すべてのアクセスユニットに対し、限られた数のマップグループ化パターンがあることが必要である。所与の層の連続するアクセスユニットに、異なる数のNALユニットがある場合、アグリゲータが、こうした異なる構造に一貫性をもたせ、必要なマップグループの数を減らすために使用されてもよい。同じマップグループ定義、ScalableNALUMapEntryが、SVCファイルフォーマットおよびMVCファイルフォーマット両方に使用される。
MVCまたはAVCストリームのいずれかとして解釈され得るストリームに復号器構成レコード(decoder configuration record)が使用される場合、AVC復号器構成レコードは、AVC準拠のベースレイヤのプロパティを反映するものとし、例えば、AVCベースレイヤを復号するのに必要なパラメータセットのみを含むものとする。パラメータセットストリームは、AVCストリームと同様にMVCストリームで使用されてもよい。その場合、パラメータセットは、復号器構成レコードに含まれないものとする。MVCDecoderConfigurationRecordは、SVCDecoderConfigurationRecordと構造的にも意味的にも等価である。
マルチビュービデオストリームは、ファイル内の1つ以上のビデオトラックにより表される。各トラックは、ストリームの1つ以上のビューを表す。或るトラックにより表されるビューが、別のトラックにより表される別のビューを、ビュー間予測参照として使用する場合、タイプ'mvpr'のトラック参照が、ビュー間予測のためにソーストラックを参照するトラック内に含まれるものとする。
MVCサンプルは、1つ以上のビューコンポーネント、および関連する非VCL NALユニットから成る。1つ以上のMVCトラックのサンプルからアクセスユニットを再構築するために、まず出力ビューが判断される。判断された出力ビューを復号するために必要なビューは、'mvpr'トラック参照または層依存関係ボックスから結論付けられてもよい。いくつかのトラックがアクセスユニットのデータを含む場合、トラック内の各サンプルのアラインメントが復号時間に実行され、すなわち、エディットリストを考慮することなく時間-サンプルテーブル(time-to-sample table)のみを使用して実行されてもよい。アクセスユニットは、必要なトラックおよび層内の個別のサンプルから再構築され、この再構成は、そのNALユニットを、一般的レベルにおいて、以下に示されるようにMVC標準により要求される順序で配置することによる。
関連するパラメータセットトラックから、および関連するエレメンタリストリームトラックからのすべてのパラメータセットNALユニット。
関連するパラメータセットトラックから、および関連するエレメンタリストリームトラックからのすべてのSEI NALユニット。
昇順のビュー順序インデックス値のビューコンポーネント。ビューコンポーネント内のNALユニットは、サンプル内でのその出現順序となっている。
なお、SVCファイルフォーマットにおいて規定されているエクストラクタが、アクセスユニットを含むサンプルフォーマットを定義するために使用されてもよい。しかし、そのようなサンプルフォーマットは、任意のビューが出力に選択され得るため、MVCにはあまり適していない。出力ビューのセットおよびビュー間依存関係階層が、どのビューが復号に必要かを決定する。種々のセットのビューの出力にそれぞれ適するビットストリームサブセットの数は、非常に多いこともある。例えば、36のステレオビューサブセットが、従来通りに編成された9ビューMVCビットストリームから得られることもある。エクストラクタが使用された場合、出力ビューの各組み合わせに対し別個のトラックが作成されなくてはならず、これは、不必要に大きなファイルサイズにつながる。従来通りに編成された9ビューMVCビットストリームに関して、すべてのステレオビューサブセットのエクストラクタは少なくとも約500キロビット毎秒要することになり、これはファイルサイズの大幅な増大をもたらす。本発明の様々な実施形態は、いずれにせよ、サンプルがアクセスユニットを含むサンプルフォーマットに適用でき、エクストラクタは、SVCファイルフォーマットと同様に使用される。
MVCのSampleEntry(サンプルエントリ)のフォーマットは、次のように定義される。
ボックスタイプ(Box Types):'avc1','avc2','mvc1'
コンテナ(Container): サンプル記述ボックス('stbl')
必須(Mandatory) : avc1、または、avc2もしくはmvc1ボックスのいずれかが必須
数(Quantity) : 1つ以上のSampleEntryが存在してもよい
MVCエレメンタリストリームが、使用可能なAVC準拠ベースレイヤを含む場合、AVC VisualSampleEntry('avc1'または'avc2')が使用されるものとする。ここで、Entry(エントリ)は最初にAVCConfigurationBox(AVC構成ボックス)を含むものとし、場合により以下に定義されるMVCConfigurationBox(MVC構成ボックス)が続く。AVCConfigurationBoxは、AVCDecoderConfigurationRecordにより定義されるAVC準拠ベースレイヤに関連するプロファイル、レベルおよびパラメータセット情報を記述する。MVCConfigurationBoxは、MVCConfigurationBoxに格納された、MVCDecoderConfigurationRecordにより定義される非ベースビューを含むストリーム全体に関連するプロファイル、レベルおよびパラメータセット情報を記述する。
MVCエレメンタリストリームが、使用可能なAVCベースビューを含まなければ、MVC VisualSampleEntry('mvc1')が使用されるものとする。MVC VisualSampleEntryは、以下に定義される通り、MVCConfigurationBoxを含むものとする。これは、MVCDecoderConfigurationRecordを含む。
優先割り当てURIが、priority_id値を割り当てるために使用されるメソッドの (URI空間における)名前を提供する。これがAVCサンプルエントリまたはMVCサンプルエントリ内に存在する場合、厳密に1つのURIが存在するものとし、ストリームにおけるpriority_id割り当てを記述する。ここでURIは、名前のみとして扱われる。デリファレンス可能であるべきであるが、これは必須ではない。ファイルリーダは、いくつかのメソッドを認識できることもあり、その結果、priority_idに基づきどのストリーム抽出動作が適するかを認識する。
SampleEntry(サンプルエントリ)名'avc1'は、AVCConfigurationBox内に与えられた構成(プロファイルおよびレベルを含む)のもとで動作するAVC復号器から見て、ストリーム全体が、準拠し使用可能なAVCストリームであるときにのみ使用されてもよい。NALユニットに似るファイルフォーマット特有構造が存在することもあるが、AVCベースデータにアクセスするために使用されてはならない。すなわち、AVCデータは、アグリゲータに含まれてはならない(しかしadditional_bytesフィールドにより参照されるバイト内に含まれてもよい)。SampleEntry名'avc2'は、意図されるAVCストリームを形成するために、アグリゲータが、含まれているNALユニットに関して検査されなければならないことを示す。アグリゲータは、'avc1','avc2'または'mvc1'トラック内のMVC VCL NALユニットに使用されてもよい。
ボックスMVCConfigurationBox、ViewScalabilityInfoSEIBox、IntrinsicCameraParametersBox、およびExtrinsicCameraParametersBoxのうちの任意のものが、'avc1'または'avc2'サンプルエントリに存在してもよい。こうした場合には、それぞれ以下のAVCMVCSampleEntryまたはAVC2MVCSampleEntry定義が適用される。
次の表は、ビデオトラックに関して、MVCエレメンタリストリームが1つ以上のトラック、構成、およびMVCツールに格納されている場合の、サンプルエントリの考えられる使用をすべて示す(別のトラックに常に使用されるタイムドメタデータを除く)。
Figure 2011528868
サンプルエントリの構文は次のように規定される。
class MVCConfigurationBox extends Box('mvcC') {
MVCDecoderConfigurationRecord() MVCConfig;
}
class AVCMVCSampleEntry() extends AVCSampleEntry (){
ViewIdentifierBox view_identifiers; // mandatory
MVCConfigurationBox mvcconfig; // optional
ViewScalabilityInfoBox view_scalability; // optional
SVCPriorityAssignmentBox method; // optional
IntrinsicCameraParametersBox intrinsic_camera_params; // optional
ExtrinsicCameraParametersBox extrinsic_camera_params; // optional
}
class AVC2MVCSampleEntry() extends AVC2SampleEntry (){
ViewIdentifierBox view_identifiers; // mandatory
MVCConfigurationBox mvcconfig; // optional
MPEG4BitRateBox bitrate; // optional
MPEG4ExtensionDescriptorsBox descr; // optional
ViewScalabilityInfoBox view_scalability // optional
SVCPriorityAssignmentBox method; // optional
IntrinsicCameraParametersBox intrinsic_camera_params; // optional
ExtrinsicCameraParametersBox extrinsic_camera_params; // optional
}
// Use this if the track is NOT AVC compatible
class MVCSampleEntry() extends VisualSampleEntry ('mvc1'){
ViewIdentifierBox view_identifiers; // mandatory
MVCConfigurationBox mvcconfig;
MPEG4BitRateBox bitrate; // optional
MPEG4ExtensionDescriptorsBox descr; // optional
ViewScalabilityInfoBox view_scalability; // optional
SVCPriorityAssignmentBox method; // optional
IntrinsicCameraParametersBox intrinsic_camera_params; // optional
ExtrinsicCameraParametersBox extrinsic_camera_params; // optional
}
SampleEntryのフィールドのセマンティクスは、(メソッド、ビットレート、およびdescrパラメータに関して)SVCファイルフォーマットのもの、または以下に規定されるものと等価である。view_scalabilityは、ISO/IEC 14496-10付属書類Hで規定されているビュースケーラビリティ情報SEIメッセージのみを含むSEI NALユニットを含む。
IntrinsicCameraParametersbox(内部カメラパラメータボックス)は次のように定義される。
ボックスタイプ(Box Types):'icam'
コンテナ(Container): SampleEntry ('avc1','avc2','mvc1')
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
IntrinsicCameraParametersboxの構文は次のように定義される。
class IntrinsicCameraParametersBox extends FullBox ('icam', version=0, flags)
{
unsigned int(32) prec_focal_length
unsigned int(32) prec_principal_point
unsigned int(32) prec_skew_factor
unsigned int(32) exponent_focal_length_x
signed int(32) mantissa_focal_length_x
unsigned int(32) exponent_focal_length_y
signed int(32) mantissa_focal_length_y
unsigned int(32) exponent_principal_point _x
signed int(32) mantissa_principal_point _x
unsigned int(32) exponent_principal_point _y
signed int(32) mantissa_principal_point _y
unsigned int(32) exponent_skew_factor
signed int(32) mantissa_skew_factor
}
IntrinsicCameraParametersbox(外部カメラパラメータボックス)のセマンティクスは、MVCのマルチビュー取得情報SEIメッセージのものと等価である。
ExtrinsicCameraParametersBoxは次のように定義される。
ボックスタイプ(Box Types):'ecam'
コンテナ(Container): SampleEntry ('avc1','avc2','mvc1')
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
ExtrinsicCameraParametersBoxの構文は次のように定義される。
class ExtrinsicCameraParametersBox extends FullBox ('ecam', version=0, flags)
{
unsigned int(32) prec_rotation_param
unsigned int(32) prec_translation_param
for (j=1; j<=3; j++) { /* row */
for (k=1; k<=3; k++) { /* column */
unsigned int(32) exponent_r[i][j][k]
signed int(32) mantissa_r[i][j][k]
}
}
}
ExtrinsicCameraParametersBoxのセマンティクスは、MVCのマルチビュー取得情報SEIメッセージのものと等価である。
ViewIdentifierBox(ビュー識別子ボックス)は次のように定義される。
ボックスタイプ(Box Types):'vwid'
コンテナ(Container): SampleEntry ('avc1','avc2','mvc1')またはMultiviewGroupEntry
必須(Mandatory) : はい(SampleEntryおよびMultiviewGroupEntry内の一義的グループ定義に関して)
数(Quantity) : 厳密に1(SampleEntryおよびMultiviewGroupEntry内の一義的グループ定義に関して)
MultiviewGroupEntry内の非一義的グループ定義に関してはゼロ
SampleEntryに含まれる場合、このボックスは、MVCのview_id構文要素の値によりトラック内に含まれているビューを示す。MultiviewGroupEntryに含まれている場合、このボックスは、MVCのview_id構文要素の値により個別の層に含まれているビューを示す。このボックスはさらに、列挙されるビューそれぞれのビュー順序インデックスを示す。さらに、このボックスは、ViewIdentifierBoxがSampleEntryまたはMultiviewGroupEntryに含まれている場合にそれぞれトラックまたは層内に含まれるtemporal_idの最小および最大値を含む。
ViewIdentifierBoxの構文は次のように定義される。
class ViewIdentifierBox extends FullBox ('vwid', version=0, flags)
{
unsigned int(16) num_views;
for (i=0; i<num_views; i++) {
unsigned int(6) reserved1 = 0;
unsigned int(10) view_id;
unsigned int(6) reserved2 = 0;
unsigned int(10) view_order_index;
}
unsigned int(2) reserved3 = 0;
unsigned int(3) min_temporal_id;
unsigned int(3) max_temporal_id;
}
}
ViewIdentifierBoxのセマンティクスは次のように定義される。
num_viewsは、ViewIdentifierBoxがサンプルエントリ内に存在する場合、トラックに含まれているビューの数を示す。ViewIdentifierBoxがMultiviewGroupEntry内に存在する場合、num_viewsは、個別の層に含まれているビューの数を示す。
view_idは、ViewIdentifierBoxがサンプルエントリまたはMultiviewGroupEntryに含まれている場合にそれぞれトラックまたは層内に含まれているビューに関してMVCのview_id構文要素の値を示す。
view_order_indexは、ViewIdentifierBoxがサンプルエントリまたはMultiviewGroupEntryに含まれている場合にそれぞれトラックまたは層内に含まれているビューに関してMVCにおいて規定されているVOIdx変数の値を示す。
min_temporal_id、max_temporal_idは、ViewIdentifierBoxがサンプルエントリもしくはMultiviewGroupEntry内に含まれている場合にそれぞれ、トラックまたは層にマップされたNALユニットのNALユニットヘッダエクステンション内に存在するtemporal_id構文要素の最小または最大値をとる。AVCストリームに関しては、これは、プリフィックスNALユニット内にある値、またはそうなると考えられる値をとる。
'avc1'または'avc2'サンプルエントリに関連しMVCエレメンタリストリームを含むトラックが、代替グループに含まれていれば、他のグループ要素が、トラックに含まれているベースビューの代替となるものである。'mvc1'サンプルエントリに関連するトラックが代替グループに含まれていれば、他のグループ要素は'mvc1'トラックと等しい多さのビューを含むマルチビュービデオトラックであり、'mvc1'トラックの各ビューは他のトラック内にそれぞれのビューを有する。
多重記述コーダは、記述として知られる多数の独立したストリームを1つの原信号から作り出す。各記述は、典型的には類似した重要性を有し、記述はいずれも、基本的な品質の復号信号を再現するのに十分であり、受信される記述の関数として再現品質が改善する。したがって、各記述が相互に関係することは明らかであり、多重記述符号化(MDC:Multiple Description Coding)は、単一記述符号化と比較して圧縮効率に不利な条件がある。この相互関係はさらに、欠落している記述を復号器が隠蔽することができるようにすることもある。多重記述符号化には、空間、周波数、または時間領域分割を利用するいくつかのアルゴリズムが提案されている。
ISOベースメディアファイルフォーマットは、代替グループを形成してグループを切り替える手段を、次のように規定している。alternate_groupは、トラックヘッダボックス内で、トラックのグループまたは集合を指定する整数値を伝えるパラメータである。このフィールドが0であれば、他のトラックとの可能な関係についての情報はない。このフィールドは、0でない場合、互いに代替データを含むトラックに関しては同じであり、違うグループに属するトラックに関しては違っていなければならない。常に代替グループ内の1つのみのトラックが再生またはストリームされるべきであり、ビットレート、コーデック、言語、パケットサイズなどの属性によって、グループ内の他のトラックと区別できなければならない。代替グループは、1つしか要素を有しないこともある。
ファイル内に格納される典型的なプレゼンテーションは、ビデオに1つ、オーディオに1つなど、メディアタイプごとに1つの代替グループを含む。そのようなファイルは、いくつかのビデオトラックを含むこともあるが、常にそのうち1つのみが再生またはストリーミングされるべきである。これは、すべてのビデオトラックを同じ代替グループに割り当てることによって達成される。
代替グループ内のすべてのトラックがメディア選択の候補であるが、セッション中にそうしたトラックの一部の間で切り替えるのは意味をなさないかもしれない。例えば、異なるビットレートのビデオトラック間で切り替えてフレームサイズを保つことは許可するが、異なるフレームサイズのトラック間での切り替えは許可しなくてもよい。同様に、異なるビデオコーデックまたは異なるオーディオ言語のトラック間の、切り替えではなく選択を可能にすることが望ましいこともある。
選択および切り替え用のトラック間の区別は、トラックを、代替グループに加えて切り替えグループに割り当てることにより対処される。1つの代替グループは、1つ以上の切り替えグループを含んでもよい。代替グループ内のすべてのトラックが、メディア選択の候補であり、その一方で、切り替えグループ内のトラックはさらにセッション中の切り替えに使用可能である。異なる切り替えグループは、異なるフレームサイズ、高/低品質など、異なるオペレーションポイントを表現する。
非スケーラブルビットストリームの場合、いくつかのトラックが切り替えグループに含まれてもよい。同じことが、従来のAVCストリームなどの非階層スケーラブルビットストリームにも当てはまる。
属性によりトラックにラベルを付けることによって、トラックを識別することができる。各トラックは、属性のリストを用いてラベル付けされるとよく、これは、特定の切り替えグループ内のトラックを記述するため、または別々の切り替えグループに属する別々のトラックを識別するために使用されてもよい。
トラックのユーザデータボックス内で伝えられるトラック選択ボックスは、switch_groupパラメータおよびattribute_listを含む。
switch_groupは、トラックのグループまたは集合を指定する整数である。このフィールドが0(デフォルト値)である場合、またはトラック選択ボックスがない場合は、再生またはストリーミング中にこのトラックが切り替えに使用されてよいかどうかについての情報はない。この整数は、0でなければ、相互間での切り替えに使用されてよいトラックについても同じであるものとする。同じ切り替えグループに属するトラックは、同じ代替グループに属するものとする。切り替えグループは、1つしか要素を有しないこともある。
attribute_listは、属性のリストである。このリスト内の属性は、トラックの記述、または同じ代替または切り替えグループ内のトラックの識別基準として使用されるべきである。各識別属性は、トラックを区別するフィールドまたは情報へのポインタに関連する。
"メディアファイルにおけるトラック関係性を示すシステムおよび方法(SYSTEM AND METHOD FOR INDICATING TRACK RELATIONSHIPS IN MEDIA FILES)"という発明名称の米国特許出願第11/844,300号は、特定のグループ化タイプに従ってトラックの1つまたは多数のグループを形成できるようにするトラック関係ボックス(TrackRelationBox)を提案している。代替トラック、切り替えトラック、階層符号化、および多重記述符号化のグループ化タイプが規定された。代替トラックグループ化タイプは、特定の代替グループに属するトラックの列挙を可能にし、すなわち、トラックヘッダボックス内のalternate_groupの各値にトラックの1つのグループがある。代替トラックグループ化タイプは、すべてのトラックのトラックヘッダボックスをトラバースせずに、使用可能な代替グループを特定するメカニズムをパーサに提供する。切り替えトラックグループ化タイプは、切り替えグループを特定する方法を提供し、これは、すべてのトラックのトラック選択ボックスを構文解析する代わりに使用することができる。階層符号化グループ化タイプは、階層(スケーラブル)ビットストリームを形成するトラックを特定する方法を提供する。このメカニズムは、すべてのトラックのトラック参照ボックス中をトラバースする代わりに、パーサにおいて使用されてもよい。多重記述符号化グループ化タイプは、相互に多重記述関係を有するビットストリームを含むトラックを関連付ける方法を提供する。
TrackRelationBoxは次のように定義される。
ボックスタイプ(Box Types):'trel'
コンテナ(Container): ムービーボックス(Movie Box)('moov')
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
TrackRelationBoxの構文は次の通りである。
aligned(8) class TrackRelationBox
extends FullBox('trel', version = 0, flags) {

int i,j,k;

if(flags & 0x000001 == 1) {
unsigned int(16) num_alternate_groups;
for(i=0; i<num_alternatve_groups; i++) {
int(16) alternate_group_id;
unsigned int(16) num_tracks_in_alternate_group;
for(j=0; j<num_tracks_in_alternate_group; j++)
unsigned int(32) alternate_track_id;
}
}

if(flags & 0x000002 == 1) {
unsigned int(16) num_switch_groups;
for(i=0; i<num_switch_groups; i++) {
int(16) switch_group_id;
unsigned int(16) num_tracks_in_switch_group;
for(j=0; j<num_tracks_in_switch_group; j++)
unsigned int(32) switch_track_id;
}
}

if(flags & 0x000004 == 1) {
unsigned int(16) num_layered_groups;
for(i=0; i<num_layered_groups; i++) {
int(16) layered_group_id;
unsigned int(16) num_tracks_in_layered_group;
for(j=0; j<num_tracks_in_layered_group; j++) {
unsigned int(32) layered_track_id;
unsigned int(16) num_dependent_on_tracks;
for(k=0; k<num_layered_on_tracks; k++)
unsigned int(32) dependent_on_track_id;
}
}
}

if(flags & 0x000008 == 1) {
unsigned int(16) num_mdc_groups;
for(i=0; i<num_mdc_groups; i++) {
int(16) mdc_group_id;
unsigned int(16) num_tracks_in_mdc_group;
for(j=0; j<num_tracks_in_mdc_group; j++)
unsigned int(32) mdc_track_id;
}
}
}
上記の構文では、"version"はTrackRelationBoxのバージョン(上記のように0)を指定する整数である。
"flags"はフラグを備える24ビットの整数である。次のビットが定義される。ビット0が最下位ビット、ビット1が第2下位ビットなどである。ビット0が1と等しい場合、これは、このボックスに代替トラックグループの情報が存在するということを示す。ビット0が0と等しい場合、これは、このボックスに代替トラックグループの情報は存在しないということを示す。
ビット1が1と等しい場合、これは、このボックスに切り替えトラックグループの情報が存在するということを示す。ビット1が0と等しい場合、これは、このボックスに切り替えトラックグループの情報は存在しないということを示す。
ビット2が1と等しい場合、これは、このボックスに階層トラックグループ(layered track group)の情報が存在するということを示す。ビット2が0と等しい場合、これは、このボックスに階層トラックグループの情報は存在しないということを示す。
ビット3が1と等しい場合、これは、このボックスにMDCトラックグループの情報が存在するということを示す。ビット3が0と等しい場合、これは、このボックスにMDCトラックグループの情報は存在しないということを示す。
"num_alternate_groups"は、信号伝達される代替トラックグループの数を示す。"alternate_group_id"は、信号伝達される第i代替トラックグループの識別子を示す。値は0と等しくはない。alternate_group_idに関連する任意のトラックは、alternate_group_idと等しいalternate_group(トラックヘッダボックス内)を有する。0と等しくないalternate_group(トラックヘッダボックス内)を有する任意のトラックは、alternative_group_idに関連する。"num_tracks_in_alternate_group"は、信号伝達される第i代替トラックグループ内のトラックの数を示す。"alternate_track_id"は、信号伝達される第i代替トラックグループ内の第jトラックのトラックIDを示す。
"num_switch_groups"は、信号伝達される切り替えトラックグループの数を示す。"switch_group_id"は、信号伝達される第i切り替えトラックグループの識別子を示す。値は0と等しくはない。switch_group_idに関連する任意のトラックに関して、トラック選択ボックスが存在すれば、トラック選択ボックス内で信号伝達されるswitch_groupは、switch_group_idと等しい。トラック選択ボックスが存在する任意のトラックに関して、alternate_groupが0と等しくなければ、トラックは、switch_group_idと関連するものとする。"num_tracks_in_switch_group"は、信号伝達される第i切り替えトラックグループ内のトラックの数を示す。"switch_track_id"は、信号伝達される第i切り替えトラックグループ内の第jトラックのトラックIDを示す。
"num_layered_groups"は、信号伝達される階層トラックグループの数を示す。"layered_group_id"は、信号伝達される第i階層トラックグループの識別子を示す。
"num_tracks_in_layered_group"は、信号伝達される第i階層トラックグループ内のトラックの数を示す。"layered_track_id"は、信号伝達される第i階層トラックグループ内の第jトラックのトラックIDを示す。
"num_dependent_on_tracks"は、第i階層トラックグループ内の第jトラックが直接または間接的に依存するトラックの数を示す。"dependent_on_track_id"は、第i階層トラックグループ内の第jトラックが直接または間接的に依存する第kトラックのトラックIDを示す。
"num_mdc_groups"は、信号伝達されるMDCトラックグループの数を示す。"mdc_group_id"は、信号伝達される第iMDCトラックグループの識別子を示す。
"num_tracks_in_mdc_group"は、信号伝達される第iMDCトラックグループ内のトラックの数を示す。"mdc_track_id"は、信号伝達される第iMDCトラックグループ内の第jトラックのトラックIDを示す。
このトラック関係ボックスの一実施形態では、ファイル配信セッショングループボックス(FDSessionGroupBox)が、ファイル配信セッションの同じグループIDに関連する(例えば、同じウェブページのイメージなどの別々のオブジェクトを形成する)ファイル配信(FLUTE/ALC)ヒントトラックを列挙するために使用される。FDSessionGroupBoxは、次のように定義される。
ボックスタイプ(Box Types):'segr'
コンテナ(Container): FD情報ボックス(FD Information Box)('fiin')
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
FDセッショングループボックスはオプションであるが、2つ以上のFDヒントトラックを含むファイルに関しては必須である。これは、セッションのリスト、ならびに各セッションに属するすべてのファイルグループおよびヒントトラックを含む。FDセッションは、特定のFDセッションに関してFDセッショングループボックス内に列挙されているすべてのFDヒントトラック(チャネル)上で同時に送信する。
常に1つのみのセッショングループが処理されるべきである。セッショングループ内で最初に列挙されているヒントトラックは、ベースチャネルを指定する。サーバがセッショングループ間にプリファレンスを有しない場合、デフォルトの選択は第1セッショングループであるべきである。ヒントトラックにより参照されるファイルを含むすべてのファイルグループのグループIDが、ファイルグループのリストに含まれるものとする。次に、ファイルグループIDが、サーバによりFDTに含められうるファイルグループ名に変換される(グループID-名前ボックス(group ID to name box)を使用)。
FDSessionGroupBoxの構文は次の通りである。
aligned(8) class FDSessionGroupBox
extends Box('segr') {
unsigned int(16) num_session_groups;
for(i=0; i < num_session_groups; i++) {
unsigned int(8) entry_count;
for (j=0; j < entry_count; j++) {
unsigned int(32) group_ID;
}
unsigned int(16) num_channels_in_session_group;
for(k=0; k < num_channels_in_session_group; k++) {
unsigned int(32) hint_track_id;
}
}
}
"num_session_groups"は、セッショングループの数を指定する。"entry_count"は、セッショングループが適合するすべてのファイルグループを含む、後のリスト内のエントリの数を与える。セッショングループは、各ソースファイルのアイテム情報エントリにより指定される、列挙されるファイルグループ内に含まれるすべてのファイルを含む。なお、セッショングループのFDTは、この構造内で列挙されている当該グループのみを含むべきである。
"group_ID"は、セッショングループが適合するファイルグループを示す。"num_channels_in_session_groups"は、セッショングループ内のチャネルの数を指定する。num_channels_in_session_groupsの値は、正の整数であるものとする。"hint_track_ID"は、特定のセッショングループに属するFDヒントトラックのトラックIDを指定する。なお、1つのFDヒントトラックは、1つのLCTチャネルに対応する。
複数のスケーラブルメディアストリームの組み合わせが、制約のある帯域幅を持つチャネル上で配信されるとき、一緒に配信されたメディアすべてからのデータ部の抽出を動的に実行する方法を示す規定を提供する必要がある。したがって、1つ以上のスケーラブルメディアストリームを含むファイルは、レートシェアサンプルグループ記述エントリ(RateShareEntry)により記述される、レートシェアサンプルグループにおけるレートシェア情報も保持するよう修正されてもよい。レートシェア情報の目的は、メディアが任意の時点でどのように各スケーラブルメディアストリームから抽出されるべきかについて、サーバに通知することである。これは、サーバにてメディアをスケーリングする方法を制御または推奨することを可能にし、したがって、エレメンタリメディアストリームの生成を可能にする。
タイムドレートシェア情報は、メディアの各部分(すなわち時間範囲)と、目標レートシェア値を指定するレートシェア情報レコードとを関連付けることによって、メディアトラック内に格納されているスケーラブルメディアストリームに追加されてもよい。目標レートシェア値は、当該のメディアに配分されるべき使用可能ビットレートの目標割合を示す。もっとも単純なシナリオでは、図6に示されているように、メディアおよび時間範囲ごとに1つのみの目標レートシェア値が規定される。
なお、使用可能ビットレートによって変化するレートシェア値を調整するために、2つ以上のオペレーション範囲(operation range)を規定することができる。例えば、低い使用可能ビットレートでは、オーディオストリーム部分が、使用可能ビットレートの(ビデオよりも)より高い割合を必要とすることが示されてもよい。これは、図7に示されているように、レートシェアサンプルグループ記述エントリ内で、2つのレートシェアオペレーションポイントを規定することにより行われる。
図7の各オペレーションポイントが、目標レートシェアを規定する。より複雑な状況に関しては、より多くのオペレーションポイントを指定することもできる。さらに、最初および最後のオペレーションポイントはそれぞれ、当該ポイント、ならびにそのポイントより低い使用可能ビットレートおよびより高い使用可能ビットレートに関して、目標レートシェアを規定する。2つのオペレーションポイント間の目標レートシェアは、当該オペレーションポイントの目標レートシェア間の範囲内となるよう規定される。例えば、線形補間を用いて、2つのオペレーションポイント間の目標レートシェアを推定することができる。
目標レートシェアは、問題になっているメディアに配分されるべき使用可能ビットレートの目標割合を示す。この配分を所与として、境界を規定するために最大および最小ビットレートが使用される。最大ビットレートは、規定されているメディアおよび時間範囲に関して、使用可能ビットレートの上限を与える。あるいは、これは、配分されるビットレートがメディアに優先される上限閾値を提供するために使用されてもよい。最小ビットレートは、実用的と考えられる下限閾値を示す。例えば、配分されたビットレートが、この最小ビットレート値未満に入る場合、サーバには、メディアにまったくビットレートを配分しないことが推奨される。その結果、ビットレートは、他の(単数または複数)メディアストリームまたは代わりのストリームが使用可能であればそれに与えられてもよい。
トラック間の目標ビットレートシェアを示すために、レートシェア情報に対しサンプルグループ化メカニズムが使用されてもよい。目標ビットレートへとトラックを間引くアルゴリズムは規定されていない。サンプリンググループ化メカニズムにより定義されているレートシェア情報は、メディアサンプルの期間に適用される。しかし、同じレートシェア情報が、トラックの多数の連続したサンプルに適用されると思われ、おそらく2つまたは3つの異なるレコード間でのみ変化するため、レートシェア情報は、サンプルグループを使用することでトラック内に効率良く格納されてもよい。トラックの各サンプルは、(ゼロまたは)1つのサンプルグループ記述に関連してもよく、そのそれぞれがレートシェア情報のレコードを定義する。
米国特許出願第11/874,138号は、ファイル内で符号化メディアに関しどの適応オペレーションポイントが使用可能かを示すために、"レートシェアオペレーションボックス"と呼ばれるファイルフォーマット構造を開示している。ISOベースメディアファイルフォーマットにおけるレートシェアサンプルグループ化は、2つの基本的前提に基づいている。
1.結合されたメディア(例えばオーディオおよびビデオ)が伝達されるべきチャネルの合計のビットレートは、区分的定数時間関数であるべきであると仮定される。しかし、特定のアプリケーションには、特定の合計ビットレートに関して最適なオーディオ・ビデオビットレートシェアを示すよりも、安定したオーディオビジュアル品質またはエクスペリエンスにつながる適応経路(adaptation path)が示された方が有益であろう。例えば、ブロードキャストアプリケーションにおいて統計的多重化が使用される場合、個別のオーディオビジュアルサービスのビットレートは変化することが許され、目標は安定した品質を保持することである。同時に、多重化のすべてのオーディオビジュアルサービス中で合計ビットレートは変化しないままであるべきである。現時点では、安定した品質を保持するためにレートシェア情報を示すことはできない。
2.トラック間の目標ビットレートシェアのみが与えられるが、示されたシェアを適応によりどのように取得するかのヒントも詳細命令も与えられない。その結果、例えば、フレームレートスケーリングまたは品質スケーリングなど、スケーラブルメディアを適応させる可能性が多数あるため、種々の実装において、適応プロセスの結果が非常に異なるものとなることもある。この事実は、レートシェアサンプルグループ化の価値を下げる。
上記の問題を解決するために、レートシェアオペレーションボックス(RateShareOperationBox)が提案され、これは、適応オペレーションポイント(adaptation operation point)の特性を含む。適応オペレーションポイントは、レートシェアサンプルグループ記述エントリ内に含まれるレートシェアオペレーションポイントに関連してもよく、これは、他の点では、ISOベースメディアファイルフォーマットと比べて本質的に変化していない。あるいは、適応オペレーションポイントは、新たに提案され種々の適応経路を示す、タイムドメタデータトラック内で信号伝達される、特定の適応経路と関連してもよい。ソリューションを、ヒントトラックおよび将来のスケーラブルメディア符号化フォーマットすべてに適したものとするために、SVCとは独立したメタデータサンプル構造が提案される。各メタデータサンプルは、各関連する適応経路に関して、適応済みサンプルを作成するための詳細命令を与える。この詳細命令は、参照されるサンプルデータのどの部分が、適応済みサンプル内に強制的に存在するか、および細粒度スケーラブル符号化スライスなど、どの部分がスライスヘッダの後任意の長さに自由にトランケートされ得るかを示す。
適応オペレーションポイントは、1つ以上の符号化メディアビットストリームのどの部分が処理されるかを選択することにより、1つ以上の符号化メディアビットストリームから成る符号化マルチメディアクリップがどのようにスケーリングされるかを規定する。1つ以上の符号化メディアビットストリームの処理は、伝送パケットの構成、伝送、およびスケーリングされたメディアビットストリームの復号のうちの1つ以上を含んでもよい。米国特許出願第11/874,138号は、ファイル内で符号化メディアに関しどの適応オペレーションポイントが使用可能かを示すために、本願明細書で"レートシェアオペレーションボックス"(RateShareOperationBox)と呼ばれるファイルフォーマット構造について記載している。
さらに、レートシェアオペレーションボックスは、各適応オペレーションポイントに関して、適応が、関連するトラックすべての間でシェアされる所望の合計ビットレートをもたらすかどうか、または適応が、各関連するトラックにおける安定した品質をもたらすかどうかなど、適応結果の識別を含んでもよい。さらに、レートシェアオペレーションボックスは、どのアルゴリズムが各適応オペレーションポイントの生成に使用されたかを示す識別子も含んでもよい。適応オペレーションポイントはさらに、適応オペレーションポイントに関連する各トラック内の適応経路にも対応する。適応オペレーションポイントおよび特定の適応経路は、例えば、適応経路により達成可能な最小および最大ビットレート、ピクチャの空間的適応などの適応に使用される軸、ピクチャの品質適応、ピクチャレート適応、またはその任意の組み合わせに関して、レートシェアオペレーションボックスにおいて識別されてもよい。
本発明の実施形態が、ISOベースメディアファイルフォーマットで使用される擬似コード記法に従うレートシェアオペレーションボックスの形で以下に提示される。ムービーボックス('moov')は、以下に定義されるように、ゼロまたは1つのレートシェアオペレーションボックス('rsop')を含む。
aligned(8) class RateShareOperationBox
extends FullBox('rsop', version=0, 0) {
unsigned int(16) operation_point_count;
for (i=1; i <= operation_point_count; i++) {
unsigned int(32) operation_description;
unsigned int(32) track_count;
for (j=1; j <= track_count; j++) {
int(32) track_id;
unsigned int(15) adaptation_path_id;
unsigned int(1) reserved;
unsigned int(32) rate_adaptation_algorithm;
unsigned int(32) num_constants_in_adaptation_path;
for (k=1; k <= num_constants_in_adaptation_path; k++)
unsigned int(32) constant_list;
}
if ((operation_description & 1) == 1) {
unsigned int(32) minimum_bitrate;
unsigned int(32) maximum_bitrate;
}
}
}
レートシェアオペレーションボックス内の構文要素のセマンティクスは以下の通りである。
operation_point_countは、オペレーションポイントの数を与える整数である。
operation_descriptionは、このオペレーションポイントのレート適応オペレーションの出力特性を示す。operation_descriptionに関して以下のフラグが規定されている。
0x1 関連するすべてのトラックの累積出力ビットレートが使用可能ビットレートに固定されている。
0x2 関連する各トラックの主観的品質が、トラックの期間の初めから終わりまで似た状態が続く。
track_countは、このオペレーションポイントに関連するトラックの数を示す。track_countが1と等しければ、このオペレーションポイントに関して信号伝達される情報は、特定された単一トラック内に含まれる単一メディアタイプの適応ルールを規定する。track_countが1を超え、示されているトラックすべてが同じメディアタイプを含めば、このオペレーションポイントに関して信号伝達される情報はやはり、特定された複数トラック内に含まれる単一メディアタイプの適応ルールを記述する。
track_idは、オペレーションポイントに関連するトラックのtrack_IDを示す。
track_idが、汎用スケーラブルメディアメタデータ(generic scalable media metadata)を含むタイムドメタデータトラックを参照しなければ、adaptation_path_idはゼロであるものとする。そうでなければ、adaptation_path_idが、このオペレーションポイントにおいてどの適応経路が使用されるべきかを示す。
0と等しいrate_adaptation_algorithmは、いかなる関連するトラックに関しても適応が行われるべきでなく、むしろ、関連するトラックのすべてのサンプルが次のように処理されるべきであることを示す。関連するトラックがヒントトラックであれば、すべてのヒントサンプルに対応するパケットが生成されるべきである。関連するトラックがSVCメディアトラックであれば、潜在的なエクストラクタNALユニットを含め、すべてのサンプルが構文解析されるべきである。その他任意のトラックについては、すべてのサンプルが普通に構文解析されるべきである。この処理の出力は、このボックス内で示されるオペレーションポイントの特性に適合するものとする。1と等しいrate_adaptation_algorithmは、レートシェアサンプルグループ化により示される目標レートシェアを得るために未知の適応アルゴリズムが使用されなくてはならないことを示す。rate_adaptation_algorithmの他の値は、本明細書では規定されないが、参照される汎用スケーラブルメディアメタデータトラックにおいて適応経路を得るために使用されるアルゴリズムを特定する。
num_constants_in_operation_pointsは、この適応経路において一定のままである特性の数を指定する。
constant_listは、この適応経路の一定の特性を指定するボックスまたは構造を暗にポイントする4文字コードである。この4文字コードは、SVCのトラック選択ボックスに関して指定されているものを含む。この一定リストは、ファイルを再生する、またはファイル内に含まれたヒントトラックに従い構成されたパケットストリームを受信するデバイスおよび/またはソフトウェアの性能に従って適切なオペレーションポイントを選択することを可能にする。
minimum_bitrateは、このオペレーションポイントが適用されるべき最低累積ビットレートを示す非ゼロ値(キロビット毎秒)である。
maximum_bitrateは、このオペレーションポイントが適用されるべき最高累積ビットレートを示す非ゼロ値(キロビット毎秒)である。
レートシェア情報に関して、トラック間の目標ビットレートシェアを示すためにサンプルグループ化メカニズムが使用されてもよい。目標ビットレートへとトラックを間引くアルゴリズムは規定されていない。適応オペレーションポイントにおけるtrack_idが、汎用スケーラブルメディアメタデータを含むタイムドメタデータトラックでないトラックを参照する場合、トラックは、以下に規定されるタイプ'rash'のサンプルグループ化を含んでもよい。
ISOベースメディアファイルフォーマットのレートシェアサンプルグループエントリが、以下に定義されるoperation_point_idを用いて拡張される。
class RateShareEntry() extends SampleGroupDescriptionEntry('rash')
{
unsigned int(16) operation_point_count;
for (i=1; i <= operation_point_count; i++) {
unsigned int(16) operation_point_id;
unsigned int(16) target_rate_share;
unsigned int(32) maximum_bitrate;
unsigned int(32) minimum_bitrate;
}
}
operation_point_idは、レートシェアオペレーションポイントボックス内の適応オペレーションポイントのインデックスを示す。operation_point_idの各値は、オペレーションポイントの現在のトラックに関してadaptation_path_idにより特定される1つの適応経路に対応する。
適応経路は、汎用スケーラブルメディアメタデータトラック(generic scalable media metadata track)と呼ばれるファイルフォーマット構造を用いて信号伝達される。汎用スケーラブルメディアメタデータトラックは、1つの符号化メディアビットストリーム(メディアトラック)、または符号化メディアビットストリームからトランスポートパケットを形成する構造を含むヒントトラックに関連付けられている。換言すれば、汎用スケーラブルメディアメタデータトラックは、参照されるトラックを所望のビットレートまたは品質に間引くために利用されうる"詳細"命令を含む。汎用スケーラブルメディアメタデータトラックの復号は、適応済みサンプルをもたらす。汎用スケーラブルメディアメタデータトラックから参照されるトラックがヒントトラックであれば、適応済みサンプルは有効なパケットペイロードである。参照されるトラックがメディアトラックであれば、適応済みサンプルは、ビデオの符号化ピクチャもしくはアクセスユニット、または符号化オーディオフレームなどの有効なメディアサンプルである。
汎用スケーラブルメディアメタデータトラックの実施形態が、以下に提供される。汎用スケーラブルメディアメタデータトラックは、タイムドメタデータトラックであり、メディアボックス内の'meta'handler_typeを用いて特定される。タイムドメタデータトラックは、メディア情報ボックス内に汎用スケーラブルメディアメタデータヘッダボックス(GenericScalableMediaMetadataHeaderBox)を含むことにより、汎用スケーラブルメディアメタデータトラックであるとさらに識別される。汎用スケーラブルメディアメタデータヘッダボックスは、以下に規定されるように、トラックに関係する一般情報を含む。
aligned(8) class GenericScalableMediaMetadataHeaderBox
extends FullBox('gshd', version = 0, 1) {
unsigned int(15) num_adaptation_paths;
unsigned int(1) reserved;
for (i=1; i<=num_adaptation_paths; i++) {
unsigned int(15) adaptation_path_id;
unsigned int(1) truncation_flag;
}
}
num_adaptation_pathsは、トラックがいくつの適応経路を提供するかを示す。
adaptation_path_idは、レートシェアオペレーションボックス内で識別された適応経路を指し、適応経路を特定する。
1と等しいtruncation_flagは、いくつかのサンプル内の、この適応経路識別子を用いてラベル付けされているいくつかの部分がトランケートされてよいことを示す。0と等しいtruncation_flagは、任意のサンプル内の、この適応経路識別子を用いてラベル付けされている部分がトランケートされてはならないことを示す。
汎用スケーラブルメディアメタデータトラックのサンプルエントリは、次のように規定される。
class GenericScalableMediaMetadataSampleEntry() extends MetadataSampleEntry('gsmm') {
unsigned int(2) log2_num_parts_minus_one;
unsigned int(2) log2_num_paths_minus_one;
unsigned int(2) log2_offset_minus_one;
unsigned int(2) log2_size_minus_one;
}
サンプルエントリのフィールドは、トラックのサンプル構造を使用した構文要素のサイズ(フィールドの値0、1、2および3にそれぞれ対応する8、16、24、または32ビット)を指定するために使用される。
汎用スケーラブルメディアメタデータトラック内のサンプルは、次の構造を使用する。
aligned(8) generic_scalable_media_metadata_sample(sampleSize) {
unsigned int((log2_num_parts_minus_one+1)*8) num_parts;
for (i=1; i<= num_parts; i++) {
unsigned int((log2_num_paths_minus_one+1)*8-1) num_paths_whole_part;
unsigned int(1) truncatable_part_flag;
for(j=1; j <= num_paths_whole_part; j++) {
unsigned int(15) path_id_whole_part;
unsigned int(1) reserved;
}
if (num_paths_whole_part > 0) {
unsigned int((log2_offset_minus_one+1)*8) offset_whole_part;
unsigned int((log2_size_minus_one+1)*8) num_bytes_whole_part;
}
if (truncatable_part_flag == 1) {
unsigned int((log2_num_paths_minus_one+1)*8-1) num_partitionigs;
unsigned int(1) reserved;
for (k=1; k <= num_partitionings; k++) {
unsigned int((log2_num_paths_minus_one+1)*8-1) num_paths;
unsigned int(1) reserved;
for (m=1; m <= num_paths; m++) {
unsigned int(15) path_id;
unsigned int(1) reserved;
}
unsigned int(8) num_subparts;
for (m=1; m <= num_subparts; m++){
unsigned int((log2_offset_minus_one+1)*8) offset;
unsigned int((log2_size_minus_one+1)*8) num_bytes;
unsigned int(7) reserved;
unsigned int(1) free_truncation_flag;
}
}
}
}
}
汎用スケーラブルメディアサンプルエントリは、log2_num_parts_minus_one、log2_num_paths_minus_one、log2_path_id_minus_one、log2_offset_minus_one、およびlog2_size_minus_oneの値を含む。
メタデータサンプルは、(復号時間内に)参照されるメディアまたはヒントトラック内のサンプルに、時間合わせ(アラインメント)される。各メタデータサンプル(適応サンプルとも呼ばれる)は、以下のように初期の適応済みサンプルから得られる、対応する適応済みサンプルと関連する。
初期の適応済みサンプルは、符号化メディアサンプルまたは適応サンプルに関連するヒントサンプルから得てもよい。関連するトラックがメディアトラックである場合、初期の適応済みサンプルは、関連するメディアサンプルから得られる。メディアサンプルが、SVCファイルフォーマットにおいて規定されているアグリゲータまたはエクストラクタNALユニットを含まなければ、初期の適応済みメディアサンプルはメディアサンプルと同一である。そうでなければ、エクストラクタNALユニットにより参照されるデータが、エクストラクタNALユニットの代わりに初期の適応済みサンプルに挿入され、アグリゲータNALユニットのヘッダは除去され、初期の適応済みメディアサンプルの任意の残りの部分はメディアサンプルのデータをそのまま含む。関連するトラックがヒントトラックである場合、初期の適応済みサンプルは、関連するヒントサンプルから得られる。初期の適応済みサンプルは、サンプルのペイロードコンストラクタを使用して生成されるパケットペイロードと同一である。
適応サンプルは各適応経路に関して情報を含み、初期の適応済みサンプルの各部分は適応済みサンプルに含まれる。各部分の指示は、初期の適応済みサンプル内のバイト範囲のリストを用いて示されてもよい。バイト範囲の使用は、ソリューションが、メディアサンプルまたはパケットペイロードの構文を認識しないようにし、したがって、任意の符号化またはパケットペイロードフォーマットに適用できるようにする。適応サンプルはさらに、バイト範囲が、示された範囲の始まりから開始する任意の長さに自由にトランケートされてよければ、示された各バイト範囲ごとに標示を含んでもよい。
汎用スケーラブルメディアメタデータの提示されるサンプル構造は、初期の適応済みサンプルの示されるバイト範囲を、適応済みサンプルにマップする。異なる適応経路に関して、異なるバイト範囲が示されてもよい。さらに、特定のバイト範囲が、自由にトランケート可能であるかどうか、すなわち、バイト範囲の始まりから開始してそこから任意の数のバイトが適応済みサンプル内に含まれてよいかどうかが示されてもよい。
汎用スケーラブルメディアメタデータトラックのサンプル構造のセマンティクスは次の通りである。
num_partsは、初期の適応済みサンプル内の部分の数を示す。部分の厳密な定義は与えられていないが、典型的には、スケーラブルビデオ内の符号化ピクチャなど、予測参照のユニットに対応する初期の適応済みサンプル内のバイト範囲である。
num_paths_whole_partは、部分全体が含まれる適応経路の数を示す。
0と等しいtruncatable_part_flagは、その部分がトランケートされてはならないということを示す。1と等しいtruncatable_part_flagは、その部分の少なくとも1つのサブ部分がトランケートされてよいということを示す。
path_id_whole_partは、レートシェアオペレーションボックス内に取り入れられる、その部分の適応経路識別子を示す。
offset_whole_partは、その部分が開始する初期の適応済みサンプルに対するバイトオフセットを示す。初期の適応済みサンプルの第1バイトオフセットは値0を有する。
num_bytes_whole_partは、その部分に含まれるバイトの数を示す。
num_partitioningsは、部分がサブ部分に分割されるパーティショニングの数を示す。部分をサブ部分に分ける特有方法それぞれがパーティショニングである。例えば、部分が細粒度スケーラブルピクチャに対応し、2つの適応経路が指定されており、それぞれピクチャの合計サイズの50〜100%および80〜100%の範囲でのビットレートスケーリングが可能である場合、その部分には2つのパーティショニングがあることになる。第1のパーティショニングでは、ピクチャのサイズの50%のバイト範囲に対応するサブ部分が、0と等しいfree_truncation_flagを用いて示されることになり、ピクチャの残りのサブ部分が、1と等しいfree_truncation_flagを用いてマークを付けられることになる。第2のパーティショニングのサブ部分も同様に示されることになる。
num_pathsは、部分のサブ部分への同じパーティショニングをシェアする適応経路の数を示す。
path_idは、レートシェアオペレーションボックス内に取り入れられる、パーティショニングに関して指定されるサブ部分の適応経路識別子を示す。
num_subpartsは、サブ部分の数を示す。サブ部分の精密な定義は与えられていないが、例えば細粒度スケーラブル符号化スライスのスライスヘッダおよびスライスデータに対応する部分内のバイト範囲である。
offsetは、サブ部分が開始する、初期の適応済みサンプルに対するバイトオフセットを示す。初期の適応済みサンプルの第1バイトオフセットは値0を有する。
num_bytesは、サブ部分に含まれるバイトの数を示す。
0と等しいfree_truncation_flagは、そのサブ部分がトランケートされてはならないということを示す。1と等しいfree_truncation_flagは、そのサブ部分が、サブ部分の終わりから開始して、サンプルを除外することによって任意の長さにトランケートされてよいということを示す。
適応済みサンプルは、次のように作成される。currPathIdが、所望の適応経路の識別子と等しいとする。レートシェアリング情報サンプルグループにより示される、所望の適応経路に関するデータを含むサンプルに対し、次のプロセスが実行される。示される部分それぞれに関して、最初に、path_id_whole_partのリストがcurrPartIdと比較される。currPartIdと等しいpath_id_whole_partの値があれば、その結果、offset_whole_partおよびnum_bytes_whole_partの値により示される部分全体が、適応済みサンプルに含まれる。currPartIdと等しいpath_id_whole_partの値がなく、truncatable_part_flagが1と等しければ、サブ部分への指示されたパーティショニングのループが、currPathIdと等しいpath_idの値が見つかるまで実行される。その結果、オフセットおよびnum_bytesの値により示される各サブ部分が、適応済みサンプル内に含まれる。例えば、適応済みサンプルのさらなるトランケートが、特定のビット割り当て量に対応するために必要であれば、free_truncation_flagが1と等しい当該サブ部分が、所望の長さにトランケートされる。
複数の適応済みサンプルが、適応済みトラックを形成する。参照されているトラックがヒントトラックであれば、適応済みサンプルは有効なパケットペイロードである。参照されているトラックがメディアトラックであれば、適応済みサンプルは有効なメディアサンプルである。
なお、ビデオ符号化における符号化サンプルは、典型的には符号化ピクチャまたはアクセスユニットである。オーディオにおける符号化サンプルは、典型的には符号化オーディオフレームである。さらに、上記のように、simple_priority_id閾値が、符号化ビデオシーケンスの途中(すなわちIDRアクセスユニット間)で変更されると、ストリームの妥当性についての保証は与えられない。本発明で提案される適応経路についても同じことが言える。適応経路間の有効な切り替えポイントを示すために、適応経路切り替えポイントに関してサンプルグループ化メカニズムが、1つの適応経路から別の適応経路に切り替えるために使用され得る適応済みサンプルを示すよう使用される。このサンプルグループ化メカニズムの必要性は、SVCがシングルループ復号を利用ということ、すなわち、参照ピクチャが最上位復号レイヤに関してのみ復号されるということから生じる。その結果、一部の位置では、切り替えられるレイヤの参照ピクチャが復号されていないため、レイヤ間の切り替えを任意の位置とすることは不可能である。したがって、このサンプルグループ化メカニズムは、レイヤ切り替えポイント、またはより広く、適応経路間の切り替えポイントを示すために使用されてもよい。
適応経路切り替えサンプルグループ記述が存在する場合、トラックの各サンプルが、以下に規定される1つの適応経路切り替えポイントエントリにマップされる。グループ化タイプ'tpsw'に関して、ゼロまたは1つのサンプル-グループボックス('sbgp')が、汎用スケーラブルメディアメタデータトラックのサンプルテーブルボックス('stbl')内に含まれていてもよい。適応経路切り替えポイント(adaptation path switch point)サンプルグループエントリが、次に定義される。
class AdaptationPathSwithPointEntry() extends SampleGroupDescriptionEntry('tpsw')
{
unsigned int(8) num_refresh;
for (i=1; i<=num_refresh; i++) {
unsigned int(15) refresh_adaptation_path_id;
unsigned int(1) reserved;
}
}
適応経路切り替えポイントサンプルグループエントリのセマンティクスは次の通りである。
num_refreshは、任意の適応経路が適応済みサンプルの生成において以前に使用されている場合に、このサンプルにおいて切り替えられてもよい適応経路の数を示す。
refresh_adaptation_path_idは、任意の適応経路が適応済みサンプルの生成において以前に使用されている場合に、切り替えられてもよい当該適応経路の識別子を示す。
レートシェアオペレーションボックスを備えるファイルを処理するデバイス、ソフトウェアプログラム、コンポーネント、またはその他任意の適切なユニットが、所望の適応オペレーションポイントを選んでもよい。この選択は、デバイスおよび受信候補ユニットの制約および能力が、適応オペレーションポイントの特性、または適応オペレーションポイントが計算された所望のアルゴリズムとどうマッチするかに基づく。
適応オペレーションポイントを選ぶ例示システムについて、以下の通り記載する。ストリーミングサーバは、レートシェアオペレーションボックスを含むファイルにアクセスできる。このファイルは非スケーラブルオーディオビットストリームおよびスケーラブルビデオビットストリームを含み、スケーラブルビデオビットストリームは、品質ならびに時間的にスケーラブルである。レートシェアオペレーションボックス内に2つの適応オペレーションポイントが示されており、両方が、オーディオとビデオとの間の合計ビットレートのシェアを目的としている。各適応オペレーションポイントは、ヒントトラックのペア、オーディオのヒントトラック、およびビデオの別のヒントトラックを参照する。レートシェアオペレーションボックスは、第1適応オペレーションポイントにおいてビデオが時間的にスケーリングされ、その一方で、品質的なスケーリングが第2適応オペレーションポイントにおいて使用されることを示す。受信側とサーバとの間で、1対1(すなわちユニキャスト)ストリーミングセッションが確立される。サーバから受信側へ、時間的および品質的オプションの両方が通知される。受信側ユニットは、フレームレート(時間的スケーリング)が好まれるか、またはピクチャ忠実度(品質スケーリング)が好まれるか、ユーザの好み(プリファレンス)を選ぶためのユーザインターフェーススイッチを含んでもよい。ユーザの選択に基づき、受信側ユニットは、どの適応経路に従うべきかをサーバに示す。サーバは続いて、適切なヒントトラックおよびユーザにより示された適応経路に基づき、パケットを作成する。
したがって、図8は、メディアデータのトラックへの編成、トラックサブセットの特定、トラックおよびトラックサブセットの特性の付与、特定されたグループ化基準に従った、トラックのマルチトラックグループへの編成を可能にする、トラックを処理する上記技術の簡潔な摘要を示す。
タイムドメディアデータ(ならびにタイムドメタデータ)は、論理的にトラックに編成されている。各トラックは、復号および提示されうるメディアコンテンツの表現を提供する。トラックに関して、様々なタイプのメタデータが、トラックヘッダボックスおよびそのシブリング(siblings)内に提供される。トラック選択ボックスは、トラックのコンテンツを記述する属性、または同じ代替グループ内の他のトラックからトラックのコンテンツを識別する属性を提供する(下記参照)。トラック内のサンプルは、提供されるサンプルエントリにより記述される。
トラックのサブセットが提供されてもよい。トラックサブセットは、トラック全体のメディアデータのサブセットを特定し、それに関連付けられる。トラックサブセットは、通常は復号および提示可能なメディアコンテンツの表現を提供する。
上述の通り、ISOベースメディアファイルフォーマット、および例えばSVCファイルフォーマットなどのその修正は、階層的に編成されたビットストリームサブセットの特性を示すことをサポートする。例えば、スケーラブルビデオ(SVC)ビットストリームのサブセットの特性が、層(本質的にスケーラブルレイヤに類似)またはトラック全体(スケーラブルレイヤに対応)に関して示されてもよい。しかし、ISOベースメディアファイルフォーマットは、種々の階層パーティショニングおよびオーバーラップするビットストリームサブセット(タマネギ状構造を有しない)を示すことをサポートしていない。マルチビュービデオ符号化は、出力用のビューの選択に柔軟性があるため、両タイプの標示を必要とする。
各トラックが、トラック参照により相互に関連付けられ、トラックまたはトラックサブセット(例えばSVCの層)の特性が示されることはできるが、ISOベースメディアファイルフォーマットにもそれから派生したものにも、トラックまたはトラックサブセットのグループの特性を示すメカニズムはない。当該の特性とは、例えば、必要なプロファイル、レベル、復号器バッファリングパラメータであってもよい。
ISOベースメディアファイルフォーマットは、トラックまたはトラックサブセットのグループの、トラックまたはトラックサブセットの別のグループとの関係(共通要素および相違する要素)を示すメカニズムを欠く。そのようなメカニズムは、他の似たグループを無視しながら、処理するトラックまたはトラックサブセットのグループを選択するのに役立つであろう。トラックまたはトラックサブセットのグループは、例えば、マルチビュービデオストリームの所望の出力ビューを示すために必要であると思われる。
マルチビュービデオビットストリームは、1つのトラックごとに1つのビューを格納することから、単一トラックですべてのビューを格納することまで、様々な方法でコンテナファイルに格納され得る。ISOベースメディアファイルフォーマットのファイルフォーマット群には、トラックの或るサブセットの、(おそらく他の)トラックの別のサブセットとの関係を示すメカニズムがない。
本発明の実施形態に基づき、マルチトラックグループをマルチトラックグループのセットにグループ化するメカニズムが提供される。本発明の実施形態は、マルチトラックグループのセットの共有特性およびグループ化基準を示し、マルチトラックグループの各セット間の関係を示す。本発明の例示実施形態は、図9に概略的に示されている。
本発明の実施形態に基づき、マルチトラックグループの、マルチトラックグループのセットへのグループ化が提供されてもよい。さらに、マルチトラックグループのセットに関して、共有特性およびグループ化基準を示すことが可能になってもよい。マルチトラックグループの各セット間の関係が示され、マルチトラックグループがトラックサブセットに基づいて形成されてもよい。
なお、図9内の値K、L、MおよびNは、任意の正の整数値であり互いに独立であってもよい。図9内の"#"は、個別のファイルフォーマット構造の識別子の数を表す。
以下、図10を参照する。フローチャートは、マルチメディアデータを編成する例示プロセスを示す。本発明の実施形態に基づき、示されているプロセス400は、リアルタイムマルチメディアデータを複数のトラックおよび/またはトラックサブセット内に格納する(ブロック402)。トラックおよび/またはトラックサブセットは、図9内で参照番号302により示されている。再び図10を参照する。トラックおよび/またはトラックサブセットのマルチトラックグループ1つ以上が、トラックおよび/またはトラックサブセット間の関係性に基づき特定される(ブロック404)。図9に示されている実施形態では、グループが参照番号304により示されている。グループの特定は、例えば、グループに関係する情報を格納または伝送することを含んでもよい。本発明の特定の実施形態では、プロセス400はさらに、マルチトラックグループのセットを少なくとも1つ形成することをさらに含んでもよい(ブロック406)。マルチトラックグループのセットは、マルチトラックグループの特性1つ以上としてもよい。図9では、マルチトラックグループのセットが参照番号306により示されている。
本発明の実施形態は、マルチビュービデオおよびマルチビューオーディオを扱う。特に、同じコンテンツの複数のビューが、マルチトラックグループのグループ化基準であってもよい。マルチビュービデオまたはマルチビューオーディオに関して指定される、マルチトラックグループの特性が示されてもよい。さらに、本発明の実施形態は、マルチビューメディアレンダリング、符号化、またはキャプチャリングの観点から類似する特性を有するマルチトラックグループのセットへの、2つ以上のマルチトラックグループのグループ化を提供してもよい。マルチトラックグループのセットの共有マルチビュー特性、およびマルチトラックグループのセット間のマルチビュー関係が示されてもよい。
本発明の実施形態の例示実装が、ISOベースメディアファイルフォーマットに関連する構文およびセマンティクスの観点から以下に記載される。さらに、MVCのマルチトラックグループボックスが得られる。
本発明の実施形態に基づき、トラックまたはトラックサブセットをグループ化してそれらの間の関係を示すために使用される、抽象マルチトラックグループボックスが提供される。グループ化基準は、マルチトラックグループボックスから継承されるボックスの4文字コードにより示される。一実施形態では、マルチビュービデオの1つのグループ化基準が記述されるが、例えば多重記述符号化に関してなど、他のものも設計されてもよい。4文字コード"mvcg"が、マルチビュービデオのマルチトラックグループに使用される。その中の列挙されるトラックまたはトラックサブセットは、意図される出力ビューを示す。トラックサブセットは、例えば、サンプルグループ化メカニズムにより定義される層であってもよい。
本発明の実施形態に基づき、マルチトラックグループ関係ボックスが、示されるマルチトラックグループ間の関係を示すために使用される。マルチトラックグループの特定のセットを列挙する主要な基準は、マルチトラックグループ関係ボックスから継承されるボックスの4文字コードにより示される。本発明の実施形態に基づき、1つの基準は、切り替え('swtc')であるとよく、これは、示されているマルチトラックグループのうち1つのみが一度に処理される(再生または伝送される)べきであり、必要に応じてマルチトラックグループ間の切り替えが任意の時点に許可されるということを示す。他の基準も実装されてもよい。
マルチトラックグループ内のトラックまたはトラックサブセットの関係、ならびに得られたマルチトラックグループ関係ボックスを備えるマルチトラックグループ間の関係は、関係属性ボックス("ratr")により示される。一実施形態では、ポイントされるユニットすべてに共通するものと、ポイントされる各ユニットを識別するものとの2タイプの関係がある。
マルチトラックグループ化情報の直接的な構文解析を可能にするために、マルチトラックグループボックスおよびマルチトラックグループ関係ボックスすべてが、ムービーボックス("moov")に含まれる1つのマルチトラックグループコンテナボックス("mtgc")内に含まれてもよい。
以下、図11を参照する。部分的に異なる複数のトラックを参照する、マルチビュービデオの2つのマルチトラックグループボックスを備えるファイルの単純化した例が示されている。この例では、1つのトラックがマルチビュービットストリームの1つのビューに対し形成される。切り替えマルチトラックグループ関係ボックスは、2つのマルチトラックグループにより形成されるマルチビューストリーム間の類似点と相違点とを示すよう含まれる。図11内の破線矢印は、参照を示す。
関係属性ボックス(RelationAttributeBox)は次のように定義される。
ボックスタイプ(Box Types):'ratr'
コンテナ(Container): マルチトラックグループボックスまたはマルチトラックグループ関係ボックスから得られるボックス
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
関係属性ボックスは、マルチトラックグループボックス内に含まれる場合、個別のマルチトラックグループのトラックまたはトラックサブセットの相互関係を示す。関係属性ボックスは、マルチトラックグループ関係ボックス内に含まれる場合、マルチトラックグループの相互関係を示す。関係属性ボックスのセマンティクスに関して、ユニットは、関係属性ボックスがマルチトラックグループボックス内に含まれているときには、トラックまたはトラックサブセットと規定され、関係属性ボックスがマルチトラックグループ関係ボックスに含まれているときには、マルチトラックグループと規定される。
関係属性ボックスにおける構文および構文要素のセマンティクスは次の通りである。
aligned(8) class RelationAttributeBox
extends FullBox('ratr', version = 0, flags) {
unsigned int(16) reserved;
unsigned int(16) num_common_attributes;
for (i=0; i<num_common_attributes; i++)
unsigned int(32) common_attribute;
unsigned int(16) reserved;
unsigned int(16) num_differentiating_attributes;
for (i=0; i<num_differentiating_attributes; i++)
unsigned int(32) diffentiating_attribute;
}
common_attributeおよびdifferentiating_attributeは、下のリストから選択される。識別属性として使用されうる属性は、識別フィールドまたは情報へのポインタと関連付けられる。
Figure 2011528868
すべてのユニットが同じ共通属性を共有するか、または共通属性が合同ですべてのユニットを識別する。識別属性は、少なくとも1つのユニットが、この属性に基づき他のものとは異なることを示す。識別属性のポインタは、1つのユニットを、同じ属性を備える他のユニットと識別する情報の位置を示す。
マルチトラックグループコンテナボックス(MultiTrackGroupContainerBox)は、次の通り定義される。
ボックスタイプ(Box Types):'mtgc'
コンテナ(Container): ムービーボックス('moov')
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
このボックスは、分類されたマルチトラックグループボックスを含む。マルチトラックグループコンテナボックスの構文および構文要素のセマンティクスは次の通りである。
aligned(8) class MultiTrackGroupContainerBox
extends FullBox('mtgc', version = 0, flags) {
}
マルチトラックグループボックス(MultiTrackGroupBox)は、次の通り定義される。
ボックスタイプ(Box Types):各マルチトラックグループ化タイプに関して登録される
コンテナ(Container): マルチトラックグループコンテナボックス('mtgc')
必須(Mandatory) : いいえ
数(Quantity) : ゼロ以上
マルチトラックグループボックスの構文および構文要素のセマンティクスは次の通りである。
aligned(8) class MultiTrackGroupBox (unsigned int(32) multi_track_group_type) extends FullBox(multi_track_group_type, version = 0, flags) {
unsigned int(32) multi_track_group_id;
unsigned int(16) num_entries;
for(i=0; i<num_entries; i++) {
unsigned int(8) entry_type;
if (entry_type == 0)
unsigned int(32) track_id;
else if (entry_type == 1) {
unsigned int(32) track_id;
unsigned int(16) tier_id;
}
else if (entry_type == 2) {
unsigned int(32) track_id;
unsigned int(32) grouping_type;
unsigned int(8) grouping_flags;
if (grouping_flags & 1)
unsigned int(32) grouping_type_parameter;
unsigned int(32) num_group_description_indexes;
for (j=0; j<num_group_description_indexes; j++)
unsigned int(32) group_description_index;
}
else if (entry_type == 3) {
unsigned int(32) track_id;
unsigned int(8) priority_layer;
}
else if (entry_type == 4) {
unsigned int(32) track_id;
unsigned int(8) priority_assignment_method_index;
unsigned int(2) reserved;
unsigned int(6) max_priority_id;
}
else if (entry_type == 5) {
unsigned int(32) track_id;
unsigned int(32) num_subsample_entries;
for (j=0; j<num_subsample_entries; j++) {
unsigned int(8) min_subsample_priority;
unsigned int(8) max_subsample_priority;
unsigned int(8) discardable_required;
unsigned int(32) mask_one_bit_required;
unsigned int(32) mask_zero_bit_required;
}
}
else if (entry_type == 6) {
unsigned int(32) track_id;
unsigned int(16) max_degradation_priority;
}
else if (entry_type == 7) {
unsigned int(32) track_id;
unsigned int(15) adaptation_path_id;
unsigned int(1) reserved;
}
}
RelationAttributeBox relation_attribute_box;
}
multi_track_group_idは、ファイル内のマルチトラックグループの固有識別子を提供する。relation_attribute_boxは、示されているトラックまたはトラックサブセット間の関係を含む。num_entriesは、このマルチトラックグループ内に含まれているトラックおよびトラックサブセットの数である。
entry_typeは、どのタイプのトラックまたはトラックサブセットが続くかを示す。entry_typeの次の値が規定される。
0-トラック全体
1-トラック内の層
2-特定のサンプルグループ化の特定のグループに関連するサンプル
3-SVCの優先レイヤ
4-特定のpriority_id範囲のSVC/MVCビットストリームサブセット
5-すべてのサンプルの特定のサブサンプルのみを含むストリーム
6-特定の劣化優先範囲内のサンプルのみを含むストリーム
7-特定の適応経路のみを含むストリーム
track_idは、トラックを示す。tier_idは、トラック(SVCまたはMVCの)内の層を示す。
grouping_typeは、どのサンプルグループ記述ボックスおよびサンプル-グループボックスが関連しているかを示す。
grouping_flagsの最下位ビットは、ISOベースメディアファイルフォーマット第3版の修正案1(MPEG文書N9826)において規定されているgrouping_type_parameterであれば、セットされるべきである。grouping_type_parameterは、どのグループ記述ボックスおよびサンプル-グループボックスが関連しているかを示すためにさらに使用される。
group_description_indexは、トラックサブセットを形成する、関連するサンプル-グループボックス(単数または複数)内の当該サンプルのインデックスを示す。
priority_layerは、トラックサブセットの形成にどのpriority_layerが使用されるかを示す。優先レイヤが参照されるとき、track_idは、適切な優先レイヤステートメントを含むSVCのタイムドメタデータトラックをポイントするものとする。
num_subsample_entriesは、どのサブサンプルがトラックサブセット内に含まれるかを定義するエントリの数を示す。min_subsample_priorityおよびmax_subsample_priorityは、トラックサブセット内に含まれるサブサンプル優先範囲を示す。
0と等しいdiscardable_requiredは、0と等しい破棄可能フィールドを有するサンプルがトラックサブセットに含まれていないことを示す。1と等しいdiscardable_requiredは、1と等しい破棄可能フィールドを有するサンプルがトラックサブセットに含まれていないことを示す。2と等しいdiscardable_requiredは、トラックサブセットのサンプルを選択するときに破棄可能フィールドが無視されることを示す。
mask_one_bit_requiredは、サブサンプル情報ボックスの保留されているフィールドのマスクを提供する。(mask_one_bit_required & reserved)==mask_one_bit_required(&はビット単位論理積)であれば、対応するサブサンプルは、(その他の基準もすべて満たされているならば)トラックサブセットに含まれる。
mask_zero_bit_requiredは、サブサンプル情報ボックスの保留されているフィールドのマスクを提供する。(mask_zero_bit_required & reserved)==0であれば、対応するサブサンプルは、(その他の基準もすべて満たされているならば)トラックサブセットに含まれる。
entry_typeが6である場合、0からmax_degradation_priorityの範囲にある劣化優先を備えるサンプルが、トラックサブセットに含まれる。(これは、劣化優先0が、もっとも重要なデータにマークを付け、劣化優先が増えると重要度が下がると仮定したものである。)
adaptation_path_idは、どの適応経路がトラックサブセットを提供するかを示す。
マルチビュービデオ(MultiviewVideo)のマルチトラックグループボックス(MultiTrackGroupBox)は、次の通り定義される。
ボックスタイプ(Box Types):'mvcg'
コンテナ(Container): マルチトラックグループコンテナボックス('mtgc')
必須(Mandatory) : いいえ
数(Quantity) : ゼロ以上
このボックスは、出力されるマルチビュービデオストリームのビューのマルチトラックグループを規定する。ボックスに含まれる各トラックまたはトラックサブセットは、出力されることを目的としている。トラックまたはトラックサブセットが複数のビューを含む場合、含まれているビューすべてが出力対象である。
出力ビューの復号は、出力対象でない他のビューの復号を必要とすることもある。復号に必要であるが出力対象ではないビューは、'mvpr'トラック参照から、およびコンテンツ層依存関係ボックス(Tier Dependency box)から得られてもよい。
マルチビュービデオのマルチトラックグループボックスの構文および構文要素のセマンティクスは次の通りである。
aligned(8) class MultiviewVideoMultiTrackGroupBox () extends MultiTrackGroupBox('mvcg', version = 0, flags) {
TierInfoBox subset_stream_info; // mandatory
TierBitRateBox subset_stream_bit_rate; // optional
BufferingBox subset_stream_buffering; // optional
InitialParameterSetBox subset_stream_initial_parameter_sets; // optional
MultiviewSceneInfoBox multiview_scene_info; // optional
}
なお、層情報ボックス(TierInfoBox)、層ビットレートボックス(TierBitRateBox)、およびバッファリングボックス(BufferingBox)の存在は、前に示された層情報ボックス、層ビットレートボックス、およびバッファリングボックスの定義において言及された許可されている当該コンテナボックスに加え、マルチビュービデオのマルチトラックグループボックス内にも許可されなければならない。
マルチトラックグループボックス内に含まれるrelation_attribute_boxは、出力ビュー間の関係を示す。'ecam'が共通属性として使用される場合、すべての出力ビューは、同一の回転および一定な直列間隔の外部カメラパラメータに関連する。'ecam'が識別属性として使用される場合、1つの出力ビューが、他とは異なる回転の外部カメラパラメータに関連するか、または複数の出力ビューが、一定な直列間隔を有しない外部カメラパラメータに関連する。
subset_stream_infoは、示されている出力ビューおよびそれが依存するビューを含むビットストリームサブセットの特性を示す。
subset_stream_bit_rateは、示されている出力ビューおよびそれが依存するビューを含むビットストリームサブセットのビットレート統計を示す。TierBitRateBox内のtierBaseBitRate、tierMaxBitRate、およびtierAvgBitRateの値は規定されない。
subset_stream_bufferingは、示されている出力ビューおよびそれらが依存するビューを含むビットストリームサブセットに適用される仮想参照復号器(HRD:Hypothetical Reference Decoder)パラメータを示す。
subset_stream_initial_parameter_setsは、示されている出力ビューおよびそれらが依存するビューを含むビットストリームサブセットの復号に必要なパラメータセットを含む。
multiview_scene_infoは、任意のアクセスユニット内の空間的に隣接した任意の出力ビュー間の、整数ピクセル解像度を単位とした最大差異を含む。
マルチトラックグループ関係ボックス(MultiTrackGroupRelationBox)は、次の通り定義される。
ボックスタイプ(Box Types):各マルチトラック関係タイプに関して登録される
コンテナ(Container): マルチトラックグループコンテナボックス('mtgc')
必須(Mandatory) : いいえ
数(Quantity) : ゼロ以上
この抽象ボックス(abstract box)は、マルチトラックグループおよびその相互関係を示すメカニズムを提供する。得られたボックスのボックスタイプは、示されるマルチトラックグループを一緒にグループ化する基準を示す。マルチトラックグループ関係ボックスにおける構文および構文要素のセマンティクスは次の通りである:
aligned(8) class MultiTrackGroupRelationBox () extends FullBox(multi_track_group_relation_type, version = 0, flags) {
unsigned int(32) num_entries;
for (i=0; i<num_entries; i++)
unsigned int(32) multi_track_group_id;
RelationAttributesBox relation_attributes;
}
num_entriesは、関連するマルチトラックグループの数を示す。multi_track_group_idは、関連するマルチトラックグループの識別子である。relation_attributesは、関連するマルチトラックグループ間の関係を示す。
切り替えマルチトラックグループ関係ボックス(Switch Multi-Track Group Relation Box)は、次の通り定義される。
ボックスタイプ(Box Types):swtc
コンテナ(Container): マルチトラックグループコンテナボックス('mtgc')
必須(Mandatory) : いいえ
数(Quantity) : ゼロ以上
このボックスは、1つのマルチトラックグループが任意の時点で復号および再生される、マルチトラックグループのセットを規定する。所与の関係属性は、関連するすべてのマルチトラックグループにおいてどの特性が共通し、どのファクターがマルチトラックグループを互いに異なるものとするかを規定する。関係属性は、再生用にマルチトラックグループの適切なセットを、例えばマルチビュービデオコンテンツの場合は出力ビューの数に基づいて選択するために使用されてもよい。識別属性は、プレーヤにとってセット内のどのマルチトラックグループが適切かを、例えば復号に必要とされるレベルに基づいて選択するために使用されてもよい。
切り替えマルチトラックグループ関係ボックスの構文は次の通りである:
aligned(8) class MultiviewVideoMultiTrackGroupRelationBox () extends MultiTrackGroupRelationBox('swtc', version = 0, flags) {
}
切り替えマルチトラックグループ関係ボックス内に列挙されるマルチトラックグループの順序は、プリファレンス順序を示してもよい。例えば、最初に示されるマルチトラックグループは、(コンテンツ作成者による判断で)再生用に好まれるものであってもよい。
提示されるファイルフォーマット構造の使用について、図12に示されている例を参照して説明する。例示ビットストリームは3つのビューを含む。ビュー0は、AVC準拠のベースビューである。ビュー2内でのインター予測のための参照ピクチャは、ビュー0からビュー間予測され、ビュー1内でのインター予測のための参照ピクチャは、ビュー0および1からビュー間予測される。各ビューは、非参照ピクチャとして符号化される各ビュー内の1つおきのビューコンポーネントにより有効化される2つの時間レベルを有する。ビューを取得するために使用されるカメラは直列に配置され、2つの隣接するカメラ間の距離はキャプチャリング構成を変更しないように保たれていた。カメラは同じ方向に向いていて(すなわちその回転は同一で)、同じタイプのものであった(すなわち、内部カメラパラメータが同一であった)。
図13〜15は、例示ビットストリームをコンテナファイルに格納するための考えられる方法を示す。図13では、トラックが各ビューに対し別々に形成されている。ベースビューを格納するトラックのサンプルエントリは'avc1'である。他の2つのトラックは、タイプ'mvpr'のトラック参照を用いてマークを付けられており、これは、トラック参照を含むトラックを復号するために必要なトラックを示す。
以下の1つの擬似コードは、4つのマルチトラックグループを定義する。マルチトラックグループ1は、ビュー0および1から成り(トラック#1および#2)、マルチトラックグループ2は、ビュー1および2から成り(トラック#2および#3)、マルチトラックグループ3は、ビュー0および2から成り(トラック#1および#3)、マルチトラックグループ4は、すべてのビューから成る。各マルチトラックグループに対し、同じ共通および識別属性が定義されている。フレームレートならびに内部および外部カメラパラメータが、すべてのビューにおいて同じままであるため、それらは共通パラメータとして指定されている。コーデックは、トラック#1のAVC('avc1'サンプルエントリ)から、他のトラックではMVC('mvc1'サンプルエントリ)に変化する。したがって、それは識別属性として記載される。さらに、この例では、どのビューが復号されるかにより、必要なレベルが異なると仮定される(多くのコード化構成ではこの可能性が非常に高い)。
次に、この擬似コードは、タイプ"切り替え"の3つのマルチトラックグループ関係ボックスを規定している。第1の関係ボックスは、定義されるマルチトラックグループすべてを列挙する。その共通属性は、フレームレート、内部カメラパラメータ、コーデック(すべての場合においてサンプルエントリのセットが'avc1'および'mvc1'から成るため)、ならびにプロファイル(プロファイルのセットが、ベースビューのプロファイルおよび選択されたマルチビュープロファイルから成るため)である。識別パラメータは、出力ビューの数(この例では2〜3の範囲)、外部カメラパラメータ(マルチトラックグループ3の出力ビューのカメラ間の距離が、他のマルチトラックグループのものと異なるため)、およびレベルである。任意のマルチビューコンテンツを表示できるプレーヤは、この関係ボックスに基づき再生用のマルチトラックグループを選んでもよい。
第2の関係ボックスは、マルチトラックグループ1、2および3を列挙している。共通および識別パラメータは、今度は出力ビューの数が共通属性(その値は、列挙されているマルチトラックグループすべてにおいて2)であるということを除いて、第1の関係ボックスのものと同じである。任意の2ビューコンテンツを表示できるプレーヤ(例えばシャッターメガネを使用することにより)は、この関係ボックスに基づき再生用のマルチトラックグループを選んでもよい。
第3の関係ボックスは、マルチトラックグループ1および2を列挙している。共通および識別パラメータは、今度は外部カメラパラメータが共通属性である(出力ビューに関するカメラ間の空間距離が、列挙されているマルチトラックグループにおいて同一であるため)ということを除いて、第2の関係ボックスのものと同じである。表示されるビューの明確な相関を必要とするプレーヤ(例えば、オートステレオスコピックディスプレイ上での表示用に)は、この関係ボックスに基づき再生用のマルチトラックグループを選んでもよい。
mtgc {
mvcg {
multi_track_group_id = 1;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 0;
track_id[1] = 2;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'cdec';
differentiating_attribute[1] = 'levl';
}
}

mvcg {
multi_track_group_id = 2;
{
entry_type[0] = 0;
track_id[0] = 2;
entry_type[1] = 0;
track_id[1] = 3;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'cdec';
differentiating_attribute[1] = 'levl';
}
}

mvcg {
multi_track_group_id = 3;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 0;
track_id[1] = 3;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'cdec';
differentiating_attribute[1] = 'levl';
}
}

mvcg {
multi_track_group_id = 4;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 0;
track_id[1] = 2;
entry_type[2] = 0;
track_id[2] = 3;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'cdec';
differentiating_attribute[1] = 'levl';
}
}

swtc { // #1
{
multi_track_group_id[0] = 1;
multi_track_group_id[1] = 2;
multi_track_group_id[2] = 3;
multi_track_group_id[3] = 4;
}
relation_attributes {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'cdec';
common_attribute[3] = 'prfl';
differentiating_attribute[0] = 'nvws';
differentiating_attribute[1] = 'ecam';
differentiating_attribute[2] = 'levl';
}
}

swtc { // #2
{
multi_track_group_id[0] = 1;
multi_track_group_id[1] = 2;
multi_track_group_id[2] = 3;
}
relation_attributes {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'cdec';
common_attribute[3] = 'prfl';
common_attribute[4] = 'nvws';
differentiating_attribute[0] = 'ecam';
differentiating_attribute[1] = 'levl';
}
}

swtc { // #3
{
multi_track_group_id[0] = 1;
multi_track_group_id[1] = 2;
}
relation_attributes {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'cdec';
common_attribute[3] = 'prfl';
common_attribute[4] = 'nvws';
common_attribute[5] = 'ecam';
differentiating_attribute[0] = 'levl';
}
}
}
図14は、トラックがすべてのビューを包含するファイルを示す。ベースビューを格納するトラックのサンプルエントリは、AVCファイルリーダがトラックを構文解析および復号し得るため、'avc1'である。サンプルエントリは、MVC復号器構成レコードを含む。サンプルグループメカニズムを使用して、トラックに3つの層が規定されており、各層が1つのビューを包含している。
以下の擬似コードは、図13の擬似コードと比較して、意味的に同一である。'==='は、構造のコンテンツが、図13の擬似コードと比べて変化しないままであることを示す。マルチトラックグループの要素を示すこと以外には構造が変化しなかったことが分かるが、図13の例にあるようにトラック全体を示すのと比較して、トラック内の層を示すために異なるメカニズムが必要とされる。
mtgc {
mvcg {
multi_track_group_id = 1;
{
entry_type[0] = 1;
track_id[0] = 1;
tier_id[0] = 1;
entry_type[1] = 1;
track_id[1] = 1;
tier_id[1] = 3;
}
relation_attribute_box {
===
}
}

mvcg {
multi_track_group_id = 2;
{
entry_type[0] = 1;
track_id[0] = 1;
tier_id[0] = 3;
entry_type[1] = 1;
track_id[1] = 1;
tier_id[1] = 2;
}
relation_attribute_box {
===
}
}

mvcg {
multi_track_group_id = 3;
{
entry_type[0] = 1;
track_id[0] = 1;
tier_id[0] = 1;
entry_type[1] = 1;
track_id[1] = 1;
tier_id[1] = 2;
}
relation_attribute_box {
===
}
}

mvcg {
multi_track_group_id = 4;
{
entry_type[0] = 1;
track_id[0] = 1;
tier_id[0] = 1;
entry_type[1] = 1;
track_id[1] = 1;
tier_id[1] = 3;
entry_type[2] = 1;
track_id[2] = 1;
tier_id[2] = 2;
}
relation_attribute_box {
===
}
}

swtc { // #1
===
}

swtc { // #2
===
}

swtc { // #3
===
}
}
なお、提示されるメカニズムには、異なる数のビューを含むトラックを扱うのに十分な柔軟性がある。図15では、ベースビューがトラックを形成し、他のビューが別のトラックを形成するような形で例示ビットストリームが格納されている。サンプルグループメカニズムを使用して、第2のトラックには2つの層が規定されており、各層が1つのビューを包含している。
以下の擬似コードは、図13および14の擬似コードセクションと比較して、意味的に同一である。
mtgc {
mvcg {
multi_track_group_id = 1;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 1;
track_id[1] = 2;
tier_id[1] = 2;
}
relation_attribute_box {
===
}
}

mvcg {
multi_track_group_id = 2;
{
entry_type[0] = 1;
track_id[0] = 2;
tier_id[0] = 2;
entry_type[1] = 1;
track_id[1] = 2;
tier_id[1] = 1;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
common_attribute[3] = 'cdec';
differentiating_attribute[1] = 'levl';
}
}

mvcg {
multi_track_group_id = 3;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 1;
track_id[1] = 2;
tier_id[1] = 1;
}
relation_attribute_box {
===
}
}

mvcg {
multi_track_group_id = 4;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 1;
track_id[1] = 2;
tier_id[1] = 2;
entry_type[2] = 1;
track_id[2] = 2;
tier_id[2] = 1;
}
relation_attribute_box {
===
}
}

swtc { // #1
===
}

swtc { // #2
===
}

swtc { // #3
===
}
}
本発明の実施形態の別の例示実装が、ISOベースメディアファイルフォーマットに関連する構文およびセマンティクスの観点から以下に記載される。
マルチビューグループコンテナボックス(MultiviewGroupContainerBox)は、次のように定義される。
ボックスタイプ(Box Types):'mvgc'
コンテナ(Container): ムービーボックス('moov')
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
このボックスは、マルチビューグループボックス(MultiviewGroupBox)およびマルチビューグループ関係ボックス(MultiviewGroupRelationBox)を含む。
マルチビューグループコンテナボックスの構文は次のように規定される。
aligned(8) class MultiviewGroupContainerBox
extends FullBox('mvgc', version = 0, flags) {
}
マルチビューグループボックスは、次のように定義される。
ボックスタイプ(Box Types):'mvcg'
コンテナ(Container): マルチビューグループコンテナボックス('mvgc')
必須(Mandatory) : いいえ
数(Quantity) : 1以上
このボックスは、出力されるマルチビュービデオストリームのビューのマルチビューグループを指定する。このボックスに含まれるトラックまたは層内の各ビューは、出力されるよう意図されている。このボックスに含まれているトラックまたは層が複数のビューを含む場合、含まれているビューすべてが出力対象である。出力ビューの復号は、出力対象でない他のビューの復号を必要とすることもある。復号に必要であるが出力対象ではないビューは、'mvpr'トラック参照から、または層依存関係ボックスから結論付けられてもよい。
マルチビューグループボックスの構文は次のように規定される。
aligned(8) class MultiviewGroupBox extends FullBox('mvcg', version = 0, flags) {
unsigned int(32) multiview_group_id;
unsigned int(16) num_entries;
for(i=0; i<num_entries; i++) {
unsigned int(8) entry_type;
if (entry_type == 0)
unsigned int(32) track_id;
else if (entry_type == 1) {
unsigned int(32) track_id;
unsigned int(16) tier_id;
}
}
TierInfoBox subset_stream_info; // mandatory
MultiviewRelationAttributeBox relation_attributes; // optional
TierBitRateBox subset_stream_bit_rate; // optional
BufferingBox subset_stream_buffering; // optional
MultiviewSceneInfoBox multiview_scene_info; // optional
}
なお、層情報ボックス、層ビットレートボックス、およびバッファリングボックスの存在は、前に示された層情報ボックス、層ビットレートボックス、およびバッファリングボックスの定義において言及された許可されている当該コンテナボックスに加え、マルチビューグループボックス内にも許可されなければならない。
マルチビューグループボックスのセマンティクスは次のように規定される。
multiview_group_idは、ファイル内のマルチビューグループの固有識別子を提供する。
num_entriesは、このマルチビューグループ内に含まれるトラックおよび層の数である。
entry_typeは、どのタイプのトラックまたは層が続くかを示す。entry_typeの次の値が規定される:0-トラック全体、1-トラック内の層。
track_idは、トラックを示す。
tier_idは、トラック内の層を示す。
subset_stream_infoは、示されている出力ビューおよびそれが依存するビューを含むビットストリームサブセットの特性を示す。
relation_attributesは、出力ビュー間の関係を示す。'ecam'が共通属性として使用される場合、すべての出力ビューが、カメラが同一の回転および一定な間隔を有し、直列であり、すなわち互いに平行であることを示す外部カメラパラメータに関連する。'ecam'が識別属性として使用される場合、1つの出力ビューが、他とは異なる回転の外部カメラパラメータに関連するか、または複数の出力ビューが、一定な直列間隔を有しない外部カメラパラメータに関連する。
subset_stream_bit_rateは、示されている出力ビューおよびそれが依存するビューを含むビットストリームサブセットのビットレート統計を示す。TierBitRateBox内のtierBaseBitRate、tierMaxBitRate、およびtierAvgBitRateの値は規定されていない。
subset_stream_bufferingは、示されている出力ビューおよびそれらが依存するビューを含むビットストリームサブセットに適用されるHRDパラメータを示す。
multiview_scene_infoは、任意のアクセスユニット内の空間的に隣接した任意の出力ビュー間の、整数ピクセル解像度を単位とした最大差異を含む。
マルチビューグループボックスは、他のボックスをさらに含むことにより拡張されてもよい。
マルチビューグループ関係ボックス(MultiviewGroupRelationBox)は、次のように定義される。
ボックスタイプ(Box Types):swtc
コンテナ(Container): マルチビューグループコンテナボックス('mvgc')
必須(Mandatory) : いいえ
数(Quantity) : ゼロ以上
このボックスは、1つのマルチビューグループが任意の時点で復号および再生される、マルチビューグループのセットを規定する。所与の関係属性は、関連するすべてのマルチビューグループにおいてどの特性が共通し、どのファクターがマルチビューグループを互いに異なるものとするかを規定する。関係属性は、再生用にマルチビューグループの適切なセットを、例えば出力ビューの数に基づいて選択するために使用されてもよい。識別属性は、プレーヤにとってセット内のどのマルチビューグループが適切かを、例えば復号に必要とされるレベルに基づいて選択するために使用されてもよい。
マルチビューグループ関係ボックスの構文は次のように規定される。
aligned(8) class MultiviewGroupRelationBox () extends FullBox(, version = 0, flags) {
unsigned int(32) num_entries;
for (i=0; i<num_entries; i++)
unsigned int(32) multiview_group_id;
MultiviewRelationAttributeBox relation_attributes;
}
マルチビューグループ関係ボックスのセマンティクスは次のように規定される。num_entriesは、関連するマルチビューグループの数を示す。multiview_group_idは、関連するマルチビューグループの識別子である。relation_attributesは、関連するマルチビューグループ間の関係を示す。
マルチビュー関係属性ボックス(MultiviewRelationAttributeBox)は、次のように定義される。
ボックスタイプ(Box Types):'mvra'
コンテナ(Container): MultiviewGroupBoxまたはMultiviewGroupRelationBox
必須(Mandatory) : いいえ
数(Quantity) : ゼロまたは1
マルチビュー関係属性ボックスは、マルチビューグループボックス内に含まれている場合、個別のマルチビューグループのトラックまたは層の相互関係を示す。マルチビュー関係属性ボックスは、マルチビューグループ関係ボックス内に含まれている場合、マルチビューグループの相互関係を示す。
マルチビュー関係属性ボックスの構文は次のように規定される。
aligned(8) class MultiviewRelationAttributeBox
extends FullBox('mvra', version = 0, flags) {
unsigned int(16) reserved;
unsigned int(16) num_common_attributes;
for (i=0; i<num_common_attributes; i++)
unsigned int(32) common_attribute;
unsigned int(16) reserved;
unsigned int(16) num_differentiating_attributes;
for (i=0; i<num_differentiating_attributes; i++)
unsigned int(32) diffentiating_attribute;
}
マルチビュー関係属性ボックスのセマンティクスに関して、ユニットは、マルチビュー関係属性ボックスがマルチビューグループボックス内に含まれているときには、トラックまたは層と規定され、マルチビュー関係属性ボックスがマルチビューグループ関係ボックスに含まれているときには、出力ビューのグループと規定される。common_attributeおよびdifferentiating_attributeは、下のリストから選択される。識別属性として使用されうる属性は、フィールドまたは情報への識別ポインタと関連付けられる。
Figure 2011528868
すべてのユニットは、同じ共通属性を共有するか、または共通属性が合同ですべてのユニットを識別する。識別属性は、少なくとも1つのユニットが、この属性に基づき他のものとは異なることを示す。識別属性のポインタは、1つのユニットを、同じ属性を備える他のユニットと識別する情報の位置を示す。
下記の擬似コードは、前の例の擬似コードと等価に、4つのマルチビューグループを定義する(num_entries、num_common_attributes、およびnum_differentiating_attributesのようないくつかのフィールドは含まれていない)。マルチビューグループ1は、ビュー0および1から成り(トラック#1および#2)、マルチビューグループ2は、ビュー1および2から成り(トラック#2および#3)、マルチビューグループ3は、ビュー0および2から成り(トラック#1および#3)、マルチビューグループ4は、すべてのビューから成る。各マルチビューグループに対し、同じ共通および識別属性が定義されている。フレームレートならびに内部および外部カメラパラメータが、すべてのビューにおいて同じままであるため、それらは共通パラメータとして指定されている。さらに、この例では、どのビューが復号されるかにより、必要なレベルが異なると仮定される(多くの符号化構成ではこの可能性が非常に高い)。
次に、擬似コードは、3つのマルチビューグループ関係ボックスを規定する(この場合もやはりnum_entries、num_common_attributes、およびnum_differentiating_attributesのようないくつかのフィールドは含まれていない)。第1の関係ボックスは、定義されるマルチビューグループすべてを列挙する。その共通属性は、フレームレート、内部カメラパラメータ、およびプロファイルである(プロファイルのセットが、ベースビューのプロファイルおよび選択されたマルチビュープロファイルから成るため)。識別パラメータは、出力ビューの数(この例では2〜3の範囲)、外部カメラパラメータ(マルチビューグループ3内の出力ビューのカメラ間の距離が、他のマルチビューグループのものと異なるため)、およびレベルである。任意のマルチビューコンテンツを表示できるプレーヤは、この関係ボックスに基づき再生用のマルチビューグループを選んでもよい。
第2の関係ボックスは、マルチビューグループ1、2および3を列挙している。共通および識別パラメータは、今度は出力ビューの数が共通属性(その値は、列挙されているマルチビューグループすべてにおいて2)であるということを除いて、第1の関係ボックスのものと同じである。任意の2ビューコンテンツを表示できるプレーヤ(例えばシャッターメガネを使用することにより)は、この関係ボックスに基づき再生用のマルチビューグループを選んでもよい。
第3の関係ボックスは、マルチビューグループ1および2を列挙している。共通および識別パラメータは、今度は外部カメラパラメータが共通属性である(出力ビューに関するカメラ間の空間距離が、列挙されているマルチビューグループにおいて同一であるため)ということを除いて、第2の関係ボックスのものと同じである。表示されるビューの明確な相関を必要とするプレーヤ(例えば、オートステレオスコピックディスプレイ上での表示用に)は、この関係ボックスに基づき再生用のマルチビューグループを選んでもよい。
mvgc {
mvcg {
multiview_group_id = 1;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 0;
track_id[1] = 2;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'levl';
}
}

mvcg {
multiview_group_id = 2;
{
entry_type[0] = 0;
track_id[0] = 2;
entry_type[1] = 0;
track_id[1] = 3;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'levl';
}
}

mvcg {
multiview_group_id = 3;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 0;
track_id[1] = 3;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'levl';
}
}

mvcg {
multiview_group_id = 4;
{
entry_type[0] = 0;
track_id[0] = 1;
entry_type[1] = 0;
track_id[1] = 2;
entry_type[2] = 0;
track_id[2] = 3;
}
relation_attribute_box {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'ecam';
differentiating_attribute[0] = 'levl';
}
}

swtc { // #1
{
multiview_group_id[0] = 1;
multiview_group_id[1] = 2;
multiview_group_id[2] = 3;
multiview_group_id[3] = 4;
}
relation_attributes {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'prfl';
differentiating_attribute[0] = 'nvws';
differentiating_attribute[1] = 'ecam';
differentiating_attribute[2] = 'levl';
}
}

swtc { // #2
{
multiview_group_id[0] = 1;
multiview_group_id[1] = 2;
multiview_group_id[2] = 3;
}
relation_attributes {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'prfl';
common_attribute[3] = 'nvws';
differentiating_attribute[0] = 'ecam';
differentiating_attribute[1] = 'levl';
}
}

swtc { // #3
{
multiview_group_id[0] = 1;
multiview_group_id[1] = 2;
}
relation_attributes {
common_attribute[0] = 'frar';
common_attribute[1] = 'icam';
common_attribute[2] = 'prfl';
common_attribute[3] = 'nvws';
common_attribute[4] = 'ecam';
differentiating_attribute[0] = 'levl';
}
}
}
本発明の実施形態の別の例示実装について、ISOベースメディアファイルフォーマットに関連する構文およびセマンティクスの観点から以下に記載する。具体的には、ISOベースメディアファイルフォーマットの第3版の、次回の修正1のgrouping_type_parameter機能が使用される。grouping _type_parameterは、そのバージョン番号が前に指定されたよりも大きいときに、サンプル-グループボックスおよびサンプルグループ記述ボックスに含まれる。grouping_type_parameterが存在する場合、サンプル-グループボックスおよびサンプルグループ記述ボックスの複数のインスタンスが、同じコンテナボックス内のgrouping_typeの同じ値で許可される。各インスタンスは、grouping_type_parameterにより識別される。本実施形態では、'mvif'サンプルグループ化のgrouping_type_parameterが、grouping_type_parameterの他の値の'mvif'サンプルグループ化と比較して、異なるセットの出力ビューを示すために使用される。grouping_type_parameterは、前の例のmultiview_group_idと等価である。MultiviewGroupEntryは、どのgroupID値またはtierID値が、出力対象でないかまたは復号に必要であるかを示すことができるような形で変更される。タイプ'mvif'のサンプルグループ記述ボックスは、さらに、共有および識別特性、ならびに例えばマルチビュー関係属性ボックスを使用した、示されるビューの関係を含んでもよい。そうでなければ、マルチトラックグループの特性およびマルチトラックグループ間の関係を示すために、前の例のいずれか1つがこの例とともに使用されてもよい。
本発明の様々な実施形態では、マルチトラックグループの指示が、2つのファイルフォーマット構造を相互に関連付けるために使用される。従来、トラック参照(または特定のトラック参照ボックス内に含まれたリストに対するインデックス)が、構造を相互に関連付けるために使用されてきた。例えば、SVCファイルフォーマットのエクストラクタは、タイプ'scal'のトラック参照ボックスへのインデックスを使用して、現在のトラックに参照によってデータを含める、もとのトラックを特定する。同様に、メディアトラックのトラック識別子を使用して、当該メディアトラックから参照によりデータを含める、RTP(Real-Time Transport Protocol:リアルタイムトランスポートプロトコル)ヒントトラックサンプルのコンストラクタがある。
図16に示されている、マルチトラックグループによる参照の例を使用して、一実施形態について説明する。この図面は、マルチビュービットストリームと、そのビュー間予測階層とを提示する。ビュー1および2は、ベースビューから予測される一方、ビュー3は、ビュー0および1から予測され、ビュー4は、ビュー0および2から予測される。ビュー1および2両方に関連するSEIメッセージがあるが、これは例えばSEIメッセージをMVCスケーラブルネスティングSEIメッセージに含めることによる。
図16に提示されているビットストリームが、ビュー1および2が別々のトラックに格納されるような形でファイルに格納されると、SEI NALユニットの格納場所が問題となる。SEI NALユニットの格納にはいくつかのオプションがあり、少なくとも以下が含まれる。
SEI NALユニットが複製されて、それが適用される各トラック内に含まれてもよい。これは、ファイルサイズの増大につながる。さらに、ビュー1および2両方が復号されるビットストリームに含まれると、復号器がSEIメッセージの複製をどのように処理するかが不確定となってもよい。さらに、符号化器は、SEIメッセージの1つのみのコピーを含むビットストリームを作成しており、ビットストリームのバッファリングコンプライアンスがそれに応じて調整され、信号伝達されている。SEIメッセージの複製は、ファイルパーサにより作成されたストリームのバッファリングコンプライアンスを機能させなくする可能性がある。
SEI NALユニットは、パラメータセットトラックに含まれてもよい。ビュー1および2のトラックは、ビュー1および2のトラックの適切なサンプル内にエクストラクタ(または同様のもの)を含めることによって、SEI NALユニットを(参照により)明示的に含んでもよい。
SEI NALユニットは、パラメータセットトラックに含まれてもよい。パラメータセットトラックのサンプルフォーマットは、SEI NALユニットが適用されるマルチトラックグループ識別子のリストを含んでもよい。あるいは、パラメータセットトラックのサンプルフォーマットは、SEI NALユニットが適用されるビュー識別子のリストを含んでもよい。ファイルが再生されるとき、パーサは、復号に適切なマルチトラックグループを選ぶ。SEI NALユニットが、そのマルチトラックグループに関して有効であることが示される場合、復号器に関し再構築されるアクセスユニット内に含んだ。
マルチトラックグループを示すことが、2つのファイルフォーマット構造を関連付けるために使用される別の実施形態が提示される。サンプルの復号時間は、H.264/AVC、SVCおよびMVCのHRD符号化ピクチャバッファ(CPB:coded picture buffer)リムーバルタイムと等価である。特定のアクセスユニットのCPBリムーバルタイムは、そのアクセスユニットおよび前のアクセスユニットに関して存在するNALユニットによって決まる。その結果、ビットストリームサブセットが得られると、もとのビットストリームのCPBリムーバルタイムが正確である可能性は低くなる。したがって、CPBリムーバルタイムの異なるセット、および個々にサンプルの復号時間が、各ビットストリームサブセットに提供されるべきである。種々のトラック内のMVCサンプルの、同じアクセスユニットへの関連付けは、サンプルの復号時間を介して行われるため、同じアクセスユニットのすべてのサンプルの復号時間を同一の値にセットすることが有益であり、これは、任意のビットストリームサブセットのCPBリムーバルタイムに対応しないこともある(さらに、ビットストリーム全体に適用可能なCPBリムーバルタイムと等しいこともある)。マルチビュー復号リタイミングボックスが、各サンプルに関してマルチビューグループ識別子およびデルタタイム値を含むよう規定されるとよく、これは、サンプルの復号時間に追加されると、マルチビューグループにより指定されるビットストリームサブセットに適用可能な、個別のアクセスユニットのCPBリムーバルタイムを提供する。あるいは、マルチビュー復号リタイミングサンプルグループ化は、SVCファイルフォーマットの復号リタイミンググループと同様に指定されるが、その識別子によって特定のマルチビューグループにリンクされていてもよい。
図17は、1つ以上のネットワークを介して通信しうる複数の通信デバイスを含む、本発明の様々な実施形態が利用され得るシステム10を示す。システム10は、限定はされないが、携帯電話ネットワーク、無線ローカルエリアネットワーク(LAN:Local Area Network)、ブルートゥースパーソナルエリアネットワーク、イーサネット(登録商標)LAN、トークンリングLAN、広域ネットワーク、インターネットなどを含む有線または無線ネットワークの任意の組み合わせを含んでもよい。システム10は、有線および無線両方の通信デバイスを含んでもよい。
例示のために、図17に示されているシステム10は、携帯電話ネットワーク11およびインターネット28を含む。インターネット28への接続性は、限定はされないが、長距離無線接続、短距離無線接続、ならびに、限定はされないが電話線、ケーブル回線、電力線、および同様のものを含む様々な有線接続を含んでもよい。
システム10の例示通信デバイスは、限定はされないが、携帯電話の形態での電子デバイス12、組み合わせ携帯情報端末(PDA:personal digital assistant)・携帯電話14、PDA16、統合メッセージングデバイス(IMD:integrated messaging device)18、デスクトップコンピュータ20、ノートブックコンピュータ22などを含んでもよい。通信デバイスは、固定されたものでも、または、移動している個人に運ばれているときのように移動可能であってもよい。通信デバイスはさらに、限定はされないが、自動車、トラック、タクシー、バス、電車、船、航空機、自転車、オートバイなどを含む輸送手段に位置してもよい。通信デバイスの一部または全部は、電話およびメッセージの送受信を行い、基地局24への無線接続25を介してサービスプロバイダと通信してもよい。基地局24は、携帯電話ネットワーク11と、インターネット28との間の通信を可能にするネットワークサーバ26に接続されていてもよい。システム10は、さらなる通信デバイスおよび異なる種類の通信デバイスを含んでもよい。
通信デバイスは、限定はされないが、符号分割多重アクセス(CDMA:Code Division Multiple Access)、グローバルシステムフォーモバイルコミュニケーションズ(GSM:Global System for Mobile Communications)、ユニバーサルモバイルテレコミュニケーションシステム(UMTS:Universal Mobile Telecommunications System)、時分割多元接続(TDMA:Time Division Multiple Access)、周波数分割多元接続(FDMA:Frequency Division Multiple Access)、伝送制御プロトコル/インターネットプロトコル(TCP/IP:Transmission Control Protocol/Internet Protocol)、ショートメッセージサービス(SMS:Short Messaging Service)、マルチメディアメッセージングサービス(MMS:Multimedia Messaging Service)、電子メール、インスタントメッセージングサービス(IMS:Instant Messaging Service)、ブルートゥース、IEEE 802.11などを含む、様々な伝送技術を使用して通信してもよい。本発明の様々な実施形態を実装するのに関与する通信デバイスは、限定はされないが、無線、赤外線、レーザー、ケーブル接続、および同様のものを含む、様々な媒体を使用して通信してもよい。。
図18および19は、本発明の様々な実施形態に基づく、ネットワークノードとして使用されうる1つの代表となる電子デバイス12を示す。なお、当然のことながら、本発明の範囲は、1つの特定のタイプのデバイスに限定されるよう意図されてはいない。図18および19の電子デバイス12は、筐体30、液晶ディスプレイの形態のディスプレイ32、キーパッド34、マイクロホン36、受話口38、バッテリー40、赤外線ポート42、アンテナ44、一実施形態によればUICCの形式のスマートカード46、カードリーダ48、無線インターフェース回路52、コーデック回路54、コントローラ56、およびメモリ58を含む。上記のコンポーネントは、本発明の様々な実施形態に基づき、電子デバイス12が、ネットワーク上にあってもよい他のデバイスとの間で様々なメッセージを送受信できるようにする。個々の回路および要素はすべて、例えばノキア(Nokia)の様々な携帯電話においてなど、当技術分野において周知のタイプのものである。
図20は、本発明の様々な実施形態が実装され得る汎用マルチメディア通信システムの図形表現である。図20に示されているように、データソース100は、アナログ、圧縮されていないデジタル、もしくは圧縮されたデジタルフォーマット、またはこれらフォーマットの任意の組み合わせでソース信号を提供する。符号化器110は、ソース信号を符号化メディアビットストリームにコード化する。なお、復号されるビットストリームは、事実上任意のタイプのネットワーク内に位置するリモートデバイスから、直接または間接的に受信されてもよい。さらに、ビットストリームは、ローカルハードウェアまたはソフトウェアから受信されてもよい。符号化器110は、オーディオおよびビデオなど、2つ以上のメディアタイプのコード化ができてもよく、または、2つ以上の符号化器110が、異なるメディアタイプのソース信号を符号化するために必要とされてもよい。符号化器110はさらに、グラフィックスおよびテキストなど、合成により生成された入力を得てもよく、または、合成メディアの符号化ビットストリームを生成できてもよい。以下では、説明を単純化するために、1つのメディアタイプの1つの符号化メディアビットストリームの処理のみが考察される。しかし、通常は、リアルタイムブロードキャストサービスはいくつかのストリーム(典型的には少なくとも1つのオーディオ、ビデオ、およびテキスト字幕ストリーム)を含むということに留意されたい。なお、さらに、システムは多数の符号化器を含むこともあるが、図20では、一般性を欠くことなく説明を単純化するために、1つのみの符号化器110が表されている。さらに、当然のことながら、本願明細書に含まれている文章および例は、コード化プロセスを具体的に記載することもあるが、当業者には当然のことながら、同じ概念および原理が、対応する復号プロセスにも当てはまり、逆の場合も同じである。
符号化メディアビットストリームは、ストレージ120へ転送される。ストレージ120は、符号化メディアビットストリームを格納する任意のタイプの大容量メモリを含んでもよい。ストレージ120内の符号化メディアビットストリームのフォーマットは、エレメンタリ自立型ビットストリームフォーマットであってもよく、または1つ以上の符号化メディアビットストリームがコンテナファイルにカプセル化されてもよい。1つ以上のメディアビットストリームがコンテナファイルにカプセル化される場合、その1つ以上のメディアビットストリームをファイルに格納してファイルフォーマットメタデータを作成するためにファイル生成器(図示せず)が使用され、ファイルフォーマットメタデータもファイルに格納される。符号化器110またはストレージ120は、ファイル生成器を含んでもよく、またはファイル生成器は、符号化器110またはストレージ120のいずれかに動作可能に接続される。いくつかのシステムは、"ライブ"で動作する。すなわち、ストレージを省略して、符号化メディアビットストリームを符号化器110から直接送信機130へ転送する。次に、符号化メディアビットストリームは、必要に応じてサーバとも呼ばれる送信機130へ転送される。伝送において使用されるフォーマットは、エレメンタリ自立型ビットストリームフォーマット、パケットストリームフォーマットであってもよく、または、1つ以上の符号化メディアビットストリームがコンテナファイルにカプセル化されていてもよい。符号化器110、ストレージ120、およびサーバ130は、同じ物理的デバイスにあってもよく、別々のデバイスに含まれていてもよい。符号化器110およびサーバ130は、ライブリアルタイムコンテンツで動作してもよく、この場合、符号化メディアビットストリームは、典型的には、永続的に格納されないが、コンテンツ符号化器110および/またはサーバ130内に短期間バッファリングされて、処理遅延、転送遅延、および符号化メディアビットレートにおける変動を平滑化する。
サーバ130は、符号化メディアビットストリームを、通信プロトコルスタックを使用して送信する。このスタックは、限定はされないが、リアルタイムトランスポートプロトコル(RTP)、ユーザデータグラムプロトコル(UDP:User Datagram Protocol)、およびインターネットプロトコル(IP)を含んでもよい。通信プロトコルスタックがパケット指向型である場合、サーバ130は、符号化メディアビットストリームをパケットにカプセル化する。例えば、RTPが使用される場合、サーバ130は、RTPペイロードフォーマットに従い符号化メディアビットストリームをRTPパケットにカプセル化する。典型的には、各メディアタイプは専用RTPペイロードフォーマットを有する。なお、この場合もやはりシステムは、2つ以上のサーバ130を含んでもよいが、単純化するために、以下の記載では1つのサーバ130についてのみ考察する。
メディアコンテンツが、ストレージ120用に、またはデータを送信機130に入力するためにコンテナファイルにカプセル化される場合、送信機130は、"送信ファイルパーサ"を含んでも、またはそれに動作可能に接続されてもよい。特に、コンテナファイル自体は伝送されないが含まれる符号化メディアビットストリームの少なくとも1つが通信プロトコルによるトランスポート用にカプセル化される場合、送信ファイルパーサが、通信プロトコルによって伝達される符号化メディアビットストリームの適切な部分を見つける。送信ファイルパーサはさらに、パケットヘッダおよびペイロードなど、通信プロトコルの正確なフォーマット作成を支援してもよい。。マルチメディアコンテナファイルは、ISOベースメディアファイルフォーマットにおけるヒントトラックなど、通信プロトコルに関して含まれるメディアビットストリームの少なくとも1つのカプセル化に関するカプセル化命令を含んでもよい。
サーバ130は、通信ネットワークを介してゲートウェイ140に接続されていても、されていなくてもよい。ゲートウェイ140は、1つの通信プロトコルスタックに従ったパケットストリームの別の通信プロトコルスタックへの変換、データストリームの統合および分岐、ならびに優勢のダウンリンクネットワーク条件に従った、転送されるストリームのビットレートの制御などのダウンリンク能力および/または受信機能力に従うデータストリームの操作など、様々なタイプの機能を実行してもよい。ゲートウェイ140の例は、マルチポイント会議制御ユニット(MCU:multipoint conference control unit)、回路交換およびパケット交換ビデオ電話間のゲートウェイ、プッシュトゥートークオーバーセルラ(PoC:Push-to-talk over Cellular)サーバ、デジタルビデオブロードキャスティングハンドヘルド(DVB-H:digital video broadcasting-handheld)システムにおけるIPエンカプスレータ、または家庭用無線ネットワークへローカルでブロードキャスト伝送を転送するセットトップボックスを含む。RTPが使用される場合、ゲートウェイ140は、RTPミキサまたはRTPトランスレータと呼ばれ、典型的にはRTP接続のエンドポイントとしての役割を果たす。
システムは、1つ以上の受信機150を含み、この受信機は、典型的には、伝送された信号を受信し、復調し、符号化メディアビットストリームへと非カプセル化することができる。符号化メディアビットストリームは、レコーディングストレージ155へ転送される。レコーディングストレージ155は、符号化メディアビットストリームを格納する任意のタイプの大容量メモリを含んでもよい。あるいは、またはさらに、レコーディングストレージ155は、ランダムアクセスメモリ等の計算メモリを含んでもよい。レコーディングストレージ155内の符号化メディアビットストリームのフォーマットは、エレメンタリ自立型ビットストリームフォーマットであってもよく、または1つ以上の符号化メディアビットストリームがコンテナファイルにカプセル化されてもよい。オーディオストリームおよびビデオストリームなど、相互に関連付けられた多数の符号化メディアビットストリームがある場合、コンテナファイルが通常は使用され、受信機150は、入力ストリームからコンテナファイルを生成する受信ファイル生成器(図示せず)を含むか、それに接続される。いくつかのシステムは、"ライブ"で動作する。すなわち、ストレージ155を省略して、符号化メディアビットストリームを受信機150から直接復号器160へ転送する。一部のシステムでは、記録されるストリームの直近の部分のみ、例えば記録されるストリームの直近の10分の抜粋が、レコーディングストレージ155に保持され、その一方で、前に記録されたデータはレコーディングストレージ155から破棄される。
符号化メディアビットストリームは、レコーディングストレージ155から復号器160に転送される。オーディオストリームおよびビデオストリームなど、相互に関連付けられコンテナファイルにカプセル化された多くの符号化メディアビットストリームが存在する場合、または例えばアクセスをより簡単にするために単一のメディアビットストリームがコンテナファイルにカプセル化される場合、ファイルパーサ(図示せず)を使用して、コンテナファイルから各符号化メディアビットストリームが非カプセル化される。レコーディングストレージ155または復号器160がファイルパーサを含んでもよく、または、ファイルパーサがレコーディングストレージ155または復号器160のいずれかに接続される。
コーデックメディアビットストリームは、通常、復号器160によってさらに処理される。その出力は、1つ以上の非圧縮メディアストリームである。最後に、レンダラ170が、例えば、スピーカまたはディスプレイを用いて、非圧縮メディアストリームを再現してもよい。受信機150、レコーディングストレージ155、復号器160、およびレンダラ170は、同じ物理的デバイスにあってもよく、または別々のデバイスに含まれていてもよい。
様々な実施形態によるファイル生成器は、符号化メディアビットストリームからマルチトラックグループを特定するか、または符号化器110からマルチトラックグループの識別を受信する。ファイル生成器は、マルチビュービデオビットストリームの意図された出力ビューなど、様々な基準でマルチトラックグループを形成してもよい。ファイル生成器は、ファイル内の特定のマルチトラックグループに符号化メディアビットストリームのどの部分が含まれているかの情報を含める。情報のフォーマットの一例は、マルチトラックグループボックスである。ファイル生成器はさらに、例えばマルチトラックグループ関係ボックスを使用することで、ファイル内のマルチトラックグループ間の関係を示してもよい。様々な実施形態による受信ファイル生成器は、ファイル生成器と同様に動作するが、符号化メディアビットストリームが受信機150から受信される。
様々な実施形態による送信ファイルパーサは、ファイルのどの部分が伝送用にカプセル化されるかを判断するために、マルチトラックグループ特性および関係を読み取ってもよい。さらに、マルチトラックグループ情報は、通信プロトコル上での伝送に関するカプセル化情報に関して、ファイル生成器において作成されていることもある。そのようなカプセル化情報は、例えば、各伝送セッションがマルチビュービデオストリームの1つ以上のビューを伝える複数の伝送セッションによってマルチビュービデオストリームを伝送するためのパケットを形成する命令(ヒントトラックなど)であってもよい。
様々な実施形態による送信機130は、受信機150のリクエストに応答するため、またはビットストリームが伝達されたネットワークの優勢状態など、複数の理由で、伝送されるビューを選択するよう構成されていてもよい。受信機からのリクエストは、例えば表示用のビューの変更、または前のものと比較して能力が異なる、レンダリングデバイスの変更のリクエストなどであってもよい。伝送されるビューを選択するよう構成されている送信機130は、伝送されるビューを選択するときに、送信ファイルパーサを使用するか、またはそれに動作可能に接続されていてもよい。
様々な実施形態によるファイルパーサは、ファイルに含まれている個別の指示に基づきファイルからマルチトラックグループを特定する。ファイルパーサは、マルチトラックグループの特性、およびその相互の間の関係(共通および識別属性)についての情報を読み取る。特性および関係に基づき、ファイルパーサは処理するマルチトラックグループを選ぶ。ファイルパーサは、例えば、正しい数の出力ビューを有し、その外部カメラパラメータがレンダリングに使用されるディスプレイの特性に合うようなマルチビュービデオマルチトラックグループを選んでもよい。処理は通常、マルチトラックグループに対応するメディアデータをファイルから抽出することを含み、場合によっては、抽出されたメディアデータをフォーマット変更して、フォーマット変更されたメディアデータを復号およびレンダリングのために復号器160へ渡す。
様々な実施形態によるファイルエディタは、ファイルに含まれている個別の指示に基づきファイルからマルチトラックグループを特定する。ファイルエディタは、マルチトラックグループの特性、およびその相互の間の関係(共通および識別属性)についての情報を読み取る。特性および関係に基づき、ファイルパーサは、どのマルチトラックグループがファイル内に保持され、どれが削除されるかを選ぶ。ファイルエディタは、例えば、目標ファイルとして、所望の数の出力ビューを有するようなマルチビュービデオマルチトラックグループを選んでもよい。ファイルエディタは、ファイルから削除されファイル内に保持されないメディアデータを特定する。次に、ファイルエディタは、そのようなメディアデータおよび関係のあるファイルメタデータを削除する。ファイルエディタはさらに、メディアデータをファイルに追加してもよい。メディアデータがファイル内の既存のメディアデータに関係するか、または追加されたメディアデータに基づいてマルチトラックグループが形成され得る場合、ファイルエディタはファイル内の符号化メディアからマルチトラックグループを特定する。ファイルエディタは、ファイル内の特定のマルチトラックグループに符号化メディアビットストリームのどの部分が含まれているかの情報を含める。ファイルエディタはさらに、ファイル内のマルチトラックグループ間の関係を示す。
本願明細書に記載された様々な実施形態は、方法ステップまたはプロセスの一般的状況において記載されており、一実施形態では、ネットワーク環境においてコンピュータにより実行されるプログラムコードなどのコンピュータ実行可能命令を含みコンピュータ可読媒体において具現化されたコンピュータプログラム製品によって実装されてもよい。コンピュータ可読媒体は、限定はされないが、読み取り専用メモリ(ROM:Read Only Memory)、ランダムアクセスメモリ(RAM)、コンパクトディスク(CD:compact disc)、デジタル多目的ディスク(DVD:digital versatile disc)などを含む、リムーバブルおよび非リムーバブルストレージデバイスを含んでもよい。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでもよい。コンピュータ実行可能命令、関連したデータ構造、およびプログラムモジュールは、本願明細書に開示された方法のステップを実行するプログラムコードの例を表す。そのような実行可能命令の特定のシーケンス、または関連したデータ構造は、当該のステップまたはプロセスにおいて記載された機能を実装する対応する動作の例を表す。
本発明の実施形態は、ソフトウェア、ハードウェア、アプリケーションロジック、またはソフトウェア、ハードウェア、およびアプリケーションロジックの組み合わせにおいて実装されてもよい。ソフトウェア、アプリケーションロジック、および/またはハードウェアは、例えば、チップセット、携帯デバイス、デスクトップ、ラップトップ、またはサーバ上にあってもよい。様々な実施形態のソフトウェアおよびウェブ実装は、種々のデータベース検索ステップまたはプロセス、相関ステップまたはプロセス、比較ステップまたはプロセス、および決定ステップまたはプロセスを達成するために、ルールベースのロジックおよび他のロジックを備える標準のプログラミング技術を用いて達成されてもよい。さらに、様々な実施形態が、ネットワーク構成要素またはモジュール内に完全または部分的に実装されてもよい。なお、本願明細書および以下の特許請求の範囲で使用される"コンポーネント"および"モジュール"という語は、1行以上のソフトウェアコード、および/またはハードウェア実装、および/または手動入力を受信する機器を使用した実装を包含するものとする。
本発明の実施形態についての以上の記述は、例示および説明のために提示されたものである。こうした記述が網羅的であることも、または本発明を開示された厳密な形式に限定することも意図されてはおらず、上記の教示を踏まえた変更および変形が可能であり、または本発明の実践により獲得され得るものである。こうした実施形態は、当業者が意図される特定の用途に適した様々な変更を様々な実施形態に加えて本発明を利用できるよう、本発明の原理およびその実際の応用を説明するために選ばれて記載されている。

Claims (17)

  1. リアルタイムマルチメディアデータを、複数のトラックおよび/またはトラックサブセットに格納することと;
    1つ以上のマルチトラックグループを特定すること、ただし、各マルチトラックグループは、前記複数のトラックおよび/またはトラックサブセットのうちの1つ以上の間の関係性に少なくとも部分的に基づいて特定される、前記特定することと;
    を含む方法。
  2. 2つ以上のマルチトラックグループ間の少なくとも1つの関係を特定することをさらに含む、請求項1に記載の方法。
  3. 1つ以上のマルチトラックグループを特定することは、
    少なくとも1つのトラックサブセットに基づきマルチトラックグループを特定することと;
    シーンの別々のビューを表現するマルチメディアデータに対応する複数のトラックおよび/またはトラックサブセットをグループ化することと;
    トラックおよび/またはトラックサブセット間の関係を示すために、マルチトラックグループボックスを使用することと;
    のうちの少なくとも1つを含む、請求項1または2に記載の方法。
  4. マルチトラックグループのセットを少なくとも1つ形成すること、ただし、マルチトラックグループの前記セットは、前記マルチトラックグループの特性の1つ以上に関連する、前記形成することをさらに含む、請求項1から3のいずれかに記載の方法。
  5. マルチトラックグループのセットを少なくとも1つ形成することは、マルチビューメディアレンダリング、符号化、またはキャプチャリングの観点から類似する特性に少なくとも部分的に基づく、請求項4に記載の方法。
  6. マルチトラックグループのセットを少なくとも1つ形成することは、マルチトラックグループ間の関係を示すために、マルチトラックグループ関係ボックスを使用することを含む、請求項4または5に記載の方法。
  7. マルチトラックグループ間の関係を示すために、1つ以上の基準が使用される、請求項6に記載の方法。
  8. 1つの基準は、前記マルチトラックグループのうちの1つのみが一度に処理されるということを示す、請求項7に記載の方法。
  9. コンピュータ可読媒体上に具現化されたコンピュータプログラムであって、プロセッサにより実行されると請求項1から8のいずれかに記載のプロセスの実行を生じさせるコンピュータ実行可能命令を含む、前記コンピュータプログラム。
  10. リアルタイムマルチメディアデータを格納すると共にコンピュータプログラムコードを有するメモリと、プロセッサとを備える装置であって、前記メモリおよび前記コンピュータプログラムコードは、前記プロセッサと協働して、前記装置に少なくとも以下のこと:
    リアルタイムマルチメディアデータを、複数のトラックおよび/またはトラックサブセットに格納することと;
    1つ以上のマルチトラックグループを特定すること、ただし、各マルチトラックグループは、前記複数のトラックおよび/またはトラックサブセットのうちの1つ以上の間の関係性に少なくとも部分的に基づいて特定される、前記特定することと;
    を実行させるよう構成される、装置。
  11. 前記メモリおよび前記コンピュータプログラムコードは、前記プロセッサと協働して、前記装置にさらに、
    2つ以上のマルチトラックグループ間の少なくとも1つの関係を特定することを行わせるよう構成される、請求項10に記載の装置。
  12. 前記メモリおよび前記コンピュータプログラムコードは、前記プロセッサと協働して、前記装置にさらに、1つ以上のマルチトラックグループを特定する中で、少なくとも以下のこと:
    少なくとも1つのトラックサブセットに基づきマルチトラックグループを特定すること;
    シーンの別々のビューを表現するマルチメディアデータに対応する複数のトラックおよび/またはトラックサブセットをグループ化すること;
    トラックおよび/またはトラックサブセット間の関係を示すために、マルチトラックグループボックスを使用すること;
    を行わせるよう構成される、請求項10または11に記載の装置。
  13. 前記メモリおよび前記コンピュータプログラムコードは、前記プロセッサと協働して、前記装置にさらに、
    マルチトラックグループのセットを少なくとも1つ形成すること、ただし、マルチトラックグループの前記セットは、前記マルチトラックグループの特性1つ以上に関連する、前記形成すること;
    を行わせるよう構成される、請求項10から12のいずれかに記載の装置。
  14. マルチトラックグループのセットを少なくとも1つ形成することは、マルチビューメディアレンダリング、符号化、またはキャプチャリングの観点から類似する特性に少なくとも部分的に基づく、請求項13に記載の装置。
  15. マルチトラックグループのセットを少なくとも1つ形成することは、マルチトラックグループ間の関係を示すために、マルチトラックグループ関係ボックスを使用することを含む、請求項13または14に記載の装置。
  16. マルチトラックグループ間の関係を示すために、1つ以上の基準が使用される、請求項15に記載の装置。
  17. 1つの基準は、前記マルチトラックグループのうちの1つのみが一度に処理されるということを示す、請求項16に記載の装置。
JP2011518022A 2008-07-16 2009-07-16 トラックおよびトラックサブセットグループ化の方法および装置 Expired - Fee Related JP5462259B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8132808P 2008-07-16 2008-07-16
US61/081,328 2008-07-16
PCT/IB2009/006263 WO2010007513A1 (en) 2008-07-16 2009-07-16 Method and apparatus for track and track subset grouping

Publications (2)

Publication Number Publication Date
JP2011528868A true JP2011528868A (ja) 2011-11-24
JP5462259B2 JP5462259B2 (ja) 2014-04-02

Family

ID=41550050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011518022A Expired - Fee Related JP5462259B2 (ja) 2008-07-16 2009-07-16 トラックおよびトラックサブセットグループ化の方法および装置

Country Status (10)

Country Link
US (1) US20100153395A1 (ja)
EP (1) EP2314072B1 (ja)
JP (1) JP5462259B2 (ja)
KR (1) KR101242472B1 (ja)
CN (1) CN102132562B (ja)
CA (1) CA2730543C (ja)
RU (1) RU2492585C2 (ja)
TW (1) TWI473016B (ja)
WO (1) WO2010007513A1 (ja)
ZA (1) ZA201101158B (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012033243A (ja) * 2010-08-02 2012-02-16 Sony Corp データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法
WO2013162304A1 (ko) * 2012-04-25 2013-10-31 삼성전자 주식회사 비디오 데이터를 재생하는 방법 및 장치
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
JP2016506693A (ja) * 2013-01-04 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化プラス深度のためのトラックにおけるテクスチャビューと深度ビューの存在の指示
JP2016509418A (ja) * 2013-01-18 2016-03-24 キヤノン株式会社 分割された時分割メディアデータをカプセル化するための方法、デバイス、およびコンピュータプログラム
JP2016540416A (ja) * 2013-10-23 2016-12-22 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレイヤビデオファイルフォーマットの設計
JP2016541140A (ja) * 2013-11-13 2016-12-28 エルジー エレクトロニクス インコーポレイティド Hdr放送サービスの提供のための放送信号送受信方法及び装置
JPWO2016047475A1 (ja) * 2014-09-26 2017-07-06 ソニー株式会社 情報処理装置および情報処理方法
JP2018510546A (ja) * 2015-02-11 2018-04-12 クアルコム,インコーポレイテッド ファイルフォーマットにおけるサンプルグルーピングシグナリング
JP2018513574A (ja) * 2015-02-10 2018-05-24 ノキア テクノロジーズ オサケユイチア 画像シーケンストラックを処理する方法、装置、及びコンピュータプログラムプロダクト
JP2018093514A (ja) * 2012-04-04 2018-06-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコード化における低遅延ビデオバッファリング
JP2018110413A (ja) * 2012-04-23 2018-07-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化及び3dコード化におけるビュー依存性
JP2019047514A (ja) * 2012-11-29 2019-03-22 サムスン エレクトロニクス カンパニー リミテッド マルチメディアシステムにおけるメディアパケットを送信する送信装置
JP2021061628A (ja) * 2014-06-30 2021-04-15 ソニー株式会社 情報処理装置および情報処理方法
JP2022009845A (ja) * 2015-06-16 2022-01-14 キヤノン株式会社 画像データカプセル化
JP2022133439A (ja) * 2017-06-27 2022-09-13 キヤノン株式会社 メディアコンテンツを送信するための方法、装置及びコンピュータプログラム
JP2022177265A (ja) * 2018-06-27 2022-11-30 キヤノン株式会社 メディアコンテンツを送信する方法、装置及びコンピュータプログラム

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100190478A1 (en) * 2009-01-23 2010-07-29 Qualcomm Incorporated System and method for push-to-share file distribution with previews
US9210202B2 (en) 2007-06-20 2015-12-08 Qualcomm Incorporated System and method for sharing media in a group communication among wireless communication devices
US9674675B2 (en) 2007-06-20 2017-06-06 Qualcomm Incorporated Synchronizing floor control and media sharing in a half-duplex PTT system
WO2010060442A1 (en) * 2008-11-26 2010-06-03 Telefonaktiebolaget Lm Ericsson (Publ) Technique for handling media content to be accessible via multiple media tracks
EP2417772B1 (en) * 2009-04-09 2018-05-09 Telefonaktiebolaget LM Ericsson (publ) Media container file management
US8719309B2 (en) * 2009-04-14 2014-05-06 Apple Inc. Method and apparatus for media data transmission
US8949289B2 (en) * 2009-05-05 2015-02-03 NoteVault, Inc. System and method for multilingual transcription service with automated notification services
US9680892B2 (en) * 2009-06-26 2017-06-13 Adobe Systems Incorporated Providing integration of multi-bit-rate media streams
CN102714715B (zh) * 2009-09-22 2016-01-20 高通股份有限公司 用于文件格式轨迹选择的媒体提取器轨迹
US8340578B2 (en) 2009-10-05 2012-12-25 Apple Inc. Methods and apparatus for enhanced coexistence algorithms in wireless systems
US8693569B2 (en) * 2009-10-19 2014-04-08 Apple Inc. Methods and apparatus for dynamic wireless device coexistence
KR101594048B1 (ko) * 2009-11-09 2016-02-15 삼성전자주식회사 카메라들의 협력을 이용하여 3차원 이미지를 생성하는 방법 및 상기 방법을 위한 장치
US8892145B2 (en) * 2010-02-18 2014-11-18 Qualcomm Incorporated System and method for selective media object removal in group communications among wireless communication devices
US9185153B2 (en) 2010-02-19 2015-11-10 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for representation switching in HTTP streaming
US9460232B2 (en) * 2010-04-07 2016-10-04 Oracle International Corporation Searching document object model elements by attribute order priority
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
JP5625512B2 (ja) * 2010-06-09 2014-11-19 ソニー株式会社 符号化装置、符号化方法、プログラム、および記録媒体
US20130097334A1 (en) * 2010-06-14 2013-04-18 Thomson Licensing Method and apparatus for encapsulating coded multi-component video
US8819557B2 (en) 2010-07-15 2014-08-26 Apple Inc. Media-editing application with a free-form space for organizing or compositing media clips
US10324605B2 (en) 2011-02-16 2019-06-18 Apple Inc. Media-editing application with novel editing tools
US8875025B2 (en) 2010-07-15 2014-10-28 Apple Inc. Media-editing application with media clips grouping capabilities
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
CN101951504B (zh) * 2010-09-07 2012-07-25 中国科学院深圳先进技术研究院 基于重叠边界的多媒体切片转码方法和系统
US9116988B2 (en) 2010-10-20 2015-08-25 Apple Inc. Temporal metadata track
US9009118B2 (en) * 2010-10-20 2015-04-14 Apple Inc. Temporal metadata track
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US8886015B2 (en) 2011-01-28 2014-11-11 Apple Inc. Efficient media import
US8599709B2 (en) 2011-02-10 2013-12-03 Apple Inc. Methods and apparatus for wireless coexistence based on transceiver chain emphasis
US8966367B2 (en) 2011-02-16 2015-02-24 Apple Inc. Anchor override for a media-editing application with an anchored timeline
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
US9997196B2 (en) 2011-02-16 2018-06-12 Apple Inc. Retiming media presentations
MX2013014857A (es) * 2011-06-30 2014-03-26 Ericsson Telefon Ab L M Señalizacion de imagenes de referencia.
KR101885852B1 (ko) 2011-09-29 2018-08-08 삼성전자주식회사 컨텐트 전송 및 수신 방법 및 장치
US8995929B2 (en) 2011-12-06 2015-03-31 Apple Inc. Methods and apparatus for wireless optimization based on platform configuration and use cases
TWI556629B (zh) * 2012-01-03 2016-11-01 杜比實驗室特許公司 規定視覺動態範圍編碼操作及參數
US9219929B2 (en) * 2012-02-27 2015-12-22 Fritz Barnes Enhanced startup and channel change for fragmented media stream delivery
US9165603B2 (en) * 2012-03-29 2015-10-20 Adobe Systems Incorporated Method and apparatus for grouping video tracks in a video editing timeline
US9161004B2 (en) 2012-04-25 2015-10-13 Qualcomm Incorporated Identifying parameter sets in video files
US8995553B2 (en) 2012-06-08 2015-03-31 Apple Inc. Methods and apparatus for mitigating interference in aggressive form factor designs
US9602827B2 (en) * 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
US9241158B2 (en) * 2012-09-24 2016-01-19 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
US9479782B2 (en) * 2012-09-28 2016-10-25 Qualcomm Incorporated Supplemental enhancement information message coding
US20140092953A1 (en) 2012-10-02 2014-04-03 Sharp Laboratories Of America, Inc. Method for signaling a step-wise temporal sub-layer access sample
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages in video coding
US9014544B2 (en) 2012-12-19 2015-04-21 Apple Inc. User interface for retiming in a media authoring tool
US9426242B2 (en) * 2013-01-29 2016-08-23 Apple Inc. Determining an invitational content item type based on predicted user attention
US20140307803A1 (en) 2013-04-08 2014-10-16 Qualcomm Incorporated Non-entropy encoded layer dependency information
TWI535282B (zh) * 2013-07-10 2016-05-21 宏達國際電子股份有限公司 用於產生多視點視訊的方法和電子裝置
US10186299B2 (en) 2013-07-10 2019-01-22 Htc Corporation Method and electronic device for generating multiple point of view video
GB2516825B (en) * 2013-07-23 2015-11-25 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
GB2542282B (en) * 2013-10-22 2018-08-01 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data in a server
US20150187390A1 (en) * 2013-12-30 2015-07-02 Lyve Minds, Inc. Video metadata
KR102141520B1 (ko) * 2014-02-21 2020-08-05 삼성전자주식회사 무안경 다시점 영상 디스플레이 장치
JPWO2015182491A1 (ja) * 2014-05-30 2017-04-20 ソニー株式会社 情報処理装置および情報処理方法
US10733146B2 (en) 2014-09-30 2020-08-04 Apple Inc. Inline keyed metadata
GB201502205D0 (en) * 2015-02-10 2015-03-25 Canon Kabushiki Kaisha And Telecom Paris Tech Image data encapsulation
US9747108B2 (en) * 2015-03-27 2017-08-29 Intel Corporation User-level fork and join processors, methods, systems, and instructions
US20160373771A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Design of tracks and operation point signaling in layered hevc file format
US10034010B2 (en) * 2015-10-14 2018-07-24 Qualcomm Incorporated Alignment of operation point sample group in multi-layer bitstreams file format
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
US10291923B2 (en) * 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
US10937460B2 (en) 2016-06-09 2021-03-02 Apple Inc. Media files and protocols supporting runtime dependent tracks
US11197040B2 (en) * 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
US11062738B2 (en) * 2017-03-23 2021-07-13 Qualcomm Incorporated Signalling of video content including sub-picture bitstreams for video coding
US11049323B2 (en) * 2017-03-24 2021-06-29 Mediatek Inc. Method and apparatus for deriving VR projection, packing, ROI and viewport related tracks in ISOBMFF and supporting viewport roll signaling
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
CN107392220B (zh) 2017-05-31 2020-05-05 创新先进技术有限公司 数据流的聚类方法和装置
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
US10939086B2 (en) 2018-01-17 2021-03-02 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
RU2683499C1 (ru) * 2018-03-15 2019-03-28 Антон Владимирович Роженков Система автоматического создания сценарного видеоролика с присутствием в кадре заданного объекта или группы объектов
WO2019187430A1 (ja) * 2018-03-29 2019-10-03 ソニー株式会社 情報処理装置、方法、及びプログラム
US10944977B2 (en) 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
GB2582024B (en) * 2019-03-08 2022-06-08 Canon Kk Method and apparatus for encapsulating groups of images in a file
WO2019192870A1 (en) 2018-04-05 2019-10-10 Canon Kabushiki Kaisha Method and apparatus for encapsulating images or sequences of images with proprietary information in a file
US11146802B2 (en) * 2018-04-12 2021-10-12 Mediatek Singapore Pte. Ltd. Methods and apparatus for providing two-dimensional spatial relationships
US10869016B2 (en) 2018-04-12 2020-12-15 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding virtual reality content
CN110876051B (zh) * 2018-08-29 2023-04-11 中兴通讯股份有限公司 视频数据的处理,传输方法及装置,视频数据的处理系统
CN113170238B (zh) * 2018-09-12 2023-08-01 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序
US11183220B2 (en) 2018-10-03 2021-11-23 Mediatek Singapore Pte. Ltd. Methods and apparatus for temporal track derivations
CN109815210B (zh) * 2018-12-29 2022-04-29 河北省科学院应用数学研究所 轨道电压异常数据监测方法、系统及终端设备
US11205456B2 (en) * 2019-01-09 2021-12-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using edit operations to perform temporal track derivations
US11581022B2 (en) * 2019-05-29 2023-02-14 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
WO2021047820A1 (en) * 2019-09-13 2021-03-18 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
GB2587364B (en) * 2019-09-24 2023-11-15 Canon Kk Method, device, and computer program for encapsulating media data into a media file
US10964089B1 (en) 2019-10-07 2021-03-30 Sony Corporation Method and apparatus for coding view-dependent texture attributes of points in a 3D point cloud
US11589032B2 (en) * 2020-01-07 2023-02-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using track derivations to generate new tracks for network based media processing applications
WO2022122856A1 (en) * 2020-12-09 2022-06-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. File generator, file parser, methods and video bitstream with improved access unit delimiter, end of sequence, end of bitstream and further non-video coding layer network access layer units
EP4264948A2 (en) * 2020-12-21 2023-10-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. File parser, file generator, encoder, decoder, client, server, and methods using parameter sets for coded video sequences
CN112804256B (zh) * 2021-02-09 2022-05-24 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
WO2024076494A1 (en) * 2022-10-03 2024-04-11 Bytedance Inc. Enhanced signalling of preselection in a media file

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1186513A (ja) * 1995-08-21 1999-03-30 Matsushita Electric Ind Co Ltd 光ディスク
JP2003179867A (ja) * 2001-12-10 2003-06-27 Sony Corp データ処理装置、データ処理方法、および情報記憶媒体、並びにコンピュータ・プログラム
JP2006230001A (ja) * 2006-03-20 2006-08-31 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
WO2007081149A1 (en) * 2006-01-09 2007-07-19 Electronics And Telecommunications Research Institute Svc file data sharing method and svc file thereof
US20080052306A1 (en) * 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993021636A1 (en) * 1992-04-10 1993-10-28 Avid Technology, Inc. A method and apparatus for representing and editing multimedia compositions
DE69319353T3 (de) * 1993-10-29 2001-06-13 Kabushiki Kaisha Toshiba, Kawasaki Aufzeichnungsmedium, wiedergabeverfahren und wiedergabegerät für mehrfachszenen
US5632007A (en) * 1994-09-23 1997-05-20 Actv, Inc. Interactive system and method for offering expert based interactive programs
JP3403636B2 (ja) * 1998-04-06 2003-05-06 パイオニア株式会社 情報記録媒体及びその再生装置
BR0006882B1 (pt) * 1999-05-28 2014-03-18 Panasonic Corp Cartão de memória semicondutora, aparelho de execução, aparelho de gravação, método de execução, método de gravação e meio de gravação que pode ser lido por computador
SK282249B6 (sk) * 1999-08-17 2001-12-03 Juraj Kelly�R Spôsob záznamu, reprodukcie alebo projekcie digitálnych alebo analógových, vzorkovaných alebo spojitých audio- a/alebo videozáznamov
FI20011871A (fi) * 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US20040167925A1 (en) * 2003-02-21 2004-08-26 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
AU2003202528A1 (en) * 2002-04-01 2003-10-23 Sony Corporation Track management method and apparatus for managing tracks on a storage medium
JP2005049834A (ja) * 2003-07-11 2005-02-24 Matsushita Electric Ind Co Ltd メディアデータ表示装置、メディアデータ表示方法およびメディアデータ表示プログラム
US7251376B2 (en) * 2003-08-29 2007-07-31 Canadian Space Agency Data compression engines and real-time wideband compressor for multi-dimensional data
KR101199498B1 (ko) * 2005-03-31 2012-11-09 삼성전자주식회사 카메라 파라미터를 이용한 다시점 영상의 부호화 장치 및생성 장치, 그 방법과, 이를 수행하기 위한 프로그램이기록된 기록 매체
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US7344679B2 (en) * 2005-10-14 2008-03-18 International Business Machines Corporation Method and apparatus for point of care osmolarity testing
KR100889745B1 (ko) * 2006-01-09 2009-03-24 한국전자통신연구원 날 유닛 타입 표시방법 및 그에 따른 비트스트림 전달장치및 리던던트 슬라이스 부호화 장치
CN1960328B (zh) * 2006-08-14 2010-05-12 中兴通讯股份有限公司 一种移动多媒体广播实时流的封装方法
CN101601305B (zh) * 2006-10-20 2013-01-23 诺基亚公司 用于可伸缩多媒体的自适应路径的通用指示
US20080263010A1 (en) * 2006-12-12 2008-10-23 Microsoft Corporation Techniques to selectively access meeting content
KR101393169B1 (ko) * 2007-04-18 2014-05-09 톰슨 라이센싱 코딩 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1186513A (ja) * 1995-08-21 1999-03-30 Matsushita Electric Ind Co Ltd 光ディスク
JP2003179867A (ja) * 2001-12-10 2003-06-27 Sony Corp データ処理装置、データ処理方法、および情報記憶媒体、並びにコンピュータ・プログラム
WO2007081149A1 (en) * 2006-01-09 2007-07-19 Electronics And Telecommunications Research Institute Svc file data sharing method and svc file thereof
JP2006230001A (ja) * 2006-03-20 2006-08-31 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
US20080052306A1 (en) * 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
JP2012033243A (ja) * 2010-08-02 2012-02-16 Sony Corp データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法
JP2018093514A (ja) * 2012-04-04 2018-06-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコード化における低遅延ビデオバッファリング
JP2018110413A (ja) * 2012-04-23 2018-07-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化及び3dコード化におけるビュー依存性
US10158888B2 (en) 2012-04-25 2018-12-18 Samsung Electronics Co., Ltd. Method and apparatus for reproducing video data
WO2013162304A1 (ko) * 2012-04-25 2013-10-31 삼성전자 주식회사 비디오 데이터를 재생하는 방법 및 장치
JP2019220992A (ja) * 2012-11-29 2019-12-26 サムスン エレクトロニクス カンパニー リミテッド マルチメディアシステムにおけるメディアパケットを受信する受信装置
JP2021016202A (ja) * 2012-11-29 2021-02-12 サムスン エレクトロニクス カンパニー リミテッド 放送システムにおけるメディアパケットを送信する送信装置
JP2019047514A (ja) * 2012-11-29 2019-03-22 サムスン エレクトロニクス カンパニー リミテッド マルチメディアシステムにおけるメディアパケットを送信する送信装置
US11716370B2 (en) 2012-11-29 2023-08-01 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of Motion Picture Experts Group Media Transport assets in International Organization for Standardization Base Media Files
US11290510B2 (en) 2012-11-29 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files
US11178378B2 (en) 2013-01-04 2021-11-16 Qualcomm Incorporated Signaling of spatial resolution of depth views in multiview coding file format
US10873736B2 (en) 2013-01-04 2020-12-22 Qualcomm Incorporated Indication of current view dependency on reference view in multiview coding file format
JP2016506693A (ja) * 2013-01-04 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化プラス深度のためのトラックにおけるテクスチャビューと深度ビューの存在の指示
JP2016508335A (ja) * 2013-01-04 2016-03-17 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化フォーマットでの参照ビューへの現在ビュー依存性の指示
JP2016507967A (ja) * 2013-01-04 2016-03-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化プラス深度のためのテクスチャ及び深度ビューの分離トラック記憶
US10791315B2 (en) 2013-01-04 2020-09-29 Qualcomm Incorporated Signaling of spatial resolution of depth views in multiview coding file format
JP2016509418A (ja) * 2013-01-18 2016-03-24 キヤノン株式会社 分割された時分割メディアデータをカプセル化するための方法、デバイス、およびコンピュータプログラム
JP2016540416A (ja) * 2013-10-23 2016-12-22 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレイヤビデオファイルフォーマットの設計
JP2016541140A (ja) * 2013-11-13 2016-12-28 エルジー エレクトロニクス インコーポレイティド Hdr放送サービスの提供のための放送信号送受信方法及び装置
JP2021061628A (ja) * 2014-06-30 2021-04-15 ソニー株式会社 情報処理装置および情報処理方法
JP7424420B2 (ja) 2014-06-30 2024-01-30 ソニーグループ株式会社 情報処理装置および情報処理方法
JP7103402B2 (ja) 2014-06-30 2022-07-20 ソニーグループ株式会社 情報処理装置および情報処理方法
JP2022133422A (ja) * 2014-06-30 2022-09-13 ソニーグループ株式会社 情報処理装置および情報処理方法
US10484725B2 (en) 2014-09-26 2019-11-19 Sony Corporation Information processing apparatus and information processing method for reproducing media based on edit file
JPWO2016047475A1 (ja) * 2014-09-26 2017-07-06 ソニー株式会社 情報処理装置および情報処理方法
JP2018513574A (ja) * 2015-02-10 2018-05-24 ノキア テクノロジーズ オサケユイチア 画像シーケンストラックを処理する方法、装置、及びコンピュータプログラムプロダクト
JP2018510546A (ja) * 2015-02-11 2018-04-12 クアルコム,インコーポレイテッド ファイルフォーマットにおけるサンプルグルーピングシグナリング
JP7293312B2 (ja) 2015-06-16 2023-06-19 キヤノン株式会社 画像データカプセル化
JP2022009845A (ja) * 2015-06-16 2022-01-14 キヤノン株式会社 画像データカプセル化
JP2022133439A (ja) * 2017-06-27 2022-09-13 キヤノン株式会社 メディアコンテンツを送信するための方法、装置及びコンピュータプログラム
JP7399224B2 (ja) 2017-06-27 2023-12-15 キヤノン株式会社 メディアコンテンツを送信するための方法、装置及びコンピュータプログラム
JP2022177265A (ja) * 2018-06-27 2022-11-30 キヤノン株式会社 メディアコンテンツを送信する方法、装置及びコンピュータプログラム
JP7472220B2 (ja) 2018-06-27 2024-04-22 キヤノン株式会社 方法、プログラム、及びデバイス

Also Published As

Publication number Publication date
WO2010007513A1 (en) 2010-01-21
KR20110033273A (ko) 2011-03-30
CA2730543A1 (en) 2010-01-21
RU2492585C2 (ru) 2013-09-10
EP2314072A1 (en) 2011-04-27
EP2314072B1 (en) 2014-08-27
TWI473016B (zh) 2015-02-11
KR101242472B1 (ko) 2013-03-12
EP2314072A4 (en) 2011-08-03
RU2011104986A (ru) 2012-08-27
TW201009701A (en) 2010-03-01
ZA201101158B (en) 2012-08-29
CN102132562A (zh) 2011-07-20
CA2730543C (en) 2014-04-22
CN102132562B (zh) 2014-10-22
JP5462259B2 (ja) 2014-04-02
US20100153395A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
JP5462259B2 (ja) トラックおよびトラックサブセットグループ化の方法および装置
US11375291B2 (en) Virtual reality video signaling in dynamic adaptive streaming over HTTP
CN110870321B (zh) 用于媒体内容的按区包装,内容覆盖度,以及发信帧包装
JP6345827B2 (ja) ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
KR101549760B1 (ko) 비디오 데이터를 스트리밍하기 위한 랜덤 액세스 포인트의 시그널링
CN114503599A (zh) 使用gltf2场景描述中的扩展来支持视频和音频数据
WO2010117315A1 (en) Media container file management
KR101421390B1 (ko) 트릭 모드 비디오 표현물에 대한 비디오 샘플의 시그널링
TW201909007A (zh) 使用用於檔案格式邏輯框之一通用描述符處理媒體資料
CN111034203A (zh) 处理具有动态逐区封装的全向媒体
CN110870323B (zh) 使用全向媒体格式处理媒体数据
KR102654999B1 (ko) 강화된 영역별 패킹 및 뷰포트 독립적 hevc 미디어 프로파일
CN117099375A (zh) 通过实时传输协议传输经heif格式化的图像

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130218

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140116

R150 Certificate of patent or registration of utility model

Ref document number: 5462259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees