Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4259062B2 - Image processing device - Google Patents
[go: Go Back, main page]

JP4259062B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP4259062B2
JP4259062B2 JP2002223502A JP2002223502A JP4259062B2 JP 4259062 B2 JP4259062 B2 JP 4259062B2 JP 2002223502 A JP2002223502 A JP 2002223502A JP 2002223502 A JP2002223502 A JP 2002223502A JP 4259062 B2 JP4259062 B2 JP 4259062B2
Authority
JP
Japan
Prior art keywords
image
image processing
processing module
request
module
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
JP2002223502A
Other languages
Japanese (ja)
Other versions
JP2004062779A (en
Inventor
洋一 井坂
幸夫 熊澤
昌徳 恩田
隆 長尾
範顕 関
英樹 馬場
ゆみ 関口
イーナン 宗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2002223502A priority Critical patent/JP4259062B2/en
Publication of JP2004062779A publication Critical patent/JP2004062779A/en
Application granted granted Critical
Publication of JP4259062B2 publication Critical patent/JP4259062B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、デジタル化された画像を処理する装置に係り、複数の要素機能的な画像処理モジュールを用意して、その組み合わせにより多種多様な画像処理機能を提供するような画像処理装置に関する。これらの画像処理機能は、例えば文書エディタや描画ツール、あるいは画像伝送装置やプリンタ等、デジタル画像を取り扱う様々なシステムにおいて利用される。
【0002】
このような画像処理機能は、しばしば画像処理ライブラリファイルとして提供される。その場合には画像処理機能を利用したいアプリケーションプログラムとリンクすることによりその機能が利用される。
【0003】
【従来の技術】
画像処理装置や画像を入力可能なDTP(デスクトップ・パブリッシング)システム、画像を出力可能なプリントシステムなどでは、処理対象となる画像に対して、例えば拡大・縮小、回転、アフィン変換、色変換、フィルタ、合成などの各種の画像処理が行われる。
【0004】
これらの処理を行う際には、入力画像の属性や処理内容、手順、パラメータなどが固定されている場合には専用のハードウエアを用いて処理を行う場合もある。しかし、例えば色空間や画素当たりのビット数が異なる様々な画像が入力されたり、処理内容や手順、パラメータなどが様々に変更される場合には、より柔軟性のある構成が必要となる。
【0005】
このような要求を満たす手段としては、例えば特開平5−260373号公報や特開平7−105020号公報に記載されているように、プログラマブルなモジュールをパイプライン形態やDAG(Directed Acyclic Graph:有向非循環グラフ)形態に接続して、柔軟に所望の処理を行う例が開示されている。
【0006】
特開平5−260373号公報に記載された発明では、複数のプログラマブル演算処理部の各演算処理内容と、ネットワーク部による各プログラマブル演算処理部の接続形態とを、ホストコントロール手段を通じて外部から自在に設定できるように構成する。これにより、高速かつ高度な演算処理が可能で、機能変更、系統変更に対する自由度が高いデジタル映像信号処理装置の提供を目指している。
【0007】
また特開平7−105020号公報に記載された発明では、必要な機能モジュールを所望の順番でパイプライン状に接続/初期化し、処理を行うように構成している。これにより、柔軟に画像処理を行う発明が提案されている。
【0008】
接続が終了すると最後尾のモジュールに対して必要に応じてヘッダの取得を要求する。この要求は接続されたモジュールを順次遡って先頭の画像入力モジュールに達して、読み込まれる画像のヘッダ情報を返す。そして、各モジュールは自身が変更する部分の情報を書き換えた後に後段のモジュールに渡す。
【0009】
例えば入力画像のサイズが1000x1000画素であり、処理パイプラインの中に500x500画素への縮小処理モジュールが含まれていた場合には、当該縮小モジュールは前段から渡されたヘッダ情報のうちのサイズ情報を1000x1000から500x500に変更して後段に渡す。このような処理を順次繰り返して、最終的に最後尾のモジュールは外部に対して当該画像処理パイプラインが出力する画像のヘッダ情報を出力する。
【0010】
次に、得られたヘッダ情報などをもとにデータの処理を行う。データの処理もヘッダの処理と同様に、最後尾のモジュールに対して一定量のデータ出力を要求する。その後、最後尾のモジュールは前段のモジュールに対してそれに必要な画像データの入力を要求する。この要求は同様により前段に対して遡って伝えられて画像入力モジュールに伝えられる。そして、必要な画像データが読み出された後に、後段に渡され、順次処理をされながら最終的に最後尾の処理モジュールから出力される。
【0011】
上記の処理が画像の最後まで、または必要な部分に対して行われると、処理パイプラインは不要となるので、最後尾のモジュールに対して終了を要求する。この終了要求も前記ヘッダ情報取得や前記処理と同様にモジュールの接続を遡って最前部の画像入力モジュールに達する。そして、画像入力モジュールは処理に用いたリソースを解放するとともに自身を解放して後段に制御を返す。制御が戻された後段も同様にリソースや自身を解放する処理を行ってさらに後段に返す。そして、最終的に最後尾のモジュールのリソース/自身の解放が終了した時点で全ての操作が終了する。
【0012】
特開平7−105020号公報に記載された上記方式は、例えばUNIX(登録商標)などのオペレーティングシステムで用いられている単一プロセッサによる多重処理パイプラインのシミュレーション方式を画像処理などの分野に応用したものである。特に画像処理においては、1回の処理単位を例えば画像の1ラインのように画像の一部に限定することにより、各処理モジュールが処理用に保持するメモリ領域を極めて少なくすることが可能となる。
【0013】
その結果、少ないメモリで複雑な処理を実行できるコストの安い画像処理装置を提供することが可能となる。また、仮想記憶をサポートするオペレーティングシステム上で動作させる場合には、メモリ不足によるスワップアウトが最小限に抑えられるため、高速に処理を実行することが可能となる。
【0014】
【発明が解決しようとする課題】
画像処理パイプラインを構成する画像処理モジュールは、入力されたデータの処理結果をパイプラインの下流に接続された画像処理モジュールに入力するプッシュ型か、処理するデータを取得するためにパイプラインの上流に接続された画像処理モジュールにデータ要求を送信するプル型のいずれかである。通常の画像処理パイプラインは、外部制御が最小限でかつ画像処理モジュール間の接続が効率的であるように、同型の画像処理モジュールでのみ構成される。
【0015】
しかしながら、パイプラインがプル型の画像処理モジュールで構成されている場合には、利用者が他のアプリケーションを利用して、画像情報をパイプラインに直接与えるようなプッシュ型の処理、特に利用者が保持する画像情報をある画像フォーマットで出力するモジュールを利用してストレージなどに出力するような処理を直接、プル型のモジュールで実行することができないという問題があった。
【0016】
また、この場合、画像情報をプル型の画像処理モジュールに与えるためには、プル型の画像処理モジュールで構成されたパイプラインとは別のメモリ等に、与えたい画像情報を一端保持する必要がある。したがって、余分なメモリを消費したり、処理時間が多くかかったりするという問題があった。
【0017】
本発明は、上述したような問題点を鑑みてなされたものであり、プル型の画像処理モジュールにはなんら変更を加えることなく、プル型の画像処理モジュールをプッシュ型の画像処理モジュールとして振舞うことを可能にし、特に、プル型の画像処理モジュールに、直接画像情報を与えて出力させることを目的とする。
【0018】
【課題を解決するための手段】
本発明は、多段に接続され、処理対象画像に対して、それぞれ所定の画像処理を行う複数の画像処理モジュールを備えた画像処理装置であって、前記多段に接続された画像処理モジュールのうちの、接続されたある2つの画像処理モジュールをそれぞれ前段、後段とした場合の後段の前記画像処理モジュール、前段の画像処理モジュールに対して、画像要求を行う画像要求手段と、前記画像要求手段によって受け取った処理対象画像に対して、所定の画像処理を行う画像処理手段と、前記画像処理手段が処理した結果を出力する画像出力手段とを備え、前段の前記画像処理モジュール、後段の画像処理モジュールに対して、画像要求を行うように依頼する画像要求依頼手段とを備え、前段の前記画像処理モジュールに処理対象画像が入力されると、前記画像要求依頼手段は、後段の画像処理モジュールに対して画像要求を行うように依頼し、前記画像要求手段は、該依頼に応じて前段の画像処理モジュールに対して画像要求を行うことを特徴とする。
【0019】
また、本発明は、多段に接続され、処理対象画像に対して、それぞれ所定の画像処理を行う複数の画像処理モジュールを備えた画像処理装置であって、前記多段に接続された画像処理モジュールのうちの、接続されたある2つの画像処理モジュールをそれぞれ前段、後段とした場合の後段の前記画像処理モジュール、前段の画像処理モジュールに対して、画像要求を行う画像要求手段とを備え、前段の前記画像処理モジュール、後段の画像処理モジュールに対して、画像要求を行うように依頼する画像要求依頼手段と、入力された処理対象画像に対して、所定の画像処理を行う画像処理手段と、前記画像処理手段が処理した結果を後段の画像処理モジュールに出力する画像出力手段とを備え、前段の前記画像処理モジュールに処理対象画像が入力されると、前記画像要求依頼手段は、後段の画像処理モジュールに対して画像要求を行うように依頼し、前記画像処理手段は、該依頼に応じて入力された処理対象画像に対して所定の画像処理を行うことを特徴とする。
【0031】
【発明の実施の形態】
以下、本発明を画像処理装置に適用した場合の実施の形態について、具体的に説明する。
【0032】
本発明による画像処理装置101は、図1に示すようにホストアプリケーション100から与えられた画像処理命令を記憶する処理記憶部102と、画像情報を記憶する画像記憶部103と、画像記憶部に記憶された画像を処理記憶部に記憶された画像処理命令にしたがって画像処理を行う画像処理部104と、画像処理の実行を制御する処理実行制御部105から構成される。
【0033】
また画像処理部104は、図2に示すように各種処理を行う少なくとも1つの画像処理モジュール200から構成される。さらに、画像処理モジュール200のうち少なくとも1つは、画像要求依頼手段を備えた画像処理モジュールである。そして、画像処理モジュール200のうち少なくとも1つは、画像要求依頼に応じて画像要求をする画像要求手段を備えた画像処理モジュールである。
【0034】
また、処理実行制御部105は図3に示すように、処理記憶部102に記憶された画像処理命令に対応する画像処理モジュール200の生成および画像処理モジュール間の接続を行うモジュール生成手段300と、各画像処理モジュールを展開するメモリや各画像処理モジュールが利用するバッファなどの確保および解放を行うメモリ確保手段301から構成される。各画像処理モジュールがバッファとしてのメモリを確保および解放を行う手段を有していても構わないが、以降の説明では省略する。
【0035】
図4は、モジュール生成手段300によって生成される中段画像処理モジュール400および前段画像処理モジュール401および後段画像処理モジュール402とを接続したパイプラインの構成を説明するブロック図である。中段画像処理モジュール400、401、402は全てプル型の画像処理モジュールである。中段画像処理モジュール400は、前段画像処理モジュール401から取得した画像情報を保持するための入力バッファ406、画像処理モジュールの制御を行う制御部407、中段画像処理モジュール400内で処理後の画像情報を後段画像処理モジュール402に出力するための出力バッファ408から構成される。
【0036】
中段画像処理モジュール400は、後段画像処理モジュール402から画像要求413を受けると制御部407に要求が伝えられ、制御部407は前段画像処理モジュール401に対して画像要求412を送る。
【0037】
画像要求412を受け取った前段画像処理モジュール401は、処理した画像情報を出力バッファ405に書き込むので、制御部407は出力バッファ405に書き込まれた画像情報を入力バッファ406にコピーする。制御部407は、入力バッファ406の画像情報を処理した結果を出力バッファ408に書き込み、後段画像処理モジュール402の制御部410によって入力バッファ409にコピーされる。
【0038】
図5は、モジュール生成手段300によって生成される中段画像処理モジュール500および前段画像処理モジュール501および後段画像処理モジュール502とを接続したパイプラインの構成を説明するブロック図である。
【0039】
画像処理モジュール500、501、502は全てプッシュ型の処理モジュールである。中段画像処理モジュール500は、前段画像処理モジュール501から入力された画像情報を保持するための入力バッファ506、画像処理モジュールの制御を行う制御部507、中段画像処理モジュール500内で処理後の画像情報を後段画像処理モジュール502に出力するための出力バッファ508から構成される。
【0040】
中段画像処理モジュール500は、前段画像処理モジュール501から入力バッファ506に画像情報を入力され、かつ制御部507に画像処理要求512を受ける。
【0041】
入力バッファ506への一回以上の画像情報入力により、中段画像処理モジュール500が処理に十分な画像情報を得ると、制御部507は入力された画像情報を処理し、その結果を出力バッファ508に書き込む。そして、制御部507は出力バッファ508の画像情報を後段画像処理モジュール502の入力バッファ509に入力し、画像処理要求513を送る。
【0042】
上述したように、プル型の画像処理モジュールは画像要求に対して処理結果を返すのに対し、プッシュ型の画像処理モジュールは入力された処理対象画像に対して処理を行う。
【0043】
すなわち、パイプラインを構成したときにプル型の画像処理モジュールは後段から画像処理要求を受けるのに対し、プッシュ型の画像処理モジュールは前段から画像処理要求を受けるので、プル型とプッシュ型の画像処理モジュールを直接接続してパイプラインを構成することはできない。
【0044】
本発明では、プル型の画像処理モジュールをプッシュ型の画像処理モジュールのように振舞うことを可能にし、特に、プル型の画像処理モジュールに、直接画像情報を与えて出力させることができる。
【0045】
図6は、後段のプル型の画像処理モジュールに対して、画像要求をするように依頼する画像要求依頼手段を備えた依頼画像処理モジュール600と、画像要求依頼に応じて、依頼画像処理モジュールに画像要求する画像要求手段を備えたプル型の要求画像処理モジュール604とを接続したときのパイプラインの構成を説明するブロック構成図である。
【0046】
依頼画像処理モジュール600は、さらに前段に接続された画像処理モジュールまたは利用者が保持する画像情報から取得した画像情報を保持するための画像保持手段としての入力バッファ601を備える。そして、モジュールの制御を行う制御部602も備える。この制御部602は、後段のモジュールに画像要求依頼をする画像要求依頼手段612と、処理対象画像の画像を処理する画像処理手段613とを含む。加えて、依頼画像処理モジュール600は、処理後の画像情報を要求画像処理モジュール604に出力するための画像出力手段としての出力バッファ603を備える。
【0047】
入力バッファ601に画像情報が書き込まれて(608)、書き込まれた画像情報に対する処理要求609が制御部602に入力されると、制御部602は、要求画像処理モジュール604から画像要求があった場合に処理に十分な画像情報が入力バッファ601に蓄えられているかどうか判断する。そして、蓄えられていると判断すると、画像要求依頼手段612に要求画像処理モジュール604への画像要求依頼610を実行させる。
【0048】
画像要求依頼610を受けた要求画像処理モジュール604の画像要求手段613は、依頼画像処理モジュール600に画像要求611を送る。依頼画像処理モジュール600は、画像要求611を受けると、入力バッファ601に蓄えられた画像情報を処理する。そして、その結果を出力バッファ603に書き込み、要求画像処理モジュール604の入力バッファ605にコピーする。
【0049】
要求画像処理モジュール604は、入力バッファ605に蓄えられた画像情報量が出力画像フォーマットに最低限必要な出力単位に達すると、出力画像フォーマットへの変換処理後に出力バッファ607に書き込み、出力先である例えばストレージ616にデータをコピーする。
【0050】
これまでの説明では説明の都合上、各処理モジュールは入力バッファと出力バッファを有しているが、図7に示すように入力バッファのみを有する依頼画像処理モジュール700や要求画像処理モジュール705のような構成であっても構わない。
【0051】
要求画像処理モジュール705は、画像要求依頼を受け取ると、画像要求手段708で前段のモジュールに画像要求を行う。その後取得した処理対象画像を制御部707内の画像処理出力手段709で、画像処理する。そして、その結果を、画像処理出力手段709が、後段の画像処理モジュール等の入力バッファに直接書き込む。依頼画像処理モジュールも同様に出力バッファを有しない構成であっても構わない。
【0052】
画像要求依頼手段703の画像要求依頼の結果、後段に接続したプル型の要求画像処理モジュール705から画像要求を受け取る。その後、制御部702は入力バッファ704に蓄えられた画像情報を、画像処理出力手段709で、画像処理する。そして、その結果を、同じく画像処理出力手段709が、要求画像処理処理モジュール705の入力バッファに直接書き込む。
【0053】
このような構成では、出力バッファから要求画像処理モジュール705の入力バッファへの画像情報のコピーが不要であり、処理速度の向上が期待できる。また、出力バッファが不要であるためメモリの節約にもなる。
【0054】
また、各入力バッファに蓄えられる画像情報は先入れ先出し処理が行われるが、入力バッファの代わりに待ち行列機能を利用しても構わない。一般的な待ち行列機能は画像情報の保持機能と先入れ先出し処理機能を備えているため、待ち行列機能を利用することにより画像処理モジュールの実現が容易になる。
【0055】
本発明の実施の形態では、一回の画像処理にNライン分の画像情報を必要とするプル型の画像処理モジュールの前段に、後段のモジュールに対して画像要求を依頼する画像処理モジュールを接続した場合の一般的な動作について説明する。
【0056】
まず、メモリ確保手段301は画像処理モジュール生成に必要なメモリを確保する。モジュール生成手段300は、メモリ確保手段301が確保したメモリ上に、画像処理部104が備える、画像要求依頼手段を有する依頼画像処理モジュールと、画像要求手段有する要求画像処理モジュールとを生成する。
【0057】
そして、要求画像処理モジュールの前段に依頼画像処理モジュールを、後段に画像出力先であるストレージを接続してパイプラインを構成する。依頼画像処理モジュールを生成する際に、要求画像処理モジュールが一回の出力を行うのに必要な画像情報のライン数から、依頼画像処理モジュールの入力バッファの最小容量を計算して必要な分だけ確保することで、メモリを節約しても構わない。
【0058】
図8は、後段のモジュールに対して、画像要求依頼を行う依頼画像処理モジュールの一般的な処理の流れを示した図である。
【0059】
(ステップ801)依頼画像処理モジュールの入力バッファに画像情報が入力される。
【0060】
(ステップ802)入力バッファにNライン分の画像情報が格納されているかどうかを判断する。Nライン分の画像情報が格納されている場合にはステップ803に進み、そうでない場合には、ステップ806に進む。
【0061】
(ステップ803)後段に接続されている要求画像処理モジュールが出力処理を実行するように、依頼画像処理モジュールは、後段に画像要求依頼を送る。
【0062】
(ステップ804)後段に接続されている要求画像処理モジュールは一回の出力処理に対してNライン分の画像情報を必要とする。したがって、依頼画像処理モジュールは、後段からN回の画像要求を受ける。そして、各画像要求に対して後段に画像情報を出力する。
【0063】
(ステップ805)次の行の画像情報が入力されるのを待つ待機状態。依頼画像処理モジュールに画像情報の入力があると、ステップ801に進む。
【0064】
(ステップ806)入力バッファに入力された画像情報が画像の最終ラインである場合にはステップ807に進む。そうでない場合にはステップ805に進む。
【0065】
(ステップ807)後段に接続されている要求画像処理モジュールが画像の残りのラインに対する出力処理を実行するように、依頼画像処理モジュールは、後段に画像要求依頼を送る。
【0066】
(ステップ808)入力バッファに残っているライン分の回数の画像要求を受けるので、依頼画像処理モジュールは、各画像要求に対して後段に画像情報を出力する。仮に、入力バッファに残っているライン分に満たない回数の画像要求を受ける場合には、後段に要求された分の画像情報を出力した後に、再び後段に画像要求依頼を送る。依頼画像処理モジュールは、入力バッファに残っているライン分の画像情報が全て後段に出力されるまで、画像要求依頼を送る。その結果、後段から画像要求を受けて画像情報を出力する、という処理を繰り返す。
【0067】
【発明の効果】
以上のように、本発明にかかる画像処理装置によれば、画像要求依頼手段が、処理対象画像が入力されると、後段のプル型の画像処理モジュールに対して、画像要求をするように依頼する。そして、画像処理手段が、後段側のプル型の画像処理モジュールからの画像要求に応じて、入力された処理対象画像に対して、所定の画像処理を行う。さらに、画像出力手段が、その結果を後段側のプル型の画像処理モジュールに出力する。
【0068】
後段のプル型の画像処理モジュールは、前段からの画像要求依頼に応じて、前段に画像要求をする。そして、要求後に取得した処理対象画像を処理して、出力する。
【0069】
これにより、プル型の画像処理モジュールをプッシュ型の画像処理モジュールのように振る舞わせることができる。
【0070】
よって、パイプライン状に構成されたプル型の画像処理モジュールで、プッシュ型の画像処理モジュールで行うような画像処理ができる。
【0071】
また、従来のように、利用者が他のアプリケーションを利用して、画像情報をプル型の画像処理モジュールに与える場合に、プル型の画像処理モジュールで構成されたパイプラインとは別のメモリ等に、与えたい画像情報を一端保持する必要がない。
【0072】
したがって、余分なメモリを消費しなくて済み、処理時間の短縮にもつながる。
【図面の簡単な説明】
【図1】 本発明における画像処理装置の一実施例のブロック図である。
【図2】 画像処理部の一実施例のブロック図である。
【図3】 処理実行制御部の一実施例のブロック図である。
【図4】 プル型の画像処理モジュールによる画像処理パイプラインの構成例である。
【図5】 プッシュ型の画像処理モジュールによる画像処理パイプラインの構成例である。
【図6】 プル型の画像処理モジュールの前段に、画像要求依頼手段を備えた画像処理モジュールを接続したパイプラインの構成例である。
【図7】 画像処理モジュールの別の実施例を示すブロック図である。
【図8】 画像要求依頼手段を備えた画像処理モジュールの処理例を表す流れ図である。
【符号の説明】
100 ホストアプリケーション、101 画像処理装置、102 処理記憶部、103 画像記憶部、104 画像処理部、105 処理実行制御部、200 画像処理モジュール、300 モジュール作成手段、301 メモリ確保手段、400,500 中段画像処理モジュール、401,501 前段画像処理モジュール、402,502 後段画像処理モジュール、600,700 依頼画像処理モジュール、604,705 要求画像処理モジュール、612,703 画像要求依頼手段、614,708 画像要求手段、616 ストレージ、403,406,409,503,506,509,601,605,701,706 入力バッファ、404,407,410,504,507,510,602,606,702,707 制御部、405,408,411,505,508,511,603,607 出力バッファ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an apparatus for processing a digitized image, and more particularly to an image processing apparatus in which a plurality of elemental functional image processing modules are prepared and various image processing functions are provided by combining them. These image processing functions are used in various systems that handle digital images, such as document editors, drawing tools, image transmission apparatuses, and printers.
[0002]
Such an image processing function is often provided as an image processing library file. In that case, the function is used by linking with an application program that wants to use the image processing function.
[0003]
[Prior art]
In an image processing device, a DTP (desktop publishing) system that can input an image, a print system that can output an image, etc., for example, enlargement / reduction, rotation, affine conversion, color conversion, filter for an image to be processed Various image processing such as synthesis is performed.
[0004]
When performing these processes, if the attributes, process contents, procedures, parameters, etc. of the input image are fixed, the process may be performed using dedicated hardware. However, for example, when various images having different color spaces or the number of bits per pixel are input, or when processing contents, procedures, parameters, and the like are changed variously, a more flexible configuration is required.
[0005]
As means for satisfying such a requirement, for example, as described in JP-A-5-260373 and JP-A-7-105020, a programmable module is arranged in a pipeline form or DAG (Directed Acyclic Graph: directed). An example of performing desired processing flexibly by connecting to a non-circular graph) form is disclosed.
[0006]
In the invention described in Japanese Patent Laid-Open No. 5-260373, the content of each arithmetic processing of a plurality of programmable arithmetic processing units and the connection form of each programmable arithmetic processing unit by a network unit can be freely set from the outside through a host control means. Configure as you can. Accordingly, the present invention aims to provide a digital video signal processing apparatus capable of high-speed and advanced arithmetic processing and having a high degree of freedom for function change and system change.
[0007]
In the invention described in Japanese Patent Laid-Open No. 7-105020, the necessary functional modules are connected / initialized in a pipeline form in a desired order to perform processing. Thus, an invention that performs image processing flexibly has been proposed.
[0008]
When the connection is completed, the header of the last module is requested as necessary. This request sequentially goes back the connected modules to reach the first image input module, and returns header information of the image to be read. Each module rewrites the information of the part to be changed and then passes it to the subsequent module.
[0009]
For example, if the size of the input image is 1000 × 1000 pixels and a reduction processing module to 500 × 500 pixels is included in the processing pipeline, the reduction module uses the size information in the header information passed from the previous stage. Change from 1000x1000 to 500x500 and pass to the subsequent stage. Such processing is sequentially repeated, and finally the last module outputs the header information of the image output by the image processing pipeline to the outside.
[0010]
Next, data processing is performed based on the obtained header information and the like. Similarly to the header processing, the data processing requests the last module to output a certain amount of data. Thereafter, the last module requests the preceding module to input image data necessary for it. This request is similarly transmitted retroactively to the previous stage and is transmitted to the image input module. Then, after the necessary image data is read, it is passed to the subsequent stage, and finally outputted from the last processing module while being sequentially processed.
[0011]
When the above processing is performed up to the end of the image or for a necessary portion, the processing pipeline is unnecessary, and the end module is requested to end. This termination request also reaches the foremost image input module by going back to the module connection in the same manner as the header information acquisition and the processing. Then, the image input module releases the resources used for the processing, releases itself, and returns control to the subsequent stage. Similarly, after the control is returned, the process of releasing the resource and itself is performed and the process is returned to the subsequent stage. All operations are finished when the last module resource / release of the last module is finished.
[0012]
The above-described method described in Japanese Patent Laid-Open No. 7-105020 is applied to the field of image processing or the like in a multi-processing pipeline simulation method using a single processor used in an operating system such as UNIX (registered trademark). Is. Particularly in image processing, by limiting the processing unit for one time to a part of the image, for example, one line of the image, it becomes possible to extremely reduce the memory area that each processing module holds for processing. .
[0013]
As a result, it is possible to provide an inexpensive image processing apparatus that can execute complicated processing with a small amount of memory. In addition, when operating on an operating system that supports virtual memory, swap-out due to memory shortage can be minimized, so that processing can be executed at high speed.
[0014]
[Problems to be solved by the invention]
The image processing module constituting the image processing pipeline is a push type that inputs the processing result of the input data to the image processing module connected downstream of the pipeline, or upstream of the pipeline to acquire the data to be processed. Is a pull type that transmits a data request to an image processing module connected to the. A typical image processing pipeline is composed only of image processing modules of the same type so that external control is minimal and connections between the image processing modules are efficient.
[0015]
However, when the pipeline is configured with a pull-type image processing module, push-type processing in which the user directly supplies image information to the pipeline using other applications, particularly when the user There has been a problem that a pull type module cannot directly execute a process of outputting stored image information to a storage or the like using a module that outputs the image information in a certain image format.
[0016]
In this case, in order to give image information to the pull-type image processing module, it is necessary to hold the desired image information in a memory or the like different from the pipeline constituted by the pull-type image processing module. is there. Therefore, there is a problem that extra memory is consumed and a long processing time is required.
[0017]
The present invention has been made in view of the above-described problems. The pull-type image processing module behaves as a push-type image processing module without any changes to the pull-type image processing module. In particular, it is an object to directly output image information to a pull-type image processing module.
[0018]
[Means for Solving the Problems]
The present invention is an image processing apparatus that includes a plurality of image processing modules that are connected in multiple stages and that each perform predetermined image processing on an image to be processed. Of the image processing modules that are connected in multiple stages, , connected are two image processing modules front respectively, are the image processing module subsequent in the case of a subsequent stage, to the front stage image processing modules, an image request means for performing the image request, the image requesting unit to the processing target image received by an image processing means for performing predetermined image processing, and an image output means for outputting the result of said image processing means has processed preceding the image processing module of the rear stage Image request requesting means for requesting the image processing module to make an image request, and an image to be processed is input to the preceding image processing module Once the image request requesting means may request to perform image request to the subsequent image processing modules, the image request means, an image request to stage the image processing module before in response to the request It is characterized by performing.
[0019]
In addition, the present invention is an image processing apparatus that includes a plurality of image processing modules that are connected in multiple stages and that each perform predetermined image processing on an image to be processed, the image processing modules connected in multiple stages. of out, connected are two image processing modules front respectively, are the image processing module subsequent in the case of a subsequent stage, with respect to the pre-stage image processing module, and an image request means for performing the image request, preceding the image processing module is the image processing module of the rear stage, and an image demand request means for requesting to perform the image request, on the input processing target image, image processing for performing predetermined image processing It means and said image processing means and image output means for outputting to an image processing module of the rear stage results were processed, processed image in front the image processing module Is input, the image request requesting unit requests the subsequent image processing module to perform an image request, and the image processing unit applies the processing target image input in response to the request. Predetermined image processing is performed.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment when the present invention is applied to an image processing apparatus will be specifically described.
[0032]
As shown in FIG. 1, the image processing apparatus 101 according to the present invention stores a processing storage unit 102 that stores an image processing command given from the host application 100, an image storage unit 103 that stores image information, and a storage in the image storage unit. The image processing unit 104 performs image processing on the processed image in accordance with an image processing instruction stored in the processing storage unit, and a process execution control unit 105 that controls execution of the image processing.
[0033]
The image processing unit 104 includes at least one image processing module 200 that performs various processes as shown in FIG. Furthermore, at least one of the image processing modules 200 is an image processing module provided with an image request request unit. At least one of the image processing modules 200 is an image processing module including an image requesting unit that requests an image in response to an image request.
[0034]
Further, as shown in FIG. 3, the process execution control unit 105 includes a module generation unit 300 that generates the image processing module 200 corresponding to the image processing command stored in the processing storage unit 102 and connects between the image processing modules; It comprises memory securing means 301 for securing and releasing a memory for developing each image processing module and a buffer used by each image processing module. Each image processing module may have means for securing and releasing a memory as a buffer, but will be omitted in the following description.
[0035]
FIG. 4 is a block diagram illustrating the configuration of a pipeline connecting the middle image processing module 400, the previous image processing module 401, and the subsequent image processing module 402 generated by the module generation unit 300. The middle image processing modules 400, 401, and 402 are all pull-type image processing modules. The middle-stage image processing module 400 includes an input buffer 406 for holding image information acquired from the previous-stage image processing module 401, a control unit 407 that controls the image processing module, and image information that has been processed in the middle-stage image processing module 400. An output buffer 408 for outputting to the subsequent image processing module 402 is configured.
[0036]
When the middle image processing module 400 receives the image request 413 from the subsequent image processing module 402, the request is transmitted to the control unit 407, and the control unit 407 sends an image request 412 to the previous image processing module 401.
[0037]
The pre-stage image processing module 401 that has received the image request 412 writes the processed image information in the output buffer 405, so the control unit 407 copies the image information written in the output buffer 405 to the input buffer 406. The control unit 407 writes the result of processing the image information in the input buffer 406 to the output buffer 408, and is copied to the input buffer 409 by the control unit 410 of the post-stage image processing module 402.
[0038]
FIG. 5 is a block diagram illustrating the configuration of a pipeline connecting the middle image processing module 500, the previous image processing module 501, and the subsequent image processing module 502 generated by the module generation unit 300.
[0039]
The image processing modules 500, 501, and 502 are all push type processing modules. The middle image processing module 500 includes an input buffer 506 for holding the image information input from the previous image processing module 501, a control unit 507 for controlling the image processing module, and image information processed in the middle image processing module 500. Is output from the output buffer 508 for outputting to the subsequent image processing module 502.
[0040]
The middle-stage image processing module 500 receives image information from the previous-stage image processing module 501 to the input buffer 506 and receives an image processing request 512 from the control unit 507.
[0041]
When the middle-stage image processing module 500 obtains image information sufficient for processing by one or more input image information to the input buffer 506, the control unit 507 processes the input image information, and the result is output to the output buffer 508. Write. Then, the control unit 507 inputs the image information in the output buffer 508 to the input buffer 509 of the subsequent image processing module 502 and sends an image processing request 513.
[0042]
As described above, the pull-type image processing module returns a processing result in response to the image request, while the push-type image processing module performs processing on the input processing target image.
[0043]
That is, when the pipeline is configured, the pull-type image processing module receives an image processing request from the subsequent stage, whereas the push-type image processing module receives an image processing request from the previous stage. A pipeline cannot be constructed by directly connecting processing modules.
[0044]
In the present invention, the pull-type image processing module can behave like a push-type image processing module, and in particular, the pull-type image processing module can directly output and output image information.
[0045]
FIG. 6 shows a request image processing module 600 provided with an image request request means for requesting an image request to the pull-type image processing module in the subsequent stage, and a request image processing module in response to the image request. It is a block configuration diagram illustrating the configuration of a pipeline when a pull-type requested image processing module 604 provided with an image requesting unit that requests an image is connected.
[0046]
The requested image processing module 600 further includes an input buffer 601 as an image holding unit for holding image information acquired from an image processing module connected to the previous stage or image information held by a user. And the control part 602 which controls a module is also provided. The control unit 602 includes an image request request unit 612 that makes an image request request to a subsequent module, and an image processing unit 613 that processes an image of the processing target image. In addition, the requested image processing module 600 includes an output buffer 603 as an image output unit for outputting processed image information to the requested image processing module 604.
[0047]
When image information is written in the input buffer 601 (608) and a processing request 609 for the written image information is input to the control unit 602, the control unit 602 receives an image request from the request image processing module 604. Whether image information sufficient for processing is stored in the input buffer 601 is determined. When it is determined that the image is stored, the image request request unit 612 is caused to execute an image request request 610 to the request image processing module 604.
[0048]
The image request unit 613 of the request image processing module 604 that has received the image request request 610 sends an image request 611 to the request image processing module 600. When the requested image processing module 600 receives the image request 611, it processes the image information stored in the input buffer 601. Then, the result is written in the output buffer 603 and copied to the input buffer 605 of the requested image processing module 604.
[0049]
When the amount of image information stored in the input buffer 605 reaches the minimum output unit required for the output image format, the requested image processing module 604 writes the output information into the output buffer 607 after the conversion processing to the output image format, and is the output destination. For example, data is copied to the storage 616.
[0050]
In the above description, for the sake of explanation, each processing module has an input buffer and an output buffer. However, as shown in FIG. 7, a request image processing module 700 or a request image processing module 705 having only an input buffer is used. It may be a simple configuration.
[0051]
When the request image processing module 705 receives the image request, the image request unit 708 makes an image request to the preceding module. Thereafter, the acquired processing target image is subjected to image processing by the image processing output unit 709 in the control unit 707. Then, the image processing output unit 709 directly writes the result into an input buffer such as an image processing module in the subsequent stage. Similarly, the requested image processing module may not have an output buffer.
[0052]
As a result of the image request request from the image request request unit 703, an image request is received from the pull-type request image processing module 705 connected to the subsequent stage. Thereafter, the control unit 702 performs image processing on the image information stored in the input buffer 704 by the image processing output unit 709. Similarly, the image processing output unit 709 directly writes the result in the input buffer of the requested image processing processing module 705.
[0053]
In such a configuration, it is not necessary to copy image information from the output buffer to the input buffer of the requested image processing module 705, and an improvement in processing speed can be expected. Further, since no output buffer is required, memory can be saved.
[0054]
In addition, first-in first-out processing is performed on the image information stored in each input buffer, but a queue function may be used instead of the input buffer. Since a general queuing function includes an image information holding function and a first-in first-out processing function, the use of the queuing function makes it easy to implement an image processing module.
[0055]
In the embodiment of the present invention, an image processing module that requests an image request to a subsequent module is connected to the preceding stage of a pull-type image processing module that requires N lines of image information for one image processing. A general operation in this case will be described.
[0056]
First, the memory securing unit 301 secures a memory necessary for generating an image processing module. The module generating unit 300 generates a requested image processing module having an image request request unit and a requested image processing module having an image request unit, which are included in the image processing unit 104, on the memory secured by the memory securing unit 301.
[0057]
Then, the requested image processing module is connected to the preceding stage of the requested image processing module, and the storage that is the image output destination is connected to the subsequent stage to configure a pipeline. When generating the requested image processing module, calculate the minimum capacity of the input buffer of the requested image processing module from the number of lines of image information required for the requested image processing module to output once. By securing it, you may save memory.
[0058]
FIG. 8 is a diagram showing a general processing flow of the requested image processing module that makes an image request request to the subsequent module.
[0059]
(Step 801) Image information is input to the input buffer of the requested image processing module.
[0060]
(Step 802) It is determined whether image information for N lines is stored in the input buffer. If image information for N lines is stored, the process proceeds to step 803; otherwise, the process proceeds to step 806.
[0061]
(Step 803) The requested image processing module sends an image request to the subsequent stage so that the requested image processing module connected to the latter stage executes the output process.
[0062]
(Step 804) The requested image processing module connected in the subsequent stage needs image information for N lines for one output process. Therefore, the requested image processing module receives N image requests from the subsequent stage. Then, image information is output to the subsequent stage for each image request.
[0063]
(Step 805) A standby state waiting for image information of the next line to be input. When image information is input to the requested image processing module, the process proceeds to step 801.
[0064]
(Step 806) If the image information input to the input buffer is the last line of the image, the process proceeds to Step 807. Otherwise, go to step 805.
[0065]
(Step 807) The requested image processing module sends an image request request to the subsequent stage so that the requested image processing module connected to the subsequent stage executes output processing for the remaining lines of the image.
[0066]
(Step 808) Since the image request for the number of lines remaining in the input buffer is received, the requested image processing module outputs image information to the subsequent stage for each image request. If an image request is received that is less than the number of lines remaining in the input buffer, image information for the requested amount is output to the subsequent stage, and then the image request is sent to the subsequent stage again. The requested image processing module sends an image request request until all the image information for the lines remaining in the input buffer is output to the subsequent stage. As a result, the process of receiving the image request from the subsequent stage and outputting the image information is repeated.
[0067]
【The invention's effect】
As described above, according to the image processing apparatus of the present invention, when the image to be processed is inputted, the image request requesting unit requests the subsequent pull type image processing module to make an image request. To do. Then, the image processing means performs predetermined image processing on the input processing target image in response to the image request from the pull-type image processing module on the rear stage side. Further, the image output means outputs the result to the pull-type image processing module on the rear stage side.
[0068]
The pull-type image processing module at the subsequent stage makes an image request at the previous stage in response to an image request from the previous stage. Then, the processing target image acquired after the request is processed and output.
[0069]
As a result, the pull-type image processing module can behave like a push-type image processing module.
[0070]
Therefore, a pull-type image processing module configured in a pipeline shape can perform image processing as performed by a push-type image processing module.
[0071]
Further, as in the past, when a user uses another application to provide image information to a pull-type image processing module, a memory other than the pipeline configured by the pull-type image processing module, etc. In addition, it is not necessary to hold the image information to be given.
[0072]
Therefore, it is not necessary to consume extra memory, and the processing time is shortened.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of an image processing apparatus according to the present invention.
FIG. 2 is a block diagram of an embodiment of an image processing unit.
FIG. 3 is a block diagram of an embodiment of a process execution control unit.
FIG. 4 is a configuration example of an image processing pipeline using a pull-type image processing module.
FIG. 5 is a configuration example of an image processing pipeline using a push-type image processing module.
FIG. 6 is a configuration example of a pipeline in which an image processing module including an image request requesting unit is connected to a front stage of a pull type image processing module.
FIG. 7 is a block diagram showing another embodiment of the image processing module.
FIG. 8 is a flowchart illustrating a processing example of an image processing module including an image request request unit.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 Host application, 101 Image processing apparatus, 102 Processing storage part, 103 Image storage part, 104 Image processing part, 105 Processing execution control part, 200 Image processing module, 300 Module preparation means, 301 Memory securing means, 400,500 Middle stage image Processing module 401, 501 Pre-stage image processing module, 402, 502 Post-stage image processing module, 600, 700 Request image processing module, 604, 705 Request image processing module, 612, 703 Image request request means, 614, 708 Image request means, 616 storage, 403, 406, 409, 503, 506, 509, 601, 605, 701, 706 input buffer, 404, 407, 410, 504, 507, 510, 602, 606, 702, 707 control unit, 405 408, 411, 505, 508, 511, 603, 607 Output buffer.

