(57)【要約】【課題】  ビデオカムコーダで撮影した動画のショットは、数秒から長いものは一時間に及び、ショットの長さの分散が大きい。また、ショットが長いため、カット点画像が、必ずしも、ショットを代表するに相応しい画像とは言えない場合がある。このため、商用動画のカットに相当するショットを単位として統合し一覧したのでは、ユーザが所望する動画部分を効率的に検索することはできない。【解決手段】  ショットの境界が定義された動画像をフレーム単位に供給し(S801)、供給されたフレームの相関に基づき、ショットから一つ以上の代表フレームを検出し(S803-S806)、動画へのリンク情報を対応付けたインデックスを生成し、生成されたインデックスを所定の基準でグルーピングしたグループを生成し(S806)、動画像、インデックスおよびグループに関する情報を記録媒体に記録する(S808)。【選択図】    図4
2005236891.tif 000002
【特許請求の範囲】
【請求項１】
ショットの境界が定義された動画像をフレーム単位に供給する供給手段と、
供給されたフレームの相関に基づき、ショットから一つ以上の代表フレームを検出し、動画へのリンク情報を対応付けたインデックスを生成するインデックス生成手段と、
生成されたインデックスを所定の基準でグルーピングしたグループを生成するグループ化手段と、
前記動画像、前記インデックスおよび前記グループに関する情報を記録媒体に記録する記録手段とを有することを特徴とする画像処理装置。
【請求項２】
さらに、前記記録媒体に記録されたインデックスおよびグループに関する情報に従い、前記記録媒体に記録された動画像のフレームに相当する画像の一覧を表示用に出力し、前記一覧から選択された画像に対応するインデックスに基づき前記動画像を再生するナビゲート手段とを有することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記グループ化手段は、前記インデックスのフレーム画像の類似性に基づき、前記グルーピングを行うことを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
前記グループ化手段は、前記インデックスのグループから、そのグループを代表するインデックスを決定することを特徴とする請求項1から請求項3の何れかに記載された画像処理装置。
【請求項５】
前記ナビゲート手段は、前記一覧中の画像が前記インデックスのグループか否かを判別可能なシンボルを表示用に出力するとともに、前記インデックスのグループの画像として前記代表インデックスに対応するフレームに相当する画像を表示用に出力することを特徴とする請求項4に記載された画像処理装置。
【請求項６】
前記ナビゲート手段は、前記シンボルの選択か、前記一覧中の画像の選択かに応じて異なる方法で前記動画像を再生することを特徴とする請求項5に記載された画像処理装置。
【請求項７】
ショットの境界が定義された動画像をフレーム単位に供給し、
供給されたフレームの相関に基づき、ショットから一つ以上の代表フレームを検出し、動画へのリンク情報を対応付けたインデックスを生成し、
生成されたインデックスを所定の基準でグルーピングしたグループを生成し、
前記動画像、前記インデックスおよび前記グループに関する情報を記録媒体に記録することを特徴とする画像処理方法。
【請求項８】
情報処理装置を制御して、請求項7に記載された画像処理を実行することを特徴とするプログラム。
【請求項９】
請求項8に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその方法に関し、例えば、動画像のインデックス（索引）を生成し記録して、それに従い、動画像を再生する画像処理に関する。
【背景技術】
【０００２】
近年、動画が撮影可能なディジタルカメラ、携帯電話、ディジタルビデオカムコーダ(DVC)などの普及により、個人でも大量の動画を撮影するようになった。一般に、映像データは、そのデータ量が膨大であるが、その内容の概略を知る場合、所望のシーンを探す場合など、従来は映像を早送り再生したり、巻き戻し再生を行った。
【０００３】
上記の早送りや巻き戻し再生は効率のよい方法とは言えず、効率よくするために、例えば特公平5-74273号公報に記載されたカット点の画像データを代表画面として検出し、インデックス画像を作成する方法が発明された。このカット点とは、一般に、編集された動画において素材の繋ぎ目になる点をいう。DVCで撮影した動画の場合、撮影ボタンを押し、録画を開始してから終了するまでの一連の動画の単位をショットと呼び、ショットの先頭がカット点になる。
【０００４】
磁気テープにアナログ記録するビデオカメラではショットが連続した動画になるが、この場合、ショットの境界でフレームの画像が急激に変化することを利用して、カット点を検出することができる。つまり、隣接するフレームの画像の差が極端に大きい箇所を検出して、カット点とすればよい。
【０００５】
テレビ放送などで使われる動画や映画など（以降「商用動画」と呼ぶ）は、カット（一連の動画の単位）は高々数秒で、一つの番組に数百のカットが存在する。カットが短いため、カット点のフレームの画像（以降「カット点画像」と呼ぶ）を代表画像として利用することができる。ただし、カット点画像を一覧表示する場合、その数は膨大になり、ショットを統合しグルーピングして表示することで、シーンの検索に便宜を図っている。例えば、特開2002-27410公報は、一覧するカット点画像の数を減らすために、それらのフレームの時間的間隔に密にならないよう、かつ、似たようなフレームが選択されないように間引き処理を行う方法を開示する。
【０００６】
また、特開2000-36966公報は、同様にカット点を検出し、カット点画像の相関に基づいてグルーピングを行う方法を開示する。このようなグループ構造をディスプレイに表示する場合、最初のカット点画像の周りに子画像の形式で、他のカット点画像を表示する。さらに、特開平9-293139号公報は、動画の各フレームのクラスタリングを行って階層化する方法を開示する。
【０００７】
しかし、ビデオカムコーダで撮影した動画（以降「パーソナル動画」と呼ぶ）のショットは、数秒から長いものは一時間に及び、商用動画のカットの長さの分散に比べて、ショットの長さの分散が大きい。また、ショットが長いため、カット点画像が、必ずしも、ショットを代表するに相応しい画像とは言えない場合がある。このため、商用動画のカットに相当するショットを単位として統合し一覧したのでは、ユーザが所望する動画部分を効率的に検索することはできない。
【０００８】
また、特開平9-293139号公報に開示された方法は全フレームに対して処理を行うため、カットやショットの境界とは無関係に、ある動画区間を代表する代表フレームを使って近似的に動画を階層化する方法に比べて精度は高い。しかし、処理コストが高く、ビデオカムコーダのような電池稼動が主体の機器への実装は、商品としての性能バランスを大きく崩し、不可能である。
【０００９】
また、特開2000-36966公報に開示された、代表フレームの一覧中の、さらに小さな領域に類似画像を表示する方法は、ディジタルカメラ、携帯電話、ビデオカムコーダが有する小さなディスプレイでは、画像が小さ過ぎて判別が難しく、また、画像を大きくすれば一覧性が損なわれる結果になる。
【００１０】
【特許文献１】特開2002-27410公報
【特許文献２】特開2000-36966公報
【特許文献３】特開平9-293139号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述の問題を個々にまたはまとめて解決するもので、動画像の所望するシーンの検索を低コストかつ効率的に行うことを目的とする。
【００１２】
また、表示画面が小さい場合でも効率的な検索を可能にすることを他の目的とする。
【課題を解決するための手段】
【００１３】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１４】
本発明にかかる画像処理装置は、ショットの境界が定義された動画像をフレーム単位に供給する供給手段と、供給されたフレームの相関に基づき、ショットから一つ以上の代表フレームを検出し、動画へのリンク情報を対応付けたインデックスを生成するインデックス生成手段と、生成されたインデックスを所定の基準でグルーピングしたグループを生成するグループ化手段と、前記動画像、前記インデックスおよび前記グループに関する情報を記録媒体に記録する記録手段とを有することを特徴とする。
【００１５】
本発明にかかる画像処理方法は、ショットの境界が定義された動画像をフレーム単位に供給し、供給されたフレームの相関に基づき、ショットから一つ以上の代表フレームを検出し、動画へのリンク情報を対応付けたインデックスを生成し、生成されたインデックスを所定の基準でグルーピングしたグループを生成し、前記動画像、前記インデックスおよび前記グループに関する情報を記録媒体に記録することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、動画像の所望するシーンの検索を低コストかつ効率的に行うことができる。
【００１７】
また、表示画面が小さい場合でも効率的な検索を可能にすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【実施例１】
【００１９】
［構成］
図1は実施例1の、リムーバブルな光磁気ディスク型の記録媒体を用いるディジタルカムコーダの構成例を示すブロック図である。
【００２０】
主制御部201は、CPU 202、ROM 203、RAM 204などを有し、CPU 202はROM 203に格納された制御プログラムなどを実行することで、以下に説明する各種処理を含む、ディジタルカムコーダにおける各種制御を実行する。ROM 203には、図2に示す各種処理を制御プログラムとして格納する。具体的には、ドライブユニット205を制御するためのドライブ制御部301、ドライブユニット205に装着された光磁気ディスク206に動画を記録し再生するための動画記録部302、光磁気ディスク206に格納された動画を時間管理するためのタイムコードを更新するタイムコードカウンタ303、撮影日時などを取得するための日時タイマ304、光磁気ディスク206に格納された動画のインデックスを生成するインデックス生成部305、インデックスグループを生成するグループ化部306、ナビゲート部307などを有する。
【００２１】
また、ドライブユニット205は、メカ機構、サーボ機構、光ピックアップなどから構成され、主制御部201によって制御される。
【００２２】
［初期化処理］
次に、ドライブユニット205に光磁気ディスク206が装着された際の初期化処理を説明する。
【００２３】
光磁気ディスク206の装着を検知したドライブ制御部301は、図3に示す光磁気ディスク206上の情報（メディア管理情報401、ショット管理情報402、インデックス管理情報403およびグループ管理情報404）を不揮発性メモリ211に読み込む。
【００２４】
図4は光磁気ディスク206から情報401-404が読み込まれた後の不揮発性メモリ211の記憶状態を示す図である。カムコーダID 501は、個々のカムコーダを識別するための識別子で、九桁の数字で表現され、カムコーダの製造時に記録される。メディアカウンタ502は、カムコーダが扱った未使用のメディアの数をカウントアップするカウンタで、カムコーダの製造時は「0」が格納される。また、光磁気ディスク206から読み込まれるメディア管理情報401には、メディアID 503、最新更新日時504、最大タイムコード505、ショット数506およびインデックス数507などの情報が含まれる。
【００２５】
ドライブ制御部301は、メディア管理情報401を不揮発性メモリ211に読み込むと、装着された光磁気ディスク206が未使用か否かを判定する。光磁気ディスク206のメディアID 503は製造時に「0」に設定されるから、メディアID 503の値が「0」であれば、その光磁気ディスク206は未使用であると判定する。そして、未使用の光磁気ディスク206の場合は、最大タイムコード505、ショット数506およびインデックス数507にそれぞれ初期値「0」を代入し、続いて、メディアカウンタ702をインクリメントする。さらに、メディアを識別するためのIDを新たに生成して、生成したIDをメディアID 503に書き込む。生成するIDは、例えば、不揮発性メモリ211に記録されたカムコーダID（九桁）を上位九桁とし、メディアカウンタ502のカウント値（三桁）を下位三桁とする12桁の符号にする。なお、ID等の桁数に制限はない。また、光磁気ディスク206が未使用ではないと判定された場合、メディアカウンタ502およびメディアID 503の更新は行わない。
【００２６】
［動画の記録］
次に、動画の記録過程を説明する。
【００２７】
入力部212の撮影開始ボタンが押されると、光学系207を通して撮像素子208に投影される被写体の反射光は電気信号に変換される。撮像素子208から1フレームのすべての画素が順次走査で読み出され撮像系処理部209に入力される。撮像系処理部209は、ノイズ除去、自動ゲイン調整を行った後、A/D変換した、輝度信号Yと色差信号Pr、Pbに分離したYPrPbデータを生成する。このYPrPbデータは、バッファメモリ210に蓄積された後、動画記録部302により、離散コサイン変換(DCT)を用いる圧縮アルゴリズムによって圧縮され、最後に、同期符号やエラー訂正符号などが付加され、ドライブユニット205を介して、光磁気ディスク206上の動画記録領域405（図3参照）に記録される。このようにして、入力部212の撮影終了ボタンが押されるまで、動画の記録が続けられる。
【００２８】
一方、撮影開始ボタンが押され、サーボ機構が安定して、上述した動画の記録が開始されると、タイムコードカウンタ303はフレーム単位のカウントアップを開始し、インデックス生成部305はインデックスの生成を開始して、生成したインデックスを不揮発性メモリ211にインデックス管理情報403として記録する。また、グループ化部306は、インデックスをグルーピングして不揮発性メモリ211にグループ管理情報404として記録する。このインデックスの生成および記録、並びに、グルーピングおよび記録に関しては後に詳しく説明する。
【００２９】
また、動画の記録が開始されると、ドライブ制御部301は、不揮発性メモリ211のショット数506をインクリメントし、ショット管理情報402の中の有効なショット情報の末尾に、新たに生成したショット情報を追加する。図5に示すように、ショット管理情報402は複数のショット情報から構成され、各ショット情報はショット番号、タイムコードおよび撮影日時を含む。生成されるショット情報は、ショット番号としてショット数506の値を、タイムコードとして最大タイムコード505の値を、撮影日時として撮影開始ボタンが押されたタイミングの日時タイマ304の値をもつ。
【００３０】
さらに、撮影終了ボタンによって動画の記録が終了すると、ドライブ制御部301は、タイムコードカウンタ303のカウントアップを停止し、その時点のタイムコードカウンタ303の値を最大タイムコード505として不揮発性メモリ211に格納する。さらに、日時タイマ304の値を最新更新日時504として不揮発性メモリ211に書き込んだ後、不揮発性メモリ211上のメディア管理情報401、ショット管理情報402、インデックス管理情報403およびグループ管理情報404を光磁気ディスク206に書き込む。
【００３１】
［インデックスの記録］
図6はインデックス生成部305のインデックスの記録過程を説明するフローチャートである。
【００３２】
入力部212の撮影開始ボタンが押され、上述した動画記録が開始されると、バッファメモリ210に蓄積された動画の1フレーム分のYPrPbデータを取り出し(S801)、フレームの取り出しができたか否かを判定する(S802)。フレームを取り出すことができた場合は、取り出したフレームの画像データから第一の特徴量を抽出する(S803)。抽出する特徴量は、フレームを例えばN×M個のブロックに分割した各ブロックの平均色を、各ブロックの位置に対応付けたものとする。次に、画像データ、特徴量およびタイムコードを、図7に示すように、RAM 204に割り当てられたキャッシュバッファに格納する(S804)。
【００３３】
キャッシュバッファは、リングバッファで構成され、インデックス生成の開始時に初期化される。キャッシュバッファのサイズは、代表フレームの抽出処理における、後述する探索範囲または相関を求めるフレームを決定するのに必要な大きさの、どちらか大きな方のサイズである。
【００３４】
次に、キャッシュバッファに所定量のデータが溜まったか否かの判定により(S805)、データ量が所定量溜まるまで、ステップS801からS804の処理を繰り返す。
【００３５】
データ量が所定量溜まると、あるいは、撮影終了ボタンが押されてフレームを取り出すことができなかったと判定(S802)すると、代表フレームの抽出処理を行う(S806)。この処理の概要は、キャッシュバッファにバッファされた一つのフレームに注目して、注目フレームが代表フレームになり得るか否かを評価し、代表フレームになり得る場合は、その近傍のフレームを参照して、注目フレームが代表フレームに適するか否かを判断し、適すると判断した場合にはインデックスへ追加するものである。
【００３６】
次に、最後のフレームまで評価したか判定する(S807)。例えば、撮影終了ボタンが押されて録画が終了し、バッファメモリ210上に未処理のフレームがなければ、最後のフレームまで評価したと判定することができる。キャッシュバッファによって取り出すフレームと代表フレームとして評価するフレームに遅延が生じているので、先のS805でインデックス生成を開始してから一定時間代表フレームを評価していない分、フレームが取り出せなくなってからも同じ時間分の評価を行うものである。最後フレームまで処理していなかったらS801へ戻り、処理していたらS808に進む。
【００３７】
最後に、インデックス情報を不揮発性メモリ211のインデックス管理情報403に記録して(S808)、処理を終了する。
【００３８】
［代表フレームの抽出処理］
図8は代表フレームの抽出処理(S806)を説明するフローチャートである。
【００３９】
まず、相関を求めるフレームを決定する(S901)。相関を求めるフレームは、注目フレームと、次式によって求まるタイムコードtcのフレームである。
tc = tp + a + b(tn - tp)
ここで、tc ＜ tn
tnは注目フレームのタイムコード
tpは直前の代表フレームのタイムコード
a ≧ 0、0 ≦ b ≦ 1
【００４０】
なお、タイムコードtnは、インデックス生成の開始時に「0」に初期化され、本処理が呼び出される度に1フレーム分ずつ増加する。
【００４１】
また、aおよびbは、代表フレームの検出頻度を調整するパラメータである。例えば、a=3（秒）、b=0とすると、a=0、b=0の場合に比べて、動きの激しい区間において局所的に多くのフレームが検出されるのを防ぐことができる。また、a=0、b=0.5とすると、直前の代表フレームと注目フレームの中央を参照することになる。これによりa=0、b=0の場合に比べて、動きの少ない個所においても代表フレームの検出量を抑制することができる。aおよびbの両係数の値は、インデックス生成時に決定してもよいし、また、検出された代表フレームの頻度などによりインデックス生成中に制御してもよい。ただし、b=0とした場合のキャッシュバッファのサイズは、1フレーム分の特徴量を記憶できればよいが、例えばb=1とした場合は動画全体分の特徴量をキャッシュ可能なサイズが必要になる。
【００４２】
もし、キャッシュバッファとして充分なメモリサイズが確保できない場合は、次のような方法によって、容易に解決することができる。第一の方法は、代表フレームの間隔に最大値を設け、所定時間以上、代表フレームが検出されない場合は、最後の代表フレームから所定時間経過後のフレームを代表フレームとして出力する。また、第二の方法は、タイムコードtcの分解能を、1フレーム単位から、例えば5フレーム単位のように落として、特徴量を保存するフレームを五分の一に間引く。
【００４３】
次に、注目フレームがショットの先頭か否かを評価する(S902)。ショットの先頭フレームは、必ず、代表フレームとして採用するため、その場合は処理をステップS907へ進める。また、注目フレームがショットの先頭フレームでなければ、相関を求めるフレームが特定できない場合（例えばtc≧tnの場合）は処理を終了する(S903)。
【００４４】
相関を求めるフレームが特定された場合は、相関判定処理を行う(S904)。具体的には、タイムコードtnおよびtcに相当するフレームの特徴量をキャッシュバッファから取得して、次式により、N×M個のブロックの特徴量間の距離dの総和を求める。
d = Σn=1NΣm=1M{w1×|Yi(n, m) - Yq(n, m)|
+ w2×|Pri(n, m) - Prq(n, m)|
+ w3×|Pbi(n, m) - Pbq(n, m)|}
ここで、n、mはブロックの水平、垂直方向のインデックス番号
Yi(n, m)はn×m番目のブロックの平均色の輝度
Pri(n, m)、Pbi(n, m)はn×m番目のブロックの平均色の色差
Yq(n, m)は抽出した特徴量中の第(n, m)ブロックの平均色の輝度
Prq(n, m)、Pbq(n, m)は上記第(n, m)ブロックの平均色の色差
w1、w2、w3はそれぞれ距離dを算出する際の重み
【００４５】
なお、重みw1、w2、w3は精度が向上するように値を調整するものとする。そして、距離dが小さいほど、特徴量が類似し、フレームの相関が高いと判定する。
【００４６】
次に、距離dと所定の閾値Sとを比較する(S905)。d≦Sの場合、注目フレームと直前の代表フレームが類似しているので終了する。なお、閾値Sはインデックス生成時に決定してもよく、また、検出された代表フレームの頻度などによってインデックス生成中に閾値Sを制御するようにしてもよい。また、d＞Sの場合は、タイムコードtnの近隣で、より代表フレームとして適したフレームを探すため、後述する探索処理を行う(S906)。
【００４７】
次に、インデックス管理情報403の各項目に、検出した情報を設定し、キャッシュバッファ上の代表フレームの画像データから縮小画像（サムネイル画像）を作成して、図9に示すように、インデックス管理情報に追加し(S907)、処理を終了する。なお、縮小画像は、キャッシュバッファに画像データの登録する際に作成しておいてもよいが、そうすれば、全フレームに対して縮小画像を作ることになるので、縮小率、割当可能なメモリ量、特徴量を抽出する過程で生成されるデータの再利用性、縮小処理の処理コストなどを勘案して決定する。
【００４８】
［探索処理］
探索処理の目的は、前段の処理において代表フレームの候補として選ばれたフレームの近隣で、より代表フレームとして適したフレームを探索することである。そのために、本実施例における探索処理は所定の間隔で離れたフレームの相関を求めて、動きの少ない所、すなわち、ブレの少ない個所（フレーム）を選択する。
【００４９】
図10は探索処理の詳細を説明するフローチャートである。
【００５０】
まず、変数を初期する(S1001)。すなわち、基準になるフレーム位置を示す変数tにタイムコードtn、また、最も動きが少ない個所の距離を示す変数min_dに「∞」を設定する。
【００５１】
次に、ループを制御するための変数iに「0」を、変数kに探索範囲を示す値を代入し(S1002)、ループ終了判定を行い(S1003)、ループが終了した(i=k)場合は探索処理を終了して、探索結果を出力する。ここで、kは探索範囲の上限を示す所定の値である。
【００５２】
次に、前方探索を行うか否かを判定する(S1004)。この判定は、次に距離dを求めるべきフレームが前の代表フレームや、それよりも時間的に前の場合は探索は不要であること、また、ステップS901の処理における係数aの値によっては前方向のフレームは直前の代表フレームと相関が高くなるため、後方の探索範囲よりも前方の探索範囲を狭くしてもよいこと、を考慮したものである。その場合、変数iが探索範囲k未満の所定の閾値を超えた時点で探索不要と判定してもよい。そして、前方探索が不要の場合は処理をステップS1008へ進める。
【００５３】
前方探索が必要な場合は、タイムコード(t-i-n)と(t-i)のフレームの特徴量をキャッシュバッファから得て距離dを求める(S1005)。なお、距離dはステップS904と同様の方法で求める。ただし、nは零ではない所定の整数である。また、暗い場所の撮影時は、撮像素子から映像を取り出す間隔を拡げて明るさを確保する撮像系があるが、この場合、同じ内容のフレームが続いてしまうので、nを零近くに設定することは適さない。そして、求めた距離dと今までの距離の最低値min_dを比較し(S1006)、d＜min_dの場合は、今までの探索範囲の中で最も動画の動きが少ないと判断し、探索結果を更新する(S1007)。つまり、min_dにdを代入し、タイムコードt-iの位置のフレームを代表フレームの候補にする。
【００５４】
次に、後方探索を行うか否かを判定する(S1008)。この判定は、次に距離を求めるべきフレームが次のショットになる場合に探索は不要であることを考慮したものである。そして、後方探索が不要の場合は処理をステップS1012へ進める。
【００５５】
後方探索が必要な場合は、タイムコード(t+i-n)と(t+i)のフレームの特徴量をキャッシュバッファから得て距離dを求め(S1009)、求めた距離dと今までの距離の最低値min_dを比較し(S1010)、d＜min_dの場合は、今までの探索範囲の中で最も動画の動きが少ないと判断し、探索結果を更新する(S1011)。つまり、min_dにdを代入し、タイムコードt+iの位置のフレームを代表フレームの候補にする。
【００５６】
次に、変数iをインクリメントすることで探索範囲を1フレーム分拡げ(S1012)、処理をステップS1003に戻す。
【００５７】
［グループ化］
次に、グループ化部306におけるグループ化を説明する。
【００５８】
図11はグループ化管理情報404の構成例を示す図である。また、グループ化中は、図11に示す情報に加えて、各グループの代表特徴量として、各グループのメンバであるフレームの特徴量の平均を求めたものを保持する。
【００５９】
図12はグループ化の詳細を説明するフローチャートである。
【００６０】
まず、各代表フレームをメンバ数「1」の仮のグループとして初期化し、相関を求めるためのグループの特徴量は各代表フレームの特徴量を使用する(S1501)。
【００６１】
次に、すべてのグループからグループ間距離が最小になる一組のグループを求め、その距離をmin_dとする(S1502)。なお、距離dはステップS904と同様の方法で求める。また、多次元ベクトルの最近接検索を高速化するために、多次元インデックス手法が盛んに研究されているが、これらの手法を用いることもできる。
【００６２】
次に、min_dと所定の閾値S2を比較して(S1503)、min_d≧S2ならば、これ以上のグループ化は不可能として処理をステップS1507に進める。また、min_d＜S2ならば、最も類似した（グループ間距離が最小の）グループを一つに結合する(S1504)。すなわち、各グループのメンバであるインデックスを一つのグループに編入する。次に、結合したグループの各メンバの特徴量を平均し、代表特徴量を求め(S1505)、グループ数が所望の数まで減ったか否かを判定し(S1506)、減っていない場合は処理をステップS1502に戻す。
【００６３】
グループ化が不可能またはグループ数が所望数になると、メンバが一つしかないグループ、すなわち結合されずに孤立しているグループを削除し(S1507)、各グループの代表インデックスを求める(S1508)。代表インデックスには、グループのメンバで最もタイムコードが小さいインデックスを採用する。そして、代表インデックス番号等をグループ管理情報404に記録し(S1509)、処理を終了する。
【００６４】
［インデックスの出力例］
次に、ナビゲート部307によるインデックスの出力例を説明する図である。入力部212の動画ナビボタンが押されると、不揮発性メモリ211からインデックス管理情報403およびグループ管理情報404が読み込まれ、インデックスの一覧が表示部213に表示される。
【００６５】
図13はインデックスの一覧を表示部213に出力した一例を示す図である。インデックスとグループの代表インデックスが左上から横方向に動画へのタイムコード順に並んでいる。ただし、グループ化されたインデックスの場合はグループの代表インデックスのタイムコードを採用する。なお、図13に符号1601で示す表示は、グループ化された代表インデックス画像の縮小表示である。また、符号1602は、グループであることを示す修飾表示で、画像が三枚重なった状態がデザインされている。また、符号1603は、グループ化されていない孤立したインデックスの画像を縮小表示である。もし、インデックスが表示部213の画面に入り切らない場合は、入力部212の指示に基づくスクロールまたは画面切替によって、全インデックスを表示することができる。
【００６６】
図14はインデックスの一覧表示の別形態を示す図である。グループを示す表示として符号1602の画像の重なりに代わって、符号1604で示すようなアイコンを表示する。なお、インデックスのレイアウト方法は数多くの変形が可能であるが、要は、インデックスを一覧表示する際にグループか否かをユーザに示せればよい。
【００６７】
［再生例］
次に、ナビゲート部307による選択および再生例を説明する。この動画再生の特徴は、グループ化したインデックスの選択方法によって異なる動画再生を行い、インタラクティブにユーザが所望する動画へナビゲートすることである。
【００６８】
表示部213に一覧表示されたインデックスは、一箇所だけ注目状態にすることができる。グループの代表インデックスの場合は、画像注目状態とグループ注目状態の二つの注目状態がある。図15は注目状態におけるインデックス一覧表示の各部の表示の変化を示す図である。ユーザが注目画像やインデックスを認識し易いように、画像の枠の太さやアイコンの大きさを強調表示する。勿論、注目画像やインデックスを強調するのが目的であるから、枠やアイコンの色を変えたり、アイコンが回転するなどのアニメーションによる強調表示手法を用いてもよい。
【００６９】
ユーザは、注目画像またはグループを、入力部212の操作によって自由に移動することができる。例えば、図16は、入力部212に上下左右四つのボタンを有する十字方向キーを有する場合の注目画像またはインデックスの移動方向を示す図である。今、中央行の左列の画像が注目画像であった場合、上、下、左方向キーを押すと、その方向にある画像（またはグループ）に注目状態が移行する。また、右方向キーを押すると中央の画像（またはグループ）が注目状態になり、さらに右方向キーを押すると中央行の右列の画像が注目画像になり、さらに右方向キーを押すると、タイムコード順に、下行の左列の画像が注目画像になる。また、図示しないが、画面外（上または下）へ向かう方向のキーを押した場合、必要に応じて、上下方向に画面切替またはスクロールが行われ、すべてのインデックスまたはグループの代表インデックス中の何れかを注目状態にすることが可能である。
【００７０】
入力部212として、マウスやトラックパッドのように画面上の座標を指示可能なポインティングデバイスが利用可能な場合、グループの代表インデックス画像の領域に含まれる座標を指示した場合、および、インデックス画像の領域内の座標を指示した場合は画像注目状態になる。また、修飾表示1602またはアイコン1604の領域内の座標を選択した場合はグループ注目状態になる。また、図示しないスクロール用の領域を定義し、表示部213の画面に表示すれば、スクロール用の領域の座標を指示することで、すべてのインデックスまたはグループの代表インデックスの中の何れかを注目状態にすることが可能である。
【００７１】
画像注目状態において、ユーザが入力部212のOKボタンを操作して次の処理への遷移を指示すると、光磁気ディスク206に記録された動画にアクセスし、インデックスで示されるタイムコードに基づき動画の頭出し再生（表示部212への表示）を行う。また、グループ注目状態において、同様に次の処理への遷移を指示すると、注目グループの各メンバを詳細に確認可能な表示状態へ移行する。
【００７２】
図17はグループの各メンバを確認可能な表示状態へ移行した場合の表示部212の表示画面の一例を示す図である。
【００７３】
図17に符号1902、1905、1908で示すメンバは、グループのメンバのタイムスタンプを小さい順に上から下へ並べたものである。そして、メンバ1902、1905、1908から左右方向に各メンバの前後のインデックスを表示する。すなわち、符号1901はメンバ1902の一つ前のタイムスタンプのインデックス画像、符号1903はメンバ1902の一つ後のタイムスタンプのインデックス画像である。同様に、符号1904、1906はメンバ1905の前後のインデックス画像、符号1907、1909はメンバ1908の前後のインデックス画像である。図示しないが、この場合も、図16で説明したように、画面切替またはスクロールを行い、グループの全メンバの前後のインデックスの画像を表示することができる。また、表示画面の大きさによっては、前後について、複数のインデックス画像を表示してもよい。
【００７４】
また、枠が強調表示されたメンバ1902は注目状態にある。ここで次の処理への遷移を指示すると、図16で説明したのと同様に、注目状態の画像のタイムコードから動画の頭出し再生が行われる。
【００７５】
図18はグループの各メンバを確認可能な状態へ移行した場合の表示部212の表示画面の他例を示す図である。
【００７６】
図18に符号2001、2002で示すメンバは、選択グループのメンバのインデックス画像であり、それらのタイムスタンプを含む前後の所定の時間の動画が、符号2003で示すマルチ画面2003で繰り返し連続再生される。また、他の例として、一画面でグループのメンバのタイムスタンプを含む前後の所定の時間の動画を連続再生するようにしてもよい。
【００７７】
図19はグループの各メンバを確認可能な状態へ移行した場合の表示部212の表示画面の他例を示す図である。
【００７８】
図19は、より多くの情報を提供できるよう、表示部212に画像等をレイアウトしたものである。符号2101は動画の再生領域、符号2102-2104は選択グループのメンバのタイムコードのフレーム画像で、枠が強調表示されているフレーム画像2103が注目状態のメンバである。また、バー2107は動画全体を示すタイムライン、マーカ2104-2106はグループのすべてのメンバが動画全体のどこにあるかを示し、とくに黒いマーカ2105は注目フレーム画像2103に対応する位置を示す。また、マーカ2108は再生領域2101で再生中の位置を示すマーカである。
【００７９】
注目フレームは、入力部212の十字キーのうち、左右キーで前後のメンバに移動することができ、表示し切れないメンバは、画面切替またはスクロールによって表示させることができる。また、入力部212にポインティングデバイスがあれば、フレーム画像2102-2104、マーカ2104-2106の領域中の座標を指示することで、対応するグループメンバを注目状態にすることができる。そのとき、注目状態になったメンバの画像が中央のフレーム画像2103として表示され、その前後のメンバがフレーム画像2102、2104として表示される。勿論、注目フレームが移動した場合、マーカ2105も対応する位置に移動し、その位置から動画の再生が開始される。
【００８０】
このレイアウトの各パーツの数や大きさ、位置などは多くの変形が考えられるが、要は、注目状態とその前後のインデックスおよびグループメンバ、再生画面、並びに、インデックスまたはグループメンバの位置の大局的なマーカ表示の三つのうち、少なくとも二つを同時に画面上に表示すればよい。また、このレイアウトを図13や図14に代わるインデックス出力として用いてもよい。すなわち、フレーム画像2102-2104の領域に、インデックス一覧を出力し、グループである否かがわかる情報を図13や図14に符号1602または1604で示す修飾やアイコンの有無で表せばよい。
【００８１】
図20はディジタルカムコーダ（またはディジタルカメラ）の他の構成例を示すブロック図である。記録媒体としてカード型の不揮発性メモリ（メモリカード）2301を使用する点、および、メカ部をもたないためドライブユニット205が省かれている点が実施例1と異なる部分である。基本動作は、可動部をもたない点を除き、実施例1と同じである。動画を扱う場合、実施例1における光磁気ディスク206の構成（図3参照）と同じ構成をメモリカード2301にもたせるだけで、実施例1と同様な処理を行うことができる。
【実施例２】
【００８２】
以下、本発明にかかる実施例2の画像処理を説明する。なお、本実施例において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８３】
図21は実施例2におけるコンピュータの構成例を示すブロック図で、光学系207、撮像素子208、撮像系処理部209、バッファメモリ210、不揮発性メモリ211が省かれ、代わりにハードディスク2502が接続されている点、並びに、通信インタフェイス(I/F) 214およびネットワーク2503を介して他のコンピュータ2504と接続可能な点で実施例1の構成と異なる。
【００８４】
実施例3の構成（コンピュータ）は、動画を直接撮影し記録する機能をもたないが、光磁気ディスク206に格納された動画、もしくは、他のコンピュータ2504に保存されている動画をネットワーク2503経由で、ハードディスク2502に格納することができる。また、実施例1において、光磁気ディスク206（もしくはメモリカード2301）に格納されていたメディア管理情報、ショット管理情報、インデックス管理情報は、ハードディスク2502に格納され、不揮発性メモリ211に読み込まれていたメディア管理情報、ショット管理情報、インデックス管理情報、グループ管理情報はRAM 204の所定領域に読み込まれる。
【００８５】
そして、ハードディスク2502に格納された動画に対して、インデックス生成部305において、実施例1と同様に、メディア管理情報、ショット管理情報、インデックス管理情報、グループ管理情報を作成、更新することが可能である。この処理は、ハードディスク2502に動画を格納するときに行ってもよい。
【００８６】
また、実施例2はコンピュータであるから、動画記録部302、インデックス生成部305における各処理プログラムを、予め光磁気ディスク206に記憶しておき、コンピュータの起動時にRAM 204へ読み込んで、RAM 204上の処理プログラムとして実行するようにしてもよい。
【００８７】
［変形例］
上記では、記録媒体上の開始位置または開始時間を表す情報としてタイムコードを用いる例を説明したが、その他の情報、例えば実時間（時計）であってもよい。あるいは、先頭からのフレーム番号であってもよい。
【００８８】
また、上記では、インデックスの生成方法や、インデックスの選択方法において、供給されたフレーム画像から特徴量を求める例を説明したが、フレーム画像に色変換やエッジの抽出、トリミング、マスキングなど、ある処理を加えて二次的に得られる画像を用いてもよい。また、近隣のフレームとの時間的に平均したものでもよい。時間的に平均することで、ノイズや不揮発性などで1フレームだけ前後のフレームと異なっていた場合にも、その影響を抑えた代表フレームの検出が可能になる。
【００８９】
相関を求める特徴量として、上記では、格子状のブロック分割を用いる例を説明したが、低処理コストで相関の許容範囲が狭い第一の相関算出方法と、それよりも処理コストが低いが、許容範囲が広い第二の相関算出方法を組み合わせるのであれば、相関算出方法、および、フレーム画像から得る特徴量は他の方法でもよい。例えば、ISO/IEC 15938-3に規定されている、色やテクスチャや形状などの画像の特徴記述子を用いてもよい。
【００９０】
また、上記では、インデックスの記録において、画像データは、縮小画像を記録する例を説明したが、ステップS801で取り出した画像データそのものでもよい。また、実施例2では、動画データ中の所望のタイムコードへのアクセスが短時間で可能になるため、動画から画像データを取得することができる。そのため、インデックス中の画像データは格納しなくてもよい。この場合はインデックス情報のデータ量を削減できる。
【００９１】
また、インデックス情報には代表フレームに関する付属情報を一緒に記録してもよい。付属情報は、例えば、代表フレームがショット先頭か否かを表す情報、音声情報、音声認識を行った結果の文字情報、フレーム内に映っているテロップなどの文字を文字認識した結果の文字情報、露出状態などのカメラの情報やパンやズームなどのカメラワーク情報などがある。これらの情報は代表フレームとともに表示、印刷する際に併記して出力することで、人が所望の代表フレームを見付け易くなる。また、文字情報は、代表フレームのキーワードによる検索処理に利用することができる。
【００９２】
また、上記では、インデックスをグループ化するだけであったが、グループをさらにグループ化して階層化してもよい。グループの階層化する方法について簡単に説明すると、グループ化部においてグループを統合した過程を記録すれば、二分木が生成される。二分木のノードはグループの集合なので、ノードの特徴量はノードに含まれるグループの特徴量の平均を求めればよい。距離はステップS904と同様な方法で算出できる。距離が短いノード同士の結合を繰り返せば、深さの低いn分木に変形することができる。管理情報にはグループ間の親子関係を管理するテーブルを設ければよい。また、表示には、各ノードの中で一番若いタイムコードをノードのタイムコードとしてそのフレーム画像を表示すればよい。また、子をもつか否かがわかる情報を修飾1602またはアイコン1604の有無で示せばよい。
【００９３】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００９４】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００９５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００９６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９７】
【図１】実施例1の、リムーバブルな光磁気ディスク型の記録媒体を用いるディジタルカムコーダの構成例を示すブロック図、
【図２】ROMに格納された各種処理の制御プログラムを示す図、
【図３】光磁気ディスクに格納された各種情報を示す図、
【図４】光磁気ディスクから情報が読み込まれた後の不揮発性メモリの記憶状態を示す図、
【図５】ショット管理情報を説明する図、
【図６】インデックス生成部によるインデックスの記録過程を説明するフローチャート、
【図７】キャッシュバッファの格納状態を説明する図、
【図８】代表フレームの抽出処理を説明するフローチャート、
【図９】インデックス管理情報を説明する図、
【図１０】探索処理の詳細を説明するフローチャート、
【図１１】グループ化管理情報を説明する図、
【図１２】グループ化の詳細を説明するフローチャート、
【図１３】インデックスの一覧を表示部に出力した一例を示す図、
【図１４】インデックスの一覧表示の別形態を示す図、
【図１５】注目状態におけるインデックス一覧表示の各部の表示の変化を示す図、
【図１６】注目画像またはインデックスの移動方向を示す図、
【図１７】グループの各メンバを確認可能な表示状態へ移行した場合の表示部の表示画面の一例を示す図、
【図１８】グループの各メンバを確認可能な状態へ移行した場合の表示部の表示画面の他例を示す図、
【図１９】グループの各メンバを確認可能な状態へ移行した場合の表示部の表示画面の他例を示す図、
【図２０】ディジタルカムコーダ（またはディジタルカメラ）の他の構成例を示すブロック図、
【図２１】実施例2におけるコンピュータの構成例を示すブロック図である。
【図１】
2005236891.tif 000003
【図２】
2005236891.tif 000004
【図３】
2005236891.tif 000005
【図４】
2005236891.tif 000006
【図５】
2005236891.tif 000007
【図６】
2005236891.tif 000008
【図７】
2005236891.tif 000009
【図８】
2005236891.tif 000010
【図９】
2005236891.tif 000011
【図１０】
2005236891.tif 000012
【図１１】
2005236891.tif 000013
【図１２】
2005236891.tif 000014
【図１３】
2005236891.tif 000015
【図１４】
2005236891.tif 000016
【図１５】
2005236891.tif 000017
【図１６】
2005236891.tif 000018
【図１７】
2005236891.tif 000019
【図１８】
2005236891.tif 000020
【図１９】
2005236891.tif 000021
【図２０】
2005236891.tif 000022
【図２１】
2005236891.tif 000023