(57)【特許請求の範囲】
【請求項１】
カメラから入力される映像を順次圧縮符号化するビデオエンコーダに接続され、画像中の物体の動きを検出する動き検出装置であって、
ビデオエンコーダからブロック毎に算出される動きベクトルと、ブロックに対応する参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第１差分総和と、ブロックの動きベクトルが指す参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第２差分総和とを取得し、ブロックに対応させてメモリに格納する取得手段と、
（第１差分総和）−（第２差分総和）＞＝（しきい値）を満たすブロックを、動いている物体の一部を表わす動きブロックと判定する判定手段とを備える
ことを特徴とする動き検出装置。
【請求項２】
前記動き検出装置は、さらに、
フレーム内における警戒領域及び警戒方向をそれぞれ示すデータを記憶する記憶手段と、
前記記憶手段に記憶されているデータを用いて、前記判定手段により動きブロックと判定された各ブロックが前記警戒領域内に存在するかどうかを判定し、それらのブロックが前記警戒領域内に存在する場合に、それらのブロックの平均動きベクトルの水平成分および垂直成分の各符号と、前記警戒方向の水平成分および垂直成分の各符号とを照合して双方の方向が同じかどうかを判定する領域判定手段と、
前記領域判定手段の判定結果に基づいて警報を発生する警報手段とを備える
ことを特徴とする請求項１記載の動き検出装置。
【請求項３】
前記領域判定手段により、連続する所定数のフレームにわたって、警戒領域内のブロックの動きベクトルの平均的な方向が、前記警戒方向と同じであると判定された場合に、前記警報手段は警報を発生することを特徴とする請求項２記載の動き検出装置。
【請求項４】
前記動き検出装置は、さらに、
前記判定手段によって動きブロックと判定された各ブロックについて、｜（第１差分総和）−（第２差分総和）｜／（｜水平ＭＶ｜＋｜垂直ＭＶ｜＋１）＞＝（第２しきい値）を満たす場合に動きブロックであると判定し、そうでない場合は静止ブロックであると判定し、前記判定手段によって静止ブロックと判定された各ブロックについては静止ブロックと判定する第２判定手段を備える
ことを特徴とする請求項１記載の動き検出装置。
【請求項５】
前記動き検出装置は、さらに、
フレーム内における警戒領域及び警戒方向をそれぞれ示すデータを記憶する記憶手段と、
前記記憶手段に記憶されているデータを用いて、前記第２判定手段により動きブロックと判定された各ブロックが前記警戒領域内に存在するかどうかを判定し、それらのブロックが前記警戒領域内に存在する場合に、それらのブロックの平均動きベクトルの水平成分および垂直成分の各符号と、前記警戒方向の水平成分および垂直成分の各符号とを照合して双方の方向が同じかどうかを判定する領域判定手段と、
前記領域判定手段の判定結果に基づいて警報を発生する警報手段とを備えることを特徴とする請求項４記載の動き検出装置。
【請求項６】
前記領域判定手段により、連続する所定数のフレームにわたって、警戒領域内のブロックの動きベクトルの平均的な方向が、前記警戒方向と同じであると判定された場合に、前記警報手段は警報を発生することを特徴とする請求項５記載の動き検出装置。
【請求項７】
カメラから入力される映像を順次圧縮符号化するビデオエンコーダにより出力される動きベクトルを用いて、コンピュータに画像中の物体の動きを検出させるためのプログラムを記録している記録媒体であって、当該プログラムはコンピュータに、
ビデオエンコーダからブロック毎に算出される動きベクトルと、ブロックに対応する参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第１差分総和と、ブロックの動きベクトルが指す参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第２差分総和とを取得し、ブロックに対応させてメモリに格納する取得ステップと、
（第１差分総和）−（第２差分総和）＞＝（しきい値）を満たすブロックを、動いている物体の一部を表わす動きブロックと判定する判定ステップとを実行させる
ことを特徴とするプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、MPEGエンコーダにより得られる動きベクトルを用いて物体の動きを検出する動き検出装置及び動き検出方法及び動き検出のプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
店舗の営業時間の延長や無人施設の増加等に伴って、防犯対策の強化が望まれている。現在の対策としては、店内に監視カメラを設置してそれにより撮影された映像を監視員が目視するという形態が多く採用されている。
この形態において長時間にわたる監視作業は監視員の負担となる。そこで従来技術においては、監視カメラにより撮影された映像から人間等の物体の動き（以下、単に動きと省略する）を検出する動き検出装置が利用されている。この動き検出装置に警報器を接続し、動きが検出されたとき警報を発生させるように構成すれば、監視員は警報が発生したときのみ映像に注目すれば良いので監視作業にかかる負担が軽減される。
【０００３】
従来の動き検出装置は背景差分法を用いて動きを検出する。背景差分法は、監視カメラにより撮影される過去のフレームと現在のフレームとを比較し、異なっている部分を動きと判定する方法である。より具体的には、２つのフレームの画素毎に輝度値の差を算出し、その差がしきい値より大きい場合に動きと判定する。このしきい値は、画像の小さなゆらぎや日照差等が物体動きとして誤検出されるのを防ぐための値である。
【０００４】
また近年においては、MPEG符号化方式により映像をMPEG符号化する技術が発達している。従来の別の動き検出装置として、このMPEG符号化に利用される動きベクトルを流用して動きを検出するものがある。
動きベクトルとは、対象ブロックと参照ブロックとの空間的な位置関係を表わすベクトルである。ここでブロックは、１６画素×１６ラインや８画素×８ライン等の画素の集まりの単位である。また対象ブロックは、符号化の対象となっているフレーム中のブロックであり、参照ブロックは、対象ブロックのフレームと時間的に近い別フレーム中から探索されて選択されるブロックである。参照ブロックとしては、別フレーム中又は別フレームの所定の探索範囲中から対象ブロックと類似性の高いブロックが選択される。静止画の場合、参照ブロックと対象ブロックとは同じ位置になる。よってこの場合、動きベクトルは０になる。動画の場合、参照ブロックと対象ブロックとは、同じ物体等の動きの一部分を表わす場合が多い。この場合動きベクトルは、その物体の移動量と方向とを表わす。動きベクトルを利用して動きを検出する動き検出装置は、簡単には、動きベクトルがある程度の大きさのあるブロックを動きと判定する。実際には、画像のゆれ等を考慮して動きベクトルの大きさが所定の値より大きいブロックを動きと判定する。
【０００５】
【発明が解決しようとする課題】
動き検出装置は、人間等の物体の動きのみを動きとして検出できるのが望ましい。
しかし、従来の背景差分法や動きベクトルを用いた動き検出装置は、蛍光灯のフリッカーが強い場合や夜間に自動車のライトが点滅して入射する場合等、短時間における輝度変化が大きい場合、動きを表わしていないはずの平坦な部分を動きとして誤検出してしまうという問題がある。ここで平坦な部分とは、壁面や床面等、同一フレーム中においてほぼ一様な輝度分布を示す画像部分を指す。
【０００６】
上記の問題に鑑み、短時間中に輝度が大きく変化する状況下においても、平坦部分を動きと検出する誤検出を低減した動き検出装置及び動き検出方法及び動き検出のプログラムを記録した記録媒体の提供を目的とする。
【０００７】
【課題を解決するための手段】
上記問題を解決するため、本発明の動き検出装置は、カメラから入力される映像を順次圧縮符号化するビデオエンコーダに接続され、画像中の物体の動きを検出する動き検出装置であって、ビデオエンコーダからブロック毎に算出される動きベクトルと、ブロックに対応する参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第１差分総和と、ブロックの動きベクトルが指す参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第２差分総和とを取得し、ブロックに対応させてメモリに格納する取得手段と、（第１差分総和）−（第２差分総和）＞＝（しきい値）を満たすブロックを、動いている物体の一部を表わす動きブロックと判定する判定手段とを備える。
【０００８】
また前記動き検出装置は、さらに、フレーム内における警戒領域及び警戒方向をそれぞれ示すデータを記憶する記憶手段と、前記記憶手段に記憶されているデータを用いて、前記判定手段により動きブロックと判定された各ブロックが前記警戒領域内に存在するかどうかを判定し、それらのブロックが前記警戒領域内に存在する場合に、それらのブロックの平均動きベクトルの水平成分および垂直成分の各符号と、前記警戒方向の水平成分および垂直成分の各符号とを照合して双方の方向が同じかどうかを判定する領域判定手段と、前記領域判定手段の判定結果に基づいて警報を発生する警報手段とを備える。また、前記領域判定手段により、連続する所定数のフレームにわたって、警戒領域内のブロックの動きベクトルの平均的な方向が、前記警戒方向と同じであると判定された場合に、前記警報手段は警報を発生する。
【００１０】
また前記動き検出装置は、さらに、前記判定手段によって動きブロックと判定された各ブロックについて、｜（第１差分総和）−（第２差分総和）｜／（｜水平ＭＶ｜＋｜垂直ＭＶ｜＋１）＞＝（第２しきい値）を満たす場合に動きブロックであると判定し、そうでない場合は静止ブロックであると判定し、前記判定手段によって静止ブロックと判定された各ブロックについては静止ブロックと判定する第２判定手段を備える。
また前記動き検出装置は、さらに、フレーム内における警戒領域及び警戒方向をそれぞれ示すデータを記憶する記憶手段と、前記記憶手段に記憶されているデータを用いて、前記第２判定手段により動きブロックと判定された各ブロックが前記警戒領域内に存在するかどうかを判定し、それらのブロックが前記警戒領域内に存在する場合に、それらのブロックの平均動きベクトルの水平成分および垂直成分の各符号と、前記警戒方向の水平成分および垂直成分の各符号とを照合して双方の方向が同じかどうかを判定する領域判定手段と、前記領域判定手段の判定結果に基づいて警報を発生する警報手段とを備える。
また前記動き検出装置は、前記領域判定手段により、連続する所定数のフレームにわたって、警戒領域内のブロックの動きベクトルの平均的な方向が、前記警戒方向と同じであると判定された場合に、前記警報手段は警報を発生する。
【００１１】
上記問題を解決するため、本発明の記録媒体は、カメラから入力される映像を順次圧縮符号化するビデオエンコーダにより出力される動きベクトルを用いて、コンピュータに画像中の物体の動きを検出させるためのプログラムを記録している記録媒体であって、当該プログラムはコンピュータに、ビデオエンコーダからブロック毎に算出される動きベクトルと、ブロックに対応する参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第１差分総和と、ブロックの動きベクトルが指す参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第２差分総和とを取得し、ブロックに対応させてメモリに格納する取得ステップと、（第１差分総和）−（第２差分総和）＞＝（しきい値）を満たすブロックを、動いている物体の一部を表わす動きブロックと判定する判定ステップとを実行させるプログラムを記録する。
【００１２】
【発明の実施の形態】
（実施形態１）
以下に本発明の実施形態１における動き検出装置について図面を用いて説明する。
（概略構成）
図１は、動き検出装置とその周辺装置からなる動き検出システムの概略構成を示すブロック図である。
【００１３】
同図において、動き検出システムは、監視カメラ１、MPEGビデオエンコーダ２、録画再生装置３、動き検出装置４から構成される。
監視カメラ１は、撮影された画像を表わすビデオ信号をMPEGビデオエンコーダ２に出力する。
MPEGビデオエンコーダ２は、監視カメラ１より出力されるビデオ信号をMPEG方式により符号化してその符号化データを録画再生装置３へ出力する。またMPEGビデオエンコーダ２は、符号化の際に算出される最小差分総和、ゼロ差分総和、動きベクトルを動き検出装置４に出力する。なお、これらの用語についてはMPEGビデオエンコーダ２の構成の説明とあわせて後述する。
【００１４】
録画再生装置３は、MPEGビデオエンコーダ２より出力される符号化データを記録媒体に記録すると同時にMPEG方式により復号化してディスプレイ等に表示する。
監視カメラ１、MPEGビデオエンコーダ２、録画再生装置３は、それぞれ新規な構成要素を備える装置ではなく、従来からある典型的な装置でよい。
【００１５】
動き検出装置４は、MPEGビデオエンコーダ２より出力される最小差分総和、ゼロ差分総和、動きベクトルを用いて監視カメラ１により撮影された画像中の動きを検出する。
（MPEGビデオエンコーダ２）
図２は、MPEGビデオエンコーダ２の構成を示すブロック図である。
【００１６】
同図においてMPEGビデオエンコーダ２は、変換部７１２、動き補償部７１５、差分部７１７、ＤＣＴ／量子化部７１８、可変長符号化部７１ｂ、逆ＤＣＴ／逆量子化部７１９、加算部７１ａ、フレームメモリ７１４から構成される。
変換部７１２は、監視カメラ１よりビデオ信号が入力される。このビデオ信号は、輝度情報と色差情報とを含み、時間的に連続する複数のフレームを構成する。変換部７１２は、輝度情報と色差情報とを符号化で用いる解像度の輝度信号と色差信号とに変換する。具体的に１フレームの解像度は、輝度信号の場合は７２０画素×４８０ライン、色差信号の場合は、３６０画素×２４０ラインである。
【００１７】
変換部７１２は、１フレーム分の輝度信号及び色差信号を１６画素×１６ラインのマクロブロック（以下ＭＢと略す）単位に分割して差分部７１７に出力する。ここで１つのＭＢは、１６画素×１６ラインの輝度信号からなる輝度ブロック（８画素×８ラインの輝度信号からなるブロック４つ分）と、８画素×８ラインの青色差信号からなる青色差ブロックと、８画素×８ラインの赤色差信号からなる赤色差ブロックとから構成される。これらのブロックは互いに空間的に対応している。
【００１８】
また変換部７１２は、差分部７１７へのＭＢの出力と同時に輝度ブロックのみを動き補償部７１５にも出力する。
以後ｎフレームをXY平面に見たてた場合の座標位置(i,j）に存在するＭＢをＭＢi,j,n、輝度ブロックをＹＢi,j,n、青色差ブロックをＣｂＢi,j,n、赤色差ブロックをＣｒＢi,j,nと表わす。またｎはフレームの時間的な位置を示す。またＭＢにおいては、個々のＭＢと他のＭＢとを識別する必要のない場合には、添え字を省略して単にＭＢと表記する。
（動き補償予測）
動き補償予測とは、簡単には、ｎフレームの画素Ｐに対して、ｎフレームに近い別のｍフレーム中から画素Ｐと類似している画素Ｐ’を探索する操作をいう。
【００１９】
動き補償部７１５は、この動き補償予測を輝度ブロック単位に行う。動き補償部７１５は、ｎフレームの輝度ブロックＹＢi,j,nに対して、ｎフレームとは別のｍフレームの中からＹＢi,j,nに類似した１６画素×１６ラインの輝度ブロックＹＢs,t,mを探索する。
ここでＹＢi,j,nは、変換部７１２より出力される輝度ブロックである。
【００２０】
ｍフレームは、ｎフレームと比較的近い過去又は未来のフレームである。例えばｎフレームの１つ前（過去）のフレームや１つ後（未来）のフレームである。ｍフレーム中の各ＭＢは、逆ＤＣＴ／逆量子化部７１９及び加算部７１ａによる復号を経てフレームメモリ７１４に記憶されている。ｍフレームを参照フレームと呼び、ｎフレームを対象フレームと呼ぶ。
【００２１】
ＹＢs,t,mは、０．５画素単位で探索される。
動き補償部７１５は、輝度ブロックＹＢs,t,mを探索するために、まずｍフレームの探索範囲内における１６画素×１６ラインの全てのブロックについて輝度ブロックＹＢi,j,nとの差分総和を算出する。ここで差分総和は、ＹＢi,j,nとｍフレームの探索範囲（水平、垂直方向＋／−数十画素）における１６画素×１６ラインのブロックとの画素毎の輝度値の差分の絶対値の総和である。この差分総和が小さければ小さいほど、探索範囲中のブロックと輝度ブロックＹＢi,j,nとの類似の度合いは高い。
【００２２】
動き補償部７１５は、算出された差分総和のうち差分総和が最小となるブロックをＹＢi,j,nに最も類似するブロックＹＢs,t,mとする。さらに動き補償部７１５は、フレームメモリ７１４に記憶されるｍフレームからＹＢs,t,mと空間的に対応する青色差ブロックＣｂＢs,t,m及び赤色差ブロックＣｒＢs,t,mを切り出す。以上のようにして得られるＹＢs,t,m、ＣｂＢs,t,m、ＣｒＢs,t,mの３つのブロックをまとめて参照ブロックと呼ぶ。
【００２３】
さらに動き補償部７１５は、ＹＢs,t,mとＹＢi,j,nとからＹＢi,j,nにおける動きベクトルＭＶi,j,nを算出する。ここで動きベクトルは、ＹＢi,j,nとＹＢs,t,mとの空間的な位置関係を示す。ＭＶi,j,nは、水平成分と垂直成分とにより表わされ、水平成分ＭＶｘi,j,n＝ｓ−ｉ、垂直成分ＭＶｙi,j,n＝ｔ−ｊである。
動き補償部７１５は、このようにして算出されるＹＢs,t,m、ＣｂＢs,t,m、ＣｒＢs,t,mを差分部７１７に出力し、ＭＶi,j,nを可変長符号化部７１ｂに出力する。
【００２４】
一方、動き補償部７１５は、先のＭＶi,j,nと、探索の過程で算出される差分総和のうちの最小差分総和とゼロ差分総和とを動き検出装置４に出力する。ここで最小差分総和は、ＹＢi,j,nとＹＢs,t,mとの差分総和でありＡＥi,j,nと表わす。またゼロ差分総和は、ＹＢi,j,nとｍフレーム上において同じ位置に相当するブロックＹＢi,j,mとの差分総和でありＡＥ０i,j,nと表わす。
【００２５】
差分部７１７は、変換部７１２より入力されるＭＢとＭＢに対応する参照ブロックとから予測誤差を算出してＤＣＴ／量子化部７１８に出力する。予測誤差は、ＭＢと対応する参照ブロックとの差分で表わされる。
ＤＣＴ／量子化部７１８は、差分部７１７より予測誤差が入力されると、８画素×８ラインのブロック単位にＤＣＴ符号化を行う。さらにＤＣＴ／量子化部７１８は、ＤＣＴ符号化により得られるＤＣＴ符号化係数を量子化して量子化データを出力する。
【００２６】
可変長符号化部７１ｂは、ＤＣＴ／量子化部７１８より得られる量子化データと動き補償部７１５より得られる動きベクトル等を可変長符号化して符号化データを出力する。
逆ＤＣＴ／逆量子化部７１９、加算部７１ａからなる部分は、ＤＣＴ／量子化部７１８より出力される量子化データに対して逆量子化と逆ＤＣＴ変換を行って予測誤差を復号し、それと参照ブロックとを加算することによって符号化中のフレームを再生し、フレームメモリ７１４に出力する。
【００２７】
フレームメモリ７１４は、２フレーム分の記憶領域を有する。１フレーム分の記憶領域は、符号化の対象となっているフレームが再生されて加算部７１ａを会してブロック単位に入力される。また、もう１フレーム分の記憶領域は、このように入力された１つ前に再生されたフレームが入力される。１つ前に再生されたフレームは、動き補償予測の参照フレームとして用いられる。
（動き検出装置４）
図３は、動き検出装置４の構成を示すブロック図である。
【００２８】
同図において動き検出装置４は、ＣＰＵ５、ＲＯＭ６、ＲＡＭ８、入出力Ｉ／Ｆ９より構成される。
ＲＯＭ６は、動き検出処理を記述したプログラムを記憶しており、ＣＰＵ５がこの動き検出処理を実行することにより監視カメラ１により撮影された画像中の動きを検出する。
（動き検出処理の概略）
図４は、動き検出処理の概略を示すフローチャートである。
【００２９】
同図に示すように動き検出処理はステップ１〜５の５つの判定処理からなる。動き検出装置４は、フレーム単位に繰り返しこれらの判定処理を行う。各判定処理において動き検出装置４は、動きＭＢの候補とされているＭＢについて、それらが動きＭＢであるか否かを判定する。ここで動きＭＢとは、動いている物体を表わす画像部分のＭＢを指していう。また動きＭＢに対して、静止している画像部分のＭＢを静止ＭＢという。
【００３０】
動き検出装置４は、１つの判定処理において動きＭＢと判定したＭＢをその次の判定処理において動きＭＢの候補として扱う。すなわち動き検出装置４は、ステップ１の判定処理において動きＭＢと判定したＭＢを、その次のステップ２の判定処理においては動きＭＢの候補とし、各動きＭＢの候補について動きＭＢであるか否かを判定する。さらにステップ２において動きＭＢと判定したＭＢを、その次のステップ３の判定処理においては動きＭＢの候補とし、各動きＭＢの候補について動きＭＢであるか否かを判定する。このようにして動き検出装置４は、ステップ５の判定処理において動きＭＢと判定したＭＢを最終的な動きＭＢとして検出する。
（各ステップの簡単な説明）
ステップ１〜５の判定処理を簡単に説明すると以下のようになる。
ステップ１：ＡＥ０とＡＥとの差がしきい値より大きいとき、そのＭＢを動きＭＢと判定する処理。
ステップ２：ＭＢとその周囲のＭＢの動きベクトル（以下ＭＶと略す）との方向及び大きさがランダムでないときそのＭＢを動きＭＢと判定する処理。
ステップ３：ＡＥ０とＡＥとの差分をＭＶで割ったときの比率がしきい値より大きいとき、そのＭＢを動きＭＢと判定する処理。
ステップ４：周囲のＭＢに動きＭＢが存在するＭＢと、周囲のＭＢに動きＭＢがないＭＢであってＭＶの小さいＭＢを動きＭＢと判定する処理。
ステップ５：１つ前のフレームの同位置及びその周辺のＭＢに動きＭＢが存在するとき、そのＭＢを動きＭＢと判定する処理。
【００３１】
ここで各ステップにおいて動きＭＢと判定されなかったＭＢは静止ＭＢとなる。
（ＲＡＭ８）
以下に動き検出処理において用いられるＲＡＭ８について説明する。
ＲＡＭ８は、ＭＶ領域８１、ＡＥ領域８２、ＡＥ０領域８３、ＭＭＢI領域８３〜ＭＭＢV領域８８、前ＭＭＢIV領域８９より構成される。
【００３２】
ＭＶ領域８１、ＡＥ領域８２、ＡＥ０領域８３は、それぞれMPEGビデオエンコーダ２より出力されるＭＶ、ＡＥ、ＡＥ０をＭＢと対応させて記憶する。ここでＭＢと対応させて記憶するとは、個々のＭＢを特定するフレーム位置及び座標位置等、個々のＭＢを他のＭＢと区別するための識別子と対応させて記憶することを指す。
【００３３】
ＭＭＢI領域８４〜ＭＭＢV領域８８は、それぞれステップ１〜５に対応し、各ステップにおける判定結果を記憶する。ＭＭＢI領域８４〜ＭＭＢV領域８８は、各ＭＢが動きＭＢであるか静止ＭＢであるかを示すフラグ群を記憶する。各フラグは、ＭＭＢI〜ＭＭＢVで表わされる。ＭＭＢI〜ＭＭＢVは、対応するＭＢが動きＭＢと判定されたとき１、静止ＭＢと判定されているとき０を保持する。
【００３４】
前ＭＭＢIV領域８９は、ＭＭＶIV領域８７に記憶されているＭＭＶIVのフレームに対する１つ前のフレームのＭＭＶIVを記憶する。言いかえると、ＭＭＶIV領域８７がｎフレームにおけるＭＭＶIVを記憶しているとすると、前ＭＭＢIV領域８９はｎ−１フレームにおけるＭＭＶIVを記憶する。前ＭＭＢIV領域８９に記憶される前フレームのＭＭＶIVを前ＭＭＶIVと呼ぶこととする。
【００３５】
以下、各ステップについて詳細なフローチャートを用いて説明する。
（ステップ１）
図５は、ステップ１のフローチャートを示す。
同図において動き検出装置４は、１フレーム中の各ＭＢについて以下の処理を行う。
【００３６】
すなわち動き検出装置４は、当該ＭＢのＡＥ０とＡＥとの差を算出し、その差をしきい値（ここにおいては１０００）と比較する（ステップ５２）。
動き検出装置４は、比較の結果、差がしきい値よりも大きければそのＭＢを動きＭＶと判定し、しきい値よりも小さければ静止ＭＢと判定する。動き検出装置４は、当該ＭＢを動きＭＢと判定した場合そのＭＢＢIを１にし、静止ＭＢと判定した場合そのＭＭＢIを０にする（ステップ５３、５４）。
（ステップ１の説明）
この処理によって動き検出装置４は、輝度差の小さいフリッカーが発生している状況下における平坦部分での誤検出を低減する。
【００３７】
誤検出が低減されるのは以下の理由による。画像を動きを表わす画像部分（動き部分と略す）と動きのない部分を表わす画像部分とに分け、さらに動きのない部分を表わす画像部分を平坦な部分を表わす画像部分（平坦部分と略す）と平坦でない部分を表わす画像部分（平坦でない部分と略す）とに分ける。このように分けた場合、小さいフリッカーが発生している状況下では、平坦部分及び平坦でない部分のＭＢは、ゼロ差分総和と最小差分総和との差が小さく、動き部分においては前記差は大きくなるという特性がある。この特性を利用してステップ１において動き検出装置４は、前記差としきい値との比較によってＭＢが動きＭＢであるか否かを判定する。
（ステップ２）
図６（ａ）は、ステップ２のフローチャートを示す。
【００３８】
動き検出装置４は、１フレーム中の各ＭＢについて以下の処理を行う。
動き検出装置４は、ＭＭＢI領域８４から当該ＭＢのＭＭＢIを読み出し、その値が１であるか否かを識別する（ステップ６２）。
識別の結果ＭＭＢI＝０であれば、動き検出装置４は当該ＭＢに対応するＭＭＢIIを０にする（ステップ６８）。
【００３９】
識別の結果ＭＭＢI＝１であれば、動き検出装置４はＭＢ数I及びＭＢ数IIの計数処理を行う（ステップ６３）。
ここでＭＢ数Iは、当該ＭＢの周囲ＭＢにおける動きＭＢの数である。周囲ＭＢとは、当該ＭＢの周囲のＭＢを指す。図６（ｂ）に当該ＭＢと周囲ＭＢとの位置関係を示す。同図は、１フレーム中の９個のＭＢ６１〜６９を部分的に示している。同図においてＭＢ６１が当該ＭＢであるとすると、その他のＭＢ６２〜６９が周囲ＭＢである。
【００４０】
ＭＢ数IIは、周囲ＭＢでかつ動きＭＢであるＭＢのうち、つまりＭＢ数Iに計数されているＭＢのうち、当該ＭＢとＭＶの大きさ及び方向がほぼ同じＭＢの数である。
動き検出装置４は、ＭＢ数IIの値がＭＢ数Iの値の半分以上であるか否かを判定する（ステップ６４）。
【００４１】
判定の結果、半分以上であれば当該ＭＢを動きＭＢと判定し、その他は静止ＭＢと判定する。動き検出装置４は、当該ＭＢを動きＭＢと判定した場合そのＭＭＢIIを１にし、静止ＭＢと判定した場合そのＭＭＢIIを０にする（ステップ６５、６６）。
図７は、ステップ６３におけるＭＢ数I及びIIの計数処理の詳細を示すフローチャートである。
【００４２】
同図において動き検出装置４は、まずＭＢ数I及びＭＢ数IIの値を０に初期化する（ステップ７１）。
次に動き検出装置４は、当該ＭＢの周囲ＭＢそれぞれについて以下の処理を行う（ステップ７２）。
動き検出装置４は、ＭＭＢI領域８４から周辺ＭＢのＭＭＢIを読み出し、その値が１であるか否かを識別する（ステップ７３）。
【００４３】
識別の結果ＭＭＢI＝１であれば、動き検出装置４は、ＭＢ数Iに１を加える（ステップ７４）。
次に動き検出装置４は、ＭＶ領域８１から周辺ＭＢのＭＶｘ、ＭＶｙの符号ＳＭＶｘ、ＳＭＶｙと、当該ＭＢのＭＶｘ、ＭＶｙの符号ＳＭＶｘ、ＳＭＶｙとを対照して、それぞれが一致するか否かを判定する（ステップ７５）。これによって動き検出装置４は、周辺ＭＢのＭＶの方向と当該ＭＢのＭＶの方向とがほぼ同じであるか否かを判定している。
【００４４】
判定の結果、ＭＶｘ及びＭＶｙがともに一致する場合、さらに動き検出装置４は、周辺ＭＢのＭＶの大きさと当該ＭＢのＭＶの大きさとが近いか否かを判定する。
詳しくは、動き検出装置４は、周辺ＭＢのＭＶｘと当該ＭＢのＭＶｘとの差の絶対値、及び周辺ＭＢのＭＶｙと当該ＭＢのＭＶｙとの差の絶対値が両方ともしきい値（ここでは２０）以下であるか否かを判定する（ステップ７６）。
【００４５】
ステップ７５、ステップ７６の２つの判定がともに肯定的に判定された場合、動き検出装置４は、ＭＢ数IIに１を加える（ステップ７７）。
このようにして当該ＭＶの周辺に存在する８個の周辺ＭＢについてステップ７２〜７７を繰り返し、ＭＢ数I及びＭＢ数IIを計数する。
（ステップ２の説明）
この処理によって動き検出装置４は、ライトの点滅等、短時間に輝度が大きく変化する状況下での平坦部分における誤検出を低減する。
【００４６】
誤検出が低減されるのは以下の理由による。短時間に輝度差が大きく変化する状況下においては、ＭＶは、動き部分においては方向及び大きさが一様になり、平坦部分においては方向及び大きさがランダムになり、平坦でない部分においては大きさが０になるという特性がある。ここでランダムとは、例えば図６（ｂ）の９個のＭＢ６１〜６９を用いて説明すると、ＭＢ６１はＭＶｘが−６１でＭＶｙが３１、ＭＢ６２はＭＶｘが３０でＭＶｙが−１００、ＭＢ６３はＭＶｘが−２でＭＶｙが−１０、ＭＢ６４はＭＶｘが７７でＭＶｙが５、ＭＢ６５はＭＶｘが−８９でＭＶｙが２０、．．．というように各ＭＢ毎にＭＶｘとＭＶｙが不規則で勝手な値をとり、あるＭＢのＭＶｘ及びＭＶｙのおおよその値が、その周りのＭＢのＭＶｘ及びＭＶｙから予測できる確率の低い部分のマクロブロック群を指していう。これに対して一様とは、例えばＭＢ６１はＭＶｘが−３１でＭＶｙが２４、ＭＢ６２はＭＶｘが−３０でＭＶｙ２２、ＭＢ６３はＭＶｘが−３２でＭＶｙが２３、ＭＢ６４はＭＶｘが−２９でＭＶｙが２３、ＭＢ６５はＭＶｘが−３２でＭＶｙが２０、．．．というように各ＭＢ毎のＭＶｘ及びＭＶｙがランダムでなく、平均値の近くに分布する部分のマクロブロック群を指していう。
【００４７】
このような特性を利用してステップ２において動き検出装置４は、当該ＭＢと周辺ＭＢのＭＶの大きさ及び方向がランダムな場合に静止ＭＢと判定し、一様な場合に動きＭＢと判定する。なお平坦でない部分のＭＢは、ゼロ差分総和と最小差分総和との差が０か又は０に近くなるのでステップ１において静止ＭＢと判定されている。
（ステップ３）
図８は、ステップ３のフローチャートを示す。
【００４８】
動き検出装置４は、１フレーム中の各ＭＢについて以下の処理を行う。
動き検出装置４は、ＭＭＢII領域８５から当該ＭＢのＭＭＢIIを読出し、その値が１であるか否かを識別する（ステップ８２）。
識別の結果ＭＭＢII＝０であれば、動き検出装置４は、対応するＭＭＢIIIを０にする（ステップ８３）。
【００４９】
識別の結果ＭＭＢII＝１であれば、動き検出装置４は次の処理を行う。
まず動き検出装置４は、当該ＭＢにおけるＡＥ０とＡＥとの差を算出する。なおここでは前記差を算出しているが、この差はステップ５２における差と同一のものであるから、ステップ５２の時点で差を記憶しておくようして、その記憶されている差をここで用いるようにしてもよい。
【００５０】
つぎに動き検出装置４は、当該ＭＢのＭＶｘの絶対値｜ＭＶｘ｜とＭＶｙの絶対値｜ＭＶｙ｜と１との加算値を算出する。ここで１を加えているのは、この加算値は、除数として用いられるので、｜ＭＶｘ｜及び｜ＭＶｙ｜がともに０の場合に加算値が０になるのを防ぐためである。
最後に動き検出装置４は、前記差の加算値による商を算出する。動き検出装置４は、この商をしきい値（ここでは７０）と比較し、商がしきい値以上の場合に当該ＭＢを動きＭＢと判定し、しきい値より小さい場合に静止ＭＢと判定する（ステップ８４）。
【００５１】
動き検出装置４は、当該ＭＢが動きＭＢのとき対応するＭＭＢIIIを１とし、静止ＭＢのとき対応するＭＭＢIIIを０とする（ステップ８５、８６）。
以上、動き検出装置４は、１フレーム中の各ＭＢについてステップ８２〜８６の処理を繰り返す。
（ステップ３の説明）
この処理によって動き検出装置４は、ステップ２と同様に単時間に輝度が大きく変化する状況下での平坦部分における誤検出を低減する。
【００５２】
誤検出が低減されるのは以下の理由による。動きのない平坦部分では、前記商がしきい値より小さくなる。これを利用して動き検出装置４は、前記商がしきい値より大きいＭＢのみを動きＭＢであると判定する。
（ステップ４）
図９は、ステップ４のフローチャートを示す。
【００５３】
同図において動き検出装置４は、１フレーム中の各ＭＢについて以下の処理を行う。
動き検出装置４は、ＭＭＢIII領域８６から当該ＭＢのＭＭＢIIIを読出し、その値が１であるか否かを識別する（ステップ９１）。
識別の結果ＭＭＢIII＝０であれば、動き検出装置４は当該ＭＢに対応するＭＭＢIVを０にする（ステップ９２）。
【００５４】
識別の結果ＭＭＢIII＝１であれば、動き検出装置４は当該ＭＢにおけるＭＢ数IIIの計数処理を行う（ステップ９３）。
ここでＭＢ数IIIは、当該ＭＢに対する周囲ＭＢにおける動きＭＢの数である。
計数の結果、ＭＢ数IIIが０でない場合、つまり１以上である場合、動き検出装置４は、当該ＭＢを動きＭＢと判定し、対応するＭＭＢIVを１にする（ステップ９４、９５）。
【００５５】
計数の結果、ＭＢ数IIIが０である場合、動き検出装置４は、当該ＭＢのＭＶの大きさが大きいＭＢを静止ＭＢと判定し、小さいＭＢを動きＭＢと判定する。より詳しくは、動き検出装置４は、当該ＭＢの｜ＭＶｘ｜と｜ＭＶｙ｜との合計値がしきい値（ここでは１６）以下である場合に当該ＭＢを動きＭＢと判定し、しきい値より大きい場合に当該ＭＢを静止ＭＢと判定する（ステップ９６）。動き検出装置４は、当該ＭＢが動きＭＢであれば対応するＭＭＢIVを１にし、静止ＭＢであれば対応するＭＭＢIVを０にする（ステップ９７、９８）。
【００５６】
以上のようにして動き検出装置４は、ステップ９１〜９８の処理を各ＭＢについて繰り返す。
（ＭＢ数III計数処理）
図１０は、ステップ９３におけるＭＢ数III計数処理を詳細に示すフローチャートである。
【００５７】
同図において動き検出装置４は、まずＭＢ数IIIの値を０に初期化する（ステップ１０１）。
次に動き検出装置４は、当該ＭＢの周囲ＭＢそれぞれについて以下の処理を行う。
動き検出装置４は、ＭＭＢIII領域８６から周囲ＭＢに対応するＭＭＢIIIを読み出して、その値が１であるか否かを識別する（ステップ１０３）。
【００５８】
識別の結果、ＭＭＢIII＝１である場合は、動き検出装置４はＭＢ数IIIに１を加える（ステップ１０３、１０４）。
動き検出装置４は、ステップ１０３、１０４の処理を当該ＭＢの周囲８つの周囲ＭＢについて繰り返してＭＭＢIIIを計数する。
（ステップ４の説明）
この処理によって動き検出装置４は、人間等ある程度の大きさの物体をあらわしていないＭＢを動きＭＢでないと判定し、それにより誤検出を低減する。これは動いている人間等を表わす画像部分は、複数の動きブロックから構成されるという仮定に基づいている。
（ステップ５）
図１１は、ステップ５のフローチャートを示す。
【００５９】
同図において動き検出装置４は、１フレーム中の各ＭＢについて以下の処理を行う。
動き検出装置４は、ＭＭＢIV領域８７から当該ＭＢに対応するＭＭＢIVを読み出してその値が１であるか否かを識別する（ステップ１１１）。
識別の結果ＭＭＢIV＝０である場合は、動き検出装置４は、対応するＭＭＢ５を０にする（ステップ１１２）。
【００６０】
識別の結果ＭＭＢIV＝１である場合は、動き検出装置４は以下の処理を行う。
動き検出装置４は、ＭＢ数IVを計数する（ステップ１１３）。
ここにおいてＭＢ数IVとは、当該ＭＢが存在するフレームの１つ前のフレームにおける、当該ＭＢと同位置に存在するＭＢ（同位置ＭＢ）及び同位置ＭＢの周囲ＭＢにおける動きＭＢの数である。
【００６１】
動き検出装置４は、ＭＢ数IVの値が０より大きいか否かを判定する（ステップ１１４）。
判定の結果、ＭＢ数IVの値が０より大きい場合、つまり前フレームの同一位置及びその周辺のＭＢにおいて１つでも動きＭＢが存在する場合、動き検出装置４は、当該ＭＢを動きＭＢと判定し、それ以外の場合、当該ＭＢを静止ＭＢと判定する。動き検出装置４は、当該ＭＢが動きＭＢであると判定した場合にそれに対応するＭＭＢVを１にし、当該ＭＢが静止ＭＢであると判定した場合にそれに対応するＭＭＢVを０にする(ステップ１１５、１１６)。
【００６２】
動き検出装置４はステップ１１１〜１１６の処理を各ＭＢについて繰り返す。
（ＭＢ数IV計数処理）
図１２は、ステップ１１３におけるＭＢ数IV計数処理のより詳細なフローチャートである。
同図において動き検出装置４は、まずＭＢ数IVの値を０に初期化する（ステップ１２１）。
【００６３】
次に動き検出装置４は、当該ＭＢの存在するフレームの１つ前のフレームにおける、当該ＭＢと同位置及びその周辺の９個のＭＢ（前ＭＢとする）それぞれについて以下の処理を行う。
動き検出装置４は、前ＭＭＢIV領域８９から前ＭＢ対応する前ＭＭＢIVを９個読出し、それぞれの値が１であるか否かを識別する（ステップ１２３）。
【００６４】
識別の結果、前ＭＭＢIV＝１であれば、ＭＢ数IVに１を加える（ステップ１２４）。
動き検出装置４は９個の前ＭＢに対してステップ１２２、１２３を繰り返してＭＢ数IVを計数する。
（ステップ５の説明）
この処理によって動き検出装置４は、時間的に連続して移動する動きを表わさないＭＢを動きＭＢでないと判定し、それにより誤検出を低減している。これは動いている人間等を表わす画像部分は、複数フレームに亙って、同位置あるいはその付近のＭＢが動きＭＢになるはずであるという仮定に基づいている。
【００６５】
以上本実施形態の動き検出装置４は、MPEGビデオエンコーダ２より出力される最小差分総和ＡＥ、ゼロ差分総和ＡＥ０、ＭＶを用いてステップ１〜５の判定処理を行うことによって動きＭＢを検出する。特に動き検出装置は、ステップ２の判定処理、つまりＭＶの大きさ及び方向が一様であるか否かによって動きＭＢであるか否かを判定する処理を行う。これによって動き検出装置は、ライトの点滅等により短時間で激しく輝度が変化するような状況下においても、平坦な部分のＭＢを誤って動きＭＢと判定することが少なくなり、誤検出が低減される。
（第２実施形態）
本実施形態における動き検出装置は、そのＲＡＭ内にフレーム上の警戒領域と警戒方向とを予め記憶している。そして動き検出装置は、動き検出処理によって動きＭＢと判定された動きＭＢが警戒領域内に存在し、かつそれら動きＭＢのＭＶの平均的な方向が警戒方向とほぼ同じである場合に、警報を鳴らす。
【００６６】
以下に第２実施形態の動き検出装置について図面を用いて説明する。
図１３は、第２実施形態における動き検出装置の構成を示すブロック図である。
同図において動き検出装置１３は、ＣＰＵ１３１、ＲＯＭ１３４、ＲＡＭ１３２、入出力Ｉ／Ｆ９、警報発生装置１３３から構成される。この構成中、図３と同じ符号の構成要素は同じものであるので説明を省略し、以下異なる構成要素について説明する。
【００６７】
警報発生装置１３３は、ＣＰＵ１３１の制御によって警報を発生する。
ＲＡＭ１３２は、動きベクトル領域８１、最小差分総和領域８２、ゼロ差分総和領域８３、動きＭＢI領域８４〜動きＭＢV領域８８、前動きＭＢIV、警戒情報領域１３２１から構成される。ＲＡＭ１３２においてＲＡＭ８と同じ符号の記憶領域は同じ内容を記憶する。
【００６８】
警戒情報領域１３２１は、警戒領域データと警戒方向データとを記憶する。
ここで警戒領域データは、矩形の警戒領域を表わし、フレーム上における位置と大きさから構成される。警戒領域は、例えば、店内のレジ付近や出入り口付近等、監視カメラ１により撮影される画像中で特に警戒して監視すべき領域である。
【００６９】
警戒方向データは、方向を示すベクトルの水平成分と垂直成分とから構成される。警戒方向は、動きを表わす物体の特に検出すべき動きの方向を示す。例えばレジ付近の警戒領域内において人間がレジに近づく方向や、出入り口付近の警戒領域内において外から店内に入ってくる方向等、警戒して監視すべき動き方向である。
【００７０】
図１４は、監視カメラ１によって撮影された出入り口を含む店内の画像であり、画像中に設定された警戒領域及び警戒方向とを示す。
同図において点線の矩形１４１はフレーム上に設定された警戒領域を示す。この警戒領域は、店内の入り口付近に設定されている。２重点線１４２は、この警戒領域の警戒方向を示す。この例では、警戒領域の右方向に警戒方向が設定されている。
【００７１】
ＲＯＭ１３４は、ＲＯＭ６と同様動き検出処理を記述したプログラムを記憶し、それに加えて警報発生処理を記述したプログラムを記憶する。
ＣＰＵ１３１は、ＣＰＵ５と同様ＲＯＭ１３４に記憶される動き検出処理を実行するのに加えて、フレーム毎に警報発生処理を実行する。これら２つの処理を実行することによりＣＰＵ１３１は、次の２つの条件を満たす場合に警報発生装置１３３に警報を発生させる。すなわち、条件１：動き検出処理によって検出された動きＭＢが警戒領域内に存在し、条件２：それら動きＭＢのＭＶの平均的な方向が警戒方向とほぼ同じである。
【００７２】
図１５は、警報発生処理の詳細なフローチャートである。
ＣＰＵ１３１は、１フレームの動き検出処理が終了したとき警報発生処理を実行する。
同図においてＣＰＵ１３１は、警戒領域内に動きＭＢが存在するか否かを判定する（ステップ１５１）。詳しくは、ＣＰＵ１３１は、まず警戒情報領域１３２１から警戒領域データを読出す。次にＣＰＵ１３１は、ＭＭＢV領域８８から警戒領域データが示す警戒領域内のＭＢに対応するＭＭＢVを読み出す。ＣＰＵ１３１は、読出したＭＭＢVの値が１であるか否かを判定する。ＣＰＵ１３１は、１つ以上ＭＭＢV＝１のＭＢがあればステップ１５２に進み、１つもＭＭＢV＝１のＭＢがなければ警報発生処理を終了する。
【００７３】
ＣＰＵ１３１は、先に読み出したＭＭＢVのうちＭＭＢV＝１のＭＢについて、そのＭＶの平均的な方向を求める（ステップ１５２）。詳しくは、ＣＰＵ１３１は、ＭＶｘの平均値とＭＶｙの平均値を算出する。
ＣＰＵ１３１は、ＭＶｘ及びＭＶｙの平均値と、警戒方向データの水平成分及び垂直成分とが近いか否かを判定する（ステップ１５３）。この判定は、例えば、ＭＶｘの平均と警戒方向データの水平成分との差と、ＭＶｙの平均値と警戒方向データの垂直成分との差とがしきい値（例えば２０）よりも小さければ近いと判定すればよい。
【００７４】
ＣＰＵ１５３は、ステップ１５３の判定において肯定的に判定したとき警報発生装置１３３に警報を発生させる。
以上のような構成によって、例えば図１４の画像において人間が外から店内に入ってきたとき、ＣＰＵ１５３は、動き検出処理によって人間の動きを表わす動きＭＢを検出する。続いてＣＰＵ１５３は、矩形１４１の警戒領域内に動きＭＢが存在するか否かを判定する。判定の結果、動きＭＢが存在するので、ＣＰＵ１３１はさらに、その動きＭＢのＭＶの平均的な方向が点線１４２に示す警戒方向（右方向）とほぼ同じであるかを判定する。ＣＰＵ１３１は、この判定によりほぼ同じと判定し、警報発生装置１３３に警報を発生させる。
【００７５】
このようにして本実施形態の動き検出装置１３は、動きが警戒領域内に存在してその動きの方向が警戒方向とほぼ同じであるとき警報を発生するので、レジ付近や出入り口付近等に警戒領域及び警戒方向を設定すれば、監視員の監視作業が限定されるので負担が軽減される。
（その他の実施形態）
以上本発明にかかる動き検出装置について実施形態に基づいて説明したが本発明はこれらの実施形態に限らず、以下のようにしてもよい。
（１）実施形態１において図４に示す動き検出処理は、フレーム単位ではなく、ｋ個のＭＢ単位に行われるようにしてもよい。
【００７６】
この場合ｋは以下のことを考慮して決定すればよい。
ステップ２の判定処理では当該ＭＢが動きＭＢであるか否かを判定するには、周囲ＭＢのＭＭＢIの値とＭＶとが必要である。
一方、MPEGビデオエンコーダ２は、ＭＢ毎にフレームの左から右、上から下へと順に符号化を行う。
【００７７】
これらを考慮すると、動き検出装置４は、当該ＭＢの右下に位置する周辺ＭＢのＭＶ及びＭＭＢIの値が取得できた時にステップ２における判定処理を行うことができる。１フレームの水平方向のＭＢが４５個の場合、当該ＭＢの右下に位置する周辺ＭＢは当該ＭＢから符号化の順に数えて４７番目である。したがってこの場合ｋは４７以上にすればよい。
（２）実施形態１において、ステップ１の判定処理のかわりに以下のステップ１Ａの判定処理を用いてもよい。
ステップ１Ａ：
１）ＣＰＵ５は、輝度ブロック（１６画素×１６ライン）を構成する４個の基本輝度ブロック（８画素×８ライン）の分散値を求める。
２）ＣＰＵ５は、４つの分散値の最小値（ＶＡＲmin）を求める。
３）ＣＰＵ５は、
ＶＡＲmin＞しきい値１、かつ｜ＭＶｘ｜＋｜ＭＶｙ｜＞しきい値２
のとき当該ＭＢを動きＭＢと判定する。
【００７８】
ＶＡＲminはアクティビティと呼ばれるものである。アクティビティは、平坦ま画像部分のＭＢでは小さくなり、平坦でない画像部分のＭＢでは大きくなるという特性がある。この特性によりＭＢが平坦な画像部分を表わすＭＢであるか否かを識別することができる。
ＶＡＲmin＞しきい値１は、しきい値１によって平坦な画像部分のＭＢが動きＭＢと判定されないようにしている。また｜ＭＶｘ｜＋｜ＭＶｙ｜＞しきい値２は、画像のゆらぎによって発生する小さなＭＶのために誤って動きＭＢと判定されないようにしている。
（３）実施形態１においてステップ１の判定処理のかわりに以下のステップ１Ｂの判定処理を用いても良い。
ステップ１Ｂ：
各ＭＢについて、そのＭＶが所定のしきい値（例えば０）より大きいＭＢを動きＭＢと判定する。
（３）第１実施形態、上記（１）、（２）において、ステップ１〜５又はステップ１Ａ〜５又はステップ１Ｂ〜５からなる動き検出処理は、順番を入れ替えてもよい。またステップ１、１Ａ、１Ｂ、２〜５すべてを行っても良い。またいくつかのステップを省略してもよい。ステップ２のみでもよい。
（４）第２実施形態においてＣＰＵ１３１は、次のような場合に警報発生装置１３３に警報を発生させるようにしてもよい。すなわち、ＣＰＵ１３１は、連続する複数のフレーム（例えば１５フレーム）に亙って、警戒領域内に動きＭＢが存在すると判定しており、かつそれら動きＭＢのＭＶの平均的な方向が警戒方向とほぼ同じであると判定した場合、警報発生装置１３３に警報を発生させる。
（５）第２実施形態において、警戒方向データは、水平成分と垂直成分とから方向を表わしているが、簡単に右方向、左方向、上方向、下方向の４方向のみを表わすようにしてもよい。
（６）（５）の場合において、ＣＰＵ１３１は、さらに警戒領域内の動きＭＢのＭＶｘ及びＭＶｙの平均に基づいて、ＭＶの平均的な方向が右方向、左方向、上方向、下方向のいずれに属するかを決定し、これによって決定された方向と警戒方向データが示す方向とＭＶの方向とが一致する場合に警報を発生させるようにしてもよい。
この場合例えばＣＰＵ１３１は、
｜ＭＶｘ｜＞｜ＭＶｙ｜、かつ、ＭＶｘ＞０なら左方向、
｜ＭＶｘ｜＞｜ＭＶｙ｜、かつ、ＭＶｘ＜＝０なら右方向、
｜ＭＶｘ｜＜＝｜ＭＶｙ｜、かつ、ＭＶｙ＞０なら上方向、
｜ＭＶｘ｜＜＝｜ＭＶｙ｜、かつ、ＭＶｙ＜＝０なら下方向、
と決定する。
（７）（６）の場合において、監視カメラ１が天井から斜め下方を見下ろす角度で取りつけられている場合であって、かつ、警戒方向が下方向又は上方向、つまり監視カメラ１に近づく方向又は遠ざかる方向に設定されている場合、以下のようにしてもよい。
【００７９】
ＣＰＵ１３１は、次のようにしてＭＶの平均的な方向が４方向のどれに属するかを決定する。すなわち、
｜ＭＶｘ｜＞｜ＭＶｙ｜×ｍ、かつ、ＭＶｘ＞０なら左方向、
｜ＭＶｘ｜＞｜ＭＶｙ｜×ｍ、かつ、ＭＶｘ＜＝０なら右方向、
｜ＭＶｘ｜＜＝｜ＭＶｙ｜×ｍ、かつ、ＭＶｙ＞０なら上方向、
｜ＭＶｘ｜＜＝｜ＭＶｙ｜×ｍ、かつ、ＭＶｙ＜＝０なら下方向
ここでｍは例えば２である。ｍは、監視カメラ１の俯角（監視カメラ１の光軸が天井となす角度）によって変わる。例えば、俯角が浅いほど、ｍをより大きく設定すればよい。これは俯角が浅いほど、動きＭＢの上下方向の動きが左右方向より小さくなるからである。
（８）実施形態１においてMPEGビデオエンコーダ２は、動き検出装置４の検出結果を用いてＭＢ毎の符号化モードを決定するように構成してもよい。
【００８０】
符号化モードは、動き補償予測モードとイントラ符号化モードとの２種類ある。
動き補償予測モードは、参照ブロックと対象ブロックとの差分である予測誤差に対してＤＣＴ符号化及び量子化を施す方式である。このモードは、連続的に移動する動き等、フレーム間の画像の相関が高い場合に高い符号化効率が期待できる。
【００８１】
イントラ符号化モードは、対象ブロックに対してＤＣＴ符号化及び量子化を施す方式である。このモードは、シーンチェンジのようにフレーム間の画像に相関がない場合に用いられる。
ＤＣＴ／量子化部７１８は、以下のようにして符号化モードを決定し、そのモードに応じた符号化を行うようにしてもよい。
ＤＣＴ／量子化部７１８は、
１）対象ＭＢの輝度ブロックの分散ＶＡＲを求める。
２）参照ブロックの輝度信号について平均２乗予測誤差ＭＳＥを求める。
３）ＶＡＲ＜ＭＳＥかつＭＳＥ＞６４のときイントラ符号化モードと決定し、それ以外は動き補償予測モードと仮決定する。
４）対象ＭＢのＭＭＢVの値を動き検出装置４より取得する。
５）ＭＭＶV＝０（静止ＭＢ）の場合であって、３）で動き補償予測モードに仮決定されている場合、イントラ符号化モードに変更する。
【００８２】
このように構成することにより、MPEGビデオエンコーダ２は、静止ＭＢを動き補償予測モードで符号化してしまうのを防ぐことができる。
【００９２】
【発明の効果】
本発明の動き検出装置は、カメラから入力される映像を順次圧縮符号化するビデオエンコーダに接続され、画像中の物体の動きを検出する動き検出装置であって、ビデオエンコーダからブロック毎に算出される動きベクトルと、ブロックに対応する参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第１差分総和と、ブロックの動きベクトルが指す参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第２差分総和とを取得し、ブロックに対応させてメモリに格納する取得手段と、（第１差分総和）−（第２差分総和）＞＝（しきい値）を満たすブロックを、動いている物体の一部を表わす動きブロックと判定する判定手段とを備える。
【００９３】
この構成によれば、判定手段は、第２差分総和と第１差分総和との差がしきい値より大きい場合に当該ブロックを動きと判定する。これにより動き検出装置は、小さいフリッカーが発生している状況下において、輝度分布が一様な平坦な部分で動きベクトルが発生するが、それが原因でその部分のブロックを誤って動きとして検出する誤検出が低減されるという効果がある。
【００９４】
判定手段により誤検出が低減されるのは以下の理由による。
説明のために短時間に大きな輝度変化がある場合の画像を、動きを表わす画像部分（動き部分と略す）と動きを表わさない画像部分とに分け、さらに動きを表わさない画像部分を平坦な部分を表わす画像部分（平坦部分と略す）と平坦でない部分を表わす画像部分（平坦でない部分と略す）とに分ける。小さいフリッカーが発生している状況下では平坦部分及び動き部分において動きベクトルが発生する。このため動きベクトルの大きさによって動きを検出する従来の動き検出装置においては、平坦部分を動きとして検出してしまう。
【００９５】
これに対し平坦部分及び平坦でない部分においてはゼロ差分総和と最小差分総和との差が小さく、動き部分においては前記差は大きくなるという特性がある。これを利用して本発明の動き検出装置は、判定手段が前記差がしきい値より大きいか否かによって動きであるか否かを判定するので、平坦部分は動きとして検出されない。
【００９６】
また、前記動き検出装置は、さらに、フレーム内における警戒領域及び警戒方向をそれぞれ示すデータを記憶する記憶手段と、前記記憶手段に記憶されているデータを用いて、前記判定手段により動きブロックと判定された各ブロックが前記警戒領域内に存在するかどうかを判定し、それらのブロックが前記警戒領域内に存在する場合に、それらのブロックの平均動きベクトルの水平成分および垂直成分の各符号と、前記警戒方向の水平成分および垂直成分の各符号とを照合して双方の方向が同じかどうかを判定する領域判定手段と、前記領域判定手段の判定結果に基づいて警報を発生する警報手段とを備える。
この構成によれば動き検出装置は、さらに領域判定手段が警戒領域と定められた領域内に動きブロックが存在すると判定した場合に、警報手段が警報を発生する。これにより監視作業を行う監視員は、警報手段の警報が発生した場合のみ映像に注目すれば良いので監視作業にかかる負担が軽減されるという効果がある。また、警報手段による警報の発生は、警戒領域内において警戒方向に進む動きがある場合に限定される。よって動き検出装置は、例えば店内において入り口からの侵入やレジ、金庫への接近等があった場合に警報手段が警報を発生するよう構成することができる。そのような構成において監視員は、より監視作業にかかる負担が軽減されるという効果がある。
また、前記動き検出装置は、さらに、前記判定手段によって動きブロックと判定された各ブロックについて、｜（第１差分総和）−（第２差分総和）｜／（｜水平ＭＶ｜＋｜垂直ＭＶ｜＋１）＞＝（第２しきい値）を満たす場合に動きブロックであると判定し、そうでない場合は静止ブロックであると判定し、前記判定手段によって静止ブロックと判定された各ブロックについては静止ブロックと判定する第２判定手段を備える。
【００９７】
ライトが点滅している状況下において、動きのない平坦部分では、上式の左辺が第２しきい値より小さくなるという特性がある。
この特性を利用して第２判定手段は、しきい値より大きいブロックのみを動きブロックであると判定するので、上記効果に加えて誤検出が低減されるという効果がある。
【０１０１】
また本発明の動き検出プログラムを記録した記録媒体は、カメラから入力される映像を順次圧縮符号化するビデオエンコーダにより出力される動きベクトルを用いて、コンピュータに画像中の物体の動きを検出させるためのプログラムを記録している記録媒体であって、当該プログラムはコンピュータに、ビデオエンコーダからブロック毎に算出される動きベクトルと、ブロックに対応する参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第１差分総和と、ブロックの動きベクトルが指す参照フレーム中の矩形領域と当該ブロックとの各画素の輝度差の絶対値の総和である第２差分総和とを取得し、ブロックに対応させてメモリに格納する取得ステップと、（第１差分総和）−（第２差分総和）＞＝（しきい値）を満たすブロックを、動いている物体の一部を表わす動きブロックと判定する判定ステップとを実行させるよう構成される。
【０１０２】
このようなステップからなるプログラムにおいては、判定ステップは、第２差分総和と第１差分総和との差がしきい値より大きい場合に当該ブロックを動きと判定する。これにより動き検出装置は、小さいフリッカーが発生している状況下において、輝度分布が一様な平坦な部分で動きベクトルが発生するが、それが原因でその部分のブロックを誤って動きとして検出する誤検出が低減されるという効果がある。
【図面の簡単な説明】
【図１】動き検出装置とその周辺装置からなる動き検出システムの概略構成を示すブロック図である。
【図２】  MPEGビデオエンコーダ２の構成を示すブロック図である。
【図３】動き検出装置４の構成を示すブロック図である。
【図４】動き検出処理の概略を示すフローチャートである。
【図５】ステップ１のフローチャートを示す。
【図６】（ａ）ステップ２のフローチャートを示す。
（ｂ）当該ＭＢと周囲ＭＢとの位置関係を示す。
【図７】ステップ６３におけるＭＢ数I及びIIの計数処理の詳細を示すフローチャートである。
【図８】ステップ３のフローチャートを示す。
【図９】ステップ４のフローチャートを示す。
【図１０】ステップ９３におけるＭＢ数III計数処理を詳細に示すフローチャートである。
【図１１】ステップ５のフローチャートを示す。
【図１２】ＭＢ数IV計数処理のより詳細なフローチャートである。
【図１３】第２実施形態における動き検出装置の構成を示すブロック図である。
【図１４】監視カメラ１によって撮影された出入り口を含む店内の画像であり、画像中に設定された警戒領域及び警戒方向とを示す。
【図１５】警報発生処理の詳細なフローチャートである。
【符号の説明】
１      監視カメラ
２      MPEGビデオエンコーダ
３      録画再生装置
４      動き検出装置
５      ＣＰＵ
６      ＲＯＭ
８      ＲＡＭ
９      入出力Ｉ／Ｆ
７１２  変換部
７１５  動き補償部
７１７  差分部
７１８  ＤＣＴ／量子化部
７１ｂ  可変長符号化部
７１９  逆ＤＣＴ／逆量子化部
７１ａ  加算部
７１４  フレームメモリ
【図１】
0003779494.tif 000002
【図２】
0003779494.tif 000003
【図３】
0003779494.tif 000004
【図４】
0003779494.tif 000005
【図５】
0003779494.tif 000006
【図６】
0003779494.tif 000007
【図７】
0003779494.tif 000008
【図８】
0003779494.tif 000009
【図９】
0003779494.tif 000010
【図１０】
0003779494.tif 000011
【図１１】
0003779494.tif 000012
【図１２】
0003779494.tif 000013
【図１３】
0003779494.tif 000014
【図１４】
0003779494.tif 000015
【図１５】
0003779494.tif 000016