(57)【要約】 【課題】  画像ファイル中のバーコードやその他のマシン判読可能コードで解読される情報が、画像ファイルの、コメント・フィールドなどの補助フィールドに記憶される。その後、この情報を補助フィールドから抽出して、画像解析処理や解読処理を繰り返さなくて済むようにすることが可能である。【解決手段】  一特徴では、抽出データがマシン判読コードと合うように抽出データが検証される。【選択図】  図４
2005353067.tif 000002
【特許請求の範囲】
【請求項１】
マシン判読可能コードから取得されるデータを記憶させる方法であって、
マシン判読可能コードを備える画像データを取得する工程と、
該マシン判読可能コードを取り出す工程と、
該マシン判読可能コードを解読してデータを取得する工程と、
該画像データに関連付けられた記憶領域に前記取得データを非画像形式で記憶させる工程を備えることを特徴とする方法。
【請求項２】
請求項1記載の方法であって、該取得データを記憶させる工程が、
画像データを備える画像ファイルのフィールドに前記データを記憶させる工程を備えることを特徴とする方法。
【請求項３】
請求項1記載の方法であって、該取得データを記憶させる工程が、
画像ファイルのコメント・フィールドに前記データを記憶させる工程を備えることを特徴とする方法。
【請求項４】
請求項1記載の方法であって、該取得データを記憶させる工程が、
前記データを別個のファイルに記憶させる工程と、
該画像データを備える画像ファイルと該別個のファイルとを関連付ける工程を備えることを特徴とする方法。
【請求項５】
請求項1記載の方法であって、該取得データを記憶させる工程が、
該画像データを備える画像ファイルと該別個のファイルが関連付けられているということを示す名前を有する別個のファイルに前記データを記憶させる工程を備えることを特徴とする方法。
【請求項６】
請求項1記載の方法であって、更に、
該画像データにおける該マシン判読可能コードの位置と、
該画像における該マシン判読可能コードの向きと、
該マシン判読可能コードの視覚特性とのうちの少なくとも１つを記憶させる工程を備えることを特徴とする方法。
【請求項７】
画像におけるマシン判読可能コードを表す記憶データを取り出す方法であって、
画像データを備える画像ファイルを取得する工程を備え、
該画像データはマシン判読可能コードを備え、
更に、該画像データに関連付けられた記憶領域から、該マシン判読可能コードの非画像形式での表現を取り出す工程を備えることを特徴とする方法。
【請求項８】
請求項7記載の方法であって、
該画像ファイルがデータ・フィールドを備え、
該マシン判読可能コードの該表現を取り出す工程が、該表現を該データ・フィールドから取り出す工程を備えることを特徴とする方法。
【請求項９】
請求項7記載の方法であって、
該画像ファイルがコメント・フィールドを備え、
該マシン判読可能コードの該表現を取り出す工程が、該表現を該コメント・フィールドから取り出す工程を備えることを特徴とする方法。
【請求項１０】
請求項7記載の方法であって、更に、該記憶領域から、
該画像ファイルによって表される、該画像判読可能コードの前記画像における位置と、
該画像における該マシン判読可能コードの向きと、
該マシン判読可能コードの視覚特性とのうちの少なくとも１つを取り出す工程を備えることを特徴とする方法。
【請求項１１】
マシン判読可能コードから取得されるデータを記憶させるコンピュータ・プログラムであって、
更に、該媒体上にコード化されて、
マシン判読可能コードを備える画像データを取得する工程と、
該マシン判読可能コードを取り出す工程と、
該マシン判読可能コードを解読してデータを取得する工程と、
該画像データに関連付けられた記憶領域に前記取得データを非画像形式で記憶させる工程とを行うことを特徴とするコンピュータ・プログラム。
【請求項１２】
請求項11記載のコンピュータ・プログラムであって、該取得データを記憶させる前記記憶させる工程が、
該画像データを備える画像ファイルのフィールドに前記データを記憶させる工程であることを特徴とするコンピュータ・プログラム。
【請求項１３】
請求項11記載のコンピュータ・プログラムであって、該取得データを記憶させる前記記憶させる工程が、
画像ファイルのコメント・フィールドに前記データを記憶させる工程であることを特徴とするコンピュータ・プログラム。
【請求項１４】
請求項11記載のコンピュータ・プログラムであって、該取得データを記憶させる前記記憶させる工程が、
前記データを別個のファイルに記憶させ、該画像データを備える画像ファイルと該別個のファイルとを関連付ける工程であることを特徴とするコンピュータ・プログラム。
【請求項１５】
請求項11記載のコンピュータ・プログラムであって、該取得データを記憶させる前記記憶させる工程が、
該画像データを備える画像ファイルと該別個のファイルが関連付けられているということを示す名前を有する別個のファイルに前記データを記憶させる工程であることを特徴とするコンピュータ・プログラム。
【請求項１６】
請求項11記載のコンピュータ・プログラムであって、更に、
該画像データにおける該マシン判読可能コードの位置と、
該画像における該マシン判読可能コードの向きと、
該マシン判読可能コードの視覚特性とのうちの少なくとも１つを記憶させる工程を備えることを特徴とするコンピュータ・プログラム。
【請求項１７】
画像におけるマシン判読可能コードを表す記憶データを取り出すコンピュータ・プログラムであって、
マシン判読コードを含む画像データを備える画像ファイルを取得する工程と、
該画像データと関連付けられた記憶領域から、該マシン判読可能コードの非画像形式での表現を取り出す工程とを備えることを特徴とするコンピュータ・プログラム。
【請求項１８】
請求項17記載のコンピュータ・プログラムであって、該画像ファイルが、
データ・フィールドを備え、
該マシン判読可能コードの該表現を取り出す前記取り出す工程が、
該表現を該データ・フィールドから取り出す工程であることを特徴とするコンピュータ・プログラム。
【請求項１９】
請求項17記載のコンピュータ・プログラムであって、該画像ファイルが、
コメント・フィールドを備え、
該マシン判読可能コードの該表現を取り出す前記取り出す工程が、
該表現を該コメント・フィールドから取り出す工程であることを特徴とするコンピュータ・プログラム。
【請求項２０】
請求項17記載のコンピュータ・プログラムであって、前記取り出す工程は、該記憶領域から、
該画像ファイルによって表される、該画像判読可能コードの前記画像における位置と、
該画像における該マシン判読可能コードの向きと、
該マシン判読可能コードの視覚特性とのうちの少なくとも１つを取り出す工程であることを特徴とするコンピュータ・プログラム。
【請求項２１】
マシン判読可能コードから取得されるデータを記憶させるシステムであって、
マシン判読可能コードを備える画像データを取得する画像入力装置と、
該入力装置に結合されて該マシン判読可能コードを該画像データから取り出す画像プロセッサと、
該画像プロセッサに結合されて、該マシン判読可能コードを解読してデータを取得するデコーダと、
該デコーダに結合されて、該画像データに関連付けられた記憶領域に前記取得データを非画像形式で記憶させる記憶装置を備えることを特徴とするシステム。
【請求項２２】
請求項21記載のシステムであって、該記憶装置が、
該画像データを備える画像ファイルのフィールドに前記データを記憶させることを特徴とするシステム。
【請求項２３】
請求項21記載のシステムであって、該記憶装置が、
画像ファイルのコメント・フィールドに前記データを記憶させることを特徴とするシステム。
【請求項２４】
画像におけるマシン判読可能コードを表す記憶データを取り出すシステムであって、
画像データを備える画像ファイルを取得する画像ファイル受信器を備え、
該画像データはマシン判読可能コードを備え、
更に、該画像ファイル受信器に結合されて、該画像データと関連付けられた記憶領域から、該マシン判読可能コードの非画像形式での表現を取り出すリーダを備えることを特徴とするシステム。
【請求項２５】
請求項24記載のシステムであって、
該画像ファイルがデータ・フィールドを備え、
該リーダが、該データ・フィールドを該マシン判読可能コードの該表現から取り出すことを特徴とするシステム。
【請求項２６】
請求項24記載のシステムであって、
該画像ファイルがコメント・フィールドを備え、
該リーダが、該マシン判読可能コードの該表現を該コメント・フィールドから取り出すことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にバーコード・データなどのマシン判読可能データの読み取り及び処理に関し、特にそのようなデータを画像ファイルの補助フィールドに埋め込む方法、システム及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
バーコードやその他のマシン判読可能コードは、配送追跡、文書ワークフロー、医療アプリケーション、調査、文書追跡や、紙と電子媒体との関連付けの、産業上の利用分野（アプリケーション）において広範囲にわたって用いられている。多くのそのような利用分野では、リニア・バーコード及び/又は2次元バーコードが、ハードコピー文書を走査することによって得られる電子画像から読み取られ、解読される。よって、バーコードを読み取り、解読する工程は、画像中のバーコードを位置特定することを必要とする。そのような作業は多くの場合、大量のメモリを必要とすることがあり得るものであり、かなりの処理時間量を費やし得る。携帯型コンピュータやハンドヘルド型コンピュータなどの一部の機器は、そのような処理を行ううえでの処理能力も利用可能なメモリも有しておらず、したがって、画像からバーコードを解読し、読み取ることができない。その他の機器は、そのような処理を行う機能を有するが、所望の速度よりも遅い速度でそのような処理を行う場合があるか、そのような処理を行ううえでその資源を必要以上に酷使する場合がある。
【０００３】
一般的に、バーコードを読み取るために、コンピュータ・システムは、バーコードを含んでいる走査画像をロードするのに十分なランダム・アクセス・メモリ（RAM）を有していなければならず、走査画像中のバーコードを位置特定し、解読する専用ソフトウェアも有していなければならない。600dpiの通常の解像度で走査されるレターサイズのページは5100×6600画素（3300万を上回る画素）を有する。このサイズの画像は最大、4メガバイト以上のメモリを消費し得る。そのような大容量の画像においてバーコードを探し出すことにはかなりの時間量と処理能力とを費やし得る。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、大量のメモリや処理能力を必要とすることなく、画像ファイルからバーコード・データやその他のマシン判読可能データとを読み取る方法、システム、及びコンピュータ・プログラムが必要である。更に、生画像ファイルからそのようなデータを読み取る必要がないようにし、多くの画像ファイル形式において利用可能なものとして存在する補助フィールドを利用する方法、システム、及びコンピュータ・プログラムが必要である。
【課題を解決するための手段】
【０００５】
本発明の手法によれば、バーコード・データは、画像ファイルから読み取られると、画像ファイルの補助フィールド中に文字列として記憶される。そのような補助フィールドの例としては、タグ付き画像ファイル形式（TIFF）ファイル又はJPEGファイル交換形式（通常JPEGと呼ばれている、JFIF）ファイルのコメント・フィールドがある。そのようなコメント・フィールドは通常、多くの画像ファイル形式において利用可能であるものとして存在する。後に、データは補助フィールドから読み取り、それによってかなりの処理能力及びメモリ資源を用いてコード化データを抽出する必要がないようにすることが可能である。本発明はよって、装置やアプリケーションによるバーコード・データに対するアクセスの容易化を行い、この装置やアプリケーションは、この容易化がなければバーコード・データを読み取り、解読するハードウェア資源及び/又はソフトウェア資源が足りなくなることになる。バーコードが当初読み取られ、解読されると、そのバーコードの位置、使用記号体系、及びバーコードによって表されるデータを含む、バーコードに関するいくつかの情報が分かる。バーコードの回転、最小ラインの幅（x幅）、ラインとスペースとの間の、輝度におけるコントラストすなわち差などの追加情報も抽出することが可能である。特定のアプリケーションに応じて、この情報の一部又は全部を有用であるとみなし得る。例えば、一部のアプリケーションはバーコード・データだけしか必要でない場合がある一方、その他のアプリケーションは上記のその他の情報の一部を必要とする場合がある。
【０００６】
本発明の手法によれば、バーコードが読み取られると、何れかの情報又は全ての情報が文字列として、例えば拡張マーク付け言語（XML）形式においてコード化され、画像ファイルに何らかの方法で関連付けられるかリンクされる補助フィールド又は別個のファイルに記憶される。その場合、バーコード・データに対するアクセスを必要とする何れかのその他のアプリケーションは、画像を検索してバーコード自体を解読する代わりに、データを補助フィールド又は別個のファイルから読み取ることが可能である。
【０００７】
XMLファイル（や、バーコードをその他の方法で表したもの）の解析は、プロセッサ負荷もメモリ負荷も、バーコード・データの解読よりもかなり低いので、本発明は、そのような情報を画像ファイルから抽出し、読み取るうえでの効率を向上させる効果的な手順を備える。
【０００８】
更に、一部の場合には、バーコード読み取りソフトウェアのインストールには手数料又は使用料が必要である。本発明は、同じバーコードを繰り返し読み取らないようにしている。すなわち、バーコードは、１つの機器上で最初に読み取ると、第２機器上でもう一度読み取らなくてよいが、これは、バーコード・データが補助フィールドから入手可能であるからである。よって、本発明のユーザは、バーコード・データが別個の機器上で必要となる都度使用料を支払わなくて済むようにすることが可能である。
【発明を実施するための最良の形態】
【０００９】
添付図面は、本発明のいくつかの実施例を示し、本明細書及び特許請求の範囲とともに本発明の原理を説明する役目を担う。
【００１０】
本発明は次に、本発明のいくつかの実施例を表す添付図面を参照しながら、より全面的に説明する。本発明は、多くの種々の形態で実施される場合があり、本明細書及び特許請求の範囲記載の実施例に限定されるものとして解されるものでないこととする。むしろ、この開示が完全なものとなり、当業者に対して本発明を十分に伝えることになるようにこれらの実施例を備える。
【００１１】
特に、下記明細書は、バーコード・データに関して本発明を表しているが、文字列に変換して補助フィールドに記憶させることが可能な何れかの他の種類のマシン判読可能データとともに本発明の手法を用いることが可能であるということを当業者は認識するものである。よって、本明細書及び特許請求の範囲記載の「バーコード」の語は、何れかの種類のマシン判読可能データを表すことが意図されている。
【実施例】
【００１２】
次に図1を参照すれば、バーコード101を含む印刷文書100の例を表す。本発明の手法によれば、以下に説明するように、印刷文書100が走査され、電子画像ファイルが作成され、バーコード101が読み取られる。バーコード101からのデータは、電子画像ファイルの補助フィールドに埋め込まれる。本発明の手法を何れかのマシン判読可能コードに適用することが可能であり、本発明の手法がバーコードにも、何れかの特定の種類の文書、画像、コード化手法などにも限定されないということは当業者が認識するものである。よって、図１の文書100及びバーコード101は、本明細書及び特許請求の範囲記載の手法によって処理することが可能な種類の文書100及びバーコード101の例にすぎない。
【００１３】
次に図2を参照すれば、本発明の一実施例による、画像ファイルの補助フィールドにおいてバーコード・データを埋め込むシステム・アーキテクチャの例を表す。図4も参照すれば、本発明の一実施例による、画像ファイルの補助フィールドにおいてバーコード・データを埋め込む方法を表す流れ図を表す。図2に表す特定のシステム構成部分と、図4に表す特定の方法の工程及び順序は例示的なものにすぎないということと、多くの他の変形が、本発明の必須の特性から逸脱することなく考えられるということは、当業者が認識するものである。
【００１４】
市場で入手可能な通常のスキャナであり得るスキャナ201は印刷文書100を走査し(402)、走査画像(207)として表す、文書100の電子的な表現を生成する。一実施例では、スキャナ201は、種々の処理を紙文書に対して行う多機能周辺機器（MFP）の一部として実施される。そのようなMFPには、例えば自社開発のものが、利用可能なものとして存在する。
【００１５】
画像ファイル202は周知の手法によって走査画像207から生成される(403)。一実施例では、画像ファイル202は、例えば、サン・マイクロシステムズ社から入手可能な、ジャバによるアドバンスドイメージングソフトウェアとAPIとを用いて作成される。一実施例では、画像ファイル202は、周知の圧縮手法によって生成される、JFIF（JPEG）画像又はTIFF画像などの、走査画像207の圧縮表現である。
【００１６】
別の実施例では、本発明の手法が、走査画像から既に生成されたか、別の方法で作成された画像ファイル202に適用される。例えば、画像ファイル202は、走査されるのではなく、ワード・プロセシング・プログラム又は文書プログラム（アドビ社のアクロバットなど）を用いて生成される場合がある。
【００１７】
バーコード読み取りソフトウェア205は、周知のバーコード読み取り手法によってバーコード101を位置特定し(405)、抽出し、解読する(405)。一実施例では、この工程は、画像におけるバーコードを位置特定し、解読する、タスマン・ソフトウェア社から入手可能なタスマンバーコード読み取りソフトウェアを用いて行われる。圧縮画像を用いる一実施例では、画像ファイル202が圧縮される前にバーコード101が抽出される。別の実施例では、画像データ206は圧縮されるが、画像ファイル202の他の部分は圧縮されない。別の実施例では、バーコード101が抽出される前に画像ファイル202（又は画像データ206のみ）が圧縮解除される。
【００１８】
バーコード・データ208がソフトウェア205によって抽出され、解読されると、（例えば、XML形式で）コード化され(406)、画像ファイル202のコメント・フィールド203に記憶される(407)。大部分の画像ファイル形式は、画像に関する情報を記憶するのに用いるコメント・フィールドやその他の補助フィールドの特定の形式を含んでいる。例えば、JFIF(JPEG)、交換可能画像ファイル形式(EXIF)及びTIFFは全て、画像ファイル中にテキスト・コメントを記憶することをサポートする。これらのテキスト・コメント・フィールドは通常、例えば、ディジタル画像に付随するキャプション又は記述情報を記憶するのに用いる。本発明の一実施例によれば、バーコード・データ208はコメント・フィールド203にXMLデータ形式で記憶されるが、何れかの形式を用いることが可能であるということを当業者は認識するものである。
【００１９】
TIFFが用いられる一実施例では、バーコード・データ208は、TIFF標準において既知であるように、画像ファイル・ディレクトリ（IFD）タグ番号270に相当する「ImageDescroption(画像記述)」フィールドに記憶される。しかし、本発明の手法によって他の利用可能なフィールドを用いてバーコード・データ208を記憶させることが可能であるということは当業者が認識するものである。
【００２０】
画像ファイル202の特定のフィールドに情報を記憶する効果の１つには、バーコード・データ208に関して何も分からないアプリケーションは画像ファイル202を複製することが可能であり、バーコード・データ208は画像ファイル202とともに自動的に複製されることになるということがある。通常のファイル処理によっては、バーコード・データ208も、バーコード・データ208と画像データ206との関連も破壊されないことになる。
【００２１】
画像ファイル202は、一実施例では通常のハード・ドライブ記憶装置やその他の記憶機構であるデータ記憶機構204に記憶される(408)。
【００２２】
抽出したバーコード・データ208を画像データ206と関連付ける方法は多く存在する。一実施例では、上記に説明するように、バーコード・データ208と画像データ206は単一ファイル202に一緒に記憶される。別の実施例では、解読したバーコード・データ208は、画像ファイル202と関連付けられるか画像ファイル202によって参照される別個のファイル（図示せず）に記憶される。例えば、解読したバーコード・データ208は、画像データ206を含む画像ファイル202として同じディレクトリにおける別個のファイルとして記憶させることが可能である。２つのファイルは、それらのお互いの関係を示すよう、異なる拡張子を備えている同じ名前を有し得る。別の例では、解読したバーコード・データ208と画像データ206がアーカイブ・ファイル中の別個のファイルとして一緒に記憶される。本発明の必須の特性から逸脱することなくこれらの手法の何れかを用いることが可能である。
【００２３】
画像ファイル202は、記憶機構204に記憶されると、取り出すことが可能であり、スキャナを用いることを必要とすることも、バーコード読み取りソフトウェアを用いることを必要とすることもなく、画像ファイル202から読み取ることが可能である。バーコード・データ208を必要とするアプリケーションは、従来の手段によってバーコード101を走査しようとする前に画像ファイル202のコメント・フィールド203の中を見る。バーコード・データがコメント・フィールド203に存在する場合、バーコード走査処理を行う必要がないようにすることによってアプリケーションは処理時間とメモリとを節減したことになる。更に、バーコード・データ208を位置特定し、解読する機能を有しない（PDAなどの）機器は、画像を検索することを必要とすることなく、本発明の手法を用いてバーコード・データ208をアクセスし、用いることが可能である。画像データ206が圧縮される実施例では、画像データ206を圧縮解除することを必要とすることなく、バーコード・データ208を画像ファイル202から取り出すことが可能である。
【００２４】
そのような実施例における本発明の別の効果には、圧縮がもたらすデータ喪失の可能性がないようにするということがある。非可逆圧縮が用いられる場合、バーコード101をぼかすことが可能であり、別の方法で、読み取ることを困難にするか不可能にすることも可能である。すなわち、バーコード・データ208を抽出し、その抽出したバーコード・データ208をコメント・フィールド203に記憶することによって、画像データ206の圧縮が理由で元のバーコード101が利用不能にされた場合でもバーコード・データ208が読み取り可能でかつ利用可能な状態のままである手順を本発明は備える。
【００２５】
一実施例では、文書100がなお走査されている間にバーコード101を走査画像207から読み取ることが可能である。よって、そのような実施例では、バーコード・データ208を抽出し、処理する前に文書100全体が走査されるのをバーコード読み取りソフトウェア205は待たなくてもよい。
【００２６】
次に図3を参照すれば、本発明の一実施例による、画像ファイル202のコメント・フィールド203などの補助フィールドからバーコード・データ208を抽出するシステム・アーキテクチャの例を表す。次に図5を参照すれば、本発明の一実施例による、画像ファイルの補助フィールドからバーコード・データを抽出する方法を表す流れ図を表す。図3に表す特定のシステム構成部分と、図5に表す特定の方法の工程及び順序が例示的なものにすぎないということと、本発明に不可欠な特性から逸脱することなく多くの他の変形が考えられるということは当業者が認識するものである。
【００２７】
通常のパーソナル・コンピュータ、周辺機器、携帯情報端末(PDA)などの計算機装置300は、バーコード・データを利用するアプリケーション・ソフトウェア301を実行する。例えば、アプリケーション・ソフトウェア301は、データベースとインタフェースをとって配送中の小包の現在位置を判定するソフトウェアであり得る。計算機装置300は、通常のファイル取り出し方法によって、記憶機構204から画像ファイル202を取り出す(502)。先行して抽出されたバーコード・データ208はコメント・フィールド203から読み取られ、アプリケーション・ソフトウェア301に備えられる。一実施例では、このことは、XMLコード化データをコメント・フィールド203から取り出し(503)、XMLデータを解読(504)してバーコード・データ208を取得することによって実現される。アプリケーション・ソフトウェア301は、データ208が文書100から走査されたかのように同様にバーコード・データ208の利用及び/又は処理を行う。よって、本発明の手法によれば、計算機装置300は、バーコード101を文書100から読み取るのに必要な処理時間及びメモリを必ずしも使い果たすことなくバーコード・データ208を利用することができる。
【００２８】
バーコード・データ208は、何れかの公知のデータ形式によって、コメント・フィールド203（又は別の補助フィールド）に記憶することが可能である。読み取るうえで大量の処理能力又はメモリを必要とすることのない標準的な形式でデータ208を記憶させることが効果的である。一実施例では、バーコード・データ208はXML形式で記憶されている。ほとんど全ての主要なプログラミング言語及びスクリプティング言語のXML解析ライブラリは、多くの場合、わずかな費用で入手可能であるか無償で入手可能である。
【００２９】
一実施例では、次のバーコード・データ208のXML形式が用いられる。
【００３０】
【表１】
2005353067.tif 000003
次に、XML形式で記憶されるバーコード・データ208の例を表す。
【００３１】
【表２】
2005353067.tif 000004
例に表すように、加工していないバーコード・データを記憶させることに加えて、そのような形式は、印刷文書100に載っている元のバーコード101の位置、向きやその他の視覚特性を記述する情報も記憶させることができるようにしている。一部の実施例やアプリケーションでは、そのような情報は、バーコード・データ208から意味を抽出するのに有用であり得る。しかし、その他の実施例では、加工していないバーコード・データのみがコメント・フィールド203に記憶される。
【００３２】
一実施例では、データ検証を行って、コメント・フィールド203に記憶されているバーコード・データ208がバーコード101と一致するということを確認する。このデータ検証工程は、例えば、コメント・フィールド203に記憶されているバーコード・データ208がタンパリングされたか、破損されたか、別の方法で改変された場合があるかという疑いを持つ理由が存在する場合に有用であり得る。この工程は、バーコード101の位置又は特性が変更されたが、コメント・フィールド203が相当して更新されていない場合があるという可能性が存在する場合に有用な場合もある。例えば、相当する変更をコメント・フィールド203におけるバーコード・データ208に行う必要があるということを知ることなく画像ファイル202をクロッピングするか別の方法で改変するのに画像処理プログラムが用いられる場合にそのような状況が起こり得る。これらの場合の何れかでは、コメント・フィールド203におけるバーコード・データ208がバーコード101を正確に反映しないという可能性が存在する。データ検証はそのような状況を検知するのに有用であり得るので、文書100を再走査して、コメント・フィールド203をそれに応じて更新することが可能である。
【００３３】
一実施例では、データ検証は、公知の公開鍵/秘密鍵対を用いたものなどのセキュリティ手法を適用することによって行われるので、コメント・フィールド203に記憶されているバーコード・データ208に対する未許可タンパリングを検知することが可能である。
【００３４】
別の実施例では、(md5、SHAセキュア・ハッシュなどの)一方向ハッシュ関数が画像データ206及び/又はコメント・フィールド203に適用されるので、何れか又は両方に対する変更を検知することが可能である。一方向ハッシュ関数の結果は、コメント・フィールド203に記憶されるデータに含まれる。アプリケーション・ソフトウェア301、又は計算機装置300の別の構成部分は、ハッシュ関数を画像データ206に対して行い、その結果を、コメント・フィールド203に記憶されているハッシュ関数結果と比較する。それらの結果が一致する場合には、画像データ206がタンパリングされていないという高い信頼度が存在する。それらの結果が一致しない場合には、画像データ206とコメント・フィールド203との何れか又は両方がタンパリングされたか別の方法で改変されている。その場合、例えば、コメント・フィールド203におけるバーコード・データ208を無視する工程、画像ファイル202を再走査する工程、警告を出す工程、バーコード・データ208が無効である旨のフラグを付す工程、ユーザに別の命令を促す工程などを含む適切な措置をとり得る。
【００３５】
一実施例では、画像データ206が圧縮された後にハッシュ関数が画像データ206に適用される。よって、アプリケーション・ソフトウェア301は、画像データ206を圧縮解除することなくそのハッシュ検証を行うことが可能である。
【００３６】
次に図6を参照すれば、本発明の一実施例による、ハッシュ関数を用いてコメント・フィールド203（やその他の補助フィールド）におけるデータを認証する方法を表す流れ図を表す。図5に関して上記で説明したように、通常のパーソナル・コンピュータ、周辺機器、携帯情報端末（PDA）などの、計算機装置300は、バーコード・データを利用するアプリケーション・ソフトウェア301を実行する。計算機装置300は画像ファイル202を記憶機構204から通常のファイル取り出し方法によって取り出し(502)、XMLコード化データをコメント・フィールド203から取り出す(503)。計算機装置300はXMLデータを解読して(601)、記憶ハッシュ値を取得する。計算機装置300は更に、画像データ206、又は画像データ206の特定部分を画像ファイル202から抽出する。画像データ206がTIFFとしてコード化される一実施例では、計算機装置300は1つ又は複数の画像データ206のストライプを抽出する。一実施例では、画像データ206は、抽出される際には圧縮形式になっている。図6の工程は、所望される場合、画像データ206を圧縮解除することなく図6の工程を行うことが可能である。
【００３７】
計算機装置300は、ハッシュ関数を画像データ206（又はその部分）に適用して(603)、ハッシュ値を取得する。601で取得されるハッシュ値は、603で取得されるハッシュ値と比較される(604)。ハッシュ値がお互いに等しい場合、コメント・フィールド203における記憶バーコード・データ208は有効である。計算機装置300は、図5に関して上記で説明した手法によって、記憶されているバーコード・データを取り出し(606)、記憶されていたバーコード・データを用いる。
【００３８】
ハッシュ値がお互いに等しくない場合は、コメント・フィールド203における記憶されているバーコード・データ208は無効であり、廃棄される(607)。計算機装置300は、バーコード・データ208を画像データ206から図4に関して上記で説明した手法によって位置特定し、抽出し、解読し(608)、バーコード・データ208をコメント・フィールド203に記憶する(609)。必要な場合、計算機装置300は画像データ206を圧縮解除してこの工程を行う。計算機装置300は、この工程を行うことができない場合、画像データ206を別の装置に送信してこの工程を行うことが可能である。
【００３９】
計算機装置300は、コメント・フィールド203に埋め込まれているバーコード・データ208を含む画像ファイル202を記憶させる(610)。
【００４０】
一実施例では、工程609は、図4に関して上記で説明したXML形式でバーコード・データをコード化する工程を含んでいる。
【００４１】
上記明細書では、説明する目的で、種々の具体的な詳細を表して本発明が徹底的に分かるようにしている。しかし、本発明をこれらの具体的な詳細なしで実施することが可能であるということは当業者に明らかである。他の場合には、構造及び装置を構成図形式で表して、本発明をわかりにくくすることがないようにしている。
【００４２】
本明細書における「一実施例」や「実施例」への言及は、実施例に関して表す特定の特徴、構造又は特性が本発明の少なくとも１つの実施例に含まれるということを表している。本明細書における種々の箇所に出ている「一実施例において」の句の全てが必ずしも同じ実施例を表しているとは限らない。本願の詳細説明は、コンピュータ・メモリ内のデータ・ビットに対する処理のアルゴリズムと記号表現によって表している。これらの、アルゴリズムの記述及び表現は、データ処理技術分野の当業者によってこの技術分野の他の当業者に自らの成果の内容を最も効果的に伝えるうえで用いられる手段である。アルゴリズムは、本明細書及び特許請求の範囲においては、所望の結果につながる自己無撞着的工程シーケンスとして着想されているが、このことは一般的にも言える。工程は、物理的数量を物理的に操作することを必要とするものである。必ずしもそうではないが通常は、これらの数量は、記憶、転送、合成、比較、及び他の方法での操作を行うことができる電気信号又は磁気信号の形式を呈する。主として慣用的な理由で、これらの信号をビット、値、要素、記号、文字、項、数などとして表すことが場合によっては好都合となっている。
【００４３】
しかし、これらの項や同様な項は全て、適切な物理的数量と関連付けられることとし、このような数量に付される好都合なラベルであるにすぎないということを念頭におくこととする。当該記載から明らかであるように、具体的に別途記載しない限り、本明細書及び特許請求の範囲を通して、「プロセッシング」や「コンピューティング」や「カルキュレイティング」や「デターミング」や「ディスプレイング」などの語を用いる記載が、コンピュータ・システムのレジスタ内やコンピュータ・システムのメモリ内で物理的（電子的）数量として表されるデータを、操作し、コンピュータ・システムのメモリ内若しくはコンピュータ・システムのレジスタ内又は他のそのような情報記憶装置内、情報伝送装置内若しくは情報表示装置内の物理的数量として同様に表される他のデータに変換する、コンピュータ・システム、又は同様な電子計算機装置の動作及び処理を表すこととする。
【００４４】
本発明は本明細書及び特許請求の範囲記載の処理を行う装置にも関する。この装置は、所要の目的で構成されてもよく、コンピュータに記憶されているコンピュータ・プログラムによって選択的に起動されるか再構成される汎用コンピュータを備えていてもよい。そのようなコンピュータ・プログラムは、電子的命令を記憶するのに適し、その各々がコンピュータ・システム・バスに結合される、フロッピー（登録商標）・ディスク、光ディスク、CD-ROMや磁気光ディスクなどの、何れかの種類のディスク、読み取り専用メモリ(ROM)、ランダム・アクセス・メモリ（RAM）、EPROM、EEPROM、磁気カードや光カード、及び何れかの種類の媒体などであるが、これらに限定されるものでない、そのコンピュータ判読可能記憶媒体に記憶される場合がある。
【００４５】
本明細書及び特許請求の範囲記載のアルゴリズム及びモジュールは、何れかの特定のコンピュータやその他の装置に本質的に関係のあるものでない。種々の汎用コンピュータ・システムをプログラムとともに本明細書及び特許請求の範囲記載の教示によって用いてもよく、より特化された装置を構成して当該方法工程を行うことが好都合である場合もある。種々のこれらのシステムに必要な構造は、下記明細書から明らかとなる。更に、本発明は、何れかの特定のプログラミング言語に関して表すものでない。種々のプログラミング言語を用いて本明細書及び特許請求の範囲記載の本発明の教示を実施し得るということが分かるものである。更に、当業者に明らかとなるように、本発明のモジュール、特徴、属性、方法論やその他の特徴は、ソフトウェア、ハードウェア、ファームウェアや、この３つを何れかの組み合わせとして実施することが可能である。当然、本発明の構成部分がソフトウェアにして実施される場合にはいつでも、この構成部分は、スタンドアロン型プログラムとしてか、より大きなプログラムの一部としてか、複数の別個のプログラムとしてか、静的リンク・プログラム若しくは動的リンク・プログラムとしてか、カーネル・ロード可能モジュールとしてか、デバイス・ドライバとして実施することが可能であるもの及び/又はコンピュータ・プログラミングの技術分野の当業者が現在分かるか将来分かることになるその他の全ての方法で実施することが可能であるものである。加えて、本発明は一切、プログラミングでない。更に、本発明は、何れかの特定のオペレーティング・システムや動作環境における実施例に一切限定されるものでない。
【００４６】
上記実施例は例示的なものにすぎず、本発明の真の趣旨や範囲から逸脱することなく多くの変更を行うことが可能であるということは当業者によって分かるものである。したがって、本発明の真の趣旨や範囲の範囲内に収まるそのような変更や修正を本特許請求の範囲が全て網羅するということが意図されている。
【図面の簡単な説明】
【００４７】
【図１】バーコードを含む印刷文書の例を示す図である。
【図２】本発明の一実施例による、画像ファイルの補助フィールドにバーコード・データを埋め込むシステム・アーキテクチャを示す図である。
【図３】本発明の一実施例による、画像ファイルの補助フィールドからバーコード・データを抽出するシステム・アーキテクチャを示す図である。
【図４】本発明の一実施例による、画像ファイルの補助フィールドにバーコード・データを埋め込む方法を表す流れ図である。
【図５】本発明の一実施例による、画像ファイルの補助フィールドからバーコード・データを抽出する方法を表す流れ図である。
【図６】本発明の一実施例による、ハッシュ関数を用いて補助フィールドにおけるデータを認証する方法を表す流れ図である。
【符号の説明】
【００４８】
100  印刷文書
101  バーコード
201  スキャナ
202  画像ファイル
203  コメント・フィールド
204  記憶機構
205  バーコード読み取りソフトウェア
206  画像データ
207  走査画像
208  バーコード・データ
300  計算機装置
301  アプリケーション・ソフトウェア
【図１】
2005353067.tif 000005
【図２】
2005353067.tif 000006
【図３】
2005353067.tif 000007
【図４】
2005353067.tif 000008
【図５】
2005353067.tif 000009
【図６】
2005353067.tif 000010