(57)【要約】【課題】対象画像と日付表示との天地方向が一致しないことがあった。【解決手段】対象画像を表現する画像データ１４ａの天地方向を判定するとともに、保存されている状態の画像データ１４ａの上下方向と天地方向とが一致（上方向と天方向とが一致、あるいは下方向と地方向とが一致）していない場合には、画像データ１４ａと日付表示データの合成処理前に、画像データ１４ａと日付表示データとの一方を回転させることで対象画像および日付表示の天地方向を一致させる。その結果、ユーザに余分な入力操作をさせることなく、対象画像および日付表示の天地方向が一致して好ましい態様にて日付表示のなされた画像を確実に出力することができる。【選択図】図２
2006285469.tif 000002
【特許請求の範囲】
【請求項１】
対象画像を表現する画像データを入力する画像データ入力手段と、
上記対象画像の天地方向を判定する天地判定手段と、
上記天地の判定に従って、対象画像とこれに付加する日付表示との天地方向が一致するように上記画像データと日付表示を行うための日付表示データとを合成する画像合成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
上記天地判定手段は、上記画像データのヘッダ領域から、同ヘッダ領域に予め記録された対象画像の天地方向を示す天地情報を読み出すことにより天地方向を判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記天地判定手段は、上記画像データの画素値を解析することによって対象画像の特徴を表す所定の特徴情報を取得するとともに、当該特徴情報を利用した判定ルールを用いて天地方向を判定することを特徴とする請求項１または請求項２のいずれかに記載の画像処理装置。
【請求項４】
上記画像合成手段は、上記画像データのヘッダ領域から、同ヘッダ領域に予め記録された上記対象画像の記録時期を示す日付情報を読み出し、同読み出した日付情報に従って上記日付表示データを生成することを特徴とする請求項１〜請求項３のいずれかに記載の画像処理装置。
【請求項５】
上記画像合成手段は、上記天地の判定に従って画像データを所定角度回転させた上で画像データと日付表示データとを合成することにより対象画像と日付表示との天地方向を一致させることを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
上記画像合成手段は、上記天地の判定に従って上記日付表示データを所定角度回転させた上で画像データと日付表示データとを合成することにより対象画像と日付表示との天地方向を一致させることを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項７】
上記画像合成手段は、上記画像データと日付表示データとを合成する際に、画像データにおける各領域毎に所定の画像評価を行うとともに評価結果に従って日付表示を合成するための領域を決定し、この決定した領域に日付表示データを合成することを特徴とする請求項１〜請求項６のいずれかに記載の画像処理装置。
【請求項８】
対象画像を表現する画像データを入力する画像データ入力工程と、
上記対象画像の天地方向を判定する天地判定工程と、
上記天地の判定に従って、対象画像とこれに付加する日付表示との天地方向が一致するように上記画像データと日付表示を行うための日付表示データとを合成する画像合成工程とからなることを特徴とする画像処理方法。
【請求項９】
対象画像を表現する画像データを入力する画像データ入力機能と、
上記対象画像の天地方向を判定する天地判定機能と、
上記天地の判定に従って、対象画像とこれに付加する日付表示との天地方向が一致するように上記画像データと日付表示を行うための日付表示データとを合成する画像合成機能とをコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象画像の所定位置に日付表示を合成する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、撮影した写真画像等を印刷装置にてプリントする際に日付表示を加えようとした場合、その日付表示は、例えば図４，５に示すように、矩形画像の長辺を上下方向に対抗させた場合の右下位置等、決められた一定位置に印刷されるのが通常であった。
【０００３】
また、日付表示を合成する位置を、ユーザのカーソルキー操作によって変更できる技術が知られている（例えば、特許文献１参照。）。
【特許文献１】特開平２００２‐１３５５６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のように日付表示の位置が固定されていた場合には、画像が縦長に撮影されたか横長に撮影されたかにかかわらず日付表示の方向が不変であるため、画像と日付表示との方向が一致せず違和感のある画像が出力されることがあった。
また、上記文献においては、日付表示位置の変更のためにはユーザが入力操作を行う必要があり、日付表示の合成に要する処理が煩雑になっていた。さらに、上記変更を行っても、画像と日付表示との方向不一致の問題を解決することはできなかった。
【０００５】
本発明は、上記課題にかんがみてなされたもので、煩雑な入力操作を要することなく自動的に、対象画像上にて適切な方向および位置にて日付表示を合成することの可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の画像処理装置においては、画像データ入力手段が対象画像を表現する画像データを入力した場合、天地判定手段が上記対象画像の天地方向を判定する。そして、画像合成手段が、上記天地の判定に従って、対象画像とこれに付加する日付表示との天地方向が一致するように上記画像データと日付表示を行うための日付表示データとを合成する。
このように、本発明によれば、縦長や横長などそれぞれに天地方向が異なる対象画像毎に、自動的にその天地方向に日付表示の天地方向が一致するように合成されるため、日付表示を付加した場合に違和感のない画像を生成することができる。
【０００７】
本発明の他の構成として、上記天地判定手段は、上記画像データのヘッダ領域から、同ヘッダ領域に予め記録された対象画像の天地方向を示す天地情報を読み出すことにより天地方向を判定するとしてもよい。つまり、画像データのヘッダ情報には、撮影した対象画像に関する各種情報が保存されており、その中に天地情報が含まれている場合がある。よって、当該天地情報を参照することにより、容易に対象画像の天地方向を判定することができる。
【０００８】
また、上記天地判定手段は、上記画像データの画素値を解析することによって対象画像の特徴を表す所定の特徴情報を取得するとともに、当該特徴情報を利用した判定ルールを用いて天地方向を判定するとしてもよい。かかる構成によれば、対象画像の特徴を表す特徴情報を利用した判定ルールを用いて天地方向の判定をするので、上記天地情報がヘッダ領域に保存されていない場合であっても、対象画像の天地を自動的に判定することができる。
【０００９】
上記画像合成手段は、上記画像データのヘッダ領域から、同ヘッダ領域に予め記録された上記対象画像の記録時期を示す日付情報を読み出し、同読み出した日付情報に従って上記日付表示データを生成するとしてもよい。すなわち、ヘッダ情報には撮影日時など対象画像の記録時期を示す日付情報が保存されているのが通常であるため、かかる日付情報に従って上記日付表示データを生成し、対象画像を表現する画像データ上の所定位置に合成する。
【００１０】
本発明の他の構成として、上記画像合成手段は、上記天地の判定に従って画像データを所定角度回転させた上で画像データと日付表示データとを合成することにより対象画像と日付表示との天地方向を一致させるとしてもよい。
つまり画像合成手段は、上記天地の判定に基づいて、矩形である対象画像の４辺のうちいずれの辺が上方向を向くべき辺であるかを認識するため、かかる辺が上方向を向くように画像データを所定角度回転させる。そして、回転後の画像データに日付表示データを合成すれば、対象画像と日付表示との天地方向を確実に一致させることができる。
【００１１】
さらに、本発明の他の構成として、上記画像合成手段は、上記天地の判定に従って上記日付表示データを所定角度回転させた上で画像データと日付表示データとを合成することにより対象画像と日付表示との天地方向を一致させるとしてもよい。この場合、画像合成手段は、上記対象画像の天地方向を認識したら、これに日付表示の天地方向を一致させるために日付表示データを回転させる角度を決定し、日付表示データを同決定した角度回転させる。すなわち、回転させるのは画像データ側である必要はなく、日付表示データであってもよい。
【００１２】
さらに、上記画像合成手段は、上記画像データと日付表示データとを合成する際に、画像データにおける各領域毎に所定の画像評価を行うとともに評価結果に従って日付表示を合成するための領域を決定し、この決定した領域に日付表示データを合成するとしてもよい。対象画像と日付表示との天地方向を一致させた場合であっても、そのまま日付表示データを合成した場合、背景の対象画像との関係によっては日付表示を付加するにはふさわしくない位置に合成してしまうことも考えられる。
そこで、上記のように各領域毎の画像評価の結果に従って日付表示を合成するための領域を決定し、この決定した領域に日付表示データを合成するとすれば、方向に加えてその位置も最適とした状態にて日付表示を対象画像上に付加することができる。
【００１３】
これまでは、日付表示の合成処理にかかる本願思想を実現するための画像処理装置として説明を行ったが、本願思想は、これを実現する方法の発明として把握することも可能である。つまり、対象画像を表現する画像データを入力する画像データ入力工程と、上記対象画像の天地方向を判定する天地判定工程と、上記天地の判定に従って、対象画像とこれに付加する日付表示との天地方向が一致するように上記画像データと日付表示を行うための日付表示データとを合成する画像合成工程とからなることを特徴とする画像処理方法としても把握することができる。この場合も、上記各画像処理装置と同様の作用、効果を有する。
【００１４】
さらに、画像処理装置の構成をプログラムの発明に対応させることも可能であり、対象画像を表現する画像データを入力する画像データ入力機能と、上記対象画像の天地方向を判定する天地判定機能と、上記天地の判定に従って、対象画像とこれに付加する日付表示との天地方向が一致するように上記画像データと日付表示を行うための日付表示データとを合成する画像合成機能とをコンピュータに実行させることを特徴とする画像処理プログラムとしても把握することができる。この場合も、上記各画像処理装置と同様の作用、効果を有する。
むろん、請求項２〜請求項７の各構成と同様の構成をもって、上記方法またはプログラムの発明に従属する発明を把握することも可能である。
【発明を実施するための最良の形態】
【００１５】
下記の順序に従って本発明の実施形態を説明する。
（１）画像処理装置の概略構成
（２）第一の実施例
（３）第二の実施例
（４）第三の実施例
【００１６】
（１）画像処理装置の概略
図１は、本発明にかかる画像処理装置であるコンピュータ１０と、これに接続したプリンタ２０等を示している。
コンピュータ１０では、演算処理の中枢をなすＣＰＵ１１がシステムバス１０ａを介してコンピュータ１０全体を制御する。同バス１０ａには、書き換え不可能な半導体メモリであるＲＯＭ１２、書き換え可能な半導体メモリであるＲＡＭ１３、ＣＤ‐ＲＯＭドライブ１５、フレキシブルディスク（ＦＤ）ドライブ１６、各種インターフェイス（Ｉ／Ｆ）１７ａ〜１７ｅ等が接続され、ハードディスクドライブを介して磁気ディスクであるハードディスク（ＨＤ）１４も接続されている。
【００１７】
ＨＤ１４にはオペレーティングシステム（ＯＳ）やアプリケーションプログラム（ＡＰＬ）等が記憶されており、これらはＣＰＵ１１によって適宜ＲＡＭ１３に転送され、実行される。本実施形態では、ＨＤ１４には外部から入力した画像データ１４ａ等が保存されている。画像データ１４ａは、印刷対象となる画像（対象画像）を表したデータであり、コンピュータ１０は、Ｉ／Ｆ１７ａ（例えばＵＳＢＩ／Ｆ）を介してデジタルカメラ４０等の入力機器から当該画像データ１４ａを入力することができる。
ディスプレイＩ／Ｆ１７ｂには画像データに基づいて当該データに対応する画像を表示するディスプレイ１８ａが接続され、入力Ｉ／Ｆ１７ｃにはキーボード１８ｂやマウス１８ｃが操作用入力機器として接続され、プリンタＩ／Ｆ１７ｅには例えばシリアルＩ／Ｆケーブルを介してプリンタ２０が接続されている。
【００１８】
プリンタ２０は、インクジェット式のプリンタでありＣＭＹＫ（シアン、マゼンタ、イエロー、ブラック）の各色に対応してそれぞれ設けられた４個のインクカートリッジ２８に充填された各インクを印刷ヘッド２９ａ〜２９ｄから吐出して、印刷媒体上にドットを形成することにより画像を印刷する。むろん、ライトシアン、ライトマゼンタ、ライトブラック、ダークイエロー、レッド、バイオレット、無着色インク等を使用するプリンタを採用してもよいし、インク種類数も限られない。また、インク通路内に泡を発生させてインクを吐出するバブル方式のプリンタや、トナーインクを使用して印刷媒体上に印刷画像を印刷するレーザープリンタ等、種々の印刷装置を採用可能である。プリンタ２０では、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、通信Ｉ／Ｏ２４、コントロールＩＣ２５、ＡＳＩＣ２６、Ｉ／Ｆ２７、等がバス２０ａを介して接続され、ＣＰＵ２１がＲＯＭ２２に書き込まれたプログラムに従って各部を制御する。
【００１９】
キャリッジ機構２７ａにて主走査方向に往復動するキャリッジには、各インクカートリッジ２８が装着されているとともに、印刷ヘッドユニット（印刷ヘッドの集合体）２９が搭載されている。各カートリッジ２８には、例えばＲＡＭからなるメモリチップ２８ａがそれぞれ設けられており、各メモリチップ２８ａは電気的にコントロールＩＣ２５と接続されている。通信Ｉ／Ｏ２４はコンピュータ１０のプリンタＩ／Ｆ１７ｅと接続され、プリンタ２０は通信Ｉ／Ｏ２４を介してコンピュータ１０から送信される色別のラスタデータを受信する。ＡＳＩＣ２６は、ＣＰＵ２１と所定の信号を送受信しつつヘッド駆動部２６ａに対してラスタデータに対応する印加電圧データを出力する。同ヘッド駆動部２６ａは、同印加電圧データから印刷ヘッド２９ａ〜２９ｄに内蔵されたピエゾ素子への印加電圧パターンを生成し、印刷ヘッド２９ａ〜２９ｄに各色のインクをドット単位で吐出させる。Ｉ／Ｆ２７に接続されたキャリッジ機構２７ａや紙送り機構２７ｂは、印刷ヘッドユニット２９を主走査させたり、適宜改ページ動作を行いながら印刷用紙を順次送り出して副走査を行ったりする。
【００２０】
コンピュータ１０においてはＯＳにプリンタＩ／Ｆ１７ｅを制御するプリンタドライバ（ＰＲＴＤＲＶ）が組み込まれ、当該ＰＲＴＤＲＶは、ＡＰＬから印刷指示が行われた対象画像について所定の画像処理を行って印刷を実行する。ＰＲＴＤＲＶは、印刷を実行するために画像合成モジュールと、色変換モジュールと、ハーフトーン（Ｈ／Ｔ）モジュールと、印刷データ生成モジュールとを備えている。
上記印刷指示がなされるとＰＲＴＤＲＶが駆動し、各モジュールによって画像データ１４ａの各画素値に対する処理が実施され、ラスタデータが作成される。作成されたラスタデータはプリンタＩ／Ｆ１７ｅを介してプリンタ２０に出力され、プリンタ２０は当該ラスタデータに基づいて印刷を実行する。
【００２１】
より具体的には、画像合成モジュールが画像データ１４ａをＨＤ１４から取得する。このとき、画像データ１４ａに対して後述の日付表示データの合成処理を実行するとともに、必要があれば所定の解像度変換処理を行う。画像データ１４ａはＲＧＢの各要素色を多階調（例えば、２５６階調）表現して各画素の色を規定したドットマトリクス状のデータであり、ｓＲＧＢ規格に従った表色系を採用している。むろん、ＹＣｂＣｒ表色系を採用したＪＰＥＧ画像データやＣＭＹＫ表色系を採用した画像データ等、種々のデータも採用可能である。色変換モジュールは各画素の色を示す表色系を変換するモジュールであり、ＨＤ１４に予め記録された色変換ルックアップテーブル（ＬＵＴ）を適宜参照して、画像データ１４ａ（ＲＧＢデータ）を、各画素毎にＣＭＹＫ毎の階調値で表現されるインクデータに色変換する。
【００２２】
Ｈ／Ｔモジュールは、色変換によって生成されたインクデータを、各画素におけるＣＭＹＫ毎のインクの吐出／非吐出を特定したＨ／Ｔデータに変換する。Ｈ／Ｔモジュールは、誤差拡散法やディザ法等によるＨ／Ｔ処理を実行可能である。最後に、印刷データ生成モジュールは、上記Ｈ／Ｔデータに基づいて、上記ラスタデータを生成しプリンタ２０に送出する。
なお、図１ではコンピュータ１０とプリンタ２０とを個別の機体としているが、プリンタ２０が印刷処理に加えてコンピュータ１０が実行する画像処理を実行する構成としても良い。
【００２３】
（２）第一の実施例
ここで、任意の対象画像を表す画像データ１４ａをデジタルカメラ４０などから入力した場合、当該画像データ１４ａは、それが縦長の画像であるか横長の画像であるかによらず、決まった方向にてＨＤ１４の所定の記憶領域に保存される。すなわち、対象画像の天地方向にかかわらず、図４，５に示すように矩形画像の２つの長辺を上下（記憶領域内のＸ，Ｙ座標軸のＹの正方向を上方向とする。）に対抗させた画素の配列状態にて保存される。このような方向にて保存されている画像データ１４ａに対して、撮影時期を示す日付表示など他の画像を特定の位置（図中の日付表示エリア）に合成した場合、図５のように対象画像の天地方向と他の画像の天地方向とが一致しない場合がある。
そこで、本実施例においては、以下のような画像合成処理を行うこととした。
【００２４】
図２は、コンピュータ１０が実行する画像合成処理の内容をフローチャートにより示している。当該処理は、主に上記ＰＲＴＤＲＶの画像合成モジュールによって実行される。
ステップＳ（以下、ステップの記載を省略。）７００においては、コンピュータ１０は、ＨＤ１４から対象画像を表す上記画像データ１４ａを読み出す。
Ｓ７１０では、コンピュータ１０は、画像データ１４ａが記録された時期（例えば、デジタルカメラ４０にて撮影された年月日）を示す情報（以下、日付情報）を取得する。具体的には、画像データ１４ａに付加されているヘッダ領域から当該日付情報を取得する。つまり、画像データ１４ａが所定の画像ファイル形式で記録されている場合、そのヘッダ領域には、撮影年月日や画像データのサイズなど、画像データ１４ａに関わる各種情報が記録されているため、ヘッダ領域を参照することにより日付情報を獲得できる。
【００２５】
Ｓ７２０においては、コンピュータ１０は、画像データ１４ａが表現する対象画像の天地方向を判定する。この判定は大きく分けると、ヘッダ領域から天地情報を読み取ることによって判定する手法と、画像データ１４ａの内容を解析することで判定する手法とが考えられる。
【００２６】
ヘッダ領域から天地情報を読み取る場合について説明する。撮影機器によっては、撮影時の機器の傾きを検知するいわゆる加速度センサを備えたものがあり、このような撮影機器によって画像データ１４ａを記録した場合、そのヘッダ領域には、対象画像の天地方向を特定する天地情報が他の各種情報とともに記録されている。そこで、コンピュータ１０は、上記ヘッダ領域から天地情報を読み出すとともに、当該天地情報に従って対象画像の天地の向きを認識する。
【００２７】
次に、画像データ１４ａを解析して天地方向を判定する場合について説明する。
この場合、コンピュータ１０は、画像的な特徴に基づいて天地方向を判定する天地判定ルールを複数有し、各ルールのうち選択されたルールに従って天地判定を行う。
図１０は、コンピュータ１０が実行する、画像データの解析による天地判定をフローチャートにより示している。
【００２８】
Ｓ１００では、コンピュータ１０は、ルール選択基準情報に基づいて天地判定ルールを選択する。ルール選択基準情報とは、各ルールのうちどのルールを用いるかを指定した情報であり、かかる情報はＨＤ１４など所定の記憶領域に予め記録されている。ルール選択基準情報が指定するルールの数は１つであっても、複数であってもよい。
【００２９】
本実施例では、天地判定ルールとして「人物」と、「空・地上」と、「直線」と、「棒状オブジェクト」との４つの特徴を用いるルールが存在する。「人物」に基づくルールは、画像を解析して人物である領域を画像的特徴として抽出し、この人物領域に基づいて天地を判定するルールである。「空・地上」に基づくルールは、画像を解析して天空または地上である領域を画像的特徴として抽出し、この空・地上領域に基づいて天地を判定するルールである。「直線」に基づくルールは、画像を解析して画像内に含まれている１つまたは複数の直線を画像的特徴として抽出し、この直線に基づいて天地を判定するルールである。「棒状オブジェクト」に基づくルールは、画像を解析してビルディングなどの棒状オブジェクト領域を画像的特徴として抽出し、この棒状オブジェクト領域に基づいて天地を判定するルールである。
【００３０】
Ｓ２００，Ｓ３００，Ｓ４００，Ｓ５００では、上記選択された天地判定ルールに従って対象画像の天地方向とその確率が決定される。Ｓ２００，Ｓ３００，Ｓ４００，Ｓ５００の詳細については後述する。
Ｓ６００では、選択されたルールに基づく天地判定の結果を総合して、最終的な天地判定を実行する。この処理についても後述する。なお、Ｓ１００で１つの天地判定ルールのみが選択されているときには、そのルールで決定された結果がそのまま採用される。
【００３１】
人物領域に基づく天地方向判定手順：
図１１は、人物領域に基づく天地判定手順を示すフローチャートである。Ｓ２０２では、画像データ１４ａが示す対象画像から人物領域を抽出する。図１２はＳ２０２の詳細手順を示している。
Ｓ２６２では、対象画像から肌色領域を抽出する。この際、まず、画像データ１４ａをＨＳＶ（色相／彩度／輝度）色空間に変換し、画像の平均輝度Ｖaveを算出する。そして、平均輝度Ｖaveの所定の範囲毎に、肌色画素値の適切な範囲を設定して肌色画素の抽出を行なっている。肌色画素値の範囲の具体例は以下の通りである（Ｈ成分の範囲が０〜３５９、Ｓ，Ｖ各成分の範囲が０〜２５５の場合）。
【００３２】
１２０≦Ｖaveの場合の肌色画素値の範囲：
Ｈ成分：１０＜Ｈ＜４０
Ｓ成分：Ｓ＞６０
Ｖ成分：Ｖ＞１５０
但し、Ｖ成分が２１０以上の画素に関しては、Ｓ成分の値に無関係に、Ｈ成分が１０＜Ｈ＜４５の画素を肌色画素とする。この理由は、輝度が極めて高い画素、すなわちハイライトと考えられる画素に対しては、Ｓ（彩度）成分を無視してＨ（色相）成分のみで判断を行なう方が適切だからである。
【００３３】
９０≦Ｖave＜１２０の場合の肌色画素値の範囲：
Ｈ成分：０＜Ｈ＜４０
Ｓ成分：Ｓ＞６０
Ｖ成分：Ｖ＞１００
但し、Ｖ成分が２１０以上の画素に関しては、Ｓ成分の値に無関係に、Ｈ成分が１０＜Ｈ＜４５の画素を肌色画素とする。
【００３４】
Ｖave＜９０の場合の肌色画素値の範囲：
Ｈ成分：０＜Ｈ＜３０ 又は３５０＜Ｈ＜３６０
Ｓ成分：３０＜Ｓ＜２００
Ｖ成分：Ｖ＞８０
但し、Ｖ成分が２１０以上の画素に関しては、Ｓ成分の値に無関係に、１０＜Ｈ＜３５の画素を肌色画素とする。
【００３５】
このように、画像の平均輝度Ｖave（または平均明度）を複数の範囲に区分し、各範囲
に対して肌色画素値の範囲を設定するようにすれば、画像全体が明るいか暗いかに応じて、適切な肌色画素の範囲を設定することができる。この結果、肌色画素の検出をより正確に行うことが可能である。
【００３６】
こうして検出された肌色画素の集合が肌色領域として抽出される。この際、ある程度の数（例えば１０画素、または、画像全体の画素数の１％以上）以上の肌色画素が接した状態で集合している画像領域のみを肌色領域として抽出してもよい。また、肌色領域の中に、顔の器官（眉、目、鼻、口、耳）などが含まれている場合には、これらの器官を包含する領域を１つの肌色領域として抽出してもよい。なお、顔の器官を「顔の要素」とも呼ぶ。
【００３７】
図１３（Ａ）は、対象画像Ｇ１から抽出された肌色領域ＦＡの例を示している。この
例では、顔の器官を含む領域が１つの肌色領域ＦＡとして抽出されている。なお、肌色画素の判断方法としては、これ以外の任意の方法を採用することができる。例えば、Ｓ成分やＶ成分の値に無関係に、Ｈ成分が予め定められた範囲内の値を有する場合に肌色画素として検出することが可能である。また、色空間としては、ＣＩＥＬａｂ色空間やＹＩＱ色空間などの色空間を用いることも可能である。
【００３８】
Ｓ２６４では、抽出した各肌色領域の縦横比Ｒを算出する。縦横比Ｒは、図１３（Ｂ）に示すように、肌色領域を包含する矩形の長辺の長さＷlongと短辺の長さＷshortの比である。Ｓ２６６では、この縦横比Ｒが所定の範囲（本実施例では１．５以上で３未満）の場合に、この肌色領域を人物の顔領域とみなして、その領域に顔領域（または「人物領域」）であることを示すフラグを付ける。Ｓ２６４，Ｓ２６６の処理は対象画像中のすべての肌色領域について実行される（Ｓ２６８）。
【００３９】
なお、本実施例では、顔領域を人物領域として抽出するものとしたが、これ以外の方法で人物領域を抽出するものとしてもよい。例えば、人物を構成する複数の要素（頭部、胴体、手足）のいくつかを含む広い領域を人物領域として抽出することも可能である。
こうして人物領域の抽出が終了すると、Ｓ２０４において、対象画像内に人物領域が存在するか否かを判定する。人物領域が存在しない場合には、Ｓ２０６において対象画像の天地方向が不明と判定され、Ｓ６００に移行して総合的な天地方向判定処理を待つことになる。この場合に、Ｓ２０６における「天地方向が不明」という判定結果は、人物領域に基づく天地方向判定ができないことを意味しており、他の特徴を用いた天地判定はできる可能性がある。
【００４０】
一方、対象画像内に人物領域が存在する場合には、人物領域の天地の向きに応じて画像の天地方向が判定される。具体的には、Ｓ２０８において、人物領域内の顔の器官を検出する。顔器官抽出処理は、例えば、ニューラルネットワークによる処理や、画像内の色変化や輝度変化を利用した処理、画像内の形状を利用した処理などの種々の処理を利用することができる。本実施例では、顔の器官として目と口を検出するものと仮定する。
【００４１】
Ｓ２１０〜Ｓ２４２においては、顔の器官として目と口のいずれが検出されたかに応じて以下のような処理を実行する。
目と口の両方とも検出できた場合（Ｓ２１０）には、顔領域に対する目、口の位置関係から画像の天地方向を判定する（Ｓ２１２）。例えば、図１３（Ａ）のように、両目と口とが検出された場合は、両目の中間位置と口とを結ぶ直線によって天地方向が決定される。すなわち、口から両目の中間位置に向かう方向が天方向である。また、片目と口とが検出された場合には、その目と口とを結ぶ直線によって天地方向が決定される。Ｓ２１４では、目と口の検出結果から判定確率が決定される。例えば、両目と口を全て検出できた場合は、判定確率を１００％と決定し、片目と口が検出できた場合は判定確立を７５％に設定する。
【００４２】
口が検出できずに目だけ検出できた場合（Ｓ２２０）には、顔領域に対する目の位置から画像の天地方向を判定する（Ｓ２２２）。例えば、顔領域のうちで目に近い端部から反対側の端部に向かうに方向を地方向として決定する。この場合には、目のみが検出できているので、Ｓ２２４において、判定確率を５０％に設定する。この判定確率は、目と口の両方が検出された場合（Ｓ２１４）よりも小さな値に設定される。
【００４３】
目が検出できずに口だけ検出できた場合（Ｓ２３０）には、顔領域に対する口の位置から画像の天地方向を判定する（Ｓ２３２）。例えば、顔領域のうちで口に近い端部から反対側の端部に向かう方向を天方向として決定する。口は目に比べてより顔の端に近い位置に存在するので、目のみ検出できた場合よりも判定確率を少し高めの判定確率（例えば６０％）に設定する。
【００４４】
目と口の両方とも検出できなかった場合（Ｓ２４０）には、天地方向が不明としてＳ２５０に移行する。なお、天地方向が不明の場合には、画像の４つの辺の判定確率がすべて０％に設定される。また、Ｓ２１２，Ｓ２２２，Ｓ２３２において天地方向（天方向まは地方向）であると判定されなかった辺については、判定確率が０％に設定される。このような判定確率の設定は、他の特徴を用いた処理でも同じである。
【００４５】
なお、Ｓ２４０において天地方向を不明とする代わりに、顔領域の長手方向に沿った直線と交差する２つの辺のうちで、顔領域がより近い辺を天方向と判定してもよい。この場合の判定確率は、目や口を検出できた場合よりも低い値（例えば３０％）に設定される。
Ｓ２５０では、対象画像内のすべての人物領域に関する処理が終了したか否かが判断され、終了するとＳ６００に移行する。
【００４６】
なお、複数の人物領域において異なる判定結果が得られた場合には、各人物領域の判定結果を総合して、人物領域に基づく判定結果を求めることができる。例えば、複数の判定結果の中で最も判定確率の高いものを採用することができる。また、同じ天地方向を有するものと判定された人物領域が複数個存在する場合には、その方向の判定確率を高めるように判定確率を修正してもよい。例えば、同じ第１の天地方向を有し、かつ、判定確率が７５％である人物領域が２つ存在した場合には、その判定確率を９０％に修正してもよい。この時、仮に他の人物領域に基づいて判定された第２の天地方向が７５％の確率であれば、第１の天地方向およびその判定確率９０％が最終的な判定結果として採用される。
【００４７】
ところで、図１３（ｃ）のように、人物領域から判定された天方向Ｆupと、画像の１辺に並行な方向Ｇupとの間の角度θがかなり大きな値を示す場合がある。この場合には、例えば、４辺の方向Ｇup，Ｇdown，Ｇright，Ｇleftのうちで、顔領域の天方向Ｆupと最も
近いものを画像の天方向として選択することが可能である。但し、画像の下方向Ｇdownは、天方向の候補から除外するようにしてもよい。この理由は、カメラを上下反転して撮影することが極めてまれだからである。
【００４８】
このように、人物領域に基づく天地方向判定処理では、対象画像を解析して人物領域を抽出し、その人物領域の天地の向きから画像の天地方向を判定するので、自動的に天地方向を判定することができる。また、特に、人物領域内における顔の器官の位置から天地方向を判定するようにすれば、より正確に天地方向を判定することができる。
なお、上述の説明では、顔領域内における顔の器官の位置に応じて天地方向を判定していたが、この代わりに、顔領域とその顔領域に隣接する頭髪部分（頭髪領域）との位置関係から天地方向を判定することも可能である。また、肌色領域（顔領域）とその肌色領域に隣接する胴体部分（胴体領域）との位置関係から天地方向を判定することも可能である。頭髪部分や胴体部分の判定は、例えばこれらの部分の典型的な形状を用いた形状テンプレートマッチングを用いて行うことが可能である。
【００４９】
空・地上領域に基づく天地方向判定手順：
図１４は、空・地上領域に基づく天地判定手順を示すフローチャートである。Ｓ３０２では、対象画像の平均輝度を求め、この平均輝度に応じて昼夜の判定を行なう。具体的には、画像の平均輝度が所定のしきい値（例えば１１０）以上の場合には、昼に撮影された画像と判定し、しきい値未満の場合には夜に撮影された画像と判定する。なお、昼夜判定は、画像データ１４ａに付されているヘッダ領域に記録された撮影時間情報から行なっても良い。
【００５０】
図１５（Ａ）は昼に撮影された対象画像Ｇ２を示しており、明るい空領域を含んでいる。昼の画像と判定された場合には、Ｓ３０６以下の処理が実行される。まず、Ｓ３０６では、画像全体の平均輝度よりも明るい画素にフラグ付けを行なう。そして、Ｓ３０８では、フラグ付けされた画素であって、かつ、連続している画素同士を連結する。以下では、こうして画素同士が連結された領域を「連結領域」と呼ぶ。Ｓ３１０では、連結領域の色を調べ、その連結領域が青、白、グレイのいずれかに属する所定の色を有する場合に、空領域候補（「天空領域候補」とも呼ぶ）として再度フラグ付けを行なう。青、白、グレイに属する画素値の範囲は、例えば以下のように設定することができる。
【００５１】
青：２００＜Ｈ＜２４０、Ｓは全範囲、Ｖ＞（平均輝度Ｖaveの１．５倍）
白：Ｈは全範囲、Ｓ＜１０、Ｖ＞（平均輝度Ｖaveの１．５倍）
グレイ：Ｈは全範囲、Ｓ＜３０、Ｖ＞（平均輝度aveの１．５倍）
【００５２】
ある領域を空領域候補としてフラグ付けするかどうかの判断基準としては、例えば、（ｉ）連結領域中の７０％以上の画素が青、白、グレイのいずれかに属する色に分類される場合、あるいは、（ｉｉ）連結領域の平均色が青、白、グレイのいずれかに属する色に分類される場合、などのいくつかの基準を採用することができる。図１５（Ｂ）は、上記のように抽出された空領域ＳＡ（空領域候補）を示している。
【００５３】
こうして空領域候補が検出されると、Ｓ３１２において、対象画像の４辺のうちで、空領域候補が一番広く存在する端部（辺）を画像の天方向と判定する。この際、空領域候補が複数の辺に接している場合には、各辺上における空領域候補の長さを計算し、各辺の長さに対する空領域候補の長さの比が最も大きい辺が画像の天方向と判定される。図１５（Ｂ）では、上辺が対象画像の天方向と判定される。
【００５４】
Ｓ３１４では、空領域候補が一つの辺のみにかかっている場合に、その判定確率が１００％に設定される。また、各辺上における空領域候補の長さで天方向を判定した場合には、判定確率が７５％に設定される。このように、昼の画像に関しては、空領域が画像の４辺のうちのいずれに最も多く長く接しているかに応じて画像の天地方向を判定すれば、かなり正確に天地方向を判定することが可能である。
【００５５】
一方、Ｓ３０４において、昼の画像と判定されなかった場合には、Ｓ３２０において、夜の画像であるか否かの判定が行われる。具体的には、例えば、画像全体の平均輝度Ｖaveが９０未満の場合には夜と判定することができる。あるいは、画像を９等分し、そのうちの中央のブロックの平均輝度Ｖaveが９０未満の場合に夜として判定を行なうことも可能である。昼の画像とも夜の画像とも判定されなかった場合には、Ｓ３３０において天地方向不明と判定され、Ｓ６００に移行する。
【００５６】
図１６（Ａ）は、全体的に暗い対象画像Ｇ３を示している。この場合輝度が低いので、夜に撮影された画像であると判断される。なお、画像内の白い点は、街灯や、建物の窓、自動車のヘッドライトなどの明るい物体である。
Ｓ３２０で夜の画像と判定された場合には、Ｓ３２２において対象画像を４つのブロックに等分し、各ブロックの平均輝度を求める。図１６（Ｂ）は、対象画像Ｇ３が４つのブロックＢ１〜Ｂ４に区分された状態を示している。Ｓ３２４では、図１６（Ｃ）に示すように、画像の上方にある２つのブロックＢ１，Ｂ２で構成される上方領域Ａupperと、下方にある２つのブロックＢ３，Ｂ４で構成される下方領域Ａlowerの間の輝度コントラストＣＴ１が算出される。輝度コントラストＣＴ１は、上方領域Ａupperの平均輝度Ｖave（Ａupper）と、下方領域Ａlowerの平均輝度Ｖave（Ａlower）の比である。同様に、図１６（Ｄ）に示すように、現在の画像方向の左方にある２つのブロックＢ１，Ｂ３で構成される左方領域Ａleftと、右方にある２つのブロックＢ２，Ｂ４で構成される右方領域Ａrightの間の輝度コントラストＣＴ２＝Ｖave（Ａleft）／Ｖave（Ａright）が算出される。
【００５７】
コンピュータ１０は、Ｓ３２４においてこれらの輝度コントラストＣＴ１，ＣＴ２を比較し、Ｓ３２６において、より大きなコントラストを与える分割方向を画像の天地方向と判定する。さらに、その天地方向のうちで、より輝度の高い方を地方向と判定する。図の例では、図１６（Ｃ）の上下分割のコントラストＣＴ１の方が大きいので、現在の画像の上下方向が天地方向であると判定される。また、画像の上下方向のうちで、下方がより輝度が高いので、現在の下方が地方向であると判定される。なお、本明細書において、「分割方向」とは、分割線に垂直な方向を意味する。
【００５８】
Ｓ３２８では、輝度コントラストの値が十分大きい場合（例えば２以上の場合）に、判定確率が１００％に設定され、それ以外の場合には判定確率が７５％に設定される。このように、空・地上領域に基づく天地方向判定処理では、昼の画像の場合には空領域を抽出し、その空領域の画像内の位置に応じて天地方向を判定するので、自動的に天地方向を判定することができる。また、夜の画像の場合には、画像内の上下方向の輝度コントラストと左右方向の輝度コントラストとを用いて天地方向を判定するので、夜の画像に関しても、正しく天地方向を判定することができる。但し、昼の画像か夜の画像かを判定せずに、画像内の空領域を抽出し、空領域の画像内の位置から天地方向を判定するようにしてもよい。
【００５９】
また、空領域（空領域候補）が抽出された場合には、それ以外の領域を地上領域として認識するようにしてもよい。あるいは、空領域が認識できない場合にも、特定の色や形状を有する領域（例えば茶色や緑色の広大な領域）を地上領域として抽出するようにしてもよい。この場合には、地上領域の画像内の位置に応じて天地方向を判定することが可能である。
【００６０】
直線に基づく天地方向判定手順：
図１７および図１８は、直線に基づく天地判定手順を示すフローチャートである。Ｓ４０２では、コンピュータ１０は対象画像内の直線の検出を行なう。なお、画像内の直線は、例えば、対象画像を空間微分して各画素のエッジ量を求め、各画素のエッジ量で構成される画像（エッジ画像）を生成し、このエッジ画像に対してハフ変換を行うことによって求めることができる。なお、画像の空間微分は、例えばラプラシアンフィルタなどの微分フィルタを用いて行うことが可能である。
【００６１】
Ｓ４０４では、直線が検出されたか否かを判断する。ここで、直線とは、所定の長さ（例えば１００画素）以上の線分を意味している。直線が検出されなかった場合には、Ｓ４４０において天地方向不明と判定し、Ｓ６００に移行する。一方、直線が検出された場合には、Ｓ４０６において、その直線が画像の縦方向、あるいは横方向全体にわたる直線であるかどうかの判定を行なう。縦方向または横方向全体にわたる直線が存在しない場合には、図１８に示す収束直線判定処理（後述）に移行する。
【００６２】
一方、画像全体にわたる直線が存在する場合には、コンピュータ１０はＳ４１０以降の処理を実行する。図１９は、画像全体にわたる直線（「貫通直線」とも呼ぶ）を含む画像の例を示している。この対象画像Ｇ４は水平線を含んでおり、この水平線が貫通直線ＴＳＧとして判定される。
Ｓ４１０では、画像の長手方向と貫通直線の方向が一致するかどうか判定を行なう。この判定は、画像の長手方向と貫通直線の方向のなす角度が所定の値（例えば２０度）以下であるか否かによって行うことができる。画像の長手方向と一致する長い直線が存在する場合には、その直線が水平線や地平線などであることが多いと考えられる。そこで、これらの２つの方向が一致した場合には、Ｓ４１２において、現在の画像の上方をそのまま上方（天方向）と判定し、判定確率を７５％に設定してＳ６００へ移る。この理由は、横長の画像を撮影する際にカメラを上下反転して撮影することが極めてまれだからである。一方、２つの方向が一致しなかった場合には、Ｓ４２０において、空領域の検出を行なう。この処理は、図１４のＳ３１０で説明したものと同じである。
【００６３】
Ｓ４２０において空領域が検出できた場合には、Ｓ４２２において、空領域が検出された方向を上方（天方向）と判定し、判定確率を７５％に設定してＳ６００へ移る。但し、図１４のＳ３１２，Ｓ３１４と同様に、空領域と画像の辺（端部）との関係から判定確率を設定するようにしても良い。
一方、Ｓ４２０で空領域が検出できなかった場合には、Ｓ４３０において、貫通直線近傍に高輝度領域が存在するかどうかの判定を行なう。ここで、「高輝度領域」とは、例えば、ＨＳＶ色空間でのＶ値が所定の値（例えば２００）以上である画素が、所定数（例えば２０画素）以上集合している領域を意味する。例えば、夕焼けの画像を撮影した場合には、太陽が高輝度領域として認識される。貫通直線近辺に高輝度領域が検出された場合には、Ｓ４３２において、貫通直線よりも高輝度領域に近い方の画像の辺を上方（天方向）として判定し、判定確率を７５％に設定してＳ６００へ移る。なお、高輝度領域が２つ以上検出された場合には、物体の鏡面反射によるものである可能性が高いので、高輝度領域無しと判定してもよい。Ｓ４３０において貫通直線近傍に高輝度領域が検出できなかった場合には、Ｓ４４０において天地方向不明と判定し、Ｓ６００へ移る。
【００６４】
図１８に示す収束直線判定処理では、まずＳ４５０において、３本以上の直線が検出されているか否かを判断する。３本以上の直線が検出された場合には、Ｓ４５２において、ほぼ１点に収束する３本以上の直線の組（「収束直線群」または「消失線群」と呼ぶ）を探索する。図２０（Ａ）は対象画像Ｇ５を示し、図２０（Ｂ）は、収束点ＣＰに収束する直線群ＣＳＧを示している。なお、収束直線群ＣＳＧの収束点ＣＰは、ある程度の許容範囲を有していてもよい。
【００６５】
Ｓ４５０において３本の直線が検出されなかった場合、あるいは、Ｓ４５２において収束直線群が検出されなかった場合には、天地方向不明と判定して、Ｓ６００へ移る。一方、Ｓ４５２において、収束直線群が検出された場合には、コンピュータ１０は収束直線群の両側に関する輝度コントラストを算出する。具体的には、図２０（Ｃ）に示すように、収束直線群ＣＳＧを挟む２つの領域Ａ１，Ａ２における平均輝度をそれぞれ算出して、それらの平均輝度の比を輝度コントラストとして算出する。そして、輝度がより高い方の領域が存在する画像の辺を上方（天方向）と判定し、その判定確率を６０％に設定してＳ６００へ移る。輝度がより高い領域を画像の天方向と判定する理由は、輝度が高い方がより空に近い方向である可能性が高いからである。なお、この場合の設定確率も、図１４のＳ３１２，Ｓ３１４と同様に、より高輝度の領域と画像の辺（端部）との関係に応じて設定するようにしても良い。
【００６６】
このように、直線に基づく天地方向判定処理では、貫通直線が存在する場合に、貫通直線の方向や、貫通直線と空領域との位置関係に応じて画像の天地を正しく判定することができる。従って、水平線や地平線などのような貫通直線がある場合に、画像の天地を正しく判定することが可能である。また、収束直線群が存在する場合には、収束直線群の両側の輝度に応じて画像の天地を正しく判定することができる。
なお、画像が貫通直線を含む場合には、上述の判定の代わりに、画像の上下方向と左右方向との２つの方向のうちで、貫通直線となす角度がより大きな方向を天地方向と判定するようにしてもよい。例えば、貫通直線の向きが画像の左右方向に近い場合には、画像の上下方向が天地方向となり、画像の方向が正しく天地を向いていると判定される。一方、貫通直線の向きが画像の上下方向に近い場合には、画像の左右方向が天地方向となる。この場合には、他の画像的な特徴（例えば画像の左右のコントラストなど）を用いて天方向または地方向を判定してもよい。
【００６７】
また、画像が収束線群を含む場合には、上述の判定の代わりに、収束線群の方向に基づいて天地を判定してもよい。通常は、図２０のように、収束線群の収束点ＣＰが画像の上方向に向いている場合が多い。従って、収束線群の向かう方向に基づいて、画像の上下方向または左右方向を天地方向と判定することが可能である。この場合にも、他の画像的な特徴（例えば画像のコントラストなど）を用いて天方向または地方向を判定してもよい。
【００６８】
棒状オブジェクトに基づく天地方向判定手順：
図２１は、棒状オブジェクトに基づく天地判定手順を示すフローチャートである。棒状オブジェクトとは、ビルディングなどのような長手の被写体を意味している。
Ｓ５０２では、コンピュータ１０が、対象画像の各画素の色情報を用いて領域分割処理（領域分離処理）を行なう。具体的には、例えば、ＨＳＶ色空間のＨ成分を所定の複数の範囲に予め区分しておき、各範囲のＨ成分を有する画素で構成される領域を抽出することによって、領域分割を行うことが可能である。この場合に、ある領域内の画素数が極めて少ない（例えば１０画素以下）の場合には、その領域が周囲のより大きな領域に吸収されるものとしてもよい。
【００６９】
なお、領域分割は、他の方法を用いて行うことも可能である。例えば、対象画像を空間微分することによってエッジ画像を求め、このエッジ画像内の閉領域を検出することによって領域分割を行うことも可能である。
Ｓ５０４では、縦横比が所定の値（例えば４倍）以上の領域に対して、棒状オブジェクトとしてのフラグ付けを行なう。図２２（Ａ）は、棒状オブジェクトＳＯＢを含む対象画像Ｇ６を示している。縦横比Ｒは、図２２（Ｂ）に示すように、棒状オブジェクトＳＯＢを包含する矩形の長辺の長さＷlongと短辺の長さＷshortの比である。
【００７０】
Ｓ５０６では、棒状オブジェクトの一方の端が空領域に重なるかどうかの判定を行なう。空領域の抽出処理は、図１４のＳ３１０で説明したものと同じである。図２２（Ａ）のように、棒状オブジェクトの一端が空領域に重なっている（または接している）場合には、重なっている端部の方向を上方（天方向）と判定し、判定確率を７５％に設定する（Ｓ５０８，Ｓ５１０）。そして、次の棒状オブジェクトがあればＳ５１２からＳ５０６に戻り、Ｓ５０６以降の処理を繰り返す。一方、Ｓ５０６において、棒状オブジェクトの両方の端部がいずれも空領域に重ならない場合、または、空領域が存在しない場合には、天地方向不明と判定してＳ６００へ移る。
【００７１】
図２２（Ａ）の対象画像Ｇ６の場合には、棒状オブジェクトＳＯＢの左側の端部が空領域と重なっているので、画像の左側が天方向であると判定される。
このように、画像内にビルディングのような棒状オブジェクトがある場合には、その長手方向が天地方向である可能性が高い。従って、上述のように、棒状オブジェクトを用いてかなり正確に天地方向を判定することができる。
【００７２】
総合天地判定手順：
図２３は、総合天地判定処理の手順を示すフローチャートである。コンピュータ１０は、Ｓ１００において選択された各特徴を用いた天地方向判定の結果を用いて、画像の各端ごと（各辺ごと）に判定確率を加算する（Ｓ６０２，Ｓ６０４）。具体的には、画像の上辺と下辺と左辺と右辺について、各特徴を用いて算出された判定確率を加算する。なお、上述したように、各特徴を用いた判定処理において、天地方向不明の場合には４辺のすべての判定確率が０％に設定されている。また、天方向または地方向と判定されていない辺についても判定確率が０％に設定されている。なお、判定確率の加算は、天方向または地方向のいずれかに関して行われる。この場合に、地方向と判定された辺がある場合には、その対向する辺が天方向と判定されたものと見なされる。本実施例では、天方向に関して判定確率を加算している。
【００７３】
判定確率の加算がすべて終了すると、Ｓ６０６において、判定確率が最も高い端（辺）を上方（天方向）と最終的に判断し、Ｓ６０８でその結果を出力する。
このように、複数の特徴についてそれぞれ天地方向とその判定確率を決定し、画像の各辺毎に判定確率を加算し、加算後の判定確率を用いて最終的な天地方向を決定するので、高い精度で天地方向を判定することが可能である。
なお、総合天地判定処理において、各辺の判定確率を加算する代わりに、各特徴を用いて得られた判定確率の中で最も高い値を示す辺を、画像の天地方向（天方向または地方向）として決定するようにしてもよい。但し、判定確率を加算すれば、より確実に正しい天地方向を決定できる可能性がある。
【００７４】
以上の処理によって、図２のＳ７２０における天地方向判定処理が終了する。なお、ヘッダ領域から天地情報を読み取る手法と、画像データ１４ａの内容を解析する手法とは、いずれか一方のみを実行するとしてもよいし、両手法を併用するとしても良い。併用する場合には、ヘッダ領域から天地情報を読み取る手法を先に実行し、ヘッダ領域から天地情報を読み取れなかった場合に、画像データ１４ａの内容を解析する手法を実行すればよい。
【００７５】
図２に戻って説明を続ける。
Ｓ７３０においては、コンピュータ１０は、判定した対象画像の天地方向に基づいて、画像データ１４ａを回転させる角度や方向を決定する。ここでは、画像データ１４ａを反時計方向に回転させるものとする。
図６に示すように、対象画像の４辺Ｌ１，Ｌ２，Ｌ３，Ｌ４のうち、辺Ｌ２が画像の天方向を向いている場合には回転角度を９０°と決定する。一方、辺Ｌ１が天方向を向いている場合には回転角度を２７０°と決定する。Ｌ３が天方向である場合、すなわち、対象画像のもともとの配列状態における上方向と天方向とが一致する場合には、回転角度は０°となる。
【００７６】
Ｓ７４０では、上記決定した回転の方向および角度に従って画像データ１４ａを回転させる。かかる回転は、回転前の各画素について、その座標値を入力値として回転後の座標値を特定する公知の座標変換式を用いることで実現可能である。
この結果、辺Ｌ２が天方向である場合には画像データ１４ａが９０°回転されて辺Ｌ２が上方向を向いた状態となる。また、辺Ｌ１が天方向である場合には画像データ１４ａが２７０°回転されて辺Ｌ１が上方向を向いた状態となる。なお、辺Ｌ１が天方向である場合に時計回り方向に９０°回転させてもよいことは言うまでもない。
【００７７】
上記のようにして、対象画像の天方向が上方向となるように画像データ１４ａの画素配列を変換したら、Ｓ７５０においてコンピュータ１０は、画像データ１４ａ上に日付表示データを合成する処理を実行する。日付表示データは、上記ヘッダ領域から読み取った日付情報が示す日付を表示するための画像データであり、同日付情報に基づいて生成する。むろん、日付表示データはその日付表示の天方向が上方向を向くように生成される。本実施例においては、日付表示データは、回転処理後の画像データ１４ａ上の特定位置（例えば、右下位置とする。）に合成される。
日付表示データが合成された後の画像データ１４ａが表す画像は図７のように、対象画像および日付表示の天地方向が一致した状態となり、かかる合成後の画像データを、以降の色変換処理やＨ／Ｔ処理などの対象とする。その結果、プリンタ２０からは、対象画像および日付表示の天地方向が一致した画像が出力される。
【００７８】
図３は、コンピュータ１０が実行する画像合成処理であって、図２とは異なる例を示している。図３においては、Ｓ８００〜８２０，８５０の処理は図２のＳ７００〜７２０，７５０の処理と同様である一方、画像データ１４ａではなく日付表示データの側を回転させる点で図２と異なる。
Ｓ８３０においては、コンピュータ１０は、Ｓ８２０で判定した対象画像の天地方向に基づいて、日付表示データを回転させる角度や方向を決定する。ここで、日付表示データは反時計方向に回転させるものとする。
【００７９】
図８に示すように、対象画像の４辺Ｌ１，Ｌ２，Ｌ３，Ｌ４のうち、辺Ｌ１が画像の天方向を向いている場合には日付表示データの回転角度を９０°と決定する。一方、辺Ｌ２が天方向を向いている場合には回転角度を２７０°と決定する。Ｌ３が天方向である場合には、回転角度は０°となる。なお図８では、日付表示の天方向をｌ１，地方向をｌ２と表している。Ｓ８４０では、上記決定した回転の方向および角度に従って日付表示データを回転させる。つまり、辺Ｌ１が天方向である場合には日付表示データが９０°回転され、辺Ｌ２が天方向である場合には日付表示データが２７０°回転される。
このように回転した日付表示データを画像データ１４ａ上の特定位置に合成すると、合成後の画像データ１４ａが表す画像は図９に示すように、対象画像および日付表示の天地方向が一致した状態となる。その結果、プリンタ２０からは、対象画像および日付表示の天地方向が一致した画像が出力される。
【００８０】
このように、本実施例によれば、対象画像を表現する画像データ１４ａの天地方向を判定するとともに、保存されている状態の画像データ１４ａの上下方向と天地方向とが一致（上方向と天方向とが一致、あるいは下方向と地方向とが一致）していない場合には、画像データ１４ａと日付表示データの合成処理前に、画像データ１４ａと日付表示データとの一方を回転させることで対象画像および日付表示の天地方向を一致させる。その結果、ユーザに余分な入力操作をさせることなく、対象画像および日付表示の天地方向が一致して好ましい態様にて日付表示のなされた画像を確実に出力することができる。
【００８１】
（２）第二の実施例
対象画像に日付表示などの他の画像を合成する際に、各対象画像ごとに、かかる他の画像を合成することがふさわしくない領域というものが存在する。そこで、本実施例においては、以下のような画像合成処理を行うこととした。
図２４は、コンピュータ１０が実行する画像合成処理の内容をフローチャートにより示している。当該処理は、主に上記ＰＲＴＤＲＶの画像合成モジュールによって実行される。
【００８２】
Ｓ９００，９２０の処理は、上記第一の実施例におけるＳ７００，７１０またはＳ８００，８１０の処理と同様である。すなわち、コンピュータ１０は、ＨＤ１４から対象画像を表現した画像データ１４ａを読み出すとともに、そのヘッダ領域から日付情報を獲得する。
次に、Ｓ９４０において、コンピュータ１０は対象画像の各領域毎に画像評価を実行し、評価結果に基づいて各領域に評価値αを設定する。ここで評価値αとは、日付表示データを合成するための適正を数値で表したものであり、本実施例においてはその値が大きいほど、合成に適した領域であることを示す。
【００８３】
本実施例においては、画像評価の具体的手法として、人物の有無に基づく評価と、ピントの合致度合いに基づく評価と、輝度差の大きさに基づく評価とについて説明を行う。
図２８は、人物の有無に基づく画像評価の内容をフローチャートにより示している。まず、Ｓ９４１においてコンピュータ１０は、画像データ１４ａから一つの画素領域を選択する。上記のようにして選択される領域は、横縦ｍ×ｎ個の画素で表された、日付表示を行うのに適したサイズとなっており、図２５〜２７においては斜線を施した矩形によって一つの領域の大きさを示している。
【００８４】
ここで、領域の選択の手法としては主に２通り考えられ、いずれを採用しても良い。１つは、図２５に示すように、対象画像中の所定箇所（例えば、画像の上下各辺に沿った端部領域における左右両端および略中央の計６箇所）に予め選択対象となる領域を設けておき、かかる各領域を順次選択する手法が考えられる。もう一つは、図２６，２７に示すように、対象画像中の所定領域内（例えば、画像の上下各辺に沿った端部領域）にて、上記領域のサイズを単位として一画素ずつある方向に領域をずらしながら順次選択していく手法が考えられる。
【００８５】
Ｓ９４２においては、コンピュータ１０は、選択した一の領域（選択領域）に人物が存在するか否か判断する。人物の検出は、図１１のＳ２０２における人物領域抽出処理と同様の処理によって実現可能である。つまり、選択領域内から上記人物の顔領域が抽出された場合に“Ｙｅｓ”と判断し、Ｓ９４３へ進む。一方、人物の顔領域が抽出されない場合にはＳ９４６において、評価値α３をその選択領域に対して設定する。
Ｓ９４３においては、選択領域に存在する人物が複数であるか否か判断する。人物の数は、抽出された顔領域の数によって判断する。選択領域内から人物の顔領域が複数抽出されれば“Ｙｅｓ”と判断するとともに、Ｓ９４４において評価値α１を設定する。一方、選択領域内からは一人分の顔領域しか抽出されない場合は、Ｓ９４５において、評価値α２を設定する。
【００８６】
なお、選択領域のサイズは対象画像全体においてはごく小さな範囲であるため、人物の顔領域の全体が選択領域に含まれるという状況はまれである。そこで、Ｓ９４２，９４３の判断においては、顔領域の抽出処理自体は選択領域を含む大きな画素領域を対象に行い、当該大きな画素領域から顔領域が抽出され、かつ顔領域の一部が選択領域に含まれていれば、その選択領域に人物が存在すると判断してもよい。
【００８７】
ここで、上記のように設定された各評価値α１〜α３は、α３＞α２＞α１の関係をもつ数値である。上述したように評価値は、その値が大きいほど日付表示の合成に適した領域であることを示す指標値であるため、人物が含まれる選択領域に対しては日付表示の合成に不適切であるとして小さな評価値が与えられ、さらに複数の人物が含まれる場合はより小さな値となる。人物が複数存在する場合に設定する評価値については、その人数が多いほどより評価値を小さい値とする。
Ｓ９４７においては、コンピュータ１０は、全ての領域を対象として評価値を設定したか否か判断し、全領域についての処理が終了していない場合はＳ９４１以下の処理を繰り返す。一方、全領域についての処理が終了している場合は、画像評価処理を終了する。
【００８８】
次に、ピントの合致度合いに基づく画像評価について説明する。つまり、ピントが合っている領域は、対象画像の中でも重要な部分であると考えられるため、ピントの合致度合いによって評価値を異ならせる。
図２９は、ピントの合致度合いに基づく画像評価の内容をフローチャートにより示している。Ｓ９４８においては、図２８のＳ９４１と同様に一つの領域を選択する。Ｓ９４９においては、コンピュータ１０は、選択領域内に含まれるエッジ画素の数を集計する。本実施例においては、ある選択領域に対してどれほどピントが合っているか否かを、その選択領域に含まれるエッジ画素数によって判断する。
【００８９】
ある画素がエッジ画素であるか否かは様々な公知の手法により判断できるが、ここでは、一つの注目画素の濃度（例えば、輝度）と周囲の画素の濃度との差分が所定の基準値を超える場合に当該注目画素をエッジ画素と判断する。
Ｓ９５０においては、集計したエッジ画素数が所定のしきい値Ｔｈ１より多いか否か判断する。しきい値Ｔｈ１は、選択領域を構成する全画素数（ｍ×ｎ個）のうちの数パーセントに対応する値である。集計したエッジ画素数がしきい値Ｔｈ１を超えない場合は、Ｓ９５４において、その選択領域に対して評価値α６を設定する。一方、しきい値Ｔｈ１を超える場合には、Ｓ９５１において、集計したエッジ画素数が所定のしきい値Ｔｈ２より少ないか否か判断する。しきい値Ｔｈ２はしきい値Ｔｈ１より大きな値であって選択領域を構成する全画素数のうちの数パーセントに対応する値である。
【００９０】
集計したエッジ画素数がしきい値Ｔｈ２を超えない場合は、Ｓ９５２において評価値α４を設定し、しきい値Ｔｈ２を超える場合はＳ９５３において評価値α５を設定する。
ここで、各評価値α４〜α６は、α６＞α４、α５＞α４の関係をもつ。すなわち、エッジ画素数がしきい値Ｔｈ１〜Ｔｈ２の範囲内である場合に評価値は最も小さくなり、エッジ画素数がしきい値Ｔｈ１〜Ｔｈ２の範囲外である場合には大きな評価値を与える。つまり、本実施例においては、選択領域内におけるエッジ画素比率が大きい場合には基本的にピントの合致度合いが高く日付表示の合成には適さないと判断するが、エッジ画素比率がある値を超えてより高い場合には、例外的に、日付表示の合成にある程度適していると判断する、という思想のもと評価値を設定する。
【００９１】
この結果、衣類の模様や芝生が背景として撮影されている領域など、かなり画像の濃淡変化が活発であるが、あえて日付表示の合成位置から除外する必要性の低い領域に対して低い評価値を与えてしまうことが防がれる。ただし、Ｓ９５１の判断を行うか否かは任意であり、Ｓ９５０の分岐にて“Ｙｅｓ”である場合に即座に上記α６より小さな評価値を与えるとしてもよい。
Ｓ９５５においては、コンピュータ１０は、全ての領域を対象として評価値を設定したか否か判断し、全領域についての処理が終了していない場合はＳ９４８以下の処理を繰り返す。一方、全領域についての処理が終了している場合は、画像評価処理を終了する。
【００９２】
次に、輝度差の大きさに基づく画像評価について説明する。つまり、領域内における輝度差が大きい場合には、その領域に何らかのオブジェクトが存在すると予測できるため、かかる輝度差によって評価値を異ならせる。
図３０は、輝度差の大きさに基づく画像評価の内容をフローチャートにより示している。Ｓ９５６においては、図２８のＳ９４１と同様に一つの領域を選択する。Ｓ９５７においては、コンピュータ１０は、選択領域内における輝度の分散を算出する。つまり、選択領域内の各画素毎にＲＧＢ階調を取得し、同ＲＧＢ階調から公知の変換式により各画素の輝度を算出する。そして、これら輝度についての分散を算出する。
【００９３】
Ｓ９５８においては、輝度差を認識する手法の一つとして、上記算出した分散と所定のしきい値Ｔｈ３とを比較する。このしきい値Ｔｈ３は輝度が取りうる範囲の数パーセントに対応する値である。そして、分散がしきい値Ｔｈ３を超えている場合には、選択領域に対して評価値α７を設定し、一方、分散がしきい値Ｔｈ３を超えない場合には評価値α８を設定する。評価値α７，α８は、α８＞α７なる関係をもつ。
つまり、輝度の分散が大きければ選択領域における輝度のばらつきが大きいと言えるため、選択領域の画像が一様で無く、なんらかのオブジェクトが含まれる可能性が高いといえる。一方、輝度の分散が小されば選択領域は冗長な画像である可能性が高いといえる。従って、上記のように分散がしきい値Ｔｈ３を超える場合には、日付表示の合成には不適切であるとして低い評価値を与え、逆にしきい値Ｔｈ３を超えない場合には、高い評価値を与える。
Ｓ９６１においては、コンピュータ１０は、全ての領域を対象として評価値を設定したか否か判断し、全領域についての処理が終了していない場合はＳ９５６以下の処理を繰り返す。一方、全領域についての処理が終了している場合は、画像評価処理を終了する。
【００９４】
コンピュータ１０は、上述した人物の有無に基づく評価と、ピントの合致度合いに基づく評価と、輝度差の大きさに基づく評価とのうち、いずれか一つの画像評価処理を実行するとしてもよいし、複数の処理を実行するとしてもよい。
このようにして各選択領域毎の評価値αを設定したら、Ｓ９７０において、コンピュータ１０は、各評価値αに基づいて日付表示を合成する領域を一つ選択する。具体的には、コンピュータ１０は、最も高い評価値αが設定されている領域を上記合成する領域として決定する。なお、複数の画像評価処理を実行した場合には、各画像評価処理の度に設定された評価値の総和を各選択領域毎に算出し、その総和が最も高い領域を上記合成する領域として決定すればよい。
【００９５】
Ｓ９８０においては、コンピュータ１０はＳ９７０において決定された領域に、日付表示データを合成する処理を行う。日付表示データは、上記ヘッダ領域から読み取った日付情報が示す日付を表示するための画像データであり、同日付情報に基づいて生成する。
日付表示データが合成された画像データ１４ａは、以降、色変換処理やＨ／Ｔ処理などの対象となる。その結果、プリンタ２０からは、対象画像上の領域であって、日付表示を合成するのに最も適した位置に日付表示が合成された画像が印刷される。
なお、日付表示データの色成分は、合成位置となる領域の色成分に応じて決定してもよい。つまり、印刷結果において表示された日付表示が背景の色に埋もれて見難くなることを防ぐため、Ｓ９７０において決定した領域の色成分（例えば、色相の平均値）を判定し、日付表示データの色成分を、この判定した色成分とは異なる色成分とする。その結果、日付表示が確実に視認できる状態にて表示された印刷結果を取得できる。
【００９６】
上記においては、全ての選択領域について画像評価を行うとともに、最も評価値αの高い領域に日付表示を合成するとしたが、必ずしも全ての選択領域について画像評価を行う必要はない。
つまり、コンピュータ１０は、日付表示の合成を許容できる評価値αのレベル（以下、基準評価値αｓ）を予め備えておき、かかる基準評価値αｓを上回る評価値が得られた時点で、残りの領域について画像評価をすることなく、当該上回る評価値を得た領域を日付表示を合成する領域として決定してもよい。
【００９７】
この場合、コンピュータ１０は、一つの選択領域についての評価値を設定する度に、その評価値を基準評価値αｓと比較する。また、複数の画像評価処理を実行する場合には、一つの選択領域について、複数の画像評価処理を実行してそれぞれ設定した各評価値の総和を算出する度に、その総和を所定の基準値（例えば、基準評価値αｓに実行する画像評価処理の数を乗算した値）と比較する。その結果、全ての選択領域を対象として画像評価を行う場合よりも、画像合成処理に要する時間と計算負担とを低減することができる。
このように、全ての領域については必ずしも画像評価を行わないという前提に立てば、画像評価の対象とする選択領域の選択順序も工夫すべきである。
【００９８】
つまり、図２５に示すように、対象画像の上下各辺に沿った端部領域における左右両端および略中央の計６箇所を選択領域としうる場合には、その中でも日付表示を合成する位置としてより好ましい順序（例えば、右下、左下、右上、左上、中央下、中央上の順）でて選択していく。
また、対象画像の上下各辺に沿った端部領域にて、一画素ずつ所定サイズの領域をずらしながら選択領域を把握して画像評価を行う場合には、図２６に示すように、下辺に沿った右端の領域からスタートして左下の領域まで移動し、その後、上辺に沿った右端の領域から左上の領域まで移動するという順序にて、選択領域を切り替えてもよい。さらには、図２７に示すように、下辺に沿った領域において、右端の領域をスタートにして、左右交互に一画素ずつ中央側に寄るように順次選択領域を切り替え、その後、上辺に沿った領域において、右端の領域をスタートにして、左右交互に一画素ずつ中央側に寄るように順次選択領域を切り替えるとしてもよい。
【００９９】
このように、本実施例によれば、対象画像に日付表示を合成する際に、各領域毎に画像評価を行い、その評価結果に基づいて日付表示を合成するために最もふさわしい領域を特定し、同特定した領域において日付表示データを合成する。その結果、対象画像上の人物が写っている箇所や、ピントの合っている箇所や、所定のオブジェクトが写っている箇所などの画像の重要部分を日付表示が覆ってしまうことを自動的に防ぐことができ、日付表示を行う場合でも画像の趣向を維持できる。
【０１００】
さらに、日付表示を合成する位置としてより好適な領域から優先的に画像評価を行い、日付表示を合成する領域としてある程度満足できるレベルの評価値が得られたら、その領域に日付表示データを合成することにより、短い時間と少ない計算負担にて、対象画像の重要部分に影響を与えない適切な位置に日付表示がなされた画像を取得することができる。
【０１０１】
（４）第三の実施例
上述した第一および第二の実施例を融合することも可能である。
つまり、対象画像と日付表示との天地方向を一致させる回転処理を実行した上で、日付表示を合成するために最適な領域を決定するとしてもよい。この場合、図２のＳ７００〜Ｓ７４０または、図３のＳ８００〜Ｓ８４０の処理を行った上で、図２４のＳ９４０〜Ｓ９８０の処理を行う。
【０１０２】
Ｓ７４０（Ｓ８４０）までの処理によって、対象画像および日付表示の天地方向が一致するように画像データ１４ａおよび日付表示データの配置方向が決定されるため、その後、対象画像に対する選択領域の角度を維持しながらその場所を順次切り換えて選択領域毎に画像評価を行い、それぞれの画像評価によって求めた評価値αに基づいて日付表示を合成するための一つの領域を決定する。
【０１０３】
本実施例によれば、対象画像と天地方向が一致した状態で、かつ対象画像の重要部分に影響を及ぼさない適切な箇所に日付表示が施される。すなわち、対象画像に対する位置および方向のいずれもが最適な状態となった日付表示を含む印刷画像を取得することができる。
【図面の簡単な説明】
【０１０４】
【図１】本発明にかかる画像処理装置の概略構成を示すブロック図。
【図２】第一の実施例にかかる画像合成処理の内容を示すフローチャート。
【図３】第一の実施例にかかる画像合成処理の他の内容を示すフローチャート。
【図４】横長に撮影された対象画像を示す図。
【図５】縦長に撮影された対象画像を示す図。
【図６】画像データを回転させる様子を示した説明図。
【図７】回転・合成後の画像を示した図。
【図８】日付表示データを回転させる様子を示した説明図。
【図９】回転・合成後の画像を示した図。
【図１０】天地方向判定処理の内容を示したフローチャート。
【図１１】人物領域に基づく天地判定手順を示すフローチャート。
【図１２】ステップＳ２０２の詳細手順を示すフローチャート。
【図１３】人物領域に基づく天地判定処理の内容を示す説明図。
【図１４】空・地上領域に基づく天地判定手順を示すフローチャート。
【図１５】昼の画像に関する空・地上領域に基づく天地判定処理の内容を示す説明図。
【図１６】夜の画像に関する空・地上領域に基づく天地判定処理の内容を示す説明図。
【図１７】直線に基づく天地判定手順を示すフローチャート。
【図１８】収束直線判定の手順を示すフローチャート。
【図１９】画像全体にわたる直線を含む画像の例を示す説明図。
【図２０】収束直線群を含む画像の例を示す説明図。
【図２１】棒状オブジェクトに基づく天地判定手順を示すフローチャート。
【図２２】棒状オブジェクトに基づく天地判定処理の内容を示す説明図。
【図２３】総合天地判定処理の手順を示すフローチャート。
【図２４】第二の実施例にかかる画像合成処理の内容を示すフローチャート。
【図２５】選択領域の選択順序の一例を示した図。
【図２６】選択領域の選択順序の一例を示した図。
【図２７】選択領域の選択順序の一例を示した図。
【図２８】人物の有無に基づく画像評価処理を示したフローチャート。
【図２９】ピントの合致度合いに基づく画像評価処理を示したフローチャート。
【図３０】輝度差の大きさに基づく画像評価処理を示したフローチャート。
【符号の説明】
【０１０５】
１０…コンピュータ、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ハードディスク（ＨＤ）、１４ａ…画像データ、２０…プリンタ、４０…デジタルカメラ
【図１】
2006285469.tif 000003
【図２】
2006285469.tif 000004
【図３】
2006285469.tif 000005
【図４】
2006285469.tif 000006
【図５】
2006285469.tif 000007
【図６】
2006285469.tif 000008
【図７】
2006285469.tif 000009
【図８】
2006285469.tif 000010
【図９】
2006285469.tif 000011
【図１０】
2006285469.tif 000012
【図１１】
2006285469.tif 000013
【図１２】
2006285469.tif 000014
【図１３】
2006285469.tif 000015
【図１４】
2006285469.tif 000016
【図１５】
2006285469.tif 000017
【図１７】
2006285469.tif 000018
【図１８】
2006285469.tif 000019
【図１９】
2006285469.tif 000020
【図２１】
2006285469.tif 000021
【図２３】
2006285469.tif 000022
【図２４】
2006285469.tif 000023
【図２５】
2006285469.tif 000024
【図２６】
2006285469.tif 000025
【図２７】
2006285469.tif 000026
【図２８】
2006285469.tif 000027
【図２９】
2006285469.tif 000028
【図３０】
2006285469.tif 000029
【図１６】
2006285469.tif 000030
【図２０】
2006285469.tif 000031
【図２２】
2006285469.tif 000032