以下、図面を参照して本発明の好適な実施の形態を説明する。
図1は、本実施形態の印刷システムの全体的な構成を示す機能ブロック図である。
この印刷システムは、大略的には、ホストコンピュータ10,プリンタコントローラ20,ページ整合性検査装置30,印刷装置40から構成される。
ホストコンピュータ10は、印刷対象とする印刷データを作成する装置である。印刷対象のデータは、例えば、印刷する画像をページ記述言語で記述したデータの場合もあれば、印刷する画像を示すラスタ画像データの場合もある。また、帳票印刷などの定型印刷の場合は、定型書式(フォーム)の各欄に印刷すべき値を、例えばLCDS形式などの所定形式で配列したデータなどが、印刷データとして作成される。ホストコンピュータ10が作成した印刷データは、LAN(Local Area Network)等のデータ通信ネットワークを介して、又はCD−R/RW等の可搬型記憶媒体を介して、プリンタコントローラ20に入力される。
プリンタコントローラ20は、ホストコンピュータ10が作成した印刷データを取得し、このデータから、印刷装置40が取り扱い可能な画像データ(例えばラスタ画像データ)を生成し、これを印刷装置40へと供給する。印刷データがページ記述言語のデータであれば、プリンタコントローラ20はそれを解釈して各ページの画像データを作成する。また、帳票等の定型印刷の場合は、プリンタコントローラ20は、定型書式のデータを有しており(このデータはシステムのオペレータから予め登録される)、ホストコンピュータ10から入力された印刷データ中の各データ値をその定型書式に当てはめて画像データを作成し、出力する。以下では、プリンタコントローラ20から印刷装置40に供給される画像データを「原稿画像データ」と呼ぶことにする。
またプリンタコントローラ20は、このように印刷データから生成した各ページの原稿画像データを、該印刷データでのページ順序とは異なる順番で印刷装置40に出力する機能を備える。この順序変換により、ページの印刷順序を変えて印刷装置40内の用紙搬送路の空きを極力減らすことで、印刷装置40の生産性(印刷速度など)の向上させる。この順序変換は、例えば両面印刷を行う場合に使用される。
また、プリンタコントローラ20は、原稿画像データと共に、印刷装置40の動作を制御するための制御信号を出力する。制御信号には、その原稿画像データを印刷する用紙を供給する給紙トレイの指定など、印刷属性に関するデータが含まれる。この制御信号には、シート番号やサイド番号などの情報も含まれる。シート番号とは、原稿画像データが印刷されるべき用紙の番号であり、1つの印刷ジョブの開始から順に連続番号で割り当てられる。サイド番号は、1枚の用紙の表か裏かを示す番号である(例えば表は「1」,裏は「2」など)。
印刷装置40は、プリンタコントローラ20から原稿画像データ及び制御信号を受け取り、制御信号に従って原稿画像データを用紙に印刷していく。この印刷処理の際、印刷装置40は、制御信号中に含まれるシート番号及びサイド番号に基づき、原稿画像データを印刷すべき用紙と、その面を特定する。
図2は、印刷装置40の概略構成を示す図である。これは、印刷装置40を電子写真方式の装置として構成した場合の例である。この装置では、図示しない制御部からのトレイ選択指示に従って用紙トレイ450a,450b,または450cから用紙が用紙搬送路460へと送り出される。露光部410は、図示しない制御部から供給される原稿画像を感光体ベルト420の表面に対して露光する。これにより形成された潜像が現像器(図示省略)により現像されることで、感光体ベルト420上にトナー像が形成される。このトナー像が、用紙搬送路460により搬送されてきた用紙に対し、転写部430により転写される。転写されたトナー像は、定着部440にて用紙に定着される。片面印刷の場合や両面印刷で裏面を印刷した場合には、定着部440を通過した用紙は、排出用経路465を通って排出トレイへと排出される。両面印刷で表面を印刷した場合、定着部440を通過した用紙は、両面トレイ470へと送られ、そこで表裏反転された後、両面用経路475を通って用紙搬送路460に戻り、裏面への印刷を受ける。
ここで、両面用経路475は複数枚の用紙が並ぶ長さを持っているため、複数の用紙の表面を連続して印刷した後、それら用紙の裏面を連続して印刷した方が効率がよい。このような事情から、前述したプリンタコントローラ20での原稿画像データの出力順序変更は、このようなことから実行される。
再び図1の説明に戻り、ページ整合性検査装置30は、プリンタコントローラ20から印刷装置40へと供給される各ページの原稿画像データの整合性を検査する機能モジュールである。ページ整合性検査装置30は、プリンタコントローラ20から印刷装置40へのデータの伝送路上に設けられ、その伝送路を通る原稿画像データ及び制御信号を取得し、これらに基づき検査を実行する。ここで検査する「ページ間の整合性」には、(1)ページ順序の整合性、(2)1枚の用紙の両面のページの整合性などがある。もちろんこれらは例示的なものであり、ページ整合性検査装置30はこれらのすべてを検査するものである必要はないし、これら以外の種類のページ間整合性を検査してもよい。この検査では、原稿画像データ中に含まれるページ番号や顧客ID番号などの所定の情報を画像認識し、認識した情報をページ間で比較することで、それらページ間の原稿画像データの内容が整合しているかを検査する。例えば、印刷物の各ページにはページ番号の数値が印刷されることが多いので、各ページのページ番号が適切な順序になっているかを調べることで、印刷結果のページ順序が正しいかどうか検査できる。また別の例として請求書の印刷では、1人の顧客への請求書が複数ページにわたる場合、ページ毎に顧客ID番号が印刷される場合が多いので、1枚の用紙の表裏で顧客ID番号を比較することにより、表裏の不整合がないか検査できる。以上、ページ整合性検査装置30の概要を説明したので、次にその詳細を、図3を参照して詳細に説明する。
図3の構成において、原稿画像取出部302は、プリンタコントローラ20から印刷装置40への原稿画像データの伝送路上に設けられており、その伝送路上を伝送される原稿画像データを検査のために取り出す機能モジュールである。プリンタコントローラ20が伝送路へと出力した原稿画像データは、この原稿画像取出部302にて、印刷装置40へ行く経路と、このページ整合性検査装置30内への経路との2つに分岐される。原稿画像取出部302により取り込まれた原稿画像データは、検査領域抽出部306に渡される。
制御信号取出部304は、プリンタコントローラ20から印刷装置40への制御信号の伝送路上にて、その伝送路上を印刷装置40へと伝送される制御信号をページ整合性検査装置30内へと分岐する機能モジュールである。制御信号取出部304により取り出された制御信号は検査処理部312に供給される。
検査領域抽出部306は、取り込まれた1ページの原稿画像データの中から、予め設定されている検査領域の画像を切り出す。検査領域は、1ページの原稿画像中に複数設定することができる。ここで、検査領域は、例えばページ番号や顧客ID番号など、ページ間の整合性の検査に用いるコード画像を含んだ領域である。ここで、コード画像とは、コードを表現した画像である。ここでいうコードには、バーコードやQRコードなどのコードの他に、文字や数字などの記号の列も含まれる。コード画像に対し、コードの種類に対応した認識処理(例えばバーコード認識や文字認識など)を適用することで、そのコード画像が示す内容(例えば番号の値など)を認識することができる。
検査領域の設定情報は検査条件記憶部308に登録されており、検査領域抽出部306は、その設定情報を参照することで原稿画像データ中の検査領域を特定し、その検査領域の画像を切り出す。
検査条件記憶部308に記憶される検査領域の設定情報のデータ内容の一例を図4に示す。この例は、原稿画像1ページに対し、2箇所の検査領域#1及び#2が設定されている場合の設定情報の例である。この例では、各検査領域について、「領域情報」と「コード種別」の2つのデータが登録される。
「領域情報」は、検査領域の位置、形状、サイズを示す情報である。図示の例は検査領域の形状を矩形の原稿画像の辺に平行な辺からなる矩形形状としたものであり、「領域情報」として、その矩形領域の対角線上の2つの頂点の座標(原稿画像の座標系での座標)を用いている。例えば、検査領域#1は、点(x1,y1)と点(x2,y2)を結んだ線を対角線とする矩形領域となる。
「コード種別」は、検査領域内に含まれるコード画像の種別を示す情報である。一つの例では、このコード種別は、バーコードや英数字列などといったコード形式の種別と、ページ番号や顧客ID番号などといったコード内容の種別と、の両方を含んだ概念と捉えることができる。この場合、コード形式の種別は、例えば読み取ったコード画像の「値」を認識する認識処理を選択するのに用いる。例えばコード形式がバーコードであればバーコード認識を行い、英数字の列であれば英数字用の文字認識を行う。また、コード内容の種別は、例えば認識した「値」に適用する検査内容を識別するのに用いることができる。例えば、コード内容の種別が「ページ番号」や「ページ番号/総ページ数」であれば、認識したコードの値はページ順序の整合性の検査に用い、「顧客ID番号」であれば、認識したコード値は表裏の整合性の検査に用いる、等である。各コード内容種別に対してどの検査を適用するかを決める規則の情報は、ページ整合性検査装置30に予め登録しておく。
なお、このように実行する検査内容をユーザが入力したコード内容の種別に応じて自動判定する代わりに、各検査領域から読み取った(認識した)コード値に対してそれぞれどの検査内容を適用するかを、ユーザインタフェースを介してユーザが指示する構成としてもよい。
なお、図示の例では、検査領域#1に含まれるコード画像は、コード内容が「ページ番号/総ページ数」(すなわちページ番号と総ページ数の組)であり、コード形式が「数字列/数字列」(2つの数字列をスラッシュを挟んで並べたもの)である。したがってこの例では、検査領域#1の画像は「数字列/数字列」の形式であるとの前提の元で文字認識され、その認識結果の値は「ページ番号/総ページ数」を表していると認識され、ページ順序整合性の検査に用いられることになる。
以上に説明した検査領域は、ユーザが検査条件設定部310を介して設定する。検査領域の設定は、例えば、グラフィカル・ユーザ・インタフェースにより実現する。この場合、検査条件設定部310は、ページ整合性検査装置30の表示装置に対し、図5に示すように印刷ジョブの代表的なページ(例えば先頭ページ)の原稿画像500を表示する。ユーザは、マウス等のポインティングデバイスを操作することにより、表示された原稿画像500上で検査領域の位置やサイズを設定する。図5は、「ページ番号/総ページ数」を含む検査領域502と、「顧客ID番号」を含む検査領域504を例示している。
この検査領域の設定は、例えば検査領域が矩形領域の場合、対角線上の2頂点の位置をマウスで指示する操作で行える。また検査領域内のコード画像の種別は、例えばプルダウンメニューなどの形式でユーザに選択肢を提供し、選択させるようにすればよい。以上では、印刷ジョブの全ページについて同じ検査領域が適用される場合の例であるが、この他にも、例えばシートの表面と裏面とで別々に検査領域を設定できるようにすることもできる。
また、検査条件設定部310は、検査領域以外の検査条件の設定にも用いられる。このような検査条件として、コード規則についての設定情報がある。
ここでコード規則とは、比較対象の各ページから読み出したコード情報同士が満足すべき関係を示す規則である。例えば、「同一用紙の表裏のページでは顧客ID番号が一致していなければならない」という規則は、顧客ID番号というコードについての一つのコード規則である。また、ページ番号についてのコード規則の例として「両面印刷の場合、隣り合う用紙の表面同士のページ番号の差は2である」というものがある。また、「フェースダウン出力の場合、ページ番号は昇順である」というのも1つのコード規則である。
そして、コード規則についての設定情報とは、コード規則に関するパラメータ値のことである。この設定情報の一例を図6に示す。図6の例では、設定情報として、フェースアップ/フェースダウン出力の区別、ページ番号の増分量の2つの項目を示している。
フェースアップ/ダウンの区別はシート番号が増えるにつれてページ番号が増えるのか減るのかを示し、検査処理部312は、今回読み取ったページのページ番号が前のページ(乃至ページ群)から読み取ったページ番号に対し正しい関係にあるかどうか判断する際、この情報を参照する。
またページ番号の差分量は、用紙1ページごとに、原稿画像データから読み出した「ページ番号」がどれだけ変化するかを示す。例えば、いわゆるn−up印刷や多面取り印刷では、用紙の一つの面に対し、原稿の複数のページが並べて印刷される。このような場合、用紙1ページ上に印刷された複数の原稿ページのうち、ページ番号を読み取って検査する対象を1つの原稿ページのみに限定することで、処理負荷を軽減することが考えられる。このような処理を採用した場合、順番が隣り合うシートから読み取ったページ番号は、用紙1ページ当たりに印刷される原稿ページ数だけ異なった値となる。例えば、3面取りの片面印刷の場合この差分量は「3」であり、2−upの両面印刷の場合この差分量は「4」である。
この他にも、例えばジョブが両面印刷か片面印刷かの区別も設定情報の一種として扱うことができる。
なお、例示した設定情報のうち、フェースアップ/ダウン出力の区別など、印刷処理自体の属性は、上記のように検査条件としてユーザが設定する代わりに、プリントコントローラ20又は印刷装置40に対して設定された印刷属性の情報をそのまま利用するようにしてもよい。
なお、ここでは検査条件設定部310は、ページ整合性検査装置30に設けられているものとして説明したが、プリンタコントローラ20に設ける構成としてもよい。この場合、設定した情報は、プリンタコントローラ20から検査装置30へと通知され、検査条件記憶部308に記憶される。
検査処理部312は、検査領域抽出部306で抽出された各検査領域の画像が示すコードを認識するとともに、認識したコードに基づき、ページ間の整合性が満足されているかを検査する。この整合性の検査は、検査領域の画像から認識したコードと、制御信号取出部304で取り出した制御信号が示すページ情報(すなわち、シート番号と表か裏かの情報)と、に基づいて行われる。この検査のために、検査処理部312は、シート管理テーブル314を利用する。このシート管理テーブル314について、図7を参照して説明する。
図7は、複数の顧客への請求書を印刷するジョブでのシート管理テーブル314のデータ内容の例である。この例では、シート管理テーブル314は、各シート番号ごとに、当該シートの表面の情報と裏面の情報を保持する。表面の情報の欄には、当該シートの表面の各検査領域から読み取ったコードの値が登録される。この例では、顧客ID番号、ページ番号、総ページ数の値が登録されている。裏面の情報の欄も同様に、顧客ID番号、ページ番号、総ページ数の値が登録される。図7に示したのは、原稿画像から顧客ID番号、ページ番号及び総ページ数を認識する場合の例である。もちろんこれは一例にすぎない。テーブル314の表面及び裏面の各欄には、それぞれ検査条件記憶部308に設定された各検査領域から認識したデータ項目が登録される。
なお、図7の例は、総ページ数4ページ、6ページ、2ページ、4ページである文書群を順に印刷していく場合に作成されるテーブル314を示している。
検査処理部312は、各ページの原稿画像データ及び制御信号を取得する毎に、このシート管理テーブル314に対し、データを登録していく。このデータ登録について以下説明する。
この例では、プリンタコントローラ20から印刷装置40へは、各ページ毎に、そのページについての制御信号が送られた後、又はその制御信号の送信と並行して、そのページの原稿画像データが供給される。この制御信号には、当該原稿画像データが印刷される用紙のシート番号、及び印刷されるのがその用紙の表面か裏面かを示すサイド番号が含まれている。そこで、検査処理部312は、制御信号から求めたシート番号及び表裏の区別の情報から、シート管理テーブル314においてデータを登録すべき欄を特定する。そして、特定した欄に対し、対応する原稿画像データから読み取った各コードの値(顧客ID番号、ページ番号、総ページ数など)を登録する。
シート管理テーブル314は、1つの印刷ジョブのすべてのページのデータを格納できるようなものでももちろん良いが、整合性の検査に必要な最小限のサイズのものでももちろん良い。すなわち、最も新しく取得した原稿画像データのページに対し、整合性検査の際比較すべき1乃至複数ページの情報がテーブル314にあればよいわけである。例えば、両面印刷のための経路の長さが用紙が8枚分の印刷装置において、両面印刷を行う場合は、原理的には、図6に示したごとく8×2のページの読取情報が登録可能なテーブル314を用意すればよい。
図8は、用紙搬送経路における、転写部430から両面トレイ470を経由して再び転写部430へと戻るまでの範囲に、8枚の用紙が配列できる装置での印刷順序の例を示している。図では、同じ用紙の表面(サイド1)と裏面(サイド2)が上下に並べて示され、それら表裏の組がシート番号の順に左から右へと配列されている。そして、矢印がページの印刷順序を示している。すなわちこの例では、シート番号1〜8までの8枚の用紙の表面がまず番号の順に印刷され、シート番号8の表面の印刷の後、第1シート(シート#1)の裏面が印刷される。したがって検査処理部312は、第1シートの表面、第2シートの表面、・・・、第8シートの表面、第1シートの裏面、第2シートの裏面、・・・という順に、原稿画像データから認識された顧客ID番号、ページ番号、総ページ数の値をシート管理テーブル314に登録していく。
なお、前述の図7は、この図8の印刷順序に対応しており、検査装置30が、シート番号3の裏面のデータを受け取った時のシート管理テーブルの状態を示している。この図7及び図8の例は、3ページの第1文書、6ページの第2文書、4頁の第3文書を順に印刷するジョブの例であり、第2シートの裏面は印刷されない。この場合、用紙搬送経路では、第1シートの裏面の後、1ページ分の場所が空き、その後に第3シートの裏面が搬送されるという順序になる。このような用紙搬送路上の空きピッチはホール(hole)と呼ばれる。これに対応して、第2シートの裏面(サイド2)を示す制御信号に対応する原稿画像データの送信期間には、プリンタコントローラ20から印刷装置40には、原稿画像データがないことを示すデータが送信される。
さて、このようにシート管理テーブル314に対しデータを登録していくのと並行して、検査処理部312は、シート管理テーブル314の情報に基づき、ページ間の整合性の検査を行う。
例えばページ順序の検査では、原稿画像データから認識した「ページ番号」の値が、前のページ又はページ群との間で正しい関係となっているかどうかを判定する。具体例を挙げると、シート番号2のシートの表面の原稿画像データを受け取った時、検査処理部312は、その原稿画像データから読み取ったページ番号「3」と、その直前のシート(シート番号1)の表面のページ番号「1」(これはシート管理テーブル314に登録されている)とを比較する。この例は両面印刷でありページ番号の昇順に印刷する設定(すなわち、フェースダウン出力の場合である)なので、シート番号2の表面のページ番号が、直前のシート番号1の表面のページ番号に対し2だけ増分した値になっていれば、正しいページ順序になっていると判断できる。
なお、1つの印刷ジョブ中で複数の文書を印刷する場合、文書が変わればページ番号は初期値(例えば「1」)に初期化される。このような場合に対処するには、後のシートのページ番号が前のシートのページ番号に対し上述の増分の条件を満足しない場合でも、ページ番号が初期値である場合は正しいページ順序であると判断するようにすればよい。また、図7及び図8の例では、シート番号8の表面(ページ番号は3)の後に、シート番号1の裏面(ページ番号は2)が検出されることになるが、この場合もページ番号「2」は裏面のページの初期値なので、正しいページ順序であると判断できる。
また、両面印刷の場合は、1枚のシートの表面と裏面のページ番号が整合している必要がある。すなわち、裏面のページ番号が、表面のそれに対し1だけ増分したものであれば、ページ順序が正しいと判断できる。
また、表裏の整合性の検査では、同じシート番号の表面と裏面とで、顧客ID番号が一致しているか否かを判定する。一致していれば、表裏が整合していると判断できる。裏面の原稿画像データを取得した時点では、既に表面の原稿画像データから取得した顧客ID番号がシート管理テーブル314に登録されているので、この比較が可能である。
また、顧客ID番号がない文書の印刷の場合は、総ページ数の値が表裏で一致しているかを検査したり、ページ番号の値が表裏で整合しているかを検査したりすることで(もちろん両方でも良い)、簡易的に表裏の整合性を検査することができる。
図9A〜Dは、原稿画像データ中にページ番号は含まれるが、総ページ数は含まれない場合に、検査処理部312が検出できるページ間の整合性の誤りを説明するためのものである。
図9Aは、説明のための例として用いる印刷ジョブでの正しいページ順序を示す図である。この例は、総ページ数5ページの第1の文書と、総ページ数8頁の第2の文書を両面印刷で続けて印刷するジョブである。図において、S−1はサイド番号1すなわち用紙の表面を示し、S−2はサイド番号2すなわち用紙の裏面を示す。図では、各用紙ごとに、線分の上に表面のページ番号を、線分の下に裏面のページ番号を示している。また、各用紙を示す線分の左側に示されている”D”の文字は両面印刷対象の用紙であることを示し、”S”の文字は片面印刷対象の用紙であることを示す。各用紙が両面印刷対象であるか片面印刷対象であるかの情報は、制御信号に含めてプリンタコントローラ20から印刷装置40へ通知することができる。この例では、第3シートは、表面に文書1の第5ページが印刷されるが裏面には何も印刷されず、用紙搬送経路ではこの第3シートの裏面に対応するピッチはホールとなる。
図9Bは、プリンタコントローラ20から印刷装置40へのデータ伝送において、第3シートの表面の原稿画像データが欠落した場合を示している。この場合、検査処理部312は、例えばシートの表面はホールとならない(欠落しない)という規則に基づき、第3シートの表面の原稿画像データが欠落していることを検知した時点で、ページ順序に誤りが生じていると判定できる。また、印刷ジョブがそのような規則に従っていない場合でも、検査処理部312は、第3シートの裏面の情報を得た段階で、第3シートは両面とも白紙と分かるので、ページ誤りがあると判定できる。
図9Cは、プリンタコントローラ20から印刷装置40へのデータ伝送において、第2シートの裏面について誤った原稿画像データが送信された場合を示している。この場合、検査処理部312は、第2シート裏面から読み出したページ番号「0007」が、その前の第1シート裏面から読み出したページ番号「0002」から想定される正しい番号「0004」でないことから、ページ誤りが発生したと判定できる。また、第2シートの表面のページ番号「0003」との関係からも、第2シートの裏面が誤っていると判定できる。
図9Dは、本来原稿画像データがない第3シートの裏面について、誤った原稿画像データが送信された場合を示している。この場合において、プリンタコントローラ20から印刷装置40に用紙が両面印刷対象か片面印刷対象かを示す情報を送信する場合には、検査処理部312は、第3シートは片面印刷対象であるのに、その裏面の原稿画像データが検出されたことから、ページ順序に誤りが生じたと判定できる。また、そのような情報を送信しない場合でも、第3シート裏面から読み出したページ番号「0008」が、その前の第2シート裏面から読み出したページ番号「0004」から想定される正しい番号「0006」でないことから、ページ順序に誤りが生じたと判定できる。また、第3シートの表面のページ番号「0005」との関係からも、第2シートの裏面が誤っていると判定できる。
これらに対し、図9Eは、原稿画像データ中に総ページ数の情報が含まれない場合には検出できないページ順序の誤りの例を示している。この例は、第3シートの表面として本来送信されるべき第1文書の第5ページの原稿画像データが欠落するとともに、その欠落の分だけ第2文書の各ページの順番が繰り上がって送信された場合を示している。この例では、第2文書のページが正しい順序から1ページずつ繰り上がっており、その結果用紙の表裏に対するページ割り付けにも誤りが生じている。しかし、これは第1文書に第5ページが存在することを知っている観点から見た場合のことであり、第5頁の存在を知らない場合、第2文書の第1ページが片面印刷対象である第3シートの表面に印刷され、第2ページ以降が両面印刷対象である第4シート以降に両面印刷されている図示の順序はそれ自体では正しい。したがって、原稿画像データから認識できるコードがページ番号だけである場合、検査処理部312はこの誤りを検知することができない。
これに対し、各ページの原稿画像データに「ページ番号/総ページ数」の情報が含まれる場合は、第1シート及び第2シートの各面から読み取った「ページ番号/総ページ数」の値から検査処理部312はその文書に第5ページが存在することを認識できるので、図9Eのごとく、第3シートの表面にその第5ページでなく、次の文書の第1ページが来れば、それが誤りであると判定できる。
このように原稿画像データに文書の総ページ数の情報が含まれていれば、検査装置30ではそれを認識することで、ページ番号のみしか含まれない場合よりも厳密な誤り検査を行うことができる。
また、総ページ数の情報を得ることができれば、1文書中の各ページに印刷された顧客ID番号がすべて一致しているかどうかなど、1文書中の各ページのコード情報の整合性を検査することも可能である。
検査処理部312は、印刷ジョブの実行の実行につれてリアルタイムで、上記の誤り検出処理を行う。
以上、検査処理部312の処理について説明した。検査処理部312は、以上のような処理によりページ間の整合性について誤りを検出した場合は、その誤りについてのログ情報を検査ログ記憶部316に登録する。ログ情報は、例えば、誤りを検出したページを示す情報(例えばシート番号及びサイド番号の組)である。また、検出した誤りの種類(ページ順序誤りか表裏の整合性の誤りかなど)を追加してもよい。
またページ間整合性の誤りを検出されたときに、検査処理部312が印刷装置40に対して印刷処理の中断を指示する構成とすることもできる。一般に、給紙トレイから用紙が給紙されるタイミングとその用紙に対して画像が転写されるタイミングとの間にはある程度の時間差があるので、プリンタコントローラ20から印刷装置40へ制御信号及び原稿画像データが供給された時点で整合性検査装置30が誤りを検知して印刷中断を指示すれば、印刷装置40は誤りが検出されたページの印刷を行う前に処理を中断することも可能である。
なお、この例では、ページ整合性検査装置30の検査結果の如何によらず、プリンタコントローラ20から印刷装置40に対して原稿画像データが供給されているが、これは一例である。この代わりに、印刷装置40へページ整合性検査装置30を介して原稿画像データを供給する構成とし、検査装置30が、プリンタコントローラ20から受け取った原稿画像データがそれ以前に受け取った原稿画像データに対して整合性の誤りを検出できなかった場合にのみ、その原稿画像データを印刷装置40に供給するようにすることもできる。
以上説明したように、本実施形態は、プリンタコントローラ20から印刷装置40へ送信される各ページの原稿画像データをページ整合性検査装置30が監視し、その原稿画像データから画像認識したページ番号等のコード値に基づき、ページ間の整合性の誤りを検出する構成をとっている。従来技術では、輝度ムラや伸縮等がある印刷済用紙の読取画像からコード値を精度良く認識するために読取画像に対して高度な前処理を行う必要があったが、本実施形態の構成では、鮮明な原稿画像データ自体からコード値を認識するのでそのような前処理は不要であり、認識のための処理負担を軽減できる。
また本実施形態では、ページ整合性検査装置30が、制御信号に含まれるシート番号及びサイド番号の情報とその制御信号に対応する原稿画像データから認識したコード値との対応を監視しているため、仮にプリンタコントローラ20が原稿画像データの出力順序を誤った場合(すなわち制御信号と原稿画像データとの対応を誤った場合)は、それを検出することができる。
また本実施形態では、原稿画像データから認識した各コード値を、各用紙の表裏の情報を用紙の順序に対応づけて登録可能なシート管理テーブル314に登録し、このシート管理テーブル314を参照してページ間の整合性を検査する。シート管理テーブル314の利用により、印刷装置40に対する原稿画像データの供給順序(すなわちこれが印刷順序となる)が両面印刷その他の事情で印刷ジョブの文書中でのページ順序から変わるような場合でも、1枚の用紙の表裏のページ同士や、順序が隣り合う用紙の表ページ同士(或いは裏ページ同士)、又は順序が隣り合うページ同士などでのコード情報の比較が容易になる。特にシート管理テーブル314によれば、順序変更の規則が複雑な場合や、突発的な事情による順序変更が生じるため順序変更に規則が定められないような場合でも、整合性検査のためにコード情報を比較すべきページを容易に特定することができるという効果が得られる。
また本実施形態では、表裏の整合性を検査するのに印刷済用紙の表裏面を同時に撮影する必要はないので、従来のような大規模な装置構成は必要ない。
なお以上では、主として両面印刷の場合を例にとって説明したが、明らかなように、片面印刷の場合でも、上述と同様の手法でページ間の整合性の検査を行うことができる。
また、以上の例では、n−up印刷や多面取り印刷の場合に、用紙1ページに印刷される複数の原稿ページのページ番号(或いは顧客ID番号)のうち、1つの原稿ページのものを代表して読み取っていたが、この代わりに用紙1ページ上の各原稿ページのページ番号等をすべて読み取るようにしてももちろん良い。この場合、用紙1ページ上の各原稿ページの領域から読み取ったページ番号(或いは顧客ID番号)同士が正しい関係になっているかどうかを検査することもできる。
次に図10を参照して変形例を説明する。以上の実施形態が、プリンタコントローラ20から印刷装置40に送られる制御信号と、シート管理テーブル314を利用するものであったのに対し、この変形例ではそれらを利用せずにページ間の整合性を検査する。
図10では図3に示した構成要素と同様の構成要素には同一符号を付し、それらについては説明を省略する。
この変形例は、図3の構成のシート管理テーブル314の代わりに、ページカウンタ320及び読取情報テーブル322を備える。ページカウンタ320は、ページ整合性検査装置30が取得した原稿画像データのページ数を計数するカウンタである。ページカウンタ320のカウント値は、プリンタコントローラ20から印刷装置40へ伝送される原稿画像データを原稿画像データ取出部302が取得するごとに1だけインクリメントされる。検査処理部312aは、原稿画像データ内の検査領域の画像データを検査領域抽出部306から取得すると、その画像データが示すコード値を認識し、そのコード値をその時のページカウンタ320のカウント値(そのコードが含まれていた原稿画像データの、プリンタコントローラ20からの出力順序を示している)に対応づけて、読取情報テーブル322に記憶する。1ページ中に複数の検査領域(すなわち複数のコード)が設定されている場合は、各検査領域から読み取った各コード値をそのカウント値に対応づけて記憶する。
図11は、読取情報テーブル322のデータ内容の一例を示す図である。図6との対比で分かるように、読取情報テーブル322には、用紙の区別(シート番号)や用紙の表裏の区別を行わずに、原稿画像データの取得順(すなわちページカウンタ320のカウント値の順)に各種のコード情報が登録される。
検査処理部312aは、新たに取得した原稿画像データ中の各コード情報を認識すると、それを読取情報テーブル322中の、比較対象のページの各コード情報と比較することで、ページ間の整合性が満足されているかどうかを検査する。比較対象のページは、検査の項目(ページ順序整合性、表裏整合性など)ごとに決まる。
ここで、比較対象のページの特定は、印刷装置40における印刷順序(すなわちプリンタコントローラ20から印刷装置40への原稿画像データの出力順序)の規則に基づき行うことができる。
最も単純な規則は、ページ番号の昇順(又は降順)に印刷するという順序規則であり、これは片面印刷の場合に一般に成り立つ規則である。この規則が成り立つ場合、新たに取得した原稿画像データのコード情報は、その直前に取得した原稿画像データのコード情報と比較することにより、ページ順序の整合性を検査することができる。すなわち、この場合の比較対象は、1つ前に取得したページである。
また、両面印刷の際、印刷生産性向上のために表面の印刷と裏面の印刷を所定ページ数(仮にTページとする)周期で交互に繰り返す、前述のような印刷装置の場合、印刷順序の規則が少し複雑になるものの、規則が存在すればその規則に従って比較対象のページを特定できる。例えば表裏の整合性を検査は、裏面に該当するページ(カウント値が[(2n−1)T+1]から2nT(nは自然数)に当たるページ)から読み出したコード情報について行えばよく、その時の比較対象はそのページよりカウント値がTだけ小さいページである。また、ページ順序の整合性については、基本的にカウント値が一つ前のページを比較対象とすればよい。ただし、表面印刷と裏面印刷の境界の直後のページ(すなわち(Tn+1)ページ目と、(2Tn+1)ページ目(nは自然数))については、(T+1)ページ前を比較対象とする。
このように、印刷順序が規則的(すなわち印刷ジョブ中でのページ順序から印刷順序への変換が規則的)であれば、印刷の種別(片面又は両面)に応じ、各検査項目ごとに、コード値の比較対象のページを特定することができる。比較対象を特定した後の整合性の判定処理自体は、上述の実施形態と同じものでよい。
このように、図10の変形例では、印刷順序が規則的であるような印刷システムの場合に、上述の実施形態と同様の検査を行うことができる。なお、印刷順序が不規則であったり、規則があってもそれが非常に複雑な場合は、上記実施形態のようにシート管理テーブル314を利用する方式が有効である。
次に、図12を参照して、更に別の変形例を説明する。
以上の実施形態は、ページ間の整合性の検査の基礎とする各ページのコード情報が、元々の印刷ジョブのデータ自体に含まれている場合であった。これに対し、図12の変形例では、そのようなコード情報が印刷ジョブのデータに含まれていない場合に対処するためのシステム構成である。
この構成では、ページ整合性検査装置30が、原稿画像データに付加する順序コードの情報を有している。この順序コード情報は、各コード値ごとに、当該コード値を示すコード画像のデータ(画像データそのものでなくても、プリンタコントローラ20がそのデータからコード画像を生成できるものであればよい)を含んでおり、更にそれら各コード値の順序の規則を含んでいる。コード値が異なればコード画像も異なるようにする。コード値の種類が、前述の両面印刷における表面、裏面の連続印刷の周期T(ページ)に対して2T種類以上あれば、ページ順序の整合性も表裏の整合性も検査できる。
ページ整合性検査装置30は、その順序コード情報をプリンタコントローラ20に供給する。
プリンタコントローラ20は、ホストコンピュータ10からの印刷データに基づき生成した各ページの原稿画像データに対し、順序コード情報に示される順序規則に従って決まるコード画像を、画像として付加する。このコード画像の付加は、印刷順序ではなく文書としてのページの順序に応じた順序で行われる。このように付加したコード画像は、印刷データに元々含まれているページ番号と同じ機能を果たす。なお、原稿画像中でコード画像を付加する位置は、例えば「ページ下端の余白の中央部」など、ページ整合性検査装置30とプリンタコントローラ20との間で予め取り決められた位置とする。プリンタコントローラ20は、このようにして各ページの原稿画像データに順にコード画像を付加すると、それらコード画像付加済の原稿画像データを、印刷装置40での印刷順序に順序変換して出力する。また、この原稿画像データと共に、上述の制御信号も出力する。
ページ整合性検査装置30は、この原稿画像データ及び制御信号を受け取ると、原稿画像データの所定位置からコード画像を抽出し、それを認識してコード値を求め、そのコード値に基づきページ間の整合性が満足されているかを検査する。前述のごとく、この変形例のコード画像はページ番号と同じ機能を果たすので、上述の実施形態の場合と同様の検査を行うことができる。
また、ページ整合性検査装置30は、プリンタコントローラ20から受け取った原稿画像データを検査し、整合性の誤りを検知できなかった場合は、その原稿画像データからコード画像を削除したのち、これを対応する制御信号とともに印刷装置40に供給し、印刷を行わせる。この構成によれば、検査のために付加したコード画像が印刷されないようにすることができる。
以上、本発明の好適な実施形態及びその変形例を説明した。しかしながら、それらはあくまで一例に過ぎず、本発明の範囲内で様々な変更が可能である。
10 ホストコンピュータ、20 プリンタコントローラ、30 ページ整合性検査装置、40 印刷装置、302 原稿画像取出部、304 制御信号取出部、306 検査領域抽出部、308 検査条件記憶部、310 検査条件設定部、312 検査処理部、314 シート管理テーブル、316 検査ログ記憶部。