(57)【要約】【課題】  内部メモリを超えるサイズの符号化データが発生したとしても、撮像した画像の符号化データファイルを正しくライトワンス型の記録媒体に格納する。【解決手段】  撮像した画像データの符号化及びＪＰＥＧ用バッファへの符号化データの格納中に、ＪＰＥＧ用バッファのサイズを超えた場合、総符号量を判定するために、そのＪＰＥＧ用バッファを繰り返し利用して、ＪＰＥＧ符号化処理を完了させる。この後、そして判定した総符号量に対応するサイズのファイルを格納するための領域をライトワンス記録媒体に確保する。その後で、ファイルヘッダを確保した領域に格納する。そして符号化処理を再度行ない、得られた符号化データを、確保した領域に格納することで、符号化画像データファイルをライトワンス記録媒体に格納する。【選択図】  図３
2013150280.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段で撮像した画像データを圧縮符号化し、脱着可能な外部記録媒体にファイルとして格納する撮像装置であって、
与えられた画像データを圧縮符号化し、符号化データとして出力する符号化手段と、
前記撮像手段で撮像して得られた符号化前の画像データを一時的に記憶するための第１のメモリと、
前記外部記録媒体に格納するための符号化データを格納するための、バッファとして機能する第２のメモリと、
前記撮像手段で撮像して得られた画像データを前記第１のメモリに格納し、当該第１のメモリに格納された画像データを前記符号化手段で符号化させ、得られた符号化データを前記第２のメモリに格納したのち、前記外部記録媒体に画像ファイルとして格納する制御手段とを有し、
前記制御手段は、
前記外部記録媒体がライトワンス型の記録媒体であり、且つ、前記符号化手段で得られた符号化データが前記第２のメモリの容量を超える場合は、前記第２のメモリに格納されている符号化データを前記外部記録媒体に記録することなく前記符号化処理を継続して、符号化データの総符号量を算出して、
算出した総符号量に対応するサイズのファイルを格納するための領域を前記外部記録媒体に確保した後で、
前記第１のメモリに格納された画像データを前記符号化手段で再度の圧縮符号化を実行させ、前記第２のメモリへの格納処理と前記第２のメモリの中の符号化データの前記外部記録媒体に確保した領域への格納処理とを繰り返して、前記外部記録媒体に前記撮像手段で撮像した画像データに対応する画像ファイルを作成する
ことを特徴とする撮像装置。
【請求項２】
前記外部記録媒体のファイルシステムがＦＡＴであり、前記制御手段による前記確保とは、前記総符号量に基づきファイルを格納するために必要な数のクラスタをＦＡＴの管理テーブルに予約することであることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第２のメモリには、ヘッダ用バッファ、サムネイル用バッファ、並びに、ＪＰＥＧ用バッファが予め確保されており、
前記制御手段は、前記外部記録媒体がライトワンス型の記録媒体であり、且つ、前記符号化手段で得られた符号化データが、前記第２のメモリにおける前記ＪＰＥＧ用バッファのサイズを超える場合には、符号化データの総符号量が判定するまで、少なくとも前記ＪＰＥＧ用バッファを符号化データの掃き出し領域として繰り返し利用し、
総符号量が判定した場合には、前記ヘッダ用バッファに、前記総符号量に基づくヘッダ情報を格納すると共に、前記符号化手段によりサムネイルの符号化データを生成して、前記サムネイル用バッファに格納し、
前記ヘッダ情報、前記サムネイルの符号化データ、並びに、前記総符号量に基づく数のクラスタを確保するため、前記外部記録媒体のＦＡＴの管理テーブルを更新し、
前記ヘッダ情報、前記サムネイルの符号化データを、予約したクラスタに格納し、後続する予約された各クラスタに前記符号化手段による再度の符号化で得られた符号化データを前記ＪＰＥＧ用バッファを介して順に格納する
ことを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記第１のメモリと前記第２のメモリは、前記外部記録媒体のクラスタサイズまたはセクタサイズの倍数となるサイズが割り当てられることを特徴とする請求項２または３に記載の撮像装置。
【請求項５】
撮像手段、符号化手段、前記撮像手段で撮像して得られた符号化前の画像データを一時的に記憶するための第１のメモリ、外部記録媒体に格納するための符号化データを格納するための、バッファとして機能する第２のメモリとを有する撮像装置の制御方法であって、
前記撮像手段で撮像して得られた画像データを前記第１のメモリに格納し、当該第１のメモリに格納された画像データを前記符号化手段で符号化させ、得られた符号化データを前記第２のメモリに格納したのち、前記外部記録媒体に画像ファイルとして格納する制御工程とを有し、
前記制御工程は、
前記外部記録媒体がライトワンス型の記録媒体であり、且つ、前記符号化手段で得られた符号化データが前記第２のメモリの容量を超える場合は、前記第２のメモリに格納されている符号化データを前記外部記録媒体に記録することなく前記符号化処理を継続して、符号化データの総符号量を算出し、
算出した総符号量に対応するサイズのファイルを格納するための領域を前記外部記録媒体に確保した後で、
前記第１のメモリに格納された画像データを前記符号化手段で再度の圧縮符号化を実行させ、前記第２のメモリへの格納処理と前記第２のメモリの中の符号化データの前記外部記録媒体に確保した領域への格納処理とを繰り返して、前記外部記録媒体に前記撮像手段で撮像した画像データに対応する画像ファイルを作成する
ことを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルカメラ等に代表される撮像装置及びその制御方法に関するものである。
【背景技術】
【０００２】
近年、デジタルカメラの普及に伴い、デジタルカメラで使用するメモリカードに記録される画像データに対して、改ざん防止などのセキュリティや長期保存といった目的でライトワンス型のメモリカードの需要が高まっている。ライトワンス型のメモリカードは、同一セクタに対して１度だけの書き込みが可能なメモリカードである。
【０００３】
通常の書き換え可能なメモリーカードで、ＦＡＴ(File Allocation Tables)ファイルシステムを採用使用している場合に、巨大なファイルを作成するには、１つのファイルを作成途中に、複数のクラスタに対応したFATの内容を書き換えながらデータを記録している。しかし、ライトワンス型のメモリカードは１度だけしか書き込みができないために、ＦＡＴの書き換えが出来ず、通常のメモリカードとは異なった特殊な書き込み処理が必要となる（例えば特許文献１）。
【０００４】
特許文献１では、ライトワンス型のメモリカードへ繰り返し書き込む場合に、書き込みを行う毎にＦＡＴのＦＡＴエントリを余分に１クラスタ確保した上で最後に確保したクラスタの部分のＦＡＴエントリを書き込まないようにし、次の書き込みで、ひとつ前の余分に確保したクラスタに書き込みを行うことで、ＦＡＴエントリの書き換えを防ぐことでファイルの作成を実現している。
【０００５】
しかしながら、 特許文献１に記載されているように、１クラスタ余分に確保して書き込みを行っていくため、最終的には確保した最後の１クラスタの記憶領域は無駄になるという欠点がある。また、実際のファイルサイズと確保しているＦＡＴエントリのサイズが異なることでファイルシステムが不整合と認識し、正しく再生できない恐れがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２０５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
デジタルカメラの低価格化に伴い、搭載される内蔵メモリのサイズを増やすことができない一方、撮像素子の画素数は増大し続けており、それによって撮影される画像データのファイルサイズも大きくなっている。そのため、ライトワンス型のメモリカードに対しても、内蔵メモリを超える巨大な画像データを正しく記録することが求められている。
【０００８】
本発明は係る問題点に鑑みなされたものであり、内部メモリを超えるサイズの符号化データが発生したとしても、撮像した画像の符号化データファイルを正しくライトワンス記録媒体に格納する技術を提供しようとするものである。
【課題を解決するための手段】
【０００９】
この課題を解決するため、例えば本発明の撮像装置は以下の構成を備える。すなわち、
撮像手段で撮像した画像データを圧縮符号化し、脱着可能な外部記録媒体にファイルとして格納する撮像装置であって、
与えられた画像データを圧縮符号化し、符号化データとして出力する符号化手段と、
前記撮像手段で撮像して得られた符号化前の画像データを一時的に記憶するための第１のメモリと、
前記外部記録媒体に格納するための符号化データを格納するための、バッファとして機能する第２のメモリと、
前記撮像手段で撮像して得られた画像データを前記第１のメモリに格納し、当該第１のメモリに格納された画像データを前記符号化手段で符号化させ、得られた符号化データを前記第２のメモリに格納したのち、前記外部記録媒体に画像ファイルとして格納する制御手段とを有し、
前記制御手段は、
前記外部記録媒体がライトワンス型の記録媒体であり、且つ、前記符号化手段で得られた符号化データが前記第２のメモリの容量を超える場合は、前記第２のメモリに格納されている符号化データを前記外部記録媒体に記録することなく前記符号化処理を継続して、符号化データの総符号量を算出して、
算出した総符号量に対応するサイズのファイルを格納するための領域を前記外部記録媒体に確保した後で、
前記第１のメモリに格納された画像データを前記符号化手段で再度の圧縮符号化を実行させ、前記第２のメモリへの格納処理と前記第２のメモリの中の符号化データの前記外部記録媒体に確保した領域への格納処理とを繰り返して、前記外部記録媒体に前記撮像手段で撮像した画像データに対応する画像ファイルを作成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、内部メモリを超えるサイズの符号化データが発生したとしても、撮像した画像の符号化データファイルを正しくライトワンス記録媒体に格納することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るデジタルカメラ全体の構成を示す図である。
【図２】実施形態の撮影モードを示すフローチャートである。
【図３】実施形態の圧縮・記録処理を示すフローチャートである。
【図４】実施形態のメモリ２５の各バッファの配置例を示す図である。
【図５Ａ】実施形態の圧縮・記録処理の動作例を示す図である。
【図５Ｂ】実施形態の圧縮・記録処理の動作例を示す図である。
【図５Ｃ】実施形態の圧縮・記録処理の動作例を示す図である。
【図５Ｄ】実施形態の圧縮・記録処理の動作例を示す図である。
【図５Ｅ】実施形態の圧縮・記録処理の動作例を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１３】
図１は、第１の実施形態が適用する撮像装置としてのデジタルカメラ１００の構成を示す図である。図示において、１０は、デジタルカメラ１００の撮影レンズ１１を含む撮像部を覆う事により、撮像部の汚れや破損を防止するための保護手段として機能するバリアである。１１は撮影レンズ、１２は絞り機能を備えるシャッター、１３は光学像を電気信号に変換する撮像素子、１５は撮像素子１３のアナログ信号出力をディジタル信号に変換するＡ／Ｄ変換器である。１４は撮像素子１３、 Ａ／Ｄ変換器１５、 Ｄ／Ａ変換器２１にクロック信号や制御信号を供給するタイミング発生器であり、メモリ制御部２２及びシステム制御部５０により制御される。
【００１４】
２０は画像処理部であり、 Ａ／Ｄ変換器１５からのデータ或いはメモリ制御部２２からのデータに対して所定の画素補間処理や色変換処理を行う。システム制御部５０は、画像処理部２０から得られた画像データを用いて所定の演算処理を行い、露光制御部４０、測距制御部４１に対して制御を行い、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＥＦ（フラッシュプリ発光）処理を行う。また、画像処理部２０において、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてＡＷＢ（オートホワイトバランス）処理も行っている。さらに、画像処理部２０においては、メモリ２５に格納された画像を読み込んでＪＰＥＧ方式やMPEG-4 AVC/H.264方式での圧縮符号化処理或いは伸長処理を行い、処理を終えたデータをメモリ２５に書き込む。なお、符号化の種類はこれに限らず、例えばＪＰＥＢＧ２０００、ＪＰＥＧ  ＸＲ等でも構わず、符号化の種類は問わない。
【００１５】
２２はメモリ制御部であり、Ａ／Ｄ変換器１５、タイミング発生器１４、画像処理部２０、画像表示メモリ２４、Ｄ／Ａ変換器２１、メモリ２５を制御する。Ａ／Ｄ変換器１５からのデータが画像処理部２０、メモリ制御部２２を介して、或いはＡ／Ｄ変換器１５からのデータが直接メモリ制御部２２を介して、画像表示メモリ２４或いはメモリ２５に書き込まれる。
【００１６】
２４は画像表示メモリ、２１はＤ／Ａ変換器、２３はTFT LCD等から成る表示部であり、画像表示メモリ２４に書き込まれた表示用の画像データはＤ／Ａ変換器２１を介して表示部２３に表示される。表示部２３を用いて撮像した画像データを逐次表示すれば、ライブ映像を表示する電子ファインダ機能を実現することが可能である。
【００１７】
２５は撮影した静止画像や動画像を格納するためのメモリであり、システム制御部５０の作業領域としても使用することが可能である。
【００１８】
４０は絞り機能を備えるシャッター１２を制御する露光制御部である。４１は撮影レンズ１１のフォーカシングを制御する測距制御部、４２は撮影レンズ１１のズーミングを制御するズーム制御部、４３はバリア１０の動作を制御するバリア制御部である。５０は本デジタルカメラ全体を制御するシステム制御部である。５１は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。この不揮発性メモリ５１には、プログラムだけでなく、表示用のフォントデータや、カメラの各種の設定情報、地図情報等も記録されている。
【００１９】
６０、６１及び６２は、システム制御部５０の各種の動作指示を入力するための操作手段であり、スイッチ、十字キー、ダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。６０はシャッタースイッチSW1で、不図示のシャッターボタンの操作途中でONとなり、AF（オートフォーカス）処理、AE（自動露出）処理、AWB（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の動作開始を指示する。６１はシャッタースイッチSW2で、不図示のシャッターボタンの操作完了でONとなり、撮像素子１３から読み出した信号をＡ／Ｄ変換器１５、メモリ制御部２２を介してメモリ２５に画像データを書き込む露光処理、画像処理部２０やメモリ制御部２２での演算を用いた現像処理、メモリ２５から画像データを読み出し、画像処理部２０により圧縮符号化を行い、メモリ２５に格納した後にカードコントローラ９０を介して、外部記録媒体９１に画像データを書き込む記録処理という一連の処理の動作開始を指示する。シャッタースイッチ６１、６２は、１つのシャッターボタンに設けられ、シャッタースイッチ６１はシャッターボタンの半押し状態でＯＮになるスイッチ、シャッタースイッチ６２はシャッターボタンの全押し状態でＯＮになるスイッチである。６２は各種ボタンやタッチパネル等からなる操作部で、電源ボタン、メニューボタン、撮影モード／再生モード／その他特殊撮影モードの切替えを行うモード切替スイッチ、十字キー、セットボタン、マクロボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、単写/連写/セルフタイマー切り替えボタン、メニュー移動＋（プラス）ボタン、メニュー移動−（マイナス）ボタン、再生画像移動＋（プラス）ボタン、再生画像−（マイナス）ボタン、撮影画質選択ボタン、露出補正ボタン、日付/時間設定ボタン等ある。
【００２０】
８１は電源制御部である。８０はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる電源である。９０はメモリカード等の外部記録媒体とデータの送受信を行うカードコントローラである。９１は脱着可能な外部記録媒体としてのメモリカードである。
【００２１】
続いて、デジタルカメラ１００の撮影時のシステム制御部５０の処理内容を図２を用いて説明する。
【００２２】
ステップＳ２０１において、操作部材６２に含まれる撮影モード/再生モード切替スイッチで撮影モードが選択された状態で操作部材６２に含まれる電源ボタンを押下することでデジタルカメラ１００は撮影モードで起動される。ステップＳ２０２において、撮影モードにおける起動処理を行なう。デジタルカメラ１００のファームウェアが起動され、撮影に必要な各種制御モジュールへの電源投入、各種モジュールのドライバファームの起動を順次行い、撮影待機状態へと移行する。
【００２３】
ステップＳ２０３において、メモリカード９１との接続状況を確認した上でメモリカード９１へのアクセスを可能にするため初期化プロトコルを実行する。この初期化プロトコルを実行することでデジタルカメラ１００は、メモリカード９１のＩＤ情報、スペック、管理情報、ファイルシステム情報などの情報を取得することができる。
【００２４】
ステップＳ２０４では、ステップＳ２０３で得られたメモリカード９１の情報を用いて、接続されているメモリカード９１がライトワンス型のメモリカードであるかチェックを行う。ライトワンス型のメモリカードであった場合、ステップＳ２０５へ進み、接続されているメモリカードがライトワンス型のメモリカードであること示す情報をメモリ２５にフラグとして記憶しておく。
【００２５】
ステップＳ２０６へ進み、シャッタースイッチＳＷ１ ６０が押下されたかどうかを確認し、押されていたならば、ステップＳ２０７へ進み、ＡＥ・ＡＦ処理を行なう。ステップＳ２０８において、シャッタースイッチＳＷ２ ６１が押下されたかどうかを確認し、押されていたならば、ステップＳ２０９へ進み、撮影処理を行なう。撮影処理では撮像素子１３からの入力信号を画像処理部２０を介してＹＵＶ形式に変換され、メモリ２５に含まれるＹＵＶデータ用バッファに一時的に格納される。ステップＳ２１０において、撮影されたＹＵＶデータをＪＰＥＧ形式に変換し、メモリカード９１に記録を行う圧縮符号化・記録処理を行う。圧縮符号化・記録処理については、図３を用いて説明を行う。ステップＳ２１１では、操作部材６２に含まれる電源ボタンが押されたか確認し、押されていれば、デジタルカメラ１００の動作を停止する。押されていなければ、ステップＳ２０６に戻る。
【００２６】
図３は、デジタルカメラ１００のシステム制御部５０の圧縮符号化・記録処理を示すフローチャートである。
【００２７】
ステップＳ３０１では、メモリ２５に含まれるＹＵＶデータ用バッファに格納されているＹＵＶデータを読み出して、画像処理部２０を介してＪＰＥＧ形式に圧縮符号化する。画像処理部２０で生成されたＪＰＥＧデータ（符号化データ）は、メモリ２５に含まれるＪＰＥＧ用バッファに出力される。図４にメモリ２５に予め確保された各バッファの配置例を示す。図示の如く、ヘッダ用バッファ、サムネイル用バッファ、ＪＰＥＧ用バッファの順番で連続して配置しておく。この構造は実際に作成されるファイル内の構造に対応するものでもある。また、セクタ内での書き換えが発生しないようにＪＰＥＧ用バッファのサイズと、ヘッダ用バッファ、サムネイル用バッファ、ＪＰＥＧ用バッファの合計サイズが、メモリカードのクラスタサイズ、または、セクタサイズの倍数になるように設定しておく。
【００２８】
ステップＳ３０２において、ＪＰＥＧ用バッファに出力されたＪＰＥＧデータが図４に示すメモリ２５に含まれるＪＰＥＧ用バッファのサイズ(Ｓj)内に収まったか、または、バッファ一杯になるまで出力されても、まだＪＰＥＧデータの出力が完了せず、ＳjよりもＪＰＥＧデータのサイズが大きいかチェックする。ＪＰＥＧデータがＳjより小さい場合（符号化データのＪＰＥＧバッファへの格納処理が完了した場合）は、ステップＳ３０３に進む。
【００２９】
ステップＳ３０３において、ＪＰＥＧデータ完了後、ＹＵＶデータを用いてサムネイルデータ作成のためにＪＰＥＧ圧縮を行う。画像処理部２０を介してＪＰＥＧ圧縮されたサムネイルデータは図４に示すメモリ２５に含まれるサムネイル用バッファに格納される。サムネイル用バッファサイズ(Ｓｔ)は作成されるサムネイルサイズより必ず大きくなるようにあらかじめ固定サイズ準備しておくこととする。なお、最終的に作成される画像ファイルのサイズに支配的なものは、主画像としてのＪＰＥＧ符号化データである。換言すれば、サムネイル画像はその垂直、水平の画素数が固定であるので、符号量も極端に大きくなることは有り得ないので、サムネイル用バッファのサイズは固定としても、全体に与える影響は相対的に無視できる。
【００３０】
ステップＳ３０４において、撮影モード、撮影パラメータ、撮影条件などを含むＥｘｉｆ（Exchangeable Image File Format）情報からなるヘッダの作成を行う。ヘッダには、ＪＰＥＧデータのサイズやサムネイルサイズの情報なども含まれるため、作成にあたってはＪＰＥＧサイズとサムネイルサイズが確定している必要がある。ヘッダは、図４に示すヘッダ用バッファに作成され、ヘッダ用バッファサイズ(Ｓｈ)は、作成されるヘッダサイズと同一サイズとする。
【００３１】
ステップＳ３０５において、現在使用しているメモリカード９１がライトワンス型のメモリカードか確認する。ライトワンス型のメモリカードであれば、ステップＳ３０６において、ライトワンス型のメモリカードに対して、ヘッダ、サムネイルデータ、ＪＰＥＧデータを合計した１枚分の画像ファイルのサイズの予約を行う。メモリカードはＦＡＴファイルシステムで管理されていることを想定しており、この場合、メモリカードのＦＡＴ管理テーブルに、１枚分の画像データを記録するための複数のクラスタ領域を確保し、確保したＦＡＴエントリに読み出し順序を書き込む。この時点で最後のＦＡＴエントリには終端記号を書き込み、ＦＡＴの管理テーブルを完結させておく。
【００３２】
ステップＳ３０７において、ヘッダとサムネイルデータとＪＰＥＧデータをメモリカードに記録する。このとき、効率的に記録するため、メモリ２５には図４のようにバッファが配置されているが、バッファ上ですでに画像ファイルと同じ構成になっているため、ヘッダからＪＰＥＧデータまでを一回の書き込みで記録することができる。
【００３３】
画像ファイルの書き込みが完了すると、ステップＳ３０８において、画像ファイルに関連したディレクトリエントリなどのファイル管理情報を記録する。ディレクトリエントリは、ファイル名、ファイルサイズ、開始クラスタ番号、作成日時などから構成される。ライトワンス型のメモリカードの場合は、ＦＡＴはすでにＳ３０６で記録しているため、ディレクトリエントリのみが従来のディレクトリエントリ追加される。その他のメモリカードは、ＦＡＴ、ディレクトリエントリの両方の書き込みを行い、記録を完了する。
【００３４】
一方、ステップＳ３０２にて、圧縮されたＪＰＥＧデータがメモリ２５のＪＰＥＧ用バッファに収まらず、バッファサイズ（又はバッファ容量）Ｓjより大きかった場合にはステップＳ３０９に処理を進める。
【００３５】
ステップＳ３０９において、画像処理部２０からメモリ２５のＪＰＥＧ用バッファに出力できなかった残りのＪＰＥＧデータを出力するため、メモリ２５のヘッダ用バッファからＪＰＥＧ用バッファ(Ｓｊ＋Ｓｈ＋Ｓｔ)を利用して出力する。すなわち、符号化処理を継続させる。そして、それ以前に出力されていたデータがあっても上書きして、画像処理部２０からすべてのＪＰＥＧデータが出力されるまで繰り返し行う。なお、繰り返し出力するために使用する領域はＪＰＥＧ用バッファだけでも構わない。
【００３６】
ステップＳ３１０において、画像処理部２０からＪＰＥＧデータが出力している間、出力したＪＰＥＧデータのサイズを累積加算しておくことで、すべてのＪＰＥＧデータを出力した時点でＪＰＥＧデータの総符号量サイズ(Ｓtotal)を取得することができる。
【００３７】
ステップＳ３１１において、ＹＵＶデータを用いてサムネイルデータ作成のためにＪＰＥＧ圧縮を行う。画像処理部２０を介してＪＰＥＧ圧縮されたサムネイルデータは図４に示すメモリ２５に含まれるサムネイル用バッファに格納される。
【００３８】
ステップＳ３１２において、Ｅｘｉｆ情報からなるヘッダ情報の作成を行う。ＪＰＥＧデータの実体はバッファ上に存在しないがステップＳ３１０でＪＰＥＧデータの総サイズは取得済みなので、ヘッダ情報の作成が可能となる。作成されたヘッダ情報はヘッダ用バッファに格納される。
【００３９】
ステップＳ３１３において、再度ＪＰＥＧデータ作成のため、ＹＵＶデータ用バッファに格納されたＹＵＶデータを使用して画像処理部２０にてＪＰＥＧ圧縮を再度行う。
【００４０】
ステップＳ３１４において、圧縮されたＪＰＥＧデータは、画像処理部２０からＪＰＥＧ用バッファに出力されるが、Ｓj分のみ出力させる。
【００４１】
ステップＳ３１５において、現在使用しているメモリカード９１がライトワンス型のメモリカードか確認する。ライトワンス型のメモリカードであれば、ステップＳ３１６において、ライトワンス型のメモリカードに対して、ヘッダ、サムネイルデータ、ＪＰＥＧデータの総サイズ(Ｓｔｏｔａｌ)からなる１枚分の画像ファイルの予約を行う。
【００４２】
ステップＳ３１７において、ヘッダとサムネイルデータと、それらに後続してＳj分のＪＰＥＧデータをメモリカードに記録する。
【００４３】
ステップＳ３１８において、記録すべき残りのＪＰＥＧデータのサイズ(Ｓｒ)を算出する。ＳｒはＪＰＥＧデータの総サイズからすでにメモリカードに記録したデータを除いたＳtotal-Ｓjで求められる。
【００４４】
ステップＳ３１９において、ＪＰＥＧデータの残りサイズ(Ｓｒ)とヘッダ用バッファからＪＰＥＧ用バッファを用いたサイズ(Ｓｊ＋Ｓｈ＋Ｓｔ)を比較し、Ｓｒの方が大きかった場合は、ステップＳ３２０に進む。
【００４５】
ステップＳ３２０において、ＪＰＥＧデータの残りサイズが、ヘッダ用バッファからＪＰＥＧ用バッファを用いたサイズより大きいため、残りすべてのＪＰＥＧデータを出力することはできないので、ヘッダ用バッファの先頭から(Ｓｊ＋Ｓｈ＋Ｓｔ)分だけ画像処理部２０からＪＰＥＧデータを出力させる。
【００４６】
ステップＳ３２１において、ヘッダ用バッファからＪＰＥＧ用バッファに出力された(Ｓｊ＋Ｓｈ＋Ｓｔ)分のＪＰＥＧデータの記録を行う。ここで、ライトワンス型のメモリカードの場合、画像ファイルの拡張に応じて、従来ならばＦＡＴエントリのつなぎ替えが起こり、書き換えができないライトワンス型のメモリカードでは書き換えエラーとなってしまうが、本実施形態では、すでに画像ファイル分のＦＡＴエントリの書き込みはすでに完了しており、ＦＡＴの書き換えは行われず、エラーは起きない。
【００４７】
ステップＳ３２２において、記録すべき残りのＪＰＥＧデータのサイズ(Ｓｒ)の更新を行う。ＳｒはステップＳ３２１でメモリカードに記録したデータを除いたＳr-(Ｓｊ＋Ｓｈ＋Ｓｔ)で求められる。ステップＳ３１９に戻る。
【００４８】
このように記録すべき残りのＪＰＥＧデータのサイズ(Ｓｒ)がヘッダ用バッファからＪＰＥＧ用バッファに出力された(Ｓｊ＋Ｓｈ＋Ｓｔ)分より大きい間は、(Ｓｊ＋Ｓｈ＋Ｓｔ)だけ画像処理部２０から出力を行い、(Ｓｊ＋Ｓｈ＋Ｓｔ)だけメモリカードに記録を行うことを繰り返す。
【００４９】
ステップＳ３１９において、ＪＰＥＧデータの残りサイズ(Ｓｒ)がヘッダ用バッファからＪＰＥＧ用バッファを用いたサイズ(Ｓｊ＋Ｓｈ＋Ｓｔ)より小さかった場合は、ステップＳ３２３に進む。
【００５０】
ステップＳ３２３において、残りのＳｒ分のＪＰＥＧデータをバッファに出力させる。
【００５１】
ステップＳ３２４において、Ｓｒ分のＪＰＥＧデータをメモリカードに記録する。ステップＳ３２５において、画像ファイルに関連したディレクトリエントリなどのファイル管理情報を記録する。ライトワンス型のメモリカードの場合は、ＦＡＴはすでにＳ３１６で記録しているため、ディレクトリエントリのみが記録される。その他のメモリカードは、ＦＡＴ、ディレクトリエントリの書き込みを行い、記録を完了する。以上が本実施形態における画像符号化、並びにメモリカード（記憶媒体）への符号化データファイルの記録処理の説明である。
【００５２】
図５Ａ乃至５Ｅを用いて、本実施形態のライトワンス型のメモリカードにＪＰＥＧ用バッファに収まりきらないＪＰＥＧデータを記録する際の動作の概要を説明する。
【００５３】
図５Ａでは、メモリカード９１のデータ配置とメモリ２５内のバッファの配置において、ＪＰＥＧ用バッファのサイズ(Ｓｊ)が３クラスタ相当、ヘッダ用バッファとサムネイル用バッファのサイズ(Ｓｈ＋Ｓｔ)が併せて１クラスタ相当の例を示す。
【００５４】
ＪＰＥＧデータのサイズ(Ｓtotal)がＳｊより大きかった場合(ステップＳ３０２でＮｏ判定)、バッファを使用してＳtotal(ステップＳ３０９、３１０)を取得する。ここで、例えばＳtotalは８クラスタ相当とする。
【００５５】
サムネイルデータとヘッダ作成、ＪＰＥＧデータの再圧縮(ステップＳ３１１、Ｓ３１２、Ｓ３１３)後、図５Ｂのようにライトワンス型メモリカードのＦＡＴに対して、画像ファイル分のサイズを予約する(ステップＳ３１６)。この例では、画像ファイルのサイズはＳtotal+Ｓｈ+Ｓｔとなり９クラスタ分が確保される。メモリカードのＦＡＴではクラスタ６からが空き領域となっているため、クラスタ６からクラスタ１４までの９クラスタ分が確保される。クラスタ６のＦＡＴエントリから９クラスタ分の読み込み順序が記録され、最終クラスタのクラスタ１４のエントリには終端記号を記録する。
【００５６】
図５Ｃは、バッファに作成されたヘッダとサムネイルデータとＪＰＥＧデータの書き込みを行っている(ステップＳ３１７)。この例では、Ｓｈ＋Ｓｔ＋Ｓｊの４クラスタ分のデータの書き込みが行われる。
【００５７】
図５Ｄは、さらにヘッダ用バッファからＪＰＥＧ用バッファを用いて残りのＪＰＥＧデータをＳj+Ｓｈ+Ｓｔ分の書き込みを行う(ステップＳ３２１)。ここでは、メモリカードに対してデータ部分の記録が行われるが、ＦＡＴはすでに確定済みなので書き換えは発生しない。そのため、ライトワンス型メモリカードで不具合が起きることはない。
【００５８】
図５Ｅでは、最後残った分のＪＰＥＧデータの記録(ステップＳ３２４)とディレクトリエントリにファイルの追加を行う(ステップＳ３２５)。
【００５９】
以上によりライトワンス型のメモリカードにおいてもＪＰＥＧ用バッファより大きい巨大な画像ファイルであっても、データの書き換えを行わず、また、無駄な領域を作ることなく、正常に記録することができる。
【００６０】
なお、上記実施形態では、符号化前の画像データを格納するバッファ領域（ＹＵＶデータ用バッファ）と、ＪＰＥＧファイル構造を模したバッファ領域（ヘッダ用バッファ、サムネイル用バッファ、ＪＰＥＧ用バッファ）とを、同じメモリ２５に確保するものとして説明したが、第１のメモリ、第２のメモリ、…と別個であっても構わない。
【図１】
2013150280.tif 000003
【図２】
2013150280.tif 000004
【図３】
2013150280.tif 000005
【図４】
2013150280.tif 000006
【図５Ａ】
2013150280.tif 000007
【図５Ｂ】
2013150280.tif 000008
【図５Ｃ】
2013150280.tif 000009
【図５Ｄ】
2013150280.tif 000010
【図５Ｅ】
2013150280.tif 000011