(57)【特許請求の範囲】
【請求項１】
前記入力された描画コマンドを第１のビットマップイメージに描画する描画手段と、描画コマンドとして入力オブジェクトを第１のビットマップに描画する際のアルファブレンド指定（透明度指定）を行う描画方法指定手段とを有する印刷制御装置および描画制御装置において、
前記アルファブレンド指定をアルファ値に応じた面積情報に置換するアルファ値置換手段と、
前記描画コマンドを面積情報に応じた処理を行うための描画コマンドに変換する描画コマンド変換手段とを有することを特徴とする印刷制御装置および描画制御装置。
【請求項２】
前記描画方法指定手段は、前記入力オブジェクトをビットマップに描画する際の前記アルファブレンド指定として入力コマンド全体に単一のアルファ値を指定する手段を有することを特徴とする請求項１記載の印刷制御装置および描画制御装置。
【請求項３】
前記描画方法指定手段は、前記入力オブジェクトをビットマップに描画する際の前記アルファブレンド指定として入力コマンドに対して複数のアルファ値を指定する手段を有することを特徴とする請求項１記載の印刷制御装置および描画制御装置。
【請求項４】
前記アルファ置換手段は、前記アルファブレンド指定を、アルファ値に応じたオン／オフ比を備えたビットマップに変換する手段を有することを特徴とする請求項１記載の印刷制御装置および描画制御装置。
【請求項５】
前記アルファ置換手段は、複数のアルファ値を指定する多値ビットマップイメージを、前記アルファ値に応じたオン／オフ比を備えた二値ビットマップに変換する手段を有することを特徴とする請求項１記載の印刷制御装置および描画制御装置。
【請求項６】
前記アルファ置換手段は、前記入力された描画コマンドが文字か図形かイメージかといった属性に従って、アルファブレンド指定を、アルファ値に応じたオン／オフ比に変換する際のオン／オフの比を変更する手段を有することを特徴とする請求項４、請求項５記載の印刷制御装置および描画制御装置。
【請求項７】
前記アルファ置換手段は、前記アルファブレンド指定を、アルファ値に応じたオン／オフ比に変換する際のオン／オフの配置を、第１のビットマップイメージを中間調変換する際のスクリーンとモアレが生じないようなスクリーン角、スクリーン線数を調整する手段を有することを特徴とする請求項４、請求項５記載の印刷制御装置および描画制御装置。
【請求項８】
前記描画コマンド変換手段は、入力された描画コマンドの入力オブジェクトとアルファブレンド指定という組み合わせを、入力オブジェクトと前記アルファ値置換手段により生成されたビットマップイメージと描画論理指定という組み合わせに変換する手段を有することを特徴とする請求項１記載の印刷制御装置および描画制御装置。
【請求項９】
前記描画コマンド変換手段は、入力オブジェクトとアルファ値置換手段により生成されたビットマップイメージと描画論理指定という組み合わせにおいて、前記アルファ値置換手段により生成されたビットマップイメージにおける２値ビットの第１の状態に対応する位置では入力オブジェクトを描画し、第２の状態に対応する位置では前記第１のビットマップイメージを透過する手段を有することを特徴とする請求項８記載の印刷制御装置および描画制御装置。
【請求項１０】
前記アルファ値置換手段は、前記アルファ値に応じた有効面積を有するクリッピング領域指定手段を備え、前記描画コマンド変換手段は、前記入力された描画コマンドを前記クリッピング領域指定手段により生成されたクリッピング領域を用い、入力オブジェクトを第１のビットマップイメージに上書きする手段を有することを特徴とする請求項１記載の印刷制御装置および描画制御装置。
【請求項１１】
前記アルファ値置換手段は、前記入力オブジェクトを前記アルファ値に応じた有効面積を有するサイズの複数のオブジェクトに変換するオブジェクト変換手段を備え、前記描画コマンド変換手段は、前記オブジェクト変換手段により生成されたオブジェクトを第１のビットマップイメージに上書きする手段を有することを特徴とする請求項１記載の印刷制御装置および描画制御装置。
【請求項１２】
入力された描画コマンドを第１のビットマップイメージに描画する描画ステップと、描画コマンドとして入力オブジェクトを第１のビットマップに描画する際のアルファブレンド指定（透明度指定）を行う描画方法指定ステップとを有する印刷制御装置および画像制御装置のデータ処理方法において、
前記アルファブレンド指定をアルファ値に応じた面積情報に置換するアルファ値置換ステップと、
前記描画コマンドを面積情報に応じた処理を行うための描画コマンドに変換する描画コマンド変換ステップとを有することを特徴とする印刷制御装置および画像制御装置のデータ処理方法。
【請求項１３】
入力された描画コマンドを第１のビットマップイメージに描画し、描画コマンドとして入力オブジェクトを第１のビットマップに描画する際のアルファブレンド指定（透明度指定）を行うとコンピュータが読み出し可能なプログラムを格納した記憶媒体において、
前記アルファブレンド指定をアルファ値に応じた面積情報に置換し、
描画コマンドを面積情報に応じた別の描画コマンドに変換することを特徴とするコンピュータが読み出し可能なプログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体および、描画制御装置および描画制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体に関するものである。
【０００２】
【従来の技術】
従来の、入力された描画コマンドを第１のビットマップイメージに描画する描画手段と、描画コマンドとして入力オブジェクトを第１のビットマップに描画する際のアルファブレンド指定（透明度指定）を指定する描画方法指定を有する印刷制御装置および描画制御装置では、入力された描画コマンドを第１のビットマップイメージに描画する場合以下のように行っていた。
【０００３】
図１に従来例を示す。図１−ａは、該当する描画コマンドを描画する前の第１のビットマップイメージである。
【０００４】
第１のビットマップイメージは各色８ビット／ピクセルのＲＧＢのビットマップイメージで構成されており、ＲＧＢ＝（２５５、０、０）の矩形が描画されている。何も描画されていないところはＲＧＢ＝（２５５、２５５、２５５）である。
【０００５】
図１−ｂは、図１−ａに各色８ビット／ピクセル値でＲＧＢ＝（２５５、２５５、０）の矩形を、８ビット／ピクセルのアルファブレンド値＝（１２８）＝５０％の透過指定で描画した結果を示す。
【０００６】
エリア１はＲＧＢ＝（２５５、０、０）、エリア２はＲＧＢ＝（２５５、２５５、１２８）、アルファブレンド値は５０％透過指定なので、エリア３の矩形の重なり部分は、ＲＧＢ＝（２５５、１２８、０）となる。
【０００７】
描画時の計算方法を以下に示す。
ＲｅｓｕｌｔＲ＝（α／２５５）×ＳｒｃＲ＋（１−（α／２５５））×ＤｅｓｔＲ
ＲｅｓｕｌｔＧ＝（α／２５５）×ＳｒｃＧ＋（１−（α／２５５））×ＤｅｓｔＧ
ＲｅｓｕｌｔＢ＝（α／２５５）×ＳｒｃＢ＋（１−（α／２５５））×ＤｅｓｔＢ
【０００８】
ここでＲｅｓｕｌｔＲは描画結果後の第１のビットマップイメージの値であり、ＳｒｃＲは入力オブジェクトの色の値であり、ＤｅｓｔＲは描画結果前の第１のビットマップイメージの値であり、αは入力オブジェクトのアルファブレンド値である。
【０００９】
【発明が解決しようとする課題】
しかしながら、従来の入力された描画コマンドを第１のビットマップイメージに描画する描画手段と、描画コマンドとして入力オブジェクトを第１のビットマップに描画する際のアルファブレンド指定（透明度指定）を指定する描画方法指定手段とを有する印刷制御装置および描画制御装置では、描画手段がアルファブレンド描画をサポートしていない場合は、期待した結果を得ることができなかった。また、第１のビットマップイメージがＲＧＢ各色８ビット／ピクセルではなく、ＲＧＢ各色１ビット／ピクセルのように、ビット深さがアルファブレンド値のビット深さよりも少ない場合は、期待した結果を得ることができなかった。
【００１０】
本発明は上述の点を改善することを目的とする。
【００１１】
【課題を解決するための手段】
上記点を踏え本発明は、入力された描画コマンドを第１のビットマップイメージに描画する描画手段と、前記描画コマンドとして入力オブジェクトを第１のビットマップに描画する際のアルファブレンド指定（透明度指定）を行う描画方法指定手段とを有する印刷制御装置および描画制御装置において、前記アルファブレンド指定をアルファ値に応じた面積情報に置換するアルファ値置換手段と、前記描画コマンドを面積情報に応じた処理を行うための描画コマンドに変換する描画コマンド変換手段とを有するものである。
【００１２】
【発明の実施の形態】
（第１の実施形態）
以下、本発明をレーザ・ビーム・プリンタ（以下、ＬＢＰと略す）に適用し、図面を用いて更に詳細に説明する。本実施例の構成を説明する前に、本実施例を適用するＬＢＰの構成を図３を参照して説明する。図２は実施例のＬＢＰの内部構造を示す断面図である。
【００１３】
図２において、１００はＬＢＰ本体であり、外部に接続されているホスト・コンピュータ（図３の２０１）から供給される文字印字命令、各種図形描画命令、イメージ描画命令及び色指定命令等に従って対応する文字パターンや図形、イメージ等を作成し、記録媒体である記録用紙上に像を形成する。１５１は操作のためのスイッチ及びプリンタの状態を表示するＬＥＤ表示器やＬＣＤ表示器等が配されている操作パネルである。１０１はＬＢＰ１００全体の制御及びホスト・コンピュータから供給される文字印字命令等を解析するプリンタ制御ユニットである。
【００１４】
尚、本実施例におけるＬＢＰはＲＧＢの色情報をＭ（マゼンタ）Ｃ（シアン）Ｙ（イエロー）Ｋ（クロ）に変換し、それらを並列で像形成・現像するため、ＭＣＹＫそれぞれが像形成・現像機構を持つ。プリンタ制御ユニット１０１はＭＣＹＫそれぞれの印字イメージを生成し、ビデオ信号に変換してＭＣＹＫそれぞれのレーザ・ドライバに出力する。
【００１５】
Ｍ（マゼンタ）のレーザ・ドライバ１１０は半導体レーザ１１１を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１１１から発射されるレーザ光１１２をオン・オフ切替する。レーザ光１１２は回転多面鏡１１３で左右方向に振られて静電ドラム１１４上を走査する。これにより、静電ドラム１１４上には文字や図形のパターンの静電潜像が形成される。この潜像は静電ドラム１１４周囲の現像ユニット（トナーカートリッジ）１１５によって現像された後、記録用紙に転写される。
【００１６】
Ｃ（シアン）、Ｙ（イエロー）、Ｋ（クロ）に関してもＭ（マゼンタ）と同様の像形成・現像機構を持ち、１２０、１２１、１２２、１２３、１２４、１２５はＣ（シアン）用の像形成・現像機構、１３０、１３１、１３２、１３３、１３４、１３５はＹ（イエロー）用の像形成・現像機構、１４０、１４１、１４２、１４３、１４４、１４５はＫ（クロ）用の像形成・現像機構である。個々の機能はＭ（マゼンタ）の像形成・現像機構と同じであるので説明は省略する。
【００１７】
記録用紙にはカット・シートを用い、カット・シート記録紙はＬＢＰに装着した給紙カセット１０２に収納されバネ１０３で一定の高さに保たれており、給紙ローラ１０４及び搬送ローラ１０５と１０６とにより装置内に取り込まれ、用紙搬送ベルト１０７に乗せられてＭＣＹＫの各像形成・現像機構を通過する。記録用紙に転写されたＭＣＹＫの各トナー（粉末インク）は定着器１０８で熱と圧力により記録用紙に固定され、記録用紙は搬送ローラ１０９と１５０によってＬＢＰ本体上部に出力される。
【００１８】
図３は図２に示したＬＢＰの制御系１０１の概略構成を示すブロック図である。
【００１９】
このＬＢＰの制御系は、印刷情報の発生源である、ホスト・コンピュータ２０１より送られてきた文字、図形、イメージの各描画命令及び色情報等からなるデータ２１８を入力し、ページ単位で文書情報等を印刷するようにしている。２０２はホスト・コンピュータ２０１と各種情報をやりとりする入出力インタフェース部、２０３は入出力インタフェース部２０２を介して入力された各種情報を一時記憶する入力バッファである。２０４は文字パターン発生器で、文字の幅や高さ等の属性や実際の文字パターンのアドレスが格納されているフォント情報部２２２、文字パターン自身が格納されている文字パターン部２２３、及びその読みだし制御プログラムから成る。
【００２０】
読みだし制御プログラムはＲＯＭ２１９に含まれ、文字コードを入力するとそのコードに対応する文字パターンのアドレスを算出するコード・コンバート機能をも有している。２０５はＲＡＭで、文字パターン発生器２０４より出力された文字パターンを記憶するフォント・キャッシュ領域２０７、ホスト・コンピュータ２０１より送られてきた外字フォントやフォーム情報及び現在の印字環境等を記憶する記憶領域２０６を含んでいる。このように、一旦文字パターンに展開したパターン情報をフォント・キャッシュとしてフォント・キャッシュ領域２０７に記憶しておくことにより、同じ文字を印刷する時に再度同じ文字を復号してパターン展開する必要がなくなるため、文字パターンへの展開が速くなる。
【００２１】
２０８はプリンタの制御系全体を制御するためのＣＰＵで、ＲＯＭ２１９に記憶されたＣＰＵ２０８の制御プログラムにより装置全体の制御を行なっている。２０９は入力データ２１８を元に生成される内部的なデータ群を格納する中間バッファである。
【００２２】
１ページ分のデータの受信が完了し、ＲＯＭ２１９のプログラムに基づくＣＰＵの制御下で、それらがよりシンプルな中間データに変換されて中間バッファに蓄えられた後、レンダラ２１０により数ライン単位でレンダリングされ、印字イメージとしてバンドバッファ２１１に出力される。尚、レンダラ２１０は、数ライン単位にＲＧＢ各色８ビット／ピクセルの描画ビットマップイメージを生成することができる。
【００２３】
また、バンドバッファ２１１には少なくとも８ライン分のＲＧＢ描画ビットマップイメージを記憶することができる。バンドバッファ２１１に出力されたイメージは圧縮部２１２によりスキャンライン単位に圧縮され、ページメモリ２１３に格納される。
【００２４】
１ページ分の中間バッファメモリをレンダリング終了し、それらがページメモリ２１３に格納された後、伸長部２１４において数ライン単位で読み出され、伸長される。次に、伸長されたデータは色変換部２１５において、ＲＧＢ各色８ビット／ピクセルのビットマップイメージをＹＭＣＫ各色４ビット／ピクセルのビットマップイメージに変換される。次に、出力インターフェース部２１６でビデオ信号に変換されてプリンタ印字部２１７に出力される。２１７は出力インタフェース部２１６からのビデオ信号に基づいた画像情報を印刷するページ・プリンタの印刷機構部分である。
【００２５】
先に図２を用いて説明したように本実施例におけるＬＢＰではＭＣＹＫの像形成・現像を並列で行うため、出力インターフェース部２１６はＭ出力インターフェース部、Ｃ出力インターフェース部、Ｙ出力インターフェース部、Ｋ出力インターフェース部の４つのインタフェース部で構成され、それぞれが独立に色変換部２１５からドットデータを獲得し、ビデオ信号に変換して各プレーンのレーザ・ドライバ１１０、１２０、１３０、１４０へ出力する。
【００２６】
２２０は一般のＥＥＰＲＯＭ等で構成する不揮発性メモリであり、以後ＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ）と称す。ＮＶＲＡＭ２２０には操作パネル１５１で指定されるパネル設定値などが記憶される。２２１はＬＢＰからホスト・コンピュータ２０１に送信されるデータである。尚、ＲＯＭ２１９にはホスト・コンピュータ２０１から入力されるデータの解析プログラム、中間データの生成プログラム、印刷機構本体部２１３の制御プログラム、及びＲＧＢ色空間からＭＣＹＫ色空間への色変換テーブル等も含まれる。
【００２７】
なお、本実施形態では、印刷装置の一例としてカラーレーザプリンタで説明しているが、カラーインクジェットプリンタ、カラー熱転写プリンタ等のカラープリンタであっても良い。なお、レンダラ２１０は、ＲＧＢ各色８ビット／ピクセルの描画ビットマップイメージを生成するとしたが、ＹＭＣＫであっても、グレイであっても良い。また、各色のビット／ピクセルはどのような値であっても良い。この場合、バンドバッファ２１１、圧縮部２１２、ページメモリ２１３、伸長部２１４は、レンダラ２１０が生成する色空間、ビット／ピクセルに対応していれば良い。さらに、伸長されたデータは色変換部２１５において、レンダラ２１０で生成されたデータを出力インターフェース部２１６に対応する色空間、ビット／ピクセルに変換するものであれば良い。
【００２８】
以下に、本実施例の処理の流れの一例を説明する。図４−ａは、入力データ２１８の描画コマンドを示す。図４−ｂは、中間バッファ２０９に格納される中間データを示す。図４−ｃは、レンダラ２１０で生成される描画ビットマップイメージを示す。
【００２９】
まずホストコンピュータ２０１より文字コマンド、図形コマンド、イメージコマンドといった入力コマンドが入力される（図４−ａ）。ここで、図形コマンド１としてボックスがＲＧＢ＝（２５５、０、０）で、描画論理が上書きＲＯＰ＝Ｓとして入力され、図形コマンド２としてボックスがＲＧＢ＝（２５５、２５５、０）で、描画論理が上書きＲＯＰ＝Ｓとして入力されている。
【００３０】
次に、入力データは中間データに変換され、中間バッファ２０９に格納される（図４−ｂ）。ここで、ｏｂｊｅｃｔ  １として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ、Ｙ）、幅高さ：（ｗ、ｈ）、色：ＲＧＢ＝（２５５、０、０）、描画論理：ＲＯＰ＝Ｓ（上書き）が作成され、ｏｂｊｅｃｔ２として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ＋ａ、Ｙ＋ｂ）、幅高さ：（ｗ′、ｈ′）、色：ＲＧＢ＝（２５５、２５５、０）、描画論理：ＲＯＰ＝Ｓ（上書き）が作成される。
【００３１】
中間データをレンダラ２１０により描画すると、描画ビットマップイメージが生成される（図４−ｃ）。第１のビットマップイメージは各色８ビット／ピクセルのＲＧＢのビットマップイメージで構成されており、エリア１はＲＧＢ＝（２５５、０、０）の矩形が描画されており、エリア２はＲＧＢ＝（２５５、２５５、０）の矩形が描画されている。何も描画されていないところはＲＧＢ＝（２５５、２５５、２５５）である。
【００３２】
以下に、アルファブレンドを行う際の本実施例の処理の流れの一例を説明する。図５−ａは、入力データ２１８の描画コマンドを示す。図５−ｂは、中間バッファ２０９に格納される中間データを示す。図５−ｃは、レンダラ２１０で生成される描画ビットマップイメージを示す。図５−ｄは、中間バッファ２０９に格納されるパターンを示す。
【００３３】
まずホストコンピュータ２０１より文字コマンド、図形コマンド、イメージコマンドといった入力描画コマンドが入力される（図５−ａ）。ここで、図形コマンド１としてボックスがＲＧＢ＝（２５５、０、０）で、描画論理が上書きＲＯＰ＝Ｓとして入力され、図形コマンド２としてボックスがＲＧＢ＝（２５５、２５５、０）で、描画論理が上書きアルファブレンド指定：α＝１２８として入力されている。このアルファブレンド指定は全て入力コマンドに単一のアルファブレンド指定をしてもよいし、コマンド毎にアルファブレンド指定することで入力コマンドに対し複数のアルファブレンド指定を行ってもよい。
【００３４】
本来期待されるアルファブレンドは以下の通りである。
ＲｅｓｕｌｔＲ＝（α／２５５）×ＳｒｃＲ＋（１−（α／２５５））×ＤｅｓｔＲ
ＲｅｓｕｌｔＧ＝（α／２５５）×ＳｒｃＧ＋（１−（α／２５５））×ＤｅｓｔＧ
ＲｅｓｕｌｔＢ＝（α／２５５）×ＳｒｃＢ＋（１−（α／２５５））×ＤｅｓｔＢ
【００３５】
ここでＲｅｓｕｌｔＲ（Ｇ、Ｂ）は描画結果後の第１のビットマップイメージの値、ＳｒｃＲ（Ｇ、Ｂ）は入力オブジェクトの色の値、ＤｅｓｔＲ（Ｇ、Ｂ）は描画結果前の第１のビットマップイメージの値、αは入力オブジェクトのアルファブレンド値である。
【００３６】
次に、ＲＯＭ２１９のプログラムに基づくＣＰＵの制御下で、入力データは中間データに変換され、中間バッファ２０９に格納される（図５−ｂ）。ここで、ｏｂｊｅｃｔ  １として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ、Ｙ）、幅高さ：（ｗ、ｈ）、色：ＲＧＢ＝（２５５、０、０）、描画論理：ＲＯＰ＝Ｓ（上書き）が作成され、ｏｂｊｅｃｔ２として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ＋ａ、Ｙ＋ｂ）、幅高さ：（ｗ′、ｈ′）、色：ＲＧＢ＝（２５５、２５５、０）、パターン：幅高さ（（ｗ′、ｈ′）パターン、描画論理：ＲＯＰ＝ＤＳＰＤｘａｘが作成される。
【００３７】
ｏｂｊｅｃｔ２で適用するタイルパターンデータ（面積情報）を図５−ｄに示す。αブレンド値＝１２８なので、タイルパターンは白ピクセル、黒ピクセルの比（オン／オフ比）が５０：５０になるように配置された、幅＝８ピクセル、高さ＝８ピクセルの二値ビットマップとなる。
【００３８】
もし、αブレンド値が６４ならば、白ピクセル、黒ピクセルの比は２５：７５になる。
【００３９】
次に、上述した中間データをレンダラ２１０により描画すると、描画ビットマップイメージが生成される（図５−ｃ）。ここで、第１のビットマップイメージは各色８ビット／ピクセルのＲＧＢのビットマップイメージで構成されており、エリア１はＲＧＢ＝（２５５、０、０）が描画されており、何も描画されていないところはＲＧＢ＝（２５５、２５５、２５５）である。
【００４０】
ＲＯＰ＝ＤＳＰＤｘａｘとは、印字結果のうち、タイルパターン（面積情報）の白ピクセルに相当するピクセルは、ソース（ＲＧＢ＝（２５５、０、０）（オブジェクト１）を反映し、タイルパターン（面積情報）の黒ピクセルに相当するピクセルは、ディスティネーション（ＲＧＢ＝（２５５、２５５、０））（オブジェクト２）を反映する処理を行うコマンドである。よって、エリア２の内、全ピクセルの５０％はＲＧＢ（２５５、２５５、２５５）であり、５０％はＲＧＢ＝（２５５、２５５、０）となる。また、エリア３の内、全ピクセルの５０％はＲＧＢ＝（２５５、０、０）であり、５０％はＲＧＢ＝（２５５、２５５、０）となる。
【００４１】
以上のようにアルファブレンド指定をアルファ値に応じた面積情報（タイルパターンデータ）に置換し、描画コマンドを面積情報に応じた別の描画コマンドに変換することにより、描画手段がアルファブレンド描画をサポートしていない場合でも、アルファブレンド描画を行うことができる。
【００４２】
（第２の実施形態）
以下第２の実施形態を説明する。図６−ａは、入力データ２１８の描画コマンドを示す。図６−ｂは、中間バッファ２０９に格納される中間データを示す。図６−ｃは、レンダラ２１０で生成される描画ビットマップイメージを示す。図６−ｄは中間バッファ２０９に格納されるディザデータを示す。
【００４３】
まずホストコンピュータ２０１より文字コマンド、図形コマンド、イメージコマンドといった入力コマンドが入力される（図６−ａ）。ここで、図形コマンド１として図形（ボックス）がＲＧＢ＝（２５５、０、０）で、描画論理が上書きＲＯＰ＝Ｓとして入力され、描画コマンド２としてイメージがイメージの印字位置（Ｘ＋ａ、Ｙ＋ｂ）、幅高さ（ｗ′、ｈ′）、イメージの変形マトリクスｍａｔｒｉｘ、イメージデータとして各ピクセル２４ビット／ピクセルで全ピクセルＲＧＢ＝（２５５、２５５、０）で、描画論理として、アルファマスクの印字位置（ｘ、ｙ）、幅高さ（ｗ′、ｈ′）、マスクの変形マトリクスｍａｔｒｉｘ、アルファマスクデータとして全ピクセル８ビット／ピクセルの全ピクセル＝（１２８）で入力される。
【００４４】
本来期待されるアルファブレンドは以下の通りである。
ＲｅｓｕｌｔＲ＝（α／２５５）×ＳｒｃＲ＋（１−（α／２５５））×ＤｅｓｔＲ
ＲｅｓｕｌｔＧ＝（α／２５５）×ＳｒｃＧ＋（１−（α／２５５））×ＤｅｓｔＧ
ＲｅｓｕｌｔＢ＝（α／２５５）×ＳｒｃＢ＋（１−（α／２５５））×ＤｅｓｔＢ
【００４５】
ここでＲｅｓｕｌｔＲ（Ｇ、Ｂ）は描画結果後の第１のビットマップイメージの値、ＳｒｃＲ（Ｇ、Ｂ）は入力イメージの印字位置に対応するピクセル値、ＤｅｓｔＲ（Ｇ、Ｂ）は描画結果前の第１のビットマップイメージの値、αは入力マスクの印字位置に対応するピクセル値である。
【００４６】
次に、入力データは中間データに変換され、中間バッファ２０９に格納される（図５−ｂ）。ここで、ｏｂｊｅｃｔ１として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ、Ｙ）、幅高さ：（ｗ、ｈ）、色：ＲＧＢ＝（２５５、０、０）、描画論理：ＲＯＰ＝Ｓ（上書き）が作成され、ｏｂｊｅｃｔ２として属性：ｔｙｐｅ＝イメージ、印字位置：（Ｘ＋ａ、Ｙ＋ｂ）、幅高さ：（ｗ′、ｈ′）、マトリクス：ｍａｔｒｉｘ、イメージデータ：全ピクセルＲＧＢ＝（２５５、２５５、０）、ｏｂｊｅｃｔ２に使用するパターンとして、印字位置：（Ｘ；ａ、Ｙ＋ｂ）、幅高さ：（ｗ′、ｈ′）、マトリクス：ｍａｔｒｉｘ、パターンデータ：全ピクセル（多値ビットマップイメージ）＝１２８、パターンを二値化するためのディザデータとして、幅高さ（ｗ′、ｈ′）、ディザデータイメージと、パターンとディスティネーションの描画論理としてＲＯＰ＝ＤＳＰＤｘａｘが作成される。
【００４７】
ｏｂｊｅｃｔ２で適用するディザデータを図６−ｄに示す。アルファマスクデータ（多値ビットマップイメージ）を二値化する際にアルファマスク（値）の値に比例して、白ピクセル、黒ピクセルの比になるように配置された、幅＝８ピクセル、高さ＝８ピクセルの二値化用閾値テーブルである。なお閾値テーブルの値は１６進数で記述している。ディザテーブルは以下の式のように使用される。
【００４８】
ｐａｔｔｅｒｎ＝ＡｌｐｈａＭａｓｋ＞ＤｉｔｈｅｒＤａｔａ：ｐａｔｔｅｒｎ＝１（白），ｐａｔｔｅｒｎ＝０（黒）（アルファ値に応じたオン、オフ）
【００４９】
ここで、ｐａｔｔｅｒｎ：アルファマスクデータとディザデータから求まる二値ビットマップパターン、ＡｌｐｈａＭａｓｋ：第１のビットマップのプクセル位置に対応したアルファマスクデータ値（全ピクセル１２８）、ＤｉｔｈｅｒＤａｔａ：第１のビットマップのピクセル位置に対応したディザテーブル値（図６−ｄ）である。即ち、もし、アルファマスクデータ値が全ピクセル１２８ならば、白ピクセル、黒ピクセルの比（アルファ値に応じたオンオフ比）は５０：５０になる。もし、アルファマスクデータ値が全ピクセル６４ならば、白ピクセル、黒ピクセルの比（アルファ値に応じたオンオフ比）は２５：７５になる。
【００５０】
次に、中間データをレンダラ２１０により描画すると、描画ビットマップイメージが生成される（図６−ｃ）。ここで、第１のビットマップイメージは各色８ビット／ピクセルのＲＧＢのビットマップイメージで構成されており、エリア１はＲＧＢ＝（２５５、０、０）が描画されており、何も描画されていないところはＲＧＢ＝（２５５、２５５、２５５）である。
【００５１】
ＲＯＰ＝ＤＳＰＤｘａｘとは、エリア３においては、印字結果のうち、パターンの白ピクセルに相当するピクセルは、ソース（ＲＧＢ＝（２５５、０、０））を反映し、パターンの黒ピクセルに相当するピクセルは、ディスティネーション（ＲＧＢ＝（２５５、２５５、０））を反映する処理である。よって、エリア２の内、全ピクセルの５０％はＲＧＢ＝（２５５、２５５、２５５）であり、５０％はＲＧＢ＝（２５５、２５５、０）となる。また、エリア３の内、全ピクセルの５０％はＲＧＢ＝（２５５、０、０）であり、５０％はＲＧＢ＝（２５５、２５５、０）となる。
【００５２】
以上のようにアルファブレンド指定をアルファ値に応じた面積情報に置換し、描画コマンドを面積情報に応じた別の描画コマンドに変換することにより、描画手段がアルファブレンド描画をサポートしていない場合でも、アルファブレンド描画を行うことができる。
【００５３】
（第３の実施形態）
実施形態１、２では、アルファ値に比例して、パターンの白ピクセルと黒ピクセルの割合を算出しているが、アルファ値とパターンの黒ピクセルの割合の相関関係は、図７のように比例式でなくても良い。又、この相関関係もホストコンピュータ２０１から指定することによりホストコンピュータ２０１から、所望のαフレンドを実現できる。
【００５４】
（第４の実施形態）
実施形態１において、文字／図形／イメージといったオブジェクトの種別毎に、アルファ値とパターンの黒ピクセルの割合の相関関係を変更しても良い。この場合、入力オブジェクトの種類をＣＰＵ２０８により認識し、文字、図形のオブジェクトについては黒ピクセルの割合を増やす様にＲＯＭ２１９のプログラムのもとＣＰＵ２０８が処理をすれば、文字、図形の輪郭を保存し、視覚的に文字、図形を識別しやすくなる。
【００５５】
（第５の実施形態）
実施形態１において、パターンのサイズは任意でよい。また、白ピクセルと黒ピクセルの取りうるピクセル配置は任意でよい。
【００５６】
（第６の実施形態）
実施形態２において、パターンのサイズ、白ピクセルと黒ピクセルの取りうるピクセル配置を、色変換部２１５における、ＲＧＢ各色８ビット／ピクセルのビットマップイメージをＹＭＣＫ各色４ビット／ピクセルのビットマップイメージに変換する際の中間調変換によるスクリーンサイズ、スクリーン角と干渉しないように調整する。具体的には、ＲＯＭ２１９のプログラムのもとＣＰＵ２０８が色変換部２１５における中間調変換の中間調スクリーンの角度が９０度の時は、ディザデータのスクリーン角度を０度にするなど異なる角度にすることで干渉を防止することが可能となる。
【００５７】
（第７の実施形態）
以下に、本実施形態の処理の流れの一例を説明する。図８−ａは、入力データ２１８の描画コマンドを示す。図８−ｂは、中間バッファ２０９に格納される中間データを示す。図８−ｃは、レンダラ２１０で生成される描画ビットマップイメージを示す。図８−ｄは、中間バッファ２０９に格納されるクリップオブジェクトを示す。
【００５８】
まずホストコンピュータ２０１より文字コマンド、図形コマンド、イメージコマンドといった入力コマンドが入力される（図８−ａ）。ここで、図形コマンド１としてボックスがＲＧＢ＝（２５５、０、０）で、描画論理が上書きＲＯＰ＝Ｓとして入力され、図形コマンド２としてボックスがＲＧＢ＝（２５５、２５５、０）で、描画論理がアルファブレンド：α＝１２８として入力されている。
【００５９】
本来期待されるアルファブレンドは以下の通りである。
ＲｅｓｕｌｔＲ＝（α／２５５）×ＳｒｃＲ＋（１−（α／２５５））×ＤｅｓｔＲ
ＲｅｓｕｌｔＧ＝（α／２５５）×ＳｒｃＧ＋（１−（α／２５５））×ＤｅｓｔＧ
ＲｅｓｕｌｔＢ＝（α／２５５）×ＳｒｃＢ＋（１−（α／２５５））×ＤｅｓｔＢ
【００６０】
ここでＲｅｓｕｌｔＲは描画結果後の第１のビットマップイメージの値であり、ＳｒｃＲは入力オブジェクトの色の値であり、ＤｅｓｔＲは描画結果前の第１のビットマップイメージの値であり、αは入力オブジェクトのアルファブレンド値である。
【００６１】
次に、入力データは中間データに変換され、中間バッファ２０９に格納される（図８−ｂ）。ここで、ｏｂｊｅｃｔ１として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ、Ｙ）、幅高さ：（ｗ、ｈ）、色：ＲＧＢ＝（２５５、０、０）、描画論理：ＲＯＰ＝Ｓ（上書き）が作成され、ｏｂｊｅｃｔ２として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ＋ａ、Ｙ＋ｂ）、幅高さ：（ｗ′、ｈ′）、色：ＲＧＢ＝（２５５、２５５、０）、クリップオブジェクト、描画論理：ＲＯＰ＝Ｓが作成される。
【００６２】
ｏｂｊｅｃｔ２で適用するクリップオブジェクトデータを図８−ｄに示す。αブレンド値＝１２８なので、オブジェクト２の矩形領域の５０％が有効ピクセルになるように配置された、複数の矩形からなる集合である。もしαブレンド値が６４ならば、オブジェクト２の矩形領域の内２５％が有効ピクセルになるように複数の矩形からなる集合を形成する。
【００６３】
次に、中間データをレンダラ２１０により描画すると、描画ビットマップイメージが生成される（図８−ｃ）。ここで、第１のビットマップイメージは各色８ビット／ピクセルのＲＧＢのビットマップイメージで構成されており、エリア１はＲＧＢ＝（２５５、０、０）が描画されており、何も描画されていないところはＲＧＢ＝（２５５、２５５、２５５）である。クリップとは、クリップオブジェクトに囲まれたところのみを描画する。よって、エリア２の内、全ピクセルの５０％はＲＧＢ（２５５、２５５、２５５）であり、５０％はＲＧＢ（２５５、２５５、０）となる。また、エリア３の内、全ピクセルの５０％はＲＧＢ＝（２５５、０、０）であり、５０％はＲＧＢ＝（２５５、２５５、０）となる。
【００６４】
以上のようにアルファブレンド指定をアルファ値に応じた面積情報に置換し、描画コマンドを面積情報に応じた別の描画コマンドに変換することにより、描画手段がアルファブレンド描画をサポートしていない場合でも、アルファブレンド描画を行うことができる。
【００６５】
（第８の実施形態）
以下に、本実施形態の処理の流れの一例を説明する。
【００６６】
図９−ａは、入力データ２１８の描画コマンドを示す。図９−ｂは、中間バッファ２０９に格納される中間データを示す。図９−ｃは、レンダラ２１０で生成される描画ビットマップイメージを示す。図９−ｄは、中間バッファ２０９に格納されるオブジェクト２以降の矩形を示す。
【００６７】
まずホストコンピュータ２０１から文字コマンド、図形コマンド、イメージコマンドといった入力コマンドが入力される（図９−ａ）。ここで、図形コマンド１としてボックスがＲＧＢ＝（２５５、０、０）で、描画論理が上書きＲＯＰ＝Ｓとして入力され、図形コマンド２としてボックスがＲＧＢ＝（２５５、２５５、０）で、描画論理がアルファブレンド：α＝１２８として入力されている。
【００６８】
本来期待されるアルファブレンドは以下の通りである。
ＲｅｓｕｌｔＲ＝（α／２５５）×ＳｒｃＲ＋（１−（α／２５５））×ＤｅｓｔＲ
ＲｅｓｕｌｔＧ＝（α／２５５）×ＳｒｃＧ＋（１−（α／２５５））×ＤｅｓｔＧ
ＲｅｓｕｌｔＢ＝（α／２５５）×ＳｒｃＢ＋（１−（α／２５５））×ＤｅｓｔＢ
【００６９】
ここでＲｅｓｕｌｔＲ（Ｇ、Ｂ）は描画結果後の第１のビットマップイメージの値、ＳｒｃＲ（Ｇ、Ｂ）は入力オブジェクトの色の値、ＤｅｓｔＲ（Ｇ、Ｂ）は描画結果前の第１のビットマップイメージの値、αは入力オブジェクトのアルファブレンド値である。
【００７０】
次に、入力データは中間データに変換され、中間バッファ２０９に格納される（図９−ｂ）。ここで、ｏｂｊｅｃｔ１として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ、Ｙ）、幅高さ：（ｗ、ｈ）、色：ＲＧＢ＝（２５５、０、０）、描画論理：ＲＯＰ＝Ｓ（上書き）が作成され、ｏｂｊｅｃｔ２として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ＋ａ、Ｙ＋ｂ）、幅高さ：（ｗ′、ｈ′）、色：ＲＧＢ＝（２５５、２５５、０）、描画論理：ＲＯＰ＝Ｓが作成され、ｏｂｊｅｃｔ３として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ＋ａ、Ｙ＋ｃ）、幅高さ：（ｗ′、ｈ′）、色：ＲＧＢ＝（２５５、２５５、０）、描画論理：ＲＯＰ＝Ｓが作成され、ｏｂｊｅｃｔ４として属性：ｔｙｐｅ＝図形（ボックス）、印字位置：（Ｘ＋ａ、Ｙ＋ｄ）、幅高さ：（ｗ′、ｈ′）、色：ＲＧＢ＝（２５５、２５５、０）、描画論理：ＲＯＰ＝Ｓが作成される。
【００７１】
ｏｂｊｅｃｔ２以降で適用する矩形オブジェクトデータを図９−ｄに示す。αブレンド値＝１２８なので、オブジェクト２以降は、矩形領域の５０％が有効ピクセルになるように配置された、複数の矩形からなる集合である。もしαブレンド値が６４ならば、オブジェクト２以降は、矩形領域の内２５％が有効ピクセルになるように複数の矩形からなる集合を形成する。
【００７２】
次に、中間データをレンダラ２１０により描画すると、描画ビットマップイメージが生成される（図９−ｃ）。ここで、第１のビットマップイメージは各色８ビット／ピクセルのＲＧＢのビットマップイメージで構成されており、エリア１はＲＧＢ＝（２５５、０、０）が描画されており、何も描画されていないところはＲＧＢ＝（２５５、２５５、２５５）である。
【００７３】
図９−ｄのように矩形が配置されているので、エリア２の内、全ピクセルの５０％はＲＧＢ（２５５、２５５、２５５）であり、５０％はＲＧＢ（２５５、２５５、０）となる。また、エリア３の内、全ピクセルの５０％はＲＧＢ＝（２５５、０、０）であり、５０％はＲＧＢ＝（２５５、２５５、０）となる。
【００７４】
以上のようにアルファブレンド指定をアルファ値に応じた面積情報に置換し、描画コマンドを面積情報に応じた別の描画コマンドに変換することにより、描画手段がアルファブレンド描画をサポートしていない場合でも、アルファブレンド描画を行うことができる。
【００７５】
（本発明の他の実施形態）
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれるし、前述のプログラムが記憶された記憶媒体も上述の実施形態に含まれる。
【００７６】
かかる記憶媒体としてはとたえばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。
【００７７】
また前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限られず、他のソフトウエア、拡張ボードの機能と共同して、ＯＳ上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【００７８】
【発明の効果】
以上説明したように、第１の発明によれば、入力された描画コマンドを第１のビットマップイメージに描画する描画手段と、前記描画コマンドとして入力オブジェクトを第１のビットマップに描画する際のアルファブレンド指定（透明度指定）を行う描画方法指定手段とを有する印刷制御装置および描画制御装置において、前記アルファブレンド指定をアルファ値に応じた面積情報に置換するアルファ値置換手段と、描画コマンドを面積情報に応じた処理を行うための描画コマンドに変換する描画コマンド変換手段とを有すので、描画手段がアルファブレンド描画をサポートしていない場合でも、アルファブレンド描画を行うことができる。また、第１のビットマップイメージのビット深さがアルファブレンド値のビット深さよりも少ない場合でも、面積情報を用いてアルファブレンド描画を行うことができる。
【図面の簡単な説明】
【図１】従来例を示す図である。
【図２】実施例のＬＢＰの内部構造を示す断面図である。
【図３】図２に示した本体の制御構成を説明するブロック図である。
【図４】入力データ２１８の描画コマンド、中間バッファ２０９に格納される中間データ、レンダラ２１０で生成される描画ビットマップイメージを示す図である。
【図５】入力データ２１８の描画コマンド、中間バッファ２０９に格納される中間データ、レンダラ２１０で生成される描画ビットマップイメージ、中間バッファ２０９に格納されるパターンを示す図である。
【図６】入力データ２１８の描画コマンド、中間バッファ２０９に格納される中間データ、レンダラ２１０で生成される描画ビットマップイメージ、中間バッファ２０９に格納されるディザデータを示す図である。
【図７】アルファ値とパターンの黒ピクセルの割合の関係を示す図である。
【図８】第７の実施例を説明するための図である。
【図９】第８の実施例を説明するための図である。
【図１】
0003728183.tif 000002
【図２】
0003728183.tif 000003
【図３】
0003728183.tif 000004
【図４】
0003728183.tif 000005
【図５】
0003728183.tif 000006
【図６】
0003728183.tif 000007
【図７】
0003728183.tif 000008
【図８】
0003728183.tif 000009
【図９】
0003728183.tif 000010