(57)【要約】【課題】画像に含まれるエッジを強調しつつ、エッジの周辺のアーティファクトを除去することができる。【解決手段】劣化画像のエッジを強調しつつノイズを除去する画像処理装置が提供される。画像処理装置は、フィルタリング部を備える。フィルタリング部は、劣化画像内で注目画素の位置を移動させながら、注目画素の近傍領域にフィルタを適用する。フィルタの重みは、複数種類のガウス関数の積として表される。フィルタリング部は、注目画素毎に、フィルタの重みを異なるように設定する。【選択図】図５
2019008407.tif 000002
【特許請求の範囲】
【請求項１】
劣化画像のエッジを強調しつつノイズを除去する画像処理装置であって、
前記劣化画像内で注目画素の位置を移動させながら、前記注目画素の近傍領域にフィルタを適用するフィルタリング部
を備え、
前記フィルタの重みは、複数種類のガウス関数の積として表され、
前記フィルタリング部は、前記注目画素毎に、前記重みを異なるように設定する、
画像処理装置。
【請求項２】
前記複数種類のガウス関数には、前記注目画素に対する画素値差に依存するガウス関数が含まれ、
前記フィルタリング部は、前記注目画素毎に、前記画素値差に依存するガウス関数の標準偏差を異なる値に設定する、
請求項１に記載の画像処理装置。
【請求項３】
前記フィルタリング部は、前記劣化画像の勾配画像の二値化画像を作成し、前記二値化画像に現れる線の線幅に沿って両側にある画素の画素値差に応じて、前記画素値差に依存するガウス関数の前記標準偏差を設定する、
請求項２に記載の画像処理装置。
【請求項４】
前記複数種類のガウス関数には、前記注目画素からの距離に依存するガウス関数が含まれ、
前記フィルタリング部は、前記劣化画像のボケ量を算出し、前記ボケ量に応じて、前記距離に依存するガウス関数の標準偏差を設定する、
請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記フィルタリング部は、前記劣化画像の勾配画像の二値化画像を作成し、前記二値化画像に現れる線の線幅に応じて、前記ボケ量を算出する、
請求項４に記載の画像処理装置。
【請求項６】
前記フィルタは、バイラテラルフィルタ又はトリラテラルフィルタである、
請求項１から５のいずれかに記載の画像処理装置。
【請求項７】
前記フィルタリング部は、２回以上の所定の回数、前記劣化画像に前記フィルタを適用する、
請求項１から６のいずれかに記載の画像処理装置。
【請求項８】
劣化画像のエッジを強調しつつノイズを除去する画像処理方法であって、
前記劣化画像内で注目画素の位置を移動させながら、前記注目画素の近傍領域にフィルタを適用するステップ
を含み、
前記フィルタの重みは、複数種類のガウス関数の積として表され、
前記フィルタを適用するステップでは、前記注目画素毎に、前記重みが異なるように設定される、
画像処理方法。
【請求項９】
劣化画像のエッジを強調しつつノイズを除去する画像処理プログラムであって、
前記劣化画像内で注目画素の位置を移動させながら、前記注目画素の近傍領域にフィルタを適用するステップ
をコンピュータに実行させ、
前記フィルタの重みは、複数種類のガウス関数の積として表され、
前記フィルタを適用するステップでは、前記注目画素毎に、前記重みが異なるように設定される、
画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、劣化画像のエッジを強調しつつノイズを除去する画像処理装置、方法及びプログラムに関する。
【背景技術】
【０００２】
画像に含まれるノイズを除去し、画像を平滑化することができるフィルタの１つとして、ガウシアンフィルタが有名である。ガウシアンフィルタは、画像を走査しながら画像に含まれる局所領域に順次適用されるフィルタであり、フィルタのカーネルの重みが、中心の画素から離れるほどガウス関数に従って小さくなるように設定されたフィルタである。
【０００３】
しかしながら、画像にガウシアンフィルタを適用すると、ノイズが除去される一方で、画像に含まれるエッジ（輪郭線）がボケてしまう傾向にある。この欠点を補うのが、バイラテラルフィルタである。バイラテラルフィルタは、カーネルの重みが、中心の画素からの距離に依存するガウス関数と、中心の画素に対する画素値差に依存するガウス関数との積で表される（例えば、特許文献１，２等参照）。これら２つのガウス関数は、いずれもガウス分布の標準偏差をパラメータとしており、距離に依存するガウス関数の標準偏差を調整することにより、フィルタリング後の画像のボケ具合（ノイズの改善度合い）が決定される。また、画素値差に依存するガウス関数の標準偏差を調整することにより、フィルタリング後の画像におけるエッジの強調度合いが決定される。そして、従来、画像にバイラテラルフィルタが適用されるとき、画像内においてフィルタが適用される局所領域の位置に関係なく、画像全体に対して上述した２つの標準偏差が、ひいては画像全体に対してカーネルの重みが一律に設定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１８７６４５号公報
【特許文献２】特開２０１６−８５５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、画像の特徴は、局所領域毎に異なる。にもかかわらず、画像のあらゆる局所領域に一律の重みを有するフィルタを適用するのでは、十分なノイズ除去効果とエッジ強調効果との両方を得ることは難しいことがある。
【０００６】
また、例えば、画像の細部を観察したい場合には、しばしば画像が拡大されるが、このとき、場合によっては、拡大によりボケた画像のエッジを強調することが必要となり得る。そして、一般的な補間アルゴリズム（バイキュービック等）で画像を拡大し、一般的なエッジ強調アルゴリズム（ラプラシアンフィルター、アンシャープマスク等）でエッジを補正する場合、拡大倍率が大きければボケが強くなるため、画像にはシュートやハロー、ジャギー等の各種アーティファクト（ノイズ）が表れて、画質が低下し得る。
【０００７】
本発明は、画像に含まれるエッジを強調しつつ、エッジの周辺のアーティファクトを除去することができる画像処理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１観点に係る画像処理装置は、劣化画像のエッジを強調しつつノイズを除去する画像処理装置であって、フィルタリング部を備える。前記フィルタリング部は、前記劣化画像内で注目画素の位置を移動させながら、前記注目画素の近傍領域にフィルタを適用する。前記フィルタの重みは、複数種類のガウス関数の積として表される。前記フィルタリング部は、前記注目画素毎に、前記重みを異なるように設定する。
【０００９】
本発明の第２観点に係る画像処理装置は、第１観点に係る画像処理装置であって、前記複数種類のガウス関数には、前記注目画素に対する画素値差に依存するガウス関数が含まれる。前記フィルタリング部は、前記注目画素毎に、前記画素値差に依存するガウス関数の標準偏差を異なる値に設定する。
【００１０】
本発明の第３観点に係る画像処理装置は、第２観点に係る画像処理装置であって、前記フィルタリング部は、前記劣化画像の勾配画像の二値化画像を作成し、前記二値化画像に現れる線の線幅に沿って両側にある画素の画素値差に応じて、前記画素値差に依存するガウス関数の前記標準偏差を設定する。
【００１１】
本発明の第４観点に係る画像処理装置は、第１観点から第３観点のいずれかに係る画像処理装置であって、前記複数種類のガウス関数には、前記注目画素からの距離に依存するガウス関数が含まれる。前記フィルタリング部は、前記劣化画像のボケ量を算出し、前記ボケ量に応じて、前記距離に依存するガウス関数の標準偏差を設定する。
【００１２】
本発明の第５観点に係る画像処理装置は、第４観点に係る画像処理装置であって、前記フィルタリング部は、前記劣化画像の勾配画像の二値化画像を作成し、前記二値化画像に現れる線の線幅に応じて、前記ボケ量を算出する。
【００１３】
本発明の第６観点に係る画像処理装置は、第１観点から第５観点のいずれかに係る画像処理装置であって、前記フィルタは、バイラテラルフィルタ又はトリラテラルフィルタである。
【００１４】
本発明の第７観点に係る画像処理装置は、第１観点から第６観点のいずれかに係る画像処理装置であって、前記フィルタリング部は、２回以上の所定の回数、前記劣化画像に前記フィルタを適用する。
【００１５】
本発明の第８観点に係る画像処理方法は、劣化画像のエッジを強調しつつノイズを除去する画像処理方法であって、前記劣化画像内で注目画素の位置を移動させながら、前記注目画素の近傍領域にフィルタを適用するステップを含む。前記フィルタの重みは、複数種類のガウス関数の積として表される。前記フィルタを適用するステップでは、前記注目画素毎に、前記重みが異なるように設定される。
【００１６】
本発明の第９観点に係る画像処理プログラムは、劣化画像のエッジを強調しつつノイズを除去する画像処理プログラムであって、前記劣化画像内で注目画素の位置を移動させながら、前記注目画素の近傍領域にフィルタを適用するステップをコンピュータに実行させる。前記フィルタの重みは、複数種類のガウス関数の積として表される。前記フィルタを適用するステップでは、前記注目画素毎に、前記重みが異なるように設定される。
【発明の効果】
【００１７】
本発明の第１観点によれば、複数種類のガウス関数の積として表されるフィルタの重みが、画像全体に対して一律に設定されるのではなく、画像内においてフィルタが適用される位置に応じて異なるように設定される。その結果、局所領域毎の特徴を反映しながら、画像に含まれるエッジを強調しつつ、エッジの周辺のアーティファクトを除去することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る画像処理装置のブロック図。
【図２】画像データが取り込まれる前の基本画面の図。
【図３】画像データが取り込まれた後の基本画面の図。
【図４】１のタイムラインに属する静止画群を示す図。
【図５】本発明の一実施形態に係るエッジ保存型ノイズ除去処理（特殊バイラテラル処理）の流れを示すフローチャート。
【図６】（ａ）パターン画像。（ｂ）（ａ）のブレ画像。（ｃ）（ｂ）からさらにブレの進んだブレ画像。（ｄ）（ａ）の勾配画像の二値化画像。（ｅ）（ｂ）の勾配画像の二値化画像。（ｆ）（ｃ）の勾配画像の二値化画像。
【図７】画素値差ＰＶＤと、良好なエッジ強調の効果が得られる標準偏差σPとの関係を示すグラフ。
【図８】ボケ量ωと、良好なエッジ強調の効果が得られる標準偏差σRとの関係を示すグラフ。
【図９】（ａ）エッジの両側での画素値差ＰＶＤ＝７２のパターン画像の拡大画像。（ｂ）エッジの両側での画素値差ＰＶＤ＝５２のパターン画像の拡大画像。（ｃ）エッジの両側での画素値差ＰＶＤ＝２８のパターン画像の拡大画像。（ｄ）（ａ）に７回特殊バイラテラル処理を実行した画像。（ｅ）（ｂ）に７回特殊バイラテラル処理を実行した画像。（ｆ）（ｃ）に７回特殊バイラテラル処理を実行した画像。
【図１０】実施例及び比較例１〜４のためのサンプル画像。
【図１１】サンプル画像の劣化画像、並びに実施例及び比較例１〜４に係る補正画像の例。
【図１２】別のサンプル画像の劣化画像、並びに実施例及び比較例１〜４に係る補正画像の例。
【図１３】さらに別のサンプル画像の劣化画像、並びに実施例及び比較例１〜４に係る補正画像の例。
【図１４】サンプル画像、及び２〜６の拡大倍率で作成された劣化画像に対する実施例に係る補正画像。
【図１５】図１４のサンプル画像に基づいて２〜６の拡大倍率で作成された劣化画像に対する実施例及び比較例１〜４に係る補正画像。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明の幾つかの実施形態に係る画像処理装置、プログラム及び方法について説明する。
【００２０】
＜１．画像処理装置の構成＞
図１に示す画像処理装置１は、本発明の第１実施形態に係る画像処理装置である。画像処理装置１は、ハードウェアとしては、汎用のパーソナルコンピュータである。画像処理装置１には、ＣＤ−ＲＯＭやＵＳＢメモリ等のコンピュータが読み取り可能な記録媒体６０から、或いはＬＡＮやインターネット等のネットワーク経由で画像処理プログラム２が提供され、インストールされている。画像処理プログラム２は、動画及び静止画に対する画像処理を支援するためのアプリケーションソフトウェアである。画像処理プログラム２は、画像処理装置１に後述する動作に含まれるステップを実行させる。
【００２１】
画像処理装置１は、ディスプレイ１０、入力部２０、記憶部３０及び制御部４０を有する。これらの部１０〜４０は、互いにバス線やケーブル等の通信線５を介して接続されており、適宜、通信可能である。ディスプレイ１０は、液晶ディスプレイ等から構成され、後述する画面等をユーザに対し表示する。入力部２０は、マウスやキーボート、タッチパネル等から構成され、画像処理装置１に対するユーザからの操作を受け付ける。記憶部３０は、ハードディスクやフラッシュメモリ等から構成される不揮発性の記憶領域である。制御部４０は、ＣＰＵ、ＲＯＭ及びＲＡＭ等から構成される。
【００２２】
画像処理プログラム２は、記憶部３０内に格納されている。記憶部３０内には、ソフトウェア管理領域５０が確保されている。ソフトウェア管理領域５０は、画像処理プログラム２が使用する領域である。ソフトウェア管理領域５０内には、オリジナル画像領域５１及び加工ファイル領域５２が確保されている。各領域５１，５２の役割については、後述する。
【００２３】
制御部４０は、記憶部３０内に格納されている画像処理プログラム２を読み出して実行することにより、仮想的に表示制御部４１及び画像処理部４２として動作する。表示制御部４１は、ディスプレイ１０上に表示される画面、ウィンドウ、ボタンその他の全ての要素の表示を制御する。画像処理部４２は、様々な種類の画像処理を実行する。各部４１，４２の動作の詳細は、後述する。
【００２４】
＜２．画像処理装置の動作＞
制御部４０は、ユーザが入力部２０を介して所定の操作を行ったことを検出すると、画像処理プログラム２を起動する。画像処理プログラム２が起動されると、基本画面Ｗ１（図２参照）がディスプレイ１０上に表示される。
【００２５】
＜２−１．画像データの取込み＞
基本画面Ｗ１は、オリジナル画像領域５１への画像データの取込みの命令をユーザから受け付ける。オリジナル画像領域５１へ取り込まれた画像データは、後述する再生処理及び画像処理の対象になる。制御部４０は、静止画ファイル又は動画ファイルから、オリジナル画像領域５１へ画像データを取り込む。なお、本明細書において、静止画ファイルとは、静止画形式のデータファイルであり、動画ファイルとは、動画形式のデータファイルである。
【００２６】
静止画ファイルから画像データを取り込む場合、ユーザは、入力部２０を操作することにより、１の静止画ファイルを指定するか、又は１のフォルダを指定する。前者の場合、制御部４０は、その静止画ファイルの記憶部３０内のアドレスパス及びファイル名をユーザに入力させる。後者の場合、制御部４０は、そのフォルダの記憶部３０内のアドレスパス及びフォルダ名をユーザに入力させる。その後、制御部４０は、指定された静止画ファイル又は指定されたフォルダ内の全ての静止画ファイルを、オリジナル画像領域５１に静止画ファイル群として保存する。なお、本明細書において、「群」という場合には、その要素数は複数とは限らず、１つであってもよい。
【００２７】
一方、動画ファイルから画像データを取り込む場合、ユーザは、入力部２０を操作することにより、１の動画ファイルの記憶部３０内のアドレスパス及びファイル名を入力する。表示制御部４１は、ユーザが動画ファイルを指定したことを検出すると、基本画面Ｗ１上に動画取込みウィンドウ（図示されない）を重ねて表示させる。動画取込みウィンドウは、指定された動画ファイルのタイムラインの全区間うち、任意の区間の選択をユーザから受け付ける。制御部４０は、ユーザが入力部２０を介して特定の区間を選択したことを検出すると、選択された区間に含まれるフレーム群に１対１で対応する静止画ファイル群を生成する。その後、制御部４０は、この静止画ファイル群をオリジナル画像領域５１に保存する。従って、本実施形態では、後述する再生処理及び画像処理の対象となる画像データは、動画ファイルではなく、静止画ファイルである。
【００２８】
なお、制御部４０は、オリジナル画像領域５１へ取り込まれた静止画ファイル群が動画ファイルに由来するものではなく、静止画ファイルに由来するものであっても、静止画ファイル群に含まれるファイルをタイムラインに沿って配列されているものと認識する。配列は、ファイルの属性（ファイル名、作成日時、更新日時等）から自動的に判断される。
【００２９】
＜２−２．再生処理＞
オリジナル画像領域５１へ静止画ファイル群が取り込まれると、表示制御部４１は、基本画面Ｗ１上に表示ウィンドウＷ２（図３参照）を重ねて表示させる。表示ウィンドウＷ２は、オリジナル画像領域５１へ取り込まれた静止画ファイル群のタイムラインの数だけ作成される。
【００３０】
表示ウィンドウＷ２内には、まず、オリジナル画像領域５１へ取り込まれた静止画ファイル群に含まれる１の静止画ファイル（例えば、タイムライン上で先頭のフレームに対応する静止画ファイル）が表示される。その後、後述するとおり、表示ウィンドウＷ２内に表示されるフレームは、ユーザの操作を受けて切り替わる。
【００３１】
図３に示すとおり、基本画面Ｗ１上には、ウィンドウ選択プルダウンメニューＴ１、再生ボタンＴ２、コマ送りボタンＴ３、コマ戻しボタンＴ４及びタイムラインバーＴ５が配置されている。
【００３２】
表示ウィンドウＷ２が複数存在する場合であっても、アクティブな表示ウィンドウＷ２は１つである。ウィンドウ選択プルダウンメニューＴ１は、どの表示ウィンドウＷ２をアクティブとするかの選択をユーザから受け付ける。以下、アクティブな表示ウィンドウＷ２に対応するタイムラインを、アクティブタイムラインと呼び、アクティブタイムラインに属するフレーム群を、アクティブフレーム群と呼ぶ。また、アクティブな表示ウィンドウＷ２内に現在表示されているフレームを、アクティブフレームと呼ぶ。
【００３３】
表示制御部４１は、アクティブな表示ウィンドウＷ２内で、アクティブフレーム群を動画として再生可能である。再生ボタンＴ２は、アクティブフレーム群の動画としての再生の命令をユーザから受け付ける。表示制御部４１は、ユーザが入力部２０を介して再生ボタンＴ２を押下したことを検出すると、アクティブな表示ウィンドウＷ２内に、アクティブフレーム群に含まれるフレームを、タイムラインに沿って順次コマ送りの形式で表示させる。なお、再生は、再生ボタンＴ２が押下された時点のアクティブフレームから開始する。また、再生ボタンＴ２は、再生の停止の命令をユーザから受け付ける。表示制御部４１は、再生中にユーザが入力部２０を介して再生ボタンＴ２を押下したことを検出すると、アクティブな表示ウィンドウＷ２内の表示を、その時点のアクティブフレームに固定する。
【００３４】
コマ送りボタンＴ３、コマ戻しボタンＴ４はそれぞれ、アクティブフレームを、アクティブタイムラインに沿って１つ後、１つ前のフレームへ切り替える命令をユーザから受け付ける。
【００３５】
タイムラインバーＴ５は、アクティブタイムラインを図式的に示すオブジェクトである。タイムラインバーＴ５は、そのバーが延びる方向に、アクティブフレーム群に含まれるフレーム数で等分に分割されている。タイムラインバーＴ５上の左からｎ番目の分割領域は、アクティブタイムライン上でｎ番目のフレームに対応する（ｎは、自然数）。
【００３６】
図３に示すように、表示制御部４１は、タイムラインバーＴ５上において、選択フレーム群に対応する分割領域Ａ１と、非選択フレーム群に対応する分割領域Ａ２とを、異なる表示形式で表示する。選択フレーム群とは、アクティブタイムライン上で現在選択されている区間に属するフレーム群である。非選択フレーム群とは、アクティブタイムライン上で現在選択されていない区間に属するフレーム群である。
【００３７】
タイムラインバーＴ５は、アクティブタイムライン上の任意の区間の選択をユーザから受け付ける。このとき選択される区間は、連続区間であってもよいし、図３に示すように、不連続区間であってもよい。具体的には、ユーザは、入力部２０を介してタイムラインバーＴ５上の分割領域を操作することにより、アクティブフレーム群の中から、任意のフレームを任意の数だけ選択することができる。分割領域は、同時に複数選択が可能である。表示制御部４１は、ユーザによりタイムラインバーＴ５上の分割領域が選択される度に、アクティブフレームを最新に選択された分割領域に対応するフレームに直ちに切り替える。画像処理部４２は、選択フレーム群を後述される画像処理の対象として認識する。
【００３８】
＜２−３．画像処理＞
画像処理部４２は、選択フレーム群に対し、明るさ／コントラスト／彩度調整、拡大／縮小、ノイズ除去、シャープネス、歪曲補正、エッジ保存型ノイズ除などの複数の画像処理モジュールを実行可能である。画像処理モジュールは、画像処理プログラム２に組み込まれている。
【００３９】
ユーザは、入力部２０を介して基本画面Ｗ１を操作することにより、画像処理モジュールの中から任意のものを、任意の順番に、任意の回数だけ選択することが可能である。画像処理部４２は、ユーザが画像処理モジュールを選択したことを検出する度に、その時点の選択フレーム群に対しその画像処理モジュールを実行する。なお、選択フレーム群に対し画像処理モジュールを実行するとは、選択フレーム群に含まれる各フレームに対しその画像処理モジュールを実行することである。
【００４０】
フレームに対し画像処理モジュールが１回、２回、３回，・・・と、順次実行されてゆくにつれて、そのフレームは、第１次、第２次、第３次，・・・と、順次加工されてゆく。第０次フレームは、オリジナル画像領域５１に保存されている静止画ファイルに対応する。第（ｍ＋１）次フレームは、第ｍ次フレームの静止画ファイルに対し画像処理モジュールを１回実行した後の静止画ファイルに対応する（ｍは、０以上の整数）。画像処理部４２は、第１次以降のフレームに対応する静止画ファイルを順次生成し、これらの静止画ファイルを加工ファイル領域５２内にそれぞれ別個に保存する。
【００４１】
図４は、１のタイムラインに属する画像群が画像処理プログラム２によりどのように管理されるかを示す概念図である。図４において、横軸のＮ軸は、タイムライン上のフレームの順番を示しており、縦軸のＭ軸は、加工の順番を示している。図４のＮ−Ｍ空間内の座標（ｎ，ｍ）に対応する四角形は、画像Ｉ（ｎ，ｍ）を表している。画像Ｉ（ｎ，ｍ）は、タイムライン上でｎ番目のフレームの第ｍ次の画像である（ｎは、自然数であり、ｍは、０以上の整数である）。
【００４２】
制御部４０は、各フレームについて、現在選択されている座標ｍの値をパラメータｍsとして管理する。オリジナル画像領域５１へ静止画ファイル群が取り込まれた直後、座標ｍsは、初期値０である。その後、画像処理モジュールが１回実行される度に、そのフレームの座標ｍsは１ずつインクリメントされる。また、ユーザは、入力部２０を介して所定の操作を行うことにより、任意のフレームの座標ｍsを自在に変更することができる。なお、フレームに対し画像処理モジュールを実行するとは、そのフレームの第ｍs次の画像に対し画像処理モジュールを実行することである。従って、座標ｍsを変更することには、画像処理モジュールの実行の対象を変更するという意味がある。また、フレームを表示するとは、そのフレームの座標ｍsの画像を表示することである。従って、座標ｍsを変更することには、アクティブな表示ウィンドウＷ２内に表示される対象を変更するという意味もある。
【００４３】
＜３．エッジ保存型ノイズ除去＞
画像処理プログラム２に実装されている画像処理の１つである、エッジ保存型ノイズ除去処理とは、名前の通り、画像のエッジを強調しつつノイズを除去する処理である。エッジ保存型ノイズ除去処理には、一般的なバイラテラルフィルタによるフィルタリング処理（以下、一般バイラテラル処理という）と、特殊なバイラテラルフィルタによるフィルタリング処理（以下、特殊バイラテラル処理という）とが含まれる。特殊バイラテラル処理とは、一般バイラテラル処理を応用した超解像技術に係る処理である。
【００４４】
上記２種類のフィルタリング処理は、バイラテラルフィルタを用いて対象画像Ｆをフィルタリングし、補正画像Ｇを得る処理である。今、対象画像Ｆの左上からｘ方向（横方向）にi番目でｙ方向（縦方向）にｊ番目の位置（すなわち、（ｉ，ｊ）の位置）の画素の画素値を、ｆ（ｉ，ｊ）と表す（ｉ＝１，２，・・・，Ｉ，ｊ＝１，２，・・・，Ｊ，Ｉは、対象画像Ｆの横画素数、Ｊは、対象画像Ｆの縦画素数）。このとき、補正画像Ｇの（ｉ，ｊ）の位置の画素の画素値ｇ（ｉ，ｊ）は、下式のとおり表される。
【数１】
2019008407.tif 000003
【数２】
2019008407.tif 000004
【００４５】
上式中、ｋは、バイラテラルフィルタのカーネルのサイズを決定する定数である。また、ｗｇｔ（ｉ，ｊ，ｍ，ｎ）は、バイラテラルフィルタが適用される局所領域内の各画素に割り当てられる重みを表している。この重みｗｇｔ（ｉ，ｊ，ｍ，ｎ）は、数２のとおり、複数種類のガウス関数の積として表される。右辺の１つ目のｅｘｐ関数は、バイラテラルフィルタが適用される局所領域の中心の画素（注目画素）からの距離に依存するガウス関数である。また、右辺の２つ目のｅｘｐ関数は、注目画素に対する画素値差に依存するガウス関数である。これら２つのガウス関数は、いずれもガウス分布の標準偏差σR，σPをパラメータとしており、距離に依存するガウス関数の標準偏差σRを調整することにより、補正画像Ｇのボケ具合（ノイズの改善度合い）が決定される。また、画素値差に依存するガウス関数の標準偏差σPを調整することにより、補正画像Ｇをボケた状態からエッジが強調された状態まで変化させることができる。
【００４６】
一般バイラテラル処理では、上述した標準偏差σR，σP、ひいてはカーネルの重みが、対象画像Ｆ全体に対して一律に設定される。他方、本実施形態に係る特殊バイラテラル処理では、カーネルの重みが、対象画像Ｆ全体に対して一律に設定されるのではなく、対象画像Ｆ内においてフィルタが適用される位置に応じて異なるように設定される。その結果、局所領域毎の特徴を反映しながら、対象画像Ｆにおけるエッジを強調しつつ、対象画像Ｆのエッジ周辺のアーティファクトを除去することができる。なお、本実施形態では、標準偏差σPが注目画素毎に設定されるため、注目画素が対象画像Ｆ内において（ｉ，ｊ）の位置にあるときの標準偏差σPを、σP（ｉ，ｊ）と表すことがある。
【００４７】
以下、図５を参照しつつ、特殊バイラテラル処理の流れについて詳細に説明する。特殊バイラテラル処理は、選択フレーム群に含まれる各フレームを対象として実行される。なお、図５では、簡単のため、１枚のフレーム（対象画像Ｆ）に対する処理を説明するが、実際には、選択フレーム群に含まれる各フレームに対し、同様の処理が繰り返し実行されるものとする。
【００４８】
まず、ステップＳ１において、画像処理部４２は、対象画像Ｆの勾配画像Ｇ1を作成する。勾配画像Ｇ1とは、対象画像Ｆに含まれる各画素値のｘ方向（横方向）及びｙ方向（縦方向）の勾配（隣接画素間の画素値の増分）を表す画像である。勾配画像Ｇ1の（ｉ，ｊ）の位置の画素の画素値ｇ1（ｉ，ｊ）は、以下の式に従って算出される（ｉ＝１，２，・・・，Ｉ，ｊ＝１，２・・・，Ｊ）。
【数３】
2019008407.tif 000005
ただし、
【数４】
2019008407.tif 000006
である。ただし、ｆ（０，ｊ）及びｆ（ｉ，０）の値としては、この例に限られないが、０等の適当な値を設定することができる。
【００４９】
続くステップＳ２では、画像処理部４２は、勾配画像Ｇ1の二値化画像Ｇ2を作成する。二値化のための閾値は、本実施形態では８であるが、他の数値を設定することも可能である。また、本実施形態では、ｇ1（ｉ，ｊ）が閾値以上の場合に、ｇ2（ｉ，ｊ）＝Ｈ＝１に設定され、ｇ1（ｉ，ｊ）が閾値より小さい場合に、ｇ2（ｉ，ｊ）＝Ｌ＝０に設定される。なお、ｇ2（ｉ，ｊ）は、二値化画像Ｇ2の（ｉ，ｊ）の位置の画素の画素値である。
【００５０】
図６（ａ）〜（ｃ）は、それぞれブレ量の異なる３枚のパターン画像を示す。より具体的には、図６（ｂ）は、図６（ａ）の画像を拡大した画像であり、図６（ｃ）は、図６（ｂ）の画像をさらに拡大した画像である。また、図６（ｄ）〜図６（ｆ）は、それぞれ図６（ａ）〜（ｃ）の画像をステップＳ１，Ｓ２の方法で作成した二値化画像Ｇ2である。図６からも分かるとおり、二値化画像Ｇ2においては、対象画像Ｆに含まれるエッジが幅のある線として現れる。また、線の幅は、ボケが強い程太くなる。そのため、二値化画像Ｇ2に現れる線の線幅は、対象画像Ｆのボケ量ωを表す指標となる。
【００５１】
続いて、図５に示すとおり、画像処理部４２は、二値化画像Ｇ2を左上の画素から右下の画素までラスタスキャンし、ｇ2（ｉ，ｊ）＝Ｈ＝１の場合に、ステップＳ３〜Ｓ８を実行する。一方、ｇ2（ｉ，ｊ）＝Ｌ＝０の場合は、ステップＳ３〜Ｓ８が省略される。
【００５２】
ステップＳ３では、画像処理部４２は、二値化画像Ｇ2の（ｉ，ｊ）の位置の画素（注目画素）の勾配方向φ（ｉ，ｊ）を、以下の式に従って算出する。
【数５】
2019008407.tif 000007
【００５３】
続くステップＳ４では、画像処理部４２は、二値化画像Ｇ2内において（ｉ，ｊ）の位置の注目画素から勾配方向φ（ｉ，ｊ）に進みながら、ｇ2（ｉ，ｊ）＝Ｌ＝０となる画素Ｐ１を探索する。また、続くステップＳ５では、画像処理部４２は、二値化画像Ｇ2内において（ｉ，ｊ）の位置の注目画素から勾配方向φ（ｉ，ｊ）の逆方向に進みながら、ｇ2（ｉ，ｊ）＝Ｌ＝０となる画素Ｐ２を探索する。さらに、ステップＳ６では、画素Ｐ１，Ｐ２間の距離を決定する。この距離は、画素数に基づいて表される。
【００５４】
画素Ｐ１，Ｐ２は、画素値Ｈの注目画素から勾配方向φ（ｉ，ｊ）又はその逆方向に進みながら、画素値がＬに切り替わる画素である。従って、画素Ｐ１，Ｐ２間の距離とは、二値化画像Ｇ2に現れる線の線幅、すなわち、対象画像Ｆのボケ量ωを表すことができる。
【００５５】
続くステップＳ７では、画像処理部４２は、画素Ｐ１，Ｐ２間の画素値差ＰＶＤを算出する。ＰＶＤは、画素Ｐ１の画素値と画素Ｐ２の画素値との差分の絶対値として算出される。ＰＶＤは、二値化画像Ｇ2に現れる線の線幅に沿って両側にある画素間の画素値差である。ところで、対象画像Ｆにおいてエッジの両側の画素間の画素値差が大きければ大きい程、エッジは明瞭になると言える。従って、ＰＶＤは、エッジの明瞭さを表す指標となる。
【００５６】
続くステップＳ８では、画像処理部４２は、画素値差ＰＶＤに応じて、標準偏差σP（ｉ，ｊ）を設定する。具体的には、予め定められている以下の式にステップＳ７のＰＶＤを代入することにより、σP（ｉ，ｊ）を算出する。本実施形態では、注目画素毎にσP（ｉ，ｊ）が異なる値に設定される。
【数６】
2019008407.tif 000008
【００５７】
一般バイラテラルフィルタによる平滑化では、対象画像Ｆ全体に同じ標準偏差σPを用いるため、エッジ部分における画素値差ＰＶＤが小さい場合には、エッジが保存されずに平滑化される。逆に、エッジ部分におけるＰＶＤが大きいと、エッジの強調効果が生じない。従って、エッジ部分におけるＰＶＤに応じて重みを変化させると、それぞれのエッジを急峻にすることが可能である。
【００５８】
数６の式は、本発明者らが行った実験により得られた式である。本実験について、図７及び表１を参照しつつ、詳しく説明する。
【表１】
2019008407.tif 000009
【００５９】
まず、本発明者は、その両側において様々な画素値差ＰＶＤを有するエッジを含む画像を用意し、それぞれを様々な拡大倍率（２〜６倍）で拡大した拡大画像を作成した。そして、標準偏差σPを様々に変化させながら、これらの拡大画像にバイラテラルフィルタを順次適用した。なお、重みを設定するためのもう１つの標準偏差σRは、後述するステップＳ１０と同様に設定された。そして、バイラテラルフィルタが適用された補正画像の中から、最も良好なエッジ強調の効果が得られる画像を目視にて選択し、選択された画像に対応するσPを、良好なエッジ強調の効果が得られるσPとして決定した。表１は、このようなσPとＰＶＤとの関係をまとめたものである。
【００６０】
表１中の拡大倍率は、拡大画像のボケ量ωを表している。よって、表１からは、良好なエッジ強調の効果が得られる標準偏差σPは、画像のボケ具合に依存しないことが分かった。一方で、良好なエッジ強調の効果が得られるσPは、画素値差ＰＶＤに応じて変化することが分かった。
【００６１】
図７は、表１の結果に基づいて、良好なエッジ強調の効果が得られる標準偏差σPと、画素値差ＰＶＤとの関係をまとめたグラフである。数６は、σPとＰＶＤとの関係を表す回帰直線である。従って、数６の式によれば、ステップＳ７で得られたＰＶＤに基づいて、良好なエッジ強調の効果が得られるσPを算出することができる。
【００６２】
続いて、二値化画像Ｇ2に含まれる各画素に対するステップＳ３〜Ｓ８が終了すると、ステップＳ９に進む。ステップＳ９では、画像処理部４２は、ステップＳ６で得られた画素Ｐ１，Ｐ２間の距離、すなわち、二値化画像Ｇ2に現れる線の線幅に応じて、対象画像Ｆ全体としてのボケ量ωを算出する。より具体的には、ボケ量ωは、二値化画像Ｇ2に含まれるｇ2（ｉ，ｊ）＝Ｈ＝１となる全ての画素に対して得られた画素Ｐ１，Ｐ２間の距離の平均値として算出される。
【００６３】
続くステップＳ１０では、画像処理部４２は、ボケ量ωに応じて、標準偏差σRを設定する。具体的には、予め定められている以下の式にステップＳ９のωを代入することにより、σRを算出する。
【数７】
2019008407.tif 000010
【００６４】
対象画像Ｆに含まれるエッジを急峻にする効果を得るためには、ボケ量ωが大きい程、標準偏差σRも大きくすることが必要となり得る。数７の式は、本発明者らが行った実験により得られた式である。本実験について、図８及び表２を参照しつつ、詳しく説明する。
【表２】
2019008407.tif 000011
【００６５】
まず、本発明者は、図６（ａ）のパターン画像を様々な拡大倍率で拡大した劣化画像（例えば、図６（ｂ）及び（ｃ）の画像）を作成し、これらの画像全体としてのボケ量ωを算出した。次に、標準偏差σRを様々に変化させながら、劣化画像にバイラテラルフィルタを順次適用し、こうして得られた補正画像においてエッジが最も急峻となったときのσRを、良好なエッジ強調の効果が得られるσRとして決定した。なお、バイラテラルフィルタの重みを設定するためのもう１つの標準偏差σPは、前述のステップＳ８と同様に設定された。表２は、このようなσRとωとの関係をまとめたものである。ところで、数６及び数７の回帰式を導出する過程において、最初の段階では、ωとσRとの関係、ＰＶＤとσPとの関係、及びσR，σPの相互関係が分からない。よって、後述する図９のような様々なＰＶＤを有するパターン画像を複数の強度でぼかしたサンプル画像を多数作成し、σR及びσPを様々に変化させながら、サンプル画像の変化と各標準偏差σR，σPとの関係を調査した。
【００６６】
また、図８は、表２の結果に基づいて、良好なエッジ強調の効果が得られる標準偏差σRと、ボケ量ωとの関係をまとめたグラフである。数７は、σRとωとの関係を表す回帰直線である。従って、数７の式によれば、ステップＳ９で得られたωに基づいて、良好なエッジ強調の効果が得られるσRを算出することができる。
【００６７】
ステップＳ１０が終了すると、図５に示すとおり、画像処理部４２は、対象画像Ｆを左上の画素から右下の画素までラスタスキャンし、対象画像Ｆに含まれる各画素（注目画素）に対し、ステップＳ１１，Ｓ１２を実行する。
【００６８】
ステップＳ１１では、画像処理部４２は、既出の標準偏差σR，σP（ｉ，ｊ）に基づいて、対象画像Ｆ内において注目画素が（ｉ，ｊ）の位置にあるときのバイラテラルフィルタのカーネルの重みの配列を設定する。より具体的には、上述した数２の式に従って、ｍ＝−ｋ，−（ｋ−１），・・・，０，・・・，（ｋ−１），ｋ及びｎ＝−ｋ，−（ｋ−１），・・・，０，・・・，（ｋ−１），ｋに対し、バイラテラルフィルタのカーネル内の（ｍ，ｎ）の位置での重みｗｇｔ（ｉ，ｊ，ｍ，ｎ）を算出する。ただし、上述したことから明らかなとおり、ｇ2（ｉ，ｊ）＝Ｌ＝０の場合、標準偏差σPは算出されない。従って、図５に示すとおり、この場合には、σP＝１に設定される。なお、対象画像Ｆの端部では、ミラー（折り返し）により対象画像Ｆのサイズを広げることにより、ｗｇｔ（ｉ，ｊ，ｍ，ｎ）が算出される。
【００６９】
続くステップＳ１２では、画像処理部４２は、数１の式に従って、（ｉ，ｊ）の位置にある注目画素の近傍領域に、ステップＳ１１で算出された重みｗｇｔ（ｉ，ｊ，ｍ，ｎ）に基づくバイラテラルフィルタを適用し、補正画像Ｇに含まれる（ｉ，ｊ）の位置の画素の画素値ｇ（ｉ，ｊ）を算出する。図５に示すとおり、このステップＳ１２は、注目画素毎に所定の回数Ｑだけ、繰り返し実行される。Ｑの数は、特に限定されないが、好ましくは２回以上である。そして、対象画像Ｆに含まれる各画素に対するステップＳ１１，Ｓ１２が終了すると、補正画像Ｇが作成される。その後、特殊バイラテラル処理が終了する。
【００７０】
ところで、図９（ａ）〜（ｃ）の画像は、エッジの両側での画素値差ＰＶＤがそれぞれ７２，５２，２８となるように図６（ａ）のパターン画像の画素値を調整した後、これらのパターン画像を５倍拡大してボケさせた画像である。一方、図９（ｄ）〜（ｆ）は、それぞれ図９（ａ）〜（ｃ）の画像に対し、Ｑ＝７として特殊バイラテラル処理を実行した結果を表している。この実験では、ＰＶＤに関わらず、Ｑ＝７のときに、エッジを急峻にする効果が十分に発揮されるという結果を得た。よって、Ｑ＝７であることが好ましい。
【００７１】
＜４．用途＞
画像処理プログラム２は、多種多様な静止画及び動画に対する画像処理を取り扱うことができるが、例えば、警察等の機関が事件の捜査のために防犯カメラの監視映像を解析するのにも利用され得る。防犯カメラにおいては、注目する人や物等の対象が小さく映り込んでいることが多い。そのため、対象を詳細に観察するために画像を拡大し、さらにこれらを鮮鋭化すると、画像にはシュートやハロー、ジャギー等の各種アーティファクト（ノイズ）が表れ、しばしば画質が劣化する。この点、上述した特殊バイラテラル処理は、このような劣化画像のエッジを強調しつつ、アーティファクトを除去するのに特に好ましく使用することができる。
【００７２】
＜５．変形例＞
以上、一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の変更が可能である。また、以下の変形例の要旨は、適宜組み合わせることができる。
【００７３】
＜５−１＞
上記実施形態では、バイラテラルフィルタの重みを決定する標準偏差を注目画素毎に異なるものとしたが、同様のアルゴリズムは、例えばトリラテラルフィルタにも適用することができる。
【００７４】
＜５−２＞
上記実施形態では、画素値差に依存するガウス関数の標準偏差σPのみが注目画素毎に可変とされたが、距離に依存するガウス関数の標準偏差σRについても同様に可変とすることができる。また、標準偏差σRを注目画素毎に可変としつつ、標準偏差σPを画像全体に対し一定とすることもできる。
【実施例】
【００７５】
以下に、本発明の実施例について説明するが、本発明はこれに限定されない。
【００７６】
図１０に示されるサンプル画像を含む８７枚のサンプル画像を用意し、これらの画像をそれぞれ標準偏差σ＝１．２，１．５，１．８，２．１，２．４のガウスフィルターでぼかし、バイキュービック法により１／２，１／３，１／４，１／５，１／６倍に縮小した。さらに、これらの画像をバイキュービック法により元のサイズに拡大した。こうして得られた各劣化画像に対し、上記実施形態に係る特殊バイラテラル処理（実施例）、及び以下の４つの文献に示される補正処理（比較例１〜４）を実行し、補正画像を得た。
【００７７】
比較例１: 国際公開第2006／041127号, "劣化情報復元方法と復元装置"
比較例２: 北耕次ら、"図形パッチ学習型超解像", 電気学会論文誌C（電子・情報・システム部門誌）, Vol.136, No.7, pp.929-237, 2016.
比較例３：合志清ら、"非線形超解像技術の提案と画質評価”, 電子情報通信学会技術研究報告. PRMU2012−62, pp.59-64, 2012.
比較例４：Lingfeng Wangら,"Edge-Directed Single-Image Super-Resolution via Adaptive Gradient Magnitude Self-Interpolation", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL.23, NO.8, pp.1289-1299, 2013.
【００７８】
図１１〜図１３に、劣化画像並びに実施例及び比較例１〜４に係る補正画像の例を示す。なお、図１１〜図１３は、それぞれ拡大倍率が３倍、４倍、５倍の結果である。比較例１では、低倍率拡大における結果は良好であるが、高倍率になるにつれて、拡大する前の画素パターンが顕著に認められる。比較例３及び比較例４では、エッジの改善効果は大きいが、比較例３については図１１及び図１３、比較例４については図１２及び図１３に見られる様に、エッジの縁取り現象が比較的発生しやすい傾向がある。これらの手法の土台になっているアンシャープマスクまたはラプラシアンフィルターの特徴であると言える。また、比較例２では、曲線のみを学習するため、補正画像のエッジは非常に滑らかある。しかし、劣化が増すにつれて復元のための緻密な情報が学習データ中に多く必要となるため、曲線のみでは情報量が十分でなく、図１３のように復元効果が極端に悪くなることがある。これに対し、実施例に係る手法によれば、エッジ周辺のアーティファクトが減少しており、さらにエッジが急峻に保たれることが確認された。
【００７９】
図１４は、様々な拡縮の倍率で作成された劣化画像に対する、実施例に係る補正画像を示す。図１５は、同画像に基づいて様々な拡縮の倍率で作成された劣化画像に対する、比較例１〜４及び実施例に係る補正画像を示す。これらを見ると、実施例では、バイラテラルフィルタの持つ平滑化効果が確認された。にもかかわらず、比較例１〜４よりもエッジ周辺のアーティファクトが少なく、より明瞭なエッジが倍率に関わらず安定して得られた。
【００８０】
また、８７枚のサンプル画像に基づく劣化画像、並びに比較例１〜４及び実施例に係る補正画像に対し、上記実施形態のステップ９で定義されたボケ量ωを算出し、その拡大倍率毎の平均値を表３にまとめた。ωは、エッジが急峻なほど小さくなり、エッジが緩やかであるほど大きくなる。さらに、エッジが急峻でもその周辺にアーティファクトがあると、ωは大きくなる。表３によると、実施例に係るωは、比較例１〜４のいずれよりも顕著に小さい。よって、実施例に係る手法によれば、エッジ周辺のアーティファクトを排除しつつ、エッジを急峻に保つことができることが確認された。
【表３】
2019008407.tif 000012
【符号の説明】
【００８１】
１  画像処理装置
２  画像処理プログラム
４２  画像処理部（フィルタリング部）
【図１】
2019008407.tif 000013
【図２】
2019008407.tif 000014
【図３】
2019008407.tif 000015
【図４】
2019008407.tif 000016
【図５】
2019008407.tif 000017
【図６】
2019008407.tif 000018
【図７】
2019008407.tif 000019
【図８】
2019008407.tif 000020
【図９】
2019008407.tif 000021
【図１０】
2019008407.tif 000022
【図１１】
2019008407.tif 000023
【図１２】
2019008407.tif 000024
【図１３】
2019008407.tif 000025
【図１４】
2019008407.tif 000026
【図１５】
2019008407.tif 000027