以下、本発明の一実施形態について図面を参照して説明する。なお、以下の説明において、図面中の文字は、下記の置き換え表に従って置き換えて記載する。
本発明の一実施形態による特徴量算出装置1は、コンテンツ(マルチメディアコンテンツ、動画データ、動画コンテンツとも称する)からコンテンツの識別、認識、検索などに適用する、当該コンテンツ特有の特徴量を抽出する。特徴量算出装置1は、図1に示すように、コンテンツ取得部10、キーフレーム検出部20、特徴量算出対象領域抽出部30、特徴量算出部40を備える。
コンテンツ取得部10は、外部からコンテンツを取得(入力)する。コンテンツ取得部10は、コンテンツを取得した場合、当該コンテンツの映像信号をキーフレーム検出部20に供給する。
より詳細には、図2(a)に示すように、コンテンツ取得部10は、取得コンテンツが映像信号に他の信号(例えば、音声信号、データ信号)が多重化されているコンテンツであるか否かを判断する(ステップS10)。コンテンツ取得部10は、多重化されているコンテンツであると判断した場合(ステップS10:Yes)、当該コンテンツの映像信号のみを逆多重化する(ステップS11)。一方、コンテンツ取得部10は、多重化されているコンテンツでないと判断した場合(ステップS10:No)、ステップS10を省略する。コンテンツ取得部10は、映像信号をキーフレーム検出部20に供給する。
キーフレーム抽出部20は、コンテンツ取得部10から取得したコンテンツ(映像信号)から映像中のショットの切り替わり点(以下、「瞬時カット点」という)を検出し、各瞬時カット点を基準に瞬時カット点毎に2枚のフレームをキーフレームとしてコンテンツから抽出する。例えば、キーフレーム抽出部20は、各瞬時カット点の直前、直後の隣接する2枚のフレーム(以下、「隣接ペアフレーム」とも称する)をキーフレームとして抽出する。キーフレーム抽出部20は、各瞬時カット点から抽出した2枚のキーフレーム(以下、「キーフレームペア」とも称する)を特徴量算出対象領域抽出部30に供給する。
より詳細には、図2(b)に示すように、キーフレーム抽出部20は、取得コンテンツ(映像信号)を解析し、瞬時カット点を検出する(ステップS20)。なお、キーフレーム抽出部20は、相互に著しく異なる画像特徴を有する隣接するフレーム同士を検出することによって、瞬時カット点を検出する。換言すれば、キーフレーム抽出部20は、隣接プレームペアを構成する各フレーム同士が相互に著しく異なる画像特徴を有するような点を瞬時カット点として検出する。例えば、キーフレーム抽出部20は、特許文献3、4、非特許文献2のような手法を利用する。瞬時カット点を検出したキーフレーム抽出部20は、各瞬時カット点の隣接ペアフレームをキーフレームペアとして抽出し(ステップS21)、特徴量算出対象領域抽出部30に供給する。
なお、キーフレーム抽出部20は、隣接ペアフレームに代えて、所定枚数離れた2枚のフレームをキーフレームペアとして抽出してもよい。例えば、隣接プレームペアを構成する各フレームがf番目、f+1番目のフレームであるとき、f−K番目、f+K+1番目のフレーム(Kは非負整数)をキーフレームペアとして抽出してもよい。なお、キーフレーム抽出部20は、キーフレームペアとして、隣接フレームペアを抽出するか否かに関わらず、f番目のフレームの時刻情報を特徴量算出対象領域抽出部30に供給する。
特徴量算出対象領域抽出部30は、キーフレーム抽出部20によって抽出された2枚のキーフレーム(キーフレームペア)から特徴量を算出する対象の領域(以下、「特徴量算出対象領域」という)を抽出する。
例えば、特徴量算出対象領域抽出部30は、2枚のキーフレームのそれぞれ(キーフレームペアを構成する各キーフレーム)から独立に特徴量算出対象領域として、特徴領域を抽出する。
また、特徴量算出対象領域抽出部30は、2枚のキーフレーム全体を特徴量算出対象領域として抽出してもよい。即ち、キーフレームペアを構成する各キーフレームについて、キーフレーム全体を特徴量算出対象領域として取り扱ってもよい。
また、特徴量算出対象領域抽出部30は、2枚のキーフレームの一方のキーフレーム(キーフレームペアを構成する一方のキーフレーム)の特徴量算出対象領域として、当該一方のキーフレームから特徴領域を抽出するとともに、当該一方のキーフレームから抽出した特徴領域に基づいて、当該2枚のキーフレームの他方のキーフレーム(当該キーフレームペアを構成する他方のキーフレーム)の特徴量算出対象領域を他方のキーフレームから抽出してもよい。
また、特徴量算出対象領域抽出部30は、2枚のキーフレーム(キーフレームペア)の各キーフレーム(キーフレームペアを構成する自キーフレーム)から、特徴量算出対象領域として特徴領域をそれぞれ抽出するとともに、2枚のキーフレーム(キーフレームペア)の各キーフレーム(キーフレームペアを構成する自キーフレーム)から、他方のキーフレーム(当該キーフレームペアを構成する他キーフレーム)から抽出した特徴領域に基づいて更に特徴量算出対象領域を抽出してもよい。
なお、特徴量算出対象領域抽出部30は、2枚のキーフレームの一のキーフレーム(キーフレームペアを構成する一のキーフレーム)から抽出した特徴領域と同一位置の領域を、当該2枚のキーフレームの他のキーフレーム(当該キーフレームペアを構成する他キーフレーム)の特徴量算出対象領域として抽出する。但し、特徴量算出対象領域抽出部30は、一のキーフレームから抽出した特徴領域と同一位置の領域を他のキーフレームの特徴量算出対象領域として抽出することに代えて、所定の座標変換式(例えば、平行移動)を利用して、一のキーフレームから抽出した特徴領域を座標変換した領域を他のキーフレームの特徴量算出対象領域として抽出してもよい。
特徴量算出対象領域抽出部30は、抽出した特徴量算出対象領域を特徴量算出部40に供給する。なお、上記特徴量算出対象領域は1ピクセル以上であればよい。即ち、1ピクセルである特徴量算出対象点も上記特徴量算出対象領域である。特徴領域に関しても同様である。
なお、特徴量算出対象領域抽出部30は、抽出した特徴量算出対象領域の中から特徴量を算出すべきでない領域を判別し、特徴量を算出すべき特徴量算出対象領域のみを特徴量算出対象領域を特徴量算出部40に供給してもよい。
以下、特徴量算出対象領域抽出部30による、2枚のキーフレームの各キーフレームから、特徴量算出対象領域として特徴領域をそれぞれ抽出するとともに、2枚のキーフレームの各キーフレームから、他方のキーフレームから抽出した特徴領域に基づいて更に特徴量算出対象領域を抽出する処理、および、抽出後の特徴量算出対象領域の中から特徴量を算出すべきでない領域を判別する処理の詳細を説明する。
特徴量算出対象領域抽出部30は、キーフレーム抽出部20から取得した全キーフレームペアを対象に以下の処理を行う。なお、キーフレームIt −、キーフレームIt +は、t番目のキーフレームペアを構成する各キーフレームである。
特徴量算出対象領域抽出部30は、図2(c)に示すように、キーフレームIt −、It +のそれぞれから特徴領域を複数抽出する(ステップS30)。抽出する特徴領域はスケールおよび回転に不変で、アフィン変換にロバストな領域が望ましいが、目的によってはそのようなロバスト性は必要ない場合もある。アフィン変換にロバストな領域の抽出法としては、例えば、非特許文献3、4のような手法が利用可能である。アフィン変換へのロバスト性が求められないような場合では、単純に、Harrisオペレータ等の特徴点検出手法を利用して、その点の周辺領域を固定サイズの円(楕円)や正方形(長方形)で記述してもよい。上述の如く、特徴点を特徴領域として算出してもよい。
特徴領域抽出の結果、キーフレームIt −、It +からそれぞれN個およびM個の特徴領域が抽出されたとする。キーフレームIt −から抽出された領域を領域Rt −[1]、領域Rt −[2]、・・・、領域Rt −[N]とすると、各領域Rt −[i](1≦i≦N)に対応するキーフレームIt +における同一領域Rt +[i]を抽出し、これらの領域のペアをt番目のキーフレームペアの特徴量算出対象領域Rt[i]とする。同様に、キーフレームIt +から抽出された領域を領域Rt +[N+1]、領域Rt +[N+2]、・・・、領域Rt +[N+M]とすると、各領域Rt +[i](N+1≦i≦N+M)に対応するキーフレームIt −における同一領域Rt −[i]を抽出し、これらの領域のペアをt番目のキーフレームペアの特徴量算出対象領域Rt[i]とする。以上の処理により、図3(a)に示すように、t番目のキーフレームペアにはN+M個の特徴量算出対象領域Rt[i](1≦i≦N+M)が抽出される。
続いて、特徴量算出対象領域抽出部30は、各特徴量算出対象領域Rt[i]から特徴量を算出すべきか否かを判断する(ステップS31)。特徴領域として抽出した特徴量算出対象領域Rt −[i](1≦i≦N)および特徴量算出対象領域Rt +[i](N+1≦i≦N+M)は、一般にエッジやblobを含むため、当該特徴量算出対象領域から特徴量を抽出してもよいが、特徴量算出対象領域Rt +[i](1≦i≦N)および特徴量算出対象領域Rt −[i](N+1≦i≦N+M)は、特徴量算出対象領域Rt −[i](1≦i≦N)および特徴量算出対象領域Rt +[i](N+1≦i≦N+M)に対応する領域として単に抽出されたものに過ぎずエッジやblobを含むとは限らないからである。即ち、特徴量算出対象領域Rt +[i](1≦i≦N)および特徴量算出対象領域Rt −[i](N+1≦i≦N+M)は、領域全体が輝度の変動(分散)が少ない平坦領域である可能性がある。即ち、特徴量算出対象領域抽出部30は、特徴量算出対象領域の領域内の輝度の分散に基づいて、当該特徴量算出対象領域が平坦領域であるか否かを判断することによって、当該特徴量算出対象領域から特徴量を算出すべきか否かを判断する。特徴量算出対象領域抽出部30は、当該特徴量算出対象領域から特徴量を算出すべきでないと判断した場合(ステップS31:No)、当該特徴量算出対象領域を特徴量算出部40に供給する対象から除外する(ステップS32)。例えば、特徴量算出対象領域抽出部30は、ステップS30によって抽出した特徴量算出対象領域を全て記憶している一時領域から当該特徴量算出対象領域を消去する。
また、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]が同一の特徴を示す場合がある。例えば、瞬時カットが画面内の一部分の変化によって検出される場合等に生じる。このような場合、特徴量ベクトルが強い相関を有し、特徴量を算出する領域を増やすメリットが薄れるため、このような領域からも特徴量を算出しないようにしてもよい。例えば、特徴量算出対象領域抽出部30は、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]の輝度の平均絶対誤差(MAE)を算出し、平均絶対誤差が所定の閾値以下の場合、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]が相互に似ていると判断し、当該特徴量算出対象領域の少なくとも一方を特徴量算出部40に供給する対象から除外する。
特徴量算出部40は、特徴量算出対象領域抽出部30によって抽出された特徴量算出対象領域から特徴量を算出する。具体的には、特徴量算出部40は、2枚のキーフレームの一方のキーフレームの特徴量算出対象領域の輝度勾配ヒストグラムに基づいて主軸を決定し、当該主軸に基づいて当該2枚のキーフレームの特徴量算出対象領域から特徴量を算出する。
また、特徴量算出部40は、2枚のキーフレームの各キーフレームの特徴量算出対象領域の輝度勾配ヒストグラムに基づいて各主軸を決定し、各主軸に基づいて当該2枚のキーフレームの特徴量算出対象領域から特徴量を算出してもよい。なお、特徴量算出部40は、各主軸がなす角度を特徴量として算出してもよい(特徴量とし角度のみを算出してもよいし、複数の特徴量の1つとして角度を算出してもよい)。
なお、特徴量算出部40は、主軸に直交する方向の輝度勾配ヒストグラムに基づき特徴量算出対象領域を反転するか否かを判断し反転すると判断した場合に、反転後の特徴量算出対象領域から特徴量を算出してもよい。また、特徴量算出部40は、各主軸がなす角度に基づき特徴量算出対象領域を反転するか否かを判断し反転すると判断した場合に、反転後の特徴量算出対象領域から特徴量を算出してもよい。
より詳細には、図2(d)に示すように、特徴量算出部40は、例えば、特徴量算出対象領域抽出部30から取得した特徴量算出対象領域から特徴量ベクトルを抽出する。特徴量としては、例えばMPEG-7で公開されているdominant color、scalable color、color structure、color layout、edge histogram、contour shape等が利用できる。回転、コントラストの変化、輝度のシフト等にロバストな特徴量として非特許文献4で利用されているHOG(histogram of oriented gradient)を利用してもよい。
以下、特徴量算出部40による特徴量の算出処理を、図3(b)を参照し更に説明する。図3(b)は、領域検出に非特許文献4で提案されているHarris-Affine detectorが利用され、特徴量の記述に非特許文献4で利用されているHOGを利用した場合の特徴量の算出処理例である。なお、1≦i≦Nのであるものとする。
まず、特徴量算出部40は、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]を正円化する(ステップS40)。特徴量算出部40は、非特許文献4で行われているように、輝度勾配ヒストグラムを基に特徴量を記述する為の主軸を決定する(ステップS41)。具体的には、特徴量算出部40は、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]のうち、特徴領域として抽出された特徴量算出対象領域(1≦i≦Nであれば特徴量算出対象領域Rt −[i]、N+1≦i≦N+Mであれば特徴量算出対象領域Rt +[i])を対象として、対象とした特徴量算出対象領域から主軸を決定する。なお、特徴量算出部40は、常に、特徴量算出対象領域Rt −[i]または特徴量算出対象領域Rt +[i]の何れか一方を対象としてもよい。また、特徴量算出部40は、常に、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]の双方を対象としてもよい。
主軸を決定した特徴量算出部40は、主軸に沿って固定ブロック数(図3(b)では4×4)で構成されるパッチが作成され、HOG特徴量が抽出される(ステップS42)。また、主軸を基準として、−π<θ<0および0<θ<πとなる方向の輝度勾配ヒストグラム度数の合計をHRおよびHLとすると、常にHR>HLとなるように特徴量算出対象領域Rt −[i]およびRt +[i]を反転させた後にパッチを作成することで、鏡像に不変な特徴量算出対象領域を用いてもよい。
なお、パッチが作成されると、非特許文献4では、4×4のブロックからそれぞれ8次元ベクトルが抽出されるため、合計128次元の特徴ベクトルが作成される。本実施形態では、同様に、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]から128次元の特徴ベクトルが抽出されるため、256次元の特徴ベクトルが作成される。特徴ベクトルの次元が高くなると、特徴量の蓄積コスト及び探索コストが増加することが懸念される場合がある。そのような場合には、パッチを3×3より少ないブロック数としてもよい。3×3の場合には、144次元の特徴ベクトルとなる。これは従来の特徴ベクトルの次元とほとんど変わらないが、パッチの各ブロックのサイズが大きいため、より位置ずれ、回転、その他のノイズにロバストになる。
図3(c)は、特徴量算出部40が特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]の両方から主軸を決定する場合の例である。この場合、特徴量算出部40は、特徴量算出対象領域Rt −[i]および特徴量算出対象領域Rt +[i]において個別に特徴ベクトルを作成する。
なお、特徴量算出部40は、特徴量算出対象領域Rt −[i]の主軸と特徴量算出対象領域Rt +[i]の主軸のなす角度(主軸同士の角度差)θ(−π≦θ<π)を特徴ベクトルとしてもよい。なお、抽出した特徴ベクトルをマッチングするような際には、近い角度差θに絞ってマッチングし、或いは、角度差θによってマッチングデータを格納するデータベースを分類するなどの態様が可能になるため、コンテンツの識別、認識、検索などの処理速度が向上する。
また、特徴量算出部40は、上記角度差θが常に0<θ<πとなるように特徴量算出対象領域Rt −[i]や特徴量算出対象領域Rt +[i]を反転させて、反転後の特徴量算出対象領域から特徴ベクトルを算出してもよい。反転後の特徴量算出対象領域から特徴ベクトルを算出することによって、鏡像に不変(ロバスト)な特徴量を算出することができるようになる。
以上、特徴量算出装置1によれば、時間軸上の一部分を切り出した動画コンテンツ、全体が圧縮ノイズなどによって劣化した動画コンテンツなど従来は正確に識別(検出)できなかった動画コンテンツを、正確に識別することができるようになる。
なお、本発明の一実施形態による特徴量算出装置1の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の一実施形態による特徴量算出装置1の各処理に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。