(57)【特許請求の範囲】
【請求項１】
動画像コンテンツのデータを解析して、他の動画像コンテンツとの同一性を検証するために利用される特徴量を算出する画像処理装置において、
入力された動画像データにおける現在のフレーム内に１つ以上の検索領域を設定し、それぞれの前記検索領域の中に、複数でかつ同一数の隣接画素からなるブロックを順次設定するブロック設定部と、
前記現在のフレームに設定された前記ブロック内の画像データと、当該フレームの前または後のフレームにおける当該ブロックと同じ領域内の画像データとの相関を求める相関演算部と、
相関演算の結果、前記検索領域内で相関が最大であった前記ブロックの位置を示す位置情報を、前記検索領域ごとに出力する位置情報出力部と、
入力された動画像データごとの前記特徴量として、前記検索領域ごとの前記位置情報を当該動画像データの各フレームに対応付けた情報を出力する特徴量出力部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記相関演算部は、前記現在のフレームに設定された前記ブロック内の各画素のデータと、当該フレームの前または後のフレームにおける当該ブロックと同じ領域内の対応する画素のデータとの差分の絶対値を、前記検索領域内に設定した前記ブロック内の全画素数分だけ累積加算することで画像相関値を算出し、
前記位置情報出力部は、前記検索領域内で前記画像相関値が最小であった前記ブロックの位置を示す前記位置情報を出力する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記位置情報出力部から出力される前記位置情報が指し示す前記ブロックに対応する前記画像相関値を１フレーム分だけ累積加算した相関値総和を所定のしきい値と比較し、前記相関値総和が前記しきい値を超えた場合にシーンチェンジが発生したと判定するシーンチェンジ検出部をさらに有し、
前記特徴量出力部は、前記シーンチェンジ検出部の判定結果に基づき、シーンチェンジが発生したフレームを示すフレーム識別情報を前記特徴量に付加して出力することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記ブロック設定部、前記相関演算部、前記位置情報出力部および前記特徴量出力部の処理によって２つの動画像データからそれぞれ得られた前記位置情報および前記フレーム識別情報を基に、当該２つの動画像データに基づく動画像の同一性を判定する同一性判定処理部をさらに有し、
前記同一性判定処理部は、
前記２つの動画像データのそれぞれに対して、同一のフレーム数分の判定対象範囲を、その先頭位置を移動させながら順次設定する範囲設定部と、
前記２つの動画像データの少なくとも一方について前記判定対象範囲が移動されて設定されるごとに、一方の動画像データに設定された前記判定対象範囲に対応する前記位置情報と、他方の動画像データに設定された前記判定対象範囲に対応する前記位置情報との相関を求める位置相関演算部と、
前記位置相関演算部により求められた相関を示す値を所定のしきい値と比較した結果を基に、当該２つの動画像データに基づく動画像の同一性を判定する比較部と、
を有し、
前記範囲設定部は、前記判定対象範囲の先頭位置を、設定対象の動画像データに対応する前記フレーム識別情報により識別されるフレームとすることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記ブロック設定部、前記相関演算部、前記位置情報出力部および前記特徴量出力部の処理によって２つの動画像データからそれぞれ得られた前記位置情報を取得し、当該２つの動画像データにそれぞれ対応する前記位置情報の相関を基に、当該２つの動画像データに基づく動画像の同一性を判定する同一性判定処理部をさらに有することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記同一性判定処理部は、
前記２つの動画像データのそれぞれに対して、同一のフレーム数分の判定対象範囲を、その先頭位置を移動させながら順次設定する範囲設定部と、
前記２つの動画像データの少なくとも一方について前記判定対象範囲が移動されて設定されるごとに、一方の動画像データに設定された前記判定対象範囲に対応する前記位置情報と、他方の動画像データに設定された前記判定対象範囲に対応する前記位置情報との相関を求める位置相関演算部と、
前記位置相関演算部により求められた相関を示す値を所定のしきい値と比較した結果を基に、当該２つの動画像データに基づく動画像の同一性を判定する比較部と、
を有することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記比較部は、前記位置相関演算部により求められた相関を示す値のうちの一定数の値の平均値を演算し、前記しきい値を当該平均値に対する所定の比率の値に設定することを特徴とする請求項６記載の画像処理装置。
【請求項８】
入力された動画像データの各フレームのアスペクト比を所定の比率に変換するアスペクト比変換部をさらに有し、
前記ブロック設定部は、前記アスペクト比変換部による変換処理後の動画像データにおける前記現在のフレーム内に、前記検索領域および前記ブロックを、当該フレームの大きさに対する比率が常に一定となるような大きさにそれぞれ設定することを特徴とする請求項１〜７のいずれか１項に記載の画像処理装置。
【請求項９】
前記位置情報出力部は、前記位置情報を、フレームまたは前記検索領域における所定の位置を基準とした相対位置情報として表し、さらに、当該相対位置情報の水平方向成分および垂直方向成分の大きさを、フレームまたは前記検索領域の大きさに対する比率によって表すことを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記ブロック設定部は、対応する前記検索領域内で、その領域の一部が他の前記ブロックの領域と重複するように前記ブロックを設定することを特徴とする請求項１〜９のいずれか１項に記載の画像処理装置。
【請求項１１】
動画像コンテンツのデータを解析して、他の動画像コンテンツとの同一性を検証するために利用される特徴量を算出する画像処理方法において、
ブロック設定部が、入力された動画像データにおける現在のフレーム内に１つ以上の検索領域を設定し、それぞれの前記検索領域の中に、複数でかつ同一数の隣接画素からなるブロックを順次設定し、
相関演算部が、前記現在のフレームに設定された前記ブロック内の画像データと、当該フレームの前または後のフレームにおける当該ブロックと同じ領域内の画像データとの相関を求め、
位置情報出力部が、相関演算の結果、前記検索領域内で相関が最大であった前記ブロックの位置を示す位置情報を、前記検索領域ごとに出力し、
特徴量出力部が、入力された動画像データごとの前記特徴量として、前記検索領域ごとの前記位置情報を当該動画像データの各フレームに対応付けた情報を出力する、
ことを特徴とする画像処理方法。
【請求項１２】
動画像コンテンツのデータを解析して、他の動画像コンテンツとの同一性を検証するために利用される特徴量を算出する画像処理プログラムにおいて、
コンピュータを、
入力された動画像データにおける現在のフレーム内に１つ以上の検索領域を設定し、それぞれの前記検索領域の中に、複数でかつ同一数の隣接画素からなるブロックを順次設定するブロック設定部、
前記現在のフレームに設定された前記ブロック内の画像データと、当該フレームの前または後のフレームにおける当該ブロックと同じ領域内の画像データとの相関を求める相関演算部、
相関演算の結果、前記検索領域内で相関が最大であった前記ブロックの位置を示す位置情報を、前記検索領域ごとに出力する位置情報出力部、
入力された動画像データごとの前記特徴量として、前記検索領域ごとの前記位置情報を当該動画像データの各フレームに対応付けた情報を出力する特徴量出力部、
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像コンテンツのデータを解析して、他の動画像コンテンツとの同一性を検証するために利用される特徴量を算出する画像処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、一般のユーザが動画像コンテンツを投稿できるＷｅｂサイトが増加している。これに伴い、著作権が保護されたコンテンツが違法に投稿されることが増加しており、例えばそのＷｅｂサイトの運営者が訴えられるといったケースも生じている。このような事態を受けて、投稿された動画像コンテンツが著作権保護されたものかどうかを判定できる技術が求められている。
【０００３】
そのような画像判定の技術としては、動画像データに著作権者などの情報をメタデータなどとして付加しておき、その付加情報から判定する方法と、動画像データ自体を比較して、それらの同一性を判断する方法とに大別される。
【０００４】
これらのうち、前者の技術では、付加情報を付加するために余計な手間がかかってしまうという問題がある。また、データの中から、付加情報を除いた動画像の情報のみを取り出されてしまうと、照合が不可能になってしまう。この場合、上記のうちの後者の技術を用いざるを得なくなる。
【０００５】
一方、後者の技術としては、２つの動画像コンテンツにおける対応するフレーム間で画像データの相関値を検出する技術が知られている（例えば、特許文献１参照）。
ここで、図１７は、動画像データ同士を比較する方法の例について説明するための図である。
【０００６】
図１７において、“＃ｎ”は動画像データの第ｎ番目のフレームを示している。この図１７では、（Ｎ＋２）枚のフレームを有する参照動画像と、３枚のフレームを有する検査対象動画像とを例示している。なお、Ｎは１以上の整数である。そして、この例では、参照動画像の中に、検査対象動画像が含まれているか否かを検証する。具体的には、検査対象動画像の３フレームと、参照動画像中の連続する３フレームとの相関値を演算し、その相関値から各コンテンツの一致度を判定する。
【０００７】
この方法では、検査対象動画像と比較する参照動画像の３フレーム分の範囲を、参照動画像の先頭から順次移動させていく。そして、移動するごとに、参照動画像中の３フレーム分のデータと、検査対象動画像のデータとの相関値を演算する。
【０００８】
このような方法により、参照動画像の全フレームに亘って、検査対象動画像が含まれているか否かを検証できる。図中の下段には、比較対象とする参照動画像中の３フレームのうちの先頭フレームを、第１番目のフレームから第Ｎ番目のフレームまで移動させたときに得られた相関値を、グラフに示している。このグラフにおいて、参照動画像の第４番目のフレームを先頭とした３フレームと検査対象動画像とを比較したときに、その前後と比較して相関値が極端に高くなっていることから、参照動画像におけるこの範囲の画像が検査対象動画像に似ていると推定できる。
【０００９】
しかし、複数フレーム同士の相関値の演算は、演算量が大きいという問題がある。特に、上記のように比較対象とする動画像の範囲を変化させながら、その都度相関値を演算していくと、演算量はさらに大きくなる。さらに、このような演算をすべての動画像コンテンツの組み合わせに対して行うと、その演算量は膨大なものとなってしまう。
【００１０】
これに対して、動画像コンテンツの特徴量をあらかじめ求めておき、２つの動画像コンテンツの特徴量同士を比較することでそれらの同一性を判定する技術が考えられている。このような特徴量としては、例えば、動画像データの各フレームの情報に対して周波数変換および量子化を施した情報が考えられる（例えば、特許文献２参照）。
【００１１】
なお、２つの画像間の関連性を示す情報として、動きベクトルがある。例えば、フレーム間の動きベクトルを算出する技術は、撮像装置における電子式の手ぶれ検出などに利用されている（例えば、特許文献３参照）。
【特許文献１】特開２００６−３５２５９４号公報
【特許文献２】特開２００１−３２６９５２号公報
【特許文献３】特開２００７−１７４４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記のように、膨大な数の動画像コンテンツの同一性を、できるだけ少ない演算量で高精度に判定できるようにすることが求められている。そして、このような技術としては、あらかじめ求めておいた動画像コンテンツの特徴量を用いて判定できるようにすることが求められている。
【００１３】
本発明はこのような点に鑑みてなされたものであり、複数の動画像ストリーム間の同一性を簡単な処理で精度よく判定できるようにした画像処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、動画像コンテンツのデータを解析して、他の動画像コンテンツとの同一性を検証するために利用される特徴量を算出する画像処理装置が提供される。この画像処理装置は、入力された動画像データにおける現在のフレーム内に１つ以上の検索領域を設定し、それぞれの前記検索領域の中に、複数でかつ同一数の隣接画素からなるブロックを順次設定するブロック設定部と、前記現在のフレームに設定された前記ブロック内の画像データと、当該フレームの前または後のフレームにおける当該ブロックと同じ領域内の画像データとの相関を求める相関演算部と、相関演算の結果、前記検索領域内で相関が最大であった前記ブロックの位置を示す位置情報を、前記検索領域ごとに出力する位置情報出力部と、入力された動画像データごとの前記特徴量として、前記検索領域ごとの前記位置情報を当該動画像データの各フレームに対応付けた情報を出力する特徴量出力部と、を有する。
【００１５】
ここで、ブロック設定部は、入力された動画像データにおける現在のフレーム内に、１つ以上の検索領域を設定し、さらに、それぞれの検索領域の中にブロックを順次設定する。検索領域に設定される各ブロックは、複数でかつ同一数の隣接画素によって構成される。相関演算部は、現在のフレームに設定されたブロック内の画像データと、このフレームの前または後のフレームにおける当該ブロックと同じ領域内の画像データとの相関を求める。位置情報出力部は、相関演算の結果、各検索領域内で相関が最大であったブロックの位置を示す位置情報を、検索領域ごとに出力する。特徴量出力部は、検索領域ごとに出力された位置情報を動画像データの各フレームに対応付け、フレームと位置情報とが対応付けられた情報を当該動画像データの特徴量として出力する。
【００１６】
また、上記目的を達成するために、上記の画像処理装置と同様の処理を行う画像処理方法および画像処理プログラムが提供される。
【発明の効果】
【００１７】
上記の画像処理装置によれば、他の動画像データに基づく画像との同一性を簡単な処理で精度よく判定可能にするような特徴量を出力することができる。
【発明を実施するための最良の形態】
【００１８】
以下、実施の態様について、図面を参照して詳細に説明する。
図１は、実施の形態に係る画像処理装置の構成を概略的に示す図である。
図１に示す画像処理装置１は、他の動画像コンテンツとの同一性を検証するために利用される特徴量を、入力された動画像コンテンツのデータを基に算出するための装置である。この画像処理装置１は、ブロック設定部１１、相関演算部１２、位置情報出力部１３、特徴量出力部１４および特徴量データベース１５を備えている。
【００１９】
ブロック設定部１１は、入力された動画像データにおける現在のフレーム内に、１つ以上の検索領域を順次設定する。さらに、設定したそれぞれの検索領域の中に、複数でかつ同一数の隣接画素からなるブロックを順次設定する。このとき、ブロックは、例えば、検索領域の全域を網羅するように設定される。
【００２０】
相関演算部１２は、現在のフレームに対してブロック設定部１１により設定されたブロック内の画像データを取得する。これとともに、そのフレームの前または後のフレームにおける、設定されたブロックに対応する領域の画像データを取得する。そして、これらの各領域の画像データの相関を求める。
【００２１】
相関演算部１２は、１つの検索領域においてブロックが設定されるたびに、現在のフレームにおけるブロック内の画像データと、その前または後のフレームにおける対応する領域の画像データとの相関を演算する。さらに、検索領域が複数設定された場合には、各検索領域において同様の処理を繰り返す。
【００２２】
位置情報出力部１３は、相関演算の結果、それぞれの検索領域内で相関が最大であったブロックの位置を示す位置情報を、それらの検索領域ごとに出力する。この位置情報は、例えば、検索領域内での位置（所定の基準位置からの相対位置）を示す情報であってもよいし、あるいは、１フレーム内での位置を示す情報であってもよい。
【００２３】
特徴量出力部１４は、検索領域ごとに出力された位置情報を、入力された動画像データの各フレームに対応付ける。そして、このような情報を、入力された動画像データごとの特徴量として出力する。特徴量は、特徴量データベース１５に格納される。なお、特徴量データベース１５は、画像処理装置１の外部に設けられてもよい。
【００２４】
このような処理により、特徴量データベース１５には、特徴量が動画像データごとに蓄積される。そして、２つの動画像データのそれぞれの特徴量の相関をとることにより、これらの動画像コンテンツの同一性を検証することが可能となる。例えば、各動画像データの特徴量の差分の絶対値の総和（ＳＡＤ：Sum of Absolute Difference）を演算することで、同一性を判定する。このような同一性の検証処理によれば、例えば、各コンテンツの画像データ同士の相関をとる場合と比較して、演算量を大幅に低減できる。
【００２５】
また、上記のような特徴量の演算方法では、設定した検索領域において最も動きの少ないブロックの位置を、その検索領域に対応する特徴量としている。このような特徴量を用いて動画像コンテンツの同一性を判定すると、その判定結果に対して画像の時間的な変化の影響がおよびにくくなり、比較的安定した判定精度を得ることが可能になる。
【００２６】
次に、上記の特徴量の演算方法を用いた実施の態様について、より具体的に説明する。ここでは例として、動画像コンテンツの特徴量の演算機能と、その特徴量を用いた動画像コンテンツの同一性検証機能とを備えた画像検証装置について説明する。
【００２７】
図２は、実施の形態に係る画像検証装置の機能を示すブロック図である。
図２に示す画像検証装置１００は、制御部１１０、前処理部１２０、特徴量検出処理部１３０、特徴量データベース１４０および同一性判定処理部１５０を備えている。
【００２８】
制御部１１０は、画像検証装置１００全体の動作を統括的に制御するブロックである。
前処理部１２０は、入力された動画像ストリームに前処理を施し、特徴量検出処理部１３０に出力する。前処理としては、画像サイズを一定のサイズ（画素数）に変換するスケーリング処理が行われる。さらに、前処理部１２０では、例えば、ローパスフィルタなどを用いてノイズを除去する処理などが行われてもよい。
【００２９】
特徴量検出処理部１３０は、前処理部１２０からの動画像ストリームを基に、その動画像ストリームの特徴量を検出し、特徴量情報１０１を生成する。後述するように、特徴量情報１０１には、動画像ストリームのフレームごとに検索領域とベクトルデータとが対応付けられて格納される。さらに、本実施の形態では、シーンチェンジの位置を示す情報（シーンチェンジ情報）も格納される。特徴量検出処理部１３０は、入力された動画像ストリームの中から、隣接する２つのフレーム間でブロックごとに相関演算を行うことで、上記のベクトルデータおよびシーンチェンジ情報を算出する。これらの算出方法の詳細については後述する。
【００３０】
特徴量データベース１４０は、特徴量検出処理部１３０から出力された、動画像ストリームごとの特徴量情報１０１を蓄積する。なお、特徴量データベース１４０は、例えばＨＤＤ（Hard Disk Drive）などの記憶媒体に構築される。
【００３１】
同一性判定処理部１５０は、特徴量データベース１４０から、２つの動画像ストリームの特徴量情報１０１を読み出し、これらを基に各動画像の同一性を判定する。同一性判定処理部１５０は、各動画像ストリームから一定フレーム数に対応するベクトルデータを抽出して、それらの相関をとることで、同一性を判定する。また、ベクトルデータを抽出するフレームの開始位置を、特徴量情報１０１に含まれるシーンチェンジ情報を基に決定することもできる。
【００３２】
なお、同一性判定処理部１５０は、一方の動画像ストリームの特徴量情報１０１を、特徴量データベース１４０からではなく、特徴量検出処理部１３０から直接受け取るようにしてもよい。
【００３３】
図３は、特徴量情報のデータ構成例を示す図である。
図３に示すように、特徴量情報１０１には、フレーム番号に対して、検索領域番号およびベクトルデータが対応付けられて格納されている。さらに、シーンチェンジ情報も格納されている。
【００３４】
検索領域番号は、ベクトルデータの算出の際に、検出対象とされている現在のフレームに設定される検索領域を識別する情報である。検索領域は、各フレームにおいて常に同じ位置に設定されるので、各フレーム番号にはそれぞれ同数の検索領域番号およびベクトルデータが対応付けられる。なお、検索領域は、各フレームに１つのみ設定されてもよい。
【００３５】
ベクトルデータは、各検索領域において順次設定されるブロックのうち、現在のフレームに隣接する参照フレームの同じ領域との相関が最も高いブロック（すなわち、画像の変化が少ないブロック）の位置を示す情報である。本実施の形態では、後述するように、このようなブロックの位置を示す情報が、各検索領域内の基準位置からの相対位置を示すベクトルデータとして記述される。
【００３６】
シーンチェンジ情報は、シーンチェンジが検出された位置を示す情報であり、例えばその位置に対応するフレーム番号として記述される。シーンチェンジ情報は、検出された数だけ特徴量情報１０１内に格納される。
【００３７】
次に、特徴量検出処理部１３０によって実行されるベクトルデータの検出処理について詳しく説明する。
まず、図４は、検索領域内でのブロックの設定方法を説明するための図である。
【００３８】
特徴量検出処理部１３０は、ベクトルデータの検出対象とする現在のフレームの画像データと、このフレームに隣接する参照フレームの画像データとを用いて、これらの相関を演算する。本実施の形態では、例として、現在のフレームより１つ前のフレームを参照フレームとする。
【００３９】
特徴量検出処理部１３０は、まず、現在のフレームの内部に、画像の変化が少ない領域を検索するための検索領域を設定する。本実施の形態では、例として、図４のようにフレームを水平方向に４つ、垂直方向に３つの合計１２の等しい領域に分割し、これらのうちの隣接する６領域（水平方向に３領域、垂直方向に２領域）を１つの検索領域とする。
【００４０】
図４の例では、まず、フレームの左上に第１番目の検索領域Ａ１を設定している。次に、特徴量検出処理部１３０は、設定した検索領域Ａ１の内部に順次ブロックを設定していく。図中のステップＳ１では、まず、検索領域Ａ１の左上に第１番目のブロックＢ１＿１を設定している。さらに、特徴量検出処理部１３０は、参照フレーム上のブロックＢ１＿１と同じ位置に、参照領域Ｃ１＿１を設定する。そして、ブロックＢ１＿１内の画像データと、対応する参照領域Ｃ１＿１内の画像データとの相関を演算する。
【００４１】
次に、特徴量検出処理部１３０は、図中のステップＳ２に示すように、検索領域Ａ１内の異なる位置に、第２番目のブロックＢ１＿２を設定する。さらに、上記と同様に、参照フレーム上のブロックＢ１＿２と同じ位置に、参照領域Ｃ１＿２を設定する。そして、ブロックＢ１＿２内の画像データと、参照領域Ｃ１＿２内の画像データとの相関を演算する。
【００４２】
このようにして、特徴量検出処理部１３０は、検索領域Ａ１内に、位置を変化させながらブロックを順次設定していき、その都度、ブロック内の画像データと、参照フレーム内の対応する参照領域内の画像データとの相関を演算していく。図４に示すように、ブロックは、例えば、参照領域Ａ１内を網羅するようにｋ個分だけ順次設定されていき（ただし、ｋは２以上の整数）、その都度、対応する参照領域との相関が演算される。なお、図中のステップＳ３では、第ｋ番目のブロックＢ１＿ｋの設定位置と対応する参照領域Ｃ１＿ｋの設定位置とが示されている。
【００４３】
以上の手順により、検索領域Ａ１におけるブロックごとに相関演算が行われると、特徴量検出処理部１３０は、これらのうち相関が最大であったブロックを検出し、そのブロックの位置を記憶する。
【００４４】
次に、図５は、フレーム内での検索領域の設定方法を説明するための図である。
特徴量検出処理部１３０は、上記の手順によって１つの検索領域でのブロックごとの相関演算を行った後、さらに、検索領域の位置を変更して、同様の手順でその内部にブロックを設定し、相関演算を実行する。検索領域は、例えば、フレーム内の全領域を網羅するように順次設定される。前述のように、本実施の形態ではフレームを１２分割した分割領域を単位として検索領域が設定されるため、検索領域をフレームの左上、右上、左下、右下の４領域だけ設定することで、フレーム全体を検索対象とすることができる。
【００４５】
図５のステップＳ１１では、現在のフレームの右上に第２番目の検索領域Ａ２を設定した場合を示している。このとき、特徴量検出処理部１３０は、検索領域Ａ２内で位置を変えながらブロックを順次設定していく。そして、ブロックを設定するたびに、そのブロック内の画像データと、参照フレーム上でそのブロックと同じ位置の領域（参照領域）内の画像データとの相関を演算する。
【００４６】
特徴量検出処理部１３０は、検索領域Ａ２内に設定したすべてのブロックについて相関演算を実行した後、これらのうち相関が最大であったブロックを検出して、その位置を記憶する。
【００４７】
この後、特徴量検出処理部１３０は、図中のステップＳ１２に示すように、フレーム内の左下に第３番目の検索領域Ａ３を設定する。そして、上記と同様の手順で、検索領域Ａ３内のブロックごとに相関演算を行い、相関が最大であったブロックの位置を記憶する。さらに、図中のステップＳ１３に示すように、フレーム内の右下に第４番目の検索領域Ａ４を設定する。そして、上記と同様の手順で、検索領域Ａ４内のブロックごとに相関演算を行い、相関が最大であったブロックの位置を記憶する。
【００４８】
なお、上記の例では、検索領域をフレーム当たり複数設定していたが、検索領域を１つのフレームに対して１つだけ設定してもよい。また、検索領域をフレーム当たり複数設定した場合には、検索領域は、上記の例のように１つの検索領域の少なくとも一部が他の検索領域に重複するように設定されても、あるいは重複しないように設定されてもよい。
【００４９】
一方、検索領域内ではブロックが複数設定される必要があるが、各ブロックは、上記の例のように１つのブロックの少なくとも一部が他のブロックと重複するように設定されても、あるいは重複しないように設定されてもよい。ただし、各ブロックの位置の差を小さくして、ブロックを検索領域内でより多く設定するほど、相関が最大となるブロックの検出精度は高くなり、その結果、コンテンツの同一性判定処理の精度も高くなる。
【００５０】
また、上記の例では、複数の検索領域によってフレームの全域が検索対象とされているが、フレームの一部のみが検索対象となるように検索領域が設定されてもよい。ただし、通常は、フレーム内のできるだけ広い領域が検索対象に含められることが望ましい。
【００５１】
以上の手順により、フレーム内に設定した検索領域ごとに、対応する参照領域との相関が最大であったブロックの位置が検出される。本実施の形態では、検索領域ごとのブロックの位置を、その検索領域内の基準位置からの相対位置を示すベクトルデータとして算出する。
【００５２】
図６は、ブロックの位置を示すベクトルデータを説明するための図である。
図６の例では、検索領域の左上の画素を、その検索領域の基準位置としている。また、検索領域内のブロックの左上の画素を、そのブロックの基準位置としている。このような場合、ブロックの位置を、検索領域の基準位置の座標を始点とした、ブロックの基準位置の相対座標であるベクトルデータとして表すことができる。
【００５３】
図６では例として、検索領域Ａ４に設定した全ブロックのうち、ブロックＢｍａｘから得られた相関値が最大であった場合について示している。このとき、ブロックＢｍａｘを示すベクトルデータＶは、検索領域Ａ４の基準位置Ｐａから、ブロックＢｍａｘの基準位置Ｐｂまでの水平方向，垂直方向の画素数であるｖｘ，ｖｙを用いて、（ｖｘ，ｖｙ）と表すことができる。
【００５４】
なお、検索領域ごとのブロックの位置は、上記の例のように検索領域での相対位置ではなく、他の情報によって表されてもよい。例えば、ブロックの基準位置をフレーム内の絶対位置（座標）によって表してもよい。また、後述するように、ブロックの位置を示す相対位置を、設定した各領域の比によって表すようにしてもよい。
【００５５】
以上説明した手順により、フレームごとに、１つ以上の検索領域と、それに対応するブロックを指し示すベクトルデータとが得られて、特徴量情報１０１に格納される。図４および図５の例の場合には、図３に示した特徴量情報１０１のうち、各フレーム番号に対して４つの検索領域番号とベクトルデータとが格納されることになる。
【００５６】
次に、ブロック内の画像データと、そのブロックに対応する参照フレームの参照領域内の画像データとの相関演算の方法について説明する。本実施の形態では、相関値の例としてＳＡＤを求める。
【００５７】
図７は、ＳＡＤの演算方法を説明するための図である。
現在のフレームのブロック内の画像データをｄ、そのブロックに対応する参照フレームの参照領域内の画像データをｒとすると、ブロックと参照領域とのＳＡＤの値は下記の式（１）によって求められる。なお、図７では例として、ブロックが８×８画素により構成されるものとし、ブロック内の各画素の画像データをｄ００〜ｄ６３、対応する参照領域内の各画素の画像データをｒ００〜ｒ６３と表している。そして、下記の式（１）には、例として、この図７のような場合のＳＡＤ算出のための式も、併せて示している。
ＳＡＤ＿ＢＬＫ＝Σ｜（ｄ−ｒ）｜
＝｜（ｄ００−ｒ００）｜＋｜（ｄ０１−ｒ０１）｜＋・・・＋｜（ｄ６３−ｒ６３）｜
……（１）
ＳＡＤの値は、ブロックと参照領域との相関が大きいほど小さくなる。従って、特徴量検出処理部１３０は、検索領域内の各ブロックのうち、対応する参照領域とのＳＡＤの値が最小となるブロックを検出し、そのブロックの位置を示す情報（ベクトルデータ）を特徴量として登録する。
【００５８】
次に、相関を示す値としてＳＡＤを用いた場合の特徴量検出処理部１３０の具体的な構成例について説明する。
図８は、特徴量検出処理部の内部構成例を示すブロック図である。
【００５９】
図８に示す特徴量検出処理部１３０は、ＳＡＤ演算部１３１、最小値検出部１３２、ベクトルデータ出力部１３３、ＳＡＤ総和演算部１３４およびシーンチェンジ検出部１３５を備えている。
【００６０】
ＳＡＤ演算部１３１は、現フレームの画像データと、参照フレーム（本実施の形態では前フレーム）の画像データとを基に、ブロックごとのＳＡＤ値を演算する。具体的には、例えば、検索領域およびブロックの位置を設定し、現フレームにおけるブロック内の画像データと、参照フレームにおけるブロックに対応する参照領域内の画像データとのＳＡＤを演算する。
【００６１】
最小値検出部１３２は、ＳＡＤ演算部１３１の演算結果から、各検索領域におけるＳＡＤの最小値を検出する。そして、最小値が検出されたブロックの位置を示す情報を、検索領域ごとにベクトルデータ出力部１３３に出力する。
【００６２】
ベクトルデータ出力部１３３は、ＳＡＤの最小値が検出されたブロックの位置を、そのブロックが属する検索領域の基準位置を基準としたベクトルデータとして出力する。
ＳＡＤ総和演算部１３４およびシーンチェンジ検出部１３５は、ＳＡＤ演算部１３１および最小値検出部１３２の演算・検出結果を利用してシーンチェンジを検出するための機能である。ＳＡＤ総和演算部１３４は、最小値検出部１３２で検出された、各検索領域におけるＳＡＤの最小値を１フレーム分ずつ取得して、これらの総和を求める。
【００６３】
シーンチェンジ検出部１３５は、ＳＡＤ総和演算部１３４により演算された、フレームごとの最小ＳＡＤの総和を所定のしきい値と比較し、最小ＳＡＤの総和がしきい値を超えた場合にシーンチェンジが発生したと判定する。そして、シーンチェンジが検出されたフレームの番号を出力する。
【００６４】
以上の特徴量検出処理部１３０では、ベクトルデータ出力部１３３からのベクトルデータと、シーンチェンジ検出部１３５からのフレーム番号とから特徴量情報１０１が生成されて、特徴量データベース１４０に登録される。このとき、この特徴量情報１０１は、同一性判定処理部１５０にも直接的に出力されてもよい。
【００６５】
ここで、図９は、最小ＳＡＤの総和を用いたシーンチェンジの検出方法について説明するための図である。
シーンチェンジが発生した後のフレームは、その前のフレームとの相関が小さくなると考えられる。そこで、特徴量検出処理部１３０では、ＳＡＤ演算部１３１で求めたフレーム間の相関（すなわちＳＡＤ）を、シーンチェンジの発生を検出処理に流用している。ＳＡＤ演算部１３１では、現フレームに設定したブロック内の画像データと、参照フレーム（前フレーム）におけるブロックに対応する参照領域内の画像データとのＳＡＤを、検索領域ごとに算出している。そして、最小値検出部１３２は、検索領域ごとにＳＡＤの最小値を検出している。このとき検出されたＳＡＤの最小値は、検索領域における現フレームと参照フレームとの相関を示すと考えることができる。このため、設定した検索領域ごとに検出されたＳＡＤの最小値を１フレーム分だけ累積加算した値を、フレーム間の相関を示す値と見なすことができる。
【００６６】
図９（Ａ）は、ＳＡＤ総和演算部１３４によって演算されたフレームごとの最小ＳＡＤの総和を、フレーム番号ごとにプロットしたグラフを示している。なお、ここでは例として、各フレームの画素数を３６０×２４０、検索領域の画素数を３２×３２、ブロックの画素数を１６×１６としている。
【００６７】
このグラフにおいて、最小ＳＡＤの総和がその前後の値と比較して著しく高い場合には、画面が大きく変化した（すなわち、シーンチェンジが発生した）と推定できる。そこで、シーンチェンジ検出部１３５は、最小ＳＡＤの総和が所定のしきい値を超えた場合に、シーンチェンジが発生したと判定する。このグラフでは、しきい値を“４０００”に設定している。
【００６８】
なお、図９（Ｂ）には、参考のために、（Ａ）で検出対象としたものと同一の画像を目視することによってシーンチェンジを検出したときの検出例を示している。このグラフでは、シーンチェンジが検出されたフレーム番号について０より大きい一定の値をプロットしている。図９（Ａ），（Ｂ）を比較すると、（Ａ）でシーンチェンジが検出されたフレーム番号と、（Ｂ）において最小ＳＡＤの総和が突出しているフレーム番号とがほぼ一致していることがわかる。従って、比較に用いるしきい値を適切に設定することにより、最小ＳＡＤの総和に基づく検出方法によってシーンチェンジを概ね正確に検出できる。
【００６９】
次に、以上で説明した特徴量情報１０１の検出処理の全体について、フローチャートを用いて説明する。
図１０は、特徴量検出処理の手順を示すフローチャートである。
【００７０】
［ステップＳ２１］ＳＡＤ演算部１３１は、前処理部１２０から出力される動画像ストリームのうち、処理の対象とする現在のフレームを決定する。
［ステップＳ２２］ＳＡＤ演算部１３１は、フレームの中に検索領域を設定する。
【００７１】
［ステップＳ２３］ＳＡＤ演算部１３１は、設定した検索領域内にブロックを設定する。
［ステップＳ２４］ＳＡＤ演算部１３１は、現在のフレームの画像データのうち、ステップＳ２３で設定したブロック内の画像データを読み込む。さらに、参照フレームの画像データのうち、設定したブロックに対応する参照領域内の画像データを読み込む。そして、これらの画像データ同士でＳＡＤを演算する。
【００７２】
［ステップＳ２５］ＳＡＤ演算部１３１は、ステップＳ２２で設定した検索領域に設定すべき全ブロックについてのＳＡＤ演算を終了したか否かを判定する。終了していない場合には、ステップＳ２３の処理が実行され、次のブロックが設定されて、このブロックに対応するＳＡＤの演算が実行される。また、終了した場合には、ステップＳ２６の処理が実行される。
【００７３】
［ステップＳ２６］最小値検出部１３２は、ステップＳ２４においてＳＡＤ演算部１３１から出力されたＳＡＤ値のうち、最小値を検出する。
［ステップＳ２７］ベクトルデータ出力部１３３は、ステップＳ２６において最小値が検出されたブロックを指し示すベクトルデータを生成して出力する。このベクトルデータは、ステップＳ２２で設定された検索領域を識別する番号に対応付けて特徴量情報１０１に格納される。
【００７４】
［ステップＳ２８］ＳＡＤ演算部１３１は、現在のフレームに設定すべき全検索領域についての処理が終了したか否かを判定する。終了していない場合には、ステップＳ２２の処理が実行される。この場合、新たに検索領域が設定され、その検索領域内にブロックが順次設定されて、ブロックに対応するＳＡＤ値が演算される。そして、検索領域に対応するベクトルデータが出力される。また、全検索領域についての処理が終了した場合には、ステップＳ２９の処理が実行される。
【００７５】
［ステップＳ２９］ＳＡＤ総和演算部１３４は、ステップＳ２６で検出されたＳＡＤの最小値を１フレーム分取得し、これらの総和を演算する。
［ステップＳ３０］シーンチェンジ検出部１３５は、ステップＳ２９で算出された最小ＳＡＤの総和を所定のしきい値と比較し、シーンチェンジが発生したか否かを判定する。最小ＳＡＤの総和がしきい値を超えている場合には、シーンチェンジが発生したと判定して、現在のフレームを示すフレーム番号を出力する。このフレーム番号は、特徴量情報１０１に格納される。また、最小ＳＡＤの総和がしきい値以下である場合には、シーンチェンジが発生していないと判定する。この場合、フレーム番号は出力されず、次のステップＳ３１の処理が実行される。
【００７６】
［ステップＳ３１］ＳＡＤ演算部１３１は、動画像ストリーム全体に対する処理が終了したか否かを判定する。終了していない場合には、ステップＳ２１の処理が実行され、次のフレームが処理対象フレームに決定され、ベクトルデータおよびシーンチェンジが検出される。そして、動画像ストリームにおけるすべてのフレームについての処理が実行されると、特徴量検出処理部１３０での処理が終了される。このとき、特徴量データベース１４０には、処理対象としていた動画像ストリームに対応する特徴量情報１０１として、図３に示したような情報が登録される。
【００７７】
なお、上記の特徴量検出処理では、ＳＡＤ演算部１３１は、フレーム内に設定するすべての検索領域について、検索領域内に設定するすべてのブロックごとにＳＡＤを演算していた。しかし、異なる検索領域のブロック同士で画素数および位置が同一のものがある場合には、それらのブロックに対応するＳＡＤを最初に一回だけ演算して保持しておき、その値を複数の検索領域で共用してもよい。これにより、ＳＡＤの演算量を抑制でき、特徴量検出に要する時間を短縮できる。
【００７８】
また、ＳＡＤの演算量を抑制する他の方法の例として、最小値検出部１３２で、検索領域内の全ブロックに対応するＳＡＤの最小値を検出する代わりに、ブロックに対応するＳＡＤの値を所定のしきい値と比較する方法が考えられる。この場合、最小値検出部１３２は、ＳＡＤ演算部１３１により検索領域内にブロックが設定されるごとに、そのブロックに対応するＳＡＤの値を取得して、しきい値と比較する。
【００７９】
このとき、ＳＡＤの値がしきい値以下であった場合には、対応するブロックを最小値が検出されたものと判定し、当該検索領域における次のブロックの設定およびＳＡＤ演算を中止する。これによりＳＡＤの演算量を抑制できる。なお、ＳＡＤの値がしきい値より大きかった場合には、検索領域内に次のブロックを設定してＳＡＤの演算を行い、しきい値と比較する。そして、検索領域内の全ブロックに対応するＳＡＤがしきい値より大きかった場合には、前述の通りこれらのＳＡＤの中から最小値を検出する。
【００８０】
一方、検索領域において動きの少ない領域を検出する際の検出精度を高める方法として、例えば、最小値検出部１３２によって検出された検索領域内でのＳＡＤの最小値が所定のしきい値より大きい場合には、その最小値に対応するブロックを指し示すベクトルデータを特徴量情報１０１に含めないという方法も考えられる。ただし、この場合には、後述する同一性判定処理機能の仕様として、ベクトルデータを含まない検索領域についての取り扱いをあらかじめ決めておく必要がある。その例としては、特徴量情報１０１に対して、検索領域に対応するベクトルデータの代わりに該当ブロックがないことを示す情報を含めておき、同一性の判定処理時に、この検索領域に対応する相関の演算をスキップする方法が考えられる。
【００８１】
次に、同一性判定処理部１５０における処理について説明する。
図１１は、同一性判定処理部の内部構成例を示すブロック図である。
同一性判定処理部１５０は、図１１に示すように、読み込み制御部１５１、ＳＡＤ演算部１５２および同一性判定部１５３を備えている。
【００８２】
読み込み制御部１５１は、同一性の判定対象とする２つの動画像ストリームのそれぞれについて、判定対象とする範囲（フレーム番号）を決定する。そして、各動画像ストリームに対応する特徴量情報１０１に含まれるベクトルデータのうち、決定した判定対象範囲に対応するベクトルデータのみを読み込む。
【００８３】
この読み込み制御部１５１での処理は、後述するように、一方の動画像ストリームについてのベクトルデータの読み込み開始位置（フレーム番号）を順次変化させる第１の読み込み制御と、各特徴量情報１０１に含まれるシーンチェンジ情報に基づいて読み込み開始位置を決定する第２の読み込み制御とに大別される。後者の場合には、読み込み制御部１５１は、少なくとも一方の特徴量情報１０１に含まれるシーンチェンジ情報を参照する。
【００８４】
ＳＡＤ演算部１５２は、読み込み制御部１５１を通じて読み込まれた各動画像ストリームのベクトルデータ同士の相関を演算する。本実施の形態では、相関演算の例として、ＳＡＤ演算を行う。
【００８５】
同一性判定部１５３は、相関の演算結果を基に、各動画像ストリームが同一のものであるか否かを判定する。本実施の形態では、算出されたＳＡＤの値が所定のしきい値以下であった場合に、各動画像ストリームが同一のものであると判定する。
【００８６】
図１２は、第１の読み込み制御を適用した場合のベクトルデータの相関演算について説明するための図である。
図１２では、同一性を判定する第１の動画像ストリーム、第２の動画像ストリームのそれぞれを、フレーム番号を羅列することによって模式的に示している。すなわち、図１２では例として、各動画像ストリームについて、先頭のフレームから２６番目のフレームまでを示している。
【００８７】
同一性判定処理部１５０は、例えば、各動画像ストリームに対してそれぞれ同じフレームの範囲を判定対象として選択し、それぞれの判定対象範囲に対応するベクトルデータ間の相関を演算する。第１の読み込み制御を適用する場合、判定対象範囲は、各動画像ストリームの先頭から１フレームずつ移動させながら順に選択される。
【００８８】
図１２の例では、判定対象範囲を２０フレームの範囲としている。この場合、読み込み制御部１５１は、まず、第２の動画像ストリームに対して、先頭から２０フレームの範囲を判定対象範囲Ｒｂとして設定する。そして、第２の動画像ストリームの特徴量情報１０１から、判定対象範囲Ｒｂのフレームに対応するベクトルデータをフレーム順および検索領域番号順に読み込む。
【００８９】
一方、第１の動画像ストリームに対しては、まず、先頭から２０フレームの範囲を判定対象範囲Ｒａ１として設定する。そして、第１の動画像ストリームの特徴量情報１０１から、判定対象範囲Ｒａ１のフレームに対応するベクトルデータをフレーム順および検索領域番号順に読み込む。
【００９０】
ＳＡＤ演算部１５２は、このように読み込まれたベクトルデータ間のＳＡＤを演算する。ＳＡＤ演算部１５２は、各判定対象範囲の先頭からの位置が同じフレームにおける同一検索領域番号に対応付けられたベクトルデータの差分をそれぞれ求め、それらの差分の絶対値を加算することで、ＳＡＤを求める。一方の判定対象範囲Ｒａ１における先頭からｐフレーム目のｑ番目の検索領域に対応付けられたベクトルデータをＶａ＿ｐｑ、他方の判定対象範囲Ｒｂにおける先頭からｐフレーム目のｑ番目の検索領域に対応付けられたベクトルデータをＶｂ＿ｐｑとすると、各範囲でのベクトルデータ間のＳＡＤの値は次の式（２）によって求められる。
ＳＡＤ＿ＳＴＲ＝Σ｜（Ｖａ＿ｐｑ−Ｖｂ＿ｐｑ）｜                      ……（２）
同一性判定部１５３は、このようにしてＳＡＤ演算部１５２により算出されたＳＡＤの値を、所定のしきい値と比較する。ＳＡＤの値がしきい値以下であった場合には、各範囲の動画像が同一であると判定できる。
【００９１】
一方、ＳＡＤがしきい値より大きかった場合には、読み込み制御部１５１は、判定対象範囲を変化させて、同様の処理によりＳＡＤを演算する。図１２の例では、次に、第１の動画像ストリームに設定する判定対象範囲を、２フレーム目を先頭とした２０フレーム（判定対象範囲Ｒａ２）に変更している。読み込み制御部１５１は、設定した判定対象範囲Ｒａ２における各検索領域に対応付けられたベクトルデータを読み込む。ＳＡＤ演算部１５２は、各範囲でのベクトルデータ間のＳＡＤを算出し、同一性判定部１５３は、算出されたＳＡＤの値をしきい値と比較する。
【００９２】
以上の処理手順に従い、判定対象範囲の動画像が同一と判定されるまで、判定対象範囲を変化させて同様の処理が実行される。例えば、図１２に示すように、第１の動画像ストリームに対する判定対象範囲が、判定対象範囲Ｒａ３，Ｒａ４，Ｒａ５，……のように１フレームずつ後ろに移動される。また、その判定対象範囲の末尾が第１の動画像ストリームの末尾のフレームに達した場合には、次に、第２の動画像ストリームに対する判定対象範囲が、１フレームだけ後ろに移動されて、上記と同様に第１の動画像ストリームに対する判定対象範囲が順次移動され、その都度ＳＡＤの演算およびしきい値との比較が行われる。
【００９３】
図１３は、第１の読み込み制御を適用した場合のＳＡＤの算出例を示すグラフである。
図１３に示すグラフは、第２の動画像ストリームにおける所定の位置に１００フレーム分の判定対象範囲を設定するとともに、第１の動画像ストリームに同数のフレームからなる判定対象範囲を順次移動させながら設定したときのＳＡＤの値をプロットしたものである。従って、図１３のグラフの横軸は、第１の動画像ストリームに設定される判定対象範囲の先頭を示すフレーム番号である。なお、この算出例では、各動画像ストリームのフレームの画素数を３６０×２４０、参照領域の画素数を６４×６４、ブロックの画素数を１６×１６としている。
【００９４】
このグラフでは、第１の動画像ストリームに設定される判定対象範囲の先頭を５００フレームの位置としたとき、ＳＡＤの値がその前後と比較して極端に低下している。この場合、第１の動画像ストリームにおける５００フレームから６００フレームまでの動画像と、第２の動画像ストリームに設定した判定対象範囲における動画像とが同じものであると判定できる。
【００９５】
なお、このグラフに示すように、本実施の形態での特徴量検出処理および同一性判定処理を用いた場合、各動画像ストリームにおける判定対象範囲の動画像が一致していないときに算出されるＳＡＤの値は、大きく変動しない。すなわち、各動画像ストリームにおける画面の変化に対して、コンテンツが一致していない場合の相関値と一致している場合の相関値との差が安定的に大きくなる。このため、単にＳＡＤに対するしきい値判定を行うだけで、動画像の同一性を精度よく判定できる。
【００９６】
このように、同一性判定時において算出されるＳＡＤの値はほぼ一定となるので、この値があらかじめわかっていれば、しきい値を容易に設定できる。ただし、このようなＳＡＤの値は、例えば、各動画像ストリームに設定する判定対象範囲のフレーム数などに応じて異なると考えられる。
【００９７】
そこで、同一性判定部１５３では、ＳＡＤ演算部１５２によって算出されるＳＡＤの値を、あらかじめ決められた複数のフレーム数分だけ平均し、その平均値に対して所定の比率を適用した値（ただし、比率を０より大きく１未満の値とする）をしきい値に設定してもよい。例えば、ＳＡＤの平均値の２０％の値をしきい値とする。前述のように、１回の同一性判定時にＳＡＤ演算部１５２により算出されるＳＡＤの値は（各動画像が一致していない場合に）ほぼ一定となるので、この手法でしきい値を設定した場合でも同一性を高精度に判定できる。
【００９８】
図１４は、第１の読み込み制御を適用した場合の同一性判定処理の手順を示すフローチャートである。
［ステップＳ４１］読み込み制御部１５１は、第２の動画像ストリームに対して判定対象範囲を設定する。
【００９９】
［ステップＳ４２］読み込み制御部１５１は、第１の動画像ストリームに対して判定対象範囲を設定する。
［ステップＳ４３］読み込み制御部１５１は、各動画像ストリームに対応する特徴量情報１０１の中から、設定した判定対象範囲内のベクトルデータを読み込む。
【０１００】
［ステップＳ４４］ＳＡＤ演算部１５２は、読み込まれた各判定対象範囲内のベクトルデータのＳＡＤを演算する。
［ステップＳ４５］同一性判定部１５３は、ＳＡＤの演算結果をしきい値と比較し、各判定対象範囲の動画像が同一か否かを判定する。
【０１０１】
［ステップＳ４６］ステップＳ４５において同一と判定された場合には、ステップＳ４９の処理が実行される。一方、同一でないと判定された場合には、ステップＳ４７の処理が実行される。
【０１０２】
［ステップＳ４７］読み込み制御部１５１は、第１の動画像ストリームに対して設定し得るすべての判定対象範囲を設定したか否かを判定する。すべての範囲を設定済みである場合には、ステップＳ４８の処理が実行される。
【０１０３】
一方、すべての範囲を設定済みではない場合には、ステップＳ４２の処理が実行される。この場合、読み込み制御部１５１は、第１の動画像ストリームに対する判定対象範囲の設定位置を、例えば後側に１フレーム分だけ移動させる。そして、各動画像ストリームに設定された判定対象範囲に対して、上記と同様にステップＳ４３〜Ｓ４６の処理が実行される。
【０１０４】
［ステップＳ４８］読み込み制御部１５１は、第２の動画像ストリームに対して設定し得るすべての判定対象範囲を設定したか否かを判定する。すべての範囲を設定済みである場合には、ステップＳ４９の処理が実行される。
【０１０５】
一方、すべての範囲を設定済みではない場合には、ステップＳ４１の処理が実行される。この場合、読み込み制御部１５１は、第２の動画像ストリームに対する判定対象範囲の設定位置を、例えば後側に１フレーム分だけ移動させる。そして、ステップＳ４２〜Ｓ４７の処理が再度実行される。なお、ステップＳ４１が再度実行された後では、ステップＳ４２では、第１の動画像ストリームに対する判定対象範囲の先頭位置が、このストリームの先頭フレームから順に設定される。
【０１０６】
なお、各動画像ストリームに対して設定し得るすべての判定対象範囲でのＳＡＤ演算により、動画像が一致したと判定されなかった場合には、さらに、判定対象範囲に含まれるフレーム数を変えて（例えば、フレーム数を少なくして）、ステップＳ４１〜Ｓ４８の処理を再度実行してもよい。
【０１０７】
［ステップＳ４９］同一性判定部１５３は、動画像が同一であるか否かの判定結果を出力する。
なお、以上の図１４の処理例では、ＳＡＤの算出結果としきい値との比較結果から、各判定対象範囲の動画像が一致したと判定された時点で、判定結果を出力して処理を終了していた。しかし、この他に例えば、処理の途中で動画像が一致したと判定された場合でも、設定すべきすべての判定対象範囲同士の同一性判定を行うようにしてもよい。この場合、例えば、同一と判定されたときのＳＡＤの値のうちの最小値が算出された判定対象範囲を、同一の動画像として出力してもよい。
【０１０８】
次に、図１５は、第２の読み込み制御を適用した場合のベクトルデータの相関演算について説明するための図である。
図１５では、図１２と同様の第１の動画像ストリームおよび第２の動画像ストリームを例示している。また、第１の動画像ストリームに対応する特徴量情報１０１には、シーンチェンジ情報として少なくともフレーム番号“６”，“１６”が含まれており、第２の動画像ストリームに対応する特徴量情報１０１には、シーンチェンジ情報として少なくともフレーム番号“１１”が含まれていたものとする。なお、図１５では、判定対象範囲を１０フレームとしている。
【０１０９】
第２の読み込み制御が適用される場合、各動画像ストリームに対して、それぞれの先頭フレームから順に判定対象範囲が設定されるのではなく、各動画像ストリームに対応する特徴量情報１０１に記載されたシーンチェンジ情報を基に、判定対象範囲を設定する先頭フレーム（または末尾フレーム）が設定される。
【０１１０】
読み込み制御部１５１は、まず、各動画像ストリームに対応する特徴量情報１０１からシーンチェンジ情報を読み込む。次に、例えば、第１の動画像ストリームから検出された、最も先頭に近いシーンチェンジの位置（フレーム）を先頭にして、第１の動画像ストリームに対して判定対象範囲（例えば、図中の判定対象範囲Ｒｂｂ）を設定する。一方、第２の動画像ストリームに対しては、同様に最も先頭に近いシーンチェンジの位置（フレーム）を先頭にして、判定対象範囲（例えば、図中の判定対象範囲Ｒａａ１）を設定する。この後の処理は前述した通りであり、ＳＡＤ演算部１５２は、このように設定された判定対象範囲間のベクトルデータのＳＡＤを演算し、同一性判定部１５３は、その演算結果を基に同一性を判定する。
【０１１１】
次に、読み込み制御部１５１は、第１の動画像ストリームからシーンチェンジが複数の位置において検出されている場合には、先頭から２番目に近いシーンチェンジの位置（フレーム）を先頭にして、第１の動画像ストリームに対して判定対象範囲（例えば、図中の判定対象範囲Ｒａａ２）を設定する。そして、各動画像ストリームの判定対象範囲間でＳＡＤが演算され、同一性が判定される。
【０１１２】
以後、第１の動画像ストリームにおけるシーンチェンジの検出位置のそれぞれを先頭として、判定対象範囲が順次設定されていき、各範囲での動画像の同一性が判定される。さらに、第１の動画像ストリームにおけるすべてのシーンチェンジ検出位置に対して判定対象範囲が設定された後、第２の動画像ストリームからシーンチェンジが複数の位置において検出されている場合には、読み込み制御部１５１は、第２の動画像ストリームに対する判定対象範囲の先頭を各シーンチェンジの位置に順次設定していく。そして、第２の動画像ストリームに対する判定対象範囲が変更されるごとに、第１の動画像ストリームにおける判定対象範囲が上記と同様の処理により順次設定されていき、各判定対象範囲での動画像の同一性が判定される。
【０１１３】
なお、第２の読み込み制御を適用した同一性判定処理は、例えば、図１４に示した処理手順において、ステップＳ４１，Ｓ４２での判定対象範囲の設定処理を、各動画像ストリームに対応するシーンチェンジの位置に応じて決定するように変更することで実現される。
【０１１４】
以上のような第２の読み込み制御を適用した場合には、第１の読み込み制御を適用した場合と比較して、各動画像ストリームに対して設定する判定対象範囲の組み合わせ数が大幅に減少される。このため、同一性判定処理時の演算量が低減され、その処理に要する時間を短縮できる。
【０１１５】
なお、第２の読み込み制御の処理において、読み込み制御部１５１は、例えば、１つの動画像ストリームの複数の位置からシーンチェンジが検出されている場合には、判定対象範囲のフレーム数を２つのシーンチェンジ検出位置間のフレーム数としてもよい。これによって、同一性判定処理の処理効率をさらに向上させることができる。
【０１１６】
以上説明した特徴量検出処理と、この処理により生成された特徴量情報１０１を用いた同一性判定処理によれば、それぞれの動画像ストリームに対して、そこに含まれるフレームごとに、フレームの画素数よりはるかに少ない数の特徴量（ベクトルデータ）を対応付けておき、２つの動画像ストリーム間でそれらの特徴量の相関をとることによって、動画像の同一性を判定できる。従って、例えば、各動画像ストリームの画像データの相関をとることで同一性を判定する場合と比較して、その演算量を大幅に低減することができる。
【０１１７】
また、特徴量を、各フレームに設定した１つ以上の検索領域において最も動きの少ないブロックの位置を示す情報としたことで、画像の変化に関係なく、安定的に高精度の同一性判定を行うことができる。
【０１１８】
さらに、このような特徴量の検出処理の過程において、現在のフレームと参照フレームとの間で、同じ領域内の画像の相関が求められる。このため、このように求められた相関値を、特徴量の検出に加えてシーンチェンジの検出にも利用することが可能となる。シーンチェンジの検出は、検索領域内で最も相関が高いブロックでの相関値を１フレーム分だけ累積加算し、しきい値と比較するという単純な処理により実行可能である。そして、前述のように、特徴量情報１０１にシーンチェンジ情報を含めておき、この情報を同一性判定処理時のデータ読み込み制御に利用することで、同一性判定処理の演算量を大幅に低減できる。
【０１１９】
また、上記のように、特徴量の検出処理の過程において、現在のフレームと参照フレームとの間で、同じ領域内の画像の相関が求められるため、各領域の画像データを簡易な制御によって読み込むことが可能である。さらに、フレームに設定する複数の検索領域の間で、同じ位置にブロックが設定される場合には、それらのブロックに対応して演算された相関値を複数の検索領域の処理で共用できる。この場合、相関演算の演算量をさらに低減できる。
【０１２０】
ここで、同一性判定処理に用いる特徴量として、２つのフレーム間の動きベクトルを検出する方法を考える。この方法では、例えば、上記の検索領域内の１つのブロックと相関の高い領域を、参照フレーム内の検索領域に対応する領域から検出し、検出された領域とブロックとのフレーム内での位置関係を動きベクトルとして表す。検索領域やブロックを上記の実施の形態と同様に設定し、１つの参照領域に対して１つの動きベクトルを対応付けるものとすれば、動きベクトル検出のための演算量は、基本的には、本実施の形態でのベクトルデータ検出のための演算量と同等となる。
【０１２１】
しかし、動きベクトルを検出する場合には、相関の演算のほとんどの過程において、２つのフレームにおける異なる領域内の画像データ間で相関が演算される。このため、前述のように、ブロックに対応して演算された相関値を複数の検索領域の処理で共用することは不可能であり、相関演算量をさらに低減することはできない。
【０１２２】
次に、特徴量検出処理の変形例について補足説明する。
前述の画像検証装置１００では、前処理部１２０において、入力画像に対するスケーリング処理を行って、各フレームの画素数を一定に揃えた上で、ベクトルデータを算出する処理を行っていた。この場合、ブロックの位置を示すベクトルデータのｘ成分，ｙ成分を、ともに画素数によって表すことが可能であった。
【０１２３】
しかし、前処理部１２０は、この他に例えば、フレーム全体の画素数を一定に変換せずに、入力画像のアスペクト比のみを一定にするように変換してもよい。この場合、特徴量検出処理部１３０では、以下で説明する方法によりベクトルデータを生成することによって、生成したベクトルデータを同一性判定処理時に共通に利用することが可能になる。
【０１２４】
図１６は、ベクトルデータを画像領域の比を基に算出する手順を説明するための図である。
まず、特徴量検出処理部１３０のＳＡＤ演算部１３１は、入力画像のフレームの画素数に関係なく、検索領域の水平／垂直方向の画素数と、フレーム全体の水平／垂直方向の画素数との比が同じになるように、検索領域を設定する。図１６（Ａ）の例では、フレームの水平／垂直方向の画素数をそれぞれｘｆ，ｙｆ、検索領域Ａ４の水平／垂直方向の画素数をそれぞれｘａ，ｙａとすると、ｘａ／ｘｆ，ｙａ／ｙｆをそれぞれ一定とするように検索領域Ａ４を設定する。ただし、１つのフレームに対して複数の検索領域を設定する場合、各検索領域がすべて同じ画素数である必要はない。
【０１２５】
次に、ＳＡＤ演算部１３１は、設定した検索領域内にブロックを設定し、ＳＡＤの演算を行う。このときも、検索領域（またはフレーム）の水平／垂直方向の画素数とブロックの水平／垂直方向の画素数との比が一定になるように、ブロックを設定する。
【０１２６】
ここで、検索領域Ａ４内に設定した各ブロックに対応するＳＡＤの値のうち、ブロックＢｍａｘに対応するＳＡＤの値が最大であったとする。このとき、ブロックＢｍａｘの位置は、例えば図１６（Ａ）に示すように、検索領域Ａ４内の基準位置Ｐａを基準とした、ブロックＢｍａｘの基準位置Ｐｂの相対位置を示すベクトルデータＶとして表すことができる。
【０１２７】
ここで、ベクトルデータＶの水平／垂直方向の各成分を、検索領域の水平／垂直方向の各画素数に対する、基準位置Ｐａ，Ｐｂ間の水平／垂直方向の各座標差の比率として表す。図１６（Ａ）の場合には、例えば、Ｖ＝（ｖｘ１／ｘａ，ｖｙ１／ｙａ）と表すことができる。
【０１２８】
また、ブロックの位置を表現するための基準位置として、検索領域の基準位置Ｐａの代わりに、図１６（Ｂ）に示すように、フレーム内の基準位置Ｐｆを用いてもよい。この場合、ベクトルデータＶの水平／垂直方向の各成分を、フレームの水平／垂直方向の各画素数に対する、基準位置Ｐｆ，Ｐｂ間の水平／垂直方向の各座標差の比率として表す。図１６（Ｂ）の場合には、例えば、Ｖ＝（ｖｘ２／ｘｆ，ｖｙ２／ｙｆ）と表すことができる。
【０１２９】
このように、入力画像の画素数に関係なく、検索領域およびブロックをフレーム全体に対する比率が常に同じになるように設定し、ブロックの相対位置を、検索領域またはフレームの大きさに対する比率によって表すことにより、生成されるベクトルデータは、同一性判定処理において必ず共通に利用できるものとなる。特徴量の検出対象とされる動画像コンテンツの量は膨大であり、それらの動画像コンテンツには画素数が異なるものも多いことから、上記処理によって同一性判定処理の汎用性を高めることができる。
【０１３０】
また、特徴量検出処理部１３０の機能が、同一性判定処理部１５０の機能とは別の複数の装置において実現される場合もある。このような場合でも、各特徴量検出装置において上記の処理が適用されることで、検出対象とする動画像コンテンツの画素数を装置間で統一する必要がなくなる。
【０１３１】
なお、上記の画像処理装置１や画像検証装置１００が備える処理機能の少なくとも一部は、コンピュータによって実現することができる。その場合には、上記各装置が有すべき処理機能の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
【０１３２】
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、そのプログラムを、サーバコンピュータからネットワークを介して他のコンピュータに転送することもできる。
【０１３３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、そのプログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１３４】
【図１】実施の形態に係る画像処理装置の構成を概略的に示す図である。
【図２】実施の形態に係る画像検証装置の機能を示すブロック図である。
【図３】特徴量情報のデータ構成例を示す図である。
【図４】検索領域内でのブロックの設定方法を説明するための図である。
【図５】フレーム内での検索領域の設定方法を説明するための図である。
【図６】ブロックの位置を示すベクトルデータを説明するための図である。
【図７】ＳＡＤの演算方法を説明するための図である。
【図８】特徴量検出処理部の内部構成例を示すブロック図である。
【図９】最小ＳＡＤの総和を用いたシーンチェンジの検出方法について説明するための図である。
【図１０】特徴量検出処理の手順を示すフローチャートである。
【図１１】同一性判定処理部の内部構成例を示すブロック図である。
【図１２】第１の読み込み制御を適用した場合のベクトルデータの相関演算について説明するための図である。
【図１３】第１の読み込み制御を適用した場合のＳＡＤの算出例を示すグラフである。
【図１４】第１の読み込み制御を適用した場合の同一性判定処理の手順を示すフローチャートである。
【図１５】第２の読み込み制御を適用した場合のベクトルデータの相関演算について説明するための図である。
【図１６】ベクトルデータを画像領域の比を基に算出する手順を説明するための図である。
【図１７】動画像データ同士を比較する方法の例について説明するための図である。
【符号の説明】
【０１３５】
１  画像処理装置
１１  ブロック設定部
１２  相関演算部
１３  位置情報出力部
１４  特徴量出力部
１５  特徴量データベース
【図１】
0004997179.tif 000002
【図２】
0004997179.tif 000003
【図３】
0004997179.tif 000004
【図４】
0004997179.tif 000005
【図５】
0004997179.tif 000006
【図６】
0004997179.tif 000007
【図７】
0004997179.tif 000008
【図８】
0004997179.tif 000009
【図９】
0004997179.tif 000010
【図１０】
0004997179.tif 000011
【図１１】
0004997179.tif 000012
【図１２】
0004997179.tif 000013
【図１３】
0004997179.tif 000014
【図１４】
0004997179.tif 000015
【図１５】
0004997179.tif 000016
【図１６】
0004997179.tif 000017
【図１７】
0004997179.tif 000018