JP3604152B2 - ページプリンタ用に強度のレンダリングを必要としないプロセッサ/メモリ - Google Patents

ページプリンタ用に強度のレンダリングを必要としないプロセッサ/メモリ Download PDF

Info

Publication number
JP3604152B2
JP3604152B2 JP50532497A JP50532497A JP3604152B2 JP 3604152 B2 JP3604152 B2 JP 3604152B2 JP 50532497 A JP50532497 A JP 50532497A JP 50532497 A JP50532497 A JP 50532497A JP 3604152 B2 JP3604152 B2 JP 3604152B2
Authority
JP
Japan
Prior art keywords
scan line
color
data
memory
rasterization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP50532497A
Other languages
English (en)
Other versions
JPH11509346A (ja
Inventor
ルイス トラブ プラド、
Original Assignee
エレクトロニクス フォー イメージング インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エレクトロニクス フォー イメージング インコーポレイテッド filed Critical エレクトロニクス フォー イメージング インコーポレイテッド
Publication of JPH11509346A publication Critical patent/JPH11509346A/ja
Application granted granted Critical
Publication of JP3604152B2 publication Critical patent/JP3604152B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/12Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Description

発明の背景
1.発明の分野
本発明は、プリンタで印刷するための画像のレンダリングに関し、ここでのプリンタは、さらに詳しく言えば、レーザプリンタであり、そしてさらに詳しく言えば、カラーレーザプリンタのようなページプリンタである。
2.最新技術
近年、ディスクトップコンピュータの計算能力は、日に日に高まっている。同時に、一般的なコンピュータユーザーが、高度なプリント能力を利用できる機会も増えてきている。ビジネスセクターで一般的に使用されているのは、ほとんどが活字の品質を提供するレーザプリンタである。好ましいカラー特性を提供する適度な解像度のカラープリンタを、大部分のユーザーが使用し始めてきている。
前述の傾向に応じて、実写および実写に近いカラープリンタの需要が高まるものと予想される。現在、カラープリンタは、一般的に次の3つの異なるタイプのいずれかであり、それらは、染料昇華,インクジェット,およびレーザである。染料昇華のプリンタの品質は良いが、速度が遅く高価なものである。安価なインクジェットプリンタは、低速であり低品質の出力を生成する。より高価なインクジェットプリンタは、低速ではあるが、大画面用に良い品質の出力を生成する。しかしながら、カラーインクジェットプリンタ(現在市販されている大量のカラープリンタを占める)と比較すると、カラーレーザプリンタは、印刷速度が高速で一枚当たりのコストが安価な実写カラー出力を達成する見込みが最も高いものである。
プリンタ(プロッタと対立するもの)は、ページのあるパターンに小さなドット(ピクセルとも呼ばれる)を形成することで動作する。レーザプリンタにおいて、これらの小さなドットは、感光ドラムにある走査方向にレーザビームを走査することによって形成される。(感光ドラム上の画像は、その後、現像され,転写され,そして実際のページに固定される。)通常、走査は、レーザが照射される回転ポリゴンミラーを使用することで達成される。前記ミラーの各面によりレーザビームが生じ、感光ドラムを横切ると走査される。走査中、レーザビームは変調され、すなわち、オン/オフされて、走査内のある特定の位置にドットを露出するか、もしくはドットを露出しない。感光ドラムは、走査中、紙送り方向に一定の速度で移動し、次の走査にずらされる。走査線がずらされる量は、ラインピッチと呼ばれる。
走査線にあるドットの集合は、ラスター走査線と呼ばれる。引き続く走査線のグループは、バンドもしくは走査線の束と呼ばれる。1ページ上の全ての走査線にある全てのドットの集合は、ラスター画像と呼ばれる。ページのある特定(および通常、矩形)の領域内に印刷されるドットの集合は、ピクセルマップと呼ばれる。例えば、カラーのパンフレット上にある会社のロゴは、ピクセルマップで定義され、ページの上部に印刷される。
バンド(走査線束)装置の一例であるインクジェットプリンタとは対照的に、レーザプリンタは、本質的にページ装置である。すなわち、一旦レーザ印刷が開始する(すなわち、ドラムのレーザ走査が開始する)と、それを停止させたり一時停止することが出来ず、途中で止めることなく動作が完了するまで持続させなければならない。インクジェットプリンタは、シングルバンドに対してある実時間データ要求を有するが、レーザ印刷動作は、データがページ全体に利用されるという点で、生成される印刷が十分に満足できるものとなるように、より高い実時間データ要求を有する。
従来、レーザプリンタは、プリンタコントローラおよびプリントエンジンから成るものである。プリントエンジンは、実際のページにドットを露出し、現像する。プリンタコントローラは、プリンタコマンドおよびプリントデータをプリントエンジンに供給し、望ましいページにプリントさせる。プリントコントローラは、例えば、アドーブシステムズのPostscriptTMのような「ページ描写言語(PDL)」にあるページ描写を、アプリケーションプログラムから受ける。
通常、プリントコントローラは、アプリケーションプログラムからPDLステートメントを受け、PDLインタプリタにより、それらを解釈する。PDLインタプリタは、通常、PDLステートメントを予め処理し、それは、前記ステートメントに関連するグラフィック対象物の実際の形状および位置を計算することでなされ、その後、マーキングインターフェースにより、ページラスター画像に前記グラフィック対象物を適用する。このインターフェースは、一般的に適当であるが、通常十分に理解されているラスター化要求と呼ばれる一連の動作から成る。マーキングインターフェースは、ラスター化要求を引き続きのラスター化処理に伝える。例えば、PDLインタプリタは、ページにラスター画像を描写するために、次の一連のラスター化要求(「RAST」で表示)を用いる。
RAST1:所定のカラーの矩形のピクセルアレイ(テキストアプリケーションに)を適用
RAST2:台形領域に所定のカラー(領域グラフィック)を充填
RAST3:画像を伸張(拡大,回転,測定,湾曲等)して、それをラスターに適用
本発明はまた、(PDLステートメントとは異なる)グラフィックコマンドが発生するマイクロソフト社のウィンドウズ,アップル社のマッキントッシュ等のようなグラフィック環境にも応用可能である。これらのグラッフィックコマンドは、グラフィックコマンドプロセッサによりラスター化要求に同様に処理される。そして、ある場合には、これらの環境は、既知の広汎なフォーマットのラスター化要求を直接発生する。
従来のPDLインタプリタにおいて、ラスター化要求は、通常、3つの主要な方法のいずれかで組織化される。ラスター化要求を組織化する第1の方法は、表示リストにソーティング要求を含むことである。要求は、一般的にy座標の小さい方から順にソートされる。例えば、次の要求はPDL源から受けたものであり、順序は、
1.三角形を表示
2.(x3,Y2)にそれを描写
3.フォント1を選択
4.(x1,y1)にストリング「AB」をセット
5.フォント2を選択
6.(x4,y3)にストリング「C」をセット
ソートされた表示リストと対応するページが図1に示されている。そこに示されているように、表示リストは、y座標で最初ソートされ、その後、x座標でソートされている。
ラスター化要求を組織化する第2の方法は、図2に示されているように、ページをバンドに分割することである。各バンドには、別々の表示リストがある。この技術および前述の技術は、ページが長いバンドとみなされる点が似ているものである。しかしながら、全体的に、バンドの表示リストは、フルページの表示リストよりも大きいものである(なぜなら、同じ印刷要素はバンドと重複し、各々に含まれるようにするからである)。表示リストのサイズは、一般的に限界がないので、連続した表示リストが替わりに生成され、したがって、多数のラスター化に各バンドを通過させる必要がある。どちらにしても、結果として生じるラスターは同じものである。
ラスター化要求を組織化する第3の方法は、ソートをかけていない要求のセットを単に作ることである。この組織方法では、ラスタライザシステムが無作為にアクセス可能な走査線のリストを増加し続ける必要がある。メモリをセーブする方法は種々に考案されており、それは、例えば、実際に使用されている前記走査線を割当てるだけで行われたり、必要に応じてラスターの矩形パッチを割り当てることで行われる。しかしながら、一般的に、ラスタライザは、効果的に全ビットマップにアクセスできなければならない。このアプローチの重要な利点は、表示リストを作る必要がないということである。
単一の高解像度のフルカラー画像には、数百メガパイトの記憶メモリが必要である。カラーレーザプリンタを使用してそのような画像を印刷するためには、画像全てを再現して一度にメモリに記憶することであり、それにより、画像データをプリントエンジン(動作中)に遅れて供給する可能性がなくなる。
このレーザ印刷では、高解像度のフルカラーレーザプリンタに、非常に大きなメモリ記憶およびメモリ帯域要求が必要となる。したがって、そのようなプリンタは非常に高価なものであった。従来の技術において、全画像もしくは少なくも画像バンドはラスター化され記憶される。記憶されラスター化された画像もしくは画像バンドは、その後、読みだされ圧縮される。最終的に、圧縮された画像もしくは画像バンドは、後の伸張およびプリントエンジンへの出力用に記憶される。その結果、画像の各ピクセルは複数回処理される。メモリ要求およびメモリ帯域要求のいずれも大きいものである。
発明の要約
本発明は、一般的に、画像情報をレンダリング処理中に圧縮フォーマットに表示することで、カラーレーザプリンタ(もしくは実時間印刷制限をもつ他のプリンタ)のメモリ記憶およびメモリ帯域要求を下げる。レンダリング処理中のある時間で、好ましくは、単一の走査線のみが、最終的な印刷に必要な完全で圧縮されていないフォーマットに伸張される。再現された走査線は、その後、再度圧縮されてメモリに記憶される。全ての走査線が処理されて圧縮フォーマットでメモリに記憶されると、全画像が、連続して実時間で伸張されてプリンタに送られる。
好ましくは、本発明は、実際に出来るだけ長時間圧縮状態で画像情報を保持し、一度に出来るだけ画像の小さい部分を伸張させ(例えば、単一の走査線)、そして出来るだけ短時間伸張した状態で前記画像部分を残し、素早く再度圧縮して記憶する。したがって、メモリおよびメモリ帯域要求はかなり減少される。さらに、圧縮されていないラスターのメモリ要求は非常に小さいので、極端に速いメモリ記憶が使用され、したがって、さらにあまりコストをかけずに処理全体を加速できる。
本発明の別の特徴に従って、全ての要求は極端に単純な動作のセットまで削減され、前記動作セットは、非常に安価なハードウェアもしくは効率が良く最適化し易いソフトウェア処理で実行されるものである。
【図面の簡単な説明】
本発明は添付図面と関連する以下の記載からさらに理解されるものである。
図1は、1ページ分の図と対応するソートされた表示リストである。
図2は、図1のページをバンドに分割した図である。
図3は、ラスター化要求のソートされないセットの図である。
図4は、本発明の環境を示す一般的なブロック図である。
図5は、本発明で用いられるレンダリング装置のブロック図である。
図6は、図5のメモリ308内にある2つの主要な記憶領域を示した図である。
図7は、図6のメモリ領域321内のコマンドキュー構造を示した図である。
図8は、カラーアプリケーションの走査動作への変換および走査動作のキューを示した図である。
図9は、図5のラスタライザ/コンプレッサ306のブロック図である。
図10は、図5のラスタライザ/コンプレッサ306内のラスター化フェーズ中に繰り返しコマンドを実行するために用いられるコードセグメントである。
図11は、図5のラスタライザ/コンプレッサ306内の圧縮フェーズを実行するために用いられるコードセグメントである。
図12は、図5のエキスパンダ307のブロック図である。
図13は、図5のエキスパンダ307内の繰り返しコマンドを実行するために用いられるコードセグメントである。
図14は、図5の第2のインターフェース回路のブロック図である。
好適な実施例の詳細な説明
図4を参照すると、コンピュータ100とプリント制御装置300は、第1の通信リンク180を経由して内部接続されている。通信リンク180は、ケーブル、またはより一般的には、あらゆる種類の通信リンクであり、ディジタル情報を、例えばネットワーク(有線もしくは無線,点接続等)のように、それが直列または並列であろうと伝送することができるものである。前記第1の通信リンク180は、コンピュータ100の外部接続コネクタ101と、プリント制御装置300の第1のインターフェース301に接続されている。通信リンク180は、プリントコマンドをコンピュータ100とプリント制御装置300間で伝送する。装置300は、プリンタ200(例えば、既知のタイプのカラーレーザプリンタ)に第2の通信リンク502を介して接続されている。第2の通信リンク190は、装置300の第2のインターフェースコネクタ302と、プリンタ200のインターフェースコネクタ201に接続されている。通信リンク502は、画像データと制御コマンドをプリント制御装置300からプリンタ200に伝送する。
プリント制御装置300の構造は、図5を参照してより詳細に記載される。図5において、コンピュータ100からのデータを受信するための第1のインターフェースコネクタ301は、受信したデータを受け入れる第1のインターフェース回路303に接続されている。前記第1のインターフェース回路303は、当業者には既知のタイプ(例えば、RS232に直列,セントロニクスパラレル等)であり、詳細な説明は省略する。
前記第1のインターフェース回路の他端は、バス313に接続されており、そしてインターフェース回路とプログラムおよびデータメモリ304に接続されるCPU305間のデータ交換が可能となる。前記バス313はまた、ラスタライザ/コンプレッサ306,エキスパンダ回路307,メモリ308およびDMAC(直接記憶アクセスモード)314に接続されている。前記DMCA314により、種々の装置間に直接メモリ転送が可能になる。別々のプログラムおよびデータメモリ304を提供する替わりに、前記メモリ308は、この目的で使用されることもあることに留意されたい。
第2のインターフェース回路350は、その入力側でバス315を介してエキスパンダ307に接続されており、そしてその出力側で前記プリンタインターフェースコネクタ302に接続されている。第2のインターフェース回路350は、図14に関連して以下に詳細に説明される。
ラスタライザ/コンプレッサ306は、少なくとも1つ、好ましくは2つのバッファ309と311を含み、それらは伸張された画像データを一時的に保持するために用いられる。バッファ309と311は、明確にするために別々に図示されている。同様に、エキスパンダ307は、少なくとも1つのバッファ310、および任意に付加的なバッファ312を含み、それらはプリンタに出力される伸張された画像データを保持するために用いられる。再度言うが、バッファ310と312は、明確にするために別々に図示されている。
一般的に、プリント制御装置300により実行される画像レンダリング処理は、以下の連続したステップを含むものである。
1.ページ描写は、例えば、ポストスクリプトのようなページ描写言語(PDL)のアプリケーションプログラム(図3のコンピュータ100で作動)から受信される。
2.アプリケーションプログラムから受信したPDLコマンドは、ラスター化要求に解釈され、それは圧縮フォーマットでグラフィックの対象物を表示する一連のカラーアプリケーションに分解される。
3.これらのカラーアプリケーションは、引き続き走査動作に変換され、その走査動作はそれらの対応する走査線を表すデータ構造に付加される。
4.各走査線は、1つずつにラスターデータを生成するために再現され、そして圧縮され記憶される。
5.一度全体のページが再現され圧縮されると、圧縮されたラスターデータは伸張され、そしてプリンタ(例えば、図4に示すカラーレーザプリンタ200)に送られる。
上記ステップ1(ページ描写を発生するプログラム)は良く知られている。それに続く各ステップは、さらに詳細に説明される。
種々のPDLに互換性を持たせるために、特定のPDLによって発生したラスター化要求を、種々のPDLに使用される共通のコマンドのセットに翻訳する必要がある。したがって、このプリンタコントローラにおいては、ラスター化要求はさらに、少数の非常に単純なカラーアプリケーションに分解される。例えば、好適な実施例において、1つのカラーアプリケーションの形式は、マルチカラーアプリケーションに利用され、そして、別のカラーアプリケーションの形式は、シングルカラーアプリケーションに利用される。マルチカラーアプリケーションでは、カラーアプリケーションコマンドは、以下の形式となる。
At<x,y>:<カラー1,n1><カラー2,n2>...
容易に理解できるように、上記のコマンドは、座標xおよびyで規定された点で始まり、x方向にある多数のピクセルn1は、第1のカラーであるカラー1にセットされ、その後、複数のピクセルn2は、第2のカラーであるカラー2にセットされる。
シングルカラーアプリケーションでは、カラーは常に同じものに保たれる。したがって、カラーアプリケーションは以下の形式となる。
At<x,y>:カラー<ペイントn1><スキップn2><ペイントn3>...
容易に理解できるように、上記のアプリケーションは、座標xおよびyで規定される点で始まり、x方向にある複数のピクセルn1は特定のカラーにセットされ、その後、複数のピクセルn2はスキップされ(すなわち、そのカラー状態がそのまま残され)、その後、x方向にある複数のピクセルn3は特定のカラーにセットされる。
ラスター化要求(PDLインタプリタにより生成される)は、ラスター化要求が前記PDLインタプリタから受信されると処理され、単純なルーチンのセットを使用するカラーアプリケーションに分解される。この分解を実行するために使用される特定のルーチンは、当業者に容易に理解されるものであるから詳細に説明しない。
カラーアプリケーションが生成されるにつれて、それらは以下に詳細に説明されるタイプの走査動作に変換され、前述した組織計画の一つのような組織計画に従って待ち行列状態になる。すなわち、現在のレンダリング技術は、走査動作をセットアップすることで適用可能であり、前記走査動作は、図1,図2,および図3に関して記載されたものを含むラスター化処理の種々の従来のセッティング方法の任意のものを用いるものである。カラーアプリケーションをラスター化コマンドに変換することは、再度言うが、非常に簡単なルーチンであり、当業者に良く知られた方法で実行される。そのような変換の例は、図8に関連して以下に記載される。
走査動作は、圧縮フォーマットでPDLラスター化要求により描写された画像を表示する。さらに、画像の圧縮された表示は、最初に画像を伸張せずに、または画像のいかなる部分も再現せずに生成される。
図6を参照すると、好適な実施例において、走査動作はメモリ308の領域321内にあるキュー構造に記憶される。メモリの分離された領域323は、後述されるようにラスタライザ/コンプレッサ306により生成された圧縮されたラスターデータを記憶するために用いられる。アレイ321と323の両方は、(各々に固定した割当てを保持するよりはむしろ)メモリ308内に動的に割当られる。
メモリ領域321内で、走査動作は図7に示されているように組織化される。走査線インデックス341は、一連のリンクされたリストまたはキューのヘッドを形成する。(ラスター化要求に応じて)走査動作が生成されるにつれて、走査動作がそれらの走査線の最後のラスター化ブロックに付加される。したがって、走査動作はy座標でソートされるが、そうでなければ、レンダリング要求順に記憶される。レンダリング要求順に走査動作を記憶することで、最終的に印刷されるページが、PDL源により描写されたページと同じものであることを保証する。
前記走査動作のキューは、1つずつ圧縮されたラスターデータを生成するために各走査線を再現し、連続して圧縮するために使用され、前記圧縮されたラスターデータは、メモリ308内にある領域323に記憶される。前記ラスター化処理は、1)1ページが終了するとき、または2)ラスター化ブロック(メモリ308内の領域321にある)に利用可能なメモリが存在しないときのいずれかの場合に開始される。
簡潔に示すために、現在の記載は、1ページ全体の圧縮されたラスターデータを記憶するために、十分なメモリをメモリ308の領域232で利用可能であると仮定している。典型的な画像の場合には、メモリ308中の領域232をフルページのビットマップよりもかなり小さくすることで、圧縮が有効に行われる。しかしながら、極端な場合(元の画像のエントロピーが非常に高い場合)、ほとんどもしくは、全く圧縮されない。メモリ308のメモリ領域232がフルページのビットマップよりも小さい場合には、プリンタコントローラ300は、減衰のない圧縮技術を用いて前記ページを再現することができない。これは、1)通常高いエントロピーを持つ元の画像を再現しないが、誤り状態信号を発生する、2)フルページのビットマップを提供することで、任意の画像を再現することができるように、メモリ要求の減少させる可能性を犠牲にする、または、3)メモリ308の領域323内に合うサイズに画像を圧縮するために、減衰のある圧縮技術(従来技術として知られている)を使用することで生じる。
図5のラスタライザ/コンプレッサ306は、2つのフェーズのラスター化フェーズおよび圧縮フェーズで動作する。ラスター化フェーズ中では、ある特定の走査線用に待ち行列状態にされた走査動作は、ラスターデータを生成するラスタライザによって実行される。圧縮フェーズ中では、前記ラスターデータは前記走査動作として同じ圧縮フォーマットに再度圧縮され、メモリに記憶される。全ての走査線のラスター化が終了すると、前記記憶され圧縮されたラスターデータは、走査線毎に伸張され、プリンタに出力される。
前記ラスターデータは、最初の走査動作と同じ圧縮フォーマットに再度圧縮され、ラスタライザ/コンプレッサ306およびエキスパンダ307のラスタライザ部分は、大部分において同じ形式の走査動作を使用して、同様の方法で両方が実行される。例示した実施例において、ラスタライザ306およびエキスパンダ307の両方により使用される走査動作は、以下のものを含む。
Figure 0003604152
ラスタライザの操作とエキスパンダの操作の間にいくつかの重要な差が存在する。始めに、エキスパンダは、走査動作を厳密に走査線の順で受入れ、ラスタライザの前の操作の結果として受け入れる。第2に、エキスパンダは、伸張されたラスターデータを直接に出力パイプラインに出力して、そこから前記データがプリントエンジンにより使用される。一方で、ラスタライザは走査線を計数するが、走査線を出力パイプラインに出力するよりも、走査線を後の伸張用に記憶する。さらに、ラスタライザは、走査動作を走査線の順ではなく、ラスター化要求の順で受信する。ラスタライザの仕事は、異なる時間でほぼ全ての走査線でピクセルを操作することで、適切な順序で実行された全てのコマノドを記憶した結果である操作線を表示することになる。
例えば、影の境界を形成するためには、第1のカラーのボックスが描かれるが、それは、第2の色のパターンで満たされたボックスの後ろに配置される。ある所定の走査線において、ピクセルのストリングは、結果的に始めは第1のカラーにセットされ、その後第2のカラーにセットされる。したがって、前述の走査動作に加えて、ラスタライザ306は、走査線内の位置を変化するために、以下のコマンドを使用するが、エキスパンダ307はそれらを使用しない。
Figure 0003604152
しかしながら、用いられる実際の走査動作のエンコーディングは、変更し得るものであることに留意されたい。例えば、ホフマンコーディングまたはその変形は、前述の操作をエンコードするために効果的に用いられる。
ラスター化要求が受信され、カラーアプリケーション、そしてその後前述の走査動作に翻訳されて行われる処理は、その後キューされるもので、図8を参照してより明確に理解されるものである。1つの典型的なラスター化要求は、At(x0,y0)というコマンド形式をもつものと仮定する。ここにおいて要求は、前述した要求RAST1,RAST2およびRAST3のいずれかである。座標y0は、翻訳された走査動作をどこにキューするかを決定するのに用いられる。前記翻訳された走査動作は、走査線y0,y0+1・・・,y0+h−1に影響し、ここにおいてhは、前記ラスター化要求に対応する対象物の高さである。走査動作は走査線yに影響し、走査線yの最後のラスター化ブロックにキューされる。
可能性のあるシナリオを2つ説明する。それは、コマンドがシングルカラーの適用を要求し、それが一連のシングルカラーのカラーアプリケーションに翻訳される場合か、もしくはマルチカラーの適用を要求し、それが一連のマルチカラーのカラーアプリケーションに翻訳される場合である。これらのカラーアプリケーションは、その後前の走査動作に翻訳される。いずれの場合においても、前記第1の走査動作は、セットx走査動作であり、それはx座標を値x0にセットするために用いられる。
マルチカラーアプリケーションに関して、カラーアプリケーションは以下の形式であることを思い出されたい:
〔カラー1,n1〕〔カラー2,n2〕...
ここにおいて、角括弧は、カラーアプリケーションと走査動作を区別するために用いられている。図8に示されているように、各マルチカラーアプリケーションは、連続した一対の走査動作に翻訳され、各対は上記の角括弧の一つに対応する。各フィールド〔カラー,n〕に関して、セットカラー走査動作は、要求されたカラーにカラーをセットすることに用いられ、そして第2のリピート走査動作は、前記カラーを適当な数だけ繰り返すために用いられる。前記セットカラー走査動作自体により、カラーが1つのドットに適用される。したがって、前記リピート走査動作は、対応するカラーアプリケーションよりも少ない1つの値を特定する。
前述したように、シングルカラーのコマンドは、以下の形式をとる。
カラー<ペイントn1><スキップn2><ペイントn3>...
この適用は、第1のものをセットカラー走査動作に翻訳し、要求されるカラーにカラーをセットするために用いられる。次に、リピート走査動作は、前記カラーを適当な回数だけ繰り返すために用いられる。スキップフィールドは、スキップ走査動作に翻訳される。引き続くリピートおよびスキップ走査動作は、その後、走査線中の異なるピクセルとピクセルグループに特定のカラーを選択的に適用するように使用される。
図9を参照すると、ラスタライザ/コンプレッサ306の例示的実行例が示されている。しかしながら、ラスタライザ/コンプレッサの他の実行例もまた同様に可能であり、例えば、ここで示したピクセルアレイに基づいたものよりも走査線の作動長さをエンコードしたものに基づいたものも可能である。図9のラスタライザ/コンプレッサ306において、制御回路501は、バス313に接続されており、そしてバス313から走査線を描写する連続した走査動作を受信するもので、各走査動作は前述の走査動作の1つである。制御回路501はまた、Xレジスタ503,カラーレジスタ505,ストリングフラッグレジスタ507,長さレジスタ509,および出力レジスタ511に接続されている。Xレジスタ503とカラーレジスタ505は、メモリ400に接続され、そしてメモリ400のアドレス入力およびデータ入力にそれぞれ接続されている。
メモリ400は、図5に示されている2つの走査線アレイ309と311を保持するために用いられる。走査線アレイの各位置は、走査線中の1ピクセルのカラーを保持し、そして各アレイは、走査線にあるピクセルの数nと等しい数の位置を有し、前記ピクセルは、Xの値によって番号を付けられている。1つの走査線アレイは現在の走査線のデータを保持し、そして他の走査線アレイは前の走査線のデータを保持する。現在の走査線中のデータは前の走査線のデータにほとんど似ていることがよくあるので、この配列により高度の圧縮が達成できる。圧縮が問題とならないかもしくは他の方法で達成される他の配列においては、一つの走査線アレイのみが必要となる。
各走査線を処理した最後に、走査線アレイ309および311の役割は逆にされ、走査線アレイCであったものが前の走査線アレイとなり、前の走査線アレイPであったものが現在の走査線アレイとして使用される。
前述の走査動作は既に一般的な用語で記述したが、以下のような実行ステップによって特定される。
Figure 0003604152
リピート走査動作は、図10に記述されている一連のステップにより実行される。リピート走査動作が実行されると、ストリングフラグ507は、次にくる走査動作がセットカラー走査動作もしくはコピーカラー走査動作であれば、偽に前もってセットされ、もしくは次にくる走査動作がコピーストリング走査動作であれば、真にセットされる。長さレジスタ509は繰り返し長さであるRepLgにセットされ、そして全てがコードループを通過した後に決定される。各通過において、ストリングフラグが真であれば、前の走査ラインアレイにある位置xのカラーは、カラーレジスタ505にコピーされ、そこから、現在の走査ラインアレイにある位置xにコピーされる。その後、xの値は加算され、長さレジスタ509は減算される。ストリングフラグ507が偽であれば、カラーレジスタの内容は、各リピート走査動作に対して一度単に繰り返されるだけである。
ラインの終了走査動作が始まると、現在の走査ラインのラスター化は完了し、そして走査ラインは再度圧縮される状態になる。圧縮中に実行されるステップが、図11に記述されている。圧縮フェーズの出力は、ラスター化された走査線を記述する一連の走査動作である。これらの走査動作は、メモリ308中の圧縮されたラスターデータ領域323(図6)内にある各走査線キューに記憶される。
図11を参照すると、コンプレッサは、走査線の最初にインデックス値xをゼロにセットすることで圧縮を開始する。前記インデックス値での現在の走査線のカラーおよび同じインデックス値での前の走査線のカラーは、第1の作動タイプが同一であるかを確認するように比較され、ここにおいて、カラーはピクセルからピクセルへと変化するが、前の走査線のものと同じ方法で変化する。同一だと分かれば、ストリングフラグ507は真にセットされ、そうでなければ、セットカラー走査動作が出力される。現在のピクセルのカラーは、カラーレジスタ505に記憶される。カラーレジスタに現在のピクセルのカラーを記憶することにより、第2のタイプの作動が確認され、ここにおいて、カラーはピクセルからピクセルで同じものに保たれる。
次に任意の作動の長さが確認される。図11におけるループ1〜4の各々に関して、作動のカラーが所定の条件を満たす度に、長さレジスタ509(最初はゼロにセット)は加算される。Xレジスタ503はまた減算される。
作動には両方のタイプがある。すなわち、前の走査ラインにあるピクセルx〜x+nは全て所定のカラーであり、そして現在の走査線にあるピクセルx〜x+nは全て同じカラーである。現在の走査線にあるピクセルx+n+1が前の走査線にあるピクセルx+n+1および現在の走査線にあるピクセルx+nの両方と異なるカラーである場合、どちらの作動を選択するかには違いがない。図11のルーチンでは、第1のタイプの作動が任意に選択されている(ループ1)。しかしながら、現在の走査線にあるピクセルx+n+1が、前の走査線にあるピクセルx+n+1と同じカラーである場合、第1の作動タイプは延長され、そしてより短い第2のタイプの作動よりも長い第1の作動のタイプを選択することで圧縮が増加される(ループ2)。同様に、現在の走査線にあるピクセルx+n+1が、現在の走査線にあるピクセルx+nと同じカラーであれば、第2のタイプの作動が延長され、そしてより短い第1のタイプの作動よりも長い第2のタイプの作動を選択することで圧縮が増加される(ループ3)。第1および第2のタイプの両方の作動もしくは第1のタイプの作動のみが発見されなければ、第2のタイプの作動のみが発見されるかどうかを決定するように保持する(ループ4)。
したがって、ストリングフラグが真であれば、現在のピクセルが前の走査線にある対応するピクセルのカラーと同じであることを示し、両方のタイプ(同じカラーでかつ前の走査線と対応する作動に等しい)の作動の長さが、ループ1により確認される。その後、前記作動は可能な限り延長される。ループ2は、それが、前の走査線と同じカラーのより長い作動に延長されるかをチェックする。ループ2が継続していれば、コピーストリング走査動作が発生する。ループ3は、それを同じカラーの作動に延長する。ループ3が継続していれば、コピーカラー走査動作が発生する。
ストリングフラグが偽であれば、第2のタイプの作動の長さ(前の走査線とは異なる色で始まる)は、現在の走査ライン中の引き続くピクセルのカラーが、カラーレジスタ505に記憶されているカラーと同一であるかをチェックすることで確認される。これはループ4によりなされる。再度言うが、カラーが同じである度に、長さレジスタ509とXレジスタ503は両方とも加算される。
いずれのタイプの作動も発見されない場合、長さレジスタ509に記憶される長さはゼロにセットされる。この場合、xは常に加算され、先行の動作は繰り返される。ある作動が発見されれば、リピート走査動作は作動の長さとともに出力され、そして先行の動作が新しいx値で繰り返される。最後のピクセルが処理されたとき、ラインの終了走査動作が出力され、そしてレジスタは次の走査線用にリセットされる。全ての走査線がラスター化され圧縮されたとき、圧縮された画像はエキスパンダ307により伸張され、プリントエンジに出力される。
一旦走査線が走査線アレイ400に位置させられると、前記走査線がどこから来たかもしくはどのように再現されたのかは、圧縮行為には問題とならない。したがって、同一の圧縮ハードウェアまたはソフトウェアは、任意のラスタライザと関連して用いられる。例えば、ある例において、特殊な独占的PDLのマーキングインターフェースはアクセス可能ではないが、ラスター化された画像は、それが生成されると、アクセス可能となる。前記ラスター化された画像は動作中に圧縮され、全体のラスター画像を記憶する必要性が軽減する。
図12を参照すると、エキスパンダ307の例示的実行例が示されている。エキスパンダはラスタライザ/コンプレッサと同様な方法で実行される。制御回路701はバス313に接続され、バス313から走査線を描写する連続した走査動作を受け、各々の走査動作は先行の伸張走査動作の1つである。制御回路701もまた、Xレジスタ703,カラーレジスタ705,ストリングフラグレジスタ707,長さレジスタ709,そして出力レジスタ711に接続されている。前記Xレジスタ703とカラーレジスタ705は、メモリ500に接続され、メモリ500のアドレス入力およびデータ入力にそれぞれ接続される。
メモリ500は、現在および前の走査線の両方のデータを保持するために用いられる。特に、このメモリは、現在の走査線を現在のピクセル(Xレジスタ703)にアクセスするまで記憶し、そして現在のピクセルと走査線の終わりとの間にある前の走査線の内容を記憶する。もちろん、前記2つの走査線はピンポン方法で2つのバッファに全部記憶される。
先行の伸張走査動作は、一般的な用語で前述したものであるが、以下のように、それらの実行ステップに対して特定される。
Figure 0003604152
エキスパンダ中の走査動作用の実行ステップは、僅かに異なってはいるが、ラスタライザ中の対応する動作用の実行ステップと大部分は同じである。リピート走査動作のためのエキスパンダにより実行される実行ステップは、図13に記述されており、図10に記載されている対応するラスター化のリピート走査動作用の実行ステップと大部分が同じであり、再度言うが、僅かに違いはあるが、それをさらに詳細には記載しない。
前述したように、エキスパンダは、伸張されたラスターデータを出力パイプラインに直接出力し、そこから前記データはプリントエンジンによって使用される。多くの場合、プリンタ自体が出力パイプラインを提供し、出力パイプラインにより発生したタイミング信号に応じて、引き続くピクセル値をエキスパンダから要求する。その替わりに、出力データパイプラインは、図5の第2のインターフェース回路350内に位置させられ、図14に詳細に示されているような当業者に既知のタイプのものである。ファーストインファーストアウト(FIFO)メモリ351のデータ入力は、バス313に接続されている。バス313において、メモリ351はCPU305またはDMAC314からのデータを受信する。FIFOメモリ351のデータ出力は、データを第2のインターフェースコネクタ302に出力するためのドライバ352に接続されている。レシーバ253は、第2のインターフェースコネクタ302から制御回路354に準備信号358を伝えるために設けられている。制御回路354は、FIFOメモリ351に向かう読取信号359と、ドライバ352を介して前記第2のインターフェースコネクタ302に接続されるデータクロック信号を発生する。制御回路354のタイミングは、クロック発生回路355により発生するクロック信号360により制御される。FIFOメモリ351の空のフラグ信号は、制御回路354に入力される。
図14の出力パイプラインはまた、走査線の左端のピクセルに達するまでプリンタの白領域を供給し、そして走査線の右端のピクセル後のプリンタの白領域を供給するように、当業者に既知の方法で、マージンを発生するように変形される。
前述した配列において、実際の画像のピクセルは、走査線でソートされているが、走査線内に整理されていない走査動作から生成され(ラスター化中)、そして各ピクセルが一つおよび一つのみのコマンドで規定される状態で、走査線でソートされかつ走査線内に整理される走査動作(圧縮中)を生成するように使用される。ピクセルの圧縮フォーマットの表示は、ピクセル自体よりもよりコンパクトであり、記憶要求を減少させる。さらに、実際のピクセルは、伸張処理中、1度だけとり扱われる。その結果として、処理帯域幅要求は非常に減少され、全体の処理時間は走査線の実際の幅によるもので(適当な定数倍)、かくして、ピクセルを実時間でプリンタに転写するのに十分速い走査線の処理要求を満たすことになる。
前述した配置によると、1つの核となる単純な操作がラスター化/圧縮および後の伸張の両方に使用されるので、ハードウェアは高速に必要な簡単な操作を実行するように設計され、それにより、速い印刷速度を達成できる。同じハードウェアは、ラスター化を加速し、かつCPUの同時操作を可能にするだけに使用されるのではなく、ラスター化処理が既に済んだ場合のみ圧縮目的の為だけに使用される。例えば、特殊なPDLのマーキングインターフェースが独占的であって、アクセス不能であるが、ラスター化された画像が生成されるとアクセス可能になる場合、ラスター化された画像は動作中に圧縮可能であり、全体のラスター画像を記憶する必要性を軽減する。前述のものと同様な利益は、ラスター化がより遅く印刷速度に制限がある速度であることを除けば、この例においても実現される。
本発明は、その精神もしくは実質的な特徴から逸脱することなく、他の特殊な形状において実現できるものであることを当業者により理解されたい。したがって、ここに記載した実施例は、説明のためのものであって、制限されるためのものではない。本発明の範囲は、前述の記載よりも添付の請求の範囲より規定されるべきものであって、それと同等の意味および範囲内からの全ての変形はここに含まれるものである。

