(57)【要約】【課題】従来、印刷システムにおいて、アプリケーション毎の印刷枚数は分かっても、印刷コストの発生する業務の種類まで特定することは難しかった。このため、印刷コスト削減のために十分な情報が得られなかった。【解決手段】印刷データに含まれる特徴量として抽出して、データクラスタリングを実行し、クラスタ毎に印刷枚数を集計する。これにより、印刷データを生成したアプリケーションに基づいてではなく、実際に印刷した印刷データの内容に応じたクラスタごとに印刷コストを把握することが可能となるため、印刷コストを的確に把握することができる。【選択図】図１４
2019195959.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを印刷する印刷手段を有する印刷システムであって、
印刷データの特徴量を抽出する抽出手段と、
前記印刷データを、特徴量に基づいて、複数のクラスタのうちの１つのクラスタに分類する分類手段と、
前記複数のクラスタの各々に属する印刷データの印刷枚数の合計を集計する集計手段と、を有する
ことを特徴とする印刷システム。
【請求項２】
前記印刷データが、ページ記述言語（ＰＤＬ）により記述されたＰＤＬデータと、ジョブチケットと、から構成される
ことを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記特徴量が、特徴量識別子のそれぞれを、それぞれの次元とする多次元ベクトルにより表現される
ことを特徴とする請求項１または２に記載の印刷システム。
【請求項４】
前記特徴量識別子が、印刷データから取り出される描画識別子である
ことを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記描画識別子が、ページ記述言語により記述された印刷データの算座標と点列とから定義される
ことを特徴とする請求項４に記載の印刷システム。
【請求項６】
前記特徴量識別子が、印刷データから取り出される単語である
ことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記特徴量識別子のうち、特定の印刷データにのみ存在する特徴量識別子を削除する
ことを特徴とする請求項３から６のいずれか１項に記載の印刷システム。
【請求項８】
前記分類手段は、
前記印刷データを、特徴量と最も近い重心点を有するクラスタに分類する
ことを特徴とする請求項３から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記集計手段が集計した前記印刷枚数をレポートとして生成する生成手段を有する
ことを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記生成手段は、各クラスタに分類された印刷データの中から代表画像を生成する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記代表画像は、各クラスタに分類された印刷データの中から、
クラスタの重心点に最も近い印刷データである
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
印刷データを印刷する印刷システムの管理方法であって、
印刷データの特徴量を抽出する抽出工程と、
前記印刷データを、特徴量に基づいて、複数のクラスタのうちの１つのクラスタに分類する分類工程と、
前記複数のクラスタの各々に属する印刷データの印刷枚数の合計を集計する集計工程と、を有する
ことを特徴とする印刷システムの管理方法。
【請求項１３】
請求項１２に記載された印刷システムの管理方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷した印刷データの印刷枚数を管理することができる印刷システムに関する。
【背景技術】
【０００２】
印刷システムにおいては、従来から、印刷コストの見える化および削減を目的として、印刷枚数の集計やレポーティング機能を有する出力管理システムやデバイス管理システムが広く導入されている。特に、複数台のプリンタや複合機（MultiFunction Peripheral：ＭＦＰ）などの事務機を導入する中規模以上の企業や事業所では、印刷コストの把握は経費管理上の重要な命題の一つであるからである。
【０００３】
例えば、部門別、ユーザ別、アプリ別などの複数の方法で印刷枚数を集計するレポーティング機能が知られている。こうしたレポーティング機能を利用することにより、部門毎やユーザ毎などの印刷枚数が、業務内容に照らして妥当か否かを判断することができる。類似の業務内容であるにも関わらず、印刷枚数が多い部門やユーザにおいては印刷利用の低減が勧奨される。
また、印刷枚数の多いアプリケーションを調べることによって、どの分野の業務で印刷を多く行っているかを類推し、業務の改善や電子化の促進といった対策を検討することができる。
【０００４】
他方、機械学習の技術を応用して、電子文書を分類する技術が知られている。
特許文献１には、テキスト文書のクラスタリングとクラスタのラベリング技術が開示されている。
また、特許文献２には、印刷データに含まれる複数の特徴を特徴量として用いて、クラスタリングを実行し、さらにクラスタと当該クラスタに固有の印刷設定を見つける技術が開示されている。
【０００５】
ところで、電子文書や印刷データなどのデータを分類する技術として、機械学習の分野において、クラスタリング（Clustering）とクラス分類（Classification）の二つが広く知られている。
クラス分類は、データをどのようなグループに分けるか予め指定して学習する技術である。通常、クラス分類はサンプルデータ（教師データ）とその分類結果（正解値）のセットを複数用意して、事前に学習を実施する構成をとる。特定の帳票フォーマットを識別するなど、分類したい電子文書の種類が具体的に決まっている場合は、高い確率で分類することが可能である。
一方、クラスタリングは、対象となるデータ集合を類似の特徴を持つグループに分割する技術である。クラスタリングは、教師データを事前に用意する必要がなく、個別の環境に応じた柔軟な分類が可能であり、事前学習などの煩わしい操作が不要、というメリットがある。しかし、分類した結果のクラスタがどういった意味を持つかは、分類されたデータから判別する必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５１３９０号公報
【特許文献２】特開２０１５−２０２６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の技術では、アプリケーション毎の印刷枚数は分かっても、印刷コストの発生する業務の種類まで特定することは難しかった。例えば、同じ電子文書ビューアアプリケーション用のドキュメントの中にも、プレゼン資料があったり帳票があったり、内容の異なるドキュメントが存在することが普通である。また、同一種類の帳票が、表計算アプリケーションと電子ビューアアプリケーション用に、それぞれ用意されていることも考えられる。
このように、アプリケーションと印刷コストの発生する業務の種類とは、必ずしも結びついていない。したがって、従来のようなアプリケーション毎の集計では、印刷コスト削減のための情報としては十分とは言えない。
【課題を解決するための手段】
【０００８】
本発明は、印刷データを印刷する印刷手段を有する印刷システムであって、印刷データの特徴量を抽出する抽出手段と、前記印刷データを、特徴量に基づいて、複数のクラスタのうちの１つのクラスタに分類する分類手段と、前記複数のクラスタの各々に属する印刷データの印刷枚数の合計を集計する集計手段と、を有することを特徴とする。
【発明の効果】
【０００９】
印刷データの内容に応じたクラスタごとに印刷コストを把握することが可能となるため、印刷コストを的確に把握することができる。
【図面の簡単な説明】
【００１０】
【図１】印刷システム構成図である。
【図２】プリンタのハードウェア構成図である。
【図３】サーバーのハードウェア構成図である。
【図４】プリンタのソフトウェアモジュール構成図である。
【図５】サーバーのソフトウェアモジュール構成図である。
【図６】サーバーにおける印刷データクラスタリング基本フローチャートである。
【図７】印刷基本フローチャートである。
【図８】ジョブチケットによる印刷設定の一覧表である。
【図９】印刷処理の詳細フローチャートである。
【図１０】ＰＤＬによる描画コマンドの一覧表である。
【図１１】特徴抽出の詳細フローチャートである。
【図１２】多次元ベクトルによる特徴量の構成例である。
【図１３】印刷済みデータのクラスタリング詳細フローチャートである。
【図１４】集計レポートの一例である。
【図１５】プリンタのソフトウェアモジュール構成図である（実施例２）。
【図１６】プリンタ処理の基本フローチャートである（実施例２）。
【図１７】テキストによる特徴量抽出の詳細フローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１２】
＜システム構成図＞
図１は、本実施例の印刷システムの構成例を示すシステム構成図である。
ネットワーク１０５に、プリンタＡ１００、プリンタＢ１０１、プリンタＣ１０２、サーバー１０３、クライアントＰＣ１０４が接続され、これらの装置が相互に通信可能な状態にある。
サーバー１０３は、本実施例における情報処理装置の役割を担う。
本実施例では、プリンタＡ１００、プリンタＢ１０１、プリンタＣ１０３の３台が接続されているが、プリンタは３台に限定されるものではなく、より多くのプリンタが接続される構成でもよい。
また、プリンタの代わりに、プリント機能を有する複合機などの画像処理装置が接続される構成でもよい。また、クライアントＰＣも、同様に、複数台接続される構成でもよい。
【００１３】
＜プリンタのハードウェア構成図＞
図２は、本実施例のプリンタＡ１００のハードウェア構成を示すハードウェアブロック図である。
ここでは、プリンタＡ１００についてのみ説明するが、プリンタＢ１０１やプリンタＣ１０２についても、プリンタＡ１００と同様のハードウェア構成を有する。
【００１４】
コントローラユニット２００は、画像信号やデバイス情報の入出力を制御する。
ＣＰＵ２０１は、ＲＯＭ２０３あるいはＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０２に読み出し、実行する。さらに、ＣＰＵ２０１は、システムバス２０５に接続される各デバイスを統括的に制御する。
ＲＡＭ２０２は、ＣＰＵ２０１のメインメモリであり、プリンタを制御する制御プログラムのためのワークエリアとして使用される。
ＲＯＭ２０３には、電源ＯＮ時に実行されるブートプログラムが格納される。
ＨＤＤ２０４には、オペレーティングシステムと、プリンタの制御プログラム本体が格納される。また、ＨＤＤ２０４は、ビットマップイメージや印刷データなどの大容量データを一時的あるいは長期的に保持する目的でも使用される。
【００１５】
ネットワーク２０６は、ローカルエリアネットワーク（ＬＡＮ）２１３に接続し、印刷データやデバイス情報の入出力を担う。
操作部Ｉ／Ｆ２０７は、操作部２１４とのインターフェース部であり、操作部２１４に表示するビットマップデータを操作部２１４に対して出力する。また、操作部２１４からプリンタＡ１００の使用者が入力した情報を、ＣＰＵ２０１に伝える役割をする。
操作部２１４は、出力器として液晶パネルと音源を備え、入力器としてタッチパネルとハードキーを備える。
【００１６】
コントローラユニット２００は、デバイスＩ／Ｆ２０８を介して、プリンタエンジン２１５に接続される。デバイスＩ／Ｆ２０８は、ＣＰＵ２０１の指示に基づき、画像信号の送出、デバイス動作指示、デバイス情報の受信を行う。
プリンタエンジン２１５は、コントローラユニット２００からの画像信号を媒体上に出力する出力機であり、電子写真方式、インクジェット方式のいずれでもよい。
【００１７】
ＲＩＰ（Raster Image Processor）２０９は、ディスプレイリストをビットマップイメージに展開する専用ハードウェアである。ＲＩＰ２０９は、ＲＡＭ２０２上にＣＰＵ２０１により生成されたディスプレイリストを高速、かつ、ＣＰＵ２０１の実行と並列に、処理する。
プリンタ画像処理部２１０は、プリント出力イメージデータに対して、画像補正、ハーフトーニングなどを行う。
画像圧伸部２１１は、多値画像データに対してはＪＰＥＧ、２値画像データに対してはＪＢＩＧ、ＭＭＲ、ＭＨの、圧縮伸張処理を行う。
画像回転部２１２は、画像データの回転を行う。
【００１８】
＜サーバーのハードウェア構成図＞
図３は、本実施例のサーバー１０３のハードウェア構成を示すハードウェアブロック図である。
サーバー１０３は、コントローラユニット３００、操作部３１０、ディスプレイ３１１を備える。
【００１９】
コントローラユニット３００は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４、ネットワーク３０６、操作部Ｉ／Ｆ３０７、ディスプレイＩ／Ｆ３０８などを備える。
ＣＰＵ３０１は、ＲＯＭ３０３あるいはＨＤＤ３０４に記憶されたプログラムを、ＲＡＭ３０２に読み出し、実行する。ＣＰＵ３０１は、さらに、システムバス３０５に接続される各デバイスをＣＰＵ３０１が統括的に制御する。
【００２０】
ＲＡＭ３０２は、ＣＰＵ３０１のメインメモリであり、各種プログラムのためのワークエリアとして使用される。
ＲＯＭ３０３は、電源ＯＮ時に実行されるブートプログラムを格納する。
ＨＤＤ３０４は、オペレーティングシステムとアプリケーションプログラムを格納する。また、ＨＤＤ３０４は、大容量データを一時的あるいは長期的に保持する目的でも使用される。
【００２１】
操作部Ｉ／Ｆ３０７は、マウス、キーボードなどの入力デバイスからなる操作部３１０とのインターフェースであり、操作部３１０により入力された情報をＣＰＵ３０１に通知する。
ディスプレイＩ／Ｆ３０８は、ディスプレイ３１１に表示すべき画像データをディスプレイ３１１に対して出力する。
ネットワーク３０６は、ローカルエリアネットワーク（ＬＡＮ）３０９に接続し、クライアントＰＣやプリンタなどの外部機器との通信を担う。
【００２２】
＜プリンタのソフトウェアモジュール構成図＞
図４は、本実施例のプリンタＡ１００のソフトウェア構成を説明するソフトウェアモジュール構成図である。
ここでは、プリンタＡ１００についてのみ説明するが、プリンタＢ１０１やプリンタＣ１０２についても、プリンタＡ１００と同様のソフトウェア構成を有する。
図４に示される各ソフトウェアモジュールは、プログラムとしてＨＤＤ２０４に格納され、ＲＡＭ２０２にロードされ、ＣＰＵ２０１により実行される。より具体的には、各ソフトウェアモジュールは、ＣＰＵ２０１上で動作するＯＳ（オペレーティングシステム）によりＲＡＭ２０２にロードされ、スレッド単位で実行権を付与され、実行される。
【００２３】
データ受信部４０２は、サーバー１０３から送信された印刷データを受信する。受信されたデータは、ジョブ制御部４０１を介してジョブデータ管理部４０９で保持される。
ジョブ制御部４０１は、データ受信から印刷までのジョブ制御の全般を司る。
ＰＤＬインタプリタ４０３は、印刷データとしてページ記述言語（Page Description Language：ＰＤＬ）により記述されたＰＤＬデータを解釈して、中間データであるディスプレイリストを生成する。生成されたディスプレイリストは、ジョブ制御部４０１を介してジョブデータ管理部４０９で保持される。
レンダラ４０４は、ディスプレイリストからビットマップイメージを生成するモジュールである。多くの処理は専用ハードウェアＲＩＰ２０９により実行される。生成されたビットマップイメージは、ジョブ制御部４０１を介してジョブデータ管理部４０９で保持される。
【００２４】
プリントドライバ４０６は、デバイスＩ／Ｆ２０８を介してプリンタエンジンへの印刷指示とビットマップイメージの送出を行う。この際、プリントドライバ４０６は、プリンタ画像処理２１０による画像補正も行う。
ユーザインタフェース４０５は、操作部Ｉ／Ｆ２０７を介して、操作部２１４を制御するモジュールである。また、操作部２１４の液晶パネルに表示するデータを生成し、タッチパネルからの入力にしたがい、液晶パネルの表示を更新する。また、タッチパネルからの入力が何らかのジョブを実行する指示であった場合は、ジョブ制御部２０２に指示を伝達する。
【００２５】
特徴量抽出部４０７は、ＰＤＬデータを解析し特徴量を抽出するモジュールである。抽出された特徴量は、ジョブ制御部４０１を介してジョブデータ管理部４０９で保持される。なお、特徴量の詳細については、後述する。
データ送信部４０８は、印刷終了後にジョブデータ管理部４０９に保持する特徴量データをサーバーに対して送信するモジュールである。
ジョブデータ管理部４０９は、印刷データ、ディスプレイリスト、ビットマップイメージ、特徴量データのそれぞれを、一時的もしくは長期的に、保持管理するデータベースである。
【００２６】
＜サーバーのソフトウェアモジュール構成図＞
図５は、本実施例のサーバー１０３のソフトウェア構成を示すソフトウェアモジュール構成図である。
図５に記載した各ソフトウェアモジュールは、プログラムとしてＨＤＤ３０４に格納され、ＲＡＭ３０２にロードされ、ＣＰＵ３０１により実行される。より具体的には、各ソフトウェアモジュールは、ＣＰＵ３０１上で動作するＯＳ（オペレーティングシステム）によりＲＡＭ３０２にロードされ、スレッド単位で実行権を付与され、実行される。
【００２７】
特徴量データ受信部５０５は、プリンタから送信された特徴量データを受信する。受信されたデータは、制御部５０１を介してデータ管理部５０６で保持される。
制御部５０１は、特徴量データの受信から、クラスタリング、レポート生成までの一連の処理を司る。
クラスタリング実行部５０２は、特徴量データを用いて、印刷データのデータクラスタリングを実行するモジュールである。
レポート生成部５０３は、印刷データのクラスタと印刷枚数の集計レポートを生成するモジュールである。レポート生成の要求は、Ｗｅｂサーバー５０４より受け付けられる。生成されたレポートは、Ｗｅｂサーバー５０４により要求元に返信される。
【００２８】
＜サーバーにおける印刷データクラスタリング基本フローチャート＞
図６は、情報処理装置（サーバー１０３）における印刷データのクラスタリングを行う基本フローチャートである。
なお、ここでは、クラスタリングは図５の各ソフトウェアモジュールによって実行されるものとして説明する。また、本フローチャートは、ＨＤＤ３０４に記憶された図５の各ソフトウェアモジュール内の各プログラムがＲＡＭ３０２に読み出され、ＣＰＵ３０１により実行されることにより、実現される。
【００２９】
最初に、Ｓ６０１において、制御部５０１は、サーバーイベントが発生するまで待つ。
サーバーイベントには、後述する特徴量データの受信通知と、印刷データのクラスタリングと印刷枚数の集計レポートの生成要求と、の２つがある。
【００３０】
サーバーイベントが発生すると、Ｓ６０２に進み、制御部５０１は、サーバーイベントが、特徴量データの受信通知であるか否かを判断する。
Ｓ６０２でＹｅｓの場合、Ｓ６０３に進み、特徴量データ受信部５０５は、特徴量データを受信し、制御部５０１を介してデータ管理部５０６へ格納する。
特徴量とは、印刷データの特徴を多次元ベクトルで表現したものであり、印刷の前処理時に抽出される。また、特徴量データには、特徴量の他に、付属情報として、特徴量の元となった印刷データの印刷枚数、カラー印刷枚数、モノクロ印刷枚数、代表画像が含まれる。特徴量データのさらなる詳細およびその抽出方法については後述する。
【００３１】
Ｓ６０３の処理を終了すると、Ｓ６０１に戻り、制御部５０１は再びサーバーイベント待ちに入る。
Ｓ６０２でＮｏの場合は、Ｓ６０４へ進み、制御部５０１は、サーバーイベントが印刷データのクラスタリングと印刷枚数の集計レポートの生成要求であるか否かを判断する。
なお、集計レポートの生成要求は、Ｗｅｂサーバー５０４によるＷｅｂページ上でのユーザ操作により発生したものが、制御部５０１にイベントとして通知されるものである。
【００３２】
Ｓ６０４でＹｅｓの場合は、Ｓ６０５へ進み、クラスタリング実行部５０２は、印刷済みデータを複数のクラスタに分類するために、特徴量を用いて印刷データのデータクラスタリングを実行する。
対象の特徴量データは、データ管理部５０６に保存されたすべての特徴量データであるが、特徴量データを受信した期間や特徴量データの送信元のプリンタなどにより、フィルタリングをしてもよい。
データクラスタリングは、特徴量の類似するデータのグループであるクラスタに分割する処理であり、その詳細なフローについては、図１３で後述する。
データクラスタリングの結果として、複数のクラスタと各特徴量データ、すなわち、その元になった印刷データが帰属するクラスタが決定される。そして、クラスタとそのクラスタに属する特徴量データのリストは、制御部５０１を介してデータ管理部５０６に保存される。
【００３３】
次に、Ｓ６０６において、レポート生成部５０３は、クラスタ毎の印刷枚数を集計する。
レポート生成部５０３は、各クラスタに属する印刷データの印刷枚数の合計値、カラー印刷の合計値、モノクロ印刷の合計値を、それぞれ、算出する。
【００３４】
次に、Ｓ６０７において、レポート生成部５０３は、印刷データのクラスタリングと印刷枚数の集計レポートを電子文書として生成する。
レポート生成部５０３は、各クラスタの印刷枚数の合計値、カラー印刷の合計値、モノクロ印刷の合計値を集計レポートに記載する。また、レポート生成部５０３は、各クラスタの特徴を最も反映した画像として、クラスタの重心点に最も近い印刷データである代表画像を表示する。
図１４に、集計レポートの一例を示す。この例では、４つのクラスタについて、それぞれをカテゴリ１から４に割り当て、各々に代表画像と印刷枚数を表示している。
【００３５】
次に、Ｓ６０８において、Ｗｅｂサーバー５０４は、印刷データのクラスタリングと印刷枚数の集計レポートを要求元のユーザに返信する。
そして、Ｓ６０１に戻り、制御部５０１は再びサーバーイベント待ちに入る。
また、Ｓ６０４でＮｏの場合も、同様に、Ｓ６０１に戻り、制御部５０１は再びサーバーイベント待ちに入る。
【００３６】
なお、本フローチャートによるデータクラスタリングは、Ｗｅｂページを介したユーザ要求の時点で実行されるが、夜間やユーザ要求のない遊休時間に実行される構成であってもよい。
【００３７】
＜印刷基本フローチャート＞
図７は、プリンタにおける印刷の基本フローチャートである。
なお、ここでは、図４の各ソフトウェアモジュールによって実行されるように説明する。また、本フローチャートは、ＨＤＤ２０４に記憶された図４の各ソフトウェアモジュール内の各プログラムがＲＡＭ２０２に読み出され、ＣＰＵ２０１により実行されることにより、実現される。
【００３８】
最初に、Ｓ７０１において、データ受信部４０２は、印刷データを受信し、ジョブ制御部４０１を介してジョブデータ管理部４０９に印刷データを保存する。
印刷データは、ホストＰＣ上のアプリケーションとプリンタドライバにより生成され、プリンタへ送信される。印刷データは、ＰＤＬ（ページ記述言語）データと、ジョブチケットと、から構成される。
ＰＤＬは、紙面に描画される中身を表現するものである。また、ジョブチケットは、部数や両面印刷、カラー／モノクロ印刷などの、印刷の設定情報を表現するものである。
【００３９】
次に、Ｓ７０２において、ＰＤＬインタプリタ４０３は印刷データの解釈を行う。また、特徴量抽出部４０７は特徴量抽出を行う。レンダラ４０４はＲＩＰ処理を行う。また、レンダラ４０４は、印刷データの先頭ページのサムネール画像を代表画像として生成する。
抽出された特徴量と代表画像は、ジョブデータ管理部４０９に保存される。印刷データの解釈、特徴量抽出、ＲＩＰ処理は同時並列的に実行されるが、詳細については、図９で後述する。
【００４０】
次に、Ｓ７０３において、ジョブ制御部４０１は、印刷データの印刷を実行する。
また、Ｓ７０４において、ジョブ制御部４０１は、印刷データにおける印刷枚数を確認して、ジョブデータ管理部４０９に保存する。
なお、印刷データにおける印刷枚数は、印刷データの特徴量に紐づけされて、ジョブデータ管理部４０９において管理される。また、印刷枚数は、後述する印刷枚数カウンタにより管理される値を参照して、決定される。
そして、Ｓ７０５において、データ送信部４０８は、印刷データの特徴量、印刷枚数、代表画像などの特徴量データを、サーバーに送信する。
【００４１】
＜ジョブチケットによる印刷設定の一覧表＞
図８は、ＰＤＬとともに印刷データを構成する、ジョブチケットで指定可能な印刷設定の一覧表である。
印刷設定は、「両面」、「ステイプル」、「カラーモード」、「用紙サイズ」、「ページ集約」の５つからなる。
【００４２】
「両面」は、連続するページを用紙の表面のみに印刷するか、表面、裏面、表面、裏面のように交互に印刷する機能であり、属性値として、１：片面、２：両面が指定可能である。
「ステイプル」は、複数毎の出力用紙をステイプル留めする機能であり、属性値として、１：なし、２：シングル、３：ダブルが指定可能である。
「カラーモード」は、印刷データをカラーで出力するか、モノクロに変換してから出力する機能であり、属性値として、１：自動、２：カラー、３：モノクロが指定可能である。ここで、属性値の１：自動は、印刷データの内容によりＰＤＬインタプリタ２０３がカラーかモノクロを自動判別するものである。
【００４３】
「用紙サイズ」は、出力用紙サイズを指定する設定であり、属性値として、１：Ａ４、２：Ａ３、３：Ｂ４が指定可能である。
「ページ集約」は、印刷データ内の連続する複数のページを指定された用紙に縮小し、割り付けて印刷する機能である。属性値として、１：１ｉｎ１、２：２ｉｎ１、３：４ｉｎ１、４：８ｉｎ１が指定可能である。例えば、２ｉｎ１の場合は、連続する２ページが１枚の出力用紙の片面に割り付けられる。
【００４４】
＜印刷処理の詳細フローチャート＞
図９は、印刷処理の詳細フローチャートであり、図７の印刷基本フローチャートのＳ７０２とＳ７０３の処理を詳細化したものである。
本フローチャートでは、スレッドＡ、スレッドＢ、スレッドＣの３つのスレッドが並列に実行される（マルチスレッディング）。
各スレッドは、オペレーティングシステムにより時分割され、その実行権が割り振られる。時分割の単位は十分に小さいため、３つのスレッドは並列動作しているとみなすことができる。
オペレーティングシステムによるマルチスレッディング処理は、一般に広く知られている技術であるため、詳細な説明は省略する。スレッドＡ、スレッドＢ、スレッドＣは、本印刷データ分類装置の起動時にオペレーティングシステムにより生成される、常駐スレッドである。
【００４５】
スレッドＡでは、最初にＳ９０１において、ジョブ制御部４０１は、印刷枚数カウンタを０リセットし、印刷データから印刷設定が記載されたジョブチケットを取り出す。
次に、Ｓ９０２において、ジョブ制御部４０１は、印刷データがページ集約印刷を指示されたジョブの印刷データであるか否かを判定する。
ここで、ページ集約印刷とは、Ｎ−ＵＰ印刷のように、単一のシートに複数のページが配置される印刷方法を指す。
【００４６】
Ｓ９０２でＹｅｓの場合は、Ｓ９０４へ進む。
そして、Ｓ９０４において、ＰＤＬインタプリタ４０３は、単一シートに割り付ける論理ページと配置場所を算出する。
次に、Ｓ９０５において、ＰＤＬインタプリタ４０３は、カラーモード設定にしたがい、シートに割り当てられたページのＰＤＬデータを処理し、シートのディスプレイリストを生成する。
この際、ＰＤＬインタプリタ４０３は、算出済みの配置場所にしたがい、各ページのシート内での描画位置を調整する。なお、ディスプレイリストは、シートの描画情報を表す中間データである。
そして、Ｓ９０６に進む。
【００４７】
Ｓ９０２でＮｏの場合は、Ｓ９０３に進む。
そして、Ｓ９０３において、ＰＤＬインタプリタ４０３は、カラーモード設定にしたがい、ＰＤＬデータを処理して、１ページ分のディスプレイリストを生成する。
そして、Ｓ９０６へ進む。
【００４８】
Ｓ９０６において、特徴量抽出部４０７は、ＰＤＬデータを処理し、特徴量を抽出する。
特徴量抽出処理の詳細については、図１１（及び、図１７）で後述する。
【００４９】
次に、Ｓ９０７において、ＰＤＬインタプリタ４０３は、レンダラ４０４に対してディスレプリリストの生成完了を通知し、レンダリングを依頼する。
そして、Ｓ９０８において、ＰＤＬインタプリタ４０３は、全ページの処理が終了したか否かを判定する。
Ｙｅｓの場合は、本フローの処理を終了する。
Ｎｏの場合は、Ｓ９０２へ戻り、残りのページの処理を継続する。
【００５０】
スレッドＢのフローは、レンダラ４０４によって実行される。
最初に、Ｓ９０９において、レンダラ４０４は１シート分のディスプレイリストの生成完了を待つ。
スレッドＡのＳ９０７でディスプレイリストの生成完了が通知されると、スレッドＢの処理は、Ｓ９０９からＳ９１０に進む。
【００５１】
Ｓ９１０において、レンダラ４０４は、レンダリングを行い、ビットマップイメージを生成する。
ここで、生成されるビットマップイメージは、ＣＭＹＫの各色８ビットの諧調を有する。
また、レンダラ４０４は、１枚目のみ解像度を低下させた、サムネール画像を生成する。なお、１枚目か否かは、前述の印刷枚数カウンタが判断する。
【００５２】
次に、Ｓ９１１において、レンダラ４０４は、ビットマップイメージをジョブデータ管理部４０９に保存し、プリントドライバ４０６にプリントを依頼する。
プリントの依頼は、プリントドライバ４０６に対してレンダリング終了通知を送信することにより実行される。プリントドライバ４０６はエンジン同期して処理を実行するために、プリントの依頼は、スレッドＣとして、スレッドＡとは別スレッドで実行される。
【００５３】
スレッドＢのＳ９１１において依頼を受けたプリントドライバ４０６は、スレッドＣのＳ９１３において、エンジンに対してプリント開始要求コマンドを送信し、ビットマップイメージを転送する。
同時に、プリントドライバ４０６は、出力用紙サイズ、両面、ステイプルの、動作指示コマンドを送信する。また、ビットマップイメージ転送に先立って、ビットマップイメージに対して画像処理を施す。
次に、Ｓ９１４において、プリントドライバ４０６は、両面の裏面を出力する場合を除いて、印刷枚数カウンタをアップする。
【００５４】
スレッドＢのＳ９１１の処理が終わると、Ｓ９１２へ進み、レンダラ４０４は全ページのレンダリングが完了したか否かを判定する。
Ｙｅｓの場合は、図９のフローを終了する。
Ｎｏの場合は、Ｓ９０９へ戻り、処理を繰り返す。
ここで、印刷データの論理的なページ数と、出力される用紙の枚数とは、一致しないことに注意すべきである。Ｎ−ＵＰ印刷においては、論理ページ数よりも出力用紙枚数は少なくなる。両面印刷においても、同様である。
【００５５】
＜ＰＤＬによる描画コマンドの一覧表＞
図１０は、印刷データ分類装置における印刷データを記述するためのＰＤＬの描画コマンドの一覧表である。
描画コマンドは、DrawPath、DrawFillPath、DrawText、DrawImageの４つから構成される。
【００５６】
DrawPathは、座標配列により構成される点列を結ぶ線分を塗るためのコマンドであり、追加パラメータとして線の色と線幅が指定される。座標は左上角を原点とするピクセル座標系が使用される。
DrawFillPathは、同様に、座標配列により構成される点列で囲まれる領域を塗りつぶすためのコマンドであり、追加パラメータとして塗りの色が指定される。
DrawPathとDrawFillPathは、点列による線分を細かく繋げることにより曲線を描画することも可能である。
【００５７】
DrawTextは、文字列を指定されたフォントで描画するためのコマンドであり、追加パラメータとして（文字）サイズ、色、描画位置が指定される。
DrawImageは、ビットマップ形式のピクセルデータ列を描画するためのコマンドであり、追加パラメータとしてサイズ（幅、高さ）と描画位置が指定される。
【００５８】
＜特徴量抽出の詳細フローチャート＞
図１１は、特徴量抽出の詳細なフローチャートであり、図９のＳ９０６の処理を詳細に示したものである。
【００５９】
Ｓ１１０１において、特徴量抽出部４０７は、ＰＤＬデータをパース（構文解析）して、描画コマンドを取り出す。
次に、Ｓ１１０２において、特徴量抽出部４０７は、描画コマンドによる描画座標値を四捨五入して概算座標を求める。
同様のテンプレートを使用していても、テンプレートの改変や不注意による変更に伴い、位置が外観から判別不能な程度に変化してしまうことがある。このため、座標値の変化に対する耐性を持たせるために、四捨五入による丸め処理を実行する。
【００６０】
Ｓ１１０３において、特徴量抽出部４０７は、描画コマンドがDrawPathもしくはDrawFillPathであるかを判定する。
Ｙｅｓの場合はＳ１１０５へ進み、Ｎｏの場合はＳ１１０４へ進む。
【００６１】
描画コマンドがDrawPathとDrawFillPathのいずれかであった場合、Ｓ１１０５において、特徴量抽出部４０７は、描画コマンド、概算座標、点列数を組み合わせて、描画識別子として取り出す。
描画識別子では、DrawPathもしくはDrawFillPathによる描画を、位置と点列数により分類し、特徴として扱う。すなわち、異なる描画識別子は異なる特徴として扱われる。
描画識別子は概算座標と点列数の２つのみで定義されるため、異なる描画に対して同一の描画識別子が割り当てられる可能性がある。しかしながら、確率的には非常に限定されるため、ドキュメント単位、ページ単位でみると、描画識別子を特徴として、その集合である特徴量を用いて識別することが十分可能となる。
なお、本実施例では特徴量を特徴の集合として扱う。
【００６２】
描画コマンドがDrawPathとDrawFillPathのいずれでもなかった場合、Ｓ１１０４において、特徴量抽出部４０７は、描画コマンドがDrawTextであるか否かを判定する。
Ｙｅｓの場合はＳ１１０６へ進み、Ｎｏの場合はＳ１１０７へ進む。
描画コマンドがDrawTextであった場合、Ｓ１１０６において、特徴量抽出部４０７は、描画コマンド、概算座標、文字列長を組み合わせて、描画識別子とする。
【００６３】
描画コマンドがDrawTextでなかった場合、Ｓ１１０７において、特徴量抽出部４０７は、描画コマンド、概算座標、幅、高さを組み合わせて、描画識別子とする。
なお、Ｓ１１０７が実行されるのは、描画コマンドがDrawPathでも、DrawFillPathでも、DrawTextでもなかった場合であり、すなわち、DrawImageであったときのみである。
【００６４】
Ｓ１１０８へ進むと、特徴量抽出部４０７は、同一の描画識別子のカウントをインクリメントして記憶する。
カウントは、特徴の強さを表す値として使用される。ＰＤＬデータ内に同一の描画識別子が複数存在するということは、多くの場合、複数のページで同一の描画が行われていることを意味する。テンプレートを使用した文書では、各ページで同様のヘッダやフッターなどを使用するケースが多いことから、描画識別子のカウントはテンプレートの特性を考慮したものと言える。別の方法として、描画エリアの大きさにより重みづけを行うことも可能である。
【００６５】
次に、Ｓ１１０９において、特徴量抽出部４０７は、ＰＤＬデータのパースがすべて完了したか否かを判定する。
Ｙｅｓの場合はＳ１１１０へ進む。
Ｎｏの場合は、Ｓ１１０１に戻り、特徴量抽出処理を繰り返す。
【００６６】
ＰＤＬデータのパースがすべて完了すると、Ｓ１１１０において、特徴量抽出部４０７は、１つの描画識別子を一次元とし、各描画識別子のカウントを各次元の値とする、多次元ベクトルを生成する。
この多次元ベクトルが印刷データの特徴量となる。
【００６７】
＜多次元ベクトルによる特徴量の構成例＞
図１２は、ある印刷データの多次元ベクトルによる特徴量の構成例である。
例えば、次元番号１の描画識別子「DrawPath_100_80_2」は、DrawPathコマンドにより、概算座標（100, 80）に点列数２のパス描画が２つあることを意味する。
次元番号４の描画識別子「DrawText_230_250_8」は、DrawTextコマンドにより、概算座標（230, 250）に文字列長８のテキスト描画が４つあることを意味する。
次元番号５の描画識別子「DrawImage_850_1200_2400_1200」は、DrawImageコマンドにより、概算座標（850, 1200）に幅：2400、高さ：1200のイメージ描画が１つあることを意味する。
【００６８】
この印刷データ全体では、描画識別子により識別される描画が１３５個あり、１３５次元の特徴量で構成されている。
なお、図１２では、描画識別子の表現形式として文字列を採用しているが、表現形式はいかなる形式でもよい。
【００６９】
＜印刷済みデータのクラスタリング詳細フローチャート＞
図１３は、印刷済みデータのクラスタリング処理の詳細なフローチャートであり、図６のＳ６０５の処理を詳細に示したものである。
【００７０】
Ｓ１３０１において、クラスタリング実行部５０２は、各印刷済みデータについて、その特徴量から特徴空間を決定する。
各印刷済みデータは、共通の描画識別子を有する場合もあれば、有しない場合もある。クラスタリングに必要な特徴量の比較を行うためには、共通の特徴空間で実行する必要がある。
【００７１】
そこで、まず、すべての印刷データの特徴量識別子を包含する特徴空間を合成する。各印刷済みデータは異なる特徴量識別子を有することが多いので、この処理により特徴空間の次元数は各印刷済みデータの次元数と比して大幅に増加する。そこで、特定の印刷データにのみ存在する特徴量識別子を削除することにより、次元を削減した特徴空間を生成する。特定の印刷済みデータのみに存在する特徴量識別子は、グループの特徴を表す識別子とはならないからである。
【００７２】
次に、Ｓ１３０２において、クラスタリング実行部５０２は、各印刷済みデータの特徴量を特徴空間の特徴点にマッピングする。
ここで、クラスタリング実行部５０２は、特定の印刷済みデータのみに存在する特徴量識別子を削除する。削除された特徴量識別子が極端に多い印刷済みデータは、クラスタリングの対象外としてもよい。削除された特徴量識別子が極端に多いということは、他の印刷データと類似する描画がほとんどないことを意味するからである。
【００７３】
次に、Ｓ１３０３において、クラスタリング実行部５０２は、キャノピークラスタリングにより、クラスタ数と各クラスタの代表点を決める。
後述するように、本実施例では、クラスタリングの手法として、既知の手法であるＫ平均法を採用する。
Ｋ平均法では、クラスタ数と初期のクラスタの重心点を予めに決めておく必要がある。キャノピークラスタリングはクラスタ数と初期のクラスタの重心点を適切に決めるための前処理として採用する。なお、キャノピークラスタリングも、同様に既知の手法であるため説明は省略する。
【００７４】
次に、Ｓ１３０４において、クラスタリング実行部５０２は、各クラスタの代表点を初期の重心点として設定する。
続く、Ｓ１３０５からＳ１３０９までの処理により、クラスタリング実行部５０２はＫ平均法によるクラスタリングを実行する。
【００７５】
Ｓ１３０５において、クラスタリング実行部５０２は、各印刷済みデータの特徴点と各クラスタの重心点と間の距離を計算する。
距離の計算手法としては、既知の手法であるユークリッド距離を用いる。ここで、距離の遠近は、特徴量の類似度を表すことに注意すべきである。すなわち、類似する特徴量（特徴点）間の距離は小さく、類似しない特徴量（特徴点）間の距離は大きくなる。
次に、Ｓ１３０６において、クラスタリング実行部５０２は、各印刷済みデータをその特徴点に最も近い重心点を有するクラスタに割り当てる。
Ｓ１３０７において、クラスタリング実行部５０２は、クラスタに対する特徴点の割り当てに変化があるか否か判定する。
Ｙｅｓの場合はＳ１３０８に進み、Ｎｏの場合はＳ１３０９へ進む。
【００７６】
クラスタに対する特徴点の割り当てに変化があった場合、Ｓ１３０８において、クラスタリング実行部５０２は、各クラスタの重心点を再計算する。
重心点は各クラスタに割り当てられた特徴点の平均値であり、クラスタの特徴を代表する特徴点とみなすことができる。
Ｓ１３０８の処理を終了したら、Ｓ１３０５に戻り処理を継続する。そして、Ｓ１３０８、Ｓ１３０５、Ｓ１３０６の処理により、クラスタへの特徴点への割り当てに変化がなくなるまで、すなわち、割り当てが収束するまで、これらの処理を繰り返す。
【００７７】
各クラスタの重心点が定まると、Ｓ１３０９において、クラスタリング実行部５０２は、各クラスタの重心点の特徴量と各クラスタに帰属する印刷済みデータを記憶する。
そして、Ｓ１３１０において、クラスタリング実行部５０２は、各クラスタの重心点に最も近い印刷済みデータを調べ、記憶する。
図６のＳ６０７におけるクラスタの代表画像には、クラスタの重心点に最も近い印刷済みデータの画像が使われる。
【００７８】
ここで、各クラスタに帰属する印刷済みデータとは、特徴点が最も近い重心点を有するいずれかのクラスタに割り当てられた印刷済みデータである。Ｋ平均法ではすべての特徴点（特徴量）がいずれかのクラスタに割り当てられる。したがって、どのクラスタの重心点からも遠い孤立点であっても、いずれかのクラスタに割り当てられることになる。
このような孤立点はノイズとなるため、こうしたノイズを除去するために、クラスタの重心から一定距離内にある特徴点（特徴量）のみを、当該クラスタに帰属する印刷済みデータとする方法を採用してもよい。その場合、どのクラスタにも帰属しない印刷済みデータは、その他のデータとして一括りにして扱うことにより、情報の欠落を避けることができる。
【００７９】
クラスタリングは特徴空間における距離を用いて類似度を評価するため、結果的に同一の特徴を多く有する特徴点（特徴量）を有する印刷データは、同一のクラスタに抽出される。すなわち、印刷データに含まれる多数の特徴の中から、一致する特徴を多く有する印刷データを同じグループに属する印刷データとして識別することが可能となる。
【００８０】
なお、データクラスタリングの手法としては、本実施例におけるＫ平均法以外にも、階層的クラスタリング、サポートベクターマシンなど他の手法を用いてもかまわない。その場合でも、類似度は特徴量同士の距離によって評価される。
【００８１】
上述のとおり、本実施例によれば、印刷データを生成したアプリケーションではなく、印刷データの内容に基づいて、印刷コストを把握することが可能となる。
また、一般的に、パターン認識は事前の作り込みが必要であり、事後に発生する様々なパターンを後から考慮することができない。このため、特定の書式として認識するパターンを事前に決めてプログラミングしておく必要がある。すなわち、新たなパターンが出現した場合には、再度、プログラミングが必要となる。
【００８２】
これに対して、本実施例によれば、印刷データに含まれる複数の特徴を特徴量として用いて、データクラスタリングすることにより、事前に特定パターンを認識するためのプログラミングが不要になる。
また、教師データによる学習も不要であるため、利便性が非常に高い方法と言える。さらに、複数の特徴からなる特徴量の類似性を判別するために、特定の特徴に依存することがなく、様々な書式として認識することができる。すなわち、本実施例のクラスタリングは、入力される様々な印刷データに対して柔軟性の高い分類方式であるといえる。
【実施例２】
【００８３】
実施例１では、サーバーとクライアント（プリンタ）による分散処理を行うシステムについて説明した。
これに対して、実施例２ではプリンタ単体でクラスタリングとレポート生成を行うシステムを説明する。
【００８４】
また、実施例１では、描画コマンドの種別、位置情報、サイズ情報などを用いて、印刷データの特徴量を構成する手法について説明した。このような特徴量は描画オブジェクトの配置やサイズに類似性の高いデータの抽出に適している。すなわち、類似のテンプレート書式を使った印刷データを見分ける能力が高いと言える。
これに対して、実施例２では、印刷データの特徴量として、テキスト（印字文字列）の内容を用いる方法について説明する。テキストを使うと、印刷データの内容が意味的に類似するグループを抽出することができる。
ここで、サーバークライアントのシステム構成と特徴量抽出方法とは、依存関係にないことに注意すべきである。すなわち、プリンタ単体の構成においても、実施例１の特徴量抽出方法を採用することができる。
【００８５】
＜プリンタのソフトウェアモジュール構成図＞
図１５は、実施例２におけるプリンタのソフトウェア構成を表すソフトウェアモジュール構成図である。
実施例２では、プリンタがサーバーの機能を兼ねるため、いくつかのモジュールが図４のソフトウェアモジュール構成図に追加される。具体的には、クラスタリング実行部４１０、レポート生成部４１１、Ｗｅｂサーバー４１２が追加される。
これらのモジュールの機能性は、それぞれ、図５におけるサーバーのクラスタリング実行部５０２、レポート生成部５０３、Ｗｅｂサーバー５０４と同等である。
【００８６】
但し、実施例２では、サーバーとプリンタの間で特徴量などのデータ送受信が不要になるため、プリンタにおいてデータ送信部４０８が不要となる。
また、プリンタ単体の処理能力はサーバーと比較して劣るため、プリンタ単体の場合では、印刷枚数の集計対象を自機のみに限定する構成とする。すなわち、ネットワーク上の他のプリンタでの印刷は集計対象に含めない。その他は、図４のソフトウェアモジュール構成図と同等であるため、説明は省略する。
【００８７】
＜プリンタ処理の基本フローチャート＞
図１６は、実施例２におけるプリンタにおける基本処理を表すフローチャートである。
最初に、Ｓ１６０１において、ジョブ制御部４０１は、プリンタイベントが発生するまで待つ。
プリンタイベントには、印刷データの受信通知と、印刷データのクラスタリングと印刷枚数の集計レポートの生成要求と、の２つがある。
【００８８】
プリンタイベントが発生すると、Ｓ１６０２へ進み、ジョブ制御部４０１は、プリンタイベントが印刷データの受信通知であるか否かを判断する。
Ｓ１６０２でＹｅｓの場合は、Ｓ１６０３へ進み、印刷データを受信する。
Ｓ１６０２でＮｏの場合は、Ｓ１６０８へ進む。
【００８９】
プリンタイベントが印刷データの受信通知であった場合の、Ｓ１６０３からＳ１６０６までの処理は、図７のＳ７０１からＳ７０４までの処理と同様であるため、説明は省略する。
そして、Ｓ１６０７において、ジョブ制御部４０１は、印刷データの特徴量と、印刷枚数及び代表画像を、ジョブデータ管理部４０９に保存する。
Ｓ１６０７の処理が終了すると、Ｓ１６０１へ戻る。
【００９０】
Ｓ１６０２でＮｏの場合、すなわち、プリンタイベントが印刷データのクラスタリングと印刷枚数の集計レポートの生成要求であった場合は、Ｓ１６０８へ進む。
そして、Ｓ１６０８において、クラスタリング実行部５０２は、印刷済みデータのクラスタリングを実行する。
【００９１】
Ｓ１６０９からＳ１６１２までの処理は、図６のＳ６０５からＳ６０８までの処理と同様であるため、説明は省略する。
Ｓ６０８の処理が終了すると、Ｓ１６０１へ戻る。
【００９２】
＜テキストによる特徴量抽出の詳細フローチャート＞
図１７は、テキストによる特徴量抽出の詳細なフローチャートであり、図１１と同様に、図９のＳ９０６の処理を詳細に示したものである。
【００９３】
Ｓ１７０１において、特徴量抽出部４０７は、ＰＤＬデータをパース（構文解析）して、描画コマンドを取り出す。
次に、Ｓ１７０２において、特徴量抽出部４０７は、描画コマンドがDrawTextであるか否かを判定する。
Ｙｅｓの場合はＳ１７０３へ進み、Ｎｏの場合はＳ１７０６へ進む。
Ｓ１７０３において、特徴量抽出部４０７は、描画コマンドから文字列情報を取り出す。
なお、図４で説明したように、DrawTextはパラメータとして描画文字列を有する。
【００９４】
Ｓ１７０４において、特徴量抽出部４０７は、文字列情報を形態素解析して、名詞のみを単語として取り出す。
形態素解析は、文書を単語で区切り、辞書を用いて品詞などを判別する処理を指す。ここでは、形態素解析として公知の技術を用いる。
次に、Ｓ１７０５において、特徴量抽出部４０７は、単語と、各単語の累積出現数と、を特徴として記憶する。
【００９５】
次に、Ｓ１７０６において、特徴量抽出部４０７は、ＰＤＬデータのパースがすべて完了したか否かを判定する。
Ｙｅｓの場合はＳ１７０７へ進む。
Ｎｏの場合は、Ｓ１７０１に戻り、特徴量抽出処理を繰り返す。
ＰＤＬデータのパースがすべて完了すると、Ｓ１７０７において、特徴量抽出部４０７は、１つの単語を一次元とし、各単語の出現数を各次元の値とする、多次元ベクトルを生成する。
【００９６】
特徴量抽出以外の処理については実施例１と同じ方式を採用してもよい。但し、実施例２においては、特徴量間の距離として、ユークリッド距離よりもコサイン距離を採用する方がより望ましい結果が得られる。
また、クラスタリングの前処理（図９のＳ１３０１、Ｓ１３０２）として、公知のＴＦ／ＩＤＦ法により特徴の重みづけ調整を行うと、さらに望ましい結果が得られる。
【００９７】
上述のとおり、印刷データの特徴量としてテキスト（印字文字列）を用いると、同じ単語を多く使用する印刷データが同じクラスタとして抽出される。すなわち、フォーマットが違っていても、印刷データの元である文書の意味的内容が近いものが集まる。このため、描画オブジェクト配置などの幾何学的な特性だけではなく、意味的な特性に着目して印刷設定との相関を調べることにより、より多面的な解析が可能となる。
【００９８】
また、幾何学的な特性と意味的な特性とは独立しているとみなすことができるので、同時に扱うことも可能である。この場合、ある印刷データは、幾何学的な特性によるクラスタと、意味的な特性によるクラスタと、に同時に帰属することになる。
なお、実施例１ではクラスタの代表画像をレポートに表示したが、実施例２では、クラスタの特徴を表すメタ情報として、クラスタに特徴的な単語を表示する方法も考えられる。
【００９９】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上述の実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述した各実施例及びその変形例を組み合わせた構成もすべて本発明に含まれる。
【符号の説明】
【０１００】
１００      プリンタＡ
１０３      サーバー
４０１      ジョブ制御部
４０２      データ受信部
４０３      ＰＤＬインタプリタ
４０４      レンダラ
４０５      ユーザインタフェース
４０６      プリントドライバ
４０７      特徴量抽出部
４０８      データ送信部
４０９      ジョブデータ管理部
５０１      制御部
５０２      クラスタリング実行部
５０３      レポート生成部
５０４      Ｗｅｂサーバー
５０５      特徴量データ受信部
５０６      データ管理部
【図１】
2019195959.tif 000003
【図２】
2019195959.tif 000004
【図３】
2019195959.tif 000005
【図４】
2019195959.tif 000006
【図５】
2019195959.tif 000007
【図６】
2019195959.tif 000008
【図７】
2019195959.tif 000009
【図８】
2019195959.tif 000010
【図９】
2019195959.tif 000011
【図１０】
2019195959.tif 000012
【図１１】
2019195959.tif 000013
【図１２】
2019195959.tif 000014
【図１３】
2019195959.tif 000015
【図１４】
2019195959.tif 000016
【図１５】
2019195959.tif 000017
【図１６】
2019195959.tif 000018
【図１７】
2019195959.tif 000019