(57)【要約】【課題】本発明は、画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置に関し、例えばデジタルスチルカメラに適用して、画像処理単位で切り出して画像データを符号化処理した後、並べ替える場合等に、最終的なファイル長を事前に予測することができるようにする。【解決手段】本発明は、画像処理単位毎に画像データを符号化処理して符号化データを生成した後、１画面分の画像データを符号化処理した順序に、この符号化データを並べ替えする際に、事前に、並べ替え前の符号化データから並べ替え後の符号化データの符号量を予測する。【選択図】        図１
2008011133.tif 000002
【特許請求の範囲】
【請求項１】
画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像データ処理方法において、
前記所定フォーマットは、
前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、
前記画像データ処理方法は、
前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理のステップと、
１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替えのステップと、
前記並べ替えのステップで並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定のステップとを有する
ことを特徴とする画像処理方法。
【請求項２】
前記データ量推定のステップは、
前記並べ替え前の符号化データにおける前記特定コードの数をカウントする並べ替え前の特定コード数カウントのステップと、
前記並べ替え後の符号化データにおける前記特定コードの数をカウントする並べ替え後の特定コード数カウントのステップと、
前記並べ替え前の特定コード数カウントのステップで求めた前記特定コードの数と、前記並べ替え後の特定コード数カウントのステップで求めた前記特定コードの数との差分値から、前記並べ替え後の符号化データのデータ量を計算するデータ量計算のステップとを有する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記並べ替えのステップは、
前記並べ替え前の符号化データを、並べ替え処理単位で並べ替えて前記並べ替え後の符号化データを生成し、
前記並べ替え後の特定コード数カウントのステップは、
並べ替え処理後に設定される可能性のある全ての前記ｎビット境界について、前記並べ替え処理単位毎に、前記並べ替え前の符号化データから前記特定コードの数を求める全境界条件における特定コード検出のステップと、
前記並べ替え後の符号化データにおける連続する前記並べ替え処理単位のビット長に基づいて、前記全境界条件における特定コード検出のステップで検出した前記特定コードの数から、実際に設定される前記ｎビット境界における前記特定コードの数を求めて累積加算する累積加算のステップとを有し、
前記累積加算のステップで求めた累積加算値に基づいて、前記並べ替え後の符号化データにおける前記特定コードの数を検出する
ことを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記全境界条件における特定コード検出のステップは、
前又は後に配置される前記並べ替え処理単位によって発生する可能性のある前記ｎビット境界の前記特定コードの数も含むように、前記並べ替え後の符号化データにおける前記特定コードの数を検出する
ことを特徴とする請求項３に記載の画像処理方法。
【請求項５】
前記並べ替え後の符号化データを記録媒体に記録する記録のステップを有する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項６】
前記記録のステップは、
前記データ量推定のステップで推定した前記並べ替え後の符号化データのデータ量に基づいて、前記並べ替え後の符号化データを前記記録媒体に記録可能か否か判定する判定のステップを有し、
前記並べ替えのステップは、
前記判定のステップで記録可能との判定結果が得られた場合に限って、前記並べ替え前の符号化データから前記並べ替え後の符号化データを生成する
ことを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記記録媒体に記録された符号化データから前記画像データを復号する復号のステップと、
前記復号のステップで復号した画像データを画像処理する画像処理のステップとを有し、
前記符号化処理のステップで処理する前記画像データが、前記画像処理のステップで画像処理した画像データである
ことを特徴とする請求項１に記載の画像処理方法。
【請求項８】
前記全境界条件における特定コード検出のステップは、
並べ替え処理後に設定される可能性のある全ての前記ｎビット境界について、各並べ替え処理単位の末尾側、又は先頭側の端数のデータを記録して保持し、
前記累積加算のステップは、
前記記録して保持した端数のデータを、並べ替え後における直前又は直後の並べ替え処理単位の末尾又は先頭に配置したとして、該末尾又は先頭部分の１バイトにおける前記特定コードの発生を検出し、
該検出した特定コードの数を前記累積加算値に含ませる
ことを特徴とする請求項３に記載の画像処理方法。
【請求項９】
前記並べ替えのステップは、
前記並べ替え前の符号化データを、並べ替え処理単位で並べ替えて前記並べ替え後の符号化データを生成し、
前記並べ替え後の特定コード数カウントのステップは、
並べ替え処理後に設定される可能性のある全ての前記ｎビット境界について、前記並べ替え処理単位毎に、前記並べ替え前の符号化データから前記特定コードの数を求める全境界条件における特定コード検出のステップと、
前記並べ替え処理単位毎に、前記全境界条件における特定コード検出のステップで検出した各ｎビット境界の前記特定コードの数から、最大値を検出する最大値検出のステップと、
前記最大値を累積加算する累積加算のステップとを有し、
前記累積加算のステップで求めた累積加算値に基づいて、前記並べ替え後の符号化データにおける前記特定コードの数を検出する
ことを特徴とする請求項２に記載の画像処理方法。
【請求項１０】
前記並べ替えのステップは、
前記並べ替え前の符号化データを、並べ替え処理単位で並べ替えて前記並べ替え後の符号化データを生成し、
前記並べ替え後の特定コード数カウントのステップは、
前記並べ替え処理単位毎に、前記特定コードを示すビット配列の数をカウントするビット配列からの特定コード検出のステップと、
前記ビット配列からの特定コード検出のステップで検出した前記ビット配列の数を累積加算する累積加算のステップとを有し、
前記累積加算のステップで求めた累積加算値に基づいて、前記並べ替え後の符号化データにおける前記特定コードの数を検出する
ことを特徴とする請求項２に記載の画像処理方法。
【請求項１１】
画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像データ処理方法のプログラムにおいて、
前記所定フォーマットは、
前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、
前記画像データ処理方法のプログラムは、
前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理のステップと、
１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替えのステップと、
前記並べ替えのステップで並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定のステップとを有する
ことを特徴とする画像処理方法のプログラム。
【請求項１２】
画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像データ処理方法のプログラムを記録した記録媒体において、
前記所定フォーマットは、
前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、
前記画像データ処理方法のプログラムは、
前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理のステップと、
１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替えのステップと、
前記並べ替えのステップで並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定のステップとを有する
ことを特徴とする画像処理方法のプログラムを記録した記録媒体。
【請求項１３】
画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像処理装置において、
前記所定フォーマットは、
前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、
前記画像処理装置は、
前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理部と、
１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替え部と、
前記並べ替え部で並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定部とを有する
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置に関し、例えばディジタルスチルカメラに適用することができる。本発明は、画像処理単位毎に画像データを符号化処理して符号化データを生成した後、１画面分の画像データを符号化処理した順序に、この符号化データを並べ替えする際に、事前に、並べ替え前の符号化データから並べ替え後の符号化データの符号量を予測することにより、最終的なファイル長を事前に予測することができるようにする。
【背景技術】
【０００２】
従来、ディジタルスチルカメラは、例えばＪＰＥＧ（Joint Photographic Coding Experts Group ）の手法で撮像結果を符号化処理して記録媒体に記録している。このようなディジタルスチルカメラは、ユーザーの指示により、記録媒体に記録した撮像結果を復号して画像処理した後、この画像処理結果を改めて符号化処理して記録媒体に記録する。
【０００３】
ここでこの画像処理は、画像の回転処理、リサイズと称される解像度の変換による画像の拡大縮小処理、トリミング処理等であり、処理に適したブロックサイズ、順序で、記録媒体に記録された撮像結果を順次切り出して実行される。これに対してＪＰＥＧ等の符号化処理は、マクロブロックである符号化処理単位を順次ラスタ走査順に符号化処理することがフォーマットで規定されている。
【０００４】
そこで従来、ディジタルスチルカメラでは、記録媒体に記録した撮像結果を画像処理する場合、切り出して処理した画像処理結果をバッファメモリに蓄積して１画面分まとめた後、符号化処理して記録媒体に記録している。
【０００５】
すなわち図１４は、リサイズの処理を例に取って、従来のディジタルスチルカメラにおける撮像結果の画像処理を示す略線図である。従来のディジタルスチルカメラでは、例えば記録媒体に記録した原画像を水平方向に３つの領域１〜３に分割し、これらの領域１〜３がそれぞれ画像処理単位に設定される。従来のディジタルスチルカメラでは、この画像処理単位で画像処理を繰り返し、これらの領域１〜３の画像データを順次、画像処理してバッファメモリに格納する。また画像処理した画像データを１画面分、バッファメモリに蓄積すると、このバッファメモリに蓄積した画像データを符号化処理して記録媒体に記録する。
【０００６】
このような符号化処理に関して、特開平１１−２９８８７８号公報には、ＭＰＥＧストリームを並べ替えてスクランブルを施す構成が開示されている。
【０００７】
ところで従来のディジタルスチルカメラのように画像処理した撮像結果をバッファメモリに１画面分、格納して符号化処理する場合、このバッファメモリに、画像処理結果を１画面分保持するのに充分な大容量のメモリが必要になる問題がある。
【０００８】
この問題を解決する１つの方法として、画像処理単位で画像データを符号化処理した後、正しい順序に並べ替える方法が考えられる。すなわち図１４との対比により図１５に示すように、１つの画像処理単位の画像データがバッファメモリに格納されると、この画像データを符号化処理する。また符号化処理結果である符号化データを蓄積して保持し、１画面分の処理を完了すると、１画面分の画像データをまとめて符号化処理した順序に、保持した符号化データを並べ替えて記録媒体に記録する。なおこの図１５では、符号Ａ及び符号Ｂで並べ替えの前後における符号化データの順序を示す。この方法の場合、バッファメモリの容量を小容量化することができる。
【０００９】
しかしながらこの方法の場合、この符号化データを並べ替える前と後とでバイト境界を示す識別コードを操作することが必要であり、この識別コードの操作によって、並べ替える前と後とで符号化データのデータ量が変化する。従って並べ替えして符号化データを記録媒体に記録する直前にならなければ、最終的なファイル長が判明せず、いざ記録媒体に記録しようとした場合に、初めて記録媒体の空き容量の不足が判明したりする恐れがある。
【００１０】
すなわちＪＰＥＧの符号化処理では、１バイトのＦＦｈと続く１バイトとでマーカーコードが表される。ここでｈは、データの表記が１６進の表記であることを示す符号である。ＪＰＥＧの符号化処理では、このマーカーコードとの識別のために、可変長符号化処理したデータ列中にＦＦｈが現れると、続いて００ｈを介挿し、このＦＦｈがデータ列中のバイト境界であることが示される。なおここでこのバイト境界を示す００ｈの識別コードは、バイトスタッフィングと称される。
【００１１】
ＪＰＥＧは、可変長符号化処理であることから、図１５に示すように符号化データを並べ替えると、バイト境界の位置も変化することになり、このため符号化データを並べ替える前と後とでバイト境界を示す識別コードを操作することが必要になる。
【００１２】
すなわち図１６は、このバイト境界の操作を示すフローチャートである。ディジタルスチルカメラは、この処理手順を開始すると、ステップＳＰ１からステップＳＰ２に移り、図１５について説明したように、画像処理単位毎に画像データを符号化処理し、並べ替え前の符号を生成する（ステップＳＰ３）。続いてディジタルスチルカメラは、ステップＳＰ４において、この並べ替え前の符号からビット境界を示す識別コードを削除する。すなわちこの場合、図１７（Ａ）に示すように、連続するデータ列Ｄ１において、バイト境界のＦＦｈに続くバイト境界の識別コード００ｈを検出し、図１７（Ｂ）に示すように、このバイト境界の識別コード００ｈを削除する。従って符号化データは、この識別コード００ｈを削除した分だけデータ量が減少することになる。
【００１３】
続いてディジタルスチルカメラは、ステップＳＰ５において、１画面分の画像データをまとめて符号化処理した順序に、１画面分の符号化データを並べ替え、続くステップＳＰ６でビット境界の識別コードを設定する。ここで図１８（Ａ）に示すように、ステップＳＰ５の並べ替えで、７ビットの符号Ｆ１に続いて、先頭１ビットが値０で、続く９ビットが値１である符号Ｆ２を配置するものとする。この図１８（Ａ）の例において、符号Ｆ２を先頭から１バイト単位で区切って見た場合、この符号Ｆ２には、バイト境界のＦＦｈが存在しないことになる。しかしながら図１８（Ｂ）に示すように、７ビットの符号Ｆ１に続いて符号Ｆ２を配置した場合、符号Ｆ２でバイト境界が移動し、バイト境界のＦＦｈが現れることになる。ディジタルスチルカメラでは、このようにバイト境界がＦＦｈの場合に、図１８（Ｃ）に示すように、続いて００ｈの識別コードを介挿する。従って符号化データは、この識別コードを介挿した分だけデータ量が増大することになる。
【００１４】
続いてディジタルスチルカメラは、ステップＳＰ７において、この符号列に各種制御コードを設定してＪＰＥＧフォーマットの符号化データを生成する。ここでこのステップＳＰ１〜ステップＳＰ７の処理において、撮像結果は、ステップＳＰ４の処理でデータ量が低減し、ステップＳＰ６の処理でデータ量が増大することから、結局、このステップＳＰ６の処理を終了した後に、初めて、最終的な画像処理後のファイル長が確定することになる。従ってディジタルスチルカメラは、続くステップＳＰ８において、記録媒体の空き容量を確認して記録媒体に記録可能か否か判断し、記録可能な場合には、記録媒体に記録した後、ステップＳＰ９に移ってこの処理手順を終了する。
【００１５】
これに対して記録媒体に記録困難な場合には、改めてデータ圧縮率を切り換えてステップＳＰ２の処理を開始することになる。従って、この場合、ディジタルスチルカメラでは、それまでのステップＳＰ２〜ステップＳＰ７の処理を無駄に実行したことになり、その結果、画像処理に時間を要するようになり、また消費電力も増大することになる。
【００１６】
従って画像処理単位で切り出して画像データを符号化処理した後、並べ替える場合に、最終的なファイル長を事前に予測することができれば、無駄な処理を省略して処理を簡略化することができると考えられる。
【特許文献１】特開平１１−２９８８７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は以上の点を考慮してなされたもので、画像処理単位で切り出して画像データを符号化処理した後、並べ替える場合等において、最終的なファイル長を事前に予測することができる画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置を提案しようとするものである。
【課題を解決するための手段】
【００１８】
上記の課題を解決するため請求項１の発明は、画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像データ処理方法に適用して、前記所定フォーマットは、前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、前記画像データ処理方法は、前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理のステップと、１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替えのステップと、前記並べ替えのステップで並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定のステップとを有する。
【００１９】
また請求項１１の発明は、画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像データ処理方法のプログラムに適用して、前記所定フォーマットは、前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、前記画像データ処理方法のプログラムは、前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理のステップと、１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替えのステップと、前記並べ替えのステップで並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定のステップとを有する。
【００２０】
また請求項１２の発明は、画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像データ処理方法のプログラムを記録した記録媒体に適用して、前記所定フォーマットは、前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、前記画像データ処理方法のプログラムは、前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理のステップと、１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替えのステップと、前記並べ替えのステップで並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定のステップとを有する。
【００２１】
また請求項１３の発明は、画像データを所定フォーマットで可変長符号化処理して符号化データを生成する画像処理装置に適用して、前記所定フォーマットは、前記符号化データにおけるｎ（ｎは２以上の整数）ビット境界に特定コードが現れる場合には、所定の識別コードを設定するフォーマットであり、前記画像処理装置は、前記画像データの１画面に設定した画像処理単位毎に、前記画像データを符号化処理して並べ替え前の符号化データを生成する符号化処理部と、１画面分の前記画像データを符号化処理した順序に、前記並べ替え前の符号化データを並べ替えすると共に、前記並べ替え後に対応するように前記識別コードを設定し、並べ替え後の符号化データを生成する並べ替え部と、前記並べ替え部で並べ替えする前に、前記並べ替え前の符号化データから、前記並べ替え後の符号化データのデータ量を推定するデータ量推定部とを有する。
【００２２】
請求項１、請求項１１、請求項１２又は請求項１３の構成によれば、画像データは、画像処理単位で切り出されて順次符号化処理された後、１画面分をまとめて符号化処理した順序に並べ替えられて符号化データが生成される。またこの並べ替えた後のファイル長は、実際に並べ替えする前に、データ量が推定され、この推定により事前に予測される。
【発明の効果】
【００２３】
本発明によれば、画像処理単位で切り出して画像データを符号化処理した後、並べ替える場合等において、最終的なファイル長を事前に予測することができる。
【発明を実施するための最良の形態】
【００２４】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【実施例１】
【００２５】
（１）実施例の構成
図２は、本発明の実施例に係るディジタルスチルカメラを示すブロック図である。このディジタルスチルカメラ１において、レンズ２は、中央処理ユニット３で指示されたズーム倍率、フォーカス、絞りで入射光を集光し、続く撮像素子４の撮像面に被写体の光学像を形成する。
【００２６】
撮像素子４は、例えばＣＣＤ（Charge Coupled Device ）等により構成され、撮像面に形成された光学像の撮像結果を出力する。アナログディジタル変換部（Ａ／Ｄ）５は、この撮像素子４から出力される撮像結果をアナログディジタル変換処理し、画像データを出力する。
【００２７】
カメラ信号処理部６は、アナログディジタル変換部５から出力される画像データをマトリックス演算処理、ホワイトバランス調整処理、ガンマ補正処理等し、輝度データ及び色差データの形式で画像データを出力する。ディスプレイ７は、このカメラ信号処理部６から出力される画像データを処理して撮像結果のモニタ画像を表示する。
【００２８】
画像処理部８は、カメラ信号処理部６から出力される画像データを符号化／復号化部９に出力する。また画像処理部８は、中央処理ユニット３の制御により動作を開始し、このカメラ信号処理部６から入力されて符号化／復号化部９に出力する画像データを画像処理して出力する。また同様の中央処理ユニット３の制御により、図示しないバッファメモリを介して符号化／復号化部９から画像データを入力し、この画像データを画像処理する。またバッファメモリを介して、この画像処理の画像データを符号化／復号化部９に出力する。なおここでこの画像処理は、解像度を変換して画像を拡大縮小するリサイズの処理、画像を回転させる画像回転処理、画像を部分的に切り出すトリミング等の処理である。
【００２９】
符号化／復号化部９は、中央処理ユニット３の制御により、バッファメモリを介して画像処理部８から画像データを入力し、可変長符号化方式による符号化方法の１つであるＪＰＥＧの手法によりこの画像データを符号化処理する。符号化／復号化部９は、符号化処理結果の符号化データを並べ替え部１０に出力する。またこれとは逆に並べ替え部１０から入力される符号化データを復号化し、復号結果の画像データをバッファメモリを介して画像処理部８に出力する。
【００３０】
並べ替え部１０は、メモリを有し、中央処理ユニット３の制御によるアドレス制御により、符号化／復号化部９から入力される符号化データを並べ替えてストレージ１１に出力し、またストレージ１１から出力される符号化データを符号化／復号化部９に出力する。
【００３１】
ストレージ１１は、例えばメモリカード、光ディスク、磁気ディスク等の記録媒体であり、並べ替え部１０から出力される符号化データを記録して保持し、また記録して保持した符号化データを出力する。
【００３２】
中央処理ユニット３は、このディジタルスチルカメラ１の動作を制御する制御手段であり、ランダムアクセスメモリ（ＲＡＭ）１４にワークエリアを確保してリードオンリメモリ（ＲＯＭ）に記録した処理プログラムを実行することにより、キー１３の操作に応動して各部の動作を制御する。なおこの実施例において、このディジタルスチルカメラ１は、事前のインストールによりこの処理プログラムが提供されるものの、このような事前のインストールによる提供に代えて、光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供するようにしてもよく、インターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。
【００３３】
このプログラムの実行により、中央処理ユニット３は、ユーザーの操作に応動して、カメラ信号処理部６等の動作を制御し、動画による撮像結果を撮像素子４により取得してディスプレイ７で表示する。またユーザーがトリガスイッチを操作すると、カメラ信号処理部６等を制御し、動画による撮像結果に代えて静止画による撮像結果を取得して図示しないメモリに記録すると共に、ディスプレイ７で表示する。またこの状態でユーザーが撮像結果の保存を指示すると、画像処理部８、符号化／復号化部９、ストレージ１１等の制御によりこのメモリに保持した静止画による撮像結果を符号化処理してストレージ１１に記録する。この撮像結果の記録時、ユーザーが画像処理を指示している場合、画像処理部８の処理に適した画像処理単位、順序で、メモリに保持した撮像結果を順次部分的に切り出して画像処理部８で画像処理すると共に、画像処理結果を順次符号化処理する。また並べ替え部１０の動作を制御し、符号化処理結果の符号化データを、１画面をまとめて符号化処理する際の順序に並べ替えてストレージ１１に記録する。
【００３４】
これに対してこのようにしてストレージ１１に記録された撮像結果の編集をユーザーが指示すると、中央処理ユニット３は、ストレージ１１に記録された撮像結果を符号化／復号化部９で復号化して画像処理部８で画像処理し、またその処理結果を符号化／復号化部９で符号化処理してストレージ１１に記録する。このとき中央処理ユニット３は、画像処理部８の処理に適した画像処理単位、処理順序で、ストレージ１１に記録された撮像結果の復号化処理、画像処理、符号化処理を繰り返す。また並べ替え部１０の動作を制御し、符号化処理結果の符号化データを、１画面をまとめて符号化処理する際の順序に並べ替えてストレージ１１に記録する。
【００３５】
図３は、図１６との対比により撮像結果を画像処理してストレージ１１に記録する際の中央処理ユニット３の処理手順を示すフローチャートである。中央処理ユニット３はこの処理手順を開始すると、ステップＳＰ１１からステップＳＰ１２に移り、画像処理単位毎に画像データを画像処理、符号化処理し、並べ替え前の符号を生成する（ステップＳＰ１３）。このとき中央処理ユニット３は、並べ替えの前後におけるデータ量の変化を見積もりする。
【００３６】
続いて中央処理ユニット３は、ステップＳＰ１４において、ステップＳＰ１２で求めた見積もり量を現在のデータ量に加算して並べ替え後のデータ量を予測し、この予測結果に基づいて、並べ替え後の符号化データを記録可能な空き容量がストレージ１１に存在するか否か判断する。ここで否定結果が得られると、中央処理ユニット３は、ステップＳＰ１２に戻り、データ圧縮率を切り換えて、改めて画像処理、符号化処理、見積もりの処理を実行する。
【００３７】
これに対してステップＳＰ１４で肯定結果が得らえると、中央処理ユニット３は、ステップＳＰ１４からステップＳＰ１５に移る。ここで中央処理ユニット３は、バイト境界のＦＦｈに続くバイト境界の識別コード００ｈを検出し、このバイト境界の識別コード００ｈを削除する。また続くステップＳＰ１６において、１画面分の画像データをまとめて符号化処理した順序に、１画面分の符号化データを並べ替え、続くステップＳＰ１８でビット境界の識別コードを設定する。
【００３８】
続いて中央処理ユニット３は、各種制御コードを設定してＪＰＥＧフォーマットの符号化データを生成しながら、この符号化データをストレージ１１に記録する。すなわち中央処理ユニット３は、図４に示すように、並べ替える前の符号化データの符号量に、ステップＳＰ１２で検出した符号量を加算して並べ替え後の符号量を計算し（図４（Ａ））、この符号量を書き込みのサイズに設定してストレージ１１に書き込みコマンドを出力する（図４（Ｂ））。またこの書き込みコマンドに対する応答がストレージ１１から得られると、ＪＰＥＧフォーマットの符号化データを順次ストレージ１１に出力して符号化データをストレージ１１に記録する。このとき中央処理ユニット３は、末尾にダミーデータを付加して符号化データをストレージ１１に出力することにより、実際に並べ替えした符号量に対する計算した並べ替え後の符号量の誤差を、このダミーデータで吸収する。
【００３９】
中央処理ユニット３は、符号化データの書き込みを完了すると、続くステップＳＰ１９でストレージ１１のファイル管理システムに記録された空き容量を更新した後、ステップＳＰ２０に移ってこの処理手順を終了する。
【００４０】
この図３の処理により、中央処理ユニット３は、並べ替え後のデータ量を予測して並べ替え後のデータをストレージ１１に記録可能か否か判断する。また記録困難な場合には、並べ替えの処理を省略し、データ圧縮率を切り換えて、改めて画像処理、符号化処理を実行する。
【００４１】
なお符号化／復号化部９における符号化の処理において、バイト境界のＦＦｈを識別するための識別コード００ｈを設定しないようにして、ステップＳＰ１５の処理を省略するようにしてもよい。
【００４２】
図１は、図３のステップＳＰ１２の処理手順を詳細に示すフローチャートである。この処理手順を開始すると、中央処理ユニット３は、ステップＳＰ３１からステップＳＰ３２に移り、画像処理部８で１画像処理単位の画像データを画像処理する。また続くステップＳＰ３３において、画像処理した１画像処理単位の画像データを符号化／復号化部９でＪＰＥＧフォーマットに従って符号化処理する。
【００４３】
続いて中央処理ユニット３は、ステップＳＰ３４に移り、ステップＳＰ３３で符号化処理して生成された符号化データの符号列からバイト境界のＦＦｈを検出し、このバイト境界のＦＦｈの数をカウントする。ここで中央処理ユニット３は、図５に示すように、符号化／復号化部９から出力される符号化データ列からバイト境界のＦＦｈを検出する。なおこの図５及び以下の図では、バイト境界をスペースで示す。従ってこの図５の例では、２バイト目でバイト境界のＦＦｈが検出されることになる。
【００４４】
続いて中央処理ユニット３は、ステップＳＰ３５に移り、各並べ替え処理単位で、並べ替え後に発生の可能性があるバイト境界のＦＦｈを検出する。ここでこの実施例では、境界条件を設定し、各境界条件でバイト境界のＦＦｈを検出する。
【００４５】
ここで並べ替え処理単位は、並べ替えの処理において、１つのかたまりとして並べ替えられるデータ列である。例えば図１５において矢印Ａで示すように、水平方向に分割した各領域１〜３でそれぞれラスタ走査の順序で画像データを符号化処理した後、矢印Ｂで示すように、１画面分をまとめて符号化処理したように並べ替える場合、並べ替え処理単位は、最大で、各領域１〜３における１ライン分の符号化データとなり、最小で、１つのＭＣＵ（Minimum Code Unit ）の係数データの符号化データとなる。最大の並べ替え処理単位は、原画像から切り出す領域、画像処理に応じて変化することになる。
【００４６】
また境界条件は、バイト境界の設定条件である。ここで図６に示すように、並べ替え処理単位では、並べ替えによって、先頭側の何ビット目にバイト境界が設定されるかによって、以降のバイト境界も変化することになる。なおこの図６では、１つの並べ替え処理単位が２８ビットである場合を例に示す。すなわち先頭０ビット目にバイト境界に設定された場合（境界条件０ｂｉｔ）、この図６の例では、２バイト目にバイト境界のＦＦｈが現れる。また末尾に４ビットの端数が発生し、この端数４ビットは、値１であることから、この末尾に、値１が４ビット以上連続する並べ替え処理単位が配置されると、この末尾４ビットで形成される１バイトもバイト境界のＦＦｈとなる。従ってこの場合、最後の端数でバイト境界のＦＦｈが１個、発生する可能性があり、また端数以外で、バイト境界のＦＦｈが１個、発生する。
【００４７】
これに対して先頭１ビット目にバイト境界に設定された場合（境界条件１ｂｉｔ）、先頭１ビットが値１であることから、末尾側７ビットが値１の並べ替え処理単位に続いて、この並べ替え処理単位が配置された場合、この先頭１ビットで形成される１バイトもバイト境界のＦＦｈとなる。またこの場合、境界条件０ｂｉｔの場合と同様に、最後の端数でバイト境界のＦＦｈが１個、発生する可能性があり、また端数以外で、バイト境界のＦＦｈが１個、発生する。
【００４８】
これに対して先頭３ビット目〜先頭７ビット目にバイト境界に設定された場合（境界条件３ｂｉｔ〜７ｂｉｔ）、最後の端数だけ、バイト境界のＦＦｈが１個、発生する可能性がある。
【００４９】
中央処理ユニット３は、このステップＳＰ３５の処理により、この図６について説明した各境界条件におけるバイト境界のＦＦｈを検出する。なおここで先頭の端数におけるバイト境界のＦＦｈは、直前に配置される並べ替え処理単位の末尾の端数で検出されるバイト境界のＦＦｈに対応することになる。またこれとは逆に、末尾の端数で検出されるバイト境界のＦＦｈは、直後に配置される並べ替え処理単位の先頭の端数で検出されるバイト境界のＦＦｈに対応することになる。従って先頭の端数におけるバイト境界のＦＦｈ、最後の端数で検出されるバイト境界のＦＦｈは、何れかを１つだけを検出すれば並べ替え後におけるバイト境界のＦＦｈを予測することができる。そこで中央処理ユニット３は、このステップＳＰ３５の処理において、境界条件毎に、先頭の端数、端数以外で検出されるバイト境界のＦＦｈ、又は最後の端数、端数以外で検出されるバイト境界のＦＦｈをそれぞれ並べ替え処理単位、境界条件毎に加算し、各境界条件で発生するバイト境界のＦＦｈの数を検出する。また中央処理ユニット３は、各並べ替え処理単位のビット数を併せてカウントする。
【００５０】
続いて中央処理ユニット３は、ステップＳＰ３６に移り、全画像処理単位の処理を完了したか否か判断する。ここで否定結果が得られると、中央処理ユニット３は、ステップＳＰ３７に移り、処理対象を次の画像処理単位に切り換えた後、ステップＳＰ３２に戻る。これに対してステップＳＰ３６で肯定結果が得られると、ステップＳＰ３６からステップＳＰ３８に移る。
【００５１】
中央処理ユニット３は、ここで並べ替え後のバイト境界のＦＦｈをカウントする。すなわち中央処理ユニット３は、並べ替えて配置する順序で、並べ替え処理単位を順次処理対象に設定する。また直前の処理対象の並べ替え処理単位のビット数及び境界条件のビット数をそれぞれＮｎ−１、Ｊｎ−１とおき、１バイトのビット数をＭとおいて、Ｊｎ＝Ｍ−ｍｏｄ（（Ｎｎ−１）＋Ｍ−（Ｊｎ−１））／Ｍの演算処理を実行し、処理対象の並べ替え処理単位の境界条件Ｊｎを順次計算する。なおここでｍｏｄＡ／Ｂは、値Ａを値Ｂで割り算して剰余を求める関数である。またステップＳＰ３５で求めた各並べ替え処理単位の境界条件におけるバイト境界のＦＦｈの数から、この計算した各境界条件Ｊｎのバイト境界のＦＦｈの数を順次選択して累積加算する。
【００５２】
すなわち図７に示すように、並べ替え処理単位が２５ビットであって、並べ替え処理によってこの並べ替え処理単位の直前がバイト境界に設定される場合、この２５ビットの並べ替え処理単位の境界条件Ｊｎは０ビットとなる。また続く並べ替え処理単位が１５ビットの場合には、この続く並べ替え処理単位の境界条件Ｊｎは、８−ｍｏｄ（２５＋８／８）＝７ビットとなる。またこの１５ビットに続く符号化処理単位では、８−ｍｏｄ（（１５＋８−７）／８）＝０ビットとなる。従ってこの場合、丸印で囲って示すように、２５ビットの並べ替え処理単位の０ビットの境界条件で検出されたバイト境界のＦＦｈの数０と、続く１５ビットの並べ替え処理単位の１ビットの境界条件で検出されたバイト境界のＦＦｈの数０とを累積加算し、値０の累積加算値を計算で求める。
【００５３】
これに対して、並べ替え処理によってこの２５ビットの並べ替え処理単位の境界条件が１ビットとなった場合、続く１５ビットの並べ替え処理単位の境界条件は、０ビットとなり、さらに続く並べ替え処理単位の境界条件は、１ビットとなる。従ってこの場合、中央処理ユニット３は、四角印で囲って示すように、２５ビットの並べ替え処理単位の１ビットの境界条件で検出されたバイト境界のＦＦｈの数１と、続く１５ビットの並べ替え処理単位の０ビットの境界条件で検出されたバイト境界のＦＦｈの数１とを累積加算し、値２の累積加算値を計算で求める。
【００５４】
この処理を、全ての並べ替え処理単位で実行し、全ての並べ替え処理単位の累積加算値を計算すると、中央処理ユニット３は、ステップＳＰ３９に移り、ステップＳＰ３４で求めたカウント値を、ステップＳＰ３８で求めたカウント値から減算し、並べ替えにより変化するバイト境界のＦＦｈの数を計算する。またこの計算した値を、バイト境界の識別コード００ｈの見積値に設定する。
【００５５】
（２）実施例の動作
以上の構成において、このディジタルスチルカメラ１では（図１）、ユーザーの操作に応動して撮像素子４で静止画の撮像結果が取得され、この撮像結果がカメラ信号処理部６で処理された後、符号化／復号化部９でＪＰＥＧの手法により符号化処理されてストレージ１１に記録される。またこのストレージ１１に記録した撮像結果の画像処理をユーザーが指示すると、ユーザーの指示した撮像結果がストレージ１１から再生されて符号化／復号化部９で復号され、画像処理部８で画像処理される。またこの画像処理結果が符号化／復号化部９で符号化処理されてストレージ１１に記録される。ここでディジタルスチルカメラ１では、このストレージ１１に記録した撮像結果を画像処理する処理において、画像処理結果を１画面分、バッファメモリに蓄積した後、符号化処理する場合には、バッファメモリの容量が大容量化する。
【００５６】
そこでディジタルスチルカメラ１では、画像処理部８における画像処理単位の分だけ、ストレージ１１に記録された符号化データが符号化／復号化部９で復号化され、また画像処理部８で画像処理される。また画像処理した画像データが符号化／復号化部９で符号化処理され、その処理結果の符号化データが並べ替え部１０に保持される（図５、図６）。ディジタルスチルカメラ１では、この画像処理単位による復号化、画像処理、符号化処理が画像処理部８における画像処理の順序で繰り返され、１画面分の処理を完了すると、並べ替え部１０において、符号化データが並べ替えられて、１画面をまとめて符号化処理した順序でストレージ１１に符号化データが記録される。
【００５７】
この並べ替えの処理により、ディジタルスチルカメラ１では、画像処理結果を記録するバッファメモリについては、１画像処理単位分の画像データを記録するだけの容量で足り、このバッファメモリを小容量化することができる。またバッファメモリを小容量化することにより、消費電力を低減することができ、さらには画像処理に要する時間を短縮し、またバッテリの動作時間を延長することができる。
【００５８】
しかしながら並べ替え処理する場合には、バイト境界が変化することから、マーカーコードからバイト境界ＦＦｈを識別するための識別コード００ｈを操作することが必要になる。その結果、並べ替えの前後で、データ量が変化することになり、何ら工夫を講じない場合には、並べ替えした後になって、初めてストレージ１１に記録困難な程にデータ量が増大したことが判り、結局、画像処理を初めからやり直さなければならなくなる場合も発生する。
【００５９】
そこでディジタルスチルカメラ１では、画像処理単位で符号化処理する際に、バイト境界のＦＦｈの数がカウントされる。また並べ替え処理する前に、並べ替え処理後に発生が予測されるバイト境界のＦＦｈの数がカウントされる。またこれらカウント値の変化値によって、並べ替え後におけるデータ量が予測され、最終的なファイル長が事前に予測される（図３）。
【００６０】
ディジタルスチルカメラ１では、この予測されるデータ量によって、並べ替え処理した後の符号化データをストレージ１１に記録可能か否か判定され、記録可能な場合に、初めて実際に符号化データが並べ替え処理され、ストレージ１１に記録される。これに対して予測されるデータ量をストレージ１１に記録困難と判定される場合には、並べ替え処理することなく、データ圧縮率を切り換えて、再度、画像処理、符号化処理が実行される。その結果、このディジタルスチルカメラ１では、無駄に並べ替えの処理を実行しないようにすることができ、画像処理を簡略化し、画像処理に要する時間を従来に比して短くすることができる。また並べ替えしながら、並べ替えした符号化データをストレージ１１に記録することもでき、バス帯域を低減し、さらに消費電力も低減することができる（図４）。
【００６１】
より具体的に、このディジタルスチルカメラ１では、並べ替え処理する前の、バイト境界のＦＦｈの数がカウントされる（図５）。また並べ替え処理における処理単位である並べ替え処理単位毎に、並べ替え処理後に設定される可能性のある全てのバイト境界について、バイト境界のＦＦｈの数が計算される（図１及び図６）。またこのとき、前又は後に配置される並べ替え処理単位によって発生する可能性のあるバイト境界のＦＦｈの数も含むように、バイト境界のＦＦｈの数が計算される。
【００６２】
ここでこのように前又は後に配置される符号によって発生する可能性のあるバイト境界のＦＦｈは、前又は後に配置される並べ替え処理単位によっては出現しない場合もある。従ってこの実施例では、このように前又は後に配置される並べ替え処理単位によって発生する可能性のあるバイト境界のＦＦｈの数も含むように、バイト境界のＦＦｈの数を計算することにより、並べ替えによって発生するバイト境界のＦＦｈの数を多めに計算する。
【００６３】
このディジタルスチルカメラ１では、並べ替え後における並べ替え処理単位の順序で、連続する並べ替え処理単位のビット長がバイト単位で区切られ、各並べ替え処理単位に設定される実際のバイト境界が検出される。またこの検出したバイト境界に基づいて、並べ替え処理後に設定される可能性のある全てのバイト境界について求めたバイト境界のＦＦｈの数から、実際に設定されるバイト境界におけるバイト境界のＦＦｈの数が各符号化処理単位で求められ、このＦＦｈの数が累積加算されて、並べ替え処理後に発生が予測されるバイト境界のＦＦｈの数が求められる。
【００６４】
このディジタルスチルカメラ１では、並べ替え処理する前のバイト境界のＦＦｈの数と、並べ替え処理後に発生が予測されるバイト境界のＦＦｈの数との変化量が求められ、この変化量の分だけ識別コード００ｈの数が変化することから、この変化量が並べ替え処理により変化する符号化データのデータ量とされる。
【００６５】
従ってこのディジタルスチルカメラ１では、各並べ替え処理単位で、並べ替え処理後に設定される可能性のある全てのバイト境界についてバイト境界のＦＦｈの数を求め、実際に設定されるバイト境界におけるバイト境界のＦＦｈの数を求めていることから、簡易な処理で、比較的精度良く、並べ替え処理後のデータ量を予測することができる。
【００６６】
またこのとき前又は後に配置される並べ替え処理単位によって発生する可能性のあるバイト境界のＦＦｈの数も含むようにして、バイト境界のＦＦｈの数を多めに計算していることから、予測したデータ量と実際のデータ量が異なっている場合でも、実際のデータ量は予測したデータ量を越えないことになる。従って、記録媒体の空き容量の確認等において、記録可能か否か誤判断を確実に防止することができる。
【００６７】
（３）実施例の効果
以上の構成によれば、画像処理単位毎に画像データを符号化処理して符号化データを生成した後、１画面分の画像データを符号化処理した順序に、この符号化データを並べ替えする際に、事前に、並べ替え前の符号化データから並べ替え後の符号化データの符号量を予測することにより、最終的なファイル長を事前に予測することができる。
【００６８】
より具体的に、バイト境界のＦＦｈである特定コードの数を並べ替え前の符号化データでカウントし、また並べ替え後の符号化データにおける特定コードの数を予測してカウントし、これらのカウント値の差分値から並べ替え後の符号化データのデータ量を計算することにより、最終的なファイル長を事前に予測することができる。
【００６９】
また並べ替え処理後に設定される可能性のある全てのバイト境界について、並べ替え処理単位毎に、並べ替え前の符号化データから特定コードの数を求め、並べ替え後の符号化データにおける連続する並べ替え処理単位のビット長に基づいて、実際に設定されるバイト境界における特定コードの数を求め、並べ替え後の符号化データにおける特定コードの数を検出することにより、高い精度で、最終的なファイル長を事前に予測することができる。
【００７０】
またこのとき前又は後に配置される並べ替え処理単位によって発生する可能性のあるバイト境界の特定コードの数も含むように特定コードの数を検出することにより、予測したデータ量と実際のデータ量が異なっている場合でも、実際のデータ量は予測したデータ量を越えないように、記録媒体の空き容量の確認等において、記録可能か否かの誤判断を防止することができる。
【００７１】
従って並べ替え後の符号化データを記録媒体に記録する場合には、並べ替えした後、いざ記録媒体に記録しようとした場合に、初めて記録媒体の空き容量の不足していることが判明する等の状況を有効に回避することができる。
【００７２】
また推定した並べ替え後の符号化データのデータ量に基づいて、並べ替え後の符号化データを記録媒体に記録可能か否か判定し、記録可能との判定結果が得られた場合に限って、並べ替え前の符号化データを並べ替えすることにより、記録困難な場合の無駄な並べ替え処理を防止することができる。
【実施例２】
【００７３】
図８は、図６との対比により、本発明の実施例２のディジタルスチルカメラの処理を示す図表である。この実施例のディジタルスチルカメラは、この図８に関する構成が異なる点を除いて、実施例１と同一に構成される。
【００７４】
この実施例のディジタルスチルカメラにおいて、中央処理ユニット３は、図１のステップＳＰ３５の処理において、前又は後に配置される並べ替え処理単位によって発生する可能性のあるバイト境界のＦＦｈについては、カウントしないようにする。その代わりに、中央処理ユニット３は、図６において丸印で囲って示すように、各並べ替え処理単位の各境界条件における末尾側、又は先頭側の端数のデータを記録して保持する。
【００７５】
またステップＳＰ３８で並べ替え後におけるバイト境界のＦＦｈをカウントする際に、この図６の最下欄に示すように、記録して保持した端数のデータを、直前又は直後の並べ替え処理単位の末尾又は先頭に配置したとして、この末尾又は先頭部分の１バイトで、バイト境界のＦＦｈが発生するか否か判定する。またこの１バイトで、バイト境界のＦＦｈが発生する場合には、この１バイトのＦＦｈをカウント値に含める。
【００７６】
この実施例のように、並べ替え処理単位の先頭又は末尾の端数のデータを記録して保持するようにして、並べ替え処理後の符号化データにおけるバイト境界のＦＦｈをカウントする際に、実際にバイト境界のＦＦｈが発生するか否か判定してカウントすれば、一段と高い精度で並べ替え処理後のデータ量を予測することができる。
【実施例３】
【００７７】
この実施例のディジタルスチルカメラにおいて、中央処理ユニット３は、実施例１の構成に比して一段と簡易な処理で、並べ替え処理後のデータ量を予測する。すなわち中央処理ユニット３は、図６の最下欄に示すように、図１のステップＳＰ３５の処理において、各境界条件で求められるバイト境界のＦＦｈの数から、最大値を選択して記録する。
【００７８】
またステップＳＰ３８の処理において、この最大値を単に累積加算して並べ替え処理後のデータ量を計算する。なおこの場合、並べ替え処理単位の先頭又は末尾の端数のデータについても、同様に、最大値のみを記録するようにして、単に累積加算するようにしてもよく、また実施例２について上述したように、端数を記録して実際にバイト境界のＦＦｈが発生するか否か判定してカウントするようにしてもよい。
【００７９】
この実施例のディジタルスチルカメラは、このステップＳＰ３５、ステップＳＰ３８の処理が異なる点を除いて、実施例１又は実施例２と同一に構成される。
【００８０】
この実施例では、各境界条件で求められるバイト境界のＦＦｈの数から最大値を選択して記録し、またこの最大値を単に累積加算することにより、精度は劣るものの、実施例１、実施例２に比して一段と処理を簡略化することができる。
【実施例４】
【００８１】
図９は、図６との対比により、本発明の実施例４のディジタルスチルカメラの処理を示す図表である。この実施例のディジタルスチルカメラは、この図９に関する構成が異なる点を除いて、実施例１と同一に構成される。
【００８２】
この実施例のディジタルスチルカメラにおいて、中央処理ユニット３は、図１のステップＳＰ３５の処理において、何らバイト境界を考慮することなく、各並べ替え処理におけるビット配列を判定し、各並べ替え処理単位中のＦＦｈをカウントする。すなわち中央処理ユニット３は、並べ替え処理単位の先頭側から８ビットのデータを選択し、この８ビットの全てが値１か否か判断する。ここでこの８ビットの全てが値１の場合、バイト境界のＦＦｈをカウントするカウント値をインクリメントする。中央処理ユニット３は、この処理を、並べ替え処理単位の先頭側から順次１ビットずつビットシフトさせて実行し、図９の上欄において丸印で囲って示すように、連続する８ビットが値１のデータ数をカウントする。
【００８３】
なおこの処理の場合、例えば値１が９ビット連続する場合には、バイト境界のＦＦｈが２回検出されることになる。これに対して図９の下欄で示すように、このような値１が９ビット以上連続する場合に、バイト境界のＦＦｈを１回しか検出しないようにしてもよい。
【００８４】
図１０は、この後者の場合の中央処理ユニット３の処理手順を示すフローチャートである。中央処理ユニット３は、この処理手順を開始すると、ステップＳＰ４１からステップＳＰ４２に移り、ここでバイト境界のＦＦｈをカウントするバイトカウンタのカウント値を値０に初期化する。また符号化処理単位の１つを処理対象に設定し、この処理対象の先頭１ビットを処理対象のビットに設定する。続いて中央処理ユニット３は、ステップＳＰ４３に移り、現在の処理対象のビットが符号化処理単位の先頭ビットか否か判断する。ここで肯定結果が得られると、中央処理ユニット３は、ステップＳＰ４３からステップＳＰ４４に移り、連続する値１の数をカウントするビットカウンタの値を値０にリセットした後、ステップＳＰ４５に移る。これに対してステップＳＰ４３で否定結果が得られると、ステップＳＰ４３から直接、ステップＳＰ４５に移る。
【００８５】
このステップＳＰ４５において、中央処理ユニット３は、処理対象ビットを処理対象の符号化処理単位から１ビット入力する。また続くステップＳＰ４６において、この入力した１ビットが値１か否か判断する。
【００８６】
ここで否定結果が得られると中央処理ユニット３は、ステップＳＰ４６からステップＳＰ４７に移り、ビットカウンタのカウント値を値０にセットし直す。また続くステップＳＰ４８において、全ての並べ替え処理単位の処理を完了したか否か判断し、ここで否定結果が得られると、ステップＳＰ４３に戻り、処理対象ビットを続くビットに切り換える。このときそれまでの処理対象ビットが並べ替え処理単位の末尾である場合、処理対象の並べ替え処理単位を次の並べ替え処理単位に切り換え、またこの新たに設定した並べ替え処理単位の先頭ビットを処理対象ビットに設定する。
【００８７】
これに対してステップＳＰ４６で肯定結果が得られると、中央処理ユニット３は、ステップＳＰ４６からステップＳＰ４９に移る。ここで中央処理ユニット３は、ビットカウンタのカウント値を値１だけインクリメントする。また続くステップＳＰ４９において、このビットカウンタのカウント値が値７となったか否か判断し、ここで否定結果が得られると、ステップＳＰ４８に移る。
【００８８】
これに対してステップＳＰ５０で肯定結果が得られると、ステップＳＰ５１に移り、バイトカウンタのカウント値を値１だけインクリメントする。またビットカウンタのカウント値を値０にセットし直し、ステップＳＰ４８に移る。
【００８９】
また全ての符号化処理単位の処理を完了すると、ステップＳＰ４８からステップＳＰ５２に移ってこの処理手順を終了する。
【００９０】
この図９及び図１０で説明したステップＳＰ３５（図１）の処理に対応して、中央処理ユニット３は、ステップＳＰ３８の処理においては、このステップＳＰ３５で求めたカウト値を並べ替え後のバイト境界のＦＦｈの数に設定する。
【００９１】
この実施例によれば、単に特定コードのビット配列を検出して並べ替え処理後におけるバイト境界のＦＦｈをカウントすることから、一段と簡易な処理で、並べ替え処理後におけるファイル長を予測することができる。
【００９２】
実際上、この実施例のように、単に特定コードのビット配列を検出して並べ替え処理後におけるバイト境界のＦＦｈをカウントする場合には、実施例１に比して検出精度が劣化することが予想される。しかしながら実際に検討した結果を図１１に示すように、実用上十分な精度を確保できることが判った。なおこの図１１は、実際の静止画ファイルを用いて、並べ替え処理後におけるバイト境界のＦＦｈの数を実施例１の手法と、実施例４の手法とでカウントしたものである。ここでファイルサイズは、並べ替え後におけるファイルザイズであり、００ｈの識別コードを含むものである。また最大出現確率は、実施例１で上述した各境界条件で検出されるバイト境界のＦＦｈの数から最大値を検出し、この最大値を全バイトで割り算して百分率で表したものである。実施例４の計測結果は、この最大出現確率に対応する値である。この図１１によれば、この実施例４の処理では、実施例１の場合に比してバイト境界のＦＦｈの数が多く検出され、記録媒体に記録困難な場合に、記録可能であるとの誤判定を有効に回避できることが判る。
【実施例５】
【００９３】
図１２は、図６との対比により、本発明の実施例５のディジタルスチルカメラの処理を示す図表である。この実施例のディジタルスチルカメラは、この図１２に関する構成が異なる点を除いて、実施例１と同一に構成される。
【００９４】
このディジタルスチルカメラは、ＪＰＥＧと同様のフォーマットで画像データを符号化処理し、このフォーマットでは、ＦＦｈに代えてＡ５ｈに所定のコードを付加してリスタートマーカー等が表される。またこれに対応してデータ列中のバイト境界にＡ５ｈが現れた場合に、００ｈの識別コードを設定する。
【００９５】
このディジタルスチルカメラにおいて、中央処理ユニット３は、このフォーマットに対応して、バイト境界のＡ５ｈをカウントして並べ替え処理後のファイル長を推定する。なおこの図１２では、符号化処理単位の長さが８ビットの場合について、先頭側及び末尾側の端数についてのみ示すものである。
【００９６】
この実施例のように、並べ替え処理で操作することが必要な特定コードがＦＦｈ以外の場合であっても、上述の実施例と同一の効果を得るこができる。
【実施例６】
【００９７】
図１３は、図４との対比により、本発明の実施例６のディジタルスチルカメラの処理を示す図表である。この実施例のディジタルスチルカメラは、この図１３に関する構成が異なる点を除いて、実施例１と同一に構成される。
【００９８】
この実施例では、推定した並べ替え後のファイル長（図１３（Ａ））を、一旦クラスタサイズなどメディア、外部転送先の処理の都合のよいサイズに切り上げて処理し（図１３（Ｂ）及び（Ｃ））、その後データサイズを切り詰める（図１３（Ｄ））。
【００９９】
この実施例のように推定した並べ替え後のファイル長をメディア、外部転送先の処理の都合のよいサイズに切り上げて処理するようにしても、実施例１と同様の効果を得ることができる。
【実施例７】
【０１００】
なお上述の実施例においては、画像処理した画像データを記録媒体に記録する場合について述べたが、本発明はこれに限らず、撮像結果を記録する場合等にも広く適用することができる。
【０１０１】
また上述の実施例４では、図１０のステップＳＰ４４においてビットカウント値を値０にセットする場合について述べたが、本発明はこれに限らず、このステップＳＰ４４においてビットカウント値を値１〜値７の何れかに設定するようにして、カウント開始時にオフセット値を設定するようにしてもよい。ここでこのオフセット値は値７に近づければ近づく程、並べ替え処理単位の先頭におけるバイト境界の検出頻度が増大することから、値７に近づければ近づく程、記録媒体に記録困難な場合に、記録可能との誤設定を有効に回避することができる。
【０１０２】
また上述の実施例では、符号化データ列をバイト単位で区切ったバイト境界に一定の条件で特別な識別コードを設定することを前提に、並べ替え後のファイル長を予測する場合について述べたが、本発明はこれに限らず、符号化データ列をｎ（ｎは２以上の整数）ビットの何らかの処理単位で区切ったｎビット境界に、一定の条件で特別な識別コードを設定する場合にも広く適用することができる。
【０１０３】
また上述の実施例においては、ＪＰＥＧの手法で画像データを符号化処理する場合について述べたが、本発明はこれに限らず、例えばＭＰＥＧ等、種々の可変長符号化処理により画像データを符号化処理する場合に広く適用することができる。
【０１０４】
また上述の実施例においては、ディジタルスチルカメラに本発明を適用する場合について述べたが、本発明はこれに限らず、各種画像記録再生装置、携帯電話、コンピュータにおける画像処理等に広く適用することができる。なおコンピュータ等に本発明を適用する場合にあっては、演算処理手段のプログラムの実行により構成するようにしてもよく、この場合、このプログラムは、事前のインストールにより提供してもよく、光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供するようにしてもよく、またインターネット等のネットワークを介したダウンロードで提供するようにしてもよい。
【産業上の利用可能性】
【０１０５】
本発明は、例えばディジタルスチルカメラに適用することができる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施例１のディジタルスチルカメラにおける中央処理ユニットの処理手順を示すフローチャートである。
【図２】本発明の実施例１のディジタルスチルカメラを示すブロック図である。
【図３】図２のディジタルスチルカメラにおける中央処理ユニットの処理手順を示すフローチャートである。
【図４】図３の処理手順によるファイルの処理の説明に供する略線図である。
【図５】図１の処理手順における並べ替え前のバイト境界のＦＦｈのカウントの説明に供する略線図である。
【図６】図１の処理手順の並べ替え処理単位におけるバイト境界のＦＦｈのカウントの説明に供する略線図である。
【図７】図１の処理手順による並べ替え処理後のバイト境界のＦＦｈのカウントの説明に供する略線図である。
【図８】本発明の実施例２のディジタルスチルカメラにおけるバイト境界のＦＦｈのカウントの説明に供する略線図である。
【図９】本発明の実施例４のディジタルスチルカメラにおけるバイト境界のＦＦｈのカウントの説明に供する略線図である。
【図１０】図９の処理を示すフローチャートである。
【図１１】図９の処理による処理結果を示す図表である。
【図１２】本発明の実施例５のディジタルスチルカメラにおけるバイト境界のＡ５ｈのカウントの説明に供する略線図である。
【図１３】本発明の実施例６のディジタルスチルカメラにおけるファイルの処理を示す図表である。
【図１４】従来のディジタルスチルカメラにおける画像処理の説明に供する略線図である。
【図１５】並べ替え処理の説明に供する略線図である。
【図１６】図１５の処理の処理手順を示すフローチャートである。
【図１７】バイト境界の識別コードの説明に供する略線図である。
【図１８】バイト境界の変化により識別コードの設定の説明に供する略線図である。
【符号の説明】
【０１０７】
１……ディジタルスチルカメラ、３……中央処理ユニット、４……撮像素子、６……カメラ信号処理部、８……画像処理部、９……符号化／復号化部、１０……並べ替え部、１１……ストレージ
【図１】
2008011133.tif 000003
【図２】
2008011133.tif 000004
【図３】
2008011133.tif 000005
【図４】
2008011133.tif 000006
【図５】
2008011133.tif 000007
【図６】
2008011133.tif 000008
【図７】
2008011133.tif 000009
【図８】
2008011133.tif 000010
【図９】
2008011133.tif 000011
【図１０】
2008011133.tif 000012
【図１１】
2008011133.tif 000013
【図１２】
2008011133.tif 000014
【図１３】
2008011133.tif 000015
【図１４】
2008011133.tif 000016
【図１５】
2008011133.tif 000017
【図１６】
2008011133.tif 000018
【図１７】
2008011133.tif 000019
【図１８】
2008011133.tif 000020