バーコードの除去方法
【課題】文書のビットマップ表現からバーコードを除去する方法を提供する。
【解決手段】バーコードは、複数のデータ符号化記号102及び104を含む。方法は、文書の少なくとも一部のビットマップ表現を形成するために、バーコードを含む前記文書を走査するステップから開始する。前記バーコードを定義する複数のデータ符号化記号102及び104は前記ビットマップ表現から識別され、バーコードは少なくとも部分的に復号化される。その後、前記文書のビットマップ表現におけるデータ符号化記号102及び104の場所は、前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して識別される。最後に、データ符号化記号102及び104の少なくとも一部は、前記文書の前記ビットマップ表現から除去される。
【解決手段】バーコードは、複数のデータ符号化記号102及び104を含む。方法は、文書の少なくとも一部のビットマップ表現を形成するために、バーコードを含む前記文書を走査するステップから開始する。前記バーコードを定義する複数のデータ符号化記号102及び104は前記ビットマップ表現から識別され、バーコードは少なくとも部分的に復号化される。その後、前記文書のビットマップ表現におけるデータ符号化記号102及び104の場所は、前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して識別される。最後に、データ符号化記号102及び104の少なくとも一部は、前記文書の前記ビットマップ表現から除去される。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、印刷されたバーコードを除去する方法に関し、特に、走査済ページのビットマップ表現からバーコードを識別し、その場所を特定し且つ除去する方法に関する。更に本開示は、バーコード除去を行うための装置及びコンピュータプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【0002】
印刷文書上にデータを個別に格納する多くの方法が存在する。1つの方法は、文書の背景に2次元バーコードを印刷することを含む。多くの場合、文書における可読性の低下を最小限にするために、そのようなバーコードは低い可視性を有するように設計される。通常、そのようなバーコードは、バーコード領域全体にわたってまばらに配設されるドット又はグリフ等の模様を使用してデータを格納する。これらのバーコードは、機密文書又は慎重な取り扱いを要する文書上に印刷され、通常はコピー防止コード及び/又は追跡情報を格納する。バーコードが適切な機能を有するコピー機により走査される場合、コピー防止コードが抽出され、コピーを許可するべきかを判定するために使用される。或いは、漏洩文書が発見された場合、漏洩文書は走査され、追跡情報が抽出及び検査される。追跡情報は、文書を印刷したユーザの身元に関する有用な法科学的情報及び印刷の時期を含んでもよい。
【0003】
これに対して、印刷文書のコピー時に、印刷文書から背景バーコードを除去する特定の状況がある。例えば、コピーが防止された文書から保護を除去するには、バーコードを除去する必要がある。別の用途は、当該文書をコピーした最後のユーザの追跡を含む。これは、文書からバーコードを検出及び除去し、コピー中にユーザIDを新しいバーコードに埋め込み、且つ背景に、新しいバーコードを有する文書を再生することにより達成される。
【0004】
バーコード除去に対して複数の解決策が存在する。1つの方法は、文書の他の全ての可視構成要素より小さいバーコード模様に依存する。この場合、平均化フィルタ又はぼかしフィルタは、バーコード模様のサイズを有する全てのマークを除去するために走査文書に適用される。この方法を使用すると、文書画質は大幅に低下し、バーコード模様の最大サイズは制限される。別の方法は、印刷文書毎に文書索引を作成し、全文書の元の電子コピーを文書索引に関連付けてサーバ上に配置し且つ各文書のバーコードに文書索引を格納することに依存する。複製時、文書索引はバーコードから抽出され、対応する電子コピーはサーバから検索され、電子コピー(バーコードを含まない)が印刷される。これにより、複製文書は良好な品質を得るが、全文書の電子コピーを格納することは非現実的な解決策であり、あまり望ましくない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の目的は、既存の構成の1つ以上の欠点を実質的に克服するか又は少なくとも改善すること、或いは実行可能な代替構成を提供することである。
【0006】
説明される方法は、走査画像からバーコードを除去する方法を提供する。ドットを用いる可視性の低い2Dバーコードが使用される。
【0007】
説明される方法は、バーコード除去を助長するため、バーコード復号化からの中間情報を使用する。この中間情報により、走査ビットマップ上のバーコード模様の場所を正確に判定できる。マークの場所を正確に判定することにより、背景の劣化を最小限にする除去が可能になる。
【課題を解決するための手段】
【0008】
本開示の第1の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去する方法が提供される。この方法は、
前記文書の少なくとも一部のビットマップ表現を形成するために、バーコードを含む前記文書の少なくとも一部を走査するステップと、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別するステップと、
前記バーコードを少なくとも部分的に復号化するステップと、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別するステップと、
前記文書のビットマップ表現の前記識別された場所からデータ符号化記号の少なくとも一部を除去するステップとを有する。
【0009】
本開示の第2の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去することを助長するコンピュータプログラムであって、
前記文書のビットマップ表現を形成するために、バーコードを含む前記文書を走査することを助長するコード手段と、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコード手段と、
前記バーコードを少なくとも部分的に復号化するコード手段と、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、データ符号化記号の場所を前記文書のビットマップ表現において識別するコード手段と、
前記文書のビットマップ表現からデータ符号化記号を除去するコード手段とを含むコンピュータプログラムが提供される。
【0010】
本開示の第3の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去することを助長するコンピュータプログラムを記録したコンピュータ可読媒体を有するコンピュータプログラム製品であって、
前記文書のビットマップ表現を形成するために、バーコードを含む前記文書を走査することを助長するコンピュータプログラムコード手段と、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコンピュータプログラムコード手段と、
前記バーコードを少なくとも部分的に復号化するコンピュータプログラムコード手段と、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、データ符号化記号の場所を前記文書のビットマップ表現において識別するコンピュータプログラムコード手段と、
前記文書のビットマップ表現からデータ符号化記号を除去するコンピュータプログラムコード手段とを含むコンピュータプログラム製品が提供される。
【0011】
本開示の第4の態様によれば、印刷されたバーコードを含む文書の監査証跡を伝える方法が提供される。この方法は、
第1の態様に従って、或いは本開示の第2又は第3の態様のコンピュータプログラムにより、文書のビットマップ表現からバーコードデータの少なくとも一部を除去するステップと、
除去されたデータと少なくとも部分的に異なるデータを含む新しいバーコードを作成するステップと、
新しいバーコードを背景に含む文書を印刷するステップとを有する。
【0012】
本開示の他の態様が更に開示される。
【図面の簡単な説明】
【0013】
開示された方法の1或いはそれ以上の実施例は、以下の図面を参照して説明される。
【図1】バーコード内にデータを符号化するために使用されるドットの変調グリッドを示す図である。
【図2】復号化のためのドットの変調グリッドの概念的に示す図である。
【図3】データを単一ドットの変調に符号化する方法を示す図である。
【図4】データを単一ドットの場所変調に符号化するために使用される符号化方式を詳細に示す図である。
【図5】データドットの復号化順序を示す図である。
【図6】バーコードに対して使用されるタイリング方式を示す図である。
【図7】バーコード復号化における段階を概略的に示すフローチャートである。
【図8】「グリッドナビゲーション」バーコード復号化段階の出力を示す図である。
【図9】「領域の発見」バーコード復号化段階の出力を示す図である。
【図10】「タイルの集約」バーコードコード復号化段階の出力を示す図である。
【図11】「ECC復号化」バーコード復号化段階の2つの出力を示す図である。
【図12】バーコード除去におけるステップを概略的に示すフローチャートである。
【図13】2つのデータチャネルからのタイル再構成を示す図である。
【図14】1つのタイルからのインターバル配列再構成を示す図である。
【図15】インターバル配列が走査画像にマッピングされる方法を示す図である。
【図16】データドットの場所が算出される方法を示す図である。
【図17】位置決めドットの場所が算出される方法を示す図である。
【図18】走査画像からドットを除去する単純な技術を示す図である。
【図19】バーコードの走査、復号化及び除去の完全な処理を概略的に示すフローチャートである。
【図20】説明される構成が実現される汎用コンピュータシステムを概略的に示すブロック図である。
【発明を実施するための形態】
【0014】
添付の図面を参照して、開示される方法の1つ以上の実施形態を説明する。
【0015】
尚、従来技術の構成に関する本明細書に含まれる任意の考察は、各々の出版物及び/又は使用法を通じて周知の技術を形成する文献又は装置を参照する。しかし、そのような考察は、本発明の発明者又は特許出願人による表現と見なされるべきではなく、そのような文献又は装置は当技術の一般常識の一部を何らかの形で形成する。
<基本構成>
以下に提供する例において、データは、変調グリッドを使用してバーコードに格納される。図1は、そのような変調グリッドの一実施形態の外観を示す拡大図である。図示される変調グリッドは、正方形グリッド101の交点103に近接するドット102及び104の形態である多くの符号化記号から構成される。尚、可視の変調グリッドを形成するのはドット102及び104のみである。グリッド101を形成する線は、ドット102及び104の場所を図示するために示されるに過ぎない。
【0016】
図1における変調グリッドは、2種類のドットから構成される。102等のドットは交点103からオフセットしており、オフセットの方向は各データドット102の場所変調を定義する。これらのドットの位置がデータ符号化に使用されるため、この種類のドットはデータドット(又はデータ記号)とも呼ばれる。ドット104は、データドットの場所を定義するための基準地図を確立するのを助長するため、場所定義記号(又は場所定義ドット)の一例を表す。この特定の例において、ドット104は、交点103の真上に存在し、位置決めドットとも呼ばれる。図1において、データドット及び位置決めドットを異なる陰影で示すが、陰影は例示のために過ぎず、通常、これらはそれぞれの変調以外は同一である。図1に示す構成において、バーコードは、位置決めドットが50%及びデータドットが50%で構成される。他の構成も可能である。
【0017】
図2は、バーコード復号化から発見されたグリッドを示す。図2において、201は発見されたグリッドであり、202はデータドットであり、204は位置決めドットである。位置決めドット204は、グリッド201を定義するために使用され、各グリッド交点上に出現する。グリッド101と比較すると、グリッド201の位置決めドットは1つおきの交点に配置される。従って、発見されたグリッド201は45度オフセットしており、元の正方形グリッド101のグリッド間隔より√2倍大きいグリッド間隔を有する。発見されたグリッド201は、ページを多くの正方形グリッドセル203に分割する。各グリッドセル203は、正確に1つのデータドット202を含む。グリッドセルは、バーコードデータの格納、符号化及び復号化に使用される基本単位である。
【0018】
図3は、情報がグリッドセル内のデータドットに格納される方法を示す。ドット302は、グリッド301内のグリッドセルのグリッドセル中心305に近接し、各ドットは、8つの可能な位置303のうちの1つに変調される。図3に示すように、8つの可能な位置は、関連するグリッド交点を中心とする円に配置される。8つの変調位置は、グリッドの中心から水平方向、垂直方向又は対角線方向にオフセットしている。それらがオフセットしている水平方向及び垂直方向の距離は変調量304であり、本明細書中で「mq」と略記する。変調量mqは、グリッドセルの辺長の固定比率であるように選択される。mqの適切な選択肢は、元の正方形グリッド間隔の40%である。
【0019】
図4は、ドット変調位置303をより詳細に示す。位置はグリッドセル中心403を中心に配置され、各変調位置401は、それに関連付けられるデジタルコード値402を有する。8つの変調位置(401を含む)により、各ドットは8つの可能なデジタルコード値(位置401に対する値402を含む)のうちの1つを符号化できる。これにより、場所変調ドットのグリッドはデジタルデータ記憶装置として動作でき、各ドットはデータの8を基数とする1つの数字を格納する。理想的には、各ドットは、ドットが円のグレイコードに配置されるようにコード値を符号化する。これにより、復号化中の誤り訂正が容易になる。図4は、各ドットのデジタルコード値を2進数で示す。従って、402から時計回りに開始して、ドットは、値5、7、6、2、3、1、0及び4を符号化する。開示される方法の範囲を逸脱せずに、他の変調技術が使用可能である。例えば、16個の変調位置は、16個の可能なデジタルコード値を符号化するために使用可能である。
【0020】
デジタルデータ記憶装置の数字の好適な順序付けは、図5に示すようにドットの矩形配列を使用することにより提供される順序付けである。この順序付けは、一番上の最も左側のグリッドセル501から開始し、一番下の最も右側のグリッドセル502に到達するまで左から右及び上から下に進む。当然、他の順序付けを使用することは可能である。
【0021】
説明される好適な実施形態によると、データの2つの情報チャネルは1つのバーコードに同時に格納される。当然、必ずしも2つの情報チャネルでなくてもよく、単一のチャネルのみ又は2つ以上のチャネルはバーコードに格納可能である。図6は、バーコードに関連付けられる符号化データ全体を含む単一の固有のタイル600に対して使用されるタイリング構成を示す。その後、この単一の構造素子に含まれたバーコードは、冗長性のためにグリッド全体にわたり繰り返しタイリングされる。論理的には、各バーコードタイルは、高データ密度(本明細書において「HDD」と呼ばれる)チャネル及び低データ密度(本明細書において「LDD」と呼ばれる)チャネルの2つの別個のデータチャネルからのデータを表す。HDDチャネルはロバスト性が低いが、LDDチャネルはロバスト性が高い。空間的には、バーコードタイル600は、本明細書においてHDDチャネルタイルと呼ばれる4つのサブタイル601、602、603及び604から構成される。HDDチャネルタイルは、グリッドセル又はデータドットを単位とする寸法614(本明細書において「HDDタイルサイズ」と呼ばれる)を有する正方形グリッドである。各HDDチャネルタイルは、本明細書においてLDDチャネルタイルと呼ばれる1つのより小さな埋め込みタイルを含む。バーコードタイル600内のLDDチャネルタイルは605、606、607及び608である。これら4つの各LDDチャネルタイルは、グリッドセル又はデータドットを単位とする寸法613(本明細書において「LDDタイルサイズ」と呼ばれる)を有する正方形グリッドであり、他の3つのタイルとほぼ同一である。従って、バーコードタイル600は、LDDチャネルタイルの4つのコピーを含む。一方で、領域609、610、611及び612は、全体でHDDチャネルを構成する。HDDチャネルは、4つのHDDチャネルタイルのうちLDDチャネルタイルにより占有されない領域を占有する。従って、バーコードタイル600は、HDDチャネルの単一コピーのみを含む。HDDチャネルを格納するために使用されるHDDチャネルタイルの数は、必要に応じて拡張可能である。例えば、3×3又は4×4のHDDチャネルタイルの構成も可能である。特に、上述のタイリング方式は、使用されるHDDチャネルの構成に関係なくLDDチャネルタイルの一定密度を維持するため、冗長性及びロバスト性の高いLDDチャネルを提供する。
【0022】
誤り訂正符号(ECC)は、LDDチャネル及びHDDチャネルの双方のデータに適用される。好適な実施形態は、本技術において周知の高性能ECCである低密度パリティチェック(LDPC)コードを使用する。
<バーコード除去>
バーコード除去の完全な処理を図19に示す。処理は1901から開始する。
【0023】
第1の段階1902において、紙に印刷されたバーコードは、図20に示す光学スキャナ2019を使用してデジタル走査画像に変換される。印刷された符号化マークが複数のバーコードを含む場合、これらは後の復号化段階において分離される。ビットマップとも呼ばれる走査画像がステップ1902から出力される。
【0024】
第2の段階1903において、走査画像内のバーコードが復号化され、埋込まれたデータが検索される。このデータは、復号化の中間段階からの他のデータと共に、後の段階においてバーコードを識別及び除去するために使用される。埋込まれたデータ自体は、中間符号化段階からのデータと共にステップ1903から出力される。
【0025】
第3の段階1904において、全てのバーコード模様の場所は段階1903からの出力を使用して推定される。その後、各符号化記号(模様)は、所定の2次元形状と置き換えられる。この2次元形状の色は、各記号の近傍の領域の色に基づいて、単純な補間アルゴリズムにより判定される。
【0026】
バーコードが走査画像から除去されると、処理は1904において終了する。
【0027】
段階1903及び1904を「バーコード復号化段階」及び「バーコード除去段階」と題される以下の節においてそれぞれより詳細に説明する。
<バーコード復号化段階>
バーコードを走査文書から正確に除去するには、バーコード復号化の中間段階からの情報が必要である。図7は、バーコード復号化における種々の段階を示す。復号化は701から開始する。
【0028】
第1の動作段階702において、走査画像内でバーコードのドットと考えられる全てのドットの場所を特定するためにヒューリスティックが使用される。場所が特定された大量な各ドットの中心の(x,y)画素の座標リストが702から出力される。
【0029】
第2の段階703において、優先順位に基づくフラッドフィルアルゴリズムが、場所が特定されたドットの場所全体に適切なグリッドを適合するために使用される。典型的な例において、走査画像全体を範囲に含む単一グリッドが703から出力される。特定の例において、間隔及び向きが異なる複数のグリッドが走査画像の範囲に含まれることが判明する。例えば、走査画像が、異なる間隔又は異なる向きを有する2つ以上の別々のバーコードを含む場合、検出された各バーコードに対して別個のグリッドが出力される。
【0030】
第3の段階704において、段階703で識別された各グリッドは、セグメンテーションアルゴリズムを使用して、データの類似性に基づいて別個の領域に分割される。通常、グリッドを範囲に含む基本構造セルを定義する単一領域が704から出力される。特定の例において、複数の領域が発見される。例えば、グリッドが段階703で正確に分離されなかった2つのバーコードを含む場合、それらは段階704において2つの領域に正確に分離される。従って、2つの識別された領域が段階704から出力される。
【0031】
第4の段階705において、各領域内で繰り返されるタイルのデータは、単一タイルを定義するために処理される。サブタイルの寸法は、多くのタイルのデータの自己相関により判明する。図6において、サブタイル601〜604の寸法は2×2である。このように、識別された領域内のタイルは単一タイルにまとめられる。この集約されたタイルは705から出力される。
【0032】
第5の段階706において、集約タイルは、LDDチャネル及びHDDチャネルに直列化され、任意の誤りは誤り訂正符号を使用して訂正され、バーコードが復号化される。図11に示すLDDデータシーケンス1102及びHDDデータシーケンス1103が706から出力される。処理は707において終了する。
【0033】
尚、本開示において、用語「復号化」は、印刷されたページから取得されたビットマップの符号化記号から図11に示す2進データシーケンスを抽出する処理を示す。より厳密には、用語「復号化」は、図11における2進データシーケンスに符号化されるユーザ関連情報を抽出するステップを更に含む必要がある。この場合、2進シーケンスを抽出して終了する上述の処理をバーコードの部分的復号化であると考える必要がある。
【0034】
バーコード除去処理は、グリッドナビゲーション段階703、領域の発見段階704、タイルの集約段階705及びECC復号化段階706からの中間情報を必要とする。これらの各段階を以下により詳細に説明する。
【0035】
図8は、「グリッドナビゲーション」段階703において算出される3つの重要なグリッド特性を示す。各グリッドセルの辺長801を以下「グリッド間隔」と呼ぶ。変調量mqがグリッド間隔の固定比率であるため、変調量mqはグリッド間隔から計算される。各グリッドセルの論理行/列座標を802で示す。これらの座標は、図5に示す復号化順序に従って、左上のグリッドセル内の(0,0)から開始して、行毎及び列毎に順次番号付けされる。以下、これらの座標を「論理座標」と呼ぶ。各グリッドセルの中心を803で示す。各中心は、走査画像における画素の場所を表す座標(x,y)(不図示)を有する。各座標対は対応する論理座標対を有し、各座標対を以下「中心座標」と呼ぶ。各グリッドセルが垂線と成す角度804を以下「グリッド角度」と呼ぶ。
【0036】
図9は、「領域の発見」段階704から出力される3ビットの数字901の2D配列を示す。数字901を「インターバル」と呼ぶ。「グリッドナビゲーション」から出力された各グリッドセルは、その論理座標を用いて配列内のインターバルにマッピングされる。インターバルの値は以下のように算出される。最初に、グリッドセル内のデータドットの場所が発見される。その後、「オフセット」と呼ばれる中心座標からデータドットまでのベクトルが算出される。最後に、オフセットは、図4に示す変調方式に従って3ビットの数字に変換される。データドットがグリッドセルから欠落するか又は不正確に検出される可能性があるため、空白又は不正確なインターバル903が配列内に存在することがある。
【0037】
図9において、LDDタイル902を陰影を付けて示す。LDDタイルサイズは2であり、LDDタイルのステップサイズは4である。以下「LDDオフセット」と呼ばれる(LDD_x, LDD_y)は、一番左上のLDDタイルの左上隅からの変位量である。LDDオフセットが全てのLDDタイルの場所を識別する(LDDタイルは一定のインターバルで繰り返す)ため、これはバーコード除去に対して重要である。2D配列のサイズは既知であり、これを(RF_width, RF_height)と呼ぶ。
【0038】
図10は、「タイルの集約」段階705の出力である「集約タイル」を示す。「HDDタイルサイズ」とも呼ばれる図10における集約タイルのサイズは8×8である。各集約タイルは4つのLDDタイルを含む。集約タイルは、「集約インターバル」1001から構成される。集約インターバルは、バーコード内で繰り返す全てのタイル内のデータを考慮し、このタイルの場所に対応する全インターバルを発見し且つ最も頻繁に発生するインターバルを採用することにより算出される3ビットの数字である。LDDタイル1002を陰影を付けて示す。繰り返すタイルの集約後であっても、集約インターバルが依然として不正確であるか又は欠落している場合があり、欠落している集約インターバル1003はそのような一例である。
【0039】
図11は、ECC復号化段階707の結果を示す。インターバル1101は「訂正済みインターバル」である。これは、誤り訂正符号復号化器を介して渡され、その結果、誤りが修正された集約インターバルである。2進シーケンス1102は回復されたLDDデータチャネルであり、集約タイル内のLDDタイルの直列化データを含む。同様に、2進シーケンス1103は回復されたHDDデータチャネルであり、集約タイル内の非LDDタイルの直列化データを含む。
<バーコード除去段階>
除去前に、バーコードは正確に復号化されなければならず、上述した中間復号化データは利用可能でなければならない。
【0040】
図12は、バーコード除去処理を高レベルで示す図である。除去は1201から開始する。
【0041】
第1の段階1202において、LDDデータチャネル及びHDDデータチャネルは、単一タイルに配置される。図13は、この段階を詳細に示す。再構成タイル1304は、空白のインターバルから開始する。第1に、HDDタイルサイズを使用して、各LDDタイル1301の場所が計算される。本例において、HDDタイルサイズは8であり、LDDタイルのステップサイズは4である。そのため、図示される配列には4つのLDDタイルが存在する。第2に、各LDDタイル内のインターバルは、LDDデータチャネル1302内のインターバルから上から下及び左から右に、すなわちラスタ順にコピーされる。第3に、LDDタイルの一部ではない1304内の残りの空白インターバルは、HDDデータチャネル1303からラスタ順にコピーされる。12020の出力は、この再構成タイルとなる。
【0042】
第2の段階1203において、再構成タイルはインターバル配列上で繰り返される。図14は、この段階を詳細に示す。単一タイル1401は、2Dインターバル配列1402上で繰り返される。第1に、2Dインターバル配列は(RF_width, RF_height)のサイズで作成される。第2に、単一タイル内のインターバルは、図示するように、配列全体が埋められるまで、第1のタイルがLDDオフセット(LDD_x, LDD_y)に配置され且つ他のタイルが配列1402上で規則的な基盤目状になるようにコピーされる。1203の出力は、このような再構成されたインターバル配列となる。
【0043】
第3の段階1204において、再構成されたインターバル配列内の各インターバルは、走査画像上の近似場所にマッピングされる。図15は、この処理を詳細に示す。配列1501内の各インターバルは、インターバルの行及び列の場所を表す対応する論理座標を有する。論理座標(1, 0)を有するインターバル1502を参照すると、マッピング処理は以下のように進む。論理座標(1, 0)を有するグリッドセル1503から情報が検索される。特に、中心1504の座標が検索される。前述のように、中心座標は、走査画像上でのグリッドセルの中心の場所を特定する。この処理は、配列内の全インターバルに適用される。走査画像のビットマップにおけるインターバル配列内の全インターバルの中心座標が1204から出力される。
【0044】
第4の段階1205において、各データドットが走査画像上に配置される場所が判定される。図16は、この処理を詳細に示す。図4における符号化方式に従って、インターバル1601はオフセットベクトル1602に変換される。ベクトルの方向はインターバルの値により判定され、長さは変調量mqである。次に、走査画像上のドット位置1604を見つけるため、オフセットベクトルはグリッド角度分だけ回転され、インターバルの中心座標1603に加算される。インターバル配列内の各インターバルに1つずつ対応するデータドット位置のリストが1205から出力される。
【0045】
第5の段階1206において、各位置決めドットが走査画像上で配置される場所が判定される。各グリッドセルは、図17に従って処理される。オフセットベクトル1702は、グリッド角度及びグリッド間隔から作成される。これは、位置決めドット位置1703を取得するために、グリッドセル中心座標1701に加算される。各グリッドセルに1つの位置決めドット位置が対応し、その位置決めドット位置のリストが1206から出力される。
【0046】
第6の段階1207において、全てのバーコードドットが除去された新しいビットマップが生成される。図18は、除去技術を詳細に示す。第1に、段階1205からのデータドットのリスト及び段階1206からの位置決めドットのリストは、ドット位置の単一リストに組み合わされる。各ドット1801に対して、2つの同心正方形1803及び1802が定義される。各正方形は、経験的に判定される固定サイズを有する。適切なサイズの例は、1803が4画素であり且つ1802が10画素である。次に、2つの同心正方形間の領域1804内の画素の平均画素値が算出される。最後に、1803は算出された平均画素値で満たされ、背景の外乱を最小限にした状態でドットを走査画像から削除する。バーコードが走査画像から除去されると、処理は1208において終了する。当然、用途に応じて、走査文書のビットマップを変更するステップは元のビットマップ表現ではなくそのコピーに対して実行されてもよく、それにより、目的を達成するために元のビットマップ表現を保存する。
<変形例>
図12におけるドット除去段階1207は、走査画像からドットを除去するために基本的な補間アルゴリズムを使用する。多くのより高度な再構成アルゴリズムは本技術分野に存在し、それらは本明細書中で説明する基本的な例と自由に置き換え可能である。
【0047】
更に、図12におけるバーコード除去処理は、LDDチャネル及びHDDチャネルの双方をバーコードから抽出する必要がある。しかし、多くの場合、頑強なLDDチャネルのみを劣化したバーコードから検出することが可能であり、その場合、バーコード除去は通常の技術を用いては実行不可能である。このバーコードが依然として除去可能であるいくつかの特定の例がある。参照データ(特に、HDDチャネルの内容)がバーコード作成段階から入手可能な場合、そのようなデータは、ステップ1202において集約タイルを再構成するために復号化LDDチャネルと共に使用可能である。処理の残りの部分は通常の方法で実行され、それによりバーコードは正確に除去される。
<ハードウェアの実現例>
走査済ページからバーコードを識別し、その場所を特定し且つ除去する方法は、図20に示すコンピュータシステム2000を使用して実現されてもよい。この場合、図7、図12及び図19に示すステップは、コンピュータシステム2000内で実行可能な1つ以上のアプリケーションプログラムにより実現されてもよい。特に、走査済ページからバーコードを識別し、その場所を特定し且つ除去する方法の種々のステップは、コンピュータシステム2000内で実行されるソフトウェア命令により行われる。命令は、各々が1つ以上の特定のタスクを実行する1つ以上のコードモジュールとして構成されてもよい。また、ソフトウェアは2つの別個の部分に分割されてもよく、第1の部分及び対応するコードモジュールは上述の方法を実行し、第2の部分及び対応するコードモジュールは第1の部分とユーザとの間のユーザインタフェースを管理する。例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2000にロードされ、その後コンピュータシステム2000により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム2000においてコンピュータプログラム製品を使用することにより、走査済ページからバーコードを識別し、その場所を特定し且つ除去する上述した有利な方法が実現されることが好ましい。
【0048】
図20に示すように、コンピュータシステム2000は、コンピュータモジュール2001と、キーボード2002及びマウスポインタ装置2003等の入力装置と、プリンタ2015、スキャナ2019、表示装置2014及びスピーカ2017を含む出力装置とから構成される。外部変復調器(モデム)トランシーバ装置2016は、接続2021を介して通信ネットワーク2020との間で通信するために、コンピュータモジュール2001により使用されてもよい。ネットワーク2020は、インターネット又は専用WAN等のワイドエリアネットワーク(WAN)であってもよい。接続2021が電話回線である場合、モデム2016は従来の「ダイヤルアップ」モデムであってもよい。或いは、接続2021が大容量(例えば、ケーブル)接続である場合、モデム2016はブロードバンドモデムであってもよい。また、無線モデムはネットワーク2020への無線接続に使用されてもよい。
【0049】
コンピュータモジュール2001は、通常、少なくとも1つのプロセッサユニット2005及びメモリユニット2006を含む。メモリユニット2006は、例えば半導体ランダムアクセスメモリ(RAM)及び読出し専用メモリ(ROM)から構成される。モジュール2001は、ビデオ表示装置2014及びスピーカ2017に結合するオーディオビデオインタフェース2007、キーボード2002、マウス2003及びオプショでジョイスティック(不図示)に対する入出力(I/O)インタフェース2013、並びに外部モデム2016及びプリンタ2015に対するインフタフェース2008を含む多くのI/Oインタフェースを更に含む。いくつかの実現例において、モデム2016は、コンピュータモジュール2001内に内臓されてもよく、例えばインタフェース2008内に内蔵されてもよい。コンピュータモジュール2001は、コンピュータシステム2000をローカルエリアネットワーク(LAN)として周知のローカルコンピュータネットワーク2022に接続2023を介して結合させるローカルネットワークインタフェース2011を更に有する。更に図示するように、ローカルネットワーク2022は、通常はいわゆる「ファイアウォール」装置又は同様の機能性を含む接続2024を介して、ワイドネットワーク2020に更に結合してもよい。インタフェース2011は、Ethernet(登録商標)(回路カード、無線Bluetooth(又はIEEE802.11無線構成から構成されてもよい。
【0050】
インタフェース2008及び2013は直列接続性及び並列接続性の双方が可能であってもよく、直列接続性は、通常、ユニバーサルシリアルバス(USB)規格に従って実現され、対応するUSBコネクタ(不図示)を有する。記憶装置2009が提供され、通常、ハードディスクドライブ(HDD)2010を含む。フロッピディスクドライブ及び磁気テープドライブ(不図示)等の他の装置が更に使用されてもよい。通常、光ディスクドライブ2012は不揮発性のデータソースとして動作するように提供される。その場合、光ディスク(例えばCD−ROM、DVD)、USB−RAM及びフロッピディスク等のポータブルメモリ装置は、例えば、システム2000に対する適切なデータソースとして使用されてもよい。
【0051】
コンピュータモジュール2001の構成要素2005〜2013は、通常、当業者に周知であるコンピュータシステム2000の従来の動作モードとなる方法で相互接続バス2004を介して通信する。上述の構成が実現可能なコンピュータの例は、IBM−PC及び互換機、Sun Sparcstations、Apple Mac(又はそれから進化した同様のコンピュータシステム)を含む。
【0052】
通常、上述のバーコード除去方法を実現するアプリケーションプログラムは、ハードディスクドライブ2010上に常駐し、実行時にプロセッサ2005により読み取られて制御される。そのようなプログラム、並びにネットワーク2020及び2022から取り出される任意のデータの中間格納は、ハードディスクドライブ2010と関連して動作する可能性のある半導体メモリ2006を使用して達成されてもよい。いくつかの例において、アプリケーションプログラムは、1つ以上のCD−ROM上で符号化され且つ対応するドライブ2012を介して読み取られることによりユーザに供給されてもよく、或いはネットワーク2020又は2022からユーザにより読み取られてもよい。更に、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム2000にロード可能である。コンピュータ可読記憶媒体は、実行及び/又は処理のためにコンピュータシステム2000に命令及び/又はデータを提供することに関係する任意の記憶媒体を示す。そのような媒体の例は、フロッピディスク、磁気テープ、CD−ROM、ハードディスクドライブ、ROM又は集積回路、光磁気ディスク、又はPCMCIAカード等のコンピュータ可読カードを含み、そのようなデバイスがコンピュータモジュール2001の内部にあるか又は外部にあるかは問わない。命令及び/又はデータを提供することに同様に関係してもよいコンピュータ可読送信媒体の例は、無線送信チャネル又は赤外線送信チャネル、別のコンピュータ又はネットワークデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。
【0053】
上述のアプリケーションプログラムの第2の部分及び対応するコードモジュールは、表示装置2014上に描画又は表現される1つ以上のグラフィカルユーザインタフェース(GUI)を実現するために実行されてもよい。キーボード2002及びマウス2003の操作を介して、コンピュータシステム2000及びアプリケーションのユーザはインタフェースを操作し、GUIに関連付けられるアプリケーションに制御コマンド及び/又は入力を提供してもよい。
【0054】
或いは、走査済文書からバーコードを識別し、その場所を特定し且つ除去する方法は、グラフィックプロセッサ、デジタル信号プロセッサ又は1つ以上のマイクロプロセッサ及び関連するメモリを含んでもよい専用ハードウェアモジュールにおいて実現されてもよい。
【0055】
前述では、開示される方法のいくつかの実施形態のみを説明した。方法の趣旨の範囲を逸脱せずに変形及び/又は変更が可能であり、これらの実施形態は例証するものであり限定するものではない。
【0056】
例えば、上述したドット除去方法は、50%の位置決めドット及び50%のデータドットの組合せを使用するバーコードに関する。場所定義ドットの形態である場所定義記号とデータドット等のデータ記号との間の比率は変更可能である。極端な例において、位置決めドットは全て除去可能である。そのようなバーコードにおいて、全てのドットは、仮想グリッド上の交点からオフセットしているデータドットである。位置決めドットを用いないバーコードの復号化は、計算費用を追加して実行可能である。1つの単純な方法は、以下のように動作する。第1に、現在のドットの場所が検出される。第2に、仮想グリッドの角度及び間隔が統計的方法により推定される。その後、各行のドット数のヒストグラム及び各列のドット数のヒストグラムが作成され、仮想グリッドにおける各水平線及び垂直線の場所を示すピークは、双方のヒストグラムにおいて発見される。最後に、上述のように、データドットが各線に従って仮想グリッドから読み取られる。従って、上述のドット除去方法は、0%を含む位置決め/データドットの任意の比率を含むバーコードに対して動作すると考えられる。
【0057】
データ符号化記号はドットである必要はなく、バーの形態又は他の任意の所定の形状であってもよい。それらの削除は、それらの中心点の場所を識別し且つ同心正方形又は符号化記号の形状及びサイズに依存する各寸法を有する他の形状を使用することにより同様に行われる。異なる場所関連符号化構成が同様に使用可能である。
【0058】
更に、そのような符号化/復号化の用途に適用される冗長性の原理により、上述の方法の実行は、文書全体に印刷された符号化データの取得と必ずしも関連付けられない。図6及び図9に関して説明したように、好適な符号化構成によると、符号化データの完全な集合は単一タイル600に含まれ、その場合、これは印刷文書のページ全体を含むように繰り返し重ねられる。従って、走査領域が少なくとも1つのタイル600を含む限り、文書の小さな部分のみを走査することにより、方法を適用するために必要な情報が提供されてもよい。同様に、処理されるデータ量が少なくとも1つのタイル601からのデータを含む限り、文書全体又はその一部のみが走査された場合は、取得されたデータの全てを処理する必要はない。
【0059】
更に、前述の説明はページからのバーコード全体又はほぼ全体の削除を含む用途に関して行ったが、他の用途の場合、バーコードの符号化記号の一部を削除するだけで十分であろう。例えば、データ搬送点の異なる集合を含む新しいバーコードの適用を容易にするために、データ搬送点102のみが削除されてデータ場所点104が文書内に残される用途が考えられるだろう。
【0060】
最後に、前述のように、本明細書において、バーコードを「復号化する」ステップは、図11に示す2進コードを抽出して終了すると仮定されたが、図11の2進シーケンスからユーザ関連情報を抽出する追加ステップを含む表現「復号化」のより厳密な解釈に対応するため、これらの2進シーケンスを抽出して終了する「復号化する」処理は、「少なくとも部分的に復号化する」と更に呼ばれる。
<産業上の利用可能性>
バーコード除去技術の典型的な用途は、印刷文書に対する監査証跡の維持に関する。これは、ユーザIDリストを印刷文書上のバーコードに格納することにより行われる。文書が印刷される場合、バーコードは印刷を行う人物のユーザIDを含むユーザIDリストを含む。そのような印刷文書がコピーされる場合、ユーザIDリストは復号化され、バーコードは除去される。その後、コピー機の操作者のユーザIDはIDリストに付加され、新しいバーコードは新しいIDリストを用いて作成され、新しいバーコードはコピーされた文書に埋込まれる。漏洩文書が発見された場合、監査証跡は、バーコードからIDリストを復号化することにより作成可能である。このリストは、この文書の作成以降にそれをコピーした全ユーザの履歴証跡である。他の実施形態において、後続のユーザが文書を処理する場合、前のユーザのIDは除去されずにIDリスト内に維持され、新しいユーザのIDがIDリストに更に追加される。
【0061】
2つ以上のバーコードは、複数の保護レベルを提供するために機密保護文書上で同時に使用可能である。通常、一方のバーコードはロバスト性が高く且つデータ容量が少ない疎なバーコードであり、他方のバーコードはロバスト性が低く且つデータ容量が大きい密なバーコードである。バーコードは、異なるデータ符号化方式を使用してもよい。疎なバーコードは、例えばプリンタのシリアル番号を格納してもよく、密なバーコードは、例えば監査証跡を格納してもよい。通常、密なバーコードは、疎なバーコードより多くの符号化記号を含む。従って、密なバーコードの復号化は比較的容易であるが、疎なバーコードの復号化は困難な場合が多い。そのようなバーコードの組合せを含む文書において、本明細書中で説明する方法は、最初に密なバーコードを復号化及び除去するために適用可能である。上述したバーコード除去方法が正確なため、疎なバーコード模様はこの除去による影響を実質的に受けない。最後に、疎なバーコードはこの時点で露出されているため、標準的なバーコード復号化技術を使用することで更に容易に復号化可能である。
【0062】
説明された構成がデータ保護処理及び業務管理に関連する任意の産業に対して適用可能であることは、上述より明らかである。
【技術分野】
【0001】
本開示は、印刷されたバーコードを除去する方法に関し、特に、走査済ページのビットマップ表現からバーコードを識別し、その場所を特定し且つ除去する方法に関する。更に本開示は、バーコード除去を行うための装置及びコンピュータプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【0002】
印刷文書上にデータを個別に格納する多くの方法が存在する。1つの方法は、文書の背景に2次元バーコードを印刷することを含む。多くの場合、文書における可読性の低下を最小限にするために、そのようなバーコードは低い可視性を有するように設計される。通常、そのようなバーコードは、バーコード領域全体にわたってまばらに配設されるドット又はグリフ等の模様を使用してデータを格納する。これらのバーコードは、機密文書又は慎重な取り扱いを要する文書上に印刷され、通常はコピー防止コード及び/又は追跡情報を格納する。バーコードが適切な機能を有するコピー機により走査される場合、コピー防止コードが抽出され、コピーを許可するべきかを判定するために使用される。或いは、漏洩文書が発見された場合、漏洩文書は走査され、追跡情報が抽出及び検査される。追跡情報は、文書を印刷したユーザの身元に関する有用な法科学的情報及び印刷の時期を含んでもよい。
【0003】
これに対して、印刷文書のコピー時に、印刷文書から背景バーコードを除去する特定の状況がある。例えば、コピーが防止された文書から保護を除去するには、バーコードを除去する必要がある。別の用途は、当該文書をコピーした最後のユーザの追跡を含む。これは、文書からバーコードを検出及び除去し、コピー中にユーザIDを新しいバーコードに埋め込み、且つ背景に、新しいバーコードを有する文書を再生することにより達成される。
【0004】
バーコード除去に対して複数の解決策が存在する。1つの方法は、文書の他の全ての可視構成要素より小さいバーコード模様に依存する。この場合、平均化フィルタ又はぼかしフィルタは、バーコード模様のサイズを有する全てのマークを除去するために走査文書に適用される。この方法を使用すると、文書画質は大幅に低下し、バーコード模様の最大サイズは制限される。別の方法は、印刷文書毎に文書索引を作成し、全文書の元の電子コピーを文書索引に関連付けてサーバ上に配置し且つ各文書のバーコードに文書索引を格納することに依存する。複製時、文書索引はバーコードから抽出され、対応する電子コピーはサーバから検索され、電子コピー(バーコードを含まない)が印刷される。これにより、複製文書は良好な品質を得るが、全文書の電子コピーを格納することは非現実的な解決策であり、あまり望ましくない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の目的は、既存の構成の1つ以上の欠点を実質的に克服するか又は少なくとも改善すること、或いは実行可能な代替構成を提供することである。
【0006】
説明される方法は、走査画像からバーコードを除去する方法を提供する。ドットを用いる可視性の低い2Dバーコードが使用される。
【0007】
説明される方法は、バーコード除去を助長するため、バーコード復号化からの中間情報を使用する。この中間情報により、走査ビットマップ上のバーコード模様の場所を正確に判定できる。マークの場所を正確に判定することにより、背景の劣化を最小限にする除去が可能になる。
【課題を解決するための手段】
【0008】
本開示の第1の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去する方法が提供される。この方法は、
前記文書の少なくとも一部のビットマップ表現を形成するために、バーコードを含む前記文書の少なくとも一部を走査するステップと、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別するステップと、
前記バーコードを少なくとも部分的に復号化するステップと、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別するステップと、
前記文書のビットマップ表現の前記識別された場所からデータ符号化記号の少なくとも一部を除去するステップとを有する。
【0009】
本開示の第2の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去することを助長するコンピュータプログラムであって、
前記文書のビットマップ表現を形成するために、バーコードを含む前記文書を走査することを助長するコード手段と、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコード手段と、
前記バーコードを少なくとも部分的に復号化するコード手段と、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、データ符号化記号の場所を前記文書のビットマップ表現において識別するコード手段と、
前記文書のビットマップ表現からデータ符号化記号を除去するコード手段とを含むコンピュータプログラムが提供される。
【0010】
本開示の第3の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去することを助長するコンピュータプログラムを記録したコンピュータ可読媒体を有するコンピュータプログラム製品であって、
前記文書のビットマップ表現を形成するために、バーコードを含む前記文書を走査することを助長するコンピュータプログラムコード手段と、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコンピュータプログラムコード手段と、
前記バーコードを少なくとも部分的に復号化するコンピュータプログラムコード手段と、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、データ符号化記号の場所を前記文書のビットマップ表現において識別するコンピュータプログラムコード手段と、
前記文書のビットマップ表現からデータ符号化記号を除去するコンピュータプログラムコード手段とを含むコンピュータプログラム製品が提供される。
【0011】
本開示の第4の態様によれば、印刷されたバーコードを含む文書の監査証跡を伝える方法が提供される。この方法は、
第1の態様に従って、或いは本開示の第2又は第3の態様のコンピュータプログラムにより、文書のビットマップ表現からバーコードデータの少なくとも一部を除去するステップと、
除去されたデータと少なくとも部分的に異なるデータを含む新しいバーコードを作成するステップと、
新しいバーコードを背景に含む文書を印刷するステップとを有する。
【0012】
本開示の他の態様が更に開示される。
【図面の簡単な説明】
【0013】
開示された方法の1或いはそれ以上の実施例は、以下の図面を参照して説明される。
【図1】バーコード内にデータを符号化するために使用されるドットの変調グリッドを示す図である。
【図2】復号化のためのドットの変調グリッドの概念的に示す図である。
【図3】データを単一ドットの変調に符号化する方法を示す図である。
【図4】データを単一ドットの場所変調に符号化するために使用される符号化方式を詳細に示す図である。
【図5】データドットの復号化順序を示す図である。
【図6】バーコードに対して使用されるタイリング方式を示す図である。
【図7】バーコード復号化における段階を概略的に示すフローチャートである。
【図8】「グリッドナビゲーション」バーコード復号化段階の出力を示す図である。
【図9】「領域の発見」バーコード復号化段階の出力を示す図である。
【図10】「タイルの集約」バーコードコード復号化段階の出力を示す図である。
【図11】「ECC復号化」バーコード復号化段階の2つの出力を示す図である。
【図12】バーコード除去におけるステップを概略的に示すフローチャートである。
【図13】2つのデータチャネルからのタイル再構成を示す図である。
【図14】1つのタイルからのインターバル配列再構成を示す図である。
【図15】インターバル配列が走査画像にマッピングされる方法を示す図である。
【図16】データドットの場所が算出される方法を示す図である。
【図17】位置決めドットの場所が算出される方法を示す図である。
【図18】走査画像からドットを除去する単純な技術を示す図である。
【図19】バーコードの走査、復号化及び除去の完全な処理を概略的に示すフローチャートである。
【図20】説明される構成が実現される汎用コンピュータシステムを概略的に示すブロック図である。
【発明を実施するための形態】
【0014】
添付の図面を参照して、開示される方法の1つ以上の実施形態を説明する。
【0015】
尚、従来技術の構成に関する本明細書に含まれる任意の考察は、各々の出版物及び/又は使用法を通じて周知の技術を形成する文献又は装置を参照する。しかし、そのような考察は、本発明の発明者又は特許出願人による表現と見なされるべきではなく、そのような文献又は装置は当技術の一般常識の一部を何らかの形で形成する。
<基本構成>
以下に提供する例において、データは、変調グリッドを使用してバーコードに格納される。図1は、そのような変調グリッドの一実施形態の外観を示す拡大図である。図示される変調グリッドは、正方形グリッド101の交点103に近接するドット102及び104の形態である多くの符号化記号から構成される。尚、可視の変調グリッドを形成するのはドット102及び104のみである。グリッド101を形成する線は、ドット102及び104の場所を図示するために示されるに過ぎない。
【0016】
図1における変調グリッドは、2種類のドットから構成される。102等のドットは交点103からオフセットしており、オフセットの方向は各データドット102の場所変調を定義する。これらのドットの位置がデータ符号化に使用されるため、この種類のドットはデータドット(又はデータ記号)とも呼ばれる。ドット104は、データドットの場所を定義するための基準地図を確立するのを助長するため、場所定義記号(又は場所定義ドット)の一例を表す。この特定の例において、ドット104は、交点103の真上に存在し、位置決めドットとも呼ばれる。図1において、データドット及び位置決めドットを異なる陰影で示すが、陰影は例示のために過ぎず、通常、これらはそれぞれの変調以外は同一である。図1に示す構成において、バーコードは、位置決めドットが50%及びデータドットが50%で構成される。他の構成も可能である。
【0017】
図2は、バーコード復号化から発見されたグリッドを示す。図2において、201は発見されたグリッドであり、202はデータドットであり、204は位置決めドットである。位置決めドット204は、グリッド201を定義するために使用され、各グリッド交点上に出現する。グリッド101と比較すると、グリッド201の位置決めドットは1つおきの交点に配置される。従って、発見されたグリッド201は45度オフセットしており、元の正方形グリッド101のグリッド間隔より√2倍大きいグリッド間隔を有する。発見されたグリッド201は、ページを多くの正方形グリッドセル203に分割する。各グリッドセル203は、正確に1つのデータドット202を含む。グリッドセルは、バーコードデータの格納、符号化及び復号化に使用される基本単位である。
【0018】
図3は、情報がグリッドセル内のデータドットに格納される方法を示す。ドット302は、グリッド301内のグリッドセルのグリッドセル中心305に近接し、各ドットは、8つの可能な位置303のうちの1つに変調される。図3に示すように、8つの可能な位置は、関連するグリッド交点を中心とする円に配置される。8つの変調位置は、グリッドの中心から水平方向、垂直方向又は対角線方向にオフセットしている。それらがオフセットしている水平方向及び垂直方向の距離は変調量304であり、本明細書中で「mq」と略記する。変調量mqは、グリッドセルの辺長の固定比率であるように選択される。mqの適切な選択肢は、元の正方形グリッド間隔の40%である。
【0019】
図4は、ドット変調位置303をより詳細に示す。位置はグリッドセル中心403を中心に配置され、各変調位置401は、それに関連付けられるデジタルコード値402を有する。8つの変調位置(401を含む)により、各ドットは8つの可能なデジタルコード値(位置401に対する値402を含む)のうちの1つを符号化できる。これにより、場所変調ドットのグリッドはデジタルデータ記憶装置として動作でき、各ドットはデータの8を基数とする1つの数字を格納する。理想的には、各ドットは、ドットが円のグレイコードに配置されるようにコード値を符号化する。これにより、復号化中の誤り訂正が容易になる。図4は、各ドットのデジタルコード値を2進数で示す。従って、402から時計回りに開始して、ドットは、値5、7、6、2、3、1、0及び4を符号化する。開示される方法の範囲を逸脱せずに、他の変調技術が使用可能である。例えば、16個の変調位置は、16個の可能なデジタルコード値を符号化するために使用可能である。
【0020】
デジタルデータ記憶装置の数字の好適な順序付けは、図5に示すようにドットの矩形配列を使用することにより提供される順序付けである。この順序付けは、一番上の最も左側のグリッドセル501から開始し、一番下の最も右側のグリッドセル502に到達するまで左から右及び上から下に進む。当然、他の順序付けを使用することは可能である。
【0021】
説明される好適な実施形態によると、データの2つの情報チャネルは1つのバーコードに同時に格納される。当然、必ずしも2つの情報チャネルでなくてもよく、単一のチャネルのみ又は2つ以上のチャネルはバーコードに格納可能である。図6は、バーコードに関連付けられる符号化データ全体を含む単一の固有のタイル600に対して使用されるタイリング構成を示す。その後、この単一の構造素子に含まれたバーコードは、冗長性のためにグリッド全体にわたり繰り返しタイリングされる。論理的には、各バーコードタイルは、高データ密度(本明細書において「HDD」と呼ばれる)チャネル及び低データ密度(本明細書において「LDD」と呼ばれる)チャネルの2つの別個のデータチャネルからのデータを表す。HDDチャネルはロバスト性が低いが、LDDチャネルはロバスト性が高い。空間的には、バーコードタイル600は、本明細書においてHDDチャネルタイルと呼ばれる4つのサブタイル601、602、603及び604から構成される。HDDチャネルタイルは、グリッドセル又はデータドットを単位とする寸法614(本明細書において「HDDタイルサイズ」と呼ばれる)を有する正方形グリッドである。各HDDチャネルタイルは、本明細書においてLDDチャネルタイルと呼ばれる1つのより小さな埋め込みタイルを含む。バーコードタイル600内のLDDチャネルタイルは605、606、607及び608である。これら4つの各LDDチャネルタイルは、グリッドセル又はデータドットを単位とする寸法613(本明細書において「LDDタイルサイズ」と呼ばれる)を有する正方形グリッドであり、他の3つのタイルとほぼ同一である。従って、バーコードタイル600は、LDDチャネルタイルの4つのコピーを含む。一方で、領域609、610、611及び612は、全体でHDDチャネルを構成する。HDDチャネルは、4つのHDDチャネルタイルのうちLDDチャネルタイルにより占有されない領域を占有する。従って、バーコードタイル600は、HDDチャネルの単一コピーのみを含む。HDDチャネルを格納するために使用されるHDDチャネルタイルの数は、必要に応じて拡張可能である。例えば、3×3又は4×4のHDDチャネルタイルの構成も可能である。特に、上述のタイリング方式は、使用されるHDDチャネルの構成に関係なくLDDチャネルタイルの一定密度を維持するため、冗長性及びロバスト性の高いLDDチャネルを提供する。
【0022】
誤り訂正符号(ECC)は、LDDチャネル及びHDDチャネルの双方のデータに適用される。好適な実施形態は、本技術において周知の高性能ECCである低密度パリティチェック(LDPC)コードを使用する。
<バーコード除去>
バーコード除去の完全な処理を図19に示す。処理は1901から開始する。
【0023】
第1の段階1902において、紙に印刷されたバーコードは、図20に示す光学スキャナ2019を使用してデジタル走査画像に変換される。印刷された符号化マークが複数のバーコードを含む場合、これらは後の復号化段階において分離される。ビットマップとも呼ばれる走査画像がステップ1902から出力される。
【0024】
第2の段階1903において、走査画像内のバーコードが復号化され、埋込まれたデータが検索される。このデータは、復号化の中間段階からの他のデータと共に、後の段階においてバーコードを識別及び除去するために使用される。埋込まれたデータ自体は、中間符号化段階からのデータと共にステップ1903から出力される。
【0025】
第3の段階1904において、全てのバーコード模様の場所は段階1903からの出力を使用して推定される。その後、各符号化記号(模様)は、所定の2次元形状と置き換えられる。この2次元形状の色は、各記号の近傍の領域の色に基づいて、単純な補間アルゴリズムにより判定される。
【0026】
バーコードが走査画像から除去されると、処理は1904において終了する。
【0027】
段階1903及び1904を「バーコード復号化段階」及び「バーコード除去段階」と題される以下の節においてそれぞれより詳細に説明する。
<バーコード復号化段階>
バーコードを走査文書から正確に除去するには、バーコード復号化の中間段階からの情報が必要である。図7は、バーコード復号化における種々の段階を示す。復号化は701から開始する。
【0028】
第1の動作段階702において、走査画像内でバーコードのドットと考えられる全てのドットの場所を特定するためにヒューリスティックが使用される。場所が特定された大量な各ドットの中心の(x,y)画素の座標リストが702から出力される。
【0029】
第2の段階703において、優先順位に基づくフラッドフィルアルゴリズムが、場所が特定されたドットの場所全体に適切なグリッドを適合するために使用される。典型的な例において、走査画像全体を範囲に含む単一グリッドが703から出力される。特定の例において、間隔及び向きが異なる複数のグリッドが走査画像の範囲に含まれることが判明する。例えば、走査画像が、異なる間隔又は異なる向きを有する2つ以上の別々のバーコードを含む場合、検出された各バーコードに対して別個のグリッドが出力される。
【0030】
第3の段階704において、段階703で識別された各グリッドは、セグメンテーションアルゴリズムを使用して、データの類似性に基づいて別個の領域に分割される。通常、グリッドを範囲に含む基本構造セルを定義する単一領域が704から出力される。特定の例において、複数の領域が発見される。例えば、グリッドが段階703で正確に分離されなかった2つのバーコードを含む場合、それらは段階704において2つの領域に正確に分離される。従って、2つの識別された領域が段階704から出力される。
【0031】
第4の段階705において、各領域内で繰り返されるタイルのデータは、単一タイルを定義するために処理される。サブタイルの寸法は、多くのタイルのデータの自己相関により判明する。図6において、サブタイル601〜604の寸法は2×2である。このように、識別された領域内のタイルは単一タイルにまとめられる。この集約されたタイルは705から出力される。
【0032】
第5の段階706において、集約タイルは、LDDチャネル及びHDDチャネルに直列化され、任意の誤りは誤り訂正符号を使用して訂正され、バーコードが復号化される。図11に示すLDDデータシーケンス1102及びHDDデータシーケンス1103が706から出力される。処理は707において終了する。
【0033】
尚、本開示において、用語「復号化」は、印刷されたページから取得されたビットマップの符号化記号から図11に示す2進データシーケンスを抽出する処理を示す。より厳密には、用語「復号化」は、図11における2進データシーケンスに符号化されるユーザ関連情報を抽出するステップを更に含む必要がある。この場合、2進シーケンスを抽出して終了する上述の処理をバーコードの部分的復号化であると考える必要がある。
【0034】
バーコード除去処理は、グリッドナビゲーション段階703、領域の発見段階704、タイルの集約段階705及びECC復号化段階706からの中間情報を必要とする。これらの各段階を以下により詳細に説明する。
【0035】
図8は、「グリッドナビゲーション」段階703において算出される3つの重要なグリッド特性を示す。各グリッドセルの辺長801を以下「グリッド間隔」と呼ぶ。変調量mqがグリッド間隔の固定比率であるため、変調量mqはグリッド間隔から計算される。各グリッドセルの論理行/列座標を802で示す。これらの座標は、図5に示す復号化順序に従って、左上のグリッドセル内の(0,0)から開始して、行毎及び列毎に順次番号付けされる。以下、これらの座標を「論理座標」と呼ぶ。各グリッドセルの中心を803で示す。各中心は、走査画像における画素の場所を表す座標(x,y)(不図示)を有する。各座標対は対応する論理座標対を有し、各座標対を以下「中心座標」と呼ぶ。各グリッドセルが垂線と成す角度804を以下「グリッド角度」と呼ぶ。
【0036】
図9は、「領域の発見」段階704から出力される3ビットの数字901の2D配列を示す。数字901を「インターバル」と呼ぶ。「グリッドナビゲーション」から出力された各グリッドセルは、その論理座標を用いて配列内のインターバルにマッピングされる。インターバルの値は以下のように算出される。最初に、グリッドセル内のデータドットの場所が発見される。その後、「オフセット」と呼ばれる中心座標からデータドットまでのベクトルが算出される。最後に、オフセットは、図4に示す変調方式に従って3ビットの数字に変換される。データドットがグリッドセルから欠落するか又は不正確に検出される可能性があるため、空白又は不正確なインターバル903が配列内に存在することがある。
【0037】
図9において、LDDタイル902を陰影を付けて示す。LDDタイルサイズは2であり、LDDタイルのステップサイズは4である。以下「LDDオフセット」と呼ばれる(LDD_x, LDD_y)は、一番左上のLDDタイルの左上隅からの変位量である。LDDオフセットが全てのLDDタイルの場所を識別する(LDDタイルは一定のインターバルで繰り返す)ため、これはバーコード除去に対して重要である。2D配列のサイズは既知であり、これを(RF_width, RF_height)と呼ぶ。
【0038】
図10は、「タイルの集約」段階705の出力である「集約タイル」を示す。「HDDタイルサイズ」とも呼ばれる図10における集約タイルのサイズは8×8である。各集約タイルは4つのLDDタイルを含む。集約タイルは、「集約インターバル」1001から構成される。集約インターバルは、バーコード内で繰り返す全てのタイル内のデータを考慮し、このタイルの場所に対応する全インターバルを発見し且つ最も頻繁に発生するインターバルを採用することにより算出される3ビットの数字である。LDDタイル1002を陰影を付けて示す。繰り返すタイルの集約後であっても、集約インターバルが依然として不正確であるか又は欠落している場合があり、欠落している集約インターバル1003はそのような一例である。
【0039】
図11は、ECC復号化段階707の結果を示す。インターバル1101は「訂正済みインターバル」である。これは、誤り訂正符号復号化器を介して渡され、その結果、誤りが修正された集約インターバルである。2進シーケンス1102は回復されたLDDデータチャネルであり、集約タイル内のLDDタイルの直列化データを含む。同様に、2進シーケンス1103は回復されたHDDデータチャネルであり、集約タイル内の非LDDタイルの直列化データを含む。
<バーコード除去段階>
除去前に、バーコードは正確に復号化されなければならず、上述した中間復号化データは利用可能でなければならない。
【0040】
図12は、バーコード除去処理を高レベルで示す図である。除去は1201から開始する。
【0041】
第1の段階1202において、LDDデータチャネル及びHDDデータチャネルは、単一タイルに配置される。図13は、この段階を詳細に示す。再構成タイル1304は、空白のインターバルから開始する。第1に、HDDタイルサイズを使用して、各LDDタイル1301の場所が計算される。本例において、HDDタイルサイズは8であり、LDDタイルのステップサイズは4である。そのため、図示される配列には4つのLDDタイルが存在する。第2に、各LDDタイル内のインターバルは、LDDデータチャネル1302内のインターバルから上から下及び左から右に、すなわちラスタ順にコピーされる。第3に、LDDタイルの一部ではない1304内の残りの空白インターバルは、HDDデータチャネル1303からラスタ順にコピーされる。12020の出力は、この再構成タイルとなる。
【0042】
第2の段階1203において、再構成タイルはインターバル配列上で繰り返される。図14は、この段階を詳細に示す。単一タイル1401は、2Dインターバル配列1402上で繰り返される。第1に、2Dインターバル配列は(RF_width, RF_height)のサイズで作成される。第2に、単一タイル内のインターバルは、図示するように、配列全体が埋められるまで、第1のタイルがLDDオフセット(LDD_x, LDD_y)に配置され且つ他のタイルが配列1402上で規則的な基盤目状になるようにコピーされる。1203の出力は、このような再構成されたインターバル配列となる。
【0043】
第3の段階1204において、再構成されたインターバル配列内の各インターバルは、走査画像上の近似場所にマッピングされる。図15は、この処理を詳細に示す。配列1501内の各インターバルは、インターバルの行及び列の場所を表す対応する論理座標を有する。論理座標(1, 0)を有するインターバル1502を参照すると、マッピング処理は以下のように進む。論理座標(1, 0)を有するグリッドセル1503から情報が検索される。特に、中心1504の座標が検索される。前述のように、中心座標は、走査画像上でのグリッドセルの中心の場所を特定する。この処理は、配列内の全インターバルに適用される。走査画像のビットマップにおけるインターバル配列内の全インターバルの中心座標が1204から出力される。
【0044】
第4の段階1205において、各データドットが走査画像上に配置される場所が判定される。図16は、この処理を詳細に示す。図4における符号化方式に従って、インターバル1601はオフセットベクトル1602に変換される。ベクトルの方向はインターバルの値により判定され、長さは変調量mqである。次に、走査画像上のドット位置1604を見つけるため、オフセットベクトルはグリッド角度分だけ回転され、インターバルの中心座標1603に加算される。インターバル配列内の各インターバルに1つずつ対応するデータドット位置のリストが1205から出力される。
【0045】
第5の段階1206において、各位置決めドットが走査画像上で配置される場所が判定される。各グリッドセルは、図17に従って処理される。オフセットベクトル1702は、グリッド角度及びグリッド間隔から作成される。これは、位置決めドット位置1703を取得するために、グリッドセル中心座標1701に加算される。各グリッドセルに1つの位置決めドット位置が対応し、その位置決めドット位置のリストが1206から出力される。
【0046】
第6の段階1207において、全てのバーコードドットが除去された新しいビットマップが生成される。図18は、除去技術を詳細に示す。第1に、段階1205からのデータドットのリスト及び段階1206からの位置決めドットのリストは、ドット位置の単一リストに組み合わされる。各ドット1801に対して、2つの同心正方形1803及び1802が定義される。各正方形は、経験的に判定される固定サイズを有する。適切なサイズの例は、1803が4画素であり且つ1802が10画素である。次に、2つの同心正方形間の領域1804内の画素の平均画素値が算出される。最後に、1803は算出された平均画素値で満たされ、背景の外乱を最小限にした状態でドットを走査画像から削除する。バーコードが走査画像から除去されると、処理は1208において終了する。当然、用途に応じて、走査文書のビットマップを変更するステップは元のビットマップ表現ではなくそのコピーに対して実行されてもよく、それにより、目的を達成するために元のビットマップ表現を保存する。
<変形例>
図12におけるドット除去段階1207は、走査画像からドットを除去するために基本的な補間アルゴリズムを使用する。多くのより高度な再構成アルゴリズムは本技術分野に存在し、それらは本明細書中で説明する基本的な例と自由に置き換え可能である。
【0047】
更に、図12におけるバーコード除去処理は、LDDチャネル及びHDDチャネルの双方をバーコードから抽出する必要がある。しかし、多くの場合、頑強なLDDチャネルのみを劣化したバーコードから検出することが可能であり、その場合、バーコード除去は通常の技術を用いては実行不可能である。このバーコードが依然として除去可能であるいくつかの特定の例がある。参照データ(特に、HDDチャネルの内容)がバーコード作成段階から入手可能な場合、そのようなデータは、ステップ1202において集約タイルを再構成するために復号化LDDチャネルと共に使用可能である。処理の残りの部分は通常の方法で実行され、それによりバーコードは正確に除去される。
<ハードウェアの実現例>
走査済ページからバーコードを識別し、その場所を特定し且つ除去する方法は、図20に示すコンピュータシステム2000を使用して実現されてもよい。この場合、図7、図12及び図19に示すステップは、コンピュータシステム2000内で実行可能な1つ以上のアプリケーションプログラムにより実現されてもよい。特に、走査済ページからバーコードを識別し、その場所を特定し且つ除去する方法の種々のステップは、コンピュータシステム2000内で実行されるソフトウェア命令により行われる。命令は、各々が1つ以上の特定のタスクを実行する1つ以上のコードモジュールとして構成されてもよい。また、ソフトウェアは2つの別個の部分に分割されてもよく、第1の部分及び対応するコードモジュールは上述の方法を実行し、第2の部分及び対応するコードモジュールは第1の部分とユーザとの間のユーザインタフェースを管理する。例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム2000にロードされ、その後コンピュータシステム2000により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム2000においてコンピュータプログラム製品を使用することにより、走査済ページからバーコードを識別し、その場所を特定し且つ除去する上述した有利な方法が実現されることが好ましい。
【0048】
図20に示すように、コンピュータシステム2000は、コンピュータモジュール2001と、キーボード2002及びマウスポインタ装置2003等の入力装置と、プリンタ2015、スキャナ2019、表示装置2014及びスピーカ2017を含む出力装置とから構成される。外部変復調器(モデム)トランシーバ装置2016は、接続2021を介して通信ネットワーク2020との間で通信するために、コンピュータモジュール2001により使用されてもよい。ネットワーク2020は、インターネット又は専用WAN等のワイドエリアネットワーク(WAN)であってもよい。接続2021が電話回線である場合、モデム2016は従来の「ダイヤルアップ」モデムであってもよい。或いは、接続2021が大容量(例えば、ケーブル)接続である場合、モデム2016はブロードバンドモデムであってもよい。また、無線モデムはネットワーク2020への無線接続に使用されてもよい。
【0049】
コンピュータモジュール2001は、通常、少なくとも1つのプロセッサユニット2005及びメモリユニット2006を含む。メモリユニット2006は、例えば半導体ランダムアクセスメモリ(RAM)及び読出し専用メモリ(ROM)から構成される。モジュール2001は、ビデオ表示装置2014及びスピーカ2017に結合するオーディオビデオインタフェース2007、キーボード2002、マウス2003及びオプショでジョイスティック(不図示)に対する入出力(I/O)インタフェース2013、並びに外部モデム2016及びプリンタ2015に対するインフタフェース2008を含む多くのI/Oインタフェースを更に含む。いくつかの実現例において、モデム2016は、コンピュータモジュール2001内に内臓されてもよく、例えばインタフェース2008内に内蔵されてもよい。コンピュータモジュール2001は、コンピュータシステム2000をローカルエリアネットワーク(LAN)として周知のローカルコンピュータネットワーク2022に接続2023を介して結合させるローカルネットワークインタフェース2011を更に有する。更に図示するように、ローカルネットワーク2022は、通常はいわゆる「ファイアウォール」装置又は同様の機能性を含む接続2024を介して、ワイドネットワーク2020に更に結合してもよい。インタフェース2011は、Ethernet(登録商標)(回路カード、無線Bluetooth(又はIEEE802.11無線構成から構成されてもよい。
【0050】
インタフェース2008及び2013は直列接続性及び並列接続性の双方が可能であってもよく、直列接続性は、通常、ユニバーサルシリアルバス(USB)規格に従って実現され、対応するUSBコネクタ(不図示)を有する。記憶装置2009が提供され、通常、ハードディスクドライブ(HDD)2010を含む。フロッピディスクドライブ及び磁気テープドライブ(不図示)等の他の装置が更に使用されてもよい。通常、光ディスクドライブ2012は不揮発性のデータソースとして動作するように提供される。その場合、光ディスク(例えばCD−ROM、DVD)、USB−RAM及びフロッピディスク等のポータブルメモリ装置は、例えば、システム2000に対する適切なデータソースとして使用されてもよい。
【0051】
コンピュータモジュール2001の構成要素2005〜2013は、通常、当業者に周知であるコンピュータシステム2000の従来の動作モードとなる方法で相互接続バス2004を介して通信する。上述の構成が実現可能なコンピュータの例は、IBM−PC及び互換機、Sun Sparcstations、Apple Mac(又はそれから進化した同様のコンピュータシステム)を含む。
【0052】
通常、上述のバーコード除去方法を実現するアプリケーションプログラムは、ハードディスクドライブ2010上に常駐し、実行時にプロセッサ2005により読み取られて制御される。そのようなプログラム、並びにネットワーク2020及び2022から取り出される任意のデータの中間格納は、ハードディスクドライブ2010と関連して動作する可能性のある半導体メモリ2006を使用して達成されてもよい。いくつかの例において、アプリケーションプログラムは、1つ以上のCD−ROM上で符号化され且つ対応するドライブ2012を介して読み取られることによりユーザに供給されてもよく、或いはネットワーク2020又は2022からユーザにより読み取られてもよい。更に、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム2000にロード可能である。コンピュータ可読記憶媒体は、実行及び/又は処理のためにコンピュータシステム2000に命令及び/又はデータを提供することに関係する任意の記憶媒体を示す。そのような媒体の例は、フロッピディスク、磁気テープ、CD−ROM、ハードディスクドライブ、ROM又は集積回路、光磁気ディスク、又はPCMCIAカード等のコンピュータ可読カードを含み、そのようなデバイスがコンピュータモジュール2001の内部にあるか又は外部にあるかは問わない。命令及び/又はデータを提供することに同様に関係してもよいコンピュータ可読送信媒体の例は、無線送信チャネル又は赤外線送信チャネル、別のコンピュータ又はネットワークデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。
【0053】
上述のアプリケーションプログラムの第2の部分及び対応するコードモジュールは、表示装置2014上に描画又は表現される1つ以上のグラフィカルユーザインタフェース(GUI)を実現するために実行されてもよい。キーボード2002及びマウス2003の操作を介して、コンピュータシステム2000及びアプリケーションのユーザはインタフェースを操作し、GUIに関連付けられるアプリケーションに制御コマンド及び/又は入力を提供してもよい。
【0054】
或いは、走査済文書からバーコードを識別し、その場所を特定し且つ除去する方法は、グラフィックプロセッサ、デジタル信号プロセッサ又は1つ以上のマイクロプロセッサ及び関連するメモリを含んでもよい専用ハードウェアモジュールにおいて実現されてもよい。
【0055】
前述では、開示される方法のいくつかの実施形態のみを説明した。方法の趣旨の範囲を逸脱せずに変形及び/又は変更が可能であり、これらの実施形態は例証するものであり限定するものではない。
【0056】
例えば、上述したドット除去方法は、50%の位置決めドット及び50%のデータドットの組合せを使用するバーコードに関する。場所定義ドットの形態である場所定義記号とデータドット等のデータ記号との間の比率は変更可能である。極端な例において、位置決めドットは全て除去可能である。そのようなバーコードにおいて、全てのドットは、仮想グリッド上の交点からオフセットしているデータドットである。位置決めドットを用いないバーコードの復号化は、計算費用を追加して実行可能である。1つの単純な方法は、以下のように動作する。第1に、現在のドットの場所が検出される。第2に、仮想グリッドの角度及び間隔が統計的方法により推定される。その後、各行のドット数のヒストグラム及び各列のドット数のヒストグラムが作成され、仮想グリッドにおける各水平線及び垂直線の場所を示すピークは、双方のヒストグラムにおいて発見される。最後に、上述のように、データドットが各線に従って仮想グリッドから読み取られる。従って、上述のドット除去方法は、0%を含む位置決め/データドットの任意の比率を含むバーコードに対して動作すると考えられる。
【0057】
データ符号化記号はドットである必要はなく、バーの形態又は他の任意の所定の形状であってもよい。それらの削除は、それらの中心点の場所を識別し且つ同心正方形又は符号化記号の形状及びサイズに依存する各寸法を有する他の形状を使用することにより同様に行われる。異なる場所関連符号化構成が同様に使用可能である。
【0058】
更に、そのような符号化/復号化の用途に適用される冗長性の原理により、上述の方法の実行は、文書全体に印刷された符号化データの取得と必ずしも関連付けられない。図6及び図9に関して説明したように、好適な符号化構成によると、符号化データの完全な集合は単一タイル600に含まれ、その場合、これは印刷文書のページ全体を含むように繰り返し重ねられる。従って、走査領域が少なくとも1つのタイル600を含む限り、文書の小さな部分のみを走査することにより、方法を適用するために必要な情報が提供されてもよい。同様に、処理されるデータ量が少なくとも1つのタイル601からのデータを含む限り、文書全体又はその一部のみが走査された場合は、取得されたデータの全てを処理する必要はない。
【0059】
更に、前述の説明はページからのバーコード全体又はほぼ全体の削除を含む用途に関して行ったが、他の用途の場合、バーコードの符号化記号の一部を削除するだけで十分であろう。例えば、データ搬送点の異なる集合を含む新しいバーコードの適用を容易にするために、データ搬送点102のみが削除されてデータ場所点104が文書内に残される用途が考えられるだろう。
【0060】
最後に、前述のように、本明細書において、バーコードを「復号化する」ステップは、図11に示す2進コードを抽出して終了すると仮定されたが、図11の2進シーケンスからユーザ関連情報を抽出する追加ステップを含む表現「復号化」のより厳密な解釈に対応するため、これらの2進シーケンスを抽出して終了する「復号化する」処理は、「少なくとも部分的に復号化する」と更に呼ばれる。
<産業上の利用可能性>
バーコード除去技術の典型的な用途は、印刷文書に対する監査証跡の維持に関する。これは、ユーザIDリストを印刷文書上のバーコードに格納することにより行われる。文書が印刷される場合、バーコードは印刷を行う人物のユーザIDを含むユーザIDリストを含む。そのような印刷文書がコピーされる場合、ユーザIDリストは復号化され、バーコードは除去される。その後、コピー機の操作者のユーザIDはIDリストに付加され、新しいバーコードは新しいIDリストを用いて作成され、新しいバーコードはコピーされた文書に埋込まれる。漏洩文書が発見された場合、監査証跡は、バーコードからIDリストを復号化することにより作成可能である。このリストは、この文書の作成以降にそれをコピーした全ユーザの履歴証跡である。他の実施形態において、後続のユーザが文書を処理する場合、前のユーザのIDは除去されずにIDリスト内に維持され、新しいユーザのIDがIDリストに更に追加される。
【0061】
2つ以上のバーコードは、複数の保護レベルを提供するために機密保護文書上で同時に使用可能である。通常、一方のバーコードはロバスト性が高く且つデータ容量が少ない疎なバーコードであり、他方のバーコードはロバスト性が低く且つデータ容量が大きい密なバーコードである。バーコードは、異なるデータ符号化方式を使用してもよい。疎なバーコードは、例えばプリンタのシリアル番号を格納してもよく、密なバーコードは、例えば監査証跡を格納してもよい。通常、密なバーコードは、疎なバーコードより多くの符号化記号を含む。従って、密なバーコードの復号化は比較的容易であるが、疎なバーコードの復号化は困難な場合が多い。そのようなバーコードの組合せを含む文書において、本明細書中で説明する方法は、最初に密なバーコードを復号化及び除去するために適用可能である。上述したバーコード除去方法が正確なため、疎なバーコード模様はこの除去による影響を実質的に受けない。最後に、疎なバーコードはこの時点で露出されているため、標準的なバーコード復号化技術を使用することで更に容易に復号化可能である。
【0062】
説明された構成がデータ保護処理及び業務管理に関連する任意の産業に対して適用可能であることは、上述より明らかである。
【特許請求の範囲】
【請求項1】
複数のデータ符号化記号を含むバーコードの少なくとも一部を文書のビットマップ表現から除去する方法であって、
a)前記文書の前記少なくとも一部のビットマップ表現を形成するために、前記バーコードを含む前記文書の少なくとも一部を走査するステップと、
b)前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別するステップと、
c)前記バーコードを少なくとも部分的に復号化するステップと、
d)前記バーコードの前記少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別するステップと、
e)前記文書の前記ビットマップ表現の前記識別された場所から前記データ符号化記号の少なくとも一部を除去するステップと、
を有することを特徴とする方法。
【請求項2】
前記バーコードは、場所定義記号及びデータ搬送記号により定義される少なくとも1つのグリッドを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記バーコードは、場所定義ドット及びデータドットを含むことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記バーコードは、各々が1つ以上の情報チャネルを含む複数の同一タイルを含むことを特徴とする請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
前記バーコードの前記少なくとも部分的な復号化は、
前記バーコードを定義する前記ドットを検出することと、
前記検出されたドットの少なくとも一部により定義されるグリッド構造を識別することと、
前記識別されたグリッド構造の単一構造タイルを識別することと、
第1の識別された単一構造タイル中で、前記データ符号化記号により符号化された前記データの少なくとも一部を処理することと、
少なくとも第2の識別された単一構造タイル中で、前記データ符号化記号により符号化されたデータに基づいて誤り訂正を実行することとを含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別することは、
前記単一構造タイルを再構成することと、
前記グリッド構造を再構成すること、
インターバル配列を走査画像にマッピングすることと、
前記データ符号化記号の場所を算出することとを含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記データ符号化記号の少なくとも一部を除去することは、前記文書の前記ビットマップを変更することを含み、除去される前記データ符号化記号の各々の領域は削除マークに置き換えられ、前記削除マークの領域の画素値は、前記被除去データ符号化記号の近傍の前記ビットマップ領域の画素値に基づいて補間アルゴリズムにより定義されることを特徴とする請求項1乃至6のいずれか1項に記載の方法。
【請求項8】
前記走査済バーコードが抽出不可能な場合、前記バーコードの作成から取得される参照データは、前記文書の前記ビットマップ表現の前記識別された場所から前記データ符号化記号の少なくとも一部を除去することを助長するために使用されることを特徴とする請求項1乃至7のいずれか1項に記載の方法。
【請求項9】
第2のバーコードは前記走査文書上に存在し、前記第2のバーコードの復号化は、前記第1のバーコードの前記符号化記号の前記除去により助長されることを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記バーコードを含む前記文書の全体は、前記文書のビットマップ表現を形成するために走査され、
前記データ符号化記号の前記場所は、前記文書の前記ビットマップ表現において識別され、
前記データ符号化記号は、前記文書の前記ビットマップ表現から除去されることを特徴とする請求項1乃至9のいずれか1項に記載の方法。
【請求項11】
コンピュータを用いて複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去するためにコンピュータ装置により実行可能なコンピュータプログラムを記録したコンピュータ可読記憶媒体であって、前記プログラムは、
前記文書の前記ビットマップ表現を形成するために、前記バーコードを含む前記文書を走査することを助長するコードと、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコードと、
前記バーコードを少なくとも部分的に復号化するコードと、
前記バーコードの前記少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の場所を前記文書の前記ビットマップ表現において識別するコードと、
前記文書の前記ビットマップ表現から前記データ符号化記号を除去するコードとを含むことを特徴とするコンピュータ可読記憶媒体。
【請求項12】
印刷されたバーコードを含む文書の監査証跡を維持する方法であって、
請求項1から10のいずれか1項に記載の方法に従って、前記文書からバーコードデータの少なくとも一部を除去するステップと、
前記除去された符号化データと少なくとも部分的に異なる符号化データを含む新しいバーコードを作成するステップと、
前記新しいバーコードを背景に含む前記文書のコピーを印刷するステップと、
を有することを特徴とする方法。
【請求項1】
複数のデータ符号化記号を含むバーコードの少なくとも一部を文書のビットマップ表現から除去する方法であって、
a)前記文書の前記少なくとも一部のビットマップ表現を形成するために、前記バーコードを含む前記文書の少なくとも一部を走査するステップと、
b)前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別するステップと、
c)前記バーコードを少なくとも部分的に復号化するステップと、
d)前記バーコードの前記少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別するステップと、
e)前記文書の前記ビットマップ表現の前記識別された場所から前記データ符号化記号の少なくとも一部を除去するステップと、
を有することを特徴とする方法。
【請求項2】
前記バーコードは、場所定義記号及びデータ搬送記号により定義される少なくとも1つのグリッドを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記バーコードは、場所定義ドット及びデータドットを含むことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記バーコードは、各々が1つ以上の情報チャネルを含む複数の同一タイルを含むことを特徴とする請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
前記バーコードの前記少なくとも部分的な復号化は、
前記バーコードを定義する前記ドットを検出することと、
前記検出されたドットの少なくとも一部により定義されるグリッド構造を識別することと、
前記識別されたグリッド構造の単一構造タイルを識別することと、
第1の識別された単一構造タイル中で、前記データ符号化記号により符号化された前記データの少なくとも一部を処理することと、
少なくとも第2の識別された単一構造タイル中で、前記データ符号化記号により符号化されたデータに基づいて誤り訂正を実行することとを含むことを特徴とする請求項4に記載の方法。
【請求項6】
前記データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別することは、
前記単一構造タイルを再構成することと、
前記グリッド構造を再構成すること、
インターバル配列を走査画像にマッピングすることと、
前記データ符号化記号の場所を算出することとを含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記データ符号化記号の少なくとも一部を除去することは、前記文書の前記ビットマップを変更することを含み、除去される前記データ符号化記号の各々の領域は削除マークに置き換えられ、前記削除マークの領域の画素値は、前記被除去データ符号化記号の近傍の前記ビットマップ領域の画素値に基づいて補間アルゴリズムにより定義されることを特徴とする請求項1乃至6のいずれか1項に記載の方法。
【請求項8】
前記走査済バーコードが抽出不可能な場合、前記バーコードの作成から取得される参照データは、前記文書の前記ビットマップ表現の前記識別された場所から前記データ符号化記号の少なくとも一部を除去することを助長するために使用されることを特徴とする請求項1乃至7のいずれか1項に記載の方法。
【請求項9】
第2のバーコードは前記走査文書上に存在し、前記第2のバーコードの復号化は、前記第1のバーコードの前記符号化記号の前記除去により助長されることを特徴とする請求項1乃至8のいずれか1項に記載の方法。
【請求項10】
前記バーコードを含む前記文書の全体は、前記文書のビットマップ表現を形成するために走査され、
前記データ符号化記号の前記場所は、前記文書の前記ビットマップ表現において識別され、
前記データ符号化記号は、前記文書の前記ビットマップ表現から除去されることを特徴とする請求項1乃至9のいずれか1項に記載の方法。
【請求項11】
コンピュータを用いて複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去するためにコンピュータ装置により実行可能なコンピュータプログラムを記録したコンピュータ可読記憶媒体であって、前記プログラムは、
前記文書の前記ビットマップ表現を形成するために、前記バーコードを含む前記文書を走査することを助長するコードと、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコードと、
前記バーコードを少なくとも部分的に復号化するコードと、
前記バーコードの前記少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の場所を前記文書の前記ビットマップ表現において識別するコードと、
前記文書の前記ビットマップ表現から前記データ符号化記号を除去するコードとを含むことを特徴とするコンピュータ可読記憶媒体。
【請求項12】
印刷されたバーコードを含む文書の監査証跡を維持する方法であって、
請求項1から10のいずれか1項に記載の方法に従って、前記文書からバーコードデータの少なくとも一部を除去するステップと、
前記除去された符号化データと少なくとも部分的に異なる符号化データを含む新しいバーコードを作成するステップと、
前記新しいバーコードを背景に含む前記文書のコピーを印刷するステップと、
を有することを特徴とする方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2009−163731(P2009−163731A)
【公開日】平成21年7月23日(2009.7.23)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−324209(P2008−324209)
【出願日】平成20年12月19日(2008.12.19)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年7月23日(2009.7.23)
【国際特許分類】
【出願番号】特願2008−324209(P2008−324209)
【出願日】平成20年12月19日(2008.12.19)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]