(57)【特許請求の範囲】
【請求項１】
映像データを構成する複数のフレーム画像のうち、第１のフレーム画像から第１のブロックを抽出する抽出手段と、
前記各フレーム画像のうち前記第１のフレーム画像との間に第１の時間長を有する第２のフレーム画像から、前記第１のブロックとの類似度が最も高い第２のブロックを探索する探索手段と、
前記抽出された第１のブロックと前記探索された第２のブロックとの間の動きベクトルを検出する検出手段と、
前記検出された動きベクトルの時系列変化情報を解析し、当該時系列変化情報に基づいて、前記映像データに手振れ映像が含まれるか否かを判定する判定手段と
を具備し、
前記判定手段は、前記第１の時間長よりも長い第２の時間長における前記動きベクトルの分散及び前記第２の時間長における前記動きベクトルの平均値との交差回数を基に前記時系列変化情報を解析する
電子機器。
【請求項２】
請求項１に記載の電子機器であって、
前記手振れ映像が含まれると判断された映像データを、前記手振れ映像が含まれないと判断された映像データと区別して記憶する記憶手段
を更に具備する電子機器。
【請求項３】
請求項１に記載の電子機器であって、
前記手振れ映像が含まれると判定された場合に、当該手振れ映像を前記映像データから間引く手段
を更に具備する電子機器。
【請求項４】
映像データを構成する複数のフレーム画像のうち、第１のフレーム画像から第１のブロックを抽出し、
前記各フレーム画像のうち前記第１のフレーム画像との間に第１の時間長を有する第２のフレーム画像から、前記第１のブロックとの類似度が最も高い第２のブロックを探索し、
前記抽出された第１のブロックと前記探索された第２のブロックとの間の動きベクトルを検出し、
前記検出された動きベクトルの時系列変化情報を解析し、当該時系列変化情報に基づいて、前記映像データに手振れ映像が含まれるか否かを判定する
映像データ判定方法であって、
前記判定するステップは、前記第１の時間長よりも長い第２の時間長における前記動きベクトルの分散及び前記第２の時間長における前記動きベクトルの平均値との交差回数を基に前記時系列変化情報を解析する
映像データ判定方法。
【請求項５】
電子機器に、
映像データを構成する複数のフレーム画像のうち、第１のフレーム画像から第１のブロックを抽出するステップと、
前記各フレーム画像のうち前記第１のフレーム画像との間に第１の時間長を有する第２のフレーム画像から、前記第１のブロックとの類似度が最も高い第２のブロックを探索するステップと、
前記抽出された第１のブロックと前記探索された第２のブロックとの間の動きベクトルを検出するステップと、
前記検出された動きベクトルの時系列変化情報を解析し、当該時系列変化情報に基づいて、前記映像データに手振れ映像が含まれるか否かを判定するステップと
を実行させるためのプログラムであって、
前記判定するステップは、前記第１の時間長よりも長い第２の時間長における前記動きベクトルの分散及び前記第２の時間長における前記動きベクトルの平均値との交差回数を基に前記時系列変化情報を解析する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像中の動きベクトルを検出することが可能な電子機器、当該電子機器における映像データ判定方法及びそのプログラムに関する。
【背景技術】
【０００２】
近年、ＨＤＤ（Hard Disk Drive）／ＤＶＤ（Digital Versatile Disk）／ＢＤ（Blu-ray Disc）レコーダ等の記録再生装置やＰＣ（Personal Computer）等の電子機器においては、記録媒体の大容量化や、コンテンツの多様化等により、コンテンツの記録蓄積量がますます増大している。このような大量のコンテンツをユーザに効率よく視聴させる手法の一つとして、例えばパン、チルト、ズーム等の、映像コンテンツを撮影したカメラの動き特徴（以下、カメラ動作系特徴と称する）を検出し、この検出した特徴を基に映像コンテンツから特徴区間を抽出することが考えられる。
【０００３】
例えば、下記特許文献１には、入力画像から動きベクトルを検出することで、パン、チルト、ズームといったカメラ操作を推定し、このカメラ操作前後の画像を表示させることが可能な映像処理装置が開示されている。
【特許文献１】特開２００４‐８８３５２号公報（段落[００３８]等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記記録再生装置等の電子機器に記録される映像コンテンツには、放送コンテンツを記録したもの以外にも、家庭用のビデオカメラで撮影した映像を記録したものも存在する。このような家庭用ビデオカメラで撮影した映像コンテンツには、プロフェッショナルなカメラマンが撮影した放送コンテンツに比べて、手振れ映像が含まれている可能性が高い。しかしながら、上記特許文献１に記載の記述においては、映像データ中のパン、チルト、ズームといったカメラ操作を判定することはできても、映像データ中の手振れ映像を判定することはできない。
【０００５】
以上のような事情に鑑み、本発明の目的は、映像データに手振れ映像が含まれるか否かを判定することが可能な電子機器、当該電子機器における映像データ判定方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上述の課題を解決するため、本発明の主たる観点に係る電子機器は、映像データを構成する複数のフレーム画像のうち、第１のフレーム画像から第１のブロックを抽出する抽出手段と、前記各フレーム画像のうち前記第１のフレーム画像との間に第１の時間長を有する第２のフレーム画像から、前記第１のブロックとの類似度が最も高い第２のブロックを探索する探索手段と、前記抽出された第１のブロックと前記探索された第２のブロックとの間の動きベクトルを検出する検出手段と、前記検出された動きベクトルの時系列変化情報を解析し、当該時系列変化情報に基づいて、前記映像データに手振れ映像が含まれるか否かを判定する判定手段とを具備する。
【０００７】
ここで電子機器とは、例えばＨＤＤ／ＤＶＤ／ＢＤレコーダ等の記録再生装置、ＰＣ、テレビジョン装置、ゲーム機器、携帯電話機等の電化製品である。第１の時間長とは例えば１フレーム時間、２フレーム時間、４フレーム時間等である。上記動きベクトルは、具体的には、アフィン係数処理により算出されるパン係数またはチルト係数として解析される。
【０００８】
この構成により、上記映像データを構成する各フレーム間の動きベクトルの時系列変化情報を解析することで、当該映像データ中に手振れ映像が含まれるか否かを判定することができる。
【０００９】
上記電子機器において、前記判定手段は、前記第１の時間長よりも長い第２の時間長における前記動きベクトルの分散及び前記第２の時間長における前記動きベクトルの平均値との交差回数を基に前記時系列変化情報を解析するようにしてもよい。
【００１０】
これにより、上記動きベクトルが上記第２の時間長において頻繁かつ大きく変化していることを検出することで、手振れ映像の有無を確実に判定することができる。ここで第２の時間長とは、例えば０．５〜５秒程度の時間であるが、これに限られるものではない。
【００１１】
上記電子機器は、前記手振れ映像が含まれると判断された映像データを、前記手振れ映像が含まれないと判断された映像データと区別して記憶する記憶手段を更に具備しても構わない。
【００１２】
これにより、手振れ映像が含まれるか否かにより、例えば放送された映像データか、家庭用ビデオカメラで撮影された映像データを区別して記憶することができる。ここで、放送された映像データには、放送波を介して電子機器が受信して記録された映像データのみならず、インターネット等のネットワークを介して受信して記録された映像データも含む。また、放送された映像データのみを検索対象として記憶手段から検索することも可能となり、両映像データが区別されずに記憶される場合に比べて検索処理の負荷を軽減させることもできる。
【００１３】
上記電子機器は、前記手振れ映像が含まれると判定された場合に、当該手振れ映像を前記映像データから間引く手段を更に具備していてもよい。
【００１４】
これにより、視聴に耐え得ないような手振れ映像を映像データから間引くことで、映像データを視聴する際のユーザの不快感を除去することができる。
【００１５】
本発明の他の観点に係る映像データ判定方法は、映像データを構成する複数のフレーム画像のうち、第１のフレーム画像から第１のブロックを抽出し、前記各フレーム画像のうち前記第１のフレーム画像との間に第１の時間長を有する第２のフレーム画像から、前記第１のブロックとの類似度が最も高い第２のブロックを探索し、前記抽出された第１のブロックと前記探索された第２のブロックとの間の動きベクトルを検出し、前記検出された動きベクトルの時系列変化情報を解析し、当該時系列変化情報に基づいて、前記映像データに手振れ映像が含まれるか否かを判定するものである。
【００１６】
本発明のまた別の観点に係るプログラムは、電子機器に、映像データを構成する複数のフレーム画像のうち、第１のフレーム画像から第１のブロックを抽出するステップと、前記各フレーム画像のうち前記第１のフレーム画像との間に第１の時間長を有する第２のフレーム画像から、前記第１のブロックとの類似度が最も高い第２のブロックを探索するステップと、前記抽出された第１のブロックと前記探索された第２のブロックとの間の動きベクトルを検出するステップと、前記検出された動きベクトルの時系列変化情報を解析し、当該時系列変化情報に基づいて、前記映像データに手振れ映像が含まれるか否かを判定するステップとを実行させるためのものである。
【発明の効果】
【００１７】
以上のように、本発明によれば、映像データに手振れ映像が含まれるか否かを判定することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面に基づき説明する。
【００１９】
図１は、本発明の一実施形態に係る記録再生装置１００の構成を示した図である。  
同図に示すように、記録再生装置１００は、ＣＰＵ（Central Processing Unit）１、ＲＡＭ（Random Access Memory）２、操作入力部３、映像特徴検出部４、デジタルチューナ５、IEEE1394インタフェース６、Ethernet（登録商標）／無線ＬＡＮ（Local Area Network）インタフェース７、ＵＳＢ（Universal Serial Bus）インタフェース８、メモリカードインタフェース９、ＨＤＤ１０、光ディスクドライブ１１、バッファコントローラ１３、セレクタ１４、デマルチプレクサ１５、ＡＶ（Audio/Video）デコーダ１６、ＯＳＤ（On Screen Display）１７、映像Ｄ／Ａ（Digital/Analog）コンバータ１８及び音声Ｄ／Ａコンバータ１９を有している。
【００２０】
ＣＰＵ１は、必要に応じてＲＡＭ２等に適宜アクセスし、記録再生装置１００の各ブロック全体を制御する。ＲＡＭ２は、ＣＰＵ１の作業用領域等として用いられ、ＯＳ（Operating System）やプログラム、処理データ等を一時的に保持するメモリである。
【００２１】
操作入力部３は、ボタン、スイッチ、キー、タッチパネルや、リモートコントローラ（図示せず）から送信される赤外線信号の受光部等で構成され、ユーザの操作による各種設定値や指令を入力してＣＰＵ１へ出力する。
【００２２】
デジタルチューナ５は、ＣＰＵ１の制御に従って、図示しないアンテナを介してデジタル放送の放送番組の放送信号を受信し、特定のチャンネルの放送信号を選局及び復調する。この放送信号は、セレクタ１４を介してデマルチプレクサ１５に出力され再生させたり、バッファコントローラ１３を介して、ＨＤＤ１０に記録されたり、光ディスクドライブ１１に挿入された光ディスク１２へ記録されたりする。
【００２３】
IEEE1394インタフェース６は、例えばデジタルビデオカメラ等の外部機器に接続可能である。例えばデジタルビデオカメラによって撮影され記録された映像コンテンツは、上記デジタルチューナ５によって受信された放送番組の映像コンテンツと同様に、再生されたり、ＨＤＤ１０や光ディスク１２へ記録されたりする。
【００２４】
Ethernet（登録商標）／無線ＬＡＮインタフェース７は、例えばＰＣや他の記録再生装置に記録された映像コンテンツを、Ethernet（登録商標）または無線ＬＡＮ経由で入力する。この映像コンテンツも、再生や、ＨＤＤ１０または光ディスク１２への記録が可能である。
【００２５】
ＵＳＢインタフェース８は、ＵＳＢを介して例えばデジタルカメラ等の機器やいわゆるＵＳＢメモリ等の外部記憶装置から映像コンテンツを入力する。この映像コンテンツも、再生や、ＨＤＤ１０または光ディスク１２への記録が可能である。
【００２６】
メモリカードインタフェース９は、例えばフラッシュメモリを内蔵したメモリカードと接続して、当該メモリカードに記録された映像コンテンツを入力する。この映像コンテンツも、再生や、ＨＤＤ１０または光ディスク１２への記録が可能である。
【００２７】
ＨＤＤ１０は、放送信号として受信したまたは外部機器から入力した各種映像コンテンツの他、各種プログラムやデータ等を内蔵のハードディスクに記録し、また再生時にはそれらを当該ハードディスクから読み出し、バッファコントローラ１３へ出力する。
【００２８】
光ディスクドライブ１１は、上記映像コンテンツ等を光ディスク１２に記録し、また再生時にはそれらを読み出し、バッファコントローラ１３へ出力する。光ディスク１２は、例えばＤＶＤ、ＢＤ、ＣＤ等である。
【００２９】
バッファコントローラ１３は、例えば上記デジタルチューナ５やその他の各種インタフェースから連続的に供給される映像コンテンツの、ＨＤＤ１０または光ディスク１２への書き込みのタイミングやデータ量を制御し、当該映像コンテンツを断続的に書き込む。また、バッファコントローラ１３は、ＨＤＤ１０や光ディスク１２に記録された映像コンテンツの読み出しのタイミングやデータ量を制御し、断続的に読み出された映像コンテンツを、デマルチプレクサ１５へ連続的に供給する。
【００３０】
セレクタ１４は、上記デジタルチューナ５、各種インタフェース、ＨＤＤ１０及び光ディスクドライブ１１のいずれかから入力される映像コンテンツを、ＣＰＵ１からの制御信号に基づき選択する。
【００３１】
デマルチプレクサ１５は、前記バッファコントローラ１３から入力された、多重化された映像コンテンツを、映像信号と音声信号とに分離して、それらをＡＶデコーダ１６へ出力する。
【００３２】
ＡＶデコーダ１６は、例えばＭＰＥＧ（Moving Picture Expert Group）−２やＭＰＥＧ−４等の形式でエンコードされた映像信号及び音声信号をそれぞれデコードして、映像信号をＯＳＤ１７へ、また音声信号をＤ／Ａコンバータ１９へ出力する。
【００３３】
ＯＳＤ１７は、図示しないディスプレイに表示するためのグラフィックス等を生成して、上記映像信号との合成処理や切り替え処理を施し、処理後の映像信号を映像Ｄ／Ａコンバータ１８へ出力する。映像Ｄ／Ａコンバータ１８は、ＯＳＤ１７でグラフィック処理を施された映像信号をＤ／Ａ変換によりＮＴＳＣ（National Television Standards Committee）信号とし、図示しないディスプレイに出力して表示させる。
【００３４】
音声Ｄ／Ａコンバータ１９は、上記ＡＶデコーダ１６から入力された音声信号をＤ／Ａ変換して、図示しないスピーカに出力して再生させる。
【００３５】
映像特徴検出部４は、ＡＶデコーダ１６によるデコード前の映像信号、または、デコード後の映像信号から、映像特徴を検出する。図２及び図３は、この映像特徴について説明した図である。
【００３６】
図２（ａ）では、シーンＳ１〜Ｓ６へ進むに従ってカメラを左方向または右方向へ移動（パン）させて撮影した映像が示されている。図２（ｂ）では、シーンＳ１〜Ｓ６へ進むに従ってカメラをズーム（ズームイン）させて撮影した映像が示されている。本実施形態では、このようなパン、チルト（図示せず）、ズームといった、カメラワークにより生じる映像特徴をカメラ動作系特徴と称する。
【００３７】
図３（ａ）では、シーンＳ３とＳ４との間のカット点ｆａにてシーンが切り替わる様子が示されている。図３（ｂ）では、シーンＳ１〜シーンＳ３へ進むに従って１つのシーンが徐々にフェードアウトし、代わってシーンＳ４〜シーンＳ６へ進むに従って別のシーンが徐々にフェードインしている様子が示されている。本実施形態では、このようなカット、フェードといった映像効果、または、例えば複数の場所で撮影したシーンを結合すること等によって生じるシーン間の類似性（図示せず）といった、映像の編集作業により生じる映像特徴を映像編集系特徴と称する。
【００３８】
映像特徴検出部４は、このようなカメラ動作系特徴及び映像編集系特徴を、後述する共通の信号処理系により検出し、検出した各映像特徴を用いて、例えばハイライトシーン生成、チャプタ生成等の映像コンテンツ処理を行う。
【００３９】
図４は、上記カメラ動作系特徴について概念的に示した図である。  
同図（ａ）は左パンを示しており、この場合、映像中の物体は右方向へ移動する。  
同図（ｂ）は右パンを示しており、この場合、映像中の物体は左方向へ移動する。  
同図（ｃ）は下チルトを示しており、この場合、映像中の物体は上方向へ移動する。  
同図（ｄ）は上チルトを示しており、この場合、映像中の物体は下方向へ移動する。  
同図（ｅ）はズームインを示しており、この場合、映像中の物体は拡大する。  
同図（ｆ）はズームアウトを示しており、この場合、映像中の物体は縮小する。
【００４０】
図５は、ズーム時の画像の変化量を概念的に示した図である。  
映像コンテンツからカメラ動作系特徴を検出するには、映像コンテンツ中からブロックマッチングにより動きベクトルを検出する必要がある。しかし、上記図４に示すように、ズーム動作では、パン動作やチルト動作に比べて、動作中の画像の移動量が小さいため、その検出レベルも小さいと考えられる。したがって、従来のように１つのブロックによりブロックマッチングを行うと、ズームを検出できずに誤検出が発生する可能性がある。そこで、本実施形態においては、複数のブロックを組み合わせてブロックマッチングを行うことを考える。
【００４１】
ここで、図５の矢印ｄに示すように、ズームによる画像の変化は、放射状方向（斜め方向）における変化であるため、この変化量をＸＹ方向に射影した場合、その変化量（矢印ｘ及びｙ）はいずれも元の放射状方向の変化量に比べて小さくなる。したがって、１つのブロックと、そのＸまたはＹ方向の他のブロックとを組み合わせてブロックマッチングを行うよりは、放射状方向の他のブロックと組み合わせてブロックマッチングを行う方が、マッチングの誤検出が改善されると考えられる。よって、本実施形態においては、映像特徴検出部４は、放射状方向のブロックを組み合わせてブロックマッチングを行う。この具体的処理については後述する。
【００４２】
ところで、最近の家庭用ビデオカメラには、いわゆる手振れ補正機能が搭載されたものも多いが、手振れ補正機能によって補正できる補正量には限界があるため、家庭用ビデオカメラで撮影した映像コンテンツには、少なからず手振れ映像が含まれる可能性が高い。また実際に、本発明者等は、家庭用ビデオカメラで撮影した映像と、放送番組のようにスタジオで撮影した映像とを実験により比較したところ、両者では映像の動きベクトルの振動量が大きく異なることを確認した。
【００４３】
図６は、上記実験結果を基に、手振れ映像を概念的に示した図である。同図に示すように、手振れ映像では、フレーム単位で見ると、パンやチルトがランダムに発生していることが分かる。したがって、映像コンテンツ中の所定区間におけるパンやチルトの時系列的変化の挙動、すなわち、動きベクトルの時系列的変化の挙動を検出することで、手振れを検出することができる。
【００４４】
そして、手振れ映像の有無または頻度を検出することで、放映コンテンツを記録した映像コンテンツと、家庭用ビデオカメラで撮影した映像コンテンツとを区別することが可能となる。記録再生装置１００においては、多種多様なマルチメディアコンテンツを蓄積することが想定されるため、映像コンテンツを区別することは、その整理の際等において非常に有効であると考えられる。そこで、本実施形態において、映像特徴検出部４は、上記カメラ動作系特徴として、上記パン、チルト及びズームのほか、手振れを検出することとしている。この手振れ検出の具体的処理についても後述する。
【００４５】
図７は、上記映像特徴検出部４の具体的構成を示したブロック図である。  
同図に示すように、映像特徴検出部４は、画像処理部２１、１フレーム間メモリ部２２、１０フレーム間メモリ部２３、２０フレーム間メモリ部２４、３０フレーム間メモリ部２５、これらメモリ部毎のマッチング処理部２６、２８、３０及び３２、フェード／カット処理部２７、２９、３１及び３３、動きベクトル処理部３４、カメラ特徴判定部３６、フェード／カット判定部３５及びシーンＩＤ処理部３７を有する。
【００４６】
画像処理部２１は、上記ＡＶデコーダ１６によりデコードされた映像コンテンツの、各フレームのベースバンド帯域の画像データ（具体的には、輝度信号Ｙ、色差信号Ｃｂ及びＣｒ）をフレーム番号順に入力し、当該画像データを基に、動きベクトル検出の対象となる参照画像領域及び動きベクトル検出の基準となる位置（以下、基準位置と称する）の設定、動きベクトルの探索領域の設定、及びブロックマッチング処理の基準となるブロック（以下、基準ブロックと称する）の抽出等の処理を行う。これらの処理の詳細については後述する。
【００４７】
なお、ベースバンド帯域で処理を行うのは、記録再生装置１００で再生される映像コンテンツは、ＭＰＥＧデータのほか、デジタル記録したＤＶ（Digital Video）方式のデータ、あるいはアナログ記録したＶＨＳ（Video Home System）方式や８ｍｍ方式のデータ等、様々な方式の映像コンテンツが混在している場合が想定でき、これらの映像コンテンツからの映像特徴の抽出処理を、極力共通の信号処理系で行うためである。
【００４８】
１フレーム間メモリ部２２、１０フレーム間メモリ部２３、２０フレーム間メモリ部２４、３０フレーム間メモリ部２５は、上記基準ブロックを抽出したフレーム（以下、基準フレームと称する）からそれぞれ１フレーム間隔、１０フレーム間隔、２０フレーム間隔、３０フレーム間隔を置いた各フレームまでの各画像データとを蓄積する。勿論、フレーム間隔はこれらに限られるものではない。
【００４９】
マッチング処理部２６、２８、３０及び３２は、それぞれ、上記画像処理部２１から入力する基準フレームと、各フレーム間メモリ部２２〜２５から入力する各フレーム（以下、探索フレームと称する）の各探索領域間で、ブロックマッチング処理を行い、その結果を動きベクトル処理部３４へ出力する。ブロックマッチング処理では、探索フレーム内で、上記基準フレームの基準ブロックと同一形状のブロック（以下、探索ブロックと称する）を移動させながら、基準ブロックと探索ブロックとの類似度が最大となる位置を探索する。そして、各マッチング処理部２６、２８、３０及び３２は、上記基準位置から上記探索された位置までの動きベクトル量（すなわち、ｘ方向（水平方向）及びｙ方向（垂直方向）における各移動量及び移動方向）を動きベクトル処理部３４へ出力する。また、各マッチング処理部２６、２８、３０及び３２は、基準ブロックと探索ブロックとの間のＹ、Ｃｂ及びＣｒの残差値をそれぞれ各フェード／カット処理部２７、２９、３１及び３３へ出力する。これら処理の詳細についても後述する。
【００５０】
フェード／カット処理部２７、２９、３１及び３３は、それぞれ、上記各マッチング処理部２６、２８、３０及び３２から入力したマッチング後の各差分値を基に、フェード／カット評価値を生成し、フェード／カット判定部３５へ出力する。この処理の詳細についても後述する。
【００５１】
なお、フェード／カット処理部２７、２９、３１及び３３は、上記画像処理部２１から入力される上記基準ブロックと、各フレーム間メモリ部２２〜２５から入力される、上記ブロックマッチング処理に用いた各探索ブロックとの差分値を独自に算出するようにしても構わない。
【００５２】
動きベクトル処理部３４は、上記各マッチング処理部２６、２８、３０及び３２から入力されたブロックマッチング処理の結果としての上記動きベクトル量を基に、例えば４０フレーム等、３０フレーム以上フレーム間隔を置いた位置における動きベクトル量を推定し、その推定動きベクトル量をカメラ特徴判定部３６へ出力する。この処理の詳細についても後述する。
【００５３】
カメラ特徴判定部３６は、上記動きベクトル処理部３４から入力された推定動きベクトル量を基に、後述するアフィン変換モデルを用いた重回帰分析により、映像コンテンツ中のパン、チルト、ズーム及び手振れの各カメラ動作系特徴を判定し、判定結果をＣＰＵ１へ出力する。この処理の詳細についても後述する。
【００５４】
フェード／カット判定部３５は、上記各フェード／カット処理部２７、２９、３１及び３３から入力されたフェード／カット評価値を基に、映像コンテンツ中のフェードまたはカットの各映像編集系特徴を判定し、ＣＰＵ１へ出力する。
【００５５】
シーンＩＤ処理部３７は、上記各フレーム間メモリ部２２〜２５から入力された各探索フレームの画像データを基に、所定のベクトル間距離演算処理を行ってフレーム間の類似度を判定し、この判定結果に基づいて、各フレームに当該シーンＩＤを付与し、ＣＰＵ１へ出力する。この処理の詳細についても後述する。
【００５６】
次に、以上のように構成された記録再生装置１００の動作について説明する。
【００５７】
図８は、記録再生装置１００が映像特徴を検出する際の処理の流れを示したフローチャートである。  
同図に示すように、まず、映像特徴検出部４は、各映像特徴の検出フラグの初期設定を行う（ステップ４１）。検出フラグとは、映像コンテンツ中から、上記パン、チルト、ズーム及び手振れの各カメラ動作系特徴と、フェード及びカットの各映像編集系特徴とがそれぞれ検出されたことを示すフラグである。各映像特徴の検出フラグは、それぞれDpan、Dtilt、Dzoom、Dbure、Dfade及びDcutで表され、それぞれのフラグ値を０にすることで各初期設定が行われる。
【００５８】
続いて、映像特徴検出部４は、上記画像処理部２１、各フレーム間メモリ部２２〜２５及び各マッチング処理部２６、２８、３０及び３２、動きベクトル処理部３４により、映像コンテンツ中の動きベクトルを検出する（ステップ４２）。
【００５９】
ここで、この動きベクトル検出処理について詳述する。図９は、動きベクトル検出処理の流れを示したフローチャートである。
【００６０】
ところで、上述したように、動きベクトル検出処理は、上記基準フレームと所定フレーム間隔を置いた探索フレームとの間でそれぞれ探索領域を設定し、当該探索領域間でブロックマッチング処理を行うことで検出できる。しかし、例えば映像コンテンツを撮影したカメラの動きが早い場合には、上記フレーム間隔があまりに長いと、その間隔で映像の動きが頻繁に起きると想定できるため、検出分解能が低くなり、正確な動きベクトル検出ができなくなる。
【００６１】
また、カメラの動きが遅い場合に、上記フレーム間隔があまりに短いと、その間隔で検出される動きベクトルの検出値があまりに小さくなり、この場合も正確な動きベクトル検出ができなくなる。
【００６２】
上述したカメラの動きが早い場合には、上記基準ブロックが探索領域を超えて移動することも想定できる。しかし、検出過程で、探索範囲内であるか、探索範囲を超えたかを判断することはできない。
【００６３】
そこで、本実施形態においては、映像特徴検出部４は、各ブロックマッチングの検出点での移動量と、マッチングの残差値とから、探索の確からしさを推定し、確からしくないと判断できる場合には、その検出データは採用しないで、確からしい検出データのみを採用し、他のフレーム間隔のマッチングデータから、より長いフレーム間隔における推定動きベクトル量を推定する。そして、映像特徴検出部４は、この推定動きベクトル量を、映像特徴の検出に用いる動きベクトル量としている。
【００６４】
図９に示すように、まず、映像特徴検出部４は、上記確からしい検出データの数のカウンタ値ｍを０に設定する（ステップ９１）。カウンタ値ｍの詳細については後述する。
【００６５】
続いて、映像特徴検出部４は、画像処理部２１から入力された基準フレームと、上記各マッチング処理部２６、２８、３０及び３２により、上記各フレーム間メモリ部２２〜２５に記憶された探索フレームを用いて、１フレーム間隔、１０フレーム間隔、２０フレーム間隔及び３０フレーム間隔の各フレーム間隔における動きベクトル検出処理を行う（ステップ９２〜９５）。この各処理の詳細については後述する。
【００６６】
続いて、映像特徴検出部４は、上記動きベクトル処理部３４により、各フレーム間隔について検出した動きベクトルデータを基に、４０フレーム間隔における動きベクトルを推定し（ステップ９６）、この推定された動きベクトルデータを最終的な動きベクトルデータとしてカメラ特徴判定部３６へ出力する（ステップ９７）。この各処理の詳細についても後述する。
【００６７】
そして、映像特徴検出部４は、１つの映像コンテンツを構成する全てのフレームについて動きベクトルデータを出力したか否かを判断し、動きベクトルを検出すべきフレームがなくなるまで上記各ステップの処理を繰り返す（ステップ９８）。
【００６８】
図１０〜図１３は、上記図９のステップ９２〜９５に示した各フレーム間隔における動きベクトル検出処理の詳細を示したフローチャートである。まず、上記ステップ９２における１フレーム間隔での動きベクトル処理について説明する。
【００６９】
図１０に示すように、まず、画像処理部２１及びマッチング処理部２６は、基準フレームと、当該基準フレームから１フレーム間隔を置いた探索フレームとの間でブロックマッチング処理を行う（ステップ９２１）。
【００７０】
ここで、このブロックマッチング処理の詳細について説明する。図１４は、当該ブロックマッチング処理の流れを示したフローチャートである。
【００７１】
同図に示すように、まず、画像処理部２１は、基準フレームに参照画像領域及び探索領域を設定する（ステップ１０１）。図１５は、当該参照画像領域及び探索領域を設定する様子を示した図である。  
同図に示すように、マッチング処理部２６は、元画像（Ｓ）である基準フレーム７１内に、動きベクトルの探索範囲を規定する探索領域７２を設定し、当該探索領域７２の内部に、動きベクトルの検出対象範囲として参照画像領域７３を設定する。
【００７２】
そして、マッチング処理部２６は、参照画像領域７３を例えば８×８＝６４個の領域７４に分割し、各領域の中心点を、動きベクトルの検出対象点Ｐｎ（ｎ＝０〜６３）として設定する。
【００７３】
なお、基準フレーム７１のサイズは例えば７２０×４８０（ピクセル）であるが、これに限られるものではない。また、元画像（Ｓ）を、上記基準フレーム７１の縮小画像としても構わない。例えば、基準フレーム７１が７２０×４８０（ピクセル）である場合、その１／４のサイズ（縦横各１／２）である３６０×２４０（ピクセル）の画像が元画像（ｓ）とされ、この内部に上記探索領域７２及び参照画像領域７３が設定される。これにより、後のブロックマッチング処理において、その精度を低下させることなく、各マッチング処理部２６、２８、３０及び３２の負荷を低減することが可能となる。
【００７４】
図１０に戻り、画像処理部２１は、動きベクトルの検出対象点Ｐｎをｎ＝０に設定し、当該Ｐ０についてのブロックマッチング処理の基準となる基準ブロックの設定を行う（ステップ１０２）。図１６は、この基準ブロックの設定方法を示した図である。
【００７５】
同図に示すように、画像処理部２１は、まず、上記基準フレーム７１の中心を原点Ｏ（０，０）とした場合の、検出対象点Ｐｎ（この場合Ｐ０）の座標（ｘｎ，ｙｎ）を取得する（ステップ１０３）。続いて、画像処理部２１は、所定の値ａｎを設定する（ステップ１０４）。このａｎは、例えば以下で設定される基準ブロックの１辺の長さの１／２とされる。ａｎの値は例えば４とされるが、これに限られるものではない。
【００７６】
続いて、画像処理部２１は、図１６（ａ）に示すように、基準フレーム７１上で関数：Ｆｎ（ｘ）＝ｋｎｘ （ｋｎ＝ｙｎ／ｘｎ）を想定し、上記設定した値ａｎを用いて、当該関数における以下の２つの座標を求める（ステップ１０５）。  
Pn1(xn-an, Fn(xn-an))
Pn2(xn+an, Fn(xn+an))
【００７７】
続いて、画像処理部２１は、上記座標点Ｐｎ１を中心とする基準ブロックＢｎ１を設定し（ステップ１０６）、この基準ブロックＢｎ１をｓ×ｓの小ブロックｂｎ１に分割する（ステップ１０７）。
【００７８】
続いて、画像処理部２１は、上記座標点Ｐｎ２を中心とする基準ブロックＢｎ２を設定し（ステップ１０８）、この基準ブロックＢｎ１をｓ×ｓの小ブロックｂｎ２に分割する（ステップ１０９）。
【００７９】
図１６（ｂ）に示すように、ｓ＝４の場合、基準ブロックＢｎ１及びＢｎ２は、それぞれ小ブロックｂ０〜ｂ１５により構成され、また同図（ｃ）に示すように、各小ブロックｂｎ１及びｂｎ２は、例えば４つの画素データの平均値となっている。
【００８０】
ここで、この４つの画素データをそれぞれｄｎ１、ｄｎ２、ｄｎ３及びｄｎ４とすると、各小ブロックｂｎ１及びｂｎ２は、Ｙ、Ｃｂ及びＣｒの３次元のベクトルデータとして考えることができる。これらの各データ成分を_y、_cb及び_crの添え字を付けて表現すると、例えば小ブロックｂｎ１の各データ成分は次式で表現できる。  
bn1_y   = (dn1_y + dn2_y + dn3_y + dn4_y) / 4
bn1_cb  = (dn1_cb + dn2_cb + dn3_cb + dn4_cb) /4
bn1_cr  = (dn1_cr + dn2_cr + dn3_cr + dn4_cr) / 4
【００８１】
以上のように基準ブロックＢｎ１及びＢｎ２の設定が完了すると、各マッチング処理部２６、２８、３０及び３２による１０フレーム間隔、２０フレーム間隔及び３０フレーム間隔でのブロックマッチング処理が開始される。なお、これ以降は、マッチング処理部２６による１フレーム間隔でのブロックマッチング処理を説明するが、他のマッチング処理部２８、３０及び３２による各フレーム間隔でのブロックマッチング処理も同様である。
【００８２】
マッチング処理部２６は、上記基準ブロックＢｎ１及びＢｎ２の各小ブロックｂｎ１及びｂｎ２に基づいて、ブロックマッチング処理を行う（ステップ１１０）。図１７は、このブロックマッチング処理の様子を示した図である。同図（ａ）は基準フレーム７１における基準ブロックＢｎ１及びＢｎ２（以下、２つの基準ブロックをまとめて基準ブロックＢｎとも称する）を示しており、同図（ｂ）は探索フレーム７５における探索ブロックＢｍ１及びＢｍ２（以下、２つの探索ブロックをまとめて探索ブロックＢｍとも称する）を示している。
【００８３】
これらの図に示すように、マッチング処理部２６は、上記基準フレーム７１から上記設定した２つの基準ブロックＢｎを抽出し、当該基準ブロックＢｎが、所定フレーム間隔（この場合１フレーム間隔）を置いた探索フレーム７５内のどの位置に移動したかを、パターンマッチングにより検出する。すなわち、探索ブロックＢｍを探索フレーム７５の上記探索領域７２内で１画素ずつ移動させていき、上記基準ブロックＢｎの各小ブロックｂｎの上記Ｙ、Ｃｂ及びＣｒの各データ成分の各ベクトル距離が最小となるような位置Ｐｍを検出する。上記基準フレーム７１の上記Ｐｎから検出位置Ｐｍまでの移動量Ｖｎ及び移動方向が動きベクトルＭＶとなる。また、マッチング処理部２６は、上記移動量とともに基準ブロックＢｎと探索ブロックＢｍとのマッチング後の残差値も算出する。
【００８４】
マッチング処理部２６は、検出対象点Ｐｎについての動きベクトル検出が終了すると、ｎをインクリメントし（ステップ１１２）、ｎがｎｍａｘ以上となるまで以上の処理を繰り返す（ステップ１１３）。本実施形態においては、ｎｍａｘはｎ＝６３である。
【００８５】
以上の処理により、基準ブロックＢｎ１及びＢｎ２は、基準フレーム７１の中心から放射状方向に設定されることになる。すなわち、各ブロックＢｎ１及びＢｎ２は、基準フレーム７１の中心を始点とする半直線上にそれぞれ中心を有するように設定される。このように、放射状方向にブロックを設定することで、上述したように、カメラ動作系特徴のうち、特にズームの動きベクトルの検出精度を格段に向上させることができる。また、２つのブロックを組み合わせてブロックマッチングを行うことで、従来のように１つのブロックによりブロックマッチングを行う場合に比べて、ズームのみならず、パンやチルトといったＸＹ方向における動きベクトルの検出精度も向上させることができる。
【００８６】
マッチング処理部２６と同様に、マッチング処理部２８、３０及び３２も、それぞれ１０フレーム間隔、２０フレーム間隔及び３０フレーム間隔の探索フレーム７５を用いて上記動きベクトルの検出を行う。
【００８７】
ここで、上述したように、本実施形態においては、映像特徴検出部４は、動きベクトルの検出精度を向上させるため、検出された動きベクトルが確からしくないと判断された場合には、その検出データは採用しないこととしている。以下、この処理の詳細な説明として、上記図１０に戻り、ステップ９２２からの処理を説明する。
【００８８】
上述したように、マッチング処理部２６は、動きベクトルを探索するための探索領域７２を設定するが、マッチング処理部２６は、検出精度向上のために、この探索領域７２とは別に、新たな探索範囲を設定する。この探索範囲は、検出対象点Ｐｎから例えばｘ及びｙ方向にそれぞれ±８画素とする。すなわち、検出位置Ｐｍが、検出対象点Ｐｎから＋方向または−方向に８未満で、かつ、上記マッチングの残差値が所定の閾値Ｅｔｈ未満であることを判定基準として、検出データが当該判定基準を超える場合には、その検出データは確からしくないデータとして、採用しないこととする。もちろん、探索範囲はこの数値に限られるものではない。
【００８９】
ここで、上記１フレーム間隔における動きベクトル検出でのｘ方向（水平方向）及びｙ方向（垂直方向）における移動量をそれぞれＶ１ｘｎ、Ｖ１ｙｎとし、残差値をＥ１ｎとする。
【００９０】
図１０に示すように、マッチング処理部２６は、１フレーム間のブロックマッチング処理により検出した移動量Ｖ１ｘｎ、Ｖ１ｙｎ及び残差値Ｅ１ｎを検出する（ステップ９２２）。そして、マッチング処理部２６は、上記判定基準により、
｜Ｖ１ｘｎ｜<８、かつ、｜Ｖ１ｙｎ｜<８、かつ、Ｅ１ｎ<Ｅｔｈ
であるか否かを判断する（ステップ９２３、９２４）。上記各値が判定基準を満たす場合には、マッチング処理部２６は、便宜的な重み係数ｋ１をｋ１＝１とし、上記確からしい検出データの数のカウンタ値ｍをｍ＝ｍ＋１とする（ステップ９２５）。また、上記各値が判定基準を満たさない場合には、マッチング処理部２６は、ｋ１＝０とする（ステップ９２６）。そして、マッチング処理部２６は、上記検出した移動量Ｖ１ｘｎ、Ｖ１ｙｎ及び残差値Ｅ１ｎと共に、上記重み係数Ｋ１及びカウンタ値ｍを動きベクトル処理部３４へ出力する。
【００９１】
次に、１０フレーム間隔における動きベクトル検出処理のうち、ブロックマッチング処理後の処理を説明する。ここで、上記１０フレーム間隔における動きベクトル検出でのｘ方向（水平方向）及びｙ方向（垂直方向）における移動量をそれぞれＶ１０ｘｎ、Ｖ１０ｙｎとし、残差値をＥ１０ｎとする。
【００９２】
図１１に示すように、マッチング処理部２８は、１０フレーム間のブロックマッチング処理により検出した移動量Ｖ１０ｘｎ、Ｖ１０ｙｎ、及び残差値Ｅ１０ｎを検出する（ステップ９３２）。そして、マッチング処理部２８は、上記判定基準により、
｜Ｖ１０ｘｎ｜<８、かつ、｜Ｖ１０ｙｎ｜<８、かつ、Ｅ１０ｎ<Ｅｔｈ
であるか否かを判断する（ステップ９３３、９３４）。上記各値が判定基準を満たす場合には、マッチング処理部２８は、便宜的な重み係数ｋ１０をｋ１０＝１とし、上記確からしい検出データの数のカウンタ値ｍをｍ＝ｍ＋１とする（ステップ９３５）。また、上記各値が判定基準を満たさない場合には、マッチング処理部２８は、ｋ１０＝０とする（ステップ９３６）。そして、マッチング処理部２８は、上記検出した移動量Ｖ１０ｘｎ、Ｖ１０ｙｎ及び残差値Ｅ１０ｎと共に、上記重み係数Ｋ１０及びカウンタ値ｍを動きベクトル処理部３４へ出力する。
【００９３】
次に、２０フレーム間隔における動きベクトル検出処理のうち、ブロックマッチング処理後の処理を説明する。ここで、上記２０フレーム間隔における動きベクトル検出でのｘ方向（水平方向）及びｙ方向（垂直方向）における移動量をそれぞれＶ２０ｘｎ、Ｖ２０ｙｎとし、残差値をＥ２０ｎとする。
【００９４】
図１２に示すように、マッチング処理部３０は、２０フレーム間のブロックマッチング処理により検出した移動量Ｖ２０ｘｎ、Ｖ２０ｙｎ、及び残差値Ｅ２０ｎを検出する（ステップ９４２）。そして、マッチング処理部３０は、上記判定基準により、
｜Ｖ２０ｘｎ｜<８、かつ、｜Ｖ２０ｙｎ｜<８、かつ、Ｅ２０ｎ<Ｅｔｈ
であるか否かを判断する（ステップ９４３、９４４）。上記各値が判定基準を満たす場合には、マッチング処理部３０は、便宜的な重み係数ｋ２０をｋ２０＝１とし、上記確からしい検出データの数のカウンタ値ｍをｍ＝ｍ＋１とする（ステップ９４５）。また、上記各値が判定基準を満たさない場合には、マッチング処理部３０は、ｋ２０＝０とする（ステップ９４６）。そして、マッチング処理部３０は、上記検出した移動量Ｖ２０ｘｎ、Ｖ２０ｙｎ及び残差値Ｅ２０ｎと共に、上記重み係数Ｋ２０及びカウンタ値ｍを動きベクトル処理部３４へ出力する。
【００９５】
次に、３０フレーム間隔における動きベクトル検出処理のうち、ブロックマッチング処理後の処理を説明する。ここで、上記３０フレーム間隔における動きベクトル検出でのｘ方向（水平方向）及びｙ方向（垂直方向）における移動量をそれぞれＶ３０ｘｎ、Ｖ３０ｙｎとし、残差値をＥ３０ｎとする。
【００９６】
図１３に示すように、マッチング処理部３２は、３０フレーム間のブロックマッチング処理により検出した移動量Ｖ３０ｘｎ、Ｖ３０ｙｎ、及び残差値Ｅ３０ｎを検出する（ステップ９５２）。そして、マッチング処理部３２は、上記判定基準により、
｜Ｖ３０ｘｎ｜<８、かつ、｜Ｖ３０ｙｎ｜<８、かつ、Ｅ３０ｎ<Ｅｔｈ
であるか否かを判断する（ステップ９５３、９５４）。上記各値が判定基準を満たす場合には、マッチング処理部３２は、便宜的な重み係数ｋ３０をｋ３０＝１とし、上記確からしい検出データの数のカウンタ値ｍをｍ＝ｍ＋１とする（ステップ９５５）。また、上記各値が判定基準を満たさない場合には、マッチング処理部３２は、ｋ３０＝０とする（ステップ９５６）。そして、マッチング処理部３２は、上記検出した移動量Ｖ３０ｘｎ、Ｖ３０ｙｎ及び残差値Ｅ３０ｎと共に、上記重み係数Ｋ３０及びカウンタ値ｍを動きベクトル処理部３４へ出力する。
【００９７】
次に、上記図９のステップ９６における、動きベクトル処理部３４による動きベクトル推定処理の詳細について説明する。図１８は、この動きベクトル推定処理の流れを示したフローチャートである。ここでは、４０フレーム間における動きベクトルを推定するために、各検出フレーム間隔と移動量とから、便宜的な勾配を求めることを考える。図１９は、この勾配について示した図である。
【００９８】
図１８に示すように、動きベクトル処理部３４は、まず、上記各マッチング処理部２６、２８、３０及び３２からそれぞれ入力されたカウンタ値ｍを合計し、その結果が１以上であるか否かを判断する（ステップ９６１）。カウンタ値の合計が１以上の場合（Ｙｅｓ）、動きベクトル処理部３４は、上記各フレーム間での動きベクトルの勾配を算出する（ステップ９６２）。
【００９９】
ここで、まず、１フレーム間隔をＬ１ｔとし、このＬ１ｔと上記移動量Ｖ１ｘｎとから、この１フレーム間隔における動きベクトルの勾配Ｔ１ｘｎを求める場合について説明する。  
この検出フレーム間隔Ｌ１ｔは、基準フレーム７１間のｐｔｓ（Presentation Time Stamp）時間間隔ｐ０と、当該基準フレーム７１から１フレーム後の探索フレーム７５間のｐｔｓ時間間隔ｐ１ｔとの比として、次式で算出することができる。  
Ｌ１ｔ＝ｐ１ｔ／ｐ０
これは、映像コンテンツによって、フレームレートが異なる場合が想定できることから、上記勾配を算出する場合に、１フレーム間隔の時間をいわば正規化するためである。  
よって、ｘ方向における移動量についての勾配は、次式で求められる。  
Ｔ１ｘｎ＝Ｖ１ｘｎ／Ｌ１ｔ
また、ｙ方向における移動量についての勾配は、次式で求められる。  
Ｔ１ｙｎ＝Ｖ１ｙｎ／Ｌ１ｔ
【０１００】
同様に、１０フレーム間隔をＬ１０ｔとし、このＬ１０ｔと上記移動量Ｖ１０ｘｎとから、この１０フレーム間隔における動きベクトルの勾配Ｔ１０ｘｎを求める場合について説明する。  
この検出フレーム間隔Ｌ１０ｔは、基準フレーム７１間のｐｔｓ時間間隔ｐ０と、当該基準フレーム７１から１０フレーム後の探索フレーム７５間のｐｔｓ時間間隔ｐ１０ｔとの比として、次式で算出することができる。  
Ｌ１０ｔ＝ｐ１０ｔ／ｐ０
よって、ｘ方向における移動量についての勾配は、次式で求められる。  
Ｔ１０ｘｎ＝Ｖ１０ｘｎ／Ｌ１０ｔ
また、ｙ方向における移動量についての勾配は、次式で求められる。  
Ｔ１０ｙｎ＝Ｖ１０ｙｎ／Ｌ１０ｔ
【０１０１】
同様に、２０フレーム間隔をＬ２０ｔとし、このＬ２０ｔと上記移動量Ｖ２０ｘｎとから、この２０フレーム間隔における動きベクトルの勾配Ｔ２０ｘｎを求める場合について説明する。  
この検出フレーム間隔Ｌ２０ｔは、基準フレーム７１間のｐｔｓ時間間隔ｐ０と、当該基準フレーム７１から２０フレーム後の探索フレーム７５間のｐｔｓ時間間隔ｐ２０ｔとの比として、次式で算出することができる。  
Ｌ２０ｔ＝ｐ２０ｔ／ｐ０
よって、ｘ方向における移動量についての勾配は、次式で求められる。  
Ｔ２０ｘｎ＝Ｖ２０ｘｎ／Ｌ２０ｔ
また、ｙ方向における移動量についての勾配は、次式で求められる。  
Ｔ２０ｙｎ＝Ｖ２０ｙｎ／Ｌ２０ｔ
【０１０２】
同様に、３０フレーム間隔をＬ３０ｔとし、このＬ３０ｔと上記移動量Ｖ３０ｘｎとから、この３０フレーム間隔における動きベクトルの勾配Ｔ３０ｘｎを求める場合について説明する。  
この検出フレーム間隔Ｌ３０ｔは、基準フレーム７１間のｐｔｓ時間間隔ｐ０と、当該基準フレーム７１から３０フレーム後の探索フレーム７５間のｐｔｓ時間間隔ｐ３０ｔとの比として、次式で算出することができる。  
Ｌ３０ｔ＝ｐ３０ｔ／ｐ０
よって、ｘ方向における移動量についての勾配は、次式で求められる。  
Ｔ３０ｘｎ＝Ｖ３０ｘｎ／Ｌ３０ｔ
また、ｙ方向における移動量についての勾配は、次式で求められる。  
Ｔ３０ｙｎ＝Ｖ３０ｙｎ／Ｌ３０ｔ
【０１０３】
以上から、ｘ方向及びｙ方向について、勾配の平均Tavex(n)及びTavey(n)は、上記重み係数の合計（Ｋ１＋Ｋ１０＋Ｋ２０＋Ｋ３０）>０の場合、それぞれ次式で求めることができる。  
Tavex(n)=(k1 T1xn + k10 T10xn + k20 T20xn + k30 T30xn) / ( k1 + k10 + k20 + k30)
Tavey(n)=(k1 T1yn + k10 T10yn + k20 T20yn + k30 T30yn) / ( k1 + k10 + k20 + k30)
また、（Ｋ１＋Ｋ１０＋Ｋ２０＋Ｋ３０）＝０の場合、Tavex(n)及びTavey(n)は、それぞれ次式の通りとなる。  
Tavex(n)=0
Tavey(n)=0
次に、動きベクトル処理部３４は、上記算出した勾配平均を用いて、便宜的に４０フレーム間隔における動きベクトルを推定する（ステップ９６３）。具体的には、動きベクトル処理部３４は、上記算出した勾配平均に、フレーム間隔を乗算することで、上記図１９で示した等価的な移動量を算出することができる。すなわち、４０フレーム間隔における推定動きベクトル（推定移動量）は、ｘ方向、ｙ方向についてそれぞれ次式により求めることができる。  
40×Tavex(n)
40×Tavey(n)
【０１０４】
なお、この勾配の計算では、上記図１９に示したように原点を通る直線（ｙ＝ａｘ）を全てのフレーム間隔の場合で仮定しているため、勾配の算出値はあくまで近似的なものとなる。
【０１０５】
動きベクトル処理部３４は、この推定動きベクトルを上記検出対称点Ｐｎにおける動きベクトルとしてカメラ特徴判定部３６へ出力する（図９のステップ９７）。また、上記ステップ９６１において、カウンタ値ｍの合計が０である場合には（Ｎｏ）、動きベクトル処理部３４は、動きベクトルは０に設定し（ステップ９６４）、カメラ特徴判定部３６へ出力する（図９のステップ９７）。この出力された動きベクトルが、後述するアフィン係数処理に用いられる。
【０１０６】
以上のように、動きベクトルの検出にあたり、上記判定基準を設定して、当該判定基準を満たさない検出データ、すなわち確からしくない検出データを採用しないこととしたため、動きベクトル検出の精度をより向上させることができる。また、上記各フレーム間隔における動きベクトル検出データに基づいて、検出フレーム間隔よりも大きいフレーム間隔の動きベクトルを推定することで、検出データの範囲（ダイナミックレンジ）を広げることができ、単に検出データをスケーリングする場合に比べて、データの分解能を改善することができる。
【０１０７】
図８に戻り、映像特徴検出部４は、上記動きベクトル処理部３４から出力された動きベクトルデータを基に、カメラ特徴判定部３６により、重回帰分析処理を行い（ステップ４３）、アフィン係数を算出する（ステップ４４）。ここで、この重回帰分析処理によりアフィン係数を算出するためのアフィン変換モデルについて説明する。
【０１０８】
図２０は、アフィン変換モデルを示した図である。アフィン変換モデルは、３次元オブジェクトの平行移動、拡大／縮小、回転を、行列を用いた座標変換処理として記述するためのモデルである。上記パン、チルト、ズームといったカメラ動作系特徴は、上記基準フレーム７１内の物体の平行移動、拡大／縮小であると考えられるため、アフィン変換モデルを用いることで、カメラ動作系特徴を記述することが可能となる。
【０１０９】
ここで、映像コンテンツにおいて、フレーム間隔が大きくない場合には、回転の特徴については、回転角θが小さいものとして、以下の近似処理を行うことができる。  
ｓｉｎθ≒θ
ｃｏｓθ≒１
【０１１０】
したがって、アフィン変換モデルは、図２０に示すように変形することができる。そして、上記検出した動きベクトルから、このアフィン変換モデルを用いて各係数を求めることで、カメラ動作系特徴を検出することができる。すなわち、パン、チルト、ズームに対して、所定の閾値Ｐｔｈ、Ｔｔｈ及びＺｔｈを設定しておき、上記検出された動きベクトルから処理した各アフィン係数と比較することで、各カメラ動作系特徴を検出することができる。
【０１１１】
図２１は、重回帰分析によりアフィン係数を求める処理を示した図である。同図に示すように、カメラ特徴判定部３６は、説明変数を上記基準フレーム７１における検出対象点Ｐｎのｘ、ｙ座標（ｘｎ，ｙｎ）とし、非説明変数（目的変数）を、上記探索フレーム７５における動きベクトルの検出位置Ｐｍのｘ、ｙ座標（ｘｍ，ｙｍ）として、重回帰分析処理を行い、パン、チルト、ズームの各係数Ｐｘ、Ｐｙ、Ｚｘを求める（ステップ４４）。
【０１１２】
図８に戻り、カメラ特徴判定部３６は、上記算出したアフィン係数のうち、パン係数Ｐｘを入力する（ステップ４５）。そして、カメラ特徴判定部３６は、当該Ｐｘが、上記閾値Ｐｔｈよりも大きいか否かを判定し（ステップ４６）、Ｐｔｈよりも大きい場合には（Ｙｅｓ）、パン検出フラグDpan＝１とし（ステップ４７）、Ｐｔｈ以下の場合には（Ｎｏ）、パン検出フラグDpan＝０とする（ステップ４８）。
【０１１３】
続いて、カメラ特徴判定部３６は、上記算出したアフィン係数のうち、チルト係数Ｐｙを入力する（ステップ４９）。そして、カメラ特徴判定部３６は、当該Ｐｙが、上記閾値Ｔｔｈよりも大きいか否かを判定し（ステップ５０）、Ｔｔｈよりも大きい場合には（Ｙｅｓ）、チルト検出フラグDtilt＝１とし（ステップ５１）、Ｔｔｈ以下の場合には（Ｎｏ）、チルト検出フラグDtilt＝０とする（ステップ５２）。
【０１１４】
続いて、カメラ特徴判定部３６は、上記算出したアフィン係数のうち、ズーム係数Ｚｘ及びＺｙを入力する（ステップ５３）。そして、カメラ特徴判定部３６は、当該ＺｘまたはＺｙが、上記閾値Ｚｔｈよりも大きいか否かを判定し（ステップ５４）、少なくとも一方がＺｔｈよりも大きい場合には（Ｙｅｓ）、ズーム検出フラグDzoom＝１とし（ステップ５５）、いずれもＺｔｈ以下の場合には（Ｎｏ）、ズーム検出フラグDzoom＝０とする（ステップ５６）。
【０１１５】
なお、カメラ特徴判定部３６は、パン、チルト、ズームの各カメラ動作系特徴については、それぞれ左パン／右パン、左チルト／右チルト、ズームイン／ズームアウトをそれぞれ区別して検出するようにしても構わない。この区別は、アフィン係数の正負の符号を参照することで容易に行うことができる。
【０１１６】
続いて、カメラ特徴判定部３６は、パン係数Ｐｘ及びチルト係数Ｐｙの時系列解析を行うことで、手振れを判定する（ステップ５７）。図２２は、手振れ判定処理について示した図である。
【０１１７】
カメラ特徴判定部３６は、図２２に示すように、映像コンテンツ中の所定区間（ｔ０〜ｔ１、ｔ１〜ｔ２、ｔ２〜ｔ３、ｔ３〜ｔ４）毎のアフィン係数から算出した、パン係数Ｐｘ、チルト係数Ｐｙの分散と、所定区間の平均値レベルとの交差回数とで手振れを判定することができる。所定区間としては、例えば０．５秒〜５秒程度の時間長が設定される。
【０１１８】
例えば、同図のｔ０〜ｔ１の区間においては、ＰｘまたはＰｙは、平均レベルの値と１２回交差している。カメラ特徴判定部３６は、この交差回数の閾値をＴｈｃｒとし、交差回数がＴｈｃｒより大きく、ＰｘまたはＰｙの上記各所定区間での分散値が所定の閾値Ｔｈｖより大きいか否かを判定する（ステップ５８）。
【０１１９】
ここで、所定区間毎のＰｘ及びＰｙのデータ数をN、各データをPx(n)、Px(y)、それらの各平均値をPxave、Pyaveとすると、Ｐｘ、Ｐｙの分散値Pxvari、Pyvariは、それぞれ次式で求めることができる。  
Pxvari  =  (1/N) Σ ((Pxave −Px(n))×(Pxave −Px(n)) )
Pyvari  =  (1/N) Σ ((Pyave −Py(n))×(Pyave −Py(n)) )
【０１２０】
交差回数及び分散値がいずれも各閾値よりも大きい場合には（Ｙｅｓ）、カメラ特徴判定部３６は、上記所定区間の映像は手振れ映像であると判定して手振れ検出フラグDbure＝１とし（ステップ５９）、交差回数及び分散値の少なくとも一方が閾値以下の場合には（Ｎｏ）、手振れ検出フラグDbure＝０とする（ステップ６０）。
【０１２１】
次に、映像特徴検出部４は、フェード及びカットの検出処理を行う。  
まず、フェード／カット処理部２７、２９、３１及び３３の処理について説明する。
【０１２２】
フェード／カット処理部２７、２９、３１及び３３は、それぞれ、上記各マッチング処理部２６、２８、３０及び３２から、マッチング処理後の各残差値Ｅ１ｎ、Ｅ１０ｎ、Ｅ２０ｎ及びＥ３０ｎを入力し、これらの各残差値を基に、フェード／カット評価値を生成し、フェード／カット判定部３５へ出力する（ステップ６１）。
【０１２３】
ここで、フェード／カット評価値Ｈは、上記残差値をＥｎ（ｎ＝０〜６３）とすると、次式で求めることができる。  
63
Ｈ＝  ΣEn
n=0
【０１２４】
したがって、各フェード／カット処理部２７、２９、３１及び３３は、上記各マッチング処理部２６、２８、３０及び３２からの各残差値Ｅ１ｎ、Ｅ１０ｎ、Ｅ２０ｎ及びＥ３０ｎを、それぞれｎ＝６３となるまで、すなわち、基準フレーム７１の全ての検出対象点Ｐ０〜Ｐ６３についての残差値が入力されるまで入力し、それぞれそれらの総和を算出する。
【０１２５】
図２３及び図２４は、上記フェード／カット評価値の算出結果と、フレーム経過との関係を、上記フレーム間隔毎に示したグラフである。図２３は、カット点が含まれる場合のグラフを示し、図２４は、フェードが含まれる場合のグラフを示している。
【０１２６】
フェード／カット判定部３５は、上記図２３及び図２４に示されるフェード／カット評価値の値を基に、フェード及びカットの判定を行う（ステップ６２）。すなわち、フェード／カット判定部３５は、フレーム経過に伴うフェード／カット評価値の変化が急峻な場合（ステップ６３のＹｅｓ）には、カットであると判定してカット検出フラグDcut＝１とする（ステップ６５）。また、フェード／カット判定部３５は、フレーム経過に伴うフェード／カット評価値の変化が緩やかである場合（ステップ６４のＹｅｓ）には、フェードであると判定してフェード検出フラグDfade＝１とする（ステップ６６）。そのどちらとも判定できない場合（ステップ６４のＮｏ）には、フェード／カット判定部３５は、カット検出フラグDcut＝０、フェード検出フラグDfade＝０とする（ステップ６７）。
【０１２７】
具体的には、フェード／カット判定部３５は、１フレーム間隔におけるフェード／カット評価値の変化を解析し、図２３のグラフａに示すようなピーク特性が検出される場合には、そのピーク点をカット点と判定する。
【０１２８】
また、フェード／カット判定部３５は、上記ピーク特性が検出されない場合には、図２４に示すように、所定の時刻ｔにおいて、１フレーム間隔についてのフェード評価値（グラフａ）と１０フレーム間隔についてのフェード評価値（グラフｂ）との差分Ｖａ、１０フレーム間隔についてのフェード評価値と２０フレーム間隔についてのフェード評価値（グラフｃ）との差分Ｖｂ、２０フレーム間隔についてのフェード評価値と３０フレーム間隔についてのフェード評価値（グラフｄ）との差分Ｖｃをそれぞれ算出する。
【０１２９】
図２４に示すように、フェードの場合、映像は徐々に変化していくため、フェード／カット評価値はフレーム間隔によってその変化量に違いが生じ、それにより上記Ｖａ、Ｖｂ、Ｖｃの各値は全て正の値かつ比較的近い数値として顕著に現れる。一方、カットの場合は、図２３に示すように、Ｖａ、Ｖｂ、Ｖｃの値に大きな差が生じ、また負の値となる場合もある。したがって、フェード／カット判定部３５は、このＶａ、Ｖｂ及びＶｃを解析することで、フェードか否かを判定することができる。
【０１３０】
なお、各フェード／カット処理部２７、２９、３１及び３３は、上述したように、上記マッチング処理部２６、２８、３０及び３２から、マッチング処理後の各残差値を入力するのではなく、画像処理部２１から入力される基準ブロックＢｎと、各フレーム間メモリ部２２〜２５から入力される、上記ブロックマッチング処理に用いた探索ブロックＢｍとを用いて、独自にフェード／カット評価値を算出するようにしても構わない。具体的には、各フェード／カット処理部２７、２９、３１及び３３は、上記基準ブロックＢｎ及び探索ブロックＢｍの各Ｙ、Ｃｂ、Ｃｒのデータ毎の差分を上記検出対象点Ｐｎ毎に検出し、当該差分の、検出対象点Ｐ０〜Ｐ６３についての総和を上記フェード／カット評価値として算出する。この場合の差分は、上記基準ブロックＢｎ１とＢｎ２とを合成したデータと、上記探索ブロックＢｍ１とＢｍ２とを合成したデータとを比較することで算出される。しかしながら、上述のようにブロックマッチング処理後の各残差値を利用する方が、当然ながらフェード／カット処理部２７、２９、３１及び３３の負荷は低くて済む。
【０１３１】
次に、映像特徴検出部４は、シーンＩＤ処理を行う（ステップ６８）。以下、シーンＩＤ処理の詳細について説明する。図２５は、シーンＩＤ処理部３７の構成を示した図である。
【０１３２】
同図に示すように、シーンＩＤ処理部３７は、データメモリ８１、ベクトル距離演算部８２、ＩＤ生成部８３及びＩＤメモリ８４を有する。
【０１３３】
データメモリ８１は、上記各フレーム間メモリ部２２〜２５から、ブロックマッチング処理に用いた各基準フレーム７１の基準ブロックＢｎのデータ及び各探索フレーム７５の探索ブロックＢｍのデータを、多次元ベクトルデータ（ｄ０〜ｄ６３）として逐次入力する。ブロック番号ｋのブロックデータｄｋは、当該ブロック番号ｋにおけるＹ、Ｃｂ及びＣｒの各データ成分からなる。
【０１３４】
このデータメモリ８１は、例えばリングバッファとして構成される。データメモリ８１は、入力したブロックデータｄｋを、Ｖ０〜Ｖｎの各記憶領域へ、例えば１フレーム毎に記憶していく。ここでｎは例えば１６とされるが、これに限られるものではない。
【０１３５】
ベクトル距離演算部８２は、入力された１つのフレームのブロックデータと、上記Ｖ０〜Ｖｎに既にそれぞれ記憶されている他のフレームのブロックデータとの間で、逐次ベクトル距離演算処理を行い、ベクトル距離が最小となるブロックデータを判定する。すなわち、ベクトル距離演算部８２は、上記各ブロックデータに基づいてフレーム間の類似度の判定を行い、１つのフレームに類似する他のフレームを判定する。
【０１３６】
ＩＤ生成部８３は、当該ベクトル距離演算結果に基づいて、上記各記憶領域Ｖ０〜Ｖｎの各ブロックデータについてそれぞれシーンＩＤを生成する。ＩＤメモリ８４は、当該生成されたシーンＩＤを、各記憶領域Ｉｄ０〜Ｉｄｎへ逐次記憶する。
【０１３７】
データメモリ８１の各記憶領域Ｖ０〜Ｖｎと、ＩＤメモリ８４の各記憶領域Ｉｄ０〜Ｉｄｎとは対応関係にある。例えば、同図において、入力されてきたブロックデータが、上記ベクトル距離演算部８２において、Ｖ５に記憶されたブロックデータと類似していると判定された場合には、Ｉｄ５に記憶されたＩＤと同一のＩＤを生成して、当該ＩＤを、入力されてきたブロックデータへ付与する。この入力されてきたブロックデータは、データメモリ８１の記憶領域Ｖ０へ記憶され、上記生成されたＩＤはＩＤメモリ８４の記憶領域Ｉｄ１へ記憶される。このとき、当該ＩＤの生成前にＶ０に記憶されていたブロックデータは記憶領域Ｖ１へ移動し、記憶領域Ｖ１に記憶されていたブロックデータは記憶領域Ｖ２へ移動する。また、ＩＤの生成前にＩＤメモリ８４の記憶領域Ｉｄ０に記憶されていたＩＤは記憶領域Ｉｄ１へ移動し、記憶領域Ｉｄ１に記憶されていたＩＤは記憶領域Ｉｄ２へ移動する。このように、ＩＤの生成毎に、データメモリ８１及びＩＤメモリ８４の各記憶領域のデータがシフトしていく。ＩＤ生成部８３は、生成したＩＤをＣＰＵ１へ順次出力する。
【０１３８】
上記ベクトル距離演算により、どのデータメモリ８１のどの記憶領域に記憶されたブロックデータとも類似しないと判定された場合には、新たなＩＤを付与する。また、データメモリ８１及びＩＤメモリ８４の各記憶領域がいっぱいになった場合には、古いデータから順に削除していく。
【０１３９】
なお、データメモリ８１とＩＤメモリ８４とは、物理的に別々のメモリ素子としてもよいし、１つのメモリ素子を各メモリ用に分割するようにしても構わない。
【０１４０】
また、上記ＩＤ処理は、１フレーム毎に処理を行うのではなく、上記１０フレーム間メモリ部２３、２０フレーム間メモリ部２４、３０フレーム間メモリ部２５の各ブロックデータを利用して、それぞれ１０フレーム、２０フレーム、３０フレーム間で行うようにしても構わない。これにより、上記データメモリ８１及びＩＤメモリ８４の記憶容量や、ベクトル距離演算部８２及びＩＤ生成部８３の負荷を抑えることができる。
【０１４１】
図２６は、上記ＩＤ処理により出力されたシーンＩＤと、フレーム番号との関係を示したグラフである。
【０１４２】
例えば同図（ａ）、（ｂ）及び（ｃ）に示すように、連続するフレームや、所定フレーム間離れたフレームに同一のシーンＩＤが付与されていることが分かる。この同一のシーンＩＤが付与されたフレームは類似シーンとして扱うことで、例えば後述するハイライトシーンの再生等を行うことが可能となる。
【０１４３】
図２７は、上記カメラ特徴判定部３６及びフェード／カット判定部３５により判定した各映像特徴の判定結果を示した表である。ＣＰＵ１は、この表と同等のデータを例えばＲＡＭ２やＨＤＤ１０へ記憶するよう制御する。
【０１４４】
同図では、各映像特徴の検出フラグDpan、Dtilt、Dzoom、Dbure、Dfade及びDcutがそれぞれ「１」に設定されており、検出対象の映像コンテンツから、パン、チルト、ズーム、手振れ、フェード及びカットの各映像特徴が混在して検出されたことを示している。ＣＰＵ１は、この判定結果表を映像コンテンツ毎に作成する。
【０１４５】
以上のように、上記映像特徴検出部４は、パン、チルト、ズーム、手振れといったカメラ動作系特徴と、フェード、カット及び類似シーンといった映像編集系特徴を、共通の信号処理系で検出することができる。すなわち、映像特徴検出部４は、画像処理部２１により抽出された基準ブロックＢｎ及び各フレーム間メモリ部２２〜２５に蓄積された探索ブロックＢｍのデータを基に、各マッチング処理部２６、２８、３０及び３２のブロックマッチング処理により各フレーム間の動きベクトルを検出し、動きベクトル処理部３４及びカメラ特徴判定部３６によりカメラ動作系特徴を判定する。それと共に、映像特徴検出部４は、上記ブロックマッチング処理に用いた基準ブロックＢｎ及び探索ブロックＢｍの各データを基に、フェード／カット処理部２９によりフェード／カット評価値を生成し、このフェード／カット評価値をフェード／カット判定部３５により解析することで、フェード及びカットの映像編集系特徴を検出する。更に、各フレーム間メモリ部２２〜２５に蓄積された基準ブロックＢｎ及び探索ブロックＢｍに基づいて、シーンＩＤ処理部３７により類似シーンを検出する。したがって、本実施形態により、各種の映像特徴を検出するためのシステムが簡易かつ廉価に構成でき、また検出効率を向上させることができる。
【０１４６】
また、上記カメラ動作系特徴のうち、手振れを検出することで、上述したように、放送コンテンツを記録した映像コンテンツと、家庭用ビデオカメラで撮影された映像コンテンツとを区別することが可能となる。
【０１４７】
次に、以上のように映像特徴を検出された映像コンテンツの、各映像特徴の組み合わせの態様について説明する。
【０１４８】
図２８は、映像コンテンツを構成する映像特徴毎のシーン区間の組み合わせを示した図である。  
映像コンテンツは、いくつかのシーン区間により構成される。１つのシーン区間と他のシーン区間との境界は、シーンチェンジとなる。このシーンチェンジは、上記検出したフェードまたはカットによるものである。一般的には、映像コンテンツは、類似画像（フレーム）区間と、上記検出したカメラ動作系特徴を有する画像（フレーム）区間とで構成される。類似画像区間とは、上記検出したシーンＩＤが同一であるフレームで構成される区間である。また、稀に、類似画像区間がなく、カメラ動作系特徴区間のみで構成される映像コンテンツもある。
【０１４９】
同図（ａ）は、映像コンテンツが、非類似画像区間のみで構成される場合を示している。  
同図（ｂ）は、映像コンテンツが、類似画像区間と、ズームイン区間とで構成される場合を示している。  
同図（ｃ）は、映像コンテンツが、類似画像区間と、ズームアウト区間とで構成される場合を示している。  
同図（ｂ）は、映像コンテンツが、類似画像区間と、左パン区間とで構成される場合を示している。  
同図（ｂ）は、映像コンテンツが、類似画像区間と、下チルト区間とで構成される場合を示している。  
同図（ｂ）は、映像コンテンツが、類似画像区間と、左パン、ズームイン及び下チルトが混在した区間とで構成される場合を示している。
【０１５０】
図２９は、上記図２８（ａ）の場合を基に、類似画像区間と非類似画像区間とでコンテンツが構成される場合の各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。  
同図に示すように、区間ｔ０〜ｔ１は類似画像区間であり、シーンＩＤは同一となっている。区間ｔ１〜ｔ２は非類似画像区間であり、シーンＩＤは全て異なり、ＩＤ値が増加している。区間ｔ２〜ｔ３は類似画像区間であるが、区間ｔ０〜ｔ１の画像は異なる画像であり、異なるＩＤが付与されている。ｔ３以降の区間は類似画像区間であり、区間ｔ０〜ｔ１の画像と類似の画像であるため、当該区間ｔ０〜ｔ１とＩＤ値が同一となっている。  
この場合、区間全体にわたってカメラ動作系特徴は検出されず、アフィン係数解析によるパン、チルト及びズームの各係数は０か、その絶対値が所定の閾値以下となる。
【０１５１】
図３０は、上記図２８（ｂ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。  
同図に示すように、区間ｔ０〜ｔ１は類似画像区間であり、シーンＩＤは同一となっている。ｔ１以降の区間はズームイン区間であり、シーンＩＤは同一ではないが、ズームインの係数が検出されている。
【０１５２】
図３１は、上記図２８（ｃ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。  
同図に示すように、区間ｔ０〜ｔ１は類似画像区間であり、シーンＩＤは同一となっている。ｔ１以降の区間はズームアウト区間であり、シーンＩＤは同一ではないが、ズームアウトの係数が検出されている。
【０１５３】
図３２は、上記図２８（ｄ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。  
同図に示すように、区間ｔ０〜ｔ１は類似画像区間であり、シーンＩＤは同一となっている。ｔ１以降の区間は左パン区間であり、シーンＩＤは同一ではないが、左パンの係数が検出されている。
【０１５４】
図３３は、上記図２８（ｅ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。  
同図に示すように、区間ｔ０〜ｔ１は類似画像区間であり、シーンＩＤは同一となっている。ｔ１以降の区間は下チルト区間であり、シーンＩＤは同一ではないが、下チルトの係数が検出されている。
【０１５５】
図３４は、上記図２８（ｆ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。  
同図に示すように、区間ｔ０〜ｔ１は類似画像区間であり、シーンＩＤは同一となっている。ｔ１以降の区間は、ズームイン、左パン及び下チルトの各カメラ動作系特徴が同時に検出された区間であり、シーンＩＤは同一ではないが、ズームイン、左パン及び下チルトの各係数が検出されている。
【０１５６】
以上のように、上記共通の信号処理系により検出された映像編集系特徴と、カメラ動作系特徴とを組み合わせて捉えることで、映像コンテンツの各シーン区間を整理することが可能となる。
【０１５７】
次に、上記検出された各映像特徴を用いたアプリケーションの例について説明する。
【０１５８】
例えば、上記各カメラ動作系特徴が検出される区間は、撮影者がより注目して撮影したシーン区間であると推定できる。したがって、記録再生装置１００は、各カメラ動作系特徴が検出された区間を、ハイライトシーンとして映像コンテンツから抽出して、再生させることができる。
【０１５９】
図３５は、このハイライトシーン再生処理の例を示した図である。同図においては、ズーム区間を例に説明するが、パン、チルトの各区間についても同様に考えることができる。
【０１６０】
同図に示すように、ＣＰＵ１は、例えば、上記カメラ特徴判定部３６から、ズーム特徴の検出を入力した場合、検出された複数のズーム区間（フレームｃ〜ｄ、フレームｋ〜ｌ）と、それらの前後の所定区間（フレームｂ及びｅ、フレームｊ及びｍ）とを抽出し、この区間を「ハイライト再生モード」として再生可能な区間として合成する。ここで、ズーム区間の前後の区間を加えるのは、ズーム区間のみだと、なぜズームしたかといったシーンの詳細が分からない可能性があり、所定のマージンを設定する必要があるためである。
【０１６１】
ＣＰＵ１は、例えば、ＨＤＤ１０に記録された各映像コンテンツについて、新たなコンテンツとして上記ハイライトシーンを生成しておく。そして、ＣＰＵ１は、例えばユーザの要求に応じてディスプレイに表示されるコンテンツリスト上の各映像コンテンツについて、例えば操作入力部３を介してユーザが全編再生モードとハイライトシーン再生モードとを選択して再生させることが可能なアプリケーションを実行する。
【０１６２】
また、ＣＰＵ１は、上記各パン、チルト、ズームの各カメラ動作系映像特徴を単体で利用するのではなく、複数の特徴を組み合わせてハイライト再生モードを設定することも可能である。図３６は、この場合のハイライトシーン再生処理の例を示した図である。
【０１６３】
同図に示すように、例えば、ズーム、パン、チルトの各カメラ動作系映像特徴に優先度を設けて、再生時間の異なる３つのハイライトシーンを生成する。  
すなわち、ＣＰＵ１は、ハイライト再生モード１では、ズーム区間のみをハイライトシーンとして抽出し、ユーザに最低限のハイライトシーンを極力短時間で提供できるようにする。  
また、ＣＰＵ１は、ハイライト再生モード２では、ズーム区間にパン区間を加えて、再生時間は若干増加するものの、ハイライトシーンをより詳細に提供できるようにする。  
そして、ＣＰＵ１は、ハイライト再生モード３では、ズーム区間及びパン区間に更にチルト区間を加えて、再生時間がより長くなっても更に詳細な詳細にハイライトシーンを提供できるようにする。  
ＣＰＵ１は、上記コンテンツリスト上でハイライト再生モードを選択させる際に、これらの各モードも併せて選択させるようにする。
【０１６４】
以上の処理により、上記検出したパン、チルト、ズームの各カメラ動作系特徴を効果的に利用してハイライトシーンを再生させることができ、ユーザの利便性を向上させることができる。
【０１６５】
また、上記カメラ動作系特徴のうち、手振れ特徴は、上述したように、映像コンテンツの区別に利用することができる。  
例えばＣＰＵ１は、上記手振れ検出フラグがDbure＝１となっているか否かに基づいて、ＨＤＤ１０等に記録された映像コンテンツにそれぞれ異なる属性を付与して、２つのカテゴリに分類する。これにより、ＣＰＵ１は、例えば、ユーザから操作入力部３を介して上記コンテンツリストの表示要求があった場合に、当該コンテンツリストを上記カテゴリ毎に表示させることが可能となる。また、ＣＰＵ１は、ユーザがコンテンツを検索する際に、検索クエリとして上記カテゴリを選択させるようにすることもできる。これにより、映像コンテンツの検索範囲が狭まるため、検索処理の負荷や速度を向上させることも可能となる。
【０１６６】
また、上記映像編集系特徴のうち、フェード及びカット特徴は、映像コンテンツへのチャプタの挿入に利用することができる。すなわち、ＣＰＵ１は、上記フェード及びカットが検出されると、ＨＤＤ１０等に記録された映像コンテンツ中のカット点や、例えばフェードの開始点と終了点との中間点にチャプタを挿入する。これにより、ＣＰＵ１は、ユーザの所望するシーンへ素早くジャンプして当該シーンを再生させることが可能となる。
【０１６７】
本発明は上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０１６８】
上述の実施形態において、記録再生装置１００は、手振れ映像が含まれると判定された映像コンテンツから、当該手振れ映像区間を間引くようにしても構わない。手振れ区間は視聴に耐えない場合が多いため、手振れ映像を間引くことにより、映像コンテンツを除去する際のユーザの不快感を除去することができる。この際、記録再生装置１００は、手振れ映像を検出した場合に、ユーザにその旨を報知し、かつ当該手振れ映像区間を再生させた上で、当該手振れ映像区間を除去するか否かをユーザに確認するための画面を表示させるようにしても構わない。これにより、手振れ映像がユーザの意図に反して間引かれてしまうことを防ぐことができる。
【０１６９】
上記実施形態の図７においては、上記映像特徴検出部４を、各フレーム間メモリ部２２〜２５を直列接続することで構成していたが、各フレーム間メモリ部２２〜２５を並列接続して映像特徴検出部４を構成しても構わない。図３７は、この場合の映像特徴検出部４の構成を示した図である。このように構成しても、上記並列接続した場合と同様の処理を実行し、同様の効果を得ることができる。
【０１７０】
上述の実施形態においては、画像処理部２１は、上記関数Ｆｎ（ｘ）＝ｋｎｘ上、すなわち、基準フレーム７１の中心を始点とする半直線上にそれぞれ中心を有する２つの基準ブロックＢｎ１及びＢｎ２を放射状に設定していた。しかしながら、この放射状に設定される基準ブロックＢｎの数は２つに限られるものではなく、３つ以上に設定しても勿論構わない。
【０１７１】
上述の実施形態においては、上記放射状に設定される基準ブロックＢｎを用いて動きベクトルを検出し、映像特徴の検出を行っていた。しかしながら、例えばＭＰＥＧによる圧縮符号化処理を行う際に、上記放射状に設定される基準ブロックを用いて動きベクトルを検出するようにしても構わない。
【０１７２】
上述の実施形態においては、映像特徴検出部４は、上記ブロックマッチング処理後の残差値をフェード／カット評価値とすることでフェード及びカットの判定を行っていた。しかし、映像特徴検出部４は、このフェード／カット評価値による判定処理に加えて、周波数解析による判定処理を用いることもできる。
【０１７３】
すなわち、上記各フェード／カット処理部２７、２９、３１及び３３は、画像処理部２１及び各フレーム間メモリ部２２〜２５から入力される基準フレーム７１及び探索フレーム７５のそれぞれに対して、ＦＦＴ（Fast Fourier Transform；高速フーリエ変換）処理やエッジ検出処理等による周波数解析処理を行い、その結果をフェード／カット判定部３５へ出力する。フェード／カット判定部３５は、上記フェード／カット評価値と、上記周波数解析処理結果の両方を用いてフェード及びカットの判定を行う。フェード区間では、画像がぼやけるため、周波数成分で考えると、高周波成分の特徴が小さくなる。したがって、この特徴をフェード及びカットの判定に利用することができる。
【０１７４】
例えば、フェード／カット評価値に基づく判定値をｆ１、周波数解析に基づく判定値をｆ２とした場合、フェード／カット判定部３５フェード及びカットの総合的な判定値ｆを、ｆ＝ｆ１＋ｆ２としてフェード及びカットを判定する。例えば、フェード／カット判定部３５は、上記判定値ｆに所定の閾値を設けておき、閾値よりも大きいと判定できる場合には、フェードと判定する。
【０１７５】
これにより、フェード及びカットの検出の信頼性を向上させることができる。また、上記フェード／カット評価値により、フェードがあることが判定できても、フェード区間の開始点及び終了点はあいまいになりやすいため、上記周波数解析処理を併用することで、更に信頼性を高めることもできる。
【０１７６】
上述の実施形態においては、映像特徴検出部４は、映像コンテンツの各フレームのデコード後の、ベースバンド帯域の信号を用いて映像特徴検出処理を行っていた。しかしながら、映像特徴検出部４は、デコード後のベースバンド帯域の信号ではなく、デコード前の符号化データを用いてもよい。例えば映像コンテンツがＭＰＥＧ形式やＤＶ方式で符号化されている場合には、映像特徴検出部４は、上記Ｙ、Ｃｂ及びＣｒの各信号の代わりに、ＤＣＴ（Discrete Cosine Transform；離散コサイン変換）係数のうちＤＣ（Direct Current）係数を解析することで、同様に映像特徴を検出することができる。
【０１７７】
上述の実施形態においては、記録再生装置１００に本発明を適用した例を示したが、例えばテレビジョン装置、ＰＣ、携帯電話、ゲーム機器等、あらゆる電子機器に本発明を適用することが可能である。
【図面の簡単な説明】
【０１７８】
【図１】本発明の一実施形態に係る記録再生装置の構成を示した図である。
【図２】本発明の一実施形態におけるカメラ動作系特徴について示した図である。
【図３】本発明の一実施形態における映像編集系特徴について示した図である。
【図４】本発明の一実施形態におけるカメラ動作系特徴について概念的に示した図である。
【図５】本発明の一実施形態におけるズーム時の画像の変化量を概念的に示した図である。
【図６】本発明の一実施形態における手振れ映像について概念的に示した図である。
【図７】本発明の一実施形態における映像特徴検出部の具体的構成を示した図である。
【図８】本発明の一実施形態に係る再生装置が映像特徴を判定する際の処理の流れを示したフローチャートである。
【図９】本発明の一実施形態における動きベクトル検出処理の流れを示したフローチャートである。
【図１０】本発明の一実施形態における１フレーム間隔での動きベクトル検出処理の詳細を示したフローチャートである。
【図１１】本発明の一実施形態における１０フレーム間隔での動きベクトル検出処理の詳細を示したフローチャートである。
【図１２】本発明の一実施形態における２０フレーム間隔での動きベクトル検出処理の詳細を示したフローチャートである。
【図１３】本発明の一実施形態における３０フレーム間隔での動きベクトル検出処理の詳細を示したフローチャートである。
【図１４】本発明の一実施形態におけるブロックマッチング処理の流れを示したフローチャートである。
【図１５】本発明の一実施形態において参照画像領域及び探索領域を設定する様子を示した図である。
【図１６】本発明の一実施形態におけるブロックマッチング処理の基準ブロックの設定方法を示した図である。
【図１７】本発明の一実施形態におけるブロックマッチング処理の様子を示した図である。
【図１８】本発明の一実施形態における動きベクトル推定処理の流れを示したフローチャートである。
【図１９】本発明の一実施形態における動きベクトルの勾配について示した図である。
【図２０】本発明の一実施形態におけるアフィン変換モデルを示した図である。
【図２１】本発明の一実施形態における重回帰分析処理について説明した図である。
【図２２】本発明の一実施形態における手振れ判定処理について示した図である。
【図２３】本発明の一実施形態におけるフェード／カット評価値の算出結果と、フレーム経過との関係を、カット点が含まれる場合について示したグラフである。
【図２４】本発明の一実施形態におけるフェード／カット評価値の算出結果と、フレーム経過との関係を、フェードが含まれる場合について示したグラフである。
【図２５】本発明の一実施形態におけるシーンＩＤ処理部の構成を示した図である。
【図２６】本発明の一実施形態におけるＩＤ処理により出力されたシーンＩＤと、フレーム番号との関係を示したグラフである。
【図２７】本発明の一実施形態における各映像特徴の判定結果を示した表である。
【図２８】本発明の一実施形態における映像コンテンツを構成する映像特徴毎のシーン区間の組み合わせを示した図である。
【図２９】図２８（ａ）の場合を基に、類似画像区間と非類似画像区間とでコンテンツが構成される場合の各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。
【図３０】上記図２８（ｂ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。
【図３１】上記図２８（ｃ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。
【図３２】上記図２８（ｄ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。
【図３３】上記図２８（ｅ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。
【図３４】上記図２８（ｆ）の場合について各映像特徴のシーンＩＤと各カメラ動作系特徴の検出特性を示した図である。
【図３５】本発明の一実施形態において、検出されたズーム特徴を利用したハイライトシーン再生処理の例を示した図である。
【図３６】本発明の一実施形態において、検出されたパン、チルト及びズームの各カメラ動作系特徴を利用したハイライトシーン再生処理の例を示した図である。
【図３７】本発明の他の実施形態において、各フレーム間メモリ部を並列接続して映像特徴検出部を構成した例を示した図である。
【符号の説明】
【０１７９】
１…ＣＰＵ
４…映像特徴検出部
１０…ＨＤＤ
１６…ＡＶデコーダ
２１…画像処理部
２２〜２５…フレーム間メモリ部
２２…１フレーム間メモリ部
２３…１０フレーム間メモリ部
２４…２０フレーム間メモリ部
２５…３０フレーム間メモリ部
２６．２８…マッチング処理部
２６、２８、３０、３２…マッチング処理部
２７、２９、３１、３３…フェード／カット処理部
３４…動きベクトル処理部
３５…フェード／カット判定部
３６…カメラ特徴判定部
３７…ＩＤ処理部
７１…基準フレーム
７２…探索領域
７３…参照画像領域
７５…探索フレーム
８１…データメモリ
８２…ベクトル距離演算部
８３…ＩＤ生成部
８４…ＩＤメモリ
１００…記録再生装置
【図１】
0004893524.tif 000002
【図２】
0004893524.tif 000003
【図３】
0004893524.tif 000004
【図４】
0004893524.tif 000005
【図５】
0004893524.tif 000006
【図６】
0004893524.tif 000007
【図７】
0004893524.tif 000008
【図８】
0004893524.tif 000009
【図９】
0004893524.tif 000010
【図１０】
0004893524.tif 000011
【図１１】
0004893524.tif 000012
【図１２】
0004893524.tif 000013
【図１３】
0004893524.tif 000014
【図１４】
0004893524.tif 000015
【図１５】
0004893524.tif 000016
【図１６】
0004893524.tif 000017
【図１７】
0004893524.tif 000018
【図１８】
0004893524.tif 000019
【図１９】
0004893524.tif 000020
【図２０】
0004893524.tif 000021
【図２１】
0004893524.tif 000022
【図２２】
0004893524.tif 000023
【図２３】
0004893524.tif 000024
【図２４】
0004893524.tif 000025
【図２５】
0004893524.tif 000026
【図２６】
0004893524.tif 000027
【図２７】
0004893524.tif 000028
【図２８】
0004893524.tif 000029
【図２９】
0004893524.tif 000030
【図３０】
0004893524.tif 000031
【図３１】
0004893524.tif 000032
【図３２】
0004893524.tif 000033
【図３３】
0004893524.tif 000034
【図３４】
0004893524.tif 000035
【図３５】
0004893524.tif 000036
【図３６】
0004893524.tif 000037
【図３７】
0004893524.tif 000038