(57)【特許請求の範囲】
【請求項１】
動き補償予測により符号化された映像ビットストリームから、符号化ブロックの符号化対象フレームと参照フレーム間の動きベクトルを復号する可変長復号部と、
複数の前記動きベクトルのそれぞれに対する投票値を算出する投票値算出部と、
前記投票値算出部が算出した前記投票値を、各々の前記動きベクトルの参照フレームに対応する投票面の該動きベクトルが指す座標に投票する投票部と、
前記投票部が投票した前記投票値を前記投票面の座標ごとに累積した値である累積投票値を記憶する累積投票値記憶部と、
前記累積投票値を用いて前記映像ビットストリームの映像に含まれる移動物体を検出する移動物体検出部と、を備え、
前記投票値算出部は、前記可変長復号部が前記映像ビットストリームから復号した指標を用いて前記動きベクトルに対する前記投票値を算出するものであって、前記動きベクトルを有する符号化ブロックのブロックサイズが小さいほど大きい前記投票値を算出するものである
ことを特徴とする移動物体検出装置。
【請求項２】
前記投票値算出部は、重み付け関数を用いて、算出した前記動きベクトルに対する前記投票値を補正することを特徴とする請求項１記載の移動物体検出装置。
【請求項３】
前記投票値算出部は、ガウス関数を用いて、符号化ブロックの中心部に近い座標を指す前記動きベクトルほど前記投票値を大きくすることを特徴とする請求項２記載の移動物体検出装置。
【請求項４】
前記投票面の座標は、複数個の画素を含む領域を示す座標であることを特徴とする請求項１記載の移動物体検出装置。
【請求項５】
前記投票部は、各々の前記動きベクトルの信頼性を判定し、該信頼性に応じて一部の前記動きベクトルを投票から除外することを特徴とする請求項１記載の移動物体検出装置。
【請求項６】
前記投票部は、各々の前記動きベクトルの符号化対象フレームと参照フレームとの間隔を間隔閾値と比較し、該間隔が該間隔閾値を超える前記動きベクトルを投票から除外することを特徴とする請求項５記載の移動物体検出装置。
【請求項７】
前記投票部は、各々の前記動きベクトルを有する符号化ブロックの離散コサイン変換係数のエネルギーをエネルギー閾値と比較し、該エネルギーが該エネルギー閾値を超える前記動きベクトルを投票から除外することを特徴とする請求項５記載の移動物体検出装置。
【請求項８】
前記投票部は、前記動きベクトルに含まれるグローバルモーションを補正して投票を実行することを特徴とする請求項１記載の移動物体検出装置。
【請求項９】
前記投票部は、前記投票値算出部が算出した前記投票値を、各々の前記動きベクトルの参照フレームに対応する前記投票面の該動きベクトルが指す座標に投票した後に、参照フレームに対応する前記投票面の各座標の前記累積投票値を、前記動きベクトルの符号を反転したベクトルが指す前記投票面の座標にそれぞれ投票することを特徴とする請求項１記載の移動物体検出装置。
【請求項１０】
前記移動物体検出部は、各座標の前記累積投票値を投票閾値と比較することで、移動物体検出対象フレーム内の前記移動物体が存在する領域を判定することを特徴とする請求項１記載の移動物体検出装置。
【請求項１１】
前記映像ビットストリームに含まれるフレームは階層化された参照構造を有し、
前記移動物体検出部は、前記移動物体検出対象フレームの階層に応じて前記投票閾値を設定する
ことを特徴とする請求項１０記載の移動物体検出装置。
【請求項１２】
前記移動物体検出部は、前記移動物体が存在する領域を示す２値マスク画像を外部に出力することを特徴とする請求項１０記載の移動物体検出装置。
【請求項１３】
前記移動物体検出部は、前記移動物体が存在する領域を含むバウンディングボックスの座標およびサイズを外部に出力することを特徴とする請求項１０記載の移動物体検出装置。
【請求項１４】
請求項１記載の移動物体検出装置と、
前記映像ビットストリームから復号画像を生成する復号画像生成部と、
を備える映像復号装置。
【請求項１５】
前記移動物体検出部は、前記復号画像生成部が生成した前記復号画像に前記移動物体の検出結果を合成して外部に出力することを特徴とする請求項１４記載の映像復号装置。
【請求項１６】
可変長復号部が、動き補償予測により符号化された映像ビットストリームから、符号化ブロックの符号化対象フレームと参照フレーム間の動きベクトルを復号し、
投票値算出部が、複数の前記動きベクトルのそれぞれに対する投票値を算出し、
投票部が、前記投票値算出部が算出した前記投票値を、各々の前記動きベクトルの参照フレームに対応する投票面の該動きベクトルが指す座標に投票し、
累積投票値記憶部が、前記投票部が投票した前記投票値を前記投票面の座標ごとに累積した値である累積投票値を記憶し、
移動物体検出部が、前記累積投票値を用いて前記映像ビットストリームの映像に含まれる移動物体を検出する移動物体検出方法において、
前記投票値算出部は、前記可変長復号部が前記映像ビットストリームから復号した指標を用いて前記動きベクトルに対する前記投票値を算出するものであって、前記動きベクトルを有する符号化ブロックのブロックサイズが小さいほど大きい前記投票値を算出するものである
ことを特徴とする移動物体検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、符号化された映像から移動物体を検出する移動物体検出装置、映像復号装置および移動物体検出方法に関するものである。
【背景技術】
【０００２】
映像からの移動物体検出は、映像監視などの様々なアプリケーションにおいて重要な技術である。映像から移動物体を検出するためには、まず映像の動き情報を求める必要があるが、これは一般に演算量が大きい。そのため、例えばリアルタイム処理を行うためには高性能なハードウェアが必要であり、アプリケーションの適用範囲を狭める原因となっている。
【０００３】
また、映像はそのままでは情報量が膨大であるため、一般にＭＰＥＧまたはＩＴＵ−Ｔ  Ｈ．２６ｘ等の国際標準映像符号化方式を用いて符号化処理が施され、圧縮された状態で伝送および蓄積される。したがって、符号化された映像に対して移動物体検出を行うためには、動き情報を求める処理を行う前にまず映像の復号を実施する必要があり、さらに演算量が大きくなる。
【０００４】
ところで、ＭＰＥＧおよびＩＴＵ−Ｔ  Ｈ．２６ｘ等の国際標準映像符号化方式では、まず映像を小さなブロックに分割し、ブロックごとに予測処理を行って予測残差のみを伝送することで情報量を削減している。ここで、符号化対象となるブロックの予測は、そのブロックが属するフレームだけを用いて行う画面内予測と、符号化済みの他フレームの中から符号化対象と類似したブロックを探索して用いる動き補償予測とに分けられる。動き補償予測を行う場合は、符号化対象ブロックから他フレーム内の類似ブロック（いわゆる「参照ブロック」）までの移動を表すベクトルを符号化してビットストリームの一部として出力する。このベクトルは動きベクトルと呼ばれ、符号化対象ブロックが移動物体を含む場合はその移動物体の動き情報に相当する。すなわち、符号化された映像から動きベクトルを復号すれば、その映像の動き情報を少ない演算量で求めることができる。例えば特許文献１および特許文献２において、符号化された映像の動きベクトルを使った映像解析方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２９２２０３号公報
【特許文献２】特開平１０−７５４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
映像符号化における動き補償予測の過程で計算される動きベクトルは、常に高精度に被写体の動きを表しているとは限らず、ビットストリームには信頼性の低い動きベクトルも含まれていることが多い。そのため、先行技術のように、符号化された映像から単純に動きベクトルを復号して移動物体検出を行うと、信頼性の低い動きベクトルがノイズとして働いて誤検出が頻繁に発生するため、高精度な移動物体検出を行うことができない課題があった。
【０００７】
この発明は、上記のような課題を解決するためになされたものであり、信頼性の低い動きベクトルの影響を小さくして移動物体検出の精度を向上させた移動物体検出装置および移動物体検出方法を提供することを目的とする。また、かかる移動物体検出装置を有する映像復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の移動物体検出装置は、動き補償予測により符号化された映像ビットストリームから、符号化ブロックの符号化対象フレームと参照フレーム間の動きベクトルを復号する可変長復号部と、複数の動きベクトルのそれぞれに対する投票値を算出する投票値算出部と、投票値算出部が算出した投票値を、各々の動きベクトルの参照フレームに対応する投票面の動きベクトルが指す座標に投票する投票部と、投票部が投票した投票値を投票面の座標ごとに累積した値である累積投票値を記憶する累積投票値記憶部と、累積投票値を用いて映像ビットストリームの映像に含まれる移動物体を検出する移動物体検出部と、を備え、投票値算出部は、可変長復号部が映像ビットストリームから復号した指標を用いて動きベクトルに対する投票値を算出するものであって、動きベクトルを有する符号化ブロックのブロックサイズが小さいほど大きい投票値を算出するものである。
【０００９】
この発明の映像復号装置は、上記映像復号装置と、映像ビットストリームから復号画像を生成する復号画像生成部と、を備えるものである。
【００１０】
この発明の移動物体検出方法は、可変長復号部が、動き補償予測により符号化された映像ビットストリームから、符号化ブロックの符号化対象フレームと参照フレーム間の動きベクトルを復号し、投票値算出部が、複数の動きベクトルのそれぞれに対する投票値を算出し、投票部が、投票値算出部が算出した投票値を、各々の動きベクトルの参照フレームに対応する投票面の動きベクトルが指す座標に投票し、累積投票値記憶部が、投票部が投票した投票値を投票面の座標ごとに累積した値である累積投票値を記憶し、移動物体検出部が、累積投票値を用いて映像ビットストリームの映像に含まれる移動物体を検出する移動物体検出方法において、投票値算出部は、可変長復号部が映像ビットストリームから復号した指標を用いて動きベクトルに対する投票値を算出するものであって、動きベクトルを有する符号化ブロックのブロックサイズが小さいほど大きい投票値を算出するものである。
【発明の効果】
【００１１】
この発明の移動物体検出装置、映像復号装置および移動物体検出方法は、複数のフレームにおける複数の動きベクトルを統合して用いることで、信頼性の低い動きベクトルの影響を小さくして移動物体検出の精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施の形態１に係る移動物体検出装置の要部を示すブロック図である。
【図２】動き補償予測におけるフレームの参照構造を示す説明図である。
【図３】各フレーム内の移動物体を示す説明図である。
【図４】各フレーム内の移動物体および符号化ブロックと、動きベクトルが指す座標とを示す説明図である。
【図５】累積投票値記憶部に記憶された初期状態の投票面を示す説明図である。
【図６】Ｈ．２６５における符号化ブロックのサイズを示す説明図である。
【図７】ガウス関数を用いた投票値の補正の様子を示す説明図である。
【図８】ブロックサイズを８×８、１６×１６、３２×３２、および６４×６４とした投票結果を示す説明図である。
【図９】投票部による投票の様子を示す説明図である。
【図１０】投票部による投票の様子を示す説明図である。
【図１１】投票部による投票の様子を示す説明図である。
【図１２】動き補償予測におけるフレームの参照構造を示す説明図である。
【図１３】投票部による逆方向の投票の様子を示す説明図である。
【図１４】移動物体検出部が累積値記憶部から読み出した投票面を示す説明図である。
【図１５】図１４の投票面に対する閾値処理の結果を示す説明図である。
【図１６】移動物体検出部が出力する移動物体検出結果を示す説明図である。
【図１７】この発明の実施の形態１に係る移動物体検出装置の動作を示すフローチャートである。
【図１８】この発明の実施の形態２に係る映像復号装置の要部を示すブロック図である。
【図１９】この発明の実施の形態２に係る映像復号装置が復号した復号画像を示す説明図である。
【図２０】図１９の復号画像に移動物体の検出結果を合成した画像を示す説明図である。
【図２１】図１９の復号画像に移動物体の検出結果を合成した画像を示す説明図である。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、実施の形態１に係る移動物体検出装置の要部を示すブロック図である。
可変長復号部１１は、動き補償予測を用いて符号化されたフレームを含む映像ビットストリームを入力として受け取り、対応する符号化方式にて規定されている方法に従って復号する処理回路である。可変長復号部１１は、映像ビットストリームに含まれる情報のうち、少なくとも動きベクトルを含む移動物体検出に使用する情報を復号して出力するようになっている。
【００１４】
投票値算出部１２は、可変長復号部１１の出力を受け取り、動きベクトルごとに、その動きベクトルの移動物体検出における信頼度に対応する所定の値を算出する処理回路である。以下、この値を「投票値」という。
【００１５】
累積投票値記憶部１３は、２次元配列を記憶する記憶素子である。例えばこの２次元配列は、映像ビットストリームに含まれる各フレームと同じ大きさである。以下、この２次元配列を「投票面」という。累積投票値記憶部１３は、投票面の座標ごとに、その座標を指す動きベクトルに対する投票値の累積値を記憶するようになっている。以下、この累積値を「累積投票値」という。
【００１６】
投票部１４は、可変長復号部１１から出力された動きベクトルと、投票値算出部１２で算出されたその動きベクトルの投票値と、累積投票値記憶部１３に記憶されているその動きベクトルが指す座標の累積投票値とを受け取り、累積投票値に投票値を加算して再び累積投票値記憶部１３に記憶させる処理回路である。以下、投票部１４が投票値を加算する処理を「投票」という。
【００１７】
移動物体検出部１５は、累積投票値記憶部１３から累積投票値を受け取り、閾値処理を施すことで移動物体検出対象のフレームにおける移動物体を検出してその結果を出力する処理回路である。
【００１８】
可変長復号部１１、投票値算出部１２、累積投票値記憶部１３、投票部１４および移動物体検出部１５により、移動物体検出装置１００が構成されている。
【００１９】
ここで、国際標準映像符号化方式ＩＴＵ−Ｔ  Ｈ．２６４およびＨ．２６５等で一般的に用いられている動き補償予測におけるフレームの参照構造について説明する。
図２に示す９枚のフレームを符号化することを考える。図２の各フレームに示した数字はフレーム番号であり、フレーム１〜８は動き補償予測を行うフレームである。フレーム０は映像の一番最初のフレームであり、動き補償予測を行わず、画面内予測のみ行う。Ｈ．２６４およびＨ．２６５等では、フレーム番号順に０、１、２、と符号化していくこともできるが、フレームの順番を入れ替え、参照構造を図２に示すように階層化することで圧縮性能が向上する。図２の例では、まずフレーム０を符号化した後にフレーム８を符号化し、その後、４、２、６、１、３、５、７の順で符号化していく。なお、図２に示した矢印は参照関係を表す。すなわち、フレーム８を符号化する際にはフレーム０を参照しながら符号化するブロックごとにフレーム８からフレーム０への動きベクトルを求めていく。また、フレーム４を符号化する際にはフレーム０とフレーム８を参照する。フレーム０を参照するか、フレーム８を参照するか、あるいはそれら両方を参照するかは符号化時にブロック単位で切り替えることができる。図２において、参照関係は常に階層の上から下へと向かっている。すなわち、符号化対象フレームよりも階層が上のフレームを参照することはない。
【００２０】
図２に示す参照構造では、例えばフレーム４では、フレーム２からの動きベクトル、フレーム３からの動きベクトル、フレーム５からの動きベクトル、およびフレーム６からの動きベクトルが得られていることになり、一つのフレームに対して複数のフレームからの動きベクトルが利用できる。この実施の形態１では、こうした複数のフレームからの動きベクトルを投票処理によって統合して用いることで、高精度な移動物体検出を行う。
【００２１】
なお、図２に示した参照構造はこれを一つの単位として以降のフレームでも同様に繰り返される。この様子を図１２に示す。したがって、ここではフレーム０〜８を例にとって説明するが、フレーム８以降でも単に同じ動作を繰り返すだけでよい。また、この実施の形態１は図２に示す参照構造に限定されるものではなく、任意の参照構造に対して適用することができる。
【００２２】
図２に示したフレーム２〜６において、図３のように移動物体（図３の例では被写体の車を示す）が左から右へ移動していくとする。このとき、図４に示すように移動物体の位置に符号化ブロックがあると、フレーム２、３、５、６のそれぞれからフレーム４への動きベクトルは、信頼性が高い場合は一貫してフレーム４のほぼ同じ座標を指す。一方、ノイズ的に発生する信頼性の低い動きベクトルはランダムで一貫性がないため、フレーム４の様々な座標を指す。そこでこの実施の形態１では、動きベクトルによる参照をその座標への投票とみなし、複数の動きベクトルによる投票の結果、高い投票値を得た領域を移動物体として検出する。
【００２３】
次に、図１７のフローチャートを参照して、移動物体検出装置１００の動作について説明する。
まず、可変長復号部１１は、動き補償予測を用いて符号化されたフレームを含む映像ビットストリームを入力として受け取り、対応する符号化方式にて規定されている方法に従って復号を行う（図１７のステップＳＴ１００）。このとき、可変長復号部１１は、ビットストリームの全てを復号してもよいし、その一部だけを復号してもよい。一部だけを復号する場合は、投票値算出部１２および投票部１４で使用する情報だけを復号する。
【００２４】
投票は、図５に示すように各フレームと同じ大きさの投票面を用意して行う。投票面ｉの座標（ｘ，ｙ）には、フレームｉの座標（ｘ，ｙ）の累積投票値を格納する。ここで、ｉはフレームの番号である。投票面は、あらかじめ例えば０などの値で全ての座標の値を初期化された状態で累積投票値記憶部１３に格納されている。図５の例では、全てのフレームの全ての座標の値が０であるため、全てのフレームが黒で表現されている。
【００２５】
なお、ここでは投票面の大きさを各フレームと同じ大きさとして説明しているが、必ずしも同じ大きさでなくともよい。例えば投票面の大きさをフレームの大きさよりも小さくすることで、累積投票値記憶部１３が必要とするメモリのサイズを節約したり、投票に必要な処理時間を短くしたりすることが可能である。
【００２６】
可変長復号部１１により最初に復号されるのはフレーム０であるが、ここではフレーム０は一番最初に符号化されたフレームであり、動き補償予測において参照できる他フレームが存在しないためフレーム全体が画面内符号化されており動きベクトルは存在しないものとする。すなわち、フレーム０はＩピクチャである。したがって、投票値算出部１２は、フレーム０の次に復号されるフレーム８に含まれる全ての符号化ブロックの動きベクトルを可変長復号部１１からまず受け取り、各動きベクトルに対する投票値を算出する（図１７のステップＳＴ１０１）。
【００２７】
投票値は、常に固定の定数値としてもよいし、他の指標に基づいて各動きベクトルに応じて変更してもよい。各動きベクトルに異なる投票値を設定する場合、例えばその動きベクトルを有する符号化ブロックのサイズに応じて決定する。国際標準映像符号化方式ＩＴＵ−Ｔ  Ｈ．２６５では、符号化ブロックを符号化時に再帰的に四分木分割し、ブロックのサイズを６４×６４画素から８×８画素といったフレームの内容に合わせて変更することができる。このとき、図６に示すように、移動物体領域では動きベクトルの精度を高めるためブロックサイズが小さくなり、動きのない背景領域などではブロックサイズが大きくなりやすい。したがって、動きベクトルを有する符号化ブロックのサイズが小さいほど、その動きベクトルは移動物体に属している可能性が高い（移動物体検出における信頼度が高い）と言える。
【００２８】
そこで、投票値算出部１２は、可変長復号部１１から動きベクトルと併せてブロックサイズも受け取り、これを用いて動きベクトルの投票値を求める。ここで、ある動きベクトルが指す座標に対応する投票面の座標を（ｍ，ｎ）、ブロックの横幅をＢｘ、縦幅をＢｙとすると、投票面の座標（ｘ，ｙ）に対するこの動きベクトルの投票値ｖは以下の式（１）のように決定する。
0006436846.tif 000002
式（１）において、符号化ブロックの横幅の最大値をＬｘ、縦幅の最大値をＬｙとしている。ＬｘとＬｙの値は例えば６４画素である。
【００２９】
このようにブロックサイズに基づいて動きベクトルの投票値を決定することで、移動物体である可能性が高い小さなサイズのブロックが有する動きベクトルの投票値は大きく、大きなブロックが有する動きベクトルの投票値は小さくすることができるため、動きベクトルの投票に基づいた移動物体検出の精度を高めることができる。
【００３０】
なお、可変長復号部１１では、ブロックサイズの他にも様々なパラメータをビットストリームから復号することができるため、投票値算出部１２はこれらのパラメータを受け取ることでブロックサイズ以外のパラメータ、およびそれらの組み合わせに基づいて投票値を決定するようにしてもよい。
【００３１】
さらに、符号化ブロックの内部において、そのブロックの中心に近いほど移動物体である可能性が高いと考えて、投票値ｖを所定の重み付け関数を用いて補正することも考えられる。中心から外側に向けて値が小さくなる重み付け関数としてはガウス関数がよく知られている。投票値ｖのガウス関数による補正は、次式（２）で与えられる。
0006436846.tif 000003
式（２）において、ｖ´は補正後の投票値、σｘ２とσｙ２はそれぞれ水平方向と垂直方向の分散であり、例えば次式（３）のようにしてブロックサイズが小さいほど分散を小さく、ブロックサイズが大きいほど分散を大きくする。
0006436846.tif 000004
式（３）において、αとβは例えば０．２５などの定数である。
【００３２】
ブロックサイズに応じてガウス関数で投票値を補正する様子を図７に示す。また、ブロックサイズを８×８、１６×１６、３２×３２、および６４×６４として実際に投票を行った結果を図８に示す。
【００３３】
このように動きベクトルの投票値を重み付け関数により補正することで、移動物体である可能性が高いブロック中心の投票値を大きくし、中心から離れるにしたがって投票値を小さくすることができるため、動きベクトルの投票に基づいた移動物体検出の精度を高めることができる。
【００３４】
なお、例えばブロック中心などの一点に対してのみ投票を行ってもよいが、点ではなくある程度の面積を持った領域に対して投票を行う方が投票の信頼性を高めることができる。動きベクトルは、誤差により数画素程度のずれが生じる場合があるため、図８のように領域に対して投票を行うことで動きベクトルのずれの影響を小さくしてより安定した投票結果を得ることができる。
【００３５】
投票値算出部１２は、このようにしてフレーム８に含まれる全ての符号化ブロックの動きベクトルに対して投票値を算出し、その結果を投票部１４に出力する。
【００３６】
投票部１４は、可変長復号部１１で復号された動きベクトルと、投票値算出部１２で算出された動きベクトルの投票値を受け取り、累積投票値記憶部１３から投票面を読み出して投票を行う。フレーム８の各動きベクトルは、フレーム０を参照フレームとして算出されているため、投票部１４は累積投票値記憶部１３からフレーム０に相当する投票面０を読み出し（図１７のステップＳＴ１０２）、可変長復号部１１から受け取った動きベクトルが指す座標へ投票値算出部１２から受け取った投票値を投票する。すなわち、投票面０の当該座標が持つ累積投票値に、現在の投票値を加算する。この様子を図９に示す。図９では、フレーム８における３つの符号化ブロックが持つ動きベクトルのそれぞれに基づいて投票面０へ投票を行った結果を示している。投票が完了した後、投票部１４は、累積投票値が更新された投票面０を累積投票値記憶部１３に格納する（図１７のステップＳＴ１０３）。
【００３７】
ここで、投票を行う際、信頼性が低いと判断できる動きベクトルは投票から除外するようにしてもよい。動きベクトルの信頼性は、例えば符号化対象フレームと参照フレームの間隔に基づいて判断できる。投票を行うフレームの間隔が大きい場合、動きベクトルの精度が低下するため、フレームの間隔に対して閾値（以下「間隔閾値」という）を設定し、フレームの間隔がその間隔閾値を超える場合は投票を行わないようにする。フレームの間隔は、単純に２枚のフレームのフレーム番号の差分として求めてもよいし、映像のフレームレートが既知である場合は、フレームレートを用いて実際の時間間隔として求めてもよい。
【００３８】
また、可変長復号部１１から得られるパラメータを利用して動きベクトルの信頼性を判断するようにしてもよい。例えば、可変長復号部１１からそのブロックにおけるＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）係数を受け取るようにし、そのエネルギーが閾値（以下「エネルギー閾値」という）を超える場合はその動きベクトルの信頼性が低いと判断して投票を行わないようにしてもよい。ここで、ＤＣＴ係数のエネルギーは、予測誤差の大きさに相当するため、ＤＣＴ係数のエネルギーが大きいブロックは動き補償予測の精度が低く、動きベクトルの信頼性も低いと考えられる。
【００３９】
このように動きベクトルの信頼性を判定し、信頼性の低い動きベクトルを用いた投票を行わないことで、信頼性の低い動きベクトルによる影響を小さくしてより高精度な移動物体検出を行うことが可能となる。
【００４０】
また、映像は必ずしもカメラを固定した状態で、かつ焦点距離などのカメラパラメータを変えずに撮影されているとは限らない。撮影中のカメラの運動およびカメラパラメータの変更は、映像全体に亘る動きベクトル（いわゆる「グローバルモーション」）を生じさせる。したがって、高精度な移動物体検出を行うためには、必要に応じてグローバルモーションを推定して動きベクトルを補正する必要がある。可変長復号部１１から得られたある符号化ブロックの動きベクトルが（ＭＶｘ，ＭＶｙ）であり、その符号化ブロックにおいて推定したグローバルモーションが（ＧＭＶｘ，ＧＭＶｙ）であったとすると、補正後の動きベクトル（ＭＶｘ´，ＭＶｙ´）は次式（４）で与えられる。
0006436846.tif 000005
なお、グローバルモーションに関する情報がビットストリームに含まれている場合は、これを可変長復号部１１から受け取って利用してもよい。カメラ運動およびカメラパラメータの変化によるグローバルモーションを補正して投票を行うことで、より高精度な移動物体検出を行うことが可能となる。
【００４１】
次いで、投票値算出部１２は、フレーム８が移動物体検出対象のフレームでない場合（図１７のステップＳＴ１０４でＮＯとなった場合）、フレーム８の次に復号されるフレーム４に含まれる全ての符号化ブロックの動きベクトルを可変長復号部１１から受け取り、フレーム８の時と同様に各動きベクトルの投票値を求める（図１７のステップＳＴ１０５，ＳＴ１０１）。
【００４２】
フレーム４の各動きベクトルは、それぞれがフレーム０とフレーム８のいずれかあるいは両方を参照フレームとして算出されているため、投票部１４は累積投票値記憶部１３からフレーム０とフレーム８に相当する投票面０、投票面８を読み出し（図１７のステップＳＴ１０２）、可変長復号部１１から受け取った動きベクトルが指す座標へ投票値算出部１２から受け取った投票値を投票する。このとき、フレーム０を参照している動きベクトルの投票値は投票面０へ、フレーム８を参照している動きベクトルの投票値は投票面８へ、両方を参照している動きベクトルの投票値は投票面０と８の両方へ投票する。この様子を図１０に示す。投票が完了した後、投票部１４は、累積投票値が更新された投票面０と投票面８を累積投票値記憶部１３に格納する（図１７のステップＳＴ１０３）。
【００４３】
以降、移動物体検出対象のフレームへの投票が未完了である場合（図１７のステップＳＴ１０４でＮＯとなった場合）は、フレーム２、６、１、３、５、７と同様の処理を繰り返していく（図１７のステップＳＴ１０５）。フレーム２で投票を行う様子を図１１に示す。なお、ここでは符号化された順序、すなわち復号する順序で投票を行う動作について説明したが、必ずしもこの順序で行う必要はない。例えば可変長復号部１１により、フレーム０からフレーム８まで全てのフレームの復号を行い、その後、フレーム１、２、３、といったフレームの表示順序にしたがって投票を行うようにしてもよい。
【００４４】
また、各動きベクトルの符号を反転させて逆方向への投票処理を繰り返すようにしてもよい。すなわち、フレーム０〜８への投票が完了した後、投票部１４は投票面０を累積投票値記憶部１３から読み出す。このとき、フレーム０を参照しているフレームはフレーム１、２、４、８であるため、投票部１４はフレーム１、２、４、８の動きベクトルを可変長復号部１１から受け取る。そして、さらに投票面０、１、２、４、８を累積投票値記憶部１３から読み出し、フレーム１、２、４、８の各動きベクトルの符号を反転させて投票面０の累積投票値を投票面１、２、４、８にそれぞれ投票する。フレーム０からフレーム４へ逆方向の投票を行う様子を図１３に示す。図１３では、フレーム４からフレーム０への動きベクトルの座標を反転させ、投票面０の累積投票値を用いて投票面４への投票を行っている。逆方向の投票が完了した後、投票部１４は、累積投票値が更新された投票面１、２、４、８を累積投票値記憶部１３に格納する。
【００４５】
このように、一度投票が完了した後に逆方向への投票を行うことで、他のフレームから参照されることが少ない例えばフレーム１、２、３、５、６、７などにも、信頼性の高い投票値を与えることができる。
【００４６】
移動物体検出対象のフレームの投票が完了した段階で（図１７のステップＳＴ１０４でＹＥＳとなった場合）、移動物体検出部１５は、累積投票値記憶部１３から移動物体検出対象のフレームに対応する投票面を読み出して移動物体検出のための閾値処理を行う（図１７のステップＳＴ１０６）。例えば、累積投票値記憶部１３から読み出された投票面が図１４のようであったとする。ここで、最終的な投票値が大きい領域ほど、移動物体領域である可能性が高い。したがって、移動物体検出部１５は、投票面の各座標に格納された累積投票値と閾値（以下「投票閾値」という）を比較し、累積投票値が投票閾値よりも大きくなる領域だけを選択することで移動物体検出を行う。図１４に対する閾値処理の結果を図１５に示す。図１５において、白で示した領域が検出された移動物体である。
【００４７】
投票閾値は、あらかじめ移動物体検出部１５の内部のメモリに保持しておいてもよいし、移動物体検出部１５の内部あるいは外部で計算して求めるようにしてもよい。なお、図２に示す階層化された参照構造では、階層に応じて累積投票値の大きさに違いが出るため、階層に応じて投票閾値を変更するようにしてもよい。例えば、移動物体検出部１５の内部のメモリに保持されている投票閾値がＴｈ、移動物体検出対象のフレームが属する階層がＨであったとすると（図２の例ではＨ＝０、１、２、３）、投票閾値をＴｈ／２Ｈとして用いることが考えられる。参照構造における階層または映像の特性に応じて投票閾値を適応的に変更することで、より高精度な移動物体検出を行うことが可能となる。
【００４８】
移動物体検出結果は、例えば図１５に示すように移動物体領域の値を１、それ以外の領域の値を０とする２値マスク画像として出力してもよいし、あるいは図１６に示すように移動物体領域をラベリングして領域ごとに区別し、各領域を内包する矩形（いわゆる「バウンディングボックス」）を定義してその矩形の座標（例えば左上座標）とサイズ（例えば２辺の長さ）として出力してもよい（図１７のステップＳＴ１０７）。
【００４９】
以上のように、実施の形態１の移動物体検出装置１００は、動き補償予測により符号化された映像ビットストリームから、符号化ブロックの符号化対象フレームと参照フレーム間の動きベクトルを復号する可変長復号部１１と、複数の動きベクトルのそれぞれに対する投票値を算出する投票値算出部１２と、投票値算出部１２が算出した投票値を、各々の動きベクトルの参照フレームに対応する投票面の動きベクトルが指す座標に投票する投票部１４と、投票部１４が投票した投票値を投票面の座標ごとに累積した値である累積投票値を記憶する累積投票値記憶部１３と、累積投票値を用いて映像ビットストリームの映像に含まれる移動物体を検出する移動物体検出部１５とを備える。符号化された映像から得られる動きベクトルを用いた移動物体検出において、動きベクトルの参照関係を利用した投票処理によって複数のフレームにおける複数の動きベクトルを統合的に用いて移動物体検出を行うように構成したので、信頼性の低い動きベクトルの影響を小さくして高精度な移動物体検出を行うことできる。
【００５０】
また、投票値算出部１２は、可変長復号部１１が映像ビットストリームから復号した指標を用いて動きベクトルに対する投票値を算出する。具体的には、例えば、投票値算出部１２は、動きベクトルを有する符号化ブロックのブロックサイズが小さいほど大きい投票値を算出する。ブロックサイズに基づいて動きベクトルの投票値を決定することで、移動物体である可能性が高い小さなサイズのブロックが有する動きベクトルの投票値は大きく、大きなブロックが有する動きベクトルの投票値は小さくすることができるため、動きベクトルの投票に基づいた移動物体検出の精度を高めることができる。
【００５１】
また、投票値算出部１２は、重み付け関数を用いて、算出した動きベクトルに対する投票値を補正する。具体的には、例えば、投票値算出部１２は、ガウス関数を用いて、符号化ブロックの中心部に近い座標を指す動きベクトルほど投票値を大きくする。動きベクトルの投票値を重み付け関数により補正することで、移動物体である可能性が高いブロック中心の投票値を大きくし、中心から離れるにしたがって投票値を小さくすることができるため、動きベクトルの投票に基づいた移動物体検出の精度を高めることができる。
【００５２】
また、投票面の座標は、複数個の画素を含む領域を示す座標である。動きベクトルは、誤差により数画素程度のずれが生じる場合があるため、図８のように領域に対して投票を行うことで動きベクトルのずれの影響を小さくしてより安定した投票結果を得ることができる。
【００５３】
また、投票部１４は、各々の動きベクトルの信頼性を判定し、信頼性に応じて一部の動きベクトルを投票から除外する。具体的には、例えば、投票部１４は、各々の動きベクトルの符号化対象フレームと参照フレームとの間隔を間隔閾値と比較し、間隔が間隔閾値を超える動きベクトルを投票から除外する。または、投票部１４は、各々の動きベクトルを有する符号化ブロックの離散コサイン変換係数のエネルギーをエネルギー閾値と比較し、エネルギーがエネルギー閾値を超える動きベクトルを投票から除外する。動きベクトルの信頼性を判定し、信頼性の低い動きベクトルを用いた投票を行わないことで、信頼性の低い動きベクトルによる影響を小さくしてより高精度な移動物体検出を行うことが可能となる。
【００５４】
また、投票部１４は、動きベクトルに含まれるグローバルモーションを補正して投票を実行する。カメラ運動およびカメラパラメータの変化によるグローバルモーションを補正して投票を行うことで、より高精度な移動物体検出を行うことが可能となる。
【００５５】
また、投票部１４は、投票値算出部１２が算出した投票値を、各々の動きベクトルの参照フレームに対応する投票面の動きベクトルが指す座標に投票した後に、参照フレームに対応する投票面の各座標の累積投票値を、動きベクトルの符号を反転したベクトルが指す投票面の座標にそれぞれ投票する。一度投票が完了した後に逆方向への投票を行うことで、他のフレームから参照されることが少ない例えばフレーム１、２、３、５、６、７などにも、信頼性の高い投票値を与えることができる。
【００５６】
また、移動物体検出部１５は、各座標の累積投票値を投票閾値と比較することで、移動物体検出対象フレーム内の移動物体が存在する領域を判定する。映像ビットストリームに含まれるフレームは階層化された参照構造を有し、移動物体検出部１５は、移動物体検出対象フレームの階層に応じて投票閾値を設定する。参照構造における階層などに応じて投票閾値を適応的に変更することで、より高精度な移動物体検出を行うことが可能となる。
【００５７】
実施の形態２．
図１８は、実施の形態２に係る映像復号装置の要部を示すブロック図である。図１８を参照して、実施の形態１と同様の移動物体検出装置１００を有する映像復号装置３００について説明する。
【００５８】
可変長復号部１１は、動き補償予測を用いて符号化されたフレームを含む映像ビットストリームを入力として受け取り、対応する符号化方式にて規定されている方法に従って復号する処理回路である。
【００５９】
逆量子化・逆変換部２１は、可変長復号部１１により復号されたＤＣＴ係数を受け取り、これを逆量子化および逆変換して予測残差を出力する処理回路である。
【００６０】
加算部２２は、逆量子化・逆変換部２１から出力された予測残差と、イントラ予測部２３あるいは動き補償予測部２４から出力された予測画像とを受け取り、それらを加算して復号画像を生成して出力する演算器である。
【００６１】
イントラ予測メモリ２５は、加算部２２から出力された復号画像を記憶する記憶素子である。
【００６２】
ループフィルタ部２６は、加算部２２から出力された復号画像を受け取ってループフィルタ処理を施し、その結果を出力する処理回路である。
【００６３】
動き補償予測メモリ２７は、ループフィルタ部２６がループフィルタ処理を施した復号画像を受け取り、参照画像として記憶する記憶素子である。
【００６４】
イントラ予測部２３は、イントラ予測メモリ２５に格納された復号画像の画素データを読み出し、イントラ予測を行ってイントラ予測画像を生成して出力する処理回路である。
【００６５】
動き補償予測部２４は、動き補償予測メモリ２７に格納された参照画像を読み出し、動き補償予測を行って動き補償予測画像を生成して出力する処理回路である。
【００６６】
投票値算出部１２、累積投票値記憶部１３、投票部１４および移動物体検出部１５は、実施の形態１と同様のブロックであるため説明を省略する。
【００６７】
可変長復号部１１、投票値算出部１２、累積投票値記憶部１３、投票部１４および移動物体検出部１５により、移動物体検出装置１００が構成されている。可変長復号部１１、逆量子化・逆変換部２１、加算部２２、イントラ予測部２３、動き補償予測部２４、イントラ予測メモリ２５、ループフィルタ部２６および動き補償予測メモリ２７により、復号画像生成部２００が構成されている。移動物体検出装置１００および復号画像生成部２００により、映像復号装置３００が構成されている。
【００６８】
次に、映像復号装置３００の動作につい説明する。
なお、復号画像生成部２００は、一般的な映像復号装置と同様に動作するため説明を省略する。また、移動物体検出装置１００のうち、可変長復号部１１、投票値算出部１２、累積投票値記憶部１３および投票部１４は、実施の形態１と同様に動作するため説明を省略する。
【００６９】
移動物体検出部１５は、移動物体検出対象のフレームの投票が完了した段階で、累積投票値記憶部１３から移動物体検出対象のフレームに対応する投票面を読み出して移動物体検出のための閾値処理を行う。移動物体検出部１５は、投票面の各座標に格納された累積投票値と投票閾値を比較し、累積投票値が投票閾値よりも大きくなる領域だけを選択することで移動物体検出を行う。
【００７０】
投票閾値は、あらかじめ移動物体検出部１５の内部のメモリに保持しておいてもよいし、移動物体検出部１５の内部あるいは外部で計算して求めるようにしてもよい。なお、図２に示す階層化された参照構造では、階層に応じて累積投票値の大きさに違いが出るため、階層に応じて投票閾値を変更するようにしてもよい。例えば、移動物体検出部１５の内部のメモリに保持されている投票閾値がＴｈ、移動物体検出対象のフレームが属する階層がＨであったとすると（図２の例ではＨ＝０、１、２、３）、投票閾値をＴｈ／２Ｈとして用いることが考えられる。参照構造における階層または映像の特性に応じて投票閾値を適応的に変更することで、より高精度な移動物体検出を行うことが可能となる。
【００７１】
移動物体検出結果は、例えば図１５に示すように移動物体領域の値を１、それ以外の領域の値を０とする２値マスク画像として出力してもよいし、あるいは図１６に示すように移動物体領域をラベリングして領域ごとに区別し、各領域を内包するバウンディングボックスを定義してその矩形の座標（例えば左上座標）とサイズ（例えば２辺の長さ）として出力してもよい。
【００７２】
また、移動物体検出部１５は、復号画像生成部２００から復号画像を受け取り、復号画像と移動物体検出結果を合成して出力するようにしてもよい。例えば、入力された復号画像が図１９のようであったとすると、移動物体検出部１５は、図１９において検出された移動物体領域以外の領域の画素値を０とすることで黒く塗りつぶし、検出された移動物体領域の画素値は変更しないことで図２０に示す画像を生成して出力するようにしてもよい。
【００７３】
あるいは、図２１に示すように移動物体領域をラベリングして領域ごとに区別し、各領域を内包するバウンディングボックスを定義してそれを復号画像に合成して出力するようにしてもよい。
【００７４】
以上のように、実施の形態２の映像復号装置３００は、実施の形態１と同様の移動物体検出装置１００と、映像ビットストリームから復号画像を生成する復号画像生成部２００とを備える。符号化された映像から得られる動きベクトルを用いた移動物体検出において、動きベクトルの参照関係を利用した投票処理によって複数のフレームにおける複数の動きベクトルを統合的に用いて移動物体検出を行うように構成したので、信頼性の低い動きベクトルの影響を小さくして高精度な移動物体検出を行うことできる。
【００７５】
また、移動物体検出部１５は、復号画像生成部２００が生成した復号画像に移動物体の検出結果を合成して外部に出力する。ビットストリームを復号することで得られる復号画像と移動物体検出結果を合成して出力することで、利用者にとって視覚的にわかりやすい形式で移動物体検出結果を提示することができる。
【００７６】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００７７】
１１  可変長復号部、１２  投票値算出部、１３  累積投票値記憶部、１４  投票部、１５  移動物体検出部、２１  逆量子化・逆変換部、２２  加算部、２３  イントラ予測部、２４  動き補償予測部、２５  イントラ予測メモリ、２６  ループフィルタ部、２７  動き補償予測メモリ、１００  移動物体検出装置、２００  復号画像生成部、３００  映像復号装置。
【図１】
0006436846.tif 000006
【図２】
0006436846.tif 000007
【図３】
0006436846.tif 000008
【図４】
0006436846.tif 000009
【図５】
0006436846.tif 000010
【図６】
0006436846.tif 000011
【図７】
0006436846.tif 000012
【図８】
0006436846.tif 000013
【図９】
0006436846.tif 000014
【図１０】
0006436846.tif 000015
【図１１】
0006436846.tif 000016
【図１２】
0006436846.tif 000017
【図１３】
0006436846.tif 000018
【図１４】
0006436846.tif 000019
【図１５】
0006436846.tif 000020
【図１６】
0006436846.tif 000021
【図１７】
0006436846.tif 000022
【図１８】
0006436846.tif 000023
【図１９】
0006436846.tif 000024
【図２０】
0006436846.tif 000025
【図２１】
0006436846.tif 000026