以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。
図1は、本実施形態の画像処理システム100を示す。画像処理システム100は、描画対象物110と、撮影装置120と、画像処理装置130とを含む。
描画対象物110は、ユーザが文字や図形等を描画または掲示可能なホワイトボードや黒板、紙等の物品である。図1に示す描画対象物110には、ユーザが描画した文字や数字、図形等の画像である描画画像112が描かれている。
撮影装置120は、描画対象物110を撮影して撮影画像を生成する装置である。本実施形態では、動画撮影が可能なデジタルビデオカメラを撮影装置120として採用することができ、撮影装置120は、描画対象物110の撮影対象領域132を撮影して得られた撮影画像を構成する一連の画像フレームを画像処理装置130に連続して提供する。
本実施形態の画像処理システム100では、画像処理装置130と撮影装置120とが、USBケーブル等により直接的に接続されているが、他の実施形態では、LAN等のネットワークを介して相互接続してもよい。
画像処理装置130は、撮影装置120から提供される撮影画像の画像フレームを処理して、出力すべき描画画像を含む画像フレームであるキーフレームを抽出し、画像処理装置130の表示装置等に出力して表示させる装置である。本実施形態では、画像処理装置130は、ノート型やデスクトップ型等のパーソナルコンピュータを採用することができる。
画像処理装置130は、PENTIUM(登録商標)プロセッサまたは互換プロセッサを搭載し、WINDOWS(登録商標)シリーズ、MAC(登録商標)OS、UNIX(登録商標)、LINUX(登録商標)などのOSの管理下で、アセンブラ、C、C++、Java(登録商標)、JavaScript(登録商標)、PERL、RUBY、PYTHONなどのプログラム言語で記述された本発明のプログラムを実行する。また、画像処理装置130は、本発明のプログラムを実行するための実行空間を提供するRAM、プログラムやデータなどを持続的に保持するためのハードディスク装置(HDD)などを含んでおり、本発明のプログラムを実行することにより、本実施形態の各機能手段を画像処理装置上に実現する。
さらに、画像処理装置130は、撮影装置120等の周辺装置に接続可能なインタフェースを備えており、当該インタフェースを介して周辺装置と撮影画像の送受信等のデータ通信を行うことができる。
本発明のプログラムは、HDD、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
図2は、本実施形態の画像処理装置130の機能構成200を示す。画像処理装置130は、画像受信部210と、前景オブジェクト検出部212と、グループ化部214と、キーフレーム決定部216と、画像出力部218と、画像データバッファ220と、画像管理データベース222と、を含む。
画像受信部210は、撮影装置120が提供する撮影画像を受信する機能手段である。画像受信部210は、撮影画像230を受信すると、当該撮影画像を構成する画像フレームに、当該画像フレームを固有に識別可能な情報である画像フレーム識別情報を付加して、画像データバッファ220にFIFO(First In First Out)方式で格納する。本実施形態では、画像受信部210は、撮影画像を受信して一定時間が経過すると、撮影画像を受信した旨を前景オブジェクト検出部212に通知する。他の実施形態では、画像受信部210は、一定数の画像フレームを受信した後、撮影画像を受信した旨を前景オブジェクト検出部212に通知してもよい。
前景オブジェクト検出部212は、撮影画像を構成する一連の画像フレームから、前景オブジェクトが含まれる画像フレームを検出する機能手段である。前景オブジェクト検出部212は、画像受信部210から撮影画像を受信した旨の通知を受信すると、画像データバッファ220に格納された画像フレームをFIFO方式で取得する。
本実施形態では、前景オブジェクト検出部212は、画像データバッファ220から取得した画像フレームに対して透視投影変換を施して、台形補正や縦横比の補正、回転補正等の画像補正することができる。この場合、前景オブジェクト検出部212は、画像補正した画像フレームを画像データバッファ220に保存する。
前景オブジェクト検出部212は、画像データバッファ220から連続する2の画像フレームを取得すると、当該2の画像フレームの比較領域について、輝度値の差の絶対値である差分または色空間上での距離尺度の差分を算出する。
本実施形態では、前景オブジェクト検出部212は、撮影装置120から取得した画像フレームを使用して、画像フレーム内の描画対象物110の領域を特定し、上記画像フレームの比較領域として使用することができる。具体的には、前景オブジェクト検出部212は、描画対象物110の輝度値と同等の輝度値を有する画像フレーム内の領域を、描画対象物110の領域として特定し、当該描画対象物の領域の座標位置を、画像フレームの比較領域として使用することができる。
本実施形態では、画像データバッファ220に最初に格納された画像フレームを使用して、描画対象物の領域を特定するが、他の実施形態では、画像データバッファ220に格納された複数の画像フレームを使用して、複数の描画対象物の領域を候補として算出し、最頻出の対象物の領域を画像フレームの比較領域として使用してもよい。
また、本実施形態では、描画対象物の輝度値を予め指定しておき、前景オブジェクト検出部212は、その輝度値を使用して描画対象物の領域を特定することができる。他の実施形態では、画像フレームに含まれる輝度値のうち最多の輝度値を描画対象物の輝度値として使用して、描画対象物の領域を特定することができる。
他の実施形態では、上記描画対象物の領域よりも小さな領域を画像フレームの比較領域とすることができる。例えば、描画対象物の領域の大きさをL×H(ピクセル)、座標位置を(0,0)、(L,0)、(0,H)、(L,H)とし、x軸、y軸方向の差分値をそれぞれa、bとすると、比較領域の座標位置は、(a,b)、(L−2a,b)、(a,H−2b)、(L−2a,H−2b)となる。前景オブジェクト検出部212は、上述のように算出した描画対象物の領域の座標位置を使用して、比較領域の座標位置を算出することができる。
さらに他の実施形態では、画像フレームの全領域を比較領域とすることもできる。
前景オブジェクト検出部212は、2の画像フレームの比較領域について差分を算出すると、画像フレームの全画素数に対する、当該差分の絶対値が閾値を超えている画素数の割合である差分の変化率を算出する。前景オブジェクト検出部212は、当該差分の変化率が閾値を超えると判断した場合には、当該2の画像フレームの一方に前景オブジェクトが含まれると判断する。そして、前景オブジェクト検出部212は、当該2の画像フレームの平均輝度値を算出して、いずれの画像フレームに前景オブジェクトが存在するか判断する。
描画対象物110がホワイトボード等である実施形態では、差分を算出した2の画像フレームのうち平均輝度値が低い方の画像フレームに前景オブジェクトが存在すると判断することができる。描画対象物110が黒板等である実施形態では、差分を算出した2の画像フレームのうち平均輝度値が高い方の画像フレームに前景オブジェクトが存在すると判断することができる。さらに他の実施形態では、差分を算出した2の画像フレームのうち、その平均輝度値と描画対象物110の平均輝度値との差分が大きい方の画像フレームに前景オブジェクトが存在すると判断することができる。本実施形態では、積分画像等を用いて、画像フレームの平均輝度値を算出することができる。
さらに他の実施形態では、前景オブジェクト検出部212は、画像データバッファ220から取得した画像フレームから動きベクトルを検出して、前景オブジェクトを検出してもよい。
前景オブジェクト検出部212は、画像データバッファ220から取得した画像フレームに付加されている画像フレーム識別情報を、画像管理データベース222の画像管理テーブルに登録し、前景オブジェクトが存在する旨の情報を、前景オブジェクトが存在すると判断した画像フレームの画像フレーム識別情報に関連付けて当該画像管理テーブルに登録することにより、前景オブジェクトの有無を管理する。
前景オブジェクト検出部212は、画像データバッファ220に格納された総ての画像フレームについて前景オブジェクトの検出処理を終了すると、その旨をグループ化部214に通知する。
グループ化部214は、前景オブジェクトが含まれない画像フレームに対して、同一の描画画像を有する画像フレームをグループ化する機能手段である。グループ化部214は、前景オブジェクト検出部212から前景オブジェクトの検出処理が終了した旨の通知を受信すると、画像データバッファ220から画像フレームをFIFO方式で取得し、同一の描画画像を有する画像フレーム群を代表する画像フレームである代表フレームと、画像データバッファ220の画像フレームとを順次比較して、画像フレームのグループ化を行う。本実施形態では、グループ化部214は、テンプレートマッチング等を用いて画像フレームの比較を行い、当該代表フレームと当該画像フレームが同一である場合には、当該画像フレームが当該代表フレームと同一のグループに属すると判断する。
グループ化部214は、グループ化処理の結果として、画像フレームが属する画像フレーム群であるグループを固有に識別する情報(以下、グループ固有識別情報として参照する。)と、代表フレームであることを指定する情報(以下、代表フレーム指定情報として参照する。)とを、画像フレーム識別情報に関連付けて、画像管理データベース222の画像管理テーブルに登録する。また、グループ化部214は、画像フレームのグループ化処理が終了すると、その旨をキーフレーム決定部216に通知する。
キーフレーム決定部216は、グループ化された画像フレーム群の各代表フレームからキーフレームを決定する機能手段である。キーフレーム決定部216は、グループ化部214から画像フレームのグループ化処理が終了した旨の通知を受信すると、画像管理データベース222を参照し、画像データバッファ220から同一の画像フレーム群に属する画像フレームをFIFO方式で取得する。そして、キーフレーム決定部216は、これらの画像フレームに含まれる描画画像を構成する画素の数である描画画像量を算出し、連続する3つの画像フレーム群の描画画像量を使用してキーフレームを判断する。
本実施形態では、キーフレーム決定部216は、前景オブジェクト検出部212が特定した描画対象物110の領域について、輝度値が所定の閾値以下となる画素数をカウントし、画像フレーム群の描画画像量を算出する。本実施形態では、キーフレーム決定部216は、同一の画像フレーム群に含まれる複数の画像フレームを使用して描画画像量を算出し、その平均値、中央値または最頻値を、当該画像フレーム群の描画画像量とすることができる。これにより、光源の変更や画像の揺らぎ、描画対象物または撮影装置の振動等に起因する画像フレーム群間の描画画像量の増減によるキーフレームの誤検出を抑制することができ、キーフレームの検出精度を向上させることができる。
また、キーフレーム決定部216は、描画画像量を算出する場合、前景オブジェクト検出部212がRAMやHDD等の記憶装置に保存した描画対象物110の領域の位置情報を読み出して、描画画像量を算出すべき画像フレームの領域を特定することができる。
他の実施形態では、キーフレーム決定部216は、前景オブジェクト検出部212が画像フレームに対して透視投影変換を施さない場合、キーフレームに対して透視投影変換を施して、台形補正や縦横比の補正、回転補正等の画像補正することができる。この場合、キーフレーム決定部216は、画像補正したキーフレームを画像データバッファ220に保存する。
キーフレーム決定部216は、キーフレーム決定処理の結果として、キーフレームであることを示す情報を当該キーフレームの画像フレーム識別情報に関連付けて、画像管理データベース222の画像管理テーブルに登録する。また、キーフレーム決定部216は、キーフレーム決定処理が終了すると、その旨を画像出力部218に通知する。
画像出力部218は、キーフレームを表示装置に出力して表示させる機能手段である。画像出力部218は、キーフレーム決定部216からキーフレーム決定処理が終了した旨の通知を受信すると、画像管理データベース222を参照し、キーフレームの画像フレーム識別情報を取得する。そして、画像出力部218は、当該画像フレーム識別情報が示すキーフレームを画像データバッファ220からFIFO方式で取得し、出力画像240として表示装置に送信して表示させる。
本実施形態では、画像出力部218は、画像処理装置130の表示装置にキーフレームを表示させるが、他の実施形態では、画像出力部218は、ネットワークを介して接続されたパーソナルコンピュータ等の情報処理装置の表示装置にキーフレームを表示させてもよい。
図3は、本実施形態の画像処理装置130が実行する処理を示すフローチャートである。図3は、本実施形態のプログラムが起動することによりステップS300で開始する。ステップS301では、画像受信部210が撮影装置120から撮影画像を構成する画像フレームを受信したか否か判断し、画像フレームを受信していないと判断した場合には(no)、ステップS301の処理を反復させる。一方、画像フレームを受信したと判断した場合には(yes)、処理をステップS302に分岐させる。
ステップS302では、画像受信部210が、ステップS301で受信した画像フレームに画像フレーム識別情報を付加して、画像データバッファ220に格納する。ステップS303では、最初に画像フレームを受信した時点から一定時間が経過しているか否か判断し、一定時間が経過していない場合には(no)、処理をステップS301に分岐させ、ステップS301〜S303の処理を反復させる。
本実施形態では、画像処理装置130は、画像受信部210が画像フレームを最初に受信したときに、画像処理装置130のOSが管理するタイマー関数等を起動させ、画像フレームを画像データバッファ220に格納した後、当該タイマー関数が計測した時間を使用して、一定時間が経過しているか判断することができる。これにより、当該一定時間内に受信した一連の画像フレームに対して、後述する処理を実行することができる。なお、本実施形態では、当該一定時間は任意の時間とすることができる。
他の実施形態では、画像受信部210は、撮影装置から受信した画像フレームの数をカウントし、その数が一定数を超えたときに、ステップS304の処理を実行するようにしてもよい。これにより、一定数の画像フレームに対して、後述する処理を実行することができる。なお、本実施形態では、当該一定数は任意の数とすることができる。
一方、ステップS303の判定で一定時間が経過したと判断した場合には(yes)、処理をステップS304に分岐させる。ステップS304では、前景オブジェクト検出部212が、撮影装置120から受信した画像フレームに対して、図5を参照して説明する前景オブジェクトの検出処理を実行する。ステップS305では、グループ化部214が、図6を参照して説明するグループ化処理を実行する。ステップS306では、キーフレーム決定部216が、図7を参照して説明するキーフレーム決定処理を実行する。
ステップS307では、画像出力部218が、ステップS306の処理で決定したキーフレームを表示装置に表示させる。そして、画像処理装置130は、処理をステップS301に戻し、次の一連の画像フレームに対して、上述した処理を実行する。
図4は、本実施形態の画像処理装置130が、撮影装置120から受信した一連の画像フレームに対して施す前景オブジェクト検出処理、グループ化処理およびキーフレーム決定処理を示す概念図である。以下、図4を参照して、前景オブジェクト検出処理、グループ化処理およびキーフレーム決定処理について概説する。
図4には、前景オブジェクトの検出処理が施される前の画像フレーム群410と、グループ化処理により前景オブジェクトが排除された画像フレーム群430と、グループ化処理によりグループ化された画像フレーム群440と、キーフレーム決定処理により抽出されたキーフレームから成る画像フレーム群450とが示されている。
画像フレーム群410に含まれる画像フレーム411〜420は、それぞれ撮影装置120から受信した画像フレームであり、画像フレーム411から順に時系列に示されている。画像フレーム411は、描画対象物に描画画像が書き込まれていない画像フレームである。画像フレーム412,415,418は、前景オブジェクトが含まれる画像フレームである。画像フレーム413,414,416,417,419,420は、描画対象物に描画画像が書き込まれた画像フレームである。
図4に示す実施形態では、画像フレーム412に含まれる前景オブジェクトであるユーザが描画対象物に描画画像である文字列「あい」を書き込み、描画対象物は、画像フレーム413,414に示す状態になる。その後、画像フレーム415に含まれる前景オブジェクトであるユーザが文字「い」を消去して、描画対象物は、画像フレーム416,417に示す状態になる。さらに、画像フレーム418に含まれる前景オブジェクトであるユーザが描画画像である文字列「かさ」を書き込み、描画対象物は、画像フレーム419,420に示す状態になる。
画像フレーム群410に対して前景オブジェクトの検出処理が実行されると、前景オブジェクトを含む画像フレーム412,415,418が検出される。そして、後続のグループ化処理において、前景オブジェクトが含まれない画像フレームで構成される画像フレーム群430に対してグループ化処理が実行され、画像フレーム群440に示すように、画像フレームが、同一の描画画像を有する画像フレームで構成される第1のグループ(n番目のグループ)、第2のグループ(n+1番目のグループ)および第3のグループ(n+2番目のグループ)にグループ化される。そして、画像フレーム群440に対してキーフレーム決定処理が実行されると、グループ化された画像フレームから、画像フレーム群450に示すキーフレーム413,419が抽出される。
図5は、本実施形態の画像処理装置130が実行する前景オブジェクト検出処理を示すフローチャートである。以下、図5を参照して、画像処理装置130の前景オブジェクト検出部212が実行する前景オブジェクト検出処理について詳細に説明する。
図5の処理は、前景オブジェクト検出部212が画像受信部210から撮影画像を受信した旨の通知を受信することにより、ステップS500から開始する。ステップS501では、前景オブジェクト検出部212は、画像データバッファ220に最初に格納された画像フレームを取得し、当該画像フレームの画像フレーム識別情報と、当該画像フレームのステータス情報として現在のフレームを示すステータス情報とを関連付けて画像管理データベース222に登録する。ステップS502では、前景オブジェクト検出部212は、画像管理データベース222を参照し、ステータス情報が現在のフレームとなっている画像フレームのステータス情報を、直前のフレームを示すステータス情報に変更する。ステップS503では、前景オブジェクト検出部212は、画像データバッファ220から次の画像フレームを取得し、当該画像フレームのステータス情報として、現在のフレームを示すステータス情報を画像管理データベース222に登録する。ステップS504では、前景オブジェクト検出部212は、直前フレームの比較領域と現在のフレームの比較領域との差分を算出し、差分の変化率を算出する。
ステップS505では、前景オブジェクト検出部212は、差分の変化率が閾値を超えるか否か判断し、当該変化率が閾値を超える場合には(yes)、処理をステップS506に分岐させる。一方、当該変化率が閾値を超えない場合には(no)、処理をステップS508に分岐させる。本実施形態では、当該閾値は、0〜1までの任意の値を設定することができるが、描画対象物の大きさや前景オブジェクトの大きさに応じて、トライアンドエラーで得られた変化率をもとに、当該閾値を設定することが好適である。
ステップS506では、前景オブジェクト検出部212は、現在の画像フレームおよび直前の画像フレームの平均輝度値を算出し、いずれの画像フレームに前景オブジェクトが含まれるかを特定する。ステップS507では、前景オブジェクト検出部212は、ステップS506で特定した画像フレームに前景オブジェクトが存在することを示す情報を画像管理データベース222に登録する。
ステップS508では、前景オブジェクト検出部212は、前景オブジェクトの検出処理がされていない画像フレームが画像データバッファ220に存在するか否か判断する。本実施形態では、前景オブジェクトの検出処理が実行されていない画像フレームが画像データバッファ220に存在するか否か判断することにより、前景オブジェクト検出処理を実行すべき画像フレームが存在するか否か判断することができる。具体的には、例えば、処理すべき画像フレームが格納されているアドレスを指定するポインタを、次の画像フレームが格納されるアドレスを指定するように、順次インクリメントさせることにより実現できる。
ステップS508の判定で、処理すべき画像フレームが存在すると判断した場合には(yes)、ステップS502〜ステップS507の処理を反復させる。一方、当該画像フレームが存在しない場合には(no)、処理をステップS509に分岐させ、前景オブジェクトの検出処理が終了した旨をグループ化部214に通知し、ステップS510で処理を終了させる。
図6は、本実施形態の画像処理装置130が実行するグループ化処理を示すフローチャートである。以下、図6を参照して、画像処理装置130のグループ化部214が実行するグループ化処理について詳細に説明する。
図6の処理は、グループ化部214が前景オブジェクト検出部212から前景オブジェクトの検出処理が終了した旨の通知を受信することにより、ステップS600から開始する。ステップS601では、グループ化部214が、画像データバッファ220からFIFO方式で1の画像フレームを取得する。ステップS602では、グループ化部214は、画像管理データベース222を参照して、ステップS601で取得した画像フレームに前景オブジェクトが存在するか否か判断し、前景オブジェクトが含まれる場合には(yes)、ステップS601およびS602の処理を反復させる。一方、前景オブジェクトが含まれない場合には(no)、処理をステップS603に分岐させ、グループ化部214は、代表フレーム指定情報およびグループ識別情報を、当該画像フレームの画像フレーム識別情報に関連付けて画像管理データベース222に登録する。
ステップS604では、グループ化部214が、画像データバッファ220から次の画像フレームを取得し、当該画像フレームのステータス情報として、現在のフレームを示すステータス情報を画像管理データベース222に登録する。ステップS605では、グループ化部214は、画像管理データベース222を参照し、現在の画像フレームに前景オブジェクトが存在するか否か判断する。現在のフレームに前景オブジェクトが存在する場合には(yes)、ステップS604およびS605の処理を反復させる。一方、現在のフレームに前景オブジェクトが存在しない場合には(no)、処理をステップS606に分岐させる。
ステップS606では、グループ化部214は、画像管理データベース222を参照し、直前のフレームに前景オブジェクトが存在するか否か判断する。直前のフレームに前景オブジェクトが存在する場合には(yes)、処理をステップS607に分岐させ、一方、直前のフレームに前景オブジェクトが存在しない場合には(no)、処理をステップS608に分岐させる。
ステップS607では、グループ化部214は、代表フレームの描画画像と現在のフレームの描画画像とが同一であるか否か判断し、これらの描画画像が同一であると判断した場合には(yes)、処理をステップS608に分岐させる。ステップS608では、グループ化部214は、現在のフレームのグループ識別情報として、代表フレームと同一のグループ識別情報を画像管理データベース222に登録する。
一方、ステップS607の判定で、代表フレームの描画画像と現在のフレームの描画画像とが相違すると判断した場合には(no)、処理をステップS609に分岐させる。ステップS609では、グループ化部214は、現在のフレームのグループ識別情報および代表フレーム指定情報として、次のグループのグループ識別情報および代表フレーム指定情報を画像管理データベース222に登録する。
ステップS610では、グループ化部214は、グループ化すべき画像フレームが画像データバッファ220に存在するか否か判断する。本実施形態では、グループ化処理が実行されていない画像フレームが画像データバッファ220に存在するか否か判断することにより、グループ化すべき画像フレームが存在するか否か判断することができる。具体的には、例えば、グループ化処理を実行すべき画像フレームが格納されているアドレスを指定するポインタを、次の画像フレームが格納されるアドレスを指定するように、順次インクリメントさせることにより実現できる。
ステップS610の判定で、画像フレームが存在すると判断した場合には(yes)、ステップS604〜ステップS609の処理を反復させる。一方、グループ化すべき画像フレームが存在しない場合には(no)、処理をステップS611に分岐させ、画像フレームのグループ化処理が終了した旨をグループ化部214に通知し、ステップS612で処理を終了させる。
図7は、本実施形態の画像処理装置130が実行するキーフレーム決定処理を示すフローチャートである。以下、図7を参照して、画像処理装置130のキーフレーム決定部216が実行するキーフレーム決定処理について詳細に説明する。
図7の処理は、キーフレーム決定部216がグループ化部214からグループ化処理が終了した旨の通知を受信することにより、ステップS700から開始する。ステップS701では、キーフレーム決定部216は、画像管理データベース222を参照し、各画像フレームグループに含まれる画像フレームを画像データバッファ220から取得して、各画像フレームグループの描画画像量を算出し、画像管理データベース222に登録する。ステップS702では、キーフレーム決定部216は、第1のグループ、第2のグループ、第3のグループの代表フレームのステータス情報として、直前フレーム、現在のフレーム、直後フレームを示すステータス情報を画像管理データベース222に登録する。
ステップS703では、キーフレーム決定部216は、画像管理データベース222を参照し、現在の画像フレームが属する画像フレームグループの描画画像量が直前フレームまたは直後フレームが属する画像フレームグループの描画画像量よりも大きいか否か判断する。ステップS703の判定で、現在の画像フレームが属する画像フレームグループの描画画像量が直前フレームまたは直後フレームが属する画像フレームグループの描画画像量よりも大きい場合には(yes)、処理をステップS704に分岐させる。一方、現在の画像フレームが属する画像フレームグループの描画画像量が、直前フレームまたは直後フレームが属する画像フレームグループの描画画像量以下である場合には(no)、ステップS702およびS703の処理を反復させる。
ステップS704では、キーフレーム決定部216は、現在のフレームがキーフレームであることを示す情報を画像管理データベース222に登録する。ステップS705では、キーフレーム決定部216は、画像管理データベース222を参照して、処理すべき代表フレームが存在するか否か判断する。本実施形態では、未だステータス情報が設定されていない代表フレームが画像管理データベース222に存在するか否か判断することにより、次に処理すべき代表フレームが存在するか否か判断することができる。
ステップS705の判定で処理すべき代表フレームが存在すると判断した場合には(yes)、処理をステップS706に分岐させる。ステップS706では、キーフレーム決定部216が、現在のフレーム、直後フレーム、直後フレームの次の代表フレームのステータス情報を、直前フレーム、現在のフレーム、直後フレームとして画像管理データベース222に登録し、ステップS702〜S705の処理を反復させる。一方、ステップS705の判定で処理すべき代表フレームが存在しないと判断した場合には(no)、処理をステップS707に分岐させ、画像出力部218にキーフレームの決定処理が終了した旨を通知し、ステップS708で処理を終了させる。
本実施形態では、前景オブジェクトが含まれていない画像フレームから代表フレームを決定し、当該代表フレームからキーフレームを決定するため、前景オブジェクトが含まれた不要なキーフレームを排除することができ、キーフレームの取得処理の精度を向上させ、本来取得すべきキーフレームのみを確実に取得できる。
図8は、本実施形態の画像処理装置130に含まれる画像管理データベース222に登録される画像管理テーブルの実施形態を示す図である。以下、図8を参照して、前景オブジェクトの検出処理時の画像管理テーブル800について説明する。
画像管理テーブル800は、画像フレーム識別情報810と、ステータス情報820と、前景オブジェクト830と、グループ識別情報840と、代表フレーム850と、キーフレーム860と、描画画像量870とが登録されるレコードを含む。画像フレーム識別情報810は、画像処理装置130が撮影装置120から取得した画像フレームに割り当てられた画像フレーム識別情報が登録されるレコードである。図8に示す実施形態では、画像フレーム識別情報として「frame_001」等の文字および数字の結合が登録されているが、他の実施形態では、画像フレームを固有に識別できる限り、その他の文字列もしくは数字列またはこれらの結合等を画像フレーム識別情報として使用することができる。
ステータス情報820は、前景オブジェクトの検出処理における画像フレームのステータス情報が登録されるレコードである。前景オブジェクトの検出処理では、直前のフレームおよび現在のフレームを示すステータス情報がステータス情報820に登録される。図8に示す実施形態では、ステータス情報として、直前のフレームを示すステータス情報である「Pre_frame」と、現在のフレームを示すステータス情報である「Current_frame」とが、画像フレーム識別情報に関連付けて登録される。他の実施形態では、その他の文字列もしくは数字列またはこれらの結合等をステータス情報として使用することができる。
前景オブジェクト830は、画像フレームに前景オブジェクトが含まれるか否かを示す情報が登録されるレコードである。図8に示す実施形態では、前景オブジェクトが含まれることを示す情報である「TRUE」および前景オブジェクトが含まれないことを示す情報である「FALSE」が、画像フレーム識別情報に関連付けて登録される。他の実施形態では、その他の文字列もしくは数字列またはこれらの結合等を使用して、前景オブジェクトの有無を指定することができる。
図9は、本実施形態の画像処理装置130に含まれる画像管理データベース222に登録される画像管理テーブルの他の実施形態を示す図である。図9に示す画像管理テーブル900は、図8に示す画像管理テーブル800を使用して、画像フレームのグループ化処理を実行した場合の画像管理テーブルである。以下、図9を参照して、画像管理デーブル900について、画像管理テーブル800との相違点を中心に説明する。
画像管理テーブル900は、画像管理テーブル800と同様に、画像フレーム識別情報910と、ステータス情報920と、前景オブジェクト930と、グループ識別情報940と、代表フレーム950と、キーフレーム960と、描画画像量970とが登録されるレコードを含む。
グループ識別情報940は、グループ化処理において、画像フレームの属するグループのグループ識別情報が登録されるレコードである。図9に示す実施形態では、グループ識別情報「group_0001」、「group_0002」、「group_0003」、「group_0004」等が、画像フレーム識別情報に関連付けて登録される。他の実施形態では、画像フレームのグループを固有に識別できる限り、グループ識別情報として、その他の文字列もしくは数字列またはこれらの結合等を使用することができる。なお、本実施形態では、当該レコードの初期値として「NULL」が使用される。
代表フレーム950は、グループ化処理において、関連する画像フレームが、当該画像フレームの属するグループの代表フレームであるか否かを示す代表フレーム指定情報が登録されるレコードである。図9に示す実施形態では、代表フレームであることを示す代表フレーム指定情報である「TRUE」と、代表フレームでないことを示す代表フレーム指定情報である「FALSE」とが、画像フレーム識別情報に関連付けて登録される。他の実施形態では、代表フレーム指定情報として、その他の文字列もしくは数字列またはこれらの結合等を使用することができる。なお、本実施形態では、当該レコードの初期値として「NULL」が使用される。
図10は、本実施形態の画像処理装置130に含まれる画像管理データベース222に登録される画像管理テーブルのさらに他の実施形態を示す図である。図10に示す画像管理テーブル1000は、図9に示す画像管理テーブル900を使用して、キーフレーム決定処理を実行した場合の画像管理テーブルである。以下、図10を参照して、画像管理デーブル1000について、画像管理テーブル800および900との相違点を中心に説明する。
画像管理テーブル1000は、画像管理テーブル800および900と同様に、画像フレーム識別情報1010と、ステータス情報1020と、前景オブジェクト1030と、グループ識別情報1040と、代表フレーム1050と、キーフレーム1060と、描画画像量1070とが登録されるレコードを含む。
ステータス情報1020は、キーフレーム決定処理における画像フレームのステータス情報が登録されるレコードである。キーフレーム決定処理では、直前のフレーム、現在のフレームおよび直後のフレームを示すステータス情報がステータス情報1020に登録される。図10に示す実施形態では、ステータス情報として、直前のフレームを示すステータス情報である「Pre_frame」と、現在のフレームを示すステータス情報である「Current_frame」と、直後のフレームを示すステータス情報である「Post_frame」とが、画像フレーム識別情報に関連付けて登録される。他の実施形態では、その他の文字列もしくは数字列またはこれらの結合等をステータス情報として使用することができる。
キーフレーム1060は、キーフレーム決定処理において、キーフレームであるか否かを示す情報が登録されるレコードである。図10に示す実施形態では、キーフレームであることを示す「TRUE」およびキーフレームでないことを示す「FALSE」が、画像フレーム識別情報に関連付けて登録される。他の実施形態では、その他の文字列もしくは数字列またはこれらの結合等を使用して、代表フレームを指定することができる。なお、本実施形態では、当該レコードの初期値として「NULL」が使用される。
描画画像量1070は、キーフレーム決定処理において、画像フレーム群の描画画像量が登録されるレコードである。図10に示す実施形態では、画像フレーム群の描画画像量が、当該代表フレームの画像フレーム識別情報に関連付けて登録される。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。