JP2006174461A - 機械可読コード検出方法及び装置 - Google Patents

機械可読コード検出方法及び装置 Download PDF

Info

Publication number
JP2006174461A
JP2006174461A JP2005359095A JP2005359095A JP2006174461A JP 2006174461 A JP2006174461 A JP 2006174461A JP 2005359095 A JP2005359095 A JP 2005359095A JP 2005359095 A JP2005359095 A JP 2005359095A JP 2006174461 A JP2006174461 A JP 2006174461A
Authority
JP
Japan
Prior art keywords
readable code
machine readable
file
code
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005359095A
Other languages
English (en)
Other versions
JP4579148B2 (ja
Inventor
Michael Gormish
ゴーミッシュ マイケル
Xiaojun Feng
フェン シャオジュン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2006174461A publication Critical patent/JP2006174461A/ja
Application granted granted Critical
Publication of JP4579148B2 publication Critical patent/JP4579148B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

【課題】 本発明の課題は、圧縮領域にある画像内の機械可読コードを効果的に検出及び精緻化する方法及び装置を提供することである。
【解決手段】 上記課題を解決するため、本発明は、圧縮表現された画像のファイルから情報を抽出するステップと、前記圧縮表現された画像における機械可読コードの位置を決定するステップとから構成されることを特徴とする方法からなる。
【選択図】 図1

Description

本発明は、機械可読コード検出の技術分野及び機械可読コードの改良に関し、より詳細には、画像が圧縮領域にあっても当該画像内の機械可読コードを検出する技術に関する。
通常、バーコードは物理的アーチファクトの電子的識別を提供するのに用いられる。それらは、スパーマーケットのレシート、航空チケット、製品パッケージなどの以降における抽出のための情報を格納するため、各種タイプの文書に印刷される。さらに、それらはまた、マルチメディアシステムの制御キーとして機能することが可能である。
このため、自動システムがデータ抽出のためそれらを復号するために、文書画像内のバーコード位置を検出可能であることが重要である。一部の商用製品は、正確にバーコードを復号することができる。しかしながら、文書におけるバーコードを用いた典型的使用例は、検出を確実にするため空白によりバーコードを取り囲むことである。高解像度のスキャンにおいてバーコードの位置を効率的に決定することは、依然として未解決な課題である。この分野における従来の研究では、ページサイズの高解像度スキャン画像にとっては計算量の大きな画素領域でのバーコードの検出がメインとして行われてきた。
通常、複数のアプローチがバーコード検出に利用される。一アプローチでは、バーコードのストライプが結合コンポーネントの解析を適用することによりまず検出され、その後、バーコード領域が結合コンポーネントをグループ化することにより決定される。例えば、バーコード領域を検出する一つの提案として、結合コンポーネントをダウンサンプリング及びバックグラウンド削除された画像のバーコードブロックにグループ化するというものがあげられる。より詳細には、1990年8月14日に付与された米国特許第4,948,955号「Barcode Location Determination」を参照されたい。さらに、2000年3月10日に出願された米国特許出願第09/522,978号「Method of Reading Barcode and Barcode Reading System」(2002年6月20日に公開された米国公報第2002/0074405A1号)において、水平垂直両方のバーコードを検出するため結合コンポーネント解析を適用し、ストライプの形状と隣接するストライプ間の間隔の詳細に関して条件付けされたシステムが記載されている。
文書画像を小さなセルに分割するのに格子を用いたバーコード検出技術もある。各セルのある特徴を計算して、それがバーコード領域に属するか否か判断され、最終的にはこれらのセルはバーコード領域を決定するのにグループ化される。各種特徴が適用可能である。例えば、一つの特徴は、3つの方向における隣接する行/列間のマッチングを利用したものである。より詳細には、1999年6月10日に付与された欧州特許第0894311B1号「Omnidirectional Barcode Locator」を参照されたい。他の技術は、格子に沿って白黒の遷移を利用するものである。より詳細には、欧州出願第1416421A1号「Barcode Detection System and Corresponding Method」を参照されたい。さらなる他の技術は、各方向に各セルをスキャンすることにより、パラレルなストライプパターンを検出するというものである。より詳細には、2001年5月2日に出願された米国特許出願第09/847,484号「Fast Barcode Search」(2002年11月7日に公開された米国公報第2002/0162889A1号)を参照されたい。
他の方法は、ヒストグラムを利用したものである。例えば、一つの方法は、POSTNETコードなどのあるタイプのバーコードのセグメントにおけるあるヒストグラムパターンを検出するものである。しかしながら、それは1991年12月17日に付与された米国特許第5,073,954号「Bar Code Location and Recognition Processing System」に記載されるようなPOSTNETコードの特徴をキャプチャするだけであるため、当該方法の利用は限定的なものである。2001年6月7日に出願された米国特許出願第09/877,581号「Automatically Extracting Graphical Bar Codes」(2002年12月26日に公開された米国公報第2002/0196979A1号)において、オフラインにトレーニングされたサンプルバーコード群に適合するバーコードを検出する方法が紹介されている。候補となるバーコード領域は、各位置を中心とするウィンドウの複数の予め選ばれた方向に沿って適合フィルタを適用することにより選択される。デスキューされた候補バーコードの幾何的検証は、バーコードを直交軸に投影し、ヒストグラムを閾値処理することにより実現される。
バーコードを検出するこれらすべての従来のアプローチは、画素領域で機能し、より大きな画像については計算量が大きくなる。
JPEG2000は、コヒーレントなコードストリーム及びファイルフォーマットにおけるデジタル画像を表現するのに規格化されたウェーブレットベースの圧縮法である。より詳細には、Information technology−JPEG2000 image coding standard−part1:core coding system」(ISO/IEC15444−1)を参照されたい。他の圧縮規格と比較して、JPEG2000は、画像の各解像度及び各部へのアクセスなどの効果を有する。JPEG2000コードストリームには、ヘッダデータとウェーブレット係数の圧縮されたブロックが含まれる。ウェーブレット係数は、各方向及び各スケールに対する画像の詳細な高周波数情報を提供する。各レベルの各ウェーブレットサブバンドは、コードブロックと呼ばれる典型的には32×32、または64×64のローカルグループに分割される。各コードブロックは、独立に符号化される。メインヘッダデータは、利用される符号化パラメータ及び画像全体のハイレベルな構造化記述を含む。パケットヘッダは、各コードブロックに割当てられたビット数、ゼロビットプレーン数、復号化のための符号化パスなどの情報を含む。JPEG2000ヘッダ情報は、文書の比較などのため関心領域を検出するのに従来利用されてきた。
米国特許第4,948,955号 米国特許出願第09/522,978号 欧州特許第0894311B1号 欧州出願第1416421A1号 米国特許出願第09/847,484号 米国特許第5,073,954号 米国特許出願第09/877,581号 「Information technology−JPEG2000 image coding standard−part1:core coding system」(ISO/IEC15444−1)
本発明の課題は、圧縮領域にある画像内の機械可読コードを効果的に検出及び精緻化する方法及び装置を提供することである。
上記課題を解決するため、本発明は、圧縮表現された画像のファイルから情報を抽出するステップと、前記圧縮表現された画像における機械可読コードの位置を決定するステップとから構成されることを特徴とする方法からなる。
さらに、本発明は、圧縮表現された画像のファイルから情報を抽出する抽出ユニットと、前記圧縮表現された画像における機械可読コードの位置を決定するコード位置決定装置とから構成されることを特徴とする装置からなる。
また、本発明は、圧縮表現された画像のファイルを受付けるステップと、前記画像内の1以上の機械可読コードの位置を決定するのに前記ファイルのヘッダデータを利用するステップとから構成されることを特徴とする方法からなる。
また、本発明は、圧縮表現された画像のファイルを受付けるステップと、前記画像内の1以上の機械可読コードの位置を決定するステップと、前記1以上の機械可読コードを示す情報を含むよう前記ファイルを修正するステップとから構成されることを特徴とする方法からなる。
また、本発明は、圧縮ファイルに対し、該圧縮ファイルに係るヘッダデータを利用して画像解析を実行するステップと、前記画像解析の結果に基づき、前記圧縮ファイルの一部を選択するステップと、前記圧縮ファイルの一部を部分的に復号するステップとから構成されることを特徴とする方法からなる。
また、本発明は、圧縮ファイルにおける機械可読コードの位置を決定するステップと、前記圧縮ファイルにおける機械可読コードの位置を含むよう前記圧縮ファイルの修正バージョンを生成するステップとから構成されることを特徴とする方法からなる。
また、本発明は、圧縮ファイルにおける機械可読コードの位置を決定するステップと、画素領域データを取得するため、前記圧縮ファイルの一部を復号するステップと、前記機械可読コードに係る1以上の復号された値をメタデータとして格納することにより、前記圧縮ファイルの修正バージョンを生成するステップとから構成されることを特徴とする方法からなる。
さらに、本発明は、圧縮ファイルにおける機械可読コードの位置を決定するステップと、画素領域データを取得するため、前記圧縮ファイルの一部を復号するステップと、前記機械可読コードを書き換えるステップと、前記機械可読コードのより可読性の高いバージョンを有する前記圧縮ファイルの修正バージョンを生成するため、前記圧縮ファイルの一部を再圧縮するステップとから構成されることを特徴とする方法からなる。
本発明によると、圧縮領域にある画像内の機械可読コードを効果的に検出及び精緻化する方法及び装置を提供することができる。
文書画像(JPEG2000文書画像など)における機械可読コード(一次元バーコードなど)を検出する方法及び装置が説明される。一実施例では、機械可読コードの検出は、候補コード検出と位置特定精緻化の2つの処理により行われる。何れの処理もJPEG2000文書画像の圧縮領域において行われる。一実施例では、候補コードの位置が、圧縮データを含むファイルのヘッダデータから抽出され、ファイルの復号化された係数のチェック部により検証される。わずかな圧縮データしか使用されないため、当該技術はすべての画素データを利用するアルゴリズムに対し複雑さが小さくなる。従って、本発明は、圧縮領域(JPEG2000圧縮領域など)の文書における機械可読コード(バーコードなど)の位置を決定する技術を導入し、必要となる計算負荷を大きく減少させることができる。
一実施例では、ファイル(JPEG2000ファイルなど)は、「クリーンアップ」または「再生成」された機械可読コード(バーコードなど)により修正される。
図1は、機械可読コード(バーコードなど)位置決定プロセスの一実施例のフロー図である。当該プロセスは、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で実行される)、あるいはそれの組み合わせから構成されるかもしれない処理論理により実行される。
図1を参照するに、本プロセスは、画像(JPEG2000文書画像など)の圧縮表現のファイル(JPEG2000ファイルなど)を受付ける処理論理により開始される(処理ブロック101)。当該ファイルから、処理論理は情報(ヘッダデータなど)を取得する(処理ブロック102)。
当該情報が取得されると、処理論理は、ファイルから取得された情報に基づき圧縮表現された画像における機械可読コードの位置を特定する(処理ブロック103)。一実施例では、処理論理は、ファイルの情報から機械可読コードのそれぞれの位置を抽出し、ファイル(JPEG2000ファイルなど)の一部の復号化されたデータ(復号化係数など)をチェックすることにより、各位置が機械可読コードを有することを検証することによって、機械可読コードの位置を決定する。
一実施例では、1以上の機械可読コードの位置決定後、処理論理は、当該位置や復号化された値などの機械可読コードを示す情報を含むように、ファイルの一部(メタデータなど)を変更する(または新たなファイルを書き込む)(処理ブロック104)。当該処理は任意的なものであることに留意されたい。
他の実施例では、候補バーコードの位置決定のためヘッダデータが利用され、位置精緻化のため部分的係数が利用される。一実施例では、バーコード精緻化は、水平及び垂直方向に沿ってウェーブレット整数の局所的分散の相違を利用することにより実行される。バーコードの位置及び復号された値は、JPEG2000ファイルのメタデータに配置されてもよい。
1以上の機械可読コードの位置決定後、処理論理はそれらを復号し(処理ブロック105)、任意的に、以下でより詳細に説明されるようなアプリケーションにおいて復号化された機械可読コードを利用する(処理ブロック106)。
以下の説明では、本発明のより完全な説明を提供するため、多数の詳細が与えられる。しかしながら、本発明がそのような具体的詳細なしに実現可能であるということは、当業者には明らかであろう。他の例では、本発明を不明瞭にすることを回避するため、周知の構成及び装置は、詳細にではなくブロック図により示される。
以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する処理の記号表現及びアルゴリズムに関して与えられる。これらのアルゴリズム的な記述及び表現は、データ処理分野の当業者によって、当該技術分野の他の当業者に動作の本質を最も効果的に伝えるため利用される手段である。ここで一般的に、アルゴリズムとは、所望の結果を導く自己矛盾のないステップシーケンスとあると考えられる。これらのステップは、物理量の物理的操作を要するものである。通常、必須ではないが、これらの物理量は、格納、転送、合成、比較及び操作可能な電気または磁気信号の形式をとる。これらの信号をビット、値、要素、記号、文字、項、数などと呼ぶことは便利である。
しかしながら、上記及び類似の用語のすべてが適切な物理量と関連付けされ、それらは当該物理量に適用された単なる便宜上のラベルであるということに留意すべきである。以下の説明から明らかなように、特に述べられない場合、本説明を通じて「処理」、「計算」、「決定」、「表示」などの用語を利用した説明は、コンピュータシステムあるいはコンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表されるデータをレジスタ、メモリあるいは他の情報記憶、送信または表示装置内の物理量として同様に表された他のデータに処理及び変換する同様の電子計算装置のアクション及びプロセスを表す。
本発明はまた、上記処理を実行する装置に関する。本装置は、求められる目的に特化して構成されてもよいし、あるいはコンピュータに格納されているコンピュータプログラムにより選択的に起動または再構成された汎用コンピュータから構成されてもよい。このようなコンピュータプログラムは、以下に限定されるものではないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、光磁気ディスクを含む任意のタイプのディスク、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、電子命令を格納するのに適した任意のタイプのメディアなどのコンピュータ読出し可能な記憶媒体に格納されていてもよく、その各々がコンピュータシステムバスにより接続されている。
ここで与えられるアルゴリズム及びディスプレイは、特定のコンピュータまたは他の装置に固有に関連するものではない。各種汎用システムが、ここでの教示に従ってプログラムにより利用されてもよく、あるいは、求められる方法ステップを実行するためより特殊な装置を構成するのに便利であることがわかっている。これら各種システムに求められる構成が、以下の説明から明らかとなるであろう。さらに、本発明は特定のプログラミング言語を参照して説明はされない。様々なプログラミング言語が、ここで説明されるような本発明の教示を実現するのに利用されてもよいということは理解されるであろう。
機械可読媒体は、機械(コンピュータなど)により可読な形式により情報を格納または送信するための任意の機構を含む。例えば、機械可読媒体は、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、電気、光、音響または他の形式の伝搬信号(搬送波、赤外線信号、デジタル信号など)を含む。
概観
本発明の実施例は、圧縮されている画像内の機械可読コード(バーコードなど)の位置を特定する。一実施例では、以下に限定されるものではないが、圧縮されているデータはJPEG2000圧縮データである。当該技術は圧縮領域でのデータに対し機能するため、すべての画像データの解凍が機械可読コードの位置の特定のため実行される必要はなく、このため計算効率を向上させることができる。
図2は、JPEG2000ファイルに対するバーコード処理システムの一実施例のデータフロー図である。図2の各ユニットは、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で実行されるものなど)、あるいはこれらの組み合わせから構成可能な処理論理を有する。
図2を参照するに、スキャンされた文書画像201はまず、JPEG2000エンコーダ202を用いてJPEG2000画像に圧縮される。JPEG2000画像は、JPEG2000コードストリーム203として表される。スキャン解像度は、典型的には300dpiまたは600dpiである。JPEG2000エンコーダ202は任意的なものであるということに留意されたい。あるいは、JPEG2000コードストリーム203は、圧縮されたファイル入力210から受付けられてもよい。
入力としてJPEG2000コードストリームが与えられると、機械可読コード位置特定装置204は、JPEG2000コードストリーム203のヘッダデータから機械可読コードの位置を決定する。一実施例では、機械可読コードは、以降においてより詳細に説明される様々な方法により位置特定可能なバーコードを有する。機械可読コードの位置がわかると、当該情報はJPEG2000ファイルのメタデータに格納可能か、あるいは、他の実施例では当該ファイルの他の位置に格納可能である。
一実施例では、画像の対応する機械可読コード領域はまず、機械可読コード復号ソフトウェアを用いて機械可読コード値209を抽出する機械可読デコーダ208に入力される1以上の機械可読コード画像207を生成するためJPEG2000デコーダ206により解凍される。一実施例では、JPEG2000デコーダ206は、バーコード画像を生成するため、機械可読位置決定装置204により特定されたバーコード位置に基づき、画像内の対応するバーコード領域を解凍し、デコーダ208は、バーコード値を生成するためバーコード画像を復号する。復号された機械可読コード(バーコードなど)はまた、以降の使用において再度復号する必要がなくなるように、JPEG2000ファイルのメタデータに格納可能である。
バーコードの場合、取得されたバーコード位置及び値を利用するアプリケーションは複数ある。これらのアプリケーションは、他の機械可読コードもまた利用可能であるということに留意されたい。バーコード値は、アーチファクト認識、データベース検索、装置制御(電子メールの送信、照明のオンなどのためバーコードをスキャンするなど)のため直接利用可能である。例えば、取得されたバーコード位置及び値の情報により、本発明の譲受人に譲渡され、2002年12月5日に出願された米国特許出願第10/314,014号「A Device for Scanning and Printing Barcodes」(2004年7月10日に公開された米国公報第2004/0108381号)に記載された技術を用いて、もとのぼやけたバーコード画像を置換するため、バーコード生成ソフトウェアによりバーコード画像の新しい鮮明なものを生成することができる。バーコード領域は、スキャン後常時リフレッシュ可能であり、繰り返し印刷及びスキャンすることによる不鮮明化を回避することができる。JPEG2000ファイルでは、この新しい画像データは圧縮され、圧縮ファイルのデータを置換するのに利用可能である。JPMファイルでは、この新しい画像データは、通常印刷では古いバーコードを覆い隠すファイルの追加的レイヤに格納可能であるが、必要に応じてもとのスキャンがアクセス可能となる。
図3は、バーコード位置決定装置の一実施例のブロック図である。各ブロックは、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で実行されるものなど)、あるいはこれらの組み合わせから構成される処理論理により実行される。図3を参照するに、ヘッダデータ抽出ユニット301は、JPEG2000コードストリーム203を受け取り、当該コードストリーム203のヘッダデータからJPEG2000文書画像のビット配置を取得する。パケットヘッダは、JPEG2000ファイルのコードストリームから抽出可能である。すなわち、ヘッダデータから、各コードブロックに割当てられたビット数を記述するビット配置データが導出可能である。ビット配置データは、もとのJPEG2000画像のエントロピー分布をシミュレートするマトリックスを形成するよう構成可能である。
一実施例では、ビット配置は、本発明の譲受人に譲渡され、2002年1月10日に出願された米国特許出願第10/044,420号「Header−Based Processing of Images Compressed Using Multi−Scale Transforms」(2003年9月4日に公開された米国公報第2003/0165273号)に記載される方法を用いて取得される。当該アプリケーションでは、JPEGヘッダデータは、ウェーブレット係数の複数の解像度のパケットヘッダから抽出される。ヘッダデータから容易に抽出されるアイテムの1つは、ウェーブレット係数のコードブロックを符号化するのに用いられるバイト数である。ここでは、コードブロックに用いられるバイト数は、ビット配置マトリックスと呼ばれる。
300dpiでスキャンされた典型的な8.5×11インチの用紙は、2550×3300画素の画像を生成する。ウェーブレット圧縮システムは、当該画像を3L+1個のウェーブレット係数マトリックスに変換する(ここで、Lは、ウェーブレット変換のレベル数であり、典型的にはこのサイズの画像では5または6とされる)。最高の解像度では、LH、HL及びHHの3つのウェーブレット係数マトリックスがあり、各々のサイズはもとの画像の水平及び垂直サイズの約1/2である。各追加的レベルは、再び1/2の水平及び垂直サイズである。このため、LHは垂直にローパスされた係数と水平にハイパスされた係数を表し、HLは垂直ハイパス及び水平ローパスを表し、HHは両方向に用いられたウェーブレット変換のハイパスフィルタを表す。JPEG2000は、係数マトリックスを典型的には32×32または64×64のサイズのコードブロックにグループ化する。従って、最高の解像度のサブバンドには40×52個のコードブロックが存在することになる。係数コードブロックの一レイヤのデータを格納するのに用いられるバイト数を示すJPEG2000コードストリームの圧縮ヘッダデータには値は1つである。データのコードブロックを格納するのに必要とされるバイト数は、当該コードブロックの動作を示すものである。このため、ある解像度のあるタイプのウェーブレット係数の動作を表す小さなマトリックスを圧縮データから直接取得することは容易である。これが、ビットは位置マトリックス302を生成するヘッダデータ抽出ユニット301の目的である。
バーコードの位置を特定するため、典型的には、最高の解像度の上記3つのサブバンドからのデータのみが必要とされる。サイズの小さいビット配置マトリックスは、画像全体に対し処理が実行されるより場合より、はるかに高速な処理を可能にする。
ビット配置マトリックス302からのビット配置データを用いて、候補バーコード検出ユニット303は、候補バーコード領域を抽出し、1以上の候補バーコード画定ボックス304を出力する。以下において、候補バーコード検出を実行し、候補バーコード画定ボックスを生成するプロセスの一実施例が詳細に説明される。
パーシャルJPEG2000デコーダ305は、JPEG2000コードストリーム203と候補バーコード画定ボックス304を受け取り、これに応答して、画像内の1以上の画定ボックスの位置に対応した部分的に復号された係数307を生成する。一実施例では、パーシャルJPEG2000デコーダ305は、候補領域のみを復号化し、必要に応じて、あるスケールの詳細なウェーブレット係数に対する当該領域に隣接コードブロックを復号化する。
一実施例では、バーコード精緻化ユニット306が、候補バーコード画定ボックス304及び部分的に復号された係数307の受け取りに応答して、バーコードの精緻化を行う。一実施例では、バーコード精緻化ユニット306は、バーコード位置を精緻化し、誤ったバーコードを拒絶するため、ウェーブレット係数の局所的分散を検討することによってバーコードを精緻化する。一実施例では、これは、精緻化されたバーコード画定ボックス308を出力するため、バーコード精緻化ユニット306を用いて実行される。
バーコード位置の特定
図4は、JPEG2000圧縮文書画像からバーコードを検出するプロセスの一実施例のフロー図である。本プロセスは、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムまたは専用マシーン上で実行されるものなど)、あるいはこれらの組み合わせから構成される処理論理により実行される。図4を参照するに、処理論理は、圧縮データを有するファイルのヘッダのビット配置データを用いて候補バーコード領域(画定ボックスなど)を取得する(処理ブロック401)。候補バーコード領域を用いて、処理論理は、ウェーブレット係数の一部を復号することによりバーコードを検証し(処理ブロック402)、当該領域を精緻化する(処理ブロック403)。図5は候補バーコード領域を取得するプロセスの一実施例のフロー図であり、図7はバーコードを検証及び精緻化するプロセスの一実施例のフロー図である。
候補位置の生成
一実施例では、ヘッダデータのビット配置マトリックスが、候補バーコード領域を抽出するのに利用される。図5は、候補バーコード領域を取得するプロセスの一実施例のフロー図である。本プロセスは、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムまたは専用マシーン上で実行されるものなど)、あるいはこれらの組み合わせから構成される処理論理により実行される。
説明の便宜上、以下においては水平方向の一次元バーコード(すなわち、「各帯」が垂直方向に向き、描線順序が水平方向である)の検出が詳述される。垂直方向のバーコードは、処理ブロック501、503A及び505において、HLとLHの役割を交換し、水平及び垂直処理により同時に検出可能である。
図5を参照するに、処理論理が圧縮画像データのLH係数とHL係数との差を取得することから処理が開始される。水平バーコードが垂直方向ではなく水平方向に沿って大きな振幅の高周波数成分を有する事実を観察すると、一実施例では、処理論理は第1レベル(最も精細な解像度)のLH及びHLサブバンドのビット配置マトリックスの間の差を計算する。大きな振幅の係数は、より多くの圧縮すべきデータを取得し、このため、ビット配置マトリックスにおいて大きな値を有する。他の実施例では、減算に代わって、他の差を取得する方法が用いられてもよい。例えば、より多くのビットがHL係数よりLH係数のコードブロックに割当てられることが予想されるため、LH/HLの比は、バーコード領域ではかなり大きなものとなり、非バーコード領域では1に近い値となり、差の代わりに利用することができる。
HL1及びELH1をそれぞれ上記2つのサブバンドのビット配置マトリックスを表すものとする。EHL1(i,j)は、第1分解レベルのHLサブバンドのi,j位置におけるコードブロックのビット配置である。ELH1(i,j)は、第1分解レベルのLHサブバンドのi,j位置におけるコードブロックのビット配置である。コードブロック(i,j)がバーコード領域に属する場合、ELH1(i,j)−EHL1(i,j)>>0となり、コードブロック(i,j)が一般的なテキストまたは画像領域に属する場合、
Figure 2006174461
となることが予想される。従って、ビット配置差画像は、img=ELH1−EHL1として取得される。ここで一実施例では、これは第1レベルに対してのみ実行されるということに留意されたい(サイズはコードブロック数の約1/4となる)。対称的に、ELH1(i,j)−EHL1(i,j)<<0は、垂直方向のバーコードを取得することができる。与えられた文書画像上の水平バーコードと垂直バーコードの両方が、当該技術を通じて検出可能である。
差の取得後、処理論理は、バーコードでない背景となる点を削除する(処理ブロック502)。一部のテキストまたは画像は削除されないかもしれないということに留意されたい。バーコード領域は、LHサブバンドに大きな係数を、すなわち、LHサブバンドのビット配置マトリックスの対応する位置に大きな値を有すると考えられる。従って、閾値tbgより小さな対応するLHビット分布データを有するimgの画素は、バーコード候補に対しては排除され、0に設定される。一実施例では、閾値tbgは、ELH1の平均値である
Figure 2006174461

