以下、本発明の実施形態について添付図面を参照して詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものではなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[第1の実施形態]
本発明の第1の実施形態に係る印刷システムの構成について図1を用いて説明する。
第1の実施形態では、CPU114は、印刷位置のずれを計測するための第1のオブジェクト(例えば、測定用マーク)を含むシート(調整用チャートと呼ぶ)の画像を読み取るよう指示する。そして、CPU114は、当該調整用チャートの画像を読み取ったことに従って、第1の画像データ、及び当該第1の画像データより解像度が低い第2の画像データ(例えば、サムネイル画像データ)を生成する。続いて、CPU114は、生成された当該第2の画像データから第2のオブジェクトの位置を検出する。そして、CPU114は、検出された当該第2のオブジェクトの位置に基づいて、当該第1の画像データから当該第1のオブジェクトの位置を検出するものである。これによって、印刷位置のずれを計測するためのオブジェクトの位置を検出するために、調整用チャートの画像を示す画像データの全画素を検索しなくて済み、検索処理にかかる時間が短縮される。
以下、詳細に説明する。
本実施形態に係る印刷システムは、印刷装置100と、外部装置の一例であるPC(コンピュータ)101とで構成される。
印刷装置100は、原稿を読み取って画像データを生成する画像読取機能と、生成した画像データに基づいて画像をシートに印刷する印刷機能(コピー機能)を備えている。また、印刷装置100は、PC101等の外部装置から印刷ジョブを受信し、印刷指示を受け付けたデータに基づいて文字や画像をシートに印刷する印刷機能(PCプリント機能)を備えている。なお、印刷機能による印刷は、カラーであっても、モノクロであってもよい。
印刷装置100のコントローラ部(制御部)110は、ネットワークケーブル105を介してPC101と接続される。なお、コントローラ部110とPC101は、ネットワークケーブル105を介して接続される構成に限られない。コントローラ部110とPC101は、ローカルエリアネットワーク等のLAN(Local Area Network)を介して接続される構成であってもよい。また、コントローラ部110とPC101は、インターネット等のWAN(Wide Area Network)や、専用のプリンタケーブルを介して接続される構成であってもよい。なお、ネットワークケーブル105を介して1台のPC101が印刷装置100に接続される構成を図1に例示したが、これに限られない。ネットワークケーブル105を介して複数台のPC101が印刷装置100に接続される構成であってもよい。
PC101は、例えば、アプリケーションソフトウェアによって画像データを生成し、生成した画像データを印刷装置100に送信する。また、PC101は、例えば、アプリケーションソフトウェアやプリンタドライバを用いて、PDL(Page Description Language)データを生成する。そして、コントローラ部110は、PC101からネットワークケーブル105を経由して送られてきたPDLデータを、ラスタライズすることにより、ビットマップデータを生成する。なお、ラスタライズを実行するプログラム等は、後述するROM112又はHDD115に記憶されている。
なお、本実施形態では、PC101を外部装置の一例として説明するが、これに限られない。外部装置は、PDA(personal digital assistant)やスマートフォン等の携帯情報端末、ネットワーク接続機器、又は外部専用装置等であっても良い。
続いて、本実施形態に係る印刷装置100のブロック図について、図1を用いて説明する。印刷装置100は、コントローラ部110、画像出力デバイスであるプリンタエンジン150、画像入力デバイスであるスキャナ部130、給送部140、及び、操作部120を有する。これらは電気的に接続されており、互いに制御コマンドやデータを送受信する。
コントローラ部110は、印刷装置100の動作を統括的に制御すると共に、画像情報やデバイス情報の入出力制御を行う。また、コントローラ部110は、複数の機能ブロックとして、CPU114、I/O制御部111、ROM112、RAM113、及び、HDD115を有する。なお、各モジュールは、それぞれシステムバス116を介して互いに接続される。
CPU114は、印刷装置100の全体を制御するプロセッサーである。CPU114は、ROM112に記憶された制御プログラム等に基づいて、接続中の各種デバイスとのアクセスを統括的に制御する。また、CPU114は、コントローラ部110の内部で行われる各種処理を統括的に制御する。
I/O制御部111は、外部のネットワークとの通信制御を行うためのモジュールである。
画像変倍部117は、スキャナ部130やPC101等から入力された画像データの解像度を変換することによって変倍し、画像データから所定の画像サイズのサムネイル画像データを生成する。画像サイズは、入力された画像データの主走査×副走査(幅×高さ)の画素数を示すための属性である。
RAM113は、読み出し及び書き込み可能なメモリである。また、RAM113は、CPU114が動作するためのシステムワークメモリでもある。RAM113には、スキャナ部130やPC101等から入力された画像データや、画像変倍部117からシステムバス116を介して転送されたサムネイル画像データや、各種プログラムや設定情報等が記憶される。
ROM112は、読み出し専用のメモリである。また、ROM112は、ブートROMである。ROM112には、システムのブートプログラムが予め記憶されている。
HDD115は、主に、コンピュータを起動・動作させるために必要な情報(システムソフトウェア)や、画像データが記憶される。
なお、コントローラ部110がNVRAM(不図示)を有している場合、システムソフトウェアや、画像データや、後述する操作部120を介して受け付けた設定情報等をNVRAMに記憶してもよい。
RAM113又はHDD115には、印刷装置100における印刷に使用されるシートの属性情報をリスト形式で管理するためのシート管理テーブル400が記憶される。なお、シート管理テーブル400の詳細については、図4で後述する。
ROM112又はHDD115には、CPU114により実行される、後述するフローチャートの各種処理等を実行するために必要な各種の制御プログラムが記憶されている。また、ROM112又はHDD115には、ユーザインタフェース画面(以下、UI画面)を含む操作部120の表示部(不図示)に各種のUI画面を表示させるための表示制御プログラムも記憶されている。CPU114が、ROM112又はHDD115に記憶されているプログラムを読み出して、RAM113に当該プログラムを展開することにより、本実施形態に係る各種動作を実行する。
プリンタエンジン150は、画像形成部151と、定着ユニット155を有する。また、画像形成部151は、現像ユニット152、感光体ドラム153、及び転写ベルト154を有する。なお、画像形成部151及び定着ユニット155の詳細については、図2で後述する。
スキャナ部130は、光学センサを用いて原稿(シート)の画像をスキャンし、スキャン画像データを取得する。なお、スキャナ部130の詳細については、図3で後述する。
給送部140は、複数のシート収納部(例えば、給送カセット、給送デッキ、手差しトレイ等)からシートを給送するためのユニットである。各シート収納部は、複数種類のシートを収納することができ、また、複数枚のシートを収納することができる。シート収納部に収納されたシートのうち最上位のシートが1枚ずつ分離されて、画像形成部151に搬送される。そして、画像形成部151は、スキャナ部130やPC101等から入力された画像データに基づいて、シート収納部から給送されたシートに画像を印刷する。
操作部120は、ユーザインタフェース部の一例に該当する。操作部120は、表示部(不図示)と、キー入力部(不図示)とを有する。また、操作部120は、表示部やキー入力部を介して、ユーザからの各種設定を受け付ける機能を有する。また、操作部120は、表示部を介して、ユーザに情報を提供する機能を有する。
表示部は、LCD(Liquid Crystal Display:液晶表示部)と、LCD上に貼られた透明電極(静電容量方式でもよい)とを有するタッチパネルシートとで構成される。LCDには、操作画面が表示される他、印刷装置100の状態が表示される。キー入力部には、例えば、スキャンやコピー等の実行の開始を指示するために用いられるスタートキー(不図示)や、スキャンやコピー等の稼働中の動作の中止を指示するために用いられるストップキー(不図示)等がある。
続いて、画像形成部151の構成を示す断面図の一例について、図2を用いて説明する。
画像形成部151は、コントローラ部110によって生成された画像データに従って、現像ユニット152を用いて感光体ドラム153の周囲上にトナー像を形成する。
なお、現像ユニット152は、感光体ドラム153に対向して配置される。現像ユニット152の内部は、垂直方向に延在する隔壁201によって現像部202と撹拌部203とに分かれている。
現像部202には、矢印241の方向に回転する非磁性の現像スリーブ204が配置される。現像スリーブ204の内部には、マグネット205が固定配置される。
現像スリーブ204は、ブレード206によって取り出された現像剤(例えば、二成分現像剤である。磁性キャリアと非磁性トナーを含む。)を搬送する。そして、感光体ドラム153と対向する現像領域で現像剤を感光体ドラム153に供給して、感光体ドラム153上の静電潜像を現像する。なお、現像効率、即ち静電潜像へのトナーの付与率を向上させるために、現像スリーブ204には、直流電圧を交流電圧に重畳した現像バイアス電圧が印加される。
現像部202及び撹拌部203には、現像剤を撹拌するためのスクリュー207、208がそれぞれ配置されている。スクリュー207は、現像部202中の現像剤を撹拌し、撹拌された現像剤を搬送する。一方、スクリュー208は、トナー補給槽210のトナー排出口211から搬送スクリュー212の回転によって供給されたトナー213と、現像ユニット152内に既に存在する現像剤214とを撹拌する。そして、スクリュー208は、撹拌された現像剤を搬送し、トナー濃度を均一化する。
なお、隔壁201には、図2に示す手前側と奥側の端部において、現像部202と撹拌部203とを相互に連通させるための現像剤通路(不図示)が設けられている。現像によってトナーが消費されてトナー濃度の低下した現像部202内の現像剤は、スクリュー207、208の搬送力により、一方の現像剤通路から撹拌部203内に移動される。そして、撹拌部203内でトナー濃度が回復した現像剤は、他方の現像剤通路から現像部202内に移動されるように構成されている。
感光体ドラム153は、矢印242の方向に回転駆動される。感光体ドラム153の周辺には、感光体ドラム153を一様に帯電する一次帯電器220、現像ユニット152、現像された可視トナー像をシートに転写する転写ユニット221、ドラムクリーナ222が感光体ドラム153の回転方向に順次配設されている。
また、感光体ドラム153の上方には像露光装置223が設けられている。像露光装置223は、半導体レーザ、ポリゴンミラー、反射鏡等からなり、コントローラ部110によってデジタル信号に変換された画像に対応するデジタル画素信号(ビデオデータ)の入力を受けて、信号に対応して変調されたレーザビームを照射する。
像露光装置223は、当該レーザビームを、一次帯電器220と現像ユニット152との間で感光体ドラム153の母線方向に走査するよう照射する。そして、感光体ドラム153のドラム面は露光されて、静電潜像が形成される。その後、感光体ドラム153が回転することで、静電潜像が現像ユニット152によって可視トナー像に現像される。
感光体ドラム153の下部には、矢印243の方向にシートを搬送する転写ベルト154が複数のローラ間に張架されて配置される。
給送部140から給送されたシートは、転写ベルト154の右側から搬送される。そして、当該シートは、転写ベルト154を挟んで対向設置される吸着帯電器230の作用により、転写ベルト154に担持されて、転写ベルト154の左側(矢印243の方向)に搬送される。そして、感光体ドラム153と転写ユニット221との間をシートが通過する際に、転写ユニット221の作用によって、感光体ドラム153上に現像された可視トナー像が当該シートに転写される。トナー像が転写されたシートは、除電用帯電器231によって転写ベルト154から分離され、定着ユニット155に搬送される。
そして、定着ユニット155が備える加圧ローラ(不図示)と加熱ローラ(不図示)との間を当該シートが通過し、トナーが溶融・圧着される。これにより、シートにトナー像が定着される。なお、シートへのトナーを転写した後に感光体ドラム153上に残存するトナーは、ドラムクリーナ222により除去される。
続いて、スキャナ部130の構成を示す断面図の一例について、図3を用いて説明する。
原稿301の画像の読み取り方法には、流し読み方式と光学系移動方式の2つの方式がある。流し読み方式では、原稿積載部(原稿トレイとも呼ぶ)(不図示)に原稿301が載置されて、自動原稿搬送装置(ADF)によって原稿301を搬送させながら、固定された光学系の位置で原稿301の画像を読み取る。なお、ADFとは、Auto Document Feederのことである。一方、光学系移動方式では、プラテンガラス(原稿台)302上に原稿301が載置されて、光学系を移動させながら、原稿位置が固定された原稿301の画像を読み取る。
本実施形態におけるスキャナ部130では、原稿台を用いて原稿301をスキャンする構成を備えている場合について以降説明するが、これに限られない。第1の実施形態では、スキャナ部130は、ADFを用いて原稿301をスキャンする構成、及び、圧板を用いて原稿301をスキャンする構成の両方を備えていてもよい。
なお、スキャナ部130における原稿301の画像の読み取り動作(スキャン動作とも呼ぶ)の開始指示は、例えば、スキャンの実行の開始を指示するためのスタートキー(不図示)がユーザによって押下されることにより行われる。もしくは、スキャン動作の開始指示は、例えば、操作部120の表示部(不図示)に表示されるスタートボタンがユーザによって押下されることにより行われてもよい。
以降、原稿台を用いて原稿301の画像を読み取る場合について説明する。
スキャン動作の開始指示により、プラテンガラス302上に載置された原稿301の画像の読み取るために、第一ミラーユニット303と第二ミラーユニット304は、モータ312の駆動によって、ホームポジションセンサ305のある位置まで一旦戻される。そして、原稿照明ランプ306が点灯され、点灯された光は原稿301に照射される。原稿301からの反射光は、第一ミラーユニット303内の第1ミラー307と、第二ミラーユニット304内の第2ミラー308、及び、第二ミラーユニット304内の第3ミラー309を経由する。第3ミラー309からの反射光は、レンズ310を通してCCD(Charge Coupled Device)センサ311上に結像されて、光信号としてCCDセンサ311に入力される。
なお、第二ミラーユニット304は、第一ミラーユニット303の速度(V)の半分の速度(V/2)で移動する。これにより、原稿301の全面が走査される。
なお、本実施形態では、スキャナ部130が備える光学系は、原稿301からの反射光をCCDセンサ311上に結像する縮小光学系である場合について説明したが、これに限られない。スキャナ部130が備える光学系は、原稿301からの反射光をCIS(Contact Image Sensor)上に結像する等倍光学系であってもよい。
本実施形態では、「原稿台を用いた光学系移動方式」により原稿301をスキャンすることを「圧板読み」と定義し、以降説明を進める。
続いて、印刷装置100における印刷に使用されるシートの属性情報を管理するためのシート管理テーブル400の詳細について、図4を用いて説明する。
なお、印刷装置100において印刷に使用されるシートには、例えば、標準的に使用されるシート、プリンタメーカによって評価済みのシート、及び、標準シートや評価済みシートの属性情報がユーザによってカスタマイズされたユーザ定義のシート等がある。これら複数のシートの属性情報は、シート管理テーブル400によるリスト形式で、RAM113又はHDD115に記憶される。シート管理テーブル400に登録されている各データは、XML(Extensible Markup Language)やCSV(Comma−Separated Values)等のデジタル情報である。そして、各ソフトウェアモジュールは、RAM113又はHDD115に記憶されているシート管理テーブル400に対して読み出しと書き込みができる。
続いて、シート管理テーブル400に登録されるデータ(シートの属性情報)の詳細について以降説明する。
シート名称(411)は、印刷に使用されるシートを互いに識別するための情報である。
副走査方向のシート長(412)、主走査方向のシート長(413)、シートの坪量(414)、及び、シートの表面性(415)は、それぞれ、印刷に使用されるシートの物理特性である。なお、シートの表面性(415)は、シートの表面の物理特性を表すための属性であり、例えば、光沢性を上げるための表面コートが施された「コート」や、表面に凹凸のあるような「エンボス」等がある。
シートの色(416)は、シートの下地の色を表すための属性である。プレプリント紙(417)は、印刷に使用されるシートがプレプリント紙であるか否かを識別するための情報である。
印刷装置100は、印刷位置のずれがなく理想の印刷位置に画像が印刷されるように、印刷の実行時にシートに対する印刷位置のずれを補正する。シートの表面に対する印刷位置のずれ量(420)は、シートの表面における理想の印刷位置からの位置ずれ量を表す情報である。一方、シートの裏面に対する印刷位置のずれ量(421)は、シートの裏面における理想の印刷位置からの位置ずれ量を表す情報である。
印刷位置のずれ量(420、421)として、例えば、シートに対する副走査方向の印刷位置のずれ量(以降、リード位置のずれ量と呼ぶ)がある。リード位置とは、シートの搬送方向の先頭におけるチャートの端を起点とした画像の印刷の開始位置のことである。なお、リード位置の初期値はゼロである。リード位置のずれ量の調整時において、像露光装置223から感光体ドラム153に照射するレーザビームの照射開始タイミングが調整される。これにより、シートの搬送方向の先頭におけるチャートの端を起点とした画像の印刷の開始位置が変更される。
また、印刷位置のずれ量(420、421)として、例えば、シートに対する主走査方向の印刷位置のずれ量(以降、サイド位置のずれ量と呼ぶ)がある。サイド位置とは、シートの搬送方向の左側におけるチャートの端を起点とした画像の印刷の開始位置のことである。なお、サイド位置の初期値はゼロである。サイド位置のずれ量の調整時において、像露光装置223から感光体ドラム153に照射するレーザビームの照射開始タイミングが調整される。これにより、シートの搬送方向の先頭におけるチャートの端を起点とした画像の印刷の開始位置が変更される。
また、印刷位置のずれ量(420、421)として、例えば、副走査方向の画像長のずれ量(理想の長さに対する倍率)と、主走査方向の画像長のずれ(理想の長さに対する倍率)がある。なお、副走査倍率、及び、主走査倍率の初期値はゼロである。副走査倍率は、転写ベルト154の駆動速度を制御することで調整される。一方、主走査倍率は、像露光装置223においてデジタル画像信号からレーザビームに変調する際のレーザビームのクロック周波数を制御することで調整される。
これらの印刷位置のずれ量(420、421)は、所定のマークが印刷された調整用チャートをスキャナ部130でスキャンし、当該調整用チャート上のマークの位置を検出することで算出される。所定のマークが印刷される調整用チャートの詳細については、図6で後述する。
なお、前述したように、印刷位置のずれ量(420、421)の調整は、例えば、レーザの照射タイミングを調整することにより行われる場合について説明したが、これに限られない。シートに印刷すべき画像自体を所定量シフトさせて印刷することにより、印刷位置のずれを調整してもよい。なお、印刷位置のずれ量の調整時において、ユーザは、シートに印刷する画像のシフト量を任意に指定できるようにしてもよい。
シート管理テーブル400に登録されているシートの属性情報の編集や、シート管理テーブル400に対する新たなシートの追加登録は、図5(A)に示す編集画面500によって行うことができる。なお、編集画面500は、例えば、操作部120の表示部や、PC101のモニタ(不図示)に表示される。
編集画面500でユーザによって選択されたシートは、ハイライト表示(反転表示)される。図5(A)の例では、「XYZ製紙 カラー81」のシートがハイライト表示されている。ユーザは、編集画面500のボタン501を押下することによって、シート管理テーブル400に登録すべき新たなシートを追加することができる。また、ユーザは、編集画面500のボタン502を押下することによって、選択されたシート(ハイライト表示されているシート)の属性情報を編集することができる。なお、ボタン501又はボタン502がユーザによって押下されたことに従って、図5(B)に示す編集画面510が呼び出される。なお、編集画面510は、例えば、操作部120の表示部(不図示)や、PC101のモニタ(不図示)に表示される。
ユーザは、編集画面510で、例えば、シート名称、副走査方向のシート長、主走査方向のシート長、坪量、表面性、色、及び、プレプリント紙等に関する各データを入力することができる。なお、表面性については、印刷装置100でサポート可能な表面性のリストから選択される。また、色については、予め登録された色のリストから選択される。ユーザによって各データが入力された後、編集画面510の終了ボタン511が押下されることにより、その時点で入力されたデータ(シートの属性情報)が確定されて、シート管理テーブル400に登録される。
編集画面510で、ユーザは、シート名称、副走査方向のシート長、主走査方向のシート長、坪量、表面性、及び、色に関する属性情報を入力することができる。なお、表面性は、印刷装置100でサポート可能な表面性のリストからユーザは一つを選択する。また、色は、予め登録された色のリストからユーザは任意の一つを選択することができる。また、編集画面510では、編集するシートがプレプリント紙507であるか否かの情報をユーザは入力することができる。
編集画面510の終了ボタン511がユーザによって押下されると、その時点で入力されたシート属性が確定されて、シート管理テーブル400に記憶される。
そして、編集画面500のボタン503がユーザによって押下されることにより、選択されたシート(ハイライト表示されているシート)に対する印刷位置を調整するための一連の処理を実行することができる。なお、印刷位置の調整を実行する一連の処理の詳細については、図10、図12、及び図17で示すフローチャートを用いて後述する。
続いて、印刷位置の調整に使用される調整用チャートの模式図の一例について、図6(A)及び図6(B)を用いて説明する。
調整用チャート601の画像データは、RAM113又はHDD115に格納されている。調整用チャート601を印刷する際に、調整用チャート601の画像データがRAM113又はHDD115から読み出されて、プリンタエンジン150に転送される。
シートに対する表面の印刷位置を調整する場合、図6(A)に示すように、シートの表面の特定の位置(例えば、四隅)には、オブシェクトとしての計測用マーク620が印刷される。また、シートに対する裏面の印刷位置を調整する場合、図6(A)に示すように、シートの裏面の特定の位置(例えば、四隅)には、オブシェクトとしての計測用マーク620が印刷される。なお、計測用マーク620は、通常のシートに対する反射率の差が大きい色のトナー(例えば、黒色のトナー)で形成される。このように、調整用チャート601は、チャートの表面及び裏面のそれぞれに4箇所(合計8箇所)に計測用マーク620が印刷される。
また、図6(A)に示すように、調整用チャート601の表面には、チャートの表裏を識別するための画像630が印刷される。また、図6(A)に示すように、調整用チャート601の裏面には、チャートの表裏を識別するための画像640が印刷される。図6(A)に示すように画像630及び画像640は、例えば、チャートの表裏をユーザが識別可能な文字である。
また、図6(A)に示すように、シートの表面の特定の位置には、オブシェクトとしての検出用マーク610が印刷される。同様に、図6(A)に示すように、シートの裏面の特定の位置には、オブシェクトとしての検出用マーク610が印刷される。
なお、検出用マーク610は、計測用マーク620とは異なる色である。例えば、計測用マーク620の色が黒である場合、検出用マーク610の色は赤や青などのカラーである。
なお、調整用チャート601の表面に印刷される検出用マーク610の色と、調整用チャート601の裏面に印刷される検出用マーク610の色とを異なる色にすることによって、調整用チャート601の表裏を特定可能にしてもよい。
なお、図6(A)の例では、検出用マーク610と計測用マーク620は異なる形状としているが、検出用マーク610と計測用マーク620は同一の形状であってもよい。
検出用マーク610は、計測用マーク620とは異なる位置に印刷される。検出用マーク610は、印刷位置のずれがなく印刷されている場合、調整用チャート601の端から所定の距離の位置に印刷されるように配置される。また、計測用マーク620は、印刷位置のずれがなく印刷されている場合、調整用チャート601の端から所定の距離の位置に印刷されるように配置される。つまり、印刷位置のずれがなく印刷されている場合、検出用マーク610を基準にして、所定の角度、及び所定の距離の位置に計測用マーク620が配置される。
ここで、検出用マーク610の座標の算出方法、及び、計測用マーク620の座標の算出方法について、図6(B)、及び後述する計算式を用いて説明する。
図6(B)に示すように、検出用マーク610の左下角(651)の座標をX1Y1、調整用チャート601の向きを水平に対する角度(658)をANGとする。
また、図6(B)に示すように、X1Y1から調整用チャート601の上辺Aまでの距離をL、上辺AとLの交点653の座標をX2Y2とする。また、X1Y1から調整用チャート601の左辺Bまでの距離をK、左辺BとKの交点652の座標をX3Y3とする。
また、図6(B)に示すように、調整用チャート601の左上角(654)の座標をX4Y4、右上角(655)の座標をX5Y5、左下角(656)の座標をX6Y6、及び、右下角(657)の座標をX7Y7とする。
また、図6(B)に示すように、左上の計測用マーク620の左上角(659)の座標をX8Y8、右上の計測用マーク620の右上角(660)の座標をX9Y9とする。また、左下の計測用マーク620の左下角(661)の座標をX10Y10、及び、右下の計測用マーク620の右下角(662)の座標をX11Y11とする。
また、図6(B)に示すように、X4Y4からX8Y8までの距離をM、X5Y5からX9Y9までの距離をM、X6Y6からX10Y10までの距離をM、及び、X7Y7からX11Y11までの距離をMとする。
上記の定義によって、各座標は以下の式(1)で計算される。
例えば、B5サイズの調整用チャート601をプラテンガラス302上に角度60度の傾きで載置し、調整用チャート601を600dpiの解像度でスキャンした場合について想定する。600dpiの画素値として数値を示すと、B5サイズの長さAは3507、長さBは4960である。また、調整用チャート601のサイズに関わらず長さMを300、長さKを1000とする。また、検出用マーク610の座標をX1:3000、Y1:3000とする。
この場合において、各座標の実際の計算結果は以下の式(2)で示される。
前述したように、計測用マーク620は、印刷位置のずれがなく印刷されている場合、調整用チャート601の端から所定の距離の位置に印刷されるように配置される。
そこで、調整用チャート601の表面に印刷されている計測用マーク620の位置を測定することにより、シートの表面の印刷位置のずれ量が算出(又は取得)される。
また、調整用チャート601の裏面に印刷されている計測用マーク620の位置を測定することにより、シートの裏面の印刷位置のずれ量が算出(又は取得)される。
なお、調整用チャート601の表面及び裏面に印刷されている各々の計測用マーク620の相対位置を測定することで、表面の印刷位置に対しての裏面の印刷位置のずれ量、又は、裏面の印刷位置に対しての表面の印刷位置のずれ量を算出(又は取得)してもよい。
続いて、調整用チャート601を用いて印刷位置の調整を行う場合について、図6(A)、図7、図8、及び、図9を用いて以降説明する。
調整用チャート601の表面と裏面のそれぞれの計測用マーク620の位置を測定するために、調整用チャート601の表面における(a)〜(j)で表される部分が測定される。また、調整用チャート601の裏面における(k)〜(r)で表される部分が測定される。
なお、(a)の部分は、調整用チャート601の副走査方向の長さであり、(b)の部分は調整用チャート601の主走査方向の長さである。なお、(a)の部分の理想的な長さは、シート管理テーブル400によって登録されている副走査方向のシート長(412)である。また、(b)の部分の理想的な長さは、シート管理テーブル400によって登録されている主走査方向のシート長(413)である。一方、(c)〜(r)の長さは、それぞれ、計測用マーク620から直近の調整用チャート601の端までの距離である。
なお、(a)〜(r)の長さの測定方法として、手動で測定する方法と、自動で算出する方法とがある。手動で測定する方法では、ユーザが、調整用チャート601に定規を当てることにより、(a)〜(r)の長さを実測する。
一方、自動で算出する方法では、調整用チャート601をスキャナ部130でスキャンする。
調整用チャート601を圧板読みでスキャンする場合、ユーザは、プラテンガラス302上に載置された調整用チャート601の上から黒色の画像のバッキングシート(不図示)を充てる。これは、調整用チャート601の上から黒色の画像のバッキングシートを充ててスキャンすることにより、調整用チャート601の端を検出しやすくするためである。
黒色の画像のバッキングシート(不図示)が充てられた状態で調整用チャート601をスキャンして生成された画像データ800を図8(A)及び図8(B)に示す。図8(A)は、調整用チャート601がプラテンガラス302上に正しく載置された状態でスキャンされた場合に、生成される画像データを示している。一方、図8(B)は、調整用チャート601がプラテンガラス302上に傾いて載置された状態でスキャンされた場合に、生成される画像データを示している。
CPU114は、調整用チャート601の画像を読み取って生成された画像データ800を解析する。CPU114は、当該解析の結果、濃度差から調整用チャート601の端、及び、計測用マーク620のエッジ(即ち、調整用チャート601の下地と計測用マーク620の境界)を検出する。そして、CPU114は、検出された調整用チャート601の端、及び計測用マーク620のエッジから(a)〜(r)の長さを算出する。なお、調整用チャート601の画像データ800の解析処理の詳細については、図9(A)及び図9(B)で後述する。
続いて、計測用マーク620の位置に基づく印刷位置のずれ量の算出方法について、図7を用いて説明する。
調整用チャート601の表面及び裏面における「リード位置」、「サイド位置」、「主走査倍率」、「副走査倍率」の測定値(710)、理想値(711)、及び印刷位置のずれ量(712)の各々は、図7に示すテーブル700によって定義される。なお、テーブル700は、RAM113又はHDD115に記憶される。
例えば、調整用チャート601の表面における「リード位置」の測定値(710)は、テーブル700に示した数式を用いて、図6(A)で示した(c)及び(e)の実測値から算出される。即ち、リード位置は、シートの搬送方向の先頭におけるチャートの端から対応する計測用マーク620までの距離の平均値である。
また、例えば、調整用チャート601の表面における「サイド位置」の測定値(710)は、テーブル700に示した数式を用いて、図6(A)で示した(f)及び(j)の実測値から算出される。即ち、サイド位置は、シートの搬送方向の左側におけるチャートの端から対応する計測用マーク620までの距離の平均値である。
また、例えば、調整用チャート601の表面における「主走査倍率」の測定値(710)は、テーブル700に示した数式を用いて、図6(A)で示した(b)、(d)、(f)、(h)、及び(j)の実測値から算出される。即ち、主走査倍率は、主走査方向に同一走査線上に並ぶ計測用マーク620間の距離の平均値である。
また、例えば、調整用チャート601の表面における「副走査倍率」の測定値(710)は、テーブル700に示した数式を用いて、図6(A)で示した(a)、(c)、(e)、(g)、及び(i)の実測値から算出される。即ち、副走査倍率は、副走査方向に同一走査線上に並ぶ計測用マーク620間の距離の平均値である。
テーブル700に示すように、「リード位置」及び「サイド位置」の理想値(711)は、それぞれ1cmである。即ち、計測用マーク620は、理想的にはそれぞれ対応するチャートの端から1cm離れた位置に印刷されるべきである。
また、テーブル700に示すように、「主走査倍率」の理想値(711)は、シート管理テーブル400に登録されている各々のシートにおける主走査方向のシート長から2cm減算した値である。同様に、「副走査倍率」の理想値(711)は、シート管理テーブル400に登録されている各々のシートにおける副走査方向のシート長から2cm減算した値である。
また、テーブル700に示すように、「リード位置」、「サイド位置」、「主走査倍率」、及び「副走査倍率」の各々における印刷位置のずれ量(712)は、対応する測定値(710)及び理想値(711)を用いて算出される。
より具体的に、「リード位置」及び「サイド位置」の印刷位置のずれ量(712)は、測定値(710)から理想値(711)を減算することで算出される(単位は「mm」である)。一方、「主走査倍率」及び「副走査倍率」の印刷位置のずれ量(712)は、測定値(710)から理想値(711)を減算したものを理想値(711)で除算することで算出される(単位は「%」である)。
以上によって算出された印刷位置のずれ量(712)は、シートの属性情報としてシート管理テーブル400に登録される。
続いて、画像データ800に基づいて、調整用チャート601の端、及び、計測用マーク620の端を検出する方法について、図9(A)及び図9(B)を用いて説明する。
まず、調整用チャート601を圧板読みでスキャンして生成された画像データ800の一部を、図9(A)を用いて説明する。
領域901は、画像データ800のうち、バッキングシート(不図示)に基づく画像データ領域である。領域902(調整用チャート902とも呼ぶ)は、画像データ800のうち、調整用チャート601の下地に基づく画像データ領域である。領域903(計測用マーク903とも呼ぶ)は、画像データ800のうち、調整用チャート601の計測用マーク620に基づく画像データ領域である。端910は、領域902の端(即ち、調整用チャート601の端)である。端912は、領域903の端(即ち、計測用マーク620の端)である。
解析範囲911は、画像データ800の解析が行われる範囲(即ち、解析処理の注目範囲)である。画像データ800の解析は、画像データ800の端から主走査方向と副走査方向の濃度変化を画素単位で計測することで行われる。なお、画像データ800の解析は、画像データ800の端から主走査方向と副走査方向の濃度変化をウィンドウ単位で計測し、更に、画素単位の平均値を算出することで行われてもよい。
そして、CPU114は、当該計測結果から領域901、領域902、領域903、端910、及び端912を検出する。なお、計測する単位は、画素単位より微小な単位であっても、より大きな単位であってもよい。また、読み取りの間隔は、一定の間隔で行っても、間引いて行ってもよい。
続いて、解析範囲911における画像データ800の解析結果の一例を、図9(B)を用いて説明する。解析範囲911における画像データ800の濃度計測は、画像データ800の端から行われる。
まず、CPU114は、領域901(図9の区間(A)に相当)の濃度を検出する。続いて、CPU114は、領域901と領域903との間にある領域902(図9の区間(B)に相当)の濃度を検出する。続いて、CPU114は、領域902と領域902との間にある領域903(図9の区間(C)に相当)の濃度を検出する。続いて、CPU114は、領域903と領域903との間にある領域902(図9の区間(D)に相当)の濃度を検出する。続いて、CPU114は、領域902と領域902との間にある領域903(図9の区間(E)に相当)の濃度を検出する。続いて、CPU114は、領域903と領域901との間にある領域902(図9の区間(F)に相当)の濃度を検出する。続いて、CPU114は、領域901(図9の区間(G)に相当)の濃度を検出する。
これらの測定結果に基づいて、CPU114は、画像データ800の区間(A)〜(G)の測定位置から、調整用チャート601に印刷された画像の範囲を算出する。更に、CPU114は、区間(C)及び区間(E)における領域903が、調整用チャート601に印刷された計測用マーク620の濃度によるものであると検出する。更に、CPU114は、区間(A)及び区間(G)における領域901が、バッキングシート(不図示)の下地の濃度によるものであると検出する。
また、当該検出の結果から、CPU114は、区間(A)と区間(B)で濃度が切り替わる箇所を、端910(即ち、調整用チャート601の端(左端))として検出する。更に、CPU114は、区間(B)と区間(C)で濃度が切り替わる箇所を、端912(即ち、左側の計測用マーク620の端(左端))として検出する。更に、CPU114は、区間(C)と区間(D)で濃度が切り替わる箇所を、端912(即ち、左側の計測用マーク620の端(右端))として検出する。更に、CPU114は、区間(D)と区間(E)で濃度が切り替わる箇所を、端912(即ち、右側の計測用マーク620の端(左端))として検出する。更に、CPU114は、区間(E)と区間(F)で濃度が切り替わる箇所を、端912(即ち、右端の計測用マーク620の端(右端))として検出する。更に、CPU114は、区間(F)と区間(G)で濃度が切り替わる箇所を、端910(即ち、調整用チャート601の端(右端))として検出する。
そして、上記の検出の結果に基づき、CPU114は、調整用チャート601の端(左端)から、左側の計測用マーク620の端(左端)までの距離を、調整用チャート601の(c)の長さとして算出する。
更に、CPU114は、右側の計測用マーク620の端(右端)から、調整用チャート601の端(右端)までの距離を、調整用チャート601の(g)の長さとして算出する。
更に、CPU114は、調整用チャート601の端(左端)から、調整用チャート601の端(右端)までの距離を、調整用チャート601の(a)の長さとして算出する。
なお、調整用チャート601の(c)と(g)の長さの算出方法について上述したが、調整用チャート601の(e)と(i)、(d)と(f)、及び、(h)と(j)の長さについても、同様の方法によって算出することができる。また、調整用チャート601の(a)の長さの算出方法について上述したが、調整用チャート601の(b)の長さについても、同様の方法によって算出することができる。
このようにして、調整用チャート601の端と、計測用マーク620の端が検出されたことに従って、CPU114は、調整用チャート601の(a)〜(r)の長さを自動で算出することが可能となる。
印刷位置のずれ量として、リード位置のずれ量、サイド位置のずれ量、主走査倍率、及び副走査倍率を求めるためには、画像データ800中の4つの計測用マーク903の位置を正しく検出しなければならない。
そこで、第1の実施形態では、CPU114は、印刷位置のずれを計測するための第1のオブジェクト(例えば、測定用マーク620)を含むシート(調整用チャート601)の画像を読み取るよう指示する。そして、CPU114は、調整用チャート601の画像を読み取ったことに従って、画像データ800、及び画像データ800より解像度が低いサムネイル画像データ1800を生成する。続いて、CPU114は、生成されたサムネイル画像データ1800から第2のオブジェクト(例えば、検出用マーク1840)の位置を検出する。そして、CPU114は、検出された当該第2のオブジェクトの位置に基づいて、画像データ800から当該第1のオブジェクト(例えば、計測用マーク903)の位置を検出するものである。これによって、印刷位置のずれを計測するためのオブジェクトの位置を検出するために、調整用チャート601の画像を示す画像データ800の全画素を検索しなくて済み、検索処理にかかる時間が短縮される。以下、詳細に説明する。
第1の実施形態に係る印刷装置100において、印刷位置の調整を実行する一連の処理を、図10に示すフローチャートを用いて説明する。この処理は、コントローラ部110のCPU114が、ROM112又はHDD115から読み出してRAM113に展開された制御プログラムを実行することで行われる。なお、図10の処理は、例えば、図5(A)に示す編集画面500が操作部120の表示部(不図示)に表示された状態で開始される。
S1001において、CPU114は、編集画面500を介して、印刷位置を調整するためのシートの選択をユーザから受け付けて、S1002に処理を進める。なお、編集画面500でハイライト表示(反転表示)されているシートに対して、ユーザによってボタン503が押下された場合に、ハイライト表示(反転表示)されている当該シートが印刷位置を調整するためのシートとして選択される。
S1002において、CPU114は、図11に示す選択画面1100を操作部120の表示部(不図示)に表示して、S1003に処理を進める。なお、選択画面1100は、印刷位置の調整方法として、調整用チャート601の自動調整を圧板読みで実行する(1101)、又は、手動調整(1102)のいずれかをユーザに選択させるための画面である。
S1003において、CPU114は、選択画面1100を介して、印刷位置の調整方法がユーザによって選択されたか否かを判定する。なお、CPU114は、選択画面1100のボタン1101、1102のいずれかが押下された場合に、YESと判定してS1004に処理を進める。一方、選択画面1100のボタン1101、1102のいずれかが押下されるまで、CPU114は、S1003の処理を繰り返す。
S1004において、CPU114は、印刷位置の調整方法として、手動調整がユーザによって選択されたか否かを判定する。なお、CPU114は、選択画面1100のボタン1102が押下された場合に、YESと判定してS1005に処理を進める。一方、CPU114は、選択画面1100のボタン1101が押下された場合に、NOと判定してS1200に処理を進める。
S1200において、CPU114は、印刷位置を自動調整するための一連の処理を実行して、S1008に処理を進める。S1200の処理の詳細については、図12で後述する。
S1005において、CPU114は、S1001で選択されたシートに調整用チャート601を印刷するよう画像形成部151に指示する。印刷指示を受け付けた画像形成部151は、給送部140から給送された当該選択シートに調整用チャート601を印刷する。なお、調整用チャート601が印刷されたシートは、印刷装置100外に排出される。S1005の処理の後、S1006に処理を進める。
S1006において、CPU114は、図5(B)で示した編集画面510を介して、手動で測定された(a)〜(r)の長さ(実測値)の入力をユーザから受け付けて、S1007に処理を進める。
S1007において、CPU114は、S1006で入力された(a)〜(r)の長さに基づいて、印刷位置のずれ量(712)を算出して、S1008に処理を進める。なお、印刷位置のずれ量(712)は、図7で前述した数式を用いて算出される。
S1008において、CPU114は、編集画面500で選択されたシートに対する印刷位置のずれ量(712)として、シート管理テーブル400に登録する。例えば、S1008で、S1001で選択されたシートに対する表面の印刷位置のずれ量(420)、及び裏面の印刷位置のずれ量(421)を表す情報として、例えば、リード位置、サイド位置、主走査倍率、副走査倍率等が登録される。そして、S1008の処理の後、図10に係る一連の処理を終了する。
以上が、印刷位置の調整を実行する一連の処理(図10)の詳細である。
続いて、印刷位置を自動調整するための一連の処理を、図12に示すフローチャートを用いて説明する。この処理は、コントローラ部110のCPU114が、ROM112又はHDD115から読み出してRAM113に展開された制御プログラムを実行することで行われる。
S1201において、CPU114は、図13に示す指定画面1300を操作部120の表示部(不図示)に表示して、S1202に処理を進める。なお、指定画面1300は、印刷位置の調整のために印刷する調整用チャート601の枚数の指定をユーザから受け付けるための画面である。なお、複数枚(例えば、10枚)の調整用チャート601をスキャンして、印刷位置のずれ量の平均値を算出することにより、印刷位置のずれ量の精度を上げることができる。このため、ユーザは、印刷位置の調整のために印刷すべき調整用チャート601の枚数を指定画面1300で指定する。
S1202において、CPU114は、指定画面1300を介して、調整用チャート601を印刷する枚数の指定をユーザから受け付けて、S1203に処理を進める。
S1203において、CPU114は、S1202で指定された枚数分の調整用チャート601を印刷するよう画像形成部151に指示する。この時、調整用チャート601の画像データは、RAM113又はHDD115から読み出されて、プリンタエンジン150に転送される。そして、印刷指示を受け付けた画像形成部151は、給送部140から給送されたシート(即ち、前述したS1001で選択されたシート)に調整用チャート601を印刷する。なお、調整用チャート601が印刷されたシートは、印刷装置100外に排出される。S1203の処理の後、S1204に処理を進める。
S1204において、CPU114は、図14に示す確認画面1400を操作部120の表示部(不図示)に表示する。なお、確認画面1400は、調整用チャート601の表面の画像が読み取られるよう、プラテンガラス302(原稿台)上に調整用チャート601をセットするようユーザに促すための画面である。CPU114は、確認画面1400のボタン1401(読み取り開始ボタン)がユーザによって押下されたことに従って、S1205に処理を進める。
S1205において、CPU114は、S1203で印刷された調整用チャート601を圧板読みでスキャンするようスキャナ部130に指示して、S1206に処理を進める。
S1206において、CPU114は、調整用チャート601のスキャンによって画像データ800を生成して、S1700に処理を進める。
S1700において、CPU114は、画像データ800に基づいて計測用マーク903の位置を検出するための一連の処理を実行して、S1207に処理を進める。S1700の処理の詳細については、図17で後述する。
S1207において、CPU114は、画像データ800に基づいて、調整用チャート902の端910、及び計測用マーク903の端912を検出する。なお、S1207の処理は、例えば、図9(A)及び図9(B)で前述した方法(例えば、画像データ800の端から主走査方向と副走査方向の濃度変化を画素単位で計測する方法)によって実行される。S1207の処理の後、S1208に処理を進める。
S1208において、CPU114は、調整用チャート902の端910、及び計測用マーク903の端912の検出に成功したか否かを判定する。CPU114は、検出に成功した(即ち、YES)と判定した場合、S1209に処理を進める。一方、CPU114は、NOと判定した場合、S1218に処理を進める。なお、S1208でNOと判定されるのは、例えば、調整用チャート601が印刷されたシートの下地と計測用マーク620との濃度差が小さいために、計測用マーク620の端の検出が正しく行えない場合である。
S1209において、CPU114は、S1205によるスキャン処理で、調整用チャート601の裏面がスキャンされたか否かを判定する。なお、CPU114は、調整用チャート601の表面及び裏面のどちらがスキャンされたかを、調整用チャート601の表裏を識別するための画像(630、640)に基づく画像データを解析することで判断できる。CPU114は、裏面がスキャンされた(即ち、YES)と判定した場合、S1212に処理を進める。一方、CPU114は、NOと判定した場合、S1210に処理を進める。
S1210において、CPU114は、S1207で検出された調整用チャート902の端910、及び、計測用マーク903の端912から、図6に示した(a)〜(j)の長さを算出して、S1211に処理を進める。
S1211において、図15に示す確認画面1500を操作部120の表示部(不図示)に表示する。なお、確認画面1500は、調整用チャート601の裏面の画像が読み取られるよう、プラテンガラス302(原稿台)上に調整用チャート601をセットするようユーザに促すための画面である。CPU114は、確認画面1500のボタン1501(読み取り開始ボタン)がユーザによって押下されたことに従って、S1205に戻って以降の処理を進める。
S1212において、CPU114は、S1207で検出された調整用チャート902の端910、及び、計測用マーク903の端912から、図6に示した(k)〜(r)の長さを算出して、S1213に処理を進める。
S1213において、CPU114は、S1210で算出された(a)〜(j)の長さ、及び、S1212で算出された(k)〜(r)の長さに基づいて、印刷位置のずれ量(712)を算出して、S1214に処理を進める。なお、印刷位置のずれ量(712)は、図7で前述した数式を用いて算出される。
S1214において、CPU114は、調整用チャート601を印刷した枚数分(即ち、S1202で指定された枚数分)に対して、印刷位置のずれ量を算出したか否かを判定する。なお、CPU114は、S1213の処理回数をカウンタとしてHDD115又はRAM113に保持し、当該保持されたカウンタの値とS1202で指定された枚数とを比較することで、S1214の判定処理を行う。S1214での判定の結果、CPU114は、YESと判定した場合、S1217に処理を進める。一方、CPU114は、NOと判定した場合、S1216に処理を進める。
S1216において、図14に示す確認画面1400を操作部120の表示部(不図示)に表示する。CPU114は、確認画面1400のボタン1401(読み取り開始ボタン)がユーザによって押下されたことに従って、S1205に戻って以降の処理を進める。
S1217において、CPU114は、S1213で算出された印刷位置のずれ量に基づいて、調整用チャート601を印刷した枚数分に対する印刷位置のずれ量の平均値を算出する。そして、CPU114は、S1217で算出された平均値を、図10のS1001で選択されたシートに対する印刷位置のずれ量として決定する。そして、S1217の処理の後、図12に係る一連の処理を終了し、図10のS1008に処理を進める。
S1218において、CPU114は、図16に示すエラー画面1600を操作部120の表示部(不図示)に表示する。なお、エラー画面1600は、調整用チャート601の画像データの解析に失敗したために、印刷位置の調整が実行されなかったことをユーザに通知するための画面である。そして、S1218の処理の後、図12に係る一連の処理(S1200)を終了するとともに、図10に係る一連の処理を終了する。
以上が、調整用チャート601を圧板読みでスキャンすることにより、印刷位置を自動調整するための一連の処理(S1200:図12)の詳細である。
続いて、画像データ800に基づいて計測用マーク903の位置を検出するための一連の処理を、図17に示すフローチャートを用いて説明する。この処理は、コントローラ部110のCPU114が、ROM112又はHDD115から読み出してRAM113に展開された制御プログラムを実行することで行われる。
S1701において、CPU114は、図12で前述したS1206によって生成される画像データ800に基づいて、図18に示すサムネイル画像データ1800を画像変倍部117によって解像度を変換することで生成して、S1702に処理を進める。サムネイル画像データ1800が示す画像の解像度は、S1206で生成される画像データ800が示す画像の解像度より小さい。例えば、サムネイル画像データ1800が示す画像の解像度は、S1206で生成される画像データ800が示す画像の解像度の1/2、または、1/4にすればよい。
S1702において、CPU114は、S1701で生成されたサムネイル画像データ1800中のカラー画素を検索して、S1703に処理を進める。
なお、サムネイル画像データ1800中のカラー画素を検索するのは、サムネイル画像データ1800中の検出用マーク1840の位置を検出するためである。なお、上述したように、バッキングシート(不図示)や計測用マーク620の色は黒であるのに対し、検出用マーク610の色は赤や青などのカラーである。このため、CPU114は、検出用マーク1840の位置を検出するために、カラー画素のみに着目して検索すればよい。
なお、サムネイル画像データ1800中のカラー画素を検索する方が、画像データ800中のカラー画素を検索する場合と比べて、検索にかかる時間が短縮される。これは、サムネイル画像データ1800の方が、画像データ800と比べて画像サイズが小さいため、検索すべき画像データ領域を狭くすることができるからである。
S1703において、CPU114は、S1702での検索の結果、サムネイル画像データ1800中にカラー画素を検出したか否かを判定する。CPU114は、カラー画素を検出した(即ち、YES)と判定した場合、S1702による検索処理を止めて、S1704に処理を進める。一方、CPU114は、検出していない(即ち、NO)と判定した場合、サムネイル画像データ1800中にカラー画素を検出するまでS1702の処理を繰り返す。
S1704において、CPU114は、S1703で検出されたカラー画素の位置に存在する検出用マーク1840を検出して、S1705に処理を進める。
S1705において、CPU114は、S1704で検出した検出用マーク1840の位置に基づいて、画像データ800中の検出用マーク940の左下角(651)の座標X1Y1を算出して、S1706に処理を進める。
S1706において、CPU114は、画像データ800中の検出用マーク940のエッジ1901〜1904に基づいて、検出用マーク940の向き(即ち、調整用チャート902の傾き)を算出して、S1707に処理を進める。なお、検出用マーク940のエッジ1901〜1904は、図19に示すように、調整用チャート902の下地と検出用マーク940との境界に存在する。
S1707において、CPU114は、調整用チャート601のサイズを取得して、S1708に処理を進める。なお、S1707において、CPU114は、図10で前述したS1001で選択を受け付けたシートのサイズ(副走査方向のシート長、及び、主走査方向のシート長さ)をシート管理テーブル400から取得すればよい。
S1708において、CPU114は、算出された検出用マーク940の座標、算出された検出用マーク940の向き、及び調整用チャート601のサイズに基づいて、画像データ800から計測用マーク903の位置を算出するための画像データ領域を特定する。なお、S1708の処理によって、図20に示すように4つの画像データ領域2001が特定される。S1708の処理の後、S1709に処理を進める。
S1709において、CPU114は、S1708で特定された画像データ領域2001に対して、画像データ領域2001の端から主走査方向と副走査方向の濃度変化を解析する。なお、S1709の処理は、例えば、図9(A)及び図9(B)で前述した方法によって実行される。なお、主走査方向と副走査方向の濃度変化の解析は、画素単位で行われても、ウィンドウ単位で行われてもよい。
S1709の処理の後、図17に係る一連の処理(S1700)を終了するとともに、図12のS1207に処理を進める。
以上が、画像データ800に基づいて計測用マーク903の位置を検出するための一連の処理(S1700:図17)の詳細である。
そして、前述した図10のS1008でシート管理テーブル400に登録されたリード位置、サイド位置、主走査倍率、及び副走査倍率に基づいて、プリンタエンジン150は、印刷位置のずれを補正し、シートに画像を印刷する。これによって、印刷位置のずれが補正された状態でシートに画像が印刷されるため、印刷物の見栄えを良くすることができる。
以上説明したように、第1の実施形態では、印刷位置のずれを計測するために、CPU114は、サムネイル画像データ1800中のカラー画素を検索して、サムネイル画像データ1800中の検出用マーク940の位置を検出した。続いて、CPU114は、サムネイル画像データ1800中の検出用マーク940の位置に基づいて、画像データ800から複数の計測用マーク903の位置を算出するための画像データ領域を特定した。これにより、CPU114は、画像データ800の全画素を検索することなく、計測用マーク903の位置を正しく検出することができる。このため、印刷位置のずれを計測するためのオブジェクトの位置を検出するためにかかる時間を短縮することができる。
[第2の実施形態]
前述した第1の実施形態では、調整用チャート601に検出用マーク610が印刷されている場合について想定した。一方、第2の実施形態では、調整用チャート601に検出用マーク610が印刷されていない場合について想定する。
第2の実施形態では、調整用チャート601に印刷される計測用マーク620の色と、バッキングシート(不図示)の色が異なる場合について想定する。例えば、計測用マーク620の色は黒で、かつ、バッキングシートの色が茶色であるとして以降説明を進める。
第2の実施形態に係る印刷装置100では、図23に示す画像データ800に基づいて計測用マーク903の位置を検出するための一連の処理(S1700)の一部が第1の実施形態(図17で前述した制御例)とは異なる。そこで、第1の実施形態とは異なる処理を中心に図21で説明する。
S2101において、CPU114は、図12で前述したS1206によって生成される画像データ800(図23)に基づいて、図22に示すサムネイル画像データ2200を画像変倍部117によって解像度を変換することで生成する。S2101の処理の後、S2202に処理を進める。サムネイル画像データ2200が示す画像の解像度は、S1206で生成される画像データ800(図23)が示す画像の解像度より小さい。例えば、サムネイル画像データ2200が示す画像の解像度は、S1206で生成される画像データ800(図23)が示す画像の解像度の1/2、または、1/4にすればよい。
S2102において、CPU114は、S2101で生成されたサムネイル画像データ2200中の黒画素を検索して、S2103に処理を進める。
なお、サムネイル画像データ2200中の黒画素を検索するのは、サムネイル画像データ2200中の4箇所の計測用マーク2210の位置を検出するためである。なお、上述したように、バッキングシート(不図示)の色が茶色であるのに対し、計測用マーク2210の色は黒である。このため、CPU114は、計測用マーク2210の位置を検出するために、黒画素のみに着目して検索すればよい。
なお、サムネイル画像データ2200中の黒画素を検索する方が、画像データ800(図23)中の黒画素を検索する場合と比べて、検索にかかる時間が短縮される。これは、サムネイル画像データ2200(図22)の方が、画像データ800(図23)と比べて画像サイズが小さいため、検索すべき画像データ領域を狭くすることができるからである。
S2103において、CPU114は、S2102での検索の結果、サムネイル画像データ2200中に黒画素を検出したか否かを判定する。CPU114は、黒画素を検出した(即ち、YES)と判定した場合、S2104に処理を進める。一方、CPU114は、検出していない(即ち、NO)と判定した場合、サムネイル画像データ2200中に黒画素を検出するまでS2102の処理を繰り返す。
S2104において、CPU114は、S2103で検出された黒画素の位置に存在する計測用マーク2210を検出して、S2105に処理を進める。
S2105において、CPU114は、S2104での検出処理の結果、計測用マーク2210を4箇所検出したか否かを判定する。CPU114は、4箇所検出した(即ち、YES)と判定した場合、S2102による検索処理を止めて、S2106に処理を進める。一方、CPU114は、4箇所検出していない(即ち、NO)と判定した場合、計測用マーク2210を4箇所検出するまでS2102の処理を繰り返す。
S2106において、CPU114は、S2104で検出した計測用マーク2210に基づいて、画像データ800(図23)から計測用マーク903の位置を算出するための画像データ領域を特定する。なお、S2106の処理によって、図23に示すように4つの画像データ領域2301が特定される。S2106の処理の後、S2107に処理を進める。
S2107において、CPU114は、S2106で特定された画像データ領域2301に対して、画像データ領域2301の端から主走査方向と副走査方向の濃度変化を解析する。なお、S2107の処理は、例えば、図9(A)及び図9(B)で前述した方法によって実行される。なお、主走査方向と副走査方向の濃度変化の解析は、画素単位で行われても、ウィンドウ単位で行われてもよい。
S2107の処理の後、図21に係る一連の処理(S1700)を終了するとともに、図12のS1207に処理を進める。
以上が、画像データ800(図23)に基づいて計測用マーク903の位置を検出するための一連の処理(S2100:図21)の詳細である。
そして、前述した図10のS1008でシート管理テーブル400に登録されたリード位置、サイド位置、主走査倍率、及び副走査倍率に基づいて、プリンタエンジン150は、印刷位置のずれを補正し、シートに画像を印刷する。これによって、印刷位置のずれが補正された状態でシートに画像が印刷されるため、印刷物の見栄えを良くすることができる。
以上説明したように、第2の実施形態では、印刷位置のずれを計測するために、CPU114は、サムネイル画像データ2200中の黒画素を検索して、サムネイル画像データ2200中の計測用マーク2210の位置を検出した。続いて、CPU114は、サムネイル画像データ2200中の計測用マーク2210の位置に基づいて、画像データ2300から複数の計測用マーク903の位置を算出するための画像データ領域を特定した。これにより、CPU114は、画像データ2300の全画素を検索することなく、計測用マーク903の位置を正しく検出することができる。このため、印刷位置のずれを計測するためのオブジェクトの位置を検出するためにかかる時間を短縮することができる。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
例えば、本実施形態では、印刷装置100のコントローラ部110のCPU114が上記各種制御の主体となっていたが、これに限らない。印刷装置100と別筐体の外付けコントローラ等の印刷制御装置によって、上記各種制御の一部又は全部を実行可能に構成しても良い。
また、本発明を適用した実施形態を、プリンタエンジン150を持つ印刷装置100を用いて説明したが、これに限らない。プリンタエンジン150を持たない画像処理装置においても、本発明を適用した実施形態を同様に説明できる。
また、本発明を適用した実施形態を、単色トナーを扱う画像形成部151を持つ印刷装置100を用いて説明したが、これに限られない。複数色のトナーを扱う画像形成部151を持つカラー印刷装置であっても、本発明を適用した実施形態を同様に説明できる。例えば、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色を扱うフルカラーの印刷装置100である場合、ブラックのトナーを用いて印刷位置の調整を行い、ブラックの印刷位置を基準に他の色の印刷位置の調整を行えばよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。