(57)【要約】  【構成】  動画撮影時にＭＰＥＧ４コーデック３４から出力される圧縮動画像データは、時間的に連続する変化が表現され、かつ間欠的なタイミングでＩフレームが割り当てられた動画像コンテンツである。ＣＰＵ４０は、かかる圧縮動画像データを記録媒体３８に記録する。ＣＰＵ４０はまた、ＭＰＥＧ４コーデック３４から出力された圧縮動画像データの各フレームを指向する動画インデックスデータをＭＰＥＧ４コーデック３４の圧縮動作と並行して作成する。作成された動画インデックスデータは、Ｉフレームが特定される毎にＣＰＵ４０によって記録媒体３８に記録される。  【効果】  Ｉフレームが特定される毎に動画インデックスデータを記録媒体に記録することで、記録の前にＳＤＲＡＭに保持すべき動画インデックスデータのサイズが抑えられる。この結果、ＳＤＲＡＭの容量が少なくても、長時間の動画撮影が可能となる。  【選択図】  図１
2005142725.tif 000002
【特許請求の範囲】
【請求項１】
時間的に連続する変化が表現されかつ間欠的なタイミングで基準位置が割り当てられたコンテンツを出力する出力手段、
前記出力手段によって出力されたコンテンツを記録媒体に記録する第１記録手段、
前記出力手段によって出力されたコンテンツ上の複数の位置を指向する位置情報を前記出力手段の出力動作と並行して作成する第１作成手段、および
前記第１作成手段によって作成された位置情報を前記基準位置が特定される毎に前記記録媒体に記録する第２記録手段を備える、コンテンツ記録装置。
【請求項２】
前記出力手段によって出力されたコンテンツを一時的に格納するメモリ手段をさらに備え、
前記第１記録手段は前記メモリ手段に格納されたコンテンツを前記第２記録手段による記録に同期して前記記録媒体に記録する、請求項１記載のコンテンツ記録装置。
【請求項３】
前記コンテンツはＭＰＥＧフォーマットに従って符号化された動画像コンテンツであり、
前記基準位置はイントラ符号化を施されたフレームの位置である、請求項１または２記載のコンテンツ記録装置。
【請求項４】
前記複数の位置は前記基準位置および非基準位置を含み、
前記非基準位置はインター符号化を施されたフレームの位置である、請求項３記載のコンテンツ記録装置。
【請求項５】
前記第１記録手段は前記コンテンツを前記記録媒体に形成された第１ファイルに格納し、
前記第２記録手段は前記位置情報を前記記録媒体に形成された第２ファイルに格納し、
前記第１ファイルおよび前記第２ファイルを互いに結合する結合手段をさらに備える、請求項１ないし４のいずれかに記載のコンテンツ記録装置。
【請求項６】
前記基準位置に対応するインデックスコンテンツを作成する第２作成手段、および
前記第２作成手段によって作成されたインデックスコンテンツを前記記録媒体に記録する第３記録手段をさらに備える、請求項５記載のコンテンツ記録装置。
【請求項７】
前記第３記録手段は、前記インデックスコンテンツを前記記録媒体に形成された第３ファイルに格納する格納手段、および前記第３ファイルを前記結合ファイルに関連付ける関連付け手段を含む、請求項６記載のコンテンツ記録装置。
【請求項８】
前記関連付け手段は前記結合ファイルと同じ識別番号を前記第３ファイルに割り当てる、請求項７記載のコンテンツ記録装置。
【請求項９】
請求項１ないし８のいずれかに記載のコンテンツ記録装置を備える、ビデオカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンテンツ記録装置に関し、特にたとえばディジタルビデオカメラに適用され、動画像コンテンツを記録媒体に記録する、コンテンツ記録装置に関する。
【背景技術】
【０００２】
従来のこの種のコンテンツ記録装置の一例が、特許文献１に開示されている。この従来技術では、撮影開始操作が行われると、動画像を形成する複数フレームの静止画像の記録媒体への記録と、各フレームの静止画像を管理するインデックス情報の内部メモリへの蓄積とが開始される。撮影終了操作が行われると、内部メモリに蓄積されたインデックス情報が一括して記録媒体に記録される。
【特許文献１】特開２００２−２０７６２５号公報［Ｇ０６Ｆ １２／００］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来技術では、内部メモリに蓄積されたインデックス情報は、撮影終了操作に応答して記録媒体に記録される。このインデックス情報は動画像の撮影時間に比例して増大するため、長時間撮影を可能とするには、内部メモリの容量も拡大する必要がある。
【０００４】
それゆえに、この発明の主たる目的は、内部メモリの容量を増大させることなく、長時間のコンテンツを記録媒体に記録することができる、コンテンツ記録装置を提供することである。
【課題を解決するための手段】
【０００５】
請求項１の発明に従うコンテンツ記録装置は、時間的に連続する変化が表現されかつ間欠的なタイミングで基準位置が割り当てられたコンテンツを出力する出力手段、出力手段によって出力されたコンテンツを記録媒体に記録する第１記録手段、出力手段によって出力されたコンテンツ上の複数の位置を指向する位置情報を出力手段の出力動作と並行して作成する第１作成手段、および第１作成手段によって作成された位置情報を基準位置が特定される毎に記録媒体に記録する第２記録手段を備える。
【０００６】
出力手段によって出力されるコンテンツは、時間的に連続する変化が表現されかつ間欠的なタイミングで基準位置が割り当てられたコンテンツである。第１記録手段は、かかるコンテンツを記録媒体に記録する。第１作成手段は、出力手段によって出力されたコンテンツ上の複数の位置を指向する位置情報を出力手段の出力動作と並行して作成する。作成された位置情報は、基準位置が特定される毎に第２記録手段によって記録媒体に記録される。
【０００７】
第１作成手段によって作成された位置情報を基準位置が特定される毎に記録媒体に記録することによって、記録の前に一時的に保持すべき位置情報のサイズが抑えられる。この結果、少ない容量の内部メモリを用いて長時間のコンテンツの記録が可能となる。
【０００８】
請求項２の発明に従うコンテンツ記録装置は、請求項１に従属し、出力手段によって出力されたコンテンツを一時的に格納するメモリ手段をさらに備え、第１記録手段はメモリ手段に格納されたコンテンツを第２記録手段による記録に同期して記録媒体に記録する。これによって記録タイミングの制御が容易になる。
【０００９】
請求項３の発明に従うコンテンツ記録装置は、請求項１または２に従属し、コンテンツはＭＰＥＧフォーマットに従って符号化された動画像コンテンツであり、基準位置はイントラ符号化を施されたフレームの位置である。
【００１０】
請求項４の発明に従うコンテンツ記録装置は、請求項３に従属し、複数の位置は基準位置および非基準位置を含み、非基準位置はインター符号化を施されたフレームの位置である。
【００１１】
請求項５の発明に従うコンテンツ記録装置は、請求項１ないし４のいずれかに従属し、第１記録手段はコンテンツを記録媒体に形成された第１ファイルに格納し、第２記録手段は位置情報を記録媒体に形成された第２ファイルに格納し、第１ファイルおよび第２ファイルを互いに結合する結合手段をさらに備える。ファイル結合によってファイル管理が容易になる。
【００１２】
請求項６の発明に従うコンテンツ記録装置は、請求項５に従属し、基準位置に対応するインデックスコンテンツを作成する第２作成手段、および第２作成手段によって作成されたインデックスコンテンツを記録媒体に記録する第３記録手段をさらに備える。インデックスコンテンツを作成することで、長時間のコンテンツの概要を容易に把握することができる。
【００１３】
請求項７の発明に従うコンテンツ記録装置は、請求項６に従属し、第３記録手段は、インデックスコンテンツを記録媒体に形成された第３ファイルに格納する格納手段、および第３ファイルを結合ファイルに関連付ける関連付け手段を含む。
【００１４】
請求項８の発明に従うコンテンツ記録装置は、請求項７に従属し、関連付け手段は結合ファイルと同じ識別番号を第３ファイルに割り当てる。
【発明の効果】
【００１５】
この発明によれば、第１作成手段によって作成された位置情報を基準位置が特定される毎に記録媒体に記録するようにしたため、記録の前に一時的に保持すべき位置情報のサイズを抑えることができ、これによって少ない容量の内部メモリを用いて長時間のコンテンツを記録することができる。
【００１６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１７】
図１を参照して、この実施例のディジタルビデオカメラ１０は、フォーカスレンズ１２を含む。被写界の光学像は、フォーカスレンズ１２を通してイメージセンサ１４の撮像面に照射される。撮像面では、光電変換によって被写界の光学像に対応する電荷つまり生画像信号が生成される。
【００１８】
キー入力装置４２に設けられたモードキー４４ｄによってカメラモードが選択されると、  スルー画像処理つまり被写界のリアルタイム動画像をＬＣＤモニタ２６に表示する処理が実行される。ＣＰＵ４０はまず、プリ露光および間引き読み出しの繰り返しをドライバ１８に命令する。ドライバ１８は、イメージセンサ１４のプリ露光とこれによって生成された生画像信号の間引き読み出しとを繰り返し実行する。プリ露光および間引き読み出しは、１／３０秒毎に発生する垂直同期信号に応答して実行される。これによって、被写界の光学像に対応する低解像度の生画像信号が、３０ｆｐｓのフレームレートでイメージセンサ１８から出力される。
【００１９】
出力された各フレームの生画像信号は、ＣＤＳ／ＡＧＣ／ＡＤ回路２０によってノイズ除去，レベル調整およびＡ／Ｄ変換の一連の処理を施され、これによってディジタル信号である生画像データが得られる。信号処理回路２２は、ＣＤＳ／ＡＧＣ／ＡＤ回路２０から出力された生画像データに白バランス調整，色分離，ＹＵＶ変換などの処理を施し、ＹＵＶ形式の画像データを生成する。生成された各フレームの画像データはメモリ制御回路２４によってＳＤＲＡＭ２６に書き込まれ、その後同じメモリ制御回路２４によって読み出される。
【００２０】
ビデオエンコーダ２８は、メモリ制御回路２４によって読み出された画像データをＮＴＳＣフォーマットに従うコンポジットビデオ信号に変換し、変換されたコンポジットビデオ信号をＬＣＤモニタ３０に与える。この結果、被写界のスルー画像がモニタ画面に表示される。なお、以下では説明を適宜省略するが、ＳＤＲＡＭ２６へのアクセスは必ずメモリ制御回路２４を通して行われる。
【００２１】
動画像に関連する処理を実行するとき、ＳＤＲＡＭ２６には、図２に示す要領でバンク２６ａ（バンク０）およびバンク２６ｂ（バンク１）が形成される。ＣＰＵ４０は、垂直同期信号が発生する毎にバンクの指定をバンク２６ａおよび２６ｂの間で切り換える。信号処理回路２２は、ＣＰＵ４０によって指定されたバンクに画像データを書き込み、ビデオエンコーダ２８は、ＣＰＵ４０によって指定されたバンクとは異なるバンクから画像データを読み出す。
【００２２】
動画撮影キー４２ｂが操作されると、ＣＰＵ４０は、ＭＰＥＧ４コーデック３４を起動する。ＭＰＥＧ４コーデック３４は、ビデオエンコーダ２８に向けて読み出された画像データを取り込み、取り込まれた各フレームの画像データにＭＰＥＧ４フォーマットのシンプルプロファイルに従う圧縮処理を施す。画像データは、１５フレームに１回程度の割合でイントラ符号化を施され、残りのフレームでインター符号化を施される。こうして生成された圧縮動画像データは、ＳＤＲＡＭ２６の動画像エリア２６ｅに書き込まれる。
【００２３】
イントラ符号化を施されたフレームを“Ｉフレーム”と定義し、インター符号化を施されたフレームを“Ｐフレーム”と定義する。また、Ｉフレームおよびこれに続く複数のＰフレームからなる塊を“ＧＯＰ（Group Of Pictures）”と定義する。すると、圧縮動画像データは図４に示すデータ構造を有することとなる。
【００２４】
ＣＰＵ４０は、１フレームの圧縮動画像データが生成される毎に、この圧縮動画像データのサイズsizeとタイプtype（ＩフレームであるかＰフレームであるか）とをＭＰＥＧ４コーデック３４から取得し、これらの情報を含むインデックスデータつまり動画インデックスデータを図３に示すインデックス情報テーブル２６ｈに書き込む。書き込まれた各フレームの動画インデックスデータには、コラム番号が割り当てられる。なお、かかるインデックス情報テーブル２６ｈも、ＳＤＲＡＭ２６上に作成される。
【００２５】
ＣＰＵ４０は、ＭＰＥＧ４コーデック３４から取得したタイプがＩフレームを示すとき、それまでに動画像エリア２６ｅおよびインデックス情報テーブル２６ｈにそれぞれ蓄積された圧縮動画像データおよび動画インデックスデータを記録媒体３８に書き込むべく、対応する書き込み指示を指示リスト（図示せず）に設定する。
【００２６】
ＣＰＵ４０はさらに、ＭＰＥＧ４コーデック３４から取得したタイプがＩフレームを示すとき、サムネイル生成回路２３にサムネイル画像データの生成処理を命令し、ＪＰＥＧコーデック３２にこのサムネイル画像データの圧縮処理を命令する。
【００２７】
サムネイル生成回路２３は、Ｉフレームに対応する非圧縮の画像データをバンク２６ａまたは２６ｂから読み出し、読み出された画像データに間引き処理を施してサムネイル画像データを作成し、作成したサムネイル画像データをバンク２６ａまたは２６ｂ（読み出し先と同じ）に書き込む。ＪＰＥＧコーデック３２は、このサムネイル画像データをＳＤＲＡＭ２６から読み出し、読み出されたサムネイル画像データを圧縮し、そして圧縮サムネイル画像データをインデックス画像エリア２６ｄに書き込む。
【００２８】
圧縮サムネイル画像データがＳＤＲＡＭ２６に確保されると、ＣＰＵ４０は、圧縮サムネイル画像データの書き込み指示とこの圧縮サムネイル画像データを管理するためのインデックスデータつまりサムネイルインデックスデータの書き込み指示とを指示リストに設定する。
【００２９】
圧縮動画像データに関する書き込み指示、および圧縮サムネイル画像データに関する書き込み指示の発行タイミングを図５に示す。圧縮サムネイル画像データに関する書き込み指示は各々のＧＯＰの先頭で発行され、圧縮動画像データに関する書き込み指示は各々のＧＯＰの末尾で発行される。つまり、いずれの書き込み指示も、ＧＯＰを形成するフレーム数に従う周期で間欠的に発行される。
【００３０】
ＣＰＵ４０はμＩＴＲＯＮのようなマルチタスクＯＳを搭載したマルチタスクＣＰＵであり、指示リストに設定された指示はＢＧ（Back Ground）タスクによって実行される。圧縮動画像データ、動画インデックスデータ，圧縮サムネイル画像データおよびサムネイルインデックスデータは、ＢＧタスクの実行によって、Ｉ／Ｆ３６を経て記録媒体３８に記録される。圧縮動画像データは動画ファイルDATA.TMPに格納され、動画インデックスデータはインデックスファイルINDEX.TMPに格納される。また、圧縮サムネイル画像データはサーチ用動画ファイルVCLP000*.MSHに書き込まれ、サムネイルインデックスデータはサーチ用インデックスファイルVCLP000*.MDXに書き込まれる。
【００３１】
動画像のフレームレートや解像度などの動画撮影情報は、動画撮影が開始されたときに、記録媒体３８内の撮影情報ファイルINFO.TMPに書き込まれる。この書き込みも、ＢＧタスクによって実行される。
【００３２】
なお、記録媒体３８は、ファイル管理方式としてＦＡＴ（File Allocation Table）方式を採用し、記録データはクラスタ単位で離散的に管理される。また、記録媒体３８は着脱自在の半導体メモリであり、図示しないスロットに装着されたときにＩ／Ｆ３６によってアクセス可能となる。
【００３３】
上述のような動画撮影処理の途中で静止画撮影キー４２ａが操作されると、ＣＰＵ４０は、ドライバ１６を制御してフォーカスレンズ１２を合焦点に設定し、ドライバ１８に最適露光時間を設定し、そして信号処理回路２２に設定された白バランス調整ゲインを最適値に設定する。こうして撮影条件の調整が完了すると、ＣＰＵ４０は、１回の本露光と１回の全画素読み出しとをドライバ１８に命令する。ドライバ１８は、イメージセンサ１４の本露光とこれによって生成された生画像信号の全画素読み出しとを１回ずつ実行する。これによって、被写界の光学像に対応する高解像度の生画像信号がイメージセンサ１８から出力される。
【００３４】
出力された生画像信号は上述と同様の処理によってＹＵＶ形式の静止画像データに変換され、変換された静止画像データはＳＤＲＡＭ２６に書き込まれる。図２を参照して、静止画撮影キー４２ａが操作されたときは、バンク２６ｂおよび未使用領域２６ｃに代えて、バンク２６ｆ（バンク２）および静止画像エリア２６ｇがＳＤＲＡＭ２６に形成される。静止画像データは、バンク２６ｆに書き込まれる。
【００３５】
ＣＰＵ４０はまた、圧縮命令をＪＰＥＧコーデック３２に向けて発行する。ＪＰＥＧコーデック３２は、バンク２６ｆから静止画像データを読み出し、読み出された静止画像データにＪＰＥＧ圧縮を施し、そして圧縮静止画像データを静止画像エリア２６ｇに書き込む。ＣＰＵ４０はその後、静止画像エリア２６ｇから圧縮静止画像データを読み出し、読み出された静止画像データを含む静止画ファイルを記録媒体３８に記録する。
【００３６】
動画像を形成する低解像度の生画像信号の出力ならびにバンク２６ａおよび２６ｂの間でのバンク切換は、このような静止画撮影処理が実行される期間にわたって中断される。ただし、ＭＰＥＧ４コーデック３４は起動状態にあり、バンク２６ａに格納された画像データはＭＰＥＧ４コーデック３４によって繰り返し読み出され、圧縮処理を施される。したがって、静止画撮影処理が実行される期間に生成された圧縮動画像データは、静止画撮影キー４２ａが操作された時点の静止画像に対応することとなる。
【００３７】
静止画撮影処理が実行されているときにＭＰＥＧ４コーデック３４からＩフレームを示すタイプ情報を取得すると、ＣＰＵ４０は、圧縮サムネイル画像データの生成処理を中止する。これは、ＪＰＥＧコーデック３２が静止画撮影のために占有されており、サムネイル画像データを作成しても圧縮処理ができないからである。ただし、サムネイルインデックスデータの書き込み指示設定は行われる。つまり、図５に示すように、静止画撮影処理の中でも、サムネイルインデックスデータの書き込み指示は発行される。このサムネイルインデックスデータは、１つ前のＧＯＰに対応する圧縮サムネイル画像データを指向する。したがって、インデックスデータに基づいて圧縮サムネイル画像データを再生すると、同じフレームのサムネイル画像が連続することとなる。
【００３８】
動画撮影キー４２ｂが再度操作されると、ＣＰＵ４０は、ＭＰＥＧ４コーデック３４を不能化し、ＳＤＲＡＭ２６に残存する圧縮動画像データおよび動画インデックスデータに関する書き込み指示を指示リストに設定する。これによって、圧縮動画像データおよび動画インデックスデータは、もれなく動画ファイルDATA.TMPおよびインデックスファイルINDEX.TMPに格納される。
【００３９】
ＢＧタスクが終了すると、ＣＰＵ４０は、ファイルサイズがクラスタサイズの整数倍になるように、撮影情報ファイルINFO.TMP，動画ファイルDATA.TMPおよびインデックスファイルINDEX.TMPの各々にダミーデータを付加する。ダミーデータが付加された後、ＣＰＵ４０は、撮影情報ファイルINFO.TMP，インデックスファイルINDEX.TMPおよび動画ファイルDATA.TMPを図６に示す要領で互いに結合する。こうして得られた正規の動画ファイルVCLP000*.MP4は、QuickTimeフォーマットを満足する。
【００４０】
なお、動画ファイルVCLP000*.MP4，サーチ用動画ファイルVCLP000*.MSH，およびサーチ用インデックスファイルVCLP000*.MDXについて、“000*”はファイル番号である。このファイル番号は、同時に作成されたファイル間で共通する。
【００４１】
ＣＰＵ４０は、カメラモードが選択されたとき、図７に示すフロー図に従うバンク切換タスク，図８〜図１４に示すフロー図に従う動画撮影タスク，図１５に示すフロー図に従う静止画撮影タスク，および図１６に示すＢＧ（Back Ground）タスクを並列的に実行する。なお、これらのフロー図に対応する制御プログラムは、フラッシュメモリ４４に記憶される。
【００４２】
まず図７を参照して、ステップＳ１では変数bankを“０”に設定し、ステップＳ３では垂直同期信号の発生の有無を判別する。変数bankは、図２に示すバンク２６ａおよび２６ｂの一方を指定するための変数であり、“０”がバンク２６ａを示し、“１”がバンク２６ｂを示す。ステップＳ１の処理によって、まずバンク２６ａが指定される。
【００４３】
ステップＳ３でＹＥＳと判断されると、ステップＳ５で変数still＿onが“１”であるか否か判別する。変数still＿onは、静止画撮影処理の実行状態を判別するための変数であり、“０”が非実行状態を示し、“１”が実行状態を示す。したがって、静止画撮影処理が実行されていない間はステップＳ７およびＳ９の処理を経てステップＳ３に戻り、静止画撮影処理が実行されている間はステップＳ１１の処理を経てステップＳ３に戻る。
【００４４】
ステップＳ７では、変数bankによって指定されたバンクを信号処理回路２２から出力された動画像データの書き込み先バンクSGN＿BNKとして決定し、変数bankによって指定されていないバンクをＭＰＥＧ４コーデック３４向けの動画像データの読み出し先バンクMP4＿BNKとして決定する。変数bankが“０”であれば、バンク２６ａが書き込み先バンクSGN＿BNKとなり、バンク２６ｂが読み出し先バンクMP4＿BNKとなる。これに対して、変数bankが“１”であれば、バンク２６ａが読み出し先バンクMP4＿BNKとなり、バンク２６ｂが書き込み先バンクSGN＿BNKとなる。
【００４５】
ステップＳ９では、変数bankをトグル態様で変更する。現時点の数値が“０”であれば変更後の数値は“１”となり、現時点の数値が“１”であれば変更後の数値は“０”となる。
【００４６】
ステップＳ１１では、バンク２６ｆを書き込み先バンクSGN＿BNKとして決定し、バンク２６ａを読み出し先バンクMP4＿BNKとして決定し、そして変数bankを“１”に設定する。静止画撮影処理が実行される間は、バンク２６ｂおよび未使用領域２６ｃに代えてバンク２６ｆおよび静止画像エリア２６ｇが有効化されるため、バンク２６ｆが書き込み先バンクSGN＿BNKとなる。なお、変数bankを“１”に設定するのは、動画撮影処理が再開された後の１フレーム目の画像データをバンク２６ｂに書き込むためである。
【００４７】
図８を参照して、ステップＳ２１では各種の変数を初期化する。変数iは、取得した動画インデックスデータをインデックス情報テーブル４０ｔのいずれのコラムに書き込むべきかを示す変数であり、変数cntは、注目するＧＯＰを形成するフレーム数のカウント値を示す変数である。変数total＿frmは、記録される動画像の総フレーム数を示す変数であり、変数data＿offsetは、圧縮動画像データの書き込みアドレスが動画ファイルDATA.TMPの先頭からどの程度ずれているかを示す変数である。
【００４８】
変数fpは、注目するＧＯＰを形成する先頭フレームの動画インデックスデータがインデックス情報テーブル４０ｔのいずれのコラムに書き込まれているかを示す変数であり、変数still＿onは、上述の通り、静止画撮影処理の実行状態を判別するための変数である。変数t＿offsetは、サムネイルインデックスデータの書き込みアドレスがサーチ用インデックスファイルVCLP000*.MDXの先頭からどの程度ずれているかを示す変数である。変数still＿rec＿enableは、静止画撮影が可能かどうかを判別するための変数であり、“０”が撮影不可能を示し、“１”が撮影可能を示す。
【００４９】
ステップＳ２３では、動画撮影キー４４が操作された否かを判別する。ここでＹＥＳであれば、ステップＳ２４でＭＰＥＧ４コーデック３４を起動する。ステップＳ２５では、撮影情報ファイルINFO.TMP，インデックスファイルINDEX.TMP，動画ファイルDATA.TMP，サーチ用インデックスファイルVCLP000*.MDXおよびサーチ用動画ファイルVCLP000*.MSHを記録媒体３８に作成するべく、ファイル作成指示を指示リスト（図示せず）に設定する。このファイル作成指示はＢＧタスクによって実行され、これによって上述の５つのファイルが記録媒体３８に作成される。
【００５０】
ステップＳ２７では垂直同期信号の有無を判別し、ＹＥＳであれば、注目する１フレームの動画インデックスデータをステップＳ２９でインデックス情報テーブル２６ｈに設定する。動画インデックスデータに含まれる情報としては、上述のサイズsizeおよびタイプtypeの他に、ＳＤＲＡＭ２６における圧縮動画像データの書き込み開始位置を示すアドレスadrがある。かかる動画インデックスデータは、インデックス情報テーブル４０ｔのi番目のコラムに書き込まれる。
【００５１】
ステップＳ３１では、変数total＿frmが“０”であるか否かを判別し、ＮＯであれば直接ステップＳ４３に進むが、ＹＥＳであればステップＳ３３〜Ｓ４１を経てステップＳ４３に進む。
【００５２】
ステップＳ３３では、先頭フレームの圧縮サムネイル画像データを作成するべく、サムネイル作成回路２３およびＪＰＥＧコーデック３２に作成命令および圧縮命令をそれぞれ与える。ＪＰＥＧコーデック３２に与えられる圧縮命令には、サムネイル画像データの目標圧縮サイズを示すサイズt＿sizeと、ＳＤＲＡＭ２６における圧縮サムネイル画像データの書き込み開始位置を示すアドレスt＿adrとが含まれる。なお、アドレスt＿adrは、図２に示すサムネイル画像エリア２６ｄの先頭アドレスである。
【００５３】
サムネイル画像作成回路２３は、ＳＤＲＡＭ２６のバンク２６ａまたは２６ｂに書き込まれた画像データを読み出し、読み出された画像データに間引き処理を施してサムネイル画像データを作成し、そして作成されたサムネイル画像データをバンク２６ａまたは２６ｂ（読み出し先と同じ）に書き込む。ＪＰＥＧコーデック３２は、バンク２６ａまたは２６ｂに格納されたサムネイル画像データを読み出し、読み出されたサムネイル画像データをサイズt＿sizeまで圧縮し、そして圧縮サムネイル画像データをＳＤＲＡＭ２６のアドレスt＿adr以降に書き込む。
【００５４】
ステップＳ３５では、オフセットt＿offsetおよびサイズt＿sizeを含むサムネイルインデックスデータをサーチ用インデックスファイルVCLP000*.MDXに書き込むべく、対応する書き込み指示を指示リストに設定する。ステップＳ３７では、アドレスt＿adr以降に存在するサイズt＿sizeのデータをサーチ用動画ファイルVCLP000*.MSHに書き込むべく、対応する書き込み指示を指示リストに設定する。これらの指示がＢＧ処理によって実行されることで、インデックスデータがサーチ用インデックスファイルVCLP000*.MDXに書き込まれ、ステップＳ３３で作成された圧縮サムネイル画像データがサーチ用動画ファイルVCLP000*.MSHに書き込まれる。
【００５５】
ステップＳ３９ではオフセットt＿offsetを更新するべく現在のオフセットoffsetにサイズt＿sizeを加算し、ステップＳ４１では静止画撮影を可能にするべく変数still＿rec＿enableを“１”に設定する。
【００５６】
ステップＳ４３およびＳ４５では、変数cntおよびtotal＿frmをそれぞれインクリメントする。ステップＳ４７では、変数cntが定数MIN＿FRM（＝１０）よりも大きくかつインデックス情報テーブ４０ｔのi番目のコラムに書き込まれたタイプtypeが“０”であるか否かを判別する。ここでは、或るフレームから１０フレームを超える期間が経過してからＩフレームが現れたときに、ＹＥＳと判断される。換言すれば、１０フレーム以下のタイミングでＩフレームが現れたときや、１０フレームを超えてもＩフレームが現れないときは、ＮＯと判断される。ＮＯと判断されたときはステップＳ８５に進み、ＹＥＳと判断されたときはステップＳ４９に進む。
【００５７】
ステップＳ４９では、変数still＿onの値が“０”であるか否かを判別する。静止画撮影処理が実行されていなければ、ステップＳ４９でＹＥＳと判断し、ステップＳ５１〜Ｓ５７で上述のステップＳ３３〜Ｓ３９と同じ処理を実行する。したがって、静止画撮影処理が実行されない限り、１０フレームを超える周期でＩフレームが検出される毎に圧縮サムネイル画像データが作成される。
【００５８】
静止画撮影処理が実行されていれば、ＪＰＥＧコーデック３２を使用できないため、ス５８の処理を実行する。ステップＳ５８では、オフセットt＿offset’およびサイズt＿sizeを含むサムネイルインデックスデータをサーチ用インデックスファイルVCLP000*.MDXに書き込むべく、対応する書き込み指示を指示リストに設定する。ここで、オフセットt＿offset’は、現在のオフセットt＿offsetからサイズt＿sizeを減算した値である。このサムネイルインデックスデータは、先行するサムネイルインデックスデータが指向するフレームと同じフレームを指向する。
【００５９】
ステップＳ５９では変数Kを“０”に設定し、ステップＳ６１では変数Kおよびfpの加算値が定数MAX＿FRM（＝２０）を下回るか否かを判別する。ここでＮＯであれば、ステップＳ６３で数１に従って変数mを決定し、ＹＥＳであれば、数２に従って変数mを決定する。
【００６０】
【数１】
2005142725.tif 000003
【００６１】
【数２】
2005142725.tif 000004
【００６２】
定数MAX＿FRMは、インデックス情報テーブル４０ｔに割り当てられたコラムの総数に相当する。したがって、数１または数２に従う演算によって求められた変数mは、“０”〜“１９”のいずれかを示す。かかる変数mによって、インデックス情報テーブル４０ｔから読み出すべき動画インデックスデータが格納されたコラムが特定される。
【００６３】
ステップＳ６７では、変数mに対応するコラムに割り当てられた動画インデックスデータをインデックスファイルINDEX.TMPに書き込むべく、対応する書き込み指示を指示リストに設定する。ステップＳ３７では、変数mに割り当てられたアドレスadrが示すアドレス以降に存在するかつ変数mに割り当てられたサイズsizeに相当するデータを動画ファイルDATA.TMPに書き込むべく、対応する書き込み指示を指示リストに設定する。これらの指示がＢＧ処理によって実行されることで、動画インデックスデータがインデックスファイルINDEX.TMPに書き込まれ、１フレームの圧縮動画像データが動画ファイルDATA.TMPに書き込まれる。
【００６４】
ステップＳ７１では、変数Kをインクリメントする。ステップＳ７３では更新された変数Kが数値“cnt−１”を下回るか否かを判別し、ＹＥＳであればステップＳ６１に戻る。変数Kのインクリメントによって変数mもまたインクリメントされる。これによって、連続するフレームに対応する動画インデックスデータおよび圧縮動画像データがインデックスファイルINDEX.TMPおよび動画ファイルDATA.TMPにそれぞれ格納される。ステップＳ６１〜Ｓ７３の処理は、変数Kが数値“cnt−１”に達した時点で中断される。これは、インデックスデータおよび圧縮動画像データのファイル書き込みがＧＯＰの整数倍毎に実行されることを意味する。
【００６５】
続くステップＳ７５〜Ｓ７９ではステップＳ６１〜Ｓ６５と同様の処理を実行し、ステップＳ８１では変数fpとして変数mを設定する。更新された変数fpは、次回のステップＳ６１の処理で用いられる。ステップＳ８３では、変数cntから変数Kを引き算する。引き算後の変数cntは“１”を示し、これによって後続のＧＯＰの先頭フレームが注目される。
【００６６】
ステップＳ８５では変数iをインクリメントし、ステップＳ８７では更新された変数iが定数MAX＿FRMを下回るか否かを判別する。ここでＹＥＳであればステップＳ２７に戻るが、ＮＯであれば、インデックス情報テーブル４０ｔの先頭のコラムを書き込み先として指定するべく、変数iを初期化する。ステップＳ９１では動画撮影キー４２ｂによる撮影終了操作が行われたか否かを判別する。ここでＮＯであればステップＳ２７に戻り、ＹＥＳであれば、ステップＳ９２でＭＰＥＧ４コーデック３４を不能化してからステップＳ９３に進む。
【００６７】
ステップＳ９３では、変数cntが“０”を上回るか否かを判別する。ここでＮＯであれば、未記録のデータは存在しないとみなして直接ステップＳ１１１に進むが、ＹＥＳであれば、未記録のデータがＳＤＲＡＭ２６に存在するとみなしてステップＳ９５〜Ｓ１０９の処理を実行する。ただし、この処理は、ステップＳ５９〜Ｓ７３の処理と同じである。これによって、ＳＤＲＡＭ２６に残存する動画インデックスデータおよび圧縮動画像データがインデックスファイルINDEX.TMPおよび動画ファイルDATA.TMPにそれぞれ書き込まれる。ステップＳ１０９でＹＥＳと判断されると、ステップＳ１１０に進む。
【００６８】
ステップＳ１１０ではＢＧタスクが終了したか否かを判別し、ＹＥＳであればステップＳ１１１〜Ｓ１１５で撮影情報ファイルINFO.TMP，インデックスファイルINDEX.TMP，および動画ファイルDATA.TMPにパディング処理を施す。具体的には、ファイルサイズがクラスタサイズの整数倍となるように、各々のファイルの末尾にダミーデータを付加する。ステップＳ１１７では、ＦＡＴの更新によって撮影情報ファイルINFO.TMP，インデックスファイルINDEX.TMP，および動画ファイルDATA.TMPを互いに結合する。ステップＳ１１９では、ファイル結合によって得られた正規の動画ファイルにファイルネーム“VCLP000*.MP4”を割り当てる。
【００６９】
図１５を参照して、ステップＳ１２１では変数still＿rec＿enableが“１”であるか否か判別する。ここでＹＥＳであれば、静止画撮影が可能であるとみなし、ステップＳ１２３で静止画撮影キー４２ａの操作の有無を判別する。操作が行われると、ステップＳ１２５で変数still＿onを“１”に設定し、垂直同期信号の発生を待ってステップＳ１２７からステップＳ１２９に進む。ステップＳ１２９では、フォーカス、露光量、白バランスなどの撮影条件を調整し、ステップＳ１３１では静止画像の取り込みおよびＪＰＥＧ圧縮を実行する。具体的には、ドライバ１８に本露光および全画素読み出しを命令し、ＪＰＥＧコーデック３２にＪＰＥＧ圧縮を命令する。高解像度の静止画像データはまず図２に示すバンク２６ｆに書き込まれ、その後ＪＰＥＧコーデック３２によってＪＰＥＧ圧縮を施される。圧縮静止画像データは、図２に示す静止画像エリア２６ｇに書き込まれる。
【００７０】
かかる処理が完了すると、ステップＳ１３３で変数still＿onを“０”に設定する。ステップＳ１３５では、静止画ファイルを記録媒体３８に作成するための作成指示、および作成された静止画ファイルへの圧縮静止画像データの書き込みを指示するための書き込み指示を、指示リストに設定する。これらの指示はＢＧタスクによって実行され、これによって圧縮静止画像データが格納された静止画ファイルが記録媒体３８内に得られる。
【００７１】
図１６を参照して、ステップＳ１４１では指示リストに指示が設定されたか否かを判別し、ＹＥＳであればステップＳ１４３で指示を１回実行する。ステップＳ１４５では全ての指示が実行されたかどうか判別し、ＮＯであればステップＳ１４３に戻る。これによって、指示リストに設定された指示が順に実行される。つまり、所望のファイルが記録媒体３８に作成され、所望のデータが所望のファイルに書き込まれる。ステップＳ１４５でＹＥＳと判断されると、ＢＧタスクを終了する。
【００７２】
図１に戻って、モードキー４２ｄによって再生モードが選択されかつ所望の動画ファイルVCLP000*.MP4が選択されると、この動画ファイルVCLP000*.MP4の再生処理が実行される。ＣＰＵ４０はまず、記録媒体３８に記録されたサーチ用インデックスファイルVCLP000*.MDXからサムネイルインデックスデータを読み出し、このサムネイルインデックスデータが書き込まれた再生用インデックス情報テーブル２６ｉをＳＤＲＡＭ２６に作成する。ＣＰＵ４０はまた、動画ファイルVCLP000*.MP4に格納された動画インデックスデータに基づいてＩフレームのフレーム番号を検出し、このＩフレーム番号が書き込まれたＩフレームテーブル２６ｊをＳＤＲＡＭ２６に作成する。
【００７３】
再生用インデックス情報テーブル２６ｉは図１７に示す要領で作成され、Ｉフレームテーブル２６ｊは図１８に示す要領で作成される。図１７によれば、サムネイルインデックスデータに含まれるオフセットt＿offsetおよびサイズt＿sizeが、各々のコラム番号に割り当てられる。図１８によれば、検出されたフレーム番号が、昇順でコラム番号に割り当てられる。
【００７４】
ＣＰＵ４０は、動画ファイルVCLP000*.MP4に格納された先頭フレームの圧縮画像データを記録媒体３８からＳＤＲＡＭ２６に転送し、伸長命令をＭＰＥＧ４コーデック３４に与える。ＭＰＥＧコーデック３４は先頭フレームの圧縮画像データをＳＤＲＡＭ２６から読み出し、読み出された圧縮画像データを伸長し、伸長された画像データをＳＤＲＡＭ２６に書き込む。ビデオエンコーダ２８は、この画像データをＳＤＲＡＭ２６から読み出し、読み出された画像データをＮＴＳＣフォーマットのコンポジットビデオ信号に変換し、そして変換されたコンポジットビデオ信号をＬＣＤモニタ３０に与える。これによって、先頭フレーム画像がＬＣＤモニタ３０に表示される。
【００７５】
ここで、セットキー４２ｃが操作されると、動画再生が実行される。ＣＰＵ４０は、動画ファイルVCLP000*.MP4に格納された圧縮動画像データを１ＧＯＰに相当する周期で１ＧＯＰずつＳＤＲＡＭ２６に転送するとともに、垂直同期信号に応答してＭＰＥＧ４コーデックに伸長命令を与える。ＭＰＥＧ４コーデック３４は、垂直同期信号に応答して上述と同様の処理を実行する。ビデオエンコーダ２８も、上述と同様の処理を実行する。この結果、先頭フレームに続く動画像がＬＣＤモニタ３０に表示される。
【００７６】
上キー４２ｅが操作されたときは、図１９（Ａ），図１９（Ｂ）または図１９（Ｃ）に示すサーチ画面がＬＣＤモニタ３０に表示される。ＣＰＵ４０はまず、映画フィルムを模したテンプレート画像データをＳＤＲＡＭ２６に書き込む。ＣＰＵ４０は続いて、２フレームまたは３フレームの圧縮サムネイル画像データをサーチ用動画ファイルVCLP000*.MSHからＳＤＲＡＭ２６に転送し、伸長命令をＪＰＥＧコーデック３２に与える。ＪＰＥＧコーデック３２は、圧縮サムネイル画像データをＳＤＲＡＭ２６から読み出し、読み出された圧縮サムネイル画像データに伸長処理を施し、そして伸長されたサムネイル画像データをＳＤＲＡＭ２６に書き込む。
【００７７】
サムネイル画像データはテンプレート画像データと合成され、これによってサーチ画面データが得られる。ビデオエンコーダ２８はかかるサーチ画面データをＳＤＲＡＭ２６から読み出し、読み出されたサーチ画面データに上述のエンコード処理を施す。この結果、図１９（Ａ）〜図１９（Ｃ）のいずれかのサーチ画面がＬＣＤモニタ３０に表示される。図１９（Ａ）は先頭部分のサーチ画面であり、図１９（Ｂ）は中盤のサーチ画面であり、そして図１９（Ｃ）は末尾のサーチ画面である。
【００７８】
なお、サーチ画面の中央に表示されるサムネイル画像は、後述する変数Ifrmに相当する画像である。また、サーチ画面の左側に表示されるサムネイル画像は、変数Ifrmに相当するフレームよりも変数stepに相当するフレームだけ前に存在するフレームの画像である。さらに、サーチ画面の右側に表示されるサムネイル画像は、変数Ifrmに相当するフレームよりも変数stepに相当するフレームだけ後に存在するフレームの画像である。
【００７９】
ただし、変数Ifrmに相当するフレームが先頭フレームであれば、サーチ画面の左側に黒画像が表示され、変数Ifrmに相当するフレームが末尾フレームであれば、サーチ画面の右側に黒画像が表示される。
【００８０】
図１９（Ａ）または図１９（Ｂ）に示すサーチ画面が表示されている状態で右キー４２ｈが操作されると、ＣＰＵ４０は、変数Ifrmを順方向に更新し、上述と同様の処理を再度実行する。これによって、テンプレート画像データに合成されるサムネイル画像データが順方向に更新される。また、図１９（Ｂ）または図１９（Ｃ）に示すサーチ画面が表示されている状態で左キー４２ｇが操作されると、ＣＰＵ４０は、変数Ifrmを逆方向に更新し、上述と同様の処理を再度実行する。テンプレート画像データに合成されるサムネイル画像データは、逆方向に更新される。なお、右キー４２ｈまたは左キー４２ｇが操作状態の継続期間が長くなるほど、変数stepの値が増大する。
【００８１】
サーチ画面が表示されている状態でセットキー４２ｃが操作されると、サーチ画面の中央に表示されているサムネイル画像を基準として動画再生が実行される。つまり、中央のサムネイル画像に対応するＧＯＰが特定され、特定されたＧＯＰから始まる複数のＧＯＰに上述の動画再生処理が施される。
【００８２】
ＣＰＵ４０は、再生モードが選択されたとき、図２０〜図２５に示すフロー図に従うサーチタスクと、図２６に示す動画再生タスクを実行する。これらのフロー図に対応する制御プログラムもまた、フラッシュメモリ４４に記憶される。
【００８３】
まずステップＳ２０１で、動画ファイル選択処理を行う。所望の動画ファイルVCLP000*.MP4が選択されると、ステップＳ２０３で図１７に示す再生用インデックス情報テーブル２６ｉをＳＤＲＡＭ２６上に作成し、ステップＳ２０５で図１８に示すＩフレームテーブル２６ｊをＳＤＲＡＭ２６上に作成する。
【００８４】
ステップＳ２０３では、サーチ用インデックスファイルVCLP000*.MDXのサイズに基づいてフレーム数が算出され、算出されたフレーム数に相当するコラムを有する再生用インデックス情報テーブル２６ｉが作成され、そしてサーチ用インデックスファイルVCLP000*.MDXに格納されたサムネイルインデックスデータが各々のコラムに書き込まれる。コラム番号は、フレーム番号に一致する。
【００８５】
ステップＳ２０５では、動画ファイルVCLP000*.MP4に格納された動画インデックスデータに基づいてＩフレームのフレーム番号が特定され、特定されたフレーム番号が昇順でＩフレームテーブル２６ｊに書き込まれる。以下では、Ｉフレームテーブル２６ｊのコラム番号を“Ｉフレーム番号”と定義する。
【００８６】
ステップＳ２０７では変数frmを初期化し、続くステップＳ２０９ではfrm番目のフレームを再生する。具体的には、選択された動画ファイルVCLP000*.MP4に格納されたfrm番目のフレームの圧縮動画像データを記録媒体３８からＳＤＲＡＭ２６に転送し、ＭＰＥＧ４コーデック３４に伸長命令を与える。この結果、先頭フレーム画像がＬＣＤモニタ３０に表示される。
【００８７】
ステップＳ２１１では、frm-Ifrm変換処理を行う。これによって、frm番目のフレーム以降でfrm番目のフレームに直近のＩフレームが特定され、特定されたＩフレームに割り当てられたＩフレーム番号が変数Ifrmとして設定される。ステップＳ２１３では上キー４２ｅの操作の有無を判別し、ステップＳ２１５ではセットキー４２ｃの操作の有無を判別する。セットキー４２ｃが操作されたときは、動画像を再生するべく、ステップＳ２２７に進む。上キー４２ｅが操作されたときは、図１９（Ａ）〜図１９（Ｃ）のいずれかのサーチ画面をＬＣＤモニタ３０に表示するべく、ステップＳ２１７でサーチフレーム表示処理を実行する。
【００８８】
ステップＳ２１９では左キー４２ｇの操作の有無を判別し、ステップＳ２２１では右キー４２ｈの操作の有無を判別し、ステップＳ２２３では上キー４２ｅの操作の有無を判別し、そしてステップＳ２２５ではセットキー４２ｃの操作の有無を判別する。左キー４２ｇが操作されたときはステップＳ２１９からステップＳ２３７に移行し、右キー４２ｈが操作されたときはステップＳ２２１からステップＳ２５３に移行し、上キー４２ｅが操作されたときはステップＳ２２３からステップＳ２０７に戻り、そしてセットキー４２ｃが操作されたときはステップＳ２２７に進む。
【００８９】
ステップＳ２２７では、動画再生タスクを起動する。これによって、変数frmに対応するフレーム以降の動画像がＬＣＤモニタ３０に表示される。ステップＳ２２９では下キー４２ｆが操作されたか否かを判別し、ステップＳ２３１では動画像の再生が終了したか否かを判別する。動画像の再生が終了したときは、ステップＳ２０７に戻る。下キー４２ｆが操作されたときは、ステップＳ２３３で動画再生タスクを中断し、ステップＳ２３５でIfrm-frm変換処理を行う。ステップＳ２３５では、Ｉフレームテーブル２６ｊを参照して、現時点の変数Ifrmに対応するフレーム番号を変数frmとして設定する。変数frmが決定されると、ステップＳ２０９に戻る。
【００９０】
左キー４２ｇの操作に応答してステップＳ２１９からステップＳ２３７に移行すると、まず変数loopおよびstepをそれぞれ“０”および“１”に設定する。続くステップＳ２３９では変数Ifrmから変数stepを引き算した引き算値Ifrm−stepが“０”以上であるか否か判別する。ここでＮＯと判断されると、サーチ画面の中央に表示すべきフレームが先頭フレームに到達したとみなして、ステップＳ２４６で変数stepを“１”に戻し、かつステップＳ２４８でサーチフレーム表示処理を行ってから、ステップＳ２１９に戻る。一方、ステップＳ２３９でＹＥＳと判断されると、ステップＳ２４１以降の処理に進む。
【００９１】
ステップＳ２４１では変数Ifrmを引き算値Ifrm−stepによって更新し、ステップＳ２４３ではサーチフレーム表示処理を行う。ステップＳ２４５では左キー４２ｇの操作状態が継続しているか否かを判別し、ＮＯであればステップＳ２４６およびＳ２４８の処理を経てステップＳ２１９に戻るが、ＹＥＳであればステップＳ２４７で変数loopをインクリメントする。
【００９２】
ステップＳ２４９では、更新された変数loopを定数STEP＿NUM（＝５）で割り算して得られる余りが定数STEP＿NUM（＝５）から“１”を引き算した引き算値STEP＿NUM−１に等しいか否か判別する。ここでＮＯであればそのままステップＳ２３９に戻るが、ＹＥＳであればステップＳ２５１で変数stepをインクリメントしてからステップＳ２３９に戻る。したがって、左キー４２ｇの操作状態が長くなるほど、変数stepすなわち変数Ifrmの更新幅が大きくなる。
【００９３】
右キー４２ｈが操作されたときに実行されるステップＳ２５３〜Ｓ２６７の処理は、ステップＳ２５５で変数Ifrmに変数stepを加算した加算値Ifrm＋stepが定数M未満であるか否か判別し、ステップＳ２５７で変数Ifrmを加算値Ifrm＋stepによって更新し、そしてステップＳ２６１で右キー４２ｈの操作状態が継続しているか否かを判別する点を除き、ステップＳ２３７〜Ｓ２５１の処理と同じである。したがって、重複した説明は省略する。なお、定数Mは、Ｉフレームテーブル２６ｊを形成するコラムの総数である。
【００９４】
frm-Ifrm変換処理は、図２４に示すサブルーチンに従う。まずステップＳ２７１で変数jを初期化し、ステップＳ２７３で変数frmがＩフレームテーブル２６ｊのj番目のコラムに割り当てられたフレーム番号以下であるか否かを判別する。ここでＮＯであればステップＳ２７５に進み、変数jをインクリメントする。ステップＳ２７７では更新された変数jが定数M未満であるか否か判別し、ＹＥＳであればステップＳ２７３に戻る。ＮＯであればステップＳ２７９に進み、定数Mから“１”を引き算した引き算値M−１を変数Ifrmとして設定する。
【００９５】
ステップＳ２７３でＹＥＳと判断されると、ステップＳ２８１で変数frmがj番目のコラムに割り当てられたフレーム番号に等しいか否か判別する。ここでＮＯであれば変数jから“１”を引き算した引き算値j−１を変数Ifrmとして設定するが、イエスであれば変数jを変数Ifrmとして設定する。ステップＳ２７９，Ｓ２８３またはＳ２８５の処理が完了すると、上階層のルーチンに復帰する。
【００９６】
サーチフレーム表示処理は、図２５に示すサブルーチンに従う。まずステップＳ２９１で変数Ifrmが“０”に等しいか否か判別し、ステップＳ２９５で変数Ifrmが引き算値M−１に等しいか否か判別する。ステップＳ２９１でＹＥＳと判断されるとステップＳ２９３に進み、図１９（Ａ）に示すサーチ画面をＬＣＤモニタ３０に表示する。ステップＳ２９５でＮＯと判断されたときはステップＳ２９７に進み、図１９（Ｂ）に示すサーチ画面をＬＣＤモニタ３０に表示する。ステップＳ２９５でＹＥＳと判断されたときはステップＳ２９９に進み、図１９（Ｃ）に示すサーチ画面をＬＣＤモニタ３０に表示する。ステップＳ２９３，Ｓ２９７またはＳ２９の処理が完了すると、上階層のルーチンに復帰する。
【００９７】
動画再生タスクでは、まずステップＳ３０１で変数Ifrmから始まる１ＧＯＰの圧縮動画像データを記録媒体３８からＳＤＲＡＭ２６に転送する。このとき、１ＧＯＰを形成するフレーム数を検出し、検出したフレーム数を変数Fとして設定する。
【００９８】
ステップＳ３０３では変数Pを初期化し、垂直同期信号の発生を待ってステップＳ３０５からステップＳ３０７に進む。ステップＳ３０７では、P番目のフレームの伸長処理をＭＰＥＧ４コーデック３４に命令する。ＭＰＥＧ４コーデック３４は、メモリ制御回路２４を通してＳＤＲＡＭ２６からP番目のフレームの圧縮画像データを読み出し、読み出された圧縮画像データを伸長し、そして伸長画像データをメモリ制御回路２４を通してＳＤＲＡＭ２６に書き込む。ビデオエンコーダ２８は、こうして得られた伸長画像データをメモリ制御回路２４を通して読み出し、ＮＴＳＣフォーマットに従うエンコード処理を施す。この結果、対応する再生画像がＬＣＤモニタ３０に表示される。
【００９９】
ステップＳ３０９では変数Pをインクリメントし、ステップＳ３１１では変数Pを変数Fと比較する。ここで変数Pが変数Fに満たなければステップＳ３０５に戻るが、変数Pが変数Fに到達すればステップＳ３１３でＩフレーム番号Ifrmをインクリメントする。ステップＳ３１５では更新されたＩフレーム番号Ifrmが変数M未満であるか否か判別し、ＮＯであればステップＳ３０１に戻る。これによって、通常速度で動く動画像がＬＣＤモニタ３０に表示される。ステップＳ１３５でＹＥＳと判断されると、動画再生が終了したとみなして動画再生タスクを終了する。
【０１００】
この実施例によれば、動画撮影時にＭＰＥＧ４コーデック３４から出力される圧縮動画像データは、時間的に連続する変化が表現され、かつ間欠的なタイミングでＩフレーム（基準位置）が割り当てられた動画像コンテンツである。ＣＰＵ４０は、かかる圧縮動画像データを記録媒体３８に記録する（S69, S105, S143）。ＣＰＵ４０はまた、ＭＰＥＧ４コーデック３４から出力された圧縮動画像データの各フレームを指向する動画インデックスデータ（位置情報）をＭＰＥＧ４コーデック３４の圧縮動作と並行して作成する。作成された動画インデックスデータは、Ｉフレームが特定される毎にＣＰＵ４０によって記録媒体３８に記録される（S67, S103, S143）。
【０１０１】
このように、Ｉフレームが特定される毎に動画インデックスデータを記録媒体３８に記録することによって、記録の前にＳＤＲＡＭ２６に保持すべき動画インデックスデータのサイズが抑えられる。この結果、ＳＤＲＡＭ２６の容量が少なくても、長時間の動画撮影が可能となる。
【０１０２】
また、この実施例によれば、圧縮動画像データを形成する複数のフレームは、間欠的に存在する複数のＩフレーム（特定静止画像）を有する。ＣＰＵ４０は、かかる複数のＩフレームにそれぞれ対応する複数のサムネイル画像を作成し（S33, S51, S143）、作成された複数のサムネイル画像の少なくとも１つを再生する（S217）。左キー４２ｇまたは右キー４２ｈが操作されると、現時点で再生されているサムネイル画像が、変数stepに相当するフレームを隔てて存在する別のサムネイル画像によって更新される（S241, S243, S257, S259）。ここで、変数stepの値は、左キー４２ｇまたは右キー４２ｈの操作状態に応じて、変更される（S251, S267）。
【０１０３】
変数stepの値が増大するとサムネイル画像の更新幅が大きくなり、変数stepの値が減少するとサムネイル画像の更新幅が小さくなる。したがって、順番にしか更新されない従来技術に比べて、検索時の操作性が向上する。
【０１０４】
なお、この実施例では、左キー４２ｇまたは右キー４２ｈの操作状態が継続したとき変数stepの値を徐々に増大させ、操作状態が解除されるとその時点でサムネイル画像の更新を停止するようにしているが、操作状態が解除された後に変数stepを徐々に減少させ、かかる変数stepに基づいてサムネイル画像を更新するようにしてもよい。この場合、変数stepが“１”に到達した時点でサムネイル画像の更新が停止する。
【０１０５】
また、この実施例では、記録媒体としてメモリカードのような半導体メモリを用いているが、これに代えて光磁気ディスクのようなディスク媒体を用いてもよい。
【０１０６】
さらにこの実施例で取り扱うコンテンツは動画像コンテンツであるが、動画像コンテンツに代えて、あるいは動画像コンテンツとともに、音声コンテンツを取り扱うようにしてもよい。
【図面の簡単な説明】
【０１０７】
【図１】この発明の一実施例を示すブロック図である。
【図２】図１実施例に適用されるＳＤＲＡＭのマッピング状態の一例を示す図解図である。
【図３】図１実施例に適用されるインデックス情報テーブルの一例を示す図解図である。
【図４】ＭＰＥＧデータの構造の一例を示す図解図である。
【図５】図１実施例の動作の他の一部を示す図解図である。
【図６】図１実施例の動作のその他の一部を示す図解図である。
【図７】図１実施例の動作の一部を示すフロー図である。
【図８】図１実施例の動作の他の一部を示すフロー図である。
【図９】図１実施例の動作のその他の一部を示すフロー図である。
【図１０】図１実施例の動作のさらにその他の一部を示すフロー図である。
【図１１】図１実施例の動作の他の一部を示すフロー図である。
【図１２】図１実施例の動作のその他の一部を示すフロー図である。
【図１３】図１実施例の動作のさらにその他の一部を示すフロー図である。
【図１４】図１実施例の動作の他の一部を示すフロー図である。
【図１５】図１実施例の動作のその他の一部を示すフロー図である。
【図１６】図１実施例の動作のさらにその他の一部を示すフロー図である。
【図１７】図１実施例に適用される再生用インデックス情報テーブルの一例を示す図解図である。
【図１８】図１実施例に適用されるＩフレームテーブルの一例を示す図解図である。
【図１９】（Ａ）は先頭インデックス画像の一例を示す図解図であり、（Ｂ）は中盤インデックス画像の一例を示す図解図であり、（Ｃ）は末尾インデックス画像の一例を示す図解図である。
【図２０】図１実施例の動作の他の一部を示すフロー図である。
【図２１】図１実施例の動作のその他の一部を示すフロー図である。
【図２２】図１実施例の動作のさらにその他の一部を示すフロー図である。
【図２３】図１実施例の動作の他の一部を示すフロー図である。
【図２４】図１実施例の動作のその他の一部を示すフロー図である。
【図２５】図１実施例の動作のさらにその他の一部を示すフロー図である。
【図２６】図１実施例の動作の他の一部を示すフロー図である。
【符号の説明】
【０１０８】
１０  …ディジタルビデオカメラ
１４  …イメージセンサ
２２  …信号処理回路
２６  …ＳＤＲＡＭ
３２  …ＪＰＥＧコーデック
３４  …ＭＰＥＧコーデック
４０  …ＣＰＵ
４６  …フラッシュメモリ
【図１】
2005142725.tif 000005
【図２】
2005142725.tif 000006
【図３】
2005142725.tif 000007
【図４】
2005142725.tif 000008
【図５】
2005142725.tif 000009
【図６】
2005142725.tif 000010
【図７】
2005142725.tif 000011
【図８】
2005142725.tif 000012
【図９】
2005142725.tif 000013
【図１０】
2005142725.tif 000014
【図１１】
2005142725.tif 000015
【図１２】
2005142725.tif 000016
【図１３】
2005142725.tif 000017
【図１４】
2005142725.tif 000018
【図１５】
2005142725.tif 000019
【図１６】
2005142725.tif 000020
【図１７】
2005142725.tif 000021
【図１８】
2005142725.tif 000022
【図１９】
2005142725.tif 000023
【図２０】
2005142725.tif 000024
【図２１】
2005142725.tif 000025
【図２２】
2005142725.tif 000026
【図２３】
2005142725.tif 000027
【図２４】
2005142725.tif 000028
【図２５】
2005142725.tif 000029
【図２６】
2005142725.tif 000030