【0001】
【発明の属する技術分野】
この発明は、動画像移動物体検出装置及方法に関する。
【0002】
【従来の技術】
移動物体検出をするためには、一般に画素毎の動きを調べること必要がある。しかし、画素毎に動きを調べる処理は、実は、多くの計算量を必要とするという問題がある。例えば、ITU−T H。261、H。263、ISO/IEC MPEG−4等でよく用いられるCIFフォーマットの場合、横352画素、縦288画素で合計101376画素もの画素について、動きを検出することになる。このような計算量の多い処理に対しては、専用のハードウェアを用意する必要があったりして、コスト面でも大きな問題があった。
【0003】
そこで、特開平9−252467号公報「移動物体検出装置」では、動画像符号化装置で作られた動きベクトルから、移動物体を検出する手法が考案されている。この方法によれば、動画像符号化装置で作成されるブロック毎の動きベクトルを用いるので、移動物体検出のために特別に画素の動きを調べる必要がなく、大幅に計算量を減らすことができる。
【0004】
しかし、従来の符号化データを用いた移動物体検出技術の問題点としては、動きベクトルが大きいブロックや書き換わっているブロックが必ずしも移動物体とは限らず、また、移動物体の内部のブロックでも、書き換わっていないブロックが存在したりして、監視などに用いることを考えた場合、必ずしも必要な映像が得ることができなかった。
【0005】
【発明が解決しようとする課題】
上述したように、従来技術によると移動物体を検出するためには、多くの計算量を必要とするという問題点があり、動画像符号化データを用いた方法では精度に問題があった。
【0006】
本発明は、高速でかつ安定して精度よく移動物体を検出することのできる動画像移動物体検出装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明の動画像移動物体検出装置は、フレーム内符号化を行う第1のモード、フレーム間符号化を行う第2のモードおよび符号化不要として符号化する第3のモードのいずれかのモードによりマクロブロック毎に符号化された動画像データを復号する動画像復号化手段と、その復号結果からフレーム内のマクロブロック毎の画像が静止状態か動状態かを判定するマクロブロック静動判定手段と、当該マクロブロック毎の静動判定結果から移動物体を判定する手段と、判定された移動物体の画像を前記動画像復号化手段により復号された画像信号と合成して表示する表示手段とを有する動画像移動物体検出装置において、前記マクロブロック静動判定手段は(1)前記動画像復号化手段により復号されたマクロブロックが前記第1のモードにより符号化されていた場合には、その復号された画像信号と1フレーム前の画像信号との差分の大きさに基づいて、(2)前記動画像復号化手段により復号されたマクロブロックが前記第2のモードにより符号化されていた場合には、当該マクロブロックの動きベクトル及び変換係数の大きさに基づいて、それぞれ当該マクロブロック毎の画像が静止状態か動状態かを判定し、(3)前記動画像復号化手段により復号されたマクロブロックが前記第3のモードにより符号化されていた場合には、当該マクロブロックの画像は静止状態と判定することを特徴とする。
また本発明の動画像移動物体検出装置は、フレーム内符号化を行う第1のモード、フレーム間符号化を行う第2のモードおよび符号化不要として符号化する第3のモードのいずれかのモードによりマクロブロック毎に動画像を符号化する手段と、この符号化手段により符号化された動画像データをマクロブロック毎に局部復号する動画像復号化手段と、前記符号化手段で符号化された結果からフレーム内のマクロブロック毎の画像が静止状態か動状態かを判定するマクロブロック静動判定手段と、当該マクロブロック毎の静動判定結果から移動物体を判定する手段と、判定された移動物体の画像を前記動画像復号化手段により復号された画像信号と合成して表示する表示手段とを有する動画像移動物体検出装置において、前記マクロブロック静動判定手段は(1)前記動画像符号化手段により符号化されたマクロブロックが前記第1のモードにより符号化された場合には、そのマクロブロックが前記動画像復号化手段により復号された画像信号と1フレーム前の画像信号との差分の大きさに基づいて、(2)前記動画像符号化手段により符号化されたマクロブロックが前記第2のモードにより符号化された場合には、当該マクロブロックの動きベクトル及び変換係数の大きさに基づいて、それぞれ当該マクロブロック毎の画像が静止状態か動状態かを判定し、(3)前記動画像符号化手段により符号化されたマクロブロックが前記第3のモードにより符号化されていた場合には、当該マクロブロックの画像は静止状態と判定することを特徴とする。
また本発明の動画像移動物体検出方法は、フレーム内符号化を行う第1のモード、フレーム間符号化を行う第2のモードおよび符号化不要として符号化する第3のモードのいずれかのモードによりマクロブロック毎に符号化された動画像データを復号する動画像復号化ステップと、その復号結果からフレーム内のマクロブロック毎の画像が静止状態か動状態かを判定するマクロブロック静動判定ステップと、当該マクロブロック毎の静動判定結果から移動物体を判定するステップと、判定された移動物体の画像を前記動画像復号化ステップにより復号された画像信号と合成して表示するステップとを有する動画像移動物体検出方法において、前記マクロブロック静動判定ステップは(1)前記動画像復号化ステップにより復号されたマクロブロックが前記第1のモードにより符号化されていた場合には、その復号された画像信号と1フレーム前の画像信号との差分の大きさに基づいて、(2)前記動画像復号化ステップにより復号されたマクロブロックが前記第2のモードにより符号化されていた場合には、当該マクロブロックの動きベクトル及び変換係数の大きさに基づいて、それぞれ当該マクロブロック毎の画像が静止状態か動状態かを判定し、(3)前記動画像復号化ステップにより復号されたマクロブロックが前記第3のモードにより符号化されていた場合には、当該マクロブロックの画像は静止状態と判定することを特徴とする。
【0008】
この動画像移動物体検出装置の復号されたブロック毎を復号結果からブロック内の画像が静止状態か動状態かを判定する手段は、動画像復号化手段によって復号されたブロック毎のモード情報と、動きベクトル情報と、変換係数情報と、現在の再生画像信号と1フレーム前の再生画像との差分から、ブロックが静止状態か、動状態かを判定する。
【0009】
このように、動画像復号化装置と移動物体の検出を組み合わせることにより、復号化と同時に実行できるともに、ブロック毎の静動判定結果から、移動物体を検出する範囲を大幅に絞り込むことができるため、高速に移動物体検出が可能となる。
【0010】
また、本発明に係る動画像移動物体検出装置は、動画像を符号化する動画像符号化手段と、移動物体検出手段と、動画像を圧縮した符号化データを復号する動画像復号化手段とを有し、前記移動物体検出手段は、前記動画像符号化手段によって符号化されたブロック毎を符号化結果からブロック内の画像が静止状態か動状態かを判定する手段と、ブロック毎の静動判定結果から移動物体を判定する手段と、前記動画像符号化手段は、移動物体の判定結果を符号化データと多重化して伝送し、前記動画像復号化手段は、符号化データを復号し、再生画像信号と、移動物体の判定結果を合成して表示する手段とを有する。
【0011】
この動画像移動物体検出装置の符号化されたブロック毎を符号化結果からブロック内の画像が静止状態か動状態かを判定する手段は、動画像符号化手段によって復号されたブロック毎のモード情報と、動きベクトル情報と、変換係数情報と、現在の再生画像信号と1フレーム前の再生画像との差分から、ブロックが静止状態か、動状態かを判定する。
【0012】
この動画像移動物体検出装置は、判定した移動物体の領域を動画像符号手段と前記動画像符号化手段によって作成された局部画像信号と合成して表示する手段を有する。
【0013】
このように、動画像符号化装置と移動物体の検出を組み合わせることにより、符号化と同時に実行できるともに、ブロック毎の静動判定結果から、移動物体を検出する範囲を大幅に絞り込むことができるため、高速に移動物体検出が可能となる。
【0014】
また、これらの動画像移動物体検出装置のブロック毎の静動判定結果から移動物体を判定する手段は、ブロック内の画像が動状態のブロックを包含する図形で移動物体を判定する。
【0015】
このような処理により、検出誤差の影響を抑えることができ、検出結果をより明確に表示することができる。
【0016】
【発明の実施の形態】
(第1の実施の形態)
以下、図面を参照して本発明の第1の実施形態を説明する。図1は、本発明の実施形態の動画像移動物体検出装置の構成を示すブロック図である。
【0017】
図1は、本発明の実施形態の動画像移動物体検出装置の構成を示すブロック図である。図1の動画像移動物体検出装置は、動画像復号化部110と移動物体検出部115の2つの部分から成り立っている。
【0018】
動画像復号化部110においては、まず、伝送路または蓄積系から受信した符号化データは、入力バッファ101に一度蓄えられ、多重化分離部102により1フレーム毎にシンタクスに基づいて分離し、可変長復号化部103に出力する。可変長復号化部103では、各シンタクスの情報の可変長符号の復号をおこなう。
【0019】
可変長復号化部103において、マクロブロックのモードがINTRAならば、モード切替スイッチ109をオフに選択して、可変長復号化部103で復号化された量子化DCT係数情報は、逆量子化部104で逆量子化され、IDCT部105で逆離散コサイン変換処理をおこなうことにより、再生画像信号を生成させる。この再生画像信号は、フレームメモリ107に参照画像として蓄積される一方、移動物体検出部115内の移動物体合成表示部114に入力される。
【0020】
可変長復号化部103において、マクロブロックのモードがINTER及びNOT_CODEDならば、モード切替スイッチ109をオフに選択して、可変長復号化部103で復号化された量子化DCT係数情報は、逆量子化部104で逆量子化され、IDCT部105で逆離散コサイン変換処理をおこない、可変長復号化部103で復号化された動きベクトル情報に基づいて、動き補償部108において参照画像を動き補償し、加算器106で足しあわせて、再生画像信号を生成させる。この再生画像信号は、フレームメモリ107に参照画像として蓄積される一方、移動物体検出部115内の移動物体合成表示部114に入力される。
【0021】
一方、移動物体検出部115においては、図2の流れ図のように、1フレーム毎にマクロブロック静動判定(S101)、移動物体判定(S102)、移動物体合成表示(S103)の3つの処理をそれぞれ、マクロブロック静動判定部111、移動物体判定部112、移動物体合成表示部114で行う。
【0022】
マクロブロック静動判定部111では、可変長復号部103において復号されたモード情報、動きベクトル情報、DCT係数情報と、減算器112で求めたINTRAマクロブロックの時の再生画像信号と1フレーム前のフレームメモリとの差分絶対値和(SAD)から、フレーム内のマクロブロック毎の静動判定を行う。
【0023】
図3は、マクロブロック静動判定(S101)の具体的な流れ図である。ここで、iとjは、フレーム内の垂直方向と水平方向のマクロブロックのアドレスをそれぞれ表し、V_NMBとH_NMBはフレーム内の垂直方向と水平方向のマクロブロック数を表している。2次元配列M[i][j]は、各マクロブロックが動マクロブロックか否かの情報を蓄える配列で、TRUEならば動マクロブロック、FALSEならば静止マクロブロックを表す。
【0024】
まず、マクロブロック毎に可変長復号化部103からのモード情報MODEの判定を行う。(S203)
もし、MODEがINTRAならば、そのマクロブロックの再生画像信号と1フレーム前のフレームメモリとの差分絶対値和(SAD)を計算し、閾値T0と比較を行う。(S204)もし、閾値T0よりも大きい場合、そのマクロブロックは動マクロブロックと判定し、 M[i][j]にTRUEが代入される。(S206)閾値T0以下の場合、そのマクロブロックは静止マクロブロックと判定し、 M[i][j]にFALSEが代入される。(S207)
もし、MODEがINTERならば、可変長復号化部103からの動きベクトル情報及びDCT係数情報から、そのマクロブロックの動きベクトルの絶対値和Σ|MV|及び、DCT係数の絶対値和Σ|COF|を計算し、それぞれの閾値T1、T2と比較を行う。(S205)もし、動きベクトルの絶対値和と、DCT係数の絶対値和が閾値よりも小さければ、そのマクロブロックは静止マクロブロックと判定し、 M[i][j]にFALSEが代入される。(S207)そうでない場合には、そのマクロブロックは動マクロブロックと判定し、 M[i][j]にTRUEが代入される。(S206)
もし、NOT_CODEDならは、そのマクロブロックは静止マクロブロックと判定し、 M[i][j]にFALSEが代入される。(S207)
移動物体判定部113では、マクロブロック静動判定部112のマクロブロック毎の静動判定情報から、移動物体の判定を行う。図4は、その具体的な流れ図である。図4で示すように処理内容は、雑音除去処理(S301)と移動物体包含処理(S302)の2つから成り立っている。雑音除去処理(S301)では、背景画像の小物体の揺らぎや画像取り込み時の雑音によって動マクロブロックと誤検出されてしまう防止するために、周囲8マクロブロックが全て静止している動マクロブロックを取り除いている。移動物体包含処理(S302)は、雑音を取り除いた後の静動判定結果から、隣接して動マクロブロックが存在する領域を包含する最小の長方形の検出する処理を行う。この処理で、移動物体を包含する長方形を見つけることができる。
【0025】
図5は、雑音除去処理の具体的な処理内容である。図3と同様に、iとjは、フレーム内の垂直方向と水平方向のマクロブロックのアドレスをそれぞれ表し、V_NMBとH_NMBはフレーム内の垂直方向と水平方向のマクロブロック数を表している。2次元配列M[i][j]は、各マクロブロックが動マクロブロックか否かの情報を蓄える配列で、TRUEならば動マクロブロック、FALSEならば静止マクロブロックを表す。
【0026】
まず、マクロブロック毎の静動判定結果をみる。(S403)もし、2次元配列M[i][j]の値がFALSE、つまり、静止マクロブロックならば、そのマクロブロックでは何も行わず、次のマクロブロックにいく。もし、2次元配列M[i][j]の値がTURE、つまり、動マクロブロックならば、そのマクロブロックの周囲8マクロブロックの静動判定結果をチェックし(S405)、全て、FALSEつまり静止マクロブロックならば、そのマクロブロックは、雑音であると判定し、静止マクロブロックに書き換える。(S406)もし、周囲8マクロブロックのうち一つでもTUREがあれば、雑音とは判定せず、次のマクロブロックに移る。なお、画面の外側については、静止マクロブロックとして仮定している。
【0027】
図6から図8は、移動物体包含処理の具体的な処理内容である。ここで、nは、移動物体の数を示すカウンタであり、S1 ̄S4は、移動物体を包含する長方形を探索する範囲を示すパラメータで、S1、S2は、垂直方向のアドレスの始点と終点であり、S3、S4は、水平方向のアドレスの始点と終点である。
【0028】
図6の流れ図は、探索範囲としてフレーム全体を指定するように、初期化を行う。(S501)次に指定された探索範囲で移動物体を包含する最小の長方形を探索する関数Rectangularを呼び出す。(S502)
図7、図8の流れ図は、関数Rectangularの処理の内容を示している。関数Rectangularは、探索範囲であるS1〜S4と移動物体の数を示すnと各マクロブロックの静動判定結果の格納された2次元配列Mを入力とし、探索結果の長方形のアドレスを格納した1次元配列B1〜B4と移動物体の数を示すnとを出力とする。ここで、1次元配列HVは、垂直方向の動マクロブロックの数のヒストグラムを作成するための作業配列であり、1次元配列HHは、水平方向の動マクロブロックの数のヒストグラムを作成するための作業配列である。また、変数VFLAGは、水平方向のヒストグラムの値が0でない状態の時にTRUEとなり、値が0の時にFALSEとなるように変更されるフラグであり、変数HFLAGは、垂直方向のヒストグラムの値が0でない状態の時にTRUEとなり、値が0の時にFALSEとなるように変更されるフラグである。
【0029】
まず、垂直方向の動マクロブロックの数のヒストグラムを作成するための作業配列HVの探索範囲であるS1〜S2の範囲を値0で初期化する。(S601)次のLOOP1とLOOP2の2重ループでは、探索範囲での垂直方向の動マクロブロックの数のヒストグラムを作成している。つまり、マクロブロック毎の静動判定結果M[i][j]の値を比較し(S604)、値がTURE、つまり、動マクロブロックならば、HV[i]をプラス1し(S605)、FALSEの場合は、何もしないという動作をとっている。
【0030】
次に、その垂直方向のヒストグラムの中から、0でない連続した部分を探索する。まず、フラグVFLAGをFALSEにセットする。(S608)次に、探索範囲S1からS2の順序で、ヒストグラムHVが0でなく、VFLAGがFALSEであるかをチェックする。(S610)この条件に当てはまるのは、ヒストグラムが0でない連続した部分の始点の部分である。従って、探索している長方形の垂直方向の始点の候補となるので、1次元配列B1[n]にアドレスiを格納し、VFLAGをTUREにセットする。(S611)
次に、ヒストグラムHVが0あるいは、探索範囲の終点で、VFLAGがTUREであるかをチェックする。(S612)この条件に当てはまるのは、ヒストグラムが0でない連続した部分の終点の部分である。従って、探索している長方形の垂直方向の終点の候補となるので、もし、ヒストグラムHVが0の場合は、1次元配列B2[n]にアドレスi−1を格納し(S614)、そうでない場合は、1次元配列B2[n]にアドレスiを格納する。(S615)そして、VFLAGを再びFALSEにセットする。(S611)
図8は、図7の流れ図の続きである。今度は、水平方向の動マクロブロックの数のヒストグラムを作成するための作業配列HVの探索範囲であるS3〜S4の範囲を値0で初期化する。(S617)次のLOOP4とLOOP5の2重ループでは、探索範囲での水平方向の動マクロブロックの数のヒストグラムを作成している。つまり、マクロブロック毎の静動判定結果M[i][j]の値を比較し(S604)、値がTURE、つまり、動マクロブロックならば、HH[i]をプラス1し(S605)、FALSEの場合は、何もしないという動作をとっている。
【0031】
次に、その水平方向のヒストグラムの中から、0でない連続した部分を探索する。まず、フラグHFLAGをFALSEにセットする。(S624)次に、探索範囲S3からS4の順序で、ヒストグラムHHが0でなく、HFLAGがFALSEであるかをチェックする。(S626)この条件に当てはまるのは、ヒストグラムが0でない連続した部分の始点の部分である。従って、探索している長方形の水平方向の始点の候補となるので、1次元配列B3[n]にアドレスjを格納し、HFLAGをTUREにセットする。(S627)
次に、ヒストグラムHHが0あるいは、探索範囲の終点で、HFLAGがTUREであるかをチェックする。(S628)この条件に当てはまるのは、ヒストグラムが0でない連続した部分の終点の部分である。従って、探索している長方形の水平方向の終点の候補となるので、もし、ヒストグラムHHが0の場合は、1次元配列B4[n]にアドレスj−1を格納し(S630)、そうでない場合は、1次元配列B4[n]にアドレスjを格納する。(S631)そして、HFLAGを再びFALSEにセットする。(S632)
ここで、1通りの垂直方向と水平方向のヒストグラムによる探索が終了したが、探索した結果B1[n]〜B4[n]が探索範囲S1〜S4と一致するかをチェックして(S633)、一致する場合は、もうこれ以上探索する範囲がないので、最小の長方形が求まっていると判定できる。(S634)そして、移動物体の数を表すnをプラス1して(S635)、次の移動物体の探索に移る。探索した結果B1[n]〜B4[n]が探索範囲S1〜S4と一致しない場合、探索した結果の範囲にまだ複数の移動物体が存在するので、探索した結果B1[n]〜B4[n]をS1〜S4に移し替えて(S637)、再び、関数Rectangularを呼び出す。(S637)
図9は、移動物体判定部113の判定結果の例である。ここでは、2つの移動物体を判定した。それぞれの判定結果は、図に示すようにこの例では、マクロブックのアドレスの原点は、フレームの左上であり、B1[0]〜B4[0]とB1[1]〜B4[1]のような配置で移動物体を判定している。
【0032】
移動物体合成表示部114では、移動物体判定部113で判定した移動物体の領域と再生動画像信号を合成した画像を作成する。図10は、その具体的な流れ図である。ここで、nは、移動物体判定部113で求めたフレーム内の移動物体数を示している。処理の流れとしては、移動物体毎に、B1[i]〜 B4[i]が移動物体の4角のマクロブロックを表しているので、それを囲むような長方形の白い線を描き、再生画像と合成する。(S602)
図11は、移動物体合成表示部によって作成された画像の例である。
(第2の実施の形態)
図12と図13は、本発明の第2の実施形態の動画像移動物体検出装置の構成を示すブロック図である。この実施の形態において、移動物体検出部は、動画像符号化部と組み合わされている。
【0033】
図12において、入力動画像信号は、ブロック化回路201でマクロブロックに分割される。マクロブロックに分割された入力動画像信号は、減算器202に入力され、予測画像信号との差分がとられて、予測残差信号が生成される。この予測残差信号と、ブロック化回路201からの入力動画像信号のいずれか一方を、モード選択スイッチ203によって選択し、DCT(離散コサイン変換)回路204により離散コサイン変換される。DCT回路204で得られDCT係数データは、量子化回路205で量子化される。量子化器205で量子化された信号は2分岐され、一方は可変長符号化回路215で可変長符号化される。
【0034】
一方、量子化回路205で量子化され2分岐された信号の他方は、逆量子化回路206及びIDCT(逆離散コサイン変換)回路207により量子化回路205およびDCT回路204の処理と逆の処理を順次受けた後、加算器208でスイッチ211を介して入力される予測画像信号と加算されることにより、局部復号信号が生成される。この局部復号信号は、フレームメモリ209に蓄えられ、動き補償回路210に入力される。動き補償回路210では、予測画像信号が生成されるとともに、モード選択回路203に必要な情報を送る。
【0035】
モード選択回路212では、マクロブロック単位に動き補償回路210からの予測情報Pに基づいて、フレーム間符号化をおこなうマクロブロックとフレーム内符号化をおこなうマクロブロックを選択する。フレーム内符号化(イントラ符号化)をおこなう場合は、モード選択スイッチ情報MをAとし、スイッチ情報SをAとする。フレーム間符号化(インター符号化)をおこなう場合は、モード選択スイッチ情報MをBとし、スイッチ情報SをBとする。モード選択スイッチ203ではモード選択スイッチ情報Pに基づき、スイッチを変更し、また、スイッチ216ではスイッチ情報Sに基づき、スイッチを変更する。
【0036】
ここで、モードとして、イントラモード(INTRA)、インターモード(INTER)、非符号化モード(NOT_CODED)があり、各マクロブロック毎に対応づけられ、INTRAのマクロブロックはフレーム内符号化される画像領域、INTERのマクロブロックはフレーム間符号化される画像領域、NOT_CODEDのマクロブロックは、符号化不要の画像領域である。
【0037】
一方、移動物体検出部222においては、まず、可変長符号化部214に入力されたモード情報、動きベクトル情報、DCT係数情報をマクロブロック静動判定部に入力し、その判定結果を移動物体判定部220に入力する。移動物体判定部220で、判定された結果は、移動物体合成表示部に入力されるとともに、動画像符号化部218の多重化部215に入力される。移動物体合成部221では、動画像符号化部によって作成された局部復号信号と移動物体を合成した画像を作成し、局部再生信号として出力する。なお、マクロブロック静動判定部219、移動物体判定部220、移動物体合成表示部221の具体的な処理内容は、第1の実施の形態のでの図2〜図11の処理と同一である。
【0038】
符号化制御回路214では、符号化部218の符号化情報と出力バッファ216のバッファ量をもとに符号化部217を制御する。可変長符号化回路214で符号化された符号化データは、移動物体判定部220からの移動物体判定結果とともに、多重化回路216で多重化され、出力バッファ217で送信レートを平滑化され、符号化データとして伝送系または蓄積系に送られる。
【0039】
図13は、図12の符号化側に対する復号化側のブロック図である。
【0040】
まず、動画像復号化部310においては、まず、伝送路または蓄積系から受信した符号化データは、入力バッファ301に一度蓄えられ、多重化分離部302により1フレーム毎にシンタクスに基づいて分離し、可変長復号化部303に出力する。可変長復号化部303では、各シンタクスの情報の可変長符号の復号をおこなう。
【0041】
可変長復号化部303において、マクロブロックのモードがINTRAならば、モード切替スイッチ309をオフに選択して、可変長復号化部303で復号化された量子化DCT係数情報は、逆量子化部304で逆量子化され、IDCT部305で逆離散コサイン変換処理をおこなうことにより、再生画像信号を生成させる。この再生画像信号は、フレームメモリ307に参照画像として蓄積される一方、移動物体検出部115内の移動物体合成表示部311に入力される。
【0042】
可変長復号化部303において、マクロブロックのモードがINTER及びNOT_CODEDならば、モード切替スイッチ309をオフに選択して、可変長復号化部303で復号化された量子化DCT係数情報は、逆量子化部304で逆量子化され、IDCT部305で逆離散コサイン変換処理をおこない、可変長復号化部303で復号化された動きベクトル情報に基づいて、動き補償部308において参照画像を動き補償し、加算器306で足しあわせて、再生画像信号を生成させる。この再生画像信号は、フレームメモリ307に参照画像として蓄積される一方、移動物体合成表示部311に入力される。
【0043】
一方、多重化分離部で、分離された移動物体判定結果は、移動物体合成表示部311に入力され、図10の流れ図に従って動作する。
【0044】
【発明の効果】
以上、説明したように本発明のよれば、高速でかつ安定して精度よく移動物体を検出することのできる動画像移動物体検出装置及び方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態の動画像移動物体検出装置の構成を示すブロック図である。
【図2】本発明の移動物体検出部の動作を示す流れ図である。
【図3】本発明のマクロブロック静動判定部の動作を示す流れ図である。
【図4】本発明の移動物体判定部の動作を示す流れ図である。
【図5】本発明の移動物体判定部の雑音処理の動作を示す流れ図である。
【図6】本発明の移動物体判定部の移動物体包含処理の動作を示す流れ図(その1)である。
【図7】本発明の移動物体判定部の移動物体包含処理の動作を示す流れ図(その2)である。
【図8】本発明の移動物体判定部の移動物体包含処理の動作を示す流れ図(その3)である。
【図9】本発明の移動物体判定部の判定結果の例を示す図である。
【図10】本発明の移動物体合成表示部の動作を示す流れ図である。
【図11】本発明の移動物体判定部の表示結果の例を示す図である。
【図12】本発明の第2の実施形態の動画像移動物体検出装置の符号化側の構成を示すブロック図である。
【図13】本発明の第2の実施形態の動画像移動物体検出装置の復号化側の構成を示すブロック図である。
【符号の説明】
101…入力バッファ
102…多重化分離部
103…可変長復号化部
104…逆量子化部
105…IDCT部
106…加算器
107…フレームメモリ
108…動き補償部
109…モード切替スイッチ
110…動画像復号化部
111…マクロブロック静動判定部
112…減算器
113…移動物体判定部
114…移動物体合成表示部
115…移動物体検出部
201…ブロック化回路
202…減算器
203…モード選択スイッチ
204…DCT回路
205…量子化回路
206…逆量子化回路
207…IDCT回路
208…加算器
209…フレームメモリ
210…動き補償回路
211…スイッチ
212…モード選択回路
213…符号化制御回路
214…可変長符号化回路
215…多重化回路
216…出力バッファ
217…符号化部
218…動画像符号化部
219…マクロブロック静動判定部
220…移動物体判定部
221…移動物体合成表示部
222…移動物体検出部
301…入力バッファ
302…多重化分離部
303…可変長復号化部
304…逆量子化部
305…IDCT部
306…加算器
307…フレームメモリ
308…動き補償部
309…モード切替スイッチ
310…動画像復号化部
311…移動物体合成表示部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a moving image moving object detection device and method.
[0002]
[Prior art]
In order to detect a moving object, it is generally necessary to check the motion of each pixel. However, the process of examining the motion for each pixel actually has a problem that a large amount of calculation is required. For example, ITU-TH. 261, H. In the case of the CIF format that is often used in H.263, ISO / IEC MPEG-4, etc., motion is detected for a total of 101,376 pixels of 352 horizontal pixels and 288 vertical pixels. For such a processing with a large amount of calculation, it is necessary to prepare dedicated hardware, and there has been a great problem in terms of cost.
[0003]
Therefore, Japanese Patent Application Laid-Open No. 9-252467 entitled "Moving Object Detecting Apparatus" has devised a technique for detecting a moving object from a motion vector created by a moving picture coding apparatus. According to this method, since the motion vector for each block created by the moving picture coding apparatus is used, it is not necessary to check the motion of the pixel specifically for detecting the moving object, and the amount of calculation can be greatly reduced. .
[0004]
However, as a problem of the conventional moving object detection technology using coded data, a block having a large motion vector or a rewritten block is not necessarily a moving object, and even a block inside the moving object, When there is a block that has not been rewritten or when it is used for monitoring or the like, it is not always possible to obtain a necessary image.
[0005]
[Problems to be solved by the invention]
As described above, according to the related art, there is a problem that a large amount of calculation is required to detect a moving object, and there is a problem with accuracy in a method using moving image encoded data.
[0006]
An object of the present invention is to provide a moving image moving object detection device capable of detecting a moving object at high speed and stably with high accuracy.
[0007]
[Means for Solving the Problems]
The moving image moving object detection device according to the present invention is configured to perform any one of the first mode for performing intra-frame encoding, the second mode for performing inter-frame encoding, and the third mode for encoding without encoding. Moving image decoding means for decoding moving image data encoded for each macroblock, and macroblock static / moving determining means for determining whether an image for each macroblock in a frame is a stationary state or a moving state from the decoding result; Means for determining a moving object from the result of static / moving determination for each macroblock, and display means for combining and displaying an image of the determined moving object with an image signal decoded by the moving image decoding means. In the moving image moving object detection device, the macroblock still / moving determining means may include: (1) the macroblock decoded by the moving image decoding means is in the first mode; If the macroblock has been encoded, the macroblock decoded by the moving image decoding means is based on the magnitude of the difference between the decoded image signal and the image signal one frame before. In the case of encoding in mode 2, it is determined whether the image of each macroblock is still or moving based on the motion vector and the magnitude of the transform coefficient of the macroblock, and (3) If the macroblock decoded by the video decoding means has been encoded in the third mode, the image of the macroblock is determined to be in a still state.
In addition, the moving image moving object detection device according to the present invention can perform any one of a first mode for performing intra-frame encoding, a second mode for performing inter-frame encoding, and a third mode for encoding without encoding. Means for encoding a moving image for each macroblock, moving image decoding means for locally decoding moving image data encoded by the encoding means for each macroblock, and encoding by the encoding means. Macroblock static / moving determining means for determining whether the image of each macroblock in the frame is still or moving from the result; means for determining a moving object from the static / moving determination result for each macroblock; A moving-image moving object detection device comprising: a display unit that combines an image of an object with an image signal decoded by the moving image decoding unit and displays the synthesized image signal. When the macroblock encoded by the video encoding unit is encoded in the first mode, the motion determination unit determines whether the macroblock has been decoded by the video decoding unit. (2) When the macroblock encoded by the moving image encoding unit is encoded in the second mode based on the difference between the signal and the image signal of one frame before, Based on the motion vector of the macroblock and the magnitude of the transform coefficient, it is determined whether the image of each macroblock is in a still state or a moving state. (3) The macroblock coded by the video coding means is When encoded in the third mode, the image of the macroblock is determined to be in a still state.
Also, the moving image moving object detection method of the present invention provides any one of a first mode for performing intra-frame encoding, a second mode for performing inter-frame encoding, and a third mode for encoding without encoding. A moving image decoding step of decoding moving image data encoded for each macroblock, and a macroblock still / moving determining step of determining whether the image of each macroblock in the frame is in a still state or a moving state from the decoding result And a step of determining a moving object from a result of the static / moving determination for each macroblock, and a step of combining and displaying an image of the determined moving object with the image signal decoded in the moving image decoding step. In the moving image moving object detection method, the macroblock still / moving determination step includes: (1) macroblock decoding performed in the moving image decoding step. If the video has been encoded in the first mode, the video decoding step is performed based on the magnitude of the difference between the decoded image signal and the image signal one frame before. In the case where the macroblock decoded according to the above is encoded in the second mode, the image of each macroblock is set to a static state or a moving state based on the magnitude of the motion vector and the transform coefficient of the macroblock. (3) If the macroblock decoded in the video decoding step has been encoded in the third mode, it is determined that the image of the macroblock is in a still state. Features.
[0008]
The means for determining whether the image in the block is still or moving from the decoding result for each decoded block of the moving image moving object detection device includes mode information for each block decoded by the moving image decoding unit, From the motion vector information, the conversion coefficient information, and the difference between the current reproduced image signal and the reproduced image one frame before, it is determined whether the block is in the stationary state or the moving state.
[0009]
As described above, by combining the moving picture decoding apparatus and the detection of the moving object, the moving object detection can be performed simultaneously with the decoding, and the range of detecting the moving object can be significantly narrowed based on the result of the static motion determination for each block. Thus, a moving object can be detected at high speed.
[0010]
Also, the moving image moving object detection device according to the present invention includes a moving image encoding unit that encodes a moving image, a moving object detection unit, and a moving image decoding unit that decodes encoded data obtained by compressing the moving image. Wherein the moving object detection means determines whether the image in the block is in a still state or a moving state from the coding result of each block coded by the moving image coding means, and a static state for each block. Means for determining a moving object from a moving determination result, the moving image encoding means multiplexes the moving object determination result with coded data and transmits the multiplexed data, and the moving image decoding means decodes the coded data. Means for synthesizing and displaying the reproduced image signal and the determination result of the moving object.
[0011]
The means for determining whether an image in a block is still or moving from an encoded result of each encoded block of the moving image moving object detection device is mode information for each block decoded by the moving image encoding means. From the motion vector information, the conversion coefficient information, and the difference between the current reproduced image signal and the reproduced image one frame before, it is determined whether the block is in the still state or the moving state.
[0012]
This moving image moving object detection device has means for combining and displaying the determined moving object area with the moving image encoding means and the local image signal created by the moving image encoding means.
[0013]
As described above, by combining the moving image encoding apparatus and the detection of the moving object, the moving object can be executed simultaneously with the encoding, and the range of detecting the moving object can be significantly narrowed based on the result of the still / moving determination for each block. Thus, a moving object can be detected at high speed.
[0014]
In addition, the means for determining a moving object from the static / moving determination result for each block of the moving image moving object detection device determines the moving object based on a graphic in which an image in the block includes a moving block.
[0015]
By such processing, the influence of the detection error can be suppressed, and the detection result can be displayed more clearly.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
(First Embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating a configuration of a moving image moving object detection device according to an embodiment of the present invention.
[0017]
FIG. 1 is a block diagram illustrating a configuration of a moving image moving object detection device according to an embodiment of the present invention. The moving image moving object detection device of FIG. 1 includes two parts, a moving image decoding unit 110 and a moving object detection unit 115.
[0018]
In the moving image decoding unit 110, first, the encoded data received from the transmission path or the storage system is once stored in the input buffer 101, and separated by the demultiplexing unit 102 based on the syntax for each frame. Output to long decoding section 103. The variable length decoding unit 103 decodes a variable length code of information of each syntax.
[0019]
If the macroblock mode is INTRA in the variable length decoding unit 103, the mode changeover switch 109 is turned off, and the quantized DCT coefficient information decoded in the variable length decoding unit 103 is output to the inverse quantization unit. The image data is inversely quantized at 104 and subjected to inverse discrete cosine transform processing at the IDCT unit 105 to generate a reproduced image signal. The reproduced image signal is stored in the frame memory 107 as a reference image, and is input to the moving object synthesis display unit 114 in the moving object detection unit 115.
[0020]
If the macroblock mode is INTER or NOT_CODED in the variable length decoding unit 103, the mode changeover switch 109 is selected to be off, and the quantized DCT coefficient information decoded by the variable length The reference image is motion-compensated by the motion compensation unit 108 based on the motion vector information decoded by the IDCT unit 105, inversely cosine-transformed by the IDCT unit 105, and decoded by the variable-length decoding unit 103. , And an adder 106 is added to generate a reproduced image signal. The reproduced image signal is stored in the frame memory 107 as a reference image, and is input to the moving object synthesis display unit 114 in the moving object detection unit 115.
[0021]
On the other hand, as shown in the flowchart of FIG. 2, the moving object detection unit 115 performs three processes of a macroblock still / moving determination (S101), a moving object determination (S102), and a moving object combined display (S103) for each frame. These are performed by the macroblock still / moving determination unit 111, the moving object determination unit 112, and the moving object synthesis display unit 114, respectively.
[0022]
The macroblock still / movement determining unit 111 includes the mode information, the motion vector information, and the DCT coefficient information decoded by the variable-length decoding unit 103, the reproduced image signal of the INTRA macroblock obtained by the subtractor 112, and one frame before. From the sum of absolute differences (SAD) with the frame memory, a still / moving decision is made for each macroblock in the frame.
[0023]
FIG. 3 is a specific flowchart of the macroblock still / movement determination (S101). Here, i and j represent the vertical and horizontal macroblock addresses in the frame, respectively, and V_NMB and H_NMB represent the number of vertical and horizontal macroblocks in the frame. The two-dimensional array M [i] [j] is an array for storing information as to whether each macroblock is a moving macroblock. TRUE indicates a moving macroblock, and FALSE indicates a still macroblock.
[0024]
First, the mode information MODE from the variable length decoding unit 103 is determined for each macroblock. (S203)
If MODE is INTRA, a sum of absolute differences (SAD) between the reproduced image signal of the macro block and the frame memory of one frame before is calculated and compared with the threshold value T0. (S204) If the macroblock is larger than the threshold value T0, the macroblock is determined to be a moving macroblock, and TRUE is substituted for M [i] [j]. (S206) If the value is equal to or smaller than the threshold value T0, the macro block is determined to be a still macro block, and FALSE is substituted for M [i] [j]. (S207)
If MODE is INTER, the motion vector information and the DCT coefficient information from the variable length decoding unit 103 are used to calculate the absolute value sum of the motion vector of the macroblock ブ ロ ッ ク | MV | and the absolute value sum of the DCT coefficients Σ | COF Is calculated and compared with the respective threshold values T1 and T2. (S205) If the sum of the absolute value of the motion vector and the sum of the absolute values of the DCT coefficients are smaller than the threshold, the macroblock is determined to be a still macroblock, and FALSE is substituted into M [i] [j]. . (S207) Otherwise, the macro block is determined to be a moving macro block, and TRUE is substituted for M [i] [j]. (S206)
If NOT_CODED, the macroblock is determined to be a still macroblock, and FALSE is substituted for M [i] [j]. (S207)
The moving object determining unit 113 determines a moving object based on the static / moving determination information for each macroblock of the macroblock static / moving determining unit 112. FIG. 4 is a specific flowchart. As shown in FIG. 4, the processing content is composed of two processes: a noise removal process (S301) and a moving object inclusion process (S302). In the noise removal processing (S301), in order to prevent a small macro-object in the background image from being erroneously detected as a moving macroblock due to fluctuations in the noise at the time of image capturing, a moving macroblock in which all eight surrounding macroblocks are still is determined. Removed. In the moving object inclusion process (S302), a process of detecting a minimum rectangle that includes an adjacent region where a moving macroblock exists is performed based on the result of the still / moving determination after removing noise. Through this processing, a rectangle that includes the moving object can be found.
[0025]
FIG. 5 shows the specific processing content of the noise removal processing. As in FIG. 3, i and j represent the addresses of the vertical and horizontal macroblocks in the frame, respectively, and V_NMB and H_NMB represent the numbers of the vertical and horizontal macroblocks in the frame. The two-dimensional array M [i] [j] is an array for storing information as to whether each macroblock is a moving macroblock. TRUE indicates a moving macroblock, and FALSE indicates a still macroblock.
[0026]
First, the result of the static / dynamic determination for each macroblock is examined. (S403) If the value of the two-dimensional array M [i] [j] is FALSE, that is, if it is a still macroblock, the macroblock does nothing and goes to the next macroblock. If the value of the two-dimensional array M [i] [j] is TURE, that is, if it is a moving macroblock, the static / moving determination results of eight macroblocks around the macroblock are checked (S405), and all are FALSE, that is, still. If it is a macroblock, the macroblock is determined to be noise and rewritten as a still macroblock. (S406) If even one of the eight surrounding macroblocks has a TURE, it is not determined that the noise is a noise, and the process proceeds to the next macroblock. The outside of the screen is assumed to be a still macroblock.
[0027]
6 to 8 show specific processing contents of the moving object inclusion processing. Here, n is a counter indicating the number of moving objects, S1 ̄S4 is a parameter indicating a range for searching for a rectangle including the moving object, and S1 and S2 are start and end points of a vertical address. Yes, S3 and S4 are the start and end points of the horizontal address.
[0028]
In the flowchart of FIG. 6, initialization is performed so that the entire frame is specified as the search range. (S501) Next, a function Rectangular for searching for the smallest rectangle including the moving object in the specified search range is called. (S502)
7 and 8 show the contents of the processing of the function Rectangular. The function Rectangular receives as input a search range S1 to S4, n indicating the number of moving objects, and a two-dimensional array M in which the result of static / dynamic determination of each macroblock is stored, and stores a rectangular address of the search result. The dimensional arrays B1 to B4 and n indicating the number of moving objects are output. Here, the one-dimensional array HV is a working array for creating a histogram of the number of vertical moving macroblocks, and the one-dimensional array HH is for creating a histogram of the number of moving macroblocks in the horizontal direction. It is a working array. The variable VFLAG is a flag that is changed to TRUE when the value of the horizontal histogram is not 0, and is changed to FALSE when the value of the histogram is 0. This flag is changed to TRUE when it is not in the state, and to FALSE when the value is 0.
[0029]
First, the range of S1 to S2, which is the search range of the work array HV for creating a histogram of the number of moving macroblocks in the vertical direction, is initialized with a value of 0. (S601) In the next double loop of LOOP1 and LOOP2, a histogram of the number of moving macroblocks in the vertical direction in the search range is created. That is, the value of the static / movement determination result M [i] [j] for each macroblock is compared (S604), and if the value is TURE, that is, if the value is a moving macroblock, HV [i] is incremented by 1 (S605). In the case of FALSE, an operation of doing nothing is performed.
[0030]
Next, a continuous portion other than 0 is searched from the histogram in the vertical direction. First, the flag VFLAG is set to FALSE. (S608) Next, in the order from the search range S1 to S2, it is checked whether the histogram HV is not 0 and VFLAG is FALSE. (S610) The condition that satisfies this condition is the start point of a continuous portion where the histogram is not zero. Therefore, since it is a candidate for the starting point in the vertical direction of the rectangle being searched, the address i is stored in the one-dimensional array B1 [n], and VFLAG is set to TURE. (S611)
Next, whether the histogram HV is 0 or VFLAG is TURE at the end point of the search range is checked. (S612) The condition that satisfies this condition is the end point of a continuous portion where the histogram is not zero. Therefore, since it is a candidate for the vertical end point of the rectangle being searched for, if the histogram HV is 0, the address i-1 is stored in the one-dimensional array B2 [n] (S614); Stores the address i in the one-dimensional array B2 [n]. (S615) Then, VFLAG is set to FALSE again. (S611)
FIG. 8 is a continuation of the flowchart of FIG. This time, the range of S3 to S4, which is the search range of the work array HV for creating a histogram of the number of moving macroblocks in the horizontal direction, is initialized with a value of 0. (S617) In the next double loop of LOOP4 and LOOP5, a histogram of the number of moving macroblocks in the horizontal direction in the search range is created. That is, the value of the static / movement determination result M [i] [j] for each macroblock is compared (S604), and if the value is TURE, that is, if the value is a moving macroblock, HH [i] is incremented by 1 (S605). In the case of FALSE, an operation of doing nothing is performed.
[0031]
Next, a continuous portion other than 0 is searched from the horizontal histogram. First, the flag HFLAG is set to FALSE. (S624) Next, it is checked whether the histogram HH is not 0 and the HFLAG is FALSE in the order of the search ranges S3 to S4. (S626) This condition is the start point of a continuous portion where the histogram is not 0. Therefore, since it is a candidate for the horizontal start point of the rectangle being searched, the address j is stored in the one-dimensional array B3 [n], and HFLAG is set to TURE. (S627)
Next, it is checked whether the histogram HH is 0 or HFLAG is TURE at the end point of the search range. (S628) The condition that satisfies this condition is the end point of a continuous portion where the histogram is not zero. Therefore, since it is a candidate for the horizontal end point of the rectangle being searched, if the histogram HH is 0, the address j-1 is stored in the one-dimensional array B4 [n] (S630). Stores the address j in the one-dimensional array B4 [n]. (S631) Then, HFLAG is set to FALSE again. (S632)
Here, the search using one vertical and horizontal histogram has been completed, but it is checked whether the search results B1 [n] to B4 [n] match the search ranges S1 to S4 (S633). If they match, there is no more search range, so it can be determined that the smallest rectangle has been determined. (S634) Then, n representing the number of moving objects is incremented by one (S635), and the process proceeds to search for the next moving object. If the search results B1 [n] to B4 [n] do not match the search ranges S1 to S4, a plurality of moving objects still exist in the search result range, and thus the search results B1 [n] to B4 [n] ] Is transferred to S1 to S4 (S637), and the function Rectangular is called again. (S637)
FIG. 9 is an example of a determination result of the moving object determination unit 113. Here, two moving objects were determined. As shown in the figure, in this example, the origin of the macro book address is the upper left of the frame, and B1 [0] to B4 [0] and B1 [1] to B4 [1]. The moving object is determined with a simple arrangement.
[0032]
The moving object combining display unit 114 creates an image in which the moving object region determined by the moving object determining unit 113 and the reproduced moving image signal are combined. FIG. 10 is a specific flowchart. Here, n indicates the number of moving objects in the frame obtained by the moving object determination unit 113. As the processing flow, for each moving object, B1 [i] to B4 [i] represent the four corner macroblocks of the moving object, so draw a rectangular white line surrounding it, Combine. (S602)
FIG. 11 is an example of an image created by the moving object synthesis display unit.
(Second embodiment)
FIGS. 12 and 13 are block diagrams showing a configuration of the moving image moving object detection device according to the second embodiment of the present invention. In this embodiment, the moving object detection unit is combined with a moving image encoding unit.
[0033]
In FIG. 12, an input moving image signal is divided into macro blocks by a blocking circuit 201. The input video signal divided into macroblocks is input to the subtractor 202, and the difference from the predicted image signal is calculated to generate a prediction residual signal. One of the prediction residual signal and the input moving image signal from the blocking circuit 201 is selected by a mode selection switch 203, and subjected to a discrete cosine transform by a DCT (discrete cosine transform) circuit 204. The DCT coefficient data obtained by the DCT circuit 204 is quantized by the quantization circuit 205. The signal quantized by the quantizer 205 is split into two, and one of the signals is subjected to variable-length encoding by a variable-length encoding circuit 215.
[0034]
On the other hand, the other of the signals quantized and bifurcated by the quantization circuit 205 is subjected to processing opposite to the processing of the quantization circuit 205 and the DCT circuit 204 by the inverse quantization circuit 206 and the IDCT (inverse discrete cosine transform) circuit 207. After being sequentially received, the adder 208 adds the predicted image signal input via the switch 211 to generate a locally decoded signal. This local decoded signal is stored in the frame memory 209 and input to the motion compensation circuit 210. The motion compensation circuit 210 generates a predicted image signal and sends necessary information to the mode selection circuit 203.
[0035]
The mode selection circuit 212 selects a macroblock for performing inter-frame coding and a macroblock for performing intra-frame coding based on the prediction information P from the motion compensation circuit 210 for each macroblock. When performing intra-frame coding (intra coding), the mode selection switch information M is set to A, and the switch information S is set to A. When performing inter-frame coding (inter-coding), the mode selection switch information M is set to B, and the switch information S is set to B. The mode selection switch 203 changes the switch based on the mode selection switch information P, and the switch 216 changes the switch based on the switch information S.
[0036]
Here, the modes include an intra mode (INTRA), an inter mode (INTER), and a non-coding mode (NOT_CODED), which are associated with each macroblock, and the INTRA macroblock is an image area to be intra-coded. , INTER macroblocks are image areas to be inter-coded, and NOT_CODED macroblocks are image areas that do not need to be coded.
[0037]
On the other hand, in the moving object detection unit 222, first, the mode information, motion vector information, and DCT coefficient information input to the variable length coding unit 214 are input to the macroblock static / moving determination unit, and the determination result is determined as the moving object determination. Input to the section 220. The result determined by the moving object determination unit 220 is input to the moving object synthesis display unit and also to the multiplexing unit 215 of the video encoding unit 218. The moving object combining unit 221 creates an image in which the moving object is combined with the local decoded signal created by the moving image encoding unit, and outputs it as a local reproduction signal. Note that the specific processing contents of the macroblock still / moving determination unit 219, the moving object determination unit 220, and the moving object synthesis display unit 221 are the same as those in the first embodiment shown in FIGS.
[0038]
The encoding control circuit 214 controls the encoding unit 217 based on the encoding information of the encoding unit 218 and the buffer amount of the output buffer 216. The coded data coded by the variable length coding circuit 214 is multiplexed by the multiplexing circuit 216 together with the moving object determination result from the moving object determining unit 220, and the transmission rate is smoothed by the output buffer 217. This is sent to the transmission system or storage system as coded data.
[0039]
FIG. 13 is a block diagram on the decoding side with respect to the encoding side in FIG.
[0040]
First, in the video decoding unit 310, first, the encoded data received from the transmission path or the storage system is once stored in the input buffer 301, and is separated by the demultiplexing unit 302 based on the syntax for each frame. , To the variable-length decoding unit 303. The variable length decoding unit 303 decodes a variable length code of information of each syntax.
[0041]
If the macroblock mode is INTRA in the variable length decoding unit 303, the mode changeover switch 309 is selected to be turned off, and the quantized DCT coefficient information decoded by the variable length decoding unit 303 is output to the inverse quantization unit. The image data is inversely quantized at 304 and subjected to inverse discrete cosine transform processing at the IDCT unit 305 to generate a reproduced image signal. The reproduced image signal is stored in the frame memory 307 as a reference image, and is input to the moving object synthesis display unit 311 in the moving object detection unit 115.
[0042]
If the macroblock mode is INTER or NOT_CODED in the variable length decoding unit 303, the mode switch 309 is turned off, and the quantized DCT coefficient information decoded by the variable length The reference image is motion-compensated by the motion compensation unit 308 based on the motion vector information decoded by the IDCT unit 305, inversely cosine-transformed by the IDCT unit 305, and decoded by the variable-length decoding unit 303. , And adder 306 to generate a reproduced image signal. The reproduced image signal is stored in the frame memory 307 as a reference image, and is input to the moving object synthesis display unit 311.
[0043]
On the other hand, the moving object determination result separated by the demultiplexing unit is input to the moving object synthesis display unit 311 and operates according to the flowchart of FIG.
[0044]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a moving image moving object detection device and method capable of detecting a moving object at high speed and stably with high accuracy.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a moving image moving object detection device according to a first embodiment of the present invention.
FIG. 2 is a flowchart illustrating an operation of a moving object detection unit according to the present invention.
FIG. 3 is a flowchart showing an operation of a macroblock still / moving determination section of the present invention.
FIG. 4 is a flowchart illustrating an operation of a moving object determination unit according to the present invention.
FIG. 5 is a flowchart illustrating an operation of noise processing of a moving object determination unit according to the present invention.
FIG. 6 is a flowchart (part 1) illustrating an operation of a moving object inclusion process of the moving object determination unit of the present invention.
FIG. 7 is a flowchart (part 2) illustrating the operation of the moving object inclusion processing of the moving object determination unit of the present invention.
FIG. 8 is a flowchart (part 3) showing the operation of the moving object inclusion processing of the moving object determination unit of the present invention.
FIG. 9 is a diagram illustrating an example of a determination result of a moving object determination unit according to the present invention.
FIG. 10 is a flowchart showing the operation of the moving object synthesis display unit of the present invention.
FIG. 11 is a diagram illustrating an example of a display result of the moving object determination unit according to the present invention.
FIG. 12 is a block diagram illustrating a configuration of an encoding side of a moving image moving object detection device according to a second embodiment of the present invention.
FIG. 13 is a block diagram illustrating a configuration on a decoding side of a moving image moving object detection device according to a second embodiment of this invention.
[Explanation of symbols]
101 input buffer
102: Demultiplexing unit
103: Variable length decoding unit
104: inverse quantization unit
105 ... IDCT section
106 ... Adder
107: Frame memory
108: motion compensation unit
109… Mode switch
110 ... Video decoding unit
111: Macro block static / motion determining unit
112 ... Subtractor
113: Moving object determination unit
114: Moving object synthesis display unit
115: Moving object detection unit
201 ... Blocking circuit
202 ... Subtractor
203: Mode selection switch
204 DCT circuit
205 ... Quantization circuit
206 ... Inverse quantization circuit
207 ... IDCT circuit
208 ... Adder
209 ... Frame memory
210: motion compensation circuit
211 ... Switch
212: Mode selection circuit
213 ... encoding control circuit
214 ... variable length coding circuit
215 multiplexing circuit
216 ... Output buffer
217 ... encoding unit
218 ... Video Encoding Unit
219: Macro block static / motion determining unit
220: Moving object determination unit
221: Moving object synthesis display unit
222: Moving object detection unit
301 ... input buffer
302: Demultiplexing / demultiplexing unit
303: Variable length decoding unit
304: inverse quantization unit
305 ... IDCT section
306 ... Adder
307 ... Frame memory
308: motion compensation unit
309 ... Mode switch
310: Moving picture decoding unit
311: Moving object synthesis display unit