として表されるLH1サブバンドのビット配置平均値を計算し、
Figure 2006174461

に従って閾値を生成することにより決定される。また、他の閾値が利用されてもよい。処理論理は、背景点を削除し、フィルタリングされた画像imgを取得する。
背景点を削除した後、処理論理はノイズ除去を実行する(処理ブロック503)。一実施例では、処理論理はまず、水平ローパスフィルタ(LPF)をimgの画素に適用することによりノイズ除去を実行する(処理ブロック503A)。imgの各行をノイズを抑制するローパスフィルタを通過させることにより、一次元フィルタリングされたimgが取得される。ここでは、様々なフィルタが利用可能である。一実施例では、シンプルなトライアングルフィルタf={1/9,2/9,3/9,2/9,1/9}が利用される。他の実施例では、フィルタ{1/3,1/3,1/3}やボックスフィルタが利用されるかもしれない。垂直バーコードの場合、垂直フィルタが利用されるべきである。これらのフィルタは、水平バーコードが大変短く、その幅は格納されているデータ量に依存すため有用であり、少数バイトの格納が複数のコードブロックを利用する。
ローパスフィルタの適用後、処理論理は、候補バーコードの個数をさらに制限するためのフィルタリングを実行する(処理ブロック503B)。一実施例では、imgをフィルタリングするのに閾値tが選ばれる。一実施例では、当該閾値未満の値を有するimgの画素は0に設定される。他の閾値が利用されてもよい。しかしながら、大きすぎる閾値は一部の潜在的なバーコード信号を削除してしまい、小さすぎる閾値は多数の候補バーコードを抽出し、計算負荷を増大させる。一実施例では、適用される閾値は以下のように計算される。まず、imgの強度ヒストグラムが計算される。imgの各強度がランダム変数Xとみなされる場合、正規化されたヒストグラムは、Xの確率密度関数を表す。従って、Xの期待値
Figure 2006174461

