(57)【要約】【課題】画像フレームあるいはスライスのサイズを記録するテーブルのフィールド長を最適化する手段を提供する。【解決手段】画像データ解析部１０３は、入力した画像データ１ａのフレームサイズをメモリ１０４に記録し、ヘッダ作成部１０５は、メモリ１０４に記録されたフレームサイズの最大値に基づいて、フレームサイズを記録するためのデータフィールドのサイズを決定し、ヘッダを作成する。つまり、画像、音声、あるいはテキスト等のデジタルデータを取得し、デジタルデータを構成する単位データの最大データサイズを求め、求めた最大データサイズに基づいて、各単位データのデータサイズを記録するためのフィールド長を決定し、単位データの個数、フィールド長を示すフラグ、及びフィールド長で各単位データのデータサイズを記録したテーブルを作成し、作成したテーブルを含むヘッダデータとデジタルデータを多重化したデータファイルを作成する。【選択図】　　　図１
2004040333.tif 000002
【特許請求の範囲】
【請求項１】
画像、音声、あるいはテキスト等のデジタルデータを入力する第１のステップと、
前記デジタルデータを構成する単位データの最大データサイズを求める第２のステップと、
前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第３のステップと、
単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第４のステップと、
前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第５のステップと、
からなることを特徴とするデータファイル作成方法。
【請求項２】
請求項１に記載のデータファイル作成方法において、
前記第３のステップは、前記求めた最大データサイズに基づいて、前記フィールド長を予め定めた有限個の中から選択するものとし、
前記第４のステップは、前記予め定めたフィールド長の最大値で前記各単位データのデータサイズを記録する場合は、単位データの個数、及び前記各単位データのデータサイズを前記最大のフィールド長で記録した第１のテーブルを作成し、前記予め定めたフィールド長の最大値以外の場合は、単位データの個数、前記フィールド長を示すフラグ、及び前記各単位データのデータサイズを前記フィールド長で記録した第２のテーブルを作成するものとし、
前記第５のステップは、前記作成した第１あるいは第２のテーブルと前記単位データを多重化したデータファイルを作成するものとしたことを特徴とする、請求項１に記載のデータファイル作成方法。
【請求項３】
前記第２のステップは、前記デジタルデータを少なくとも１つ以上のセグメントに分離し、設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第３のステップは、前記設定したセグメント毎にフィールド長を決定するものとし、前記第４のステップは、前記設定したセグメント毎に、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとする、請求項１に記載のデータファイル作成方法。
【請求項４】
前記単位データは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された１つ以上のスライス、１つ以上のビデオパケット、１つ以上のフレーム、１つ以上のビデオオブジェクトプレーンのいずれかであることを特徴とする、請求項１、請求項２、あるいは請求項３に記載のデータファイル作成方法。
【請求項５】
画像、音声、あるいはテキスト等のデジタルデータを入力する第１のステップと、
前記デジタルデータを構成する単位データの最大データサイズを求める第２のステップと、
前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第３のステップと、
単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第４のステップと、
前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第５のステップと、
を実行するためのプログラムを記録した記録媒体。
【請求項６】
画像、音声、あるいはテキスト等のデジタルデータを入力する第１の手段と、
前記デジタルデータを構成する単位データのサイズを求めてメモリに記録する第２の手段と、
前記メモリに記録された単位データからデータサイズの最大値を求め、前記最大値に基づき、前記単位データのデータサイズを記録するためのフィールド長を決定し、前記単位データの個数、前記単位データのサイズを記録するためのフィールド長、及び前記各単位データのサイズを記録したテーブルを作成する第３の手段と、
前記テーブルと、前記デジタルデータを多重化したデータファイルを出力する第４の手段と、
を備えることを特徴とする、データファイル作成装置。
【請求項７】
前記第２の手段は、前記デジタルデータを少なくとも１つ以上のセグメントに分離し、前期設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第３の手段は、前記設定したセグメント毎にフィールド長を決定し、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとする、請求項６に記載のデータファイル作成装置。
【請求項８】
前記単位データは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された１つ以上のスライス、１つ以上のビデオパケット、１つ以上のフレーム、１つ以上のビデオオブジェクトプレーンのいずれかであることを特徴とする、請求項６あるいは請求項７に記載のデータファイル作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する分野】
本発明は、画像データや音声データを多重化したファイルを作成するデータファイル作成方法、及びデータファイル作成装置に関するものである。
【０００２】
【従来の技術】
圧縮符号化された画像データや音声データは、通常複数の符号化フレームからなる。各フレームのサイズは、フレームデータ中に明示されないことは珍しくない。
【０００３】
例えば、国際標準規格ＭＰＥＧ４（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ、　Ｐｈａｓｅ−４）における画像フレームを例にとると、図Ａに示すように、画像データＡ０１は、複数の符号化フレームｆｄ１〜ｆｄ３からなり、各フレームはスタートコードＳＣから始まることによってフレームの境界が示される。フレームの開始を示すスタートコードは、１６進数の０ｘ０００００１Ｂ６という３２ビットパタンである。しかしながら、画像データをファイル化して記録したディスクなどから再生表示するようなシステムでは、ランダムアクセスを容易にする必要などから、スタートコードを検出するために要する時間や処理量を削減するため、各フレームのサイズ情報を、ファイル化する際に用いるファイルフォーマット中に記録することが一般的である。
【０００４】
一例として、ＭＰＥＧ４で制定されたＭＰ４ファイルフォーマットは、ファイルヘッダ部分に、各フレームのサイズを指定する。以下、図Ａに示す画像データをＭＰ４ファイルに記録する場合について説明する。図Ｂに示すように、ＭＰ４ファイルＢ０１は、ヘッダ部ｍｏｏｖとデータ部ｍｄａｔから構成される。データ部ｍｄａｔは画像データであるフレームデータｆｄ１〜ｆｄ３を記録する。ヘッダ部ｍｏｏｖは様々な情報を含み、各フレームｆｄ１〜ｆｄ３のデータサイズに関する情報であるサイズテーブルも記録する。
【０００５】
サイズテーブルの構造を図Ｃに示す。サイズテーブルＣ０１は、テーブルのサイズｂｘｓｉｚｅ、識別子ｂｘｔｙｐｅ、およびテーブルデータｔｂｌからなる。識別子ｂｘｔｙｐｅは２種類がある。識別子が「ｓｔｓｚ」である場合、テーブルデータｔｂｌの内容は、Ｃ０２のようになる。まず画像フレーム数ｅが配され、続いて画像フレーム数ｅの分だけフレームサイズｆｓ１〜ｆｓ３が配される。ここでフレームサイズｆｓ１は画像フレームデータｆｄ１のサイズを、フレームサイズｆｓ２は同じくｆｄ２のサイズを示す。フレームサイズｆｓ１〜ｆｓ３のフィールド長は３２ビットである。一方、識別子が「ｓｔｚ２」である場合、テーブルデータｔｂｌは、Ｃ０３のようになる。Ｃ０２との違いは、冒頭にフレームサイズのフィールドのビット長を指示するフラグｆがあることである。フラグｆにより、フレームサイズのフィールド長は、４ビット、８ビット、１６ビットのいずれかとなる。なお、途中でフィールド長が変わることはない。
【０００６】
【発明が解決しようとする課題】
上記のように、ＭＰ４ではフレームデータのサイズを４、８、１６、３２ビットのいずれかから選択することが可能であるが、どのような場合にいずれのフィールド長を使用するか、具体的な方法が示されていないという課題があった。
【０００７】
【課題を解決するための手段】
本発明は、以上の課題を解決するためになされたものである。
本発明の請求項１によるデータファイル作成方法は、画像、音声、あるいはテキスト等のデジタルデータを入力する第１のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第２のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第３のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第４のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第５のステップと、からなるものである。
【０００８】
本発明の請求項２によるデータファイル作成方法は、請求項１に記載のデータサイズ符号化方法において、前記第３のステップは、前記求めた最大データサイズに基づいて、前記フィールド長を予め定めた有限個の中から選択するものとし、前記第４のステップは、前記予め定めたフィールド長の最大値で前記各単位データのデータサイズを記録する場合は、単位データの個数、及び前記各単位データのデータサイズを前記最大のフィールド長で記録した第１のテーブルを作成し、前記予め定めたフィールド長の最大値以外の場合は、単位データの個数、前記フィールド長を示すフラグ、及び前記各単位データのデータサイズを前記フィールド長で記録した第２のテーブルを作成するものとし、前記第５のステップは、前記作成した第１あるいは第２のテーブルと前記単位データを多重化したデータファイルを作成することとしたものである。
【０００９】
本発明の請求項３によるデータファイル作成方法は、請求項１に記載のデータサイズ符号化方法において、前記第２のステップは、前記デジタルデータを少なくとも１つ以上のセグメントに分離し、設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第３のステップは、前記設定したセグメント毎にフィールド長を決定するものとし、前記第４のステップは、前記設定したセグメント毎に、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成することとしたものである。
【００１０】
本発明の請求項４によるデータファイル作成方法は、請求項１〜３に記載のデータサイズ符号化方法において、前記単位データは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された１つ以上のスライス、１つ以上のビデオパケット、１つ以上のフレーム、１つ以上のビデオオブジェクトプレーンのいずれであることとしたものである。
【００１１】
本発明の請求項５による記録媒体は、画像、音声、あるいはテキスト等のデジタルデータを入力する第１のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第２のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第３のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第４のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第５のステップと、を実行するためのプログラムを記録したものである。
【００１２】
本発明の請求項６によるデータファイル作成装置は、画像、音声、あるいはテキスト等のデジタルデータを入力する第１の手段と、前記デジタルデータを構成する単位データのサイズを求めてメモリに記録する第２の手段と、前記メモリに記録された単位データからデータサイズの最大値を求め、前記最大値に基づき、前記単位データのデータサイズを記録するためのフィールド長を決定し、前記単位データの個数、前記単位データのサイズを記録するためのフィールド長、及び前記各単位データのサイズを記録したテーブルを作成する第３の手段と、前記テーブルと、前記デジタルデータを多重化したデータファイルを出力する第４の手段と、を備えるものである。
【００１３】
本発明の請求項７によるデータファイル作成装置は、請求項６に記載のデータファイル装置において、前記第２の手段は、前記デジタルデータを少なくとも１つ以上のセグメントに分離し、前期設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第３の手段は、前記設定したセグメント毎にフィールド長を決定し、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとするものである。
【００１４】
本発明の請求項８によるデータファイル作成装置は、請求項６あるいは請求項７に記載のデータファイル装置において、前記単位データは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された１つ以上のスライス、１つ以上のビデオパケット、１つ以上のフレーム、１つ以上のビデオオブジェクトプレーンのいずれかであるとするものである。
【００１５】
【発明の実施の形態】
（実施の形態１）
本発明にかかるデータファイル作成方法の実施の形態１であるデータファイル作成装置は、デジタルデータとしてＭＰＥＧ−４で符号化された画像データを入力し、ビジュアルオブジェクトプレーン（以下フレームと呼ぶ）を単位データとし、入力画像データの全フレームのデータサイズを調べ、最大のフレームサイズに基づいて、最適なテーブルを作成し、このテーブルを含むヘッダ部と、入力したデジタルデータを多重化したファイルを生成出力するものである。以下、実施の形態１であるデータファイル作成装置について、図１から図８を用いて説明する。
【００１６】
図１は、データファイル作成装置の構成概略を示す、機能ブロック図である。データファイル作成装置１０１は、ＭＰＥＧ４で圧縮符号化された画像データファイル１ａを入力し、ＭＰ４規格形式のファイル１ｂを出力するものである。画像データファイル作成装置１０１は、画像データ入力部１０２、画像データ解析部１０３、メモリ１０４、ヘッダ作成部１０５、および出力部１０６で構成される。
【００１７】
図２は、画像データファイル作成装置１０１の動作概要を示すフローチャートである。図１と図２を用いて、本画像データファイル作成装置の動作を概略説明する。　まず、Ｓ２０１において、画像データ入力部１０２がＭＰＥＧ４で圧縮符号化された画像データファイル１ａを入力する。次に、Ｓ２０２において、画像データ解析部１０３は、入力した画像データファイルについて、フレーム境界を示すスタートコードを検索し、フレームサイズを取得し、その結果をメモリ１０４に書き込む。次に、Ｓ２０３において、ヘッダ作成部１０５は、メモリ１０４に記録した入力画像データのフレームサイズ情報を基に、フレームサイズを記録するテーブルを含むヘッダ情報を作成し、Ｓ２０４において、出力部１０６を通してＭＰ４ファイル１ｂにおけるヘッダ部ｍｏｏｖとしてファイル出力される。さらに、Ｓ２０５において、画像データ入力部１０２は、再び画像データファイル１ａを読み込み、出力部１０６を通してＭＰ４ファイル１ｂにおけるデータ部ｍｄａｔとしてファイル出力される。このようにして作成したＭＰ４ファイルは、様々な状況で使用される。一例としては、作成したＭＰ４ファイルがファイルサーバに保存された場合の使用例を説明する。ＭＰ４ファイルは、有線あるいは無線網を介して接続している再生端末からの要求に応じてサーバから端末にダウンロードされる。ダウンロードしたＭＰ４ファイルは、端末において解析、画像復号され、再生される。また、別の使用例としては、端末で作成したＭＰ４ファイルは、一方の端末から他方の端末に送信されるメールにおける添付ファイルとして、転送される。
【００１８】
以下、画像データ解析部、及びヘッダ作成部におけるフレームサイズテーブルの作成に関する詳細な動作について説明する。
【００１９】
図３は、画像データ解析部１０３の動作の詳細を説明するフローチャートである。前述したように、画像データ解析部１０３は、入力した画像データファイルのスタートコードを検索し、フレームサイズを取得する。以下、フローチャートに基づいて動作を説明する。
【００２０】
まず、Ｓ３０１において、画像データの先頭から４バイトを読み込み、３２ビットの変数Ｄにセットする。読み込んだ第１バイト目のデータｄ（１）のＭＳＢが変数Ｄの第３２ビット目に位置するようにビットシフトを行う。以下同様に、第２、第３バイト目のデータｄ（２）、ｄ（３）のＭＳＢが、それぞれ変数Ｄの第２４、１６ビット目に位置するようにビットシフトする。第４バイト目のデータはビットシフトを行う必要はない。このようにして読み込んだｄ（１）、ｄ（２）、ｄ（３）、ｄ（４）より変数Ｄをセットした後、Ｓ３０２において、変数Ｄの値を予め定めた値と比較する。予め定めた値は、１６進数の０ｘ０００００１Ｂ６であるとする。０ｘ０００００１Ｂ６は、ＭＰＥＧ４規格において画像フレームのスタートコードとして規定されている。変数Ｄが０ｘ０００００１Ｂ６ではない場合、Ｓ５０３において、変数Ｄを８ビット左にシフトし、第５バイト目のデータを読み込んで変数Ｄにセットする。それから再度Ｓ５０２に戻って変数Ｄが画像フレームのスタートコードであるかどうか判定する。スタートコードであった時は、Ｓ５０４において、画像フレームのサイズを表す変数Ｓを４に初期化する。以降、１バイトづつデータを読み出し、画像フレームのスタートコードが検出されるまで変数Ｓを加算し、画像フレームのスタートコードが検出された時点での変数Ｓの値をフレームサイズとしてメモリ１０４に記録していく。
【００２１】
まず、Ｓ３０５において画像データ解析部１０３は１バイト以上、画像データを読み込み可能であるか判定する。１バイト以上読み込み可能な場合、Ｓ３０６以降に進む。Ｓ３０６において変数Ｄを８ビット左シフトした値と、読み込んだ１バイトデータｄ（ｉ）との論理和により求めた値でＤを更新する。それからＳ３０７において変数Ｄが画像フレームのスタートコードであるか判定する。画像フレームのスタートコードではない場合、Ｓ３０８において変数Ｓに１を加算し、Ｓ３０５に戻る。Ｓ３０７において変数Ｄが画像フレームのスタートコードである場合、Ｓ３０９において変数Ｓから３を減じた値を、フレームサイズとしてメモリ１０４に記録する。さらに、Ｓ３１０において、現在までに求めたフレームの総数をメモリ１０４に記録し、Ｓ３０４に戻って変数Ｓを４に初期化する。Ｓ３０５において、読み出せるデータが１バイト未満になれば、終了する。
【００２２】
図４はメモリ１０４の内容の一例を示すものである。メモリは３２ビット幅とする。メモリの先頭にはフレーム総数４０１を記録し、それに続いて求めた各フレームのサイズ４０２を順に記録する。図４の例では、処理したフレーム総数は６００、第１番目のフレームサイズは１４５８０バイト、最大のフレームサイズは３４１０２バイト、最後のフレームサイズは９４３バイトであることを示す。
【００２３】
図５はヘッダ作成部１０５の動作手順の概要を示すフローチャートである。ヘッダ作成部１０５はメモリ１０４に記録されたフレーム総数、及び各フレームサイズを参照し、フレームサイズテーブル１１０１を生成する。まず、Ｓ５０１において、メモリからフレームサイズの最大値を求め、Ｓ５０２において、最大値に基づきフレームサイズを記録するフィールド長を決定する。Ｓ５０３において、決定したフィールド長に基づきテーブルを作成し、Ｓ５０４においてその他ヘッダ部分を作成してヘッダ部ｍｏｏｖを作成する。次に、上記ステップにおいてＳ５０１、Ｓ５０２、およびＳ５０３の詳細な動作を図６〜図８を用いて説明する。
【００２４】
図６は、最大フレームサイズを求めるステップＳ５０１の詳細な動作を説明するためのフローチャートである。まず、Ｓ６０１において、フレームサイズの最大値を表す変数Ｓｍａｘをゼロに初期化する。続いてＳ６０２メモリ１０４の読み出しポインタを総フレーム数の記録位置にセットし、Ｓ６０３において総フレーム数を読み出して変数Ｎにセットし、さらにＳ６０４において内部フレームカウンタ変数ｎを１にセットする。次に、Ｓ６０５においてメモリの読み出しポインタを４バイト（３２ビット）進める。なお、これは図４のメモリ記録例に依存するものであって、フレーム総数の記録位置から４バイト先に第１番目のフレームサイズの記録位置に読み出しポインタがセットされるようにする。次に、Ｓ６０６において、メモリから読み出した第ｎ番目のフレームサイズを読み出して変数Ｓにセットし、Ｓ６０７において、ＳｍａｘとＳを比較する。もし、それまでのフレームサイズの最大値であるＳｍａｘより、今読み出したフレームサイズであるＳの方が大きい場合、Ｓ６０８において変数ＳｍａｘをＳで更新する。そして、Ｓ６０９においてフレームカウンタｎとフレーム総数Ｎを比較し、ｎがＮ以下の場合、Ｓ６０５に戻る。以上の処理によってフレームサイズの最大値が求められる。
【００２５】
図７は、フレームサイズを記述するフィールドのビット長を決定するステップＳ５０２の詳細な動作を説明するためのフローチャートである。Ｓ５０１において求めたフレームサイズの最大値Ｓｍａｘを入力し、条件に従ってフレームサイズを記録するフィールド長を決定する。詳しく説明すると、Ｓ７０１においてＳｍａｘが１６未満であるかどうか判定し、判定が真の場合は、Ｓ７０２においてフィールド長を４ビットとする。Ｓ７０１が偽の場合、Ｓ７０３においてＳｍａｘが２５６未満であるかどうか判定し、判定が真の場合は、Ｓ７０４においてフィールド長を８ビットとする。Ｓ７０３が偽の場合、Ｓ７０５においてＳｍａｘが１６３８４未満であるかどうかを判定し、判定が真の場合はＳ７０６においてフィールド長を１６ビットとし、偽の場合はフィールド長を３２ビットとする。
【００２６】
図８は、テーブルを作成するステップＳ５０３の詳細な動作を説明するためのフローチャートである。Ｓ５０３では、図１１の１１０２、１１０３に示した構造のテーブルを作成する。なお、１１０１に示すサイズｂｏｘｓｉｚｅ、識別子ｂｏｘｔｙｐｅの生成過程の説明は省略する。まずＳ８０１において、Ｓ５０２において求めたフィールド長が３２ビットであるかどうか判定する。判定が偽の場合のみ、Ｓ８０２において、フィールド長を識別するための符号を、図１１のフィールド長を指示するフラグｆとして出力する。次にＳ８０３において、図４のメモリ４０１に記録されている総フレーム数を、図１１のフレーム数ｅとして出力する。次に、Ｓ８０４、Ｓ８０５において、図４のメモリ４０２に記録されている各フレームのサイズを、図１１のフレームサイズｆｓ１〜ｆｓ３として、Ｓ５０２で決定したフィールド長で、順次出力する。
【００２７】
以上、本発明のデータファイル作成方法における実施の形態１であるデータファイル作成装置について説明した。本実施の形態１によれば、入力画像データに応じて適切なフィールド長を選択して記録できるため、フレームサイズを記録するテーブルのサイズをコンパクトにすることが可能となる。。
【００２８】
本実施の形態１では、データファイル作成装置としてハードウェアにて動作させるものとして説明したが、これに限るものではない。例えば、上記説明した動作をＣＰＵ上で動作させることも可能である。また、説明した動作を実行するプログラムとしてフレキシブルディスクのような記録媒体に格納することも可能である。
【００２９】
なお、本実施の形態１のデータファイル作成装置は、入力データがＭＰＥＧ−４規格で符号化された画像データとして動作を説明したが、これに限らるものではない。例えば、ＭＰＥＧ−１、ＭＰＥＧ−２規格で符号化された画像データであっても良い。ＭＰＥＧ−１やＭＰＥＧ−２の場合、フレームの開始を示すスタートコードは０ｘ０００００１００である。ＭＰＥＧ−１やＭＰＥＧ−２の画像データを入力とする場合、図３のＳ３０２における判定に用いる値を０ｘ０００００１Ｂ６ではなく、０ｘ０００００１００とすれば、同様の処理を適用することが可能である。また、ＩＴＵ−Ｔで規格化されたＨ．２６１、Ｈ．２６３の画像データの場合も、同様にフレームの開始を示すスタートコードを変更することによって、本実施の形態１を適用可能である。また、Ｈ．２６４の画像データのようにスタートコードがない場合、図３のフローチャートに示す動作を実行するかわりに、Ｈ．２６４の符号化器が出力する各フレームのデータサイズに関わる情報をデータファイル作成装置１０１に入力すれば、同様に本実施の形態１を適用可能である。
【００３０】
また、本実施の形態１のデータファイル作成装置は、画像データ以外に、音声データやテキストデータ、グラフィックスデータなどを入力して、動作させることも可能である。例えば、音声データとして３ＧＰＰ（３ｒｄ　Ｇｅｎｅｒａｔｉｏｎ　Ｐａｒｔｎｅｒｓｈｉｐ　Ｐｒｏｊｅｃｔ）規格であるＡＭＲ（Ａｄａｐｔｉｖｅ　Ｍｕｌｔｉ　Ｒａｔｅ）音声データの場合、図３のフローチャートに示す動作を実行するかわりに、音声データのヘッダ部よりフレームサイズを計算し、各フレームのサイズを求めることが可能である。
【００３１】
また、本実施の形態１のデータファイル作成装置は、フィールド長は、４ビット、８ビット、１６ビット、３２ビットから選択可能であることとしたが、これに限るものではなく、任意のビット長を使用しても良い。
【００３２】
また、本実施の形態１のデータファイル作成装置は、単位データを１フレームとして説明したが、これに限らず、複数のフレームをまとめて１単位データとしても良い。例えば、ＡＭＲの５フレームを１単位データとし、各単位データのサイズを求めて、単位データの最大データサイズに基づいて、各単位データを記録するためのフィールド長を決定するようにすることも可能である。また、単位データとしては、フレームに限るものでなく、ＭＰＥＧ−１、ＭＰＥＧ−２のスライス、ＭＰＥＧ−４のビデオパケット、あるいはスライス、Ｈ．２６１、Ｈ．２６３、Ｈ．２６４のスライスを、単位データとしてテーブルを作成しても良い。つまり、入力画像データの各スライスのサイズを求め、全スライスの最大値に基づき、スライスのデータサイズを記録するフィールドのビット長を決定し、データサイズを記録するフィールドのビット長を指定するためのフラグ、スライスの個数、およびスライスのデータを記録するテーブルを作成するようにしても良い。
また、スライスのデータサイズを記録するテーブルと、フレームのサイズを記録するテーブルの両方を作成してヘッダ部に含むようにしても良い。さらに、各フレームが何個のスライスを含んでいるかを示すテーブルもヘッダ部に含むようにしても良い。この場合、各フレームにおける最初、あるいは最後のスライスのデータサイズは、スライスのサイズを記録するテーブルには記録しないようにしても良い。つまり、記録されないスライスのデータサイズは、フレームのデータサイズから、記録されたスライスのデータサイズの和を減じることによって、簡単に得ることができる。これについて、図１２、図１３を用いて具体的に説明する。
【００３３】
図１２の例に示す画像データは、第１番目のフレームは４つのスライスからなり、各スライスのサイズは１４７０バイト、９８４バイト、８８１バイト、７５５バイト、これを合計したフレームサイズは４０９０バイトである。同様に、第２番目のフレームは３スライス、２５８４バイト、第３番目のフレームは１スライス、７０３バイト、第４番目のスライスは２スライス１５１９バイトである。各フレームが含むスライスの個数を記録するテーブル１２ａにおける各エントリ１２ａ１〜１２ａ４は、順に４、３、１、２となる。また、フレームサイズを記録するテーブル１２ｂにおける各エントリ１２ｂ１〜１２ｂ４は、各フレームのサイズを示している。各スライスのサイズを示すテーブル１２ｃは、各フレームにおける第１番目のスライス以外のデータサイズのみを記録する。したがって、各フレームに対して、エントリ１２ａ１〜１２ａ４に示されたスライス数より１つだけ少ない数のエントリとなる。つまり、エントリ１２ａ１は４を示しているが、スライスサイズテーブルには、第２〜４番目のスライスサイズを示す３つのエントリ１２ｃ１２〜１２ｃ１４が記録される。また、第３番目のフレームは、スライス数が１であるため、スライスサイズテーブルには、スライスサイズは記録されない。
【００３４】
これらのテーブルを含むＭＰ４ファイルを入力して解析する機器あるいはプログラムが、記録されないスライスのサイズを計算する方法について、図１３のフローチャートを用いて説明する。なお、図１３において、ｒｐａはテーブル１２ａに対する読み出しポインタ、ｒｐｂはテーブル１２ｂに対する読み出しポインタ、ｒｐｃはテーブル１２ｃに対する読み出しポインタとする。
【００３５】
まず、Ｓ１３０１において、テーブル１２ａより、ポインタｒｐａが指し示すエントリの値を読み出す。読み出した値は、フレームに含まれるスライスの個数を示している。この値をＮとする。次に、Ｓ１３０２において、テーブル１２ｂより、ポインタｒｐｂが示すエントリの値を読み出す。読み出した値は、フレームサイズを示している。この値をＦとする。次に、Ｓ１３０３において、テーブル１２ｃより、（Ｎ−１）回、エントリに記録されたデータを読み出す。今、Ｎ＝４であるとすると、ｒｐｃ、ｒｐｃ＋１、ｒｐｃ＋２が指し示すエントリの値を読み出す。これらはそれぞれ、第２〜４番目のスライスのサイズであり、これらの値をＳ（２）〜Ｓ（４）とする。次に、Ｓ１３０４において、第１番目のスライスのサイズＳ（１）を求める。Ｓ（１）の値は、フレームサイズＦから、第２番目以降のスライスサイズの和を減じたものとなる。以上の処理でフレームに含まれる全スライスのサイズが既知となる。なお、フレームが１つのスライスしか含んでいない場合、Ｓ１３０３はスキップされ、Ｓ１３０４において、Ｓ（１）＝Ｆとなる。さらにＳ１３０５で各テーブルの読み出しポインタを進め、Ｓ１３０６で全てのフレームに対する処理が終わるまで、Ｓ１３０１〜Ｓ１３０５を繰り返すようにする。なお、図１２、図１３の例では、各フレームの第１番目のスライスデータのサイズを記述しないこととしたが、最後のスライスデータのサイズを記述しないこととしても良い。しかしながら、第１番目のスライスデータの方が、最後のスライスに比べてデータサイズが大きくなることが多いため、第１番目のスライスデータを記録しないこととした方が好ましい。
【００３６】
また、本実施の形態１のデータファイル作成装置は、入力画像データ全体から最大のフレームサイズを求めてフィールド長を決定することとしたが、入力画像データを整数個の単位データからなる１つ以上のセグメントに分割し、セグメント毎に単位データのサイズの最大値を求めて、フィールド長を決定することとしても良い。入力データをセグメントに分割することにより、一時的に単位データのサイズが大きくなるような場合、その部分を１つのセグメントとして分離して単位データのサイズを記録するフィールド長を大きくし、その他の部分は別のセグメントとしてフィールド長を小さくすることができ、さらにテーブルのサイズをコンパクトにすることが可能となる。これについて、図１４、図１５を用いて具体的に説明する。図１４は、画像データを示し、各エントリは単位データであるスライスのサイズを示している。スライスのサイズを調べ、図１４に示すようにサイズが２５６バイト以上であるセグメント１、２５６バイト未満であるセグメント２のように分けることができる。例えば、セグメント１に対しては、フィールド長を１６ビットとし、セグメント２に対してはフィールド長を８ビットとすることができる。このように入力データをセグメントに分割した際の、スライスサイズを記録するテーブルの例を図１５に示す。テーブル１５０１は、セグメント数ｎと、セグメント数ｎで示された数のセグメントデータｓ１〜ｓ３からなる。セグメントデータの構成は、図に示すように、フラグｆ、スライス数ｅ、スライスサイズｆｓ１〜ｆｓ２である。
【００３７】
なお、フラグｆは、セグメント内のスライスサイズのフィールド長を示す符号であるとして説明したが、フラグｆの具体的な例としては、フィールド長はフラグｆの示す値の８倍とすることが可能である。例えば、フラグｆの値が１の場合、８ビット、２の場合１６ビットとする。
【００３８】
以上のように、本実施の形態１によるデータファイル作成方法によれば、入力データを構成するフレームあるいはスライスなどの単位データのサイズを記録するテーブルをコンパクトにすることが可能となる。
【００３９】
【発明の効果】
本発明の請求項１によるデータファイル作成方法は、画像、音声、あるいはテキスト等のデジタルデータを入力する第１のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第２のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第３のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第４のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第５のステップと、からなり、単位データの最大値に基づいて最適なフィールド長を決定するため、テーブルのサイズをコンパクトにしてヘッダ部のサイズを削減できる。したがって、リモートサーバからファイルデータをダウンロードしながら再生する場合は、ヘッダのダウンロードに要する時間を削減でき、再生開始可能になるまでの時間を短縮できるという効果が得られる。また、磁気ディスクや光磁気ディスク等へ記録する場合は、より長時間可能になるという効果が得られる。
【００４０】
本発明の請求項２によるデータファイル作成方法は、請求項１に記載のデータサイズ符号化方法において、前記第３のステップは、前記求めた最大データサイズに基づいて、前記フィールド長を予め定めた有限個の中から選択するものとし、前記第４のステップは、前記予め定めたフィールド長の最大値で前記各単位データのデータサイズを記録する場合は、単位データの個数、及び前記各単位データのデータサイズを前記最大のフィールド長で記録した第１のテーブルを作成し、前記予め定めたフィールド長の最大値以外の場合は、単位データの個数、前記フィールド長を示すフラグ、及び前記各単位データのデータサイズを前記フィールド長で記録した第２のテーブルを作成するものとし、前記第５のステップは、前記作成した第１あるいは第２のテーブルと前記単位データを多重化したデータファイルを作成することとしたものであり、ＭＰ４規格のデータ構造を適用しつつ、請求項１で述べた効果と同様の効果を得ることが可能となる。
【００４１】
本発明の請求項３によるデータファイル作成方法は、請求項１に記載のデータサイズ符号化方法において、前記第２のステップは、前記デジタルデータを少なくとも１つ以上のセグメントに分離し、設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第３のステップは、前記設定したセグメント毎にフィールド長を決定するものとし、前記第４のステップは、前記設定したセグメント毎に、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成することとしたもので、各セグメント毎に最適なデータサイズを設定可能となるため、請求項１に記載のデータファイル作成方法に比べ、さらにテーブルのサイズをコンパクトにすることが可能となり、再生開始可能になるまでの時間のさらなる短縮化等を図ることができる。
【００４２】
本発明の請求項４によるデータファイル作成方法は、請求項１〜３に記載のデータサイズ符号化方法において、前記単位データは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された１つ以上のスライス、１つ以上のビデオパケット、１つ以上のフレーム、１つ以上のビデオオブジェクトプレーンのいずれであることとしたものであり、既存の符号化標準方式に対して、本発明のデータファイル作成方法を適用することが可能になるという効果が得られる。
【００４３】
本発明の請求項５による記録媒体は、画像、音声、あるいはテキスト等のデジタルデータを入力する第１のステップと、前記デジタルデータを構成する単位データの最大データサイズを求める第２のステップと、前記求めた最大データサイズに基づいて、前記各単位データのデータサイズを記録するためのフィールド長を決定する第３のステップと、単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成する第４のステップと、前記作成したテーブルを含むヘッダデータと前記デジタルデータを多重化したデータファイルを作成する第５のステップと、を実行するためのプログラムを記録したものであり、本発明のデータファイル作成方法の可搬性を高めることができるという効果が得られる。
【００４４】
本発明の請求項６によるデータファイル作成装置は、画像、音声、あるいはテキスト等のデジタルデータを入力する第１の手段と、前記デジタルデータを構成する単位データのサイズを求めてメモリに記録する第２の手段と、前記メモリに記録された単位データからデータサイズの最大値を求め、前記最大値に基づき、前記単位データのデータサイズを記録するためのフィールド長を決定し、前記単位データの個数、前記単位データのサイズを記録するためのフィールド長、及び前記各単位データのサイズを記録したテーブルを作成する第３の手段と、前記テーブルと、前記デジタルデータを多重化したデータファイルを出力する第４の手段と、を備えるものであり、単位データの最大値に基づいて最適なフィールド長を決定するため、テーブルのサイズをコンパクトにしてヘッダ部のサイズを削減できる。したがって、リモートサーバからファイルデータをダウンロードしながら再生する場合は、ヘッダのダウンロードに要する時間を削減でき、再生開始可能になるまでの時間を短縮できるという効果が得られる。また、磁気ディスクや光磁気ディスク等へ記録する場合は、より長時間記録可能になるという効果が得られる。
【００４５】
本発明の請求項７によるデータファイル作成装置は、請求項６に記載のデータファイル装置において、前記第２の手段は、前記デジタルデータを少なくとも１つ以上のセグメントに分離し、前期設定したセグメント毎に前記単位データの最大データサイズを求めるものとし、前記第３の手段は、前記設定したセグメント毎にフィールド長を決定し、前記セグメントに含まれる単位データの個数、前記フィールド長を示すフラグ、及び前記フィールド長で前記各単位データのデータサイズを記録したテーブルを作成するものとするため、請求項６に記載のデータファイル作成装置に比べ、さらにテーブルのサイズをコンパクトにすることが可能となり、再生開始可能になるまでの時間のさらなる短縮化等を図ることができる。
【００４６】
本発明の請求項８によるデータファイル作成装置は、請求項６あるいは請求項７に記載のデータファイル装置において、前記単位データは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された１つ以上のスライス、１つ以上のビデオパケット、１つ以上のフレーム、１つ以上のビデオオブジェクトプレーンのいずれかであるとするものである。既存の符号化標準方式に対して、本発明のデータファイル作成装置を適用することが可能になるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態１によるデータファイル作成装置の機能ブロック図である。
【図２】データファイル作成装置の動作の概略を説明するフローチャートである。
【図３】データファイル作成装置の画像データ解析部の動作を説明するフローチャートである。
【図４】データファイル作成装置のメモリの記録内容例を示す図である。
【図５】データファイル作成装置のヘッダ作成部の動作がの概略を説明するフローチャートである。
【図６】データファイル作成装置のヘッダ作成部における、最大フレームサイズを求める処理を説明するフローチャートである。
【図７】データファイル作成装置のヘッダ作成部における、フレームサイズを記録するフィールド長の決定処理を説明するフローチャートである。
【図８】データファイル作成装置のヘッダ作成部における、テーブル作成処理を説明するフローチャートである
【図９】画像データの例を示すデータ構成図である。
【図１０】ＭＰ４ファイルデータの例を示すデータ構成図である。
【図１１】画像データのフレームサイズを記録するテーブルの構造を示すデータ構造図である。
【図１２】スライスからなるフレームを持つ画像データの例、および各種テーブルの例を示すデータ構成図である。
【図１３】各種テーブルより、スライスサイズを計算するための処理を説明するフローチャートである。
【図１４】画像データの例を示すデータ構成図である。
【図１５】画像データのスライスサイズを記録するテーブルの例を示すデータ構成図である。
【符号の説明】
１ａ　　入力画像データファイル
１ｂ　　出力ＭＰ４データファイル
１０１　データファイル作成装置
１０２　画像データ入力部
１０３　画像データ解析部
１０４　メモリ
１０５　ヘッダ作成部
１０６　出力部
【図１】
2004040333.tif 000003
【図２】
2004040333.tif 000004
【図３】
2004040333.tif 000005
【図４】
2004040333.tif 000006
【図５】
2004040333.tif 000007
【図６】
2004040333.tif 000008
【図７】
2004040333.tif 000009
【図８】
2004040333.tif 000010
【図９】
2004040333.tif 000011
【図１０】
2004040333.tif 000012
【図１１】
2004040333.tif 000013
【図１２】
2004040333.tif 000014
【図１３】
2004040333.tif 000015
【図１４】
2004040333.tif 000016
【図１５】
2004040333.tif 000017