JP4164272B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP4164272B2 JP4164272B2 JP2002078920A JP2002078920A JP4164272B2 JP 4164272 B2 JP4164272 B2 JP 4164272B2 JP 2002078920 A JP2002078920 A JP 2002078920A JP 2002078920 A JP2002078920 A JP 2002078920A JP 4164272 B2 JP4164272 B2 JP 4164272B2
- Authority
- JP
- Japan
- Prior art keywords
- edge
- processing
- coordinate
- information
- edge coordinate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Analysis (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
本発明は、入力したビットマップ画像を処理する画像処理装置及び画像処理方法に関する。
【0002】
【従来の技術】
従来、PostScriptやLIPS,PCL等のページ記述言語(PDL)を処理するプリンタや複合機システムは、バンドバッファもしくはページバッファ等のフレームバッファを持ち、フレームバッファに描画オブジェクトをレンダリングする処理が行われていた。この場合、フレームバッファからその描画オブジェクトの周辺の画像を読み出し、描画オブジェクトと合成した上でフレームバッファに書き戻す作業を、描画オブジェクトすべてについて行っていた。このため、フレームバッファであるメモリに対して、多量のリード・モディファイ・ライトの処理を行う必要があった。従って、プリンタの解像度が高い場合や、カラープリンタにおいて高い階調で出力する場合、レンダリングの時間が非常に長くなるという問題が生じていた。これを解決するために、描画オブジェクトの輪郭情報と、描画オブジェクトの上下関係をあらわすレイヤー情報から、直接最終ピクセルを生成する、レンダリングの方法が、特開2000-137825号公報において提案されている。この方法は、オブジェクトの輪郭情報から、あるピクセル位置に存在するオブジェクトを認識し、つづいてそれらのオブジェクトの上下関係からどのオブジェクトが最上層に存在するかを判断し、最後に最上層に存在するオブジェクトの色情報から、現在注目しているピクセルがどの色かを判断することで、1ピクセル毎にピクセルデータを生成する。そのため、レンダリング時にメモリへのリード・モディファイ・ライトを多量に行う必要がなく、解像度や諧調が増えても、レンダリング時間があまり長くならない。
【0003】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、あるページをレンダリングする前に、あらかじめそのページに存在するオブジェクトの輪郭情報を得ておく必要がある。そのページに文字が多く含まれる場合には、文字のフォントオブジェクトに関する輪郭情報を得ておく必要がある。ところが、文字は種類が多く、また輪郭も複雑なため、輪郭抽出処理に時間がかかるという問題が生じる。
【0004】
また、通常のビットマップフォントは2値ビットマップ画像であり、2値ビットマップ画像から輪郭を抽出する処理は、ビット操作となるため、通常のCPUで処理するには多くのサイクル数を要する処理となり、高速に処理することが困難であるという問題が生じる。
【0005】
また、この輪郭抽出処理に関する問題は、上記レンダリング処理に限らず、OCR処理におけるラスタ−ベクタ処理を実行する際にも生じるものである。
【0006】
すなわち、スキャナからスキャンした画像にOCRをかける場合、ラスタ−ベクタ処理を行っている。ラスタ−ベクタ処理の前半では、ラスタ画像の各画素を検索し、濃度の変化点(エッジ)の座標を求める処理を行い、処理の後半ではエッジの座標から複数エッジ間の関係を推論する事によってベクタを生成する。従来、この座標を求める処理を含め、ラスタ−ベクタ処理のすべての処理をCPUによるソフトウェア処理で行っていた。
【0007】
OCRでは、処理すべきラスタ画像は2値ビットマップ画像である場合が多い。2値ビットマップ画像の各画素を検索する処理では、ビット操作を多量に行う必要があり、通常のCPUではビット操作のために多くのサイクルを消費する。これにより、ソフトウェア処理ではラスタ−ベクタ処理に長い時間を要するという問題が生じる。
【0008】
本発明は、上述した問題点を解決するためのものであり、ラスタ−ベクタ処理を高速に行うことのできる画像処理装置及び画像処理方法を提供することを目的とする。
【0009】
上記目的を達成するため、本発明に係る装置にあっては、ビットマップ画像からエッジ座標情報をライン順に抽出するエッジ座標抽出回路と、コンピュータプログラムを実行することにより、前記エッジ座標抽出回路で抽出されたエッジ座標情報に基づき、前記ビットマップ画像をベクタデータに変換する変換手段と、を含み、前記変換手段による前記ベクタデータへの変換はソフトウェア処理であり、前記エッジ座標抽出回路による前記エッジ座標情報の抽出はハードウェア処理であり、前記エッジ座標抽出回路による前記エッジ座標情報の抽出処理が前記ビットマップ画像の2ライン分終了した時点から、前記変換手段による前記ベクタデータへの変換処理を開始し、その後、前記抽出処理と前記変換処理を並列に実行することを特徴とする。
【0010】
上記目的を達成するため、本発明に係る方法にあっては、ビットマップ画像を処理する画像処理方法であって、エッジ座標抽出回路が、前記ビットマップ画像からエッジ座標情報をライン順に抽出するエッジ座標抽出工程と、CPUにコンピュータプログラムを実行させることにより、CPUが、前記エッジ座標抽出工程で抽出されたエッジ座標情報に基づき、前記ビットマップ画像をベクタデータに変換する変換工程と、を含み、前記エッジ座標抽出回路による前記エッジ座標情報の抽出処理が前記ビットマップ画像の2ライン分終了した時点から、前記CPUによる前記ベクタデータへの変換処理を開始し、その後、前記抽出処理と前記変換処理とを並列に実行することを特徴とする。
【0021】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【0022】
(第1の実施形態)
本実施の形態では、ビットマップ−エッジ座標変換を行うデコーダを用いたエッジ座標抽出回路を構成し、ラスタ−ベクタ処理の前半を高速化する。更に、処理の後半をCPU上のソフトウェアで実行する際に、処理の前半とオーバラップさせて並列処理を行う事により、ラスタ−ベクタ処理を短時間に行う。
【0023】
<構成>
図1は第1の実施形態の構成を示したブロック図である。スキャナ106においてスキャンされた画像は、スキャナインタフェース107を介してマルチファンクションコントローラ111の内部に取り込まれる。取り込まれた画像が多値画像であればイメージプロセッサ110にて二値化し、二値画像であればそのままクロスバースイッチ104を介して、メインメモリ103に格納される。二値化された画像にOCR処理を施すためにCPU102はエッジ座標抽出回路101を起動し、ラスタ−ベクタ変換処理を開始する。エッジ座標抽出回路101が起動されると、リードDMAC101aがメインメモリ103から二値画像を取得し、データセレクタ101bへと送る。
【0024】
データセレクタ101bは、二値画像をバイト単位のストリームに変換してビットマップ−座標デコーダ101cへと送る。ビットマップ−座標デコーダ101cは入力された1バイトの二値画像が持つエッジ数と複数のエッジのx座標を並列にデコードし、その結果をデータ結合部101d(x座標データ結合回路)へ送る。データ結合部101dは、ビットマップ−座標デコーダ101cから受け取ったエッジのx座標をデータバッファに蓄積し、また当該ラインのエッジ数を積算する。データ結合部101dは、メモリへ転送可能な情報量だけエッジのx座標がデータバッファに蓄積された時点で、エッジのx座標のリストをx座標ライトDMAC101fへ転送し、x座標ライトDMAC101fは当該データをメインメモリ103の所定のアドレスへ格納する。
【0025】
ビットマップ−座標デコーダ101cはx方向のバイト数をカウントしており、ラインの終端まで到達した時点でラインの終了をデータ結合部101dへと報せる。ライン終了情報を受け取ったデータ結合部101dは、積算した当該ラインのエッジ数と、当該ラインの先頭のエッジ座標データを格納したアドレスの情報をデータ結合部101e(y座標データ結合回路)へと転送する。データ結合部101eはデータバッファにライン毎のエッジ数と格納アドレスを蓄積し、メモリ転送が可能となった時点でライン毎のエッジ数と格納アドレスをy座標ライトDMAC101gへ転送する。y座標ライトDMAC101gは更に当該データをメインメモリ103の所定のアドレスへ格納する。
【0026】
ビットマップ−座標デコーダ101cはy方向のライン数をカウントしており、二値画像の最終ラインの最終バイトまで到達した時点で、ラインの終了と共に処理の終了をデータ結合部101dへと報せる。処理終了情報を受け取ったデータ結合部101dは、データバッファに蓄積したx座標データをすべてx座標ライトDMAC101fに送ると共に、積算した当該ラインのエッジ数と、当該ラインの先頭のエッジ座標データを格納したアドレスの情報をデータ結合部101eへと、処理終了情報と共に転送する。終了情報を受け取ったデータ結合部101eは、データバッファに格納されたライン毎のエッジ数と格納アドレスを、y座標ライトDMAC101gへ転送し、y座標ライトDMAC101gは当該データをメインメモリ103の所定のアドレスへ格納し処理を終了する。
【0027】
エッジ座標抽出回路101が処理を開始し、2ライン分の処理が終了した時点から、CPU102はラスタ−ベクタ変換処理の後半処理をエッジ座標抽出回路101の処理とは並列に開始する。
【0028】
CPU102は、エッジ座標抽出回路101が出力したエッジ座標情報を元に、隣接したライン間の各エッジの関連性を調べ、ベクタを生成していく。エッジ座標抽出回路101とCPU102が処理を終了すると、二値画像がどのような輪郭を持った画像オブジェクトから成っているかが明らかになり、この情報を元にOCR処理を行う。OCR処理が行われるとスキャナ106でスキャンした画像がどのような方向を向いた文字を持っているかが判別できるため、この情報を元としてN-upのページ結合の処理を行い、結合されたページ画像がプリンタインタフェース109を介してプリンタエンジン108に送られ、プリントアウトされる。
【0029】
また、ホストコンピュータ100からネットワークインタフェース105を介してマルチファンクションコントローラ111にダウンロードされたビットマップフォントデータは、前述のラスタ−ベクタ処理を行う事により、描画オブジェクトとしてPDL描画処理に用いられる。
【0030】
図2は本実施の形態のエッジ座標抽出回路が生成するデータ形式を示した模式図である。元となる二値画像201を、エッジ座標抽出回路101にかけると、各ライン毎のエッジのx座標のリスト202が、x座標ライトDMAC101fによってメインメモリ103に書き込まれる。そして、同時に、各ライン毎のエッジ数203と、リスト202におけるライン先頭を示す行のアドレス(ポインタ)204とからなるリスト205が、y座標ライトDMAC101gによってメインメモリ103に書き込まれる。
【0031】
図3は本実施の形態のエッジ座標抽出回路101のデータパスを示したブロック図である。
【0032】
データリードDMAC101aがメモリから取得した二値画像データは、ビットマップレジスタ301に格納され、当該ビットマップデータはデータセレクタ302によってバイト単位に分割されてバイトレジスタ303に格納される。バイトレジスタ303に格納された8ビットのバイトデータは、インバータ317に送られる。インバータ317では、レジスタ316に格納された値に応じて、バイトデータを反転する。
【0033】
レジスタ316には1つ前(左側)のバイトのLSBが保持されている。この値が1であれば、バイトデータの右端の画素が濃度を有していることになる。従って、この場合には、トータルでのエッジ数が奇数になり、エッジでない座標がエッジと認識される可能性がある。そこで、エッジ位置及びエッジ数を調整するため、インバータ317において反転した上でビットマップ−座標デコーダ304に入力する。
【0034】
ビットマップ−座標デコーダ304には、8ビットのバイトデータが示す値と、エッジ位置情報及びエッジ数情報とを対応させて格納したルックアップテーブル(図4〜図9)が用意されており、バイトデータからエッジ位置情報及びエッジ数情報とに同時にデコードする。
【0035】
例えば、図2においては、0行目の最初のバイトデータは、16進数で03であり、LSBは1である。従って、レジスタ316は、この値1を次のバイトデータがバイトレジスタ303から出力されるまで保持している。続くバイトデータは、16進数で80であり、これがレジスタ303に保持されると、インバータ317は、レジスタ316が1であるから、80を7fに変換する。これにより、エッジデコーダ304はエッジ数1、エッジ位置1を出力することになり、連続するバイトデータ間で適正に調整が行われる。
【0036】
ビットマップ−座標デコーダ304によってデコードされた、バイトデータ内に含まれるエッジ数と全てのエッジの位置の座標情報は、エッジ数レジスタ306と下位エッジx座標レジスタ305に格納される。ビットマップ−座標デコーダ101cはx方向のバイトカウンタ307を持っており、これがエッジの上位x座標となる。
【0037】
下位エッジx座標レジスタ305はバレルシフタ311によってシフトされ上位x座標カウンタ307の出力とビット結合されてx座標データ結合レジスタ312に格納される。
【0038】
バイト内のエッジ数はエッジ数カウンタ313に入力され、ライン内のエッジ数をカウントするのに用いられる。ライン内エッジ数の下位ビットと現在バイトのエッジ数であるエッジ数レジスタ306の出力がデコーダ314に入力され、バレルシフタ311のシフト量と、x座標データ結合レジスタ312のロード信号が生成される。
【0039】
このバレルシフタ311の動作について、図2(a)の画像を例にとり説明する。0ライン目の最初のバイトは16進数で03である。デコーダ304によってエッジ位置がデコードされ、図4においてバイトデータ(byte data)が3の行に示すように、エッジ位置情報(edge position)として値"6,0,0,0,0,0,0,0"が下位エッジx座標レジスタ305へ格納される。最初のバイトであるため、デコーダ314が出力するデコード量は0であるから、最初のエッジ位置である6が、上位x座標カウンタ307の値0と結合されて、エッジ位置が6となり、左端のレジスタ312に保持される。
【0040】
0ライン目の続くバイトは80であるが、前バイトのLSBビットが1であったために、インバータ317によって7fに変換され、デコーダ304によって、値"1,0,0,0,0,0,0,0"が下位エッジx座標レジスタ305に格納される。0ライン目の積算エッジ数が最初のバイトで1になっていたため、デコーダ314が1セグメントのシフトをバレルシフタ311に指示し、左から4つの値をレジスタ312に出力する。つまり、値"1,0,0,0,0,0,0,0"は値"0,1,0,0"となってバレルシフタ311から出力される。
【0041】
上位x座標カウンタ307は最初のバイトの処理によって1にカウントアップされているため、バレルシフタの出力"0,1,0,0"の1と結合されて二進数1001、十進で9の値がレジスタ312の左から2番目のレジスタに格納される。これにより図2の204の最初の行に相当する"6,9"の値が生成される。
【0042】
図2では説明を容易にするために1ライン16画素の画像を表したが、ここで示されるエッジ座標抽出回路101は、より現実的に、1ラインが232画素で構成される画像を扱うものである。従って、最終的にレジスタ312には、32ビットのエッジ座標が格納される。
【0043】
x座標データ結合レジスタ312が満杯になると、結合された座標データはx座標ライトDMAC101fに送られ、エッジ座標データ204としてメインメモリ103に格納される。エッジ座標データ204の格納アドレスはアドレスカウンタ315によってカウントされ、ラインの先頭のアドレスはデータ結合部101eに送られる。
【0044】
また、1回の出力でバレルシフタ311からレジスタ312に出力できない場合には、満杯になったレジスタ312からライトDMAC101fに座標データが送られた後に、バレルシフタ311に残った値を適宜シフトしてレジスタ312に送る。
【0045】
ビットマップ−座標デコーダ101cは上位x座標カウンタ307の値とラインの長さのバイト数をライン終了比較器308によって比較しており、上位x座標カウンタ307の値がライン終了まで達したところでライン終了信号がライン終了レジスタ309に保持される。ライン終了情報が発生すると、アドレスカウンタ315の値とラインエッジ数カウンタ313の値がy座標データ結合回路101eへ送られる。ビットマップ−座標デコーダ101cはまたy方向のラインカウンタ310を持っており、ライン終了レジスタ309の情報をカウントしつつ、ビットマップ画像の総ライン数と比較している。ライン数が最終に達すると処理終了信号を発生し、ライトDMAC101f,101gに保持したデータ全てをメモリ103へ書き出すように指示し、全体の処理を終了させる。
【0046】
図4〜図9は本実施の形態のビットマップ−座標デコーダ304の入出力を示した真理値表である。本実施の形態はMSB側がビットマップの左端としており、0が白、1が黒、背景が白としているため、例えばバイトレジスタ303の出力が0x06の場合には、エッジ数の出力が2、第1エッジの位置(下位x座標)が5、第2エッジの位置(下位x座標)が7をデコードし、第3エッジ以降の値に無効を示す0がデコードされ、これらのデータがエッジ数レジスタ306、下位x座標レジスタ311へと格納される。
【0047】
なお、図4〜図9で示したテーブルは、あくまで例示的なものに過ぎず、バイトデータの値とエッジ座標情報及びエッジ数情報とを対応させて格納したテーブルであれば、如何なるテーブルも本発明に適用することができる。
【0048】
以上説明したように、本実施形態によれば、ラスタ−ベクタ処理の前半部分に当たるエッジ抽出処理を高速に行うことが可能となり、さらにエッジ同士の関連を導出してベクタ変換する処理をCPU上のソフトウェアで並列に行うことによって、ラスタ−ベクタ処理を短時間に行うことが可能となる。
【0049】
(第2の実施形態)
既に述べたように、特開2000-137825号公報において、描画オブジェクトの輪郭情報と、描画オブジェクトの上下関係をあらわすレイヤー情報から、直接最終ピクセルを生成する、レンダリングの方法が、提案されている。
【0050】
この方法は、オブジェクトの輪郭情報からどのオブジェクトが存在するかを判断し、つづいてオブジェクトの上下関係からどのオブジェクトが表面に存在するからを判断し、最後に表面に存在するオブジェクトの色情報から、現在注目しているピクセルがどの色かを判断することで、ピクセルを生成することを、1ピクセル毎に行う。そのため、レンダリング時にメモリへのリード・モディファイ・ライトを多量に行う必要がなく、解像度や諧調が増えても、レンダリング時間が飛躍的に長くなることはない。
【0051】
この方法では、レンダリング処理前に、あらかじめオブジェクトの輪郭情報を得ておく必要がある。通常プリントする文章では文字が多く含まれるが、文字のフォントオブジェクトに対しても輪郭情報を得ておく必要がある。
【0052】
本実施の形態では、ビットマップ−エッジ座標変換を行うデコーダを用いたエッジ座標抽出回路を構成し、輪郭情報の抽出処理の前半を高速化する。更に、処理の後半をCPU上のソフトウェアで実行する際に、処理の前半とオーバラップさせて並列処理を行う事により、輪郭情報の抽出処理を短期間に行う。
【0053】
<構成>
図10は第2の実施形態の構成を示したブロック図である。ホストコンピュータ1000によって生成されたプリント情報が、ネットワークを解してマルチファンクションコントローラ1011へと送られる。ネットワークインターフェース1005によって受信されたプリント情報は、クロスバースイッチ1004を介して一度メインメモリ1003へ格納される。続いてCPU1002はメインメモリ1003へ格納されたプリント情報の解析を開始し、描画オブジェクトの輪郭情報、レイヤー情報、色情報等を、ディスプレイリストとしてメインメモリ1003の別の領域に生成していく。描画オブジェクトが文字であった場合には、フォントキャッシュを検索し、キャッシュヒットした場合にはフォントキャッシュ内に登録されている輪郭情報をディスプレイリストに追加し、キャッシュミスした場合にはビットマップフォントメインメモリ1003の別の領域に生成し、続く輪郭情報抽出処理に移行する。
【0054】
ビットマップフォントの輪郭情報を抽出するために、まずCPU1002はエッジ座標抽出回路1001にビットマップフォントが格納されたメモリアドレスを与え、これを起動する。エッジ座標抽出回路1001が起動されると、リードDMAC1001aがメインメモリ1003より、前出のビットマップフォント画像を取得し、データセレクタ1001bへと送る。
【0055】
データセレクタ1001bは、ビットマップフォント画像をバイト単位のストリームに変換してビットマップ−座標デコーダ1001cへと送る。ビットマップ−座標デコーダ1001cは入力された1バイトのビットマップ画像が持つエッジ数と複数のエッジのx座標を並列にデコードし、その結果をデータ結合部1001d(x座標データ結合回路)へ送る。データ結合部1001dはビットマップ−座標デコーダ1001cから受け取ったエッジのx座標をデータバッファに蓄積し、また当該ラインのエッジ数を積算する。データ結合部1001dは、メモリへ転送可能な情報量だけエッジのx座標がデータバッファに蓄積された時点で、エッジのx座標のリストをx座標ライトDMAC101fへ転送し、x座標ライトDMAC1001fは当該データをメインメモリ1003の所定のアドレスへ格納する。
【0056】
ビットマップ−座標デコーダ1001cはx方向のバイト数をカウントしており、ラインの終端まで到達した時点でラインの終了をデータ結合部1001dへと報せる。ライン終了情報を受け取ったデータ結合部1001dは、積算した当該ラインのエッジ数と、当該ラインの先頭のエッジ座標データを格納したアドレスの情報をデータ結部1001e(y座標データ結合回路)へと転送する。データ結合部1001eはデータバッファにライン毎のエッジ数と格納アドレスを蓄積し、メモリ転送が可能となった時点でライン毎のエッジ数と格納アドレスをy座標ライトDMAC1001gへ転送する。y座標ライトDMAC1001gは更に当該データをメインメモリ1003の所定のアドレスへ格納する。
【0057】
ビットマップ−座標デコーダ1001cはy方向のライン数をカウントしており、ビットマップ画像の最終ラインの最終バイトまで到達した時点で、ラインの終了と共に処理の終了をデータ結合部1001dへと報せる。処理終了情報を受け取ったデータ結合部1001dは、データバッファに蓄積したx座標データをすべてx座標ライトDMAC1001fに送ると共に、積算した当該ラインのエッジ数と、当該ラインの先頭のエッジ座標データを格納したアドレスの情報をデータ結合部1001eへと、処理終了情報と共に転送する。終了情報を受け取ったデータ結合部1001eは、データバッファに格納されたライン毎のエッジ数と格納アドレスを、y座標ライトDMAC1001gへ転送し、y座標ライトDMAC1001gは当該データをメインメモリ1003の所定のアドレスへ格納し処理を終了する。
【0058】
エッジ座標抽出回路1001が処理を開始し、2ライン分の処理が終了した時点から、CPU1002はエッジ座標から輪郭情報を抽出する処理をエッジ座標抽出回路1001の処理とは並列に開始する。
【0059】
CPU1002はエッジ座標抽出回路1001が出力したエッジ座標情報を元に、隣接したライン間の各エッジの関連性を調べ、ベクタを生成していく。エッジ座標抽出回路1001とCPU1002が処理を終了すると、ビットマップフォントの輪郭情報が得られる。CPU1002はこの輪郭情報をフォントキャッシュに登録するとともに、ディスプレイリストへも登録する。
【0060】
こうして1ページ分のディスプレイリストが生成されると、CPU1002はこのディスプレイリストを元にレンダリング処理を行い、プリントすべき画像をメインメモリ1003へ生成する。生成された画像はクロスバースイッチ1004、画像処理回路1010を介してプリンタインターフェース1009より、プリントエンジン1008へと送られる。プリントエンジン1008では、受信した画像を記録媒体である紙に記録し、最終的なプリントアウトが得られる。
【0061】
図11は本実施の形態のエッジ座標抽出回路が生成するデータ形式を示した模式図である。元となるビットマップ画像1101を、エッジ座標抽出回路1001にかけると、各ライン毎のエッジのx座標のリスト1102が、x座標ライトDMAC1001fによってメインメモリ1003に書き込まれる。そして、同時に、各ライン毎のエッジ数1103と、リスト1102におけるライン先頭を示す行のアドレス(ポインタ)1104とからなるリスト1105が、y座標ライトDMAC1001gによってメインメモリ1003に書き込まれる。
【0062】
図12は本実施の形態のエッジ座標抽出回路1001のデータパスを示したブロック図である。
【0063】
データリードDMAC101aがメモリから取得したビットマップ画像データは、ビットマップレジスタ1201に格納され、当該ビットマップデータはデータセレクタ1202によってバイト単位に分割されてバイトレジスタ1203に格納される。バイトレジスタ1203に格納されたビットマップデータは、インバータ1217に送られる。インバータ1217では、レジスタ1216に格納された値に応じて、バイトデータを反転する。
【0064】
レジスタ1216には1つ前(左側)のバイトのLSBが保持されている。この値が1であれば、バイトデータの右端の画素が濃度を有していることになる。従って、この場合には、トータルでのエッジ数が奇数になり、エッジでない座標がエッジと認識される可能性がある。そこで、エッジ位置及びエッジ数を調整するため、インバータ1217において反転した上でビットマップ−座標デコーダ1204に入力する。
【0065】
ビットマップ−座標デコーダ1204には、8ビットのバイトデータが示す値と、エッジ位置情報及びエッジ数情報とを対応させて格納したルックアップテーブル(図4〜図9)が用意されており、バイトデータからエッジ位置情報及びエッジ数情報とに同時にデコードする。
【0066】
ビットマップ−座標デコーダ1204によってデコードされた、バイトデータ内に含まれるエッジ数と全てのエッジの位置の座標情報は、エッジ数レジスタ1206と下位エッジx座標レジスタ1205に格納される。ビットマップ−座標デコーダ1001cはx方向のバイトカウンタ1207を持っており、これがエッジの上位x座標となる。
【0067】
下位エッジx座標レジスタ1205はバレルシフタ1211によってシフトされ上位x座標カウンタ1207の出力とビット結合されてx座標データ結合レジスタ1212に格納される。
【0068】
バイト内のエッジ数はエッジ数カウンタ1213に入力され、ライン内のエッジ数がカウントするのに用いられる。ライン内エッジ数の下位ビットと現在バイトのエッジ数であるエッジ数レジスタ1206の出力がデコーダ1214に入力され、バレルシフタ1211のシフト量と、x座標データ結合レジスタ1212のロード信号が生成される。
【0069】
このバレルシフタ1211の動作は、第1の実施形態において、図2(a)の画像を例に説明したものと同様であるので、その詳細な説明は省略する。
【0070】
x座標データ結合レジスタ1212が満杯になると、結合された座標データはx座標ライトDMAC1001fに送られ、エッジ座標データ1104としてメインメモリ1003に格納される。エッジ座標データ1104の格納アドレスはアドレスカウンタ1215によってカウントされ、ラインの先頭のアドレスはデータ結合部1001eに送られる。
【0071】
また、1回の出力でバレルシフタ1211からレジスタ1212に出力できない場合には、満杯になったレジスタ1212からライトDMAC1001fに座標データが送られた後に、バレルシフタ1211に残った値を適宜シフトしてレジスタ1212に送る。
【0072】
ビットマップ−座標デコーダ1001cは上位x座標カウンタ1207の値とラインの長さのバイト数をライン終了比較器1208によって比較しており、上位x座標カウンタ1207の値がライン終了まで達したところでライン終了信号がライン終了レジスタ1209に保持される。ライン終了情報が発生すると、アドレスカウンタ1215の値とラインエッジ数カウンタ1213の値がy座標データ結合回路1001eへ送られる。ビットマップ−座標デコーダ1001cはまたy方向のラインカウンタ1210を持っており、ライン終了レジスタ1209の情報をカウントしつつ、ビットマップ画像の総ライン数と比較している。ライン数が最終に達すると処理終了信号を発生し、ライトDMAC1001f, 1001gに保持したデータ全てをメモリ1003へ書き出すように指示し、全体の処理を終了させる。
【0073】
<ソフトウェア処理>
図13は本実施の形態の輪郭抽出処理のソフトウェアシーケンスを示したフローチャートである。なお本フローチャートの処理は、メインメモリ1003に予め格納されているプログラムに基づき、CPU1002が実行する。
【0074】
はじめに、エッジ座標抽出回路1001が生成するエッジ情報を格納するメモリ領域を確保し(S1301)、続いてエッジ座標抽出回路1001に必要なビットマップフォントが格納されたアドレス等のパラメータを設定し(S1302)、エッジ座標抽出回路1001を起動してエッジ座標抽出処理を開始する(S1303)。
【0075】
次にエッジ座標抽出回路1001が2ライン以上の処理を終えたかを判断し(S1304)、まだ処理を終えていなければ2ライン以上の処理を終えるまで待ち、2ライン以上の処理を終えていれば、注目ラインを2ライン目に指定し、エッジ座標抽出処理と並列にエッジ座標から輪郭情報を生成する処理を開始する(S1305)。
【0076】
エッジ座標から輪郭情報を生成する処理は、注目エッジの初期値が主走査の原点方向にあることを前提に、まず注目ラインの未処理エッジ数が0かを判断する(S1306)。
【0077】
ステップS1306において、未処理エッジ数が0よりも大きい場合には、注目エッジが前ラインから注目ラインへ移った際の傾きを計算し、輪郭情報に付加する(S1307)。次に注目エッジを主走査方向に進め(S1308)、ステップS1306に戻り、再度未処理エッジ数が0かを判断する。
【0078】
ステップS1306において、未処理エッジ数が0で合った場合には、つぎに注目ラインを1進め、注目エッジを主走査原点方向に戻す(S1309)。次にビットマップすべてのラインに対して処理を行ったか、すなわち、残りライン数が0であるかを判断し(S1310)、ラインが残っている場合には次にエッジ抽出回路1001が注目ラインの処理を終えているかを判断し(S1311)、注目ラインの処理を終えていない場合には処理が進むのを待ち、注目ラインの処理が終えている場合には、ステップS1306に戻り、また未処理エッジ数の判断を行う。もしビットマップフォントのすべてのラインに対して処理を終えたならば、処理は終了である。
【0079】
本実施形態において、ビットマップ−座標デコーダ1204の入出力を示した真理値表は、第1の実施形態で示した図4〜9の真理値表と同一である。本実施の形態はMSB側がビットマップの左端としており、0が白、1が黒、背景が白としているため、例えばバイトレジスタ1203の出力が0x06の場合には、エッジ数の出力が2、第1エッジの位置(下位x座標)が5、第2エッジの位置(下位x座標)が7をデコードし、第3エッジ以降の値に無効を示す0がデコードされ、これらのデータがエッジ数レジスタ1206、下位x座標レジスタ1203へと格納される。
【0080】
なお、本実施形態では、第1の実施形態と同様に、図4〜図9で示したテーブルを用いたが、これらは、あくまで例示的なものに過ぎず、レンダリング処理のために別途設定した専用のテーブルを適用してもよい。
【0081】
以上説明したように、本実施形態によれば、オブジェクトの輪郭情報生成処理の前半部分にあたるエッジ抽出処理を高速に行うことが可能となり、さらにエッジ同士の関連を導出して輪郭情報を生成する処理をCPU上のソフトウェアで並列に行うことによって、オブジェクトの輪郭情報生成処理を短時間に行うことが可能となる。
【0082】
特に、文字が多く含まれる文書のレンダリングを行う場合においても、フォントオブジェクト単位で高速な輪郭抽出処理ができるので、高速なプリント処理が実行可能となる。
【0083】
【発明の効果】
本発明によれば、エッジ抽出処理を高速に行うことのできる画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態の構成を示したブロック図である。
【図2】本発明の第1の実施形態のエッジ座標抽出回路が生成するデータ形式を示した模式図である。
【図3】本発明の第1の実施形態のエッジ座標抽出回路のデータパスを示したブロック図である。
【図4】本発明の実施形態のデコーダ回路の動作の真理値表を示す図である。
【図5】本発明の実施形態のデコーダ回路の動作の真理値表を示す図である。
【図6】本発明の実施形態のデコーダ回路の動作の真理値表を示す図である。
【図7】本発明の実施形態のデコーダ回路の動作の真理値表を示す図である。
【図8】本発明の実施形態のデコーダ回路の動作の真理値表を示す図である。
【図9】本発明の実施形態のデコーダ回路の動作の真理値表を示す図である。
【図10】本発明の第2の実施形態の構成を示したブロック図である。
【図11】本発明の第2の実施形態のエッジ座標抽出回路が生成するデータ形式を示した模式図である。
【図12】本発明の第2の実施形態のエッジ座標抽出回路のデータパスを示したブロック図である。
【図13】本発明の第2の実施形態の輪郭抽出処理のソフトウェアシーケンスを示したフローチャートである。
【符号の説明】
101 : エッジ座標抽出回路
101a : リードDMAC
101b : データセレクタ
101c : ビットマップ−座標デコーダ
101d : x座標データ結合回路
101e : y座標データ結合回路
101f : x座標データライトDMAC
101g : y座標データライトDMAC
102 : CPU
103 : メモリ
104 : クロスバー回路
105 : ネットワークインタフェース
106 : スキャナ
107 : スキャナインタフェース
108 : プリンタ
109 : プリンタインタフェース
110 : イメージ処理回路
111 : マルチファンクションコントローラ
201 : ビットマップ画像
202 : エッジのx座標
203 : ライン内のエッジ数
204 : ラインの先頭へのポインタ
301 : ビットマップデータバッファ
302 : バイトセレクタ
303 : バイトバッファ
304 : ビットマップ−座標デコーダ
305 : 下位 x 座標レジスタ
306 : エッジ数レジスタ
307 : 上位 x 座標カウンタ
308 : ライン終了比較器
309 : ライン終了フラグレジスタ
310 : ライン数カウンタ
311 : バレルシフタ
312 : x座標データ結合レジスタ
313 : ラインエッジ数カウンタ
314 : デコーダ
315 : アドレスカウンタ
Claims (8)
- ビットマップ画像からエッジ座標情報をライン順に抽出するエッジ座標抽出回路と、
コンピュータプログラムを実行することにより、前記エッジ座標抽出回路で抽出されたエッジ座標情報に基づき、前記ビットマップ画像をベクタデータに変換する変換手段と、
を含み、
前記変換手段による前記ベクタデータへの変換はソフトウェア処理であり、前記エッジ座標抽出回路による前記エッジ座標情報の抽出はハードウェア処理であり、
前記エッジ座標抽出回路による前記エッジ座標情報の抽出処理が前記ビットマップ画像の2ライン分終了した時点から、前記変換手段による前記ベクタデータへの変換処理を開始し、その後、前記抽出処理と前記変換処理とを並列に実行することを特徴とする画像処理装置。 - 前記エッジ座標情報は、ライン毎のエッジ位置情報及びエッジ数情報であることを特徴とする請求項1記載の画像処理装置。
- 前記ビットマップ画像は二値ビットマップ画像であり、
前記エッジ座標抽出回路は、前記二値ビットマップ画像のエッジ座標情報を抽出し、
前記変換手段は、前記コンピュータプログラムを実行することにより、前記エッジ座標抽出回路で抽出されたエッジ座標情報に基づき、前記二値ビットマップ画像をベクタデータに変換することを特徴とする請求項1記載の画像処理装置。 - 前記変換手段により変換されたベクタデータに基づき、OCR処理を行うOCR手段を更に有することを特徴とする請求項1記載の画像処理装置。
- 前記エッジ座標情報とは、画素間の濃度変化点の座標に関する情報であることを特徴とする請求項1記載の画像処理装置。
- 前記ベクタデータは、前記ビットマップ画像内の画像オブジェクトの輪郭を示すデータであることを特徴とする請求項1記載の画像処理装置。
- 前記エッジ座標抽出回路は、
前記ビットマップ画像から、連続するnビットのデータを抽出する抽出手段と、
前記抽出手段により抽出されたnビットデータから、エッジ位置情報及びエッジ数情報を同時にデコードするデコード手段と、
前記デコード手段によって導き出した、前記nビットデータ毎のエッジ位置情報及びエッジ数情報を結合して、1ライン毎のエッジ位置情報及びエッジ数情報を導き出すデータ結合手段と、
を有することを特徴とする請求項1に記載の画像処理装置。 - ビットマップ画像を処理する画像処理方法であって、
エッジ座標抽出回路が、前記ビットマップ画像からエッジ座標情報をライン順に抽出するエッジ座標抽出工程と、
CPUにコンピュータプログラムを実行させることにより、CPUが、前記エッジ座標抽出工程で抽出されたエッジ座標情報に基づき、前記ビットマップ画像をベクタデータに変換する変換工程と、
を含み、
前記エッジ座標抽出回路による前記エッジ座標情報の抽出処理が前記ビットマップ画像の2ライン分終了した時点から、前記CPUによる前記ベクタデータへの変換処理を開始し、その後、前記抽出処理と前記変換処理とを並列に実行することを特徴とする画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002078920A JP4164272B2 (ja) | 2001-04-24 | 2002-03-20 | 画像処理装置及び画像処理方法 |
US10/119,759 US7119807B2 (en) | 2001-04-24 | 2002-04-11 | Image processing apparatus and image processing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001126640 | 2001-04-24 | ||
JP2001-126640 | 2001-04-24 | ||
JP2002078920A JP4164272B2 (ja) | 2001-04-24 | 2002-03-20 | 画像処理装置及び画像処理方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003016464A JP2003016464A (ja) | 2003-01-17 |
JP2003016464A5 JP2003016464A5 (ja) | 2005-09-08 |
JP4164272B2 true JP4164272B2 (ja) | 2008-10-15 |
Family
ID=26614128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002078920A Expired - Fee Related JP4164272B2 (ja) | 2001-04-24 | 2002-03-20 | 画像処理装置及び画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7119807B2 (ja) |
JP (1) | JP4164272B2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990428B1 (en) * | 2003-07-28 | 2006-01-24 | Cisco Technology, Inc. | Radiolocation using path loss data |
US7286515B2 (en) * | 2003-07-28 | 2007-10-23 | Cisco Technology, Inc. | Method, apparatus, and software product for detecting rogue access points in a wireless network |
US7293088B2 (en) | 2003-07-28 | 2007-11-06 | Cisco Technology, Inc. | Tag location, client location, and coverage hole location in a wireless network |
JP4085204B2 (ja) | 2003-09-05 | 2008-05-14 | 株式会社オーク製作所 | 描画用ベクタデータの処理方法及び描画装置 |
JP2005100176A (ja) * | 2003-09-25 | 2005-04-14 | Sony Corp | 画像処理装置およびその方法 |
JP4266784B2 (ja) * | 2003-11-14 | 2009-05-20 | キヤノン株式会社 | 画像処理システム及び画像処理方法 |
US7260408B2 (en) | 2004-02-20 | 2007-08-21 | Airespace, Inc. | Wireless node location mechanism using antenna pattern diversity to enhance accuracy of location estimates |
US7286833B2 (en) | 2004-02-27 | 2007-10-23 | Airespace, Inc. | Selective termination of wireless connections to refresh signal information in wireless node location infrastructure |
US7116988B2 (en) | 2004-03-16 | 2006-10-03 | Airespace, Inc. | Location of wireless nodes using signal strength weighting metric |
US7433696B2 (en) | 2004-05-18 | 2008-10-07 | Cisco Systems, Inc. | Wireless node location mechanism featuring definition of search region to optimize location computation |
US7286835B1 (en) | 2004-09-10 | 2007-10-23 | Airespace, Inc. | Enhanced wireless node location using differential signal strength metric |
US7047014B1 (en) * | 2004-11-05 | 2006-05-16 | Airespace, Inc. | Raster-to-vector conversion operations adapted to modeling of RF propagation |
JP2006260080A (ja) * | 2005-03-16 | 2006-09-28 | Toshiba Corp | 光学的文字認識システムおよび光学的文字認識方法 |
JP4766657B2 (ja) * | 2005-05-02 | 2011-09-07 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
US7613363B2 (en) | 2005-06-23 | 2009-11-03 | Microsoft Corp. | Image superresolution through edge extraction and contrast enhancement |
US7679620B2 (en) * | 2005-07-28 | 2010-03-16 | Microsoft Corp. | Image processing using saltating samples |
US7734092B2 (en) * | 2006-03-07 | 2010-06-08 | Ancestry.Com Operations Inc. | Multiple image input for optical character recognition processing systems and methods |
US7616555B2 (en) | 2006-10-03 | 2009-11-10 | Cisco Technology, Inc. | Minimum variance location estimation in wireless networks |
US7835749B1 (en) | 2006-10-03 | 2010-11-16 | Cisco Technology, Inc. | Location inspector in wireless networks |
US7626969B2 (en) | 2006-10-04 | 2009-12-01 | Cisco Technology, Inc. | Relative location of a wireless node in a wireless network |
US7983667B2 (en) | 2006-10-05 | 2011-07-19 | Cisco Technology, Inc. | Radio frequency coverage map generation in wireless networks |
JP4873554B2 (ja) * | 2006-12-25 | 2012-02-08 | 株式会社リコー | 画像配信装置および画像配信方法 |
US7904092B2 (en) | 2007-01-04 | 2011-03-08 | Cisco Technology, Inc. | Locally adjusted radio frequency coverage maps in wireless networks |
CN101796543B (zh) * | 2007-06-28 | 2013-12-18 | 艾利森电话股份有限公司 | 数据***和方法 |
JP4525787B2 (ja) * | 2008-04-09 | 2010-08-18 | 富士ゼロックス株式会社 | 画像抽出装置、及び画像抽出プログラム |
KR20120090354A (ko) * | 2011-02-07 | 2012-08-17 | 삼성전자주식회사 | 2차원 벡터 그래픽스를 위한 에지 관리 유닛과 그것을 포함하는 그래픽 처리장치 및 그 방법 |
JP5744574B2 (ja) * | 2011-03-07 | 2015-07-08 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
CN102436669A (zh) * | 2011-10-13 | 2012-05-02 | 中国民用航空总局第二研究所 | 二维矢量地图绘制方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4183013A (en) * | 1976-11-29 | 1980-01-08 | Coulter Electronics, Inc. | System for extracting shape features from an image |
US5058181A (en) * | 1989-01-25 | 1991-10-15 | Omron Tateisi Electronics Co. | Hardware and software image processing system |
US5054098A (en) * | 1990-05-21 | 1991-10-01 | Eastman Kodak Company | Method of detecting the skew angle of a printed business form |
US5644366A (en) * | 1992-01-29 | 1997-07-01 | Canon Kabushiki Kaisha | Image reproduction involving enlargement or reduction of extracted contour vector data for binary regions in images having both binary and halftone regions |
US5303334A (en) * | 1992-03-05 | 1994-04-12 | Adobe Systems Incorporated | System for generating a rasterized graphic image |
US5872864A (en) * | 1992-09-25 | 1999-02-16 | Olympus Optical Co., Ltd. | Image processing apparatus for performing adaptive data processing in accordance with kind of image |
JP3249605B2 (ja) * | 1992-11-25 | 2002-01-21 | イーストマン・コダックジャパン株式会社 | 書類辺縁検出装置 |
CA2116600C (en) * | 1993-04-10 | 1996-11-05 | David Jack Ittner | Methods and apparatus for inferring orientation of lines of text |
US5471568A (en) * | 1993-06-30 | 1995-11-28 | Taligent, Inc. | Object-oriented apparatus and method for scan line conversion of graphic edges |
JP3480971B2 (ja) * | 1993-10-17 | 2003-12-22 | ヒューレット・パッカード・カンパニー | 画像データの生成方法及び復元方法 |
US5870564A (en) * | 1996-03-01 | 1999-02-09 | Novell, Inc. | Near-optimal path apparatus and method |
US5732248A (en) * | 1996-03-08 | 1998-03-24 | Hewlett-Packard Company | Multistep vector generation for multiple frame buffer controllers |
US6041205A (en) * | 1996-06-25 | 2000-03-21 | Canon Kabushiki Kaisha | Image processing apparatus for laying out plurality of images in conformity with image orientation |
US5902987A (en) * | 1997-02-20 | 1999-05-11 | Intermec Ip Corporation | Apparatus and method of rapidly locating edges of machine-readable symbols or other linear images |
JP4343344B2 (ja) | 1998-09-11 | 2009-10-14 | キヤノン株式会社 | ラスタ形式のグラフィックオブジェクトを用いたイメージの高速レンダリング方法 |
-
2002
- 2002-03-20 JP JP2002078920A patent/JP4164272B2/ja not_active Expired - Fee Related
- 2002-04-11 US US10/119,759 patent/US7119807B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003016464A (ja) | 2003-01-17 |
US20020154134A1 (en) | 2002-10-24 |
US7119807B2 (en) | 2006-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4164272B2 (ja) | 画像処理装置及び画像処理方法 | |
JP5312166B2 (ja) | 画像処理装置及び制御方法及びプログラム | |
JP4574457B2 (ja) | 画像処理装置およびその方法 | |
JPH05207282A (ja) | 画像データ処理方法及びその装置 | |
US8502830B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP2000132690A (ja) | ト―クン化によるイメ―ジ分割を用いたイメ―ジ処理方法および装置 | |
JP2009071626A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、並びに、記録媒体 | |
JP2009302758A (ja) | 画像処理装置、画像変換方法、およびコンピュータプログラム | |
JP5335581B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2009296150A (ja) | 画像処理装置、画像変換方法、およびコンピュータプログラム | |
JP2006172284A (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP2008206073A (ja) | 画像処理装置、制御方法、プログラム、及び記憶媒体 | |
US20110205591A1 (en) | Image processing device and image processing method | |
JP7147544B2 (ja) | 情報処理装置、及び情報処理方法 | |
JP7134045B2 (ja) | 画像処理装置と画像処理方法、及びプログラム | |
CN109218556B (zh) | 进行绘制处理的图像处理装置、绘制处理方法和存储介质 | |
JP2008042346A (ja) | 画像処理方法、画像処理装置 | |
JP5800217B2 (ja) | レンダリング方法 | |
JP2007122621A (ja) | 情報処理装置、情報処理方法 | |
JP2008165538A (ja) | 画像処理装置及び画像処理装置の制御方法 | |
JP3384588B2 (ja) | 画像データ処理装置 | |
JP2007140953A (ja) | 情報処理装置、画像形成システム及びデータ生成方法 | |
JP4096650B2 (ja) | プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置 | |
JPH106553A (ja) | 印刷装置及びその制御方法 | |
JP2004358906A (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050322 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080613 |
|
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: 20080707 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080728 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 3 |
|
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: 20120801 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130801 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |