(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、動画などのフレーム群は、その撮影や記録時の条件等によっては、タイムライン上で同じフレームが概ね同じ枚数ずつ連続するような態様で記録されることがある。例えば、記録装置のフレームレートが、撮像装置のフレームレートより大きいような場合である。この例において、さらに具体的な例を挙げると、撮像装置のフレームレートが1FPSで、記録装置のフレームレートが30FPSである場合、記録されたフレーム群のタイムライン上では、同じフレームが概ね30枚ずつ連続して配列されることになる。
【0005】
しかしながら、同じフレームを記録したはずの複数枚分のフレームの画像データが、様々なノイズの影響により、完全に同じにはならないことがある。この意味で、「同じ」フレームとは言っても、厳密には、ノイズ分の差が生じており、「類似の」フレームである。そして、このような状況下では、これらの複数枚の類似フレームを利用して、ノイズを除去することが可能になる。
【0006】
しかしながら、特許文献1の装置は、このような状況下で十分に機能しない。なぜなら、特許文献1の装置では、ノイズを除去する単位となるフレームの枚数が、上述の態様で決定されるため、類似フレームの連続枚数を正しく評価できないからである。なお、この問題は、類似フレームにノイズ分の差しか生じていない場合だけでなく、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現する状況全般に当てはまる。
本発明は、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現するフレーム群に対し、ノイズを高精度に除去することが可能な画像処理プログラム、画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1観点に係る画像処理プログラムは、タイムライン上のフレーム群からノイズを除去するための画像処理プログラムであって、判断ステップと、分割ステップと、除去ステップとをコンピュータに実行させる。判断ステップは、フレーム群に含まれる隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かを判断するステップである。分割ステップは、変化点が概ね同じ間隔で出現すると判断された場合には、当該間隔に従って、フレーム群をタイムラインに沿って複数のグループに分割するステップである。除去ステップは、グループ単位で、フレーム群からノイズを除去するステップである。
【0008】
ここでは、隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かが判断される。言い換えると、類似フレームが、タイムライン上で概ね同じ枚数ずつ連続するような態様で配列されているか否かが判断される。そして、タイムライン上のフレーム群がそのような態様で配列されていると判断された場合には、変化点が出現する間隔、すなわち、類似フレームが連続する間隔に従って、ノイズを除去する単位となるグループが決定される。すなわち、ノイズを除去する単位となるグループが、類似フレームのグループとなる。従って、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現するフレーム群に対し、ノイズを高精度に除去することができる。
【0009】
本発明の第2観点に係る画像処理プログラムは、本発明の第1観点に係る画像処理プログラムであって、除去ステップは、各グループについて、そのグループに属するX枚のフレームを代表するY枚の代表フレームを生成するステップである。ここで、X≧2であり、Y<Xである。すなわち、ここでは、X枚の類似フレームから、X枚より少ないY枚のフレームが生成される。従って、類似フレームが複数枚ずつ存在することの冗長性が低減される。
【0010】
本発明の第3観点に係る画像処理プログラムは、本発明の第2観点に係る画像処理プログラムであって、Y=1である。すなわち、ここでは、複数枚の類似フレームから、1枚のフレームが生成される。従って、類似フレームが複数枚ずつ存在することの冗長性がさらに低減される。
【0011】
本発明の第4観点に係る画像処理プログラムは、本発明の第1観点から第3観点のいずれかに係る画像処理プログラムであって、除去ステップは、各グループについて、そのグループに属する2枚以上のフレームを平均化することにより、ノイズを除去するステップである。従って、ノイズを容易に除去することができる。
【0012】
本発明の第5観点に係る画像処理プログラムは、本発明の第1観点から第4観点のいずれかに係る画像処理プログラムであって、フレーム群は、撮像装置により撮像され、撮像装置よりもフレームレートの大きい記録装置により記録されたフレーム群である。
すなわち、ここでは、ノイズ除去の対象となるフレーム群が、タイムラインに沿って主にノイズ分の差しかない類似フレームが概ね同じ枚数ずつ連続するフレーム群となる。従って、ノイズがさらに高精度に除去される。
【0013】
本発明の第6観点に係る画像処理プログラムは、本発明の第1観点から第5観点のいずれかに係る画像処理プログラムであって、除去ステップは、各グループについて、そのグループに属する除外フレーム以外のフレームを用いて、ノイズを除去するステップである。除外フレームは、タイムラインに沿って連続して出現した複数の変化点に共通して対応するフレームである。
【0014】
タイムライン上のフレーム群が、前述のような複数のグループに分割される場合、グループ内で始端および終端のフレームは、同じグループ内の他のフレームと類似していない可能性が相対的に高い。その結果、タイムライン上では、グループの境界付近に、連続して複数の変化点が出現することがある。ここでは、タイムラインに沿って連続して出現した複数の変化点に共通して対応するフレームは、同じグループ内の他のフレームと類似していない始端又は終端のフレームであると考えられるから、ノイズの除去処理の対象から除外される。その結果、ノイズをさらに高精度に除去することができる。
【0015】
本発明の第7観点に係る画像処理装置は、タイムライン上のフレーム群からノイズを除去するための画像処理装置であって、判断部と、分割部と、除去部とを備える。判断部は、フレーム群に含まれる隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かを判断する。分割部は、変化点が概ね同じ間隔で出現すると判断された場合には、間隔に従って、フレーム群をタイムラインに沿って複数のグループに分割する。除去部は、グループ単位で、フレーム群からノイズを除去する。
【0016】
ここでは、隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かが判断される。言い換えると、類似フレームが、タイムライン上で概ね同じ枚数ずつ連続するような態様で配列されているか否かが判断される。そして、タイムライン上のフレーム群がそのような態様で配列されていると判断された場合には、変化点が出現する間隔、すなわち、類似フレームが連続する間隔に従って、ノイズを除去する単位となるグループが決定される。すなわち、ノイズを除去する単位となるグループが、類似フレームのグループとなる。従って、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現するフレーム群に対し、ノイズを高精度に除去することができる。
【0017】
本発明の第8観点に係る画像処理方法は、タイムライン上のフレーム群からノイズを除去するための画像処理方法であって、判断ステップと、分割ステップと、除去ステップとを備える。判断ステップは、フレーム群に含まれる隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かを判断するステップである。分割ステップは、変化点が概ね同じ間隔で出現すると判断された場合には、間隔に従って、フレーム群をタイムラインに沿って複数のグループに分割するステップである。除去ステップは、グループ単位で、フレーム群からノイズを除去するステップである。
【0018】
ここでは、隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かが判断される。言い換えると、類似フレームが、タイムライン上で概ね同じ枚数ずつ連続するような態様で配列されているか否かが判断される。そして、タイムライン上のフレーム群がそのような態様で配列されていると判断された場合には、変化点が出現する間隔、すなわち、類似フレームが連続する間隔に従って、ノイズを除去する単位となるグループが決定される。すなわち、ノイズを除去する単位となるグループが、類似フレームのグループとなる。従って、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現するフレーム群に対し、ノイズを高精度に除去することができる。
【発明の効果】
【0019】
本発明によれば、ノイズを除去する単位となるグループが、類似フレームのグループとなる。従って、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現するフレーム群に対し、ノイズを高精度に除去することができる。
【発明を実施するための形態】
【0021】
以下、図面を参照しつつ、本発明の一実施形態に係る画像処理プログラム、画像処理装置および画像処理方法について説明する。
<1.画像処理装置の概要>
図1に示す画像処理装置1は、本発明に係る画像処理装置の一実施形態である。画像処理装置1は、汎用のパーソナルコンピュータである。画像処理装置1には、本発明に係る画像処理プログラムの一実施形態である画像処理プログラム2が、これを格納するCD−ROM等のコンピュータが読み取り可能な記録媒体等から提供され、インストールされている。画像処理プログラム2は、動画および静止画に対する画像処理を支援するためのアプリケーションソフトウェアである。画像処理プログラム2は、画像処理装置1に後述する動作に含まれるステップを実行させる。
【0022】
画像処理装置1は、ディスプレイ10、入力部20、記憶部30および制御部40を有する。ディスプレイ10と、入力部20と、記憶部30と、制御部40とは、互いにバス線やケーブル等5で接続されており、適宜、通信可能である。本実施形態では、ディスプレイ10は、液晶ディスプレイであり、後述する画面等をユーザに対し表示する。入力部20は、マウスおよびキーボート等から構成され、画像処理装置1に対するユーザからの操作を受け付ける。記憶部30は、ハードディスク等から構成される。制御部40は、CPU、ROMおよびRAM等から構成される。
【0023】
画像処理プログラム2は、記憶部30内に格納されている。記憶部30内には、ソフトウェア管理領域50が確保されている。ソフトウェア管理領域50は、画像処理プログラム2が使用する領域である。ソフトウェア管理領域50内には、オリジナル画像領域51および加工ファイル領域52が確保されている。各領域51,52の役割については、後述する。
【0024】
制御部40は、記憶部30内に格納されている画像処理プログラム2を読み出して実行することにより、仮想的に画像処理部41として動作する。特に、画像処理部41は、後述するアナログノイズ除去処理が開始されると、エリア設定部41a、パターン検出部41b、グループ分割部41c及びノイズ除去部41dとして動作する。各部41,41a〜41dの動作については、後述する。
【0025】
<2.画像処理装置の構成および動作の詳細>
制御部40は、ユーザが入力部20を介して所定の操作を行ったことを検知すると、画像処理プログラム2を起動する。画像処理プログラム2が起動されると、基本画面W1(
図2参照)がディスプレイ10上に表示される。なお、制御部40は、ディスプレイ10上に表示される画面、ウィンドウ、ボタンその他の全ての要素の表示を制御する。
【0026】
<2−1.画像データの取り込み>
基本画面W1は、オリジナル画像領域51への画像データの取り込みの命令をユーザから受け付ける。オリジナル画像領域51へ取り込まれた画像データは、後述する画像処理の対象になる。制御部40は、静止画ファイル又は動画ファイルから、オリジナル画像領域51へ画像データを取り込む。なお、本明細書において、静止画ファイルとは、静止画形式のデータファイルであり、動画ファイルとは、動画形式のデータファイルである。
【0027】
静止画ファイルから画像データを取り込む場合、ユーザは、入力部20を操作することにより、1の静止画ファイルを指定するか、又は1のフォルダを指定する。前者の場合、制御部40は、その静止画ファイルの記憶部30内のアドレスパスおよびファイル名をユーザに入力させる。後者の場合、制御部40は、そのフォルダの記憶部30内のアドレスパスおよびフォルダ名をユーザに入力させる。その後、制御部40は、指定された1の静止画ファイル又は指定された1のフォルダ内の全ての静止画ファイルを、オリジナル画像領域51に静止画ファイル群として保存する。なお、本明細書において、「群」という場合には、その要素数は複数とは限らず、1つであってもよい。
【0028】
一方、動画ファイルから画像データを取り込む場合、ユーザは、入力部20を操作することにより、1の動画ファイルの記憶部30内のアドレスパスおよびファイル名を入力する。制御部40は、ユーザが動画ファイルを指定したことを検知すると、基本画面W1上に動画取込みウィンドウ(図示されない)を重ねて表示させる。動画取込みウィンドウは、指定された動画ファイルの全タイムラインのうち、任意の長さのタイムラインの選択をユーザから受け付ける。制御部40は、ユーザが入力部20を介して任意の長さのタイムラインの選択を行ったことを検知すると、その選択に対応する静止画ファイル群を生成する。この静止画ファイル群は、ユーザの選択に係るタイムラインの動画に含まれるフレーム群に1対1で対応する。その後、制御部40は、この静止画ファイル群をオリジナル画像領域51に保存する。
【0029】
従って、本実施形態では、後述する画像処理の対象は、動画ファイルではなく、静止画ファイルである。静止画ファイルは、オリジナル画像領域51へファイル単位、フォルダ単位、あるいは動画ファイルの全部又は一部のタイムライン単位で取り込まれる。
【0030】
<2−2.静止画ファイル群の再生>
オリジナル画像領域51へ静止画ファイル群が取り込まれると、制御部40は、基本画面W1上に表示ウィンドウW2(
図3参照)を重ねて表示させる。表示ウィンドウW2は、オリジナル画像領域51への静止画ファイル群の取り込み動作の数だけ、表示される。
【0031】
表示ウィンドウW2内には、まず、オリジナル画像領域51へ取り込まれた静止画ファイル群に含まれる1の静止画ファイル(例えば、タイムライン上で先頭のフレームに対応する静止画ファイル)が表示される。なお、制御部40は、静止画ファイル群が動画ファイルに由来するものではなく、静止画ファイルに由来するものであっても、静止画ファイル群に含まれる静止画ファイルをタイムラインに沿って配列されているものと認識する。配列は、ファイルの属性(ファイル名、作成日時、更新日時等)から自動的に判断される。
【0032】
後述するとおり、表示ウィンドウW2内に表示されるフレームは、ユーザの操作を受けて切り替わる。制御部40は、表示ウィンドウW2内に現在表示されているフレームの識別情報をリアルタイムに管理する。
【0033】
制御部40は、表示ウィンドウW2内で、その表示ウィンドウW2に対応する静止画ファイル群を、動画として再生可能である。
図3に示すとおり、制御部40は、基本画面W1上に、ウィンドウ選択プルダウンメニューT1、再生ボタンT2、コマ送りボタンT3、コマ戻しボタンT4、タイムラインバーT5およびFPS設定エリアT6を表示する。
【0034】
表示ウィンドウW2が複数存在する場合であっても、アクティブな表示ウィンドウW2は1つである。ウィンドウ選択プルダウンメニューT1は、どの表示ウィンドウW2をアクティブとするかの選択をユーザから受け付ける。以下、アクティブな表示ウィンドウW2に対応する静止画ファイル群を、アクティブファイル群と呼ぶ。また、アクティブな表示ウィンドウW2内に現在表示されているフレームを、アクティブ表示フレームと呼ぶ。
【0035】
再生ボタンT2は、アクティブファイル群の動画としての再生の命令をユーザから受け付ける。制御部40は、ユーザが入力部20を介して再生ボタンT2を押下したことを検知すると、アクティブな表示ウィンドウW2内に、アクティブファイル群のフレームをタイムラインに沿って順次コマ送りの形式で表示させる。なお、再生は、再生ボタンT2が押下された時点のアクティブ表示フレームから開始する。また、再生ボタンT2は、再生の停止の命令をユーザから受け付ける。制御部40は、再生中にユーザが入力部20を介して再生ボタンT2を押下したことを検知すると、アクティブな表示ウィンドウW2内の表示を、その時点のアクティブ表示フレームに固定する。
【0036】
コマ送りボタンT3、コマ戻しボタンT4はそれぞれ、アクティブ表示フレームを、アクティブファイル群のタイムラインに沿って1つ後、1つ前のフレームへ切り替える命令をユーザから受け付ける。
【0037】
タイムラインバーT5は、アクティブファイル群のタイムラインを図式的に表す。タイムラインバーT5は、そのバーが延びる方向に、アクティブファイル群のフレーム数で等分に分割されている。タイムラインバーT5上の左からn番目の分割領域は、アクティブファイル群のタイムライン上でn番目のフレームに対応する(nは、自然数)。
【0038】
図3に示すように、タイムラインバーT5は、選択フレーム群に対応する分割領域A1と、非選択フレーム群に対応する分割領域A2とを異なる態様で表示する。選択フレーム群とは、アクティブファイル群のタイムライン上で現在選択されている区間に対応するフレーム群である。非選択フレーム群とは、アクティブファイル群のタイムライン上で現在選択されていない区間に対応するフレーム群である。本実施形態では、領域A1は、薄いトーンの色で表示され、領域A2は、濃いトーンの色で表示される。
【0039】
タイムラインバーT5は、アクティブファイル群のタイムライン上の任意の区間の選択をユーザから受け付ける。選択される区間は、連続区間であっても、不連続区間であってもよい。言い換えると、ユーザは、入力部20を介してタイムラインバーT5を操作することにより、アクティブファイル群の全フレームの中から、任意のフレームを任意の数だけ選択することができる。具体的には、ユーザは、タイムラインバーT5上で選択したいフレームに対応する分割領域を選択する。分割領域は、同時に複数選択が可能である。画像処理部41は、選択フレーム群を後述される画像処理の対象として認識する。なお、ユーザによりタイムラインバーT5上の分割領域が選択される度に、アクティブ表示フレームは、最新に選択された分割領域に対応するフレームに切り替わる。
FPS設定エリアT6は、アクティブファイル群の動画としての再生時のフレームレートを表示しつつ、その変更をユーザから受け付ける。
【0040】
<2−3.画像処理>
以下、選択フレーム群に対する画像処理(後述するアナログノイズ除去処理を除く。)について説明する。画像処理部41は、ノイズ除去、シャープネス、明るさ/コントラスト/彩度調整、画像解像度、回転、画像平均、文字/矢印/モザイクの付加などの複数の画像処理モジュールを実行可能である。画像処理モジュールは、画像処理プログラム2に組み込まれている。
【0041】
ユーザは、入力部20を介して基本画面W1を操作することにより、画像処理モジュールの中から任意のものを、任意の順番に、任意の回数だけ選択することが可能である。必要であれば、ユーザは、画像処理モジュールの選択に併せて、その画像処理モジュールの実行時に用いられるパラメータを入力する。画像処理部41は、ユーザが画像処理モジュールを1つ選択したことを検知する度に、選択フレーム群に対しその画像処理モジュールを実行する。なお、選択フレーム群に対し画像処理モジュールを実行するとは、選択フレーム群に含まれる各フレームに対しその画像処理モジュールを実行することである。
【0042】
フレームに対し画像処理モジュールが1回、2回、3回,・・・と、順次実行されてゆくにつれて、そのフレームは、第1次、第2次、第3次,・・・と、順次加工されてゆく。第0次フレームは、オリジナル画像領域51に保存されている静止画ファイルに対応する。第(m+1)次フレームは、第m次フレームに対応する静止画ファイルに対し画像処理モジュールを1回実行した後の静止画ファイルに対応する(mは、0以上の整数)。画像処理部41は、第1次以降のフレームに対応する静止画ファイルを順次生成し、これらの静止画ファイルを加工ファイル領域52内にそれぞれ別個に保存する。
【0043】
図4は、1のタイムラインに属する静止画群が画像処理プログラム2によりどのように管理されるかを示す概念図である。
図4において、横軸のN軸は、タイムライン上のフレームの順番を示しており、縦軸のM軸は、加工の順番を示している。
図4のN−M空間内の座標(n,m)に対応する四角形は、静止画I(n,m)を表している。静止画I(n,m)は、タイムライン上でn番目のフレームの第m次の静止画である(nは、自然数であり、mは、0以上の整数である)。
【0044】
制御部40は、各フレームについて、現在選択されている座標mの値をパラメータm
sとしてリアルタイムに管理する。オリジナル画像領域51へ静止画ファイル群が取り込まれた直後、座標m
sは、初期値0である。その後、画像処理モジュールが1回実行される度に、そのフレームの座標m
sは1ずつインクリメントされる。また、ユーザは、入力部20を介して所定の操作を行うことにより、選択フレーム群の座標m
sを自在に変更することができる。なお、フレームに対し画像処理モジュールを実行するとは、そのフレームの第m
s次の静止画に対し画像処理モジュールを実行することである。従って、座標m
sを変更することには、画像処理モジュールの実行の対象を変更するという意味がある。
【0045】
ところで、フレームを表示するとは、そのフレームの座標m
sの静止画を表示することである。従って、座標m
sを変更することには、アクティブな表示ウィンドウW2に表示される対象を変更するという意味もある。
【0046】
<2−4.アナログノイズ除去処理>
次に、アナログノイズ除去処理について説明する。画像処理部41は、アナログノイズ除去モジュールを実行可能である。アナログノイズ除去モジュールは、画像処理プログラム2に組み込まれている。以下、アナログノイズ除去処理が効果的なフレーム群の一例(以下、対象フレーム群と呼ぶ。)について説明した後、対象フレーム群に対するアナログノイズ除去処理の流れについて説明する。
【0047】
<2−4−1.アナログノイズ除去処理が効果的なフレーム群の例>
対象フレーム群は、防犯カメラ3により撮像され、ビデオテープレコーダ4により記録された動画に含まれるフレーム群である。
図5に示すように、防犯カメラ3は、同軸ケーブル6を介してビデオテープレコーダ4に接続され、ビデオテープレコーダ4にアナログビデオ信号を出力する。ビデオテープレコーダ4は、防犯カメラ3からのアナログビデオ信号を、アナログ式の記録媒体であるVHS(登録商標)テープ7に記録する。
【0048】
ユーザは、VHS(登録商標)テープ7に記録されている映像の画像処理を望む場合、ビデオキャプチャユニット8を介してビデオテープレコーダ4を画像処理装置1に接続する。ビデオキャプチャユニット8は、ビデオテープレコーダ4から送信されてくるアナログビデオ信号をデジタルビデオ信号に変換し、画像処理装置1に出力する。画像処理装置1には、エンコーダプログラム(図示されない)がインストールされている。エンコーダプログラムは、ビデオキャプチャユニット8からのデジタルビデオ信号を符号化し、画像処理プログラム2が取り込み可能な動画ファイル又は静止画ファイル群を生成するプログラムである。ユーザは、エンコーダプログラムを起動して、VHS(登録商標)テープ7に記録されている映像を含む動画ファイル又は静止画ファイル群を生成する。続いて、ユーザは、上述した態様で、その動画ファイル又は静止画ファイル群からオリジナル画像領域51へ画像データを取り込む。この時、オリジナル画像領域51に保存される静止画ファイル群に対応するフレーム群が、対象フレーム群である。
【0049】
本実施形態では、防犯カメラ3のフレームレートと、ビデオテープレコーダ4のフレームレートとが異なる。具体的には、防犯カメラ3のフレームレートは、1FPS(Frame Per Second)であり、ビデオテープレコーダ4のフレームレートは、29.97FPSである。従って、本実施形態では、防犯カメラ3のフレームレートが、ビデオテープレコーダ4のフレームレートよりも小さく、さらに、両者は整数倍の関係にない。
【0050】
その結果、
図6に示すように、防犯カメラ3で撮像された1枚のフレームが、29枚のフレーム又は30枚のフレームとして、VHS(登録商標)テープ7に記録され得る。より正確には、防犯カメラ3のタイムラインに沿って1枚目のフレームは、29枚のフレームとして、2枚目のフレームは、29枚のフレームとして、3枚目のフレームは、30枚のフレームとしてVHS(登録商標)テープ7に順次記録され得、以下同様に続き得る。
【0051】
従って、VHS(登録商標)テープ7には、防犯カメラ3で撮像された同じ1枚のフレームがタイムラインに沿って複数枚ずつ連続して出現するような態様で記録される。ただし、防犯カメラ3の同じ1枚のフレームに由来してVHS(登録商標)テープ7に記録される複数枚のフレームは、主としてランダムノイズの分だけ異なる。言い換えると、VHS(登録商標)テープ7には、タイムラインに沿って、主にランダムノイズ分の差しかない類似フレームが複数枚ずつ連続するフレーム群が記録される。
【0052】
また、防犯カメラ3の1枚のフレームに由来してVHS(登録商標)テープ7に記録されるフレーム数は、防犯カメラ3のフレームによらず概ね同数であるが、防犯カメラ3のフレームによって数枚程度異なる。従って、VHS(登録商標)テープ7には、タイムラインに沿って防犯カメラ3で撮像された同じ1枚のフレームが概ね同じ枚数ずつ(約30枚ずつ)連続して出現するような態様で記録されることになる。以下、VHS(登録商標)テープ7に記録されているフレームのうち、防犯カメラ3のタイムラインに沿ってn枚目のフレームに対応するフレームを、グループG(n)に属するものとする(nは、自然数)。
【0053】
本実施形態では、防犯カメラ3およびビデオテープレコーダ4は、インターレース方式である。従って、防犯カメラ3で撮像される1枚のフレームは、1つの奇数フィールドおよび1つの偶数フィールドからなる。同様に、VHS(登録商標)テープ7に記録される1枚のフレームも、1つの奇数フィールドおよび1つの偶数フィールドからなる。従って、VHS(登録商標)テープ7にタイムラインに沿って順次記録されるフレームの配列の中で、境界L付近のフレームは、防犯カメラ3の異なるフレームに由来する2つのフィールドを組み合わせた画像になる可能性が相対的に高い。
図6に示すように、境界Lとは、VHS(登録商標)テープ7にタイムラインに沿って順次記録されるフレームの配列の中で、グループG(n)に属するフレーム群と、グループG(n+1)に属するフレーム群との境界である(nは、自然数)。従って、グループG(n)内でタイムラインに沿って始端および終端のフレームは、同じグループG(n)内の他のフレームと類似していない可能性が相対的に高くなる。
【0054】
<2−4−2.アナログノイズ除去処理の流れ>
以下、
図7を参照しつつ、対象フレーム群に対するアナログノイズ除去処理の流れについて説明する。上記のとおり、本実施形態では、対象フレーム群とは、アナログ式の防犯カメラ3およびアナログ式のビデオテープレコーダ4により録画されたものである。従って、対象フレーム群に含まれる各フレームは、ランダムノイズを含むが、対象フレーム群に対しアナログノイズ除去処理を実行することにより、そのランダムノイズを除去することができる。
【0055】
画像処理部41は、選択フレーム群を、アナログノイズ除去処理の実行の対象とする。従って、ユーザは、入力部20を操作することにより、アナログノイズ除去処理の実行の対象としたい対象フレーム群を、選択フレーム群として選択する。ただし、選択フレーム群にフレームが1枚しか含まれない場合には、アナログノイズ除去処理は実行できないものとする。画像処理部41は、複数枚のフレームを含む選択フレーム群が適切に指定されている状態で、ユーザが基本画面W1上で所定の操作を行ったことを検知すると、
図7に示すアナログノイズ除去処理を開始する。
【0056】
まず、ステップS1では、エリア設定部41aが、所定のルールに従って、選択フレーム群に含まれる各フレームから特定のエリアB1(
図3参照)を除外する。本実施形態では、除外される特定のエリアB1とは、フレームの下方の横に細長い領域である。また、本実施形態では、特定のエリアB1の位置を特定するための所定のルールとして、例えば、フレームの下方のX%を除外するようにする(又は、フレームの上方のX%を残すようにする)等の情報が、予め定められているものとする。なお、ステップS1において特定のエリアB1を除外するのは、そのようなエリアB1には、時刻等の字幕の情報が表示されることが多いからである。言い換えると、選択フレーム群に特定のエリアB1を残した状態では、後のステップS2〜S5においてグループG(n)を正しく判断することができなくなり得るからである。従って、この観点からは、特定のエリアB1としては、フレームの下方のエリアに代えて又は加えて、例えば、フレームの上方のX%を除外するようにすることもできる。以下では、簡単のため、特定のエリアB1が除外された選択フレーム群についても、単に選択フレーム群と呼ぶ。
【0057】
そして、続くステップS2〜ステップS4では、パターン検出部41bが、選択フレーム群に含まれる隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かを判断する。
いま、選択フレーム群には、K枚のフレームF
1,・・・,F
K(Kは、2以上の整数)が含まれているものとする。この場合において、ステップS2では、パターン検出部41bが、K枚のフレームF
1,・・・,F
Kから(K−1)枚の差分画像P
1,・・・,P
K-1を生成する(
図8参照)。ここで、差分画像P
iとは、フレームF
iとフレームF
i+1との差分画像であり(i=1,2,・・・,K−1)、各画素について、フレームF
iのその画素の画素値からフレームF
i+1のその画素の画素値を減算することにより生成される。
【0058】
続くステップS3では、パターン検出部41bは、差分画像P
1,・・・,P
K-1に含まれる各差分画像P
iに対し、差分度D
iを算出する。差分度D
iは、隣接するフレームF
iとフレームF
i+1との間の変化の度合いを表す指数であり、本実施形態では、差分画像P
iに含まれる画素値の絶対値の最大値である。
【0059】
続くステップS4では、パターン検出部41bは、差分度D
1,・・・,D
K-1が所定の閾値以上となる点(変化点)が、タイムラインに沿って概ね同じ間隔で出現するか否かを判断する。なお、本実施形態では、パターン検出部41bは、差分度D
1,・・・,D
K-1と比較される閾値の値として、差分度D
1,・・・,D
K-1のうち、差分度D
1,・・・,D
K-1の平均値以上となる差分度群の平均値を算出する。
【0060】
図9は、対象フレーム群に対してアナログノイズ除去処理を実行した場合の、タイムライン(横軸)−差分度D
i(縦軸)のグラフである。このように、対象フレーム群に対してアナログノイズ除去処理が実行される場合には、変化点がタイムラインに沿って概ね同じ間隔で出現する。より具体的には、変化点が、タイムラインに沿って、原則として29枚、29枚、30枚、・・・のフレームに相当する時間の間隔で出現する。なお、
図9では、差分度D
iが、タイムライン上の全区間に対し常におおよそ100以上であるが、この100は、ランダムノイズの影響によるものである。
【0061】
ステップS4についてより具体的に説明すると、まず、パターン検出部41bは、29,29,30,・・・のような、タイムライン上における変化点間のフレームの枚数の配列を特定する。そして、パターン検出部41bは、この配列に含まれる全要素(29,29,30等)に対し、所定の範囲(例えば、4)内に収まっている要素の割合が所定の割合(例えば、90%)以上である場合には、変化点がタイムラインに沿って概ね同じ間隔で出現すると判断する。この場合、処理は、ステップS5に進められる。一方、そうでない場合には、変化点がタイムラインに沿って概ね同じ間隔で出現しないと判断され、処理が終了する。
【0062】
次に、ステップS5では、グループ分割部41cが、ステップS4で特定された変化点間のフレームの枚数の配列、すなわち、変化点がタイムラインに沿って出現する間隔のとおりに、選択フレーム群をタイムラインに沿ってグループGc(1),Gc(2),・・・に分割する。このグループGc(1),Gc(2),・・・は、本来的にはグループG(1),G(2),・・・に一致するはずであるが、タイムライン上で現実に変化点が出現するパターンには、
図9のC1〜C3のような例外が存在し得る。そこで、この誤差をなくすために、以下の処理を施す。
【0063】
すなわち、グループ分割部41cは、
図9のC3のように、変化点が本来存在すべき場所にない場合に対応すべく、ステップS4で特定された変化点間のフレームの枚数の配列に従って、本来あるべきはずの変化点の位置を推測し、グループGc(1),Gc(2),・・・を修正する。具体的には、本実施形態では、ステップS4で特定された変化点間のフレームの枚数の配列(29,29,30,・・・)の中に、他の要素の概ねN倍(ただし、Nは整数)の要素が含まれる場合に、当該要素に対応するフレーム群をタイムラインに沿ってN個のグループに分割することにより、グループGc(1),Gc(2),・・・が修正される。また、グループ分割部41cは、
図9のC1,C2のように、タイムライン上で複数の変化点が連続する場合には、ステップS4で特定された変化点間のフレームの枚数の配列に従って、より妥当でないと判断される方の変化点を無視することにより、グループGc(1),Gc(2),・・・を修正する。具体的には、本実施形態では、ステップS4で特定された変化点間のフレームの枚数の配列(29,29,30,・・・)の中に値が「1」の要素が含まれる場合に、当該要素に対応するフレームを、当該要素の直前又は直後の要素であってより小さい方の要素に対応するグループに分類し直すことにより、グループGc(1),Gc(2),・・・が修正される。そして、その結果、正しいグループG(1),G(2),・・・が規定されることになる。その後、グループ分割部41cは、選択フレーム群をタイムラインに沿ってグループG(1),G(2),・・・に分割し直す。
【0064】
続いて、ステップS6では、ノイズ除去部41dが、ステップS5でグループ分割部41cにより分割されたグループG(n)の単位で、選択フレーム群からランダムノイズを除去する。具体的には、ノイズ除去部41dは、各グループG(1),G(2),・・・について、以下の平均処理を実行する。グループG(1)についての平均処理は、以下のとおりである。
【0065】
まず、ノイズ除去部41dは、グループGe(1)を定義する。グループGe(1)とは、グループG(1)に属する全フレームから除外フレームを除外したグループである。除外フレームは、タイムラインに沿って連続して出現した複数の変化点に共通して対応するフレームである。
【0066】
ここで、隣接するグループG(n)間の境界L付近のフレーム、すなわち、グループG(n)内の始端および終端のフレームは、同じグループG(n)内の他のフレームと類似していない可能性が相対的に高い。このようなフレームは、上記のとおり、防犯カメラ3の異なるフレームに由来する2つのフィールドを組み合わせた画像である可能性が相対的に高いからである。そして、タイムラインに沿って連続して出現した複数の変化点に共通して対応するフレームは、そのような始端又は終端のフレームであると考えられるため、ステップS6においては、平均処理の対象から除外すべく、グループG(n)から除外されるようになっている。
【0067】
続いて、ノイズ除去部41dは、グループGe(1)に含まれる全フレームを平均化し、グループG(1)を代表する1枚の代表フレームを生成する。具体的には、ノイズ除去部41dは、各画素について、グループGe(1)に含まれる全フレームの画素値の平均値を算出し、算出された平均値をその画素の画素値とする新たな1枚の代表フレームを生成する。代表フレームの静止画ファイルは、グループGe(1)に含まれる全フレームの静止画ファイルとは別のファイルとして、加工ファイル領域52内に保存される。
【0068】
以後、グループG(2),・・・についても、同様の平均処理が実行される。そして、全グループG(1),G(2),・・・についての平均処理が終了すると、グループG(1),G(2),・・・の数と同数の代表フレーム群が生成されたことになる。以後、制御部40は、これらの代表フレーム群を、新たなタイムライン上の動画として管理する。
【0069】
続くステップS7では、制御部40は、この新たなタイムラインに対応する表示ウィンドウW2を新たに作成し、基本画面W1上に表示する。
図10は、
図3の状態からアナログノイズ除去処理が実行された後の基本画面W1の図である。
図3及び
図10のFPS設定エリアT6を比較すれば分かるように、制御部40は、この新たなタイムラインのフレームレートを算出する。具体的には、この新たなフレームレートは、元の選択フレーム群のフレームレートに、ステップS6で省略されたフレームの割合(元の選択フレーム群に含まれるフレーム枚数分の代表フレーム群に含まれるフレームの枚数)を乗じることにより算出される。そして、その後、アナログノイズ除去処理が終了する。
【0070】
<3.用途>
画像処理プログラム2は、多種多様な動画に対する画像処理を取り扱うことができるが、例えば、警察等の機関が事件の捜査のために防犯カメラの監視映像を解析するのにも利用され得る。本実施形態に係るアナログノイズ除去処理は、例えば、防犯カメラにより撮像され、ビデオテープレコーダにより記録された監視映像からランダムノイズ等の様々なノイズを除去するのに有用である。
【0071】
<4.特徴>
<4−1>
上記実施形態では、ステップS2〜S4において、選択フレーム群に含まれる隣接フレーム間の変化が大きくなる変化点が、タイムラインに沿って概ね同じ間隔で出現するか否かが判断される。言い換えると、類似フレームが、タイムライン上で概ね同じ枚数ずつ連続するような態様で配列されているか否かが判断される。そして、タイムライン上の選択フレーム群がそのような態様で配列されていると判断された場合には、変化点が出現する間隔、すなわち、類似フレームが連続する間隔に従って、ランダムノイズを除去する単位となるグループG(1),G(2),・・・が決定される。すなわち、ランダムノイズを除去する単位となるグループG(1),G(2),・・・が、類似フレームのグループとなる。従って、選択フレーム群が、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現するフレーム群である場合には、ランダムノイズを高精度に除去することができる。
【0072】
<4−2>
上記実施形態では、ステップS6において、複数枚の類似フレームからなる各グループGe(n)について、それらの類似フレームからランダムノイズの除去された1枚の代表フレームが生成される。従って、新たなタイムライン上では、類似フレームが複数枚ずつ存在することの冗長性が排除される。
【0073】
<5.変形例>
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。
<5−1>
アナログノイズ除去処理が実行されるタイミングは、上述した態様に限られない。例えば、オリジナル画像領域51への画像データの取り込み時に、取り込み元となる静止画ファイル又は動画ファイルに含まれるフレーム群に対して自動的に実行されるようにしてもよい。さらに、この場合においては、オリジナル画像領域51への画像データの取り込み時に自動的にアナログノイズ除去処理を実行するか否かを、ユーザが環境設定等で予め設定できるようにすることが好ましい。
【0074】
<5−2>
上記実施形態では、ステップS1で除外される特定のエリアB1は、その位置が予め定められているものとしたが、選択フレーム群を画像処理することにより、字幕等の除外すべき情報を表示するエリアが存在しているか否かを自動的に判断し、そのようなエリアが存在すると判断された場合に限り、そのようなエリアが特定のエリアB1として除外されるようにしてもよい。あるいは、アナログノイズ除去処理を開始する前に、ユーザに特定のエリアB1(又は、特定のエリアB1以外の残すべきエリア)を手動で選択させるようにしてもよい。
【0075】
<5−3>
ステップS4において、差分度D
1,・・・,D
K-1と比較される所定の閾値は、上述したものに限られず、グループG(n)間の境界Lに対応する変化点を検出することが可能な値であれば、任意のものを採用することができる。例えば、差分度D
1,・・・,D
K-1の平均値であってもよい。
【0076】
<5−4>
上記実施形態では、ステップS3において、差分度D
iとして、差分画像P
iに含まれる画素値の絶対値の最大値が算出されたが、この態様に限られず、例えば、差分画像P
iに含まれる画素値の絶対値の平均値が算出されてもよいし、上位L個の画素値の絶対値の平均値が算出されてもよい(L≧2)。ここで、
図11は、対象フレーム群に対してアナログノイズ除去処理を実行した場合の、タイムライン(横軸)−差分画像P
iに含まれる画素値の絶対値の平均値である差分度D
i(縦軸)のグラフである。なお、上記実施形態のように、差分度D
iとして差分画像P
iの画素値の絶対値の最大値を用いる場合には、差分度D
iとして
図11に示す平均値を用いる場合よりも、小さな点の変化が見つけやすくなるという利点がある。
【0077】
<5−5>
上記実施形態では、ステップS6において、各グループG(n)について生成される代表フレームの枚数Yは1枚であったが、これに限られず、任意の枚数とすることができる。グループG(n)に属するフレームの枚数をX枚としたときに、Y=Xであってもよいし、Y>Xであってもよいし、Y<Xであってもよい。ただし、類似フレームの冗長性を低減する観点からは、Y<Xであることが望ましい。
【0078】
<5−6>
アナログノイズ除去処理は、上記実施形態で例示された対象フレーム群に対してのみ適用可能なのではなく、タイムラインに沿って類似フレームが概ね同じ枚数ずつ連続して出現するフレーム群全般に対して適用可能である。例えば、記録装置のフレームレートが撮像装置のフレームレートの整数倍である場合には、タイムラインに沿って類似フレームが同じ枚数(複数枚)ずつ連続して出現する可能性が高くなるが、そのような場合にも当然適用可能である。
【0079】
<5−7>
上記実施形態では、アナログノイズ除去処理が効果的なフレーム群として、アナログ式の記録装置(ビデオテープレコーダ4)に記録された映像に含まれるフレーム群を例示したが、デジタル式の記録装置に記録されたデジタル圧縮形式の画像データから生成されるフレーム群であってもよい。デジタル圧縮形式の画像データに含まれるフレーム群にも、各種のノイズが含まれるからである。特に、フレーム間の圧縮が行われる動画ファイルの場合には、複数枚に1枚の割合でしか完全なフレームのデータが含まれないことがある。その場合、その他のフレームのデータとしては、完全なフレームからの差分のデータのみが記録されることが多く、ノイズ量が増加しがちである。従って、このようなデジタル圧縮形式の画像データから生成されるフレーム群は、上述のアナログノイズ除去処理を実行するのに適している。
【0080】
<5−8>
ステップS6において、フレーム群からノイズを除去する方法は、平均値を算出する上記態様に限られない。例えば、各画素について、所定の刻み毎にフレーム群の画素値のヒストグラムを作成し、最大分布の刻みの画素値を、その画素のノイズ除去後の画素値としてもよい。なお、平均値を算出する方法としても、相加平均値や相乗平均値を算出する等、複数の画素値を均す様々な方法を適宜選択し得る。
【0081】
<5−9>
上記実施形態では、防犯カメラ3およびビデオテープレコーダ4の両方が、インターレース方式であったが、アナログノイズ除去処理は、インターレース方式でない機器によって撮像され、記録されたフレーム群に対しても適用可能である。しかしながら、上述のアナログノイズ除去処理は、グループG(n)の始端及び終端フレームの少なくとも一方をステップS6の平均処理から除外する機能を有しているため、撮像装置および記録装置の少なくとも一方がインターレース方式である場合に、特に有用である。
【0082】
<5−10>
上記実施形態では、ステップS7で生成された代表フレーム群は、新たなタイムライン上で管理されることとしたが、元のタイムライン上で管理してもよい。そして、選択フレーム群が座標m=j(jは、0以上の整数)の静止画に対応するものとしたときに、代表フレーム群は、座標m=(j+1)の静止画に対応するものとする。その結果、ユーザは、フレームの座標m
sを操作することにより、アクティブな表示ウィンドウW2上でアナログノイズ除去処理の実行前後の静止画を瞬時に切り替えながら、確認することができる。
【0083】
<5−11>
上記実施形態では、オリジナル画像領域51へ取り込まれた画像データは、全て静止画ファイルとして保存されるようになっていた。しかしながら、オリジナル画像領域51へ取り込まれた画像データを、動画ファイルとして保存するようにしてもよい。さらに、その後、動画ファイルに対して画像処理が施される場合には、その画像処理後の画像データも動画ファイルの形式で保存するようにしてもよい。