(57)【要約】【課題】  制御装置のメモリに記憶されるべきデータ量が多くなるのを抑制するための技術を提供すること。【解決手段】  制御装置は、Ｎ１個の画像がユーザによって指定される場合に、端末装置から少なくともＮ１個の画像データを含む印刷要求を取得し、Ｎ１個の画像とＭ１部を示す印刷部数がユーザによって指定されることに起因して、印刷要求が（Ｎ１×Ｍ１）個の画像データを含む場合に、（Ｎ１×Ｍ１）個の画像データにおいて、各画像データが他の画像データと一致するのか否かを判断する一致判断処理を実行し、一致判断処理の結果を利用して、（Ｎ１×Ｍ１）個の画像データの中からＮ１個の画像データを特定し、一致判断処理の結果を利用して、Ｎ１個の画像の印刷部数に関係する部数関係情報を生成し、（Ｎ１×Ｍ１）個の画像データのうちの特定済みのＮ１個の画像データと、部数関係情報と、をメモリ内の所定領域に記憶させる。【選択図】  図３
2018149723.tif 000002
【特許請求の範囲】
【請求項１】
印刷実行部に印刷を実行させるための制御装置であって、
メモリと、
端末装置において、互いに異なるＮ１個（前記Ｎ１は２以上の整数）の画像がユーザによって指定される場合に、前記端末装置から、少なくとも前記Ｎ１個の画像を表わす少なくともＮ１個の画像データを含む第１の印刷要求を取得する第１の印刷要求取得部と、
前記端末装置において、前記Ｎ１個の画像と、Ｍ１部（前記Ｍ１は２以上の整数）を示す印刷部数と、が前記ユーザによって指定されることに起因して、前記第１の印刷要求が、（Ｎ１×Ｍ１）個の画像を表わす（Ｎ１×Ｍ１）個の画像データを含む第１の場合に、前記（Ｎ１×Ｍ１）個の画像データにおいて、各画像データが他の画像データと一致するのか否かを判断する第１の一致判断処理を実行する第１の一致判断部と、
前記第１の場合に、前記第１の一致判断処理の結果を利用して、前記（Ｎ１×Ｍ１）個の画像データの中から前記Ｎ１個の画像データを特定する第１の特定部と、
前記第１の場合に、前記第１の一致判断処理の結果を利用して、前記Ｎ１個の画像の印刷部数に関係する部数関係情報を生成する関係情報生成部と、
前記第１の場合に、前記（Ｎ１×Ｍ１）個の画像データのうちの特定済みの前記Ｎ１個の画像データと、前記部数関係情報と、を前記メモリ内の所定領域に記憶させる第１の記憶制御部であって、前記（Ｎ１×Ｍ１）個の画像データのうち、特定済みの前記Ｎ１個の画像データ以外の（Ｎ１×（Ｍ１−１））個の画像データは、前記所定領域に記憶されない、前記第１の記憶制御部と、
前記Ｎ１個の画像データと前記部数関係情報とが前記所定領域に記憶された後に、前記Ｎ１個の画像データと前記部数関係情報とを利用して、前記（Ｎ１×Ｍ１）個の画像の印刷を前記印刷実行部に実行させる第１の印刷制御部と、
を備える制御装置。
【請求項２】
前記第１の一致判断部は、前記（Ｎ１×Ｍ１）個の画像データのうち、ｋ番目（ｋは２以上（Ｎ１×Ｍ１）以下の各整数）に取得されるｋ番目の画像データが、１番目から（ｋ−１）番目に取得される（ｋ−１）個の画像データのいずれかに一致するのか否かを判断する前記第１の一致判断処理を実行し、
前記第１の特定部は、
前記第１の一致判断処理において、前記ｋ番目の画像データが前記（ｋ−１）個の画像データのいずれにも一致しないと判断される場合に、前記ｋ番目の画像データを前記Ｎ１個の画像データに含まれる画像データとして特定し、
前記第１の一致判断処理において、前記ｋ番目の画像データが前記（ｋ−１）個の画像データのいずれかに一致すると判断される場合に、前記ｋ番目の画像データを前記Ｎ１個の画像データに含まれる画像データとして特定しない、請求項１に記載の制御装置。
【請求項３】
前記第１の一致判断部は、
前記（Ｎ×Ｍ）個の画像データのそれぞれについて、当該画像データを要約化することによって要約値を算出し、
前記（Ｎ１×Ｍ１）個の画像データにおいて、各画像データについて算出される各要約値が他の画像データについて算出される要約値と一致するのか否かを判断する前記第１の一致判断処理を実行する、請求項１又は２に記載の制御装置。
【請求項４】
前記制御装置は、さらに、
前記第１の印刷要求に含まれる特定情報を利用して、前記第１の印刷要求が、前記（Ｎ１×Ｍ１）個の画像データを含むのか、前記（Ｎ１×Ｍ１）個の画像データを含まずに前記Ｎ１個の画像データを含むのか否かを判断する要求判断部を備え、
前記第１の場合は、前記第１の印刷要求が前記（Ｎ１×Ｍ１）個の画像データを含むと判断される場合であり、
前記制御装置は、さらに、
前記第１の印刷要求が前記（Ｎ１×Ｍ１）個の画像データを含まずに前記Ｎ１個の画像データを含むと判断される第２の場合に、前記第１の印刷要求に含まれる前記Ｎ１個の画像データと、前記第１の印刷要求に含まれる印刷部数情報であって、前記Ｍ１部を示す前記印刷部数情報と、を前記メモリ内の前記所定領域に記憶させる第２の記憶制御部と、
前記Ｎ１個の画像データと前記印刷部数情報とが前記所定領域に記憶された後に、前記Ｎ１個の画像データと前記印刷部数情報とを利用して、前記（Ｎ１×Ｍ１）個の画像の印刷を前記印刷実行部に実行させる第２の印刷制御部と、
を備える、請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
前記特定情報は、前記第１の印刷要求に含まれる印刷部数情報であり、
前記要求判断部は、
前記第１の印刷要求が１部を示す前記印刷部数情報を含む場合に、前記第１の印刷要求が前記（Ｎ１×Ｍ１）個の画像データを含むと判断し、
前記第１の印刷要求が前記Ｍ１部を示す前記印刷部数情報を含む場合に、前記第１の印刷要求が前記（Ｎ１×Ｍ１）個の画像データを含まずに前記Ｎ１個の画像データを含むと判断する、請求項４に記載の制御装置。
【請求項６】
前記関係情報生成部は、前記第１の場合に、前記第１の一致判断処理の結果を利用して、前記Ｎ１個の画像の印刷部数である前記Ｍ１部を示す前記部数関係情報を生成する、請求項１から５のいずれか一項に記載の制御装置。
【請求項７】
前記制御装置は、さらに、
前記端末装置において、Ｎ２個（前記Ｎ２は３以上の整数）の画像と、Ｍ２部（前記Ｍ２は２以上の整数）を示す印刷部数と、が前記ユーザによって指定される場合に、前記端末装置から、（Ｎ２×Ｍ２）個の画像を表わす（Ｎ２×Ｍ２）個の画像データを含む第２の印刷要求を取得する第２の印刷要求取得部であって、前記Ｎ２個の画像は、２個以上の同じ画像を含む、前記第２の印刷要求取得部と、
前記端末装置から前記第２の印刷要求が取得される第３の場合に、前記（Ｎ２×Ｍ２）個の画像データにおいて、各画像データが他の画像データと一致するのか否かを判断する第２の一致判断処理を実行する第２の一致判断部と、
前記第３の場合に、前記第２の一致判断処理の結果を利用して、前記（Ｎ２×Ｍ２）個の画像データの中から、互いに異なるＬ（前記Ｌは前記Ｎ２未満の整数）個の画像データを特定する第２の特定部と、
前記第３の場合に、前記（Ｎ２×Ｍ２）個の画像データに対応する前記（Ｎ２×Ｍ２）個の対応情報と、前記（Ｎ２×Ｍ２）個の画像データが取得された順序と、が関連付けられている順序情報を生成する順序情報生成部と、
前記第３の場合に、前記順序情報を利用して、前記Ｍ２部を示す印刷部数情報を生成する部数情報生成部と、
前記第３の場合に、前記（Ｎ２×Ｍ２）個の画像データのうちの少なくとも特定済みの前記Ｌ個の画像データと、前記印刷部数情報と、を前記メモリ内の前記所定領域に記憶させる第３の記憶制御部と、
少なくとも前記Ｌ個の画像データと前記印刷部数情報とが前記所定領域に記憶された後に、少なくとも前記Ｌ個の画像データと前記印刷部数情報とを利用して、前記（Ｎ２×Ｍ２）個の画像の印刷を前記印刷実行部に実行させる第３の印刷制御部と、
を備える、請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
前記部数情報生成部は、
前記順序情報を利用して、前記Ｎ２個の画像のコレート印刷を実行するための第１の印刷部数を算出し、
前記順序情報を利用して、前記Ｎ２個の画像のアンコレート印刷を実行するための第２の印刷部数を算出し、
前記第１の印刷部数が複数部を示し、かつ、前記第２の印刷部数が１部を示す場合に、前記第１の印刷部数である前記Ｍ２部を示す前記印刷部数情報を決定し、
前記第２の印刷部数が複数部を示し、かつ、前記第１の印刷部数が１部を示す場合に、前記第２の印刷部数である前記Ｍ２部を示す前記印刷部数情報を決定し、
前記第１の印刷部数が複数部を示し、かつ、前記第２の印刷部数が１部を示す場合に、
前記第３の記憶制御部は、少なくとも前記Ｌ個の画像データと、前記印刷部数情報と、コレート印刷を示すコレート情報と、を前記所定領域に記憶させ、
前記第３の印刷制御部は、少なくとも前記Ｌ個の画像データと前記印刷部数情報とを利用して、前記Ｎ２個の画像の前記Ｍ２部のコレート印刷を前記印刷実行部に実行させ、
前記第２の印刷部数が複数部を示し、かつ、前記第１の印刷部数が１部を示す場合に、
前記第３の記憶制御部は、少なくとも前記Ｌ個の画像データと、前記印刷部数情報と、アンコレート印刷を示すアンコレート情報と、を前記所定領域に記憶させ、
前記第３の印刷制御部は、少なくとも前記Ｌ個の画像データと前記印刷部数情報とを利用して、前記Ｎ２個の画像の前記Ｍ２部のアンコレート印刷を前記印刷実行部に実行させる、請求項７に記載の制御装置。
【請求項９】
前記制御装置は、さらに、
前記端末装置から、認証で利用されるべき認証情報を取得する認証情報取得部を備え、
前記第１の記憶制御部は、前記第１の場合に、前記Ｎ１個の画像データと、前記部数関係情報と、前記認証情報と、を前記所定領域に記憶させ、
前記第１の印刷制御部は、前記Ｎ１個の画像データと前記部数関係情報と前記認証情報とが前記所定領域に記憶された後に、記憶済みの前記認証情報に一致する情報を入力するための動作が前記ユーザによって実行される場合に、前記Ｎ１個の画像データと前記部数関係情報とを利用して、前記（Ｎ１×Ｍ１）個の画像の印刷を前記印刷実行部に実行させる、請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
印刷実行部に印刷を実行させるための制御装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記制御装置のコンピュータを、
端末装置において、互いに異なるＮ１個（前記Ｎ１は２以上の整数）の画像がユーザによって指定される場合に、前記端末装置から、少なくとも前記Ｎ１個の画像を表わす少なくともＮ１個の画像データを含む第１の印刷要求を取得する第１の印刷要求取得部と、
前記端末装置において、前記Ｎ１個の画像と、Ｍ１部（前記Ｍ１は２以上の整数）を示す印刷部数と、が前記ユーザによって指定されることに起因して、前記第１の印刷要求が、（Ｎ１×Ｍ１）個の画像を表わす（Ｎ１×Ｍ１）個の画像データを含む第１の場合に、前記（Ｎ１×Ｍ１）個の画像データにおいて、各画像データが他の画像データと一致するのか否かを判断する第１の一致判断処理を実行する第１の一致判断部と、
前記第１の場合に、前記第１の一致判断処理の結果を利用して、前記（Ｎ１×Ｍ１）個の画像データの中から前記Ｎ１個の画像データを特定する第１の特定部と、
前記第１の場合に、前記第１の一致判断処理の結果を利用して、前記Ｎ１個の画像の印刷部数に関係する部数関係情報を生成する関係情報生成部と、
前記第１の場合に、前記（Ｎ１×Ｍ１）個の画像データのうちの特定済みの前記Ｎ１個の画像データと、前記部数関係情報と、を前記制御装置のメモリ内の所定領域に記憶させる第１の記憶制御部であって、前記（Ｎ１×Ｍ１）個の画像データのうち、特定済みの前記Ｎ１個の画像データ以外の（Ｎ１×（Ｍ１−１））個の画像データは、前記所定領域に記憶されない、前記第１の記憶制御部と、
前記Ｎ１個の画像データと前記部数関係情報とが前記所定領域に記憶された後に、前記Ｎ１個の画像データと前記部数関係情報とを利用して、前記（Ｎ１×Ｍ１）個の画像の印刷を前記印刷実行部に実行させる第１の印刷制御部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、印刷実行部に印刷を実行させるための制御装置を開示する。
【背景技術】
【０００２】
特許文献１には、記憶装置内の印刷データを画像出力して用紙に印刷するプリンタが開示されている。プリンタは、ホストマシンから印刷データを受信し、当該印刷データを記憶装置に記憶する。プリンタは、ユーザによって複数部を示す印刷部数が指定される場合に、記憶装置内の印刷データを画像出力して用紙に印刷することを繰り返す。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１３１８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には明記されていないが、ホストマシンにおいて、印刷対象のＮ個（Ｎは１以上の整数）の画像と、Ｍ部（Ｍは２以上の整数）を示す印刷部数と、が指定される場合に、ホストマシンが、Ｎ個の画像を表わすＮ個の印刷データとＭ部を示す印刷部数情報とをプリンタに送信する構成が考えられる。この場合、プリンタは、当該Ｎ個の印刷データと当該印刷部数情報とを記憶装置内に記憶させておけば、当該Ｎ個の印刷データに従った印刷を当該印刷部数情報に従った回数だけ繰り返し実行して、ユーザの意図に従った印刷を実現することができる。一方、ホストマシンにおいて、Ｎ個の画像とＭ部を示す印刷部数とが指定される場合に、ホストマシンが、（Ｎ×Ｍ）個の画像を表わす（Ｎ×Ｍ）個の印刷データと１部を示す印刷部数情報とをプリンタに送信する構成も想定される。この場合、プリンタは、当該（Ｎ×Ｍ）個の印刷データを記憶装置内に記憶させる必要があり、記憶装置に記憶されるべきデータ量が多くなってしまう。
【０００５】
本明細書では、制御装置のメモリに記憶されるべきデータ量が多くなるのを抑制するための技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される制御装置は、メモリと、端末装置において、互いに異なるＮ１個（前記Ｎ１は２以上の整数）の画像がユーザによって指定される場合に、前記端末装置から、少なくとも前記Ｎ１個の画像を表わす少なくともＮ１個の画像データを含む第１の印刷要求を取得する第１の印刷要求取得部と、前記端末装置において、前記Ｎ１個の画像と、Ｍ１部（前記Ｍ１は２以上の整数）を示す印刷部数と、が前記ユーザによって指定されることに起因して、前記第１の印刷要求が、（Ｎ１×Ｍ１）個の画像を表わす（Ｎ１×Ｍ１）個の画像データを含む第１の場合に、前記（Ｎ１×Ｍ１）個の画像データにおいて、各画像データが他の画像データと一致するのか否かを判断する第１の一致判断処理を実行する第１の一致判断部と、前記第１の場合に、前記第１の一致判断処理の結果を利用して、前記（Ｎ１×Ｍ１）個の画像データの中から前記Ｎ１個の画像データを特定する第１の特定部と、前記第１の場合に、前記第１の一致判断処理の結果を利用して、前記Ｎ１個の画像の印刷部数に関係する部数関係情報を生成する関係情報生成部と、前記第１の場合に、前記（Ｎ１×Ｍ１）個の画像データのうちの特定済みの前記Ｎ１個の画像データと、前記部数関係情報と、を前記メモリ内の所定領域に記憶させる第１の記憶制御部であって、前記（Ｎ１×Ｍ１）個の画像データのうち、特定済みの前記Ｎ１個の画像データ以外の（Ｎ１×（Ｍ１−１））個の画像データは、前記所定領域に記憶されない、前記第１の記憶制御部と、前記Ｎ１個の画像データと前記部数関係情報とが前記所定領域に記憶された後に、前記Ｎ１個の画像データと前記部数関係情報とを利用して、前記（Ｎ１×Ｍ１）個の画像の印刷を前記印刷実行部に実行させる第１の印刷制御部と、を備える。
【０００７】
上記の構成によれば、制御装置は、（Ｎ１×Ｍ１）個の画像データにおいて、各画像データが他の画像データと一致するのか否かを判断することによって、（Ｎ１×Ｍ１）個の画像データの中からＮ１個の画像データを特定し、特定済みのＮ１個の画像データをメモリ内の所定領域に記憶させる。この際に、特定済みのＮ１個の画像データ以外の（Ｎ１×（Ｍ１−１））個の画像データは、所定領域に記憶されない。従って、制御装置のメモリ内の所定領域に記憶されるべきデータ量が多くなるのを抑制することができる。
【０００８】
上記の制御装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】通信システムの構成を示す。
【図２】プリンタによって実行される印刷関係処理のフローチャートを示す。
【図３】蓄積処理のフローチャートを示す。
【図４】アンコレート印刷が指定されるケースＡ１とコレート印刷が指定されるケースＡ２を示す。
【図５】第２実施例の蓄積処理のフローチャートを示す。
【図６】アンコレート印刷が指定されるケースＢ１とコレート印刷が指定されるケースＢ２を示す。
【図７】決定処理のフローチャートを示す。
【図８】アンコレート部数処理のフローチャートを示す。
【図９】コレート部数処理のフローチャートを示す。
【図１０】第２実施例の特殊なケースを示す。
【発明を実施するための形態】
【００１０】
（第１実施例）
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、プリンタ１０と、複数個の端末装置１００、２００と、を備える。各装置、１０、１００、２００は、同じＬＡＮ（Local Area Networkの略）４に所属しており、ＬＡＮ４を介して相互に通信可能である。
【００１１】
（プリンタ１０の構成；図１）
プリンタ１０は、印刷機能を実行可能な周辺装置（即ち、端末装置１００等の周辺装置）である。プリンタ１０は、印刷実行部１２と、入力部１４と、ネットワークインターフェース１６と、制御部２０と、を備える。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。印刷実行部１２は、インクジェット方式、レーザ方式等の印刷機構を備える。
【００１２】
入力部１４は、ユーザによる情報の入力を受け付ける。入力部１４は、例えば、操作キー、タッチパネル、ＩＣカードリーダ、磁気カードリーダ等を含む。入力部１４が操作キー又はタッチパネルである場合には、ユーザは、操作キー又はタッチパネルを操作することによって、情報をプリンタ１０に入力することができる。また、入力部１４がＩＣ（又は磁気）カードリーダである場合には、ユーザは、情報が記憶されたＩＣ（又は磁気）カードをＩＣ（又は磁気）カードリーダに近づけることによって、当該情報をプリンタ１０に入力することができる。
【００１３】
ネットワークＩ／Ｆ１６は、有線通信を実行するためのＩ／Ｆであり、ＬＡＮ４に接続されている。変形例では、ネットワークＩ／Ｆ１６は、無線通信を実行するためのＩ／Ｆであってもよく、この場合、ＬＡＮ４は、いわゆる無線ＬＡＮである。
【００１４】
制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に記憶されているプログラム２６に従って、様々な処理を実行する。メモリ２４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ２４内の不揮発性メモリは、ユーザテーブル２８を記憶する。また、メモリ２４内の揮発性メモリは、一時領域３０を備え、メモリ２４内の不揮発性メモリは、蓄積領域３２を備える。
【００１５】
ユーザテーブル２８では、ユーザ名と、パスワードと、が関連付けられる。ユーザ名とパスワードは、例えば、プリンタ１０の管理者が、端末装置（例えば１００）からプリンタ１０にアクセスすることによって、ユーザテーブル２８に登録される。ユーザ名は、ユーザを識別するための情報である。パスワードは、当該ユーザを認証するための情報である。なお、以下では、ユーザ名とパスワードの組合せを「ユーザ情報」と記載する。
【００１６】
一時領域３０は、端末装置（例えば１００）から供給される印刷要求及びユーザ情報を一時的に記憶するための領域である。印刷要求は、印刷対象の画像の印刷をプリンタ１０に要求するためのコマンドであり、当該画像を表わす画像データを含む。印刷要求が複数個の画像データを含む場合には、複数個の画像データのそれぞれは、一時領域３０に順次記憶されて後述の印刷関係処理（図２参照）で利用され、その後一時領域３０から削除される。
【００１７】
蓄積領域３２は、印刷要求に含まれる画像データを蓄積情報（例えばＳＩ１）として記憶するための領域である。蓄積情報は、画像データと印刷部数情報と方法情報とユーザ情報との組合せである。蓄積情報が複数個の画像データを含む場合には、各画像データは、印刷順序を示す順位に関連付けられる。印刷部数情報は、画像データの印刷部数を示す。方法情報は、印刷方法としてコレート印刷又はアンコレート印刷を示す。なお、コレート印刷、アンコレート印刷は、それぞれ、ソート印刷、非ソート印刷と同義である。蓄積情報に含まれるユーザ情報に一致するユーザ情報を入力部１４に入力するための動作（例えば、操作キーの操作、ＩＣカードをＩＣカードリーダに近づける動作等）がユーザによって実行されると、当該蓄積情報に含まれる各画像データによって表わされる各画像の印刷が実行される。この場合、蓄積領域３２から当該蓄積情報が削除される。
【００１８】
（端末装置１００の構成）
端末装置１００は、デスクトップＰＣ（Personal Computerの略）、ノートＰＣ、携帯端末等のユーザ端末である。端末装置１００は、専用プリンタドライバを記憶している。専用プリンタドライバは、プリンタ１０のベンダによって提供されるプログラムであり、プリンタ１０が解釈可能な印刷要求をプリンタ１０に供給するためのプログラムである。専用プリンタドライバは、例えば、プリンタ１０のベンダによって提供されるインターネット上のサーバ（不図示）から端末装置１００にインストールされてもよいし、プリンタ１０と共に出荷されるメディアから端末装置１００にインストールされてもよい。
【００１９】
端末装置１００は、ユーザから印刷の指示を受け付けると、指定画面ＳＣ１を表示する。指定画面ＳＣ１は、ユーザ情報を指定するためのユーザ情報ボックスと、ドキュメントを指定するためのドキュメントボックスと、印刷部数を指定するための部数ボックスと、印刷方法を指定するための方法ボックスと、を含む。方法ボックスが選択され、その状態が非選択状態から選択状態に移行すると、印刷方法としてアンコレート印刷が指定される、一方、方法ボックスが選択されずに、その状態が非選択状態に維持されると、印刷方法としてコレート印刷が自動的に指定される。
【００２０】
端末装置１００は、指定画面ＳＣ１において、ユーザ情報とドキュメントと印刷部数と印刷方法とが指定されると、専用プリンタドライバに従って、指定済みのドキュメントを変換して、プリンタ１０が解釈可能な形式を有する画像データを生成する。特に、印刷対象のドキュメントが互いに異なるＮ１個（Ｎ１は２以上の整数）の画像を含み、かつ、Ｍ１部（Ｍ１は２以上の整数）を示す印刷部数が指定される場合には、端末装置１００は、専用プリンタドライバに従って、Ｎ１個の画像データと、Ｍ１部を示す印刷部数情報と、指定済みの印刷方法を示す方法情報と、を含む印刷要求を生成する。印刷部数情報及び方法情報は、印刷要求内のヘッダ領域に含まれ、Ｎ１個の画像データは、印刷要求内のボディ領域に含まれる。端末装置１００は、生成済みの印刷要求をプリンタ１０に供給する。
【００２１】
ここで、図２を参照して、具体例を説明する。例えば、ユーザが、端末装置１００において、２個の画像ＩＭ１、ＩＭ２を表わすドキュメントＤＣ１と、２部を示す印刷部数と、印刷方法「コレート印刷」と、を指定する状況を想定する。この場合、端末装置１００は、専用プリンタドライバを備えているので、２個の画像ＩＭ１、ＩＭ２を表わす２個の画像データＤ１、Ｄ２と、２部を示す印刷部数情報と、「コレート印刷」を示す方法情報と、を含む印刷要求Ｒ１を生成する。端末装置１００は、さらに、ユーザによってユーザ情報ボックスに入力されるユーザ名ＵＮ１及びパスワードＰ１を含むユーザ情報を生成する。端末装置１００は、印刷要求Ｒ１及びユーザ情報をプリンタ１０に供給する際に、ドキュメントＤＣ１内の画像ＩＭ１、ＩＭ２の順序に従って、画像データＤ１を先に供給し、画像データＤ２を後に供給する。
【００２２】
（端末装置２００の構成）
図１に戻り、端末装置２００の構成を説明する。端末装置２００は、専用プリンタドライバに代えて汎用プリンタドライバを記憶している点を除いて、端末装置１００と同様である。汎用プリンタドライバは、プリンタ１０のベンダとは異なる事業者によって提供され、プリンタ１０のベンダを含む複数のプリンタベンダによって提供される様々なプリンタが解釈可能な印刷要求を供給するためのプログラムである。本実施例では、汎用プリンタドライバによって生成される印刷要求は、ＩＰＰ（Internet Printing Protocolの略）に従った印刷要求である。汎用プリンタドライバは、例えば、プリンタ１０のベンダとは異なる事業者によって提供されるインターネット上のサーバから端末装置２００にインストールされる。
【００２３】
端末装置２００は、汎用プリンタドライバに従って、指定画面ＳＣ１と同様の指定画面を表示することができ、ユーザ情報とドキュメントと印刷部数と印刷方法とが当該指定画面で指定されると、指定済みのドキュメントを変換して、プリンタ１０を含む様々なプリンタが解釈可能な形式を有する画像データを生成する。特に、印刷対象のドキュメントがＮ１個の画像を含み、かつ、Ｍ１部を示す印刷部数が指定される場合には、端末装置２００は、汎用プリンタドライバに従って、（Ｎ１×Ｍ１）個の画像データと、１部を示す印刷部数情報と、を含む印刷要求を生成する。即ち、汎用プリンタドライバは、専用プリンタドライバとは異なり、複数部であるＭ１部を示す印刷部数が指定される場合に、Ｎ１個の画像データをＭ１回に亘ってコピーすることによって、（Ｎ１×Ｍ１）個の画像データを生成するようにプログラムされている。また、汎用プリンタドライバによって生成される印刷要求は、印刷方法を示す方法情報を含まない。１部を示す印刷部数情報は、印刷要求内のヘッダ領域に含まれ、（Ｎ１×Ｍ１）個の画像データは、印刷要求内のボディ領域に含まれる。端末装置２００は、生成済みの印刷要求をプリンタ１０に供給する。
【００２４】
端末装置２００は、印刷要求をプリンタ１０に供給する際に、指定済みの印刷方法に応じた順序に従って、（Ｎ１×Ｍ１）個の画像データをプリンタ１０に供給する。即ち、指定済みの印刷方法がアンコレート印刷である場合には、端末装置２００は、Ｎ１個の画像のＭ１部のアンコレート印刷をプリンタ１０に実行させるための順序に従って、（Ｎ１×Ｍ１）個の画像データをプリンタ１０に供給する。一方、指定済みの印刷方法がコレート印刷である場合には、端末装置２００は、Ｎ１個の画像のＭ１部のコレート印刷をプリンタ１０に実行させるための順序に従って、（Ｎ１×Ｍ１）個の画像データをプリンタ１０に供給する。
【００２５】
ここで、図２を参照して、具体例を説明する。例えば、ユーザが、端末装置２００において、ドキュメントＤＣ１と、２部を示す印刷部数と、印刷方法「コレート印刷」と、を指定する状況を想定する。この場合、端末装置２００は、汎用プリンタドライバを備えているので、２セットの２個の画像データＤ１、Ｄ２（即ち４個の画像データＤ１、Ｄ２、Ｄ１、Ｄ２）を生成し、４個の画像データＤ１、Ｄ２、Ｄ１、Ｄ２と、１部を示す印刷部数情報と、を含む印刷要求Ｒ２を生成する。印刷要求Ｒ２は、「コレート印刷」を示す方法情報を含まない。端末装置２００は、さらに、ユーザによってユーザ情報ボックスに入力されるユーザ名ＵＮ１及びパスワードＰ１を含むユーザ情報を生成する。端末装置２００は、印刷要求Ｒ２及びユーザ情報をプリンタ１０に供給する際に、ドキュメントＤＣ１内の画像ＩＭ１、ＩＭ２の順序と印刷方法「コレート印刷」とに従って、Ｄ１、Ｄ２、Ｄ１、Ｄ２の順序で各画像データをプリンタ１０に順次供給する。仮に、印刷方法として「コレート印刷」に代えて「アンコレート印刷」が指定される場合には、端末装置２００は、ドキュメントＤＣ１内の画像ＩＭ１、ＩＭ２の順序と印刷方法「アンコレート印刷」とに従って、Ｄ１、Ｄ１、Ｄ２、Ｄ２の順序で各画像データをプリンタ１０に順次供給する。
【００２６】
（印刷関係処理；図２）
続いて、図２を参照して、プリンタ１０のＣＰＵ２２がプログラム２６に従って実行する印刷関係処理の内容を説明する。印刷関係処理は、プリンタ１０の電源が投入されることをトリガとして開始される。
【００２７】
Ｓ１０では、ＣＰＵ２２は、ネットワークＩ／Ｆ１６を介して、端末装置（例えば１００）から印刷要求及びユーザ情報を取得することが開始されることを監視する。ＣＰＵ２２は、端末装置（例えば１００）から印刷要求及びユーザ情報を取得することを開始すると、Ｓ１０でＹＥＳと判断して、Ｓ１２に進む。
【００２８】
Ｓ１２では、ＣＰＵ２２は、取得済みの印刷要求内のヘッダ領域に記述されている印刷部数情報が複数部を示すのか否かを判断する。ＣＰＵ２２は、印刷部数情報が１部を示す場合には、Ｓ１２でＮＯと判断して、Ｓ１４において、蓄積処理（図３参照）を実行する。Ｓ１４が終了すると、Ｓ１０に戻る。
【００２９】
一方、ＣＰＵ２２は、印刷部数情報が複数部を示す場合には、Ｓ１２でＹＥＳと判断して、Ｓ１６において、印刷要求内の各情報（即ち、画像データ、複数部を示す印刷部数情報、及び、方法情報）と、ユーザ情報と、を蓄積情報として蓄積領域３２に記憶させる。このように、プリンタ１０は、印刷部数情報が複数部を示す場合には、Ｓ１４の蓄積処理を実行せずに、蓄積情報を記憶する。従って、プリンタ１０の処理負荷を低減させることができる。Ｓ１６が終了すると、Ｓ１０に戻る。
【００３０】
Ｓ２０では、ＣＰＵ２２は、ユーザ情報が入力部１４に入力されることを監視する。ＣＰＵ２２は、ユーザ情報が入力部１４に入力される場合に、Ｓ２０でＹＥＳと判断して、Ｓ２２に進む。
【００３１】
Ｓ２２では、ＣＰＵ２２は、取得済みのユーザ情報を利用して、ユーザの認証を実行する。具体的には、ＣＰＵ２２は、取得済みのユーザ情報がユーザテーブル２８に登録されている場合には、ユーザの認証が成功したと判断して（Ｓ２２でＹＥＳ）、Ｓ２４に進む。一方、ＣＰＵ２２は、取得済みのユーザ情報がユーザテーブル２８に登録されていない場合には、ユーザの認証が失敗したと判断して（Ｓ２２でＮＯ）、Ｓ２４をスキップして、Ｓ１０に戻る。
【００３２】
Ｓ２４では、ＣＰＵ２２は、蓄積領域３２に記憶されている１個以上の蓄積情報の中から、取得済みのユーザ情報を含む蓄積情報（以下では「対象蓄積情報」と呼ぶ）を特定する。次いで、ＣＰＵ２２は、対象蓄積情報に含まれる印刷部数情報を特定する。そして、ＣＰＵ２２は、特定済みの印刷部数情報が「１」を示す場合には、対象蓄積情報に含まれる各画像データによって表される各画像の印刷を印刷実行部１２に実行させる。一方、ＣＰＵ２２は、特定済みの印刷部数情報が複数部を示す場合には、対象蓄積情報に含まれる各画像データによって表される各画像の印刷を、特定済みの印刷部数情報に対応する回数に亘って、印刷実行部１２に繰り返し実行させる。
【００３３】
特に、ＣＰＵ２２は、対象蓄積情報が方法情報を含む場合、即ち、対象蓄積情報が端末装置１００から取得された印刷要求（例えばＲ１）に応じた蓄積情報である場合には、当該方法情報によって示される印刷方法（即ちコレート印刷又はアンコレート印刷）に従って、印刷実行部１２に印刷を実行させる。一方、ＣＰＵ２２は、対象蓄積情報が方法情報を含まない場合、即ち、対象蓄積情報が端末装置２００から取得された印刷要求（例えばＲ２）に応じた蓄積情報である場合には、印刷方法を指定するための画面をプリンタ１０の表示部（不図示）に表示させる。そして、ＣＰＵ２２は、当該画面でユーザによって指定された印刷方法に従って、印刷実行部１２に印刷を実行させる。ＣＰＵ２２は、印刷が完了すると、Ｓ２６において、対象蓄積情報を蓄積領域３２から削除する。Ｓ２６の処理が終了すると、Ｓ１０に戻る。
【００３４】
（蓄積処理；図３）
図３を参照して、蓄積処理の内容を説明する。ＣＰＵ２２は、Ｓ３０において、印刷要求に含まれる１個以上の画像データのうちの１番目の画像データを取得する。具体的には、ＣＰＵ２２は、１個以上の画像データのうち、最初に受信された１番目の画像データをメモリ２４内の一時領域３０に記憶させ、一時領域３０から１番目の画像データを取得する。ＣＰＵ２２は、２回目以降のＳ３０では、２番目、３番目等の画像データを取得する。以下では、Ｓ３０で取得されるｋ番目（ｋは１以上の各整数）の画像データのことを「ｋ番目の画像データ」と呼ぶ。
【００３５】
Ｓ３２では、ＣＰＵ２２は、ｋ番目の画像データのＣＲＣ（Cyclic Redundancy Checkの略）値を算出する。ＣＲＣ値は、２進数によって表される画像データを所定の除数で除算することによって得られる余りである。所定の除数の桁数は、画像データの桁数より極めて小さい値に設定される。ＣＲＣ値の桁数は、所定の除数の桁数と等しい。一般的に言えば、ＣＲＣ値は、画像データを要約化した要約値である。２個の画像データにおいて、一方の画像データのＣＲＣ値と他方の画像データのＣＲＣ値が一致することは、２個の画像データが同じ画像を表わすこと、即ち、２個の画像データが一致することを意味する。一方、一方のＣＲＣ値と他方のＣＲＣ値が一致しないことは、２個の画像データが異なる画像を表わすこと、即ち、２個の画像データが一致しないことを意味する。例えば、ＣＲＣ値を利用せずに、２個の画像データのそれぞれの値を比較して、当該２個の画像データが一致するのか否かを判断する比較例の構成が想定される。比較例の構成では、ＣＲＣ値より極めて大きい桁数を有する２個の画像データを比較する必要があり、プリンタ１０の処理負荷が大きい。これに対して、本実施例では、画像データより極めて小さい桁数を有するＣＲＣ値を利用するので、比較例の構成と比べて、プリンタ１０の処理負荷を低減することができる。なお、変形例では、ＣＰＵ２２は、ＣＲＣ値とは異なる他の要約値を利用して、２個の画像データを比較してもよい。例えば、ＣＰＵ２２は、所定のハッシュ関数を利用して、ｋ番目の画像データのハッシュ値を算出し、ハッシュ値を利用して、２個の画像データを比較してもよい。
【００３６】
Ｓ３４において、ＣＰＵ２２は、ｋ番目の画像データのＣＲＣ値がＣＲＣテーブル（例えば図３のＣＴ１）に含まれるいずれかのＣＲＣ値に一致するのか否かを判断する。ＣＲＣテーブルは、画像データと、当該画像データから算出されるＣＲＣ値と、を関連付けて記憶するためのテーブルである。１番目の画像データに対応するＳ３４が実行される際には、ＣＲＣテーブルは、ＣＲＣ値及び画像データを記憶していない。この場合、ＣＰＵ２２は、Ｓ３４でＮＯと判断して、Ｓ３６に進む。また、２番目以降の画像データに対応するＳ３４が実行される際には、ＣＲＣテーブルは、少なくとも１個のＣＲＣ値及び少なくとも１個の画像データを記憶している。この場合、ＣＰＵ２２は、ｋ番目の画像データのＣＲＣ値がＣＲＣテーブルに含まれるいずれかのＣＲＣ値に一致する場合には、Ｓ３４でＹＥＳと判断して、Ｓ３８に進み、ｋ番目の画像データのＣＲＣ値がＣＲＣテーブルに含まれるいずれのＣＲＣ値にも一致しない場合には、Ｓ３４でＮＯと判断して、Ｓ３６に進む。
【００３７】
Ｓ３６では、ＣＰＵ２２は、ｋ番目の画像データと当該画像データのＣＲＣ値とを関連付けてＣＲＣテーブルに記憶させる。ここで、ＣＰＵ２２は、ｋ番目の画像データ及びＣＲＣ値の組合せをＣＲＣテーブルに記憶させるべき際に、他の画像データ及びＣＲＣ値の組合せがＣＲＣテーブルに存在する場合には、ｋ番目の画像データ及びＣＲＣ値の組合せをＣＲＣテーブル内の最下欄に記憶させる。Ｓ３６が終了すると、Ｓ４２に進む。
【００３８】
一方、ＣＰＵ２２は、Ｓ３４でＹＥＳと判断する場合には、Ｓ３６を実行せずに、Ｓ３８に進む。即ち、ｋ番目の画像データは、ＣＲＣテーブルに記憶されない。この場合、Ｓ３８では、ＣＰＵ２２は、ｋ番目の画像データのＣＲＣ値が１番目の画像データのＣＲＣ値に一致するのか否かを判断する。ＣＰＵ２２は、ｋ番目の画像データのＣＲＣ値が、ＣＲＣテーブル内の最上欄に記述されているＣＲＣ値（即ち１番目の画像データのＣＲＣ値）に一致する場合には、Ｓ３８でＹＥＳと判断して、Ｓ４０に進む。一方、ＣＰＵ２２は、ｋ番目の画像データのＣＲＣ値が、ＣＲＣテーブル内の最上欄に記述されているＣＲＣ値に一致しない場合には、Ｓ３８でＮＯと判断して、Ｓ４０をスキップし、Ｓ４２に進む。
【００３９】
Ｓ４０では、ＣＰＵ２２は、印刷部数を「１」だけインクリメントする。１回目のＳ４０が実行される際には、印刷要求に含まれる印刷部数情報が１部を示すので、ＣＰＵ２２は、印刷部数「１」を「１」だけインクリメントして、印刷部数「２」を決定する。また、２回目以降のＳ４０では、ＣＰＵ２２は、前回のＳ４０で決定された印刷部数（例えば「２」）を「１」だけインクリメントして、新たな印刷部数（例えば「３」）を決定する。Ｓ４０が終了すると、Ｓ４２に進む。
【００４０】
Ｓ４２では、ＣＰＵ２２は、印刷要求に含まれる全ての画像データを取得したのか否かを判断する。ＣＰＵ２２は、印刷要求内のボディ領域の最後を示す最後情報を取得する場合に、全ての画像データを取得したと判断し（Ｓ４２でＹＥＳ）、Ｓ４０で決定された印刷部数から蓄積領域に記憶されるべき印刷部数情報を生成して、Ｓ４６に進む。一方、ＣＰＵ２２は、最後情報を取得しない場合に、全ての画像データを取得していないと判断し（Ｓ４２でＮＯ）、Ｓ３０に進む。これにより、Ｓ３０〜Ｓ４０の処理が繰り返される。
【００４１】
Ｓ４６では、ＣＰＵ２２は、ＣＲＣテーブルに含まれる１個以上の画像データと、生成済みの印刷部数情報と、ユーザ情報と、を蓄積情報として蓄積領域３２に記憶させる。ここで、ＣＰＵ２２は、ＣＲＣテーブルが２個以上の画像データを含む場合には、ＣＲＣテーブル内の最上欄に存在する画像データの順位を「１」に設定し、最上欄から下方に向かうにつれて昇順で画像データの順位を設定する。Ｓ４６の処理が終了すると、蓄積処理を終了する。なお、ＣＲＣテーブル内の情報は、蓄積処理が終了すると削除される。
【００４２】
（アンコレート印刷が指定されるケースＡ１；図４）
図４を参照して、図２、図３の処理によって実現される具体的なケースを説明する。ケースＡ１では、汎用プリンタドライバを備える端末装置２００において、２個の画像ＩＭ１、ＩＭ２を表わすドキュメントＤＣ１と、２部を示す印刷部数と、印刷方法「アンコレート印刷」と、がユーザによって指定される。また、端末装置２００において、ユーザ名ＵＮ１及びパスワードＰ１を含むユーザ情報がユーザによって指定される。
【００４３】
端末装置２００は、汎用プリンタドライバに従って、２セットの２個の画像データＤ１、Ｄ２（即ち４個の画像データ）と、１部を示す印刷部数情報と、を含む印刷要求Ｒ３を生成する。そして、端末装置２００は、印刷要求Ｒ３及びユーザ情報をプリンタ１０に供給する。ここで、端末装置２００は、２個の画像データＤ１、Ｄ２の２部のアンコレート印刷に対応する順序（即ち、Ｄ１、Ｄ１、Ｄ２、Ｄ２の順序）に従って、４個の画像データをプリンタ１０に順次供給する。
【００４４】
プリンタ１０のＣＰＵ２２は、端末装置２００から印刷要求Ｒ３及びユーザ情報を取得することを開始する（図２のＳ１０でＹＥＳ）と、印刷要求Ｒ３内の印刷部数情報が１部を示すので（Ｓ１２でＮＯ）、蓄積処理を実行する（Ｓ１４）。ＣＰＵ２２は、Ｄ１、Ｄ１、Ｄ２、Ｄ２の順序で４個の画像データを順次取得する（図３のＳ３０）。
【００４５】
ＣＰＵ２２は、まず、１番目の画像データＤ１とそのＣＲＣ値ＣＶ１とを関連付けてＣＲＣテーブルＣＴ１に記憶させる（Ｓ３４でＮＯ、Ｓ３６）。ＣＰＵ２２は、２番目の画像データＤ１のＣＲＣ値ＣＶ１がＣＲＣテーブルＣＴ１に含まれるＣＲＣ値ＣＶ１に一致すると判断し（Ｓ３４でＹＥＳ）、２番目の画像データＤ１をＣＲＣテーブルＣＴ１に記憶させない。ＣＰＵ２２は、さらに、２番目の画像データＤ１のＣＲＣ値ＣＶ１が１番目の画像データＤ１のＣＲＣ値ＣＶ１と一致するので（Ｓ３８でＹＥＳ）、印刷要求Ｒ３に含まれる印刷部数情報によって示される１部を「１」だけインクリメントして、印刷部数「２」を決定する（Ｓ４０）。
【００４６】
ＣＰＵ２２は、３番目の画像データＤ２のＣＲＣ値ＣＶ２がＣＲＣテーブルＣＴ１に含まれるいずれのＣＲＣ値にも一致しないと判断し（Ｓ３４でＮＯ）、３番目の画像データＤ２とそのＣＲＣ値ＣＶ２とを関連付けてＣＲＣテーブルＣＴ１に記憶させる（Ｓ３６）。ＣＰＵ２２は、４番目の画像データＤ２のＣＲＣ値ＣＶ２がＣＲＣテーブルＣＴ１に含まれるＣＲＣ値ＣＶ２に一致すると判断し（Ｓ３４でＹＥＳ）、４番目の画像データＤ２をＣＲＣテーブルＣＴ１に記憶させない。即ち、ＣＰＵ２２は、２個の画像データＤ１、Ｄ２をＣＲＣテーブルＣＴ１に記憶させることによって、２セットの２個の画像データＤ１、Ｄ２（即ち４個の画像データ）の中から２個の画像データＤ１、Ｄ２を特定する。ＣＰＵ２２は、さらに、４番目の画像データＤ２のＣＲＣ値ＣＶ２が１番目の画像データのＣＲＣ値ＣＶ１と一致しないので（Ｓ３８でＮＯ）、印刷部数「２」をインクリメントしない。
【００４７】
ＣＰＵ２２は、ＣＲＣテーブルＣＴ１に含まれる２個の画像データＤ１、Ｄ２と、印刷部数「２」を示す印刷部数情報と、ユーザ情報と、を蓄積情報ＳＩ２として蓄積領域３２に記憶させる（Ｓ４６）。蓄積情報ＳＩ２は、方法情報を含まない。
【００４８】
その後、ユーザ名ＵＮ１及びパスワードＰ１を含むユーザ情報が入力部１４に入力される（図２のＳ２０でＹＥＳ）。この場合、ＣＰＵ２２は、当該ユーザ情報の認証が成功したと判断し（Ｓ２２でＹＥＳ）、蓄積領域３２から蓄積情報ＳＩ２を特定し、蓄積情報ＳＩ２に含まれる印刷部数情報から印刷部数「２」を特定する（Ｓ２４）。ＣＰＵ２２は、２個の画像データＤ１、Ｄ２によって表される２個の画像ＩＭ１、ＩＭ２の印刷を、特定済みの印刷部数「２」に対応する回数（即ち２回）に亘って、印刷実行部１２に繰り返し実行させる。特に、ＣＰＵ２２は、蓄積情報ＳＩ２が方法情報を含まないので、印刷方法を指定するための画面をプリンタ１０の表示部に表示させる。当該画面においてユーザによってアンコレート印刷が指定される場合には、ＣＰＵ２２は、ＩＭ１、ＩＭ１、ＩＭ２、ＩＭ２の順序に従って、４個の画像の印刷を印刷実行部１２に順次実行させる。
【００４９】
（コレート印刷が指定されるケースＡ２）
ケースＡ２は、ユーザが印刷方法「コレート印刷」を指定することに起因して、端末装置２００において印刷要求Ｒ２が生成される点を除いて、ケースＡ１と同様である。ＣＰＵ２２は、Ｄ１、Ｄ２、Ｄ１、Ｄ２の順序で４個の画像データを順次取得する（Ｓ３０）。
【００５０】
ＣＰＵ２２は、まず、１番目の画像データＤ１とそのＣＲＣ値ＣＶ１とを関連付けてＣＲＣテーブルＣＴ１に記憶させる（Ｓ３４でＮＯ、Ｓ３６）。ＣＰＵ２２は、２番目の画像データＤ２のＣＲＣ値ＣＶ２がＣＲＣテーブルＣＴ１に含まれるいずれのＣＲＣ値にも一致しないと判断し（Ｓ３４でＮＯ）、２番目の画像データＤ２とそのＣＲＣ値ＣＶ２とを関連付けてＣＲＣテーブルＣＴ１に記憶させる（Ｓ３６）。
【００５１】
ＣＰＵ２２は、３番目の画像データＤ１のＣＲＣ値ＣＶ１がＣＲＣテーブルＣＴ１に含まれるＣＲＣ値ＣＶ１に一致すると判断し（Ｓ３４でＹＥＳ）、３番目の画像データＤ１をＣＲＣテーブルＣＴ１に記憶させない。ＣＰＵ２２は、さらに、３番目の画像データＤ１のＣＲＣ値ＣＶ１が１番目の画像データＤ１のＣＲＣ値ＣＶ１と一致するので（Ｓ３８でＹＥＳ）、印刷要求Ｒ２に含まれる印刷部数情報によって示される１部を「１」だけインクリメントして、印刷部数「２」を決定する（Ｓ４０）。ＣＰＵ２２は、４番目の画像データＤ２のＣＲＣ値ＣＶ２がＣＲＣテーブルＣＴ１に含まれるＣＲＣ値ＣＶ２に一致すると判断し（Ｓ３４でＹＥＳ）、４番目の画像データＤ２をＣＲＣテーブルＣＴ１に記憶させない。ＣＰＵ２２は、さらに、４番目の画像データＤ２のＣＲＣ値ＣＶ２が１番目の画像データのＣＲＣ値ＣＶ１と一致しないので（Ｓ３８でＮＯ）、印刷部数「２」をインクリメントしない。
【００５２】
ＣＰＵ２２は、ＣＲＣテーブルＣＴ１に含まれる２個の画像データＤ１、Ｄ２と、印刷部数「２」を示す印刷部数情報と、ユーザ情報と、を蓄積情報ＳＩ２として蓄積領域３２に記憶させる（Ｓ４６）。蓄積情報ＳＩ２は、方法情報を含まない。ケースＡ２の蓄積情報ＳＩ２は、ケースＡ１の蓄積情報ＳＩ２と同じになる。
【００５３】
その後、ユーザ名ＵＮ１及びパスワードＰ１を含むユーザ情報が入力部１４に入力される場合（図２のＳ２０でＹＥＳ）に、ＣＰＵ２２は、２個の画像データＤ１、Ｄ２によって表される２個の画像ＩＭ１、ＩＭ２の印刷を、特定済みの印刷部数「２」に対応する回数（即ち２回）に亘って、印刷実行部１２に繰り返し実行させる。特に、ＣＰＵ２２は、印刷方法を指定するための画面においてユーザによってコレート印刷が指定されると、ＩＭ１、ＩＭ２、ＩＭ１、ＩＭ２の順序に従って、４個の画像の印刷を印刷実行部１２に順次実行させる。
【００５４】
（本実施例の効果）
上記のケースＡ１及びケースＡ２に示されるように、プリンタ１０は、端末装置２００から取得される２セットの２個の画像データＤ１、Ｄ２（即ち４個の画像データ）の中から２個の画像データＤ１、Ｄ２を特定して、２個の画像データＤ１、Ｄ２をＣＲＣテーブルＣＴ１に記憶させる。そして、プリンタ１０は、ＣＲＣテーブルＣＴ１に含まれる２個の画像データＤ１、Ｄ２を蓄積領域３２に記憶する。即ち、１セットの２個の画像データＤ１、Ｄ２が蓄積領域３２に記憶され、残りの１セットの２個の画像データＤ１、Ｄ２が蓄積領域３２に記憶されない。従って、メモリ２４内の蓄積領域３２に記憶されるべきデータ量が多くなるのを抑制することができる。
【００５５】
また、プリンタ１０は、印刷要求Ｒ２（又はＲ３）がユーザによって指定された印刷部数である２部を示す印刷部数情報を含まない場合でも、印刷部数「２」を示す印刷部数情報を含む蓄積情報ＳＩ２を記憶することができる。例えば、印刷要求Ｒ２（又はＲ３）がプリンタ１０に供給された後に、ユーザが印刷部数の変更を望む状況が想定される。この場合、ユーザは、蓄積情報ＳＩ２内の印刷部数情報を変更すれば、所望の印刷部数に従った印刷をプリンタ１０に実行させることができる。このために、ユーザの利便性が向上する。
【００５６】
（対応関係）
制御部２０が、「制御装置」の一例である。図３のＳ３４の処理が、「第１の一致判断処理」の一例である。図３のＳ４０で算出される印刷部数を示す印刷部数情報が、「部数関係情報」の一例である。蓄積領域３２が、「所定領域」の一例である。ＣＲＣ値が、「要約値」の一例である。印刷要求Ｒ２（又はＲ３）に含まれる印刷部数情報が、「特定情報」の一例である。ユーザ情報が、「認証情報」の一例である。図４のケースＡ１（又はケースＡ２）において、図４の印刷要求Ｒ２（又はＲ３）が、「第１の印刷要求」の一例である。ドキュメントＤＣ１を表わす２個の画像ＩＭ１、ＩＭ２、２個の画像データＤ１、Ｄ２が、それぞれ、「Ｎ１個の画像」、「Ｎ１個の画像データ」の一例である。ユーザによって指定される２部を示す印刷部数が、「Ｍ１部」の一例である。
【００５７】
（第２実施例）
（蓄積処理；図５）
本実施例では、プリンタ１０のＣＰＵ２２は、図２のＳ１４において、図３の処理に代えて、図５の処理を実行する。Ｓ５０〜Ｓ５６は、図３のＳ３０〜３６と同様である。Ｓ５４でＹＥＳの場合、又は、Ｓ５６が実行される場合、ＣＰＵ２２は、Ｓ６０に進む。
【００５８】
Ｓ６０では、ＣＰＵ２２は、ｋ番目の画像データが取得された順位（即ちｋ）と、ｋ番目の画像データのＣＲＣ値と、を関連づけて順序テーブルに記憶させる。例えば、図５の順序テーブルＯＴ１は、ドキュメントＤＣ１と２部を示す印刷部数と印刷方法「コレート印刷」とがユーザによって指定される場合の順序テーブルの一例である。
【００５９】
Ｓ６２は、図３のＳ４２と同様である。ＣＰＵ２２は、Ｓ５０〜Ｓ６０の処理を繰り返し実行し、Ｓ６２でＹＥＳと判断する場合に、Ｓ７０に進む。Ｓ７０では、ＣＰＵ２２は、順序テーブルを利用して、印刷部数と印刷方法を決定するための決定処理（図７参照）を実行する。Ｓ７２は、決定処理で決定された印刷部数を示す印刷部数情報と、決定処理で決定された印刷方法を示す方法情報と、を含む蓄積情報が記憶される点を除いて、図３のＳ４６と同様である。
【００６０】
（アンコレート印刷が指定されるケースＢ１；図６）
本実施例の理解の容易化のために、Ｓ７０の決定処理の内容を説明する前に、図６を参照して、図２、図５の処理によって実現される具体的なケースを説明する。ケースＢ１では、ユーザは、端末装置２００において、２個の同じ画像ＩＭ１を含む３個の画像ＩＭ１、ＩＭ１、ＩＭ２を表わすドキュメントＤＣ２と、２部を示す印刷部数と、印刷方法「アンコレート印刷」と、を指定する。この場合、端末装置２００は、汎用プリンタドライバに従って、２セットの３個の画像データＤ１、Ｄ１、Ｄ２（即ち６個の画像データ）と、１部を示す印刷部数情報（図示省略）と、を含む印刷要求Ｒ４を生成する。端末装置２００は、３個の画像データＤ１、Ｄ１、Ｄ２の２部のアンコレート印刷をプリンタ１０に実行させるための順序（即ち、Ｄ１、Ｄ１、Ｄ１、Ｄ１、Ｄ２、Ｄ２の順序）に従って、６個の画像データをプリンタ１０に順次供給する。
【００６１】
プリンタ１０のＣＰＵ２２は、端末装置２００から、Ｄ１、Ｄ１、Ｄ１、Ｄ１、Ｄ２、Ｄ２の順序で６個の画像データを順次取得する（図５のＳ５０）。この場合、ＣＰＵ２２は、ＣＲＣテーブルＣＴ１を生成する（Ｓ５６）。即ち、ＣＰＵ２２は、２個の画像データＤ１、Ｄ２をＣＲＣテーブルＣＴ１に記憶させることによって、６個の画像データの中から２個の画像データＤ１、Ｄ２を特定する。また、ＣＰＵ２２は、順序テーブルＯＴ２を生成する。順序テーブルＯＴ２では、６個の画像データＤ１、Ｄ１、Ｄ１、Ｄ１、Ｄ２、Ｄ２に対応する６個のＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２が、当該６個の画像データのそれぞれの取得順位に関連付けられている。そして、ＣＰＵ２２は、Ｓ７０の決定処理において、順序テーブルＯＴ２を利用して、ユーザによって指定された印刷部数「２」と、ユーザによって指定された印刷方法「アンコレート印刷」と、を決定する。
【００６２】
次いで、ＣＰＵ２２は、ＣＲＣテーブルＣＴ１と順序テーブルＯＴ２と印刷部数「２」と印刷方法「アンコレート印刷」とを利用して、ドキュメントＤＣ２に含まれる３個の画像ＩＭ１、ＩＭ１、ＩＭ２を表わす３個の画像データＤ１、Ｄ１、Ｄ２を記憶対象として決定する（Ｓ７２）。具体的には、ＣＰＵ２２は、まず、順序テーブルＯＴ２の中から、１番目、（１＋ｍ）番目、（１＋２×ｍ）番目、（１＋３×ｍ）番目・・・（ｍは印刷部数（本ケースでは「２」）を示す整数）に関連付けられている複数個のＣＲＣ値を特定する。本ケースでは、ＣＰＵ２２は、１番目のＣＲＣ値ＣＶ１、３番目のＣＲＣ値ＣＶ１、及び、５番目のＣＲＣ値ＣＶ２を特定する。そして、ＣＰＵ２２は、ＣＲＣテーブルＣＴ１を利用して、特定済みの複数個のＣＲＣ値に対応する複数個の画像データを記憶対象として決定する。本ケースでは、ＣＰＵ２２は、３個のＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ２に対応する３個の画像データＤ１、Ｄ１、Ｄ２を記憶対象として決定する。次いで、ＣＰＵ２２は、３個の画像データＤ１、Ｄ１、Ｄ２と、印刷部数「２」を示す印刷部数情報と、印刷方法「アンコレート印刷」を示す方法情報と、ユーザ情報（ユーザ名ＵＮ１とパスワードＰ１）と、を含む蓄積情報ＳＩ３を蓄積領域３２に記憶させる（Ｓ７２）。
【００６３】
ＣＰＵ２２は、ユーザ情報が入力される場合（図２のＳ２０でＹＥＳ）に、蓄積情報ＳＩ３内の３個の画像ＩＭ１、ＩＭ１、ＩＭ２の印刷を、蓄積情報ＳＩ３内の印刷部数情報によって示される印刷部数「２」に対応する回数（即ち２回）に亘って、印刷実行部１２に繰り返し実行させる。この際に、ＣＰＵ２２は、蓄積情報ＳＩ３内の方法情報「アンコレート印刷」に応じて、ＩＭ１、ＩＭ１、ＩＭ１、ＩＭ１、ＩＭ２、ＩＭ２の順序に従って、６個の画像の印刷を印刷実行部１２に順次実行させる。
【００６４】
（コレート印刷が指定されるケースＢ２）
ケースＢ２は、ユーザが印刷方法「コレート印刷」を指定することに起因して、端末装置２００において印刷要求Ｒ５が生成される点を除いて、ケースＢ１と同様である。端末装置２００は、３個の画像データＤ１、Ｄ１、Ｄ２の２部のコレート印刷をプリンタ１０に実行させるための順序（即ち、Ｄ１、Ｄ１、Ｄ２、Ｄ１、Ｄ１、Ｄ２の順序）に従って、６個の画像データをプリンタ１０に順次供給する。
【００６５】
ＣＰＵ２２は、Ｄ１、Ｄ１、Ｄ２、Ｄ１、Ｄ１、Ｄ２の順序で６個の画像データを順次取得する（Ｓ５０）。この場合、ＣＰＵ２２は、ＣＲＣテーブルＣＴ１を生成する（Ｓ５６）。即ち、ケースＢ２のＣＲＣテーブルＣＴ１は、ケースＢ１のＣＲＣテーブルＣＴ１と同じである。また、ＣＰＵ２２は、順序テーブルＯＴ３を生成する。順序テーブルＯＴ３では、６個の画像データＤ１、Ｄ１、Ｄ２、Ｄ１、Ｄ１、Ｄ２に対応する６個のＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ１、ＣＶ１、ＣＶ２が、当該６個の画像データのそれぞれの取得順位に関連付けられている。そして、ＣＰＵ２２は、Ｓ７０の決定処理において、順序テーブルＯＴ３を利用して、ユーザによって指定された印刷部数「２」と、ユーザによって指定された印刷方法「コレート印刷」と、を決定する。
【００６６】
次いで、ＣＰＵ２２は、ＣＲＣテーブルＣＴ１と順序テーブルＯＴ３と印刷部数「２」と印刷方法「コレート印刷」とを利用して、ドキュメントＤＣ２に含まれる３個の画像ＩＭ１、ＩＭ１、ＩＭ２を表わす３個の画像データＤ１、Ｄ１、Ｄ２を記憶対象として決定する（Ｓ７２）。具体的には、ＣＰＵ２２は、まず、順序テーブルＯＴ３の最下位の順位（本ケースでは「６」）を印刷部数（本ケースでは「２」）で除算して除算値（本ケースでは「３」）を算出し、順序テーブルＯＴ３から、１番目から除算値の順位（本ケースでは「３番目」）までの各順位に関連付けられている複数個のＣＲＣ値を特定する。本ケースでは、ＣＰＵ２２は、１番目のＣＲＣ値ＣＶ１、２番目のＣＲＣ値ＣＶ１、及び、３番目のＣＲＣ値ＣＶ２を特定する。そして、ＣＰＵ２２は、ＣＲＣテーブルＣＴ１を利用して、特定済みの複数個のＣＲＣ値に対応する複数個の画像データを記憶対象として決定する。本ケースでは、ＣＰＵ２２は、３個のＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ２に対応する３個の画像データＤ１、Ｄ１、Ｄ２を記憶対象として決定する。次いで、ＣＰＵ２２は、３個の画像データＤ１、Ｄ１、Ｄ２と、印刷部数「２」を示す印刷部数情報と、印刷方法「コレート印刷」を示す方法情報と、ユーザ情報（ユーザ名ＵＮ１とパスワードＰ１）と、を含む蓄積情報ＳＩ４を蓄積領域３２に記憶させる（Ｓ７２）。
【００６７】
ＣＰＵ２２は、ユーザ情報が入力される場合（図２のＳ２０でＹＥＳ）に、蓄積情報ＳＩ４内の３個の画像ＩＭ１、ＩＭ１、ＩＭ２の印刷を、蓄積情報ＳＩ４内の印刷部数情報によって示される印刷部数「２」に対応する回数（即ち２回）に亘って、印刷実行部１２に繰り返し実行させる。この際に、ＣＰＵ２２は、蓄積情報ＳＩ４内の方法情報「コレート印刷」に応じて、ＩＭ１、ＩＭ１、ＩＭ２、ＩＭ１、ＩＭ１、ＩＭ２の順序に従って、６個の画像の印刷を印刷実行部１２に順次実行させる。
【００６８】
（決定処理；図７）
続いて、図７を参照して、図５のＳ７０の決定処理の内容を説明する。ＣＰＵ２２は、Ｓ１００において、アンコレート印刷を実行するための印刷部数（以下では「アンコレート部数」と呼ぶ）を算出するアンコレート部数処理（図８参照）を実行し、Ｓ１５０において、コレート印刷を実行するための印刷部数（以下では「コレート部数」と呼ぶ）を算出するコレート部数処理（図９参照）を実行する。なお、変形例では、Ｓ１００、Ｓ１５０は、逆の順序で実行されてもよい。
【００６９】
Ｓ２００では、ＣＰＵ２２は、算出済みのアンコレート部数が複数部を示すのか否かを判断する。ＣＰＵ２２は、アンコレート部数が複数部を示す場合（Ｓ２００でＹＥＳ）に、Ｓ２０２において、算出済みのコレート部数が複数部を示すのか否かを判断する。ＣＰＵ２２は、コレート部数が１部を示す場合（Ｓ２０２でＮＯ）に、Ｓ２０６において、印刷方法として「アンコレート印刷」を決定し、印刷部数として算出済みのアンコレート部数を決定する。Ｓ２０６が終了すると、決定処理が終了する。
【００７０】
一方、ＣＰＵ２２は、コレート部数が複数部を示す場合（Ｓ２０２でＹＥＳ）に、Ｓ２０４において、印刷方法として「コレート印刷」を決定し、印刷部数として算出済みのコレート部数を決定する。Ｓ２０４が終了すると、決定処理が終了する。
【００７１】
また、ＣＰＵ２２は、アンコレート部数が１部を示す場合（Ｓ２００でＮＯ）に、Ｓ２０８において、コレート部数が複数部を示すのか否かを判断する。ＣＰＵ２２は、コレート部数が複数部を示す場合（Ｓ２０８でＹＥＳ）に、Ｓ２１０において、印刷方法として「コレート印刷」を決定し、印刷部数として算出済みのコレート部数を決定する。
【００７２】
一方、ＣＰＵ２２は、コレート部数が１部を示す場合（Ｓ２０８でＮＯ）に、Ｓ２１２において、印刷方法として「コレート印刷」を決定し、印刷部数として「１」を決定する。Ｓ２１０又はＳ２１２が終了すると、決定処理が終了する。
【００７３】
（アンコレート部数処理；図８）
図８を参照して、図７のＳ１００のアンコレート部数処理の内容を説明する。Ｓ１０２では、ＣＰＵ２２は、順序テーブル（例えば図６のＯＴ２）において、１番目のＣＲＣ値と２番目のＣＲＣ値とが同じであるのか否かを判断する。ＣＰＵ２２は、１番目のＣＲＣ値と２番目のＣＲＣ値とが同じであると判断する場合（Ｓ１０２でＹＥＳ）に、Ｓ１０４において、終端順位ｈ（ｈは２以上の整数）を決定する。具体的には、ＣＰＵ２２は、順序テーブルにおいて、１番目から昇順に各ＣＲＣ値をチェックして、１番目のＣＲＣ値とは異なるＣＲＣ値が関連付けられている順位が初めて登場する際に、当該順位の直前の順位を終端順位ｈとして決定する。例えば、ＣＰＵ２２は、順序テーブルＯＴ２において、１番目のＣＲＣ値ＣＶ１とは異なるＣＲＣ値ＣＶ２が関連付けられている順位「５」が初めて登場する際に、当該順位「５」の直前の順位「４」を終端順位ｈとして決定する。
【００７４】
Ｓ１０６では、ＣＰＵ２２は、ｈ＋１番目以降の各ＣＲＣ値が、連続するｈ個の同じＣＲＣ値のセットによって構成されているというアンコレート条件が成立するのか否かを判断する。ＣＰＵ２２は、アンコレート条件が成立しないと判断する場合（Ｓ１０６でＮＯ）に、Ｓ１０８に進む。
【００７５】
Ｓ１０８では、ＣＰＵ２２は、終端順位ｈを「１」だけデクリメントする。そして、ＣＰＵ２２は、終端順位ｈが「１」より大きければ（Ｓ１１０でＮＯ）、Ｓ１０６に戻る。ＣＰＵ２２は、終端順位ｈが「１」に等しくなるまで、アンコレート条件が成立するのか否かの判断を繰り返す。ＣＰＵ２２は、アンコレート条件が成立する場合（Ｓ１０６でＹＥＳ）に、Ｓ１２０において、アンコレート部数として終端順位ｈを決定する。Ｓ１２０が終了すると、図８の処理が終了する。
【００７６】
ここで、アンコレート条件について詳しく説明する。例えば、順序テーブルＯＴ２において、順位「４」が終端順位ｈとして決定される場合には、アンコレート条件は、５番目（即ち（ｈ＋１）番目）以降の各ＣＲＣ値が、連続する４個（即ちｈ個）の同じＣＲＣ値のセットによって構成されていることである。本ケースでは、５番目以降の各ＣＲＣ値
ＣＶ２、ＣＶ２は、連続する４個の同じＣＲＣ値のセットによって構成されていない。従って、ＣＰＵ２２は、アンコレート条件が成立しないと判断して（Ｓ１０６でＮＯ）、終端順位ｈを「４」から「３」にデクリメントする（Ｓ１０８）。この場合、アンコレート条件は、４番目（即ち（ｈ＋１）番目）以降の各ＣＲＣ値が、連続する３個（即ちｈ個）の同じＣＲＣ値のセットによって構成されていることである。本ケースでは、４番目以降の各ＣＲＣ値ＣＶ１、ＣＶ２、ＣＶ２は、連続する３個の同じＣＲＣ値のセットによって構成されていない。従って、ＣＰＵ２２は、アンコレート条件が成立しないと判断して（Ｓ１０６でＮＯ）、終端順位ｈを「３」から「２」にデクリメントする（Ｓ１０８）。この場合、アンコレート条件は、３番目（即ち（ｈ＋１）番目）以降の各ＣＲＣ値が、連続する２個（即ちｈ個）の同じＣＲＣ値のセットによって構成されていることである。本ケースでは、３番目以降の各ＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２は、連続する２個の同じＣＲＣ値ＣＶ１、ＣＶ１のセットと、連続する２個の同じＣＲＣ値ＣＶ２、ＣＶ２のセットと、によって構成されている。従って、ＣＰＵ２２は、アンコレート条件が成立すると判断し（Ｓ１０６でＹＥＳ）、アンコレート部数として「２（即ち終端順位ｈ）」を算出する（Ｓ１２０）。
【００７７】
また、ＣＰＵ２２は、１番目のＣＲＣ値と２番目のＣＲＣ値とが異なると判断する場合（Ｓ１０２でＮＯ）、又は、終端順位ｈが「１」に等しい場合（Ｓ１１０でＹＥＳ）に、Ｓ１２２において、アンコレート部数として「１」を算出する。Ｓ１２２が終了すると、図８の処理が終了する。
【００７８】
（コレート部数処理；図９）
図９を参照して、図７のＳ１５０のコレート部数処理の内容を説明する。Ｓ１５２では、ＣＰＵ２２は、順序テーブル（例えば図６のＯＴ３）が１番目のＣＲＣ値と同じＣＲＣ値を含むのか否かを判断する。ＣＰＵ２２は、順序テーブルが１番目のＣＲＣ値と同じＣＲＣ値を含むと判断する場合（Ｓ１５２でＹＥＳ）に、Ｓ１５４において、当該ＣＲＣ値に関連付けられている１個以上の順位の中から最上位の順位を選択する。例えば、ＣＰＵ２２は、順序テーブルＯＴ３から、１番目のＣＲＣ値ＣＶ１と同じＣＲＣ値ＣＶ１に関連付けられている３個の順位（即ち、２番目、４番目、５番目）を特定し、当該３個の順位の中から最上位の順位「２」を選択する。
【００７９】
Ｓ１５６では、ＣＰＵ２２は、Ｓ１５４で選択された選択済みの順位以降の各ＣＲＣ値が、当該選択済みの順位より前の各ＣＲＣ値のセットの繰り返しであるというコレート条件が成立するのか否かを判断する。ＣＰＵ２２は、コレート条件が成立しないと判断する場合（Ｓ１５６でＮＯ）に、Ｓ１５８において、１番目のＣＲＣ値と同じＣＲＣ値に関連付けられている１個以上の順位の中に、Ｓ１５４で未だに選択されていない順位が存在するのか否かを判断する。ＣＰＵ２２は、未選択の順位が存在する場合（Ｓ１５８でＹＥＳ）に、Ｓ１５４に戻り、未選択の順位の中から最上位の順位を新たに選択し、Ｓ１５６の処理を再び実行する。ＣＰＵ２２は、未選択の順位が存在しなくなるまで、Ｓ１５４及びＳ１５６の処理を繰り返す。ＣＰＵ２２は、その繰り返しの過程において、コレート条件が成立する場合（Ｓ１５６でＹＥＳ）に、Ｓ１６０に進む。
【００８０】
ここで、コレート条件について詳しく説明する。例えば、順序テーブルＯＴ３において、最上位の順位として「２」が選択される場合には、コレート条件は、２番目以降の各ＣＲＣ値が、２番目より前の各ＣＲＣ値のセットの繰り返しであることである。本ケースでは、２番目以降の各ＣＲＣ値ＣＶ１、ＣＶ２、ＣＶ１、ＣＶ１、ＣＶ２は、２番目より前の各ＣＲＣ値のセット（即ちＣＶ１）の繰り返しではない。従って、ＣＰＵ２２は、コレート条件が成立しないと判断し（Ｓ１５６でＮＯ）、未選択の順位の中から最上位の順位として「４」を新たに選択する（Ｓ１５４）。この場合、コレート条件は、４番目以降の各ＣＲＣ値が、４番目より前の各ＣＲＣ値のセットの繰り返しであることである。本ケースでは、４番目以降の各ＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ２は、４番目より前の各ＣＲＣ値のセット（即ちＣＶ１、ＣＶ１、ＣＶ２）の繰り返しである。ＣＰＵ２２は、コレート条件が成立すると判断し（Ｓ１５６でＹＥＳ）、Ｓ１６０に進む。
【００８１】
Ｓ１６０では、ＣＰＵ２２は、まず、最後のＳ１５４で選択された順位から「１」を減算して中間値を算出する。そして、ＣＰＵ２２は、順序テーブルの最下位の順位（即ち印刷要求に含まれる画像データの総数）を中間値で除算することによって、コレート部数を算出する。例えば、順序テーブルＯＴ３において、最後のＳ１５４で順位「４」が選択される場合には、ＣＰＵ２２は、「４」から「１」を減算して中間値「３」を算出する。そして、ＣＰＵ２２は、順序テーブルＯＴ３の最下位の順位「６」を中間値「３」で除算することによって、コレート部数として「２」を算出する（Ｓ１６０）。Ｓ１６０が終了すると、図９の処理が終了する。
【００８２】
また、ＣＰＵ２２は、順序テーブルが１番目のＣＲＣ値と同じＣＲＣ値を含まないと判断する場合（Ｓ１５２でＮＯ）、又は、未選択の順位が存在しない場合（Ｓ１５８でＮＯ）に、Ｓ１６２において、コレート部数として「１」を算出する。Ｓ１６２が終了すると、図９の処理が終了する。
【００８３】
（本実施例の効果）
本実施例では、図６のケースＢ１及びケースＢ２に示されるように、プリンタ１０は、端末装置２００から取得される２セットの３個の画像データＤ１、Ｄ１、Ｄ２（即ち６個の画像データ）の中から３個の画像データＤ１、Ｄ１、Ｄ２を特定して、３個の画像データＤ１、Ｄ１、Ｄ２を蓄積領域３２に記憶する。即ち、１セットの３個の画像データＤ１、Ｄ１、Ｄ２が蓄積領域３２に記憶され、残りの１セットの３個の画像データＤ１、Ｄ１、Ｄ２が蓄積領域３２に記憶されない。従って、メモリ２４内の蓄積領域３２に記憶されるべきデータ量が多くなるのを抑制することができる。
【００８４】
また、第１実施例において、例えば、プリンタ１０が、端末装置２００から、ケースＢ１の２セットの３個の画像データＤ１、Ｄ１、Ｄ２を含む印刷要求Ｒ５を取得する状況が想定される。この場合、プリンタ１０は、図３のＳ４０において、３回に亘って印刷部数をインクリメントするので、ユーザによって指定された印刷部数「２」とは異なる印刷部数「４」を決定する。これに対し、本実施例では、プリンタ１０は、図８のアンコレート部数処理において、ユーザによって指定された印刷部数「２」と同じ印刷部数「２」を適切に決定することができる。また、第１実施例において、例えば、プリンタ１０が、端末装置２００から、ケースＢ２の印刷要求Ｒ６を取得する状況も想定される。この場合も、プリンタ１０は、ユーザによって指定された印刷部数「２」とは異なる印刷部数「４」を決定する（図３のＳ４０）。これに対し、本実施例では、プリンタ１０は、図９のコレート部数処理において、ユーザによって指定された印刷部数「２」と同じ印刷部数「２」を適切に決定することができる。即ち、本実施例によると、印刷対象のドキュメントが３個以上の画像を表わし、かつ、当該３個以上の画像が２個以上の同じ画像を含み、かつ、複数部を示す印刷部数が指定される場合でも、指定済みの印刷部数と同じ印刷部数を適切に決定することができる。
【００８５】
また、第１実施例では、プリンタ１０は、汎用プリンタドライバを備える端末装置２００から印刷要求を取得する場合に、プリンタ１０に表示される画面においてユーザによって印刷方法が指定されない限り、印刷方法を決定することができない。これに対し、本実施例では、プリンタ１０は、端末装置２００においてユーザによって複数部が指定される場合に、端末装置２００においてユーザによって指定された印刷方法と同じ印刷方法を適切に決定することができる（図７のＳ２０４、Ｓ２０６、Ｓ２１０）。そして、プリンタ１０は、決定済みの印刷方法を示す方法情報を含む蓄積情報を記憶し（図５のＳ７２）、当該方法情報に従った印刷を実行することができる（図２のＳ２４）。ユーザは、プリンタ１０において印刷方法を指定せずに済み、この結果、ユーザの利便性が向上する。
【００８６】
また、本実施例でも、プリンタ１０は、図４のケースＡ１及びＡ２のように、端末装置２００から、２セットの２個の画像データＤ１、Ｄ２（即ち、４個の画像データ）を含む印刷要求を取得し得る。このような場合でも、プリンタ１０は、図５及び図７〜図９の処理を実行することによって、４個の画像データの中から２個の画像データＤ１、Ｄ２を特定し、特定済みの２個の画像データＤ１、Ｄ２を蓄積領域３２に適切に記憶することができる。
【００８７】
（特殊なケース；図１０）
図１０を参照して、本実施例の特殊なケースを説明する。本ケースでは、ユーザが、端末装置２００において、２個の同じ画像ＩＭ１と２個の同じ画像ＩＭ２とを含む４個の画像ＩＭ１、ＩＭ１、ＩＭ２、ＩＭ２を表わすドキュメントＤＣ３と、２部を示す印刷部数と、印刷方法「コレート印刷」と、を指定するこの場合、端末装置２００は、汎用プリンタドライバに従って、２セットの４個の画像データＤ１、Ｄ１、Ｄ２、Ｄ２（即ち８個の画像データ）と、１部を示す印刷部数情報（図示省略）と、を含む印刷要求Ｒ６を生成する。端末装置２００は、４個の画像データＤ１、Ｄ１、Ｄ２、Ｄ２の２部のコレート印刷をプリンタ１０に実行させるための順序（即ち、Ｄ１、Ｄ１、Ｄ２、Ｄ２、Ｄ１、Ｄ１、Ｄ２、Ｄ２の順序）に従って、８個の画像データをプリンタ１０に順次供給する。
【００８８】
プリンタ１０のＣＰＵ２２は、端末装置２００から、Ｄ１、Ｄ１、Ｄ２、Ｄ２、Ｄ１、Ｄ１、Ｄ２、Ｄ２の順序で８個の画像データを順次取得する（図５のＳ５０）。この場合、ＣＰＵ２２は、ＣＲＣテーブルＣＴ１を生成する（Ｓ５６）。また、ＣＰＵ２２は、順序テーブルＯＴ４を生成する。順序テーブルＯＴ４では、８個の画像データＤ１、Ｄ１、Ｄ２、Ｄ２、Ｄ１、Ｄ１、Ｄ２、Ｄ２に対応する８個のＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２、ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２が、当該８個の画像データのそれぞれの取得順位に関連付けられている。
【００８９】
ＣＰＵ２２は、順序テーブルＯＴ４を利用して、決定処理を実行する（図５のＳ７０）。この際に、ＣＰＵ２２は、アンコレート部数処理（図７のＳ１００）において、１番目のＣＲＣ値ＣＶ１とは異なるＣＲＣ値ＣＶ２が関連付けられている順位「３」が初めて登場する際に、当該順位「３」の直前の順位「２」を終端順位ｈとして決定する（図８のＳ１０４）。この場合、アンコレート条件は、３番目（即ち（ｈ＋１）番目）以降の各ＣＲＣ値が、連続する２個（即ちｈ個）の同じＣＲＣ値のセットによって構成されていることである。本ケースでは、３番目以降の各ＣＲＣ値ＣＶ２、ＣＶ２、ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２は、連続する２個の同じＣＲＣ値ＣＶ１のセット（即ちＣＶ１、ＣＶ１）と、連続する２個の同じＣＲＣ値ＣＶ２のセット（即ちＣＶ２、ＣＶ２）と、によって構成されている。従って、ＣＰＵ２２は、アンコレート条件が成立すると判断し（Ｓ１０６でＹＥＳ）、アンコレート部数として終端順位ｈに対応する「２」を算出する（Ｓ１２０）。
【００９０】
また、ＣＰＵ２２は、コレート部数処理（図７のＳ１５０）において、順序テーブルＯＴ４から、１番目のＣＲＣ値ＣＶ１と同じＣＲＣ値ＣＶ１に関連付けられている３個の順位（即ち、２番目、５番目、６番目）を特定し、当該３個の順位の中から最上位の順位「２」を選択する（Ｓ１５４）。この場合、コレート条件は、２番目以降の各ＣＲＣ値が、２番目より前の各ＣＲＣ値のセットの繰り返しであることである。本ケースでは、２番目以降の各ＣＲＣ値ＣＶ１、ＣＶ２、ＣＶ２、ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２は、１番目のＣＲＣ値のセット（即ちＣＶ１）の繰り返しではない。従って、ＣＰＵ２２は、コレート条件が成立しないと判断し（Ｓ１５６でＮＯ）、未選択の順位の中から最上位の順位として「５」を新たに選択する（Ｓ１５４）。この場合、この場合、コレート条件は、５番目以降の各ＣＲＣ値が、５番目より前の各ＣＲＣ値のセットの繰り返しであることである。本ケースでは、５番目以降の各ＣＲＣ値ＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２は、５番目より前の各ＣＲＣ値のセット（即ちＣＶ１、ＣＶ１、ＣＶ２、ＣＶ２）の繰り返しである。従って、ＣＰＵ２２は、コレート条件が成立すると判断する（Ｓ１５６でＹＥＳ）。そして、ＣＰＵ２２は、選択済みの順位「５」から「１」を減算して中間値「４」を算出し、順序テーブルＯＴ４の最下位の順位「８」を中間値「４」で除算することによって、コレート部数として「２」を算出する（Ｓ１６０）。
【００９１】
ＣＰＵ２２は、アンコレート部数処理でアンコレート部数「２」が算出され、コレート部数処理でコレート部数「２」が算出されるので（図７のＳ２００でＹＥＳ、Ｓ２０２でＹＥＳ）、印刷方法を「コレート印刷」に決定し、印刷部数をコレート部数「２」に決定する（Ｓ２０４）。ところで、端末装置２００において表示される画面ＳＣ１（図１参照）は、デフォルト状態ではコレート印刷に設定されている。このために、ユーザがコレート印刷を指定する可能性が高い。従って、ＣＰＵ２２は、アンコレート部数及びコレート部数の双方が複数部を示す場合（図７のＳ２００でＹＥＳ、Ｓ２０２でＹＥＳ）に、ユーザによって指定される可能性が高い「コレート印刷」を印刷方法として優先的に決定する（Ｓ２０４）。なお、変形例では、ＣＰＵ２２は、アンコレート部数及びコレート部数の双方が複数部を示す場合（図７のＳ２００でＹＥＳ、Ｓ２０２でＹＥＳ）に、印刷方法として「アンコレート印刷」を優先的に決定してもよい。この場合、ＣＰＵ２２は、印刷部数としてアンコレート部数を決定してもよい。
【００９２】
ＣＰＵ２２は、印刷部数「２」と印刷方法「コレート印刷」と順序テーブルＯＴ４とＣＲＣテーブルＣＴ１を利用して、４個の画像データＤ１、Ｄ１、Ｄ２、Ｄ２を特定する。ＣＰＵ２２は、当該４個の画像データと、印刷部数「２」を示す印刷部数情報と、印刷方法「コレート印刷」を示す方法情報と、ユーザ情報（ユーザ名ＵＮ１とパスワードＰ１）と、を蓄積情報ＳＩ５として蓄積領域３２に記憶させる（図５のＳ７２）。このように、本実施例によると、図１０のような特殊なケースでも、蓄積情報ＳＩ５を蓄積領域３２に適切に記憶させることができる。
【００９３】
（対応関係）
図５のＳ５４の処理が、「第２の一致判断処理」の一例である。順序テーブルが、「順序情報」の一例である。ＣＲＣ値が、「対応情報」の一例である。コレート印刷を示す方法情報、アンコレート印刷を示す方法情報が、それぞれ、「コレート情報」、「アンコレート情報」の一例である。図６のケースＢ１（又はケースＢ２）において、印刷要求Ｒ４（又はＲ５）が、「第２の印刷要求」の一例である。ドキュメントＤＣ２を表わす３個の画像ＩＭ１、ＩＭ１、ＩＭ２、３個の画像データＤ１、Ｄ１、Ｄ２が、それぞれ、「Ｎ２個の画像」、「Ｎ２個の画像データ」の一例である。ユーザによって指定される２部を示す印刷部数が、「Ｍ２部」の一例である。３個の画像データＤ１、Ｄ１、Ｄ２のうちの２個の同じ画像データＤ１、Ｄ１が、「Ｌ個の画像データ」の一例である。
【００９４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００９５】
（変形例１）プリンタ１０は、印刷要求に含まれる全ての画像データを取得した後に、全ての画像データに対応する全てのＣＲＣ値を算出してもよい。そして、プリンタ１０は、まず、１番目のＣＲＣ値が２番目以降の各ＣＲＣ値に一致するのか否かを判断し、次いで、２番目のＣＲＣ値が３番目以降の各ＣＲＣ値に一致するのか否かを判断してもよい。そして、プリンタ１０は、３番目以降の各ＣＲＣ値についても同様に一致判断を実行してもよい。本変形例の処理も、「第１の一致判断処理」の一例である。
【００９６】
（変形例２）プリンタ１０は、端末装置から印刷仲介サーバを介して印刷要求を取得してもよい。この場合、端末装置は、プリンタドライバを備えていなくてもよく、印刷仲介サーバがプリンタドライバを備えていればよい。即ち、端末装置が、印刷対象のドキュメントと印刷部数と印刷方法を印刷仲介サーバに供給し、印刷仲介サーバが、プリンタドライバを利用して印刷要求を生成して、当該印刷要求をプリンタ１０供給してもよい。一般的に言えば、「制御装置」は、端末装置から他の装置を介して第１（又は第２）の印刷要求を取得してもよい。
【００９７】
（変形例３）プリンタ１０は、図５のＳ７０の処理を実行せずに、ＣＲＣテーブルと順序テーブルとを蓄積情報として蓄積領域３２に記憶してもよい。そして、プリンタ１０は、順序テーブルによって表される順序に従って、ＣＲＣテーブルに含まれる１個以上の画像データによって表される１個以上の画像の印刷を実行してもよい。本変形例では、順序テーブルが「部数関係情報」の一例である。
【００９８】
（変形例４）プリンタ１０は、図２のＳ１２において、取得済みの印刷要求に含まれるプロトコル情報がＩＰＰを示す場合に、Ｓ１４に進み、当該プロトコル情報がＩＰＰを示さない場合に、Ｓ１６に進んでもよい。プロトコル情報は、印刷要求の通信に利用されている通信プロトコルを示す情報である。プロトコル情報がＩＰＰを示すことは、印刷要求が汎用プリンタドライバによって生成された可能性が高いことを意味する。また、他の変形例では、プリンタ１０は、図２のＳ１２において、取得済みの印刷要求に含まれる画像データの形式を示す形式情報が所定の形式（例えばラスタ形式）を示す場合に、Ｓ１４に進み、形式情報が所定の形式を示さない場合に、Ｓ１６に進んでもよい。例えば、汎用プリンタドライバによって生成される画像データの形式が所定の形式に限られる状況が想定される。この場合には、印刷要求に含まれる画像データの形式が所定の形式であることは、印刷要求が汎用プリンタドライバによって生成された可能性が高いことを意味する。これらの変形例では、プロトコル情報又は形式情報が、「特定情報」の一例である。
【００９９】
（変形例５）上記の実施例では、プリンタ１０は、ｋ番目の画像データが取得された順位と、ｋ番目の画像データのＣＲＣ値と、を関連づけて順序テーブルに記憶する（図５のＳ６０）。これに代えて、プリンタ１０は、ｋ番目の画像データが取得された順位と、ｋ番目の画像データの識別情報（例えば画像データ名）と、を関連づけて順序テーブルに記憶してもよい。本変形例では、識別情報が、「対応情報」の一例である。
【０１００】
（変形例６）プリンタ１０は、図２のＳ１０において、ユーザ情報を取得する代わり、端末装置１００又は２００においてユーザによって入力されたＰＩＮ（Personal Identification Numberの略）コードを取得してもよい。この場合、図１の指定画面ＳＣ１は、ユーザ情報ボックスに代えて、ＰＩＮコードを指定するためのコードボックスを含んでもよい。そして、ＰＩＮコードがユーザによってコードボックスに入力されると、プリンタ１０は、図２のＳ１０において、端末装置から入力済みのＰＩＮコードを取得し、図３のＳ４６において、当該ＰＩＮコードを蓄積情報として蓄積領域３２に記憶してもよい。そして、プリンタ１０は、図２のＳ２０において、当該ＰＩＮコードが入力部１４に入力される場合に、取得済みのＰＩＮコードを含む蓄積情報を特定し、特定済みの蓄積情報に含まれる画像データによって表される画像の印刷を実行してもよい。本変形例では、プリンタ１０は、ユーザテーブル２８（図１参照）を備えなくてもよい。本変形例では、ＰＩＮコードが、「認証情報」の一例である。
【０１０１】
（変形例７）上記の図６のケースＢ１では、蓄積情報ＳＩ３は、２番目の画像データとして画像データＤ１を含む。これに代えて、蓄積情報ＳＩ３は、２番目の画像データの代わりに、２番目の画像データが１番目の画像データＤ１と同じであることを示す情報を含んでいてもよい。即ち、蓄積情報ＳＩ３は、１セットの３個の画像データＤ１、Ｄ１、Ｄ２のうちの互いに異なる２個の画像データＤ１、Ｄ２のみを含んでもよい。一般的には、「第３の記憶制御部」は、（Ｎ２×Ｍ２）個の画像データのうちの少なくとも特定済みのＬ個の画像データをメモリ内の所定領域に記憶させればよい。
【０１０２】
（変形例８）「制御装置」は、プリンタ１０の制御部２０でなくてもよく、例えば、プリンタ１０と通信可能なＰＣ、サーバ等であってもよい。例えば、ＰＣは、端末装置から印刷要求及びユーザ情報を取得すると、当該印刷情報に含まれる画像データと当該ユーザ情報を蓄積情報としてＰＣ内のメモリの所定領域に記憶してもよい。そして、ＰＣは、ユーザ情報がＰＣの入力部に入力されると、当該ユーザ情報を含む蓄積情報に含まれる画像データをプリンタ１０に供給して、当該画像データによって表される画像の印刷をプリンタ１０に実行させてもよい。本変形例では、ＰＣ、プリンタ１０が、それぞれ、「制御装置」、「印刷実行部」の一例である。
【０１０３】
（変形例９）プリンタ１０は、図３のＳ３８、Ｓ４０の処理を実行せずに、Ｓ４２でＹＥＳと判断された後に、印刷要求に含まれる画像データの総数をＣＲＣテーブルに含まれる画像データの総数で除算することによって、印刷部数を決定してもよい。本変形例では、上記の除算によって印刷部数を決定することが、「部数関係情報を生成すること」の一例である。
【０１０４】
（変形例１０）図２のＳ１２、Ｓ１６の処理は実行されなくてもよい。本変形例では、「要求判断部」、「第２の記憶制御部」、「第２の印刷制御部」を省略可能である。
【０１０５】
（変形例１１）プリンタ１０は、図２のＳ１０において、ユーザ情報を取得しなくてもよい。そして、プリンタ１０は、Ｓ２０、Ｓ２２の処理を実行せずに、蓄積情報を蓄積領域に記憶してから所定時間が経過した後の所定のタイミングで、当該蓄積情報に含まれる画像データによって表される画像の印刷を実行してもよい。本変形例では、「認証情報取得部」を省略可能である。
【０１０６】
（変形例１２）上記の実施例では、プリンタ１０のＣＰＵ２２がプログラム２６（即ちソフトウェア）を実行することによって、図２、図３、図５、図７〜図９の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１０７】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１０８】
２：通信システム、４：ＬＡＮ、１０：プリンタ、１００、２００：端末装置、１２：印刷実行部、１４：入力部、１６：ネットワークＩ／Ｆ、２０：制御部、２２：ＣＰＵ、２４：メモリ、２６：プログラム、２８：ユーザテーブル、３０：一時領域、３２：蓄積領域
【図１】
2018149723.tif 000003
【図２】
2018149723.tif 000004
【図３】
2018149723.tif 000005
【図４】
2018149723.tif 000006
【図５】
2018149723.tif 000007
【図６】
2018149723.tif 000008
【図７】
2018149723.tif 000009
【図８】
2018149723.tif 000010
【図９】
2018149723.tif 000011
【図１０】
2018149723.tif 000012