【手続補正書】
【提出日】平成16年11月10日(2004.11.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  画像出力装置及び該装置の画像出力方法
【特許請求の範囲】
【請求項１】  画像データ及びマスクパターンを入力するデータ入力手段と、
前記入力されたマスクパターンを、ワード単位の描画に適しているワード境界マスクパターンに変換し、ワード境界マスクパターンメモリに格納するマスクパターン変換手段と、
図形の範囲を指定する命令と、範囲内を塗りつぶす色を指定する命令と、マスクパターンをパラメータにより一意に指定する命令とからなる図形描画命令を、描画属性命令の指定に従ってページメモリに書き込む図形描画命令書き込み手段と、
前記指定された図形の範囲内の前記指定された色を表わすパターンと、前記マスクパターンをパラメータにより一意に指定する命令により指定されたマスクパターンと、描画演算処理前の前記ページメモリにあるパターンと、の３つのパターンを用いて演算を行い、該演算結果を前記ページメモリに書き込む描画演算手段と、
前記ページメモリに書き込まれた前記ページメモリを出力装置に渡すデータ出力手段と、
を具備し、
前記描画演算手段が用いる前記指定されたマスクパターンは、前記ワード境界マスクパターンメモリに格納された前記ワード境界マスクパターンであることを特徴とする画像出力装置。
【請求項２】  前記マスクパターンを、前記マスクパターンの幅方向（主走査方向）の繰り返しをワード単位で描画演算する際に、前記マスクパターンに対するビットシフト演算が不要となるように、あらかじめワード単位での繰り返しとなるようなパターンデータに変換する手段をさらに有することを特徴とする請求項１記載の画像出力装置。
【請求項３】  前記マスクパターンの高さ方向のパターンすべてに請求項２記載の変換を行い、得られた結果を１つの連続したメモリ上に配置し、作成する手段をさらに有することを特徴とする請求項２記載の画像出力装置。
【請求項４】  前記描画範囲内の色を表わすソースパターンと、前記描画範囲に対応する前記ページメモリに存在するデスティネーションパターンと、前記ワード境界マスクパターンメモリ内にある前記マスクパターンの３つのパターンに対して、
ＡＮＤ，ＯＲ，ＥＯＲ，ＮＯＴの論理演算を組み合わせた演算を行う手段と、
前記演算結果を前記デスティネーションパターンと同位置の前記ページメモリに格納する手段とをさらに有することを特徴とする請求項１記載の画像出力装置。
【請求項５】  前記３つのパターンに対する論理演算をＣＰＵのワード長のメモリ単位で行う手段をさらに有することを特徴とする請求項４記載の画像出力装置。
【請求項６】  描画位置座標から、その座標を含むワード長デスティネーションパターンのメモリ位置を計算する手段と、
前記描画位置座標に対応する座標を含むワード長ソースパターンを取得する手段と、
前記描画位置座標に対応する座標を含むワード境界マスクパターンのメモリ位置を計算する手段とをさらに有することを特徴とする請求項５記載の画像出力装置。
【請求項７】  前記描画演算手段は、前記描画範囲内は演算結果となり、前記描画範囲外は前記デスティネーションパターンのままとなることを特徴とする請求項５記載の画像出力装置。
【請求項８】  前記マスクパターンのビットＯＮの部分を前記ソースパターンに、ビットＯＦＦの部分を前記デスティネーションパターンになる演算手段をさらに有することを特徴とする請求項４記載の画像出力装置。
【請求項９】  前記マスクパターンのビットＯＮの部分を第１のソースパターンにし、ビットＯＦＦの部分を第２のソースパターンにする演算手段をさらに有することを特徴とする請求項４記載の画像出力装置。
【請求項１０】  マスクパターンＩＤを入力する手段と、
前記マスクパターンデータと前記マスクパターンＩＤとの組み合わせで前記ワード境界マスクパターンメモリに格納する手段と、
前記組み合わせを複数格納する手段と、
前記マスクパターンＩＤから前記ワード境界マスクパターンメモリを検索する手段とをさらに有することを特徴とする請求項１記載の画像出力装置。
【請求項１１】  前記マスクパターンＩＤを入力する手段と、
前記マスクパターンデータを前記マスクパターンメモリに格納する手段と、
前記マスクパターンデータと前記マスクパターンＩＤとの組み合わせで前記ワード境界マスクパターンメモリに格納する手段と、
前記マスクパターンＩＤから前記ワード境界マスクパターンメモリを検索する手段と、
描画演算にて前記マスクパターンＩＤを検索した結果、前記ワード境界マスクパターンメモリに存在しなかった場合、前記マスクパターンＩＤに対応するマスクパターンを前記マスクパターンメモリから検索する手段と、
検索により得られた前記マスクパターンを前記ワード境界マスクパターンに変換する手段と、
変換された前記ワード境界マスクパターンを前記ワード境界マスクパターンメモリの未使用メモリ領域に格納する手段と、
前記未使用メモリ領域が不足した場合、既存のワード境界マスクパターンを破棄する手段とをさらに有することを特徴とする請求項１記載の画像出力装置。
【請求項１２】  前記ワード境界マスクパターンメモリの未使用メモリ領域が不足した場合の既存メモリの破棄には、ＬＲＵ（Least Recently Used ）を用いる手段をさらに有することを特徴とする請求項１１記載の画像出力装置。
【請求項１３】  前記マスクパターンＩＤの検索において、ＩＤの頻度情報テーブルを管理する手段と、
前記ワード境界マスクパターンメモリの未使用メモリ領域が不足した場合の既存メモリの破棄には、前記頻度情報テーブルを用いて最も頻度の低いメモリを破棄する手段とをさらに有することを特徴とする請求項１１記載の画像出力装置。
【請求項１４】  前記ソースパターンが色濃度の擬似階調を表現するディザのパターンであることを特徴とする請求項１、１０または１１のいずれか１項に記載の画像出力装置。
【請求項１５】  前記マスクパターンをディザパターンに、前記マスクパターンＩＤをディザパターンそれぞれに付加されるＩＤ（色濃度など）をデータとして入力する手段と、
前記検索手段にディザパターンＩＤを入力とし、ワード境界ソースパターンを出力とし、前記演算処理手段にてソースパターンを使用する際にワード境界ソースパターンを使用する手段とをさらに有することを特徴とする請求項１１または１４記載の画像出力装置。
【請求項１６】  前記出力装置がレーザプリンタであることを特徴とする請求項１、１０または１１のいずれか１項に記載の画像出力装置。
【請求項１７】  前記出力装置がインクジェットプリンタであることを特徴とする請求項１、１０または１１のいずれか１項に記載の画像出力装置。
【請求項１８】  前記各種演算処理をグラフィック アクセラレータ等の専用ＡＳＩＣで行われることを特徴とする請求項１、１０または１１のいずれか１項に記載の画像出力装置。
【請求項１９】  データ入力手段が、画像データ及びマスクパターンを入力するデータ入力工程と、
前記データ入力工程により入力されたマスクパターンを、マスクパターン変換手段が、ワード単位の描画に適しているワード境界マスクパターンに変換し、ワード境界マスクパターンメモリに格納するマスクパターン変換工程と、
図形描画命令書き込み手段が、図形の範囲を指定する命令と、範囲内を塗りつぶす色を指定する命令と、マスクパターンをパラメータにより一意に指定する命令とからなる図形描画命令を、描画属性命令の指定に従ってページメモリに書き込む図形描画命令書き込み工程と、
前記指定された図形の範囲内の前記指定された色を表わすパターンと、前記マスクパターンをパラメータにより一意に指定する命令により指定されたマスクパターンと、描画演算処理前の前記ページメモリにあるパターンと、の３つのパターンを用いて演算を行い、該演算結果を前記ページメモリに書き込む描画演算工程と、
前記描画演算工程により前記ページメモリに書き込まれた前記ページメモリを、データ出力手段により出力装置に渡すデータ出力工程と、を有し、
前記描画演算工程において用いられる前記指定されたマスクパターンは、前記ワード境界マスクパターンメモリに格納された前記ワード境界マスクパターンであることを特徴とする画像出力装置の画像出力方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像出力装置及び該装置の画像出力方法に関し、特にマスクパターンを用いた描画処理のための画像出力装置及び該装置の画像出力方法に関する。
【０００２】
【従来の技術】
従来、画像出力装置としては、例えば、特開平８−５２９０５号公報に記載された印刷装置が知られていた。この装置は、描画処理部の負担を軽減し、かつ描画部の起動回数を減らすことにより、処理速度の向上を図っている。そして、この装置では、パターン変換と管理において、シフトした結果がキャッシュされる。
【０００３】
また、特開平９−２８４５３２号公報には、描画データをラスタ順に処理する代わりに、適用されるパターンを各ラスタ毎にまとめて処理することにより、記憶手段からのパターン転送回数を削減して、描画処理に要する時間を短縮する画像形成装置および画像形成方法が記載されている。そして、この装置および方法では、パターンを用いた描画処理や転送単位が１バイトまたはそれ以外とされている（同公報段落番号００１９など参照）。
【０００４】
さらに、特開平１０−０３１７３５号公報には、グレー・スケールの情報を基にビットマップデータへの展開を各オブジェクトの最初の演算時に一度だけ行い、ビットマップデータに展開したグレー・スケールデータを格納しておき、そのオブジェクトの描画演算が終了するまで、グレー・スケールデータを繰り返して使用して描画演算を行うことにより、グレー・スケールデータの展開を短縮する画像処理装置および画像処理方法が記載されている。そして、この装置および方法では、マスクパターンＭ、背景パターンＰ、グレー・スケールＧの３つをキーとするキャッシュ方式が採用されている。なお、これらのマスクパターンＭ、背景パターンＰ、グレー・スケールＧは、各々本発明の図５の中のＭ、Ｄ、Ｓに相当する。
【０００５】
【発明が解決しようとする課題】
しかし、特開平８−５２９０５号公報記載の印刷装置によると、キャッシュ可能な最小単位が１ドット／１ｂｉｔ単位となっているので、キャッシュの検索、初期化に時間がかかってしまうという問題があった。
【０００６】
また、特開平９−２８４５３２号公報記載の画像形成装置および画像形成方法によると、ワード単位の繰り返しになるようなパターンが用いられない。図２に記載されたパターンをそのまま連続して用いると、第２バイトと第１バイトの境目の模様が不連続となる。よって、パターンのシフト演算が演算単位で毎回行われると思われ、その分、効率が悪くなるという問題があった（同公報段落番号００２１など参照）。
【０００７】
特開平１０−０３１７３５号公報記載の画像処理装置および画像処理方法によれば、たしかに、単純なページであればキャッシュ効率が上がるケースがある。しかし、図形の上書きのように背景パターンが存在する場合には、キャッシュ効率が上がるとは限らないという問題がある。
【０００８】
そこで、本発明は、任意の矩形状のマスクパターンを用いた描画処理を行う際に、ワード単位で高速にメモリにアクセスすることを可能とすることにより、ページメモリへの描画処理の高速化ができるような画像出力装置及び該装置の画像出力方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
請求項１記載の発明によれば、画像データ及びマスクパターンを入力するデータ入力手段と、前記入力されたマスクパターンを、ワード単位の描画に適しているワード境界マスクパターンに変換し、ワード境界マスクパターンメモリに格納するマスクパターン変換手段と、図形の範囲を指定する命令と、範囲内を塗りつぶす色を指定する命令と、マスクパターンをパラメータにより一意に指定する命令とからなる図形描画命令を、描画属性命令の指定に従ってページメモリに書き込む図形描画命令書き込み手段と、前記指定された図形の範囲内の前記指定された色を表わすパターンと、前記マスクパターンをパラメータにより一意に指定する命令により指定されたマスクパターンと、描画演算処理前の前記ページメモリにあるパターンと、の３つのパターンを用いて演算を行い、該演算結果を前記ページメモリに書き込む描画演算手段と、前記ページメモリに書き込まれた前記ページメモリを出力装置に渡すデータ出力手段と、を具備し、前記描画演算手段が用いる前記指定されたマスクパターンは、前記ワード境界マスクパターンメモリに格納された前記ワード境界マスクパターンである画像出力装置としたことを特徴とするものである。
【００１０】
請求項２記載の発明によれば、画像出力装置は、マスクパターンを、マスクパターンの幅方向（主走査方向）の繰り返しをワード単位で描画演算する際に、マスクパターンに対するビットシフト演算が不要となるように、あらかじめワード単位での繰り返しとなるようなパターンデータに変換する手段をさらに有することを特徴とするものである。
【００１１】
請求項３記載の発明によれば、画像出力装置は、マスクパターンの高さ方向のパターンすべてに請求項２記載の変換を行い、得られた結果を１つの連続したメモリ上に配置し、作成する手段をさらに有することを特徴とするものである。
【００１２】
請求項４記載の発明によれば、画像出力装置は、描画範囲内の色を表わすソースパターンと、描画範囲に対応するページメモリに存在するデスティネーションパターンと、ワード境界マスクパターンメモリ内にあるマスクパターンの３つのパターンに対して、ＡＮＤ，ＯＲ，ＥＯＲ，ＮＯＴの論理演算を組み合わせた演算を行う手段と、演算結果をデスティネーションパターンと同位置のページメモリに格納する手段とをさらに有することを特徴とするものである。
【００１３】
請求項５記載の発明によれば、画像出力装置は、前記３つのパターンに対する論理演算をＣＰＵのワード長のメモリ単位で行う手段をさらに有することを特徴とするものである。
【００１４】
請求項６記載の発明によれば、画像出力装置は、描画位置座標から、その座標を含むワード長デスティネーションパターンのメモリ位置を計算する手段と、描画位置座標に対応する座標を含むワード長ソースパターンを取得する手段と、描画位置座標に対応する座標を含むワード境界マスクパターンのメモリ位置を計算する手段とをさらに有することを特徴とするものである。
【００１５】
請求項７記載の発明によれば、画像出力装置の描画演算手段は、描画範囲内は演算結果となり、描画範囲外はデスティネーションパターンのままとなることを特徴とするものである。
【００１６】
請求項８記載の発明によれば、画像出力装置は、マスクパターンのビットＯＮの部分をソースパターンに、ビットＯＦＦの部分をデスティネーションパターンになる演算手段をさらに有することを特徴とするものである。
【００１７】
請求項９記載の発明によれば、画像出力装置は、マスクパターンのビットＯＮの部分を第１のソースパターンに、ビットＯＦＦの部分を第２のソースパターンになる演算手段をさらに有することを特徴とするものである。
【００１８】
請求項１０記載の発明によれば、画像出力装置は、マスクパターンＩＤを入力する手段と、マスクパターンデータとマスクパターンＩＤとの組み合わせでワード境界マスクパターンメモリに格納する手段と、組み合わせを複数格納する手段と、マスクパターンＩＤから前記ワード境界マスクパターンメモリを検索する手段とをさらに有することを特徴とするものである。
【００１９】
請求項１１記載の発明によれば、画像出力装置は、マスクパターンＩＤを入力する手段と、マスクパターンデータをマスクパターンメモリに格納する手段と、マスクパターンデータとマスクパターンＩＤとの組み合わせでワード境界マスクパターンメモリに格納する手段と、マスクパターンＩＤからワード境界マスクパターンメモリを検索する手段と、描画演算にてマスクパターンＩＤを検索した結果、ワード境界マスクパターンメモリに存在しなかった場合、マスクパターンＩＤに対応するマスクパターンをマスクパターンメモリから検索する手段と、検索により得られたマスクパターンをワード境界マスクパターンに変換する手段と、変換されたワード境界マスクパターンをワード境界マスクパターンメモリの未使用メモリ領域に格納する手段と、未使用メモリ領域が不足した場合、既存のワード境界マスクパターンを破棄する手段とをさらに有することを特徴とするものである。
【００２０】
請求項１２記載の発明によれば、画像出力装置は、ワード境界マスクパターンメモリの未使用メモリ領域が不足した場合の既存メモリの破棄には、ＬＲＵ（Least Recently Used ）を用いる手段をさらに有することを特徴とするものである。
【００２１】
請求項１３記載の発明によれば、画像出力装置は、マスクパターンＩＤの検索において、ＩＤの頻度情報テーブルを管理する手段と、ワード境界マスクパターンメモリの未使用メモリ領域が不足した場合の既存メモリの破棄には、頻度情報テーブルを用いて最も頻度の低いメモリを破棄する手段とをさらに有することを特徴とするものである。
【００２２】
請求項１４記載の発明によれば、画像出力装置は、ソースパターンが色濃度の擬似階調を表現するディザのパターンであることを特徴とするものである。
【００２３】
請求項１５記載の発明によれば、画像出力装置は、マスクパターンをディザパターンに、マスクパターンＩＤをディザパターンそれぞれに付加されるＩＤ（色濃度など）をデータとして入力する手段と、検索部にディザパターンＩＤを入力とし、ワード境界ソースパターンを出力とし、演算処理部にてソースパターンを使用する際にワード境界ソースパターンを使用する手段とをさらに有することを特徴とするものである。
【００２４】
請求項１６記載の発明によれば、画像出力装置は、出力装置がレーザプリンタであることを特徴とするものである。
【００２５】
請求項１７記載の発明によれば、画像出力装置は、出力装置がインクジェットプリンタであることを特徴とするものである。
【００２６】
請求項１８記載の発明によれば、画像出力装置は、各種演算処理をグラフィック アクセラレータ等の専用ＡＳＩＣで行われることを特徴とするものである。
【００２７】
請求項１９記載の発明によれば、データ入力手段が、画像データ及びマスクパターンを入力するデータ入力工程と、前記データ入力工程により入力されたマスクパターンを、マスクパターン変換手段が、ワード単位の描画に適しているワード境界マスクパターンに変換し、ワード境界マスクパターンメモリに格納するマスクパターン変換工程と、図形描画命令書き込み手段が、図形の範囲を指定する命令と、範囲内を塗りつぶす色を指定する命令と、マスクパターンをパラメータにより一意に指定する命令とからなる図形描画命令を、描画属性命令の指定に従ってページメモリに書き込む図形描画命令書き込み工程と、前記指定された図形の範囲内の前記指定された色を表わすパターンと、前記マスクパターンをパラメータにより一意に指定する命令により指定されたマスクパターンと、描画演算処理前の前記ページメモリにあるパターンと、の３つのパターンを用いて演算を行い、該演算結果を前記ページメモリに書き込む描画演算工程と、前記描画演算工程により前記ページメモリに書き込まれた前記ページメモリを、データ出力手段により出力装置に渡すデータ出力工程と、を有し、前記描画演算工程において用いられる前記指定されたマスクパターンは、前記ワード境界マスクパターンメモリに格納された前記ワード境界マスクパターンである画像出力装置の画像出力方法としたことを特徴とするものである。
【００２８】
【発明の実施の形態】
添付図面を参照して、本発明による画像出力装置の実施の形態を以下詳細に説明する。
【００２９】
まず、本発明による画像出力装置の一実施形態たる第１実施例について以下説明する。
【００３０】
図１に、第１実施例の構成図が示されている。画像出力装置１は、描画データ入力部２と、描画演算部３と、ページメモリ４と、出力装置５と、マスクパターンデータ入力部１０と、マスクパターン変換部１１と、ワード境界マスクパターンメモリ１２とで構成される。
【００３１】
画像出力装置１の画像データは、描画データ入力部２に入力され、形状や色情報などを含む描画用データに解釈される。そして、描画データ入力部２に入力、解釈された描画範囲とその中を塗りつぶす色情報を指定するパラメータが、ソースパターンとして、描画演算部３に渡される。
【００３２】
他方、この描画に使用されるマスクパターンが、あらかじめマスクパターンデータ入力部１０に入力される。入力されたマスクパターンは、マスクパターン変換部１１によって，ワード単位の描画に適しているワード境界マスクパターンに変換される。ページメモリのような大量のメモリ操作を伴う演算の場合、画素毎ではなく、ＣＰＵのワード単位で演算を行うと、メモリアクセスが最小限となり、高速化が可能となるからである。また、そのように最小単位をＣＰＵのワード単位とすることにより、検索、初期化も簡単になる。
【００３３】
このように変換されたワード境界マスクパターンは、ワード境界マスクパターンメモリ１２に格納される。前述した描画演算部の描画データが、マスクパターンを使用する場合、ワード境界マスクパターンメモリ１２からマスクパターンを得る。また、描画演算部３は、描画位置に対応するページメモリ４から描画対象となるデスティネーションパターンを得る。
【００３４】
こうして、描画演算部３は、前述のようにして渡されたソースパターンと、デスティネーションパターンと、マスクパターンとの３つのパターンを用いて演算を行う。各種演算処理をグラフィックアクセラレーター等の専用ＡＳＩＣで行ってもよい。
【００３５】
描画演算部３により演算されたパターンが、ページメモリ４に格納される。このようにして格納されたパターンは、描画命令終了または出力装置への出力命令により、出力装置５に出力される。出力装置５は、レーザプリンタであってもよく、また、インクジェットプリンタであってもよい。
【００３６】
図２には、本発明による画像出力装置の一実施形態の説明のために用いられるマスクパターンと描画範囲が示されている。描画範囲として、（Ｘ，Ｙ）＝（３，３）- （１１，７）を左上右下とする矩形範囲である描画範囲Ａを用いる（図２(b）参照）。また、マスクパターンとして、幅と高さが６×６の×印に描かれたマスクパターンＭを用いる（図２(a）参照）。さらに、ＣＰＵのワード長を３２ｂｉｔとし、１ｂｉｔを１画素とし、マスクパターンをページメモリ上に敷き詰める際の起点座標を（Ｘ，Ｙ）＝（０，０）とする。以上を前提として、以下、図３、図４を用いて、マスクパターンＭのワード境界マスクパターンメモリ１２への登録について説明する。
【００３７】
前述した通り、ページメモリのような大量のメモリ操作を伴う演算の場合、画素毎ではなく、ＣＰＵのワード単位で演算を行うと、メモリアクセスが最小限となり、高速化が可能となる。そこで、本発明では、入力されたマスクパターンを、マスクパターン変換部１１によって、ワード単位の描画に適しているワード境界マスクパターンへ変換することとしている。
【００３８】
ワード境界マスクパターンは、ワード内のパターンをシフト演算なしにそのまま用い、かつ、単独または複数ワードを循環させて繰り返し用いるものである。よって、ワード境界マスクパターンは、マスクパターン幅とワード内画素数との最小公倍数の幅で構成される。マスクパターン幅がワード内画素数の約数であれば、ワード境界マスクパターンは１ワード分の幅となり、そうでない場合は複数ワード分の幅となる。
【００３９】
図３には、本実施例で用いられるマスクパターンＭの幅である６画素と、１ワード３２画素との最小公倍数である９６画素、つまり３ワード分の配置が示されている。これはマスクパターンの高さ分繰り返される。
【００４０】
図４には、本発明による画像出力装置の一実施形態におけるワード境界マスクパターンの作成処理フローを説明するフローチャートが示されている。
【００４１】
まず、ステップ１において、マスクパターン座標の高さ方向ｙを０に初期化する。また、ステップ２において、マスクパターン座標の幅方向のワード位置を示すｘを０に初期化する。
【００４２】
次に、ステップ３において、ワード境界マスクパターン用メモリＭ［ｘ］に、マスクパターン座標ｙに相当するマスクパターンを、シフト演算を用いながら１ワード分敷き詰める。これは図３の各ワードを用意することに相当する。
【００４３】
さらに、ステップ４において、ステップ３で敷き詰めた際にマスクパターンに余りが出て、Ｍ［ｘ］からはみ出たかどうかを判断する。そして、マスクパターンがはみ出た場合にはステップ５において、はみ出た分を次のＭ［ｘ］にシフトして代入してステップ３へ戻る。はみ出なかった場合はワード単位の繰り返しが終了したのでステップ６へ進む。
【００４４】
ステップ６において、ワードパターンの高さ分が終了したか否かを判断する。終了していなければステップ２へ戻る。終了していればワード境界マスクパターンの作成を完了する。
【００４５】
仮に、ワード境界マスクパターンを使用しないで描画演算を行う場合、マスクパターンは描画位置によって変換されるため、各ワード単位の描画処理毎に、上記処理フローにあるような座標位置計算やビットマップのシフト演算が発生することになる。よって、この場合、処理速度のボトルネックとなる可能性が大きい。
【００４６】
次に、得られたワード境界マスクパターンを用いて、描画演算部３により演算を行う。ここでは、以下の３つのビットマップデータに対する演算を行う。
ソースパターンＳ： 指定された濃度に対するビットマップ デスティネーションパターンＤ：描画対象となるページメモリのビットマップマスクパターンＭ： マスク用ビットマップ
【００４７】
このようなビットマップの演算にはＲＯＰ演算を用いるのが一般的である。ＲＯＰ演算はＳ，Ｄ，Ｍと画像演算（ＯＲ，ＡＮＤ，ＥＯＲ，ＮＯＴ，ＣＯＰＹ）を用いる演算である。また、マスクパターンの描画方法にも２通りあり、透過モード（ビットマップのＯＮ部分に指定された色を、ＯＦＦの部分はなにもしない）と不透過モード（ビットマップＯＮ・ＯＦＦそれぞれに指定された色を塗る）とがある。
【００４８】
これらの演算は、前述したように、画素毎ではなく、ＣＰＵのワード単位で行われるので、描画位置（ｘ，ｙ）を含むワード単位のビットマップデータを用意する。
【００４９】
ソースパターンＳは、描画データ入力部２に入力された濃度値を表現するための擬似階調ビットマップである。この擬似階調ビットマップとしては、例えば、ディザパターンが代表的である。ソースパターンが色濃度の擬似階調を表現するディザパターンであれば、タイル状に敷き詰めるように描画するので、本発明が適用可能である。なお、写真画のような微小領域が異なるパターンで描画される集合であるイメージデータの場合にも本発明は適用可能である。ただし、ここでは描画位置を含むワード単位のソースパターンＳを用意する方法は問わない。
【００５０】
デスティネーションパターンＤは、描画位置ｘを１ワード画素数で割った整数部分がページメモリのｙライン目の先頭からのワード位置となるので、その位置の１ワード分のメモリ内容をＤに読み込む。
【００５１】
マスクパターンＭは、描画位置（ｘ，ｙ）に対応したワード境界マスクパターンメモリを含むワード位置を計算する。まず、描画位置ｙをマスクパターンの高さで割った余りを計算し、マスクパターンのライン位置を決定する。次に、描画位置ｘを１ワード画素数で割り、ページメモリのｙライン目の先頭からのワード位置を求める。さらに、そのワード位置を、マスクパターン１ラインに含まれるワード数で割った余りが、マスクパターンのｙライン目の先頭からのワード位置となるので、その位置の１ワード分のメモリ内容をＭに読み込む。
【００５２】
このようにして得られたＳ，Ｄ，Ｍのビットマップパターンの演算例を、図５を用いて以下に説明する。
【００５３】
本例では、ＲＯＰ演算として最も単純なＣＯＰＹ（上書き）を用い、また、マスクパターンの描画方法として、透過モードを用いて説明する。描画位置は図２の描画範囲Ａの先頭ライン（ｙ＝３）、マスクパターンは図２の６×６のマスクパターンＭを用いる。Ｓには全画素ＯＮ（濃度値１００％）を、Ｄには低濃度（画素ＯＮがまばらにある）のパターンを用いる。演算結果パターンをＲとする。各画素をＳｘ，Ｄｘのようにｘの添え字で表わす。
【００５４】
ＭのＯＮ部分、例えば、Ｍ２およびＭ３（図５の矢印１に相当）とＳがＣＯＰＹ演算され、その結果、Ｒ２およびＲ３がＯＮとなる。また、ＭのＯＦＦ部分、例えば、Ｍ４、Ｍ５、Ｍ６、およびＭ７（図５の矢印２に相当）は透過モードなのでそのままＤが残り、その結果、Ｒ４はＯＮ，Ｒ５、Ｒ６およびＲ７はＯＦＦとなる。この演算を式で表わすと以下のようになる。
Ｒ＝（Ｍ ａｎｄ Ｓ）ｏｒ（（ｎｏｔ Ｍ）ａｎｄ Ｄ）
【００５５】
図２(b) の描画範囲Ａのｙ＝３のラインのｘ範囲は（３，１１）なので、この範囲内の画素は演算結果のＲを、範囲外の画素はそのままとするマスク処理（図５のＭ’）を行い、最終的にページメモリのデスティネーションパターンＤを読み込んだ場所に格納する１ワードのビットマップパターンＤ’を得る。
【００５６】
マスクパターンのビットＯＮの部分をソースパターンに、ビットＯＦＦの部分をデスティネーションパターンにする演算手段を用いてもよい。また、マスクパターンのビットＯＮの部分を第１のソースパターンに、ビットＯＦＦの部分を第２のソースパターンになる演算手段を用いてもよい。
【００５７】
なお、前述した特開平１０−０３１７３５号公報記載の装置および方法では、マスクパターンＭ、背景パターンＰ、グレー・スケールＧの３つをキーとするキャッシュ方式が採用されているが、Ｍは本発明の図５の中のＭに、Ｐは本発明の図５の中のＤに、Ｇは本発明の図５の中のＳにそれぞれ相当する。そして、本発明では特開平１０−０３１７３５号公報記載のＭ、Ｇ、Ｐの演算にあたる部分を、図１の描画演算部３で行っている。しかし、本発明では、特開平１０−０３１７３５号公報記載の装置および方法とは異なり、演算結果のキャッシュはしていない。
【００５８】
以上のようにして、ワード境界マスクパターンを作成することで、任意の描画位置に対応するマスクパターンのワードデータの位置計算が簡素化され、高速な処理が可能となる。
【００５９】
なお、第一実施例は、１ｂｉｔ／１Ｄｏｔで説明されているが、２ｂｉｔ／１Ｄｏｔ、４ｂｉｔ／１Ｄｏｔや８ｂｉｔ／１Ｄｏｔであっても同様である。また、同実施例は、３２ｂｉｔ／１ワードで説明されているが１６ｂｉｔ／１ワードや６４ｂｉｔ／１ワードであっても同様である。さらに、同実施例は、マスクパターンを敷き詰める際の起点座標を（Ｘ，Ｙ）＝（０，０）として説明されているが、任意の座標を指定し、そこを起点とすることも可能である。
【００６０】
次に、本発明による画像出力装置の一実施形態たる第２実施例について以下説明する。
【００６１】
図６には、第２実施例の構成図が示されている。画像出力装置１は、描画データ入力部２と、描画演算部３と、ページメモリ４と、出力装置５と、マスクパターン入力部１０と、マスクパターン変換部１１と、ワード境界マスクパターンメモリ１２と、マスクパターン検索部１３とで構成される。マスクパターン検索部１３以外は第１実施例の構成と同じである。
【００６２】
マスクパターンデータ入力部１０にマスクパターンとそのＩＤ（マスクパターンＩＤ）が入力され、マスクパターン変換部１１によってワード単位の描画に適したワード境界マスクパターンに変換される。そして、この変換されたマスクパターンは、そのＩＤと共にワード境界マスクパターンメモリ１２に格納される。このようにして、複数のマスクパターンの登録が可能である。
【００６３】
前述した描画演算部の描画データがマスクパターンを使用する場合、指定されたマスクパターンＩＤを用いて、マスクパターン検索部１３により検索し、ワード境界マスクパターンメモリ１２からマスクパターンを得る。
【００６４】
マスクパターン検索部による検索方法としては、例えば、図７に示されているようなＩＤとマスクパターンメモリへのアドレスの組のテーブルを用いた順次検索が考えられる。もちろん、より高度な検索アルゴリズムを用いてもよい。
【００６５】
検索用テーブルは、マスクパターン変換部１１により作成される。ワード境界マスクパターンメモリへの登録が終了した時点で、ＩＤとアドレスが検索用テーブルに追加される。また、検索用テーブルはマスクパターン検索部１３により使用される。描画データ入力部２に入力された描画命令に含まれるマスクパターンＩＤを入力として、ワード境界マスクパターンへのアドレスを得る。
【００６６】
なお、マスクパターンをディザパターンとし、マスクパターンＩＤをディザパターンのそれぞれに付加されるＩＤ（色濃度など）として入力し（ディザパターンＩＤ）、マスクパターン検索部にディザパターンＩＤを入力し、ワード境界マスクパターンを出力し、描画演算部にてソースパターンを使用する際にワード境界マスクパターンを使用するという構成も考えられる。
【００６７】
次に、本発明による画像出力装置の一実施形態たる第３実施例について以下説明する。
【００６８】
図８には、本発明による画像出力装置の第３実施例の構成図が示されている。画像出力装置１は、描画データ入力部２と、描画演算部３と、ページメモリ４と、出力装置５と、マスクパターン入力部１０と、マスクパターン変換部１１と、ワード境界マスクパターンメモリ１２と、マスクパターン検索部１３と、マスクパターンメモリ１４とで構成される。マスクパターンメモリ１４以外は第２実施例の構成と同じである。
【００６９】
マスクパターンデータ入力部１０にはマスクパターンとそのＩＤ（マスクパターンＩＤ）が入力され、そのままマスクパターンメモリ１４に格納される。このようにして、複数のマスクパターンの登録が可能である。
【００７０】
前述した描画演算部の描画データがマスクパターンを使用する場合、指定されたマスクパターンＩＤを用いて、マスクパターン検索部１３により検索する。
【００７１】もし、必要なマスクパターンのＩＤに対応するワード境界マスクパターンがワード境界マスクパターンメモリ１２に存在しない場合には、マスクパターン変換部１１が、マスクパターンメモリ１４に登録されている指定されたＩＤに対応したマスクパターンを用いて、ワード境界マスクパターンを作成する。作成されたワード境界マスクパターンは、ワード境界マスクパターンメモリ１２に登録され、マスクパターン検索部１３を通して、描画演算部３に渡される。
【００７２】
ワード境界マスクパターンメモリはキャッシュメモリの役割をする。一定のメモリ量に達するまで、複数のワード境界マスクパターンを保持し、ＬＲＵや頻度情報などを用いて、ワード境界マスクパターンの登録、破棄などのキャッシュ操作を行うことで、マスクパターン変換部１１での処理量を最小限に抑えることが可能となる。なお、キャッシュ操作はＬＲＵや頻度情報以外の他の高度な方法を用いてもよい。
【００７３】
なお、マスクパターンをディザパターンとし、マスクパターンＩＤをディザパターンそれぞれに付加されるＩＤ（色濃度など）として入力し（ディザパターンＩＤ）、マスクパターン検索部にディザパターンＩＤを入力し、ワード境界マスクパターンを出力し、描画演算部にてソースパターンを使用する際にワード境界マスクパターンを使用するという構成も考えられる。
【００７４】
【発明の効果】
請求項１又は１９に記載の発明によれば、任意の範囲のあるＹ座標の１ラインの描画処理において、マスクパターンで描画演算する際に、Ｘ座標描画位置によってマスクパターンをシフトしながら演算するのではなく、ワード単位で単一ワードまたは複数ワードを繰り返し参照することが可能となり、シフト演算が不要であり、かつ、メモリアクセス数も減少する。よって、描画処理の高速化ができる。
【００７５】
請求項２または３記載の発明によれば、ワード境界マスクパターンをライン毎に連続したメモリ内に配置することで、次ラインへのアドレス移動がワード境界マスクパターンのワード幅分を移動するように定数を加算するだけとなる。よって、描画処理の高速化ができる。
【００７６】
請求項４から７のいずれか１項に記載の発明によれば、ソースパターン、デスティネーションパターン、マスクパターンがすべてワード長なので、３つのパタンの指定された論理演算１回で、ワード内の画素（例えば、１ｂｉｔ／１画素であれば３２画素）分の処理を行うことができ、かつ、メモリアクセス回数も最小となる。よって、描画処理の高速化ができる。
【００７７】
請求項８または９記載の発明によれば、描画処理の高速化を図りながら、マスクパターンのビットＯＮの個所に塗りたい色を指定することで、マスクパターン内で表現可能なパターンによる網掛けや、半透明表現、またビットＯＮとビットＯＦＦの個所それぞれに塗りたい色を指定でき、背景色を指定した網掛け表現等のグラフィック修飾表現が可能となる。
【００７８】
請求項１０記載の発明によれば、複数のマスクパターンを交互に使用し、頻繁にマスクパターンを変化させるような描画の場合、マスクパターンにＩＤを付加することにより、複数のマスクパターンを登録することが可能となり、描画命令としてマスクパターンＩＤの変更のみを付加するだけとなるので、データ転送量が減る。よって、１つのマスクパターンのみが登録される請求項１の構成のようにマスクパターンの変更毎にマスクパターンのダウンロードが必要となるのと比べて、描画処理をより高速化できる。
【００７９】
請求項１１から１３のいずれか１項に記載の発明によれば、マスクパターンを保持し、ワード境界マスクパターンをキャッシュしておくことで、ワード境界マスクパターン変換処理を省く機会が増える。よって、描画処理をより高速化できる。なお、キャッシュ方法はＬＲＵや頻度情報以外の他の高度なキャッシュ方法を用いてもよい。
【００８０】
請求項１４または１５記載の発明によれば、ディザパターンは一般的に色濃度別のマスクパターンの繰り返しであるので、本発明をディザパターンの画像処理部に適用することで、高速化となる。また、写真画のような微小領域が異なるパターンで描画される集合であるイメージデータの場合にも適用可能であり、同様に高速化となる。
【００８１】
請求項１６記載の発明によれば、レーザプリンタのようにページメモリの生成をプリンタ側で行う場合、各描画命令からページメモリを生成するプリンタ側の処理に本発明が適用され、その処理が高速となる。
【００８２】
請求項１７記載の発明によれば、インクジェットプリンタのようにページメモリの生成をホストコンピュータ側で行う場合、各描画命令からページメモリを生成するホストコンピュータ側の処理に本発明が適用され、その処理が高速となる。
【００８３】
請求項１８記載の発明によれば、ページメモリの生成をプリンタ側のＣＰＵを用いたソフトウェア処理ではなく、グラフィックアクセラレータ等の専用ＡＳＩＣで行うので、各描画命令からページメモリを生成するＡＳＩＣ内の処理に本発明が適用され、その処理が高速となる。
【図面の簡単な説明】
【図１】
本発明による画像出力装置の第１実施例の構成図である。
【図２】
本発明による画像出力装置の第１実施例の説明図である。
【図３】
本発明による画像出力装置の第１実施例の説明図である。
【図４】
本発明による画像出力装置の第１実施例のフローチャートである。
【図５】
本発明による画像出力装置の第１実施例の説明図である。
【図６】
本発明による画像出力装置の第２実施例の構成図である。
【図７】
本発明による画像出力装置の第２実施例の説明図である。
【図８】
本発明による画像出力装置の第３実施例の構成図である。
【符号の説明】
１  画像出力装置
２  描画データ入力部
３  描画演算部
４  ページメモリ
５  出力装置
１０  マスクパターンデータ入力部
１１  マスクパターン変換部
１２  ワード境界マスクパターンメモリ
１３  マスクパターン検索部
１４  マスクパターンメモリ