以下で説明するデータ抽出装置は、複数の動画像データのなかから、フィルタの適用結果の例示に適した動画像データ(サンプル動画)を抽出する装置である。フィルタは、動画像データに含まれる所定の情報を検出、検知するものであり、例えば、アプリケーションソフトウェア(プログラム)として提供される。動画像データに適用するフィルタには、例えば、動画像に写っている人の数を検知する人数検知フィルタ、動画像に写っている動体を検出する動体検出フィルタ、動画像に写っている人の顔を検出する顔検出フィルタ等がある。
図1は、一実施形態に係るデータ抽出装置の機能的構成を示す図である。
図1に示すように、本実施形態のデータ抽出装置1は、入力受付部110と、サンプル動画抽出部120と、出力部130と、記憶部190と、を備える。
入力受付部110は、外部装置2からデータ抽出装置1に送信された各種の入力情報を受け付け、該入力情報に従った処理を行う。外部装置2は、図示しない入力装置及び表示装置を含む情報処理装置(例えば、コンピュータ)である。例えば、外部装置2からの入力情報がサンプル動画を抽出する処理の実行命令を含む情報である場合、入力受付部110は、サンプル動画抽出部120にサンプル動画を抽出する処理を行わせる。
サンプル動画抽出部120は、記憶部190に記憶させた動画像データ群191に含まれる複数の動画像データのなかから、フィルタの適用結果の例示に適した動画像データを抽出する。以下の説明では、フィルタの適用結果の例示に適した動画像データのことをサンプル動画ともいう。サンプル動画抽出部120は、フィルタ適用部121と、センサ値変換部122と、動画変化検出部123と、スコア算出部124と、サンプル決定部125と、を含む。
フィルタ適用部121は、動画像データにフィルタを適用し、適用結果(センサ値)を出力する。フィルタ適用部121は、記憶部190のフィルタ群192からフィルタを読み出すとともに、記憶部190の動画像データ群191からフィルタを適用する動画像データを読み出し、動画像データに対してフィルタを適用する。例えば、適用するフィルタが人数検知フィルタである場合、フィルタ適用部121は、動画像データを再生した動画像に写っている人の数を検知し、人の数の時間変化を示すセンサ値を出力する。また、適用するフィルタが動体検出フィルタである場合、フィルタ適用部121は、動画像データを再生した動画像に写っている動体を検出し、検出結果の時間変化を示すセンサ値を出力する。
センサ値変換部122は、記憶部190に記憶させたセンサ値変換ルール193に従って、センサ値をビット列に変換する。センサ値変換ルール193には、フィルタ毎に定めた、センサ値のうちの「0」に変換する値の条件と「1」に変換する値の条件とが登録されている。例えば、動体検出フィルタを適用して得られるセンサ値に対する変換ルールは、動体を検出したことを示す値を「1」に変換し、動体を検出しなかったことを示す値を「0」に変換するというルールにする。以下の説明では、センサ値変換部122においてセンサ値を変換することにより生成されたビット列を、第1のビット列ともいう。
動画変化検出部123は、動画像データを再生した動画像内における内容(像)の変化を検出し、動画像内での内容の時間変化を示すビット列を生成する。本実施形態に係る動画変化検出部123は、既知の検出方法に従って、動画像における内容(像)の変化を検出する。例えば、動画変化検出部123は、画素のRGB値の変化、オプティカルフロー、テンプレートマッチング、ブロックマッチング、及び背景差分のいずれかに基づいて、動画像データにおけるフレーム間での像の変化の有無を検出する。像の変化を検出した後、動画像変化検出部123は、検出結果に基づいて、像の時間変化を示すビット列を生成する。例えば、動画像変化検出部123は、像の変化量が閾値以上であることを示す値を「1」に変換し、像の変化量が閾値よりも小さいことを示す値を「0」に変換したビット列を生成する。以下の説明では、動画変化検出部123において生成した像の時間変化を示すビット列を、第2のビット列ともいう。
スコア算出部124は、センサ値変換部122で生成した第1のビット列と、動画変化検出部123で生成した第2のビット列との一致度についてのスコアを算出する。例えば、ビット列がn桁である場合、スコア算出部124は、第1のビット列の値と第2のビット列の値とを1桁毎に比較し、n桁のうちの値が一致している桁の割合を一致度として算出する。例えば、第1のビット列及び第2のビット列がともに20(n=20)桁であり、当該20桁のうちの16桁で値が一致している場合、スコア算出部124は、一致度として0.8(=16/20)を算出する。スコア算出部124は、フィルタを示す情報と、動画像データを示す情報と、算出したスコアとを対応付けて、記憶部190のスコアデータ194に格納する。
サンプル決定部125は、複数の動画像データのそれぞれに同一のフィルタを適用したときのスコアに基づいて、フィルタの適用結果(効果)の例示に最適な動画像データ(すなわちサンプル動画)を決定する。サンプル決定部125は、記憶部190のスコアデータ194から、サンプル動画を決定するフィルタを示す情報と対応付けられた動画像データを示す情報とスコアとの組を読み出し、スコアを比較してサンプル動画を決定する。2つのビット列の一致度が高いほどスコアが高くなる場合、サンプル決定部125は、同一のフィルタを適用した複数の動画像データのうちの、スコアが最大値となる動画像データをサンプル動画に決定する。サンプル決定部125は、フィルタを示す情報と、サンプル動画とする動画像データを示す情報とを対応付けて、記憶部190のサンプル動画リスト195に登録する。また、サンプル決定部125は、フィルタを示す情報と、サンプル動画とする動画像データを示す情報とを対応付けて、出力部130に通知する。
出力部130は、サンプル動画抽出部120の抽出結果、外部装置2からの入力情報により指定されたフィルタの適用結果を例示するサンプル動画等を、外部装置2に送信する。
本実施形態のデータ抽出装置1は、上記のように、複数の動画像データ(サンプル動画の候補)のなかから、動画像データに含まれる所定の情報を検出、検知するフィルタの適用結果の例示に適した動画像データ(サンプル動画)を抽出する装置である。複数の動画像データは、それぞれ、適用するフィルタで検出、検知する情報に応じて選択し、用意されたものであればよい。複数の動画像データは、例えば、外部装置2からデータ抽出装置1に送信し、データ抽出装置1の記憶部190に動画像データ群191として記憶させる。動画像データ群191に含まれる複数の動画像データは、動画像データ毎に異なる識別情報(例えば、通し番号等)により識別する。
また、フィルタは、例えば、外部装置2からデータ抽出装置1に送信し、データ抽出装置1の記憶部190にフィルタ群192として記憶させる。フィルタ群192に含まれるフィルタが複数である場合、当該複数のフィルタは、フィルタ毎に異なる識別情報(例えば、通し番号等)により識別する。更に、データ抽出装置1の記憶部190にフィルタを記憶させる際には、動画像データにフィルタを適用することで得られるセンサ値をビット列に変換する変換ルールを、フィルタを識別する情報と対応付けてセンサ値変換ルール193に登録する。
図2は、フィルタ群の例を示す図である。図3は、センサ値変換ルールの例を示す図である。
図2のフィルタ群192は、顔検出フィルタ192A、動体検出フィルタ192B、及び人数検知フィルタ193Cを含む。図3のセンサ値変換ルール193は、顔検出フィルタを適用したときのセンサ値に対する変換ルール193A、動体検出フィルタを適用したときのセンサ値に対する変換ルール193B、及び人数検知フィルタを適用したときのセンサ値に対する変換ルール193Cを含む。センサ値変換ルール193における各変換ルールは、それぞれ、フィルタを識別する情報と、センサ値(フィルタの適用結果)に含まれる値と、ビット列におけるビットの値と対応関係を示している。
顔検出フィルタ192Aは、動画像に写っている人の顔を検出するフィルタである。顔検出フィルタ192Aは、適用結果として、例えば、動画像における所定時間(フレーム)毎の、顔を検出したか否かを示す情報、検出した顔の位置を示す情報等を出力する。顔検出フィルタ192Aを適用したときのセンサ値は、例えば、顔を検出したか否かを示す情報とする。この場合のセンサ値は、顔を検出したか否かを示す情報(値)が時系列に並ぶデータとなる。よって、顔検出フィルタ192Aを適用したときのセンサ値に対する変換ルールは、例えば、図3の変換ルール193Aのようにする。すなわち、センサ値(フィルタの適用結果)に含まれる複数フレーム分の情報(値)のうちの、顔を検出しなかったことを示す情報は「0」に変換し、顔を検出したことを示す情報は「1」に変換するというルールにする。
動体検出フィルタ192Bは、動画像内の動体(動いている物体)を検出するフィルタである。動体検出フィルタ192Bは、適用結果として、例えば、動画像における所定時間(フレーム)毎の、動体を検出したか否かを示す情報、検出した動体の位置を示す情報等を出力する。動体検出フィルタ192Bを適用したときのセンサ値は、例えば、動体を検出したか否かを示す情報とする。この場合のセンサ値は、動体を検出したか否かを示す情報が時系列に並ぶデータとなる。よって、動体検出フィルタ192Bを適用したときのセンサ値に対する変換ルールは、例えば、図3の変換ルール193Bのようにする。すなわち、センサ値(フィルタの適用結果)に含まれる複数フレーム分の情報(値)のうちの、動体を検出しなかったことを示す情報は「0」に変換し、動体を検出したことを示す情報は「1」に変換するというルールにする。
人数検知フィルタ192Cは、動画像に写っている人の数を検知するフィルタである。人数検知フィルタ192Cは、適用結果として、例えば、動画像における所定時間(フレーム)毎の、検知した人の数を示す情報、検知した人の位置を示す情報等を出力する。人数検知フィルタ192Cを適用したときのセンサ値は、例えば、検知した人の数を示す情報とする。この場合のセンサ値は、検知した人の数を示す情報が時系列に並ぶデータとなる。よって、人数検知フィルタ192Cのセンサ値に対する変換ルールは、例えば、図3の変換ルール193Cのようにする。すなわち、センサ値(フィルタの適用結果)に含まれる複数フレーム分の情報(値)のうちの、検出人数が0であることを示す情報は「0」に変換し、検出人数が1以上であることを示す情報は「1」に変換するというルールにする。
なお、フィルタ群192には、検出する(検知する)情報が同一であり、検出方法(検知方法)が異なる複数のフィルタが含まれていてもよい。例えば、フィルタ群192には、顔の検出に使用する情報や判定方法等が異なる複数の顔検出フィルタが含まれていてもよい。
動画像の時間変化を示すビット列は、例えば、図4の生成ルールに従って生成する。
図4は、動画像の時間変化を示すビット列の生成ルールの例を示す図である。
動画変化検出部123は、図4の生成ルール3に従って、動画像データの時間変化を示すビット列(第2のビット列)を生成する。動画変化検出部123は、上記のように、既知の検出方法に従って、動画像に写っている像の変化を検出する。動画変化検出部123は、隣り合うフレームにおける変化量(変化の度合い)を算出し、当該変化の度合いに基づいて、各フレームの変化の有無を示す情報を出力する。動画変化検出部123は、例えば、算出した変化量が第1の閾値TH1未満である場合には変化が無いと判定する。このため、生成ルール4では、図4に示すように、変化が無いことを示す情報は「0」に変換するというルールにする。また、生成ルール4では、変化があることを示す情報のうちの、変化量が第2の閾値TH2(>TH1)未満である情報は「0」に変換し、変化量が第2の閾値TH2以上である情報は「1」に変換するというルールにする。これにより、第2のビット列は、動画像に写っている像に大きな変化が生じたことを示す情報となる。
複数の動画像データ(サンプル動画の候補)、及びフィルタを記憶部190に記憶させ、センサ値変換ルール193を設定した後、外部装置2からサンプル動画の抽出を命令する情報が入力されると、データ抽出装置1は、サンプル動画を抽出する処理を行う。サンプル動画を抽出する処理は、データ抽出装置1のサンプル動画抽出部120が行う。本実施形態に係るサンプル動画抽出部120は、サンプル動画を抽出する処理として、図5の処理を行う。
図5は、一実施形態に係るサンプル動画の抽出処理を説明するフローチャートである。
サンプル動画抽出部120は、まず、サンプル動画の抽出処理の対象とするフィルタを選択する(ステップS1)。ステップS1の処理は、例えば、フィルタ適用部121が行う。フィルタ適用部121は、外部装置2から入力された入力情報、或いは予め定められた選択条件に従って、フィルタ群192に含まれるフィルタの1つを選択する。
次に、サンプル動画抽出部120は、フィルタを適用する動画像データを選択し(ステップS2)、選択した動画像データにフィルタを適用する(ステップS3)。ステップS2及びS3の処理は、フィルタ適用部121が行う。ステップS2では、フィルタ適用部121は、予め定められた選択条件に従って、動画像データ群191に含まれる複数の動画像データのなかから1つの動画像データを選択する。また、ステップS3では、フィルタ適用部121は、ステップS1で選択したフィルタと、ステップS2で選択した動画像データとを記憶部190から読み出し、動画像データに対してフィルタを適用する。
動画像データにフィルタを適用する処理の内容、及び適用結果(センサ値)は、適用するフィルタ毎に異なる。例えば、人数検知フィルタを適用する場合、フィルタ適用部121は、動画像データに含まれる複数のフレームのそれぞれに対し、写っている人の数を検出する処理を行う。この場合、フィルタ適用部121は、各フレームに写っている人の数を示す数値が時系列に並んだデータをセンサ値として出力する。
次に、サンプル動画抽出部120は、適用結果(センサ値)を第1のビット列に変換する(ステップS4)。ステップS4の処理は、センサ値変換部123が行う。センサ値変換部123は、フィルタ毎に設定されたセンサ値変換ルール193(図3参照)に従って、センサ値に含まれる複数の値のそれぞれを、「0」及び「1」のいずれかに変換する。例えば、人数検知フィルタを適用した場合のセンサ値は、各フレームに写っている人の数を示す数値が時系列に並んでいる。この場合、センサ値変換部123は、センサ値において人が写っていることを示す値は「1」に変換し、人が写っていないことを示す値は「0」に変換する。このような変換ルールが設定されている場合、センサ値変換部123は、センサ値における「0」以外の値(すなわち人物が写っていることを表す1以上の値)を全て「1」に変換する。センサ値変換部123は、センサ値変換ルール193に従って生成した第1のビット列をスコア算出部124に出力する。
次に、サンプル動画抽出部120は、ステップS2で選択した動画像データにおける動画像の時間変化を示す第2のビット列を生成する(ステップS5)。ステップS5の処理は、動画変化検出部123が行う。動画変化検出部123は、既知の検出方法に従って動画像データにおける像の変化を検出し、像の時間変化を示す情報を抽出する。例えば、動画変化検出部123は、動画像データのフレーム毎に、時間的に前のフレームと比較して像の変化量(変化の度合い)を算出し、変化量が閾値よりも小さいフレームを「0」で表し、変化量が閾値以上であるフレームを「1」で表すビット列を生成する。ここで、「0」及び「1」のいずれの値にするかを判定する閾値は、変化の有無を判定する場合の閾値よりも大きな値とする(図4の生成ルール3を参照)。「0」及び「1」のいずれの値にするかを判定する閾値TH2は、例えば、検出(検知)対象である物体の数や位置が大きく変化した場合に「1」となるような値とする。
次に、サンプル動画抽出部120は、フィルタの適用結果を示す第1のビット列と、動画像の時間変化を示す第2のビット列との一致度を算出して保持する(ステップS6)。ステップS6の処理は、スコア算出部124が行う。スコア算出部124は、2つのビット列の一致度として、例えば、ビット列の総桁数のうちの値が一致している桁の個数の割合を算出する。この場合、スコア算出部124は、第1のビット列における各桁の値と、第2のビット列における各桁の値とを一桁毎に比較し、一致している桁の個数を算出する。その後、スコア算出部124は、比較した桁の総数nのうちの、値が一致している桁の個数mの割合(m/n)を算出する。スコア算出部124は、算出した一致度を、現在選択されている動画像データのサンプル動画としての適正度を示すスコアとする。スコア算出部124は、算出した一致度(スコア)と、動画像データの識別情報と、フィルタの識別情報とを対応付けてスコアデータ194に格納する。
次に、サンプル動画抽出部120は、サンプル動画の候補である全ての動画像データについての一致度(スコア)を算出したか否かを判定する(ステップS7)。ここで、全ての動画像データは、動画像データ群191に含まれる全ての動画像データであってもよいし、動画像データ群191に含まれる全ての動画像データのなかから選択した複数の動画像データであってもよい。
一致度を算出していない動画像データがある場合(ステップS7;NO)、サンプル動画抽出部120は、ステップS2以降の処理を行う。そして、全ての動画像データについての一致度を算出すると(ステップS7;YES)、サンプル動画抽出部120は、次に、一致度が最大値となる動画像データを、選択されたフィルタの適用結果を例示するサンプル動画に決定して出力する(ステップS8)。ステップS8の処理は、サンプル決定部125が行う。サンプル決定部125は、スコアデータ194を参照し、現在選択されているフィルタと対応付けられている動画像データのうちの、一致度が最大値である動画像データをサンプル動画に決定する。サンプル動画を決定した後、サンプル決定部125は、現在選択されているフィルタの識別情報と、サンプル動画に決定した動画像データの識別情報とを対応付けてサンプル動画リスト195に登録する。なお、ステップS8の処理は、フィルタの識別情報、サンプル動画に決定した動画像データの識別情報等を、現在選択されているフィルタに対するサンプル動画の抽出処理の結果として、外部装置2に送信する処理を含むものであってもよい。この場合、サンプル決定部125は、出力部130にフィルタの識別情報、サンプル動画に決定した動画像データの識別情報等を通知する。出力部130は、例えば、フィルタの識別情報、サンプル動画に決定した動画像データの識別情報、サンプル動画にフィルタを適用した結果等を外部装置2に送信する。
ステップS8の処理を終えると、サンプル動画抽出部120は、次に、サンプル動画を抽出する処理を続けるか否かを判定する(ステップS9)。サンプル動画を決定していないフィルタがあり処理を続ける場合(ステップS9;YES)、サンプル動画抽出部120は、ステップS1以降の処理を行う。一方、処理を続けない場合(ステップS9;NO)、サンプル動画抽出部120は、サンプル動画の抽出処理を終了する。
上記のサンプル動画の抽出処理を終えた後、フィルタ群192に含まれる各種フィルタを提供する際には、例えば、サンプル動画リスト195を参照し、提供するフィルタ毎にサンプル動画を添付する。
このように、本実施形態に係るサンプル動画の抽出処理では、動画像データにフィルタを適用したときの適用結果(センサ値)と、当該動画像データを再生した動画像における像の時間変化とに基づいて、フィルタの適用結果の例示に適したサンプル画像を決定する。
動画像データに適用するフィルタは、動画像における動体の有無を示す情報や、人の増減を示す情報等のセンサ的な情報を出力するものが多い。そのため、動画像データにフィルタを適用したときの適用結果の変化は、動画像における像に生じた何らかの変化と連動していることが多い。したがって、動画像における像の変化のうちの視覚的にわかりやすい大きな変化のみを抽出し、当該変化とセンサ値の変化との一致度が高い動画像データをサンプル動画とすることで、フィルタの適用結果を視覚的にわかりやすくすることが可能となる。
図6は、人数検知フィルタについてのサンプル動画を抽出する処理におけるビット列の例を示す図である。図6には、上記のサンプル動画の抽出処理により人数検知フィルタについてのサンプル動画を抽出する際に、1つの動画像データ400から生成される2つのビット列の例を示している。
人数検知フィルタについてのサンプル動画を抽出する場合、サンプル動画抽出部120は、動画像データ400を選択し(ステップS2)、当該動画像データ400に人数検知フィルタを適用する(ステップS3)。ステップS3は、サンプル動画抽出部120のフィルタ適用部121が行う。フィルタ適用部121は、動画像データ400を時間方向でN個のフレームF1〜FNに分割し、フレーム毎に、動画像に写っている人の数を検知する処理を行う。フィルタ適用部121は、各フレームF1〜FNから検知した人の数が時系列に並んだセンサ値410を出力する。例えば、センサ値410における1番目の値S1(=0)は、動画像データ400における1番目のフレームF1から検知した人数が0人であること(すなわち人を検知しなかったこと)を示している。また、例えば、センサ値410における3番目の値S3(=4)は、動画像データ400における3番目のフレームF3から検知した人数が1人であることを示している。
センサ値410を出力した後、サンプル動画抽出部120は、センサ値変換ルール193に登録された人数検知フィルタについての変換ルールに従って、センサ値410を第1のビット列420に変換する(ステップS4)。センサ値410を第1のビット列420に変換する処理は、サンプル動画抽出部120のセンサ値変換部122が行う。人数検知フィルタについての変換ルールが図3の変換ルール193Cである場合、センサ値変換部122は、センサ値410に含まれるN個の値のうちの0以外の値を全て「1」に変更する。例えば、センサ値410における3番目の値S3(=4)や5番目の値S5(=2)等は、変換ルールにより「1」に変換される。このため、第1のビット列420における3番目(3桁目)の値Q3や5番目(5桁目)の値Q5は「1」となる。また、例えば、センサ値410における1番目の値S1(=0)は、「0」のままとなる。このため、第1のビット列420における1番目(1桁目)の値Q1は「0」となる。
センサ値410を第1のビット列420に変換した後、サンプル動画抽出部120は、動画像データ400における動画像の時間変化を示す第2のビット列440を生成する(ステップS5)。第2のビット列440を生成する処理は、サンプル動画抽出部120の動画変化検出部123が行う。動画変化検出部123は、まず、既知の検出方法に従って、動画像に写っている像の変化を検出し、動画像の時間変化430を取得する。例えば、動画変化検出部123は、画素のRGB値の変化、オプティカルフロー、テンプレートマッチング、ブロックマッチング、及び背景差分のいずれかに基づいて、動画像データにおけるフレーム間での像の変化の有無を検出する。なお、図6の動画像の時間変化430における「有(大)」及び「有(小)」は、それぞれ、検出した変化が変化量の大きい変化であること、及び検出した変化が変化量の小さい変化であることを意味する。
動画像の時間変化430を取得した後、動画変化検出部123は、例えば、図4の生成ルール3に従って、動画像の時間変化を示す第2のビット列440を生成する。図4の生成ルール3では、動画像の時間変化430における変化が無いことを示す情報、及び変化量が小さい変化であることを示す情報は「0」となり、変化量が大きい変化であることを示す情報は「1」となる。例えば、時間変化430における1番目の値D1(変化が無いことを示す情報)や、3番目の値D3(変化量が小さい変化であることを示す情報)は、それぞれ「0」に変換される。このため、第2のビット列440における1番目(1桁目)の値R1、及び3番目(3桁目)の値R3は、それぞれ「0」となる。また、例えば、時間変化430における5番目の値D5(変化量が大きい変化であることを示す情報)は、生成ルール4により「1」に変換される。このため、第2のビット列440における5番目(5桁目)の値R5は「1」となる。
上記の処理により第1のビット列420と第2のビット列440とを生成した後、サンプル動画抽出部120は、当該2つのビット列420,440の一致度を算出する(ステップS6)。例えば、図6に示した2つのビット列420,440において、値が一致していない桁が、3桁目及び9桁目(すなわち動画像データ400における3番目のフレームF3についての値、及び9番目のフレームF9についての値)の2個のみであるとする。この場合、2つのビット列420,440の一致度は、(N−2)/Nとなる。このため、N=20であれば、2つのビット列420,440の一致度は、0.9(=18/20)となる。
本実施形態のデータ抽出装置1におけるサンプル動画抽出部120は、動画像データ群191に含まれる複数の動画像データのそれぞれで、第1のビット列と第2のビット列とを生成し、ビット列の一致度を算出する。その後、サンプル動画抽出部120は、複数の動画像データのうちの、ビット列の一致度が最大値となる動画像データを、人数検知フィルタについてのサンプル動画に決定する。
図7は、ビット列の一致度が高くなる例を説明する図である。図8は、ビット列の一致度が低くなる例を説明する図である。
人数検知フィルタは、上記のように、動画像に写っている人の数を検知するフィルタである。このため、人数検知フィルタの効果を視覚的にわかりやすくするには、人数検知フィルタの適用結果を例示するサンプル動画として、人の数の変化が多い動画を選ぶことが好ましい。このため、動画像の時間変化を示す第2のビット列を生成する際の変化量についての閾値TH2は、例えば、動画像内の人の数の変化が小さい場合には第2のビット列における値が「0」となるような値に設定することが好ましい。
図7に示したセンサ値411は、動画像における5番目から8番目までのフレームF5〜F8において、フレームが変わる毎に検知した人数が2人以上変化している(すなわち検知した人数が大きく変化している)。ここで、図3の変換ルール193Cに従ってセンサ値411を第1のビット列421に変換すると、第1のビット列421における5桁目から8桁目まで値は全て「1」となる。また、動画像の時間変化を示す第2のビット列441を生成する際の変化量についての閾値TH2が、人数が2人以上変化した場合に「1」となるような値であるとすると、第2のビット列441における5桁目から8桁目まで値は全て「1」となる。
図7の第1のビット列421と第2のビット列441とを比較すると、3桁目及び12桁目の2つの桁で、値が不一致となっている。このため、図7の第1のビット列421と第2のビット列441との一致度は、0.86(≒12/14)となる。
これに対し、図8に示したセンサ値412では、検知した人数に変化があるものの、隣り合うフレーム間で人数が2人以上変化している箇所は少ない。このため、センサ値412を変換した第1のビット列422は図7の第1のビット列421と同一であるが、動画像の時間変化を示す第2のビット列442は、図7の第2のビット列441との差異が大きい。例えば、図7の第2のビット列441では6桁目から8桁目までの値が「1」となっているが、図8の第2のビット列442における6桁目から8桁目までの値はいずれも「0」となっている。図8の第1のビット列422と第2のビット列442とを比較すると、値が不一致である桁が6個となっている。このため、図8の第1のビット列422と第2のビット列442との一致度は、0.57(≒8/14)となる。
本実施形態のサンプル動画の抽出処理では、上記のように、第1のビット列と第2のビット列との一致度が最大値となる動画像データをサンプル動画に決定する。人数検知フィルタを適用することにより図7のセンサ値411が出力される第1の動画像データと、図8のセンサ値412が出力される第2の動画像データとでは、第1の動画像データのほうがビット列の一致度が大きい。このため、本実施形態に係るサンプル動画の抽出処理では、第1の動画像データと第2の動画像データとのうちの第1の動画像データが、人数検知フィルタについてのサンプル動画となる。
人数検知フィルタの効果を視覚的に把握する場合、動画像における人数の変化の度合いが大きいほうが把握しやすい。そして、人数検知フィルタを適用することにより図7のセンサ値411が出力される第1の動画像データと、図8のセンサ値412が出力される第2の動画像データとでは、第1の動画像データのほうが人数の変化の度合いが大きい。このため、第1の動画像データと第2の動画像データとでは、第1の動画像データのほうが人数検知フィルタの効果(適用結果)を例示するサンプル動画に適しているといえる。すなわち、本実施形態に係るサンプル動画の抽出処理では、複数の動画像データのなかから、フィルタの適用結果が動画像の時間変化における大きな変化と連動している動画像データを容易に抽出することが可能となる。そのため、本実施形態によれば、人数検知フィルタの適用対象である複数の動画像データのなかから、フィルタの効果の例示に適したサンプル動画を容易に抽出することが可能となる。
また、人数検知フィルタとは別のフィルタ(例えば、動体検出フィルタや顔検出フィルタ)についてのサンプル動画を抽出する場合も、同様の処理を行うことにより、フィルタの効果の例示に適したサンプル動画を容易に抽出することが可能となる。
図9は、動体検出フィルタについてのサンプル動画を抽出する処理におけるビット列の例を示す図である。図9には、上記のサンプル動画の抽出処理により動体検出フィルタについてのサンプル動画を抽出する際に、1つの動画像データ405から生成される2つのビット列の例を示している。
動体検出フィルタについてのサンプル動画を抽出する場合、サンプル動画抽出部120のフィルタ適用部121は、動画像データ405を選択し(ステップS2)、当該動画像データ405に動体検出フィルタを適用する(ステップS3)。フィルタ適用部121は、動画像データ405を時間方向でN個のフレームF1〜FNに分割し、フレーム毎に、動画像に写っている動体を検出する処理を行う。フィルタ適用部121は、各フレームF1〜FNに対する動体の検出結果(すなわち検出結果を示すN個の値)が時系列に並んだセンサ値415を出力する。センサ値415において、「有」は動体が検出されたことを示しており、「無」は動体が検出されなかったことを示している。例えば、センサ値415における1番目の値S1は「有」となっており、動画像データ405における1番目のフレームF1から動体が検出されたことを示している。また、例えば、センサ値415における5番目の値S5は「無」となっており、動画像データ405における5番目のフレームF5からは動体が検出されなかったことを示している。
センサ値415を出力すると、次に、サンプル動画抽出部120のセンサ値変換部122が、センサ値変換ルール193に登録された動体検出フィルタについての変換ルールに従って、センサ値415を第1のビット列425に変換する(ステップS4)。変換ルールが図3の変換ルール193Bである場合、センサ値変換部122は、センサ値415に含まれるN個の値のうちの、動体が検出されなかったことを示す値(無)を「0」に変換し、動体が検出されたことを示す値(有)を「1」に変換する。例えば、センサ値415における5番目の値S5は、変換ルールにより「0」に変換される。このため、第1のビット列425における5番目(5桁目)の値Q5は「0」となる。また、例えば、センサ値415における1番目の値S1、10番目の値S10は、それぞれ「1」に変換される。このため、第1のビット列425における1番目(1桁目)の値Q1及び10番目(10桁目)の値Q10は、それぞれ「1」となる。
センサ値415を第1のビット列425に変換すると、次に、サンプル動画抽出部120の動画変化検出部123が、動画像データ405における動画像の時間変化を示す第2のビット列445を生成する(ステップS5)。動画変化検出部123は、まず、既知の検出方法に従って、動画像に写っている像の変化を検出し、動画像の時間変化435を取得する。なお、図9の動画像の時間変化435における「有(大)」及び「有(小)」は、それぞれ、検出した変化が変化量の大きい変化であること、及び検出した変化が変化量の小さい変化であることを意味する。
動画像の時間変化435を取得した後、動画変化検出部123は、例えば、図4の生成ルール3に従って、動画像の時間変化を示す第2のビット列445を生成する。図4の生成ルール3では、動画像の時間変化435における変化が無いことを示す値、及び変化量が小さい変化であることを示す値は「0」となり、変化量が大きい変化であることを示す値は「1」となる。例えば、時間変化435における1番目の値D1や3番目の値D3は、それぞれ「1」に変換される。このため、第2のビット列445における1番目(1桁目)の値R1や3番目(3桁目)の値R3は「1」となる。また、例えば、時間変化435における5番目の値D5や、10番目の値D10は、それぞれ「0」に変換される。このため、第2のビット列445における5番目(5桁目)の値R5や10番目(10桁目)の値R10は、それぞれ「0」となる。
上記の処理により第1のビット列425と第2のビット列445とを生成すると、次に、サンプル動画抽出部120のスコア算出部124が、当該2つのビット列425,445の一致度を算出する(ステップS6)。例えば、図9に示した2つのビット列425,445において、値が一致していない桁が、10桁目(すなわち動画像データ405における10番目のフレームF10についての値)の1個のみであるとする。この場合、2つのビット列425,445の一致度は、(N−1)/Nとなる。このため、N=20であれば、2つのビット列425,445の一致度は、0.95(=19/20)となる。
本実施形態のデータ抽出装置1におけるサンプル動画抽出部120は、動画像データ群191に含まれる複数の動画像データのそれぞれで、第1のビット列と第2のビット列とを生成し、ビット列の一致度を算出する。その後、サンプル動画抽出部120は、複数の動画像データのうちの、ビット列の一致度が最大値となる動画像データを、動体検出フィルタについてのサンプル動画に決定する。
例えば、図9の動画像データ405と類似した第3の動画像データでは、1番目のフレームF1及び2番目のフレームF2で検出される動体の位置及び数がほぼ同じであるとする。この場合、動体検出フィルタは2番目のフレームF2から動体を検出する。このため、第3の動画像データについての第1のビット列における2番目(2桁目)の値Q2は「1」となる。これに対し、第3の動画像データについての動画像の時間変化における2番目の値D2は「変化が無いことを示す値」又は「変化量が小さいことを示す値」となる。このため、第3の動画像データについての第2のビット列における2番目(2桁目)の値R2は「0」となる。ここで、第3の動画像データについての第1のビット列及び第2のビット列における各桁の値が、第2のビット列の2桁目の値を除き、図9の第1のビット列425及び第2のビット列445の各桁の値と同一であるとする。この場合、第3の動画像データについての2つのビット列において値が一致していない桁の数は、2個となる。よって、第3の動画像データについての2つのビット列の一致度は0.9(=18/20)に低下する。したがって、本実施形態に係るサンプル動画の抽出方法では、図9の動画像データ405と第3の動画像データとのうちの、ビット列の一致度の高い図9の動画像データ405が、動体検出フィルタについてのサンプル動画となる。
動体検出フィルタは、上記のように、動画像に写っている動体を検出するフィルタである。このため、動体検出フィルタの効果を視覚的に把握する場合、動画像における動体の位置や数の変化が大きいほうが把握しやすい。そして、動体検出フィルタを適用することにより図9のセンサ値415が出力される動画像データ405と、上記の第3の動画像データとでは、2番目のフレームF2における変化量が大きい分、動画像データ405のほうが動体の変化の度合いが大きい。このため、図9の動画像データ405と第3の動画像データとでは、図9の動画像データ405のほうが動体検知フィルタの効果(適用結果)を例示するサンプル動画に適しているといえる。そのため、本実施形態によれば、動体検出フィルタの適用対象である複数の動画像データのなかから、フィルタの効果の例示に適したサンプル動画を容易に抽出することが可能となる。
図10は、顔検出フィルタについてのサンプル動画を抽出する処理におけるビット列の例を示す図である。図10には、上記のサンプル動画の抽出処理により顔検出フィルタについてのサンプル動画を抽出する際に、1つの動画像データ406から生成される2つのビット列の例を示している。
顔検出フィルタについてのサンプル動画を抽出する場合、サンプル動画抽出部120のフィルタ適用部121は、動画像データ406を選択し(ステップS2)、当該動画像データ406に顔検出フィルタを適用する(ステップS3)。フィルタ適用部121は、動画像データ406を時間方向でN個のフレームF1〜FNに分割し、フレーム毎に、動画像に写っている人の顔を検出する処理を行う。フィルタ適用部121は、各フレームF1〜FNに対する顔の検出結果(すなわち検出結果を示すN個の値)が時系列に並んだセンサ値416を出力する。センサ値416において、「有」は顔が検出されたことを示しており、「無」は顔が検出されなかったことを示している。例えば、センサ値416における1番目の値S1は「無」となっており、動画像データ406における1番目のフレームF1からは顔が検出されなかったことを示している。また、例えば、センサ値416における6番目の値S6は「有」となっており、動画像データ406における6番目のフレームF6から顔が検出されたことを示している。
センサ値416を出力すると、次に、サンプル動画抽出部120のセンサ値変換部122が、センサ値変換ルール193に登録された顔検出フィルタについての変換ルールに従って、センサ値416を第1のビット列426に変換する(ステップS4)。変換ルールが図3の変換ルール193Aである場合、センサ値変換部122は、センサ値416に含まれるN個の値のうちの、顔が検出されなかったことを示す値(無)を「0」に変換し、顔が検出されたことを示す値(有)を「1」に変換する。例えば、センサ値416における1番目の値S1は、「0」に変換される。このため、第1のビット列426における1番目(1桁目)の値Q1は「0」となる。また、例えば、センサ値416における6番目の値S6、8番目の値S10は、それぞれ「1」に変換される。このため、第1のビット列425における1番目(1桁目)の値Q1及び10番目(10桁目)の値Q10は、それぞれ「1」となる。
センサ値416を第1のビット列426に変換すると、次に、サンプル動画抽出部120の動画変化検出部123が、動画像データ406における動画像の時間変化を示す第2のビット列446を生成する(ステップS5)。動画変化検出部123は、まず、既知の検出方法に従って、動画像に写っている像の変化を検出し、動画像の時間変化436を取得する。なお、図10の動画像の時間変化436における「有(大)」及び「有(小)」は、それぞれ、検出した変化が変化量の大きい変化であること、及び検出した変化が変化量の小さい変化であることを意味する。
動画像の時間変化436を取得した後、動画変化検出部123は、例えば、図4の生成ルール3に従って、動画像の時間変化を示す第2のビット列446を生成する。図4の生成ルール3では、動画像の時間変化436における変化が無いことを示す値、及び変化量が小さい変化であることを示す値は「0」となり、変化量が大きい変化であることを示す値は「1」となる。例えば、時間変化436における6番目の値D6は、「1」に変換される。このため、第2のビット列446における6番目(6桁目)の値R6は「1」となる。また、例えば、時間変化436における1番目の値D1や、8番目の値D8は、それぞれ「0」に変換される。このため、第2のビット列446における1番目(1桁目)の値R1や8番目(8桁目)の値R8は、それぞれ「0」となる。
上記の処理により第1のビット列426と第2のビット列446とを生成すると、次に、サンプル動画抽出部120のスコア算出部124が、当該2つのビット列426,446の一致度を算出する(ステップS6)。例えば、図10に示した2つのビット列426,446において、値が一致していない桁が、3桁目から5桁目、及び8桁目から10桁目(すなわち動画像データ406におけるフレームF3〜F5、及びF8〜F10ついての値)の6個であるとする。この場合、2つのビット列426,446の一致度は、(N−6)/Nとなる。このため、N=20であれば、2つのビット列426,446の一致度は、0.7(=14/20)となる。
本実施形態のデータ抽出装置1におけるサンプル動画抽出部120は、動画像データ群191に含まれる複数の動画像データのそれぞれで、第1のビット列と第2のビット列とを生成し、ビット列の一致度を算出する。その後、サンプル動画抽出部120は、複数の動画像データのうちの、ビット列の一致度が最大値となる動画像データを、顔検出フィルタについてのサンプル動画に決定する。
例えば、図10の動画像データ406と類似した第4の動画像データでは、2番目のフレームF2及び3番目のフレームF3で検出される顔の位置や数が大きく異なっているとする。この場合、動体検出フィルタは3番目のフレームF3から顔を検出する。このため、第4の動画像データについての第1のビット列における3番目(3桁目)の値Q3は「1」となる。また、第4の動画像データについての動画像の時間変化における3番目の値D3は「変化量が大きいことを示す値」となる。このため、第4の動画像データについての第2のビット列における3番目(3桁目)の値R3は「1」となる。ここで、第4の動画像データについての第1のビット列及び第2のビット列における各桁の値が、第2のビット列の3桁目の値を除き、図10の第1のビット列426及び第2のビット列446の各桁の値と同一であるとする。この場合、第4の動画像データについての2つのビット列において値が一致していない桁の数は、5個となる。よって、第4の動画像データについての2つのビット列の一致度は0.75(=15/20)に上昇する。したがって、本実施形態に係るサンプル動画の抽出方法では、図10の動画像データ406と第4の動画像データとのうちの、ビット列の一致度が高い第4の動画像データが、顔検出フィルタについてのサンプル動画となる。
顔検出フィルタは、上記のように、動画像に写っている人の顔を検出するフィルタである。このため、顔検出フィルタの効果を視覚的に把握する場合、動画像における顔の位置や数の変化が大きいほうが把握しやすい。そして、顔検出フィルタを適用することにより図10のセンサ値416が出力される動画像データ406と、上記の第4の動画像データとでは、3番目のフレームF3における変化量が大きい分、第4の動画像データのほうが動体の変化の度合いが大きい。このため、図10の動画像データ406と第4の動画像データとでは、第4の動画像データのほうが顔検知フィルタの効果(適用結果)を例示するサンプル動画に適しているといえる。そのため、本実施形態によれば、顔検出フィルタの適用対象である複数の動画像データのなかから、フィルタの効果の例示に適したサンプル動画を容易に抽出することが可能となる。
以上説明したように、本実施形態によれば、フィルタの適用対象である複数の動画像データのなかから、フィルタの適用結果の例示に適したサンプル動画を容易に抽出することが可能となる。
なお、図3のセンサ値変換ルール193は、動画像データにフィルタを適用して得られるセンサ値をビット列に変換する際のルールの一例に過ぎない。本実施形態に係るサンプル動画の抽出処理において参照するセンサ値変換ルール193は、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。また、人数検知フィルタ192A、動体検出フィルタ192B、及び顔検出フィルタ193とは異なる別のフィルタがフィルタ群192に含まれる場合には、当該別のフィルタにより検出、検知する情報に応じた変換ルールをセンサ値変換ルール193に登録する。
また、図4の生成ルールは、動画像の時間変化を表すビット列の生成ルールの一例に過ぎない。本実施形態に係るサンプル動画の抽出処理における生成ルールは、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。加えて、動画像の時間変化を表すビット列の生成ルールは、共通の1つのルールに限らず、適用するフィルタ毎に異なるルールを設定してもよい。
更に、図5のフローチャートは、本実施形態に係るサンプル動画の抽出処理の一例に過ぎない。本実施形態に係るサンプル動画の抽出処理は、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。例えば、動画像データにフィルタを適用し、適用結果(センサ値)をビット列に変換する処理(ステップS3及びS4)と、動画像の時間変化を示すビット列を生成する処理(ステップS5)とは、処理の順番が逆であってもよいし、並列に行ってもよい。他にも、ビット列の一致度に基づいてサンプル動画を決定する処理(ステップS7)は、例えば、ビット列の一致度が閾値以上となる動画像データの全てをサンプル動画としてもよい。
また、サンプル動画の抽出処理は、例えば、ビット列の一致度が最大値となる動画像データが複数存在する場合に、ビット列における「0」及び「1」の各値が定期的に継続している動画像データをサンプル動画に決定する処理を含むものであってもよい。ビット列における「0」及び「1」の各値が定期的に継続しているか否かの評価は、例えば、ビット列を任意の時間間隔に分割して分散を算出し、全間隔の分散値に基づいて行う。分散を算出する間隔は、例えば、適当な期間内における「0」の期間と「1」の期間との時間平均に基づいて決定する。
また、動画像データにフィルタを適用する際には、例えば、適用するフィルタに応じて動画像データの分割数(フレーム数)を変更してもよい。例えば、適用結果(センサ値)の算出に要する時間が長いフィルタを適用する場合には、動画像データのフレーム数を少なくすることにより、サンプル動画を決定するまでに要する処理時間を短縮することが可能となる。
加えて、本実施形態で説明した動画像データに適用するフィルタについてのサンプル動画を抽出する装置及び抽出処理は、メディアデータに適用するフィルタについてのサンプルデータを抽出する装置及び抽出処理の一例に過ぎない。メディアデータは、例えば、音声データや静止画像等であってもよい。
上記の実施形態に係るデータ抽出装置1は、コンピュータと、該コンピュータに実行させるプログラムとにより実現可能である。以下、図11を参照して、コンピュータとプログラムとにより実現されるデータ抽出装置1について説明する。
図11は、コンピュータのハードウェア構成を示す図である。
図11に示すように、コンピュータ9は、プロセッサ901と、主記憶装置902と、補助記憶装置903と、入力装置904と、出力装置905と、入出力インタフェース906と、通信制御装置907と、媒体駆動装置908と、を備える。コンピュータ9におけるこれらの要素901〜908は、バス910により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
プロセッサ901は、Central Processing Unit(CPU)やMicro Processing Unit(MPU)等である。プロセッサ901は、オペレーティングシステムを含む各種のプログラムを実行することにより、コンピュータ9の全体の動作を制御する。また、プロセッサ901は、例えば、図5のフローチャートにおけるステップS1〜S9の処理を含むデータ抽出プログラムを実行する。
主記憶装置902は、図示しないRead Only Memory(ROM)及びRandom Access Memory(RAM)を含む。主記憶装置902のROMには、例えば、コンピュータ9の起動時にプロセッサ901が読み出す所定の基本制御プログラム等が予め記録されている。一方、主記憶装置902のRAMは、プロセッサ901が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。主記憶装置902のRAMは、例えば、センサ値変換ルール193、センサ値、ビット列、スコアデータ194、サンプル動画リスト195等の記憶に利用可能である。
補助記憶装置903は、主記憶装置902のRAMと比べて容量の大きい記憶装置であり、例えば、Hard Disk Drive(HDD)や、フラッシュメモリのような不揮発性メモリ(Solid State Drive(SSD)を含む)等である。補助記憶装置903は、プロセッサ901によって実行される各種のプログラムや各種のデータ等の記憶に利用可能である。補助記憶装置903は、例えば、図5のフローチャートにおけるステップS1〜S9の処理を含むデータ抽出プログラムの記憶に利用可能である。また、補助記憶装置903は、例えば、動画像データ群191、フィルタ群192、センサ値変換ルール193、センサ値、ビット列、スコアデータ194、サンプル動画リスト195等の記憶に利用可能である。
入力装置904は、例えば、キーボード装置やタッチパネル装置等である。コンピュータ9のオペレータ(利用者)が入力装置904に対して所定の操作を行うと、入力装置904は、その操作内容に対応付けられている入力情報をプロセッサ901に送信する。入力装置904は、例えば、サンプル動画を抽出する処理の開始命令の入力、センサ値変換ルール193の入力、編集等に利用可能である。
出力装置905は、例えば、液晶表示装置等の表示装置やプリンタ等の印刷装置である。出力装置905は、コンピュータ9の動作状況、サンプル動画リスト195の表示や印刷、フィルタの適用結果の表示等に利用可能である。
入出力インタフェース906は、コンピュータ9と、他の電子機器とを接続する。入出力インタフェース906は、例えば、Universal Serial Bus(USB)規格のコネクタや、映像入力端子等を備える。入出力インタフェース906は、例えば、コンピュータ9と、デジタルビデオカメラ等の撮像装置、外部装置2との接続に利用可能である。
通信制御装置907は、コンピュータ9をインターネット等のネットワークに接続し、ネットワークを介したコンピュータ9と他の通信機器との各種通信を制御する装置である。通信制御装置907は、例えば、外部装置2で収集した動画像データや、外部装置2で作成した各種フィルタをコンピュータ9に送信することに利用可能である。
媒体駆動装置908は、可搬型記憶媒体10に記録されているプログラムやデータの読み出し、補助記憶装置903に記憶されたデータ等の可搬型記憶媒体10への書き込みを行う。媒体駆動装置908には、例えば、1種類又は複数種類の規格に対応したメモリカード用リーダ/ライタが利用可能である。媒体駆動装置908としてメモリカード用リーダ/ライタを用いる場合、可搬型記憶媒体10としては、メモリカード用リーダ/ライタが対応している規格、例えば、Secure Digital(SD)規格のメモリカード(フラッシュメモリ)等を利用可能である。また、可搬型記録媒体10としては、例えば、USB規格のコネクタを備えたフラッシュメモリが利用可能である。更に、コンピュータ9が媒体駆動装置908として利用可能な光ディスクドライブを搭載している場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体10として利用可能である。可搬型記録媒体10として利用可能な光ディスクには、例えば、Compact Disc(CD)、Digital Versatile Disc(DVD)、Blu-ray Disc(登録商標)等がある。可搬型記録媒体10は、例えば、図5のフローチャートにおけるステップS1〜S9の処理を含むデータ抽出プログラムの記憶に利用可能である。また、可搬型記録媒体10は、例えば、動画像データ群191、フィルタ群192、センサ値変換ルール193、センサ値、ビット列、スコアデータ194、サンプル動画リスト195等の記憶に利用可能である。
例えば、入力装置904や外部装置2からコンピュータ9にサンプル動画を抽出する処理の開始命令が入力されると、プロセッサ901が、補助記憶装置903等の非一時的な記録媒体に記憶させたデータ抽出プログラムを読み出して実行する。データ抽出プログラムの実行中、コンピュータ9は、動画像データにフィルタを適用して第1のビット列を生成する処理、動画像の時間変化を示す第2のビット列を生成する処理、ビット列の一致度を算出する処理、一致度に基づいてサンプル動画を決定する処理を行う。コンピュータ9においてデータ抽出プログラムを実行している間、プロセッサ901は、データ抽出装置1における入力受付部110、サンプル動画抽出部120、及び出力部130として機能する(動作する)。また、コンピュータ9においてデータ抽出プログラムを実行している間、主記憶装置902のRAMや補助記憶装置903等は、データ抽出装置1における記憶部190として機能する。
なお、データ抽出装置1として動作させるコンピュータ9は、図11に示した全ての要素901〜908を含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、コンピュータ9は、媒体駆動装置908が省略されたものであってもよい。また、データ抽出装置1として動作させるコンピュータ9は、例えば、Digital Signal Processor(DSP)等のプロセッサ901とは別のプロセッサを含み、当該別のプロセッサで動画像データにフィルタを適用する処理等の一部を行うものであってもよい。
以上記載した実施形態に関し、更に以下の付記を開示する。
(付記1)
メディアデータに含まれる所定の情報を検出するフィルタをメディアデータに適用して適用結果を出力するフィルタ適用部と、
前記メディアデータに対する前記フィルタの適用結果を第1のビット列に変換する変換部と、
前記メディアデータの内容の時間変化を検出し、当該時間変化を示す第2のビット列を生成する検出部と、
1つのメディアデータについての前記第1のビット列と、前記第2のビット列との一致度を算出するスコア算出部と、
複数のメディアデータのそれぞれにおける前記第1のビット列と前記第2のビット列との一致度に基づいて、前記複数のメディアデータのなかから、前記フィルタの適用結果を例示するメディアデータを決定して抽出するサンプル決定部と、
を備えることを特徴とするデータ抽出装置。
(付記2)
前記サンプル決定部は、前記複数のメディアデータのうちの、前記一致度が最大値となるメディアデータを、前記フィルタの適用結果を例示する前記メディアデータに決定する、
ことを特徴とする付記1に記載のデータ抽出装置。
(付記3)
前記サンプル決定部は、前記複数のメディアデータのうちの、前記一致度が閾値以上となるメディアデータを、前記フィルタの適用結果を例示する前記メディアデータに決定する、
ことを特徴とする付記1に記載のデータ抽出装置。
(付記4)
前記サンプル決定部は、前記一致度に基づいて決定される前記メディアデータが複数である場合に、該複数のメディアデータのそれぞれについての、前記第1のビット列又は前記第2のビット列におけるビットの値の並び順に基づいて、前記フィルタの適用結果を例示する前記メディアデータを決定する、
ことを特徴とする付記1に記載のデータ抽出装置。
(付記5)
前記データ抽出装置は、前記フィルタと、前記フィルタの適用結果に含まれる値と、前記第1のビット列におけるビットの値との対応関係を示す変換ルールを記憶する記憶部、を更に備え、
前記変換部は、前記メディアデータに適用した前記フィルタについての前記変換ルールに従って、前記フィルタの適用結果を前記第1のビット列に変換する、
ことを特徴とする付記1に記載のデータ抽出装置。
(付記6)
前記検出部は、前記メディアデータの内容の時間変化における変化量の大きさと、前記第2のビット列におけるビットの値との対応関係を示す生成ルールに従って、前記第2のビット列を生成する、
ことを特徴とする付記1に記載のデータ抽出装置。
(付記7)
前記生成ルールは、前記メディアデータの内容に変化があり、かつ前記変化量が閾値以上であるか否かにより前記ビットの値を決定するルールである、
ことを特徴とする付記6に記載のデータ抽出装置。
(付記8)
前記サンプル決定部は、前記フィルタと、該フィルタの適用結果を例示する前記メディアデータとの対応関係を示すサンプルリストを作成する、
ことを特徴とする付記1に記載のデータ抽出装置。
(付記9)
前記メディアデータは、動画像データであり、
前記フィルタは、前記動画像データを再生した動画像における人の数を検知する人数検知フィルタ、前記動画像における動体を検出する動体検出フィルタ、及び前記動画像における人の顔を検出する顔検出フィルタのいずれかを含む、
ことを特徴とする付記1に記載のデータ抽出装置。
(付記10)
コンピュータが、
メディアデータに含まれる所定の情報を検出するフィルタをメディアデータに適用し、前記メディアデータに対する前記フィルタの適用結果を第1のビット列に変換するとともに、前記メディアデータの内容の時間変化を検出して当該時間変化を示す第2のビット列を生成し、
1つの前記メディアデータについての前記第1のビット列と、前記第2のビット列との一致度を算出し、
複数のメディアデータのそれぞれについての前記第1のビット列と前記第2のビット列との一致度に基づいて、前記複数のメディアデータのなかから、前記フィルタの適用結果を例示するメディアデータを決定して抽出する、
処理を実行することを特徴とするデータ抽出方法。
(付記11)
前記第1のフィルタの適用結果を前記第1のビット列に変換する処理において、前記コンピュータは、前記フィルタの適用結果に含まれる値と、前記第1のビット列におけるビットの値との対応関係を示す変換ルールに従って、前記フィルタの適用結果を前記第1のビット列に変換する、
ことを特徴とする付記10に記載のデータ抽出方法。
(付記12)
前記第2のビット列を生成する処理において、前記コンピュータは、前記メディアデータの内容の時間変化において前記内容に変化があり、かつ前記変化量が閾値以上となる部分であるか否かに基づいて、前記第2のビット列における各桁の値を決定する、
ことを特徴とする付記10に記載のデータ抽出方法。
(付記13)
前記コンピュータが、
複数の前記フィルタのそれぞれについての、前記フィルタの適用結果を例示する前記メディアデータを決定し、
前記フィルタと、該フィルタの適用結果を例示する前記メディアデータとの対応関係を示すサンプルリストを作成する、
処理を実行することを特徴とする付記10に記載のデータ抽出方法。
(付記14)
前記メディアデータは、動画像データであり、
前記フィルタは、前記動画像データを再生した動画像における人の数を検知する人数検知フィルタ、前記動画像における動体を検出する動体検出フィルタ、及び前記動画像における人の顔を検出する顔検出フィルタのいずれかを含む、
ことを特徴とする付記10に記載のデータ抽出方法。