と標準偏差σが、当該ヒストグラムから推定可能である。このとき、閾値は
Figure 2006174461

として定義される。最終的に閾値処理された画像は、imgとして表される。
ノイズ除去後、処理論理は、最終的に閾値処理された画像におけるピークを特定する(処理ブロック504)。一実施例では、処理論理は、潜在的なバーコードとしてimgのピークを特定し、当該ピークから周辺領域に拡大する領域を適用することにより、潜在的バーコードの画定ボックスを決定する。
図6は、ピーク位置を特定するプロセスの一実施例のフロー図である。本プロセスは、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で実行されるものなど)、あるいはこれらの組み合わせから構成される処理論理により実行される。
図6を参照するに、処理論理は、ピークから開始し、振幅があるレベル(例えば、ピーク値の50%など)まで低下するまで水平方向にそれを拡張する(処理ブロック601)。基本的に、imgの値は、同一のバーコードに対しては近似すべきであり、当該値が最大値の1/2より小さくなると、それは同一のバーコードの一部でないとみなされる。例えば、最大値の1/3などの他のレベルが用いられてもよい。これを行うことにより、処理論理は、バーコードの左右の端を特定する。次に、処理論理は検出された行から開始し、行の平均振幅があるレベル(例えば、当初検出された行の平均振幅の50%など)まで低下するまでそれを垂直方向に拡張する(処理ブロック602)。こうすることにより、処理論理は、バーコードの上下の端を特定することができる。
図5を参照するに、処理ブロック504において最大ピークを特定した後、処理論理は、当該ピーク位置から開始される領域拡大を行う(処理ブロック505)。一実施例では、領域拡大実行後、処理論理は検証プロセスを用いて検出された候補バーコード領域を検証する(処理ブロック506)。この検証プロセスは、バーコードの領域を調整するものであってもよい。検証手順が利用されるか否かに関係なく、処理論理はimgから潜在的なバーコードの領域を削除する(処理ブロック507)。このとき、処理論理は、もはやバーコードが検出されなくなるまで、あるいはアプリケーションにより規定された個数のバーコードの位置が特定されるまで(例えば、既知の個数のバーコードが存在する)、1以上の繰り返しのため処理ブロック504に戻る。これは、imgのすべての値がゼロになると示されるようにしてもよい。当該プロセスの完了後、有効なバーコードが存在するか否か、それと共にその位置を示す出力がなされる。一実施例では、複数のバーコードが存在する場合、当該出力は各バーコードの位置を示す。
バーコード精緻化
バーコードの精緻化では、上述のように取得された各候補バーコード位置が、それのウェーブレット係数の局所的分散をチェックすることによりバーコードを含むものとして検証される。一実施例では、候補バーコード領域に対応するコードブロックのみが、あるスケールレベルsにより復号される。スケールレベルsの選択では、当該レベルにおけるバーコード領域の水平方向の分散と垂直方向の分散との間に明らかな差が存在しなければならないという条件の下、計算量を減少させるためより高いレベルのs(粗い解像度)が好ましい。一実施例では、解像度DPIによりスキャンされた文書画像に対し、以下の式がsを決定するのに利用可能である。
Figure 2006174461

ただし、logは基底2の対数である。「+3」は、300dpi画像に対し第3レベルを選択するオフセットである。300dpi文書では、対応する候補バーコード領域の第3スケールレベルの水平及び垂直方向に沿ったウェーブレット係数の差である|LH|−|HL|が計算される。(ここで、log(300/300)=0であるため、第3サブバンドが利用されるということに留意されたい。600dpi画像に対しては、log(600/300)=1であるため、第4サブバンドが利用可能である。)
強力なバーコード信号の明確な境界が、弱い周辺背景信号から取得されると予想される。すなわち、画定ボックスが精緻化可能である。
図7は、バーコードを精緻化するプロセスの一実施例のフロー図である。本プロセスは、ハードウェア(回路、専用論理など)、ソフトウェア(汎用コンピュータシステムや専用マシーン上で実行されるものなど)、あるいはこれらの組み合わせから構成される処理論理により実行される。図7に関する以下の説明において、検査領域とは、上述のような局所的分散が計算される長方形を表す。
図7を参照するに、処理論理は、図5のプロセスの結果として与えられる潜在的なバーコード画定ボックスとなるべき検査領域を初期化することにより開始される(処理ブロック701)。一実施例では、以下の2つの仮定が用いられる。
1)バーコードは、水平方向に沿って大きな係数分散を有する。
2)バーコードの周囲の背景領域は、水平方向に沿って大きな係数分散を有しない。
上記2つの仮定に基づき、一実施例では、図8のフロー図に与えられる以下の処理に従って初期化が行われる。図8を参照するに、本プロセスは、処理論理が検査領域の各行に沿って係数の標準偏差を計算することにより開始される(処理ブロック801)。次に、処理論理は、何れの行も特定の閾値tvarを上回る標準偏差を有しない場合、当該領域は、非バーコード領域とみなされ、直接拒絶される(処理ブロック802)。tvarを選択するのに各種方法が利用可能である。一実施例では、tvarは、潜在的なすべてのバーコード領域の|LH|−|HL|の最大値を計算し、tvarをこの値の1/8に設定することにより以下のように選択される。
次に、処理論理は、上位3つの水平方向標準偏差の平均値を計算し、tをこの平均値の70%として設定することにより閾値tを計算し(処理ブロック803)、その後、バーコードの上下境界を検出する(処理ブロック804)。一実施例では、処理論理は、水平方向標準偏差をtにより閾値処理し、tを上回る最も長い行セグメントを選択することによりこれらの境界を検出する。
一実施例では、処理論理は、候補画定ボックスがバーコード全体をカバーしていない場合などのように、検出された上端または下端が検査領域の上端または下端と一致する場合には、垂直拡張処理を実行する(処理ブロック805)。この状況では、処理論理は、検査領域の上下何れかの隣接コードブロックを復号する。
図7を参照するに、上端または下端の精緻化後、処理論理は、もとの候補バーコード画定ボックスの左右の境界を更新する(処理ブロック702)。周辺背景はバーコードと同じくらい強力なLH係数とHL係数との差を有してはいないため、一実施例では、処理論理は左右の境界をさらに精緻化する。一実施例では、このさらなる精緻化は、図9のフロー図に従って実行される。図9を参照するに、処理論理は、領域内のすべての係数に対し、LH係数とHL係数との間の振幅の差を計算する(処理ブロック901)。その後、処理論理は、各列に対し当該差の平均振幅を決定する(処理論理902)。次に、処理論理は、図5の処理ブロック503Aと同様に、三角ローパスフィルタを用いて列平均を平滑化する(処理ブロック903)。その後、処理論理は閾値tを設定する(処理論理904)。一実施例では、当該閾値は、上位3つの列平均値を平均化し、当該平均値の25%を閾値としてとることにより設定される。一実施例では、閾値t未満の係数は、低い値の閾値とみなされる。その後、処理論理は、左右の境界を決定するため列をチェックする(処理ブロック905)。一実施例では、低い値の係数が6つ以上の連続して検出されると、処理論理は、バーコード領域の境界が存在したと判断する。こうすることにより、バーコードの左右の境界を推定することができる。図8に関して、このプロセスは、バーコード位置決定プロセスにより生成されるもとの左右の境界を越えた左右の境界を導出かもしれない。
図7を参照するに、処理論理は、処理ブロック701及び702において検査領域の境界を更新する。
一実施例では、左右の境界を精緻化した後、処理論理は校正処理を実行する(処理ブロック704)。処理論理は、上記処理において検出された境界により画定されるよう検査領域を更新する。最終的な校正ステップとして、処理論理は、隣接する各行ペア間の相関を計算してもよい。一実施例では、行間の平均相関が閾値tcorrを超えなければ、当該領域は拒絶される。実験から、t=0.9と設定される。この最終校正ステップの他のアプローチは、水平方向分散と垂直方向分散との比を閾値処理するというものである。すなわち、この比が閾値未満である場合、このことは異なる方向に沿って明らかな分散の差が存在しないことを意味し、当該領域は拒絶される。
更新された検査領域がバーコード全体をカバーすることを保証するため、処理論理はeに対し拡張する(処理ブロック705)。一実施例では、実行領域は、4つの方向のそれぞれにe=3画素だけ拡張される。この点で、更新された検査領域画定ボックスは、精緻化されたバーコード画定ボックスであるとみなされ、返される。
最後に一実施例では、処理論理は、精緻化された画定ボックスに対し重複チェックを実行する(処理ブロック706)。画定ボックスが既に検出されたバーコードの画定ボックスと重複する場合、この新しいバーコードは重複とみなされ、無視される。
結果には誤った警告やミスが現れるかもしれない。これらに対してはいくつかの改善策があり、その一部は以下のようなものである。例えば、バーコードの許容可能な最小サイズを設定するなど、より厳しい条件をバーコード精緻化処理に追加することにより、誤った警告の回数を減少させることが可能である。ミスは主として、ビット配置マトリックスをフィルタリングするのに用いられる大きな閾値により生ずる。従って、ミスの回数を減らすように閾値を調整することができる。しかしながら、この閾値と計算負荷との間にはトレードオフが存在する。低い閾値が設定される場合にはミスの回数は減少するが、より多くの係数を復号する必要があり、より多くの計算が必要とされる。バーコードの高さが低すぎるとき(例えば、この高さがコードブロックのサイズ未満であるなど)、ミスの発生が増加する。従って、小さなバーコードに対しては、スキャン解像度を増やすことがミスの回数を減らすことができる。
他の技術を用いることにより、特に所定数(例えば、1つ)のバーコードしかページ上に存在しないということがわかっている場合、所定数のバーコード領域の位置を決定することができる。この場合、正確な個数のバーコードが検出されるまで、大きな閾値を利用し、減少させることが可能である。
他のバーコード検出技術
上記開示された技術は、一次元水平または垂直バーコードの少なくとも位置決定及び検証に適用可能である。例えば、Codeblock、Code16K、PDF417、QR−codeなどの他のバーコードは、水平または垂直向きを有しない。この場合、一実施例では、バーコードの候補位置を検出するため、HHサブバンドのヘッダ情報が利用される。一実施例では、HHのビット配置マトリックスのみが利用される。他の実施例では、図5のブロック501において、HH、LH及びHLビット配置マトリックスの一次結合が利用される。同様にブロック503Aでは、水平及び垂直何れのローパスフィルタも適切ではなく、
Figure 2006174461

