(57)【特許請求の範囲】
【請求項１】
１画面の画像を構成する画像データに対して２次元離散コサイン変換を行い、離散コサイン変換係数を生成する離散コサイン変換回路と、
前記離散コサイン変換回路から供給された離散コサイン変換係数を、予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化する量子化回路と、
前記量子化回路にて量子化された離散コサイン変換係数を、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮画像データを生成するハフマン符号化回路と、
前記ハフマン符号化回路の生成した圧縮画像データの符号量をカウントする符号量カウンタとを備え、
前記符号量カウンタのカウントした圧縮画像データの符号量が所定値以下になるまで、前記量子化しきい値およびハフマン符号から成るパラメータの設定を変更しながら、前記離散コサイン変換回路と前記量子化回路と前記ハフマン符号化回路による圧縮処理を繰り返すことにより、圧縮画像データの符号量を所定値以下にするのに最適な前記パラメータを決定するエンコーダであって、
前記１画面の画像を複数のブロックに分割し、そのブロックの内から選択するブロック数を変更して構成された複数のブロック群のそれぞれの画像データに対して前記圧縮処理を繰り返すことにより、前記ブロック群毎に前記符号量が所定値以下になるパラメータを設定し、この設定したパラメータによる前記符号量間の関係に基づいて前記最適なパラメータを決定するパラメータ決定手段を備え、
前記パラメータ決定手段は、前記ブロックの内から所定のブロックを選択して構成された前記第１ブロック群の画像データに対して、前記圧縮処理を繰り返すことにより第１圧縮画像データを生成すると共に、第１ブロック群の画像データに対して最適化された前記圧縮パラメータを求め、
前記第１ブロック群よりも多数のブロックを選択して構成された第２ブロック群の画像データに対して、前記圧縮処理を行うことにより第２圧縮画像データを生成すると共に、第２ブロック群の画像データに対して最適化された前記圧縮パラメータを求め、
第１ブロック群のブロック数と第２ブロック群のブロック数とを同一としたときに換算される前記第１圧縮画像データと第２圧縮画像データの符号量の差である圧縮誤差を算出し、
その圧縮誤差が許容値以内の場合は、第１ブロック群の画像データに対して最適化された圧縮パラメータを、前記最適な圧縮パラメータとして決定する、
ことを特徴とするエンコーダ。
【請求項２】
１画面の画像を構成する画像データに対して２次元離散コサイン変換を行い、離散コサイン変換係数を生成する離散コサイン変換回路と、
前記離散コサイン変換回路から供給された離散コサイン変換係数を、予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化する量子化回路と、
前記量子化回路にて量子化された離散コサイン変換係数を、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮画像データを生成するハフマン符号化回路と、
前記ハフマン符号化回路の生成した圧縮画像データの符号量をカウントする符号量カウンタとを備え、
前記符号量カウンタのカウントした圧縮画像データの符号量が所定値以下になるまで、前記量子化しきい値およびハフマン符号から成るパラメータの設定を変更しながら、前記離散コサイン変換回路と前記量子化回路と前記ハフマン符号化回路による圧縮処理を繰り返すことにより、圧縮画像データの符号量を所定値以下にするのに最適な前記パラメータを決定するエンコーダであって、
前記１画面の画像を複数のブロックに分割し、そのブロックの内から選択するブロック数を変更して構成された複数のブロック群のそれぞれの画像データに対して前記圧縮処理を繰り返すことにより、前記ブロック群毎に前記符号量が所定値以下になるパラメータを設定し、この設定したパラメータによる前記符号量間の関係に基づいて前記最適なパラメータを決定するパラメータ決定手段を備え、
前記パラメータ決定手段は、前記ブロックの内から所定のブロックを選択して構成された前記第１ブロック群の画像データに対して、前記圧縮処理を繰り返すことにより第１圧縮画像データを生成すると共に、第１ブロック群の画像データに対して最適化された前記圧縮パラメータを求め、
前記第１ブロック群よりも多数のブロックを選択して構成された第２ブロック群の画像データに対して、前記圧縮処理を行うことにより第２圧縮画像データを生成すると共に、第２ブロック群の画像データに対して最適化された前記圧縮パラメータを求め、
第１ブロック群のブロック数と第２ブロック群のブロック数とを同一としたときに換算される前記第１圧縮画像データと第２圧縮画像データの符号量の差である圧縮誤差を算出し、
その圧縮誤差が許容値以内の場合は、第２ブロック群の画像データに対して最適化された圧縮パラメータを、前記最適な圧縮パラメータとして決定する、
ことを特徴とするエンコーダ。
【請求項３】
請求項１または請求項２に記載のエンコーダにおいて、
前記１画面の画像データを複数の領域に分割し、その各領域を前記複数のブロックに分割し、各領域のブロックの内から選択するブロック数を各領域毎に変更しながら所定のブロックを選択し、その選択したブロックの画像データに対して前記圧縮処理を繰り返すことにより、各領域毎に前記最適なパラメータを決定する、
ことを特徴とするエンコーダ。
【請求項４】
１画面の画像を構成する画像データに対して２次元の離散コサイン変換を行い、離散コサイン変換係数を生成する離散コサイン変換回路と、
前記離散コサイン変換回路から供給された離散コサイン変換係数を、予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化する量子化回路と、
前記量子化回路にて量子化された離散コサイン変換係数を、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮画像データを生成するハフマン符号化回路と、
前記ハフマン符号化回路の生成した圧縮画像データの符号量をカウントする符号量カウンタと、
前記ハフマン符号化回路の生成した圧縮画像データを、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長復号化することにより伸張画像データを生成するハフマン復号化回路と、
前記ハフマン復号化回路の生成した伸張画像データを、予め設定された量子化テーブルに格納されている量子化しきい値を参照して逆量子化することにより離散コサイン変換係数を生成し、その離散コサイン変換係数を前記量子化回路へ戻す逆量子化回路とを備えたエンコーダであって、
前記量子化回路は、前記逆量子化回路から戻された離散コサイン変換係数を予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化し、
前記符号量カウンタのカウントした圧縮画像データの符号量が所定値以下になるまで、前記量子化しきい値およびハフマン符号から成るパラメータの設定を変更しながら、前記量子化回路と前記ハフマン符号化回路と前記ハフマン復号化回路と前記逆量子化回路による処理を繰り返すことにより、圧縮画像データの符号量を所定値以下にするのに最適な前記パラメータを決定することを特徴とするエンコーダ。
【請求項５】
１画面の画像を構成する画像データに対して２次元の離散コサイン変換を行い、離散コサイン変換係数を生成する離散コサイン変換回路と、
前記離散コサイン変換回路から供給された離散コサイン変換係数を、予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化する量子化回路と、
前記量子化回路にて量子化された離散コサイン変換係数を、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮画像データを生成するハフマン符号化回路と、
前記ハフマン符号化回路の生成した圧縮画像データの符号量をカウントする符号量カウンタと、
前記ハフマン符号化回路の生成した圧縮画像データを、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長復号化することにより伸張画像データを生成し、その伸張画像データを前記ハフマン符号化回路へ戻すハフマン復号化回路とを備えたエンコーダであって、
前記ハフマン符号化回路は、前記ハフマン復号化回路から戻された伸張画像データを、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化し、
前記符号量カウンタのカウントした圧縮画像データの符号量が所定値以下になるまで、前記ハフマン符号の設定を変更しながら、前記ハフマン符号化回路と前記ハフマン復号化回路による処理を繰り返すことにより、圧縮画像データの符号量を所定値以下にするのに最適な前記ハフマン符号を決定することを特徴とする
エンコーダ。
【請求項６】
請求項４に記載のエンコーダにおいて、
前記逆量子化回路は、前記量子化テーブルに格納されている量子化しきい値を参照する際に、その量子化しきい値として、前記量子化回路による前回の量子化に参照された量子化しきい値を使用することを特徴とするエンコーダ。
【請求項７】
請求項４または請求項５に記載のエンコーダにおいて、
前記ハフマン復号化回路は、前記ハフマンテーブルに格納されているハフマン符号を参照する際に、そのハフマン符号として、前記ハフマン符号化回路による前回の可変長符号化に参照されたハフマン符号を使用することを特徴とするエンコーダ。
【請求項８】
請求項４〜７のいずれか１項に記載のエンコーダにおいて、
前記ハフマン符号化回路の生成した圧縮画像データを記憶し、その記憶した画像データを読み出して前記ハフマン復号化回路へ転送するメモリを備えたことを特徴とするエンコーダ。
【請求項９】
請求項１〜８のいずれか１項に記載のエンコーダにおいて、
前記１画面の画像の画像データを記憶し、その記憶した画像データを読み出して前記離散コサイン変換回路へ転送するフレームバッファを備えたことを特徴とするエンコーダ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はエンコーダに係り、詳しくは、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）ビデオエンコーダまたはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｃｏｄｉｂｇ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）エンコーダに関するものである。
【０００２】
【従来の技術】
近年、１９世紀以来の銀塩写真技術を使用したカメラに代わって、電子スチルカメラの需要がますます拡大している。
電子スチルカメラにおいては、画像データを伝送および蓄積する際に、画像データを圧縮してデータ量を減らすことにより効率的に処理するために、データの圧縮・伸張技術として「ＪＰＥＧ」方式が用いられている。このＪＰＥＧ方式は、ＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）／ＩＥＣ（Ｉｎｔａｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）傘下のＪＰＥＧ委員会（ＩＳＯ／ＩＥＣ  １０９１８−１）によって標準化されている。
【０００３】
ＪＰＥＧ方式はＪＰＥＧアルゴリズムとも呼ばれ、その技術の核となるのが離散コサイン変換（ＤＣＴ；Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）である。そして、ＪＰＥＧ方式は、電子スチルカメラだけでなく、ＣＤ−ＲＯＭ（ＣＤ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）システム等の画像データの処理にも広く利用されている。
【０００４】
また、ＪＰＥＧ方式によれば動画像データの圧縮・伸張を行うことも可能であるため、ＪＰＥＧ方式を用いた電子スチルカメラには動画像の撮影機能を備えたものもある。このようにＪＰＥＧ方式を用いて動画像データの圧縮・伸張を行う技術は、Ｍ−ＪＰＥＧ（Ｍｏｔｉｏｎ−ＪＰＥＧ）と呼ばれる。
【０００５】
ところで、マルチメディアで扱われる情報は、膨大な量で且つ多種多様であり、これらの情報を高速に処理することがマルチメディアの実用化を図る上で必要となってくる。情報を高速に処理するためには、データの圧縮・伸長技術が不可欠となる。そのようなデータの圧縮・伸長技術としては「ＭＰＥＧ」方式があげられる。このＭＰＥＧ方式は、ＩＳＯ／ＩＥＣ傘下のＭＰＥＧ委員会（ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１）によって標準化されている。ＭＰＥＧ方式は３つのパートから構成されている。パート１の「ＭＰＥＧシステムパート」（ＩＳＯ／ＩＥＣ  ＩＳ  １１１７２  Ｐａｒｔ１：Ｓｙｓｔｅｍｓ）では、動画像データ（ビデオデータ）と音声データ（オーディオデータ）の多重化構造（マルチプレクス・ストラクチャ）および同期方式が規定されている。パート２の「ＭＰＥＧビデオパート」（ＩＳＯ／ＩＥＣ  ＩＳ  １１１７２  Ｐａｒｔ２：Ｖｉｄｅｏ）では、動画像データの高能率符号化方式および動画像データのフォーマットが規定されている。パート３の「ＭＰＥＧオーディオパート」（ＩＳＯ／ＩＥＣ  ＩＳ  １１１７２  Ｐａｒｔ３：Ａｕｄｉｏ）では、音声データの高能率符号化方式および音声データのフォーマットが規定されている。
【０００６】
ＭＰＥＧビデオパートで用いられる技術の核となるのが、動き補償付予測（ＭＣ；Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｅｄ  ｐｒｅｄｉｃｔｉｏｎ）とＤＣＴである。ＭＣとＤＣＴを併用した符号化技術は、ハイブリッド符号化技術と呼ばれる。つまり、ＭＰＥＧ方式は、ＪＰＥＧ方式にＭＣを組み合わせた技術であるといえる。
【０００７】
ＭＰＥＧ方式は、各種蓄積メディア（ビデオＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＣＤ−ＲＯＭ、ＤＶＤ、ビデオテープ、不揮発性半導体メモリを用いたメモリカード、等）、
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の各種通信メディア、各種放送メディア（地上波放送、衛星放送、ＣＡＴＶ（Ｃｏｍｍｕｎｉｔｙ  Ａｎｔｅｎｎａ  Ｔｅｌｅｖｉｓｉｏｎ））を含む伝達メディア全般に対応している。
【０００８】
図９は、ＪＰＥＧ方式を用いた従来の電子スチルカメラ１０１のブロック回路図である。
電子スチルカメラ１０１は、ＪＰＥＧコア回路１０２、撮像デバイス１０３、信号処理回路１０４、フレームバッファ１０５、ディスプレイ１０６、表示回路１０７、メモリカード１０８、入出力回路１０９、データバス１１０，１１１から構成されている。
【０００９】
ＪＰＥＧコア回路１０２は、ＤＣＴ回路１２１、量子化回路１２２、ハフマン符号化回路１２３、符号量カウンタ１２４、ハフマン復号化回路１３１、逆量子化回路１３２、逆ＤＣＴ（ＩＤＣＴ；Ｉｎｖｅｒｓｅ  ＤＣＴ）回路１３３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３４，１３５、制御コア回路１３６から構成されている。
【００１０】
制御コア回路１３６は、電子スチルカメラ１０１の各回路１０２〜１１１を制御する。
撮像デバイス１０３はＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等から構成され、被写体画像を撮影して出力信号を生成する。信号処理回路１０４は、撮像デバイス１０３の出力信号から１画面ずつの画像データを生成する。信号処理回路１０４の生成した１画面ずつの画像データは、データバス１１０を介して、フレームバッファ１０５または表示回路１０７の少なくともいずれかへ転送される。
【００１１】
表示回路１０７は、データバス１１０を介して転送されてきた１画面ずつの画像データから画像信号を生成する。ディスプレイ１０６は、表示回路１０７の生成した画像信号を被写体画像として表示する。
フレームバッファ１０５は書き換え可能な半導体メモリ（例えば、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）、ＤＲＡＭ、ラムバスＤＲＡＭ、等）から構成され、データバス１１０を介して転送されてきた１画面（１フレーム）ずつの画像データを書き込んで記憶すると共に、記憶した画像データを１画面ずつ読み出す。フレームバッファ１０５から読み出された１画面ずつの画像データは、データバス１１０を介してＪＰＥＧコア回路１０２のＤＣＴ回路１２１へ転送される。
【００１２】
ＪＰＥＧコア回路１０２においては、１画面の画像データがＪＰＥＧ方式の規格によって定められた複数のマクロブロックに分割され、その各ブロック毎に圧縮・伸張処理が行われる。
ここで、ＤＣＴ回路１２１，量子化回路１２２，ハフマン符号化回路１２３はＪＰＥＧエンコーダを構成し、画像データの圧縮処理を行う。また、ハフマン復号化回路１３１，逆量子化回路１３２，逆ＤＣＴ回路１３３はＪＰＥＧデコーダを構成し、画像データの伸張処理を行う。
【００１３】
ＤＣＴ回路１２１は、フレームバッファ１０５から読み出された１画面ずつの画像データに対して、１画面の画像データを１ブロック単位で取り込み、その画像データに対して２次元の離散コサイン変換（ＤＣＴ）を行ってＤＣＴ係数を生成する。
【００１４】
量子化回路１２２は、ＤＣＴ回路１２１から供給されたＤＣＴ係数を、ＲＡＭ１３４に記憶された量子化テーブルに格納されている量子化しきい値を参照して量子化する。
ハフマン符号化回路１２３は、量子化回路１２２にて量子化されたＤＣＴ係数を、ＲＡＭ１３５に記憶されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮された画像データ（以下、圧縮画像データという）を１画面ずつ生成する。
【００１５】
符号量カウンタ１２４は、ハフマン符号化回路１２３の生成した１画面ずつの圧縮画像データの符号量をカウントする。
ハフマン符号化回路１２３の生成した圧縮画像データは、データバス１１１を介して、メモリカード１０８または入出力回路１０９の少なくともいずれかへ転送される。
【００１６】
メモリカード１０８は電子スチルカメラ１０１に対して着脱可能に装着されており、メモリカード１０８内にはフラッシュメモリ１０８ａが設けられている。フラッシュメモリ１０８ａは、データバス１１１を介して転送されてきた１画面ずつの圧縮画像データを書き込んで記憶すると共に、記憶した圧縮画像データを１画面ずつ読み出してデータバス１１１へ転送する。
【００１７】
入出力回路１０９は、データバス１１１を介して転送されてきた１画面ずつの圧縮画像データを、電子スチルカメラ１０１に接続された外部機器（例えば、外部ディスプレイ、パーソナルコンピュータ、プリンタ、等）へ出力すると共に、当該外部機器から入力された圧縮画像データをデータバス１１１へ転送する。
【００１８】
メモリカード１０８から読み出された圧縮画像データまたは入出力回路１０９を介して入力された圧縮画像データは、データバス１１１を介してＪＰＥＧコア回路１０２のハフマン復号化回路１３１へ転送される。
ハフマン復号化回路１３１は、データバス１１１を介して転送されてきた１画面ずつの圧縮画像データを、ＲＡＭ１３５に記憶されたハフマンテーブルに格納されているハフマン符号を参照して可変長復号化することにより、伸張された画像データ（以下、伸張画像データという）を１画面ずつ生成する。
【００１９】
逆量子化回路１３２は、ハフマン復号化回路１３１の生成した１画面ずつの伸張画像データを、ＲＡＭ１３４に記憶された量子化テーブルに格納されている量子化しきい値を参照して逆量子化することにより、ＤＣＴ係数を生成する。
逆ＤＣＴ回路１３３は、逆量子化回路１３２の生成したＤＣＴ係数に対して２次元の離散コサイン逆変換（ＩＤＣＴ）を行う。
【００２０】
逆ＤＣＴ回路１３３にて離散コサイン逆変換が行われた１画面ずつの伸張画像データは、データバス１１０を介してフレームバッファ１０５へ転送される。そして、フレームバッファ１０５は、逆ＤＣＴ回路１３３からデータバス１１０を介して転送されてきた１画面ずつの画像データを書き込んで記憶する。また、表示回路１０７は、逆ＤＣＴ回路１３３からデータバス１１０を介して転送されてきた１画面ずつの画像データから画像信号を生成し、その画像信号はディスプレイ１０６上で被写体画像として表示される。
【００２１】
ここで、ＲＡＭ１３４に記憶された量子化テーブルに格納された量子化しきい値は、圧縮画像データの圧縮率や、圧縮画像データを伸張した再生画像（ディスプレイ１０６の表示画像、外部機器にてメモリカード１０８から読み出されて再生された再生画像、入出力回路１０９に接続された外部機器にて再生された再生画像）の画質を決定するものである。また、ＲＡＭ１３５に記憶されたハフマンテーブルに格納されたハフマン符号は、量子化されたＤＣＴ係数または伸張画像データに対して予め予測される出現頻度に応じて割り当てられる可変長の符号であり、出現頻度の高いものに対して短く割り当てられる。
【００２２】
ところで、ハフマン符号化回路１２３の生成する１画面ずつの圧縮画像データの符号量は、電子スチルカメラ１０１に予め設定されている画質モードに応じて、その最大値が規定されている。これは、メモリカード１０８に記憶可能な画面の数（写真の枚数）が電子スチルカメラ１０１の画質モードによって定められているためであり、例えば、メモリカード１０８に記憶可能な写真の枚数は高画質モードでは数枚、低画質モードでは十数枚といった具合に定められている。つまり、高画質モードでは、圧縮画像データの圧縮率が低く設定されているため、１画面の圧縮画像データの符号量が大きくなり、メモリカード１０８に記憶可能な写真の枚数が少なくなる。また、低画質モードでは、圧縮画像データの圧縮率が高く設定されているため、１画面の圧縮画像データの符号量が少なくなり、メモリカード１０８に記憶可能な写真の枚数が多くなる。
【００２３】
従って、ハフマン符号化回路１２３の生成した１画面ずつの圧縮画像データの符号量が規定された最大値以下になるように、量子化しきい値およびハフマン符号を最適化する必要がある。ここで、フレームバッファ１０５から読み出された１画面ずつの画像データ（すなわち、信号処理回路１０４の生成した１画面ずつの画像データ）のデータ量は、撮像デバイス１０３の撮影した被写体画像に関係なく一定である。そのため、ハフマン符号化回路１２３の生成した圧縮画像データの圧縮率は、その圧縮画像データの符号量に対して一義的に算出され、当該符号量が大きいほど圧縮率は低くなる。つまり、圧縮画像データの符号量を規定された最大値以下にするとは、圧縮画像データの圧縮率を規定された最小値以上にすることに他ならない。
【００２４】
しかし、圧縮画像データの圧縮率（符号量）は、量子化しきい値およびハフマン符号と被写体画像との組み合わせにより大きく左右される。そのため、量子化しきい値およびハフマン符号が同じであっても、異なる被写体画像を撮影した場合には、圧縮画像データの圧縮率に大きな差が生じる。例えば、被写体画像が大勢の群衆のような複雑で細かい画像の場合には圧縮率を高くして符号量を低く抑える必要があり、被写体画像が雲一つない快晴の大空のような単純な画像の場合には圧縮率を低くして符号量を高くする必要がある。従って、圧縮画像データの圧縮率を求めるには、各回路１２１〜１２３による前記圧縮処理を行って実際に圧縮画像データを生成しなければならず、前記圧縮処理を行う前に圧縮率を予測するのは困難である。
【００２５】
そのため、従来の電子スチルカメラ１０１では、まず、量子化しきい値およびハフマン符号を規定値に設定して、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成し、その符号量を符号量カウンタ１２４にてカウントする。その結果、圧縮画像データの符号量が規定された最大値以下の場合には、設定した量子化しきい値およびハフマン符号が最適化されているといえるため、その設定値に量子化しきい値およびハフマン符号を決定する。
【００２６】
そして、決定した量子化しきい値およびハフマン符号に基づいて作成された圧縮画像データが、データバス１１１を介してメモリカード１０８または入出力回路１０９へ転送される。
しかし、圧縮画像データの符号量が規定された最大値を越えている場合には、量子化しきい値およびハフマン符号を前記規定値よりも少し大きな値に設定し直して、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを再び生成し、その符号量を符号量カウンタ１２４にてカウントする。その結果、圧縮画像データの符号量が最大値以下になった場合には、設定し直した量子化しきい値およびハフマン符号が最適化されているといえるため、その設定し直した値に量子化しきい値およびハフマン符号を決定する。
【００２７】
しかし、これでも圧縮画像データの符号量が最大値を越えている場合には、量子化しきい値およびハフマン符号をさらに大きな値に設定し直して、前記圧縮処理を再度行う。
このように、従来の電子スチルカメラ１０１では、圧縮画像データの符号量が規定された最大値以下になるように（すなわち、圧縮画像データの圧縮率が規定された最小値以上になるように）、量子化しきい値およびハフマン符号を最適化するために、各回路１２１〜１２３による前記圧縮処理を繰り返し行うようにしている。そのため、量子化しきい値およびハフマン符号を決定するにはある程度の時間を要する。
【００２８】
【発明が解決しようとする課題】
従来の電子スチルカメラ１０１には以下の問題があった。
▲１▼量子化しきい値およびハフマン符号を最適化するために、各回路１２１〜１２３による前記圧縮処理を繰り返し行うことから、その圧縮処理に要する時間分だけ、撮像デバイス１０３にて撮影を行ってからメモりカード１０８に圧縮画像データが記憶されるまでに要する時間（以下、記録待ち時間という）が長くなってしまう。
【００２９】
この問題を回避するには、前記記録待ち時間を予め短く設定しておくことが考えられるが、その場合は、各回路１２１〜１２３による前記圧縮処理を繰り返し行う回数が少なくなるため、量子化しきい値およびハフマン符号を最適化できなくなり、圧縮画像データを伸張した再生画像の画質の低下を招くおそれがある。
【００３０】
▲２▼各回路１２１〜１２３による前記圧縮処理を行う度に、フレームバッファ１０５から１画面ずつの画像データを読み出し、その画像データをデータバス１１０を介してＤＣＴ回路１２１へ転送しなければならない。つまり、各回路１２１〜１２３による前記圧縮処理を行う度に、データバス１１０を介してフレームバッファ１０５に読出アクセスを行わなければならない。そのため、フレームバッファ１０５に対するアクセスが混雑し、上記▲１▼の問題と相まって前記記録待ち時間がさらに長くなってしまう。また、フレームバッファ１０５に対するアクセスが混雑すると、信号処理回路１０４および表示回路１０７からフレームバッファ１０５に対して行われるアクセスの性能が低下することになる。
【００３１】
この問題を回避するには、フレームバッファ１０５およびデータバス１１０のバス幅を大きくしたり高速化すればよいが、そのようなフレームバッファ１０５は高価である上に消費電力も大きいため、電子スチルカメラ１０１のコストアップならびに消費電力の増大を招くことになる。特に、電子スチルカメラ１０１は電池で駆動されるため、消費電力の増大は大きな問題となる。
【００３２】
ところで、銀塩写真技術を使用したカメラでは撮影後ほぼ瞬時にフィルムに画像が記録されるため次々に連写することができる。それに対して、電子スチルカメラ１０１では前記記録待ち時間を要するため次々に連写することができず、ユーザーにストレスを感じさせていた。このストレスを払拭するために、近年、前記記録待ち時間を従来より以上に短縮することが求められている。
【００３３】
尚、上記▲１▼▲２▼の問題は、ＪＰＥＧエンコーダだけでなく、ＭＰＥＧエンコーダにおいても同様に起こるものである。つまり、前記したように、ＭＰＥＧ方式はＪＰＥＧ方式にＭＣを組み合わせた技術であり、ＭＰＥＧエンコーダはＪＰＥＧエンコーダ（ＤＣＴ回路１２１，量子化回路１２２，ハフマン符号化回路１２３）にＭＣ回路を付加して構成されるため、ＪＰＥＧエンコーダの上記▲１▼▲２▼の問題はＭＰＥＧエンコーダにも当てはまることになる。
【００３４】
本発明は上記問題点を解決するためになされたものであって、その目的は、符号化された圧縮後の画像データの符号量を所定値にした上で、画像データの高速かつ高精度な符号化を実現することにある。
【００３５】
【課題を解決するための手段】
かかる目的を達成するためになされた請求項１に記載の発明は、１画面の画像を構成する画像データに対して２次元離散コサイン変換を行い、離散コサイン変換係数を生成する離散コサイン変換回路と、前記離散コサイン変換回路から供給された離散コサイン変換係数を、予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化する量子化回路と、前記量子化回路にて量子化された離散コサイン変換係数を、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮画像データを生成するハフマン符号化回路と、前記ハフマン符号化回路の生成した圧縮画像データの符号量をカウントする符号量カウンタとを備え、前記符号量カウンタのカウントした圧縮画像データの符号量が所定値以下になるまで、前記量子化しきい値およびハフマン符号から成るパラメータの設定を変更しながら、前記離散コサイン変換回路と前記量子化回路と前記ハフマン符号化回路による圧縮処理を繰り返すことにより、圧縮画像データの符号量を所定値以下にするのに最適な前記パラメータを決定するエンコーダであって、前記１画面の画像を複数のブロックに分割し、そのブロックの内から選択するブロック数を変更して構成された複数のブロック群のそれぞれの画像データに対して前記圧縮処理を繰り返すことにより、前記ブロック群毎に前記符号量が所定値以下になるパラメータを設定し、この設定したパラメータによる前記符号量間の関係に基づいて前記最適なパラメータを決定するパラメータ決定手段を備え、前記パラメータ決定手段は、前記ブロックの内から所定のブロックを選択して構成された前記第１ブロック群の画像データに対して、前記圧縮処理を繰り返すことにより第１圧縮画像データを生成すると共に、第１ブロック群の画像データに対して最適化された前記圧縮パラメータを求め、前記第１ブロック群よりも多数のブロックを選択して構成された第２ブロック群の画像データに対して、前記圧縮処理を行うことにより第２圧縮画像データを生成すると共に、第２ブロック群の画像データに対して最適化された前記圧縮パラメータを求め、第１ブロック群のブロック数と第２ブロック群のブロック数とを同一としたときに換算される前記第１圧縮画像データと第２圧縮画像データの符号量の差である圧縮誤差を算出し、その圧縮誤差が許容値以内の場合は、第１ブロック群の画像データに対して最適化された圧縮パラメータを、前記最適な圧縮パラメータとして決定することをその要旨とする。
【００３６】
また、請求項２に記載の発明のように、前記圧縮誤差が許容値以内の場合に、第１ブロック群の画像データに対して最適化された圧縮パラメータに代えて、第２ブロック群の画像データに対して最適化された圧縮パラメータを前記最適な圧縮パラメータとして決定するようにしても良い。
【００３７】
従って、本発明によれば、選択したブロックの画像データに対して前記圧縮処理を繰り返すために、１画面の画像の全ての画像データに対して前記圧縮処理を繰り返す場合に比べて、前記パラメータを最適化した上で前記圧縮処理に要する時間を短縮することが可能になることから、画像データの高速かつ高精度な符号化を実現することができる。
【００３８】
また、請求項３に記載の発明のように、請求項１または請求項２に記載のエンコーダにおいて、前記１画面の画像データを複数の領域に分割し、その各領域を前記複数のブロックに分割し、各領域のブロックの内から選択するブロック数を各領域毎に変更しながら所定のブロックを選択し、その選択したブロックの画像データに対して前記圧縮処理を繰り返すことにより、各領域毎に前記最適なパラメータを決定するようにしてもよい。
【００３９】
従って、本発明によれば、各領域のブロックの内から選択するブロック数を各領域毎に変更しながら所定のブロックを選択し、その選択したブロックの画像データに対して前記圧縮処理を繰り返すために、１画面の画像を複数の領域に分割しない場合に比べて、前記パラメータを最適化した上で前記圧縮処理に要する時間を短縮することが可能になることから、画像データの高速かつ高精度な符号化を実現することができる。
【００４０】
請求項４に記載の発明は、１画面の画像を構成する画像データに対して２次元の離散コサイン変換を行い、離散コサイン変換係数を生成する離散コサイン変換回路と、前記離散コサイン変換回路から供給された離散コサイン変換係数を、予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化する量子化回路と、前記量子化回路にて量子化された離散コサイン変換係数を、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮画像データを生成するハフマン符号化回路と、前記ハフマン符号化回路の生成した圧縮画像データの符号量をカウントする符号量カウンタと、前記ハフマン符号化回路の生成した圧縮画像データを、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長復号化することにより伸張画像データを生成するハフマン復号化回路と、前記ハフマン復号化回路の生成した伸張画像データを、予め設定された量子化テーブルに格納されている量子化しきい値を参照して逆量子化することにより離散コサイン変換係数を生成し、その離散コサイン変換係数を前記量子化回路へ戻す逆量子化回路とを備えたエンコーダであって、前記量子化回路は、前記逆量子化回路から戻された離散コサイン変換係数を予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化し、前記符号量カウンタのカウントした圧縮画像データの符号量が所定値以下になるまで、前記量子化しきい値およびハフマン符号から成るパラメータの設定を変更しながら、前記量子化回路と前記ハフマン符号化回路と前記ハフマン復号化回路と前記逆量子化回路による処理を繰り返すことにより、圧縮画像データの符号量を所定値以下にするのに最適な前記パラメータを決定することをその要旨とする。
【００４１】
従って、本発明によれば、１画面の画像の画像データを離散コサイン変換回路に一旦転送した後は、前記パラメータを決定する際に、離散コサイン変換回路を使用しないため、前記処理を繰り返す度に１画面の画像の画像データを離散コサイン変換回路に転送する場合に比べて、前記パラメータを最適化した上で当該転送に要する時間を短縮することが可能になることから、画像データの高速かつ高精度な符号化を実現することができる。
【００４２】
請求項５に記載の発明は、１画面の画像を構成する画像データに対して２次元の離散コサイン変換を行い、離散コサイン変換係数を生成する離散コサイン変換回路と、前記離散コサイン変換回路から供給された離散コサイン変換係数を、予め設定された量子化テーブルに格納されている量子化しきい値を参照して量子化する量子化回路と、前記量子化回路にて量子化された離散コサイン変換係数を、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化することにより、圧縮画像データを生成するハフマン符号化回路と、前記ハフマン符号化回路の生成した圧縮画像データの符号量をカウントする符号量カウンタと、前記ハフマン符号化回路の生成した圧縮画像データを、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長復号化することにより伸張画像データを生成し、その伸張画像データを前記ハフマン符号化回路へ戻すハフマン復号化回路とを備えたエンコーダであって、前記ハフマン符号化回路は、前記ハフマン復号化回路から戻された伸張画像データを、予め設定されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化し、前記符号量カウンタのカウントした圧縮画像データの符号量が所定値以下になるまで、前記ハフマン符号の設定を変更しながら、前記ハフマン符号化回路と前記ハフマン復号化回路による処理を繰り返すことにより、圧縮画像データの符号量を所定値以下にするのに最適な前記ハフマン符号を決定することをその要旨とする。
【００４３】
従って、本発明においても、請求項４に記載の発明と同様の作用・効果を得ることができる、
ところで、請求項６に記載の発明のように、請求項４に記載のエンコーダにおいて、前記逆量子化回路は、前記量子化テーブルに格納されている量子化しきい値を参照する際に、その量子化しきい値として、前記量子化回路による前回の量子化に参照された量子化しきい値を使用しなければならない。
【００４４】
また、請求項７に記載の発明のように、請求項４または請求項５に記載のエンコーダにおいて、前記ハフマン復号化回路は、前記ハフマンテーブルに格納されているハフマン符号を参照する際に、そのハフマン符号として、前記ハフマン符号化回路による前回の可変長符号化に参照されたハフマン符号を使用しなければならない。
【００４５】
また、請求項８に記載の発明のように、請求項４〜７のいずれか１項に記載のエンコーダにおいて、前記ハフマン符号化回路の生成した圧縮画像データを記憶し、その記憶した画像データを読み出して前記ハフマン復号化回路へ転送するメモリを備えるようにしてもよい。
【００４６】
また、請求項９に記載の発明のように、請求項１〜８のいずれか１項に記載のエンコーダにおいて、前記１画面の画像の画像データを記憶し、その記憶した画像データを読み出して前記離散コサイン変換回路へ転送するフレームバッファを備えるようにしてもよい。
【００４７】
尚、以下に述べる発明の実施の形態において、特許請求の範囲または課題を解決するための手段に記載の「第１ブロック群」「第２ブロック群」は、画面Ｐ２を構成するブロックＢｓ１と画面Ｐ３を構成するブロックＢｓ２、または、画面Ｐ３を構成するブロックＢｓ２と画面Ｐ４を構成するブロックＢｓ３に相当し、同じく「メモリ」はＲＡＭ６に相当する。
【００４８】
【発明の実施の形態】
（第１実施形態）
以下、本発明を具体化した第１実施形態を図面と共に説明する。尚、本第１実施形態において、従来の形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【００４９】
図１は、ＪＰＥＧ方式を用いた本第１実施形態の電子スチルカメラ１のブロック回路図である。
電子スチルカメラ１の構成において、図９に示した従来の電子スチルカメラ１０１と異なるのは以下の点である。
【００５０】
（１）電子スチルカメラ１には、電子スチルカメラ１０１のＪＰＥＧコア回路１０２に相当するＪＰＥＧコア回路２が備えられている。
（２）ＪＰＥＧコア回路２では、電子スチルカメラ１０１のＲＡＭ１３４，１３５が省かれ、その代わりにＲＡＭ４ａ，４ｂ，５ａ，５ｂが備えられている。
【００５１】
ＲＡＭ４ａ，４ｂは、量子化しきい値が格納された量子化テーブルを記憶している。ＲＡＭ５ａ，５ｂは、ハフマン符号が格納されたハフマンテーブルを記憶している。
（３）電子スチルカメラ１にはＲＡＭ６が備えられている。ＲＡＭ６は、データバス１１１を介して転送されてきた１画面分の圧縮画像データを書き込んで記憶すると共に、記憶した１画面分の圧縮画像データを読み出してデータバス１１１へ転送する。
【００５２】
（４）電子スチルカメラ１には、電子スチルカメラ１０１の制御コア回路１３６に相当する制御コア回路３が備えられている。制御コア回路３は、電子スチルカメラ１の各回路２，１０３〜１１１を制御する。
（５）電子スチルカメラ１では、逆量子化回路１３２の生成したＤＣＴ係数が、逆ＤＣＴ回路１３３に出力されるだけでなく、量子化回路１２２にも出力されて戻されるようになっている。
【００５３】
次に、本第１実施形態の電子スチルカメラ１において、量子化しきい値およびハフマン符号を決定する動作について説明する。
まず、１画面分の画像データをフレームバッファ１０５から読み出し、その１画面分の画像データを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送し、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成し、その符号量を符号量カウンタ１２４にてカウントする。
【００５４】
このとき、量子化回路１２２は、ＲＡＭ４ａに記憶された量子化テーブルに格納されている量子化しきい値を参照して量子化を行うが、その量子化しきい値を規定されたなるべく小さい値（初期値）に設定しておく。尚、本実施形態の場合、量子化しきい値の最小値は「ａｌｌ  １」、最大値は「ａｌｌ  ２５５」であるが、量子化しきい値を最小値にすると圧縮画像データの圧縮率がかなり低くなるため、最小値よりは大きめの値を量子化しきい値の初期値とすることが望ましい。
【００５５】
また、ハフマン符号化回路１２３は、ＲＡＭ５ａに記憶されたハフマンテーブルに格納されているハフマン符号を参照して可変長符号化を行うが、そのハフマン符号を規定された初期値（例えば、ＪＰＥＧ推奨テーブル等）に設定しておく。
【００５６】
そして、ハフマン符号化回路１２３の生成した圧縮画像データの符号量が規定された最大値以下の場合には、設定した量子化しきい値およびハフマン符号が最適化されているといえるため、その設定値に量子化しきい値およびハフマン符号を決定する。
しかし、ハフマン符号化回路１２３の生成した圧縮画像データの符号量が規定された最大値を越えている場合には、その圧縮画像データを、データバス１１１を介してＲＡＭ６へ転送して記憶させると共に、データバス１１１を介してハフマン復号化回路１３１→逆量子化回路１３２の経路で転送する。
【００５７】
そして、各回路１３１，１３２による前記処理を行い、逆量子化回路１３２の生成したＤＣＴ係数を、逆ＤＣＴ回路１３３ではなく、量子化回路１２２へ出力して戻す。
このとき、ハフマン復号化回路１３１は、ＲＡＭ５ｂに記憶されたハフマンテーブルに格納されているハフマン符号を参照して可変長復号化を行うが、そのハフマン符号として、ハフマン符号化回路１２３による可変長符号化に参照されたハフマン符号（すなわち、初期値のハフマン符号）を使用する。
【００５８】
また、逆量子化回路１３２は、ＲＡＭ４ｂに記憶された量子化テーブルに格納されている量子化しきい値を参照して逆量子化を行うが、その量子化しきい値として、量子化回路１２２による量子化に参照された量子化しきい値（すなわち、初期値の量子化しきい値）を使用する。
【００５９】
そして、量子化回路１２２は、逆量子化回路１３２から入力されたＤＣＴ係数を、ＲＡＭ４ａの量子化テーブルに格納されている量子化しきい値を参照して量子化する。また、ハフマン符号化回路１２３は、量子化回路回路１２２にて量子化されたＤＣＴ係数を、ＲＡＭ５ａのハフマンテーブルに格納されているハフマン符号を参照して可変長符号化し、圧縮画像データを再び生成する。このとき、ＲＡＭ４ａの量子化しきい値およびＲＡＭ５ａのハフマン符号を共に、前記初期値よりも少し大きな値に設定し直しておく。
【００６０】
その結果、ハフマン符号化回路１２３が再び生成した圧縮画像データの符号量が最大値以下になった場合には、設定し直した量子化しきい値およびハフマン符号が最適化されているといえるため、その設定し直した値に量子化しきい値およびハフマン符号を決定する。
【００６１】
しかし、これでも圧縮画像データの符号量が最大値を越えている場合には、ＲＡＭ６から読み出した圧縮画像データをデータバス１１１を介してハフマン復号化回路１３１→逆量子化回路１３２の経路で転送する。そして、各回路１３１，１３２による前記処理を再び行い、逆量子化回路１３２の生成したＤＣＴ係数を、量子化回路１２２へ再び出力して戻す。
【００６２】
このとき、ハフマン復号化回路１３１は、ＲＡＭ５ｂに記憶されたハフマンテーブルに格納されているハフマン符号を参照して可変長復号化を行うが、そのハフマン符号として、ハフマン符号化回路１２３による前回の可変長符号化に参照されたハフマン符号（すなわち、前記初期値よりも少し大きな値に設定し直したハフマン符号）を使用する。
【００６３】
また、逆量子化回路１３２は、ＲＡＭ４ｂに記憶された量子化テーブルに格納されている量子化しきい値を参照して逆量子化を行うが、その量子化しきい値として、量子化回路１２２による前回の量子化に参照された量子化しきい値（すなわち、前記初期値よりも少し大きな値に設定し直した量子化しきい値）を使用する。
【００６４】
本第１実施形態において、量子化しきい値およびハフマン符号を決定するためのデータ転送の経路をまとめると、以下のようになる。
１回目の経路；フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１→量子化回路１２２→ハフマン符号化回路１２３→データバス１１１→ＲＡＭ６およびハフマン復号化回路１３１。
【００６５】
２回目の経路；１回目の経路に続いて、ハフマン復号化回路１３１→逆量子化回路１３２→量子化回路１２２→ハフマン符号化回路１２３。
３回目の経路；ＲＡＭ６→ハフマン復号化回路１３１→逆量子化回路１３２→量子化回路１２２→ハフマン符号化回路１２３。
【００６６】
４回目以降の経路；３回目と同じ。
つまり、圧縮画像データの符号量が規定された最大値以下になって量子化しきい値およびハフマン符号が決定されるまで、３回目と同じ経路が繰り返される。このとき、３回目と同じ経路を繰り返す度に、ＲＡＭ４ａの量子化しきい値およびＲＡＭ５ａのハフマン符号を共に、少しずつ大きな値に設定し直してゆく。そして、ＲＡＭ４ｂの量子化しきい値は、前回の経路における量子化にてＲＡＭ４ａに設定された量子化しきい値を使用する。また、ＲＡＭ５ｂのハフマン符号は、前回の経路における可変長符号化にてＲＡＭ５ａに設定されたハフマン符号を使用する。
【００６７】
このようにして、量子化しきい値およびハフマン符号が決定されたら、１画面分の画像データをフレームバッファ１０５から再び読み出し、その１画面分の画像データを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送し、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成して、その圧縮画像データをデータバス１１１へ転送する。
【００６８】
以上説明したように、本第１実施形態の電子スチルカメラ１によれば以下の作用・効果を得ることができる。
（１−１）撮像デバイス１０３にて撮影を行ってからメモりカード１０８に圧縮画像データが記憶されるまでに要する時間（記録待ち時間）を短縮することができる。
【００６９】
すなわち、前記２回目の経路以降の経路では、フレームバッファ１０５から画像データを読み出さない。そのため、フレームバッファ１０５から画像データが読み出されるのは、前記１回目の経路と、決定した量子化しきい値およびハフマン符号に基づいて圧縮画像データを生成するときだけである。つまり、フレームバッファ１０５に対する読出アクセスが２回だけになる。
【００７０】
フレームバッファ１０５から１画面分の画像データを読み出すのに要する時間は、ＪＰＥＧコア回路２の処理に要する時間に比べて非常に長い。そのため、フレームバッファ１０５に対する読出アクセスが２回だけになれば、前記記録待ち時間を短縮することができる。
【００７１】
また、フレームバッファ１０５に対する読出アクセスが２回だけになれば、フレームバッファ１０５およびデータバス１１０のバス幅を大きくすることなく、フレームバッファ１０５に対するアクセスの混雑を回避することが可能になる。そのため、信号処理回路１０４および表示回路１０７からフレームバッファ１０５に対して行われるアクセスの性能を向上させることができる。
【００７２】
（１−２）前記記録待ち時間を短縮した上で、各回路１２２，１２３による前記圧縮処理を繰り返し行う回数を十分に多くすることができる。そのため、量子化しきい値およびハフマン符号を最適化することが可能になり、高精度な圧縮画像データを生成できることから、圧縮画像データを伸張した再生画像の画質の低下を防ぐことができる。
【００７３】
尚、本発明は上記第１実施形態に限定されるものではなく、以下のように変更してもよく、その場合でも、上記第１実施形態と同等もしくはそれ以上の作用・効果を得ることができる。
［１−１］上記第１実施形態では、前記３回目以降の経路において、ＲＡＭ６から読み出した圧縮画像データをハフマン復号化回路１３１へ転送している。これは、各回路１２２，１２３の処理により発生する圧縮精度の低下と、各回路１３１，１３２の処理により発生する発生する伸張精度の低下との相乗作用により、圧縮画像データの精度が低下するのを防ぐためである。つまり、３回目以降の経路において、ハフマン符号化回路１２３の生成した圧縮画像データをハフマン復号化回路１３１へ直接転送すると、３回目と同じ経路を繰り返す度に圧縮画像データの精度が低下してゆき、決定された量子化しきい値およびハフマン符号が最適化されなくなるおそれがある。
【００７４】
しかし、各回路１２２，１２３，１３１，１３２の処理による精度低下が少ない場合には、３回目以降の経路において、ハフマン符号化回路１２３の生成した圧縮画像データをハフマン復号化回路１３１へ直接転送してもよく、この場合にはＲＡＭ６を省くことができる。
【００７５】
［１−２］上記第１実施形態では、量子化しきい値およびハフマン符号が決定されたら、フレームバッファ１０５から画像データを再び読み出し、その画像データから圧縮画像データを生成している。これは、上記［１−１］と同様に、各回路１２２，１２３，１３１，１３２の処理による精度低下により、圧縮画像データの精度が低下するのを防ぐためである。
【００７６】
しかし、各回路１２２，１２３，１３１，１３２の処理による精度低下が少ない場合には、量子化しきい値およびハフマン符号が決定されたら、フレームバッファ１０５から画像データを読み出さずに、最後の経路においてハフマン符号化回路１２３で生成された圧縮画像データを、完成した圧縮画像データとしてデータバス１１１へ転送するようにしてもよい。
【００７７】
この場合、フレームバッファ１０５から画像データが読み出されるのは前記１回目の経路だけになり、フレームバッファ１０５に対する読出アクセスは１回だけになる。従って、上記第１実施形態の効果をさらに高めることができる。また、１回目の経路が終わったらフレームバッファ１０５をすぐに書き換えることが可能になるため、連写する場合やＭ−ＪＰＥＧに適用した場合にも、フレームバッファ１０５の容量を増やすことなく対応することができる。
【００７８】
［１−３］ＲＡＭ６の機能をメモリカード１０８のフラッシュメモリ１０８ａに肩代わりさせることにより、ＲＡＭ６を省いてもよい。
［１−４］電子スチルカメラに限らず、ＣＤ−ＲＯＭシステム等の画像データのエンコーダに適用してもよい。
【００７９】
［１−５］ＪＰＥＧエンコーダに限らず、ＭＰＥＧエンコーダに適用してもよい。前記したように、ＭＰＥＧ方式はＪＰＥＧ方式にＭＣを組み合わせた技術であり、ＭＰＥＧエンコーダはＪＰＥＧエンコーダ（ＤＣＴ回路１２１，量子化回路１２２，ハフマン符号化回路１２３）にＭＣ回路を付加して構成される。
【００８０】
（第２実施形態）
次に、本発明を具体化した第２実施形態を図１に基づいて説明する。尚、本第２実施形態において、第１実施形態と同じ構成部材については符号を等しくしてその詳細な説明を省略する。
【００８１】
本第２実施形態の電子スチルカメラ１１の構成において、図１に示した第１実施形態の電子スチルカメラ１と異なるのは以下の点である。
［１］電子スチルカメラ１１では、逆量子化回路１３２の生成したＤＣＴ係数が逆ＤＣＴ回路１３３にだけ出力されるようになっている。
【００８２】
［２］電子スチルカメラ１１では、ハフマン復号化回路１３１の生成した伸張画像データが、逆量子化回路１３２に出力されるだけでなく、ハフマン符号化回路１２３にも出力されて戻されるようになっている。
本第２実施形態において、量子化しきい値およびハフマン符号を決定するためのデータ転送の経路をまとめると、以下のようになる。
【００８３】
１回目の経路；第１実施形態と同じ（フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１→量子化回路１２２→ハフマン符号化回路１２３→データバス１１１→ＲＡＭ６およびハフマン復号化回路１３１）。
２回目の経路；１回目の経路に続いて、ハフマン復号化回路１３１→ハフマン符号化回路１２３。
【００８４】
３回目の経路；ＲＡＭ６→ハフマン復号化回路１３１→ハフマン符号化回路１２３。
４回目以降の経路；３回目と同じ。
つまり、本第２実施形態の動作において、第１実施形態の動作と異なるのは、２回目以降の経路において、逆量子化回路１３２の生成したＤＣＴ係数を量子化回路１２２に出力するのではなく、ハフマン復号化回路１３１の生成した伸張画像データをハフマン符号化回路１２３に出力して戻すことにより、最適化されたハフマン符号を決定する点にある。
【００８５】
従って、本第２実施形態の電子スチルカメラ１１においても、第１実施形態と同様の作用・効果を得ることができる。尚、第１実施形態と第２実施形態とを併用してもよく、その場合は相乗効果を得ることができる。
（第３実施形態）
以下、本発明を具体化した第３実施形態を図面と共に説明する。
【００８６】
本第３実施形態の電子スチルカメラの構成は、図９に示した従来の電子スチルカメラ１０１と同じである。
従来の電子スチルカメラ１０１において、量子化しきい値およびハフマン符号を決定する際に、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送される画像データは、１画面分全ての画像データである。
【００８７】
それに対して、本第３実施形態の電子スチルカメラでは、量子化しきい値およびハフマン符号を決定する際に、フレームバッファ１０５から読み出される画像データの１画面を複数のブロックに分割し、そのブロックのうち所定のブロックの画像データのみを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送されるようにしている。
【００８８】
すなわち、図２（ａ）に示すように、フレームバッファ１０５から読み出される画像データの１画面Ｐ１を、縦横１６個ずつ（１６行×１６列）の２５６個のブロックＢａに分割する。尚、ブロックＢａはマクロブロックを単位として設定され、１つのブロックＢａは縦ｍ個横ｎ個（ｍ行×ｎ行。ｍ，ｎは自然数）のマクロブロックによって構成されている。
【００８９】
次に、各ブロックＢａの内から、１画面Ｐ１の左上端部から縦横方向へ３個おきに配置されているブロックＢａ（以下、「Ｂｓ１」と符号を付して区別する）を選択し、図２（ｂ）に示すように、その（４行×４列）１６個のブロックＢｓ１から成る画面Ｐ２を作成する。
【００９０】
そして、画面Ｐ２分の画像データのみをフレームバッファ１０５から読み出し、その画面Ｐ２分の画像データのみを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送し、量子化しきい値およびハフマン符号を画面Ｐ２に対して予め定められた設定値に設定して、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成し、その符号量を符号量カウンタ１２４にてカウントする。この圧縮画像データの符号量が画面Ｐ２に対して規定された最大値以下になるまで、各回路１２１〜１２３による前記圧縮処理を繰り返し行うことにより、画面Ｐ２の画像データに基づいた量子化しきい値およびハフマン符号を仮決定する。
【００９１】
続いて、図３（ａ）に示すように、画面Ｐ１の各ブロックＢａの内から、画面Ｐ１の左上端部から縦横方向へ１個おきに配置されているブロックＢａ（以下、「Ｂｓ２」と符号を付して区別する）を選択し、図３（ｂ）に示すように、その（８行×８列）６４個のブロックＢｓ２から成る画面Ｐ３を作成する。
【００９２】
そして、画面Ｐ３分の画像データのみをフレームバッファ１０５から読み出し、その画面Ｐ３分の画像データのみを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送し、画面Ｐ２の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を参照して、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成し、その符号量を符号量カウンタ１２４にてカウントする。この圧縮画像データの符号量が画面Ｐ３に対して規定された最大値以下になるまで、各回路１２１〜１２３による前記圧縮処理を繰り返し行うことにより、画面Ｐ３の画像データに基づいた量子化しきい値およびハフマン符号を仮決定する。
【００９３】
ここで、各画面Ｐ１，Ｐ２の画像データの符号量の間には、式（１）に示す関係がある。
ＳＰ１＝ＳＰ２×１６＋Ｅ１      ………（式１）
但し、ＳＰ１；画面Ｐ１の画像データの符号量
ＳＰ２；画面Ｐ２の画像データの符号量
Ｅ１；各画面Ｐ１，Ｐ２の画像データ間の圧縮誤差
つまり、２５６個のブロックＢａから成る画面Ｐ１上に均等に配置された１６個のブロックＢｓ１（＝Ｂａ）によって画面Ｐ２が構成されることから、画面Ｐ２のサイズは画面Ｐ１の１／１６となる。しかし、画面Ｐ１から画面Ｐ２を構成する各ブロックＢｓ１を除いた部分に存在する被写体画像の情報は、画面Ｐ２分の画像データには含まれていないため、画面Ｐ２の画像データの符号量ＳＰ２を単純に１６倍した値は、画面Ｐ１の画像データの符号量ＳＰ１と同じにはならない。従って、符号量ＳＰ２を１６倍した値に、画面Ｐ１から画面Ｐ２を構成する各ブロックＢｓ１を除いた部分に存在する被写体画像の情報に起因する圧縮誤差Ｅ１を加えた値が、符号量ＳＰ１の値となる。
【００９４】
ここで、各画面Ｐ２，Ｐ３を構成する各ブロックＢｓ１，Ｂｓ２の関係は、図４に示すようになっている。すなわち、図４（ａ）に示すように、画面Ｐ３の６４個の各ブロックＢｓ２の内から、画面Ｐ３の左上端部から縦横方向へ１個おきに配置されているブロックＢｓ２がブロックＢｓ１として選択され、図４（ｂ）に示すように、その１６個のブロックＢｓ１によって構成されたのが画面Ｐ２となる。
【００９５】
そのため、各画面Ｐ２，Ｐ３の画像データの符号量の間には、式（２）に示す関係がある。
ＳＰ３＝ＳＰ２×４＋Ｅ２      ………（式２）
但し、ＳＰ３；画面Ｐ３の画像データの符号量
Ｅ２；各画面Ｐ２，Ｐ３の画像データ間の圧縮誤差
つまり、６４個のブロックＢｓ２から成る画面Ｐ３上に均等に配置された１６個のブロックＢｓ１によって画面Ｐ２が構成されることから、画面Ｐ２のサイズは画面Ｐ３の１／４となる。しかし、画面Ｐ３から画面Ｐ２を構成する各ブロックＢｓ１を除いた部分に存在する被写体画像の情報は、画面Ｐ２分の画像データには含まれていないため、画面Ｐ２の画像データの符号量ＳＰ２を単純に４倍した値は、画面Ｐ３の画像データの符号量ＳＰ３と同じにはならない。従って、符号量ＳＰ２を４倍した値に、画面Ｐ３から画面Ｐ２を構成する各ブロックＢｓ１を除いた部分に存在する被写体画像の情報に起因する圧縮誤差Ｅ２を加えた値が、符号量ＳＰ３の値となる。
【００９６】
本第３実施形態において、圧縮誤差Ｅ２が許容値以内の場合は、圧縮誤差Ｅ１についても許容値以内になっているものと見なし、画面Ｐ２の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を、画面Ｐ１の画像データに対して最適化された量子化しきい値およびハフマン符号であるとして本決定する。
【００９７】
そして、画面Ｐ１の全ての画像データをフレームバッファ１０５から読み出し、その画面Ｐ１の画像データを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送し、前記本決定した量子化しきい値およびハフマン符号を参照して、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成する。その圧縮画像データが、データバス１１１を介してメモリカード１０８または入出力回路１０９へ転送される。
【００９８】
また、圧縮誤差Ｅ２が許容値を越える場合は、図５（ａ）に示すように、画面Ｐ１の各ブロックＢａの内から、画面Ｐ１の左上端部から縦横方向へ１個おいた後に３個連続して配置されているブロックＢａ（以下、「Ｂｓ３」と符号を付して区別する）を選択し、図５（ｂ）に示すように、その（１２行×１２行）１４４個のブロックＢｓ３から成る画面Ｐ４を作成する。
【００９９】
そして、画面Ｐ４分の画像データのみをフレームバッファ１０５から読み出し、その画面Ｐ４分の画像データのみを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送し、画面Ｐ３の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を参照して、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成し、その符号量を符号量カウンタ１２４にてカウントする。この圧縮画像データの符号量が画面Ｐ４に対して規定された最大値以下になるまで、各回路１２１〜１２３による前記圧縮処理を繰り返し行うことにより、画面Ｐ４の画像データに基づいた量子化しきい値およびハフマン符号を仮決定する。
【０１００】
ここで、各画面Ｐ３，Ｐ４を構成する各ブロックＢｓ２，Ｂｓ３の関係は、図６に示すようになっている。すなわち、図６（ａ）に示すように、画面Ｐ４の１４４個の各ブロックＢｓ３の内から、画面Ｐ４の左上端部から縦横方向へ２個連続して配置されているブロックＢｓ３がブロックＢｓ２として選択され、図６（ｂ）に示すように、その６４個のブロックＢｓ１によって構成されたのが画面Ｐ３となる。
【０１０１】
そのため、各画面Ｐ３，Ｐ４の画像データの符号量の間には、式（３）に示す関係がある。
ＳＰ４＝ＳＰ３×１４４／６４＋Ｅ３      ………（式３）
但し、ＳＰ４；画面Ｐ３の画像データの符号量
Ｅ３；各画面Ｐ３，Ｐ４の画像データ間の圧縮誤差
つまり、１４４個のブロックＢｓ３から成る画面Ｐ４上に均等に配置された６４個のブロックＢｓ２によって画面Ｐ３が構成されることから、画面Ｐ３のサイズは画面Ｐ４の６４／１４４となる。しかし、画面Ｐ４から画面Ｐ３を構成する各ブロックＢｓ２を除いた部分に存在する被写体画像の情報は、画面Ｐ３分の画像データには含まれていないため、画面Ｐ３の画像データの符号量ＳＰ３を単純に１４４／６４倍した値は、画面Ｐ４の画像データの符号量ＳＰ４と同じにはならない。従って、符号量ＳＰ３を１４４／６４倍した値に、画面Ｐ４から画面Ｐ３を構成する各ブロックＢｓ２を除いた部分に存在する被写体画像の情報に起因する圧縮誤差Ｅ３を加えた値が、符号量ＳＰ４の値となる。
【０１０２】
本第３実施形態において、圧縮誤差Ｅ３が許容値以内の場合は、圧縮誤差Ｅ１についても許容値以内になっているものと見なし、画面Ｐ３に基づいて仮決定した量子化しきい値およびハフマン符号を、画面Ｐ１の画像データに対して最適化された量子化しきい値およびハフマン符号であるとして本決定する。
【０１０３】
そして、画面Ｐ１の全ての画像データをフレームバッファ１０５から読み出し、その画面Ｐ１の画像データを、フレームバッファ１０５→データバス１１０→ＤＣＴ回路１２１の経路で転送し、前記本決定した量子化しきい値およびハフマン符号を参照して、各回路１２１〜１２３による前記圧縮処理を行って圧縮画像データを生成する。その圧縮画像データが、データバス１１１を介してメモリカード１０８または入出力回路１０９へ転送される。
【０１０４】
また、圧縮誤差Ｅ３が許容値を越える場合は、従来の電子スチルカメラ１０１と同様に、画面Ｐ１の全ての画像データに基づいて量子化しきい値およびハフマン符号を決定し、その決定した量子化しきい値およびハフマン符号により圧縮画像データを生成してデータバス１１１へ転送する。
【０１０５】
図７は、本第３実施形態の動作を説明するためのフローチャートである。
まず、ステップ（以下、「ＳＴ」と記載する）１では、画面Ｐ２の画像データについて、画面Ｐ２に対して設定された量子化しきい値およびハフマン符号を参照して圧縮画像データを生成し、その符号量ＳＰ２を求めると共に、画面Ｐ２の画像データに基づいた量子化しきい値およびハフマン符号を仮決定する。
【０１０６】
次に、ＳＴ２では、画面Ｐ３の画像データについて、画面Ｐ２の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を参照して圧縮画像データを生成し、その符号量ＳＰ３を求めると共に、画面Ｐ３の画像データに基づいた量子化しきい値およびハフマン符号を仮決定する。
【０１０７】
次に、ＳＴ３では、各符号量ＳＰ２，ＳＰ３から圧縮誤差Ｅ２を算出し、圧縮誤差Ｅ２が許容値以内の場合（ＳＴ３：ＹＥＳ）はＳＴ４へ移行し、許容値を越える場合（ＳＴ３：ＮＯ）はＳＴ５へ移行する。
ＳＴ３からＳＴ４へ移行した場合、ＳＴ４では、画面Ｐ２の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を、画面Ｐ１の画像データに対して最適化された量子化しきい値およびハフマン符号であるとして本決定し、その後にＳＴ６へ移行する。
【０１０８】
ＳＴ６では、画面Ｐ１の画像データについて、ＳＴ４にて本決定した量子化しきい値およびハフマン符号に基づいて圧縮画像データを生成し、その圧縮画像データをデータバス１１１へ転送してエンコード処理を終了する。
また、ＳＴ５では、画面Ｐ４の画像データについて、画面Ｐ３の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を参照して圧縮画像データを生成し、その符号量ＳＰ４を求めると共に、画面Ｐ４の画像データに基づいた量子化しきい値およびハフマン符号を仮決定する。
【０１０９】
次に、ＳＴ７では、各符号量ＳＰ３，ＳＰ４から圧縮誤差Ｅ３を算出し、圧縮誤差Ｅ３が許容値以内の場合（ＳＴ７：ＹＥＳ）はＳＴ４へ移行し、許容値を越える場合（ＳＴ７：ＮＯ）はＳＴ８へ移行する。
ＳＴ７からＳＴ４へ移行した場合、ＳＴ４では、画面Ｐ３の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を、画面Ｐ１の画像データに対して最適化された量子化しきい値およびハフマン符号であるとして本決定する。
【０１１０】
また、ＳＴ８では、画面Ｐ１の画像データについて、従来の電子スチルカメラ１０１と同様に、画面Ｐ１の全ての画像データに基づいて量子化しきい値およびハフマン符号を決定し、その後にＳＴ６へ移行する。
ＳＴ６では、画面Ｐ１の画像データについて、ＳＴ８にて決定した量子化しきい値およびハフマン符号に基づいて圧縮画像データを生成し、その圧縮画像データをデータバス１１１へ転送してエンコード処理を終了する。
【０１１１】
ところで、上記ＳＴ１〜ＳＴ８の処理は制御コア回路１３６により、各回路１０２〜１１１が制御されることにより行われる。つまり、制御コア回路１３６は、画面Ｐ１の画像を複数のブロックＢａに分割させ、そのブロックＢａの内から選択するブロック数を変更しながら所定のブロックＢａを選択させ、その選択したブロックＢａの画像データに対して前記圧縮処理を繰り返させることにより、圧縮画像データの符号量を規定された最大値以下にするのに最適な量子化しきい値およびハフマン符号から成るパラメータを決定する動作を行う。すなわち、制御コア回路１３６はＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）−ＣＰＵの機能を備え、制御コア回路１３６の前記動作はＲＩＳＣ−ＣＰＵがソフトウェアにより処理している。尚、第１，第２実施形態の制御コア回路３についても、本第３実施形態の制御コア回路１３６と同様に、ＲＩＳＣ−ＣＰＵの機能を備えている。
【０１１２】
以上説明したように、本第３実施形態によれば以下の作用・効果を得ることができる。
（３−１）前記記録待ち時間を短縮することができる。
すなわち、上記ＳＴ１，ＳＴ２，ＳＴ５ではそれぞれ、フレームバッファ１０５から画面Ｐ２，Ｐ３，Ｐ４分の画像データを読み出し、その画像データがデータバス１１０を介してＤＣＴ回路１２１へ転送される。各画面Ｐ２，Ｐ３，Ｐ４の画面サイズは画面Ｐ１の画面サイズに比べて小さく、画像データのデータ量は画面サイズに比例する。そのため、画面Ｐ１の画像データ量に対して、画面Ｐ２の画像データ量は１／１６、画面Ｐ３の画像データ量は１／４、画面Ｐ４の画像データ量は１４４／２５６になる。
【０１１３】
そして、各回路１２１〜１２３による前記圧縮処理に要する時間は、画像データのデータ量に比例する。そのため、ＳＴ１，ＳＴ２，ＳＴ５の処理時間は、ＳＴ８の処理時間に比べて短くなる。また、通常の被写体画像については、ＳＴ１→ＳＴ２→ＳＴ３→ＳＴ４→ＳＴ６の順番で処理が行われ、ＳＴ５に移行することは稀であり、ＳＴ８に移行することは極めて稀である。従って、本第３実施形態において量子化しきい値およびハフマン符号化の最終的な決定に要する時間は、従来の電子スチルカメラ１０１よりも短くなる。
【０１１４】
また、ＳＴ１〜ＳＴ８の処理を行うことにより、前記記録待ち時間を短縮した上で、各回路１２１〜１２３による前記圧縮処理を繰り返し行う回数を十分に多くすることができる。そのため、量子化しきい値およびハフマン符号を最適化することが可能になり、高精度な圧縮画像データを生成できることから、圧縮画像データを伸張した再生画像の画質の低下を防ぐことができる。
【０１１５】
（３−２）各画面Ｐ２，Ｐ３，Ｐ４の画像データ量は画面Ｐ１の画像データ量に比べて少ないため、ＳＴ１，ＳＴ２，ＳＴ５においてフレームバッファ１０５の読出アクセスに要する時間は、ＳＴ８においてフレームバッファ１０５の読出アクセスに要する時間よりも短くなる。そのため、フレームバッファ１０５に対するアクセスが削減されることから、フレームバッファ１０５およびデータバス１１０のバス幅を大きくすることなく、フレームバッファ１０５に対するアクセスの混雑を回避することが可能になる。
【０１１６】
従って、上記（１）の効果と相まって前記記録待ち時間をさらに短縮することができる。また、信号処理回路１０４および表示回路１０７からフレームバッファ１０５に対して行われるアクセスの性能を向上させることもできる。
尚、本発明は上記第３実施形態に限定されるものではなく、以下のように変更してもよく、その場合でも、上記第３実施形態と同等もしくはそれ以上の作用・効果を得ることができる。
【０１１７】
［３−１］ＳＴ３からＳＴ４へ移行した場合、ＳＴ４では、画面Ｐ２ではなく、画面Ｐ３の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を、画面Ｐ１の画像データに対して最適化された量子化しきい値およびハフマン符号であるとして本決定する。
【０１１８】
そして、ＳＴ７からＳＴ４へ移行した場合、ＳＴ４では、画面Ｐ３ではなく、画面Ｐ４の画像データに基づいて仮決定した量子化しきい値およびハフマン符号を、画面Ｐ１の画像データに対して最適化された量子化しきい値およびハフマン符号であるとして本決定する。
【０１１９】
［３−２］上記第３実施形態では、画面Ｐ１を（１６行×１６行）の２５６個のブロックＢａに分割したが、画面Ｐ１を縦ｒ個横ｓ個（ｒ行×ｓ行。ｒ，ｓは自然数）のブロックＢａに分割するようにしてもよい。尚、この場合も、ブロックＢａはマクロブロックを単位として設定する必要がある。
【０１２０】
［３−３］上記第３実施形態では、画面Ｐ２を（４行×４行）の１６個のブロックＢａで構成し、画面Ｐ３を（８行×８行）の６４個のブロックＢａで構成し、画面Ｐ４を（１２行×１２行）の１４４個のブロックＢａで構成するようにしたが、各画面Ｐ２〜Ｐ４を構成するブロックＢａの数はこれ以外の値に設定してもよい。
【０１２１】
例えば、画面Ｐ２を（８行×８行）、画面Ｐ３を（１２行×１２行）のブロックＢａで構成し、画面Ｐ４を省くようにする。この場合は、ＳＴ５，ＳＴ７の処理も省かれ、ＳＴ３：ＮＯの場合はＳＴ８へ移行する。
また、画面Ｐ２を（２行×２行）、画面Ｐ３を（４行×４行）、画面Ｐ４を（８行×８行）のブロックＢａで構成し、（１２行×１２行）の１４４個のブロックＢａで構成される画面Ｐ５を加えるようにする。この場合は、ＳＴ７において圧縮誤差Ｅ３が許容値を越える場合は、画面Ｐ５の画像データの符号量ＳＰ５を求めると共に、画面Ｐ５の画像データに基づいて量子化しきい値およびハフマン符号を仮決定する。そして、各画面Ｐ４，Ｐ５の画像データ間の圧縮誤差Ｅ４を算出し、圧縮誤差Ｅ４が許容値以内の場合はＳＴ４へ移行し、許容値を越える場合はＳＴ８へ移行する。
【０１２２】
さらに、各画面Ｐ２〜Ｐ４を構成するブロックＢａの縦横の数は異なっていてもよく、例えば、画面Ｐ２を（６行×４行）、画面Ｐ３を（８行×１０行）、画面Ｐ４を（１４行×１２行）のブロックＢａで構成するようにしてもよい。
［３−４］図８に示すように、画面Ｐ１を縦横３個ずつ（３行×３列）の９個の領域Ｂｂに分割し、その各領域Ｂｂを縦横１６個ずつ（１６行×１６列）の２５６個のブロックＢａに分割する。そして、上記第３実施形態と同様にして、各領域Ｂｂ毎にＳＴ１〜ＳＴ５，ＳＴ７，ＳＴ８と同様の処理を行うことにより、各領域Ｂｂ毎に量子化しきい値およびハフマン符号を決定する。
【０１２３】
この場合、圧縮誤差Ｅ２が許容値を越える領域ＢｂについてのみＳＴ５の処理が行われ、圧縮誤差Ｅ３が許容値を越える領域ＢｂについてのみＳＴ８の処理が行われる。そのため、圧縮誤差Ｅ２が許容値以内の領域Ｂｂが多い場合や、圧縮誤差Ｅ３が許容値以内の領域Ｂｂが多い場合には、上記第３実施形態のように画面Ｐ１を領域Ｂｂに分割しない場合に比べて、量子化しきい値およびハフマン符号の最終的な決定に要する時間が短くなり、上記第３実施形態の効果をさらに高めることができる。
【０１２４】
尚、画面Ｐ１を（３行×３列）の９個の領域Ｂｂに分割するだけに限らず、画面Ｐ１を縦ｐ個横ｑ個（ｐ行×ｑ行。ｐ，ｑは自然数）の領域Ｂｂに分割するようにしてもよい。
［３−５］電子スチルカメラに限らず、ＣＤ−ＲＯＭシステム等の画像データのエンコーダに適用してもよい。
【０１２５】
［３−６］ＪＰＥＧエンコーダに限らず、ＭＰＥＧエンコーダに適用してもよい。前記したように、ＭＰＥＧ方式はＪＰＥＧ方式にＭＣを組み合わせた技術であり、ＭＰＥＧエンコーダはＪＰＥＧエンコーダ（ＤＣＴ回路１２１，量子化回路１２２，ハフマン符号化回路１２３）にＭＣ回路を付加して構成される。
【０１２６】
［３−７］本第３実施形態と第１実施形態または第２実施形態のいずれかとを併用してもよく、第１〜第３実施形態を全て併用してもよい。この場合、併用した実施形態の相乗効果を得ることができる。
【図面の簡単な説明】
【図１】本発明を具体化した第１，第２実施形態の電子スチルカメラのブロック回路図。
【図２】本発明を具体化した第３実施形態の動作を説明するための模式図。
【図３】第３実施形態の動作を説明するための模式図。
【図４】第３実施形態の動作を説明するための模式図。
【図５】第３実施形態の動作を説明するための模式図。
【図６】第３実施形態の動作を説明するための模式図。
【図７】第３実施形態の動作を説明するためのフローチャート。
【図８】第３実施形態の変形例の動作を説明するための模式図。
【図９】従来の電子スチルカメラのブロック回路図。
【符号の説明】
１，１１，１０１…電子スチルカメラ
２…ＪＰＥＧコア回路
３…制御コア回路
４ａ，４ｂ，５ａ，５ｂ，６…ＲＡＭ
１０５…フレームバッファ
１１０，１１１…データバス
１２１…ＤＣＴ回路
１２２…量子化回路
１２３…ハフマン符号化回路
１２４…符号量カウンタ
１３１…ハフマン復号化回路
１３２…逆量子化回路
１３３…逆ＤＣＴ回路
Ｐ１，Ｐ２，Ｐ３，Ｐ４…画面
Ｂａ，Ｂｓ１，Ｂｓ２，Ｂｓ３…ブロック
Ｂｂ…領域
【図１】
0003561655.tif 000002
【図２】
0003561655.tif 000003
【図３】
0003561655.tif 000004
【図４】
0003561655.tif 000005
【図５】
0003561655.tif 000006
【図６】
0003561655.tif 000007
【図７】
0003561655.tif 000008
【図８】
0003561655.tif 000009
【図９】
0003561655.tif 000010