二次元コードを処理する装置、方法、プログラム、記憶媒体
【課題】各構成要素が複数の要素からなる二次元コードを印刷手段で印刷させるにあたって、その印刷手段の性能に合わせた画素数で二次元コードを印刷できるようにする。
【解決手段】二次元コードを印刷するのに相応しい各要素の画素数と、印刷対象の二次元コードの各要素の画素数とを比較し、一致しない場合には、印刷対象の二次元コードを印刷手段に印刷させる前に印刷対象の二次元コードの各要素の画素数を変更する変更手段を設ける。
【解決手段】二次元コードを印刷するのに相応しい各要素の画素数と、印刷対象の二次元コードの各要素の画素数とを比較し、一致しない場合には、印刷対象の二次元コードを印刷手段に印刷させる前に印刷対象の二次元コードの各要素の画素数を変更する変更手段を設ける。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に付加情報を重畳して出力する画像形成装置及び画像処形成法に関する。特に付加情報を生成する画像形成装置と画像に付加情報を重畳して印字する画像形成装置が異なる場合に、付加情報を生成する画像形成装置と印字する画像形成装置の特性の違いに依らず、所望の状態で付加情報を印字する手段を有する画像形成装置に関する。
【背景技術】
【0002】
プリンタや複写機などの画像形成装置は性能向上により高機能化が進み、原稿に対してさまざまな画像処理を行うことが可能となった。具体的には、原稿に対するコピー禁止設定やコピーできるユーザーの制限機能、又は原稿の追跡のために印字した装置のシリアル番号を画像に埋め込むなどの要求があった。
【0003】
そこで近年では、記録紙上に画像を印字する際に、上に記した情報をドットパターンで生成し、画像と重畳して原稿に印字するといったことが行われている(以下、ドットパターンを用いて画像に重畳する情報を付加情報と記す)。これにより、前記付加情報を重畳して印字した画像を画像形成装置によりコピー又は画像読取装置によりスキャンすると、前記画像形成装置及び画像読取装置はドットパターンを読み取ることでコピー又はスキャン処理の停止やユーザーの認証を行う。
【0004】
図9は、付加情報を画像に埋め込む方法の一例をブロック図で示したものである。図9では印字する画像が画像メモリ901に格納されている。画像メモリ901に格納されている画像データはRGB、CMYK、YUVやKなどさまざまな状態で格納されている。
【0005】
画像メモリ901から出力された画像データは色変換部902に入力され、C(シアン)、M(マゼンダ)、Y(イエロー)、E(ブラック)の4つの成分に変換される。
【0006】
また、CMYK各成分は各種補正処理部903において補正処理が施される。次に、疑似階調処理部904において、組織的ディザ法や誤差拡散法等の手法を用いて疑似階調処理が施される。
【0007】
以上の処理が施された画像データに対して、付加情報生成部905において生成された付加情報をY成分上に重畳(加算)し、それぞれの成分をプリンタエンジン906に入力することにより、画像情報以外の情報が付加された画像の印刷を行う。
【0008】
以下、ドットパターンに付加情報を埋め込む方法の一例を図10、図11及び図14を用いて説明する。
【0009】
図10において、1001はドットパターンを形成する領域の一部を表しており、図10内に示した黒点はドットパターンに付加情報を埋め込むための基準点を示している。基準点は原稿上の印刷可能領域内に、主走査及び副走査方向にN画素の間隔で配置されている。付加情報は、図10に示す基準点と、実際に前記基準点付近に印字するドットとの位置関係を用いて画像内に埋め込む。また、図10では点線1003で囲まれる16個の基準点と、基準点付近に印字する各ドットパターンとの位置関係により値を埋め込む例を説明する。
【0010】
図11は図10に示したそれぞれの基準点の付近を拡大した図であり、図中に示す四角はそれぞれ印字を行う画素を表す。図11は主走査方向5画素、副走査方向5画素の計25画素から構成される。図内1101で表した画素(図中eで表している)は図10における基準点を表しており、図11は基準点を中心に主走査方向±2画素、副走査方向±2画素分の領域を表す。
【0011】
図11において、ドットパターンを図内に示す画素a、b、c、d、f、g、h、iのいずれの位置に印字するかにより、ドットパターンは図14に示す値を埋め込むことが可能となる。
【0012】
例えば、aの位置(基準点に対して、副走査方向に−2画素、主走査方向に−2画素の位置)にドットパターンを印字した場合、そのドットパターンは0という値を表す。同様にbの位置(基準点に対して副走査方向に−2画素の位置)にドットパターンを印字した場合は1という値を表す。以下、c、d、f、g、hのそれぞれの位置にドットパターンを印字した場合は2、3、4、5、6の値を表し、iの位置(基準点に対して、副走査方向に2画素、主走査方向に2画素の位置)にドットパターンを印字した場合は7という値を表す。
【0013】
以上によりひとつのドットパターンは、基準点とドットパターンを印字する位置によって0〜7の値を表すことができ、これにより3ビットの情報を埋め込むことができる。尚、ドットパターンを基準点上(図11のeの位置)に印字した場合は、そのドットパターンは情報を持たないことを表す。
【0014】
図10の1003では、図11で説明したドットパターンが16個で構成されている。従って図10の点線1003で囲んだ16個のドットでは、最大48ビット(3ビット×16個)の情報を埋め込むことができる。
【0015】
しかし1003に含まれる全てのドットに対して情報を埋め込んで基準位置と異なる位置にドットを印字すると、印字したドットの位置から基準位置を抽出するために複雑な処理が必要となる。そこで本説明では、1003内においてそれぞれ隣り合わない8個のドット(図10において1002で示す)に対しては情報の埋め込みを行わずに、基準位置(図11においてeで表す)にドットを印字する。そして1003に含まれ、かつ1002以外の8個のドットにそれぞれ図11に示す方法で情報を埋め込んでドットを印字する。これにより、1003の領域には24ビット(3ビット×8個)の付加情報が埋め込まれる。
【0016】
図10の1003で示したドットパターンによる付加情報は、主走査方向及び副走査方向に複数回繰り返し形成される。これにより、例えばドットパターンが原稿の画像と重なり、画像をスキャンした時にドットパターンが読み取れなくなった場合でも、原稿上の他の部分にある同じ情報を有するドットパターンを読み込むことにより、付加した情報を取得することができる。
【0017】
また、図11ではドットパターンを印字する位置を基準点から2画素離れた位置として説明したが、以上説明した方法では2画素以外の距離でもドットパターンに付加情報を埋め込むことは可能である。
【0018】
ただし、画像形成装置の制度などの要因によりドットパターンを印字する位置が1画素程度ずれて印字してしまっても埋め込んだ情報を取得できるように2画素以上の距離を開けて印字することが望まれる。一般的には基準点から主走査方向、副走査方向にそれぞれ2〜4画素程度の距離でドットを印字する。
【0019】
尚、上記説明ではドットパターンとして印字するドットの大きさを1画素として説明を行ったが、画像読取装置によりドットパターンを検出するためにはある程度の画素数を持ったドットが必要となる。そのため、一般的にはドットパターンの大きさは4〜9画素程度(2画素×2画素〜3画素×3画素)で表現される。
【0020】
図12は付加情報を重畳した画像から、ドットパターンとして画像に埋め込まれた付加情報を抽出するためのフローチャートを示す。
【0021】
付加情報を重畳した画像から付加情報を抽出するために、始めに所定の大きさ(付加情報を埋め込んだドットの大きさ)以上の大きさの画像を削除することにより付加情報を埋め込んだドットの抽出を行う(1201)。これにより、図10に示す情報付加及び基準点検出のためのドットを抽出する。
【0022】
ただしステップ1201の処理では、付加情報を埋め込むドットと同じような大きさの画像データが残り、または画像データと重なったため所定以上の大きさになった付加情報を埋め込んだドットが削除されることがある。
【0023】
ここで、ステップ1201において抽出したドットは主走査方向2画素×副走査方向2画素、又は主走査方向3画素×副走査方向3画素といったようにある大きさで形成されている。そこで、以下図12における説明においてドット間の距離(画素数)と記した場合、それは一方のドットの所定の位置から他方のドットの所定の位置までの距離(画素数)を表すものとする。ここで、ドットの所定の位置とは、例えばドットの主走査方向の最大幅を2等分する線分と副走査方向の最大幅を2等分する線分の交点(以降この位置をドットの中心と記す)などが考えられる。
【0024】
次にステップ1201の処理を行った後の各ドットパターンに対して、最も近い位置にあるドットまでの主走査方向の距離(画素数)及び副走査方向の距離(画素数)を計測し、それらを全ドットパターンに対して行う。
【0025】
図13はステップ1202によって作成された最も近いドットとの主走査方向及び副走査方向の距離のヒストグラムの一例を示す。
【0026】
図13において、横方向は注目ドットから最も近い位置にあるドットまでの主走査方向又は副走査方向の距離(画素数)、縦方向は該当するドットの個数を表している。
【0027】
図13において、nは各ドットに情報を埋め込むために基準点から移動した主捜査方向又は副走査方向の画素数であり、Nは基準点間の距離(画素数)となる。
【0028】
以下、図11を用いて図13のようなヒストグラムが構成される理由を説明する。
【0029】
図11において、例えば注目ドットの位置がa(基準点に対して主走査方向に−2画素、副走査方向に−2画素)の場合、注目ドットに最も近いドットは注目ドットに対して主走査方向左側の基準点ドット、又は副走査方向上側の基準点ドットである。
【0030】
このとき、例えば最も近いドットを主走査方向左側に位置する基準点ドットとすると、注目ドットと主走査方向左側に位置する基準点ドットとの距離は主走査方向にN−2画素(Nは基準点間の画素数)、副走査方向に2画素となる。
【0031】
また、最も近いドットを副走査方向上側に位置する基準点ドットとすると、注目ドットと副走査方向上側に位置する基準点ドットとの距離は主走査方向に2画素、副走査方向にN−2画素(Nは基準点間の画素数)となる。
【0032】
次に、注目ドットの位置がb(基準点に対して副走査方向に−2画素)だった場合、注目ドットに最も近いドットは注目ドットに対して副走査方向上側に位置する基準点ドットである。このとき、注目ドットと副走査方向上側に位置する基準点ドットとの距離は主走査方向に0画素、副走査方向にN−2画素となる。
【0033】
また、注目ドットの位置がc(基準点に対して主走査方向に2画素、副走査方向に−2画素)だった場合、注目ドットに最も近いドットは注目ドットに対して主走査方向右側に位置する基準点ドット又は副走査方向上側に位置する基準点ドットである。このとき、例えば最も近いドットを主走査方向右側に位置する基準点ドットとすると、注目ドットと主走査方向左側に位置する基準点ドットとの距離は主走査方向にN−2画素、副走査方向に2画素となる。また、最も近いドットを副走査方向上側に位置する基準点ドットとすると、注目ドットと副走査方向上側に位置する基準点ドットとの距離は主走査方向に2画素、副走査方向にN−2画素(Nは基準点間の画素数)となる。
【0034】
同様に注目ドットの位置がd、f、g、h、iの場合も、それぞれ最も近いドットとの距離は主走査方向、副走査方向とも、0画素、2画素又はN−2画素となる。これにより図13のようなヒストグラムが得られる。尚、図11の場合、図13におけるn=2である。これにより、ステップ1202の処理を行うことでヒストグラムを作成し、ヒストグラムの値から基準点間の距離N、情報を埋め込むために基準点から移動した画素数nが得られる(1204)。
【0035】
尚、予め基準点間の画素数N及び情報を埋め込むために基準点から移動した画素数nがわかっている場合は、ステップ1202及びステップ1203を行う必要はない。
【0036】
次に、注目ドットに対して、ステップ1203で取得した基準転換の距離Nの偶数倍(2、4、6、8、・・・・)の位置にあるドットとの距離(画素数)を求めてヒストグラムを生成する(1204)。
【0037】
注目ドットが情報を埋め込んだドットの場合、2N、4N、6N、8N画素の位置にあるドットもまた情報を埋め込んだドットである。そのため主走査方向及び副走査方向の距離は0画素、n画素、2n画素、2N−2n画素、2N−n画素、2N画素、2N+n画素、2N+2n画素、4N−2n画素、4N−n画素・・・・とn画素の間隔N画素の近辺に複数のヒストグラムが発生する。これにより情報を埋め込んだドットが検出できる。
【0038】
また、ドットパターンによる付加情報は、主走査方向及び副走査方向に複数回繰り返し形成されるため、同じ情報を埋め込んだドットは所定の間隔で発生する。これにより、同じ情報を埋め込んだドット同士でドット間の距離を計測した場合、主走査方向及び副走査方向の距離のヒストグラムは0、2N、4N、6N、8Nの部分のみに現れる。
【0039】
例えば図10の場合、主走査方向4ドット、副走査方向4ドットでひとつの付加情報を埋め込んでいるため、主走査方向4ドット間隔、又は4副走査方向ドット間のドットの距離を計測するとその画素数は必ず4Nとなる。これにより、ひとつの付加情報を構成する主走査方向のドット数、副走査方向のドット数が検出できる(1205)。
【0040】
一方、注目ドットが図10の1002に示すように基準点に印字されている場合、2N、4N、6N、8N画素の位置にあるドットもまた基準点に印字されている。
【0041】
そのため、主走査方向及び副走査方向の距離のヒストグラムは常に0、2N、4N、6N、8Nの部分のみに現れる。これにより、基準点に印字された(情報を埋め込まれていない)ドットを検出する(1206)。
【0042】
ステップ1205、ステップ1206により情報を埋め込んだドットと基準点に印字されたドットが判明したら、情報を埋め込んだドットと基準点との位置関係から埋め込んだ情報を検出する(1207)。
【0043】
そして付加情報を構成する全てのドットに対して埋め込んだ情報を検出して付加情報を抽出する(1208)。
【0044】
コピー動作において図10〜図11で説明したドットパターン画像を画像に重畳して印字を行う場合、付加情報のドットパターン画像の形成は画像読取装置により画像をスキャンした後で行われ、ドットパターン画像生成後に画像に重畳されて印字される。また、コンピュータなどで形成した画像に対してドットパターン画像を重畳して印字する場合は、コンピュータから画像データ及び付加情報を取得した後、付加情報から図10で示したようにドットパターン画像を作成して画像に重畳して印字する。これらの動作では、画像の取得、付加情報からドットパターン画像を生成、画像とドットパターン画像の重畳及び印字は一連の動作として行われる。
【0045】
ここで、スキャン画像や画像形成装置に転送された画像を一旦記憶装置に格納し、その後記憶装置内の画像を指定して印字を行う場合の動作を考える。このとき、スキャン又は転送された画像を記憶装置に格納すると供に、付加情報のドットパターン画像形成を行い、画像と同様に記憶装置に格納しておく。そして印字時は指定された画像と、画像に対応するドットパターン画像を記憶装置から取得して重畳して印字を行う。
【0046】
このように印字を行う前に付加情報のドットパターン画像を生成しておくのは、付加情報を埋め込んだドットパターン画像を生成するために時間がかかるためであり、印字を行う際に不要な時間がかかるのを回避するための処理である。
【0047】
このとき、形成したドットパターン画像は、ドットパターン画像を生成した時の画像形成装置の状態において印字を行うことを前提にドットの濃度及び画素数(大きさ)を制御して画像を生成する。しかし、印字を行う時になって画像形成装置の経時変化や周囲の環境変化などによりドットの濃度が薄く印字され、埋め込み情報の認識率が落ちることが考えられる。また逆にドットの濃度が濃くなり、原稿上でドットが必要以上に目立つことにより画質が低下するといったことが考えられる。
【0048】
上記問題を解決するために、参考文献1では、印字を行う際に画像形成装置の印字特性であるキャリブレーションデータを取得し、取得したキャリブレーションデータからドットパターン画像が実際に印字される濃度を算出する。
【0049】
そしてドットパターン画像形成時より薄くドットパターンが出力される特性を示す場合は濃度値が高くなるように調整してから印字を行う方法が提案されている。
【特許文献1】特開2006−215745
【発明の開示】
【発明が解決しようとする課題】
【0050】
しかし上記従来例では、印字時を行うときのキャリブレーションデータのみを参照してドットパターンの濃度を補正するため、付加情報のドットパターン画像を生成した画像形成装置と印字を行う画像形成装置が同じ装置であることが前提となっている。そのため、例えば画像及び付加情報のドットパターン画像を生成した後、画像及び付加情報のドットパターン画像を他の画像形成装置に転送し、転送先の画像形成装置で印字する場合はキャリブレーションデータによって濃度の補正を行うことが出来なかった。
【0051】
また、付加情報のドットパターン画像を生成した画像形成装置と印字を行う画像形成装置の解像度、階調数などの性能や仕様が異なる場合、希望する濃度や大きさでドットを印字することが出来なかった。
【0052】
さらに、ドットパターン画像を多値データで生成すると、ドットパターン画像の容量が増大するといった問題がある。
【課題を解決するための手段】
【0053】
上記課題を解決するために、本願請求項1記載の装置は、以下の手段を有する。
【0054】
印刷対象の二次元コードを構成する各要素の画素数を取得する第1の取得手段と、
印刷手段が二次元コードをシートに印刷する際の当該二次元コードの各要素の画素数を取得する第2の取得手段と、
前記第1の取得手段で取得された各要素の画素数と前記第2の取得手段で取得された各要素の画素数とが一致しない場合には、前記印刷対象の二次元コードを前記印刷手段に印刷させる前に前記印刷対象の二次元コードの各要素の画素数を変更する変更手段とを有する。
【発明の効果】
【0055】
本発明によれば、付加データを生成する装置と画像と付加データを重畳して印字を行う装置が異なる場合において、付加データを生成する装置の設定値と印字を行う装置の設定値により付加データに対して補正を行う。
【0056】
これにより、装置間の設定値及び/又は製品仕様の違いによる影響をなくして付加データを画像に重畳することができる。
【発明を実施するための最良の形態】
【0057】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【0058】
以下、添付図面を参照して本発明に係る一発明の実施の形態例を詳細に説明する。
【0059】
図2は本発明に係る実施例の構成を示すブロック図である。
図2において、201はローカルエリアネットワーク(LAN)であり、後述するコンピュータ202及び画像形成装置である多機能プリンタ(以下MFPと記す)203を接続する。202はコンピュータであり、ユーザーによって画像データの生成、編集及び画像データに重畳する付加情報を生成する。またコンピュータ202はLAN201に接続されており、生成された画像データ及び付加情報はLAN201を介してMFP203に送られる。
【0060】
203はLAN201に接続されたMFPであり、LAN201を介して送られてくる画像データ及び付加情報を取得する。また取得した付加情報から、図10に示すような付加情報が埋め込まれたドットパターン画像を生成し、印字時に画像データに重畳して印字する。
【0061】
尚、図2では簡略化するためにLAN201に接続されているコンピュータ202及びMFP203はそれぞれひとつとして説明したが、通常LAN201には複数のコンピュータ及びMFPが接続されている。コンピュータ202はLAN201に接続されている複数のMFPの中から所望のMFPを選択して画像データ及び付加情報を出力する。選択されたMFPは送られた画像データ及び付加情報を取得し、付加情報からドットパターン画像を生成して画像データに重畳して印字する。
【0062】
図3はコンピュータ202の内部構造を示すブロック図である。
図3において、301は中央演算処理装置(CPU)であり、コンピュータ202全体の制御を行う。302はROMであり、CPU301が処理する各種の制御プログラムを格納する。また、303はRAMであり、後述する外部記憶装置306に格納されたアプリケーションプログラム等をロードして格納する。CPU301はRAM303にロードされたプログラムによって処理を実行する。また、RAM303はCPU301が各種の制御を実行する際の作業領域を提供する。
【0063】
304はディスプレイであり、CPU301の制御により各種の表示を行う。305は入力部であり、キーボード、ポインティングデバイス等により必要な入力を行う。306は外部記憶装置であり、種々のアプリケーションプログラムを格納する。307はネットワークインタフェースであり、ネットワークに接続された他の機器とのデータ通信を行う。
【0064】
図2におけるLAN201はネットワークインターフェース307に接続されており、コンピュータ202はネットワークインターフェース307を介してLAN201と接続されている。
【0065】
上記CPU201、ROM202、RAM203、ディスプレイ204、入出力装置205、外部記憶装置206及びネットワークインターフェース207は、それぞれコンピュータの内部バス208で接続されている。
【0066】
コンピュータ202において生成した画像データに付加情報を重畳して印字する場合、コンピュータ202は画像データ及び付加情報を所定のプリンタへ出力する。
【0067】
図6はコンピュータ202において画像データをプリンタに出力するための設定画面の一例を示す。図6において601は画像データを出力するプリンタを選択する領域で、コンピュータ202はこの領域に表示されたプリンタに対して画像データ及び付加情報を出力する。プリンタ選択領域にはネットワークに接続された複数のプリンタが表示、選択できるようなっている。
【0068】
602は601で選択したプリンタに関する情報を表示する部分であり、本実施例ではプリンタの状態、プリンタの機種名、設置場所などが表示できるようになっている。603は画像データの印字範囲を設定する領域であり、本実施例では「画像データを全て印字」、「指定する1ページのみ印字」、「印字するページを指定して印字」から選択することが出来る。
【0069】
604はプリント動作に対して詳細な設定を行う画面に移行するためのボタンであり、印字する原稿のサイズ、縦横の向き、変倍率などの設定が可能である。また、画像データに重畳する付加情報の設定もこのボタンを押して設定画面に移行することで行うことが出来る。
【0070】
605は画像データに付加情報を重畳するためのチェックボックスであり、このチェックボックスにチェックをすることでコンピュータ202から画像データ及び画像データに重畳する付加情報を出力する。尚、605のチェックボックスをチェックしない場合は画像データのみ出力し、付加情報の重畳は行わない。
【0071】
606はカラー画像を白黒で印刷するためのチェックボックスであり、本チェックボックスをチェックするとコンピュータ内で画像データが白黒に変換される。607は画像データを印字する枚数を指定する領域であり、一度のプリント動作で指定した回数だけ画像データが印字される。
【0072】
608はプリントボタンであり、このボタンを押すことにより603〜607で設定された内容の処理を画像データに対して行い、601で選択したプリンタに対して画像データ及び付加情報を出力する。609はキャンセルボタンであり、このボタンを押すと図6の設定画面で設定した内容がキャンセルされる。
【0073】
図4はMFP203の内部構造を示すブロック図である。
図中401はユーザーが操作するダイアル及びスイッチ等が配列された操作パネル部であり、コピー、ファックス送信等の動作指示や拡大縮小倍率、送信先の電話番号入力等の設定はこの操作パネル部を用いて行う。
【0074】
402は原稿を光電的に走査して画像信号を形成するリーダ(読み取り部)である。原稿をリーダの原稿台に乗せ、主走査方向に一列に並べたCCDなどの光電素子を素子の並び方向と垂直(副走査方向)に移動して原稿を読み取り、電気的な画像データを生成する。リーダで読み取った画像データはリーダ制御部を介してバッファメモリに格納される。
【0075】
403は前記リーダにより読み取られた画像データやLAN201を介して送られてきた画像データを記録紙上に形成するプリンタであり、本実施例のMFPでは電子写真方式のプリンタが接続されている。プリンタへの画像データの出力はバッファメモリに格納された画像データを、プリンタ制御部を介してプリンタに送ることによって行う。
【0076】
尚、プリンタ403の内部ブロックは図9と同様の構成となっている。そのため、MFP203により画像データとドットパターン画像を重畳して印字を行う場合、画像データ及び付加情報を埋め込んだドットパターン画像をバッファメモリに格納する。そして、画像データと供にドットパターン画像をプリンタ403に送ることでドットパターン画像が重畳された画像データが印字される。
【0077】
404は前記リーダ402により読み取られた画像データやLAN201を介して送られてきた画像データ及び付加情報、ドットパターン画像及びドットパターン画像に関する情報を表す設定値(後述するドットの種類及びドット形状)を格納する記憶装置である。記憶装置404はハードディスク等の不揮発性メモリより構成される。本記憶装置に画像データ及びドットパターン画像を格納する場合、又は本記憶装置に格納された画像データ及びドットパターン画像を読み出す場合は後述のバッファメモリを介して格納及び読み出しが行われる。
【0078】
405は操作パネル部401を制御する操作パネル制御部であり、操作パネルにより入力されたユーザーからの指示を解析し、指示内容を後述のマイクロプロセッサ部に送る。
【0079】
406はリーダ402を制御するリーダ制御部であり、マイクロプロセッサ部の指示によりリーダ402を駆動して原稿台上の原稿を読み取ると共に、読み取られた画像データをバッファメモリに格納する。
【0080】
407はプリンタ403を制御するプリンタ制御部であり、マイクロプロセッサ部からの指示によりバッファメモリから画像データ及びドットパターン画像を取得してプリンタ403に出力する。また、画像データの出力に合わせてプリンタ403を駆動することにより記録紙上に画像を印刷して出力する。
【0081】
408は記憶装置404を制御する為の記憶装置制御部であり、マイクロプロセッサ部の指示によりバッファメモリから記憶装置404へのデータの格納及び記憶装置404からバッファメモリへのデータの出力等を行う。
【0082】
409はMFP203全体の動作を制御するマイクロプロセッサ部であり、各ブロックに指示を行うことによりMFP203はスキャン、プリント、ファックス受信/送信などの各種動作を行う。また、マイクロプロセッサ部409内部はMFPの動作を行うプログラム等を記憶するROM、制御などに必要なデータを一時格納するためのRAMを含んでいる。
【0083】
また、マイクロプロセッサ部409内部にあるROMには、付加情報からドットパターン画像を生成する時にドットの形状(画素数)を決定するための設定値リストが格納されている。マイクロプロセッサ部は、付加情報からドットパターン画像を生成する場合、ROMに格納された設定値リストを参照してドットの形状(画素数)を決定し、指定された形状(画素数)によりドットを形成してドットパターン画像を生成する。
【0084】
さらに、LAN201を介して他のMFPから画像データ、ドットパターン画像及びドットパターン画像に含まれるドットの形状を表す設定値が転送された場合、マイクロプロセッサ部409は以下のような動作を行う。すなわち、送られてきた設定値とROMに格納された設定値リストを参照してドットパターン画像に含まれるドットの形状(画素数)を変更し、新たなドットパターン画像を生成する。
【0085】
410はバッファメモリであり、リーダ402から原稿を読み込む、記憶装置404から画像データを読み出す又はLAN201を介して画像データ及び付加情報を取得するなどの動作を行った場合、各画像データは一度バッファメモリ410に格納される。
【0086】
また、プリンタ403から画像データを印刷する、記憶装置404に画像データを格納する又はLAN201を介して画像データを出力するなどの動作を行う場合、各画像データはバッファメモリ410から出力される。
【0087】
411は符号・復号化処理部であり、バッファメモリ410に格納された画像データに対して必要な場合は符号化(圧縮処理)、または圧縮された画像データに対して復号化(伸長処理)を行う。
【0088】
412は画像処理部であり、操作パネル401によってユーザーが指示した画像処理や画質向上のための処理が行われる。
【0089】
413は上記各ブロックを接続する内部バスであり、画像データの転送、各ブロックが動作するためのコマンド及び設定値はこの内部バス414を介して送受信が行われる。
【0090】
414はネットワーク制御部であり、内部バス413はネットワーク制御部を介して外部LAN201と接続されている。また、ネットワーク制御部414では外部LAN201と内部バス413の間でプロトコル変換を行っている。これにより、外部LANを介して入力した画像データはリーダ402から読み込んだ画像データと同じようにバッファメモリ410に格納、プリンタ403から印刷、及び記憶装置404に格納することが可能である。
【0091】
尚、本実施例で生成されるドットパターン画像は、データ量を削減するために2値画像で生成される。
【0092】
図5は、LAN201から画像データ及び付加情報を取得した場合に、MFP203がドットパターン画像を形成する動作を示すフローチャートである。
【0093】
図5において、MFP203はまず始めにコンピュータから出力された画像データ及び付加情報をLAN201を介して取得する(501)。取得した画像データはバッファメモリ410に一旦格納された後、記憶装置操作部408を介して記憶装置404に格納される。また、付加情報も同様に記憶装置404に格納される(502)。
【0094】
画像データ及び付加情報を記憶装置404に格納すると、MFP203は付加情報を埋め込むためのドット種類の選択を行う(503)。これはドットパターン画像により付加情報を画像に重畳する場合に、プリンタエンジン性能やキャリブレーションなど画像形成装置毎に異なる固体差により記録紙上に印字されるドットの大きさが画像形成装置によって変わらないようにするための構成である。
【0095】
これにより、どの画像形成装置においても同じ値のドット種類を選択することで、記録紙上に印字されるドットパターン画像のドットをほぼ同じ大きさにすることを目的とする。
【0096】
以下、具体例を示してドット種類の選択の効用を説明する。
図15はドット種類とそれぞれのドット種類を選択した場合に付加情報を埋め込むドットパターン画像を形成するドットの画素数、及びドット形状との相関を表す設定値リストの一例である。図15では、ドット種類として4種類のドット形状(画素数)を選択することが可能であり、ドット種類1〜4を選択した場合、それぞれドット形状(画素数)が5画素〜8画素でドットパターン画像が形成される。
【0097】
ここで、ドット種類、すなわちドットパターン画像を形成するドットの形状(画素数)が複数用意されているのは、ユーザーやMFPの管理者がドットの形状(画素数)を選択できるような構成にするためである。
【0098】
図16は、プリンタエンジン性能やキャリブレーション等の個体差によって、記録紙上に印字される画像が大きくなる画像形成装置に対する設定値リストの一例である。図16では、ドット種類1〜4を選択した場合、それぞれドット形状(画素数)が4画素〜7画素でドットパターン画像が形成される。そのため、個体差によって記録紙上に印字される画像が大きくなるような画像形成装置において図15の設定値リストを用いてドットパターン画像を形成するよりも、各ドットの大きさが小さくなるように補正される。
【0099】
また、図17は、プリンタエンジン性能やキャリブレーション等の個体差によって、記録紙上に印字される画像が小さくなる画像形成装置に対する設定値リストの一例である。図17では、ドット種類1〜4を選択した場合、それぞれドット形状(画素数)が6画素〜9画素でドットパターン画像が形成される。そのため、個体差によって記録紙上に印字される画像が小さくなるような画像形成装置において図15の設定値リストを用いてドットパターン画像を形成するよりも、各ドットの大きさが大きくなるように補正される。
【0100】
以上説明したように、ドット種類とドット画素数の相関を表す設定値リストを用いて画像形成装置間の個体差を補正することにより、ドットパターン画像のドットをほぼ同じ大きさに記録紙上に印字することができる。
【0101】
尚、本実施例では上記設定値リストはマイクロプロセッサ409内にあるROMに格納されているものとする。また、設定値リストは固定的なものでなく、画像形成装置の特性が変化した場合はそれぞれのドット種類に対するドット画素数の値を変更することが出来るものとする。
【0102】
上記のように、ドットパターン画像を形成するドット種類を選択し(503)、設定リストを参照して、ステップ503で選択したドット種類に対応するドットの形状(画素数)を選択する(504)。
【0103】
その後、ステップ504で選択したドットの形状(画素数)を用いて図10、図11、図14で説明した方法により付加情報を埋め込んだドットパターン画像を生成し(505)、生成したドットパターン画像を記録装置404に格納する(506)。また、ステップ503で選択したドット種類及びステップ504で選択したドットの形状(画素数)を記録装置404に格納する(507)。
【0104】
以上の動作により付加情報を埋め込んだドットパターン画像が生成できたので、付加情報を記録装置404条から削除して(508)、ドットパターン画像を形成する動作を終了する。
【0105】
尚、図7で示した動作により記憶装置404に格納した画像データ、ドットパターン画像及び選択したドット種類及びドットの形状(画素数)の情報はそれぞれ関係性を持った状態で記憶装置404に格納される。
(以下、選択したドット種類及びドットの形状を「設定値」と記す)
図1はLAN201に接続された他の画像処理装置から画像データ、ドットパターン画像及び設定値が送られてきた場合に、MFP203がドットパターン画像を再形成する動作を示すフローチャートである。
【0106】
図1において、MFP203はまず始めにLAN201に接続された画像形成装置から画像データ、ドットパターン画像及び設定値をLAN201を介して取得する(101)。取得した画像データ、ドットパターン画像バッファメモリ410に一旦格納された後、記憶装置操作部408を介して記憶装置404に格納される。また、同様に設定値も記憶装置404に格納される(102)。
【0107】
画像データドットパターン画像及び設定値を記憶装置404に格納すると、MFP203はドットパターン画像を形成するドットの形状(画素数)をMFP203で印字する形状(画素数)に変換するための処理を行う。これは、記憶装置404に格納した設定値のドットの種類とドット形状の関係が、MFP203が有する設定値リストの内容と同じであるかどうかを参照し、もし異なっている場合はMFP203の設定値リストの内容に補正する必要があるためである。
【0108】
そのため、記録装置404に格納した設定値を参照し、ドット種類及びドットパターン画像を形成するドットの形状(画素数)を取得する(103、第1の取得工程の一例)。即ち、印刷対象の二次元コードを構成する各要素(各ドット)の画素数を取得するのである。次に、MFP203が有する設定値リストを参照し、ステップ103で取得したドット種類に対応するドット形状(画素数)を取得する(104、第2の取得工程の一例)。つまり、MFP203の印刷部が二次元コードを印刷する際に、各要素をどの程度の画素数で形成すればよいかを示す情報を、設定値リストの参照により、取得するのである。
【0109】
そしてステップ103で取得したドットパターン画像を形成するドットの形状(画素数)と、ステップ104で取得したMFP203におけるドットの形状(画素数)を比較する(105)。
【0110】
比較した結果、両者が等しい(一致する)場合は記憶装置404に格納されているドットパターン画像が画像データと重畳して印字できる状態であるため、処理を終了する。
【0111】
一方、ステップ105による比較の結果、両者のドット形状(画素数)が異なる(一致しない)場合はドットパターン画像を画像データに重畳する形状に変更する。つまり、印刷対象の二次元コードを印刷部に印刷させるのに相応しい二次元コードに変更するのである。具体的には、二次元コードの各要素の画素数を、104で取得した画素数に変更するのである。言い換えると、ドットパターン画像を形成するドットの形状(画素数)はステップ104で取得したMFPのドット形状(画素数)に変更するのである(106)。
【0112】
そしてステップ106で生成したドットパターン画像(ドットの形状がMFPの形状に変更された後のドットパターン画像)を新たなドットパターン画像として記録装置404に格納する(107)。その後、記録装置404に格納されている設定値のドット形状をステップ104で取得したMFPのドット形状に変更する(108)。
【0113】
以上の動作により、他の画像処理装置から送られてきたドットパターン画像のドット形状(画素数)が印字時に重畳する画素数と異なる場合においても、画素数の補正を行い画像データと重畳して印字を行うドットパターン画像を生成することが出来る。
【0114】
図1のステップ106におけるドットパターン画像のドット形状を変更する方法の一例として、パターンマッチングを用いた画素値の制御が挙げられる。図18は上記パターンマッチングにより画素値を変更する回路の一例を表している。
【0115】
図18において、1801は注目画素(図18では主走査方向i番目,副走査方向j番目の画素)に対して、主走査方向に−2画素〜2画素、副走査方向に−2画素〜1画素分の領域に存在する20画素分の2値画像データを保持するバッファである。
【0116】
上記バッファに保持された画像データのうち、注目画を除く19画素分の画像データがデータ比較部1802に入力される。
【0117】
1802はパターン照合部であり、バッファ1801から入力された19個の2値画像データが、1802に設定する条件をすべて満たす場合はResultから1を出力する。また、2値画像データが設定する条件を満たさない場合はResultから0を出力する。
【0118】
1803はパターン照合部の出力であるResultが1の場合、注目画素の値を強制的に変更するために値を保持する変更値保持部である。Resultから1が出力されたときの注目画素を0にしたい場合は0を、逆に1にしたい場合は1を1803に設定する。
【0119】
1804はセレクタであり、SELに入力されている値が1の場合はBの値をYから出力し、SELに入力されている値が1の場合はAの値をYから出力する。SEL入力にはパターン照合部1803の出力であるResultが、A入力にはバッファ1801から注目画素の値が入力されている。また、B入力には変更値保持部1803に設定された値が入力されている。
【0120】
以上の構成により、セレクタ1804は、Resultの値が1の場合(すなわち2値画像データの値が1802に設定する条件をすべて満たす場合)は変更値保持部1803に設定した値を出力する。一方、Resultの値が0の場合(すなわち2値画像データの中で、1802に設定する条件を満たさない画像データがある場合)は注目画素の値を出力する。
【0121】
図7に、図18で示したパターンマッチング回路を用いて、ドット形状を小さく(画素数を少なく)する処理の一例を示す。図7では、図16におけるドット種類2(ドット画素数5)のドット形状を、図15におけるドット種類2(ドット画素数4)に変更する場合について説明する。
【0122】
図7において、パターン照合部1802には以下の条件を設定する。
D(i−2, j)=1 i−2,jの位置の画素値=1(黒)
D(i−1, j)=1 i−1,jの位置の画素値=1(黒)
D(i−2, j+1)=1 i−2,j+1の位置の画素値=1(黒)
D(i−1, j+1)=1 i−1,j+1の位置の画素値=1(黒)
また、変更値保持部1803には0(白)を設定する。
【0123】
上記設定を行った後、701で表すドット画像(図16におけるドット種類2(ドット画素数5)のドット)をパターンマッチング回路に入力する。701において、斜線で示した画素は黒(値が1)、白い画素は値が0の画素を表す。
【0124】
図7では、701のドット画像のうち、702で示した画素がバッファ1801内の注目画素の位置(i,j)になったときに、パターン照合部1802に記述した条件がすべて満たされる。そのため、702の画素が注目画素の位置(i,j)になったとき、セレクタ1804からは注目画素の値(702の場合1)を出力せずに、変更値保持部1803に設定した値0が出力される。
【0125】
また、702以外の画素がバッファ1801内の注目画素の位置(i,j)になった場合は、パターン照合部1802に記述したすべての条件が満たされることがない。そのため、セレクタ1804からはバッファ1801内の注目画素の位置(i,j)の画素値が出力される。
【0126】
以上の動作により、パターンマッチング回路からは703で示したように、704の画素のみ0に変更したドットが出力される。これにより、図16におけるドット種類2(ドット画素数5)のドット形状が、図15におけるドット種類2(ドット画素数4)に変更される。
【0127】
図8に、図18で示したパターンマッチング回路を用いて、ドット形状を大きく(画素数を多く)する処理の一例を示す。画素数を少なくする処理は、別の箇所に記載する。図8では、図15におけるドット種類2(ドット画素数6)のドット形状を、図17におけるドット種類2(ドット画素数7)に変更する場合について説明する。
【0128】
図8において、パターン照合部1802には以下の条件を設定する。
D(i−1,j−2)=1 i−1,j−2の位置の画素値=1(黒)
D(i,j−2)=1 i,j−2の位置の画素値=1(黒)
D(i+1,j−2)=1 i+1,j−2の位置の画素値=1(黒)
D(i−1,j−1)=1 i−1,j−1の位置の画素値=1(黒)
D(i,j−1)=1 i,j−1の位置の画素値=1(黒)
D(i+1,j−1)=1 i+1,j−1の位置の画素値=1(黒)
また、変更値保持部1803には1(黒)を設定する。
【0129】
上記設定を行った後、801で表すドット画像(図15におけるドット種類2(ドット画素数6)のドット)をパターンマッチング回路に入力する。
【0130】
図8では、801のドット画像のうち、802で示した画素がバッファ1801内の注目画素の位置(i,j)になったときに、パターン照合部1802に記述した条件がすべて満たされる。そのため、802の画素が注目画素の位置(i,j)になったとき、セレクタ1804からは注目画素の値(802の場合0)を出力せずに、変更値保持部1803に設定した値1が出力される。
【0131】
また、802以外の画素がバッファ1801内の注目画素の位置(i,j)になった場合は、パターン照合部1802に記述したすべての条件が満たされることがない。」そのため、セレクタ1804からはバッファ1801内の注目画素の位置(i,j)の画素値が出力される。
【0132】
以上の動作により、パターンマッチング回路からは803で示したように、804の画素のみ1に変更したドットが出力される。これにより、図15におけるドット種類2(ドット画素数6)のドット形状が、図17におけるドット種類2(ドット画素数7)に変更される。
【0133】
尚、上記図1、図7及び図8で説明した方法でドットパターン画像を形成するドットの形状(画素数)を変更すると、ドットの形状を変更する前のドットの中心の位置と、変更した後でのドットの中心の位置が変わってしまう。しかしこのようなドットの形状の変更はドットパターン画像に含まれる全てのドットに対して行われる。
【0134】
そのため、ドットパターン画像を形成する全てのドットの中心位置が同じように変化するため、各ドット間での中心位置の距離は変化しない。従って、ドットパターン画像を形成するドットの形状(画素数)を変更しても、図12で説明した方法により、付加情報を重畳した画像からドットパターンとして画像に埋め込まれた付加情報を抽出することが可能である。
【0135】
また、図1のステップ105では、記憶装置404に格納されている現在のドットパターン画像のドット形状(画素数)と、MFPが指定するドット形状(画素数)の比較を行う。
【0136】
ここで、両方の形状(画素数)が異なる場合はステップ106〜108により画素数の変更を行う。これは、記録紙上に印字されるドットパターンの形状を画像形成装置に依存せずに同じ大きさにするために行っている。
【0137】
しかし、図12で説明した方法によりドットパターンとして画像に埋め込まれた付加情報を抽出するためには、ドットの形状(画素数)がドットパターンを検出できる画素数以上であれば問題はない。従って、図1のステップ105において記憶装置404に格納されている現在のドットパターン画像のドット形状(画素数)が、MFPが指定するドット形状(画素数)以上であれば、画素数の変更を行う必要はない。
【0138】
図19は上記内容を考慮した、ドットパターン画像を再形成する動作を示すフローチャートである。図19では、現在のドットパターン画像のドット形状(画素数)と、MFPが指定するドット形状(画素数)の比較を行う(1901)。そして、現在のドットパターン画像のドット形状がMFPが指定するドット形状(画素数)よりも小さい場合のみドットの画素数の変更を行う構成になっている。
【図面の簡単な説明】
【0139】
【図1】ドットパターン画像を再形成する動作を示すフローチャート
【図2】装置構成を示すブロック図
【図3】コンピュータ202の内部構造を示すブロック図
【図4】MFP203の内部構造を示すブロック図
【図5】MFP203がドットパターン画像を形成する動作を示すフローチャート
【図6】画像データをプリンタに出力するための設定画面の一例
【図7】ドット形状を小さくする処理の一例
【図8】ドット形状を大きくする処理の一例
【図9】付加情報を画像に埋め込む方法の一例を示すブロック図
【図10】ドットパターンに付加情報を埋め込む方法の説明図
【図11】ドットパターンに付加情報を埋め込む方法の説明図
【図12】付加情報を抽出するためのフローチャート
【図13】ドット間の主走査方向及び副走査方向の距離のヒストグラムの一例
【図14】ドットパターンに付加情報を埋め込む方法の説明図
【図15】設定値リストの一例
【図16】設定値リストの一例
【図17】設定値リストの一例
【図18】パターンマッチングによりドットを構成する画素値を変更する回路の一例
【図19】ドットパターン画像を再形成する動作を示すフローチャート
【技術分野】
【0001】
本発明は、画像に付加情報を重畳して出力する画像形成装置及び画像処形成法に関する。特に付加情報を生成する画像形成装置と画像に付加情報を重畳して印字する画像形成装置が異なる場合に、付加情報を生成する画像形成装置と印字する画像形成装置の特性の違いに依らず、所望の状態で付加情報を印字する手段を有する画像形成装置に関する。
【背景技術】
【0002】
プリンタや複写機などの画像形成装置は性能向上により高機能化が進み、原稿に対してさまざまな画像処理を行うことが可能となった。具体的には、原稿に対するコピー禁止設定やコピーできるユーザーの制限機能、又は原稿の追跡のために印字した装置のシリアル番号を画像に埋め込むなどの要求があった。
【0003】
そこで近年では、記録紙上に画像を印字する際に、上に記した情報をドットパターンで生成し、画像と重畳して原稿に印字するといったことが行われている(以下、ドットパターンを用いて画像に重畳する情報を付加情報と記す)。これにより、前記付加情報を重畳して印字した画像を画像形成装置によりコピー又は画像読取装置によりスキャンすると、前記画像形成装置及び画像読取装置はドットパターンを読み取ることでコピー又はスキャン処理の停止やユーザーの認証を行う。
【0004】
図9は、付加情報を画像に埋め込む方法の一例をブロック図で示したものである。図9では印字する画像が画像メモリ901に格納されている。画像メモリ901に格納されている画像データはRGB、CMYK、YUVやKなどさまざまな状態で格納されている。
【0005】
画像メモリ901から出力された画像データは色変換部902に入力され、C(シアン)、M(マゼンダ)、Y(イエロー)、E(ブラック)の4つの成分に変換される。
【0006】
また、CMYK各成分は各種補正処理部903において補正処理が施される。次に、疑似階調処理部904において、組織的ディザ法や誤差拡散法等の手法を用いて疑似階調処理が施される。
【0007】
以上の処理が施された画像データに対して、付加情報生成部905において生成された付加情報をY成分上に重畳(加算)し、それぞれの成分をプリンタエンジン906に入力することにより、画像情報以外の情報が付加された画像の印刷を行う。
【0008】
以下、ドットパターンに付加情報を埋め込む方法の一例を図10、図11及び図14を用いて説明する。
【0009】
図10において、1001はドットパターンを形成する領域の一部を表しており、図10内に示した黒点はドットパターンに付加情報を埋め込むための基準点を示している。基準点は原稿上の印刷可能領域内に、主走査及び副走査方向にN画素の間隔で配置されている。付加情報は、図10に示す基準点と、実際に前記基準点付近に印字するドットとの位置関係を用いて画像内に埋め込む。また、図10では点線1003で囲まれる16個の基準点と、基準点付近に印字する各ドットパターンとの位置関係により値を埋め込む例を説明する。
【0010】
図11は図10に示したそれぞれの基準点の付近を拡大した図であり、図中に示す四角はそれぞれ印字を行う画素を表す。図11は主走査方向5画素、副走査方向5画素の計25画素から構成される。図内1101で表した画素(図中eで表している)は図10における基準点を表しており、図11は基準点を中心に主走査方向±2画素、副走査方向±2画素分の領域を表す。
【0011】
図11において、ドットパターンを図内に示す画素a、b、c、d、f、g、h、iのいずれの位置に印字するかにより、ドットパターンは図14に示す値を埋め込むことが可能となる。
【0012】
例えば、aの位置(基準点に対して、副走査方向に−2画素、主走査方向に−2画素の位置)にドットパターンを印字した場合、そのドットパターンは0という値を表す。同様にbの位置(基準点に対して副走査方向に−2画素の位置)にドットパターンを印字した場合は1という値を表す。以下、c、d、f、g、hのそれぞれの位置にドットパターンを印字した場合は2、3、4、5、6の値を表し、iの位置(基準点に対して、副走査方向に2画素、主走査方向に2画素の位置)にドットパターンを印字した場合は7という値を表す。
【0013】
以上によりひとつのドットパターンは、基準点とドットパターンを印字する位置によって0〜7の値を表すことができ、これにより3ビットの情報を埋め込むことができる。尚、ドットパターンを基準点上(図11のeの位置)に印字した場合は、そのドットパターンは情報を持たないことを表す。
【0014】
図10の1003では、図11で説明したドットパターンが16個で構成されている。従って図10の点線1003で囲んだ16個のドットでは、最大48ビット(3ビット×16個)の情報を埋め込むことができる。
【0015】
しかし1003に含まれる全てのドットに対して情報を埋め込んで基準位置と異なる位置にドットを印字すると、印字したドットの位置から基準位置を抽出するために複雑な処理が必要となる。そこで本説明では、1003内においてそれぞれ隣り合わない8個のドット(図10において1002で示す)に対しては情報の埋め込みを行わずに、基準位置(図11においてeで表す)にドットを印字する。そして1003に含まれ、かつ1002以外の8個のドットにそれぞれ図11に示す方法で情報を埋め込んでドットを印字する。これにより、1003の領域には24ビット(3ビット×8個)の付加情報が埋め込まれる。
【0016】
図10の1003で示したドットパターンによる付加情報は、主走査方向及び副走査方向に複数回繰り返し形成される。これにより、例えばドットパターンが原稿の画像と重なり、画像をスキャンした時にドットパターンが読み取れなくなった場合でも、原稿上の他の部分にある同じ情報を有するドットパターンを読み込むことにより、付加した情報を取得することができる。
【0017】
また、図11ではドットパターンを印字する位置を基準点から2画素離れた位置として説明したが、以上説明した方法では2画素以外の距離でもドットパターンに付加情報を埋め込むことは可能である。
【0018】
ただし、画像形成装置の制度などの要因によりドットパターンを印字する位置が1画素程度ずれて印字してしまっても埋め込んだ情報を取得できるように2画素以上の距離を開けて印字することが望まれる。一般的には基準点から主走査方向、副走査方向にそれぞれ2〜4画素程度の距離でドットを印字する。
【0019】
尚、上記説明ではドットパターンとして印字するドットの大きさを1画素として説明を行ったが、画像読取装置によりドットパターンを検出するためにはある程度の画素数を持ったドットが必要となる。そのため、一般的にはドットパターンの大きさは4〜9画素程度(2画素×2画素〜3画素×3画素)で表現される。
【0020】
図12は付加情報を重畳した画像から、ドットパターンとして画像に埋め込まれた付加情報を抽出するためのフローチャートを示す。
【0021】
付加情報を重畳した画像から付加情報を抽出するために、始めに所定の大きさ(付加情報を埋め込んだドットの大きさ)以上の大きさの画像を削除することにより付加情報を埋め込んだドットの抽出を行う(1201)。これにより、図10に示す情報付加及び基準点検出のためのドットを抽出する。
【0022】
ただしステップ1201の処理では、付加情報を埋め込むドットと同じような大きさの画像データが残り、または画像データと重なったため所定以上の大きさになった付加情報を埋め込んだドットが削除されることがある。
【0023】
ここで、ステップ1201において抽出したドットは主走査方向2画素×副走査方向2画素、又は主走査方向3画素×副走査方向3画素といったようにある大きさで形成されている。そこで、以下図12における説明においてドット間の距離(画素数)と記した場合、それは一方のドットの所定の位置から他方のドットの所定の位置までの距離(画素数)を表すものとする。ここで、ドットの所定の位置とは、例えばドットの主走査方向の最大幅を2等分する線分と副走査方向の最大幅を2等分する線分の交点(以降この位置をドットの中心と記す)などが考えられる。
【0024】
次にステップ1201の処理を行った後の各ドットパターンに対して、最も近い位置にあるドットまでの主走査方向の距離(画素数)及び副走査方向の距離(画素数)を計測し、それらを全ドットパターンに対して行う。
【0025】
図13はステップ1202によって作成された最も近いドットとの主走査方向及び副走査方向の距離のヒストグラムの一例を示す。
【0026】
図13において、横方向は注目ドットから最も近い位置にあるドットまでの主走査方向又は副走査方向の距離(画素数)、縦方向は該当するドットの個数を表している。
【0027】
図13において、nは各ドットに情報を埋め込むために基準点から移動した主捜査方向又は副走査方向の画素数であり、Nは基準点間の距離(画素数)となる。
【0028】
以下、図11を用いて図13のようなヒストグラムが構成される理由を説明する。
【0029】
図11において、例えば注目ドットの位置がa(基準点に対して主走査方向に−2画素、副走査方向に−2画素)の場合、注目ドットに最も近いドットは注目ドットに対して主走査方向左側の基準点ドット、又は副走査方向上側の基準点ドットである。
【0030】
このとき、例えば最も近いドットを主走査方向左側に位置する基準点ドットとすると、注目ドットと主走査方向左側に位置する基準点ドットとの距離は主走査方向にN−2画素(Nは基準点間の画素数)、副走査方向に2画素となる。
【0031】
また、最も近いドットを副走査方向上側に位置する基準点ドットとすると、注目ドットと副走査方向上側に位置する基準点ドットとの距離は主走査方向に2画素、副走査方向にN−2画素(Nは基準点間の画素数)となる。
【0032】
次に、注目ドットの位置がb(基準点に対して副走査方向に−2画素)だった場合、注目ドットに最も近いドットは注目ドットに対して副走査方向上側に位置する基準点ドットである。このとき、注目ドットと副走査方向上側に位置する基準点ドットとの距離は主走査方向に0画素、副走査方向にN−2画素となる。
【0033】
また、注目ドットの位置がc(基準点に対して主走査方向に2画素、副走査方向に−2画素)だった場合、注目ドットに最も近いドットは注目ドットに対して主走査方向右側に位置する基準点ドット又は副走査方向上側に位置する基準点ドットである。このとき、例えば最も近いドットを主走査方向右側に位置する基準点ドットとすると、注目ドットと主走査方向左側に位置する基準点ドットとの距離は主走査方向にN−2画素、副走査方向に2画素となる。また、最も近いドットを副走査方向上側に位置する基準点ドットとすると、注目ドットと副走査方向上側に位置する基準点ドットとの距離は主走査方向に2画素、副走査方向にN−2画素(Nは基準点間の画素数)となる。
【0034】
同様に注目ドットの位置がd、f、g、h、iの場合も、それぞれ最も近いドットとの距離は主走査方向、副走査方向とも、0画素、2画素又はN−2画素となる。これにより図13のようなヒストグラムが得られる。尚、図11の場合、図13におけるn=2である。これにより、ステップ1202の処理を行うことでヒストグラムを作成し、ヒストグラムの値から基準点間の距離N、情報を埋め込むために基準点から移動した画素数nが得られる(1204)。
【0035】
尚、予め基準点間の画素数N及び情報を埋め込むために基準点から移動した画素数nがわかっている場合は、ステップ1202及びステップ1203を行う必要はない。
【0036】
次に、注目ドットに対して、ステップ1203で取得した基準転換の距離Nの偶数倍(2、4、6、8、・・・・)の位置にあるドットとの距離(画素数)を求めてヒストグラムを生成する(1204)。
【0037】
注目ドットが情報を埋め込んだドットの場合、2N、4N、6N、8N画素の位置にあるドットもまた情報を埋め込んだドットである。そのため主走査方向及び副走査方向の距離は0画素、n画素、2n画素、2N−2n画素、2N−n画素、2N画素、2N+n画素、2N+2n画素、4N−2n画素、4N−n画素・・・・とn画素の間隔N画素の近辺に複数のヒストグラムが発生する。これにより情報を埋め込んだドットが検出できる。
【0038】
また、ドットパターンによる付加情報は、主走査方向及び副走査方向に複数回繰り返し形成されるため、同じ情報を埋め込んだドットは所定の間隔で発生する。これにより、同じ情報を埋め込んだドット同士でドット間の距離を計測した場合、主走査方向及び副走査方向の距離のヒストグラムは0、2N、4N、6N、8Nの部分のみに現れる。
【0039】
例えば図10の場合、主走査方向4ドット、副走査方向4ドットでひとつの付加情報を埋め込んでいるため、主走査方向4ドット間隔、又は4副走査方向ドット間のドットの距離を計測するとその画素数は必ず4Nとなる。これにより、ひとつの付加情報を構成する主走査方向のドット数、副走査方向のドット数が検出できる(1205)。
【0040】
一方、注目ドットが図10の1002に示すように基準点に印字されている場合、2N、4N、6N、8N画素の位置にあるドットもまた基準点に印字されている。
【0041】
そのため、主走査方向及び副走査方向の距離のヒストグラムは常に0、2N、4N、6N、8Nの部分のみに現れる。これにより、基準点に印字された(情報を埋め込まれていない)ドットを検出する(1206)。
【0042】
ステップ1205、ステップ1206により情報を埋め込んだドットと基準点に印字されたドットが判明したら、情報を埋め込んだドットと基準点との位置関係から埋め込んだ情報を検出する(1207)。
【0043】
そして付加情報を構成する全てのドットに対して埋め込んだ情報を検出して付加情報を抽出する(1208)。
【0044】
コピー動作において図10〜図11で説明したドットパターン画像を画像に重畳して印字を行う場合、付加情報のドットパターン画像の形成は画像読取装置により画像をスキャンした後で行われ、ドットパターン画像生成後に画像に重畳されて印字される。また、コンピュータなどで形成した画像に対してドットパターン画像を重畳して印字する場合は、コンピュータから画像データ及び付加情報を取得した後、付加情報から図10で示したようにドットパターン画像を作成して画像に重畳して印字する。これらの動作では、画像の取得、付加情報からドットパターン画像を生成、画像とドットパターン画像の重畳及び印字は一連の動作として行われる。
【0045】
ここで、スキャン画像や画像形成装置に転送された画像を一旦記憶装置に格納し、その後記憶装置内の画像を指定して印字を行う場合の動作を考える。このとき、スキャン又は転送された画像を記憶装置に格納すると供に、付加情報のドットパターン画像形成を行い、画像と同様に記憶装置に格納しておく。そして印字時は指定された画像と、画像に対応するドットパターン画像を記憶装置から取得して重畳して印字を行う。
【0046】
このように印字を行う前に付加情報のドットパターン画像を生成しておくのは、付加情報を埋め込んだドットパターン画像を生成するために時間がかかるためであり、印字を行う際に不要な時間がかかるのを回避するための処理である。
【0047】
このとき、形成したドットパターン画像は、ドットパターン画像を生成した時の画像形成装置の状態において印字を行うことを前提にドットの濃度及び画素数(大きさ)を制御して画像を生成する。しかし、印字を行う時になって画像形成装置の経時変化や周囲の環境変化などによりドットの濃度が薄く印字され、埋め込み情報の認識率が落ちることが考えられる。また逆にドットの濃度が濃くなり、原稿上でドットが必要以上に目立つことにより画質が低下するといったことが考えられる。
【0048】
上記問題を解決するために、参考文献1では、印字を行う際に画像形成装置の印字特性であるキャリブレーションデータを取得し、取得したキャリブレーションデータからドットパターン画像が実際に印字される濃度を算出する。
【0049】
そしてドットパターン画像形成時より薄くドットパターンが出力される特性を示す場合は濃度値が高くなるように調整してから印字を行う方法が提案されている。
【特許文献1】特開2006−215745
【発明の開示】
【発明が解決しようとする課題】
【0050】
しかし上記従来例では、印字時を行うときのキャリブレーションデータのみを参照してドットパターンの濃度を補正するため、付加情報のドットパターン画像を生成した画像形成装置と印字を行う画像形成装置が同じ装置であることが前提となっている。そのため、例えば画像及び付加情報のドットパターン画像を生成した後、画像及び付加情報のドットパターン画像を他の画像形成装置に転送し、転送先の画像形成装置で印字する場合はキャリブレーションデータによって濃度の補正を行うことが出来なかった。
【0051】
また、付加情報のドットパターン画像を生成した画像形成装置と印字を行う画像形成装置の解像度、階調数などの性能や仕様が異なる場合、希望する濃度や大きさでドットを印字することが出来なかった。
【0052】
さらに、ドットパターン画像を多値データで生成すると、ドットパターン画像の容量が増大するといった問題がある。
【課題を解決するための手段】
【0053】
上記課題を解決するために、本願請求項1記載の装置は、以下の手段を有する。
【0054】
印刷対象の二次元コードを構成する各要素の画素数を取得する第1の取得手段と、
印刷手段が二次元コードをシートに印刷する際の当該二次元コードの各要素の画素数を取得する第2の取得手段と、
前記第1の取得手段で取得された各要素の画素数と前記第2の取得手段で取得された各要素の画素数とが一致しない場合には、前記印刷対象の二次元コードを前記印刷手段に印刷させる前に前記印刷対象の二次元コードの各要素の画素数を変更する変更手段とを有する。
【発明の効果】
【0055】
本発明によれば、付加データを生成する装置と画像と付加データを重畳して印字を行う装置が異なる場合において、付加データを生成する装置の設定値と印字を行う装置の設定値により付加データに対して補正を行う。
【0056】
これにより、装置間の設定値及び/又は製品仕様の違いによる影響をなくして付加データを画像に重畳することができる。
【発明を実施するための最良の形態】
【0057】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【0058】
以下、添付図面を参照して本発明に係る一発明の実施の形態例を詳細に説明する。
【0059】
図2は本発明に係る実施例の構成を示すブロック図である。
図2において、201はローカルエリアネットワーク(LAN)であり、後述するコンピュータ202及び画像形成装置である多機能プリンタ(以下MFPと記す)203を接続する。202はコンピュータであり、ユーザーによって画像データの生成、編集及び画像データに重畳する付加情報を生成する。またコンピュータ202はLAN201に接続されており、生成された画像データ及び付加情報はLAN201を介してMFP203に送られる。
【0060】
203はLAN201に接続されたMFPであり、LAN201を介して送られてくる画像データ及び付加情報を取得する。また取得した付加情報から、図10に示すような付加情報が埋め込まれたドットパターン画像を生成し、印字時に画像データに重畳して印字する。
【0061】
尚、図2では簡略化するためにLAN201に接続されているコンピュータ202及びMFP203はそれぞれひとつとして説明したが、通常LAN201には複数のコンピュータ及びMFPが接続されている。コンピュータ202はLAN201に接続されている複数のMFPの中から所望のMFPを選択して画像データ及び付加情報を出力する。選択されたMFPは送られた画像データ及び付加情報を取得し、付加情報からドットパターン画像を生成して画像データに重畳して印字する。
【0062】
図3はコンピュータ202の内部構造を示すブロック図である。
図3において、301は中央演算処理装置(CPU)であり、コンピュータ202全体の制御を行う。302はROMであり、CPU301が処理する各種の制御プログラムを格納する。また、303はRAMであり、後述する外部記憶装置306に格納されたアプリケーションプログラム等をロードして格納する。CPU301はRAM303にロードされたプログラムによって処理を実行する。また、RAM303はCPU301が各種の制御を実行する際の作業領域を提供する。
【0063】
304はディスプレイであり、CPU301の制御により各種の表示を行う。305は入力部であり、キーボード、ポインティングデバイス等により必要な入力を行う。306は外部記憶装置であり、種々のアプリケーションプログラムを格納する。307はネットワークインタフェースであり、ネットワークに接続された他の機器とのデータ通信を行う。
【0064】
図2におけるLAN201はネットワークインターフェース307に接続されており、コンピュータ202はネットワークインターフェース307を介してLAN201と接続されている。
【0065】
上記CPU201、ROM202、RAM203、ディスプレイ204、入出力装置205、外部記憶装置206及びネットワークインターフェース207は、それぞれコンピュータの内部バス208で接続されている。
【0066】
コンピュータ202において生成した画像データに付加情報を重畳して印字する場合、コンピュータ202は画像データ及び付加情報を所定のプリンタへ出力する。
【0067】
図6はコンピュータ202において画像データをプリンタに出力するための設定画面の一例を示す。図6において601は画像データを出力するプリンタを選択する領域で、コンピュータ202はこの領域に表示されたプリンタに対して画像データ及び付加情報を出力する。プリンタ選択領域にはネットワークに接続された複数のプリンタが表示、選択できるようなっている。
【0068】
602は601で選択したプリンタに関する情報を表示する部分であり、本実施例ではプリンタの状態、プリンタの機種名、設置場所などが表示できるようになっている。603は画像データの印字範囲を設定する領域であり、本実施例では「画像データを全て印字」、「指定する1ページのみ印字」、「印字するページを指定して印字」から選択することが出来る。
【0069】
604はプリント動作に対して詳細な設定を行う画面に移行するためのボタンであり、印字する原稿のサイズ、縦横の向き、変倍率などの設定が可能である。また、画像データに重畳する付加情報の設定もこのボタンを押して設定画面に移行することで行うことが出来る。
【0070】
605は画像データに付加情報を重畳するためのチェックボックスであり、このチェックボックスにチェックをすることでコンピュータ202から画像データ及び画像データに重畳する付加情報を出力する。尚、605のチェックボックスをチェックしない場合は画像データのみ出力し、付加情報の重畳は行わない。
【0071】
606はカラー画像を白黒で印刷するためのチェックボックスであり、本チェックボックスをチェックするとコンピュータ内で画像データが白黒に変換される。607は画像データを印字する枚数を指定する領域であり、一度のプリント動作で指定した回数だけ画像データが印字される。
【0072】
608はプリントボタンであり、このボタンを押すことにより603〜607で設定された内容の処理を画像データに対して行い、601で選択したプリンタに対して画像データ及び付加情報を出力する。609はキャンセルボタンであり、このボタンを押すと図6の設定画面で設定した内容がキャンセルされる。
【0073】
図4はMFP203の内部構造を示すブロック図である。
図中401はユーザーが操作するダイアル及びスイッチ等が配列された操作パネル部であり、コピー、ファックス送信等の動作指示や拡大縮小倍率、送信先の電話番号入力等の設定はこの操作パネル部を用いて行う。
【0074】
402は原稿を光電的に走査して画像信号を形成するリーダ(読み取り部)である。原稿をリーダの原稿台に乗せ、主走査方向に一列に並べたCCDなどの光電素子を素子の並び方向と垂直(副走査方向)に移動して原稿を読み取り、電気的な画像データを生成する。リーダで読み取った画像データはリーダ制御部を介してバッファメモリに格納される。
【0075】
403は前記リーダにより読み取られた画像データやLAN201を介して送られてきた画像データを記録紙上に形成するプリンタであり、本実施例のMFPでは電子写真方式のプリンタが接続されている。プリンタへの画像データの出力はバッファメモリに格納された画像データを、プリンタ制御部を介してプリンタに送ることによって行う。
【0076】
尚、プリンタ403の内部ブロックは図9と同様の構成となっている。そのため、MFP203により画像データとドットパターン画像を重畳して印字を行う場合、画像データ及び付加情報を埋め込んだドットパターン画像をバッファメモリに格納する。そして、画像データと供にドットパターン画像をプリンタ403に送ることでドットパターン画像が重畳された画像データが印字される。
【0077】
404は前記リーダ402により読み取られた画像データやLAN201を介して送られてきた画像データ及び付加情報、ドットパターン画像及びドットパターン画像に関する情報を表す設定値(後述するドットの種類及びドット形状)を格納する記憶装置である。記憶装置404はハードディスク等の不揮発性メモリより構成される。本記憶装置に画像データ及びドットパターン画像を格納する場合、又は本記憶装置に格納された画像データ及びドットパターン画像を読み出す場合は後述のバッファメモリを介して格納及び読み出しが行われる。
【0078】
405は操作パネル部401を制御する操作パネル制御部であり、操作パネルにより入力されたユーザーからの指示を解析し、指示内容を後述のマイクロプロセッサ部に送る。
【0079】
406はリーダ402を制御するリーダ制御部であり、マイクロプロセッサ部の指示によりリーダ402を駆動して原稿台上の原稿を読み取ると共に、読み取られた画像データをバッファメモリに格納する。
【0080】
407はプリンタ403を制御するプリンタ制御部であり、マイクロプロセッサ部からの指示によりバッファメモリから画像データ及びドットパターン画像を取得してプリンタ403に出力する。また、画像データの出力に合わせてプリンタ403を駆動することにより記録紙上に画像を印刷して出力する。
【0081】
408は記憶装置404を制御する為の記憶装置制御部であり、マイクロプロセッサ部の指示によりバッファメモリから記憶装置404へのデータの格納及び記憶装置404からバッファメモリへのデータの出力等を行う。
【0082】
409はMFP203全体の動作を制御するマイクロプロセッサ部であり、各ブロックに指示を行うことによりMFP203はスキャン、プリント、ファックス受信/送信などの各種動作を行う。また、マイクロプロセッサ部409内部はMFPの動作を行うプログラム等を記憶するROM、制御などに必要なデータを一時格納するためのRAMを含んでいる。
【0083】
また、マイクロプロセッサ部409内部にあるROMには、付加情報からドットパターン画像を生成する時にドットの形状(画素数)を決定するための設定値リストが格納されている。マイクロプロセッサ部は、付加情報からドットパターン画像を生成する場合、ROMに格納された設定値リストを参照してドットの形状(画素数)を決定し、指定された形状(画素数)によりドットを形成してドットパターン画像を生成する。
【0084】
さらに、LAN201を介して他のMFPから画像データ、ドットパターン画像及びドットパターン画像に含まれるドットの形状を表す設定値が転送された場合、マイクロプロセッサ部409は以下のような動作を行う。すなわち、送られてきた設定値とROMに格納された設定値リストを参照してドットパターン画像に含まれるドットの形状(画素数)を変更し、新たなドットパターン画像を生成する。
【0085】
410はバッファメモリであり、リーダ402から原稿を読み込む、記憶装置404から画像データを読み出す又はLAN201を介して画像データ及び付加情報を取得するなどの動作を行った場合、各画像データは一度バッファメモリ410に格納される。
【0086】
また、プリンタ403から画像データを印刷する、記憶装置404に画像データを格納する又はLAN201を介して画像データを出力するなどの動作を行う場合、各画像データはバッファメモリ410から出力される。
【0087】
411は符号・復号化処理部であり、バッファメモリ410に格納された画像データに対して必要な場合は符号化(圧縮処理)、または圧縮された画像データに対して復号化(伸長処理)を行う。
【0088】
412は画像処理部であり、操作パネル401によってユーザーが指示した画像処理や画質向上のための処理が行われる。
【0089】
413は上記各ブロックを接続する内部バスであり、画像データの転送、各ブロックが動作するためのコマンド及び設定値はこの内部バス414を介して送受信が行われる。
【0090】
414はネットワーク制御部であり、内部バス413はネットワーク制御部を介して外部LAN201と接続されている。また、ネットワーク制御部414では外部LAN201と内部バス413の間でプロトコル変換を行っている。これにより、外部LANを介して入力した画像データはリーダ402から読み込んだ画像データと同じようにバッファメモリ410に格納、プリンタ403から印刷、及び記憶装置404に格納することが可能である。
【0091】
尚、本実施例で生成されるドットパターン画像は、データ量を削減するために2値画像で生成される。
【0092】
図5は、LAN201から画像データ及び付加情報を取得した場合に、MFP203がドットパターン画像を形成する動作を示すフローチャートである。
【0093】
図5において、MFP203はまず始めにコンピュータから出力された画像データ及び付加情報をLAN201を介して取得する(501)。取得した画像データはバッファメモリ410に一旦格納された後、記憶装置操作部408を介して記憶装置404に格納される。また、付加情報も同様に記憶装置404に格納される(502)。
【0094】
画像データ及び付加情報を記憶装置404に格納すると、MFP203は付加情報を埋め込むためのドット種類の選択を行う(503)。これはドットパターン画像により付加情報を画像に重畳する場合に、プリンタエンジン性能やキャリブレーションなど画像形成装置毎に異なる固体差により記録紙上に印字されるドットの大きさが画像形成装置によって変わらないようにするための構成である。
【0095】
これにより、どの画像形成装置においても同じ値のドット種類を選択することで、記録紙上に印字されるドットパターン画像のドットをほぼ同じ大きさにすることを目的とする。
【0096】
以下、具体例を示してドット種類の選択の効用を説明する。
図15はドット種類とそれぞれのドット種類を選択した場合に付加情報を埋め込むドットパターン画像を形成するドットの画素数、及びドット形状との相関を表す設定値リストの一例である。図15では、ドット種類として4種類のドット形状(画素数)を選択することが可能であり、ドット種類1〜4を選択した場合、それぞれドット形状(画素数)が5画素〜8画素でドットパターン画像が形成される。
【0097】
ここで、ドット種類、すなわちドットパターン画像を形成するドットの形状(画素数)が複数用意されているのは、ユーザーやMFPの管理者がドットの形状(画素数)を選択できるような構成にするためである。
【0098】
図16は、プリンタエンジン性能やキャリブレーション等の個体差によって、記録紙上に印字される画像が大きくなる画像形成装置に対する設定値リストの一例である。図16では、ドット種類1〜4を選択した場合、それぞれドット形状(画素数)が4画素〜7画素でドットパターン画像が形成される。そのため、個体差によって記録紙上に印字される画像が大きくなるような画像形成装置において図15の設定値リストを用いてドットパターン画像を形成するよりも、各ドットの大きさが小さくなるように補正される。
【0099】
また、図17は、プリンタエンジン性能やキャリブレーション等の個体差によって、記録紙上に印字される画像が小さくなる画像形成装置に対する設定値リストの一例である。図17では、ドット種類1〜4を選択した場合、それぞれドット形状(画素数)が6画素〜9画素でドットパターン画像が形成される。そのため、個体差によって記録紙上に印字される画像が小さくなるような画像形成装置において図15の設定値リストを用いてドットパターン画像を形成するよりも、各ドットの大きさが大きくなるように補正される。
【0100】
以上説明したように、ドット種類とドット画素数の相関を表す設定値リストを用いて画像形成装置間の個体差を補正することにより、ドットパターン画像のドットをほぼ同じ大きさに記録紙上に印字することができる。
【0101】
尚、本実施例では上記設定値リストはマイクロプロセッサ409内にあるROMに格納されているものとする。また、設定値リストは固定的なものでなく、画像形成装置の特性が変化した場合はそれぞれのドット種類に対するドット画素数の値を変更することが出来るものとする。
【0102】
上記のように、ドットパターン画像を形成するドット種類を選択し(503)、設定リストを参照して、ステップ503で選択したドット種類に対応するドットの形状(画素数)を選択する(504)。
【0103】
その後、ステップ504で選択したドットの形状(画素数)を用いて図10、図11、図14で説明した方法により付加情報を埋め込んだドットパターン画像を生成し(505)、生成したドットパターン画像を記録装置404に格納する(506)。また、ステップ503で選択したドット種類及びステップ504で選択したドットの形状(画素数)を記録装置404に格納する(507)。
【0104】
以上の動作により付加情報を埋め込んだドットパターン画像が生成できたので、付加情報を記録装置404条から削除して(508)、ドットパターン画像を形成する動作を終了する。
【0105】
尚、図7で示した動作により記憶装置404に格納した画像データ、ドットパターン画像及び選択したドット種類及びドットの形状(画素数)の情報はそれぞれ関係性を持った状態で記憶装置404に格納される。
(以下、選択したドット種類及びドットの形状を「設定値」と記す)
図1はLAN201に接続された他の画像処理装置から画像データ、ドットパターン画像及び設定値が送られてきた場合に、MFP203がドットパターン画像を再形成する動作を示すフローチャートである。
【0106】
図1において、MFP203はまず始めにLAN201に接続された画像形成装置から画像データ、ドットパターン画像及び設定値をLAN201を介して取得する(101)。取得した画像データ、ドットパターン画像バッファメモリ410に一旦格納された後、記憶装置操作部408を介して記憶装置404に格納される。また、同様に設定値も記憶装置404に格納される(102)。
【0107】
画像データドットパターン画像及び設定値を記憶装置404に格納すると、MFP203はドットパターン画像を形成するドットの形状(画素数)をMFP203で印字する形状(画素数)に変換するための処理を行う。これは、記憶装置404に格納した設定値のドットの種類とドット形状の関係が、MFP203が有する設定値リストの内容と同じであるかどうかを参照し、もし異なっている場合はMFP203の設定値リストの内容に補正する必要があるためである。
【0108】
そのため、記録装置404に格納した設定値を参照し、ドット種類及びドットパターン画像を形成するドットの形状(画素数)を取得する(103、第1の取得工程の一例)。即ち、印刷対象の二次元コードを構成する各要素(各ドット)の画素数を取得するのである。次に、MFP203が有する設定値リストを参照し、ステップ103で取得したドット種類に対応するドット形状(画素数)を取得する(104、第2の取得工程の一例)。つまり、MFP203の印刷部が二次元コードを印刷する際に、各要素をどの程度の画素数で形成すればよいかを示す情報を、設定値リストの参照により、取得するのである。
【0109】
そしてステップ103で取得したドットパターン画像を形成するドットの形状(画素数)と、ステップ104で取得したMFP203におけるドットの形状(画素数)を比較する(105)。
【0110】
比較した結果、両者が等しい(一致する)場合は記憶装置404に格納されているドットパターン画像が画像データと重畳して印字できる状態であるため、処理を終了する。
【0111】
一方、ステップ105による比較の結果、両者のドット形状(画素数)が異なる(一致しない)場合はドットパターン画像を画像データに重畳する形状に変更する。つまり、印刷対象の二次元コードを印刷部に印刷させるのに相応しい二次元コードに変更するのである。具体的には、二次元コードの各要素の画素数を、104で取得した画素数に変更するのである。言い換えると、ドットパターン画像を形成するドットの形状(画素数)はステップ104で取得したMFPのドット形状(画素数)に変更するのである(106)。
【0112】
そしてステップ106で生成したドットパターン画像(ドットの形状がMFPの形状に変更された後のドットパターン画像)を新たなドットパターン画像として記録装置404に格納する(107)。その後、記録装置404に格納されている設定値のドット形状をステップ104で取得したMFPのドット形状に変更する(108)。
【0113】
以上の動作により、他の画像処理装置から送られてきたドットパターン画像のドット形状(画素数)が印字時に重畳する画素数と異なる場合においても、画素数の補正を行い画像データと重畳して印字を行うドットパターン画像を生成することが出来る。
【0114】
図1のステップ106におけるドットパターン画像のドット形状を変更する方法の一例として、パターンマッチングを用いた画素値の制御が挙げられる。図18は上記パターンマッチングにより画素値を変更する回路の一例を表している。
【0115】
図18において、1801は注目画素(図18では主走査方向i番目,副走査方向j番目の画素)に対して、主走査方向に−2画素〜2画素、副走査方向に−2画素〜1画素分の領域に存在する20画素分の2値画像データを保持するバッファである。
【0116】
上記バッファに保持された画像データのうち、注目画を除く19画素分の画像データがデータ比較部1802に入力される。
【0117】
1802はパターン照合部であり、バッファ1801から入力された19個の2値画像データが、1802に設定する条件をすべて満たす場合はResultから1を出力する。また、2値画像データが設定する条件を満たさない場合はResultから0を出力する。
【0118】
1803はパターン照合部の出力であるResultが1の場合、注目画素の値を強制的に変更するために値を保持する変更値保持部である。Resultから1が出力されたときの注目画素を0にしたい場合は0を、逆に1にしたい場合は1を1803に設定する。
【0119】
1804はセレクタであり、SELに入力されている値が1の場合はBの値をYから出力し、SELに入力されている値が1の場合はAの値をYから出力する。SEL入力にはパターン照合部1803の出力であるResultが、A入力にはバッファ1801から注目画素の値が入力されている。また、B入力には変更値保持部1803に設定された値が入力されている。
【0120】
以上の構成により、セレクタ1804は、Resultの値が1の場合(すなわち2値画像データの値が1802に設定する条件をすべて満たす場合)は変更値保持部1803に設定した値を出力する。一方、Resultの値が0の場合(すなわち2値画像データの中で、1802に設定する条件を満たさない画像データがある場合)は注目画素の値を出力する。
【0121】
図7に、図18で示したパターンマッチング回路を用いて、ドット形状を小さく(画素数を少なく)する処理の一例を示す。図7では、図16におけるドット種類2(ドット画素数5)のドット形状を、図15におけるドット種類2(ドット画素数4)に変更する場合について説明する。
【0122】
図7において、パターン照合部1802には以下の条件を設定する。
D(i−2, j)=1 i−2,jの位置の画素値=1(黒)
D(i−1, j)=1 i−1,jの位置の画素値=1(黒)
D(i−2, j+1)=1 i−2,j+1の位置の画素値=1(黒)
D(i−1, j+1)=1 i−1,j+1の位置の画素値=1(黒)
また、変更値保持部1803には0(白)を設定する。
【0123】
上記設定を行った後、701で表すドット画像(図16におけるドット種類2(ドット画素数5)のドット)をパターンマッチング回路に入力する。701において、斜線で示した画素は黒(値が1)、白い画素は値が0の画素を表す。
【0124】
図7では、701のドット画像のうち、702で示した画素がバッファ1801内の注目画素の位置(i,j)になったときに、パターン照合部1802に記述した条件がすべて満たされる。そのため、702の画素が注目画素の位置(i,j)になったとき、セレクタ1804からは注目画素の値(702の場合1)を出力せずに、変更値保持部1803に設定した値0が出力される。
【0125】
また、702以外の画素がバッファ1801内の注目画素の位置(i,j)になった場合は、パターン照合部1802に記述したすべての条件が満たされることがない。そのため、セレクタ1804からはバッファ1801内の注目画素の位置(i,j)の画素値が出力される。
【0126】
以上の動作により、パターンマッチング回路からは703で示したように、704の画素のみ0に変更したドットが出力される。これにより、図16におけるドット種類2(ドット画素数5)のドット形状が、図15におけるドット種類2(ドット画素数4)に変更される。
【0127】
図8に、図18で示したパターンマッチング回路を用いて、ドット形状を大きく(画素数を多く)する処理の一例を示す。画素数を少なくする処理は、別の箇所に記載する。図8では、図15におけるドット種類2(ドット画素数6)のドット形状を、図17におけるドット種類2(ドット画素数7)に変更する場合について説明する。
【0128】
図8において、パターン照合部1802には以下の条件を設定する。
D(i−1,j−2)=1 i−1,j−2の位置の画素値=1(黒)
D(i,j−2)=1 i,j−2の位置の画素値=1(黒)
D(i+1,j−2)=1 i+1,j−2の位置の画素値=1(黒)
D(i−1,j−1)=1 i−1,j−1の位置の画素値=1(黒)
D(i,j−1)=1 i,j−1の位置の画素値=1(黒)
D(i+1,j−1)=1 i+1,j−1の位置の画素値=1(黒)
また、変更値保持部1803には1(黒)を設定する。
【0129】
上記設定を行った後、801で表すドット画像(図15におけるドット種類2(ドット画素数6)のドット)をパターンマッチング回路に入力する。
【0130】
図8では、801のドット画像のうち、802で示した画素がバッファ1801内の注目画素の位置(i,j)になったときに、パターン照合部1802に記述した条件がすべて満たされる。そのため、802の画素が注目画素の位置(i,j)になったとき、セレクタ1804からは注目画素の値(802の場合0)を出力せずに、変更値保持部1803に設定した値1が出力される。
【0131】
また、802以外の画素がバッファ1801内の注目画素の位置(i,j)になった場合は、パターン照合部1802に記述したすべての条件が満たされることがない。」そのため、セレクタ1804からはバッファ1801内の注目画素の位置(i,j)の画素値が出力される。
【0132】
以上の動作により、パターンマッチング回路からは803で示したように、804の画素のみ1に変更したドットが出力される。これにより、図15におけるドット種類2(ドット画素数6)のドット形状が、図17におけるドット種類2(ドット画素数7)に変更される。
【0133】
尚、上記図1、図7及び図8で説明した方法でドットパターン画像を形成するドットの形状(画素数)を変更すると、ドットの形状を変更する前のドットの中心の位置と、変更した後でのドットの中心の位置が変わってしまう。しかしこのようなドットの形状の変更はドットパターン画像に含まれる全てのドットに対して行われる。
【0134】
そのため、ドットパターン画像を形成する全てのドットの中心位置が同じように変化するため、各ドット間での中心位置の距離は変化しない。従って、ドットパターン画像を形成するドットの形状(画素数)を変更しても、図12で説明した方法により、付加情報を重畳した画像からドットパターンとして画像に埋め込まれた付加情報を抽出することが可能である。
【0135】
また、図1のステップ105では、記憶装置404に格納されている現在のドットパターン画像のドット形状(画素数)と、MFPが指定するドット形状(画素数)の比較を行う。
【0136】
ここで、両方の形状(画素数)が異なる場合はステップ106〜108により画素数の変更を行う。これは、記録紙上に印字されるドットパターンの形状を画像形成装置に依存せずに同じ大きさにするために行っている。
【0137】
しかし、図12で説明した方法によりドットパターンとして画像に埋め込まれた付加情報を抽出するためには、ドットの形状(画素数)がドットパターンを検出できる画素数以上であれば問題はない。従って、図1のステップ105において記憶装置404に格納されている現在のドットパターン画像のドット形状(画素数)が、MFPが指定するドット形状(画素数)以上であれば、画素数の変更を行う必要はない。
【0138】
図19は上記内容を考慮した、ドットパターン画像を再形成する動作を示すフローチャートである。図19では、現在のドットパターン画像のドット形状(画素数)と、MFPが指定するドット形状(画素数)の比較を行う(1901)。そして、現在のドットパターン画像のドット形状がMFPが指定するドット形状(画素数)よりも小さい場合のみドットの画素数の変更を行う構成になっている。
【図面の簡単な説明】
【0139】
【図1】ドットパターン画像を再形成する動作を示すフローチャート
【図2】装置構成を示すブロック図
【図3】コンピュータ202の内部構造を示すブロック図
【図4】MFP203の内部構造を示すブロック図
【図5】MFP203がドットパターン画像を形成する動作を示すフローチャート
【図6】画像データをプリンタに出力するための設定画面の一例
【図7】ドット形状を小さくする処理の一例
【図8】ドット形状を大きくする処理の一例
【図9】付加情報を画像に埋め込む方法の一例を示すブロック図
【図10】ドットパターンに付加情報を埋め込む方法の説明図
【図11】ドットパターンに付加情報を埋め込む方法の説明図
【図12】付加情報を抽出するためのフローチャート
【図13】ドット間の主走査方向及び副走査方向の距離のヒストグラムの一例
【図14】ドットパターンに付加情報を埋め込む方法の説明図
【図15】設定値リストの一例
【図16】設定値リストの一例
【図17】設定値リストの一例
【図18】パターンマッチングによりドットを構成する画素値を変更する回路の一例
【図19】ドットパターン画像を再形成する動作を示すフローチャート
【特許請求の範囲】
【請求項1】
印刷対象の二次元コードを構成する各要素の画素数を取得する第1の取得手段と、
印刷手段が二次元コードをシートに印刷する際の当該二次元コードの各要素の画素数を取得する第2の取得手段と、
前記第1の取得手段で取得された各要素の画素数と前記第2の取得手段で取得された各要素の画素数とが一致しない場合には、前記印刷対象の二次元コードを前記印刷手段に印刷させる前に前記印刷対象の二次元コードの各要素の画素数を変更する変更手段とを有することを特徴とする装置。
【請求項2】
画像を取得する画像の取得手段、
取得した画像に情報を付加するための付加データを生成する生成手段
前記取得した画像及び付加データを格納する記憶手段
記憶手段に格納された画像及び付加データを付加して出力画像を生成する付加手段
前記付加した出力画像を印字する印字手段
を有する画像形成装置において、
画像形成装置の設定値を取得する設定値の取得手段、
前記付加データを補正する補正手段
を有し、
画像の取得手段により画像を取得した時の画像形成装置の設定値を設定値の取得手段から取得し、かつ取得した画像及び生成した付加データと対応させて設定値を前記記憶手段に格納し、
印字手段により記憶手段に格納した画像を印字する際に、前記設定値の取得手段により画像形成装置の設定値を取得し、設定値の取得手段から取得した画像形成装置の設定値と記憶手段に格納された設定値を基に補正手段により付加データを補正し、補正した付加データを画像に付加して、出力するための画像を生成することを特徴とする画像形成装置。
【請求項3】
前記付加データは、所定の画素数を有するドットで構成されることを特徴とする請求項2に記載の画像形成装置。
【請求項4】
前記付加データは2値画像で表されることを特徴とする請求項2に記載の画像形成装置。
【請求項5】
前記設定値はドットを構成する画素数であることを特徴とする請求項2に記載の画像形成装置。
【請求項6】
前記補正手段はドットを構成する画素数を多くする又は少なくすることを特徴とする請求項2に記載の画像形成装置。
【請求項7】
印刷対象の二次元コードを構成する各要素の画素数を取得する第1の取得工程と、
印刷手段が二次元コードをシートに印刷する際の当該二次元コードの各要素の画素数を取得する第2の取得工程と、
前記第1の取得工程で取得された各要素の画素数と前記第2の取得工程で取得された各要素の画素数とが一致しない場合には、前記印刷対象の二次元コードを前記印刷手段に印刷させる前に前記印刷対象の二次元コードの各要素の画素数を変更する変更工程とを有することを特徴とする装置の制御方法。
【請求項8】
請求項7に記載の装置の制御方法をコンピュータに実行させるためのコンピュータよみとり可能なプログラム。
【請求項9】
請求項8に記載のプログラムを格納したコンピュータよみとり可能な記憶媒体。
【請求項1】
印刷対象の二次元コードを構成する各要素の画素数を取得する第1の取得手段と、
印刷手段が二次元コードをシートに印刷する際の当該二次元コードの各要素の画素数を取得する第2の取得手段と、
前記第1の取得手段で取得された各要素の画素数と前記第2の取得手段で取得された各要素の画素数とが一致しない場合には、前記印刷対象の二次元コードを前記印刷手段に印刷させる前に前記印刷対象の二次元コードの各要素の画素数を変更する変更手段とを有することを特徴とする装置。
【請求項2】
画像を取得する画像の取得手段、
取得した画像に情報を付加するための付加データを生成する生成手段
前記取得した画像及び付加データを格納する記憶手段
記憶手段に格納された画像及び付加データを付加して出力画像を生成する付加手段
前記付加した出力画像を印字する印字手段
を有する画像形成装置において、
画像形成装置の設定値を取得する設定値の取得手段、
前記付加データを補正する補正手段
を有し、
画像の取得手段により画像を取得した時の画像形成装置の設定値を設定値の取得手段から取得し、かつ取得した画像及び生成した付加データと対応させて設定値を前記記憶手段に格納し、
印字手段により記憶手段に格納した画像を印字する際に、前記設定値の取得手段により画像形成装置の設定値を取得し、設定値の取得手段から取得した画像形成装置の設定値と記憶手段に格納された設定値を基に補正手段により付加データを補正し、補正した付加データを画像に付加して、出力するための画像を生成することを特徴とする画像形成装置。
【請求項3】
前記付加データは、所定の画素数を有するドットで構成されることを特徴とする請求項2に記載の画像形成装置。
【請求項4】
前記付加データは2値画像で表されることを特徴とする請求項2に記載の画像形成装置。
【請求項5】
前記設定値はドットを構成する画素数であることを特徴とする請求項2に記載の画像形成装置。
【請求項6】
前記補正手段はドットを構成する画素数を多くする又は少なくすることを特徴とする請求項2に記載の画像形成装置。
【請求項7】
印刷対象の二次元コードを構成する各要素の画素数を取得する第1の取得工程と、
印刷手段が二次元コードをシートに印刷する際の当該二次元コードの各要素の画素数を取得する第2の取得工程と、
前記第1の取得工程で取得された各要素の画素数と前記第2の取得工程で取得された各要素の画素数とが一致しない場合には、前記印刷対象の二次元コードを前記印刷手段に印刷させる前に前記印刷対象の二次元コードの各要素の画素数を変更する変更工程とを有することを特徴とする装置の制御方法。
【請求項8】
請求項7に記載の装置の制御方法をコンピュータに実行させるためのコンピュータよみとり可能なプログラム。
【請求項9】
請求項8に記載のプログラムを格納したコンピュータよみとり可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2009−194538(P2009−194538A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−31982(P2008−31982)
【出願日】平成20年2月13日(2008.2.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願日】平成20年2月13日(2008.2.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]