(57)【特許請求の範囲】
【請求項１】
複数の描画命令それぞれについて、ビットマップ化対象の描画命令であるか判断する判断手段と、
前記判断手段で前記ビットマップ化対象と判断された描画命令により描画が行われる領域を含む矩形領域をビットマップ化領域とし、当該ビットマップ化領域に描画を行う描画命令に基づいて、当該ビットマップ化領域についての描画ビットマップと属性ビットマップとを生成する描画手段と、
前記属性ビットマップに基づいて各属性のマスクイメージを作成し、当該作成した各属性のマスクイメージを用いて、前記描画ビットマップから属性ごとに画像を抽出する描画命令を生成し、前記複数の描画命令のうちの前記ビットマップ化対象の描画命令を当該生成された描画命令を用いて更新する生成手段と、
前記生成手段で更新された描画命令を、対応する描画コマンドに変換する変換手段と、
前記変換手段で変換された描画コマンドを送信する送信手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記ビットマップ化対象の描画命令とは、グラデーション描画命令であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ビットマップ化対象の描画命令とは、透過描画命令であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記矩形領域は、前記ビットマップ化対象と判断された描画命令により描画が行われる領域に外接する矩形領域である請求項１に記載の情報処理装置。
【請求項５】
前記送信手段は、画像形成装置に対して前記変換手段で変換された描画コマンドを送信し、
前記画像形成装置では、前記送信手段から送信された描画コマンドを解釈して印刷を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
印刷対象として入力された描画データを、複数の描画命令に変換する読み込み手段を更に有し、
前記判断手段は、前記読み込み手段によって前記描画データから変換された複数の描画命令それぞれについて、ビットマップ化対象の描画命令であるか判断することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
複数の描画命令それぞれについて、ビットマップ化対象の描画命令であるか判断する判断工程と、
前記判断工程で前記ビットマップ化対象と判断された描画命令により描画が行われる領域を含む矩形領域をビットマップ化領域とし、当該ビットマップ化領域に描画を行う描画命令に基づいて、当該ビットマップ化領域についての描画ビットマップと属性ビットマップとを生成する描画工程と、
前記属性ビットマップに基づいて各属性のマスクイメージを作成し、当該作成した各属性のマスクイメージを用いて、前記描画ビットマップから属性ごとに画像を抽出する描画命令を生成し、前記複数の描画命令のうちの前記ビットマップ化対象の描画命令を当該生成された描画命令を用いて更新する生成工程と、
前記生成工程で更新された描画命令を、対応する描画コマンドに変換する変換工程と、
前記変換工程で変換された描画コマンドを送信する送信工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項８】
請求項１乃至６の何れか１項に記載の情報処理装置としてコンピュータを機能させるためのコンピュータ読取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その装置の制御方法、プログラムに関するものである。
【背景技術】
【０００２】
印刷装置は、描画コマンドに加えてその描画コマンドの特徴を示す情報をホスト側から受け取り、その特徴を示す情報により、適用する処理を切り替えている（以下、ここでの特徴を示す情報を「属性」と呼ぶ）。例えば、”文字”の属性が付加された描画コマンドから得られたビットマップに対しては、エッジをはっきりさせる処理を行う。一方で、”イメージ”や”グラフィック”などの属性が付加された描画コマンドから得られたビットマップに対しては、エッジをぼかす処理を行う。
【０００３】
また、印刷装置は、ホスト側から渡される描画コマンドを受け取り、その描画コマンドのビットマップ化を行い、得られたビットマップを２値化した上で印刷する。なお、本明細書では、ビットマップ化は、対象とするデータ（例えば、描画コマンド）の解釈＋解釈結果に基づくビットマップの生成という意味である。
【０００４】
しかし、その描画コマンドのビットマップ化に時間がかかる場合や、その描画コマンドに印刷装置側が対応していない場合（例えば、描画コマンドの解釈が印刷装置側でできない場合。）には、ホスト側でその描画コマンドのビットマップ化を行い、得られたビットマップ（以下”描画ｂｉｔｍａｐ”と呼ぶ）を描画コマンドとして印刷装置に送付する。
【０００５】
その流れの例を簡単に図１に示す。１−１がＰＤＦなどの描画データであり、この中にはイメージ描画データ（１−２）、テキスト描画データ（１−３）、グラフィック描画データ（１−４）が含まれる。本来、ホスト側は、それぞれの描画データを描画コマンドに変換し、印刷装置に送付するだけで、描画データのビットマップ化は行わない。しかし、グラデーションを描画する描画コマンドに印刷装置が対応していない場合、ホスト側は、グラデーション描画データをビットマップ化して、得られた描画ｂｉｔｍａｐ（１−５）を描画コマンドとして印刷装置側に送付している。
【０００６】
しかし、それだけでは属性に基づいた処理の切り替えができない。そこで、従来の技術の特許文献１では、描画ｂｉｔｍａｐを生成する際に併せて、属性をピクセル毎に持つ属性ｂｉｔｍａｐを生成している。そして、描画ｂｉｔｍａｐと属性ｂｉｔｍａｐを印刷装置に送付することで、属性に基づいた処理の切り替えを可能にしている。なお、描画ｂｉｔｍａｐ、属性ｂｉｔｍａｐは、描画ビットマップ、属性ビットマップと呼ぶこともある。
【０００７】
その具体的な流れを簡単に図２に示す。グラデーション描画データをビットマップ化するところまでは先ほどと同じであるが、ビットマップ化する際に、属性ｂｉｔｍａｐを生成している。図３に属性ｂｉｔｍａｐの具体例を示す。属性ｂｉｔｍａｐは、描画ｂｉｔｍａｐにおける各画素がどの属性値（イメージ、グラフィック、文字）を持っているかを示す情報となっている（３−２）。また、ここでの属性値の例を図４に示す。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−２５３１２５
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しなしながら特許文献１では、属性ｂｉｔｍａｐに対応した印刷装置のみを考慮した文献となっており、属性ｂｉｔｍａｐに対応していない印刷装置では印刷不良が起きてしまう。また、その他、様々な課題が存在する。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明の情報処理装置は、複数の描画命令それぞれについて、ビットマップ化対象の描画命令であるか判断する判断手段と、前記判断手段で前記ビットマップ化対象と判断された描画命令により描画が行われる領域を含む矩形領域をビットマップ化領域とし、当該ビットマップ化領域に描画を行う描画命令に基づいて、当該ビットマップ化領域についての描画ビットマップと属性ビットマップとを生成する描画手段と、前記属性ビットマップに基づいて各属性のマスクイメージを作成し、当該作成した各属性のマスクイメージを用いて、前記描画ビットマップから属性ごとに画像を抽出する描画命令を生成し、前記複数の描画命令のうちの前記ビットマップ化対象の描画命令を当該生成された描画命令を用いて更新する生成手段と、前記生成手段で更新された描画命令を、対応する描画コマンドに変換する変換手段と、前記変換手段で変換された描画コマンドを送信する送信手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、上記課題の欄に記載した課題もしくは実施例に記載された課題のうちの少なくとも一つを解決することができる。
【図面の簡単な説明】
【００１２】
【図１】図１はホスト側でビットマップ化を行った場合の印刷の流れの１例である。
【図２】図２は図１に加え、属性ｂｉｔｍａｐを用いた印刷の流れの１例である。
【図３】図３は属性ｂｉｔｍａｐの例である。
【図４】図４は属性と属性値の対応表の１例である。
【図５】図５は本実施例の描画コマンド生成方法が適用される情報処理システムの構成の１例を示すブロック図である。
【図６】図６は描画データ印刷システムの構成を示す図である。
【図７】図７は印刷全体構成を示すブロック図である。
【図８】図８は本実施例の描画コマンド生成方法のフローチャートである。
【図９】図９はビットマップ化部を分割する処理のフローチャートである。
【図１０】図１０は属性ｂｉｔｍａｐからＭａｓｋイメージの作成方法である。
【図１１】図１１はくり抜き命令変換処理のフローチャートである。
【図１２】図１２はＸＯＲ−ＡＮＤ−ＸＯＲ命令によるくり抜き例である。
【図１３】図１３はビットマップ化処理のフローチャートである。
【図１４】図１４はビットマップ化対象描画命令一覧の表の一例である。
【図１５】図１５はテキスト属性をグラフィック属性に丸めた場合の、属性ｂｉｔｍａｐからＭａｓｋイメージの作成方法である。
【図１６】図１６は１つめの属性については描画ｂｉｔｍａｐをくり抜かずに描画を行う場合のくり抜き変換処理のフローチャートである。
【図１７】図１７はＲＯＰ３（０ｘＡＣ）を用いた場合のくり抜き変換処理のフローチャートである。
【図１８】図１８は実施例５の描画コマンド生成方法が適用される情報処理システムの構成の１例を示すブロック図である。
【図１９】図１９は実施例５において印刷対象データが、媒体読取装置に格納されていたデータがＣＰＵに読み込まれ入力装置から印刷命令が入力されて、印刷装置へデータを送るまでの概念図である。
【図２０】図２０は本実施例５の印刷全体構成を示すブロック図である。
【図２１】（Ａ）ＸＯＲ描画を説明する図（Ｂ）ＡＮＤ描画を説明する図（Ｃ）ＸＯＲ描画を説明する図
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１４】
まず、本文中の語句について説明する。
【００１５】
描画データ：印刷の対象となるデータ。例：ＰＤＦデータ、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅのデータなど。
【００１６】
描画命令：描画データを扱うための中間言語。例：ＤＤＩなど。
【００１７】
描画コマンド：印刷装置へ送付する命令。例：ＢＤＬコマンド、ＰＣＬコマンドなど。
【００１８】
（第一の実施例）
始めに図６を用いて描画データ印刷システム６−０の構成について説明する。描画データ印刷システム６−０は、クライアントコンピュータ（＝ホスト）６−２、印刷装置６−３を含む２つの装置を含む。これらの装置は、ネットワーク６−１を介して互いに接続されており、ネットワーク６−１はインターネットに接続されている。また、描画データ印刷システム６−０は、Ｗｅｂアプリケーションサーバー群６−４を含む。これらのサーバー群は、１台のサーバから構成されていてもよいし、複数台のサーバで構成されていてもよい。なお、印刷装置６−３としては、属性ｂｉｔｍａｐに対応していない装置を想定しているが、対応している装置であってもよい。
【００１９】
次に、図５を用いて、上記変換を行うＷｅｂアプリケーションサーバー群のハードウェア構成を説明する。
【００２０】
１はＣＰＵで、各種データ処理を行う。２はメモリであり、ＣＰＵが読み書きするデータを格納する。３はＨＤＤであり、各種データが格納されている。４は媒体読み取り装置でありＦｌｏｐｐｙＤｉｓｋ、ＣＤ−ＲＯＭ、メモリカード等のシステムに接続された記憶媒体からデータを読み取る。
【００２１】
クライアントコンピュータ６−２、印刷装置６−３も同様の構成となっているが、印刷装置６−３は、この構成に加えて、プリントエンジンを有している。
【００２２】
図７は、サーバー群の構成を表す図である。
【００２３】
７−１は描画データ読み込み部であり、描画データの入力を受け付け、描画命令を生成する。
【００２４】
７−２は、データ変換部である。
【００２５】
７−３は印刷装置とのデータ送受信を行なうデータ送受信部である。
【００２６】
７−１から７−３の部は、上述したＣＰＵ１、メモリ２、ＨＤＤ３、媒体記憶装置４、ＲＯＭ６の連携により、ソフトウェア的に実現されるが、これに限られるものではなく、夫々の部がハードウェアロジックとなっていても良い。
【００２７】
７−４は印刷装置のデータ受信部であり、サーバー群で作成した描画コマンドの受信を行う。
【００２８】
７−５はコントローラ部であり、描画コマンドを解釈して２値画像に変換し、プリントエンジンに出力する。この際、描画コマンドとして入力される属性にあわせた色処理を行う。
【００２９】
７−４から７−５の部は、印刷装置内部のＣＰＵ、メモリ、ＨＤＤ、ＲＯＭの連携により、ソフトウェア的に実現されるが、これに限られるものではなく、夫々の部がハードウェアロジックとなっていても良い。
【００３０】
図８について説明する。
【００３１】
クライアントコンピュータ６−２上でユーザが描画データを指定し（例えば、ＰＤＦデータを選択し）、さらにユーザがその描画データの印刷指示を行うと、クライアントコンピュータは、描画データをサーバー群６−４に入力する。
【００３２】
図８は、描画データが入力された後にサーバー群６−４で行われる処理を説明している。
【００３３】
描画データ読み込み部７−１では、入力された描画データを読み込み、複数の描画命令に変換し、得られた描画命令をデータ変換部７−２に入力する（８−１）。この読み込みの際、各描画命令に属性の情報を付加する。データ変換部７−２では、入力された各描画命令の中に、（１）印刷装置非対応な描画命令（その描画命令に対応する描画コマンドの解釈が印刷装置でできない描画命令という意味である。）、又は、（２）印刷装置不相応な描画命令（その描画命令に対応する描画コマンドのビットマップ化を印刷装置で行った場合に所定時間以上の時間がかかってしまう描画命令という意味である。）が含まれているか判断し、含まれていると判断した場合に、（１）（２）の描画命令のビットマップ化を行う（８−２）（図１３に後述）。その後、データ変換部７−２は、描画ｂｉｔｍａｐの分割を行う（８−４）。その上で、データ変換部７−２は、描画命令を、対応する描画コマンドへと変換する。（８−５）。
【００３４】
図１３は、本実施例の印刷装置非対応な描画命令、又は、印刷装置不相応な描画命令のビットマップ化の詳細を示すフローチャートであり、図８の８−２の処理の詳細を示している。
【００３５】
まず、データ変換部７−２は、入力された描画命令を一つずつ選択し、その描画命令がビットマップ化対象の描画命令（即ち、（１）（２）の描画命令）であるかを、判断する（１３−１）。なお、この判断をするためのテーブル（例：図１４）は予めデータ変換部７−２が保持しているものとする。図１４のテーブルには、例えば、グラデーション描画命令、及び、透過描画命令（透過率が０％−９９％に設定された描画命令）が、ビットマップ化対象の描画命令であるという旨が含まれているものとする。
【００３６】
対象とする描画命令がビットマップ化対象外と判断された場合は、データ変換部７−２は、その描画命令と、その描画位置と属性を記憶しておく（１３−５）。対象とする描画命令がビットマップ化対象と判断された場合は、その描画命令により描画される領域を含む矩形領域（描画される領域を含む外接矩形領域であることが好ましいが、必ずしも接していなくても良い）をビットマップ化領域として算出する（１３−２）。そして、ビットマップ化領域に描画される描画命令（１３−５にて記憶されている）を全て抽出し、その描画命令のうちビットマップ化領域に描画される部分をビットマップ化する（１３−３）。さらに、ビットマップ化領域の属性ｂｉｔｍａｐを、そのビットマップ化領域に描画される全ての描画命令から生成する（１３−４）。その上で、データ変換部７−２は、その属性ｂｉｔｍａｐ及び描画ｂｉｔｍａｐを描画命令として記憶する（１３−５）。この時、その属性ｂｉｔｍａｐの位置も併せて記憶されることになる。この一連のフローを最後の描画命令まで繰り返す（１３−６）。尚、ここでは、ビットマップ化対象描画命令毎にビットマップ化しているが、はじめにすべてのビットマップ化対象領域を算出した後、その対象領域をビットマップ化してもよい。また、１３−４で抽出された描画命令のうちのビットマップ化領域に描画される部分については、たとえ、その後、その描画命令が選択されることがあっても、データ変換部７−２において１３−５の記憶ステップで記憶されないことになる。
【００３７】
図９は本実施例のビットマップ分割処理のフローチャートであり、図８の（８−４）から呼び出される。まず、描画命令が図１３の１３−３により作成された描画ｂｉｔｍａｐを含む描画命令か否かを判断する（９−１）。そのような描画ｂｉｔｍａｐを含む描画命令の場合、図１３の１３−４で作成した属性ｂｉｔｍａｐを参照し、複数種類の属性が存在しているかを調べる（９−２）。なお、属性ｂｉｔｍａｐを生成する際に、その属性ｂｉｔｍａｐに、その属性ｂｉｔｍａｐに何種類の属性が含まれているかを示す情報を埋め込んでおき、ここではそのメタ情報を読み込んでもよい。
【００３８】
複数種類の属性を含むと判断された場合、その複数種類の種類数と同じ回数（即ち、種類の数が３なら、回数も３回となる）、属性ｂｉｔｍａｐからＭａｓｋイメージを作成する（後述）（９−３）。そして、Ｍａｓｋイメージを使用して、描画ｂｉｔｍａｐを属性毎にくり抜いて描画するための描画命令を生成する（こちらも同様に３回行われることになる）。これら一連のフローを最後の描画命令まで繰り返す（９−５）。
【００３９】
図１０に属性ｂｉｔｍａｐからＭａｓｋイメージを作成する例を示す。属性ｂｉｔｍａｐには描画ｂｉｔｍａｐのピクセル毎に対応した属性値が格納されている。ここでは、０，  １，  ４の属性値が含まれているものとする。
【００４０】
データ変換部（７−２）は、この属性ｂｉｔｍａｐを参照し、１ピクセル毎に、対象となる属性値が含まれているかを判断し、対象となる属性のＭａｓｋイメージを作成する。なお、対象となる属性は、１，  ２，  ３，  ４の順に設定される。
【００４１】
例えば、グラフィックの属性用Ｍａｓｋイメージを作成する場合（対象となる属性値がグラフィック属性、つまり属性値２の場合という意味である）を考える。この場合、属性ｂｉｔｍａｐの中で属性の値が２であるときにその値を１に、それ以外を０に置き換えたものがグラフィック用Ｍａｓｋイメージ（１０−３）となる。同様に他の属性に対してもＭａｓｋイメージを作成する。
【００４２】
即ち、対象となる属性値を持っているピクセルには１が割り当てられ、それ以外のピクセルには０が割当てられる。この割り当てられた結果がＭａｓｋイメージとなる。
【００４３】
図１１は本実施例のくり抜き変換処理のフローチャートであり、図９の（９−４）から呼び出される。図７のデータ変換部７−２にて、ビットマップ化領域に含まれる描画ｂｉｔｍａｐについて、この描画ｂｉｔｍａｐを、ＸＯＲ、ＭａｓｋイメージをＡＮＤ、描画ｂｉｔｍａｐをＸＯＲとして組み合わせた状態に変換する。（１１−２、１１−３、１１−４）。
【００４４】
図１２はＸＯＲ、ＡＮＤ、ＸＯＲの組み合わせからなる描画命令を説明する図である。図１１で述べた通り、その描画命令を処理する印刷装置側は、Ｍａｓｋイメージの１が立っている箇所をくり抜くことができる。１２−１を例に取ると、イメージ属性で、１２−２、１２−３、１２−４をＸＯＲ、ＡＮＤ、ＸＯＲの順で描画すると１２−５の描画結果が得られる。そして、さらに描画結果の属性はイメージ属性となる。１２−６、１２−７も同様に各属性の箇所を切り抜くことができる。
【００４５】
以上の処理が終わると、１３−５で記憶されていた描画命令のうち、９−１でｙｅｓとなった描画命令（ビットマップ化対象領域に含まれる描画ｂｉｔｍａｐ及び属性ｂｉｔｍａｐを含む描画命令であって、属性ｂｉｔｍａｐに複数種類の属性値が含まれている描画命令。）は、更新される。更新前の描画命令はデータ変換部７−２から削除され、その代わりに、更新後の描画命令は、データ変換部７−２内に記憶されることになる。具体的には、元の描画ｂｉｔｍａｐは、描画ｂｉｔｍａｐをＸＯＲ、ＭａｓｋイメージをＡＮＤ、描画ｂｉｔｍａｐをＸＯＲとした組み合わせ形式の描画命令形式へと更新されることになる。また、属性ｂｉｔｍａｐはデータ変換部７−２から削除され、その代わりに、上記組み合わせ形式の描画命令に、属性の値（Ｍａｓｋイメージ中で１となっている画素が持つ属性の値）が付加されることになる。
【００４６】
以上の通り、属性ｂｉｔｍａｐは、その属性ｂｉｔｍａｐに含まれる複数種類のうちの１種類の属性値へと変換されることになる。また、描画ｂｉｔｍａｐは、第１の描画命令（その描画ｂｉｔｍａｐをメモリ上にＸＯＲ描画する命令。）、第２の描画命令（その描画ｂｉｔｍａｐがＸＯＲ描画されたメモリに対して、ＭａｓｋイメージをＡＮＤ描画する命令。）と、第３の描画命令（そのＭａｓｋイメージがＡＮＤ描画されたメモリに対して、その描画ｂｉｔｍａｐをＸＯＲ描画する命令。）に変換されることになる。また、このＭａｓｋイメージは、属性ｂｉｔｍａｐにおいて、その１種類の属性値を持っている画素がＯＮ（例えば、上述の通り１。）、それ以外の属性値を持っている画素がＯＦＦ（例えば、上述の通り０。）となった、属性ｂｉｔｍａｐと同じ画素数を持つ描画ｂｉｔｍａｐとなっている。
【００４７】
また、以上の処理が終わった上で、描画コマンドがデータ送受信部７−３により印刷装置へ向けて送信されることになる。印刷装置側では、描画コマンドを解釈して印刷を行うことになる。もちろん、ＸＯＲ描画、ＡＮＤ描画、ＸＯＲ描画を行い、その描画結果に対して、付加されている属性値に応じた画像処理も行われることになる。
【００４８】
以下、ＸＯＲ描画、ＡＮＤ描画、ＸＯＲ描画の組み合わせ形式の描画命令の描画方法について説明する。
【００４９】
図２１Ａは、メモリ１２０１上に、１２０２を、ＲＯＰの“ＸＯＲ”描画を使って描画する処理の詳細を示したものである。Ｋ＝０（ビットパターンでは”００００００００”）のメモリ１２０１にＫ＝３２（ビットパターンでは”００１０００００”）である描画ｂｉｔａｍｐをＲＯＰの“ＸＯＲ”描画で描画する場合を考える。その結果、Ｋ＝３２（ビットパターンでは”００１０００００”）の合成画像１２０５が得られる。ここで、本実施形態において、Ｋは濃度値である。なお、Ｋは濃度に限定されず、他の実施形態においては輝度値であっても良い。
【００５０】
次に図２１Ｂは、図２１Ａで得られた１２０５の画像を含むメモリに対して、Ｍａｓｋイメージ１２０３を、ＲＯＰの“ＡＮＤ”描画を使って描画する処理の詳細を示したものである。Ｍａｓｋイメージ１２０３は、白（ビットパターンでは”００００００００”）と、黒（ビットパターンでは”１１１１１１１１”）とからなっているものとする。演算の結果、白部分はＫ＝０（ビットパターンでは”００００００００”）、黒部分はＫ＝３２（ビットパターンでは”００１０００００”）の合成画像１２０６が得られる。
【００５１】
更に図２１Ｃは、図２１Ｂの描画が行われた後のメモリに対して、描画ｂｉｍａｐ１１０４を、ＲＯＰの“ＸＯＲ”演算を用いて描画する処理の詳細を示したものである。メモリに描かれた１２０６の画像のＫ＝３２（ビットパターンでは”００１０００００”）部分と、Ｋ＝３２（ビットパターンでは”００１０００００”）の描画ｂｉｔｍａｐ１０２４を、ＲＯＰの“ＸＯＲ”描画を用いて描画する。その結果は図２１Ｃの１２０７に示す通りである。このように、ＸＯＲ描画、ＡＮＤ描画、ＸＯＲ描画が行われることにより、描画ｂｉｔｍａｐ中のＭａｓｋイメージ部分がくり抜けることになる。
【００５２】
（第二の実施例）
実施例一では、ビットマップ化された描画ｂｉｔｍａｐを２回、Ｍａｓｋイメージを１回、それぞれ属性数分だけ描画コマンドを発行する為、描画コマンドの増大（サイズが増大する）につながる恐れがある。そこでくり抜く属性数を減らすことでその増大を抑えることができる。
【００５３】
図１５に属性数を減らした場合のＭａｓｋイメージの作成方法を示す。これは図９のＭａｓｋイメージ作成（９−３）で行う処理である。実施例１の図１０に示したＭａｓｋイメージ作成では、属性ｂｉｔｍａｐに含まれる全ての属性に対してＭａｓｋイメージを作成していた。図１５では、属性ｂｉｔｍａｐ（１５−１）でテキスト属性（属性値４）を、グラフィック属性（属性値２）として扱い、グラフィック属性用Ｍａｓｋイメージ（１５−３）を作成する。この方法を用いることでくり抜き命令変換処理（図１１）時、描画命令数を抑えられ、つまりは描画コマンド数を抑えることが可能となる。
【００５４】
（第三の実施例）
実施例一では、ビットマップ化された描画ｂｉｔｍａｐを２回、Ｍａｓｋイメージを１回、それぞれ属性数分だけ描画コマンドを発行する為、描画コマンドの増大（サイズが増大する）につながる恐れがある。そこで、１つめの属性についてはくり抜き描画コマンドを発行せずに、描画ｂｉｔｍａｐをそのまま描画する描画コマンドを発行し、２つめ以降の属性についてのみくり抜きの描画コマンドを発行することでサイズの増大を抑えることができる。描画の内容は実施例一では属性毎にくり抜かれていたものが、本実施例では１つめの属性の描画に２つめ以降の描画が上書きされることになるため変わらない。
【００５５】
図１６は１つめの属性については描画ｂｉｔｍａｐをそのままイメージとして描画を行う、くり抜き変換処理のフローチャートである。図９の（９−４）から呼び出される。まず、１つめの属性についてその属性で描画ｂｉｔｍａｐをイメージとして描画を行う描画命令を発行する（１７−１）。
【００５６】
続いて、それ以外の属性について（１６−２）、図１１の１１−２、１１−３、１１−４と同様の描画命令を発行する（１６−３、１６−４、１６−５）。この方法を用いることで、１つめの属性についてＭａｓｋイメージをＡＮＤで、描画ｂｉｔｍａｐをＸＯＲで送付する描画命令を削減でき、描画コマンド生成処理時（８−５）に削減された描画命令分、描画コマンドつまりはファイルサイズを抑えることができる。
【００５７】
（第四の実施例）
実施例一では、切り抜き処理にＸＯＲ、ＡＮＤ、ＸＯＲの３つの描画コマンドを用いている。これに対し本実施例では、１つの描画コマンドで同様にくり抜きを行う。Ｗｉｎｄｏｗｓ（登録商標）の描画コマンドであるＲＯＰ３（パターン、ソース画像、デスティネーション画像の重ね合わせの方法）のうち０ｘＡＣ（または０ｘＣＡ）を用いる。Ｍａｓｋイメージをパターン、描画ｂｉｔｍａｐをソース画像として設定した描画コマンドを用いることで、ＸＯＲ、ＡＮＤ、ＸＯＲの３つの描画コマンドを用いる方法に比べ、描画ｂｉｔｍａｐを１回分描画コマンドとして送らない為ファイルサイズを抑えられる。しかし、この手法は当描画コマンドに対応している印刷装置にのみ有効な手法である。尚、ＲＯＰ３（０ｘＡＣ）は、ＸＯＲ、ＡＮＤ、ＸＯＲ同様の効果を得られ疑似透過や切り抜きに広く用いられている手法である。
【００５８】
図１７は、くり抜き時にＸＯＲ、ＡＮＤ、ＸＯＲではなくＲＯＰ３（０ｘＡＣ）を用いた場合のくり抜き変換処理のフローチャートである。図９の（９−４）から呼び出される。データ変換部（７−２）にて、全ての属性について（１７−１）、描画ｂｉｔｍａｐをソース、ＭａｓｋイメージをパターンとしたＲＯＰ３（０ｘＡＣ）描画命令を発行する（１７−２）。この方法を用いることで、ＲＯＰ３（０ｘＡＣ）に対応している印刷装置ではＸＯＲ、ＡＮＤ、ＸＯＲの方法に比べ描画ｂｉｔｍａｐを描画コマンドとして印刷装置への送付を１回分抑えることができ、ファイルサイズを抑えることができる。
【００５９】
（第五の実施例）
これまで記載してきた方法をプリンタドライバ内で行っても同様に成立する。
【００６０】
図１８は本実施例が適用される情報処理システムの構成の例を示すブロック図である。図１８において、ＣＰＵ（１８−１）は、ＲＯＭ（１８−８）内部のプログラム領域に記憶されたプログラム、又はＨＤＤ（１８−３）からメモリ（１８−２）にロードされたＯＤ、汎用アプリケーション等のプログラムを実行する。メモリ（１８−２）は、ＣＰＵ（１８−１）の主メモリ、ワークエリア等として機能する。ＨＤＤ（１８−３）はブートプログラム、種々のアプリケーション、ユーザファイル、アプリケーションで使用される各種データ等を記憶する。また、受信されるジョブは、ＨＤＤ（１８−３）に送られる。出力装置（１８−５）は、ディスプレイ等による表示の制御を行う。媒体読取装置（１８−６）はＣＤ、ＤＶＤなどの各種メディアへのアクセスを制御する。入力装置（１８−４）は、キーボードやポインティングデバイスからのキー入力を制御する。印刷装置（１８−７）は情報処理装置（１８−９）から出力された情報を受け付け、印刷処理を行う。ここで、それぞれの装置がネットワークを介して接続されていようとも、本発明を制約するものではない。
【００６１】
媒体読取装置（１８−６）から読み出されたプログラムと関連するデータ、もしくはＨＤＤ（１８−３）に格納されていたプログラムと関連するデータがメモリ（１８−２）に読み込まれる。その上で、入力装置（１８−４）から印刷命令が入力されて、印刷装置（１８−７）へデータを送り印刷する。図１９は、これらの処理の概念図を表す。アプリケーション、ドライバともＯＳの制御下で機能する。
【００６２】
図２０は、本実施例を表す図面である。１９−３はそのＯＳ上に印刷装置を制御するアプリケーションソフト（プリンタドライバ）である。２０−３は本実施例におけるユーザーが印刷装置に対して設定など各種印刷設定等を入力したり、印刷開始支持をしたりするためのユーザーインターフェース部である。２０−２はデータ変換部で、図７の７−２と同様の役割を担う。２０−４は印刷コマンド制御部で、データ変換部により作成された描画コマンドに対し、印刷装置に対応したデータに変換する。２０−５はＯＳの機能であり、印刷装置とのデータ送受信を行うデータ送受信部である。１８−７は印刷装置であり、接続されたホスト装置からの指示に応じた印刷処理を行う。以下、２０−２内部の処理は、図７の７−２内部の処理と同様である。このように、プリンタドライバでも描画ｂｉｔｍａｐを属性毎にくり抜いて別々に送付することが可能である。
【００６３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005840174.tif 000002
【図２】
0005840174.tif 000003
【図３】
0005840174.tif 000004
【図４】
0005840174.tif 000005
【図５】
0005840174.tif 000006
【図６】
0005840174.tif 000007
【図７】
0005840174.tif 000008
【図８】
0005840174.tif 000009
【図９】
0005840174.tif 000010
【図１０】
0005840174.tif 000011
【図１１】
0005840174.tif 000012
【図１２】
0005840174.tif 000013
【図１３】
0005840174.tif 000014
【図１４】
0005840174.tif 000015
【図１５】
0005840174.tif 000016
【図１６】
0005840174.tif 000017
【図１７】
0005840174.tif 000018
【図１８】
0005840174.tif 000019
【図１９】
0005840174.tif 000020
【図２０】
0005840174.tif 000021
【図２１】
0005840174.tif 000022