(57)【要約】  文書内でのバーコード配置を導出する方法であって、文書の原ディジタル画像を準備するステップと、プロセッサを用い、原ディジタル画像から正規化画像を生成し、正規化画像から勾配画像を生成し、勾配画像から複数個の境界ボックスを生成し、バーコードの存否に関し各境界ボックスをテストすることで境界ボックステスト結果を生成するステップと、境界ボックステスト結果から文書内でのバーコード配置を導出するステップと、を有する。
2016529598.tif 000002
【特許請求の範囲】
【請求項１】
文書内でのバーコード配置を導出する方法であって、
（ａ）文書の原ディジタル画像を準備するステップと、
（ｂ）プロセッサを用い、
（ｉ）原ディジタル画像から正規化画像を生成し、
（ｉｉ）正規化画像から勾配画像を生成し、
（ｉｉｉ）勾配画像から複数個の境界ボックスを生成し、
（ｉｖ）バーコードの存否に関し各境界ボックスをテストすることで境界ボックステスト結果を生成する、
ステップと、
（ｃ）文書内でのバーコード配置を境界ボックステスト結果から導出するステップと、
を有する方法。
【請求項２】
請求項１記載の方法であって、（ｂ）（ｉ）が、原ディジタル画像からグレースケール画像を生成するステップと、グレースケール画像からフルスケールヒストグラムストレッチング済画像を生成するステップと、を含む方法。
【請求項３】
請求項２記載の方法であって、更に、ヒストグラムペネトレーションを用いフルスケールヒストグラムストレッチング済画像を生成するステップを有する方法。
【請求項４】
請求項１記載の方法であって、（ｂ）（ｉｉ）が、正規化画像からダウンサンプリング版画像、ダウンサンプリング版画像から方向性勾配画像を生成するステップを含む方法。
【請求項５】
請求項４記載の方法であって、更に、方向性勾配画像を対象にヒストグラムストレッチング及びしきい値適用を用いて勾配画像を生成するステップを有する方法。
【請求項６】
請求項１記載の方法であって、（ｂ）（ｉｉｉ）が、勾配画像内の各特徴の周りで最小境界ボックスを探索するステップを含む方法。
【請求項７】
請求項１記載の方法であって、（ｂ）（ｉｖ）が、正規化画像内の各境界ボックス領域につき最小バーコード画素値及び最大バーコード画素値の存否に関しテストするステップを含む方法。
【請求項８】
請求項１記載の方法であって、（ｂ）（ｉｖ）が、勾配画像内の各境界ボックス領域につきバーコード内黒色画素比を算出するステップと、それをバーコード内黒色画素比しきい値と比較するステップと、を含む方法。
【請求項９】
より良質な文書内バーコード領域を導出する方法であって、
（ａ）文書の原ディジタル画像を準備するステップと、
（ｂ）プロセッサを用い、
（ｉ）原ディジタル画像から正規化画像を生成し、
（ｉｉ）正規化画像から勾配画像を生成し、
（ｉｉｉ）勾配画像から複数個の境界ボックスを生成し、
（ｉｖ）バーコードの存否に関し各境界ボックスをテストすることで境界ボックステスト結果を生成する、
ステップと、
（ｃ）境界ボックステスト結果から文書内でのバーコード配置を導出するステップと、
（ｄ）バーコード配置から文書内のバーコード領域を導出するステップと、
（ｅ）バーコード領域からより良質なバーコード領域を生成するステップと、
を有する方法。
【請求項１０】
請求項９記載の方法であって、（ｅ）が、更に、バーコード領域を文書の残り部分とは別様に処理するステップを含む方法。
【請求項１１】
請求項１０記載の方法であって、更に、文書が処理されているときにバーコード領域を処理しないステップを有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、この参照を以てその全内容が本願に繰り入れられるところの、「文書内バーコード配置特定」(DETERMINING BARCODE LOCATIONS IN DOCUMENTS)と題する２０１３年６月２８日付米国特許出願第６１／８４０５４１号に基づく優先権主張を伴う。
【０００２】
［発明の分野］
本発明は文書内バーコード配置導出の分野、より具体的にはバーコードを検知しその配置を特定することで良質に文書内バーコード領域を画定する方法に関する。
【背景技術】
【０００３】
文書内におけるバーコードの存否及び配置の検知は、一般に、周知のバーコード読取タスクで最初に実行されるステップである。本願出願人を譲受人、Ｌｅｅ  ｅｔ  ａｌ．を発明者とし、「バーコード配置特定」(Barcode Location Determination)と題する特許文献１には、文書内にある候補領域の低減解像度マップを連結成分解析を通じ生成し、その候補領域それぞれを、重心配置、面積、長軸方向長及び短軸方向長といったモーメントベース特徴を算出することでテストすることによって、サイズ及び向きが既知なバーコードを検知する手法が記載されている。この手法にまつわる問題は、サイズや向きが未知なバーコードを検知できないこと、並びに実行される画像処理動作例えば連結成分解析の難度が高く多大な情報処理リソースが必要なことである。本願出願人を譲受人、Ｋｒｉｓｈｎａｎを発明者とし、「バーコードリーダ」(Bar Code Reader)と題する特許文献２では、バーコードと覚しき、一次元的な黒から白への遷移領域を検知することで、文書内の候補バーコード領域が画定される。続いてはそれら候補領域のバウンダリ（内外境界）がモルフォロジ（形態素）的演算を用い精細化される。この手法にまつわる問題は、一次元タイプのバーコードに典型的な長実線及びスペースを呈さない二次元タイプのバーコードを、検知できないことである。本願出願人を譲受人、Ｗａｎｇを発明者とし、「二次元バーコード配置特定」(Locating 2-D Bar Codes)と題する特許文献３は、特定タイプのバーコードに関連付けられている具体的な開始コード及び終了コードの存否に関し、文書をサーチする手法の代表例である。この手法にまつわる問題は、所与の開始コード及び終了コードに関連付けられているタイプのバーコードしか特定できないこと、並びに開始コード及び終了コードに関するサーチがバーコードのスケール（サイズ）に対し非常に敏感であるため、様々なスケールファクタで複数回、文書をサーチする必要があることである。この複数回実行によりバーコード検知プロセスの実行時間が顕著に長くなる。本願出願人を譲受人、Ｚｈｏｕ  ｅｔ  ａｌ．を発明者とし、「画像内での機械可読二次元バーコードの配置を特定する方法」(Method of Locating a Machine Readable Two Dimensional Barcode within an Image)と題する特許文献４では、バーコードと覚しき二次元白黒市松模様の領域を検知することで、文書内の候補バーコード領域が画定される。この手法にまつわる問題は、そうした市松模様図形を含まないタイプのバーコードを検知できないことである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第４９４８９５５号明細書
【特許文献２】米国特許第４９８８８５２号明細書
【特許文献３】米国特許第５３０４７８７号明細書
【特許文献４】米国特許第５９７４２００号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
求められているのは、高速且つロバストな文書内バーコード配置導出技術であって、多大な情報処理リソースを使用する必要がなく、一次元バーコード，二次元バーコード双方の配置が同時に特定され、バーコードのタイプに関するアプリオリな知識が必要なく、そして文書内にバーコードが存在しないときに迅速に終了する技術である。
【課題を解決するための手段】
【０００６】
本発明で提供されるのは、文書内でのバーコード配置を導出する方法であって、
文書の原ディジタル画像を準備するステップと、
プロセッサを用い、
原ディジタル画像から正規化画像を生成し、
正規化画像から勾配画像を生成し、
勾配画像から複数個の境界ボックスを生成し、
バーコードの存否に関し各境界ボックスをテストすることで境界ボックステスト結果を生成する、
ステップと、
文書内でのバーコード配置を境界ボックステスト結果から導出するステップと、
を有する。
【発明の効果】
【０００７】
本発明には、存在するバーコードのタイプを顧慮することなく二種類の単純なテストのみでバーコード配置が識別される、という長所がある。そのため、多大な情報処理リソースを必要とすることなく迅速に実行される。
【０００８】
本発明には、一次元バーコード，二次元バーコード双方の配置が同時に特定される、という更なる長所がある。
【０００９】
本発明には、所与の任意タイプバーコードを構成する特定の図形についての情報が必要ない、という更なる長所がある。
【００１０】
本発明には、処理対象文書におけるバーコードの存否が既知である必要がない、という更なる長所がある。バーコードが存在しなければ、本発明では、そのテストが、多大な情報処理リソースを使用することなく速やかに終了されよう。
【図面の簡単な説明】
【００１１】
【図１】本発明の好適な実施形態のブロック図である。
【図２】図１中の勾配画像作成ブロックの更なる詳細を示すブロック図である。
【図３】本発明の他の実施形態のブロック図である。
【発明を実施するための形態】
【００１２】
以下の説明では、通常はソフトウェアプログラムとして実現されるという想定で本発明の実施形態のうち幾つかを説明する。本件技術分野に習熟した者（いわゆる当業者）には、そうしたソフトウェアの等価物をハードウェアでも構築可能なことを容易にご認識頂けよう。画像操作のアルゴリズム及びシステムは周知であるので、以下の説明では、本発明に係る方法の一部をなし又はそれとより直截に協働するアルゴリズム及びシステムを特に注視する。そうしたアルゴリズム及びシステムの他面や、それにまつわる画像信号を処理例えば生成するためのハードウェア及びソフトウェアであって、本願中で具体的に説明や記述がされていないものは、本件技術分野で既知の類種システム、アルゴリズム、コンポーネント及び要素のなかから選択すればよい。これから本発明に係るものとして説明するシステムの場合、本願中で具体的に説明、示唆又は記述されていないが本発明の実施に役立つソフトウェアを、本件技術分野で一般的で通常技量の範囲内にあるものから採っている。
【００１３】
図１は本発明の好適な実施形態のブロック図である。正規化画像作成ブロック１０５では文書(document)１００から正規化画像(normalized image)１１０が生成される。文書１００は、例えばスキャナ又はカメラを用いる等、いわゆる当業者にとり既知の多様な形態で生成されたディジタル画像である。勾配画像(gradient image)作成ブロック１１５では正規化画像１１０から勾配画像１２０が生成される。境界ボックス(bounding box)生成ブロック１２５では勾配画像１２０から境界ボックス１３０が１個又は複数個生成される。境界ボックステストブロック１３５では、正規化画像１１０及び勾配画像１２０から境界ボックス１３０それぞれに関し境界ボックステスト結果１４０が生成される。バーコード配置導出ブロック１４５では、境界ボックス１３０及び境界ボックステスト結果１４０からバーコード配置(barcode location)１５０が一通り又は複数通り導出(produce)される。
【００１４】
図１中の正規化画像作成ブロック１０５では、まず文書１００をグレースケール画像に変換し、更にそのグレースケール画像を対象にフルスケールヒストグラムストレッチングを実行することによって、正規化画像１１０が生成される。グレースケール画像への変換動作では、文書１００の色成分同士を結合することで、その文書１００の各位置におけるグレー成分が生成される。この動作の一例は
ｇｒａｙ＝ｋred×ｒｅｄ＋ｋgreen×ｇｒｅｅｎ＋ｋblue×ｂｌｕｅ
である；式中、ｒｅｄ、ｇｒｅｅｎ及びｂｌｕｅはその文書内位置における色値、ｋred、ｋgreen及びｋblueは荷重係数、ｇｒａｙは出力グレースケール値である。典型的な荷重係数値はｋred＝０．２５、ｋgreen＝０．５及びｋblue＝０．２５である。荷重係数は、いわゆる当業者にとって周知な他の値にすることもできる。フルスケールヒストグラムストレッチング動作の初めには、グレースケール画像における最小及び最大のグレースケール値が探索される。更に、それら限界値を使用することで、標準範囲例えば０〜２５５に亘り拡がるようにグレースケール値域が拡張（ストレッチング）される。標準範囲が０〜２５５であるならこの動作は例えば
ｇｒａｙstretched＝２５５×（（ｇｒａｙ−ｇｒａｙmin）／（ｇｒａｙmax−ｇｒａｙmin））
となる；式中、ｇｒａｙは入力グレースケール値、ｇｒａｙminは最小グレースケール値、ｇｒａｙmaxは最大グレースケール値、ｇｒａｙstretchedは出力フルレンジヒストグラムストレッチング済値である。他の実施形態にあっては、最小及び最大のグレースケール値を探索するのに代え、グレースケール画像のヒストグラムが算出される。使用する方法はいわゆる当業者にとり周知のヒストグラムペネトレーションであり、ヒストグラムエネルギの小部分に対応するグレースケール値にｇｒａｙminが、またヒストグラムエネルギの大部分に対応するグレースケール値にｇｒａｙmaxが設定される。例えば、累積ヒストグラムエネルギの５％に対応するようｇｒａｙminが、また累積ヒストグラムエネルギの９５％に対応するようｇｒａｙmaxが設定されうる。ｇｒａｙstretchedは、これらｇｒａｙmin及びｇｒａｙmaxに係るヒストグラムストレッチング済値を用い、前記同様に算出される。このとき、ヒストグラムペネトレーションが原因でｇｒａｙstretchが標準範囲からはみ出すこととなりうるので、ｇｒａｙstretchは、ストレッチング演算の後に
ｇｒａｙstretched＝［２５５×（（ｇｒａｙ−ｇｒａｙmin）／（ｇｒａｙmax−ｇｒａｙmin））］2550
の如く標準範囲へとクリッピング（端切り）される。
【００１５】
図２は勾配画像作成ブロック１１５（図１）の詳細図である。アベレージダウンブロック２００では正規化画像１１０（図１）から低解像度画像(low-res image)２１０が生成される。方向性勾配算出ブロック２２０では低解像度画像２１０から方向性勾配画像２３０が生成される。フルスケールストレッチングブロック２４０では方向性勾配画像２３０からストレッチング済画像２５０が生成される。二値化ブロック２６０ではストレッチング済画像２５０から二値画像(binary image)２７０が生成される。クローズブロック２８０では二値画像２７０から勾配画像１２０（図１）が生成される。
【００１６】
図２中のアベレージダウンブロック２００では、まず５×５ボックスカーフィルタで正規化画像をブラーリングする（５×５正方領域内で正規化画像値全てを平均化する）ことでブラーリング済正規化画像が生成され、更にそのブラーリング済正規化画像を水平方向及び垂直方向双方にてファクタ＝４でサブサンプリングすることで低解像度画像２１０が生成される。方向性勾配算出ブロック２２０では、低解像度画像２１０における隣接画素値間の絶対差が所与方向に関し算出される。ここでいう所与方向の典型は、水平方向、垂直方向或いは２個ある対角方向のうち一方である。絶対差は次いで標準範囲例えば０〜２５５へとクリッピングされ、更にそれを５×５ボックスカーフィルタを用いブラーリングすることで方向性勾配画像２３０が生成される。フルスケールストレッチングブロック２４０では方向性勾配画像２３０の最小値及び最大値が算出され、それらを用いストレッチング済画像２５０が算出される。標準範囲が０〜２５５ならば
ｇｒａｄstretched＝２５５×（（ｇｒａｄ−ｇｒａｄmin）／（ｇｒａｄmax−ｇｒａｄmin））
である；式中、ｇｒａｄは方向性勾配画像値、ｇｒａｄmin及びｇｒａｄmaxは限界値、ｇｒａｄstretchedはストレッチング済画像値である。二値化ブロック２６０では、ストレッチング済画像２５０のヒストグラムを算出した上で、累積ヒストグラムエネルギの８０％に対応するストレッチング済画像値に等しくなるよう二値化しきい値を決定する。この二値化しきい値はストレッチング済画像２５０に適用され、それにより二値画像２７０が生成される。そして、クローズブロック２８０では、３×３構造化要素を用い二値画像２７０に対しモルフォロジ的クローズ演算を実行することで、勾配画像１２０（図１）が生成される。
【００１７】
図１中の境界ボックス生成ブロック１２５では、白色画素が文書１００内のエッジ、黒色画素が文書１００内の非明暗領域（フラット領域）に対応するとの想定で、１個目の白色画素を見つけるべく勾配画像１２０がスキャンされる。その１個目の白色画素からは、水平方向に沿って１個目の黒色画素に達するまで、また垂直方向に沿って１個目の黒色画素に達するまでボックスが拡張される。こうして得られたボックスが端緒境界ボックスとなる。次いで、その端緒境界ボックスが、いわゆる当業者にとり回転カリパスとして既知の標準的手法を使用し改質される。その回転カリパスプロセスでは、そのボックスの各辺を順次調整することで、当の連結白色画素クラスタを巡り最もタイトにフィットするボックスが生成される。こうして得られるのが拡張境界ボックスである。拡張境界ボックスの座標は境界ボックス１３０のリストに追加される。拡張境界ボックスの配置がひとたび識別されたら、境界ボックス生成ブロック１２５では、勾配画像１２０全体がスキャンされ終わるまで、識別済の境界ボックス１３０に含まれていない次の白色画素を見つけるべく、勾配画像１２０が引き続きスキャンされる。
【００１８】
図１中の境界ボックステストブロック１３５では、境界ボックス１３０に基づき、正規化画像１１０内境界ボックス配置それぞれが、標準範囲の両限界の画素値の存否に関しテストされる。例えば、標準範囲が０〜２５５なら、境界ボックステストブロック１３５では、その境界ボックスにおける画素値０，２５５双方の存否がチェックされる。それら画素値のうち一方又は双方が見当たらなかった場合、その境界ボックスは、バーコード配置の候補としては除外される。限界の画素値が双方とも見つかった場合は、境界ボックステストブロック１３５では、その勾配画像１２０内のその境界ボックス内における黒色画素の個数が白色画素の個数と比較される。画素のうち１０％超が黒なら、その境界ボックスはバーコード配置の候補としては除外される（クローズブロック２８０（図２）の動作を経ているので、理想的なバーコードは白色画素群のベタなブロックとなろう）。両テストの結果が境界ボックステスト結果１４０となる。バーコード配置導出ブロック１４５では、境界ボックステスト結果１４０で両テストを通過したとされている境界ボックス１３０からバーコード配置１５０のリストが生成される。
【００１９】
図３は本発明の他の実施形態のブロック図である。バーコード領域(barcode region)導出ブロック３１０では文書１００（図１）及びバーコード配置１５０（図１）からバーコード領域３２０が導出される。文書処理ブロック３３０では文書１００（図１）及びバーコード領域３２０から処理済文書３４０が生成される。
【００２０】
図３中のバーコード領域導出ブロック３１０では、爾後の文書処理がバーコード領域３２０内では文書１００（図１）の残りの部分内と別様に実行されうるような形態で、文書１００（図１）内バーコード配置１５０（図１）が識別される。これは、他種の文書コンテンツ例えばテキスト、グラフィクス、写真等がバーコードと大きく違っているので別種の処理が有益である、という知見に基づく。別種の処理の例は、バーコード領域３２０を非バーコード領域とは別様にシャープニングすることであろう。もう一つの大切な例は、非バーコード領域のみに爾後の文書処理を限ることである。文書処理ブロック３３０では、それら然るべき別種の文書処理動作を実行することで処理済文書３４０が生成される。
【００２１】
コンピュータプログラム製品は１個又は複数個の非一時的で有形なコンピュータ可読ストレージ媒体を伴いうる；例えば、磁気記録媒体例えば磁気ディスク（例えばフロッピーディスク）又は磁気テープ；光学記録媒体例えば光ディスク、光テープ又は機械可読バーコード；固体電子記憶デバイス例えばランダムアクセスメモリ（ＲＡＭ）又はリードオンリメモリ（ＲＯＭ）；或いはその他の物理デバイス又は媒体を、１個又は複数個のコンピュータをコントロールして本発明に係る方法を実行させるための命令群を有するコンピュータプログラムを格納すべく採用することができる。
【００２２】
ある種の好適な実施形態を具体的に参照して本発明に関し詳説したが、ご理解頂けるように、本発明の技術的範囲及び神髄を逸脱せずに変形や修正を施すことが可能である。
【符号の説明】
【００２３】
１００  文書、１０５  正規化画像作成ブロック、１１０  正規化画像、１１５  勾配画像作成ブロック、１２０  勾配画像、１２５  境界ボックス生成ブロック、１３０  境界ボックス、１３５  境界ボックステストブロック、１４０  境界ボックステスト結果、１４５  バーコード配置導出ブロック、１５０  バーコード配置、２００  アベレージダウンブロック、２１０  低解像度画像、２２０  方向性勾配算出ブロック、２３０  方向性勾配画像、２４０  フルスケールストレッチングブロック、２５０  ストレッチング済画像、２６０  二値化ブロック、２７０  二値画像、２８０  クローズブロック、３１０  バーコード領域導出ブロック、３２０  バーコード領域、３３０  文書処理ブロック、３４０  処理済文書。
【図１】
2016529598.tif 000003
【図２】
2016529598.tif 000004
【図３】
2016529598.tif 000005
【国際調査報告】
2016529598.tif 000006
2016529598.tif 000007