(57)【要約】【課題】カメラがパンニングやチルティングといった動きをしても動画像の圧縮効率の低下を最小限に抑えて、精細な画像を得ることができる監視システム及び監視システムの画像圧縮，伸張方法を提供する。【解決手段】カメラ１０１のパンニング及びチルティングを行ってカメラ１０１が動く範囲の画像を取得し、それらの画像とカメラ方向とを関連付けた情報を取得するトレーニングシーケンスを実行し、トレーニングシーケンスの実行後、カメラ１０１を動かす場合に、カメラ１０１の方向に応じてトレーニングシーケンスで取得した画像を参照画像として、この参照画像を用いて入力画像の圧縮を行う。これにより、カメラ１０１がパンニングやチルティングされても両画像間の相関が高く保たれ、圧縮効率が向上する。また、動きベクトルを算出する必要がなくなるので、演算量を大幅に削減することができる。【選択図】図１１
2007019819.tif 000002
【特許請求の範囲】
【請求項１】
監視画像を撮影するカメラと、
前記カメラの方向を検出するカメラ方向検出手段と、
前記カメラのパンニング及びチルティングを行い、前記カメラが動く範囲の画像を取得し、それらの画像と前記カメラの方向とを関連付けた情報を取得するトレーニングシーケンスを実行するトレーニングシーケンス実行手段と、
前記トレーニングシーケンスの実行後、前記カメラを動かす場合に、前記カメラの方向に応じて前記トレーニングシーケンスで取得した画像を参照画像として蓄積し、この参照画像を用いて前記カメラによる入力画像の圧縮を行う画像圧縮手段と、
を備える監視システム。
【請求項２】
前記カメラ方向検出手段にて検出された前記カメラの方向を示すカメラ方向情報を前記画像圧縮手段による圧縮処理により得られた圧縮データに付加する情報付加手段と、
前記画像圧縮手段による圧縮データを伸張する際に、該圧縮データに付加された前記カメラ方向情報を基に参照画像を生成し、生成した参照画像を基に前記圧縮データを伸張する画像伸張手段と、
を備える請求項１に記載の監視システム。
【請求項３】
参照画像と圧縮対象の画像の相関性を判定し、両方の画像の相関性がしきい値より低くなった場合に前記参照画像を更新する参照画像更新手段を備える請求項１又は請求項２に記載の監視システム。
【請求項４】
監視システムの画像圧縮，伸張方法において、
前記カメラのパンニング及びチルティングを行って前記カメラが動く範囲の画像を取得し、それらの画像と前記カメラの方向とを関連付けた情報を取得するトレーニングシーケンスを実行し、前記トレーニングシーケンスの実行後、前記カメラを動かす場合に、前記カメラの方向に応じて前記トレーニングシーケンスで取得した画像を参照画像として、この参照画像を用いて前記カメラによる入力画像の圧縮を行う監視システムの画像圧縮，伸張方法。
【請求項５】
前記カメラの方向を示すカメラ方向情報を圧縮データに付加し、該カメラ方向情報を基に参照画像を生成し、生成した参照画像を基に前記圧縮データを伸張する請求項４に記載の監視システムの画像圧縮，伸張方法。
【請求項６】
参照画像と圧縮対象の画像との間の相関性を高く維持するために、両方の画像の相関性がしきい値より低くなった場合に前記参照画像を更新する請求項４又は請求項５に記載の監視システムの画像圧縮，伸張方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視システム及び監視システムの画像圧縮，伸張方法に関する。
【背景技術】
【０００２】
従来、カメラで撮影した画像を圧縮して記録する監視システムやテレビ会議システムが開発されている。テレビ会議システムでは、カメラが動いている間の画面よりも静止した状態での相手の目や口の動き、その表情の再現性に注目されることが多いこともあって、カメラが静止した状態での画像を如何に忠実に再現させるかについての工夫が幾つか提案されている。例えば、動画像圧縮方式の量子化ステップ幅に着目し、カメラの動き有りと無しを判別し、カメラの動きが無い場合は小さい量子化ステップ幅にカメラの動きが有る場合は量子化ステップ幅を選択するようにしたものがある（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平６−１９７３３３号公報（第２頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した監視システムにおいて、監視用のカメラがパンニングやチルティングといった動きをした場合に前フレームとの相関が大きくずれることから、動画像圧縮効率が低下し、精細な画像を記録することが困難であるという問題がある。また、一般的な動画像圧縮処理おいて採用されている動きベクトルの算出においては、それを算出するための演算量が多く、処理時間が膨大になるという問題がある。
【０００５】
本発明は、かかる点に鑑みてなされたものであり、監視用のカメラがパンニングやチルティングといった動きをしても動画像の圧縮効率の低下を最小限に抑えて、精細な画像を得ることができる監視システム及び監視システムの画像圧縮，伸張方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的は下記構成又は方法により達成される。
（１）  監視画像を撮影するカメラと、前記カメラの方向を検出するカメラ方向検出手段と、前記カメラのパンニング及びチルティングを行い、前記カメラが動く範囲の画像を取得し、それらの画像と前記カメラの方向とを関連付けた情報を取得するトレーニングシーケンスを実行するトレーニングシーケンス実行手段と、前記トレーニングシーケンスの実行後、前記カメラを動かす場合に、前記カメラの方向に応じて前記トレーニングシーケンスで取得した画像を参照画像として蓄積し、この参照画像を用いて前記カメラによる入力画像の圧縮を行う画像圧縮手段と、を備える。
【０００７】
この構成により、カメラが動く範囲の画像を取得して、それらの画像とカメラの方向とを関連付けた情報を取得するトレーニングシーケンスを実行し、その後、カメラを動かす場合に、カメラの方向に応じてトレーニングシーケンスで取得した画像を参照画像として蓄積し、この参照画像と入力画像との間の相関を利用して入力画像の圧縮を行うので、カメラがパンニングやチルティングされても両画像間の相関が高く保たれるため圧縮効率が向上する。また、カメラの方向に応じて相関性の高い参照画像を得ることができることから、動きベクトルを算出する必要がなくなり、演算量を大幅に削減することができる。
【０００８】
（２）  上記（１）に記載の監視システムにおいて、前記カメラ方向検出手段にて検出された前記カメラの方向を示すカメラ方向情報を前記画像圧縮手段による圧縮処理により得られた圧縮データに付加する情報付加手段と、前記画像圧縮手段による圧縮データを伸張する際に、該圧縮データに付加された前記カメラ方向情報を基に参照画像を生成し、生成した参照画像を基に前記圧縮データを伸張する画像伸張手段と、を備える。
【０００９】
この構成により、伸張時にも圧縮時と同じ参照画像を用いるので、精細な画像を得ることが可能となる。
【００１０】
（３）  上記（１）又は（２）に記載の監視システムにおいて、参照画像と圧縮対象の画像の相関性を判定し、両方の画像の相関性がしきい値より低くなった場合に前記参照画像を更新する参照画像更新手段を備える。
【００１１】
この構成により、常に参照画像と圧縮対象の画像との間の相関性を高く維持できるので、常に精細な画像を得ることができる。
【００１２】
（４）  監視システムの画像圧縮，伸張方法であって、前記カメラのパンニング及びチルティングを行って前記カメラが動く範囲の画像を取得し、それらの画像と前記カメラの方向とを関連付けた情報を取得するトレーニングシーケンスを実行し、前記トレーニングシーケンスの実行後、前記カメラを動かす場合に、前記カメラの方向に応じて前記トレーニングシーケンスで取得した画像を参照画像として、この参照画像を用いて前記カメラによる入力画像の圧縮を行う。
【００１３】
この方法により、カメラが動く範囲の画像を取得して、それらの画像とカメラの方向とを関連付けた情報を取得するトレーニングシーケンスを実行し、その後、カメラを動かす場合に、カメラの方向に応じてトレーニングシーケンスで取得した画像を参照画像として、この参照画像と入力画像との間の相関を利用して入力画像の圧縮を行うので、カメラがパンニングやチルティングされても両画像間の相関が高く保たれるため圧縮効率が向上する。また、カメラの方向に応じて相関性の高い参照画像を得ることができることから、動きベクトルを算出する必要がなくなり、演算量を大幅に削減することができる。
【００１４】
（５）  上記（４）に記載の監視システムの画像圧縮，伸張方法において、前記カメラの方向を示すカメラ方向情報を圧縮データに付加し、該カメラ方向情報を基に参照画像を生成し、生成した参照画像を基に前記圧縮データを伸張する。
【００１５】
この方法により、伸張時にも圧縮時と同じ参照画像を用いるので、精細な画像を得ることが可能となる。
【００１６】
（６）  上記（４）又は（５）に記載の監視システムの画像圧縮，伸張方法において、参照画像と圧縮対象の画像との間の相関性を高く維持するために、両方の画像の相関性がしきい値より低くなった場合に前記参照画像を更新する。
【００１７】
この方法により、常に参照画像と圧縮対象の画像との間の相関性を高く維持できるので、常に精細な画像を得ることができる。
【発明の効果】
【００１８】
本発明の監視システムは、カメラが動く範囲の画像を取得して、それらの画像とカメラの方向とを関連付けた情報を取得するトレーニングシーケンスを実行し、その後、カメラを動かす場合に、カメラの方向に応じてトレーニングシーケンスで取得した画像を参照画像として、この参照画像と入力画像との間の相関を利用して入力画像の圧縮を行うので、カメラがパンニングやチルティングされても両画像間の相関が高く保たれるため圧縮効率が向上する。また、カメラの方向に応じて相関性の高い参照画像を得ることができることから、動きベクトルを算出する必要がなくなり、演算量を大幅に削減することができる。
【発明を実施するための最良の形態】
【００１９】
以下に、本発明を実施するための好適な実施の形態について、図面を参照して詳細に説明する。
【００２０】
図１は、本発明の一実施の形態に係る監視システムの概略構成を示すブロック図である。この図において、本実施の形態の監視システム１００は、カメラ１０１と、台座１０２と、カメラ制御装置１０３と、画像蓄積装置１０４と、モニタ１０５と、入力装置１０６とを備えて構成される。カメラ１０１は、レンズから入力される画像をＣＣＤ（Charge Coupled Device）などにより電気信号に変換して画像データとして出力する。カメラ１０１からの画像データはカメラ制御装置１０３に入力される。
【００２１】
台座１０２は、カメラ１０１を搭載し、カメラ制御装置１０３からの制御信号により、カメラ１０１の方向をパンニング及びチルティングする。台座１０２には、角度の検出及び角度の検出による角度の制御を可能とするセンサとモータとが内蔵されており、カメラ制御装置１０３によって高精度な角度の検出及び制御が可能となっている。カメラ制御装置１０３は台座１０２を制御することでカメラ１０１の方向を制御し、台座１０２からの角度検出信号を得てカメラ１０１の方向を検知する。
【００２２】
画像蓄積装置１０４は、磁気記録媒体等の大容量記録媒体を有し、カメラ１０１で撮影された画像を圧縮して保存する。また、画像蓄積装置１０４は、入力装置１０６から入力されたユーザ要求により、保存している圧縮画像を伸張し読み出す。モニタ１０５は、ＣＲＴなどから構成され、本監視システムの操作、状態確認、制御情報の表示、カメラ１０１で撮影されている画像の表示及び画像蓄積装置１０４に蓄積された画像の表示等に使用される。入力装置１０６は、キーボード、マウス等を備えて構成され、本監視システムの制御に必要な情報の入力に使用される。なお、本実施の形態では被写体１０７として人物を想定している。
【００２３】
図２は、画像蓄積装置１０４の詳細な構成を示すブロック図である。この図において、画像蓄積装置１０４は、入力バッファ２０１と、圧縮部２０２と、圧縮時参照バッファ２０３と、圧縮出力バッファ２０４と、ハードディスク装置（ＨＤＤ）２０５と、伸張入力バッファ２０６と、伸張部２０７と、伸張時参照バッファ２０８と、出力バッファ２０９と、メモリ制御部２１０と、大容量メモリ２１１と、テンポラリバッファ２１２と、ＣＰＵ２１３とを備えて構成される。入力バッファ２０１は、カメラ１０１からの画像データと台座１０２からの位置データを一時的に保存してタイミングを調整する。この場合、位置データは画像データに同期して入力される。
【００２４】
圧縮部２０２は、入力バッファ２０１に保持されている画像データの画像圧縮を行う。この場合、圧縮部２０２は、圧縮時参照バッファ２０３に保持されている参照画像を用いて両画像の相関を利用して画像圧縮を行う。圧縮出力バッファ２０４は、圧縮部２０２からの圧縮データと台座１０２にて検出されたカメラ１０１の水平方向及び垂直方向の角度を含む位置データを一時的に保持してタイミングを調整する。圧縮出力バッファ２０４でタイミング調整された圧縮データはハードディスク装置２０５に格納される。伸張入力バッファ２０６は、ハードディスク装置２０５から読み出された圧縮データを一時的に保持する。
【００２５】
伸張部２０７は、伸張入力バッファ２０６に保持されている圧縮データの画像伸張を行う。この場合、伸張部２０７は、伸張時参照バッファ２０８に保持されている参照画像を用いて両画像の相関を利用して画像伸張を行う。出力バッファ２０９は、伸張部２０７からの画像データを一時的に保持して出力するタイミングを調整する。大容量メモリ２１１は、ハードディスク装置又は半導体メモリなどから構成される記憶媒体であり、参照画像とカメラ１０１の方向とを関連付けた参照画像テーブルが格納される。メモリ制御部２１０は、参照画像テーブルが格納された大容量メモリ２１１、テンポラリバッファ２１２などに対してデータの読み出しや書き込みを制御する。また、圧縮時参照バッファ２０３及び伸張時参照バッファ２０８とテンポラリバッファ２１２との間のデータ転送も行う。
【００２６】
テンポラリバッファ２１２は、大容量メモリ２１１に格納された参照画像テーブルを一時的に保持する。テンポラリバッファ２１２に保持された参照画像テーブルは、メモリ制御部２１０によって圧縮時参照バッファ２０３と伸張時参照バッファ２０８に送られる。ＣＰＵ２１３は、図示せぬプログラムメモリに書き込まれたプログラムに従って装置各部を制御する。ＣＰＵ２１３には割込み信号を含む制御信号が入出力される。圧縮時参照バッファ２０３では、このバッファ上に画像圧縮処理に必要な参照画像が生成される。伸張時参照バッファ２０８では、このバッファ上に画像伸張処理に必要な参照画像が生成される。ハードディスク装置２０５には圧縮出力バッファ２０４からの圧縮データが格納される。ハードディスク装置２０５に格納された圧縮データは必要な場合に読み出される。
【００２７】
図３は、台座１０２の概略構成を示すブロック図である。この図において、台座１０２は、水平角度センサ３０１と、垂直角度センサ３０２と、水平モータ３０３と、垂直モータ３０４とを備えている。水平角度センサ３０１は、図４に示すように、カメラ１０１の光軸の水平方向成分ＡＮＧＨを検出する。垂直角度センサ３０２は、図４に示すように、カメラ１０１の光軸の垂直方向成分ＡＮＧＶを検出する。水平モータ３０３は、ステッピングモータなどから構成され、カメラ制御装置１０３からの制御信号に応じてカメラ１０１の水平方向の光軸を調整する。垂直モータ３０４は、ステッピングモータなどから構成され、カメラ制御装置１０３からの制御信号に応じて、カメラ１０１の垂直方向の光軸を調整する。カメラ制御装置１０３は、水平角度センサ３０１及び垂直角度センサ３０２それぞれが検出した角度を用いて、水平モータ３０３及び垂直モータ３０４を制御して、カメラ１０１の光軸を目標とする角度に調整する。また、監視シーケンスに従い水平モータ３０３及び垂直モータ３０４を制御して、ユーザが希望する撮影範囲を一定の順序に従って自動的に一定の時間に従って繰り返し撮影する。
【００２８】
なお、水平角度センサ３０１及び垂直角度センサ３０２はカメラ方向検出手段に対応する。また、画像蓄積装置１０４はトレーニングシーケンス実行手段と画像圧縮手段と情報付加手段と画像伸張手段と参照画像更新手段に対応する。
【００２９】
次に、図５及び図６を用いてトレーニングシーケンスについて説明する。トレーニングシーケンスは、本実施の形態の監視システムを起動したとき、もしくはカメラ１０１のパンニング及びチルティングによる撮影範囲を変更したとき、もしくはカメラ１０１が撮影する範囲の状態が変わったとき（例えば、時刻が変わることや、照明の点灯／消灯による明るさの変化、カメラ１０１の前に大きな荷物などの配置）に実行される。
【００３０】
図５において、カメラ１０１の光軸の垂直方向５０１と水平方向５０２が交差する点を（ｙ＝０、ｘ＝０）とし、垂直方向における矢印の方向をプラス、その反対方向をマイナスとする角度（°）で表し、また水平方向における矢印の方向をプラス、その反対方向をマイナスとする角度（°）で表す。符号５０３は現在カメラ１０１が撮影している範囲を示す。符号５０４は、現在カメラ制御装置１０３に設定されている監視シーケンスにより台座１０２を制御し、カメラ１０１をパンニング、チルティングすることによる撮影範囲を示す。符号５０５は、カメラ制御装置１０３にプログラミングされている監視シーケンスを示す。この例での監視シーケンスは、ｘ＝０かつｙ＝０を起点とし、ｙ＝０を保持したまま、ｘがマイナスになる方向にパンニングし、ｘ＝ｘ１になった時点で、パンニングを停止し、ｘ＝ｘ１を保持したまま、ｙがプラス方向になるようにチルティングを行い、ｙ＝ｙ１になった時点でｙがマイナス方向になるように逆方向にチルティングを行い、ｙ＝０になった時点でチルティングを停止する。そして、再度、ｙ＝０を保持したまま、ｘがプラス方向にパンニングを開始し、ｘ＝ｘ２になるまでパンニングを継続し、ｘ＝ｘ２で、ｘがマイナス方向になるように逆方向にパンニングを行い、ｘ＝ｙ＝０に戻る。これが１つの監視シーケンスとし、以降この監視シーケンスを繰り返す。
【００３１】
さらに、図５において、符号５０６で示すものは、現在カメラ１０１が撮影している範囲をマクロブロックに分割した様子を示すものである。この例では、カメラ１０１が撮影する範囲のマクロブロックは、ｘ方向に８個、ｙ方向に５個、合計４０個に分割されている。
【００３２】
ユーザが本実施の形態の監視システム１００を起動すると、画像蓄積装置１０４のＣＰＵ２１３は、カメラ制御装置１０３に制御信号を送信し、ユーザにより設定された監視シーケンスに従って台座１０２を制御してカメラ１０１をパンニング及びチルティングさせる。カメラ１０１からの画像データと台座１０２より検出される水平方向の角度情報及び垂直方向の角度情報を含む位置データが同期して画像蓄積装置１０４に入力される。
【００３３】
画像蓄積装置１０４に入力された画像データは、図６に示すようなマクロブロック単位で圧縮処理される。この時の圧縮方式は参照画像を用いず、マクロブロック内のみの圧縮が行われる（以降、イントラ圧縮と呼ぶ）。イントラ圧縮されたマクロブロック毎の画像データは、図７に示すように、その画像が撮影されたときのカメラ１０１の水平方向の角度と垂直方向の角度、及びマクロブロックの位置と関連付けられたテーブル形式のデータフォーマット（以降、参照画像テーブルと呼ぶ）でハードディスク装置２０５に格納される。カメラ１０１で撮影される画像は撮影範囲５０４であり、撮影範囲５０４全てをマクロブロック単位でイントラ圧縮し、カメラ１０１の水平方向の角度、垂直方向の角度、マクロブロック位置に関連付けして参照画像テーブルを作成する。ここで、カメラ１０１は監視シーケンスに従ってパンニング及びチルティングしながら画像を撮影するため、パンニング及びチルティングの速度により同一のマクロブロックが作成されるが、ＣＰＵ２１３は重複したものが撮影されたマクロブロックのデータを破棄する。参照画像テーブルは画像圧縮時及び画像伸張時の参照画像として用いられる。この詳細については以降で説明する。また、カメラ１０１で画像を撮影する時間間隔（録画レート）は、トレーニングシーケンスの際には一番小さく設定される。
【００３４】
上述した参照画像テーブルの詳細について、図６、図７及び図８を用いて説明する。図６において、符号６０１は、水平座標Ｈであり、図５の光軸の水平方向５０２と一対一に対応する変数であり、カメラ１０１の水平方向と、撮影された画像における水平方向のマクロブロック位置により算出される。水平座標Ｈは式（１）により、また垂直座標Ｖは式（２）により表すことができる。
Ｈ＝ｘ＋Ｆｈ（ｘ１）…（１）
Ｖ＝ｙ＋Ｆｖ（ｙ１）…（２）
【００３５】
ここで、式（１）、（２）について図７を参照して説明する。図７は、カメラ１０１の光軸の水平成分の角度＝ｘ及びｘ’のときに撮影した撮影範囲を示した図である。この図において、符号７０１は撮影範囲（Ｎ）であり、カメラ１０１の光軸の水平成分の角度＝ｘのときの撮影範囲である。符号７０２は撮影範囲（Ｎ＋１）であり、カメラ１０１の光軸の水平成分の角度＝ｘ’のときの撮影範囲である。符号７０３はマクロブロック水平位置成分を示し、撮影範囲（Ｎ）７０１の場合はｘ１であり、撮影範囲（Ｎ＋１）７０２の場合はｘ１’である。符号７０４はマクロブロック垂直位置成分を示し、撮影範囲（Ｎ）７０１及び撮影範囲（Ｎ＋１）７０２ではｙ１であり、同一である。符号７０５は注目マクロブロックであり、撮影範囲（Ｎ）７０１及び撮影範囲（Ｎ＋１）７０２で同一の被写体が撮影されているマクロブロックを示す。
【００３６】
図７の、撮影範囲（Ｎ）７０１及び撮影範囲（Ｎ＋１）７０２は、カメラ１０１が台座１０２にてパンニングされて水平方向の光軸が変化することにより、撮影範囲がずれた様子を表している。従って、マクロブロック垂直位置成分７０４＝ｙ１で同一である。ここで、注目マクロブロック７０５は同一のものが撮影されているので、注目マクロブロックの位置情報を式（１）及び（２）を用いると、各撮影範囲ごとに以下にように表すことができる。
【００３７】
撮影範囲（Ｎ）の場合
Ｈ（Ｎ）＝ｘ＋Ｆｈ（ｘ１）
Ｖ（Ｎ）＝ｙ＋Ｆｖ（ｙ１）
【００３８】
撮影範囲（Ｎ＋１）の場合
Ｈ（Ｎ＋１）＝ｘ’＋Ｆｈ（ｘ１’）
Ｖ（Ｎ＋１）＝ｙ＋Ｆｖ（ｙ１）
【００３９】
ここで、Ｆｈ（ｘ）及びＦｖ（ｙ）は、それぞれマクロブロックの水平方向、垂直方向の位置とカメラ１０１の光軸の水平成分、垂直成分に関係する関数であり、カメラ１０１の光学的特性（焦点距離、視野角など）により決定される。このようにカメラ１０１の光軸の水平方向、垂直方向、マクロブロック位置が分かれば、対応するマクロブロックのイントラ圧縮データを容易に取り出すことが可能である。
【００４０】
図６に示す符号６０３はイントラ圧縮画像であり、トレーニングシーケンスで作成されたマクロブロック単位でイントラ圧縮されたデータである。このように作成された参照画像テーブルは画像蓄積装置１０４の大容量メモリ２１１に格納され、画像蓄積装置１０４でカメラ１０１から入力された画像データを圧縮する際の参照画像を得る際に使用されるとともに、ハードディスク装置２０５に格納された圧縮データを伸張する際の参照画像を得る際に使用される。
【００４１】
次に、図８を参照して圧縮データのデータフォーマットについて説明する。図８において、符号８０１は全体ヘッダであり、圧縮データの開始を示し、フレーム番号、フィールド番号、全体のデータサイズ、圧縮率設定、マクロブロック単位での動き情報など圧縮データ全体として必要な情報が格納されている。符号８０２は参照画像ヘッダであり、画像圧縮時に使用した参照画像を構成する参照画像テーブルから圧縮画像を読み出すために必要な水平座標Ｈ６０１及び垂直座標Ｖ６０２が格納されている。括弧内の番号（０、１、…、ｎ）は、参照画像のマクロブロックの並びを示し、図５に示した例では、ｎ＝０からｎ＝３９まで合計４０個の参照画像ヘッダが必要である。図８に示す符号８０３は圧縮データであり、参照画像テーブルから読み出したマクロブロック単位で圧縮されたイントラ圧縮画像を伸張して作成した参照画像を用いて入力画像を圧縮した圧縮画像である。符号８０４はフッタであり、圧縮データの終了を示すコードが含まれる。
【００４２】
次に、図９を用いて画像圧縮動作について説明する。以下に説明する処理は画像蓄積装置１０４で実行される。
【００４３】
＜画像圧縮動作の説明＞
図９において、符号９０１は参照画像（Ｍ）であり、トレーニングシーケンスによりカメラ１０１から入力されたＭ番目の入力画像を示す。符号９０２は参照画像（Ｍ＋１）であり、トレーニングシーケンスによりカメラ１０１からの入力画像（Ｍ）９０１の次の入力画像である。符号９０３は破棄ＭＢ（ＭＢはマクロブロックの略）であり、参照画像（Ｍ）９０１から参照画像（Ｍ＋１）９０２に切り替える際の参照画像（Ｍ＋１）９０２の生成において不要なマクロブロック単位の画像データを示す。符号９０４は読み出しＭＢであり、参照画像（Ｍ）９０１から参照画像（Ｍ＋１）９０２に切り替える際の参照画像（Ｍ＋１）９０２の生成において新たな読み出しが必要なマクロブロック単位の画像データを示す。符号９０５は参照画像生成処理を示し、入力画像（Ｎ）９０７と同期して入力される位置情報（Ｎ）９０６と、入力画像（Ｎ＋１）９０９と同期して入力される位置情報（Ｎ＋１）９０８とから破棄ＭＢ９０３及び読み出しＭＢ９０４を決定し、参照画像（Ｍ）９０１から参照画像（Ｍ＋１）９０２を生成する。
【００４４】
位置情報（Ｎ）９０６は、カメラ１０１から入力される入力画像（Ｎ）９０７と同期して台座１０２から入力されるカメラ１０１の光軸の水平方向及び垂直方向夫々の角度及びマクロブロックの位置である。入力画像（Ｎ）９０７は、カメラ１０１から入力されるＮ番目の入力画像である。位置情報（Ｎ＋１）９０８は、カメラ１０１から入力される入力画像（Ｎ＋１）９０９と同期して台座１０２から入力されるカメラ１０１の光軸の水平方向及び垂直方向夫々の角度及びマクロブロックの位置である。入力画像（Ｎ＋１）９０９は、カメラ１０１から入力される（Ｎ＋１）番目の入力画像である。
【００４５】
符号９１０は圧縮データ生成処理を示し、入力画像（Ｎ）９０７を参照画像（Ｍ）９０１を用いて圧縮処理を行って圧縮データ（Ｎ）を生成し、また入力画像（Ｎ＋１）９０９を参照画像（Ｍ＋１）９０２を用いて圧縮処理を行って圧縮データ（Ｎ＋１）９１３を生成する。符号９１１はヘッダ生成処理を示し、圧縮データ処理９１０で生成された圧縮画像（Ｎ）とこの圧縮画像（Ｎ）を生成する際に使用した参照画像（Ｍ）９０１を構成するために必要な情報を図６に示したようなフォーマットに整えた圧縮データ（Ｎ）９１２を生成し、また圧縮データ処理９１０で生成した圧縮画像（Ｎ＋１）とこの圧縮画像（Ｎ＋１）を生成する際に使用した参照画像（Ｍ＋１）９０２を構成するために必要な情報を図６に示したようなフォーマットに整え圧縮データ（Ｎ＋１）９１３を生成する。ここで、Ｎ及びＭは任意の自然数である。
【００４６】
ＣＰＵ２１３には、制御信号の１つである割込み信号をトリガとして、画像データが入力バッファ２０１に１ＧＯＰ（Group of Picture）分蓄積されたことが通知される。入力バッファ２０１に蓄積された画像データは入力画像（Ｎ＋１）９０９である。割込み信号により、ＣＰＵ２１３は、入力バッファ２０１に蓄積された画像データに対応する位置情報（Ｎ＋１）９０８を入力バッファ２０１から読み出す。次いで、参照画像生成処理９０５を実行する。参照画像生成処理９０５では、入力画像（Ｎ＋１）９０９に対応する位置情報（Ｎ＋１）９０８と既に圧縮済みの入力画像（Ｎ）９０７を圧縮する際に使用した位置情報（Ｎ）９０６との差分を算出する。この差分により、カメラ１０１がパンニング及びチルティングした正確な角度が分かる。次いで、位置情報（Ｎ＋１）９０８と位置情報（Ｎ）９０６との差分から、既に圧縮処理に使用した参照画像（Ｍ）９０１から次の圧縮に使用する参照画像（Ｍ＋１）９０２を作成する。参照画像（Ｍ＋１）９０２と参照画像（Ｍ）９０１との間には、台座１０２のパンニング、チルティングの速度に応じて重なる部分がある。つまり、パンニング及びチルティングの速度が遅い場合には重なる部分が大きく、早い場合には重なる部分が小さい。（もしくはゼロである。）
【００４７】
参照画像（Ｍ）９０１は、圧縮時参照バッファ２０３に格納されており、圧縮時参照バッファ２０３上の参照画像（Ｍ）９０１を参照画像（Ｍ＋１）９０２に更新するために次の処理を行う。すなわち、図９に示すように、重なる部分については、圧縮時参照バッファ２０３に保持しておき、重ならない部分については、参照画像（Ｍ）９０１に有って参照画像（Ｍ＋１）９０２には無いマクロブロックは、破棄ＭＢ９０３として圧縮時参照バッファ２０３から破棄し、参照画像（Ｍ）９０１に無く参照画像（Ｍ＋１）９０２に有るマクロブロックは、読み出しＭＢ９０４として新たに読み出す。読み出しＭＢ９０４は、予めイントラ伸張を行い、テンポラリバッファ２１２上に読み出しておく。以上のように、圧縮時参照バッファ２０３に参照画像（Ｍ＋１）９０２を生成する。
【００４８】
次に、ＣＰＵ２１３は、圧縮データ生成処理９１０を行う。圧縮データ生成処理９１０では、入力バッファ２０１に格納された入力画像（Ｎ＋１）９０９を圧縮時参照バッファ２０３に格納された参照画像（Ｍ＋１）９０２により圧縮部２０２を用いて画像圧縮を行う。本発明による画像圧縮処理では、入力画像（Ｎ＋１）９０９と参照画像（Ｍ＋１）９０２の間では、入力画像（Ｎ＋１）９０９を撮影した時のカメラ１０１の方向と、参照画像（Ｍ＋１）９０２を撮影した時のカメラ１０１の方向は正確に一致するため、相関がしきい値より非常に高く圧縮効率が高い。さらに、参照画像を生成するために使用する参照画像テーブルを作成するトレーニングシーケンス（後で説明する）では、両画像間の相関性がしきい値より低くなった場合には再度参照画像テーブルを更新するので、常に両画像間の相関性が維持される。また、本発明による画像圧縮処理では動きベクトルなどを算出する必要が無いので、演算量を削減できる。
【００４９】
ここで、しきい値の設定方法の例を以下に述べる。入力画像（Ｎ＋１）９０９と参照画像（Ｍ＋１）９０２を複数の領域に分割し、それぞれの領域で輝度の平均を算出する。それぞれ対応する分割した領域（同一の分割位置）の輝度平均の差分の絶対値を求め、この値がある値を超えた場合、両領域は相関性が低く、超えない場合は相関性が高いと判断する。また分割した全ての領域で上記の判断を行い、ある値を超えた領域の数が第２のある値を超えた場合、両画像は相関が低く、超えない場合は相関が高いと判断する。この「ある値、第２のある値」がしきい値であり、しきい値はＣＣＤの感度、レンズの光学特性等カメラの特性により適宜決定すればよい。
【００５０】
次に、圧縮部２０２は、圧縮されたデータを圧縮出力バッファ２０４に順次書き出して行く。ＣＰＵ２１３は、圧縮データ生成処理９１０と並行してヘッダ生成処理９１１を実行する。参照画生成処理９０５で参照画像（Ｍ＋１）９０２を生成するために使用した全マクロブロックのイントラ圧縮画像を参照画像テーブルから読み出すために必要な垂直座標、水平座標のヘッダ（Ｎ＋１）を生成し、圧縮データ（Ｎ＋１）９１３としてフォーマットを整える。次いで、ＣＰＵ２１３は、圧縮部２０２が入力画像（Ｎ＋１）９０９の圧縮が完了したら、制御信号の１つとしての割込み信号をトリガとして、圧縮出力バッファ２０４に蓄積された圧縮データ（Ｎ＋１）９１３をハードディスク装置２０５に格納する。
【００５１】
＜画像伸張動作の説明＞
次に、図１０を用いて画像伸張動作について説明する。ＣＰＵ２１３は、制御信号の１つとしての割込み信号により、ハードディスク装置２０５から読み出された伸張データが伸張入力バッファ２０６に１ＧＯＰ分蓄積されたことが通知される。この通知により、ＣＰＵ２１３は、伸張データ（Ｎ＋１）１０１３のヘッダ（Ｎ＋１）を読み出し、参照画像生成処理１００５を実行する。参照画像生成処理１００５では、伸張画像（Ｎ＋１）１００９に対応した位置情報（Ｎ＋１）１００８と、既に伸張済みの伸張画像（Ｎ）１００７を伸張する際に使用した位置情報（Ｎ）１００６との差分を計算する。この差分により、カメラ１０１がパンニング及びチルティングした正確な角度が分かる。次いで、位置情報（Ｎ＋１）１００８と位置情報（Ｎ）１００６との差分から、既に伸張処理で使用した参照画像（Ｍ）１００１から次の伸張処理で使用する参照画像（Ｍ＋１）１００２を作成する。参照画像（Ｍ＋１）１００２は、参照画像（Ｍ）１００１とは、台座１０２のパンニング、チルティングの速度により重なる部分がある。
【００５２】
パンニング及びチルティングの速度が遅い場合には重なる部分が大きく、早い場合には重なる部分が小さい。（もしくはゼロである。）参照画像（Ｍ）１００１は伸張時参照バッファ２０８に格納されており、この伸張時参照バッファ２０８上の参照画像（Ｍ）１００１を参照画像（Ｍ＋１）１００２に更新するために以下の処理を行う。図１０に示すように、重なる部分については、伸張時参照バッファ２０８に保持しておき、重ならない部分については、参照画像（Ｍ）１００１に有って参照画像（Ｍ＋１）１００２には無いマクロブロックは、破棄ＭＢ９０３として伸張時参照バッファ２０８から消去し、参照画像（Ｍ）１００１に無く参照画像（Ｍ＋１）１００２にあるマクロブロックは、読み出しＭＢ９０４として新たに読み出す。読み出しＭＢ９０４は、テンポラリバッファ２１２に予めイントラ伸張を行い、読み出しておく。このようにして伸張時参照バッファ２０８に参照画像（Ｍ＋１）１００２を生成する。
【００５３】
ＣＰＵ２１３は、参照画像（Ｍ＋１）１００２を生成した後、伸張データ生成処理１０１０を行う。伸張データ生成処理１０１０では、伸張入力バッファ２０６に格納された伸張画像（Ｎ＋１）１００９を伸張時参照バッファ２０８に格納された参照画像（Ｍ＋１）１００２により伸張部２０７を用いて画像伸張を行う。この場合、動きベクトルなどを算出する必要が無いので、演算量を削減できる。伸張部２０７は、伸張されたデータを出力バッファ２０９に順次書き出していく。次いで、ＣＰＵ２１３は、出力バッファ２０９に格納された画像を制御信号の１つである同期信号に同期させて出力する。
【００５４】
以上の各説明をもとに、図１１に示すフローチャートを参照して本実施の形態に係る監視システム１００の全体的な動作を説明する。図１１において、まずレーニングシーケンスを行うか否かを判断する（ステップＳ１１０１）。トレーニングシーケンスが必要な場合にはステップＳ１１０２に遷移し、不要な場合にはステップＳ１１０５に遷移する。トレーニングシーケンスは、システム起動時や、時刻による照度の違い、照明の点灯／消灯などにより、カメラ１０１の取り込む撮影範囲内の被写体の状態が大きく異なる場合に実行される。この場合、時刻の変化により制御する場合は、監視システムにタイマを設け、タイマによりＣＰＵ２１３に割り込みを入力してトレーニングシーケンスを実行する。また、監視システムに照度計を設け、照度計が検知する照度の変化に応じてＣＰＵ２１３に割り込みを入力してトレーニングシーケンスを実行する。このようにトレーニングシーケンスは、参照画像とカメラ１０１から入力される画像の相関性が維持されるように制御される。
【００５５】
ステップＳ１１０２に遷移すると、カメラ１０１で画像を撮影し、またカメラ１０１の方向データを取得する。ＣＰＵ２１３は、台座１０２を制御し、予めプログラムされた監視シーケンスに従ってカメラ１０１の方向を制御しながら撮影を開始する。このとき台座１０２からは順次、カメラ１０１の光軸の垂直方向データ及び水平方向データが出力される。カメラ１０１が撮影した画像データはマクロブロック毎にイントラ圧縮し、そしてイントラ圧縮した画像データと台座１０２からの位置情報から参照画像テーブルを生成する（ステップＳ１１０３）。次いで、ＣＰＵ２１３は、ステップＳ１１０３で作成した参照画像テーブルを大容量メモリ２１１に格納する（ステップＳ１１０４）。次いで画像圧縮処理を行うか否かを判断する（ステップＳ１１０５）。圧縮処理を行う場合はステップＳ１１０６に遷移し、行わない場合はステップＳ１１０７に遷移する。
【００５６】
圧縮処理を行う場合、カメラ１０１から入力される画像を、台座１０２から入力されるカメラ１０１の方向データをもとに、大容量メモリ２１１から参照画像テーブルを読み出して参照画像を生成する。そして、生成した参照画像を用いて画像圧縮処理を行い、圧縮された画像をハードディスク装置２０５に記録する（ステップＳ１１０６）。この圧縮処理の動作の流れは後述する。次に、ＣＰＵ２１３は画像伸張処理を行うか否かを判断する（ステップＳ１１０７）。伸張処理を行う場合はステップＳ１１０８に遷移し、行わない場合はステップＳ１１０１に遷移する。伸張処理を行う場合は、ハードディスク装置２０５から伸張データを読み出し、さらにヘッダに記録された位置情報をもとに大容量メモリ２１１から参照画像テーブルを読み出して参照画像を生成する。そして、生成した参照画像を用いて画像伸張処理を行い、伸張した画像を出力する（ステップＳ１１０８）。
【００５７】
図１２に示すフローチャートを参照して、画像圧縮時の動作について説明する。ＣＰＵ２１３は、入力バッファ２０１に格納されたカメラ１０１からの画像データを読み出す（ステップＳ１２０１）。次いで、ＣＰＵ２１３は、ステップＳ１２０１で読み出した画像データに対応するカメラ１０１の水平方向及び垂直方向の情報を入力バッファ２０１から読み出す（ステップＳ１２０２）。この場合、カメラ１０１の水平方向の光軸の角度及び垂直方向の光軸の角度は、台座１０２に設けられた両方向の高精度な角度センサ３０１、３０２により検出されて入力バッファ２０１に格納されている。
【００５８】
次いで、ＣＰＵ２１３は、読み出した画像データを圧縮処理する際に必要な参照画像テーブルを更新する必要があるか否かを判断する（ステップＳ１２０３）。すなわち、ＣＰＵ２１３は、カメラ１０１の垂直方向の角度、水平方向の角度及びマクロブロックの位置情報から、圧縮処理に必要な参照画像テーブルの更新が必要であるがどうかを判断する。そして、更新する必要があればステップＳ１２０４に遷移し、更新する必要が無ければステップＳ１２０６に遷移する。次いで、ステップＳ１２０３で必要であると判断した場合、参照画像テーブルを更新する（ステップＳ１２０４）。カメラ１０１の方向の変化に応じて破棄ＭＢ及び読み出しＭＢを決定する。次いで、ステップＳ１２０４で読み出した参照画像テーブルのイントラ圧縮された画像データ部分を伸張する（ステップＳ１２０５）。
【００５９】
次いで、ステップＳ１２０１で読み出した画像データを、生成した参照画像を用いて画像圧縮を行う（ステップＳ１２０６）。次いで、参照画像テーブルを生成するために必要な情報を圧縮データのヘッダに記録する（ステップＳ１２０７）。次いで、ステップＳ１２０２からステップＳ１２０７を圧縮の単位である１ＧＯＰ（Group Of Picture）繰り返したかを判断する（ステップＳ１２０８）。１ＧＯＰ繰り返した場合はステップＳ１２０９に遷移し、繰り返していない場合にはステップＳ１２０２に遷移する。ステップＳ１２０９に遷移すると、圧縮出力バッファ２０４に格納された圧縮データのフォーマットを整え、ハードディスク装置２０５に格納する。
【００６０】
図１３に示すフローチャートを参照して、画像伸張時の動作について説明する。ＣＰＵ２１３は、伸張入力バッファ２０６に格納された圧縮データを読み出す（ステップＳ１３０１）。次いで、ステップＳ１３０１で読み出した圧縮データのヘッダに記録された、撮影時のカメラ１０１の水平方向及び垂直方向の情報を読み出す（ステップＳ１３０２）。次いで、ＣＰＵ２１３は、読み出した圧縮データを伸張処理する際に必要な参照画像テーブルを更新する必要があるか否かを判断する（ステップＳ１３０３）。ＣＰＵ２１３は、撮影時のカメラ１０１の垂直方向の角度、水平方向の角度及びマクロブロックの位置情報から、伸張処理に必要な参照画像テーブルの更新が必要であるがどうかを判断し、更新する必要があればステップＳ１３０４に遷移し、必要が無ければステップＳ１３０６に遷移する。参照画像テーブルの更新が必要であると判断した場合は参照画像テーブルを更新する（ステップＳ１３０４）。カメラ１０１の方向の変化に応じて破棄ＭＢ及び読み出しＭＢを決定する。
【００６１】
次に、ステップＳ１３０４で読み出した参照画像テーブルのイントラ圧縮された画像データ部分を伸張する（ステップＳ１３０５）。イントラ圧縮された画像データを伸張するとステップＳ１３０３に戻る。次いで、ＣＰＵ２１３は、ステップＳ１３０１で読み出した画像データを、生成した参照画像を用いて伸張圧縮を行う（ステップＳ１３０６）。次いで、ステップＳ１３０２からステップＳ１３０７を圧縮の単位である１ＧＯＰ繰り返したかを判断する（ステップＳ１３０７）。１ＧＯＰ繰り返した場合は、ステップＳ１３０８に遷移し、繰り返していない場合にはステップＳ１３０２に遷移する。ステップＳ１３０８に遷移すると、出力バッファ２０９に格納された画像データをモニタに表示する（ステップＳ１３０８）。
【００６２】
このように、本実施の形態の監視システム１００によれば、監視シーケンスによる撮影する範囲の設定を一度行うと暫くの間はその設定を変更しないことに着目し、カメラ１０１の方向を制御する台座１０２に、カメラ１０１の方向を検出する水平角度センサ３０１及び垂直角度センサ３０２とカメラ１０１の方向を制御する水平モータ３０３及び垂直モータ３０４を備えて、カメラ１０１のパンニング及びチルティングを行ってカメラ１０１の動く範囲の画像を取得し、取得した画像と該画像を取得したときのカメラ１０１の方向とを関連付けた情報を取得するトレーニングシーケンスを実行し、トレーニングシーケンスの実行後、カメラ１０１を動かす場合、カメラ１０１の方向に応じてトレーニングシーケンスで取得した画像を参照画像として動画像の圧縮を行う。これにより、カメラ１０１がパンニングやチルティングされても、両画像間の相関が高いため、圧縮効率が向上する。また、カメラ１０１の方向に応じて相関性の高い参照画像を得ることができることから、動きベクトルを算出する必要がなくなり、演算量を大幅に削減することができる。また、伸張時にも圧縮時と同じ参照画像を用いることにより伸張を実現できる。
【産業上の利用可能性】
【００６３】
本発明は、カメラがパンニングやチルティングといった動きをしても動画像の圧縮効率の低下を最小限に抑えて、精細な画像を得ることができるといった効果を有し、監視システムへの適用が可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施の形態に係る監視システムの概略構成を示すブロック図
【図２】図１の画像蓄積装置の詳細構成を示すブロック図
【図３】図１の台座の概略構成とカメラ制御装置を示すブロック図
【図４】図１のカメラにおける光軸の水平方向成分と垂直方向成分の検出を説明するための図
【図５】図１の監視システムのトレーニングシーケンスを説明するための図
【図６】図１の監視システムのトレーニングシーケンスを説明するための図
【図７】図１の監視システムのトレーニングシーケンスを説明するための図
【図８】図１の監視システムのトレーニングシーケンスを説明するための図
【図９】図１の監視システムの画像圧縮動作を説明するための図
【図１０】図１の監視システムの画像伸張動作を説明するための図
【図１１】図１の監視システムの全体的な動作を説明するためのフローチャート
【図１２】図１の監視システムの画像圧縮動作を説明するためのフローチャート
【図１３】図１の監視システムの画像伸張動作を説明するためのフローチャート
【符号の説明】
【００６５】
１００  監視システム
１０１  カメラ
１０２  台座
１０３  カメラ制御装置
１０４  画像蓄積装置
１０５  モニタ
１０６  入力装置
１０７  被写体
２０１  入力バッファ
２０２  圧縮部
２０３  圧縮時参照バッファ
２０４  圧縮出力バッファ
２０５  ハードディスク装置
２０６  伸張入力バッファ
２０７  伸張部
２０８  伸張時参照バッファ
２０９  出力バッファ
２１０  メモリ制御部
２１１  大容量メモリ
２１２  テンポラリバッファ
２１３  ＣＰＵ
３０１  水平角度センサ
３０２  垂直角度センサ
３０３  水平モータ
３０４  垂直モータ
【図１】
2007019819.tif 000003
【図２】
2007019819.tif 000004
【図３】
2007019819.tif 000005
【図４】
2007019819.tif 000006
【図５】
2007019819.tif 000007
【図６】
2007019819.tif 000008
【図７】
2007019819.tif 000009
【図８】
2007019819.tif 000010
【図９】
2007019819.tif 000011
【図１０】
2007019819.tif 000012
【図１１】
2007019819.tif 000013
【図１２】
2007019819.tif 000014
【図１３】
2007019819.tif 000015