JP4240674B2 - 動き検出装置および動き検出方法、並びに記録媒体 - Google Patents

動き検出装置および動き検出方法、並びに記録媒体 Download PDF

Info

Publication number
JP4240674B2
JP4240674B2 JP25847299A JP25847299A JP4240674B2 JP 4240674 B2 JP4240674 B2 JP 4240674B2 JP 25847299 A JP25847299 A JP 25847299A JP 25847299 A JP25847299 A JP 25847299A JP 4240674 B2 JP4240674 B2 JP 4240674B2
Authority
JP
Japan
Prior art keywords
pixel
screen
image
interest
gravity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP25847299A
Other languages
English (en)
Other versions
JP2001086387A (ja
Inventor
哲二郎 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP25847299A priority Critical patent/JP4240674B2/ja
Publication of JP2001086387A publication Critical patent/JP2001086387A/ja
Priority to US10/855,753 priority patent/US7003163B2/en
Priority to US10/854,851 priority patent/US7133562B2/en
Application granted granted Critical
Publication of JP4240674B2 publication Critical patent/JP4240674B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Studio Circuits (AREA)
  • Studio Devices (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、動き検出装置および動き検出方法、並びに記録媒体に関し、特に、例えば、ビデオカメラ等の撮像装置で撮像された画像から、そのビデオカメラの動き(以下、適宜、カメラ動きという)を、簡易に検出することができるようにする動き検出装置および動き検出方法、並びに記録媒体に関する。
【0002】
【従来の技術】
カメラ動きを検出する方法としては、例えば、いわゆるマクロブロックの動きベクトルを検出するのと同様に、フレーム全体を1つのブロックとみなして、ブロックマッチングを行う方法が考えられる。
【0003】
【発明が解決しようとする課題】
しかしながら、フレーム全体を対象にブロックマッチングを行う場合には、カメラ動きを検出しようとしているフレームの空間的な位置をずらしながら、その1フレーム前の画像の画素との絶対値差分の、1フレームについての総和等を求める必要があるため、演算量が大であり、面倒である。
【0004】
本発明は、このような状況に鑑みてなされたものであり、カメラ動きを、簡易に求めることができるようにするものである。
【0005】
【課題を解決するための手段】
本発明の一側面の動き検出装置は、撮像装置によって撮像された画像から、前記撮像装置の撮像方向の動きを検出する動き検出装置であって、前記撮像装置が出力する各画面の画像が上書きの形で書き込まれる蓄積画像記憶手段と、前記蓄積画像記憶手段に記憶された画像である蓄積画像の中の、注目画面の前の画面の画像を包含する範囲を、前記注目画面についての前記動きを検出するのに用いる検出範囲として設定する検出範囲設定手段と、前記注目画面の画像の各画素を、その画素の画素値を表す値、又は、その周辺にある画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記注目画面の重心として算出するとともに、前記検出範囲の画像の各画素を、その画素の画素値を表す値、又は、その周辺の画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記検出範囲の重心として算出する重心算出手段と、前記検出範囲の重心と、前記注目画面の重心に基づいて、前記前の画面の所定の点から前記検出範囲の重心までのベクトルと、前記注目画面の所定の点から前記注目画面の重心までのベクトルとの差分だけ、前記前の画面の画像を撮像したときの前記撮像装置の撮像方向の動きを表す、前記前の画面の動きベクトルを補正することにより、前記注目画面の動きベクトルを求める動きベクトル算出手段と、前記注目画面の動きベクトルによって、前記蓄積画像記憶手段の書き込みアドレスを制御し、前記注目画面の画像を、前記蓄積画像記憶手段に書き込む書き込み手段とを含み、前記書き込みアドレスの制御により、前記蓄積画像記憶手段には、前記注目画面の動きベクトルによって示される点に、前記注目画面の所定の点が位置するように、前記注目画面の画像が書き込まれる動き検出装置である。
【0009】
本発明の一側面の動き検出方法は、撮像装置によって撮像された画像から、前記撮像装置の撮像方向の動きを検出する動き検出方法であって、前記撮像装置が出力する各画面の画像が上書きの形で書き込まれる蓄積画像記憶手段に記憶された画像である蓄積画像の中の、注目画面の前の画面の画像を包含する範囲を、前記注目画面についての前記動きを検出するのに用いる検出範囲として設定する検出範囲設定ステップと、前記注目画面の画像の各画素を、その画素の画素値を表す値、又は、その周辺にある画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記注目画面の重心として算出するとともに、前記検出範囲の画像の各画素を、その画素の画素値を表す値、又は、その周辺の画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記検出範囲の重心として算出する重心算出ステップと、前記検出範囲の重心と、前記注目画面の重心に基づいて、前記前の画面の所定の点から前記検出範囲の重心までのベクトルと、前記注目画面の所定の点から前記注目画面の重心までのベクトルとの差分だけ、前記前の画面の画像を撮像したときの前記撮像装置の撮像方向の動きを表す、前記前の画面の動きベクトルを補正することにより、前記注目画面の動きベクトルを求める動きベクトル算出ステップと、前記注目画面の動きベクトルによって、前記蓄積画像記憶手段の書き込みアドレスを制御し、前記注目画面の画像を、前記蓄積画像記憶手段に書き込む書き込みステップとを含み、前記書き込みアドレスの制御により、前記蓄積画像記憶手段には、前記注目画面の動きベクトルによって示される点に、前記注目画面の所定の点が位置するように、前記注目画面の画像が書き込まれる動き検出方法である。
【0010】
本発明の一側面の記録媒体は、撮像装置によって撮像された画像から、前記撮像装置の撮像方向の動きを検出する動き検出装置として、コンピュータを機能させるプログラムが記録された記録媒体であって、前記撮像装置が出力する各画面の画像が上書きの形で書き込まれる蓄積画像記憶手段に記憶された画像である蓄積画像の中の、注目画面の前の画面の画像を包含する範囲を、前記注目画面についての前記動きを検出するのに用いる検出範囲として設定する検出範囲設定手段と、前記注目画面の画像の各画素を、その画素の画素値を表す値、又は、その周辺にある画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記注目画面の重心として算出するとともに、前記検出範囲の画像の各画素を、その画素の画素値を表す値、又は、その周辺の画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記検出範囲の重心として算出する重心算出手段と、前記検出範囲の重心と、前記注目画面の重心に基づいて、前記前の画面の所定の点から前記検出範囲の重心までのベクトルと、前記注目画面の所定の点から前記注目画面の重心までのベクトルとの差分だけ、前記前の画面の画像を撮像したときの前記撮像装置の撮像方向の動きを表す、前記前の画面の動きベクトルを補正することにより、前記注目画面の動きベクトルを求める動きベクトル算出手段と、前記注目画面の動きベクトルによって、前記蓄積画像記憶手段の書き込みアドレスを制御し、前記注目画面の画像を、前記蓄積画像記憶手段に書き込む書き込み手段として、コンピュータを機能させるためのプログラムであり、前記書き込みアドレスの制御により、前記蓄積画像記憶手段には、前記注目画面の動きベクトルによって示される点に、前記注目画面の所定の点が位置するように、前記注目画面の画像が書き込まれるプログラムが記録された記録媒体である。
【0011】
本発明の一側面においては、前記撮像装置が出力する各画面の画像が上書きの形で書き込まれる蓄積画像記憶手段に記憶された画像である蓄積画像の中の、注目画面の前の画面の画像を包含する範囲が、前記注目画面についての前記動きを検出するのに用いる検出範囲として設定される。さらに、前記注目画面の画像の各画素が、その画素の画素値を表す値、又は、その周辺にある画素の画素値のパターンを表す値によって分類され、各分類に属する画素の位置の重心の重心が、前記注目画面の重心として算出されるとともに、前記検出範囲の画像の各画素が、その画素の画素値を表す値、又は、その周辺の画素の画素値のパターンを表す値によって分類され、各分類に属する画素の位置の重心の重心が、前記検出範囲の重心として算出される。また、前記検出範囲の重心と、前記注目画面の重心に基づいて、前記前の画面の所定の点から前記検出範囲の重心までのベクトルと、前記注目画面の所定の点から前記注目画面の重心までのベクトルとの差分だけ、前記前の画面の画像を撮像したときの前記撮像装置の撮像方向の動きを表す、前記前の画面の動きベクトルを補正することにより、前記注目画面の動きベクトルが求められる。そして、前記注目画面の動きベクトルによって、前記蓄積画像記憶手段の書き込みアドレスが制御され、前記注目画面の画像が、前記蓄積画像記憶手段に書き込まれる。前記書き込みアドレスの制御により、前記蓄積画像記憶手段には、前記注目画面の動きベクトルによって示される点に、前記注目画面の所定の点が位置するように、前記注目画面の画像が書き込まれる。
【0012】
【発明の実施の形態】
図1は、本発明を適用した画像伝送装置の一実施の形態の構成例を示している。
【0013】
エンコーダ1には、ビデオカメラ等で撮影された、符号化の対象となる画像(ここでは、動画像とする)としてのディジタル画像データが供給されるようになっており、そこでは、その画像が符号化され、その結果得られる符号化データが出力される。この符号化データは、例えば、衛星回線や、地上波、CATV(Cable Television)網、インターネット、ISDN(Integrated Service Digital Network)等の伝送媒体3を介して伝送され、あるいは、光ディスクや、光磁気ディスク、磁気ディスク、磁気テープ、相変化ディスク等の記録媒体4に記録される。
【0014】
デコーダ2には、伝送媒体3を介して伝送されてくる符号化データ、あるいは記録媒体4から再生される符号化データが供給されるようになっており、デコーダ2では、そこに供給される符号化データが復号され、その結果得られる復号画像が、例えば、図示せぬモニタ等に供給されて表示される。
【0015】
以上のような画像伝送装置は、例えば、離れた位置において画像の送受信を行う装置や、画像の記録再生を行う装置等に適用することができる。
【0016】
次に、図2は、図1のエンコーダ1の構成例を示している。
【0017】
蓄積部11は、例えば、半導体メモリや磁気ディスク等で構成され、エンコーダ1に供給される画像データを一時記憶する。ここで、蓄積部11には、例えば、あるシーンチェンジから次のシーンチェンジまで等の一連の画像のフレーム単位で、画像データが入力されて記憶されるようになっている。なお、ここでは、例えば、図3に示すように、第1フレーム乃至第NフレームでなるNフレームの画像データが、一連の画像として、蓄積部11に記憶されるものとする。
【0018】
蓄積部11に、一連の画像としてのNフレームの画像が記憶されると、カメラ動き検出部12は、そのNフレームの画像を蓄積部11から読み出し、各フレームにおけるカメラ動きの方向と大きさを表すカメラ動きベクトルを検出する。
【0019】
即ち、カメラ動き検出部12は、例えば、図4(A)に示すように、第1フレームの左上の点を原点とするとともに、その左から右方向、または上から下方向を、それぞれx軸またはy軸とする座標系(以下、適宜、基準座標系という)において、第1フレームのカメラ動きベクトルv1を0(=(0,0))に設定する。そして、カメラ動き検出部12は、第2フレーム乃至第Nフレームについて、各フレームの背景の位置合わせを行ったときに、第nフレームの左上の点が位置する基準座表系の座標(x,y)を、その第nフレームのカメラ動きベクトルvnとして求める。
【0020】
具体的には、カメラ動き検出部12は、第1フレームのカメラ動きベクトルv1を0に設定した後、図4(B)に示すように、基準座標系において、第1フレームと背景どうしが一致するような第2フレームの位置を求め、その位置における第2フレームの左上の点の座標を、そのカメラ動きベクトルv2として求める。さらに、カメラ動き検出部12は、図4(C)に示すように、基準座標系において、背景の位置合わせを行った第1フレームおよび第2フレームと背景どうしが一致するような第3フレームの位置を求め、その位置における第3フレームの左上の点の座標を、そのカメラ動きベクトルv3として求める。
【0021】
以下、同様にして、カメラ動き検出部12は、第4フレーム乃至第Nフレームのカメラ動きベクトルv4乃至vNも求めていく。
【0022】
なお、ここでは、説明を簡単にするために、カメラ動きとしては、水平および垂直方向の動きのみを考え、回転は考えないものとする。但し、本発明は、カメラ動きに回転がある場合でも適用可能である。
【0023】
以上のようにして、カメラ動き検出部12で検出された、一連の画像としての第1フレーム乃至第Nフレームのカメラ動きベクトルv1乃至vNは、カメラ動きベクトル記憶部13に供給されて記憶される。
【0024】
カメラ動きベクトル記憶部13において、カメラ動きベクトルv1乃至vNが記憶されると、背景抽出部14は、カメラ動きベクトル記憶部13から、カメラ動きベクトルv1乃至vNを読み出すとともに、蓄積部11から第1フレーム乃至第Nフレームの画像データを読み出し、カメラ動きベクトルv1乃至vNに基づいて、第1フレーム乃至第Nフレームの背景の位置合わせを行うことで、その第1フレーム乃至第Nフレーム全体に亘る背景(この背景は、例えば、一連の画像が、ビデオカメラをパンニングまたはチルティングして撮影されたものであれば、横長または縦長の画像となる)(以下、適宜、全体背景という)を抽出する。背景抽出部14で抽出された全体背景は、背景メモリ15に供給されて記憶される。
【0025】
背景メモリ15において、全体背景が記憶されると、前景符号化部16は、その全体背景のうち、蓄積部11に記憶された各フレームの背景を、カメラ動きベクトル記憶部13に記憶された各フレームのカメラ動きベクトルに基づいて検出し、その検出された各フレームの背景を、各フレームの画像から減算することで、各フレームの前景を抽出する。さらに、前景符号化部16は、各フレームの前景を符号化し、その符号化結果を、MUX(マルチプレクサ)17に出力する。
【0026】
MUX17は、前景符号化部16から、前景の符号化結果を受信すると、その前景の符号化結果に、カメラ動きベクトル記憶部13に記憶されたカメラ動きベクトルと、背景メモリ15に記憶された全体背景とを多重化し、その多重化結果を、符号化データとして出力する。
【0027】
エンコーダ1では、以上のように、画像データが、一連の画像単位で符号化される。
【0028】
次に、図5は、図2のカメラ動き検出部12の構成例を示している。
【0029】
重心算出部21には、蓄積部11(図2)に記憶された一連の画像が、フレーム単位で供給されるようになっており、重心算出部21は、各フレームについて、後述するような重心を求めるようになっている。さらに、重心算出部21は、蓄積画像メモリ24に記憶された、後述する蓄積画像に対して、注目している注目フレームのカメラ動きベクトルを検出するのに用いる範囲(以下、適宜、動き検出範囲という)を設定し、その動き検出範囲の重心も求めるようになっている。重心算出部21で求められる注目フレームおよび動き検出範囲の重心は、ベクトル検出部22に供給されるようになっている。
【0030】
ベクトル検出部22は、重心算出部21から供給される注目フレームおよび動き検出範囲の重心に基づいて、注目フレームのカメラ動きベクトルを検出し、カメラ動きベクトル記憶部13(図2)に供給するとともに、書き込み制御部23に供給するようになっている。
【0031】
書き込み制御部23は、ベクトル検出部22からのカメラ動きベクトルに基づいて、蓄積画像メモリ24が注目フレームの画像データを記憶するアドレスを制御するようになっている。蓄積画像メモリ24は、蓄積部11(図2)から、注目フレームの画像データを読み出し、書き込み制御部23が指定するアドレスに記憶するようになっている。
【0032】
次に、図6を参照して、図5のカメラ動き検出部12において行われる、カメラ動きベクトルを検出するカメラ動き検出処理について説明する。
【0033】
カメラ動き検出部12が行うカメラ動き検出処理は、画像の重心が、カメラ動きによって移動することに着目し、基本的には、各フレームの重心が一致するように、各フレームの位置合わせを行い、その位置合わせを行った状態での、各フレームの左上の点が、各フレームのカメラ動きベクトルとして検出されるようになっている。
【0034】
即ち、いま、第nフレームを注目フレームとすると、蓄積画像メモリ24には、注目フレームの前のフレームまでのフレームである第1乃至第n−1フレームの画像データを、その順番で、各フレームの背景の位置合わせを行って重ね合わせた状態の画像(蓄積画像)が記憶されている。
【0035】
この場合、重心算出部21は、図6(A)に示すように、注目フレームである第nフレームの重心cnを求める。さらに、重心算出部21は、図6(B)に示すように、蓄積画像メモリ24に記憶された蓄積画像の中の、注目フレームの1フレーム前の第n−1フレームを包含する範囲を、動き検出範囲とし、その動き検出範囲の重心cを求める。ここで、動き検出範囲としては、例えば、第n−1フレームの上下左右の各方向に、所定の画素数だけ広い範囲が設定される。
【0036】
注目フレームの重心cn、および動き検出範囲の重心cが求められると、ベクトル検出部22では、図6(C)に示すように、動き検出範囲の重心cに、注目フレームの重心cnが一致した状態での、注目フレームの左上の点の位置が求められ、その位置の座標が、注目フレームである第nフレームのカメラ動きベクトルvnとして出力される。
【0037】
即ち、第nフレームを、注目フレームとして、そのカメラ動きベクトルvnを求める場合には、その1フレーム前までのカメラ動きベクトルは、既に求まっている。そこで、図6(C)に示すように、動き検出範囲の重心cの、第n−1フレームの左上の点を基準とする位置をベクトルv’cで表すとともに、注目フレームである第nフレームの重心cnの、その第nフレームの左上の点を基準とする位置をベクトルv’cnで表すとすると、動き検出範囲の重心cと、注目フレームの重心cnとが一致した状態での、注目フレームの左上の点の位置の、基準座標系における座標が、注目フレームの動きベクトルvnとなる。そして、このカメラ動きベクトルvnは、注目フレームの1フレーム前の第n−1フレームの動きベクトルvn-1に、動き検出範囲の重心cの位置を表すベクトルv’cを加算し、さらに、注目フレームの重心cnの位置を表すベクトルv’cnを減算することで求めることができる。即ち、注目フレームのカメラ動きベクトルvnは、式vn=vn-1+v’c−v’cnを計算することで求めることができる。
【0038】
以上のようにして、注目フレームのカメラ動きベクトルvnが求められた後は、書き込み制御部23において、そのカメラ動きベクトルvnに基づいて、蓄積画像メモリ24における注目フレームの画像データを書き込むための書き込みアドレスが制御される。即ち、これにより、蓄積画像メモリ24では、基準座標系において、カメラ動きベクトルvnによって示される点に、その左上の点が位置するように、注目フレームの画像データが、上書きする形で書き込まれ、その書き込みの結果得られる画像が、次の第n+1フレームを注目フレームとして、そのカメラ動きベクトルvn+1を検出する際の蓄積画像として用いられる。
【0039】
次に、図7のフローチャートを参照して、図5のカメラ動き検出部12におけるカメラ動き検出処理について、さらに説明する。
【0040】
まず最初に、蓄積部11に記憶された一連の画像のうちの第1フレームが注目フレームとして読み出され、重心算出部21に供給されるとともに、蓄積画像メモリ24の記憶値がクリアされる。
【0041】
そして、重心算出部21では、ステップS1において、注目フレームが第1フレームであるかどうかが判定される。ステップS1において、注目フレームが第1フレームであると判定された場合、ステップS2に進み、ベクトル検出部22は、そのカメラ動きベクトルv1として0を設定し、カメラ動きベクトル記憶部13および書き込み制御部23に出力して、ステップS6に進む。
【0042】
ステップS6では、書き込み制御部23は、ベクトル検出部22からのカメラ動きベクトルに基づいて、蓄積画像メモリ24における書き込みアドレスを制御し、これにより、蓄積画像メモリ24に、注目フレームを書き込む。即ち、いまの場合、注目フレームは第1フレームであり、そのカメラ動きベクトルv1は0であるから、蓄積画像メモリ24では、基準座標系における原点に、その左上の点が位置するように、第1フレームの画像データが書き込まれる。
【0043】
その後、ステップS7に進み、蓄積部11に、一連の画像を構成する次のフレームがあるかどうかが判定され、あると判定された場合、その、次のフレームが、新たに注目フレームとして読み出され、重心算出部21に供給される。そして、ステップS1に戻り、以下、同様の処理が繰り返される。
【0044】
一方、ステップS1において、注目フレームが第1フレームでないと判定された場合、即ち、第2フレーム乃至第Nフレームのうちのいずれかである場合、ステップS3に進み、重心算出部21において、注目フレームの重心を求める重心算出処理が行われ、ステップS4に進む。ステップS4では、重心算出部21において、蓄積画像メモリ24に記憶された蓄積画像の中に、注目フレームに対する動き検出範囲が設定され、その動き検出範囲の重心を求める重心算出処理が行われ、ステップS5に進む。
【0045】
ステップS5では、ベクトル検出部22において、重心算出部21で求められた注目フレームの重心と、動き検出範囲の重心とから、図6で説明したようにして、注目フレームのカメラ動きベクトルが求められ、カメラ動きベクトル記憶部13および書き込み制御部23に出力される。
【0046】
そして、ステップS6に進み、上述したように、書き込み制御部23において、ベクトル検出部22からのカメラ動きベクトルに基づいて、蓄積画像メモリ24における書き込みアドレスが制御され、これにより、蓄積画像メモリ24に、注目フレームが書き込まれる。即ち、蓄積画像メモリ24では、基準座標系において、注目フレームのカメラ動きベクトルによって示される点に、その左上の点が位置するように、注目フレームの画像データが書き込まれる(上書きされる)。
【0047】
その後、ステップS7に進み、上述したように、蓄積部11に、一連の画像を構成する次のフレームがあるかどうかが判定され、ないと判定された場合、即ち、一連の画像を構成する第1乃至第Nフレームそれぞれのカメラ動きベクトルが求められた場合、カメラ動き検出処理を終了する。
【0048】
次に、図8のフローチャートを参照して、図7のステップS3において、重心算出部21が行う処理(注目フレームの重心算出処理)について詳述する。
【0049】
まず最初に、ステップS11において、変数XまたはYに対して、注目フレームの横(水平方向)の画素数、または縦(垂直方向)の画素数が、それぞれセットされ、ステップS12に進む。
【0050】
ステップS12では、注目フレームの各画素のy座標を表す変数yに、初期値としての、例えば−1がセットされ、ステップS22に進み、変数yが1だけインクリメントされる。
【0051】
ここで、注目フレームを構成する各画素の座標は、その最も左上の画素を原点とし、左から右方向、または上から下方向に、それぞれx軸またはy軸をとって表すものとする。
【0052】
その後、ステップS14に進み、変数yが、注目フレームの縦の画素数Y未満であるかどうかが判定される。ステップS14において、変数yがY未満であると判定された場合、ステップS15に進み、注目フレームの各画素のx座標を表す変数xに、初期値としての、例えば−1がセットされ、ステップS16に進む。
【0053】
ステップS16では、変数xが1だけインクリメントされ、ステップS17に進み、変数xが、注目フレームの横の画素数X未満であるかどうかが判定される。ステップS17において、変数xがX未満でないと判定された場合、ステップS13に戻り、以下、同様の処理が繰り返される。
【0054】
また、ステップS17において、変数xがX未満であると判定された場合、ステップS18に進み、座標(x,y)にある画素p(x,y)が注目画素とされ、その注目画素が、その画素値に基づいて、あらかじめ設定されたレベルのうちのいずれかに分類される。
【0055】
即ち、本実施の形態では、画素値としてとり得る値の範囲が、幾つかの範囲に、あらかじめ分割されている。そして、いま、例えば、画素値としてとり得る値の範囲がK個の範囲に分割されており、このK個の範囲を、画素値の小さい範囲から順番に、レベル1,2,・・・,Kというものとすると、ステップS18では、画素値がレベル1乃至Kのうちのいずれの範囲に属するかによって、注目画素が分類される。
【0056】
さらに、ステップS18では、注目画素のレベル分類結果が、レベルテーブルに登録される。
【0057】
即ち、重心算出部21は、その内蔵するメモリ(図示せず)に、例えば、図9に示すような、各レベルk(k=1,2,・・・,K)について、そのレベルkに属する画素の度数fkと、レベルkに属する画素のx座標の積算値Σxkおよびy座標の積算値Σykを対応付けたレベルテーブルを記憶しており、例えば、注目画素の画素値がレベルkに属する場合には、レベルテーブルにおけるレベルkについての度数fkを1だけインクリメントするとともに、x座標の積算値Σxkまたはy座標の積算値Σykに、注目画素のx座標またはy座標をそれぞれ加算する。
【0058】
なお、レベルテーブルは、図8のフローチャートにしたがった処理が開始されるごとに、0にクリアされるようになっている。
【0059】
そして、ステップS16に戻り、以下、同様の処理が繰り返される。
【0060】
一方、ステップS14において、変数yがY未満でないと判定された場合、即ち、注目フレームを構成する各画素を注目画素として処理を行い、注目フレームを構成するすべての画素を、レベルテーブルに登録した場合、ステップS19に進み、レベルテーブルの各レベルに属する画素の重心が求められる。即ち、ステップS19では、レベルテーブルの各レベルkにおけるx座標の積算値Σxkまたはy座標の積算値Σykそれぞれが、その度数fkで除算され、その除算値で表される座標(Σxk/fk,Σyk/fk)が、各レベルkに属する画素の重心として求められる。
【0061】
そして、ステップS20に進み、レベル1乃至Kそれぞれに属する画素の重心の重心が、注目フレームを構成する画素全体の重心として求められ、リターンする。
【0062】
即ち、ステップS20では、レベル1乃至Kそれぞれに属する画素の重心について、例えば、その度数f1乃至fKを重みとする重み付け平均値が求められ、その重み付け平均値が、注目フレームを構成する画素全体の重心として出力される。
【0063】
次に、図10のフローチャートを参照して、図7のステップS4において、重心算出部21が行う処理(動き検出範囲の重心算出処理)について詳述する。
【0064】
まず最初に、ステップS31において、動き検出範囲が設定される。即ち、ステップS31では、蓄積画像メモリ24に記憶された蓄積画像から、注目フレームの1フレーム前のフレームが書き込まれた範囲が検出される。さらに、ステップS31では、その検出された範囲が、例えば、上下左右方向に、それぞれ所定の画素数だけ拡げられ、その拡げられた範囲が、動き検出範囲として設定される。
【0065】
そして、ステップS32に進み、変数XまたはYに対して、動き検出範囲の横の画素数、または縦の画素数が、それぞれセットされ、ステップS33に進む。
【0066】
その後、ステップS33乃至S41においては、図8のステップS12乃至S20における場合とそれぞれ同様の処理が行われ、これにより、動き検出範囲を構成する画素全体の重心が求められ、リターンする。
【0067】
以上のように、カメラ動き検出部12では、蓄積画像の中の、注目フレームの1フレーム前のフレームを含む所定の範囲を、動き検出範囲として設定し、その動き検出範囲の重心と、注目フレームの重心を算出し、それらの重心に基づいて、注目フレームのカメラ動きベクトルを求め、そのカメラ動きベクトルに基づいて、注目フレームを、蓄積画像に書き込むことを繰り返すようにしたので、いわゆるブロックマッチングを行う場合に比較して、カメラ動きベクトルを、簡易に求めることができる。
【0068】
なお、図7の実施の形態では、ステップS3において、注目フレームの重心を求め、その後、ステップS4において、動き検出範囲の重心を求めるようにしたが、注目フレームの重心と、動き検出範囲の重心は、どちらを先に求めても良いし、また、同時に求めるようにすることも可能である。
【0069】
次に、図8の実施の形態では、注目フレームの重心を、その注目フレームを構成する各画素を、その画素値によって、幾つかのレベルのうちのいずれかに分類(以下、適宜、レベル分類という)することで求めるようにしたが、注目フレームの重心は、その他、例えば、その注目フレームを構成する各画素を、その周辺にある幾つかの画素(自身を含めても良いし、含めなくても良い)に基づいて、幾つかのクラスのうちのいずれかに分類(以下、適宜、クラス分類という)することで行うことも可能である。
【0070】
ここで、クラス分類について、簡単に説明する。いま、例えば、注目画素について、その上下左右にそれぞれ隣接する4画素と、注目画素自身との合計5画素で、注目画素のクラス分類に用いるタップ(以下、適宜、クラスタップという)を構成するものとする。この場合、例えば、画素値が1ビットで表現される(0または1のうちのいずれかの値となる)ものとすると、注目画素は、その注目画素について構成されるクラスタップの5画素が取り得る画素値によって、32(=(215)のパターンに分類することができる。このようなパターン分けがクラス分類であり、いまの場合、注目画素は、32のクラスのうちのいずれかに分類されることになる。
【0071】
なお、一般には、画素に対して、8ビット程度が割り当てられるが、画素に8ビットが割り当てられている場合には、上述のように5画素でなるクラスタップを構成してクラス分類を行うと、そのクラス数は、(285という膨大な数になる。
【0072】
そこで、クラス分類は、注目画素について構成されるクラスタップに対して、LビットADRC(Adaptive Dynamic Range Coding)処理し、そのADRC処理後のクラスタップに基づいて行うようにすることができる。
【0073】
ここで、LビットADRC処理においては、例えば、クラスタップを構成する画素の画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する画素がLビットに再量子化される。即ち、クラスタップを構成する画素の画素値の中から、最小値MINが減算され、その減算値がDR/2Lで除算(量子化)される。従って、クラスタップが、LビットADRC処理された場合には、そのクラスタップを構成する各画素の画素値はLビットとされることになり、Lを、画素に割り当てられたビット数より小さい値とすることで、クラスタップをADRC処理せずにクラス分類を行う場合に比較して、クラス数を減少させることができる。
【0074】
なお、フレームの上端、下端、左端、または右端の画素が注目画素となった場合には、その上、下、左、または右に隣接する画素は存在しないため、この場合には、例えば、フレームの上側、下側、左側、または右側に、同一フレームが折り返して存在するものと仮定して、クラスタップを構成するものとする。
【0075】
次に、図11のフローチャートを参照して、注目フレームを構成する各画素を、その画素についてのクラスタップに基づいてクラス分類することにより、注目フレームの重心を求める場合の、重心算出部21で行われる処理(注目フレームの重心算出処理)について説明する。
【0076】
この場合、ステップS51乃至S57において、図8のステップS11乃至S17における場合とそれぞれ同様の処理が行われる。そして、図8のステップS18に対応するステップS58では、座標(x,y)にある画素p(x,y)が注目画素とされ、その注目画素についてクラスタップが構成される。そして、注目画素が、そのクラスタップに基づいて、例えば、K個のクラスのうちのいずれかにクラス分類され、そのクラス分類結果が、クラステーブルに登録される。
【0077】
即ち、図11の実施の形態においては、重心算出部21は、その内蔵するメモリに、例えば、図12に示すような、各クラスk(k=1,2,・・・,K)について、そのクラスkに属する画素の度数fkと、クラスkに属する画素のx座標の積算値Σxkおよびy座標の積算値Σykを対応付けたクラステーブルを記憶しており、例えば、注目画素がクラスkに属する場合には、クラステーブルにおけるクラスkについての度数fkを1だけインクリメントするとともに、x座標の積算値Σxkまたはy座標の積算値Σykに、注目画素のx座標またはy座標をそれぞれ加算する。
【0078】
なお、クラステーブルは、レベルテーブルと同様に、図11のフローチャートにしたがった処理が開始されるごとに、0にクリアされるようになっている。
【0079】
ステップS58の処理後は、ステップS56に戻り、以下、同様の処理が繰り返される。
【0080】
一方、ステップS54において、変数yがY未満でないと判定された場合、ステップS59に進み、クラステーブルの各クラスに属する画素の重心が求められる。即ち、ステップS59では、クラステーブルの各クラスkにおけるx座標の積算値Σxkまたはy座標の積算値Σykそれぞれが、その度数fkで除算され、その除算値で表される座標(Σxk/fk,Σyk/fk)が、各クラスkに属する画素の重心として求められる。
【0081】
そして、ステップS60に進み、クラス1乃至Kそれぞれに属する画素の重心の重心が、注目フレームを構成する画素全体の重心として求められ、リターンする。
【0082】
即ち、ステップS60では、クラス1乃至Kそれぞれに属する画素の重心について、例えば、その度数f1乃至fKを重みとする重み付け平均値が求められ、その重み付け平均値が、注目フレームを構成する画素全体の重心として出力される。
【0083】
ここで、注目フレームを構成する各画素を、その画素についてのクラスタップに基づいてクラス分類することにより、注目フレームの重心を求める場合には、動き検出範囲の重心も、その動き検出範囲を構成する各画素についてクラスタップを構成し、そのクラスタップに基づいてクラス分類を行うことにより求めるようにするのが望ましい。
【0084】
なお、動き検出範囲の重心を、クラス分類を行うことにより求める場合には、図11のフローチャートに示した処理において、そのステップS51の処理に替えて、図10のフローチャートに示したステップS31およびS32の処理を行う他は、図11に示した場合と同様であるため、その説明は省略する。
【0085】
次に、図11の実施の形態では、注目フレームを構成する各画素を、その画素についてのクラスタップに基づいてクラス分類し、その結果得られるすべてのクラスに属する画素の重心を用いて、注目フレームの重心を求めるようにしたが、注目フレームの重心は、その他、例えば、クラス分類の結果得られる特定のクラスに属する画素の重心のみを用いて求めるようにすることが可能である。
【0086】
即ち、注目フレームの重心は、例えば、エッジになっている部分の画素(以下、適宜、エッジ画素という)が属するクラスを、特定のクラスとして、その特定のクラス(以下、適宜、エッジクラスという)に属する画素(エッジ画素)の重心のみを用いて求めるようにすることが可能である。
【0087】
そこで、図13のフローチャートを参照して、注目フレームを構成する各画素のクラス分類結果のうち、エッジクラスに属するエッジ画素の重心のみを用いて求める場合に、重心算出部21で行われる処理(注目フレームの重心算出処理)について説明する。
【0088】
この場合も、ステップS71乃至S77において、図8のステップS11乃至S17における場合とそれぞれ同様の処理が行われる。そして、ステップS77において、変数xがX未満であると判定された場合は、ステップS78に進み、座標(x,y)にある画素p(x,y)が注目画素とされ、図11のステップS58における場合と同様に、その注目画素がクラス分類される。
【0089】
その後、ステップS79に進み、ステップS78におけるクラス分類の結果得られるクラスがエッジクラスかどうか、即ち、注目画素がエッジ画素かどうかが判定される。
【0090】
ここで、例えば、上述したような5画素で構成されるクラスタップを、2ビットADRC処理してからクラス分類を行う場合には、注目画素は、1024(=(225)クラスのうちのいずれかに分類される。ところで、クラスタップを、2ビットADRC処理した場合には、そのクラスタップを構成する画素の画素値は、00B,01B,10B,11Bのうちのいずれかの値となる(Bは、その前に配置された値が2進数であることを表す)。従って、クラスタップが、上述したように、注目画素と、その注目画素の上下左右にそれぞれ隣接する4画素との合計5画素で構成される場合においては、注目画素の画素値が、最小値である00Bであるとともに、その上下左右にそれぞれ隣接する4画素の画素値が00B以外であるときと、注目画素の画素値が、最大値である11Bであるとともに、その上下左右にそれぞれ隣接する4画素の画素値が11B以外であるときに、注目画素がエッジ画素になっていると考えられる。
【0091】
即ち、図14(A)に示すように、注目画素の画素値が00Bであり、かつ、その上下左右にそれぞれ隣接する4画素の画素値が、01B,10B,11Bのうちのいずれかである場合は、画素値が、注目画素において、いわば谷(凹)になっている。また、図14(B)に示すように、注目画素の画素値が11Bであり、かつ、その上下左右にそれぞれ隣接する4画素の画素値が、00B,01B,10Bのうちのいずれかである場合は、画素値が、注目画素において、いわば山(凸)になっている。従って、図14に示した場合においては、注目画素がエッジ画素になっている。
【0092】
なお、注目画素の画素値が00Bであり、かつ、その上下左右にそれぞれ隣接する4画素の画素値が、01B,10B,11Bのうちのいずれかである場合は、81(=3×3×3×3)通りあり、注目画素の画素値が11Bであり、かつ、その上下左右にそれぞれ隣接する4画素の画素値が、00B,01B,10Bのうちのいずれかである場合も同様に、81通りある。従って、エッジ画素が属するクラス(エッジクラス)は、162(=81+81)通りある。
【0093】
図13に戻り、ステップS79において、注目画素がエッジ画素でないと判定された場合、即ち、注目画素のクラスが、上述の162通りあるエッジクラスのうちのいずれでもない場合、ステップS76に戻る。
【0094】
また、ステップS79において、注目画素がエッジ画素であると判定された場合、即ち、注目画素のクラスが、上述の162通りあるエッジクラスのうちのいずれかである場合、ステップS80に進み、注目画素のクラス分類結果が、クラステーブルに登録される。即ち、ステップS80では、図12に示したようなクラステーブルの、注目画素のクラスkについての度数fkが1だけインクリメントされるとともに、x座標の積算値Σxkまたはy座標の積算値Σykに、注目画素のx座標またはy座標がそれぞれ加算される。
【0095】
なお、図13の実施の形態では、エッジクラスに属する注目画素についてのみ、クラステーブルへの登録が行われるから、例えば、上述したように、5画素で構成されるクラスタップを2ビットADRC処理した後にクラス分類を行い、エッジクラスのみをクラステーブルに登録する場合には、クラステーブルのクラス数Kは、上述したエッジクラスの数である162となる。
【0096】
一方、5画素で構成されるクラスタップを2ビットADRC処理した後にクラス分類を行い、すべてのクラスをクラステーブルに登録する場合には、注目画素は、上述したように、1024クラスのうちのいずれかに分類されるから、クラステーブルのクラス数Kは、1024となる。
【0097】
従って、図13の実施の形態においては、図11の実施の形態における場合に比較して、クラステーブルの大きさ(容量)を小さくすることができる。
【0098】
ステップS80の処理後は、ステップS76に戻り、以下、同様の処理が繰り返される。
【0099】
一方、ステップS74において、変数yがY未満でないと判定された場合、ステップS81に進み、クラステーブルの各エッジクラスに属する画素の重心が求められる。即ち、ステップS81では、クラステーブルの各エッジクラスkにおけるx座標の積算値Σxkまたはy座標の積算値Σykそれぞれが、その度数fkで除算され、その除算値で表される座標(Σxk/fk,Σyk/fk)が、各エッジクラスkに属する画素の重心として求められる。
【0100】
そして、ステップS82に進み、エッジクラス1乃至Kそれぞれに属する画素の重心の重心が、注目フレームを構成する画素全体の重心として求められ、リターンする。
【0101】
即ち、ステップS82では、エッジクラス1乃至Kそれぞれに属する画素の重心について、例えば、その度数f1乃至fKを重みとする重み付け平均値が求められ、その重み付け平均値が、注目フレームを構成する画素全体の重心として出力される。
【0102】
ここで、注目フレームの重心を、注目フレームを構成する画素のうち、エッジクラスに属するもののみを用いて求める場合には、動き検出範囲の重心も、その動き検出範囲を構成する画素のうち、エッジクラスに属するもののみを用いて求めるようにするのが望ましい。
【0103】
なお、動き検出範囲の重心を、エッジクラスに属する画素のみを用いて求める場合には、図13のフローチャートに示した処理において、そのステップS71の処理に替えて、図10のフローチャートに示したステップS31およびS32の処理を行う他は、図13に示した場合と同様であるため、その説明は省略する。
【0104】
次に、注目フレームが、その1フレーム前のフレームに対して、カメラ動きのないものである場合には、注目フレームのカメラ動きベクトルは、その1フレーム前のフレームのカメラ動きベクトルに等しくなるべきである。しかしながら、上述したようにして、フレームのカメラ動きベクトルを求める場合には、前景の動きが影響することにより、注目フレームが、カメラ動きのないものであっても、そのカメラ動きベクトルとして、その1フレーム前のフレームのカメラ動きベクトルと異なるものが求まる可能性がある。
【0105】
そこで、図5に示したカメラ動き検出部12には、同図に点線で示すように、注目フレームが、その1フレーム前のフレームに対して、カメラ動きのないものであるかどうかを判定する動きなし判定部25を設け、さらに、ベクトル検出部22において、注目フレームがカメラ動きのないものである場合には、その1フレーム前のフレームのカメラ動きベクトルを、注目フレームのカメラ動きベクトルとして出力し、注目フレームがカメラ動きのあるものである場合には、上述したようにして、注目フレームおよび動き検出範囲の重心から、注目フレームのカメラ動きベクトルを求めるようにすることができる。
【0106】
このようにすることで、注目フレームがカメラ動きのないものである場合には、注目フレームのカメラ動きベクトルを、その1フレーム前のフレームのカメラ動きベクトルと等しくすることができる。
【0107】
そこで、図15のフローチャートを参照して、動きなし判定部25において行われる、注目フレームがカメラ動きのないものであるかどうかを判定する処理(動きなし判定処理)について説明する。
【0108】
動きなし判定処理では、ステップS91乃至S99において、図13のステップS71乃至S79における場合とそれぞれ同様の処理が行われる。
【0109】
そして、ステップS99において、注目画素がエッジ画素であると判定された場合、ステップS100に進み、注目画素の画素値p(x,y)が、その1フレーム前の同一位置にある画素の画素値p’(x,y)に等しいかどうかが判定される。
【0110】
ここで、ステップS100における、p(x,y)がp’(x,y)に等しいとは、p(x,y)がp’(x,y)にほぼ等しい場合、即ち、|p(x,y)−p’(x,y)|が、所定の微小値以内である場合を含むものとする。
【0111】
ステップS100において、注目画素の画素値p(x,y)が、その1フレーム前の同一位置にある画素の画素値p’(x,y)に等しくないと判定された場合、ステップS101をスキップして、ステップS96に戻る。
【0112】
また、ステップS100において、注目画素の画素値p(x,y)が、その1フレーム前の同一位置にある画素の画素値p’(x,y)に等しいと判定された場合、即ち、エッジ画素である注目画素の画素値p(x,y)が、空間的に同一位置にある1フレーム前の画素の画素値p’(x,y)に等しい場合、ステップS101に進み、変数cが1だけインクリメントされ、ステップS96に戻る。
【0113】
ここで、変数cは、図15の動きなし判定処理が開始される前に0にクリアされるようになっている。
【0114】
その後、ステップS94において、変数yがY未満でないと判定された場合、即ち、注目フレームを構成する画素すべてを注目画素として処理を行った場合、ステップS102に進み、変数cが、所定の閾値th以上であるか否かが判定される。ステップS102において、変数cが、所定の閾値th以上であると判定された場合、即ち、注目フレームのエッジ画素の中に、1フレーム前の同一位置にある画素と同一(ほぼ同一)の画素値となっている画素が、閾値th以上存在する場合、ステップS103に進み、注目フレームが、その1フレーム前のフレームに対して、カメラ動きのないものであるかどうかの判定結果として、動きがない旨のメッセージが、ベクトル検出部22に出力され、動きなし判定処理を終了する。
【0115】
また、ステップS102において、変数cが、所定の閾値th以上でないと判定された場合、即ち、注目フレームのエッジ画素の中に、1フレーム前の同一位置にある画素と同一(ほぼ同一)の画素値となっている画素が、閾値th以上存在しない場合、ステップS104に進み、注目フレームが、その1フレーム前のフレームに対して、カメラ動きのないものであるかどうかの判定結果として、動きがある旨のメッセージが、ベクトル検出部22に出力され、動きなし判定処理を終了する。
【0116】
なお、図15の動きなし判定処理は、重心算出部21における、注目フレームおよび動き検出範囲の重心を算出する処理に先だって行われ、さらに、第2フレーム以降のフレームを対象に行われる。
【0117】
次に、図16は、図2の背景抽出部14の構成例を示している。
【0118】
存在範囲検出部31には、カメラ動きベクトル記憶部13(図2)に記憶された一連の画像としての第1フレーム乃至第Nフレームのカメラ動きベクトルv1乃至vNが供給されるようになっており、存在範囲検出部31は、第1乃至第Nフレームの背景の位置合わせを行った状態で、基準座標系において、その第1乃至第Nフレームの画像が存在する最小の矩形の領域(存在範囲)を検出するようになっている。
【0119】
即ち、存在範囲検出部31は、第1フレーム乃至第Nフレームのカメラ動きベクトルv1乃至vNに基づき、第1フレーム乃至第Nフレームについて、その背景の位置合わせを行った状態を想定し、その位置合わせを行った状態で、第1乃至第Nフレームの画素が存在する最小の矩形の領域である存在範囲を検出する。さらに、存在範囲検出部31は、その存在範囲の、基準座標系における、例えば、最も左上の頂点の座標(Xmin,Ymin)と、最も右下の頂点の座標(Xmax,Ymax)を求め、読み出し部32および書き込み部35に供給する。
【0120】
なお、第1フレーム乃至第Nフレームの背景の位置合わせを行った状態は、図17に示すように、基準座標系において、第1フレーム乃至第Nフレームを、それぞれのカメラ動きベクトルv1乃至vNによって示される座標に、フレームの左上の頂点が位置するように配置することで想定することができる。
【0121】
読み出し部32は、蓄積部11(図2)に記憶されている第1フレーム乃至第Nフレームを構成する画素のうち、その第1フレーム乃至第Nフレームの背景の位置合わせを行った状態で空間的に同一位置にある画素を検出して読み出し、度数カウント部33および書き込み部35に供給するようになっている。
【0122】
即ち、読み出し部32には、存在範囲検出部21から座標(Xmin,Ymin)および(Xmax,Ymax)が供給される他、カメラ動きベクトル記憶部13(図2)に記憶されたカメラ動きベクトルv1乃至vNも供給されるようになっており、読み出し部32は、まず、存在範囲検出部31と同様に、第1フレーム乃至第Nフレームのカメラ動きベクトルv1乃至vNに基づき、第1フレーム乃至第Nフレームについて、その背景の位置合わせを行った状態を想定する。さらに、読み出し部32は、基準座標系の、存在範囲検出部21から供給される座標(Xmin,Ymin)および(Xmax,Ymax)によって規定される存在範囲内の座標を順次スキャンしていき、図18に示すように、各座標(x,y)における、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームの画素を検出して読み出す。
【0123】
なお、第1乃至第Nフレームの背景の位置合わせを行った状態において、基準座標系の座標(x,y)に位置する、第nフレームの画素の検出は、その第nフレームの左上の画素を原点とした、いわばローカルな座標系(以下、適宜、ローカル座標系という)を考えた場合には、座標(x,y)から、カメラ動きベクトルvnを減算した座標にある画素を検出することによって行うことができる。
【0124】
度数カウント部33は、読み出し部32から供給される、第1乃至第Nフレームを構成する画素のうち、その背景の位置合わせを行った状態で空間的に同一位置にある画素(以下、適宜、位置合わせ状態での同一位置画素という)の集合ごとに、例えば、上述した画素値の各レベルに属する画素の度数を計数し、その計数結果に基づいて、その後段の度数テーブル記憶部34に記憶された度数テーブルへの登録を行うようになっている。
【0125】
度数テーブル記憶部34は、例えば、図19に示すような度数テーブルを記憶するようになっている。即ち、度数テーブル記憶部34は、存在範囲内の各座標(x,y)について、位置合わせ状態での同一位置画素の画素値の各レベルと、そのレベルに属する画素の度数の、位置合わせ状態での同一位置画素の画素数に対する割合とを対応付けて登録するための度数テーブルを記憶している。
【0126】
ここで、存在範囲内のある位置(座標)における位置合わせ状態での同一位置画素の集合において、度数のm番目に大きい画素値のレベルを、第m度数レベルという。
【0127】
図19の実施の形態では、度数テーブルには、第1度数レベルから第M度数レベルまでのM個のレベルと、その度数の割合とが登録されるようになっている。従って、ここでは、度数カウント部33は、度数が、M+1番目以降のレベルについては、度数の計数結果を、度数テーブルに登録せず破棄するようになっている。但し、度数の計数結果は、すべてのレベルについて、度数テーブルに登録するようにすることも可能である。
【0128】
なお、上述したように、画素値としてとり得る値の範囲を、K個のレベルに分割した場合には、上述のMは、K以下の値となる。
【0129】
書き込み部35は、度数テーブル記憶部34に記憶された度数テーブルと、読み出し部32から供給される画素とに基づき、背景メモリ15(図2)の、存在範囲検出部31から供給される存在範囲内に相当する各アドレスに、全体背景を構成する背景画素を書き込むようになっている。さらに、書き込み部35は、背景フラグメモリ36への背景フラグの書き込みも行うようになっている。
【0130】
背景フラグメモリ36は、存在範囲内の各画素について、背景画素が書き込まれているかどうかを表す背景フラグを記憶するようになっている。即ち、書き込み部35は、背景メモリ15のあるアドレスに背景画素を書き込んだとき、そのアドレスに対応する、背景フラグメモリ36のアドレスに背景フラグを書き込むようになっている。ここで、背景フラグは、例えば、1ビットのフラグであるとし、背景画素が書き込まれているアドレスに対応する背景フラグは1とされ、まだ書き込まれていないアドレスに対応する背景フラグは0とされるものとする。
【0131】
次に、図20のフローチャートを参照して、図16の背景抽出部14において行われる、第1フレーム乃至第Nフレームから全体背景を抽出する背景抽出処理について説明する。
【0132】
まず最初に、存在範囲検出部31は、ステップS111において、カメラ動きベクトル記憶部13からカメラ動きベクトルを読み出し、図17で説明したようにして、存在範囲を検出する。そして、その存在範囲の、基準座標系における左上の点の座標(Xmin,Ymin)と、右下の点の座標(Xmax,Ymax)を、存在範囲を特定するための情報として、読み出し部32および書き込み部35に供給する。
【0133】
読み出し部31は、存在範囲を特定するための座標(Xmin,Ymin)および(Xmax,Ymax)を受信すると、ステップS112において、存在範囲を、基準座標系のy軸方向にスキャンするための変数yに、初期値としてのYmin−1をセットし、ステップS113に進み、その変数yを1だけインクリメントして、ステップS114に進む。ステップS114では、変数yがYmax以下であるかどうかが判定され、Ymax以下であると判定された場合、ステップS115に進む。ステップS115では、読み出し部31は、存在範囲を、基準座標系のx軸方向にスキャンするための変数xに、初期値としてのXmin−1をセットし、ステップS116に進み、その変数xを1だけインクリメントして、ステップS117に進む。ステップS117では、変数xがXmax以下であるかどうかが判定され、Xmax以下でないと判定された場合、ステップS113に戻り、以下、同様の処理が繰り返される。
【0134】
また、ステップS117において、変数xがXmax以下であると判定された場合、ステップS118に進み、蓄積部11(図2)に記憶された一連の画像としての第1フレーム乃至第Nフレームのフレーム数をカウントするための変数nに、初期値としての0がセットされ、ステップS119に進む。ステップS119では、変数nが1だけインクリメントされ、ステップS120に進み、変数nが、蓄積部11(図2)に記憶された一連の画像のフレーム数であるN以下であるかどうかが判定される。
【0135】
ステップS120において、変数nがN以下であると判定された場合、ステップS121に進み、読み出し部32において、第1フレーム乃至第Nフレームの背景の位置合わせを行った状態で、基準座標系の座標(x,y)の位置にある第nフレームの画素が、蓄積部11(図2)から読み出される。即ち、読み出し部32は、第nフレームの左上の画素を原点としたローカル座標系において、座標(x,y)から、カメラ動きベクトルvnを減算した座標(x,y)−vnにある画素を、蓄積部11(図2)から読み出す。
【0136】
なお、カメラ動きベクトルvnのx座標またはy座標を、それぞれxv#nまたはyv#nと表すとともに、1フレームの横または縦の画素数を、それぞれXまたはYと表すこととすると、読み出し部32は、第nフレームについてのローカル座標系における座標(x−xv#n,y−yv#n)に位置する画素を読み出すこととなるが、この場合、0≦x−xv#n<X、および0≦y−yv#n<Yの範囲外における座標(x−xv#n,y−yv#n)には、第nフレームの画素は存在しない。従って、ステップS121における第nフレームの画素の読み出しは、x−xv#nが、0≦x−xv#n<Xの範囲内であり、かつy−yv#nが、0≦y−yv#n<Yの範囲内であるときのみ行われる。
【0137】
読み出し部32は、ステップS121において、蓄積部11(図2)から、第nフレームの画素を読み出すと、その画素を、度数カウント部33および書き込み部35に供給し、ステップS119に戻る。そして、ステップS120において、変数nがN以下でないと判定されるまで、ステップS119乃至S121の処理が繰り返され、これにより、第1フレーム乃至第Nフレームの背景の位置合わせを行った状態で、基準座標系の座標(x,y)の位置にある第1フレーム乃至第Nフレームの画素(位置合わせ状態での同一位置画素)が、度数カウント部33および書き込み部35に供給される。但し、上述したように、フレームによっては、基準座標系の座標(x,y)に画素が存在しない場合があり、この場合、そのフレームの画素は、度数カウント部33および書き込み部35に供給される画素には含まれない。
【0138】
その後、ステップS120において、変数nがN以下でないと判定されると、ステップS122に進み、度数カウント部33は、読み出し部32から供給される、基準座標系の座標(x,y)の位置にある、背景の位置合わせを行った状態の第1乃至第Nフレームの各画素を、その画素値が、例えば、レベル1乃至Kのうちのいずれの範囲に属するかによってレベル分類する。さらに、度数カウント部33は、各レベルに属する画素の度数を計数し、その度数の割合(各レベルに属する画素の総数に対する割合)を求める。
【0139】
そして、ステップS123に進み、度数カウント部33は、度数の割合が第1位から第M位までのレベル(第1度数レベル乃至第M度数レベル)と、その各レベルに属する画素の度数の割合とを、度数テーブル記憶部34の、図19に示したような度数テーブルにおける、座標(x,y)の欄(行)に登録し、ステップS116に戻る。
【0140】
一方、ステップS114において、変数yがYmax以下でないと判定された場合、即ち、存在範囲内のすべての座標について処理を行った場合、ステップS124に進み、書き込み部35は、度数テーブル記憶部34に記憶された度数テーブルにおいて、第1度数レベルに属する画素の割合が所定値以上になっている座標を検出し、その座標に対応する背景メモリ15のアドレスに、その第1度数レベルに対応する画素値を、背景画素の画素値として書き込む背景画素抽出処理を行い、ステップS125に進む。ステップS125では、書き込み部35は、ステップS124の背景画素抽出処理において画素値が書き込まれなかった存在範囲内の座標について、背景画素としての画素値を書き込む背景拡張処理を行い、背景抽出処理を終了する。
【0141】
次に、図21のフローチャートを参照して、図20のステップS124において書き込み部35が行う背景画素抽出処理について説明する。
【0142】
背景画素抽出処理では、ステップS131乃至S136において、図20のステップS112乃至117における場合とそれぞれ同様の処理が行われ、ステップS136において、変数xがXmax以下であると判定された場合、ステップS37に進み、度数テーブルを参照することにより、座標(x,y)に対する第1度数レベルの割合が所定の閾値Lth以上であるかどうかが判定される。
【0143】
ステップS137において、座標(x,y)に対する第1度数レベルの割合が所定の閾値Lth以上でないと判定された場合、即ち、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する画素のうち、座標(x,y)に位置する画素の最も度数の多い画素値の、その度数の割合が高くない場合、ステップS138およびS139をスキップして、ステップS135に戻る。
【0144】
従って、この場合、存在範囲における座標(x,y)に対応する背景メモリ15(図2)のアドレスには、背景画素の画素値は書き込まれない。
【0145】
一方、ステップS137において、座標(x,y)に対する第1度数レベルの割合が所定の閾値Lth以上であると判定された場合、即ち、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する画素のうち、座標(x,y)に位置する画素の最も度数の多い画素値の、その度数の割合が高い場合、ステップS138に進み、書き込み部35は、その度数の割合が高い画素値を、座標(x,y)に位置する背景画素の画素値として、背景メモリ15に書き込む。
【0146】
即ち、書き込み部35は、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームの、座標(x,y)に位置する画素のうち、第1度数レベルに属するものを、読み出し部32から供給される画素から抽出し、例えば、その平均値を計算する。そして、書き込み部35は、その平均値を、座標(x,y)に位置する背景画素の画素値として、背景メモリ15に書き込む。
【0147】
ステップS138の処理後は、ステップS139に進み、書き込み部35は、背景フラグメモリ36の、座標(x,y)に対応するアドレスに記憶された背景フラグを1にし(背景フラグをたて)、ステップS135に戻り、以下、ステップS133において、変数yがYmax以下でないと判定されるまで、同様の処理が繰り返される。
【0148】
そして、ステップS133において、変数yがYmax以下でないと判定されると、リターンする。
【0149】
ここで、背景フラグメモリ36の記憶値は、例えば、図21の背景画素抽出処理が開始されるときに、0にクリアされるようになっている。
【0150】
次に、図21で説明した背景画素抽出処理では、上述したように、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する画素のうち、座標(x,y)に位置する画素の最も度数の多い画素値の、その度数の割合が高くない場合においては、座標(x,y)には、背景としての画素値が書き込まれない。
【0151】
即ち、背景画素抽出処理では、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する画素のうち、座標(x,y)に位置する画素の最も度数の多い画素値の、その度数の割合が高い場合、その度数の最も多い画素値が、座標(x,y)における全体背景の画素値として確からしいものとして、背景メモリ15に書き込まれる。従って、度数の最も多い画素値が、座標(x,y)における全体背景の画素値として確からしいとはいえない場合、即ち、ここでは、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する画素のうち、座標(x,y)に位置する画素の最も度数の多い画素値の、その度数の割合が高くない場合には、背景画素抽出処理では、座標(x,y)に対応する背景メモリ15のアドレスには、全体背景の画素値は書き込まれない。
【0152】
その結果、背景画素抽出処理によって、背景メモリ15に画素値が書き込まれることで構成される全体背景は、いわば虫食い状態となっており、その虫食い部分を埋めていく必要がある。このため、図20の背景抽出処理では、ステップS124で背景画素抽出処理(図21)が行われた後、ステップS125において、虫食い部分を画素値で埋めることにより、いわば背景を拡張していく背景拡張処理が行われるようになっている。
【0153】
そこで、図22のフローチャートを参照して、図20のステップS125における背景拡張処理について説明する。
【0154】
背景拡張処理では、ステップS141において、変数yに、初期値としてのYmin−1がセットされ、ステップS142に進み、その変数yが1だけインクリメントされ、ステップS143に進む。ステップS143では、変数yがYmax以下であるかどうかが判定され、Ymax以下であると判定された場合、ステップS145に進む。ステップS145では、変数xに、初期値としてのXmin−1がセットされ、ステップS146に進み、その変数xが1だけインクリメントされて、ステップS147に進む。ステップS147では、変数xがXmax以下であるかどうかが判定され、Xmax以下でないと判定された場合、ステップS142に戻り、以下、同様の処理が繰り返される。
【0155】
また、ステップS147において、変数xがXmax以下であると判定された場合、ステップS148に進み、座標(x,y)に対応する背景フラグメモリ36のアドレスに記憶された背景フラグが0であるかどうかが判定される。ステップS148において、座標(x,y)に対応する背景フラグメモリ36のアドレスに記憶された背景フラグが0でないと判定された場合、即ち、その背景フラグが1であり、従って、座標(x,y)に対応する背景メモリ15(図2)のアドレスに、既に、全体背景としての画素値が書き込まれている場合、ステップS146に戻り、以下、同様の処理が繰り返される。
【0156】
また、ステップS148において、座標(x,y)に対応する背景フラグメモリ36のアドレスに記憶された背景フラグが0であると判定された場合、即ち、座標(x,y)に対応する背景メモリ15(図2)のアドレスに、まだ、全体背景としての画素値が書き込まれていない場合、ステップS149に進み、座標(x,y)に位置する画素の周辺の画素としての、例えば、その上、下、左、右、左上、左下、右上、右下に隣接する画素のうちのいずれかについての背景フラグが1であるかどうかが、背景フラグメモリ36を参照することで判定される。
【0157】
ステップS149において、座標(x,y)に位置する画素に隣接する画素のいずれの背景フラグも1でないと判定された場合、即ち、座標(x,y−1),(x,y+1),(x−1,y),(x+1,y),(x−1,y−1),(x−1,y+1),(x+1,y−1),(x+1,y+1)それぞれに対応する背景メモリ15(図2)のアドレスのいずれにも、まだ、全体背景としての画素値が書き込まれていない場合、ステップS146に戻る。
【0158】
また、ステップS149において、座標(x,y)に位置する画素に隣接する画素のいずれかの背景フラグが1であると判定された場合、即ち、座標(x,y−1),(x,y+1),(x−1,y),(x+1,y),(x−1,y−1),(x−1,y+1),(x+1,y−1),(x+1,y+1)それぞれに対応する背景メモリ15(図2)のアドレスのいずれかに、既に、全体背景としての画素値が書き込まれている場合、ステップS150に進む。
【0159】
ここで、座標(x,y)に位置する画素に隣接する画素(に対応する背景メモリ15(図2)のアドレス)のうち、全体背景としての画素値が書き込まれているものを、以下、適宜、既書き込み隣接画素という。
【0160】
ステップS150では、既書き込み隣接画素の画素値と連続性のある画素値のレベルが、座標(x,y)に対する第1乃至第M度数レベルのうちのいずれかとして、度数テーブルに登録されているかどうかが判定される。ここで、連続性のある画素値とは、値が近い画素値(同一の画素値を含む)どうしを意味する。
【0161】
ステップS150において、既書き込み隣接画素の画素値と連続性のある画素値のレベルが、座標(x,y)に対する第1乃至第M度数レベルのうちのいずれかとして、度数テーブルに登録されていると判定された場合、即ち、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する、座標(x,y)に位置する画素の中に、既書き込み隣接画素の画素値と連続する画素値を有するものが、ある程度の割合以上存在する場合、ステップS151に進み、その、ある程度の割合以上存在する、既書き込み隣接画素の画素値と連続する画素値に基づいて、座標(x,y)に位置する画素の、全体背景としての画素値が算出され、背景メモリ15(図2)の対応するアドレスに書き込まれる。
【0162】
即ち、既書き込み隣接画素の画素値と連続性のある画素値のレベルが、座標(x,y)に対する第1乃至第M度数レベルのうちの第m度数レベルとして、度数テーブルに登録されていたとすると、ステップS151では、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する、座標(x,y)に位置する画素のうちの、第m度数レベルに属する画素値の、例えば平均値が算出され、その平均値が、座標(x,y)に位置する画素の、全体背景としての画素値として、背景メモリ15(図2)の対応するアドレスに書き込まれる。
【0163】
ここで、上述したように、背景画素抽出処理では、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する画素のうち、座標(x,y)に位置する最も度数の多い画素値の、その度数の割合が高い場合に、その度数の最も多い画素値が、座標(x,y)における全体背景の画素値として確からしいものとして、背景メモリ15に書き込まれるが、この背景画素抽出処理によれば、例えば、ある風景を背景とし、かつ、ある物体が前景として移動していくような、Nフレームでなる一連の画像を考えた場合に、前景によって隠されずに、Nフレームのほとんどに亘って背景が表示されている画素については、そのほとんどのフレームに亘って表示されている画素値の度数の割合が高くなることから、その画素値が、背景の画素値として書き込まれる。
【0164】
しかしながら、前景が移動することにより、前景が表示されたり、背景が表示されたりする画素(以下、適宜、中間画素という)は、前景を構成する画素値となったり、背景を構成する画素値となったりすることから、中間画素については、度数の割合が高くなる画素値が存在しないため、背景画素抽出処理では、画素値の書き込みが行われない。
【0165】
全体背景を得るためには、中間画素については、そこに背景が表示されているフレームの画素値を書き込めば良いが、中間画素に背景が表示されているフレームを特定するのは困難である。そこで、背景拡張処理では、中間画素に隣接する画素の中に、既に、全体背景としての画素値が書き込まれているものがあり、かつ、その画素値と近い画素値が、中間画素の画素値として表示されたことがあれば、その表示されたことのある画素値が、中間画素に背景が表示されたときの画素値として確からしいとして、背景メモリ15(図2)に書き込まれる。
【0166】
従って、背景拡張処理によれば、極端には、ある1フレームにおいてだけ、背景が表示された画素(中間画素)についても、その1フレームにおいて表示された背景の画素値を書き込むことが可能となる。
【0167】
一方、ステップS150において、既書き込み隣接画素の画素値と連続性のある画素値のレベルが、座標(x,y)に対する第1乃至第M度数レベルのうちのいずれかとして、度数テーブルに登録されていないと判定された場合、即ち、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームを構成する、座標(x,y)に位置する画素の中に、既書き込み隣接画素の画素値と連続する画素値を有するものが存在しない場合、ステップS152に進み、既書き込み隣接画素の画素値に基づいて、座標(x,y)に位置する画素の、全体背景としての画素値が算出され、背景メモリ15(図2)の対応するアドレスに書き込まれる。
【0168】
即ち、中間画素に隣接する画素の中に、既に、全体背景としての画素値が書き込まれているもの(既書き込み隣接画素)があるが、その画素値と近い画素値が、中間画素の画素値として表示されたことがない場合には、ステップS152において、例えば、既書き込み隣接画素の画素値(既書き込み隣接画素が複数存在する場合には、例えば、その平均値)が、座標(x,y)に位置する画素の、全体背景としての画素値として、背景メモリ15(図2)に書き込まれる。
【0169】
ステップS151およびS152の処理後は、いずれも、ステップS153に進み、ステップS151またはS152で全体背景としての画素値が書き込まれた画素の背景フラグ、即ち、背景フラグメモリ36の、座標(x,y)に対応するアドレスの背景フラグが1にされ(たてられ)、ステップS146に戻り、以下、同様の処理が繰り返される。
【0170】
一方、ステップS143において、変数yがYmax以下でないと判定された場合、ステップS144に進み、前景フラグメモリ36に記憶された、存在範囲内の各座標に対する背景フラグがすべて1であるかどうかが判定される。ステップS143において、存在範囲内の各座標に対応する背景フラグの中に、1でないものがあると判定された場合、即ち、存在範囲内の座標に位置する画素の中に、まだ、全体背景としての画素値が書き込まれていないものがある場合、ステップS141に戻り、以下、同様の処理が繰り返される。
【0171】
また、ステップS144において、存在範囲内の各座標に対応する背景フラグの中に、1でないものがないと判定された場合、即ち、存在範囲内の座標に位置する画素すべてに、全体背景としての画素値が書き込まれた場合、リターンする。
【0172】
図22で説明した処理によれば、図23に示すように、既に、全体背景としての画素値が書き込まれた画素(同図において、●印で示す)に隣接する、まだ画素値が書き込まれていない画素P(x,y)(同図において、斜線を付した○印で示す)が存在する場合には、その画素P(x,y)に隣接する既書き込み隣接画素(同図においては、画素P(x−1,y),P(x−1,y−1),P(x,y−1),P(x+1,y+1))の画素値や、その画素値と連続性を有する画素値等が、画素P(x,y)の全体背景としての画素値として書き込まれ、これにより、全体背景が拡張されていく。このことから、図22の処理を、背景拡張処理と呼んでいる。
【0173】
次に、図24は、図2の前景符号化部16の構成例を示している。
【0174】
前景抽出部41には、蓄積部11(図2)に記憶された一連の画像としての第1フレーム乃至第Nフレーム、背景メモリ15(図2)に記憶された全体背景、およびカメラ動きベクトル記憶部13(図2)に記憶されたカメラ動きベクトルが供給されるようになっており、前景抽出部41は、第1フレーム乃至第Nフレームそれぞれから前景を抽出するようになっている。即ち、前景抽出部41は、全体背景の、基準座標系においてカメラ動きベクトルvnだけずれた位置に、第nフレームの左上の点が位置するように、第nフレームを配置することで、全体背景と第nフレームとの位置合わせを行い、第nフレームの各画素から、同一位置にある全体背景の画素を減算することで、第nフレームから前景を抽出する。
【0175】
前景記憶部42は、前景抽出部41が抽出した第1乃至第Nフレームの前景を記憶するようになっている。
【0176】
前景蓄積画像構成部43には、カメラ動きベクトル記憶部13(図2)に記憶されたカメラ動きベクトルが供給されるようになっており、前景蓄積画像構成部43は、そのカメラ動きベクトルに基づき、前景記憶部42に記憶された第1フレーム乃至第Nフレームの前景を用いて、前方蓄積画像および後方蓄積画像を構成するようになっている。即ち、前景蓄積画像構成部43は、図25に示すように、カメラ動きベクトルに基づいて、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームの前景を想定し、その第1フレーム乃至第Nフレームの前景を、時間の進行方向に向かって見た場合に得られる後方蓄積画像(過去から眺めた前景により構成される画像)と、時間の進行方向と逆方向に向かってみた場合に得られる前方蓄積画像(未来から眺めた前景により構成される画像)とを構成する。
【0177】
なお、前方蓄積画像は、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームの前景の画素値を、第1フレームから第Nフレームの順番で、メモリ等に上書きしていくことで得ることができる。同様に、後方蓄積画像は、背景の位置合わせを行った状態の第1フレーム乃至第Nフレームの前景の画素値を、第Nフレームから第1フレームの順番で、メモリ等に上書きしていくことで得ることができる。
【0178】
前景蓄積画像記憶部44は、前景蓄積画像構成部43において構成された前方蓄積画像および後方蓄積画像を記憶するようになっている。
【0179】
学習部45は、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像、さらには、必要に応じて、誤差画像記憶部49に記憶された、後述する誤差画像を構成する画素から、第1フレーム乃至第Nフレームそれぞれの前景を構成する画素を予測するための予測係数を求める学習処理を行うようになっている。
【0180】
予測係数記憶部46は、学習部45において学習が行われることにより求められる予測係数を記憶するようになっている。
【0181】
適応処理部47は、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像を構成する画素、予測係数記憶部46に記憶された予測係数、さらには、必要に応じて、誤差画像記憶部49に記憶された誤差画像を用いて、第1フレーム乃至第Nフレームそれぞれの前景を予測する適応処理を行うようになっている。
【0182】
ここで、学習部45において行われる学習処理、および適応処理部47において行われる適応処理について説明する。
【0183】
適応処理では、例えば、いま存在する画像(ここでは、前方蓄積画像および後方蓄積画像や、誤差画像)を構成する画素と、所定の予測係数との線形結合により、所望の画像(ここでは、第1フレーム乃至第Nフレームそれぞれの前景)を構成する画素の予測値が求められる。
【0184】
一方、学習処理では、所望の画像(以下、適宜、所望画像という)を教師データとするとともに、その所望画像を求めようとするときに存在する画像(以下、適宜、存在画像という)を生徒データとして、所望画像を構成する画素(以下、適宜、所望画素という)の画素値yの予測値E[y]を、例えば、幾つかの存在画素(存在画像を構成する画素)の画素値x1,x2,・・・の集合と、所定の予測係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めるための予測係数が求められる。この場合、予測値E[y]は、次式で表すことができる。
【0185】
E[y]=w11+w22+・・・・・・(1)
【0186】
式(1)を一般化するために、予測係数wjの集合でなる行列W、生徒データの集合でなる行列X、および予測値E[y]の集合でなる行列Y’を、
【数1】
Figure 0004240674
で定義すると、次のような観測方程式が成立する。
【0187】
XW=Y’・・・(2)
ここで、行列Xの成分xijは、i件目の生徒データの集合(i件目の教師データyiの予測に用いる生徒データの集合)の中のj番目の生徒データを意味し、行列Wの成分wjは、生徒データの集合の中のj番目の生徒データとの積が演算される予測係数を表す。また、yiは、i件目の教師データを表し、従って、E[yi]は、i件目の教師データの予測値を表す。なお、式(1)の左辺におけるyは、行列Yの成分yiのサフィックスiを省略したものであり、また、式(1)の右辺におけるx1,x2,・・・も、行列Xの成分xijのサフィックスiを省略したものである。
【0188】
そして、この観測方程式に最小自乗法を適用して、所望画素の画素値yに近い予測値E[y]を求めることを考える。この場合、教師データとなる所望画素の真の画素値yの集合でなる行列Y、および所望画素の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数2】
Figure 0004240674
で定義すると、式(2)から、次のような残差方程式が成立する。
【0189】
XW=Y+E・・・(3)
【0190】
この場合、所望画素の画素値yに近い予測値E[y]を求めるための予測係数wjは、自乗誤差
【数3】
Figure 0004240674
を最小にすることで求めることができる。
【0191】
従って、上述の自乗誤差を予測係数wjで微分したものが0になる場合、即ち、次式を満たす予測係数wjが、所望画素の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0192】
【数4】
Figure 0004240674
Figure 0004240674
【0193】
そこで、まず、式(3)を、予測係数wjで微分することにより、次式が成立する。
【0194】
【数5】
Figure 0004240674
Figure 0004240674
【0195】
式(4)および(5)より、式(6)が得られる。
【0196】
【数6】
Figure 0004240674
Figure 0004240674
【0197】
さらに、式(3)の残差方程式における生徒データxij、予測係数wj、教師データyi、および残差eiの関係を考慮すると、式(6)から、次のような正規方程式を得ることができる。
【0198】
【数7】
Figure 0004240674
Figure 0004240674
【0199】
式(7)の正規方程式を構成する各式は、生徒データxijおよび教師データyiのセットを、ある程度の数だけ用意することで、求めるべき予測係数wjの数Jと同じ数だけたてることができ、従って、式(7)を解くことで(但し、式(7)を解くには、式(7)において、予測係数wjにかかる係数で構成される行列が正則である必要がある)、最適な予測係数wjを求めることができる。なお、式(7)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることが可能である。
【0200】
以上のようにして、最適な予測係数wjを求めるのが学習処理であり、また、その予測係数wjを用い、式(1)により、所望画素の画素値yに近い予測値E[y]を求めるのが適応処理である。
【0201】
即ち、学習部45または適応処理部47では、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像、さらには、必要に応じて、誤差画像記憶部49に記憶された誤差画像を、存在画像とするとともに、第1フレーム乃至第Nフレームそれぞれの前景を、所望画像として、学習処理または適応処理がそれぞれ行われる。
【0202】
なお、適応処理は、存在画像には含まれていないが、所望画像に含まれる成分が再現される点で、例えば、単なる補間処理とは異なる。即ち、適応処理では、式(1)だけを見る限りは、いわゆる補間フィルタを用いての補間処理と同一であるが、その補間フィルタのタップ係数に相当する予測係数wが、教師データyを用いての、いわば学習により求められるため、所望画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造(解像度想像)作用がある処理ということができる。
【0203】
誤差計算部48は、前景記憶部42から第1フレーム乃至第Nフレームそれぞれの前景を読み出し、適応処理部47で求められた、第1フレーム乃至第Nフレームそれぞれの前景の予測値の予測誤差を計算するようになっている。即ち、誤差計算部48は、例えば、第nフレームの前景を構成する画素の予測値から、その画素の画素値の真値を減算することにより、画素ごとに、予測誤差を求めるようになっている。
【0204】
誤差画像記憶部49は、誤差計算部48で求められた、第1フレーム乃至第Nフレームの前景の予測誤差でなる画像(以下、適宜、誤差画像という)を記憶するようになっている。
【0205】
誤差判定部50は、誤差画像記憶部49に記憶された誤差画像を構成する各画素の画素値としての予測誤差の、例えば、絶対値和を演算し、その絶対値和が所定の閾値以下(未満)になっているかどうかを判定するようになっている。
【0206】
MUX(マルチプレクサ)51は、誤差判定部50による判定結果に基づいて、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像、予測係数記憶部46に記憶された予測係数、さらには、必要に応じて、誤差画像記憶部49に記憶された誤差画像を多重化し、その結果得られる多重化データを、第1フレーム乃至第Nフレームそれぞれの前景の符号化結果として、マルチプレクサ17(図2)に出力するようになっている。
【0207】
次に、図26は、図24の学習部45の構成例を示している。
【0208】
予測タップ構成部61には、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像(以下、適宜、両方含めて、前景蓄積画像という)、さらには、必要に応じて、誤差画像記憶部49に記憶された誤差画像が供給されるようになっている。そして、予測タップ構成部61は、背景の位置合わせを行った状態での第1フレーム乃至第Nフレームそれぞれの前景を構成する画素のうち、予測値を求めようとするものを、注目画素として、基準座標系において、注目画素と空間的に近い位置にある前方蓄積画像および後方蓄積画像の画素や、誤差画像の画素を抽出し、注目画素の予測値を適応処理により求めるのに用いる予測タップとして、正規方程式構成部62に出力する。
【0209】
正規方程式構成部62には、予測タップ構成部61から予測タップが供給される他、前景記憶部42に記憶された第1フレーム乃至第Nフレームそれぞれの前景を構成する画素が供給されるようになっている。そして、正規方程式構成部62は、注目画素となっている前景の画素(教師データ)と、予測タップ(生徒データ)を対象とした足し込みを行う。
【0210】
即ち、正規方程式構成部62は、予測タップを用い、式(7)の正規方程式の左辺における、予測係数の乗数となっている、生徒データ(予測タップ)どうしの乗算(xiji j )と、サメーション(Σ)に相当する演算を行う。
【0211】
さらに、正規方程式構成部62は、予測タップおよび注目画素を用い、式(7)の正規方程式の右辺における、生徒データ(予測タップ)と教師データ(注目画素)の乗算(xijj)と、サメーション(Σ)に相当する演算を行う。
【0212】
正規方程式構成部62では、以上の処理が、第1フレーム乃至第Nフレームそれぞれの前景を構成する画素を、注目画素として行われ、これにより、式(7)に示した正規方程式がたてられる。
【0213】
そして、その後、予測係数算出部63は、正規方程式構成部62において生成された正規方程式を解くことにより、予測係数を求め、予測係数記憶部46(図24)に供給して記憶させる。
【0214】
ここで、本実施の形態では、図24の適応処理部47において、背景の位置合わせを行った状態での第1フレーム乃至第Nフレームのうち、第nフレームの、基準座標系の存在範囲内における位置(x,y)にある画素の画素値An(x,y)の予測値E[An(x,y)]が、例えば、次式にしたがって求められるようになっている。
【0215】
E[An(x,y)]=g(F,B,E,n)・・・(8)
ここで、式(8)において、F,B,Eは、それぞれ前方蓄積画像、後方蓄積画像、誤差画像を表し、関数g(F,B,E,n)は、例えば、式(1)の線形一次式に相当する次式で定義される。
【0216】
Figure 0004240674
ここで、式(9)において、wF1,wF2,・・・,wB1,wB2,・・・,wE1,wE2,・・・,wは、予測係数を表す。また、f1,f2,・・・は、前方蓄積画像Fを構成する画素のうち、注目画素についての予測タップを構成する画素を、b1,b2,・・・は、後方蓄積画像Bを構成する画素のうち、注目画素についての予測タップを構成する画素を、e1,e2,・・・は、誤差画像Eを構成する画素のうち、注目画素についての予測タップを構成する画素を、それぞれ表す。
【0217】
関数g(F,B,E,n)が、式(9)によって定義される場合、図26の正規方程式構成部62では、式(9)における予測係数wF1,wF2,・・・,wB1,wB2,・・・,wE1,wE2,・・・,wを求めるための正規方程式がたてられ、予測係数算出部63では、その正規方程式を解くことで、予測係数wF1,wF2,・・・,wB1,wB2,・・・,wE1,wE2,・・・,wが求められる。従って、この場合、第1フレーム乃至第Nフレームすべての前景について、1セットの予測係数wF1,wF2,・・・,wB1,wB2,・・・,wE1,wE2,・・・,wが求められる。
【0218】
次に、図27は、図24の適応処理部47の構成例を示している。
【0219】
予測タップ構成部71には、前景蓄積画像記憶部44に記憶された前景蓄積画像、さらには、必要に応じて、誤差画像記憶部49に記憶された誤差画像が供給されるようになっている。そして、予測タップ構成部71は、図26の予測タップ構成部61における場合と同様に、背景の位置合わせを行った状態での第1フレーム乃至第Nフレームそれぞれの前景を構成する画素のうち、予測値を求めようとするものを、注目画素として、基準座標系において、注目画素と空間的に近い位置にある前方蓄積画像および後方蓄積画像の画素や、誤差画像の画素を抽出し、予測タップとして、予測演算部72に出力する。
【0220】
予測演算部72には、予測タップ構成部71から予測タップが供給される他、予測係数記憶部46(図24)に記憶された予測係数が供給されるようになっている。そして、予測演算部72では、注目画素となっている前景の画素の予測値が、予測タップおよび予測係数を用い、式(8)および(9)で定義される線形一次式を演算することで求められ、誤差計算部48に出力される。
【0221】
次に、図28のフローチャートを参照して、図24の前景符号化部16において行われる、第1フレーム乃至第Nフレームそれぞれの前景を符号化する前景符号化処理について説明する。
【0222】
まず最初に、ステップS161において、前景抽出部41は、カメラ動きベクトル記憶部13(図2)に記憶されたカメラ動きベクトル、および背景メモリ15(図2)に記憶された全体背景を用いて、蓄積部11(図2)に記憶された第1フレーム乃至第Nフレームの画像それぞれから、上述したようにして前景を抽出し、前景記憶部42に供給して記憶させる。
【0223】
そして、ステップS162に進み、前景蓄積画像構成部43は、前景記憶部42に記憶された第1フレーム乃至第Nフレームそれぞれの前景から、図25で説明したような前方蓄積画像および後方蓄積画像を構成し、前景蓄積画像記憶部44に供給して記憶させ、ステップ163に進む。
【0224】
ステップS163では、学習部45において、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像、さらには、必要に応じて、誤差画像記憶部49に記憶された誤差画像を構成する画素を用いて学習が行われ、これにより、第1フレーム乃至第Nフレームそれぞれの前景を構成する画素を予測するための予測係数が求められる。
【0225】
ここで、ステップS163で最初に学習処理が行われる場合においては、誤差画像記憶部49には、まだ、誤差画像が記憶されていないため、誤差画像は用いずに(用いることができない)、学習が行われる。
【0226】
ステップS163における学習の結果得られた予測係数は、学習部45から予測係数記憶部46に供給され、上書きする形で記憶される。予測係数記憶部46に予測係数が記憶されると、ステップS164において、適応処理部47は、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像を構成する画素、予測係数記憶部46に記憶された予測係数、さらには、必要に応じて、誤差画像記憶部49に記憶された誤差画像を用いて、式(8)および(9)の線形一次式を計算することにより、第1フレーム乃至第Nフレームそれぞれの前景を構成する各画素の予測値を求める適応処理を行う。
【0227】
ここで、ステップS164で最初に適応処理が行われる場合においても、誤差画像記憶部49には、まだ、誤差画像が記憶されていないため、誤差画像は用いずに(用いることができない)、適応処理が行われる。
【0228】
ステップS164における適応処理の結果得られた第1フレーム乃至第Nフレームそれぞれの前景を構成する各画素の予測値は、誤差計算部48に供給され、誤差計算部48では、ステップS165において、前景記憶部42に記憶された第1フレーム乃至第Nフレームそれぞれの前景を参照することで、その前景を構成する各画素の予測値の予測誤差が求められる。
【0229】
そして、ステップS166に進み、誤差計算部48は、基準座標系の存在範囲内における各位置について、その位置における予測誤差の絶対値が最大になっている画素を、第1フレーム乃至第Nフレームそれぞれの前景を構成する画素から抽出し、その抽出された画素の予測誤差でなる画像を誤差画像として、誤差画像記憶部49に供給する。誤差画像記憶部49では、誤差計算部48からの誤差画像が記憶される。
【0230】
その後、ステップS167に進み、誤差判定部50において、誤差画像記憶部49に記憶された誤差画像を構成する各画素の画素値(予測誤差)の絶対値の総和が求められ、その総和が、所定の閾値以下(未満)であるかどうかが判定される。
【0231】
ステップS167において、誤差画像を構成する各画素の画素値(予測誤差)の絶対値の総和が、所定の閾値以下でないと判定された場合、即ち、予測係数と、前方蓄積画像および後方蓄積画像(さらには、必要に応じて、誤差画像)とから得られる前景の予測値の精度が高くない場合、ステップS163に戻り、以下、同様の処理が繰り返される。
【0232】
なお、この場合、誤差画像記憶部49には、誤差画像が記憶されているので、次回のステップS163またはS164では、図29に示すように、前方蓄積画像および後方蓄積画像の他、誤差画像も用いて予測タップが構成され、学習処理または適応処理がそれぞれ行われる。
【0233】
一方、ステップS167において、誤差画像を構成する各画素の画素値(予測誤差)の絶対値の総和が、所定の閾値以下であると判定された場合、即ち、予測係数と、前方蓄積画像および後方蓄積画像(さらには、必要に応じて、誤差画像)とから得られる前景の予測値の精度が高い場合、ステップS168に進み、誤差判定部50は、MUX51を制御し、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像、予測係数記憶部46に記憶された予測係数、さらには、誤差画像記憶部49に誤差画像が記憶されている場合には、その誤差画像を読み出して多重化させる。そして、MUX51は、その多重化の結果得られた多重化データを、第1フレーム乃至第Nフレームそれぞれの前景の符号化結果として、マルチプレクサ17(図2)に出力し、前景符号化処理を終了する。
【0234】
なお、誤差画像記憶部49には、ステップS166の処理が行われるごとに得られる新たな誤差画像を、既に記憶されている誤差画像に上書きする形で記憶させるようにしても良いし、既に記憶されている誤差画像をそのまま残して記憶させるようにしても良い。
【0235】
新たな誤差画像を、誤差画像記憶部49に既に記憶されている誤差画像に上書きする形で記憶させる場合には、誤差画像は、予測係数の学習が繰り返し行われても、常に、1枚であるため、前景の予測値の精度の向上にある程度の限界があるが、多重化データのデータ量を少なくすることができる。
【0236】
一方、新たな誤差画像を、誤差画像記憶部49に既に記憶されている誤差画像をそのまま残して記憶させる場合には、誤差画像が複数枚になるため、多重化データのデータ量が多少増加するが、図30に示すように、前方蓄積画像および後方蓄積画像、並びに2枚以上の誤差画像を用いて予測タップが構成され、学習処理または適応処理がそれぞれ行われるため、前景の予測値の精度をより向上させることができる。なお、図30は、誤差画像が2枚ある場合を示している。
【0237】
また、上述の場合においては、学習処理により求めた予測係数を用いて適応処理を行うことにより予測値を求め、その予測誤差が大きい場合には、誤差画像も用いて学習処理を再度行い、予測誤差を小さくする予測係数を求めるようにしたが、予測誤差の大小にかかわらず、学習部45による最初の学習処理の結果得られた予測係数を、前景蓄積画像記憶部44に記憶された前方蓄積画像および後方蓄積画像とともに、前景の符号化結果として出力するようにすることも可能である。この場合、前景符号化部16は、適応処理部47、誤差計算部48、誤差画像記憶部49、および誤差判定部50は設けずに構成することが可能となる。
【0238】
さらに、上述の場合には、前景の予測値を求める関数g(F,B,E,n)を、式(9)によって定義し、これにより、第1フレーム乃至第Nフレームすべての前景の予測値を求めるのに共通に用いる1セットの予測係数を求めるようにしたが、予測係数は、その他、例えば、1フレームごとや、複数フレームごとに求めることも可能である。
【0239】
即ち、1フレームごとに予測係数を求める場合には、関数g(F,B,E,n)を、例えば、式(10)に示すように定義し、各フレームごとに正規方程式をたてて解くことにより、予測係数を求めるようにすれば良い。
【0240】
Figure 0004240674
ここで、式(10)において、wF1n,wF2n,・・・,wB1n,wB2n,・・・,wE1n,wE2n,・・・は、第nフレームの前景の予測値を求めるのに用いる予測係数を表す。
【0241】
また、ここでは、線形一次予測によって、前景の予測値を求めるようにしたが、前景の予測値は、その他、2次以上の高次の予測式によって求めるようにすることも可能である。
【0242】
さらに、ここでは、第1フレーム乃至第Nフレームそれぞれの前景から構成された前方蓄積画像および後方蓄積画像を用いて、第1フレーム乃至第Nフレームそれぞれの前景の予測値を求めるための予測係数の学習を行うようにしたが、予測係数の学習は、前方蓄積画像および後方蓄積画像以外の画像を用いて行うようにすることも可能である。即ち、予測係数の学習は、例えば、雑音でなる1枚以上の画像を用いて、前景の予測値の予測誤差を小さくするように、その雑音でなる画像の画素値を操作して行うようにすること等が可能である。
【0243】
次に、図31は、図1のデコーダ2の構成例を示している。
【0244】
伝送媒体3(図1)を介して伝送されてくる符号化データ、あるいは記録媒体4(図1)から再生された符号化データは、DMUX(デマルチプレクサ)81に供給されるようになっており、DMUX81は、そこに供給される符号化データを、前方蓄積画像、後方蓄積画像、予測係数、全体背景、カメラ動きベクトルに分離するようになっている。なお、符号化データに、誤差画像が含まれる場合には、DMUX81は、その誤差画像も、符号化データから分離するようになっている。
【0245】
前方蓄積画像および後方蓄積画像、さらには、符号化データに誤差画像が含まれる場合にはその誤差画像は、DMUX81から画像記憶部86に供給されるようになっている。また、予測係数、全体背景、またはカメラ動きベクトルは、DMUX81から、予測係数記憶部82、背景メモリ87、カメラ動きベクトル記憶部88にそれぞれ供給されるようになっている。
【0246】
予測係数記憶部82は、DMUX81からの予測係数を記憶するようになっている。適応処理部83は、予測係数記憶部82に記憶された予測係数、並びに画像記憶部86に記憶された前方蓄積画像および後方蓄積画像、さらには必要に応じて誤差画像を用い、図24の適応処理部47における場合と同様の適応処理を行うことで、第1フレーム乃至第Nフレームそれぞれの前景の予測値を求めるようになっている。
【0247】
前景記憶部84は、適応処理部83によって求められる、第1フレーム乃至第Nフレームそれぞれの前景の予測値を、第1フレーム乃至第Nフレームそれぞれの前景の復号結果として記憶するようになっている。
【0248】
合成部85は、背景メモリ87に記憶された全体背景から、カメラ動きベクトル記憶部88に記憶された第nフレームのカメラ動きベクトルvnに基づいて、第nフレームの背景を切り出し(抽出し)、その第nフレームの背景と、前景記憶部84に記憶された第nフレームの前景の復号結果とを合成することで、第nフレームの画像を復号して出力するようになっている。
【0249】
画像記憶部86は、DMUX81から供給される前方蓄積画像および後方蓄積画像、並びに誤差画像を記憶するようになっている。背景メモリ87は、DMUX81から供給される全体背景を記憶するようになっている。カメラ動きベクトル記憶部88は、DMUX81から供給される第1フレーム乃至第Nフレームそれぞれのカメラ動きベクトルを記憶するようになっている。
【0250】
次に、図32のフローチャートを参照して、図31のデコーダ2において行われる、一連の画像としての第1フレーム乃至第Nフレームの画像を復号する復号処理について説明する。
【0251】
まず最初に、ステップS171において、DMUX81は、そこに供給される符号化データを、前方蓄積画像、後方蓄積画像、必要な誤差画像、予測係数、全体背景、カメラ動きベクトルに分離する。前方蓄積画像、後方蓄積画像、および必要な誤差画像は、画像記憶部86に供給されて記憶される。また、予測係数、全体背景、またはカメラ動きベクトルは、予測係数記憶部82、背景メモリ87、カメラ動きベクトル記憶部88にそれぞれ供給されて記憶される。
【0252】
その後、ステップS172に進み、適応処理部83は、予測係数記憶部82に記憶された予測係数、並びに画像記憶部86に記憶された前方蓄積画像、後方蓄積画像、および必要な誤差画像を用い、図24の適応処理部47における場合と同様の適応処理を行うことで、第1フレーム乃至第Nフレームそれぞれの前景の予測値を求める。この予測値は、前景記憶部84に供給され、第1フレーム乃至第Nフレームそれぞれの前景の復号結果として記憶される。
【0253】
そして、ステップS173に進み、合成部85において、背景メモリ87に記憶された全体背景から、カメラ動きベクトル記憶部88に記憶された第nフレームのカメラ動きベクトルvnに基づいて、第nフレームの背景が切り出され、その第nフレームの背景と、前景記憶部84に記憶された第nフレームの前景の復号結果とが合成される。合成部85では、以上の処理が、第1フレーム乃至第Nフレームすべてについて行われ、復号処理を終了する。
【0254】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアとしてのエンコーダ1やデコーダ2に組み込まれているコンピュータ、または各種のプログラムをインストールすることで各種の処理を行う汎用のコンピュータ等にインストールされる。
【0255】
そこで、図33を参照して、上述した一連の処理を実行するプログラムをコンピュータにインストールし、コンピュータによって実行可能な状態とするために用いられる媒体について説明する。
【0256】
プログラムは、図33(A)に示すように、コンピュータ101に内蔵されている記録媒体としてのハードディスク102や半導体メモリ103に予めインストールした状態でユーザに提供することができる。
【0257】
あるいはまた、プログラムは、図33(B)に示すように、フロッピーディスク111、CD-ROM(Compact Disc Read Only Memory)112,MO(Magneto optical)ディスク113,DVD(Digital Versatile Disc)114、磁気ディスク115、半導体メモリ116などの記録媒体に、一時的あるいは永続的に格納し、パッケージソフトウエアとして提供することができる。
【0258】
さらに、プログラムは、図33(C)に示すように、ダウンロードサイト121から、ディジタル衛星放送用の人工衛星122を介して、コンピュータ101に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワーク131を介して、コンピュータ123に有線で転送し、コンピュータ101において、内蔵するハードディスク102などに格納させるようにすることができる。
【0259】
本明細書における媒体とは、これら全ての媒体を含む広義の概念を意味するものである。
【0260】
また、本明細書において、媒体により提供されるプログラムを記述するステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0261】
次に、図34は、図33のコンピュータ101の構成例を示している。
【0262】
コンピュータ101は、図34に示すように、CPU(Central Processing Unit)142を内蔵している。CPU142には、バス141を介して、入出力インタフェース145が接続されており、CPU142は、入出力インタフェース145を介して、ユーザによって、キーボードやマウス等で構成される入力部147が操作されることにより指令が入力されると、それにしたがって、図33(A)の半導体メモリ103に対応するROM(Read Only Memory)143に格納されているプログラムを実行する。あるいは、また、CPU142は、ハードディスク102に格納されているプログラム、衛星122若しくはネットワーク131から転送され、通信部148で受信されてハードディスク102にインストールされたプログラム、またはドライブ149に装着されたフロッピディスク111、CD-ROM112、MOディスク113、DVD114、若しくは磁気ディスク115から読み出されてハードディスク102にインストールされたプログラムを、RAM(Random Access Memory)144にロードして実行する。そして、CPU142は、その処理結果を、例えば、入出力インタフェース145を介して、LCD(Liquid CryStal Display)等で構成される表示部146に、必要に応じて出力する。
【0263】
【発明の効果】
本発明の一側面によれば、画像の撮像時における撮像装置の撮像方向の動きを、簡易に求めることが可能となる。
る。
【図面の簡単な説明】
【図1】本発明を適用した画像伝送装置の一実施の形態の構成例を示す図である。
【図2】図1のエンコーダ1の構成例を示すブロック図である。
【図3】図2の蓄積部11に記憶される一連の画像を示す図である。
【図4】図2のカメラ動き検出部12の処理を説明するための図である。
【図5】図2のカメラ動き検出部12の構成例を示すブロック図である。
【図6】図5のカメラ動き検出部12によるカメラ動きベクトルの求め方を説明するための図である。
【図7】図5のカメラ動き検出部12の処理(カメラ動き検出処理)を説明するためのフローチャートである。
【図8】図7のステップS3における処理(注目フレームの重心算出処理)の詳細の第1の例を説明するためのフローチャートである。
【図9】レベルテーブルを示す図である。
【図10】図7のステップS4における処理(動き検出範囲の重心算出処理)の詳細を説明するためのフローチャートである。
【図11】図7のステップS3における処理の詳細の第2の例を説明するためのフローチャートである。
【図12】クラステーブルを示す図である。
【図13】図7のステップS3における処理の詳細の第3の例を説明するためのフローチャートである。
【図14】エッジ画素を説明するための図である。
【図15】図5の動きなし判定部25の処理(動きなし判定処理)の詳細を説明するためのフローチャートである。
【図16】図2の背景抽出部14の構成例を示すブロック図である。
【図17】図16の存在範囲検出部31の処理を説明するための図である。
【図18】図16の読み出し部32の処理を説明するための図である。
【図19】度数テーブルを示す図である。
【図20】図16の背景抽出部14の処理(背景抽出処理)を説明するためのフローチャートである。
【図21】図20のステップS124の処理(背景画素抽出処理)の詳細を説明するためのフローチャートである。
【図22】図20のステップS125の処理(背景拡張処理)の詳細を説明するためのフローチャートである。
【図23】図22の背景拡張処理を説明するための図である。
【図24】図2の前景符号化部16の構成例を示すブロック図である。
【図25】図24の前景蓄積画像構成部43の処理を説明するための図である。
【図26】図24の学習部45の構成例を示すブロック図である。
【図27】図24の適応処理部47の構成例を示すブロック図である。
【図28】図24の前景符号化部16の処理(前景符号化処理)の詳細を説明するためのフローチャートである。
【図29】予測タップが、誤差画像を用いて構成される様子を示す図である。
【図30】予測タップが、2枚の誤差画像を用いて構成される様子を示す図である。
【図31】図1のデコーダ2の構成例を示すブロック図である。
【図32】図31のデコーダ2の処理(復号処理)を説明するためのフローチャートである。
【図33】本発明を適用した媒体を説明するための図である。
【図34】図33のコンピュータ101の構成例を示すブロック図である。
【符号の説明】
1 エンコーダ, 2 デコーダ, 3 伝送媒体, 4 記録媒体, 11蓄積部, 12 カメラ動き検出部, 13 カメラ動きベクトル記憶部, 14 背景抽出部, 15 背景メモリ, 16 前景符号化部, 17 MUX, 21 重心算出部, 22 ベクトル検出部, 23 書き込み制御部,24 蓄積画像メモリ, 25 動きなし判定部, 31 存在範囲検出部,32 読み出し部, 33 度数カウント部, 34 度数テーブル記憶部,35 書き込み部, 36 背景フラグメモリ, 41 前景抽出部, 42前景記憶部, 43 前景蓄積画像構成部, 44 前景蓄積画像記憶部, 45 学習部, 46 予測係数記憶部, 47 適応処理部, 48 誤差計算部, 49 誤差画像記憶部, 50 誤差判定部, 51 MUX, 61予測タップ構成部, 62 正規方程式構成部, 63 予測係数算出部, 71 予測タップ構成部, 72 予測演算部, 81 DMUX, 82 予測係数記憶部, 83 適応処理部, 84 前景記憶部, 85 合成部, 86 画像記憶部, 87 背景メモリ, 88 カメラ動きベクトル記憶部,101 コンピュータ, 102 ハードディスク, 103 半導体メモリ, 111 フロッピーディスク, 112 CD-ROM, 113 MOディスク,114 DVD, 115 磁気ディスク, 116 半導体メモリ, 121ダウンロードサイト, 122 衛星, 131 ネットワーク, 141 バス, 142 CPU, 143 ROM, 144 RAM, 145 入出力インタフェース, 146 表示部, 147 入力部, 148 通信部, 149 ドライブ

Claims (8)

  1. 撮像装置によって撮像された画像から、前記撮像装置の撮像方向の動きを検出する動き検出装置であって、
    前記撮像装置が出力する各画面の画像が上書きの形で書き込まれる蓄積画像記憶手段と、
    前記蓄積画像記憶手段に記憶された画像である蓄積画像の中の、注目画面の前の画面の画像を包含する範囲を、前記注目画面についての前記動きを検出するのに用いる検出範囲として設定する検出範囲設定手段と、
    前記注目画面の画像の各画素を、その画素の画素値を表す値、又は、その周辺にある画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記注目画面の重心として算出するとともに、前記検出範囲の画像の各画素を、その画素の画素値を表す値、又は、その周辺の画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記検出範囲の重心として算出する重心算出手段と、
    前記検出範囲の重心と、前記注目画面の重心に基づいて、前記前の画面の所定の点から前記検出範囲の重心までのベクトルと、前記注目画面の所定の点から前記注目画面の重心までのベクトルとの差分だけ、前記前の画面の画像を撮像したときの前記撮像装置の撮像方向の動きを表す、前記前の画面の動きベクトルを補正することにより、前記注目画面の動きベクトルを求める動きベクトル算出手段と、
    前記注目画面の動きベクトルによって、前記蓄積画像記憶手段の書き込みアドレスを制御し、前記注目画面の画像を、前記蓄積画像記憶手段に書き込む書き込み手段と
    を含み、
    前記書き込みアドレスの制御により、前記蓄積画像記憶手段には、前記注目画面の動きベクトルによって示される点に、前記注目画面の所定の点が位置するように、前記注目画面の画像が書き込まれる
    動き検出装置。
  2. 前記重心算出手段は、
    前記検出範囲または注目画面内の画素を、その画素値が属する範囲を表すレベルによって分類し、
    各レベルに属する画素の重心を算出し、
    各レベルの重心の重心を、前記検出範囲または注目画面の重心としてそれぞれ求める
    請求項1に記載の動き検出装置。
  3. 前記重心算出手段は、
    前記検出範囲または注目画面内の各画素を、その周辺にある画素の画素値のパターンを表すクラスによって分類し、
    各クラスに属する画素の重心を算出し、
    各クラスの重心の重心を、前記検出範囲または注目画面の重心としてそれぞれ求める
    請求項1に記載の動き検出装置。
  4. 前記重心算出手段は、
    エッジになっている部分の画素が属する複数のクラスを、複数の特定のクラスとして、前記特定のクラスに属する画素の重心を算出し、
    複数の前記特定のクラスの重心の重心を、前記検出範囲または注目画面の重心としてそれぞれ求める
    請求項3に記載の動き検出装置。
  5. 前記注目画面の画像を撮像したときの前記撮像装置の撮像方向の動きの有無を判定する動き有無判定手段をさらに含み、
    前記動きベクトル算出手段は、前記動き有無判定手段において動きがあると判定された場合にのみ、前記検出範囲の重心と、前記注目画面の重心に基づいて、前記動きベクトルを求める
    請求項1に記載の動き検出装置。
  6. 前記動き有無判定手段は、
    前記注目画面内の各画素を、その周辺にある画素の画素値のパターンを表すクラスによって分類し、
    エッジになっている部分の画素が属するクラスを、特定のクラスとして、前記特定のクラスに属する画素の画素値と、前記注目画面の前の画面の対応する画素の画素値とを比較し、
    前記前の画面の対応する画素と同一の画素値とみなせる、前記特定のクラスに属する画素の数をカウントし、
    前記前の画面の対応する画素と同一の画素値とみなせる、前記特定のクラスに属する画素の数が所定の閾値以上である場合、動きがないと判定し、
    前記前の画面の対応する画素と同一の画素値とみなせる、前記特定のクラスに属する画素の数が所定の閾値以上でない場合、動きがあると判定する
    請求項5に記載の動き検出装置。
  7. 撮像装置によって撮像された画像から、前記撮像装置の撮像方向の動きを検出する動き検出方法であって、
    前記撮像装置が出力する各画面の画像が上書きの形で書き込まれる蓄積画像記憶手段に記憶された画像である蓄積画像の中の、注目画面の前の画面の画像を包含する範囲を、前記注目画面についての前記動きを検出するのに用いる検出範囲として設定する検出範囲設定ステップと、
    前記注目画面の画像の各画素を、その画素の画素値を表す値、又は、その周辺にある画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記注目画面の重心として算出するとともに、前記検出範囲の画像の各画素を、その画素の画素値を表す値、又は、その周辺の画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記検出範囲の重心として算出する重心算出ステップと、
    前記検出範囲の重心と、前記注目画面の重心に基づいて、前記前の画面の所定の点から前記検出範囲の重心までのベクトルと、前記注目画面の所定の点から前記注目画面の重心までのベクトルとの差分だけ、前記前の画面の画像を撮像したときの前記撮像装置の撮像方向の動きを表す、前記前の画面の動きベクトルを補正することにより、前記注目画面の動きベクトルを求める動きベクトル算出ステップと、
    前記注目画面の動きベクトルによって、前記蓄積画像記憶手段の書き込みアドレスを制御し、前記注目画面の画像を、前記蓄積画像記憶手段に書き込む書き込みステップと
    を含み、
    前記書き込みアドレスの制御により、前記蓄積画像記憶手段には、前記注目画面の動きベクトルによって示される点に、前記注目画面の所定の点が位置するように、前記注目画面の画像が書き込まれる
    動き検出方法。
  8. 撮像装置によって撮像された画像から、前記撮像装置の撮像方向の動きを検出する動き検出装置として、コンピュータを機能させるプログラムが記録された記録媒体であって、
    前記撮像装置が出力する各画面の画像が上書きの形で書き込まれる蓄積画像記憶手段に記憶された画像である蓄積画像の中の、注目画面の前の画面の画像を包含する範囲を、前記注目画面についての前記動きを検出するのに用いる検出範囲として設定する検出範囲設定手段と、
    前記注目画面の画像の各画素を、その画素の画素値を表す値、又は、その周辺にある画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記注目画面の重心として算出するとともに、前記検出範囲の画像の各画素を、その画素の画素値を表す値、又は、その周辺の画素の画素値のパターンを表す値によって分類し、各分類に属する画素の位置の重心の重心を、前記検出範囲の重心として算出する重心算出手段と、
    前記検出範囲の重心と、前記注目画面の重心に基づいて、前記前の画面の所定の点から前記検出範囲の重心までのベクトルと、前記注目画面の所定の点から前記注目画面の重心までのベクトルとの差分だけ、前記前の画面の画像を撮像したときの前記撮像装置の撮像方向の動きを表す、前記前の画面の動きベクトルを補正することにより、前記注目画面の動きベクトルを求める動きベクトル算出手段と、
    前記注目画面の動きベクトルによって、前記蓄積画像記憶手段の書き込みアドレスを制御し、前記注目画面の画像を、前記蓄積画像記憶手段に書き込む書き込み手段と
    して、コンピュータを機能させるためのプログラムであり、
    前記書き込みアドレスの制御により、前記蓄積画像記憶手段には、前記注目画面の動きベクトルによって示される点に、前記注目画面の所定の点が位置するように、前記注目画面の画像が書き込まれる
    プログラムが記録されたコンピュータ読み取り可能な記録媒体。
JP25847299A 1999-09-13 1999-09-13 動き検出装置および動き検出方法、並びに記録媒体 Expired - Fee Related JP4240674B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP25847299A JP4240674B2 (ja) 1999-09-13 1999-09-13 動き検出装置および動き検出方法、並びに記録媒体
US10/855,753 US7003163B2 (en) 1999-09-13 2004-05-27 Image processing apparatus
US10/854,851 US7133562B2 (en) 1999-09-13 2004-05-27 Image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25847299A JP4240674B2 (ja) 1999-09-13 1999-09-13 動き検出装置および動き検出方法、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2001086387A JP2001086387A (ja) 2001-03-30
JP4240674B2 true JP4240674B2 (ja) 2009-03-18

Family

ID=17320708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25847299A Expired - Fee Related JP4240674B2 (ja) 1999-09-13 1999-09-13 動き検出装置および動き検出方法、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP4240674B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100453222B1 (ko) * 2001-12-17 2004-10-15 한국전자통신연구원 카메라 움직임 판별 장치 및 방법
US7636481B2 (en) * 2002-10-09 2009-12-22 Sony Corporation Image processing apparatus, method, storage medium, and program for compressing an input image using a motion vector that is detected based on stored position information of pixels
KR100618395B1 (ko) * 2005-03-18 2006-09-01 에스케이 텔레콤주식회사 카메라 움직임 입력 수치화 방법 및 그 장치
KR102264840B1 (ko) 2014-11-27 2021-06-15 삼성전자주식회사 비디오 프레임 인코딩 회로, 그것의 인코딩 방법 및 그것을 포함하는 비디오 데이터 송수신 장치

Also Published As

Publication number Publication date
JP2001086387A (ja) 2001-03-30

Similar Documents

Publication Publication Date Title
JP4224748B2 (ja) 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、記録媒体、並びに画像処理装置
JP5263565B2 (ja) 画像処理装置、画像処理方法、及びプログラム
KR101092287B1 (ko) 화상 처리 장치 및 화상 처리 방법
US7738711B2 (en) Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal
US20100202711A1 (en) Image processing apparatus, image processing method, and program
US6546139B1 (en) Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal
JP2008098800A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2008521324A (ja) カバーリング及びアンカバーリングを扱う動きベクトル場の投影
JP4362895B2 (ja) データ処理装置およびデータ処理方法、並びに記録媒体
JP4240674B2 (ja) 動き検出装置および動き検出方法、並びに記録媒体
JPH0795591A (ja) ディジタル画像信号処理装置
JP3849817B2 (ja) 画像処理装置および画像処理方法
JP4186093B2 (ja) 画像処理装置および画像処理方法、並びに記録媒体
JP3175914B2 (ja) 画像符号化方法および画像符号化装置
JP4507639B2 (ja) 画像信号処理装置
EP1620832A1 (en) Segmentation refinement
JP4770711B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP4442076B2 (ja) データ変換装置およびデータ変換方法、学習装置および学習方法、並びにプログラムおよび記録媒体
JP2000348019A (ja) データ処理装置およびデータ処理方法、並びに媒体
JPH11164264A (ja) 画像処理装置および画像処理方法
JPH08242454A (ja) グローバル動きパラメタ検出方法
JP2010219715A (ja) 画像処理装置、画像処理方法、及び、プログラム
EP0993200A2 (en) Apparatus and method for image data coding with additional data embedding
JP4120095B2 (ja) 画像情報変換装置および変換方法
JPH0937255A (ja) 動きパラメータ検出装置および動きパラメータ検出方法、並びに画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees