(57)【特許請求の範囲】
【請求項１】
複数のデータ符号化記号を含むバーコードの少なくとも一部を文書のビットマップ表現から除去する方法であって、
ａ）前記文書の前記少なくとも一部のビットマップ表現を形成するために、前記バーコードを含む前記文書の少なくとも一部を走査するステップと、
ｂ）前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別するステップと、
ｃ）前記バーコードを少なくとも部分的に復号化するステップと、
ｄ）前記バーコードの前記少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別するステップと、
ｅ）前記文書の前記ビットマップ表現の前記識別された場所から前記データ符号化記号の少なくとも一部を除去するステップと、
を有することを特徴とする方法。
【請求項２】
前記バーコードは、場所定義記号及びデータ搬送記号により定義される少なくとも１つのグリッドを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記バーコードは、場所定義ドット及びデータドットを含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記バーコードは、各々が１つ以上の情報チャネルを含む複数の同一タイルを含むことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記バーコードの前記少なくとも部分的な復号化は、
前記バーコードを定義する前記ドットを検出することと、
前記検出されたドットの少なくとも一部により定義されるグリッド構造を識別することと、
前記識別されたグリッド構造の単一構造タイルを識別することと、
第１の識別された単一構造タイル中で、前記データ符号化記号により符号化された前記データの少なくとも一部を処理することと、
少なくとも第２の識別された単一構造タイル中で、前記データ符号化記号により符号化されたデータに基づいて誤り訂正を実行することとを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別することは、
前記単一構造タイルを再構成することと、
前記グリッド構造を再構成すること、
インターバル配列を走査画像にマッピングすることと、
前記データ符号化記号の場所を算出することとを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記走査済バーコードが抽出不可能な場合、前記バーコードの作成から取得される参照データは、前記文書の前記ビットマップ表現の前記識別された場所から前記データ符号化記号の少なくとも一部を除去することを助長するために使用されることを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
前記バーコードを含む前記文書の全体は、前記文書のビットマップ表現を形成するために走査され、
前記データ符号化記号の前記場所は、前記文書の前記ビットマップ表現において識別され、
前記データ符号化記号は、前記文書の前記ビットマップ表現から除去されることを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
コンピュータを用いて複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去するためにコンピュータ装置により実行可能なコンピュータプログラムを記録したコンピュータ可読記憶媒体であって、前記プログラムは、
前記文書の前記ビットマップ表現を形成するために、前記バーコードを含む前記文書を走査することを助長するコードと、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコードと、
前記バーコードを少なくとも部分的に復号化するコードと、
前記バーコードの前記少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の場所を前記文書の前記ビットマップ表現において識別するコードと、
前記文書の前記ビットマップ表現から前記データ符号化記号を除去するコードとを含むことを特徴とするコンピュータ可読記憶媒体。
【請求項１０】
印刷されたバーコードを含む文書の監査証跡を維持する方法であって、
請求項１から８のいずれか１項に記載の方法に従って、前記文書からバーコードデータの少なくとも一部を除去するステップと、
前記除去された符号化データと少なくとも部分的に異なる符号化データを含む新しいバーコードを作成するステップと、
前記新しいバーコードを背景に含む前記文書のコピーを印刷するステップと、
を有することを特徴とする方法。
【請求項１１】
複数のデータ符号化記号を含むバーコードの少なくとも一部を文書のビットマップ表現から除去するバーコード除去装置であって、
前記文書の前記少なくとも一部のビットマップ表現を形成するために、前記バーコードを含む前記文書の少なくとも一部を走査する走査手段と、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別する識別手段と、
前記バーコードを少なくとも部分的に復号化する復号化手段と、
前記バーコードの前記少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別する手段と、
前記文書の前記ビットマップ表現の前記識別された場所から前記データ符号化記号の少なくとも一部を除去する除去手段と、
を有することを特徴とするバーコード除去装置。
【請求項１２】
印刷されたバーコードを含む文書の監査証跡を維持する装置であって、
請求項１から８のいずれか１項に記載の方法に従って、前記文書からバーコードデータの少なくとも一部を除去する除去手段と、
前記除去された符号化データと少なくとも部分的に異なる符号化データを含む新しいバーコードを作成する作成手段と、
前記新しいバーコードを背景に含む前記文書のコピーを印刷する印刷手段と、
を有することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、印刷されたバーコードを除去する装置及び方法に関し、特に、走査済ページのビットマップ表現からバーコードを識別し、その場所を特定し且つ除去する装置及び方法に関する。更に本開示は、バーコード除去を行うための装置及びコンピュータプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
【背景技術】
【０００２】
印刷文書上にデータを個別に格納する多くの方法が存在する。１つの方法は、文書の背景に２次元バーコードを印刷することを含む。多くの場合、文書における可読性の低下を最小限にするために、そのようなバーコードは低い可視性を有するように設計される。通常、そのようなバーコードは、バーコード領域全体にわたってまばらに配設されるドット又はグリフ等の模様を使用してデータを格納する。これらのバーコードは、機密文書又は慎重な取り扱いを要する文書上に印刷され、通常はコピー防止コード及び／又は追跡情報を格納する。バーコードが適切な機能を有するコピー機により走査される場合、コピー防止コードが抽出され、コピーを許可するべきかを判定するために使用される。或いは、漏洩文書が発見された場合、漏洩文書は走査され、追跡情報が抽出及び検査される。追跡情報は、文書を印刷したユーザの身元に関する有用な法科学的情報及び印刷の時期を含んでもよい。
【０００３】
これに対して、印刷文書のコピー時に、印刷文書から背景バーコードを除去する特定の状況がある。例えば、コピーが防止された文書から保護を除去するには、バーコードを除去する必要がある。別の用途は、当該文書をコピーした最後のユーザの追跡を含む。これは、文書からバーコードを検出及び除去し、コピー中にユーザＩＤを新しいバーコードに埋め込み、且つ背景に、新しいバーコードを有する文書を再生することにより達成される。
【０００４】
バーコード除去に対して複数の解決策が存在する。１つの方法は、文書の他の全ての可視構成要素より小さいバーコード模様に依存する。この場合、平均化フィルタ又はぼかしフィルタは、バーコード模様のサイズを有する全てのマークを除去するために走査文書に適用される。この方法を使用すると、文書画質は大幅に低下し、バーコード模様の最大サイズは制限される。別の方法は、印刷文書毎に文書索引を作成し、全文書の元の電子コピーを文書索引に関連付けてサーバ上に配置し且つ各文書のバーコードに文書索引を格納することに依存する。複製時、文書索引はバーコードから抽出され、対応する電子コピーはサーバから検索され、電子コピー（バーコードを含まない）が印刷される。これにより、複製文書は良好な品質を得るが、全文書の電子コピーを格納することは非現実的な解決策であり、あまり望ましくない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示の目的は、既存の構成の１つ以上の欠点を実質的に克服するか又は少なくとも改善すること、或いは実行可能な代替構成を提供することである。
【０００６】
説明される方法は、走査画像からバーコードを除去する方法を提供する。ドットを用いる可視性の低い２Ｄバーコードが使用される。
【０００７】
説明される方法は、バーコード除去を助長するため、バーコード復号化からの中間情報を使用する。この中間情報により、走査ビットマップ上のバーコード模様の場所を正確に判定できる。マークの場所を正確に判定することにより、背景の劣化を最小限にする除去が可能になる。
【課題を解決するための手段】
【０００８】
本開示の第１の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去する方法が提供される。この方法は、
前記文書の少なくとも一部のビットマップ表現を形成するために、バーコードを含む前記文書の少なくとも一部を走査するステップと、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別するステップと、
前記バーコードを少なくとも部分的に復号化するステップと、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、データ符号化記号の少なくとも一部の場所を前記文書の前記ビットマップ表現において識別するステップと、
前記文書のビットマップ表現の前記識別された場所からデータ符号化記号の少なくとも一部を除去するステップとを有する。
【００１０】
本開示の第３の態様によれば、複数のデータ符号化記号を含むバーコードを文書のビットマップ表現から除去するためにコンピュータ装置により実行可能なコンピュータプログラムを記録したコンピュータ可読媒体であって、前記プログラムは、
前記文書のビットマップ表現を形成するために、前記バーコードを含む前記文書を走査することを助長するコードと、
前記バーコードを定義する前記複数のデータ符号化記号を前記ビットマップ表現から識別することを助長するコードと、
前記バーコードを少なくとも部分的に復号化するコードと、
前記バーコードの少なくとも部分的な復号化において取得されるデータを使用して、前記データ符号化記号の場所を前記文書のビットマップ表現において識別するコードと、
前記文書のビットマップ表現からデータ符号化記号を除去するコードとを含むプログラムが提供される。
【００１１】
本開示の第４の態様によれば、印刷されたバーコードを含む文書の監査証跡を伝える方法が提供される。この方法は、
第１の態様に従って、或いは本開示の第２又は第３の態様のコンピュータプログラムにより、文書のビットマップ表現からバーコードデータの少なくとも一部を除去するステップと、
除去されたデータと少なくとも部分的に異なるデータを含む新しいバーコードを作成するステップと、
新しいバーコードを背景に含む文書を印刷するステップとを有する。
【００１２】
本開示の他の態様が更に開示される。
【図面の簡単な説明】
【００１３】
開示された方法の１或いはそれ以上の実施例は、以下の図面を参照して説明される。
【図１】バーコード内にデータを符号化するために使用されるドットの変調グリッドを示す図である。
【図２】復号化のためのドットの変調グリッドの概念的に示す図である。
【図３】データを単一ドットの変調に符号化する方法を示す図である。
【図４】データを単一ドットの場所変調に符号化するために使用される符号化方式を詳細に示す図である。
【図５】データドットの復号化順序を示す図である。
【図６】バーコードに対して使用されるタイリング方式を示す図である。
【図７】バーコード復号化における段階を概略的に示すフローチャートである。
【図８】「グリッドナビゲーション」バーコード復号化段階の出力を示す図である。
【図９】「領域の発見」バーコード復号化段階の出力を示す図である。
【図１０】「タイルの集約」バーコードコード復号化段階の出力を示す図である。
【図１１】「ＥＣＣ復号化」バーコード復号化段階の２つの出力を示す図である。
【図１２】バーコード除去におけるステップを概略的に示すフローチャートである。
【図１３】２つのデータチャネルからのタイル再構成を示す図である。
【図１４】１つのタイルからのインターバル配列再構成を示す図である。
【図１５】インターバル配列が走査画像にマッピングされる方法を示す図である。
【図１６】データドットの場所が算出される方法を示す図である。
【図１７】位置決めドットの場所が算出される方法を示す図である。
【図１８】走査画像からドットを除去する単純な技術を示す図である。
【図１９】バーコードの走査、復号化及び除去の完全な処理を概略的に示すフローチャートである。
【図２０】説明される構成が実現される汎用コンピュータシステムを概略的に示すブロック図である。
【発明を実施するための形態】
【００１４】
添付の図面を参照して、開示される方法の１つ以上の実施形態を説明する。
【００１５】
尚、従来技術の構成に関する本明細書に含まれる任意の考察は、各々の出版物及び／又は使用法を通じて周知の技術を形成する文献又は装置を参照する。しかし、そのような考察は、本発明の発明者又は特許出願人による表現と見なされるべきではなく、そのような文献又は装置は当技術の一般常識の一部を何らかの形で形成する。
＜基本構成＞
以下に提供する例において、データは、変調グリッドを使用してバーコードに格納される。図１は、そのような変調グリッドの一実施形態の外観を示す拡大図である。図示される変調グリッドは、正方形グリッド１０１の交点１０３に近接するドット１０２及び１０４の形態である多くの符号化記号から構成される。尚、可視の変調グリッドを形成するのはドット１０２及び１０４のみである。グリッド１０１を形成する線は、ドット１０２及び１０４の場所を図示するために示されるに過ぎない。
【００１６】
図１における変調グリッドは、２種類のドットから構成される。１０２等のドットは交点１０３からオフセットしており、オフセットの方向は各データドット１０２の場所変調を定義する。これらのドットの位置がデータ符号化に使用されるため、この種類のドットはデータドット（又はデータ記号）とも呼ばれる。ドット１０４は、データドットの場所を定義するための基準地図を確立するのを助長するため、場所定義記号（又は場所定義ドット）の一例を表す。この特定の例において、ドット１０４は、交点１０３の真上に存在し、位置決めドットとも呼ばれる。図１において、データドット及び位置決めドットを異なる陰影で示すが、陰影は例示のために過ぎず、通常、これらはそれぞれの変調以外は同一である。図１に示す構成において、バーコードは、位置決めドットが５０％及びデータドットが５０％で構成される。他の構成も可能である。
【００１７】
図２は、バーコード復号化から発見されたグリッドを示す。図２において、２０１は発見されたグリッドであり、２０２はデータドットであり、２０４は位置決めドットである。位置決めドット２０４は、グリッド２０１を定義するために使用され、各グリッド交点上に出現する。グリッド１０１と比較すると、グリッド２０１の位置決めドットは１つおきの交点に配置される。従って、発見されたグリッド２０１は４５度オフセットしており、元の正方形グリッド１０１のグリッド間隔より√２倍大きいグリッド間隔を有する。発見されたグリッド２０１は、ページを多くの正方形グリッドセル２０３に分割する。各グリッドセル２０３は、正確に１つのデータドット２０２を含む。グリッドセルは、バーコードデータの格納、符号化及び復号化に使用される基本単位である。
【００１８】
図３は、情報がグリッドセル内のデータドットに格納される方法を示す。ドット３０２は、グリッド３０１内のグリッドセルのグリッドセル中心３０５に近接し、各ドットは、８つの可能な位置３０３のうちの１つに変調される。図３に示すように、８つの可能な位置は、関連するグリッド交点を中心とする円に配置される。８つの変調位置は、グリッドの中心から水平方向、垂直方向又は対角線方向にオフセットしている。それらがオフセットしている水平方向及び垂直方向の距離は変調量３０４であり、本明細書中で「ｍｑ」と略記する。変調量ｍｑは、グリッドセルの辺長の固定比率であるように選択される。ｍｑの適切な選択肢は、元の正方形グリッド間隔の４０％である。
【００１９】
図４は、ドット変調位置３０３をより詳細に示す。位置はグリッドセル中心４０３を中心に配置され、各変調位置４０１は、それに関連付けられるデジタルコード値４０２を有する。８つの変調位置（４０１を含む）により、各ドットは８つの可能なデジタルコード値（位置４０１に対する値４０２を含む）のうちの１つを符号化できる。これにより、場所変調ドットのグリッドはデジタルデータ記憶装置として動作でき、各ドットはデータの８を基数とする１つの数字を格納する。理想的には、各ドットは、ドットが円のグレイコードに配置されるようにコード値を符号化する。これにより、復号化中の誤り訂正が容易になる。図４は、各ドットのデジタルコード値を２進数で示す。従って、４０２から時計回りに開始して、ドットは、値５、７、６、２、３、１、０及び４を符号化する。開示される方法の範囲を逸脱せずに、他の変調技術が使用可能である。例えば、１６個の変調位置は、１６個の可能なデジタルコード値を符号化するために使用可能である。
【００２０】
デジタルデータ記憶装置の数字の好適な順序付けは、図５に示すようにドットの矩形配列を使用することにより提供される順序付けである。この順序付けは、一番上の最も左側のグリッドセル５０１から開始し、一番下の最も右側のグリッドセル５０２に到達するまで左から右及び上から下に進む。当然、他の順序付けを使用することは可能である。
【００２１】
説明される好適な実施形態によると、データの２つの情報チャネルは１つのバーコードに同時に格納される。当然、必ずしも２つの情報チャネルでなくてもよく、単一のチャネルのみ又は２つ以上のチャネルはバーコードに格納可能である。図６は、バーコードに関連付けられる符号化データ全体を含む単一の固有のタイル６００に対して使用されるタイリング構成を示す。その後、この単一の構造素子に含まれたバーコードは、冗長性のためにグリッド全体にわたり繰り返しタイリングされる。論理的には、各バーコードタイルは、高データ密度（本明細書において「ＨＤＤ」と呼ばれる）チャネル及び低データ密度（本明細書において「ＬＤＤ」と呼ばれる）チャネルの２つの別個のデータチャネルからのデータを表す。ＨＤＤチャネルはロバスト性が低いが、ＬＤＤチャネルはロバスト性が高い。空間的には、バーコードタイル６００は、本明細書においてＨＤＤチャネルタイルと呼ばれる４つのサブタイル６０１、６０２、６０３及び６０４から構成される。ＨＤＤチャネルタイルは、グリッドセル又はデータドットを単位とする寸法６１４（本明細書において「ＨＤＤタイルサイズ」と呼ばれる）を有する正方形グリッドである。各ＨＤＤチャネルタイルは、本明細書においてＬＤＤチャネルタイルと呼ばれる１つのより小さな埋め込みタイルを含む。バーコードタイル６００内のＬＤＤチャネルタイルは６０５、６０６、６０７及び６０８である。これら４つの各ＬＤＤチャネルタイルは、グリッドセル又はデータドットを単位とする寸法６１３（本明細書において「ＬＤＤタイルサイズ」と呼ばれる）を有する正方形グリッドであり、他の３つのタイルとほぼ同一である。従って、バーコードタイル６００は、ＬＤＤチャネルタイルの４つのコピーを含む。一方で、領域６０９、６１０、６１１及び６１２は、全体でＨＤＤチャネルを構成する。ＨＤＤチャネルは、４つのＨＤＤチャネルタイルのうちＬＤＤチャネルタイルにより占有されない領域を占有する。従って、バーコードタイル６００は、ＨＤＤチャネルの単一コピーのみを含む。ＨＤＤチャネルを格納するために使用されるＨＤＤチャネルタイルの数は、必要に応じて拡張可能である。例えば、３×３又は４×４のＨＤＤチャネルタイルの構成も可能である。特に、上述のタイリング方式は、使用されるＨＤＤチャネルの構成に関係なくＬＤＤチャネルタイルの一定密度を維持するため、冗長性及びロバスト性の高いＬＤＤチャネルを提供する。
【００２２】
誤り訂正符号（ＥＣＣ）は、ＬＤＤチャネル及びＨＤＤチャネルの双方のデータに適用される。好適な実施形態は、本技術において周知の高性能ＥＣＣである低密度パリティチェック（ＬＤＰＣ）コードを使用する。
＜バーコード除去＞
バーコード除去の完全な処理を図１９に示す。処理は１９０１から開始する。
【００２３】
第１の段階１９０２において、紙に印刷されたバーコードは、図２０に示す光学スキャナ２０１９を使用してデジタル走査画像に変換される。印刷された符号化マークが複数のバーコードを含む場合、これらは後の復号化段階において分離される。ビットマップとも呼ばれる走査画像がステップ１９０２から出力される。
【００２４】
第２の段階１９０３において、走査画像内のバーコードが復号化され、埋込まれたデータが検索される。このデータは、復号化の中間段階からの他のデータと共に、後の段階においてバーコードを識別及び除去するために使用される。埋込まれたデータ自体は、中間符号化段階からのデータと共にステップ１９０３から出力される。
【００２５】
第３の段階１９０４において、全てのバーコード模様の場所は段階１９０３からの出力を使用して推定される。その後、各符号化記号（模様）は、所定の２次元形状と置き換えられる。この２次元形状の色は、各記号の近傍の領域の色に基づいて、単純な補間アルゴリズムにより判定される。
【００２６】
バーコードが走査画像から除去されると、処理は１９０４において終了する。
【００２７】
段階１９０３及び１９０４を「バーコード復号化段階」及び「バーコード除去段階」と題される以下の節においてそれぞれより詳細に説明する。
＜バーコード復号化段階＞
バーコードを走査文書から正確に除去するには、バーコード復号化の中間段階からの情報が必要である。図７は、バーコード復号化における種々の段階を示す。復号化は７０１から開始する。
【００２８】
第１の動作段階７０２において、走査画像内でバーコードのドットと考えられる全てのドットの場所を特定するためにヒューリスティックが使用される。場所が特定された大量な各ドットの中心の(x,ｙ)画素の座標リストが７０２から出力される。
【００２９】
第２の段階７０３において、優先順位に基づくフラッドフィルアルゴリズムが、場所が特定されたドットの場所全体に適切なグリッドを適合するために使用される。典型的な例において、走査画像全体を範囲に含む単一グリッドが７０３から出力される。特定の例において、間隔及び向きが異なる複数のグリッドが走査画像の範囲に含まれることが判明する。例えば、走査画像が、異なる間隔又は異なる向きを有する２つ以上の別々のバーコードを含む場合、検出された各バーコードに対して別個のグリッドが出力される。
【００３０】
第３の段階７０４において、段階７０３で識別された各グリッドは、セグメンテーションアルゴリズムを使用して、データの類似性に基づいて別個の領域に分割される。通常、グリッドを範囲に含む基本構造セルを定義する単一領域が７０４から出力される。特定の例において、複数の領域が発見される。例えば、グリッドが段階７０３で正確に分離されなかった２つのバーコードを含む場合、それらは段階７０４において２つの領域に正確に分離される。従って、２つの識別された領域が段階７０４から出力される。
【００３１】
第４の段階７０５において、各領域内で繰り返されるタイルのデータは、単一タイルを定義するために処理される。サブタイルの寸法は、多くのタイルのデータの自己相関により判明する。図６において、サブタイル６０１〜６０４の寸法は２×２である。このように、識別された領域内のタイルは単一タイルにまとめられる。この集約されたタイルは７０５から出力される。
【００３２】
第５の段階７０６において、集約タイルは、ＬＤＤチャネル及びＨＤＤチャネルに直列化され、任意の誤りは誤り訂正符号を使用して訂正され、バーコードが復号化される。図１１に示すＬＤＤデータシーケンス１１０２及びＨＤＤデータシーケンス１１０３が７０６から出力される。処理は７０７において終了する。
【００３３】
尚、本開示において、用語「復号化」は、印刷されたページから取得されたビットマップの符号化記号から図１１に示す２進データシーケンスを抽出する処理を示す。より厳密には、用語「復号化」は、図１１における２進データシーケンスに符号化されるユーザ関連情報を抽出するステップを更に含む必要がある。この場合、２進シーケンスを抽出して終了する上述の処理をバーコードの部分的復号化であると考える必要がある。
【００３４】
バーコード除去処理は、グリッドナビゲーション段階７０３、領域の発見段階７０４、タイルの集約段階７０５及びＥＣＣ復号化段階７０６からの中間情報を必要とする。これらの各段階を以下により詳細に説明する。
【００３５】
図８は、「グリッドナビゲーション」段階７０３において算出される３つの重要なグリッド特性を示す。各グリッドセルの辺長８０１を以下「グリッド間隔」と呼ぶ。変調量ｍｑがグリッド間隔の固定比率であるため、変調量ｍｑはグリッド間隔から計算される。各グリッドセルの論理行／列座標を８０２で示す。これらの座標は、図５に示す復号化順序に従って、左上のグリッドセル内の(0,0)から開始して、行毎及び列毎に順次番号付けされる。以下、これらの座標を「論理座標」と呼ぶ。各グリッドセルの中心を８０３で示す。各中心は、走査画像における画素の場所を表す座標(x,y)（不図示）を有する。各座標対は対応する論理座標対を有し、各座標対を以下「中心座標」と呼ぶ。各グリッドセルが垂線と成す角度８０４を以下「グリッド角度」と呼ぶ。
【００３６】
図９は、「領域の発見」段階７０４から出力される３ビットの数字９０１の２Ｄ配列を示す。数字９０１を「インターバル」と呼ぶ。「グリッドナビゲーション」から出力された各グリッドセルは、その論理座標を用いて配列内のインターバルにマッピングされる。インターバルの値は以下のように算出される。最初に、グリッドセル内のデータドットの場所が発見される。その後、「オフセット」と呼ばれる中心座標からデータドットまでのベクトルが算出される。最後に、オフセットは、図４に示す変調方式に従って３ビットの数字に変換される。データドットがグリッドセルから欠落するか又は不正確に検出される可能性があるため、空白又は不正確なインターバル９０３が配列内に存在することがある。
【００３７】
図９において、ＬＤＤタイル９０２を陰影を付けて示す。ＬＤＤタイルサイズは２であり、ＬＤＤタイルのステップサイズは４である。以下「ＬＤＤオフセット」と呼ばれる(LDD_x, LDD_y)は、一番左上のＬＤＤタイルの左上隅からの変位量である。ＬＤＤオフセットが全てのＬＤＤタイルの場所を識別する（ＬＤＤタイルは一定のインターバルで繰り返す）ため、これはバーコード除去に対して重要である。２Ｄ配列のサイズは既知であり、これを(RF_width, RF_height)と呼ぶ。
【００３８】
図１０は、「タイルの集約」段階７０５の出力である「集約タイル」を示す。「ＨＤＤタイルサイズ」とも呼ばれる図１０における集約タイルのサイズは８×８である。各集約タイルは４つのＬＤＤタイルを含む。集約タイルは、「集約インターバル」１００１から構成される。集約インターバルは、バーコード内で繰り返す全てのタイル内のデータを考慮し、このタイルの場所に対応する全インターバルを発見し且つ最も頻繁に発生するインターバルを採用することにより算出される３ビットの数字である。ＬＤＤタイル１００２を陰影を付けて示す。繰り返すタイルの集約後であっても、集約インターバルが依然として不正確であるか又は欠落している場合があり、欠落している集約インターバル１００３はそのような一例である。
【００３９】
図１１は、ＥＣＣ復号化段階７０７の結果を示す。インターバル１１０１は「訂正済みインターバル」である。これは、誤り訂正符号復号化器を介して渡され、その結果、誤りが修正された集約インターバルである。２進シーケンス１１０２は回復されたＬＤＤデータチャネルであり、集約タイル内のＬＤＤタイルの直列化データを含む。同様に、２進シーケンス１１０３は回復されたＨＤＤデータチャネルであり、集約タイル内の非ＬＤＤタイルの直列化データを含む。
＜バーコード除去段階＞
除去前に、バーコードは正確に復号化されなければならず、上述した中間復号化データは利用可能でなければならない。
【００４０】
図１２は、バーコード除去処理を高レベルで示す図である。除去は１２０１から開始する。
【００４１】
第１の段階１２０２において、ＬＤＤデータチャネル及びＨＤＤデータチャネルは、単一タイルに配置される。図１３は、この段階を詳細に示す。再構成タイル１３０４は、空白のインターバルから開始する。第１に、ＨＤＤタイルサイズを使用して、各ＬＤＤタイル１３０１の場所が計算される。本例において、ＨＤＤタイルサイズは８であり、ＬＤＤタイルのステップサイズは４である。そのため、図示される配列には４つのＬＤＤタイルが存在する。第２に、各ＬＤＤタイル内のインターバルは、ＬＤＤデータチャネル１３０２内のインターバルから上から下及び左から右に、すなわちラスタ順にコピーされる。第３に、ＬＤＤタイルの一部ではない１３０４内の残りの空白インターバルは、ＨＤＤデータチャネル１３０３からラスタ順にコピーされる。１２０２０の出力は、この再構成タイルとなる。
【００４２】
第２の段階１２０３において、再構成タイルはインターバル配列上で繰り返される。図１４は、この段階を詳細に示す。単一タイル１４０１は、２Ｄインターバル配列１４０２上で繰り返される。第１に、２Ｄインターバル配列は(RF_width, RF_height)のサイズで作成される。第２に、単一タイル内のインターバルは、図示するように、配列全体が埋められるまで、第１のタイルがＬＤＤオフセット(LDD_x, LDD_y)に配置され且つ他のタイルが配列１４０２上で規則的な基盤目状になるようにコピーされる。１２０３の出力は、このような再構成されたインターバル配列となる。
【００４３】
第３の段階１２０４において、再構成されたインターバル配列内の各インターバルは、走査画像上の近似場所にマッピングされる。図１５は、この処理を詳細に示す。配列１５０１内の各インターバルは、インターバルの行及び列の場所を表す対応する論理座標を有する。論理座標(1, 0)を有するインターバル１５０２を参照すると、マッピング処理は以下のように進む。論理座標(1, 0)を有するグリッドセル１５０３から情報が検索される。特に、中心１５０４の座標が検索される。前述のように、中心座標は、走査画像上でのグリッドセルの中心の場所を特定する。この処理は、配列内の全インターバルに適用される。走査画像のビットマップにおけるインターバル配列内の全インターバルの中心座標が１２０４から出力される。
【００４４】
第４の段階１２０５において、各データドットが走査画像上に配置される場所が判定される。図１６は、この処理を詳細に示す。図４における符号化方式に従って、インターバル１６０１はオフセットベクトル１６０２に変換される。ベクトルの方向はインターバルの値により判定され、長さは変調量ｍｑである。次に、走査画像上のドット位置１６０４を見つけるため、オフセットベクトルはグリッド角度分だけ回転され、インターバルの中心座標１６０３に加算される。インターバル配列内の各インターバルに１つずつ対応するデータドット位置のリストが１２０５から出力される。
【００４５】
第５の段階１２０６において、各位置決めドットが走査画像上で配置される場所が判定される。各グリッドセルは、図１７に従って処理される。オフセットベクトル１７０２は、グリッド角度及びグリッド間隔から作成される。これは、位置決めドット位置１７０３を取得するために、グリッドセル中心座標１７０１に加算される。各グリッドセルに１つの位置決めドット位置が対応し、その位置決めドット位置のリストが１２０６から出力される。
【００４６】
第６の段階１２０７において、全てのバーコードドットが除去された新しいビットマップが生成される。図１８は、除去技術を詳細に示す。第１に、段階１２０５からのデータドットのリスト及び段階１２０６からの位置決めドットのリストは、ドット位置の単一リストに組み合わされる。各ドット１８０１に対して、２つの同心正方形１８０３及び１８０２が定義される。各正方形は、経験的に判定される固定サイズを有する。適切なサイズの例は、１８０３が４画素であり且つ１８０２が１０画素である。次に、２つの同心正方形間の領域１８０４内の画素の平均画素値が算出される。最後に、１８０３は算出された平均画素値で満たされ、背景の外乱を最小限にした状態でドットを走査画像から削除する。バーコードが走査画像から除去されると、処理は１２０８において終了する。当然、用途に応じて、走査文書のビットマップを変更するステップは元のビットマップ表現ではなくそのコピーに対して実行されてもよく、それにより、目的を達成するために元のビットマップ表現を保存する。
＜変形例＞
図１２におけるドット除去段階１２０７は、走査画像からドットを除去するために基本的な補間アルゴリズムを使用する。多くのより高度な再構成アルゴリズムは本技術分野に存在し、それらは本明細書中で説明する基本的な例と自由に置き換え可能である。
【００４７】
更に、図１２におけるバーコード除去処理は、ＬＤＤチャネル及びＨＤＤチャネルの双方をバーコードから抽出する必要がある。しかし、多くの場合、頑強なＬＤＤチャネルのみを劣化したバーコードから検出することが可能であり、その場合、バーコード除去は通常の技術を用いては実行不可能である。このバーコードが依然として除去可能であるいくつかの特定の例がある。参照データ（特に、ＨＤＤチャネルの内容）がバーコード作成段階から入手可能な場合、そのようなデータは、ステップ１２０２において集約タイルを再構成するために復号化ＬＤＤチャネルと共に使用可能である。処理の残りの部分は通常の方法で実行され、それによりバーコードは正確に除去される。
＜ハードウェアの実現例＞
走査済ページからバーコードを識別し、その場所を特定し且つ除去する方法は、図２０に示すコンピュータシステム２０００を使用して実現されてもよい。この場合、図７、図１２及び図１９に示すステップは、コンピュータシステム２０００内で実行可能な１つ以上のアプリケーションプログラムにより実現されてもよい。特に、走査済ページからバーコードを識別し、その場所を特定し且つ除去する方法の種々のステップは、コンピュータシステム２０００内で実行されるソフトウェア命令により行われる。命令は、各々が１つ以上の特定のタスクを実行する１つ以上のコードモジュールとして構成されてもよい。また、ソフトウェアは２つの別個の部分に分割されてもよく、第１の部分及び対応するコードモジュールは上述の方法を実行し、第２の部分及び対応するコードモジュールは第１の部分とユーザとの間のユーザインタフェースを管理する。例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２０００にロードされ、その後コンピュータシステム２０００により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータシステム２０００においてコンピュータプログラム製品を使用することにより、走査済ページからバーコードを識別し、その場所を特定し且つ除去する上述した有利な方法が実現されることが好ましい。
【００４８】
図２０に示すように、コンピュータシステム２０００は、コンピュータモジュール２００１と、キーボード２００２及びマウスポインタ装置２００３等の入力装置と、プリンタ２０１５、スキャナ２０１９、表示装置２０１４及びスピーカ２０１７を含む出力装置とから構成される。外部変復調器（モデム）トランシーバ装置２０１６は、接続２０２１を介して通信ネットワーク２０２０との間で通信するために、コンピュータモジュール２００１により使用されてもよい。ネットワーク２０２０は、インターネット又は専用ＷＡＮ等のワイドエリアネットワーク（ＷＡＮ）であってもよい。接続２０２１が電話回線である場合、モデム２０１６は従来の「ダイヤルアップ」モデムであってもよい。或いは、接続２０２１が大容量（例えば、ケーブル）接続である場合、モデム２０１６はブロードバンドモデムであってもよい。また、無線モデムはネットワーク２０２０への無線接続に使用されてもよい。
【００４９】
コンピュータモジュール２００１は、通常、少なくとも１つのプロセッサユニット２００５及びメモリユニット２００６を含む。メモリユニット２００６は、例えば半導体ランダムアクセスメモリ（ＲＡＭ）及び読出し専用メモリ（ＲＯＭ）から構成される。モジュール２００１は、ビデオ表示装置２０１４及びスピーカ２０１７に結合するオーディオビデオインタフェース２００７、キーボード２００２、マウス２００３及びオプショでジョイスティック（不図示）に対する入出力（Ｉ／Ｏ）インタフェース２０１３、並びに外部モデム２０１６及びプリンタ２０１５に対するインフタフェース２００８を含む多くのＩ／Ｏインタフェースを更に含む。いくつかの実現例において、モデム２０１６は、コンピュータモジュール２００１内に内臓されてもよく、例えばインタフェース２００８内に内蔵されてもよい。コンピュータモジュール２００１は、コンピュータシステム２０００をローカルエリアネットワーク（ＬＡＮ）として周知のローカルコンピュータネットワーク２０２２に接続２０２３を介して結合させるローカルネットワークインタフェース２０１１を更に有する。更に図示するように、ローカルネットワーク２０２２は、通常はいわゆる「ファイアウォール」装置又は同様の機能性を含む接続２０２４を介して、ワイドネットワーク２０２０に更に結合してもよい。インタフェース２０１１は、Ethernet(登録商標)(回路カード、無線Bluetooth(又はＩＥＥＥ８０２．１１無線構成から構成されてもよい。
【００５０】
インタフェース２００８及び２０１３は直列接続性及び並列接続性の双方が可能であってもよく、直列接続性は、通常、ユニバーサルシリアルバス（ＵＳＢ）規格に従って実現され、対応するＵＳＢコネクタ（不図示）を有する。記憶装置２００９が提供され、通常、ハードディスクドライブ（ＨＤＤ）２０１０を含む。フロッピディスクドライブ及び磁気テープドライブ（不図示）等の他の装置が更に使用されてもよい。通常、光ディスクドライブ２０１２は不揮発性のデータソースとして動作するように提供される。その場合、光ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ）、ＵＳＢ−ＲＡＭ及びフロッピディスク等のポータブルメモリ装置は、例えば、システム２０００に対する適切なデータソースとして使用されてもよい。
【００５１】
コンピュータモジュール２００１の構成要素２００５〜２０１３は、通常、当業者に周知であるコンピュータシステム２０００の従来の動作モードとなる方法で相互接続バス２００４を介して通信する。上述の構成が実現可能なコンピュータの例は、ＩＢＭ−ＰＣ及び互換機、Sun Sparcstations、Apple Mac(又はそれから進化した同様のコンピュータシステム)を含む。
【００５２】
通常、上述のバーコード除去方法を実現するアプリケーションプログラムは、ハードディスクドライブ２０１０上に常駐し、実行時にプロセッサ２００５により読み取られて制御される。そのようなプログラム、並びにネットワーク２０２０及び２０２２から取り出される任意のデータの中間格納は、ハードディスクドライブ２０１０と関連して動作する可能性のある半導体メモリ２００６を使用して達成されてもよい。いくつかの例において、アプリケーションプログラムは、１つ以上のＣＤ−ＲＯＭ上で符号化され且つ対応するドライブ２０１２を介して読み取られることによりユーザに供給されてもよく、或いはネットワーク２０２０又は２０２２からユーザにより読み取られてもよい。更に、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム２０００にロード可能である。コンピュータ可読記憶媒体は、実行及び／又は処理のためにコンピュータシステム２０００に命令及び／又はデータを提供することに関係する任意の記憶媒体を示す。そのような媒体の例は、フロッピディスク、磁気テープ、ＣＤ−ＲＯＭ、ハードディスクドライブ、ＲＯＭ又は集積回路、光磁気ディスク、又はＰＣＭＣＩＡカード等のコンピュータ可読カードを含み、そのようなデバイスがコンピュータモジュール２００１の内部にあるか又は外部にあるかは問わない。命令及び／又はデータを提供することに同様に関係してもよいコンピュータ可読送信媒体の例は、無線送信チャネル又は赤外線送信チャネル、別のコンピュータ又はネットワークデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。
【００５３】
上述のアプリケーションプログラムの第２の部分及び対応するコードモジュールは、表示装置２０１４上に描画又は表現される１つ以上のグラフィカルユーザインタフェース（ＧＵＩ）を実現するために実行されてもよい。キーボード２００２及びマウス２００３の操作を介して、コンピュータシステム２０００及びアプリケーションのユーザはインタフェースを操作し、ＧＵＩに関連付けられるアプリケーションに制御コマンド及び／又は入力を提供してもよい。
【００５４】
或いは、走査済文書からバーコードを識別し、その場所を特定し且つ除去する方法は、グラフィックプロセッサ、デジタル信号プロセッサ又は１つ以上のマイクロプロセッサ及び関連するメモリを含んでもよい専用ハードウェアモジュールにおいて実現されてもよい。
【００５５】
前述では、開示される方法のいくつかの実施形態のみを説明した。方法の趣旨の範囲を逸脱せずに変形及び／又は変更が可能であり、これらの実施形態は例証するものであり限定するものではない。
【００５６】
例えば、上述したドット除去方法は、５０％の位置決めドット及び５０％のデータドットの組合せを使用するバーコードに関する。場所定義ドットの形態である場所定義記号とデータドット等のデータ記号との間の比率は変更可能である。極端な例において、位置決めドットは全て除去可能である。そのようなバーコードにおいて、全てのドットは、仮想グリッド上の交点からオフセットしているデータドットである。位置決めドットを用いないバーコードの復号化は、計算費用を追加して実行可能である。１つの単純な方法は、以下のように動作する。第１に、現在のドットの場所が検出される。第２に、仮想グリッドの角度及び間隔が統計的方法により推定される。その後、各行のドット数のヒストグラム及び各列のドット数のヒストグラムが作成され、仮想グリッドにおける各水平線及び垂直線の場所を示すピークは、双方のヒストグラムにおいて発見される。最後に、上述のように、データドットが各線に従って仮想グリッドから読み取られる。従って、上述のドット除去方法は、０％を含む位置決め／データドットの任意の比率を含むバーコードに対して動作すると考えられる。
【００５７】
データ符号化記号はドットである必要はなく、バーの形態又は他の任意の所定の形状であってもよい。それらの削除は、それらの中心点の場所を識別し且つ同心正方形又は符号化記号の形状及びサイズに依存する各寸法を有する他の形状を使用することにより同様に行われる。異なる場所関連符号化構成が同様に使用可能である。
【００５８】
更に、そのような符号化／復号化の用途に適用される冗長性の原理により、上述の方法の実行は、文書全体に印刷された符号化データの取得と必ずしも関連付けられない。図６及び図９に関して説明したように、好適な符号化構成によると、符号化データの完全な集合は単一タイル６００に含まれ、その場合、これは印刷文書のページ全体を含むように繰り返し重ねられる。従って、走査領域が少なくとも１つのタイル６００を含む限り、文書の小さな部分のみを走査することにより、方法を適用するために必要な情報が提供されてもよい。同様に、処理されるデータ量が少なくとも１つのタイル６０１からのデータを含む限り、文書全体又はその一部のみが走査された場合は、取得されたデータの全てを処理する必要はない。
【００５９】
更に、前述の説明はページからのバーコード全体又はほぼ全体の削除を含む用途に関して行ったが、他の用途の場合、バーコードの符号化記号の一部を削除するだけで十分であろう。例えば、データ搬送点の異なる集合を含む新しいバーコードの適用を容易にするために、データ搬送点１０２のみが削除されてデータ場所点１０４が文書内に残される用途が考えられるだろう。
【００６０】
最後に、前述のように、本明細書において、バーコードを「復号化する」ステップは、図１１に示す２進コードを抽出して終了すると仮定されたが、図１１の２進シーケンスからユーザ関連情報を抽出する追加ステップを含む表現「復号化」のより厳密な解釈に対応するため、これらの２進シーケンスを抽出して終了する「復号化する」処理は、「少なくとも部分的に復号化する」と更に呼ばれる。
＜産業上の利用可能性＞
バーコード除去技術の典型的な用途は、印刷文書に対する監査証跡の維持に関する。これは、ユーザＩＤリストを印刷文書上のバーコードに格納することにより行われる。文書が印刷される場合、バーコードは印刷を行う人物のユーザＩＤを含むユーザＩＤリストを含む。そのような印刷文書がコピーされる場合、ユーザＩＤリストは復号化され、バーコードは除去される。その後、コピー機の操作者のユーザＩＤはＩＤリストに付加され、新しいバーコードは新しいＩＤリストを用いて作成され、新しいバーコードはコピーされた文書に埋込まれる。漏洩文書が発見された場合、監査証跡は、バーコードからＩＤリストを復号化することにより作成可能である。このリストは、この文書の作成以降にそれをコピーした全ユーザの履歴証跡である。他の実施形態において、後続のユーザが文書を処理する場合、前のユーザのＩＤは除去されずにＩＤリスト内に維持され、新しいユーザのＩＤがＩＤリストに更に追加される。
【００６１】
２つ以上のバーコードは、複数の保護レベルを提供するために機密保護文書上で同時に使用可能である。通常、一方のバーコードはロバスト性が高く且つデータ容量が少ない疎なバーコードであり、他方のバーコードはロバスト性が低く且つデータ容量が大きい密なバーコードである。バーコードは、異なるデータ符号化方式を使用してもよい。疎なバーコードは、例えばプリンタのシリアル番号を格納してもよく、密なバーコードは、例えば監査証跡を格納してもよい。通常、密なバーコードは、疎なバーコードより多くの符号化記号を含む。従って、密なバーコードの復号化は比較的容易であるが、疎なバーコードの復号化は困難な場合が多い。そのようなバーコードの組合せを含む文書において、本明細書中で説明する方法は、最初に密なバーコードを復号化及び除去するために適用可能である。上述したバーコード除去方法が正確なため、疎なバーコード模様はこの除去による影響を実質的に受けない。最後に、疎なバーコードはこの時点で露出されているため、標準的なバーコード復号化技術を使用することで更に容易に復号化可能である。
【００６２】
説明された構成がデータ保護処理及び業務管理に関連する任意の産業に対して適用可能であることは、上述より明らかである。
【図１】
0004898771.tif 000002
【図２】
0004898771.tif 000003
【図３】
0004898771.tif 000004
【図４】
0004898771.tif 000005
【図５】
0004898771.tif 000006
【図６】
0004898771.tif 000007
【図７】
0004898771.tif 000008
【図８】
0004898771.tif 000009
【図９】
0004898771.tif 000010
【図１０】
0004898771.tif 000011
【図１１】
0004898771.tif 000012
【図１２】
0004898771.tif 000013
【図１３】
0004898771.tif 000014
【図１４】
0004898771.tif 000015
【図１５】
0004898771.tif 000016
【図１６】
0004898771.tif 000017
【図１７】
0004898771.tif 000018
【図１８】
0004898771.tif 000019
【図１９】
0004898771.tif 000020
【図２０】
0004898771.tif 000021