画像表示装置、画像表示方法及びコンピュータプログラム
【課題】一度に多くの画像を同時に眺めることができる新しい画像群の表示技術であって、各画像の配置を固定することなく自律的に移動しながら表示する技術を提供する。
【解決手段】複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置であって、 前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する処理手段と、前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御手段とを備え、前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、前記処理手段は、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定する。
【解決手段】複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置であって、 前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する処理手段と、前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御手段とを備え、前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、前記処理手段は、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像表示装置、画像表示方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、デジタルカメラの普及に伴い、簡単にデジタル写真を撮影することが可能となり、ユーザが画像を撮影する機会は確実に増えてきている。撮影された画像データは通常、パーソナルコンピュータ(PC)のハードディスク等に蓄積されることが多い。その量は年々増えてしまうため、さまざまなタグ情報等を活用してこれらを整理しようとする試みも有効である。
【0003】
特許文献1は、コンピュータの表示装置の画面上であたかもプリントアウトされた写真を机の上に広げて仕分け作業を行っているのと同じ感覚で、画像の整理を行わせる技術を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−276163号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、複雑なメタデータを用意してもユーザはあまり利用せず、多くの場合、撮影日時など単純なタグ情報だけで十分といえる。また、撮りためた画像の中から特定の写真を探し出して利用するという機会は、実はそれほど多くはない。日常生活の中では、むしろスライドショーやデジタルフォトフレーム等を使って、なんとなく無意識に(アンビエントに)画像を眺めていることの方が多い。
【0006】
このように明確な意図があるわけではないが撮った画像をなんとなく見たい、あまり明確に意識しなくても画像を楽しみたい、さりげなく人にも見せたい、といった要望に適格に応えることのできる画像群の表示方法はこれまで提案されていなかった。
【0007】
そこで、本発明は一度に多くの画像を同時に眺めることができる新しい画像群の表示技術であって、各画像の配置を固定することなく自律的に移動しながら表示する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明は、複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置であって、
前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する処理手段と、
前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御手段と
を備え、
前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、
前記処理手段は、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定することを特徴とする。
【発明の効果】
【0009】
以上の本発明によれば、一度に多くの画像を同時に眺めることができる新しい画像群の表示技術であって、各画像の配置を固定することなく自律的に移動しながら表示する技術を提供することができる。
【図面の簡単な説明】
【0010】
【図1A】発明の実施形態に対応する画像表示装置のハードウェア構成の一例を示すブロック図。
【図1B】発明の実施形態に対応する画像表示の基本概念を説明するための図。
【図2】発明の実施形態に対応する処理のフローチャート。
【図3】発明の実施形態に対応する表示画面における画像表示の一例を示す図。
【図4】発明の実施形態に対応する、速度ベクトルの方向及び画像の回転方向の設定方法を説明するための図。
【図5A】発明の実施形態に対応する、回転を考慮しない場合の画像の遷移状態を示す図。
【図5B】発明の実施形態に対応する、回転を考慮した場合の画像の遷移状態を示す図。
【図5C】発明の実施形態に対応する、表示領域が拡大された場合の画像の遷移状態を示す図。
【図5D】発明の実施形態に対応する、注目画像の拡大表示の一例を示す図。
【図6】発明の実施形態に対応する画像のデータ構造の一例を示す図。
【図7】発明の実施形態に対応する類似の属性を持つ画像が集まった表示画面の一例を示す図。
【図8】発明の実施形態に対応する、地図上に画像を重畳表示した表示形態の一例を示す図。
【発明を実施するための形態】
【0011】
以下、添付する図面を参照して、発明の実施形態を説明する。図1Aは、発明の実施形態に対応する画像表示装置100のハードウェア構成の一例を示す図である。当該画像表示装置100は、例えば、パーソナルコンピュータとして実現が可能である。しかしながら、画像表示装置100の実施形態はパーソナルコンピュータに限定されるものではなく、ディスプレイを有し複数枚の画像を表示可能な装置であれば、どのようなものであってもよい。例えば、デジタルカメラ、携帯電話、スマートフォン、PDA、ノートパソコン、カーナビ装置などが含まれる。
【0012】
図1Aにおいて、CPU101は、ハードディスク等の内部記憶装置110に格納されているプログラム(OS、アプリケーションプログラム等)を、RAM102を利用して実行することで画像表示装置100の全体制御を行う。また、CPU101は、画像表示用プログラム111を実行して、画像データ112を用いた本実施形態に対応する画像表示処理を行う。RAM102は、CPU101の主メモリ、ワークエリア等として機能する。操作部103は、ユーザからの操作指示を受け付けるためのユーザインタフェースであって、マウス、キーボードを含む。また、画像表示装置100がタッチパネルを有する場合には、当該タッチパネルも操作部103として機能する。また、ユーザの視線検出を行うためにヘッドマウントディスプレイ(HMD)を用いる場合、当該HMDを操作部103の一部とすることができる。
【0013】
通信インタフェース(I/F)104は、画像表示装置100が外部機器(デジタルカメラ、他のPC、プリンタ)と通信するためのインタフェースや、LANやインターネットに接続するためのネットワークインタフェースを含む。通信方式は、有線、無線の別を問わない。また、Bluetooth(登録商標)や赤外線通信等の近距離無線通信方式に対応することも可能である。ROM105は、CPU101で実行される処理プログラムの一部、例えば基本I/Oプログラム等のプログラムを記憶する。
【0014】
表示制御部106は、画像やその他の情報を表示するためのディスプレイ107と接続され、ディスプレイ107に表示用の情報を出力する。ディスプレイ107は液晶パネル、有機ELパネルなどで構成される。表示制御部106とディスプレイ107とは、画像表示装置100に一体化されていてもよいし、外付けでケーブルなどにより接続されてもよい。ディスプレイ107の解像度やサイズは特に限定しないが、解像度やサイズに応じて実施形態に対応する画像表示処理における設定値が変更されてもよい。また、上述のようにディスプレイ107をタッチパネルとして構成して、操作部103を兼ねてもよい。サウンド処理部108は、内部記憶装置110が記憶するプログラム113に含まれるサウンドデータからBGMや効果音を生成し、スピーカ109に生成したBGMや効果音などを出力する。
【0015】
内部記憶装置110は、例えばハードディスクやフラッシュメモリなど、書込と読出とが可能な記憶装置により構成されており、発明の実施形態に対応する画像表示用プログラム111、表示対象の画像データ112を記憶する。画像データ112は、通信インタフェース104を介してネットワークや外部装置から提供されてもよいし、メモリカード114から提供されてもよい。内部記憶装置110は更に、画像表示装置100の動作に必要なプログラム113を記憶する。プログラム113には、OSプログラム、アプリケーションプログラム、当該アプリケーションで使用されるデータ等が含まれる。
【0016】
メモリカードインタフェース(I/F)113は、SDカードやフラッシュメモリなどのメモリカードに記録された情報を読み取るためのメモリカード用インタフェースである。画像データ112は、当該カードを介して提供されてもよい。メモリカード114は、画像データや文書データなどの情報が記録された記憶媒体である。115は上述の各部を繋ぐバスであり、装置内のデータの流れを司る。
【0017】
以下では、上述の構成を備える本実施形態における画像表示装置100において実行される処理について説明する。まず、発明の基本的な技術的思想について概説する。
【0018】
できるだけ多くの写真を単一のディスプレイを使って、ユーザが飽きることなく何となく無意識に(アンビエントに)眺めることを可能にする方法として、本実施形態では複数の画像の配置を固定することなくある程度自動的に動かしながら表示することを考える。
【0019】
複数画像を配置して表示する手法として「フォトコラージュ」と呼ばれるものがある。このフォトコラージュは、画像を無造作に貼り合わせることで一枚絵の形として構成することが可能であって、複数画像を一度に見ることができるので効果的である。しかしながら、限られたスペース内に収容するための幾何学的な処理と、写真の色や意味に立ち入った処理が必要になる。これを自動または半自動的に作成する研究例として、Andreas Girgensohn and Patrick Chiu: Stained glass photo collages, In Proc. of ACM Symposium on User Interface Software and Technology, pp. 13-14, 2004.や、Heung-Yeung Shum: Picture Collage, In Proc. of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 347-354, 2006.などがある。画像を配置するレイアウトを決めるために、フォトコラージュの良さを評価するエネルギー関数を定義して、これを最小化するという組み合わせ最適化問題を解くアプローチをとる場合が多いが、一般に、計算時間がかかる。そのため、リアルタイムにレイアウトが変わりゆく様子が表示されることはなく、最終的に決定されたレイアウトに基づく画像表示がなされるだけである。また、最終的なレイアウトは固定的なものであって、そこからまた別のレイアウトに徐々に遷移していくこともない。
【0020】
これに対して本願では、複数の画像の配置を固定することなくある程度自動的に動かしながら表示する。そのため、画像の配置などに関する制約条件は常に変化すると考え、全体としての解を逐次評価して大局的な最適解を求めることはしない。そのかわり、個々の画像がそれぞれ局所的により良い状態に向かおうとすることによって、全体もより良い方向に向かうであろうという個別分散の考え方に基づき、その結果としての画像群の時々刻々の動きを画面表示する。この手法によれば、画像を閲覧しているユーザからの明確な指示がなくても一度に多くの写真を同時に表示することができると同時に、ユーザの指示に対して柔軟に反応してレイアウトを変更することができる。また、本手法は、スクリーンセーバーやデジタルフォトフレームのように画像を1枚ずつ順に表示するのではなく、多数の画像を同時に、かつ、表示位置や大きさを動的に変化させて表示することにより、画像群の新しい表示方法を提供するものである。
【0021】
次に、図1Bを参照して、本実施形態における画像表示の基本概念を説明する。図1Bにおいて、表示画面1000にはXY座標軸が設定され、表示画面上の任意の位置を座標(x、y)により特定することができる。また、表示画面内に表示される各画像は、基準サイズが割り当てられ、基準サイズに対する倍率に応じて表示サイズが決定される。例えば、倍率が「×1」であれば、基準サイズと同一サイズの画像が表示される。なお、表示画面1000上に表示する各画像は、原画像のサムネイル画像を用いることとして、予め基準サイズに対応する解像度に縮小すると共に基準サイズに合わせて縦横比を修正しておく。
【0022】
画像の表示位置は、例えば、基準サイズに対応するテンプレートの重心位置(対角線の交点位置)の座標と、基準方向に対する傾き(回転角度)に従って決定することができる。本実施形態では基準方向をX軸方向とする。仮に回転角度が0度の場合には、重心位置の座標が画像の表示位置の座標と一致するようにテンプレートが配置され、当該テンプレートの上にサムネイル画像が重畳表示される。また、回転角度が30度の場合には、表示位置の座標に配置されたテンプレートを30度回転させることにより、表示位置を決定することができる。この場合の回転方向は、反時計回りで0度から360度まで設定することができる。
【0023】
なお、以上の説明では、基本サイズのテンプレートを用いて表示を行う場合に特化して説明を行ったが、基本サイズのテンプレートを用いず、原画像の縦横比に基づくサムネイルを用いて表示を行ってもよい。その場合には、画像の位置は重心位置でなくてもよく、画像の頂点を利用してもよい。
【0024】
そして本実施形態では、画像群の表示状態を同時に制御するために、画像毎に以下の3つのパラメータを制御する。
・表示領域(ウィンドウ)内での表示座標
・表示サイズ(基準に対する倍率)
・ウインドウ面内での回転角度
【0025】
これら3つのパラメータを、隣接画像間の重なり合いの度合いなどに応じて時々刻々連続的に変化させることによって、画像群の全体としての動きを表現する。この方法によって、以下の効果が得られる。
【0026】
・ 従来の局所探索法と異なり、解の評価をしないで済むため、計算を高速化できる。
【0027】
・ 制御すべきパラメータの変化を単位時間あたりで捉えることができるので、画像の並べ方に関する要求事項や拘束条件等の変更を瞬時に反映させることができる。
【0028】
以下、本実施形態に対応する画像表示アルゴリズムをより具体的に説明する。次に示す式(1)は、発明の実施形態に対応する画像表示アルゴリズムの基本式である。
【0029】
式(1)は、最適化したいパラメータx の単位時間当たりの変化量dx/dt 、即ち画像の単位時間毎の画面内での画像の移動速度、倍率、回転角度を表す。右辺のは、画像の変化量を決定するためのパラメータの値に基づくベクトル関数である。このパラメータの値としては、例えば、注目画像とその隣接画像とのオーバーラップ量(重畳量)を用いることができる。ただし、パラメータの種類はオーバーラップ量に限定されるものではなく、より詳細な内容は後述する。また、ηは、ノイズ成分を表す。ノイズ成分の値は任意であって、単位時間毎にランダムに設定されてもよい。また、ユーザがリアルタイムで大きさを調節してもよい。また、必要がない場合には0としてもよい。また、方向成分が必要な場合(移動や回転の場合)には、ランダムに方向を選択して付加することができる。ノイズηは、式(1)において局所解に陥った状態から離脱するために用いられる。局所解に陥りやすい場合にはノイズη を大きくし、ランダム性を高めることにより、局所解から脱出させることができる。なお、ノイズ値は、変化量の種別に応じて、移動速度、倍率、回転角度のいずれかの値をとる。
【0030】
に発見的な手法を用いると、局所探索法とは異なり、解を評価しないで済むため計算を高速化できる。また、一般的な最適化手法との大きな違いとして、最適化の最中に時間が経過することを見越している点が挙げられる。パラメータの変化が単位時間あたりであるため、最適化の条件が変わってもそれを
の引数として与えるように設計しておくことにより瞬時に最適化に反映される。この式を式(2)に示す形でパラメータの種類に応じて複数組み合わせ、徐々に全体としての最適解へ以降するアプローチをとる。wiは重みを表わす。本実施形態では、このようなパラメータのことを以下では「要求項目」と呼ぶ。
【0031】
なお、このように複数の要求事項に基づいて最適化すると、最適化の基準が競合し局所解に陥ることが予想されるが、これをノイズ値によって脱出可能なことも、本手法の利点である。即ち、このノイズ値は、
の値が0となってしまう場合でも、画像に一定の変化量を与えるために設定されている。
【0032】
いま、P を一つの画像データ、I を適当な入出力装置の情報、
を全写真データ、各写真の位置をPosition(P)、表示サイズ(基準に対する倍率)をScale(P)、回転角度をRotation(P)とする。それぞれに対応する要求事項の数をn、 m、 l として、式(2)を式(3A)、(3B)、(3C)に変形して用いることとする。
【0033】
式(3A)から(3C)は一つの注目画像データPのパラメータを最適化する式を表したものであって、全画像についてこれらを計算する。なお、
はそれぞれ、各画像の位置、サイズ、回転角度の変化を表わす関数である。即ち、式(3A)によれば、画像の位置の変化率、即ち画像の単位時間あたりの移動速度及び移動方向を表す速度ベクトルを算出することができる。ここで求められた速度ベクトルに従って、該当する画像の表示画面上での表示位置が変化する。式(3B)によれば、画像の倍率を算出することができる。表示画面上に表示される各画像は、全画像に共通の基準サイズ(倍率:×1)が与えられており、表示画面上での表示サイズは、当該基準サイズに対する倍率によって決定される。また、式(3C)によれば、画像の単位時間あたりの回転角度及び回転方向を算出することができる。
【0034】
発明の実施形態では以上の3つの変化量に基づいて、表示領域内に表示されている複数画像の各画像の表示状態を制御する処理の具体例を図2のフローチャートを参照して説明する。図2に対応する処理は、画像表示用プログラム111をCPU101が実行することにより実現される。
【0035】
まず、S201では、式(3A)から(3C)までの各変化量を算出するための要求項目の内容を決定する。要求項目の詳細については後述するが、幾何学的項目と意味的項目との大きく2種類が含まれる。続くS202では、表示画面上に表示されている複数の画像のうち、変化量の算出対象となる画像を選択する。続くS203では、S201において設定された要求項目毎に、速度ベクトル、回転角度及び方向、倍率の各変化量を算出する。
【0036】
次にS204では、S203で算出した要求項目ごとの変化量を種別毎に合成して、合成速度ベクトル、合成回転角度・方向、合成倍率の各値を求める。続くS205では、S204で算出された合成結果の値に基づいて、表示画面上における選択画像の表示状態を直前の表示状態から変更する。例えば、算出された合成速度ベクトルに基づいて、選択画像の重心位置を速度ベクトルに基づく方向に単位時間あたりの速度に相当する距離だけ、直前の表示位置から移動させる。また、合成回転角度・方向については、算出された角度及び方向に基づいて選択画像の重心を基準に、直前の表示状態から回転させる。さらに、合成倍率については、算出された倍率に従って基準サイズから画像サイズを変更し、変更後のサイズに対応するサムネイル画像を表示する。
【0037】
なお、発明の実施形態では、これらの値を単位時間ごとに全画像について計算するが、計算負荷を削減するために一部の写真についての計算を省略してもよい。例えば、ユーザが表示領域の一部の画像を指定している場合、その画像を基準として一定距離に位置する画像や、指定画像と共通する属性を有する画像を対象として計算を行ってもよい。
【0038】
次に、発明の実施形態における要求項目を説明する。要求事項には、幾何学的項目と、意味的項目との2種類がある。まず幾何学的項目には、例えば以下のものが含まれる。
幾何学的項目1:他の画像と重ならないように並進移動する
幾何学的項目2:表示指定領域からはみ出さない
幾何学的項目3:他の画像と重ならないように小さくなる
幾何学的項目4:できるだけ大きくなる
幾何学的項目5:他の画像と重ならないように、または特定の目的のために回転する
【0039】
また、意味的項目には、例えば以下のものが含まれる。
意味的項目1:注目画像の拡大
意味的項目2:属性が類似する画像を引き寄せる
【0040】
本実施形態では、これらの要求項目毎に、画像の変化量を算出することとし、算出された変化量を合成することにより各画像の表示画面上での動きを制御する。例えば、幾何学的項目1及び2からそれぞれ速度ベクトルが得られれば、得られた2つの速度ベクトルを合成する。そして、得られた合成ベクトルを用いて対応する画像の表示位置を制御する。また、幾何学的項目3と幾何学的項目4とでそれぞれ倍率が得られた場合には、当該倍率を合成して対応する画像のその時点での表示倍率とすることができる。倍率の合成方法としては、例えば拡大を「正」、縮小を「負」として符号を与えて加算により計算してもよい。
【0041】
また、意味的項目が加味される場合、意味的項目1については、注目画像と指定された画像の倍率は一定の倍率(例えば、最大倍率)まで強制的に拡大される。その際、注目画像以外の画像には幾何学的項目に基づく変化量が算出されるので、拡大する注目画像と重複しないように並進移動や倍率の縮小が行われる。
【0042】
以下、各要件項目における変化量の算出方法の詳細を説明する。
【0043】
<幾何学的項目1について>
まず、幾何学的項目1の「他の画像と重ならないように並進移動する」を考える。ここでは、処理対象の画像の枚数をN として、注目画像が他の画像と重なっていれば逆方向に移動する機能として式(4)に基づき実装可能である。
【0044】
式(4)において、Avoid (P、 Pi) は画像P がPi と重なっていた場合にP が逃げる方向を示すベクトル関数である。Adjacency(P) は画像P と重なっている画像の集合である。即ち、Avoid (P、 Pi)からは、画像Pと画像Piとの重なり合いの度合い(重畳面積の大きさ)に応じた画像Pの変化量が、並進移動の速度ベクトルとして得られる。
【0045】
図3は、このような重畳を避ける方向に並進移動する画像の様子を一例として示す。図3は、表示画面1000上に複数の画像が表示されている様子を示す。このうちいくつかの画像は互いに重畳しているために、重畳を排除する方向に移動する。例えば、画像301、302、303の3枚の画像は、画像301と302、302と303が互いに重畳している。この重畳の有無は、例えば、画像を互いに向かい合う2つの頂点(x1、y1)、(x2、y2)で特定すると仮定した場合、当該頂点により特定される範囲x1≦x≦x2、y1≦y≦y1、或いは、矩形領域に他の画像のいずれかの頂点(x3、y3)が属するか否かにより判定することができる。
【0046】
また、Avoid (P,Pi)は、画像PとPiの重畳面積(So)に基づく所定の関数として表せるが、たとえば、速度の最大値をVmax、表示画像の面積をSiとした場合に、Vmax・(So/Si)として、重畳面積Soに比例させてもよい。その一方、重畳面積ではなく重畳領域の対角線の長さにより決定することもできる。重なり合いの度合いを算出する基準は、重畳領域の大きさに比例するパラメータであればこれらに限定されない。また、重畳面積とは無関係に固定の大きさを与えても良い。また、速度ベクトルの方向は、画像の重畳を避ける方向に設定される。当該方向の決定方法としては、図4(A)に示すように互いに重畳しあっている画像の重心を結んだ線分を延長し(一点鎖線401)、画像が互いに離れ合う方向(矢印402及び403)に設定することができる。また、画像が重なり合う領域の対角線の延長線上でもよい。
【0047】
図3の例では、画像301は右下に位置する画像302と重畳しあっているので、速度ベクトルの方向は画面左上に向くように与えられる。また、画像は必ずしも1枚の画像と重なり合っているとは限らず、画像302のように複数枚の画像と重なり合っていることも考えられる。その場合には、重なり合っている画像同士で速度ベクトルを算出し、算出されたベクトルを合成して当該画像の速度ベクトルとすることができる。図3では、合成前の速度ベクトルを点線で、合成後の速度ベクトルを実線で示している。
【0048】
<幾何学的項目2について>
次に幾何学的項目2の「表示指定領域からはみ出さない」について考える。この項目は、ウインドウなどの表示領域として指定されている領域から画像がはみ出していれば内側に留める機能として式(5)に基づき実装できる。L、 B、 R、T はそれぞれウインドウなど表示画面1000の左端、下端、右端、上端の座標を、L(P)、 B(P)、 R(P)、 T(P) はそれぞれ画像P の左端、下端、右端、上端の座標を表し、Al、 Ab、Ar、 At は係数を表す。なお、表示画面に対する座標系の設定は、図1Bに示したとおりである。式(5)では、表示画面1000からの画像Pのはみ出し量に係数を掛け合わせることで、4方向における画像の速度ベクトルを算出する。
【0049】
図3において、画像304は、表示画面1000からはみ出した画像の例を示している。この場合、画像は表示画面1000の上端の座標を超えて存在していることとなるので、下端に向かう速度ベクトルが設定される。速度ベクトルの大きさは、上記の画像間の重畳面積Soの場合と同様、はみ出している領域の面積の大きさに基づく関数として決定されてもよいし、それとは無関係に固定値としても良い。
【0050】
<幾何学的項目3について>
次に、幾何学的項目3の「他の画像と重ならないように小さくなる」について考える。この場合、画像を縮小することで重なりを回避する機能を式(6)に基づいて実装できる。ここで得られる値は、画像の表示倍率であり、対象画像の倍率を算出値に基づいて変更する。ただし二つの画像が重なっていた場合は、表示倍率が大きい方を縮小し、かつ、表示倍率が最小倍率よりも大きいことを前提とする。なお、Scale(P)は表示サイズ(基準に対する倍率)を表し、Aslは係数を表す。また、Scaleminは最小倍率を示し、一つの実施形態では「×1」として基準サイズよりも小さくしないように設定することもできる。その場合であっても、基準サイズを別途設定可能にすることもできる。式(6)では、画像Pの倍率と最小倍率との差分に係数を掛け合わせることで縮小後の画像の表示倍率を算出することができる。
【0051】
図3において、画像305は、画像306と重なり合っていたために倍率が縮小された画像である。実線で示す矩形領域は画像306と重なり合っているが、倍率が縮小されて点線で表す大きさまで縮小される。ここでは、画像306が画像305よりも倍率の小さい画像であるために、画像305の倍率が縮小されている。
【0052】
<幾何学的項目4について>
次に幾何学的項目4の「できるだけ大きくなる」について考える。この場合、画像Pが他の画像Piと重なっていない場合に拡大する機能として、式(7)に基づいて実装できる。ここで得られる値は、拡大後の画像の倍率であり、対象画像の倍率を算出値に基づいて変更する。式(7)では、最大倍率と現在の倍率との差分を新たな倍率としているが、差分に所定の係数を掛け合わせてもよい。また、それ以外にも例えば倍率を単位時間当たり「×0.5」ずつ増加させることができる。仮に基準サイズ「×1」から始まる場合、×1.5、×2、×2.5・・・のように増加する。倍率の増加単位は任意であり、0.5より大きくても小さくてもよい。あるいは、隣接画像との間隔に基づいて決定されてもよい。
【0053】
なお、Scale(P)は表示サイズ(基準に対する倍率)を表す。また、Scalemaxは最大倍率を示す。
【0054】
図3において、画像307は、いずれの画像とも重畳していたために倍率が拡大される画像である。実線で示す矩形領域は現在の画像307のサイズを示すが、倍率が拡大されて点線で表す大きさまで拡大される。なお、Scale(P)は表示サイズ(基準に対する倍率)を表す。また、Scalemaxは最大倍率を示す。
【0055】
<幾何学的項目5について>
次に幾何学的項目5の「他の画像と重ならないように回転する」について考える。ここでは、処理対象の画像の枚数をN として、注目画像が他の画像と重なっていれば重なりを排除する方向に回転する機能として式(8)に基づき実装可能である。式(8)において、Rotation (P,Pi) は画像P がPi と重なっていた場合にP が逃げる回転方向及び角度を示す。Adjacency(P) は画像P と重なっている画像の集合である。即ち、Rotation (P、 Pi)からは、画像Pと画像Piとの重なり合いの度合い(重畳面積の大きさ)に応じた画像Pの変化量が、所定方向の回転角度として得られる。
【0056】
例えば、図3において、画像308は、画像309と重なり合っているが、時計方向に角度θ1だけ回転することで重なり合わなくなる。即ち、上記式(8)に基づき時計方向に角度θ1が得られる。以下、この回転方向と角度の算出方法を説明する。
【0057】
まず、2つの画像の領域を確定し、一方の画像の4つの頂点が他方の画像の領域内に属するか否かを判定する。もし、いずれかの頂点が領域内に属すると判定された場合、どの頂点が領域内に属するかを判定する。例えば、図4(B)に示すように、画像の長辺が横向きになるように座標軸を考えた場合、第1象限に属する頂点:V1、第2象限に属する頂点:V2、第3象限に属する頂点V3、第4象限に属する頂点:V4とすることができる。この場合、V1、V3が他の画像の領域に属していた場合、回転方向を時計回り方向とし、V2、V4が他の領域に属していた場合、回転方向を反時計回り方向とする。そして、決定された回転方向に従い単位角度(例えば5度)ずつ回転させて、該当頂点が他の画像の領域内に属さなくなったか否かを判定する。もし、属さなくなった場合には、そのときの角度を回転角度とする。仮に、回転角度が90度となっても重なり合いが解消しない場合には、回転中心を変更する。これは、重複の度合いが大きい場合には、画像の重心を中心として回転しても重なり合いが解消しない場合があるためである。この場合、回転中心を画像の重心から画像の他の頂点に変更する。
【0058】
その他の幾何学的項目に関する機能も同様に実現できる。
【0059】
次に、図5A乃至図5Cを参照して、幾何学的項目に従って画像を表示した場合の、表示画面の遷移の様子を説明する。
【0060】
図5Aでは、幾何学的項目1乃至4のみ設定し、回転は考慮していない。よって、個々の画像は,表示領域として指定された領域からはみ出さない範囲でできるだけ大きくなろうとし,また平行移動や縮小により、他の画像との重なりを回避している。状態501は75枚の画像を読みこんだ直後の状態を示し、表示画面内でランダムな初期位置に各画像が表示されている。その後、状態502、503と時間が経過するに従い、個々の画像が大きくなろうとする力と重なりを回避しようとする力がバランスをとり、ある程度の時間が経つと(約5,6秒後)、状態504のように自然に隙間なく並ぶようになる。なお、状態504の表示状態であっても、ノイズ成分ηのために画像は静止せず、絶えず動いている。もし、ここでノイズ成分ηを大きくすれば、状態504の表示状態であってもいずれかの画像が移動を開始し、その移動に応じて他の画像も移動を開始して状態502や状態503に戻っていく。
【0061】
また、図5B は、図5Aの要求項目にさらに幾何学的項目5を加えて、回転を考慮した場合の表示例を示す。この場合、個々の画像は、表示領域として指定された領域からはみ出さない範囲でできるだけ大きくなろうとし、また回転、平行移動、縮小により他の画像との重なりを回避している。状態511は、初期状態を表し、状態512は一定時間経過後の画像が画面内に配列された状態を示している。図5Bのような表示形態は、テーブル型ディスプレイを囲む4 辺から人が見るような場合に有効である。
【0062】
図5Cは、画像の動きを制約する条件の1つである表示領域(ウインドウ)のサイズが変化した場合の表示画面1000の遷移を一例として示す。このときの要求項目は上記の幾何学的項目1乃至4である。状態521では、狭い領域に多くの画像が押し込められているので各画像は非常に小さく表示されている。次に、状態522ではウインドウが右方向に拡大されたことにより、画像が密集する領域の画面右側に空間ができる。この空間に隣接している画像は、表示画面1000の右側端による制約を受けなくなったために、幾何学的項目4に従い拡大を開始する。また、拡大することにより隣接する画像と重なり合うことになるので、幾何学的項目1に従い、並進移動を行う。これにより、画像が徐々に画面右側の空間に拡大しながら移動していくことになる。その様子を状態523及び524が示している。状態524では、右端の画像が表示画面の右側端に到達したのでこの時点で幾何学的項目2による制約が働くと共に、画面左側に位置する画像からの影響を受けて幾何学的項目3の制約により適切なサイズに縮小していくこととなる。その結果、状態525では、画面右端に位置している画像のサイズが、状態524と比べて小さくなっている。このようにして画像サイズ及び位置が調整され最終的に状態526のような状態になり、全画像のサイズがほぼ均一になる。
【0063】
<意味的項目1について>
次に、意味的項目について説明する。まず、意味的項目1の注目画像の拡大機能は、式(9)に基づいて実装できる。ここで「Attention」 は注目画像の集合であって、表示画面上でカーソルが画像に重畳された場合、或いは、ユーザの視線を検出可能な視線検出装置に基づいて、注目画像として特定されたものがそこに含まれる。注目画像は1枚に限定されず、複数枚であってもよい。また、Aalは、任意の係数である。即ち、式(9)では、注目画像の現在の倍率と最大倍率との差分に係数を掛け合わせて拡大後の倍率を計算している。従って、係数の大きさによって注目画像の拡大速度を調節することが可能である。
【0064】
ここで図5Dに、注目画像が拡大表示された表示状態の一例を示す。図5Dにおいて、枠に囲まれた画像531が拡大された画像である。当該画像531は、カーソル532が画像に重畳されたことに伴って拡大されたものである。
【0065】
なお、注目画像の特定は、操作部103のマウスやタッチパネルを介して行うことができる。また、操作部103としてヘッドマウントディスプレイ(HMD)を利用する場合に、HMDに搭載された視線検出機能を利用して、ユーザの視線方向を検出して注目画像を特定することもできる。また、複数の入力装置を介して複数人が同時に異なる画像を指定できるようにしてもよい。例えば、複数台の画像表示装置をLANで接続して操作情報を共有することで、共通の画面上で複数人がインタラクションすることができる。また、タッチパネルディスプレイのサイズを大型化したり、複数台のHMDを利用してもよい。また、操作部がマイクを備え、CPU101が音声認識処理を実行することで、ユーザから入力されたキーワードに従って画像の特徴量の指定を受けてもよい。例えば、「黄色」、「青」などの色に関するキーワードや、「花」、「人」、「橋」といった被写体に関するキーワードを受け付けてもよい。ディスプレイ107については、サイズ、解像度、台数、設置場所などが可変パラメータと考えられる。また、表示可能なディスプレイは1台に限定されるわけではなく、環境の中に複数台のディスプレイが存在する場合に、表示枚数や解像度などに従って最適なディスプレイを選択して画像群を表示してもよい。なお、これらの入出力装置に関する情報は、上述の式では全てIとして扱っている。
【0066】
<意味的項目2について>
次に、意味的項目2の注目画像と属性が類似する画像を引き寄せる機能について考える。この機能は式(10A)及び式(10B)に基づいて実装することができる。ここで、Similarity(P,Pi)は画像PとPiとの間の類似度を示し、Threshold は、閾値を表わす。また、Position()は画像の位置を示し、{Position(Pi)-Position(P)}で画像Pと画像Piとの間の距離を表す。類似度が閾値以上の場合、画像Pに与えられる速度ベクトルは、類似度が大きくなればなるほど大きくなり、また、画像PとPiとの距離が大きくなるほど大きくなる。即ち、画像Piと離れた位置にある類似度の高い画像Pは大きな速度ベクトルが与えられることになる。逆に、類似度が閾値未満の場合、画像に与えられる速度ベクトルは、類似度が小さくなればなるほど、また、画像PとPiとの距離が短いほど画像Piから離れる方向(逆方向)に大きくなる。
【0067】
なお、類似度の判定手法は、画像を画像解析して得られる特徴量(例えば、平均色、或いは、代表色(画像内で最も多くの画素を占める色)等)やタグの関連度などに基づいて行なうことができる。
【0068】
【0069】
次に画像の類似度を判定するための画像の属性情報について説明する。図6は、図1Aの画像データ112における画像のデータ構造の一例を示す図である。図6では、理解の簡単のためにテーブル構造を用いて説明する。図6のテーブル600においてID601は、画像を一意に識別するための識別子として付与される。当該IDは画像のテーブルへの登録順番を示す情報として付与されてもよい。ファイル名602は、画像に付与されたファイル名を示す。ファイル名は、撮影日時を示す値が与えられてもよい。撮影日603には、当該画像の撮影が行われた撮影日の情報が登録される。撮影時刻604には、当該画像の撮影が行われた時刻の情報が登録される。撮影日603と撮影時刻604とで、画像の撮影日時を特定することができる。撮影場所605は、撮影が行われた場所の緯度及び経度といった位置情報が登録される。画像の撮影を行ったデジタルカメラがGPS受信機を有する場合、撮影場所のGPS位置情報が画像の撮影時にタグ情報として画像に付与される。
【0070】
格納場所606は、各画像が画像表示装置100内で格納されている位置を示すパス情報である。図6では、image001.jpgからimage003.jpgまでがルートディレクトリの下のimage/pic/2011/0129というフォルダ内に格納されていることが示されている。特徴量607は、意味的項目により画像の振る舞いを制御する際に利用可能な、各画像の特徴量が登録されている。当該特徴量には、上記の平均色、代表色の情報の他、被写体に関する情報(被写体情報)が含まれる。平均色は、例えば画像の各画素値の色値の平均から得られる。代表色は、色値についてヒストグラムを作成するなどして、画像内で最も使用頻度の高い色値を特定することにより得られる。被写体情報は、被写体である人物の情報や建物の情報をユーザが個人的に入力してもよいし、緯度・経度情報に従って撮影場所に関する情報を登録してもよい。あるいは、撮影に関連するイベントの情報(例えば、運動会、遠足、入学式、卒業式等)をユーザからの入力に従って登録してもよい。なお、計算により求められる特徴量は予め計算せずに画像表示を行う際にリアルタイムに計算してもよいが、本願発明の本質的な技術的特徴ではないので特徴量を算出するタイミングは特に限定されない。
【0071】
このように画像に与えられた情報を利用することで、注目画像と類似する画像を決定することができる。類似度の計算は公知の技術を利用して行うことができるので、ここでは特に詳しく説明しないが、「類似」、「非類似」のいずれか一方に区別するだけではなく、類似の度合いを段階的に示す値を類似度として計算してもよい。例えば、「色」の類似度を判断する場合、代表色や平均色の色相に基づき注目画像と対象画像との距離を算出し、当該距離を類似度として利用してもよい。また、注目画像の撮影場所の情報を使用する場合、当該撮影場所からの距離を類似度として用いることができる。もちろん、単純に注目画像が撮影された緯度・経度と、同一の緯度・経度を有する画像、あるいは、差が所定範囲内の緯度・経度を有する画像を類似画像に決定してもよい。
【0072】
さらに、当該緯度・経度情報を利用すれば地図上に画像を重畳表示させることが可能となる。例えば、地図に含まれる各地点に位置情報として緯度・経度情報を与えておき、画像に与えられている撮影場所の緯度・経度の位置情報との対応関係に基づいて、撮影場所に該当する地図上の地点に対応画像を重畳表示する。その際、各画像が該当位置に表示されるまでの画像の表示状態を本発明の実施形態に従って制御することができる。例えば、画像が有する位置情報に対応する地図上の地点の表示画面における表示位置と、当該画像の表示位置との距離に基づいて、画像が目的の地点へ向かう際の速度ベクトルを算出することができる。当該速度ベクトルの算出は、例えば以下の式(11)に基づいて行うことができる。ここで、Position()は、表示画面内での位置を示し{Position(Gi)-Position(P)}で画像Pと地点Giとの間の距離を表す。Agは任意の係数である。
【0073】
図7は、類似の属性を持つ画像が集まった表示画面の一例を示す。表示画面1000において、画像701と画像702とがユーザから指定された注目画像であって、この2枚の注目画像は他の画像に比べて大きく表示されている。図7では、「代表色」に基づいて類似画像を注目画像の近傍に表示させた場合を示している。画像701は代表色として「青色」を有し、画像702は代表色として「黄色」を有している。よって、画像701の近傍の点線領域703には青色の画像が集まっており、画像702の近傍の点線領域704には黄色の画像が集まっている。また、領域703と704との間の点線領域705には、青と黄色の中間色である緑色を有する画像が集まっている。青色を有する画像は画像701との類似度が高いので画像701に向かう速度ベクトルが設定されて時間の経過に応じて画像701の周辺に集まり、また、黄色を有する画像も同様にして画像702の周辺に集まる。これに対し、緑色を有する画像は、青色や黄色を有する画像ほどには画像701や702との類似度が高くない。しかし、どちらの画像とも一定の類似度を有するため画像701と画像702との両方に向かう速度ベクトルが設定されることになる。これにより、画像701と画像702との間に移動して、図7のような表示状態が完成する。
【0074】
図8は、地図上に画像が重畳表示される過程を示す図である。図8(A)は、地図上に画像がランダムに配置された表示状態を示している。ここでは、各画像は、画像に与えられた位置情報とは無関係に地図上に表示されている。この表示状態を初期状態として、本実施形態に対応する画像表示処理を開始すると、各画像は、与えられた位置情報に対応する地図上の地点に向けて移動を開始する。このときの移動の態様は、上記の幾何学的項目と意味的項目との組み合わせにおいて決定される。即ち、各画像は、地図上の目的地に向かう速度ベクトルが設定される一方で、予め設定された幾何学的項目に従って速度ベクトル、倍率、回転角度等が設定される。これらを単位時間当たり、各画像について計算して、各画像の振る舞いが決定される。その結果として、各画像は、与えられた位置情報に対応する地図上の地点に徐々に移動していき、図8(B)のような表示状態に遷移する。各画像は、隣接する画像(地図上の同一地点あるいは近接地点に表示されるべき画像)の影響を受けない限りは地図上で所定サイズ(例えば、倍率×1の基準サイズ)で表示することができる。当該所定サイズは、地図の縮尺に応じて変更される。縮尺が小さければ表示範囲が広がるのでその分だけ表示の基準となる所定サイズは小さくなる。所定サイズの概念を設けるのは、画像が地図の縮尺と無関係に大きく表示されると、地理的位置に対応して表示する意味が無くなってしまうからである。
【0075】
もし、隣接する画像の影響を受ける場合には、当該画像との幾何学的項目に規定される要件を満たす範囲で画像の表示が行われる。例えば、同一地点に対応する位置情報が割り当てられた画像が複数あった場合、それぞれの画像は互いに重なり合わないようにしながら当該地点に向かって移動していく。移動の過程では、目的地との距離をできるだけ短くしつつ、重なり合わないようにするために画像は倍率が小さくなっていく。なお、目的地と画像との距離は、例えば、画像の重心位置の座標と、地図上の地点の座標とから算出が可能である。ここで画像の最小表示サイズを決めておけば、そのサイズに合致した場合にはそれ以上縮小せずに互いに重なり合わないようにしながら、最終的には目標地点の付近に表示されることとなる。そのような表示状態を図8(C)が示している。図8(C)では、地図上の任意の地点に集まっている画像は、ほぼ同等のサイズを有しながらも互いに重なり合わないように表示されている。このようにして、地図上に画像を重畳表示する場合にも、本願発明を適用することで、画像の表示状態が遷移していく様子を、単位時間ごとに確認することができる。 以上のように、本実施形態に対応する画像表示装置によれば、予め設定した要件項目に従い画像同士の重なりを回避して画像が表示される様子を画面上で提供することができる。その際、画像表示装置はユーザは画像の移動方向などに関する入力を必要とはしないが、ユーザから画像の指定を受け付ければ、指定された画像の拡大や当該画像に類似する画像を周辺に表示させることができる。
【0076】
また、各画像の表示状態を単位時間毎に決定していく際に、全体としての解を逐次評価して大局的な最適解を求めることはしないため計算負荷も低く、リアルタイム表示が可能である。
【0077】
本実施形態の表示方法では、多数の画像を同時に、かつ、表示位置や大きさを動的に変化させて表示するので、単なるサムネイルの一覧表示に比べて閲覧者のより高い関心を引きつることができる。
【技術分野】
【0001】
本発明は、画像表示装置、画像表示方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、デジタルカメラの普及に伴い、簡単にデジタル写真を撮影することが可能となり、ユーザが画像を撮影する機会は確実に増えてきている。撮影された画像データは通常、パーソナルコンピュータ(PC)のハードディスク等に蓄積されることが多い。その量は年々増えてしまうため、さまざまなタグ情報等を活用してこれらを整理しようとする試みも有効である。
【0003】
特許文献1は、コンピュータの表示装置の画面上であたかもプリントアウトされた写真を机の上に広げて仕分け作業を行っているのと同じ感覚で、画像の整理を行わせる技術を開示している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−276163号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、複雑なメタデータを用意してもユーザはあまり利用せず、多くの場合、撮影日時など単純なタグ情報だけで十分といえる。また、撮りためた画像の中から特定の写真を探し出して利用するという機会は、実はそれほど多くはない。日常生活の中では、むしろスライドショーやデジタルフォトフレーム等を使って、なんとなく無意識に(アンビエントに)画像を眺めていることの方が多い。
【0006】
このように明確な意図があるわけではないが撮った画像をなんとなく見たい、あまり明確に意識しなくても画像を楽しみたい、さりげなく人にも見せたい、といった要望に適格に応えることのできる画像群の表示方法はこれまで提案されていなかった。
【0007】
そこで、本発明は一度に多くの画像を同時に眺めることができる新しい画像群の表示技術であって、各画像の配置を固定することなく自律的に移動しながら表示する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明は、複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置であって、
前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する処理手段と、
前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御手段と
を備え、
前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、
前記処理手段は、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定することを特徴とする。
【発明の効果】
【0009】
以上の本発明によれば、一度に多くの画像を同時に眺めることができる新しい画像群の表示技術であって、各画像の配置を固定することなく自律的に移動しながら表示する技術を提供することができる。
【図面の簡単な説明】
【0010】
【図1A】発明の実施形態に対応する画像表示装置のハードウェア構成の一例を示すブロック図。
【図1B】発明の実施形態に対応する画像表示の基本概念を説明するための図。
【図2】発明の実施形態に対応する処理のフローチャート。
【図3】発明の実施形態に対応する表示画面における画像表示の一例を示す図。
【図4】発明の実施形態に対応する、速度ベクトルの方向及び画像の回転方向の設定方法を説明するための図。
【図5A】発明の実施形態に対応する、回転を考慮しない場合の画像の遷移状態を示す図。
【図5B】発明の実施形態に対応する、回転を考慮した場合の画像の遷移状態を示す図。
【図5C】発明の実施形態に対応する、表示領域が拡大された場合の画像の遷移状態を示す図。
【図5D】発明の実施形態に対応する、注目画像の拡大表示の一例を示す図。
【図6】発明の実施形態に対応する画像のデータ構造の一例を示す図。
【図7】発明の実施形態に対応する類似の属性を持つ画像が集まった表示画面の一例を示す図。
【図8】発明の実施形態に対応する、地図上に画像を重畳表示した表示形態の一例を示す図。
【発明を実施するための形態】
【0011】
以下、添付する図面を参照して、発明の実施形態を説明する。図1Aは、発明の実施形態に対応する画像表示装置100のハードウェア構成の一例を示す図である。当該画像表示装置100は、例えば、パーソナルコンピュータとして実現が可能である。しかしながら、画像表示装置100の実施形態はパーソナルコンピュータに限定されるものではなく、ディスプレイを有し複数枚の画像を表示可能な装置であれば、どのようなものであってもよい。例えば、デジタルカメラ、携帯電話、スマートフォン、PDA、ノートパソコン、カーナビ装置などが含まれる。
【0012】
図1Aにおいて、CPU101は、ハードディスク等の内部記憶装置110に格納されているプログラム(OS、アプリケーションプログラム等)を、RAM102を利用して実行することで画像表示装置100の全体制御を行う。また、CPU101は、画像表示用プログラム111を実行して、画像データ112を用いた本実施形態に対応する画像表示処理を行う。RAM102は、CPU101の主メモリ、ワークエリア等として機能する。操作部103は、ユーザからの操作指示を受け付けるためのユーザインタフェースであって、マウス、キーボードを含む。また、画像表示装置100がタッチパネルを有する場合には、当該タッチパネルも操作部103として機能する。また、ユーザの視線検出を行うためにヘッドマウントディスプレイ(HMD)を用いる場合、当該HMDを操作部103の一部とすることができる。
【0013】
通信インタフェース(I/F)104は、画像表示装置100が外部機器(デジタルカメラ、他のPC、プリンタ)と通信するためのインタフェースや、LANやインターネットに接続するためのネットワークインタフェースを含む。通信方式は、有線、無線の別を問わない。また、Bluetooth(登録商標)や赤外線通信等の近距離無線通信方式に対応することも可能である。ROM105は、CPU101で実行される処理プログラムの一部、例えば基本I/Oプログラム等のプログラムを記憶する。
【0014】
表示制御部106は、画像やその他の情報を表示するためのディスプレイ107と接続され、ディスプレイ107に表示用の情報を出力する。ディスプレイ107は液晶パネル、有機ELパネルなどで構成される。表示制御部106とディスプレイ107とは、画像表示装置100に一体化されていてもよいし、外付けでケーブルなどにより接続されてもよい。ディスプレイ107の解像度やサイズは特に限定しないが、解像度やサイズに応じて実施形態に対応する画像表示処理における設定値が変更されてもよい。また、上述のようにディスプレイ107をタッチパネルとして構成して、操作部103を兼ねてもよい。サウンド処理部108は、内部記憶装置110が記憶するプログラム113に含まれるサウンドデータからBGMや効果音を生成し、スピーカ109に生成したBGMや効果音などを出力する。
【0015】
内部記憶装置110は、例えばハードディスクやフラッシュメモリなど、書込と読出とが可能な記憶装置により構成されており、発明の実施形態に対応する画像表示用プログラム111、表示対象の画像データ112を記憶する。画像データ112は、通信インタフェース104を介してネットワークや外部装置から提供されてもよいし、メモリカード114から提供されてもよい。内部記憶装置110は更に、画像表示装置100の動作に必要なプログラム113を記憶する。プログラム113には、OSプログラム、アプリケーションプログラム、当該アプリケーションで使用されるデータ等が含まれる。
【0016】
メモリカードインタフェース(I/F)113は、SDカードやフラッシュメモリなどのメモリカードに記録された情報を読み取るためのメモリカード用インタフェースである。画像データ112は、当該カードを介して提供されてもよい。メモリカード114は、画像データや文書データなどの情報が記録された記憶媒体である。115は上述の各部を繋ぐバスであり、装置内のデータの流れを司る。
【0017】
以下では、上述の構成を備える本実施形態における画像表示装置100において実行される処理について説明する。まず、発明の基本的な技術的思想について概説する。
【0018】
できるだけ多くの写真を単一のディスプレイを使って、ユーザが飽きることなく何となく無意識に(アンビエントに)眺めることを可能にする方法として、本実施形態では複数の画像の配置を固定することなくある程度自動的に動かしながら表示することを考える。
【0019】
複数画像を配置して表示する手法として「フォトコラージュ」と呼ばれるものがある。このフォトコラージュは、画像を無造作に貼り合わせることで一枚絵の形として構成することが可能であって、複数画像を一度に見ることができるので効果的である。しかしながら、限られたスペース内に収容するための幾何学的な処理と、写真の色や意味に立ち入った処理が必要になる。これを自動または半自動的に作成する研究例として、Andreas Girgensohn and Patrick Chiu: Stained glass photo collages, In Proc. of ACM Symposium on User Interface Software and Technology, pp. 13-14, 2004.や、Heung-Yeung Shum: Picture Collage, In Proc. of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 347-354, 2006.などがある。画像を配置するレイアウトを決めるために、フォトコラージュの良さを評価するエネルギー関数を定義して、これを最小化するという組み合わせ最適化問題を解くアプローチをとる場合が多いが、一般に、計算時間がかかる。そのため、リアルタイムにレイアウトが変わりゆく様子が表示されることはなく、最終的に決定されたレイアウトに基づく画像表示がなされるだけである。また、最終的なレイアウトは固定的なものであって、そこからまた別のレイアウトに徐々に遷移していくこともない。
【0020】
これに対して本願では、複数の画像の配置を固定することなくある程度自動的に動かしながら表示する。そのため、画像の配置などに関する制約条件は常に変化すると考え、全体としての解を逐次評価して大局的な最適解を求めることはしない。そのかわり、個々の画像がそれぞれ局所的により良い状態に向かおうとすることによって、全体もより良い方向に向かうであろうという個別分散の考え方に基づき、その結果としての画像群の時々刻々の動きを画面表示する。この手法によれば、画像を閲覧しているユーザからの明確な指示がなくても一度に多くの写真を同時に表示することができると同時に、ユーザの指示に対して柔軟に反応してレイアウトを変更することができる。また、本手法は、スクリーンセーバーやデジタルフォトフレームのように画像を1枚ずつ順に表示するのではなく、多数の画像を同時に、かつ、表示位置や大きさを動的に変化させて表示することにより、画像群の新しい表示方法を提供するものである。
【0021】
次に、図1Bを参照して、本実施形態における画像表示の基本概念を説明する。図1Bにおいて、表示画面1000にはXY座標軸が設定され、表示画面上の任意の位置を座標(x、y)により特定することができる。また、表示画面内に表示される各画像は、基準サイズが割り当てられ、基準サイズに対する倍率に応じて表示サイズが決定される。例えば、倍率が「×1」であれば、基準サイズと同一サイズの画像が表示される。なお、表示画面1000上に表示する各画像は、原画像のサムネイル画像を用いることとして、予め基準サイズに対応する解像度に縮小すると共に基準サイズに合わせて縦横比を修正しておく。
【0022】
画像の表示位置は、例えば、基準サイズに対応するテンプレートの重心位置(対角線の交点位置)の座標と、基準方向に対する傾き(回転角度)に従って決定することができる。本実施形態では基準方向をX軸方向とする。仮に回転角度が0度の場合には、重心位置の座標が画像の表示位置の座標と一致するようにテンプレートが配置され、当該テンプレートの上にサムネイル画像が重畳表示される。また、回転角度が30度の場合には、表示位置の座標に配置されたテンプレートを30度回転させることにより、表示位置を決定することができる。この場合の回転方向は、反時計回りで0度から360度まで設定することができる。
【0023】
なお、以上の説明では、基本サイズのテンプレートを用いて表示を行う場合に特化して説明を行ったが、基本サイズのテンプレートを用いず、原画像の縦横比に基づくサムネイルを用いて表示を行ってもよい。その場合には、画像の位置は重心位置でなくてもよく、画像の頂点を利用してもよい。
【0024】
そして本実施形態では、画像群の表示状態を同時に制御するために、画像毎に以下の3つのパラメータを制御する。
・表示領域(ウィンドウ)内での表示座標
・表示サイズ(基準に対する倍率)
・ウインドウ面内での回転角度
【0025】
これら3つのパラメータを、隣接画像間の重なり合いの度合いなどに応じて時々刻々連続的に変化させることによって、画像群の全体としての動きを表現する。この方法によって、以下の効果が得られる。
【0026】
・ 従来の局所探索法と異なり、解の評価をしないで済むため、計算を高速化できる。
【0027】
・ 制御すべきパラメータの変化を単位時間あたりで捉えることができるので、画像の並べ方に関する要求事項や拘束条件等の変更を瞬時に反映させることができる。
【0028】
以下、本実施形態に対応する画像表示アルゴリズムをより具体的に説明する。次に示す式(1)は、発明の実施形態に対応する画像表示アルゴリズムの基本式である。
【0029】
式(1)は、最適化したいパラメータx の単位時間当たりの変化量dx/dt 、即ち画像の単位時間毎の画面内での画像の移動速度、倍率、回転角度を表す。右辺のは、画像の変化量を決定するためのパラメータの値に基づくベクトル関数である。このパラメータの値としては、例えば、注目画像とその隣接画像とのオーバーラップ量(重畳量)を用いることができる。ただし、パラメータの種類はオーバーラップ量に限定されるものではなく、より詳細な内容は後述する。また、ηは、ノイズ成分を表す。ノイズ成分の値は任意であって、単位時間毎にランダムに設定されてもよい。また、ユーザがリアルタイムで大きさを調節してもよい。また、必要がない場合には0としてもよい。また、方向成分が必要な場合(移動や回転の場合)には、ランダムに方向を選択して付加することができる。ノイズηは、式(1)において局所解に陥った状態から離脱するために用いられる。局所解に陥りやすい場合にはノイズη を大きくし、ランダム性を高めることにより、局所解から脱出させることができる。なお、ノイズ値は、変化量の種別に応じて、移動速度、倍率、回転角度のいずれかの値をとる。
【0030】
に発見的な手法を用いると、局所探索法とは異なり、解を評価しないで済むため計算を高速化できる。また、一般的な最適化手法との大きな違いとして、最適化の最中に時間が経過することを見越している点が挙げられる。パラメータの変化が単位時間あたりであるため、最適化の条件が変わってもそれを
の引数として与えるように設計しておくことにより瞬時に最適化に反映される。この式を式(2)に示す形でパラメータの種類に応じて複数組み合わせ、徐々に全体としての最適解へ以降するアプローチをとる。wiは重みを表わす。本実施形態では、このようなパラメータのことを以下では「要求項目」と呼ぶ。
【0031】
なお、このように複数の要求事項に基づいて最適化すると、最適化の基準が競合し局所解に陥ることが予想されるが、これをノイズ値によって脱出可能なことも、本手法の利点である。即ち、このノイズ値は、
の値が0となってしまう場合でも、画像に一定の変化量を与えるために設定されている。
【0032】
いま、P を一つの画像データ、I を適当な入出力装置の情報、
を全写真データ、各写真の位置をPosition(P)、表示サイズ(基準に対する倍率)をScale(P)、回転角度をRotation(P)とする。それぞれに対応する要求事項の数をn、 m、 l として、式(2)を式(3A)、(3B)、(3C)に変形して用いることとする。
【0033】
式(3A)から(3C)は一つの注目画像データPのパラメータを最適化する式を表したものであって、全画像についてこれらを計算する。なお、
はそれぞれ、各画像の位置、サイズ、回転角度の変化を表わす関数である。即ち、式(3A)によれば、画像の位置の変化率、即ち画像の単位時間あたりの移動速度及び移動方向を表す速度ベクトルを算出することができる。ここで求められた速度ベクトルに従って、該当する画像の表示画面上での表示位置が変化する。式(3B)によれば、画像の倍率を算出することができる。表示画面上に表示される各画像は、全画像に共通の基準サイズ(倍率:×1)が与えられており、表示画面上での表示サイズは、当該基準サイズに対する倍率によって決定される。また、式(3C)によれば、画像の単位時間あたりの回転角度及び回転方向を算出することができる。
【0034】
発明の実施形態では以上の3つの変化量に基づいて、表示領域内に表示されている複数画像の各画像の表示状態を制御する処理の具体例を図2のフローチャートを参照して説明する。図2に対応する処理は、画像表示用プログラム111をCPU101が実行することにより実現される。
【0035】
まず、S201では、式(3A)から(3C)までの各変化量を算出するための要求項目の内容を決定する。要求項目の詳細については後述するが、幾何学的項目と意味的項目との大きく2種類が含まれる。続くS202では、表示画面上に表示されている複数の画像のうち、変化量の算出対象となる画像を選択する。続くS203では、S201において設定された要求項目毎に、速度ベクトル、回転角度及び方向、倍率の各変化量を算出する。
【0036】
次にS204では、S203で算出した要求項目ごとの変化量を種別毎に合成して、合成速度ベクトル、合成回転角度・方向、合成倍率の各値を求める。続くS205では、S204で算出された合成結果の値に基づいて、表示画面上における選択画像の表示状態を直前の表示状態から変更する。例えば、算出された合成速度ベクトルに基づいて、選択画像の重心位置を速度ベクトルに基づく方向に単位時間あたりの速度に相当する距離だけ、直前の表示位置から移動させる。また、合成回転角度・方向については、算出された角度及び方向に基づいて選択画像の重心を基準に、直前の表示状態から回転させる。さらに、合成倍率については、算出された倍率に従って基準サイズから画像サイズを変更し、変更後のサイズに対応するサムネイル画像を表示する。
【0037】
なお、発明の実施形態では、これらの値を単位時間ごとに全画像について計算するが、計算負荷を削減するために一部の写真についての計算を省略してもよい。例えば、ユーザが表示領域の一部の画像を指定している場合、その画像を基準として一定距離に位置する画像や、指定画像と共通する属性を有する画像を対象として計算を行ってもよい。
【0038】
次に、発明の実施形態における要求項目を説明する。要求事項には、幾何学的項目と、意味的項目との2種類がある。まず幾何学的項目には、例えば以下のものが含まれる。
幾何学的項目1:他の画像と重ならないように並進移動する
幾何学的項目2:表示指定領域からはみ出さない
幾何学的項目3:他の画像と重ならないように小さくなる
幾何学的項目4:できるだけ大きくなる
幾何学的項目5:他の画像と重ならないように、または特定の目的のために回転する
【0039】
また、意味的項目には、例えば以下のものが含まれる。
意味的項目1:注目画像の拡大
意味的項目2:属性が類似する画像を引き寄せる
【0040】
本実施形態では、これらの要求項目毎に、画像の変化量を算出することとし、算出された変化量を合成することにより各画像の表示画面上での動きを制御する。例えば、幾何学的項目1及び2からそれぞれ速度ベクトルが得られれば、得られた2つの速度ベクトルを合成する。そして、得られた合成ベクトルを用いて対応する画像の表示位置を制御する。また、幾何学的項目3と幾何学的項目4とでそれぞれ倍率が得られた場合には、当該倍率を合成して対応する画像のその時点での表示倍率とすることができる。倍率の合成方法としては、例えば拡大を「正」、縮小を「負」として符号を与えて加算により計算してもよい。
【0041】
また、意味的項目が加味される場合、意味的項目1については、注目画像と指定された画像の倍率は一定の倍率(例えば、最大倍率)まで強制的に拡大される。その際、注目画像以外の画像には幾何学的項目に基づく変化量が算出されるので、拡大する注目画像と重複しないように並進移動や倍率の縮小が行われる。
【0042】
以下、各要件項目における変化量の算出方法の詳細を説明する。
【0043】
<幾何学的項目1について>
まず、幾何学的項目1の「他の画像と重ならないように並進移動する」を考える。ここでは、処理対象の画像の枚数をN として、注目画像が他の画像と重なっていれば逆方向に移動する機能として式(4)に基づき実装可能である。
【0044】
式(4)において、Avoid (P、 Pi) は画像P がPi と重なっていた場合にP が逃げる方向を示すベクトル関数である。Adjacency(P) は画像P と重なっている画像の集合である。即ち、Avoid (P、 Pi)からは、画像Pと画像Piとの重なり合いの度合い(重畳面積の大きさ)に応じた画像Pの変化量が、並進移動の速度ベクトルとして得られる。
【0045】
図3は、このような重畳を避ける方向に並進移動する画像の様子を一例として示す。図3は、表示画面1000上に複数の画像が表示されている様子を示す。このうちいくつかの画像は互いに重畳しているために、重畳を排除する方向に移動する。例えば、画像301、302、303の3枚の画像は、画像301と302、302と303が互いに重畳している。この重畳の有無は、例えば、画像を互いに向かい合う2つの頂点(x1、y1)、(x2、y2)で特定すると仮定した場合、当該頂点により特定される範囲x1≦x≦x2、y1≦y≦y1、或いは、矩形領域に他の画像のいずれかの頂点(x3、y3)が属するか否かにより判定することができる。
【0046】
また、Avoid (P,Pi)は、画像PとPiの重畳面積(So)に基づく所定の関数として表せるが、たとえば、速度の最大値をVmax、表示画像の面積をSiとした場合に、Vmax・(So/Si)として、重畳面積Soに比例させてもよい。その一方、重畳面積ではなく重畳領域の対角線の長さにより決定することもできる。重なり合いの度合いを算出する基準は、重畳領域の大きさに比例するパラメータであればこれらに限定されない。また、重畳面積とは無関係に固定の大きさを与えても良い。また、速度ベクトルの方向は、画像の重畳を避ける方向に設定される。当該方向の決定方法としては、図4(A)に示すように互いに重畳しあっている画像の重心を結んだ線分を延長し(一点鎖線401)、画像が互いに離れ合う方向(矢印402及び403)に設定することができる。また、画像が重なり合う領域の対角線の延長線上でもよい。
【0047】
図3の例では、画像301は右下に位置する画像302と重畳しあっているので、速度ベクトルの方向は画面左上に向くように与えられる。また、画像は必ずしも1枚の画像と重なり合っているとは限らず、画像302のように複数枚の画像と重なり合っていることも考えられる。その場合には、重なり合っている画像同士で速度ベクトルを算出し、算出されたベクトルを合成して当該画像の速度ベクトルとすることができる。図3では、合成前の速度ベクトルを点線で、合成後の速度ベクトルを実線で示している。
【0048】
<幾何学的項目2について>
次に幾何学的項目2の「表示指定領域からはみ出さない」について考える。この項目は、ウインドウなどの表示領域として指定されている領域から画像がはみ出していれば内側に留める機能として式(5)に基づき実装できる。L、 B、 R、T はそれぞれウインドウなど表示画面1000の左端、下端、右端、上端の座標を、L(P)、 B(P)、 R(P)、 T(P) はそれぞれ画像P の左端、下端、右端、上端の座標を表し、Al、 Ab、Ar、 At は係数を表す。なお、表示画面に対する座標系の設定は、図1Bに示したとおりである。式(5)では、表示画面1000からの画像Pのはみ出し量に係数を掛け合わせることで、4方向における画像の速度ベクトルを算出する。
【0049】
図3において、画像304は、表示画面1000からはみ出した画像の例を示している。この場合、画像は表示画面1000の上端の座標を超えて存在していることとなるので、下端に向かう速度ベクトルが設定される。速度ベクトルの大きさは、上記の画像間の重畳面積Soの場合と同様、はみ出している領域の面積の大きさに基づく関数として決定されてもよいし、それとは無関係に固定値としても良い。
【0050】
<幾何学的項目3について>
次に、幾何学的項目3の「他の画像と重ならないように小さくなる」について考える。この場合、画像を縮小することで重なりを回避する機能を式(6)に基づいて実装できる。ここで得られる値は、画像の表示倍率であり、対象画像の倍率を算出値に基づいて変更する。ただし二つの画像が重なっていた場合は、表示倍率が大きい方を縮小し、かつ、表示倍率が最小倍率よりも大きいことを前提とする。なお、Scale(P)は表示サイズ(基準に対する倍率)を表し、Aslは係数を表す。また、Scaleminは最小倍率を示し、一つの実施形態では「×1」として基準サイズよりも小さくしないように設定することもできる。その場合であっても、基準サイズを別途設定可能にすることもできる。式(6)では、画像Pの倍率と最小倍率との差分に係数を掛け合わせることで縮小後の画像の表示倍率を算出することができる。
【0051】
図3において、画像305は、画像306と重なり合っていたために倍率が縮小された画像である。実線で示す矩形領域は画像306と重なり合っているが、倍率が縮小されて点線で表す大きさまで縮小される。ここでは、画像306が画像305よりも倍率の小さい画像であるために、画像305の倍率が縮小されている。
【0052】
<幾何学的項目4について>
次に幾何学的項目4の「できるだけ大きくなる」について考える。この場合、画像Pが他の画像Piと重なっていない場合に拡大する機能として、式(7)に基づいて実装できる。ここで得られる値は、拡大後の画像の倍率であり、対象画像の倍率を算出値に基づいて変更する。式(7)では、最大倍率と現在の倍率との差分を新たな倍率としているが、差分に所定の係数を掛け合わせてもよい。また、それ以外にも例えば倍率を単位時間当たり「×0.5」ずつ増加させることができる。仮に基準サイズ「×1」から始まる場合、×1.5、×2、×2.5・・・のように増加する。倍率の増加単位は任意であり、0.5より大きくても小さくてもよい。あるいは、隣接画像との間隔に基づいて決定されてもよい。
【0053】
なお、Scale(P)は表示サイズ(基準に対する倍率)を表す。また、Scalemaxは最大倍率を示す。
【0054】
図3において、画像307は、いずれの画像とも重畳していたために倍率が拡大される画像である。実線で示す矩形領域は現在の画像307のサイズを示すが、倍率が拡大されて点線で表す大きさまで拡大される。なお、Scale(P)は表示サイズ(基準に対する倍率)を表す。また、Scalemaxは最大倍率を示す。
【0055】
<幾何学的項目5について>
次に幾何学的項目5の「他の画像と重ならないように回転する」について考える。ここでは、処理対象の画像の枚数をN として、注目画像が他の画像と重なっていれば重なりを排除する方向に回転する機能として式(8)に基づき実装可能である。式(8)において、Rotation (P,Pi) は画像P がPi と重なっていた場合にP が逃げる回転方向及び角度を示す。Adjacency(P) は画像P と重なっている画像の集合である。即ち、Rotation (P、 Pi)からは、画像Pと画像Piとの重なり合いの度合い(重畳面積の大きさ)に応じた画像Pの変化量が、所定方向の回転角度として得られる。
【0056】
例えば、図3において、画像308は、画像309と重なり合っているが、時計方向に角度θ1だけ回転することで重なり合わなくなる。即ち、上記式(8)に基づき時計方向に角度θ1が得られる。以下、この回転方向と角度の算出方法を説明する。
【0057】
まず、2つの画像の領域を確定し、一方の画像の4つの頂点が他方の画像の領域内に属するか否かを判定する。もし、いずれかの頂点が領域内に属すると判定された場合、どの頂点が領域内に属するかを判定する。例えば、図4(B)に示すように、画像の長辺が横向きになるように座標軸を考えた場合、第1象限に属する頂点:V1、第2象限に属する頂点:V2、第3象限に属する頂点V3、第4象限に属する頂点:V4とすることができる。この場合、V1、V3が他の画像の領域に属していた場合、回転方向を時計回り方向とし、V2、V4が他の領域に属していた場合、回転方向を反時計回り方向とする。そして、決定された回転方向に従い単位角度(例えば5度)ずつ回転させて、該当頂点が他の画像の領域内に属さなくなったか否かを判定する。もし、属さなくなった場合には、そのときの角度を回転角度とする。仮に、回転角度が90度となっても重なり合いが解消しない場合には、回転中心を変更する。これは、重複の度合いが大きい場合には、画像の重心を中心として回転しても重なり合いが解消しない場合があるためである。この場合、回転中心を画像の重心から画像の他の頂点に変更する。
【0058】
その他の幾何学的項目に関する機能も同様に実現できる。
【0059】
次に、図5A乃至図5Cを参照して、幾何学的項目に従って画像を表示した場合の、表示画面の遷移の様子を説明する。
【0060】
図5Aでは、幾何学的項目1乃至4のみ設定し、回転は考慮していない。よって、個々の画像は,表示領域として指定された領域からはみ出さない範囲でできるだけ大きくなろうとし,また平行移動や縮小により、他の画像との重なりを回避している。状態501は75枚の画像を読みこんだ直後の状態を示し、表示画面内でランダムな初期位置に各画像が表示されている。その後、状態502、503と時間が経過するに従い、個々の画像が大きくなろうとする力と重なりを回避しようとする力がバランスをとり、ある程度の時間が経つと(約5,6秒後)、状態504のように自然に隙間なく並ぶようになる。なお、状態504の表示状態であっても、ノイズ成分ηのために画像は静止せず、絶えず動いている。もし、ここでノイズ成分ηを大きくすれば、状態504の表示状態であってもいずれかの画像が移動を開始し、その移動に応じて他の画像も移動を開始して状態502や状態503に戻っていく。
【0061】
また、図5B は、図5Aの要求項目にさらに幾何学的項目5を加えて、回転を考慮した場合の表示例を示す。この場合、個々の画像は、表示領域として指定された領域からはみ出さない範囲でできるだけ大きくなろうとし、また回転、平行移動、縮小により他の画像との重なりを回避している。状態511は、初期状態を表し、状態512は一定時間経過後の画像が画面内に配列された状態を示している。図5Bのような表示形態は、テーブル型ディスプレイを囲む4 辺から人が見るような場合に有効である。
【0062】
図5Cは、画像の動きを制約する条件の1つである表示領域(ウインドウ)のサイズが変化した場合の表示画面1000の遷移を一例として示す。このときの要求項目は上記の幾何学的項目1乃至4である。状態521では、狭い領域に多くの画像が押し込められているので各画像は非常に小さく表示されている。次に、状態522ではウインドウが右方向に拡大されたことにより、画像が密集する領域の画面右側に空間ができる。この空間に隣接している画像は、表示画面1000の右側端による制約を受けなくなったために、幾何学的項目4に従い拡大を開始する。また、拡大することにより隣接する画像と重なり合うことになるので、幾何学的項目1に従い、並進移動を行う。これにより、画像が徐々に画面右側の空間に拡大しながら移動していくことになる。その様子を状態523及び524が示している。状態524では、右端の画像が表示画面の右側端に到達したのでこの時点で幾何学的項目2による制約が働くと共に、画面左側に位置する画像からの影響を受けて幾何学的項目3の制約により適切なサイズに縮小していくこととなる。その結果、状態525では、画面右端に位置している画像のサイズが、状態524と比べて小さくなっている。このようにして画像サイズ及び位置が調整され最終的に状態526のような状態になり、全画像のサイズがほぼ均一になる。
【0063】
<意味的項目1について>
次に、意味的項目について説明する。まず、意味的項目1の注目画像の拡大機能は、式(9)に基づいて実装できる。ここで「Attention」 は注目画像の集合であって、表示画面上でカーソルが画像に重畳された場合、或いは、ユーザの視線を検出可能な視線検出装置に基づいて、注目画像として特定されたものがそこに含まれる。注目画像は1枚に限定されず、複数枚であってもよい。また、Aalは、任意の係数である。即ち、式(9)では、注目画像の現在の倍率と最大倍率との差分に係数を掛け合わせて拡大後の倍率を計算している。従って、係数の大きさによって注目画像の拡大速度を調節することが可能である。
【0064】
ここで図5Dに、注目画像が拡大表示された表示状態の一例を示す。図5Dにおいて、枠に囲まれた画像531が拡大された画像である。当該画像531は、カーソル532が画像に重畳されたことに伴って拡大されたものである。
【0065】
なお、注目画像の特定は、操作部103のマウスやタッチパネルを介して行うことができる。また、操作部103としてヘッドマウントディスプレイ(HMD)を利用する場合に、HMDに搭載された視線検出機能を利用して、ユーザの視線方向を検出して注目画像を特定することもできる。また、複数の入力装置を介して複数人が同時に異なる画像を指定できるようにしてもよい。例えば、複数台の画像表示装置をLANで接続して操作情報を共有することで、共通の画面上で複数人がインタラクションすることができる。また、タッチパネルディスプレイのサイズを大型化したり、複数台のHMDを利用してもよい。また、操作部がマイクを備え、CPU101が音声認識処理を実行することで、ユーザから入力されたキーワードに従って画像の特徴量の指定を受けてもよい。例えば、「黄色」、「青」などの色に関するキーワードや、「花」、「人」、「橋」といった被写体に関するキーワードを受け付けてもよい。ディスプレイ107については、サイズ、解像度、台数、設置場所などが可変パラメータと考えられる。また、表示可能なディスプレイは1台に限定されるわけではなく、環境の中に複数台のディスプレイが存在する場合に、表示枚数や解像度などに従って最適なディスプレイを選択して画像群を表示してもよい。なお、これらの入出力装置に関する情報は、上述の式では全てIとして扱っている。
【0066】
<意味的項目2について>
次に、意味的項目2の注目画像と属性が類似する画像を引き寄せる機能について考える。この機能は式(10A)及び式(10B)に基づいて実装することができる。ここで、Similarity(P,Pi)は画像PとPiとの間の類似度を示し、Threshold は、閾値を表わす。また、Position()は画像の位置を示し、{Position(Pi)-Position(P)}で画像Pと画像Piとの間の距離を表す。類似度が閾値以上の場合、画像Pに与えられる速度ベクトルは、類似度が大きくなればなるほど大きくなり、また、画像PとPiとの距離が大きくなるほど大きくなる。即ち、画像Piと離れた位置にある類似度の高い画像Pは大きな速度ベクトルが与えられることになる。逆に、類似度が閾値未満の場合、画像に与えられる速度ベクトルは、類似度が小さくなればなるほど、また、画像PとPiとの距離が短いほど画像Piから離れる方向(逆方向)に大きくなる。
【0067】
なお、類似度の判定手法は、画像を画像解析して得られる特徴量(例えば、平均色、或いは、代表色(画像内で最も多くの画素を占める色)等)やタグの関連度などに基づいて行なうことができる。
【0068】
【0069】
次に画像の類似度を判定するための画像の属性情報について説明する。図6は、図1Aの画像データ112における画像のデータ構造の一例を示す図である。図6では、理解の簡単のためにテーブル構造を用いて説明する。図6のテーブル600においてID601は、画像を一意に識別するための識別子として付与される。当該IDは画像のテーブルへの登録順番を示す情報として付与されてもよい。ファイル名602は、画像に付与されたファイル名を示す。ファイル名は、撮影日時を示す値が与えられてもよい。撮影日603には、当該画像の撮影が行われた撮影日の情報が登録される。撮影時刻604には、当該画像の撮影が行われた時刻の情報が登録される。撮影日603と撮影時刻604とで、画像の撮影日時を特定することができる。撮影場所605は、撮影が行われた場所の緯度及び経度といった位置情報が登録される。画像の撮影を行ったデジタルカメラがGPS受信機を有する場合、撮影場所のGPS位置情報が画像の撮影時にタグ情報として画像に付与される。
【0070】
格納場所606は、各画像が画像表示装置100内で格納されている位置を示すパス情報である。図6では、image001.jpgからimage003.jpgまでがルートディレクトリの下のimage/pic/2011/0129というフォルダ内に格納されていることが示されている。特徴量607は、意味的項目により画像の振る舞いを制御する際に利用可能な、各画像の特徴量が登録されている。当該特徴量には、上記の平均色、代表色の情報の他、被写体に関する情報(被写体情報)が含まれる。平均色は、例えば画像の各画素値の色値の平均から得られる。代表色は、色値についてヒストグラムを作成するなどして、画像内で最も使用頻度の高い色値を特定することにより得られる。被写体情報は、被写体である人物の情報や建物の情報をユーザが個人的に入力してもよいし、緯度・経度情報に従って撮影場所に関する情報を登録してもよい。あるいは、撮影に関連するイベントの情報(例えば、運動会、遠足、入学式、卒業式等)をユーザからの入力に従って登録してもよい。なお、計算により求められる特徴量は予め計算せずに画像表示を行う際にリアルタイムに計算してもよいが、本願発明の本質的な技術的特徴ではないので特徴量を算出するタイミングは特に限定されない。
【0071】
このように画像に与えられた情報を利用することで、注目画像と類似する画像を決定することができる。類似度の計算は公知の技術を利用して行うことができるので、ここでは特に詳しく説明しないが、「類似」、「非類似」のいずれか一方に区別するだけではなく、類似の度合いを段階的に示す値を類似度として計算してもよい。例えば、「色」の類似度を判断する場合、代表色や平均色の色相に基づき注目画像と対象画像との距離を算出し、当該距離を類似度として利用してもよい。また、注目画像の撮影場所の情報を使用する場合、当該撮影場所からの距離を類似度として用いることができる。もちろん、単純に注目画像が撮影された緯度・経度と、同一の緯度・経度を有する画像、あるいは、差が所定範囲内の緯度・経度を有する画像を類似画像に決定してもよい。
【0072】
さらに、当該緯度・経度情報を利用すれば地図上に画像を重畳表示させることが可能となる。例えば、地図に含まれる各地点に位置情報として緯度・経度情報を与えておき、画像に与えられている撮影場所の緯度・経度の位置情報との対応関係に基づいて、撮影場所に該当する地図上の地点に対応画像を重畳表示する。その際、各画像が該当位置に表示されるまでの画像の表示状態を本発明の実施形態に従って制御することができる。例えば、画像が有する位置情報に対応する地図上の地点の表示画面における表示位置と、当該画像の表示位置との距離に基づいて、画像が目的の地点へ向かう際の速度ベクトルを算出することができる。当該速度ベクトルの算出は、例えば以下の式(11)に基づいて行うことができる。ここで、Position()は、表示画面内での位置を示し{Position(Gi)-Position(P)}で画像Pと地点Giとの間の距離を表す。Agは任意の係数である。
【0073】
図7は、類似の属性を持つ画像が集まった表示画面の一例を示す。表示画面1000において、画像701と画像702とがユーザから指定された注目画像であって、この2枚の注目画像は他の画像に比べて大きく表示されている。図7では、「代表色」に基づいて類似画像を注目画像の近傍に表示させた場合を示している。画像701は代表色として「青色」を有し、画像702は代表色として「黄色」を有している。よって、画像701の近傍の点線領域703には青色の画像が集まっており、画像702の近傍の点線領域704には黄色の画像が集まっている。また、領域703と704との間の点線領域705には、青と黄色の中間色である緑色を有する画像が集まっている。青色を有する画像は画像701との類似度が高いので画像701に向かう速度ベクトルが設定されて時間の経過に応じて画像701の周辺に集まり、また、黄色を有する画像も同様にして画像702の周辺に集まる。これに対し、緑色を有する画像は、青色や黄色を有する画像ほどには画像701や702との類似度が高くない。しかし、どちらの画像とも一定の類似度を有するため画像701と画像702との両方に向かう速度ベクトルが設定されることになる。これにより、画像701と画像702との間に移動して、図7のような表示状態が完成する。
【0074】
図8は、地図上に画像が重畳表示される過程を示す図である。図8(A)は、地図上に画像がランダムに配置された表示状態を示している。ここでは、各画像は、画像に与えられた位置情報とは無関係に地図上に表示されている。この表示状態を初期状態として、本実施形態に対応する画像表示処理を開始すると、各画像は、与えられた位置情報に対応する地図上の地点に向けて移動を開始する。このときの移動の態様は、上記の幾何学的項目と意味的項目との組み合わせにおいて決定される。即ち、各画像は、地図上の目的地に向かう速度ベクトルが設定される一方で、予め設定された幾何学的項目に従って速度ベクトル、倍率、回転角度等が設定される。これらを単位時間当たり、各画像について計算して、各画像の振る舞いが決定される。その結果として、各画像は、与えられた位置情報に対応する地図上の地点に徐々に移動していき、図8(B)のような表示状態に遷移する。各画像は、隣接する画像(地図上の同一地点あるいは近接地点に表示されるべき画像)の影響を受けない限りは地図上で所定サイズ(例えば、倍率×1の基準サイズ)で表示することができる。当該所定サイズは、地図の縮尺に応じて変更される。縮尺が小さければ表示範囲が広がるのでその分だけ表示の基準となる所定サイズは小さくなる。所定サイズの概念を設けるのは、画像が地図の縮尺と無関係に大きく表示されると、地理的位置に対応して表示する意味が無くなってしまうからである。
【0075】
もし、隣接する画像の影響を受ける場合には、当該画像との幾何学的項目に規定される要件を満たす範囲で画像の表示が行われる。例えば、同一地点に対応する位置情報が割り当てられた画像が複数あった場合、それぞれの画像は互いに重なり合わないようにしながら当該地点に向かって移動していく。移動の過程では、目的地との距離をできるだけ短くしつつ、重なり合わないようにするために画像は倍率が小さくなっていく。なお、目的地と画像との距離は、例えば、画像の重心位置の座標と、地図上の地点の座標とから算出が可能である。ここで画像の最小表示サイズを決めておけば、そのサイズに合致した場合にはそれ以上縮小せずに互いに重なり合わないようにしながら、最終的には目標地点の付近に表示されることとなる。そのような表示状態を図8(C)が示している。図8(C)では、地図上の任意の地点に集まっている画像は、ほぼ同等のサイズを有しながらも互いに重なり合わないように表示されている。このようにして、地図上に画像を重畳表示する場合にも、本願発明を適用することで、画像の表示状態が遷移していく様子を、単位時間ごとに確認することができる。 以上のように、本実施形態に対応する画像表示装置によれば、予め設定した要件項目に従い画像同士の重なりを回避して画像が表示される様子を画面上で提供することができる。その際、画像表示装置はユーザは画像の移動方向などに関する入力を必要とはしないが、ユーザから画像の指定を受け付ければ、指定された画像の拡大や当該画像に類似する画像を周辺に表示させることができる。
【0076】
また、各画像の表示状態を単位時間毎に決定していく際に、全体としての解を逐次評価して大局的な最適解を求めることはしないため計算負荷も低く、リアルタイム表示が可能である。
【0077】
本実施形態の表示方法では、多数の画像を同時に、かつ、表示位置や大きさを動的に変化させて表示するので、単なるサムネイルの一覧表示に比べて閲覧者のより高い関心を引きつることができる。
【特許請求の範囲】
【請求項1】
複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置であって、
前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する処理手段と、
前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御手段と
を備え、
前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、
前記処理手段は、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定することを特徴とする画像表示装置。
【請求項2】
前記処理手段は、
前記複数の画像に含まれる各画像について、隣接画像との重なり合いの度合いを隣接画像ごとに算出し、
前記重なり合いの度合いに基づき、前記表示位置、前記画像の傾き、前記表示サイズのうち前記表示状態に含まれるものの単位時間当たりの変化量を算出し、該変化量に基づいて対応する画像の表示状態を直前の表示状態から変更することで、前記単位時間毎の異なる表示状態を決定する
ことを特徴とする請求項1に記載の画像表示装置。
【請求項3】
前記処理手段は、
前記表示位置及び画像の傾きの単位時間当たりの変化量を、前記隣接画像から離れる方向に向かって算出し、
前記表示サイズの単位時間当たりの変化量を、前記隣接画像よりも表示サイズが大きい画像については、表示サイズが小さくなるように算出する
ことを特徴とする請求項2に記載の画像表示装置。
【請求項4】
前記処理手段は、前記複数の画像のうち前記隣接画像と重なり合わない画像について、前記表示サイズが増加するように前記単位時間当たりの表示サイズの変化量を算出することを特徴とする請求項2または3に記載の画像表示装置。
【請求項5】
ユーザからの画像の指定を受け付ける操作手段を更に備え、
前記処理手段は、前記操作手段を介して指定を受け付けた指定画像と、前記複数の画像に含まれる他の画像との類似度を判定し、前記類似度に基づき前記他の画像の表示位置の単位時間当たりの変化量を算出する
ことを更に特徴とする請求項2乃至4のいずれか1項に記載の画像表示装置。
【請求項6】
前記処理手段は、
前記類似度が閾値以上の場合に、前記表示位置の単位時間当たりの変化量を前記他の画像から前記指定画像へ向かう方向について算出し、
前記類似度が閾値未満の場合に、前記表示位置の単位時間当たりの変化量を前記他の画像が前記指定画像から離れる方向について算出する
ことを特徴とする請求項5に記載の画像表示装置。
【請求項7】
前記画像が、該画像が生成された場所の位置情報を有し、かつ、前記複数の画像が前記表示画面上に表示された地図上に重畳して表示される場合に、
前記処理手段は、前記地図上の各地点に割り当てられた位置情報と、前記複数の画像がそれぞれ有する位置情報とに基づいて、各画像の前記表示位置の単位時間当たりの変化量を算出する
ことを特徴とする請求項2乃至6のいずれか1項に記載の画像表示装置。
【請求項8】
前記処理手段は、前記画像が有する位置情報に対応する前記地図上の地点の前記表示画面における表示位置と、前記画像の表示位置との距離に基づいて、各画像の前記表示位置の単位時間当たりの変化量を前記対応する地図上の地点へ向かう方向について算出することを特徴とする請求項7に記載の画像表示装置。
【請求項9】
前記処理手段は、前記複数の画像に含まれる各画像について、前記表示画面における表示領域内に収まって表示されているか否かを更に判定し、
前記表示領域内に収まって表示されていない画像について、前記表示領域内に収まる方向への前記表示位置の単位時間当たりの変化量を算出する
ことを特徴とする請求項2乃至8のいずれか1項に記載の画像表示装置。
【請求項10】
前記処理手段は、各画像の前記表示位置、前記画像の傾き、前記表示サイズの少なくともいずれかについて複数の変化量を算出した場合に、前記表示状態の種別毎に前記複数の変化量を合成することを特徴とする請求項2乃至9のいずれか1項に記載の画像表示装置。
【請求項11】
前記処理手段は、前記単位時間毎に算出する前記変化量に、ランダムに選択したノイズ値を付加することを特徴とする請求項2乃至10のいずれか1項に記載の画像表示装置。
【請求項12】
複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置の制御方法であって、
前記画像表示装置の処理手段が、前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する決定工程と、
前記画像表示装置の表示制御手段が、前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御工程と
を備え、
前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、
前記処理工程では、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定することを特徴とする画像表示装置の制御方法。
【請求項13】
コンピュータを、請求項1乃至11のいずれか1項に記載の処理手段及び表示制御手段を備える画像表示装置として機能させることを特徴とするコンピュータプログラム。
【請求項1】
複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置であって、
前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する処理手段と、
前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御手段と
を備え、
前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、
前記処理手段は、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定することを特徴とする画像表示装置。
【請求項2】
前記処理手段は、
前記複数の画像に含まれる各画像について、隣接画像との重なり合いの度合いを隣接画像ごとに算出し、
前記重なり合いの度合いに基づき、前記表示位置、前記画像の傾き、前記表示サイズのうち前記表示状態に含まれるものの単位時間当たりの変化量を算出し、該変化量に基づいて対応する画像の表示状態を直前の表示状態から変更することで、前記単位時間毎の異なる表示状態を決定する
ことを特徴とする請求項1に記載の画像表示装置。
【請求項3】
前記処理手段は、
前記表示位置及び画像の傾きの単位時間当たりの変化量を、前記隣接画像から離れる方向に向かって算出し、
前記表示サイズの単位時間当たりの変化量を、前記隣接画像よりも表示サイズが大きい画像については、表示サイズが小さくなるように算出する
ことを特徴とする請求項2に記載の画像表示装置。
【請求項4】
前記処理手段は、前記複数の画像のうち前記隣接画像と重なり合わない画像について、前記表示サイズが増加するように前記単位時間当たりの表示サイズの変化量を算出することを特徴とする請求項2または3に記載の画像表示装置。
【請求項5】
ユーザからの画像の指定を受け付ける操作手段を更に備え、
前記処理手段は、前記操作手段を介して指定を受け付けた指定画像と、前記複数の画像に含まれる他の画像との類似度を判定し、前記類似度に基づき前記他の画像の表示位置の単位時間当たりの変化量を算出する
ことを更に特徴とする請求項2乃至4のいずれか1項に記載の画像表示装置。
【請求項6】
前記処理手段は、
前記類似度が閾値以上の場合に、前記表示位置の単位時間当たりの変化量を前記他の画像から前記指定画像へ向かう方向について算出し、
前記類似度が閾値未満の場合に、前記表示位置の単位時間当たりの変化量を前記他の画像が前記指定画像から離れる方向について算出する
ことを特徴とする請求項5に記載の画像表示装置。
【請求項7】
前記画像が、該画像が生成された場所の位置情報を有し、かつ、前記複数の画像が前記表示画面上に表示された地図上に重畳して表示される場合に、
前記処理手段は、前記地図上の各地点に割り当てられた位置情報と、前記複数の画像がそれぞれ有する位置情報とに基づいて、各画像の前記表示位置の単位時間当たりの変化量を算出する
ことを特徴とする請求項2乃至6のいずれか1項に記載の画像表示装置。
【請求項8】
前記処理手段は、前記画像が有する位置情報に対応する前記地図上の地点の前記表示画面における表示位置と、前記画像の表示位置との距離に基づいて、各画像の前記表示位置の単位時間当たりの変化量を前記対応する地図上の地点へ向かう方向について算出することを特徴とする請求項7に記載の画像表示装置。
【請求項9】
前記処理手段は、前記複数の画像に含まれる各画像について、前記表示画面における表示領域内に収まって表示されているか否かを更に判定し、
前記表示領域内に収まって表示されていない画像について、前記表示領域内に収まる方向への前記表示位置の単位時間当たりの変化量を算出する
ことを特徴とする請求項2乃至8のいずれか1項に記載の画像表示装置。
【請求項10】
前記処理手段は、各画像の前記表示位置、前記画像の傾き、前記表示サイズの少なくともいずれかについて複数の変化量を算出した場合に、前記表示状態の種別毎に前記複数の変化量を合成することを特徴とする請求項2乃至9のいずれか1項に記載の画像表示装置。
【請求項11】
前記処理手段は、前記単位時間毎に算出する前記変化量に、ランダムに選択したノイズ値を付加することを特徴とする請求項2乃至10のいずれか1項に記載の画像表示装置。
【請求項12】
複数の画像を表示装置の表示画面上に配列して表示させる画像表示装置の制御方法であって、
前記画像表示装置の処理手段が、前記複数の画像に含まれる各画像について、前記表示画面上における単位時間毎の異なる表示状態を決定する決定工程と、
前記画像表示装置の表示制御手段が、前記表示状態に従って、前記複数の画像のそれぞれを前記表示画面に表示させる表示制御工程と
を備え、
前記表示状態には、前記画像の前記表示画面上での表示位置、基準方向に対する画像の傾き、表示サイズの少なくともいずれかの表示状態の種別が含まれ、
前記処理工程では、前記複数の画像が互いに重なり合う場合には当該重なり合いを解消するように、または、前記複数の画像が互いに重なり合わないように前記表示状態を決定することを特徴とする画像表示装置の制御方法。
【請求項13】
コンピュータを、請求項1乃至11のいずれか1項に記載の処理手段及び表示制御手段を備える画像表示装置として機能させることを特徴とするコンピュータプログラム。
【図1A】
【図1B】
【図2】
【図3】
【図4】
【図6】
【図5A】
【図5B】
【図5C】
【図5D】
【図7】
【図8】
【図1B】
【図2】
【図3】
【図4】
【図6】
【図5A】
【図5B】
【図5C】
【図5D】
【図7】
【図8】
【公開番号】特開2012−194787(P2012−194787A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−58292(P2011−58292)
【出願日】平成23年3月16日(2011.3.16)
【出願人】(504157024)国立大学法人東北大学 (2,297)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成23年3月16日(2011.3.16)
【出願人】(504157024)国立大学法人東北大学 (2,297)
【Fターム(参考)】
[ Back to top ]