以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の実施形態に係る電子機器の外観を示す図である。この電子機器は、例えばノートブックタイプのパーソナルコンピュータ10として実現されている。
図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(liquid crystal display)17を備えた表示装置が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。
コンピュータ本体11は、薄い箱形の筐体を有しており、その上面には、キーボード13、本コンピュータ10を電源オン/電源オフするためのパワーボタン14、入力操作パネル15、タッチパッド16、スピーカ18A,18Bなどが配置されている。入力操作パネル15上には、各種操作ボタンが設けられている。
また、コンピュータ本体11の右側側面には、例えばUSB(universal serial bus)2.0規格のUSBケーブルやUSBデバイスを接続するためのUSBコネクタ19が設けられている。さらに、コンピュータ本体11の背面には、例えばHDMI(high-definition multimedia interface)規格に対応した外部ディスプレイ接続端子(図示せず)が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
図2は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図2に示されているように、CPU(central processing unit)101、ノースブリッジ102、主メモリ103、サウスブリッジ104、GPU(Graphics Processing Unit)105、VRAM(ビデオRAM:random access memory)105A、サウンドコントローラ106、BIOS−ROM(basic input/output system-read only memory)107、LAN(local area network)コントローラ108、HDD109、ODD(optical disc drive)110、USBコントローラ111、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM(electrically erasable programmable ROM)114等を備えている。
CPU101は、本コンピュータ10の動作を制御するプロセッサであり、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)201や、コンテンツ再生アプリケーションプログラム202のような各種アプリケーションプログラムを実行する。コンテンツ再生アプリケーションプログラム202は、例えばODD110にセットされたDVD(digital versatile disc)等に格納されたAV(audio/video)コンテンツを再生する機能を有するソフトウェアである。コンテンツ再生アプリケーションプログラム202は、HDD109に格納されたデジタル画像をいわゆるデジタルフォトフレームのように表示する機能も有している。また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このGPU105によって生成される表示信号はLCD17に送られる。また、GPU105は、HDMI制御回路3およびHDMI端子2を介して、外部ディスプレイ装置1にデジタル映像信号を送出することもできる。
HDMI端子2は、前述の外部ディスプレイ接続端子である。HDMI端子2は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルでテレビのような外部ディスプレイ装置1に送出することができる。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ装置1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイスおよびLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109およびODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。
サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18BまたはHDMI制御回路3に出力する。
LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。また、USBコントローラ113は、(USBコネクタ19を介して接続される)例えばUSB 2.0規格に対応した外部機器との通信を実行する。例えば、外部機器であるデジタルカメラによって管理されているデジタル画像を取り込んでHDD109に格納する際の通信等を実行する。
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13およびタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC114は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
次に、図3を参照して、以上のような構成をもつ本コンピュータ10上で動作するコンテンツ再生アプリケーションプログラム202の一機能構成を説明する。ここでは、前述した当該コンテンツ再生アプリケーションプログラム202が有する機能のうち、HDD109に格納されたデジタル画像(静止画像データ401)をいわゆるデジタルフォトフレームのように表示する機能を実現するための構成例について説明する。
図3に示すように、コンテンツ再生アプリケーションプログラム202は、インデクシング処理部301およびスライドショー表示制御部302を備えている。
インデクシング処理部301は、HDD109に格納された静止画像データ401の中から目的のデジタル画像を探し出すためのインデックス情報を作成するインデクシングに関する各種処理を実行する。例えば、人物が写っている静止画像データ401から顔画像を抽出する。この顔画像の抽出は、例えば、静止画像データ401から顔領域を検出する顔検出処理および検出された顔領域を静止画像データ401から切り出す切り出し処理等によって実行される。顔領域の検出は、例えば、静止画像データ401の特徴を解析し、予め用意された顔画像特徴サンプルと類似する特徴を有する領域を探索することによって行うことができる。顔画像特徴サンプルは、多数の人物それぞれの顔画像特徴を統計的に処理することによって得られた特徴データである。なお、図3に示す静止画像データ401は、動画像データを構成する複数のフレームそれぞれの画像であっても良い。
インデクシング処理部301によるインデクシング処理の結果は、インデックス情報402として、データベース109Aに格納される。データベース109Aは、このインデックス情報402の格納用にHDD109内に用意された記憶領域である。図4に、データベース109Aに格納されるインデックス情報402の一構成例を示す。
”画像ID”は、各静止画像401に一意に割り当てられる識別情報であり、”撮像日時”は、各静止画像401の撮像日時を示す時刻情報である。なお、静止画像データ401が動画像データを構成する複数のフレームそれぞれの画像であった場合、当該”画像ID”フィールド+”撮像日時”フィールドで、例えば、先頭フレームからの経過時刻を示すタイムスタンプ情報が格納される。
”顔画像情報”は、静止画像データ401が人物が写っているものである場合に、その人数分記録される情報である。当該”顔画像情報”として、まず、インデクシング処理部301が静止画像データ401から抽出した各顔画像が格納される。また、インデクシング処理部301は、静止画像データ401から抽出した各顔画像の正面度(顔が正面から撮影された度合いを表す)やサイズ(元の静止画像における顔画像領域の大きさ)を出力する。更に、インデクシング処理部301は、静止画像データ401から抽出した複数の顔画像をクラス分け、即ち、同一人物であると推定される画像別に分類して、その分類結果を分類情報として出力する。そして、この正面度、サイズおよび分類情報が、”顔画像情報”としてさらに格納される。
また、インデクシング処理部301は、各静止画像データ401について、例えば看板上の文字など、何らかの文字が写っているか否かを判定し、その判定結果を出力する。この判定結果が”文字情報”として格納される。文字の検出は、予め用意された各文字の特徴サンプルと類似する特徴を有する領域を探索することによって行うことができる。
更に、インデクシング処理部301は、例えば撮像日時に基づき、HDD109に格納された複数の静止画像データ401をグループ分けし、各グループを識別するための情報を出力する。この情報が”グループ情報”として格納される。例えば、撮像日時が時間的に連続する2つの静止画像データ401間で所定の期間を越えている場合に、その間を区切りとすることでグループ化を行う。また、静止画像データ401が動画像データを構成する複数のフレームそれぞれの画像であった場合には、例えば、前後で画像の特徴が大きく変化するいわゆるシーンチェンジ箇所を検出し、各シーンを1区間とすることでグループ化を行う。
つまり、このインデックス情報402によれば、各静止画像データ401について、顔画像を含むか否か、即ち、人物が写っているか否か、誰が写っているか、文字が写っているか否か、どのグループに属しているか、等を知ることができる。視点を換えれば、このインデックス情報402を用いて、目的の人物が写っている静止画像データ401や人物が写っていない静止画像データ401、目的の人物が写っており、かつ、文字が写っている静止画像データ401等を、HDD109に格納された複数の静止画像データ401の中から速やかに探し出すことができる。
そして、スライドショー表示制御部302は、このインデクシング処理部301が作成したインデックス情報402を用いて、HDD109に格納された複数の静止画像データ401の中から所定の選択条件を満たす静止画像データ401を選択し、いわゆるデジタルフォトフレームのように順次に表示する表示処理を実行するものである。以下、このスライドショー表示制御部302の動作原理について詳述する。なお、本実施形態においては、複数の静止画像データ401を所定間隔で順次に表示することをスライドショーと称している。また、単純な順次表示のみならず、表示の切り替え時の遷移効果(トランジションエフェクト)など、加工を施した表示を伴うものも含み得る。
スライドショー表示制御部302は、ユーザインタフェース部3021を有しており、このユーザインタフェース部3021を使って、図5に示すスライドショー表示用の人物指定画面をLCD17に表示する。
図5に示すように、人物指定画面には、顔一覧表示エリアa1が設けられている。スライドショー表示制御部302は、データベース109Aに格納されたインデックス情報402を用いて、HDD109に格納された複数の静止画像データ401の中の少なくとも1つに写っている人物の顔画像を1つずつ選択肢として当該顔一覧表示エリアa1上に配置する。図4に示したように、インデックス情報402には、正面度、サイズ、分類情報が含まれているので、スライドショー表示制御部302は、同一の分類情報が付された顔画像毎に、例えば、サイズがしきい値以上の大きさを持つものの中で、正面度が最も高いものを選択する。この顔一覧表示エリアa1上への配置対象とする顔画像は、キーボード13やタッチパッド16等の操作により切り替えることができる。
この顔一覧表示エリアa1は、スライドショーとして表示させたい静止画像データ401をHDD109に格納された複数の静止画像データ401の中から選択するための検索鍵情報としてユーザが任意の人物を指定するためのエリアである。いま、ユーザは、顔一覧表示エリアa1上に顔画像が配置された人物A〜人物Hの中から人物Aに関連する静止画像401をスライドショーとして表示させたいと考えていると想定する。この場合、ユーザは、顔一覧表示エリアa1上に配置された人物Aの顔画像a11を選択する。
また、人物指定画面には、”スライドショースタート”ボタンa2と、”詳細設定”ボタンa3とが設けられている。”スライドショースタート”ボタンa2は、顔一覧表示エリアa1上でいずれかの顔画像を選択した後、スライドショーの開始を指示するためのボタンであり、また、”詳細設定”ボタンa3は、顔一覧表示エリアa1上で選択した顔画像の人物と関連する静止画像401の選択規則および選択した静止画像401の表示規則の少なくとも一方に関する拡張条件を設定するためのボタンである。この”詳細設定”ボタンa3が操作されると、スライドショー表示制御部302は、ユーザインタフェース部3021を使って、図6に示すスライドショー表示用の詳細設定画面をLCD17に表示する。
図6に示すように、詳細設定画面には、シーン一覧表示エリアb1が設けられている。このシーン一覧表示エリアb1上において、例えば、「旅行」を選ぶと、(人物が写っていない)風景画像を多めに選択し、かつ、どこで撮影したものかがまず分かるように、当該風景画像を(撮影順に囚われずに)他の画像に先んじて表示したり、「パーティ」を選ぶと、参加者全員が網羅されるように画像を選択し、かつ、どのパーティかがまず分かるように、文字が写っている、または、最も多くの人数が写っている画像を(撮影順に囚われずに)他の画像に先んじて表示したり等、各シーンに適合した選択規則や表示規則に関する拡張条件を設定することができる。ここでは、図5に示した人物指定画面上で”詳細設定”ボタンa3が操作され、当該詳細設定画面上で「旅行」(アイコンb11)が選択されたものと想定する。
以上のようなシーン一覧表示エリアb1を有する詳細設定画面には、図5に示した人物指定画面に復帰するための”人物指定”ボタンb2が設けられている。従って、図5に示した人物指定画面上において、まず、”詳細設定”ボタンa3を操作して詳細設定画面を表示させ、拡張条件の設定を行ってから、この”人物指定”ボタンb2を操作して図5に示した人物指定画面に復帰し、人物の選択を行うといった手順を踏むこともできる。
また、この詳細設定画面にも、図5に示した人物指定画面と同様、”スライドショースタート”ボタンb3が設けられており、図5に示した人物指定画面に復帰することなく、スライドショーの開始を指示することができる。
次に、図5に示した人物指定画面上および図6に示した詳細設定画面上での操作を受けたスライドショー表示制御部302が、どのように表示対象とする静止画像データ401を選択し、また、選択した静止画像データ401をどのように表示していくのかを、図7を参照して、その基本原理について説明する。
図7中、(A)は、HDD109に格納された複数の静止画像データ401が、データベース109Aに格納されたインデックス情報402に基づき、撮像日時の順に時系列に並べられ、かつ、グループ分けされている様子を示す第1の概念図である。図7(A)に示すように、ここでは、HDD109に格納された複数の静止画像データ401が、グループn、グループn+1、グループn+2の3つのグループに分けられているものと想定する。なお、各グループ内の1,2,3,…等の数字が記載された各ボックスは、それぞれ1つの静止画像データ401を表しており、その数字は、各グループ内における撮像日時順を表している。
また、符号c1で示する静止画像データ401のボックス内の丸形は、当該静止画像データ401が、図5に示した人物指定画面上で指定された人物が写っている画像であることを表し、符号c2で示す静止画像データ401のボックス内の三角形は、当該静止画像データ401が、図5に示した人物指定画面上で指定された人物は写っていないが、その他のいずれかの人物が写っている画像であることを表し、符号c3で示す静止画像データ401のボックス内の菱形は、当該静止画像データ401が、いずれの人物も写っていない画像であることを表している。
つまり、この図7(A)は、グループn、グループn+1、グループn+2の3つのグループのうち、図5に示した人物指定画面上で指定された人物が写っている静止画像データ401を含むグループは、グループn、グループn+2の2グループであることを表している。そこで、スライドショー表示制御部302は、まず、このグループn、グループn+2内の静止画像データ401を表示対象とする絞り込みを実施する(表示対象グループの選定)。
スライドショー表示制御部302は、図5に示した人物指定画面上で指定された人物が写っている静止画像データ401と同一グループに属する静止画像データ401は、(当該指定された人物が写っていなくとも)当該指定された人物と関連性を有する画像であると判断する。スライドショー表示制御部302は、選定した表示対象グループ内を範囲として、データベース109Aに格納されたインデックス情報402に基づき、例えば予め定められた枚数を上限として静止画像データ401を選択する。この時、図5に示した人物指定画面上で指定された人物が写っている静止画像データ401を優先的に選択することを原則としつつ、図6に示した詳細設定画面上で例えば「旅行」が選択されていたならば、(人物が写っていない)風景画像を多めに選択するといった、単に、その人物が写された画像を選ぶのみではない、高度なインテリジェンスを持った画像検索を実行する。
図7中、(B)は、スライドショー表示制御部302による静止画像データ401の選択結果を示す第2の概念図である。図7(B)に示すように、グループnにおいては、符号d1で示す、図5に示した人物指定画面上で指定された人物は写っていないが、その他のいずれかの人物が写っている画像が選択されており、また、符号d2で示す、いずれの人物も写っていない画像も選択されている。同様に、グループn+2においても、符号d3で示す、図5に示した人物指定画面上で指定された人物は写っていないが、その他のいずれかの人物が写っている画像が選択されており、また、符号d4で示す、いずれの人物も写っていない画像も選択されている。
この符号d1〜d4で示す画像は、従来の画像検索手法において、人物が検索鍵情報として指定された場合には選択され得ない画像であり、この点で、本コンテンツ再生アプリケーションプログラム202は、例えば、「何処へ誰と」がわかるようにスライドショーを表示すべく、高度なインテリジェンスを持った効果的な画像検索を実行する。
また、図7中、(C)は、スライドショー表示制御部302による静止画像データ401の表示順を示す第3の概念図である。図7(C)に示すように、スライドショー表示制御部302は、最新の画像を真っ先に見たいという要求を満たすべく、グループ単位においては現在から過去へと誘導する配列を構成しつつ(グループn+2→グループn)、各グループ内の画像についてはより自然に画像を楽しめるように配列を構成する。即ち、グループの配列と各グループ内の画像の配列とで、異なるアルゴリズムを採用する。
前述したように、ここでは、図6に示した詳細設定画面上において「旅行」が選択されたものと想定しているので、スライドショー表示制御部302は、例えば、「何処へ」がまず分かるように、グループn+2については、符号d4で示す、いずれの人物も写っていない画像、つまり、風景画像と推測される画像を先頭に配置して、以降、その他の画像を撮像日付順に配置する。同様に、グループnについても、符号d2で示す、風景画像と推測される画像を先頭に、その他の画像をその後に撮像日付順に配置する。
つまり、本コンテンツ再生アプリケーションプログラム202は、例えば「旅行」といったシーンを把握するのに適した画像を代表画像としてまず最初に配置するといった、高度なインテリジェンスを持った効果的な画像表示も実行する。なお、図6に示した詳細設定画面による拡張条件の設定が行われなかった場合は、各グループ内の画像を撮像日時順に配列するようにしても良い。
図8は、本コンテンツ再生アプリケーションプログラム202が実行するスライドショーの表示処理の手順を示すフローチャートである。
コンテンツ再生アプリケーション202は、まず、HDD109内のデータベース109Aに格納されたインデックス情報402を用いて、HDD109に格納された複数の静止画像データ401の中の少なくとも1つに写っている人物の顔画像を選択肢として一覧表示する(ステップA1)。
この一覧表示した顔画像の中からいずれかが選択されると(ステップA2)、コンテンツ再生アプリケーションプログラム202は、HDD109内のデータベース109Aに格納されたインデックス情報402を用いて、今度は、選択された顔画像の人物が写っている静止画像データ401を含むグループを特定する(ステップA3)。そして、この特定したグループ内を範囲として、表示対象とする静止画像データ401を選択する(ステップA4)。
また、コンテンツ再生アプリケーションプログラム202は、HDD109内のデータベース109Aに格納されたインデックス情報402を用いて、さらに、選択した静止画像データ401について、その表示順を決定し(ステップA5)、その決定した表示順に従って、当該選択した静止画像データ401をLCD17に順次に表示する(ステップA6)。
このように、本コンピュータ10によれば、指定された検索鍵情報から直接的に検出され得る画像群のみを選択するのではなく、その検索鍵情報と所定の関連性を有する画像をも選択し、かつ、例えば撮影日時順等の単純な規則ではなく、より楽しく画像群を観賞できるように配列するといった、高度なインテリジェンスを持った画像検索および画像表示を実現できる。
なお、ここでは、HDD109内のデータベース109Aに格納されたインデックス情報402を用いてHDD109に格納された静止画像データ401の中から表示対象とする静止画像データ401を選択する方法として、静止画像データ401に写っている人物の顔画像を選択肢として一覧表示する例を説明した。しかしながら、(HDD109に格納された静止画像データ401の中から表示対象とする静止画像データ401を選択するための)インデックス情報402の利用法としては、これに限定されず、種々の変形が可能である。
例えば、顔画像の分類情報を人物の名前と対応付けるテーブルをインデックス情報402としてデータベース109Aに格納するようにし、人物の名前を選択肢として一覧表示することもできる。このテーブルの管理のために、顔画像を一覧表示して名前を入力するユーザインタフェース手段を持たせてもよい。
また、例えば、(目的の人物を指定するための)顔画像や名前を検索鍵情報として指定することに代えて、年月日を検索鍵情報として指定し、かつ、月別のグループ情報をインデックス情報402として持つようにし、指定された年月日と合致する撮像日時の静止画像データ401だけでなく、同年同月あるいは異なる年の同月の撮像日時の静止画像データ401を関連性を有するものとして選択・表示するようにしてもよい。
このように、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。