などの二次元ブロックフィルタが利用される。
検証ステップでは、sにより与えられるスケールのHHウェーブレット係数が、水平係数の代わりに利用可能である。LH、HL及びHH係数の分散の一次結合もまた用いられてもよい。
一例となるコンピュータシステム
図10は、ここで説明された処理の1以上を実行可能な一例となるコンピュータシステムのブロック図である。図10を参照するに、コンピュータシステム1000は、一例となるクライアントまたはサーバコンピュータシステムから構成される。コンピュータシステム1000は、情報を通信するための通信機構またはバス1011と、情報を処理するためバス1011に接続されたプロセッサ1012とから構成される。プロセッサ1012は、これに限定されるものではないが、Pentium(登録商標)プロセッサなどのマイクロプロセッサを有する。
システム1000はさらに、プロセッサ1012により実行される情報及び命令を格納するためバス1011に接続されたRAM(Random Access Memory)または他のダイナミック記憶装置(メインメモリと呼ぶ)を有する。メインメモリ1004はまた、プロセッサ1012による命令の実行中に一時的変数または他の中間情報を格納するのに利用可能である。
コンピュータシステム1000はまた、プロセッサ1012に対する静的情報及び命令を格納するためバス1011に接続されたROM(Read Only Memory)及び/または他の静的記憶装置1006と、磁気ディスク、光ディスク、それの対応するディスクドライブなどのデータ記憶装置1007とを有する。データ記憶装置1007は、情報及び命令を格納するためバス1011に接続されている。
コンピュータシステム1000はさらに、コンピュータユーザに情報を表示するためバス1011に接続されたCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などの表示装置1021に接続されてもよい。英数字及び他のキーを含む英数字入力装置1022が、情報及びコマンド選択をプロセッサ1012に通信するためバス1011に接続されてもよい。追加的なユーザ入力装置として、向き情報及びコマンド選択をプロセッサ1012に通信すると共に、ディスプレイ1021上のカーソルの動きを制御するためバス1011に接続された、マウス、トラックボール、トラックパッド、スタイラス、カーソル方向キーなどのカーソル制御1023がある。
バス1011に接続可能な他の装置として、用紙、フィルム、他の同様のタイプの媒体などの媒体に命令、データまたは他の情報を印刷するのに利用されるハードコピー装置1024がある。さらに、スピーカーやマイクロフォンなどの音声記録再生装置が、コンピュータシステム1000との音声インタフェースをとるため、任意的にバス1011に接続されてもよい。バス1011に接続可能な他の装置として、電話や携帯型装置と通信する有線または無線通信機能がある。
ここで、システム1000の何れかまたはすべてのコンポーネント及び関連するハードウェアが利用可能であるということに留意されたい。しかしながら、コンピュータシステムの他の構成は上記装置の一部またはすべてを備えることが可能であるということは理解されるであろう。
本発明の多数の変更及び改良が上記説明を読んだ後、当業者には明らかとなるであろうが、図示及び説明された実施例は本発明を限定するものとして解釈されるべきではない。各種実施例の詳細は、本発明の要部としてみなされる特徴のみを記載した請求項の範囲を限定するものではない。
図1は、機械可読コード(バーコードなど)の位置決定プロセスの一実施例のフロー図である。 図2は、JPEG2000ファイルに対するバーコード処理システムの一実施例のデータフロー図である。 図3は、バーコード位置決定装置の一実施例のブロック図である。 図4は、JPEG2000圧縮文書画像からバーコードを検出するプロセスの一実施例のフロー図である。 図5は、候補バーコード領域を取得するプロセスの一実施例のフロー図である。 図6は、初期領域を決定するプロセスの一実施例のフロー図である。 図7は、バーコードの検証及び精緻化のためのプロセスの一実施例のフロー図である。 図8は、上下境界を精緻化するプロセスの一実施例のフロー図である。 図9は、左右境界を精緻化するプロセスの一実施例のフロー図である。 図10は、一例となるコンピュータシステムのブロック図である。
符号の説明
201 スキャン文書画像
202 JPEG2000エンコーダ
204 機械可読コード位置決定装置
206 JPEG2000デコーダ
208 機械可読コードデコーダ
1000 コンピュータシステム
1004 メインメモリ
1006 静的記憶装置
1007 データ記憶装置
1012 プロセッサ
1011 バス
1021 ディスプレイ
1022 キーボード
1023 カーソル制御
1024 ハードコピー装置
1025 通信インタフェース

