(57)【特許請求の範囲】
【請求項１】
入力画像のサイズおよび印刷時の縮倍率の情報を含む印刷指示を受け付ける印刷指示受け付け部と、
画像領域中で指定された特定の点または領域の位置を当該画像領域中の他の位置から識別するために当該画像領域全体に割り当てた位置識別情報を、前記印刷指示受け付け部により受け付けた前記印刷指示に含まれる前記入力画像のサイズおよび前記縮倍率に基づいて、当該入力画像における特定の点または領域の位置を表す位置識別情報と出力画像における当該特定の点または領域の位置を表す位置識別情報とが対応するように調整して生成する位置識別情報生成部と、
前記位置識別情報生成部により生成された位置識別情報を所定のビットパターンで記述したコード画像を生成するコード画像生成部と、
前記入力画像と前記コード画像生成部により生成された前記コード画像とを重ね合わせて印刷する印刷部とを備えることを特徴とする画像形成装置。
【請求項２】
前記位置識別情報生成部は、前記印刷指示に含まれる前記縮倍率に基づいて前記入力画像が拡大される場合に、生成した前記位置識別情報に対して、当該縮倍率に応じた間隔で冗長な位置識別情報を補充することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記位置識別情報生成部は、前記印刷指示に含まれる前記縮倍率に基づいて前記入力画像が拡大される場合に、当該縮倍率に応じて位置識別情報の生成領域を拡大し、拡大された領域に対して新たな位置識別情報を補充することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記位置識別情報生成部は、前記印刷指示に含まれる前記縮倍率に基づいて前記入力画像が縮小される場合に、当該縮倍率に応じた間隔で、生成した前記位置識別情報を間引くことを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記位置識別情報生成部は、前記印刷指示に含まれる前記縮倍率に基づいて前記入力画像が縮小される場合に、当該縮倍率に応じて位置識別情報の生成領域を縮小し、生成した位置識別情報を削除することを特徴とする請求項１に記載の画像形成装置。
【請求項６】
前記位置識別情報生成部は、前記印刷指示受け付け部により受け付けた前記印刷指示に含まれる前記入力画像のサイズおよび前記縮倍率に基づいて、出力画像の画像領域全体に割り当てる位置識別情報として、当該出力画像の当該画像領域の一の角を原点とし、当該画像領域の縦方向に延びる座標軸と横方向に延びる座標軸とによって構成される第１の座標系と、当該画像領域の当該一の角とは対角に位置する他の角を原点とし、当該第１の座標系の当該縦方向に延びる座標軸に平行な座標軸と当該第１の座標系の当該横方向に延びる座標軸に平行な座標軸とによって構成される第２の座標系との２種類の座標系による位置識別情報を生成することを特徴とする請求項１に記載の画像形成装置。
【請求項７】
前記コード画像生成部は、前記位置識別情報生成部により生成された２種類の前記位置識別情報を記述する前記ビットパターンを、当該位置識別情報の単位ごとに交互に配置して前記コード画像を生成することを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記コード画像生成部は、前記コード画像において、前記位置識別情報と共に当該位置識別情報を復号するために用いられる補助情報を前記ビットパターンにより記述することを特徴とする請求項６に記載の画像形成装置。
【請求項９】
文書画像と当該文書画像の画像領域中で指定された特定の点または領域の位置を当該画像領域中の他の位置から識別するために当該画像領域全体に割り当てた位置識別情報を所定のビットパターンで記述したコード画像とを重ね合わせて印刷された印刷媒体から画像を入力する画像入力部と、
前記画像入力部により入力された画像に関して、印刷時の画像サイズの情報を含む印刷指示を受け付ける印刷指示受け付け部と、
前記印刷指示受け付け部により受け付けた前記印刷指示に含まれる前記画像サイズに基づいて、前記入力された画像における特定の点または領域の位置を表す位置識別情報と出力する画像における当該特定の点または領域の位置を表す位置識別情報とが対応するように、出力する画像の画像領域全体に割り当てる位置識別情報を生成する位置識別情報生成部と、
前記位置識別情報生成部により生成された位置識別情報を所定のビットパターンで記述したコード画像を生成するコード画像生成部と、
前記画像入力部により入力された画像と前記コード画像生成部により生成された前記コード画像とを重ね合わせて印刷する印刷部とを備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、細かなパターンを用紙上に形成してコード情報を記述する画像形成装置およびコード情報の読み取りにおける画像処理方法に関する。
【背景技術】
【０００２】
近年、細かなドットが印刷された特殊な用紙（シート状の各種媒体を含む）を用い、ユーザがこの用紙上に手書きした文字やイメージなどを電子情報（データ）として取り込む技術が注目されている。取り込まれたデータは、パソコンや携帯電話などに転送され、磁気ディスク装置その他の記憶装置に格納して保存したり、電子メールとして送信したりすることが可能となる。この技術では、この特殊な用紙に例えば０.３ｍｍ程度の間隔で小さなドットが印刷され、所定の大きさのグリッドに含まれるドットが、グリッドごとに全て異なるパターンを描くように構成されている。このパターンはアドレス等の位置情報を表すことができる。そこで、例えばデジタルカメラ等の光学的読み取り手段を内蔵した専用のペンデバイスを用いてパターンを読み込むことで、この特殊な用紙上でのペン先の位置や移動軌跡を特定することが可能となる。そして、このペン先の位置や移動軌跡の情報を処理することにより、用紙上に書かれた手書きの文字やイメージを電子情報として利用することが可能となる。
【０００３】
この種の技術では、テキストやイメージを記載した電子文書と上記のパターンとを重ね合わせて用紙に印刷することも可能である。この場合、電子文書のレイアウトに応じて上述した位置情報を設定することも考えられる。また、用紙に書き込まれるパターンによって、種々のコード情報を記述することも行われる。コード情報としては、用紙に対する印刷が行われた日時や用紙を特定する媒体ＩＤ、用紙に印刷された電子文書を特定する文書ＩＤ、印刷装置の装置ＩＤ等の情報を含めることができる。このようなコード情報を用紙に記述しておくことにより、上述したペンデバイス等の読み取り手段で読み取ったパターンを解析してコード情報を取得し、文書管理や認証に用いることが可能となる。なお、上述の位置情報もコード情報に含まれる。
【０００４】
この種の従来技術としては、例えば、コンピュータユニットが、全体的位置コーディングパターン中のセクションの境界を記述する境界情報を発生させ、プリンタユニットが、この境界情報に基づいてパターンを記述する図形情報を発生させてプリントアウトする技術が存在する（例えば、特許文献１参照）。また、特許文献１には、生成されたパターン（図形情報）と視覚情報を重畳させてプリントアウトする技術が開示されている。
【０００５】
また、この種の他の従来技術としては、コードシンボル（パターン）が印刷された文書を複写する際に、原稿文書に含まれるコードシンボルを確認し、用紙に対して原稿と同じコードシンボルを印刷する技術が存在する（例えば、特許文献２）。
【０００６】
【特許文献１】特表２００４−５２８６４４号公報
【特許文献２】特開２００３−２３５１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、電子文書の画像（以下、文書画像）に上記のようなコード情報をパターンで記述した画像（以下、コード画像）が重ね合わされて印刷されている用紙を拡大または縮小して複写する場合を考える。この場合、文書画像と共にコード画像を単純に拡大または縮小してしまうと、コード画像を構成するパターンのサイズや位置が元のコード画像とは異なってしまうため、読み取り手段による読み取り精度の低下を招くこととなる。
【０００８】
しかし、従来の用紙上にコード画像を形成する技術では、画像を拡大または縮小して複写する場合に、コード画像の読み取り精度の低下を回避する方策が考慮されていない。例えば、上述した特許文献１、２においても、原稿を印刷または複写する際に画像を拡大または縮小することについては言及されていない。
【０００９】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、原稿を印刷または複写する際に画像が拡大または縮小されても、読み取り手段によるコード画像の読み取り精度を低下させないようにすることにある。
【課題を解決するための手段】
【００１０】
かかる目的を達成するために、本発明は、次のような画像形成装置として実現される。この装置は、入力画像のサイズおよび印刷時の縮倍率の情報を含む印刷指示を受け付ける印刷指示受け付け部と、入力画像上の位置を示す位置情報を、印刷指示受け付け部により受け付けた印刷指示に含まれる入力画像のサイズおよび縮倍率に基づいて調整して生成する位置情報生成部と、この位置情報生成部により生成された位置情報を所定のビットパターンで記述したコード画像を生成するコード画像生成部と、入力画像とコード画像生成部により生成されたコード画像とを重ね合わせて印刷する印刷部とを備える。
【００１１】
より詳細には、位置情報生成部は、印刷指示に含まれる縮倍率に基づいて入力画像が拡大される場合に、生成した位置情報に対して、縮倍率に応じた適切な間隔で冗長な位置情報を補充する。あるいは、縮倍率に応じて位置情報の生成領域を拡大し、拡大された領域に対して新たな位置情報を補充する。また、位置情報生成部は、印刷指示に含まれる縮倍率に基づいて入力画像が縮小される場合に、縮倍率に応じた適切な間隔で、生成した位置情報を間引く。あるいは、縮倍率に応じて位置情報の生成領域を縮小し、生成した位置情報を削除する。
【００１２】
また、好ましくは、位置情報生成部は、印刷指示受け付け部により受け付けた印刷指示に含まれる入力画像のサイズおよび縮倍率に基づいて、出力画像上の位置を示す位置情報として、出力画像の対角を原点とする２種類の座標系による位置情報を生成する。そして、コード画像生成部は、位置情報生成部により生成された２種類の位置情報を記述するビットパターンを、位置情報の単位ごとに交互に配置してコード画像を生成する。さらに、コード画像生成部は、コード画像において、位置情報と共にこの位置情報を復号するために用いられる補助情報をビットパターンにより記述する。
【００１３】
また、本発明は、次のような画像形成装置としても実現される。この装置は、文書画像と文書画像上の位置を示す位置情報を所定のビットパターンで記述したコード画像とを重ね合わせて印刷された印刷媒体から画像を入力する画像入力部と、この画像入力部により入力された画像に関して、印刷時の画像サイズの情報を含む印刷指示を受け付ける印刷指示受け付け部と、この印刷指示受け付け部により受け付けた印刷指示に含まれる画像サイズに基づいて出力画像上の位置を示す位置情報を生成する位置情報生成部と、この位置情報生成部により生成された位置情報を所定のビットパターンで記述したコード画像を生成するコード画像生成部と、画像入力部により入力された画像とコード画像生成部により生成されたコード画像とを重ね合わせて印刷する印刷部とを備える。
【００１４】
一方、本発明は、次のような画像生成システムとしても実現される。このシステムは、印刷媒体のサイズに基づき、印刷媒体上の位置を示す位置情報として、出力画像の対角を原点とする２種類の座標系による位置情報を生成する位置情報生成部と、この位置情報生成部により生成された２種類の位置情報を記述する所定のビットパターンを、印刷媒体の該当する位置に交互に配置してコード画像を生成するコード画像生成部とを備える。
【００１５】
さらに本発明は、コンピュータによる次のような画像処理方法として実現することもできる。この方法は、所定のビットパターンでコード情報を記述したコード画像が印刷された媒体からコード画像を入力するステップと、入力されたコード画像からコード画像を構成するビットパターンを検出するステップと、検出されたビットパターンの列に基づいてコード画像における情報の単位である単位ブロックのサイズを推定するステップと、推定された単位ブロックのサイズに基づいてビットパターンの列からコード情報を復元するステップとを含む。
【００１６】
より詳細には、単位ブロックのサイズを推定するステップは、コード画像において単位ブロックごとに記述される位置コードのサイズおよび位置コード間の間隔を仮定するステップと、仮定した位置コードのサイズおよび位置コード間の間隔でビットパターンの列を解析して情報を復号し、復号された情報が適切な位置コードか否かを判断するステップと、復号された情報が適切な位置コードであった場合に、仮定した位置コードのサイズおよび位置コード間の間隔に基づいて得られる単位ブロックのサイズを、コード画像における単位ブロックのサイズと推定するステップとを含む。
【発明の効果】
【００１７】
以上のように構成された本発明は、原稿を印刷または複写する際に画像が拡大または縮小されても、読み取り手段によるコード画像の読み取り精度を低下させないようにすることが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、実施形態）について詳細に説明する。
本発明は、印刷または複写する原稿の画像を拡大または縮小した場合にもコード画像の読み取り精度を低下させないための方策として、次の２つの手法を提案する。１つは、画像の拡大または縮小に応じてコード情報を補充したり削減したりすることにより、コード画像を構成するパターンのサイズを変更することなく印刷する手法である。他の１つは、読み取り手段によりコード画像を読み取る際に、コード画像を構成するパターンの配置間隔を調べて画像の縮倍率を特定し、得られた縮倍率にしたがってコード画像の読み取り結果を解析してコード情報を取得する手法である。以下、この２つの手法に対応する２つの実施形態を挙げ、本発明を説明する。
【００１９】
＜第１の実施形態＞
第１の実施形態は、画像の拡大または縮小に応じてコード情報を補充しまたは削減することにより、コード画像を構成するパターンのサイズを変更することなく画像の拡大または縮小に対応する。本実施形態は、主としてプリンタや複写機等の画像形成装置として実現することができる。
コード画像は、一般に、人間の目で容易に識別できない（ほぼ不可視の）色材を使用して形成される（以下、簡単のため、このコード画像を形成する色材については単に「不可視」と記述する）。これは、コード画像が形成された紙面上に文字等が手書きされた場合やコード画像と共に電子文書の画像が重畳して印刷された場合に、これらの手書きイメージや文書画像とコード画像とが混在して視認されるために画像イメージが識別し難くなることを回避するためである。また、コード画像は、専用の読み取り手段によって読み取れれば良い。そこで、可視光領域の光線を透過し、かつ可視光以外の領域（例えば近赤外領域）の光線における吸収率が高い色材を用いてコード画像を描画する。そして、読み取り手段が色材の性質に応じた光線を用いてコード画像を読み取るようにする。これにより、パターンの不可視性を確保しつつ、読み取り手段を用いた読み取りが可能となる。このコード画像を形成する色材の詳細については後述する。
【００２０】
図１は、第１の実施形態による画像形成装置のハードウェア構成例を示す図である。
図１に示す画像形成装置４００は、所謂タンデム型の装置であって、例えば、電子写真方式にて各色成分のトナー像が形成される複数の画像形成ユニット４１（４１Ｙ、４１Ｍ、４１Ｃ、４１Ｋ、４１Ｉ）、各画像形成ユニット４１にて形成された各色成分トナー像を順次転写（一次転写）して保持させる中間転写ベルト４６、中間転写ベルト４６上に転写された重ね画像を用紙（媒体）Ｐに一括転写（二次転写）させる二次転写装置４１０、二次転写された画像を用紙Ｐ上に定着させる定着装置４４０、原稿読み取り装置４５０、これら各構成要素の動作制御を行う制御装置４６０を備えている。
【００２１】
この画像形成装置４００では、常用色（通常色）であるイエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）のトナー像を形成する画像形成ユニット４１Ｙ、４１Ｍ、４１Ｃの他に、赤外に吸収を持たない黒（Ｋ）のトナー像を形成する画像形成ユニット４１Ｋ、不可視のトナー像を形成する画像形成ユニット４１Ｉがタンデムを構成する画像形成ユニット４１の一つとして設けられている。なお、トナーの組成については、後で詳しく述べる。
【００２２】
本実施形態において、各画像形成ユニット４１（４１Ｙ、４１Ｍ、４１Ｃ、４１Ｋ、４１Ｉ）は、矢印Ａ方向に回転する感光体ドラム４２の周囲に、これらの感光体ドラム４２を帯電させる帯電器４３、感光体ドラム４２上に静電潜像を書き込むレーザ露光器４４（図中露光ビームを符号Ｂｍで示す）、各色成分トナーが収容されて感光体ドラム４２上の静電潜像をトナーにより可視像化する現像器４５、感光体ドラム４２上に形成された各色成分トナー像を中間転写ベルト４６に転写する一次転写ロール４７、感光体ドラム４２上の残留トナーを除去するドラムクリーナ４８等の電子写真用デバイスが順次配設されている。これらの画像形成ユニット４１は、中間転写ベルト４６の上流側から、イエロー（Ｙ色）、マゼンタ（Ｍ色）、シアン（Ｃ色）、黒（Ｋ色）、不可視（Ｉ色）の順に配置されている。
【００２３】
また、中間転写ベルト４６は、各種ロールによって図に示す矢印Ｂ方向に回動可能に構成されている。この各種ロールとして、図示しないモータにより駆動されて中間転写ベルト４６を回動させる駆動ロール４１５、中間転写ベルト４６に対して一定の張力を与えると共に中間転写ベルト４６の蛇行を防止する機能を備えたテンションロール４１６、中間転写ベルト４６を支持するアイドルロール４１７、及び、バックアップロール４１２（後述）を有している。
【００２４】
また、一次転写ロール４７には、トナーの帯電極性と逆極性の電圧が印加されるようになっており、これにより各々の感光体ドラム４２上のトナー像が中間転写ベルト４６に順次、静電吸引され、中間転写ベルト４６上に重ねトナー像が形成されるようになっている。さらに、二次転写装置４１０は、中間転写ベルト４６のトナー像担持面側に圧接配置される二次転写ロール４１１と、中間転写ベルト４６の裏面側に配置されて二次転写ロール４１１の対向電極をなすバックアップロール４１２とを備えており、このバックアップロール４１２には二次転写バイアスが安定的に印加される金属製の給電ロール４１３が当接配置されている。そして、二次転写ロール４１１には、二次転写ロール４１１に付着した汚れを除去するブラシロール４１４が接触配置されている。
【００２５】
また、二次転写ロール４１１の下流側には二次転写後の中間転写ベルト４６の表面をクリーニングするベルトクリーナ４２１が設けられている。一方、二次転写ロール４１１の上流側には、画質調整を行なうための画像濃度センサ４２２が配設されている。更に、Ｙ色画像形成ユニット４１Ｙの上流側には、各画像形成ユニット４１における画像形成タイミングをとるための基準となる基準信号を発生する基準センサ（ホームポジションセンサ）４２３が配置されている。この基準センサ４２３は、中間転写ベルト４６の裏側に設けられた所定のマークを認識して基準信号を発生し、この基準信号の認識に基づく制御部（図示せず）からの指示により、各画像形成ユニット４１は画像形成を開始するように構成されている。
【００２６】
さらに、図示の画像形成装置４００は、用紙搬送系として、用紙Ｐを収容する用紙トレイ４３０、この用紙トレイ４３０に集積された用紙Ｐを所定のタイミングで取り出して搬送するピックアップロール４３１、ピックアップロール４３１にて繰り出された用紙Ｐを搬送する搬送ロール４３２、搬送ロール４３２により搬送された用紙Ｐを二次転写装置４１０による二次転写位置へと送り込む搬送シュート４３３、二次転写後の用紙Ｐを定着装置４４０へと搬送する搬送ベルト４３４を備えている。
原稿読み取り装置４５０は、読み取り用の光学系を備え、所定の媒体（用紙）に印刷されている画像（原稿）を光学的に読み取る。そして、読み取った画像を、上述した印刷機構により印刷する画像として、画像形成ユニット４１へ送る。
制御装置４６０は、以上の各動作を制御すると共に、原稿読み取り装置４５０により入力した画像に対してコード画像を重畳して、画像形成ユニット４１（４１Ｙ、４１Ｍ、４１Ｃ、４１Ｋ、４１Ｉ）に送る。この制御装置４６０の処理の詳細については後述する。
【００２７】
次に、この画像形成装置４００の作像プロセスについて説明する。
ユーザによりスタートスイッチ（図示せず）がオン操作されると、所定の作像プロセスが実行される。具体的に述べると、例えばこの画像形成装置４００をカラープリンタとして構成する場合には、ネットワーク等を介して入力したデジタル画像信号を制御装置４６０により処理した後、メモリに一時的に蓄積し、その蓄積されている５色（Ｙ、Ｍ、Ｃ、Ｋ、Ｉ）のデジタル画像信号に基づいて各色のトナー像形成を行わせるようにする。
【００２８】
すなわち、画像処理によって得られた各色の画像記録信号に基づいて画像形成ユニット４１（４１Ｙ、４１Ｍ、４１Ｃ、４１Ｋ、４１Ｉ）をそれぞれ駆動する。そして、各画像形成ユニット４１Ｙ、４１Ｍ、４１Ｃ、４１Ｋ、４１Ｉでは、帯電器４３により一様に帯電された感光体ドラム４２に対し、画像記録信号に応じた静電潜像が、レーザ露光器４４によりそれぞれ書き込まれる。また、書き込まれた各静電潜像を各色のトナーが収容される現像器４５により現像して各色のトナー像が形成される。
【００２９】
各感光体ドラム４２に形成されたトナー像は、各感光体ドラム４２と中間転写ベルト４６とが接する一次転写位置で、一次転写ロール４７により印加される一次転写バイアスにより感光体ドラム４２から中間転写ベルト４６の表面に一次転写される。このようにして中間転写ベルト４６に一次転写されたトナー像は中間転写ベルト４６上で重ね合わされ、中間転写ベルト４６の回動に伴って二次転写位置へと搬送される。
【００３０】
一方、用紙Ｐは、所定のタイミングで二次転写装置４１０の二次転写位置へと搬送され、中間転写ベルト４６（バックアップロール４１２）に対して二次転写ロール４１１が用紙Ｐをニップする。そして、二次転写ロール４１１とバックアップロール４１２との間に形成される二次転写電界の作用で、中間転写ベルト４６に担持された重ねトナー像が用紙Ｐに二次転写される。
その後、トナー像が転写された用紙Ｐは、搬送ベルト４３４によって定着装置４４０へと搬送され、トナー像の定着が行われる。一方、二次転写後の中間転写ベルト４６は、ベルトクリーナ４２１によって残留トナーが除去される。
【００３１】
ここで、画像形成装置４００で使用されるトナーについて詳細に説明する。
まず、画像形成ユニット４１Ｙにて用いられるＹトナー、画像形成ユニット４１Ｍにて用いられるＭトナーおよび画像形成ユニット４１Ｃにて用いられるＣトナーには、従来から使用されているトナーを用いる。
これに対し、本実施形態では、画像形成ユニット４１Ｋにて用いられるＫトナーとして、特殊なトナーを用意する。従来から使用されている（カーボンブラックを黒色の色剤とする）Ｋトナーは、赤外光を吸収してしまうため、不可視トナーにより埋め込まれた情報を赤外光照射により読み取る本システムにおいて、情報が埋め込まれない通常の画像を形成するのに用いるのは適切ではないからである。すなわち、本実施形態では、赤外光の吸収率が極めて低く、かつ、黒色を印字可能なトナーをＫトナーとして採用することとする。このようなトナーとしては、Ｙトナー、Ｍトナー、Ｃトナーを混合して得られるトナーが例示される（通常、これらイエロー、マゼンタ、シアンの色材は赤外域の波長の吸収量が少ない）。
なお、従来から使用されているＫトナーとは性質の異なるものを用いてはいるが、本明細書では、このような特殊なトナーも便宜上、「Ｋトナー」として表記するものとする。
【００３２】
また、画像形成ユニット４１Ｉにて用いられる不可視トナーとしては、例えば、特開２００３−１８６２３８号公報に記載された材料、すなわち、結着樹脂と、無機材料粒子からなる近赤外光吸収材料とを含むものを用いることが考えられる。
ここで、結着樹脂としては、具体的には、ポリスチレン、スチレン−アクリル酸アルキル共重合体、スチレン−メタクリル酸アルキル共重合体、スチレン−アクリロニトリル共重合体、スチレン−ブタジエン共重合体、スチレン−無水マレイン酸共重合体、ポリエチレン、ポリプロピレン等が挙げられる。
また、近赤外光吸収材料としては、少なくともＣｕＯとＰ２Ｏ５を含む無機材料粒子を用いることができる。なお、不可視トナー粒子中におけるＣｕＯの含有濃度は、６質量％〜３５質量％の範囲が好ましく、１０質量％〜３０質量％の範囲がより好ましい。さらに、無機材料粒子は、不可視トナー中における無機材料粒子の均一分散性と、電子写真用の記録材料として必要となる適度な負極摩擦帯電性とを得るため、ＣｕＯ、Ａｌ２Ｏ３、Ｐ２Ｏ５およびＫ２Ｏを必須の構成成分とする銅燐酸結晶化ガラスからなることが好ましい。この銅燐酸結晶化ガラスの組成は、ＣｕＯが２０質量％〜６０質量％の範囲であり、Ａｌ２Ｏ３が１質量％〜１０質量％の範囲であり、Ｐ２Ｏ５が３０質量％〜７０質量％の範囲であり、Ｋ２Ｏが１質量％〜１０質量％の範囲であることが好ましい。
【００３３】
画像形成装置４００は、上述のように特定の赤外領域の波長が可視光量域の波長より多く吸収される特性を有する不可視の色材を使用して、コード画像を形成する。一方、文書画像等の画像イメージについては、可視光領域の波長を多く吸収する特性を有する可視の色材を使用して形成する。
【００３４】
次に、本実施形態の画像形成装置４００にて印刷されるコード画像について、具体的なパターン（図形情報）の構成例を挙げて説明する。
図２（Ａ）〜（Ｃ）は、本実施形態で用いられるコード画像の構成例を説明するための図であり、図２（Ａ）は不可視画像によって形成され、配置されるコード画像の単位を模式的に示すために格子状に表現した図、図２（Ｂ）は不可視画像が赤外光照射により認識されたコード画像における情報の１単位（以下、単位ブロック）を示した図、図２（Ｃ）は、バックスラッシュ「＼」とスラッシュ「／」の斜線パターン（図形情報）を説明するための図である。
【００３５】
画像形成装置４００にて形成されるコード画像は、例えば、可視光領域（４００ｎｍ〜７００ｎｍ）における最大吸収率が例えば７％以下であり、近赤外領域（８００ｎｍ〜１０００ｎｍ）における吸収率が例えば３０％以上の不可視トナーによって形成される。また、この不可視トナーは、画像の機械読み取りのために必要な近赤外光吸収能力を高めるために、平均分散径は１００ｎｍ〜６００ｎｍの範囲のものが採用される。
【００３６】
この図２（Ａ）〜（Ｃ）に示すコード画像は、赤外光照射による機械読み取りと復号化処理とが長期にわたって安定して可能であり、かつ、情報が高密度に記録できる不可視画像として形成される。また、画像を出力する紙面（媒体表面）の可視画像が設けられた領域か否かとは関係なく、任意の領域に設けることが可能な不可視画像であることが好ましい。本実施形態では、印刷される用紙の大きさに合わせて紙面の全面に不可視画像が形成される。ただし、「全面」とは、用紙の四隅を全て含む意味ではない。電子写真方式等の装置では、通常、紙面の周囲は印刷できない範囲である場合が多い。したがって、この範囲には不可視画像は印刷されないこととなる。
【００３７】
図２（Ｂ）に示す単位ブロックは、コード画像における情報の１単位であり、媒体（用紙）上の座標位置を示す位置コードが格納される領域と、電子文書または印刷媒体を一意に特定するための識別コードが格納される領域とを含んでいる。また、同期コードが格納される領域も含んでいる。そして、図２（Ａ）に示すように、コード画像にはこの単位ブロックが複数、配置され、印刷される媒体の大きさに合わせて媒体一面（紙面）の全面に異なる位置情報（特許請求の範囲に記載された「位置識別情報」に相当）が格納されたコードが格子状に配置される。すなわち、媒体一面に、図２（Ｂ）に示すような単位ブロックが複数個、配置され、その各々が、位置コード、識別コードおよび同期コードを備えている。そして、複数の位置コードの領域には、それぞれ配置される場所により異なる位置情報が格納されている。なお、これら位置コード、識別コードおよび同期コードの他に、印刷指示の発行の際に生成される付加情報を記述する付加コードを含める構成とすることもできる。
【００３８】
図２（Ｂ）において、位置コードは、６ビット×６ビットの矩形領域内に配置されている。各ビット値は、回転角度が異なる複数の微小ラインビットマップで形成され、図２（Ｃ）に示される斜線パターン（パターン０とパターン１）で、ビット値０とビット値１を表現している。より具体的には、相互に異なる傾きを有するバックスラッシュ「＼」及びスラッシュ「／」を用いてビット０とビット１とを表現している。斜線パターンは６００ｄｐｉで８×８画素の大きさで構成されており、左上がりの斜線パターン（パターン０）がビット値０を、右上がりの斜線パターン（パターン１）がビット値１を表現する。したがって、１つの斜線パターンで１ビットの情報（０又は１）を表現できる。
【００３９】
これにより、図２（Ｂ）に示される位置コード領域には、合計３６ビットの位置情報が格納されることとなる。そして、この３６ビットのうち、１８ビットをＸ座標の符号化に、１８ビットをＹ座標の符号化に使用することができ、各１８ビットを全て位置の符号化に使用すると、２１８通り（約２６万通り）の位置を符号化することができる。各斜線パターンが図２（Ｃ）に示したように８画素×８画素（６００ｄｐｉ）で構成されている場合には、６００ｄｐｉの１ドットは０.０４２３ｍｍであることから、図２（Ｂ）の単位ブロック（同期コードを含む）の大きさは、縦横共に３ｍｍ程度（８画素×９ビット×０.０４２３ｍｍ）となる。
また、識別コードは、２ビット×８ビット及び６ビット×２ビットの矩形領域に配置されており、合計２８ビットの識別情報を格納できる。
【００４０】
図２（Ｃ）に示す例では、２つの斜線パターンは互いに角度が９０度異なるが、角度差を４５度とすれば４種類の斜線パターンを構成できる。このように構成した場合は、１つの斜線パターンで２ビットの情報（０〜３）を表現できる。すなわち、斜線パターンの角度種類を増やすことで、表現できるビット数を増加することができる。
【００４１】
以上、本実施形態で用いられるコード画像について説明したが、図２に示したパターンおよび単位ブロックを用いたコードは例示に過ぎず、これ以外にも種々の構成によるパターンを用いたコードを利用することが可能である。例えば、図２（Ｂ）、（Ｃ）に示したような斜線パターンではなく、黒丸「●」でドットを描き、そのサイズの大小で情報（０、１）を表すようにしても良い。また、格子状の仮想的なラスターパターンを想定し、そのラスター位置に対して一定量ずらした位置に黒丸「●」等のドットを描き、ラスター位置に対するドットのずれ方向によって情報（例えば、上下左右にずらすならば０〜３の２ビット）を表すことも可能である。
【００４２】
次に、本実施形態による画像形成装置４００の機能について説明する。
本実施形態において、画像形成装置４００は、所定の可視的な画像（以下、可視画像）が形成された原稿を複写する際に、光学的に読み取られた画像（原稿画像）に対して上述した位置コードや識別コードを含むコード情報が上記のパターンで記述されたコード画像を重ね合わせて印刷する。複写対象である原稿画像にコード画像が重畳されている場合であっても、この原稿画像に含まれるコード画像を複写するのではなく、出力される画像用に改めてコード画像を生成し重ね合わせる。したがって、原稿画像を光学的に読み取る際には、画像形成装置４００の原稿読み取り装置４５０は、可視画像のみを読み取り、不可視のコード画像は読み取らない。
【００４３】
また、画像形成装置４００は、通常の画像形成装置の機能として、複写対象である原稿画像を拡大または縮小して出力することができる。そして、本実施形態では、原稿画像を拡大または縮小して印刷する場合に、その縮倍率に応じて、コード画像を補正する。具体的には、画像を拡大する場合は、コード情報を付与する（すなわちコード画像を形成する）領域が広がるので、上述した単位ブロックを補充して対応する。反対に画像を縮小する場合は、コード情報を付与する領域が狭まるので、単位ブロックを削除して対応する。なお、以下の説明では、コード画像により位置情報（位置コード）が記述される場合を例として説明する。
【００４４】
図３は、本実施形態の画像形成装置４００の機能構成を示す図である。
図３を参照すると、画像形成装置４００は、印刷指示受け付け部１１と、原稿画像入力部１２と、位置情報生成部１３と、コード画像生成部１４と、印刷制御部１５と、印刷部１６とを備える。これらの構成のうち、印刷指示受け付け部１１、原稿画像入力部１２、位置情報生成部１３、コード画像生成部１４および印刷制御部１５は、例えば図１に示した制御装置４６０の機能として実現される。また、印刷部１６は、例えば図１を参照して説明した画像形成装置４００の印刷機構により実現される。
【００４５】
印刷指示受け付け部１１は、印刷対象を特定した印刷指示および印刷パラメータを取得する。この印刷パラメータには、原稿画像を印刷する際の縮倍率が含まれる。これらの印刷指示および印刷パラメータは、外部装置からネットワークを介して入力しても良いし、画像形成装置４００の筐体にコンソールパネル等の適当な入力手段を設け、この入力手段をユーザが操作することにより入力するようにしても良い。
【００４６】
原稿画像入力部１２は、複写対象である原稿画像を、例えば図１に示した原稿読み取り装置４５０から入力する。原稿画像に不可視のコード画像が重畳されている場合は、このコード画像を含まない可視画像のみが入力される。上述したように、本実施形態におけるコード画像は、可視光領域の光線を透過し、コード画像の読み取り手段による読み取りに用いられる特定の波長の光線（例えば赤外線）を吸収する色材により形成される。したがって、画像形成装置４００の原稿読み取り装置４５０において、フィルタリング等の手段により、この特定の波長の光線を除いて（例えば可視光のみで）読み取りを行うことにより、コード画像を読み取らずに、可視画像のみを読み取ることが可能である。
【００４７】
位置情報生成部１３（特許請求の範囲に記載された「位置識別情報生成部」に相当）は、コード画像によって記述される位置情報を生成する。この位置情報は、基本的には、原稿画像入力部１２により入力された原稿画像の画像サイズとコード画像の単位ブロックのサイズとに基づいて生成される。例えば、原稿画像の画像サイズがＡ４、すなわち２９７ｍｍ×２１０ｍｍであり、コード画像の単位ブロックが、図２（Ｂ）に示したように３ｍｍ四方である場合９９×７０＝６,９３０個のアドレスを生成することとなる。ただし、印刷パラメータにおいて画像の拡大または縮小が指示されている場合、位置情報生成部１３は、その縮倍率に応じて位置情報を生成する。この縮倍率を考慮した位置情報の生成方法の詳細については後述する。
【００４８】
コード画像生成部１４は、位置情報生成部１３により生成された位置情報を記述するコード画像を生成する。
印刷制御部１５は、原稿画像入力部１２により入力された原稿画像とコード画像生成部１４により生成されたコード画像とを重ね合わせて出力すべき画像(以下、出力画像)を生成し、この出力画像を印刷部１６により印刷させる。
印刷部１６は、印刷制御部１５の制御にしたがって、出力画像を用紙（印刷媒体）に印刷出力する。
【００４９】
次に、以上のように構成された画像形成装置４００により用紙に印刷されたコード画像を読み取る読み取りデバイスについて説明する。
コード画像の読み取りデバイスとしては、ペン型のデバイスやスキャナ型のデバイス等、種々のタイプが考えられる。しかしながら、用紙上での読み取りデバイスの移動軌跡をコード画像の読み取り結果から認識して手書きイメージを入力するためには、ペン型等のハンディタイプの読み取りデバイスを用いる必要がある。そこで、以下ではペン型の読み取りデバイス（以下、ペンデバイス）について説明する。
【００５０】
図４は、ペンデバイスの構成を示した図である。
このペンデバイス６００は、コード画像と文書画像とが合成されて印刷された用紙(媒体)に通常のペンと同様の操作により文字や図形を記録する筆記部６１と、筆記部６１の動きを監視しペンデバイス６００が用紙に押し付けられていることを検出する筆圧検出部６２とを備えている。また、ペンデバイス６００の全体の電子的な動作を制御する制御部６３と、用紙上のコード画像を読み取るために赤外光を照射する赤外照射部６４と、反射される赤外光を受光することによりコード画像を認識して入力する画像入力部６５とを備えている。
【００５１】
制御部６３は、コード取得部６３１と、軌跡算出部６３２と、情報記憶部６３３とを備えている。コード取得部６３１は、画像入力部６５から入力された画像を解析してコードを取得する部分である。軌跡算出部６３２は、コード取得部６３１により取得したコードに対し、筆記部６１のペン先の座標と画像入力部６５が捕捉した画像の座標とのずれを補正してペン先の軌跡を算出する部分である。情報記憶部６３３は、コード取得部６３１が取得したコードや軌跡算出部６３２が算出した軌跡情報を記憶する部分である。
【００５２】
図５は、ペンデバイス６００の主に制御部６３にて実行される処理を示したフローチャートである。
ペンデバイス６００を用いて、例えば用紙に文字や図形の記録が行われると、制御部６３は、用紙に対してペンによる記録が行われていることの検出信号を筆圧検出部６２から取得する（ステップ６０１）。この検出信号を検出すると、制御部６３は、赤外照射部６４に対し、赤外光を用紙に照射するように指示する（ステップ６０２）。赤外照射部６４によって用紙に照射される赤外光は不可視画像にて吸収され、それ以外の部分では反射される。画像入力部６５ではこの反射された赤外光を受光し、赤外光が反射されなかった部分をコード画像として認識する。制御部６３は、画像入力部６５からこのコード画像を入力（スキャン）する（ステップ６０３）。
【００５３】
その後、制御部６３のコード取得部６３１では、ステップ６０４〜ステップ６１０に示すコード画像検出処理が実行される。まず、コード取得部６３１は、入力されたスキャン画像を整形する（ステップ６０４）。このスキャン画像の整形は、傾き補正やノイズ除去等である。そして、整形されたスキャン画像からスラッシュ「／」やバックスラッシュ「＼」等のビットパターン（斜線パターン）を検出する（ステップ６０５）。また一方で、整形されたスキャン画像から、コード画像における単位ブロックの位置決め用のコードである同期コードを検出する（ステップ６０６）。コード取得部６３１は、この同期コード位置に基づいて単位ブロックを検出する（ステップ６０７）。また、コード画像の情報単位である単位ブロックからＥＣＣ（Error Correcting Code：誤り訂正符号）等の情報を取り出し復号する（ステップ６０８）。そして、復号した情報を元の情報に復元する（ステップ６０９）。
【００５４】
制御部６３のコード取得部６３１では、以上のようにして復元したコード情報から位置情報及び識別情報を取り出し、取り出した情報を情報記憶部６３３に記憶する（ステップ６１０）。その一方で、軌跡算出部６３２は、情報記憶部６３３に格納された位置情報からペン先の軌跡を算出し、情報記憶部６３３に記憶する（ステップ６１１）。この情報記憶部６３３に記憶された識別情報、軌跡情報等の記憶情報は、例えば、読み取り情報を管理するサーバ等に有線又は無線で送信される（ステップ６１２）。そして、このサーバ等において、読み取り情報を所定の電子文書に反映させる等の処理が行われる。
【００５５】
次に、上述した本実施形態によるコード情報の生成方法について詳細に説明する。
原稿画像を複写する際に拡大または縮小する場合、最も簡単な対応方法としては、出力画像において重ね合わされるコード画像を、原稿画像の画像サイズに関わらず、出力画像の（すなわち拡大または縮小された）画像サイズに合わせて作成する方法が考えられる。この場合、例えば原稿画像の画像サイズがＡ４であり、縮倍率が１．４倍である場合、この縮倍率に合わせて、位置情報（アドレス）を生成する範囲をＡ３相当の領域に拡大する。コード画像が図２（Ｂ）に示した３ｍｍ四方の単位ブロックで構成されるならば、１４０×９９＝１３,８６０個のアドレスを生成することとなる。反対に、原稿画像の画像サイズがＡ４であり、縮倍率が０．７倍である場合、この縮倍率に合わせて、位置情報（アドレス）を生成する範囲をＡ５相当の領域に縮小する。コード画像が図２（Ｂ）に示した３ｍｍ四方の単位ブロックで構成されるならば、７０×４９＝３,４３０個のアドレスを生成することとなる。
【００５６】
図６は、画像の縮倍率に合わせて位置情報の生成範囲を拡大または縮小する様子を模式的に示す図である。
ここでは、アドレス値を１０進数４桁の数字で表し、上２桁の数値でＸ方向（横方向）の座標値を示し、下２桁の数値でＹ方向（縦方向）の座標値を示すものとする。図６（Ａ）の領域には２４（＝４×６）個のセルが設定されて、００００から０３０５までのアドレスが割り当てられている。また、図６（Ｂ）の領域には５４（＝６×９）個のセルが設定されて、００００から０５０８までのアドレスが割り当てられている。なお、図示の例では、原点［００００］の位置が、共に領域の左上隅に設定されている。また図６において、図６（Ａ）に示す領域を１５０％の縮倍率で拡大したものが、図６（Ｂ）に示す領域に相当する。一方、図６（Ｂ）に示す領域を６６％の縮倍率で縮小したものが、図６（Ａ）に示す領域に相当する。
【００５７】
したがって、図６を参照すると、図６（Ａ）に示す領域を有する原稿画像が１５０％の縮倍率で拡大される場合には、図６（Ｂ）に示すように位置情報の生成範囲が拡大されてアドレスが生成されることがわかる。反対に、図６（Ｂ）に示す領域を有する原稿画像が６６％の縮倍率で縮小される場合には、図６（Ａ）に示すように位置情報の生成範囲が縮小されてアドレスが生成されることがわかる。
【００５８】
さて、上記のように画像の縮倍率に合わせて位置情報の生成範囲を拡大または縮小する方法では、原稿画像にコード画像が重畳されていた場合、その原稿画像のコード画像における位置情報と画像形成装置４００の出力画像に重ね合わされたコード画像の位置情報との間には関連がない。そして、原稿画像における可視画像の特定の位置を指すアドレスと、出力画像における可視画像の対応位置を指すアドレスとは異なることとなる。このため、原稿画像の可視画像が所定の電子文書に対応しており、コード画像読み取り用の読み取りデバイス（上述したペンデバイス６００等）による読み取り結果を電子文書に反映させようとする場合に、用紙に印刷されたコード画像による位置と、電子文書を扱うアプリケーションが認識している文書画像上の位置との間にずれが生じてしまう。
【００５９】
そこで次に、原稿画像を拡大または縮小して複写する場合であっても、位置情報を、その生成範囲を変更することなく生成する方法について説明する。具体的には、原稿画像を拡大する場合、その拡大率に合わせて、適当な間隔で冗長なアドレスを割り当てる。一方、原稿画像を縮小する場合、その縮小率に合わせて、適当な間隔でアドレスを間引く。これにより、領域全体に対する位置情報の生成範囲は原稿画像の画像サイズに対応する。そして、原稿画像における可視画像の特定の位置を指すアドレスと、出力画像における可視画像の対応位置を指すアドレスとが、ほぼ一致することとなる。
【００６０】
図７は、原稿画像を拡大して複写する場合に生成範囲を変更しないで位置情報を生成する方法を説明する図である。
図７においても、図６の例と同様に、アドレス値を１０進数４桁の数字で表し、上２桁の数値でＸ方向（横方向）の座標値を示し、下２桁の数値でＹ方向（縦方向）の座標値を示す。そして、図７（Ａ）の領域には２４（＝４×６）個のセルが設定されて、００００から０３０５までのアドレスが割り当てられている。また、図７（Ｂ）には、図７（Ａ）の領域を１５０％の拡大率で拡大した場合に割り当てられるアドレスが示されている。
【００６１】
図７（Ｂ）を参照すると、画像の拡大率に合わせて、Ｘ方向、Ｙ方向共に、３つのアドレスに１つの割合で冗長なアドレスが設けられている（図において、灰色のセルで冗長アドレスが設けられた位置を表している）。図示の例では、冗長なアドレスとして、Ｘ方向のアドレスの場合、左側に隣接するセルのアドレスがコピーされており、Ｙ方向のアドレスの場合、上側に隣接するセルのアドレスがコピーされている。この結果、図７（Ｂ）においても、領域全体に対して図７（Ａ）と同じ００００から０３０５までのアドレスが割り当てられることとなる。また、領域内での各アドレスの相対位置も図７（Ａ）、（Ｂ）の各領域でほぼ等しくなる（例えば、図７（Ａ）の領域でアドレス０１０２の指す位置と、図７（Ｂ）の領域でアドレス０１０２の指す位置とがほぼ等しい）。
【００６２】
図８は、原稿画像を縮小して複写する場合に生成範囲を変更しないで位置情報を生成する方法を説明する図である。
図８においても、図６の例と同様に、アドレス値を１０進数４桁の数字で表し、上２桁の数値でＸ方向（横方向）の座標値を示し、下２桁の数値でＹ方向（縦方向）の座標値を示す。そして、図８（Ａ）の領域には５４（＝６×９）個のセルが設定されて、００００から０５０８までのアドレスが割り当てられている。また、図８（Ｂ）には、図８（Ａ）の領域を６６％の縮小率で縮小した場合に割り当てられるアドレスが示されている。
【００６３】
図８（Ｂ）を参照すると、画像の縮小率に合わせて、Ｘ方向、Ｙ方向共に、３つのアドレスに１つの割合でアドレスの間引きが行われている（図において、セル間の境界線を太線で表示して間引かれたアドレスの位置を表している）。図示の例では、Ｘ方向の２列目および５列目のアドレスが削除されており、Ｙ方向の２列目、５列目および８列目のアドレスが削除されている。この結果、図８（Ｂ）においても、領域全体に対して図８（Ａ）と同じ００００から０５０８までのアドレスが割り当てられることとなる。また、領域内での各アドレスの相対位置も図８（Ａ）、（Ｂ）の各領域でほぼ等しくなる（例えば、図８（Ａ）の領域でアドレス０２０３の指す位置と、図８（Ｂ）の領域でアドレス０２０３の指す位置とがほぼ等しい）。
【００６４】
次に、原稿画像を拡大または縮小して複写する場合であっても、出力画像に付加される位置情報と原稿画像における位置とを対応付けることが可能な、他の方法として、位置情報によりコード画像の領域内での相対位置を表す方法について説明する。この方法によれば、位置情報は領域内での相対位置を表すため、原稿画像の拡大縮小に応じて位置情報の生成範囲を拡大または縮小しても、拡大または縮小の前後で、位置情報により特定される位置は対応することとなる。以下、まず基本的な考え方を説明し、次に具体的な位置情報の計算方法を説明する。
【００６５】
・基本的な考え方
図９は、相対的な位置情報の設定方法を説明する図である。
図９（Ａ）、（Ｂ）に示すように、本手法では、まずコード画像の領域の対角をそれぞれ原点とする２種類の座標系に基づいて２種類の位置情報を生成する。そして、図９（Ｃ）に示すように、各位置情報における個々のアドレスを交互に配置する。図９（Ｃ）に示す例では、図９（Ａ）、（Ｂ）の下線を付したアドレスが選択されて配置されている。なお、２種類の位置情報によるアドレスを交互に配置するのではなく、コード画像における位置情報とし、読み取りの際に一方のみを有効にするような制御も可能である。
【００６６】
図１０は、この位置情報の構成を説明する図である。
図１０に示すように、本手法による位置情報は、Ｘ座標、Ｙ座標、補助情報の３つの情報によって構成される。補助情報には、２種類の位置情報のうちのどちらのアドレスかを特定する情報が記録される。図９に示した位置情報では、アドレス値を１０進数５桁の数字で表し、最初の１桁（「０」または「１」）で座標系の種類（原点の位置）を示し、次の２桁でＸ座標、最後の２桁でＹ座標を示している（実際には、Ｘ座標とＹ座標の成分には８〜１８ビット程度の空間が割り当てられる）。
【００６７】
以上のように位置情報を設定すると、隣り合う２つのアドレスを読み取って処理することにより、コード画像全体のサイズおよびコード画像においてその２つのアドレスで示される相対的な位置を計算することができる。具体的な相対位置の計算方法の例としては、次の２つを考えることができる。それぞれの具体的な方法では、上記の基本的な考え方で示したコード画像の構成に加えて、個別に要件が追加される。
【００６８】
・第１の具体的な計算方法
追加要件として、コード画像を構成する単位ブロックの個数をＸ方向、Ｙ方向共に４の倍数個に限定する。図１１は、Ｘ方向の単位ブロック数を４、Ｙ方向の単位ブロック数を８としたコード画像の例を示す図である。同図において、白いセルには、図示されたコード画像領域の左上隅を原点とする座標系で設定されたアドレスが記述され、灰色のセルには、このコード画像領域の右下隅を原点とする座標系で設定されたアドレスが記述されている。このようにすると、図１１に示すように、偶数値と奇数値とが規則的に並ぶ。このため、隣り合う２つの単位ブロックのアドレスを読み取り、Ｘ座標またはＹ座標が奇数か偶数かを調べるだけで、アドレスを読み取った２つの単位ブロックがＸ方向に沿って並ぶ単位ブロックか、Ｙ方向に沿って並ぶ単位ブロックかを特定することができる。例えば、２つの単位ブロックのＸ座標をＸ１、Ｘ２とし、Ｙ座標をＹ１、Ｙ２とする。すると、Ｘ１、Ｘ２が共に偶数または共に奇数であれば、２つの単位ブロックはＸ方向に並ぶ単位ブロックであり、一方が偶数で他方が奇数であれば、２つの単位ブロックはＹ方向に並ぶ単位ブロックである。また、Ｙ１、Ｙ２が共に偶数または奇数であれば、２つの単位ブロックはＹ方向に並ぶ単位ブロックであり、一方が偶数で他方が奇数であれば、２つの単位ブロックはＸ方向に並ぶ単位ブロックである。
【００６９】
そして、アドレスを読み取った２つの単位ブロックがＸ方向に沿ってならぶ単位ブロックである場合、コード画像の高さ（Ｙ方向の長さ）Ｈは、Ｈ＝Ｙ１＋Ｙ２＋１で求まる。また、コード画像の幅（Ｘ方向の長さ）Ｗは、図１１において、左側が白いセル、右側が灰色のセルになる単位ブロックの組の場合、Ｗ＝Ｘ１＋Ｘ２＋２となり、反対に左側が灰色のセル、右側が白いセルになる単位ブロックの組の場合、Ｗ＝Ｘ１＋Ｘ２となる（前者では補正値２が加算される）。左右に並ぶ２つの単位ブロックのうちどちらが白いセルでどちらが灰色のセルかの判断は、アドレスを読み取った単位ブロックの位置によって複雑な場合分けを伴うため、後述する。
【００７０】
また、アドレスを読み取った２つの単位ブロックがＹ方向に沿ってならぶ単位ブロックである場合、コード画像の幅Ｗは、Ｗ＝Ｘ１＋Ｘ２＋１で求まる。また、コード画像の高さＨは、図１１において、上側が白いセル、下側が灰色のセルになる単位ブロックの組の場合、Ｈ＝Ｙ１＋Ｙ２＋２となり、反対に上側が灰色のセル、下側が白いセルになる単位ブロックの組の場合、Ｈ＝Ｙ１＋Ｙ２となる（前者では補正値２が加算される）。上下に並ぶ２つの単位ブロックのうちどちらが白いセルでどちらが灰色のセルかの判断は、アドレスを読み取った単位ブロックの位置によって複雑な場合分けを伴うため、後述する。
【００７１】
図１２は、以上説明した位置情報の設定方法による計算手順を示すフローチャートである。
図１２を参照して処理の全体の流れを説明すると、まず、隣り合う２つの単位ブロックのアドレスを読み取り、アドレスを読み取った２つの単位ブロックがＸ方向に沿って並ぶ単位ブロックか、Ｙ方向に沿って並ぶ単位ブロックかを調べる（ステップ１２０１）。そして、Ｘ方向に沿って並ぶ単位ブロックならば、次に、Ｈ＝Ｙ１＋Ｙ２＋１でコード画像の高さを求める(ステップ１２０２)。また、左上隅を原点とする座標系のアドレスにおけるＹ座標が偶数か奇数かを調べる（ステップ１２０３）。これは、アドレスを読み取った単位ブロックの位置が、コード画像において上から数えて奇数行目にあたる位置か偶数行目にあたる位置かを調べることに相当する（ただし、一番上の行を１行目とする）。なお、左上隅を原点とする座標系と右下隅を原点とする座標系の区別は、図１０に示した補助情報を参照することによって可能である。
【００７２】
左上隅を原点とする座標系のアドレスにおけるＹ座標が偶数である場合、すなわち、アドレスを読み取った単位ブロックの位置が、コード画像において上から数えて奇数行目である場合、次に、Ｘ座標を２で割り、小数点以下を切り捨てた値が奇数か偶数かを調べる(ステップ１２０４)。そして、Ｘ１／２およびＸ２／２（ただし小数点以下切り捨て）が偶数と奇数の組である場合、左側が左上隅を原点とする座標系で設定されたアドレス（すなわち図１１の白いセル）であるので、Ｗ＝Ｘ１＋Ｘ２＋２（補正値２を加算）でコード画像の幅を求める（ステップ１２０５）。一方、Ｘ１／２およびＸ２／２（ただし小数点以下切り捨て）が共に偶数または共に奇数であるならば、左側が右下隅を原点とする座標系で設定されたアドレス（すなわち図１１の灰色のセル）であるので、Ｗ＝Ｘ１＋Ｘ２でコード画像の幅を求める（ステップ１２０６）。
【００７３】
これに対し、左上隅を原点とする座標系のアドレスにおけるＹ座標が奇数である場合、すなわち、アドレスを読み取った単位ブロックの位置が、コード画像において上から数えて偶数行目である場合、次に、Ｘ座標を２で割り、小数点以下を切り捨てた値が奇数か偶数かを調べる(ステップ１２０７)。そして、Ｘ１／２およびＸ２／２（ただし小数点以下切り捨て）が偶数と奇数の組である場合、左側が右下隅を原点とする座標系で設定されたアドレス（すなわち図１１の灰色のセル）であるので、Ｗ＝Ｘ１＋Ｘ２でコード画像の幅を求める（ステップ１２０８）。一方、Ｘ１／２およびＸ２／２（ただし小数点以下切り捨て）が共に偶数または共に奇数であるならば、左側が左上隅を原点とする座標系で設定されたアドレス（すなわち図１１の白いセル）であるので、Ｗ＝Ｘ１＋Ｘ２＋２（補正値２を加算）でコード画像の幅を求める（ステップ１２０９）。
【００７４】
ステップ１２０１で、アドレスを読み取った２つの単位ブロックがＹ方向に沿って並ぶ単位ブロックと判断した場合は、次に、Ｗ＝Ｘ１＋Ｘ２＋１でコード画像の幅を求める（ステップ１２１０）。また、左上隅を原点とする座標系のアドレスにおけるＸ座標が偶数か奇数かを調べる（ステップ１２１１）。これは、アドレスを読み取った単位ブロックの位置が、コード画像において左から数えて奇数列目にあたる位置か偶数列目にあたる位置かを調べることに相当する（ただし、一番上の列を１列目とする）。
【００７５】
左上隅を原点とする座標系のアドレスにおけるＸ座標が偶数である場合、すなわち、アドレスを読み取った単位ブロックの位置が、コード画像において左から数えて奇数列目である場合、次に、Ｙ座標を２で割り、小数点以下を切り捨てた値が奇数か偶数かを調べる(ステップ１２１２)。そして、Ｙ１／２およびＹ２／２（ただし小数点以下切り捨て）が偶数と奇数の組である場合、上側が左上隅を原点とする座標系で設定されたアドレス（すなわち図１１の白いセル）であるので、Ｈ＝Ｙ１＋Ｙ２＋２（補正値２を加算）でコード画像の高さを求める（ステップ１２１３）。一方、Ｙ１／２およびＹ２／２（ただし小数点以下切り捨て）が共に偶数または共に奇数であるならば、上側が右下隅を原点とする座標系で設定されたアドレス（すなわち図１１の灰色のセル）であるので、Ｈ＝Ｙ１＋Ｙ２でコード画像の高さを求める（ステップ１２１４）。
【００７６】
これに対し、左上隅を原点とする座標系のアドレスにおけるＸ座標が奇数である場合、すなわち、アドレスを読み取った単位ブロックの位置が、コード画像において左から数えて偶数列目である場合、次に、Ｙ座標を２で割り、小数点以下を切り捨てた値が奇数か偶数かを調べる(ステップ１２１５)。そして、Ｙ１／２およびＹ２／２（ただし小数点以下切り捨て）が偶数と奇数の組である場合、上側が右下隅を原点とする座標系で設定されたアドレス（すなわち図１１の灰色のセル）であるので、Ｈ＝Ｙ１＋Ｙ２でコード画像の高さを求める（ステップ１２１６）。一方、Ｙ１／２およびＹ２／２（ただし小数点以下切り捨て）が共に偶数または共に奇数であるならば、上側が左上隅を原点とする座標系で設定されたアドレス（すなわち図１１の白いセル）であるので、Ｈ＝Ｙ１＋Ｙ２＋２（補正値２を加算）でコード画像の高さを求める（ステップ１２１７）。
【００７７】
以上の計算において、値「０」は偶数とした。また上記の例では、２種類の座標系を、左上隅を原点とする座標系と右下隅を原点とする座標系としたが、この２種類の座標系は、コード画像領域の対角を原点とする座標系であれば良い。したがって、右上隅を原点とする座標系と左下隅を原点とする座標系との組み合わせとしても良い。さらに、この手法では、コード画像を構成する単位ブロックの個数をＸ方向、Ｙ方向共に４の倍数個に限定したが、これを拡張して、４ｎ＋１、４ｎ＋２あるいは４ｎ＋３個（ｎは自然数）とすることもできる。その場合、少なくとも一方の原点をコード画像領域の角ではなく、角から単位ブロック３〜１個分外側にずれた位置に設定する。そして、コード画像領域の高さや幅を計算する際に、原点とコード画像領域の角とのずれに相当する単位ブロック数を減算する（なお、原点をコード画像領域の角から単位ブロック１〜３個分内側にずれた位置に設定し、コード画像領域の高さや幅を計算する際に、１〜３の余剰分の単位ブロック数を加算するようにしても良い）。また、コード画像を構成する単位ブロックの個数がＸ方向またはＹ方向で４ｎ＋２個とした場合、ステップ１２０５、１２０６、１２０８、１２０９におけるコード画像の幅の計算式およびステップ１２１３、１２１４、１２１６、１２１７におけるコード画像の高さの計算式を逆に適用するだけで、コード画像のサイズを求めることが可能である。
【００７８】
以上のようにして、コード画像のサイズが求まったならば、次式によって、アドレスを読み取った２つの単位ブロックの相対位置を算出することができる。ただし、左上隅を原点とする座標系のアドレスを持つ単位ブロックのＸ座標をＸ１、Ｙ座標をＹ１とし、右下隅を原点とする座標系のアドレスを持つ単位ブロックのＸ座標をＸ２、Ｙ座標をＹ２とする。そして、前者の相対位置を（ＲＸ１，ＲＹ１）、後者の相対位置を（ＲＸ２，ＲＹ２）とする。
ＲＸ１＝（Ｘ１＋１）／Ｗ
ＲＹ１＝（Ｙ１＋１）／Ｈ
ＲＸ２＝（Ｗ−Ｘ２）／Ｗ
ＲＹ２＝（Ｈ−Ｙ２）／Ｈ
【００７９】
・第２の具体的な計算方法
追加要件として、コード画像のサイズの算出に要する情報を補助情報として記録する。
上述した第１の計算方法の説明から、コード画像のサイズを計算するのに要する情報としては、
ａ）単位ブロックにおけるアドレスの座標系の種類（原点の位置）。
ｂ）アドレスを読み取った２つの単位ブロックがＸ方向またはＹ方向のどちらに沿って並ぶ単位ブロックか。
ｃ）コード画像の幅または高さを計算する際に補正値２を加算する必要があるか否か。
が挙げられる。そこで本手法では、アドレスを読み取った２つの単位ブロックに記述されるコード情報のみからこれらの情報を得られるように、図１０に示した位置情報の補助情報として、これらの情報を記録する。
【００８０】
図１３は、本手法で用いられる位置情報の構成を示す図である。
図１３（Ａ）に示すように、本手法で用いられる位置情報では、アドレス値を６桁の数字で表し、最初の２桁で補助情報を示し、次の２桁でＸ座標、最後の２桁でＹ座標を示している。補助情報には、図１３（Ｂ）に示すように、「座標系識別情報（座標系の種類）」、「方向判定情報（アドレスを読み取った２つの単位ブロックがＸ方向またはＹ方向のどちらに沿って並ぶ単位ブロックかを判断するための情報）」、「幅補正情報（コード画像の幅を計算する際に補正値２を加算する必要があるか否かを判断するための情報）」、「高さ補正情報（コード画像の高さを計算する際に補正値２を加算する必要があるか否かを判断するための情報）」の４つの情報が記録される。これら４つの情報には、それぞれ１ビットずつのデータが割り当てられる。
【００８１】
補助情報について、さらに詳細に説明する。
「座標系識別情報」を表すビットは、１、０のバイナリデータでコード画像の対角のどちらを原点とする座標系におけるアドレスかを示す。例えば、このビットが０であればコード画像の左上隅を原点とする座標系、１であれば右下隅を原点とする座標系というように区別する。
【００８２】
「方向判定情報」を表すビットは、コード画像のＹ方向１行ごとに０と１が交互に繰り返されるように並べられる。図１４（Ａ）は、各単位ブロックにおける方向判定情報のみを記載したコード画像を示す図である。同図において、白いセルは、コード画像の左上隅を原点とする座標系で設定されたアドレスが記述された単位ブロックを示し、灰色のセルは、コード画像の右下隅を原点とする座標系で設定されたアドレスが記述された単位ブロックを示す。隣り合う２つの単位ブロックのアドレスを読み取ったとき、この方向判定情報ビットが共に０か共に１ならば、この２つの単位ブロックはＸ方向に沿って並ぶ単位ブロックであることがわかる。また、方向判定情報ビットが０と１の組み合わせならば、この２つの単位ブロックはＹ方向に沿って並ぶ単位ブロックであることがわかる。
【００８３】
「幅補正情報」を表すビットは、コード画像のＸ方向２列ごとに０と１が交互に繰り返されるように並べられる。また、２つの座標系のアドレスで、０と１の並びがコード画像のＸ方向に１列分ずれている。図１４（Ｂ）は、各単位ブロックにおける幅補正情報のみを記載したコード画像を示す図である。同図における白いセルと灰色のセルは、図１４（Ａ）と同様に、座標系の違いを表している。Ｘ方向に隣り合う２つの単位ブロックのアドレスを読み取ったとき、この幅補正情報ビットが共に０か共に１ならば、この２つの単位ブロックのＸ座標の値と補正値２を加算した値がコード画像の幅となる。また、幅補正情報ビットが０と１の組み合わせならば、この２つの単位ブロックのＸ座標の値を加算した値（すなわち補正値２を加算しない値）がコード画像の幅となる。
【００８４】
「高さ補正情報」を表すビットは、コード画像のＹ方向２行ごとに０と１が交互に繰り返されるように並べられる。また、２つの座標系のアドレスで、０と１の並びがコード画像のＹ方向に１行分ずれている。図１４（Ｃ）は、各単位ブロックにおける高さ補正情報のみを記載したコード画像を示す図である。同図における白いセルと灰色のセルは、図１４（Ａ）と同様に、座標系の違いを表している。Ｙ方向に隣り合う２つの単位ブロックのアドレスを読み取ったとき、この高さ補正情報ビットが共に０か共に１ならば、この２つの単位ブロックのＹ座標の値と補正値２を加算した値がコード画像の高さとなる。また、高さ補正情報ビットが０と１の組み合わせならば、この２つの単位ブロックのＹ座標の値を加算した値（すなわち補正値２を加算しない値）がコード画像の高さとなる。
【００８５】
図１５は、以上のように構成される位置情報を用いたコード画像のサイズの計算手順を示すフローチャートである。
図１５を参照すると、本手法では、まず、隣り合う２つの単位ブロックのアドレスを読み取り、方向判定情報ビットが共に０または共に１か否かを調べる（ステップ１５０１）。そして、方向判定情報ビットが共に０または共に１であるならば、アドレスを読み取った２つの単位ブロックはＸ方向に沿って並ぶ単位ブロックなので、次に、Ｈ＝Ｙ１＋Ｙ２＋１でコード画像の高さを求める(ステップ１５０２)。また、２つのアドレスの幅補正情報ビットが０と１の組み合わせか否かを調べる（ステップ１５０３）。そして、２つの幅補正情報ビットが０と１の組み合わせである場合は、Ｗ＝Ｘ１＋Ｘ２でコード画像の幅を求める（ステップ１５０４）。一方、２つの幅補正情報ビットが共に０か共に１である場合は、Ｗ＝Ｘ１＋Ｘ２＋２（補正値２を加算）でコード画像の幅を求める（ステップ１５０５）。
【００８６】
ステップ１５０１で、方向判定情報ビットが０と１の組み合わせであった場合は、アドレスを読み取った２つの単位ブロックはＹ方向に沿って並ぶ単位ブロックなので、次に、Ｗ＝Ｘ１＋Ｘ２＋１でコード画像の幅を求める(ステップ１５０６)。また、２つのアドレスの高さ補正情報ビットが０と１の組み合わせか否かを調べる（ステップ１５０７）。そして、２つの高さ補正情報ビットが０と１の組み合わせならば、Ｈ＝Ｙ１＋Ｙ２でコード画像の高さを求める（ステップ１５０８）。一方、２つの高さ補正情報ビットが共に０か共に１であるならば、Ｈ＝Ｙ１＋Ｙ２＋２（補正値２を加算）でコード画像の高さを求める（ステップ１５０９）。
【００８７】
次に、具体的な数値を挙げて、本手法によるコード画像のサイズの計算例を示す。
図１６は、位置情報として本手法によるアドレスが設定されたコード画像の例を示す図である。
図１６に示すコード画像は、２０（＝５×４）個のセル（単位ブロック）で構成されている。コード画像の各単位ブロックには、図１３に示した６桁のアドレス値が設定されており、補助情報である上位２桁については２進数表記で補記している（各アドレス値の下の括弧内の値）。このようなコード画像において、図１６に示す（ア）、（イ）、（ウ）の３箇所で単位ブロックが読み取られた場合を想定し、それぞれコード画像のサイズを計算する。なお、以下の説明において、Ｘ方向に沿って左右に並ぶ単位ブロック（（ア）、（イ）の場合）では、左側の単位ブロックのＸ座標をＸａ、Ｙ座標をＹａとし、右側の単位ブロックのＸ座標をＸｂ、Ｙ座標をＹｂとする。また、Ｙ方向に沿って上下に並ぶ単位ブロック（（ウ）の場合）では、上側の単位ブロックのＸ座標をＸａ、Ｙ座標をＹａとし、下側の単位ブロックのＸ座標をＸｂ、Ｙ座標をＹｂとする。
【００８８】
図１６の（ア）の位置で単位ブロックが読み取られた場合：
２つの単位ブロックのアドレスは「０００１０１」と「０８０２０２」であり、方向判定情報ビットを参照すると共に０であるから、この２つの単位ブロックはＸ方向に並ぶ単位ブロックであることがわかる。そこで次に、２つのアドレスのＹ座標からＨ＝Ｙａ＋Ｙｂ＋１でコード画像の高さを計算する。この例では、Ｙａ＝１、Ｙｂ＝２であるから、Ｈ＝２＋１＋１＝４となる。
また、２つの幅補正情報ビットを参照すると、共に０である。したがって、２つのアドレスのＸ座標に補正値２を加算し、Ｗ＝Ｘａ＋Ｘｂ＋２でコード画像の幅を計算する。この例では、Ｘａ＝１、Ｘｂ＝２であるから、Ｗ＝１＋２＋２＝５となる。
【００８９】
図１６の（イ）の位置で単位ブロックが読み取られた場合：
２つの単位ブロックのアドレスは「１５０１０３」と「０４０４００」であり、方向判定情報ビットを参照すると共に１であるから、この２つの単位ブロックはＸ方向に並ぶ単位ブロックであることがわかる。そこで次に、２つのアドレスのＹ座標からＨ＝Ｙａ＋Ｙｂ＋１でコード画像の高さを計算する。この例では、Ｙａ＝３、Ｙｂ＝０であるから、Ｈ＝３＋０＋１＝４となる。
また、２つの幅補正情報ビットを参照すると、１と０の組み合わせである。したがって、２つのアドレスのＸ座標からＷ＝Ｘａ＋Ｘｂでコード画像の幅を計算する。この例では、Ｘａ＝１、Ｘｂ＝４であるから、Ｗ＝１＋４＝５となる。
【００９０】
図１６の（ウ）の位置で単位ブロックが読み取られた場合：
２つの単位ブロックのアドレスは「０２０３０１」と「１４０１０１」であり、方向判定情報ビットを参照すると０と１の組み合わせであるから、この２つの単位ブロックはＹ方向に並ぶ単位ブロックであることがわかる。そこで次に、２つのアドレスのＸ座標からＷ＝Ｘａ＋Ｘｂ＋１でコード画像の幅を計算する。この例では、Ｘａ＝３、Ｘｂ＝１であるから、Ｗ＝３＋１＋１＝５となる。
また、２つの高さ補正情報ビットを参照すると、共に０である。したがって、２つのアドレスのＹ座標からＨ＝Ｙａ＋Ｙｂ＋２でコード画像の高さを計算する。この例では、Ｙａ＝１、Ｙｂ＝１であるから、Ｗ＝１＋１＋２＝４となる。
【００９１】
以上のように、（ア）、（イ）、（ウ）のいずれの場所で単位ブロックを読み取った場合でも、各単位ブロックの位置情報のみからコード画像のサイズを正しく導くことができた。なお、各単位ブロックの相対位置は、上述した第１の計算方法で示した方法で計算できる。すなわち、座標系識別情報ビットが０（左上隅を原点とする座標系）のアドレスを持つ単位ブロックのＸ座標をＸ１、Ｙ座標をＹ１とし、座標系識別情報ビットが１（右下隅を原点とする座標系）のアドレスを持つ単位ブロックのＸ座標をＸ２、Ｙ座標をＹ２とすると、
（ア）の場合、
ＲＸ１＝（Ｘ１＋１）／Ｗ＝（１＋１）／５＝２／５
ＲＹ１＝（Ｙ１＋１）／Ｈ＝（１＋１）／４＝２／４
ＲＸ２＝（Ｗ−Ｘ２）／Ｗ＝（５−２）／５＝３／５
ＲＹ２＝（Ｈ−Ｙ２）／Ｈ＝（４−２）／４＝２／４
（イ）の場合、
ＲＸ１＝（Ｘ１＋１）／Ｗ＝（４＋１）／５＝５／５
ＲＹ１＝（Ｙ１＋１）／Ｈ＝（０＋１）／４＝１／４
ＲＸ２＝（Ｗ−Ｘ２）／Ｗ＝（５−１）／５＝４／５
ＲＹ２＝（Ｈ−Ｙ２）／Ｈ＝（４−３）／４＝１／４
（ウ）の場合、
ＲＸ１＝（Ｘ１＋１）／Ｗ＝（３＋１）／５＝４／５
ＲＹ１＝（Ｙ１＋１）／Ｈ＝（１＋１）／４＝２／４
ＲＸ２＝（Ｗ−Ｘ２）／Ｗ＝（５−１）／５＝４／５
ＲＹ２＝（Ｈ−Ｙ２）／Ｈ＝（４−１）／４＝３／４
となり、いずれもコード画像全体に対する相対的な位置が正しく求まる。
【００９２】
以上説明したように、本実施形態の画像形成装置４００は、原稿画像を拡大または縮小して複写する場合に、縮倍率に応じて生成された位置情報を記述したコード画像を生成して出力画像に付加する。したがって、原稿画像にコード画像が重畳されている場合であっても、本実施形態による出力画像には、原稿画像のコード画像が拡大または縮小されて印刷（複写）されるのではなく、拡大または縮小後の画像サイズに対応する適切なコード画像が付加されることとなる。このため、本実施形態による出力画像のコード画像は、読み取り手段による読み取り精度が低下することがない。
【００９３】
なお、本実施形態では、原稿読み取り装置４５０が原稿画像の可視画像のみを読み取り、この読み取られた可視画像に画像形成装置４００で生成されたコード画像を重ね合わせて出力することとした。しかしながら、コード画像を重ねる可視画像は、ネットワークを介してサーバ等の外部装置から取得することも可能である。例えば、原稿画像入力部１２が電子文書を管理する文書管理サーバから電子文書の文書画像を入力し、この文書画像にコード画像を重ねる際に本実施形態によるコード情報の生成方法にしたがってコード画像を生成しても良い。このようにすれば、電子文書が印刷される際の画像サイズを指定しており、画像形成装置４００で印刷する際に拡大または縮小される場合にも、画像の拡大または縮小に対応したコード画像を出力画像に付加することができる。
【００９４】
＜第２の実施形態＞
第２の実施形態は、原稿画像を複写する時点では何ら操作を行わず、複写されたコード画像を読み取る際に、このコード画像を構成するパターンのサイズに応じて読み取り手段での処理を修正しながらコード画像の読み取りを行う。すなわち、複写時の画像の拡大または縮小に対して、読み取り時の処理によって対応するものである。したがって、本実施形態は、コード画像の読み取りデバイスとして実現することができる。
【００９５】
本実施形態においても、ペン型のデバイスやスキャナ型のデバイス等、種々のタイプの読み取りデバイスを想定することが可能であるが、第１の実施形態と同様、用紙上の手書きイメージを入力するためには、ペン型等のハンディタイプの読み取りデバイスを用いることが必要なので、ペン型の読み取りデバイス（ペンデバイス）について説明する。
図１７は、本実施形態におけるペンデバイスの構成を示した図である。
図１７に示すペンデバイス７００は、図４に示した第１の実施形態におけるペンデバイス６００とほぼ同様の構成を備える。すなわち、筆記部６１と、筆圧検出部６２とを備えていると共に、赤外光を照射する赤外照射部６４と、反射される赤外光を受光することによりコード画像を認識して入力する画像入力部６５とを備える。また、ペンデバイス７００の全体の電子的な動作を制御する制御部７０を備えている。なお、筆記部６１、筆圧検出部６２、赤外照射部６４および画像入力部６５の機能は、図４に示したペンデバイス６００における対応する各構成と同様であるので、同一の符号を付して説明を省略する。
【００９６】
制御部７０は、コード取得部７１と、軌跡算出部７２と、情報記憶部７３とを備えている。コード取得部７１は、画像入力部６５から入力された画像を解析してコードを取得する部分である。軌跡算出部７２は、コード取得部７１により取得したコードに対し、筆記部６１のペン先の座標と画像入力部６５が捕捉した画像の座標とのずれを補正してペン先の軌跡を算出する部分である。情報記憶部７３は、コード取得部７１が取得したコードや軌跡算出部７２が算出した軌跡情報を記憶する部分である。
【００９７】
図１８は、ペンデバイス７００の主に制御部７０にて実行される処理を示したフローチャートである。
図１８を参照してわかるように、ペンデバイス７００の概略的な動作は、図５を参照して説明した第１の実施形態におけるペンデバイス６００の動作と同様である。すなわち、制御部７０が筆圧検出部６２から検出信号を取得する動作（ステップ７０１）からコード取得部７１がビットパターンを検出する動作（ステップ７０５）までは、図５に示したステップ６０１からステップ６０５までの動作と同じである。また、同期コードの検出（ステップ７０７）以降の動作も、図５に示したステップ６０６以降の動作と同じである。したがって、これらの動作については説明を省略する。
【００９８】
一方、本実施形態では、制御部７０のコード取得部７１が、ビットパターンの検出後、コード画像を読み取る際の単位ブロックのサイズを推定するコードサイズ推定処理（ステップ７０６）を行い、この処理で得られる単位ブロックの推定値を用いて、同期コードの検出や単位ブロックの検出、情報の復号等の処理を行う。したがって、以下、このコードサイズ推定処理について詳細に説明する。
図１９は、図１８のステップ７０６のコードサイズ推定処理の内容を説明するフローチャート、図２０は、コード画像の構成例を示す図である。なお、図２０では、単位ブロックごとに異なる複雑な図形を記載して、各単位ブロックに異なる位置情報（位置コード）が記述されていることを示している。
【００９９】
図１９に示すように、コード取得部７１は、まず、ステップ７０５で検出されたビットパターンを用いて、Ｘ方向（横方向）単位ブロック５つ分の長さを測定する（ステップ８０１）。この長さは、適当な単位ブロックを基準点として、Ｘ方向へ単位ブロックの数を数えていき、５つ目の単位ブロックまでの距離を求めることで得られる（図２０の距離Ａ）。単位ブロック間の距離は、コード画像における画素のピクセル数を数えることで得られる。
【０１００】
次に、コード取得部７１は、ステップ８０１で得られた単位ブロック５つ分の長さを５等分して単位ブロック１つの幅を求め（図２０の距離ａ）、さらに単位ブロックに記述された位置コードの幅の計算値ＣＷを求める（ステップ８０２）。ここで、単位ブロック１つの幅は、隣接する２つの単位ブロックにおける位置コードの間隔に等しい。すなわちステップ８０２では、位置コードの幅および位置コード間の間隔が計算される。また、単位ブロックに対して図２（Ｂ）に示したようにコード情報が記述されているとすると、位置コードの幅は、単位ブロックの幅の２／３である。
【０１０１】
次に、コード取得部７１は、ステップ８０２で得られた位置コードの幅の計算値ＣＷに対して、単位ブロックとして認知するサイズを修正するためのパラメータＱ（図示の例ではＱの初期値を０．９５とし、コード画像が９５％の縮倍率で縮小されている場合に対応している）を乗じ（ステップ８０３、８０４）、得られた値Ｗを実際の位置コードの幅と仮定して、Ｘ方向に連続して復号する（ステップ８０５）。そして、復号により得られたアドレスが連続しているか否かを調べる（ステップ８０６）。コード画像では、各単位ブロックに対して連続的にアドレスが割り当てられるので、復号結果として連続したアドレスが得られれば、ステップ８０５までの処理で位置コードの幅が正しく認識されたことがわかる。したがって、ステップ８０４で算出された値Ｗを位置コードの幅の推定値として、図１８のステップ７０７へ進む（ステップ８０７）。
【０１０２】
一方、ステップ８０６で、復号結果として連続したアドレスが得られなかったときは、ステップ８０５までの処理で認識された位置コードの幅が誤っていることとなる。そこで、コード取得部７１は、パラメータＱの値を１加算して（ステップ８０８）、ステップ８０４以降の処理を繰り返す。ただし、パラメータＱの値が１２０を超えたならば（すなわち、コード画像が１２０％以上の縮倍率で拡大されているならば）、コード画像の読み取りができないことをユーザに通知する等のエラー処理を行って(ステップ８０９、８１０)、処理を終了する。
【０１０３】
以上、図２０に示したコード画像のＸ方向に関して単位ブロックの幅を推定する方法を説明したが、コード画像のＹ方向（縦方向）に関しても、同様の処理を実行する（すなわち、図２０のＢ、ｂを求め、アドレスを復号する）。したがって、実際には、ステップ８０６で復号されたアドレスが連続している場合に直ちに図１８のステップ７０７へ移行するのではなく、Ｙ方向についても同様の処理を行い連続したアドレスが得られた後にステップ７０７へ移行することとなる。これにより、コード画像における単位ブロックのサイズが適切に推定されることとなる。
【０１０４】
なお、上記の動作例において、単位ブロック５つ分の長さを測定した後に５等分して単位ブロック１つの幅を求めることとした（ステップ８０１、８０２）のは、複数の測定値を平均して測定誤差を吸収するためである。したがって、実際には、単位ブロック４つ分の長さを測定して４等分したり、単位ブロック６つ分の長さを測定して６等分したりする等、任意の数で行って良い。
【０１０５】
以上のように、本実施形態は、読み取りデバイスが、実際に読み取った画像からコード画像の単位ブロックおよび位置コードのサイズを推定し、その推定結果に基づいてコード情報をデコードする。上述したように、ペンデバイス７００は、入力したスキャン画像からビットパターンを検出する際に、まずスキャン画像の整形を行う（図１８、ステップ７０４参照）。したがって、コード画像が本来のサイズに対して多少拡大または縮小されていても、ビットパターンを検出することが可能である。そのため、本実施形態によって単位ブロックや位置コードのサイズや間隔を推定することにより、コード画像が拡大または縮小されている場合であっても、その拡大または縮小されたサイズで単位ブロックを検出し、コード情報を復号することが可能となる。
【０１０６】
なお、上記の動作例で、パラメータＱの初期値を０．９５とし、またステップ８０９でパラメータＱの値が１２０を超えた場合にエラー終了することとしたが、これらの値は例示であって、他の値を適宜適用することができることは言うまでもない。ただし、コード画像における単位ブロックや位置コードの本来のサイズ（パラメータＱ＝１）から大幅に外れると、スキャン画像の整形を行ってもビットパターンを検出することができなくなるため、コード情報も復号できなくなる。したがって、パラメータＱの範囲は、ペンデバイス７００がビットパターンを検出可能な範囲内で設定する必要がある。
【０１０７】
また、本実施形態では、読み取りデバイスが上記のような単位ブロックのサイズを推定する機能を有する構成としたが、読み取りデバイスでは画像の取り込みのみを行い、取り込んだ画像をコンピュータで処理してコード情報を読み取る際に、単位ブロックのサイズの推定を行う構成とすることも可能である。
【図面の簡単な説明】
【０１０８】
【図１】本発明の第１の実施形態による画像形成装置のハードウェア構成例を示す図である。
【図２】本実施形態で用いられるコード画像の構成例を説明するための図である。
【図３】本実施形態の画像形成装置の機能構成を示す図である。
【図４】本実施形態におけるペンデバイスの機能構成を示す図である。
【図５】本実施形態のペンデバイスの主に制御部にて実行される処理を示すフローチャートである。
【図６】本実施形態における、画像の縮倍率に合わせて位置情報の生成範囲を拡大または縮小する様子を模式的に示す図である。
【図７】本実施形態における、原稿画像を拡大して複写する場合に生成範囲を変更しないで位置情報を生成する方法を説明する図である。
【図８】本実施形態における、原稿画像を縮小して複写する場合に生成範囲を変更しないで位置情報を生成する方法を説明する図である。
【図９】本実施形態における、相対的な位置情報の設定方法を説明する図である。
【図１０】本実施形態の相対的な位置情報の設定方法における位置情報の構成を示す図である。
【図１１】コード画像の例を示す図である。
【図１２】本実施形態の相対的な位置情報の設定方法による計算手順を示すフローチャートである。
【図１３】本実施形態の相対的な位置情報の設定方法における位置情報の他の構成を示す図である。
【図１４】図１３に示す補助情報を説明する図である。
【図１５】図１３に示した位置情報を用いたコード画像のサイズの計算手順を示すフローチャートである。
【図１６】位置情報として図１３に示した構成の位置情報（アドレス）が設定されたコード画像の例を示す図である。
【図１７】本発明の第２の実施形態におけるペンデバイスの機能構成を示す図である。
【図１８】本実施形態のペンデバイスの主に制御部にて実行される処理を示すフローチャートである。
【図１９】本実施形態によるコードサイズ推定処理の内容を説明するフローチャートである。
【図２０】コード画像の構成例を示す図である。
【符号の説明】
【０１０９】
１１…印刷指示受け付け部、１２…原稿画像入力部、１３…位置情報生成部、１４…コード画像生成部、１５…印刷制御部、１６…印刷部、６１…筆記部、６２…筆圧検出部、６４…赤外照射部、６５…画像入力部、７０…制御部、７１…コード取得部、７２…軌跡算出部、７３…情報記憶部、４００…画像形成装置、７００…ペンデバイス
【図１】
0004595757.tif 000002
【図２】
0004595757.tif 000003
【図３】
0004595757.tif 000004
【図４】
0004595757.tif 000005
【図５】
0004595757.tif 000006
【図６】
0004595757.tif 000007
【図７】
0004595757.tif 000008
【図８】
0004595757.tif 000009
【図９】
0004595757.tif 000010
【図１０】
0004595757.tif 000011
【図１１】
0004595757.tif 000012
【図１２】
0004595757.tif 000013
【図１３】
0004595757.tif 000014
【図１４】
0004595757.tif 000015
【図１５】
0004595757.tif 000016
【図１６】
0004595757.tif 000017
【図１７】
0004595757.tif 000018
【図１８】
0004595757.tif 000019
【図１９】
0004595757.tif 000020
【図２０】
0004595757.tif 000021