(57)【要約】【課題】ビットマップの拡大の一部または全てを印刷装置側で行わせることにより、データサイズを抑えたＰＤＬを生成することができる情報処理装置を提供する。【解決手段】画像データへの変換情報に基づいて該画像データに対して変換処理を行う情報処理装置であって、前記変換情報から、印刷装置における拡大処理および印刷にて前記画像データが劣化しないような拡大成分を抽出する抽出手段と、変換情報から、拡大成分を除いた残りの変換情報に基づいて画像データに対して変換処理を行う変換手段と、変換された画像データと抽出した拡大成分について印刷装置に対する命令を生成する生成手段とを備える。【選択図】図８
2015225401.tif 000002
【特許請求の範囲】
【請求項１】
画像データへの変換情報に基づいて前記画像データに対して変換処理を行う情報処理装置であって、
前記変換情報から、印刷装置における拡大処理および印刷にて前記画像データが劣化しないような拡大成分を抽出する抽出手段と、
前記変換情報から、前記拡大成分を除いた残りの変換情報に基づいて前記画像データに対して変換処理を行う変換手段と、
前記変換された画像データと前記抽出した拡大成分について前記印刷装置に対する印刷命令を生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記変換情報は、前記画像データに対する拡大処理、回転処理、またはゆがみ処理を含む前記変換処理に関する情報であり、
前記拡大処理は、前記画像データに対する第１の方向成分と第２の方向成分を含む拡大成分を有し、
前記抽出手段は、前記第１の方向成分と前記第２の方向成分に基づいて前記印刷装置で行う拡大処理の際の拡大成分を抽出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変換手段は、前記画像データに対して、前記抽出した前記印刷装置で行う拡大処理の際の拡大成分を除く拡大成分に基づく拡大処理、前記回転処理、または前記ゆがみ処理を行う
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記抽出手段は、前記変換処理のうち、前記拡大処理が含まれる場合、前記変換情報から前記拡大成分を抽出する
ことを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記抽出手段は、前記変換処理のうち、前記拡大処理と前記拡大処理以外の前記変換処理を含む場合、前記拡大処理以外の前記変換処理に応じて、前記変換情報から前記拡大成分を抽出する
ことを特徴とする請求項２〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記抽出手段は、前記拡大処理以外の前記変換処理が９０度倍数の回転処理を含まない変換処理である場合、前記第１の方向成分の値と前記第２の方向成分の値を比較し、相対的に小さい値を前記拡大成分における第１の成分の値および第２の成分の値として前記拡大成分を抽出する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記抽出手段は、前記拡大処理以外の前記変換処理が９０度倍数の回転処理を含まない変換処理であり、かつ前記第１の方向成分の値と前記第２の方向成分の値の少なくとも一方が１未満である場合、抽出をしない
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記９０度倍数の回転処理は、前記画像データに対する０度の回転処理、９０度の回転処理、１８０度の回転処理、または２７０度の回転処理のいずれかの回転処理である
ことを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
画像データへの変換情報に基づいて前記画像データに対して変換処理を行う情報処理装置の制御方法であって、
前記変換情報から、印刷装置における拡大処理および印刷にて前記画像データが劣化しないような拡大成分を抽出する抽出工程と、
前記変換情報から、前記拡大成分を除いた残りの変換情報に基づいて前記画像データに対して変換処理を行う変換工程と、
前記変換された画像データと前記抽出した拡大成分について前記印刷装置に対する命令を生成する生成工程と
を有する情報処理装置の制御方法。
【請求項１０】
請求項１〜８のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及、情報処理装置の制御方法及びプログラムであり、特に、ビットマップ描画データを印刷装置用のデータに変換する処理に関するものである。
【背景技術】
【０００２】
印刷装置は、ＰＣやＷｅｂＳｅｒｖｅｒ（以下、まとめてホストとする）などからページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ、以下ＰＤＬする）で記述された描画コマンドを受け取り、そのコマンドに応じた印刷処理を行う。印刷をする為の文書ドキュメントにはビットマップ描画が含まれることがあり、一般的にビットマップ描画はグラフィックや文字を始めとする他の描画に比べＰＤＬの描画コマンドとしてのサイズが大きく、その分印刷装置への転送時間は大きくなる。このことから、トータルの印刷時間の増大に繋がる。さらに、近年注目されてきている、クラウド環境を用いた印刷サービスなどでは、転送時間がトータルの印刷時間のボトルネックとなっていることが多い。
【０００３】
このことから、特許文献１では、ビットマップに対して間引き処理を行うことでＰＤＬサイズを抑える技術が開示されている。また、描画の劣化を抑えるため、間引きの位置を対話的に指示することで印刷を行うユーザへの影響を抑えることが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１８２５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、間引き処理によってビットマップ内の情報が失われ、ユーザが意図した出力とならない場合がある。また、ビットマップに対しては、拡大や回転といった変換を指定されていることが多くある。例えば、拡大のみが指定されていた場合、印刷装置にてビットマップの拡大処理をすることは広く行われている。これに対して、例えば、ビットマップの回転処理ができない印刷装置で印刷する際に、ビットマップに対して拡大と回転が指定されている場合、回転処理のみホスト側で行うことが原則できない。なぜなら、拡大と回転は、一般に交換不可能であり、その処理を行う順番が複雑であるため、単純に拡大処理のみをホスト側で行うことはできない。
【０００６】
ここで、従来の処理について具体的には図１２に示す。図１２（Ａ）は、ビットマップに対して拡大処理後に回転処理を行い、図１２（Ｂ）は、回転後に拡大処理を行った際の一例であり、これらは、同じ結果とはならない。このことから、ビットマップに対して拡大とその他変換処理が含まれる場合、全ての変換をホスト側で行わなければならず、ビットマップ描画のコマンドのサイズが増大し、結果としてＰＤＬサイズが増加してしまう。
【０００７】
本発明は、上記課題を鑑みて、ビットマップの拡大の一部または全てを印刷装置側で行わせることにより、データサイズを抑えたＰＤＬを生成することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の情報処理装置は、画像データへの変換情報に基づいて前記画像データに対して変換処理を行う情報処理装置であって、前記変換情報から、印刷装置における拡大処理および印刷にて前記画像データが劣化しないような拡大成分を抽出する抽出手段と、前記変換情報から、前記拡大成分を除いた残りの変換情報に基づいて前記画像データに対して変換処理を行う変換手段と、前記変換された画像データと前記抽出した拡大成分について前記印刷装置に対する命令を生成する生成手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ビットマップの拡大の一部または全てを印刷装置側で行わせることにより、データサイズを抑えたＰＤＬを生成することができる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】ビットマップに対する変換処理における変換行列を示す図である。
【図２】情報処理システム全体の構成を示す図である。
【図３】データ変換システム全体の構成を示す図である。
【図４】文書ドキュメントのビットマップに対する変換情報の一例を示す図である。
【図５】文書ドキュメントの印刷要求を行う処理を示すフローチャートである。
【図６】印刷要求に応じたＰＤＬ生成処理のフローチャートである。
【図７】ＰＤＬ生成処理における具体的な処理のフローチャートである。
【図８】印刷装置側で行う拡大成分の抽出処理のフローチャートである。
【図９】拡大成分を分割して抽出する処理のフローチャートである。
【図１０】拡大成分を分割する際の具体例を示す図である。
【図１１】従来の変換情報と本実施形態に係る変換情報とを示す図である。
【図１２】従来の変換処理を行った際のビットマップの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１２】
まず、図１を用いて本実施形態に係るビットマップ（画像データ）への変換処理について説明する。図１は、本実施形態に係る変換処理において用いられる行列を示す図である。変形処理では、行列を用いた線形変換を行う図１（Ａ）は、拡大・縮小（ｓｃａｌｉｎｇ）を示し、行列２０１は、Ｘ方向にＳｘ倍、Ｙ方向にＳｙ倍する変換行列を表し、本実施形態では、行列２０１を行列２０２に示すように［Ｓｘ  ０  ０  Ｓｙ］とする。ここで、Ｘ方向とは、ビットマップ画像における第１の方向を示し、Ｙ方向は、第１の方向に直交する第２の方向を示す。なお、Ｓｘ、およびＳｙは、拡大行列のＸ成分、Ｙ成分を示す。図１（Ｂ）は、回転（ｒｏｔａｔｉｏｎ）を示し、行列２０３は、反時計回りにθ回転する変換行列を表し、本実施形態では、行列２０４に示すように［ｃｏｓθ  ｓｉｎθ  ・ｓｉｎθ  ｃｏｓθ］とる。図１（Ｃ）は、ゆがみ（ｓｋｅｗ）を示し、行列２０５は、Ｘ方向にα傾け、Ｙ方向にβ傾ける変換行列を表し、本実施形態では、行列２０６に示すように［１  ｔａｎα  ｔａｎβ  １］とする。なお、その他、本実施形態で示す他の行列も同様のルール（形式）を用いて記述する。
【００１３】
次に、図２は、本実施形態に係る情報処理システム全体のブロック図を示す。本実施形態の情報処理システムは、ユーザが印刷したい文書ドキュメントから、ＰＤＬを生成するシステムである。情報処理システムは、データ変換サーバー３１０と、クライアントＰＣ３２０と、印刷装置３３０と、それらを繋げるネットワーク３００と、から構成されている。
【００１４】
ネットワーク３００は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等であってよい。データ変換サーバー３１０は、ＣＰＵ３１１と、ネットワークＩ／Ｆ３１２と、メモリユニット３１３と、ディスプレイ装置３１４と、記憶装置３１５と、入力装置３１６を備える。
【００１５】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１は、データ変換サーバー３１０全体を制御する。ネットワークＩ／Ｆ３１２は、データ変換サーバー３１０を、ネットワーク３００を介してクライアントＰＣ３２０や印刷装置３３０などの他の装置に繋げる。メモリユニット３１３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から構成される。ディスプレイ装置３１４は、表示を行うための表示装置である。記憶装置３１５は、一般的なハードディスクドライブやフラッシュメモリを含む記憶装置であってよく、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やプログラムおよびデータの格納に使用する。入力装置３１６は、キーボードやマウスといった入力装置である。データ変換サーバー３１０の各構成要素は、相互接続バス３１７を介して相互に通信を行う。
【００１６】
本実施形態におけるデータ変換サーバー３１０の動作処理を実現するソフトウェアは、例えば、記憶装置３１５を含むコンピュータの可読媒体に格納される。ソフトウェアは、コンピュータの可読媒体からコンピュータにロードされ、データ変換サーバー３１０のＣＰＵ３１１によって実行される。そして、データ変換サーバー３１０にて、サイズを抑えたＰＤＬ生成に有利な装置として作動することができる。
【００１７】
クライアントＰＣ３２０は、ＣＰＵ３２１と、ネットワークＩ／Ｆ３２２と、メモリユニット３２３と、ディスプレイ装置３２４と、記憶装置３２５と、入力装置３２６を備える。ＣＰＵ３２１は、クライアントＰＣ３２０全体を制御する。ネットワークＩ／Ｆ３２２は、クライアントＰＣ３２０を、ネットワーク３００を介してデータ変換サーバー３１０や印刷装置３３０などの他の装置に繋げる。メモリユニット３２３は、メモリユニット３１３と同様に、例えば、ＲＡＭやＲＯＭから構成される。ディスプレイ装置３２４は、ディスプレイ装置３１４と同様に、表示を行うための表示装置である。記憶装置３２５は、記憶装置３１５と同様に、一般的なハードディスクドライブやフラッシュメモリを含む記憶装置であってよく、ＯＳやプログラムおよびデータの格納に使用する。入力装置３２６は、入力装置３１６と同様に、キーボードやマウスといった入力装置である。クライアントＰＣ３２０の各構成要素は、相互接続バス３２７を介して相互に通信を行う。
【００１８】
本実施形態におけるクライアントＰＣ３２０の動作処理を実現するソフトウェアは、データ変換サーバー３１０と同様に、記憶装置３２５を含むコンピュータの可読媒体に格納される。ソフトウェアは、コンピュータの可読媒体からコンピュータにロードされ、クライアントＰＣ３２０のＣＰＵ３２１によって実行される。そして、クライアントＰＣ３２０にて、サイズを抑えたＰＤＬ生成に有利な装置として作動することができる。
【００１９】
印刷装置３３０は、ＣＰＵ３３１と、ネットワークＩ／Ｆ３３２と、メモリユニット３３３と、ディスプレイ装置３３４と、記憶装置３３５と、入力装置３３６と、印字装置３３７を備える。ＣＰＵ３３１は、印刷装置３３０全体を制御する。ネットワークＩ／Ｆ３３２は、印刷装置３３０を、ネットワーク３００を介してデータ変換サーバー３１０やクライアントＰＣ３２０などの他の装置に繋げる。メモリユニット３３３は、メモリユニット３１３と同様に、例えば、ＲＡＭやＲＯＭから構成される。ディスプレイ装置３３４は、ディスプレイ装置３１４と同様に、表示を行うための表示装置である。記憶装置３３５は、記憶装置３１５と同様に、一般的なハードディスクドライブやフラッシュメモリを含む記憶装置であってよく、ＯＳやプログラムおよびデータの格納に使用する。入力装置３３６は、入力装置３１６と同様に、キーボードやマウスといった入力装置である。印字装置３３７は、トナーやインクなどを紙などの媒体に印字するための装置である。印刷装置３３０の各構成要素は、相互接続バス３３８を介して相互に通信を行う。
【００２０】
本実施形態における印刷装置３３０の動作処理を実現するソフトウェアは、データ変換サーバー３１０と同様に、記憶装置３３５を含むコンピュータの可読媒体に格納される。ソフトウェアは、コンピュータの可読媒体からコンピュータにロードされ、印刷装置３３０のＣＰＵ３３１によって実行される。そして、印刷装置３３０にて、サイズを抑えたＰＤＬ生成に有利な装置として作動することができる。
【００２１】
本実施形態に係る情報処理システムにおいて実行されるＰＤＬ変換処理について説明する。ＰＤＬ変換処理における基本的な処理ついて、図２を参照して説明する。まず、クライアントＰＣ３２０が文書ドキュメント印刷ソフトを用いて、クライアントＰＣ３２０に保存されている印刷したい文書ドキュメントをデータ変換サーバー３１０に送信すると共に印刷要求を出す。次に、データ変換サーバー３１０では、文書ドキュメント変換ソフトが文書ドキュメント印刷ソフトからの印刷要求に基づき、文書ドキュメントを取得してＰＤＬを生成し、印刷装置３３０に生成したＰＤＬをすると共に印刷要求を送信する。印刷装置３３０は、文書ドキュメント変換ソフトからの印刷要求に基づき、生成されたＰＤＬを取得し、紙などの媒体への印刷を行う。文書ドキュメント印刷ソフトは、クライアントＰＣ３１０に保存されている文書ドキュメントをデータ変換サーバー３２０にてＰＤＬを生成させ、そのＰＤＬを印刷装置３３０で印刷するための印刷要求を行うソフトである。文書ドキュメント印刷ソフトは、クライアントＰＣ３２０の記憶装置３２５に記憶され、ＣＰＵ３２１によりメモリユニットにロードされ実行される。文書ドキュメント変換ソフトは、クライアントＰＣ３１０からの印刷要求に基づき、ＰＤＬを生成して印刷装置３３０へ印刷要求を行うソフトである。文書ドキュメント変換ソフトは、データ変換サーバー３１０の記憶装置３１５に記憶されＣＰＵ３１１によりメモリユニット３１３にロードされ実行される。本実施形態では、文書ドキュメント印刷ソフトや文書ドキュメント変換ソフトを用いているが、これらのソフトに限定することなく、それぞれの装置で同様の機能を有していればよい。
【００２２】
次に、図３を参照して、本実施形態に係るＰＤＬ変換処理について説明する。図３は、クライアントＰＣ４１０のデータ印刷要求に基づき、クライアントＰＣ４１０から送信される文書ドキュメントおよび、印刷設定を用いてＰＤＬ変換処理を行い、印刷装置４３０へ出力して印刷を行うデータ変換システム全体を示す図である。本実施形態に係るデータ変換システムは、ネットワーク４００を介して、文書ドキュメントの印刷要求を行うクライアントＰＣ４１０と、文書ドキュメントをＰＤＬに変換するデータ変換サーバー４２０と、印刷装置４３０がそれぞれ接続されている。なお、図３に示すクライアントＰＣ４１０、データ変換サーバー４２０、印刷装置４３０は、それぞれ図２に示すクライアントＰＣ３２０、データ変換サーバー３１０、印刷装置３３０と同様の構成を含む。そして、図３では、クライアントＰＣ３２０、データ変換サーバー３１０、印刷装置３３０に含まれる構成の説明を省略する。
【００２３】
クライアントＰＣ４１０は、例えば、スマートフォンやタブレット端末などのモバイル端末を含む情報処理装置であってよく、これらに限定せず、他の情報処理装置であってもよい。クライアントＰＣ４１０は、通信部４１１と、入力部４１２と、表示部４１３と、データ入出力部４１４を備える。通信部４１１は、インターネットやイントラネット等のネットワーク４００に接続し、他の機器とネットワーク通信を行う。ユーザは、入力部４１２を用いてデータ入力や指示操作等を行う。表示部４１３は、ユーザの操作内容等を表示する。データ入出力部４１４は、文書ドキュメントや印刷データなどの入出力を行う。データ入出力部４１４にはデータ変換サーバー４２０へ印刷要求を出す文書ドキュメント印刷ソフトが含まれている。
【００２４】
データ変換サーバー４２０は、通信部４２１と、データ入出力部４２２と、データ変換部４２３を備える。通信部４２１は、インターネットやイントラネット等のネットワーク４００に接続し他の機器とネットワーク通信を行う。データ入出力部４２２は、文書ドキュメントや印刷データなどの外部からの入力や外部への出力を行う。データ変換部４２３は、文書ドキュメントをＰＤＬに変換する変換処理を行う。データ変換部４２３には、クライアントＰＣ４１０からの印刷要求に基づき、ＰＤＬを生成して印刷装置４３０へ印刷要求を行う文書ドキュメント変換ソフトが含まれている。
【００２５】
印刷装置４３０は、通信部４３１と、表示部４３１と、印刷ジョブ管理部４３３と、印刷部４３４と、入力部４３５と、データ受信部４３６を備える。通信部４３１は、インターネットやイントラネットワーク等のネットワーク４００に接続し他の機器とネットワーク通信を行う。表示部４３１印刷装置４３０に各種の表示を行う。印刷ジョブ管理部４３３は、印刷ジョブを管理し、印刷部４３４にて印刷データの印刷処理を行う。ユーザは、入力部４３５を用いてデータ入力や指示操作等を行う。データ受信部４３６は、ＰＤＬなどの印刷用データなどを受信する。印刷装置４３０は、データ変換サーバー４２０あるいはクライアントＰＣ４１０からの印刷要求に基づき印刷処理を行う。
【００２６】
図３に示す情報処理システムにおいても上記の図２を用いて説明したように、まず、クライアントＰＣ４１０がクライアントＰＣ４１０に保存されている文書ドキュメントをデータ変換サーバー４２０に送信すると共に印刷要求を送信する。次に、データ変換サーバー４２０は、クライアントＰＣ４１０からの印刷要求に基づいて文書ドキュメントからＰＤＬを生成し、印刷装置４３０に対して、生成したＰＤＬを送信すると共に印刷要求を送信する。そして、印刷装置４３０は、データ変換サーバー４２０からの印刷要求に基づき、ＰＤＬを取得して紙などの媒体への印刷を行う。
【００２７】
次に、図４は、文書ドキュメントのビットマップに対する変換情報の一例を示す図である。本実施形態では、具体的に、Ａｄｏｂｅ社製のＰＤＦに含まれるデータを一例として示す。なお、本実施形態では、文書ドキュメントのビットマップ対して変換指示が記載されている。ここで、変換情報とは、拡大処理、回転処理、ゆがみ処理などを含むビットマップに対して行われる変換処理に関する情報である。図４において、記号％から右に記載されている文言は、コメントである。描画５０１は、ビットマップの描画方法を表しており、本実施形態では、ｑオペレータとＱオペレータの間で指定される。また、行列５０２は、ビットマップに対する変換処理が記載され、ｃｍオペレータを用いて変換行列を指定している。本実施形態では、描画５０１に記載されているコメントに示す通り、反時計回りに３０度回転させる指示と、Ｘ方向に６．０倍、Ｙ方向に２．０倍の拡大処理を行う指示が記載されている。行列５０２における５要素目（数値：０）と６要素目（数値：０）は平行移動を示す。ペイント指示５０３は、描画５０１と別に記述されているビットマップ（本実施形態では描画５０４）を描画するためのペイント指示である。
【００２８】
次に、図５は、本実施形態に係るデータ変換サーバー４２０に対して文書ドキュメントの印刷要求を行う処理を示すフローチャートである。まず、クライアントＰＣ４１０の記憶装置３２５に記憶された文書ドキュメント印刷ソフトがＣＰＵ３２１によりメモリユニット３２３にロードされ実行される。まず、ステップＳ６０１で、ユーザにより文書ドキュメント印刷ソフトが起動される。次に、ステップＳ６０２で、入力部４１２を介して、ＰＤＬを生成したいサーバーが選択される。ここで、サーバー（不図示）は、予め文書ドキュメント印刷ソフトに紐づいているサーバーでもよく、ＰＤＬ変換がｗｅｂサービスとして提供されている場合ＵＲＬなどを元に決定されてもよい。次に、ステップＳ６０３で、ステップＳ６０２で選択されたサーバーから印刷したい文書ドキュメントが選択される。次に、ステップＳ６０４で、入力部４１２を介した操作がファイル選択操作であるか、終了操作であるか、印刷操作であるかを判定する。ステップＳ６０４にて操作が印刷操作である場合、ステップＳ６０５に進み、Ｎｕｐや部数などの印刷設定と、どの印刷装置に対して文書ドキュメントの印刷を行うかが設定される。そして、ステップＳ６０６で、データ変換サーバー４２０に対して、選択した文書ドキュメントの印刷要求（印刷命令）を行い、ステップＳ６０３に戻って処理を繰りかえす。ステップＳ６０４にて操作がファイル選択である場合、ステップＳ６０３に戻って処理を繰り返す。また、ステップＳ６０４にて操作が終了操作である場合、文書ドキュメント印刷ソフトの処理が終了する。
【００２９】
次に、図６は、データ変換サーバー４２０において、クライアントＰＣ４１０からの印刷要求に応じた処理を行う際のフローチャートであり、図３で前述したクライアントＰＣ４１０の処理と同期して動作する。尚、以下の処理はデータ変換部４２３で行われる。データ変換部４２３は、図５のステップＳ６０６で送信された印刷要求を受け、ステップＳ７０１で、対象となる文書ドキュメント、印刷設定、およびどの印刷装置で印刷を行うかの設定を受け取る。次に、ステップＳ７０２で、データ変換部４２３は、図７で後述する、解析した描画に対応するＰＤＬの生成処理を行う。次に、ステップＳ７０３で、データ変換部４２３は、ステップＳ７０２で生成されたＰＤＬを、ステップＳ７０１で取得した設定から指定した印刷装置４３０に対して送信する。以上、データ変換サーバー４２０において行われる処理が終了する。
【００３０】
図７は、ステップＳ７０２におけるＰＤＬ生成処理を詳細に説明するフローチャートである。まず、ステップＳ８０１で、データ変換部４２３は、最初の描画の内容を図４の描画５０１で示すようなビットマップ描画か否かを判定する。なお、本実施形態では、文書ドキュメントの内容から判定しているが、ＰＤＬ生成対象の文書ドキュメントを内部的に別の中間データに変換し、その中間データのビットマップ描画命令か否かを判定してもよい。ステップＳ８０１でビットマップ描画以外と判定された場合、ステップＳ８０５に進み、データ変換部４２３は、文書ドキュメント内の描画と同等の描画を行う描画ＰＤＬを生成し、ステップＳ８０６へ進む。一方、ステップＳ８０１でビットマップ描画と判定された場合、ステップＳ８０２に進み、データ変換部４２３は、図８で後述する、印刷装置４３０で行う拡大率（拡大成分）の抽出をする。なお、拡大成分は、Ｘ方向成分（第１の方向成分）とＹ方向成分（第２の方向成分）を含む。
【００３１】
次に、ステップＳ８０３で、データ変換部４２３は、ステップＳ８０２で抽出された拡大成分以外の残りの変換処理をホスト側で行い、ＰＤＬ変換処理を行ったビットマップに対して、ステップＳ８０２で抽出した拡大を印刷装置４３０で行うＰＤＬを生成する。なお、ステップＳ８０２で抽出された拡大成分以外の残りの変換処理は、例えば、抽出された拡大成分の拡大成分に基づく拡大処理、回転処理、またはゆがみ処理である。次に、ステップＳ８０５で、データ変換部４２３は、処理を行った描画ＰＤＬが最後か否かを判定し、最後でない場合（Ｎｏ）、ステップＳ８０１へ戻って処理を繰り返し、最後の場合（Ｙｅｓ）、処理を終了し、図６のステップＳ７０３に進む。
【００３２】
図８は、図７のステップＳ８０２において印刷装置４３０で行う拡大成分の抽出処理の詳細の処理を示すフローチャートである。なお、以下ビットマップに対する変換に関する情報は、全て変換行列として表現、記述するが、一般性を失わない。また、複数（１つ以上）の変換行列をまとめて、変換行列群と呼ぶ。まず、ステップＳ９０１で、データ変換部４２３は、ビットマップ描画に対して、図４の行列５０２に示したような、回転行列や拡大行列などの変換行列が含まれるか否かを判定する。ステップＳ９０１で変換行列が含まれないと判定された場合、印刷装置４３０で行う拡大率を抽出せずに処理を終了する。一方、ステップＳ９０１で変換行列を含むと判定された場合、ステップＳ９０２で、変換行列が合成されているか否かを判定する。ここで、合成されているか否かの判定の方法としては、変換行列が、図１で示した変換行列の行列２０２、行列２０４、行列２０６のどの形式にも合致していない場合、変換行列が合成されていると判定できる。
【００３３】
ステップＳ９０２で変換行列が合成されていると判定された場合、ステップＳ９０３に進み、ステップＳ９０３で、データ変換部４２３は、変換行列を回転行列や拡大行列などの単純な線形変換の組み合わせに分解する。なお、任意の変換行列は、ＱＲ分解を用いることで、回転行列（行列２０１）、拡大・縮小行列（行列２０２）、ゆがみ行列（行列２０３）に分解ができる。そのため、分解する方法の一例としてＱＲ分解が挙げられる。一方、ステップＳ９０２で変換行列が合成されていないと判定された場合、ステップＳ９０４に進む。
【００３４】
そして、ステップＳ９００４で、データ変換部４２３は、変換行列群に拡大行列が含まれているか否かを判定する。拡大行列が含まれていない場合、印刷装置４３０で行う拡大率を抽出せずに処理を終了し、図６のステップＳ７０３に進む。一方、拡大行列が含まれる場合、ステップＳ９０５へ進む。なお、拡大行列（拡大処理）が含まれるかの判定は、変換行列群に図１の行列２０２で示した拡大行列の形式に合致した行列が含まれるか否かで判定することができる。次に、ステップＳ９０５で、データ変換部４２３は、変換行列群の中で拡大行列がビットマップに対する変換として最後の変換行列か否かを判定する。すなわち、変換行列群（変換処理）のうち、拡大処理と拡大処理以外が含まれる場合に、最後の変換行列が拡大行列か否かを判定する。最後の変換行列であると判定された場合、ステップＳ９０６に進み、ステップＳ９０６で、データ変換部４２３は、記述されている拡大行列を印刷装置４３０での拡大率として抽出する。なお、図１の行列２０２中のＳｘ、Ｓｙ共に１以下の場合、抽出しない。また、Ｓｘ、Ｓｙのいずれか一方が１未満である場合、例えば、Ｓｘ＝０．５、Ｓｙ＝２．０の場合、Ｓｙのみを抽出し、印刷装置４３０で行う拡大行列は［０  ０  ０  ２．０］となり、ホスト側で行う拡大行列は、残りの［０．５  ０  ０  ０］となる。本実施形態において、以上の処理を処理Ａと呼ぶ。
【００３５】
一方、最後の変換行列でないと判定された場合、ステップＳ９０７に進み、ステップＳ９０７で、データ変換部４２３は、拡大行列よりも後にある変換行列が９０度倍数の回転行列（回転処理）のみか否かを判定する。具体的には、拡大行列以降に［１  ０  ０  １］（０度回転）、［０  １  −１  ０］（９０度回転）、［−１  ０  ０  −１］（１８０度回転）、［０  −１  １  ０］（２７０度回転）のいずれかの行列のみが存在するか否かを判定する。拡大行列以降が９０度倍数回転行列のみ存在すると判定された場合（Ｙｅｓ）、ステップＳ９０９に進み、ステップＳ９０９で、データ変換部４２３は、ＳｘとＳｙを回転角度に応じ変換をして拡大率を抽出する。具体的には、９０度、２７０度の場合、ＳｘとＳｙを交換した拡大行列（［Ｓｙ  ０  ０  Ｓｘ］）を印刷装置４３０での拡大行列として拡大率を抽出する。そして、０度、１８０度の場合、ＳｘとＳｙを交換しないで拡大行列（［Ｓｘ  ０  ０  Ｓｙ］）を印刷装置４３０での拡大行列として拡大率を抽出する。なお、ここでも上述した処理Ａを適用する。一方、ステップＳ９０７で９０度倍数回転行列のみでない（９０度倍数回転以外が存在する）と判定された場合（Ｎｏ）、ステップＳ９０８に進み、ステップＳ９０８で、図９で後述する、拡大行列を分割した抽出を行う。以上で処理が終了し、図７のステップＳ８０３に進む。
【００３６】
図９は、図８のステップＳ９０８における印刷装置４３０での拡大行列を分割して抽出をする処理の詳細なフローチャートである。まず、ステップＳ１００１で、データ変換部４２３は、拡大行列中のＳｘとＳｙの少なくとも一方が１未満か否かを判定する。どちらか少なくとも一方が１未満である場合（Ｙｅｓ）、印刷装置４３０で行う拡大率を抽出せずに処理を終了する。一方、ＳｘとＳｙ共に１以上である場合（Ｎｏ）、ステップＳ１００２に進み、ステップＳ１００２で、データ変換部４２３は、ＳｘとＳｙどちらが小さいかを判定する。すなわち、第１の方向の拡大成分（Ｓｘ）の値と第２の方向の拡大成分（Ｓｙ）の値を比較し、相対的にどちらの値が小さいかを判定する。Ｓｘが小さい場合、ステップＳ１００４に進み、ステップＳ１００４で、Ｘ方向、Ｙ方向共にＳｘの拡大行列として拡大率を抽出する。一方、Ｓｙが小さい場合、ステップＳ１００３に進み、ステップＳ１００３で、Ｘ方向、Ｙ方向共にＳｙの拡大行列として拡大率を抽出する。ステップＳ１００３およびステップＳ１００４の具体的な例を、図１０を参照して後述する。以上により、ホストＰＣ４１０側、印刷装置４３０側で行う拡大処理の成分がともに１以上となり、間引きなどによる劣化が生じない。
【００３７】
図１０は、図９のステップＳ１００３およびステップＳ１００４の具体的な抽出例を示す。行列群１１０１は、変換行列群であり、行列演算であるため、右から順に変換が行われることを示す。行列群１１０１にて、Ｓｘ（＝６．０）とＳｙ（＝２．０）ではＳｙの方が、数値が小さいため、Ｓｙ（＝２．０）をＸ方向、Ｙ方向の拡大率とする。拡大行列として抽出するために分割した行列群が行列群１１０２である。ここで、拡大行列においてＸ方向とＹ方向の成分が同一である場合、回転行列やゆがみ行列と交換可能であることが知られている。行列群１１０３は、抽出した拡大成分を回転行列やゆがみ行列と変換した行列群である。行列群１１０３は、行列１１０４が印刷装置４３０で行う処理部分であり、行列群１１０５がほすとＰＣ４１０で行う処理部分となる。
【００３８】
次に、図１１は、本実施形態に示す処理を適用しない場合（従来の場合）および適用した場合のＰＤＬの違いについて示す図である。図１１（Ａ）は、従来行われてきた、入力の文書ドキュメントに対して上記の処理を適用しない場合のＰＤＬの一例である。コマンド１２０１は、ビットマップに対する変換がホストＰＣ４１０側で全て行われたことを示すコマンドであり、これにより、ＰＤＬサイズが大きくなることが分かる。一方、図１１（Ｂ）は、本実施形態の処理を適用した場合のＰＤＬの一例である。コマンド１２０３は、図７のステップＳ８０２で抽出された拡大成分に関するコマンドであり、コマンド１２０２は、残りの変換処理（回転処理またはゆがみ処理）を行ったビットマップを描画するコマンドである。この場合、一部拡大が行われていない分、コマンド１２０１よりもサイズが小さくなりＰＤＬサイズを抑えることができる。以上のように生成したＰＤＬが印刷装置４３０に送付され、印刷装置４３０では、データ受信部４３６が図６のステップＳ７０２で生成されたＰＤＬを取得する。そして、印刷部４３４は、取得したＰＤＬを解釈して、そのＰＤＬに含まれる全ての描画をビットマップ化して紙などの媒体へ印刷する印刷処理を行う。
【００３９】
以上、本実施形態によれば、文書ドキュメント印刷時に、適切なデータ変換処理を実行することで、ＰＤＬサイズを抑えられ、通信時間の削減ができるため、結果的にトータルの印刷時間の削減が可能となる。また、本実施形態では、データ変換サーバー４２０にてビットマップに対する変換処理を解析し、適切に印刷装置４３０で行う拡大成分を抽出し、印刷装置４３０でその拡大を行うＰＤＬを生成することでサイズを抑えたＰＤＬを作成することができる。
【００４０】
なお、本実施形態では、データ変換サーバー４２０から直接、印刷装置４３０にＰＤＬを送付して印刷を行った。しかしながら、例えば、一度、クライアントＰＣ４１０にデータ変換サーバー４２０で生成されたＰＤＬを送付し、クライアントＰＣ４１０が印刷装置４３０にＰＤＬを送付してもよい。また、本実施形態では、データ変換サーバー４２０にてＰＤＬの生成を行ったが、クライアントＰＣ４１０にて図６のステップＳ７０２やステップＳ７０３の処理を行ってもよい。さらに、本実施形態に係るビットマップ描画変換処理は、クライアントＰＣやサーバーにおけるアプリケーション上ではなく、プリンタドライバで行ってもよい。
【００４１】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【００４２】
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2015225401.tif 000003
【図２】
2015225401.tif 000004
【図３】
2015225401.tif 000005
【図４】
2015225401.tif 000006
【図５】
2015225401.tif 000007
【図６】
2015225401.tif 000008
【図７】
2015225401.tif 000009
【図８】
2015225401.tif 000010
【図９】
2015225401.tif 000011
【図１０】
2015225401.tif 000012
【図１１】
2015225401.tif 000013
【図１２】
2015225401.tif 000014