(57)【要約】【課題】少ないマシンリソースで動画の特殊再生をスムーズに行う。【解決手段】撮像部で取り込んだフレームデータをＭＰＥＧ方式で符号化する。所定の数のフレーム単位で符号かを行いＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）を生成し、複数のＧＯＰが時系列に配列されたビデオストリームを生成する。このビデオストリーム生成時に、各ＧＯＰのヘッダ内に、ＭＰＥＧ規格で許容されたユーザーデータ領域を確保する。各ＧＯＰの絶対アドレスをＲＡＭ内のアドレスバッファエリアにスタックする。この絶対アドレスから各ＧＯＰの格納位置とその前後のＧＯＰの格納位置との相対アドレスを求め、前記ユーザーデータ領域に格納する。記録した動画を再生する際には、この相対アドレスを参照して、所望のＧＯＰへダイレクトにアクセスする。【選択図】        図１１
2004274488.tif 000002
【特許請求の範囲】
【請求項１】
複数のフレームデータから構成されるフレームグループを単位として符号化し、符号化された複数のフレームグループが時系列に沿って配列されたビデオストリームをストレージメディアに記録する動画データの記録方法において、
各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報を格納して、前記ビデオストリームを記録することを特徴とする動画データの記録方法。
【請求項２】
前記アドレス情報は、各フレームグループの格納位置と、そのフレームグループと時間的に前後する他のフレームグループの格納位置との間の相対的な位置関係を表す相対位置情報であることを特徴とする請求項１記載の動画データの記録方法。
【請求項３】
前記グループヘッダには、直前のフレームグループ，２つ前のフレームグループ，直後のフレームグループ，２つ後のフレームグループの少なくとも４つのフレームグループのアドレス情報が格納されることを特徴とする請求項１又は２記載の動画データの記録方法。
【請求項４】
前記ビデオストリームは、ＭＰＥＧ規格のビデオストリームであり、前記フレームグループはＧＯＰであることを特徴とする請求項１〜３いずれか記載の動画データの記録方法。
【請求項５】
複数のフレームデータから構成されるフレームグループを単位として符号化し、符号化された複数のフレームグループを時系列に沿って配列した映像ストリームをストレージメディアに記録する動画データの記録装置において、
各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報を格納するアドレス格納手段を備えたことを特徴とする動画データの記録装置。
【請求項６】
複数のフレームデータから構成されるフレームグループを最小単位として符号化され、符号化された複数のフレームグループが時系列に沿って配列されたビデオストリームを、前記フレームグループを単位として復号化して再生する動画データの再生方法において、
各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報が含まれている場合には、前記アドレス情報に基づいて、次に復号化すべきフレームグループの格納位置へダイレクトにアクセスすることを特徴とする動画データの再生方法。
【請求項７】
複数のフレームデータから構成されるフレームグループを最小単位として符号化され、符号化された複数のフレームグループが時系列に沿って配列された動画ストリームを、前記フレームグループを単位として復号化して再生する動画データの再生装置において、
各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報が含まれている場合には、前記アドレス情報に基づいて、次に復号化すべきフレームグループの格納位置へダイレクトにアクセスするアクセス手段を備えたことを特徴とする動画データの再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映像信号を複数のフレームデータから構成されるフレームグループを最小単位として符号化して、符号化された複数のフレームグループを時系列に沿って配列された動画ストリームをストレージメディアに記録する動画データの記録方法及び装置、並びに前記動画データを複合化して再生する再生方法及び装置に関する。
【０００２】
【従来の技術】
アナログの映像信号をデジタルデータに変換し、変換された映像データを符号化（エンコード）して記録する動画データの記録方法が知られている。動画データの符号化方式の代表的なものに、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）  方式がある。ＭＰＥＧ方式で符号化された動画データは、ＭＰＥＧストリームと呼ばれる。このＭＰＥＧストリームが、動画ファイル（ＭＰＥＧファイルなど）として、ハードディスク，メモリーカード，ＤＶＤメディアなどの各種のストレージメディアに記録される。
【０００３】
ＭＰＥＧストリームには、一般的には、映像（ビデオ）ストリームに加えて、そのビデオストリームに対応する音声（サウンド）ストリームが付加される。ビデオストリームは、複数のＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）と呼ばれる単位に分割される。これら複数のＧＯＰは時系列に沿って配列される。サウンドストリームが付加される場合には、サウンドストリームがＧＯＰに対応するサイズに時分割されて、分割されたデータが各ＧＯＰに対応する位置に挿入されて多重化される。
【０００４】
ＧＯＰは、複数のフレーム（静止画）データからなるピクチャデータと、このピクチャデータの先頭に付加されるＧＯＰヘッダとから構成されるフレームグループであり、エンコードはこのＧＯＰを単位として行われる。ピクチャデータは、例えば、１５枚分のフレームデータから構成される。フレームレートを３０フレーム／秒とすると、１ＧＯＰは約０．５秒程度の動画像になる。
【０００５】
１枚のフレームは、隣接するピクセルが類似しているというように空間的な冗長性を持っており、また、時間的に連続する複数のフレームは、前後のフレームが類似しているというように時間的な冗長性を持っている。ＭＰＥＧ方式では、１フレームの空間的な冗長性を排除するフレーム内圧縮と、複数フレーム間の時間的な冗長性を排除するフレーム間圧縮とを行うことで、データ圧縮が行われる。フレーム間圧縮では、フレーム間予測や動き補償といった手法を用いて、ＧＯＰ内の各フレームを符号化する。
【０００６】
動画再生を行う場合には、符号化されたＧＯＰが復号化されるが、ＭＰＥＧ方式では、各ＧＯＰ単位で復号化できるようにＧＯＰの独立性を確保している。このため、ＭＰＥＧストリームから任意のＧＯＰを取り出してこれを再生することもできる。ＧＯＰヘッダは、ＭＰＥＧストリームからＧＯＰを取り込む際のエントリポイントとして使用される。
【０００７】
記録されたフレームレートで再生する標準再生では、まず、ストリームの先頭のＧＯＰを読み出し、これをデコードしてＧＯＰ内の全フレームを復元して、各フレームを順番に再生する。次のＧＯＰは、既に取り込み済みの先頭ＧＯＰの終端位置を基準にヘッダが検出されて読み出されて、再生される。こうした処理を繰り返して標準再生が行われる。
【０００８】
ＭＰＥＧストリームの再生装置としては、各種のものが開発されている（例えば、特許文献１）が、こうした再生装置には、標準再生の他に、逆再生，早送り再生，早戻し再生などの特殊再生を行えるものもある。例えば、１ＧＯＰが１５枚のフレームから構成されている場合には、各ＧＯＰ毎に１枚のフレームのみを再生していけば、１５倍速で早送り再生を行うことができる。また、１つのＧＯＰを飛ばしながら各ＧＯＰ毎に１枚のフレームのみを再生していけば、３０倍速で早送り再生を行うことができる。
【０００９】
こうした特殊再生を行う場合にも、ＧＯＰサーチ方法は、上述した標準再生と同様であり、既に読み出し済みのＧＯＰの格納位置を基準にそこからＭＰＥＧストリームのデータを読み出して、そのデータを解析することにより、所望のＧＯＰのヘッダを検出している。
【００１０】
【特許文献１】
特開平８−１６８０４２号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、上述したＧＯＰサーチ方法では、取り込んだＧＯＰの先頭又は終端アドレスから、次のＧＯＰのヘッダが検出されるまでデータを読み出して解析していかなければならない。こうしたサーチ方法は、標準再生の場合には、取り込んだＧＯＰの終端位置の直後のＧＯＰを取り込めばよいので、それほど問題にはならないが、逆再生，早送り再生，早戻し再生などの特殊再生では、取り込んだＧＯＰの先頭位置又は終端位置から、エントリーポイントであるＧＯＰヘッダまでの間隔が空くのでＧＯＰサーチ処理の負荷が大きくなってしまうという問題があった。
【００１２】
例えば、逆再生の場合には、取り込んだＧＯＰの直前のＧＯＰを取り込まなければならない。この場合には、取り込んだＧＯＰの先頭位置と直前のＧＯＰのヘッダとの間には、直前のＧＯＰのピクチャデータが配置される。そのため、標準再生と比較すると、ＧＯＰ間の間隔が空くため、ＧＯＰサーチ処理の負荷が大きい。また、ＧＯＰを１つおきに取り込んでいかなければならない早送り再生や早戻し再生では、ＧＯＰ間の間隔が大きく空くため、ＧＯＰサーチ処理の負荷はより大きくなる。
【００１３】
ＣＰＵの処理能力が低く、また、メモリの容量も少ないというようにマシンリソースが少ない場合には、ＧＯＰサーチ処理の負荷が大きいと、処理をスムーズに行うことができず、早送り再生や早戻し再生の速度を上げることができないばかりか、逆再生の場合など再生速度が比較的低速である場合でもスムーズに再生ができない場合もある。
【００１４】
そこで、ＤＶＤ規格の制定や普及を推進する組織であるＤＶＤフォーラムが規格化した動画再生専用の記録フォーマットであるＤＶＤ−Ｖｉｄｅｏフォーマットでは、ＭＰＥＧストリーム（動画ファイル）とは別に、ＭＰＥＧストリーム内の各ＧＯＰの格納位置を記録したインフォメーションファイルを用意し、これをＭＰＥＧストリームとともにメディア内に格納するようにしている。この場合には、次に復号化すべきＧＯＰの格納位置を、インフォメーションファイルを参照して取得することができるので、ＧＯＰのサーチ処理の負荷を軽減することができる。
【００１５】
しかし、ＭＰＥＧストリームは、ＤＶＤ−Ｖｉｄｅｏフォーマットで使用される以外でも様々な場面で利用されており、そうした場面の多くでは、ＭＰＥＧストリーム単体で取り扱われることが多い。そのため、ＤＶＤ−Ｖｉｄｅｏフォーマットのように、ＭＰＥＧストリームとは別にＧＯＰ位置参照用のインフォメーションファイルを付属させる方式は、ファイルコピーやファイル移動などを行う場合には、ファイルの取り扱いが煩雑化する要因ともなる。
【００１６】
本発明は、少ないマシンリソースでもスムーズな特殊再生が可能で、かつ取り扱いの簡便性を維持した形態で動画データを記録する動画データの記録方法及び装置並びに前記記録方法及び装置によって記録された動画データの再生方法及び再生装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
前記目的を達成するために、本発明は、複数のフレームデータから構成されるフレームグループを単位として符号化し、符号化された複数のフレームグループが時系列に沿って配列されたビデオストリームをストレージメディアに記録する動画データの記録方法において、各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報を格納して、前記ビデオストリームを記録することを特徴とする。
【００１８】
前記アドレス情報は、各フレームグループの格納位置と、そのフレームグループと時間的に前後する他のフレームグループの格納位置との間の相対的な位置関係を表す相対アドレスであることが好ましい。
【００１９】
前記グループヘッダには、直前のフレームグループ，２つ前のフレームグループ，直後のフレームグループ，２つ後のフレームグループの少なくとも４つのフレームグループのアドレス情報が格納される。
【００２０】
前記ビデオストリームは、ＭＰＥＧ規格のビデオストリームであり、前記フレームグループはＧＯＰである。
【００２１】
本発明の動画データ記録装置は、複数のフレームデータから構成されるフレームグループを単位として符号化し、符号化された複数のフレームグループを時系列に沿って配列した映像ストリームをストレージメディアに記録する動画データの記録装置において、各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報を格納するアドレス格納手段を備えたことを特徴とする。
【００２２】
本発明の動画データ再生方法は、複数のフレームデータから構成されるフレームグループを最小単位として符号化され、符号化された複数のフレームグループが時系列に沿って配列されたビデオストリームを、前記フレームグループを単位として復号化して再生する動画データの再生方法において、各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報が含まれている場合には、前記アドレス情報に基づいて、次に復号化すべきフレームグループの格納位置へダイレクトにアクセスすることを特徴とする。
【００２３】
本発明の動画データの再生装置は、複数のフレームデータから構成されるフレームグループを最小単位として符号化され、符号化された複数のフレームグループが時系列に沿って配列された動画ストリームを、前記フレームグループを単位として復号化して再生する動画データの再生装置において、各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報が含まれている場合には、前記アドレス情報に基づいて、次に復号化すべきフレームグループの格納位置へダイレクトにアクセスするアクセス手段を備えたことを特徴とする。
【００２４】
【発明の実施の形態】
図１は、本発明を適用したデジタルカメラ１０の電気構成の概略を示すブロック図である。デジタルカメラ１０は、静止画撮影機能の他、動画撮影機能を備えており、撮像部１１で撮影した静止画や動画をメモリーカード１２に記録する。メモリーカード１２は、カメラ本体に設けられたカードスロットに着脱自在にセットされる。メモリーカード１２としては、例えば、スマートメディア（商品名），ｘＤピクチャカード（商品名），コンパクトフラッシュ（登録商標）などのストレージメディアが使用される。もちろん、メモリーカード１２の他に、マイクロドライブ（商品名）などのストレージメディアを使用してもよい。
【００２５】
ＣＰＵ１３は、デジタルカメラ１０の各部とデータバス１４等を介して接続されており、操作部１６からの操作信号に基づいて、カメラ各部を統括的に制御する。ＥＥＰＲＯＭ１７には、制御プログラムや各種の設定情報が記録されている。ＣＰＵ１３は、この制御プログラムを読み出して、そのプログラムに記述された処理ステップを実行することにより各種の処理を実行する。
【００２６】
操作部１６は、モード選択ダイヤル１８，レリーズボタン１９，十字キー２１などからなる。モード選択ダイヤル１８は、静止画撮影モード，動画撮影モード，再生モードなどの各種動作モードを選択する。再生モードでは、メモリーカード１２に記録した静止画データや動画データをＬＣＤパネル２３に再生表示する。レリーズボタン２４は、撮影実行ボタンであり、静止画撮影モードにおいては、これを１回押下すると１回の静止画撮影が実行される。他方、動画撮影モードでは、レリーズボタン２４を１回押すと動画撮影が開始され、もう１回押すと動画撮影が終了する。
【００２７】
十字キー２１は、動作モードに応じて複数の役割を持つ汎用キーである。十字キー２１は、例えば、略円板状のキー本体を有し、その表面の上下左右がそれぞれ押圧部になっており、各押圧部にはそれぞれ上下左右の矢印がマーキングされている。静止画及び動画の各撮影モードでは、上下の押圧部がズームキーに割り当てられる。また、ＬＣＤパネル２３に画像選択用のインデックス画面やセットアップ画面が表示されている場合には、十字キー２１は、画面上に表示される画像又は項目を選択するためのカーソルを移動するカーソル移動キーに割り当てられる。
【００２８】
また、再生モードにおいて動画を再生する場合には、十字キー２１が動画再生キーとなる。上下の各押圧部がそれぞれ再生開始キーと再生停止キーに割り当てられ、上押圧部を押下すると、記録したフレームレートで再生を行う標準再生が開始され、下押圧部を押下すると、再生が停止される。このデジタルカメラ１０は、標準再生の他に、標準速度で逆方向に再生する逆再生や、順方向及び逆方向のそれぞれの再生を倍速で行う早送り再生及び早戻し再生などの特殊再生ができるようになっている。早送り再生及び早戻し再生の再生速度は、それぞれ１５倍速と３０倍速の２段階で切り替えられるようになっている。
【００２９】
動画再生をした場合には、左右の各押圧部は、それぞれ特殊再生キーとなる。右押圧部は早送りキーとなり、左の押圧部は早戻しキーとなる。標準再生が開始された後、右押圧部が１回押されると、１５倍速で早送り再生が開始される。さらにもう１回押すと、再生速度が３０倍速に切り替えられる。他方、標準再生が行われているときに、左押圧部を１回押すと、逆再生が行われる。もう１回押下すると再生速度が１５倍速の早戻し再生が行われ、さらにもう１回押下すると再生速度が３０倍速になる。
【００３０】
ＲＡＭ２６は、ＣＰＵ１３などが各種処理を実行する際に使用するための作業用メモリである。ＲＡＭ２６としては、例えば、バスクロック信号に同期してデータ転送を行うＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が使用される。メディアＩ／Ｆ２７は、メモリーカード１２へのデータの書き込みと書き込まれたデータの読み出しを行う。
【００３１】
撮像部１１は、撮影光学系３１，ＣＣＤイメージセンサ３２，Ａ／Ｄコンバータ３３からなる。ＣＣＤイメージセンサ３２は、周知のように、多数の受光素子をマトリックス状に配列された光電面を備えており、撮影光学系３１を通過して光電面に結像した被写体光を光電変換する。光電面の前方には、各画素に光を集光するためのマイクロレンズアレイと、各画素がそれぞれＲ，Ｇ，Ｂのいずれかに対応するように各色のフイルタが規則的に配列されたカラーフイルタアレイとが配置されている。ＣＣＤイメージセンサ３２は、垂直転送クロック及び水平転送クロックに同期して、画素毎に蓄積された電荷を１ラインずつシリアルな撮像信号として出力する。
【００３２】
動画撮影は、ＣＣＤイメージセンサ３２がフレーム（静止画）を所定の周期で連続的に取り込むことにより行われる。フレームの取り込み周期（フレームレート）は、例えば、３０フレーム／秒に設定されている。また、１フレーム分の取り込み画素数は、動画撮影時と静止画時とでは異なり、動画撮影の場合には、静止画よりも少ない画素数に設定されている。
【００３３】
ＣＣＤイメージセンサ３２から出力されたＲＧＢのアナログの撮像信号は、Ａ／Ｄコンバータ３３によってデジタルデータに変換されて、フレーム単位で一端ＲＡＭ２６に書き込まれる。ＲＡＭ２６に書き込まれたフレームデータは、図示しない画像補正部によってガンマ補正，シャープネス補正などの各種の画像処理が施された後、ＹＣ処理回路２８によって、画素データが、ＲＧＢの濃度データから構成されるＲＧＢデータから、輝度データＹと、青色色差データＣｂ，赤色色差データＣｒとから構成されるＹＣデータへ変換される。
【００３４】
ＪＰＥＧ圧縮伸張処理回路２９は、ＲＡＭ２６にアクセスして、静止画撮影モードで取り込まれた１フレーム分のＹＣデータを読み出し、このＹＣデータをＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｒｈｉｃ  Ｅｘｐａｒｔ  Ｇｒｏｕｐ）方式で符号化（エンコード）してデータを圧縮する。エンコードされたデータは、ＲＡＭ２６に順次書き出される。１フレーム分のエンコードが終了した後、エンコード済みデータがＪＰＥＧファイルとして、メディアＩ／Ｆ３１を介してメモリーカード１２に記録される。また、ＪＰＥＧ圧縮伸張処理回路２９は、いったんメモリーカード１２に記録されたＪＰＥＧファイルを再生する際に、復号化（デコード）してデータを伸張する。
【００３５】
マイク３５は、動画撮影モードにおいて音声を記録するためのもので、このマイク３５によって取り込まれたアナログの音声信号は、Ａ／Ｄコンバータ３４によって所定のサンプリング周波数でデジタルデータに変換される。変換された音声データは、いったんＲＡＭ２６に記録される。
【００３６】
ＭＰＥＧ圧縮伸張処理回路３６は、動画撮影モードで取り込まれた複数フレーム分のＹＣデータを、ＭＰＥＧ方式で符号化（エンコード）してデータ圧縮する。また、マイク３５によって取り込まれた音声データも所定の方式で符号化がされてデータが圧縮される。なお、ＭＰＥＧ方式では、音声データについては非圧縮データもサポートしているので、音声データについては圧縮しなくてもよい。
【００３７】
ＭＰＥＧ圧縮伸張処理回路３６は、ＭＰＥＧ圧縮部４２とＭＰＥＧ伸張部４３とからなる。ＭＰＥＧ圧縮部４２は、圧縮済みのビデオデータと音声データとを多重化してＭＰＥＧストリームを生成する。生成されたＭＰＥＧストリームが動画ファイルとしてメモリーカード１２に記録される。また、ＭＰＥＧ伸張部４３は、いったんメモリーカード１２に記録されたＭＰＥＧストリームを再生する際に、データを復号化（デコード）してデータを伸張する。
【００３８】
デコードされたフレームデータ（ＹＣデータ）は、ＲＧＢ変換処理回路３７でＲＧＢデータに変換される。ＬＣＤドライバ３８は、このＲＧＢデータに基づいてＬＣＤパネル２３を駆動する。また、動画再生の場合には、デコードされた音声データは、Ｄ／Ａコンバータ３９によってアナログ信号に変換されてスピーカ４１に出力される。
【００３９】
図２に示すように、ＭＰＥＧ圧縮部４２は、サウンドエンコーダ４４，ビデオエンコーダ４６，多重化部４７，ＧＯＰヘッダ位置検出部４８からなる。サウンドエンコーダ４４は、マイク３５によって取り込まれた音声データをＲＡＭ２６から読み出し、読み出したデータを順次エンコードして、圧縮済みの音声データが時系列に配列されたオーディオストリームを生成する。
【００４０】
ビデオエンコーダ４６は、ＲＡＭ２６にアクセスしてフレームデータを読み出し、読み出したフレームデータを順次エンコードして、フレームデータを圧縮する。ビデオエンコーダ４６は、例えば、１５フレーム分のフレームデータを単位としてエンコードを行い１つのＧＯＰを生成する。こうした処理を入力されたフレームデータに対して順次行うことにより、複数のＧＯＰが時系列に配列されたビデオストリームが生成される。図上、ＧＯＰ１は、ビデオストリームの先頭のＧＯＰであり、このＧＯＰ１に続いてＧＯＰ２以下の各ＧＯＰが時系列に沿って配列される。
【００４１】
各ＧＯＰ１〜ｎは、複数のフレーム（静止画）データからなるピクチャデータと、このピクチャデータの先頭に付加されるＧＯＰヘッダとから構成される。ピクチャデータは、Ｉ（Ｉｎｔｒａ）  ピクチャ，Ｐ（Ｐｒｅｄｉｃｔｉｖｅ）ピクチャ，Ｂ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ−ｐｒｅｄｉｃｔｉｖｅ）ピクチャの３種類のピクチャデータから構成される。
【００４２】
Ｉピクチャは、フレーム内圧縮のみが行われたフレームであり、単独で原画像を復元可能なフレームデータである。Ｐピクチャ及びＢピクチャは、このＩピクチャを含む他のピクチャを参照して原画像が復元されるフレームデータである。Ｐピクチャは、前（過去）のフレームを参照して時間的に後（未来）のフレームを予測するフレーム間順方向予測を用いて生成されるフレームデータであり、Ｂピクチャは、前後のフレームを参照してその間のフレームを予測するフレーム間双方向予測を用いて生成されるフレームデータである。
【００４３】
ＭＰＥＧ方式では、１つのＧＯＰに少なくとも１つのＩピクチャを含めるとともに、各ＧＯＰの最初のフレームは必ずＩピクチャとなるように規定されている。こうして各ＧＯＰの独立性を確保することで、動画再生の際にＧＯＰ単位で復号化（デコード）ができるようにしている。
【００４４】
ＧＯＰヘッダには、１つのＧＯＰの開始を示すスタートコード，音声データと同期を取るためのタイムコードなどが格納される。また、ＭＰＥＧ規格では、このＧＯＰヘッダに、ＭＰＥＧストリームを作成するユーザーが任意のデータを格納することができる領域であるユーザーデータ領域５１を確保することが許容されている。ビデオエンコーダ４６は、各ＧＯＰ１〜ｎのヘッダにこのユーザーデータ領域５１を確保して、ビデオストリームを生成する。各ＧＯＰ１〜ｎのユーザーデータ領域５１には、後述するように、各ＧＯＰと時間的に前後するＧＯＰのアドレス情報が格納される。このＧＯＰアドレス情報は、動画再生の際に、ストリーム中の所望のＧＯＰへアクセスする際に参照される。
【００４５】
多重化部４７は、オーディオストリームとビデオストリームとを多重化してＭＰＥＧストリームを生成する。この多重化処理では、オーディオストリームが、各ＧＯＰ１〜ｎの再生時間と対応するサイズに分割され、それぞれのオーディオデータＡ１〜ｎが、各ＧＯＰ１〜ｎと対応する位置に配置される。
【００４６】
ＧＯＰヘッダ位置検出部４８は、ＭＥＰＧストリームをＲＡＭ２６に書き出す際に、ストリーム中の各ＧＯＰ１〜ｎのＧＯＰヘッダ位置を検出する。ＲＡＭ２６には、アドレスバッファエリア２６ａが確保されており、ＧＯＰヘッダ位置検出部４８は、検出した各ＧＯＰ１〜ｎのストリーム中の絶対アドレスをこのアドレスバッファエリア２６ａに書き込む。例えば、図３に示すように、ＭＰＥＧストリーム内の各ＧＯＰ１〜ｎの先頭位置の絶対アドレスをそれぞれａｄ１〜ａｄｎとすると、アドレスバッファエリア２６ａには、各ＧＯＰ１〜ｎの絶対アドレスａｄ１〜ａｄｎが順次スタックされていく。ＣＰＵ１３は、スタックされた絶対アドレスに基づいて、各ＧＯＰと、それらＧＯＰと時間的に前後するＧＯＰとの相対位置を表す相対アドレスを計算して求める。
【００４７】
ＭＰＥＧ圧縮部４２からＲＡＭ２６に出力されたＭＰＥＧストリームは、先頭のＧＯＰ１から順にメモリーカード１２へ書き出される。ＣＰＵ１３は、この書き出しの際に、求めた相対アドレスをＧＯＰアドレス情報として、ＧＯＰヘッダのユーザーデータ領域５１に格納する。動画撮影時間が長い場合には、ＭＰＥＧストリーム全体をＲＡＭ２６に記憶しておくことはできないので、ＧＯＰアドレス情報を格納済みのＧＯＰは、動画撮影終了を待たずに、順次メモリーカード１２へ書き出される。
【００４８】
図４に示すように、各ＧＯＰヘッダｈ１〜ｈｎのユーザーデータ領域５１には、前後のＧＯＰの相対アドレスが２つずつ、合計４つの相対アドレスが格納される。すなわち、直前のＧＯＰと２つ前のＧＯＰのそれぞれの相対アドレスと、直後のＧＯＰと２つ後のＧＯＰのそれぞれの相対アドレスが格納される。ＧＯＰ１の場合には、時間的に前（過去）のＧＯＰは存在しないので、その相対アドレスとしては「０」が格納される。時間的に後（未来）のＧＯＰは、直後のＧＯＰがＧＯＰ２となるので、ＧＯＰ２の絶対アドレスａｄ２からＧＯＰ１の絶対アドレスａｄ１を引いた値「ａｄ２−ａｄ１」が直後のＧＯＰの相対アドレスとなる。２つ後のＧＯＰは、ＧＯＰ３となるので、ＧＯＰ３の絶対アドレスａｄ３からＧＯＰ１の絶対アドレスａｄ１を引いた値が２つ後のＧＯＰの相対アドレスとなる。
【００４９】
また、ＧＯＰ５の場合には、直前のＧＯＰがＧＯＰ４となり、２つ前のＧＯＰがＧＯＰ３となる。したがって、時間的に前のＧＯＰとして、直前のＧＯＰ４との相対アドレス「ａｄ４−ａｄ５」と、２つ前のＧＯＰ３との相対アドレス「ａｄ３−ａｄ５」が格納される。他方、直後のＧＯＰはＧＯＰ６となり、２つ後のＧＯＰはＧＯＰ７となる。したがって、時間的に後のＧＯＰとして、直後のＧＯＰ６との相対アドレス「ａｄ６−ａｄ５」と、２つ後のＧＯＰ７との相対アドレス「ａｄ７−ａｄ５」が格納される。他のＧＯＰのユーザーデータ領域５１についても、同様に前後のＧＯＰとの相対アドレスが格納される。
【００５０】
図５に示すように、ＭＰＥＧ伸張部４３は、ＧＯＰ取り込み部５２，バッファメモリ５３，分離部５４，サウンドデコーダ５５，ビデオデコーダ５６からなる。動画再生時には、メモリーカード１２に記録されたＭＰＥＧストリームがいったんＲＡＭ２６に読み出される。ＭＰＥＧ伸張部４３は、ＲＡＭ２６に読み出されたＭＰＥＧストリームを、ＧＯＰ単位でデコードする。ＧＯＰ取り込み部５２は、ＲＡＭ２６にアクセスして、ＣＰＵ１３からの再生命令の内容に応じて、ＭＰＥＧストリームから取り込むべきＧＯＰをサーチして取り込む処理を行う。
【００５１】
ＧＯＰ取り込み部５２は、取り込んだＧＯＰのヘッダからＧＯＰアドレス情報（相対アドレス）を抽出し、これをバッファメモリ５３に格納する。このバッファメモリ５３としては、例えば、ＤＲＡＭと比較して高速に読み出し可能なＳＲＡＭ（Ｓｔａｔｉｃ−ＲＡＭ）が使用される。バッファメモリ５３には、例えば、デコード中の１ＧＯＰ分のＧＯＰアドレス情報が格納される。バッファメモリ５３のＧＯＰアドレス情報は、次のＧＯＰが取り込まれたときに、そのＧＯＰのＧＯＰアドレス情報によって順次上書き更新される。もちろん、デコード中のＧＯＰに加えて、既にデコード済みのＧＯＰから抽出したＧＯＰアドレス情報を所定のＧＯＰ数分格納しておいてもよい。
【００５２】
なお、他の機種で撮影されたＭＰＥＧストリームのように、ＧＯＰアドレス情報が格納されていない場合には、取り込んだＧＯＰの先頭位置と終端位置の絶対アドレスをバッファメモリ５３に格納し、その絶対アドレスを基準に所望のＧＯＰをサーチする。
【００５３】
分離部５４は、取り込まれたＭＰＥＧストリームをビデオストリームとオーディオストリームとに分離する。サウンドデコーダ５５は、分離されたオーディオストリームをデコードして、音声データとして出力する。出力された音声データに基づいてスピーカ４１が駆動されて、音声が再生される。ビデオデコーダ５６は、分離されたビデオストリームをＧＯＰ単位で復号化してフレームデータを復元する。このフレームデータがＬＣＤパネル２３に出力されて映像が再生される。映像と音声とはＧＯＰヘッダ内のタイムコードによって同期が取られて再生される。
【００５４】
図６に示すように、ＣＰＵ１３から標準再生命令を受けた場合には、ＧＯＰ取り込み部５２は、ＭＰＥＧストリームの先頭のＧＯＰ１から順に取り込みを行う。そして、ビデオデコーダ５６は、取り込まれたＧＯＰ１のフレームｆ１〜ｆ１５をデコードして、復元された全フレームをｆ１から順に出力する。ＧＯＰ１のデコードが終了した後、その直後のＧＯＰ２をデコードして再生する。こうした処理が順次繰り返されて標準再生が行われる。
【００５５】
この標準再生が開始された後、ＣＰＵ１３から特殊再生命令を受けた場合には、ＭＰＥＧ伸張部４３は、その内容に応じたＧＯＰの取り込み及びデコード処理を行う。図７は、早送り再生のフレーム再生順序を示す。図７（Ａ）に示すように、１５倍速の早送り再生の場合には、ＧＯＰ取り込み部５２は、標準再生と同様に、各ＧＯＰを順に取り込む。そして、ビデオデコーダ５６は、取り込まれたＧＯＰのＩピクチャのみをデコードして、復元されたフレームｆ１のみを出力する。各ＧＯＰ毎に１フレームずつ出力されるので、１５倍速で早送り再生が行われる。
【００５６】
図７（Ｂ）のように、３０倍速の早送り再生の場合には、ＧＯＰ取り込み部５２は、各ＧＯＰを１つおきに取り込む。そして、ビデオデコーダ５６は、取り込まれたＧＯＰのＩピクチャのみをデコードして、復元されたフレームｆ１のみを出力する。１つおきにＧＯＰが取り込まれ、各ＧＯＰ毎に１フレームずつ出力されるので、３０倍速で早送り再生が行われる。
【００５７】
図８は、逆再生のフレーム再生順序を示す。逆再生を行う場合には、ＧＯＰ取り込み部５２は、ＧＯＰ３，ＧＯＰ２，ＧＯＰ１というように、標準再生とは逆方向に各ＧＯＰを順に取り込む。そして、ビデオデコーダ５６は、取り込まれたＧＯＰの全ピクチャをデコードし、復元された全フレームｆ１〜ｆ１５を、フレームｆ１５から順に出力する。早戻し再生をする場合には、早送りとは逆方向にＧＯＰを取り込み、各ＧＯＰ毎にＩピクチャのみデコードして、復元された１フレームを出力する。
【００５８】
ＧＯＰ取り込み部５２は、ＧＯＰの取り込みの際に、バッファメモリ５３内にＧＯＰアドレス情報を参照して、次にデコードすべきＧＯＰの格納位置を取得し、ＭＰＥＧストリーム中の所望のＧＯＰの格納位置へダイレクトにアクセスする。このため、ＧＯＰ取り込み部５２のＧＯＰサーチ処理の負荷が軽減される。特に、逆再生の場合や、図９及び図１０に示す３０倍速の早送り再生や早戻し再生を行う場合のように、既に取り込んだＧＯＰと、次にデコードすべきＧＯＰとの間隔が空く場合には、各ＧＯＰ間のデータを逐次読み出して解析する処理が不要となるので、ＧＯＰサーチ処理の負荷が大きく軽減される。早送り及び早戻しの再生速度をさらに上げる場合には、取り込んだＧＯＰと次にデコードすべきＧＯＰとの間隔がさらに大きく空くので、その効果はより大きなものとなる。
【００５９】
以下、上記構成による作用について、図１１及び図１２のフローチャートを参照しながら説明する。デジタルカメラ１０で動画撮影をする場合には、モード選択ダイヤル１８を動画モードにセットして、レリーズボタン１９を押下する。これにより動画撮影が開始される。動画撮影が開始されると、撮像部１１が３０フレーム／秒のフレームレートでフレームデータを取り込む。同時にマイク３５から音声データが取り込まれる。ＭＰＥＧ圧縮部４２は、ＲＡＭ２６にアクセスして、取り込まれたフレームデータ及び音声データを取り込み、サウンドエンコーダ４４及びビデオエンコーダ４４によってそれぞれのデータをエンコードする。ビデオエンコーダ４６は、１５フレーム分のフレームデータを単位としてＭＰＥＧ方式で順次エンコードを行いＧＯＰを生成する。そして、各ＧＯＰのＧＯＰヘッダにユーザーデータ領域５１を確保してビデオストリームを生成する。
【００６０】
多重化部４７は、このビデオストリームと、サウンドエンコーダ４４から出力されるオーディオストリームとを多重化してＭＰＥＧストリームを生成する。ＧＯＰヘッダ位置検出部４８は、ＭＰＥＧストリームをＲＡＭ２６に書き出す際に、各ＧＯＰのＭＰＥＧストリーム内の格納アドレス（絶対アドレス）を検出して、アドレスバッファエリア２６ａにスタックする。ＣＰＵ１３は、ＭＰＥＧストリームをメモリーカード１２に書き出す際に、各ＧＯＰのユーザーデータ領域５１に前後のＧＯＰとの相対アドレスを格納する。こうした処理をレリーズボタン１９がもう１度押されるまで繰り返される。レリーズボタン１９が押されると、動画撮影が終了する。
【００６１】
メモリーカード１２へ記録した動画を再生する場合には、モード選択ダイヤル１８で再生モードに切り替える。そうすると、ＬＣＤパネル２３にメモリーカード１２に記録された動画及び静止画のインデックス画面が表示される。十字キー２１を操作して画面上のカーソルを移動して所望の動画を選択する。選択を確定し、十字キー２１の上押圧部を押下すると標準再生が開始される。
【００６２】
ＣＰＵ１３は、メモリーカード１２から選択されたＭＰＥＧストリームをＲＡＭ２６に読み出す。ＭＰＥＧ伸張部４３は、ＲＡＭ２６にアクセスしてＭＰＥＧストリームの先頭から１ＧＯＰ取り込む。取り込んだＧＯＰ１は、全フレームが復元されて再生される。ＧＯＰ取り込み部５２は、取り込んだＧＯＰのヘッダにその前後のＧＯＰアドレス情報が格納されている場合には、それをバッファメモリ５３に格納する。再生停止指示又は特殊再生指示がない限り、デコードしたＧＯＰの直後のＧＯＰを順次取り込んで標準再生が行われる。
【００６３】
早送り再生，逆再生，早戻し再生などの特殊再生指示があった場合には、ＭＰＥＧ伸張部４３は、その内容に応じて、ＧＯＰの取り込み及びデコードを行う。ＧＯＰの取り込みは、バッファメモリ５３に格納されたＧＯＰアドレス情報に基づいて次にデコードすべきＧＯＰへダイレクトにアクセスできるので、ＧＯＰサーチ処理の負荷が少ない。このため、マシンリソースが少ない場合でもスムーズな特殊再生を行うことができる。
【００６４】
また、ＧＯＰアドレス情報は、ＭＰＥＧ規格で許容されているユーザーデータ領域に格納される。このため、ＤＶＤ−Ｖｉｄｅｏフォーマットのように、ＧＯＰ位置参照用のインフォメーションファイルを必要としないので、ＭＰＥＧストリームの取り扱いが煩雑化することはない。また、ＧＯＰアドレス情報が格納されたＭＰＥＧストリームを、ＧＯＰアドレス情報に対応していない再生装置で再生した場合でも問題なく再生することができる。
【００６５】
本例では、動画記録の際に、ＭＰＥＧストリームをＲＡＭにいったん書き出した後、ユーザーデータ領域にＧＯＰアドレス情報を格納しているが、ＭＰＥＧストリームをＲＡＭに書き出す前、すなわちＭＰＥＧストリームを生成中に、リアルタイムでＧＯＰアドレス情報を格納してもよい。この場合には、例えば、図１３に示すＭＰＥＧ圧縮部６１のように、ＧＯＰアドレス情報格納部６２を設ける。そして、多重化部４７が、多重化する際に、多重化処理済みの各ＧＯＰの格納アドレスを検出して、そのアドレス（絶対アドレス）をバッファメモリ６３にスタックする。ＧＯＰアドレス情報格納部６２は、スタックされた格納アドレスに基づいて相対アドレスを計算し、各ＧＯＰヘッダのユーザーデータ領域にアドレス情報を格納する。ＭＰＥＧストリームは、ＧＯＰアドレス情報が格納された状態でＲＡＭ２６に書き出される。
【００６６】
例えば、ＧＯＰ１，ＧＯＰ２，ＧＯＰ３というように多重化処理がなされる場合に、これらの絶対アドレスがバッファメモリ６３にスタックされる。そして、ＧＯＰアドレス情報格納部６２は、ＧＯＰ２をＲＡＭ２６へ書き出す際に、ＧＯＰ２のＧＯＰヘッダに、ＧＯＰ１とＧＯＰ２との相対アドレスを格納する。同様に、ＧＯＰ３をＲＡＭ２６へ書き出す際には、ＧＯＰ２とＧＯＰ３との相対アドレスが格納される。ただし、この方式の場合には、ＧＯＰ２のヘッダには、時間的に前のＧＯＰ１との相対アドレスしか格納することはできず、時間的に後のＧＯＰ３との相対アドレスを格納することはできない。しかし、上述したように、ＧＯＰサーチ処理は、順方向再生よりも逆方向再生の方が負荷が大きいので、時間的に前のＧＯＰとの相対アドレスを格納するだけでも十分な効果を期待できる。
【００６７】
上記実施形態では、相対アドレスを、時間的に前と後でそれぞれ２つずつ格納するようにしているが、前後それぞれ３つあるいは４つというように、２つ以上のＧＯＰの相対アドレスを格納してもよい。また、相対アドレスを格納するようにしているが、絶対アドレスを使用してもよい。ただし、絶対アドレスを使用すると、記録後、ＭＰＥＧストリームが分割されたり他のストリームと結合された場合には、格納した絶対アドレスが使用できなくなるおそれがある。こうした場合を考慮して、相対アドレスを使用することが好ましい。
【００６８】
また、ＧＯＰアドレス情報として、ストリーム中のアドレス値を例に説明したが、アドレス値の代わりに、ストリーム中のパック数を使用してもよい。図１４（Ａ）に示すように、ＭＰＥＧストリームは、そのコンテンツデータが、２ＫＢｙｔｅ（２０４８Ｂｙｔｅ）のサイズを持つ複数のパックに格納される。各パックには、それぞれパックヘッダが設けられている。ＧＯＰアドレス情報として、アドレス値の代わりに各ＧＯＰ間のパック数を使用しても、ＧＯＰの相対位置を示す情報として使用することができる。
【００６９】
パック数を使用する場合には、例えば、ユーザーデータ領域として、１つのＧＯＰのアドレス情報につき１６ｂｉｔ程度を確保しておけばよい。１６ｂｉｔのうちの先頭１４ｂｉｔがパック数に割り当てられ、残りの２ｂｉｔがＧＯＰ識別情報に割り当てられる。ＧＯＰ識別情報に２ｂｉｔを割り当てておけば、２×２で４通りの値を表すことができるので、直前と２つ前のＧＯＰと、直後と２つ後のＧＯＰの計４つのＧＯＰを識別することができる。パック数に１４ｂｉｔを割り当てておけば、約１万６千パックまで表すことができる。１パックが２ＫＢｙｔｅなので、約４０ＭＢｙｔｅのＧＯＰ間隔を表すことができる。ＧＯＰの間隔は、実際上、大きくても数ＭＢｙｔｅ以内に収まるので、この程度のｂｉｔ数を割り当てておけば十分である。もちろん、これは１例であり、これよりも大きな領域を確保してもよいし、小さくてもよい。
【００７０】
また、上記実施形態では、早送り再生，早戻し再生の例として、１５倍速と３０倍速の例で説明したが、これ以外の速度の再生ができるようにしてもよい。例えば、１つのＧＯＰ内の１５フレームを１つおきに再生すれば、２倍速再生となり、２つおきに再生すれば、約４倍速再生となる。また、ＧＯＰを２つおきに飛ばして取り込み、取り込んだＧＯＰ内のフレームを１フレームずつ再生していけば、６０倍速再生となる。
【００７１】
上記実施形態では、ＭＰＥＧストリームをビデオストリームに音声データを加えたものとして説明したが、音声データはなくてもよい。また、デジタルカメラを例に説明したが、本発明を、カメラ付き携帯電話やカメラ付きＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）  などの各種携帯端末に適用してもよい。少ないマシンリソースを利用してスムーズな特殊再生を行うという本発明の目的に照らせば、こうした携帯用機器には特に有効である。
【００７２】
また、動画データ再生方法及び装置をデジタルカメラに適用した例で説明したが、デジタルカメラに限らず、ＤＶＤプレーヤーやＣＤプレーヤーなど動画データを再生する各種再生装置に適用することができる。もちろん、パーソナルコンピュータ上で動作する動画再生ソフトウエアにも適用することができる。また、動画データを記録するストレージメディアの例としてメモリーカードやマイクロドライブを例に説明しているが、この他、ハードディスク，ＤＶＤメディア，ＣＤメディア，ＭＯメディアなど各種のストレージメディアに適用することができる。
【００７３】
【発明の効果】
以上詳細に説明したように、本発明は、ビデオストリームの各フレームグループの先頭に付加されるグループヘッダに、各フレームグループと時間的に前後する他のフレームグループのアドレス情報を格納することにより、前記アドレス情報を参照して所望のフレームグループへダイレクトにアクセスできるようにしたから、フレームグループのサーチ処理の負荷を軽減することができる。このため、少ないマシンリソースでもスムーズな特殊再生が可能となる。また、ビデオストリーム内にアドレス情報を格納したので、ビデオストリームとは別に、フレームグループの格納位置を記録した参照用データを利用しなくて済む。そのため、データの取り扱いが煩雑化することもない。
【図面の簡単な説明】
【図１】本発明を適用したデジタルカメラの電気構成の概略を示すブロック図である。
【図２】ＭＰＥＧ圧縮部の構成図である。
【図３】アドレスバッファエリアへのＧＯＰアドレスの取り込み方法を示す説明図である。
【図４】ユーザーデータ領域へのＧＯＰアドレス格納方法を示す説明図である。
【図５】ＭＰＥＧ伸張部の構成図である。
【図６】標準再生のフレーム再生順序を示す説明図である。
【図７】早送り再生のフレーム再生順序を示す説明図である。
【図８】逆再生のフレーム再生順序を示す説明図である。
【図９】３０倍速早送り時のＧＯＰ取り込み手順を示す説明図である。
【図１０】３０倍速早戻し時のＧＯＰ取り込み手順を示す説明図である。
【図１１】動画記録手順を示すフローチャートである。
【図１２】動画再生手順を示すフローチャートである。
【図１３】本発明の別の実施形態を示す図である。
【図１４】本発明のさらに別の実施形態を示す図である。
【符号の説明】
１０  デジタルカメラ
１３  ＣＰＵ
２６  ＲＡＭ
２６ａ  アドレスバッファエリア
３６  ＭＰＥＧ圧縮伸張処理回路
４２  ＭＰＥＧ圧縮部
４３  ＭＰＥＧ伸張部
４６  ビデオエンコーダ
４８  ＧＯＰヘッダ位置検出部
５１  ユーザーデータ領域
５２  ＧＯＰ取り込み部
５３  バッファメモリ
【図１】
2004274488.tif 000003
【図２】
2004274488.tif 000004
【図３】
2004274488.tif 000005
【図４】
2004274488.tif 000006
【図５】
2004274488.tif 000007
【図６】
2004274488.tif 000008
【図７】
2004274488.tif 000009
【図８】
2004274488.tif 000010
【図９】
2004274488.tif 000011
【図１０】
2004274488.tif 000012
【図１１】
2004274488.tif 000013
【図１２】
2004274488.tif 000014
【図１３】
2004274488.tif 000015
【図１４】
2004274488.tif 000016