Claims (10)

  1. 非圧縮のラスターを記憶するのに要求され るメモリ容量より実質的に少ない予め定められたメモリ 容量を使用して、画像オブジェクトを含むページに対応 するラスター用の圧縮されたデータを作成する方法にお いて、
    (a)画像オブジェクトをラスター上で、どのように、 かつ、どこに、ラスター化するのかを規定するラスター 化要求を生成するステップと、
    (b)ラスター化要求を圧縮された走査線セグメントの ラスター化コマンドに変換するステップであって、各走 査線セグメントのラスター化コマンドがどのように対応 する走査線のセグメントをレンダするかを規定するステ ップと、
    (c)対応する走査線にしたがって、走査線セグメント のラスター化コマンドを組織化するステップと、
    (d)各走査線用の関連するキューをメモリの中に記憶 するステップであって、各キューが対応する走査線セグ メントのラスター化コマンドを含むステップと、
    (e)予め定められた条件が発生したとき、走査線セグ メントのラスター化コマンドの関連するキューにしたが って、一度に1走査線、各走査線をレンダし、レンダさ れた走査線を圧縮されたラスターデータに再圧縮するス テップと、および
    (f)ページのすべてのラスター化要求が処理されるま で、(a)〜(e)の操作を繰り返すステップと、
    を含むラスター用の圧縮されたデータを作成する方法。
  2. 各走査線をレンダするステップは、
    (i)ラスター用の圧縮されたラスターデータの現存す る状態をメモリの中に保存するステップと、
    (ii)ラスターデータに適する現存する圧縮されたデー タを伸張することにより、第1のパスで走査線用のラス ターデータをレンダするステップと、
    (iii)走査線セグメントのラスター化コマンドの関連 するキューを順次伸張することにより、第1のパスから のラスターデータを第2のパスでレンダするステップ と、
    (iv)走査線用の第2のパスのラスターデータを再圧縮 するステップと、
    (v)キューの中の走査線セグメントのラスター化コマ ンドのシーケンスを破棄することにより、メモリの中に スペースを作るステップと、
    (vi)走査線用の再圧縮されたラスターデータを用いて 現存する圧縮されたラスターデータを更新するステップ と、
    をさらに含む請求項1記載の方法。
  3. 前記ページは、ページ描写言語(PDL)ス テートメントの流れによって記述され、そして、前記ラ スター化要求を生成するステップは、PDLステートメン トの流れを翻訳するステップを含む請求項1または2記 載の方法。
  4. 前記ページは、画像コマンドの流れによっ て記述され、そして、前記ラスター化要求を生成するス テップは、画像コマンドの流れを翻訳するステップを含 む請求項1または2記載の方法。
  5. 前記予め定められた条件には、ページ用の ラスター化要求のすべての処理が完了していることが含 まれている請求項1または2記載の方法。
  6. 前記予め定められた条件には、メモリが記 憶されたキューで満たされていることが含まれている請 求項1または2記載の方法。
  7. 前記レンダされた走査線は、プリントエン ジンに適した伸張レートにしたがって再圧縮される請求 項1または2記載の方法。
  8. 前記レンダされた走査線は、ランレングス 符号方式にしたがって再圧縮される請求項1または2記 載の方法。
  9. 前記レンダされた走査線は、変換符号方式 にしたがって再圧縮される請求項1または2記載の方 法。
  10. 前記レンダされた走査線は、損失圧縮方 式にしたがって再圧縮される請求項1または2記載の方 法。
JP50532497A 1995-07-03 1996-07-03 ページプリンタ用に強度のレンダリングを必要としないプロセッサ/メモリ Expired - Fee Related JP3604152B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49747795A 1995-07-03 1995-07-03
US08/497,477 1995-07-03
PCT/US1996/011443 WO1997002542A1 (en) 1995-07-03 1996-07-03 Image rendering for page printers

Publications (2)

Publication Number Publication Date
JPH11509346A JPH11509346A (ja) 1999-08-17
JP3604152B2 true JP3604152B2 (ja) 2004-12-22

Family

ID=23977046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50532497A Expired - Fee Related JP3604152B2 (ja) 1995-07-03 1996-07-03 ページプリンタ用に強度のレンダリングを必要としないプロセッサ/メモリ

Country Status (7)

Country Link
US (1) US6238105B1 (ja)
EP (1) EP0870277B1 (ja)
JP (1) JP3604152B2 (ja)
AU (1) AU720541B2 (ja)
CA (1) CA2226125A1 (ja)
DE (1) DE69632644T2 (ja)
WO (1) WO1997002542A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429949B1 (en) 1998-10-15 2002-08-06 Electronics For Imaging, Inc. Low memory printer controller
US6832187B1 (en) * 1999-05-10 2004-12-14 Hewlett-Packard Development Company, L.P. Methods of providing page protection in a digital printing system having multiple output devices
JP2001053620A (ja) * 1999-08-13 2001-02-23 Canon Inc 符号化方法及び符号化装置、復号化方法及び復号化装置、記憶媒体
JP3406557B2 (ja) 2000-02-18 2003-05-12 パナソニック コミュニケーションズ株式会社 複合機
US7324228B2 (en) * 2000-02-25 2008-01-29 Hewlett-Packard Development Company, L.P. System and method for downloading and for printing data from an external content source
US6564305B1 (en) * 2000-09-20 2003-05-13 Hewlett-Packard Development Company Lp Compressing memory management in a device
US7113302B2 (en) * 2001-10-16 2006-09-26 Texas Instruments Incorporated Printer with unified display list and banded display lists
JP4706237B2 (ja) * 2004-11-19 2011-06-22 ブラザー工業株式会社 データ処理装置、データ処理方法、およびデータ処理プログラム
JP4701685B2 (ja) * 2004-11-26 2011-06-15 ブラザー工業株式会社 データ処理装置、データ処理方法、およびデータ処理プログラム
US7978196B2 (en) * 2006-03-02 2011-07-12 Canon Kabushiki Kaisha Efficient rendering of page descriptions
EP2547087B1 (en) * 2010-03-08 2018-06-13 Konica Minolta Holdings, Inc. Image forming system, controller and rasterization accelerator
JP6270597B2 (ja) * 2014-04-04 2018-01-31 キヤノン株式会社 画像形成装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170445A (en) * 1987-08-04 1992-12-08 Brooktree Corporation Document decompressing system
ATE134272T1 (de) * 1990-08-08 1996-02-15 Peerless Group Verfahren und vorrichtung zur bildwiedergabe
US5329616A (en) * 1990-08-16 1994-07-12 Canon Kabushiki Kaisha Compressed image stores for high resolution computer graphics
US5150454A (en) * 1991-10-16 1992-09-22 Patrick Wood Printing system and method
US5539865A (en) * 1992-11-10 1996-07-23 Adobe Systems, Inc. Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements
US5367383A (en) * 1992-11-27 1994-11-22 Eastman Kodak Company Method and apparatus for maximizing data storage in a processor of image data
US5553200A (en) * 1995-03-03 1996-09-03 Electronics For Imaging, Inc. Method and apparatus for providing bit-rate reduction and reconstruction of image data using dither arrays

