(57)【要約】  【課題】  種々の形状を呈する全ての描画対象のオブジェクト（Source）に対して統一した処理で対応できて、処理時間を短くしたＰＣＬプリンタを提供する。  【解決手段】  ＰＣＬプリンタ２０において、通信線１０を介した外部のＰＣ１１からのＰＣＬに含まれる指定された描画対象のオブジェクト（Source）を取り囲む矩形領域を新たなオブジェクト（Source）として扱い、この新たなオブジェクト（Source）に対して、指定された論理演算モードを実行した場合と同じ結果が得られるように指定された論理演算モードを適切に変換してなる論理演算を実行し、その演算結果を描画メモリ７に書き込み、演算結果で表された描画メモリ７に展開されている画像を記録部２で用紙にプリントアウトする。【選択図】        図１
2005078521.tif 000002
【特許請求の範囲】
【請求項１】
描画対象のオブジェクトの形状情報と該オブジェクトの描画に関する論理演算情報とを含むプリンタコントロール言語を解析して、該プリンタコントロール言語で指示される画像をメモリに描画する方法において、前記描画対象のオブジェクトを取り囲む矩形領域を設定し、設定した矩形領域に対して、前記論理演算情報に基づく論理演算を実行することを特徴とする描画方法。
【請求項２】
前記論理演算情報と論理演算の式とを対照させたテーブルを準備しておき、前記矩形領域に対して実行する前記論理演算の式を前記テーブルから設定することを特徴とする請求項１記載の描画方法。
【請求項３】
記録対象のオブジェクトの形状情報と該オブジェクトの記録に関する論理演算情報とを含むプリンタコントロール言語を解析して、該プリンタコントロール言語で指示される画像を記録する記録装置において、前記記録対象のオブジェクトを取り囲む矩形領域を設定する手段と、設定した矩形領域に対して前記論理演算情報に基づく論理演算を実行する演算手段と、該演算手段による演算結果をメモリに書き込む手段と、前記メモリの書込み内容に応じた画像を記録する手段とを備えることを特徴とする記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語（ＰＤＬ：Page Description Language)のプリンタコントロール言語（ＰＣＬ：Printer Copntrol Language)を解釈して、ＰＣＬで指示される画像をメモリに描画する描画方法、及び、そのＰＣＬで指示される画像を記録する記録装置（ＰＣＬプリンタ）に関し、特に、ＰＣＬプリンタでの画像展開における論理演算の実行手法にする。
【背景技術】
【０００２】
本来のコピー機能，ファクシミリ機能に加えて、通信網を介してパーソナルコンピュータ（ＰＣ：Personal Computer)と接続されており、ＰＣから送られるデータを他のファクシミリ装置へ送信する送信機能、及び、そのデータをプリントアウトするプリンタ機能を備えた機能複合型のファクシミリ装置（ファクシミリ複合装置）が開発されている。また、インタフェース装置を介してＰＣとネットワークプリンタとが接続されており、ＰＣにて作成・編集されたデータをインタフェース装置を介してネットワークプリンタへ送出してプリントアウトするネットワークプリンティングシステムが知られている。このようなＰＣからのデータをプリントアウトする装置では、ＰＣから送られるプリンタ言語（ＰＪＬ（Printer Job Language：プリンタジョブ言語）、ＰＤＬなど）を解釈して、その解釈結果に基づいて画像を記録する（例えば、特許文献１，２参照）。
【０００３】
文書作成ソフトウエアや表計算ソフトウエアなどのＰＣ上のアプリケーションからプリントが指示された場合、選択されているプリンタドライバは、プリントデータをプリンタが解釈可能なデータに変換する。ＰＣＬプリンタのプリンタドライバが生成するデータは、ＰＪＬの部分とＰＣＬの部分とで構成されている。図９にこれらのデータを示す。図９の上段の文字サイズが大きい部分がＰＪＬであり、文字サイズが小さい部分がＰＣＬ−ＸＬである。ＰＪＬは元来テキストデータ列で表されており、ＰＣＬは通常バイナリデータ列で表されている。但し、図９の下段では、ＰＪＬも含めてバイナリデータ列で表示している。
【０００４】
ＰＪＬには主にプリンタに対するジョブ制御命令（例えば両面プリント指示命令など）が含まれており、ＰＣＬ−ＸＬには主にページに描画される内容が記述されている。ＸＬではセッションと呼ばれる単位の中に、複数のページが含まれている。図１０は、ＰＣＬ−ＸＬコマンドの構成例を示す図である。各ページの中には、サイズ，向きを指示するページ設定コマンド、原点及び座標系を指示する座標設定コマンド、線や塗りつぶしのパターン，後述する論理演算モードを指示する描画モード設定コマンド、描画したいオブジェクトを指示する描画コマンドが含まれている。ＰＣＬプリンタは、このようなＰＪＬ及びＰＣＬのコマンドを解釈し、描画メモリにページを展開してプリント処理を実行する。
【０００５】
ＰＣＬには、描画対象のオブジェクト（以下、Sourceとも言う）と、オブジェクトの塗りつぶしパターン（以下、Paint とも言う）と、論理演算モードとが、所定の文法則に従って記述されており、あるオブジェクトの記録（描画）がＰＣＬコマンドにてＰＣから指示される場合、これらの３種の情報が指定される。ＰＣＬプリンタは、指定されたSource、Paint 及び既に描画されているオブジェクト（以下、Destination とも言う）を被演算子、指定された論理演算モードを演算子として論理演算を実行し、その演算結果を描画メモリに書き込む。この描画手法の一例を図１１に示す。
【０００６】
図１２は、論理演算モードを説明するための図である。論理演算モードは、ＲＯＰコードとPaint TxモードとSource Tx モードとの３種類で指定される。ＲＯＰコードは、２５６種類の論理演算コードであり、Paint をＰ、SourceをＳ、Destination をＤと夫々略記した逆ポーランド記法で示される。例えば、ＳＤＰxoは、Paint 及びDestination の排他的論理和の計算結果とSourceとで論理和をとるという論理演算を示している（図１２（ａ）参照）。また、Paint Txモード及びSource Tx モードは、OpaqueとTransparencyとの２つの値をとる。Opaqueは白部分が不透明である（透過ではない）ことを示し（図１２（ｂ）参照）、Transparencyは白部分が透明である（透過である）ことを示す（図１２（ｃ）参照）。例えば、Paint TxモードでOpaqueが指定された場合には、Paint の白部分が不透明であることを示している。
【０００７】
ＲＯＰコード，Paint Txモード及びSource Tx モードの３種類で指定される論理演算モードは、最終的に２５６種類の論理演算の一つに帰着する。例えば、ＲＯＰ＝ＳＤＰxo，Paint Txモード＝Opaque，Source Tx モード＝Transparencyは、ＤＰＳnax の論理演算を実行することと等価となる。そして、ＰＣＬプリンタは、ＰＣから送られてくるＲＯＰコード，Paint Txモード及びSource Tx モードに基づき、これらの指示内容を統合して１つの論理演算の式を作成し、この作成した論理演算の式に従った演算結果を描画メモリに書き込む。
【特許文献１】特開平１０−３２９３７１号公報
【特許文献２】特開２００２−２６８８４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ＰＣＬプリンタ側では、ＰＣＬで指定される描画対象のオブジェクト（Source）の外周領域を管理し、その内部領域に対して指定された論理演算を実行することになるが、この場合、各画素がその内部領域に存在するか否かを判定し、存在すると判定された画素に対してのみ論理演算を行う必要がある。描画対象のオブジェクト（Source）は種々の複雑な形状を呈している場合が多く、このような場合には上述の処理が複雑になるという問題がある。
【０００９】
本発明は斯かる事情に鑑みてなされたものであり、種々の形状を呈する全ての描画対象のオブジェクト（Source）に対して統一した処理で対応することができ、簡単な処理で済ますことができる描画方法及び記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
請求項１に係る描画方法は、描画対象のオブジェクトの形状情報と該オブジェクトの描画に関する論理演算情報とを含むプリンタコントロール言語を解析して、該プリンタコントロール言語で指示される画像をメモリに描画する方法において、前記描画対象のオブジェクトを取り囲む矩形領域を設定し、設定した矩形領域に対して、前記論理演算情報に基づく論理演算を実行することを特徴とする。
【００１１】
請求項１にあっては、プリンタコントロール言語（ＰＣＬ）に含まれる指定された描画対象のオブジェクト（Source）を取り囲む矩形領域を新たなオブジェクト（Source）として扱い、この新たなオブジェクト（Source）に対して、指定された論理演算モードを実行した場合と同じ結果が得られるように指定された論理演算モードを適切に変換してなる論理演算を実行し、その演算結果をメモリに描画する。よって、指定されるオブジェクトが如何なる形状を呈していても、全て統一的に簡単な処理で取り扱えるため、その処理時間も短くて済む。
【００１２】
請求項２に係る描画方法は、請求項１において、前記論理演算情報と論理演算の式とを対照させたテーブルを準備しておき、前記矩形領域に対して実行する前記論理演算の式を前記テーブルから設定することを特徴とする。
【００１３】
請求項２にあっては、矩形領域に対して施す論理演算の式を、指定された論理演算モードに基づいて、テーブルから設定する。よって、適切な論理演算の式を簡単に設定する。
【００１４】
請求項３に係る記録装置は、記録対象のオブジェクトの形状情報と該オブジェクトの記録に関する論理演算情報とを含むプリンタコントロール言語を解析して、該プリンタコントロール言語で指示される画像を記録する記録装置において、前記記録対象のオブジェクトを取り囲む矩形領域を設定する手段と、設定した矩形領域に対して前記論理演算情報に基づく論理演算を実行する演算手段と、該演算手段による演算結果をメモリに書き込む手段と、前記メモリの書込み内容に応じた画像を記録する手段とを備えることを特徴とする。
【００１５】
請求項３にあっては、請求項１のようにしてメモリに描画された演算結果に従って、指定された画像を記録する。よって、複雑な処理が不要となり、記録時間の短縮化を図れる。
【発明の効果】
【００１６】
本発明では、Sourceで指定される図形を取り囲む矩形を新たなSourceとして扱い、この新たなSourceに応じて、指定された論理演算モードを変更するようにしたので、元のSourceがどのような形状であっても、全て統一的に処理を行うことが可能となり、処理を簡略化することができて、描画に要する時間を短く済ますことができ、記録処理の短縮化も実現することができる。
【００１７】
また、本発明では、矩形領域に対して実行する論理演算の式を、指定された論理演算モードに基づいて、テーブルから設定するようにしたので、適切な論理演算の式を簡単に設定することができ、処理時間の更なる短縮を図ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明をその実施の形態を示す図面を参照して具体的に説明する。図１は、本発明の記録装置としてのＰＣＬプリンタ２０の構成を示すブロック図である。
【００１９】
ＰＣＬプリンタ２０は、制御部１，記録部２，表示部３，操作部４，ＲＯＭ５，ＲＡＭ６，描画メモリ７，ＰＣインタフェース部８などを備えている。制御部１は、具体的にはＣＰＵで構成されており、バス９を介してＰＣＬプリンタ２０の上述したようなハードウェア各部と接続されていて、それらを制御すると共に、ＲＯＭ５に格納された制御プログラムに従って、種々のソフトウェア的機能を実行する。
【００２０】
記録部２は、例えば電子写真方式のプリンタ装置であって、描画メモリ７に展開されている画像を用紙にプリントアウトする。表示部３は、液晶表示装置またはＣＲＴディスプレイ等の表示装置であり、ＰＣＬプリンタ２０の動作状態、ユーザへ操作入力を促すメッセージなどを表示する。操作部４は、ＰＣＬプリンタ２０を操作するために必要な各種のファンクションキーを備えている。なお、表示部３をタッチパネル方式とすることにより、操作部４の各種のキーの内の一部または全部を代用することも可能である。
【００２１】
ＲＯＭ５は、ＰＣＬプリンタ２０の動作に必要な種々のソフトウェアのプログラムを予め格納している。また、ＲＯＭ５は、後述する論理演算の変換処理において使用するＲＯＰコードを対照させた変換テーブル５ａを有している。ＲＡＭ６は、ＳＲＡＭまたはフラッシュメモリ等で構成され、ソフトウェアの実行時に発生する一時的なデータを記憶する。描画メモリ７は、外部のＰＣ１１から送られてきたプリンタ言語を解釈して最終的に得られる演算結果を描画する。ＰＣインタフェース部８は、ＬＡＮ等からなる通信線１０を介して外部のＰＣ１１に接続されており、ＰＣ１１との間でデータのやりとりを行う。
【００２２】
このような構成のＰＣＬプリンタ２０にあっては、通信線１０を介して外部のＰＣ１１からプリンタ言語（ＰＪＬ，ＰＣＬなど）を入力した場合、そのプリンタ言語を解析し、指定されたSource、Paint 及びDestination に対して所望の論理演算を実行し、その演算結果を描画メモリ７に書き込み、描画メモリ７に書き込まれた演算結果（描画パターン）を読み出してそれに応じた画像を記録部２にて記録するようになっている。
【００２３】
次に、本発明のＰＣＬプリンタ２０の動作について説明する。図２は、動作の一例を説明するための図であり、図２（ａ）はＰＣ１１から指定されたＰＣＬコマンドを表し、図２（ｂ）は実際の描画処理を表している。
【００２４】
図２（ａ）に示すように、ＰＣＬコマンドにおいて、Paint としてある濃度を持ったグレイパターンが指定され、Sourceとして文字ｍを変形させた形状をなすオブジェクトが指定され、Destination として予め描画された斜線パターンのオブジェクトが指定されている。また、論理演算モードは、Paint Txモード及びSource Tx モードがいずれもOpaqueに指定され、ＲＯＰコードがＰに指定されている。
【００２５】
このようなＰＣＬコマンドに対して、図２（ｂ）に示すように、指定された元のSource（オブジェクト）を取り囲む最小の矩形Ａを新たなSourceとする。この新たなSourceである矩形Ａに対して、ＰＣＬコマンドで指定された論理演算を単純に適用した場合には、所望の演算結果、つまり図２（ａ）に示すような演算結果は得られない。そこで、以下のように論理演算モードを補正する。まず、Paint とSourceとの論理和を取る必要があるため、ＲＯＰコードをＰＳo に補正する。また、新たなSource（矩形Ａ）の白部分は透過にする必要があるため、Source Tx モードをTransparencyに補正する。更に、ＰＣ１１で指定される論理演算では、輝度の有無を基準として白が１、黒が０であるＲＧＢ空間が前提となっているが、一方、描画メモリ７では、トナー付着の有無を基準として白が０、黒が１であるＣＭＹ空間として取り扱われるため、この違いに応じた論理演算モードの補正が必要となる。
【００２６】
以上のような論理演算の変換過程をまとめると、図３に示す（Ｃ１）〜（Ｃ３）のようになる。
（Ｃ１）：ＲＯＰコードのPaint （Ｐ）をPaint とSource（Ｓ）との論理和（ＰＳo ）に置換する。
（Ｃ２）：ＲＧＢ空間におけるＲＯＰコードをＣＭＹ空間におけるＲＯＰコードに変換する。
（Ｃ３）：Source Tx モードがTransparencyであるときのＲＯＰコードに変換する。
【００２７】
指定された論理演算モードに対して上記のような補正を順次行うことにより、最終的な論理演算式を求める。そして、この論理演算式に従って、新たなSource（矩形Ａ）に対する論理演算を実行することにより、ＰＣ１１から指定された所望の演算結果（図２（ａ）に示すような演算結果）と同じ演算結果を得ることができる（図２（ｂ）参照）。
【００２８】
図４は、本発明のＰＣＬプリンタ２０における記録処理の動作手順を示すフローチャートである。外部のＰＣ１１から通信線１０及びＰＣインタフェース部８を介してプリンタ言語で表されたコマンドを入力した場合、制御部１はそのコマンドを解析する（ステップＳ１）。そして、制御部１は、コマンドの解析結果に基づいて、まず、矩形状の新たなSource領域を生成する（ステップＳ２）。
【００２９】
図５は、このSource領域生成の動作手順、即ちＳ２のサブルーチンを示すフローチャートである。指定されたSource（オブジェクト）の最大高さと最大幅とを求め（ステップＳ２１）、求めた最大高さ及び最大幅で特定される長方形をＲＡＭ６に割り当てる（ステップＳ２２）。ＲＡＭ６に割り当てた長方形の領域を０で初期化する（ステップＳ２３）。この処理は、ＣＭＹ空間での白で初期化することと等価である。次に、割り当てた長方形の領域に、指定されたSource（オブジェクト）を描画する（ステップＳ２４）。描画したSource（オブジェクト）の内部領域を１に変換する（ステップＳ２５）。この処理は、ＣＭＹ空間で黒く塗りつぶすことと等価である。
【００３０】
次いで、指定された論理演算を変換する（ステップＳ３）。図６は、この論理演算変換の動作手順、即ちＳ３のサブルーチンを示すフローチャートである。指定されたＲＯＰコードのＰをＰＳo に置換して、新たなＲＯＰコードを求める（ステップＳ３１）。白：１，黒：０を前提としたこの新たなＲＯＰコードを、白：０，黒：１のＲＯＰコードに変換する（ステップＳ３２）。Ｓ３２で変換したＲＯＰコードを、Source Tx モードがTransparencyであるときのＲＯＰコードに変換する（ステップＳ３３）。これによって、最終的なＲＯＰコードが求められる。なお、Ｓ３２及び／またはＳ３３において、ＲＯＭ５に格納されている変換テーブル５ａを参照してこの変換処理を行うようにすれば、処理時間を短縮できる。
【００３１】
次いで、求めたＲＯＰコードを用いて論理演算を行い、その演算結果を描画メモリ７に書き込む（ステップＳ４）。図７は、この論理演算実行及び演算結果書込みの動作手順、即ちＳ４のサブルーチンを示すフローチャートである。Ｓ３３で最終的に求めたＲＯＰコードにより、１画素単位で、Source、Paint 及びDestination の論理演算を行う（ステップＳ４１）。論理演算にて得られる演算結果を描画メモリ７に書き込む（ステップＳ４２）。次に、制御部１は、割り当てたメモリ領域の全ての画素についての処理を完了したか否かを判断し（ステップＳ４３）、完了していない場合には（Ｓ４３：ＮＯ）、動作がＳ４１に戻って、次の画素について同様の処理を行う。全ての画素についての処理を完了した場合には（Ｓ４３：ＹＥＳ）、動作がＳ４のサブルーチンを終了する。
【００３２】
次いで、制御部１は、指定された全てのSource（オブジェクト）を描画メモリ７に描画したか否かを判断し（ステップＳ５）、未処理のSource（オブジェクト）が残っている場合には（Ｓ５：ＮＯ）、動作がＳ１に戻り、その未処理のSource（オブジェクト）に対して同様の処理を行う。一方、指定された全てのSource（オブジェクト）が描画メモリ７に描画された場合（Ｓ５：ＹＥＳ）、記録部２にて、描画メモリ７に展開されている画像を用紙にプリントアウトする（ステップＳ６）。
【００３３】
本発明における論理演算の変換処理の他の例について説明する。図８は、この他の例における論理演算の変換過程を示す図であり、（Ｄ１）〜（Ｄ３）のような手順となる。
（Ｄ１）：ＲＧＢ空間におけるＲＯＰコードをＣＭＹ空間におけるＲＯＰコードに変換する。
（Ｄ２）：ＲＯＰコードのPaint （Ｐ）をPaint とSource（Ｓ）との論理積（ＰＳa ）に置換する。
（Ｄ３）：Source Tx モードがTransparencyであるときのＲＯＰコードに変換する。
【００３４】
指定された論理演算モードに対して上記（Ｄ１）〜（Ｄ３）のような補正を順次行うことにより求めた最終的な論理演算式に従って、Source（矩形Ａ）に対する論理演算を実行することにより、ＰＣ１１から指定された所望の演算結果と同じ演算結果を得ることができる。
【００３５】
なお、上述した例では、モノクロ表示の場合について説明したが、カラー表示の場合についても、本発明を同様に適用することが可能である。また、ファクシミリ複合装置においても、本発明を同様に実施できることは勿論である。
【図面の簡単な説明】
【００３６】
【図１】本発明の記録装置としてのＰＣＬプリンタの構成を示すブロック図である。
【図２】本発明のＰＣＬプリンタの動作の一例を説明するための図である。
【図３】論理演算の変換過程の一例を示す図である。
【図４】本発明のＰＣＬプリンタにおける記録処理の動作手順を示すフローチャートである。
【図５】Source領域生成の動作手順（Ｓ２のサブルーチン）を示すフローチャートである。
【図６】論理演算変換の動作手順（Ｓ３のサブルーチン）を示すフローチャートである。
【図７】論理演算実行及び演算結果書込みの動作手順（Ｓ４のサブルーチン）を示すフローチャートである。
【図８】論理演算の変換過程の他の例を示す図である。
【図９】プリントデータを示す図である。
【図１０】ＰＣＬ−ＸＬコマンドの構成例を示す図である。
【図１１】描画メモリへの描画手法の一例を示す図である。
【図１２】論理演算モードを説明するための図である。
【符号の説明】
【００３７】
１  制御部
２  記録部
５  ＲＯＭ
５ａ  変換テーブル
６  ＲＡＭ
７  描画メモリ
８  ＰＣインタフェース部
１０  通信線
１１  ＰＣ
２０  ＰＣＬプリンタ
【図１】
2005078521.tif 000003
【図２】
2005078521.tif 000004
【図３】
2005078521.tif 000005
【図４】
2005078521.tif 000006
【図５】
2005078521.tif 000007
【図６】
2005078521.tif 000008
【図７】
2005078521.tif 000009
【図８】
2005078521.tif 000010
【図９】
2005078521.tif 000011
【図１０】
2005078521.tif 000012
【図１１】
2005078521.tif 000013
【図１２】
2005078521.tif 000014