以下、本発明の実施の形態について図を参照して説明する。
図1は、本発明を適用した撮影・表示システムの構成例を示す図である。
ビデオカメラ1は、ユーザが視聴したり、編集したりする画像列(動画)を撮影する機能の他に、似ているシーンを探したり、似ているシーン毎に画像列をクラスタリングするための認識用の画像列を撮影する機能を有する。
例えば、ユーザによる視聴、編集の対象となる画像列(以下、撮影画像列という)は、ビデオカメラ1に設けられるレンズ3を介して撮影され、認識用の画像列(以下、認識用画像列という)は、レンズ3と同じ方向を光軸方向とするワイドアングルレンズ4を介して撮影される。
ビデオカメラ1により撮影された撮影画像列、認識用画像列は、図1の実線矢印で示すように、有線または無線を介してパーソナルコンピュータ2に取り込まれ、パーソナルコンピュータ2において撮影画像列の再生が行われる。
パーソナルコンピュータ2は、ビデオカメラ1から取り込んだ撮影画像列の再生機能として、現在再生中のシーンとは別に、再生中のシーンと似ているシーンをユーザに提示し、その似ているシーンが選択されたとき、選択されたシーンに再生対象を切り替えるジャンプ再生の機能を有する。
ここで、「シーン」とは、撮影された画像(例えば、1フレームの画像)を時間軸上に並べた画像列全体のうちの、連続する所定の数の画像からなる画像列をいう。
すなわち、パーソナルコンピュータ2は、ユーザが現在見ているシーンと似ているシーンを自動的に提示することで、ユーザに、既視感のある他のシーンを連想させること、いわば「デジャヴ」を与えることができる。
また、ユーザは、提示されたシーンの中から選択することで、現在再生中のシーンと似ているシーンのみを視聴することができる。例えば、現在再生中のシーンが、ユーザが見たいと思って選択したシーンであれば、それと似たものだけが提示され、それを用いて再生するシーンを変えることができるため、ある一連の動画を、撮影した順序で単に時系列的に全てのシーンを見続ける場合に較べて退屈してしまうことが少ない。
このようなジャンプ再生を実現するために、シーンのリンク付け等を行う機能部を図2の上方の吹き出しに示すように「デジャヴエンジン」という。デジャヴエンジンにおいては、図2に示すように、認識用画像列全体から注目するシーンが選択され、その注目するシーンと、他のシーンとの類似度の計算結果に基づいて、類似度の高いシーン、すなわち、似ているシーンのリンク付けが行われる。
図2の上方の吹き出しに示す「デジャヴプレーヤ」は、デジャヴエンジンによるリンク付けに従って、現在再生中の画像の表示とともに、その再生中の画像にリンク付けされている画像の表示を行うプレーヤである。
また、図1のパーソナルコンピュータ2は、似ているシーンのまとまりを計算し、そのまとまり毎に画像列を再生する機能を有する。
これにより、ユーザは、あるまとまりを指定するだけで、似ているシーンのみを連続して視聴することができる。
このようなまとまり毎の再生を実現するために、各シーンをクラスタリングする機能部を図2の下方の吹き出しに示すように「クラスタリングエンジン」という。
また、クラスタリングエンジンによるクラスタリング結果に従って、まとまり毎の再生、表示を行うプレーヤを「ダイジェストプレーヤ」という。
図2の例においては、画像列全体がクラスタ#1乃至#3にクラスタリングされており、クラスタ#1乃至#3のうちの例えばクラスタ#1が選択されたとき、クラスタ#1に含まれる画像のみの再生が行われる。
なお、デジャヴプレーヤやダイジェストプレーヤにより再生対象となる画像列は、認識用画像列とは異なり、レンズ3を介して撮影された撮影画像列である。すなわち、認識用画像列は、再生対象となる撮影画像列の再生に必要なリンク付けに関する情報、クラスタに関する情報等のメタデータを生成するための画像列であり、それ自体再生対象となることはない。
以上のようなパーソナルコンピュータ2による撮影画像列の再生については後に詳述する。
図3は、図1のビデオカメラ1の構成例を示すブロック図である。
ビデオカメラ1は、基本的に、レンズ3を介して撮影を行うカメラ部11、ワイドアングルレンズ4を介して撮影を行う認識用カメラ部12、カメラ部11および認識用カメラ部12により撮影された画像列を記憶する記憶装置13から構成される。記憶装置13は、例えば、HDD(Hard Disk Drive)やフラッシュメモリなどにより構成される。
カメラ部11と認識用カメラ部12による撮影は、ユーザによる撮影開始、撮影終了の指示に応じて同じタイミングで行われる。従って、記憶装置13には、図4に示すように、同じタイミングでカメラ部11により撮影された撮影画像列と、認識用カメラ部12により撮影された認識用画像列が記憶される。
後に詳述するように、パーソナルコンピュータ2により行われるシーン間の類似度計算は、例えば、認識用画像列を構成する各画像の、対応する画素の画素値の時間的変化を見ることで行われる。このように、時間的変化を見るだけであるから、認識用の画像には高い解像度は求められず、認識用カメラ部12により撮影された画像は、例えば、32×24(横×縦)画素の低い解像度の画像に変換され、記憶装置13に記憶される。
また、対応する画素の画素値の変化が大きい場合、画素値の変化が比較的小さい場合に較べて、シーンが似ているか否かの判定精度が落ちることから、認識用画像列を撮影するレンズには、魚眼レンズなどの、より広角のレンズであるワイドアングルレンズ4が用いられる。1画像の解像度(例えば32×24)が同じであるとすると、狭い画角のレンズで撮影するよりも、広い画角のレンズで撮影した方が、ビデオカメラ1の向きを変えたときの画素値の変化(シーンの変化)を抑えることができ、これにより、判定精度を高めることができる。
以上のことから、図4において、例えば、撮影画像列の左端の画像fと、認識用画像列の左端の画像f’は同じタイミングで撮影されたものである。また、画像f’は、画像fより解像度の低い画像であるとともに、撮影範囲の広い画像である。
なお、以下の説明においては、適宜、図4に示すように時間軸上に並ぶ画像列のそれぞれの画像の位置をフレームナンバで表す。画像列のそれぞれの画像が1フィールドの画像である場合、それぞれの位置をフィールドナンバで表すことも可能である。
図5は、ビデオカメラ1の詳細な構成例を示すブロック図である。
カメラ部11の撮像素子21は、CCD(Charge Coupled Device)などより構成され、レンズ3を介して受光した光に対応する信号をA/D(Analog /Digital)変換部22に出力する。
A/D変換部22は、撮像素子21から供給されてきた信号をA/D変換し、取得した画像を圧縮処理部23に順次出力する。
圧縮処理部23は、A/D変換部22から供給されてくる画像(画像列)を、例えば、MPEG(Moving Picture Experts Group)2方式などの所定の圧縮方式で圧縮し、圧縮して得られた画像列のデータを記憶装置13の撮影画像列記憶部41に出力する。
認識用カメラ部12の撮像素子31、A/D変換部32は、カメラ部11の撮像素子21、A/D変換部22とそれぞれ同様である。すなわち、撮像素子31は、ワイドアングルレンズ4を介して受光した光に対応する信号をA/D変換部32に出力し、A/D変換部32は、撮像素子31からの出力に基づいて得られた画像を解像度変換部33に順次出力する。
解像度変換部33は、A/D変換部32から供給されてくる画像を低解像度の画像に変換し、変換して得られる低解像度の画像を記憶装置13の認識用画像列記憶部42に出力する。解像度変換部33においては、必要に応じて低解像度化した画像列の圧縮も行われる。
記憶装置13は、撮影画像列記憶部41と認識用画像列記憶部42からなる。このうちの撮影画像列記憶部41は、カメラ部11の圧縮処理部23から供給されてきた画像を記憶し、認識用画像列記憶部42は、認識用カメラ部12の解像度変換部33から供給されてきた画像を記憶する。撮影画像列記憶部41と認識用画像列記憶部42には、それぞれ、図4の撮影画像列と認識用画像列を表すデータが記憶される。
出力部51は、パーソナルコンピュータ2との間でIEEE(Institute of Electrical and Electronics Engineers)1394ケーブルやUSB(Universal Serial Bus)ケーブルなどを介して有線の通信を行い、または、IEEE802.11a/b/gなどに準拠した無線通信を行い、撮影画像列記憶部41から読み出した撮影画像列と認識用画像列記憶部42から読み出した認識用画像列をパーソナルコンピュータ2に出力する。
なお、図5においては、認識用カメラ部12にもCCDなどよりなる撮像素子31が設けられるとしたが、上述したように、認識用の画像は解像度の低いものでよいことから、撮像素子31に替えて、光センサアレイが認識用カメラ部12に設けられるようにしてもよい。
例えば、5×5個の光センサアレイが撮像素子31に替えて設けられることによっても、それぞれの光センサの出力の時間的変化から各シーンの類似度を計算することが可能になる。また、配列する光センサの数によっては、CCDを駆動させる場合に較べて消費電力を抑えることが可能になる。従って、認識用カメラ部12により撮影される「画像」には、CCDにより得られた光学情報の他、それぞれの光センサにより得られた光学情報も含まれる。
ここで、図6のフローチャートを参照して、以上のような構成を有するビデオカメラ1の撮影処理について説明する。
ユーザにより撮影の開始が指示されたとき、ステップS1において、カメラ部11と認識用カメラ部12はそれぞれ撮影を開始する。
すなわち、A/D変換部22は、撮像素子21から供給されてきた信号に基づいて画像を取得し、それを圧縮処理部23に順次出力する。圧縮処理部23は、A/D変換部22から供給されてきた画像列を所定の圧縮方式で圧縮し、撮影画像列記憶部41に出力する。
一方、認識用カメラ部12のA/D変換部32は、撮像素子31から供給されてきた信号に基づいて画像を取得し、それを解像度変換部33に順次出力する。解像度変換部33は、A/D変換部32から供給されてきた画像を低解像度化し、得られた低解像度の画像列を認識用画像列記憶部42に出力する。
ステップS2において、記憶装置13の撮影画像列記憶部41と認識用画像列記憶部42は、それぞれ、カメラ部11と認識用カメラ部12から供給されてきた画像列を記憶する。
ステップS3において、撮影の終了がユーザから指示されたか否かが判定され、指示されたと判定されるまで、ステップS1以降の処理が繰り返される。ステップS3において撮影の終了が指示されたと判定された場合、処理は終了される。
以上の処理がユーザ操作に応じて繰り返し行われることにより、記憶装置13には、様々な場所で撮影された撮影画像列と認識用画像列が記憶されることになる。
図7は、図1のパーソナルコンピュータ2の構成例を示すブロック図である。
CPU(Central Processing Unit)61は、ROM(Read Only Memory)62に記憶されているプログラム、または、記憶部68からRAM(Random Access Memory)63にロードされたプログラムに従って各種の処理を実行する。RAM63にはまた、CPU61が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU61、ROM62、およびRAM63は、バス64を介して相互に接続されている。このバス64にはまた、入出力インタフェース65も接続されている。
入出力インタフェース65には、キーボード、マウスなどよりなる入力部66、LCD(Liquid Crystal Display)などよりなる表示部67、ハードディスクなどよりなる記憶部68、ビデオカメラ1との間で有線または無線の通信を行う通信部69が接続されている。記憶部68には、例えば、通信部69を介してビデオカメラ1から取り込まれた撮影画像列と認識用画像列が記憶される。
入出力インタフェース65にはまた、必要に応じてドライブ70が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア71が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部68にインストールされる。ビデオカメラ1が、撮影した画像を光ディスクやフラッシュメモリなどのリムーバブルメディアに記憶するものである場合、ビデオカメラ1により撮影された撮影画像列と認識用画像列は、例えば、そのメディアを介して、ドライブ70によりパーソナルコンピュータ2に取り込まれる。
図8は、パーソナルコンピュータ2の機能構成例を示すブロック図である。図8の各機能部の少なくとも一部は、CPU61により所定のプログラムが実行されることで実現される。
デジャヴエンジン81は、ビデオカメラ1から取り込まれた認識用画像列を取得し、取得した認識用画像列のシーン間の類似度(距離)を算出する。また、デジャヴエンジン81は、シーン間の距離の算出結果に基づいて、距離の近い、すなわち似ているシーン同士のリンク付けを行う。デジャヴエンジン81により算出された距離の情報はクラスタリングエンジン83に出力され、リンク付けに関する情報はメタデータとしてデジャヴプレーヤ82に出力される。
デジャヴプレーヤ82は、デジャヴエンジン81から供給されてきたメタデータに従って、記憶部68に記憶されている撮影画像列の再生を行う。デジャヴプレーヤ82により表示部67に表示される画面には、再生中のシーンとともに、メタデータに基づいて選択される、その再生中のシーンと似ているシーンが表示される。
すなわち、撮影画像列と認識用画像列は同じタイミングで撮影されたものであり、認識用画像列のシーン間の似ている/似ていないは、対応する(撮影時刻が同じ)撮影画像列のシーン間の似ている/似ていないとほぼ一致するから、デジャヴプレーヤ82においては、認識用画像列のシーン間の似ている/似ていないが、撮影画像列のシーン間の似ている/似ていないとして、撮影画像列の再生、表示が行われることになる。
後述するダイジェストプレーヤ84においても、クラスタリングエンジン83による認識用画像列のシーンのクラスタリング結果が、撮影画像列のシーンのクラスタリング結果として、撮影画像列の再生、表示が行われる。
クラスタリングエンジン83は、デジャヴエンジン81から供給されてきた距離情報に基づいてシーンのクラスタリングを行う。クラスタリング結果を表す、どのシーンがどのクラスタに属するかを表す情報は、メタデータとしてダイジェストプレーヤ84に出力される。
ダイジェストプレーヤ84は、クラスタリングエンジン83から供給されてきたメタデータに従って、似ているシーンのまとまりであるクラスタ毎に撮影画像列の再生を行う。ダイジェストプレーヤ84により表示部67に表示される画面には、あるクラスタに属する再生中の画像とともに、時間軸上のクラスタに属するシーンの分布が表示される。
図9は、図8のデジャヴエンジン81の機能構成例を示すブロック図である。なお、図9には、図7の記憶部68の機能構成例の一部も示されている。
デジャヴエンジン81は、コーディング処理部91、特徴ベクトル算出部92、特徴ベクトル記憶部93、HMM(Hidden Markov Model)生成部94、マッチング処理部95、リンク先選択部96から構成される。また、記憶部68は、認識用画像列記憶部111、HMM記憶部112から構成される。
コーディング処理部91は、ビデオカメラ1から取り込まれた認識用画像列を構成する画像のうち、不要であると考えられる画像を省くコーディング処理を行う。この処理は、図4に示すような認識用画像列の先頭の画像から、対象とする画像を時系列順に切り替えて行われる。コーディング処理により不要ではないと考えられる画像のみが認識用の画像として選択され、特徴ベクトル算出部92と認識用画像列記憶部111に出力される。
例えば、コーディング処理部91は、下式(1)に基づいて、今回取得された画像Zと、不要なものではないとして最後に選択した画像xiとの比較を行い、これらの2つの画像間の非類似度または時間間隔に、予め定められた閾値以上の差がある場合、その、今回取得された画像Zを認識用の画像として選択する。
ここで、DmaxはD(xi-1,Z)の最大値である。関数Dは、後述する下式(3)で定義される。また、ρは画像xi-1、および画像Zの受付に必要となるパーセンテージ変化であり、βは適応速度を調整するためのファクタである。これらのρ,βには所定の値が設定される。さらに、ti-1は画像xi-1が取得された時刻であり、tZは画像Zが取得された時刻である。
このように、2つの画像間の非類似度や時間間隔に基づいて画像を選択することにより、同一、または、ほぼ同一の画像が連続して選択されることを防止することができ、有用な画像情報を失うことなく、認識用画像列を圧縮することができる。
また、後述するように、コーディング処理部91により選択された画像列に基づいてHMMが生成されるから、不要な画像が排除されるようにすることで、マッチング処理で利用可能な情報を効率的に多く含む、より大きなHMMを生成することが可能になる。
特徴ベクトル算出部92は、コーディング処理部91から供給されてきた画像の特徴を表す特徴ベクトル(特徴量)を算出し、算出した特徴ベクトルを特徴ベクトル記憶部93に記憶させる。
例えば、特徴ベクトル算出部92は、コーディング処理部91から供給されてきた画像xiと、認識用画像列記憶部111に記憶されている画像{x1,…,xM}(コーディング処理部91により過去に選択された認識用画像列)のそれぞれの距離を求め、その求めた各距離を要素とする特徴ベクトルを取得する。すなわち、下式(2)で表されるM次元の特徴ベクトルが得られる。
なお、D(x,y)は例えば下式(3)で表されるが、2つの画像x,y間の差を表すことができるものであれば他の任意の関数を用いることができる。式(3)において、HWはセンサ番号の高さ方向および幅方向の最大値である。また、lは画像のピクセル位置、cは色チャネル番号(通常1、2、3はそれぞれ赤、緑、青を示す)を表す。
特徴ベクトル記憶部93は、例えば、サーキュラバッファ(Circular Buffer)により構成され、予め定められた数の特徴ベクトルを、特徴ベクトル算出部92から供給されてきた順序で記憶する。特徴ベクトル記憶部93に記憶される特徴ベクトルの順序は、認識用の画像が撮影された時間的な順序に対応する。
すなわち、特徴ベクトル記憶部93に記憶されている内容は、特徴ベクトルを時系列的に並べたものであり、そのうちの最新の特徴ベクトルを「現在」とすると、その「現在」に至るまでの時間的な状況の遷移を表すことになる。このように所定の数の特徴ベクトルにより表される「現在」に至るまでの状況の遷移が、認識用画像列記憶部111に記憶されている画像により表される「過去」の状況の遷移とマッチングされる。
HMM生成部94は、認識用画像列記憶部111に記憶されている認識用画像列に基づいてHMMを生成し、生成したHMMをHMM記憶部112に記憶させる。また、HMM生成部94は、コーディング処理部91により選択された認証用の画像が認識用画像列記憶部111に記憶される毎に、HMM記憶部112に記憶されているHMMを再構築する。
図10は、HMM記憶部112に記憶されるHMMの例を示す図である。
図10に示すように、HMM記憶部112には、N個の認証用の画像が各状態にそれぞれ対応するように構成されたHMMが記憶される。すなわち、デジャヴエンジン81において用いられるモデルは、例えば、部分的にラベル付けされたデータから期待値最大化法(Expectation-Maximization)等を用いて推定されるパラメータよりなるものではなく、HMMの各状態を、認識用画像列記憶部111に記憶されているそれぞれの画像に直接対応させたものである。
また、その遷移パラメータとして、図10の下方に示すように予め定められた値が設定される。図10の遷移パラメータにおいて、縦軸は遷移確率であり、横軸は画像間(状態間)の時間的な距離である。例えば、図10に示すように、距離が大きくなるに従って、遷移確率が0に近づくようなガウス分布に基づいて算出された値が設定される。これにより、遷移パラメータの最適化処理を行う必要がなく、処理負担を軽減させることができる。
このように、通常のように学習を行わずに、遷移パラメータとして予め定めたものを使用するのは、HMMの各状態に対応する画像は時系列的に順次取得されたものであり、ある状態(図10の場合、状態4)から、時間的に遠い状態に遷移する可能性は小さいか、またはゼロであると考えられるためである。
図9の説明に戻り、マッチング処理部95は、HMM記憶部112に記憶されているHMMによるビタビ時系列マッチを行い、特徴ベクトル記憶部93に記憶されている特徴ベクトルの時系列と、HMMの状態とのマッチ度を算出する。特徴ベクトルの時系列は認識用画像のある期間の時系列を表し、また、HMMの各状態は認識用画像列(認識用画像列記憶部111に記憶されている認識用画像列)に対応するから、HMMによるマッチングにより得られるマッチ度の逆数により、特徴ベクトルで表される認識用画像列のある期間のシーンと、そのシーンとマッチングされたHMMの状態に対応するシーンとの距離が表される。
図11は、マッチング処理部95により行われるマッチングの概念を示す図である。図11においては、説明の便宜上、特徴ベクトル記憶部93に記憶されている特徴ベクトルの列を、それにより表される画像列(シーン)として示している。
図11に示すように、マッチング処理部95は、特徴ベクトル記憶部93に記憶されている特徴ベクトルで表される注目シーンと、HMM記憶部112に記憶されている認識用画像列(HMMの状態に対応する画像列)のうちの所定の期間のシーンの時系列マッチを行い、それを、比較される側のシーンを1画像ずつずらしていくことによって、1つの注目シーンに対する、認識用画像列を構成する全てのシーンとの距離を取得する。
図11においては、注目シーンと、認識用画像列全体のうちの期間#0のシーンとの距離が求められ、次に、注目シーンと、期間#0と1画像分だけずれた期間である期間#1のシーンとの距離が求められる。これが、期間#nのシーンが比較される側のシーンとされるまで繰り返されることによって、1つの注目シーンに対する、認識用画像列を構成する全てのシーンとの距離が取得される。
図12は、1つの注目シーンに対する、認識用画像列を構成する全てのシーンとの距離をグラフ化したものである。縦軸はシーン間の距離を表し、横軸はシーンの位置(フレームナンバ)を表す。以下、シーン(例えば、注目シーン、注目シーンと比較される側のシーン)の位置を、そのシーンを構成する画像のうちの時間的に最も新しい画像のフレームナンバで表す。
なお、注目シーンは、認識用画像列全体のうちのどこかに含まれることから、注目シーンと、それと比較する認識用画像列のシーンが同じ画像の列になることがあり、この場合、それらのシーン間の距離はゼロになる。図12においては、このグラフが得られた注目シーンの位置は、円で囲むフレームナンバNで表されている。
さらに、マッチング処理部95は、注目シーンも、それを構成する画像列を1画像ずつずらしていき、新たに選択した注目シーンと、認識用画像列を構成する他のシーンとの距離をビタビ時系列マッチにより取得する。
例えば、図11において、期間#0の画像列が注目シーンとされ、その注目シーンと、認識用画像列を構成する他のシーンとの距離が求められた場合、次に、期間#1の画像列が注目シーンとされ、その注目シーンと、他のシーンとの距離が求められる。これが、期間#nのシーンを注目シーンとして、他のシーンとの距離が取得されるまで繰り返されることによって、認識用画像列の全ての画像列を注目シーンとした場合のそれぞれの距離が求められる。
すなわち、期間#0乃至#nのそれぞれの画像列を注目シーンとして、認識用画像列を構成する他のシーンとの距離が求められることによって、図12に示すようなグラフがn個だけ取得されることになる。
ここで、シーンSiとシーンSjの距離を距離dij、認識用画像列の全画像数をNとすると、図13に示すように、シーン間の距離はN×Nの行列で表される。なお、i=jの場合、距離dijはゼロである。
マッチング処理部95は、このようにして取得した全シーン間の距離を表す距離情報(距離の行列)をリンク先選択部96とクラスタリングエンジン83に出力する。リンク先選択部96においては、全シーン間の距離に基づいてシーン同士のリンク付けが行われ、クラスタリングエンジン83に出力においては各シーンのクラスタリングが行われる。
ここで、マッチング処理部95により行われるビタビ時系列マッチ(ビタビアルゴリズム)について説明する。
ビタビアルゴリズムは、以下のような最大化問題への解を提供する。下式(4)において、siはi番目の画像xiに対応する状態を表し、s* iは最適化された状態を表す。
ビタビアルゴリズムによって、図14に示すように、特徴ベクトル記憶部93に記憶されている特徴ベクトルの行列Hとして表されるN個の画像からなる注目シーンと、HMM記憶部112に記憶されている認識用画像列(HMM)をマッチさせる最適状態系列が決定され、その最適状態系列に沿って求められる確率が、シーン間の距離として取得される。図14の例においては、太線矢印で示す{S1,S1,S2,S3,S3,S2,S3,S4,S4}の系列が最適状態系列として決定されている。
以上においては、ビタビ時系列マッチによりシーン間の距離を算出するとしたが、当然、他の方法によりシーン間の距離が算出されるようにすることも可能である。なお、以上のようなシーン間の距離の算出やビタビ時系列マッチについては、本出願人による特願2004−191308号に、さらにその詳細が開示されている。
リンク先選択部96は、マッチング処理部95から供給されてきた距離情報に基づいて、似ているシーン同士のリンク付けを行う。リンク先選択部96によるリンク付けは、基本的に、注目シーンのリンク先としないシーンの範囲であるデッドゾーンを設定する処理、リンク先の候補を選択する処理、候補の中からリンク先を選択する処理の3つの処理からなる。
図15は、デッドゾーンを設定する処理について示す図である。
図15のグラフは、図12のグラフと同じものである。以下、フレームナンバNの画像を時間的に最も新しい画像として含むシーン(それを注目シーンとすることによって、図12、図15のグラフが得られたシーン)を注目シーンとして、その注目シーンのリンク先を選択する場合について説明する。
この場合、フレームナンバが近い、すなわち、注目シーンの撮影時刻に近い時刻を撮影時刻とするシーンは当然似ているから、そのような似ているのが当然であるようなシーンについては、リンク先として選択されないように、フレームナンバNを中心として、所定の範囲のシーンがデッドゾーンとして設定される。図15において、デッドゾーンには色が付されている。
図16は、リンク先の候補を選択する処理について示す図である。
デッドゾーンが設定された後、図16に示すように、注目シーンと距離の近いシーンが所定の数だけ選択される。図16の例においては、3つの候補である候補#1乃至#3が選択されており、これらのシーンは、いずれもデッドゾーンの範囲外にあるシーンである。
図17は、候補の中からリンク先のシーンを選択する処理について示す図である。
図17の例においては、距離0.4近傍に閾値が設定されており、この閾値より注目シーンとの距離が近い、フレームナンバN1をその位置とする候補#1、および、フレームナンバN2をその位置とする候補#2のみがリンク先として選択されている(リンク先として選択されなかった候補#3は点線で示されている)。
従って、この場合、図を参照して後述するように、フレームナンバNのシーンが再生対象となっており、そのシーンが表示されているタイミングでは、フレームナンバN1,N2のシーンが、再生中のシーンと似ているシーンとして表示される。
以上のようなリンク先の選択がそれぞれのシーンに注目して行われることにより、例えば、図18に示すようなシーンのリンク付けが行われる。
なお、図15乃至図17においては、グラフにより表されるのはシーン間の距離であるからシーン同士をリンク付けするとして説明したが、実際にリンク付けされるのは、リンク付けするものとして選択されたシーンの、例えば、時間的に最も新しい画像同士である。
図18の例においては、リンクポイント#1にある画像に対しては、3つの矢印で示すように、リンク先#1として画像f11、リンク先#2として画像f12、リンク先#3として画像f13が選択されている。リンク先#1,#2,#3の順番は、例えば、シーン間の距離により定まる。
同様に、リンクポイント#2にある画像に対しては、2つの矢印で示すように、リンク先#1として画像f21、リンク先#2として画像f22が選択され、リンクポイント#3にある画像に対しては、1つの矢印で示すように、リンク先#1として画像f31が選択されている。
リンク先選択部96は、以上のようにしてリンク先を選択し、どの画像に対してどの画像がリンク付けされているのかを表すリンクデータを生成する。
図19は、リンクデータの例を示す図である。
図19において、各行の左端に示す数字と「:(コロン)」は説明の便宜上付したものであり、リンクデータを構成するものではない。また、図19に示すリンクデータは、図18のリンク付けを表すものではない。
第1行目の「Frame0_LinkNum=3」は、フレームナンバ0の画像には、リンク先が3つ(Link0,1,2)設定されていることを表す。
第2行目の「Frame0_Link0=2452」は、フレームナンバ0の画像のリンク先の1つである「Link0」のフレームナンバが「2452」であることを表す。同様に、第3行目の「Frame0_Link1=5664」は、フレームナンバ0の画像のリンク先の1つである「Link1」のフレームナンバが「5664」であることを表す。
第4行目の「Frame0_Link2_FileName=family.mpg」は、フレームナンバ0の画像のリンク先の1つである「Link2」が、「family.mpg」の名前が設定されたファイルに格納されている画像であることを表す。
第5行目の「Frame0_Link2=343」は、その「family.mpg」の名前が設定されたファイル中のフレームナンバ「343」の画像が、フレームナンバ0の画像のリンク先(Link2)であることを表す。
このように、パーソナルコンピュータ2に記憶されている全ての画像列を対象としてシーン間の距離の算出、リンク先の選択が行われる場合、ファイルを越えてリンク付けがされることもある。
第6行目の「Frame0_Next=15」は、フレームナンバ0の画像の次に、リンク先に関する情報が設定されている画像のフレームナンバが「15」であることを表し、第7行目の「Frame15_LinkNum=0」は、フレームナンバ15の画像にはリンク先がないことを表す。このように、リンク先がないことは、その画像が再生対象の画像になったとき、それまで表示していたリンク先の表示を消去することを表す。
従って、例えば、図19のリンクデータに従って撮影画像列のフレームナンバ0の画像から再生が行われる場合、そのフレームナンバ0の画像の表示と同時に、似ているシーンの画像としてフレームナンバ2452,5664の画像、および、「family.mpg」の名前が設定されたファイルに格納されているファイルナンバ343の画像が表示される。その状態は、再生対象の画像がフレームナンバ15の画像となるまで続けられる。
フレームナンバ15の画像が現在の再生対象の画像になったとき、フレームナンバ2452,5664の画像、および、「family.mpg」の名前が設定されたファイルに格納されているファイルナンバ343の画像の表示は消去される。
第8行目の「Frame15_Next=476」は、フレームナンバ15の次にリンク先に関する情報が設定されている画像のフレームナンバが「476」であることを表し、以降、同様の記述がリンクデータに含まれる。
このような記述を含むリンクデータが、メタデータとしてデジャヴエンジン81からデジャヴプレーヤ82に出力される。
以上のような構成を有するデジャヴエンジン81の動作についてはフローチャートを参照して後述する。
図20は、デジャヴプレーヤ82の機能構成例を示すブロック図である。
デジャヴプレーヤ82は、画像選択部121、再生制御部122、およびリンク先表示部123から構成される。
画像選択部121は、記憶部68(図7)に記憶されている撮影画像列を読み出し、デジャヴエンジン81から供給されてくるリンクデータとユーザ操作に基づいて、撮影画像列うちの必要な画像を選択する。画像選択部121は、撮影画像列から選択した再生対象とする画像を再生制御部122に出力するともに、再生制御部122により再生されている画像のリンク先を撮影画像列から選択し、その選択したリンク先をリンク先表示部123に出力する。
例えば、図19のリンクデータが供給されている場合において、フレームナンバ0の画像が再生制御部122により再生されているとき、画像選択部121は、その画像のリンク先であるフレームナンバ2452,5564,343(「family.mpg」の名前が設定されたファイルにある画像)の画像を撮影画像列から選択し、それらをリンク先表示部123に出力する。
再生制御部122は、画像選択部121から供給されてきた画像を再生し、それを表示部67の所定の位置に表示させる。
リンク先表示部123は、画像選択部121から供給されてきたリンク先を、再生制御部122により表示されている再生中の画像の位置と異なる位置に表示させる。
図21は、デジャヴプレーヤ82により表示される画面の例を示す図である。
中央上方の動画表示部131には、再生制御部122により再生されている画像(ユーザにより選択された動画)が表示され、画面の下方にあるリンク先表示部133−1乃至133−3には、そのとき動画表示部131に表示されている画像のリンク先が表示される。再生中の画像に応じてリンク先が異なるから、リンク先表示部133−1乃至133−3の表示は、適宜、そのときの動画表示部131の表示に連動して切り替わることになる。
これにより、再生中のシーンとは別に、ユーザが過去に見たであろう、その再生中のシーンと似ているシーンを提示することができ、ユーザに「デジャヴ」を与えることが可能になる。
例えば、いま、ユーザが先日スキー場に行ったときに撮影した動画を再生させている場合(その動画が動画表示部131に表示されている場合)、その動画とは別に、ユーザが去年行ったスキー場の動画がパーソナルコンピュータ2に記憶されているときには、その去年のスキー場のシーンなどが自動的に提示されることになる。従って、ユーザは、去年もスキー場に行ったことを思い出したりすることができる。
また、図21の画面においては、リンク先表示部133−1乃至133−3に表示されている画像を選択することによって、その画像の位置から撮影画像列の再生を開始させることができるようになされている。従って、ユーザは、そのように自動的に提示される画像の中から選択するだけで、似たようなシーンに再生対象を替えることができる。
なお、リンク先表示部133−1乃至133−3には、リンク先の静止画、動画のいずれが表示されるようにしてもよい。動画が表示される場合、例えば、リンク先とされている画像以降の所定の期間のシーンが表示される。
図21において、動画表示部131とリンク先表示部133−1乃至133−3の間にあるスライドバー132は、ユーザが再生対象として選択した動画ファイル全体のうちの、現在の再生位置を表す。ユーザは、このスライドバー132を操作することによっても再生位置を替えることができる。
次に、図21の表示が実現されるまでのデジャヴエンジン81およびデジャヴプレーヤ82の一連の動作について説明する。
始めに、図22のフローチャートを参照して、デジャヴエンジン81により行われる認識用の画像の選択処理について説明する。
ステップS11において、デジャヴエンジン81のコーディング処理部91(図9)は、ビデオカメラ1から取り込まれた認識用画像列のうちの1つの画像を取得し、ステップS12に進み、今回取得した画像と、最後に選択した画像(不要でない画像として選択した画像)との比較を行い、これらの2つの画像間の非類似度または時間間隔に、予め定められた閾値以上の差があるか否かを判定する。上述したように、ここでの判定は、例えば、上式(1)に基づいて行われる。
コーディング処理部91は、ステップS12において、それらの画像の間に閾値以上の差がないと判定した場合、ステップS11に戻り、次の画像を取得して以降の処理を繰り返す。
一方、ステップS12において、コーディング処理部91は、それらの画像の間に閾値以上の差があると判定した場合、ステップS13に進み、その、今回取得した画像を認識用の画像として選択する。コーディング処理部91により選択された画像は、記憶部68の認識用画像列記憶部111に記憶されるとともに、特徴ベクトル算出部92に出力される。
ステップS14において、コーディング処理部91は、ビデオカメラ1から取り込まれた認識用画像列のうちの最後の画像を取得したか否かを判定し、取得していないと判定した場合、ステップS11に戻り、それ以降の処理を行う。コーディング処理部91は、ステップS14において、最後の画像を取得したと判定した場合、処理を終了させる。
次に、図23のフローチャートを参照して、デジャヴエンジン81のHMM生成処理について説明する。
ステップS21において、デジャヴエンジン81のHMM生成部94は、認識用の画像がコーディング処理部91により新たに選択され、それが認識用画像列記憶部111に記憶されたか否か、すなわち、認識用画像列記憶部111に記憶されている認識用画像列が更新されたか否かを判定し、更新されたと判定するまで待機する。
HMM生成部94は、ステップS21において、認識用画像列が更新されたと判定した場合、ステップS22に進み、認識用画像列記憶部111に記憶されている認識用画像列に基づいてHMMを生成し、生成したHMMをHMM記憶部112に記憶させる。その後、処理は終了される。
これにより、HMM記憶部112には、図11に示すような、N個の認証用の画像が各状態にそれぞれ対応するように構成されたHMMが記憶される。
なお、HMM記憶部112にHMMが既に記憶されている場合、HMM生成部94は、その記憶されているHMMを、更新された認識用の画像に基づいて再構築する。
次に、図24のフローチャートを参照して、デジャヴエンジン81により行われるシーン間の距離算出処理について説明する。
ステップS31において、特徴ベクトル算出部92は、HMMの各状態に対応する認識用画像列とマッチングする注目シーンを設定する。すなわち、特徴ベクトル算出部92は、注目シーンとする画像の特徴ベクトルを算出し、算出した特徴ベクトルを特徴ベクトル記憶部93に記憶させる。
ステップS32において、マッチング処理部95は、ステップS31で設定された注目シーンと、HMM記憶部112に記憶されているHMMの状態に対応するシーンの距離を算出する。また、マッチング処理部95は、注目シーンとの距離の算出を、比較される側のシーンを1画像ずつずらして繰り返し行い、1つの注目シーンに対する、認識用画像列を構成する全てのシーンとの距離を算出する。
1つの注目シーンに対する全てのシーンとの距離が算出された場合、特徴ベクトル算出部92は、ステップS33において、注目シーンを1画像ずらして設定する。すなわち、特徴ベクトル算出部92は、注目シーンとして加える1つの画像の特徴ベクトルを算出し、それを特徴ベクトル記憶部93に記憶させる。なお、このとき、特徴ベクトル記憶部93に記憶されていた時間的に最も古い画像の特徴ベクトルは削除される。
これにより、例えば、認識用画像列のうち、図11の期間#0のシーンがそれまで注目シーンとして設定されていた場合、注目シーンとする期間が1画像分移動し、期間#1のシーンが新たに注目シーンとして設定されることになる。
ステップS34において、特徴ベクトル算出部92は、認識用画像列の最後の画像を含むシーンを注目シーンとして距離の算出を行ったか否かを判定し、まだ行っていないと判定した場合、ステップS32に戻り、それ以降の処理を行う。すなわち、ステップS33で設定された注目シーンに対する距離の算出が繰り返し行われる。
一方、特徴ベクトル算出部92は、ステップS34において、認識用画像列の最後の画像を含むシーンを注目シーンとして距離の算出を行ったと判定した場合、ステップS35に進む。
ステップS35において、マッチング処理部95は、全シーン間の距離の行列を含む距離情報をリンク先選択部96とクラスタリングエンジン83に出力し、処理を終了させる。
次に、図25のフローチャートを参照して、デジャヴエンジン81のリンク先選択処理について説明する。
この処理は、例えば、図24の処理が行われ、マッチング処理部95からリンク先選択部96に距離情報が供給されてきたときに開始される。
ステップS41において、リンク先選択部96は、マッチング処理部95から供給されてきた距離情報を取得し、その中から、1つの注目シーンの距離情報を選択する。ここで選択される情報は、図12に示すような距離情報、または、図13の行列のうちの1行(または1列)の距離に関する距離情報である。例えば、認識用画像列全体のうち、最初の画像を含むシーンを注目シーンとして算出された距離情報から選択され、以降の処理が行われる。
ステップS42において、リンク先選択部96は、注目シーンのリンク先としないシーンの範囲であるデッドゾーンを設定する(図15)。
また、リンク先選択部96は、ステップS43において、注目シーンとの距離が近いシーンをリンク先の候補のシーンとして所定の数だけ選択し(図16)、ステップS44に進み、選択した候補の中から、実際にリンク先とするシーンを閾値処理により選択する(図17)。
ステップS45において、リンク先選択部96は注目シーンを1画像ずらし、新たに選択した注目シーンの距離情報を取得する。
ステップS46において、リンク先選択部96は、認識用画像列の最後の画像を含むシーンを注目シーンとしてリンク先を選択したか否かを判定し、選択していないと判定した場合、ステップS42に戻り、それ以降の処理を行う。すなわち、ステップS45で新たに選択された注目シーンのリンク先の選択が繰り返し行われる。
一方、リンク先選択部96は、ステップS46において、認識用画像列の最後の画像を含むシーンを注目シーンとしてリンク先を選択したと判定した場合、ステップS47に進む。
ステップS47において、リンク先選択部96は、それまでに選択したリンク先に関する情報を記述するリンクデータを生成し、生成したリンクデータをデジャヴプレーヤ82に出力する。その後、処理は終了される。
次に、図26のフローチャートを参照して、デジャヴプレーヤ82の再生処理について説明する。
ステップS61において、デジャヴプレーヤ82の画像選択部121(図20)は、ユーザ操作に応じて、記憶部68に記憶されている撮影画像列を読み出し、再生対象とする画像を選択する。例えば、記憶部68に記憶されている所定の動画ファイルが選択されたとき、画像選択部121は、そのファイルに格納される撮影画像列の先頭の画像から順次選択し、それを再生制御部122に出力する。
また、画像選択部121は、ステップS62において、デジャヴエンジン81から供給されてきたリンクデータを参照し、現在の再生対象の画像のリンク先を撮影画像列から選択する。画像選択部121により選択されたリンク先はリンク先表示部123に出力される。なお、そのとき再生対象とされている画像にリンク先がない場合、リンク先表示部123にリンク先は出力されない。
ステップS63において、再生制御部122は、画像選択部121から供給されてきた画像の再生を開始し、表示部67の所定の位置に表示させる。
一方、リンク先表示部123は、ステップS64において、画像選択部121から供給されてきたリンク先を表示部67の所定の位置に表示させる。これにより、表示部67には、例えば、図21の画面が表示される。
ステップS65において、画像選択部121は、現在、再生制御部122により再生されている画像のリンク先が、リンク先表示部133−1乃至133−3に表示されている画像と異なるか否かを判定する。すなわち、ステップS63で再生が開始された後、再生対象の画像は時間の経過とともに順次変わるから、現在再生対象とされている画像のリンク先がリンク先表示部133−1乃至133−3に正しく表示されているか否かが判定される。
ステップS65において、画像選択部121は、再生制御部122により再生対象とされている画像のリンク先が、リンク先表示部133−1乃至133−3に表示されている画像と異なると判定した場合、ステップS66に進む。
ステップS66において、画像選択部121は、リンク先として新たに表示させる画像をリンク先表示部123に供給し、リンク先表示部133−1乃至133−3の表示を変更させる。これにより、再生中の画像に連動して、リンク先の表示が切り替えられる。
ステップS65において、現在再生中の画像のリンク先が正しくリンク先表示部133−1乃至133−3に表示されていると判定された場合、ステップS66の処理はスキップされる。
ステップS67において、画像選択部121は、ユーザ操作に基づいて、リンク先表示部133−1乃至133−3に表示しているリンク先が選択され、再生対象をリンク先に変更することが指示されたか否かを判定し、指示されたと判定した場合、ステップS68に進む。
ステップS68において、画像選択部121は、ユーザによりリンク先が選択された場合、その選択されたリンク先以降の画像を再生制御部122に供給し、再生を開始させる。これにより、それまでに再生されていたシーンの再生は終了され、新たに選択されたリンク先以降のシーンの再生が開始される。
ステップS67において、リンク先が選択されていないと判定された場合、ステップS68の処理はスキップされる。
ステップS69において、画像選択部121は、再生を終了するか否かを判定し、終了しないと判定した場合、ステップS65に戻り、それ以降の処理を繰り返す。例えば、ユーザにより再生の停止が指示された場合、または、ユーザにより選択された撮影画像列の最後の画像まで再生した場合、画像選択部121は、ステップS69において、再生を終了すると判定し、処理を終了させる。
以上の一連の処理により、ユーザは、自分が選択したシーンを見ることができるとともに、そのシーンと似ているシーンも、同じ画面で確認することができる。また、ユーザは、似ているものとして表示されたシーンの中から所定のシーンを選択することによって、似ているシーンのジャンプ再生(図2の上方の吹き出しに示す再生方法)を容易に行うことができる。
次に、図2の下方の吹き出しに示す再生方法である、似ているシーンのまとまり毎の再生方法について説明する。
図27は、図8のクラスタリングエンジン83の機能構成例を示すブロック図である。
クラスタリングエンジン83は、クラスタリング部201、リスト生成部202、リスト記憶部203、およびクラスタデータ生成部204から構成される。
クラスタリング部201は、デジャヴエンジン81から供給されてきた距離情報(図13の距離行列)に基づいて各シーンのクラスタリングを行う。
図28は、クラスタリング部201により行われるクラスタリングの例を示す図である。
クラスタリング部201は、図28の×印で示すように、デジャヴエンジン81から供給されてきた距離情報に基づいて各シーンをプロットする。図28において、1つの要素(×印)は1シーンを表し、要素間の距離はそれぞれの要素により表されるシーン間の距離を表す。
図28の例においては、図の右方にプロットされている要素#1と要素#2は、それぞれシーン#1、シーン#2を表し、要素#1と要素#2の間の距離Lはシーン#1とシーン#2間の距離を表す。シーン#1とシーン#2間の距離Lは距離情報から得られる。
図28に示すようにプロットを行った後、クラスタリング部201は、図29に示すように、距離の近い要素が同じクラスタに属するものとなるようにクラスタリングを行う。図29の例においては、クラスタ#1乃至#3に全ての要素が含まれるようにクラスタリングが行われている。
図30は、クラスタリングのイメージをグラフ上で示す図である。
図30のグラフは図12のグラフと同じである。図30に示すように、例えば、点線で囲まれるシーンが同じクラスタに属するものとされる。これらの点線で囲まれるシーンは、注目シーンと比較的近い距離のシーンである。
他のシーンを注目シーンとして算出された距離を表すグラフにおいても、同様に、距離の近いシーンが同じクラスタに属するものとなるようにクラスタリングが行われる。
なお、クラスタリングに用いられるクラスタの数は、その粒度で定められる。
ここで、クラスタの粒度は、基本的に、1つのクラスタに属する要素の数に対応し、粒度が細かい程、1つのクラスタに属する要素の数が少ないことを表す。従って、全ての要素を少ない数のクラスタでカバーしている状態が、粒度が粗い状態といえる。
図31は、クラスタリングの過程をツリー状に表すクラスタツリーの例を示す図である。この図を用いてクラスタの粒度について説明する。
上述したように、デジャヴエンジン81から供給されてきた距離情報を用いて、距離の近い要素同士を結びつけるように所定のアルゴリズムによってクラスタリングを行っていくと、図31の一番下のノードに示す認識用画像列のそれぞれのシーンは、最終的には、1個のクラスタC0に集結することになる。なお、図31においても、それぞれのシーンの位置は、そのシーンを構成する画像のうちの時間的に最も新しい画像の位置で表している。
このようにクラスタリングの過程を表すクラスタツリーに適当な閾値(ツリーにおける階層の深さ)を設定することにより、閾値の線と、クラスタツリーの枝の交点によりクラスタが定義される。すなわち、交点の数により、全てのシーンをカバーするためのクラスタの数が定まる。また、そのクラスタの数によりそれぞれのクラスタに属するシーンの数が定まるから、これにより、クラスタの粒度が定まる。
例えば、図31に示すように、適当な閾値として閾値#0を設定した場合、交点の数は1個であり、1個のクラスタに全てのシーンが属することになる。また、閾値#1を設定した場合、交点の数は2個であり、それぞれの交点の下の枝の全てのシーンが、2個のクラスタのそれぞれに属することになる。さらに、閾値#2を設定した場合、交点の数は3個であり、それぞれの交点の下の枝の全てのシーンが、3個のクラスタのそれぞれに属することになる。
このように、クラスタは、クラスタツリーの閾値を下げると(深さを深くすると)、その数が多くなり、また、粒度が細かくなる性質を有する。従って、ユーザは、逆に、粒度を指定することによってクラスタの数を指定することができ、それにより、1つのクラスタに属するシーンの数を変えること、すなわち、ひとまとまりのものとして連続して再生されるシーンの期間を変えることができる。
なお、クラスタリングの手法としては、例えば、nearest neighbor,farest neighbor,centroidなどがあるが、どのような手法が用いられるようにしてもよい。
図27の説明に戻り、クラスタリング部201は、このようなシーン間の距離に基づくクラスタリングを、クラスタの粒度を変えて適宜行い、それぞれの粒度におけるクラスタリングの結果をリスト生成部202に出力する。
リスト生成部202は、クラスタリング部201から供給されてくるクラスタリング結果に基づいて、それぞれのクラスタに属する画像のフレームナンバ(シーンを構成する画素のうちの時間的に最も新しい画像のフレームナンバ)からなるリストを生成し、生成したリストをリスト記憶部203に記憶させる。
リスト生成部202に対しては、クラスタリング部201からクラスタの粒度毎のクラスタリング結果が供給されてくるから、リスト記憶部203には、例えば、クラスタの数が2個の場合のそれぞれのクラスタに属する画像のフレームナンバのリスト、3個の場合のそれぞれのクラスタに属する画像のフレームナンバのリストというように、クラスタの粒度毎のフレームナンバのリストが記憶される。
クラスタデータ生成部204は、リスト記憶部203に記憶されているものの中から所定のリストを読み出し、読み出したリストに基づいて、各画像を時間軸上(フレームナンバ軸上)に並べ、それぞれの画像のクラスタに関するデータであるクラスタデータを生成する。
図32は、クラスタリング結果の例を示す図である。
図32においては、フレームナンバ0乃至4000の画像が示されており、そのうちのフレームナンバ0乃至449の画像がクラスタ#1、フレームナンバ450乃至1149の画像がクラスタ#2、フレームナンバ1150乃至2249の画像がクラスタ#1、フレームナンバ2250乃至2979の画像がクラスタ#2、フレームナンバ2980乃至3339の画像がクラスタ#3、フレームナンバ3340乃至4000の画像がクラスタ#1とされている。
このようにクラスタリングがされている場合において、ユーザが例えば再生対象のクラスタとしてクラスタ#1を選択したとき、クラスタ#1に属する画像であるフレームナンバ0の画像から再生が開始され、フレームナンバ449の画像の再生が終了したとき、フレームナンバ1150から再生が開始される。
また、フレームナンバ2249の画像が再生されたとき、フレームナンバ3340の画像から、フレームナンバ4000の画像まで再生される。
図33および図34は、クラスタデータの例を示す図である。
図33および図34においても、図19と同様、各行の左端に示す数字と「:」は説明の便宜上付したものである。また、図33および図34に示すクラスタデータは、図32に示すクラスタリング結果を表すものではない。
「ClusterInfo」として記述される第1行目の「ClusterDepthNum=3」は、図33および図34のクラスタデータに記述されるクラスタの粒度が3段階あること、すなわち、クラスタの粒度を「粗い」、「中くらい」、「細かい」とした場合の、それぞれ場合のクラスタの情報が記述されていることを表す。
図33および図34においては、「ClusterDepth0」がクラスタの粒度が「粗い」場合のクラスタの情報を表し、「ClusterDepth1」がクラスタの粒度が「中くらい」の場合のクラスタの情報を表す。また、「ClusterDepth2」がクラスタの粒度が「細かい」場合のクラスタの情報を表す。撮影画像列の再生時には、ユーザにより指定された粒度に関する記述が参照される。
図33の第2行目乃至第4行目には、「ClusterDepth0」(粒度が「粗い」)のクラスタの情報が記述されており、第5行目乃至第8行目には、「ClusterDepth1」(粒度が「中くらい」)のクラスタの情報が記述されている。また、第9行目乃至第14行目には、「ClusterDepth2」(クラスタの粒度が「細かい」)のクラスタの情報が記述されている。
第2行目の「ClusterNum=2」は、「ClusterDepth0」である場合、クラスタの数は2個であることを表す。第3行目の「ClusterTitle0=家の中」と第4行目の「ClusterTitle1=庭」は、2個のうちの1つ目のクラスタのタイトルは「家の中」であり、2つ目のクラスタのタイトルは「庭」であることを表す。
クラスタのタイトルは、例えば、クラスタリングの結果であるそれぞれのクラスタのシーンを見たユーザにより設定される。
同様に、第5行目乃至第8行目には、「ClusterDepth1」である場合のクラスタの数と、それぞれのクラスタのタイトルが記述されている。また、第9行目乃至第14行目には、「ClusterDepth2」である場合のクラスタの数と、それぞれのクラスタのタイトルが記述されている。
図34の「ClusterData」は、それぞれのクラスタに属する画像の情報を表す。
第1行目の「Frame0_Depth0=1」は、「ClusterDepth0」である場合、フレームナンバ0の画像のクラスタ(フレームナンバ0の画像から次のクラスタの先頭画像までのクラスタ)がクラスタ1(図33の第4行目の「ClusterTitle1=庭」のクラスタ)であることを表す。
第2行目の「Frame0_Depth1=2」は、「ClusterDepth1」である場合、フレームナンバ0の画像のクラスタ(フレームナンバ0の画像から次のクラスタの先頭画像までのクラスタ)がクラスタ2(図33の第8行目の「ClusterTitle2=庭」のクラスタ)であることを表す。
第3行目の「Frame0_Depth2=4」は、「ClusterDepth2」である場合、フレームナンバ0の画像のクラスタ(フレームナンバ0の画像から次のクラスタの先頭画像までのクラスタ)がクラスタ4(図33の第14行目の「ClusterTitle4=庭」のクラスタ)であることを表す。
第4行目の「Frame0_Next_Depth0=443」は、「ClusterDepth0」である場合、フレームナンバ0の画像の次にクラスタの先頭画像となる画像のフレームナンバがフレームナンバ443であることを表す。
第5行目の「Frame0_Next_Depth1=200」は、「ClusterDepth1」である場合、フレームナンバ0の画像の次にクラスタの先頭画像となる画像のフレームナンバがフレームナンバ200であることを表す。
第6行目の「Frame0_Next_Depth2=200」は、「ClusterDepth2」である場合、フレームナンバ0の画像の次にクラスタの先頭画像となる画像のフレームナンバがフレームナンバ200であることを表す。
第7行目の「Frame200_Depth1=1」は、「ClusterDepth1」である場合、フレームナンバ200の画像のクラスタ(フレームナンバ200の画像から次のクラスタの先頭画像までのクラスタ)がクラスタ1(図33の第7行目の「ClusterTitle1=玄関」のクラスタ)であることを表す。
第8行目の「Frame200_Depth2=2」は、「ClusterDepth2」である場合、フレームナンバ200の画像のクラスタ(フレームナンバ200の画像から次のクラスタの先頭画像までのクラスタ)がクラスタ2(図33の第12行目の「ClusterTitle2=玄関」のクラスタ)であることを表す。
第9行目の「Frame200_Next_Depth1=443」は、「ClusterDepth1」である場合、フレームナンバ200の画像の次にクラスタの先頭画像となる画像のフレームナンバがフレームナンバ443であることを表す。
第10行目の「Frame200_Next_Depth2=443」は、「ClusterDepth2」である場合、フレームナンバ200の画像の次にクラスタの先頭画像となる画像のフレームナンバがフレームナンバ443であることを表す。
第11行目の「Frame443_Depth0=0」は、「ClusterDepth0」である場合、フレームナンバ443の画像のクラスタ(フレームナンバ433の画像から最後の画像までのクラスタ)がクラスタ0(図33の第3行目の「ClusterTitle0=家の中」のクラスタ)であることを表す。
第12行目の「Frame443_Depth1=0」は、「ClusterDepth1」である場合、フレームナンバ443の画像のクラスタ(フレームナンバ433の画像から最後の画像までのクラスタ)がクラスタ0(図33の第6行目の「ClusterTitle0=家の中」のクラスタ)であることを表す。
第13行目の「Frame443_Depth2=0」は、「ClusterDepth2」である場合、フレームナンバ443の画像のクラスタがクラスタ0(図33の第10行目の「ClusterTitle0=家の中」のクラスタ)であることを表す。
第14行目乃至第16行目は、それぞれの「ClusterDepth」毎の、クラスタの先頭画像となる最後の画像のフレームナンバを表す。
このように、「ClusterInfo」、「ClusterDepth」、および「ClusterData」を含むクラスタデータがメタデータとしてクラスタリングエンジン83からダイジェストプレーヤ84に出力される。
以上のような構成を有するクラスタリングエンジン83の動作についてはフローチャートを参照して後述する。
図35は、図8のダイジェストプレーヤ84の機能構成例を示すブロック図である。
ダイジェストプレーヤ84は、画像選択部211、再生制御部212、およびクラスタ分布表示制御部213から構成される。
画像選択部211は、記憶部68に記憶されている撮影画像列を読み出し、クラスタリングエンジン83から供給されてくるクラスタデータとユーザ操作に基づいて、撮影画像列のうちの必要な画像を選択する。画像選択部211は、あるクラスタがユーザにより指定されたとき、そのクラスタに属する画像のみを撮影画像列から選択し、選択した画像を再生対象の画像として再生制御部212に出力する。
例えば、図33および図34のクラスタデータが供給されており、「ClusterDepth0」が選択され、かつ、再生するクラスタとして「ClusterTitle0=家の中」のクラスタが選択されている場合、画像選択部211は、その選択されたクラスタに属する画像であるフレームナンバ0の画像から再生制御部212に供給し、再生させる。
また、画像選択部211は、異なるクラスタの先頭画像となるフレームナンバ443まで(フレームナンバ443の画像を含まず)画像の供給を続けることにより、フレームナンバ0乃至442までの画像からなる、「ClusterDepth0」の場合の「ClusterTitle0」のクラスタの1つのまとまりの再生を行わせる。
再生制御部212は、画像選択部211から供給されてきた画像を再生し、表示部67の所定の位置に表示させる。
クラスタ分布表示制御部213は、クラスタリングエンジン83から供給されてきたクラスタデータに基づいてクラスタの時間軸上の分布を表示部67に表示させる。
図36は、ダイジェストプレーヤ84により表示される画面の例を示す図である。
左上方の動画表示部221には、再生制御部212により再生されている画像が表示され、下方にあるクラスタ分布表示部225には、ユーザが選択したクラスタの時間軸上の分布が表示される。クラスタに属するシーンの分布は、画像のまとまりを表すムービーブロックにより表される。
図36の例においては、同じクラスタに属するムービーブロック#1乃至#9がクラスタ分布表示部225に表示されており、そのうちの斜線で示すムービーブロック#3が、現在、再生中のムービーブロックである。すなわち、図36において、動画表示部221に表示されている画像は、ムービーブロック#3に含まれる画像である。
例えば、現在再生されているムービーブロック#3の最後の画像の再生が終了したとき、次に、ムービーブロック#4の最初の画像から再生が開始される。これにより、ユーザは、自分が選択したシーンと似ているシーンだけをまとめて見ることができる。
また、ユーザは、現在再生中のムービーブロックとは異なるムービーブロックをクラスタ分布表示部225から選択することによって、その選択したムービーブロックの再生を開始させることができる。
なお、ムービーブロック#1乃至#9のクラスタとは異なるクラスタの表示もユーザにより指定されている場合、クラスタ分布表示部225には、それらのクラスタに属するシーンの分布も表示される。例えば、クラスタ分布表示部225に表示されるムービーブロックは、クラスタに応じて色分けされ、ユーザが、次にどのムービーブロックが再生されるのかを確認できるようになされる。
図36の画面には、各種の操作ボタンが表示される操作ボタン表示部222、クラスタの粒度、および再生対象とするクラスタを選択するクラスタ選択部223、および、再生中のムービーブロックに関する情報を表示するムービーブロック情報表示部224も表示されている。
操作ボタン表示部222に表示されるファイル選択ボタン241は、ユーザが動画ファイルを選択するとき操作され、再生/一時停止ボタン242は、ユーザが再生を開始、または一時停止するとき操作される。また、移動ボタン243は、再生するムービーブロックを、現在再生中のものから隣のものに移動するとき操作され、速度選択ボタン244は、ムービーブロックの再生速度を選択するとき操作される。
クラスタ選択部223に表示される粒度選択部251は、ユーザがクラスタの粒度を指示するとき操作され、クラスタ選択部252,253は、再生対象とするクラスタを指示するとき操作される。
次に、図36に示すような表示が実現されるまでの、クラスタリングエンジン83およびダイジェストプレーヤ84の一連の動作について説明する。
始めに、図37のフローチャートを参照して、クラスタリングエンジン83により行われるクラスタリング処理について説明する。
この処理は、例えば、デジャヴエンジン81により図24の処理が実行され、デジャヴエンジン81から距離情報が供給されてきたときに開始される。
ステップS101において、クラスタリング部201は、デジャヴエンジン81から供給されてきた距離情報を用いて各シーンのクラスタリングを行う。ここで行われるクラスタリングにより、例えば、図31のクラスタリングツリーがクラスタリング結果として得られる。このクラスタリング結果はクラスタリング部201からリスト生成部202に供給される。
ステップS102において、リスト生成部202は、クラスタ数を2として設定し、ステップS103に進み、それぞれのクラスタに属する画像(それぞれのクラスタに属するシーンを構成する画像のうちの時間的に最も新しい画像)のフレームナンバからなるリストをリスト記憶部203に出力する。リスト記憶部203には、それぞれの粒度の場合において、どのクラスタにどの画像が含まれるかを表すフレームナンバのリストが記憶される。
例えば、リスト生成部202は、図31のクラスタリングツリーの閾値として閾値#1を設定し、それにより定義される2つのクラスタに属する画像のフレームナンバのリストをリスト記憶部203に出力する。このときリスト記憶部203に記憶されるリストには、図31の交点P1より下の枝にあるシーンと、交点P2より下の枝にあるシーンのフレームナンバが記述される。
ステップS104において、リスト生成部202は、クラスタの数が最大のn個に達したか否かを判定し、達していないと判定した場合、ステップS105に進む。例えば、ダイジェストプレーヤ84により表示可能な最大のクラスタの数が予め定められており、ここでは、その数に達したか否かが判定される。
ステップS105において、リスト生成部202は、クラスタの数を例えば1だけ増やし、ステップS103以降の処理を行う。例えば、クラスタの数が3である場合、リスト生成部202は、図31のクラスタリングツリーの閾値として閾値#2を設定し、それにより定義される3つのクラスタに属するシーンのフレームナンバのリストをリスト記憶部203に出力する。このときリスト記憶部203に記憶されるリストには、図31の交点P11より下の枝にあるシーン、交点P12より下の枝にあるシーン、および、交点P13より下の枝にあるシーンのフレームナンバが記述される。
一方、ステップS104において、リスト生成部202は、クラスタの数が最大のn個に達したと判定した場合、ステップS106に進む。クラスタの数が最大のn個に達した場合、そのことがリスト生成部202からクラスタデータ生成部204に通知される。
ステップS106において、クラスタデータ生成部204は、リスト記憶部203に記憶されているフレームナンバのリストうち、クラスタ数i(i≦n)のときの、それぞれのクラスタに属する画像のフレームナンバのリストを読み出し、ステップS107に進み、それらの画像を時間軸上に並べる。
ステップS108において、クラスタデータ生成部204は、各画像がどのクラスタに属するのかを記述したクラスタデータを生成し、メタデータとしてダイジェストプレーヤ84に出力する。
次に、図38のフローチャートを参照して、ダイジェストプレーヤ84の再生処理について説明する。
この処理は、例えば、クラスタリングエンジン83からクラスタデータが供給されており、ユーザ操作に応じて図36のプレーヤ画面が表示されている状態で行われる。
ステップS121において、画像選択部211は、ユーザによるクラスタの粒度の選択を受け付ける。また、画像選択部211は、ステップS122において、再生するクラスタの選択を受け付ける。
例えば、図36の粒度選択部251、クラスタ選択部252,253にユーザにより所定の値が入力されたとき、画像選択部211は、入力されたクラスタの粒度と、クラスタの選択を受け付ける。ユーザにより選択されたクラスタの情報は、画像選択部211からクラスタ分布表示制御部213に通知される。
ステップS123において、クラスタ分布表示制御部213は、クラスタリングエンジン83から供給されてきたクラスタデータを参照し、ユーザにより選択された粒度における、クラスタの時間軸上の分布をクラスタ分布表示部225に表示させる。これにより、ユーザは、クラスタに属するシーンの分布を確認することができるとともに、再生するムービーブロックを選択することができる。
ステップS124において、画像選択部211は、ユーザ操作に応じて、所定のムービーブロックの画像を再生制御部212に出力し、再生させる。
ステップS125において、画像選択部211は、ユーザにより、クラスタ分布表示部225に表示されているムービーブロックの中から、現在再生しているムービーブロック以外のブロックが選択されたか否かを判定し、選択されたと判定した場合、ステップS126に進む。
ステップS126において、画像選択部211は、ユーザにより新たに選択されたムービーブロックの最初の画像から、再生制御部212に供給し、再生対象を変更させる。
ステップS125において、現在再生しているムービーブロック以外のブロックが選択されていないと判定された場合、ステップS126の処理はスキップされる。
ステップS127において、画像選択部211は、現在再生中のムービーブロックの最後の画像まで再生したか否かを判定し、最後の画像まで再生したと判定するまで、ステップS125に戻り、それ以降の処理を繰り返し実行する。
また、画像選択部211は、ステップS127において、ムービーブロックの最後の画像まで再生したと判定した場合、ステップS128に進み、いま再生が終了したムービーブロックと同じクラスタに属するムービーブロックが残っているか否かを判定する。
ステップS128において、画像選択部211は、同じクラスタに属するムービーブロックが残っていると判定した場合、ステップS129に進み、その、再生が終了したムービーブロックの次のムービーブロックの最初の画像から再生を開始させる。これにより、似たようなシーンのまとまりからなるクラスタ毎の再生が実現される。
一方、ステップS128において、画像選択部211は、再生が終了したムービーブロックと同じクラスタに属するムービーブロックが残っていないと判定した場合、処理を終了させる。
以上の処理により、ユーザは、自分が見たいと思って選択したシーンと似ているシーンのみを容易に選択し、見ることができる。
なお、ユーザは、以上の処理により表示される図36の画面からクラスタに属するシーンの分布を確認することができるが、例えば、図39に示すような画面からも、それを確認することができるようにしてもよい。
図39の表示部261乃至263には、クラスタの数がそれぞれ異なる場合(粒度が異なる場合)において、その上に表示される画像列全体のうちの、どの期間のシーンが、どのクラスタに属するのかが、水平方向(時間軸方向)の実線と、その実線の垂直方向の位置により表示される。
図39の例においては、表示部261の表示はクラスタの数が3個の場合のクラスタに属するシーンの分布を表し、表示部262の表示はクラスタの数が5個の場合のクラスタに属するシーンの分布を表す。また、表示部263の表示はクラスタの数が10個の場合のクラスタに属するシーンの分布を表す。
例えば、図39の時刻t1乃至t2の期間にあるシーンは、クラスタの数が3個の場合、クラスタ003に属し、クラスタの数が5個の場合、クラスタ001に属することが表示部261と表示部262に表示されている。また、クラスタの数が10個の場合、クラスタ009のクラスタに属することが表示部263に表示されている。
また、図39の例においては、ユーザは、画面の右端に表示されるスライドバー264を操作することによって、クラスタの数を変えることができるようになされている。例えば、図39の状態でスライドバー264を下方向に移動させた場合、表示部261乃至263のそれぞれに、クラスタの数が10個の以上の場合のクラスタに属するシーンの分布を表示させることができる。すなわち、ユーザは、図31のクラスタツリーの閾値を、このスライドバー264を操作して設定することができることになる。
このような画面を用いることによって、ユーザは、図36の画面において、クラスタの粒度をどの値に設定すればよいのか、或いは、どのクラスタを再生対象として設定すればよいのかなどを容易に確認することができる。
以上においては、ビデオカメラ1では撮影(撮影画像列と認識用画像列の撮影)のみが行われ、認識用画像列を用いたメタデータの生成と、生成したメタデータに基づく撮影画像列の再生はパーソナルコンピュータ2において行われるとしたが、メタデータの生成までがビデオカメラ1により行われるようにしてもよい。
図40は、本発明を適用した撮影・表示システムの他の構成例を示す図である。
図40のビデオカメラ301においては、撮影画像列と認識用画像列の撮影が行われ、撮影して得られた認識用画像列を用いて、上述したようなリンクデータ(図19)、クラスタデータ(図33および図34)を含むメタデータが生成され、撮影画像列とともに内蔵の記憶装置に記憶される。
一方、実線矢印で示すように、ビデオカメラ301から撮影画像列とメタデータを取り込んだプレーヤ302においては、メタデータに基づいて、上述したような、リンクデータを用いた撮影画像列のジャンプ再生、または、クラスタデータを用いたクラスタ単位での撮影画像列の再生が行われる。
図41は、図40のビデオカメラ301の構成例を示すブロック図である。
ビデオカメラ301は、ビデオカメラ部311と情報処理部312から構成される。このうちのビデオカメラ部311は、図3(図5)の構成と同様の構成を有する。すなわち、ビデオカメラ部311は、レンズ3を介して撮影された撮影画像列とともに、ワイドアングルレンズ4を介して撮影画像列と同期して撮影された認識用画像列を記憶装置13に記憶する。
図42は、情報処理部312の構成例を示すブロック図である。上述したものと同じ構成には同じ符号を付してある。
情報処理部312は、デジャヴエンジン81、クラスタリングエンジン83、およびファイル生成部321から構成される。図42に示すように、情報処理部312には、図8のデジャヴプレーヤ82とダイジェストプレーヤ84以外の構成が含まれる。
詳細な説明については省略するが、デジャヴエンジン81は、ビデオカメラ部311の記憶装置13に記憶されている認識用画像列を用いてシーン間の距離を算出し、算出した距離の行列を含む距離情報をクラスタリングエンジン83に出力する。また、デジャヴエンジン81は、算出したシーン間の距離に基づいてリンクデータを生成し、生成したリンクデータをメタデータとしてファイル生成部321に出力する。すなわち、図42のデジャヴエンジン81は、図9の構成と同じ構成を有する。
一方、図42のクラスタリングエンジン83は、デジャヴエンジン81から供給されてきた距離情報に基づいて各シーンのクラスタリングを行い、クラスタリング結果から生成したクラスタデータをメタデータとしてファイル生成部321に出力する。すなわち、図42のクラスタリングエンジン83は、図27の構成と同じ構成を有する。
ファイル生成部321は、デジャヴエンジン81から供給されてきたメタデータと、クラスタリングエンジン83から供給されてきたメタデータを統合し、1つのメタデータファイルを生成する。統合して生成された1つのメタデータファイルには、図19に示すリンクデータと、図33および図34に示すクラスタデータの記述が含まれる。ファイル生成部321により生成されたメタデータファイルは、ビデオカメラ部311の記憶装置13に出力され、撮影画像列とともに記憶される。
記憶装置13に記憶されている撮影画像列とメタデータファイルは、所定のタイミングで、有線または無線を介してプレーヤ302に取り込まれる。
図43は、図40のプレーヤ302の機能構成例を示すブロック図である。プレーヤ302は、図7のパーソナルコンピュータ2の構成と同様の構成を有しており、そのCPUにより所定のプログラムが実行されることで図43の各構成のうちの少なくとも一部が実現される。
図43に示すように、プレーヤ302には、メタデータを生成するための構成である、図8のデジャヴエンジン81とクラスタリングエンジン83以外の構成が含まれる。
ファイル解析部331は、ビデオカメラ301から取り込まれ、図示せぬ記憶部に記憶されているメタデータファイルを解析し、メタデータファイルに記述されているリンクデータをデジャヴプレーヤ82に、クラスタデータをダイジェストプレーヤ84にそれぞれ出力する。
デジャヴプレーヤ82は、ファイル解析部331から供給されてきたリンクデータに基づいて撮影画像列の再生、表示を行う。すなわち、デジャヴプレーヤ82は、図20の構成と同じ構成を有しており、プレーヤ302に接続される外部の表示部には図21に示すような画面が表示される。
一方、ダイジェストプレーヤ84は、ファイル解析部331から供給されてきたクラスタデータに基づいて撮影画像列の再生、表示を行う。すなわち、ダイジェストプレーヤ84は、図35の構成と同じ構成を有しており、プレーヤ302に接続される外部の表示部には図36に示すような画面が表示される。
例えば、このように、カメラ側でメタデータが生成されることにより、ユーザは、撮影画像列とともに再生側の機器にそれを取り込むだけで、メタデータに基づく撮影画像列の再生を行わせることができる。
このように、図8に示す構成のうち、ある構成は撮影側の構成とし、他の構成は再生側の構成とするように、構成の配置は適宜変更可能である。
また、カメラ側でメタデータが生成されることにより、例えば、図44に示すような画面の表示を再生側の機器に行わせることができる。図44の画面は、例えば、撮影側で生成されたメタデータと撮影画像列の取り込み時に表示される。
図44において、画面の右下方に表示されている画像#0は現在の取り込み対象となっている画像であり、この画像が、メタデータの記述に基づいて画面の左方に表示されているそれぞれのクラスタの欄に移動するような表示が行われる。
例えば、画像#0がクラスタ#1に属する画像である場合、実線矢印で示すようにクラスタ#1の欄に移動され、既に取り込まれたクラスタ#1に属する他の画像とともにクラスタ#1の欄にサムネイル表示される。図44の例においては、画像#1がクラスタ#1の欄に表示されている。同様に、既に取り込まれた画像である画像#2はクラスタ#3の欄に表示され、画像#3および#4はクラスタ#4の欄に表示されている。
このような表示により、ユーザは、撮影画像列の取り込みの際に、どのシーンがどのクラスタに属するものなのかを確認することができ、後から見たいシーンを容易に把握することができる。
以上においては、図1に示すように、レンズ3とワイドアングルレンズ4はその光軸が同じ方向であるとしたが、ワイドアングルレンズ4は、レンズ3が設けられているビデオカメラ筐体の面と異なる面に設けられ、それぞれの光軸が異なるものとなるようにしてもよい。すなわち、認識用画像列は、そのシーン間の似ている/似ていないによって、撮影画像列のシーンの似ている/似ていないを判別するためのものであるから、ユーザにより異なる場所で撮影が行われることにより異なるシーンの認識用画像列が得られる以上、それにより撮影画像列のシーンの判別も行うことができ、それらのレンズの光軸方向が一致している必要はない。
例えば、図45Aに示すように、ビデオカメラ1の筐体の上面にパノラマカメラ401を設け、それにより撮影された画像を用いて、シーン間の距離の算出等が行われるようにしてもよい。
さらに、当然、図45Bに示すように、携帯電話機411のカメラ部412の近くに認識用カメラ部413を設けるといったように、撮影機能を有する機器であれば、ビデオカメラ以外の様々な機器に適用することも可能である。
また、以上においては、シーン間の距離を算出し、それに基づいて再生する画像列は、ビデオカメラで撮影された画像列であるとしたが、録画済みのテレビジョン番組を再生する場合にも適用可能である。
この場合、録画済みの番組の全シーン間の距離が算出され、ビデオカメラで撮影した画像列の場合と同様に各シーンがリンク付け、またはクラスタリングされる。
例えば、図21の動画表示部131にユーザが選択した録画済みのテレビジョン番組が表示され、再生中のシーンと似ているシーンが自動的に提示されることによって、ユーザは、似ているシーンを含むテレビジョン番組を容易に探し出したり、その再生を開始させたりすることができる。
また、図36の動画表示部221にユーザが選択した録画済みのテレビジョン番組が表示され、クラスタに属するシーンの分布が表示されることによっても、ユーザは、似ているシーンのみを連続して再生したりすることができる。
さらに、以上においては、シーンのクラスタリングは、似ているシーンだけを再生するために行われるとしたが、例えば、ユーザが、クラスタ単位で、撮影画像列をDVDなどの記憶メディアに記憶させたり、ネットワークを介して他の装置に送信したりすることができるようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図7に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(登録商標)(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア71により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM62や、記憶部68に含まれるハードディスクなどで構成される。
なお、本明細書において、各ステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
1 ビデオカメラ, 2 パーソナルコンピュータ, 3 レンズ, 4 ワイドアングルレンズ, 81 デジャヴエンジン, 82 デジャヴプレーヤ, 83 クラスタリングエンジン, 84 ダイジェストプレーヤ, 91 コーディング処理部, 92 特徴ベクトル算出部, 93 特徴ベクトル記憶部, 95 マッチング部, 96 リンク先選択部, 121 画像選択部, 122 再生制御部, 123 リンク先表示部, 201 クラスタリング部, 202 リスト生成部, 203 リスト記憶部, 204 クラスタデータ生成部, 211 画像選択部, 212 再生制御部, 213 クラスタ分布表示制御部