画像処理装置、画像処理方法、画像処理プログラム並びに記憶媒体
【課題】 出力装置(複写機やプリンタ)の印字特性を考慮してコード情報の画像品位を判定する。
【解決手段】 画像に付加するコード情報を入力するコード情報入力手段と、印刷装置による前記コード情報の印字精度を示す印字精度情報を入力する印字精度情報入力手段と、前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定手段とを備える。
【解決手段】 画像に付加するコード情報を入力するコード情報入力手段と、印刷装置による前記コード情報の印字精度を示す印字精度情報を入力する印字精度情報入力手段と、前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定手段とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷画像に情報を埋め込む画像処理技術に関する。
【背景技術】
【0002】
近年、埋め込みたい情報を何らかの復号化処理を必要とする符号化情報(コード情報)に変換して印刷媒体上に印刷する画像処理手法が普及している。
【0003】
例えば、このコード情報は2次元的に情報が埋め込まれ、このコード情報は2次元コードと呼ばれる。
【0004】
印刷されたコード情報はそのままではユーザにより内容を認識することはできない。読取装置を用いてコード情報を画像データとして取り込み、この画像データに対して対応する復号化処理を行うことにより、ユーザはコード情報の内容を認識することができる。
【0005】
一般的には、読み取った画像データがコンピュータに転送され、コンピュータ上で動作するアプリケーションプログラムにより復号化が行われる。しかしこれに限らず、2次元コードに対応する携帯電話によりコード情報を読取装置の内部で復号化をすることもでき、或いは複数の機能を有する複写機により、その内部で復号化することもできる。
【0006】
通常、コード情報は、印刷される文章や画像と共に、印刷媒体上に印刷される。コード情報を印刷媒体に印刷する技術としては、一般的に、コード情報と印刷する用紙サイズを考慮して、計算された矩形のサイズに指向性をもたせたコード情報を埋め込む技術(特許文献1)が知られている。
【0007】
ところで、コード情報を印刷媒体、主に紙に適用する場合、コード情報の情報量(コードサイズ)と、コード情報と共に印刷する文章や画像とコード情報との合成後の画像品位とがトレードオフの関係になっている。例えば、印刷する用紙サイズが一定であれば、埋めこむ情報が増えるにつれて、付加するコード情報の量は増加する。また、エラー耐性を向上させると、さらにこのコード情報の量が増えてしまう。その結果、印刷する文章や画像との合成後、コード情報がノイズのようになり画像品位を落としてしまう。よって、画像品位を劣化させないようにコード情報を付加するためには、エラー訂正符号の量などのエラー耐性を向上させる情報量に、ある程度制限が必要になる。
【0008】
そこで特許文献2では、印刷する文章や画像との合成後の画像品位とエラー耐性とを調整する技術が開示されている。
【特許文献1】特開2003−101762
【特許文献2】特開2004−104494
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、従来のコード情報の生成処理では、固体差、環境変化、時間差によって変化していく出力装置(複写機やプリンタ)の印字特性を考慮していなかった。
【0010】
本発明は上記課題を鑑みてなされたものであって、変化する印字特性を考慮してコード情報の画像品位を判定することを目的とする。
【0011】
また、変化する印字特性を考慮してコード情報を生成することを目的とする。
例えば、出力装置が出力するドットの形成状態によってエラー耐性と画像品位を制御して、印刷媒体に印刷するコード情報を生成することを可能にした画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明の画像処理装置は以下のような構成を備える。即ち、画像に付加するコード情報を入力するコード情報入力手段と、印刷装置による前記コード情報の印字精度を示す印字精度情報を入力する印字精度情報入力手段と、前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定手段とを備える。
【0013】
また、本発明は更に、前記コード情報に耐性情報を付加する付加手段を備え、前記付加手段は、前記画像品位の判定結果に基づいて、前記耐性情報の情報量を調整することを特徴とする。
【発明の効果】
【0014】
本発明によれば、変化する印字特性を考慮してコード情報の画像品位を判定することができる。また、変化する印字特性を考慮してコード情報の生成を行なうことができる。
【発明を実施するための最良の形態】
【0015】
<実施形態1>
本実施形態では、印刷装置の印字特性によって画像品位を判定し、印刷媒体に最適なコード情報を生成することができる印刷装置、特には複数の機能を有する複写機について説明する。
【0016】
図1に本発明に係る印刷装置を示す。
【0017】
印刷装置1は、以下の処理部から構成される。100はスキャナなどの画像入力部である。101はUIパネルなどの環境設定部である。102はビデオコントローラなどのデータ処理部である。103はHDなどの内部記憶領域部である。104はネットワークI/FボードやFAXなどの画像送受信部であり、105はプリンタなどの画像出力部である。本実施形態では、ホストコンピュータ116と接続するプリンタや、スキャナを備えたコピー、FAXなどが一体となる複写機を用いた実施形態について説明するが、それに限ったことではない。
【0018】
データ処理部102は以下の処理部から構成される。110は入力部I/F、111は設定部I/F、112は出力部I/F、113は送受信I/F、114は記憶装置I/Fである。106はデータ処理・制御用プログラムが格納されているプログラムROMである。107はデータROM、108はCPU108、109は内部記憶領域であるRAM、115はタイマ(時計機能)であり、上記処理部が内部バスによって接続されている。
【0019】
画像データは、画像入力部100で入力画像をスキャンするか、或いは外部ホストコンピュータ、外部FAXやネットワーク経由で送られた画像データを、画像送受信部104を介して受信することによりデータ処理部102に取り込まれる。
【0020】
データ処理部102に取り込まれた画像データは、画像入力部101で設定された動作環境、又は外部から送信される画像データに含まれる動作環境情報にしたがって画像処理される。その後、画像処理を行った画像データを当該印刷装置で印刷する場合は、画像出力部105、外部ネットワークへプリントデータを送信する場合はデータ送受信部104、当該印刷装置内に保存する場合は内部記憶領域部103へそれぞれ送出される。
【0021】
データ処理部102において画像データを処理する際は、必要に応じてデータROM107の情報などを参照する。また、設定部I/F111を経由して取得した処理動作環境にしたがって、プログラムROM106からプログラムを読み出し、RAM109や内部記憶領域部103などを利用しながら画像処理を実行する。
【0022】
図2は、本実施形態の構成を示すブロック図である。
【0023】
データ入力部201は画像に埋め込まれるべき埋込情報を入力し、入力された埋込情報データをコード化する。次に耐性情報付加部202はコード化されたデータを入力し、入力されたコード情報に耐性情報を付加し、耐性情報が付加されたコード情報を所定回数分生成し、付加する。セルサイズ設定部203は、耐性情報付加部によって耐性情報が付加されたコード情報のコードサイズと画像を印字する印刷媒体の領域からセルサイズを決定する。一方、印字精度情報入力部204は、内部記憶領域103に記録されている印字精度情報を入力する。画像品位判断部205は、セルサイズ設定部203で設定されたセルサイズにおけるドットの密度と、印字精度情報入力部204に入力された印字精度情報から、画像の品位を判定する。画像品位判定部205の画像品位の判定に応じて、耐性情報付加部は耐性情報の量を制御する。画像品位判定部における画像品位の判定が満足された場合、データ出力部206ではコード情報を印刷用のデータとして出力する。
【0024】
図3のコード情報生成処理に沿って、本実施形態のコード情報生成処理の詳細を説明する。
【0025】
ステップ301:コード化するデータを入力する。コード化するデータは、ユーザや印刷装置の管理者の指示に基づいて、環境設定部101や、印刷装置に接続されたホストコンピュータ116上の専用アプリケーション又はプリンタドライバ(不図示)などから入力する。ここでは文字などのデータを直接入力してもよいし、コード化したいデータの所在を指定して、指定した場所からアプリケーションや印刷装置にダウンロードさせてもよい。またユーザIDや印刷日時やプリントジョブIDなどのメタ情報を入力しコード化してもよい。
尚、ユーザや印刷装置の管理者がデータを指定するだけでなく、自動的に印刷装置内部に保持している情報(ユーザIDや印刷日時やプリントジョブIDなど)をコード化するデータとしてもよい。
【0026】
図4に、印刷装置本体から入力するデータを選択するための画面の一例を表す。選択画面では、環境設定部101を介して、表示された項目を選択できる。401はユーザが直接コード化する情報を入力可能なキー入力である。402は内部記憶装置103に予め格納された情報を選択するBOX指定である。403は操作者の管理グループを指定できるグループID指定である。404は本体の機体番号を指定できる機体IDである。405は出力する日付を指定できる日付指定である。406は出力するユーザを特定するIDを指定するユーザID指定であり、上記項目を任意で指定できるようになっている。
【0027】
ステップ302:ステップ301で入力、若しくは指定されたデータをコード化する。最初にデータ入力部201にて、ステップ301で入力、若しくは指定されたデータ列を分析する。次に入力されたデータ列を所定のビット列に変換し、必要に応じてデータのモード(数字、英数字、8ビットバイト、漢字など)を示す指示子や、終端パターンをデータに付加する。次に、所定のビットコードに変換する。最終的にステップ302において、コードサイズS(ビット)のコード情報が生成される。尚、コード化の手段については特定せず、復号化のアルゴリズムと整合を取った上でコード化される。尚、コード情報に暗号化等の演算処理を施してもよい。
【0028】
ステップ303:コード情報の耐性を高める耐性情報として、エラー訂正符号をコード情報に付加する。図5に印刷装置1が内部記憶装置103にて保持しているエラー訂正符号量を決定するルックアップテーブル501を示す。502はエラー訂正符号量を指定するインデックス、503は対応するエラー訂正符号量の割合(コードサイズSに対するエラー訂正符号量の割合)を表す。本実施形態では、図5の数値でエラー訂正符号量を既定しているが、ユーザあるいは管理者が直接若しくはネットワークを通じて、ルックアップテーブル501を変更・作成してもよい。
【0029】
最初、ルックアップテーブル501には初期値としてインデックス:2(エラー訂正符号量20%)が指定されている。エラー訂正符号量が指定されると、ステップ302においてコード化されたコード情報からエラー訂正符号が付加されたコードサイズN(ビット)のコード情報が生成される。
N=S+X (1)
X:エラー訂正符号量により増加したコードサイズ(ビット)
エラー訂正符号方式は、2元符号を前提にしたBCH符号や多元符号に対応するリードソロモン符号、或いは、LDPC(低密度パリティチェックコード)符号など用いるがこれに限ったことではない。
【0030】
ステップ304:ステップ303で生成されたコードサイズNに対して、耐性をさらに高める耐性情報として冗長度Aを付加する。図6に、冗長度を決定するルックアップテーブル601を示す。602は、冗長度を指定するインデックスであり、603は対応する冗長数を表す。本実施形態では、図6の数値で冗長度Aを決定しているが、ユーザあるいは管理者が直接若しくはネットワークを通じて、ルックアップテーブル601を変更・作成してもよい。
【0031】
ルックアップテーブル601には初期値としてインデックス:5(繰り返し10回)が指定されている。また、後述するS308で画像品位を満足しない場合に、決定されたインデックスはステップ304で更新される。
【0032】
ステップ305:以下の式(2)により、最終的に印刷媒体に印刷するコード情報のコードサイズMを決定する。
M=A×N (2)
A:冗長度(コード情報Nの繰り返し回数)
ステップ306:ステップ305で決定したコードサイズMから、コード情報を埋め込むセルサイズを決定する。
【0033】
セルサイズは、コード情報を埋めこむ原稿領域をコードサイズMに応じて分割したもので、セルサイズ単位でコードサイズMの1ビット若しくは複数ビットが埋め込まれる。
【0034】
本発明では、コード情報をドットの集合体として表現する。しかしセルにドットの集合体を埋めこむ方法としては、1セル毎にコード化して表現(セルの1つが“1”若しくは“0”を表現)してもよいし、1セルで複数ビットを表現する方法のどちらでもよい。本実施形態では1つのセルで1ビットを表現する。例えば、1つのセルで1ビットを表す場合、例えば、ドットがセルの中心よりも上にある場合は“1”、セルの中心よりも下にある場合は“0”などが考えられる。
【0035】
原稿領域に埋め込まれる情報量は、ステップ305よりMビットであるので、最低限必要なセル数はM個となる。図7に示すように、印字される画像サイズ:W画素(主走査方向)×H画素(副走査方向)で形成可能なセルサイズは、以下の式(3)で決定される。
セルサイズ(PxQ)[S]=[W×H/M] (3)
[S]:Sを超えない最大の整数
今、画像サイズとして、W=4961画素、H=7016画素、M=600Kbit(キロビット)であれば、セルサイズ(PxQ)は、58となる。P=Qという前提条件与えると、P=7画素が得られる。また、P≠Qとして画素サイズを求めても構わない。その場合は、セルサイズを構成する因数とPとQの比率から最適な画素サイズを求めることになる。
【0036】
図7のセル704は、ひとつのドットサイズ702が付加された例であり、またセル705は2つのドットサイズ702が付加された例である。
【0037】
図7では、原稿サイズ703一面すべてがセルサイズに分割されているが、埋め込む情報量に応じて、原稿サイズの一部の領域だけ分割してもよい。
【0038】
ステップ307:ステップ306で決定したセルサイズと後述する1ドットを表現する画素数から、画像品位を算出する。
【0039】
本実施形態では、後述する印字精度判定処理によって作成される印字精度情報が記載されたドット定義テーブル(後述)を参照し、3×3画素のドットサイズが確実に出力装置で再現されるドットサイズとして判定されたものとする。よって、図7の場合、表現されるセル内のドットサイズは、3×3画素を最小単位とするドットサイズ702が置き換えられドットの最大画素数Yが求まる。ドットの最大画素数Yは、M個存在するセルサイズ内のドットの最大画素数(本実施形態では黒で表現)を主走査方向にP画素、副走査方向にQ(P=Qの場合は、P)画素毎に捜索する。例えば、印字精度判定処理によって判定されたドットサイズが3×3画素で、すべてのセルサイズにおいて1セルに対し1ドットで表現される場合、Yの値は9になる。
【0040】
また、印字精度判定処理によって判定されたドットサイズが3×3画素で、1セルに対し1ドットもしくは2ドットで表現されている場合、Yの値は18になる。
【0041】
すべて同じ密度でセル内部をドット形成する場合は、1つのセルだけ計算すればよい。
【0042】
このとき、セル内部のドットの最大画素数がセルの画像サイズP×Qを越えた場合は、コード情報を印字できないとして、続くステップ308で画像品位を満足しないと判断する。
【0043】
図7でセル704は、セルサイズ内、1つのドットで表現されているので、ドットサイズは3×3=9画素、セル605の場合は2つのドットで表現されているので、ドットサイズは3×3×2=18画素となる。
【0044】
次に、画像品位Quを以下の式(4)にて算出する。
Qu=Y/(P×Q) (4)
ステップ308:ステップ307で算出されたQuを以下の条件式によって検定する。
Qu≦α1:High (5)
α1<Qu≦α2:Mid (6)
α2<Qu :Low (7)
画像品位Quは、式(4)に示すように、セル内部に占めるドットの割合で決定される。条件式(5)〜(7)を参照すると、α1<α2(α1、α2ともに0以上)と設定することで、式(5)はセル内部に占めるドット密度が低く、この状態を画像品位が高いと判断する。逆に、式(7)はドットの占める密度が大きいので、画像品位が悪くなるがその反面、出力印字物に対する耐性が式(5)や式(6)より高くなる可能性があるため、耐性が高いと判断する。α1とα2の値は、印刷装置の特性に応じて任意に定めてよい。
【0045】
条件式(5)〜(7)は、図8に示す耐性/品位を設定する画面と連動している。図8では、耐性を優先させる801、画質を優先させる803、その中間を選択できる802の3段階で耐性と画像品位を選択できるようになっている。ユーザは付加する原稿の情報に応じて、環境設定部101より条件を選択することもできる。
【0046】
801は、耐性優先を表す式(7)に相当し、801は画像品位がもっとも高い設定となる式(5)、802のその中間のレベルの式(6)に相当する。本実施形態では、デフォルト設定として、802が設定されているものとする。
【0047】
ステップ308で画像品位Quを満足しないと判断されたものは、冗長度のルックアップテーブル601を再度参照する。初期設定において、インデックスは5に設定しているが、再設定する際に、インデックスをひとつ低い設定である4に再設定して冗長度を調整する。
【0048】
以降、画像品位Quを満足するまで同様の処理が続けられ、所定の画像品位Quが満足されれば、ステップ209でデータが生成される。画像品位Quを満足しない場合、つまり選択した画像品位と算出した画像品位が一致しない場合は、図5のインデックス値が“0”を指すところまでこの処理が繰り返される。
【0049】
図6の更新されたインデックス602が“0”を示した場合は、指定した耐性/品位の設定ではコード情報を埋め込めないことを環境設定部101を通じて操作者に通知する。
【0050】
ステップ308で、条件式を満足している場合は、ステップ309へ進む。
【0051】
ステップ309:ステップ308で条件式を満足した場合、コード情報をプリント用のデータとして生成し、処理を終了する。
【0052】
生成されたコード情報は、スキャナ100からの画像データ、ホストコンピュータ116などのPDLデータなどと一緒にデータ処理部102内で合成され、画像出力部105で出力される。
【0053】
[印字精度判定処理]
印字精度判定処理は、コード情報生成処理とは独立して処理される。印字精度は、印刷装置が印字可能な最小ドットのサイズを印字基準として判定するものである。印字精度判定処理は定期的若しくは任意に、ユーザ若しくは管理者によって行われ、処理結果は印刷装置1に記憶される。
【0054】
図10に、印字精度を決定する処理フローを示す。
【0055】
ステップ1001:計測用のパッチ(画像)を出力する。本実施形態では、計測用のパッチとして、図9(a)〜(d)までの4パターンを出力する。各パターンは、出力用紙サイズの9点に同じドットサイズのデータを印字する。901は出力する用紙サイズであり、図9(a)902は、1×1のドットサイズ、図9(b)903は2×2のドットサイズ、図9(c)904は3×3のドットサイズ、図9(d)の905は4×4のドットサイズとなっている。
ステップ1001では、内部記憶装置103に格納されたパターン生成プログラムを起動し、CPU108がRAM109上に所定のメモリ領域を確保する。そして図9(a)の測定用パッチデータを生成後、生成された画像データは、画像出力部105に送出され印字される。
【0056】
出力される測定用パッチは、黒に限定されることなく、複数の色パッチとして生成し、出力しても構わない。
【0057】
ステップ1002:ステップ1001にて出力された測定用パッチを画像入力部100にてスキャンする。スキャンされたパッチ画像は、パッチ画像データとして入力部I/F110を介して、RAM109に一時格納される。
【0058】
パッチ画像データは、カラースキャナであれば、レッド、グリーン、ブルーの3チャンネルの信号に分解されて多値データとして取り込まれ、1チャンネルのスキャナであれば、グレー信号として多値データとして取り込まれる。
【0059】
ステップ1003:ステップ1002で格納されたパッチ画像データに検出可能なドットが打たれているか判定する。
【0060】
印字精度の判定には、図11(a)、(b)に示すマスクパターンと、ステップ1002でRAM109に一時格納されたパッチ画像データとのコンボリューション演算により行われる。マスクパターン図11(a)、(b)は、判定するパッチ画像データのサイズによって、サイズとマスクパターンの係数が異なる。
【0061】
例えば、図9(a)、(b)の測定用パッチをスキャンしたパッチ画像データは、図11(a)を利用し、図9(c)、(d)の測定用パッチをスキャンしたパッチ画像データでは、図11(b)を利用する。マスクパターンは、予め内部記憶装置103内に格納されている。コンボリューション演算の結果はCPU108によりRAM109に格納される。
【0062】
コンボリューション演算の結果として、1つのパッチ画像データを処理する毎に、パッチ画像データの面内9箇所にピーク値が存在する。本実施形態では、以下の式(8)によって検出値を算出する。
|検出値|=min(Σピーク値) ・・・(8)
続いて、判定を行うために、検出値を閾値:Threと比較する。
If(検出値≧Thre[i]) 判定[i]=1 ・・・(9)
else 判定[i]=0 ・・・(10)
iは、パッチ画像データの回数を表す。よって、最初のスキャンでは、判定[0]の判定結果が入る。判定結果が“1”の場合は、そのパッチサイズがコード情報の埋め込みに適用できることを示しており、“0”は印字したドットが検出しにくいので、そのパッチサイズはコード情報の埋め込みに適用できないことを表す。
【0063】
閾値:Threはパッチのサイズによって適応的に切り替える方が効果的であるため、本実施形態でも切り替える処理を行う。
ステップ1004:最終パッチか否かを確認する。最終パッチが印字精度判定S1003で処理されるまで実施される。
【0064】
図12に本処理より作成されたドット定義テーブル1201を表す。1202はインデックスであり、確認する各ドットサイズに対応している。1203は、本フローにより判定された結果が格納される。ドット定義テーブル1201は、本処理を実行する度に更新され、本実施形態で適用するドットサイズは、1203で1が記載された最小のインデックスのものが適用される。図12の場合、2次元データ生成時で適用するドットサイズは、インデックス2を示す図9(c)の3×3のドットサイズとなる。
【0065】
本処理では、測定用パッチを複数のページに分けて印字、読み取りを行ったが、測定用パッチをまとめて1枚の中に記載し、読み取り時に分離して解析してもよい。
【0066】
また、本実施形態では、出力装置の特性を把握するのに、4種類のドットサイズを検証しているが、さらに複数のサイズを適用してもよい。
【0067】
さらに、ドット定義テーブル1201で演算結果がすべて“0”、つまりすべてのドットサイズにおいて検出不能な状態が把握された場合は、環境設定部101にて、その内容をユーザに通知する。通知は、単に環境設定部101に表示しても構わないが、ホストコンピュータ116で利用されるドライバ(不図示)に、情報を送信してもよい。さらには、管理サーバー(不図示)に通知してもよい。
【0068】
以上、本実施形態では、変化する印字特性を考慮してコード情報の画像品位を判定することができる。また、変化する印字特性を考慮してコード情報の生成を行なうことができる。
【0069】
なお、耐性/品位を表す条件は、3つに限定されるものでなく、さらにきめ細かく条件を増やしてもよい。
【0070】
<実施形態2>
本実施形態では、図13に示すように、冗長度だけでなく、エラー訂正符号量も変更させる処理を説明する。また、実施形態1と同様な構成の説明は省略し、異なる部分についてのみ説明する。
【0071】
ステップ1301では、ルックアップテーブル501のインデックスを確認する。ステップ1302で画像品位Quを満足しない場合は、再度、ステップ1301でエラー訂正符号量を設定する。
【0072】
このとき、エラー訂正符号量のルックアップテーブル401が同時に参照され、インデックス502を低い値に更新する。初期値として“2”が指定されていて、今回の参照では、インデックス1(エラー訂正符号量15%)に更新される。引き続きステップ1302で画像品位Quの検定が行われ、インデックスが更新される。しかしインデックスが“0”を示した後に、再度、エラー訂正符号量のルックアップテーブル501が参照された場合は、指定した耐性/品位の設定ではコード情報を埋め込めないことを、環境設定部101を通じで操作者に通知する。
【0073】
続いてステップ204にて冗長度のルックアップテーブル602が参照され、図6のインデックスを低い値に更新する。初期値として“5”が指定されていて、今回の参照では、インデックス4(冗長度5回)に更新される。引き続きステップ1302で画像品位Quの検定が行われ、インデックスが更新される。しかしインデックスが“0”を示した後に、再度、エラー訂正符号量のルックアップテーブル501が参照された場合は、指定した耐性/品位の設定ではコード情報を埋め込めないことを、環境設定部101を通じで操作者に通知する。
本実施形態の処理においても、実施形態1と同様の効果を得ることができる。
【0074】
<実施形態3>
実施形態1ではMFPなどの高機能印刷装置における本発明の実施形態を説明したが、本発明は複数の機器(例えば、ホストコンピュータ、インタフェース機器、スキャナ、プリンタ等)から構成されるシステムに適用してもよい。
【0075】
図14は、本実施形態による画像処理システムの構成を説明するための図である。尚、画像処理装置の実現に当たっては、図14に示される全ての機能を使用することは必須ではない。
【0076】
図14において、コンピュータ1401は、一般に普及しているパーソナルコンピュータであり、スキャナ等の画像入力装置1417から読み取られた画像を入力し、編集や保管を行うことが可能である。また、画像入力装置1417で得られた画像をプリンタ1416から印刷させることができる。尚、ユーザからの各種指示等は、マウス1413、キーボード1414からの入力操作により行われる。
【0077】
コンピュータ1401の内部では、バス1407により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。図14において、MPU1402は、コンピュータ1401内部の各ブロックの動作を制御し、あるいは内部に記憶されたプログラムを実行することができる。主記憶装置1403は、MPU1402において行われる処理のために、一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク(HDD)1404は、主記憶装置1403等に転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存することのできる装置である。
【0078】
スキャナインタフェース(I/F)1415は、原稿やフィルム等を読み取って、画像データを生成するスキャナ1417と接続され、スキャナ1417で得られた画像データを入力することのできるI/Fである。プリンタインタフェース1408は、画像データを印刷するプリンタ1416と接続され、印刷する画像データをプリンタ1416に送信することのできるI/Fである。
CDドライブ1409は、外部記憶媒体の一つであるCD(CD−R/CD−RW)に記憶されたデータを読み込んだり、あるいは書き出すことができる装置である。FDDドライブ1411は、CDドライブ1409と同様にFDDからの読み込みや、FDDへの書き出しをすることができる装置である。DVDドライブ1410は、FDDドライブ1411と同様に、DVDからの読み込みや、DVDへの書き出しをすることができる装置である。尚、CD、FDD、DVD等に画像編集用のプログラム、あるいはプリンタドライバが記憶されている場合には、これらプログラムをHDD1404上にインストールし、必要に応じて主記憶装置1403に転送されるようになっている。
【0079】
インタフェース(I/F)1412は、マウス1413やキーボード1414からの入力指示を受け付けるために、これらと接続されるI/Fである。また、モニタ1406は、透かし情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらに、ビデオコントローラ1405は、表示データをモニタ1406に送信するための装置である。
【0080】
図1の画像処理装置との対応関係として、画像入力部100はスキャナ1417,環境設定部101はモニタ1406が対応する。また、データ処理部102は主記憶装置1403とMPU1402、内部記憶領域部103はHDD1404、画像送受信部104はI/F1408やI/F1415、画像出力部105はプリンタ1416に対応する。
【0081】
<他の実施形態>
更に、本発明は実施形態1〜3に限らず、同様の効果を奏するものであれば種々の変形が可能である。
【0082】
例えば実施形態1、2では、耐性情報としてエラー耐性符号と冗長度を付加したが、前記どちらか一方のみを耐性情報としてもよい。
また、実施形態1〜3では、耐性情報の付加されたコード情報の情報量より画像品位を判定したが、耐性情報を付加せず、コード情報のみで画像の品位を判定してもよい。
【0083】
また実施形態1、2では、画像品位Quの検定により、条件を満足しない場合は、エラー訂正符号量や冗長度を変更することで、ユーザの指定した耐性/品位を実現する処理を行う。他の方法としては、エラー訂正符号量だけを更新して、画像品位Quの検討を行い、それでも満足しない場合は、冗長度を更新する方法も可能である。
【0084】
さらに、実施形態1、2では、画像品位Quを条件式(5)〜(7)を用いて判定したが、これに限らない。例えば、画像品位Quとある閾値α´との大小関係を条件としてもよい。例えば、画像品位Quが閾値α´よりも大きい場合、コード情報を生成せず印刷をしない。若しくは、環境設定部101を通じてユーザにコード情報を生成できないことを表示させてもよい。
【0085】
また、本発明は上記実施形態を実現する為の装置及び方法のみに限定されるものではない。上記システム又は装置内のコンピュータ(CPUあるいはMPU)に、上記実施形態を実現する為のソフトウェアのプログラムコードを供給し、このプログラムコードにしたがって上記システムあるいは装置のコンピュータが上記各種デバイスを動作させる。これにより上記実施形態を実現する場合も本発明の範疇に含まれる。
【0086】
またこの場合、ソフトウェアのプログラムコード自体が上記実施形態の機能を実現することになる。つまり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【0087】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0088】
また、上記コンピュータが、供給されたプログラムコードのみにしたがって各種デバイスを制御することにより、上記実施形態の機能が実現される。またこの場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【0089】
更に、この供給されたプログラムコードの指示に基づいてコンピュータの機能拡張ボードやコンピュータに接続された機能格納ユニットに備わるCPU等が処理の一部又は全部を行い、その処理によって上記実施形態が実現される場合も本発明の範疇に含まれる。
【図面の簡単な説明】
【0090】
【図1】本発明に係る画像処理装置及び印刷装置を示す図
【図2】実施形態1のデータ処理部102の構成を示すブロック図
【図3】実施形態1で説明するコード情報を印字する処理フロー
【図4】コード情報のソースを選択する画面の一例
【図5】エラー訂正符号量を指定するルックアップテーブルの一例
【図6】冗長度を指定するルックアップテーブルの一例
【図7】2回目のコード情報埋め込み例
【図8】耐性/品位を設定する画面の一例
【図9】(a)〜(d)印字精度を計測するための評価パターンの一例
【図10】印字精度を決定する処理フローの一例
【図11】ドット検出用のマスクパターンの一例
【図12】ドット定義テーブルの一例
【図13】実施形態2で説明するコード情報を印字する処理フロー
【図14】実施形態2に係る画像処理装置を示す図
【技術分野】
【0001】
本発明は、印刷画像に情報を埋め込む画像処理技術に関する。
【背景技術】
【0002】
近年、埋め込みたい情報を何らかの復号化処理を必要とする符号化情報(コード情報)に変換して印刷媒体上に印刷する画像処理手法が普及している。
【0003】
例えば、このコード情報は2次元的に情報が埋め込まれ、このコード情報は2次元コードと呼ばれる。
【0004】
印刷されたコード情報はそのままではユーザにより内容を認識することはできない。読取装置を用いてコード情報を画像データとして取り込み、この画像データに対して対応する復号化処理を行うことにより、ユーザはコード情報の内容を認識することができる。
【0005】
一般的には、読み取った画像データがコンピュータに転送され、コンピュータ上で動作するアプリケーションプログラムにより復号化が行われる。しかしこれに限らず、2次元コードに対応する携帯電話によりコード情報を読取装置の内部で復号化をすることもでき、或いは複数の機能を有する複写機により、その内部で復号化することもできる。
【0006】
通常、コード情報は、印刷される文章や画像と共に、印刷媒体上に印刷される。コード情報を印刷媒体に印刷する技術としては、一般的に、コード情報と印刷する用紙サイズを考慮して、計算された矩形のサイズに指向性をもたせたコード情報を埋め込む技術(特許文献1)が知られている。
【0007】
ところで、コード情報を印刷媒体、主に紙に適用する場合、コード情報の情報量(コードサイズ)と、コード情報と共に印刷する文章や画像とコード情報との合成後の画像品位とがトレードオフの関係になっている。例えば、印刷する用紙サイズが一定であれば、埋めこむ情報が増えるにつれて、付加するコード情報の量は増加する。また、エラー耐性を向上させると、さらにこのコード情報の量が増えてしまう。その結果、印刷する文章や画像との合成後、コード情報がノイズのようになり画像品位を落としてしまう。よって、画像品位を劣化させないようにコード情報を付加するためには、エラー訂正符号の量などのエラー耐性を向上させる情報量に、ある程度制限が必要になる。
【0008】
そこで特許文献2では、印刷する文章や画像との合成後の画像品位とエラー耐性とを調整する技術が開示されている。
【特許文献1】特開2003−101762
【特許文献2】特開2004−104494
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、従来のコード情報の生成処理では、固体差、環境変化、時間差によって変化していく出力装置(複写機やプリンタ)の印字特性を考慮していなかった。
【0010】
本発明は上記課題を鑑みてなされたものであって、変化する印字特性を考慮してコード情報の画像品位を判定することを目的とする。
【0011】
また、変化する印字特性を考慮してコード情報を生成することを目的とする。
例えば、出力装置が出力するドットの形成状態によってエラー耐性と画像品位を制御して、印刷媒体に印刷するコード情報を生成することを可能にした画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明の画像処理装置は以下のような構成を備える。即ち、画像に付加するコード情報を入力するコード情報入力手段と、印刷装置による前記コード情報の印字精度を示す印字精度情報を入力する印字精度情報入力手段と、前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定手段とを備える。
【0013】
また、本発明は更に、前記コード情報に耐性情報を付加する付加手段を備え、前記付加手段は、前記画像品位の判定結果に基づいて、前記耐性情報の情報量を調整することを特徴とする。
【発明の効果】
【0014】
本発明によれば、変化する印字特性を考慮してコード情報の画像品位を判定することができる。また、変化する印字特性を考慮してコード情報の生成を行なうことができる。
【発明を実施するための最良の形態】
【0015】
<実施形態1>
本実施形態では、印刷装置の印字特性によって画像品位を判定し、印刷媒体に最適なコード情報を生成することができる印刷装置、特には複数の機能を有する複写機について説明する。
【0016】
図1に本発明に係る印刷装置を示す。
【0017】
印刷装置1は、以下の処理部から構成される。100はスキャナなどの画像入力部である。101はUIパネルなどの環境設定部である。102はビデオコントローラなどのデータ処理部である。103はHDなどの内部記憶領域部である。104はネットワークI/FボードやFAXなどの画像送受信部であり、105はプリンタなどの画像出力部である。本実施形態では、ホストコンピュータ116と接続するプリンタや、スキャナを備えたコピー、FAXなどが一体となる複写機を用いた実施形態について説明するが、それに限ったことではない。
【0018】
データ処理部102は以下の処理部から構成される。110は入力部I/F、111は設定部I/F、112は出力部I/F、113は送受信I/F、114は記憶装置I/Fである。106はデータ処理・制御用プログラムが格納されているプログラムROMである。107はデータROM、108はCPU108、109は内部記憶領域であるRAM、115はタイマ(時計機能)であり、上記処理部が内部バスによって接続されている。
【0019】
画像データは、画像入力部100で入力画像をスキャンするか、或いは外部ホストコンピュータ、外部FAXやネットワーク経由で送られた画像データを、画像送受信部104を介して受信することによりデータ処理部102に取り込まれる。
【0020】
データ処理部102に取り込まれた画像データは、画像入力部101で設定された動作環境、又は外部から送信される画像データに含まれる動作環境情報にしたがって画像処理される。その後、画像処理を行った画像データを当該印刷装置で印刷する場合は、画像出力部105、外部ネットワークへプリントデータを送信する場合はデータ送受信部104、当該印刷装置内に保存する場合は内部記憶領域部103へそれぞれ送出される。
【0021】
データ処理部102において画像データを処理する際は、必要に応じてデータROM107の情報などを参照する。また、設定部I/F111を経由して取得した処理動作環境にしたがって、プログラムROM106からプログラムを読み出し、RAM109や内部記憶領域部103などを利用しながら画像処理を実行する。
【0022】
図2は、本実施形態の構成を示すブロック図である。
【0023】
データ入力部201は画像に埋め込まれるべき埋込情報を入力し、入力された埋込情報データをコード化する。次に耐性情報付加部202はコード化されたデータを入力し、入力されたコード情報に耐性情報を付加し、耐性情報が付加されたコード情報を所定回数分生成し、付加する。セルサイズ設定部203は、耐性情報付加部によって耐性情報が付加されたコード情報のコードサイズと画像を印字する印刷媒体の領域からセルサイズを決定する。一方、印字精度情報入力部204は、内部記憶領域103に記録されている印字精度情報を入力する。画像品位判断部205は、セルサイズ設定部203で設定されたセルサイズにおけるドットの密度と、印字精度情報入力部204に入力された印字精度情報から、画像の品位を判定する。画像品位判定部205の画像品位の判定に応じて、耐性情報付加部は耐性情報の量を制御する。画像品位判定部における画像品位の判定が満足された場合、データ出力部206ではコード情報を印刷用のデータとして出力する。
【0024】
図3のコード情報生成処理に沿って、本実施形態のコード情報生成処理の詳細を説明する。
【0025】
ステップ301:コード化するデータを入力する。コード化するデータは、ユーザや印刷装置の管理者の指示に基づいて、環境設定部101や、印刷装置に接続されたホストコンピュータ116上の専用アプリケーション又はプリンタドライバ(不図示)などから入力する。ここでは文字などのデータを直接入力してもよいし、コード化したいデータの所在を指定して、指定した場所からアプリケーションや印刷装置にダウンロードさせてもよい。またユーザIDや印刷日時やプリントジョブIDなどのメタ情報を入力しコード化してもよい。
尚、ユーザや印刷装置の管理者がデータを指定するだけでなく、自動的に印刷装置内部に保持している情報(ユーザIDや印刷日時やプリントジョブIDなど)をコード化するデータとしてもよい。
【0026】
図4に、印刷装置本体から入力するデータを選択するための画面の一例を表す。選択画面では、環境設定部101を介して、表示された項目を選択できる。401はユーザが直接コード化する情報を入力可能なキー入力である。402は内部記憶装置103に予め格納された情報を選択するBOX指定である。403は操作者の管理グループを指定できるグループID指定である。404は本体の機体番号を指定できる機体IDである。405は出力する日付を指定できる日付指定である。406は出力するユーザを特定するIDを指定するユーザID指定であり、上記項目を任意で指定できるようになっている。
【0027】
ステップ302:ステップ301で入力、若しくは指定されたデータをコード化する。最初にデータ入力部201にて、ステップ301で入力、若しくは指定されたデータ列を分析する。次に入力されたデータ列を所定のビット列に変換し、必要に応じてデータのモード(数字、英数字、8ビットバイト、漢字など)を示す指示子や、終端パターンをデータに付加する。次に、所定のビットコードに変換する。最終的にステップ302において、コードサイズS(ビット)のコード情報が生成される。尚、コード化の手段については特定せず、復号化のアルゴリズムと整合を取った上でコード化される。尚、コード情報に暗号化等の演算処理を施してもよい。
【0028】
ステップ303:コード情報の耐性を高める耐性情報として、エラー訂正符号をコード情報に付加する。図5に印刷装置1が内部記憶装置103にて保持しているエラー訂正符号量を決定するルックアップテーブル501を示す。502はエラー訂正符号量を指定するインデックス、503は対応するエラー訂正符号量の割合(コードサイズSに対するエラー訂正符号量の割合)を表す。本実施形態では、図5の数値でエラー訂正符号量を既定しているが、ユーザあるいは管理者が直接若しくはネットワークを通じて、ルックアップテーブル501を変更・作成してもよい。
【0029】
最初、ルックアップテーブル501には初期値としてインデックス:2(エラー訂正符号量20%)が指定されている。エラー訂正符号量が指定されると、ステップ302においてコード化されたコード情報からエラー訂正符号が付加されたコードサイズN(ビット)のコード情報が生成される。
N=S+X (1)
X:エラー訂正符号量により増加したコードサイズ(ビット)
エラー訂正符号方式は、2元符号を前提にしたBCH符号や多元符号に対応するリードソロモン符号、或いは、LDPC(低密度パリティチェックコード)符号など用いるがこれに限ったことではない。
【0030】
ステップ304:ステップ303で生成されたコードサイズNに対して、耐性をさらに高める耐性情報として冗長度Aを付加する。図6に、冗長度を決定するルックアップテーブル601を示す。602は、冗長度を指定するインデックスであり、603は対応する冗長数を表す。本実施形態では、図6の数値で冗長度Aを決定しているが、ユーザあるいは管理者が直接若しくはネットワークを通じて、ルックアップテーブル601を変更・作成してもよい。
【0031】
ルックアップテーブル601には初期値としてインデックス:5(繰り返し10回)が指定されている。また、後述するS308で画像品位を満足しない場合に、決定されたインデックスはステップ304で更新される。
【0032】
ステップ305:以下の式(2)により、最終的に印刷媒体に印刷するコード情報のコードサイズMを決定する。
M=A×N (2)
A:冗長度(コード情報Nの繰り返し回数)
ステップ306:ステップ305で決定したコードサイズMから、コード情報を埋め込むセルサイズを決定する。
【0033】
セルサイズは、コード情報を埋めこむ原稿領域をコードサイズMに応じて分割したもので、セルサイズ単位でコードサイズMの1ビット若しくは複数ビットが埋め込まれる。
【0034】
本発明では、コード情報をドットの集合体として表現する。しかしセルにドットの集合体を埋めこむ方法としては、1セル毎にコード化して表現(セルの1つが“1”若しくは“0”を表現)してもよいし、1セルで複数ビットを表現する方法のどちらでもよい。本実施形態では1つのセルで1ビットを表現する。例えば、1つのセルで1ビットを表す場合、例えば、ドットがセルの中心よりも上にある場合は“1”、セルの中心よりも下にある場合は“0”などが考えられる。
【0035】
原稿領域に埋め込まれる情報量は、ステップ305よりMビットであるので、最低限必要なセル数はM個となる。図7に示すように、印字される画像サイズ:W画素(主走査方向)×H画素(副走査方向)で形成可能なセルサイズは、以下の式(3)で決定される。
セルサイズ(PxQ)[S]=[W×H/M] (3)
[S]:Sを超えない最大の整数
今、画像サイズとして、W=4961画素、H=7016画素、M=600Kbit(キロビット)であれば、セルサイズ(PxQ)は、58となる。P=Qという前提条件与えると、P=7画素が得られる。また、P≠Qとして画素サイズを求めても構わない。その場合は、セルサイズを構成する因数とPとQの比率から最適な画素サイズを求めることになる。
【0036】
図7のセル704は、ひとつのドットサイズ702が付加された例であり、またセル705は2つのドットサイズ702が付加された例である。
【0037】
図7では、原稿サイズ703一面すべてがセルサイズに分割されているが、埋め込む情報量に応じて、原稿サイズの一部の領域だけ分割してもよい。
【0038】
ステップ307:ステップ306で決定したセルサイズと後述する1ドットを表現する画素数から、画像品位を算出する。
【0039】
本実施形態では、後述する印字精度判定処理によって作成される印字精度情報が記載されたドット定義テーブル(後述)を参照し、3×3画素のドットサイズが確実に出力装置で再現されるドットサイズとして判定されたものとする。よって、図7の場合、表現されるセル内のドットサイズは、3×3画素を最小単位とするドットサイズ702が置き換えられドットの最大画素数Yが求まる。ドットの最大画素数Yは、M個存在するセルサイズ内のドットの最大画素数(本実施形態では黒で表現)を主走査方向にP画素、副走査方向にQ(P=Qの場合は、P)画素毎に捜索する。例えば、印字精度判定処理によって判定されたドットサイズが3×3画素で、すべてのセルサイズにおいて1セルに対し1ドットで表現される場合、Yの値は9になる。
【0040】
また、印字精度判定処理によって判定されたドットサイズが3×3画素で、1セルに対し1ドットもしくは2ドットで表現されている場合、Yの値は18になる。
【0041】
すべて同じ密度でセル内部をドット形成する場合は、1つのセルだけ計算すればよい。
【0042】
このとき、セル内部のドットの最大画素数がセルの画像サイズP×Qを越えた場合は、コード情報を印字できないとして、続くステップ308で画像品位を満足しないと判断する。
【0043】
図7でセル704は、セルサイズ内、1つのドットで表現されているので、ドットサイズは3×3=9画素、セル605の場合は2つのドットで表現されているので、ドットサイズは3×3×2=18画素となる。
【0044】
次に、画像品位Quを以下の式(4)にて算出する。
Qu=Y/(P×Q) (4)
ステップ308:ステップ307で算出されたQuを以下の条件式によって検定する。
Qu≦α1:High (5)
α1<Qu≦α2:Mid (6)
α2<Qu :Low (7)
画像品位Quは、式(4)に示すように、セル内部に占めるドットの割合で決定される。条件式(5)〜(7)を参照すると、α1<α2(α1、α2ともに0以上)と設定することで、式(5)はセル内部に占めるドット密度が低く、この状態を画像品位が高いと判断する。逆に、式(7)はドットの占める密度が大きいので、画像品位が悪くなるがその反面、出力印字物に対する耐性が式(5)や式(6)より高くなる可能性があるため、耐性が高いと判断する。α1とα2の値は、印刷装置の特性に応じて任意に定めてよい。
【0045】
条件式(5)〜(7)は、図8に示す耐性/品位を設定する画面と連動している。図8では、耐性を優先させる801、画質を優先させる803、その中間を選択できる802の3段階で耐性と画像品位を選択できるようになっている。ユーザは付加する原稿の情報に応じて、環境設定部101より条件を選択することもできる。
【0046】
801は、耐性優先を表す式(7)に相当し、801は画像品位がもっとも高い設定となる式(5)、802のその中間のレベルの式(6)に相当する。本実施形態では、デフォルト設定として、802が設定されているものとする。
【0047】
ステップ308で画像品位Quを満足しないと判断されたものは、冗長度のルックアップテーブル601を再度参照する。初期設定において、インデックスは5に設定しているが、再設定する際に、インデックスをひとつ低い設定である4に再設定して冗長度を調整する。
【0048】
以降、画像品位Quを満足するまで同様の処理が続けられ、所定の画像品位Quが満足されれば、ステップ209でデータが生成される。画像品位Quを満足しない場合、つまり選択した画像品位と算出した画像品位が一致しない場合は、図5のインデックス値が“0”を指すところまでこの処理が繰り返される。
【0049】
図6の更新されたインデックス602が“0”を示した場合は、指定した耐性/品位の設定ではコード情報を埋め込めないことを環境設定部101を通じて操作者に通知する。
【0050】
ステップ308で、条件式を満足している場合は、ステップ309へ進む。
【0051】
ステップ309:ステップ308で条件式を満足した場合、コード情報をプリント用のデータとして生成し、処理を終了する。
【0052】
生成されたコード情報は、スキャナ100からの画像データ、ホストコンピュータ116などのPDLデータなどと一緒にデータ処理部102内で合成され、画像出力部105で出力される。
【0053】
[印字精度判定処理]
印字精度判定処理は、コード情報生成処理とは独立して処理される。印字精度は、印刷装置が印字可能な最小ドットのサイズを印字基準として判定するものである。印字精度判定処理は定期的若しくは任意に、ユーザ若しくは管理者によって行われ、処理結果は印刷装置1に記憶される。
【0054】
図10に、印字精度を決定する処理フローを示す。
【0055】
ステップ1001:計測用のパッチ(画像)を出力する。本実施形態では、計測用のパッチとして、図9(a)〜(d)までの4パターンを出力する。各パターンは、出力用紙サイズの9点に同じドットサイズのデータを印字する。901は出力する用紙サイズであり、図9(a)902は、1×1のドットサイズ、図9(b)903は2×2のドットサイズ、図9(c)904は3×3のドットサイズ、図9(d)の905は4×4のドットサイズとなっている。
ステップ1001では、内部記憶装置103に格納されたパターン生成プログラムを起動し、CPU108がRAM109上に所定のメモリ領域を確保する。そして図9(a)の測定用パッチデータを生成後、生成された画像データは、画像出力部105に送出され印字される。
【0056】
出力される測定用パッチは、黒に限定されることなく、複数の色パッチとして生成し、出力しても構わない。
【0057】
ステップ1002:ステップ1001にて出力された測定用パッチを画像入力部100にてスキャンする。スキャンされたパッチ画像は、パッチ画像データとして入力部I/F110を介して、RAM109に一時格納される。
【0058】
パッチ画像データは、カラースキャナであれば、レッド、グリーン、ブルーの3チャンネルの信号に分解されて多値データとして取り込まれ、1チャンネルのスキャナであれば、グレー信号として多値データとして取り込まれる。
【0059】
ステップ1003:ステップ1002で格納されたパッチ画像データに検出可能なドットが打たれているか判定する。
【0060】
印字精度の判定には、図11(a)、(b)に示すマスクパターンと、ステップ1002でRAM109に一時格納されたパッチ画像データとのコンボリューション演算により行われる。マスクパターン図11(a)、(b)は、判定するパッチ画像データのサイズによって、サイズとマスクパターンの係数が異なる。
【0061】
例えば、図9(a)、(b)の測定用パッチをスキャンしたパッチ画像データは、図11(a)を利用し、図9(c)、(d)の測定用パッチをスキャンしたパッチ画像データでは、図11(b)を利用する。マスクパターンは、予め内部記憶装置103内に格納されている。コンボリューション演算の結果はCPU108によりRAM109に格納される。
【0062】
コンボリューション演算の結果として、1つのパッチ画像データを処理する毎に、パッチ画像データの面内9箇所にピーク値が存在する。本実施形態では、以下の式(8)によって検出値を算出する。
|検出値|=min(Σピーク値) ・・・(8)
続いて、判定を行うために、検出値を閾値:Threと比較する。
If(検出値≧Thre[i]) 判定[i]=1 ・・・(9)
else 判定[i]=0 ・・・(10)
iは、パッチ画像データの回数を表す。よって、最初のスキャンでは、判定[0]の判定結果が入る。判定結果が“1”の場合は、そのパッチサイズがコード情報の埋め込みに適用できることを示しており、“0”は印字したドットが検出しにくいので、そのパッチサイズはコード情報の埋め込みに適用できないことを表す。
【0063】
閾値:Threはパッチのサイズによって適応的に切り替える方が効果的であるため、本実施形態でも切り替える処理を行う。
ステップ1004:最終パッチか否かを確認する。最終パッチが印字精度判定S1003で処理されるまで実施される。
【0064】
図12に本処理より作成されたドット定義テーブル1201を表す。1202はインデックスであり、確認する各ドットサイズに対応している。1203は、本フローにより判定された結果が格納される。ドット定義テーブル1201は、本処理を実行する度に更新され、本実施形態で適用するドットサイズは、1203で1が記載された最小のインデックスのものが適用される。図12の場合、2次元データ生成時で適用するドットサイズは、インデックス2を示す図9(c)の3×3のドットサイズとなる。
【0065】
本処理では、測定用パッチを複数のページに分けて印字、読み取りを行ったが、測定用パッチをまとめて1枚の中に記載し、読み取り時に分離して解析してもよい。
【0066】
また、本実施形態では、出力装置の特性を把握するのに、4種類のドットサイズを検証しているが、さらに複数のサイズを適用してもよい。
【0067】
さらに、ドット定義テーブル1201で演算結果がすべて“0”、つまりすべてのドットサイズにおいて検出不能な状態が把握された場合は、環境設定部101にて、その内容をユーザに通知する。通知は、単に環境設定部101に表示しても構わないが、ホストコンピュータ116で利用されるドライバ(不図示)に、情報を送信してもよい。さらには、管理サーバー(不図示)に通知してもよい。
【0068】
以上、本実施形態では、変化する印字特性を考慮してコード情報の画像品位を判定することができる。また、変化する印字特性を考慮してコード情報の生成を行なうことができる。
【0069】
なお、耐性/品位を表す条件は、3つに限定されるものでなく、さらにきめ細かく条件を増やしてもよい。
【0070】
<実施形態2>
本実施形態では、図13に示すように、冗長度だけでなく、エラー訂正符号量も変更させる処理を説明する。また、実施形態1と同様な構成の説明は省略し、異なる部分についてのみ説明する。
【0071】
ステップ1301では、ルックアップテーブル501のインデックスを確認する。ステップ1302で画像品位Quを満足しない場合は、再度、ステップ1301でエラー訂正符号量を設定する。
【0072】
このとき、エラー訂正符号量のルックアップテーブル401が同時に参照され、インデックス502を低い値に更新する。初期値として“2”が指定されていて、今回の参照では、インデックス1(エラー訂正符号量15%)に更新される。引き続きステップ1302で画像品位Quの検定が行われ、インデックスが更新される。しかしインデックスが“0”を示した後に、再度、エラー訂正符号量のルックアップテーブル501が参照された場合は、指定した耐性/品位の設定ではコード情報を埋め込めないことを、環境設定部101を通じで操作者に通知する。
【0073】
続いてステップ204にて冗長度のルックアップテーブル602が参照され、図6のインデックスを低い値に更新する。初期値として“5”が指定されていて、今回の参照では、インデックス4(冗長度5回)に更新される。引き続きステップ1302で画像品位Quの検定が行われ、インデックスが更新される。しかしインデックスが“0”を示した後に、再度、エラー訂正符号量のルックアップテーブル501が参照された場合は、指定した耐性/品位の設定ではコード情報を埋め込めないことを、環境設定部101を通じで操作者に通知する。
本実施形態の処理においても、実施形態1と同様の効果を得ることができる。
【0074】
<実施形態3>
実施形態1ではMFPなどの高機能印刷装置における本発明の実施形態を説明したが、本発明は複数の機器(例えば、ホストコンピュータ、インタフェース機器、スキャナ、プリンタ等)から構成されるシステムに適用してもよい。
【0075】
図14は、本実施形態による画像処理システムの構成を説明するための図である。尚、画像処理装置の実現に当たっては、図14に示される全ての機能を使用することは必須ではない。
【0076】
図14において、コンピュータ1401は、一般に普及しているパーソナルコンピュータであり、スキャナ等の画像入力装置1417から読み取られた画像を入力し、編集や保管を行うことが可能である。また、画像入力装置1417で得られた画像をプリンタ1416から印刷させることができる。尚、ユーザからの各種指示等は、マウス1413、キーボード1414からの入力操作により行われる。
【0077】
コンピュータ1401の内部では、バス1407により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。図14において、MPU1402は、コンピュータ1401内部の各ブロックの動作を制御し、あるいは内部に記憶されたプログラムを実行することができる。主記憶装置1403は、MPU1402において行われる処理のために、一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク(HDD)1404は、主記憶装置1403等に転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存することのできる装置である。
【0078】
スキャナインタフェース(I/F)1415は、原稿やフィルム等を読み取って、画像データを生成するスキャナ1417と接続され、スキャナ1417で得られた画像データを入力することのできるI/Fである。プリンタインタフェース1408は、画像データを印刷するプリンタ1416と接続され、印刷する画像データをプリンタ1416に送信することのできるI/Fである。
CDドライブ1409は、外部記憶媒体の一つであるCD(CD−R/CD−RW)に記憶されたデータを読み込んだり、あるいは書き出すことができる装置である。FDDドライブ1411は、CDドライブ1409と同様にFDDからの読み込みや、FDDへの書き出しをすることができる装置である。DVDドライブ1410は、FDDドライブ1411と同様に、DVDからの読み込みや、DVDへの書き出しをすることができる装置である。尚、CD、FDD、DVD等に画像編集用のプログラム、あるいはプリンタドライバが記憶されている場合には、これらプログラムをHDD1404上にインストールし、必要に応じて主記憶装置1403に転送されるようになっている。
【0079】
インタフェース(I/F)1412は、マウス1413やキーボード1414からの入力指示を受け付けるために、これらと接続されるI/Fである。また、モニタ1406は、透かし情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらに、ビデオコントローラ1405は、表示データをモニタ1406に送信するための装置である。
【0080】
図1の画像処理装置との対応関係として、画像入力部100はスキャナ1417,環境設定部101はモニタ1406が対応する。また、データ処理部102は主記憶装置1403とMPU1402、内部記憶領域部103はHDD1404、画像送受信部104はI/F1408やI/F1415、画像出力部105はプリンタ1416に対応する。
【0081】
<他の実施形態>
更に、本発明は実施形態1〜3に限らず、同様の効果を奏するものであれば種々の変形が可能である。
【0082】
例えば実施形態1、2では、耐性情報としてエラー耐性符号と冗長度を付加したが、前記どちらか一方のみを耐性情報としてもよい。
また、実施形態1〜3では、耐性情報の付加されたコード情報の情報量より画像品位を判定したが、耐性情報を付加せず、コード情報のみで画像の品位を判定してもよい。
【0083】
また実施形態1、2では、画像品位Quの検定により、条件を満足しない場合は、エラー訂正符号量や冗長度を変更することで、ユーザの指定した耐性/品位を実現する処理を行う。他の方法としては、エラー訂正符号量だけを更新して、画像品位Quの検討を行い、それでも満足しない場合は、冗長度を更新する方法も可能である。
【0084】
さらに、実施形態1、2では、画像品位Quを条件式(5)〜(7)を用いて判定したが、これに限らない。例えば、画像品位Quとある閾値α´との大小関係を条件としてもよい。例えば、画像品位Quが閾値α´よりも大きい場合、コード情報を生成せず印刷をしない。若しくは、環境設定部101を通じてユーザにコード情報を生成できないことを表示させてもよい。
【0085】
また、本発明は上記実施形態を実現する為の装置及び方法のみに限定されるものではない。上記システム又は装置内のコンピュータ(CPUあるいはMPU)に、上記実施形態を実現する為のソフトウェアのプログラムコードを供給し、このプログラムコードにしたがって上記システムあるいは装置のコンピュータが上記各種デバイスを動作させる。これにより上記実施形態を実現する場合も本発明の範疇に含まれる。
【0086】
またこの場合、ソフトウェアのプログラムコード自体が上記実施形態の機能を実現することになる。つまり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給する為の手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【0087】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0088】
また、上記コンピュータが、供給されたプログラムコードのみにしたがって各種デバイスを制御することにより、上記実施形態の機能が実現される。またこの場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【0089】
更に、この供給されたプログラムコードの指示に基づいてコンピュータの機能拡張ボードやコンピュータに接続された機能格納ユニットに備わるCPU等が処理の一部又は全部を行い、その処理によって上記実施形態が実現される場合も本発明の範疇に含まれる。
【図面の簡単な説明】
【0090】
【図1】本発明に係る画像処理装置及び印刷装置を示す図
【図2】実施形態1のデータ処理部102の構成を示すブロック図
【図3】実施形態1で説明するコード情報を印字する処理フロー
【図4】コード情報のソースを選択する画面の一例
【図5】エラー訂正符号量を指定するルックアップテーブルの一例
【図6】冗長度を指定するルックアップテーブルの一例
【図7】2回目のコード情報埋め込み例
【図8】耐性/品位を設定する画面の一例
【図9】(a)〜(d)印字精度を計測するための評価パターンの一例
【図10】印字精度を決定する処理フローの一例
【図11】ドット検出用のマスクパターンの一例
【図12】ドット定義テーブルの一例
【図13】実施形態2で説明するコード情報を印字する処理フロー
【図14】実施形態2に係る画像処理装置を示す図
【特許請求の範囲】
【請求項1】
画像に付加するコード情報を入力するコード情報入力手段と、
印刷装置による前記コード情報の印字精度を示す印字精度情報を入力する印字精度情報入力手段と、
前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定手段とを備えることを特徴とする画像処理装置。
【請求項2】
さらに、前記コード情報に耐性情報を付加する付加手段を備え、
前記付加手段は、前記画像品位の判定結果に基づいて、前記耐性情報の情報量を調整することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
さらに、画像品位を指定する指定手段を備え、
前記指定手段によって指定された画像品位と前記画像品位判定手段によって判定された画像品位が一致しない場合に、前記耐性情報の情報量を調整することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記付加手段は耐性情報として、エラー訂正符号と冗長度の少なくとも一方を付加することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
さらに、前記コード情報の情報量と該コード情報を付加する該画像の領域のサイズとに基づいて該領域を分割する分割手段を備え、前記画像品位判定手段は前記分割された領域と前記印字精度情報から、画像品位を判定することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記分割手段は、前記領域のサイズを前記コード情報の情報量で除算することにより、分割された領域のサイズを決定することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記画像品位判定手段は、前記分割された前記領域に含まれるドットのサイズの割合を算出することで画像品位を判定することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
さらに前記コード情報を出力する出力手段を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記出力手段は、前記画像品位判定手段による判定結果が、予め定められている画像品位を満たす場合に前記コード情報を出力することを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記印字精度情報は、前記印刷装置で印字精度を満たす最小ドットのサイズを表すことを特徴とする請求項1に記載の画像処理装置。
【請求項11】
さらに、画像品位を計測するための画像を出力する出力手段と、
前記画像を入力する入力手段と、
前記入力手段から入力された画像から印字精度を判定する印字精度判定手段と、
前記印字精度判定手段によって判定された判定結果から印字精度情報を生成する生成手段を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項12】
画像に付加するコード情報を入力する入力工程と、
前記コード情報を印字する印刷装置の印字精度を示す印字精度情報を入力する入力工程と、
前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定工程とを備えることを特徴とする画像処理方法。
【請求項13】
前記請求項12に記載の画像処理方法を実行するプログラムコード。
【請求項14】
前記請求項13に記載のプログラムコードを格納する記憶媒体。
【請求項1】
画像に付加するコード情報を入力するコード情報入力手段と、
印刷装置による前記コード情報の印字精度を示す印字精度情報を入力する印字精度情報入力手段と、
前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定手段とを備えることを特徴とする画像処理装置。
【請求項2】
さらに、前記コード情報に耐性情報を付加する付加手段を備え、
前記付加手段は、前記画像品位の判定結果に基づいて、前記耐性情報の情報量を調整することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
さらに、画像品位を指定する指定手段を備え、
前記指定手段によって指定された画像品位と前記画像品位判定手段によって判定された画像品位が一致しない場合に、前記耐性情報の情報量を調整することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記付加手段は耐性情報として、エラー訂正符号と冗長度の少なくとも一方を付加することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
さらに、前記コード情報の情報量と該コード情報を付加する該画像の領域のサイズとに基づいて該領域を分割する分割手段を備え、前記画像品位判定手段は前記分割された領域と前記印字精度情報から、画像品位を判定することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記分割手段は、前記領域のサイズを前記コード情報の情報量で除算することにより、分割された領域のサイズを決定することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記画像品位判定手段は、前記分割された前記領域に含まれるドットのサイズの割合を算出することで画像品位を判定することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
さらに前記コード情報を出力する出力手段を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記出力手段は、前記画像品位判定手段による判定結果が、予め定められている画像品位を満たす場合に前記コード情報を出力することを特徴とする請求項8に記載の画像処理装置。
【請求項10】
前記印字精度情報は、前記印刷装置で印字精度を満たす最小ドットのサイズを表すことを特徴とする請求項1に記載の画像処理装置。
【請求項11】
さらに、画像品位を計測するための画像を出力する出力手段と、
前記画像を入力する入力手段と、
前記入力手段から入力された画像から印字精度を判定する印字精度判定手段と、
前記印字精度判定手段によって判定された判定結果から印字精度情報を生成する生成手段を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項12】
画像に付加するコード情報を入力する入力工程と、
前記コード情報を印字する印刷装置の印字精度を示す印字精度情報を入力する入力工程と、
前記コード情報と前記印字精度情報から該コード情報が前記印刷装置によって印刷された場合の画像品位を判定する画像品位判定工程とを備えることを特徴とする画像処理方法。
【請求項13】
前記請求項12に記載の画像処理方法を実行するプログラムコード。
【請求項14】
前記請求項13に記載のプログラムコードを格納する記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−42733(P2008−42733A)
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願番号】特願2006−216916(P2006−216916)
【出願日】平成18年8月9日(2006.8.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願日】平成18年8月9日(2006.8.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]