画像形成装置および画像形成方法
【課題】 ラスタライズ後に除去される冗長な成分を生成しないことで省メモリ且つ高速な描画処理が可能な画像処理装置および画像処理方法を提供することを目的とする。
【解決手段】 描画命令を入力する描画命令入力手段と、入力される描画命令を解析する描画命令解析手段と、前記描画命令解析手段の解析結果にもとづき画像を描画する描画手段と、パラメータにより符号化率を変更できる前記描画手段が出力した画像を符号化する符号化手段を備え、上記描画手段は上記符号化手段のパラメータにより出力する画像の色空間や色毎の解像度を変更する。
【解決手段】 描画命令を入力する描画命令入力手段と、入力される描画命令を解析する描画命令解析手段と、前記描画命令解析手段の解析結果にもとづき画像を描画する描画手段と、パラメータにより符号化率を変更できる前記描画手段が出力した画像を符号化する符号化手段を備え、上記描画手段は上記符号化手段のパラメータにより出力する画像の色空間や色毎の解像度を変更する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はPDL(ページ記述言語)を解釈して紙面に出力する画像形成装置および画像形成方法に関するものである。
【背景技術】
【0002】
従来、ホストコンピュータ上で実行される描画アプリケーションを用いて生成された画像情報を印刷するには、その画像情報をPDL(Page Description Language:ページ記述言語)に変換した後、通信ケーブル等を会してプリンタ装置に転送している。このようなプリンタ装置は、装置全体の制御及びPDLを解釈できるプリンタコントローラを備え、プリンタコントローラによりホストコンピュータから伝送されたPDLを受信し、受信したPDLデータをビットマップデータに展開し、プリンタエンジンのインターフェースに送信する処理が行われる。
【0003】
通常ホストコンピュータではディスプレイ上でカラー画像を表現するため、加法混色の三原色であるRGB表現により画像データを取り扱う。そのためPDLに含まれる描画情報は通常RGB表現で表されていることが多い。
【0004】
一方プリンタは減法混色の三原色であるYMC及びK表現を用いて紙面に文書を印刷する。そのため、プリンタコントローラはRGB表現からYMC及びK表現に描画情報を変換する必要があり、この一つの方法としてPDLからビットマップを生成する際にRGB表現でビットマップを形成し、形成されたビットマップをCMYK表現に変換する手法が知られている。この手法はホストコンピュータ上と同じ色表現でビットマップデータを生成したのち色変換を行うので、論理描画において描画不正が発生しない利点がある。
【0005】
しかしながらRGB表現でビットマップデータを生成するには大容量のメモリが必要となりコストが高くなる傾向にある。そのためRGB表現のビットマップを生成する際には紙面を帯状領域(以下バンド領域)に分割して生成し、該バンドを例えばJPEG等の圧縮手段にてプリンタコントローラ内のメモリに保持することにより少ないメモリでもRGB表現のビットマップを生成できるようにしている。
【0006】
以下図10及至17を用いて従来例を説明する。
【0007】
図10は上述したプリンタコントローラの従来例を説明する図であり、同図において1001はPDLデータを生成するホストコンピュータ、1002はホストコンピュータと、例えばLAN(Local Area Network)等で接続されたプリンタコントローラ、1003はホストコンピュータ1001から伝送されるPDLデータを解釈するPDL解釈部、1004はPDL解釈部1003の解釈結果に従って後述するラスタライザ1005が読込める命令(以下ディスプレイリストと称す)を生成するディスプレイリスト生成部、1005は上記ディスプレイリスト生成部が生成したディスプレイリストを読込みビットマップ画像を形成するラスタライザである。
【0008】
1006はラスタライザ1005が生成したビットマップをJPEG符号化にて符号化してJPEGコードを生成するJPEG符号化部、1007はJPEG符号化部1006にて生成されたJPEGコードをビットマップに復号化するJPEG復号化部、1008はJPEG復号化部1007にて復号化されたビットマップの色空間をCMYK表現に変換する色変換部、1009は色変換部1008にて変換されたCMYKビットマップに対してハーフトーン処理を施すハーフトーン処理部、1010は1009にてハーフトーン処理された画像データをプリンタエンジン1012に伝送するDMA(Direct Memory Access)である。
【0009】
1011はプリンタコントローラに搭載されたメモリで、メモリ1010にはディスプレイリスト生成部1004にて生成されるディスプレイリストを格納する領域と、JPEG符号化部にて生成されるJPEGコードを格納する領域と、プリンタエンジンに転送するビットマップを格納する2つのバンドバッファ(バンドバッファ1、バンドバッファ2)が定義され、1011はプリンタコントローラ1002で生成されたハーフトーン画像を紙面に出力するプリンタエンジンである。
【0010】
なおプリンタコントローラ1002とプリンタエンジン1012は高速なインターフェースで接続され、プリンタコントローラ1002は生成したハーフトーン画像を該インターフェースを介してプリンタコントローラに伝送する。
【0011】
続いて図10の動作を図11のフローチャートを用いて説明する。
【0012】
ホストコンピュータ1001にて作成されたPDLはネットワークを介してプリンタコントローラに伝送され、プリンタコントローラ1001に内蔵されるPDL解釈部1003にて伝送されたPDLを解釈し、その解釈結果に従ってディスプレイリスト生成部1004はラスタライザ1005が解釈可能なディスプレイリストを生成する(S1101)。なおディスプレイリストの生成はバンド領域毎に作成され、メモリ1011に定義されたディスプレイリスト領域に格納される。
【0013】
この処理を伝送されたPDL全てに対して行い、1紙面分のディスプレイリストの生成が終了すると、該生成されたディスプレイリストに従ってラスタライザ1005は1バンド分のRGB表現のビットマップを形成する(S1102)。続いてJPEG符号化部1006はS1102にて形成されたビットマップに対してJPEG符号化を行いJPEGコードを生成し、メモリ1011に定義されたJPEGコード領域に生成されたJPEGコードを格納する(S1103)。なおJPEG符号化については後述する。
【0014】
以上のS1101とS1103の処理を全てのバンドを処理し終えるまで繰り返す(S1104)事により1紙面分のJPEGコードを生成する。1紙面分のJPEGコードの生成が終了すると、JPEG復号化部1006はメモリ1011に定義されたバンドバッファ1に紙面先頭バンドを復号化し(S1105)、該復号化されたバンドのビットマップを色変換部にてRGB表現からCMYK表現に変換し、続けてハーフトーン処理部1009にて該CMYK表現に変換されたビットマップをハーフトーン処理する(S1106)。
【0015】
続いてプリンタコントローラ1002はプリンタエンジン1012に対して給紙開始を指示し(S1107)、バンドバッファ1に格納されているハーフトーン処理がなされた画像データをプリンタエンジンに伝送する(S1108)。なおS1108の処理にはDMA1010を使用するので、S1108では転送パラメータを設定し転送開始を指示すると、転送の処理を待たずに次の処理に進むことができる。
【0016】
続いてプリンタエンジン1012に転送しているバンドバッファ以外のバンドバッファ、すなわち初めてS1109を実行する場合はバンドバッファ2、に次のバンドバッファを復号化し(S1109)、該バンドに形成されたビットマップに対して色変換及びハーフトーン処理を施し(S1110)、該バンドバッファをDMAにてプリンタエンジンに転送する(S1111)。なおS1111の処理もS1108と同様DMAの転送終了を待たずに次の処理が続行できる。
【0017】
続いてS1108もしくはS111にて転送開始したDMAの転送終了を待機し(S1112)、DMAによる転送が終了すると、S1111にて転送したバンドが最終バンドである場合には処理を終え、それ以外の場合にはS1109に戻り残りのバンドを処理する。なおS1109ではプリンタエンジン1012に転送中でないバンドバッファに復号化するので、S1109では2つのバンドバッファに対して交互に復号化処理することになる。
【0018】
以上のようにプリンタコントローラ1002はハーフトーン処理された画像データをバンド単位でプリンタコントローラ1012を転送し、プリンタエンジンは受信した画像データを紙面に印刷することになる。
【0019】
続いてJPEG符号化及び復号化について説明する。
【0020】
図12はJPEG符号化を説明するための図であり、同図において1201はRGB画像を生成するラスタライザ、1202はラスタライザ1201から転送されるRGB画像データをY(明度),Cr(赤色差),Cb(青色差)に変換する色変換部、1203は色変換部1202から転送されるY,Cr,Cbの信号からJPEGにおけるサンプリングレートに従って各色毎に解像度を変更するダウンサンプリング部、1204はダウンサンプリング部1203から受信した色毎の画像データに対してDCT(Discrete Cosine Transform:離散コサイン変換)にて画像情報から周波数情報に変換を行うFDCT部、1205はDCT部1204から受信したデータを量子化する量子化部、1206は量子化部1205から受信したデータをエントロピー符号化、例えばHuffman符号化にて符号化する符号化部である。
【0021】
続いて図12の動作について説明する。
【0022】
ラスタライザ1201にて生成されたRGB表現のビットマップは色空間部1202にてY,Cr、Cbに変換される。その後ダウンサンプリング部1202はJPEGにおけるサンプリングレートに従って入力される画像データの解像度を変換する。ここでJPEGにおけるサンプリングレートとは、Y,Cr,Cbの解像度を示すものであり、例えば4:4:4ならば全ての色の解像度は等しく、4:1:1ならばCr,Cbの解像度はYの解像度の1/4となる。
【0023】
以上の処理は図13のようになり、同図ではサンプリングレートが4:1:1である場合の処理を示している。このように各色毎に解像度が変更された画像データはFDCT部1204にて各色毎に図14記載のFDCTの式に従いDCT変換がなされる。DCT変換により周波数領域に変換された画像データは、量子化部1205にて量子化される。なお量子化においては図15のように濃度成分(Y)と色差成分(Cr,Cb)別に量子化テーブルが用意されるのが通常である。このようにして量子化されたデータは図17に示す順序でエントロピー符号化にて符号化処理がなされるが、JPEGのエントロピー符号化方式は一般的にHuffman符号化が用いられている。
【0024】
一方図16はJPEG復号化を説明する図であり、同図において1601はエントロピー復号化を行う復号化部、1602は復号化部1602から受信したデータを逆量子化する逆量子化部、1603は逆量子化部1602から受信したデータをIDCT(Inverse Discrete Cosine Transform:逆離散コサイン変換)にて周波数成分から画像情報に変換するIDCT部、1604はIDCT部1603から受信した信号の解像度を変換するアップサンプリング部、1605はアップサンプリング部から受信した画像情報の色空間をRGB表現に変換する色変換部である。
【0025】
続いて図16の動作について説明する。
【0026】
上記で説明したJPEG符号化方法にて符号化されたデータは、まず復号化部1601にてエントロピー復号化される。JPEGにおいてのエントロピー復号化は通常Huffman復号化が用いられている。続いて復号化部1601にて復号化されたデータは逆量子化部1602にて逆量子化される。ここで逆量子化に使用される逆量子化テーブルは、上述したJPEG符号化における量子化テーブルを使用する。続いて逆量子化部1602にて逆量子化されたデータはIDCT部1603にて図14のIDCT変換式に従い周波数情報から画像データに変換される。なおここで出力される画像データはY,Cr,Cb表現である。
【0027】
続いてアップサンプリング部1604はIDCT部から出力された各色の画像データの解像度を符号化前の状態に戻す。これは、例えばサンプリングレートが4:2:2である場合にはCr,Cb情報を4倍に拡大し、Y情報の解像度と合わせることと同義である。続いてアップサンプリング部1604にてあるピクセルを構成する全ての色情報が判明したら色変換部1605にてY,Cr,Cb表現の画像データをRGB表現のビットマップ画像に変換する。
【特許文献1】特開2001−205860号公報
【発明の開示】
【発明が解決しようとする課題】
【0028】
しかしながら、上記従来例ではラスタライザはラスタライズしたビットマップが符号化されることを加味していないので、符号化時に除去される冗長な成分も生成していることになり、処理速度と使用メモリ量に無駄があった。
【0029】
本発明は上記問題を解決するためになされたもので、ラスタライズ後に除去される冗長な成分を生成しないことで省メモリ且つ高速な描画処理が可能な画像形成装置および画像形成方法を提供することを目的とする。
【課題を解決するための手段】
【0030】
上記目的を達成するために、本発明の画像形成装置は、描画命令を入力する描画命令入力手段と、入力される描画命令を解析する描画命令解析手段と、前記描画命令解析手段の解析結果にもとづき画像を描画する描画手段と、パラメータにより符号化率を変更できる前記描画手段が出力した画像を符号化する符号化手段を備え、上記描画手段は上記符号化手段のパラメータにより出力する画像の色空間を変更することを特徴としている。
【0031】
また本発明の画像形成装置は、前記描画手段は、上記符号化手段のパラメータにより出力する画像の解像度を色毎に変更することを特徴としている。
【0032】
また本発明の画像形成装置は、前記描画命令解析手段は前記描画手段が実行可能な描画命令を生成し、前記描画命令解析手段は、前記符号化手段のパラメータにより出力する描画手段が実行可能な描画命令の形式を変更することを特徴としている。
【0033】
また本発明の画像形成方法は、描画命令を入力する描画命令入力工程と、入力される描画命令を解析する描画命令解析工程と、前記描画命令解析工程の解析結果にもとづき画像を描画する描画工程と、パラメータにより符号化率を変更できる前記描画工程が出力した画像を符号化する符号化工程を備え、上記描画工程は上記符号化工程のパラメータにより出力する画像の色空間を変更することを特徴としている。
【0034】
また本発明の画像形成方法は、前記描画工程は、上記符号化工程のパラメータにより出力する画像の解像度を色毎に変更することを特徴としている。
【0035】
また本発明の画像形成方法は、前記描画命令解析工程は前記描画工程が実行可能な描画命令を生成し、前記描画命令解析工程は、前記符号化工程のパラメータにより出力する描画工程が実行可能な描画命令の形式を変更することを特徴としている。
【発明の効果】
【0036】
本出願に係る第1の発明によれば、ラスタライズする前に符号化パラメータを参照して出力する色空間を切り替えるため、符号化方式に適したビットマップをラスタライズ時に直接的に生成可能である。
【0037】
また、本出願に係る第2の発明によれば、ラスタライズする前に符号化パラメータを参照して出力する解像度を色空間毎に切り替えるため、符号化時に除去される画像情報をラスタライズ時に生成しないことになるので、高速且つ省メモリが実現できる。
【0038】
また本出願に係る第3の発明によれば、ディスプレイリスト生成時に符号化パラメータを参照して生成するディスプレイリストの形式を変更、例えば色空間毎にディスプレイリストを作成できるので、ラスタライズ時に容易に色空間毎に解像度を変更することが可能になる。
【発明を実施するための最良の形態】
【0039】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例1】
【0040】
図1は本発明の特徴を最もよく表す図面であり、同図においては101は図示しないホストコンピュータから伝送されるPDLを解釈するPDL解釈部、102はPDL解釈部101の解釈に基づいてディスプレイリストを生成するディスプレイリスト生成部、103はディスプレイリスト生成部102で作成されたディスプレイリストに基づいてラスタライズを行うラスタライザ、104は入力されたRGB表現のビットマップをY,Cr,Cb表現のビットマップに変換する色変換部、105は入力されたビットマップを8x8のウィンド領域毎にDCTにて周波数信号に変換するFDCT部、106はFDCT部105にて出力される周波数信号を量子化する量子化部、107は量子化部106にて量子化された信号をHuffman符号化にて符号化する符号化部、108はディスプレイリスト生成部102と量子化部106で後述する圧縮パラメータを供給する圧縮パラメータ供給部である。
【0041】
続いて図1の動作を図2のフローチャートを用いて説明する。
【0042】
まず圧縮パラメータ供給部106は圧縮パラメータを決定する(S201)。本例において圧縮パラメータとはJPEG符号化におけるサンプリングレート及び量子化テーブルであり、これらのパラメータは利用できるメモリサイズから決定する。続いてホストコンピュータから伝送されたPDLをPDL解釈部101にて解釈する(S202)。
【0043】
続いてディスプレイリスト生成部102は、圧縮パラメータ供給部108から通知されるS201にて決定されたサンプリングレートを参照して、サンプリングレートが1:1:1、すなわちダウンサンプリング無である場合にはRGB属性を持つディスプレイリストを作成し(S205)、1:1:1以外すなわちダウンサンプリングする場合にはY及びCr及びCb属性を持つディスプレイリストをそれぞれ作成する(S204)。
【0044】
続いて全てのPDLの解釈が終了したか否かを検査し(S206)、終了していない場合にはS202に戻り残るPDLの解釈を続行する。S206にて全てのPDLの解釈が終了すると、ラスタライザ103はS204もしくはS205にて生成されたディスプレイリストに基づいてバンド単位でラスタライズを行う(S207)。
【0045】
ここで、ディスプレイリストがS204にて生成された場合には、ラスタライザ103は圧縮パラメータ供給部108から通知された上述のサンプリングレートに基づき、色毎に出力解像度を変更してラスタライズを行う。例えばプリンタエンジンの出力解像度が600DPIでサンプリングレート4:1:1である場合には、Yプレーンは600DPI、CrCbプレーンは300DPIにてラスタライズを行う。一方ディスプレイリストがS205にて生成された場合には、プリンタエンジンの解像度にてRGB表現でラスタライズを行う。
【0046】
続いてS207にて生成されたバンドラスタがRGB表現である場合には、色変換部104にてRGB表現からY,Cr,Cb表現に該バンドラスタを変換する(S209)。続いて色変換部104にてY,Cr,Cb表現に変換されたバンドラスタは、FDCT部105にてY,Cr,Cbプレーン毎且つ8×8ピクセルの処理単位(以下MCUと略す)ごとにDCT変換される(S210)。
【0047】
一方S208にて生成されたバンドバッファがY,Cr,Cb表現である場合もS210に進み、各色プレーン毎にDCT変換される。このときラスタライザ103がRGBでラスタライズした場合には、Y,Cr,CbでDCTされるMCUの数はそれぞれの色で等しいが、ラスタライザ103にてY,Cr,Cbにてラスタライズされた場合には、各色の出力解像度に応じてMCUの数が異なることになる。例えばYプレーンが600DPI、CrCbプレーンが300DPIでラスタライズされた場合にはYプレーンでのMCUが4×n(ここでnは整数)だとすれば、CrCbプレーンでのMCUはnになる。
【0048】
続いてFDCT部105にてDCT変換された結果は量子化部106に転送され量子化される(S211)。続いて量子化された結果は符号化部107にてエントロピー符号化、例えばHuffman符号化により符号化される(S212)。
【0049】
続いてS212にて符号化されたMCUがS207でラスタライズされたバンド内の最後のMCUであるか否かを判断し(S213)、最終のMCUでない場合にはS208に戻り上述した処理を繰り返し、最終のMCUである場合には、S207にてラスタライズしたバンドが紙面最後のバンドであるか否かを判断し(S214)、最後のバンドで無い場合にはS207に戻り残るバンドに対して上述の処理を繰り返し、最後のバンドであった場合には処理を終了する。以降の処理については従来例と同様なため説明を省略する。
【0050】
続いてS204及びS205にて生成されるディスプレイリストについて説明する。図3はS204で作成されるディスプレイリストを図示したものの一例であり、301は描画オブジェクト単位のディスプレイリストであり、ディスプレイリストにはヘッダ情報、描画位置情報、S(Source:転送元ビットマップ)を指定するID、P(Patern:パターン)を指定するID、ROP情報が含まる。また302は転送先ビットマップであり、これはディスプレイリスト301の位置情報から獲得することができ、303は転送元ビットマップの実体であり、304はパターンの実体であり、305は逆ポーランド表記のラスターオペレーションコードであり、306は該ディスプレイリストにて生成されるビットマップである。
【0051】
ディスプレイリスト301のヘッダの例を図4に示す。図4の401はディスプレイリスト301で指定してあるSの拡大率、402は同Pの拡大率、403は該ディスプレイリストにて描画される出力色空間が指定してあり、ラスタライザ103はヘッダを調べることにより出力する色空間を決定することができる。
【0052】
一方S205にて作成されるディスプレイリストは図5のようになり、同図において501はYプレーン用のディスプレイリスト、502はCrプレーン用のディスプレイリスト、503はCbプレーン用のディスプレイリストとなる。ここで各ディスプレイリストのPは図304のPをY,Cr,Cb表現に変更したものである。
【0053】
図5において転送先ビットマップ及びパターンの実体は各色毎に用意されるが、それ以外は共有している。以上のようにS205にてディスプレイリストを作成することで、ラスタライザ103は色空間毎にラスタライズを行うことが可能になり、更に色プレーン毎に生成されるビットマップの解像度を変更することが容易になる。
【0054】
図6はS208にて色空間毎に異なる解像度で出力されたビットマップの例を図示するものであり、同図において601はRGB表現のビットマップ、602はYプレーンのビットマップ、603はCrプレーンのビットマップ、604はCbプレーンのビットマップである。601において各ピクセルは24ビットで表現されているため、601のビットマップのサイズは768バイトになるが、602及び603及び604は各ピクセルが8ビットで表現されているので、それらを合計すると384バイトになり、RGB表現よりも少ないサイズで同一描画オブジェクトを生成している事がわかる。
【0055】
以上のように生成されたJPEGコードは従来例で説明したJPEGコードと同様に取り扱うことができ、以降の処理は従来例で説明したので説明を省略する。
【0056】
以上説明したように、ディスプレイリストを生成する前に圧縮パラメータを参照することによりディスプレイリストをY、Cr、Cb別に作成するか否かを決定しているので、容易に色空間ごとの解像度を変更することが可能になる。
【実施例2】
【0057】
実施例1においては、ディスプレイリストの生成前に圧縮パラメータを参照することにより、ディスプレイリストを色別に分けて生成することにより領域毎の解像度を変更する方法について説明したが、本実施例ではラスタライズ時に圧縮パラメータを参照することにより色毎に解像度を変更する手段について説明する。なお、本実施例においては、ディスプレイリストの作成過程までは従来と同様であるので説明を省略する。また本実施例において作成されるディスプレイリストは実施例1で説明した図3と同じであるため説明は省略する。
【0058】
図7は本実施例に係るラスタライザを説明するための図であり、同図において701は入力されるRGB値(24ビット長)をY,Cr,Cb(各8ビット長)に変換する色変換部、702は入力される位置情報に従ってオブジェクトを描画するアドレスを生成するアドレス生成部、703はS(転送元ビットマップ),P(パターン),D(転送先ビットマップ)の各ピクセルの色に対して指定されたROPパラメータにて論理演算を行う論理演算部、704は入力される信号を解像度変換する解像度変換部、705はDが格納されるバッファである。なお論理演算部703はY,Cr、Cbの色毎に用意されている。
【0059】
図7に示されるラスタライザは、図3のディスプレイリストを読込みこみ、該ディスプレイリストから1ピクセル分のS,P,Dを受信する。ここでDを受信するにはアドレス生成部702はディスプレイリストに記述されている位置情報をバンドバッファ705先頭からのオフセットアドレスに変換し、該オフセットのピクセル値をバンドバッファ705から読込む。
【0060】
続いてS,Pに関しては色変換部701によりRGB色空間からY,Cr,Cb色空間に変換が行われ、上述のように入力されたDとともに論理演算部703に入力される。論理演算部703は入力されたS,P,Dの値を読込んだディスプレイリストに記述されているROP情報に従って論理演算を施し、Yの論理演算部は該論理演算結果を上述のようにアドレス生成部702で計算したDのアドレスに格納し、Cr,Cbの論理演算部は該論理演算結果を解像度変換部704に送信する。
【0061】
解像度変換部704は入力される圧縮パラメータ、ここではサンプリングレート、に従って入力される色情報を変倍し、変倍された色情報をYと同様にバンドバッファ705に格納する。解像度変換部の変倍は、例えば解像度変換部704に入力されるサンプリングレートが4:1:1である場合には図8に示されるように1/4にすればよい。なおサンプリングレートが4:4:4の場合には変倍率を1倍にすればよいことは言うまでもない。
【0062】
以上の処理を、入力される1バンド分のオブジェクトに対して行うことで、1バンド分のY、Cr、Cbビットマップが生成されることになる。
【0063】
続いて以上の処理で生成された色毎のビットマップをJPEG符号化するが、この処理は従来例で説明した符号化処理からダウンサンプリング処理を省略するだけでよいので説明は省略する。
【0064】
以上の処理を紙面の全てのバンドに対して行うことで、1紙面分のJPEGコードが生成される。
【0065】
以上のように生成されたJPEGコードは従来例で説明したJPEGコードと同様に取り扱うことができ、以降の処理は従来例で説明したので説明を省略する。
【0066】
以上のようにラスタライズ時に圧縮パラメータを参照することで、圧縮時に削除されない画像情報のみラスタライズすることができ、ラスタライズ時に使用されるメモリ使用量を低減できることになる。
【実施例3】
【0067】
なお、実施例1及び2で説明した圧縮パラメータは1紙面の処理中に変更してもよい。
【0068】
図9はディスプレイリスト生成時にディスプレイリストを格納するメモリが枯渇した場合の処理を示すフローチャートであり、以降同図を用いて本発明に係る第3の実施例を説明する。
【0069】
まず、メモリが枯渇したか否かを判定するフラグとJPEG符号化のパラメータを初期化する(S901)。ここでJPEG符号化のパラメータは符号化による画質劣化が少なくなるように選択、例えばJPEG符号化のサンプリングレートが4:4:4と成るようにする。続いてホストコンピュータから伝送されたPDLの解釈を行い(S902)、ディスプレイリストを生成する(S903)。続いて生成されたディスプレイリストがメモリに格納できるか否かを判定し(S904)、メモリに格納できない場合には上記フラグを1にする(S905)。
【0070】
続いて圧縮パラメータ、本例ではJPEG符号化におけるサンプリングレートを、例えば4:1:1に変更する。続いて変更された圧縮パラメータを参照して、実施例2で説明したようにラスタライズを行い、更にJPEGコードを生成する(S907)。
【0071】
続いてメモリからラスタライズ済みのディスプレイリストを削除し(S908)、S904でメモリに格納できなかったディスプレイリストをメモリに格納すし、S902に戻る。なおS904にてディスプレイリストがメモリに格納できる場合にはPDLの解釈が全て終了したか否かを判定し、終了していない場合にはS902に戻り、残りのPDLの解釈を行いディスプレイリストを生成する。このとき圧縮パラメータが変更されていた場合には、実施例1で説明したようにディスプレイリストの出力を変更しても良い。続いてS909にて全てのPDLの解釈が終了した場合には、上述のフラグを検査し、フラグが1である場合にはラスタライズを行うバンドで既にS907にて符号化されているJPEGコードを復号化してバンドバッファに格納する(S911)。
【0072】
上記のようにJPEGコードを復号化する場合には、圧縮パラメータに色プレーン毎に適した出力解像度で復号化する。続けて実施例2で説明したようにラスタライズとJPEG符号化処理を行い(S912)、以上の処理を紙面の全バンドに対して行う(S913)。
【0073】
以上のように生成されたJPEGコードは従来例で説明したJPEGコードと同様に取り扱うことができ、以降の処理は従来例で説明したので説明を省略する。
【0074】
以上のように1紙面の処理中に圧縮パラメータを変更することにより、メモリが枯渇した場合のみ出力解像度を色毎に変更したビットマップを作成することになるので、メモリが枯渇していない場合には画質が劣化しないようにすることが可能になる。
【図面の簡単な説明】
【0075】
【図1】本発明の第1の実施例に係るプリンタコントローラを説明する図である。
【図2】本発明に係る第1の実施例を説明するフローチャートである。
【図3】本発明の第1の実施例に係るディスプレイリストの一例を示す図である。
【図4】図3のディスプレイリストのヘッダ情報の一例を示す図である。
【図5】本発明の第1の実施例に係るディスプレイリストの一例を示す図である。
【図6】Y、Cr,Cb毎に解像度が異なるビットマップの一例を示す図である。
【図7】本発明の第2の実施例に係るラスタライザを説明する図である。
【図8】本発明の第2の実施例に係る解像度変換の一例を示す図である。
【図9】本発明の第3の実施例を説明するフローチャートである。
【図10】従来例を説明する図である。
【図11】従来例を説明するフローチャートである。
【図12】JPEG符号化を説明する図である。
【図13】JPEG符号化における色変換とダウンサンプリングを説明する図である。
【図14】DCT変換及びIDCT変換の公式である。
【図15】量子化テーブルの一例を示す図である。
【図16】JPEG復号化を説明する図である。
【図17】エントロピー符号化の符号化順を示す図である。
【符号の説明】
【0076】
101 PDL解釈部
102 ディスプレイリスト生成部
103 ラスタライザ
104 色変換部
105 FDCT部
106 量子化部
107 符号化部
108 圧縮パラメータ供給部
701 色変換部
702 アドレス生成部
703 論理演算部
704 解像度変換部
705 バンドバッファ
【技術分野】
【0001】
本発明はPDL(ページ記述言語)を解釈して紙面に出力する画像形成装置および画像形成方法に関するものである。
【背景技術】
【0002】
従来、ホストコンピュータ上で実行される描画アプリケーションを用いて生成された画像情報を印刷するには、その画像情報をPDL(Page Description Language:ページ記述言語)に変換した後、通信ケーブル等を会してプリンタ装置に転送している。このようなプリンタ装置は、装置全体の制御及びPDLを解釈できるプリンタコントローラを備え、プリンタコントローラによりホストコンピュータから伝送されたPDLを受信し、受信したPDLデータをビットマップデータに展開し、プリンタエンジンのインターフェースに送信する処理が行われる。
【0003】
通常ホストコンピュータではディスプレイ上でカラー画像を表現するため、加法混色の三原色であるRGB表現により画像データを取り扱う。そのためPDLに含まれる描画情報は通常RGB表現で表されていることが多い。
【0004】
一方プリンタは減法混色の三原色であるYMC及びK表現を用いて紙面に文書を印刷する。そのため、プリンタコントローラはRGB表現からYMC及びK表現に描画情報を変換する必要があり、この一つの方法としてPDLからビットマップを生成する際にRGB表現でビットマップを形成し、形成されたビットマップをCMYK表現に変換する手法が知られている。この手法はホストコンピュータ上と同じ色表現でビットマップデータを生成したのち色変換を行うので、論理描画において描画不正が発生しない利点がある。
【0005】
しかしながらRGB表現でビットマップデータを生成するには大容量のメモリが必要となりコストが高くなる傾向にある。そのためRGB表現のビットマップを生成する際には紙面を帯状領域(以下バンド領域)に分割して生成し、該バンドを例えばJPEG等の圧縮手段にてプリンタコントローラ内のメモリに保持することにより少ないメモリでもRGB表現のビットマップを生成できるようにしている。
【0006】
以下図10及至17を用いて従来例を説明する。
【0007】
図10は上述したプリンタコントローラの従来例を説明する図であり、同図において1001はPDLデータを生成するホストコンピュータ、1002はホストコンピュータと、例えばLAN(Local Area Network)等で接続されたプリンタコントローラ、1003はホストコンピュータ1001から伝送されるPDLデータを解釈するPDL解釈部、1004はPDL解釈部1003の解釈結果に従って後述するラスタライザ1005が読込める命令(以下ディスプレイリストと称す)を生成するディスプレイリスト生成部、1005は上記ディスプレイリスト生成部が生成したディスプレイリストを読込みビットマップ画像を形成するラスタライザである。
【0008】
1006はラスタライザ1005が生成したビットマップをJPEG符号化にて符号化してJPEGコードを生成するJPEG符号化部、1007はJPEG符号化部1006にて生成されたJPEGコードをビットマップに復号化するJPEG復号化部、1008はJPEG復号化部1007にて復号化されたビットマップの色空間をCMYK表現に変換する色変換部、1009は色変換部1008にて変換されたCMYKビットマップに対してハーフトーン処理を施すハーフトーン処理部、1010は1009にてハーフトーン処理された画像データをプリンタエンジン1012に伝送するDMA(Direct Memory Access)である。
【0009】
1011はプリンタコントローラに搭載されたメモリで、メモリ1010にはディスプレイリスト生成部1004にて生成されるディスプレイリストを格納する領域と、JPEG符号化部にて生成されるJPEGコードを格納する領域と、プリンタエンジンに転送するビットマップを格納する2つのバンドバッファ(バンドバッファ1、バンドバッファ2)が定義され、1011はプリンタコントローラ1002で生成されたハーフトーン画像を紙面に出力するプリンタエンジンである。
【0010】
なおプリンタコントローラ1002とプリンタエンジン1012は高速なインターフェースで接続され、プリンタコントローラ1002は生成したハーフトーン画像を該インターフェースを介してプリンタコントローラに伝送する。
【0011】
続いて図10の動作を図11のフローチャートを用いて説明する。
【0012】
ホストコンピュータ1001にて作成されたPDLはネットワークを介してプリンタコントローラに伝送され、プリンタコントローラ1001に内蔵されるPDL解釈部1003にて伝送されたPDLを解釈し、その解釈結果に従ってディスプレイリスト生成部1004はラスタライザ1005が解釈可能なディスプレイリストを生成する(S1101)。なおディスプレイリストの生成はバンド領域毎に作成され、メモリ1011に定義されたディスプレイリスト領域に格納される。
【0013】
この処理を伝送されたPDL全てに対して行い、1紙面分のディスプレイリストの生成が終了すると、該生成されたディスプレイリストに従ってラスタライザ1005は1バンド分のRGB表現のビットマップを形成する(S1102)。続いてJPEG符号化部1006はS1102にて形成されたビットマップに対してJPEG符号化を行いJPEGコードを生成し、メモリ1011に定義されたJPEGコード領域に生成されたJPEGコードを格納する(S1103)。なおJPEG符号化については後述する。
【0014】
以上のS1101とS1103の処理を全てのバンドを処理し終えるまで繰り返す(S1104)事により1紙面分のJPEGコードを生成する。1紙面分のJPEGコードの生成が終了すると、JPEG復号化部1006はメモリ1011に定義されたバンドバッファ1に紙面先頭バンドを復号化し(S1105)、該復号化されたバンドのビットマップを色変換部にてRGB表現からCMYK表現に変換し、続けてハーフトーン処理部1009にて該CMYK表現に変換されたビットマップをハーフトーン処理する(S1106)。
【0015】
続いてプリンタコントローラ1002はプリンタエンジン1012に対して給紙開始を指示し(S1107)、バンドバッファ1に格納されているハーフトーン処理がなされた画像データをプリンタエンジンに伝送する(S1108)。なおS1108の処理にはDMA1010を使用するので、S1108では転送パラメータを設定し転送開始を指示すると、転送の処理を待たずに次の処理に進むことができる。
【0016】
続いてプリンタエンジン1012に転送しているバンドバッファ以外のバンドバッファ、すなわち初めてS1109を実行する場合はバンドバッファ2、に次のバンドバッファを復号化し(S1109)、該バンドに形成されたビットマップに対して色変換及びハーフトーン処理を施し(S1110)、該バンドバッファをDMAにてプリンタエンジンに転送する(S1111)。なおS1111の処理もS1108と同様DMAの転送終了を待たずに次の処理が続行できる。
【0017】
続いてS1108もしくはS111にて転送開始したDMAの転送終了を待機し(S1112)、DMAによる転送が終了すると、S1111にて転送したバンドが最終バンドである場合には処理を終え、それ以外の場合にはS1109に戻り残りのバンドを処理する。なおS1109ではプリンタエンジン1012に転送中でないバンドバッファに復号化するので、S1109では2つのバンドバッファに対して交互に復号化処理することになる。
【0018】
以上のようにプリンタコントローラ1002はハーフトーン処理された画像データをバンド単位でプリンタコントローラ1012を転送し、プリンタエンジンは受信した画像データを紙面に印刷することになる。
【0019】
続いてJPEG符号化及び復号化について説明する。
【0020】
図12はJPEG符号化を説明するための図であり、同図において1201はRGB画像を生成するラスタライザ、1202はラスタライザ1201から転送されるRGB画像データをY(明度),Cr(赤色差),Cb(青色差)に変換する色変換部、1203は色変換部1202から転送されるY,Cr,Cbの信号からJPEGにおけるサンプリングレートに従って各色毎に解像度を変更するダウンサンプリング部、1204はダウンサンプリング部1203から受信した色毎の画像データに対してDCT(Discrete Cosine Transform:離散コサイン変換)にて画像情報から周波数情報に変換を行うFDCT部、1205はDCT部1204から受信したデータを量子化する量子化部、1206は量子化部1205から受信したデータをエントロピー符号化、例えばHuffman符号化にて符号化する符号化部である。
【0021】
続いて図12の動作について説明する。
【0022】
ラスタライザ1201にて生成されたRGB表現のビットマップは色空間部1202にてY,Cr、Cbに変換される。その後ダウンサンプリング部1202はJPEGにおけるサンプリングレートに従って入力される画像データの解像度を変換する。ここでJPEGにおけるサンプリングレートとは、Y,Cr,Cbの解像度を示すものであり、例えば4:4:4ならば全ての色の解像度は等しく、4:1:1ならばCr,Cbの解像度はYの解像度の1/4となる。
【0023】
以上の処理は図13のようになり、同図ではサンプリングレートが4:1:1である場合の処理を示している。このように各色毎に解像度が変更された画像データはFDCT部1204にて各色毎に図14記載のFDCTの式に従いDCT変換がなされる。DCT変換により周波数領域に変換された画像データは、量子化部1205にて量子化される。なお量子化においては図15のように濃度成分(Y)と色差成分(Cr,Cb)別に量子化テーブルが用意されるのが通常である。このようにして量子化されたデータは図17に示す順序でエントロピー符号化にて符号化処理がなされるが、JPEGのエントロピー符号化方式は一般的にHuffman符号化が用いられている。
【0024】
一方図16はJPEG復号化を説明する図であり、同図において1601はエントロピー復号化を行う復号化部、1602は復号化部1602から受信したデータを逆量子化する逆量子化部、1603は逆量子化部1602から受信したデータをIDCT(Inverse Discrete Cosine Transform:逆離散コサイン変換)にて周波数成分から画像情報に変換するIDCT部、1604はIDCT部1603から受信した信号の解像度を変換するアップサンプリング部、1605はアップサンプリング部から受信した画像情報の色空間をRGB表現に変換する色変換部である。
【0025】
続いて図16の動作について説明する。
【0026】
上記で説明したJPEG符号化方法にて符号化されたデータは、まず復号化部1601にてエントロピー復号化される。JPEGにおいてのエントロピー復号化は通常Huffman復号化が用いられている。続いて復号化部1601にて復号化されたデータは逆量子化部1602にて逆量子化される。ここで逆量子化に使用される逆量子化テーブルは、上述したJPEG符号化における量子化テーブルを使用する。続いて逆量子化部1602にて逆量子化されたデータはIDCT部1603にて図14のIDCT変換式に従い周波数情報から画像データに変換される。なおここで出力される画像データはY,Cr,Cb表現である。
【0027】
続いてアップサンプリング部1604はIDCT部から出力された各色の画像データの解像度を符号化前の状態に戻す。これは、例えばサンプリングレートが4:2:2である場合にはCr,Cb情報を4倍に拡大し、Y情報の解像度と合わせることと同義である。続いてアップサンプリング部1604にてあるピクセルを構成する全ての色情報が判明したら色変換部1605にてY,Cr,Cb表現の画像データをRGB表現のビットマップ画像に変換する。
【特許文献1】特開2001−205860号公報
【発明の開示】
【発明が解決しようとする課題】
【0028】
しかしながら、上記従来例ではラスタライザはラスタライズしたビットマップが符号化されることを加味していないので、符号化時に除去される冗長な成分も生成していることになり、処理速度と使用メモリ量に無駄があった。
【0029】
本発明は上記問題を解決するためになされたもので、ラスタライズ後に除去される冗長な成分を生成しないことで省メモリ且つ高速な描画処理が可能な画像形成装置および画像形成方法を提供することを目的とする。
【課題を解決するための手段】
【0030】
上記目的を達成するために、本発明の画像形成装置は、描画命令を入力する描画命令入力手段と、入力される描画命令を解析する描画命令解析手段と、前記描画命令解析手段の解析結果にもとづき画像を描画する描画手段と、パラメータにより符号化率を変更できる前記描画手段が出力した画像を符号化する符号化手段を備え、上記描画手段は上記符号化手段のパラメータにより出力する画像の色空間を変更することを特徴としている。
【0031】
また本発明の画像形成装置は、前記描画手段は、上記符号化手段のパラメータにより出力する画像の解像度を色毎に変更することを特徴としている。
【0032】
また本発明の画像形成装置は、前記描画命令解析手段は前記描画手段が実行可能な描画命令を生成し、前記描画命令解析手段は、前記符号化手段のパラメータにより出力する描画手段が実行可能な描画命令の形式を変更することを特徴としている。
【0033】
また本発明の画像形成方法は、描画命令を入力する描画命令入力工程と、入力される描画命令を解析する描画命令解析工程と、前記描画命令解析工程の解析結果にもとづき画像を描画する描画工程と、パラメータにより符号化率を変更できる前記描画工程が出力した画像を符号化する符号化工程を備え、上記描画工程は上記符号化工程のパラメータにより出力する画像の色空間を変更することを特徴としている。
【0034】
また本発明の画像形成方法は、前記描画工程は、上記符号化工程のパラメータにより出力する画像の解像度を色毎に変更することを特徴としている。
【0035】
また本発明の画像形成方法は、前記描画命令解析工程は前記描画工程が実行可能な描画命令を生成し、前記描画命令解析工程は、前記符号化工程のパラメータにより出力する描画工程が実行可能な描画命令の形式を変更することを特徴としている。
【発明の効果】
【0036】
本出願に係る第1の発明によれば、ラスタライズする前に符号化パラメータを参照して出力する色空間を切り替えるため、符号化方式に適したビットマップをラスタライズ時に直接的に生成可能である。
【0037】
また、本出願に係る第2の発明によれば、ラスタライズする前に符号化パラメータを参照して出力する解像度を色空間毎に切り替えるため、符号化時に除去される画像情報をラスタライズ時に生成しないことになるので、高速且つ省メモリが実現できる。
【0038】
また本出願に係る第3の発明によれば、ディスプレイリスト生成時に符号化パラメータを参照して生成するディスプレイリストの形式を変更、例えば色空間毎にディスプレイリストを作成できるので、ラスタライズ時に容易に色空間毎に解像度を変更することが可能になる。
【発明を実施するための最良の形態】
【0039】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例1】
【0040】
図1は本発明の特徴を最もよく表す図面であり、同図においては101は図示しないホストコンピュータから伝送されるPDLを解釈するPDL解釈部、102はPDL解釈部101の解釈に基づいてディスプレイリストを生成するディスプレイリスト生成部、103はディスプレイリスト生成部102で作成されたディスプレイリストに基づいてラスタライズを行うラスタライザ、104は入力されたRGB表現のビットマップをY,Cr,Cb表現のビットマップに変換する色変換部、105は入力されたビットマップを8x8のウィンド領域毎にDCTにて周波数信号に変換するFDCT部、106はFDCT部105にて出力される周波数信号を量子化する量子化部、107は量子化部106にて量子化された信号をHuffman符号化にて符号化する符号化部、108はディスプレイリスト生成部102と量子化部106で後述する圧縮パラメータを供給する圧縮パラメータ供給部である。
【0041】
続いて図1の動作を図2のフローチャートを用いて説明する。
【0042】
まず圧縮パラメータ供給部106は圧縮パラメータを決定する(S201)。本例において圧縮パラメータとはJPEG符号化におけるサンプリングレート及び量子化テーブルであり、これらのパラメータは利用できるメモリサイズから決定する。続いてホストコンピュータから伝送されたPDLをPDL解釈部101にて解釈する(S202)。
【0043】
続いてディスプレイリスト生成部102は、圧縮パラメータ供給部108から通知されるS201にて決定されたサンプリングレートを参照して、サンプリングレートが1:1:1、すなわちダウンサンプリング無である場合にはRGB属性を持つディスプレイリストを作成し(S205)、1:1:1以外すなわちダウンサンプリングする場合にはY及びCr及びCb属性を持つディスプレイリストをそれぞれ作成する(S204)。
【0044】
続いて全てのPDLの解釈が終了したか否かを検査し(S206)、終了していない場合にはS202に戻り残るPDLの解釈を続行する。S206にて全てのPDLの解釈が終了すると、ラスタライザ103はS204もしくはS205にて生成されたディスプレイリストに基づいてバンド単位でラスタライズを行う(S207)。
【0045】
ここで、ディスプレイリストがS204にて生成された場合には、ラスタライザ103は圧縮パラメータ供給部108から通知された上述のサンプリングレートに基づき、色毎に出力解像度を変更してラスタライズを行う。例えばプリンタエンジンの出力解像度が600DPIでサンプリングレート4:1:1である場合には、Yプレーンは600DPI、CrCbプレーンは300DPIにてラスタライズを行う。一方ディスプレイリストがS205にて生成された場合には、プリンタエンジンの解像度にてRGB表現でラスタライズを行う。
【0046】
続いてS207にて生成されたバンドラスタがRGB表現である場合には、色変換部104にてRGB表現からY,Cr,Cb表現に該バンドラスタを変換する(S209)。続いて色変換部104にてY,Cr,Cb表現に変換されたバンドラスタは、FDCT部105にてY,Cr,Cbプレーン毎且つ8×8ピクセルの処理単位(以下MCUと略す)ごとにDCT変換される(S210)。
【0047】
一方S208にて生成されたバンドバッファがY,Cr,Cb表現である場合もS210に進み、各色プレーン毎にDCT変換される。このときラスタライザ103がRGBでラスタライズした場合には、Y,Cr,CbでDCTされるMCUの数はそれぞれの色で等しいが、ラスタライザ103にてY,Cr,Cbにてラスタライズされた場合には、各色の出力解像度に応じてMCUの数が異なることになる。例えばYプレーンが600DPI、CrCbプレーンが300DPIでラスタライズされた場合にはYプレーンでのMCUが4×n(ここでnは整数)だとすれば、CrCbプレーンでのMCUはnになる。
【0048】
続いてFDCT部105にてDCT変換された結果は量子化部106に転送され量子化される(S211)。続いて量子化された結果は符号化部107にてエントロピー符号化、例えばHuffman符号化により符号化される(S212)。
【0049】
続いてS212にて符号化されたMCUがS207でラスタライズされたバンド内の最後のMCUであるか否かを判断し(S213)、最終のMCUでない場合にはS208に戻り上述した処理を繰り返し、最終のMCUである場合には、S207にてラスタライズしたバンドが紙面最後のバンドであるか否かを判断し(S214)、最後のバンドで無い場合にはS207に戻り残るバンドに対して上述の処理を繰り返し、最後のバンドであった場合には処理を終了する。以降の処理については従来例と同様なため説明を省略する。
【0050】
続いてS204及びS205にて生成されるディスプレイリストについて説明する。図3はS204で作成されるディスプレイリストを図示したものの一例であり、301は描画オブジェクト単位のディスプレイリストであり、ディスプレイリストにはヘッダ情報、描画位置情報、S(Source:転送元ビットマップ)を指定するID、P(Patern:パターン)を指定するID、ROP情報が含まる。また302は転送先ビットマップであり、これはディスプレイリスト301の位置情報から獲得することができ、303は転送元ビットマップの実体であり、304はパターンの実体であり、305は逆ポーランド表記のラスターオペレーションコードであり、306は該ディスプレイリストにて生成されるビットマップである。
【0051】
ディスプレイリスト301のヘッダの例を図4に示す。図4の401はディスプレイリスト301で指定してあるSの拡大率、402は同Pの拡大率、403は該ディスプレイリストにて描画される出力色空間が指定してあり、ラスタライザ103はヘッダを調べることにより出力する色空間を決定することができる。
【0052】
一方S205にて作成されるディスプレイリストは図5のようになり、同図において501はYプレーン用のディスプレイリスト、502はCrプレーン用のディスプレイリスト、503はCbプレーン用のディスプレイリストとなる。ここで各ディスプレイリストのPは図304のPをY,Cr,Cb表現に変更したものである。
【0053】
図5において転送先ビットマップ及びパターンの実体は各色毎に用意されるが、それ以外は共有している。以上のようにS205にてディスプレイリストを作成することで、ラスタライザ103は色空間毎にラスタライズを行うことが可能になり、更に色プレーン毎に生成されるビットマップの解像度を変更することが容易になる。
【0054】
図6はS208にて色空間毎に異なる解像度で出力されたビットマップの例を図示するものであり、同図において601はRGB表現のビットマップ、602はYプレーンのビットマップ、603はCrプレーンのビットマップ、604はCbプレーンのビットマップである。601において各ピクセルは24ビットで表現されているため、601のビットマップのサイズは768バイトになるが、602及び603及び604は各ピクセルが8ビットで表現されているので、それらを合計すると384バイトになり、RGB表現よりも少ないサイズで同一描画オブジェクトを生成している事がわかる。
【0055】
以上のように生成されたJPEGコードは従来例で説明したJPEGコードと同様に取り扱うことができ、以降の処理は従来例で説明したので説明を省略する。
【0056】
以上説明したように、ディスプレイリストを生成する前に圧縮パラメータを参照することによりディスプレイリストをY、Cr、Cb別に作成するか否かを決定しているので、容易に色空間ごとの解像度を変更することが可能になる。
【実施例2】
【0057】
実施例1においては、ディスプレイリストの生成前に圧縮パラメータを参照することにより、ディスプレイリストを色別に分けて生成することにより領域毎の解像度を変更する方法について説明したが、本実施例ではラスタライズ時に圧縮パラメータを参照することにより色毎に解像度を変更する手段について説明する。なお、本実施例においては、ディスプレイリストの作成過程までは従来と同様であるので説明を省略する。また本実施例において作成されるディスプレイリストは実施例1で説明した図3と同じであるため説明は省略する。
【0058】
図7は本実施例に係るラスタライザを説明するための図であり、同図において701は入力されるRGB値(24ビット長)をY,Cr,Cb(各8ビット長)に変換する色変換部、702は入力される位置情報に従ってオブジェクトを描画するアドレスを生成するアドレス生成部、703はS(転送元ビットマップ),P(パターン),D(転送先ビットマップ)の各ピクセルの色に対して指定されたROPパラメータにて論理演算を行う論理演算部、704は入力される信号を解像度変換する解像度変換部、705はDが格納されるバッファである。なお論理演算部703はY,Cr、Cbの色毎に用意されている。
【0059】
図7に示されるラスタライザは、図3のディスプレイリストを読込みこみ、該ディスプレイリストから1ピクセル分のS,P,Dを受信する。ここでDを受信するにはアドレス生成部702はディスプレイリストに記述されている位置情報をバンドバッファ705先頭からのオフセットアドレスに変換し、該オフセットのピクセル値をバンドバッファ705から読込む。
【0060】
続いてS,Pに関しては色変換部701によりRGB色空間からY,Cr,Cb色空間に変換が行われ、上述のように入力されたDとともに論理演算部703に入力される。論理演算部703は入力されたS,P,Dの値を読込んだディスプレイリストに記述されているROP情報に従って論理演算を施し、Yの論理演算部は該論理演算結果を上述のようにアドレス生成部702で計算したDのアドレスに格納し、Cr,Cbの論理演算部は該論理演算結果を解像度変換部704に送信する。
【0061】
解像度変換部704は入力される圧縮パラメータ、ここではサンプリングレート、に従って入力される色情報を変倍し、変倍された色情報をYと同様にバンドバッファ705に格納する。解像度変換部の変倍は、例えば解像度変換部704に入力されるサンプリングレートが4:1:1である場合には図8に示されるように1/4にすればよい。なおサンプリングレートが4:4:4の場合には変倍率を1倍にすればよいことは言うまでもない。
【0062】
以上の処理を、入力される1バンド分のオブジェクトに対して行うことで、1バンド分のY、Cr、Cbビットマップが生成されることになる。
【0063】
続いて以上の処理で生成された色毎のビットマップをJPEG符号化するが、この処理は従来例で説明した符号化処理からダウンサンプリング処理を省略するだけでよいので説明は省略する。
【0064】
以上の処理を紙面の全てのバンドに対して行うことで、1紙面分のJPEGコードが生成される。
【0065】
以上のように生成されたJPEGコードは従来例で説明したJPEGコードと同様に取り扱うことができ、以降の処理は従来例で説明したので説明を省略する。
【0066】
以上のようにラスタライズ時に圧縮パラメータを参照することで、圧縮時に削除されない画像情報のみラスタライズすることができ、ラスタライズ時に使用されるメモリ使用量を低減できることになる。
【実施例3】
【0067】
なお、実施例1及び2で説明した圧縮パラメータは1紙面の処理中に変更してもよい。
【0068】
図9はディスプレイリスト生成時にディスプレイリストを格納するメモリが枯渇した場合の処理を示すフローチャートであり、以降同図を用いて本発明に係る第3の実施例を説明する。
【0069】
まず、メモリが枯渇したか否かを判定するフラグとJPEG符号化のパラメータを初期化する(S901)。ここでJPEG符号化のパラメータは符号化による画質劣化が少なくなるように選択、例えばJPEG符号化のサンプリングレートが4:4:4と成るようにする。続いてホストコンピュータから伝送されたPDLの解釈を行い(S902)、ディスプレイリストを生成する(S903)。続いて生成されたディスプレイリストがメモリに格納できるか否かを判定し(S904)、メモリに格納できない場合には上記フラグを1にする(S905)。
【0070】
続いて圧縮パラメータ、本例ではJPEG符号化におけるサンプリングレートを、例えば4:1:1に変更する。続いて変更された圧縮パラメータを参照して、実施例2で説明したようにラスタライズを行い、更にJPEGコードを生成する(S907)。
【0071】
続いてメモリからラスタライズ済みのディスプレイリストを削除し(S908)、S904でメモリに格納できなかったディスプレイリストをメモリに格納すし、S902に戻る。なおS904にてディスプレイリストがメモリに格納できる場合にはPDLの解釈が全て終了したか否かを判定し、終了していない場合にはS902に戻り、残りのPDLの解釈を行いディスプレイリストを生成する。このとき圧縮パラメータが変更されていた場合には、実施例1で説明したようにディスプレイリストの出力を変更しても良い。続いてS909にて全てのPDLの解釈が終了した場合には、上述のフラグを検査し、フラグが1である場合にはラスタライズを行うバンドで既にS907にて符号化されているJPEGコードを復号化してバンドバッファに格納する(S911)。
【0072】
上記のようにJPEGコードを復号化する場合には、圧縮パラメータに色プレーン毎に適した出力解像度で復号化する。続けて実施例2で説明したようにラスタライズとJPEG符号化処理を行い(S912)、以上の処理を紙面の全バンドに対して行う(S913)。
【0073】
以上のように生成されたJPEGコードは従来例で説明したJPEGコードと同様に取り扱うことができ、以降の処理は従来例で説明したので説明を省略する。
【0074】
以上のように1紙面の処理中に圧縮パラメータを変更することにより、メモリが枯渇した場合のみ出力解像度を色毎に変更したビットマップを作成することになるので、メモリが枯渇していない場合には画質が劣化しないようにすることが可能になる。
【図面の簡単な説明】
【0075】
【図1】本発明の第1の実施例に係るプリンタコントローラを説明する図である。
【図2】本発明に係る第1の実施例を説明するフローチャートである。
【図3】本発明の第1の実施例に係るディスプレイリストの一例を示す図である。
【図4】図3のディスプレイリストのヘッダ情報の一例を示す図である。
【図5】本発明の第1の実施例に係るディスプレイリストの一例を示す図である。
【図6】Y、Cr,Cb毎に解像度が異なるビットマップの一例を示す図である。
【図7】本発明の第2の実施例に係るラスタライザを説明する図である。
【図8】本発明の第2の実施例に係る解像度変換の一例を示す図である。
【図9】本発明の第3の実施例を説明するフローチャートである。
【図10】従来例を説明する図である。
【図11】従来例を説明するフローチャートである。
【図12】JPEG符号化を説明する図である。
【図13】JPEG符号化における色変換とダウンサンプリングを説明する図である。
【図14】DCT変換及びIDCT変換の公式である。
【図15】量子化テーブルの一例を示す図である。
【図16】JPEG復号化を説明する図である。
【図17】エントロピー符号化の符号化順を示す図である。
【符号の説明】
【0076】
101 PDL解釈部
102 ディスプレイリスト生成部
103 ラスタライザ
104 色変換部
105 FDCT部
106 量子化部
107 符号化部
108 圧縮パラメータ供給部
701 色変換部
702 アドレス生成部
703 論理演算部
704 解像度変換部
705 バンドバッファ
【特許請求の範囲】
【請求項1】
描画命令を入力する描画命令入力手段と、入力される描画命令を解析する描画命令解析手段と、前記描画命令解析手段の解析結果にもとづき画像を描画する描画手段と、パラメータにより符号化率を変更できる前記描画手段が出力した画像を符号化する符号化手段を備え、上記描画手段は上記符号化手段のパラメータにより出力する画像の色空間を変更することを特徴とする画像形成装置。
【請求項2】
請求項1に記載の画像形成装置において、前記描画手段は、上記符号化手段のパラメータにより出力する画像の解像度を色毎に変更することを特徴とする画像形成装置。
【請求項3】
請求項2に記載の画像形成装置において、前記描画命令解析手段は前記描画手段が実行可能な描画命令を生成し、前記描画命令解析手段は、前記符号化手段のパラメータにより出力する描画手段が実行可能な描画命令の形式を変更することを特徴とする画像形成装置。
【請求項4】
描画命令を入力する描画命令入力工程と、入力される描画命令を解析する描画命令解析工程と、前記描画命令解析工程の解析結果にもとづき画像を描画する描画工程と、パラメータにより符号化率を変更できる前記描画工程が出力した画像を符号化する符号化工程を備え、上記描画工程は上記符号化工程のパラメータにより出力する画像の色空間を変更することを特徴とする画像形成方法。
【請求項5】
請求項4に記載の画像形成方法において、前記描画工程は、上記符号化工程のパラメータにより出力する画像の解像度を色毎に変更することを特徴とする画像形成方法。
【請求項6】
請求項5に記載の画像形成方法において、前記描画命令解析工程は前記描画工程が実行可能な描画命令を生成し、前記描画命令解析工程は、前記符号化工程のパラメータにより出力する描画工程が実行可能な描画命令の形式を変更することを特徴とする画像形成方法。
【請求項1】
描画命令を入力する描画命令入力手段と、入力される描画命令を解析する描画命令解析手段と、前記描画命令解析手段の解析結果にもとづき画像を描画する描画手段と、パラメータにより符号化率を変更できる前記描画手段が出力した画像を符号化する符号化手段を備え、上記描画手段は上記符号化手段のパラメータにより出力する画像の色空間を変更することを特徴とする画像形成装置。
【請求項2】
請求項1に記載の画像形成装置において、前記描画手段は、上記符号化手段のパラメータにより出力する画像の解像度を色毎に変更することを特徴とする画像形成装置。
【請求項3】
請求項2に記載の画像形成装置において、前記描画命令解析手段は前記描画手段が実行可能な描画命令を生成し、前記描画命令解析手段は、前記符号化手段のパラメータにより出力する描画手段が実行可能な描画命令の形式を変更することを特徴とする画像形成装置。
【請求項4】
描画命令を入力する描画命令入力工程と、入力される描画命令を解析する描画命令解析工程と、前記描画命令解析工程の解析結果にもとづき画像を描画する描画工程と、パラメータにより符号化率を変更できる前記描画工程が出力した画像を符号化する符号化工程を備え、上記描画工程は上記符号化工程のパラメータにより出力する画像の色空間を変更することを特徴とする画像形成方法。
【請求項5】
請求項4に記載の画像形成方法において、前記描画工程は、上記符号化工程のパラメータにより出力する画像の解像度を色毎に変更することを特徴とする画像形成方法。
【請求項6】
請求項5に記載の画像形成方法において、前記描画命令解析工程は前記描画工程が実行可能な描画命令を生成し、前記描画命令解析工程は、前記符号化工程のパラメータにより出力する描画工程が実行可能な描画命令の形式を変更することを特徴とする画像形成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2006−159436(P2006−159436A)
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願番号】特願2004−349870(P2004−349870)
【出願日】平成16年12月2日(2004.12.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願日】平成16年12月2日(2004.12.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]