(57)【特許請求の範囲】
【請求項１】
圧縮パラメータに基づいて所定の圧縮率で第１の画像データを非可逆圧縮して第２の画像データを生成する圧縮手段と、
前記第２の画像データを伸長して第３の画像データを生成する伸長手段と、
前記第３の画像データから、輝度成分及び複数の色成分のうち少なくともいずれか１成分に対応するヒストグラムを生成する生成手段と、
前記生成手段によりヒストグラムが生成されると、当該ヒストグラムの各階級について隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更する変更手段と、
を備え、
前記変更手段により前記圧縮率が変更された場合、変更された圧縮率での前記圧縮手段による非可逆圧縮、当該非可逆圧縮により生成された画像データの前記伸長手段による伸長、及び当該伸長により生成された画像データに関する前記生成手段によるヒストグラムの生成を再度行うことを特徴とする画像処理装置。
【請求項２】
前記生成手段は、輝度成分及び複数の色成分のうち少なくともいずれか２成分に対応するヒストグラムを生成し、
前記変更手段は、前記生成手段が生成したヒストグラムのうちの少なくとも１つについて、隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は、輝度成分及び複数の色成分のうち少なくともいずれか２成分に対応するヒストグラムを生成し、
前記変更手段は、前記生成手段が生成したヒストグラムの全てについて、隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
さらに、前記変化の割合を示すグラフを表示する表示手段を備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
さらに、前記ヒストグラムを表示する表示手段を備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
さらに、ユーザの指示に従い、前記変化の割合が所定の割合を超える階級の数が所定の数より大であることに応じて、前記変更手段により前記圧縮率の変更を行うか否かを選択する選択手段を備えることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
さらに、画像データを記憶する記憶手段を備えることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記圧縮パラメータは量子化テーブルであることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
圧縮パラメータに基づいて所定の圧縮率で第１の画像データを非可逆圧縮して第２の画像データを生成する圧縮工程と、
前記第２の画像データを伸長して第３の画像データを生成する伸長工程と、
前記第３の画像データから、輝度成分及び複数の色成分のうち少なくともいずれか１成分に対応するヒストグラムを生成する生成工程と、
前記生成工程によりヒストグラムが生成されると、当該ヒストグラムの各階級について隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更する変更工程と、
を備え、
前記変更工程により前記圧縮率が変更された場合、変更された圧縮率での前記圧縮工程による非可逆圧縮、当該非可逆圧縮により生成された画像データの前記伸長工程による伸長、及び当該伸長により生成された画像データに関する前記生成工程によるヒストグラムの生成を再度行うことを特徴とする画像処理方法。
【請求項１０】
コンピュータに、
圧縮パラメータに基づいて所定の圧縮率で第１の画像データを非可逆圧縮して第２の画像データを生成する圧縮工程と、
前記第２の画像データを伸長して第３の画像データを生成する伸長工程と、
前記第３の画像データから、輝度成分及び複数の色成分のうち少なくともいずれか１成分に対応するヒストグラムを生成する生成工程と、
前記生成工程によりヒストグラムが生成されると、当該ヒストグラムの各階級について隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更する変更工程と、
を備え、
前記変更工程により前記圧縮率が変更された場合、変更された圧縮率での前記圧縮工程による非可逆圧縮、当該非可逆圧縮により生成された画像データの前記伸長工程による伸長、及び当該伸長により生成された画像データに関する前記生成工程によるヒストグラムの生成を再度行うことを特徴とする画像処理方法を実行させるためのプログラム。
【請求項１１】
コンピュータに、
圧縮パラメータに基づいて所定の圧縮率で第１の画像データを非可逆圧縮して第２の画像データを生成する圧縮工程と、
前記第２の画像データを伸長して第３の画像データを生成する伸長工程と、
前記第３の画像データから、輝度成分及び複数の色成分のうち少なくともいずれか１成分に対応するヒストグラムを生成する生成工程と、
前記生成工程によりヒストグラムが生成されると、当該ヒストグラムの各階級について隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更する変更工程と、
を備え、
前記変更工程により前記圧縮率が変更された場合、変更された圧縮率での前記圧縮工程による非可逆圧縮、当該非可逆圧縮により生成された画像データの前記伸長工程による伸長、及び当該伸長により生成された画像データに関する前記生成工程によるヒストグラムの生成を再度行うことを特徴とする画像処理方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及び画像処理方法に関し、特に、画像を非可逆圧縮する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
画像処理装置であるデジタルカメラは、一般的に、撮像した画像（以下、「撮像画像」と呼ぶ）に輝度補正やホワイトバランス処理などを施した後、ＪＰＥＧ符号化などの非可逆圧縮を施し、記憶媒体に記録する。
【０００３】
撮像画像を非可逆圧縮すると、撮像画像のデータサイズは小さくなるが、画像品質（以下、「画質」と呼ぶ）は低下する。さらに、圧縮率を高くすればするほどデータサイズはさらに小さくなるが、画質はさらに低下する。したがって、データサイズを小さくすることと画質を向上させることの間にはトレードオフの関係がある。ＪＰＥＧ符号化に際して、データサイズと画質を決定するパラメータ（以下、「圧縮パラメータ」と呼ぶ）として、量子化テーブルが用いられる。しかし、データサイズを極力小さくしつつ、ユーザの満足する画質を得るために適切な圧縮パラメータをユーザ自身が決定することは、困難である。
【０００４】
この問題に関して、特許文献１は、サイズ一定モードと画質一定モードの２つの符号化モードを備えるデジタルカメラを開示する。特許文献１のデジタルカメラによれば、符号化モードがサイズ一定モードの場合、ＪＰＥＧ符号化に際して、撮像画像が一定の範囲内のデータサイズとなるような圧縮パラメータが使用される。一方、符号化モードが画質一定モードの場合、ＪＰＥＧ符号化に際して、撮像画像の画質が一定の範囲内の品質になるような圧縮パラメータが使用される。
【特許文献１】特開２００１−５４１１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のデジタルカメラは、撮像画像を画質一定モードでＪＰＥＧ符号化する場合、固定された特定の圧縮パラメータを使用するが、符号化後の撮像画像の画質を定量的に評価することができない。そのため、撮像画像の画質が実際にユーザの望む水準以上であることが保証されない。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、ユーザが圧縮パラメータを決定する必要無しに、画質が一定水準以上となるように画像を非可逆圧縮する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の画像処理装置は、圧縮パラメータに基づいて所定の圧縮率で第１の画像データを非可逆圧縮して第２の画像データを生成する圧縮手段と、前記第２の画像データを伸長して第３の画像データを生成する伸長手段と、前記第３の画像データから、輝度成分及び複数の色成分のうち少なくともいずれか１成分に対応するヒストグラムを生成する生成手段と、前記生成手段によりヒストグラムが生成されると、当該ヒストグラムの各階級について隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更する変更手段と、を備え、前記変更手段により前記圧縮率が変更された場合、変更された圧縮率での前記圧縮手段による非可逆圧縮、当該非可逆圧縮により生成された画像データの前記伸長手段による伸長、及び当該伸長により生成された画像データに関する前記生成手段によるヒストグラムの生成を再度行うことを特徴とする。
【０００８】
また、本発明の画像処理方法は、圧縮パラメータに基づいて所定の圧縮率で第１の画像データを非可逆圧縮して第２の画像データを生成する圧縮工程と、前記第２の画像データを伸長して第３の画像データを生成する伸長工程と、前記第３の画像データから、輝度成分及び複数の色成分のうち少なくともいずれか１成分に対応するヒストグラムを生成する生成工程と、前記生成工程によりヒストグラムが生成されると、当該ヒストグラムの各階級について隣接する階級からの度数の変化の割合が所定の割合を超える階級の数が所定の数より大である場合に、前記圧縮率を変更する変更工程と、を備え、前記変更工程により前記圧縮率が変更された場合、変更された圧縮率での前記圧縮工程による非可逆圧縮、当該非可逆圧縮により生成された画像データの前記伸長工程による伸長、及び当該伸長により生成された画像データに関する前記生成工程によるヒストグラムの生成を再度行うことを特徴とする。
【０００９】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態の記載によっていっそう明らかになるものである。
【発明の効果】
【００１０】
以上の構成により、本発明によれば、ユーザが圧縮パラメータを決定する必要無しに、画質が一定水準以上となるように画像を非可逆圧縮することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して、本発明の上位概念、中位概念および下位概念の理解に役立つ実施形態を示す。なお、以下の実施形態に含まれる概念について、そのすべてが特許請求の範囲に記載されているとは限らない。ただし、これは特許発明の技術的範囲から意識的に除外したのではないことを理解していただきたい。
【００１２】
［第１の実施形態］
＜デジタルカメラ１００の構成＞
図１は、本発明を適用する画像処理装置である、デジタルカメラ１００の構成を示す機能ブロック図である。
【００１３】
レンズユニット１０は、光学レンズ、ズーム機構、絞り機構などから構成され、入射
した光を撮像素子１２に結像させる。
【００１４】
撮像素子１２は、光信号をアナログ電気信号に変換するものであり、例えばＣＣＤ（電荷結合素子）である。
【００１５】
Ａ／Ｄ変換器１４は、撮像素子１２が出力したアナログ電気信号をデジタル電気信号に変換するものである。このデジタル電気信号は、圧縮前の撮像画像データである。Ａ／Ｄ変換器１４から出力される画像データは、画像処理回路２０およびメモリ制御回路１８を介して、或いは画像処理回路２０を介することなくメモリ制御回路１８のみを介して、メモリ２２又は記憶媒体２４に記録される。
【００１６】
タイミング発生回路１６は、撮像素子１２、Ａ／Ｄ変換器１４、Ｄ／Ａ変換器３０にクロック信号や制御信号を供給するタイミング発生回路であり、システム制御部５０により制御される。
【００１７】
メモリ制御回路１８は、Ａ／Ｄ変換器１４、画像処理回路２０、メモリ２２、記憶媒体２４、圧縮・伸長回路２６、ヒストグラム取得回路２８、Ｄ／Ａ変換器３０の間におけるデータ転送の制御を行う。
【００１８】
画像処理回路２０は、Ａ／Ｄ変換器１４から出力される画像データ、又は、メモリ制御回路１８から出力される画像データに対して、例えば、画像補間処理や色変換処理、変倍処理等の画像処理を施す。
【００１９】
メモリ２２は、撮像画像データに対する画像処理時や圧縮・伸長時の作業領域として使用したり、画像表示部３２に表示する画像データを格納するために使用したりするメモリであり、デジタルカメラ１００に内蔵されている。メモリ２２は、所定枚数の静止画像や所定時間の動画像を格納するために十分な記憶容量を備えている。また、メモリ２２は、システム制御部５０の作業領域としても使用されうる。
【００２０】
記憶媒体２４は、画像データを記録するためのものである。記憶媒体２４には、半導体メモリ（例えばメモリカード）や磁気ディスク（例えばハードディスク）などが使用され、デジタルカメラ１００に内蔵されているものもあれば、着脱可能なものもある。
【００２１】
圧縮・伸長回路２６は、例えばＪＰＥＧ符号化により画像データを圧縮したり、圧縮された画像データを伸長したりする。圧縮・伸長回路２６は、メモリ２２又は記憶媒体２４に格納されている画像データを読み込んで、圧縮処理又は伸長処理を行い、処理済みの画像データをメモリ２２及び記憶媒体２４のうち少なくとも一方に書き込む。
【００２２】
ヒストグラム取得回路２８は、圧縮・伸長回路２６によって圧縮された後に再度伸長されてメモリ２２に格納されている画像データを読み込み、画像データの輝度や所定色の度数分布を取得してヒストグラムを生成し、保持する。なお、ヒストグラム取得回路２８が読み込む画像データは、圧縮・伸長回路２６によって圧縮された後に再度伸長された画像データ（すなわち、画質がある程度低下している画像データ）である。ヒストグラム取得回路２８の詳細は、図２を参照して後にさらに説明する。
【００２３】
Ｄ／Ａ変換器３０は、デジタル電気信号（すなわち画像データ）をアナログ電気信号に変換する。
【００２４】
画像表示部３２は、例えば、ＴＦＴ  ＬＣＤ等で構成される。メモリ２２に書き込まれた表示用の画像データは、Ｄ／Ａ変換器３０を介して画像表示部３２に供給され、画像表示部３２によって表示される。
【００２５】
また、レンズユニット１０が捉えた画像を画像表示部３２に逐次表示することにより、電子ビューファインダ（ＥＶＦ）機能を実現することができる。さらに、画像表示部３２には、撮像に必要な情報表示、例えば合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示等を行うことができる。
【００２６】
この他にも、画像表示部３２は、撮像画像のいわゆるレックビュー表示を行ったり、画像データの撮像情報、輝度又は所定色のヒストグラム情報を画像データと同時に表示したりする、情報表示付き再生機能を実現可能に構成されてもよい。
【００２７】
また、画像表示部３２には、圧縮処理された画像データの画質が所定の水準以下である場合に警告を表示したり、ユーザが圧縮パラメータを設定する為のメニューを表示したりすることもできる。
【００２８】
光学ファインダ３４は、画像表示部３２によるＥＶＦ機能を使用することなしに撮像を行うことを可能にする。また、光学ファインダ３４内には、画像表示部３２による撮像に必要な情報表示（すなわち、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示等）と同様の表示を行うための素子が設置されている。
【００２９】
フラッシュ３６は、暗所における撮像時に投光を行う。フラッシュ３６はまた、ＡＦ（オートフォーカス）補助光の投光機能やフラッシュ調光機能も有する。
【００３０】
レンズ制御部３８はレンズユニット１０の制御部であり、システム制御部５０の指示に従ってレンズユニット１０の焦点制御、ズーム制御、絞り値、シャッタースピードの制御等を行う。
【００３１】
モードダイアル４０は、ユーザがデジタルカメラ１００の動作モードを選択するために使用される。これによりユーザは、電源オフ、自動撮像モード、マニュアル撮像モード、パノラマ撮像モード、再生モード、動画モード、等の各機能モードを選択することができる。
【００３２】
シャッタースイッチ４２は、シャッターボタン４４の操作途中（半押し）で、ＡＦ処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の動作の開始をシステム制御部５０に指示する。
【００３３】
また、シャッタースイッチ４２は、シャッターボタン４４の操作完了（全押し）で、一連の撮像・記録処理の開始をシステム制御部５０に指示する。撮像・記録処理においては、まず、撮像素子１２から出力されるアナログ信号がＡ／Ｄ変換器１４によりデジタル信号すなわち画像データに変換される。この画像データは、メモリ制御回路１８を介してメモリ２２に格納され、メモリ制御回路１８を介して画像処理回路２０において画像処理され、メモリ制御回路１８を介して圧縮・伸長回路２６において圧縮処理される。次いで、圧縮処理された画像データは、メモリ制御回路１８を介してメモリ２２から読み出され、記憶媒体２４へ書き込まれる。
【００３４】
表示切替スイッチ４６は、画像表示部３２の表示を制御するために使用される。撮像時においては、表示切替スイッチ４６が押されると、画像表示部３２を利用したＥＶＦ機能の、ＯＮ／ＯＦＦを切り替える指示がシステム制御部５０になされる。再生時においては、表示切替スイッチ４６が押されると、情報表示付き再生機能のＯＮ／ＯＦＦを切り替える指示がシステム制御部５０になされる。
【００３５】
セレクトボタン４８は、ユーザが画像表示部３２に表示されるメニューに従って、圧縮パラメータの選択を行い、システム制御部５０に選択された圧縮パラメータを通知するために使用される。
【００３６】
システム制御部５０は、メモリ５２に格納されているプログラム（ファームウェア）を実行することにより、デジタルカメラ１００全体を制御する。例えば、システム制御部５０は、圧縮・伸長回路２６に対して圧縮パラメータの指示を行う。また、ヒストグラム取得回路２８で取得した画像データのヒストグラム解析情報を取得し、ヒストグラム解析情報に基づいてデジタルカメラ１００の制御を行う。
【００３７】
メモリ５２は、システム制御部５０が実行するファームウェアや、システム制御部５０がファームウェアを実行する際に参照する定数、変数、圧縮パラメータ等を記憶する。
【００３８】
電源制御部６０は、例えば電池検出回路、ＤＣ−ＤＣコンバータ、通電するブロックを切り替えるスイッチ回路等により構成される。電源制御部６０は、電池装着の有無、電池の種類及び電池残量を検出し、その検出結果及びシステム制御部５０の指示に基づいてＤＣ−ＤＣコンバータを制御して、必要な電圧を必要な期間だけデジタルカメラ１００の各構成要素に供給する。
【００３９】
コネクタ６２は、電源制御部６０と電源部６４を接続する。
【００４０】
電源部６４は、例えばアルカリ電池やリチウム電池等の一次電池、Ｌｉ電池等の二次電池、ＡＣアダプタ等で構成され、デジタルカメラ１００に電力を供給する。
【００４１】
図２は、ヒストグラム取得回路２８の詳細な構成を示す機能ブロック図である。
【００４２】
色空間変換回路２０２は、ＹＵＶ色空間により表現される画像データ（以下、「ＹＵＶデータ」と呼ぶ）をＲＧＢ色空間により表現される画像データ（以下、「ＲＧＢデータ」と呼ぶ）に変換する。色空間変換回路２０２は、圧縮・伸長回路２６によって伸長されてメモリ２２に格納されているＹＵＶデータを、メモリ制御回路１８を介して取得し、システム制御部５０から指示される変換式に従ってＲＧＢデータへ変換する。
【００４３】
セレクタ２０４は、システム制御回路５０の指示に従い、メモリ制御回路１８から入力されるＹＵＶＲＧＢの各成分から、ヒストグラムを生成する対象の成分を選択する。
【００４４】
積分回路２０６は、セレクタ２０４からの入力に応じて、ＲＡＭ２０８の読み出しアドレスを決定し、データの読み出しを行う。積分回路２０６は読み出した値をインクリメントし、積分回路２０６の同一アドレスへインクリメント後の値を書き戻す。
【００４５】
ここで、積分回路２０６は、画像データのすべての画素に対して上述の処理を行う。例えば、画像データが横１６００画素×縦１２００画素＝約２００万画素の場合を考える。積分回路２０６は、約２００万のすべての画素について、以下の（１）〜（４）の処理を行う。
（１）輝度を判定する。
（２）ＲＡＭ２０８の、（１）で判定された輝度に対応するアドレスから、度数を読み出す。
（３）（２）で読み出した度数をインクリメントする。
（４）（３）でインクリメントした値を、（２）で読み出したＲＡＭ２０８のアドレスに書き込む。
【００４６】
ＲＡＭ２０８は、メモリ制御回路１８から入力されるＹＵＶＲＧＢの各成分のうち少なくともいずれかに関するヒストグラムを保持するためのものである。システム制御部５０は、ＲＡＭ２０８の保持するヒストグラムを読み出したり、消去したりすることができる。
【００４７】
ＲＡＭ２０８は、保持するヒストグラムの数及び分解能に応じたアドレス空間を必要とする。例えば、Ｙ成分を２５６階調で表現する１個のヒストグラムを保持する場合には、８ビットのアドレス空間が必要となる（２の８乗は２５６であるため）。
【００４８】
＜ヒストグラムの解析と画質の判定＞
図３及び図４を参照して、システム制御部５０がヒストグラム取得回路２８から取得したヒストグラムを元に、圧縮された画像データの画質が所定の水準以上であるか否かを判定する処理の概要を説明する。なお、以下では画像データの輝度（Ｙ成分）にのみ注目して説明するが、ＲＧＢの各成分に関しても同様のことが言える。また、輝度を２５６階調として説明するが、これに限られず、例えば１０２４階調などでもよい。
【００４９】
図３は、ヒストグラム取得回路２８が、圧縮・伸長回路２６により圧縮された後に再度伸長された画像データのＹ成分を元に生成したヒストグラムの一例を示す図である。
【００５０】
図３（ａ）は、画質劣化が小さく、画質が所定の水準以上である画像データから生成された、輝度のヒストグラムである。図３（ｂ）は、画質劣化が大きく、画質が所定の水準未満の画像データから生成された、輝度のヒストグラムである。画質劣化が大きいということは、圧縮パラメータに含まれる量子化テーブルの値が大きすぎた、すなわち圧縮率が高すぎたということを意味する。
【００５１】
本来の自然画像に近い、画質劣化の少ない画像データにおいては、輝度のヒストグラムは図３（ａ）に示すように緩やかに変化する。しかし、過度に高い圧縮率で圧縮したために画像品質が低下した画像データにおいては、輝度のヒストグラムは図３（ｂ）に示すように急激に変化する。
【００５２】
図４は、図３で示したヒストグラムの輝度に関する隣接度数変化の割合を示す図である。隣接度数変化の割合は、次式で定義される。
（隣接度数変化の割合）＝ヒストグラム［ｎ］／ヒストグラム［ｎ−１］×１００
ただし、ｎは輝度であり、ｎ＝１，２，３，．．．，２５５である。また、ヒストグラム［ｎ］は、輝度ｎの度数を示す。
【００５３】
図４（ａ）に示すように、ヒストグラムが緩やかに変化する場合（画質劣化が小さい場合）の隣接度数変化の割合は、ほぼ１００％付近で緩やかに推移する。すなわち、隣接する輝度同士の度数が急激に変化することは少ない。一方、図４（ｂ）に示すようにヒストグラムが激しく変化する場合（画質劣化が大きい場合）の隣接度数変化の割合は、大きく振動する。
【００５４】
システム制御部５０は、所定の隣接度数変化の割合を超える階級のカウント（数え上げ）を行い、カウント数が、所定の閾値を超えた場合には、画質が所定の水準未満であると判定することができる。「所定の隣接度数変化の割合」及び「所定の閾値」は、メモリ５２に事前に記録されていてもよいし、ユーザがセレクトボタン４８等を操作して設定・変更可能なようにデジタルカメラ１００を構成してもよい。
【００５５】
例えば、図４において、所定の隣接度数変化の割合を２００％に設定した場合、２００％を超える階級の数は、
図４（ａ）−−−  ４個
図４（ｂ）−−−３８個
となり、カウント数の所定の閾値を３０に設定した場合には、図４（ｂ）に対応する画像データは、画質が所定の水準未満であると判定される。
【００５６】
なお、輝度の階調数が大きくなるほど所定の閾値も大きく設定されることが好ましい。なぜなら、輝度が２５６階調の場合は例えば３０という値は比較的大きな値であるが、輝度が１０２４階調の場合は３０という値は極めて小さいからである。また、所定の閾値を輝度の階調数に対する割合に基づいて設定してもよい。割合を１０％に設定すると、所定の閾値は２５６階調の１０％、すなわち約２６となる。
【００５７】
また、前述のように、システム制御部５０はＹ成分以外に基づいて画質の判定を行ってもよい。例えば、システム制御部５０はＧ成分について上記と同様の処理を行ってもよいし、ＲＧＢの３成分について上記と同様の処理を行ってもよい。
【００５８】
複数の成分について上記と同様の処理を行う場合、そのうち１つの成分について、隣接度数変化の割合が所定の割合を超える階級の数が所定の閾値を超える場合に、システム制御部５０は画質が所定の水準未満であると判定できる。或いは、すべての成分について又は所定数以上の成分について、隣接度数変化の割合が所定の割合を超える階級の数が所定の閾値を超える場合に、システム制御部５０は画質が所定の水準未満であると判定することとしてもよい。
【００５９】
＜撮像・記録処理の流れ＞
図５は、第１の実施形態における、デジタルカメラ１００による撮像・記録処理の流れを示すフローチャートである。システム制御部５０は、図５のフローチャートに従い、ＪＰＥＧ符号化した画像データの画質を確認し、画質が所定の水準未満の場合は圧縮パラメータを変更してＪＰＥＧ符号化を繰り返すことにより、画質が所定の水準以上になるようにする。
【００６０】
ステップＳ５０１で、画像処理回路２０は、Ａ／Ｄ変換器１４及びメモリ制御回路１８を介してメモリ２２に格納された画像データを、メモリ制御回路１８を介して読み込む。
【００６１】
ステップＳ５０２で、画像処理回路２０は、ステップＳ５０１で読み込んだ画像データに対して画像補間処理や色変換処理等の画像処理を行う。
【００６２】
ステップＳ５０３で、画像処理回路２０は、ステップＳ５０２で画像処理を施した画像データに対して、設定及び用途に応じた変倍処理を行う。設定及び用途とは、例えば撮像画像をラージサイズ／ミドルサイズ／スモールサイズのいずれのサイズで記録するかという設定や、サムネイル画像としての用途を意味する。
【００６３】
ステップＳ５０４で、画像処理回路２０は、ステップＳ５０２及びＳ５０３で画像処理を施した画像データを、メモリ制御回路１８を介してメモリ２２に書き込む。
【００６４】
ステップＳ５０５で、圧縮・伸長回路２６は、メモリ制御回路１８を介してメモリ２２からステップＳ５０４で書き込まれた画像データを読み込み、離散コサイン変換（ＤＣＴ変換）及び量子化処理を行う。量子化処理に際して、圧縮・伸長回路２６は、メモリ５２に格納されている圧縮パラメータに含まれる量子化テーブルを使用する。
【００６５】
ステップＳ５０６で、圧縮・伸長回路２６は、ハフマン符号化処理を行う。
【００６６】
ステップＳ５０７で、圧縮・伸長回路２６は、ステップＳ５０５及びＳ５０６で処理された（すなわちＪＰＥＧ符号化された）画像データを、メモリ制御回路１８を介してメモリ２２に書き込む。
【００６７】
ステップＳ５０８で、圧縮・伸長回路２６は、ステップＳ５０７で書き込まれた画像データを、メモリ制御回路１８を介してメモリ２２から読み込む。
【００６８】
ステップＳ５０９で、圧縮・伸長回路２６は、ステップＳ５０８で読み込んだ画像データに対して逆量子化処理及び逆離散コサイン変換（逆ＤＣＴ変換）を行い、伸長された画像データを得る。
【００６９】
ステップＳ５１０で、ヒストグラム取得回路２８は、ステップＳ５０９で伸長された画像データの所定の成分（ここではＹ成分とする）からヒストグラムを生成する。
【００７０】
ステップＳ５１１で、システム制御部５０は、ステップＳ５１０で生成されたヒストグラムの解析を行う。
【００７１】
ステップＳ５１２で、システム制御部５０は、ヒストグラムの解析結果に基づき、ステップＳ５０７でメモリ２２に書き込まれた画像データの画質が所定の水準以上であるか否かを判定する。
【００７２】
ステップＳ５１１及びＳ５１２におけるヒストグラムの解析及び画質の判定は、図３及び図４を参照して前述したように行われる。
【００７３】
ステップＳ５１２において、画質が所定の水準以上であると判定された場合はステップＳ５１４に進み、そうでない場合はステップＳ５１３に進む。
【００７４】
ステップＳ５１３で、システム制御部５０は、圧縮パラメータを変更する。具体的には、圧縮率が下がるように量子化テーブルの値を小さくする。次いでステップＳ５０５に戻り、デジタルカメラ１００は画質が所定の水準以上となるまで同様の処理を繰り返す。
【００７５】
ステップＳ５１４で、システム制御部５０は、ステップＳ５０７でメモリ２２に書き込まれた画像データを、メモリ制御回路１８を介して記憶媒体２４に記録する。
【００７６】
＜第１の実施形態のまとめ＞
以上説明したように、本実施形態によれば、デジタルカメラ１００は撮像した画像データを所定の圧縮パラメータを用いて圧縮し、圧縮した画像データを伸長する。デジタルカメラ１００は伸長した画像データの画質が所定の水準以上であるか否かを判定し、所定の水準以上でない場合は圧縮パラメータを変更して、画質が所定の水準以上になるまで圧縮処理を繰り返す。
【００７７】
これにより、本実施形態のデジタルカメラ１００によれば、ユーザが圧縮パラメータを決定する必要無しに、画質が一定水準以上となるように画像を非可逆圧縮（ここではＪＰＥＧ符号化）することが可能となる。
【００７８】
なお、本実施形態の説明において、ＲＡＭ２０８の容量には言及してこなかったが、ＲＡＭ２０８の１ワードあたりの容量は、メモリ制御回路１８から入力される画像データのサイズに対して、十分な容量でなければならない。例えば、画像データが横１６００画素×縦１２００画素＝約２００万画素の場合、１つの階調に最大約２００万の値が格納される可能性があるため、１アドレスが最大２１ビットのデータを格納しなければならない。したがって、システム制御部５０が２１ビット以上のデータを一度に扱えない場合（例えば１６ビットＣＰＵである場合）は、Ｙ成分を２５６階調で表現する１個のヒストグラムを保持するために８ビットよりも多くのアドレス空間が必要となる。
【００７９】
［第２の実施形態］
第１の実施形態では、デジタルカメラ１００は、画質が必ず所定の水準以上となるまで圧縮パラメータの変更及び圧縮処理を繰り返した。これに対し、第２の実施形態では、画質が所定の水準未満の場合に、圧縮パラメータの変更及び再度の圧縮処理を行うか否かをユーザが選択可能なようにデジタルカメラ１００を構成する。
【００８０】
これにより、ユーザが画質よりも処理速度を優先したい場合に、圧縮パラメータの変更及び圧縮処理の繰り返しに伴う処理速度の低下を抑制することができる。
【００８１】
なお、本実施形態において、デジタルカメラ１００の構成（ヒストグラム取得回路２８の構成を含む）は第１の実施形態と同様でよいため、その説明を省略する。
【００８２】
図６は、第２の実施形態における、デジタルカメラ１００による撮像・記録処理の流れを示すフローチャートである。図５と同一の処理を行うステップには同一の符号を付し、説明を省略する。
【００８３】
ステップＳ６０１は、ステップＳ５１２において画質が所定の水準以上ではないと判定された場合に実行される。ステップＳ６０１で、システム制御部５０は、画像表示部３２に画質が所定の水準未満である旨の警告を表示する。システム制御部５０はまた、圧縮パラメータを変更して再度圧縮処理を行うか否かをユーザに選択させるメニュー画面を画像表示部３２に表示する。
【００８４】
ステップＳ６０２で、システム制御部５０は、セレクトボタン４８などを介してユーザから再度圧縮を行う旨の指示を受けたか否かを判定する。再度圧縮を行う旨の指示を受けた場合はステップＳ６０３に進み、再度圧縮しない旨の指示を受けた場合はステップＳ５１４に進む。
【００８５】
ステップＳ６０３で、システム制御部５０は、圧縮パラメータの設定変更画面を画像表示部３２に表示する。このとき、システム制御部５０は、ステップＳ５１０で生成されたヒストグラムや、このヒストグラムから得られる隣接度数変化の割合を示すグラフを、画像表示部３２に表示してもよい。
【００８６】
ステップＳ６０４で、システム制御部５０は、セレクトボタン４８などを介してユーザから変更後の圧縮パラメータを取得し、メモリ５２などに記録する。次いで、ステップＳ５０５に戻り、同様の処理を繰り返す。
【００８７】
なお、ステップＳ６０３及びＳ６０４の処理は、ステップＳ５１３と同様、ユーザの指示を受けることなく、システム制御部５０が量子化テーブルの値を少しずつ小さくするようにしてもよい。
【００８８】
＜第２の実施形態のまとめ＞
以上説明したように、本実施形態によれば、画質が所定の水準未満の場合であっても、ユーザの指示によっては、デジタルカメラ１００は圧縮パラメータの変更及び再度の圧縮処理を行わない。
【００８９】
これにより、ユーザが画質よりも処理速度を優先したい場合に、圧縮パラメータの変更及び圧縮処理の繰り返しに伴う処理速度の低下を抑制することができる。
【００９０】
［その他の実施形態］
上述した各実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって、前述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることもできる。
【００９１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。
【００９２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【００９３】
【図１】本発明を適用する画像処理装置である、デジタルカメラ１００の構成を示す機能ブロック図である。
【図２】ヒストグラム取得回路２８の詳細な構成を示す機能ブロック図である。
【図３】ヒストグラム取得回路２８が画像データのＹ成分を元に生成したヒストグラムの一例を示す図である。
【図４】図３で示したヒストグラムの輝度に関する隣接度数変化の割合を示す図である。
【図５】第１の実施形態における、デジタルカメラ１００による撮像・記録処理の流れを示すフローチャートである。
【図６】第２の実施形態における、デジタルカメラ１００による撮像・記録処理の流れを示すフローチャートである。
【符号の説明】
【００９４】
２８  ヒストグラム取得回路
１００  デジタルカメラ
【図１】
0004701065.tif 000002
【図２】
0004701065.tif 000003
【図３】
0004701065.tif 000004
【図４】
0004701065.tif 000005
【図５】
0004701065.tif 000006
【図６】
0004701065.tif 000007