(57)【要約】【課題】中間データが肥大化することを抑えることができ、メモリの圧迫を抑えることができるイメージデータ処理装置及び画像形成装置を提供する。【解決手段】入力されたページ記述言語データにおいてイメージデータと当該イメージデータの拡大指示データがある場合には、前記拡大指示データに基づく前記イメージデータの拡大を行わずに当該イメージデータと前記拡大指示データに基づく倍率情報とを前記中間データとして生成する一方、入力されたページ記述言語データにおいてイメージデータと当該イメージデータの縮小指示データがある場合には、当該イメージデータを前記縮小指示データに従って縮小したイメージデータを前記中間データとして生成する。そして、ラスタライズ部は、前記中間データにおける前記イメージデータを前記倍率情報にしたがって出力メモリ上に印刷データとして生成する。【選択図】図３
2004299104.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語データに基づいて中間データを生成するインタプリタ部と、前記中間データに基づいて印刷データを出力メモリ上に生成するラスタライズ部とを備えたイメージデータ処理装置であって、
前記インタプリタ部は、入力されたページ記述言語データにおいてイメージデータと当該イメージデータの拡大指示データがある場合には、前記拡大指示データに基づく前記イメージデータの拡大を行わずに当該イメージデータと前記拡大指示データに基づく拡大率データとを前記中間データとして生成し、
前記インタプリタ部は、入力されたページ記述言語データにおいてイメージデータと当該イメージデータの縮小指示データがある場合には、当該イメージデータを前記縮小指示データに従って縮小したイメージデータを前記中間データとして生成し、
前記ラスタライズ部は、前記中間データにおける前記イメージデータと前記拡大率データに基づいて前記出力メモリ上に前記印刷データを生成すること
を特徴とするイメージデータ処理装置。
【請求項２】
請求項１に記載のイメージデータ処理装置において、
前記インタプリタ部は、入力されたページ記述言語データにおいてイメージデータと当該イメージデータの縮小指示データがある場合には、当該イメージデータを前記縮小指示データに従って縮小したイメージデータと拡大率を等倍に設定した拡大率データとを前記中間データとして生成すること
を特徴とするイメージデータ処理装置。
【請求項３】
請求項１または２に記載のイメージデータ処理装置において、
前記インタプリタ部は、前記ページ記述言語データとして、イメージデータおよび当該イメージデータの指定部分を切り出すクリップ指示データがある場合には、当該イメージデータのうち前記クリップ指示データで指定された指定部分を切り出した後のイメージデータを前記中間データにおけるイメージデータとして生成すること
を特徴とするイメージデータ処理装置。
【請求項４】
請求項１〜３のいずれかに記載のイメージデータ処理装置において、
前記インタプリタ部は、前記ページ記述言語データにおけるイメージデータにおいてページからはみ出すイメージデータの部分がある場合には、当該イメージデータのうち前記ページからはみ出さない部分を切り出した後のイメージデータを前記中間データにおけるイメージデータとして生成すること
を特徴とするイメージデータ処理装置。
【請求項５】
請求項１〜４のいずれかに記載のイメージデータ処理装置において、
前記インタプリタ部は、前記イメージデータの拡大指示データに基づいて、前記イメージデータを構成するピクセル行列における行毎の展開個数と列毎の展開個数とを、前記拡大率データとして求め、
前記ラスタライズ部は、前記行毎の展開個数と列毎の展開個数とに基づいて前記中間データにおけるイメージデータの各ピクセルを展開して前記印刷データを生成すること
を特徴とするイメージデータ処理装置。
【請求項６】
請求項１〜５のいずれかに記載のイメージデータ処理装置において、
前記インタプリタ部は、入力されたページ記述言語データにおけるイメージデータを、前記中間データとしてのイメージデータにする際に、ピクセルの表現形式を変換するか否かを判断する判断手段を備え、前記判断手段によって、ピクセルの表現形式を変換すると判断された場合には、前記ピクセルの表現形式を変換するとともに前記中間データとしてピクセルの表現形式の変換に関するデータを加え、
前記ラスタライズ部は、前記中間データにピクセルの表現形式の変換に関するデータが含まれる場合には、当該中間データにおけるイメージデータのピクセルの表現形式を、当該ピクセルの表現形式の変換に関するデータに基づいて変換して前記印刷データを生成すること
を特徴とするイメージデータ処理装置。
【請求項７】
請求項６に記載のイメージデータ処理装置において、
前記ピクセルの表現形式の変換は、ピクセルを表現するビット数の変換であること
を特徴とするイメージデータ処理装置。
【請求項８】
請求項６に記載のイメージデータ処理装置において、
前記ピクセルの表現形式の変換は、カラーパレットのインデックス値から対応する色データへの変換であること
を特徴とするイメージデータ処理装置。
【請求項９】
請求項６〜８のいずれかに記載のイメージデータ処理装置において、
前記判断手段は、前記ピクセルの表現形式を変換した場合のイメージデータのサイズに応じて前記ピクセルの表現形式の変換を行うか否かを決定すること
を特徴とするイメージデータ処理装置。
【請求項１０】
請求項６〜８のいずれかに記載のイメージデータ処理装置において、
前記判断手段は、メモリ残容量に応じて前記ピクセルの表現形式の変換を行うか否かを決定すること
を特徴とするイメージデータ処理装置。
【請求項１１】
請求項１〜１０のいずれかに記載のイメージデータ処理装置を備えた画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ページ記述言語データに基づいて中間データを生成するインタプリタ部と、前記中間データに基づいて印刷データを出力メモリ上に生成するラスタライズ部とを備えたイメージデータ処理装置及び画像形成装置に関し、特に新たな中間データの少量化方法を採ったイメージデータ処理装置及び画像形成装置に関する。
【０００２】
【従来の技術】
従来より、例えばＰＣ（パーソナルコンピュータ）から受信したページ記述言語データ（ＰＤＬデータ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ  Ｄａｔａ）を印刷データ（ビットマップイメージ）に展開する間に、中間データ（中間コード）を作成してメモリに格納する処理が行われている。
【０００３】
この際、特に中間データのデータ量が大きいとメモリフルになってしまう可能性が大きかった。
このため、従来から中間データの少量化を図る工夫がなされている。（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特開２００１−２７０１６４号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載の方法では、中間データを作成する際に一部ではあるものの拡大処理を行ってしまっているため、中間データの少量化に十分な対策が練られているとはいえなかった。
【０００６】
そこで、本発明は、中間データが肥大化することを抑えることができ、メモリの圧迫を抑えることができる新たな中間データの少量化方法を採るイメージデータ処理装置及び画像形成装置を提供することを目的とする。
【０００７】
【課題を解決するための手段及び発明の効果】
上述した問題点を解決するためになされた請求項１に記載のイメージデータ処理装置は、ページ記述言語データに基づいて中間データを生成するインタプリタ部と、前記中間データに基づいて印刷データを出力メモリ上に生成するラスタライズ部とを備える。
【０００８】
そして、インタプリタ部は、入力されたページ記述言語データ（ＰＤＬデータ）においてイメージデータと当該イメージデータの拡大指示データがある場合には、前記拡大指示データに基づく前記イメージデータの拡大を行わずに当該イメージデータと前記拡大指示データに基づく拡大率データとを前記中間データとして生成する一方、入力されたページ記述言語データにおいてイメージデータと当該イメージデータの縮小指示データがある場合には、当該イメージデータを前記縮小指示データに従って縮小したイメージデータを、前記中間データとして生成する。そして、ラスタライズ部は、前記中間データにおける前記イメージデータを前記拡大率データにしたがって前記出力メモリ上に前記印刷データを生成する。
【０００９】
このように拡大が必要な場合には拡大を行わないままのデータを中間データとしてのイメージデータとし、縮小が必要な際には縮小後のデータを中間データとしてのイメージデータとするため、中間データとしてのメモリ使用量を小さくすることができる。よって、中間データが肥大化することを抑えることができ、メモリの圧迫を抑えることができる。
【００１０】
なお、入力されたページ記述言語データにおいてイメージデータと当該イメージデータの縮小指示データがある場合には、請求項２に示すように、インタプリタ部は、当該イメージデータを前記縮小指示データに従って縮小したイメージデータと拡大率を等倍と設定した拡大率データとを前記中間データとして生成してもよい。
【００１１】
また、ページ記述言語データとして、イメージデータおよび当該イメージデータの指定部分を切り出すクリップ指示データがある場合には、請求項３に示すように、インタプリタ部は、当該イメージデータのうち前記クリップ指示データで指定された指定部分を切り出した後（クリップした後）のイメージデータを前記中間データにおけるイメージデータとして生成するとよい。このようにすれば、クリップ処理によってクリップされて不要となるデータが中間データに含まれなくなる。したがって、中間データが肥大化することを抑えることができ、メモリの圧迫を抑えることができる。
【００１２】
また、請求項４に示すように、前記インタプリタ部は、前記ページ記述言語データにおけるイメージデータにおいてページからはみ出すイメージデータの部分がある場合には、当該イメージデータのうち前記ページからはみ出さない部分を切り出した後（クリップした後）のイメージデータを前記中間データにおけるイメージデータとして生成するとよい。このようにすれば、実際の印刷等には用いられないイメージデータを捨てて、必要な部分のみが中間データとしてのイメージデータとして生成される。したがって、中間データが肥大化することを抑えることができ、メモリの圧迫を抑えることができる。
【００１３】
なお、イメージデータに対して、請求項３に示したクリップ指示データや、請求項４に示したページからはみ出す部分がある場合において、さらに、上述した拡大指示データまたは縮小指示データが与えられている場合は、入力されたイメージデータに対して前述した請求項１に記載の前記拡大指示データに基づく処理または縮小指示データに基づく処理を行って得られたイメージデータに対して実際の印刷に必要となる部分のイメージデータを得てそのイメージデータを中間データとしてのイメージデータとしてもよいし、入力されたイメージデータに対して実際の印刷に必要となる部分のイメージデータを得てそのイメージデータに対して前述した請求項１に記載の前記拡大指示データに基づく処理または縮小指示データに基づく処理を行って得られたイメージデータを中間データとしてのイメージデータとしてもよい。なお、後者の方がメモリの使用量をより抑えることができるので、望ましい。
【００１４】
そして、拡大率データは、例えば単純に縦ｎ倍、横ｍ倍のようにし、ラスタライズ部でこの拡大率データに従って中間データの各ピクセルを何ドットに展開するのかを求めて拡大することもできるが、請求項５に示すように、前記インタプリタ部は、前記イメージデータの拡大指示データに基づいて、前記イメージデータを構成するピクセル行列における行毎の展開個数と列毎の展開個数とを、前記拡大率データとして求め、前記ラスタライズ部は、前記行毎の展開個数と列毎の展開個数とに基づいて前記中間データにおけるイメージデータの各ピクセルを展開して前記印刷データを生成するとよい。例えば、単純に拡大率データを、縦ｎ倍、横ｍ倍とし、ｎ，ｍを整数としたのでは、出力サイズがＰＤＬデータで与えられるものと一致しない場合がある。よって、あらかじめ各列・行毎に倍率（展開個数）を整数値で求めて中間データとしておくのである。また、このようにすれば、ラスタライズ部で、各ピクセルを何ドットに展開するのかを演算して求める必要がなくなり、ラスタライズ部を簡略化できる。
【００１５】
なお、例えば、ＰＤＬデータによっては、イメージデータのピクセルの表現形式は、１ビット、４ビット、８ビットのように、複数種類入力可能な場合がある。また、ＰＤＬデータによっては、ピクセルの表現形式は、色データそのものとする場合もあれば、カラーパレットのインデックス値とする場合もありうる。
【００１６】
例えば、ラスタライズ部が８ビットのピクセルの表現形式を標準形式とする場合に、入力されたイメージデータが１ビットのピクセルの表現形式のデータの場合、中間データは８ビットに変換されることになる。そのため、データサイズが８倍となってしまう。また、入力されたイメージデータのピクセルの表現形式が８ビットのインデックス値であり、ラスタライズ部がＲＧＢそれぞれ８ビット（計２４ビット）の色データをピクセルの表現形式とする場合には、中間データはカラーパレット適用後の２４ビットの色データとして生成していた。このように、ピクセルの表現形式を変換した後のイメージデータを中間データとすると、中間データのサイズが大きくなるという問題がある。
【００１７】
そこで、請求項６に示すように、前記インタプリタ部は、入力されたページ記述言語データにおけるイメージデータを、前記中間データとしてのイメージデータにする際に、ピクセルの表現形式を変換するか否かを判断する判断手段を備え、前記判断手段によって、ピクセルの表現形式を変換すると判断された場合には、前記ピクセルの表現形式を変換するとともに前記中間データとしてピクセルの表現形式の変換に関するデータを加え、前記ラスタライズ部は、前記中間データにピクセルの表現形式の変換に関するデータが含まれる場合には、当該中間データにおけるイメージデータのピクセルの表現形式を、当該ピクセルの表現形式の変換に関するデータに基づいて変換して前記印刷データを生成するとよい。
【００１８】
例えば請求項７に示すように、ピクセルの表現形式の変換は、ピクセルのビット数の変換としたり、請求項８に示すように、カラーパレットのインデックス値から対応する色データへの変換とすることができる。
そして、判断手段は、例えば、請求項９に示すように、前記ピクセルの表現形式を変換した場合のイメージデータのサイズに応じて前記ピクセルの表現形式の変換を行うか否かを決定するとよい。また、例えば、請求項１０に示すように、メモリ残容量に応じて前記ピクセルの表現形式の変換を行うか否かを決定するとよい。このようにすれば、メモリの圧迫を抑えることができる。
【００１９】
上述したイメージデータ処理装置は様々な装置に組み込むことができる。例えば、請求項１１に示すように、画像形成装置に組み込むことができる。
【００２０】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態を採りうることは言うまでもない。
【００２１】
図１は、イメージデータ処理装置及び画像形成装置としてのプリンタ１と、プリンタ１と接続されたホストコンピュータ２を備える印刷システムの構成を示す図である。
ホストコンピュータ２は、一般的なパーソナルコンピュータであって、プリンタ１と接続されている。ホストコンピュータ２は、アプリケーションソフトからの印刷要求に応じて、プリンタドライバが、当該アプリケーションによって描画された印刷用データを、プリンタ１によって解釈可能なページ記述言語データ（ＰＤＬデータ）へ変換してプリンタ１へ送信する。
【００２２】
プリンタ２は、インタプリタ部２０とラスタライズ部３０とプリントエンジン４０とを備える。
インタプリタ部２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、入出力装置（Ｉ／Ｏ）２４とこれらを接続するバスライン等を備えたコンピュータシステムによって構成される。ＣＰＵ２１は、ＲＯＭ２２に記憶されたプログラムを実行することによって、ホストコンピュータからＰＤＬデータを受信し、図２のＳ１０〜Ｓ３０に示す、拡大縮小処理（及びクリップ処理）（Ｓ１０）、回転処理（Ｓ２０）、中間データ登録処理（Ｓ３０）などを行い、中間データを生成して、ラスタライズ部３０へ出力する。中間データは、図３に示すように、イメージソース情報と、デバイス情報と、倍率情報とから構成される。イメージソース情報は、サイズ（イメージソース情報のバイト数）、ビットＤｅｐｔｈ、色指定、横ピクセル、縦ピクセル、中間データとしてのイメージデータ（拡大縮小後のイメージデータ）などから構成される。また、デバイス情報は、デバイスでの位置（ｘ，ｙ）、デバイスでの幅、デバイスでの高さなどから構成される。そして、倍率情報は、縦方向展開個数配列と横方向展開個数配列とから構成される。
【００２３】
ラスタライズ部３０は、例えばＡＳＩＣで構成され、図２のＳ４０〜Ｓ６０に示す処理などを行う。すなわち、インタプリタ部２０のＲＡＭ２３からＩ／Ｏ２４を介して中間データを取得し、その中間データに基づいてデバイス多値のページデータを描画メモリ３２に描画する（Ｓ４０）。そして、この描画メモリ３２に描画したページデータをＵＣＲＧＣＲ処理によって黒の量を調整した上、２値化する（Ｓ５０）。そして、ハーフトーン化処理を行って（Ｓ６０）、その処理後のデータに基づいてプリントエンジン４０へビデオデータを出力する。
【００２４】
プリントエンジン４０は、レーザープリンタのエンジンであり、ラスタライズ部３０から出力されたビデオデータを入力して用紙への印刷を行う。
次に、インタプリタ部２０における処理をさらに詳細に説明する。
図４は、インタプリタ部２０における中間データ生成処理の流れを示すフローチャートである。なお図４に示す処理はクリップ処理を行わない場合の例である。
【００２５】
Ｓ１１０では、ホストコンピュータ２から入力されたＰＤＬデータを解析し、ＰＤＬデータに含まれるイメージソースサイズとデバイスイメージサイズに基づいて拡大縮小後のイメージデータを生成し、縦方向（高さ方向）、横方向（幅方向）の倍率情報を作成する。
【００２６】
例えば図５（ａ）のＰＤＬデータが入力された場合、ＰＤＬデータを解析し、色指定がＲＧＢ、ダイレクトイメージ（ダイレクトカラー）、ＲＧＢ各８ビットの２４ビットカラーであり、図６（ａ）に示すように、イメージソースサイズが幅１００ピクセル・高さ５０ピクセル、デバイスイメージサイズが幅５００ドット・高さ３００ドットであることを抽出する。そしてイメージソースからデバイスイメージへの倍率情報を求める。この倍率情報は、ラスタライズ部３０における展開処理によってイメージデータを拡大するために用いられる、イメージデータを構成するピクセル行列における行毎の展開個数と列毎の展開個数の配列情報である。図６（ａ）の例では、高さ方向（縦方向）は５０ピクセルを３００ドットに展開する必要がある。そこで、拡大率を求めると、３００／５０＝６倍となる。したがって、各ピクセルは縦方向にちょうど６ドットづつ展開すればよいこととなる。よって、縦方向展開個数配列［５０］＝｛６，６，６，６，６，・・・，６｝と求める。同様に幅方向（横方向）は１００ピクセルを５００ドットに展開する必要がある。そこで、拡大率を求めると、５００／１００＝５倍となる。したがって、各ピクセルは縦方向にちょうど５ドットづつ展開すればよいこととなる。よって、横方向展開個数配列［１００］＝｛５，５，５，５，５，・・・，５｝と求める。
【００２７】
このように、縦方向、横方向ともに拡大率が１倍以上の場合には、ＰＤＬデータにおけるイメージデータそのものを拡大縮小後のイメージデータとしてＲＡＭ２３に記憶する。なお、ＰＤＬデータにおけるイメージデータが圧縮されたデータである場合には展開し、展開した後のイメージデータを拡大縮小後のイメージデータとしてＲＡＭ２３に記憶する。
【００２８】
この例の場合、縦方向、横方向とも、拡大率が、ちょうど割り切れる値（整数値）となっているため、上述したように縦方向・横方向ともに展開個数配列は、その整数値をそのまま利用しているが、例えばＰＤＬデータによって与えられたイメージソースのサイズが横（幅）５００ピクセル、縦（高さ）３００ピクセルで、デバイスイメージのサイズが横（幅）７００ドット、縦（高さ）８００ドットのように拡大率が整数値とならない場合には、各ピクセルの展開個数を拡大率に応じて適宜調整する。例えば、縦方向展開個数配列［３００］＝｛２，２，３，２，２，２，３，２，２，３，・・・，２｝、横方向展開個数配列［５００］＝｛１，２，１，２，２，１，２，１，２，２，・・・，２｝のように求める。
【００２９】
また、縦方向または横方向の少なくともいずれか一方の拡大率が１倍より小さくなる場合には、まず、ＰＤＬデータに含まれるデバイスイメージサイズへＰＤＬデータに含まれるイメージデータの縮小処理を行い、縮小処理されたイメージデータを拡大縮小後のイメージデータとしてＲＡＭ２３に記憶する（ＰＤＬデータにおけるイメージデータが圧縮されたデータである場合には展開し、展開した後のイメージデータに縮小処理を行う）。そして、この拡大縮小後のイメージデータに対して上述した倍率情報の算出処理を行う。縦方向の拡大率が１倍より小さくなる場合には、縦方向展開個数配列の要素はすべて１とし、横方向の拡大率が１倍より小さくなる場合には、横方向展開個数配列の要素はすべて１とする。なお、縦方向または横方向のいずれか一方の拡大率が１倍より大きい場合には、その方向については、上述した拡大の場合の倍率情報の生成処理によって倍率情報を生成する。
【００３０】
例えば、ＰＤＬデータによって与えられたイメージソースのサイズが横（幅）８００ピクセル、縦（高さ）７００ピクセルで、デバイスイメージのサイズが横（幅）５００ドット、縦（高さ）３００ドットの場合、縦横ともに拡大率が１倍より小さくなる。よって、ＰＤＬデータとして与えられたイメージデータをデバイスイメージのサイズである横（幅）５００ドット、縦（高さ）３００ドットへ縮小したイメージデータを拡大縮小後のイメージデータとしてＲＡＭ２３に記憶し、倍率情報として、縦方向展開個数配列［３００］＝｛１，１，１，１，・・・，１｝、横方向展開個数配列［５００］＝｛１，１，１，１，・・・，１｝とする。
【００３１】
続く図４のＳ１２０では、図３に示したイメージソース情報及びデバイス情報をＰＤＬデータに基づいて作成する。すなわち、例えば、図５のＰＤＬデータの場合、ビットＤｅｐｔｈとして８ビットを、色指定としてＲＧＢを、拡大縮小前のイメージデータの横ピクセルである１００を、拡大縮小前のイメージデータの縦ピクセルである５０を、ＲＡＭ２３に記憶する。また、デバイス情報のデバイスでの位置として、図５のデバイスイメージの位置（６００，４００）を、デバイスでの幅としてデバイスイメージサイズの幅（５００ドット）を、デバイスでの高さとしてデバイスイメージサイズの高さ（３００ドット）をＲＡＭ２３に記憶する。
【００３２】
続くＳ１５０では、ＰＤＬデータからイメージデータが８ビットイメージか否かを判定する。８ビットイメージの場合には（Ｓ１５０：ＹＥＳ）、Ｓ１８０へ移行し、８ビットイメージでない場合には（Ｓ１５０：ＮＯ）、Ｓ１６０へ移行する。
【００３３】
Ｓ１６０では、イメージサイズが大きいか否かを判定する。すなわち、イメージサイズが所定値（例えば縦１００ピクセルかつ横１００ピクセル）以上であるか否かを判定する。イメージサイズが所定値以上の場合には（Ｓ１６０：ＹＥＳ）、Ｓ１８０へ移行し、イメージサイズが所定値より小さい場合には、Ｓ１７０へ移行する。
【００３４】
Ｓ１７０では、拡大縮小後のイメージデータの各ピクセルを８ビットの表現形式に変換する。そして、Ｓ１２０で作成したイメージソース情報のビットＤｅｐｔｈの値を「８ビット」へ変更する。
このように、Ｓ１６０〜Ｓ１８０の処理により、イメージサイズが所定値以上の場合には、ピクセルの表現形式を８ビットに変換しないことにより、中間データとしてのイメージデータのサイズを抑えることができる。
【００３５】
そして、Ｓ１８０では、ＰＤＬデータに、９０度・１８０度・２７０度などの回転指示データが含まれる場合に、拡大縮小後のイメージデータの回転処理を行う。
続くＳ１９０では、Ｓ１１０〜Ｓ１８０で生成したイメージソース情報（拡大縮小後のイメージデータを含む）、デバイス情報、倍率情報を、図３に示すデータ構造の中間データとしてＲＡＭ２３に登録する。
【００３６】
そして、前述のように、ラスタライズ部３０は、インタプリタ部２０のＲＡＭ２３からＩ／Ｏ２４を介して中間データを取得し、その中間データに基づいてデバイス多値のページデータを、描画メモリ３２に描画する（Ｓ４０）。この描画は、図３の中間データの値に基づいて行う。すなわち、ビットＤｅｐｔｈを参照し、１，２，４ビットの場合には、中間データとしてのイメージデータのピクセルの表現形式を８ビットに変換しながら描画する。また、倍率情報を参照し、各ピクセルの対応する位置の縦方向展開個数配列内の展開個数と横方向展開個数配列内の展開個数とに基づいて、各ピクセルを展開しながら描画する。例えば、図６（ｂ）のような中間データとしてのイメージデータと倍率情報を持つ場合、各ピクセルは、横方向に５ドット×縦方向に６ドットのデータとして展開して描画する。
【００３７】
そして、前述したように、この描画メモリ３２に描画したページデータをＵＣＲＧＣＲ処理によって黒の量を調整した上、２値化し（Ｓ５０）、ハーフトーン化処理を行って（Ｓ６０）、その処理後のデータに基づいてプリントエンジン４０へビデオデータを出力する。プリントエンジン４０は、レーザープリンタのエンジンであり、ラスタライズ部３０から出力されたビデオデータを入力して用紙への印刷を行う。
【００３８】
このように拡大が必要な場合には拡大を行わないままのイメージデータを中間データとしてのイメージデータとし、縮小が必要な際には縮小後のイメージデータを中間データとしてのイメージデータとするため、中間データとしてのメモリ使用量を小さくすることができる。よって、中間データが肥大化することを抑えることができ、メモリ（ＲＡＭ２３）の圧迫を抑えることができる。
【００３９】
なお、図４のＳ１５０〜Ｓ１７０では、イメージサイズが所定値より小さい場合に、イメージデータを８ビットに変換するピクセルを表現するビット数の変換処理を行うこととしたが、例えば、図５（ｂ）のように、ＰＤＬデータが、ピクセルがカラーパレットのインデックス値で与えられる書式をサポートする場合には、イメージサイズの大きさが所定値より小さい場合に、色データ（ダイレクトカラー）へのピクセルの表現形式の変換を行うようにしてもよい。色データの変換を行った場合には、Ｓ１２０で作成したイメージソース情報の色指定の値を「ＲＧＢ」へ変更する。この場合、ラスタライズ部３０は、中間データにおいて色指定の値が「ＲＧＢ」以外の場合、中間データとしてのイメージデータの各ピクセルの表現形式をＲＧＢへ変換しながら描画メモリ３２に描画する。このようにして、中間データの肥大化を抑えることができ、メモリ（ＲＡＭ２３）の圧迫を抑えることができる。例えば、図５（ｂ）のＰＤＬデータの場合、パレットデータは８ビットであるのに対し、ダイレクトイメージ（ＲＧＢ）は２４ビットであるので中間データとしてのイメージデータを記憶するために必要なＲＡＭ２３の容量は３分の１で済む。
【００４０】
また、ＰＤＬデータがいわゆるクリップをサポートする場合には、インタプリタ部２０における図４のＳ１１０の処理において、さらに、クリップ処理を行うようにするとよい。
例えば、図５（ｃ）に示すようなクリップコマンドが図５（ａ）のＰＤＬデータとともに送られてきた場合には、図７に示すように、用紙に相当するデバイスページエリア内に、図５（ａ）のデバイスイメージの位置（図７の点Ｃ（６００，４００））を始点としてデバイスイメージサイズ（幅５００，高さ３００）の範囲に、図５（ａ）のイメージソースサイズ（幅１００高さ５０）のイメージデータを拡大し、そのうち図５（ｃ）のクリップコマンドで指定されるクリップレクタングル（図７に示すように点Ａ（８００，３００）と点Ｂ（１３００，５５０）を対角線とする四角形の範囲）に含まれる部分（図７の斜線部分）のみを描画するという指示である。
【００４１】
Ｓ１１０では、図５（ｃ）（ａ）のＰＤＬデータから図７に示すように、対応関係を算出する。この場合、交点Ｄ及び交点Ｅを対角線とする４角形の領域に対応するソースイメージ（ＰＤＬデータとして与えられるイメージデータ）の領域を求める。この場合、図７に示す斜線部分の領域（点Ｆ（４０，０）、点Ｇ（１００，２５））を算出する。
【００４２】
そして、図８に示すように、ＲＡＭ２３上に設けられたＰＤＬデータの受信バッファから横方向の１ライン分を展開（解凍）し、この領域に位置するラインにおいて、この領域に位置する横方向の位置のデータのみをクリップして、そのクリップしたデータ１ライン分をクリップ後のイメージデータを構成する１ラインとしてＲＡＭ２３へ書き込むといった処理を繰り返し行い、クリップ後のイメージデータを生成する。そして、クリップ後のイメージデータに対して前述した拡大縮小処理を行って拡大縮小後のイメージデータを得る。なお、縮小の場合には、クリップしながら縮小してもよい。このようにして、クリップ後のイメージデータを中間データとしてのイメージデータとすることで、中間データの肥大化を抑制することができる。
【図面の簡単な説明】
【図１】プリンタとホストコンピュータを備える印刷システムの構成を示すブロック図である。
【図２】インタプリタ部及びラスタライズ部における処理の概要を示す説明図である。
【図３】中間データのデータ構造を示す説明図である。
【図４】インタプリタ部における中間データ生成処理の流れを示すフローチャートである。
【図５】ＰＤＬデータの例を示す説明図である。
【図６】イメージデータと倍率情報についての説明図である。
【図７】クリップ処理に関する説明図である。
【図８】クリップ処理の具体的な処理方法を示す説明図である。
【符号の説明】
１…プリンタ
２…ホストコンピュータ
２０…インタプリタ部
２１…ＣＰＵ
２２…ＲＯＭ
２３…ＲＡＭ
２４…Ｉ／Ｏ
３０…ラスタライズ部
３２…描画メモリ
４０…プリントエンジン
【図１】
2004299104.tif 000003
【図２】
2004299104.tif 000004
【図３】
2004299104.tif 000005
【図４】
2004299104.tif 000006
【図５】
2004299104.tif 000007
【図６】
2004299104.tif 000008
【図７】
2004299104.tif 000009
【図８】
2004299104.tif 000010