(57)【特許請求の範囲】
【請求項１】
携帯端末を介して入力されたバーコード画像のボケ修正を行う方法であり、
（ａ）被写体に対する焦点距離を変化させて計算される、前記携帯端末に固有の第１から第ｎまでのｎ個のＯＴＦ（光学的伝達関数）を取得する段階と、
（ｂ）バーコード画像が前記携帯端末を介して入力された場合に、
（ｉ）利用可能な範囲の複数のＮＳＲ（ノイズ対信号比）から、ウィーナーフィルタリングの誤差メトリックへ適用される値として特定の値を確定し、
（ｉｉ）前記ｎ個のＯＴＦから計算されるｎ個のＰＳＦ（点拡がり関数）を、二分検索アルゴリズムにより前記ウィーナーフィルタリングの前記誤差メトリックへ適用し、
（ｉｉｉ）前記ウィーナーフィルタリングの前記誤差メトリックへの適用の結果が予め定められた閾値以下であるか否かを判断する、
段階と、
（ｃ）前記ウィーナーフィルタリングの前記誤差メトリックへの適用の結果が前記予め定められた閾値以下である場合、前記ウィーナーフィルタリングに用いられる値としてＰＳＦ値およびＮＳＲ値を選択し、その後、前記入力されたバーコード画像に対して、選択された前記ＰＳＦ値および選択された前記ＮＳＲ値を用いて前記ウィーナーフィルタリングを行う段階と
を備える方法。
【請求項２】
前記段階（ｂ）において、前記複数のＮＳＲのうちの前記特定の値は、前記入力されたバーコード画像から抽出され、その後、前記ウィーナーフィルタリングの前記誤差メトリックへ適用される値として確定される、請求項１に記載の方法。
【請求項３】
前記段階（ｂ）は、
（ｂ１）前記誤差メトリックへ適用される前記複数のＮＳＲの前記特定の値が確定されている間、ｎ／２である点に距離ｄを加えた点（ここで前記距離ｄの初期値はｎ／２に設定される）に対応する第１のＰＳＦ、前記ｎ／２である点から前記距離ｄを引いた点に対応する第２のＰＳＦ、および前記ｎ／２である点に対応する第３のＰＳＦを前記ウィーナーフィルタリングの前記誤差メトリックへ適用して、前記第１のＰＳＦ、前記第２のＰＳＦ、および前記第３のＰＳＦの誤差値のうち最小誤差値を取得する段階と、
（ｂ２）前記最小誤差値が前記予め定められた閾値より大きい場合に前記距離ｄをｄ／２として設定した後、前記最小誤差値に対応する点の前記距離ｄを加えた点（ここでは前記距離ｄはｎ／４である）に対応する第４のＰＳＦ、前記最小誤差値に対応する点から前記距離ｄを引いた点に対応する第５のＰＳＦ、および前記最小誤差値に対応する点の第６のＰＳＦを前記ウィーナーフィルタリングの前記誤差メトリックへ適用して、前記第４のＰＳＦ、前記第５のＰＳＦ、および前記第６のＰＳＦの誤差値のうち新たな最小誤差値を取得する段階と、
（ｂ３）取得した最小誤差値が前記予め定められた閾値より大きい場合、前記最小誤差値を前記新たな最小誤差値として設定しながら前記段階（ｂ２）を反復する段階と
を有する、請求項２に記載の方法。
【請求項４】
前記段階（ｂ３）において、前記新たな最小誤差値が前記予め定められた閾値以下となるまで前記反復が実行される、請求項３に記載の方法。
【請求項５】
端末を介して入力されたバーコード画像のボケ修正を行う前記端末であり、
被写体に対する焦点距離を変化させて計算される、前記端末に固有の第１から第ｎまでのｎ個のＯＴＦを取得した後に、前記ｎ個のＯＴＦからｎ個のＰＳＦ（点拡がり関数）を計算するＰＳＦ管理部と、
バーコード画像が前記端末を介して入力された場合に、
（ｉ）利用可能な範囲の複数のＮＳＲ（ノイズ対信号比）から、ウィーナーフィルタリングの誤差メトリックへ適用される値として特定の値を確定し、
（ｉｉ）前記ｎ個のＯＴＦから計算された前記ｎ個のＰＳＦを、二分検索アルゴリズムにより前記ウィーナーフィルタリングの前記誤差メトリックへ適用し、
（ｉｉｉ）前記ウィーナーフィルタリングの前記誤差メトリックへの適用の結果が予め定められた閾値以下であるか否かを判断する、
誤差メトリック適用部と、
前記ウィーナーフィルタリングの前記誤差メトリックへの適用の結果が前記予め定められた閾値以下である場合、前記ウィーナーフィルタリングに用いられる値としてＰＳＦ値およびＮＳＲ値を選択し、その後、前記入力されたバーコード画像に対して、選択された前記ＰＳＦ値および選択された前記ＮＳＲ値を用いて前記ウィーナーフィルタリングを行うフィルタリング実行部と
を備える端末。
【請求項６】
前記誤差メトリック適用部は、前記複数のＮＳＲのうちの前記特定の値を前記入力されたバーコード画像から抽出し、その後、前記ウィーナーフィルタリングの前記誤差メトリックへ適用される値として前記特定の値を確定する、請求項５に記載の端末。
【請求項７】
前記複数のＮＳＲのうちの前記特定の値が確定されている間、
前記誤差メトリック適用部は、
（ｉ）前記誤差メトリックへ適用される前記複数のＮＳＲのうちの前記特定の値が確定されている間、ｎ／２である点に距離ｄを加えた点（ここで前記距離ｄの初期値はｎ／２として設定される）に対応する第１のＰＳＦ、前記ｎ／２である点から前記距離ｄを引いた点に対応する第２のＰＳＦ、前記ｎ／２である点に対応する第３のＰＳＦを前記ウィーナーフィルタリングの前記誤差メトリックへ適用して、前記第１のＰＳＦ、前記第２のＰＳＦ、および前記第３のＰＳＦの誤差値のうち最小誤差値を取得する機能と、
（ｉｉ）前記最小誤差値が前記予め定められた閾値より大きい場合に前記距離ｄをｄ／２として設定した後、前記最小誤差値に対応する点に前記距離ｄを加えた点（ここでは前記距離ｄはｎ／４である）に対応する第４のＰＳＦ、前記最小誤差値に対応する点から前記距離ｄを引いた点に対応する第５のＰＳＦ、および前記最小誤差値に対応する点の第６のＰＳＦを前記ウィーナーフィルタリングの前記誤差メトリックへ適用して、前記第４のＰＳＦ、前記第５のＰＳＦ、および前記第６のＰＳＦの誤差値のうち新たな最小誤差値を取得する機能と、
（ｉｉｉ）取得した最小誤差値が前記予め定められた閾値より大きい場合、前記最小誤差値を前記新たな最小誤差値として設定しながら前記機能（ｉｉ）を反復する機能と
を実行する、請求項６に記載の端末。
【請求項８】
前記誤差メトリック適用部は、前記新たな最小誤差値が前記予め定められた閾値以下となるまで前記反復を実行する、請求項７に記載の端末。
【請求項９】
１以上のプロセッサにより実行されると前記１以上のプロセッサに、
被写体に対する焦点距離を変化させて計算される、携帯端末に固有の第１から第ｎまでのｎ個のＯＴＦ（光学的伝達関数）を取得する手順と、
バーコード画像が前記携帯端末を介して入力された場合に、
（ｉ）利用可能な範囲の複数のＮＳＲ（ノイズ対信号比）から、ウィーナーフィルタリングの誤差メトリックへ適用される値として特定の値を確定し、
（ｉｉ）前記ｎ個のＯＴＦから計算されるｎ個のＰＳＦ（点拡がり関数）を、二分検索アルゴリズムにより前記ウィーナーフィルタリングの前記誤差メトリックへ適用し、
（ｉｉｉ）前記ウィーナーフィルタリングの前記誤差メトリックへの適用の結果が予め定められた閾値以下であるか否かを判断する、
手順と、
前記ウィーナーフィルタリングの前記誤差メトリックへの適用の結果が前記予め定められた閾値以下である場合、前記ウィーナーフィルタリングに用いられる値としてＰＳＦ値およびＮＳＲ値を選択し、その後、前記入力されたバーコード画像に対して、選択された前記ＰＳＦ値および選択された前記ＮＳＲ値を用いて前記ウィーナーフィルタリングを行う手順と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、入力されたバーコード画像のボケ修正を行う方法、端末、およびコンピュータ可読記録媒体に関し、より詳細には、バーコード画像のボケ修正をより短い時間で行う方法、端末、およびコンピュータ可読記録媒体に関する。方法、端末、およびコンピュータ可読記録媒体においては、（ｉ）携帯端末のカメラモジュールの点拡がり関数（ＰＳＦ）を、カメラモジュールの焦点距離を変化させながら計算し、（ｉｉ）線形探索アルゴリズムまたは二分検索アルゴリズムにより最適なＰＳＦおよびノイズ対信号比（ＮＳＲ）を抽出し、（ｉｉｉ）入力されたバーコード画像に対して、抽出されたＰＳＦ値およびＮＳＲ値を用いてウィーナーフィルタリングを適用する。
【背景技術】
【０００２】
各種産業で広く用いられるバーコードは、製品管理の効率を向上するべく開発され、小売市場の分野において大きな実績を上げている。これによりバーコードは、他の産業でも幅広く適用されるようになった。かつては、バーコードを読み取るデバイスとしてはレーザースキャナなどのバーコード専用の認識デバイスを用いるのが一般的であったが、近年の携帯端末の普及により、携帯端末に搭載されたカメラを用いてバーコードを認識する方法が導入されるようになった。
【０００３】
しかしながら、一般的にそのような携帯端末のカメラは、解像度がレーザースキャナの解像度よりも低く、重度のノイズが入り込むことが多い。したがって、バーコード画像の重度のボケがバーコードの不鮮明な読み取りに繋がっている。
【０００４】
ボケに関する課題を解決すべく、いくつかの技術が開示されている。そのうちの代表的な一例においては、カメラの正確な点拡がり関数（ＰＳＦ）およびノイズ対信号比を推定し、その推定に基づき、バーコード画像のボケ修正が行われる。しかしながら、当該技術は、ＰＳＦ分布が、数学的に明確に定義されたガウス分布または円盤状の（ｄｉｓｋ）分布に一致する場合のみに適用可能であるというだけでなく、一般的に、携帯端末において採用し得ない強い信号レベルの画像信号サンプルを必要とする。この理由により当該技術は、現実には、一般的な携帯端末のカメラモジュールによって撮影されたバーコード画像のボケの改善には用いることが出来ない。
【０００５】
したがって、本願発明の出願人は、ガウス分布または円盤状の分布に近似しない複雑な光学伝達関数（ＯＴＦ）を有する一般的な携帯端末環境においてでも、入力されたバーコード画像のボケ修正をより効果的に行うのをサポートする技術を開発するに到った。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願発明の目的は、上述した課題の全てを解決することである。
【０００７】
本願発明の他の目的は、複雑な光学伝達関数を有する一般的な携帯端末環境においても、ウィーナーフィルタリングに要する時間を短縮することにより、入力されたバーコード画像のボケ修正をリアルタイムで行うことである。
【課題を解決するための手段】
【０００８】
本願発明の一態様は、
携帯端末を介して入力されたバーコード画像のボケ修正を行う方法であり、
（ａ）被写体に対する焦点距離を変化させて計算される、携帯端末に固有の第１から第ｎまでのｎ個のＯＴＦ（光学的伝達関数）を取得する段階と、
（ｂ）バーコード画像が携帯端末を介して入力された場合に、
（ｉ）利用可能な範囲の複数のＮＳＲ（ノイズ対信号比）から、ウィーナーフィルタリングの誤差メトリックへ適用される値として特定の値を確定し、
（ｉｉ）ｎ個のＯＴＦから計算されるｎ個のＰＳＦ（点拡がり関数）を、二分検索アルゴリズムによりウィーナーフィルタリングの誤差メトリックへ適用し、
（ｉｉｉ）ウィーナーフィルタリングの誤差メトリックへの適用の結果が予め定められた閾値以下であるか否かを判断する、
段階と、
（ｃ）ウィーナーフィルタリングの誤差メトリックへの適用の結果が予め定められた閾値以下である場合、ウィーナーフィルタリングに用いられる値としてＰＳＦ値およびＮＳＲ値を選択し、その後、入力されたバーコード画像に対して、選択されたＰＳＦ値および選択されたＮＳＲ値を用いてウィーナーフィルタリングを行う段階と
を含む方法を提供する。
【０００９】
本願発明の他の態様は、
携帯端末を介して入力されたバーコード画像のボケ修正を行う方法であり、
（ａ）被写体に対する焦点距離を変化させて計算される、携帯端末に固有の第１から第ｎまでのｎ個のＯＴＦ（光学的伝達関数）を取得する段階と、
（ｂ）バーコード画像が携帯端末を介して入力された場合に、ｎ個のＯＴＦ、および利用可能な範囲の第１から第ｍまでのｍ個のＮＳＲから計算されるｎ個のＰＳＦ（点拡がり関数）を線形的に適用することにより、入力されたバーコード画像に対しウィーナーフィルタリングを実行する段階と、
（ｃ）バーコード画像のボケの改善が最適となるＰＳＦ値およびＮＳＲ値をウィーナーフィルタリングに用いる値として選択する段階と
を含む方法を提供する。
【００１０】
本願発明のさらに他の態様は、
端末を介して入力されたバーコード画像のボケ修正を行う端末であり、
被写体に対する焦点距離を変化させて計算される、端末に固有の第１から第ｎまでのｎ個のＯＴＦを取得した後に、ｎ個のＯＴＦからｎ個のＰＳＦ（点拡がり関数）を計算するＰＳＦ管理部と、
バーコード画像が端末を介して入力された場合に、
（ｉ）利用可能な範囲の複数のＮＳＲ（ノイズ対信号比）から、ウィーナーフィルタリングの誤差メトリックへ適用される値として特定の値を確定し、
（ｉｉ）ｎ個のＯＴＦから計算されるｎ個のＰＳＦを、二分検索アルゴリズムによりウィーナーフィルタリングの誤差メトリックへ適用し、
（ｉｉｉ）ウィーナーフィルタリングの誤差メトリックへの適用の結果が予め定められた閾値以下であるか否かを判断する誤差メトリック適用部と
ウィーナーフィルタリングの誤差メトリックへの適用の結果が予め定められた閾値以下である場合、ウィーナーフィルタリングに用いられる値としてＰＳＦ値およびＮＳＲ値を選択し、その後、入力されたバーコード画像に対して、選択されたＰＳＦ値および選択されたＮＳＲ値を用いてウィーナーフィルタリングを行うフィルタリング実行部と
を含む端末を提供する。
【００１１】
本願発明のさらに他の態様は、
端末を介して入力されたバーコード画像のボケ修正を行う端末であり、
被写体に対する焦点距離を変化させて計算される、端末に固有の第１から第ｎまでのｎ個のＯＴＦを取得した後に、ｎ個のＯＴＦからｎ個のＰＳＦ（点拡がり関数）を計算するＰＳＦ管理部と、
バーコード画像が端末を介して入力された場合に、ｎ個のＰＳＴ、および利用可能な範囲の第１から第ｍまでのｍ個のＮＳＲを線形的に適用して、入力されたバーコード画像に対しウィーナーフィルタリングを実行し、その後、バーコード画像のボケの改善が最適となるＰＳＦ値およびＮＳＲ値をウィーナーフィルタリングに用いる値として選択するフィルタリング実行部と
を含む端末を提供する。
【図面の簡単な説明】
【００１２】
本願発明の上述した目的および特徴、またその他の目的および特徴は、添付の図面を参照して示される、以下の好ましい実施形態の説明から明らかとなる。
【図１Ａ】図１Ａは、元のバーコード画像を例示的に示す図である。
【図１Ｂ】図１Ｂは、撮影したバーコード画像を例示的に示す図である。
【図１Ｃ】図１Ｃは、最適なウィーナーフィルタリングを行うことにより、入力されたバーコード画像のボケ修正を行った結果を例示的に示す図である。
【図１Ｄ】図１Ｄは、不適切なＨ（ｆ）を用いてウィーナーフィルタリングを行うことにより、入力されたバーコード画像のボケ修正を行った結果を例示的に示す図である。
【図１Ｅ】図１Ｅは、不適切なＮＳＲ（ｆ）を用いてウィーナーフィルタリングを行うことにより、入力されたバーコード画像のボケ修正を行った結果を例示的に示す図である。
【図２】図２は、本願発明の例示的な実施形態に係る、入力されたバーコード画像のボケ修正を行う端末２００の全体構成を示す図である。
【発明を実施するための形態】
【００１３】
本願発明の詳細な説明においては、添付の図面を参照し、本願発明を実施することが出来る特定の実施形態が示される。
【００１４】
以下の詳細な説明において、本願発明を実施することが出来る特定の実施形態を描画により示す添付の図面を参照する。これらの実施形態は、当業者が本願発明を実施することが出来るよう、十分に詳細に説明されている。本願発明の様々な実施形態は互いに異なるものの、互いに共通の特徴、構造、または特性を有さないとは限らないことを理解されたい。例えば、本明細書で説明する、一実施形態に関する特定の特徴、構造、または特性は、本願発明の思想および態様から逸脱することなく、他の実施形態において実装されてもよい。さらに、開示される実施形態のそれぞれにおける各要素の位置および配置は、本願発明の思想および態様から逸脱することなく変更され得ることを理解されたい。よって以下の詳細な説明は、限定的に解釈されるべきではなく、本願発明の態様は、適切に解釈される請求項、および請求項の同等物の範囲全体によってのみ定められる。複数の図面において、同一または同様の機能を有する部材には、同様の参照符号が付されている。
【００１５】
本願発明の目的を達成する本願発明の構成は以下の通りである。
【００１６】
ウィーナーフィルタリング
本願発明は、携帯端末を介して入力されたバーコード画像に対しウィーナーフィルタリングを適用し、最適なＰＳＦ（点拡がり関数）およびＮＳＲ（ノイズ対信号比）を取得することにより、入力されたバーコード画像のボケ修正を効果的に行う方法に関する。ウィーナーフィルタリングの一般的な原理は以下の通りである。
【００１７】
ウィーナーフィルタはノイズ削減に用いられるフィルタの一種であり、より詳細には、信号成分およびノイズ成分が混在する状況において、任意の予想される所望の出力と実際のフィルタ出力との間の差の平均平方誤差を最小限にするための規格として設計された最適なフィルタである。
【００１８】
信号処理において、撮影されたバーコード画像の信号は、以下の数式１で示すように表すことが出来る。
［数式１］
【数１】
0005703520.tif 000002
ここでｈ（ｔ）は点拡がり関数（ＰＳＦ）であり、ｘ（ｔ）は元のバーコード画像の信号であり、ｎ（ｔ）は、撮影デバイスのレンズ、ＣＣＤなどにより生じる追加的なノイズである。追加的なノイズは、単にＰＳＦの逆関数を適用することにより元のバーコード画像の信号を復元出来なくしてしまうので、撮影したバーコード画像の出力信号ｙ（ｔ）に対し別個のフィルタｇ（ｔ）を適用しなければならない。よって、ｇ（ｔ）とｙ（ｔ）との間の数学的関係は、以下の数式２で示すように表すことが出来る。
［数式２］
【数２】
0005703520.tif 000003
ここでウィーナーフィルタリングは、最小二乗法を用いることにより、元のバーコード画像の信号を最適に復元する。このことは、以下の数式３に示すように表すことも出来る。
［数式３］
【数３】
0005703520.tif 000004
【００１９】
周波数領域を表すよう数式３の変換を行うと、以下の数式４に示すように表すことが出来る。
［数式４］
【数４】
0005703520.tif 000005
ここでＧを求めるべく数式４を微分すると、以下の数式５が得られる。
［数式５］
【数５】
0005703520.tif 000006
【００２０】
言い換えると、数式５は最適なウィーナーフィルタＧ（ｆ）を決定するための数式であり、より詳細には、Ｘ（ｆ）の情報を用いずＨ（ｆ）およびＮＳＲ（ｆ）の情報のみを用いて最適なフィルタを決定できることが数式５から分かる。よって最適なフィルタを決定するには、最も適切なＨ（ｆ）とＮＳＲ（ｆ）との組を検索するべきである。
【００２１】
図１Ａは、元のバーコード画像を例示的に示す図である。さらに図１Ｂは、撮影したバーコード画像を示し、当該撮影したバーコード画像には重度のボケが認められる。
【００２２】
図１Ｃは、最適なウィーナーフィルタリングを行うことにより、入力されたバーコード画像のボケ修正を行った結果を例示的に示す図である。図１Ｃに示すように最も適切なＨ（ｆ）およびＮＳＲ（ｆ）を適用してウィーナーフィルタリングを行うことにより、元のバーコード画像とほぼ同程度まで、撮影したバーコード画像のボケを修正することが出来る。
【００２３】
図１Ｄは、不適切なＨ（ｆ）を用いてウィーナーフィルタリングを行うことにより、入力されたバーコード画像のボケ修正を行った結果を例示的に示す図である。図１Ｅは、不適切なＮＳＲ（ｆ）を用いてウィーナーフィルタリングを行うことにより、入力されたバーコード画像のボケ修正を行った結果を例示的に示す図である。図１Ｄに示すように不適切なＨ（ｆ）を適用して行ったウィーナーフィルタリング、若しくは、図１Ｅに示すように不適切なＮＳＲ（ｆ）を適用して行ったウィーナーフィルタリングでは、ボケの改善は不十分である。
【００２４】
以下に、端末により最適なウィーナーフィルタリングを行うのに必要となる最も適切なＨ（ｆ）及びＮＳＲ（ｆ）を求める方法を説明する。
【００２５】
端末構成
図２は、本願発明の例示的な実施形態に係る、入力されたバーコード画像のボケ修正を行う端末２００の全体構成を示す図である。
【００２６】
図２に示すように本願発明の例示的な実施形態に係る端末２００は、ＰＳＦ管理部２１０、誤差メトリック適用部２２０、フィルタリング実行部２３０、通信部２４０、および制御部２５０を含んでよい。
【００２７】
まず、携帯端末内のカメラモジュールの第１から第ｎまでのｎ個の光学的伝達関数（ＯＴＦ）を、カメラモジュールの焦点距離を変化させながら計算する。本願発明の例示的な実施形態に係るＰＳＦ管理部２１０は、計算されたＯＴＦに対して逆関数を適用することにより、第１から第ｎまでのｎ個の点拡がり関数（ＰＳＦ）を計算してよい。
【００２８】
従来技術では、撮影デバイスなどの携帯端末を構成するレンズおよびＣＣＤは、それぞれ固有のＯＴＦを有しており、撮影デバイス全体としてのＯＴＦは、レンズのＯＴＦおよびＣＣＤのＯＴＦを単に合わせるだけでは求めることが出来ず、高度な数学的解析によってのみ求めることが可能である。撮影デバイスのＯＴＦを求めるのにかかる時間は長く、バーコードが入力された時に即座に求めることは難しい。
【００２９】
よって本願発明の例示的な実施形態に係るＰＳＦ管理部２１０は、撮影デバイスのＯＴＦを確認するのに高度な数学的解析を用いず、以下のような方法を用いる。当該方法においては、最適なフィルタの検索にかかる時間を短縮すべく、（ｉ）被写体が撮影をする際、ｎ個の異なる焦点距離でＯＴＦを測定および記録し、（ｉｉ）当該ＯＴＦに基づきｎ個のＰＳＦを求め、（ｉｉｉ）数式５のＨ（ｆ）に適用される候補のグループを事前に設定する。例として、本明細書においては被写体までの距離を固定して焦点距離を変化させる例について説明するが、本願発明はこれに限定されず、被写体までの距離を変化させるなど様々な例が本願発明の態様には含まれる。
【００３０】
次に、本願発明の例示的な実施形態によると、携帯端末を介してバーコード画像が入力されると、誤差メトリック適用部２２０は利用可能な範囲のＮＳＲから、ウィーナーフィルタリングの誤差メトリックへ適用される値として特定の値を確定し、その後、ＰＳＦ管理部２１０により事前に計算されるｎ個のＰＳＦのいくつかを、演算カウントが最大２ｌｏｇ（ｎ）＋１である二分検索アルゴリズムによりウィーナーフィルタリングの誤差メトリックへ適用し、その後、これら適用の結果が予め定められた閾値以下であるか否かを判断する。ここで、二分検索アルゴリズムにより最適なＰＳＦを求めるウィーナーフィルタリングの誤差メトリックは、以下の数式６に示すように表される。
［数式６］
【数６】
0005703520.tif 000007
（ここでＧ（ｆ）は数式５のＧ（ｆ）と同じである。）
【００３１】
ウィーナーフィルタリングの誤差メトリックは、ウィーナーフィルタリングの誤差に関する基準を求める数式である。このことに関しては、２００１年にＣａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓから出版された、Ｗｉｌｌｉａｍ  Ｈ．Ｐｒｅｓｓおよび他の３人の著者による共著「Ｎｕｍｅｒｉｃａｌ  Ｒｅｃｉｐｅｓ  ｉｎ  Ｃ＋＋」を参照されたい（同著書の内容はその全体が本明細書に組み込まれる）。
【００３２】
詳細には、数式６内のＮ（ｆ）（つまりＮＳＲ（ｆ））の値が、利用可能な範囲のＮＳＲのうちの特定の値として確定されると、Ｇ（ｆ）と１／Ｈ（ｆ）との間の差に比例したウィーナーフィルタリングの誤差メトリックの増加が見られ得る。つまり、数式５および数式６を参照すると、最適なＰＳＦとの差がより大きなＰＳＦが適用されると、誤差値が大きくなることが分かる。
【００３３】
本願発明の例示的な実施形態に係る誤差メトリック適用部２２０は、入力されたバーコード画像のＮＳＲを即座に抽出し、抽出したＮＳＲを、ウィーナーフィルタリングの誤差メトリックへ適用されるＮ（ｆ）の値として確定するのがより好ましい。
【００３４】
上述したように、Ｇ（ｆ）と１／Ｈ（ｆ）との間の差に比例してウィーナーフィルタリングの誤差メトリックが増加するのであれば、本願発明の例示的な実施形態に係る誤差メトリック適用部２２０は、誤差メトリックへ適用される、ＮＳＲのうちの特定の値が確定されている間、以下の（ｉ）〜（ｉｉｉ）のプロセスを繰り返してもよい。（ｉ）においては、ｎ／２である点、またはｎ／２と同様の点に距離ｄを加えた点（ここで距離ｄの初期値はｎ／２、またはｎ／２と同様の値に設定されてよい）に対応する第１のＰＳＦ、ｎ／２である点、またはｎ／２と同様の点から距離ｄを引いた点に対応する第２のＰＳＦ、ｎ／２である点に対応する第３のＰＳＦをウィーナーフィルタリングの誤差メトリックへ適用して、第１のＰＳＦ、第２のＰＳＦ、および第３のＰＳＦの誤差値のうち最小誤差値を取得する。（ｉｉ）においては、最小誤差値が予め定められた閾値より大きい場合に距離ｄをｄ／２、またはｄ／２と同様の数値に設定した後、最小誤差値に対応する点に距離ｄを加えた点（ここでは距離ｄはｎ／４である）に対応する第４のＰＳＦ、最小誤差値に対応する点から距離ｄを引いた点に対応する第５のＰＳＦ、および最小誤差値に対応する点の第６のＰＳＦをウィーナーフィルタリングの誤差メトリックへ適用して、第４のＰＳＦ、第５のＰＳＦ、および第６のＰＳＦの誤差値のうち新たな最小誤差値を取得する。（ｉｉｉ）においては、（ｉｉ）を反復し、取得した最小誤差値が予め定められた閾値より大きい場合、最小誤差値を新たな最小誤差値として設定する。つまり、反復するプロセスは、誤差メトリックの適用の結果が、予め定められた閾値を超えない新たな最小誤差値を生成し、最適なＰＳＦの検索が完了するまで繰り返される。
【００３５】
以下に、擬似コードとして表される、ＰＳＦを検索するための、誤差メトリック適用部２２０のプロセスを説明する。
【数７】
0005703520.tif 000008
【００３６】
擬似コードに関し、分類されたデータに用いる従来の二分検索アルゴリズムとは異なり、ＰＳＦを検索するための誤差メトリック適用部２２０の方法においては、ウィーナーフィルタリングの誤差メトリック関数の勾配の変動に関する情報、および、各反復が実行される始点を見つけ出すための最小誤差値に対応する点に関する情報が用いられる。これは、上述したように、ウィーナーフィルタリングの誤差メトリックがＧ（ｆ）と１／Ｈ（ｆ）との差に比例して増加するからである（最適なＰＳＦに対応する点は、誤差メトリックの変曲点である）。
【００３７】
さらに、反復の結果が予め定められた閾値に関する条件を満たし、誤差メトリック適用部２２０がＰＳＦおよびＮＳＲを見つけ出すと、本願発明の例示的な実施形態に係るフィルタリング実行部２３０は、ウィーナーフィルタリングに用いる値として、見つけ出したＰＳＦおよびＮＳＲの値を選択し、入力されたバーコード画像に対しウィーナーフィルタリングを実行し（つまり、数式５のフィルタ（Ｇ（ｆ））を適用し）、これにより、バーコード画像のボケ修正を行う。
【００３８】
本願発明の他の例示的な実施形態によると、通信部２４０は、端末２００に、外部デバイスとの通信を行わせる。
【００３９】
さらに本願発明の例示的な実施形態に係る制御部２５０は、ＰＳＦ管理部２１０、誤差メトリック適用部２２０、フィルタリング実行部２３０、および通信部２４０の間で授受されるデータのフローを制御する。要するに、本願発明に係る制御部２５０は、ＰＳＦ管理部２１０、誤差メトリック適用部２２０、フィルタリング実行部２３０、および通信部２４０が端末２００の外部との間で授受されるデータのフロー、または端末２００のコンポーネント間で授受されるデータのフローを制御することによりそれぞれが固有の機能を実行するよう制御する。
【００４０】
上記では、利用可能な範囲のＮＳＲから、誤差メトリックに適用される値として特定の値を確定し、その後、二分検索アルゴリズムによりｎ個のＰＳＦを誤差メトリックへ適用した結果が予め定められた閾値の条件を満たした際に見つけ出した、最適なＰＳＦおよび最適なＮＳＲを選択する方法を説明したが、本願発明の例示的な実施形態においては、これに限定されない。本願発明の他の例示的な実施形態によると、ウィーナーフィルタリングの誤差メトリックの代わりに線形探索アルゴリズムにより、ｎ個のＰＳＦおよび、利用可能な範囲の第１から第ｍまでのｍ個のＮＳＲを用いてウィーナーフィルタリングを行うことにより最適なウィーナーフィルタを検索することが可能である。特に、本願発明の他の例示的な実施形態は、入力されたバーコード画像の信号が弱くＮＳＲが即座に抽出出来なく、ウィーナーフィルタリングの誤差メトリックに対し通常用いられるＮ（ｆ）の値が特定され得なかった場合、若しくは、ｎが小さい値であるため演算の数が大きくはなり得ない場合のいずれかにおいて適用するのが好ましい。
【００４１】
詳細には、本願発明の他の例示的な実施形態に係るフィルタリング実行部２３０は、（ｉ）ＰＳＦ管理部２１０により計算されるｎ個のＰＳＦおよび、利用可能な範囲の第１から第ｍまでのｍ個のＮＳＲを線形的に適用することにより、入力されたバーコード画像に対してウィーナーフィルタリングを行い、（ｉｉ）バーコード画像のボケの改善が最適となるＰＳＦの特定の値およびＮＳＲのうちの特定の値をウィーナーフィルタに用いる値として選択する。このことは、以下に示す擬似コードに示すように表すことが出来る。
【数８】
0005703520.tif 000009
【００４２】
言い換えると、ＰＳＦ管理部２１０により３０のＰＳＦが計算され、利用な可能なＮＳＲの範囲が０．０００１から０．０１であり、当該範囲の０．０００１での除算によりｍが１００であるとすると、本願発明の他の例示的な実施形態に係るフィルタリング実行部２３０は、３０００（つまり３０×１００）のウィーナーフィルタリングの実行例から、どの例においてバーコード画像のボケの改善が最適であったかを判断することにより最適なＰＳＦおよび最適なＮＳＲを抽出する。
【００４３】
本願発明の他の例示的な実施形態においても、ＰＳＦ管理部２１０は、複雑な数学的解析を行い撮影デバイスのＯＴＦを取得する方法の代わりに、無作為の被写体がｎ個の異なる焦点距離で撮影された際のＯＴＦを測定および記録し、その後、測定されたＯＴＦに基づきｎ個のＰＳＦを求め、数式５のＨ（ｆ）に適用される候補のグループを事前に設定する。これにより、最適なフィルタの検索に要する時間を短縮することが出来る。
【００４４】
本願発明によれば、一般的な携帯端末環境であってもウィーナーフィルタの最適値を短い時間で検索することが出来、よって、入力されたバーコード画像のボケ修正をリアルタイムで行うことが可能となる。
【００４５】
本願発明の実施形態は、様々なコンピュータ手段を介して実行可能、かつ、コンピュータ可読媒体に記録可能なプログラム命令により実装されてもよい。コンピュータ可読媒体には、プログラム命令、データファイル、およびデータ構造などが単体で、もしくはこれらの組み合わせで含まれてよい。媒体に記録されるプログラム命令は、本願発明のために専用に設計されたコンポーネント、またはコンピュータソフトウェアの分野の当業者が利用出来るものであってよい。コンピュータ可読媒体には、ハードディスク、フロッピー（登録商標）ディスク、磁気テープなどの磁気媒体、ＣＤ−ＲＯＭおよびＤＶＤなどの光学媒体、フロプティカルディスクなどの磁気光学媒体、ＲＯＭ、ＲＡＭおよびフラッシュメモリなどのハードウェアデバイスなどのプログラムを格納し実行するよう設計された媒体が含まれてよい。プログラム命令には、コンパイラにより作成される機械言語コードのみでなく、コンピュータが実行するインタプリタなどにより用いられ得る高レベルコードも含まれる。上述のハードウェアデバイスは、本願発明の動作を実行するソフトウェアモジュール以上の働きをしてもよく、逆もまた然りである。
【００４６】
好ましい実施形態に関連して本願発明を示し、説明してきたが、請求項によって定められる本願発明の思想および態様から逸脱することなく様々な変更および修正を加えることが可能であることを、当業者には理解されるであろう。
【００４７】
したがって、本願発明の思想は上記にて説明した実施形態に限定されず、以下の請求項、および請求項の等価物または同等物も全て本願発明の思想に含まれるものとする。
【図１】
0005703520.tif 000010
【図２】
0005703520.tif 000011