明 細 書 多重化装置および逆多重化装置 技術分野
本発明は、 動画像データや音声データ等のメディァデータを多重化す る多重化装置、 および動画像データや音声データ等のメディアデータが 多重化されたビッ ト列を読み込んで逆多重化する逆多重化装置に関する c 背景技術
近年、 通信ネッ トワークの大容量化および伝送技術の進歩により、 ィ ンターネッ ト上で、 動画、 音声、 テキスト、 あるいは、 静止画等のマル チメディアコンテンッを含む動画像ファイルをパーソナルコンピュータ に配信する動画配信サービスの普及が著しい。 また、 携害端末等のいわ ゆる第 3世代の移動体通信システムの規格の標準化を図ることを目的と する国際標準化団体 3GPP (Th i rd Generat i on Partnersh i p Proj ect)で、 無線による動画配信に関する規格と して TS26. 234 (Transparent end-to-end packet sw i tched stream i ng serv i ce)が定められる等の動き も見られ、 動画配信サービスは、 携帯電話機や P D A等の移動体通信端 末への提供の拡大も見込まれている。
動画配信サービスにおいて、動画像ファイルを配信する際には、まず、 多重化装置において、 動画、 静止画、 音声およびテキスト等のメディア データを取り込んで、 メディアデータの再生に必要なヘッダ情報とメデ ィァデータの実体データとを多重化して動画像ファイルデータを作成す ることが必要となるが、 この動画像ファイルデータの多重化ファイルフ ォ一マッ トとして、 M P 4ファイルフォーマッ 卜が注目されている。
この M P 4 ファイルフォーマツ トは、 国際標準化団体である
I SO/ 1 EG (I international Standardization Organization/ Internationa I Engineering Consortium) JTC1/SC29/WG 11 において標準化が進められ ている多重化ファイルフォーマツ卜であり、 上記 3GPPの TS26.234でも 採用されていることから、 広く普及するものと予想されている。
ここで、 M P 4ファイルのデータ構造について説明する。
M P 4ファイルは、 ボックスと呼ばれるォブジェク ト単位でへッダ情 報やメディアデータの実体データが格納されており、 複数のボックスを 階層的に配列することによって構成される。
図 1は、 従来の M P 4ファイルを構成するボックスの構造を説明する ための図である。
ボックス 90 1は、 ボックス 90 1のヘッダ情報が格納されるボック スヘッダ部 902と、 ボックス 90 1に含まれるデータ (例えば、 その ボックスの下の階層のボックスや情報を記述するためのフィールド等) が格納されるボックスデータ格納部 903とから構成される。
このボックスへッダ部 902は、 ボックスサイズ 904、 ボックスタ ィプ 905、 バージョン 906、 フラグ 907のフィールドを有してい る。
ボックスサイズ 904は、 このフィールドに割り当てられたバイトサ ィズも含めてボックス 90 1全体のサイズ情報が記述されるフィールド である。
ボックスタイプ 905は、 ボックス 90 1の種別を識別するための識 別子が記述されるフィールドである。 この識別子は、 通常 4つのアルフ ァベッ ト文字列によって表される。 なお、 以下、 本明細書中において、 この識別子によって各ボックスを示す場合がある。
バージョン 906は、 ボックス 90 1のバ一ジョンを示すバージョン 番号が記述されるフィ一ルドであり、 フラグ 90フは、 ボックス 90 1
毎に設定されるフラグ情報が記述されるフィールドである。 このパージ ヨン 9 0 6とフラグ 9 0 7は、 全てのボックス 9 0 1に必須のフィール ドではないので、 これらのフィーゾレ ドを有しないボックス 9 0 1 も存在 しうる。
このような構造のボックス 9 0 1 が複数連なって構成される M P 4フ アイルは、 ファイルの構成に不可欠な基本部と、 必要に応じて使用され る拡張部とに大別することができる。 まず、 M P 4ファイルの基本部に ついて説明する。
図 2は、 従来の M P 4ファイルの基本部を説明するための図である。
M P 4ファイル 9 1 0の基本部 9 1 1は、 ファイルヘッダ部 9 1 2と ファイルデータ部 9 1 3とから構成される。
ファイルヘッダ部 9 1 2は、 ファイル全体のヘッダ情報、 例えば、 動 画像 (ビデオ) データの圧縮符号化方式等の情報が格納される部分であ リ、 ファイルタイプボックス 9 1 4 とムービーボックス 9 1 5とから構 成される。
ファイルタイプボックス 9 1 4 ίよ、 " f t y p "の識別子で識別される ボックスであり、 M P 4ファイルを識別するための情報が格納される。
M P 4ファイルにどのようなメディァデータを格納するかについて、 ま た、 どのような圧縮符号化方式を用いた動画像 (ビデオ) データや音声 (オーディオ) データ等を格納するかについては、 標準化団体やサービ ス事業者が独自に規定することができるため、 M P 4ファイルがどの規 定に従って作成されたものである 7¾、を識別するための情報を、 このファ ィルタイプボックス 9 1 4に格納する。
ムービーボックス 9 1 5は、 " m o o V "の識別子で識別されるボック スであり、 ファイルデータ部 9 1 3に格納される実体データのヘッダ情 報、 例えば、 表示時間長等の情報力 格納される。
ファイルデータ部 9 1 3は、 "m d a t "の識別子で識別される厶ービ 一データボックス 9 1 6によって構成される。 なお、 このファイルデー タ咅 P 9 1 3の代わりに、 この M P 4ファイル 9 1 0とは異なる外部のフ アイルを参照することもできる。 このように、 外部のファイルを参照す る場合には、 MP 4ファイル 9 1 0の基本部 9 1 1は、 ファイルヘッダ 咅 [5 9 1 2のみから構成されることになる。 本明細書では、 この外部ファ ィメレの参照をする場合ではなく、 MP 4ファイル 9 1 0内に実体データ を含む場合について説明する。
厶一ビーデータボックス 9 1 6は、 サンプルと称される単位でメディ ァデータの実体データを格納するボックスである。 このサンプルとは、 M P 4ファイルにおける最小のアクセス単位であり、 MPEG (Mov i ng Pi cture Experts Group) -4 Visual の圧縮符号化方式によって符号化し たビデオデータの V0P(Video Object Plane)やオーディオデータのフレ ームに相当するものである。
ここで、 従来における M P 4ファイルの基本部の構造について階層を 掘リ下げて、 ムービーボックス 9 1 5の構造を説明することとする。
図 3は、 従来の M P 4ファイルにおけるムービーボックスの構造を説 明するための図である。
図 3 ( a ) に示すように、 ムービーボックス 9 1 5は、 先に説明した ポックスヘッダ部 902とボックスデータ格納部 903とから構成され ている。 そして、 ボックスヘッダ部 902を構成するボックスサイズ 9 O 4のフィールドには、 ムービーボックス 9 1 5のサイズ情報が記述さ れ (図 3 ( a ) では、 " x x x x " とする。)、 ボックスタイプ 90 5のフ ィ一ルドには、 ムービーボックス 9 1 5の識別子 "m o o v" が記述さ れる。
また、 ムービーボックス 9 1 5のボックスデータ格納部 903には、
M P 4ファイル 9 1 0の基本部 9 1 1のヘッダ情報が格納されるムービ —へッダボックス 9 1 7や、 ビデオトラックやオーディオ卜ラック等、 トラック毎のヘッダ情報が格納される トラックボックス 9 1 8等が格納 されている。 なお、 ここにいう トラックとは、 M P 4ファイル 9 1 0に 含まれる各メディアのサンプルデータ全体を意味し、 動画像や音声ゃテ キス 卜等のトラックは、 それぞれビデオ トラック、 オーディオトラック やテキス ト トラック等と称される。 また、 M P 4ファイル 9 1 0内に同 一メディアのデータが複数存在する場合は、 同一メディアに対して複数 のトラックが存在することになる。 具体的に説明すると、 例えば、 MP 4ファイル 9 1 0内に 2種類の動画像データが含まれている場合、 2つ のビデオトラックが存在することになる。
ムービーヘッダボックス 9 1 7も、 先に説明したボックスヘッダ部 9 02とボックスデータ格納部 903とから構成されており、 ボックスへ ッダ部 902を構成するボックスサイズ 904のフィールドには、 ムー ビ一ヘッダボックス 9 1 7のサイズ情報が記述され (図 3 (a ) では、 " X X X " とする。)、 ボックスタイプ 905のフィールドには、 厶ービ —ヘッダボックス 9 1 7の識別子 "m V h d " が記述される。 そして、 ムービーヘッダボックス 9 1 7のボックスデータ格納部 903には、 M P 4ファイル 9 1 0の基本部 9 1 1 に含まれるコンテンッの再生に要す る時間長に関する情報等が格納される。
また、 トラックボックス 9 1 8のボックスへッダ部 902を構成する ボックスサイズ 904のフィールドには、 トラックボックス 9 1 8のサ ィズ情報が記述され (図 3 ( a ) では、 " X X " とする。)、 ボックスタイ プ 905のフィールドには、 トラックボックス 9 1 8の識別子 " t r a k " が記述される。 そして、 トラックボックス 9 1 8のボックスデータ 格納部 903には、 トラックヘッダボックス 9 1 9が格納されている。
トラックへッダボックス 9 1 9は、 トラック毎のへッダ情報を記迹す るためのフィールドを有するボックスであり、 " t k h d "の識別子 ί二よ つて識別される。 このトラックへッダポックス 9 1 9のボックスデータ 格納部 9 0 3には、 トラックの種類を識別するためのトラック I Dを記 述するフィールドや、 トラックの再生に要する時間長に関する情報等が 記述される。
このように、 ムービーボックス 9 1 5には、 ボックス 9 0 1が階層的 に配列されており、 " t r a k "で識別されるトラックボックス 9 1 8に ビデオやオーディオ等のトラック毎のヘッダ情報が格納されている。 そ して、このトラックボックス 9 1 8に含まれる下位のボックスにおしヽて、 トラックのサンプル単位のへッダ情報が格納されている。
図 3 ( a )に示すムービーボックス 9 1 5の構造をツリー状に示すと、 図 ( b ) のような図が得られる。
すなわち、 ムービーボックス 9 1 5の下位のボックス群としてムービ 一ヘッダボックス 9 1 7、 トラックボックス 9 1 8が配列され、 トラッ クボックス 9 1 8の下位のボックス群としてトラックヘッダボックス 9 1 9が配列されており、 ボックス 9 0 1が階層的に配置されていること がわかる。
M P 4ファイルフォーマツ 卜の標準化当初、 M P 4ファイル 9 1 Oは、 上記基本部 9 1 1のみから構成されていた。 しかし、 メディアデータの 情報量が多くなると、 サイズが大きくなつてしまうので、 ストリーミン グ再生への適用が難しい等の種々の問題があリ、 へッダポックスとデー タボックスとの組が複数連なる拡張部の使用を加える改良がなされてい る。
図 4は、 従来における拡張部を含む M P 4ファイルの構造を示す図で fo -S) o
図 4に示すように、 上記改良が加えられた M P 4ファイル 9 2 0は、 基本部 9 1 1と拡張部 9 2 1 とから構成される。 この拡張部 9 2 1を含 む M P 4フアイ レ 9 2 0では、 全てのメディアデータを拡張部 9 2 1に 格納することができるので、 M P 4ファイル基本部 9 1 1のムービーデ 一夕ボックス 9 1 6を省略することとしてもよい。
拡張部 9 2 1 は、 所定の単位で区切られたバケツ 卜 9 2 2が複数連な つて構成される。
このバケツト 9 2 2は、 ムービーフラグメントボックス 9 2 3とムー ビーデータボックス 9 1 6とが一対となって構成され、 ムービーフラグ メントとも称される。
ムービーデータボックス 9 1 6は、 上記区切られた所定の単位でトラ ック毎のサンプ レを格納し、 ムービーフラグメントボックス 9 2 3は、 このムービーデータボックス 9 1 6に対応してヘッダ情報を格納するポ ックスであり、 " m o o f " という識別子によって識別される。 このムー ビーフラグメン卜ボックス 9 2 3の構造について、 さらに詳しく説明す る。
図 5は、 従来におけるムービーフラグメントボックスの構造を説明す るための図である。
図 5に示すように、 ムービーフラグメントボックス 9 2 3のボックス データ格納部 9 O 3には、 ムービーフラグメントヘッダボックス 9 2 4 と複数のトラックフラグメントボックス 9 2 5が格納されている。 ムービーフラグメントヘッダボックス 9 2 4は、 " m f h d "の識別子 で識別されるボックスであり、 ムービーフラグメントボックス 9 2 3全 体のへッダ情報力格納される。
トラックフラグメントボックス 9 2 5は、 " t r a f "の識別子で識別 されるボックスであり、 トラック毎のヘッダ情報が格納される。
なお、 通常 1 つのトラックのヘッダ情報に対して、 1 つのトラックフ ラグメン卜ボックス 9 2 5が用意されるが、 1 つのトラックのヘッダ情 報に対して、 複数のトラックフラグメントボックス 9 2 5が用意される としてもよい。 このように、 1つのトラックのヘッダ情報を複数のトラ ックフラグメントボックス 9 2 5に分割して格納する際には、 トラック フラグメントボックス 9 2 5の先頭サンプルの復号時間が昇順となるよ うに配列される。
そして、 このトラックフラグメントボックス 9 2 5のボックスデータ 格納部 9 0 3には、 トラックフラグメントヘッダボックス 9 2 6と 1つ 以上のトラックフラグメントランボックス 9 2 7が格納されている。
トラックフラグメントへッダボックス 9 2 6は、 " t f h d "の識別子 で識別されるボックスであり、 トラックの種類を識別するための卜ラッ ク I . Dを記述するフィールドや、 サンプルの再生時間長等のデフォルト 値に関する情報等を格納する。
卜ラックフラグメントランボックス 9 2 7は、 " t r u n "の識別子で 識別されるボックスであり、 サンプル単位のヘッダ情報を格納する。 図 6を用いて、 このトラックフラグメントランボックス 9 2 7について詳 しく説明する。
図 6は、 従来における トラックフラグメントランボックス 9 2 7の構 造を説明するための図である。
フラグ 9 0 7は、 ボックス 9 0 1毎に設定されるフラグ情報が記述さ れるフィールドであるが、 ここでは、 フラグ 9 0 7に続いてデータオフ セッ ト 9 2 9からサンプルコンポジシヨンタイムオフセッ ト 9 3 6まで の各フィールドがトラックフラグメントランボックス 9 2 7に存在する か否かを示すフラグ情報が記述される。
サンプル力ゥント 9 2 8は、 トラックフラグメン卜ランボックス 9 2
7にどれだけの数のサンプルに関するヘッダ情報が格納されるかを示す 情報が記述されるフィ一ルドである。
データオフセッ ト 9 2 9は、 トラックフラグメントランボックス 9 2 7にへッダ情報が格納されているサンプルのうちトラックフラグメント ランボックス 9 2 7の先頭に位置するサンプルの実体データが、 組とな つているムービーデータボックス 9 1 6のどこに格納されているかを示 すポインタ情報が記述されるフィールドである。
先頭サンプルフラグ 9 3 0は、 トラックフラグメントランボックス 9 2 7の先頭サンプルがランダムアクセス可能なサンプルである場合に、 後述するサンプルフラグ 9 3 5のフィールドの値を上書きすることがで きるフィールドである。 ここで、 ランダムアクセスとは、 例えば、 M P 4ファイルの再生装置において、 再生の途中でデータの再生位置を 1 0 秒後に移動させたり、 データの途中から再生を開始したりする処理動作 を意味する。 そして、 ランダムアクセス可能なサンプルとは、 ビデオサ ンプルのうち、 M P 4ファイルの再生装置において、 他のフレームのデ ータを参照することなく単独で復号化できるフレーム、 すなわち画面内 符号化フレーム (いわゆるイントラフレーム) を構成するサンプルを意 味する。 なお、 オーディオサンプルでは、 いずれのサンプルも単独で復 号化することができるので、 全てのオーディオサンプルがランダムァク セス可能なサンプルといえる。
テーブル 9 3 1は、サンプル毎のへッダ情報を示すェントリ 9 3 2が、 サンプルカウント 9 2 8において示される個数分集積されたものである < エントリ 9 3 2は、 サンプル毎のヘッダ情報を示すフィールドの集ま リであり、 いずれのフィールドが含まれるかは、 上記フラグ 9 0 7によ つて示される。 エントリ 9 3 2に含まれるフィールドには、 サンプルの 再生時間長が記述されるサンプルデュレーシヨン 9 3 3、 サンプルのサ
ィズが記述されるサンプルサイズ 9 3 4、 サンプルがランダ厶アクセス 可能であるか否かを示すフラグ情報が記述されるサンプルフラグ 9 3 5 , そして、 双方向予測を用いたサンプルを扱うために、 サンプルの復号時 間と表示時間との差分値が記述されるサンプルコンポジショ ンタイムォ フセッ ト 9 3 6がある。
なお、 これらのフィールドがエントリ 9 3 2に含まれない場合は、 各 サンプルのへッダ情報は、 トラックフラグメントへッダポックス 9 2 6 や、 ムービーフラグメントボックス 9 1 5内のム一ビーェクステンドボ ックス (識別子 " m V e X ") に、 これらのフィールドのデフオルト値が 記述されているので、 これらのデフォルト値が使用される。
また、 トラックフラグメントランボックス 9 2 7には、 復号時間の早 いサンプルから順にヘッダ情報が記述される。 従って、 M P 4ファイル を再生する装置がサンプルのヘッダ情報を検索する際には、 ファイル中 の先頭のトラックフラグメントボックス 9 2 5から順にトラックフラグ メントへッダポックス 9 2 6内のトラック I Dを参照することで、 取得 する トラックのへッダ情報を含むトラックフラグメントボックス 9 2 5 を検索し、 トラックフラグメントボックス 9 2 5内においても、 先頭の トラックフラグメントランボックス 9 2 7から順にサンプノレのヘッダ情 報を検索することになる。
なお、 この拡張部 9 2 1 を含む M P 4ファイル 9 2 0の場合であって も、 復号化時の初期化情報等、 トラック全体に必要な情報は、 ムービー ボックス 9 1 5に格納される。
続いて、 このような構造を有する拡張部 9 2 1 を含む M P 4ファイル の構成例について説明する。
図 7は、 従来における拡張部を含む M P 4ファイルの拡 長部の構成例 を示す図である。
図 7では、 コンテンッの格納方法について 2通りの例を示して説明す ることとし、 コンテンツの再生時間長は、 60秒であるとする。
図 7 ( a ) に示す MP 4ファイル 940は、 基本部 94 1および拡張 部 942の両方にメディアデータを格納する構成になっている。 すなわ ち、 基本部 94 1の m d a t— 1 (符号 945) 【こ 0〜 30秒までのメ ディアデータが格納され、 拡張部 942の m d a t— 2 (符号 947) に 3 0〜45秒までのメディアデータが格納され、 m d a t _3 (符号 949) に 45〜 60秒までのメディアデータが格納されている。 そし て、 m d a t— 1 (符号 945) のへッダ情報は m o o v 944に格納 され、 m d a t— 2 (符号 947 ) のヘッダ情報は m o o f _ 1 (符号 94 6) に格納され、 m d a t— 3 (符号 949) のヘッダ情報は m o o f — 2 (符号 948) に格納されている。
これに対して、 図 7 ( b ) に示す M P 4ファイル 950は、 拡張部 9 5 2だけにメディアデータを格納する構成になっている。 すなわち、 基 本部 95 1は、 f t y p 9 53と m o o V 9 54とから構成されて m d a t を含まず、 拡張部 952の m d a t _1 (符号 956) に 0~ 30 秒までのメディアデータが格納され、 m d a t— 2 (符号 958) に 3 0〜 60秒までのメディアデータが格納されている。 そして、 m d a t —1 (符号 956) のヘッダ情報は m o o f —1 (符号 9 55) に格納 され、 m d a t— 2 (符号 9 58 ) のヘッダ情報は m o o f _2 (符号 9 5 7) に格納されている。
ここで、 上記 M P 4ファイルの拡張部がどのように作成されるかを図 8〜図 1 0を用いて説明する。
図 8は、 従来の多重化装置の構成を示すブロック図である。
多重化装置 9 60は、 メディアデータを多重化して M P 4ファイルの 拡張部データを作成する装置である。 ここでは、 ビデオデータとオーデ
ィォデータとを多重化して M P 4ファイルの拡張部データを作成するも のとする。
第 1入力部 9 6 1はビデオデータを多重化装置 9 6 0に取り込み、 第 1データ蓄積部 9 6 2に蓄積させ、 また、 第 2入力部 9 6 4はオーディ ォデータを多重化装置 9 6 0に取り込み、 第 2データ蓄積部 9 6 5に蓄 ネ貝 せる。
第 1解析部 9 6 3は、 第 1データ蓄積部 9 6 2から 1サンプルずつビ デォデータを読み出して解析し、 ビデオサンプルのヘッダ情報をバケツ 卜単位決定部 9 6 7に出力する。 また、 第 2階席部 9 6 6は、 第 2デー タ蓄積部 9 6 5から 1サンプルずつオーディオデータを読み出して解析 し、 オーディオサンプルのヘッダ情報をバケツ ト単位決定部 9 6 7に出 力する。 このビデオサンプルヘッダ情報およびオーディオサンプルへッ ダ情報には、サンプルのサイズや再生時間長を示す情報が含まれており、 ビデオサンプルヘッダ情報には、 ビデオサンプルがィントラフレームで あるか否かを示す情報も含まれている。
バケツ 卜単位決定部 9 6 7は、 バケツ 卜に含まれるサンプル数が一定 となるように、 ビデオデータおよびオーディオデータのバケツト単位を 決定し、 取得したサンプルへッダ情報に基づいて各バケツ 卜のへッダ情 報を作成する。
図 9に、 従来におけるバケツ 卜単位決定部の処理動作フローを示す。 ここで、 1つのパケッ トに格納されるサンプルの数を Nとし、 この値は 予め定められて、 多重化装置 9 6 0のメモリ等に保持されている。
まず、 第 1解析部 9 6 3が 1つのビデオサンプルを取得して (S 9 0 1 )、ビデオサンプルヘッダ情報をバケツ ト単位決定部 9 6 7に出力する と、 パケッ ト単位決定部 9 6 7は、 ビデオサンプルヘッダ情報をバケツ 卜作成テーブルに追加する (S 9 0 2 )。
次に、 パケッ ト単位決定部 9 6 7は、 パケッ トに含まれるビデオサンプ ルの数を更新し(S 9 0 3 )、バケツ 卜に含まれるビデオサンプルの数が Nになったかどうかを判定する (S 9 0 4 )。
ここで、 バケツ 卜に含まれるビデオサンプルの数が Nに満たない場合 ( S 9 0 4の N o )、 上記 S 9 0 1 〜 S 9 0 3までの処理が繰り返され、 バケツ 卜に含まれるビデオサンプルの数が Nになった場合 (S 9 0 4の Y e s )、バケツ 卜単位決定部 9 6 7は、 N個のビデオサンプルをバケツ ト化して処理動作を終了する (S 9 0 5 )。
パケッ ト単位決定部 9 6 7は、 同様に、 オーディオについても上記 S 9 0 1 〜 S 9 0 5までの処理動作によって、 オーディオサンプルのパケ ッ ト化を行なう。
そして、 全てのサンプルのバケツ ト化が完了するまで、 バケツ ト単位 決定部 9 6 7は、 このフローの処理動作を繰り返す。
図 1 0に、 従来におけるビデオサンプルのヘッダ情報を格納するパケ ッ ト作成テーブルの一例を示す。 このパケッ ト作成テーブル 9 6 8 aに は、ビデオサンプル毎に、サンプルのサイズ、サンプルの再生時間長や、 そのビデオサンプルがィントラフレームであるか否かを示す画面内符号 化フレームフラグに関する情報が記述される。 ここでは、 パケッ トに格 納される先頭のビデオサンプルは、 サイズが 3 0 0バイ ト、 再生時間長 が 3 0 m s、 画面内符号化フレームでないことが示されており、 2番目 のビデオサンプルは、画面内符号化フレームであることが示されている。 そして、 このバケツ ト作成テーブル 9 6 8 aは、 バケツ ト単位決定部 9 6 7においてこれらの情報が順次追加され、 1バケツ 卜に含まれる最後 のサンプルとなる N番目まで作成されると、 バケツ卜作成テーブル蓄積 部 9 6 8に出力される。
再び図 8を参照すると、 続いて、 バケツ ト単位決定部 9 6 7は、 パケ
ッ ト作成テーブル 9 6 8 aに N個分のサンプルのへッダ情報を記述した 後、 バケツ ト作成テーブル 9 6 8 aをバケツ ト作成テーブル蓄積部 9 6 8に出力するとともに、 バケツ 卜ヘッダ作成部 9 6 9にバケツ ト作成信 号を出力する。
バケツ トヘッダ作成部 9 6 9は、 バケツ 卜作成信号を取得すると、 パ ケッ ト作成テーブル蓄積部 9 6 8に保持されているバケツ ト作成テープ ル 9 6 8 aからバケツ トサンプノレヘッダ情報を読み出して m o o f デー タを作成する。 また、 パケットヘッダ作成部 9 6 9は、 作成した m o o f データをバケツ ト結合部 9 7 1 に出力するとともに、 バケツ 卜に含ま れるサンプルの実体データが第 1 データ蓄積部 9 6 2および第 2データ 蓄積部 9 6 5のどこに格納されているかを示すポインタ情報と、 サンプ ルのサイズ情報とを含む m d a t情報をバケツ トデータ作成部 9 7 0に 出力する。
パケッ トデータ作成部 9 7 0 [ま、 取得した m d a t情報に基づいて第 1データ蓄積部 9 6 2および第 2データ蓄積部 9 6 5からサンプルの実 体データを読み出して m d a tデータを作成し、 m d a tデータをパケ ッ ト結合部 9 7 1 に出力する。
そして、 バケツ 卜結合部 9 7 1 は、 m o o f データと m d a tデータ とを結合させて、 1バケツト分の m p 4拡張部データを出力する。 最終的には、 出力された 1パケッ ト分の m p 4拡張部データは、 M P 4ファイルを作成する装置に取り込まれ、 順次作成される m p 4拡張部 データが順番に並べられることによって、 M P 4ファイルの拡張部が作 成される。 その後、 このフアイノレ作成装置で、 M P 4ファイルの基本部 と拡張部とが結合されることによって、 M P 4ファイルが作成されるこ とになる。
しかしながら、 このような従来の多重化装置によって多重化された M
P 4ファィルの拡張部を再生する際には、 以下のような問題がある。 その 1 つとして、 まず、 従来の多重化装置では、 パケッ トに含まれる サンプルの再生開始時間を考慮することなく多重化が行なわれるので、 例えば、 ある再生開始時間のビデオサンプルと同期が図られているォー ディオサンプルが、 ビデオサンプルと異なるパケッ トに格納される場合 がある。 そのため、 M P 4ファイルの再生装置側で、 再生時のデータァ クセスの効率が悪化するという問題がある。
また、 従来の多重化装置では、 パケッ トに含まれるサンプルの数を基 準として多重化を行なうので、 ランダムアクセス可能なサンプル、 すな わちィン トラフレームに相当するビデオサンプルをバケツ ト内のどこに 格納するかは、 パケッ ト毎にまちまちとなることが多い。 そのため、 M P 4ファィルの再生装置側で、 ランダムアクセス可能なサンプルを検索 する際に、 バケツ 卜に含まれる全てのビデオサンプルを検索しなければ ならず、 サンプルの検索に要する計算量が膨大となってしまうという問 題もある。
これらの問題について、 図 1 1 を用いてさらに詳しく説明する。 図 1 1 は、 従来における多重化装置の問題点を説明するための図であ る。
図 1 1 ( a ) では、 再生時のデータアクセスの効率が悪化するという 第 1の严 題を明らかにする。
各 m d a tに含まれるサンプルのヘッダ情報は、 直前の m o o f に格 納されておリ、 m d a t _ 1に格納されている再生開始時間 2 0 sのビ デオサンプルに関するヘッダ情報は、 m o o f _ 1に先頭サンプルとし て格納されており、 m d a t __ 1 0に格納されている再生開始時間 2 0 sのオーディオサンプルに関するヘッダ情報は、 m o o f — 1 0に最終 サンプ レとして格納されている。
従って、 M P 4ファイルの再生装置が、 コンテンツの再生時間 2 0 s の部分を再生しょうとすれば、 m o o f — 1 に格納されているビデオサ ンプルのヘッダ情報を取得してからオーディオサンプルのへッダ情報を 取得するまでに m o o f _ 1 0まで検索しなければならず、 データァク セスの効率が悪くなつてしまう。
図 1 1 ( b ) では、 ランダムアクセス可能なサンプルの検索に要する 計算量が膨大となってしまうという第 2の問題を明らかにする。
m d a t _ 1の最後に格納されている i番目のランダムアクセス可能 なビデオサンプルに関するヘッダ情報は、 m o o f — 1に最終サンプル として格納されておリ、 m d a t—3の最後に格納されている i + 1番' 目のランダムアクセス可能なビデオサンプルに関するヘッダ情報は、 m o o f —3に最終サンプルとして格納されている。
従って、 M P 4ファイルの再生装置が、 ランダムアクセスを行なおう とすれば、 m o o f の最終サンプルまで検索しなければならず、 検索に 必要な計算量が膨大となってしまう。
さらに、 これら第 1および第 2の問題に加えて、 従来の多重化装置で 作成される M P 4ファイルの拡張部の構成では、 サンプルデータを取得 するためのシークの回数が多くなるため、 光ディスク再生機器等のシー ク速度が遅い機器におけるランダムアクセス再生に適さないという問題 もある。
この問題について、 再び図 1 1 ( b ) を用いて説明する。 m o o f — 1の i番目のランダムアクセス可能なビデオサンプルにランダムァクセ スしょうとする場合、 再生装置は、 まず、 i番目のランダムアクセス可 能なビデオサンプルのヘッダ情報を取得するために、 m o o f — 1の先 頭位置まで読み出しポインタを移動させ、 m o o f — 1内を順に解析す る。 このとき、 1回目のシークが必要となる。
その後、 再生装置は、 m d a t— 1のどこに i 番目のランダムァクセ ス可能なビデオサンプルの実体データが格納されているかを取得し、 実 体データの開始位置へ読み出しポインタを移動させる。 このとき、 i番 目のランダムアクセス可能なビデオサンプルの実体データが m d a t— 1の終端に格納されているため、 m o o f — 1の先頭位置から連続的に 読み出しポィンタを移動させてサンプルの実体データを取得できず、 2 回目のシークが必要となる。
すなわち、 m o o f — 1の先頭位置と実体データの開始位置に読み出 しポインタを移動させる時にそれぞれシーク動作を行なうことになるの で、 再生装置がシーク速度の遅い機器である場合は、 ランダムアクセス 再生に時間がかかってしまう。 特に、 この i番目のランダムアクセス可 能なビデオサンプルと同期が図られているオーディオサンプル等の実体 データが異なるバケツ ト等、 ビデオサンプルの実体データと離れて格納 されている場合には、 さらにシーク動作が必要となり、 ランダムァクセ ス再生を迅速に行なうことが困難となる。
そこで、 本発明は、 これらの問題点に鑑みてなされたものであり、 メ ディァデータの多重化ファイルが再生時のデータアクセスの効率に優れ, サンプルの検索に要する計算量が少なくなるようにメディアデータを多 重化することができる多重化装置を提供することを目的とする。
また、 多重化ファイルがシーク速度の遅い機器におけるランダムァク セス再生に適するようにメディアデータを多重化することができる多重 化装置を提供することを目的とする。
さらに、 このような多重化装置で多重化されたファイルを取得して、 多重化分離することができる逆多重化装置を提供することを目的とする ( 発明の開示
上記の目的を達成するために、 本発明に係る多重化装置は、 画像デー タと、 音声データおよび亍キストデータのうち少なくとも 1つとを含む メディアデータをバケツ 卜多重化して多重化データを作成する多重化装 置であって、前記メディアデータを取得するメディアデータ取得手段と、 前記メディアデータ取得手段が取得した前記メディアデータを解析して、 前記メディアデータに含まれる前記画像データ、 音声データおよびテキ ス卜データの最小のアクセス単位であるサンプルについて、 サンプルの 再生開始時間を示す再生開始時間情報を取得する解析手段と、 前記解析 手段が取得した前記再生開始時間情報に基づいて、 前記メディァデータ に含まれる前記画像データ、 音声データおよびテキストデータの各サン プルの再生開始時間を揃えて前記メディアデータをバケツ ト化する単位 を決定するバケツ 卜単位決定手段と、 前記バケツ ト単位決定手段が決定 したバケツ ト化単位で前記メディアデータのヘッダを格納するバケツ ト ヘッダ部を作成するパケッ 卜ヘッダ部作成手段と、 前記バケツ 卜単位決 定手段が決定したバケツ 卜化単位で前記メディアデータの実体データを 格納するバケツ トデータ都を作成するバケツ トデータ部作成手段と、 前 記バケツ トヘッダ部作成手段が作成したバケツ トヘッダ部と、 前記パケ ッ 卜データ部作成手段が作成したバケツ トデータ部とを結合してバケツ トを作成するバケツト化手段とを備えることを特徴とする。
これによつて、 メディアデータに含まれる画像データと、 音声データ およびテキストデータの再生開始時間が揃えられてバケツ 卜に格納され ることとなるので、 再生装置側で再生時におけるデータアクセスの効率 を向上させることができる。
また、 本発明に係る多重化装置は、 前記画像データは、 動画データで あり、 前記解析手段は、 さらに、 前記メディアデータ取得手段が取得し た前記動画データを解析して、 前記動画データが、 画面内符号化サンプ
ルであることを示すイントラフレーム情報が含まれているサンプルを 1 つ以上含む場合に、 前記イントラフレーム情報 取得し、 前記パケッ ト 単位決定手段は、 前記解析手段が前記ィントラフレーム情報を取得した 場合に、 前記ィントラフレーム情報と前記再生開始時間情報とに基づい て、 前記メディアデータをバケツ ト化する単位を決定し、 前記イントラ フレーム情報を含む前記動画データのサンプルを、 前記バケツ ト化単位 の先頭に配置するのが好ましい。
これによつて、 パケッ トに含まれる先頭のビデオサンプルは、 イント ラフレームのビデオサンプルとなるので、 再生装置側でランダムァクセ ス時におけるサンプルの検索に要する計算量を大幅に削減することがで きる。
さらに、 本発明に係る多重化装置は、 前記パケッ トデータ部作成手段 は、 前記バケツ ト化単位に含まれる前記メディアデータのサンプルにつ いて、 サンプルの再生開始時間が昇順となるようにィンタリーブして格 納する前記バケツ 卜データ部を作成するのがよリ好ましい。
これによつて、 ビデオサンプルとオーディオサンプルとが再生開始時 間が昇順となって m d a tに格納されるので、 再生装置側でのランダム アクセス時におけるシーク動作の回数を少なくすることができ、 シーク. 速度の遅い再生装置でも迅速なランダムアクセス再生を実現することが できる。
なお、 本発明は、 このような多重化装置として実現することができる だけでなく、 このような多重化装置が備える特徴的な手段をステツプと する多重化方法として実現したり、 それらのステップをコンピュータに 実行させるプログラムとして実現したりすることもできる。 そして、 そ のようなプログラムは、 C D— R O M等の記録媒体やインタ一ネッ ト等 の伝送媒体を介して配信することができるのは言うまでもない。
図面の簡単な説明
図 1は、 従来の M P 4ファイルを構成するボックスの構造を説明する ための図である。
図 2は、 従来の M P 4ファイルの基本部を説明するための図である。 図 3 ( a ) は、 従来の M P 4ファイルにおけるムービーボックスの構 造を説明するための図である。
図 3 ( b ) は、 従来の M P 4ファイルにおけるムービーボックスの構 造をッリー状に示す図である。
図 4は、 従来における拡張部を含む M P 4ファイルの構造を示す図で ある。
図 5は、 従来におけるムービーフラグメントボックスの構造を説明す るための図である。
図 6は、 従来における トラックフラグメントランボックスの構造を説 明するための図である。
図 7 ( a ) は、 従来における拡張部を含む M P 4ファイルの第 1の構 成例を示す図である。
図 7 ( b ) は、 従来における拡張部を含む M P 4ファイルの第 2の構 成例を示す図である。
図 8は、 従来の多重化装置の構成を示すプロック図である。
図 9は、 従来におけるパケット単位決定部の処理動作を示すフロー図 である。
図 1 0は、 従来におけるビデオサンプルのヘッダ情報を格納するパケ ット作成テーブルの一例を示す図である。
図 1 1 ( a ) は、 従来における多重化装置の第 1の問題点を説明する ための図である。
図 1 1 ( b ) は、 従来における多重化装置の第 2の問題点を説明する
ための図である。
図 1 2は、 本発明の実施の形態 1に係る多重化装置の機能的な構成を 示すブロック図である。
図 1 3は、 多重化装置の処理動作を示すフロー図である。
図 1 4は、 ビデオパケッ ト単位決定部の処理動作を示すフロー図であ る。
図 1 5は、 オーディオバケツ 卜単位決定部の処理動作を示すフロー図 である。 . 図 1 6 ( a ) は、 多重化装置が作成する M P 4ファイル拡張部のデ一 タ構造の第 1例を示す図である。
図 1 6 ( b ) は、 多重化装置が作成する M P 4ファイル拡張部のデ一 タ構造の第 2例を示す図である。
図 1 7は、 本実施の形態 2に係る多重化装置のバケツ ト単位決定咅 の 機能的な構成を示すブロック図である。
図 1 8は、 ビデオパケッ ト単位決定部の第 1の処理動作を示すフロー 図である。
図 1 9は、 ビデオバケツ 卜単位決定部の第 2の処理動作を示すフ口一 図である。
図 2 0 ( a ) は、 多重化装置が作成する M P 4ファイル拡張部のデー タ構造の第 1例を示す図である。
図 2 0 ( b ) は、 多重化装置が作成する M P 4ファイル拡張部のデー タ構造の第 2例を示す図である。
図 2 1は、 本実施の形態 3に係る多重化装置のバケツ トデータ作成部 の機能的な構成を示すブロック図である。
図 2 2は、 パケッ トデータ作成部の処理動作を示すフロー図である。 図 2 3は、 多重化装置が作成する M P 4ファイル拡張部のデータ構造
の概略を示す図である。
図 2 4は、 多重化装置が作成する M P 4ファイル拡張部のデータ構造 の第 1例を示す図である。
図 2 5は、 多重化装置が作成する M P 4ファイル拡張部のデータ構造 の第 2例を示す図である。
図 2 6は、 本実施の形態 4に係る逆多重化装置の機能的な構成を示す ブロック図である。
図 2 7は、 逆多重化装置の処理動作を示すフロー図である。
図 2 8は、 本発明に係る多重化装置の適用例を示す図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 図面を参照しながら説明する。 なお、 本実施の形態におけるビデオデータとして、 MPEG-4 V i sua l の符 号化データを用いることとし、 本実施の形態におけるオーディオデータ として、 MPEG - 4 Aud i oの符号化データを用いることとする。 そして、 本 実施の形態では、 主に、 ビデオデータとオーディオデータとを多重化す る装置について説明するが、 テキストデータ等のその他のメディアデー タの多重化について排除することを意図するものではない。
(実施の形態 1 )
まず、 本発明の実施の形態 1に係る多重化装置について、 図 1 2から 図 1 6を参照しながら説明する。
図 1 2は、 本発明の実施の形態 1に係る多重化装置の機能的な構成を 示すプロック図である。
この多重化装置 1 0 0は、 ビデオデータやオーディオデータを多重化 して M P 4ファイルの拡張部データを作成する装置であり、 第 1入力部 1 0 1、 第 1データ蓄積部 1 0 2、 第 1解析部 1 0 3、 第 2入力部 1 0
4、 第 2データ蓄積部 1 0 5、 第 2データ解析部 1 0 6、 バケツ ト単位 決定部 1 0 7、 バケツ ト作成テーブル蓄積部 1 1 1、 バケツ卜ヘッダ作 成部 1 1 2、 バケツ トデータ作成部 1 1 3およびバケツ ト結合部 1 1 4 を備える。
第 1入力部 1 0 1は、 符号化されたビデオデータを画像符号化装置等 から多重化装置 1 0 0内に取り込むィンターフ; L—スであり、 取得した ビデオ入力データを順次、 第 1データ蓄積部 1 0 2に蓄積させる。 第 1データ蓄積部 1 0 2は、 ビデオ入力データを一時的に保持するキ ャッシュメモリや R A M ( Random Access Memory) 等である。
第 1解析部 1 0 3は、 第 1データ蓄積部 1 0 2に保持されているビデ ォ入力データのうちビデオサンプル 1つ分のデータであるビデオサンプ ルデータを読み出して解析し、 ビデオサンプルのヘッダ情報を出力する 処理部であり、 C P Uやメモリによって実現される。 なお、 この第 1解 析部 1 0 3において出力されるビデオサンプルヘッダ情報には、 ビデオ サンプルのサイズ、 再生時間長およびイントラフレームであるか否かを 示す情報が含まれる。 さらに、 このビデオサンプルヘッダ情報には、 双 方向予測を用いたサンプルの場合、 復号時間と表示時間の差分情報も含 まれる。
第 2入力部 1 0 4は、 符号化されたオーディオデータを音声符号化装 置等から多重化装置 1 0 0内に取り込むインターフェースであり、 取得 したオーディオ入力データを順次、 第 2データ蓄積部 1 0 5に蓄積させ る。
第 2データ蓄積部 1 0 5は、 オーディオ入力データを一時的に保持す るキャッシュメモリや R A M等である。
第 2解析部 1 0 6は、 第 2データ蓄積部 1 0 5に保持されているォー ディォ入力データのうちオーディオサンプル 1つ分のデータであるォー
ディオサンプルデータを読み出して解析し、 オーディオサンプルのへッ ダ情報を出力する処理部であり、 C P Uやメモリによって実現される。 なお、 この第 2解析部 1 0 6において出力されるオーディオサンプルへ ッダ情報には、 オーディオサンプルのサイズおよび再生時間長を示す情 報が含まれている。
バケツ ト単位決定部 1 0 7は、 バケツ 卜に含まれるビデオサンプルお よびオーディオサンプルのヘッダ情報を集積させて、 バケツ 卜に含まれ るビデオサンプルの再生開始時間とオーディオサンプルの再生開始時間 とが揃うように、 ビデオデータおよびオーディオデータのパケッ ト単位 を決定する処理部であり、 C P Uやメモリによって実現される。 また、 バケツ ト単位決定部 1 0 7は、 決定したバケツ 卜単位分のサンプルへッ ダ情報の集まリをバケツ卜作成テーブルとしてバケツト作成テーブル蓄 積部 1 1 1に出力するとともに、 バケツ 卜単位の決定後にバケツ 卜へッ ダの作成を指示するパケッ ト作成信号をパケッ トヘッダ作成部 1 1 2に 出力する。 そして、 このバケツ ト単位決定部 1 0 7は、 バケツ ト単位を 時間単位で調整する時間調整部 1 0 8と、 ビデオデータのパケッ ト単位 を決定するビデオバケツ 卜単位決定部 1 0 9と、 オーディオデータのパ ケッ ト単位を決定するオーディオバケツ ト単位決定部 1 1 0とを備える。 時間調整部 1 0 8は、 バケツ 卜が定められた時間単位内に納まるよう に、 パケッ トの終了時間を調整する処理部である。 この時間調整部 1 0 8は、 まず、 予め定められた時間 (ターゲッ トタイム) をビデオバケツ 卜単位決定部 1 0 9に出力する。 なお、 このターゲットタイムは、 ユー ザが指定することとしてもよい。 この場合、 多重化装置 1 0 0は、 キー ポード等の入力装置を介してターゲッ トタイムの指定を取得し、 入力装 置から指定されたターゲッ トタイムを示すターゲッ 卜タイム入力信号が 時間調整部 1 0 8に出力されることとなる。
ビデオバケツ ト単位決定部 1 0 9は、 第 1解析部 1 O 3からビデオサ ンプルヘッダ情報を取得してビデオデータのバケツ ト単位を決定する処 理部である。
このビデオバケツ ト単位決定部 1 0 9は、 時間調整部 1 0 8からター ゲッ トタイムを、 また、 第 1解析部 1 0 3からビデオサンプルヘッダ情 報を取得して、 ビデオデータがタ一ゲッ 卜タイム内のバケツ 卜に納まる ように、 各ビデオサンプルヘッダ情報に含まれる各ビデオサンプルの再 生時間長をカウントしながら、 バケツ 卜に含まれる最後のビデオサンプ ルのへッダ情報まで順次ビデオバケツ ト作成テーブルに追加していく。 ビデオパケッ ト単位決定部 1 0 9は、 パケッ トに含まれる最後のビデオ サンプルのヘッダ情報をビデオバケツ ト作成テーブルに追加すると、 そ のバケツ 卜に含まれる最初のビデオサンプルの再生開始時間とそのパケ ッ 卜に含まれるビデオサンプルの再生時間長の総和と を示すビデオサン プル再生時間情報をオーディオパケッ ト単位決定部 1 1 0に出力する。 オーディオバケツ 卜単位決定部 1 1 0は、 第 2解析部 1 0 6から取得 したオーディオサンプルヘッダ情報を取得してオーディオデータのパケ ッ 卜単位を決定する処理部である。
このオーディオバケツ ト単位決定部 1 1 0は、 ビデオバケツ ト単位決 定部 1 0 9からビデオサンプル再生時間情報を、 また、 第 2解析部 1 0 6からオーディオサンプルヘッダ情報を取得して、 / ケッ 卜の先頭に、 そのバケツ 卜に含まれる先頭のビデオサンプルの再生開始時間と同一ま たは近似する再生開始時間のオーディオサンプルを配置し、 各オーディ オサンプルヘッダ情報に含まれる各オーディオサンプルの再生時間長を カウントしながら、 そのバケツ 卜に含まれるオーディオサンプルの再生 時間長の総和が、 そのパケッ トに含まれるビデオサンプルの再生時間長 の総和と同一または近似するように、 そのバケツ卜に含まれる最後のォ
—ディすサンプルを配置する。
なお、 ここで、 ビデオサンプルの再生開始時間と近似する再生開始時 間のオーディオサンプルとは、 ビデオサンプルの再生開始時間以降であ つて、 最も早い再生開始時間のオーディオサンプル、 または、 ビデオサ ンプルの再生開始時間以前であって、 最も遅い再生開始時間のオーディ オサンプルを意味する。
その後、 オーディオバケツ 卜単位決定部 1 1 0は、 バケツ 卜に含まれ る先頭のオーディオサンプルから最後のオーディオサンプルまでのォー ディオサンプルヘッダ情報を順次オーディオバケツ ト作成テーブルに追 加する。
バケツ ト作成テーブル蓄積部 1 1 1は、 バケツ 卜単位決定部 1 0 7か ら出力されるビデオバケツ ト作成テーブルおよびオーディオバケツ 卜作 成テーブルを一時的に保持するキヤッシュメモリや R A M等である。 '· バケツ トヘッダ作成部 1 1 2は、 パケットのヘッダ情報が格納される バケツ 卜ヘッダ部 (m o o f ) を作成する処理部であり、 C P Uやメモ リによって実現される。
この✓ ケットヘッダ作成部 1 1 2は、 バケツ卜単位決定部 1 0 7から バケツ 卜作成信号を取得すると、 パケッ ト作成テーブル蓄積部 1 1 1か らバケツ ト作成テーブルを参照してバケツ卜サンプルヘッダ情報を読み 出して m o o f データを作成し、 バケツ 卜結合部 1 1 4に出力する。 また、 バケツ 卜ヘッダ作成部 1 1 2は、 バケツ 卜に含まれるビデオサ ンプルおよびオーディオサンプルの実体データが、 第 1データ蓄積部 1 0 2および第 2データ蓄積部 1 0 5のどこに格納されているかを示すポ インタ 'ί青報や、 サンプルのサイズを示すサンプルサイズ情報や、 バケツ 卜データ部 (m d a t ) の作成を指示する信号が含まれる m d a t情報 をパケッ トデータ作成部 1 1 3に出力する。
なお、このバケツ トヘッダ作成部 1 1 2は、 m o o f を作成する際に、 例えば、 AMR (Advanced Mu l t i Rate GODEG)のような、 データの途中で符 号化レー卜の切替が発生する符号化方式 Iヒよって符号化されたメディア データについて、 符号化レー卜に応じてヘッダ情報を異なる t r a f に 格納することもできる。
バケツトデータ作成部 1 1 3は、 バケツ 卜の実体データが格納される パケッ トデータ部 (m d a t ) を作成する処理部であり、 C P Uやメモ リによって実現される。
このバケツ トデータ作成部 1 1 3は、 バケツ トヘッダ作成部 1 1 2か ら m d a t情報を取得すると、 m d a t情報に含まれるポインタ情報と サンプルサイズ情報とに基づいて、 第 1データ蓄積部 1 0 2からバケツ 卜に含まれるビデオサンプルのビデオ実体データを読み出し、 第 2デー タ蓄積部 1 0 5からバケツ 卜に含まれるオーディオサンプルのオーディ ォ実体データを読み出して m d a tデータを作成し、 バケツ卜結合部 1 1 4に出力する。
バケツト結合部 1 1 4は、 m o o f データと m d a tデータとを結合 させて、 1バケツ 卜分の m p 4拡張部データを作成する処理部であり、 C P Uやメモリによって実現される。 このバケツ ト結合部 1 1 4は、 パ ケッ トへッダ作成部 1 1 2から m o o f データを取得し、 バケツ 卜デー タ作成部 1 1 3から m d a tデータを取得して、 m o o f データと m d a tデータとを結合させて 1バケツ 卜分の m p 4拡張部データを作成し、 順次作成した m p 4拡張部データを M P 4ファイルを作成する装置に出 力する。
このように構成される多重化装置 1 0 0において、 M P 4ファイルの 拡張部が作成される処理手順について図 1 3を用いて説明する。
図 1 3は、 多重化装置 1 0 0の処理動作を示すフロー図である。
まず、 第 1入力部 1 0 1 および第 2入力部 1 0 4は、 多重化装置 1 0 0内にそれぞれビデオデータおよびオーディオデータを取り込むと (S 1 0 0 )、第 1入力部 1 0 1はビデオ入力データを第 1データ蓄積部 1 0 2に蓄積させ、 第 2入力部 1 0 4はオーディオ入力データを第 2データ 蓄積部 1 0 5に蓄積させる。
次に、 第 1解析部 1 0 3は、 第 1データ蓄積部 1 0 2からビデオサン プルデータを読み出して解析し、 ビデオサンプルヘッダ情報をバケツ ト 単位決定部 1 0 7のビデオバケツ ト単位決定部 1 0 9に出力する。 そし て、 ビデオバケツ ト単位決定部 1 0 9は、 第 1解析部 1 0 3から取得し たビデオサンプルヘッダ情報と時間調整部 1 0 8から取得したターゲッ トタイムとに基づいてビデオデータのバケツ ト単位を決定する (S 1 1 0 )。なお、 ビデオバケツ ト単位決定部 1 0 9がビデオデータのバケツ ト 単位を決定する処理動作については、 詳しく後述する。
その後、 ビデオバケツ 卜単位決定部 1 0 9は、 バケツ ト単位が決定さ れたバケツ 卜に含まれるビデオサンプルの再生時間情報をオーディオパ ケッ 卜単位決定部 1 1 0に出力する (S 1 2 0 )。
そして、 オーディオバケツ ト単位決定部 1 1 0は、 ビデオバケツ 卜単 位決定部 1 0 9から取得したビデオサンプルの再生時間情報に基づいて、 オーディオデータのバケツ ト単位を決定する (S 1 3 0 )。 このとき、 ォ 一ディォバケツ ト単位決定部 1 1 0は、 バケツ 卜に含まれる先頭のォー ディオサンプルの再生開始時間が、 バケツ 卜に含まれる先頭のビデオサ ンプルの再生開始時間と同一またはこれに近似するように、 バケツ ト単 位を決定する。
オーディオバケツ 卜単位決定部 1 1 0がオーディオデータのバケツ ト 単位を決定すると、 バケツ ト単位決定部 1 0 7は、 バケツ ト作成テープ ルをパケッ ト作成テーブル蓄積部 1 1 1に出力し、 パケッ ト作成信号を
パケッ トヘッダ作成部 1 1 2に出力する。
その後、 バケツ トヘッダ作成部 1 1 2は、 決定された単位で m o o f データを作成してバケツ 卜結合部 1 1 4に出力し、 また、 パケッ トデ一 タ作成部 1 1 3は、 決定された単位で m d a tデータを作成してバケツ 卜結合部 1 1 4に出力し、 バケツ ト結合部 1 1 4が m o o f データと m d a tデータとを結合させて、決定された単位で 1バケツ トを作成し(S 1 4 0 )、 1パケッ ト分の m p 4拡張部データとして出力する。
1バケツ トを作成し終えると、 多重化装置 1 0 0は、 第 1入力部 1 0 1および第 2入力部 1 0 4から、 まだ入力されるデータがあるか否かを 判断する(S 1 5 0 )。ここで、入力データがある場合(S 1 5 0の N o )、 多重化装置 1 0 0は、 バッファメモリ、 すなわち第 1 データ蓄積部 1 0 2、 第 2データ蓄積部 1 0 5およびバケツ ト作成テーブル蓄積部 1 1 1 に保持されているデータのうち、 既にバケツ 卜化が終了したデータをク リアして (S 1 6 0 )、上記 S 1 1 0から S 1 5 0までの処理動作を繰り 返す。
一方、 入力データがない場合 (S 1 5 0の Y e s )、 多重化装置 1 0 0 は、 M P 4ファイルの拡張部の作成処理を終了する。
このように、 多重化装置 1 0 0は、 まずビデオデータのパケッ ト単位 を決定した後にオーディオデータのバケツ ト単位を決定して、 メディア データの多重化を行なうことによって、 M P 4ファイルの拡張部を作成 する。
ここで、 図 1 3のステップ S 1 1 0において、 ビデオバケツ 卜単位決 定部 1 0 9がビデオデータのバケツ ト単位を決定する処理動作について 詳しく説明する。
図 1 4は、 ビデオパケッ ト単位決定部 1 0 9の処理動作を示すフロー 図である。
このフローに先立ってビデオバケツト単位決定部 1 0 9は、 時間調整 部 1 0 8からターゲッ トタイムを取得しておく。
そして、 ビデオバケツ ト単位決定部 1, 0 9は、 第 1解析部 1 0 3から ビデオサンプルヘッダ情報を取得すると (S 1 1 1 )、 ビデオサンプルへ ッダ情報をビデオバケツ ト作成テーブルに追加する (S 1 1 2 )。
このとき、 ビデオパケッ ト単位決定部 1 0 9は、 ビデオサンプルへッ ダ情報に含まれるビデオサンプルの再生時間長の合計、 すなわちバケツ 卜に含まれるビデオデータの総再生時間が、 先に取得したターゲッ トタ ィムになったか、 あるいは、 ターゲッ トタイムを超えたか否かを判定す る ( S 1 1 3 )。
/ ケッ 卜に含まれるビデオデータの総再生時間がターゲッ トタイムに 至っていない場合(S 1 1 3の N o )、 ビデオバケツ ト単位決定部 1 0 9 は、 次のビデオサンプルヘッダ情報を取得して (S 1 1 1 )、 S 1 1 2と S 1 1 3の処理動作を繰り返す。
/ ケッ 卜に含まれるビデオデータの総再生時間がターゲッ 卜タイムに 至っている場合(S 1 1 3の Y e s )、 ビデオバケツ ト単位決定部 1 0 9 は、 ビデオバケツ ト作成テーブルに最後に追加したビデオサンプルへッ ダ'青報が指し示すビデオサンプルを、 バケツ 卜に含まれる最後のビデオ サンプルに決定し (S 1 1 4 )、バケツ 卜単位を決定する処理動作を終了 する。
続いて、 図 1 3のステップ S 1 3 0において、 オーディオバケツ ト単 位決定部 1 1 0がオーディオデータのパケッ ト単位を決定する処理動作 について詳しく説明する。
m 1 5は、 オーディオバケツ ト単位決定部 1 1 0の処理動作を示すフ ロー図である。
このフローに先立って、 オーディオバケツ 卜単位決定部 1 1 0は、 ビ
デォバケツ ト単位決定部 1 0 9からビデオサンプル再生時間情報を取得 しておく。
そして、 オーディオバケツ ト単位決定部 1 1 0は、 第 2解析部 1 0 6 からオーディオサンプルヘッダ情報を取得すると (S 1 3 1 )、先に取得 したビデオサンプル再生時間情報を参照して (S 1 3 2 )、バケツ 卜に含 まれる先頭のビデオサンプルの再生開始時間を読み出し、 バケツ 卜に含 まれる先頭のビデオサンプルの再生開始時間と同一または近似する再生 開始時間のオーディオサンプルを、 そのバケツ 卜のオーディオ先頭サン プルに決定する (S 1 3 3 )。
オーディオパケット単位決定部 1 1 0は、 パケットに含まれるオーデ ィォ先頭サンプルを決定すると、 オーディオサンプルヘッダ情報を順次 取得して(S 1 3 4 )、オーディオサンプルヘッダ情報をオーディオパケ ッ ト作成テ一ブルに追加していく (S 1 3 5 )。
その後、 オーディオバケツ ト単位決定部 1 1 0は、 ビデオサンプル再 生時間情報を参照して、 バケツ 卜に含まれるビデオサンプルの再生時間 長の総和を読み出し(S 1 3 6 )、バケツ 卜に含まれるオーディオサンプ ルの再生時間長の総和が、 バケツ 卜に含まれるビデオサンプルの再生時 間長の総和と同一または近似する値となるように、 そのバケツ 卜に含ま れる最後のオーディオサンプルを決定し (S 1 3 7 )、バケツト単位を決 定する処理動作を終了する。
このような多重化装置 1 0 0による処理動作を経て作成される M P 4 ファイルの拡張部は、 再生装置側におけるデータアクセスの効率に優れ ている。 その理由について、 図 1 6に多重化装置 1 0 0が作成する M P 4ファイル拡張部のデータ構造の例を示して説明する。
図 1 6 ( a ) に示す M P 4ファイル拡張部 2 0 0は、 複数のパケッ ト から構成され、 M P 4ファイルの基本部に結合されている。
M P 4ファイル拡張部 2 0 0を構成する各バケツ トは、 バケツ トへッ ダ部の m o o f と、 バケツ トデータ部の m d a tから構成されている。 ここで、 バケツ ト— 1は、 M P 4ファイル拡張部 2 0 0の 1番目のパケ ッ卜であることを意味し、 バケツ 卜—"! に含まれる m o o f は、 m o o f — 1、 パケッ ト— 1に含まれる m d a tは、 m d a t _ 1 と示す。 ま た、 図 1 6 ( a ) の各 m d a t中に示す " V " は、 ビデオサンプルであ ることを指し示すものであり、 図 1 6 ( a ) の各 m d a t中に示す " A " は、 オーディオサンプルであることを指し示すものである (以下、 他の 図においても同様とする。)。
M P 4ファイル拡張部 2 0 0の m d a t— 1には、 再生開始時間が 2 0秒のビデオサンプルがビデオ先頭サンプルとして格納されており、 同 じく再生開始時間が 2 0秒のオーディオサンプルがオーディオ先頭サン プルとして格納されている。 また、 m d a t— 2にも、 再生開始時間が 3 0秒のビデオサンプルがビデオ先頭サンプルとして格納されており、 同じく再生開始時間が 3 0秒のオーディオサンプルがオーディオ先頭サ ンプルとして格納されている。
このように、 1つのバケツ 卜にビデオサンプルとオーディオサンプル とを、 各々の再生開始時間を揃えて格納することによって、 再生装置側 で、 M P 4ファイル拡張部 2 0 0を再生する時に、 データアクセスに要 する計算量を大幅に削減することができる。
また、 各メディアデータの再生開始時間が揃えられてバケツ 卜に格納 されているので、 任意の数のパケッ トでデータを分割して、 M P 4ファ ィルデータのサイズを所望のサイズに調整することもできる。
ここで、 多重化装置 1 0 0が作成する M P 4ファイル拡張部は、 図 1 6 ( b ) に示すデータ構造としてもよい。
図 1 6 ( b ) は、 多重化装置 1 0 0が作成する M P 4ファイル拡張部
のデータ構造の第 2例を示す図である。
図 1 6 ( b )に示す M P 4フアイル拡張部 2 1 0の m d a t _ 1 には、 再生開始時間が 2 0秒のビデオサンプルがビデオ先頭サンプルとして格 納されており、 m d a t— 2には、 再生開始時間が 2 0秒のオーディオ サンプルがオーディオ先頭サンプルとして格納されている。 また、 m d a t— 3には、 再生開始時間が 3 0秒のビデオサンプルがビデオ先頭サ ンプルとして格納されておリ、 m d a t— 4には、 再生開始時間が 3 0 秒のオーディオサンプルがオーディオ先頭サンプルとして格納されてい る。
このように、 1つのパケッ トにビデオまたはオーディオのいずれか一 方のデータを格納して、 ビデオデータを格納するバケツ 卜と、 再生開始 時間が揃えられたオーディオデータを格納するバケツ トを交互に配列す ることによつても、 再生装置側で、 M P 4ファイル拡張部 2 0 0を再生 する時に、 データアクセスに要する計算量を大幅に削減することができ る。
以上説明したように、 本実施の形態 1 に係る多重化装置 1 0 0によれ ば、 各メディアデータの再生開始時間を揃えて、 各メディアデータをパ ケッ ト化するので、 再生装置側におけるデータアクセスの効率化を図る ことができる。
(実施の形態 2 )
次に、 本発明の実施の形態 2に係る多重化装置について、 図 1 7から 図 2 0を参照しながら説明する。
本実施の形態 2に係る多重化装置は、 主な構成要素において、 上記実 施の形態 1に係る多重化装置 1 0 0と共通するが、 バケツ ト単位決定部 において特徴的な構成を備えており、 この点において上記実施の形態 1 に係る多重化装置 1 0 0と異なる。 以下、 この異なる点を中心に説明す
る。 なお、 上記実施の形態 1 と同一の構成要素については、 同一の符号 を用いることとし、 説明を省略する。
図 1 7は、 本実施の形態 2に係る多重化装置のパケッ ト単位決定部の 機能的な構成を示すブロック図である。
このバケツ 卜単位決定部 1 1 7は、 バケツ 卜に含まれるビデオサンプ ルおよびオーディオサンプルのヘッダ情報を集積させて、 各々の再生開 始時間が揃うように、 かつ、 パケッ トに含まれる先頭のビデオサンプル がィントラフレームとなるように、 ビデオデータおよびオーディオデ一 タのパケッ ト単位を決定する処理部であり、 時間調整部 1 0 8と、 ビデ ォバケツ 卜単位決定部 1 1 9と、 オーディオバケツ 卜単位決定部 1 1 0 とを備える。
ビデオバケツ ト単位決定部 1 1 9は、 第 1解析部 1 0 3からビデオサ ンプルヘッダ情報を取得してビデオデータのバケツ ト単位を、 時間また はイントラフレームのいずれかを基準に決定する処理部であり、 時間基 準単位調整部 1 2 0と、 I フレーム基準単位調整部 1 2 1 とを備える。 時間基準単位調整部 1 2 0は、 時間調整部 1 0 8から出力されるター ゲッ 卜タイムに基づいてビデオデータのバケツ ト単位を調整する処理部 であり、 各ビデオサンプルヘッダ情報の再生時間長をカウントして、 パ ケッ 卜が定められた時間単位となるようにバケツ 卜単位を調整する。
I フレーム基準単位調整部 1 2 1は、 第 1解析部 1 0 3から出力され るビデオサンプルヘッダ情報にィントラフレームであることを示す情報 が含まれているか否かに基づいてビデオデータのバケツ ト単位を調整す る処理部であり、 イントラフレームであることを示す情報が含まれてい るビデオサンプルヘッダ情報を取得すると、 イントラフレームのビデオ サンプルでバケツ ト単位を切り替えて、 次のバケツ 卜のビデオ先頭サン プルがィントラフレームのビデオサンプルとなるようにバケツ 卜単位を
調整する。
このように構成されるバケツ卜単位決定部 1 1 7を備えた本実施の形 態 2に係る多重化装置において、 ビデオバケツ 卜単位決定部 1 1 9がビ デォデータのバケツ ト単位を決定する処理動作について詳しく説明する。 図 1 8は、 ビデオパケッ ト単位決定部 1 1 9の処理動作を示すフロー 図である。
このフローに先立って、 ビデオバケツ ト単位決定部 1 1 9は、 時間調 整部 1 0 8からターゲッ トタイムを取得して、 時間基準単位調整部 1 2 0に保持する。
そして、 上記実施の形態 1 と同様に、 ビデオパケッ ト単位決定部 1 1 9は、第 1解析部 1 0 3からビデオサンプルへッダ情報を取得すると( S 2 0 1 )、ビデオサンプルヘッダ情報をビデオバケツ ト作成テーブルに追 加する (S 2 0 2 )。
このとき、 ビデオパケッ ト単位決定部 1 1 9は、 I フレーム基準単位 調整部 1 2 1において、 取得したビデオサンプルヘッダ情報にイントラ フレームであることを示す情報が含まれているか否かを判定する (S 2 0 3 )。
イントラフレームであることを示す情報が含まれている場合 (S 2 0 3の Y e s )、 ビデオバケツ 卜単位決定部 1 1 9は、時間基準単位調整部 1 2 0において、パケッ トに含まれる全ビデオサンプルの総再生時間が、 先に取得したタ一ゲッ トタイムを超えているか否かを判定する (S 2 0
5 )。
ここで、 イントラフレームであることを示す情報が含まれていない場 合 (S 2 0 3の N o ) またはターゲッ トタイムを超えていない場合 (S 2 0 5の!^1 0 )、 ビデオバケツト単位決定部 1 1 9は、時間基準単位調整 部 1 2 0において、 ビデオサンプルヘッダ情報に含まれるビデオサンプ
ルの再生時間長を加算することによって、 バケツ 卜に含まれるビデオサ ンプルの再生時間長の総和を更新し (S 2 0 4 )、次のビデオサンブルへ ッダ情報を取得して (S 2 0 1 ) ±記処理動作を繰り返す。
一方、 ターゲッ 卜タイムを超えている場合 (S 2 0 5の Y e s )、 ビデ ォバケツ ト単位決定部 1 1 9は、 バケツ 卜に含まれる最後のビデ才サン プルを、 I フレーム基準単位調整部 1 2 1においてイントラフレームで あると判定されたビデオサンプルの 1 つ前のビデオサンプルに決定し ( S 2 0 6 )、 ビデオデータのバケツ ト単位決定の処理動作を終了する。 このようなビデオバケツ ト単位決定部 1 1 9の処理動作を経て作成さ れる M P 4ファイルの拡張部は、 パケッ トの先頭に格納されるビデオサ ンプルが必ずィントラフレームのビデオサンプルとなるので、 再生装置 側でランダムアクセス時にパケットの先頭のビデオサンプルから再生を 開始することができるようになり、 ランダムアクセス可能なビデ才サン プルの検索に要する計算量を大幅に削減することができる。
また、 バケツ 卜の先頭に格納されるビデオサンプルが必ずイン 卜ラフ レームのビデオサンプルとなることによって、 パケッ トヘッダ部 (m o o f ) では、 ビデオ卜ラックのヘッダ情報を格納する t r a f の先頭に 位置する t r u nの先頭サンプルフラグフィ一ルドにのみ、 ランダムァ クセス可能であることを示す情報を記述すればよく、 各 t r u nのサン プルフラグフィールドは、 デフォルト値を使用することにより省略でき るので、 m o o f データ作成時の負荷が軽減されるとともに、 M P 4フ アイル全体のファイルサイズの削減を図ることもできる。
なお、 この処理動作によると、 ビデオデータに含まれるイントラフレ ーム同士の間隔が大きくなると、 1バケツ卜あたりの再生時間長力長く なる場合がある。 そのため、 パケッ ト単位決定部 1 1 7は、 以下に述べ るような処理動作としてもよい。
図 1 9は、 ビデオバケツ 卜単位決定部 1 1 9の第 2の処理動作を示す フロー図である。
上記第 1の処理動作と同様に、 このフローに先立って、 ビデオバケツ ト単位決定部 1 1 9は、 時間調整部 1 0 8からターゲッ 卜タイムを取得 して、 時間基準単位調整部 1 2 0に保持する。
そして、 ビデオバケツ 卜単位決定部 1 1 9は、 第 1解析部 1 0 3から ビデオサンプルヘッダ情報を取得すると (S 2 1 1 )、 ビデオサンプルへ ッダ情報をビデオバケツ ト作成テーブルに追加する (S 2 1 2 )。
このとき、 ビデオバケツ ト単位決定部 1 1 9は、 時間基準単位調整部 1 2 0において、パケットに含まれる全ビデオサンプルの総再生時間が、 先に取得したターゲッ トタイムを超えているか否かを判定する (S 2 1 3 ) o
タ一ゲッ トタイムを超えている場合(S 2 1 3の Y e s )、 ビデオパケ ッ ト単位決定部 1 1 9は、バケツ 卜に含まれる最後のビデオサンプルを、 今回取得したビデオサンプルヘッダ情報の 1つ前のビデオサンプルへッ ダ情報が指し示すビデオサンプルに決定し(S 2 1 4 )、 ビデオデータの バケツ ト単位決定の処理動作を終了する。
一方、 ターゲッ トタイムを超えていない場合 (S 2 1 3の N o )、 ビデ ォバケツ卜単位決定部 1 1 9は、 I フレーム基準単位調整部 1 2 1にお いて、 取得したビデオサンプルヘッダ情報にイントラフレームであるこ とを示す情報が含まれているか否かを判定する (S 2 1 5 )。
ここで、 ィ ントラフレームであることを示す情報が含まれている場合 ( S 2 1 5の Y e s )、 ビデオバケツ ト車位決定部 1 1 9は、バケツ 卜に 含まれる最後のビデオサンプルを、 I フレーム基準単位調整部 1 2 1に おいてイントラフレームであると判定されたビデオサンプルの 1つ前の ビデオサンプルに決定し (S 2 1 4 )、 ビデオデータのバケツ ト単位決定
の処理動作を終了する。
他方、 イントラフレームであることを示す情報が含まれていない場合
( S 2 1 5の N o )、 ビデオバケツ 卜単位決定部 1 1 9は、時間基準単位 調整部 1 2 0において、 ビデオサンプルヘッダ情報に含まれるビデオサ ンプルの再生時間長を加算することによって、 パケッ トに含まれるビデ オサンプルの再生時間長の総和を更新し(S 2 1 6 )、次のビデオサンプ ルヘッダ情報を取得して (S 2 1 1 ) 上記処理動作を繰り返す。
このようなビデオバケツ 卜単位決定部 1 1 9の第 2の処理動作を経て 作成される M P 4ファイルの拡張部は、 所定の時間制限を設定してパケ ッ トを作成してパケッ トサイズを所望のサイズ以下に保ちつつ、 イン卜 ラフレームのビデオサンプルが存在すれば、 バケツ 卜の先頭に格納する ことができるので、 再生装置側でランダムアクセス時にパケッ 卜の先頭 のビデオサンプルについてのみランダムアクセス可能なビデオサンプル であるか否かを判定すればよくなリ、 ランダムアクセス可能なビデオサ ンプルの検索に要する計算量を削減することができる。
なお、 ビデオパケット単位決定部 1 1 9は、 ビデオデータのパケット 単位決定の処理動作を終了すると、 ビデオサンプル再生時間情報をォー ディォバケツ ト単位決定部 1 1 0に出力し、 オーディオバケツ ト単位 1 1 0でオーディオデータのバケツ ト単位決定の処理動作が行なわれるの は、 上記実施の形態 1の場合と同様である。
このようなバケツ ト単位決定部 1 1 7による処理動作を経て作成され る M P 4ファイルの拡張部は、 再生装置側におけるランダムアクセス時 の検索負荷を軽減させる。 その理由について、 図 2 0に本実施の形態 2 に係る多重化装置が作成する M P 4ファイル拡張部のデータ構造の例を 示して説明する。
図 2 0 ( a )に示す M P 4ファイル拡張部 2 2 0の m d a t 1には、
イントラフレームのビデオサンプルがビデオ先頭サンプルとして格納さ れており、 m d a t— 2にも同じくイントラフレームのビデオサンプル がビデオ先頭サンプルとして格納されている。
このように、 イントラフレームのビデオサンプルを先頭のビデオサン プルとしてバケツ 卜に格納することによって、 再生装置側でランダムァ クセス時において、 ランダムアクセス可能なビデオサンプルを取得する ためにバケツ卜の先頭のビデオサンプルのみを検索すれば足りるため、 パケッ 卜に含まれる全てのビデオサンプルを検索する必要がなくなリ、 ランダムアクセス時のサンプル検索負荷を大幅に軽減することができる。 また、 このとき、 M P 4フアイル拡張部 220の m o o f — 1および mo o f —2においても、 ビデオトラックのヘッダ情報を格納する t r a f の先頭に位置する t r u nの先頭サンプルフラグフィールドにのみ、 ランダムアクセス可能であることを示す情報を記述することによって、 mo o f — 1および mo o f — 2のサイズを削減することもできる。 ここで、 本実施の形態 2に係る多重化装置が作成する M P 4ファイル 拡張部は、 図 20 ( b) に示すデータ構造としてもよい。
図 20 ( b )に示す M P 4ファイル拡張部 230の m d a t— 1には、 ィントラフレームのビデオサンプルがビデオ先頭サンプルとして格納さ れており、 m d a t— 3にも同じくイントラフレームのビデオサンプル がビデオ先頭サンプルとして格納されている。 また、 m d a t— 2およ ぴ m d a t— 4には、 オーディオサンプルが格納されている。
このように、 1つのバケツ 卜にビデオまたはオーディオのいずれか一 方のデータを格納して、 ビデオデータを格納するパケッ トには、 イント ラフレームのビデオサンプルを先頭のビデオサンプルとして格納するこ とによっても、 再生装置側でランダムアクセス時におけるサンプル検索 負荷を大幅に軽減することができる。
なお、 これら M P 4ファイル拡張部のデータ構造例のいずれにおいて も、 バケツ 卜に格納される先頭のビデオサンプルの再生開始時間と先頭 のオーディオサンプルの再生開始時間とを揃えることによって、 再生装 置側でのデータアクセスに要する計算量を大幅に削減することができる。 以上説明したように、 本実施の形態 2に係る多重化装置によれば、 ラ ンダムアクセス可能なビデオサンプルを先頭のビデオサンプルとして、 バケツトを作成するので、 再生装置におけるランダムアクセス時のサン プル検索に要する計算量を削減することができる。
(実施の形態 3 )
さらに、 本発明の実施の形態 3に係る多重化装置について、 図 2 1か ら図 2 5を参照しながら説明する。
本寒施の形態 3に係る多重化装置は、 主な構成要素において、 上記実 施の形態 1および 2に係る多重化装置と共通するが、 バケツ トデータ作 成部において特徴的な構成を備えており、 この点において上記実施の形 態 1および 2に係る多重化装置と異なる。 以下、 この異なる点を中心に 説明する。 なお、 上記実施の形態 1および 2と同一の構成要素について は、 同一の符号を用いることとし、 説明を省略する。
図 2 1は、 本実施の形態 3に係る多重化装置のバケツ トデータ作成部 の機能的な構成を示すブロック図である。
このバケツ トデータ作成部 1 3 0は、 パケッ 卜データ部 (m d a t ) を、 ビデオサンプルの実体データとオーディオサンプルの実体データと をインタリーブして格納することによって作成する処理部であり、 m d a t情報取得部 1 3 1 と、 ビデオ実体データ読出部 1 3 2と、 オーディ ォ実体データ読出部 1 3 3と、 インタリーブ配列部 1 3 4とを備える。 m d a t情報取得部 1 3 1は、 パケッ トへッダ作成部 1 1 2から m d a t情報を取得して、 バケツ トデータ作成部 1 3 0を構成する他の各部
に実体データの読出指示や再生時間情報を出力する処理部である。
この m d a t情報取得部 1 3 1は、 ノ ケッ 卜ヘッダ作成部 1 1 2から m d a t 'ί青報を取得すると m d a t情報を解析して、 ビデオサンプルお よびオーディオサンプルの再生開始時間と再生終了時間とを示す再生時 間情報を耳又得し、 この再生時間情報に基づいて、 パケッ トに含まれる全 てのビデ才サンプルとオーディオサンプルとを再生開始時間が昇順とな るように並び替える。
そして、 m d a t情報取得部 1 3 1は、 並び替えた順番に従って再生 開始時間の若いサンプルから順に、 ビデオ実体データ読出部 1 3 2にビ デオサンプルの実体データの読み出しを指示するビデオ読出指示を出力 する、 または、 オーディオ実体データ読出部 1 3 3にオーディオサンプ ルの実体データの読み出しを指示するオーディオ読出指示を出力する。 このビデオ読出指示には、 ビデオサンプルの実体データが第 1データ蓄 積部 1 0 2のどこに格納されているかを示すポインタ情報とビデオサン プルのサイズ情報とが含まれており、 オーディオ読出指示には、 オーデ ィオサンプルの実体データが第 2データ蓄積部 1 0 5のどこに格納され ているかを示すポィンタ情報とオーディオサンプルのサイズ情報とが含 まれてしゝる。
ビデオ実体データ読出部 1 3 2は、 m d a t情報取得部 1 3 1からビ デォ読出指示を取得して、 第 1データ蓄積部 1 0 2からビデオ実体デー タを読み出す処理部である。 このビデオ実体データ読出部 1 3 2は、 ビ デォ読出指示に含まれるポィンタ情報とサイズ情報とを参照して第 1デ —タ蓄積部 1 0 2からビデオ実体データを読み出して、 読み出したビデ ォ実体データをインタリーブ配列部 1 3 4に出力する。
オーディオ実体データ読出部 1 3 3は、 m d a t情報取得部 1 3 1か らオーディオ読出指示を取得して、 第 2データ蓄積部 1 0 5からオーデ
ィォ実体データを読み出す処理部である。 このオーディオ実体データ読 出部 1 3 3は、 オーディオ読出指示に含まれるポインタ情報とサイズ情 報とを参照して第 2データ蓄積部 1 0 5からオーディオ実体データを読 み出して、 読み出したオーディオ実体データをインタリーブ配列部 1 3 4に出力する。
インタリーブ配列部 1 3 4は、 ビデオ実体データ読出部 1 3 2および オーディオ実体データ読出部 1 3 3から出力される読出ビデオデータお よび読出オーディオデータを出力される順に逐次取得し、 インタリーブ して配列することによって m d a tデータを作成し、 バケツト結合部 1 1 4に出力する処理部である。
このように構成されるバケツ卜データ作成部 1 3 0を備えた本実施の 形態 3に係る多重化装置において、 バケツ トデータ作成部 1 3 0が m d a tを作成する処理動作について詳しく説明する。
図 2 2は、 バケツ トデータ作成部 1 3 0の処理動作を示すフロー図で ある。
まず、 バケツ トデータ作成部 1 3 0は、 m d a t情報取得部 1 3 1に おいて、 バケツ トヘッダ作成部 1 1 2から m d a t情報を取得する (S 3 0 1 )。 m d a t情報取得部 1 3 1【ま、取得した m d a t情報を解析し て、サンプルのポィンタ情報とサイズ情報と再生時間情報とを抽出する。 そして、 m d a t情報取得部 1 3 1は、 抽出したサンプルの再生時間情 報に基づいて、 バケツ 卜に含まれる全てのビデオサンプルとオーディオ サンプルとを再生開始時間が昇順となるように並び替える。 続いて、 m d a t情報取得部 1 3 1は、 並び替えた順番に従って再生開始時間の若 いサンプルから順に、 抽出したビデオサンプルのボインタ情報とサイズ 情報とを含むビデオ読出指示をビデオ実体データ読出部 1 3 2に出力す る、 または、 抽出したオーディオサンプルのポインタ情報とサイズ情報
とを含むオーディオ読出指示をオーディオ実体データ読出部 1 3 3に出 力する。
ビデオ実体データ読出部 1 3 2は、 ビデオ読出指示を取得すると、 ポ インタ情報とサイズ情報とを参照して第 1データ蓄積部 1 0 2からビデ ォ実体データを読み出してインタリーブ配列部 1 3 4に出力し、 オーデ ィォ実体データ読出部 1 3 3は、 オーディオ読出指示を取得すると、 ポ インタ情報とサイズ情報とを参照して第 2データ蓄積部 1 0 5からォー ディォ実体データを読み出してインタリーブ配列部 1 3 4に出力する ( S 3 0 2 )。
インタリーブ配列部 1 3 4は、 読み出した実体データをビデオ実体デ 一タ読出部 1 3 2およびオーディオ実体データ読出部 1 3 3から受け取 ると、 受け取った順に逐次配列する (S 3 0 3 )。
ここで、 インタリーブ配列部 1 3 4は、 ビデオ実体データとオーディ ォ実体データの全て、 すなわち、 1パケッ トに格納される実体データの 全ての配列が完了するまで、 実体データの配列を続行する (S 3 0 4の N o、 S 3 0 3 )。
そして、 1バケツ 卜に格納される実体データの全ての配列が完了する と (S 3 0 4の Y e s )、 インタリーブ配列部 1 3 4は、配列した実体デ —タを m d a tデータとして、 バケツ ト結合部 1 1 4に出力して (S 3 0 5 )、 m d a tの作成の処理動作を終了する。
このようなバケツ 卜データ作成部 1 3 0の処理動作を経て作成される M P 4ファイルの拡張部は、 シークに時間がかかる光ディスク機器等に おけるランダムアクセス再生に適している。 その理由について図 2 3に 本実施の形態 3に係る多重化装置が作成する M P 4ファイル拡張部のデ ータ構造の概略を示して説明する。
図 2 3に示す M P 4ファイル拡張部 2 4 0は、 4〜 8秒までのコンテ
ンッデータを格納するバケツ ト 1 、 8〜 1 2秒までのコンテンッデータ を格納するバケツ ト 2、 1 2〜 1 6秒までのコンテンツデータを格納す るバケツ 卜 3というように、 複数のバケツ 卜が配列されることで構成さ れている。
各バケツ トは、 mo o f 24 1 と m d a t 242とから構成されてお リ、 m o o f 24 1には、 ビデオトラック,に関する t f h d (V) およ ぴ t r a f (V— 1、 V— 2) と、 オーディォトラックに関する t f h d (A) および t r a f (A— 1、 A- 2) とが格納されている。 また、 t r a f (V— 1 ) と t r a f (A— 1 ) に格納されるヘッダ情報が指 し示すサンプルの実体データは、 m d a t _1 に格納され、 t r a f (V 一 2) と t r a f (A— 2) に格納されるヘッダ情報が指し示すサンプ ルの実体データは、 m d a t—2に格納されている。 そして、 m d a t 24 2には、 ビデオサンプルの実体データとオーディオサンプルの実体 データとが交互にインタリーブして格納されている。
このとき、 再生装置側で、 再生時間が 4秒の位置から再生を開始する ランダムアクセス処理に際して、 m o o f _ 1の先頭位置に読み出しポ インタを移動させれば、 後は mo o f _1 を解析して、 読み出しポイン タを連続的に移動させることにより m o o f _ 1に連続する m d a t一 1から再生に必要な実体データを取得することができる。
すなわち、 この M P 4ファイル拡張部 240によれば、 再生装置は、 mo o f _1の先頭位置に読み出しポィンタを移動させる 1回のシーク 動作だけで、 ランダムアクセス再生を実現することができるので、 シー クに時間がかかる光ディスク機器等に有効といえる。
ここで、 m d a t 242において、 ビデオサンプルの実体データの直 後に格納されるオーディオサンプルの実体データは、 直前のビデオサン プルの再生開始時間と揃えられているので、 ビデオデータとオーディオ
データの同期再生は担保されている。 図 24に、 M P 4ファイル拡張部 2 40の 0| 3 1:—1に実体データが格納されている様子を示す。
図 24に示すように、 m d a t __1の先頭に格納されているビデオサ ンプル 1 の再生開始時間は 4000 m sであり、 ビデオサンプル 1の直 後に格納されているオーディオサンプル 1の再生開始時間は、 4000 m sであり、 ビデオサンプル 1 とオーディオサンプル 1の再生開始時間 ίよ同一に揃えられている。
通常、 ビデオサンプルとオーディオサンプルのサンプルレー卜は異な ることが多いので、 ここでは、 ビデオサンプルの再生時間長は 50 Om s とし、 オーディオサンプルの再生時間長は 1 00 m sとする。
従って、 M P 4ファイル拡張部 240の m d a t _1には、 ビデオサ ンプル 1の直後にオーディオサンプル 1 〜5がインタリーブして格納さ れ、 その後に、 ビデオサンプル 2、 オーディオサンプル 6〜 1 0、 ビデ オサンプル 3 ■ ■ ■の順に格納されることになる。
このとき、ビデオサンプル 2の再生開始時間は、 450 Om sであり、 ビデオサンプル 2の直後に格納されているオーディオサンプル 6の再生 開始時間も 4500m sであり、 ビデオサンプルとそのビデオサンプル 直後のオーディオサンプルの再生開始時間は、 常に同一となるように揃 元られている。
また、 ビデオサンプルとオーディオサンプルのサンプルレートは異な るため、 ビデオサンプルの再生開始時間とその直後のオーディオサンプ レの再生開始時間とが同一とならない場合も生じうる。 このような場合 でも、 ビデオサンプル直後のオーディオサンプルを、 ビデオサンプルの 再生開始時間と近似する再生開始時間を有するオーディオサンプルとす ることによって、 ビデオデータとオーディオデータの同期再生を担保す ることができる。
図 2 5は、 M P 4ファイル拡張部の m d a t _ 1に実体データが格納 されている様子を示す第 2のデータ構造を示す図である。
図 2 5に示すように、 M P 4フアイル拡張部 2 5 0の m d a t— 1の 先頭に格納されているビデオサンプル 1の再生開始時間は、 4 0 0 0 m sであり、 ビデオサンプル 1の直後に格納されているオーディオサンプ ル 1の再生開始時間は、 4 0 5 0 m sであり、 ビデオサンプル 1の直後 に格納されるオーディオサンプルとして、 ビデオサンプル 1の再生開始 時間以降であって最も早い再生開始時間を有するオーディオサンプル 1 が格納されている。
ここで、 先に説明した場合と同様に、 ビデオサンプルの再生時間長は 5 0 0 m sとし、オーディオサンプルの再生時間長は 1 0 0 m sとする。 従って、 M P 4ファイル拡張部 2 5 0の m d a t— 1 には、 ビデオサ ンプル 1の直後に、 オーディオサンプル 1 〜 5がインタリーブして格納 され、 その後に、 ビデオサンプル 2、 オーディオサンプル 6〜 1 0、 ビ デオサンプル 3 ■ ■ 'の順に格納されることになる。
このとき、ビデオサンプル 2の再生開始時間は、 4 5 0 O m sであり、 ビデオサンプル 2の直後に格納されているオーディオサンプル 6の再生 開始時間は、 4 5 5 0 m sであり、 ビデオサンプルとそのビデオサンプ ル直後のオーディオサンプルの再生開始時間は、 常に近似するように揃 えられている。
なお、 ここで、 ビデオサンプルの直後に格納されるオーディオサンプ ルとして、 ビデオサンプルの再生開始時間以前であって最も遅い再生開 始時間を有するオーディオサンプルを格納することとしてもよい。 この 場合、 ビデオサンプル 1の直後に格納されるオーディオサンプル 1は、 3 9 5 0 m sの再生時間を有することになる。
以上説明したように、 本実施の形態 3に係る多重化装置によれば、 ビ
デオサンプルの直後に、 ビデオサンプルの再生開始時間と同一または近 似する再生開始時間を有するオーディオサンプルを配置し、 ビデオサン プルとオーディオサンプルとを再生開始時間が昇順となるようにインタ リーブして m d a t に格納するので、 シーク速度の遅い再生装置におい ても、 迅速にランダムアクセス可能なデータ構造の M P 4ファイル拡張 部を作成することができる。
(実施の形態 4 )
続いて、 本発明の実施の形態 4に係る逆多重化装置について、 図 2 6 および図 2 7を参照しながら説明する。
図 2 6は、 本実施の形態 4に係る逆多重化装置の機能的な構成を示す ブロック図である。
逆多重化装置 3 0 0は、 上記実施の形態 1 、 2および 3に係る多重化 装置で作成された M P 4ファイル拡張部を含む M P 4ファイルデータを 取得して解析し、 メディアデータを逆多重化して再生データを出力する 装置であり、 ファイル入力部 3 0 1、 ファイルデータ蓄積部 3 0 2、 へ ッダ分離解析部 3 0 3、m o o V解析部 3 0 4、m o o f 解析部 3 0 5、 t r a f 解析部 3 0 6、 t r u n解析部 3 0 7、 R A検索部 3 0 8およ びサンプル取得部 3 0 9を備えている。
ファイル入力部 3 0 1 は、 M P 4ファイルデータを取得するインター フェースであり、 取得した M P 4ファイルの入力データを順次、 フアイ ルデータ蓄積部 3 0 2に蓄積させる。
ファイルデータ蓄積部 3 0 2は、 M P 4入力データを一時的に保持す るキャッシュメモリや R A M等である。
ヘッダ分離解析部 3 0 3は、 ファイルデータ蓄積部 3 0 2に保持され ている M P 4入力データのうち M P 4ファイルのヘッダデータを読み出 して解析し、 M P 4ファイルの基本部ヘッダの m o o Vデータと、 拡張
部へッダの m o o f データとに分離して、 それぞれ m o o V解析部 3 0 4および m o o f 解析部 3 0 5に出力する処理部であり、 C P Uやメモ リによって実現される。
m o o V解析部 3 0 4は、 M P 4ファイルの m o o Vを解析して、 メ ディアデータの符号化レートやコンテンツの再生時間長等、 メディアデ —タの解析に必要なメディア情報を取得する処理部であり、 C P Uゃメ モリによって実現される。 この m o o V解析部は、 取得したメディア情 報を m o o f 解析部 3 0 5に出力する。
m o o f 解析部 3 0 5は、 M P 4フアイルの m o o f を、 m o o v解 析部 3 0 4から取得したメディア情報に基づいて解析し、 トラック毎の へッダデータである t r a f データを t r a f 解析部 3 0 6に出力する 処理部であり、 C P Uやメモリによって実現される。
t r a f 解析部 3 0 6は、 M P 4ファイルの t r a f を解析して、 t r a f に含まれるサンプル毎のへッダデータである t r u nデータを t r u n解析部 3 O 7に出力する処理部であり、 C P Uやメモリによって 実現される。
t r u n解析部 3 0 7は、 M P 4ファイルの t r u nを解析して、 t r u n内の各フィールドに記述されている情報を取得して、 サンプル取 得部 3 0 9に t r u n解析情報を出力する処理部であり、 C P Uやメモ リによって実現される。 この t r u n解析情報には、 例えば、 そのサン プルのサイズや、 そのサンプルがファイルデータ蓄積部 3 0 2のどこに 格納されているかを示すデータオフセッ ト情報や、 さらにビデオサンプ ルの場合にはィントラフレームであることか否かを示すフラグ情報等が 含まれている。
また、 この t r u n解析部 3 0 7は、 次に述べる R A検索部 3 0 8か ら、 ランダムアクセス後の再生開始位置を示し、 再生の開始を指示する
出力信号である再生開始指示を取得すると、 再生開始指示によって示さ れる t r u nから順に解析して、 サンプル取得部 3 0 9に t r u n解析 情報を出力する。
R A検索部 3 0 8は、 ランダムアクセス後の再生開始時間を示す目標 再生時間情報を取得して、 ビデオトラックに関するヘッダ情報を格納す る先頭の t r a f 内の先頭の t r u nに含まれる先頭サンプルについて の再生開始時間、 およびイントラフレームであるかを示す情報である先 頭サンプル情報を読み出して、 ランダムアクセス後の再生開始位置とな るビデオサンプルを検索する処理部であり、 C P Uやメモリによって実 現される。 この R A検索部 3 0 8は、 ユーザからのランダムアクセス指 示を受け付ける逆多重化装置 3 0 0の入力装置から目標再生時間情報を 取得すると、 t r u n解析部 3 0 7から先頭サンプル情報のみを順次取 得して、 目標再生時間情報と同一または近似する再生開始時間を有する ビデオサンプルを検索し、 再生開始指示を t r u n解析部 3 0 7に出力 する。
サンプル取得部 3 0 9は、 t r u n解析情報に基づいて、 サンプルの 実体データを読み出して復号化し、 再生データをディスプレイ等の表示 装置に出力する処理部である。 このサンプル取得部 3 0 9は、 t r u n 解析部 3 0 7から t r u n解析情報を取得すると、 これに含まれるデー タオフセッ ト情報を参照して、 ファイルデータ蓄積部 3 0 2からサンプ ルの実体データを読み出す。 ここで、 t r u n解析情報の取得開始をも つて、 再生開始が指示されたものとする。
このように構成される逆多重化装置 3 0 0におけるランダムアクセス 処理動作について図 2 7を用いて説明する。
図 2 7は、 逆多重化装置 3 0 0のランダムアクセス処理動作を示すフ ロー図である。 なお、 このフローに先立って、 逆多重化装置 3 0 0は、
入力装置を介してユーザからのランダムアクセス指示を受け付けている ものとする。
まず、 逆多重化装置 300は、 ファイル入力部 30 1において、 上記 実施の形態 1 、 2または 3に係る多重化装置において作成された M P 4 ファイルのデータを取得すると (S 400)、順次ファイルデータ蓄積部 302に蓄積させていく。
次に、 逆多重化装置 300は、 ヘッダ分離解析部 303において、 M P 4ファイルのファイルヘッダ部のみを分離して解析し (S 4 1 0)、さ らに、 基本部ヘッダと拡張部ヘッダとに分離して、 mo o v解析部 30 4において基本部ヘッダを解析し、 m o o f 解析部 305において拡張 部ヘッダを解析する (S 420)。
続いて、 逆多重化装置 300は、 m o o f 解析部 305において、 拡 張部ヘッダをさらに、 トラック毎のヘッダに分離して、 t r a f 解析部 306において、 トラックフラグメント、 すなわち、 t r a f を解析す る (S 430)。 このとき、 逆多重化装置 300は、 t r a f 解析部 30 6において、 トラックフラグメントをさらに分離して、 t r u n解析部 307において、 t r u nを解析する。
ここで、 逆多重化装置 300は、 R A検索部 308において目標再生 時間情報の入力があると、 t r u n解析部 307から先頭サンプル情報 を R A検索部 3 08に出力し、 R A検索部 308において、 目標再生時 間情報と同一または近似する再生開始時間が示されている先頭サンプル 情報であるか否かを判定する (S 440)。
このとき、 対象サンプルが見つからなければ (S 450の N o)、逆多 重化装置 300は、 R A検索部 308において、 ファイル内における格 納順で次に配置された拡張部ヘッダにおける先頭サンプル情報を取得し て、 先に取得している目標再生時間情報と同一または近似する再生開始
時間が示されている先頭サンプル情報であるか否かを判定する (S 4 4
一方、 対象サンプルが見つかれば(S 4 5 0の Y e s )、逆多重化装置 3 0 0は、 R A検索部 3 0 8において、 再生開始指示を生成し、 t r u n解析部 3 0 7に出力する。 t r u n解析部 3 0 7は、 R A検索部 3 0 8から再生開始指示を受けると、 再生開始指示を受けた t r ui nから順 に、 t r u n解析情報をサンプル取得部 3 0 9に出力する。 ここで、 再 生開始指示を受けた t r u nとは、 R A検索部 3 0 8において再生開始 を指示されたサンプルを含む t r u nを指す。
その後、 逆多重化装置 3 0 0は、 サンプル取得部 3 0 9におしヽて、 t r u n解析情報に含まれるデータオフセッ 卜情報を参照して、 ファイル データ蓄積部 3 0 2から対象サンプルの実体データを取得し(S 4 6 0 )、 復号化して再生データを出力してランダムアクセス処理動作を終了する 以上説明したように、 本実施の形態 4に係る逆多重化装置 3 O 0によ れぱ、 上記実施の形態 1、 2または 3に係る多重化装置が作成する M P 4ファイル拡張部を含む M P 4ファイルについてランダムアクセス再生 を行なう際に、 各バケツ 卜の先頭に格納されているビデオサンプルのみ を検索することによって、 ランダムアクセス後の再生開始位置とすべき ビデオサンプルを判定することができるので、 ランダムアクセス時のサ ンプル検索負荷が大幅に軽減されることになる。
(適用例)
ここで、 本発明に係る多重化装置の適用例について図 2 8を用いて説 明する。
図 2 8は、 本発明に係る多重化装置の適用例を示す図である。
本発明に係る多重化装置は、 ビデオデータやオーディオデータ等のメ ディアデータを取得して多重化し、 M P 4ファイルデータを作成する録
画機能付き携帯電話機 403やパーソナルコンピュータ 404に適用さ れうる。 また、 本発明に係る逆多重化装置は、 作成された MP 4フアイ ルデータを読み込んで再生する携帯電話機 407に適用されうる。
ここで、 録画機能付き携帯電話機 403およびパーソナルコンビユー タ 404におし、て作成された M P 4ファイルデータは、 S Dメモリカー ド 405や D V D— RAM 406等の記録媒体に格納されたり、 通信ネ ッ トワーク 4 O 2を介して画像配信サーバ 40 1に送信されて、 画像配 信サーバ 40 1から他の携帯電話機 407等に配信されたりする。
このように、 本発明に係る多重化装置および逆多重化装置は、 画像配 信システム等における M P 4ファイルの作成装置または再生装置として 利用されるものである。
以上、 本発明に係る多重化装置および逆多重化装置について、 各実施 の形態等に基づいて説明したが、 本発明は、 これらの実施の形態等に限 定されるものではない。
例えば、 上言己各実施の形態では、 ビデオデータとして、 MPEG-4Visual の符号化データを用いることとしたが、 ビデオデータとして、 MPEG - 4 AVC (Advanced Video Coding)や H.263等のその他の動画像圧縮符号化方 式による符号化データを用いてもよし、。なお、 MPEG - 4 AVG (Advanced V i deo Coding)や H.263の符号化データでは、 1 ピクチャが 1サンプルに相当す ることになる。
同様に、 オーディオデータとして、 MPEG-4Audioの符号化データを用 いることとしたが、 オーディオデータとして、 G.726 等のその他の音声 圧縮符号化方式による符号化データを用いてもよい。
また、 上記各実施の形態では、 ビデオデータとオーディオデータとを 用いて説明しているが、 テキストデータ等が含まれている場合でも、 ォ 一ディォデータのバケツ ト化と同じように処理することによって、 本発
明の効果を得ることができる。
さらに、 上記実施の形態 2において、 イントラフレーム毎にバケツト 化を行なうとする場合には、 パケッ ト単位決定部 1 1 7の構成要素から 時間基準単位調整部 1 2 0を省略し、 図 1 8のステップ S 2 0 5の処理 を省略することとしてもよい。
またさらに、 上記実施の形態 3において、 M P 4ファイルの再生装置 側で予め設定されているバッファモデルに従って M P 4ファイルが再生 されることとなっている場合には、 そのバッファモデルを満たすように ビデオサンプルのデータとオーディオサンプルのデータとをインタリー ブして m d a tに格納することとしてもよい。 ここで、 ノ ッファモデル とは、規格で定められた条件に従って符号化データが入力される場合に、 その規格で定められたサイズのバッファを再生装置に持たせることで、 バッファが空になる(アンダーフロー)、または、バッファから溢れる(ォ 一バーフロー) ことなく、 再生装置が復号化を行なうことができること を保証するためのモデルである。
また、 上記実施の形態 1 、 2および 3において、 作成される M P 4フ アイルの拡張部の m o o f に格納する t r a f の個数について言及して いないが、 m o o f に格納する t r a f は、 1つの卜ラックにっき 1つ の t r a f を格納するのが好ましい。 このようにすることで、 トラック 毎に、 m o o f 内の先頭 t r a f のみを解析すれば、 m o o f に格納さ れる トラックの全てのサンプルについてのヘッダ情報を取得することが できるので、 ヘッダ情報取得時の効率がさらに向上することとなる。 さらに、 上記実施の形態 1 、 2および 3において、 作成される M P 4 ファイルの拡張部の m o o f にヘッダ情報が格納されるサンプルの実体 データは、 m o o f に連続する 1つの m d a tに格納するとしているが、 m o o f に連続する複数の m d a tに分割して格納することとしてもよ
い。 具体的に説明すると、 m o o f _1にヘッダ情報が格納されるサン プルの実体データを、 m d a t— 1 、 m d a t— 2、 m d a t— 3の順 に格納し、 m o o f — 2にヘッダ情報が格納されるサンプルの実体デー タを、 m d a t— 4、 m d a t— 5、 m d a t—6の順に格納するとし てもよい。
そして、 上記実施の形態 2および 3では、 パケット内に動画像データ のイントラフレームが含まれる場合には、 バケツ 卜の先頭に配置するこ ととしているが、 ランダムアクセスが可能であれば、 P (Predictive)フ レ一ムや B (Bidi rectional ly predict ive)フレーム等、 イントラフレー ム以外のビデオサンプルをバケツ卜の先頭に配置することとしてもよい。 以下、 これについて、 ビデオデータとして MPEG- 4 AVGの符号化データを 用いた場合を例に挙げて説明する。
MPEG-4AVGでは、 イントラピクチャから復号化しても正しい復号結果 を得られない場合がある。 より詳しく説明すると、 MPEG - 4 AVCのイント ラビクチャには、 IDR( Instantaneous Decoder Refresh)ピクチャと、 そ れ以外のピクチャ (以下、 non- IDRイントラピクチャと称する。) の 2種 類があり、 IDR ピクチャから復号化を開始すると、 必ず正しい復号結果 を得ることができるが、 non - IDR イントラピクチャから復号化を開始す ると、 non-IDRイントラピクチャおよび表示順で non-IDRイン卜ラピク チヤ以降の複数枚のピクチャについて、 正しい復号結果を得られないこ とがある。
そのため、 MPEG-4 AVGでは、 non - 1 DRイントラピクチャから正しい復 号結果を得るためには、 どのピクチャから復号化を開始すればよいかを 示す補助情幸艮 (Recovery Point Supplemental Enhancement Information 以下、 " Recovery Point SE ' と称する。) を付加することができる。 例えば、 P i c一 1 、 P i c 2、 P i c— 3、 P i c— 4、 P i c
—5で示される 5枚のピクチヤが、 この順序でビデオデータに含まれ、 P i c— 5が non- IDRイントラピクチャで、 表示順で P i c— 5および P i c— 5以降のピクチャを正しく復号化しようとすると、 P ί c— 1 から復号化を開始しなければならない場合、 P i c— 1 の直前に、 Recovery Point SEI を配置することによって、 ビデオデータ内における 格納順で 4枚後のピクチャである P i c— 5、 および、 表示順でそれ以 降のピクチャを正しく復号化するためには、 P i c— 1から復号化を開 始する必要があることを示すことができる。
すなわち、 この場合に、 P i c— 1は、 ランダムアクセス可能なサン プルであるといえるので、 MPEG - 4 AVGの符号化データの場合、 IDRピク チヤまたは Recovery Point SEIが付加されたピクチャのサンプルを、 ラ ンダムアクセス可能なサンプルとして、 バケツ 卜の先頭に配置すること としてもよい。 なお、 Recovery Point SEI はイントラピクチャ以外のピ クチャに付加することもできる。
このとき、 Recovery Point SEI が付加されたピクチャのサンプルと、 Recovery Point SEIが付加されたピクチャから復号化を開始することで 初めて正しい復号結果を得られるようになるピクチャのサンプルとを同 一バケツ 卜に格納することによって、 サンプルデータ取得時の処理量を 削減することができる。
さらに、 IDRピクチャと、 Recovery Point SEIが付加されたピクチャ のサンプルとは、 先頭サンプルフラグ 9 3 0、 あるいはサンプルフラグ 9 3 5における特定のフラグ値 (以降、 ノンシンクサンプルフラグと呼 ぶ。) により識別することができる。 M P 4においては、 ランダムァクセ ス可能なサンプルのうち、 ランダムアクセスするサンプルと正しい復号 結果が得られるサンプルとが一致するサンプルについてのみ、 ノンシン クサンプルフラグを 0にセッ トすることができる。 このため、 IDR ピク
チヤのサンプルではノ ンシンクサンプルフラグを 0と し、 Recovery Po i n t SE I が付加されたピクチャのサンプルではノンシンクサンプルフ ラグを 1 とすることにより、 両者を識別することができる。
以上のような識別方法を用いることによリ、 I DRピクチャと Recovery Po i n t SE I が付加されたピクチャに限らず、 互いに異なる性質をもつラ ンダムアクセス可能なサンプルを識別することができる。 実際には、 以 下のように使用することができる。
まず 1 つ目は、 特定のサンプルのみを再生していくことにより、 早送 り再生を行う場合である。 このときは、 復号したサンプルをただちに表 示できることが望ましいので、 ノンシンクサンプルフラグが 0であるサ ンプルのみを復号化し、 再生することとする。
2 つ目は、 コンテンツの途中から再生を開始する、 あるいは特定区間 をスキップして次区間の再生を開始するような場合である。 このとき、 復号を開始するサンプルと正しい復号結果が得られるサンプルとが異な る可能性があるのは、 再生開始時のみである。 そこで、 ノンシンクサン プリレフラグが 0であるサンプル、 あるいはノンシンクサンプルフラグが 1であるランダムアクセス可能なサンプルのどちらからでも再生を開始 できることとする。
なお、 このような格納方法は、 MPEG- 4 AVGの Recovery Po i nt SE I の 場合に限られず、 復号化を開始するサンプルと、 正しい復号結果が得ら れるサンプルとが異なる場合に適用することができ、 例えば、 MPEG2 - V i deoにおける Open GOP (Group Of P i ctures)のよゔな構造に適用 することができる。
さ らに、 サンプルがランダムアクセス可能であることを示す識別情報 が付加されている際には、 その識別情報によってランダムアクセス可能 であることが示されているサンプルをバケツ 卜の先頭に配置することと
してもよい。 産業上の利用の可能性
本発明に係る多重化装置は、 ビデオデータやオーディオデータ等のメ ディアデータを取得して M P 4ファイルデータを作成し、 記録媒体に格 納するデジタルビデオカメラや録画機能付き携帯電話機等、 または、 作 成した M P 4ファイルデータをィンターネッ トを介して配信するパーソ ナルコンピュータや P D A等に用いるのに適し、 本発明に係る逆多重化 装置は、 M P 4ファイルデータをダウンロードして再生するパーソナル コンピュータや携帯電話機等に用いるのに適している。