(57)【特許請求の範囲】
【請求項１】
プリンタであって、
印刷実行部と、
制御部と、を備え、
前記制御部は、
前記プリンタが特定の処理を実行する能力を有することを示す第１の能力情報を第１の外部装置に供給する供給部と、
前記第１の能力情報が前記第１の外部装置に供給されることに応じて、前記第１の外部装置から、前記特定の処理の実行を要する第１の印刷データを取得する取得部と、
前記第１の印刷データが取得されることに応じて、前記第１の印刷データを用いた印刷を前記印刷実行部に実行させるための第１の印刷処理であって、前記特定の処理を含む前記第１の印刷処理を実行する印刷処理実行部と、を備え、
前記供給部は、さらに、前記第１の印刷データが第１の所定条件を満たす場合に、前記プリンタが前記特定の処理を実行する能力を有するにも関わらず、前記プリンタが前記特定の処理を実行する能力を有さないことを示す第２の能力情報を前記第１の外部装置に供給し、
前記取得部は、さらに、前記第２の能力情報が前記第１の外部装置に供給されることに応じて、前記第１の外部装置から、前記特定の処理の実行を要さない第２の印刷データを取得し、
前記印刷処理実行部は、さらに、前記第２の印刷データが取得されることに応じて、前記第２の印刷データを用いた印刷を前記印刷実行部に実行させるための第２の印刷処理であって、前記特定の処理を含まない前記第２の印刷処理を実行する、プリンタ。
【請求項２】
前記第１の印刷データは、前記第１の外部装置が第１の画像データを所定の圧縮方式を用いて圧縮することによって生成されるデータであり、
前記特定の処理は、前記所定の圧縮方式を用いた圧縮済みデータである前記第１の印刷データを解凍する解凍処理を含み、
前記プリンタは、さらに、
前記第１の画像データを前記第１の印刷データに圧縮する際の第１の圧縮効率が予め決められている第１の基準効率よりも低い場合に、前記第１の印刷データが前記第１の所定条件を満たすと判断する第１の判断部を備え、
前記供給部は、前記第１の印刷データが前記第１の所定条件を満たすと判断される場合に、前記第２の能力情報を前記第１の外部装置に供給し、
前記第２の印刷データは、前記第１の外部装置が第２の画像データを前記所定の圧縮方式を用いて圧縮することなく得られるデータである、請求項１に記載のプリンタ。
【請求項３】
前記第１の判断部は、
前記第１の印刷データのデータサイズと前記第１の画像データのデータサイズとを利用して、前記第１の圧縮効率を示す第１の指標値を算出し、
前記第１の指標値と前記第１の基準効率を示す基準値とを比較することによって、前記第１の圧縮効率が前記第１の基準効率よりも低いのか否かを判断する、請求項２に記載のプリンタ。
【請求項４】
前記第１の判断部は、
前記第１の画像データを利用して、前記第１の圧縮効率を示す第２の指標値であって、前記第１の画像データを構成する特定の画素の数に関係する前記第２の指標値を算出し、
前記第２の指標値と前記第１の基準効率を示す基準値とを比較することによって、前記第１の圧縮効率が前記第１の基準効率よりも低いのか否かを判断し、
前記特定の画素は、隣接する画素が有する画素値に一致する画素値を有する画素である、請求項２に記載のプリンタ。
【請求項５】
前記プリンタは、さらに、
前記第２の印刷データを前記所定の圧縮方式を用いて圧縮する場合における圧縮効率である第２の圧縮効率が予め決められている第２の基準効率よりも高い場合に、前記第２の印刷データが第２の所定条件を満たすと判断する第２の判断部を備え、
前記供給部は、さらに、前記第２の印刷データが前記第２の所定条件を満たすと判断される場合に、前記プリンタが前記特定の処理を実行する能力を有することを示す第３の能力情報を前記第１の外部装置に供給する、請求項２から４のいずれか一項に記載のプリンタ。
【請求項６】
前記第１の印刷データは、所定のデータ形式を有し、
前記特定の処理は、前記第１の印刷データを展開することを試行する試行処理を含み、
前記プリンタは、さらに、
前記第１の印刷データを展開不可能である場合に、前記第１の印刷データが前記第１の所定条件を満たすと判断する第３の判断部を備え、
前記供給部は、前記第１の印刷データが前記第１の所定条件を満たすと判断される場合に、前記第２の能力情報を前記第１の外部装置に供給し、
前記第２の印刷データは、前記所定のデータ方式とは異なるデータ形式を有する、請求項１に記載のプリンタ。
【請求項７】
前記供給部は、さらに、前記第２の印刷処理が実行された後に、前記プリンタが前記特定の処理を実行する能力を有することを示す第３の能力情報を前記第１の外部装置に供給する、請求項６に記載のプリンタ。
【請求項８】
前記第１の印刷データと前記第２の印刷データとは、同じ画像データを用いて得られるデータである、請求項６又は７に記載のプリンタ。
【請求項９】
前記供給部は、
前記第１の外部装置から所定の要求が取得される場合に、前記第１の能力情報を前記第１の外部装置に供給し、
前記第１の印刷データが前記第１の所定条件を満たし、かつ、前記第１の外部装置から前記所定の要求が取得される場合に、前記第２の能力情報を前記第１の外部装置に供給し、
前記第１の印刷データが前記第１の所定条件を満たし、かつ、前記第１の外部装置とは異なる第２の外部装置から前記所定の要求が取得される場合に、前記プリンタが前記特定の処理を実行する能力を有することを示す第４の能力情報を前記第２の外部装置に供給する、請求項１から８のいずれか一項に記載のプリンタ。
【請求項１０】
プリンタのためのコンピュータプログラムであって、
前記プリンタに搭載されるコンピュータに、以下の各処理、即ち、
前記プリンタが特定の処理を実行する能力を有することを示す第１の能力情報を第１の外部装置に供給する処理と、
前記第１の能力情報が前記第１の外部装置に供給されることに応じて、前記第１の外部装置から、前記特定の処理の実行を要する第１の印刷データを取得する処理と、
前記第１の印刷データが取得されることに応じて、前記第１の印刷データを用いた印刷を前記プリンタの印刷実行部に実行させるための第１の印刷処理であって、前記特定の処理を含む前記第１の印刷処理と、
前記第１の印刷データが第１の所定条件を満たす場合に、前記プリンタが前記特定の処理を実行する能力を有するにも関わらず、前記プリンタが前記特定の処理を実行する能力を有さないことを示す第２の能力情報を前記第１の外部装置に供給する処理と、
前記第２の能力情報が前記第１の外部装置に供給されることに応じて、前記第１の外部装置から、前記特定の処理の実行を要さない第２の印刷データを取得する処理と、
前記第２の印刷データが取得されることに応じて、前記第２の印刷データを用いた印刷を前記印刷実行部に実行させるための第２の印刷処理であって、前記特定の処理を含まない前記第２の印刷処理と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、能力情報を外部装置に供給して、外部装置から印刷データを取得するプリンタを開示する。
【背景技術】
【０００２】
特許文献１には、プリンタとＰＣとを備えるシステムが開示されている。プリンタは、ＰＣから能力情報通知要求を受信する場合に、当該プリンタのスペックを示す能力通知をＰＣに送信する。ＰＣは、能力通知に応じた印刷設定画面を表示して、ユーザの印刷設定を受け付ける。ＰＣは、印刷設定を用いて印刷ジョブを生成して、印刷ジョブをプリンタに送信する。プリンタは、印刷ジョブを用いた印刷を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−６４９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の特許文献１の技術では、プリンタからＰＣに送信される能力通知が常に同じスペックを示すので、印刷が適切に実行されない可能性がある。本明細書では、外部装置からプリンタに供給される印刷データを用いた印刷が適切に実行され得る技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示されるプリンタは、印刷実行部と、制御部と、を備える。制御部は、プリンタの特定の処理能力を示す情報を含む第１の能力情報を第１の外部装置に供給する供給部と、第１の能力情報が第１の外部装置に供給されることに応じて、第１の外部装置から第１の印刷データを取得する取得部と、第１の印刷データが取得されることに応じて、第１の印刷データを用いた印刷を印刷実行部に実行させるための第１の印刷処理であって、特定の処理能力に対応する特定の処理を含む第１の印刷処理を実行する印刷処理実行部と、を備える。供給部は、さらに、第１の印刷データが第１の所定条件を満たす場合に、特定の処理能力を示す情報を含まない第２の能力情報を第２の外部装置に供給する。取得部は、さらに、第２の能力情報が第２の外部装置に供給されることに応じて、第２の外部装置から第２の印刷データを取得する。印刷処理実行部は、さらに、第２の印刷データが取得されることに応じて、第２の印刷データを用いた印刷を印刷実行部に実行させるための第２の印刷処理であって、特定の処理を含まない第２の印刷処理を実行する。
【０００６】
上記の構成によると、プリンタは、特定の処理能力を示す情報を含む第１の能力情報を第１の外部装置に供給し、その後、第１の印刷データが第１の所定条件を満たす場合に、特定の処理能力を示す情報を含まない第２の能力情報を第２の外部装置に供給する。このように、プリンタから外部装置に供給される能力情報の内容が変更されるので、外部装置からプリンタに供給される印刷データを用いた印刷が適切に実行され得る。
前記特定の処理能力は、前記プリンタが所定の圧縮方式を用いた圧縮済みデータを解凍する解凍能力を含み、
前記第１の印刷データは、前記第１の外部装置が第１の画像データを前記所定の圧縮方式を用いて圧縮することによって生成されるデータであり、
前記特定の処理は、前記第１の印刷データを解凍する解凍処理を含み、
前記プリンタは、さらに、
前記第１の画像データを前記第１の印刷データに圧縮する際の第１の圧縮効率が予め決められている第１の基準効率よりも低い場合に、前記第１の印刷データが前記第１の所定条件を満たすと判断する第１の判断部を備え、
前記供給部は、前記第１の印刷データが前記第１の所定条件を満たすと判断される場合に、前記特定の処理能力を示す前記情報を含まない前記第２の能力情報を前記第２の外部装置に供給し、
前記第２の印刷データは、前記第２の外部装置が第２の画像データを前記所定の圧縮方式を用いて圧縮することなく得られるデータであってもよい。
前記第１の判断部は、
前記第１の印刷データのデータサイズと前記第１の画像データのデータサイズとを利用して、前記第１の圧縮効率を示す第１の指標値を算出し、
前記第１の指標値と前記第１の基準効率を示す基準値とを比較することによって、前記第１の圧縮効率が前記第１の基準効率よりも低いのか否かを判断してもよい。
前記第１の判断部は、
前記第１の画像データを利用して、前記第１の圧縮効率を示す第２の指標値であって、前記第１の画像データを構成する特定の画素の数に関係する前記第２の指標値を算出し、
前記第２の指標値と前記第１の基準効率を示す基準値とを比較することによって、前記第１の圧縮効率が前記第１の基準効率よりも低いのか否かを判断し、
前記特定の画素は、隣接する画素が有する画素値に一致する画素値を有する画素であってもよい。
前記プリンタは、さらに、
前記第２の印刷データを前記所定の圧縮方式を用いて圧縮する場合における圧縮効率である第２の圧縮効率が予め決められている第２の基準効率よりも高い場合に、前記第２の印刷データが第２の所定条件を満たすと判断する第２の判断部を備え、
前記供給部は、さらに、前記第２の印刷データが前記第２の所定条件を満たすと判断される場合に、前記特定の処理能力を示す前記情報を含む第３の能力情報を第３の外部装置に供給してもよい。
前記特定の処理能力は、前記プリンタが所定のデータ形式を有するデータを展開する展開能力を含み、
前記第１の印刷データは、前記所定のデータ形式を有し、
前記特定の処理は、前記第１の印刷データを展開することを試行する試行処理を含み、
前記プリンタは、さらに、
前記第１の印刷データを展開不可能である場合に、前記第１の印刷データが前記第１の所定条件を満たすと判断する第３の判断部を備え、
前記供給部は、前記第１の印刷データが前記第１の所定条件を満たすと判断される場合に、前記特定の処理能力を示す前記情報を含まない前記第２の能力情報を前記第２の外部装置に供給し、
前記第２の印刷データは、前記所定のデータ方式とは異なるデータ形式を有してもよい。
前記供給部は、さらに、前記第２の印刷処理が実行された後に、前記特定の処理能力を示す前記情報を含む第３の能力情報を第３の外部装置に供給してもよい。
前記第２の外部装置は、前記第１の外部装置と同じ装置であり、
前記第１の印刷データと前記第２の印刷データとは、同じ画像データを用いて得られるデータであってもよい。
前記供給部は、
前記第１の外部装置から所定の要求が取得される場合に、前記特定の処理能力を示す前記情報を含む前記第１の能力情報を前記第１の外部装置に供給し、
前記第１の印刷データが前記第１の所定条件を満たし、かつ、前記第１の外部装置と同じ前記第２の外部装置から前記所定の要求が取得される場合に、前記特定の処理能力を示す前記情報を含まない前記第２の能力情報を前記第２の外部装置に供給し、
前記第１の印刷データが前記第１の所定条件を満たし、かつ、前記第１の外部装置及び前記第２の外部装置とは異なる第４の外部装置から前記所定の要求が取得される場合に、前記特定の処理能力を示す前記情報を含む第４の能力情報を前記第４の外部装置に供給してもよい。
【０００７】
上記のプリンタを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記のプリンタと外部装置（例えば、第１の外部装置、第２の外部装置等）とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】プリンタ及び端末装置が実行する各処理のシーケンス図を示す。
【図３】第１〜第３実施例の印刷データ取得時処理のフローチャートを示す。
【図４】第１実施例のシーケンス図を示す。
【図５】第２実施例及び第３実施例を説明するための図を示す。
【図６】第４実施例のシーケンス図を示す。
【図７】第５及び第６実施例の印刷データ取得時処理のフローチャートを示す。
【図８】第５実施例のシーケンス図を示す。
【図９】第６実施例のシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、プリンタＰＲと、複数個の端末装置ＴＥ１，ＴＥ２と、を備える。各デバイスＰＲ，ＴＥ１，ＴＥ２は、ＬＡＮ（LocalArea Networkの略）４を介して、有線通信又は無線通信を相互に実行可能である。
【００１０】
（プリンタＰＲの構成）
プリンタＰＲは、印刷機能を実行可能な周辺機器（即ち各端末装置ＴＥ１，ＴＥ２の周辺機器）である。なお、プリンタＰＲは、印刷機能に加えて、スキャン機能、ＦＡＸ機能等を実行可能な多機能機であってもよい。プリンタＰＲは、操作部１２と、表示部１４と、印刷実行部１６と、ＬＡＮインターフェイス１８と、制御部２０と、を備える。各部１２〜２０は、バス線１０に接続されている。
【００１１】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をプリンタＰＲに与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。印刷実行部１６は、インクジェット方式、レーザ方式等の印刷機構である。ＬＡＮインターフェイス１８は、ＬＡＮ４に接続されている。
【００１２】
制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に格納されているプログラム３０を用いて、様々な処理を実行するプロセッサである。メモリ２４は、ＲＯＭ、ＲＡＭ等によって構成され、上記のプログラム３０の他に、能力情報３２と、履歴情報３４と、を格納する。
【００１３】
能力情報３２は、プリンタＰＲが実行可能な処理能力を示す情報である。能力情報３２は、ｇｚｉｐ（GNU ZIPの略）情報と、データ形式情報と、両面印刷情報と、解像度情報と、を含む。ｇｚｉｐ情報は、プリンタＰＲがｇｚｉｐ圧縮方式を用いた圧縮済みデータを解凍する解凍能力を有するのか否かを示す。本実施例のプリンタＰＲは上記の解凍能力を有するので、ｇｚｉｐ情報は、通常、プリンタＰＲが上記の解凍能力を有することを意味する「ＯＫ」を示す。ただし、詳しくは後述するが、プリンタＰＲが上記の解凍能力を有するにも関わらず、ｇｚｉｐ情報が、プリンタＰＲが上記の解凍能力を有さないことを意味する「ＮＧ」を示すことがあり得る。データ形式情報は、プリンタＰＲが展開可能（即ち解釈可能）なデータ形式を示す情報であり、本実施例では、ＰＤＦ（Portable Document Formatの略）を示す情報と、ＪＰＥＧ（Joint Photograph Experts Groupの略）を示す情報と、ＰＷＧ（Printer Working Groupの略）を示す情報と、を含む。これは、プリンタＰＲが、ＰＤＦ形式、ＪＰＥＧ形式、及び、ＰＷＧ形式のいずれについても、展開能力を有することを意味する。両面印刷情報は、プリンタＰＲが印刷媒体の両面に画像を印刷する能力を有することを意味する「ＯＫ」を示す。解像度情報は、複数個の解像度（１００ｄｐｉ等）を示す。これは、プリンタＰＲが、上記の複数個の解像度のいずれについても、当該解像度を用いた印刷を実行する能力を有することを意味する。
【００１４】
履歴情報３４は、プリンタＰＲによって取得される最新の３個の印刷データのそれぞれの圧縮効率を示す指標値を含む。具体的には、本実施例では、指標値は、解凍データサイズに対する圧縮データサイズの比率を示すサイズ率である。即ち、サイズ率は、式「（圧縮データサイズ／解凍データサイズ）×１００（％）」によって表わされる。ここで、圧縮データサイズは、ｇｚｉｐ方式を用いた圧縮済みデータのデータサイズであり、解凍データサイズは、圧縮済みデータを解凍することによって得られる解凍済みデータのデータサイズである。サイズ率の値が大きい程、圧縮効率が低くなり、サイズ率の値が小さい程、圧縮効率が高くなる。また、後述の第２及び第３実施例では、指標値として、サイズ率とは異なる連続画素率が利用される。なお、変形例では、履歴情報３４に含まれる指標値の数は、最大で３個でなくてもよく、最大で１個又は２個であってもよいし、最大で４個以上であってもよい。
【００１５】
（各端末装置ＴＥ１，ＴＥ２の構成）
各端末装置ＴＥ１，ＴＥ２は、デスクトップＰＣ（Personal Computerの略）、ノートＰＣ、タブレットＰＣ、携帯電話（例えばスマートフォン）、ＰＤＡ等である。各端末装置ＴＥ１，ＴＥ２は、ＩＰＰ（Internet Printing Protocol）を用いた手順でプリンタＰＲに印刷を実行させるためのプリンタドライバＤＲを備える。プリンタドライバＤＲは、プリンタＰＲのベンダ又は他の事業者によって提供されるインターネット上のサーバから各端末装置ＴＥ１，ＴＥ２にインストールされる。ただし、変形例では、プリンタドライバＤＲは、各端末装置ＴＥ１，ＴＥ２の出荷段階から各端末装置ＴＥ１，ＴＥ２に予め搭載されていてもよいし、プリンタＰＲと共に出荷されるメディアから各端末装置ＴＥ１，ＴＥ２にインストールされてもよい。
【００１６】
（プリンタＰＲ及び端末装置ＴＥ１の処理；図２）
続いて、図２を参照して、プリンタＰＲ及び端末装置ＴＥ１によって実行される各処理の内容を説明する。以下の各処理は、ＩＰＰを用いた手順でプリンタＰＲに印刷を実行させるための処理である。なお、端末装置ＴＥ２は、端末装置ＴＥ１と同様の処理を実行可能である。
【００１７】
Ｓ１０では、端末装置ＴＥ１は、ユーザから登録指示を受け付ける。登録指示は、端末装置ＴＥ１と同じＬＡＮ４に接続されているプリンタＰＲを端末装置ＴＥ１に一時的に登録するための指示であり、プリンタドライバＤＲを起動する指示と、プリンタドライバＤＲによって表示される画面上でプリンタＰＲに対する「登録」を示すボタンを選択する指示と、を含む。端末装置ＴＥ１は、ユーザから登録指示を受け付ける場合（Ｓ１０）に、能力情報要求ＩＲをプリンタＰＲに供給する。
【００１８】
プリンタＰＲのＣＰＵ２２は、端末装置ＴＥ１から能力情報要求ＩＲを取得する場合に、Ｓ２０において、メモリ２４から能力情報３２を取得する。そして、ＣＰＵ２２は、能力情報３２内の現在の各情報（ｇｚｉｐ情報、データ形式情報等）を含む能力通知ＣＮを端末装置ＴＥ１に供給する。図２では、能力通知ＣＮ内のｇｚｉｐ情報が「ＯＫ」を示す例が開示されている。
【００１９】
端末装置ＴＥ１は、プリンタＰＲから能力通知ＣＮを取得することによって、プリンタＰＲを一時的に登録する。そして、Ｓ３０では、端末装置ＴＥ１は、設定画面ＳＣを表示する。設定画面ＳＣは、能力通知ＣＮ内の両面印刷情報及び解像度情報に対応する各文字列を含む。図２の例では、能力通知ＣＮ内の両面印刷情報が「ＯＫ」を示すので、設定画面ＳＣは、両面印刷を実行することを示す「ＯＮ」と、両面印刷を実行しないことを示す「ＯＦＦ」と、のうちの一方を指定するための文字列を含む。なお、能力通知ＣＮ内の両面印刷情報が「ＮＧ」を示す場合には、設定画面ＳＣは、両面印刷「ＯＮ」を示す文字列を含まない。即ち、ユーザは、両面印刷「ＯＮ」を指定することができない。また、能力通知ＣＮ内の解像度情報が４個の解像度（１００ｄｐｉ等）を示すので、設定画面ＳＣは、４個の解像度のうちのいずれかを指定するための文字列を含む。なお、設定画面ＳＣは、能力通知ＣＮ内のｇｚｉｐ情報及びデータ形式情報に対応する各文字列を含まない。即ち、ユーザは、ｇｚｉｐ圧縮方式を用いた圧縮（以下では「ｇｚｉｐ圧縮」と呼ぶ）を実行するのか否かを指定することができず、プリンタＰＲに供給されるべき印刷データが有するデータ形式を指定することができない。
【００２０】
Ｓ３２では、端末装置ＴＥ１は、ユーザから指定指示を受け付ける。指定指示は、設定画面ＳＣにおいて、両面印刷を実行するのか否かを指定する指示と、４個の解像度のうちのいずれか１個の解像度（以下では「指定解像度」と呼ぶ）を指定する指示と、ＯＫボタンＢＯを選択する指示と、を含む。指定指示は、さらに、端末装置ＴＥ１内に保存されている１個以上の画像データの中から１個の画像データ（以下では「指定画像データ」と呼ぶ）を指定する指示を含む。指定画像データは、多階調（例えば２５６階調）のＲＧＢのビットマップデータを含む。以下では、ビットマップデータのことを「ＢＭＰデータ」と記載する。
【００２１】
端末装置ＴＥ１は、ユーザから指定指示を受け付ける場合（Ｓ３２）に、Ｓ３４において、指定画像データから印刷データＰＤを生成する。具体的には、端末装置ＴＥ１は、まず、指定画像データが有するデータ形式が、能力通知ＣＮ内のデータ形式情報によって示される各データ形式（以下では「能力データ形式」と呼ぶ）に含まれるのか否かを判断する。端末装置ＴＥ１は、指定画像データが有するデータ形式が各能力データ形式に含まれないと判断する場合には、指定画像データに対する形式変換処理を実行して、各能力データ形式のいずれかを有する形式変換済み画像データを生成する。次いで、端末装置ＴＥ１は、形式変換済み画像データに対する解像度変換処理を実行して、指定解像度を有する解像度変換済み画像データを生成する。また、端末装置ＴＥ１は、指定画像データが有するデータ形式が各能力データ形式に含まれると判断する場合には、指定画像データに対する解像度変換処理を実行して、指定解像度を有する解像度変換済み画像データを生成する。そして、端末装置ＴＥ１は、能力通知ＣＮ内のｇｚｉｐ情報が「ＮＧ」を示す場合には、解像度変換済み画像データに対するｇｚｉｐ圧縮を実行せずに、解像度変換済み画像データを印刷データＰＤとして決定する。一方、端末装置ＴＥ１は、能力通知ＣＮ内のｇｚｉｐ情報が「ＯＫ」を示す場合には、解像度変換済み画像データに対するｇｚｉｐ圧縮を実行して、圧縮済み画像データを印刷データＰＤとして決定する。
【００２２】
次いで、端末装置ＴＥ１は、印刷データＰＤと印刷設定情報ＳＩとをプリンタＰＲに供給する。印刷設定情報ＳＩは、ｇｚｉｐ圧縮が実行されて印刷データＰＤが生成された場合には、ｇｚｉｐ圧縮が実行されたことを示す文字列（即ち「ｇｚｉｐ圧縮＝ＯＮ」）を含み、ｇｚｉｐ圧縮が実行されずに印刷データＰＤが生成された場合には、ｇｚｉｐ圧縮が実行されなかったことを示す文字列（即ち「ｇｚｉｐ圧縮＝ＯＦＦ」）を含む。印刷設定情報ＳＩは、さらに、印刷データＰＤが有するデータ形式を示す文字列（例えば「データ形式＝ＰＤＦ」）を含む。また、印刷設定情報ＳＩは、設定画面ＳＣにおいてユーザによって両面印刷「ＯＮ」が指定された場合には、両面印刷を実行することを示す文字列（即ち「両面印刷＝ＯＮ」）を含み、ユーザによって両面印刷「ＯＦＦ」が指定された場合には、両面印刷を実行しないことを示す文字列（即ち「両面印刷＝ＯＦＦ」）を含む。印刷設定情報ＳＩは、さらに、指定解像度を示す文字列（例えば「解像度＝３００ｄｐｉ」）を含む。
【００２３】
プリンタＰＲのＣＰＵ２２は、端末装置ＴＥ１から印刷データＰＤと印刷設定情報ＳＩとを取得する場合に、Ｓ４０において、印刷処理を実行する。これにより、印刷データＰＤを用いた印刷済み印刷媒体をユーザに提供することができる。ＣＰＵ２２は、印刷処理が終了する場合に、印刷が終了したことを示すメッセージを含む終了通知ＥＮを端末装置ＴＥ１に供給する。
【００２４】
端末装置ＴＥ１は、プリンタＰＲから終了通知ＥＮを取得する場合に、Ｓ５０において、印刷処理が終了したことを示すメッセージを含む終了画面を表示する。そして、端末装置ＴＥ１は、取得済みの能力通知ＣＮを消去する。これにより、プリンタＰＲが端末装置ＴＥ１に登録されている状態が解除される。従って、端末装置ＴＥ１がプリンタＰＲに印刷を再び実行させるためには、Ｓ１０〜Ｓ３２の処理を含む各処理（即ちＳ１０〜Ｓ５２の全ての処理）が再び実行される。
【００２５】
（印刷データ取得時処理；図３）
続いて、図３を参照して、プリンタＰＲによって実行される印刷データ取得時処理の内容を説明する。プリンタＰＲのＣＰＵ２２は、端末装置（例えばＴＥ１）から印刷データと印刷設定情報とを取得する場合（図２のＰＤ，ＳＩ参照）に、図３の処理を開始する。以下では、印刷データの供給元の端末装置のことを「対象端末装置」と呼ぶ。なお、図３の処理は、図２のＳ４０の印刷処理と終了通知ＥＮの供給とを含む。
【００２６】
Ｓ１００では、ＣＰＵ２２は、対象端末装置から取得された印刷設定情報内に「ｇｚｉｐ圧縮＝ＯＮ」を示す文字列が含まれるのか否かを判断する。ＣＰＵ２２は、印刷設定情報内に「ｇｚｉｐ圧縮＝ＯＮ」を示す文字列が含まれる場合、即ち、ｇｚｉｐ圧縮が実行されて生成された圧縮印刷データが対象端末装置から取得された場合には、Ｓ１００でＹＥＳと判断して、Ｓ１１０〜Ｓ１１４の印刷処理を実行する。一方、ＣＰＵ２２は、印刷設定情報内に「ｇｚｉｐ圧縮＝ＯＦＦ」を示す文字列が含まれる場合、即ち、ｇｚｉｐ圧縮が実行されずに生成された非圧縮印刷データが対象端末装置から取得された場合には、Ｓ１００でＮＯと判断して、Ｓ１５２及びＳ１５４の印刷処理を実行する。なお、Ｓ１１０〜Ｓ１１４の印刷処理とＳ１５２及びＳ１５４の印刷処理とは、図２のＳ４０の印刷処理の具体的な処理を示す。
【００２７】
Ｓ１１０では、ＣＰＵ２２は、圧縮印刷データを解凍する解凍処理を実行して、解凍済み印刷データを生成する。解凍済み印刷データは、多階調（例えば２５６階調）のＲＧＢのＢＭＰデータと、解凍済み印刷データが有するデータ形式（例えばＰＤＦ、ＪＰＥＧ等）に対応する各種のコマンドと、を含む。上記の各種のコマンドは、例えば、フォント形式を指示するコマンド、装飾（例えばグラデーション）を指示するコマンド等を含む。
【００２８】
Ｓ１１２では、ＣＰＵ２２は、Ｓ１１０で生成された解凍済み印刷データを展開する展開処理を実行して、二値データを生成する。具体的には、ＣＰＵ２２は、まず、解凍済み印刷データに含まれる各種のコマンドを用いて、解凍済み印刷データに含まれるＢＭＰデータを加工して、加工済みＢＭＰデータを生成する。例えば、ＣＰＵ２２は、フォント形式を指示するコマンドを用いて、当該フォント形式を有するテキストを表わす加工済みＢＭＰデータを生成する。次いで、ＣＰＵ２２は、加工済みＢＭＰデータに対する色変換処理を実行して、多階調（例えば２５６階調）のＣＭＹＫのＢＭＰデータを生成する。そして、ＣＰＵ２２は、多階調のＣＭＹＫのＢＭＰデータに対する二値化処理を実行して、二階調（即ちドットＯＮ又はドットＯＦＦ）のＣＭＹＫのＢＭＰデータである二値データを生成する。なお、変形例では、ＣＰＵ２２は、二値データに代えて、三階調（例えば、大ドットＯＮ、小ドットＯＮ、ドットＯＦＦ）のＢＭＰデータを生成してもよいし、四階調以上のＢＭＰデータを生成してもよい。
【００２９】
Ｓ１１４では、ＣＰＵ２２は、Ｓ１１２で生成された二値データを印刷実行部１６に供給する。これにより、印刷実行部１６は、二値データによって表わされる画像を印刷媒体に印刷を実行する。この結果、印刷済みの印刷媒体をユーザに提供することができる。
【００３０】
ＣＰＵ２２は、Ｓ１１０〜Ｓ１１４の印刷処理が終了すると、Ｓ１１６において、終了通知を対象端末装置に供給する。
【００３１】
次いで、Ｓ１２０では、ＣＰＵ２２は、圧縮印刷データの圧縮効率を示す指標値を算出する。具体的には、ＣＰＵ２２は、数式「（圧縮データサイズ／解凍データサイズ）×１００（％）」を用いて、サイズ率を算出する。ここで、圧縮データサイズは、Ｓ１００で取得された圧縮印刷データのデータサイズであり、解凍データサイズは、Ｓ１１０で生成された解凍済み印刷データのデータサイズである。
【００３２】
例えば、印刷データが写真を表わすデータであれば、通常、印刷データに含まれるＢＭＰデータを構成する複数個の画素に含まれる連続画素の数が少なくなり、この結果、サイズ率が比較的に高くなる（即ち圧縮効率が低くなる）。ここで、連続画素は、隣接する画素が有する画素値に一致する画素値を有する画素である。また、例えば、印刷データがテキストを表わすデータであれば、通常、印刷データに含まれるＢＭＰデータを構成する複数個の画素に含まれる連続画素の数が多くなり、通常、サイズ率が比較的に低くなる（即ち圧縮効率が高くなる）。連続画素の数が多くなる理由は、テキストの背景を表わす各画素が同じ画素値を有するからである。
【００３３】
Ｓ１２２では、ＣＰＵ２２は、メモリ２４内の履歴情報３４（図１参照）に含まれる３個のサイズ率のうちの最も古いサイズ率を消去し、Ｓ１２０で算出されたサイズ率を履歴情報３４に追加する。これにより、最新の３個のサイズ率が履歴情報３４に含まれることになる。
【００３４】
Ｓ１３０では、ＣＰＵ２２は、履歴情報３４に含まれる３個のサイズ率の全てについて、圧縮効率が予め決められている基準効率よりも低いのか否かを判断する。具体的には、ＣＰＵ２２は、３個のサイズ率の全ての値が基準効率を示す基準値「８０％」よりも大きい場合に、圧縮効率が基準効率よりも低いと判断して（Ｓ１３０でＹＥＳ）、Ｓ１３２に進む。一方、ＣＰＵ２２は、３個のサイズ率の少なくとも１個の値が基準値「８０％」以下である場合に、圧縮効率が基準効率よりも低くないと判断して（Ｓ１３０でＮＯ）、Ｓ１３２をスキップし、図３の処理を終了する。
【００３５】
Ｓ１３２では、ＣＰＵ２２は、メモリ２４内の能力情報３２に含まれるｇｚｉｐ情報を「ＯＫ」から「ＮＧ」に変更する。これにより、その後、ＣＰＵ２２は、対象端末装置又は他の端末装置から能力情報要求を取得する場合に、「ＮＧ」を示すｇｚｉｐ情報を含む能力通知を当該端末装置に供給することができ、この結果、当該端末装置から非圧縮印刷データを取得することができる。
【００３６】
非圧縮印刷データが取得される場合には、Ｓ１５２及びＳ１５４の印刷処理が実行される。Ｓ１５２は、解凍済み印刷データに代えて、Ｓ１００で取得された非圧縮印刷データが利用される点を除くと、Ｓ１１２と同様である。また、Ｓ１５４及びＳ１５６は、Ｓ１１４及びＳ１１６と同様である。
【００３７】
Ｓ１６０では、ＣＰＵ２２は、Ｓ１００で取得された非圧縮印刷データに対するｇｚｉｐ圧縮を実行する場合における圧縮効率を示す指標値を算出する。具体的には、ＣＰＵ２２は、まず、非圧縮印刷データに対するｇｚｉｐ圧縮を実行して、圧縮印刷データを生成する。そして、ＣＰＵ２２は、数式「（圧縮データサイズ／解凍データサイズ）×１００（％）」を用いて、サイズ率を算出する。ここで、圧縮データサイズは、Ｓ１６０で生成された圧縮印刷データのデータサイズであり、解凍データサイズは、Ｓ１００で取得された非圧縮印刷データのデータサイズである。Ｓ１６２は、Ｓ１２２と同様である。従って、履歴情報３４に含まれる３個のサイズ率は、Ｓ１２０で算出されるサイズ率と、Ｓ１６０で算出されるサイズ率と、の双方を含み得る。
【００３８】
Ｓ１６４では、ＣＰＵ２２は、メモリ２４内の能力情報３２に含まれるｇｚｉｐ情報が「ＮＧ」を示すのか「ＯＫ」を示すのかを判断する。ＣＰＵ２２は、ｇｚｉｐ情報が「ＮＧ」を示すと判断する場合（Ｓ１６４でＹＥＳ）には、Ｓ１７０及びＳ１７２に進み、ｇｚｉｐ情報が「ＯＫ」を示すと判断する場合（Ｓ１６４でＮＯ）には、Ｓ１７０及びＳ１７２をスキップし、図３の処理を終了する。
【００３９】
Ｓ１７０では、ＣＰＵ２２は、履歴情報３４に含まれる３個のサイズ率の全てについて、圧縮効率が基準効率よりも高いのか否かを判断する。具体的には、ＣＰＵ２２は、３個のサイズ率の全ての値が基準値「８０％」よりも小さい場合に、圧縮効率が基準効率よりも高いと判断して（Ｓ１７０でＹＥＳ）、Ｓ１７２に進む。一方、ＣＰＵ２２は、３個のサイズ率の少なくとも１個の値が基準値「８０％」以上である場合に、圧縮効率が基準効率よりも高くないと判断して（Ｓ１７０でＮＯ）、Ｓ１７２をスキップし、図３の処理を終了する。なお、本実施例では、Ｓ１７０で利用される基準値「８０％」は、Ｓ１３０で利用される基準値と同じであるが、変形例では、これらの基準値が異なる値でもよい。
【００４０】
Ｓ１７２では、ＣＰＵ２２は、メモリ２４内の能力情報３２に含まれるｇｚｉｐ情報を「ＮＧ」から「ＯＫ」に変更する。これにより、その後、ＣＰＵ２２は、対象端末装置又は他の端末装置から能力情報要求を取得する場合に、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知を当該端末装置に供給することができ、この結果、当該端末装置から圧縮印刷データを取得することができる。
【００４１】
（具体的なケース；図４）
続いて、図４を参照して、本実施例の具体的なケースを説明する。図４の各処理は、図２を参照して説明済みの各処理と、図３のフローチャートの各処理と、を用いて実現される。図４では、説明済みの処理のうちの一部を図示省略している。例えば、図４でも、端末装置ＴＥ１において設定画面が表示され（図２のＳ３０）、ユーザから指定指示（Ｓ３２）が与えられるが、これらの処理を図示省略している。図４の初期状態では、プリンタＰＲの能力情報３２に含まれるｇｚｉｐ情報は、「ＯＫ」を示す。また、図１に示されるように、履歴情報３４では、最も古いサイズ率「５０％」が基準効率よりも高い圧縮効率を示し（即ち「８０％」よりも小さい値を示し）、他の２個のサイズ率「８７％」，「９２％」が基準効率よりも低い圧縮効率を示す（即ち「８０％」よりも大きい値を示す）。
【００４２】
端末装置ＴＥ１は、Ｓ２１０でユーザから登録指示を受け付ける場合に、能力情報要求ＩＲ１をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ１を取得する場合に、能力情報３２に含まれるｇｚｉｐ情報が「ＯＫ」を示すので、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ１を端末装置ＴＥ１に供給する。
【００４３】
端末装置ＴＥ１は、プリンタＰＲから能力通知ＣＮ１を取得する場合に、Ｓ２１２において、指定画像データから圧縮印刷データＰＤ１を生成する。そして、端末装置ＴＥ１は、圧縮印刷データＰＤ１と、「ｇｚｉｐ圧縮＝ＯＮ」を示す文字列を含む印刷設定情報ＳＩ１と、をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から圧縮印刷データＰＤ１と印刷設定情報ＳＩ１とを取得する場合（図３の処理のトリガ）に、Ｓ２２０において、解凍処理を含む印刷処理を実行する（Ｓ１００でＹＥＳ、Ｓ１１０〜Ｓ１１４）。そして、プリンタＰＲは、終了通知ＥＮ１を端末装置ＴＥ１に供給する（Ｓ１１６）。
【００４４】
次いで、Ｓ２２２では、プリンタＰＲは、基準効率よりも低い圧縮効率を有するサイズ率（即ち８０％よりも大きいサイズ率）を算出し（Ｓ１２０）、履歴情報３４に含まれる最も古いサイズ率「５０％」を消去して、算出済みのサイズ率を履歴情報３４に追加する（Ｓ１２２）。この結果、履歴情報３４に含まれる３個のサイズ率の全てについて、圧縮効率が基準効率よりも低くなる（Ｓ１３０でＹＥＳ）。従って、Ｓ２２４では、プリンタＰＲは、能力情報３２に含まれるｇｚｉｐ情報を「ＯＫ」から「ＮＧ」に変更する（Ｓ１３２）。
【００４５】
その後、端末装置ＴＥ１は、Ｓ２３０でユーザから登録指示を受け付ける場合に、能力情報要求ＩＲ２をプリンタＰＲに供給する。プリンタＰＲは、Ｓ２２４でｇｚｉｐ情報が「ＮＧ」に変更されたので、端末装置ＴＥ１から能力情報要求ＩＲ２を取得する場合に、「ＮＧ」を示すｇｚｉｐ情報を含む能力通知ＣＮ２を端末装置ＴＥ１に供給する。
【００４６】
端末装置ＴＥ１は、プリンタＰＲから能力通知ＣＮ２を取得する場合に、Ｓ２３２において、指定画像データから非圧縮印刷データＰＤ２を生成する。端末装置ＴＥ１は、非圧縮印刷データＰＤ２と、「ｇｚｉｐ圧縮＝ＯＦＦ」を示す文字列を含む印刷設定情報ＳＩ２と、をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から非圧縮印刷データＰＤ２と印刷設定情報ＳＩ２とを取得する場合（Ｓ１００でＮＯ、図３の処理のトリガ）に、Ｓ２４０において、解凍処理を含まない印刷処理を実行する（Ｓ１５２及びＳ１５４）。そして、プリンタＰＲは、終了通知ＥＮ２を端末装置ＴＥ１に供給する（Ｓ１５６）。
【００４７】
ケースＡは、非圧縮印刷データＰＤ２に基づいて、基準効率よりも低い圧縮効率を有するサイズ率（即ち８０％よりも大きいサイズ率）が算出されるケースである。Ｓ２４２Ａでは、プリンタＰＲは、非圧縮印刷データＰＤ２に対するｇｚｉｐ圧縮を実行し、基準効率よりも低い圧縮効率を有するサイズ率を算出して（Ｓ１６０）、当該サイズ率を履歴情報３４に追加する（Ｓ１６２）。これにより、履歴情報３４に含まれる３個のサイズ率の全てについて、圧縮効率が基準効率よりも低い状態が維持され、能力情報３２に含まれるｇｚｉｐ情報が「ＮＧ」に維持される（Ｓ１６４でＹＥＳ、Ｓ１７０でＮＯ）。
【００４８】
一方、ケースＢは、非圧縮印刷データＰＤ２に基づいて、基準効率よりも高い圧縮効率を有するサイズ率（即ち８０％よりも小さいサイズ率）が算出されるケースである。Ｓ２４２Ｂでは、プリンタＰＲは、非圧縮印刷データＰＤ２に対するｇｚｉｐ圧縮を実行し、基準効率よりも高い圧縮効率を有するサイズ率を算出して（Ｓ１６０）、当該サイズ率を履歴情報３４に追加する（Ｓ１６２）。これにより、履歴情報３４に含まれる３個のサイズ率のうちの最新の１個のサイズ率について、圧縮効率が基準効率よりも高くなる。ただし、履歴情報３４に含まれる他の２個のサイズ率について、圧縮効率が基準効率よりも低いので、能力情報３２に含まれるｇｚｉｐ情報が「ＮＧ」に維持される（Ｓ１６４でＹＥＳ、Ｓ１７０でＮＯ）。
【００４９】
ケースＢでは、その後、図示省略しているが、端末装置ＴＥ１からプリンタＰＲに複数個の非圧縮印刷データが順次供給され、複数個の非圧縮印刷データのそれぞれに対するｇｚｉｐ圧縮が順次実行され、それらの全ての非圧縮印刷データについて、基準効率よりも高い圧縮効率を有するサイズ率（即ち８０％よりも小さいサイズ率）が算出される。この結果、履歴情報３４に含まれる３個のサイズ率の全てについて、圧縮効率が基準効率よりも高くなる。従って、Ｓ２４４では、プリンタＰＲは、能力情報３２に含まれるｇｚｉｐ情報を「ＮＧ」から「ＯＫ」に変更する（Ｓ１６４でＹＥＳ、Ｓ１７０でＹＥＳ、Ｓ１７２）。
【００５０】
その後、端末装置ＴＥ１は、Ｓ２５０でユーザから登録指示を受け付ける場合に、能力情報要求ＩＲ３をプリンタＰＲに供給する。プリンタＰＲは、Ｓ２４４でｇｚｉｐ情報が「ＯＫ」に変更されたので、端末装置ＴＥ１から能力情報要求ＩＲ３を取得する場合に、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ３を端末装置ＴＥ１に供給する。この結果、図示省略しているが、プリンタＰＲは、端末装置ＴＥ１から圧縮印刷データを取得して（Ｓ１００でＹＥＳ）、解凍処理を含む印刷処理を実行する（Ｓ１１０〜Ｓ１１４）。
【００５１】
（本実施例の効果）
印刷データの圧縮効率が比較的に高い状況では、端末装置ＴＥ１が圧縮印刷データをプリンタＰＲに供給すれば、圧縮印刷データの通信時間が効果的に短くなるので、印刷済み印刷媒体をユーザに迅速に提供することができる。しかしながら、印刷データの圧縮効率が比較的に低い状況では、端末装置ＴＥ１が圧縮印刷データをプリンタＰＲに供給しても、圧縮印刷データの通信時間Ｔ１がそれほど短くならない。また、プリンタＰＲでは、圧縮印刷データに対する解凍処理を実行する処理時間Ｔ２が必要である。印刷データの圧縮効率が低い状況において、仮に、端末装置ＴＥ１が非圧縮印刷データをプリンタＰＲに供給するようにすれば、非圧縮印刷データの通信時間Ｔ３が上記の通信時間Ｔ１よりも長くなるが、プリンタＰＲが解凍処理を実行せずに済むので上記の処理時間Ｔ２が不要である。即ち、印刷データの圧縮効率が低い状況では、Ｔ３＜Ｔ１＋Ｔ２という関係になり得るので、非圧縮印刷データを供給する構成を採用した方が、圧縮印刷データを供給する構成と比べて、印刷済み印刷媒体をユーザに迅速に提供し得る。
【００５２】
上記の実情に鑑みて、本実施例では、図４に示されるように、プリンタＰＲは、圧縮印刷データＰＤ１の圧縮効率が比較的に低い場合に、ｇｚｉｐ圧縮を実行可能であるにも関わらず、能力情報３２内のｇｚｉｐ情報を「ＯＫ」から「ＮＧ」に変更する（Ｓ２２４）。例えば、端末装置ＴＥ１のユーザが写真を表わす印刷データ（即ち低い圧縮効率を有する印刷データ）を用いた印刷をプリンタＰＲに頻繁に実行させる状況では、ｇｚｉｐ情報が「ＯＫ」から「ＮＧ」に変更される（Ｓ２２４）。そして、この後も、ユーザが写真を表わす印刷データを用いた印刷をプリンタＰＲに実行させることが予想される。このような状況において、プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ２を取得する場合に、「ＮＧ」を示すｇｚｉｐ情報を含む能力通知ＣＮ２を端末装置ＴＥ１に供給する。この結果、プリンタＰＲは、端末装置ＴＥ１から非圧縮印刷データＰＤ２を取得して、解凍処理を含まない印刷処理を実行する（Ｓ２４０）。そして、ケースＡに示されるように、プリンタＰＲは、低い圧縮効率を有する非圧縮印刷データＰＤ２を取得する場合に、解凍処理を実行せずに済むので、印刷済み印刷媒体をユーザに迅速に提供し得る。このように、本実施例によると、印刷データを用いた印刷が適切に実行され得る。
【００５３】
また、ケースＢに示されるように、例えば、端末装置ＴＥ１のユーザがテキストを表わす印刷データ（即ち高い圧縮効率を有する印刷データ）を用いた印刷をプリンタＰＲに頻繁に実行させる状況では、ｇｚｉｐ情報が「ＮＧ」から「ＯＫ」に変更される（Ｓ２４４）。そして、この後も、ユーザがテキストを表わす印刷データを用いた印刷をプリンタＰＲに実行させることが予想される。このような状況において、プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ３を取得する場合に、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ３を端末装置ＴＥ１に供給する。この結果、プリンタＰＲは、端末装置ＴＥ１から圧縮印刷データを取得して、解凍処理を含む印刷処理を実行する。当該圧縮印刷データの圧縮効率が高い場合には、当該圧縮印刷データの通信時間が短くて済むので、印刷済み印刷媒体をユーザに迅速に提供し得る。このように、本実施例によると、印刷データを用いた印刷が適切に実行され得る。
【００５４】
（対応関係）
図４では、端末装置ＴＥ１が、「第１の外部装置」、「第２の外部装置」、及び、「第３の外部装置」の一例である。「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ１が、「特定の処理能力を示す情報を含む第１の能力情報」の一例である。能力通知ＣＮ２、能力通知ＣＮ３が、それぞれ、「第２の能力情報」、「第３の能力情報」の一例である。圧縮印刷データＰＤ１、非圧縮印刷データＰＤ２が、それぞれ、「第１の印刷データ」、「第２の印刷データ」の一例である。圧縮印刷データＰＤ１の元の指定画像データ、非圧縮印刷データＰＤ２の元の指定画像データが、それぞれ、「第１の画像データ」、「第２の画像データ」の一例である。
【００５５】
図３では、Ｓ１１０〜Ｓ１１４が、「第１の印刷処理」の一例であり、Ｓ１５２及びＳ１５４が、「第２の印刷処理」の一例である。Ｓ１１０の解凍処理が、「特定の処理」の一例である。Ｓ１２０で算出されるサイズ率、Ｓ１６０で算出されるサイズ率が、それぞれ、「第１の圧縮効率」、「第２の圧縮効率」の一例である。Ｓ１３０で利用される基準値「８０％」、Ｓ１７０で利用される基準値「８０％」が、それぞれ、「第１の基準効率」、「第２の基準効率」の一例である。Ｓ１３０でＹＥＳと判断されること、Ｓ１７０でＹＥＳと判断されることが、それぞれ、「第１の所定条件を満たす」、「第２の所定条件を満たす」の一例である。
【００５６】
（サイズ率の変形例）
上記の第１実施例では、Ｓ１２０及びＳ１６０では、数式「（圧縮データサイズ／解凍データサイズ）×１００（％）」を用いてサイズ率が算出される。これに代えて、サイズ率は、例えば、数式「（解凍データサイズ／圧縮データサイズ）×１００（％）」を用いて算出されてもよい。本変形例では、サイズ率の値が大きい程、圧縮効率が高くなり、サイズ率の値が小さい程、圧縮効率が低くなる。Ｓ１３０では、ＣＰＵ２２は、サイズ率が基準効率を示す基準値（例えば「１２５％」）よりも小さい場合に、圧縮効率が基準効率よりも低いと判断してもよい。また、Ｓ１７０では、ＣＰＵ２２は、サイズ率が基準効率を示す基準値（例えば「１２５％」）よりも大きい場合に、圧縮効率が基準効率よりも高いと判断してもよい。なお、本変形例は、後述の第２及び第４実施例において利用されるサイズ率にも適用可能である。
【００５７】
（第２実施例）
本実施例では、図３のＳ１６０、Ｓ１６２、及び、Ｓ１７０が第１実施例とは異なり、これら以外の図３の各処理は、第１実施例と同様である。Ｓ１６０では、ＣＰＵ２２は、非圧縮印刷データに含まれるＢＭＰデータを構成する複数個の画素の連続画素率を算出する。また、図１に示されるように、メモリ２４内の履歴情報３４は、Ｓ１２２でサイズ率が追加される第１の履歴情報と、Ｓ１６２で連続画素率が追加される第２の履歴情報と、を含む。第１の履歴情報、第２の履歴情報は、それぞれ、最大で３個の指標値を含む。第１の履歴情報が利用されてＳ１３０の処理が実行される点は、第１実施例と同様である。
【００５８】
図５を参照して、連続画素率の算出方法を説明する。図５は、非圧縮印刷データに含まれるＢＭＰデータを構成する複数個の画素の一部を示す。ＣＰＵ２２は、複数個の画素のうちの１個の画素を対象画素として特定する。そして、ＣＰＵ２２は、対象画素が有する画素値（例えば上の行の左から２番目の「２５５．２５５．２５５」）と、対象画素の左側に隣接する隣接画素が有する画素値（例えば上の行の最も左の「２５５．２５５．２５５」）と、が一致する場合に、対象画素を連続画素としてカウントする。ＣＰＵ２２は、対象画素が有する画素値（例えば上の行の左から３番目の「２００．１５０．１５０」）と、隣接画素が有する画素値（例えば上の行の左から２番目の「２５５．２５５．２５５」）と、が一致しない場合に、対象画素を連続画素としてカウントしない。ＣＰＵ２２は、複数個の画素のそれぞれを対象画素として特定して、連続画素の合計数を算出する。なお、対象画素の特定方法は、例えば、以下のとおりである。即ち、ＣＰＵ２２は、まず、複数個の画素を構成する複数行のうちの最も上の行において、左から右に向かって対象画素を順次特定する。ＣＰＵ２２は、最も右側の対象画素を特定すると、当該対象画素の１つ下の行において、左から右に向かって対象画素を順次特定する。ＣＰＵ２２は、これらの処理を繰り返すことによって、複数個の画素の全てを対象画素として順次特定することができる。次いで、ＣＰＵ２２は、数式「（連続画素の合計数／全画素数）×１００（％）」を用いて、連続画素率を算出する。ここで、全画素数は、非圧縮印刷データに含まれるＢＭＰデータを構成する全画素数である。
【００５９】
上述したように、例えば、印刷データがテキストを表わすデータであれば、通常、連続画素の合計数が大きくなる。この場合、連続画素率が大きくなり、この結果、圧縮効率が高くなる。また、例えば、印刷データが写真を表わすデータであれば、通常、連続画素の合計数が小さくなる。この場合、連続画素率が小さくなり、この結果、圧縮効率が低くなる。即ち、サイズ率については、値が大きい程、圧縮効率が低くなるが、連続画素率については、値が大きい程、圧縮効率が高くなる。
【００６０】
図３のＳ１６２では、ＣＰＵ２２は、メモリ２４内の第２の履歴情報に含まれる３個の連続画素率のうちの最も古い連続画素率を消去し、Ｓ１６０で算出された連続画素率を第２の履歴情報に追加する。これにより、最新の３個の連続画素率が第２の履歴情報に含まれることになる。
【００６１】
Ｓ１７０では、ＣＰＵ２２は、第２の履歴情報に含まれる３個の連続画素率の全ての値が基準値「２０％」よりも大きい場合に、３個の連続画素率の全てについて、圧縮効率が基準効率よりも高いと判断して（Ｓ１７０でＹＥＳ）、Ｓ１７２に進む。一方、ＣＰＵ２２は、３個の連続画素率の少なくとも１個の値が上記の基準値「２０％」以下である場合に、圧縮効率が基準効率よりも高くないと判断する（Ｓ１７０でＮＯ）。
【００６２】
本実施例でも、第１実施例と同様に、印刷データを用いた印刷が適切に実行され得る。また、第１実施例とは異なり、図３のＳ１６０において、プリンタＰＲは、非圧縮印刷データを圧縮せずに済むので、非圧縮印刷データを圧縮するためのプログラムを備えずに済む。このために、メモリ２４内のプログラムの容量が少なくて済む。本実施例では、Ｓ１７０で利用される基準値「２０％」が、「第２の基準効率」の一例である。
【００６３】
（連続画素率の変形例）
上記の第２実施例では、Ｓ１６０では、数式「（連続画素の合計数／全画素数）×１００（％）」を用いて連続画素率が算出される。これに代えて、Ｓ１６０では、数式「（非連続画素の合計数／全画素数）×１００（％）」を用いて非連続画素率が算出されてもよい。ここで、非連続画素は、隣接する画素が有する画素値に一致しない画素値を有する画素である。図５の例では、上の行の左から３番目の対象画素が有する画素値（即ち「２００．１５０．１５０」）は、対象画素の左側に隣接する隣接画素が有する画素値（即ち「２５５．２５５．２５５」）に一致しないので、対象画素が非連続画素としてカウントされる。非連続画素率の値が大きい程、圧縮効率が低くなり、非連続画素の値が小さい程、圧縮効率が高くなる。本変形例では、Ｓ１７０では、ＣＰＵ２２は、非連続画素率が基準効率を示す基準値（例えば「８０％」）よりも小さい場合に、圧縮効率が基準効率よりも高いと判断してもよい。なお、後述の第３実施例においても、連続画素率に代えて非連続画素率が適用されてもよい。
【００６４】
（第３実施例）
本実施例では、図３のＳ１２０、Ｓ１２２、Ｓ１３０、Ｓ１６０、Ｓ１６２、及び、Ｓ１７０が第１実施例とは異なり、これら以外の図３の各処理は、第１実施例と同様である。Ｓ１２０及びＳ１６０のそれぞれにおいて、ＣＰＵ２２は、第２実施例と同様の手法を利用して、連続画素率を算出する。また、図１に示されるように、メモリ２４内の履歴情報３４は、最大で３個の連続画素率を含む。履歴情報３４に含まれる３個の連続画素率は、Ｓ１２０で算出される連続画素率と、Ｓ１６０で算出される連続画素率と、の双方を含み得る。
【００６５】
Ｓ１２２では、ＣＰＵ２２は、メモリ２４内の履歴情報３４に含まれる３個の連続画素率のうちの最も古い連続画素率を消去し、Ｓ１２０で算出された連続画素率を履歴情報３４に追加する。これにより、最新の３個の連続画素率が履歴情報３４に含まれることになる。
【００６６】
Ｓ１３０では、ＣＰＵ２２は、履歴情報３４に含まれる３個の連続画素率の全ての値が基準値「２０％」よりも小さい場合に、３個の連続画素率の全てについて、圧縮効率が基準効率よりも低いと判断して（Ｓ１３０でＹＥＳ）、Ｓ１３２に進む。一方、ＣＰＵ２２は、３個の連続画素率の少なくとも１個の値が基準値「２０％」以上である場合に、圧縮効率が基準効率よりも低くないと判断する（Ｓ１３０でＮＯ）。Ｓ１７０は、第２実施例と同様である。
【００６７】
本実施例でも、第１実施例と同様に、印刷データを用いた印刷が適切に実行され得るし、第２実施例と同様に、メモリ２４内のプログラムの容量が少なくて済む。本実施例では、連続画素、Ｓ１２０で算出される連続画素率が、それぞれ、「特定の画素」、「第１の圧縮効率」の一例である。
【００６８】
なお、変形例では、ＣＰＵ２２は、図３のＳ１２０において、第３実施例と同様に、連続画素率を算出し、Ｓ１６０において、第１実施例と同様に、サイズ率を算出してもよい。本変形例では、メモリ２４内の履歴情報３４は、Ｓ１２２で連続画素率が追加される第１の履歴情報と、Ｓ１６２でサイズ率が追加される第２の履歴情報と、を含む。
【００６９】
（第４実施例；図６）
本実施例では、端末装置毎のサイズ率が履歴情報３４として記憶される。履歴情報３４は、端末装置毎に最大で３個のサイズ率を含む。例えば、履歴情報３４は、端末装置ＴＥ１のＭＡＣアドレスに対応付けて最大で３個のサイズ率を含むと共に、端末装置ＴＥ２のＭＡＣアドレスに対応付けて最大で３個のサイズ率を含む。
【００７０】
図３のＳ１２２では、ＣＰＵ２２は、Ｓ１００で取得された印刷データの供給元の端末装置（即ち対象端末装置）のＭＡＣアドレスを特定し、メモリ２４内の履歴情報３４に含まれる当該ＭＡＣアドレスに対応する３個のサイズ率のうちの最も古いサイズ率を消去し、当該ＭＡＣアドレスに対応付けてＳ１２０で算出されたサイズ率を履歴情報３４に追加する。Ｓ１６２も同様に実行される。また、本実施例では、Ｓ１３０、Ｓ１３２、Ｓ１６４、Ｓ１７０、及び、Ｓ１７２が実行されない。
【００７１】
（具体的なケース）
図６を参照して、本実施例の具体的なケースを説明する。図６の例では、履歴情報３４は、端末装置ＴＥ１のＭＡＣアドレス「Ｍ１」に対応する３個のサイズ率と、端末装置ＴＥ２のＭＡＣアドレス「Ｍ２」に対応する３個のサイズ率と、を含む。より具体的には、ＭＡＣアドレス「Ｍ１」に対応する３個のサイズ率では、最も古いサイズ率「５３％」が基準値「８０％」以下であり（即ち圧縮効率が比較的に高く）、他の２個のサイズ「９０％」及び「８８％」が基準値「８０％」よりも大きい（即ち圧縮効率が比較的に低い）。また、ＭＡＣアドレス「Ｍ２」に対応する全ての３個のサイズ率（「３３％」等）は、基準値「８０％」以下である（即ち圧縮効率が比較的に高い）。
【００７２】
端末装置ＴＥ１は、Ｓ３１０でユーザから登録指示を受け付ける場合に、ＭＡＣアドレス「Ｍ１」を含む能力情報要求ＩＲ４をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ４を取得する場合に、Ｓ３１１において、履歴情報３４からＭＡＣアドレス「Ｍ１」に対応する３個のサイズ率を読み出す。そして、プリンタＰＲは、当該３個のサイズ率のうちの少なくとも１個のサイズ率「５３％」が基準値「８０％」以下であるので、即ち、端末装置ＴＥ１から過去に取得された印刷データの圧縮効率が基準効率よりも高いので、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ４を端末装置ＴＥ１に供給する。
【００７３】
端末装置ＴＥ１は、プリンタＰＲから能力通知ＣＮ４を取得する場合に、Ｓ３１２において、指定画像データから圧縮印刷データＰＤ４を生成する。そして、端末装置ＴＥ１は、圧縮印刷データＰＤ４と、「ｇｚｉｐ圧縮＝ＯＮ」を示す文字列を含む印刷設定情報ＳＩ４と、をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から圧縮印刷データＰＤ４と印刷設定情報ＳＩ４とを取得する場合（図３の処理のトリガ）に、Ｓ３２０において、解凍処理を含む印刷処理を実行する（Ｓ１００でＹＥＳ、Ｓ１１０〜Ｓ１１４）。そして、プリンタＰＲは、終了通知ＥＮ４を端末装置ＴＥ１に供給する（Ｓ１１６）。
【００７４】
次いで、Ｓ３２２では、プリンタＰＲは、基準効率よりも低い圧縮効率を有するサイズ率「８９％」を算出し（Ｓ１２０）、ＭＡＣアドレス「Ｍ１」に対応する最も古いサイズ率「５３％」を消去し、算出済みのサイズ率「８９％」をＭＡＣアドレス「Ｍ１」に対応付けて履歴情報３４に追加する（Ｓ１２２）。この結果、ＭＡＣアドレス「Ｍ１」に対応する３個のサイズ率の全てが基準値「８０％」よりも大きくなる。即ち、端末装置ＴＥ１から過去に取得された最新の３個の印刷データの全ての圧縮効率が基準効率よりも低くなる。
【００７５】
その後、端末装置ＴＥ１とは異なる端末装置ＴＥ２は、Ｓ３３０でユーザから登録指示を受け付ける場合に、ＭＡＣアドレス「Ｍ２」を含む能力情報要求ＩＲ５をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ２から能力情報要求ＩＲ５を取得する場合に、Ｓ３３１において、履歴情報３４からＭＡＣアドレス「Ｍ２」に対応する３個のサイズ率を読み出す。そして、プリンタＰＲは、当該３個のサイズ率のうちの少なくとも１個のサイズ率が基準値「８０％」以下であるので、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ５を端末装置ＴＥ２に供給する。
【００７６】
端末装置ＴＥ２は、プリンタＰＲから能力通知ＣＮ５を取得する場合に、Ｓ３３２において、指定画像データから圧縮印刷データＰＤ５を生成する。そして、端末装置ＴＥ２は、圧縮印刷データＰＤ５と、「ｇｚｉｐ圧縮＝ＯＮ」を示す文字列を含む印刷設定情報ＳＩ５と、をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ２から圧縮印刷データＰＤ５と印刷設定情報ＳＩ５とを取得する場合（図３の処理のトリガ）に、Ｓ３４０において、解凍処理を含む印刷処理を実行する（Ｓ１００でＹＥＳ、Ｓ１１０〜Ｓ１１４）。そして、プリンタＰＲは、終了通知ＥＮ５を端末装置ＴＥ２に供給する（Ｓ１１６）。
【００７７】
次いで、Ｓ３４２では、プリンタＰＲは、比較的に高い圧縮効率を有するサイズ率「３０％」を算出し（Ｓ１２０）、ＭＡＣアドレス「Ｍ２」に対応する最も古いサイズ率「３３％」を消去し、算出済みのサイズ率「３０％」をＭＡＣアドレス「Ｍ２」に対応付けて履歴情報３４に追加する（Ｓ１２２）。
【００７８】
その後、端末装置ＴＥ１は、Ｓ３５０でユーザから登録指示を受け付ける場合に、能力情報要求ＩＲ６をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ６を取得する場合に、Ｓ３５１において、履歴情報３４からＭＡＣアドレス「Ｍ１」に対応する３個のサイズ率を読み出す。そして、プリンタＰＲは、当該３個のサイズ率のうちの全てが基準値「８０％」以上であるので、「ＮＧ」を示すｇｚｉｐ情報を含む能力通知ＣＮ６を端末装置ＴＥ１に供給する。この結果、図示省略しているが、プリンタＰＲは、端末装置ＴＥ１から非圧縮印刷データを取得して（Ｓ１００でＹＥＳ）、解凍処理を含まない印刷処理を実行する（Ｓ１５２及びＳ１５４）。
【００７９】
（本実施例の効果）
本実施例では、プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ４を取得する場合に、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ４を端末装置ＴＥ１に供給する。プリンタＰＲは、圧縮印刷データＰＤ４の圧縮効率が基準効率よりも低く、かつ、端末装置ＴＥ１から能力情報要求ＩＲ６を取得する場合に、「ＮＧ」を示すｇｚｉｐ情報を含む能力通知ＣＮ６を端末装置ＴＥ１に供給する。このために、端末装置ＴＥ１からプリンタＰＲに比較的に低い圧縮効率を有する圧縮印刷データＰＤ６が供給される場合に、プリンタＰＲが解凍処理を実行せずに済み、この結果、印刷済み印刷媒体をユーザに迅速に提供し得る。
【００８０】
一方、プリンタＰＲは、圧縮印刷データＰＤ４の圧縮効率が基準効率よりも低く、かつ、端末装置ＴＥ１とは異なる端末装置ＴＥ２から能力情報要求ＩＲ５を取得する場合に、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ５を端末装置ＴＥ２に供給する。このように、本実施例によると、プリンタＰＲは、端末装置ＴＥ１のＭＡＣアドレス「Ｍ１」に対応付けられている３個のサイズ率の全てが基準効率よりも低い場合でも、端末装置ＴＥ２から能力情報要求ＩＲ５を取得する場合に、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知ＣＮ５を端末装置ＴＥ２に供給する。このために、端末装置ＴＥ２からプリンタＰＲに比較的に高い圧縮効率を有する圧縮印刷データＰＤ５が供給される場合に、圧縮印刷データＰＤ５の通信時間が短くて済むので、印刷済み印刷媒体をユーザに迅速に提供し得る。このために、端末装置ＴＥ１，ＴＥ２に応じて、印刷データを用いた印刷が適切に実行され得る。
【００８１】
（対応関係）
本実施例では、端末装置ＴＥ１が、「第１の外部装置」及び「第２の外部装置」の一例であり、端末装置ＴＥ２が、「第４の外部装置」の一例である。能力情報要求ＩＲ４〜ＩＲ６が、「所定の要求」の一例である。能力通知ＣＮ４、能力通知ＣＮ６、能力通知ＣＮ５が、それぞれ、「第１の能力情報」、「第２の能力情報」、「第４の能力情報」の一例である。
【００８２】
（第５実施例）
上記の第１実施例〜第４実施例では、プリンタＰＲは、印刷データの圧縮効率に注目して、「ＯＫ」を示すｇｚｉｐ情報を含む能力通知を供給するのか、「ＮＧ」を示すｇｚｉｐ情報を含む能力通知を供給するのか、を変える。これに対し、本実施例では、プリンタＰＲは、ＰＤＦ形式を有する印刷データに対する展開処理が成功するのか失敗するのかに応じて、「ＰＤＦ」を示すデータ形式情報を含む能力通知を供給するのか、「ＰＤＦ」を示さないデータ形式情報を含む能力通知を供給するのか、を変える。
【００８３】
（印刷データ取得時処理；図７）
プリンタＰＲのＣＰＵ２２は、図３の処理に代えて、図７の印刷データ取得時処理を実行する。ＣＰＵ２２は、対象端末装置から印刷データと印刷設定情報とを取得する場合に、図７の処理を開始する。なお、図７の処理は、図２のＳ４０の印刷処理と終了通知ＥＮの供給とを含む。
【００８４】
Ｓ４００では、ＣＰＵ２２は、印刷設定情報内に「データ形式＝ＰＤＦ」を示す文字列が含まれるのか否かを判断する。ＣＰＵ２２は、印刷設定情報内に「データ形式＝ＰＤＦ」を示す文字列が含まれる場合、即ち、ＰＤＦ形式を有する印刷データが取得された場合には、Ｓ４００でＹＥＳと判断して、Ｓ４１２〜Ｓ４１４の印刷処理を実行する。一方、ＣＰＵ２２は、印刷設定情報内に「データ形式＝ＰＤＦ」を示す文字列が含まれない場合、即ち、ＪＰＥＧ形式又はＰＷＧ形式を有する印刷データが取得された場合には、Ｓ４５２及びＳ４５４の印刷処理を実行する。なお、Ｓ４１２〜Ｓ４１４の印刷処理とＳ４５２及びＳ４５４の印刷処理とは、図２のＳ４０の印刷処理の具体的な処理を示す。
【００８５】
Ｓ４１２では、ＣＰＵ２２は、ＰＤＦ形式を有する印刷データを展開する展開処理を実行して、二値データを生成する。Ｓ４１２の処理は、図３のＳ１１２と同様である。ただし、本実施例では、プリンタＰＲがＰＤＦ形式を有する印刷データを展開することができない状況が起こり得ることを想定している。例えば、ＰＤＦでは、様々な種類のコマンドが利用され得るが、本実施例のプリンタＰＲは、ＰＤＦで利用される全てのコマンドをサポートしていない。即ち、プリンタＰＲは、特殊なフォント形式を指示するコマンド、特殊なグラデーションを指示するコマンド、ＪＥＰＧ２０００を用いたコマンド、ＪＰＥＧ２を用いたコマンド等をサポートしていない。従って、このような特殊なコマンドを含むＰＤＦ形式の印刷データが取得される場合には、ＣＰＵ２２は、当該印刷データを展開することができず、この結果、二値データを生成することができない。このように、Ｓ４１２では、ＣＰＵ２２は、ＰＤＦ形式を有する印刷データを展開することを試行する試行処理を実行する。
【００８６】
Ｓ４１３では、ＣＰＵ２２は、Ｓ４１２の展開処理が成功したのか否かを判断する。ＣＰＵ２２は、展開処理が成功して二値データが生成された場合には、Ｓ４１３でＹＥＳと判断して、Ｓ４１４及びＳ４１６を実行する。Ｓ４１４及びＳ４１６は、図３のＳ１１４及びＳ１１６と同様である。Ｓ４１６が終了すると、図７の処理が終了する。一方、ＣＰＵ２２は、展開処理が成功せずに二値データが生成されなかった場合には、Ｓ４１３でＮＯと判断して、Ｓ４２０に進む。
【００８７】
Ｓ４２０では、ＣＰＵ２２は、メモリ２４内の能力情報３２に含まれるデータ形式情報から「ＰＤＦ」を消去する。これにより、その後、ＣＰＵ２２は、対象端末装置又は他の端末装置から能力情報要求を取得する場合に、「ＰＤＦ」を示さないデータ形式情報を含む能力通知を当該端末装置に供給することができ、この結果、当該端末装置からＰＤＦ形式とは異なるデータ形式を有する印刷データを取得することができる。
【００８８】
Ｓ４２２では、ＣＰＵ２２は、印刷データを展開不可能であることを示すメッセージ、即ち、印刷を実行不可能であることを示すメッセージを含むエラー通知を対象端末装置に供給する。これにより、対象端末装置で当該メッセージが表示されるので、ユーザは、印刷を実行不可能であることを知ることができる。Ｓ４２２が終了すると、図７の処理が終了する。
【００８９】
一方、ＪＰＥＧ形式又はＰＷＧ形式を有する印刷データが取得された場合には、ＣＰＵ２２は、Ｓ４５２〜Ｓ４５６を順次実行する。Ｓ４５２〜Ｓ４５６は、図３のＳ１１２〜Ｓ１１６（即ちＳ１５２〜Ｓ１５６）と同様である。
【００９０】
Ｓ４６０では、ＣＰＵ２２は、メモリ２４内の能力情報３２に含まれるデータ形式情報に「ＰＤＦ」が記述されているのか否かを判断する。ＣＰＵ２２は、データ形式情報に「ＰＤＦ」が記述されていると判断する場合（Ｓ４６０でＹＥＳ）には、Ｓ４６２をスキップし、図７の処理を終了する。一方、ＣＰＵ２２は、データ形式情報に「ＰＤＦ」が記述されていないと判断する場合（Ｓ４６０でＮＯ）には、データ形式情報に「ＰＤＦ」を追加する。これにより、その後、ＣＰＵ２２は、対象端末装置又は他の端末装置から能力情報要求を取得する場合に、「ＰＤＦ」を示すデータ形式情報を含む能力通知を当該端末装置に供給することができ、この結果、当該端末装置からＰＤＦ形式を有する印刷データを取得することができる。Ｓ４６２が終了すると、図７の処理が終了する。
【００９１】
（具体的なケース；図８）
図８を参照して、本実施例の具体的なケースを説明する。端末装置ＴＥ１は、Ｓ５１０でユーザから登録指示を受け付ける場合に、能力情報要求ＩＲ７をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ７を取得する場合に、「ＰＤＦ」を示すデータ形式情報を含む能力通知ＣＮ７を端末装置ＴＥ１に供給する。
【００９２】
端末装置ＴＥ１は、プリンタＰＲから能力通知ＣＮ７を取得する場合に、Ｓ５１２において、指定画像データからＰＤＦ形式を有する印刷データＰＤ７を生成する。そして、端末装置ＴＥ１は、印刷データＰＤ７と、「データ形式＝ＰＤＦ」を示す文字列を含む印刷設定情報ＳＩ７と、をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から印刷データＰＤ７と印刷設定情報ＳＩ７とを取得する場合（図７の処理のトリガ）に、Ｓ５２０において、展開処理を実行することを試行するが（Ｓ４１２）、展開処理に失敗する。このために、Ｓ５２２では、プリンタＰＲは、能力情報３２内のデータ形式情報から「ＰＤＦ」を消去する（Ｓ４２０）。そして、プリンタＰＲは、エラー通知Ｎ１を端末装置ＴＥ１に供給する（Ｓ４２２）。
【００９３】
端末装置ＴＥ１のユーザは、プリンタＰＲが印刷を実行不可能であることを知る場合に、Ｓ５３０において、登録指示を端末装置ＴＥ１に再び与える。端末装置ＴＥ１は、Ｓ５３０でユーザから登録指示を受け付ける場合に、能力情報要求ＩＲ８をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ８を取得する場合に、Ｓ５２２でデータ形式情報から「ＰＤＦ」が消去されたので、「ＰＤＦ」を示さないデータ形式情報（即ち「ＪＰＥＧ」及び「ＰＷＧ」のみを示すデータ形式情報）を含む能力通知ＣＮ８を端末装置ＴＥ１に供給する。
【００９４】
端末装置ＴＥ１は、プリンタＰＲから能力通知ＣＮ８を取得する場合に、Ｓ５３２において、指定画像データからＰＤＦ形式とは異なるＰＷＧ形式を有する印刷データＰＤ８を生成する。ここで、端末装置ＴＥ１のユーザは、展開処理が失敗した指定画像データと同じ指定画像データを再び指定する。即ち、Ｓ５３２で生成される印刷データＰＤ８とＳ５１２で生成される印刷データＰＤ７とは、同じ画像データから生成される。そして、端末装置ＴＥ１は、印刷データＰＤ８と、「データ形式＝ＰＷＧ」を示す文字列を含む印刷設定情報ＳＩ８と、をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から印刷データＰＤ８と印刷設定情報ＳＩ８とを取得する場合（図７の処理のトリガ）に、Ｓ５４０において、印刷処理を実行し（Ｓ４５２及びＳ４５４）、終了通知ＥＮ８を端末装置ＴＥ１に供給する（Ｓ４５６）。そして、Ｓ５４２では、プリンタＰＲは、能力情報３２内のデータ形式情報に「ＰＤＦ」を追加する（Ｓ４６２）。
【００９５】
その後、端末装置ＴＥ１は、Ｓ５５０でユーザから登録指示を受け付ける場合に、能力情報要求ＩＲ９をプリンタＰＲに供給する。プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ９を取得する場合に、Ｓ５４２でデータ形式情報に「ＰＤＦ」が追加されたので、「ＰＤＦ」を示すデータ形式情報を含む能力通知ＣＮ９を端末装置ＴＥ１に供給する。この結果、図示省略しているが、プリンタＰＲは、端末装置ＴＥ１からＰＤＦ形式を有する印刷データを取得し得る（Ｓ４００でＹＥＳ）。
【００９６】
変形例では、端末装置ＴＥ１とは異なる端末装置ＴＥ２において、Ｓ５５０の登録指示が実行されてもよい。この場合、プリンタＰＲは、端末装置ＴＥ２から能力情報要求ＩＲ９を取得して、「ＰＤＦ」を示すデータ形式情報を含む能力通知ＣＮ９を端末装置ＴＥ２に供給する。この結果、プリンタＰＲは、端末装置ＴＥ２からＰＤＦ形式を有する印刷データを取得し得る（Ｓ４００でＹＥＳ）。
【００９７】
（本実施例の効果）
本実施例では、図８に示されるように、プリンタＰＲは、ＰＤＦ形式を有する印刷データＰＤ７の展開処理に失敗する場合（Ｓ５２０）に、ＰＤＦ形式をサポートしているにも関わらず、能力情報３２内のデータ形式情報から「ＰＤＦ」を消去する（Ｓ５２２）。このために、プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ８を取得する場合に、「ＰＤＦ」を示さないデータ形式情報を含む能力通知ＣＮ８を端末装置ＴＥ１に供給する。この結果、プリンタＰＲは、端末装置ＴＥ１からＰＤＦ形式とは異なるＰＷＧ形式を有する印刷データＰＤ８を取得することができ、この結果、印刷処理を適切に実行することができる。即ち、印刷済み印刷媒体をユーザに適切に提供することができる。このように、本実施例によると、印刷データを用いた印刷が適切に実行され得る。
【００９８】
また、プリンタＰＲは、印刷データＰＤ８を用いた印刷を実行した後に、能力情報３２内のデータ形式情報に「ＰＤＦ」を追加する（Ｓ５４２）。これにより、プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ９を取得する場合に、「ＰＤＦ」を示すデータ形式情報を含む能力通知ＣＮ９を端末装置ＴＥ１に供給する。この結果、プリンタＰＲは、端末装置ＴＥ１からＰＤＦ形式を有する印刷データを取得し得る。そして、プリンタＰＲが当該印刷データの展開処理に成功する場合には、プリンタＰＲは、当該印刷データを用いた印刷を適切に実行することができる。
【００９９】
ＰＤＦ形式を有する印刷データが上記の特殊なコマンドを含むのか否かについては、印刷データの元の画像データの内容に依存し得る。例えば、画像データが特殊なフォント形式を指示するコマンドを含む場合には、その画像データから生成されるＰＤＦ形式の印刷データも当該特殊なフォント形式を指示するコマンドを含み得る。ただし、画像データが特殊なフォント形式を指示するコマンドを含まない場合には、その画像データから生成されるＰＤＦ形式の印刷データも当該特殊なフォント形式を指示するコマンドを含まない可能性が高い。上記の図８のケースでは、端末装置ＴＥ１によって特定の画像データから生成されるＰＤＦ形式を有する印刷データＰＤ７の展開処理に失敗し、次いで、端末装置ＴＥ１によって上記の特定の画像データから生成される印刷データＰＤ８の印刷が実行される。その後、仮に、端末装置ＴＥ１によって上記の特定の画像データとは異なる画像データからＰＤＦ形式を有する別の印刷データが生成されると、当該別の印刷データが上記の特殊なコマンドを含まない可能性がある。このような実情に鑑みて、プリンタＰＲは、印刷データＰＤ８を用いた印刷を実行した後に、能力情報３２内のデータ形式情報に「ＰＤＦ」を追加する。この結果、プリンタＰＲは、端末装置ＴＥ１から能力情報要求ＩＲ９を取得する場合に、「ＰＤＦ」を示すデータ形式情報を含む能力通知ＣＮ９を端末装置ＴＥ１に供給することができる。従って、プリンタＰＲは、端末装置ＴＥ１から上記の別の印刷データを取得する場合に、上記の別の印刷データの展開処理に成功して、印刷を適切に実行し得る。
【０１００】
また、ＰＤＦ形式を有する印刷データが上記の特殊なコマンドを含むのか否かについては、端末装置（例えばＴＥ１）の処理に依存し得る。例えば、端末装置ＴＥ１は、ＰＤＦ形式を有する印刷データＰＤ７の元の画像データが特殊なコマンドを含んでいなくても、当該画像データを用いて印刷データＰＤ７を生成する際に、特殊なコマンドを含む印刷データＰＤ７を生成し得る。一方、端末装置ＴＥ１とは異なる端末装置ＴＥ２は、画像データが特殊なコマンドを含んでいない場合に、当該画像データを用いて別の印刷データを生成する際に、特殊なコマンドを含まない印刷データを生成し得る。このような実情に鑑みて、プリンタＰＲは、印刷データＰＤ８を用いた印刷を実行した後に、能力情報３２内のデータ形式情報に「ＰＤＦ」を追加する。この結果、プリンタＰＲは、端末装置ＴＥ２から能力情報要求ＩＲ９を取得する場合に、「ＰＤＦ」を示すデータ形式情報を含む能力通知ＣＮ９を端末装置ＴＥ２に供給することができる。従って、プリンタＰＲは、端末装置ＴＥ２からＰＤＦ形式を有する印刷データを取得する場合に、当該印刷データの展開処理に成功して、印刷を適切に実行し得る。
【０１０１】
（対応関係）
図８では、端末装置ＴＥ１が、「第１の外部装置」、「第２の外部装置」、及び、「第３の外部装置」の一例である。ＰＤＦが、「所定のデータ形式」の一例である。「ＰＤＦ」を示すデータ形式情報を含む能力通知ＣＮ７が、「特定の処理能力を示す情報を含む第１の能力情報」の一例である。能力通知ＣＮ８、能力通知ＣＮ９が、それぞれ、「第２の能力情報」、「第３の能力情報」の一例である。印刷データＰＤ７、印刷データＰＤ８が、それぞれ、「第１の印刷データ」、「第２の印刷データ」の一例である。印刷データＰＤ７の元の指定画像データ、印刷データＰＤ８の元の指定画像データが、それぞれ、「第１の画像データ」、「第２の画像データ」の一例である。図７では、Ｓ４１２〜Ｓ４１４が、「第１の印刷処理」の一例であり、Ｓ４５２及びＳ４５４が、「第２の印刷処理」の一例である。Ｓ４１２の展開処理が、「特定の処理」の一例である。Ｓ４１３でＮＯと判断されることが、「第１の所定条件を満たす」の一例である。
【０１０２】
（第６実施例）
本実施例では、図７のＳ４２２の処理の内容が第５実施例とは異なる。具体的には、ＣＰＵ２２は、能力情報要求の再送を指示するための再送通知を対象端末装置に供給する。これにより、対象端末装置は、プリンタＰＲから再送通知を取得する場合に、ユーザから登録指示を受け付けなくても、能力情報要求をプリンタＰＲに供給する。
【０１０３】
図９のケースでは、図８のエラー通知Ｎ１に代えて、再送通知Ｎ２が端末装置ＴＥ１に供給される。端末装置ＴＥ１は、プリンタＰＲから再送通知Ｎ２を取得する場合に、ユーザからＳ５３０の登録指示を受け付けなくても、能力情報要求ＩＲ８をプリンタＰＲに自動的に供給する。これにより、端末装置ＴＥ１は、プリンタＰＲから「ＰＤＦ」を示さないデータ形式情報を含む能力通知ＣＮ８を取得し、ＰＤＦ形式とは異なるＰＷＧ形式を有する印刷データＰＤ８を生成し（Ｓ５３２）、印刷データＰＤ８をプリンタＰＲに供給する。
【０１０４】
本実施例でも、第５実施例と同様に、印刷データを用いた印刷が適切に実行され得る。また、端末装置ＴＥ１のユーザがＳ５３０の登録指示を与えずに済むので、ユーザの負荷を軽減することができる。
【０１０５】
（第５及び第６実施例の変形例その１）
上記の第５及び第６実施例では、対象端末装置は、プリンタＰＲから図８の能力通知ＣＮ８を取得する場合に、設定画面を再び表示して（図２のＳ３０参照）、ユーザから指定指示を受け付ける必要がある（Ｓ３２参照）。これに対し、変形例では、図７のＳ４４２において、ＣＰＵ２２は、「ＰＤＦ」を示さないデータ形式情報を含む再送通知を対象端末装置に供給する。当該再送通知は、能力情報要求の再送を指示するための通知ではなく、印刷データの再送を指示するための通知である。本変形例では、対象端末装置は、プリンタＰＲから再送通知を取得する場合に、ユーザから登録指示を受け付けなくても、さらには、設定画面を再び表示したり、ユーザから指定指示を受け付けたりしなくても、ＰＤＦ形式とは異なるデータ形式を有する印刷データを生成して、当該印刷データをプリンタＰＲに供給する。ユーザが指定指示を与えずに済むので、ユーザの負荷をより軽減することができる。
【０１０６】
（第５及び第６実施例の変形例その２）
上記の第５及び第６実施例において、プリンタＰＲは、端末装置毎に、「ＰＤＦ」を示すデータ形式情報を含む能力通知を供給すべきか、「ＰＤＦ」を示さないデータ形式情報を含む能力通知を供給すべきか、を判断してもよい。具体的には、ＣＰＵ２２は、図７のＳ４２０に代えて、対象端末装置のＭＡＣアドレスと、展開処理の失敗を示すフラグ情報と、を対応付けて、メモリ２４に記憶させる処理を実行する。また、ＣＰＵ２２は、図７のＳ４６０及びＳ４６２に代えて、以下の処理を実行してもよい。即ち、ＣＰＵ２２は、対象端末装置のＭＡＣアドレスに対応付けて上記のフラグ情報がメモリ２４に記憶されている場合に、上記のフラグ情報を消去する。そして、ＣＰＵ２２は、端末装置から能力情報要求を取得する場合に、当該端末装置のＭＡＣアドレスに対応付けてフラグ情報がメモリ２４内に記憶されているのか否かを判断する。ＣＰＵ２２は、フラグ情報が記憶されていると判断する場合に、「ＰＤＦ」を示さないデータ形式情報を含む能力通知を当該端末装置に供給し、フラグ情報が記憶されていないと判断する場合に、「ＰＤＦ」を示すデータ形式情報を含む能力通知を当該端末装置に供給する。本変形例によると、プリンタＰＲは、端末装置ＴＥ１，ＴＥ２に応じて、能力通知を適切に供給することができる。
【０１０７】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１０８】
（変形例１）上記の第１〜第４実施例では、プリンタＰＲは、ｇｚｉｐ方式を用いた圧縮印刷データを解凍する解凍能力を有する。これに代えて、プリンタＰＲは、他の圧縮方式を用いた圧縮印刷データを解凍する解凍能力を有していてもよい。上記の他の圧縮形式として、例えば、ＬＺ（Lempel-Zivの略）、ＬＺＷ（Lempel-Ziv-Welchの略）、ＬＺＳＳ（Lempel-Ziv-Storer-Szymanskiの略）、Ｄｅｆｌａｔｅ等を挙げることができる。即ち、「所定の圧縮方式」は、ｇｚｉｐ方式に限られず、他の圧縮形式であってもよい。
【０１０９】
（変形例２）プリンタＰＲは、複数種類の圧縮方式のそれぞれに対応する解凍能力を有していてもよい。そして、プリンタＰＲは、上記の複数種類の圧縮方式を示す圧縮方式情報を含む能力通知を端末装置（例えばＴＥ１）に供給し、上記の複数種類の圧縮方式のうちの特定の圧縮方式を用いた印刷データを取得し、当該印刷データの圧縮効率が基準効率よりも低い場合に、特定の圧縮方式を示さずに他の圧縮方式を示す圧縮方式情報を含む能力通知を端末装置に供給してもよい。その後、プリンタＰＲは、印刷データを特定の圧縮方式を用いて圧縮する場合における圧縮効率が基準効率よりも高い場合に、上記の複数種類の圧縮方式を示す圧縮方式情報を含む能力通知を端末装置に供給してもよい。本変形例では、複数種類の圧縮方式を示す圧縮方式情報を含む能力通知が、「特定の処理能力を示す情報を含む第１の能力情報」の一例である。また、特定の圧縮方式を示さずに他の圧縮方式を示す圧縮方式情報を含む能力通知が、「特定の処理能力を示す情報を含まない第２の能力情報」の一例である。
【０１１０】
（変形例３）上記の第５及び第６実施例では、プリンタＰＲがＰＤＦ形式を有する印刷データの展開処理に失敗する状況を想定している。これに代えて、プリンタＰＲは、他のデータ形式（例えばＪＰＥＧ形式、ＰＷＧ形式等）を有する印刷データの展開処理に失敗する場合に、データ形式情報から当該他のデータ形式を消去してもよい。即ち、「所定のデータ形式」は、ＰＤＦ形式に限られず、他のデータ形式であってもよい。
【０１１１】
（変形例４）プリンタＰＲは、上記の第１〜第６実施例のように、印刷データに応じてｇｚｉｐ情報又はデータ形式情報の内容を変える代わりに、印刷データに応じて解像度情報の内容を変えてもよい。ユーザは、写真を含む画像については、比較的に低い解像度で印刷されても、通常、写真の内容を認識することができる。一方、ユーザは、テキストを含む画像については、比較的に低い解像度で印刷されると、テキストの内容を認識することができない可能性がある。このような実情に鑑みて、本変形例では、プリンタＰＲは、以下のようにして、印刷データに応じて解像度情報の内容を変える。
【０１１２】
例えば、プリンタＰＲは、印刷データが写真を含む画像を表わす場合に、メモリ２４内の能力情報３２に含まれる解像度情報から高解像度である６００ｄｐｉを消去してもよい。この場合、その後、プリンタＰＲは、端末装置から能力情報要求を取得する場合に、６００ｄｐｉを示さない解像度情報を含む能力通知を端末装置に供給する。これにより、プリンタＰＲは、端末装置から低解像度を有する印刷データを取得することができる。これにより、印刷データのデータサイズが小さくなり、プリンタＰＲと端末装置との間の通信負荷が低減する。また、プリンタＰＲは、比較的に少ない処理負荷で印刷データの展開処理を実行することができる。
【０１１３】
また、プリンタＰＲは、印刷データがテキストを含む画像を表わす場合に、メモリ２４内の能力情報３２に含まれる解像度情報に６００ｄｐｉを追加してもよい。この場合、その後、プリンタＰＲは、端末装置から能力情報要求を取得する場合に、６００ｄｐｉを示す解像度情報を含む能力通知を端末装置に供給する。これにより、プリンタＰＲは、端末装置から高解像度を有する印刷データを取得することができる。これにより、当該印刷データがテキストを含む画像を表わす場合に、テキストの内容を認識可能な印刷済みの印刷媒体をユーザに適切に提供することができる。
【０１１４】
本変形例では、高解像度（即ち６００ｄｐｉ）を示す解像度情報を含む能力通知が、「特定の処理能力を示す情報を含む第１の能力情報」の一例である。また、高解像度を示さない解像度情報を含む能力通知が、「特定の処理能力を示す情報を含まない第２の能力情報」の一例である。また、高解像度を有する印刷データの展開処理が、「特定の処理」の一例である。また、印刷データが写真を含む画像を表わすこと、印刷データがテキストを含む画像を表わすことが、それぞれ、「第１の条件を満たす」、「第２の条件を満たす」の一例である。
【０１１５】
（変形例５）上記の実施例では、プリンタＰＲのＣＰＵ２２がメモリ２４内のプログラム３０を実行することによって、図２〜図９の各処理が実現される。これに代えて、これらの各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１１６】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１１７】
２：通信システム、ＰＲ：プリンタ、１０：バス線、１２：操作部、１４：表示部、１６：印刷実行部、１８：ＬＡＮインターフェイス、２０：制御部、２２：ＣＰＵ、２４：メモリ、３０：プログラム、３２：能力情報、３４：履歴情報、ＴＥ１，ＴＥ２：端末装置、ＤＲ：プリンタドライバ、ＳＣ：設定画面、ＩＲ，ＩＲ１〜ＩＲ９：能力情報要求、ＣＮ，ＣＮ１〜ＣＮ９：能力通知、ＰＤ：印刷データ、ＰＤ１，ＰＤ４，ＰＤ５：圧縮印刷データ、ＰＤ２：非圧縮印刷データ、ＰＤ７，ＰＤ８：印刷データ、ＳＩ，ＳＩ１〜ＳＩ８：印刷設定情報、ＥＮ，ＥＮ１〜ＥＮ８：終了通知、Ｎ１：エラー通知、Ｎ２：再送通知
【図１】
0006432256.tif 000002
【図２】
0006432256.tif 000003
【図３】
0006432256.tif 000004
【図４】
0006432256.tif 000005
【図５】
0006432256.tif 000006
【図６】
0006432256.tif 000007
【図７】
0006432256.tif 000008
【図８】
0006432256.tif 000009
【図９】
0006432256.tif 000010