以下、本発明の好ましい実施形態について図面を参照して説明する。まず、図1を用いて本実施形態に係る画像表示方法が実行される画像表示装置2の構成について説明する。なお、本実施形態においては、この画像表示装置2を、撮像部10を有する撮像装置であるデジタルカメラ1に適用した場合について説明する。図1に示すように、デジタルカメラ1は、撮像部10、メモリ11、画像処理部12、操作部13、表示部14、記憶部15、制御部16、イメージ生成部17、及び、外部装置出力部18を有して構成される。そして、これらの撮像部10、メモリ11、画像処理部12、操作部13、表示部14、記憶部15、イメージ生成部17、及び、外部装置出力部18は、制御部16に情報を伝達可能に接続されている。さらに、このデジタルカメラ1は、外部装置出力部18を介してこの外部装置出力部18に接続された外部モニタ100に、画像を表示可能に構成されている。そして、本実施形態の画像表示装置2は、上記デジタルカメラ1の構成部のうち、記憶部15、制御部16、及び、イメージ生成部17などから構成され、これらは、例えば、コンピュータで実行されるプログラムとして構成することができる。
撮像部10は、図示しない撮影レンズ、撮像素子、A/D変換部等を備えており、ユーザーによる操作部13からの指示に基づいて、制御部16が制御することにより、被写体像を撮像する。
メモリ11は、撮像部10により撮像された被写体像の画像データを記憶し、また、画像ユニットリストや各処理で算出された数値などを一時的に記憶する。メモリ11には、半導体メモリのうち、任意の不揮発性メモリを適宜選択して用いることができる。
画像処理部12は、撮像された画像データに対して、補間処理、輪郭強調処理またはホワイトバランス補正等の画像処理を行う。この画像処理部12は、更に、撮影モード、シャッター速度、絞り値やISO値等の撮影条件、および撮像日時等の撮像された画像に関する属性を示す情報を画像に付加して、Exif(Exchangeable image file format)形式等の画像のファイルを生成するデジタルフロントエンド処理部としての機能も有する。
操作部13は、ユーザーによる操作指示信号を制御部16に出力する。操作部13は、例えば、電源ボタン、撮影モード等のモード設定ボタン、レリーズボタン等の各種操作ボタンを備え、この操作部13の操作状態は、制御部16により検知される。本実施形態では、スライドショーを行うモードが、モード設定ボタンによって選択できるようになっている。
表示部14は、ライブビュー用のスルー画像、モード設定画面およびスライドショーにおける画像等を表示する。表示部14には、一般的な液晶モニタ等を適宜選択して用いることができる。また、この表示部14は、タッチパネル機能を有してもよく、上述の操作部13の操作ボタンを、タッチパネル上に画像として表示して各種操作を選択できるようにしても良い。このようなタッチパネルを有している場合の操作は、操作部13に含まれるものとする。
制御部16は、記憶部15に記憶されている制御プログラムを読み込み、操作部13を介してユーザーからの様々な指示を受け付け、それらに基づいてデジタルカメラ1の動作を制御する。例えば、制御部16は、撮像部10に被写体像の撮像指令を出したり、画像処理部12に撮像した画像データの画像処理をさせたり、処理された画像を記憶部15へ記録したり、表示部14へ表示したりする等の制御を行う。さらに、本実施形態では、制御部16は、後述するように、撮像した複数の画像をスライドショーとして表示部14や外部表示装置100へ表示するにあたり、ユーザーから操作部13を介して受け取る指示に基づいて、イメージ生成部17にスライドショーで表示するイメージを生成させる。なお、この制御部16には、一般的なコンピュータのCPUが使用される。
イメージ生成部17は、画像の輝度および色のコントラストを基に当該画像の注目領域を抽出する注目領域検出部19、この注目領域検出部19により検出された注目領域を基に、表示部14等にどのように画像を配置して表示するのかを決定する画像位置決定部20、及び、この画像位置決定部20により決定された位置に従って、画像を配置する画像配置実行部21を備えて構成される。
外部装置出力部18は、外部表示装置100である外部モニタと有線または無線で接続され、ユーザーによる操作部13の操作に応じて、デジタルカメラ1によって撮像された画像の信号を外部表示装置100へ出力する。外部装置出力部18には、HDMI(High-Definition Multimedia Interface)等のチップが搭載されたインターフェースを用いることができる。また、外部表示装置100には、一般的な高精細度テレビジョン放送受信可能なテレビを適宜選択して用いることもできる。
記憶部15は、制御部16がデジタルカメラ1を制御するための制御プログラムや撮像した画像データ(図2(b)参照)等が記憶される。記憶部15に記憶されるプログラムやデータは、制御部16から適宜参照することができる。記憶部15には、一般的なハードディスク装置、光磁気ディスク装置、半導体メモリである任意の不揮発性メモリ、または着脱可能なカードメモリ等を適宜選択して用いることができる。
また、本実施形態において、記憶部15には、デジタルカメラ1によるスライドショー再生を行うのに必要となる画像ユニットリスト50(図2(a)参照)が記憶されている。この画像ユニットリスト50には、表示部14や外部表示装置100に表示するスライドショーに含まれる画像データの格納先や画像の表示方向、注目領域検出部19で検出された注目領域を基に決定された画像の位置等が画像ユニット毎に記憶されている。この画像ユニットは、スライドショーにおける1スライドに相当し、1画像のユニットは、複数枚の画像データを含むことが可能である。なお、画像ユニットリスト50は、記憶部15に1つのみ設けてもよいし、使用するテンプレート毎に複数設けてもよい。
また、記憶部15には、画像ユニットリスト50を作成するにあたり、スライドショーで表示される各画像の配置位置等を決定するのに必要となるレイアウト用のテンプレート70(図6参照)も記憶されている。なお、図6に示すテンプレート70は5枚表示用であるが、それ以外にも、1枚表示用や2枚表示用のテンプレート等、表示枚数や表示デザイン毎に複数種類のテンプレートが用意されている。また、図6のテンプレート70は、5枚表示のレイアウトの一例を示したにすぎず、5枚の画像全てを異なるサイズに表示したり、全て正方形に表示してもよい。本実施形態では、このような表示のための複数種類のテンプレートが用意され、画像ユニット毎に記憶部15に記憶されている。
ここで、画像ユニットリスト50は、図2(a)に示すようなデータ構造を有しており、画像ユニットの管理番号が記憶されるユニット番号領域51、画像データの管理番号が記憶される画像番号領域52、画像データのファイル名が記憶される画像データファイル名領域53、画像の縦横方向が記憶される画像方向領域54、画像のオリジナルのサイズ(W×H)が画素数で記憶される元画像サイズ領域55、注目領域検出部19で検出された注目領域の位置(x座標及びy座標)が記憶される注目領域位置領域56、この注目領域の横と高さ(W×H)が画素数で記憶される注目領域サイズ領域57、スライドショー表示する一画面、すなわちテンプレート70上において画像をどの位置(x座標及びy座標)に配置するかが記憶される画像位置座標領域58、及び、配置する画像の幅と高さ(W×H)が画素数で記憶される画像配置サイズ領域59などから構成される。
なお、注目領域の位置座標は、ここでは元画像の左上隅を原点(0,0)とし、画像の幅方向をx軸、高さ方向をy軸とした際に、注目領域の左上隅の位置座標を、原点からの相対位置(画素)で表したものである。また、テンプレート70上での画像の位置座標は、このテンプレート70左上隅を原点(0,0)とした際に、当該画像の左上隅の座標を、原点からの相対的位置(画素)で表したものである。また、画像位置座標領域58及び画像配置サイズ領域59には、後述する画像位置決定部20により画像の配置位置が決定されたときにその値(画像の左上隅の座標)が設定されるが、初期値として、テンプレート70上の各画像を配置する画像枠(図6等の(1)〜(5))の左上隅の座標と、この画像枠のサイズが設定されている。なお、また、画像ユニットリスト50には、使用するテンプレート70の番号などを記憶する領域を画像ユニットリスト50に設け、記憶部15に記憶してもよい。
また、画像データ記憶領域60は、図2(b)に示すようなデータ構造を有しており、デジタル画像そのものが記憶される画像領域61と、ヘッダ領域、撮影日時情報、色情報、印象情報などの属性情報が記憶される属性情報領域62とを有して構成され、1つの画像データに対する情報が1レコードとして管理された、Exif形式のデータである。ここで、ユニットリスト50の各画像ユニットに属する画像データを取得する場合、画像ユニットリスト50の画像データファイル名領域53から画像データファイルのパスを取得し、このパスを基に読み出そうとする画像データを特定し、画像領域61及び属性情報領域62から、該当する画像データそのもの及びその属性情報を取得することができる。なお、この画像領域61と属性情報領域62とを一つのファイルとして構成するようにしてもよい。
このように記憶部15に記憶された画像データは、撮影日時情報、色情報、印象情報などの属性情報を基に複数の画像ユニットにグループ分けされ、この画像ユニットの情報が前述のように画像ユニットリスト50に記憶されている。このグループ分けの具体例を以下に説明する。例えば、撮影日時情報を用いる場合は、日付毎にグループ分けを行ったり、日付で分類後、1〜24時間(1時間刻み等)毎に画像のグループ分けを行う。また、色情報に関しては、赤、青、黄、緑等があり、まず画像を各色グループに分け、次に色毎で画像枚数の偏りを見てグループ分けを行う。例えば、画像枚数が多い色グループは一度に表示される枚数の多い画像ユニットを形成し、画像枚数が少ない色グループは一度に表示される枚数の少ない画像ユニットを形成し、画像ユニットの個数のバランスが色毎で取れるようにする。なお、印象情報に関しては、HOT/COOL/NATURAL等があり、まず、画像を印象グループに分け、次に印象毎で画像枚数の偏りを見てグループ分けを行う。例えば、画像枚数が多い印象グループは一度に表示される枚数の多い画像ユニットを形成し、画像枚数が少ない印象グループは一度に表示される枚数の少ない画像ユニットを形成し、画像ユニットの個数のバランスが印象毎で取れるようにする。このようにグループ分けされた画像ユニットに管理番号が付され、画像ユニット毎に、管理番号、並びに、所属する画像データについて、テンプレートへの表示順に、管理番号やファイル名、画像方向、及び、元画像サイズが、画像ユニットリスト50の各領域51〜55に設定され、記憶部15に記憶されている。
なお、画像ユニットリスト50を生成するモジュールの仕様によって、画像ユニットの管理番号が違っても(例えば、管理番号が1、2、及び、N)、各画像ユニットに含まれる画像が同じのものが幾つも存在する場合がある。また、各画像は、画像番号領域52の順番にテンプレート70上の画像枠(1)〜(5)に配置されるが、当該画像枠(1)〜(5)のどの位置にどのサイズで画像を表示するかは、イメージ生成部17の画像位置決定部20が各画像の注目領域の重なりなどを解析することによって決められる。
以上のような構成のデジタルカメラ1に対して、ユーザーが操作部13を介して撮影を指示すると、制御部16は撮像部10の作動を制御して被写体像を撮影して、画像を生成し、メモリ11に記録する。そして、制御部16は、画像処理部12を制御して、メモリ11に記録した画像を表示部14に表示するとともに、この画像及びその属性情報を対応付けて記憶部15に記憶する。
これらの画像データは、前述したように、ユーザーによる指示やデジタルカメラ1の機能により自動的に、人物、風景、色などの種別毎や撮影日時毎に応じて、例えば1〜N(N=1、2、3等の整数)個のグループ(以下、画像ユニットという)毎にグループ分けされて、そのグループ情報(画像ユニットリスト50)とともに記憶部15に記憶される。
次に、このような構成のデジタルカメラ1において、画像表示装置2が画像表示方法を用いて、撮像した画像をスライドショーで表示する際の画像表示処理について、図3〜図5のフローチャートを合わせて用いて説明する。この画像表示処理は、制御部16の制御により、図3に示すように、イメージ生成部17の注目領域検出部19、画像位置決定部20などによって行われるスライドショー生成処理(ステップS100)と、画像配置実行部21によって行われるスライドショー再生処理(ステップS200)とから構成される。以下、スライドショー生成処理(ステップS100)及びスライドショー再生処理(ステップS200)の各処理について、それぞれ図4及び図5のフローチャートを用いて説明する。
まず、図4のフローチャートを用いて、スライドショー生成処理(ステップS100)について説明する。この処理はユーザーがデジタルカメラ1の操作部13において、モード選択ボタンでスライドショーのモードを選択することによって実行される。この操作部13を介した指示を受け取った制御部16は、まず、記憶部15に記憶された画像ユニットリスト50を読み出し、メモリ11へ展開する(ステップS101)。この画像ユニットリスト50には、前述のように、所定のテンプレート70に対応して、画像ユニットを構成する画像の集合についての情報が記憶されている。テンプレート70は、例えば、画像表示枚数が5枚、4枚、6枚、2枚のように決まっており、画像ユニットリスト50の一つの画像ユニットには、このテンプレート70の表示枚数に対応した数の画像についての情報が、表示順(画像番号順、図2(a)では1→5の順)に記憶されている。次に、制御部16は、表示対象画像ユニット番号カウンタの初期化処理を行う(ステップS102)。また、制御部16は、当該表示対象の画像ユニットについて、画像データ毎に各処理を行うため、表示対象画像データ番号カウンタを初期化する(ステップS103)。
次に、制御部16からの指示により、注目領域検出部19は、表示対象の画像ユニットに所属する画像データの中から、表示対象画像データ番号カウンタに基づいて、画像ユニットリスト50の画像データファイル名領域53から画像データのパスを取得し、このパスを基に1件の表示対象画像データを記憶部15から読み出し、メモリ11へ展開する(ステップS104)。
次に、注目領域検出部19により、メモリ11に展開された表示対象画像データの画像に対して、画像の輝度及び色のコントラストを基に、注目領域の検出のための注目領域検出処理(ステップS105)が行われるが、その詳細については後述する。この注目領域検出処理では、例えば、図7に示す入力画像ImageAがあった場合、図7に示す実線で囲まれたa部分が注目領域として検出される。このように検出された注目領域aの左上隅の座標、及び、注目領域のサイズ(W×H)が、画像ユニットリスト50の注目領域座標領域56、及び、注目領域サイズ領域57に格納される。
上記のように1つの画像データについて注目領域検出処理が終わると、制御部16は、表示対象画像データ番号カウンタをインクリメントする(ステップS106)。次に、制御部16は、図2(a)に示す画像ユニットリスト50を参照して現在処理している画像ユニット内で、次の表示対象画像データがあるか否かを判定し(ステップS107)、次の表示対象画像データがある場合には、注目領域検出部19に指令を与え、当該表示対象画像データについてステップS104以降の処理を繰り返す。一方、次の表示対象画像データがない場合は、画像位置決定処理(ステップS108)へ進む。
次に、画像位置決定部20によって行われる画像位置決定処理(ステップS108)について説明する。ここでは、上記処理で検出された画像群の注目領域の情報及び図6に示すテンプレート70を基に、当該テンプレート70への画像の配置座標とサイズとが決定される。画像位置決定部20は、現在処理中の画像ユニットについて、テンプレート70上の所定位置に各画像を配置した際、図8に示す配置イメージのように、実線で囲った部分を注目領域とする場合に、当該注目領域が他の画像と重ならないように配置し、表示部14等にスライドショーとして表示するためのイメージを生成する。
以下画像位置決定処理(ステップS108)の一例について、図6及び図7を用いて説明する。この図6に示すテンプレート70において、各画像を配置する予め決められた画像の画像枠(1)〜(5)の中心座標を、図7に示すようにそれぞれ(x1,y1),(x2,y2),(x3,y3),(x4,y4)、及び、(x5,y5)とする。また、例えば、画像枠(1)に配置する画像ImageAの注目領域aの中心Pの座標を(x1′,y1′)とする。ここで、各画像枠(1)〜(5)のサイズと、各々に配置する画像のサイズ(元画像サイズ領域55より取得)とは、必ずしも同一とは限らず、画像が大きくて画像枠からはみ出したり、画像全体が画像枠よりも小さく表示される場合がある。同様に、画像枠のアスペクト比と画像のアスペクト比とが、必ずしも同一とは限らず、画像の縦横何れかが画像枠からはみ出したり、小さく表示される場合がある。このような場合は、各画像枠(1)〜(5)に各画像が最適なサイズで収まるよう、アスペクト比を維持しながら画像のリサイズ(拡大または縮小)を行っておく。
このような状態で、図7に示すように、画像ImageAの注目領域の中心Pと、テンプレート70の画像枠(1)の中心座標(x1,y1)とが合致するように画像枠(1)上での画像ImageAの位置を決定する。ここで、画像ImageAの中心と注目領域の中心Pとが必ずしも同一とは限らない。そのため、画像枠(1)の中心と注目領域の中心Pとが合致するように配置すると、画像ImageAが画像枠(1)からはみ出す場合がある。この場合には、(x1′,y1′)を中心に、画像枠(1)内に収まるように画像ImageAを、アスペクト比を維持しながらリサイズ(縮小)して配置する。このリサイズの際は、最もはみ出す部分の辺が画像枠(1)と合致するまで行う。この場合、残りの辺は必ずしも画像枠(1)と合致せず、画像ImageAの上下左右の何れかに余白を生じることがあるが、この余白部分を所定の色(例えば黒色)、模様、背景色等で塗潰し、レターボックスにしてもよい。また、このとき、注目領域aが他の画像枠(2)〜(5)の画像と重なる場合は、以下に詳述するように、注目領域aが他の画像枠(2)〜(5)の画像と重ならないように、画像ImageAの位置を移動したり、更にリサイズするなどの調整を行って画像ImageAの配置位置を決定する。
そして、上記と同様の手順で、テンプレート70上の他の画像枠(2)〜(5)へ画像の配置位置を決定する。なお、本実施形態ではテンプレート70上の画像枠(1)〜(5)に注目領域が重ならないようにリサイズしながら各画像を配置しているが、これに限定されることはなく、画像枠(1)〜(5)に全ての画像を配置して、注目領域が重なった画像のみ位置移動やリサイズを行ってもよい。
以下、注目領域が他の画像と重ならないように配置するための、画像の位置移動、リサイズなどの調整処理の一例について説明する。注目領域と他の画像が重なるパターンとして、図9に示すような8つのパターンが考えられる。この図9において、パターン1〜4は注目領域に他の画像の四隅の何れかが重なる場合を示し、パターン5〜8は注目領域に上下左右の何れかの辺が重なる場合を示す。このように画像が重なる場合には、画像の位置移動やリサイズを行うとともに注目領域がより大きい画像が上に重なるように配置する。また、重なった画像を移動させて位置を変更する際には、下になる画像を移動させる。
まず、パターン1〜4のように、上に配置する画像(注目領域のより大きい方の画像)の四隅の頂点の何れかが、下に配置する画像の注目領内に重なっている場合について説明する。例えば、パターン1の場合で、図10(a)に示すように、上に配置される画像Image1が、下の画像Image2の注目領域内に重なっている場合には、画像Image2を画像枠外に移動しない範囲でx方向(左または右方向)またはy方向(上または下方向)に移動させる。それぞれの移動方向は、画像Image1の4隅の頂点の何れの位置が画像Image2の注目領域に存在するかで決定される。各パターンにおける画像の重なり部位と、移動方向を以下の表1に示す。図10(a)のパターン1の場合は、画像Image2の注目領域に画像Image1の左上隅の頂点がかかっているため、この表1に示すように、画像Image2を左方向(x方向)または上方向(y方向)に移動する。
(表1)
パターン番号 (重なり部位) Image2の移動方向
パターン1 (Image1 左上) 左方向または上方向
パターン2 (Image1 左下) 左方向または下方向
パターン3 (Image1 右下) 右方向または下方向
パターン4 (Image1 右上) 右方向または上方向
パターン1の場合に画像Image2の移動方向を左方向、上方向の何れにするか決定する方法としては、図10(a)に示すように、画像Image2を左方向に移動した場合の、上に配置される画像の左上隅の垂直軸vに対する移動距離distXと、画像Image2を上方向に移動した場合の、上に配置される画像の左上隅の水平軸hに対する移動距離distYとを比較して、移動距離が短い方を選択する。図10(a)の場合、Y方向の移動距離distYのほうが短いとすると、画像Image2の移動方向を上方向に決定し、画像位置を移動する(図10(b))。
次に、リサイズが必要な場合について説明する。すなわち、上述のように画像(ここではImage2)の移動によっても、当該画像の注目領域が他の画像(ここではImage1)と重なる場合に、この注目領域が他の画像と重ならなくなるまで、当該画像データをリサイズする。図10(a)において、画像Image2の左上隅の座標を(X1,Y1)、右下隅の座標を(X2,Y2)とし、画像Image2を上方向に移動距離distYだけ移動させた場合に、当該画像Image2の左上隅のy座標(Y1)が画像枠(1)の領域からはみ出る場合(すなわち、Y1<distYの場合)には、画像左上のY1が、画像枠(1)の左隅のy座標と同等となるように画像をリサイズする。この場合、図10(b)に示すように移動後の画像Image2の左上隅の座標を(XX1,YY1)、右下の座標を(XX2,YY2)としたとき、YY1の値を以下に示す式(1)のように設定する。すなわち、画像Image2の左上隅を画像枠(1)の左隅と一致させる。なお、この場合、各座標XX1,YY1,XX2,YY2の値は、テンプレート70の左上隅、すなわち、当該画像枠(1)の左上隅を原点(0,0)としたときの、この原点からの相対的位置(画素)で表している。
YY1=Y1 (1)
次に、画像Image2の右下隅のy座標YY2を決定する。ここでは、画像Image2の左上隅のy座標YY1を上記式(1)で設定した値に固定した状態で、画像Image2の注目領域が画像Image1と重ならないように縮小率を求め、座標YY2の値を決定する。この決定方法としては、移動するべき残りの移動距離と、画像Image2に対する注目領域の割合とから、当該注目領域が画像Image1と重ならないような配置となるよう、座標YY2の値を算出する。その算出方法は、残り移動距離をdistY′とし、画像Image2に対する注目領域の割合をRatioYとし、注目領域の左上隅の座標を(x1,y1)とし、注目領域の右下隅の座標を(x2,y2)としたとき、画像Image2の移動後の右下隅のy座標YY2は、以下に示す式(2)〜(4)を用いて算出できる。なお、注目領域の座標(x1,y1)及び(x2,y2)は、画像ユニットリスト50の注目領域位置領域56及び注目領域サイズ領域57から取得した、注目領域の座標値及びサイズを基に、画像Image2における座標値を、画像枠(1)における座標値に換算したものである。
distY′=distY−Y1 (2)
RatioY =(y2−y1)/(Y2−Y1) (3)
YY2 =distY′/RatioY (4)
次に、移動後の画像Image2の左上隅及び右下隅のx座標XX1及びXX2を決定する。まず、画像Image2は上方向に移動させることから、左上隅のx座標は変更せず、移動後のx座標XX1は、以下に示す式(5)のように設定する。
XX1=X1 (5)
一方、画像Image2の右下隅のx座標XX2は、アスペクト比を保つために、元のx座標X2の値を、Y方向のリサイズの割合と同等の割合でリサイズすることで求める。具体的には、以下に示す式(6)を用いて算出する。
XX2=X2×(YY2−YY1)/(Y2−Y1) (6)
以上のようにして、パターン1の画像Image2について移動後の画像の左上隅及び右下隅の座標(XX1,YY1)、(XX2,YY2)を決定する。なお、上記では、画像Image2を上方向に移動し、かつリサイズが必要な場合を説明したが、左方向に移動し、かつリサイズが必要な場合は、前出の式(1)〜式(6)に代えて、以下に示す式(7)〜(12)を用いて移動後の左上隅及び右下隅の座標(XX1,YY1)、(XX2,YY2)の各値を算出する。なお、下記式(7)〜(12)中、distX′はX方向への残り移動距離を、RatioXは画像Image2に対する注目領域の割合を、(X1,Y1)と(X2,Y2)とは画像Image2の移動前の左上隅の座標と右下隅の座標とを、(x1,y1)と(x2,y2)とは注目領域の左上隅の座標と右下隅の座標とを示す。
XX1=X1 (7)
distX′=distX−X1 (8)
RatioX =(x2−x1)/(X2−X1) (9)
XX2 =distX′/RatioX (10)
YY1=Y1 (11)
YY2=Y2×(XX2−XX1)/(X2−X1) (12)
また、パターン2〜4の場合も、パターン1の場合と同様にして、各画像を移動させ、移動後の画像の左上隅及び右下隅の座標を求めることができる。なお、リサイズが必要な場合、パターン2では画像Image2の左下隅の座標を画像枠の左下隅または左端の座標に固定し、画像Image2の注目領域が画像Image1と重ならないように上記各式で示したような手順と同様にして縮小率を求め、画像Image2の右上隅の座標位置を決定する。同様に、パターン3では、画像の右下隅の位置を画像枠の右下隅または右端の座標に固定し、縮小率を求めた上で左上隅の座標を決定する。パターン4では、画像の右上隅の位置を画像枠の右上隅または右端の座標に固定し、縮小率を求めた上で左下隅の座標を決定する。
次に、図9に示すパターン5〜8のように、上に配置する画像の上下左右の辺の何れかが、下に配置する画像の注目領域内に重なっている場合の画像の移動方法及びリサイズ方法について説明する。この場合、上下左右の辺の何れが下に配置する画像と重なっているかによって、下に配置する画像の移動方向を決定する。そして、このパターン5〜8においても、上述したパターン1〜4の場合と同様の方法で、移動距離を算出して画像を移動し、移動によっても他の画像が注目領域に重なる場合は、移動方向に応じてリサイズ割合を算出し画像のリサイズを行う。各パターンにおける画像の重なり部位と、移動方向を以下の表2に示す。
(表2)
パターン番号 (重なり部位) Image2の移動方向
パターン5 (Image1 左辺) 左方向
パターン6 (Image1 下辺) 下方向
パターン7 (Image1 右辺) 右方向
パターン8 (Image1 上辺) 上方向
また、以上では、2枚の画像が重なる場合の移動方法及びリサイズ方法について説明したが、3枚以上の画像が重なる場合の移動方法及びリサイズ方法について、図11に示す9枚の画像を配置可能なテンプレート71の場合を例に以下に説明する。この図11のテンプレート71において、画像枠(6)の画像の注目領域内に、画像枠(1),(2)及び(3)の3枚の画像が重なるものとし、当該画像枠(6)の画像を移動する場合について、図12を用いて説明する。
この場合、画像枠(6)の画像(Image6)の注目領域の上に重なって配置される画像枠(1),(2)の画像(Image1,Image2)を基に、水平軸hを決定する。また、画像枠(1),(3)の画像(Image1,Image3)を基に、垂直軸vを決定する。何れの場合も、画像Image6の注目領域を、より狭めている画像(図12の例では、何れも画像Image1)の水平方向の辺または垂直方向の辺をそれぞれ水平軸h、垂直軸vとする。この水平軸h及び垂直軸vを基準として、上述した2枚の画像の重なりの場合の移動方法と同様の方法で、画像Image6のX方向及びY方向への移動量distX及びdistYを決定する。このように、画像Image6では、水平方向及び垂直方向の双方で他の画像と重なっているため、X方向及びY方向のどちらにも移動させる必要がある。また、リサイズが必要な場合も、上述の方法と同様の方法でリサイズするが、水平方向及び垂直方向のどちらの方向でも注目領域が他の画像と重ならないような割合で、画像Image6をリサイズする必要がある。
以上のように、1つの画像ユニットについて、全ての画像の配置位置が決定したら、この情報を画像ユニットリスト50の当該画像ユニット内における画像配置座標領域58及び画像配置サイズ領域59に設定する。この画像配置座標領域58には、上記で算出されたテンプレート70上での画像の左上隅の座標を設定する。画像配置サイズ領域59には、上記で算出された縮小率を基に、元画像サイズ領域55に設定されたサイズをリサイズした値、または、上記で算出された左上隅の座標及び右下隅の座標などを基に算出したサイズの値を設定する。なお、画像ユニットリスト50の内容は、後述のステップS111で全ての画像ユニットについての処理が終わった後で一括で記憶部15に書き込んでいるが、1つの画像ユニットについての処理が終わった時点で記憶部15に書き込んでもよい。
上記のように、1つの画像ユニットについての一連の処理が終わると、制御部16は、表示対象画像ユニット番号カウンタをインクリメントする(ステップS109)。そして、制御部16は、図2(a)に示す画像ユニットリスト50を参照して、次の表示対象画像ユニットがあるか否かを判定し(ステップS110)、次の表示対象画像ユニットがある場合はステップS103以降の処理を繰返す。一方、次の表示対象画像ユニットがない場合は、画像ユニット毎に各画像の画像配置座標領域58と画像配置サイズ領域59とが更新された画像ユニットリスト50の情報を書き込むことにより記憶部15を更新する(ステップS111)。以上により、スライドショー生成処理(ステップS100)が終了し、制御部16は、次のスライドショー再生処理(ステップS200)へ進むように各部を制御する。
次に、図5のフローチャートを用いて、画像配置実行部21によるスライドショー再生処理(ステップS200)について説明する。まず、制御部16の制御により、画像配置実行部21は、記憶部15に記憶された画像ユニットリスト50をメモリ11へ読み出す(ステップS201)。次に、表示部14等への表示対象の画像ユニットごとに処理を行うため、制御部16は、表示対象画像ユニット番号カウンタの初期化を行う(ステップS202)。
次に、制御部16は、メモリ11に読み出された画像ユニットリスト50を参照して、画像番号領域52に格納された画像番号順に、画像データファイル名領域53から画像データファイルのパスを取得し、取得した画像データファイルのパスを基に記憶部15に格納された画像データを順次読み出し、メモリ11へ展開する(ステップS203)。その後、制御部16は、表示対象画像データ番号カウンタの初期化を行う(ステップS204)。
次に、制御部16からの指示により、画像配置実行部21は、表示対象画像データ番号カウンタに対応する当該表示対象画像データについて、画像ユニットリスト50の画像方向領域54の情報を基に必要があれば画像の回転を行い、更に、画像配置サイズ領域59に設定されたサイズを基に画像のリサイズを行い、画像配置座標領域58に設定された座標を基に、テンプレート70上に画像を配置する(ステップS205)。また、この画像の配置位置及びリサイズ割合、並びに、注目領域座標領域56に設定された注目領域の座標及び注目領域サイズ領域57に設定された注目領域のサイズを基に、図8に示すように、注目領域を実線で囲い、当該注目領域が一目でわかるようにする。また、注目領域に他の画像が重なるために当該画像の位置移動やリサイズを行うことにより、画像の上下左右に余白ができた場合には、余白部分を所定の色(例えば黒色)、模様、背景色等で塗潰し、レターボックスにしてもよい。
以上のように1つの表示対象画像データの処理が完了すると、制御部16は、表示対象画像データ番号カウンタをインクリメントする(ステップS206)。そして、制御部16は、図2に示す画像ユニットリスト50を参照して現在処理している画像ユニット内に、次の表示対象の画像がデータあるか否かを判定し(ステップS207)、次の表示対象画像データがある場合には、画像配置実行部21へ、メモリ11に読み込まれた画像データから、表示対象画像データ番号カウンタに設定された画像番号に該当する表示対象画像データのリサイズ及びテンプレート70上への配置を行うように指示し、ステップS205以降の処理を繰り返す。一方、次の表示対象画像データがない場合は、表示対象画像ユニット内の表示画像群の表示処理(ステップS208)へ進む。
この表示対象画像ユニット内の表示画像群の表示処理(ステップS208)では、制御部16は、画像配置実行部21により生成された当該画像ユニットの全ての表示画像を表示部14や外部表示装置100へ表示する。図8に、1つの画像ユニットについて、テンプレート70上に5つの画像を配置して表示した例を示す。
上記のように1つの表示対象画像ユニット内の画像群が表示されると、制御部16は、所定の時間を空けた後(現在表示されている画像ユニットを、所定の時間表示させた後)、表示対象画像ユニット番号カウンタをインクリメントする(ステップS209)。そして、制御部16は、メモリ11に展開された画像ユニットリスト50を参照して、次の表示対象画像ユニットがあるか否かを判定し(ステップS210)、次の表示対象画像ユニットがある場合には、S203以降の処理を繰り返す。一方、次の表示対象画像ユニットがない場合は、スライドショー再生処理(ステップS200)を終了する。以上により、画像表示装置2による画像表示処理(ステップS100〜S200)が全て終了する。
なお、以上の説明では、スライドショーの生成を記憶部15に記憶された画像ユニットリスト50を更新して行った場合について説明したが、画像ユニットリスト50の内容を、メモリ11に一時的にコピーし、このメモリ11上に生成された画像ユニットリスト50を更新し、さらに、このメモリ11上の画像ユニットリスト50を用いてスライドショーを再生するように構成しても良い。この場合、上記処理は、スライドショーの表示の都度行われることになる。
また、上記では画像データが複数の画像ユニットにグループ分けされ、画像ユニットリスト50が既に生成されて記憶部15に記憶されている場合について記載しているが、画像表示処理にグループ分け処理を組み込んでもよい。この場合、スライドショーで表示したい画像の条件(例えば、撮影日時情報、色情報、印象情報等)をユーザが指定できるようにしてもよいし、自動で条件を決定してもよい。この条件を基に、記憶部15に記憶された画像データを複数の画像ユニットにグループ分けして、その情報を設定して画像ユニットリスト50を生成する。そして、この画像ユニットリスト50を用いて、上述の一連の画像表示処理(ステップS100〜S200)を行うよう構成してもよい。
(注目領域検出処理)
それでは、図15〜図17のフローチャートを用いて、注目領域検出部19で実行される注目領域検出処理(ステップS105)として、3種類の処理手順について以下に説明する。なお、以降においては、ステップS104で読み出された1つの表示対象画像データに対する注目領域の検出処理について説明する。また、画像データとして格納されているデジタル画像は、輝度(Y)及び2つの色度(Cb,Cr)で表現されたデジタル画像、すなわち、YCbCr表色系で表現されたデジタル画像であるとする。
(第1の注目領域検出処理)
図15に示すように、注目領域検出部19では、最初に、注目度マップ作成処理が行われる(ステップS1051)。この注目度マップ作成処理では、まず、メモリ11に読み出された画像のリサイズ(縮小)処理が行われる。すなわち、記憶部15から画像データがメモリ上11に読み出され、表示対象(処理対象)として指定された1つの被検出画像(以下、「入力画像img1」と呼ぶ)に対して、幅方向及び高さ方向にそれぞれ1/2及び1/4にリサイズした画像を生成する。以下、1/2にリサイズされた画像を「入力画像img2」と呼び、1/4にリサイズされた画像を「入力画像img3」と呼ぶ。
そして、入力画像img1〜img3のYCbCrの各プレーンに対して、ラプラシアン(Laplacian)処理が行われる。ここで、入力画像img1〜img3のYCbCrの各プレーンを、以下の式(a1)〜(a3)のように定義する。なお、(x,y)は画素の座標を示し、x軸、y軸の定義は上述した通りである。
次に、下記式(b1)〜(b9)を用いて、上記で定義した入力画像img1〜img3のYCbCr各プレーンに対して、図13(a)に示すような8近傍ラプラシアンフィルタΔ(x,y)を畳み込み演算することにより、ラプラシアン画像(ΔY1〜3,ΔCb1〜3,ΔCr1〜3)を求める。
上記式(b1)〜(b9)中、演算子「*」は畳み込み演算を意味する。なお、画像の上下端、左右端の画素に対してフィルタを演算する際には、上下端の行と列、または左右端の行と列とをコピーすることにより画像を拡張し、演算を実行するものとする。
そして、以上のようにして求めた各プレーンのラプラシアン画像に対して、以下に示す式(c1)〜(c3)を用いて、プレーンごとに、各プレーンのエッジ成分(隣接画素とのコントラスト)に、予め決められた係数を乗じた上で、3つのプレーンの対応する各画素の値を加算する。これにより、入力画像img1〜img3に応じたラプラシアン画像Δimg1、Δimg2、及び、Δimg3が求められる。
上記式(c1)〜(c3)中、演算子「×」は各画像の画素値に共通の係数(wY,wCb,wCr)を乗算することを意味する。なお、この係数(wY,wCb,wCr)は、それぞれΔY,ΔCb,ΔCr各々に対する重み付け係数(スカラ値)であり、Δimg1、Δimg2、及び、Δimg3の計算時においては、共通の値が用いられる。また、係数wMを乗じている3つの項目は、各プレーンの画素数から、各プレーンの平均値(mean(*)で表す)を減算した値の絶対値(abs(*)で表す)に、各々wM_Y等の係数を乗算し、さらに、その総和に係数wMを乗算しているが、これは次段の処理で得られる注目度マップ算出の際に、背景画像からの影響を除去する効果を期待して付け加えられている。
さらに、以下に示す式(d1)〜(d3)を用いて、上述の処理で求めたラプラシアン画像Δimg1〜Δimg3に対し、予め定義されてこの画像表示装置2に設定されている注目領域重み付けマップwMapを乗算することにより、ラプラシアン画像ごとの注目度マップSal1〜Sal3を求める。その後、以下に示す式(d4)を用いて、注目度マップSal1〜Sal3をwd1〜wd3で重み付けして、対応する画素毎に加算することにより、画素毎の注目度から構成される当該入力画像の注目度マップSalを得る。
なお、上記式(d1)〜(d3)中、resize(*,*)は、第1引数の行列(画素)を、第2引数の倍率により、リサイズ(元の画像サイズに復元)する関数を意味する。すなわち、式(d2),(d3)では、入力画像img1の次元に対して、それぞれ1/2及び1/4にリサイズされているため、これらのラプラシアン画像Δimg2,Δimg3を元の画像の次元にリサイズしている。また、wMapは注目領域重み付けマップであり、Δimg1と次元数を等しくした行列である。例えば、Δimg1の次元(すなわち、入力画像img1の次元)が80×120(画素)の場合には、wMapは同様に80×120(画素)の次元を有する。なお、wMapは以下に示す式(d5)及び(d6)により表される混合ガウス型のマップである。また、Sal1〜Sal3の定義式(d1)〜(d3)に現れる行列に対する演算子「×」は当該演算子の両側にある行列の各要素を各々乗算することを意味する。そのため、必然的に、2つの行列の次元は一致している必要がある。また、式(d4)中、wd1〜wd3はSal1〜Sal3に対する重み付け因子(スカラ値)である。
上記式(d5)及び(d6)中、μn及びgwnは、wMapを形成する各ガウシアン(nでインデクス付けしている)の平均ベクトル、及び、共分散行列Σの重み付け係数をそれぞれ示す。ここで、この注目領域重み付けマップwMapの例を図14に示す。この図14に示す注目領域重み付けマップwMapは、5つのガウシアン分布を組み合わせた場合を示している。なお、この注目領域重み付けマップwMapは、例えば、サンプル画像を収集して解析することにより生成される。
上述のようにして注目度マップが作成されると、次に、注目点(POI)抽出処理(ステップS1052)が行われる。具体的には、以下に示す式(e1)を用いて、作成された注目度マップから、所定の閾値th以上の注目度を持つ点(画素)を抽出し、それらを注目点(POI)として定義する。
注目点(POI)の抽出が完了すると、次に、注目領域(ROI)決定処理(ステップS1053)が行われる。まず、上記注目点(POI)抽出処理で求められたPOIを全て内包する領域、すなわち、画像中の全注目点(POI)を含む最小矩形領域の左上座標(left,top)及び右下座標(right,bottom)を求め、この領域を最終的な注目領域(ROI)とする。具体的には、以下の式(f1)〜(f5)で定義された手順を順次実行する。下記式中、x,yは、注目点のx座標、y座標を表し、添え字nは抽出された注目点のIDを表す。
上記式(f2)〜(f5)で求められた注目領域(ROI)の左上座標(left,top)の値が、画像ユニットリスト50の注目領域位置領域56に設定され、この左上座標と右下座標(right,bottom)を基に算出される注目領域のサイズの値が、注目領域サイズ領域57に設定され、記憶部15が更新される(ステップS1054)。
以上のように、一つの被検出画像をリサイズ(縮小)した2つのリサイズ画像を生成して次元の異なる3つの画像とし、それぞれの画像を構成する3つのプレーンに対してエッジ抽出処理をして重み付けをした上で合成し、また、次元の異なる3つの画像の各々に対して注目領域重み付けマップwMapで重み付けをして、さらにこれらの3つの画像を重み付けして合成して注目マップSalを生成することにより、注目領域の検出の精度を向上させることができる。
(第2の注目領域検出処理)
次に、第2の注目領域検出処理について説明する。この方法は、上述の第1の注目領域検出処理と同様の手順で注目領域を大まかに抽出し(以下、「ラフ抽出処理」と呼ぶ)、その後、抽出された注目領域を基に、再度注目領域の抽出処理を行って(以下「ファイン抽出」と呼ぶ)、注目領域の検出処理の高精度化を図っている。
この第2の注目領域検出処理の詳細を、図16のフローチャートを用いて説明する。この図16に示すように、まず、注目領域検出部19によって、ラフ抽出処理(ステップS1051′〜S1053′)が行われる。この処理では、最初に注目度マップ作成処理が行われる(ステップS1051′)。この処理の詳細は、第1の注目領域検出処理と同様であり、記憶部15からメモリ11上に画像データが読み出され、処理対象として指定された被検出画像(入力画像img1)に対して、幅方向及び高さ方向にそれぞれ1/2及び1/4にリサイズした入力画像img2及び入力画像img3が作成される。そして、これらの入力画像img1〜img3のYCbCrの各プレーンに対して、前出の式(a1)〜(a3)を用いて、ラプラシアン処理が行われる。
さらに、第1の注目領域検出処理と同様に、前出の式(b1)〜(b9)を用いて、上記で定義された入力画像img1〜img3のYCbCr各プレーンに対して、図13(a)に示すような8近傍ラプラシアンフィルタΔ(x,y)を畳み込み演算することにより、ラプラシアン画像(ΔY1〜3、ΔCb1〜3、ΔCr1〜3)が求められる。
そして、このようにして求めた各プレーンのラプラシアン画像に対して、前出の式(c1)〜(c3)を用いて、プレーンごとに、各画素に対して予め決められた係数を乗じた上で、各値を加算することにより、入力画像img1〜img3に応じたラプラシアン画像Δimg1、Δimg2、及び、Δimg3が求められる。その後、前出の式(d1)〜(d6)を用いて、入力画像の第1の注目度マップSalが求められる。
上述のようにして第1の注目度マップSalが作成されると、次に、注目点(POI)抽出処理(ステップS1052′)が行われる。この処理も、第1の注目領域検出処理と同様に、前出の式(e1)を用いて、閾値th以上の注目度を持つ点(画素)を抽出し、それらを第1の注目点(POI)と定義する。そして、次の注目領域(ROI)決定処理(ステップS1053′)では、この抽出された第1の注目点(POI)を基に、前出の式(f1)〜(f5)を用いて、第1の注目領域が求められる。なお、このラフ抽出処理にて求められた第1の注目領域を、以下、「ROIrough」と呼ぶ。
次に、ファイン抽出処理(ステップS1054′〜S1056′)について説明する。上記のラフ抽出処理で抽出された第1の注目領域ROIroughを基に、ファイン抽出処理が行われる。この処理では、まず、注目度マップの再生成処理が行われる(ステップS1054′)。この場合、入力画像img1から第1の注目領域ROIroughに対応する領域を切り出して、この領域をファイン抽出処理用の入力画像img1fineとする。この際、ROIroughで既定される領域の幅及び高さが4の倍数ではない場合は、下端行及び右端列をそれぞれコピーたしたものをimg1fineに付与することとする。なお、右下隅についてはコピー元の右下隅の情報を用いることができる。この入力画像img1fineを基に、ラフ抽出処理と同様に、幅方向及び高さ方向にそれぞれ1/2及び1/4にリサイズ(復元)した入力画像img2fine及び入力画像img3fineが生成される。これらを基に、前出の式(d1)〜(d4)を用いて、入力画像の第2の注目度マップSalが求められる。この一連の処理は、基本的にはラフ抽出処理と同様の処理となるが、各式中のパラメータはラフ抽出処理とは異なる値となる。また、前出の注目度マップSal1〜Sal3を求める式(d1)〜(d3)の注目領域重み付けマップwMap(x,y)は、x,yの値によらず全て1とする(すなわち、このファイン抽出処理では、注目領域重み付けマップwMapによる重み付けは行わない)。
第2の注目度マップの再生成が終了すると、次に、この第2の注目度マップの2値化処理が行われる(ステップS1055′)。すなわち、上記注目度マップの再生成処理を行った結果得られた第2の注目度マップSal(以下、「Salfine」と呼ぶ)に対して、所定の閾値thfineを基に、以下に示す式(g1)〜(g2)を用いて、2値化処理を行うことにより(注目度マップの各画素の値が、閾値thfine以上のときは「1」とし、それより小さいときは「0」とする)、2値化注目度マップ(以下、「Salbin」と呼ぶ)を生成する。
注目度マップの2値化処理では、次に、上記式(g1)又は(g2)で生成されたSalbinに対して、図13(b)に示すような4近傍ラプラシアンフィルタΔ(x,y)を畳み込み演算することにより、2値化注目度マップSalbinのエッジ成分(輪郭成分にほぼ等しい)の抽出が行われる。そして、この畳み込み演算の結果が0ではない優位な値を持つ画素に対して、以下に示す手順(1)〜(3)によりラベリング処理が行われる。
(1)ラベル値をλと定義し、このλ=0を初期値として、Salbin上の左上から順方向ラスタ走査を行う。
(2)走査の過程で、ラベル値が付与されておらず、画素値が0でない画素を発見した時、当該画素にラベル付けを行う。この際、既走査の8近傍画素に付与されているラベル値に応じて、以下の通り、付与するラベル値λを変化させる。
(i)既走査の8近傍画素の全ての画素値が0であった場合、ラベル値λを1カウントアップ(λ=λ+1)して、当該画素にラベル値λを付与する。
(ii)ラベル値が1種類の場合は、λの更新を行わず、当該画素にラベル値λを付与する。
(iii)ラベル値が2種類(λ,λ′,λ<λ′)の場合は、当該画素にラベル値λを付与し、さらに、既走査画素においてλ′のラベル値が付与されている画素を全てラベル値λに変更する。
(3)上記(2)の処理を、Salbin上の全ての画素に対して行う。
次に、注目度マップの2値化処理において、ラベリング結果の評価が行われる。まず、上記のようにSalbin上の0でない全画素を対象にラベリング処理を行った後、ラベル値ごとに、付与されている画素の個数nλをカウントする。このnλを所定の閾値thλにより評価し、nλがthλよりも大きいラベルを抽出する。その後、当該ラベルが付与されている画素(の集合)を、注目領域部分領域POIfineと定義する。
注目度マップの2値化処理が終了すると、次に、注目領域(ROI)の決定処理(ステップS1056′)が行われる。この処理では、上述の通り求めた注目領域部分領域POIfineを全て内包する最小矩形領域の左上座標(left,top)及び右下座標(right,bottom)が求められ、この領域が第2の注目領域検出処理における最終的な注目領域(ROI)となる。具体的には、前出の式(f1)〜(f5)で定義された手順が順次実行される。このようにして求められた左上座標(left,top)の値が、画像ユニットリスト50の注目領域位置領域56に設定され、この左上座標と右下座標(right,bottom)を基に算出される注目領域のサイズの値が、注目領域サイズ領域57に設定され、記憶部15が更新される(ステップS1057′)。このように、第2の注目領域検出処理によると、注目領域検出処理をラフ抽出処理とファイン抽出処理の2段階で行うことで、注目領域の検出をより高精度に行うことが可能となる。
(第3の注目領域検出処理)
次に、第3の注目領域検出処理について説明する。第1の注目領域検出処理では、注目度マップを作成する際に、YCbCrの3つのプレーン全てを評価していたが、第3の注目領域検出処理では、YCbCrの何れか1つのプレーンのみを処理対象として、注目度マップを作成した上で、注目領域の検出を行っている。これにより、第3の注目領域検出処理では、注目領域の検出処理の高速化を図っている。
以下、注目領域検出部19における第3の注目領域検出処理について、図17のフローチャートを用いて説明する。この図17に示すように、まず、注目領域検出部19によって、変動係数の計算及び処理対象プレーンの選択処理(ステップS1051″)が行われる。この処理では、まず、記憶部15からメモリ11上に読み出され、処理対象として指定された被検出画像(入力画像img1)に対して、各プレーンの変動係数が算出される。ここで、Yプレーンの変動係数をVY、Cbプレーンの変動係数をVCb、Crプレーンの変動係数をVCrと定義したとき、これらの変動係数は、以下に示す式(h1)〜(h3)を用いて求められる。
上記式(h1)〜(h3)中、sd(*)は当該プレーンにおける画素のエッジ成分の標準偏差を求める演算を意味し、mean(*)は当該プレーンにおける画素のエッジ成分の平均値を求める演算を意味する。
このように変動係数が求まったら、以下に示す式(i1)を用いて、処理対象プレーンSPの選択を行う。
上記式(i1)中、max(*)は引数で最大の要素を返す関数であり、argはmax(*)の返り値がVY,VCb,VCrいずれのプレーンであるかを判定する演算子である。すなわち、変動係数が最も大きなプレーンが処理対象プレーンとして選択される。例えば、VY,VCb,VCrのうち、Yプレーンの変動係数VYが最も大きな値であった場合、処理対象プレーンはYプレーンとなる。以下、この処理対象プレーンを、「SP」と呼ぶが、例えば、入力画像img1に対して選択された処理対象プレーンを、「SP1」と呼ぶ。
処理対象プレーンSPの選択が終了すると、次に、この処理対象プレーンSPに対して注目度マップ作成処理が行われる(ステップS1052″)。まず、入力画像のリサイズが行われるが、処理対象として指定された入力画像img1に対して、幅方向及び高さ方向にそれぞれ1/2及び1/4にリサイズした入力画像img2及び入力画像img3が生成される。なお、入力画像img2及び入力画像img3の処理対象プレーンは、それぞれ「SP2」、「SP3」と呼ぶ。
次に、以下に示す式(b1′)〜(b3′)を用いて、入力画像img1〜img3の処理対象プレーンSP1〜SP3に対して、図13(a)に示すような8近傍ラプラシアンフィルタΔ(x,y)を畳み込み演算することにより、ラプラシアン画像(ΔSP1〜ΔSP3)を求める。
上記式(b1′)〜(b3′)中、演算子「*」は畳み込み演算を意味する。なお、画像の上下端、左右端の画素に対してフィルタを演算する際には、上下端の行と列、または左右端の行と列とをコピーすることにより画像を拡張し、演算を実行するものとする。
そして、以下に示す式(d1′)〜(d3′)を用いて、上述のようにして求めたラプラシアン画像Δimg1〜Δimg3に対し、予め設定されている注目領域重み付けマップwMapを乗算することにより、ラプラシアン画像ごとの注目度マップSal1〜Sal3を求める。その後、以下に示す式(d4)を用いて、Sal1〜Sal3をwd1〜wd3で重み付けして画素毎に加算することにより、入力画像全体の注目度マップSalを得る。
上記式(d1′)〜(d3′)中、resize(*,*)は、第1引数の行列(画素)を、第2引数の倍率により、リサイズする関数を意味する。すなわち、第1の注目領域検出処理では、被検出画像である入力画像img1の次元にリサイズしていたが、この第3の注目領域検出処理では、次元の最も小さい入力画像img3を基準画像とし、残りの入力画像img1,img2をこの基準画像の次元にリサイズしている。そのため、注目領域重み付けマップwMapは、基準画像(Δimg3)と次元数を等しくした行列となる。例えば、Δimg3の次元(すなわち、入力画像img3の次元)が20×30(画素)の場合には、wMapは同様に20×30(画素)の次元を有する。各式の演算子の意味については、前出の式(d1)〜(d4)の説明で述べた通りである。なお、wMapは前出の式(d5)及び(d6)により表される混合ガウス型のマップである(図14参照)。
上述のようにして注目度マップが作成されると、次に、注目点(POI)抽出処理(ステップS1053″)が行われる。下記式(e1′)を用いて、生成した注目度マップSalから、予め決定しておいた閾値thSP以上の注目度を持つ点を抽出し、それらを注目点(POI)と定義する。
なお、閾値thSPは、選択された処理対象プレーンがY,Cb,Cr何れかによって、それぞれ異なる値が用いられる。この閾値thSPは、プレーンごとに予め決められた固定値であってもよいし、以下に示す式(j1)及び(j2)を用いて動的に求めてもよい。なお、上記式(j1)中、VSPはSに対応した変動係数であり、paramSPは以下の式(j2)で表され、SPに応じて固定値を持つ、予め決められたパラメータを意味する。
上記注目点(POI)の抽出処理が完了すると、次の注目領域(ROI)決定処理(ステップS1054″)では、この抽出された注目点(POI)を基に、前出の式(f1)〜(f5)を用いて、注目領域ROIの左上座標(left,top)及び右下座標(right,bottom)が求められる。なお、上述のように、基準画像(次元の最も小さい画像であって、上述の場合は入力画像img3)の次元にリサイズされているため、基準画像と被検出画像(入力画像img1)の次元が異なる場合には、注目領域ROIの座標を被検出画像の次元に変換する必要がある。
このようにして求められた左上座標(left,top)の値が、画像ユニットリスト50の注目領域位置領域56に設定され、この左上座標と右下座標(right,bottom)を基に算出される注目領域のサイズの値が、注目領域サイズ領域57に設定され、記憶部15が更新される(ステップS1055″)。この第3の注目領域検出処理によると、YCbCrの1つのプレーンのみを処理対象とすることで、注目領域の検出をより高速に行うことが可能となる。
なお、本実施形態では、1つの画像ユニットに複数枚の画像が含まれる例を示したが、本願はこれに限定されることはなく、1つの画像ユニットに1枚の画像のみが含まれる場合にも、本願を適用することができる。
なお、本実施形態の画像表示装置2は、中央演算装置(CPU)やメモリ等を有し、上述の画像表示処理及びこの画像表示処理で実行される画像表示方法は、このCPUで実行されるプログラムとして実装することができる。ここで、このプログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体または記憶装置に格納される。また、ネットワークなどを介してディジタル信号として配信される場合もある。このとき、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。あるいは、特別のCPUやメモリ等を設けずに、以上の処理をASICやDSP等に論理回路として構成することも可能である。また、上述の画像表示処理及びこの画像表示処理で実行される画像表示方法はスライドショーにおける自動ズームセンターを決定する場合や画像編集ソフトで自動トリミングをする場合、カメラのオートフォーカス(AF)領域や自動露光(AE)決定領域を決定する場合に適用することができるが、これに限定されることはない。
また、本願は、その精神またはその主要な特徴から逸脱することなく他の様々な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、これに限定されることはない。