JP3847671B2 - データファイル作成方法 - Google Patents
データファイル作成方法 Download PDFInfo
- Publication number
- JP3847671B2 JP3847671B2 JP2002192532A JP2002192532A JP3847671B2 JP 3847671 B2 JP3847671 B2 JP 3847671B2 JP 2002192532 A JP2002192532 A JP 2002192532A JP 2002192532 A JP2002192532 A JP 2002192532A JP 3847671 B2 JP3847671 B2 JP 3847671B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- size
- field length
- unit
- unit data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する分野】
本発明は、画像データや音声データを多重化したファイルを作成するデータファイル作成方法、及びデータファイル作成装置に関するものである。
【0002】
【従来の技術】
圧縮符号化された画像データや音声データは、通常複数の符号化フレームからなる。各フレームのサイズは、フレームデータ中に明示されないことは珍しくない。
【0003】
例えば、国際標準規格MPEG4(Moving Picture Experts Group、 Phase−4)における画像フレームを例にとると、図Aに示すように、画像データA01は、複数の符号化フレームfd1〜fd3からなり、各フレームはスタートコードSCから始まることによってフレームの境界が示される。フレームの開始を示すスタートコードは、16進数の0x000001B6という32ビットパタンである。しかしながら、画像データをファイル化して記録したディスクなどから再生表示するようなシステムでは、ランダムアクセスを容易にする必要などから、スタートコードを検出するために要する時間や処理量を削減するため、各フレームのサイズ情報を、ファイル化する際に用いるファイルフォーマット中に記録することが一般的である。
【0004】
一例として、MPEG4で制定されたMP4ファイルフォーマットは、ファイルヘッダ部分に、各フレームのサイズを指定する。以下、図Aに示す画像データをMP4ファイルに記録する場合について説明する。図Bに示すように、MP4ファイルB01は、ヘッダ部moovとデータ部mdatから構成される。データ部mdatは画像データであるフレームデータfd1〜fd3を記録する。ヘッダ部moovは様々な情報を含み、各フレームfd1〜fd3のデータサイズに関する情報であるサイズテーブルも記録する。
【0005】
サイズテーブルの構造を図Cに示す。サイズテーブルC01は、テーブルのサイズbxsize、識別子bxtype、およびテーブルデータtblからなる。識別子bxtypeは2種類がある。識別子が「stsz」である場合、テーブルデータtblの内容は、C02のようになる。まず画像フレーム数eが配され、続いて画像フレーム数eの分だけフレームサイズfs1〜fs3が配される。ここでフレームサイズfs1は画像フレームデータfd1のサイズを、フレームサイズfs2は同じくfd2のサイズを示す。フレームサイズfs1〜fs3のフィールド長は32ビットである。一方、識別子が「stz2」である場合、テーブルデータtblは、C03のようになる。C02との違いは、冒頭にフレームサイズのフィールドのビット長を指示するフラグfがあることである。フラグfにより、フレームサイズのフィールド長は、4ビット、8ビット、16ビットのいずれかとなる。なお、途中でフィールド長が変わることはない。
【0006】
【発明が解決しようとする課題】
上記のように、MP4ではフレームデータのサイズを4、8、16、32ビットのいずれかから選択することが可能であるが、どのような場合にいずれのフィールド長を使用するか、具体的な方法が示されていないという課題があった。
【0007】
【課題を解決するための手段】
本発明は、以上の課題を解決するためになされたものである。
本発明の請求項1によるデータファイル作成方法は、画像、音声、あるいはテキスト等のデジタルデータを入力する第1のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第2のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第3のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第4のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第5のステップと、からなるものである。
【0008】
本発明の請求項2によるデータファイル作成方法は、請求項1に記載のデータサイズ符号化方法において、前記第3のステップは、前記求めた最大データサイズに基づいて、前記フィールド長を予め定めた有限個の中から選択するものとし、前記第4のステップは、前記予め定めたフィールド長の最大値で前記各単位データのデータサイズを記録する場合は、単位データの個数、及び前記各単位データのデータサイズを前記最大のフィールド長で記録した第1のテーブルを作成し、前記予め定めたフィールド長の最大値以外の場合は、単位データの個数、前記フィールド長を示すフラグ、及び前記各単位データのデータサイズを前記フィールド長で記録した第2のテーブルを作成するものとし、前記第5のステップは、前記作成した第1あるいは第2のテーブルと前記単位データを多重化したデータファイルを作成することとしたものである。
【0009】
本発明の請求項3によるデータファイル作成方法は、請求項1に記載のデータサイズ符号化方法において、前記第2のステップは、前記デジタルデータを少なくとも1つ以上のセグメントに分離し、設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第3のステップは、前記設定したセグメント毎にフィールド長を決定するものとし、前記第4のステップは、前記設定したセグメント毎に、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成することとしたものである。
【0010】
本発明の請求項4によるデータファイル作成方法は、請求項1〜3に記載のデータサイズ符号化方法において、前記単位データは、MPEGあるいはITU−Tで規格化された1つ以上のスライス、1つ以上のビデオパケット、1つ以上のフレーム、1つ以上のビデオオブジェクトプレーンのいずれであることとしたものである。
【0011】
本発明の請求項5による記録媒体は、画像、音声、あるいはテキスト等のデジタルデータを入力する第1のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第2のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第3のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第4のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第5のステップと、を実行するためのプログラムを記録したものである。
【0012】
本発明の請求項6によるデータファイル作成装置は、画像、音声、あるいはテキスト等のデジタルデータを入力する第1の手段と、前記デジタルデータを構成する単位データのサイズを求めてメモリに記録する第2の手段と、前記メモリに記録された単位データからデータサイズの最大値を求め、前記最大値に基づき、前記単位データのデータサイズを記録するためのフィールド長を決定し、前記単位データの個数、前記単位データのサイズを記録するためのフィールド長、及び前記各単位データのサイズを記録したテーブルを作成する第3の手段と、前記テーブルと、前記デジタルデータを多重化したデータファイルを出力する第4の手段と、を備えるものである。
【0013】
本発明の請求項7によるデータファイル作成装置は、請求項6に記載のデータファイル装置において、前記第2の手段は、前記デジタルデータを少なくとも1つ以上のセグメントに分離し、前期設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第3の手段は、前記設定したセグメント毎にフィールド長を決定し、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとするものである。
【0014】
本発明の請求項8によるデータファイル作成装置は、請求項6あるいは請求項7に記載のデータファイル装置において、前記単位データは、MPEGあるいはITU−Tで規格化された1つ以上のスライス、1つ以上のビデオパケット、1つ以上のフレーム、1つ以上のビデオオブジェクトプレーンのいずれかであるとするものである。
【0015】
【発明の実施の形態】
(実施の形態1)
本発明にかかるデータファイル作成方法の実施の形態1であるデータファイル作成装置は、デジタルデータとしてMPEG−4で符号化された画像データを入力し、ビジュアルオブジェクトプレーン(以下フレームと呼ぶ)を単位データとし、入力画像データの全フレームのデータサイズを調べ、最大のフレームサイズに基づいて、最適なテーブルを作成し、このテーブルを含むヘッダ部と、入力したデジタルデータを多重化したファイルを生成出力するものである。以下、実施の形態1であるデータファイル作成装置について、図1から図8を用いて説明する。
【0016】
図1は、データファイル作成装置の構成概略を示す、機能ブロック図である。データファイル作成装置101は、MPEG4で圧縮符号化された画像データファイル1aを入力し、MP4規格形式のファイル1bを出力するものである。画像データファイル作成装置101は、画像データ入力部102、画像データ解析部103、メモリ104、ヘッダ作成部105、および出力部106で構成される。
【0017】
図2は、画像データファイル作成装置101の動作概要を示すフローチャートである。図1と図2を用いて、本画像データファイル作成装置の動作を概略説明する。 まず、S201において、画像データ入力部102がMPEG4で圧縮符号化された画像データファイル1aを入力する。次に、S202において、画像データ解析部103は、入力した画像データファイルについて、フレーム境界を示すスタートコードを検索し、フレームサイズを取得し、その結果をメモリ104に書き込む。次に、S203において、ヘッダ作成部105は、メモリ104に記録した入力画像データのフレームサイズ情報を基に、フレームサイズを記録するテーブルを含むヘッダ情報を作成し、S204において、出力部106を通してMP4ファイル1bにおけるヘッダ部moovとしてファイル出力される。さらに、S205において、画像データ入力部102は、再び画像データファイル1aを読み込み、出力部106を通してMP4ファイル1bにおけるデータ部mdatとしてファイル出力される。このようにして作成したMP4ファイルは、様々な状況で使用される。一例としては、作成したMP4ファイルがファイルサーバに保存された場合の使用例を説明する。MP4ファイルは、有線あるいは無線網を介して接続している再生端末からの要求に応じてサーバから端末にダウンロードされる。ダウンロードしたMP4ファイルは、端末において解析、画像復号され、再生される。また、別の使用例としては、端末で作成したMP4ファイルは、一方の端末から他方の端末に送信されるメールにおける添付ファイルとして、転送される。
【0018】
以下、画像データ解析部、及びヘッダ作成部におけるフレームサイズテーブルの作成に関する詳細な動作について説明する。
【0019】
図3は、画像データ解析部103の動作の詳細を説明するフローチャートである。前述したように、画像データ解析部103は、入力した画像データファイルのスタートコードを検索し、フレームサイズを取得する。以下、フローチャートに基づいて動作を説明する。
【0020】
まず、S301において、画像データの先頭から4バイトを読み込み、32ビットの変数Dにセットする。読み込んだ第1バイト目のデータd(1)のMSBが変数Dの第32ビット目に位置するようにビットシフトを行う。以下同様に、第2、第3バイト目のデータd(2)、d(3)のMSBが、それぞれ変数Dの第24、16ビット目に位置するようにビットシフトする。第4バイト目のデータはビットシフトを行う必要はない。このようにして読み込んだd(1)、d(2)、d(3)、d(4)より変数Dをセットした後、S302において、変数Dの値を予め定めた値と比較する。予め定めた値は、16進数の0x000001B6であるとする。0x000001B6は、MPEG4規格において画像フレームのスタートコードとして規定されている。変数Dが0x000001B6ではない場合、S503において、変数Dを8ビット左にシフトし、第5バイト目のデータを読み込んで変数Dにセットする。それから再度S502に戻って変数Dが画像フレームのスタートコードであるかどうか判定する。スタートコードであった時は、S504において、画像フレームのサイズを表す変数Sを4に初期化する。以降、1バイトづつデータを読み出し、画像フレームのスタートコードが検出されるまで変数Sを加算し、画像フレームのスタートコードが検出された時点での変数Sの値をフレームサイズとしてメモリ104に記録していく。
【0021】
まず、S305において画像データ解析部103は1バイト以上、画像データを読み込み可能であるか判定する。1バイト以上読み込み可能な場合、S306以降に進む。S306において変数Dを8ビット左シフトした値と、読み込んだ1バイトデータd(i)との論理和により求めた値でDを更新する。それからS307において変数Dが画像フレームのスタートコードであるか判定する。画像フレームのスタートコードではない場合、S308において変数Sに1を加算し、S305に戻る。S307において変数Dが画像フレームのスタートコードである場合、S309において変数Sから3を減じた値を、フレームサイズとしてメモリ104に記録する。さらに、S310において、現在までに求めたフレームの総数をメモリ104に記録し、S304に戻って変数Sを4に初期化する。S305において、読み出せるデータが1バイト未満になれば、終了する。
【0022】
図4はメモリ104の内容の一例を示すものである。メモリは32ビット幅とする。メモリの先頭にはフレーム総数401を記録し、それに続いて求めた各フレームのサイズ402を順に記録する。図4の例では、処理したフレーム総数は600、第1番目のフレームサイズは14580バイト、最大のフレームサイズは34102バイト、最後のフレームサイズは943バイトであることを示す。
【0023】
図5はヘッダ作成部105の動作手順の概要を示すフローチャートである。ヘッダ作成部105はメモリ104に記録されたフレーム総数、及び各フレームサイズを参照し、フレームサイズテーブル1101を生成する。まず、S501において、メモリからフレームサイズの最大値を求め、S502において、最大値に基づきフレームサイズを記録するフィールド長を決定する。S503において、決定したフィールド長に基づきテーブルを作成し、S504においてその他ヘッダ部分を作成してヘッダ部moovを作成する。次に、上記ステップにおいてS501、S502、およびS503の詳細な動作を図6〜図8を用いて説明する。
【0024】
図6は、最大フレームサイズを求めるステップS501の詳細な動作を説明するためのフローチャートである。まず、S601において、フレームサイズの最大値を表す変数Smaxをゼロに初期化する。続いてS602メモリ104の読み出しポインタを総フレーム数の記録位置にセットし、S603において総フレーム数を読み出して変数Nにセットし、さらにS604において内部フレームカウンタ変数nを1にセットする。次に、S605においてメモリの読み出しポインタを4バイト(32ビット)進める。なお、これは図4のメモリ記録例に依存するものであって、フレーム総数の記録位置から4バイト先に第1番目のフレームサイズの記録位置に読み出しポインタがセットされるようにする。次に、S606において、メモリから読み出した第n番目のフレームサイズを読み出して変数Sにセットし、S607において、SmaxとSを比較する。もし、それまでのフレームサイズの最大値であるSmaxより、今読み出したフレームサイズであるSの方が大きい場合、S608において変数SmaxをSで更新する。そして、S609においてフレームカウンタnとフレーム総数Nを比較し、nがN以下の場合、S605に戻る。以上の処理によってフレームサイズの最大値が求められる。
【0025】
図7は、フレームサイズを記述するフィールドのビット長を決定するステップS502の詳細な動作を説明するためのフローチャートである。S501において求めたフレームサイズの最大値Smaxを入力し、条件に従ってフレームサイズを記録するフィールド長を決定する。詳しく説明すると、S701においてSmaxが16未満であるかどうか判定し、判定が真の場合は、S702においてフィールド長を4ビットとする。S701が偽の場合、S703においてSmaxが256未満であるかどうか判定し、判定が真の場合は、S704においてフィールド長を8ビットとする。S703が偽の場合、S705においてSmaxが16384未満であるかどうかを判定し、判定が真の場合はS706においてフィールド長を16ビットとし、偽の場合はフィールド長を32ビットとする。
【0026】
図8は、テーブルを作成するステップS503の詳細な動作を説明するためのフローチャートである。S503では、図11の1102、1103に示した構造のテーブルを作成する。なお、1101に示すサイズboxsize、識別子boxtypeの生成過程の説明は省略する。まずS801において、S502において求めたフィールド長が32ビットであるかどうか判定する。判定が偽の場合のみ、S802において、フィールド長を識別するための符号を、図11のフィールド長を指示するフラグfとして出力する。次にS803において、図4のメモリ401に記録されている総フレーム数を、図11のフレーム数eとして出力する。次に、S804、S805において、図4のメモリ402に記録されている各フレームのサイズを、図11のフレームサイズfs1〜fs3として、S502で決定したフィールド長で、順次出力する。
【0027】
以上、本発明のデータファイル作成方法における実施の形態1であるデータファイル作成装置について説明した。本実施の形態1によれば、入力画像データに応じて適切なフィールド長を選択して記録できるため、フレームサイズを記録するテーブルのサイズをコンパクトにすることが可能となる。。
【0028】
本実施の形態1では、データファイル作成装置としてハードウェアにて動作させるものとして説明したが、これに限るものではない。例えば、上記説明した動作をCPU上で動作させることも可能である。また、説明した動作を実行するプログラムとしてフレキシブルディスクのような記録媒体に格納することも可能である。
【0029】
なお、本実施の形態1のデータファイル作成装置は、入力データがMPEG−4規格で符号化された画像データとして動作を説明したが、これに限らるものではない。例えば、MPEG−1、MPEG−2規格で符号化された画像データであっても良い。MPEG−1やMPEG−2の場合、フレームの開始を示すスタートコードは0x00000100である。MPEG−1やMPEG−2の画像データを入力とする場合、図3のS302における判定に用いる値を0x000001B6ではなく、0x00000100とすれば、同様の処理を適用することが可能である。また、ITU−Tで規格化されたH.261、H.263の画像データの場合も、同様にフレームの開始を示すスタートコードを変更することによって、本実施の形態1を適用可能である。また、H.264の画像データのようにスタートコードがない場合、図3のフローチャートに示す動作を実行するかわりに、H.264の符号化器が出力する各フレームのデータサイズに関わる情報をデータファイル作成装置101に入力すれば、同様に本実施の形態1を適用可能である。
【0030】
また、本実施の形態1のデータファイル作成装置は、画像データ以外に、音声データやテキストデータ、グラフィックスデータなどを入力して、動作させることも可能である。例えば、音声データとして3GPP(3rd Generation Partnership Project)規格であるAMR(Adaptive Multi Rate)音声データの場合、図3のフローチャートに示す動作を実行するかわりに、音声データのヘッダ部よりフレームサイズを計算し、各フレームのサイズを求めることが可能である。
【0031】
また、本実施の形態1のデータファイル作成装置は、フィールド長は、4ビット、8ビット、16ビット、32ビットから選択可能であることとしたが、これに限るものではなく、任意のビット長を使用しても良い。
【0032】
また、本実施の形態1のデータファイル作成装置は、単位データを1フレームとして説明したが、これに限らず、複数のフレームをまとめて1単位データとしても良い。例えば、AMRの5フレームを1単位データとし、各単位データのサイズを求めて、単位データの最大データサイズに基づいて、各単位データを記録するためのフィールド長を決定するようにすることも可能である。また、単位データとしては、フレームに限るものでなく、MPEG−1、MPEG−2のスライス、MPEG−4のビデオパケット、あるいはスライス、H.261、H.263、H.264のスライスを、単位データとしてテーブルを作成しても良い。つまり、入力画像データの各スライスのサイズを求め、全スライスの最大値に基づき、スライスのデータサイズを記録するフィールドのビット長を決定し、データサイズを記録するフィールドのビット長を指定するためのフラグ、スライスの個数、およびスライスのデータを記録するテーブルを作成するようにしても良い。
また、スライスのデータサイズを記録するテーブルと、フレームのサイズを記録するテーブルの両方を作成してヘッダ部に含むようにしても良い。さらに、各フレームが何個のスライスを含んでいるかを示すテーブルもヘッダ部に含むようにしても良い。この場合、各フレームにおける最初、あるいは最後のスライスのデータサイズは、スライスのサイズを記録するテーブルには記録しないようにしても良い。つまり、記録されないスライスのデータサイズは、フレームのデータサイズから、記録されたスライスのデータサイズの和を減じることによって、簡単に得ることができる。これについて、図12、図13を用いて具体的に説明する。
【0033】
図12の例に示す画像データは、第1番目のフレームは4つのスライスからなり、各スライスのサイズは1470バイト、984バイト、881バイト、755バイト、これを合計したフレームサイズは4090バイトである。同様に、第2番目のフレームは3スライス、2584バイト、第3番目のフレームは1スライス、703バイト、第4番目のスライスは2スライス1519バイトである。各フレームが含むスライスの個数を記録するテーブル12aにおける各エントリ12a1〜12a4は、順に4、3、1、2となる。また、フレームサイズを記録するテーブル12bにおける各エントリ12b1〜12b4は、各フレームのサイズを示している。各スライスのサイズを示すテーブル12cは、各フレームにおける第1番目のスライス以外のデータサイズのみを記録する。したがって、各フレームに対して、エントリ12a1〜12a4に示されたスライス数より1つだけ少ない数のエントリとなる。つまり、エントリ12a1は4を示しているが、スライスサイズテーブルには、第2〜4番目のスライスサイズを示す3つのエントリ12c12〜12c14が記録される。また、第3番目のフレームは、スライス数が1であるため、スライスサイズテーブルには、スライスサイズは記録されない。
【0034】
これらのテーブルを含むMP4ファイルを入力して解析する機器あるいはプログラムが、記録されないスライスのサイズを計算する方法について、図13のフローチャートを用いて説明する。なお、図13において、rpaはテーブル12aに対する読み出しポインタ、rpbはテーブル12bに対する読み出しポインタ、rpcはテーブル12cに対する読み出しポインタとする。
【0035】
まず、S1301において、テーブル12aより、ポインタrpaが指し示すエントリの値を読み出す。読み出した値は、フレームに含まれるスライスの個数を示している。この値をNとする。次に、S1302において、テーブル12bより、ポインタrpbが示すエントリの値を読み出す。読み出した値は、フレームサイズを示している。この値をFとする。次に、S1303において、テーブル12cより、(N−1)回、エントリに記録されたデータを読み出す。今、N=4であるとすると、rpc、rpc+1、rpc+2が指し示すエントリの値を読み出す。これらはそれぞれ、第2〜4番目のスライスのサイズであり、これらの値をS(2)〜S(4)とする。次に、S1304において、第1番目のスライスのサイズS(1)を求める。S(1)の値は、フレームサイズFから、第2番目以降のスライスサイズの和を減じたものとなる。以上の処理でフレームに含まれる全スライスのサイズが既知となる。なお、フレームが1つのスライスしか含んでいない場合、S1303はスキップされ、S1304において、S(1)=Fとなる。さらにS1305で各テーブルの読み出しポインタを進め、S1306で全てのフレームに対する処理が終わるまで、S1301〜S1305を繰り返すようにする。なお、図12、図13の例では、各フレームの第1番目のスライスデータのサイズを記述しないこととしたが、最後のスライスデータのサイズを記述しないこととしても良い。しかしながら、第1番目のスライスデータの方が、最後のスライスに比べてデータサイズが大きくなることが多いため、第1番目のスライスデータを記録しないこととした方が好ましい。
【0036】
また、本実施の形態1のデータファイル作成装置は、入力画像データ全体から最大のフレームサイズを求めてフィールド長を決定することとしたが、入力画像データを整数個の単位データからなる1つ以上のセグメントに分割し、セグメント毎に単位データのサイズの最大値を求めて、フィールド長を決定することとしても良い。入力データをセグメントに分割することにより、一時的に単位データのサイズが大きくなるような場合、その部分を1つのセグメントとして分離して単位データのサイズを記録するフィールド長を大きくし、その他の部分は別のセグメントとしてフィールド長を小さくすることができ、さらにテーブルのサイズをコンパクトにすることが可能となる。これについて、図14、図15を用いて具体的に説明する。図14は、画像データを示し、各エントリは単位データであるスライスのサイズを示している。スライスのサイズを調べ、図14に示すようにサイズが256バイト以上であるセグメント1、256バイト未満であるセグメント2のように分けることができる。例えば、セグメント1に対しては、フィールド長を16ビットとし、セグメント2に対してはフィールド長を8ビットとすることができる。このように入力データをセグメントに分割した際の、スライスサイズを記録するテーブルの例を図15に示す。テーブル1501は、セグメント数nと、セグメント数nで示された数のセグメントデータs1〜s3からなる。セグメントデータの構成は、図に示すように、フラグf、スライス数e、スライスサイズfs1〜fs2である。
【0037】
なお、フラグfは、セグメント内のスライスサイズのフィールド長を示す符号であるとして説明したが、フラグfの具体的な例としては、フィールド長はフラグfの示す値の8倍とすることが可能である。例えば、フラグfの値が1の場合、8ビット、2の場合16ビットとする。
【0038】
以上のように、本実施の形態1によるデータファイル作成方法によれば、入力データを構成するフレームあるいはスライスなどの単位データのサイズを記録するテーブルをコンパクトにすることが可能となる。
【0039】
【発明の効果】
本発明の請求項1によるデータファイル作成方法は、画像、音声、あるいはテキスト等のデジタルデータを入力する第1のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第2のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第3のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第4のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第5のステップと、からなり、単位データの最大値に基づいて最適なフィールド長を決定するため、テーブルのサイズをコンパクトにしてヘッダ部のサイズを削減できる。したがって、リモートサーバからファイルデータをダウンロードしながら再生する場合は、ヘッダのダウンロードに要する時間を削減でき、再生開始可能になるまでの時間を短縮できるという効果が得られる。また、磁気ディスクや光磁気ディスク等へ記録する場合は、より長時間可能になるという効果が得られる。
【0040】
本発明の請求項2によるデータファイル作成方法は、請求項1に記載のデータサイズ符号化方法において、前記第3のステップは、前記求めた最大データサイズに基づいて、前記フィールド長を予め定めた有限個の中から選択するものとし、前記第4のステップは、前記予め定めたフィールド長の最大値で前記各単位データのデータサイズを記録する場合は、単位データの個数、及び前記各単位データのデータサイズを前記最大のフィールド長で記録した第1のテーブルを作成し、前記予め定めたフィールド長の最大値以外の場合は、単位データの個数、前記フィールド長を示すフラグ、及び前記各単位データのデータサイズを前記フィールド長で記録した第2のテーブルを作成するものとし、前記第5のステップは、前記作成した第1あるいは第2のテーブルと前記単位データを多重化したデータファイルを作成することとしたものであり、MP4規格のデータ構造を適用しつつ、請求項1で述べた効果と同様の効果を得ることが可能となる。
【0041】
本発明の請求項3によるデータファイル作成方法は、請求項1に記載のデータサイズ符号化方法において、前記第2のステップは、前記デジタルデータを少なくとも1つ以上のセグメントに分離し、設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第3のステップは、前記設定したセグメント毎にフィールド長を決定するものとし、前記第4のステップは、前記設定したセグメント毎に、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成することとしたもので、各セグメント毎に最適なデータサイズを設定可能となるため、請求項1に記載のデータファイル作成方法に比べ、さらにテーブルのサイズをコンパクトにすることが可能となり、再生開始可能になるまでの時間のさらなる短縮化等を図ることができる。
【0042】
本発明の請求項4によるデータファイル作成方法は、請求項1〜3に記載のデータサイズ符号化方法において、前記単位データは、MPEGあるいはITU−Tで規格化された1つ以上のスライス、1つ以上のビデオパケット、1つ以上のフレーム、1つ以上のビデオオブジェクトプレーンのいずれであることとしたものであり、既存の符号化標準方式に対して、本発明のデータファイル作成方法を適用することが可能になるという効果が得られる。
【0043】
本発明の請求項5による記録媒体は、画像、音声、あるいはテキスト等のデジタルデータを入力する第1のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第2のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第3のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第4のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第5のステップと、を実行するためのプログラムを記録したものであり、本発明のデータファイル作成方法の可搬性を高めることができるという効果が得られる。
【0044】
本発明の請求項6によるデータファイル作成装置は、画像、音声、あるいはテキスト等のデジタルデータを入力する第1の手段と、前記デジタルデータを構成する単位データのサイズを求めてメモリに記録する第2の手段と、前記メモリに記録された単位データからデータサイズの最大値を求め、前記最大値に基づき、前記単位データのデータサイズを記録するためのフィールド長を決定し、前記単位データの個数、前記単位データのサイズを記録するためのフィールド長、及び前記各単位データのサイズを記録したテーブルを作成する第3の手段と、前記テーブルと、前記デジタルデータを多重化したデータファイルを出力する第4の手段と、を備えるものであり、単位データの最大値に基づいて最適なフィールド長を決定するため、テーブルのサイズをコンパクトにしてヘッダ部のサイズを削減できる。したがって、リモートサーバからファイルデータをダウンロードしながら再生する場合は、ヘッダのダウンロードに要する時間を削減でき、再生開始可能になるまでの時間を短縮できるという効果が得られる。また、磁気ディスクや光磁気ディスク等へ記録する場合は、より長時間記録可能になるという効果が得られる。
【0045】
本発明の請求項7によるデータファイル作成装置は、請求項6に記載のデータファイル装置において、前記第2の手段は、前記デジタルデータを少なくとも1つ以上のセグメントに分離し、前期設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第3の手段は、前記設定したセグメント毎にフィールド長を決定し、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとするため、請求項6に記載のデータファイル作成装置に比べ、さらにテーブルのサイズをコンパクトにすることが可能となり、再生開始可能になるまでの時間のさらなる短縮化等を図ることができる。
【0046】
本発明の請求項8によるデータファイル作成装置は、請求項6あるいは請求項7に記載のデータファイル装置において、前記単位データは、MPEGあるいはITU−Tで規格化された1つ以上のスライス、1つ以上のビデオパケット、1つ以上のフレーム、1つ以上のビデオオブジェクトプレーンのいずれかであるとするものである。既存の符号化標準方式に対して、本発明のデータファイル作成装置を適用することが可能になるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1によるデータファイル作成装置の機能ブロック図である。
【図2】データファイル作成装置の動作の概略を説明するフローチャートである。
【図3】データファイル作成装置の画像データ解析部の動作を説明するフローチャートである。
【図4】データファイル作成装置のメモリの記録内容例を示す図である。
【図5】データファイル作成装置のヘッダ作成部の動作がの概略を説明するフローチャートである。
【図6】データファイル作成装置のヘッダ作成部における、最大フレームサイズを求める処理を説明するフローチャートである。
【図7】データファイル作成装置のヘッダ作成部における、フレームサイズを記録するフィールド長の決定処理を説明するフローチャートである。
【図8】データファイル作成装置のヘッダ作成部における、テーブル作成処理を説明するフローチャートである
【図9】画像データの例を示すデータ構成図である。
【図10】MP4ファイルデータの例を示すデータ構成図である。
【図11】画像データのフレームサイズを記録するテーブルの構造を示すデータ構造図である。
【図12】スライスからなるフレームを持つ画像データの例、および各種テーブルの例を示すデータ構成図である。
【図13】各種テーブルより、スライスサイズを計算するための処理を説明するフローチャートである。
【図14】画像データの例を示すデータ構成図である。
【図15】画像データのスライスサイズを記録するテーブルの例を示すデータ構成図である。
【符号の説明】
1a 入力画像データファイル
1b 出力MP4データファイル
101 データファイル作成装置
102 画像データ入力部
103 画像データ解析部
104 メモリ
105 ヘッダ作成部
106 出力部
Claims (8)
- 画像、音声、あるいはテキスト等のデジタルデータを入力する第1のステップと、
前記デジタルデータを構成する単位データの最大データサイズを求める第2のステップと、
前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第3のステップと、
単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第4のステップと、
前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第5のステップと、
からなることを特徴とするデータファイル作成方法。 - 請求項1に記載のデータファイル作成方法において、
前記第3のステップは、前記求めた最大データサイズに基づいて、前記フィールド長を予め定めた有限個の中から選択するものとし、
前記第4のステップは、前記予め定めたフィールド長の最大値で前記各単位データのデータサイズを記録する場合は、単位データの個数、及び前記各単位データのデータサイズを前記最大のフィールド長で記録した第1のテーブルを作成し、前記予め定めたフィールド長の最大値以外の場合は、単位データの個数、前記フィールド長を示すフラグ、及び前記各単位データのデータサイズを前記フィールド長で記録した第2のテーブルを作成するものとし、
前記第5のステップは、前記作成した第1あるいは第2のテーブルと前記単位データを多重化したデータファイルを作成するものとしたことを特徴とする、請求項1に記載のデータファイル作成方法。 - 前記第2のステップは、前記デジタルデータを少なくとも1つ以上のセグメントに分離し、設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第3のステップは、前記設定したセグメント毎にフィールド長を決定するものとし、前記第4のステップは、前記設定したセグメント毎に、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとする、請求項1に記載のデータファイル作成方法。
- 前記単位データは、MPEGあるいはITU−Tで規格化された1つ以上のスライス、1つ以上のビデオパケット、1つ以上のフレーム、1つ以上のビデオオブジェクトプレーンのいずれかであることを特徴とする、請求項1、請求項2、あるいは請求項3に記載のデータファイル作成方法。
- 画像、音声、あるいはテキスト等のデジタルデータを入力する第1のステップと、
前記デジタルデータを構成する単位データの最大データサイズを求める第2のステップと、
前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第3のステップと、
単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第4のステップと、
前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第5のステップと、
を実行するためのプログラムを記録した記録媒体。 - 画像、音声、あるいはテキスト等のデジタルデータを入力する第1の手段と、
前記デジタルデータを構成する単位データのサイズを求めてメモリに記録する第2の手段と、
前記メモリに記録された単位データからデータサイズの最大値を求め、前記最大値に基づき、前記単位データのデータサイズを記録するためのフィールド長を決定し、前記単位データの個数、前記単位データのサイズを記録するためのフィールド長、及び前記各単位データのサイズを記録したテーブルを作成する第3の手段と、
前記テーブルと、前記デジタルデータを多重化したデータファイルを出力する第4の手段と、
を備えることを特徴とする、データファイル作成装置。 - 前記第2の手段は、前記デジタルデータを少なくとも1つ以上のセグメントに分離し、前期設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第3の手段は、前記設定したセグメント毎にフィールド長を決定し、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとする、請求項6に記載のデータファイル作成装置。
- 前記単位データは、MPEGあるいはITU−Tで規格化された1つ以上のスライス、1つ以上のビデオパケット、1つ以上のフレーム、1つ以上のビデオオブジェクトプレーンのいずれかであることを特徴とする、請求項6あるいは請求項7に記載のデータファイル作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192532A JP3847671B2 (ja) | 2002-07-01 | 2002-07-01 | データファイル作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192532A JP3847671B2 (ja) | 2002-07-01 | 2002-07-01 | データファイル作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004040333A JP2004040333A (ja) | 2004-02-05 |
JP3847671B2 true JP3847671B2 (ja) | 2006-11-22 |
Family
ID=31701775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002192532A Expired - Fee Related JP3847671B2 (ja) | 2002-07-01 | 2002-07-01 | データファイル作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3847671B2 (ja) |
-
2002
- 2002-07-01 JP JP2002192532A patent/JP3847671B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004040333A (ja) | 2004-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6920181B1 (en) | Method for synchronizing audio and video streams | |
US7139470B2 (en) | Navigation for MPEG streams | |
EP1111612B1 (en) | Method and device for managing multimedia file | |
JP4598627B2 (ja) | コンテンツ編集装置及びその再生装置 | |
JP5285028B2 (ja) | ブラウザブルスライドショー提供のためのデータ復号装置、その復号方法及びそのための情報保存媒体 | |
JP2004194338A (ja) | スライドショーの制作方法およびシステム | |
JP2006081146A (ja) | シーンチェンジ情報をビデオビットストリーム中に埋め込むシステムおよびその方法 | |
JP3900050B2 (ja) | データ処理装置、ビデオカメラ及びデータ処理方法 | |
JP2006115457A (ja) | マルチメディア編集情報をマルチメディアビットストリームに埋め込むシステムおよびその方法 | |
KR20050013050A (ko) | 동화상 데이터 재생 장치 | |
KR20120013885A (ko) | 오디오 재생 방법 및 그에 따른 오디오 재생 장치, 및 정보 저장 매체 | |
WO2008018618A1 (en) | Edition device, edition method, edition program, and edition system | |
JPWO2004086760A1 (ja) | データ処理装置 | |
JP4548226B2 (ja) | データ処理方法、その装置およびプログラム | |
KR100711327B1 (ko) | 데이터 스트림의 포맷 변환 방법 및 장치, 데이터 스트림의 기록 방법 및 장치, 및 데이터 스트림 변환 또는 기록 프로그램을 기록한 기록 매체 | |
JP3847671B2 (ja) | データファイル作成方法 | |
US6999090B2 (en) | Data processing apparatus, data processing method, information storing medium, and computer program | |
WO2006051657A1 (ja) | 動画像再生装置 | |
US7505669B2 (en) | Content reproduction apparatus | |
JP2004341430A (ja) | 再生装置および再生方法、記録媒体、並びにプログラム | |
TW200531453A (en) | Frame calculation method of decoded audio | |
JP7059436B2 (ja) | 編集システム | |
JPH10174065A (ja) | 画像音声多重化データ編集方法およびその装置 | |
JP4114868B2 (ja) | 多重化装置および多重化方法 | |
JP3889338B2 (ja) | データ記録方法、データ記録装置、データ変換方法、データ変換装置、データ記録媒体、データ記録のためのプログラムおよびそのプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060804 |
|
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: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060823 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |