(57)【要約】【課題】      画像データに対する圧縮符号化処理を撮影条件に関わらず適切に行う。【解決手段】本発明の画像圧縮装置は、入力される画像の距離情報をまとめた、画像の大きさと同一の大きさからなる距離情報マップを生成するマップ生成部と、距離情報マップに基づいて、圧縮処理時に用いる圧縮処理用のパラメータを設定する設定部と、圧縮処理用のパラメータを用いて、画像に対する圧縮処理を実行する圧縮処理部と、を備えたことを特徴とする。【選択図】    図３
2015005806.tif 000002
【特許請求の範囲】
【請求項１】
入力される画像の大きさと同一の大きさからなり、前記画像内の距離情報をまとめた距離情報マップを生成するマップ生成部と、
前記距離情報マップに基づいて、前記画像を圧縮処理する際に用いる圧縮処理用のパラメータを設定する設定部と、
前記圧縮処理用のパラメータを用いて、前記画像を圧縮処理する圧縮処理部と、
を備えたことを特徴とする圧縮処理装置。
【請求項２】
請求項１に記載の圧縮処理装置において、
前記距離情報マップを、前記圧縮処理にて使用するマクロブロックに相当する領域に区画した圧縮処理用の距離情報マップに変換する変換部を備えていることを特徴とする圧縮処理装置。
【請求項３】
請求項２に記載の圧縮処理装置において、
前記圧縮処理用の距離情報マップにおける複数の領域のうち、前記距離情報が同一となる互いに隣接する領域を統合して前記圧縮処理用の距離情報マップを最適化する最適化部を備えていることを特徴とする圧縮処理装置。
【請求項４】
請求項３に記載の圧縮処理装置において、
前記最適化部は、撮影時に設定された撮影条件に基づいて、前記距離情報が一致する互いに隣接する領域を統合するか否かを判定することを特徴とする圧縮処理装置。
【請求項５】
請求項３又は請求項４に記載の圧縮処理装置において、
前記圧縮処理部は、前記画像に対して離散コサイン変換処理を行う離散コサイン変換部を備え、
前記設定部は、最適化された前記圧縮処理用の距離情報マップの各領域の大きさに基づいて、前記離散コサイン変換処理を行う際に用いるマクロブロックのブロックサイズを設定することを特徴とする圧縮処理装置。
【請求項６】
請求項５に記載の圧縮処理装置において、
前記圧縮処理部は、前記離散コサイン変換部の他に、
前記離散コサイン変換処理が施された画像に対する量子化処理を実行する量子化部と、
前記量子化処理が施された画像に対する符号化処理を行う符号化部と、
を備え、
前記設定部は、最適化された前記圧縮処理用の距離情報マップに基づいて、前記量子化部にて用いるパラメータ又は前記符号化部にて用いるパラメータのいずれか一方を設定することを特徴とする圧縮処理装置。
【請求項７】
請求項１に記載の圧縮処理装置において、
前記設定部は、前記距離情報マップの他に、前記画像を取得したときの撮影条件に基づいて、前記圧縮処理用のパラメータを設定することを特徴とする圧縮処理装置。
【請求項８】
請求項７に記載の圧縮処理装置において、
前記圧縮処理は、離散コサイン変換処理、量子化処理及び符号化処理からなり、
前記設定部は、前記距離情報マップの他に、前記画像を取得したときの撮影条件に基づいて、前記離散コサイン変換処理を行う際に用いるブロックサイズ、前記量子化処理にて用いるパラメータ或いは前記符号化処理にて用いるパラメータのいずれか１つを設定することを特徴とする圧縮処理装置。
【請求項９】
画像を取得する撮像部と、
請求項１から請求項８のいずれか１項に記載の圧縮処理装置と、
前記圧縮処理装置により圧縮処理された画像を記憶媒体に記録させる記録制御部と、
を備えたことを特徴とする電子カメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像圧縮装置及び電子カメラに関する。
【背景技術】
【０００２】
デジタルカメラに代表される電子カメラは、撮影により得られた画像データに対して、例えばＪＰＥＧ規格などに基づいた圧縮符号化処理（圧縮処理）を行い、圧縮符号化処理により生成された符号化データを記録している。この圧縮符号化処理における圧縮効率を良くするために、焦点が合う被写体付近の領域と、焦点が合っていない背景部分の領域とで異なる圧縮パラメータを用いた圧縮符号化処理を行うことが考案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２０９５９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、焦点が合う被写体付近の領域と焦点が合っていない背景部分の領域とで異なる圧縮パラメータを用いる圧縮符号化処理の場合、撮影時に設定される撮影条件（シーンモードを含む）によっては画像データに対する圧縮効率が悪くなり、圧縮符号化処理を適切に行うことができないという問題が生じる。
【０００５】
本発明は、画像データに対する圧縮符号化処理を、撮影条件に関わらず適切に行うことができるようにした画像圧縮装置及び電子カメラを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明の圧縮処理装置は、入力される画像の大きさと同一の大きさからなり、前記画像内の距離情報をまとめた距離情報マップを生成するマップ生成部と、前記距離情報マップに基づいて、前記画像を圧縮処理する際に用いる圧縮処理用のパラメータを設定する設定部と、前記圧縮処理用のパラメータを用いて、前記画像を圧縮処理する圧縮処理部と、を備えたことを特徴とする。
【０００７】
また、本発明の電子カメラは、画像を取得する撮像部と、上記記載の圧縮処理装置と、前記圧縮処理装置により圧縮処理された画像を記憶媒体に記録させる記録制御部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像データに対する圧縮符号化処理を、撮影条件に関わらず適切に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】電子カメラの構成を例示する機能ブロック図である。
【図２】（ａ）は撮影により得られる画像、（ｂ）は画像に基づくデプスマップ、（ｃ）は区画したデプスマップ、（ｄ）は距離データを均一化したデプスマップを示す図である。
【図３】圧縮符号化回路の構成を例示する機能ブロック図である。
【図４】デプスマップを最適化する処理の流れを示すフローチャートである。
【図５】（ａ）は座標（１，１）の基準領域を左上隅とした計４個の基準領域を統合するか否かを判定する場合の一例を示す図、（ｂ）は統合領域が横２個×縦２個の計４個隣接している状態を示す図である。
【図６】画像データの取得から符号化データを記録するまでの処理の流れを示すフローチャートである。
【図７】圧縮符号化回路の別構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の画像圧縮装置を備えた電子カメラを例に挙げて説明する。図１は、電子カメラ１０の構成の一実施形態を示す。図１に示すように、電子カメラ１０は、撮像光学系１５、撮像素子１６、Ａ／Ｄ変換器１７、レンズ駆動部１８、絞り駆動部１９、バッファメモリ２１、画像処理回路２２、マップ生成回路２３、リサイズ回路２４、圧縮符号化回路２５、表示制御回路２６、モニタ２７、接続Ｉ／Ｆ２８、ＣＰＵ３０、ワークメモリ３１、内蔵メモリ３２、操作部３３などを備えている。なお、Ａ／Ｄ変換器１７、バッファメモリ２１、画像処理回路２２、マップ生成回路２３、リサイズ回路２４、圧縮符号化回路２５、表示制御回路２６、接続Ｉ／Ｆ２８、ＣＰＵ３０及びワークメモリ３１は、バス３５を介して電気的に接続される。図１においては図示を省略しているが、この電子カメラ１０は、符号化された画像データ（以下、符号化データ）を復号化する復号化回路も備えている。
【００１１】
撮像光学系１５は、ズームレンズ、フォーカスレンズなどの複数のレンズから構成される。撮像光学系１５を構成する各レンズのうち、ズームレンズは、光学ズーム倍率の変更時に光軸方向に移動する。また、フォーカスレンズは、焦点を調節するときに光軸方向に微小移動する。撮像光学系１５を構成する各レンズの移動は、レンズ駆動部１８により実行される。また、この撮像光学系１５は、絞り３６を備えている。この絞り３６により、撮像光学系１５により取り込まれる被写体光の光量が調整される。この絞り３６の開口径は、絞り駆動部１９により調整される。
【００１２】
撮像素子１６は、例えばＣＣＤイメージセンサや、ＣＭＯＳイメージセンサが用いられる。この撮像素子１６は、複数の画素を備えている。この撮像素子１６は、撮像光学系１５により取り込まれた被写体光（入射光）をそれぞれの画素にて受光し、信号電荷に変換する。この信号電荷に基づく電圧信号が、それぞれの画素の画素信号として出力される。これら複数の画素から出力された画素信号をまとめた信号が画像信号となる。この画像信号は、クランプ処理、相関二重サンプリング（ＣＤＳ）処理などの処理が施された後、Ａ／Ｄ変換器１７に入力される。
【００１３】
Ａ／Ｄ変換器１７は、撮像素子１６から出力された画像信号（画像データ）をアナログ信号からデジタル信号に変換する。このデジタル化された画像信号はバッファメモリ２１に書き込まれる。また、この画像信号は、マップ生成回路２３に出力される。
【００１４】
画像処理回路２２は、バッファメモリ２１に書き込まれた画像データを読み出す。そして、画像処理回路２２は、読み出した画像データに対して、ホワイトバランス処理、色補間処理、輪郭補償処理、ガンマ処理などの画像処理を施す。そして、画像処理回路２２は、画像データにおける色空間をＲＧＢ色空間からＹＣｂＣｒ色空間に変換する。画像処理回路２２は、色空間が変換された画像データをバッファメモリ２１に書き込む。
【００１５】
マップ生成回路２３は、Ａ／Ｄ変換器１７から出力された画像データを用いて、デプスマップを生成する。周知のように、デプスマップは画像内の距離データをまとめたものである。このデプスマップの生成方法については、その詳細を省略する。例えば、図２（ａ）に示す画像からは、図２（ｂ）に示すデプスマップが生成される。ここで、図２（ｂ）においては、撮影時の電子カメラ１０の位置（撮影位置）を基準としたときに、撮影位置からの距離が近いほど黒く、撮影位置からの距離が遠いほど白く表している。マップ生成回路２３は、生成したデプスマップの元になるデータ（マップデータ）をバッファメモリ２１に書き込む。
【００１６】
リサイズ回路２４は、バッファメモリ２１に書き込まれたマップデータを読み出す。そして、リサイズ回路２４は、読み出したマップデータに対して、以下の処理を実行する。まず、リサイズ回路２４は、デプスマップに対してトリミング処理を行う。このトリミング処理を行うことで、デプスマップのマップサイズが画像データの画像サイズと同一のサイズに調整される。つまり、取得された画像の画像サイズが横１２８０ピクセル×縦９６０ピクセルであれば、デプスマップのサイズも横１２８０ピクセル×縦９６０ピクセルに相当するサイズとなる。
【００１７】
この処理の後、リサイズ回路２４は、トリミング処理されたデプスマップをＤＣＴ変換処理にて使用されるマクロブロックの最小ブロックサイズで区画（リサイズ）する。例えばデプスマップのサイズが横１２８０ピクセル×縦９６０ピクセルに相当するサイズ、マクロブロックの最小ブロックサイズが８ピクセル×８ピクセルの場合、デプスマップは、横１６０×縦１２０の領域に区画される。図２（ｃ）は、マクロブロックの最小ブロックサイズで区画したデプスマップを示す。また、リサイズ回路２４は、デプスマップをマクロブロックの最小ブロックサイズで区画する際に、区画したデプスマップの各領域に対して、距離データの均一化処理を行う。図２（ｄ）は、区画した各領域の距離データの均一化処理を行ったデプスマップを示す。リサイズ処理されたデプスマップに基づくマップデータはバッファメモリ２１に書き込まれる。以下、マクロブロックの最小ブロックサイズに区画された領域を基準領域と称する。
【００１８】
圧縮符号化回路２５は、バッファメモリ２１に書き込まれた画像処理済みの画像データ、リサイズ処理済みのマップデータを読み出す。また、この他に、圧縮符号化回路２５は、画像データが取得された、言い換えれば撮影時に設定される撮影条件（撮影光学系１５の光学倍率、絞り値の他、シーンモードを含む）の情報を、ワークメモリ３１から読み出す。そして、圧縮符号化回路２５は、読み出したリサイズ処理済みのマップデータや撮影条件に基づいて、画像データに対する圧縮符号化処理を実行する。
【００１９】
表示制御回路２６は、撮像素子１６から出力される画像データに基づく画像（スルー画像、静止画像、動画像）をモニタ２７に表示させる他、電子カメラ１０の各種設定における設定画面をモニタ２７に表示させる。ここで、モニタ２７としては、例えばＬＣＤや、有機ＥＬディスプレイなどが挙げられる。
【００２０】
接続Ｉ／Ｆ２８は、電子カメラ１０に装着される記憶媒体３７と電気的に接続される。これにより、符号化データを記憶媒体３７に書き込む処理や、記憶媒体３７に書き込まれた符号化データを読み出す、或いは削除する処理が可能となる。ここで、記憶媒体３７としては、不揮発性メモリなどのメモリカードが挙げられる。
【００２１】
ＣＰＵ３０は、内蔵メモリ３２に記憶された制御プログラムを読み出し、電子カメラ１０の各部を制御する。例えばレリーズボタンが半押し操作されたときに、ＣＰＵ３０は、ＡＦ処理、ＡＥ処理、ＡＷＢ処理などを行う。そして、レリーズボタンが全押し操作されたときに、ＣＰＵ３０は、撮像処理を実行する。ワークメモリ３１は、ＣＰＵ３０にて実行されるプログラムにより生成される演算子や、撮影条件などの情報が一時的に記憶される。操作部３３は、レリーズボタンの他、十字キーなどの各種設定ボタンから構成される。
【００２２】
次に、圧縮符号化回路２５の構成について、図３を用いて説明する。圧縮符号化回路２５は、マクロブロック設定部４１、量子化テーブル設定部４２、スケールファクタ設定部４３、符号化テーブル設定部４４、ＤＣＴ変換部４５、量子化部４６及び符号化部４７を備える。
【００２３】
マクロブロック設定部４１は、リサイズ処理されたマップデータや撮影条件などを用いて、圧縮符号化処理において用いるマクロブロックのブロックサイズを設定する。このブロックサイズの設定は、リサイズ処理されたデプスマップを最適化することで実行される。このデプスマップを最適化する処理については、後述する。
【００２４】
量子化テーブル設定部４２は、撮影条件、最適化されたマップデータに基づいて、量子化処理に用いる量子化テーブルを設定する。この量子化テーブルは、最適化されたデプスマップにおける領域毎に設定される。
【００２５】
スケールファクタ設定部４３は、撮影条件、最適化されたマップデータに基づいて、量子化処理において用いるスケールファクタを設定する。このスケールファクタは、最適化されたデプスマップにおける領域毎に設定される。
【００２６】
符号化テーブル設定部４４は、撮影条件、最適化されたマップデータに基づいて、符号化処理に用いるハフマンテーブルを設定する。このハフマンテーブルは、最適化されたデプスマップにおける領域毎に設定される。
【００２７】
したがって、量子化テーブル、スケールファクタ及びハフマンテーブルは、それぞれデプスマップに基づいたマクロブロック毎に設定される。
【００２８】
ＤＣＴ変換部４５は、最適化されたマップデータを参照して、画像データに対する離散コサイン変換処理を実行する。周知のように、離散コサイン変換処理は、設定されるマクロブロック毎に実行される。つまり、ＤＣＴ変換部４５は、最適化されたマップデータを参照し、デプスマップにおける基準領域又は統合領域の大きさに合わせたマクロブロック毎に離散コサイン変換処理を実行する。この離散コサイン変換処理を行うことで、画像データが、直流成分と交流成分とからなる周波数系列のデータに変換される。
【００２９】
量子化部４６は、ＤＣＴ変換部４５から出力されたデータを、マクロブロック毎に設定された量子化テーブル及びスケールファクタを用いて量子化する。
【００３０】
符号化部４７は、量子化部４６から出力されるデータに対してマクロブロック毎にジグザグスキャンなどのスキャンを行い、マクロブロック毎に設定されたハフマンテーブルを用いて符号化する。これにより、画像データが符号化データとして出力される。なお、この際に、マクロブロックのブロックサイズが設定されたマップデータ、量子化テーブル、スケールファクタ、符号化テーブルなどのデータが、符号化データのヘッダとして書き込まれる。
【００３１】
次に、デプスマップを最適化する処理について、図４のフローチャートを元に説明する。
【００３２】
ステップＳ１０１は、横２個×縦２個の計４個の基準領域の距離データが同一であるか否かを判定する処理である。マクロブロック設定部４１は、デプスマップから横２個×縦２個の計４個の基準領域の距離データを読み出す。そして、マクロブロック設定部４１は、これら基準領域の距離データが同一であるか否かを判定する。図５（ａ）においては、デプスマップ５０における座標（Ｘ，Ｙ）＝（１，１）の基準領域Ａ１１を左上隅とした横２個×縦２個の計４個の基準領域Ａ１１、Ａ２１、Ａ２１、Ａ２２を統合するか否かを判定する場合について示している。
【００３３】
例えば、横２個×縦２個の計４個の基準領域の距離データが同一となる場合、マクロブロック設定部４１は、ステップＳ１０１の判定結果をＹｅｓとする。この場合、ステップＳ１０２に進む。一方、横２個×縦２個の計４個の基準領域の距離データのいずれか１つが異なる場合、マクロブロック設定部４１は、ステップＳ１０１の判定結果をＮｏとする。この場合、ステップＳ１０５に進む。ここで、距離データが同一との記載は、対象となる基準領域の距離データが予め設定される誤差の範囲内に含まれる場合を示す。
【００３４】
ステップＳ１０２は、撮影時に設定された電子カメラ１０のシーンモードが、マクロブロックのブロックサイズを大きくしても画質の劣化に影響が小さいシーンモードであるか否かを判定する処理である。例えば、撮影時のシーンモードが「風景」のシーンモードに設定されている場合、被写体が撮影位置から遠方にある被写体となることが多い。撮影位置から遠方に撮影対象が位置している画像では、高周波成分が多く含まれる。周知のように、人間の視覚は、低周波成分には敏感であるのに対して、高周波成分には鈍感であるという性質を有している。したがって、「風景」など高周波成分が多く含まれるシーンモードを用いて撮影された画像に対して圧縮率を上げても画質の劣化が目立ちにくい。つまり、マクロブロックのブロックサイズを大きくすることが可能となる。したがって、マクロブロック設定部４１は、ステップＳ１０２の判定結果をＹｅｓとする。この場合、ステップＳ１０３に進む。
【００３５】
一方、撮影時のシーンモードが「マクロ」に設定されている場合、被写体が撮影位置の近くに位置する対象物となることが多い。このようなシーンモードで取得された画像においても、被写体が撮影位置から離れている対象物を撮影した画像と同様に、高周波成分は含まれるが、シーンモードが「風景」のときに得られた画像よりも高周波成分が含まれる割合は少ない。したがって、このようなシーンモードで撮影された画像に対して圧縮率を上げると画質の劣化が目立ちやすい。つまり、マクロブロックのブロックサイズを大きくすることができない。したがって、マクロブロック設定部４１は、ステップＳ１０２の判定結果をＮｏとする。この場合、ステップＳ１０５に進む。
【００３６】
ステップＳ１０３は、撮影時に設定された撮影条件がマクロブロックのブロックサイズを変更しても画質の劣化に影響が小さい撮影条件であるか否かを判定する処理である。例えば、撮像光学系１５における光学倍率が望遠側に設定され、且つ被写体深度が浅い（絞りを開放している）条件で撮影された画像は、ぼけが多い画像となる。ぼけが多い画像の場合には、圧縮符号化処理におけるマクロブロックのブロックサイズを大きくしても、画質の劣化への影響は小さい。したがって、マクロブロック設定部４１は、ステップＳ１０３の判定結果をＹｅｓとする。この場合、ステップＳ１０４に進む。
【００３７】
一方、撮像光学系１５における光学倍率が広角側に設定され、被写体深度が深い（絞り値を絞っている）条件で撮影された画像は、ぼけが少ない画像となる。ぼけが少ない画像の場合には、圧縮符号化処理におけるマクロブロックのブロックサイズを大きくすると、画質の劣化への影響は大きい。したがって、マクロブロック設定部４１は、ステップＳ１０３の判定結果をＮｏとする。この場合、ステップＳ１０５に進む。
【００３８】
ここで、撮影条件として、撮像光学系１５における光学倍率及び絞り３６の絞り状態を例に挙げているが、これに限定する必要はなく、例えば撮影時に被写体検出を行う電子カメラの場合には、被写体検出の結果を撮影条件とすることも可能である。つまり、対象とする基準領域が被写体領域に含まれていると判定された場合、マクロブロック設定部４１は、ステップＳ１０３の判定結果をＹｅｓとし、対象とするマクロブロックが被写体領域に含まれていないと判定された場合にステップＳ１０３の判定結果をＮｏとすればよい。
【００３９】
ステップＳ１０４は、基準領域を統合する処理である。マクロブロック設定部４１は、対象とする基準領域を含む、横２個×縦２個の計４個の基準領域を統合する。この際に、マクロブロック設定部４１は、統合した基準領域における距離データを求める。以下、統合した横２個×縦２個の計４個の基準領域を、統合領域と称する。
【００４０】
ステップＳ１０５は、全ての基準領域に対して実行したか否かを判定する処理である。全ての基準領域に対して、ステップＳ１０１からステップＳ１０４の処理を行った場合、マクロブロック設定部４１は、ステップＳ１０５の判定結果をＹｅｓとする。この場合、ステップＳ１０６に進む。一方、全ての基準領域に対して、ステップＳ１０１からステップＳ１０４の処理を行っていない場合、マクロブロック設定部４１は、ステップＳ１０５の判定結果をＮｏとする。この場合、ステップＳ１０１に戻る。この場合、基準領域の位置を、図５（ａ）中Ｘ方向又はＹ方向にずらしながら、ステップＳ１０１からステップＳ１０４の処理を実行する。
【００４１】
ステップＳ１０６は、統合領域が横２個×縦２個の計４個隣接する箇所があるか否かを判定する処理である。マクロブロック設定部４１は、基準領域を統合した後のデプスマップを参照して、横２個×縦２個の計４個の統合領域が隣接している箇所があるか否かを参照する。横２個×縦２個の計４個の統合領域が隣接している箇所があれば、マクロブロック設定部４１は、ステップＳ１０６の判定結果をＹｅｓとする。例えば、図５（ｂ）は、横２個×縦２個の統合領域が隣接する場合の一例を示す。このような場合には、マクロブロック設定部４１は、ステップＳ１０６の判定結果をＹｅｓとする。この場合、ステップＳ１０７に進む。一方、横２個×縦２個の計４個の統合領域が隣接している箇所がない場合には、マクロブロック設定部４１は、ステップＳ１０６の判定結果をＮｏとする。この場合、図４のフローチャートの処理を終了する。
【００４２】
ステップＳ１０７は、隣接する横２個×縦２個の計４個の統合領域の距離データが同一であるか否かを判定する処理である。各統合領域の距離データが同一であれば、マクロブロック設定部４１は、ステップＳ１０７の判定結果をＹｅｓとする。この場合、ステップＳ１０８に進む。一方、各統合領域の距離データが同一でない場合、マクロブロック設定部４１は、ステップＳ１０７の判定結果をＮｏとする。この場合、ステップＳ１１１に進む。
【００４３】
ステップＳ１０８は、マクロブロックのブロックサイズを変更しても画質の劣化に影響が少ないシーンモードであるか否かを判定する処理である。なお、この処理は、ステップＳ１０２と同一の処理である。マクロブロック設定部４１は、撮影時のシーンモードがマクロブロックのブロックサイズを変更しても画質の劣化に影響が小さいシーンモードであると判定した場合に、ステップＳ１０８の判定結果をＹｅｓとする。この場合、ステップＳ１０９に進む。一方、マクロブロック設定部４１は、撮影時のシーンモードがマクロブロックのブロックサイズを変更しても画質の劣化に影響が大きいシーンモードであると判定した場合に、ステップＳ１０８の判定結果をＮｏとする。この場合、ステップＳ１１１に進む。
【００４４】
ステップＳ１０９は、撮影時に設定された撮影条件がマクロブロックのブロックサイズを変更しても画質の劣化に影響が少ない撮影条件であるか否かを判定する処理である。この処理は、ステップＳ１０２と同一の処理である。マクロブロック設定部４１は、撮影時の撮影条件がマクロブロックのブロックサイズを変更しても画質の劣化に影響が小さい条件であると判定した場合に、ステップＳ１０９の判定結果をＹｅｓとする。この場合、ステップＳ１１０に進む。一方、マクロブロック設定部４１は、撮影時の撮影条件がマクロブロックのブロックサイズを変更しても画質の劣化に影響が大きい条件であると判定した場合に、ステップＳ１０９の判定結果をＮｏとする。この場合、ステップＳ１１１に進む。
【００４５】
ステップＳ１１０は、統合領域を統合する処理である。マクロブロック設定部４１は、隣接する横２個×縦２計４個の統合領域を統合する。
【００４６】
ステップＳ１１１は、統合領域の全てに対して実行したか否かを判定する処理である。マクロブロック設定部４１は、隣接する横２個×縦２個の計４個の統合領域に対してステップＳ１０７からステップＳ１１０の処理を実行したか否かを判定する。横２個×縦２個の計４個の統合領域が隣接している全ての箇所に対して実行している場合には、マクロブロック設定部４１は、ステップＳ１１１の判定結果をＹｅｓとする。この場合、図４のフローチャートの処理が終了する。一方、横２個×縦２個の計４個の統合領域が隣接している全ての箇所に対して実行していない場合には、マクロブロック設定部４１は、ステップＳ１１１の判定結果をＮｏとする。この場合、ステップＳ１０７に戻る。これにより、デプスマップが最適化される。ここで、最適化されたデプスマップにおいては、８ピクセル×８ピクセルのマクロブロックに相当する領域、１６ピクセル×１６ピクセルのマクロブロックに相当する領域、３２ピクセル×３２ピクセルのマクロブロックに相当する領域が混在したマップとなる。
【００４７】
なお、デプスマップを最適化する処理のうち、ステップＳ１０２、ステップＳ１０８における判定処理については、上記に限定される必要はなく、例えば電子カメラ１０にて設定することができるシーンモードのそれぞれに対して、画像圧縮時に用いるマクロブロックのブロックサイズの適用範囲を予め設定しておき、基準領域や統合領域に相当するマクロブロックのブロックサイズがブロックサイズの適用範囲を外れているか否かを判定することも可能である。つまり、基準領域や統合領域に相当するマクロブロックのブロックサイズが、ブロックサイズの適用範囲の上限を超えていない場合であれば、隣接する領域を統合してもよいと判定する。一方、基準領域や統合領域に相当するマクロブロックのブロックサイズが、ブロックサイズの適用範囲の上限を超えている場合には、隣接する領域を統合できないと判定する。これにより、デプスマップを最適化することが可能となる。
【００４８】
また、図４のフローチャートにおいては、統合する領域の距離データを比較した後、画質の劣化に影響が小さい撮影条件か否かを判定するようにしている。しかしながら、予め撮影条件やシーンモードから、画像圧縮時に設定されるマクロブロックの最大ブロックサイズを予め設定した後、隣接する横２個×縦２個の計４個の基準領域や統合領域の距離データが同一であるか否かの判定を行うことも可能である。
【００４９】
次に、撮影時における処理の流れについて、図６のフローチャートに基づいて説明する。
【００５０】
ステップＳ２０１は、画像データを取得する処理である。レリーズボタンの半押し操作が行われると、ＣＰＵ３０は、ＡＥ処理、ＡＦ処理及びＡＷＢ処理を実行し、撮影時の撮影条件（絞り値、シャッタ速度、感度）を設定する。そして、レリーズボタンの全押し操作が行われると、ＣＰＵ３０は、再度ＡＦ処理を実行し、半押し操作時に求めた撮影条件に合わせた撮像処理を実行する。この撮像処理が実行されることで、撮像素子１６から画像信号が出力される。この画像信号は、クランプ処理、相関二重サンプリング（ＣＤＳ）処理などの処理が施された後、Ａ／Ｄ変換器１７に入力される。そして、Ａ／Ｄ変換器１７においてデジタル化された画像データがバッファメモリ２１に書き込まれる。
【００５１】
ステップＳ２０２は、画像処理である。画像処理回路２２は、バッファメモリ２１に書き込まれた画像データを読み出す。画像処理回路２２は、ホワイトバランス処理、色補間処理、輪郭補償処理、ガンマ処理などの画像処理を施す。そして、画像処理回路２２は、画像データにおける色空間をＲＧＢ色空間からＹＣｂＣｒ色空間に変換する。そして、画像処理回路２２は、画像処理後の画像データをバッファメモリ２１に書き込む。
【００５２】
ステップＳ２０３は、デプスマップを生成する処理である。Ａ／Ｄ変換器１７から出力される画像データは、バッファメモリ２１に書き込まれる他、マップ生成回路２３に出力される。したがって、マップ生成回路２３は、入力される画像データを用いて、デプスマップを生成する。マップ生成回路２３は、生成したデプスマップに関わるデータ（マップデータ）をバッファメモリ２１に書き込む。
【００５３】
ステップＳ２０４は、デプスマップをリサイズする処理である。リサイズ回路２４は、バッファメモリ２１に書き込まれたマップデータを読み出す。リサイズ回路２４は、画像データの画像サイズの情報をワークメモリ３１から読み出す。そして、リサイズ回路２４は、デプスマップのサイズが、画像データの画像サイズとなるように、マップデータに対するトリミング処理を行う。トリミング処理の後、リサイズ回路２４は、トリミング処理されたデプスマップを、ＤＣＴ変換処理の際に用いるマクロブロックの最小ブロックサイズに区画する。リサイズ回路２４は、区画された基準領域に対して、距離データの均一化処理を実行する。そして、リサイズ回路２４は、リサイズされたデプスマップに基づくマップデータを圧縮符号化回路２５に出力する。
【００５４】
ステップＳ２０５は、デプスマップを最適化する処理である。圧縮符号化回路２５は、リサイズ回路２４から出力されたマップデータと撮影条件とに基づいて、デプスマップを最適化する。
【００５５】
ステップＳ２０６は、圧縮パラメータを設定する処理である。圧縮符号化回路２５は、最適化されたデプスマップと撮影条件とからマクロブロックのブロックサイズ、量子化テーブル、スケールファクタ及びハフマンテーブルを設定する。
【００５６】
ステップＳ２０７は、圧縮符号化処理を行う処理である。圧縮符号化回路２５は、まず、最適化されたデプスマップにおける各領域に対応したブロックサイズのマクロブロック毎にＤＣＴ変換処理を実行する。このＤＣＴ変換処理の後、マクロブロック毎に設定された量子化テーブル、スケールファクタを用いた量子化処理を行う。最後に、マクロブロック毎に設定されたハフマンテーブルを用いた符号化処理を実行する。
【００５７】
上述したように、この圧縮符号化処理は、撮影条件だけでなく、画像内における距離データに基づいて設定される圧縮パラメータを用いて実行される。ここで、最適化されたデプスマップは、距離データが同一である領域を撮影条件に基づいて統合したマップであることから、このマップにおける各領域に相当するブロックサイズのマクロブロック毎に圧縮符号化処理を実行することで画質の劣化を抑制することができる。そのため、圧縮符号化処理における符号量を適切な符号量に抑えることになり、圧縮符号化処理における圧縮効率を向上させることが可能となる。なお、圧縮符号化処理により生成される符号化データは、バッファメモリ２１に書き込まれる。
【００５８】
ステップＳ２０８は、符号化データを記録する処理である。ＣＰＵ３０は、バッファメモリ２１に書き込まれた符号化データを読み出す。そして、ＣＰＵ３０は、圧縮符号化回路６０にて用いたマップデータ、量子化テーブル、スケールファクタ及びハフマンテーブルを符号化データのヘッダに書き込んだ後、該符号化データを記憶媒体３７に書き込む。
【００５９】
上述した実施形態では、最適化されたデプスマップにて設定される領域に相当するブロックサイズのマクロブロック毎に量子化テーブル、スケールファクタ及び符号化テーブルなどの圧縮パラメータが設定される。そのため、圧縮符号化処理された符号化データに対して復号化処理を行う場合には、マクロブロック毎に設定される各圧縮パラメータや最適化されたデプスマップを参照しながら逆ＤＣＴ変換処理を行う必要がある。したがって、マクロブロック毎に設定される各圧縮パラメータや最適化されたデプスマップを参照しなくとも符号化データを復号化できるように、圧縮符号化処理における圧縮パラメータをマクロブロック毎ではなく、画像全体として設定することも可能である。
【００６０】
以下、マクロブロックのブロックサイズを固定サイズとする場合の圧縮符号化回路の構成を図７に示す。図７に示すように、圧縮符号化回路６０は、パラメータ設定部６１、ＤＣＴ変換部６２、量子化部６３及び符号化部６４から構成される。なお、ＤＣＴ変換部６２、量子化部６３及び符号化部６４の構成は周知であることから、その説明については省略する。
【００６１】
パラメータ設定部６１は、入力されるデプスマップの元になるマップデータの他、撮影条件に基づいて、圧縮符号化処理を行う画像データに最適な圧縮パラメータを設定する。なお、パラメータ設定部６１に入力されるデプスマップは、上述したリサイズ回路２４にてリサイズ処理されたデプスマップである。
【００６２】
パラメータ設定部６１は、入力されるデプスマップにおける距離データに基づいて、取得された画像に含まれる対象物の距離を解析する。そして、パラメータ設定部６１は、解析した結果と、撮影条件とに基づいて、ＤＣＴ変換処理にて使用するマクロブロックのブロックサイズを設定する。
【００６３】
例えば、デプスマップにおける距離データが撮影した位置から近い位置にある対象物を撮影した画像の場合で、撮像光学系の光学倍率が広角側に設定され、さらに被写体深度が深い場合には、パラメータ設定部６１は、マクロブロックサイズを最小ブロックサイズに設定する。また、デプスマップにおける距離データが撮影した位置から遠い位置にある対象物を撮影した画像の場合で、撮像光学系の光学倍率が望遠側に設定され、さらに被写体深度が浅い場合には、パラメータ設定部６１は、マクロブロックサイズを最小ブロックサイズよりも大きいブロックサイズに設定する。なお、設定されたマクロブロックのブロックサイズの情報は、ＤＣＴ変換部６２に出力される。
【００６４】
パラメータ設定部６１は、デプスマップにおける距離データに基づく解析結果と、撮影条件に基づいて、量子化テーブル、スケールファクタ、及び符号化テーブルを設定する。そして、これらパラメータを量子化部６３及び符号化部６４にそれぞれ出力する。そして、これらパラメータを用いて、ＤＣＴ変換処理、量子化処理及び符号化処理が実行される。
【００６５】
この圧縮符号化処理の場合には、生成される符号化データのヘッダには、最適化されたデプスマップのマップデータを書き込む必要はなく、マクロブロックサイズ、量子化テーブル、スケールファクタ、及び符号化テーブル等の圧縮パラメータのみが書き込まれる。したがって、符号化データは、これら圧縮パラメータを参照することで、復号化されることになる。
【００６６】
このような圧縮符号化処理を行うことで、マクロブロックのブロックサイズをデプスマップ、撮影条件に基づいて調整することができるので、圧縮符号化処理を効率良く実施することが可能となる。
【００６７】
上述した実施形態においては、電子カメラを例に取り上げているが、図１に示すマップ生成回路２３、リサイズ回路２４及び図２に示す圧縮符号化回路２５の機能や、図４のフローチャートの処理や、図６のステップＳ２０３からステップＳ２０８のフローチャートの処理を実行することが可能な圧縮符号化装置であってもよい。また、この他に、上述した機能をコンピュータにて実行させることが可能な圧縮符号化プログラムであってもよい。なお、この圧縮符号化プログラムは、メモリカード、光学ディスクなど、コンピュータが読み取ることが可能な記憶媒体に記憶されていることが好ましい。
【符号の説明】
【００６８】
１０…電子カメラ、２２…画像処理回路、２３…マップ生成回路、２４…リサイズ回路、２５，６０…圧縮符号化回路、３０…ＣＰＵ
【図１】
2015005806.tif 000003
【図２】
2015005806.tif 000004
【図３】
2015005806.tif 000005
【図４】
2015005806.tif 000006
【図５】
2015005806.tif 000007
【図６】
2015005806.tif 000008
【図７】
2015005806.tif 000009