Claims (4)

多段に接続され、処理対象画像に対して、それぞれ所定の画像処理を行う複数の画像処理モジュールを備えた画像処理装置であって、
前記多段に接続された画像処理モジュールのうちの、接続されたある2つの画像処理モジュールをそれぞれ前段、後段とした場合の後段の前記画像処理モジュール
段の画像処理モジュールに対して、画像要求を行う画像要求手段と、
前記画像要求手段によって受け取った処理対象画像に対して、所定の画像処理を行う画像処理手段と、
前記画像処理手段が処理した結果を出力する画像出力手段と、
を備え、
前段の前記画像処理モジュール
段の画像処理モジュールに対して、画像要求を行うように依頼する画像要求依頼手段と、
を備え、
前段の前記画像処理モジュールに処理対象画像が入力されると、前記画像要求依頼手段は、後段の画像処理モジュールに対して画像要求を行うように依頼し、前記画像要求手段は、該依頼に応じて前段の画像処理モジュールに対して画像要求を行うことを特徴とする画像処理装置。
An image processing apparatus that includes a plurality of image processing modules that are connected in multiple stages and that each perform predetermined image processing on a processing target image.
Of the connected image processing module in the multiple stages, connected are two image processing modules preceding each subsequent stage the image processing module in the case of a subsequent stage,
The image processing module of the previous stage, an image request means for performing the image request,
Image processing means for performing predetermined image processing on the processing target image received by the image request means;
Image output means for outputting a result processed by the image processing means;
With
The image processing module in the previous stage is
Respect to the rear stage image processing module, and an image demand request means for requesting to perform the image request,
With
When the processing target image is input to the preceding image processing module, the image request requesting unit requests the subsequent image processing module to make an image request, and the image requesting unit responds to the request. the image processing apparatus characterized by performing image request to the pre-stage image processing module of Te.
多段に接続され、処理対象画像に対して、それぞれ所定の画像処理を行う複数の画像処理モジュールを備えた画像処理装置であって、
前記多段に接続された画像処理モジュールのうちの、接続されたある2つの画像処理モジュールをそれぞれ前段、後段とした場合の後段の前記画像処理モジュール
段の画像処理モジュールに対して、画像要求を行う画像要求手段と、
を備え、
前段の前記画像処理モジュール
段の画像処理モジュールに対して、画像要求を行うように依頼する画像要求依頼手段と、
入力された処理対象画像に対して、所定の画像処理を行う画像処理手段と、
前記画像処理手段が処理した結果を後段の画像処理モジュールに出力する画像出力手段と、
を備え、
前段の前記画像処理モジュールに処理対象画像が入力されると、前記画像要求依頼手段は、後段の画像処理モジュールに対して画像要求を行うように依頼し、前記画像処理手段は、該依頼に応じて入力された処理対象画像に対して所定の画像処理を行うことを特徴とする画像処理装置。
An image processing apparatus that includes a plurality of image processing modules that are connected in multiple stages and that each perform predetermined image processing on a processing target image.
Of the connected image processing module in the multiple stages, connected are two image processing modules preceding each subsequent stage the image processing module in the case of a subsequent stage,
The image processing module of the previous stage, an image request means for performing the image request,
With
The image processing module in the previous stage is
Respect to the rear stage image processing module, and an image demand request means for requesting to perform the image request,
Image processing means for performing predetermined image processing on the input processing target image;
An image output means for outputting the result of said image processing means has processed the image processing module of the rear stage,
With
When a processing target image is input to the preceding image processing module, the image request requesting unit requests the subsequent image processing module to make an image request, and the image processing unit responds to the request. An image processing apparatus that performs predetermined image processing on the processing target image input in step S1.
請求項1,2のいずれかに記載の装置において、
前記画像処理モジュールは、処理対象画像を記憶するために必要な記憶容量を後段の画像処理モジュールの処理能力に応じて、設定することができる記憶容量設定手段を含むことを特徴とする画像処理装置。
The apparatus according to claim 1,
The image processing module, in accordance with the processing capability of the image processing module of the rear stage storage capacity required for storing the processed image, the image processing which comprises a storage capacity setting means operable to set apparatus.
請求項1,2のいずれかに記載の装置において、
前記画像処理モジュールは、処理対象画像を記憶するために待ち行列機能を有することを特徴とする画像処理装置。
The apparatus according to claim 1,
The image processing module, wherein the image processing module has a queuing function for storing a processing target image.
JP2002223502A 2002-07-31 2002-07-31 Image processing device Expired - Fee Related JP4259062B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002223502A JP4259062B2 (en) 2002-07-31 2002-07-31 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002223502A JP4259062B2 (en) 2002-07-31 2002-07-31 Image processing device

