(57)【特許請求の範囲】
【請求項１】
撮像手段で撮影された映像データ及び前記映像データの撮影時における前記撮像手段の操作状況を示す操作情報を取得する取得手段と、
前記取得手段により取得された操作情報に基づき前記撮像手段の操作内容を判定する判定手段と、
前記判定手段により同一種の操作内容と判定された二つの連続した操作情報の間における操作時間の時間間隔を算出する時間間隔算出手段と、
前記時間間隔算出手段により算出された時間間隔が所定期間より長いか否かを判断する第１の判断手段と、
前記第１の判断手段により時間間隔が前記所定期間より長いと判断されると、前記二つの操作情報のうち操作時間が早い方の操作情報に対応するフレームの映像データをインデックスデータとして選択する選択手段とを有することを特徴とする画像処理装置。
【請求項２】
前記第１の判断手段により前記時間間隔が前記所定期間より短いと判断されると、前記操作情報で示される操作量の積算値を算出する積算値算出手段と、
前記積算値算出手段により算出された積算値が所定値以上であるか否かを判断する第２の判断手段とを有し、
前記選択手段は更に、前記第１の判断手段により時間間隔が前記所定期間より長いと判断され、且つ、前記第２の判断手段により前記所定値以上であると判断されると、先に取得された方の操作情報に対応するフレームの映像データを前記インデックスデータとして選択することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記積算値算出手段は、前記操作情報が所定方向の操作量を示されている場合には前記操作量を加算し、前記所定方向とは反対方向の操作量を示されている場合には前記操作量を減算することにより操作量の積算値を算出することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記取得手段は前記映像データと共に前記映像データに付加されている前記操作情報を入力する入力手段と、前記入力手段より入力された操作情報を検出する検出手段とを有し、
前記選択手段は前記検出手段の出力に応じて前記検出された操作情報に対応するフレームの映像データを抽出してメモリに記憶する記憶手段を有することを特徴とする請求項１記載の画像処理装置。
【請求項５】
撮像手段で撮影された映像データ及び前記映像データの撮影時における前記撮像手段の操作状況を示す操作情報を取得する取得ステップと、
前記取得ステップにより取得された操作情報に基づき前記撮像手段の操作内容を判定する判定ステップと、
前記判定ステップにより同一種の操作内容と判定された二つの連続した操作情報の間における操作時間の時間間隔を算出する時間間隔算出ステップと、
前記時間間隔算出ステップにより算出された時間間隔が所定期間より長いか否かを判断する判断ステップと、
前記判断ステップにより時間間隔が前記所定期間より長いと判断されると、前記二つの操作情報のうち操作時間が早い方の操作情報に対応するフレームの映像データをインデックスデータとして選択する選択ステップとを有することを特徴とするインデックス作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像のブラウジングや検索に必要なインデキシング技術に関し、特に、動画像中のフレームを代表画像として取り出してインデックスとする技術に関するものである。
【０００２】
【従来の技術】
従来、動画像のブラウジングや検索を行うために、インデックスを作る方法として次の方法がある。動画像中のフレームを取り出して代表画像（以下、キーフレームと表現）とし、動画像中の位置とセットにし、これをインデックスとする方法である。
【０００３】
動画像はショットと呼ばれる単位に分割することができる。これは、ディジタルカメラで撮った動画像ならば、撮影開始ボタンを押してから停止させるまでであり、テレビ放送の動画像ならばカメラのアングルなどが切り替わるまで（一場面）である。そこで、ショット切り替わり（以下、カットと表現）を検出して、各ショットの先頭フレームをインデックスとする方法がよく知られている。
【０００４】
【発明が解決しようとする課題】
しかしながら、実際にはひとつのショット中にも、カメラがパンをして２つ以上の事象が写った場合、ショットの内容を把握するためには、先頭のフレームだけをキーフレームとしたのでは不十分であった。また、ショットの先頭からズームインが始まって、ショットの終わりまで、興味の対象がアップされた映像が続く場合などは、先頭のフレームよりもズームイン後のフレームをキーフレームとした方が、ショット全体のキーフレームとして相応しい、といったことがあった。
【０００５】
このような問題点を解決するものとして、カメラの操作情報を利用し、例えばズームイン後のフレームをキーフレームとして取り出す方法がある。その一例として、特開平７−９９６０５号公報では、撮影時にカメラの操作情報を映像情報と多重化して記憶媒体に書き込んでおき、この記憶媒体を再生時にカメラの操作情報から例えばズームイン後といった特定の条件を満足するフレームをキーフレームとする技術が開示されている。また、特開平１０−２２４７３６号公報では、カメラの操作情報を画像処理にて判定し、やはりズームイン後等といった特定の条件を満足するフレームをキーフレームとする技術が開示されている。
【０００６】
また、特にディジタルビデオなどで撮影されるパーソナルコンテンツにおいては、ユーザはカメラ操作に不慣れなため、円滑な操作を行うことが極めて困難である。例えば、ズームインを行う際、所望のサイズにアップされるまで、何度もズームインを繰り返さなければならないばかりか、ズームアウトの操作も必要になる。これは、所望のサイズでズームインを止めることが難しいため、補正するため行われるものである。よって、この様なズームイン・ズームアウトは、本来一連の操作とみなす必要がある。しかしながら、特開平７−９９６０５号公報では、操作情報が一定のフレーム数以上連続して増加もしくは減少し、一定のフレーム数の間連続して変化がなければ操作は検出される。上記のようにズームインとズームアウトといった、操作量の増加と減少を繰り返すような操作は一連の操作とみなすことができない。よって、多数の類似した画像や、無意味な画像がキーフレームとして抽出される、という問題点があった。
【０００７】
更には、誤ってズームボタンを操作し、またもとの状態に戻す、といった場合は、ユーザが意図した操作ではないので、キーフレームを抽出しても無意味な画像となってしまう。しかしながら、特開平７−９９６０５号公報及び特開平１０−２２４７３６号公報では、上記のようなユーザの意図しない、或いは、誤った操作に対してもキーフレームを抽出してしまう、という問題点があった。
【０００８】
そこで、本発明の目的は、一つのカメラ操作が発生し、その操作が停止してから再び同じカメラ操作が行われるまでの期間が所定の期間よりも長いときに、一連のカメラ操作の終了を検出し、そのカメラ操作の終了時の画像データをインデックスのキーフレームとして利用することにより、利用者にとって有用なインデックスを提示することにある。
【０００９】
また、本発明の目的は、例えば、カメラ操作が円滑でなかった場合に撮影されたコンテンツに対しても、冗長な画像データをインデックスのキーフレームとして抽出されることを防止し、利用者に適切なインデックスのみを提示することにある。
【００１０】
【課題を解決するための手段】
本発明の画像処理装置は、撮像手段で撮影された映像データ及び前記映像データの撮影時における前記撮像手段の操作状況を示す操作情報を取得する取得手段と、前記取得手段により取得された操作情報に基づき前記撮像手段の操作内容を判定する判定手段と、前記判定手段により同一種の操作内容と判定された二つの連続した操作情報の間における操作時間の時間間隔を算出する時間間隔算出手段と、前記時間間隔算出手段により算出された時間間隔が所定期間より長いか否かを判断する第１の判断手段と、前記第１の判断手段により時間間隔が前記所定期間より長いと判断されると、前記二つの操作情報のうち操作時間が早い方の操作情報に対応するフレームの映像データをインデックスデータとして選択する選択手段とを有することを特徴とする。
本発明のインデックス作成方法は、撮像手段で撮影された映像データ及び前記映像データの撮影時における前記撮像手段の操作状況を示す操作情報を取得する取得ステップと、前記取得ステップにより取得された操作情報に基づき前記撮像手段の操作内容を判定する判定ステップと、前記判定ステップにより同一種の操作内容と判定された二つの連続した操作情報の間における操作時間の時間間隔を算出する時間間隔算出ステップと、前記時間間隔算出ステップにより算出された時間間隔が所定期間より長いか否かを判断する判断ステップと、前記判断ステップにより時間間隔が前記所定期間より長いと判断されると、前記二つの操作情報のうち操作時間が早い方の操作情報に対応するフレームの映像データをインデックスデータとして選択する選択ステップとを有することを特徴とする。
【００３６】
【発明の実施の形態】
以下、添付図面を参照しながら本発明の好適な一実施形態を詳細に説明する。
【００３７】
＜第１の実施形態＞
図１は、本発明の第１の実施形態における画像処理装置の構成図である。１０１０は、動画像を撮影する撮影部である。１０２０は記録媒体であり、撮影部１０１０で撮影された動画像を記録するものである。１０３０はインデキシング部であり、記憶媒体１０２０よりキーフレームを抽出し、インデックスを作成するものである。
【００３８】
図２は、第１の実施形態における撮影部１０１０の構成図である。２０１０は撮像部であり、レンズ、撮像素子、Ａ／Ｄ変換等から構成され、撮像を行うものである。２０２０は画像圧縮部であり画像圧縮回路により撮像部２０１０の映像信号を所定の圧縮方式のアルゴリズムに基づいて圧縮符号化処理を行う。例えば、ディジタルビデオにおけるＤＣＴとＶＬＣを用いた方式や、ＤＣＴと動き補償予測を用いたＭＰＥＧ−１、ＭＰＥＧ−２といった形式がある。
【００３９】
２０３０はカメラ操作部であり、撮影開始ボタンやズームボタンなどからなり、ユーザの各種のカメラ操作を入力するものである。２０４０はセンサ部であり、カメラの状態を検知するための各種のセンサから構成され、絞りの開度、焦点距離などの情報を取得する。２０５０は制御部であり、カメラ操作部２０３０から得られたユーザの操作情報や、センサ部２０４０から得られたセンサ情報をもとに撮像部２０１０などカメラを制御するものである。２０６０は記録部であり、映像データとカメラ操作情報（ユーザによる操作情報とセンサ情報）をタイミングを取りながら多重化を行って、記憶媒体に記録するものである。２０７０は、多重化された映像データとカメラ操作情報を記憶する記憶媒体であり、磁気テープ、光磁気ディスク、ハードディスクなどから構成される。
【００４０】
図３は、第１の実施形態におけるインデキシング部１０３０の制御構成を示すブロック図である。同図において、３０１はＣＰＵであり、本実施形態のインデキシング部１０３０における各種制御を実行する。３０２はＲＯＭであり、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。３０３はＲＡＭであり、ＣＰＵ３０１が処理するための制御プログラムを格納するとともに、ＣＰＵ３０１が各種制御を実行する際の作業領域を提供する。３０４はキーボード、３０５はマウスであり、ユーザによる各種入力操作環境を提供する。
【００４１】
３０６は外部記憶装置であり、ハードディスクやフレキシブルディスク、ＣＤ−ＲＯＭ等で構成される。３０７は表示器であり、ディスプレイなどで構成され、結果等をユーザに対して表示する。３０８はネットワークインタフェースであり、ネットワーク上の各機器との通信を可能とする。また、３１１は上記の各構成を接続するバスである。
【００４２】
図４は、第１の実施形態におけるインデキシング部１０３０の機能構成を示すブロック図である。同図において、４０２０はカメラ操作情報統合部であり、記憶媒体４０１０より映像データおよびカメラの操作情報を読み取り、カメラ操作情報を時間情報などをもとに統合処理、即ち、操作内容が同一種として判定されるカメラ操作情報について、時間的に隣接するものにはカメラ操作情報により示される操作量の積算値を算出する処理を実行するものである。４０３０はキーフレーム選択部であり、一連の操作が完了したと見なされる際に、カメラ操作情報統合部４０２０によって統合されたカメラ操作情報（操作量の積算値）をもとに条件を満たすフレームをキーフレームとして選択し、インデックス化を行うものである。４０４０はインデックス蓄積部であり、キーフレーム選択部４０３０が生成したインデックス情報を蓄積するものである。
【００４３】
以上のような構成を備えた第１の実施形態における画像処理装置の動作例を以下に説明する。図５は、第１の実施形態における撮影部１０１０の手順を示した図である。まず、ステップＳ８０１０において、ユーザがカメラ操作部２０３０を介してカメラの設定を行ったかどうかを判定する。カメラの設定とは、例えば、フォーカスモード（自動／手動）、露光モード（自動、ゲイン優先、シャッター速度優先、絞り優先、手動）、ホワイトバランスモード（自動、ホールド、ワンプッシュ、プリセット）などである。
【００４４】
カメラの設定が行われたときは、ステップＳ８０２０において、制御部２０５０はカメラの設定を変更し、変更したカメラの設定情報をカメラ操作情報として記録部２０６０に送る。次にステップＳ８０３０において、録画ボタンがＯＮされたかどうかをチェックする。ＯＮされなければ、待機状態であり、ステップＳ８０１０へ戻る。
【００４５】
ＯＮされたら、制御部２０５０は録画状態にするとともに、このときの録画開始時刻をカメラ操作情報として記録部２０６０に送る。次にステップＳ８０４０において、録画状態となったので、撮像を開始する。撮像部２０１０で撮像された映像は画像圧縮部２０２０で画像圧縮された後に記録部２０６０へ映像データとして送られる。
【００４６】
次に、ステップＳ８０５０において、ユーザによってカメラ操作が行われたかをチェックする。カメラ操作とは例えば、ズームボタンのＯＮ／ＯＦＦ、パン、チルト、などである。ステップＳ８０６０では、制御部２０５０がセンサ部２０４０の情報をもとに撮像部２０１０などを駆動して、カメラを制御する。
【００４７】
センサの情報とは例えば、焦点距離、合焦距離、手ぶれ検出、などである。そして例えばズームされたときは、ズームボタンが押された区間だけ、撮像部２０１０のレンズを動かしてズームを行い、焦点距離、合焦距離などのセンサ情報をもとにピントを合わせる。このとき、ズームボタンのＯＮ／ＯＦＦや焦点距離、合焦距離などのセンサ情報は、カメラ操作情報として記録部２０６０に送られる。記録部２０６０では、画像圧縮部２０２０より送られる映像データとカメラ操作情報を多重化して、記憶媒体２０７０に記録する。
【００４８】
多重化の方法としては、例えばＭＰＥＧ−２のシステムで規格化されている方法を利用する。カメラ操作情報をＰＥＳパケットにして、映像のＰＥＳパケットと、ＴＳ（Transport Stream）やＰＳ（Program Stream）の多重ストリームとする。ここで、記録部２０６０は、画像データ１フレーム毎に対応するカメラ操作情報を発生し、画像データとは別のＰＥＳパケットとして画像データと多重化させている。次にステップＳ８０７０において、録画ボタンがＯＦＦされたかどうかをチェックする。ＯＦＦされていなければ、ステップＳ８０４０へ戻って撮影状態のままである。ＯＦＦされれば、ステップＳ８０１０へ戻って待機状態となる。
【００４９】
以上で述べたように、本実施形態においてカメラ操作情報とは、カメラ操作部２０３０から得られる情報とセンサ部２０４０から得られる情報とがある。カメラ操作情報の記述の形式としては、例えば、図６に挙げたＤＶフォーマットの形式や、図７に挙げた形式など（両方とも一部のみ表記した）がある。
【００５０】
図８は、第１の実施形態におけるインデキシング部１０３０の手順を示した図である。なお、ここでは説明を簡単にするために、カメラ操作情報としてズームのみを取り上げるが、他のカメラ操作情報に関しても同様な手順である。まず、ステップＳ９０１０において、後述するズーム時刻、ＴＬＥＮ、ズームカウンタなどの各種変数を初期化する。
【００５１】
次に、ステップＳ９０２０において記憶媒体４０１０から読み出しを行う。次に、ステップＳ９０３０において読み出しが終了したかどうかの判定を行う。終了していれば、本処理は終了する。終了していなければ、次のステップＳ９０４０へ進む。ステップＳ９０４０においてショットの先頭かどうかの判定をする。これは、録画開始時刻が存在するかどうかでわかる。録画開始時刻が存在すれば、録画ボタンがＯＮされたフレームだからである。
【００５２】
さて、ショットの先頭であれば、インデックスを作る。ステップＳ９１３０においてフレーム画像を縮小してサムネール画像を作成する。次に、ステップＳ９１４０において、このときのタイムコードと共にサムネールをインデックス情報としてインデックス蓄積部４０４０に記憶する。
【００５３】
図９は、インデックス蓄積部４０４０に蓄積されたインデックス情報の一例である。ここでショットＩＤとは、ショット（録画ボタンをＯＮしてからＯＦＦするまで）ごとに順に付与したＩＤである。次に、ステップＳ９１２０においてＴＬＥＮを０に、そして、ステップＳ９１２５においてズームカウンタを０にそれぞれ初期化する。そして、ステップＳ９０２０へと戻る。
【００５４】
また、ステップＳ９０４０においてショットの先頭でないと判定された場合は、ステップＳ９０５０へ進む。ステップＳ９０５０において、カメラ操作情報としてズームが存在したかどうかを判定する。もし、ズームが存在しなければ、ステップＳ９０２０へ戻る。また、ズームが存在すれば、ステップＳ９０５１へ進む。ステップＳ９０５１では、ズーム操作を検出したカメラ操作情報に対応する１フレームの画像データを抽出し、図示しないメモリ上に記憶する。また、このメモリ上には前回ズーム操作を検出したカメラ操作情報に対応する画像データも記憶されており、ズーム操作が検出される度にメモリ上に用意される２フレーム分の領域に交互に書き込まれる。
【００５５】
次に、ステップＳ９０５５において、ズームカウンタをインクリメントする。所望のアップ画像を得るためには、一般のユーザは操作に不慣れなため、ズーム操作（インとアウト）を何度か繰り返す必要がある。ズームカウンタは、この一連のズーム操作の回数をカウントするものである。
【００５６】
次に、ステップＳ９０６０において、ズーム後にタイムコードをズーム時刻として記憶する。ズーム時刻は、特に図示しないメモリ中に一つ前のズーム時刻まで保存され、新しいものが記憶されるたびに、上書きされていく。次に、ステップＳ９０６５おいて、ズームカウンタが１であるかどうかを判定する。ズームカウンタが１であれば（即ち一回目のズームのときは）、ステップＳ９０８０からステップＳ９１００のＴＬＥＮの計算(詳細は後述する)に無条件に進む。
【００５７】
次に、ステップＳ９０７０において、ズーム時刻から一つ前のズーム時刻を引いたものが所定値Ａ以下であるかどうかを判定する。所定値Ａとは次のような値である。所望のアップ画像を得るためには、一般のユーザは操作に不慣れなため、ズーム操作（インとアウト）を何度か繰り返す必要がある。
【００５８】
このときの一連のズーム操作は、短い間隔でおこり、所望のアップ画像が得られると終了する。所定値Ａとは、繰り返していると判断できるズーム操作とズーム操作の時間間隔の上限を表している。所定値Ａの値は、実験により求めることができ、特に限定されるものではないが、１秒程度の短い時間である。よって、ステップＳ９０７０において、所定値Ａ以下と判定された場合は、ズーム操作を繰り返している場合であり、このときはステップＳ９０８０からステップＳ９１００の処理を行う。
【００５９】
ステップＳ９０８０では、カメラ操作情報からズームインであるかどうかの判定を行う。ズームインであれば、ステップＳ９０９０へ進み、ズーム量をＴＬＥＮに加える。ＴＬＥＮとは、一連のズーム操作において、ズームインした正味の量である。ズーム量とは、ズームした区間の量であり、ズームの強さ(ズーム倍率の変化率、或いは、ズームレンズの移動速度)で重み付けされたフレーム数や時間間隔などで表すことができる。
【００６０】
また、ズームアウトであった場合は、ステップＳ９１００において、ＴＬＥＮよりズーム量を引く。減じるのは、言うまでもないが、ＴＬＥＮが正味のズームインの量を表すからである。ＴＬＥＮが算出された後、ステップＳ９０２０へ戻る。
【００６１】
また、ステップＳ９０７０において、所定値Ａより大きいと判定された場合は、一連のズーム操作が終了した場合であり、このときは、ステップＳ９１１０へ進む。ステップＳ９１１０において、ズームイン又はズームアウト（ズーム）の正味の量であるＴＬＥＮの絶対値が所定値Ｂ以上であるかどうかを判定する。これが非常に小さいときは、一連のズーム操作の前後で、ほとんどズームされていないことを示す。即ち、結局ユーザはズーム操作するのを止めてしまった場合に相当する。よって所定値Ｂは、ズームしたと認める量の下限値を表している。所定値Ｂの値は、実験によって求まるものであり特に限定されるものではない。
【００６２】
所定値Ｂより小さい場合は、このような位置のインデックスを作成する必要はないので、ステップＳ９１３０とステップＳ９１４０はスキップする。また、所定値Ｂ以上であれば、ズームしたと認められる。このときステップＳ９０５１で記憶された画像データと併せてメモリ上で記憶されるもう一方の画像データ、即ち、前回ズーム操作が検出された際に抽出された画像データは、一連のズーム操作における最終画像データとなり、インデックスとしてふさわしいアップ画像である。よって、ステップＳ９１３０に進み、その画像データを用いてサムネールを作成する。
【００６３】
そして、ステップＳ９１４０において、このときのタイムコードと共にサムネールをインデックス情報としてインデックス蓄積部４０４０に記憶する。次に、ステップＳ９１２０において、ＴＬＥＮを０に、そして、ステップＳ９１２５においてズームカウンタを０にそれぞれ初期化する。そして、ステップＳ９０２０へと戻る。以上が、本発明の第１の実施形態における動画像インデックス作成システムの処理である。
【００６４】
以上説明したように、本実施形態においては、検出されたズーム時刻の情報を前回検出したズーム時刻の情報と比較し、これが所定値以上であった場合にメモリに記憶してあった直前のズーム操作時のフレームをインデックスとして抽出することで、一連のズーム操作の終了時のフレームをインデックスとして抽出することができる。
【００６５】
そのため、慣れないユーザがズーム操作を繰り返し行うような場合であっても、ユーザの意図するショットを代表するインデックスを得ることができる。
【００６６】
更に本形態では、一連のズーム操作中の操作量を積算しておき、一連のズーム操作の終了時にこの操作量の積算値が所定値以上であった場合にのみインデックスを抽出しているので、一連のズーム操作は行われているものの、ズームインとズームアウトとを繰り返しているような場合であっても無駄なインデックスを抽出することがなく、ユーザの意図したショットを代表するインデックスを得ることができる。
【００６７】
＜第２の実施形態＞
図１０は、第２の実施形態における画像処理装置の制御構成を示すブロック図である。同図において、５０１はＣＰＵであり、本実施形態における各種制御を実行する。５０２はＲＯＭであり、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。５０３はＲＡＭであり、ＣＰＵ５０１が処理するための制御プログラムを格納するとともに、ＣＰＵ５０１が各種制御を実行する際の作業領域を提供する。５０４はキーボード、５０５はマウスであり、ユーザによる各種入力操作環境を提供する。
【００６８】
５０６は外部記憶装置であり、ハードディスクやフレキシブルディスク、ＣＤ−ＲＯＭ等で構成される。５０７は表示器であり、ディスプレイなどで構成され、結果等をユーザに対して表示する。５０８はネットワークインタフェースであり、ネットワーク上の各機器との通信を可能とする。５０９はビデオインタフェースであり、５１０のビデオカメラや、５１２のＶＴＲからの動画の取り込みを可能とする。また、５１１は上記の各構成を接続するバスである。なお、上記の構成においてビデオカメラ５１０、ＶＴＲ５１２や外部記憶装置５０６はネットワーク上に配置されたもので代用してもよい。
【００６９】
図１１は、第２の実施形態における画像処理装置の機能構成を示すブロック図である。同図において、６０１０は動画入力部であり、ビデオＩ／Ｆ５０９を介してビデオカメラ５１０、ＶＴＲ５１２の動画像、或は、外部記憶装置５０６や図４に示した記憶媒体４０１０などから動画像を読み出し、本装置に入力するものである。次に、６０２０はフレーム抽出部であり、動画を構成するフレーム(画像)を順番に抽出するものである。
【００７０】
次に、６０３０はカット検出部であり、動画像中のカット点を検出するものである。６０４０はカメラ操作判定部であり、カメラの操作情報を画像処理により判定するものである。６０５０はカメラ操作情報統合部であり、カメラ操作判定部６０４０より判定されたカメラ操作情報を時間情報などをもとに統合、即ち、操作内容が同一種として判定されるカメラ操作情報について、時間的に隣接するものにはカメラ操作情報により示される操作量の積算値を算出するものである。６０６０はキーフレーム選択部であり、一連の操作が完了したと見なされる際に、カメラ操作情報統合部６０５０によって統合されたカメラ操作情報（操作量の積算値）をもとに条件を満たすフレームをキーフレームとして選択し、インデックス化を行うものである。６０７０はインデックス蓄積部であり、カット検出部６０３０、及び、キーフレーム選択部６０６０が生成したインデックス情報を蓄積するものである。
【００７１】
以上のような構成を備えた第２の実施形態における画像処理装置の動作例を以下に説明する。図１２及び図１３は、第２の実施形態における画像処理装置の手順を示すフローチャートである。まず、ステップS１００１０において、動画入力部６０１０は記憶媒体４０１０から読み出しを行う。動画の入力については、前述した通りビデオＩ／Ｆ５０９を介してビデオカメラ５１０、ＶＴＲ５１２の動画像を取り込んでもよいが、本実施形態においては、記憶媒体から読み込む場合で説明をする。なお、第1の実施形態と違い、この記憶媒体には動画像データのみが記憶されているものとする。
【００７２】
次に、ステップＳ１００２０において、フレーム抽出部６０２０はフレームを順次抽出して、カット検出部６０３０に送る。次に、ステップＳ１００３０において、カット検出部６０３０は、隣接フレーム間の類似度を算出する。
【００７３】
ここで、フレーム間の類似度は、フレーム間類似性距離を算出し、１００％で完全に同じであるとして、百分率で表わしたものを類似度とする。フレーム間類似性距離計算については、特にそのアルゴリズムを限定しない。最も簡単な実施例を挙げると、比較対象の夫々のフレームを図１４に示すように縦横に複数のブロック分割を行ない、それぞれのブロックに関してＲＧＢの平均値を算出しておき、比較対象の夫々の対応するブロック同士のＲＧＢ各チャンネルの差の二乗和を求めこれをフレーム間類似性距離とし、これが小さいほど類似しており、大きいほど類似していない、即ちカット点である可能性が大きいと取る方法がある。その計算式の一例を次の式１に示す。
【００７４】
【数１】
0004497761.tif 000002
【００７５】
但し、
ｉ：処理中のブロックをあらわす
Ｐ１iR：直前のフレームにおけるｉ番目のブロックのＲチャンネルでの平均値
Ｐ１iG：直前のフレームにおけるｉ番目のブロックのＧチャンネルでの平均値
Ｐ１iB：直前のフレームにおけるｉ番目のブロックのＢチャンネルでの平均値
Ｐ２iR：現在のフレームにおけるｉ番目のブロックのＲチャンネルでの平均値
Ｐ２iG：現在のフレームにおけるｉ番目のブロックのＧチャンネルでの平均値
Ｐ２iB：現在のフレームにおけるｉ番目のブロックのＢチャンネルでの平均値
【００７６】
次に、ステップＳ１００４０において、類似度が所定値Ｈ以下であるかどうか判定をする。ショットの変わり目（カット点）では、画像が急激に変化するため、前後のフレームは類似度が低くなる。即ち、所定値Ｈは、カット点でないとみなせる類似度の下限値である。この値は実験により求めることができ、特に限定されるものではないが、８０％程度が望ましい。
【００７７】
次に、所定値Ｈ以下であった場合は、カット点であるのでインデックスとして採用するために、ステップＳ１００５１において、フレーム画像を縮小してサムネール画像を作成する。次にステップＳ１００５２において、このときのタイムコードと共にサムネールをショットＩＤを付してインデックス情報としてインデックス蓄積部６０７０に記憶する。ショットＩＤはショットごとに振られるＩＤである。図９は、インデックス蓄積部６０７０に蓄積されたインデックス情報の一例である。
【００７８】
また、ステップＳ１００４０において、所定値Ｈより大きかった場合は、カット点ではないのでステップＳ１００５１とステップＳ１００５２はスキップする。次に、ステップＳ１００６０において、読み出しが終了しているかどうかを判定し、終了していなければ、ステップＳ１００１０からステップＳ１００５０までの処理を繰り返す。以上がカット点の検出である。
【００７９】
次に、カメラの操作の判定を行う。ステップＳ１００７０において、Ｎに初期値として１をセットする。次にステップＳ１００８０において、ショットＮに相当するフレーム群を取り出す。次にステップＳ１００９０において、カメラ操作判定部６０４０はカメラの操作を判定する。このための手法としては、ハフ変換を用いて動きのベクトルの消失点を求め、複数有る消失点のうちの最大の投票数を得た消失点を背景に対する消失点とし、カメラ操作情報に関する拘束式を説くなどの手法がある。カメラ操作情報と消失点との関係やカメラ操作情報を求める手法は、例えば「金谷健一著、『画像理解』、森北出版」などに詳しい。
【００８０】
カメラ操作情報が判定されると、ステップＳ１０１００において、第１の実施形態で示した図６及び図７のような形式などで、画像データ１フレーム毎に対応するカメラ操作情報を特に図示しないメモリ中に一時記憶する。次にステップＳ１０１１０において、終了判定を行い、処理すべきショットが残っていれば、ステップＳ１０１２０へ進み、Ｎをインクリメントし、ステップＳ１００８０からステップＳ１０１００を繰り返す。以上がカメラ操作判定の処理である。
【００８１】
次に、カメラ操作情報の統合、及び、キーフレーム選択の処理を行う。なお、説明を簡単にするために、以下、カメラ操作情報としてパンのみを取り上げるが、他のカメラ操作情報に関しても同様な手順である。ステップＳ１０１３０において、後述するパン時刻、ＴＬＥＮ、パンカウンタなどの各種変数を初期化する。次にステップＳ１０１４０において、カメラ操作判定部６０４０で判定されたカメラ操作情報を順に取り出す。次にステップＳ１０１５０において、取り出しが終了したかどうかの判定を行う。終了していれば、本処理は終了する。終了していなければ、次のステップＳ１０１６０へ進む。
【００８２】
ステップＳ１０１６０において、カメラ操作情報としてパンが存在したかどうかを判定する。もし、パンが存在しなければ、ステップＳ１０１４０へ戻る。また、パンが存在すれば、ステップＳ１０１６５へ進む。ステップＳ１０１６５では、パン操作を検出したカメラ操作情報に対応する１フレームの画像データを抽出し、図示しないメモリ上に記憶する。また、このメモリ上には前回パン操作を検出したカメラ操作情報に対応する画像データ（１フレーム）を記憶されており、パン操作が検出される度にメモリ上に用意される２フレーム分の領域に交互に書き込まれる。
【００８３】
次に、ステップＳ１０１７０において、パンカウンタをインクリメントする。パンをして所望の画像を得るためには、一般のユーザは操作に不慣れなため、パン操作（右方向と左方向）を何度か繰り返す必要がある。パンカウンタは、この一連のパン操作の回数をカウントするものである。
【００８４】
次に、ステップＳ１０１８０において、パン後にタイムコードをパン時刻として記憶する。パン時刻は、特に図示しないメモリ中に一つ前のパン時刻まで保存され、新しいものが記憶されるたびに、上書きされていく。次に、ステップＳ１０１９０において、パンカウンタが１であるかどうかを判定する。パンカウンタが１であれば（即ち一回目のパンのときは）、ステップＳ１０２１０からステップＳ１０２３０のＴＬＥＮの計算(詳細は後述する)に無条件に進む。
【００８５】
次に、ステップＳ１０２００において、パン時刻から一つ前のパン時刻を引いたものが所定値Ｊ以下であるかどうかを判定する。所定値Ｊとは次のような値である。パンをして所望の画像を得るためには、一般のユーザは操作に不慣れなため、パン操作（右方向と左方向）を何度か繰り返す必要がある。
【００８６】
このときの一連のパン操作は、短い間隔でおこり、所望の画像が得られると終了する。所定値Ｊとは、この一連のパン操作とパン操作との時間間隔の上限を表している。所定値Ｊの値は、実験により求めることができ、特に限定されるものではないが、１秒程度の短い時間である。よって、ステップＳ１０２００において、所定値Ｊ以下と判定された場合は、パン操作を繰り返している場合であり、このときはステップＳ１０２１０からステップＳ１０２３０の処理を行う。
【００８７】
ステップＳ１０２１０では、カメラの操作情報から右方向のパンであるかどうかの判定を行う。右方向パンであれば、ステップＳ１０２２０へ進み、パンの量をＴＬＥＮに加える。ＴＬＥＮとは、一連のパン操作において、右方向にパンした正味の量である。パンの量とは、パンをした区間の量であり、パンの強さ（角加速度など）で重み付けされたフレーム数や時間間隔などで表すことができる。また、左方向のパンであった場合は、ステップＳ１０２３０において、ＴＬＥＮよりパンの量を引く。減じるのは、言うまでもないが、ＴＬＥＮが正味の右方向パンの量を表すからである。
【００８８】
ＴＬＥＮが算出された後、ステップＳ１０１４０へ戻る。また、ステップＳ１０２００において、所定値Ｊより大きいと判定された場合は、一連のパン操作が終了した場合であり、このときは、ステップＳ１０２４０へ進む。ステップＳ１０２４０において、ＴＬＥＮの絶対値が所定値Ｋ以上であるかどうかを判定する。
【００８９】
ＴＬＥＮは先に述べた通り、正味の右方向パンの量である。よって絶対値をとれば、正味のパンの量になる。これが非常に小さいときは、一連のパン操作の前後で、結局画像は変わらずほとんどパンされていないことを示す。即ち、結局ユーザはパンするのを止めてしまった場合に相当する。よって所定値Ｋは、パンをしたと認める量の下限値を表している。所定値Ｋの値は、実験によって求まるものであり特に限定されるものではない。
【００９０】
所定値Ｋより小さい場合は、このような位置のインデックスを作成する必要はないので、ステップＳ１０２５０とステップＳ１０２６０はスキップする。また、所定値Ｋ以上であれば、パンしたと認められる。このときステップＳ１０１６５で記憶された画像データと併せてメモリ上で記憶されるもう一方の画像データ、即ち、前回パン操作が検出された際に抽出された画像データは、一連のパン操作の際における最終画像データとなり、インデックスとしてふさわしい画像である。よって、ステップＳ１０２５０に進み、フレーム画像を縮小してサムネールを作成する。
【００９１】
そして、ステップＳ１０２６０において、このときのタイムコードと共にサムネールをインデックス情報としてインデックス蓄積部６０７０に記憶する。次に、ステップＳ１０２７０において、ＴＬＥＮを０に、そして、ステップＳ１０２８０においてパンカウンタを０にそれぞれ初期化する。そして、ステップＳ１０１４０へと戻る。以上が、第２の実施形態における動画像画像処理装置の処理である。
以上説明したように、本実施形態においては、撮影時のカメラ操作情報が動画像データと共に記録されていない場合でもカメラ疎さの状態を画像データより判定し、このように判定したカメラ操作情報、例えばパンニングの情報を検出して前回検出したパンニング時刻の情報と比較し、これが所定値以上であった場合にメモリに記憶してあった直前のズーム操作時のフレームをインデックスとして抽出することで、一連のカメラ操作の終了時のフレームをインデックスとして抽出することができる。
そのため、慣れないユーザがカメラ操作を繰り返し行うような場合であっても、ユーザの意図するショットを代表するインデックスを得ることができる。
更に本形態では、一連のカメラ操作中の操作量を積算しておき、一連のカメラ操作の終了時にこの操作量の積算値が所定値以上であった場合にのみインデックスを抽出しているので、一連のカメラ操作は行われているものの、右パンと左パンとを繰り返しているような場合であっても無駄なインデックスを抽出することがなく、ユーザの意図したショットを代表するインデックスを得ることができる。
【００９２】
なお、上記第１、第２の実施形態において、フレームの位置を示すのにタイムコードを用いたが、フレームＩＤであってもよく、動画中でそのフレームを特定できれば何であっても構わない。
【００９３】
また、上記第１の実施形態において、図1の撮像部１０１０とインデキシング部１０３０はそれぞれ別の装置で実現する例をあげたが、ひとつの装置で実現しても、もちろん構わない。また、撮像装置１０１０とインデキシング部１０３０は記憶媒体１０２０を介してデータのやりとりを行ったが、IEEE1394などの通信手段を介して、データのやりとりを行うように構成しても、もちろん構わない。
【００９４】
また、上記第１の実施形態において、図５で示した撮像部１０１０の手順は一例を示したものであり、これに限定されるものではない。例えば、画像撮像中にカメラの設定を変更可能にしても構わない。また、上記第１、第２の実施形態において、カメラ操作情報からインデックスを作成する処理において、１種類のカメラ操作情報について述べたが、他のカメラ操作情報についても同様な手順でインデックスの作成が可能である。
【００９５】
また、上記第１、第２の実施形態において、インデックス情報はインデックス蓄積部（４０４０、または、６０７０）に記憶されているが、これを記憶媒体４０１０の所定の領域に書き込んでおいても良い。また、ネットワークを介して出力してもよく、このようにすれば、他の装置でインデックス情報を活用することが可能となる。
【００９６】
また、上記第１、第２の実施形態において、インデックス情報は図９に示した形式で格納されるとしたが、一例に過ぎず、これに限定されるものではない。例えば、ショット単位の区別が必要なければ、ショットIDは省略可能である。或いは、カメラ操作情報の区間（例えばズームの開始点と終了点）を加えても良い。また、上記第１、第２の実施形態において、代表画像として一連のカメラ操作後のフレームを採用するとしている。
【００９７】
しかし、例えば十分に長いパンであったときは、パンの途中のフレームも代表画像したほうが、ユーザが内容を理解しやすく、インデックスとして適切である場合がある。これを可能とするために、上記第２の実施形態で説明すれば、図１２及び図１３において、ステップＳ１０２００の判定で、一連のパン操作であると判定された後、正味のパンの量（ＴＬＥＮの絶対値）が所定の長さよりも長いかどうかを判定する手段を設ける。所定の長さより長ければ、ステップＳ１０２５０からステップＳ１０２６０でサムネールを作成し、ステップＳ１０２７０、ステップＳ１０２８０を経てステップＳ１０１４０に戻る。また、パンの正味の量（ＴＬＥＮの絶対値）が所定の長さより短ければ、ステップＳ１０２１０へ進むようにすればよい。所定の長さは内容を理解しやすい長さを実験によって求めればよい。
【００９８】
また、上記第１、第２の実施形態において、代表画像としてフレーム画像の縮小画像を用いたが、代表画像を一覧表示させるときの効率のためである。もし、この効率化を犠牲にしてよければ、フレーム画像そのものを代表画像として良い。このときは、インデックス情報には、画像そのものは格納しなくとも、タイムコードを参照して、記憶媒体からフレームを順次読み出していってもよい。
【００９９】
なお、上記第１、第２の実施形態において、カメラ操作情報の形式として図６、図７を挙げたが、これに限定されるものではなく、カメラ操作情報の種類、存在した区間、方向、及び、必要に応じて、強さ、が表記されていればどのような形式であっても構わない。
【０１００】
なお、本発明は、例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなどの複数の機器から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１０１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発生のメモリカード、ＲＯＭなどを用いることができる。
【０１０２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０４】
【発明の効果】
以上の説明から明らかなように、本発明によれば、一つのカメラ操作が発生し、その操作が停止してから再び同じカメラ操作が行われるまでの期間が所定の期間よりも長いときに、前回のカメラ操作終了時の画像データをインデックスのキーフレームとして利用することにより、利用者にとって有用なインデックスを提示することができる。
【０１０５】
また、本発明によれば、例えば、カメラ操作が円滑でなかった場合に撮影されたコンテンツに対しても、冗長な画像データをインデックスのキーフレームとして抽出されることを防止し、利用者に適切なインデックスのみを提示することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における動画像インデックス作成システムのシステム構成を示したブロック図である。
【図２】本発明の第１の実施形態における撮影部の機能構成を示したブロック図である。
【図３】本発明の第１の実施形態におけるインデキシング部の制御構成を示したブロック図である。
【図４】本発明の第１の実施形態におけるインデキシング部の機能構成を示したブロック図である。
【図５】本発明の第１の実施形態における撮像部の処理手順の流れを示したフローチャートである。
【図６】本発明に適用可能なＤＶフォーマットにおけるカメラ操作情報の形式を一例を示した図である。
【図７】本発明の適用可能なカメラ操作情報の形式の一例を示した図である。
【図８】本発明の第１の実施形態におけるインデキシング部の処理手順の流れを示したフローチャートである。
【図９】本発明に適用可能なインデックス情報の一例を示した図である。
【図１０】本発明の第２の実施形態における動画像画像処理装置の制御構成を示したブロック図である。
【図１１】本発明の第２の実施形態における動画像画像処理装置の機能構成を示したブロック図である。
【図１２】本発明の第２の実施形態における動画像画像処理装置の処理手順の流れを示したフローチャートである。
【図１３】本発明の第２の実施形態における動画像画像処理装置の処理手順の流れを示したフローチャートである。
【図１４】本発明に適用可能なフレーム間類似性距離計算の一例を説明するための図である。
【符号の説明】
１０１０、２０１０  撮影部
１０２０、４０１０  記憶媒体
１０３０  インデキシング部
２０２０  画像圧縮部
２０３０  カメラ操作部
２０４０  センサ部
２０５０  制御部
２０６０  記録部
２０７０  記憶媒体
３０１、５０１  ＣＰＵ
３０２、ＲＯＭ  ＲＯＭ
３０３、５０３  ＲＡＭ
３０４、５０４  キーボード
３０５、５０５  マウス
３０６、５０６  外部記憶装置
３０７、５０７  表示装置
３０８、５０８  ＮＩＣ
５０９  ビデオＩ／Ｆ
５１０  ビデオカメラ
５１２  ＶＴＲ
４０２０、６０５０  カメラ操作情報統合部
４０３０、６０６０  キーフレーム選択部
４０４０、６０７０  インデックス蓄積部
６０１０  動画入力
６０２０  フレーム抽出部
６０３０  カット検出部
６０４０  カメラ操作判定部
【図１】
0004497761.tif 000003
【図２】
0004497761.tif 000004
【図３】
0004497761.tif 000005
【図４】
0004497761.tif 000006
【図５】
0004497761.tif 000007
【図６】
0004497761.tif 000008
【図７】
0004497761.tif 000009
【図８】
0004497761.tif 000010
【図９】
0004497761.tif 000011
【図１０】
0004497761.tif 000012
【図１１】
0004497761.tif 000013
【図１２】
0004497761.tif 000014
【図１３】
0004497761.tif 000015
【図１４】
0004497761.tif 000016