特許第5787456号(P5787456)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立国際電気の特許一覧

<>
  • 特許5787456-画像処理装置 図000002
  • 特許5787456-画像処理装置 図000003
  • 特許5787456-画像処理装置 図000004
  • 特許5787456-画像処理装置 図000005
  • 特許5787456-画像処理装置 図000006
  • 特許5787456-画像処理装置 図000007
  • 特許5787456-画像処理装置 図000008
  • 特許5787456-画像処理装置 図000009
  • 特許5787456-画像処理装置 図000010
  • 特許5787456-画像処理装置 図000011
  • 特許5787456-画像処理装置 図000012
  • 特許5787456-画像処理装置 図000013
  • 特許5787456-画像処理装置 図000014
  • 特許5787456-画像処理装置 図000015
  • 特許5787456-画像処理装置 図000016
  • 特許5787456-画像処理装置 図000017
  • 特許5787456-画像処理装置 図000018
  • 特許5787456-画像処理装置 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5787456
(24)【登録日】2015年8月7日
(45)【発行日】2015年9月30日
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
   H04N 5/21 20060101AFI20150910BHJP
   H04N 5/232 20060101ALI20150910BHJP
【FI】
   H04N5/21 B
   H04N5/232 Z
【請求項の数】12
【全頁数】26
(21)【出願番号】特願2015-500250(P2015-500250)
(86)(22)【出願日】2014年2月12日
(86)【国際出願番号】JP2014053167
(87)【国際公開番号】WO2014126093
(87)【国際公開日】20140821
【審査請求日】2015年5月22日
(31)【優先権主張番号】特願2013-26250(P2013-26250)
(32)【優先日】2013年2月14日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000001122
【氏名又は名称】株式会社日立国際電気
(72)【発明者】
【氏名】奥平 将俊
(72)【発明者】
【氏名】古藤 晴洋
【審査官】 佐田 宏史
(56)【参考文献】
【文献】 特開2012−104018(JP,A)
【文献】 特開2006−302115(JP,A)
【文献】 特開2011−229030(JP,A)
【文献】 特開2010−130291(JP,A)
【文献】 特開2003−187221(JP,A)
【文献】 清水 雅夫、外3名,“陽炎による遠方物体の不規則な変形を利用した超解像処理”,画像電子学会誌,日本,画像電子学会,2008年 7月25日,Vol.37, No.4,pp.387-395
【文献】 内山 寛之、外4名,“複数画像系列の部分画像選択に基づく移動物体を含まない車載カメラ映像の生成”,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,2011年12月 1日,Vol.J94-D, No.12,pp.2093-2104
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/409,5/21,5/232,7/18
H04N 5/00−5/50,7/20
(57)【特許請求の範囲】
【請求項1】
撮像結果を時系列の画像として出力する撮像部と、該撮像部から出力された時系列の画像が入力画像として入力され、該入力画像における画像の揺らぎを補正する画像補正部とを備える画像処理装置であって、
前記画像補正部は、
前記撮像部からの複数枚の時系列入力画像に基づき、該複数枚の時系列入力画像を平滑化して時間平滑画像を生成する時間平滑画像生成部と、
前記時間平滑画像生成部で生成された時間平滑画像に対し局所領域を設定し、該局所領域における前記時間平滑画像と、前記複数枚の時系列入力画像の部分領域との類似度を、決定する類似度決定部と、
前記類似度決定部で算出された類似度決定結果に基づき、前記時間平滑画像の局所領域の画像に類似する画像を有する前記入力画像の部分領域を、前記複数枚の時系列入力画像の部分領域から選択し、該選択した部分領域に基づき補正画像を生成する補正画像生成部と、
を備えることを特徴とする画像処理装置。
【請求項2】
請求項1に記載された画像処理装置であって、
前記類似度決定部は、前記時間平滑画像に対し複数の局所領域を設定し、該複数の局所領域における前記時間平滑画像のそれぞれと、前記複数枚の時系列入力画像の部分領域との類似度を決定し、
前記補正画像生成部は、前記類似度決定部で算出された類似度決定結果に基づき、前記複数の局所領域の画像に類似する画像を有する前記入力画像の部分領域を、前記複数枚の時系列入力画像の部分領域から選択し、該選択した複数の部分領域に基づき補正画像を生成することを特徴とする画像処理装置。
【請求項3】
請求項1に記載された画像処理装置であって、
前記類似度決定部は、前記入力画像において前記部分領域を探索するための探索範囲を設定し、該探索範囲内において、前記局所領域における前記時間平滑画像と、前記入力画像との類似度を決定することを特徴とする画像処理装置。
【請求項4】
請求項3に記載された画像処理装置であって、
前記類似度決定部は、前記局所領域における動きベクトルに基づき、前記探索範囲を設定することを特徴とする画像処理装置。
【請求項5】
請求項2に記載された画像処理装置であって、
前記補正画像生成部は、前記選択した複数の部分領域を平滑化することを特徴とする画像処理装置。
【請求項6】
請求項2に記載された画像処理装置であって、
前記画像補正部は、さらに、
前記撮像部からの入力画像を、移動体領域と移動体通過直後領域とから構成される移動体及び通過領域と、移動体及び通過領域以外の領域である背景領域とに分類する領域分類部と、
前記移動体及び通過領域においては、前記撮像部からの入力画像を選択し、前記背景領域においては、当該画像補正部において補正した補正画像を選択し、該選択された入力画像と補正画像とを合成する選択合成部と、
を備えることを特徴とする画像処理装置。
【請求項7】
請求項6に記載された画像処理装置であって、
前記画像補正部は、さらに、
前記撮像部からの複数枚の時系列入力画像と前記領域分類部からの領域分類結果とに基づき、前記背景領域における複数枚の時系列入力画像を平滑化して移動体除去画像を生成する移動体除去画像更新部を備え、
前記領域分類部は、前記撮像部からの入力画像を、前記移動体領域と、前記移動体通過直後領域と、前記背景領域とに分類し、
前記選択合成部は、前記移動体領域においては、前記撮像部からの入力画像を選択し、前記移動体通過直後領域においては、前記移動体除去画像更新部で生成した移動体除去画像を選択し、前記背景領域においては、当該画像補正部において補正した補正画像を選択し、該選択された入力画像と移動体除去画像と補正画像とを合成することを特徴とする画像処理装置。
【請求項8】
請求項7に記載された画像処理装置であって、
前記画像補正部は、さらに、
前記撮像部からの複数の時系列入力画像間の差分と、前記撮像部からの入力画像と前記時間平滑画像生成部からの時間平滑画像との間の差分とを計算するヒストグラム解析部を備え、
前記領域分類部は、前記ヒストグラム解析部が算出した差分に基づき、前記領域分類を行うことを特徴とする画像処理装置。
【請求項9】
請求項1に記載された画像処理装置であって、
前記時間平滑画像生成部は、指数移動平均又は加重移動平均あるいは単純移動平均を用いて前記時間平滑画像を生成することを特徴とする画像処理装置。
【請求項10】
請求項1に記載された画像処理装置であって、
前記類似度決定部は、差分絶対値和を用いたブロックマッチングにより前記類似度を決定することを特徴とする画像処理装置。
【請求項11】
請求項1に記載された画像処理装置であって、
前記補正画像生成部は、前記選択した複数枚の時系列入力画像の部分領域を、重ね合わせずに組み合わせて補正画像を生成することを特徴とする画像処理装置。
【請求項12】
請求項1に記載された画像処理装置であって、
前記補正画像生成部で生成した補正画像を表示する画像表示部を備え、
前記画像表示部には、画像補正のリアルタイム処理が可能な画像補正領域が表示され、該画像補正領域が、操作者の操作により大きさ変更可能又は移動可能であり、
前記類似度決定部は、前記画像補正領域内でのみ前記類似度の決定を行い、
前記補正画像生成部は、前記画像補正領域内でのみ前記補正画像を生成し、
前記時間平滑画像生成部は、前記画像補正領域の大きさと無関係に、前記撮像部からの入力画像全体に対して前記時間平滑画像を生成することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、陽炎等による画質劣化を抑え、画質改善することを目的とした画像処理技術に関する。
【背景技術】
【0002】
昨今のカメラには、撮影した画像の解像度を向上させる超解像処理や、画像に含まれる霞を除去して視認性を向上させる霞除去処理等、様々な画像処理技術が導入されている。特に、本発明に関連する画像処理技術として特許文献1や特許文献2が知られている。これらの特許文献では、入力画像を時間領域でフィルタ処理(平均化)することで画像を再構成する点で共通しており、特許文献1では、この再構成画像を参照して入力画像のずれ(動きベクトル)を求めて補正し、特許文献2では、再構成画像をそのまま出力とするものである。
【0003】
ここで、特許文献1の技術(従来技術1)を図16乃至18を参照して概説する。
特許文献1では、図16に示す順序で画像処理を行っている。すなわち、最初に参照画像を推定し(S51)、次にオプティカルフロー(動きベクトル)を計算し(S52)、最後に動き補正を行っている(S53)。
S51における参照画像の推定では、入力画像の指数移動平均により行う方法が示されている。指数移動平均の特性として、逐次入力される入力画像の高周波成分を低減する効果があるため、これにより推定された参照画像は、移動する物体、陽炎による揺らぎなどが取り除かれ、動きのない画像となる。
【0004】
次に、S52におけるオプティカルフローの計算では、図17に示すように、入力画像と参照画像間のブロックマッチング(以降、BMともいう。)により、入力画像の局所領域(例えば縦5画素、横5画素)の動きベクトルを推定する。この動きベクトルを、局所領域の中心点(注目画素)の動きベクトルとしている。図17の例では、例えば、参照画像171の局所領域と類似する(つまり、BMのとれる)入力画像172の局所領域1(縦5画素、横5画素)が、対応する参照画像の位置から移動した方向と量を、局所領域1の中心点である注目画素1の動きベクトル1として表している。
【0005】
S53における動き補正では、図18に示すように、前記推定された動きベクトルに従って、入力画像の局所領域1〜3を移動させ、該移動させた局所領域1〜3を重ね合わせる。このように、部分画像の重ね合わせにより補正された画像を生成している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2012−104018号公報
【特許文献2】特開2011−229030号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1や特許文献2によれば、カメラで撮影された画像が陽炎等によって劣化した場合にも、陽炎等の影響を補正することにより画質を改善し、良好な画像を得ることができる。
しかしながら、特許文献1による補正の場合、ある時刻の入力画像の空間的位置が異なる局所領域を重ね合わせることによってその時刻の補正画像を生成するため、重ね合わせの平滑効果により補正画像の解像感が低下するという課題がある。
また、入力画像は陽炎等によって歪んでいるためその局所領域も歪んでいる。従って、この歪んだ局所領域を入力画像内で探索すると、間違った領域が類似度の高い領域として検出されたりするため、それらを重ね合わせて生成した補正画像が歪み、画質が劣化するという課題がある。
本発明の目的は、前記課題に鑑み、従来技術の画像処理時に発生していた解像感の低下や画像歪みによる画質劣化を抑えつつ、陽炎等の影響を補正することで画質改善する画像処理装置を提供することにある。なお、これ以降、陽炎を含む画像が揺らぐ状態を「陽炎」という言葉で代表して述べることがある。装置の構成や動作の説明で顕著に表れるが、この技術は画像の揺らぎ全般に適用される。
【課題を解決するための手段】
【0008】
前記課題を解決するための、本発明に係る画像処理装置の代表的な構成は、次のとおりである。すなわち、
撮像結果を時系列の画像として出力する撮像部と、該撮像部から出力された時系列の画像が入力画像として入力され、該入力画像における画像の揺らぎを補正する画像補正部とを備える画像処理装置であって、
前記画像補正部は、
前記撮像部からの複数枚の時系列入力画像に基づき、該複数枚の時系列入力画像を平滑化して時間平滑画像を生成する時間平滑画像生成部と、
前記時間平滑画像生成部で生成された時間平滑画像に対し局所領域を設定し、該局所領域における前記時間平滑画像と、前記複数枚の時系列入力画像の部分領域との類似度を、決定する類似度決定部と、
前記類似度決定部で算出された類似度決定結果に基づき、前記時間平滑画像の局所領域の画像に類似する画像を有する前記入力画像の部分領域を、前記複数枚の時系列入力画像の部分領域から選択し、該選択した部分領域に基づき補正画像を生成する補正画像生成部と、
を備えることを特徴とする画像処理装置。
【発明の効果】
【0009】
上記の構成によれば、従来技術1を使用した場合に発生する解像感の低下や画像の歪みを抑え、解像感を保ったまま陽炎等の影響を補正し画質を向上させることができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態に係る補正画像生成を説明する図である。
図2】本発明の実施形態の比較例に係る類似度計算を説明する図である。
図3】本発明の実施形態に係る類似度計算を説明する図である。
図4】本発明の実施形態の第1実施例に係る画像処理装置の構成図である。
図5】本発明の実施形態の第1実施例に係る陽炎補正部の構成図である。
図6】本発明の実施形態の第1実施例に係る時間平滑画像生成部の構成図である。
図7】本発明の実施形態の第1実施例に係る類似度決定部の構成図である。
図8】本発明の実施形態の第1実施例に係る補正画像生成部の構成図である。
図9】本発明の実施形態の第1実施例に係る画像処理の流れを説明する図である。
図10】本発明の実施形態の第2実施例に係る画像処理装置の構成図である。
図11】本発明の実施形態の第3実施例に係る画像処理装置の構成図である。
図12】本発明の実施形態の第3実施例に係る画像処理装置内のデータの流れを説明する図である。
図13】本発明の実施形態の第3実施例に係る陽炎補正領域を説明する図である。
図14】本発明の実施形態の第3実施例に係る陽炎補正可能なブロック数の算出方法を説明する図である。
図15】本発明の実施形態の第3実施例に係るキャリブレーション処理の流れを説明する図である。
図16】従来例に係る画像処理の流れを説明する図である。
図17】従来例に係る動きベクトル推定処理を説明する図である。
図18】従来例に係る補正画像生成処理を説明する図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態における画像処理装置を説明する。本実施形態では、陽炎による画像の揺らぎを補正する画像処理装置について説明する。
本実施形態の画像処理装置は、入力画像を時系列に足し込んで平滑化した時間平滑画像を生成し、入力画像と時間平滑画像間の局所領域における類似度を、差分絶対値和(以下、SAD: Sum of Absolute Difference)等を用いたBM(ブロックマッチング)によって評価する。このとき、ある時刻の入力画像に加えその時刻の前後の複数時刻の入力画像も使って時間平滑画像との間で類似度計算を行い、最も類似度の高い入力画像の局所領域を検出する。この処理を、時間平滑画像の全体領域又は一部領域に対して行い、図1に示すように、検出した局所領域を(重ね合わせずに)組み合わせて生成した画像を補正画像とする。このような処理により、解像感の低下を防ぐことができる。図1は、本発明の実施形態に係る補正画像生成を説明する図である。図1においては、複数時刻の入力画像から、最も類似度の高い局所領域である最適局所領域1〜3を選択し、補正画像を生成している。
【0012】
前記画像処理は、陽炎による画像の揺らぎが、揺らぎがなければ本来表示されたであろう正しい位置を中心に対称になるという性質に基づく。以降、この表示されたであろう位置を平均位置と呼ぶ。また、補正されるべき画像(これは物体のエッジ(部分)であることが比較的多い)のことを対象画像と呼ぶ。そして、ある時刻の入力画像の局所領域が、揺らぐ画像の平均位置からかけ離れている場合を考慮したものである。複数枚の時系列画像を使うことにより、陽炎により揺らぐ画像の平均位置、つまり、その画像の正しい位置に近い画像を有する局所領域を捉える可能性を向上させ、その結果、補正画像の画質を改善するものである。
【0013】
図2は、本実施形態の比較例に係る類似度計算を説明する図であり、ある時刻の入力画像IN(n)のみを使って類似度計算を行った場合を示している。図2(a)は、時間平滑画像AV(n)を示し、21aは処理対象の局所領域、21bは対象画像である。時間平滑により、揺らいだ線が本来表示されたであろう正しい位置に補正されている。図2(b)は、入力画像IN(n)を示し、22aは、処理対象局所領域21aと類似する画像領域を探索する範囲、22bは対象画像である。揺らぎで線が歪んでいる。
図2(c)に示すように、入力画像IN(n)の対象画像22bは、陽炎により揺らぐため、対象画像22bの平均位置からかけ離れている。そのため、この1枚の入力画像IN(n)と時間平滑画像AV(n)の処理対象局所領域との間で類似度計算を行うと、本来検出すべき類似度の高い領域が存在しないので、偶然に類似度が高くなった他の間違った領域が選択され、該選択された部分画像から生成した補正画像の画質が劣化する。
【0014】
図3は、本実施形態に係る類似度計算を説明する図である。図3(a)は、時間平滑画像AV(n)を示し、31aは処理対象の局所領域、31bは対象画像である。図3(b)は、複数の入力画像IN(n)〜IN(n−4)を示し、32a(n)〜32a(n−4)は、処理対象局所領域31aと類似する画像領域を探索する範囲、32b(n)〜32b(n−4)は対象画像である。入力画像の時刻の違いにより、本来表示されたであろう正しい位置から左右に揺らいでいる。図3は、ある時刻の入力画像IN(n)に加え、その時刻の前の複数時刻の入力画像IN(n−1)〜IN(n−4)も使って類似度計算を行った場合を示している。
【0015】
図3(c)に示すように、ある時刻の入力画像IN(n)の対象画像32b(n)は、陽炎により揺らぐため、対象画像32b(n)の平均位置からかけ離れているが、その揺らぎは平均位置に対して対称となる性質があることから、別の時刻の入力画像IN(n−2)における対象画像32b(n−2)は、より平均位置に近い状態となっている。したがって、時刻の異なるこれら複数枚の入力画像IN(n)〜IN(n−4)と時間平滑画像AV(n)の処理対象局所領域との間で類似度計算を行うと、より類似度の高い入力画像IN(n−2)の領域が選択され、該選択された領域の画像(部分画像)から生成した補正画像の画質を改善することができる。
なお、図2図3の説明では、陽炎により揺らぐ範囲を考慮した探索範囲を設定することにより、類似度計算の処理量を削減している。陽炎により揺らぐ範囲は、例えば、類似度計算で局所領域の動きベクトルを推定するようにしておきそこから推定しても良いし、定数または変数にしても良い。
【0016】
さらに、上述の説明では、複数の入力画像の局所領域のうち、類似度計算によって類似度が最も高いと判定された局所領域を補正画像に使うことにしているが、例えば、類似度が高い順に複数の時系列入力画像の局所領域を、解像感が失われない範囲で平滑化して使っても良い。これにより、類似度が高い(似ている)画像同士のみを平滑化することで解像感の低下を最小限に抑えつつ、生成した補正画像の局所領域間の境界をなめらかにする、つまり、複数の局所領域から生成した補正画像の継ぎ目を目立たなくすることができる。さらに、時間平滑画像AV(n)に対し、入力画像IN(n−2)、IN(n−1)、IN(n)、IN(n+1)、IN(n+2)、対象画像32b(n−2)、32b(n−1)、32b(n)、32b(n+1)、32b(n+2)を用いて、AV(n)の前後2つの時刻を対象にした合計5つの入力画像と対象画像のペアで補正処理をしても構わない。
【0017】
(第1実施例)
図4は、本実施形態の第1実施例に係る画像処理装置の構成図である。第1実施例に係る画像処理装置は、本発明を望遠カメラ監視システムに適用した場合の例である。
この望遠カメラ監視システムは、図4に示すように、望遠カメラと映像モニタ等から構成される。望遠カメラは、レンズを含み撮像結果を時系列の画像として出力する撮像部41と、撮像部41から出力された時系列の画像が入力画像として入力され、該入力画像における画像の揺らぎを補正する画像補正部としての陽炎補正部42とを備える。陽炎補正部42は、撮像部41から出力された画像の陽炎による影響を補正し、補正画像を画像表示部43に出力する。この望遠カメラ監視システムにおいては、少なくとも所定時間、撮影対象に対しカメラの向きを固定する。つまり、撮像部41から出力された画像は、少なくとも所定時間、同じ位置の画像である。もしくは、移動する撮影対象を追尾し続け、画像表示部43の一定位置に止まって表示されるようにカメラの向きや位置を移動する。
【0018】
図5は、第1実施例に係る陽炎補正部42の構成図であり、機能ブロックを示している。陽炎補正部42は、時間平滑画像生成部50と、類似度決定部60と、補正画像生成部70とを備える。
時間平滑画像生成部50は、撮像部41から逐次入力される複数枚の時系列画像に基づき、該複数枚の時系列入力画像を平滑化して時間平滑画像を生成する。平滑化の手法は様々知られているが、例えば指数移動平均、加重移動平均、単純移動平均等を適用することができる。時間平滑画像生成部50で生成された時間平滑画像と撮像部41からの時系列入力画像は、類似度決定部60に入力される。
【0019】
類似度決定部60は、時間平滑画像生成部50で生成された時間平滑画像に対し局所領域を設定し、該局所領域における時間平滑画像と、複数枚の時系列入力画像の部分領域との間の類似度を決定する。このとき、類似度決定部60は、複数枚の時系列入力画像それぞれに対してあらかじめ設定された探索範囲で、時間平滑画像の処理対象局所領域との類似度を計算し決定する。
【0020】
補正画像生成部70は、類似度決定部60から出力される類似度計算結果に基づき、複数枚の入力画像から陽炎補正に最適な部分領域(局所領域)を選択する。この処理を時間平滑画像の全体もしくは一部の領域に対して行い、選択された部分領域の画像(部分画像)を(重ね合わせずに)組み合わせて生成し、該生成した画像を補正画像として出力する。このように、補正画像生成部70は、類似度決定部60で算出された類似度決定結果に基づき、時間平滑画像の局所領域の画像に類似する画像を有する入力画像の部分領域を、複数枚の時系列入力画像の部分領域から選択し、該選択した部分領域に基づき補正画像を生成する。
【0021】
以下で陽炎補正部42内の各ブロックについて詳細を説明する。
図6は、第1実施例に係る時間平滑画像生成部50の構成図である。時間平滑画像生成部50は、時間平滑画像保持部51、乗算器52、乗算器53、加算器54を備える。図6の例の時間平滑画像生成部50では、撮像部41から逐次入力される時系列画像を指数移動平均により平滑化することで、陽炎による揺らぎを取り除いた画像を生成している。
【0022】
指数移動平均による平滑化処理は、次の数式1で表される。