Publications (2)

Publication Number Publication Date
JP2004062779A JP2004062779A (en) 2004-02-26
JP4259062B2 true JP4259062B2 (en) 2009-04-30

Family

ID=31943236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002223502A Expired - Fee Related JP4259062B2 (en) 2002-07-31 2002-07-31 Image processing device

Country Status (1)

Country Link
JP (1) JP4259062B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863438B2 (en) * 2004-09-10 2012-01-25 キヤノン株式会社 Data processing apparatus and processing method
JP4534814B2 (en) * 2005-03-16 2010-09-01 富士ゼロックス株式会社 Data processing apparatus, data processing program, and data processing method
JP4694267B2 (en) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 Image processing apparatus, method, and program

Also Published As

Publication number Publication date
JP2004062779A (en) 2004-02-26

Similar Documents

Publication Publication Date Title
JP4694266B2 (en) Image processing apparatus, method, and program
CN103366338B (en) Image processing device and image processing method
EP0817090A2 (en) System for multisized bus coupling in a packet-switched computer system
JP2006518058A (en) Pipeline accelerator, related system and method for improved computing architecture
US6108722A (en) Direct memory access apparatus for transferring a block of data having discontinous addresses using an address calculating circuit
JP4694270B2 (en) Image processing apparatus, method, and program
JP4694267B2 (en) Image processing apparatus, method, and program
JP4694268B2 (en) Image processing apparatus, method, and program
JPH07120321B2 (en) Data transfer control device and method
JP4795138B2 (en) Image processing apparatus and program
JP4259062B2 (en) Image processing device
JP4694265B2 (en) Image processing apparatus, method, and program
JP4106083B2 (en) Architecture for computing devices
JP2006338498A (en) Image processing apparatus, method, and program
JP4082051B2 (en) Image processing apparatus and image processing method
JP4619868B2 (en) Image processing apparatus, method, and program
JP4045823B2 (en) Image processing apparatus and image processing method
JP4694269B2 (en) Image processing apparatus, method, and program
US20090031119A1 (en) Method for the operation of a multiprocessor system in conjunction with a medical imaging system
EP0981082B1 (en) Method and apparatus for integrating pull and push tasks in pipeline data processing
CN117827285A (en) Vector processor memory access instruction cache method, system, device and storage medium
CN118378675A (en) Neural network processing
CN120386645A (en) Operation method and architecture system of embedded code message routing architecture
JP2008140042A (en) Image processing apparatus and program
JP2768352B2 (en) Graphic drawing processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

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: 20090120

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: 20090202

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

Free format text: PAYMENT UNTIL: 20120220

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: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees