(57)【要約】  本方法は、コード記号で構成されるコード化パターンの一般的なデジタルプリンタでの印刷のために考え出されたものである。この方法では、コード化パターンの文字ベースの表現が取得され、コード記号が文字定義セットに従って文字で表される。そして、文字定義セットを識別する定義識別子が生成される。この定義識別子は、コード化パターンの形態に、または印刷ジョブに特有である。最後に、文字ベースの表現と文字定義セットと定義識別子とに基づいて、印刷モジュールにコード化パターンを印刷させる。
2010506767.tif 000002
【特許請求の範囲】
【請求項１】
複数のコード記号で構成されるコード化パターンの印刷における方法であって、
前記方法は、
前記複数のコード記号が文字定義セットに従って複数の文字で表された前記コード化パターンの文字ベースの表現を取得することと、
前記文字定義セットを識別する定義識別子であって、印刷される前記コード化パターンの形態に特有の前記定義識別子を生成することと、
前記文字ベースの表現と前記文字定義セットと前記定義識別子とに基づいて、印刷モジュールに前記コード化パターンを印刷させることと、
を含み、
前記定義識別子の生成は、前記コード化パターンの印刷に関連して行われることを特徴とする方法。
【請求項２】
前記定義識別子は、前記コード化パターンの形態を定義する複数のパラメータに基づいて作成された番号を備える、請求項１に記載の方法。
【請求項３】
前記番号は、前記複数のパラメータに基づいて作成されたハッシュ値である、請求項２に記載の方法。
【請求項４】
前記番号は、前記パラメータの絶対値の配列である、請求項２に記載の方法。
【請求項５】
前記コード化パターンの各コード記号は、コードマークと、関連づけられた空間基準点とを備え、
前記複数のパラメータは、
前記文字定義セットの文字で表された複数のコード記号と、前記コードマークの位置を記述する座標との関係での前記コードマークの位置決めの仕方を示す値と、前記コードマークの関連づけられた空間基準点に対する前記コードマークのずれの大きさと、前記コードマークの大きさと、前記コードマークの代替の大きさと、隣接する空間基準点間の距離と、これらの任意の組み合わせと、からなる群より選択されるものである、請求項２、３、または４に記載の方法。
【請求項６】
前記定義識別子の生成は、
前記コード化パターンの配布者によって提供された所定の番号で前記定義識別子の一部を定義することを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記文字ベースの表現の取得は、
フォント定義を取得することを含む請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記フォント定義は、アウトラインフォントを定義するものである、請求項７に記載の方法。
【請求項９】
前記フォント定義は、ビットマップフォントを定義するものである、請求項７に記載の方法。
【請求項１０】
前記文字定義セットは、前記コード化パターンにおいて、互いに重複しないコード記号群を表すために第１の文字のセットを割り当て、固有な個別コード記号の各々を表すために第２の文字のセットを割り当てるものであり、
印刷される前記コード化パターンの一の次元における記号の数と、前記群の対応する次元におけるコード記号の数とが互いに素である場合には、前記文字ベースの表現において、少なくとも１つのコード記号が、その少なくとも１つのコード記号に対応する第２の文字で表現される、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記方法は、前記コード化パターンのデジタル表現を取得することを含み、
各コード記号は、前記デジタル表現においてそれぞれのコード化値で表される、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
複数の前記コード化値が共同で１つの位置をコード化する、請求項１１に記載の方法。
【請求項１３】
各コード化値は、複数の位置のコード化に寄与する、請求項１１または１２に記載の方法。
【請求項１４】
各コード化値は、前記コード記号の所定の区別可能な図形的状態を表す、請求項１１、１２、または１３に記載の方法。
【請求項１５】
各コード記号は、コードマークと、関連づけられた空間基準点とを備え、
前記状態は、
前記コードマークの関連づけられた空間基準点に対する前記コードマークのずれの大きさと、前記コードマークの関連づけられた空間基準点に対する前記コードマークのずれの方向と、前記コードマークの形と、前記コードマークの大きさと、前記コードマークの色と、これらの任意の組み合わせと、からなる群より選択された特性によって表される、請求項１４に記載の方法。
【請求項１６】
前記空間基準点は、前記コード化パターンにおいて規則的に間隔をあけて配置されている、請求項１５に記載の方法。
【請求項１７】
前記方法は、コンピュータで実行されるものであり、
印刷モジュールに前記コード化パターンを印刷させることは、
前記文字ベースの表現と前記文字定義セットと前記定義識別子とを備えるページ記述ファイルを、前記印刷モジュールを備えるプリンタに転送することを含む、請求項１〜１６のいずれか１項に記載の方法。
【請求項１８】
前記ページ記述ファイルは、テキストファイルとして、好ましくはポストスクリプトファイルまたはプリンタ制御言語ファイルとして生成される、請求項１７に記載の方法。
【請求項１９】
前記ページ記述ファイルは、ポストスクリプトファイルとして生成され、
前記識別子は、拡張固有識別子として生成される、請求項１８に記載の方法。
【請求項２０】
前記方法は、プリンタで実行されるものであり、
前記プリンタは、前記文字定義セットを指定して前記定義識別子を生成するために、形態パターンのパラメータを受信するように構成される、請求項１ないし１６のいずれか１項に記載の方法。
【請求項２１】
前記方法は、印刷品質に影響を及ぼす特性を検知することをさらに含み、
前記プリンタは、前記特性について検出された変化に応じて、前記コード化パターンの印刷ハードコピーが前記特性変化によって変えられないようにする変更された形態パターンパラメータを決定し、更新された文字定義セットを指定し、前記変更された形態パターンパラメータを用いて前記更新された文字定義セットの定義識別子を生成する、請求項２０に記載の方法。
【請求項２２】
コンピュータユニットの処理部の内部メモリに直接読み込みが可能なコンピュータプログラム製品であって、前記処理部で実行されたときに請求項１ないし２１のいずれか１項に記載の方法を実行するソフトウェア命令を備えることを特徴とするコンピュータプログラム製品。
【請求項２３】
複数のコード記号で構成されるコード化パターンを印刷するシステムであって、
前記システムは、
前記複数のコード記号が文字定義セットに従って複数の文字で表された前記コード化パターンの文字ベースの表現を取得する手段と、
前記文字定義セットを識別する定義識別子であって、印刷される前記コード化パターンの形態に特有の前記定義識別子を生成する手段と、
前記文字ベースの表現と前記文字定義セットと前記定義識別子とに基づいて、印刷モジュールに前記コード化パターンを印刷させる手段と、
を備えることを特徴とするシステム。
【請求項２４】
定義識別子を生成する前記手段は、前記コード化パターンの形態を定義する複数のパラメータに基づいて作成された番号を備える定義識別子を生成するように構成される、請求項２３に記載のシステム。
【請求項２５】
前記番号は、前記複数のパラメータに基づいて作成されたハッシュ値である、請求項２４に記載のシステム。
【請求項２６】
前記番号は、前記パラメータの絶対値の配列である、請求項２４に記載のシステム。
【請求項２７】
前記コード化パターンの文字ベースの表現を取得する手段と、前記定義識別子を生成する手段とは、コンピュータの処理ユニットとして実装され、
前記印刷モジュールに前記コード化パターンを印刷させる手段は、前記文字ベースの表現と前記文字定義セットと前記定義識別子とを備えるページ記述ファイルを、前記印刷モジュールを備えるプリンタに転送する前記コンピュータの通信ユニットとして実装される、請求項２３〜２６のいずれか１項に記載のシステム。
【請求項２８】
前記コード化パターンの文字ベースの表現を取得する手段と、前記定義識別子を生成する手段と、前記印刷モジュールに前記コード化パターンを印刷させる手段とは、ラスタイメージプロセッサと印刷エンジン制御部とを制御するプリンタの処理ユニットとして実装される、請求項２３〜２６のいずれか１項に記載のシステム。
【請求項２９】
複数のコード記号で構成されるコード化パターンの印刷における方法であって、
前記複数のコード記号が文字定義セットに従って複数の文字で表された前記コード化パターンの文字ベースの表現を取得することと、
前記文字定義セットを識別する定義識別子であって、実行される印刷ジョブに特有の前記定義識別子を生成することと、
前記文字ベースの表現と前記文字定義セットと前記定義識別子とに基づいて、印刷モジュールに前記コード化パターンを印刷させることと、
を含むことを特徴とする方法。
【請求項３０】
前記定義識別子の生成は、乱数を取得することを含む、請求項２９に記載の方法。
【請求項３１】
前記定義識別子の生成は、コード化パターンを印刷する印刷ジョブが特定の印刷モジュールによって実行された回数を表す値を取得することを含む、請求項２９に記載の方法。
【請求項３２】
前記定義識別子の生成は、前記コード化パターンの配布者によって提供された所定の番号で前記識別子の一部を定義することを含む、請求項２９、３０、または３１に記載の方法。
【請求項３３】
コンピュータユニットの処理部の内部メモリに直接読み込みが可能なコンピュータプログラム製品であって、前記処理部で実行されたときに請求項２９ないし３２のいずれか１項に記載の方法を実行するソフトウェア命令を備えることを特徴とするコンピュータプログラム製品。
【請求項３４】
複数のコード記号で構成されるコード化パターンを印刷するシステムであって、
前記複数のコード記号が文字定義セットに従って複数の文字で表された前記コード化パターンの文字ベースの表現を取得する手段と、
前記文字定義セットを識別する定義識別子であって、実行される印刷ジョブに特有の前記定義識別子を生成する手段と、
前記文字ベースの表現と前記文字定義セットと前記定義識別子とに基づいて、印刷モジュールに前記コード化パターンを印刷させる手段と、
を備えることを特徴とするシステム。
【請求項３５】
前記定義識別子を生成する手段は、乱数を取得するように構成される、請求項３４に記載のシステム。
【請求項３６】
前記定義識別子を生成する手段は、コード化パターンを印刷する印刷ジョブが特定の印刷モジュールによって実行された回数を表す値を取得するように構成される、請求項３４に記載のシステム。
【請求項３７】
前記定義識別子を生成する手段は、前記コード化パターンの配布者によって提供された所定の番号で前記識別子の一部を定義するように構成される、請求項３４、３５、または３６に記載のシステム。
【請求項３８】
前記コード化パターンの文字ベースの表現を取得する手段と、前記定義識別子を生成する手段とは、コンピュータの処理ユニットとして実装され、
前記印刷モジュールに前記コード化パターンを印刷させる手段は、前記文字ベースの表現と前記文字定義セットと前記定義識別子とを備えるページ記述ファイルを、前記印刷モジュールを備えるプリンタに転送する前記コンピュータの通信ユニットとして実装される、請求項３４ないし３７のいずれか１項に記載のシステム。
【請求項３９】
前記コード化パターンの文字ベースの表現を取得する手段と、前記定義識別子を生成する手段と、前記印刷モジュールに前記コード化パターンを印刷させる手段とは、ラスタイメージプロセッサと印刷エンジン制御部とを制御するプリンタの処理ユニットとして実装される、請求項３４ないし３７のいずれか１項に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願では、２００６年１０月２０日に出願されたスウェーデン国特許出願第０６０２２１５−６号および２００６年１０月２０日に出願された米国仮特許出願第６０／８６２，３７５号の利益を主張し、両出願の内容は引用することによりここに組み込まれているものとする。
【技術分野】
【０００２】
本発明は、概してオンデマンドデジタルプリンタにおけるコード化パターンの印刷に関する。
【背景技術】
【０００３】
従来、コード化パターンを用いて１枚の紙や筆記板（ライティングボード）などのような受動的な基部（ベース）に何らかの情報を埋め込むことが知られている。そして、ベースに局所的に埋め込まれた情報は、好適にプログラムされたスキャナ、ファクシミリ、カメラ、またはデジタルペンが読み取り、再現し、利用することができる。例えば、ベース上の図形的情報（グラフィカル情報）を、ベースの機能性を拡張する埋め込み情報で補うことができる。そのような埋め込み情報は、グラフィカル情報の全部または一部を再現するためのファイルデータ、命令、補足的なテキストまたは画像、ハイパーリンク、絶対位置などを含み得る。
【０００４】
一般に、コード化パターンは、ベース上で規則的に間隔をあけられた何らかの形式の機械読取り可能なコード記号（コードシンボル）で構成される。そのようなコード化パターンの例が、米国特許第５，２２１，８３３号明細書、米国特許第５，４７７，０１２号明細書、国際公開第００／７３９８３号、国際公開第０１／２６０３２号、国際公開第０１／７１６４３号、および米国特許第６，３３０，９７６号明細書で述べられている。
【０００５】
多くの場合、コード化パターンを有するベースは、グラフィック業において大規模かつ高精度に生成することができる。しかし、コード化パターンを有するベースを小規模に作成するのが望ましい場合もある。そしてこれは、例えばインクジェット方式またはレーザ方式のデジタルプリンタが接続されたパーソナルコンピュータを用いて行うことができる。
【０００６】
これは、必要なコード化パターンをビットマップ形式などのグラフィック形式で画像ファイルとして作成する、というような方法で行われ得る。この画像ファイルは、ポストスクリプト（登録商標）のようなページ記述用のコード（通常はプリンタに依存しないコード）へ変換され、その後、プリンタユニットへ送信される。プリンタユニットは、ページ記述コードに基づいて、プリンタのハードウェア制御用の対応する命令を作成する。レーザプリンタの場合、このハードウェアは、関連する光学部品をもつレーザダイオードを備え得る。インクジェットプリンタでは、ハードウェアは、インク吐出器を備えてよい。そして印刷が、例えば１枚の紙などのベースに行われる。
【０００７】
コード化パターンが高い情報密度を有する場合（それは、各コード記号の高い情報量によって、および／または、ベース上のコード記号の密な配列によって実現され得る）には、画像ファイルおよびページ記述コードが大きくなる場合がある。そして、そのような場合には、結果的に、そのようなコードの転送時間およびプリンタ処理時間は過度になる場合がある。
【０００８】
国際公開第０２／０８２３６６号では、特に、連続する絶対位置の配列を２次元でコード化するコード化パターンについて、ページ記述コードの大きさを小さくする技術が提案されている。ここでは、プリンタユニットがパターン生成モジュールと統合されているが、このパターン生成モジュールは、ソフトウェアおよび／またはハードウェアによって実装され、ベース上にコード化される絶対位置の境界を記述する情報に基づいてコード化パターンが生成される。このように、ページ記述コードを上記のような境界情報で補ってコード化パターンを表すことができる。この手法によって、転送時間およびプリンタ処理時間の両方が大幅に削減される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第５２２１８３３号明細書
【特許文献２】米国特許第５４７７０１２号明細書
【特許文献３】国際公開第００／７３９８３号
【特許文献４】国際公開第０１／２６０３２号
【特許文献５】国際公開第０１／７１６４３号
【特許文献６】米国特許第６３３０９７６号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、必要なパターン生成モジュールで既存のプリンタをアップグレードすることは困難な場合があり、不可能な場合すらある。このことが原因で、受動的なベースへのコード化パターンの導入および採用に対して、技術的障壁が生じる恐れがある。その理由は、多数の見込みユーザ（将来のユーザ）が新しいプリンタに投資しなければならないからである。
【００１１】
国際公開第２００４／１０４８１８号によれば、例えばフォントなどの文字定義セットを用いてコード記号群の互いに重複しない（一意な）セットを表すことにより、ページ記述コードの大きさとプリンタ処理時間とを削減することが可能である。フォント表現はコンパクトであり、結果的に、各コード記号のビットマップの生成と比較してコード命令の数が大幅に削減される。さらに、デジタルプリンタは、一般にフォント取り扱い用に最適化されており、多くの場合、フォント定義用に専用のキャッシュメモリを有する。
【００１２】
国際公開第２００５／１２４５２４号には、メモリに格納された１つ以上のフォント定義ファイルを有するプリンタが示されている。コード化パターンを印刷する際、メタデータが文書ファイルに入れられて送信され、そのメタデータに対応するフォント定義ファイルをメモリから取り出すようにプリンタが命令される。しかし、このためには、フォント定義ファイルがあらかじめ定義されてプリンタに格納されていることが必要である。これは、コード化パターンを印刷するには好適でないかもしれない。コード化パターンは、コード記号群の図形的表現（グラフィカルな表現）に影響を及ぼすことになる多くの方法で変更される可能性がある。こうした変更は、コード化パターンをプリンタ特性に合わせるため、プリンタに固有のものとされる場合がある。また、例えばプリンタの部品の摩耗またはインク供給の変化のために、同じプリンタの使用中に変更しなければならない場合もある。コード化パターンのこうした変形をすべて取り扱うためには、大量の異なるフォント定義が必要となってしまう。このように、国際公開第２００５／１２４５２４号で提案された技術に従ってコード化パターンを印刷するには、非現実的な量の異なるフォント定義の開発が必要である。
【００１３】
もう一つの手法は、コード化パターンを印刷する時にフォント定義を作成するというものである。これは、コード化パターンを印刷するたびにフォント定義をプリンタへ送信してプリンタのキャッシュメモリに格納する、ということを意味する。さらに、プリンタへ命令を送信してそのフォント定義を現行フォントとして設定し、それによってそのフォントがキャッシュメモリ内でアクセスされ得るようになる。しかしながら、コード化パターンをもつ複数ページの文書を作成する時は、文書内の単独ページに容易にアクセスして印刷することができるようにするため、各ページの開始時点でフォントを定義することが好ましい場合が多い。これは、大きな文書を印刷する時に、多数のフォント定義がプリンタへ送信されてキャッシュメモリに格納される、ということを意味する。従って、プリンタのキャッシュメモリはすぐにいっぱいになってしまう恐れがある。これが起きると、新しいフォント定義を格納することができなくなり、プリンタは、フォントを用いることによって各コード記号のビットマップの生成と比較してコード命令の数を削減することの恩恵を、もはや受けられなくなる恐れがある。
【課題を解決するための手段】
【００１４】
本発明の目的は、文字定義セットを用いてコード化パターンを印刷するための改善された技術を提供することである。
【００１５】
以下の説明から明らかになるこれらおよび他の目的は、独立請求項１、２２、２３、２４、２８、および２９に係る方法、システム、およびコンピュータプログラム製品により直ちに全体的または部分的に達成される。好ましい実施の形態は、従属請求項に規定される。
【００１６】
本発明の第１の態様は、コード記号で構成されるコード化パターンの印刷における方法であって、コード記号が文字定義セットに従って文字で表されたコード化パターンの文字ベースの表現を取得することと、印刷されるコード化パターンの形態に固有の文字定義セットを識別する定義識別子を生成することと、文字ベースの表現と文字定義セットと定義識別子とに基づいて印刷モジュールにコード化パターンを印刷させることと、を含む方法において、生成は、コード化パターンの印刷に関連して行われることを特徴とする方法である。
【００１７】
本発明の第１の態様によれば、定義識別子はコード化パターンの印刷に関連して生成される。これは、文字定義セットが事前に作成されず識別子と共に届けられない場合であっても定義識別子が取得される、ということを意味する。識別子はコード化パターンの形態に固有なので、同じ識別子が、異なる機会にコード化パターンの同じ形態について、すなわち同じ文字定義セットが用いられ得る時に、生成され得る。従って、同じ文字定義セットが同一のプリンタで２回目に用いられた場合、文字定義セットは、１回目の際に同じ定義識別子を割り当てられているので、プリンタのキャッシュメモリから取り出され得る。これは、同じ文字定義セットはプリンタのキャッシュメモリに２回は格納されず、それによりキャッシュメモリをいっぱいにしてしまうリスクが大いに減る、ということを意味する。さらに、膨大な量の文字定義セットをあらかじめ定義された識別子と共に配布する必要がない。代わりに、コード化パターンの特定の形態が印刷されることになって形態が定義された時に、すべての文字定義セットおよび定義識別子が作成される。
【００１８】
本明細書で用いられる場合、「コード化パターンの形態（モーフォロジー）」という用語は、コード化パターンを形成する構成要素の図形的表現を制御する定義、と解釈されたい。従って、形態は、例えば、コード化パターンを形成するコードマークの形、大きさ、および相対的な配置を定義するものでもよい。
【００１９】
さらに、定義識別子の生成がコード化パターンの印刷に関連して行われるという特徴は、定義識別子は印刷ジョブがプリンタへ転送される特定の時間に生成されなければならないということを意味しない。しかしながら、定義識別子の生成は、コード化パターンを印刷する決定が行われるところで局所的に制御される。従って、定義識別子は、文字定義セットを用いる必要が見いだされるまで作成されない。定義識別子は、コード化パターンを印刷する決定がなされた最初の時点で生成されてよく、そしてページ記述ファイルが作成されてよい。ただし、ページ記述ファイルは、ずっと後の実際の印刷の段階でプリンタへ転送されてよい。
【００２０】
本発明の第２の態様は、コンピュータユニットの処理部の内部メモリに直接読み込めるコンピュータプログラム製品であって、処理部で実行された時に第１の態様の方法を行うソフトウェア命令を備えるコンピュータプログラム製品である。
【００２１】
本発明の第３の態様は、コード記号で構成されるコード化パターンを印刷するシステムであって、コード記号が文字定義セットに従って文字で表されたコード化パターンの文字ベースの表現を取得する手段と、印刷されるコード化パターンの形態に固有の文字定義セットを識別する定義識別子を生成する手段と、文字ベースの表現と文字定義セットと定義識別子とに基づいて印刷モジュールにコード化パターンを印刷させる手段とを備えるシステムである。
【００２２】
本発明の第４の態様は、コード記号で構成されるコード化パターンの印刷における方法であって、コード記号が文字定義セットに従って文字で表されたコード化パターンの文字ベースの表現を取得することと、実行される印刷ジョブに固有の文字定義セットを識別する定義識別子を生成することと、文字ベースの表現と文字定義セットと定義識別子とに基づいて印刷モジュールにコード化パターンを印刷させることを含む方法である。
【００２３】
本発明の第４の態様によれば、定義識別子はコード化パターンの印刷に関連して生成される。これは、文字定義セットが事前に作成されず識別子と共に届けられない場合であっても定義識別子が取得される、ということを意味する。従って、プリンタは、印刷ジョブ中ずっとキャッシュメモリ内の文字定義セットにアクセスすることが可能になる。これにより、多数のページを含むジョブの印刷時にプリンタのキャッシュメモリをいっぱいにしてしまうリスクが排除される。さらに、膨大な量の文字定義セットをあらかじめ定義された識別子と共に配布する必要がない。
【００２４】
本明細書で用いられる場合、「印刷ジョブ」という用語は、１または複数のページで構成され得るデジタル文書のハードコピーをプリンタが出力する１つのタスク、と解釈されたい。
【００２５】
本発明の第５の態様は、コンピュータユニットの処理部の内部メモリに直接読み込めるコンピュータプログラム製品であって、処理部で実行された時に第４の態様の方法を行うソフトウェア命令を備えるコンピュータプログラム製品である。
【００２６】
本発明の第６の態様は、コード記号で構成されるコード化パターンを印刷するシステムであって、コード記号が文字定義セットに従って文字で表されたコード化パターンの文字ベースの表現を取得する手段と、実行される印刷ジョブに固有の文字定義セットを識別する定義識別子を生成する手段と、文字ベースの表現と文字定義セットと定義識別子とに基づいて印刷モジュールにコード化パターンを印刷させる手段とを備えるシステムである。
【図面の簡単な説明】
【００２７】
【図１】図１は、コード化パターンを印刷するシステムの模式的な説明図である。
【図２】図２は、先行技術のコード化パターンを示す図である。
【図３Ａ】図３Ａは、図２のパターン用のフォント定義の模式的な説明図である。
【図３Ｂ】図３Ｂは、図２のパターン用の記号定義を示す図である。
【図３Ｃ】図３Ｃは、図３Ａのフォント定義に基づいた、図２のパターン用のページ記述コードの模式的な説明図である。
【図３Ｄ】図３Ｄは、代替の実施の形態において生成されたページ記述コードの模式的な説明図である。
【図４Ａ】図４Ａは、プリンタに格納されたフォント定義の模式的な説明図である。
【図４Ｂ】図４Ｂは、ページ記述ファイルの内容の模式的な説明図である。
【図５】図５は、フォント定義の識別子の例である。
【図６Ａ】図６Ａは、本発明に係る印刷方法を実装するシステムの模式図である。
【図６Ｂ】図６Ｂは、情報層とコード化層とをもつベースの模式図である。
【図６Ｃ】図６Ｃは、本発明に係る印刷方法のフローチャートである。
【図７】図７は、図６Ａに示すプリンタの電子回路部の模式的ブロック図である。
【発明を実施するための形態】
【００２８】
次に、現時点の好ましい実施の形態を模式的に示す添付の図面を参照して、例として本発明を説明する。
【００２９】
図１を参照して、コード記号で構成されるコード化パターンを印刷するシステム１を概略的に説明する。システム１は、印刷されたコード化パターンをもつページを生成するプリンタ２を備える。プリンタ２は、印刷ジョブ３の命令を受信し、これらの命令に基づいて、印刷ジョブのページを印刷するために印刷エンジン制御部に対して画像データを生成する。印刷ジョブ３は、直接プリンタ２に接続された、またはネットワークを介してプリンタ２に接続されたコンピュータ４から送られてよい。
【００３０】
文字定義セットを用いて、互いに重複しない（一意な）コード記号群および／または個別コード記号の画像データを定義してよい。これは、プリンタ２は文字定義セットの各文字の画像データを１回作成するだけでよい場合がある、ということを意味する。その後、文字定義セットは、プリンタ２のキャッシュメモリ５に、画像データがメモリから直接取得され得るように格納されてよく、それによりプリンタの処理速度が速められる。文字定義セットは、プリンタ２が文字定義セットにアクセスして文字定義セットを再使用することができるようにする定義識別子と共に、キャッシュメモリ５に格納される。
【００３１】
しかしながら、コード化パターンの構成要素の図形的表現は、印刷されたコード化パターンをもつページをプリンタ２が正確に生成するために、多数の様々な方法で変更される必要がある場合がある。例えば、コード記号の大きさやコード記号同士の間隔は、印刷されたコード化パターンをもつページを生成することになるプリンタ２の種類に合わせてカスタマイズされる必要がある場合がある。コード化パターンは、正しく復号されるために非常に正確に印刷されなければならない場合がある、ということは理解されるであろう。従って、コード記号の大きさやコード記号同士の間隔は、コード化パターンが正確に印刷されるために微調整されなければならない場合がある。さらに、プリンタ２の摩耗やプリンタ２のトナー量などのプリンタパラメータもまた、コード化パターンの印刷に影響を及ぼす場合があるので、コード化パターンの構成要素の図形的表現で異なるものを同じプリンタ２で用いなければならない場合がある。文字定義セットはコード化パターンの構成要素の画像データを定義するので、同じ文字定義セットを、コード化パターンの２つの異なる変形に対して用いることはできない。莫大な数の異なる文字定義セットを事前に作成するのを回避するため、文字定義セットおよびその識別子は、必要な時に作成される。
【００３２】
プリンタ２は、コード化パターンの構成要素を記述するページ記述コードとパラメータを含む印刷ジョブ３の命令を受信してよい。これらのパラメータに基づいて、プリンタ２の処理ユニット６が文字定義セットと識別子を作成してキャッシュメモリ５に格納してよい。あるいは、文字定義セットと識別子は、コンピュータ４で作成されて、印刷ジョブ３のページ記述コードと共にプリンタ２へ送られる。さらなる代替方法によれば、文字定義セットはコンピュータ４で作成され、識別子は、文字定義セットをキャッシュメモリ５に格納するのに関連してプリンタ２で生成される。
【００３３】
識別子は、キャッシュメモリ５内で見つけられるように構造化されて生成される。ある実施の形態によれば、識別子は、コード化パターンの構成要素を記述するパラメータに基づいている。後になって同じ種類のコード化パターンが用いられた時は、同じ識別子が生成され、格納されている文字定義セットがキャッシュメモリ５内で見つけられる。別の実施の形態によれば、識別子は、実行される印刷ジョブ３に固有のものである。これは、文字定義セットがキャッシュ内で見つけられて印刷ジョブ３内のあらゆるページの印刷に用いられ得る、ということを意味する。
【００３４】
本発明をさらに詳しく説明するため、まず図２を参照してコード化パターンの例の説明を行い、次に図３Ａおよび図３Ｂを参照してそのコード化パターンを記述するのに適した文字定義セットの例の説明を行う。
【００３５】
図２は、絶対位置コード化パターンの一部を示しており、これを用いて本発明を例示する。この位置コード化パターンについては本出願人の国際特許公開である国際公開第０１／２６０３２号に詳述されており、当該出願はこの引用によりここに組み込まれているものとする。まず、図２のコード化パターンは単純な図形的記号（グラフィカルな記号）で構成されており、これらの図形的記号は４つの異なる値をとることができ、従って２ビットの情報をコード化することができる。各記号は、マーク１０と、空間基準点（または、名目的位置（ノミナル位置）ともいう）１２とで構成され、マーク１０は、名目的位置１２から４つの異なる方向のうちの１方向にある距離だけずらされ、または、ずれている。各記号の値は、ずれの方向によって与えられる。記号は、名目的位置１２が規則的なラスタまたは格子１４を形成した状態で配置されるが、規則的なラスタまたは格子１４は仮想的であってよく、従ってコード化パターンに明示的に含まれなくてよい。このように、記号は、格子によって定義された２次元の記号空間（シンボル空間）に規則的に配置されるので、規則的に間隔をあけられたものと見なされ得る。
【００３６】
各絶対位置は、コード化窓（コード化ウィンドウ）内で、例えば６×６の隣接する記号を含むコード化窓内で、記号群の集合的な値によりコード化される。さらに、コード化は、１格子分の間隔だけずらされたコード化窓により隣の位置がコード化される、という意味において「浮動型（フローティング）」である。換言すると、各々の記号はいくつかの位置のコード化に寄与する。
【００３７】
図２のコード化パターンは、位置および他のデータの両方をコード化するために用いられてもよいし、位置以外のデータのみをコード化するために用いられてもよく、これは本出願人の国際特許公開である国際公開第０１／７１６５３号に開示された通りである。
【００３８】
図２のコード化パターンは、高い情報密度でベース上に再現され得る。格子間隔（図２において符号１６で示されている）は、典型的には０．３ｍｍでよく、これにより高さ２５ｃｍ、幅１５ｃｍのページに４００，０００個を超える記号がもたらされる。明らかに、それほど高密度なコード化パターンを一般的なデジタルプリンタでそこそこ速く印刷することは困難であろう。
【００３９】
印刷速度を上げるためには、文字定義セットを用いてコード化パターンを表すのが好適である。文字定義セットの利用については、国際公開第２００４／１０４８１８号に記載されており、当該出願は引用によりここに組み込まれているものとする。しかしながら、本発明の理解を容易にするため、文字定義セットの利用の概念については、以下でも説明する。
【００４０】
文字定義セットは、以下ではフォント定義として例示される。ただし、図３Ｄを参照して例示されるように、文字定義セットを他の方法で定義することも可能である。
【００４１】
フォント定義の文字は、互いに重複しない記号または記号群の図形的表現を定義することになる。これは、コード化パターンがフォント定義の文字の配列として定義され得る、ということを意味する。従って、コード化パターンは、よりコンパクトに定義される。
【００４２】
フォント定義の各文字は、コード化パターンの１つ以上の記号の図形的表現を形成するための、プリンタに対する命令を含んでよい。このようにして、１つ以上の記号の画像データが作成され得る。さらに、この画像データは、プリンタが再使用できるように格納されてよく、これにより印刷速度が著しく高められる。
【００４３】
フォントはプリンタのキャッシュメモリに格納され、それによって、４００，０００個の記号のそれぞれについてコード化パターンの画像データを別々に作成する必要がなくなる。
【００４４】
以下では、フォントがどのようにしてコード化パターンを表すように構成され得るかの例を挙げる。以下の例では、ページ記述コードはテキストベースであり、広く採用されているポストスクリプト（登録商標）プログラミング言語で書かれているものと仮定するが、例えばＰＣＬ（プリンタ制御言語）のような、他の種類のフォーマットおよびプログラミング言語ももちろん想定可能である。
【００４５】
そのようなフォントの第１の例を図３Ａに挙げる。フォントの各文字は固有のコード記号群を表し、ここでは連続する３つの記号からなる行区分を表している。従って、この群はそれぞれ、記号空間において１×３の大きさ（記号行の数、記号列の数）を有する。
【００４６】
上述したように、図２のコード化パターンは、４つの異なるコード化記号に基づく。ポストスクリプトコードでは、図３Ｂに示すように、各記号が余白（図では「＿」として示されている）の形のファンクション／プログラム呼び出しと固有のファンクション／プログラム名とで表され得る。対応するファンクション／プログラム（図示しない）は、ポインタを開始位置から所与の印刷位置へ移動させ、所与の大きさの円形ドットを印刷位置に生成し、印刷位置を新しい開始位置へリセットする、というポストスクリプト命令で構成される。
【００４７】
例えば、フォント文字（Ａ）は、第１の名目的位置から所与の距離だけ上にずらされた第１のドットと、第２の名目的位置から所与の距離だけ上にずらされた第２のドットと、第３の名目的位置から所与の距離だけ上にずらされた第３のドットとで構成されるように定義される。
【００４８】
ポストスクリプト言語は、ＡＳＣＩＩ形式に基づいたテキストベースのプログラミング言語である。従って、フォントにおいて、記号群や、例えば「％」、「／」、「（」、「）」等のような、基本的なファンクション／プログラム呼び出し用にあらかじめ定義された、より少ない文字を表すために、１２８個の固有の文字が利用可能である。図３Ａの固有の１×３記号群は、６４文字で表され得る。また、図３Ａのフォントは、ビットマップフォントとして定義されてもよく、アウトラインフォントとして定義されてもよい。ビットマップフォントでは、各文字（すなわち各１×３記号群）は一定の大きさの画素画像として表される。アウトラインフォントでは、各文字は大きさがスケーラブル（大きさの変更が可能）であり、数式で表される。
【００４９】
ページ記述コードの作成では、コード化パターンのデジタル表現が、記号空間において（この例においては各行ごとに）解析され、それによってコード化パターンが記号群に分割されて、そのような群がそれぞれページ記述コードにおいてフォント文字で表される。説明のため、これらの記号群を図２においてボックス１８で示す。
【００５０】
図３Ｃは、図３Ａのフォント定義に基づいた、図２のコード化パターンのページ記述コードの模式的な説明である。実際のページ記述ファイルは、特に、コード化パターンと共に印刷される図形データ用のページ記述コードも含む。
【００５１】
図３Ａに戻ると、フォント定義は、１つの個別記号を表すフォント文字（７、８、９、０）も含むことが留意されよう。これは、記号空間における群の大きさとコード化パターンの大きさとの不整合から生じ得る記号の余りを処理するために行われる。そのような不整合は、コード化パターンの大きさと群の大きさとが記号空間の一方または両方の次元において互いに素である場合に起こる。図２の例では、コード化パターンの各行に１３個の記号がある。明らかに、すべての記号を３つの記号からなる群に分割することはできない。従って、各行につき１つの記号が１つの記号文字で表される。さらに進んだ手法では、この問題に対処するために、例えば１×２記号群のような他の記号群をフォント定義が含んでもよい。
【００５２】
記号群は他の配置が可能であり、あるいは他の個数の記号が各群に含まれてよいことも留意されよう。例えば、２×２記号群または３×１記号群が用いられ得る。また、群内の記号の互いの関わり方が異なってもよい。例えば、記号の斜め配置も考えられる。さらなる代替方法としては、４つの固有の個別記号だけを含むフォント定義が形成される。
【００５３】
次に、図４Ａおよび図４Ｂを参照して、フォントがプリンタによってどのように処理されるかについての概略的な説明を行う。図４Ａに示すように、キャッシュメモリ５にはフォント４０が格納されている。文字を印刷する際は、その文字を印刷するための画像データを得るためにフォント４０が呼び出される。その文字が以前に印刷されたことがなければ、画像データは作成されていない。そこで、その文字のビットマップを作成するために、命令４２がフォント４０からラスタイメージプロセッサ４５へ送られる。そして、ビットマップ４３は、対応する文字用として、次にフォント４０が呼び出された時に直接取り出し得るように、フォント４０に格納される。
【００５４】
フォント４０は、それぞれの文字のビットマップを作成するための命令としてプリンタ２へ転送される。プリンタ処理部６は、フォント４０を現行フォントとして用いられるように設定して、フォント４０へのポインタを維持する。フォント４０は、後になって処理部６がフォント４０にアクセスできるようにする識別子４１を有してもよい。識別子４１が使用されると、処理部６はまずフォント４０が既にキャッシュメモリ５に格納されているか確認する。格納されていたら、フォント４０が現行フォントとして設定されることによってフォント４０がアクセスされ、プリンタ２へ転送されたフォント定義は無視されてよい。ただし、処理部６がキャッシュメモリ５から誤ったフォントを取り出すことのないように、識別子は一意的である必要がある。
【００５５】
図４Ｂに示すように、印刷ジョブ３の各ページ５１、５２、５３は、典型的には、個々にページを印刷するのに十分な情報を備える。従って、各ページは、フォント定義５１ａ、５２ａ、５３ａと、フォント定義を用いた文字ベースの表現としてページを記述するページ記述コード５１ｃ、５２ｃ、５３ｃとを備える。各ページを印刷する際、プリンタは、フォント定義がキャッシュメモリから取り出され得るかを確認する。そうでなければ、上述したように、フォント定義はキャッシュメモリに格納され現行フォントとして設定される。同一の定義識別子５１ｂ、５２ｂ、５３ｂをフォント定義５１ａ、５２ａ、５３ａに用いることにより、フォント定義は最初のページを印刷する時だけキャッシュメモリに格納され、その後、後続の各ページを印刷する時はキャッシュメモリから取り出される、ということが確実に行われる。
【００５６】
次に、コード化パターンのフォント定義を識別するための定義識別子の生成について説明する。
【００５７】
上記のように、コード化パターンの構成要素の図形的表現は、例えば、関連づけられた空間基準点に対するマークのずれの大きさ、マークの半径、格子間隔などに応じて、多数の様々な方法で変更されてよい。従って、コード化パターンを印刷するために用いられる適切なパラメータによって、使用されるフォントが決まることになる。フォントは、識別子でラベル付けされており、識別子によって、プリンタがフォントをキャッシュメモリに格納して、格納されたフォントを後で取り出して再使用できるようになっている。
【００５８】
フォントの識別子は、印刷ジョブが実行される時に生成される。これは、ユーザはコード化パターンのパラメータを自由に選択でき、以前に生成されたフォントに限定されない、ということを意味する。さらに、プリンタはフォントを格納して再使用することができる。識別子により、１つの印刷ジョブ中にプリンタのキャッシュメモリがいっぱいになってしまうリスクが排除される。同一の識別子が印刷ジョブを通して用いられ、これにより、たとえフォントが印刷ジョブの各ページの初めで定義されたとしても、フォントがキャッシュメモリに格納されるのは１回だけとなるようになっている。また、識別子を用いることにより、キャッシュメモリが満たされる速さが低下する。
【００５９】
ある実施の形態によれば、識別子は、実行される印刷ジョブ専用に生成される。これは、多数のページを含む文書の印刷の際にプリンタのキャッシュメモリがいっぱいにならないことを確実にする簡単な方法である。ポストスクリプト言語を用いると、識別子は拡張固有識別子（ＸＵＩＤ）として定義され得る。ＸＵＩＤの第１の部分は、フォントを作成した組織を識別する番号である。この番号は、あらかじめ定義されるものであり、印刷されるコード化パターンのページを設計するためのソフトウェアと共に届けられてよい。そして、この番号によってコード化パターンの配布者が識別される。ＸＵＩＤの第２の部分は、ページ記述コードを作成するのに関連して取得されたまたは生成された乱数であってよい。あるいは、第２の部分は、プリンタでコード化パターンを印刷するためにフォント定義が用いられた回数を表すカウンタ値であってもよい。従って、この値は、新しい印刷ジョブごとに１ずつ増やされてよい。
【００６０】
この識別子生成手法によれば、生成される識別子と、以前プリンタで使われてプリンタのキャッシュメモリに格納された識別子とが等しくなりにくい。従って、誤って一致する可能性が非常に低くなり、誤って一致した場合には、ページ記述コードを翻訳する際に正しくないフォントが用いられることになるので、正しくない印刷が行われることになる。また、ＸＵＩＤを用いると、他の組織によって作成されたフォントに対して誤って一致するリスクは、完全に排除される。ただ、このリスクが容認されるならば、識別子は、代わりに、乱数のみを固有識別子（ＵＩＤ）として用いてＵＩＤとして定義されてよい。
【００６１】
他の実施の形態によれば、識別子は、異なる印刷ジョブでプリンタがフォントを再使用し得るように、生成される。この目的のため、識別子は、コード化パターンの形態に固有となるように生成される。この形態がフォントを決定することになる。識別子を形態に固有とすることにより、同じフォントが常に同じ識別子によって定義されることになるように識別子が作成されてよい。これは、以前フォントがプリンタで使用されたことがあれば、そのフォントはすでに、その後の印刷ジョブにおけるフォントの識別子に厳密に一致する識別子と共にキャッシュメモリに格納されている、ということを意味する。これはプリンタから通知され、プリンタは、以前格納されたフォントを再使用することができ、従ってキャッシュメモリをいっぱいにしてしまうことがない。
【００６２】
同じフォントが常に同じ識別子によって定義されることを確実にする方法の１つは、コード化パターンの形態を定義するパラメータに基づいて作成された番号を用いることである。これらのパラメータをいくつかの異なる方法で用いて番号を作成してよい。例えば、番号は、パラメータに基づいて作成されたハッシュ値であってよい。これにより、同じフォントが常に同じ識別子によって定義されることが確実になる。ただし、２つの異なるフォントが同じ識別子を生成し得るリスクが少しある。代わりに、識別子の番号をパラメータの絶対値の配列としてもよい。フォントを一意に定義するための重要なパラメータをすべて使用すれば、そのような識別子は、誤って一致するリスクとは無縁になる。このパラメータの絶対値の配列をＸＵＩＤで用いることにより、識別子が、異なるフォントの識別子と混同されなくなることが保証される。
【００６３】
図５を参照して、ＸＵＩＤの例を説明する。このＸＵＩＤは、番号５１から５９の配列である。第１の番号５１は、フォントを作成した組織を識別する番号である。この番号は、あらかじめ定義されるものであり、印刷されるコード化パターンのページを設計するためのソフトウェアと共に届けられてよい。このように、番号５１はコード化パターンの配布者を識別する。第２の番号５２は改訂番号であり、この番号もあらかじめ定義される。この番号は、識別子に用いられるパラメータのセットが何回変更されたかを示す。このあらかじめ定義された番号５２によって、フォントを定義するために使用されるパラメータの変更を配布者が決定した場合に、古いパラメータで指定されたフォントが新しいパラメータで指定されたフォントと干渉するリスクがなくなる、ということが確実になる。第３の番号５３は、フォント定義において文字で表されるコード記号の数である（例えば、フォントで１×３記号群を定義する場合は３）。第４の番号５４は、マークの位置を記述する画素座標との関係でのマークの位置決めの仕方を示す値である（例えば、マーク中心が画素の中心に置かれる場合は０、またはマーク中心が画素座標に置かれる場合は１であり、この場合、典型的には画素の左下隅が定義される）。この値を変更すると、マークを描くためにプリンタがどの隣接画素を用いるか、ということに影響が及ぶが、これは国際公開第２００５／０７８５６９号でさらに述べられた通りである。第５の番号５５は、コード化パターンを印刷するプリンタの解像度の大きさである（例えば６００ドット／インチ）。第６の番号５６は、関連空間基準点に対するコードマークのずれの大きさである（例えば４３μｍ）。第７の番号５７は、マークの半径である（例えば４０μｍ）。第８の番号５８は、マークの代替の半径である（例えば５０μｍ）。この代替の半径は、コード化パターンが異なる２つの大きさのマークを備えて、さらなる情報を大／小マークに基づいてコード化パターンにコード化する場合に用いられてよい。また、代替の半径は、コード化パターンと共に印刷される図形データからの影響に対応するために用いられてもよい。そのような図形データによってマークが小さく印刷されてしまう場合があり、これは、そのような図形データを含む領域では代替の半径でマークを印刷することによって対処可能である。最後の第９の番号５９は、隣接する空間基準点間の距離である（例えば３００μｍ）。
【００６４】
コード化パターンを印刷するシステムを図６Ａに示す。このシステムは、コンピュータ６０と、プリンタ６１とを含む。プリンタ６１は、コンピュータ６０に対して通信可能に接続されてよく、それにより、ページ記述ファイル６２がコンピュータ６０から出力されてプリンタ６１へ転送されることが可能となっている。
【００６５】
コンピュータ６０は、例えば１枚の紙などのベースに機械読取り可能なコード化層として付けられるコード化パターンのデジタル表現にアクセスできる。また、このコンピュータシステムは、人間が読める情報層として同じベースに印刷される図形データのデジタル表現にもアクセスできてよい。図形データは、典型的には、コード化されたベースのユーザに対して案内や情報を提供するために、テキスト、図、罫線、画像等を含んでよい。図６Ｂは、そうしたコード化層６５および情報層６６の組み合わせを示しており、コード化パターン６７の拡大図が含まれている。以下でさらに説明するように、コンピュータ６０は、コード化層６５および情報層６６（存在する場合）のページ記述コードを生成できる。コード化層６５は、上記のようにフォントを用いて定義される。あるいは、プリンタがフォントを生成できるようにするために、コード化パターンのパラメータがページ記述ファイルに含まれる。ここでは、ページ記述コードはテキストベースであり、広く採用されているポストスクリプト（登録商標）プログラミング言語で書かれているものと仮定するが、例えばＰＣＬ（プリンタ制御言語）のような、他の種類のフォーマットおよびプログラミング言語ももちろん想定可能である。
【００６６】
プリンタ６１は、ページ記述ファイル６２を受信する。プリンタ６１は、ファイル６２を解析して印刷可能な形式にする印刷ファイルインタプリタを含む。ページ記述ファイル６２がコード化パターンのパラメータを含む場合は、印刷ファイルインタプリタは、これらのパラメータを用いてフォント定義とそのフォントの識別子とを作成する。印刷ファイルインタプリタは、ページ記述ファイルで受信したフォント定義の識別子か、またはプリンタによって作成されたフォント定義の識別子を確認して、そのフォント定義がプリンタのキャッシュメモリに存在するか否かを判断する。存在する場合は、キャッシュメモリのフォント定義が現行フォントとして設定され、それ以上フォント定義を扱う必要はなくなる。フォント定義がキャッシュメモリに存在しない場合は、フォント定義はその識別子と共に格納される。通常、フォント定義における各文字のビットマップの作成は、初期的には行われない。
【００６７】
次に、印刷ファイルインタプリタは、ページ記述ファイル６２のページ記述コードを読み取って、適切な印刷命令に変換する。各フォント文字は、印刷されるパターンのビットマップに変換される。これは、フォント文字に対応するビットマップを、格納されているフォント定義から取り出すことによって行われる。対応するビットマップがまだ格納されていない場合は、ビットマックを作るための印刷命令を用いてビットマップが作成され、そのビットマップがフォント定義に格納される。ファイル全体が適切に変換されたら、プリンタ６１はその文書を印刷する。あるいは、プリンタ６１はページ記述コードの変換と同時に印刷を開始してもよく、例えば、ページが適切に変換されたら直ちにそのページが印刷されてよい。プリンタの動作原理は、単色または多色刷りの印刷出力を生成する技術であればどんな技術に基づいてもよく、インクジェット式、レーザ式、昇華型、ソリッドインク式、熱転写式、ＴＡ方式（サーマルオートクロム方式）、ドットマトリクス方式などの技術を含むがこれらに限定されない。
【００６８】
図６Ｃは、プリンタ６１に対して提供されるページ記述ファイル６２の生成においてコンピュータ６０で実行され得る方法の、主要なステップを示す。
【００６９】
ステップ６０１では、コード化層のデジタル表現が、好適にはコンピュータ６０と関連付けられたメモリから、取得される。コード化層６５のデジタル表現は、生成される前の形式でコンピュータ６０へ供給されてよく、あるいは、オンデマンドでコンピュータ６０により生成されてもよい。例えば、デジタル表現は、記号間の相互の空間的配置を保持した状態での上記の記号値を含んでよい。同様に、ステップ６０１は、印刷される情報層６６のデジタル表現の取得を含んでよい。
【００７０】
ステップ６０２は、フォント定義を取得することを含む。このフォント定義では、コード化パターンの互いに重複しない（一意な）記号群を表すように、文字のセットが定義されている。よく使われるいくつかのフォント定義があらかじめ定義されてよい。しかしながら、代替方法として、フォント定義が特定の印刷ジョブ用に生成されて、後でページ記述コードと共にプリンタへ転送されるようにしてもよい。
【００７１】
各記号群は、所与の空間的配置をもつ記号値の組み合わせを定義する。群の記号同士は互いに隣接する必要はなく、任意の空間的な相互関係を有することができるが、この相互関係は、例えば図２の規則的な格子配置のように、コード化パターンの記号の空間的配置に対応してさえいればよく、等距離でなくてもよく、また、直交していなくてもよい。
【００７２】
ステップ６０３では、フォント定義の識別子が生成される。上述したように、識別子は、特定の印刷ジョブにおいてフォント定義を識別するように生成されてよい。あるいは、識別子は、コード化パターンの形態を示すように生成されてもよい。そして、識別子は、その後の印刷ジョブにおいてアクセスされ再使用されることが可能なように、プリンタのキャッシュメモリに格納される。ある実施の形態によれば、識別子はＸＵＩＤとして生成され、ＸＵＩＤの第１の部分は所定の番号としてコンピュータ６０に供給され、第２の部分は取り出されたフォント定義に従って生成される。
【００７３】
ステップ６０４では、コード化層のデジタル表現がフォント定義に基づいて解析される。さらに具体的には、フォント定義に含まれる異なる記号群が、デジタル表現に対してマッピングされる。そして一致するごとに、対応する文字が、対応する記号群を表すようにデータ構造で格納される。ステップ６０５では、コード化層の文字ベースの表現が作成され、各文字が、所与の空間的配置をもつコード記号の所与の組み合わせを表す。
【００７４】
ステップ６０６では、ページ記述コードが情報層用に生成される。このステップは、当業者に知られた先行技術の手法に従って実装されてよい。
【００７５】
ステップ６０７では、コード化層の文字ベースの表現がページ記述コードに組み込まれて、情報層およびコード化層のための最終的なページ記述コードが生成される。
【００７６】
代替方法として、ステップ６０６および６０７は、文字ベースの表現の生成（ステップ６０４−６０５）の前か同時に実行されてもよい。さらに、ステップ６０７は、ステップ６０６の前か同時に実行されてもよい。さらにまた、情報層がない場合はステップ６０６は完全に除かれてよい。
【００７７】
ステップ６０８では、ページ記述ファイル６２がまとめられる。ページ記述ファイル６２は、フォント定義およびその識別子ならびにページ記述コードを含む。ページ記述ファイルは、プリンタ６１に文書を印刷させるためにプリンタ６１へ転送されてよい。こうして、プリンタ６１は、ページ記述ファイル６２を適切な方法で処理して、図４Ｂを参照して上述したように、印刷を行う。
【００７８】
上記のページ記述ファイルの生成は、好適には、コンピュータプログラムの制御下でコンピュータ６０の処理ユニットにより実行され、コンピュータプログラムは、記録媒体に組み込まれてもよいし、コンピュータメモリに格納されてもよいし、読み取り専用メモリに組み込まれてもよいし、電気的な搬送信号で伝達されてもよい。コンピュータ６０は、ページ記述ファイルをプリンタ６１へ転送する通信ユニットをさらに備える。通信ユニットは、情報をコンピュータから転送し得る任意のユニットであってよく、例えばＵＳＢ、ＦｉｒｅＷｉｒｅ、ＩｒＤＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、イーサネット（登録商標）、パラレルポート、モデムなどでよい。
【００７９】
上記では、本方法が、ページ記述ファイルを作成するコンピュータにより実行されるものとして述べた。しかしながら、識別子および／またはフォント定義はプリンタで作成されてもよいことに留意されたい。その場合、プリンタへ転送されたページ記述ファイルは、ページ記述コードと、コード化パターンの形態を定義するパラメータとを備えるだけでよい。そして、プリンタの処理部が、フォント定義および定義識別子を形成するために、コード化パターンの形態を定義するパラメータを処理する。そして、ラスタ化された画像が、ページ記述コードと、フォント定義と、定義識別子とに基づいて形成される。そして、ラスタ化された画像をプリンタの印刷エンジン制御部に送ることによって、ページの印刷が行われる。
【００８０】
常に単一のフォント定義が使用されるわけではないことについてはいくつかの異なる理由があり、これらの理由により、コード化パターンのパラメータを変更させたり、フォント定義を識別子と共に形成させ標識付けさせたりすることの必要性が説明される。
【００８１】
第１に、特定のプリンタのプリンタ特性への適応が必要となる場合がある。異なる２つのプリンタが、互いの完全な複写となるように文書を印刷することはない。重要なのは、コード化パターンが正しく翻訳されるように、コード化パターンを正確に印刷することである。従って、使用される各プリンタは、コード化パターンを正確に印刷するように設定される必要がある場合がある。これは、コード化パターンのパラメータをプリンタ特性に合うように設定することによって達成される。正しいパラメータは、どんなパラメータが最良の結果をもたらすかを実験的に試すことにより決定され得る。
【００８２】
しかしながら、コード化パターンのパラメータを使用されるプリンタに適応させたとしても、時間の経過とともにパラメータを変更する必要がある場合があり、従って使用されるフォント定義を変更する必要がある場合がある。例えば、プリンタの印刷品質は、プリンタの部品が経年変化したり摩耗したりするのにつれて変化する。また、印刷品質は、プリンタのインク供給部のインクの品質にも依存し、これは米国特許出願公開第２００５／００５２７０７号明細書に記載されている通りである。こうした印刷品質の時間的変化により、コード化パターンのパラメータを変更する必要が生じる場合がある。さらに、印刷品質は、湿度や温度のような外部パラメータに依存する場合がある。
【００８３】
従って、プリンタは、印刷品質に影響を及ぼすそのような特性を検知できてもよい。そのような特性が変化したら、コード化パターンのハードコピーが不変のまま実際に印刷されるように、フォント定義を変更する必要があり得る。これは、新しいフォントを作成する必要が生じることを意味する。コンピュータは、フォント定義が作成されてページ記述ファイルがプリンタへ転送される前に適切な特性の情報を提供するようにプリンタに要求してよい。そして、この情報は、コード化パターンの所望のハードコピーを得るための正しいフォント定義を決定するのに用いられる。
【００８４】
あるいは、プリンタ自体がそのような特性の変化を認識してもよく、それに応じてプリンタが印刷で使用される新しいフォント定義を作成してもよい。また、プリンタが、例えば、ドットの大きさまたは形のような、印刷された実際のパラメータを分析するセンサを用いて、印刷品質を直接検出できてもよい。そして、プリンタは、分析結果に応じてフォント定義を適応させてよい。印刷品質が許容できないものであると検出された場合または特性の変化が検出された場合は、プリンタは、印刷ジョブを一時的に中断してフォント定義とラスタ化された画像（または複数の画像）を更新してから印刷ジョブの印刷を再開するようにしてよい。
【００８５】
完全を期すため、図７に、本発明に係るコード化パターンを印刷するのに用いられ得る従来のデジタルプリンタの、いくつかの主要部品を示す。そのようなデジタルプリンタは、主処理部７０（例えばＣＰＵ、マイクロプロセッサ）と、作業メモリ７１（例えばＲＡＭ）と、記憶メモリ７２（例えばＲＯＭ、ＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ）と、フォントキャッシュメモリ７３と、ラスタイメージプロセッサ（ＲＩＰ）７４と、印刷エンジン制御部７５と、通信インターフェース７６（例えばＵＳＢ、ＦｉｒｅＷｉｒｅ、ＩｒＤＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、イーサネット（登録商標）、パラレルポート、モデム）とを含んでよく、これらはバス構造７７で相互に接続される。記憶メモリ７２は、主処理部７０およびＲＩＰ７４のためのソフトウェアと、構成データとを保持する。主処理部７０は、通信インターフェース７６を介してページ記述ファイルを受信すると、ＲＩＰ７４を動作させ、フォントキャッシュメモリ７３を用いてページ記述コードをラスタ化された画像に変換し、ラスタ化された画像は作業メモリ７１に格納される。任意に、ページ記述ファイルを処理してコード化層および情報層を２つの別々の画像で生成するようにしてもよい。そして、印刷エンジン制御部７５が動作させられて、作業メモリ７１からラスタ化された画像（または複数の画像）を取り出し、印刷エンジン７８を制御して、ラスタ化された画像（または複数の画像）のハードコピーを生成させる。また、プリンタは、印刷品質を分析するか印刷品質に影響を及ぼす特性を検出するセンサ７９も備えてよい。センサ７９は、適切なフォント定義を作成するために処理部７０に情報を入力するか、または通信インターフェース７６を介してコンピュータに情報を提供してよく、それにより、フォント定義を設計する際にコンピュータが特性に対処し得るようにする。
【００８６】
以上、いくつかの実施の形態を参照して本発明をおおむね説明した。しかしながら、当業者が容易に認めるように、上に開示したものとは別の実施の形態が、添付の特許請求の範囲によってのみ規定され制限される本発明の精神と範囲内において、等しく可能である。
【００８７】
例えば、文字定義セットは、フォント定義である必要はない。代替の実施の形態において、文字定義は、フォント文字の代わりにファンクション／プログラム呼び出しを記号群と関連付ける。図３Ｄは、ページ記述ファイルにおいて図２のコード化パターンを表し得るファンクション／プログラム呼び出しのセットを示す。このようなページ記述ファイルは、余白と文字との各組み合わせが固有の１×３記号群を生成するプリンタ命令を表している文字定義に基づくことになる。「＿ｎ」の代わりに「＿！」が記号群＿ｒ＿ｄ＿ｌを表すのに用いられていることに気付かれるであろうが、「＿ｎ」は、ポストスクリプト言語ではあらかじめ定義された意味（改行）を有するのである。また、プリンタがファンクション／プログラム呼び出しの結果をキャッシュメモリに格納するようにする命令を、ページ記述ファイルが含み得ることに留意されたい。これは、そうすることによってプリンタの処理速度を上げるためである。そして、プリンタは、呼び出しをいちいち実行する代わりに、単に対応する結果をキャッシュメモリから取り出せばよい。
【００８８】
さらに、コード化パターンがいくつかの別の方法で構成され得ることに留意されたい。大まかに言って、上記の方法論は、繰り返し生じる記号群の有限な集合で構成されるあらゆるコード化パターンのオンデマンド印刷を従来のプリンタで迅速に行うのに有用であり得る。従って、上記のコード化パターンは、説明のみを目的として述べられている。このコード化パターンにおいても他の適切なコード化パターンにおいても、コード記号は有限個の所定の区別可能な図形的状態を有してよく、そのような状態がそれぞれ、記号のコード化値（コーディング値）を与えるようにされる。図形的状態は、関連空間基準点に対するコードマークのずれの大きさ、関連空間基準点に対するコードマークのずれの方向、コードマークの形、コードマークの大きさ（直径、表面積等）、コードマークの色（色相、グレースケール、テクスチャ等）、または上記の任意の組み合わせで表されてよい。例えば、コード化パターンは大きさの異なる２つのコードマークで構成されてよく、それによりコードマークの大きさで１ビットの情報をコード化してよい。コード化パターンは前述の国際公開第００／７３９８３号でさらに説明されており、当該出願はこの引用によりここに組み込まれているものとする。また、コードマークは、図２を参照して説明したようにずらされ、かつ異なる大きさを備えてもよい。このパターンは、米国特許出願公開第２００３／００６６８９６号明細書に詳述されており、当該出願はこの引用によりここに組み込まれているものとする。
【００８９】
コード化パターンの他の例は、米国特許出願公開第２００５／０１７３５４４号明細書、米国特許出願公開第２００５／０１４７２９９号明細書、米国特許第６，０７６，７３８号明細書、米国特許第６，０００，６１３号明細書、米国特許第５，２４５，１６５号明細書、および米国特許第５，２２１，８３３号明細書に記載されている。
【００９０】
さらに、コード化パターンの他の形態パラメータによって図２のコード化パターンまたは他のコード化パターンを扱うことも考えられる。そのような他のパラメータは、例えばコードマークの形、コードマークの色、コードマークの配置の幾何学的形状（垂直な配置、水平な配置、斜めの配置、角度のある配置等）、コードマークの角度のついた回転、コードマークの表面積、記号１個当たりのマーク数などであってよい。
【００９１】
上記ではコード化パターンのコード記号が位置などのデータをコード化することを述べたが、コード化パターンは単に基準位置の情報をコード化するだけでよいことに留意されたい。
【００９２】
また、上記では、プリンタが、コード化パターンの形態を定義するパラメータの入力に基づいてフォント定義および定義識別子を生成できてよいことについても述べた。しかしながら、コード化パターンの情報を含むデータベースをプリンタ自体が有してもよい。そして、プリンタは、印刷されるコード化層のデジタル表現を内部メモリから取り出せてよい。そして、プリンタ自体が、コード化層と、生成されたフォント定義と、生成された定義識別子とを用いて、ページ記述コードを生成できるようになる。こうして、ページ記述コードはオンデマンドで印刷されてよく、情報層はプリンタへ転送されても転送されなくてもよい。
【図１】
2010506767.tif 000003
【図２】
2010506767.tif 000004
【図３Ａ】
2010506767.tif 000005
【図３Ｂ】
2010506767.tif 000006
【図３Ｃ】
2010506767.tif 000007
【図３Ｄ】
2010506767.tif 000008
【図４Ａ】
2010506767.tif 000009
【図４Ｂ】
2010506767.tif 000010
【図５】
2010506767.tif 000011
【図６Ａ】
2010506767.tif 000012
【図６Ｂ】
2010506767.tif 000013
【図６Ｃ】
2010506767.tif 000014
【図７】
2010506767.tif 000015
【国際調査報告】
2010506767.tif 000016
2010506767.tif 000017
2010506767.tif 000018
2010506767.tif 000019
2010506767.tif 000020
2010506767.tif 000021