Claims (25)

  1. 圧縮表現された画像のファイルから情報を抽出するステップと、
    前記圧縮表現された画像における機械可読コードの位置を決定するステップと、
    から構成されることを特徴とする方法。
  2. 請求項1記載の方法であって、
    前記情報はヘッダデータを有し、
    前記機械可読コードの位置を決定するステップは、前記ファイルのヘッダデータ内の情報に基づき行われる、
    ことを特徴とする方法。
  3. 請求項1記載の方法であって、
    前記機械可読コードの位置を決定するステップは、
    前記ファイルのヘッダデータから前記機械可読コードの位置を抽出するステップと、
    前記ファイルの一部を復号することにより、前記機械可読コードの位置を検証するステップと、
    から構成されることを特徴とする方法。
  4. 請求項3記載の方法であって、
    前記機械可読コードの位置を抽出するステップは、各レベルの各コードブロックのビット配置を利用して、機械可読コードを潜在的に含む前記画像内の位置を選択することを特徴とする方法。
  5. 請求項3記載の方法であって、
    前記機械可読コードの位置を抽出するステップは、複数のビット配置マトリックスを用いて前記画像内の位置を選択し、
    前記複数のビット配置マトリックスの各々は、各レベルの各コードブロックのビット配置から構成される、
    ことを特徴とする方法。
  6. 請求項3記載の方法であって、
    前記機械可読コードの位置を検証するステップは、各候補機械可読コード位置に対し、
    水平方向の分散分布を計算するステップと、
    前記水平方向の分散分布に基づき、上下境界を検出するステップと、
    垂直方向の平均係数分布を計算するステップと、
    前記垂直方向の平均係数分布に基づき左右境界を検出するステップと、
    から構成されることを特徴とする方法。
  7. 請求項6記載の方法であって、さらに、
    係数の隣接する行間の相関を計算するステップと、
    行間の平均相関と閾値との間の関係に基づき、候補機械可読コードの位置を拒絶するステップと、
    を有することを特徴とする方法。
  8. 請求項6記載の方法であって、さらに、
    前記水平方向の分散の前記垂直方向の分散に対する比を算出するステップと、
    前記水平方向の分散の前記垂直方向の分散に対する比と閾値との間の関係に基づき、候補機械可読コードの位置を拒絶するステップと、
    を有することを特徴とする方法。
  9. 請求項1記載の方法であって、さらに、
    前記機械可読コードを示す情報を含むよう前記ファイルを変更するステップを有することを特徴とする方法。
  10. 圧縮表現された画像のファイルから情報を抽出する抽出ユニットと、
    前記圧縮表現された画像における機械可読コードの位置を決定するコード位置決定装置と、
    から構成されることを特徴とする装置。
  11. 請求項10記載の装置であって、
    前記情報はヘッダデータを有し、
    前記コード位置決定装置は、前記ファイルのヘッダデータ内の情報に基づき前記機械可読コードの位置を決定する、
    ことを特徴とする装置。
  12. 請求項10記載の装置であって、
    前記コード位置決定装置は、
    前記ファイルのヘッダデータから前記機械可読コードの位置を抽出する候補コード検出ユニットと、
    前記ファイルの一部を復号することにより、前記機械可読コードの位置を検証するコード精緻化ユニットと、
    から構成されることを特徴とする装置。
  13. 請求項12記載の装置であって、
    前記候補コード検出ユニットは、各レベルの各コードブロックのビット配置を利用して、機械可読コードを潜在的に含む前記画像内の位置を選択することにより、前記機械可読コードの位置を抽出することを特徴とする装置。
  14. 請求項12記載の装置であって、
    前記候補コード検出ユニットは、複数のビット配置マトリックスを用いて前記画像内の位置を選択することにより、前記機械可読コードの位置を抽出し、
    前記複数のビット配置マトリックスの各々は、各レベルの各コードブロックのビット配置から構成される、
    ことを特徴とする装置。
  15. 請求項12記載の装置であって、
    前記コード精緻化ユニットは、各候補機械可読コード位置に対し、
    水平方向の分散分布を計算し、
    前記水平方向の分散分布に基づき、上下境界を検出し、
    垂直方向の平均係数分布を計算し、
    前記垂直方向の平均係数分布に基づき左右境界を検出する、
    ことにより、前記機械可読コードの位置を検証することを特徴とする装置。
  16. 請求項15記載の装置であって、
    前記コード精緻化ユニットは、
    係数の隣接する行間の相関を計算し、
    行間の平均相関と閾値との間の関係に基づき、候補機械可読コードの位置を拒絶する、ことを特徴とする装置。
  17. 請求項16記載の装置であって、
    前記コード精緻化ユニットは、
    前記水平方向の分散の前記垂直方向の分散に対する比を算出し、
    前記水平方向の分散の前記垂直方向の分散に対する比と閾値との間の関係に基づき、候補機械可読コードの位置を拒絶する、
    ことを特徴とする装置。
  18. 請求項10記載の装置であって、さらに、
    前記機械可読コードを示す情報を含むよう前記ファイルを変更するファイルエディタを有することを特徴とする装置。
  19. 圧縮表現された画像のファイルを受付けるステップと、
    前記画像内の1以上の機械可読コードの位置を決定するのに前記ファイルのヘッダデータを利用するステップと、
    から構成されることを特徴とする方法。
  20. 請求項19記載の方法であって、
    前記ヘッダデータを利用するステップは、
    前記ファイルのヘッダデータから前記1以上の機械可読コードの1以上の潜在的な機械可読コードの位置を抽出するステップと、
    前記1以上の潜在的な機械可読コードの各位置が機械可読コードの位置であるか、前記ファイルの一部の復号されたデータをチェックすることにより検証するステップと、
    から構成されることを特徴とする方法。
  21. 圧縮表現された画像のファイルを受付けるステップと、
    前記画像内の1以上の機械可読コードの位置を決定するステップと、
    前記1以上の機械可読コードを示す情報を含むよう前記ファイルを修正するステップと、
    から構成されることを特徴とする方法。
  22. 圧縮ファイルに対し、該圧縮ファイルに係るヘッダデータを利用して画像解析を実行するステップと、
    前記画像解析の結果に基づき、前記圧縮ファイルの一部を選択するステップと、
    前記圧縮ファイルの一部を部分的に復号するステップと、
    から構成されることを特徴とする方法。
  23. 圧縮ファイルにおける機械可読コードの位置を決定するステップと、
    前記圧縮ファイルにおける機械可読コードの位置を含むよう前記圧縮ファイルの修正バージョンを生成するステップと、
    から構成されることを特徴とする方法。
  24. 圧縮ファイルにおける機械可読コードの位置を決定するステップと、
    画素領域データを取得するため、前記圧縮ファイルの一部を復号するステップと、
    前記機械可読コードに係る1以上の復号された値をメタデータとして格納することにより、前記圧縮ファイルの修正バージョンを生成するステップと、
    から構成されることを特徴とする方法。
  25. 圧縮ファイルにおける機械可読コードの位置を決定するステップと、
    画素領域データを取得するため、前記圧縮ファイルの一部を復号するステップと、
    前記機械可読コードを書き換えるステップと、
    前記機械可読コードのより可読性の高いバージョンを有する前記圧縮ファイルの修正バージョンを生成するため、前記圧縮ファイルの一部を再圧縮するステップと、
    から構成されることを特徴とする方法。