AV(n)=r×IN(n)+(1−r)×AV(n−1)・・・数式1

この平滑化処理において、ある時刻の入力画像IN(n)は、乗算器53で各画素値がr倍され、一方、時間平滑画像保持部51で保持されている時系列順で1つ前の時間平滑画像AV(n−1)が乗算器52で(1−r)倍され、これらの出力が加算器54で加算される。そして、加算器54の出力は、新たな時間平滑画像AV(n)として後段に出力されるとともに、時間平滑画像保持部51の画像を更新する。数式1のAV(n)はn番目の時間平滑画像、IN(n)はn番目の入力画像を表す。この場合、時間平滑画像生成部50は、無限インパルス応答(IIR)フィルタとなる。
【0023】
図7は、第1実施例に係る類似度決定部60の構成図である。類似度決定部60は、時間平滑画像保持部61と、入力画像保持部62と、類似度計算部としてのBM計算部63と、類似度計算結果保持部としてのBM計算結果保持部64とを備える。時間平滑画像保持部61は、時間平滑画像生成部50から出力される時間平滑画像を保持する。入力画像保持部62は、撮像部41から逐次入力される時系列入力画像(画像フレーム)を保持する。BM計算部63は、時間平滑画像をN×N画素単位の局所領域に分割し、それぞれの局所領域について、入力画像保持部62に保持されている複数枚の時系列入力画像それぞれに対して、あらかじめ設定された探索範囲で類似度計算を行う。この探索範囲は、局所領域を含み、局所領域よりも広い範囲となるように、BM計算部63により設定される。このように、類似度決定部60は、入力画像において部分領域を探索するための探索範囲を設定し、該探索範囲内において、局所領域における時間平滑画像と入力画像との類似度を決定する。以上により、補正画像生成部70が、時間平滑画像での局所領域を基準として、その局所領域に類似する部分画像を各時系列入力画像から探索することを可能にする。処理対象局所領域の類似度評価には、例えばSADを用いることができる。
【0024】
BM計算部63の計算結果は、例えば局所領域毎に、最小SAD値を得た入力画像番号、入力画像上の位置およびそのSAD値を対応付ける様態で、BM計算結果保持部64で保持される。例えば、時間平滑画像番号5の時間平滑画像の局所領域番号1の局所領域において、入力画像番号2の入力画像のある位置(2,3)で最小SAD値57を得た場合、時間平滑画像番号5と局所領域番号1と入力画像番号2と最小SAD値57と入力画像上の位置(2,3)とを対応付けるように、BM計算結果保持部64で保持される。ここで、時間平滑画像番号は、時間平滑画像を特定する番号である。局所領域番号は、時間平滑画像の局所領域を特定する番号である。入力画像番号は、入力画像を特定する番号である。入力画像上の位置は、最小SAD値を得た入力画像上の位置であり、例えば相対座標(x,y)で表される。
【0025】
図8は、第1実施例に係る補正画像生成部70の構成図である。補正画像生成部70は、最適局所領域選択部71と補正画像保持部72とを備える。最適局所領域選択部71は、類似度決定部60のBM計算結果保持部64に保持されているBM計算結果に基づき、BM計算を行った時間平滑画像のN×N画素単位の局所領域毎に、最も類似度の高い部分領域(局所領域と同サイズである)を、入力画像保持部62に保持されている複数枚の時系列入力画像の中から選択し、最適局所領域として、入力画像保持部62から読み出す。その後、最適局所領域選択部71は、時間平滑画像の局所領域毎にそれぞれ選択された複数の最適局所領域を、時間平滑画像の全領域に亘り貼り合わせた画像を生成し、これを補正画像として補正画像保持部72に保持する。補正画像保持部72は、保持した補正画像を、画像モニタの画像表示部43へ出力する。
【0026】
以上の処理をまとめると、図9の処理フローとなる。図9は、第1実施例に係る陽炎補正部42の画像処理の流れを説明する図である。なお、本明細書において、局所領域と部分領域は、1枚の画像フレーム内の一部の領域という意味において同じであるが、説明を解り易くするため、時間平滑画像に対しては局所領域を用い、入力画像に対しては部分領域を用いることがある。
まず、時間平滑画像生成部50が、数式1の平滑化処理により、時間平滑画像を生成する(ステップS1)。次に、類似度決定部60が、ステップS2〜S7の処理により、時間平滑画像の局所領域のそれぞれに対し、複数の時系列入力画像の類似度を計算し決定する。次に、補正画像生成部70が、時間平滑画像の局所領域のそれぞれに対し最も類似度の高い最適部分領域(最適局所領域)を、複数の時系列入力画像の中から選択し、該選択した複数(局所領域の数)の最適部分領域(最適局所領域)を重ならないように組み合わせて、補正画像を生成する。
【0027】
詳しく説明すると、ステップS1の後、類似度決定部60は、時間平滑画像の1つ目の処理対象局所領域において、該1つ目の処理対象局所領域の画像と、1枚目の時系列入力画像において設定された探索範囲内の部分領域の画像との類似度を計算する(ステップS2)。類似度決定部60は、指定された探索範囲内の全ての部分領域に対し、類似度計算が終了したか否かを判断し(ステップS3)、終了していない場合は(ステップS3でNo)、ステップS2に戻り、設定された探索範囲内の部分領域の類似度計算を続行する。
【0028】
設定された探索範囲内の部分領域の類似度計算が終了した場合は(ステップS3でYes)、類似度計算を行った処理対象局所領域が、時間平滑画像の最後の処理対象局所領域であるか否かを判断し(ステップS4)、最後の処理対象局所領域でない場合は(ステップS4でNo)、処理対象局所領域を時間平滑画像の次の局所領域へ移し(ステップS5)、ステップS2に戻り、次の局所領域の類似度計算を行う。
【0029】
時間平滑画像の最後の処理対象局所領域である場合は(ステップS4でYes)、類似度計算を行った入力画像が、複数の時系列画像のうち最後の入力画像であるか否かを判断し(ステップS6)、最後の入力画像でない場合は(ステップS6でNo)、処理対象を次の入力画像へ移し(ステップS7)、ステップS2に戻り、次の入力画像の類似度計算を行う。
【0030】
最後の入力画像である場合は(ステップS6でYes)、補正画像生成部70は、時間平滑画像の局所領域のそれぞれに対し、最も類似度の高い入力画像の部分領域(最適局所領域)を選択し(ステップS8)、該選択した複数の部分領域(最適局所領域)を重ならないように組み合わせて、補正画像を生成する(ステップS9)。その後、ステップS1へ戻る。
【0031】
以上説明した第1実施例によれば、少なくとも次の(A1)〜(A3)の効果を得ることができる。
(A1)時間平滑画像の各局所領域に対し、複数の時系列入力画像の中から、類似度の高い部分領域を選択し、これらを組み合わせて補正画像を生成するので、従来よりも解像感の低下や画像の歪みを抑えることができる。
(A2)入力画像に対し、時間平滑画像の局所領域よりも広く入力画像全域よりも狭い探索範囲を設定するので、入力画像全域を探索する場合に比べ、類似度計算の処理量を削減できる。
(A3)補正画像生成に用いる入力画像の部分領域として、類似度が高い複数の時系列入力画像の部分領域を、解像感が失われない範囲で平滑化して使用するように構成した場合は、複数の部分領域から生成した補正画像の継ぎ目を目立たなくすることができる。
【0032】
(第2実施例)
第2実施例に係る画像処理装置について説明する。本例の画像処理装置は、例えば第1実施例と同様の望遠カメラ監視システムであるが、入力画像を2種類以上のカテゴリに分類して陽炎補正を行う点などで、第1実施例と異なる。即ち、画像の変形に対してロバストなヒストグラム比較手法により、陽炎条件下でも背景画像と移動体画像とを正確に区別する。例えば、入力画像を、移動体領域と、背景領域と、移動体通過直後領域とに分類し、分類に応じた画像処理(フィルタ処理)を行う。例えば背景領域では、第1実施例と同様の陽炎補正をした画像を出力とし、その他の領域では入力画像そのもの或いは移動体除去画像を出力とすることなどを特徴とする。
【0033】
図10は、本実施形態の第2実施例に係る画像処理装置の構成図であり、第1実施例における陽炎補正部42に相当する陽炎補正装置の構成図である。この陽炎補正装置は、入力画像メモリ81と、時系列平滑化画像メモリ82と、移動体除去画像メモリ83と、時系列平滑化画像更新部84と、ヒストグラム解析部85と、領域分類部86と、陽炎補正部87と、移動体除去画像更新部88と、選択合成部89と、陽炎歪み計算部90と、パラメータ最適化部91と、を有する。
【0034】
入力画像メモリ81は、複数の時系列入力画像を保持する。時系列平滑化画像更新部84は、入力画像メモリ81から出力された複数の時系列入力画像に基づき、時系列平滑化画像を作成する。この時系列平滑化画像は、第1実施例の時間平滑画像と同じであり、時間平滑画像と呼ぶこともある。時系列平滑化画像メモリ82は、時系列平滑化画像更新部84で作成された時系列平滑化画像、つまり、時間的に近い複数枚の時系列入力画像の画面内の全画素を平滑化した時系列平滑化画像を保持する。
【0035】
図10に示す時系列平滑化画像メモリ82の画像中の82aは、移動体が通過した直後の領域を示す移動体通過直後領域である。82bは、移動体の領域を示す移動体領域である。移動体は、時系列平滑化処理中に移動するため、移動体通過直後領域82aと移動体領域82bは、ぼやけた画像になる。図10では、説明の便宜上、移動体通過直後領域82aと移動体領域82bを区別して示しているが、実際の時系列平滑化画像では区別できない。移動体通過直後領域82aと移動体領域82bとを合わせた領域を、移動体及び通過領域82cと称する。図10に示す時系列平滑化画像メモリ82の画像において、移動体及び通過領域82c(82aと82bとを合わせた部分)を除いた部分が、背景領域82dである。
【0036】
ヒストグラム解析部85は、2種類の画像の部分画像に対してそれぞれヒストグラムを作成し、両画像間の類似性を評価するための差分を計算する。例えば、入力画像メモリ81から出力された2枚の時系列入力画像の部分画像に対して、それぞれヒストグラムを作成し、その差分を計算することにより、2枚の時系列入力画像間の類似性を評価する。また、入力画像メモリ81から出力された入力画像の部分画像と、時系列平滑化画像メモリ82の時系列平滑化画像の部分画像とに対して、それぞれヒストグラムを作成することで、入力画像と時系列平滑化画像との類似性を評価するための差分を計算する。
【0037】
領域分類部86は、ヒストグラム解析部85によって計算された差分に基づいて、領域分類を行う。領域分類部86は、入力画像メモリ81から出力された直近の入力画像と過去の入力画像の、2枚の時系列入力画像間の差分(つまり、類似性)に基づき、移動体画像の領域(移動体領域82b)であるか否かの領域分類を、最低でもブロック(第1実施例のN×N画素単位の局所領域に相当)単位で行う。差分が大きいと、移動体画像もしくはそれに準ずる領域と判断する。
また、領域分類部86は、入力画像メモリ81から出力された直近の入力画像と時系列平滑化画像との差分に基づき、移動体及び通過領域82cであるかそれとも背景領域82dであるかの領域分類を、最低でもブロック(第1実施例のN×N画素単位の局所領域に相当)単位で行う。差分が小さいと、背景領域と判断する。
そして、以上の領域分類結果に基づき、領域分類部86は、移動体通過直後領域82aであるか移動体領域82bであるかそれとも背景領域82dであるかの領域分類を、最低でもブロック(第1実施例のN×N画素単位の局所領域に相当)単位で行う。
【0038】
このように、本例では、ヒストグラム解析部85や領域分類部86等の機能により、上記の領域分類(移動体領域82bであるか又は移動体通過直後領域82aであるか或いは背景領域82dであるかの判断)を、最低でもブロック(第1実施例のN×N画素単位の局所領域に相当)単位で行い、それらの領域分類結果を、陽炎補正部87、移動体除去画像更新部88、選択合成部89、陽炎歪み計算部90へ出力する。
【0039】
陽炎補正部87は、第1実施例の類似度決定部60と補正画像生成部70に相当する機能を有し、時系列平滑化画像メモリ82から出力された時系列平滑化画像を参照して、第1実施例と同様の陽炎除去処理を、入力画像メモリ81から出力された複数の時系列入力画像に施す。陽炎補正部87は、現在の入力画像で移動体及び通過領域82cではないと判断された領域(つまり、背景領域82d)において動作して、背景領域82dにおける補正画像を、選択合成部89に出力するとともに、必要に応じブロックマッチング(BM)で求めた現在の入力画像の動きベクトルを、陽炎歪み計算部90に出力する。また、陽炎歪み計算部90から与えられる歪みの強さにより、ブロックマッチングの探索範囲を適応的に制御する。
【0040】
移動体除去画像更新部88は、入力画像メモリ81から出力された入力画像或いは出力画像92を入力され、領域分類部86により背景領域82dと判断された領域において、第1実施例の数式1と同様の更新式を適用して指数移動平均画像を得て、該得た指数移動平均画像を、移動体除去画像として出力する。また、この移動体除去画像における移動体領域82b及び移動体通過直後領域82aでは、更新されず現在の移動体が映り込んでいない過去の移動体除去画像が、そのまま維持される。このように、移動体除去画像更新部88は、領域分類部86からの領域分類結果に基づいて、例えば入力画像メモリ81から出力された入力画像に対し、背景領域82dにおける複数枚の時系列入力画像を平滑化して移動体を除去した移動体除去画像の作成処理と更新処理を行う。つまり、移動体除去画像更新部88は、複数枚の時系列入力画像と領域分類部86からの領域分類結果とに基づき、背景領域82dにおける複数枚の時系列入力画像を平滑化して移動体除去画像を生成する。
【0041】
移動体除去画像メモリ83は、移動体除去画像更新部88から出力された移動体除去画像、つまり、入力画像から移動体を除去した画像に対して時系列平滑化処理を施した画像(移動体除去画像)を保持する。
【0042】
選択合成部89は、領域分類部86からの領域分類結果に基づいて、補正した出力画像92を出力する。すなわち、選択合成部89は、領域分類部86からの領域分類結果に基づき、背景領域82dでは、陽炎補正部87からの陽炎補正画像を選択し、移動体領域82bでは、入力画像メモリ81から出力された入力画像を選択し、移動体通過直後領域82aでは、移動体除去画像メモリ83から出力された移動体除去画像を選択、又は、後述するように入力画像メモリ81から出力された入力画像を選択し、これらを合成して出力する。したがって、移動体領域82bや移動体通過直後領域82aでは、陽炎補正されないものの、背景領域82dでは、陽炎補正することができる。
なお、領域分類の空間精度が荒いと出力される合成画像に領域境界が目立つため、選択合成部89で用いる領域分類は、画素単位とするか、或いは、ブロック又は領域の境界付近に空間領域フィルタを適宜施す。
【0043】
陽炎歪み計算部90は、領域分類部86からの領域分類結果および陽炎補正部87からの画像補正結果に基づいて、背景領域82dにおける陽炎による歪みの強さを計算する。詳しくは、陽炎歪み計算部90は、例えば、陽炎補正部87から得た陽炎による画像の変位量を表す動きベクトル等に基づいて、歪みの強さや、変位の時間的な周波数、平均変位(グローバル動きベクトル)等を求める。平均変位とは、1枚(1フレーム)の入力画像内の全ての動きベクトルを平均したものである。歪みの強さは、1枚の入力画像内の全ての動きベクトルの変位量の分散に基づいて計算することができる。分散が大きいほど、歪みの強さは大きい。
【0044】
歪みの強さと周波数は、パラメータ最適化部91に与えられ、パラメータ最適化部91から各種パラメータとして出力されることで、時系列平滑化画像更新部84や移動体除去画像更新部88や選択合成部89での空間或いは時間領域フィルタの特性を適応制御するために利用される。
パラメータ最適化部91は、陽炎歪み計算部90から出力された陽炎による歪みの強さや周波数に応じて各種パラメータを最適化し、該最適化したパラメータを、時系列平滑化画像更新部84や移動体除去画像更新部88や選択合成部89へ出力する。
【0045】
また、平均変位は、適宜、陽炎補正部87等に与えられ、入力画像における探索領域のオフセットとして利用される。つまり、平均変位が、入力画像における探索範囲(つまり、動きベクトルの分散)よりも大きくなった場合は、図10の陽炎補正装置の動作はリセットされる、つまり、入力画像メモリ81、時系列平滑化画像メモリ82、移動体除去画像メモリ83の内容はリセットされ、新たに入力画像メモリ81への入力画像蓄積等の動作が開始される。
これにより、カメラの撮影方向の振れに起因するような画像の平行移動が、入力画像における探索範囲よりも大きくなるような環境下でも、陽炎補正を可能にする。選択合成部89は、領域分類部86が移動体領域82bと判断した領域でも、陽炎補正が成功した(陽炎補正部が用いたグローバル動きベクトルが第1所定値以下で、且つ得られたSAD値が第2所定値以下)と判断できる領域は、背景領域82dとみなす。
【0046】
なお、第2実施例では、時系列平滑化画像更新部84と移動体除去画像更新部88の両者を備えるように構成したが、例えば、選択合成部89が、移動体通過直後領域82aにおいて入力画像を選択するようにすれば、移動体除去画像更新部88における移動体除去画像の作成は必須ではなく、移動体除去画像更新部88は省略可能である。逆に、陽炎補正部87が、時系列平滑化画像に代えて移動体除去画像を用いるようにすれば、時系列平滑化画像更新部84における時系列平滑化画像の作成を省略できる、つまり、時系列平滑化画像更新部84を省略できる。
また、陽炎歪み計算部90とパラメータ最適化部91は、必須構成ではないが、設けることが望ましい。
【0047】
以上説明した第2実施例によれば、少なくとも次の(B1)〜(B3)の効果を得ることができる。
(B1)入力画像の背景領域82dと移動体及び通過領域82cとを識別し、背景領域82dを陽炎補正して、該陽炎補正した背景領域82dと、陽炎補正していない移動体及び通過領域82cとを組み合わせて、出力画像を生成するので、入力画像内に移動体が存在する場合においても、背景領域82dの陽炎補正が可能である。
(B2)さらに、移動体領域82bと移動体通過直後領域82aとを識別し、移動体通過直後領域82aでは、移動体除去画像を用いて、実際に近い画像を生成できる。
(B3)平均変位が、入力画像における探索範囲よりも大きくなった場合は、陽炎補正装置の動作はリセットされるので、カメラの撮影方向の振れに起因するような画像の平行移動が、入力画像における探索範囲よりも大きくなるような環境下でも、陽炎補正が可能である。
【0048】
(第3実施例)
第3実施例に係る画像処理装置について、図面11〜15を参照して説明する。本例の画像処理装置は、第1実施例や第2実施例の陽炎補正を、例えば図4に示す第1実施例の望遠カメラ監視システムの画像表示部43側に備えたマルチコアプロセッサを用いて実現した例である。
【0049】
陽炎補正処理は、補正処理の計算量が多く、また補正処理が要求する入力画像(画像フレーム)の枚数が多いことから、カメラに内蔵させる陽炎補正部のプロセッサやメモリなどの構成規模が大きくなりコストの上昇を引き起こす。また演算処理性能が不足したまま処理を継続すると、画像フレーム抜けなどが発生し、撮影した画像と同じフレームレートでのリアルタイム表示が出来ない。
【0050】
ところで、陽炎補正処理は、ブロック(第1実施例や第2実施例の時間平滑画像の局所領域)単位で処理を行えるため、並列演算との相性が良い。一般的にパーソナルコンピュータは、カメラが搭載するDSP(Digital Signal Processor)に対して処理能力に余裕がある。また、搭載するメモリ容量も大きく、数フレームの画像データを格納することはあまり問題にはならない。特に、近年のコンピュータ技術は、モニタに画像を表示させるグラフィックボードの性能が著しく向上している。グラフィックボード上で画像処理を行うLSIは、一般的にGPU(Graphics Processing Unit)と称される。GPUは、複数処理を同時に実行する並列演算機能を有するのが、近年の一般的な構成である。GPUは、並列演算性能を生かして、グラフィック用途ばかりでなく物理演算にも応用するGPGPU(General-purpose computing on graphics processing units)としても使われている。
【0051】
そこで本例では、複数処理を同時に実行する必要がある陽炎補正処理を、並列演算機能を有するGPUで処理する。コア数やクロック数等の性能の異なる様々なGPUが市場に流通しているため、本実施例の画像処理装置では、第1実施例又は第2実施例の画像処理装置において、リアルタイムに処理が可能な最大ブロック数の算出機能と、処理が可能な最大ブロック数に合わせ、入力画像における陽炎補正範囲を限定する機能と、該限定された陽炎補正領域をモニタに表示し、変更、移動する機能と、該限定された陽炎補正領域のブロックだけを演算対象とする機能とを新たに備えた。また、時系列平滑化画像の作成処理は、過去の画像フレームさえあれば、陽炎補正範囲とは無関係に、画面全体の各ブロックを比較的自由な並列度で処理することができる。これらにより、陽炎補正のリアルタイム表示を実現する。
【0052】
例えば、第1実施例の画像表示部43には、入力画像上に、画像補正のリアルタイム処理が可能な画像補正領域が表示され、その画像補正領域は、操作者の操作により大きさ変更可能又は移動可能である。そして、類似度決定部60は、前記画像補正領域内でのみ類似度の決定を行い、補正画像生成部70は、前記画像補正領域内でのみ補正画像を生成する。一方、時間平滑画像生成部50は、前記画像補正領域の大きさと無関係に、撮像部41からの入力画像全体に対して時間平滑画像を生成する。
【0053】
まず、本実施例を説明するための予備知識として、グラフィックボードを搭載したコンピュータの構成例を図11に示す。図11は、本実施形態の第3実施例に係る画像処理装置の構成図であり、第1実施例の陽炎補正部42に相当する。もしくは第2実施例の画像処理装置である図10に相当する。
一般的にコンピュータは様々な周辺機器で構成されるが、この例ではコンピュータ100がマザーボード110とグラフィックボード120の2つを備え、陽炎補正処理に必要最低限な構成を示している。但し、これ以外の構成機器が追加されても構わない。
【0054】
マザーボード110は、CPU112、メモリ113、PCI(Peripheral Component
Interconnect)コントローラ114、インタフェース111を備える。このマザーボード110の構成も、必要最低限な構成を示している。CPU112は、コンピュータ100の全体を制御し、また、入力データに対し演算処理を行って出力する。メモリ113は、CPU112が演算処理に使用するデータを格納し、CPU112とデータの入出力をする。
【0055】
インタフェース111は、外部データ101を取り込み、CPU112へ出力する。一般的なインタフェース111としては、例えば、LAN(Local Area Network)、USB(Universal Serial Bus)、eSATA(External Serial Advanced Technology Attachment)などがある。インタフェース111は、最低限、カメラから伝送路を経由して伝送された外部データ101を、コンピュータ100の内部に格納できれば、どのようなインタフェースの方式でも構わない。例えば、インタフェース111にハードディスクを接続し、伝送路からの外部データ101を一旦ハードディスクに蓄積する。その蓄積したデータをCPU112が取り込んで処理する構成でも構わない。
【0056】
PCIコントローラ114は、PCIスロットに接続された拡張ボード、この場合はグラフィックボード120とのインタフェースをとる。本例ではPCI Express方式とするが、最低限、グラフィックボードに実装されたPCIコントローラ121と同じプロトコルで通信し、必要なデータ量の転送が出来れば、どのような方式でも構わない。
【0057】
グラフィックボード120は、PCIコントローラ121、GPU123を備えるが、これも必要最低限な構成だけを示している。PCIコントローラ121は、マザーボード110上のPCIコントローラ114と共通なプロトコルで通信を行い、グラフィックボード120とマザーボード110の間でデータの入出力を行う。PCIコントローラ121が取り込んだデータは、GPU123に出力される。GPU123の内部には、帯域が広いGPU内部バス122に接続された多数のコア124が備えられている。コア124の個数は、数百個から数千個に達する。GPU123は、このGPU内部バス122の帯域とコア124の個数により、エントリー向けから3Dグラフィックゲームに代表されるハイエンド向けまで、性能差によりラインナップが分かれる。コア124は、それぞれが演算処理ユニットになっている。3Dグラフィック処理に代表される比較的単純な演算を数百の並列処理に振り分けて、高速なGPU内部バス122を介在してマザーボード110に処理結果を戻したり、演算の結果を構成して作り出した画像データを、モニタ出力106として出力するのに最適な構成になっている。
【0058】
ここまで説明したデータの流れを、図12を用いて説明する。図12は、第3実施例に係る画像処理装置内のデータの流れを説明する図である。
カメラで撮影した陽炎を伴う画像データは、図12中の101、102、103、104、105、106の順で流れる。外部から入力された外部データ101は、外部データ取り込み用のインタフェース111を経由し、データ102として、CPU112に取り込まれる。CPU112は、取り込んだ画像データをブロック単位に切り分け、ブロック単位のデータ103として、GPU123に出力する。GPU123は、内部の複数のコア124を用いて、データ103を並列で陽炎補正処理を行い、処理結果104として、CPU112に戻す。CPU112は、ブロック単位の処理結果104を、1枚の画像フレームの陽炎補正後の画像データ105として、モニタ表示を目的にGPU123に戻す。GPU123は、モニタ出力用の端子からモニタ出力106としてモニタ43に出力する。また、処理結果104のデータが画像データの場合は、そのままモニタ43に出力することが出来るので、104,105を省略して、GPU123の処理結果を、直接、モニタ出力106としてモニタ43に出力しても良い。
【0059】
以上のように画像データをブロックに分割することで、GPU123の各コア124に陽炎補正処理を割り振ることが可能になる。GPU123の高速な並列演算処理能力を使い、本来の画像フレームレートと同じ処理レートでモニタ43に陽炎補正後の画像を表示することが容易となる。
【0060】
ここまでの説明で、画像をブロック単位に分割することを述べたが、そのブロック数とGPU123内部のコア124の数との関係が重要である。ブロック数に対しコア数が少ないと、画像をリアルタイムに表示することができず画像フレーム抜けが発生してしまう。
【0061】
そこで、第3実施例に係る画像処理装置では、グラフィックボード120の1つのコア124の処理能力を測定し、陽炎補正処理が可能な最大のブロック数を求める処理を、陽炎補正処理の開始前に実行する。この処理可能な最大ブロック数を求める処理を、これ以降はキャリブレーション処理と称することにする。
【0062】
また、1枚の画像フレームに含まれるブロック数に対し、グラフィックボード120の処理能力が低い場合は、処理するブロック数を制限し、フレームレートを維持しつつ、特定領域のブロックに関してだけ、陽炎補正処理を行う。表示された画像を見ているユーザに対しては、どのブロックが特定領域となっているか判別できるよう、特定領域の画像の表示の仕方を他のブロックと異なるようにする。例えば、特定領域に含まれるブロックの周囲を色の付いた枠で囲むなどの手段が考えられる。枠の形状を矩形にして特定領域の外周を覆うような表示にするのが簡単ではあるが、枠の内部に含まれるブロック数が処理可能な個数以下であれば領域を矩形に制限する必要はない。
【0063】
その特定領域の表示の様子を、図13を用いて説明する。図13は、第3実施例に係る陽炎補正領域を説明する図であり、陽炎補正領域を囲む枠の形状を矩形にした場合を示す。ここでは、1フレームの陽炎画像131は、横7ブロック、縦6ブロックで構成されており、陽炎補正処理が可能なブロック数が12個である場合を例に説明する。
【0064】
図13(a)では、陽炎補正処理が可能なブロック数が12個であるため、横4ブロック、縦3ブロックの領域を、陽炎補正領域132として枠で囲んで表示している。枠内は陽炎の補正処理が行われるが、枠外は陽炎によりゆらぐ画像がそのまま表示される。しかし、陽炎によるゆらぎにより画像細部の視認性は低下するが、撮影された物体が人間であるか否かなど監視用途として必要な最低限の判断にはあまり影響しない。そのため、陽炎補正領域132の枠外に何か監視対象としたものが映っていた場合は、細部は分からずともその存在を認識することは出来るので、陽炎補正領域132を移動する手段を用意すれば問題は無い。
【0065】
この枠は、CPU112あるいはGPU123のうち、陽炎画像131としてブロックを集め1画面を構成する処理を行う部分(第1実施例の補正画像生成部70に相当)で枠表示データを作成する。例えばCPU112が全てのブロックのデータを1枚の画像データとして構成し直す場合は、CPU112が枠を作成する必要がある。GPU123で処理した結果を直接モニタ43へ出力する場合は、GPU123が枠を作成する必要がある。
【0066】
また、コンピュータであればユーザの操作機器としてマウスが接続されている構成が一般的であるが、そのマウスで操作することができるカーソル133を使い、陽炎補正領域132の位置を移動することが出来るようにする。例えば、カーソル133を陽炎補正領域132内の一部に移動し、マウスボタンをクリックしたままカーソル133を移動することで、陽炎補正領域132の形を変えずに、陽炎補正領域132の位置をブロック単位で移動できるようにする。カーソル133の移動位置はCPU112が把握出来るので、マウスを動かすことで陽炎補正領域132の表示位置を移動しつつ、枠内に位置するブロック位置を算出してGPU123で処理すべきブロックを決定する。
【0067】
また、陽炎補正領域132の枠部分をカーソル133でドラッグすることで、枠のサイズを変更できるようにする。この例の場合、陽炎補正領域132のブロック数は12個以内と決まっているので、枠の伸び縮みには、陽炎補正処理が可能なブロック数に収めるように制限する処理が入る。例えば、図13(a)に示すように、陽炎補正領域132が横4ブロック、縦3ブロックの場合、枠を横に1ブロック広げる操作をすると、陽炎補正領域132の横が5ブロックになる。処理が可能なブロック数が12ブロックであることから、縦のブロック数を求めると、12÷5=2.5ブロックになり、ブロック数は整数であることから、小数点以下を切り捨てて2ブロックが縦のブロック数になる。よって陽炎補正領域132は、図13(b)に示すように、横5ブロック、縦2ブロックの合計10ブロックになる。
【0068】
この状態からさらに、横のブロック数を6ブロックに広げると、縦のブロック数は、12÷6=2ブロックになり、縦2ブロックを維持するため、図13(c)に示すように、横6ブロック、縦2ブロックの合計12ブロックになる。さらに横に1ブロック広げ7ブロックにする操作を行うと、処理可能なブロック数が12ブロックであることから、縦のブロック数は、12÷7=1.7…ブロックとなり、縦1ブロックになるため、図13(d)に示すように、横7ブロック、縦1ブロックの合計7ブロックになる。また、陽炎補正領域132のブロック数が、処理可能なブロック数を越えるように、カーソル133を操作した場合は、これ以上広げることができないよう、枠表示の変更は行わず操作に制限を加える。
【0069】
また、陽炎補正処理が可能なブロック数が、1画面に含まれるブロック数の合計よりも多い場合、1画面全てのブロックを陽炎補正の対象にできる。この場合は、陽炎補正領域132の枠は表示しないか、又は、陽炎補正領域132の枠を、画面の大きさと同じ最大のサイズで表示する。
以上述べたように、第3実施例では、画像表示部43には、画像補正(陽炎補正)のリアルタイム処理が可能な画像補正領域が表示され、該画像補正領域が、操作者の操作により大きさ変更可能又は移動可能である。
【0070】
なお、上述したように、画面全体のブロックを1フレーム期間内に処理できない場合は、陽炎補正領域132を表示することにより陽炎補正処理の対象とするブロックを制限するが、この場合でも、画面全体に対し絶えず演算する必要がある処理もある。これは、陽炎補正処理の処理に時間的に近い複数枚の入力画像を用いて画面内の全画素を積算処理することにより平滑化した時系列平滑化画像を作成する処理(第1実施例の時間平滑画像生成処理に相当)である。この処理は、過去の画像フレームを必要とすることから、陽炎補正領域132とは無関係に、画面全体のブロックに対して絶えず時間方向の積算処理を実行する。これは、陽炎補正領域132をユーザが変更できるため、どのブロックが陽炎補正領域132に割り当てられるか分からないので、事前に画面全体に対して実行しておく必要があるからである。この積算処理は、単純な画像フレームのデータの足し合わせと除算(ビットシフト演算でも良い)だけで実現できるので、処理負荷はあまり増加せず、画面全体の処理であるが処理レートに対し影響は少ない。
【0071】
次に、グラフィックボード120が最大で何個のブロックの陽炎を補正できるか測定する手段を、図14を用いて説明する。図14は、第3実施例に係る陽炎補正可能なブロック数の算出方法を説明する図である。
図14(a)から図14(d)までのグラフは、縦軸が陽炎補正処理の処理時間、横軸がGPU123内のコア数を示す。陽炎補正処理をリアルタイムの動作とするためには、入力される画像のフレームレートと同じ速度で、1フレームの陽炎補正処理が終わらなければならない。仮に、入力画像のフレームレートを、NTSC方式と同じおよそ33msとする。1フレーム分の陽炎補正処理時間がこの33msを越えた場合にリアルタイム処理が実現出来ないことを示すため、図14では、33msの位置で横線(点線)を引いている。また、この例でのGPU123のコア数は3個と仮定して説明する。実際のGPU123は、この何百倍のコア数を持つが、測定手段は同じ考え方でかまわない。1回の陽炎補正処理にかかる演算時間は全て同じである。それは、演算量が入力画像に依らないためである。
【0072】
図14(a)は、1個のコアで1つのブロックB1の陽炎補正処理を実行する状態である。処理時間は33ms未満、コア数は1個だけを使用しており、GPU123のコア数3個を越えていない。よって、図14(a)の場合は、リアルタイムで陽炎補正処理が可能であると判断できる。
【0073】
図14(b)は、1個のコアで3つのブロックB1〜B3の陽炎補正処理を実行する状態である。1個のコアであっても、処理時間をずらせば複数の処理を実行することが可能である。図14(b)の場合は、3つめのブロックB3の陽炎補正処理を実行中に、処理時間が33msを越えている。よって、1個のコアであると、3つのブロックの陽炎除去処理を、リアルタイムでは実現出来ないと判断できる。
【0074】
図14(b)の結果から、この例での陽炎補正処理は、1個のコアで2つまでのブロックの陽炎補正処理が可能である。よって、図14(c)では、33ms以内の時間で終わるように、1個のコアに2つまでのブロックの処理を実行させるという条件で、7つのブロックB1〜B7の陽炎を補正する状態を示す。コア数が3個であるため、7つめのブロックB7の処理を行うには、コア数が足りないと判断できる。
【0075】
図14(d)は、1個のコアで2つのブロックの陽炎補正処理、コア数は3個という条件で、最大の性能を出せる状態を示す。この場合は、2×3=6つのブロックの陽炎補正処理まで可能だと判断できる。仮に、陽炎画像を分割して6つのブロックになった場合、このグラフィックボードでは、画面全体に対して陽炎補正処理が可能だということになる。そして、陽炎画像を分割して7つ以上のブロック数になった場合、前述した陽炎除去領域表示を併用しないとリアルタイムに処理できないと判断できる。
【0076】
上記で説明した、処理できる最大のブロック数を求めるためのキャリブレーション処理の手順を、図15のフローチャートを用いて説明する。図15は、第3実施例に係るキャリブレーション処理の流れを説明する図である。
この手順の考え方は、1つのブロックをGPU123の1個のコア124に処理させて、その処理にかかる時間を測定することで、画像1フレームの時間に何ブロックを処理できるか算出するものである。前提として、グラフィックボード120のコア数が事前に分かることと、1つのブロックの処理時間が画像フレーム全体にも適用できることが必要である。前者のコア数の取得は、グラフィックボード120から取得する手段が用意されているのが一般的であるため問題は無い。後者は、ブロックの内容、つまり画像データの値により陽炎補正の処理時間は変わらないため、1つのブロックの処理時間で代表することが可能であり問題は無い。
【0077】
図15の処理S31では、1つのブロックの画像データを、CPU112が用意する。前述したように、陽炎補正処理は画像データの値には依らないので、例えば、適当なブルーバックなどのテストパターンや実際の画像など、どのような画像データを用意してもかまわない。
【0078】
処理S32では、CPU112が、カウンタNをゼロに初期化する。カウンタNは、1フレーム期間に何回の陽炎補正処理が実行出来たかをカウントするために用意する。
【0079】
処理S33では、CPU112が、タイマTをゼロにリセットし、タイマTのカウントアップを開始する。このタイマTは、コンピュータ100に一般的に搭載されているタイマ機能を使えばよい。タイマTの精度は1ms程度でかまわないが、より細かい時間が計測できればそれが望ましい。この処理S33からタイマTのカウントアップを開始して、直後の処理S34で実行する陽炎補正処理に要する時間を計測できるようにする。
【0080】
処理S34では、CPU112が、処理S31で用意したブロックデータを、GPU123の1個のコア124に渡し、コア124が陽炎補正処理を実行する。この陽炎補正処理の実行中も、処理S33で開始したタイマTは、カウントアップを続けている。
【0081】
処理S35では、CPU112が、タイマTが示す時間が1フレーム期間である33ms未満であるか否かを判断する。陽炎補正処理が33msより短ければ、同じコア124を使用して、もう一度陽炎補正処理を実施できる可能性がある。そこで、タイマTが33ms未満であれば(処理S35でYes)、処理S36を実行する。タイマTが33ms以上であれば(処理S35でNo)、陽炎補正処理の時間が1フレーム期間を超過したことを示すので、処理S37を実行する。
【0082】
処理S36では、次の陽炎補正処理を実行するために、CPU112が、カウンタNの値を+1している。処理S36が、キャリブレーション処理の実行を開始して最初の処理であれば、Nの値は0であり、処理S36を処理することで1になる。つまり、陽炎補正処理を1フレーム期間で最低1回は行えることを示す。処理S36の後は、処理S34に戻り、2回目以降の陽炎補正処理を行う。
【0083】
処理S37では、陽炎補正処理の時間が1フレーム期間を超えたので、CPU112は、このGPU123が処理可能なブロック数Mの計算を行う。カウンタNと、事前に判明しているGPU123のコア数とを積算することで、GPU123の全てのコア124を用いたときに何個のブロックが処理できるかを算出する。
【0084】
処理S38では、CPU112は、算出した処理可能なブロック数Mの数が、1画面の画像に占めるブロック数に対し、少ないか否かを判断する。1画面のブロック数は、画面サイズから一意に求められるので、事前に値が判明している。処理可能ブロック数Mの方が小さい場合(処理S38でYes)、1画面全体のブロックを処理できない。よって、CPU112は、陽炎補正領域表示が必要と判断し、処理S39を実行する。処理S39では、陽炎補正領域の表示が必要であることを示すため、フラグRoiFlagに1を設定する。
【0085】
1画面のブロック数が、処理可能ブロック数M以下である場合は(処理S38でNo)、CPU112は、陽炎補正領域表示が不要と判断し、処理S40を実行する。処理S40では、陽炎補正領域の表示が不要であることを示すため、フラグRoiFlagに0を設定する。
処理S39、もしくは処理S40の処理が終われば、キャリブレーション処理は完了する。
【0086】
以上の処理フローにより、グラフィックボード120に搭載されたGPU123が処理できるブロック数を示すMと、陽炎補正領域表示が必要か否かを判断するためのRoiFlagを取得することができる。このMとRoiFlagは、前述した陽炎補正領域をCPU112がモニタ43に表示するときに使用する。
【0087】
以上のように、コンピュータ100を使って陽炎補正後の画像を表示する装置において、コア数や内部バスの速度により性能が異なるグラフィックボード120に合わせ、陽炎補正処理が可能なブロック数を算出する機能と、処理可能なブロックの数により陽炎補正領域をモニタに表示する機能を持つことができる。これにより、入力された画像フレームレートと同じ表示レートのリアルタイム陽炎補正処理が可能な陽炎補正装置としての画像処理装置を実現できる。
【0088】
なお、上記第3実施例では、画像処理として陽炎補正処理について説明したが、画像フレームをブロック単位で分割する画像処理であれば、陽炎補正処理に限定されない。例えば、超解像処理や、ゆれ補正処理、エッジ鮮鋭化のような画像フィルタ処理に対して、上記のブロック単位で並列化してGPU123で処理し、処理が可能な範囲だけを示す領域をモニタに表示する装置として構成してもかまわない。
【0089】
さらに、グラフィックボード120に搭載されたGPU123で並列演算処理を行う説明をしたが、ブロック単位に並列演算処理が可能であれば、グラフィックボード120に限らず、複数の専用ハードウェアを内蔵した専用LSI搭載ボードや、複数コアのプロセッサが内蔵され複数のソフトウェアを並列で同時に処理するCPUで上記の処理を行ってもかまわない。
【0090】
以上説明した第3実施例によれば、少なくとも次の(C1)〜(C3)の効果を得ることができる。
(C1)陽炎補正処理をブロック毎に並列に行うことができるので、処理速度を向上でき、リアルタイム処理を容易に実現することができる。
(C2)陽炎補正のリアルタイム処理が可能な陽炎補正領域を表示し、該陽炎補正領域をユーザ(操作者)が変更、移動可能としたので、画面全体に亘って陽炎補正のリアルタイム処理が不可能な処理能力の陽炎補正装置においても、必要部分の陽炎補正を行うことができる。
(C3)陽炎補正のリアルタイム処理が可能なブロック数を計算することができる。
【0091】
本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々に変更が可能であることはいうまでもない。
【0092】
本明細書には少なくとも、次の構成が含まれる。すなわち、
第1の構成は、
撮像結果を時系列の画像として出力する撮像部と、該撮像部から出力された時系列の画像が入力画像として入力され、該入力画像における画像の揺らぎを補正する画像補正部とを備える画像処理装置であって、
前記画像補正部は、
前記撮像部からの複数枚の時系列入力画像に基づき、該複数枚の時系列入力画像を平滑化して時間平滑画像を生成する時間平滑画像生成部と、
前記時間平滑画像生成部で生成された時間平滑画像に対し局所領域を設定し、該局所領域における前記時間平滑画像と、前記複数枚の時系列入力画像の部分領域との類似度を、決定する類似度決定部と、
前記類似度決定部で算出された類似度決定結果に基づき、前記時間平滑画像の局所領域の画像に類似する画像を有する前記入力画像の部分領域を、前記複数枚の時系列入力画像の部分領域から選択し、該選択した部分領域に基づき補正画像を生成する補正画像生成部と、
を備えることを特徴とする画像処理装置。
【0093】
第2の構成は、第1の構成における画像処理装置であって、
前記類似度決定部は、前記時間平滑画像に対し複数の局所領域を設定し、該複数の局所領域における前記時間平滑画像のそれぞれと、前記複数枚の時系列入力画像の部分領域との類似度を決定し、
前記補正画像生成部は、前記類似度決定部で算出された類似度決定結果に基づき、前記複数の局所領域の画像に類似する画像を有する前記入力画像の部分領域を、前記複数枚の時系列入力画像の部分領域から選択し、該選択した複数の部分領域に基づき補正画像を生成することを特徴とする画像処理装置。
【0094】
第3の構成は、第1の構成又は第2の構成における画像処理装置であって、
前記類似度決定部は、前記入力画像において前記部分領域を探索するための探索範囲を設定し、該探索範囲内において、前記局所領域における前記時間平滑画像と、前記入力画像との類似度を決定することを特徴とする画像処理装置。
【0095】
第4の構成は、第3の構成における画像処理装置であって、
前記類似度決定部は、前記局所領域における動きベクトルに基づき、前記探索範囲を設定することを特徴とする画像処理装置。
【0096】
第5の構成は、第2の構成ないし第4の構成における画像処理装置であって、
前記補正画像生成部は、前記選択した複数の部分領域を平滑化することを特徴とする画像処理装置。
【0097】
第6の構成は、第2の構成ないし第5の構成における画像処理装置であって、
前記画像補正部は、さらに、
前記撮像部からの入力画像を、移動体領域と移動体通過直後領域とから構成される移動体及び通過領域と、移動体及び通過領域以外の領域である背景領域とに分類する領域分類部と、
前記移動体及び通過領域においては、前記撮像部からの入力画像を選択し、前記背景領域においては、当該画像補正部において補正した補正画像を選択し、該選択された入力画像と補正画像とを合成する選択合成部と、
を備えることを特徴とする画像処理装置。
【0098】
第7の構成は、第6の構成における画像処理装置であって、
前記画像補正部は、さらに、
前記撮像部からの複数枚の時系列入力画像と前記領域分類部からの領域分類結果とに基づき、前記背景領域における複数枚の時系列入力画像を平滑化して移動体除去画像を生成する移動体除去画像更新部を備え、
前記領域分類部は、前記撮像部からの入力画像を、前記移動体領域と、前記移動体通過直後領域と、前記背景領域とに分類し、
前記選択合成部は、前記移動体領域においては、前記撮像部からの入力画像を選択し、前記移動体通過直後領域においては、前記移動体除去画像更新部で生成した移動体除去画像を選択し、前記背景領域においては、当該画像補正部において補正した補正画像を選択し、該選択された入力画像と移動体除去画像と補正画像とを合成することを特徴とする画像処理装置。
【0099】
第8の構成は、第7の構成における画像処理装置であって、
前記画像補正部は、さらに、
前記撮像部からの複数の時系列入力画像間の差分と、前記撮像部からの入力画像と前記時間平滑画像生成部からの時間平滑画像との間の差分とを計算するヒストグラム解析部を備え、
前記領域分類部は、前記ヒストグラム解析部が算出した差分に基づき、前記領域分類を行うことを特徴とする画像処理装置。
【0100】
第9の構成は、第1の構成ないし第8の構成における画像処理装置であって、
前記時間平滑画像生成部は、指数移動平均又は加重移動平均あるいは単純移動平均を用いて前記時間平滑画像を生成することを特徴とする画像処理装置。
【0101】
第10の構成は、第1の構成ないし第9の構成における画像処理装置であって、
前記類似度決定部は、差分絶対値和を用いたブロックマッチングにより前記類似度を決定することを特徴とする画像処理装置。
【0102】
第11の構成は、第1の構成ないし第10の構成における画像処理装置であって、
前記補正画像生成部は、前記選択した複数枚の時系列入力画像の部分領域を、重ね合わせずに組み合わせて補正画像を生成することを特徴とする画像処理装置。
【0103】
第12の構成は、第1の構成ないし第11の構成における画像処理装置であって、さらに、
前記補正画像生成部で生成した補正画像を表示する画像表示部を備え、
前記画像表示部には、画像補正のリアルタイム処理が可能な画像補正領域が表示され、該画像補正領域が、操作者の操作により大きさ変更可能又は移動可能であり、
前記類似度決定部は、前記画像補正領域内でのみ前記類似度の決定を行い、
前記補正画像生成部は、前記画像補正領域内でのみ前記補正画像を生成し、
前記時間平滑画像生成部は、前記画像補正領域の大きさと無関係に、前記撮像部からの入力画像全体に対して前記時間平滑画像を生成することを特徴とする画像処理装置。
【産業上の利用可能性】
【0104】
本発明は、カメラなど画像処理を行う製品群に適用可能である。
【符号の説明】
【0105】
41…撮像部、42…陽炎補正部(画像補正部)、43…画像表示部、50…時間平滑画像生成部、51…時間平滑画像保持部、52…乗算器、53…乗算器、54…加算器、60…類似度決定部、61…時間平滑画像保持部、62…入力画像保持部、63…BM計算部、64…BM計算結果保持部、70…補正画像生成部、71…最適局所領域選択部、72…補正画像保持部、81…入力画像メモリ、82…時系列平滑化画像メモリ、82a…移動体通過直後領域、82b…移動体領域、82c…移動体及び通過領域、82d…背景領域、83…移動体除去画像メモリ、84…時系列平滑化画像更新部、85…ヒストグラム解析部、86…領域分類部、87…陽炎補正部、88…移動体除去画像更新部、89…選択合成部、90…陽炎歪み計算部、91…パラメータ最適化部、92…出力画像、100…コンピュータ、101…外部データ、106…モニタ出力、110…マザーボード、111…インタフェース、112…CPU、113…メモリ、114…PCIコントローラ、120…グラフィックボード、121…PCIコントローラ、122…GPU内部バス、123…GPU、124…コア、131…陽炎映像、132…陽炎補正領域、133…カーソル、171…参照画像、172…入力画像。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18