(57)【要約】【課題】解像度変換前に同じ線幅の線は、解像度変換後も常に同じ線幅となるとともに、解像度変換後に線が消失しない、高画質な印刷出力を行う画像形成装置を提供する。【解決手段】画像生成部が生成したディジタル画像を、生成した解像度とは異なる解像度へ変換を行う解像度変換機能を持つ画像形成装置において、画像生成部は画像生成時に解像度変換を考慮した画像生成を行う手段を備え、さらに、解像度変換機能が、隣接するＮｘＮのピクセルから、決められた位置のピクセルを抽出することによって、１／Ｎの解像度へ解像度変換する場合、画像生成部は、線を描画する場合、Ｎの倍数である線幅の線を生成する手段を備え、さらに、解像度変換機能が、隣接するＮｘＮのピクセルから、最大の値を抽出することによって、１／Ｎの解像度へ解像度変換する場合、画像生成部は、線を描画する場合、Ｎの倍数＋１である線幅の線を生成する手段を備える。【選択図】図２
2007165987.tif 000002
【特許請求の範囲】
【請求項１】
画像生成部が生成したディジタル画像を、生成した解像度とは異なる解像度へ変換を行う解像度変換機能を持つ画像形成装置において、前記画像生成部は画像生成時に解像度変換を考慮した画像生成を行うことを特徴とする画像形成装置。
【請求項２】
請求項１記載の画像形成装置において、前記解像度変換機能が２つ以上のアルゴリズムで解像度変換が可能である場合、前記画像生成部は、適用する解像度変換アルゴリズムに応じて、画像生成アルゴリズムを選択可能であることを特徴とする画像形成装置。
【請求項３】
請求項１または２記載の画像形成装置において、前記解像度変換機能は、隣接するＮ×Ｎのピクセルから、決められた位置のピクセルを抽出することによって、１／Ｎの解像度へ解像度変換する場合、画像生成部は、線を描画する場合、Ｎの倍数である線幅の線を生成することを特徴とする画像形成装置。
【請求項４】
請求項１または２記載の画像形成装置において、前記解像度変換機能は、隣接するＮ×Ｎのピクセルから、最大の値を抽出することによって、１／Ｎの解像度へ解像度変換する場合、画像生成部は、線を描画する場合、Ｎの倍数＋１である線幅の線を生成することを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、双方向性インターフェースを介してネットワーク上の複数のホストコンピュ−タ及び他のプリンタ等出力装置に接続されるプリンタ等の出力装置及び該装置における出力方法に係る技術である処の画像形成装置に関する。
【背景技術】
【０００２】
近年、情報処理システムで作成された文書の高画質出力への要求が高まっており、高画質出力を行うための様々な技術が提案されている。高画質出力を行うための技術の一つに、生成画像の高解像度化がある。高解像度化を行うことにより、一つの画素を構成する単位が小さくなり、より高精細な画像の生成・出力が可能となる。電子写真やインクジェットなど出力デバイスの進化により１２００ｄｐｉ，２４００ｄｐｉ，４８００ｄｐｉとより高解像度の出力が可能となってきた。出力デバイスが高解像度化にあわせて、プリンタファームウェアが印刷出力するために用意する電子画像も高解像度化する必要があり情報量が爆発的に増大し、プリンタファームウェアの処理への負荷が非常に大きくなっている。
【０００３】
一方で、高解像度画像の印刷出力では、文字についてそのラインがシャープになり高解像度化の効果が十分に現れるが、文字以外のグラフィックやイメージ画像については、その効果は文字に比べ大きくないというのが一般的に知られている。そこで、前述のプリンタファームウェアの処理負荷を軽減するために、文字部分は高解像度の情報として保持し、その他部分は低解像度画像への解像度変換により、データ量を削減するという技術が提案されている。
【０００４】
高解像度画像から、低解像度画像を生成する技術として、一定範囲の画素領域の一部のみを取り出す、「間引きによる解像度変換」と一定範囲の画素領域の中から最大値となる画素を選択して抽出する「最大値取得による解像度変換」がある。
【０００５】
「間引きによる解像度変換」の一例を図３に示す。図３は解像度を１／２にする場合の例であり、この場合隣接する４つの画素から１つの画素値を求める。図の上段が解像度変換前の各画素、図の下段が上段の画素の状態を解像度変換した後の画素の様子を示している。注目する４つの画素の内、注目する画素を左上とすると、この位置の画素値が解像度変換後の画素値となる。図３の（ａ）では左上の画素値が１２８であるので、解像度変換後の画素値は１２８，（ｂ）では左上の画素値が６４であるので、解像度変換後の画素値は６４、以下同様に、（ｃ）、（ｄ）では左上の画素値が０であるので、他の画素に値があっても、解像度変換後の画素値は０となる。
【０００６】
「最大値取得による解像度変換」の一例を図４に示す。図４は図３と同様、解像度を１／２にする場合の例であり、隣接する４つの画素から１つの画素値を求める。注目する４つの画素のうちの最大の画素値を選択して、１つの画素値を求める。図の上段が解像度変換前の各画素、図の下段が上段の画素の状態を解像度変換した後の画素の様子を示している。図４の（ａ）、（ｂ）、（ｄ）では、４つの画素の最大値がそれぞれ１２８であるので、解像度変換後の画素値は１２８がとなり、（ｃ）では、４つの画素の最大値が６４であるので解像度変換後の画素値は６４となる。
【０００７】
「間引きによる解像度変換」と「最大値取得による解像度変換」にはそれぞれ、特徴がある。すなわち、微小文字のような画像に「最大値取得による解像度変換」を適用すると、文字を構成する空間がつぶれてしまい、どのような文字であるか判別が難しくなるため、「間引きによる解像度変換」が適している。一方で、極小幅の細線の画像に「間引きによる解像度変換」を適用すると、線そのものが間引きによって消えてしまう恐れがあるため、「最大値取得による解像度変換」が適している。
【特許文献１】特開２０００−１１１６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
罫線を使用した帳票データや、設計図作成のためのＣＡＤデータ等では、細線が多用されている。これらのデータを高品質に印刷出力するためには、印刷出力される細線の太さが均一である必要がある。そのためプリンタファームウェアでは、線幅が均一となるように電子画像の生成を行うが、前述の解像度変換を行うと、線の描画されている位置や幅により、解像度変換後の線幅が不均一となってしまうという問題がある。
【０００９】
この例を図５に示す。図５の（ａ）、（ｂ）は「間引きによる解像度変換」により、線画像を解像度変換行った場合の例である。（ａ）では解像度変換前は１画素幅の線が２本引かれているが、解像度変換後、右側の線が消えてしまっている。（ｂ）では解像度変換前は３画素幅の線が２本引かれているが、解像度変換後、左側の線は２画素幅であり、右側の線は１画素幅の線と不均一となっている。図５の（ｃ）は「最大値取得による解像度変換」により線画像を解像度変換行った例である。解像度変換前は２画素幅の線が２本引かれているが、解像度変換後、左側の線は１画素幅であり、右側の線は２画素幅の線と不均一になっている。
【００１０】
本発明は、上述の問題点に着目してなされたものであって、線生成時に解像度変換を考慮した線幅の線を生成することにより、解像度変換前に同じ線幅の線は、解像度変換後も常に同じ線幅となるとともに、解像度変換後に線が消失しない、高画質な印刷出力を行う画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明の画像形成装置は、以下（１）〜（４）の構成を備える。
【００１２】
（１）画像生成部が生成したディジタル画像を、生成した解像度とは異なる解像度へ変換を行う解像度変換機能を持つ画像形成装置において、前記画像生成部は画像生成時に解像度変換を考慮した画像生成を行うことを特徴とする画像形成装置。
【００１３】
（２）前記（１）記載の画像形成装置において、前記解像度変換機能が２つ以上のアルゴリズムで解像度変換が可能である場合、前記画像生成部は、適用する解像度変換アルゴリズムに応じて、画像生成アルゴリズムを選択可能であることを特徴とする画像形成装置。
【００１４】
（３）前記（１）または（２）記載の画像形成装置において、前記解像度変換機能は、隣接するＮ×Ｎのピクセルから、決められた位置のピクセルを抽出することによって、１／Ｎの解像度へ解像度変換する場合、画像生成部は、線を描画する場合、Ｎの倍数である線幅の線を生成することを特徴とする画像形成装置。
【００１５】
（４）前記（１）または（２）記載の画像形成装置において、前記解像度変換機能は、隣接するＮ×Ｎのピクセルから、最大の値を抽出することによって、１／Ｎの解像度へ解像度変換する場合、画像生成部は、線を描画する場合、Ｎの倍数＋１である線幅の線を生成することを特徴とする画像形成装置。
【発明の効果】
【００１６】
本発明によれば、線生成時に解像度変換を考慮した線幅の線を生成することにより、解像度変換前に同じ線幅の線は、解像度変換後も常に同じ線幅となるとともに、解像度変換後に線が消失しない、高画質な印刷出力を行う画像形成装置を提供することができる。
【発明を実施するための最良の形態】
【００１７】
［第１実施例］
本実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタおよびインクジェットプリンタの構成について図１を参照しながら説明する。なお、本実施例を適用するプリンタは、レーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【００１８】
図１は本発明を適用可能な出力装置の構成を示す断面図であり、例えばレーザビームプリンタ（ＬＢＰ）の場合を示す。
【００１９】
図１において、１０００はＬＢＰ本体であり、外部にネットワークや直接インターフェースで接続されているホストコンピュータ等の外部情報源から供給される印刷情報（文字コード等）やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。１０１２は操作のためのスイッチおよびＬＥＤ表示器等が配されている操作パネル、１００１はＬＢＰ本体１０００全体の制御および外部ネットワーク等から供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。レーザドライバ１００２は半導体レ−ザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオン・オフ切り換えする。レーザ光１００４は回転多面鏡１００５で左右方向に振らされて静電ドラム１００６上を走査露光する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム１００６周囲に配設された現像ユニット１００７により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と搬送ローラ１０１１とにより、装置内に取り込まれて、静電ドラム１００６に供給される。
【００２０】
図２は本発明の実施例を示すプリンタ制御システムの構成を示すブロック図である。図２のプリンタ制御ユニット１００１において、ＭＡＩＮ−ＣＰＵ１はプリンタのＣＰＵであり、ＲＯＭ４に記憶された制御プログラムや外部メモリ７に記憶された制御プログラムなどに基づいてシステムバス５に接続される各種のデバイスへのアクセスを総合的に制御し、印刷部インタフェース８を介して接続される印刷部（プリンタエンジン）９に出力情報として画像信号を出力する。ＲＯＭ４には図６、図７  のフローチャートに示されるようなＭＡＩＮ−ＣＰＵ１の制御プログラムや、プリンタ１０００の制御に必要なデータを記憶する。ＭＡＩＮ−ＣＰＵ１はＩ／Ｏ１１を介して外部ネットワーク３０００に接続されているホストコンピュータ等の外部装置と通信可能に構成されている。なお、ホストコンピュータと外部ネットワーク３０００を介して通信するとしているが、図示しない直接インターフェースを介してホストコンピュータと接続し、通信を行っても良いことは言うまでもでもない。２はＭＡＩＮ−ＣＰＵ１の主メモリ・ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。３は前記ＲＡＭ２上に用意される画像出力バッファであり、フォールバックバッファや画像スプールとして後述する２０のハードレンダラーやＭＡＩＮ−ＣＰＵ１上で実行されるソフトレンダラ−で作成されるラスタイメージ及び属性ビットが記録される。６はメモリコントローラ（ＭＣ）であり、ハードディスク等の外部メモリ７へのアクセスを制御する。２０はハードレンダラーであり、内部にローカルメモリ２１及びワークテーブルを持っている。ハードレンダラー２０は、ローカルメモリ２１に転送されてきたディスプレイリスト（ＤＬ）を解釈し、ラスタイメージ及びラスタイメージの各ピクセル毎に対応する属性ビットを作成（レンダリング）する。ハードレンダラー２０のレンダリングで生成される各属性ビットは、１ｂｉｔのカラービット、１ｂｉｔの細線／小文字ビット及び２ｂｉｔのオブジェクト種ビットの３つのビットフィールド計４ｂｉｔで構成されている。
【００２１】
カラービットは対応するピクセルがカラーオブジェクトを構成するピクセルであるか、白黒オブジェクトを構成するピクセルであるかを表し、このビットが“０”である時にはカラーオブジェクトを構成するピクセルであり、“１”である時には白黒オブジェクトを構成するピクセルであることを示す。
【００２２】
細線／小文字ビットは対応するピクセルが細線又は小文字を構成するピクセルであるか否かを表し、このビットが“１”である時には細線を構成するピクセルであることを示す。
【００２３】
オブジェクト種ビットは対応するピクセルがどのような種類の描画オブジェクトを構成しているかを表し、“０１”の時には文字オブジェクトを構成するピクセルであり、“１０”のときにはグラフィックスオブジェクトを構成するピクセルであり、“１１”の時にはイメージオブジェクトを構成するピクセルであり、“００”の時には、ラインそのピクセルはラインオブジェクトを構成するピクセルであることを示す。
細線／小文字ビットは対応するピクセルが細線又は小文字を構成するピクセルであるか否かを表し、このビットが“１”である、前述のオブジェクト種ビットが文字オブジェクトであることを示しているときには、そのピクセルは小文字を構成するピクセルであり、ラインオブジェクトであることをしめしているときには、そのピクセルは細線を構成するピクセルであることを示す。
【００２４】
解像度変換部２２は、前記ラスタイメージ及び属性ビットの解像度変換を行う。この解像度変換部は、高解像度から低解像度への解像度変換と、低解像度から高解像度へ解像度変換のいずれも可能である。さらに高解像度から低解像度への解像度変換時には、属性ビットを参照することにより、文字部とそれ以外の部分には異なった処理が適用される。文字部には、低解像度から高解像度へ解像度変換時に、再度低解像度から高解像度に解像度変換した場合。元の高解像度画像と同等の画質を保つ特殊な変換が適用される。また、文字部以外の領域には「間引きによる解像度変換」と「最大値取得による解像度変換」をＭＡＩＮ−ＣＰＵ１の指示に基づいて選択的に適用可能である。
【００２５】
非可逆圧縮／伸張部２２は前記ラスタイメージの非可逆圧縮／伸張を実行し、可逆圧縮／伸張部２３は前記属性ビットの可逆圧縮／伸張を実行する。
【００２６】
画像処理部２５はハードレンダラー２０やソフトレンダラによって生成された属性ビットに基づいて、ラスタデータに文字用の画像処理、イメージ用の画像処理、グラフィック用の画像処理、カラー用の画像処理、白黒用の画像処理、細線用の画像処理、小文字用の画像処理のいずれかまたは組み合わせて施す。
【００２７】
このように構成されたプリンタ制御システムにおいて、図６、及び図７のフローチャートに従って本発明の第１実施例を説明する。
【００２８】
図６は、プリンタ１０００の基本的な印刷処理の動作の流れを示すフローチャートである。
【００２９】
プリンタ１０００は外部ネットワーク３０００からＰＤＬデータを受信すると（Ｓ１０１）、受信したＰＤＬデータを解釈してディスプレイリスト（ＤＬ）を作成する（Ｓ１０２）。Ｓ１０３では、ＰＤＬデータ中に含まれる解像度変換モード設定命令または操作パネル１０１２からユーザが設定している解像度変換モード（以降パネル設定値と呼ぶ）に従って、解像度変換モードを設定する。解像度変換モード設定命令またはパネル設定値では、「間引きによる解像度変換」または「最大値取得による解像度変換」のいずれかの値を設定可能である。データ解釈の過程でＰＤＬデータ中に解像度変換モード設定命令があり、「間引きによる解像度変換」または「最大値取得による解像度変換」が指定されている場合は、指定されている内容で解像度変換モードを設定する。解像度変換モード命令がない場合はパネル設定値に従って設定する。
【００３０】
Ｓ１０４ではＳ１０２で、作成したＤＬをハードレンダラー２０でレンダリングしてラスタイメージ及び対応する属性ビットを生成する。Ｓ１０５では生成されたラスタイメージ及び属性ビットの解像度を判定し、１２００ｄｐｉであれば、Ｓ１０３で設定された解像度変換モードに従って、解像度変換部２２で６００ｄｐｉへ解像度変換を行った（Ｓ１０６）後、画像出力バッファ３へ格納する（Ｓ１０７）。Ｓ１０５で生成されたラスタイメージ及び属性ビットの解像度が６００ｄｐｉの場合は、Ｓ１０７で画像出力バッファ３へ格納する。
【００３１】
格納されたラスタイメージ及び属性ビットは解像度変換部２２で１２００ｄｐｉへ解像度変換した後（Ｓ１０８）、画像処理部２５で、属性ビットに対応する画像処理を施した後（Ｓ１０９）、印刷部９で用紙上へ印刷する（Ｓ１１０）。
【００３２】
続いて、Ｓ１０２のＰＤＬデータ解析／ＤＬ生成の処理の内容をより詳細に説明する。ＰＤＬデータの中で図形描画のために指定される座標は、実際に描画の行なわれる座標系（デバイス空間）とは独立した、任意の座標系で指定され、このＰＤＬデータ中で指定される座標の座標空間をユーザ空間と呼ぶ。ユーザ空間とデバイス空間はカレントマトリクス（以後ＣＴＭと呼ぶ）によって関連付けられており、ユーザ空間で指定された座標はＣＴＭによりデバイス空間に写像される。
【００３３】
ＰＤＬデータには描画を行うコマンドとして、主に、拡大や縮小、回転等のＣＴＭの変更を行うＣＴＭ変更命令、ユーザ空間上で描画するオブジェクトの形を指定するパスを構築するパス構築命令、前記構築したパスを指定線幅、ジョイン、キャップを持つラインとして描画するライン描画命令、前記構築したパスの内部を塗りつぶすパス塗りつぶし命令、指定したイメージ画像を描画するイメージ描画命令、文字列を描画する文字描画命令、画像のクリップを指定するクリップ指定命令等が含まれている。
【００３４】
ＰＤＬデータ解析処理は、前述のような各種コマンドの含まれるＰＤＬデータを解析し、対応するコマンドに応じた処理を実行し、ハードレンダラー２０の解釈可能なディスプレイリストの生成をする。
【００３５】
ここでは、ＰＤＬ解析処理の中で特に、ＰＤＬデータ内にライン描画命令があった場合の処理を図７のフローチャートを参照して詳細に説明する。
【００３６】
ライン描画命令が実行される際、通常は事前に前記パス構築命令郡によってラインとして描画すべきパスが構築されている。パスは直線成分と、曲線成分により構成されており、曲線成分が含まれる場合ステップＳ２０１で曲線成分の直線化処理を行う。パス中で曲線成分は２つの端点と２つの制御点で定義されるベジエ３次曲線で定義されており、１つのベジエ３次曲線は２つベジエ３次曲線に分割することが可能である。分割を繰り返すことにより、分割されたベジエ３次曲線は端点を結ぶ直線に近づいていく。この分割を分割されたベジエ３次曲線が直線とみなすことができるまで繰り返すことにより直線近似を行う。直線化処理後のパス中の各セグメントは、２つの短点のみで定義される直線となる。
【００３７】
続いてＳ２０２から、Ｓ２１１の処理をセグメント毎に繰り返す。
【００３８】
Ｓ２０３では、処理対象セグメントにおいて、指定線幅の太らせ処理をした後ＣＴＭを適用してデバイス空間に写像した場合の、デバイス空間上での線幅を求める。
【００３９】
デバイス空間上での線幅はユーザ空間上での指定線幅ＷとＣＴＭから以下のように求めることができる。
【００４０】
ＣＴＭを、
【００４１】
2007165987.tif 000003
【００４２】
とすると、図８のようにユーザ空間上でＸ軸に対しθの角度（ラジアン）を持つセグメントのデバイス空間上での線幅Ｄは、
【００４３】
2007165987.tif 000004
【００４４】
と求めることができる。
【００４５】
Ｓ２０４では、レンダリング解像度により処理を分岐し、レンダリング解像度が１２００ｄｐｉであればＳ２０５へ、レンダリング解像度が６００ｄｐｉであればＳ２０８へ進む。
【００４６】
Ｓ２０５では、図６のＳ１０３で格納されている解像度変換モードを参照し、解像度変換モードが「最大値取得による解像度変換」に設定されていれば、デバイス空間上で奇数ピクセルの線幅になるように、ユーザ空間上での線幅を調整する（Ｓ２０６）。調整後のユーザ空間上での線幅をＷ２、そのときのデバイス空間上での線幅をＤ２とすると、Ｗ２は次のように求めることができる。ステップＳ２０３で求めた線幅を四捨五入して整数値とする。このとき、０となってしまう場合は、特別に１とする。四捨五入後の値が偶数であれば、その値から１をマイナスし、奇数であればその値をデバイス空間上での線幅Ｄ２とする。Ｗ２は、
【００４７】
2007165987.tif 000005
【００４８】
となる。例えば、ユーザ空間上での指定線幅Ｗが３であり、式２により求めたデバイス空間上の線幅Ｄが６．４であったとすると、これを四捨五入した値は６であり、偶数であるのでＤ２は５となる。従って、調整後のユーザ空間上での線幅Ｗ２は、３＊（５／６．３）＝２．２４２７５となる。
【００４９】
Ｓ２０５で、Ｓ１０３で格納されている解像度変換モードが、「間引きによる解像度変換」の場合は、Ｓ２０７でデバイス空間上での線幅が偶数ピクセルの線幅になるように、ユーザ空間上での線幅を調整する。調整後のユーザ空間上での線幅をＷ２、そのときのデバイス空間上での線幅をＤ２とすると、Ｗ２は次のように求めることができる。ステップＳ２０３で求めた線幅を四捨五入して整数値とする。このとき、０となってしまう場合は、特別に１とする。四捨五入後の値が奇数であれば、その値に１をプラスし、偶数であればその値をデバイス空間上での線幅Ｄ２とする。Ｗ２は、
【００５０】
2007165987.tif 000006
【００５１】
となる。例えば、ユーザ空間上での指定線幅Ｗが２であり、式２により求めたデバイス空間上の線幅Ｄが４．８であったとすると、これを四捨五入した値は５であり、奇数であるのでＤ２は１をプラスして６となる。従って、調整後のユーザ空間上での線幅Ｗ２は、２＊（６／４．８）＝２．５となる。
【００５２】
Ｓ２０８では、レンダリング解像度が６００ｄｐｉ時の線幅調整を行う。レンダリング解像度が６００ｄｐｉの時には、デバイス空間上での線幅が整数ピクセルの線幅になるように、ユーザ空間上での線幅を調整する。調整後のユーザ空間上での線幅をＷ２、そのときのデバイス空間上での線幅をＤ２とすると、Ｄ２はステップＳ２０３で求めた線幅を四捨五入して整数値とした値であり、Ｗ２は、
【００５３】
2007165987.tif 000007
【００５４】
となる。例えば、ユーザ空間上での指定線幅Ｗが３であり、式２により求めたデバイス空間上の線幅Ｄが３．７５であったとすると、これを四捨五入した値Ｄ２は４であるので、３＊（４／３．７５）＝３．２となる。
【００５５】
Ｓ２０９では、Ｓ２０６またはＳ２０７またはＳ２０８で求めた、調整後のユーザ空間上での線幅Ｗ２に従って、処理対象セグメント太らせ処理を行う。太らせ処理では、図９に示すように、処理対象セグメント９０１を中心とした、幅Ｗ２の矩形のパス９０２を生成する。
【００５６】
Ｓ２１０では、Ｓ２０６またはＳ２０７またはＳ２０８で算出した、調整後のデバイス空間上での線幅Ｄ２を参照して、対象セグメントの属性値を線または細線に設定する。ここでは、Ｄ２が５ピクセルより大きければ線属性を、５ピクセル以下であれば細線属性を設定する。
【００５７】
ステップＳ２１１では、Ｓ２０９の太らせ処理で生成した矩形パスをＣＴＭでデバイス空間に変換したうえでＤＬ生成処理に渡して注目セグメントをライン描画するためのＤＬを生成する。なお、ここで生成されるＤＬにより、前記ステップＳ１０４のレンダリング時に描画されるピクセルに対応ずる属性ビットはステップＳ２１０で設定されたものが出力されている。
【００５８】
以上、第１実施例によれば、線生成時に解像度変換を考慮した線幅の線を生成することにより、解像度変換前に同じ線幅の線は、解像度変換後も常に同じ線幅となるとともに、解像度変換後に線が消失しない、高画質な印刷出力を得ることができる。
【００５９】
［第２実施例］
図１０、図１１のフローチャートを参照して、第２の実施例を説明する。なお、本実施例を適用する出力装置の構成図１、及びプリンタ制御装置の構成図２は、第１実施例と同様であるため、説明を割愛する。
【００６０】
図１０は、プリンタ１０００の基本的な印刷処理の動作の流れを示すフローチャートである。
【００６１】
プリンタ１０００は外部ネットワーク３０００からＰＤＬデータを受信すると（Ｓ１００１）、受信したＰＤＬデータを解釈してディスプレイリスト（ＤＬ）を作成する（Ｓ１００２）。Ｓ１００３では、ＰＤＬデータ中に含まれる解像度変換モード設定命令または操作パネル１０１２からユーザが設定している解像度変換モード（以降パネル設定値と呼ぶ）に従って、解像度変換モードを設定する。解像度変換モード設定命令またはパネル設定値では、「間引きによる解像度変換」または「最大値取得による解像度変換」のいずれかの値を設定可能である。データ解釈の過程でＰＤＬデータ中に解像度変換モード設定命令があり、「間引きによる解像度変換」または「最大値取得による解像度変換」が指定されている場合は、指定されている内容で解像度変換モードを設定する。解像度変換モード命令がない場合はパネル設定値に従って設定する。
【００６２】
Ｓ１００４ではＳ１００２で、作成したＤＬをハードレンダラー２０でレンダリングしてラスタイメージ及び対応する属性ビットを生成する。Ｓ１００５では生成されたラスタイメージ及び属性ビットの解像度を判定し、１２００ｄｐｉであれば、Ｓ１００３で設定された解像度変換モードに従って、解像度変換部２２で４００ｄｐｉへ解像度変換を行った（Ｓ１００６）後、画像出力バッファ３へ格納する（Ｓ１００７）。Ｓ１００５で生成されたラスタイメージ及び属性ビットの解像度が４００ｄｐｉの場合は、Ｓ１００７で画像出力バッファ３へ格納する。
【００６３】
格納されたラスタイメージ及び属性ビットは解像度変換部２２で１２００ｄｐｉへ解像度変換した後（Ｓ１００８）、画像処理部２５で、属性ビットに対応する画像処理を施した後（Ｓ１００９）、印刷部９で用紙上へ印刷する（Ｓ１０１０）。
【００６４】
続いて、Ｓ１００２のＰＤＬデータ解析／ＤＬ生成の処理の内容をより詳細に説明する。ＰＤＬデータの中で図形描画のために指定される座標は、実際に描画の行なわれる座標系（デバイス空間）とは独立した、任意の座標系で指定され、このＰＤＬデータ中で指定される座標の座標空間をユーザ空間と呼ぶ。ユーザ空間とデバイス空間はカレントマトリクス（以後ＣＴＭと呼ぶ）によって関連付けられており、ユーザ空間で指定された座標はＣＴＭによりデバイス空間に写像される。
【００６５】
ＰＤＬデータには描画を行うコマンドとして、主に、拡大や縮小、回転等のＣＴＭの変更を行うＣＴＭ変更命令、ユーザ空間上で描画するオブジェクトの形を指定するパスを構築するパス構築命令、前記構築したパスを指定線幅、ジョイン、キャップを持つラインとして描画するライン描画命令、前記構築したパスの内部を塗りつぶすパス塗りつぶし命令、指定したイメージ画像を描画するイメージ描画命令、文字列を描画する文字描画命令、画像のクリップを指定するクリップ指定命令等が含まれている。
【００６６】
ＰＤＬデータ解析処理は、前述のような各種コマンドの含まれるＰＤＬデータを解析し、対応するコマンドに応じた処理を実行し、ハードレンダラー２０の解釈可能なディスプレイリストの生成をする。
【００６７】
ここでは、ＰＤＬ解析処理の中で特に、ＰＤＬデータ内にライン描画命令があった場合の処理を図１１のフローチャートを参照して詳細に説明する。
【００６８】
ライン描画命令が実行される際、通常は事前に前記パス構築命令郡によってラインとして描画すべきパスが構築されている。パスは直線成分と、曲線成分により構成されており、曲線成分が含まれる場合ステップＳ１１０１で曲線成分の直線化処理を行う。パス中で曲線成分は２つの端点と２つの制御点で定義されるベジエ３次曲線で定義されており、１つのベジエ３次曲線は２つのベジエ３次曲線に分割することが可能である。分割を繰り返すことにより、分割されたベジエ３次曲線は端点を結ぶ直線に近づいていく。この分割を分割されたベジエ３次曲線が直線とみなすことができるまで繰り返すことにより直線近似を行う。直線化処理後のパス中の各セグメントは、２つの短点のみで定義される直線となる。
【００６９】
続いてＳ１１０２から、Ｓ１１１１の処理をセグメント毎に繰り返す。
【００７０】
Ｓ１１０３では、処理対象セグメントにおいて、指定線幅の太らせ処理をした後ＣＴＭを適用してデバイス空間に写像した場合の、デバイス空間上での線幅を求める。
【００７１】
デバイス空間上での線幅はユーザ空間上での指定線幅ＷとＣＴＭから以下のように求めることができる。
【００７２】
ＣＴＭを、
【００７３】
2007165987.tif 000008
【００７４】
とすると、図８のようにユーザ空間上でＸ軸に対しθの角度（ラジアン）を持つセグメントのデバイス空間上での線幅はＤは、
【００７５】
2007165987.tif 000009
【００７６】
と求めることができる。
【００７７】
Ｓ１１０４では、レンダリング解像度により処理を分岐し、レンダリング解像度が１２００ｄｐｉであればＳ１１０５へ、レンダリング解像度が４００ｄｐｉであればＳ１１０８へ進む。
【００７８】
Ｓ１１０５ではＳ１００３で格納されている解像度変換モードを参照し、解像度変換モードが「最大値取得による解像度変換」に設定されていれば、デバイス空間上で３Ｎ＋１の線幅になるように、ユーザ空間上での線幅を調整する（Ｓ１１０６）。調整後のユーザ空間上での線幅をＷ２、そのときのデバイス空間上での線幅をＤ２とすると、Ｗ２は次のように求めることができる。ステップＳ１１０３で求めた線幅を四捨五入して整数値Ｔとする。Ｔが０となってしまう場合は、特別に１とする。このときＤ２は、
Ｄ２＝ＩＮＴ（（Ｔ−１）／３）＊３＋１    （式８）
となる。ここでＩＮＴ（（Ｔ−１）／３）はＴ−１を３で割った商であることを表している。Ｗ２は、
【００７９】
2007165987.tif 000010
【００８０】
となる。例えば、ユーザ空間上での指定線幅Ｗが３であり、式２により求めたデバイス空間上の線幅Ｄが６．４であったとすると、これを四捨五入した値は６であり、Ｄ２はＩＮＴ（（６−１）３）／３）＊３＋１＝４となる。従って、調整後のユーザ空間上での線幅Ｗ２は、３＊（４／６．３）＝１．９０４７６１９０４７６１９となる。
【００８１】
Ｓ１１０５で、Ｓ１００３で格納されている解像度変換モードが、「間引きによる解像度変換」の場合は、Ｓ１１０７でデバイス空間上での線幅が偶数ピクセルの線幅になるように、ユーザ空間上での線幅を調整する。調整後のユーザ空間上での線幅をＷ２、そのときのデバイス空間上での線幅をＤ２とすると、Ｗ２は次のように求めることができる。ステップＳ１１０３で求めた線幅を四捨五入して整数値Ｔとする。Ｔが０となってしまう場合は、特別に１とする。このときＤ２は、
Ｄ２＝ＩＮＴ（（Ｔ＋２）／３）＊３        （式１０）
となる。ここでＩＮＴ（（Ｔ＋２）／３）はＴ＋２を３で割った商であることを表している。Ｗ２は、
【００８２】
2007165987.tif 000011
【００８３】
となる。例えば、ユーザ空間上での指定線幅Ｗが２であり、式２により求めたデバイス空間上の線幅Ｄが４．８であったとすると、これを四捨五入した値は５であり、Ｄ＝２は、ＩＮＴ（（５＋２）／３）＊３＝６となる。従って、調整後のユーザ空間上での線幅Ｗ２は、２＊（６／４．８）＝２．５となる。
【００８４】
Ｓ１１０８では、レンダリング解像度が４００ｄｐｉ時の線幅調整を行う。レンダリング解像度が６００ｄｐｉの時には、デバイス空間上での線幅が整数ピクセルの線幅になるように、ユーザ空間上での線幅を調整する。調整後のユーザ空間上での線幅をＷ２、そのときのデバイス空間上での線幅をＤ２とすると、Ｄ２はステップＳ１１０３で求めた線幅を四捨五入して整数値とした値であり、Ｗ２は、
【００８５】
2007165987.tif 000012
【００８６】
となる。例えば、ユーザ空間上での指定線幅Ｗが３であり、式２により求めたデバイス空間上の線幅Ｄが３．７５であったとすると、これを四捨五入した値Ｄ２は４であるので、３＊（４／３．７５）＝３．２となる。
【００８７】
Ｓ１１０９では、Ｓ１１０６またはＳ１１０７またはＳ１１０８で求めた、調整後のユーザ空間上での線幅Ｗ２に従って、処理対象セグメント太らせ処理を行う。太らせ処理では、図９に示すように、処理対象セグメント９０１を中心とした、幅Ｗ２の矩形のパス９０２を生成する。
【００８８】
Ｓ１１１０では、Ｓ１１０６またはＳ１１０７またはＳ１１０８で算出した、調整後のデバイス空間上での線幅Ｄ２を参照して、対象セグメントの属性値を線または細線に設定する。ここでは、Ｄ２が５ピクセルより大きければ線属性を、５ピクセル以下であれば細線属性を設定する。
【００８９】
ステップＳ１１１１では、Ｓ１１０９の太らせ処理で生成した矩形パスをＣＴＭでデバイス空間に変換したうえでＤＬ生成処理に渡して注目セグメントをライン描画するためのＤＬを生成する。なお、ここで生成されるＤＬにより、前記図１０のステップＳ１００４のレンダリング時に描画されるピクセルに対応ずる属性ビットはステップＳ１１１０で設定されたものが出力されている。
【００９０】
以上、第２実施例によれば、線生成時に解像度変換を考慮した線幅の線を生成することにより、解像度変換前に同じ線幅の線は、解像度変換後も常に同じ線幅となるとともに、解像度変換後に線が消失しない、高画質な印刷出力を得ることができる。
【図面の簡単な説明】
【００９１】
【図１】本発明を適用可能な実施例の出力装置の構成を示す断面図である．
【図２】本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である．
【図３】「間引きによる解像度変換」の一例を説明する図である。
【図４】「最大値取得による解像度変換」の一例を説明する図である。
【図５】本発明の、課題を説明する図である。
【図６】本発明の第１実施例の、プリンタ１０００の動作を説明するフローチャートである。
【図７】本発明の第１実施例の、ライン描画命令の処理を説明するフローチャートである。
【図８】本発明の実施例の、線幅の計算式を説明するための図である。
【図９】太らせ処理の概要を説明する図である。
【図１０】本発明の第２実施例の、プリンタ１０００の動作を説明するフローチャートである。
【図１１】本発明の第２実施例の、ライン描画命令の処理を説明するフローチャートである。
【符号の説明】
【００９２】
１  ＭＡＩＮ−ＣＰＵ
２  ＲＡＭ
３  画像出力バッファ
２０  ハードレンダラー
２１  ローカルメモリ
２２  解像度変換部
２３  非可逆圧縮／伸張部
２４  可逆圧縮／伸張部
２５  画像処理部
１０００  プリンタ
１００１  プリンタ制御部
３０００  外部ネットワーク
【図１】
2007165987.tif 000013
【図２】
2007165987.tif 000014
【図６】
2007165987.tif 000015
【図７】
2007165987.tif 000016
【図８】
2007165987.tif 000017
【図９】
2007165987.tif 000018
【図１０】
2007165987.tif 000019
【図１１】
2007165987.tif 000020
【図３】
2007165987.tif 000021
【図４】
2007165987.tif 000022
【図５】
2007165987.tif 000023