画像処理方法、画像処理装置、及びコンピュータプログラム
【課題】 撮影情報と画像とで、撮影条件につての整合性を一致させること。
【解決手段】 撮影情報を参照し、画像方向を示す情報を抽出する(S103)。そして撮影画像のデータを用いて画像方向を求める(S105)。そしてそれぞれの画像方向を比較(S106)し、比較結果が一致していない場合には、比較結果が一致するように、撮影画像、もしくは抽出した画像方向の何れかを変更する(S108,S110)。
【解決手段】 撮影情報を参照し、画像方向を示す情報を抽出する(S103)。そして撮影画像のデータを用いて画像方向を求める(S105)。そしてそれぞれの画像方向を比較(S106)し、比較結果が一致していない場合には、比較結果が一致するように、撮影画像、もしくは抽出した画像方向の何れかを変更する(S108,S110)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影画像を処理するための技術に関するものである。
【背景技術】
【0002】
近年、デジタルカメラの普及によって、撮影画像のデジタル化が容易になっている。加えて印刷装置、特にインクジェット方式の高画質化が進み、ユーザが撮影したデジタル画像から写真調の印刷結果を得ることができるようになった。更に、パーソナルコンピュータ上で各種アプリケーションソフトウェアを使用して撮影した画像データを編集、加工処理することも容易になっている。
【0003】
このような背景から、撮影した画像をきれいに且つ簡単に印刷できる環境の開発が更に進められている。そのひとつとして、デジタルカメラで撮影したときの撮影条件、時間、機種などの様々な情報を撮影情報として画像データに付加し、そのデータをもとに最適な画像処理を行う方法が多く提案されている(例えば特許文献1を参照)。
【特許文献1】特開2003-087717
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし実際には撮影情報と撮影された画像データとが一致していないために間違った処理を行うことがある。これは撮影情報が必ずしも撮影時の状況を反映できないからである。
【0005】
例えば、デジタルカメラの一機能として、撮影時の縦横の姿勢、つまり画角を検知するものがある。これはカメラにフォトインタラプター、傾きセンサー、重力センサー、加速度センサー、メカ的なセンサーをカメラに内蔵し、撮影時の姿勢を計測するものである。
【0006】
これによって撮影時の縦横の姿勢を撮影情報として格納しておき、縦長な画角で撮影された撮影画像データをパーソナルコンピュータで表示するときに自動的に回転させて表示するといった機能を実現することが可能になる。
【0007】
この機能は高級機には搭載されているが、低価格普及機、カメラ付き携帯などにはまだ搭載されていない。更に画像の方向を格納する機能が搭載されているにもかかわらず、ユーザがこの機能をoffにして撮影することもある。また、急にカメラを動かしたり回転して撮影した場合には、正確に撮影方向を認識できない場合がある。したがって、撮影された画像の方向と格納された撮影データが一致していない場合が多く存在する。
【0008】
この結果、画像を表示する際に画像の方向を元に表示方向を自動的に修正して表示できるアプリケーションを利用していても、表示方向と画角を一致させることができない場合が発生するという問題があった。
【0009】
さらに、デジタルカメラには撮影モードの設定が可能であり、ユーザは、AUTO、ポートレート、風景、夜景などのモードを選択して撮影を行える。しかし、ユーザがあるモードを選択して撮影を行い、そのままのモードで使い続けてしまうといったことが起こる。例えば、風景モードで風景に適した撮影を行った後で、人物をそのモードのまま撮影してしまうといったことがある。
【0010】
この様な場合、撮影情報を元に自動的に画像処理を行うと、ポートレートモードとして処理されるべき画像であるにもかかわらず、風景モードとして処理されてしまい、処理の不整合が発生するといった問題があった。
【0011】
本発明は以上の問題に鑑みて成されたものであり、撮影情報と画像とで、撮影条件につての整合性を一致させるための技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【0013】
即ち、画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算工程と、
前記計算工程で計算した情報と、前記抽出工程で抽出した情報とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出工程で抽出した情報の何れかを変更する変更工程と
を備えることを特徴とする。
【0014】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【0015】
即ち、画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算工程と、
前記計算工程で計算したロール値と、前記抽出工程で抽出した情報が示すロール値とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出工程で抽出した情報が示すロール値を変更する変更工程と
を備えることを特徴とする。
【0016】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【0017】
即ち、画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算工程と、
前記計算工程で求めたシーンと、前記抽出工程で抽出した情報が示すシーンとを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出工程で抽出した情報を変更する変更工程と
を備えることを特徴とする。
【0018】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【0019】
即ち、画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算手段と、
前記計算手段が計算した情報と、前記抽出手段が抽出した情報とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出手段が抽出した情報の何れかを変更する変更手段と
を備えることを特徴とする。
【0020】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【0021】
即ち、画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算手段と、
前記計算手段が計算したロール値と、前記抽出手段が抽出した情報が示すロール値とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出手段が抽出した情報が示すロール値を変更する変更手段と
を備えることを特徴とする。
【0022】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【0023】
即ち、画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算手段と、
前記計算手段が求めたシーンと、前記抽出手段が抽出した情報が示すシーンとを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出手段が抽出した情報を変更する変更手段と
を備えることを特徴とする。
【発明の効果】
【0024】
本発明の構成により、撮影情報と画像とで、撮影条件につての整合性を一致させることができる。
【発明を実施するための最良の形態】
【0025】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0026】
[第1の実施形態]
図1は、本実施形態に係る画像処理装置の基本構成を示すブロック図である。101は画像処理装置本体で、PC(パーソナルコンピュータ)やWS(ワークステーション)等の汎用の汎用コンピュータである。このコンピュータ101は基本的には以下の各部により構成されている。
【0027】
102はCPUで、ROM103やRAM104に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、本実施形態に係る画像処理装置が行うべき後述の各処理を行う。
【0028】
103はROMで、BIOS(basic input/output system)と呼ばれる周辺機器の入出力を制御するプログラムが格納されている。CPU102はコンピュータの電源投入時にこのプログラムを実行し、RAM104やその他の入出力装置の初期化を行う。
【0029】
104はRAMで、CPU102が各処理を行う際に使用するワークエリアを備えると共に、2次記憶装置105からロードされたプログラムやデータを一時的に記憶するためのエリアを備える。また、インターフェース108を介して受信したデータを一時的に記憶するためのエリアを備える。
【0030】
105は2次記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であり、ここにOS(オペレーティングシステム)や、本実施形態に係る画像処理装置が行うべき処理として後述する各処理をCPU102に実行させるためのプログラムやデータが保存されており、これらの一部、もしくは全部はCPU102の制御に基づいてRAM104にロードされ、CPU102の処理対象となる。
【0031】
106は表示装置で、CRTや液晶画面などにより構成されており、CPU102による処理結果を画像や文字などでもって表示することができる。
【0032】
107は入力装置で、キーボードやマウスなどのポインティングデバイスにより構成されており、各種の指示をCPU102に対して入力することができると共に、各種のデータ入力を行うこともできる。
【0033】
108はI/Fで、ここに後述する各周辺機器を接続することができ、本実施形態に係る画像処理装置は、各周辺機器とこのI/F108を介してデータ通信を行うことができる。I/F108としては、パラレルポートとも呼ばれるIEEE1284やSCSI(small computer system interface)、更にはUSB(universal serial bus)、IEEE1394といったシリアルバスなどが使用できる。どのインターフェースを使用するかは画像処理装置101の構成、外部周辺機器の対応によって決まる。
【0034】
150は上述の各部を繋ぐバスである。
【0035】
次に、I/F108に接続する周辺機器について説明する。周辺機器には、デジタルスチルカメラ109、メモリカードリーダ/ライタ110、プリンター111がある。
【0036】
デジタルスチルカメラ109は周知の通り撮影装置であり、撮影した撮影画像データをデジタルスチルカメラ109内部に挿入している不図示の記録メディアに保持している。
【0037】
この保持している撮影画像データは、I/F108にこのデジタルスチルカメラ109を接続し、入力装置107により取り込み指示を入力することで、CPU102による制御に従って、デジタルスチルカメラ109からコンピュータ101のRAM104もしくは2次記憶装置105にダウンロードすることができる。
【0038】
また、上記記録メディアをデジタルスチルカメラ109から取り出し、メモリカードリーダ/ライタ110に挿入し、そしてI/F108にこのメモリカードリーダ/ライタ110を接続し、入力装置107により取り込み指示を入力することで、CPU102による制御に従ってメモリカードリーダ/ライタ110に記録メディアに記録されている撮影画像データを読み出させることができ、これにより、メモリカードリーダ/ライタ110からコンピュータ101のRAM104もしくは2次記憶装置105にダウンロードすることができる。
【0039】
また、コンピュータ101に一反ダウンロードした撮影画像は、プリンター111によって記録媒体上に印刷することもできる。
【0040】
なお、本実施形態に係る画像処理装置の基本構成はこれに限定するものではなく、例えばCD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出してRAM104や2次記憶装置105にロードするための装置を更に所定のインターフェースを介してバス150に接続するようにしても良い。
【0041】
<撮影画像のフォーマット>
図2は、本実施形態に係る撮影画像のフォーマットを示す図である。このフォーマットは上記記録メディアに格納する際のフォーマット、あるいは画像処理装置101に転送する際のフォーマットである。
【0042】
デジタルスチルカメラ109は、1つの画像を撮影すると、この撮影画像のデータを含む画像ファイルを作成する。201は、この画像ファイル全体を示す。画像ファイル201内は撮影情報領域202と撮影画像データ領域203とに大別される。撮影情報領域202には、後述する撮影情報が記録され、撮影画像データ領域203には、撮影画像のデータが記録される。即ち、撮影画像のデータは、撮影情報を添付する形態で上記記録メディアに格納されている、あるいは画像処理装置101に転送される。
【0043】
一般的には、領域202内のデータ(撮影情報)の量はさほど大きくないので非圧縮で保持し、領域203内のデータ(撮影画像のデータ)の量は大きくなるので圧縮で保持するので、この画像ファイル201は所謂ハイブリッドな構成をとる。しかし、各領域における圧縮/非圧縮についてはこれに限定するものではなく、撮影画像データが非圧縮であっても、逆に撮影情報が圧縮されていても問題ない。
【0044】
先ず、領域202に記録されている撮影情報について説明する。
【0045】
領域202にはデジタルスチルカメラ109で撮影したときの撮影条件、例えば、撮影する画像の縦/横の画素数、露出条件、ストロボ発行の有無、ホワイトバランスの条件、撮影モード、撮影時刻等の「複数の撮影条件を示す情報」が記録されている。よって図2の場合、領域202には、領域203に記録されている撮影画像データを撮影したときの撮影条件を示す情報が記録されている。
【0046】
撮影情報は、その撮影情報に対応するID番号、データ形式、データ長、オフセット値、撮影情報固有のデータで構成される。例えば、JEIDA(japan electronic industry development association)の定めるExif(exchangeable image format)などが使用できる。
【0047】
ExifではIDがTagとして定義されおり、例えばTag=274が画像方向(Orientation)となっている。画像方向の値は、1:上左(0番目の行(X方向)が画像の上、0番目の列(Y方向)が左側)、6:右上(0番目の行が画像の右側、0番目の列が上)、8:左下(0番目の行が画像の左側、0番目の列(Y方向)が下)(その他は省略)と定義されている。よって、本実施形態に係る画像ファイルのフォーマットがExifに従っている場合に、領域202内の撮影情報において、ID=274の撮影条件(1,6,8の何れか)を参照すれば、撮影時における画像方向を得ることができる。
【0048】
このように、領域202に記録される各撮影条件には固有のIDが付けられており、IDを指定すると、これに対応する撮影条件は1つに特定されるので、これをこの領域202から抽出し、参照することができる。図2の例では、ID=3を指定すると、これに対応する撮影条件は「撮影モード」であるので、「撮影モード」を参照することで、領域203に記録されている撮影画像データを撮影した際の撮影モードが何であったかを得ることができる。
【0049】
一方、領域203には上述の通り、撮影画像のデータが記録されるのであるが、この画像データにはRGBデータやYCC(輝度色差)データを用いることができる。例えば、領域203に記録されている撮影画像データがYCCデータである場合、画像処理装置101側ではこのYCCデータをRGBデータに変換して用いる。本実施形態では、領域203に記録される画像はJPEG圧縮されているものとするが、圧縮方式はJPEG圧縮方式に限定するものではなく、他の圧縮方式を用いても良いし、上述の通り、必ずしも圧縮されていることに限定しなくても良い。
【0050】
<本実施形態に係る画像処理装置が行うメインの処理>
図3は、本実施形態に係る画像処理装置が行う処理のフローチャートである。同図のフローチャートに従った処理は大まかには、表示装置106の表示画面上に一覧表示された撮影画像のうちユーザに選択された撮影画像について、この撮影画像に対する撮影情報と、撮影画像から求められる「この撮影情報に該当する情報」とを比較し、その比較の結果が一致していない場合には一致させるべく、撮影情報、撮影画像データの何れを変更するのかをユーザに問い合わせる処理のフローチャートである。
【0051】
尚、同図のフローチャートに従った処理をCPU102に実行させるためのプログラムやデータは2次記憶装置105に保存されており、これをCPU102の制御によってRAM104に読み出し、CPU102がこれを実行することで、本実施形態に係る画像処理装置は以下説明する各処理を行うことになる。
【0052】
また、同図のフローチャートに従った処理の前段で、RAM104には、デジタルスチルカメラ109から、複数の画像ファイル(図2に示したフォーマットに従った画像ファイル)がRAM104にダウンロードされているものとする。
【0053】
先ずステップS101では、CPU102はRAM104にダウンロードされた各画像ファイルの領域203を参照し、各画像ファイルに記録されている撮影画像のデータを読み出し、復号し、更に、画像データがYCCフォーマットである場合にはこれをRGBフォーマットに変換し、ユーザにどの画像を以下の処理の対象とするのかを選択させる為に、復号後の撮影画像(RGB画像データ)をサムネイルサイズで表示装置106の表示画面上に一覧表示する。表示の形態は特に限定するものではないし、サムネイルサイズの画像を得る手段についても特に限定するものではない。
【0054】
ユーザは入力装置107を用いて1つ以上の撮影画像を選択し、選択が終了したら、その旨の指示を入力装置107を用いて入力するので、CPU102がこの指示を検知すると、選択された撮影画像のリストを作成する。このリストとして本実施形態では、選択された画像ファイルのファイル名のリストとするが、特に限定するものではない。また本実施形態では、人の顔が含まれている撮影画像が選択されたものとして説明する。
【0055】
次に、ステップS102では、CPU102は、ステップS101で作成したリストの先頭の画像ファイル名を参照し、該当する画像ファイルをRAM104に読み出す。なお、ステップS102における処理が2回目以降である場合(処理がステップS111からステップS102に移行して、ステップS102における処理を実行する場合、今回のステップS102における処理は2回目以降の処理となる)には、前回読み出された画像ファイルの次の順にリストに登録されている画像ファイルを読み出すことになる。
【0056】
次に、ステップS103における処理と、ステップS104,S105による処理とを並行して行う。なお、ステップS103における処理と、ステップS104,S105による処理とを並行に行うことに限定するものではなく、シリアルに行うようにしても良い。先ずステップS103における処理について説明する。
【0057】
ステップS103では、ステップS102で参照した画像ファイル内の領域202内に記録されている撮影情報を解析する。図4は、ステップS103における撮影情報解析処理の詳細を示すフローチャートである。
【0058】
先ずステップS200では、ステップS102で参照した画像ファイル内の領域202内に撮影情報が記録されているのか否かをチェックする。一般的にデジタルスチルカメラ109で撮影された撮影画像データには撮影情報が付加されているが、アプリケーションで編集、加工などをするとこの撮影情報が消去される場合がある。
【0059】
そしてそのチェックの結果、撮影情報が記録されていなかった場合には処理をステップS207に進め、撮影情報エラーとしてステップS103における処理を終了する。
【0060】
一方、ステップS102で参照した画像ファイル内の領域202内に撮影情報が記録されている場合には処理をステップS200からステップS201に進め、この撮影情報から読み出すべき情報をRAM104中の所定のエリアに読み出すために、この所定のエリアをRAM104中に確保する処理を行う。このエリアの確保については、例えばこの撮影情報のデータサイズ分を確保するようにすれば、少なくとも、撮影情報からどれだけの情報を読み出しても、エリア不足にはならない。
【0061】
ここで、確保できなかった場合には処理をステップS202からステップS207に進め、撮影情報エラーとしてステップS103における処理を終了する。
【0062】
一方、確保できた場合には処理をステップS202からステップS203に進め、撮影情報に含まれている撮影条件を、対応するIDと共に1つ読み出す。ここで、ステップS203において読み出しができなかった場合、即ち、撮影情報に含まれる全てのID、撮影条件を読み出した場合には本フローチャートに従った処理を終了する。
【0063】
一方、まだ全てのID、撮影条件を読み出していない場合には処理をステップS204に進め、ステップS203で読み出したIDが「撮影情報から読み出すべき撮影条件のID」であるか否かをチェックする。なお、「撮影情報から読み出すべき撮影条件のID」は予め撮影情報IDテーブルとして作成され、2次記憶装置105に保存されており、本処理の前段で予めRAM104にロードしているものとする。そしてこのテーブルを検索し、ステップS203で読み出したIDがこのテーブルに登録されているか否かをチェックする。
【0064】
ここでは説明を簡単にするためにその一例として、「撮影情報から読み出すべき撮影条件のID」を「0」と「1」とする。即ち図2の例では、「露光」と「ストロボ」の撮影条件が「撮影情報から読み出すべき撮影条件」となる。
【0065】
そしてステップS204におけるチェックの結果、ステップS203で読み出したIDが「0」の場合には処理をステップS205に進め、ID=0に対応する撮影条件の情報をこの撮影情報から抽出してステップS201で確保したエリアに読み出す。
【0066】
また、ステップS204におけるチェックの結果、ステップS203で読み出したIDが「1」の場合には処理をステップS206に進め、ID=1に対応する撮影条件の情報をこの撮影情報から抽出してステップS201で確保したエリアに読み出す。
【0067】
また、ステップS204におけるチェックの結果、ステップS203で読み出したIDが「0」、「1」の何れでもない場合には処理をステップS203に戻し、次のIDを読み出し、以降の処理を繰り返す。
【0068】
この解析処理では、期待するすべての撮影条件が必ずしもすべて得られるとは限らない。これはデジタルスチルカメラ109の機種によって対応している撮影条件の種類が異なっているからである。このため収集できた撮影条件を利用して後の処理を実行しなければならない。
【0069】
なお、本実施形態では、「撮影情報から読み出すべき撮影条件」を「画像方向」であるとする。従って、画像ファイルのフォーマットがExifに準拠している場合には、撮影情報に含まれる全てのIDのうちID=274を検索し、検索したID=274の撮影条件をステップS201で確保したエリアに読み出すことになる。
【0070】
図3に戻って、次に、ステップS104,S105における処理について説明する。ステップS104では、ステップS102で参照した画像ファイル内の領域203に記録されている撮影画像のデータを読み出し、復号し、更に、画像データがYCCフォーマットである場合にはこれをRGBフォーマットに変換する。
【0071】
そして次にステップS105では、復号後の撮影画像(RGBデータ)中で、人の顔を検出する処理を行う。ステップS105における顔検出手段としては、すでに様々な手法が提案されている。
【0072】
特開2002−183731によれば、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。そして、この顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値が、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較した時に、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。
【0073】
また、特開2003−30667によれば、まず画像中から肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【0074】
さらに、特開平8−63597によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算し、マッチング度が最も高いテンプレートを選択し、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いるこことで、目の位置を検出することが可能であるとしている。
【0075】
さらに、特開2000−105829によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能であるとしている。
【0076】
その他、顔および器官位置を検出する方法としては、特開平8-77334、特開2001-216515、特開平5-197793、特開平11-53525、特開2000-132688、特開2000-235648、特開平11-250267、特登録2541688など、数多くの手法が提案されている。
【0077】
本実施形態では画像中の顔領域の検出、及び、この領域の画像における位置を求める方法については上記何れの文献による技術を用いても良いし、またそれらを組み合わせた技術を用いても良い。また、上記文献による技術に限定するものではなく、その技術については特に限定するものではない。
【0078】
図7A〜図7Cは、デジタルスチルカメラ109を様々な回転角度に配置した場合に撮影された、画像ファイル内の領域203に記録されている撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0079】
図7Aは、デジタルスチルカメラ109を回転させずに(ロール値=0)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0080】
図7Aにおいて701はデジタルスチルカメラ109を回転させずに人を撮影した場合に撮影される撮影画像であって、702はステップS105において検出される顔領域である。また、LTはこの顔領域702の左上隅における座標(原点は撮影画像701の左上隅とする)、RBはこの顔領域702の右下隅における座標を示すもので、顔検出処理で得られた座標である。ここで座標LTを(x1,y1)、座標RBを(x2,y2)とする。
【0081】
ここで、デジタルスチルカメラ109を回転させずに撮影される撮影画像における顔領域のLT、RBには以下のような関係がある。
【0082】
x2>x1
y2>y1
このように、デジタルスチルカメラ109を回転させずに撮影を行った場合、デジタルスチルカメラ109に撮影方向を検出する為のセンサが備わっている場合には、撮影画像701に添付される撮影情報中の「画像方向」にはこのセンサの計測結果である「デジタルスチルカメラ109が回転していない」ことを示す「1」なるデータが登録される。例えば画像ファイルがExifに準拠している場合には、撮影情報中のID=274における撮影条件が「画像方向」であるので、274なるIDと共に「画像方向」を示す「1」なるデータを登録する。
【0083】
図7Bは、デジタルスチルカメラ109を反時計方向に90度回転させて(ロール値=270)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0084】
図7Bにおいて703はデジタルスチルカメラ109を反時計方向に90度回転させて撮影される撮影画像であって、704はステップS105において検出される顔領域である。デジタルスチルカメラ109を反時計方向に90度回転させて撮影される撮影画像における顔領域のLT、RBには以下のような関係がある。
【0085】
x2>x1
y2<y1
このように、デジタルスチルカメラ109を反時計方向に90度回転させて撮影を行った場合、デジタルスチルカメラ109に撮影方向を検出する為のセンサが備わっている場合には、撮影画像701に添付される撮影情報中の「画像方向」にはこのセンサの計測結果である「デジタルスチルカメラ109が反時計方向に90度回転している」ことを示す「6」なるデータが登録される。例えば画像ファイルがExifに準拠している場合には、撮影情報中のID=274における撮影条件が「画像方向」であるので、274なるIDと共に「画像方向」を示す「6」なるデータを登録する。
【0086】
図7Cは、デジタルスチルカメラ109を時計方向に90度回転させて(ロール値=90)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0087】
図7Cにおいて705はデジタルスチルカメラ109を時計方向に90度回転させて撮影される撮影画像であって、706はステップS105において検出される顔領域である。デジタルスチルカメラ109を時計方向に90度回転させて撮影される撮影画像における顔領域のLT、RBには以下のような関係がある。
【0088】
x2<x1
y2>y1
このように、デジタルスチルカメラ109を時計方向に90度回転させて撮影を行った場合、デジタルスチルカメラ109に撮影方向を検出する為のセンサが備わっている場合には、撮影画像701に添付される撮影情報中の「画像方向」にはこのセンサの計測結果である「デジタルスチルカメラ109が時計方向に90度回転している」ことを示す「8」なるデータが登録される。例えば画像ファイルがExifに準拠している場合には、撮影情報中のID=274における撮影条件が「画像方向」であるので、274なるIDと共に「画像方向」を示す「8」なるデータを登録する。
【0089】
以上のことから以下の2点が分かる。
【0090】
・ 撮影画像から顔領域を検出し、そして検出した顔領域におけるLT、RBの各座標値を参照し、x1,y1,x2,y2の互いの関係が上記関係式の何れに該当するのかをチェックすれば、撮影画像内における被写体の向きが分かるので、その結果、この撮影画像を撮影したデジタルスチルカメラ109の回転方向が分かる。例えば顔領域のLT、RBを参照し、x2>x1,y2<y1である場合には、デジタルスチルカメラ109は反時計方向に90度回転していることが分かる。このように、撮影画像から、デジタルスチルカメラ109の回転方向を求めることができる。
【0091】
・ デジタルスチルカメラ109に撮影方向を計測するセンサが備わっている場合には、デジタルスチルカメラ109側でセンサの計測結果である撮影方向を示す情報を「画像方向」として上述のようにID=274と共に撮影情報に含め、撮影画像に添付して画像ファイルとして本実施形態に係る画像処理装置101に転送されるので、本実施形態に係る画像処理装置101は、画像ファイル中の撮影情報内の「画像方向」を参照すれば、この撮影画像の撮影時における実際のデジタルスチルカメラ109の方向を獲得することができる。なお、デジタルスチルカメラ109に撮影方向を計測するセンサが備わっていない場合には、撮影情報中の「画像方向」には、デフォルトのデータ「1」が登録されるか、もしくは何も登録されない。
【0092】
しかし、従来技術として説明したとおり、種々の原因により、撮影時における実際のデジタルスチルカメラ109の撮影方向と、撮影画像から求められるデジタルスチルカメラ109の撮影方向とが一致しない場合がある。そこで、本実施形態では、撮影情報中の「画像方向」のデータを参照し、このデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とを比較し、異なっている場合には、「画像方向」のデータが示す「撮影方向」と撮影画像から求められる「撮影方向」とが一致するように、ユーザに撮影情報中の「画像方向」のデータ、撮影画像の何れを操作するのかを選択させるためのインターフェースを提供する。
【0093】
よって、図3に戻って、ステップS106では、撮影情報中の「画像方向」のデータを参照し、このデータが示す「撮影方向」(ロール値)と、撮影画像から求められる「撮影方向」(ロール値)とを比較し、一致しているか否かを判定する。そして一致している場合には、処理をステップS111に進め、リストに登録されている全ての画像ファイルについてステップS102以降の処理を行う。処理を行っていないものがある場合には処理をステップS102に戻し、ステップS101で作成したリストに登録されている各画像ファイルのうち、次の画像ファイルについてステップS102以降の処理を行う。
【0094】
一方、ステップS106における判定処理で、一致していないと判定した場合には、処理をステップS107に進め、一致していないので、一致するように撮影画像を回転させるのか否かをユーザに選択させるためのインターフェースを表示装置106の表示画面上に表示する。図8Aは、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影画像を回転させるのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【0095】
同図において801はこのインターフェースとしてのウィンドウを示す。ここでユーザが「はい」のボタン画像を入力装置107を用いて指示すると、処理をステップS107からステップS108に進め、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように、撮影画像を回転させ、回転後の撮影画像を回転前の撮影画像の代わりに保存する。
【0096】
例えば図7Bに示した撮影画像703に添付されている撮影情報中の「画像方向」のデータが登録されていない、もしくは「0」のデータが登録されている場合、ステップS105における顔検出処理によって検出されたLT、RBの座標値の関係を参照するとx2>x1、y2<y1であるので、デジタルスチルカメラ109は反時計方向に90度回転していることになり、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致していないことになる。そこでこのような場合には、撮影画像703を反時計方向に90度回転させることで、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致することになる。撮影画像に添付されている撮影情報中の「画像方向」のデータが登録されていない、もしくは「0」のデータが登録されている場合の例として、例えば、デジタルカメラに角度センサーが装備されていない場合や、センサーが正常に作動しなくて角度を測定できない場合がある。
【0097】
一方、ユーザが「いいえ」のボタン画像を入力装置107を用いて指示すると、処理をステップS107からステップS109に進め、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影情報中の「画像方向」のデータを変更するのか否かをユーザに選択させるためのインターフェースを表示装置106の表示画面上に表示する。
【0098】
図8Bは、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影情報中の「画像方向」のデータを変更するのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【0099】
同図において802はこのインターフェースとしてのウィンドウを示す。ここでユーザが「はい」のボタン画像を入力装置107を用いて指示すると、処理をステップS109からステップS110に進め、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように、撮影情報中の「画像方向」のデータを変更し、変更前の「画像方向」に上書きする。
【0100】
例えば図7Bに示した撮影画像703に添付されている撮影情報中の「画像方向」のデータが登録されていない、もしくは「0」のデータが登録されている場合、LT、RBの座標値の関係を参照するとx2>x1、y2<y1であるので、デジタルスチルカメラ109は反時計方向に90度回転していることになり、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致していないことになる。そこでこのような場合には、撮影情報中の「画像方向」のデータを「6」に変更することで、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致することになる。
【0101】
なお本実施形態ではステップS108,S109では元のデータに上書きするようにしているが、上書きするのか否か、しない場合には新たなファイル名で保存するのかをユーザに問い合わせるためのウィンドウを表示装置106の表示画面上に表示するようにしても良い。
【0102】
また、図3のフローチャートにおいて、ステップS107,S109をまとめて、「撮影情報、撮影画像の何れを変更するのか?」をユーザに選択させるためのインターフェースを表示するようにしても良い。
【0103】
図5はこのインターフェースの表示例を示す図である。同図において803がこのインターフェースとしてのウィンドウであり、804,805がそれぞれ「画像を回転させる」ことを選択するためのラジオボタン、「撮影情報を変更させる」ことを選択するためのラジオボタンである。同図ではラジオボタン804が選択されている。
【0104】
806は上記ラジオボタン804,もしくはラジオボタン805に何れかで選択した方の変更を指示するためのボタン画像である。
【0105】
よってこのインターフェースにおいてユーザが入力装置107を用いてラジオボタン805を指示する(「撮影情報を変更する」を選択する)と、ステップS110における処理を行い、ラジオボタン804を選択する(「撮影画像を回転させる」を選択する)と、ステップS108における処理を行う。
【0106】
以上の説明により、本実施形態によって、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致していない場合には、撮影画像、撮影情報中の「画像方向」のデータの何れかを変更し、一致させることができる。またこれにより、撮影情報を元に自動画像補正を行う時に補正の不適合をなくすことが可能になる。
【0107】
[第2の実施形態]
第1の実施形態では、撮影情報に記録されている撮影条件と、撮像画像から求められる撮影条件とを比較し、一致していなければ何れか一方を変更させるという技術の一例として、この撮影条件を「画像方向」とした場合について説明した。
【0108】
本実施形態ではこのような技術の別の例として、この撮影条件を「シーン」とした場合について説明する。
【0109】
なお、本実施形態に係る画像処理装置の基本構成については第1の実施形態と同じであるとする。また、本実施形態に係る画像処理装置が行う処理のフローチャートは基本的には図3に示したフローチャートと同じであるが、ステップS105における画像解析処理、ステップS106における比較対象、ステップS107〜S110における変更内容が異なるのみである。
【0110】
以下、本実施形態に係る画像処理装置が行う処理について説明する。
【0111】
図6は、本実施形態に係るステップS105における処理のフローチャートである。ステップS401では、先ずステップS104で復号した撮影画像を所定のサイズの画像に縮小し、縮小画像(サムネイル画像)を作成する。本実施形態では、ステップS104で復号した撮影画像の画素数が所定の画素数よりも多い場合に、この画像のサムネイル画像を作成するのであるが、そのサイズは例えば、160画素×120画素とする。なお、サムネイル画像を作成する処理は必須なものではない。
【0112】
次に、このサムネイル画像に対して色空間変換処理を行う。例えばサムネイル画像がRGB画像データであるとすると、これをYCC(輝度色差)、HSV(Hue:色相、Saturation:彩度、Value:輝度)、XYZ,LAB色空間の何れかの色空間の画像データに変換する。本実施形態では、HSV色空間への変換を行ったとして説明する。
【0113】
よって、ステップS401では、「HSV色空間におけるサムネイル画像」を生成したことになる。
【0114】
次にステップS402では、ステップS401で生成したサムネイル画像から、H成分、V成分についてのヒストグラムを生成する。即ち、H成分の各値(H、S、Vの各成分が8ビットで表現される場合には、値の範囲は0〜255)を有する画素の数、V成分の各値を有する画素の数を示すものを生成する。
【0115】
次にステップS403では、ヒストグラムの解析処理を行う。
【0116】
先ずV成分について生成したヒストグラムの解析処理について説明する。ここで、ステップS401で生成したサムネイル画像が、図9Aに示した夜景の撮像画像901に基づいて生成されたものである場合、夜景の画像には全体的に黒い部分が多く、また、被写体部分も暗い。従ってステップS401で生成したサムネイル画像に対する輝度成分(V成分)の分布としては、分布902に示す如く、V成分値の低いものに画素数が多くなる。
【0117】
図9Bは、ステップS401で生成したサムネイル画像が、図9Aに示した夜景の撮像画像901に基づいて生成されたものである場合に、このサムネイル画像から求めた、V成分についてのヒストグラムの一例を示す図である。図9Aは、夜景の撮像画像901の一例を示す図である。図9Bにおいて横軸がV成分値で、同図の場合、V成分が8ビットで表現されているので、V成分値の範囲は0〜255となっている。縦軸は画素の個数を表しており、同図のヒストグラムにより、各V成分値を有する画素の数を得ることができる。
【0118】
よって、ステップS403では、ステップS401で生成したサムネイル画像が夜景の画像であるのか否かを判定するために、このヒストグラムを参照し、比較的輝度値の低い範囲内のV成分値(例えばV成分値が0〜100の範囲)を有する画素の個数の合計が所定個数以上であるか否かをチェックする。なお、ステップS401で生成したサムネイル画像が夜景の画像であるのか否かを判定するために、ヒストグラムをどのようにして用いるのかについては特に限定するものではなく、このほかにも例えば、ヒストグラムの形状によって判定するようにしても良い。
【0119】
一方、ステップS401で生成したサムネイル画像が、図7Aに示したような人物の拡大写真といったポートレートに基づいて生成されたものである場合、このサムネイル画像には、肌色成分が多く含まれることになる。従ってこのようなサムネイル画像について生成されたH成分のヒストグラムを参照すれば、肌色成分を有する画素の数が多い。
【0120】
よって、ステップS403では、ステップS401で生成したサムネイル画像がポートレートであるのか否かを判定するために、H成分のヒストグラムを参照し、肌色成分のH成分値を有する画素の個数の合計が所定個数以上であるか否かをチェックする。なお、ステップS401で生成したサムネイル画像がポートレートであるのか否かを判定するために、ヒストグラムをどのようにして用いるのかについては特に限定するものではなく、このほかにも例えば、ヒストグラムの形状によって判定するようにしても良い。
【0121】
このように、ステップS403では、V成分のヒストグラムを用いて撮影画像が夜景の画像であるか否か、H成分のヒストグラムを用いて撮影画像がポートレートであるか否かをチェックすることができる。
【0122】
そして処理をステップS404に進め、撮影画像が夜景の画像である場合には処理をステップS405に進め、その旨を示すデータをRAM104中の所定のエリアに記録する。
【0123】
また、撮影画像がポートレートである場合には処理をステップS404,S406を介してステップS407に進め、その旨を示すデータをRAM104中の所定のエリアに記録する。
【0124】
そして本フローチャートに従った処理を終了し、処理をステップS106に進める。
【0125】
また、本実施形態に係るステップS103における処理について説明する。本実施形態では撮影情報から、「シーン」に係る撮影条件を抽出する。従って、撮影情報中の「撮影モード」を対象にする。画像ファイルがExifに準拠している場合には、Tag(ID)=34850の露出プログラム(ExposureProgram)を参照する。
【0126】
Tag(ID)=34850の露出プログラム(ExposureProgram)には、カメラの撮影時に使用した露出プログラムのクラスを示す値が格納されている。例えば値が3のときは露出優先、7はポートレートモードを示す。
【0127】
さらにはメーカ独自のExif情報を使用できればさらに詳細な「シーン」を解析することができる。例えばフラッシュの動作モードがある。フラッシュの動作モードがスローシンクロモードであれば夜景を撮影したものと判断できる。
【0128】
よってステップS103では、「シーン」に係る情報(換言すれば、「シーン」を特定できる情報)を撮影情報から検索して読み出す。その処理については基本的には図4に示したフローチャートに従った処理となる。尚その際には撮影情報IDテーブルには、「シーン」に係る情報のIDが登録されており、ステップS203で読み出したIDがこの登録されているIDと一致した場合には、このIDに対応する情報(即ち、「シーン」に係る情報)をステップS201で確保したエリアに読み出す。
【0129】
図3に戻って、次にステップS106では、ステップS103で読み出した「シーン」を特定する情報と、ステップS105において撮影画像から求めた「シーン」を特定する情報とを比較し、互いに同じシーンを示しているのか否かをチェックする(ステップS106)。
【0130】
そして一致している場合には第1の実施形態と同じである。一致していない場合には処理をステップS107に進め、第1の実施形態と同様に、画像を変更するか否かをユーザに選択させるためのインターフェースを表示し、ユーザが「はい」のボタン画像を入力装置107を用いて指示すると、処理をステップS107からステップS108に進め、ステップS103で読み出した「シーン」を特定する情報と、ステップS105において撮影画像から求めた「シーン」を特定する情報とが一致するように、撮影画像に対して補正処理を行う。例えば、ステップS103で読み出した「シーン」を特定する情報が「夜景の画像ではない(例えばポートレート)」ことを示す情報であって、ステップS105において撮影画像から求めた「シーン」を特定する情報が「夜景を示す画像」であることを示す場合には、撮影画像の輝度を上げる為にこの撮影画像に対してトーン補正を行うようにしたりすれば良いし、逆に、ステップS103で読み出した「シーン」を特定する情報が「夜景を示す画像」であることを示す情報であって、ステップS105において撮影画像から求めた「シーン」を特定する情報が「夜景の画像ではない(例えばポートレート)」である場合には、撮影画像における肌色成分の彩度を上げる彩度補正を行うようにすれば良い。なお、撮影画像に対する処理はこれに限定するものではない。
【0131】
以上の処理によって、撮影情報に記録されている「シーン」を特定する情報と、実際に画像中のシーンとが一致しているのか否かをチェックすることができ、一致していない場合には、この情報、もしくは画像の何れを変更するのかをユーザに選択させることができる。
【0132】
なお、画像の変更はユーザが行うようにしてもよく、その場合、ステップS108で画像の色成分などを変更するためのGUIを表示装置106の表示画面上に表示するようにしても良い。
【0133】
また、本実施形態では、撮影画像がポートレートであるか否かについてのチェックにはH成分のヒストグラムを用いていたが、第1の実施形態で説明した顔検出処理を行い、顔領域として求まった矩形のサイズが撮影画像全体のサイズに比べて所定の割合以上(例えば75%以上)であれば、ポートレートであると判定するようにしても良い。
【0134】
また本実施形態ではシーンが夜景、ポートレートの何れかであったが、これ以外のシーンであっても良いことはいうまでもない。
【0135】
また、以上の実施形態では、撮影画像から得られる情報と、この撮影画像に添付されている撮影情報から得られる情報とを比較し、一致していない場合には一致させるべく、撮影情報、撮影画像の何れかを変更するという技術の一例として、画像方向やシーンを用いたが、比較する対象については特に限定するものではない。また、この「一致」については、単に比較対象の情報が示す値が全く同じであるということに限定するものではなく、ある許容範囲内で同じであっても良い。
【0136】
また、比較対象の情報が意味するところでもって一致するか否かをチェックするようにしても良い。
【0137】
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、カメラのCPUやMPUが記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0138】
また、カメラが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、カメラ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0139】
さらに、記録媒体から読み出されたプログラムコードが、カメラに挿入された機能拡張カードやカメラに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0140】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャート(機能構成)に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0141】
【図1】本発明の第1の実施形態に係る画像処理装置の基本構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る撮影画像のフォーマットを示す図である。
【図3】本発明の第1の実施形態に係る画像処理装置が行う処理のフローチャートである。
【図4】ステップS103における撮影情報解析処理の詳細を示すフローチャートである。
【図5】「撮影情報、撮影画像の何れを変更するのか?」をユーザに選択させるためのインターフェースの表示例を示す図である。
【図6】本発明の第1の実施形態に係るステップS105における処理のフローチャートである。
【図7A】デジタルスチルカメラ109を回転させずに(ロール値=0)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【図7B】デジタルスチルカメラ109を反時計方向に90度回転させて(ロール値=270)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【図7C】デジタルスチルカメラ109を時計方向に90度回転させて(ロール値=90)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【図8A】撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影画像を回転させるのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【図8B】撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影情報中の「画像方向」のデータを変更するのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【図9A】夜景の撮像画像901の一例を示す図である。
【図9B】ステップS401で生成したサムネイル画像が、図9Aに示した夜景の撮像画像901に基づいて生成されたものである場合に、このサムネイル画像から求めた、V成分についてのヒストグラムの一例を示す図である。
【技術分野】
【0001】
本発明は、撮影画像を処理するための技術に関するものである。
【背景技術】
【0002】
近年、デジタルカメラの普及によって、撮影画像のデジタル化が容易になっている。加えて印刷装置、特にインクジェット方式の高画質化が進み、ユーザが撮影したデジタル画像から写真調の印刷結果を得ることができるようになった。更に、パーソナルコンピュータ上で各種アプリケーションソフトウェアを使用して撮影した画像データを編集、加工処理することも容易になっている。
【0003】
このような背景から、撮影した画像をきれいに且つ簡単に印刷できる環境の開発が更に進められている。そのひとつとして、デジタルカメラで撮影したときの撮影条件、時間、機種などの様々な情報を撮影情報として画像データに付加し、そのデータをもとに最適な画像処理を行う方法が多く提案されている(例えば特許文献1を参照)。
【特許文献1】特開2003-087717
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし実際には撮影情報と撮影された画像データとが一致していないために間違った処理を行うことがある。これは撮影情報が必ずしも撮影時の状況を反映できないからである。
【0005】
例えば、デジタルカメラの一機能として、撮影時の縦横の姿勢、つまり画角を検知するものがある。これはカメラにフォトインタラプター、傾きセンサー、重力センサー、加速度センサー、メカ的なセンサーをカメラに内蔵し、撮影時の姿勢を計測するものである。
【0006】
これによって撮影時の縦横の姿勢を撮影情報として格納しておき、縦長な画角で撮影された撮影画像データをパーソナルコンピュータで表示するときに自動的に回転させて表示するといった機能を実現することが可能になる。
【0007】
この機能は高級機には搭載されているが、低価格普及機、カメラ付き携帯などにはまだ搭載されていない。更に画像の方向を格納する機能が搭載されているにもかかわらず、ユーザがこの機能をoffにして撮影することもある。また、急にカメラを動かしたり回転して撮影した場合には、正確に撮影方向を認識できない場合がある。したがって、撮影された画像の方向と格納された撮影データが一致していない場合が多く存在する。
【0008】
この結果、画像を表示する際に画像の方向を元に表示方向を自動的に修正して表示できるアプリケーションを利用していても、表示方向と画角を一致させることができない場合が発生するという問題があった。
【0009】
さらに、デジタルカメラには撮影モードの設定が可能であり、ユーザは、AUTO、ポートレート、風景、夜景などのモードを選択して撮影を行える。しかし、ユーザがあるモードを選択して撮影を行い、そのままのモードで使い続けてしまうといったことが起こる。例えば、風景モードで風景に適した撮影を行った後で、人物をそのモードのまま撮影してしまうといったことがある。
【0010】
この様な場合、撮影情報を元に自動的に画像処理を行うと、ポートレートモードとして処理されるべき画像であるにもかかわらず、風景モードとして処理されてしまい、処理の不整合が発生するといった問題があった。
【0011】
本発明は以上の問題に鑑みて成されたものであり、撮影情報と画像とで、撮影条件につての整合性を一致させるための技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【0013】
即ち、画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算工程と、
前記計算工程で計算した情報と、前記抽出工程で抽出した情報とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出工程で抽出した情報の何れかを変更する変更工程と
を備えることを特徴とする。
【0014】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【0015】
即ち、画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算工程と、
前記計算工程で計算したロール値と、前記抽出工程で抽出した情報が示すロール値とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出工程で抽出した情報が示すロール値を変更する変更工程と
を備えることを特徴とする。
【0016】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【0017】
即ち、画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算工程と、
前記計算工程で求めたシーンと、前記抽出工程で抽出した情報が示すシーンとを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出工程で抽出した情報を変更する変更工程と
を備えることを特徴とする。
【0018】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【0019】
即ち、画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算手段と、
前記計算手段が計算した情報と、前記抽出手段が抽出した情報とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出手段が抽出した情報の何れかを変更する変更手段と
を備えることを特徴とする。
【0020】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【0021】
即ち、画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算手段と、
前記計算手段が計算したロール値と、前記抽出手段が抽出した情報が示すロール値とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出手段が抽出した情報が示すロール値を変更する変更手段と
を備えることを特徴とする。
【0022】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【0023】
即ち、画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算手段と、
前記計算手段が求めたシーンと、前記抽出手段が抽出した情報が示すシーンとを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出手段が抽出した情報を変更する変更手段と
を備えることを特徴とする。
【発明の効果】
【0024】
本発明の構成により、撮影情報と画像とで、撮影条件につての整合性を一致させることができる。
【発明を実施するための最良の形態】
【0025】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0026】
[第1の実施形態]
図1は、本実施形態に係る画像処理装置の基本構成を示すブロック図である。101は画像処理装置本体で、PC(パーソナルコンピュータ)やWS(ワークステーション)等の汎用の汎用コンピュータである。このコンピュータ101は基本的には以下の各部により構成されている。
【0027】
102はCPUで、ROM103やRAM104に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、本実施形態に係る画像処理装置が行うべき後述の各処理を行う。
【0028】
103はROMで、BIOS(basic input/output system)と呼ばれる周辺機器の入出力を制御するプログラムが格納されている。CPU102はコンピュータの電源投入時にこのプログラムを実行し、RAM104やその他の入出力装置の初期化を行う。
【0029】
104はRAMで、CPU102が各処理を行う際に使用するワークエリアを備えると共に、2次記憶装置105からロードされたプログラムやデータを一時的に記憶するためのエリアを備える。また、インターフェース108を介して受信したデータを一時的に記憶するためのエリアを備える。
【0030】
105は2次記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であり、ここにOS(オペレーティングシステム)や、本実施形態に係る画像処理装置が行うべき処理として後述する各処理をCPU102に実行させるためのプログラムやデータが保存されており、これらの一部、もしくは全部はCPU102の制御に基づいてRAM104にロードされ、CPU102の処理対象となる。
【0031】
106は表示装置で、CRTや液晶画面などにより構成されており、CPU102による処理結果を画像や文字などでもって表示することができる。
【0032】
107は入力装置で、キーボードやマウスなどのポインティングデバイスにより構成されており、各種の指示をCPU102に対して入力することができると共に、各種のデータ入力を行うこともできる。
【0033】
108はI/Fで、ここに後述する各周辺機器を接続することができ、本実施形態に係る画像処理装置は、各周辺機器とこのI/F108を介してデータ通信を行うことができる。I/F108としては、パラレルポートとも呼ばれるIEEE1284やSCSI(small computer system interface)、更にはUSB(universal serial bus)、IEEE1394といったシリアルバスなどが使用できる。どのインターフェースを使用するかは画像処理装置101の構成、外部周辺機器の対応によって決まる。
【0034】
150は上述の各部を繋ぐバスである。
【0035】
次に、I/F108に接続する周辺機器について説明する。周辺機器には、デジタルスチルカメラ109、メモリカードリーダ/ライタ110、プリンター111がある。
【0036】
デジタルスチルカメラ109は周知の通り撮影装置であり、撮影した撮影画像データをデジタルスチルカメラ109内部に挿入している不図示の記録メディアに保持している。
【0037】
この保持している撮影画像データは、I/F108にこのデジタルスチルカメラ109を接続し、入力装置107により取り込み指示を入力することで、CPU102による制御に従って、デジタルスチルカメラ109からコンピュータ101のRAM104もしくは2次記憶装置105にダウンロードすることができる。
【0038】
また、上記記録メディアをデジタルスチルカメラ109から取り出し、メモリカードリーダ/ライタ110に挿入し、そしてI/F108にこのメモリカードリーダ/ライタ110を接続し、入力装置107により取り込み指示を入力することで、CPU102による制御に従ってメモリカードリーダ/ライタ110に記録メディアに記録されている撮影画像データを読み出させることができ、これにより、メモリカードリーダ/ライタ110からコンピュータ101のRAM104もしくは2次記憶装置105にダウンロードすることができる。
【0039】
また、コンピュータ101に一反ダウンロードした撮影画像は、プリンター111によって記録媒体上に印刷することもできる。
【0040】
なお、本実施形態に係る画像処理装置の基本構成はこれに限定するものではなく、例えばCD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出してRAM104や2次記憶装置105にロードするための装置を更に所定のインターフェースを介してバス150に接続するようにしても良い。
【0041】
<撮影画像のフォーマット>
図2は、本実施形態に係る撮影画像のフォーマットを示す図である。このフォーマットは上記記録メディアに格納する際のフォーマット、あるいは画像処理装置101に転送する際のフォーマットである。
【0042】
デジタルスチルカメラ109は、1つの画像を撮影すると、この撮影画像のデータを含む画像ファイルを作成する。201は、この画像ファイル全体を示す。画像ファイル201内は撮影情報領域202と撮影画像データ領域203とに大別される。撮影情報領域202には、後述する撮影情報が記録され、撮影画像データ領域203には、撮影画像のデータが記録される。即ち、撮影画像のデータは、撮影情報を添付する形態で上記記録メディアに格納されている、あるいは画像処理装置101に転送される。
【0043】
一般的には、領域202内のデータ(撮影情報)の量はさほど大きくないので非圧縮で保持し、領域203内のデータ(撮影画像のデータ)の量は大きくなるので圧縮で保持するので、この画像ファイル201は所謂ハイブリッドな構成をとる。しかし、各領域における圧縮/非圧縮についてはこれに限定するものではなく、撮影画像データが非圧縮であっても、逆に撮影情報が圧縮されていても問題ない。
【0044】
先ず、領域202に記録されている撮影情報について説明する。
【0045】
領域202にはデジタルスチルカメラ109で撮影したときの撮影条件、例えば、撮影する画像の縦/横の画素数、露出条件、ストロボ発行の有無、ホワイトバランスの条件、撮影モード、撮影時刻等の「複数の撮影条件を示す情報」が記録されている。よって図2の場合、領域202には、領域203に記録されている撮影画像データを撮影したときの撮影条件を示す情報が記録されている。
【0046】
撮影情報は、その撮影情報に対応するID番号、データ形式、データ長、オフセット値、撮影情報固有のデータで構成される。例えば、JEIDA(japan electronic industry development association)の定めるExif(exchangeable image format)などが使用できる。
【0047】
ExifではIDがTagとして定義されおり、例えばTag=274が画像方向(Orientation)となっている。画像方向の値は、1:上左(0番目の行(X方向)が画像の上、0番目の列(Y方向)が左側)、6:右上(0番目の行が画像の右側、0番目の列が上)、8:左下(0番目の行が画像の左側、0番目の列(Y方向)が下)(その他は省略)と定義されている。よって、本実施形態に係る画像ファイルのフォーマットがExifに従っている場合に、領域202内の撮影情報において、ID=274の撮影条件(1,6,8の何れか)を参照すれば、撮影時における画像方向を得ることができる。
【0048】
このように、領域202に記録される各撮影条件には固有のIDが付けられており、IDを指定すると、これに対応する撮影条件は1つに特定されるので、これをこの領域202から抽出し、参照することができる。図2の例では、ID=3を指定すると、これに対応する撮影条件は「撮影モード」であるので、「撮影モード」を参照することで、領域203に記録されている撮影画像データを撮影した際の撮影モードが何であったかを得ることができる。
【0049】
一方、領域203には上述の通り、撮影画像のデータが記録されるのであるが、この画像データにはRGBデータやYCC(輝度色差)データを用いることができる。例えば、領域203に記録されている撮影画像データがYCCデータである場合、画像処理装置101側ではこのYCCデータをRGBデータに変換して用いる。本実施形態では、領域203に記録される画像はJPEG圧縮されているものとするが、圧縮方式はJPEG圧縮方式に限定するものではなく、他の圧縮方式を用いても良いし、上述の通り、必ずしも圧縮されていることに限定しなくても良い。
【0050】
<本実施形態に係る画像処理装置が行うメインの処理>
図3は、本実施形態に係る画像処理装置が行う処理のフローチャートである。同図のフローチャートに従った処理は大まかには、表示装置106の表示画面上に一覧表示された撮影画像のうちユーザに選択された撮影画像について、この撮影画像に対する撮影情報と、撮影画像から求められる「この撮影情報に該当する情報」とを比較し、その比較の結果が一致していない場合には一致させるべく、撮影情報、撮影画像データの何れを変更するのかをユーザに問い合わせる処理のフローチャートである。
【0051】
尚、同図のフローチャートに従った処理をCPU102に実行させるためのプログラムやデータは2次記憶装置105に保存されており、これをCPU102の制御によってRAM104に読み出し、CPU102がこれを実行することで、本実施形態に係る画像処理装置は以下説明する各処理を行うことになる。
【0052】
また、同図のフローチャートに従った処理の前段で、RAM104には、デジタルスチルカメラ109から、複数の画像ファイル(図2に示したフォーマットに従った画像ファイル)がRAM104にダウンロードされているものとする。
【0053】
先ずステップS101では、CPU102はRAM104にダウンロードされた各画像ファイルの領域203を参照し、各画像ファイルに記録されている撮影画像のデータを読み出し、復号し、更に、画像データがYCCフォーマットである場合にはこれをRGBフォーマットに変換し、ユーザにどの画像を以下の処理の対象とするのかを選択させる為に、復号後の撮影画像(RGB画像データ)をサムネイルサイズで表示装置106の表示画面上に一覧表示する。表示の形態は特に限定するものではないし、サムネイルサイズの画像を得る手段についても特に限定するものではない。
【0054】
ユーザは入力装置107を用いて1つ以上の撮影画像を選択し、選択が終了したら、その旨の指示を入力装置107を用いて入力するので、CPU102がこの指示を検知すると、選択された撮影画像のリストを作成する。このリストとして本実施形態では、選択された画像ファイルのファイル名のリストとするが、特に限定するものではない。また本実施形態では、人の顔が含まれている撮影画像が選択されたものとして説明する。
【0055】
次に、ステップS102では、CPU102は、ステップS101で作成したリストの先頭の画像ファイル名を参照し、該当する画像ファイルをRAM104に読み出す。なお、ステップS102における処理が2回目以降である場合(処理がステップS111からステップS102に移行して、ステップS102における処理を実行する場合、今回のステップS102における処理は2回目以降の処理となる)には、前回読み出された画像ファイルの次の順にリストに登録されている画像ファイルを読み出すことになる。
【0056】
次に、ステップS103における処理と、ステップS104,S105による処理とを並行して行う。なお、ステップS103における処理と、ステップS104,S105による処理とを並行に行うことに限定するものではなく、シリアルに行うようにしても良い。先ずステップS103における処理について説明する。
【0057】
ステップS103では、ステップS102で参照した画像ファイル内の領域202内に記録されている撮影情報を解析する。図4は、ステップS103における撮影情報解析処理の詳細を示すフローチャートである。
【0058】
先ずステップS200では、ステップS102で参照した画像ファイル内の領域202内に撮影情報が記録されているのか否かをチェックする。一般的にデジタルスチルカメラ109で撮影された撮影画像データには撮影情報が付加されているが、アプリケーションで編集、加工などをするとこの撮影情報が消去される場合がある。
【0059】
そしてそのチェックの結果、撮影情報が記録されていなかった場合には処理をステップS207に進め、撮影情報エラーとしてステップS103における処理を終了する。
【0060】
一方、ステップS102で参照した画像ファイル内の領域202内に撮影情報が記録されている場合には処理をステップS200からステップS201に進め、この撮影情報から読み出すべき情報をRAM104中の所定のエリアに読み出すために、この所定のエリアをRAM104中に確保する処理を行う。このエリアの確保については、例えばこの撮影情報のデータサイズ分を確保するようにすれば、少なくとも、撮影情報からどれだけの情報を読み出しても、エリア不足にはならない。
【0061】
ここで、確保できなかった場合には処理をステップS202からステップS207に進め、撮影情報エラーとしてステップS103における処理を終了する。
【0062】
一方、確保できた場合には処理をステップS202からステップS203に進め、撮影情報に含まれている撮影条件を、対応するIDと共に1つ読み出す。ここで、ステップS203において読み出しができなかった場合、即ち、撮影情報に含まれる全てのID、撮影条件を読み出した場合には本フローチャートに従った処理を終了する。
【0063】
一方、まだ全てのID、撮影条件を読み出していない場合には処理をステップS204に進め、ステップS203で読み出したIDが「撮影情報から読み出すべき撮影条件のID」であるか否かをチェックする。なお、「撮影情報から読み出すべき撮影条件のID」は予め撮影情報IDテーブルとして作成され、2次記憶装置105に保存されており、本処理の前段で予めRAM104にロードしているものとする。そしてこのテーブルを検索し、ステップS203で読み出したIDがこのテーブルに登録されているか否かをチェックする。
【0064】
ここでは説明を簡単にするためにその一例として、「撮影情報から読み出すべき撮影条件のID」を「0」と「1」とする。即ち図2の例では、「露光」と「ストロボ」の撮影条件が「撮影情報から読み出すべき撮影条件」となる。
【0065】
そしてステップS204におけるチェックの結果、ステップS203で読み出したIDが「0」の場合には処理をステップS205に進め、ID=0に対応する撮影条件の情報をこの撮影情報から抽出してステップS201で確保したエリアに読み出す。
【0066】
また、ステップS204におけるチェックの結果、ステップS203で読み出したIDが「1」の場合には処理をステップS206に進め、ID=1に対応する撮影条件の情報をこの撮影情報から抽出してステップS201で確保したエリアに読み出す。
【0067】
また、ステップS204におけるチェックの結果、ステップS203で読み出したIDが「0」、「1」の何れでもない場合には処理をステップS203に戻し、次のIDを読み出し、以降の処理を繰り返す。
【0068】
この解析処理では、期待するすべての撮影条件が必ずしもすべて得られるとは限らない。これはデジタルスチルカメラ109の機種によって対応している撮影条件の種類が異なっているからである。このため収集できた撮影条件を利用して後の処理を実行しなければならない。
【0069】
なお、本実施形態では、「撮影情報から読み出すべき撮影条件」を「画像方向」であるとする。従って、画像ファイルのフォーマットがExifに準拠している場合には、撮影情報に含まれる全てのIDのうちID=274を検索し、検索したID=274の撮影条件をステップS201で確保したエリアに読み出すことになる。
【0070】
図3に戻って、次に、ステップS104,S105における処理について説明する。ステップS104では、ステップS102で参照した画像ファイル内の領域203に記録されている撮影画像のデータを読み出し、復号し、更に、画像データがYCCフォーマットである場合にはこれをRGBフォーマットに変換する。
【0071】
そして次にステップS105では、復号後の撮影画像(RGBデータ)中で、人の顔を検出する処理を行う。ステップS105における顔検出手段としては、すでに様々な手法が提案されている。
【0072】
特開2002−183731によれば、入力画像から目領域を検出し、目領域周辺を顔候補領域とする。そして、この顔候補領域に対して、画素毎の輝度勾配、および輝度勾配の重みを算出し、これらの値が、あらかじめ設定されている理想的な顔基準画像の勾配、および勾配の重みと比較した時に、各勾配間の平均角度が所定の閾値以下であった場合、入力画像は顔領域を有すると判定する方法が記載されている。
【0073】
また、特開2003−30667によれば、まず画像中から肌色領域を検出し、同領域内において、人間の虹彩色画素を検出することにより、目の位置を検出することが可能であるとしている。
【0074】
さらに、特開平8−63597によれば、複数の顔の形状をしたテンプレートと画像とのマッチング度を計算し、マッチング度が最も高いテンプレートを選択し、最も高かったマッチング度があらかじめ定められた閾値以上であれば、選択されたテンプレート内の領域を顔候補領域とする。同テンプレートを用いるこことで、目の位置を検出することが可能であるとしている。
【0075】
さらに、特開2000−105829によれば、まず、鼻画像パターンをテンプレートとし、画像全体、あるいは画像中の指定された領域を走査し最もマッチする位置を鼻の位置として出力する。次に、画像の鼻の位置よりも上の領域を目が存在する領域と考え、目画像パターンをテンプレートとして目存在領域を走査してマッチングをとり、ある閾値よりもマッチ度が大きい画素の集合である目存在候補位置集合を求める。さらに、目存在候補位置集合に含まれる連続した領域をクラスタとして分割し、各クラスタと鼻位置との距離を算出する。その距離が最も短くなるクラスタを目が存在するクラスタと決定することで、器官位置の検出が可能であるとしている。
【0076】
その他、顔および器官位置を検出する方法としては、特開平8-77334、特開2001-216515、特開平5-197793、特開平11-53525、特開2000-132688、特開2000-235648、特開平11-250267、特登録2541688など、数多くの手法が提案されている。
【0077】
本実施形態では画像中の顔領域の検出、及び、この領域の画像における位置を求める方法については上記何れの文献による技術を用いても良いし、またそれらを組み合わせた技術を用いても良い。また、上記文献による技術に限定するものではなく、その技術については特に限定するものではない。
【0078】
図7A〜図7Cは、デジタルスチルカメラ109を様々な回転角度に配置した場合に撮影された、画像ファイル内の領域203に記録されている撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0079】
図7Aは、デジタルスチルカメラ109を回転させずに(ロール値=0)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0080】
図7Aにおいて701はデジタルスチルカメラ109を回転させずに人を撮影した場合に撮影される撮影画像であって、702はステップS105において検出される顔領域である。また、LTはこの顔領域702の左上隅における座標(原点は撮影画像701の左上隅とする)、RBはこの顔領域702の右下隅における座標を示すもので、顔検出処理で得られた座標である。ここで座標LTを(x1,y1)、座標RBを(x2,y2)とする。
【0081】
ここで、デジタルスチルカメラ109を回転させずに撮影される撮影画像における顔領域のLT、RBには以下のような関係がある。
【0082】
x2>x1
y2>y1
このように、デジタルスチルカメラ109を回転させずに撮影を行った場合、デジタルスチルカメラ109に撮影方向を検出する為のセンサが備わっている場合には、撮影画像701に添付される撮影情報中の「画像方向」にはこのセンサの計測結果である「デジタルスチルカメラ109が回転していない」ことを示す「1」なるデータが登録される。例えば画像ファイルがExifに準拠している場合には、撮影情報中のID=274における撮影条件が「画像方向」であるので、274なるIDと共に「画像方向」を示す「1」なるデータを登録する。
【0083】
図7Bは、デジタルスチルカメラ109を反時計方向に90度回転させて(ロール値=270)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0084】
図7Bにおいて703はデジタルスチルカメラ109を反時計方向に90度回転させて撮影される撮影画像であって、704はステップS105において検出される顔領域である。デジタルスチルカメラ109を反時計方向に90度回転させて撮影される撮影画像における顔領域のLT、RBには以下のような関係がある。
【0085】
x2>x1
y2<y1
このように、デジタルスチルカメラ109を反時計方向に90度回転させて撮影を行った場合、デジタルスチルカメラ109に撮影方向を検出する為のセンサが備わっている場合には、撮影画像701に添付される撮影情報中の「画像方向」にはこのセンサの計測結果である「デジタルスチルカメラ109が反時計方向に90度回転している」ことを示す「6」なるデータが登録される。例えば画像ファイルがExifに準拠している場合には、撮影情報中のID=274における撮影条件が「画像方向」であるので、274なるIDと共に「画像方向」を示す「6」なるデータを登録する。
【0086】
図7Cは、デジタルスチルカメラ109を時計方向に90度回転させて(ロール値=90)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【0087】
図7Cにおいて705はデジタルスチルカメラ109を時計方向に90度回転させて撮影される撮影画像であって、706はステップS105において検出される顔領域である。デジタルスチルカメラ109を時計方向に90度回転させて撮影される撮影画像における顔領域のLT、RBには以下のような関係がある。
【0088】
x2<x1
y2>y1
このように、デジタルスチルカメラ109を時計方向に90度回転させて撮影を行った場合、デジタルスチルカメラ109に撮影方向を検出する為のセンサが備わっている場合には、撮影画像701に添付される撮影情報中の「画像方向」にはこのセンサの計測結果である「デジタルスチルカメラ109が時計方向に90度回転している」ことを示す「8」なるデータが登録される。例えば画像ファイルがExifに準拠している場合には、撮影情報中のID=274における撮影条件が「画像方向」であるので、274なるIDと共に「画像方向」を示す「8」なるデータを登録する。
【0089】
以上のことから以下の2点が分かる。
【0090】
・ 撮影画像から顔領域を検出し、そして検出した顔領域におけるLT、RBの各座標値を参照し、x1,y1,x2,y2の互いの関係が上記関係式の何れに該当するのかをチェックすれば、撮影画像内における被写体の向きが分かるので、その結果、この撮影画像を撮影したデジタルスチルカメラ109の回転方向が分かる。例えば顔領域のLT、RBを参照し、x2>x1,y2<y1である場合には、デジタルスチルカメラ109は反時計方向に90度回転していることが分かる。このように、撮影画像から、デジタルスチルカメラ109の回転方向を求めることができる。
【0091】
・ デジタルスチルカメラ109に撮影方向を計測するセンサが備わっている場合には、デジタルスチルカメラ109側でセンサの計測結果である撮影方向を示す情報を「画像方向」として上述のようにID=274と共に撮影情報に含め、撮影画像に添付して画像ファイルとして本実施形態に係る画像処理装置101に転送されるので、本実施形態に係る画像処理装置101は、画像ファイル中の撮影情報内の「画像方向」を参照すれば、この撮影画像の撮影時における実際のデジタルスチルカメラ109の方向を獲得することができる。なお、デジタルスチルカメラ109に撮影方向を計測するセンサが備わっていない場合には、撮影情報中の「画像方向」には、デフォルトのデータ「1」が登録されるか、もしくは何も登録されない。
【0092】
しかし、従来技術として説明したとおり、種々の原因により、撮影時における実際のデジタルスチルカメラ109の撮影方向と、撮影画像から求められるデジタルスチルカメラ109の撮影方向とが一致しない場合がある。そこで、本実施形態では、撮影情報中の「画像方向」のデータを参照し、このデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とを比較し、異なっている場合には、「画像方向」のデータが示す「撮影方向」と撮影画像から求められる「撮影方向」とが一致するように、ユーザに撮影情報中の「画像方向」のデータ、撮影画像の何れを操作するのかを選択させるためのインターフェースを提供する。
【0093】
よって、図3に戻って、ステップS106では、撮影情報中の「画像方向」のデータを参照し、このデータが示す「撮影方向」(ロール値)と、撮影画像から求められる「撮影方向」(ロール値)とを比較し、一致しているか否かを判定する。そして一致している場合には、処理をステップS111に進め、リストに登録されている全ての画像ファイルについてステップS102以降の処理を行う。処理を行っていないものがある場合には処理をステップS102に戻し、ステップS101で作成したリストに登録されている各画像ファイルのうち、次の画像ファイルについてステップS102以降の処理を行う。
【0094】
一方、ステップS106における判定処理で、一致していないと判定した場合には、処理をステップS107に進め、一致していないので、一致するように撮影画像を回転させるのか否かをユーザに選択させるためのインターフェースを表示装置106の表示画面上に表示する。図8Aは、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影画像を回転させるのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【0095】
同図において801はこのインターフェースとしてのウィンドウを示す。ここでユーザが「はい」のボタン画像を入力装置107を用いて指示すると、処理をステップS107からステップS108に進め、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように、撮影画像を回転させ、回転後の撮影画像を回転前の撮影画像の代わりに保存する。
【0096】
例えば図7Bに示した撮影画像703に添付されている撮影情報中の「画像方向」のデータが登録されていない、もしくは「0」のデータが登録されている場合、ステップS105における顔検出処理によって検出されたLT、RBの座標値の関係を参照するとx2>x1、y2<y1であるので、デジタルスチルカメラ109は反時計方向に90度回転していることになり、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致していないことになる。そこでこのような場合には、撮影画像703を反時計方向に90度回転させることで、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致することになる。撮影画像に添付されている撮影情報中の「画像方向」のデータが登録されていない、もしくは「0」のデータが登録されている場合の例として、例えば、デジタルカメラに角度センサーが装備されていない場合や、センサーが正常に作動しなくて角度を測定できない場合がある。
【0097】
一方、ユーザが「いいえ」のボタン画像を入力装置107を用いて指示すると、処理をステップS107からステップS109に進め、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影情報中の「画像方向」のデータを変更するのか否かをユーザに選択させるためのインターフェースを表示装置106の表示画面上に表示する。
【0098】
図8Bは、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影情報中の「画像方向」のデータを変更するのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【0099】
同図において802はこのインターフェースとしてのウィンドウを示す。ここでユーザが「はい」のボタン画像を入力装置107を用いて指示すると、処理をステップS109からステップS110に進め、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように、撮影情報中の「画像方向」のデータを変更し、変更前の「画像方向」に上書きする。
【0100】
例えば図7Bに示した撮影画像703に添付されている撮影情報中の「画像方向」のデータが登録されていない、もしくは「0」のデータが登録されている場合、LT、RBの座標値の関係を参照するとx2>x1、y2<y1であるので、デジタルスチルカメラ109は反時計方向に90度回転していることになり、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致していないことになる。そこでこのような場合には、撮影情報中の「画像方向」のデータを「6」に変更することで、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致することになる。
【0101】
なお本実施形態ではステップS108,S109では元のデータに上書きするようにしているが、上書きするのか否か、しない場合には新たなファイル名で保存するのかをユーザに問い合わせるためのウィンドウを表示装置106の表示画面上に表示するようにしても良い。
【0102】
また、図3のフローチャートにおいて、ステップS107,S109をまとめて、「撮影情報、撮影画像の何れを変更するのか?」をユーザに選択させるためのインターフェースを表示するようにしても良い。
【0103】
図5はこのインターフェースの表示例を示す図である。同図において803がこのインターフェースとしてのウィンドウであり、804,805がそれぞれ「画像を回転させる」ことを選択するためのラジオボタン、「撮影情報を変更させる」ことを選択するためのラジオボタンである。同図ではラジオボタン804が選択されている。
【0104】
806は上記ラジオボタン804,もしくはラジオボタン805に何れかで選択した方の変更を指示するためのボタン画像である。
【0105】
よってこのインターフェースにおいてユーザが入力装置107を用いてラジオボタン805を指示する(「撮影情報を変更する」を選択する)と、ステップS110における処理を行い、ラジオボタン804を選択する(「撮影画像を回転させる」を選択する)と、ステップS108における処理を行う。
【0106】
以上の説明により、本実施形態によって、撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致していない場合には、撮影画像、撮影情報中の「画像方向」のデータの何れかを変更し、一致させることができる。またこれにより、撮影情報を元に自動画像補正を行う時に補正の不適合をなくすことが可能になる。
【0107】
[第2の実施形態]
第1の実施形態では、撮影情報に記録されている撮影条件と、撮像画像から求められる撮影条件とを比較し、一致していなければ何れか一方を変更させるという技術の一例として、この撮影条件を「画像方向」とした場合について説明した。
【0108】
本実施形態ではこのような技術の別の例として、この撮影条件を「シーン」とした場合について説明する。
【0109】
なお、本実施形態に係る画像処理装置の基本構成については第1の実施形態と同じであるとする。また、本実施形態に係る画像処理装置が行う処理のフローチャートは基本的には図3に示したフローチャートと同じであるが、ステップS105における画像解析処理、ステップS106における比較対象、ステップS107〜S110における変更内容が異なるのみである。
【0110】
以下、本実施形態に係る画像処理装置が行う処理について説明する。
【0111】
図6は、本実施形態に係るステップS105における処理のフローチャートである。ステップS401では、先ずステップS104で復号した撮影画像を所定のサイズの画像に縮小し、縮小画像(サムネイル画像)を作成する。本実施形態では、ステップS104で復号した撮影画像の画素数が所定の画素数よりも多い場合に、この画像のサムネイル画像を作成するのであるが、そのサイズは例えば、160画素×120画素とする。なお、サムネイル画像を作成する処理は必須なものではない。
【0112】
次に、このサムネイル画像に対して色空間変換処理を行う。例えばサムネイル画像がRGB画像データであるとすると、これをYCC(輝度色差)、HSV(Hue:色相、Saturation:彩度、Value:輝度)、XYZ,LAB色空間の何れかの色空間の画像データに変換する。本実施形態では、HSV色空間への変換を行ったとして説明する。
【0113】
よって、ステップS401では、「HSV色空間におけるサムネイル画像」を生成したことになる。
【0114】
次にステップS402では、ステップS401で生成したサムネイル画像から、H成分、V成分についてのヒストグラムを生成する。即ち、H成分の各値(H、S、Vの各成分が8ビットで表現される場合には、値の範囲は0〜255)を有する画素の数、V成分の各値を有する画素の数を示すものを生成する。
【0115】
次にステップS403では、ヒストグラムの解析処理を行う。
【0116】
先ずV成分について生成したヒストグラムの解析処理について説明する。ここで、ステップS401で生成したサムネイル画像が、図9Aに示した夜景の撮像画像901に基づいて生成されたものである場合、夜景の画像には全体的に黒い部分が多く、また、被写体部分も暗い。従ってステップS401で生成したサムネイル画像に対する輝度成分(V成分)の分布としては、分布902に示す如く、V成分値の低いものに画素数が多くなる。
【0117】
図9Bは、ステップS401で生成したサムネイル画像が、図9Aに示した夜景の撮像画像901に基づいて生成されたものである場合に、このサムネイル画像から求めた、V成分についてのヒストグラムの一例を示す図である。図9Aは、夜景の撮像画像901の一例を示す図である。図9Bにおいて横軸がV成分値で、同図の場合、V成分が8ビットで表現されているので、V成分値の範囲は0〜255となっている。縦軸は画素の個数を表しており、同図のヒストグラムにより、各V成分値を有する画素の数を得ることができる。
【0118】
よって、ステップS403では、ステップS401で生成したサムネイル画像が夜景の画像であるのか否かを判定するために、このヒストグラムを参照し、比較的輝度値の低い範囲内のV成分値(例えばV成分値が0〜100の範囲)を有する画素の個数の合計が所定個数以上であるか否かをチェックする。なお、ステップS401で生成したサムネイル画像が夜景の画像であるのか否かを判定するために、ヒストグラムをどのようにして用いるのかについては特に限定するものではなく、このほかにも例えば、ヒストグラムの形状によって判定するようにしても良い。
【0119】
一方、ステップS401で生成したサムネイル画像が、図7Aに示したような人物の拡大写真といったポートレートに基づいて生成されたものである場合、このサムネイル画像には、肌色成分が多く含まれることになる。従ってこのようなサムネイル画像について生成されたH成分のヒストグラムを参照すれば、肌色成分を有する画素の数が多い。
【0120】
よって、ステップS403では、ステップS401で生成したサムネイル画像がポートレートであるのか否かを判定するために、H成分のヒストグラムを参照し、肌色成分のH成分値を有する画素の個数の合計が所定個数以上であるか否かをチェックする。なお、ステップS401で生成したサムネイル画像がポートレートであるのか否かを判定するために、ヒストグラムをどのようにして用いるのかについては特に限定するものではなく、このほかにも例えば、ヒストグラムの形状によって判定するようにしても良い。
【0121】
このように、ステップS403では、V成分のヒストグラムを用いて撮影画像が夜景の画像であるか否か、H成分のヒストグラムを用いて撮影画像がポートレートであるか否かをチェックすることができる。
【0122】
そして処理をステップS404に進め、撮影画像が夜景の画像である場合には処理をステップS405に進め、その旨を示すデータをRAM104中の所定のエリアに記録する。
【0123】
また、撮影画像がポートレートである場合には処理をステップS404,S406を介してステップS407に進め、その旨を示すデータをRAM104中の所定のエリアに記録する。
【0124】
そして本フローチャートに従った処理を終了し、処理をステップS106に進める。
【0125】
また、本実施形態に係るステップS103における処理について説明する。本実施形態では撮影情報から、「シーン」に係る撮影条件を抽出する。従って、撮影情報中の「撮影モード」を対象にする。画像ファイルがExifに準拠している場合には、Tag(ID)=34850の露出プログラム(ExposureProgram)を参照する。
【0126】
Tag(ID)=34850の露出プログラム(ExposureProgram)には、カメラの撮影時に使用した露出プログラムのクラスを示す値が格納されている。例えば値が3のときは露出優先、7はポートレートモードを示す。
【0127】
さらにはメーカ独自のExif情報を使用できればさらに詳細な「シーン」を解析することができる。例えばフラッシュの動作モードがある。フラッシュの動作モードがスローシンクロモードであれば夜景を撮影したものと判断できる。
【0128】
よってステップS103では、「シーン」に係る情報(換言すれば、「シーン」を特定できる情報)を撮影情報から検索して読み出す。その処理については基本的には図4に示したフローチャートに従った処理となる。尚その際には撮影情報IDテーブルには、「シーン」に係る情報のIDが登録されており、ステップS203で読み出したIDがこの登録されているIDと一致した場合には、このIDに対応する情報(即ち、「シーン」に係る情報)をステップS201で確保したエリアに読み出す。
【0129】
図3に戻って、次にステップS106では、ステップS103で読み出した「シーン」を特定する情報と、ステップS105において撮影画像から求めた「シーン」を特定する情報とを比較し、互いに同じシーンを示しているのか否かをチェックする(ステップS106)。
【0130】
そして一致している場合には第1の実施形態と同じである。一致していない場合には処理をステップS107に進め、第1の実施形態と同様に、画像を変更するか否かをユーザに選択させるためのインターフェースを表示し、ユーザが「はい」のボタン画像を入力装置107を用いて指示すると、処理をステップS107からステップS108に進め、ステップS103で読み出した「シーン」を特定する情報と、ステップS105において撮影画像から求めた「シーン」を特定する情報とが一致するように、撮影画像に対して補正処理を行う。例えば、ステップS103で読み出した「シーン」を特定する情報が「夜景の画像ではない(例えばポートレート)」ことを示す情報であって、ステップS105において撮影画像から求めた「シーン」を特定する情報が「夜景を示す画像」であることを示す場合には、撮影画像の輝度を上げる為にこの撮影画像に対してトーン補正を行うようにしたりすれば良いし、逆に、ステップS103で読み出した「シーン」を特定する情報が「夜景を示す画像」であることを示す情報であって、ステップS105において撮影画像から求めた「シーン」を特定する情報が「夜景の画像ではない(例えばポートレート)」である場合には、撮影画像における肌色成分の彩度を上げる彩度補正を行うようにすれば良い。なお、撮影画像に対する処理はこれに限定するものではない。
【0131】
以上の処理によって、撮影情報に記録されている「シーン」を特定する情報と、実際に画像中のシーンとが一致しているのか否かをチェックすることができ、一致していない場合には、この情報、もしくは画像の何れを変更するのかをユーザに選択させることができる。
【0132】
なお、画像の変更はユーザが行うようにしてもよく、その場合、ステップS108で画像の色成分などを変更するためのGUIを表示装置106の表示画面上に表示するようにしても良い。
【0133】
また、本実施形態では、撮影画像がポートレートであるか否かについてのチェックにはH成分のヒストグラムを用いていたが、第1の実施形態で説明した顔検出処理を行い、顔領域として求まった矩形のサイズが撮影画像全体のサイズに比べて所定の割合以上(例えば75%以上)であれば、ポートレートであると判定するようにしても良い。
【0134】
また本実施形態ではシーンが夜景、ポートレートの何れかであったが、これ以外のシーンであっても良いことはいうまでもない。
【0135】
また、以上の実施形態では、撮影画像から得られる情報と、この撮影画像に添付されている撮影情報から得られる情報とを比較し、一致していない場合には一致させるべく、撮影情報、撮影画像の何れかを変更するという技術の一例として、画像方向やシーンを用いたが、比較する対象については特に限定するものではない。また、この「一致」については、単に比較対象の情報が示す値が全く同じであるということに限定するものではなく、ある許容範囲内で同じであっても良い。
【0136】
また、比較対象の情報が意味するところでもって一致するか否かをチェックするようにしても良い。
【0137】
[その他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、カメラのCPUやMPUが記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0138】
また、カメラが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、カメラ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0139】
さらに、記録媒体から読み出されたプログラムコードが、カメラに挿入された機能拡張カードやカメラに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0140】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャート(機能構成)に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0141】
【図1】本発明の第1の実施形態に係る画像処理装置の基本構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る撮影画像のフォーマットを示す図である。
【図3】本発明の第1の実施形態に係る画像処理装置が行う処理のフローチャートである。
【図4】ステップS103における撮影情報解析処理の詳細を示すフローチャートである。
【図5】「撮影情報、撮影画像の何れを変更するのか?」をユーザに選択させるためのインターフェースの表示例を示す図である。
【図6】本発明の第1の実施形態に係るステップS105における処理のフローチャートである。
【図7A】デジタルスチルカメラ109を回転させずに(ロール値=0)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【図7B】デジタルスチルカメラ109を反時計方向に90度回転させて(ロール値=270)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【図7C】デジタルスチルカメラ109を時計方向に90度回転させて(ロール値=90)撮影される撮影画像からステップS105における顔検出処理によって検出された顔領域を示す図である。
【図8A】撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影画像を回転させるのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【図8B】撮影情報中の「画像方向」のデータが示す「撮影方向」と、撮影画像から求められる「撮影方向」とが一致するように撮影情報中の「画像方向」のデータを変更するのか否かをユーザに選択させるためのインターフェースの表示例を示す図である。
【図9A】夜景の撮像画像901の一例を示す図である。
【図9B】ステップS401で生成したサムネイル画像が、図9Aに示した夜景の撮像画像901に基づいて生成されたものである場合に、このサムネイル画像から求めた、V成分についてのヒストグラムの一例を示す図である。
【特許請求の範囲】
【請求項1】
画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算工程と、
前記計算工程で計算した情報と、前記抽出工程で抽出した情報とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出工程で抽出した情報の何れかを変更する変更工程と
を備えることを特徴とする画像処理方法。
【請求項2】
前記変更工程では、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出工程で抽出した情報の何れを変更するのかの選択指示を受け付ける受付工程を備え、
前記受付工程で受け付けた選択指示で選択された方を変更することを特徴とする請求項1に記載の画像処理方法。
【請求項3】
画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算工程と、
前記計算工程で計算したロール値と、前記抽出工程で抽出した情報が示すロール値とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出工程で抽出した情報が示すロール値を変更する変更工程と
を備えることを特徴とする画像処理方法。
【請求項4】
前記変更工程では、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させるのか、もしくは前記抽出工程で抽出した情報が示すロール値を変更するのかの選択指示を受け付ける受付工程を備え、
前記受付工程で受け付けた選択指示で選択された方の処理を行うことを特徴とする請求項3に記載の画像処理方法。
【請求項5】
画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算工程と、
前記計算工程で求めたシーンと、前記抽出工程で抽出した情報が示すシーンとを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出工程で抽出した情報を変更する変更工程と
を備えることを特徴とする画像処理方法。
【請求項6】
前記変更工程では、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正するのか、もしくは前記抽出工程で抽出した情報を変更するのかの選択指示を受け付ける受付工程を備え、
前記受付工程受け付けた選択指示で選択された方の処理を行うことを特徴とする請求項5に記載の画像処理方法。
【請求項7】
画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算手段と、
前記計算手段が計算した情報と、前記抽出手段が抽出した情報とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出手段が抽出した情報の何れかを変更する変更手段と
を備えることを特徴とする画像処理装置。
【請求項8】
画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算手段と、
前記計算手段が計算したロール値と、前記抽出手段が抽出した情報が示すロール値とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出手段が抽出した情報が示すロール値を変更する変更手段と
を備えることを特徴とする画像処理装置。
【請求項9】
画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算手段と、
前記計算手段が求めたシーンと、前記抽出手段が抽出した情報が示すシーンとを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出手段が抽出した情報を変更する変更手段と
を備えることを特徴とする画像処理装置。
【請求項10】
前記シーンを特定する情報は、夜景を示す画像またはポートレートであることを特徴とする請求項5に記載の画像処理方法。
【請求項11】
コンピュータに請求項1乃至6の何れか1項又は請求項10に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項1】
画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算工程と、
前記計算工程で計算した情報と、前記抽出工程で抽出した情報とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出工程で抽出した情報の何れかを変更する変更工程と
を備えることを特徴とする画像処理方法。
【請求項2】
前記変更工程では、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出工程で抽出した情報の何れを変更するのかの選択指示を受け付ける受付工程を備え、
前記受付工程で受け付けた選択指示で選択された方を変更することを特徴とする請求項1に記載の画像処理方法。
【請求項3】
画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算工程と、
前記計算工程で計算したロール値と、前記抽出工程で抽出した情報が示すロール値とを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出工程で抽出した情報が示すロール値を変更する変更工程と
を備えることを特徴とする画像処理方法。
【請求項4】
前記変更工程では、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させるのか、もしくは前記抽出工程で抽出した情報が示すロール値を変更するのかの選択指示を受け付ける受付工程を備え、
前記受付工程で受け付けた選択指示で選択された方の処理を行うことを特徴とする請求項3に記載の画像処理方法。
【請求項5】
画像処理方法であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出工程と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算工程と、
前記計算工程で求めたシーンと、前記抽出工程で抽出した情報が示すシーンとを比較する比較工程と、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出工程で抽出した情報を変更する変更工程と
を備えることを特徴とする画像処理方法。
【請求項6】
前記変更工程では、
前記比較工程による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正するのか、もしくは前記抽出工程で抽出した情報を変更するのかの選択指示を受け付ける受付工程を備え、
前記受付工程受け付けた選択指示で選択された方の処理を行うことを特徴とする請求項5に記載の画像処理方法。
【請求項7】
画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影条件を構成する複数の条件のうち所定の条件を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記所定の条件を示す情報を求める計算手段と、
前記計算手段が計算した情報と、前記抽出手段が抽出した情報とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像、もしくは前記抽出手段が抽出した情報の何れかを変更する変更手段と
を備えることを特徴とする画像処理装置。
【請求項8】
画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像を撮影した撮影装置の撮影時におけるロール値を示す情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影装置の撮影時におけるロール値を求める計算手段と、
前記計算手段が計算したロール値と、前記抽出手段が抽出した情報が示すロール値とを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を回転させる、もしくは前記抽出手段が抽出した情報が示すロール値を変更する変更手段と
を備えることを特徴とする画像処理装置。
【請求項9】
画像処理装置であって、
撮影画像に添付された、当該撮影画像の撮影時における撮影条件を示す情報を参照し、当該撮影画像におけるシーンを特定する情報を抽出する抽出手段と、
前記撮影画像のデータを用いて、前記撮影画像におけるシーンを求める計算手段と、
前記計算手段が求めたシーンと、前記抽出手段が抽出した情報が示すシーンとを比較する比較手段と、
前記比較手段による比較結果が一致していない場合には、当該比較結果が一致するように、前記撮影画像を補正する、もしくは前記抽出手段が抽出した情報を変更する変更手段と
を備えることを特徴とする画像処理装置。
【請求項10】
前記シーンを特定する情報は、夜景を示す画像またはポートレートであることを特徴とする請求項5に記載の画像処理方法。
【請求項11】
コンピュータに請求項1乃至6の何れか1項又は請求項10に記載の画像処理方法を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8A】
【図8B】
【図9A】
【図9B】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図7C】
【図8A】
【図8B】
【図9A】
【図9B】
【公開番号】特開2006−109175(P2006−109175A)
【公開日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−294268(P2004−294268)
【出願日】平成16年10月6日(2004.10.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願日】平成16年10月6日(2004.10.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]