JP2005359095A 2004-12-14 2005-12-13 機械可読コード検出方法及び装置 Expired - Fee Related JP4579148B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/014,375 US7506817B2 (en) 2004-12-14 2004-12-14 Location of machine readable codes in compressed representations

Publications (2)

Publication Number Publication Date
JP2006174461A true JP2006174461A (ja) 2006-06-29
JP4579148B2 JP4579148B2 (ja) 2010-11-10

Family

ID=36582665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005359095A Expired - Fee Related JP4579148B2 (ja) 2004-12-14 2005-12-13 機械可読コード検出方法及び装置

Country Status (2)

Country Link
US (1) US7506817B2 (ja)
JP (1) JP4579148B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016529598A (ja) * 2013-06-28 2016-09-23 コダック アラリス インク 文書内バーコード配置特定

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8215556B2 (en) * 2004-06-28 2012-07-10 Konica Minolta Laboratory U.S.A., Inc. Color barcode producing, reading and/or reproducing method and apparatus
US7533817B2 (en) * 2004-08-09 2009-05-19 Konica Minolta Systems Laboratory, Inc. Color barcode producing method and apparatus, color barcode reading method and apparatus and color barcode reproducing method and apparatus
US7506817B2 (en) * 2004-12-14 2009-03-24 Ricoh Co., Ltd. Location of machine readable codes in compressed representations
US7669769B2 (en) * 2005-03-28 2010-03-02 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
US7766241B2 (en) * 2006-09-29 2010-08-03 Konica Minolta Systems Laboratory, Inc. Barcode for two-way verification of a document
US7523865B2 (en) * 2006-09-29 2009-04-28 Konica Minolta Systems Laboratory, Inc. High resolution barcode and document including verification features
US7628330B2 (en) * 2006-09-29 2009-12-08 Konica Minolta Systems Laboratory, Inc. Barcode and decreased-resolution reproduction of a document image
US7684901B2 (en) * 2007-06-29 2010-03-23 Buettner William L Automatic utility usage rate analysis methodology
US8270303B2 (en) * 2007-12-21 2012-09-18 Hand Held Products, Inc. Using metadata tags in video recordings produced by portable encoded information reading terminals
US20100198876A1 (en) 2009-02-02 2010-08-05 Honeywell International, Inc. Apparatus and method of embedding meta-data in a captured image
US9519814B2 (en) 2009-06-12 2016-12-13 Hand Held Products, Inc. Portable data terminal
US8873618B2 (en) * 2011-02-28 2014-10-28 Blackberry Limited Device to transmit data by displaying a coded image generated according to a selectable encoding scheme and associated methods
TWI664605B (zh) * 2018-08-16 2019-07-01 瑞昱半導體股份有限公司 色彩重建裝置與方法
CN117152415B (zh) * 2023-09-01 2024-04-23 北京奥乘智能技术有限公司 药品包装的标记物检测方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072655A (ja) * 2002-08-09 2004-03-04 Ricoh Co Ltd Roi領域設定装置、電子カメラ装置、roi領域設定方法、プログラム、記録媒体
JP2004227406A (ja) * 2003-01-24 2004-08-12 Ricoh Co Ltd 画像処理装置、プログラム及び記憶媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336587B1 (en) * 1998-10-19 2002-01-08 Symbol Technologies, Inc. Optical code reader for producing video displays and measuring physical parameters of objects
US6766965B2 (en) * 2001-08-31 2004-07-27 Siemens Automotive Corporation Twin tube hydraulic compensator for a fuel injector
US7150399B2 (en) * 2004-06-09 2006-12-19 Ricoh Co., Ltd. Embedding barcode data in an auxiliary field of an image file
US7506817B2 (en) * 2004-12-14 2009-03-24 Ricoh Co., Ltd. Location of machine readable codes in compressed representations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072655A (ja) * 2002-08-09 2004-03-04 Ricoh Co Ltd Roi領域設定装置、電子カメラ装置、roi領域設定方法、プログラム、記録媒体
JP2004227406A (ja) * 2003-01-24 2004-08-12 Ricoh Co Ltd 画像処理装置、プログラム及び記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016529598A (ja) * 2013-06-28 2016-09-23 コダック アラリス インク 文書内バーコード配置特定

Also Published As

Publication number Publication date
US20060124744A1 (en) 2006-06-15
JP4579148B2 (ja) 2010-11-10
US7506817B2 (en) 2009-03-24

Similar Documents

Publication Publication Date Title
JP4579148B2 (ja) 機械可読コード検出方法及び装置
Monga et al. Perceptual image hashing via feature points: performance evaluation and tradeoffs
Yuan Blind forensics of median filtering in digital images
US8548262B2 (en) Method and apparatus for steganalysis of texture images
JP3345350B2 (ja) 文書画像認識装置、その方法、及び記録媒体
JP5054122B2 (ja) 改良された画像識別
US8184850B2 (en) System and/or method for image tamper detection
Fridrich et al. Maximum likelihood estimation of length of secret message embedded using±k steganography in spatial domain
US9349237B2 (en) Method of authenticating a printed document
KR101968921B1 (ko) 강건한 낮은 복잡도 비디오 핑거프린팅을 위한 장치 및 방법
US20210192019A1 (en) System and method for digital steganography purification
Ker et al. Feature reduction and payload location with WAM steganalysis
Scherhag et al. Face morph detection for unknown morphing algorithms and image sources: a multi‐scale block local binary pattern fusion approach
Gupta et al. Passive image forensics using universal techniques: a review
KR20100076015A (ko) 향상된 이미지 식별
Wang et al. Image sharpening detection based on difference sets
Guan et al. An effective image steganalysis method based on neighborhood information of pixels
Tsai et al. Digital forensics for printed character source identification
Dang et al. A blind document image watermarking approach based on discrete wavelet transform and qr code embedding
Gu et al. USM sharpening detection based on sparse coding
JP2008123245A (ja) 画像処理装置及び画像処理プログラム
Subathro et al. Detecting digital image forgeries using resampling by automatic Region of Interest (ROI)
Wang et al. Detection of shifted double JPEG compression by an adaptive DCT coefficient model
Bennet et al. Performance analysis of forgery detection of JPEG image compression
Moriguchi et al. Robust Image Hashing Based on Wavelet Decomposition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100825

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4579148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees