JP2008141502A - 画像処理方法および画像処理装置、およびそのシステム - Google Patents

画像処理方法および画像処理装置、およびそのシステム Download PDF

Info

Publication number
JP2008141502A
JP2008141502A JP2006325924A JP2006325924A JP2008141502A JP 2008141502 A JP2008141502 A JP 2008141502A JP 2006325924 A JP2006325924 A JP 2006325924A JP 2006325924 A JP2006325924 A JP 2006325924A JP 2008141502 A JP2008141502 A JP 2008141502A
Authority
JP
Japan
Prior art keywords
color conversion
image data
processing
image
data
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.)
Granted
Application number
JP2006325924A
Other languages
English (en)
Other versions
JP5110861B2 (ja
JP2008141502A5 (ja
Inventor
Naoyuki Nishikawa
尚之 西川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006325924A priority Critical patent/JP5110861B2/ja
Publication of JP2008141502A publication Critical patent/JP2008141502A/ja
Publication of JP2008141502A5 publication Critical patent/JP2008141502A5/ja
Application granted granted Critical
Publication of JP5110861B2 publication Critical patent/JP5110861B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

【課題】 キャッシュを利用して高速化を実現する色変換処理は、圧縮画像データに対しては効果がなかった。
【解決手段】 圧縮された画像データ316を伸長処理部320で伸長する際に、該画像データの処理単位ブロック毎のDC成分341に応じて、色変換用のキャッシュデータをマルチスレッド344〜347で作成し、グローバル領域348内に格納しておく。そして、伸長された画像データ331を色変換処理部351で処理する際に、グローバル領域348内のキャッシュデータを参照する。これにより、圧縮画像データに対する高速な色変換処理が実現される。
【選択図】 図2

Description

本発明は画像処理方法および画像処理装置、およびそのシステムに関し、特に、画像データに対するカラーマッチングを行う画像処理方法および画像処理装置、およびそのシステムに関する。
画像を周波数領域に写像し、各周波数成分に適合する量子化および符号化を施して効率的な画像圧縮を実現する方法が数多く提案されている。中でも、離散コサイン変換(DCT)およびハフマン符号を組み合わせた画像適合型の画像圧縮方法は、国際規格に採用されるなど幅広く用いられている。これら画像圧縮技術は、近年のカラー画像システムの普及に伴い、高精細(高解像度)のカラー画像の圧縮に利用される場合が多い。
一般にカラー画像システムとして、特にカラーインクジェットプリンタによるカラープリンティングシステムが普及している。このようなカラー画像システムにおいては、高精細なカラー画像を圧縮してディスク装置(ファイルシステム)へ保存し、この圧縮データを必要に応じて展開し、カラー印刷を行うことが頻繁に行われている。
ここで、画像圧縮技術を利用した一般的な画像処理システムの一例について、図11を用いて以下に概説する。図11において、カラー画像データである原画像データ111は、圧縮処理部110で圧縮される。圧縮処理部110において、入力された原画像データ111はまずDCT変換処理部112で色成分プレーンごとに8×8ピクセルのブロック単位で周波数データへ変換され、量子化処理部113で周波数成分ごとに適宜量子化される。次に、周波数データの直流成分であるDC係数は、DC係数処理部114により前後ブロックとの差分が算出され、周波数データの交流成分であるAC係数は、AC係数処理部115によりエントロピ符号化される。これら符号化されたデータ群により、圧縮データ116が構成される。
圧縮処理部110より得られた圧縮データ116は、伸長処理部120において必要に応じて伸長され出力される。伸長処理部120ではまず、逆AC係数処理部121によりエントロピ復号を行って量子化AC係数を求め、逆DC係数処理部122により前後のブロックから注目ブロックのDC係数を求める。このようにして得た量子化データ群から、逆量子化処理部123および逆DCT変換処理部124により、カラー画像データである伸長データ131を得る。
得られた伸長データ131は、色変換処理部141により印刷に適した色空間に写像(カラーマッチング:例えばRGB→YMCK)される。色変換後の画像データはさらに、解像度変換部151により拡大(または縮小)されて印刷解像度に適合され、画像出力信号161を形成する。
このような図11に示した画像処理システムにおいては、伸長データ131のデータサイズが大きくなるため、色変換処理部141におけるカラーマッチング処理時間が長くなってしまうという課題がある。ここでのカラーマッチング処理を高速に行うために、一旦変換したカラー変換結果を一時的に保持しておく「キャッシング処理」等が提案されている(例えば、特許文献1参照)。
上述したカラープリンティングシステムにおける処理速度は、その処理対象となる画像データのサイズにも大きく左右され、例えば高解像度の写真画像等を処理する場合には、処理速度は低下しがちである。
近年のデジタルカメラの高解像度化は目覚しく、ハイエンドの一眼レフタイプのデジタルカメラであれば、画素数が10メガピクセルを超えるものも珍しくない。これらハイエンド機は大型CMOSセンサを搭載することによって、優れた解像度の画像生成を可能とし、例えば有効画素数が約1670万画素(16メガピクセル)もの画像を生成する機種も登場している。
16メガピクセルのデジタルカメラで撮影された画像は、4992×3328ピクセル(1661万画素)からなる。一般に、撮影された写真画像データはRGB画像であるため、これをホストPC上で展開するには、47.53MBのメモリが必要となる。
さらに、デジタルカメラで撮影されたRGB画像を印刷する場合、これをCMYK等の色空間に変換する必要がある。そのため、撮影画像を印刷出力するプリンティングシステムにおいては、カラーマネージメントシステム(CMS)を搭載することが必須であり、例えばカラーLUTを用いて、出力デバイスの特性に合わせたカラーマッチング処理を行った上で、印刷される。
ここで図12に、撮影画像を印刷する従来のカラープリンティングシステムの概略構成を示す。同図において、ホストPC100とプリンタコントローラ200は、シリアルケーブル、または、ネットワークケーブル等で接続されている。このシステムにおいては、そのコネクティビティ(伝送路)におけるデータ転送用の帯域が狭いため、データサイズを小さくしてプリントジョブを流すように構成している。したがって圧縮画像を印刷する場合、ホストPC100側では圧縮画像の展開処理は行わず、圧縮したままの状態でプリンタコントローラ200側にデータを転送する。そしてプリンタコントローラ200側において、受け取った圧縮画像をRIPマネージャが伸長し、カラーマッチングを行った後に印刷出力する。
特開2000-113172号公報
上記従来のカラー画像システムにおいて、カラーマッチング処理の高速化を目的としたキャッシング処理が行われる旨を説明した。しかしながらこのキャッシング処理は、特にベクターグラフィックス等に関しては有効であるが、圧縮されたイメージ画像等を処理する場合においては、特に効果は得られなかった。
また、現在の通信技術の発達に伴い、図12に示すような構成においてもホストPCと周辺装置とのコネクティビティにおける帯域を十分に広くとることも可能となってきている。このようなプリンティング環境においては、必ずしも印刷データの伝送時サイズを小さくする必要は無い。また、ホストPC側での処理速度も飛躍的に向上しているため、ホストPC側で伸長等のデータ処理を行った方が、総合的に処理速度が向上する場合が多いことが考えられる。
例えば、出願人が一般的な高性能ホストPCにおいて、4992×3328ピクセル(約48MB)の8ビット画像について、線形8点補間を伴うカラーマッチング処理を実験的に行った場合、約6.5秒で処理が完了するという結果が得られた。
しかしながら、現在の業務用プリンタにおいては、1分間に30〜60枚以上の高速印刷を可能とするため、1枚の画像につき2秒〜1秒以内に処理を完了する必要がある。したがって、たとえ図12に示すようなカラープリンティングシステムにおけるカラーマッチング処理をホストPC側で実現できたとしても、その処理時間が未だ上記程度であれば、このような高速印刷には対応できなかった。
本発明は上述した問題を個々にまたはまとめて解決するためになされたものであり、高速なカラーマッチング処理を実現する画像処理方法および画像処理装置、およびそのシステムを提供することを目的とする。
上記目的を達成するための一手法として、本発明の画像処理方法は以下の工程を備える。
すなわち、圧縮された画像データを伸長する伸長ステップと、前記画像データの処理単位ブロック毎の周波数成分に基づいて色変換用のキャッシュデータを生成するキャッシュ生成ステップと、前記伸長された画像データに対して、前記キャッシュデータに基づく色変換処理を行う色変換ステップと、を有することを特徴とする。
また、画像データに対する色変換処理を行う画像処理方法であって、前記画像データに対して、複数のブロックサイズによる色変換処理を試験的に実行する試験ステップと、前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したブロックサイズを特定するブロックサイズ特定ステップと、該ブロックサイズを示すサイズ情報を、前記画像データに付与するサイズ情報付与ステップと、を有し、前記画像データに対する色変換処理を、前記サイズ情報で示されるブロックサイズにて行うことを特徴とする。
さらに、色変換処理の対象色について色変換用の補間演算を実行する補間演算ステップと、前記補間演算ステップにおける演算結果をファイルに格納しておく結果保持ステップと、をさらに有し、前記画像データに対する色変換処理を、前記ファイルに基づいて行うことを特徴とする。
また、複数スレッドによる並列処理を可能とするホストコンピュータにおいて画像データに対する色変換処理を行う画像処理方法であって、スレッド数を可変として前記色変換処理を試験的に実行する試験ステップと、前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したスレッド数を特定するスレッド数特定ステップと、該スレッド数を示すスレッド数情報を、前記ホストコンピュータ内のシステムファイルに保持するスレッド数情報保持ステップと、を有し、前記画像データに対する色変換処理を、前記スレッド数情報で示されるスレッド数による並列処理として行うことを特徴とする。
以上の構成により本発明によれば、高速なカラーマッチング処理が実現される。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<第1実施形態>
まず、本実施形態のプリンティングシステムにおける画像処理の概要について説明する。
図1に、本実施形態のカラープリンタ2010における画像形成部の概略構成例を示す。同図において、2200〜2230はカラーインクカートリッジであり、それぞれイエロー(Y)カラーインク,マゼンタ(M)カラーインク,シアン(C)カラーインク,ブラック(K)カラーインクが充填されている。各インクカートリッジ2200〜2230と圧力ポンプ2160とは、インクを供給するためのそれぞれ独立したパイプで接続され、圧力ポンプ2160からプリントヘッド2120までは一定の圧力で各色のインクが圧送されるようになっている。
記録紙は、カラープリンタ2010の後面より供給され、プラテン2110とフロントガイドローラ2150により固定される。また、カラープリンタ2010の操作は、コントロールパネル2180上のキーを押下することで行われ、コントロールボード2190がカラープリンタ2010のすべての動作を制御する。
このカラープリンタ2010により印刷を行うには、不図示のインタフェースを介してコントロールボード2190へ、印刷制御命令および印刷データを送ればよい。印刷制御命令および印刷データを受信したコントロールボード2190は、例えば色指定命令にRGBが指定されている場合、その内部の色処理部によりRGBデータをCMYKデータへ変換した後、プリントヘッド2120を駆動して印刷を行う。
本実施形態のプリンティングシステムにおいては、圧縮されたカラーの画像データ(以下、単に圧縮データと称する)は、その伸長処理によって、元のカラー画像データに復元されると同時に周波数成分データが抽出される。圧縮データは複数のデータブロック(通常は矩形の領域)に分割されているので、一枚の画像データに対して、ブロック領域毎に、例えばDC成分だけを抜き出して、その色についてのみ先行してカラーマッチング処理を行うことができる。そして、該カラーマッチング結果を後段処理で再利用するために、一時的に保持(キャッシング)することによって、全体としてのデータ処理速度の向上を可能とする。
図2は、本実施形態のプリンティングシステムにおける画像処理の概要を示す図である。同図において、例えば各色成分が8ビットの原画像データ311は、圧縮処理部310で圧縮される。圧縮処理部310において、入力された原画像データ311はまずDCT変換処理部312で各色成分プレーンごとに例えば8×8ピクセルのブロック単位で周波数データに変換される。ここで、原画像を示す関数をi(x,y)、これに対応するDCT関数をI(u,v)とすると、変換式が以下のように定義される。
I(u,v) = 2c(u)/N・2c(v)/N
・ΣΣi(x,y)・cos{(2x+1)uπ/2N}・cos{(2y+1)vπ/2N} ...(1)
ただし、0≦u,v≦N-1
u,v = 0 のとき、c(u) = c(v) = 1/√2
u,v = 1,2,...,N-1 のとき、c(u) = c(v) = 1
なお、(1)式における一つ目のΣ演算の範囲はx=0〜N、
二つ目のΣ演算の範囲はy=0〜N、である。
そして量子化処理部313により、上記変換データは周波数成分毎に量子化される。なお、この量子化には、ビット数のスケーリング等の処理が含まれる。そして、周波数データの直流成分であるDC係数はDC係数処理部314により前後ブロックとの差分が算出され、交流成分であるAC係数はAC係数処理部315によりエントロピ符号化され、これらのデータ群により圧縮データ319が構成される。
圧縮処理部310より得られた圧縮データ316は、一時的に不図示の記憶装置へ格納され、必要に応じて伸長され出力される。以下に、本実施形態における伸長処理について具体的に説明する。
伸長処理部320へ入力された圧縮データ316は、まず、逆AC係数処理部321によりエントロピ復号されて量子化AC係数が求められ、逆DC係数処理部322により前後のブロックから注目ブロックのDC係数が求められる。これら量子化データ群を、逆量子化処理部323により逆量子化(および逆スケーリング)する。この際に得られた領域毎の周波数成分を、画像周波数成分(DCT係数データ)341として不図示の記憶装置に格納するか、または一時的にメモリへ出力する。
画像周波数成分(DCT係数データ)341は、候補色選択部342において、該ブロックのDC成分を構成する色がキャッシング処理をすべき色か否かについて、判断される。具体的には、候補色選択部342において画像周波数成分341を調べ、低周波成分が予め設定された閾値より大きい場合にのみ、キャシュスレッドを起動するように構成している。ここでキャッシュスレッドとは、カラーマッチング処理を行うことであり、該カラーマッチング結果は後段処理で再利用可能となるように、一時的にグローバル領域(キャッシュテーブル)348へ保持される。
343は、キャッシュスレッドを起動するキャッシュスレッド起動部である。本実施形態では、最大で4つまでの色変換スレッド処理344〜347を起動できる。各スレッドへのエントリーは待ち行列キューを経由するため、4つの全スレッドが起動済みの場合は適宜キューに入り、いずれかの処理が空くまで待機する。上述したようにこれらスレッド処理としてカラーマッチング処理(例えば、sRGB→プリンタCMYK)が行わた結果は、グローバル領域348へ格納される。
ここで図3に、本実施形態において処理される画像データの構成例を示す。同図に示されるように本実施形態における画像データは、8×8ピクセルの矩形領域すなわちブロックで構成されている。本実施形態によれば、画像データのブロックごとに、その周波数成分(DCT係数データ)341を候補色選択部342において判定し、キャッシュ処理すべき色であれば、キャッシュスレッド起動部343でマルチキャッシュスレッドを起動する。
このように本実施形態によれば、複数ブロック(Block0〜n)で構成される1枚の画像データについて、マルチスレッドによるキャッシュ処理が行われるため、キャシュデータを高速に作成することが可能である。
図2の説明に戻り、上述した逆量子化処理部323により得られた周波数データ群は、続いて、逆DCT変換処理部324により空間領域へ写像される。この処理は各ブロック単位で独立して実行することができるために、複数のスレッドを起動して、同時並行で処理を進めるよう構成する。上述した一連の処理により、カラー画像データである伸長データ331が得られる。
このようにして得られた伸長データ331は、色変換処理部351により、デバイス色空間へ変換される。本実施形態ではこの色変換処理の際に、グローバル領域348に格納されたキャッシュデータを適宜参照しながらカラーマッチング処理を行うことにより、処理速度の向上が望める。
上述した色変換処理部351における色変換後には、解像度変換処理部361により、例えば印刷解像度に適合するように拡大(または縮小)処理が施され、出力画像データ371が得られる。
なお、本実施形態において画像ブロックは矩形に限定されない。例えば画像ブロックが略六角形で構成されていても、それぞれのブロックが不規則な大きさ・形状を有していても、隣接するブロック間にオーバラップがあってもよい。
また、色変換処理部351における色変換処理の方法については、画像の周波数成分に応じて高画質画像を形成することができるものであれば、特に限定されない。
さらに、符号化された画像データを伸長する伸長処理部320においては、必ずしも原画像の再生を伴う必要はなく、単に、符号化されたデータから必要な情報だけを取得する等、必要最小限の処理を行うように構成してもよい。例えば、画像データを再生せずに中間符号に復号してもよい。すなわち、本実施形態における伸長処理部320は、原画像の生成を部分的または一時的に行うものであっても良い。
以上説明したように本実施形態によれば、圧縮された画像データを伸長して出力する際に、キャッシュデータがマルチスレッドにより効率的に生成されるため、これを参照した色変換処理を行うことによって、カラーマッチング処理全体の処理時間が短縮される。
<第2実施形態>
以下、本発明に係る第2実施形態について説明する。第2実施形態では、ハイエンドなデジタルカメラで撮影された高解像度画像を印刷出力するプリンティングシステムにおける、カラーマッチングの高速化を実現する。
図4は、第2実施形態におけるプリンティングシステムの概略構成を示す図である。本システムでは、ホストPC100からプリンタコントローラ200へのデータ転送のコネクティビティ(伝送路)が細い場合、例えば、ホスト−プリンタ間の接続がリモートネットワーク等で接続され、高帯域な伝送路の確保が困難な場合を想定している。
図4に示すシステムにおけるカラーマッチング処理は、プリンタコントローラ200内部のCPUを用いたソフトウェア処理によって実現される。プリンタコントローラ200内部で利用されるCPUはシングルスレッドでしか動作しないが、データのロード時間を短縮して高速化処理を実現するためのキャッシュを搭載している。
図5は、第2実施形態のプリンタコントローラ200内のCPUに内蔵されているキャッシュの概略を示す図である。同図に示すCPU220は、その内部にキャッシュメモリとして高速なSRAM222を備えている。キャッシュに対する内部ラインの選択方法としては、フルアソシアティブ、ダイレクトマップ、4ウェイセットアソシアティブなどの方式等、高速化のための工夫が多数、提案されている。
また、外部メモリであるメインメモリ231はDDR等の大容量メモリであり、第2実施形態におけるカラー画像処理を実現するために、約80MB以上の領域が割り当てられる。
以下、第2実施形態におけるカラーマッチング処理の高速化について詳細に説明する。第2実施形態においては、CPU220でソフトウェアプログラム(以下、単にプログラムと称する)を実行することによってカラーマッチング処理を実現するが、この実行速度を向上させるために、以下の(1),(2)に示す制御を行うことを特徴とする。
(1)カラーマッチングに伴う補間演算にかかる処理時間を削減するために、該演算を予め行って演算結果をLUT(ルックアップテーブル)として、メインメモリ231に格納しておく。
このLUTは、sRGBとプリンタCMYK値をダイレクトに対応させたものであり、カラーマッチング処理がスタートする内部メモリであるDRAM224にロードされる。なお、該LUTが全ての演算結果を備えるためには、8ビットで表現可能な256色の3乗の個数の色x4色分、すなわち64MBの記憶領域が必要となる。LUTの容量が大きくて、DRAM224にLUT全体が格納できない場合には、LUTのうちカラーマッチング処理で使用する部分が適応的にロードされる。
(2)キャッシュが有効に利くように、画像をブロック化する。この際に有効なブロックサイズは、ホストPC側で先行して調査しておく。
上記(1),(2)に示す制御について、さらに詳細に説明する。
まず、(1)のLUTを用いた補間演算時間の削減について説明する。カラーマッチングに伴う補間演算を実行するような通常のプログラムについて、パフォーマンスアナライザ等で実行時間を解析すると、補間演算に必要な乗減算のオペレーションにかなりのクロック数を消費していることが分かる。これは、補間演算の計算式について、その処理順を切り換えても同様である。そこで第2実施形態においては、補間演算の基本的な計算式はそのままとし、予め作成したLUTを利用することによって処理時間の削減を図っている。
すなわち、ジョブが投入されてからカラーマッチングに伴う補間演算を開始するのではなく、入力色空間色における全ての色について、予め該補間演算を行っておいて、該演算結果をプリンタコントローラ200内のLUTファイル等に格納しておく。なお、このLUTファイルの作成は必ずしもプリンタコントローラ200にて行う必要はなく、作成されたLUTがプリンタコントローラ200内で高速アクセスを可能な場所に保持されるのであれば、例えばホストPC100側にて作成しても良い。ここで該LUTのサイズとしては、入力色空間色がRGB8ビットである場合は、全1667万色分で合計64MBとなる。
そして、カラーマッチング時に、該LUTファイルを内部メモリ(DRAM224)にロードし、投入されたジョブを処理すべく、該メモリへのアクセスを行って該LUTを利用することにより、カラーマッチング値を高速行なう。
第2実施形態では、上記(1)の補間演算LUTの利用に加えて、さらに(2)のキャッシュを有効に利かせること、すなわちキャッシュヒット率を向上させることにより、さらなる高速化を実現する。
以下、(2)のブロック化によるキャッシュヒット率の向上について説明する。第2実施形態では、以下に示すようにCMSにおけるループ単位を切り替えることによって、キャッシュのヒット率向上を実現する。
一般に、画像内における画素値の分布について、その特徴を捉えることは困難であると考えられている。しかしながら、画像内のブロックという局所領域については、その構成画素の類似性がある程度(確率的に)強く、それはキャッシュを有効活用して処理の高速化を実現させるに十分である。さらに、CMSのループ単位となるブロックサイズを適切に設定することにより、CPU内部におけるデータキャッシュのヒット率を向上させることができる。ここで、キャッシュヒット率を向上させるために最適なブロックサイズは画像によって異なるため、実際に有効なブロックサイズは、原画像ごとに検査する必要がある。
そこで第2実施形態では、図4のブロックサイズ検査部130において例えば、ブロック16×16,32×32,64×64,128×128、という4種類のブロックサイズについて、ホストPC100側でそれぞれの処理速度を検査する。もちろん、ここで検査対象となるブロックサイズはこの4種類に限定されるものではなく、例えば8×8を含めた5種類としても良い。そして、該検査により得られた最適なブロックサイズを、処理対象となる画像ファイルのタグ部に貼り付ける。図4の140に、タグとして最適ブロックサイズ情報1401が貼り付けられた画像ファイル例を示す。
ここで、図6に示すフローチャートを用いて、ブロックサイズ検査部130における検査手順について説明する。
ホストPC100においてカラーマッチングを実行するためのプログラムが起動されると、まずステップS310において、カラーマッチングの初期化処理として、上述した(1)に示したように作成されたLUTがメモリにロードされる。このLUTのサイズは上述したように、256色の3乗の個数の色x4色分である64MBであるから、このロードのためにメモリ領域(スタティック領域)を確保する必要がある。またこのとき、処理対象となる画像データについてもメモリにロードする。
そしてステップS320において、該メモリ領域が確保されてLUTおよび画像データのロードが成功すると、次にステップS330において、第2実施形態におけるブロックテスト処理(詳細は後述する)を実行する。このブロックテスト処理により、上述したように最適なブロックサイズが画像のタグ部に書き込まれる。その後、ステップS340で該ブロックサイズに基づくCMM初期化処理を行い、高速なカラーマッチング処理に備える。
以下、ステップS330におけるブロックテスト処理について詳細に説明する。まずステップS331でにおいて、処理対象画像データが既にブロックテスト済みであるか否かを判断し、ブロックテスト未実施の場合はステップS332のブロックテスト初期化処理に進み、テスト済みであればそのまま処理を終了する。
ステップS332のブロックテスト初期化処理においては、検査するブロックの種類、およびそれぞれのブロックサイズを決定しておく。ここでは4種類のブロック検査を行うため、それぞれをA,B,C,Dに分類して該当するブロックサイズをセットする。この場合すなわち、A=16×16、B=32×32、C=64×64、D=128×128としてセットされる。
そして、それぞれのブロックサイズによるテストを順次行う。まず、ステップS333でブロックテストAとして、ブロックサイズを16×16に設定した状態でカラーマッチング処理を行い、処理にかかった時間を計測して記録する。その後に順次、ステップS334でブロックテストB、ステップS335でブロックテストC、ステップS336でブロックテストDを行う。全てのブロックテストを行った後、ステップS337でテスト結果を集計し、最も高速な処理を可能とするブロックサイズを決定して、該ブロックサイズを画像のタグ部に書き込む。
なお、図6に示したブロックサイズ検査処理は、イメージ画像を扱うアプリケーションソフトウェアとして実行しても良いし、デジタルカメラ等における内部処理として実行されても良い。いずれにせよ、上述したようなブロックテストの結果が、予め画像データにタグ情報としてに埋め込まれるように構成すれば良い。
以上のようにブロックテスト結果がタグ情報として付加されたJPEG等の画像データがプリンタコントローラ200に入力されると、レンダリング部にて画像が展開される。このとき、JPEGが展開された後にCMS処理が行われるが、該CMS処理の際に上述したブロックサイズの情報に基づいて、ループの方法、すなわち処理単位ブロックのサイズが切り替えられる。
ここで、第2実施形態によるCMS処理の高速化についての具体例を示す。4992×3328画素からなる画像(約48MB)について、図12で示した従来のカラープリンティングシステムにおけるCMS処理と、図4で示した第2実施形態のプリンティングシステムにおけるCMS処理との処理時間を比較する。その結果、第2実施形態によれば、まず上記(1)に示した画像データのLUTを用いたメモリ展開を行うことによって、約8倍(6.56秒→0.825秒)の高速化が達成された。そしてさらに、上記(2)に示したブロックサイズ制御を行うことによって、さらに約1.25倍(0.825秒→0.660秒)の高速化が達成された。すなわち、CMS処理において上記(1),(2)の制御を行うことによって、全体としての処理時間は6.56秒→0.660秒に短縮され、約10倍の高速処理が達成されたことになる。
以上説明したように第2実施形態によれば、上記(1)のLUT処理、および(2)のブロックサイズ制御を行うことによって、CMS処理の飛躍的な高速化が実現される。したがって、例えば業務用の高速印刷にも対応することが可能となる。
なお、上記(1),(2)の処理はそれぞれ単体で実行してもそれなりの高速化が実現されるが、両方を併せて実行することによる相乗的な効果の方が大きい。
また、上述した第1実施形態を、第2実施形態に組み合わせることももちろん可能である。すなわち、第2実施形態における処理対象が圧縮画像データであった場合に、使用するキャッシュデータを第1実施形態で説明したように、周波数成分に応じてマルチスレッドで作成することによって、さらなる処理速度の向上が望める。
また、第2実施形態においてはCMS処理をプリンタコントローラ200側にて行う例を示したが、これをホストPC100側にて実行することも可能であり、同様に処理速度が向上する。
<第3実施形態>
以下、本発明に係る第3実施形態について説明する。
上述した第2実施形態のプリンティングシステムにおいては、ホストPC100からプリンタコントローラ200へのデータ転送のコネクティビティが細い場合が想定されていたが、第3実施形態では、このコネクティビティが十分に太い場合を想定する。
図7は、第3実施形態におけるプリンティングシステムの概略構成を示す図である。図7においては、太いコネクティビティの利点を活かして、ホストPC100側において全てのカラーマッチング処理を行い、さらにホストPC100とプリンタコントローラ200とで、レンダリング処理を分散して行う構成例を示している。図7に示すホストPC100は、高速かつ並列に複数のスレッドを同時実行可能なマルチコアを有するCPUと、大容量のメインメモリ(DDR,XDR等)を搭載している。なお、このCPUがキャッシュも具備していることはもちろんである。
図7においてはすなわち410に示すように、処理対象となる印刷ジョブデータ内のオブジェクトとして、以下の3つが例示されている。
・フラットフィルを表すコマンド(C1)、およびその色値(rgb1)
・透過オブジェクトを表すコマンド(C2)、およびその色値(rgb2)
・イメージ画像を表すコマンド(C3)、およびその色値(rgb3)
そして、このジョブデータは420に示すように、ホストPC100側においてC1,C2,C3の全てに対するCMS処理を行い、C2,C3についてはレンダリングまで行う。ホストPC100でこのように処理されたジョブデータは、広帯域のコネクティビティによってプリンタコントローラ200へ伝送され、そこで430に示すようにC1のみについてレンダリングが行われる。
以下、第3実施形態におけるカラーマッチング処理の高速化について詳細に説明する。第3実施形態においてはホストPC100内のCPUでプログラムを実行することによってカラーマッチング処理を実現するが、この実行速度を向上させるために、第2実施形態と同様の制御を行う。すなわち、ホストPC100内のCPUで(1)補間演算結果のLUT化、および(2)ブロックサイズ制御を行うが、これらの処理については第2実施形態で説明済みであるため、ここでは省略する。そして第3実施形態ではホストPC100内のCPUにおいてさらに、以下の(3)に示す制御を行うことを特徴とする。
(3)複数スレッドを立ち上げて処理を並列化する。
以下、(3)の制御についてさらに詳細に説明する。
上述したように、本システムを構成するホストPC100はマルチスレッド処理を実行可能とし、2つのCPUコアが使用でき、スレッドとしては4つを同時に処理することができる。なお、1コアでの2スレッド処理は疑似並行処理である。
一般に、2つのコアを使って4つのスレッドを実行する場合は、内部キャッシュメモリやバスの利用時間等の重なりから、必ずしも処理が高速になるとは限らない。いくつの処理を走らせると高速処理が得られるかは、実際に実行させてみないと分からない。
また、1つのCPUを搭載しているようにみえるホストPCにおいても、実際には、1チップ内に2つのコアが存在している場合もある。この場合、ソフトウェア側からみると、いずれも4つのCPUが搭載されているように見えることもあり、CPUで完全、並列実行を可能とするスレッドがいくつあるかは分からない。
そこで第3実施形態では、ホストPC100側にて実際に複数のスレッドを立ち上げてカラーマッチング処理を動作させてみて、スレッド数がいくつの時に最も高速に処理が完了するかを予備的に検査することを特徴とする。
図8のフローチャートを用いて、第3実施形態におけるスレッドテストについて詳細に説明する。まずステップS510においてシステムの設定ファイルをロードする。次にステップS520において、システムとして既にスレッドテストが完了しているか否かを判断し、完了していない場合はステップS530のスレッドテスト初期化処理に進み、完了していればそのまま処理を終了する。
ステップS530のスレッドテスト初期化処理が終了すると、次にステップS540において、テストすべきスレッド数の候補を選択してスレッドテストを順次開始する(S551,S552,S553,S554)。ここではスレッド数として、1スレッド、2スレッド、4スレッド、8スレッドの4種類を選択するとする。
ここで、スレッドテストの対象画像としては、所定のテスト画像に対し、上述した第2実施形態で説明したようなブロックテストを行った画像を用いることが好適である。すなわち、画像データに付与されたタグ情報から読み込んだ最適ブロックサイズの単位により、各スレッドテスト処理を並列実行する。
ステップS560では、ステップS551〜S554の処理結果に基づき、最も高速処理を実現したスレッド数をホストPC100における最適なスレッド数として決定する。そしてステップS570において、該最適スレッド数をホストPC100内のシステム設定ファイルに書き出ことによって、スレッドテスト処理を終了する。なお、ステップS551〜S554として並列実行されるスレッドテストは、ホストPC100に設けられた不図示のスレッド監視制御部によって制御される。
以下、図9のフローチャートを用いて、第3実施形態におけるカラーマッチング処理について、詳細に説明する。
ホストPC100においてカラーマッチングを実行するためのプログラムが起動されると、まずステップS610において、カラーマッチングの初期化処理として、上述した第2実施形態で(1)に示したように作成されたLUTがメモリにロードされる。このLUTのサイズは上述したように、256色の3乗の個数の色x4色分である64MBであるから、このロードのためにメモリ領域(スタティック領域)を確保する必要がある。
該メモリ領域が確保され、LUTのロードが終了すると、次にステップS630において、第2実施形態で(2)に示したブロックサイズテストを実行する。なお、上記(1),(2)の処理は、第2実施形態ではプリンタコントローラ200側にて行うとして説明したが、第3実施形態ではホストPC100側にて行うとする。
その後、ステップS640において、上述した(3)に示すスレッドテストを実行する。このステップS630,S640の処理により、最適なスレッド値およびブロックサイズが確定する。
そしてステップS650においてカラーマッチング処理を行うが、このカラーマッチング処理では、ステップS640で確定されたスレッド数に応じた分散処理を実行する。また、それぞれのスレッドで画像処理(カラーマッチング処理)を行う際に、その最小処理単位として、ステップS630で確定されたブロックサイズが採用される。
以上説明したように第3実施形態によれば、マルチスレッド処理を可能とするホストPC100において、CMS処理に最適なスレッド数を予め検査しておく。そして、ホストPC100側においてCMS処理を行う際に、上述した第2実施形態と同様の(1)LUT処理、および(2)ブロックサイズ制御に加えて、(3)マルチスレッド処理を行うことによって、より高速なCMS処理が実現される。
なお、上述した第1実施形態で示した圧縮画像データに対するカラーマッチング処理を、第3実施形態の最適スレッド数によって実行することも効果的である。
<変形例>
上述した各実施形態においては、CMSの処理単位である画像ブロックを正方形として構成する例を示したが、必ずしもそれが最適であるとは限らず、画像に応じて、ブロック形状が非常に複雑になる可能性もある。また、8×8,16×16,32×32,64×64等、4種類の構成を組み合わせるように構成してもよい。
例えば、図10の左部に示すように、DCTの情報に基づいて、画像のグループを構成するようにしてもよい。同図によれば、ブロックが2領域に分割されていることが分かる。これにより、CPUのデータキャッシュがより有効にアクセスされ、更なる処理速度の向上が期待できる。
また、図10の右部は、一つのイメージ画像を2つのスレッドで処理する場合に、類似のカラー値をもつようにブロックをグループ化した例である。同図は、図10の左部に示すDCT情報による分類について、2スレッドによる処理を行うことを示している。このように類似色を集めてグループ化することによって、キャッシュヒット率が高くなり、より高速な処理が期待できる。
<他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、印刷装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したプログラムである。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などである。
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
本発明に係る一実施形態における画像形成部の概略構成を示す図である。 本実施形態における画像処理システムの概略構成を示す図である。 本実施形態において処理される画像データ例を示す図である。 第2実施形態におけるプリンティングシステムの概略構成を示す図である。 第2実施形態におけるプリンタコントローラ内のCPUに内蔵されているキャッシュ概略を示す図である。 第2実施形態におけるブロックテストを示すフローチャートである。 第3実施形態におけるカラープリンティングシステムの概略構成例を示す図である。 第3実施形態におけるスレッドテストを示すフローチャートである。 第3実施形態におけるカラーマッチング処理を示すフローチャートである。 本発明の変形例を説明するための図である。 画像圧縮技術を利用した一般的な画像処理システムの概略構成例を示す図である。 一般的なカラープリンティングシステムの概略構成例を示す図である。

Claims (18)

  1. 圧縮された画像データを伸長する伸長ステップと、
    前記画像データの処理単位ブロック毎の周波数成分に基づいて色変換用のキャッシュデータを生成するキャッシュ生成ステップと、
    前記伸長された画像データに対して、前記キャッシュデータに基づく色変換処理を行う色変換ステップと、
    を有することを特徴とする画像処理方法。
  2. 前記キャッシュ生成ステップにおいては、前記キャッシュデータをマルチスレッドにより生成することを特徴とする請求項1記載の画像処理方法。
  3. 前記キャッシュ生成ステップは、前記伸長ステップの実行中に実行されることを特徴とする請求項1または2記載の画像処理方法。
  4. 前記キャッシュ生成ステップにおいては、前記ブロック毎のDC成分に基づいて前記キャッシュデータを生成することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理方法。
  5. 前記キャッシュ生成ステップにおいては、前記DC成分が予め定められた値よりも大きいブロックについて、前記キャッシュデータを生成することを特徴とする請求項4記載の画像処理方法。
  6. 前記キャッシュ生成ステップにおいては、前記キャッシュデータをグローバル領域に格納することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理方法。
  7. 画像データに対する色変換処理を行う画像処理方法であって、
    前記画像データに対して、複数のブロックサイズによる色変換処理を試験的に実行する試験ステップと、
    前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したブロックサイズを特定するブロックサイズ特定ステップと、
    該ブロックサイズを示すサイズ情報を、前記画像データに付与するサイズ情報付与ステップと、を有し、
    前記画像データに対する色変換処理を、前記サイズ情報で示されるブロックサイズにて行うことを特徴とする画像処理方法。
  8. 前記サイズ情報付与ステップにおいては、前記サイズ情報を前記画像データのタグ部に付与することを特徴とする請求項7記載の画像処理方法。
  9. 色変換処理の対象色について色変換用の補間演算を実行する補間演算ステップと、
    前記補間演算ステップにおける演算結果をファイルに格納しておく結果保持ステップと、をさらに有し、
    前記画像データに対する色変換処理を、前記ファイルに基づいて行うことを特徴とする請求項7または請求項8に記載の画像処理方法。
  10. 前記ファイルはルックアップテーブルであることを特徴とする請求項9記載の画像処理方法。
  11. 前記ルックアップテーブルは、色変換処理を実行するプログラムが起動される際に、該プログラムを実行するCPUによる高速アクセスを可能とする内部メモリにロードされることを特徴とする請求項10記載の画像処理方法。
  12. 複数スレッドによる並列処理を可能とするホストコンピュータにおいて画像データに対する色変換処理を行う画像処理方法であって、
    スレッド数を可変として前記色変換処理を試験的に実行する試験ステップと、
    前記試験ステップにおける試験結果に基づき、色変換処理を最短時間で実行したスレッド数を特定するスレッド数特定ステップと、
    該スレッド数を示すスレッド数情報を、前記ホストコンピュータ内のシステムファイルに保持するスレッド数情報保持ステップと、を有し、
    前記画像データに対する色変換処理を、前記スレッド数情報で示されるスレッド数による並列処理として行うことを特徴とする画像処理方法。
  13. 圧縮された画像データを伸長する伸長手段と、
    前記画像データの処理単位ブロック毎の周波数成分に基づいて色変換用のキャッシュデータを生成するキャッシュ生成手段と、
    前記伸長された画像データに対して、前記キャッシュデータに基づく色変換処理を行う色変換手段と、
    を有することを特徴とした画像処理装置。
  14. 画像データに対して、複数のブロックサイズによる色変換処理を試験的に実行する試験手段と、
    前記試験手段による試験結果に基づき、最短時間で色変換処理を実行したブロックサイズを特定するブロックサイズ特定手段と、
    該ブロックサイズを示すサイズ情報を、前記画像データに付与するサイズ情報付与手段と、
    前記画像データに対して、前記サイズ情報で示されるブロックサイズによる色変換処理を行う色変換手段と、
    を有することを特徴とする画像処理装置。
  15. さらに、
    色変換対象となる全ての色について色変換用の補間演算を実行する補間演算手段と、
    前記補間演算手段による演算結果をファイルに格納しておく結果保持手段と、を有し、
    前記色変換手段は、前記画像データに対して前記ファイルに基づく色変換処理を行うことを特徴とする請求項14記載の画像処理装置。
  16. 複数スレッドによる並列処理を可能とするホストコンピュータにおいて画像データに対する色変換処理を行う画像処理システムであって、
    スレッド数を可変として前記色変換処理を試験的に実行する試験手段と、
    前記試験ステップにおける試験結果として、色変換処理を最短時間で実行可能なスレッド数を特定するスレッド数特定手段と、
    該スレッド数を示すスレッド数情報を、前記ホストコンピュータ内のシステムファイルに保持するスレッド数情報保持手段と、を有し、
    前記画像データに対する色変換処理を、前記スレッド数情報で示されるスレッド数による並列処理として、請求項1乃至12のいずれか1項に記載の画像処理方法によって行うことを特徴とする画像処理システム。
  17. コンピュータ上で実行されることによって、該コンピュータに請求項1乃至12のいずれか1項に記載の画像処理方法を実行させることを特徴とするプログラム。
  18. 請求項17記載のプログラムを記録したことを特徴とする記録媒体。
JP2006325924A 2006-12-01 2006-12-01 画像処理装置、画像処理方法およびプログラム Expired - Fee Related JP5110861B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006325924A JP5110861B2 (ja) 2006-12-01 2006-12-01 画像処理装置、画像処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006325924A JP5110861B2 (ja) 2006-12-01 2006-12-01 画像処理装置、画像処理方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2008141502A true JP2008141502A (ja) 2008-06-19
JP2008141502A5 JP2008141502A5 (ja) 2010-01-21
JP5110861B2 JP5110861B2 (ja) 2012-12-26

Family

ID=39602504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006325924A Expired - Fee Related JP5110861B2 (ja) 2006-12-01 2006-12-01 画像処理装置、画像処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5110861B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009371A1 (ja) * 2022-07-04 2024-01-11 日本電信電話株式会社 データ処理装置、データ処理方法、及びデータ処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000141771A (ja) * 1998-11-09 2000-05-23 Nec Corp 印刷装置のマルチスレッド制御方法およびその制御システム
JP2004254033A (ja) * 2003-02-19 2004-09-09 Canon Inc 画像処理装置およびその方法
JP2005053009A (ja) * 2003-08-07 2005-03-03 Canon Inc 印刷装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000141771A (ja) * 1998-11-09 2000-05-23 Nec Corp 印刷装置のマルチスレッド制御方法およびその制御システム
JP2004254033A (ja) * 2003-02-19 2004-09-09 Canon Inc 画像処理装置およびその方法
JP2005053009A (ja) * 2003-08-07 2005-03-03 Canon Inc 印刷装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009371A1 (ja) * 2022-07-04 2024-01-11 日本電信電話株式会社 データ処理装置、データ処理方法、及びデータ処理プログラム

Also Published As

Publication number Publication date
JP5110861B2 (ja) 2012-12-26

Similar Documents

Publication Publication Date Title
RU2762005C2 (ru) Способ и устройство для того, чтобы кодировать и декодировать двумерные облака точек
JP5558767B2 (ja) 画像処理装置及びその処理方法
JP2008017441A (ja) データ処理装置とデータ処理方法とプログラム
JP5439510B2 (ja) 画像形成装置及び画像形成プログラム
JP4975115B2 (ja) 画像処理装置
JP2011139164A (ja) 画像処理装置及びその処理方法
US8515188B2 (en) Image processing apparatus
JP2006325186A (ja) 画像処理装置
JP5110861B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2004282382A (ja) ネットワーク端末装置
JP2012218317A (ja) 画像形成装置及び画像形成方法
JP2003084933A (ja) 画像処理装置およびプログラム
JP4136825B2 (ja) 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP5441676B2 (ja) 画像処理装置及びその処理方法
JP5267147B2 (ja) 画像処理装置、画像処理方法、及び、コンピュータプログラム
JP5480835B2 (ja) 印刷装置における印刷方法、印刷エンジンを有する印刷装置
JP2006101014A (ja) 画像処理装置およびこれを備えるプリンタ、画像処理方法
JP2003242501A (ja) 画像処理装置及びその方法、画像形成装置、並びにコンピュータが読出し可能なプログラム
JP2001169120A (ja) 画像処理装置及びその方法、及び画像処理システム
JP2008060730A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP4047144B2 (ja) 画像処理装置及び方法
JP5197863B2 (ja) 画像処理装置
JP2008072654A (ja) 画像蓄積方法、画像蓄積プログラム、コンピュータ読み取り可能な記録媒体、画像蓄積装置及び画像蓄積システム
JP2005063445A (ja) ラスタ画像処理
JP2005130244A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120406

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

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

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5110861

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees