(57)【特許請求の範囲】
【請求項１】
入力された動画像データを、フレーム内符号化とフレーム間予測符号化とを用いて符号化し、複数の動画符号化単位からなる符号化された動画像データを出力する動画符号化手段と、
入力された音声データを符号化し、複数の音声符号化単位からなる符号化された音声データを出力する音声符号化手段と、
所定数の前記動画符号化単位の最大符号量と、所定数の前記音声符号化単位の最大符号量とを設定する設定手段と、
前記所定数の動画符号化単位の符号量が前記設定手段により設定された動画符号化単位の最大符号量を超えないように前記動画像データを符号化するよう前記動画符号化手段を制御する動画符号量制御手段と、
前記所定数の音声符号化単位の符号量が前記設定手段により設定された音声符号化単位の最大符号量を超えないように前記音声データを符号化するよう前記音声符号化手段を制御する音声符号量制御手段と、
それぞれが前記所定数の動画符号化単位の符号化された動画像データを含む複数の動画チャンクと、それぞれが前記所定数の音声符号化単位の符号化された音声データを含む複数の音声チャンクとを多重化して記録媒体に記録すると共に複数の前記動画チャンク及び音声チャンクの各々にアクセスするためのオフセット値の情報を前記記録媒体に記録する記録手段とを備え、
前記記録手段は、前記動画チャンクと前記音声チャンクを交互に多重化し、一つの前記動画チャンクと一つの前記音声チャンクの合計のサイズが前記動画符号化単位の最大符号量と前記音声符号化単位の最大符号量の合計に等しくなるように前記記録媒体に記録すると共に、複数の前記動画チャンクと音声チャンク及び前記オフセット値の情報とは別に、前記合計のサイズの情報を前記記録媒体に記録することを特徴とする記録装置。
【請求項２】
前記記録手段は、更に、前記所定数の動画符号化単位の最大符号量の情報と、前記所定数の音声符号化単位の最大符号量の情報を、複数の前記動画チャンクと音声チャンク及び前記オフセット値の情報とは別に前記記録媒体に記録することを特徴とする請求項１に記載の記録装置。
【請求項３】
前記記録手段は、更に、前記動画チャンクに含まれる動画像データのフレーム数の情報と、前記音声チャンクに含まれる音声データのフレーム数の情報とを、複数の前記動画チャンクと音声チャンク及び前記オフセット値の情報とは別に前記記録媒体に記録することを特徴とする請求項１または２に記載の記録装置。
【請求項４】
前記記録媒体から複数の前記動画チャンクと音声チャンク及び前記合計のサイズの情報を再生する再生手段を備え、前記再生手段は前記記録媒体から再生された前記合計のサイズの情報に基づいて前記動画チャンクと音声チャンクを特殊再生することを特徴とする請求項１から３の何れか１項に記載の記録装置。
【請求項５】
前記記録手段は、複数の前記動画チャンクと音声チャンク、前記オフセット値の情報及び前記合計のサイズの情報を一つの動画ファイルの中に記録することを特徴とする請求項１から４のいずれか１項に記載の記録装置。
【請求項６】
動画像データおよび音声データを符号化して記録する記録装置における記録方法であって、
動画符号化手段が、入力された動画像データを、フレーム内符号化とフレーム間予測符号化とを用いて符号化し、複数の動画符号化単位からなる符号化された動画像データを出力する動画符号化工程と、
音声符号化手段が、入力された音声データを符号化し、複数の音声符号化単位からなる符号化された音声データを出力する音声符号化工程と、
設定手段が、所定数の前記動画符号化単位の最大符号量と、所定数の前記音声符号化単位の最大符号量とを設定する設定工程と、
動画符号量制御手段が、前記所定数の動画符号化単位の符号量が前記設定工程において設定された動画符号化単位の最大符号量を超えないように前記動画像データを符号化するよう前記動画符号化手段を制御する動画符号量制御工程と、
音声符号量制御手段が、前記所定数の音声符号化単位の符号量が前記設定工程において設定された音声符号化単位の最大符号量を超えないように前記音声データを符号化するよう前記音声符号化手段を制御する音声符号量制御工程と、
記録手段が、それぞれが前記所定数の動画符号化単位の符号化された動画像データを含む複数の動画チャンクと、それぞれが前記所定数の音声符号化単位の符号化された音声データを含む複数の音声チャンクとを多重化して記録媒体に記録すると共に複数の前記動画チャンク及び音声チャンクの各々にアクセスするためのオフセット値の情報を前記記録媒体に記録する記録工程とを有し、
前記記録工程では、前記動画チャンクと前記音声チャンクを交互に多重化し、一つの前記動画チャンクと一つの前記音声チャンクの合計のサイズが前記動画符号化単位の最大符号量と前記音声符号化単位の最大符号量の合計に等しくなるように前記記録媒体に記録すると共に、複数の前記動画チャンクと音声チャンク及び前記オフセット値の情報とは別に、前記合計のサイズの情報を前記記録媒体に記録することを特徴とする記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データや音声データを符号化して記録する技術に関するものである。
【背景技術】
【０００２】
近年、デジタルビデオカメラやデジタルカメラ等、動画像データをＭＰＥＧ等のフレーム間予測符号化を用いて符号化して記録再生する装置が普及している。
【０００３】
また、デジタルビデオカメラやデジタルカメラ等で撮影されたＭＰＥＧ（ＭＰＥＧ２／ＭＰＥＧ４）の動画像データやオーディオデータはＭＰ４という汎用ファイルフォーマットで記録されている。これらのデータをＭＰ４ファイルとして記録することで、他の機器で再生できる互換性が保証される。尚、ＭＰ４は、MPEG audio Layer-4の略称である。
【０００４】
ＭＰ４ファイルは、符号化された画像データ及びオーディオデータのストリームが入っているmdat boxと各ストリームに関する情報が入っているmoov boxとからなる。mdat boxは更にチャンク(chunk)で構成され、例えば、動画像のチャンクとオーディオのチャンクとから構成される。
【０００５】
moov boxには、ファイルの各先頭から各チャンクへのオフセットバイト数や、サイズ、サンプル数等が格納される。
【０００６】
ＭＰ４ファイルを再生する場合、記録媒体からＭＰ４ファイルのmoov boxを読み込み、そのmoov boxに基づいて動画像データのチャンク、オーディオデータのチャンクへのアクセスができるようになる。
【０００７】
しかし、moov boxのデータはチャンク数に比例してそのサイズが増大する。つまり、記録時間が長くなればそれに比例してサイズが増大するものであり、ストリームへのアクセス情報であるmoov boxデータを全てデジタルビデオカメラやデジタルカメラ等の携帯型小型撮影機器に読み込むためには大きなメモリを必要とする。
【０００８】
このような問題に対処するために、moov boxのデータとは別にストリームにアクセスする情報を選別して別データとし、ＭＰ４ファイルにリンクする情報と共に別ファイルとして記録しておく技術が提案されている。この技術によれば、再生時にその別ファイルからＭＰ４のストリームデータへアクセスすることで、再生時にストリームへのアクセス情報を展開するメモリを削減している（例えば、特許文献１参照）。
【０００９】
ところが、上記のようにmdat box内のストリームデータへのアクセス情報を選別して、アクセス情報の縮小を図っても、記録時間の増大に伴って大きくなることには変わりない。また、アクセスデータを別ファイルとして記録しておくので、ＭＰ４ファイルを別の記録媒体にコピーした場合には使用できない。
【特許文献１】特開２００４−１２８９３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したようにＭＰ４ファイルを再生する場合、データストリームへのアクセス情報を格納するためには大きなメモリ容量を必要とするという問題がある。
【００１１】
また、記録媒体に記録されている１つのＭＰ４ファイルからmoov box内のデータストリームへのアクセス情報を一度に機器内に取り込めない場合には、以下のように対処しなければならない。即ち、ＭＰ４ファイルデータを再生していくに従い、読み込んだアクセス情報の切れ目が近づくと、最初に読み込んだアクセス情報を破棄し、切れ目に続くアクセス情報をファイルの先頭にシークしてmoov boxから読み込んで取得しなければならない。しかし、記録レートの大きいファイルや、記録時間の長いファイルの後ろのほうを再生している場合や、特殊再生（サーチ）している場合等でリアルタイムにシームレスに再生できなくなるという問題がある。
【００１２】
本発明は、上記課題に鑑みてなされ、その目的は、ファイルとして記録された動画像データや音声データの再生時やサーチ時に必要なメモリ容量を削減し、データアクセスを高速化できる技術を実現することである。
【課題を解決するための手段】
【００１３】
上記課題を解決し、目的を達成するために、本発明の記録装置は、入力された動画像データを、フレーム内符号化とフレーム間予測符号化とを用いて符号化し、複数の動画符号化単位からなる符号化された動画像データを出力する動画符号化手段と、入力された音声データを符号化し、複数の音声符号化単位からなる符号化された音声データを出力する音声符号化手段と、所定数の前記動画符号化単位の最大符号量と、所定数の前記音声符号化単位の最大符号量とを設定する設定手段と、前記所定数の動画符号化単位の符号量が前記設定手段により設定された動画符号化単位の最大符号量を超えないように前記動画像データを符号化するよう前記動画符号化手段を制御する動画符号量制御手段と、前記所定数の音声符号化単位の符号量が前記設定手段により設定された音声符号化単位の最大符号量を超えないように前記音声データを符号化するよう前記音声符号化手段を制御する音声符号量制御手段と、それぞれが前記所定数の動画符号化単位の符号化された動画像データを含む複数の動画チャンクと、それぞれが前記所定数の音声符号化単位の符号化された音声データを含む複数の音声チャンクとを多重化して記録媒体に記録すると共に複数の前記動画チャンク及び音声チャンクの各々にアクセスするためのオフセット値の情報を前記記録媒体に記録する記録手段とを備え、前記記録手段は、前記動画チャンクと前記音声チャンクを交互に多重化し、一つの前記動画チャンクと一つの前記音声チャンクの合計のサイズが前記動画符号化単位の最大符号量と前記音声符号化単位の最大符号量の合計に等しくなるように前記記録媒体に記録すると共に、複数の前記動画チャンクと音声チャンク及び前記オフセット値の情報とは別に、前記合計のサイズの情報を前記記録媒体に記録する。
【００１４】
また、本発明の記録方法は、動画像データおよび音声データを符号化して記録する記録装置における記録方法であって、動画符号化手段が、入力された動画像データを、フレーム内符号化とフレーム間予測符号化とを用いて符号化し、複数の動画符号化単位からなる符号化された動画像データを出力する動画符号化工程と、音声符号化手段が、入力された音声データを符号化し、複数の音声符号化単位からなる符号化された音声データを出力する音声符号化工程と、設定手段が、所定数の前記動画符号化単位の最大符号量と、所定数の前記音声符号化単位の最大符号量とを設定する設定工程と、動画符号量制御手段が、前記所定数の動画符号化単位の符号量が前記設定工程において設定された動画符号化単位の最大符号量を超えないように前記動画像データを符号化するよう前記動画符号化手段を制御する動画符号量制御工程と、音声符号量制御手段が、前記所定数の音声符号化単位の符号量が前記設定工程において設定された音声符号化単位の最大符号量を超えないように前記音声データを符号化するよう前記音声符号化手段を制御する音声符号量制御工程と、記録手段が、それぞれが前記所定数の動画符号化単位の符号化された動画像データを含む複数の動画チャンクと、それぞれが前記所定数の音声符号化単位の符号化された音声データを含む複数の音声チャンクとを多重化して記録媒体に記録すると共に複数の前記動画チャンク及び音声チャンクの各々にアクセスするためのオフセット値の情報を前記記録媒体に記録する記録工程とを有し、前記記録工程では、前記動画チャンクと前記音声チャンクを交互に多重化し、一つの前記動画チャンクと一つの前記音声チャンクの合計のサイズが前記動画符号化単位の最大符号量と前記音声符号化単位の最大符号量の合計に等しくなるように前記記録媒体に記録すると共に、複数の前記動画チャンクと音声チャンク及び前記オフセット値の情報とは別に、前記合計のサイズの情報を前記記録媒体に記録する。
【発明の効果】
【００１７】
本発明によれば、ファイルとして記録された動画像データや音声データの再生時やサーチ時に必要なメモリ容量を削減し、データアクセスを高速化できる。
【発明を実施するための最良の形態】
【００１８】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００１９】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００２０】
［記録装置の説明］
図３は、本発明に係る実施形態の記録装置の構成を示すブロック図である。
【００２１】
図３において、３０１は画像データの入力端子である。３０２は画像符号化回路である。３０３は画像とデータとオーディオデータのストリームを多重化する多重化回路である。３０４は記録回路である。３０５はオーディオデータの入力端子である。３０６はオーディオの符号化回路である。３０７はファイルのヘッダの付加回路である。３０８は記録時の画質等のパラメータの入力端子である。３０９は符号量設定回路である。３１０はチャンク構成設定回路である。３１１は記録媒体である。
【００２２】
本実施形態では、動画像データ及び音声データをＭＰ４ファイル形式で記録再生する。
【００２３】
ここで、ＭＰ４ファイルの構成について説明する。
【００２４】
ＭＰ４ファイルはQuicktime（登録商標）ファイルフォーマットに基づいている。Quicktime（登録商標）ファイルフォーマットは、図９に示すように、box（又はatom）と呼ばれる基本単位で構成される。
【００２５】
boxは、図９に示すようにboxのサイズを示す４バイトのsizeフィールドと、boxのタイプを示す４バイトのtypeフィールドと、それに続くdataフィールドとからなる。
【００２６】
ＭＰ４ファイルは基本的には図７（ａ）に示すように、符号化された画像データ及びオーディオデータのストリームが入っているmdat boxと、各ストリームに関する情報が入っているmoov boxとからなる。
【００２７】
mdat boxの中は更に、図７（ｂ）に示すようにチャンク(chunk)で構成され、この例の場合には動画像のチャンクvideo chunk v(n)とオーディオのチャンクaudio chunk a(n)とから構成される。
【００２８】
動画像及びオーディオの各チャンクは、更に図７（ｄ）、（ｆ）に示すようにサンプル（sample）から構成される。図７（ｄ）は動画像のchunk v(1)がsample sv(1)、sv(2)、・・・、sv(K)から構成されることを示している。また、図７（ｆ）はオーディオのchunk a(1)がsample sa(1)、sa(2)、・・・、sa(M)から構成されることを示している。
【００２９】
上記各sampleは、例えば動画像の場合、図７（ｅ）に示すように、sample sv(1)、sv(2)、sv(3)、s(4)、・・・に対してＩ0、Ｂ-2、Ｂ-1、Ｐ3、・・・の符号化されたＭＰＥＧストリームが対応する。ここでＩnはイントラ符号化（フレーム内符号化）されたフレーム画像データである。Ｂnは双方向から参照して符号化（フレーム間符号化）されるフレーム画像データである。Ｐnは一方向（順方向）から参照して符号化（フレーム間符号化）されるフレーム画像データである。上記画像データはいずれも可変長データである。
【００３０】
オーディオデータの各sampleは、図７（ｇ）に示すように、オーディオデータの符号化の単位であるフレームに対応付けられる。
【００３１】
図７（ａ）のmoov boxは、図７（ｃ）に示すように、作成日時等を入れるヘッダ情報からなるmvhd boxを有する。また、moov boxは、mdat boxに格納されるストリームデータの情報を入れる動画像及びオーディオの各trak box(video)とtrak box(audio)を有する。
【００３２】
trak boxに格納されるboxは、図８（ａ）に示すようなboxであるが、ここでは本発明に関係するstsc、stsz、stcoの各boxについてのみ説明する。
【００３３】
stco boxは、図８（ｂ）に示すように、ストリームの各チャンクへのオフセットアドレス値を格納する。図８（ａ）、（ｂ）は動画像のstco boxのみを示しているが、stco boxは動画像、オーディオの各trackに１つずつ存在する。
【００３４】
stsz boxは、図８（ｃ）に示すように、ストリームの各サンプルのサイズを示す情報を格納する。図８（ａ）、（ｃ）は動画像のstsz boxのみを示しているが、stsz boxは動画像とオーディオの各trackに１つずつ存在する。
【００３５】
stsc boxは、図８（ｄ）に示すように、各チャンクのサンプル数を示す情報を格納する。図８（ａ）、（ｄ）)は動画像のstsc boxのみを示しているが、stsc boxは動画像とオーディオの各trackに１つずつ存在する。
【００３６】
尚、上記stco、stsz、stscの各boxに格納されるデータは記録時間に伴って増大していく。
【００３７】
例えば秒間30フレーム／秒の画像を１５フレーム毎に１チャンクに格納するようにしたとして、１時間記録したとすると、動画像の総チャンク数がおよそ、2×60×60=7200となる。
【００３８】
各チャンクへのオフセットアドレス情報を格納するstco boxは、2×60×60×4=28800(byte)となり、およそ２８８００バイト（約２８kbyte）ほどのデータエリアを必要とする。
【００３９】
また、各サンプルのサイズを示す情報を格納するstsz boxは、30×60×60×4=432000(byte)となり、およそ４３２０００バイト（約４２２kbyte）ほどのデータエリアを必要とする。
【００４０】
また、各チャンクのサンプル数を示す情報を格納するstsc boxは、2×60×60×12=86400(byte)となり、およそ８６４００バイト（約８４kbyte）ほどのデータエリアを必要とする。
【００４１】
オーディオデータに関しては、例えばＡＡＣを用いてオーディオデータを圧縮するとする。サンプリング周波数を４８kHz、フレームサイズ（サンプルサイズ）を１０２４オーディオサンプルとする。そして、１チャンク当たり４６フレーム（サンプル）（約１秒）とすると、１時間記録した時のオーディオの総チャンク数はおよそ、48000×60×60/(1024×46)≒3668となる。
【００４２】
stco boxは、3668×4=14672(byte)
stsz boxは、46×3668×4=674912(byte)
stsc boxは、3668×12= 44016(byte)となり、それぞれ約１４kbyte、６５９kbyte、４２kbyteほどになる。
【００４３】
上記からＭＰ４ファイルとして記録していく場合、１時間で１．２Ｍｂｙｔｅ以上のmoov boxの容量を必要とする。
【００４４】
［記録動作及び再生動作の説明］
先ず、具体的な記録動作について説明する。
【００４５】
操作者の設定により、入力端子３０８から画質の記録パラメータ、若しくは記録媒体３１１への所望する記録時間のパラメータが符号量設定回路３０９に入力される。
【００４６】
更に、チャンク構成設定回路３１０から画像とオーディオデータのチャンク構成の情報が符号量設定回路３０９、画像符号化回路３０２、オーディオ符号化回路３０６、ヘッダ付加回路３０７に送られる。
【００４７】
ここでチャンク構成設定回路３１０は例えば図７（ｄ）、（ｆ）に示すように、動画像データをＭＰＥＧ２若しくはＭＰＥＧ４で圧縮し、Ｋフレームで動画像データの１チャンクとする。また、オーディオデータはＭＰＥＧ２‐ＡＡＣで圧縮し、Ｍフレームで１チャンクを構成するように符号量設定回路３０９、画像符号化回路３０２、オーディオ符号化回路３０６、ヘッダ付加回路３０７に設定情報を送る。本実施形態では、動画像データの１チャンクをＭＰＥＧ符号化におけるＧＯＰ(Group of Picture)の整数倍のフレーム数とする。
【００４８】
符号量設定回路３０９は、入力端子３０８から入力されたパラメータとチャンク構成設定回路３１０から供給されるチャンクの構成情報とから画像及びオーディオデータの１チャンク当たりの符号量を決める。
【００４９】
例えば図５（ａ）に示すように、画像データ１チャンクの符号量をＶＬ、オーディオデータ１チャンクの符号量をＡＬとし、画像データ１チャンクとオーディオデータ１チャンクの合計の符号量ＶＬ＋ＡＬ＝Ｌfixと決める。図５（ａ）では、１ＧＯＰを１５フレームとし、１チャンクを２ＧＯＰ分、即ち、Ｋ＝３０フレームとしている。
【００５０】
Ｌfixは少なくとも記録開始から記録停止まで、固定の値として設定される。
【００５１】
符号量設定回路３０９は決定した１チャンク当たりの画像データ符号量ＶＬ、オーディオデータ符号量ＡＬを画像符号化回路３０２、オーディオ符号化回路３０６、ヘッダ付加回路３０７に設定する。
【００５２】
次に記録が開始されると、画像符号化回路３０２、オーディオ符号化回路３０６は画像データ及びオーディオデータの符号化を開始する。
【００５３】
ここで、図１を用いて画像符号化回路３０２の詳細について説明する。
【００５４】
図１において、１０１は画像データの入力端子である。１０２はカメラ信号処理回路である。１０３は符号化のためのフレーム順の並べ替えを行う並べ替え回路である。１０４は加算回路である。１０５はスイッチ回路である。１０６はＤＣＴ回路である。１０７は量子化回路である。１０８は逆量子化回路である。１０９は逆ＤＣＴ回路である。１１０は加算回路である。１１１はメモリである。１１２は動き補償回路である。１１３はスイッチ回路である。１１４は可変長符号化回路である。１１５はストリーム生成回路である。１１６はバッファである。１１７は符号量制御回路である。１１８はストリームデータの出力端子である。１１９はストリームパラメータ付加回路である。１２０はヘッダ情報生成回路である。１２１はヘッダに付加する情報の出力端子である。１２２は符号量設定回路である。１２３は記録制御回路である。１２４は記録制御回路への制御データ入力端子である。
【００５５】
入力端子１２４から符号量設定回路３０９と、チャンク構成設定回路３１０からの記録に関するパラメータであるチャンク当たりの符号量ＶＬ及びチャンク構成を示すパラメータＫが入力される。記録制御回路１２３は入力されたチャンク当たりの符号量ＶＬとチャンク構成を示すパラメータＫを符号量設定回路１２２に供給する。符号量設定回路１２２はチャンク当たりのＧＯＰ数ｇｎを算出し、ＧＯＰがｇｎ個で符号量ＶＬとなるように符号量制御回路１１７に設定すると共に、ストリームパラメータ付加回路１１９にも供給する。
【００５６】
記録が開始されると、不図示の撮像素子で撮像された画像データが入力端子１０１から入力され、カメラ信号処理回路１０２でカメラ信号処理され、輝度信号／色差信号として並べ替え回路１０３に出力される。
【００５７】
並べ替え回路１０３では、図５（ｂ）に示す時間軸ｔに対してカメラ信号処理回路１０２から各フレーム画像Ｆ-2、Ｆ-1、Ｆ0、Ｆ1、Ｆ2、Ｆ3、Ｆ4、Ｆ5、Ｆ6、・・・が出力される。そして、並べ替え回路１０３は、これらの画像フレームをＦ0、Ｆ-2、Ｆ-1、Ｆ3、Ｆ1、Ｆ2、Ｆ6、Ｆ4、Ｆ5、・・・の順に並べ替える。また、並べ替え回路１０３は、フレーム内の画像データを符号化する単位の小ブロックに分割する処理を行い、加算回路１０４、スイッチ回路１０５に出力する。
【００５８】
記録制御回路１２３はスイッチ回路１０５の端子を記録開始時、まず端子ａを選択するよう指示し、スイッチ回路１０５は記録制御回路１２３により端子ａを選択し、フレーム画像Ｆ0をＤＣＴ回路１０６に送出する。ＤＣＴ回路１０６はフレーム画像Ｆ0に対して離散コサイン変換（Discrete Cosine Transform、以下、「ＤＣＴ」）を施し、量子化回路１０７に送出する。
【００５９】
量子化回路１０７では符号量制御回路１１７から設定された量子化処理で、ＤＣＴ回路１０６から供給されるＤＣＴ処理されたデータを量子化し、可変長符号化回路１１４と逆量子化回路１０８に送出する。
【００６０】
可変長符号化回路１１４は量子化回路１０７から供給される量子化された画像データをハフマン符号等を用いて可変長符号化する。そして可変長符号化回路１１４は、図５（ｂ）に示すように、フレーム画像Ｆ0をフレーム内符号化データＩ0としてストリーム生成回路１１５に送出する。
【００６１】
逆量子化回路１０８は量子化回路１０７から供給された量子化された画像データを逆量子化し、逆ＤＣＴ回路１０９に送出する。逆ＤＣＴ回路１０９は逆量子化回路１０８で逆量子化された画像データを逆離散コサイン変換（逆ＤＣＴ）し、加算回路１１０に送出する。
【００６２】
加算回路１１０は逆ＤＣＴ回路１０９から供給される逆ＤＣＴされた画像データにスイッチ回路１１３から供給されるデータを加算してメモリ１１１に供給する。ここで、スイッチ回路１１３は記録制御回路１２３の指示により、端子ａが選択され、’０’データを加算回路１１０に供給する。従って加算回路１１０は逆ＤＣＴ回路１０９から供給されるデータと同じ値をメモリ１１１に供給し、メモリ１１１は供給された画像データを記憶する。
【００６３】
フレーム画像Ｆ0の処理が終わると、引き続きフレーム画像Ｆ-2の画像データが並べ替え回路１０３から加算回路１０４、動き補償回路１１２に入力される。この時、スイッチ回路１０５は記録制御回路１２３の指示により、端子ｂが選択される。更に記録制御回路１２３は動き補償回路１１２を制御する。動き補償回路１１２は、記録開始時であるので図５に示すようにフレーム画像Ｆ0のみを参照して予測誤差が最も小さくなるフレーム画像Ｆ0のブロックをメモリ１１１から読み出し加算回路１０４に供給する。
【００６４】
加算回路１０４は並べ替え回路１０３から供給されるフレーム画像Ｆ-2の画像データと動き補償回路１１２から供給されるデータを引き算し、予測誤差データとしてスイッチ回路１０５に供給する。
【００６５】
スイッチ回路１０５は加算回路１０４から供給された引き算された予測誤差データをＤＣＴ回路１０６に送出する。ＤＣＴ回路１０６は加算回路１０４から供給される予測誤差データをＤＣＴ処理して量子化回路１０７に供給する。
【００６６】
量子化回路１０７では符号量制御回路１１７から設定された量子化処理で、ＤＣＴ回路１０６から供給されるＤＣＴ処理された予測誤差データを量子化し、可変長符号化回路１１４に送出する。
【００６７】
可変長符号化回路１１４は量子化回路１０７から供給される量子化された予測誤差データを可変長符号化する。そして、可変長符号化回路１１４は、図５に示すように、フレーム画像Ｆ-2をフレーム間符号化データＢ-2としてストリーム生成回路１１５に送出する。
【００６８】
次のフレーム画像Ｆ-1の処理もフレーム画像Ｆ-2と同様に処理される。処理されたフレーム画像は可変長符号化回路１１４からフレーム間符号化（双方向予測符号化）データＢ-1としてストリーム生成回路１１５に送出される。
【００６９】
次にフレーム画像Ｆ3が並べ替え回路１０３から加算回路１０４、動き補償回路１１２に入力される。この時、スイッチ回路１０５は記録制御回路１２３の指示により、端子ｂが選択される。そして動き補償回路１１２はフレーム画像F０を参照して予測誤差が最も小さくなるフレーム画像Ｆ0のブロックをメモリ１１１から読み出し加算回路１０４に供給する。
【００７０】
加算回路１０４は並べ替え回路１０３から供給されるフレーム画像Ｆ3の画像データと動き補償回路１１２から供給される動き補償されたフレーム画像Ｆ0のデータを引き算する。また、加算回路１０４は、予測誤差データとしてスイッチ回路１０５に供給する。スイッチ回路１０５は加算回路１０４から供給された引き算された予測誤差データをＤＣＴ回路１０６に送出する。ＤＣＴ回路１０６は加算回路１０４から供給される予測誤差データをＤＣＴ処理して量子化回路１０７に供給する。
【００７１】
量子化回路１０７では符号量制御回路１１７から設定された量子化処理で、ＤＣＴ回路１０６から供給されるＤＣＴ処理された予測誤差データを量子化し、可変長符号化回路１１４と逆量子化回路１０８に送出する。
【００７２】
可変長符号化回路１１４は量子化回路１０７から供給される量子化された予測誤差データを可変長符号化する。そして、可変長符号化回路１１４は、図５（ｂ）に示すように、フレーム画像F３をフレーム間符号化（片方向予測符号化）データＰ3としてストリーム生成回路１１５に送出する。
【００７３】
逆量子化回路１０８は量子化回路１０７から供給された量子化された予測誤差データを逆量子化し、逆ＤＣＴ回路１０９に送出する。逆ＤＣＴ回路１０９は逆量子化回路１０８で逆量子化された予測誤差データを逆ＤＣＴ処理し、加算回路１１０に送出する。
【００７４】
加算回路１１０は逆ＤＣＴ回路１０９から供給される逆ＤＣＴ処理された予測誤差データにスイッチ回路１１３から供給されるデータを加算してメモリ１１１に供給する。ここで、スイッチ回路１１３は記録制御回路１２３の指示により、端子ｂが選択され、動き補償回路１１２から供給される動き補償されたフレーム画像Ｆ0のデータを加算回路１１０に供給する。従って加算回路１１０は逆ＤＣＴ回路１０９から供給される予測誤差データに動き補償回路１１２から供給される動き補償されたデータを加算してメモリ１１１に供給し、メモリ１１１は供給された画像データを記憶する。
【００７５】
次にフレーム画像Ｆ1、Ｆ2が処理される。即ち、動き補償回路１１２で、局所復号されたフレーム画像Ｆ0、Ｆ3の双方向から予測される以外は上記Ｆ-2、Ｆ-1の処理と同じであり、可変長符号化回路１１４で可変長符号化される。そして、図５（ｂ）に示すように、フレーム画像Ｆ1、Ｆ2はフレーム間符号化データＢ1、Ｂ2としてストリーム生成回路１１５に送出される。
【００７６】
以下、フレーム画像Ｆ6、Ｆ4、Ｆ5、Ｆ9、Ｆ7、Ｆ8、Ｆ12、Ｆ10、Ｆ11と処理し、図５（ｂ）に示すようにＰ6、Ｂ4、Ｂ5、Ｐ9、Ｂ7、Ｂ8、Ｐ12、Ｂ10、Ｂ11を得、ストリーム生成回路１１５に供給されていく。
【００７７】
ストリーム生成回路１１５では、図５（ｃ）に示すように、シーケンスヘッダ、ＧＯＰヘッダ、ピクチャヘッダ等を付加してストリームを生成し、バッファ１１６に供給する。そして、ストリーム生成回路１１５は、図５（ｂ）に示すように、符号化データとして、Ｉ0、Ｂ-2、Ｂ-1、Ｐ3、Ｂ1、・・・、Ｐ12、Ｂ10、Ｂ11で１ＧＯＰ（ＧＯＰ(1))）を形成する。
【００７８】
ストリームパラメータ付加回路１１９は、図５（ｃ）に示すように、ストリーム生成回路１１５に、画像データの符号量ＶＬ、フレーム内符号化データＩ0の符号化サイズＩ0(size)をユーザーデータとして付加する。また、ストリームパラメータ付加回路１１９は、図５（ｃ）に示すように、ストリーム生成回路１１５に、次のＧＯＰのＩフレームまでのオフセット値Ｉ0(offset)をユーザーデータとして付加する。
【００７９】
バッファ１１６は記録制御回路１２３の制御を受け、出力端子１１８から図３の多重化回路３０３に画像のストリームデータを送出する。
【００８０】
符号量制御回路１１７は符号量設定回路１２２から設定されたチャンク当たりのＧＯＰ数ｇｎとチャンク当たりの符号量ＶＬに従い、ＧＯＰがｇｎ個で符号量がＶＬとなるようにバッファ１１６の符号量を監視し、量子化回路１０７での量子化処理を制御する。
【００８１】
ヘッダ情報生成回路１２０は、ストリーム生成回路１１５からＭＰ４ファイルのヘッダに必要とされるチャンクへのオフセット値、チャンク当たりのサンプル数、サンプルのサイズ等の情報を生成する。そして、ヘッダ情報生成回路１２０は、生成された情報を出力端子１２１から出力し図３のヘッダ付加回路３０７に供給する。
【００８２】
次に、図２を参照してオーディオの符号化について説明する。
【００８３】
図２において、２０１はオーディオデータの入力端子である。２０２はＭＤＣＴ回路である。２０３はＴＮＳ回路である。２０４はインテンシティステレオ回路である。２０５はＭ／Ｓステレオ回路である。２０６はスケールファクタ計算回路である。２０７は量子化回路である。２０８は可変長符号化回路である。２０９はストリーム生成回路である。２１０は出力端子である。２１１はヘッダ情報生成回路である。２１２は出力端子である。２１３は聴覚心理モデル回路である。２１４はビット割り当て回路である。２１５は記録制御回路である。２１６は入力端子である。
【００８４】
入力端子２１６から符号量設定回路３０９、チャンク構成設定回路３１０からの記録に関するパラメータであるチャンク当たりの符号量ＡＬとチャンク構成を示すパラメータＭが記録制御回路２１５に入力される。
【００８５】
記録が開始されると、不図示のＡ／Ｄ変換回路等から入力端子２０１にオーディオデータが入力され、ＭＤＣＴ回路２０２、聴覚心理モデル回路２１３に供給される。
【００８６】
ＭＤＣＴ回路２０２では入力端子２０１から入力されるオーディオデータを１０２４サンプルで１フレームとして変形離散コサイン変換（以下、「ＭＤＣＴ」）を施し、ＴＮＳ回路２０３に出力する。尚、変形離散コサイン変換は、Modified Discrete Cosine Transformの略称である。ＴＮＳ回路２０３ではＴＮＳ（Temporal Noise Shaping）処理を施し、インテンシティステレオ回路２０４に出力する。ＴＮＳは量子化雑音を信号波形の振幅値に応じて整形することにより音質の向上を図る処理である。ここではＭＤＣＴ係数の一部を時系列信号とみなして線形予測する。これにより、量子化雑音は信号波形の振幅が大きいところに集中する。
【００８７】
インテンシティステレオ回路２０４では、高域では左右チャネルの信号パワー差により音源の位置を感じるという聴覚の特性を利用し、左右チャネルの和信号とパワー比を本来の２チャネルデータの代わりに用いる。インテンシティステレオ回路２０４から出力されたオーディオデータはＭ／Ｓステレオ回路２０５に送出される。
【００８８】
Ｍ／Ｓステレオ回路２０５では、左右のチャネルの和信号と差信号を本来の２チャネルデータの代わりに用いる。主に低域の信号処理に用いられる。Ｍ／Ｓステレオ回路２０５から出力されたオーディオデータはスケールファクタ計算回路２０６に供給される。
【００８９】
スケールファクタ計算回路２０６では聴覚特性に合わせて複数の帯域（スケールファクタバンド）に分割された各帯域ごとの代表値（スケールファクタ）を算出し、帯域毎にスケールファクタを用いて正規化処理を行う。そして、スケールファクタ計算回路２０６は正規化されたデータを量子化回路２０７に送出する。
【００９０】
量子化回路２０７はスケールファクタ計算回路２０６から供給されたデータに対して、ビット割り当て回路２１４からの制御に従って量子化を行い、可変長符号化回路２０８に送出する。
【００９１】
ここで、入力端子２０１から入力されたオーディオデータは聴覚心理モデル回路２１３にも入力されている。聴覚心理モデル回路２１３では入力されたオーディオデータをＦＦＴ処理し、スケールファクタバンド毎に絶対可聴閾値とマスキング効果を加味して、補正された可聴閾値を算出し、ビット割り当て回路２１４に送出する。
【００９２】
ビット割り当て回路２１４は、記録制御回路２１５により、聴覚心理モデル回路２１３から供給されたスケールファクタバンド毎の補正された可聴閾値から閾値を越える成分についてＭフレーム（１チャンク）でＡＬビットとなるようにビットを割り当てていく。
【００９３】
可変長符号化回路２０８は量子化回路２０７から量子化されたデータを供給され、ハフマン符号化を施し、符号化したデータをストリーム生成回路２０９、ビット割り当て回路２１４に送出する。
【００９４】
ストリーム生成回路２０９は、可変長符号化回路２０８から供給される符号化データと、回路２０２〜２０７からの処理帯域の範囲やスケールファクタ等の符号化パラメータとを用いてオーディオのストリームを生成する。そして、ストリーム生成回路２０９は、生成されたオーディオストリームを出力端子２１０から出力し図３の多重化回路３０３に供給する。
【００９５】
また、ヘッダ情報生成回路２１１は、ストリーム生成回路２０９からＭＰ４ファイルのヘッダに必要とされるチャンクへのオフセット値、チャンク当たりのサンプル数、サンプルのサイズ等の情報を生成する。そして、ヘッダ情報生成回路２１１は、生成された情報を出力端子２１２から出力し図３のヘッダ付加回路３０７に供給する。
【００９６】
多重化回路３０３は画像符号化回路３０２、オーディオ符号化回路３０６から供給される画像とオーディオの符号化データを図５（ａ）に示すようにビデオ、オーディオ１チャンク毎にインターリーブして多重化する。そして、多重化回路３０３は、ビデオ１チャンクとオーディオ１チャンクで符号量ＶＬ＋ＡＬ＝Ｌfixとなるようにしてmdat boxのデータを生成し、記録媒体３１１に記録していく。
【００９７】
更にヘッダ付加回路３０７は画像符号化回路３０２及びオーディオ符号化回路３０６からチャンクへのオフセット値、チャンク当たりのサンプル数、サンプルのサイズ等の情報が供給される。そして、ヘッダ付加回路３０７は、これらの情報から、video track及びaudio trackのstco、stsc、stsz boxのデータを作成し、多重化回路３０３に供給する。
【００９８】
また、ヘッダ付加回路３０７は、ビデオチャンク、オーディオチャンクの符号量ＶＬ，ＡＬ、ビデオチャンク、オーディオチャンクの合計符号量Ｌfixをユーザーデータとして記録するfree boxを生成し、多重化回路３０３に供給する。また、ヘッダ付加回路３０７は、ビデオチャンクの構成を示す１チャンク当たりのフレーム数Ｋをユーザーデータとして記録するfree boxを生成し、多重化回路３０３に供給する。更に、ヘッダ付加回路３０７は、ＧＯＰ数ｇｎ、オーディオチャンクの構成を示す１チャンク当たりのフレーム数Ｍ、記録される画像データのフレームレート等をユーザーデータとして記録するfree boxを生成し、多重化回路３０３に供給する。
【００９９】
多重化回路３０３は、図５（ｄ）に示すように、moov box内にfree box Fを生成し、moov boxを記録媒体３１１に記録する。またユーザーデータには、データが上記形式であることを示す識別情報を入れておくようにする。
【０１００】
尚、図５（ｄ）ではmoov box内にfree box Fを設けたが、free box F はmoov box 内ではなく、moov box、mdat boxと同等の位置に設けてもよい。
【０１０１】
［再生装置の説明］
次に、図４を参照して上記のように生成されたＭＰ４ファイルを再生する装置について説明する。
【０１０２】
図４において、４０１は記録媒体である。４０２は記録媒体４０１に記録されたデータを再生する再生回路である。４０３はバッファである。４０４は分離回路である。４０５は可変長復号化回路である。４０６は逆量子化回路である。４０７は逆ＤＣＴ回路である。４０８は加算回路である。４０９はメモリである。４１０は動き補償回路である。４１１はスイッチ回路である。４１２は並べ替え回路である。４１３は出力端子である。４１４は可変長復号化回路である。４１５は逆量子化回路である。４１６はスケールファクタ回路である。４１７はＭ／Ｓステレオ回路である。４１８はインテンシティステレオ回路である。４１９はＴＮＳ回路である。４２０は逆ＭＤＣＴ回路である。４２１は出力端子である。４２２はヘッダ情報解析回路である。４２３はストリームユーザーデータ解析回路である。４２４は再生制御回路である。４２５は入力端子である。
【０１０３】
図６は再生処理を示すフローチャートである。
【０１０４】
先ず、入力端子４２５から再生指示を受けると再生制御回路４２４は指定されたファイルを再生するために、指定されたファイルが上記形式で記録されたファイルであるかどうかを調べる。
【０１０５】
再生制御回路４２４は再生回路４０２を制御して、図６に示すように記録媒体４０１に記録されたファイルをオープンし（Ｓ６０２）、再生回路４０２を通してファイルデータを再生し、バッファ４０３に供給する。
【０１０６】
ヘッダ情報解析回路４２２は、再生されてバッファ４０３に記憶される再生データを解析し、moov boxを検出する。moov boxが検出されると、記録されている画像の大きさ、オーディオの符号化方式等の符号化の基本パラメータを取得する（Ｓ６０４）。
【０１０７】
次に、free boxから、上記形式で記録したユーザー定義データがあることを示す識別情報があるかどうかを検出する（Ｓ６０５）。
【０１０８】
free box Fが検出されると、ビデオチャンクの構成を示す１チャンク当たりのフレーム数Ｋ、ＧＯＰ数ｇｎ、オーディオチャンクの構成を示す１チャンク当たりのフレーム数Ｍを取得する（Ｓ６０６）。更にビデオチャンク、オーディオチャンクの符号量ＶＬ、ＡＬ、ビデオチャンク、オーディオチャンクの合計符号量Ｌfixを取得する（Ｓ６０７）。そしてstsc、stsz、stco boxは読み込まず、ストリームデータのあるmdat boxを検出する（Ｓ６０８）。
【０１０９】
また、上記Ｓ６０５でfree box Fがない場合、再生制御回路４２４は、通常のファイルとして、stsc、stsz、stco boxを検出する（Ｓ６１０）。また、チャンクの構成パラメータのチャンクオフセット値、サンプル数、サンプルサイズを再生回路４０２を介してバッファ４０３に可能な限り読み出す（Ｓ６１１）。
【０１１０】
本実施形態においては、ヘッダ情報解析回路４２２がチャンクの構成及びサイズを示すユーザデータを検出すると、再生制御回路４２４はstsc box、stsz box、stco boxのパラメータを使わずにmdat box内のストリームデータにアクセスする。
【０１１１】
即ち、ユーザデータが検出された場合、そのＭＰ４ファイルは、１チャンク毎に固定長化されて記録されているため、オフセット値を使用せず、所望のチャンクを検出することができる。
【０１１２】
再生時において、各ビデオチャンクの先頭からのオフセット位置は（Ｌfix × ｎ）バイト（ｎ＝０，１，２、・・・）で求められる。また、オーディオチャンクの先頭からのオフセット位置は（Lfix × ｎ ＋ ＶＬ）バイト（ｎ＝０，１，２、・・・）で求められる。
【０１１３】
再生回路４０２は再生制御回路４２４の制御により、記録媒体４０１に記録されたファイルのmdat boxのストリームデータを再生し、バッファ４０３に供給する。バッファ４０３に記憶されたストリームデータはバッファの占有状態等をみて読み出しを始め、分離回路４０４に供給される。
【０１１４】
分離回路４０４ではビデオのチャンクデータとオーディオのチャンクデータを分離し、ビデオのチャンクデータは可変長復号化回路４０５、ストリームユーザーデータ解析回路４２３に供給し、オーディオチャンクのデータは可変長復号化回路４１４に供給する。
可変長復号化回路４０５は分離回路４０４から供給される再生されたストリームデータを可変長復号し、逆量子化回路４０６に供給する。
【０１１５】
逆量子化回路４０６は可変長復号化回路４０５から供給される可変長復号化されたデータを逆量子化し、逆ＤＣＴ回路４０７に送出する。逆ＤＣＴ回路４０７は逆量子化回路４０６から供給される逆量子化されたデータに逆ＤＣＴ処理を施し、加算回路４０８に送出する。加算回路４０８は逆ＤＣＴ回路４０７から供給される逆ＤＣＴ処理されたデータとスイッチ回路４１１から供給されるデータを加算する。
【０１１６】
ここで、記録媒体４０１から再生されるストリームデータは、先ずＧＯＰ(1)のフレーム内符号化されたＩ0が再生される。再生制御回路４２４はスイッチ回路４１１の端子ａを選択するよう制御し、スイッチ回路４１１は加算回路４０８にデータ‘０’を供給する。加算回路４０８はスイッチ回路４１１から供給される‘０’データと逆ＤＣＴ回路４０７から供給される逆ＤＣＴ処理されたデータとを加算して、再生されたフレームＦ0としてメモリ４０９と並べ替え回路４１２に供給する。メモリ４０９は加算回路４０８から供給される加算データを記憶する。
【０１１７】
ＧＯＰ(1)のフレーム内符号化データＩ0の次に再生されるのは双方向予測符号化されたピクチャデータＢ-2、Ｂ-1である。また、逆ＤＣＴ回路４０７までの再生手続きは上記フレーム内符号化データＩ0で説明した再生処理と同様であるので省略する。
【０１１８】
逆ＤＣＴ回路４０７から逆ＤＣＴ処理された双方向予測符号化されたピクチャデータが加算回路４０８に供給される。再生制御回路４２４はこの時、スイッチ回路４１１の端子ｂを選択するようスイッチ回路４１１を制御し、スイッチ回路４１１は端子ｂを選択し、加算回路４０８に動き補償回路４１０からのデータを供給する。
【０１１９】
動き補償回路４１０は、再生されてくるストリームから、符号化時に生成されストリーム内に記録された動きベクトルを検出する。そして、動き補償回路４１０は、参照ブロックのデータ（この場合は記録開始時であるため、再生されたフレーム内符号化データＦ0からのデータのみ）をメモリ４０９から読み出してスイッチ回路４１１の端子ｂに供給する。
【０１２０】
加算回路４０８は逆ＤＣＴ回路４０７から供給される逆ＤＣＴ処理されたデータとスイッチ回路４１１から供給される動き補償されたデータを加算する。また、加算回路４０８は、再生されたフレームＦ-2、Ｆ-1として並べ替え回路４１２に供給する。
【０１２１】
次に、片方向方向予測符号化されたピクチャデータＰ3が再生され、逆ＤＣＴ回路４０７までの再生処理は上記フレーム内符号化データＩ0で説明した再生処理と同様であるので省略する。
【０１２２】
逆ＤＣＴ回路４０７から逆ＤＣＴ処理された片方向予測符号化されたピクチャデータが加算回路４０８に供給される。再生制御回路４２４は、スイッチ回路４１１の端子ｂを選択するようスイッチ回路４１１を制御し、スイッチ回路４１１は端子ｂを選択し、加算回路４０８に動き補償回路４１０からのデータを供給する。
【０１２３】
動き補償回路４１０は再生されてくるストリームから、符号化時に生成され、ストリーム内に記録された動きベクトルを検出する。そして、動き補償回路４１０は、参照ブロックのデータ（再生されたフレーム内符号化データＦ0からのデータ）をメモリ４０９から読み出してスイッチ回路４１１の端子ｂに供給する。
【０１２４】
加算回路４０８は逆ＤＣＴ回路４０７から供給される逆ＤＣＴ処理されたデータとスイッチ回路４１１から供給される動き補償されたデータを加算し、再生されたフレームＦ3としてメモリ４０９と並べ替え回路４１２に供給する。メモリ４０９は加算回路４０８から供給される加算データを記憶する。
【０１２５】
次にピクチャＢ1、Ｂ2が再生される。Ｂ-2、Ｂ-1と違う点は、記録開始時のフレームではないため、双方向予測としてフレームＦ0とＦ3から再生されることである。それ以外は上記Ｂ-2、Ｂ-1と同様の処理によって再生される。
【０１２６】
以上説明したように、Ｐ6、Ｂ4、Ｂ5、・・・が順次再生されていく。
【０１２７】
並べ替え回路４１２は順次再生されてくるフレームＦ0、Ｆ-2、Ｆ-1、Ｆ3、Ｆ1、Ｆ2、Ｆ6、Ｆ4、Ｆ5、・・・を並べ換える。即ち、並べ替え回路４１２は、再生されるフレームをＦ-2、Ｆ-1、Ｆ0、Ｆ1、Ｆ2、Ｆ3、Ｆ4、Ｆ5、Ｆ6、・・・に並べ換えて出力端子４１３に出力する。
【０１２８】
可変長復号化回路４１４に供給されたオーディオチャンクの再生データは、可変長復号され、逆量子化回路４１５に供給される。逆量子化回路４１５では復号された再生データを逆量子化し、スケールファクタ回路４１６に送出する。
【０１２９】
スケールファクタ回路４１６では正規化された成分をスケールファクタ値から元に戻し、Ｍ／Ｓステレオ回路４１７に送出する。Ｍ／Ｓステレオ回路４１７では和信号、差信号から左右チャネル信号を再生し、インテンシティステレオ回路４１８に送出する。
【０１３０】
インテンシティステレオ回路４１８は右チャネルの和信号とパワー比から左右チャネル信号を再生し、ＴＮＳ回路４１９に送出する。
【０１３１】
ＴＮＳ回路４１９では符号化時に用いた予測フィルタと逆特性のフィルタを用いてデータを再生し、逆ＭＤＣＴ回路４２０に送出する。
【０１３２】
逆ＭＤＣＴ回路４２０では再生されたデ−タに対して逆ＭＤＣＴを施して再生オーディオデータを得、出力端子４２１から出力する。
【０１３３】
＜特殊再生＞
以上、通常再生について説明したが、次に特殊再生について説明する。
【０１３４】
再生制御回路４２４はmdat boxのストリームのファイル先頭からのオフセット値Ｓｔ(offset)をファイルの再生開始時に取得し保持している。
【０１３５】
ここで、ストリーム内の画像フレームのｎ番目を再生中に図４の入力端子４２５から順方向への特殊再生の指示信号が入力されるとする。例えばｓ秒先の時間を指定されたとする。
【０１３６】
ｓ秒間のフレーム数はｓ × frame_rate＝ｕ・・・（１）
frame_rateは再生開始時、ＭＰ４ファイルのfree box Fのユーザーデータとして記録されているパラメータから取得する。
【０１３７】
再生されるフレームはｎ＋ｕ番目のフレームであるが、ＭＰＥＧで圧縮されたストリームデータを特殊再生する場合、フレーム内符号化されたデータＩから再生しなければならない。従ってｎ＋ｕ番目のフレームの直前のフレーム内符号化された画像データ（イントラフレーム）を再生する。
【０１３８】
まず、ｎ＋ｕ番目のフレームが含まれているチャンクまでのチャンク数ｒが計算される。
ｒ＝（ｎ＋ｕ）／Ｋ・・・（２）
但し、ｒの小数点以下は切り捨てて小さいほうの整数にまるめる。
【０１３９】
次に再生されるチャンクまでのオフセット値Ｐｒが
Ｐｒ＝Ｓｔ(offset)＋Ｌfix × ｒ・・・（３）
で算出される。
【０１４０】
次に再生されるイントラフレームのあるＧＯＰのチャンク内の番号ｑを算出する。
ｑ＝（ｎ＋ｕ−ｒ）／（Ｋ／ｇｎ）・・・（４）
但し、ｑの小数点以下は切り捨てて小さいほうの整数にまるめる。
【０１４１】
再生制御回路４２４は上記式（１）〜（４）により各値を算出した後、バッファ４０３、可変長符号化回路４０５等の復号回路を初期化し、オーディオの出力端子４２１への出力をミュートする。
【０１４２】
再生回路４０２を制御して、ＰｒバイトにあるＧＯＰ(Pr)まで記録媒体４０１をシークし、ＧＯＰ(Pr)からデータを再生し、バッファ４０３に供給する。バッファ４０３に記憶された再生データは直ちに分離回路４０４を介してストリームユーザーデータ解析回路４２３に供給される。
【０１４３】
ストリームユーザーデータ解析回路４２３ではＧＯＰ(Pr)のユーザーデータを解析し、次のイントラフレームまでのオフセット値Ｉ(offset)を取得し、再生制御回路４２４に供給する。
【０１４４】
再生制御回路４２４は次のイントラフレームまでのオフセット値Ｉ(offset)が取得されるとすぐに再生回路４０２を介して記録媒体４０１のファイルをオフセット値Ｉ(offset)分シークさせ、つぎのＧＯＰ(Pr+1)を再生させる。そしてＧＯＰ(Pr+1)のユーザーデータから次のイントラフレームへのオフセット値を取得する。
【０１４５】
上記処理を繰り返して特殊再生の目的であるＧＯＰ(Pr+q)に辿り着く。再生制御回路４２４が再生回路４０２を介してＧＯＰ(Pr+q)を再生し、バッファ４０３に記憶していく。分離回路４０４はバッファ４０３に記憶されたＧＯＰ(Pr+q)の再生データをストリームユーザーデータ解析回路４２３に供給する。ストリームユーザーデータ解析回路４２３はユーザーデータからイントラフレームのサイズＩ(size)を取得し、再生制御回路４２４にそのサイズ（Ｉ(size)）を伝える。再生制御回路４２４はサイズ情報Ｉ(size)をもとに、イントラフレームのみを可変長復号化回路４０５以下に送出し、特殊再生の再生画像を得ることができる。そして、次の特殊再生画像を式（１）〜（４）を用いて計算を始める。
【０１４６】
以上説明したように、記録時に、画像データとオーディオデータのチャンク構成を決め、画像データのチャンクの符号量ＶＬ、オーディオデータのチャンクの符号量ＡＬとしたときに、両チャンクの符号量Ｌfix＝ＶＬ＋ＡＬが一定となるように符号化を行う。
【０１４７】
更に画像データのストリームには、ＧＯＰ毎に画像データの符号量ＶＬとフレーム内符号化データ（イントラフレーム）の符号量Ｉ(size)、次のＧＯＰのイントラフレームまでのオフセット値Ｉ(offset)をユーザーデータとして記録する。
【０１４８】
更に１チャンク当たりのフレーム数Ｋ，Ｍ、符号化単位数ｇｎ等の各チャンクの構成を示す情報等をユーザーデータとしてfree boxに格納して記録するようにする。また、符号化のフレームレート、各チャンクの符号量ＶＬ，ＡＬ、及び合計の符号量Ｌfix、上記構成であることを示す識別情報等をユーザーデータとしてfree boxに格納して記録するようにする。
【０１４９】
再生時にはfree boxから上記ストリームであることを認識すると、free boxとストリームに記録されているユーザーデータの各情報からビデオ及びオーディオの各チャンクのストリームデータにアクセスする。これにより、通常再生も特殊再生も行うようにし、stco、stsc、stsz box等のヘッダ情報を読み込まなくとも再生可能としたので、大きな容量を必要とするヘッダを記憶するメモリが不要になる。
【０１５０】
また、ヘッダにある符号化に関する上記stco、stsc、stsz box等のパラメータを読み込んで解析する必要がないのでストリームデータへのアクセスが早く行えるようになり、再生の待ち時間を減少でき、シームレスの再生が可能になる。
【０１５１】
従来では、上記stco、stsc、stsz box等のパラメータの情報量が多すぎてメモリに１回で読み込めない場合に、再生しながら記録媒体からパラメータを読み直してメモリのパラメータ情報を更新することが必要であった。しかし、その必要はなくなり、機器本体での処理負荷も低減できる。
【０１５２】
また、ファイルは通常のＭＰ４ファイルであるので、他の機器での再生も可能である。
【０１５３】
更に、１つのファイルで実現できるので、記録媒体間でコピーされたデータを本装置で再生したとしても、上記再生処理と同様に再生できる。
【０１５４】
また、上記例ではオーディオの符号化方式をＭＰＥＧ−ＡＡＣとして説明したが、ＭＰＥＧＩ，ＩＩ，ＩＩＩ等の他の符号化方式でも同様に記録再生でき、同様の効果が得られる。
【０１５５】
［他の実施形態］
以上、本発明に係る実施形態について具体例を用いて詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５６】
また、本発明の目的は、図示の機能ブロック及び動作において、いずれの部分をハードウェア回路により実現し、或いはコンピュータを用いたソフトウェア処理によって実現しても達成されることは言うまでもない。
【０１５７】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給することによって達成される場合も含む。その場合、システム等のコンピュータが該プログラムコードを読み出して実行することになる。
【０１５８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１５９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【０１６０】
プログラムを供給するための記録媒体（記憶媒体）としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク等がある。その他にも、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM、DVD-R)等がある。
【０１６１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものをダウンロードすることもできる。また圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１６２】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザが、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードすることもできる。この場合、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現する。
【０１６３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOS等が、実際の処理の一部又は全部を行うことによっても実現され得る。
【０１６４】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットのメモリに書き込まれた後、該ボード等のCPU等が実際の処理の一部又は全部を行うことによっても実現される。
【図面の簡単な説明】
【０１６５】
【図１】図３の画像符号化回路３０２の詳細構成を示すブロック図である。
【図２】図３のオーディオ符号化回路３０５の詳細構成を示すブロック図である。
【図３】本発明に係る実施形態の記録装置を示すブロック図である。
【図４】本発明に係る実施形態の再生装置を示すブロック図である。
【図５】（ａ）は画像ストリーム及びオーディオストリームとチャンクとの関係を説明する図、（ｂ）は符号化のフレーム順序を説明する図、（ｃ）は画像ストリームのデータ構成を説明する図、（ｄ）は本実施形態のfree boxの構成を説明する図である。
【図６】本実施形態の再生処理を示すフローチャートである。
【図７】ＭＰ４ファイルに記録される画像データ及びオーディオデータの構成を説明する図である。
【図８】ＭＰ４ファイルのmoov box内のstsc、stsz、stco boxを説明する図である。
【図９】Quicktime（登録商標）フォーマットの構成を説明する図である。
【符号の説明】
【０１６６】
１０１  画像データ入力端子
１０２  カメラ信号処理回路
１０３  並べ替え回路
１０４  加算回路
１０５  スイッチ回路
１０６  ＤＣＴ回路
１０７  量子化回路
１０８  逆量子化回路
１０９  逆ＤＣＴ回路
１１０  加算回路
１１１  メモリ
１１２  動き補償回路
１１３  スイッチ回路
１１４  可変長符号化回路
１１５  ストリーム生成回路
１１６  バッファ
１１７  符号量制御回路
１１８  ストリームデータ出力端子
１１９  ストリームパラメータ付加回路
１２０  ヘッダ情報生成回路
１２１  ヘッダ情報出力端子
１２２  符号量設定回路
１２３  記録制御回路
１２４  制御データ入力端子
２０１  オーディオデータ入力端子
２０２  ＭＤＣＴ回路
２０３  ＴＮＳ回路
２０４  インテンシティステレオ回路
２０５  Ｍ／Ｓステレオ回路
２０６  スケールファクタ計算回路
２０７  量子化回路
２０８  可変長符号化回路
２０９  ストリーム生成回路
２１０  出力端子
２１１  ヘッダ情報生成回路
２１２  出力端子
２１３  聴覚心理モデル回路
２１４  ビット割り当て回路
２１５  記録制御回路
２１６  入力端子
３０１  画像データ入力端子
３０２  画像符号化回路
３０３  多重化回路
３０４  記録回路
３０５  オーディオデータ入力端子
３０６  オーディオ符号化回路
３０７  ヘッダ付加回路
３０８  パラメータ入力端子
３０９  符号量設定回路
３１０  チャンク構成設定回路
３１１  記録媒体
４０１  記録媒体
４０２  再生回路
４０３  バッファ
４０４  分離回路
４０５  可変長復号化回路
４０６  逆量子化回路
４０７  逆ＤＣＴ回路
４０８  加算回路
４０９  メモリ
４１０  動き補償回路
４１１  スイッチ回路
４１２  並べ替え回路
４１３  出力端子
４１４  可変長復号化回路
４１５  逆量子化回路
４１６  スケールファクタ回路
４１７  Ｍ／Ｓステレオ回路
４１８  インテンシティステレオ回路
４１９  ＴＮＳ回路
４２０  逆ＭＤＣＴ回路
４２１  出力端子
４２２  ヘッダ情報解析回路
４２３  ストリームユーザーデータ解析回路
４２４  再生制御回路
４２５  入力端子
【図１】
0004630805.tif 000002
【図２】
0004630805.tif 000003
【図３】
0004630805.tif 000004
【図４】
0004630805.tif 000005
【図５】
0004630805.tif 000006
【図６】
0004630805.tif 000007
【図７】
0004630805.tif 000008
【図８】
0004630805.tif 000009
【図９】
0004630805.tif 000010