Also Published As

Publication number Publication date
EP0870277B1 (en) 2004-06-02
WO1997002542A1 (en) 1997-01-23
AU6456296A (en) 1997-02-05
DE69632644D1 (de) 2004-07-08
US6238105B1 (en) 2001-05-29
DE69632644T2 (de) 2005-05-25
HK1015913A1 (en) 1999-10-22
JPH11509346A (ja) 1999-08-17
AU720541B2 (en) 2000-06-01
CA2226125A1 (en) 1997-01-23
EP0870277A1 (en) 1998-10-14

Similar Documents

Publication Publication Date Title
US5870535A (en) Method and apparatus for building rasterized lines of bitmap data to be printed using a piecewise-linear direct memory access addressing mode of retrieving bitmap data line segments
US5796411A (en) High resolution real time raster image processing system and method
US8422046B2 (en) Print setting based reprinting
US5542031A (en) Halftone computer imager
WO1995028685A1 (en) Digital printing system and process using adaptive compression
JP3604152B2 (ja) ページプリンタ用に強度のレンダリングを必要としないプロセッサ/メモリ
US6860203B2 (en) Method and apparatus for printing computer generated images
JPH11203061A (ja) 画像処理装置、出力装置、画像処理システムおよび画像処理方法
JP2004152255A (ja) 情報処理装置及び情報処理方法及び印刷制御プログラム
KR100477777B1 (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
JP3685234B2 (ja) 画像処理装置
JP4222401B2 (ja) ラスタライズ装置とプログラムと方法
JP2011053263A (ja) 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体
HK1015913B (en) Image rendering for page printers
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP2001169120A (ja) 画像処理装置及びその方法、及び画像処理システム
JP2001096854A (ja) 印刷処理装置および印刷処理方法
JPH10151815A (ja) 印刷処理装置
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2006327155A (ja) 画像処理装置及びその制御方法、プログラム
JPH11119928A (ja) 印刷処理装置および方法
JP2005141293A (ja) 画像処理装置、画像形成装置及びプログラム
JP2006159458A (ja) 画像出力装置
JP2001277613A (ja) 画像処理装置および方法
WO1997018513A1 (en) Method for merging variable image data into a template image

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20031126

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040928

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees