(58)【調査した分野】(Int.Cl.,DB名)
前記動き推定部は、前記第1推定モードにおいて、前記第1画像に含まれるオブジェクトと前記第2画像に含まれる所定範囲との輝度の差分に基づいて算出される値を推定誤差とし、
前記所定の条件は、前記推定誤差が予め定められた値を上回る場合、又は、前記推定誤差が平均値の所定倍を上回る場合、のいずれか一方又は双方を満たす場合である、請求項1に記載の画像処理装置。
【発明を実施するための形態】
【0011】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。
【0012】
<第1実施形態>
以下、
図1〜
図10を用いて、本発明の第1実施形態に係る画像処理装置1について説明する。
【0013】
<画像中のオブジェクトの振動について>
図1に示されるように、撮像者の手ブレ等により、撮像された画像が振動する場合がある。その結果、画像内の物体が上下左右への位置ずれが生じてしまう。ここで、画像とは、時系列順に並んだ複数の画像のことであり、特に動画である。
【0014】
例えば、
図1Aに示される画像の次フレームの画像は、
図1Bに示されるように、下側への位置ずれが生じている。また、
図1Bに示される画像の次フレームの画像は、
図1Cに示されるように、右上への位置ずれが生じている。これにより、第1画像とこれより後の第2画像間でのオブジェクト(
図1における破線領域)が振動する。
【0015】
かかる振動を抑制するために、第1実施形態に係る画像処理装置1を用い、画像が表示される表示装置側で画像の振動を抑制する。
【0016】
<画像処理装置1>
図2〜
図10を用いて、画像処理装置1の構成及び処理について説明する。
図2に示されるように、第1実施形態に係る画像処理装置1は、第1画像とこれより後の第2画像間でのオブジェクトの動き量を推定する動き推定部2と、オブジェクトの動き量に基づいて、第1及び第2画像間でのオブジェクトの振動を抑制するように第2画像に対して変換処理を施す動き補償部8とを備える。動き推定部2は、予め定められた探索領域SA内においてオブジェクトの動き量を推定する第1推定モードと、第1推定モードにおける探索領域SAより大きな領域に基づいてオブジェクトの動き量を推定する第2推定モードとを備える。動き補償部8は、所定の条件が充足されたときに第1推定モードで推定された動き量に基づいて変換処理を行い、所定の条件が充足されないときに第2推定モードで推定された動き量に基づいて変換処理を行う。
【0017】
なお、第1実施形態では、第1画像とこれより後の第2画像の一例として、連続する2つの画像である画像1及び画像2を用いて説明する。
【0018】
画像処理装置1は、動き推定部2、領域設定部3、追跡外れ検出部5、モード切替部7及び動き補償部8を備える。動き推定部2は、局所領域追跡部4及びグローバル動き推定部6を備える。局所領域追跡部4は、第1動き推定部41及び画像切り出し部42を備える。グローバル動き推定部6は、第2動き推定部61及び動き補正部62を備える。これらは、ソフトウェアによって実現してもよく、ハードウェアによって実現してもよい。ソフトウェアによって実現する場合、CPUがプログラムを実行することによって各種機能を実現することができる。プログラムは、内蔵の記憶部に格納しているものであってもよく、コンピュータ読み取り可能な非一時的な記録媒体に格納しているものであってもよい。また、外部の記憶部に格納されたプログラムを読み出し、いわゆるクラウドコンピューティングにより実現してもよい。ハードウェアによって実現する場合、ASIC、FPGA、又はDRPなどによって実現することができる。
【0019】
領域設定部3は、第1推定モードの一例である局所動き推定モードにおいて、オブジェクトに対応する領域を設定するものである。ここで、第1実施形態では、オブジェクトに対応する領域を局所領域LA(
図4を用いて後述)という。第1実施形態では、局所動き推定モードにおいて、第1画像とこれより後の第2画像間でのオブジェクトの動き量を推定することにより、局所領域LAを追跡する。
【0020】
動き推定部2は、第1画像とこれより後の第2画像間でのオブジェクトの動き量を推定するものである。ここで、第1及び第2画像は、複数の画像に含まれる連続画像であってもよく、非連続な2つの画像であってもよい。また、第1実施形態では、動き推定部2は、局所領域追跡部4及びグローバル動き推定部6により構成される。
【0021】
局所領域追跡部4は、局所動き推定モードにおける局所領域LAを追跡するものである。局所動き推定モードは、予め定められた探索領域SA内においてオブジェクトの動き量を推定するものであり、第1及び第2画像全体を用いてオブジェクトの動き量を推定する場合と比べて、計算資源を節約することができる。また、探索領域SA内においてオブジェクトを追跡可能なモードであるので、第1及び第2画像全体を用いてオブジェクトの動き量を推定する場合と比べてオブジェクトの動きを正確に推定することが可能となる。
【0022】
画像切り出し部42は、第1及び第2画像から画像の一部を切り出し、第1動き推定部41に出力するものである。ここで、画像1から切り出す範囲は、領域設定部3から入力された座標に基づいて決定される。
【0023】
第1動き推定部41は、画像切り出し部42から入力された画像を用い、第1及び第2画像の探索領域SA内において、オブジェクトの動きを推定するものである。第1実施形態では、第1動き推定部41によって推定されたオブジェクトの動き量を追跡動き量という。そして、第1動き推定部41は、追跡動き量を動き補償部8に出力する。さらに、第1画像に含まれるオブジェクトと第2画像に含まれる所定範囲との輝度の差分に基づいて算出される値を表す推定誤差(
図4を用いて後述)を追跡外れ検出部5に出力する。
【0024】
グローバル動き推定部6は、第2推定モードの一例であるグローバル動き推定モードにおいて、オブジェクトの動きを推定するものである。グローバル動き推定モードは、第1及び第2画像の全体からオブジェクトの動き量を推定するものである。このため、局所動き推定モードと比べて計算量が多い一方、局所動き推定モードでは対応できないオブジェクトの動きを推定することができる。ここで、第1実施形態では、グローバル動き推定モードにおけるオブジェクトとは、画像全体を1つのオブジェクトとみなしたものである。
【0025】
第2動き推定部61は、第1画像とこれより後の第2画像全体を用いて、オブジェクトの動き量を推定するものである。第1実施形態では、第2動き推定部61によって推定されたオブジェクトの動き量をグローバル動き量という。そして、第2動き推定部61は、グローバル動き量を動き補正部62に出力する。
【0026】
動き補正部62は、第2動き推定部61から入力されたグローバル動き量に基づいて、第2画像に対する変換処理を実行する際における補正量を計算するものである。かかる補正については、
図10を用いて後述する。そして、補正後グローバル動き量を動き補償部8に出力する。
【0027】
追跡外れ検出部5は、第1動き推定部41による局所領域LAの追跡ができなくなったことを検出するものである。
【0028】
モード切替部7は、局所動き推定モードと、第2推定モードの一例であるグローバル動き推定モードとを切り替えるものである。そして、モード切替部7は、局所動き推定モードとグローバル動き推定モードとを切り替える場合には、局所領域追跡部4及びグローバル動き推定部6にモード切替シグナルを出力する。これにより、画像処理装置1のモードが切り替わる。
【0029】
動き補償部8は、オブジェクトの動き量に基づいて、第1及び第2画像間でのオブジェクトの振動を抑制するように第2画像に対して変換処理を施すものである。また、動き補償部8は、所定の条件が充足されたときに第1推定モードで推定された動き量に基づいて変換処理を行い、所定の条件が充足されないときに第2推定モードで推定された動き量に基づいて変換処理を行う。これにより、入力された画像2が画像2'に変換され、かかる画像2'が出力画像として出力される。これにより、第1及び第2画像間でのオブジェクトの振動が抑制される。
【0030】
<フローチャート>
次に、
図3を用いて、画像処理装置1の処理フローについて説明する。
【0031】
<S1:局所領域設定>
まず、S1において、領域設定部3により局所領域LAが設定される。このとき、画像処理装置1は局所動き推定モードに設定されている。
【0032】
ここで、領域設定部3による局所領域LAの設定について、
図4を用いて説明する。第1実施形態では、
図4Aに示されるように、画像中のオブジェクト(車)の周囲を囲む領域を局所領域LAという。局所領域LAを設定する際には、領域設定部3に、オブジェクトの位置を特定する座標(x,y)が入力される。そして、入力された座標を中心に、予め定められた大きさの領域を表す座標を生成し、局所領域LAを設定する。領域設定部3は任意の構成を採用することができ、例えば、キーボード、タッチパネル、音声入力装置、ジェスチャー認識装置等の入力装置により実現してもよい。なお、領域設定部3による局所領域LAの設定はこれに限定されず、例えば、画像を予め複数の領域に分割しておき、入力された座標が含まれる領域を中心に、所定数の領域を合わせたものを局所領域LAとしてもよい。例えば、入力された座標が含まれる領域を中心に、上下左右の2領域拡張し、合計9領域を局所領域LAとしてもよい。また、任意のオブジェクト検出技術を用い、検出されたオブジェクトの座標が自動的に領域設定部3に入力される構成としてもよい。
【0033】
そして、領域設定部3は、局所領域LAを表す座標を、
図2に示される画像切り出し部42に出力する。
【0034】
<S2:局所領域追跡>
次に、S2において、局所領域追跡部4により、探索領域SA内において局所領域LAが追跡される。
【0035】
ここで、局所領域追跡部4による局所領域LAの追跡手法について、
図4を用いて説明する。
図4Aに示される入力画像1が、次フレームにおいて
図4Cに示される入力画像2に変化したとする。また、入力画像1及び入力画像2では、局所領域LAは探索領域SA内に位置する。ここで、探索領域SAは、局所領域LAを追跡する範囲を定めるものである。換言すると、局所動き推定モードでは、探索領域SA内において局所領域LAが追跡される。なお、探索領域SAの位置及び大きさは任意に設定することができ、例えば、局所領域LAを中心とした所定の領域を探索領域SAとするように、事前に設定することもできる。
【0036】
局所領域追跡部4は、探索領域SA内において、
図4Bに示されるように、フィッティング領域FAを移動させることで、画像2中から局所領域LAを推定する。
【0037】
具体的には、
図2に示される画像切り出し部42により、入力された座標に基づいて、入力画像1から局所領域LAを切り出し、入力画像2から探索領域SAを切り出す。そして、画像切り出し部42は、切り出した画像を第1動き推定部41に出力する。
【0038】
第1動き推定部41は、
図4Bに示されるように、探索領域SA内において局所領域LAと同じ大きさのフィッティング領域FAを生成する。そして、フィッティング領域FAと、入力画像1に含まれる局所領域LAの輝度の差分を比較する。具体的には、フィッティング領域FAに含まれるピクセルのフィッティング領域FA内における相対位置と、局所領域LAに含まれるピクセルの局所領域LA内における相対位置とを取得する。そして、フィッティング領域FA及び局所領域LAに含まれる全てのピクセルについて、相対位置が対応するピクセル同士の輝度の差分を算出し、これらを足し合わせる。例えば、局所領域LAに含まれるピクセルの輝度をY0、フィッティング領域FAに含まれるピクセルの輝度をY1とすると、かかる計算は、「Σ|Y
0−Y
1|」(Σ:各領域内における全ピクセルの総和)」によりなされる。第1実施形態では、かかる差分が推定誤差に相当する。ここで、かかる差分そのものを推定誤差にする代わりに、かかる差分を所定倍した値を推定誤差としてもよい。つまり、第1実施形態では、第1推定モードにおいて、第1画像に含まれるオブジェクト(局所領域LA)と第2画像に含まれる所定範囲(探索領域SA内のフィッティング領域FA)との輝度の差分に基づいて算出される値を推定誤差とすることができる。
【0039】
第1動き推定部41は、かかる計算を、フィッティング領域FAを探索領域SA内で1ピクセルずつずらしながら順次実行する。ここで、第1実施形態では、初めにフィッティング領域FAを探索領域SAの左上端にセットし、図中の右方向に1ピクセルずつずらしながらΣ|Y
0−Y
1|を計算していく。次に、フィッティング領域FAが探索領域SAの右上端まで到達すると、フィッティング領域FAを初期位置に戻した後、図中の下方向に1ピクセルずらした位置、つまり、1ライン下の位置にセットする。以下、フィッティング領域FAが探索領域SAの右下端に到達するまで、かかる計算を繰り返し実行する。
【0040】
次に、第1動き推定部41は、全ての位置におけるΣ|Y
0−Y
1|を比較し、最も値の小さくなったフィッティング領域FAの座標を特定する。そして、かかる座標で表される領域を、入力画像1に含まれる局所領域LAに相当する領域であると推定する。これは、輝度の差分が最も小さい領域が、入力画像1に含まれる局所領域LAに相当する可能性が最も高いためである。なお、入力画像1及び入力画像2において、局所領域LAが全く変化しない場合には、推定誤差は0となる。
【0041】
このように、局所領域追跡部4により局所領域LAの移動が追跡されることになる。
【0042】
<S3:外れフラッグ検出>
次に、S3において、追跡外れ検出部5により外れフラッグが検出されるか否かを判定する。ここで、外れフラッグの検出は所定の条件に基づいてなされる。
【0043】
例えば、2つの画像間において、局所領域LAが大きく移動した場合や、局所領域LAの輝度が大きく変化した場合等には、第1動き推定部41による局所領域LAの追跡が困難になる場合がある。このため、第1実施形態では、追跡困難な条件として所定の条件を設定しておき、かかる条件が満たされた場合(つまり、第1動き推定部41による局所領域LAの追跡が困難になった場合)に、追跡外れ検出部5は
外れフラッグを検出し、追跡困難である旨を表す外れフラッグシグナルを生成
する。
【0044】
ここで、所定の条件について、
図5を用いて説明する。
図5Aは、縦軸に局所領域LAの推定誤差(Σ|Y
0−Y
1|)を、横軸に画像のフレーム数をプロットしたグラフである。なお、
図5では、フレーム数が300まで、つまり、入力画像として画像1〜画像300まで入力された場合の例を示している。
【0045】
第1実施形態では、所定の条件を、「推定誤差が予め定められた値を上回る場合、又は、推定誤差が平均値の所定倍を上回る場合である」としている。より詳細には、「推定誤差が予め定められた値を上回り且つ平均値の所定倍を上回る場合」である。ここで、予め定められた値とは、この値を推定誤差が上回ると局所領域LAの追跡が困難になると考えられる閾値(絶対値)のことであり、任意の値を採用することができる。なお、第1実施形態では、一例として閾値を25,000としている。また、平均値とは、時系列順に並んだ複数の画像毎の動き量の平均値のことである。
図5Aでは、グラフ中の太線が平均動き量を表しており、その値は約5,000である。そして、平均動き量の所定倍とは、ユーザーにより任意に設定される係数であり、第1実施形態では、一例として3としている。
【0046】
つまり、第1実施形態では、推定誤差が25,000を上回り、且つ、推定誤差が15,000を上回る場合に、局所領域LAの追跡が困難であると判断される。
図5の例では、フレーム数が220のときにかかる条件が充足される。そして、
図5Bに示されるように、フレーム数が220のときに、追跡外れ検出部5により外れフラッグシグナルが生成される。そして、
図2に示されるように、追跡外れ検出部5は、外れフラッグシグナルをモード切替部7及び動き補償部8に出力する。
【0047】
S3における判定結果が「No」、つまり、外れフラッグが検出されない場合にはS4に進む。
【0048】
<S4:動き量を出力>
次に、S4において、
図2に示されるように、局所領域追跡部4は、後続のS5における動き補償を実行するための動き量(追跡動き量)を動き補償部8に出力する。
【0049】
<S5:動き補償>
そして、S5において、動き補償部8により補償処理が実行される。
【0050】
以下、
図6及び
図7を用いて、S4及びS5における処理、つまり、局所動き推定モードについて説明する。
【0051】
<局所動き推定モード>
図6は、局所動き推定モードにおける各種データの処理について説明するための図である。あわせて、領域設定部3、局所領域追跡部4及び動き補償部8に入出力される画像データを時系列順に並べたものである。
【0052】
まず、
図3のS1における処理により、領域設定部3によって局所領域LAの座標が生成される。
【0053】
入力画像1については、画像が1つしかないために局所領域LAの追跡ができないため、そのまま出力画像として画像1が出力される。
【0054】
次に、次フレームの入力画像である画像2が入力されると、画像1を表すデータとともに、画像2を表すデータが局所領域追跡部4に出力される。そして、局所領域追跡部4で推定された画像1と画像2間の動き量(動き量1)と、画像2を表すデータが動き補償部8に出力される。動き補償部8は、動き量1に基づいて、画像2に対して変換処理を施して画像2'を生成し、これを画像1の次の出力画像とする。
【0055】
ここで、
図7を用いて動き量に基づいた変換処理について説明する。
図7は、画像表示装置9に画像が表示されている状態を表し、
図7A,7C,7Eは入力画像を、
図7B,7D,7Fは出力画像を表す。ここで、図中のD1〜D3は画像1〜画像3の表示範囲を、D2'及びD3'は画像2'及び画像3'の表示範囲を表す。
【0056】
第1実施形態では、動き補償部8は、画像が表示される表示面の略中央に局所領域LAが表示されるように、画像の位置を補償する。具体的には、領域設定部3により設定された座標と、表示面の略中央の座標に基づいて、画像1を移動させる。ここで、第1実施形態では、説明の簡略化のため、表示面の略中央の座標を領域設定部3に入力した場合について説明する。つまり、
図7Aでは、予め局所領域LAが表示面の略中央に設定されている。
【0057】
図7A及び
図7Bに示されるように、画像1が入力された場合、そのまま画像1を出力する。ここで、局所領域LAの左上の位置P0(x0,y0)は、画像1に含まれる局所領域LAの位置を特定するものであり、位置P0を基準として補償処理を行うものである。
【0058】
次に、
図7Cに示されるように、画像1に含まれる局所領域LAが、画像2において(Δx1,Δy1)移動したとする。かかる移動量が、局所領域追跡部4により局所領域LAが追跡されることで計算される追跡動き量に相当する。また、局所領域追跡部4は、このときの局所領域LAの左上の位置P1(x1,y1)を記憶しておく。また、
図6に示されるように、局所領域追跡部4は、動き量1(Δx1,Δy1)を動き補償部8に出力する。
【0059】
動き補償部8は、局所領域LAの振動を抑制するために、画像2をD2ごと、動き量1(Δx1,Δy1)だけ移動させる。ここで、第1実施形態では、
図7中の右向きをx軸(+)、縦向きをy軸(+)とする。かかる処理は、P0(x0,y0)及びP1(x1,y1)を用いて実行される。具体的には、P1(x1,y1)の座標がP0(x0,y0)の座標に一致するように、画像2全体をレンダリングすることによりなされる。換言すると、動き補償部8は、画像2に対し、追跡動き量の逆位相だけ画像2を移動させることにより、局所領域LAの振動を抑制する。かかる処理が変換処理である。そして、変換処理により画像2'が生成され、画像2'を出力画像とする。ここで、第1実施形態では、D2ごと移動させているため、移動後における画像全体のうち画像表示装置9に表示される範囲であるD2'は、D2より小さくなる。なお、
図7Dにおけるハッチング部分は、画像が表示されない領域を表す。また、ハッチング部分は、黒色表示、モザイク表示、任意のイメージ表示又は任意の画像の縮小表示等とすることができる。
【0060】
なお、
図7Dのように、画像が表示されない領域を生成したくない場合には、画像を拡大し、ハッチング部分がなくなるように局所領域LAを表示面の略中央に移動させる構成としてもよい。
【0061】
図6に戻り、局所動き推定モードにおける各種データの処理の説明を続ける。画像3が入力されると、画像3を表すデータが局所領域追跡部4に出力される。なお、
図6においては、説明の都合上、画像2を表すデータ及び動き量1が局所領域追跡部4に出力されるように図示されているが、実際にはこれらのデータはすでに局所領域追跡部4が保持しているものである。
【0062】
局所領域追跡部4は、画像2と画像3間の動き量2を計算する。第1実施形態では、
図7Eに示されるように、画像3に含まれる局所領域LAの左上の位置P2(x2,y2)と、画像2におけるP1(x1,y1)より、動き量2は(Δx2,Δy2)である。ここで、
図7の例では、Δy2は負の値である。P2(x2,y2)の座標は、P0(x0,y0)及びP1(x1,y1)を用いて一意に特定される。そして、
図6に示されるように、局所領域追跡部4は、動き量2(Δx2,Δy2)を動き補償部8に出力する。
【0063】
動き補償部8は、
図7Fに示されるように、画像3をD3ごと、動き量1+動き量2(Δx2+Δx1,Δy2+Δy1)だけ移動させる。かかる処理は、P0(x0,y0)及びP2(x2,y2)を用いて実行される。具体的には、P2(x2,y2)の座標がP0(x0,y0)の座標に一致するように、画像3全体をレンダリングすることによりなされる。これにより画像3'が生成され、動き補償部8は、画像3'を画像2'の次の出力画像とする。
【0064】
次に、画像4が入力されると、画像2及び画像3と同様の処理を繰り返す。以降、画像が1つ入力される度に、かかる処理が最終フレームの入力画像が入力されるまで実行される。
【0065】
ここで、局所動き推定モードでは、P0(x0,y0)に合わせて後続の画像を変換しているため、画像2と画像3間の動き量2を計算する代わりに、画像1と画像3を比較することにより局所領域LAを追跡し、画像1と画像3間の動き量を直接求めることも可能である。しかし、局所領域LAの追跡は、画像1と画像3を比較する場合と比べ、画像2と画像3を比較する方が追跡精度が高くなる。これは、実際の画像では画像1,2,3・・・中に含まれる局所領域LA内の輝度は時々刻々と変化しており、なるべく直前の画像と比較する方が推定誤差(Σ|Y
0−Y
1|)が小さくなるためである。
【0066】
このように、局所動き推定モードでは、パターンマッチングを用いて、探索領域SA内において局所領域LAを追跡することが可能となる。
【0068】
S3における判定結果が「Yes」、つまり、外れフラッグが検出された場合には、追跡外れ検出部5は、モード切替部7及び動き補償部8に外れフラッグシグナルを出力し、S6に進む。
【0069】
そして、S6において、モード切替部7は、局所領域追跡部4及びグローバル動き推定部6にモード切替シグナルを出力し、画像処理装置1を局所動き推定モードからグローバル動き推定モードに切り替える。その後、グローバル動き推定モードにおいて算出された動き量を動き補償部8に出力し、局所動き推定モードと同様、S4及びS5に進む。
【0070】
以下、
図8〜
図10を用いて、S4〜S6における処理、つまり、グローバル動き推定モードについて説明する。
【0071】
<S6:グローバル動き推定モード>
グローバル動き推定モードは、第1及び第2画像の全体からオブジェクトの動き量を推定するものである。また、グローバル動き推定モードは、局所動き推定モードと異なり、局所領域LAの座標が設定されない。
【0072】
図9に示されるように、グローバル動き推定モードでは、局所領域LAという概念がないため、画像全体を複数の領域(
図9では9個)に分割し、画像全体としていずれの方向に移動しているかを推定する。つまり、グローバル動き推定モードでは、画像全体を動き推定の対象オブジェクトとみなし、かかるオブジェクトの動き量を推定するものである。なお、第1実施形態では、画像を9個の分割領域に分割した例を用いて説明する。
【0073】
第2動き推定部61は、パターンマッチングや特徴ベクトルを用い、分割領域毎の移動方向を推定する。ここで、分割領域毎の移動方向とは、分割領域に含まれる物体(オブジェクト)が移動する方向のことである。かかる推定手法は任意であるが、例えば、局所領域LAと同様の処理を分割領域毎に実行してもよい。具体的には、分割領域の中心を局所領域LAに設定し、分割領域の外周を探索領域SAに設定し、局所領域LAの追跡と同様の処理を9個の分割領域毎に実行することにより、分割領域毎の移動方向を推定することができる。そして、
図2に示される第2動き推定部61は、分割領域毎の移動方向が最も多い方向を、画像全体の移動方向として推定する。なお、
図9の例では、9個の分割領域のうち、6個の分割領域の移動方向が右上であるので、画像全体として右上に移動していると推定される。そして、分割領域毎の動き量の移動方向を考慮した平均を、画像全体の動き量として推定する。かかる動き量が、グローバル動き量に相当する。なお、動き推定が困難な分割領域があった場合でも、かかる領域を除いた他の領域の平均を計算することで、画像全体の動き量を推定することが可能となる。
【0074】
ここで、
図10を用いて、動き補正部62の意義について説明する。グローバル動き推定モードでは、局所動き推定モードと異なり局所領域LAの座標が設定されないので、動き補正部62による補正処理により、動き補償部8の変換処理を適切に実行するものである。
【0075】
図10A,10C,10E,10Gは入力画像を、
図10B,10D,10F,10Hは出力画像を表す。また、
図10では、説明の都合上、
図7における局所領域LAに対応する領域をオブジェクトOJTということにする。
【0076】
図10A及び
図10B示されるように、グローバル動き推定モードでも、画像1に対する処理は局所動き推定モードと同様である。
【0077】
図10Cに示されるように、画像1に対する画像2の動き量1が(Δx1,Δy1)であったとする。
図8に示されるように、第2動き推定部61は、動き量1(Δx1,Δy1)を動き補償部8及び動き補正部62に出力する。動き補償部8は、局所動き推定モードと同様に、画像2をD2ごと、動き量1(Δx1,Δy1)だけ移動させる
【0078】
続いて、
図10Eに示されるように、画像2に対する画像3の動き量2が(Δx2,Δy2)であったとする。ここで、
図10E中のOJT(10C)は、
図10CにおけるオブジェクトOJTの位置を表す。
【0079】
ここで、動き補償部8による変換処理を実行するにあたり、グローバル動き推定モードでは局所領域LAの座標が設定されていないので、画像2と画像3間のグローバル動き量の分だけ画像3を移動させたとしても、
図10Cに示される画像2の状態に戻ることになる。したがって、グローバル動き推定モードでは、1つ前のグローバル動き量、すなわち画像1と画像2間のグローバル動き量を用いることにより、画像3中のオブジェクトOJTの表示位置を画像1中のオブジェクトOJTの表示位置と略一致させることが可能となる。すなわち、動き補正部62は、動き量1(Δx1,Δy1)を補正量として用い、動き量2(Δx2,Δy2)に加えることにより、補正後動き量2'(Δx1'(=Δx2+Δx1),Δy1'(=Δy2+Δy1))を生成する。そして、
図8に示されるように、かかる補正後動き量2'(Δx1',Δy1')を動き補償部8に出力する。
【0080】
動き補償部8は、画像3をD3ごと、補正後動き量2'(Δx1',Δy1')だけ移動させる。ここで、
図10では、Δy2は負の値である。かかる処理は、画像3全体の座標にそれぞれ補正後動き量2'を加え、画像3全体をレンダリングすることによりなされる。これにより画像3'が生成され、動き補償部8は、画像3'を画像2'の次の出力画像とする。ここで、(Δx2',Δy2')が
図2における補正後グローバル動き量に相当する
【0081】
次に、
図10Gに示されるように、画像3に対する画像4の動き量3が(Δx3,Δy3)であったとする。ここで、
図10G中のOJT(10E)は、
図10EにおけるオブジェクトOJTの位置を表す。画像4に対する変換処理を実行するにあたり、1つ前の補正後動き量2'を用いることにより、画像4中のオブジェクトOJTの表示位置を画像1中のオブジェクトOJTの表示位置と略一致させることが可能となる。すなわち、動き補正部62は、補正後動き量2'(Δx2',Δy2')を補正量として用い、動き量3(Δx3,Δy3)に加えることにより、補正後動き量3'を生成する。そして、
図8に示されるように、かかる補正後動き量3'(Δx3'(=Δx3+Δx2'),Δy3'(=Δy3+Δy2'))を動き補償部8に出力する。
【0082】
動き補償部8は、画像4をD4ごと、補正後動き量3'(Δx3',Δy3')だけ移動させる。かかる処理は、画像4全体の座標にそれぞれ補正後動き量3'を加え、画像4全体をレンダリングすることによりなされる。これにより画像4'が生成され、動き補償部8は、画像4'を画像3'の次の出力画像とする。ここで、(Δx3',Δy3')が
図2における補正後グローバル動き量に相当する
【0083】
以降、画像が1つ入力される度に、かかる処理が最終フレームの入力画像が入力されるまで実行される。
【0084】
このように、グローバル動き推定モードでは、パターンマッチングを用いて、画像全体からオブジェクトの動き量を推定する。
【0086】
<S7:最終フレームか否かの判定>
動き補償部8による補償処理が終了した後、S7において、現在の画像が最終フレームの画像であるかが判定される。S7における判定結果が「No」、つまり、現在の画像が最終フレームの画像でない場合、S2に戻り、再びS5までの処理を繰り返し実行する。ここで、S6においてグローバル動き推定モードに切り替えられた場合でもS2に戻るのは、上述したとおり、局所領域LAの追跡が再び可能になったか否かを判定するためである。この場合、局所動き推定モードがグローバル動き推定モードに切り替えられているといえども、バックグラウンドで局所動き推定モードの処理を実行しているといえる。これにより、所定の条件が充足
されないときに、第2推定モードから第1推定モードに切り替えることが可能になる。
【0087】
一方、S7における判定結果が「Yes」、つまり、現在の画像が最終フレームの画像である場合、画像処理装置1による振動抑制処理を終了する。
【0088】
以上説明したように、第1実施形態に係る画像処理装置1は、所定の条件に基づいて、動き補償部8による変換処理が局所動き推定モードに基づいてなされるかグローバル動き推定モードに基づいてなされるかが決定される。したがって、局所領域LAの追跡が可能な場合には、計算量の少ない局所動き推定モードで画像処理を実行し、局所領域LAの追跡が困難な場合には、画像全体を利用するグローバル動き推定モードに切り替えられることにより、計算資源を節約しつつ、効率よく画像の振動を抑制することが可能となる。
【0089】
<第2実施形態>
次に、
図11及び
図12を用いて、本発明の第2実施形態に係る画像処理装置1について説明する。第2実施形態と第1実施形態の主な違いは、第2実施形態ではグローバル動き推定モードを利用しない点である。
【0090】
第2実施形態に係る画像処理装置1は、予め定められた探索領域SA内において、局所領域LAの動き量を推定する第1動き推定部41と、局所領域LAの動き量に基づいて、第1及び第2画像間での局所領域LAの振動を抑制するように第2画像に対して変換処理を施す動き補償部8と、を備える。第1動き推定部41は、探索領域SA内において局所領域LAを追跡することにより画像の動き量を推定する第1推定モードと、第1推定モードにおける探索領域SAより大きな領域に基づいて局所領域LAを追跡する第2推定モードと、を備える。
【0091】
図11に示されるように、第2実施形態における処理フローは、S1〜S5までは第1実施形態と同様であるので、その説明を省略する。以下、
図11のS6及びS7(探索領域SAの拡大)について、
図12を用いて説明する。なお、
図12において、探索領域SAに添えられた数字は、探索領域SAの拡大回数を表す。例えば、
図12A及び
図12Bに示される探索領域SA0は、拡大される前の探索領域SA(第1実施形態の探索領域SAに相当)を表す。また、
図12Cに示される探索領域SA1は、1回拡大された探索領域SAを表す。
【0092】
図12Aに示される入力画像と、次フレームの入力画像である
図12Bを比較すると、
図12Bに示される入力画像では、局所領域LAが探索領域SA1の外部に位置している。この場合、探索領域SA0内における推定誤差(Σ|Y
0−Y
1|)の最小値が大きくなり、
図5に示される所定の条件を充足しなくなる。換言すると、局所領域LAの追跡が困難となる。
【0093】
そこで、局所領域追跡部4は、図示しない領域拡大部により探索領域SA0を拡大し、新たに探索領域SA1を設定する。かかる状態を表したものが
図12Cである。つまり、第2実施形態では、探索領域SA拡大後の局所動き推定モードが、第2推定モードに相当する。
【0094】
そして、再び
図4に示される処理を実行することで、局所領域LAを追跡する。なお、探索領域SA1の大きさ及び位置は任意であり、画像の特性に応じて探索領域SA0を包含するように適宜設定してもよい。
【0095】
第2実施形態では、探索領域SA0を拡大し、第1推定モードから第2推定モードに切り替えることで、拡大前には追跡が困難であった局所領域LAを追跡することが可能となる。なお、必要に応じて、探索領域SAの拡大を所定回数繰り返してもよい。また、拡大された探索領域SAの大きさが画像全体の大きさと等しくなった場合には、計算量は多いものの、局所領域LAが画像内に位置している限り、精度よく局所領域LAの追跡を行うことが可能となる。
【0096】
次に、
図11を用いて、第2実施形態に係る処理フローについて説明する。
図11に示されるように、第2実施形態における処理フローは、S1〜S5までは第1実施形態と同様であるので、その説明を省略する。
【0097】
次に、S3において、追跡外れ検出部5により、外れフラッグが検出されるか否かを判定する。そして、S3における判定結果が「No」、つまり、外れフラッグが検出されない場合にはS5に進む。
【0098】
そして、S5において、動き量が局所領域追跡部4から動き補償部8に出力される。その後、S6において、動き補償部8により変換処理が実行される。一方、S3における判定結果が「Yes」、つまり、外れフラッグが検出された場合には、S6に進み、探索領域SAの拡大回数が上限に達したか否かを判定する。なお、かかる上限回数は任意の回数とすることができる。第2実施形態では、上限回数が3回である例について説明する。
【0099】
S6において、初期状態では拡大回数が0回である。このため、拡大回数の上限を上回らず、判定結果は「No」となる。そして、S7に進み、局所領域追跡部4により探索領域SA0が拡大され、探索領域SA1が設定される。その後、S2を経て再びS3に進む。そして、探索領域SA1が設定されたことにより局所領域LAの追跡が可能となった場合には、S4に進む。一方、探索領域SA1が設定されてもなお局所領域LAの追跡が困難となった場合、つまり、
図5に示される所定の条件を充足
する場合には、再びS6に進む。かかる処理を、探索領域SAの拡大回数の上限を上回るまで繰り返し実行する。
【0100】
そして、S6において拡大回数が上限を上回った場合、具体的には、すでに探索領域SA3が設定された状態でも局所領域LAの追跡が困難な場合には、S6における判定結果が「Yes」となり、S8に進む。つまり、探索領域SAを上限まで拡大しても局所領域LAを追跡できない場合には、補償処理を実行せず、そのまま画像を表示する。ここで、本実施形態では、探索領域SAの拡大回数上限を3回としたが、3回拡大された探索領域SA3の大きさを画像全体の大きさと等しく設定した場合には、S6における上限回数を上回った後にS4に進み、補償処理を実行することができる。
【0101】
その後、S8に進み、第1実施形態に関する
図3のS7と同様の処理を実行する。
【0102】
S8における判定結果が「Yes」、つまり、現在の画像が最終フレームの画像である場合、画像処理装置1による振動抑制処理を終了する。
【0103】
以上説明したように、かかる構成及び処理により、探索領域SAを拡大することで局所領域LAを精度よく追跡することが可能となる。これにより、計算資源を節約しつつ、効率よく画像の振動を抑制することが可能となる。
【0104】
ここで、第2推定モードに切り替えられた後において、予め定められた条件を満たさなくなった場合、例えば、探索領域SA2から外れた局所領域LAが直前の探索領域SA1内に位置することとなった場合には、探索領域SA1内において局所領域LAの追跡が可能になる場合がある。このような場合には、モード切替部7は、探索領域SAの大きさを1段階縮小し、局所領域LAの追跡を実行してもよい。また、局所領域LAが最初の探索領域SA内に位置することとなった場合には、第2推定モードから第1推定モードに切り替えるようにしてもよい。
【0105】
<第3実施形態>
次に、
図13を用いて、本発明の第3実施形態に係る画像処理装置1について説明する。第3実施形態に係る画像処理装置1は、第1実施形態及び第2実施形態の処理を組み合わせた処理を実行するものである。ここで、
図13におけるS1〜S7は、第2実施形態と同様であるので、その説明を省略する。
【0106】
第3実施形態では、S6における上限回数を上回った場合、具体的には、すでに探索領域SA3が設定された状態でも局所領域LAの追跡が困難な場合には、S6における判定結果が「Yes」となり、S8に進む。そして、S8において、第1実施形態に関する
図3のS6と同様に、グローバル動き推定モードに切り替える。
【0107】
そして、S4を経てS5、S9に進み、第1実施形態に関する
図3のS7と同様の処理を実行する。
【0108】
S9における判定結果が「Yes」、つまり、現在の画像が最終フレームの画像である場合、画像処理装置1による振動抑制処理を終了する。
【0109】
以上説明したように、第3実施形態に係る画像処理装置1では、探索領域SAを拡大することで局所領域LAを精度よく追跡することが可能となる。さらに、探索領域SAの拡大回数が上限を上回った場合でも、グローバル動き推定モードに切り替えることにより、動き補償部8による変換処理を継続することができる。
【0110】
<その他>
以上、種々の実施形態について説明したが、本発明に係る画像処理装置1はこれらに限定されない。例えば、第1推定モードと第2推定モードを切り替える条件として、「推定誤差が予め定められた値を上回る場合」のみを用いてもよい。あるいは、かかる条件として、「推定誤差が平均値の所定倍を上回る場合」のみを用いてもよい。さらに、画像の動き量の変動に応じて、
図5に示される閾値を動的に変更するようにしてもよい。例えば、画像の動き量が所定値以上となる回数が複数回連続した場合には、かかる閾値を大きくしてもよい。この場合、所定の条件として平均値を用いなくとも、局所領域LAの追跡精度が向上する。
【0111】
また、モード切替部7を省略することもできる。この場合、局所動き推定モードとグローバル動き推定モードを同時に実行し、動き補償部8においていずれのモードで推定された動き量に基づいて変換処理を実行するかを選択してもよい。
【0112】
また、局所動き推定モード及びグローバル動き推定モードにおける動き量の推定をパターンマッチングにより行うことに代えて、特徴ベクトルを用いてもよい。
【0113】
また、画像処理装置1は、PC、サーバ又はコンピュータもしくは表示装置に接続するセットトップボックスとして提供することができる。また、画像処理装置1を表示装置の内部に組み込むことも可能である。さらに、画像処理装置1の機能を実装したコンピュータ読み取り可能な非一時的な記録媒体として提供することもできる。また、制御装置1の機能を実現するプログラムを、インターネット等を介して配信することもできる。
【0114】
さらに、画像処理装置1を構成する各部は、同じ筐体に含まれてもよく、複数の筐体に分散配置されてもよい。