(57)【要約】      （修正有）【課題】ユーザに対し、様々なドキュメントにおいて最適な推奨印刷設定を短時間で提示可能な印刷装置を提供する。【解決手段】情報処理装置から印刷データを取得して処理する印刷装置において、生成されるページ単位の描画データの属性をブロックに分けて解析して描画複雑度を算出する。また、解析で描画複雑度を算出できないブロックを抽出し、該抽出された各ブロックに対応する描画データを展開して画像データを生成する。さらに、展開された各ブロックの画像データを画素単位に解析し、隣接する画素間で色味が変化するエッジ数をカウントし、算出されたエッジ数と所定のしきい値とから抽出された全てのブロックについて描画複雑度を算出する。そして、それぞれ算出された各ページの描画複雑度に基づいて、印刷データに対する推奨印刷設定を決定する構成とする。【選択図】図３
2015150763.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から印刷データを取得して処理する印刷装置であって、
前記印刷データより描画データをページ単位に生成する生成手段と、
前記生成手段により生成されるページ単位の描画データの属性をブロックに分けて解析して描画複雑度を算出する第１の算出手段と、
前記第１の算出手段による解析で描画複雑度を算出できないブロックを抽出する抽出手段と、
前記抽出手段により抽出された各ブロックに対応する描画データを展開して画像データを生成する展開手段と、
前記展開手段により展開された各ブロックの画像データを画素単位に解析し、隣接する画素間で色味が変化するエッジ数をカウントするカウント手段と、
前記カウント手段により算出されたエッジ数と所定のしきい値とから抽出された全てのブロックについて描画複雑度を算出する第２の算出手段と、
前記第１の算出手段または前記第２の算出手段により算出された各ページの描画複雑度に基づいて、前記印刷データに対する推奨印刷設定を決定する決定手段と、
を備えることを特徴とする印刷装置。
【請求項２】
前記決定手段が決定した前記印刷データに対する前記推奨印刷設定を前記情報処理装置に送信する送信手段を備えることを特徴とする請求項１記載の印刷装置。
【請求項３】
印刷データを印刷装置に送信する情報処理装置であって、
前記印刷データと、当該印刷データに対する推奨印刷設定の要求とを前記印刷装置に転送する転送手段と、
前記印刷装置により決定された前記印刷データに対する前記推奨印刷設定を取得する取得手段と、
前記取得手段が取得した前記推奨印刷設定に従い前記印刷データを前記印刷装置が印刷する画像データに展開する画像生成手段と、
前記画像生成手段が生成した画像データを表示する表示手段と、
を備えることを特徴とする情報処理装置。
【請求項４】
前記表示手段に表示された画像データに対する印刷実行の要求を受け付ける受付手段と、
前記受付手段が前記印刷実行の要求を受け付けることに応じて、前記推奨印刷設定に従う印刷データを前記印刷装置に送信する送信手段と、
を備えることを特徴とする請求項３記載の情報処理装置。
【請求項５】
印刷データを印刷装置に送信する情報処理装置であって、
前記印刷データより描画データをページ単位に生成する生成手段と、
前記生成手段により生成されるページ単位の描画データの属性をブロックに分けて解析して描画複雑度を算出する第１の算出手段と、
前記第１の算出手段による解析で描画複雑度を算出できないブロックを抽出する抽出手段と、
前記抽出手段により抽出された各ブロックに対応する描画データを展開して画像データを生成する展開手段と、
前記展開手段により展開された各ブロックの画像データを画素単位に解析し、隣接する画素間で色味が変化するエッジ数をカウントするカウント手段と、
前記カウント手段により算出されたエッジ数と所定のしきい値とから抽出された全てのブロックについて描画複雑度を算出する第２の算出手段と、
前記第１の算出手段または前記第２の算出手段により算出された各ページの描画複雑度に基づいて、前記印刷データに対する推奨印刷設定を決定する決定手段と、
前記決定手段により決定された推奨印刷設定に従って前記印刷データから画像データを生成する画像生成手段と、
前記画像生成手段が生成した画像データを表示する表示手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
前記推奨印刷設定は、レイアウト印刷設定を含むことを特徴とする請求項１、または２に記載の印刷装置。
【請求項７】
前記推奨印刷設定は、レイアウト印刷設定を含むことを特徴とする請求項３、乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
前記印刷データは、属性の異なるオブジェクトを含むことを特徴とする請求項１または２に記載の印刷装置。
【請求項９】
前記印刷データは、属性の異なるオブジェクトを含むことを特徴とする請求項３乃至５のいずれか１項に記載の情報処理装置。
【請求項１０】
前記属性の異なるオブジェクトは、文字、図形、イメージを含むことを特徴とする請求項８記載の印刷装置。
【請求項１１】
前記属性の異なるオブジェクトは、文字、図形、イメージを含むことを特徴とする請求項９記載の情報処理装置。
【請求項１２】
情報処理装置から印刷データを取得して処理する印刷装置のデータ処理方法であって、
前記印刷データより描画データをページ単位に生成する生成工程と、
前記生成工程により生成されるページ単位の描画データの属性をブロックに分けて解析して描画複雑度を算出する第１の算出工程と、
前記算出工程による解析で描画複雑度を算出できないブロックを抽出する抽出工程と、
前記抽出工程により抽出された各ブロックに対応する描画データを展開して画像データを生成する展開工程と、
前記展開工程により展開された各ブロックの画像データを画素単位に解析し、隣接する画素間で色味が変化するエッジ数をカウントするカウント工程と、
前記カウント工程により算出されたエッジ数と所定のしきい値とから抽出された全てのブロックについて描画複雑度を算出する第２の算出工程と、
前記第１の算出工程または前記第２の算出工程により算出された各ページの描画複雑度に基づいて、前記印刷データに対する推奨印刷設定を決定する決定工程と、
を備えることを特徴とする印刷装置のデータ処理方法。
【請求項１３】
印刷データを印刷装置に送信する情報処理装置のデータ処理方法であって、
前記印刷データより描画データをページ単位に生成する生成工程と、
前記生成工程により生成されるページ単位の描画データの属性をブロックに分けて解析して描画複雑度を算出する第１の算出工程と、
前記算出工程による解析で描画複雑度を算出できないブロックを抽出する抽出工程と、
前記抽出工程により抽出された各ブロックに対応する描画データを展開して画像データを生成する展開工程と、
前記展開工程により展開された各ブロックの画像データを画素単位に解析し、隣接する画素間で色味が変化するエッジ数をカウントするカウント工程と、
前記カウント工程により算出されたエッジ数と所定のしきい値とから抽出された全てのブロックについて描画複雑度を算出する第２の算出工程と、
前記第１の算出工程または前記第２の算出工程により算出された各ページの描画複雑度に基づいて、前記印刷データに対する推奨印刷設定を決定する決定工程と、
前記決定工程により決定された推奨印刷設定に従って前記印刷データから画像データを生成する画像生成工程と、
前記画像生成工程が生成した画像データを表示手段に表示する表示工程と、
を備えることを特徴とする情報処理装置のデータ処理方法。
【請求項１４】
請求項１２に記載の印刷装置のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
請求項１３に記載の情報処理装置のデータ処理方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、情報処理装置、印刷装置のデータ処理方法、情報処理装置のデータ処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以後、ＰＣ）においてアプリケーションで作成したドキュメントを印刷する場合、プリンタドライバを介してプリンタが解釈可能な印刷データに変換する。この際、ユーザは、プリンタドライバのＵＩ上の様々な設定項目から必要な項目を選択し設定を変更することで、所望の印刷結果を得ている。
【０００３】
近年、モバイル端末の普及により、モバイル端末からドキュメントを印刷するケースが増加している。モバイル端末はＰＣに接続されたディスプレイよりも表示画面は小さく、従来のプリンタドライバのＵＩを表示するには不向きである。また、様々な設定項目を変更するのはユーザにとって非常に煩わしい操作をすることになり、手間のかかる作業となっている。
【０００４】
これらの課題を解決するために、あらかじめドキュメントに適した印刷設定を印刷データから判定し、判定した印刷設定をユーザに提示する方法が考えられる。印刷データの判定においては、印刷データ内の各描画データを判定するか、各描画データを展開したイメージデータを判定する方法が考えられる。これに対し、描画データの判定については、描画データの文字のサイズを判定し、判読可能なページ集約数を決定する方法が提案されている。（特許文献１）この方法を使うことにより、ドキュメントに適したページ集約数をユーザに提示することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１９０２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した方法では、文字の描画データのみを判定しているため、判定方法は容易であり、短時間で判定可能だが、グラフィックやイメージを多く含んだドキュメントにおいて、良好な判定結果が得られない。
一方、展開した画像データで判定を行う場合、全てのドキュメントにおいて最適な判定結果が得られるが、ピクセル単位で行うことになるため、判定処理に時間がかかり、推奨印刷設定の提示までユーザを待たせることになる。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、ユーザに対し、様々なドキュメントにおいて最適な推奨印刷設定を短時間で提示できる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明の印刷装置は以下に示す構成を備える。
情報処理装置から印刷データを取得して処理する印刷装置であって、前記印刷データより描画データをページ単位に生成する生成手段と、前記生成手段により生成されるページ単位の描画データの属性をブロックに分けて解析して描画複雑度を算出する第１の算出手段と、前記第１の算出手段による解析で描画複雑度を算出できないブロックを抽出する抽出手段と、前記抽出手段により抽出された各ブロックに対応する描画データを展開して画像データを生成する展開手段と、前記展開手段により展開された各ブロックの画像データを画素単位に解析し、隣接する画素間で色味が変化するエッジ数をカウントするカウント手段と、前記カウント手段により算出されたエッジ数と所定のしきい値とから抽出された全てのブロックについて描画複雑度を算出する第２の算出手段と、前記第１の算出手段または前記第２の算出手段により算出された各ページの描画複雑度に基づいて、前記印刷データに対する推奨印刷設定を決定する決定手段と、を備えることを特徴とする。
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
印刷データを印刷装置に送信する情報処理装置であって、前記印刷データと、当該印刷データに対する推奨印刷設定の要求とを前記印刷装置に転送する転送手段と、前記印刷装置により決定された前記印刷データに対する前記推奨印刷設定を取得する取得手段と、前記取得手段が取得した前記推奨印刷設定に従い前記印刷データを前記印刷装置が印刷する画像データに展開する画像生成手段と、前記画像生成手段が生成した画像データを表示する表示手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザに対し、様々なドキュメントにおいて最適な推奨印刷設定を短時間で提示できる。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの機能モジュール構成を示すブロック図である。
【図２】印刷システムのハードウェア構成を示すブロック図である。
【図３】印刷システムのデータ処理方法を説明するフローチャートである。
【図４】印刷装置のデータ処理方法を説明するフローチャートである。
【図５】複雑度判定する描画データの一例を示す図である。
【図６】ブロック管理テーブルの一例を示す図である。
【図７】印刷装置のデータ処理方法を説明するフローチャートである。
【図８】印刷装置のデータ処理方法を説明するフローチャートである。
【図９】画像データの一例を示す図である。
【図１０】印刷装置のデータ処理方法を説明するフローチャートである。
【図１１】モバイル端末に表示されるＵＩ画面を示す図である。
【図１２】モバイル端末の機能モジュール構成を示すブロック図である。
【図１３】データ処理装置のデータ処理方法を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示す情報処理装置と印刷装置を含む印刷システムの機能モジュール構成を示すブロック図である。
図１において、ユーザが携帯して利用することが可能なモバイル端末１０１は、ユーザの操作に従って選択されたドキュメントの印刷データを生成し、ネットワーク１０３を介し、印刷装置１０２に印刷データを送信する。印刷装置１０２は、ネットワーク１０３を介して送信された印刷データを処理し、印刷する。
【００１１】
次に、モバイル端末１０１の詳細な機能モジュール構成を説明する。
モバイル端末１０１において、３０１はＵＩ処理部で、ユーザの操作を受け付け後述する各処理部にドキュメントの印刷データ、画像データの生成や推奨設定判定依頼の指示要求を転送したり、生成された画像を表示したりする。
３０２はデータ処理部で、ＵＩ処理部３０１からの指示に従い、選択されたドキュメントのデータをファイル３０６から読み出し、印刷データを生成し、データスプール３０５に格納する。
【００１２】
３０３はネットワーク処理部で、データスプール３０５に格納された印刷データを、ネットワーク１０３を介して印刷装置１０２に送信する。ネットワーク処理部３０３は、ＵＩ処理部３０１の指示に従い、印刷装置１０２への印刷データ送信と推奨設定判定依頼または印刷依頼を行う。
３０４は画像生成部で、選択されたドキュメントの画像や、印刷装置１０２で決定した推奨印刷設定に従って画像データを生成し、生成した画像データをＵＩ処理部３０１に渡す。３０５はデータスプールで、データ処理部３０２で生成された印刷データを格納する。３０６はファイルで、アプリケーション等で作成したドキュメントのデータを格納する。
【００１３】
次に、印刷装置１０２の詳細な機能モジュール構成を説明する。
印刷装置１０２において、２０１はネットワーク処理部で、ネットワーク１０３を介して送信された印刷データ（属性の異なる描画オブジェクトが含まれる）をデータスプール２０８に格納する。２０２は解析処理部で、ネットワーク処理部２０１の指示に従い、データスプール２０８に格納された印刷データを解析し、ページ単位の描画データを描画データスプール２１１に格納する。２０３は描画データ判定部で、描画データスプール２１１に格納された描画データの属性を後述するようにブロックごとに描画複雑度の判定を行う。２０４は展開処理部で、描画データスプール２１１に格納されたページ単位の描画データから画像データに展開し、画像データスプール２１０に格納する。なお、本実施形態において、描画すべきオブジェクトには、文字、図形、画像が含まれる。
【００１４】
２０５は画像判定部で、ブロック管理テーブル２０９で管理されるデータを参照して、属性を特定できないブロックについて描画データから生成される画像データであって、画像データスプール２１０に格納された画像データを画素単位に解析して描画複雑度を判定する。２０６は推奨設定判定部で、描画データ判定部２０３、画像判定部２０５のそれぞれの描画複雑度の判定結果をもとに、推奨印刷設定を判定する。推奨設定判定部２０６は、判定結果をネットワーク処理部２０１に通知し、ネットワーク１０３を介して依頼元のモバイル端末１０１に送信する。
２０７は印刷処理部で、画像データスプール２１０に格納された画像データを印刷する。２０８はデータスプールで、ネットワーク処理部２０１で受信した印刷データを格納する。２０９はブロック管理テーブルで、描画データ判定部２０３の判定結果を、ページを複数に分割したブロックごとに格納しておく。ブロック管理テーブル２０９は、画像判定部２０５から参照され、画像データの判定を実行するかどうかの判定に使われる。２１１は描画データスプールで、解析処理部２０２によって生成された描画データを格納する。２１０は画像データスプールで、展開処理部２０４によって展開された画像データを格納する。
【００１５】
＜ハードウェア構成＞
図２は、図１に示したモバイル端末１０１と印刷装置１０２のハードウェア構成を示すブロック図である。
【００１６】
図２において、モバイル端末１０１は、ＲＡＭ５０１、ＣＰＵ５０２、Ｆｌａｓｈメモリ５０３、ネットワークＩ／Ｆ５０４、ディスプレイ５０５から構成される。
【００１７】
ＲＡＭ５０１は、揮発性メモリであり、電源投入時にＦｌａｓｈメモリ５０３に格納された各ＵＩ処理部３０１、データ処理部３０２、ネットワーク処理部３０３、画像生成部３０４のプログラムが展開される。
また、データ処理部３０２で生成された印刷データの一次的な記憶領域になる。ＣＰＵ５０２は、ＲＡＭ５０１に展開された各処理部３０１〜３０４のプログラムを実行する演算プロセッサである。Ｆｌａｓｈメモリ５０３は、大量の情報を格納可能な記憶装置であり、各ＵＩ処理部３０１、データ処理部３０２、ネットワーク処理部３０３、画像生成部３０４のプログラムが格納され、また、データスプール３０５やファイル３０６の記憶領域になる。
【００１８】
ネットワークＩ／Ｆ５０４は、印刷装置１０２とネットワーク１０３を介してデータや情報の送受信を行う入出力インターフェースである。ディスプレイ５０５は、ＵＩ処理部３０１で生成した操作画面や画像生成部３０４で生成した画像データを表示し、ユーザの操作を電気的な信号に変換し、ＵＩ処理部３０１に伝達する。
【００１９】
印刷装置１０２は、ＲＯＭ４０１、ＲＡＭ４０２、ＣＰＵ４０３、ＨＤＤ４０４、ネットワークＩ／Ｆ４０５、エンジンＩ／Ｆ４０６、プリンタエンジン４０７から構成される。
ＲＯＭ４０１は、不揮発性メモリであり、印刷装置１０２の各ネットワーク処理部２０１、解析処理部２０２、描画データ判定部２０３、展開処理部２０４、画像判定部２０５、推奨設定判定部２０６、印刷処理部２０７のプログラムが格納される。
【００２０】
ＲＡＭ４０２は、揮発性メモリであり、電源投入時にＲＯＭ４０１に格納された各ネットワーク処理部２０１、解析処理部２０２、描画データ判定部２０３、展開処理部２０４、画像判定部２０５、推奨設定判定部２０６、印刷処理部２０７のプログラムが展開される。
また、ブロック管理テーブル２０９が格納されるとともに、データスプール２０８、画像データスプール２１０、描画データスプール２１１の一次的な記憶領域になる。
【００２１】
ＣＰＵ４０３は、ＲＡＭ４０２に展開された各ネットワーク処理部２０１、解析処理部２０２、描画データ判定部２０３、展開処理部２０４、画像判定部２０５、推奨設定判定部２０６、印刷処理部２０７のプログラムを実行する演算プロセッサである。
【００２２】
ＨＤＤ４０４は、大量の情報を格納可能な記憶装置であり、データスプール２０８、画像データスプール２１０の記憶領域になる。エンジンＩ／Ｆ４０６は、印刷処理部２０７の制御で、画像データスプール２１０に格納された画像データをビデオデータに変換し、プリンタエンジン４０７に出力する。プリンタエンジン４０７は、不図示の印刷プロセスでビデオデータをもとに用紙に印刷する。ネットワークＩ／Ｆ４０５は、ネットワーク１０３を介して、モバイル端末１０１と通信を行う。
【００２３】
＜印刷処理フロー＞
【００２４】
図３は、本実施形態を示す印刷システムのデータ処理方法を説明するフローチャートである。図３の（Ａ）はモバイル端末１０１のＣＰＵ５０２、および図３の（Ｂ）は印刷装置１０２のＣＰＵ４０３で実行される推奨印刷設定の印刷処理例に対応する。ここで、推奨印刷設定として、レイアウト印刷設定を例とするが、本発明はレイアウト印刷設定に限定されるものではない。なお、各ステップは、ＣＰＵ５０２またはＣＰＵ４０３が記憶された制御プログラムを実行することで実現される。また、以下の説明では、ＣＰＵ５０２またはＣＰＵ４０３が実行するモジュールを主体として説明する。
モバイル端末１０１においては、Ｓ１００１で、ＵＩ処理部３０１は、ユーザの操作による印刷データの選択指示を受ける。Ｓ１００２で、データ処理部３０２はＵＩ処理部３０１からの指示に従い、ファイル３０６から選択されたデータを読み出し、印刷装置１０２で処理可能な印刷データに変換し、印刷データをデータスプール３０５に格納する。
Ｓ１００３で、ネットワーク処理部３０３は、ネットワークＩ／Ｆ５０４を介して印刷データを印刷装置１０２へ送信し、推奨印刷設定の判定依頼をする。Ｓ１００４で、モバイル端末１０１は印刷装置１０２からの推奨印刷設定の判定結果を待つ。
印刷装置１０２においては、Ｓ１０１０で、ネットワーク処理部２０１は印刷データを受信すると、データスプール２０８に印刷データを格納するとともに、Ｓ１０１１で、推奨印刷設定の判定依頼かを判定する。推奨印刷設定の判定依頼であるとネットワーク処理部２０１が判断した場合、Ｓ１０１２で、解析処理部２０２は、データスプール２０８に格納された印刷データを解析し、描画データを生成し、描画データを描画データスプール２１１に格納する。
Ｓ１０１３で、解析処理部２０２がジョブ終了コマンドを解析するまで、Ｓ１０１２〜Ｓ１０１７を繰り返し実行する。
具体的には、Ｓ１０１４で、解析処理部２０２がページ終了コマンドを解析するまで、Ｓ１０１２〜Ｓ１０１５を繰り返し実行する。Ｓ１０１５で、描画データ判定部２０３は、描画データスプール２１１に格納された描画データに対し、描画結果の視覚的な細かさを示す複雑度の判定を行い、判定結果を後述のブロック管理テーブル２０９に格納し、Ｓ１０１２の処理に戻る。
Ｓ１０１４で、ページ終了コマンドを解析すると、Ｓ１０１６で、展開処理部２０４は、描画データスプール２１１に格納された描画データをレンダリングし、画像データを画像データスプール２１０に格納する。
Ｓ１０１７で、画像判定部２０５は、ブロック管理テーブル２０９に格納された描画データの判定結果を参照し、画像データスプール２１０に格納された画像データの複雑度を判定し、Ｓ１０１２の処理に戻る。
一方、Ｓ１０１３で、解析処理部２０２がジョブ終了コマンドを解析すると、Ｓ１０１８で、推奨設定判定部２０６は、Ｓ１０１５、Ｓ１０１７の複雑度判定の結果をもとに、印刷データの推奨印刷設定を判定する。
Ｓ１０１９で、ネットワーク処理部２０１を介してネットワーク１０３に接続された依頼元のモバイル端末１０１に、印刷レイアウト等の推奨印刷設定の判定結果を送信する。
モバイル端末１０１においては、Ｓ１００４で、ネットワーク処理部３０３が印刷装置１０２から送信された推奨印刷設定を受けると、Ｓ１００５で、画像生成部３０４は、推奨印刷設定に従って画像データを生成する。Ｓ１００６で、画像生成部３０４で生成された画像データを、ＵＩ処理部３０１を介してディスプレイ５０５上に表示し、Ｓ１００７で、ユーザからの印刷実行待ちとなる。
ユーザが図示しないボタン等の指示にしたがって印刷実行すると、Ｓ１００８で、データ処理部３０２は、選択された設定に従って印刷データを生成し、データスプール３０５に印刷データを格納する。
Ｓ１００９で、ネットワーク処理部３０３は、データスプール３０５に格納された印刷データを、ネットワーク１０３を介して印刷装置１０２に送信し、印刷依頼をする。
印刷装置１０２のネットワーク処理部２０１は、モバイル端末１０１から印刷依頼を受けると、Ｓ１０２０で、印刷データに従って印刷処理を行う。
＜描画データの複雑度判定フロー＞
図４は、本実施形態を示す印刷装置のデータ処理方法を説明するフローチャートである。本例は、印刷装置１０２のＣＰＵ４０３で実行されるＳ１０１５の描画データの複雑度判定の詳細手順に対応する。なお、各ステップは、ＣＰＵ４０３が記憶された制御プログラムを実行することで実現される。また、以下の説明では、図１に示した印刷訴追１０２のモジュールを主体として説明する。
【００２５】
Ｓ１１０１で、描画データ判定部２０３が描画データは文字描画データであるか否かを判定する。文字描画データであると描画データ判定部２０３が判定した場合、Ｓ１１０２で、描画データ判定部２０３が描画する文字のポイント数を参照し、８ポイント未満かを判定する。ここで、８ポイント未満であると描画データ判定部２０３が判定した場合、Ｓ１１０４で、描画データ判定部２０３が描画データの複雑度のパラメータを４と決定する。また、８ポイント以上であると描画データ判定部２０３が判定した場合、Ｓ１１０３で、描画データ判定部２０３がさらに１６ポイント未満かを判定する。
ここで、１６ポイント未満であると描画データ判定部２０３が判定した場合、Ｓ１１０５で、描画データ判定部２０３が描画データの複雑度のパラメータを２と決定する。
一方、１６ポイント以上であると描画データ判定部２０３が判定した場合、Ｓ１１１３で、描画データ判定部２０３が描画データの複雑度のパラメータを１と決定する。
【００２６】
一方、Ｓ１１０１で、文字描画データでないと描画データ判定部２０３が判定した場合、Ｓ１１１０で、描画データ判定部２０３は描画データが図形描画コマンドかを判定する。ここで、図形描画データであると描画データ判定部２０３が判定した場合、Ｓ１１１１で、描画データ判定部２０３が図形描画データの幅、高さ、パス点数を参照し、パス点数が１０点以下かつ幅、高さが５０以上の条件に該当するかを判定する。ここで、当該条件に該当すると描画データ判定部２０３が判定した場合、Ｓ１１１３で、描画データの複雑度のパラメータを１と決定する。
【００２７】
一方、Ｓ１１１０で、描画データが図形描画データでないと描画データ判定部２０３が判定した場合、Ｓ１１１２で、描画データ判定部２０３がイメージ描画コマンドとして、イメージデータの圧縮方式が可逆（Ｌｏｓｓｌｅｓｓ）圧縮かつ圧縮率が１／１０以下の条件に該当するかを判定する。当該条件に該当すると描画データ判定部２０３が判定した場合、Ｓ１１１３で、描画データ判定部２０３が描画データの複雑度のパラメータを１と決定する。
各Ｓ１１０４、Ｓ１１０５、Ｓ１１１３で複雑度のパラメータを決定すると、Ｓ１１２０で、描画データ判定部２０３が各描画データの描画領域からブロック位置を算出する。ブロック位置は、以下の式よりブロック開始位置とブロック終了位置を算出し、ブロック開始位置からブロック終了位置に含まれるブロック全てが対象となる。
ブロック開始位置（Ｘ、Ｙ）＝（描画データの開始位置Ｘ／ブロックサイズ、描画データの開始位置Ｙ／ブロックサイズ）
ブロック終了位置（Ｘ、Ｙ）＝（（描画データの開始位置Ｘ＋描画データの幅―１）／ブロックサイズ、（描画データの開始位置Ｙ＋描画データの高さ―１）／ブロックサイズ）
【００２８】
Ｓ１１２１で、描画データ判定部２０３が前記算出式より算出したブロック管理テーブル２０９に、決定した複雑度のパラメータを設定し、Ｓ１１２２で、判定済みフラグを判定済みである"ＴＲＵＥ"に変更する。
一方、Ｓ１１１１または、Ｓ１１１２の条件に該当しないと描画データ判定部２０３が判定した場合、描画データの複雑度の判定は不可能であり、Ｓ１１３０で、描画データ判定部２０３がＳ１１２０同様にブロック位置を算出する。Ｓ１１３１で、描画データ判定部２０３が算出したブロックの判定済みフラグを未判定である"ＦＡＬＳＥ"に変更する。
なお、上記Ｓ１１０２、Ｓ１１０３、Ｓ１１１１、Ｓ１１１２における条件の閾値は、印刷装置１０２の出力解像度や、印刷実行するユーザによって変更してもよい。
【００２９】
図５は、図２に示した描画データ判定部２０３で複雑度判定する描画データの一例を示す図である。
図５において、描画データ６０１、６０２、６０３は文字描画データであり、それぞれ６ポイント、１２ポイント、２０ポイントの文字描画データである。
描画データ６０１は、Ｓ１１０２の判定により、複雑度のパラメータは４と決定される。描画データ６０２、６０３は、Ｓ１１０３の判定により、複雑度のパラメータはそれぞれ２、１と決定される。
描画データ６１０、６１１は、図形描画データである。描画データ６１０は、図形の頂点を指定するパス点の数が３であり、描画する図形を包含する矩形の幅が１００、高さが１２０である。
【００３０】
描画データ６１１は、同様にパス点数が３、幅が３０、高さが４０である。描画データ６１０は、描画領域が広くピクセル単位の色の境界が少ないため、Ｓ１１１１の判定により、複雑度のパラメータは１と決定される。
一方、描画データ６１１は、描画領域が狭くピクセル単位の色の境界が多くなる可能性があるためＳ１１１１の判定で複雑度の判定は不可とされる。描画データ６２０、６２１はイメージ描画データである。描画データ６２０は、可逆圧縮であるＰａｃｋｂｉｔｓ圧縮で十分な圧縮率（１／１２）となっているため、図形描画に近いイメージ描画データであることが想定される。
【００３１】
このため、描画データ６２０は、画像データの判定が必要なく、Ｓ１１１２の判定により、複雑度のパラメータは１と決定される。
一方、描画データ６２１は、非可逆圧縮であるＪＰＥＧ圧縮で十分な圧縮率（１／８）が得られていないため、写真等のイメージ描画データであることが想定される。このため、描画データ６２１は、画像データの判定が必要であるため、Ｓ１１１２の判定で複雑度の判定は不可とされる。
【００３２】
図６は、図２に示した描画データ判定部２０３で判定した結果を格納するブロック管理テーブル２０９の一例を示す図である。
図６において、７０１はブロック管理データあり、全描画領域を所定のサイズに分割したブロックの開始座標Ｘ、Ｙと判定済みフラグと描画データの複雑度のパラメータから構成される。
７０２は、描画データ判定処理前の全描画領域のブロック管理テーブルである。判定済みフラグは全て描画データがないことを示す"ＮＯＮＥ"が設定される。全描画データを判定後、判定済みフラグが"ＮＯＮＥ"のブロックは、Ｓ１０１７の展開画像の複雑度判定において、判定対象外のブロックとなる。
【００３３】
７０３は、判定処理後の全描画領域のブロック管理テーブルである。判定済みフラグが"ＴＲＵＥ"のブロックは、Ｓ１０１４の描画データ複雑度判定により、判定された描画データを含むブロックであり、描画データの複雑度のパラメータが指定されている。また、Ｓ１０１７の展開画像の複雑度判定において、判定対象外のブロックとなる。一方、判定済みフラグが"ＦＡＬＳＥ"のブロックは、Ｓ１０１４の描画データ複雑度判定により判定できなかった描画データを含むブロックであり、Ｓ１０１７の展開画像の複雑度判定において、判定対象のブロックとなる。
【００３４】
＜画像データの複雑度判定フロー＞
図７は、本実施形態を示す印刷装置のデータ処理方法を説明するフローチャートである。本例は、図１に示した印刷装置１０２のＣＰＵ４０３で実行されるＳ１０１７の画像データの複雑度判定処理例である。なお、各ステップはＣＰＵ４０３が記憶された制御プログラムを実行することで実現される。なお、以下の説明では、図１に示したモジュールを主体として説明する。
【００３５】
Ｓ１２０１で、画像判定部２０５がページの複雑度パラメータをカウントするＣｏｍｐｌｅｘと判定領域数をカウントするＲｅｇｉｏｎを「０」に初期化する。Ｓ１２０２で、画像判定部２０５が描画データ判定処理後のブロック管理テーブル７０３を参照する。Ｓ１２０３で、画像判定部２０５がブロック管理テーブル７０３の判定済みフラグが"ＦＡＬＳＥ"であるか判定する。
【００３６】
ここで、判定済みフラグが"ＦＡＬＳＥ"であると画像判定部２０５が判定した場合、Ｓ１２０４で、画像判定部２０５がブロック管理テーブル７０３の開始座標Ｘ、Ｙから所定のブロックサイズの領域に含まれる画像データを画像データスプール２１０より読出し、複雑度を判定する。
【００３７】
一方、Ｓ１２０３で、判定済みフラグが"ＦＡＬＳＥ"でないと画像判定部２０５が判定した場合、Ｓ１２１０で、判定済みフラグが"ＴＲＵＥ"であるか判定する。したがって、判定済みフラグが"ＴＲＵＥ"の場合、Ｓ１２１１で、画像判定部２０５がブロック管理テーブル７０３の複雑度パラメータを参照し、Ｃｏｍｐｌｅｘに複雑度パラメータを加算する。
【００３８】
また、Ｓ１２１２で、画像判定部２０５がＲｅｇｉｏｎをインクリメントする。Ｓ１２０５で、全ブロックのブロック管理テーブル７０３の参照が終了するまで、Ｓ１２０１〜Ｓ１２０４、Ｓ１２１０〜Ｓ１２１２を繰り返し実行する。全ブロックのブロック管理テーブル７０３の参照が終了すると、Ｓ１２２０で、ページの複雑度として、Ｃｏｍｐｌｅｘ／Ｒｅｇｉｏｎを保持する。
【００３９】
上記のとおり、ブロック管理テーブル７０３に設定された描画データで複雑度判定済みかどうかの情報を実行前に参照することで、画像データの複雑度判定の実行を最小限に抑え、判定処理を高速化することができる。
【００４０】
図８は、本実施形態を示す印刷装置のデータ処理方法を説明するフローチャートである。本例は、図７に示したＳ１２０４のブロック画像の複雑度判定の詳細手順に対応する。なお、各ステップはＣＰＵ４０３が記憶された制御プログラムを実行することで実現される。なお、以下の説明では、図１に示したモジュールを主体として説明する。以下、抽出されるブロックの各画素間について、色味が変化するエッジ数をカウントして、当該カウントして得られる値としきい値とを比較して、描画複雑度を算出する処理を説明する。
Ｓ１３０１で、画像判定部２０５が画像データ内の隣接するピクセルの色の変化が大きいピクセル（エッジ）の数を格納するカウンタＥｃを「０」に初期化する。Ｓ１３０２で、Ｘ、Ｙにブロック管理テーブル７０３のブロック開始座標Ｘｂ、Ｙｂを設定する。また、画像判定部２０５がＸｍａｘ、Ｙｍａｘにブロック終了座標（ブロック開始座標＋ブロックサイズ―１）を設定する。
【００４１】
Ｓ１３０３で、画像判定部２０５がＸ、Ｙ座標のピクセルの色値Ｃを参照する。また、Ｓ１３０４、Ｓ１３０５で、画像判定部２０５が右（Ｘ＋１）のピクセルの色値Ｃｘ、下（Ｙ＋１）のピクセルの色値Ｃｙをそれぞれ参照する。Ｓ１３０６で、画像判定部２０５が色値Ｃに対し、色値Ｃｘ、色値Ｃｙの差分が３０より大きいかを判定する。ここで、色値Ｃｘ、色値Ｃｙの差分が３０より大きいと判定した場合、Ｓ１３０７で、画像判定部２０５がカウンタＥｃをインクリメントする。
Ｓ１３０８で、画像判定部２０５がＸをインクリメントし、次のピクセルの判定を行うための準備をする。Ｓ１３０９で、画像判定部２０５がＸがＸｍａｘより大きいと判定するまで、Ｓ１３０３〜Ｓ１３０９を繰り返し実行する。Ｓ１３０９でＸがＸｍａｘより大きいと画像判定部２０５が判定すると、Ｓ１３１０で、画像判定部２０５がＸをＸｂに初期化するとともに、Ｙをインクリメントし、次のラインの判定を行うための準備をする。
Ｓ１３１１で、画像判定部２０５がＹがＹｍａｘより大きいと判定するまで、Ｓ１３０３〜Ｓ１３１１を繰り返し実行する。
【００４２】
Ｓ１３１１で、ＹがＹｍａｘより大きいと画像判定部２０５が判定すると、Ｓ１３２０で、画像判定部２０５がピクセルあたりのエッジ数（＝Ｅｃ／（ブロック幅Ｗｂ＊ブロック高さＨｂ））を計算し、０．６より大きいかを判定する。０．６より大きいと画像判定部２０５が判定した場合、Ｓ１３２２で、画像判定部２０５がＣｏｍｐｌｅｘに「４」を加算する。
そして、Ｓ１３２１で、画像判定部２０５がピクセルあたりのエッジ数が０．４より大きいかを判定する。ここで、０．４より大きいと画像判定部２０５が判定した場合、Ｓ１３２３で、画像判定部２０５がＣｏｍｐｌｅｘに「２」を加算する。
一方、Ｓ１３２１で、０．４以下であると画像判定部２０５が判定した場合、Ｓ１３２４で、画像判定部２０５がＣｏｍｐｌｅｘに「１」を加算する。Ｓ１３２５で、画像判定部２０５が判定した領域数をカウントするＲｅｇｉｏｎをインクリメントする。
なお、Ｓ１３２０、Ｓ１３２１における条件の閾値は、印刷装置１０２の出力解像度や、印刷実行するユーザによって変更してもよい。
【００４３】
図９は、図１に示した画像判定部２０５で判定する画像データの一例を示す図である。
図９において、８０１、８０２、８０３は、ページの画像データを幅８、高さ８に分割したブロック画像データである。ブロック画像データ８０１は、ブロック画像の複雑度判定処理により、エッジ数Ｅｃは４２、ピクセルあたりのエッジ数は０．６６（＝４２／６４）となり、Ｓ１３２０の判定で、複雑度パラメータは４となる。
【００４４】
ブロック画像データ８０２は、ブロック画像の複雑度判定処理により、エッジ数Ｅｃは３５、ピクセルあたりのエッジ数は０．５５（＝３５／６４）となり、Ｓ１３２１の判定で、複雑度パラメータは２となる。
ブロック画像データ８０３は、隣接するピクセル間の色値の差異が少なく、Ｓ１３０６の判定でエッジと判定されず、結果的にエッジ数Ｅｃは０となる。これによりピクセルあたりのエッジ数は０（＝０／６４）となり、Ｓ１３２１の判定で、複雑度パラメータは「１」となる。ブロック画像データ８０３は、グラデーション等の隣接するピクセル間で色値の差異が少ない画像データであり、視覚的な複雑度は小さいため、複雑度パラメータを小さくしている。
【００４５】
＜推奨印刷設定判定フロー＞
図１０は、本実施形態を示す印刷装置のデータ処理方法を説明するフローチャートである。本例は、図３の（Ｂ）に示した印刷装置１０２のＣＰＵ４０３で実行されるＳ１０１８の推奨印刷設定判定処理の詳細手順に対応する。なお、各ステップはＣＰＵ４０３が記憶された制御プログラムを実行することで実現される。なお、以下の説明では、図１に示したモジュールを主体として説明する。
【００４６】
Ｓ１４０１で、推奨設定判定部２０６が全ページの複雑度の最大値Ｃｍａｘを算出する。Ｓ１４０２で、推奨設定判定部２０６がＣｍａｘが「２」未満であるか否かを判定する。ここで、Ｃｍａｘが「２」未満であると推奨設定判定部２０６が判定した場合、Ｓ１４１０で、推奨設定判定部２０６は、推奨印刷設定を４ｉｎ１に決定する。
一方、Ｃｍａｘが「２」以上であると推奨設定判定部２０６が判定した場合、さらにＳ１４０３で、推奨設定判定部２０６がＣｍａｘが「３」未満かを判定する。ここで、Ｃｍａｘが「３」未満であると推奨設定判定部２０６が判定した場合、Ｓ１４１１で、推奨設定判定部２０６が推奨印刷設定を２ｉｎ１に決定する。
一方、Ｃｍａｘが「３」以上であると推奨設定判定部２０６が判定した場合、Ｓ１４１１で、推奨設定判定部２０６を推奨印刷設定を１ｉｎ１に決定する。
なお、Ｓ１４０２、Ｓ１４０３における条件の閾値は、印刷装置１０２の出力解像度や、印刷実行するユーザによって変更してもよい。
【００４７】
図１１は、図１に示したモバイル端末１０１に表示されるＵＩ画面を示す図である。本例は、図３に示したＳ１００６の画像表示の一例に対応するＵＩが画面である。
図１１において、９０１は、ユーザが選択したドキュメントのプレビュー表示である。９０２は、ユーザが選択したドキュメントに対し、推奨設定判定部２０６で決定した推奨印刷設定（２ｉｎ１）に従って画像生成部３０４で生成した画像のプレビュー表示である。このような、画像表示をすることで、ユーザは、印刷設定を変更することなく、プレビュー画像を選択することでドキュメントに最適な印刷設定での印刷結果を得ることができる。
【００４８】
〔第２実施形態〕
上記第１実施形態においては、印刷装置１０２において、推奨印刷設定の判定を行っているが、本実施形態では、モバイル端末１０１に推奨印刷設定の判定機能を搭載し、モバイル端末１０１上で推奨印刷設定の判定処理を実行する。
図１２は、図１に示したモバイル端末１０１の機能モジュール構成を示すブロック図である。本例に示すモバイル端末１０１では、図１で説明したモジュールに以下のモジュールを加えられた構成となっている。
【００４９】
図１２において、３１０は解析処理部で、ＵＩ処理部３０１の指示に従い、データスプール３０５に格納された印刷データを解析し、描画データを描画データスプール３２０に格納する。３１１は描画データ判定部で、描画データスプール３２０に格納された描画データの判定を行う。３１２は展開処理部で、描画データスプール３２０に格納された描画データから画像データに展開し、画像データスプール３２１に格納する。
【００５０】
３１３は画像判定部で、画像データスプール３２１に格納された画像データを判定する。
３１４は推奨設定判定部で、描画データ判定部３１１、画像判定部３１３の判定結果をもとに、推奨印刷設定を判定する。推奨設定判定部３１４は、判定結果をＵＩ処理部３０１に渡し、ＵＩ処理部３０１により判定結果を表示する。
【００５１】
３２０は描画データスプールで、解析処理部３１０によって生成された描画データを格納する。３２２はブロック管理テーブルで、描画データ判定部３１１の判定結果を、ページを複数に分割したブロックごとに格納しておく。ブロック管理テーブル３２２は、画像判定部３１３から参照され、画像データの判定を実行するかどうかの判定に使われる。３２１は画像データスプールで、展開処理部３１２によって展開された画像データを格納する。
【００５２】
＜印刷処理フロー＞
図１３は、本実施形態を示すデータ処理装置のデータ処理方法を説明するフローチャートである。本例は、図２に示したモバイル端末１０１のＣＰＵ５０２で実行される推奨印刷設定の印刷処理手順に対応する。なお、各ステップは、ＣＰＵ５０２が記憶された制御プログラムを実行することで実現される。また、以下の説明では、図１２に示したモジュールを主体として説明する。
Ｓ１５０１で、ＵＩ処理部３０１は、ユーザの操作による印刷データの選択指示を受ける。Ｓ１５０２で、データ処理部３０２はＵＩ処理部３０１からの指示に従い、ファイル３０６から選択されたデータを読み出し、印刷装置１０２で処理可能な印刷データに変換し、印刷データをデータスプール３０５に格納する。Ｓ１５０３で、解析処理部３１０は、データスプール３０５に格納された印刷データを解析し、描画データを生成し、描画データを描画データスプール３２０に格納する。Ｓ１５０４で、解析処理部３１０がジョブ終了コマンドを解析するまで、Ｓ１５０３〜Ｓ１５０８を繰り返し実行する。また、Ｓ１５０５で、解析処理部３１０がページ終了コマンドを解析するまで、Ｓ１５０３〜Ｓ１５０６を繰り返し実行する。
【００５３】
Ｓ１５０６で、描画データ判定部３１１は、描画データスプール３２０に格納された描画データに対し、描画結果の視覚的な細かさを示す複雑度の判定を行い、判定結果を後述のブロック管理テーブル３２２に格納し、Ｓ１５０３の処理に戻る。Ｓ１５０５で、解析処理部３１０がページ終了コマンドを解析すると、Ｓ１５０７で、展開処理部３１２は、描画データスプール３２０に格納された描画データをレンダリングし、画像データを画像データスプール３２１に格納する。
【００５４】
Ｓ１５０８で、画像判定部３１３は、ブロック管理テーブル３２２に格納された描画データの判定結果を参照し、画像データスプール３２１に格納された画像データの複雑度を判定し、Ｓ１５０３の処理に戻る。
Ｓ１５０４で、解析処理部３１０がジョブ終了コマンドを解析すると、Ｓ１５０９で、推奨設定判定部３１４は、Ｓ１５０６、Ｓ１５０８の複雑度判定の結果をもとに、印刷データの推奨印刷設定を判定する。
【００５５】
Ｓ１５１０で、画像生成部３０４は、推奨印刷設定に従って画像データを生成する。Ｓ１５１１で、画像生成部３０４で生成された画像データを、ＵＩ処理部３０１を介してディスプレイ５０５上に表示し、Ｓ１５１２で、ユーザからの印刷実行を受付けるための指示待ちとなる。
ユーザが図示しないボタン等を操作して印刷実行を指示すると、Ｓ１５１３で、データ処理部３０２は、選択された設定に従って印刷データを生成し、データスプール３０５に印刷データを格納する。Ｓ１５１４で、ネットワーク処理部３０３は、データスプール３０５に格納された印刷データを、ネットワーク１０３を介して印刷装置１０２に送信し、印刷装置１０２で印刷を行う。
上記のように、モバイル端末１０１でドキュメントの推奨印刷設定を判定することで、印刷装置１０２が他のユーザによって使われている場合にも、推奨印刷設定を得ることができる。
【００５６】
このように、本実施形態では、モバイル端末１０１自身が推奨印刷設定の判定を行う場合について説明したが、モバイル端末１０１、印刷装置１０２の性能や負荷状況に応じて、どちらで推奨印刷設定の判定を行うか切り替えるようにしてもよい。
【００５７】
〔第３実施形態〕
さらに、モバイル端末１０１、印刷装置１０２がそれぞれクラウドコンピュータ環境に接続可能な場合には、クラウド上のサーバ装置に上記推奨印刷設定処理を実行させる。そして、サーバ装置から結果として印刷推奨設定をそれぞれが取得できるように制御してもよい。
【００５８】
〔第４実施形態〕
さらに、モバイル端末１０１、印刷装置１０２がネットワーク上の通信可能な他の印刷装置に接続可能な場合には、推奨設定処理を実行可能かどうかを他の印刷装置に問い合わせる。そして、推奨設定処理を実行可能である場合、上記他の印刷装置に推奨印刷設定処理を実行させ、結果として印刷推奨設定をそれぞれが取得できるように制御してもよい。
上記各実施形態によれば、印刷データに対し、描画データの複雑度の判定と描画データを展開した画像データの判定をすることで、様々な印刷データに対し最適な推奨印刷設定を提示することができる。また、印刷データ内の全ての描画データに対し、複雑度を決定可能かどうか判定し、決定できない描画データの描画領域のみ展開した画像データで判定するため、画像データの判定を最小限にし、推奨印刷設定を短時間で提示することが可能となる。
【００５９】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００６０】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００６１】
１０１  モバイル端末
１０２  印刷装置
２０３  描画データ判定部
２０５  画像判定部
２０６  推奨設定判定部
【図１】
2015150763.tif 000003
【図２】
2015150763.tif 000004
【図３】
2015150763.tif 000005
【図４】
2015150763.tif 000006
【図５】
2015150763.tif 000007
【図６】
2015150763.tif 000008
【図７】
2015150763.tif 000009
【図８】
2015150763.tif 000010
【図９】
2015150763.tif 000011
【図１０】
2015150763.tif 000012
【図１１】
2015150763.tif 000013
【図１２】
2015150763.tif 000014
【図１３】
2015150763.tif 000015