JP4109875B2 - 画像符号化装置、画像符号化方法、プログラム、記憶媒体 - Google Patents
画像符号化装置、画像符号化方法、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP4109875B2 JP4109875B2 JP2002046434A JP2002046434A JP4109875B2 JP 4109875 B2 JP4109875 B2 JP 4109875B2 JP 2002046434 A JP2002046434 A JP 2002046434A JP 2002046434 A JP2002046434 A JP 2002046434A JP 4109875 B2 JP4109875 B2 JP 4109875B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- pixel
- command
- data
- copy
- 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
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、画像を符号化する画像符号化装置、符号コマンドからなる符号データに基づいて画像を復号する画像復号装置、画像符号化号方法、画像復号方法、プログラム、記憶媒体に関するものである。
【0002】
【従来の技術】
従来、画像データを圧縮する際に、水平方向および垂直方向に同一の画素値を持つ画素が連続する傾向が高いことを利用して、注目位置との相関が高い、直左または直上の位置を参照して符号化を行うことが一般的であった。
【0003】
また、圧縮しようとする画像データがディザマトリクスによる減色処理を施した画像データである場合には、減色処理を施す際に隣接した画素には異なった演算が適用されるため、近隣の画素よりもむしろ減色処理に使用したディザマトリクスの周期だけ離れた画素との相関が高い。したがってこのような場合、減色処理に使用したディザマトリックスの周期が既知である場合には、注目位置からディザマトリクスの周期だけ離れた、左または上の位置を参照して符号化を行うという方法がある。
【0004】
【発明が解決しようとする課題】
しかしながら、上記方法によれば、画像データの周期とディザマトリクスの周期が異なる場合に、注目位置と参照位置の相関があまり高くないために、効率よく圧縮を行うことができないという欠点を有する。例えば、圧縮しようとする画像データが、解像度が異なる原画像に解像度変換を施した後に減色処理を施した画像データであるような場合に、このような問題が発生することがある。
【0005】
本発明は以上問題に鑑みて成されたものであり、画像を効率よく、特に短い符号で符号化することを目的とする。
【0006】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の画像符号化装置は以下の構成を備える。
【0007】
すなわち、画像に対して、n行m列のマトリクスを用いて擬似中間調処理を施す擬似中間調処理手段と、
前記擬似中間調処理が施された画像における符号化対象画素から行方向に距離n×a(a>0)だけ離れた第1参照画素と、前記符号化対象画素から列方向に距離m×b(b>0)離れた第2参照画素とを、設定された参照順位に従って参照する参照手段と、
前記参照手段が参照している参照画素が、前記符号化対象画素を符号化するのに有効である場合には、当該参照画素を用いて前記符号化対象画素を符号化する符号化手段とを備え、
前記参照順位は、前記第1参照画素と前記第2参照画素のうち前記符号化対象画素との位置関係が、前記符号化対象画素の直前に符号化された前画素と当該前画素の符号化時に前記符号化手段が用いた参照画素との位置関係を満たす参照画素から参照するように設定されることを特徴とする。
【0010】
本発明の目的を達成するために、例えば本発明の画像符号化方法は以下の構成を備える。
【0011】
すなわち、画像に対して、n行m列のマトリクスを用いて擬似中間調処理を施す擬似中間調処理工程と、
前記擬似中間調処理が施された画像における符号化対象画素から行方向に距離n×a(a>0)だけ離れた第1参照画素と、前記符号化対象画素から列方向に距離m×b(b>0)離れた第2参照画素とを、設定された参照順位に従って参照する参照工程と、
前記参照工程で参照している参照画素が、前記符号化対象画素を符号化するのに有効である場合には、当該参照画素を用いて前記符号化対象画素を符号化する符号化工程とを備え、
前記参照順位は、前記第1参照画素と前記第2参照画素のうち前記符号化対象画素との位置関係が、前記符号化対象画素の直前に符号化された前画素と当該前画素の符号化時に前記符号化手段が用いた参照画素との位置関係を満たす参照画素から参照するように設定されることを特徴とする。
【0014】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0015】
[第1の実施形態]
図1は本実施形態における画像符号化装置として機能するコンピュータ1内の各ソフトウェア群とプリンタ6との関係を示す図である。
【0016】
図中、1はコンピュータであり図10に示す基本構成を備える。図10はコンピュータ1の基本構成を示すブロック図である。図10において1101はCPUで、RAM1102やROM1103内に格納されたプログラムやデータを用いて本装置全体の制御を行うと共に、後述の画像符号化処理やプリンタに対してプリントコマンドを出力する出力制御処理などを行う。1102はRAMで、外部記憶装置1104や記憶媒体ドライブ1109からロードされたプログラムやデータを一時的に記憶するエリアを備えると共に、CPU101が各種の処理を実行する際に用いるワークエリアも備える。1103はROMで、本装置全体の制御を行うプログラムや設定データ等を格納する。
【0017】
1104はハードディスクなどの外部記憶装置で、下記のソフトウェア群や符号化対象のデータをファイルとして保存することができる。1105、1106は夫々キーボード、マウスで、ポインティングデバイスとして各種の指示を本装置に対して入力することができる。1107は表示装置で、CRTや液晶画面などにより構成されており、符号化対象のデータやアプリケーションのGUIなどを表示することができる。1108は画像入力装置で、スキャナやディジタルカメラなど、画像を本装置に対してディジタルデータとして入力することができる装置により構成されており、入力した画像はファイルとして外部記憶装置1104やRAM1102に出力される。
【0018】
1109は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの記憶媒体からプログラムやデータなどを読み込んで外部記憶装置1104に出力する。なお、下記のソフトウェア群や符号化対象のデータを上記記憶媒体に記憶しておき、記憶媒体ドライブ1109からこれらを本装置に供給しても良い。1110はI/F(インターフェース)でLANやインターネットに接続するための、USBやパラレルポートなどにより構成されており、本実施形態では後述のプリンタ6と接続するためにパラレルポートとするが、これに限定されるものではない。1111は上述の各部を繋ぐバスである。
【0019】
図1に戻って、2はオペレーティングシステムであり、コンピュータ1が備えるハードウェア、およびアプリケーション3、プリンタドライバ4、ポートドライバ5などのソフトウェアを管理する。アプリケーション3は、例えばワードプロセッサのようなアプリケーションソフトウェアであり、操作者の指示に従って文書の作成・印刷などを行う。4はプリンタドライバであり、アプリケーション3が発行した印刷指令をオペレーティングシステム2を経て受け取り、該印刷指令をプリンタ6が解釈可能なプリンタコマンドに変換する。5はポートドライバであり、プリンタドライバ4が変換したプリンタコマンドをオペレーティングシステム2を経て受け取り、パラレルポートを経由してプリンタ6に送信する。
【0020】
上記オペレーティングシステム2、アプリケーション3、プリンタドライバ4、ポートドライバ5などのソフトウェア群は上述の通り、外部記憶装置1104に保存されている。6はプリンタであり、ポートドライバ5から受信したプリンタコマンドに従って印刷を行う。
【0021】
図2は本実施形態における画像復号装置として機能するプリンタ6の基本構成を示すブロック図である。図中、11はパラレルポートであり、コンピュータ1からプリンタコマンドを受信する。12はFIFO(ファーストインファーストアウト)メモリであり、パラレルポート11が受信した符号化データを記憶し、記憶したデータを先入れ先出しの順に復号回路13に出力する。復号回路13は、FIFOメモリ12に記憶された符号列データを復号し、プリンタエンジン14に出力する。プリンタエンジン14はレーザビームプリンタエンジンであり、制御回路15の指示により、復号回路13が出力した画像データに従って印刷を行う。画像データはシアン、マゼンタ、黄、黒の各色ごとに面順次で出力される。15は制御回路であり、例えば1チップCPUで構成され、パラレルポート11、FIFOメモリ12、復号回路13、およびプリンタエンジン14の制御を行う。
【0022】
以下、印刷動作について説明する。
【0023】
操作者がコンピュータ1側でキーボード1105やマウス1106を用いてアプリケーション3を操作して印刷データを生成し、これを印刷指示すると、アプリケーション3からオペレーティングシステム2を経由してプリンタドライバ4に印刷指令が渡される。プリンタドライバ4はアプリケーション3から発行された印刷指令に基づき、赤、緑、青の3色からなるRGB画像データを作成し、次いでRGB画像データを、シアン、マゼンタ、黄、黒の4色からなるCMYK画像データに変換する。この際同時に所定のディザマトリクスを使用して減色処理を行う。そして、プリンタドライバ3は、後述する符号化手順に基づき、作成した画像データから符号化データを生成し、用紙サイズ、ビットマップデータのラインの長さとライン数などを指定する印刷制御コマンドとともに出力する。ポートドライバ5は、プリンタドライバ3が作成した、印刷制御コマンドおよび符号化データからなる一連のプリンタコマンドを、プリンタ6に送信する。
【0024】
制御回路15はパラレルポート11を経由してプリンタコマンドを受信する。受信したプリンタコマンドが印刷制御コマンドであれば、印刷制御のために制御回路15の内部に保持する。また、受信したプリンタコマンドが符号化データであった場合は、FIFOメモリ12に格納する。その後、ページ終了コマンドの受信などにより、1ページを構成するプリンタコマンドの受信が完了したことを検出したときに、制御回路15はプリンタエンジン14に印刷の開始を指示する。
【0025】
印刷の開始が指示されると、プリンタエンジン14は給紙カセットから用紙を給紙し、用紙が所定の位置に到達したときに、復号回路13に画像データの出力を要求する。復号回路13は、あらかじめFIFOメモリ12から符号化データを読み出し、復号した画像データを内部のバッファに保持しておき、プリンタエンジン14から画像データの出力を要求されたときに、内部のバッファに保持していた画像データを出力する。復号回路13は、画像データを保持していたバッファに空きができたときに、FIFOメモリ12から引き続く符号化データを読み出し、復号して内部のバッファに保持する。このようにして符号化データは順次復号されて画像データとして出力され、1ページの画像データの出力が全て終了すると、印刷が完了する。
【0026】
次に、図3および図4に示すテーブルを参照し、図1に示したプリンタドライバ3が生成する符号について説明する。
【0027】
図3は、図1に示したプリンタドライバ3が生成する符号化テーブルの一例を示す図である。本実施形態で説明する符号は、ビット単位で可変長であり、例えば2ビットから18ビットまでのビット列で表現される。各符号は、ハフマン符号と同様に、先頭から順に調べることにより符号を識別することができるように構成されている。
【0028】
なお、本実施形態では符号化の際に2箇所の左参照位置、および2箇所の上参照位置を参照するものとし、減色処理の際に使用されたディザマトリクスの特性に合わせ、例えば左参照位置は、注目位置の1バイト左、および4バイト左の位置が、また上参照位置は注目位置の4ライン上、および2ライン上かつ2バイト左の位置に決められている。
【0029】
図3に示すように、符号のビット列が「1」で開始する場合はCOPY UP1コマンドである。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された高順位の上参照位置から、後続する符号が示す長さのバイト列を複写することを指示する。
【0030】
また、符号のビット列が「011」で開始する場合は、COPY UP2コマンドである。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された低順位の上参照位置から、後続する符号が示す長さのバイト列を複写し、かつ高順位の上参照位置と低順位の上参照位置とを入れ替えることを指示する。
【0031】
また、符号のビット列が「001」で開始する場合はRAWコマンドである。このコマンドは生データを示す8ビットデータが後続し、後続する8ビットのデータの値を持つ1バイトのデータを指定する。
【0032】
また、符号のビット列が「010」で開始する場合はCOPY LEFT1コマンドである。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された高順位の左参照位置位置から、後続する符号が示す長さのバイト列を複写することを指示する。
【0033】
また、符号のビット列が「0001」で開始する場合はCOPY LEFT2コマンドである。このコマンドは後述する長さを示す符号が後続し、あらかじめ決定された低順位の左参照位置位置から、後続する符号が示す長さのバイト列を複写し、かつ高順位の左参照位置と低順位の左参照位置とを入れ替えることを指示する。
【0034】
また、符号のビット列が「0000」の場合はEOBコマンドであり、符号ブロックの終了を指示する。
【0035】
低順位の参照位置にてデータが一致した場合には、以後もその参照位置にてデータが一致する可能性が高い。したがって低順位の参照位置を識別するより長い符号を出力した際には、該参照位置の順位を上げて以後より短い符号により識別されるようにすれば、その後該参照位置にてデータが一致した場合に出力する符号の長さは短くなる。よって、COPY UP2コマンド、COPY LEFT2コマンドを実行することで、高順位の参照位置と低順位の参照位置とを入れ替え、今後出力する符号の長さが短くなる。
【0036】
図4は図3に示したCOPY UP1コマンド、COPY UP2コマンド、COPY LEFT1コマンドあるいはCOPY LEFT2コマンドに後続する、長さを示す符号の符号化テーブルの一例である。
【0037】
図4に示すように、符号のビット列が「1」である場合は1バイトの長さを指示する。
【0038】
また、符号のビット列が「01」で開始する場合は1ビットのデータが後続し、後続する1ビットのデータに2を加えた長さ、すなわち2バイトまたは3バイトの長さを指示する。
【0039】
また、符号のビット列が「001」で開始する場合は2ビットのデータが後続し、後続する2ビットのデータに4を加えた長さ、すなわち4バイトから7バイトまでの長さを指示する。
【0040】
また、符号のビット列が「0001」で開始する場合は3ビットのデータが後続し、後続する3ビットのデータに8を加えた長さ、すなわち8バイトから15バイトまでの長さを指示する。
【0041】
また、符号のビット列が「00001」で開始する場合は4ビットのデータが後続し、後続する4ビットのデータに16を加えた長さ、すなわち16バイトから31バイトまでの長さを指示する。
【0042】
また、符号のビット列が「000001」で開始する場合は5ビットのデータが後続し、後続する5ビットのデータに32を加えた長さ、すなわち32バイトから63バイトまでの長さを指示する。
【0043】
また、符号のビット列が「0000001」で開始する場合は6ビットのデータが後続し、後続する6ビットのデータに64を加えた長さ、すなわち64バイトから127バイトまでの長さを指示する。
【0044】
また、符号のビット列が「0000000」で開始する場合は7ビットのデータが後続し、後続する7ビットのデータに128を加えた長さ、すなわち128バイトから255バイトまでの長さを指示する。
【0045】
なお、これらの符号は、あらかじめ多数の画像データで各コマンドの出現頻度を求めておき、ハフマン符号と同様に、出現頻度の高いコマンドに短い符号を、出現頻度の低いコマンドに比較的長い符号を割り当てることにより圧縮率を高くすることができる。
【0046】
次に図5(a)、(b)を参照し、符号化処理について実例を挙げて説明する。図5(a)は符号化対象の画像データを示し、図5(b)は符号化されたデータを示す図である。図5(a)に示すように、最下行には10バイトの画像データ(注目データ)00、00、12、34、56、78、00、BC、DE、00が左から並んでおり、その2行上には画像データ12、34、56、78、9A、BC、DE、00、00、00(参照データ)が左から並んでいる。現在符号化あるいは復号しようとしている画像データは最下行であり、またこの時点で高順位の左参照位置は1バイト左の位置に(つまり低順位の左参照位置は4バイト左の位置に)、低順位の上参照位置は2ライン上かつ2バイト左の位置に(つまり高順位の上参照位置は4ライン上の位置に)なっているものとする。
【0047】
ここで最下行の先頭バイト00は、ビット列001 00000000、すなわち生データ00を示すRAWコマンドに符号化することができる。
【0048】
また、次のバイト00は、ビット列010 1、すなわち1バイトの長さを高順位の左参照位置、すなわち1バイト左の位置から複写するCOPY LEFT1コマンドに符号化することができる。
【0049】
また、その次のバイト列12、34、56、78はビット列011 001 00、すなわち4バイトの長さを低順位の上参照位置、すなわち2ライン上かつ2バイト左の位置から複写するCOPY UP2コマンドに符号化することができる。この結果、上参照位置の順位が入れ替わり、以後のCOPY UP1コマンドは低順位から高順位となった2ライン上かつ2バイト左の位置を、またCOPY UP2コマンドは高順位から低順位となった4ライン上の位置をそれぞれ参照する。
【0050】
その次のバイト00は再び、ビット列001 00000000、すなわち生データ00を示すRAWコマンドに符号化することができる。
【0051】
また、その次のバイト列BC、DE、00はビット列1 01 1、すなわち3バイトの長さを高順位の上参照位置、すなわち2ライン上かつ2バイト左の位置から複写するCOPY UP1コマンドに符号化することができる。
【0052】
以上のようにして、画像データを符号化することができる。次に、図6に示すフローチャートを参照し、プリンタドライバ4の処理の詳細を説明する。図6はプリンタドライバ4が行う処理のフローチャートである。このフローチャートに従ったプログラムはプリンタドライバ4として上述のとおり外部記憶装置1104、もしくは記憶媒体に格納されており、CPU101により(記憶媒体の場合、記憶媒体ドライブ1109により)RAM1102に読み出され実行される。
【0053】
プリンタドライバ4がオペレーティングシステム2から呼び出されると、まずステップS5にて呼び出しの種類が描画指令であるか否かを判定する。呼び出しの種類が描画指令であった場合は、ステップS6にて描画処理を行い、処理を終了する。具体的には、オペレーティングシステム2を経由してアプリケーション3から指示された、文字、図形またはビットマップ等を赤、緑、青の3色を用いた各色8ビットの画像に変換し、RAM1102に記録する。
【0054】
ステップS5にて呼び出しの種類が描画指令でなかった場合は、ステップS7にて呼び出しの種類がページ終了指令であるか否かを判定する。呼び出しの種類がページ終了指令であった場合には、ステップS8にて色変換処理を行う。具体的にはステップS6にてRAM1102に記録された赤、緑、青の3色を用いた各色8ビットの画像を、所定のディザマトリックスを使用して、シアン、マゼンタ、黄、黒の4色からなるたとえば各色4ビットの画像に変換する。変換後の画像もRAM1102に記憶しておく。
【0055】
次にステップS9にて、印刷条件指定コマンド、具体的には用紙サイズ、給紙カセット、解像度、階調数、1ラインのバイト数、1ページのライン数など印刷に必要な条件を指定するコマンドを出力する。
【0056】
次にステップS10からステップS14までの各処理を、シアン、マゼンタ、黄、黒の各色に対して行い、各色毎の画像データコマンドを出力する。まずステップS10にて、ステップS8にて使用したディザマトリックスに応じた圧縮パラメタ、すなわち符号化時に使用する、COPY UPコマンドおよびCOPYLEFTコマンドが参照する位置(高順位の上参照位置、低順位の上参照位置、高順位の左参照位置、低順位の左参照位置)を出力する。次にステップS11にて、後述する符号化手順に従い、画像データを符号化する。このときに、ステップS10にて出力した圧縮パラメタが指定する、COPY UPコマンドおよびCOPY LEFTコマンドが参照する位置を用いて符号化を行う。詳細は後述する。
【0057】
次にステップS12にて、ステップS11で符号化された画像データのサイズおよびライン数を指定する画像データコマンドヘッダを出力する。次にステップS13にて、ステップS11で符号化された画像データを出力する。次にステップS14にて、シアン、マゼンタ、黄、黒の各プレーンの処理が全て終了したか否かを判定する。シアン、マゼンタ、黄、黒の各プレーンの処理が全て終了していない場合はステップS10に戻り、色を変えて次のプレーンの処理を行う。こうしてシアン、マゼンタ、黄、黒の各プレーンの処理が全て終了すると、ステップS14からステップS15に進み、ページの終了を指定する改ページコマンドを出力して処理を終了する。
【0058】
ステップS7にて呼び出しの種類がページ終了指令でなかった場合には、ステップS16にて、呼び出しの種類に応じたその他の処理、例えばページ開始指令あるいはプリンタ能力問い合わせ指令等に対応する処理を行い、終了する。
【0059】
次に、上記ステップS11における符号化処理について、同処理のフローチャートを示す図7を参照して説明する。このフローチャートに従ったプログラムは上記フローチャートのサブルーチンとしてプリンタドライバ4に組み込まれている。
【0060】
まずステップS19にて、高順位の上参照位置、低順位の上参照位置、高順位の左参照位置および低順位の左参照位置をそれぞれ所定の初期値、すなわち、上記ステップS10で求めた圧縮パラメタに従って設定する。次にステップS20にて、現在の位置、すなわち符号化する画像の位置を画像の先頭行左端に設定する。
【0061】
次にステップS21にて、現在の位置に対応する高順位の上参照位置が有効な画像データを参照しているか否かを判定する。高順位の上参照位置が有効な画像データを参照している場合には、ステップS22にて、高順位の上参照位置と一致する長さを、現在の位置から始まるバイト列と、高順位の上参照位置から始まるバイト列を比較することにより求める。なおこの際に、行末に達した場合および長さが255バイトに達した場合には処理を打ち切るものとする。次にステップS23にて、ステップS22にて求めた、高順位の上参照位置と一致する長さが0であるか否かを判定する。0でない場合にはCOPY UP1コマンドに符号化できるので、ステップS24にてCOPY UP1コマンド、すなわち符号1とそれに後続するバイト数(ステップS22で求めた長さ)を示す符号を出力し、処理をステップS40に進める。
【0062】
一方、ステップS21にて高順位の上参照位置が無効であると判定された場合、ステップS23にて、ステップS22で求めた、高順位の上参照位置と一致する長さが0であると判定された場合は、いずれもステップS25にて、現在の位置に対応する高順位の左参照位置が有効な画像データを参照しているか否かを判定する。高順位の左参照位置が有効な画像データを参照している場合には、ステップS26にて、高順位の左参照位置と一致する長さを、現在の位置から始まるバイト列と、高順位の左参照位置から始まるバイト列を比較することにより求める。なおこの際に、行末に達した場合および長さが255バイトに達した場合には処理を打ち切るものとする。次にステップS27にて、ステップS26で求めた、高順位の左参照位置と一致する長さが0であるか否かを判定する。0でない場合にはCOPY LEFT1コマンドに符号化できるので、ステップS28にてCOPY LEFT1コマンド、すなわち符号010とそれに後続するバイト数(ステップS26で求めた長さ)を示す符号を出力し、処理をステップS40に進める。
【0063】
ステップS25にて高順位の左参照位置が無効であると判定された場合、ステップS27にて、ステップS26で求めた、高順位の左参照位置と一致する長さが0であると判定された場合は、いずれもステップS29にて、現在の位置に対応する低順位の上参照位置が有効な画像データを参照しているか否かを判定する。低順位の上参照位置が有効な画像データを参照している場合には、ステップS30にて、低順位の上参照位置と一致する長さを、現在の位置から始まるバイト列と、低順位の上参照位置から始まるバイト列を比較することにより求める。なおこの際に、行末に達した場合および長さが255バイトに達した場合には処理を打ち切るものとする。次にステップS31にて、ステップS30で求めた、低順位の上参照位置と一致する長さが0であるか否かを判定する。0でない場合にはCOPY UP2コマンドに符号化できる場合ので、ステップS32にてCOPY UP2コマンド、すなわち符号011とそれに後続するバイト数(ステップS30で求めた長さ)を示す符号を出力し、次にステップS33にて高順位の上参照位置と低順位の上参照位置を入れ替え、処理をステップS40に進める。
【0064】
ステップS29にて低順位の上参照位置が無効であると判定された場合、およびステップS31にて、ステップS30で求めた、低順位の上参照位置と一致する長さが0であると判定された場合は、いずれもステップS34にて、現在の位置に対応する低順位の左参照位置が有効な画像データを参照しているか否かを判定する。低順位の左参照位置が有効な画像データを参照している場合には、ステップS35にて、低順位の左参照位置と一致する長さを、現在の位置から始まるバイト列と、低順位の左参照位置から始まるバイト列を比較することにより求める。なおこの際に、行末に達した場合および長さが255バイトに達した場合には処理を打ち切るものとする。次にステップS36にて、ステップS35で求めた、低順位の左参照位置と一致する長さが0であるか否かを判定する。0でない場合にはCOPY LEFT2コマンドに符号化できるので、ステップS37にてCOPY LEFT2コマンド、すなわち符号0001とそれに後続するバイト数(ステップS35で求めた長さ)を示す符号を出力し、次にステップS38にて高順位の左参照位置と低順位の左参照位置を入れ替え、処理をステップS40に進める。
【0065】
ステップS34にて低順位の左参照位置が無効であると判定された場合、およびステップS36にて、ステップS35で求めた、低順位の左参照位置と一致する長さが0であると判定された場合は、いずれもステップS39にて、RAWコマンド、すなわち符号001とそれに後続する現在の位置の1バイトのデータを出力し、処理をステップS40に進める。
【0066】
ステップS40では、COPY UP1、COPY UP2、COPY LEFT1、COPY LEFT2あるいはRAWコマンドで処理されたバイト数だけ現在の位置を進める。次にステップS41にて、全ての画像データを処理したか否かを判定する。全ての画像データを処理していない場合はステップS21に戻り、符号化を続ける。全ての画像データを処理し終えた場合は、ステップS42にてEOBコマンド、すなわち符号0000を出力し、次にステップS43にて符号をバイト境界に整列する。具体的には、出力した符号の総ビット数が8の整数倍でない場合に、8の整数倍に達するまでビット0を出力する。このようにして符号化の処理が終了すると復帰する。
【0067】
次に図2に示した復号回路13の構成を示す図8を用いて、同回路の詳細について説明する。図8は、図2に示した復号回路13の基本構成を示すブロック図である。
【0068】
図8において、入力バッファ21は、FIFOメモリ12から読み出した符号データを格納する。入力バッファ21は、少なくとも4バイトのデータを格納することができ、バッファに空きが生じ、かつFIFOメモリ12にデータがある場合はFIFOメモリ12からデータを読み出して格納する。入力バッファ21はまた、ビットカウンタ23に保持された、処理済ビット数が8以上になった場合には、不要になった処理済データを破棄する。
【0069】
第一のセレクタ22は、例えば18組の8入力セレクタであり、入力バッファ21に格納された符号データを、ビットカウンタ23が示す処理済ビット数に従って選択することにより、コマンドデコード回路24が処理するために必要な、コマンドの開始位置合わせを行う。これは、入力バッファ21がバイト単位にデータを保持するのに対し、コマンドはビット単位の可変長データであるため8箇所の開始位置があるために必要なものである。
【0070】
ビットカウンタ23は、入力バッファ21に格納された符号データのうち処理済みのビット数を格納する。ビットカウンタ23はまた、コマンドデコード回路24から出力された、コマンドのビット数を加算することによりビットカウンタに格納された値を更新する。ビットカウンタ23はまた、入力バッファが処理済データを破棄した場合には、破棄したビット数を減算する。ビットカウンタ23はまた、コマンドデコード回路24がEOBコマンドを復号したときに、コマンドデコード回路24からEOB信号を受信し、バイト境界合わせの処理を行う。具体的には、ビットカウンタの下位3ビットが全て0であれば何もせず、そうでなければ8を加算するとともに下位3ビットをクリアする。
【0071】
コマンドデコード回路24は、例えばリードオンリーメモリ、あるいはワイヤードロジックにより構成され、第一のセレクタ22によって位置合わせが行われた、入力バッファ21に格納された符号データを復号し、復号したコマンドがEOBコマンドの場合はビットカウンタ23、上優先FF29および左優先FF30に、復号したコマンドがCOPY UP1コマンドまたはCOPY UP2コマンドの場合は第二のセレクタ25および第三のセレクタ26に、復号したコマンドがCOPY LEFT1コマンドまたはCOPY LEFT2コマンドの場合は第四のセレクタ27および第五のセレクタ28に、復号したコマンドがRAWコマンドの場合は生データ出力回路36にそれぞれ信号を出力する。コマンドデコード回路24はまた、COPY UP1、COPY UP2、COPY LEFT1またはCOPY LEFT2コマンドを復号した場合は符号が示すバイト数をも復号し出力するとともに、RAWコマンドを復号した場合には符号が示す8ビットデータをも復号して出力する。
【0072】
25は第二のセレクタであり、上優先FF29が0を保持する場合には、コマンドデコード回路24がCOPY UP1コマンドを復号したときに出力する信号を、また上優先FF29が1を保持する場合には、コマンドデコード回路24がCOPY UP2コマンドを復号したときに出力する信号を出力する。
【0073】
26は第三のセレクタであり、上優先FF29が0を保持する場合には、コマンドデコード回路24がCOPY UP2コマンドを復号したときに出力する信号を、また上優先FF29が1を保持する場合には、コマンドデコード回路24がCOPY UP1コマンドを復号したときに出力する信号を出力する。
【0074】
27は第四のセレクタであり、左優先FF30が0を保持する場合には、コマンドデコード回路24がCOPY LEFT1コマンドを復号したときに出力する信号を、また左優先FF30が1を保持する場合には、コマンドデコード回路24がCOPY LEFT2コマンドを復号したときに出力する信号を出力する。
【0075】
28は第五のセレクタであり、左優先FF30が0を保持する場合には、コマンドデコード回路24がCOPY LEFT2コマンドを復号したことを示す信号を、また左優先FF30が1を保持する場合には、コマンドデコード回路24がCOPY LEFT1コマンドを復号したことを示す信号を出力する。
【0076】
29は上優先FFであり、第一の上複写回路31あるいは第二の上複写回路32のいずれが優先されているかを示す値を保持する。上優先FF29はまた、コマンドデコード回路24がCOPY UP2コマンドを復号したときに、保持している値を反転する。
【0077】
30は左優先FFであり、第一の左複写回路33あるいは第二の左複写回路34のいずれが優先されているかを示す値を保持する。左優先FF30はまた、コマンドデコード回路24がCOPY LEFT2コマンドを復号したときに、保持している値を反転する。
【0078】
31は第一の上複写回路であり、第二のセレクタ25から信号を受信したときに、複写すべきバイト数をあわせて受信し、受信したバイト数に応じて、ラインバッファ35からデータを読み取り、読み取ったデータを出力することを繰り返す。
【0079】
32は第二の上複写回路であり、第三のセレクタ26から信号を受信したときに、複写すべきバイト数をあわせて受信し、受信したバイト数に応じて、ラインバッファ35からデータを読み取り、読み取ったデータを出力することを繰り返す。
【0080】
33は第一の左複写回路であり、第四のセレクタ27から信号を受信したときに、複写すべきバイト数をあわせて受信し、受信したバイト数に応じて、ラインバッファ35からデータを読み取り、読み取ったデータを出力することを繰り返す。
【0081】
34は第二の左複写回路であり、第五のセレクタ28から信号を受信したときに、複写すべきバイト数をあわせて受信し、受信したバイト数に応じて、ラインバッファ35からデータを読み取り、読み取ったデータを出力することを繰り返す。
【0082】
35はラインバッファであり、複数のラインの復号データを保持するリングメモリとして動作し、第一の上複写回路31、第二の上複写回路32、第一の左複写回路33または第二の左複写回路34が出力するアドレスに格納されたデータを出力するとともに、現在アドレスレジスタ37が出力するアドレスに、復号されたデータを格納する。
【0083】
36は生データ出力回路であり、コマンドデコード回路24がRAWコマンドを復号したときに同時に出力される生データを示す8ビットのデータを受信し、受信したデータを出力する。
【0084】
37は現在アドレスレジスタであり、現在復号しようとしているデータの位置を示すアドレスを出力するとともに、復号されたデータがラインバッファ35に格納される毎にカウントアップされる。
【0085】
また、第一の上複写回路31、第二の上複写回路32、第一の左複写回路33および第二の左複写回路34には、第一の上複写位置、第二の上複写位置、第一の左複写位置および第二の左複写位置をそれぞれ示すアドレスが保持されており、現在アドレスレジスタ37がカウントアップされる毎に同様にカウントアップされる。
【0086】
コマンドデコード回路24がCOPY UP1コマンドをデコードすると、引き続くカウントをデコードし、第二のセレクタ25および第三のセレクタ26に信号を出力する。そして上優先FF29が保持する値にしたがって、第二のセレクタ25または第三のセレクタ26のいずれか一方から信号が出力され、その信号にしたがって第一の上複写回路31または第二の上複写回路32のいずれか一方が動作する。
【0087】
例えば上優先FF29が保持する値が0である場合、COPY UP1コマンドがデコードされたときに第二のセレクタ25は信号を第一の上複写回路31に出力し、第三のセレクタ26は信号を出力しない。第一の上複写回路31は、内部に保持する第一の上複写位置を示すアドレスをラインバッファ35に出力し、ラインバッファ35に格納された第一の上複写位置のデータを読み込み、読み込んだデータを復号データとしてプリンタエンジン14に出力する。現在アドレスレジスタ37は現在位置を示すアドレスを出力し、ラインバッファ35はそのアドレスに復号データを格納する。次に第一の上複写回路31、第二の上複写回路32、第一の左複写回路33および第二の左複写回路34の内部にそれぞれ保持される、第一の上複写位置を示すアドレス、第二の上複写位置を示すアドレス、第一の左複写位置を示すアドレスおよび第二の左複写位置を示すアドレス、および現在アドレスレジスタ37が保持する現在位置を示すアドレスがカウントアップされる。この動作が指定されたバイト数繰り返される。
【0088】
コマンドデコード回路24がCOPY UP2コマンドをデコードすると、引き続くカウントをデコードし、第二のセレクタ25および第三のセレクタ26に信号を出力する。そして上優先FF29が保持する値にしたがって、第二のセレクタ25または第三のセレクタ26のいずれか一方から信号が出力され、その信号に従って第一の上複写回路31または第二の上複写回路32のいずれか一方が動作する。
【0089】
例えば上優先FF29が保持する値が0である場合、COPY UP2コマンドがデコードされたときに第三のセレクタ26は信号を第二の上複写回路32に出力し、第二のセレクタ25は信号を出力しない。第二の上複写回路32は、上述の第一の上複写回路31の動作と同様に動作するが、上優先FF29は保持する値が反転して1となるため、以後のCOPY UP1コマンドは第二の上参照位置に、またCOPY UP2コマンドは第一の上参照位置に、それぞれ対応するようになる。
【0090】
コマンドデコード回路24がCOPY LEFT1コマンドおよびCOPY LEFT2コマンドをデコードした場合も、上述のCOPY UP1コマンドおよびCOPY UP2コマンドの動作と同様に動作する。
【0091】
コマンドデコード回路24がRAWコマンドをデコードすると、引き続く8ビットデータをデコードし、生データ出力回路36に信号を出力する。生データ出力回路36は、受信した8ビットデータをそのまま復号データとしてプリンタエンジン14に出力する。現在アドレスレジスタ37は現在位置を示すアドレスを出力し、ラインバッファ35はそのアドレスに復号データを格納する。次に第一の上複写回路31、第二の上複写回路32、第一の左複写回路33および第二の左複写回路34の内部にそれぞれ保持される、第一の上複写位置を示すアドレス、第二の上複写位置を示すアドレス、第一の左複写位置を示すアドレスおよび第二の左複写位置を示すアドレス、 および現在アドレスレジスタ37が保持する現在位置を示すアドレスがカウントアップされる。
【0092】
コマンドデコード回路24がEOBコマンドをデコードすると、ビットカウンタ23は前述のごとくバイト境界合わせの処理を行うとともに、上優先FF29および左優先FF30は初期値、例えば0に初期化される。
【0093】
なお、第一の上複写回路31、第二の上複写回路32、第一の左複写回路33および第二の左複写回路34の内部にそれぞれ保持される、第一の上複写位置を示すアドレス、第二の上複写位置を示すアドレス、第一の左複写位置を示すアドレスおよび第二の左複写位置を示すアドレス、および現在アドレスレジスタ37が保持する現在位置を示すアドレスには、あらかじめ制御回路15により、圧縮パラメタ指定コマンドによって指定された位置に基づいた初期値が設定されているものとする。
【0094】
また、ラインバッファ35はリングメモリとして動作するため、第一の上複写回路31、第二の上複写回路32、第一の左複写回路33および第二の左複写回路34の内部にそれぞれ保持される、第一の上複写位置を示すアドレス、第二の上複写位置を示すアドレス、第一の左複写位置を示すアドレスおよび第二の左複写位置を示すアドレス、 または現在アドレスレジスタ37が保持する現在位置を示すアドレスがラインバッファ35の末尾のアドレスである場合には、カウントアップの際にラップアラウンドしてラインバッファ35の先頭のアドレスが格納されるものとする。
【0095】
以上の説明により、本実施形態における画像符号化装置、画像復号装置によって、より長い符号に符号化される参照位置が参照された場合に、参照位置と符号の対応を入れ替えることにより、以後該参照位置が参照された際により短い符号に符号化することが出来るため、データの周期にかかわらず効率よく圧縮を行うことが出来る。
【0096】
また、画像データの周期とディザマトリクスの周期が異なる場合、注目位置の近隣でかつ減色処理の際に注目位置にて適用される演算に近い演算が適用される位置との相関が高い傾向がある。このような位置は少数の位置に限られ、またあらかじめディザマトリクスを調べることにより、あるいはあらかじめさまざまな画像データを用いて統計を取ることにより決定することができるので、このような位置およびディザマトリクスの周期だけ離れた位置の中から参照位置として複数の位置をあらかじめ選んでおくことにより、画像データの周期にかかわらず効率的に符号化することができる。
【0097】
また、画像データの周期は広い範囲で一定である傾向がある。このため、低順位の参照位置にてデータが一致した場合には、以後もその参照位置にてデータが一致する可能性が高い。したがって低順位の参照位置を識別するより長い符号を出力した際に、該参照位置の順位を上げて以後より短い符号により識別されるようになることにより、その後該参照位置にてデータが一致した場合に出力する符号が短くなるため、順位の入れ替えを行わない場合に較べて、効率的に符号化することができる。
【0098】
[第2の実施形態]
なお、上述の実施形態では、復号をハードウェアで行っているが、これに代えて復号をソフトウェアで行うようにしてもよい。
【0099】
また上述の実施形態では、符号化の単位データサイズは1バイトであったが、これに代えて他のサイズ、例えば1画素あるいは2バイトであってもよい。
【0100】
また上述の実施形態では、2つの参照位置の優先順位を切り替えているが、これに代えて3つ以上の参照位置の優先順位を切り替えるようにしてもよい。
【0101】
[他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0102】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0103】
【発明の効果】
以上の説明により、本発明によって、画像を効率よく、特に短い符号で符号化することができる。
【図面の簡単な説明】
【図1】本発明の実施形態における画像符号化装置として機能するコンピュータ1内の各ソフトウェア群とプリンタ6との関係を示す図である。
【図2】本発明の実施形態における画像復号装置として機能するプリンタ6の基本構成を示すブロック図である。
【図3】図1に示したプリンタドライバ3が生成する符号化テーブルの一例を示す図である。
【図4】図3に示したCOPY UP1コマンド、COPY UP2コマンド、COPY LEFT1コマンドあるいはCOPY LEFT2コマンドに後続する、長さを示す符号の符号化テーブルの一例を示す図である。
【図5】(a)は符号化対象の画像データを示す図、(b)符号化されたデータを示す図である。
【図6】プリンタドライバ4が行う処理のフローチャートである。
【図7】ステップS11における符号化処理のフローチャートである。
【図8】図2に示した復号回路13の基本構成を示すブロック図である。
【図9】コンピュータ1の基本構成を示すブロック図である。
Claims (5)
- 画像に対して、n行m列のマトリクスを用いて擬似中間調処理を施す擬似中間調処理手段と、
前記擬似中間調処理が施された画像における符号化対象画素から行方向に距離n×a(a>0)だけ離れた第1参照画素と、前記符号化対象画素から列方向に距離m×b(b>0)離れた第2参照画素とを、設定された参照順位に従って参照する参照手段と、
前記参照手段が参照している参照画素が、前記符号化対象画素を符号化するのに有効である場合には、当該参照画素を用いて前記符号化対象画素を符号化する符号化手段とを備え、
前記参照順位は、前記第1参照画素と前記第2参照画素のうち前記符号化対象画素との位置関係が、前記符号化対象画素の直前に符号化された前画素と当該前画素の符号化時に前記符号化手段が用いた参照画素との位置関係を満たす参照画素から参照するように設定されることを特徴とする画像符号化装置。 - 前記第1参照画素は、それぞれ異なるaに対応する複数の参照画素であり、前記第2の参照画素は、それぞれ異なるbに対応する複数の参照画素であることを特徴とする請求項1に記載の画像符号化装置。
- 画像に対して、n行m列のマトリクスを用いて擬似中間調処理を施す擬似中間調処理工程と、
前記擬似中間調処理が施された画像における符号化対象画素から行方向に距離n×a(a>0)だけ離れた第1参照画素と、前記符号化対象画素から列方向に距離m×b(b>0)離れた第2参照画素とを、設定された参照順位に従って参照する参照工程と、
前記参照工程で参照している参照画素が、前記符号化対象画素を符号化するのに有効である場合には、当該参照画素を用いて前記符号化対象画素を符号化する符号化工程とを備え、
前記参照順位は、前記第1参照画素と前記第2参照画素のうち前記符号化対象画素との位置関係が、前記符号化対象画素の直前に符号化された前画素と当該前画素の符号化時に前記符号化手段が用いた参照画素との位置関係を満たす参照画素から参照するように設定されることを特徴とする画像符号化方法。 - コンピュータに請求項3に記載の画像符号化方法を実行させるためのコンピュータプログラム。
- 請求項4に記載のコンピュータプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002046434A JP4109875B2 (ja) | 2002-02-22 | 2002-02-22 | 画像符号化装置、画像符号化方法、プログラム、記憶媒体 |
EP02258367.8A EP1318665B1 (en) | 2001-12-06 | 2002-12-04 | Image processing apparatus and method, program, and storage medium |
CN 200810094578 CN101282405B (zh) | 2001-12-06 | 2002-12-05 | 图像处理装置、图像处理方法 |
CNB02155529XA CN100397866C (zh) | 2001-12-06 | 2002-12-05 | 图像处理装置、图像处理方法 |
CN 200810097396 CN101282406B (zh) | 2001-12-06 | 2002-12-05 | 图像处理装置 |
CN2008100973975A CN101282407B (zh) | 2001-12-06 | 2002-12-05 | 图像处理装置、图像处理方法 |
US10/310,812 US7245396B2 (en) | 2001-12-06 | 2002-12-06 | Image data coding apparatus, image data decoding apparatus, image data coding method and image data decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002046434A JP4109875B2 (ja) | 2002-02-22 | 2002-02-22 | 画像符号化装置、画像符号化方法、プログラム、記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003250053A JP2003250053A (ja) | 2003-09-05 |
JP4109875B2 true JP4109875B2 (ja) | 2008-07-02 |
Family
ID=28659850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002046434A Expired - Fee Related JP4109875B2 (ja) | 2001-12-06 | 2002-02-22 | 画像符号化装置、画像符号化方法、プログラム、記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4109875B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7321623B2 (en) | 2002-10-01 | 2008-01-22 | Avocent Corporation | Video compression system |
US9560371B2 (en) | 2003-07-30 | 2017-01-31 | Avocent Corporation | Video compression system |
US7006700B2 (en) * | 2004-06-25 | 2006-02-28 | Avocent Corporation | Digital video compression command priority |
US7457461B2 (en) | 2004-06-25 | 2008-11-25 | Avocent Corporation | Video compression noise immunity |
TW200814780A (en) | 2006-04-28 | 2008-03-16 | Avocent Corp | DVC delta commands |
JP5029164B2 (ja) | 2006-09-25 | 2012-09-19 | セイコーエプソン株式会社 | 未現像の画像データを用いる画像処理 |
JP5218015B2 (ja) * | 2008-12-17 | 2013-06-26 | カシオ電子工業株式会社 | データ伸長装置 |
CN101996390B (zh) * | 2010-10-20 | 2013-11-06 | 中兴通讯股份有限公司 | 一种图像拷贝的方法和装置 |
-
2002
- 2002-02-22 JP JP2002046434A patent/JP4109875B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003250053A (ja) | 2003-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7245396B2 (en) | Image data coding apparatus, image data decoding apparatus, image data coding method and image data decoding method | |
JP3902968B2 (ja) | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 | |
US7454070B2 (en) | Image encoding apparatus and method, computer program, and computer-readable storage medium | |
JP5052569B2 (ja) | 画像圧縮装置、画像圧縮方法、画像伸張装置、画像伸張方法、画像形成装置、コンピュータプログラム及び記録媒体 | |
US7680345B2 (en) | Image encoding apparatus and method, computer program, and computer-readable storage medium | |
KR100491333B1 (ko) | Dwt-기반 기술에 의해 압축된 이미지를 코딩하기 위한실시간 알고리즘 및 구조 | |
US7257264B2 (en) | Image processing apparatus and method for compression-encoding image area information | |
US7466863B2 (en) | Image encoding apparatus and method, computer program, computer-readable storage medium, and image forming apparatus | |
US8331705B2 (en) | Image encoding apparatus and method of controlling the same | |
US20050276500A1 (en) | Image encoding apparatus, and image processing apparatus and its control method | |
US7715637B2 (en) | Image processing apparatus and control method therefor | |
US5583656A (en) | Methods and apparatus for attaching compressed look-up table (LUT) representations of N to M-dimensional transforms to image data and for processing image data utilizing the attached compressed LUTs | |
JP4393319B2 (ja) | 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP3976353B2 (ja) | ディジタル・カメラ | |
JP4109875B2 (ja) | 画像符号化装置、画像符号化方法、プログラム、記憶媒体 | |
JP2000138836A (ja) | 背景画素を含むディジタル画像の圧縮装置 | |
US20080260273A1 (en) | Image processing apparatus and method | |
JP2000244935A (ja) | 画像データ圧縮方法 | |
JP4063487B2 (ja) | ラスタデータの圧縮方法 | |
JP3970007B2 (ja) | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 | |
JP3984813B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 | |
JP2000165681A (ja) | デ―タソ―スから画素をプリントするプリンティングシステムにおいて用いられるランレングス符号化システム | |
CN110087085B (zh) | 图像处理装置 | |
CN110087074B (zh) | 图像处理装置和用于操作图像处理装置的方法 | |
JP2006238291A (ja) | カラー画像情報の符号化処理方法、復号化処理方法およびこれを用いた印刷装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041001 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070409 |
|
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: 20080331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080407 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4109875 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140411 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |