JP5641825B2 - 装置およびその制御方法、並びにプログラム - Google Patents

装置およびその制御方法、並びにプログラム Download PDF

Info

Publication number
JP5641825B2
JP5641825B2 JP2010189986A JP2010189986A JP5641825B2 JP 5641825 B2 JP5641825 B2 JP 5641825B2 JP 2010189986 A JP2010189986 A JP 2010189986A JP 2010189986 A JP2010189986 A JP 2010189986A JP 5641825 B2 JP5641825 B2 JP 5641825B2
Authority
JP
Japan
Prior art keywords
group
drawing objects
pdl
objects included
division
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
JP2010189986A
Other languages
English (en)
Other versions
JP2012048500A (ja
JP2012048500A5 (ja
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.)
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 JP2010189986A priority Critical patent/JP5641825B2/ja
Priority to US13/182,314 priority patent/US20120050773A1/en
Publication of JP2012048500A publication Critical patent/JP2012048500A/ja
Priority to US14/049,131 priority patent/US9098225B2/en
Publication of JP2012048500A5 publication Critical patent/JP2012048500A5/ja
Application granted granted Critical
Publication of JP5641825B2 publication Critical patent/JP5641825B2/ja
Priority to US14/801,660 priority patent/US9411548B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1814Receiving print data characterized by its formatting, e.g. particular page description languages including print-ready data, i.e. data already matched to the printing process

Description

本発明は、装置およびその制御方法、並びにプログラムに関するものである。
従来、ページ記述言語(PDL)データの印刷処理は、ホストPCのプリンタドライバで生成されたPDLデータが印刷処理装置に転送されて行われる。具体的には、印刷処理装置内のコントローラがディスプレイリスト(DL)を生成し、ハードウェア又はソフトウェアのレンダラーによってビットマップへの展開が行われる。
また、展開の際に、アプリケーションから出力された描画コマンドが複雑で、印刷処理に時間がかかるページに関しては、PDLをバンド単位に分割し並列してDL生成、又はバンド単位に分割したDLを並列してレンダリングする技術が提案されている。例えば、特許文献1、特許文献2を参照。このように、バンド単位に分割したPDL/DLデータを並列に処理することにより、処理に時間がかかるページの高速化を行っている。
また、近年では、サーバ側で各種処理を行う形態として、クラウドコンピューティングシステムやSaaS(Software as a Service)という技術が利用され始めている。
特開2000−141811号公報 特開2009−245436号公報
しかしながら、上記従来の技術では、PDLやDLをバンド単位で分割し並列処理しているため、ページ内の描画命令に偏りがある場合、各バンドの処理時間が平均化されないという課題がある。そのため、結局は一番描画命令が多く含まれるバンドが処理し終わらないと1ページが生成されない。
更に、上記従来の技術では、ページ内のPDLやDLを分割する際に、用紙を出力するデバイスのエンジンスピードを加味していなかったため、分割を行ったとしても必ずしもデバイスの能力をフルに発揮することができなかった。
本発明は、並列処理を行う上で最適な分割方法により、デバイスのエンジンスピードを考慮した分割を行える方法及びシステムを提供することを目的とする。
本発明は、装置であって、シングル頁に含まれる複数の描画オブジェクトを、各描画オブジェクトのレイヤーに基づいて複数のグループに分割する分割手段と、前記分割手段での分割により得られた各グループ夫々異なるプロセッサーに提供する提供手段とを有し、前記複数のグループには、第1のグループと、第2のグループが含まれ、前記第1のグループに含まれる複数の描画オブジェクトの複数のレイヤーは、前記第2のグループに含まれる複数の描画オブジェクトの複数のレイヤーの何れのレイヤーよりも背景に近く、前記提供手段は、前記第1のグループに含まれる複数の描画オブジェクトを、前記第2のグループに含まれる複数の描画オブジェクトよりも早く、対応するプロセッサーに提供することを特徴とする。
本発明によれば、分割による描画命令数の偏りを最小限にし、最適な並列処理を行うと共に、出力デバイスの能力を加味してデータの分割を行う。その結果、描画命令数が多く、従来出力デバイスの能力を発揮できなかったデータに関しても能力をフルに発揮させることが可能になる。
印刷システムを構成している複数の装置を示す図。 (a)は画像形成装置の内部構成を示すブロック図、(b)は情報処理装置の内部構成例を示すブロック図。 印刷システムの各装置が持つ機能を示す図。 (a)は従来のPDL分割(バンド分割)を示す図、(b)は本実施形態のPDL分割(レイヤー分割)を示す図。 印刷システムの全体処理シーケンスを示す図。 全体処理フローを示す図。 PDL分割サーバ内の処理フローを示す図。 PDL分割サーバ内のPDL分割の詳細フローを示す図。 バーチャルプロセッサ群内の処理フローを示す図。 出力デバイスでの処理フローを示す図。 PDL分割の重み付けを説明するための図。 レイヤー分割の際の処理速度見積もりを説明するための図。 (a)はバーチャルプロセッサが一定時間経過してもDLを生成しない場合の処理、(b)は課金体系に応じたバーチャルプロセッサ数を決定する処理を示すフローチャート。
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
<印刷システムの構成>
まず、印刷システムを構成している複数の装置を、図1を用いて説明する。図1に示すように、印刷システムを構成している各装置がネットワーク100を介して接続されている。
ここで、各装置とは、バーチャルプロセッサ群102、PDL分割サーバ103、出力デバイスとしての画像形成装置104、クライアントコンピュータ(クライアントPC)105である。また、ネットワーク100は各装置間で情報を授受するための通信回線である。インターネット101は、ファイアウォールを越えて各装置間で情報を授受するための通信回線である。このインターネット101により、バーチャルプロセッサ群102及びPDL分割サーバ103が属するネットワーク100と、画像形成装置104及びクライアントPC105が属するネットワーク100とは、ファイアウォールを越えて通信が可能である。
ネットワーク100、インターネット101は、例えば、TCP/IPプロトコルなどをサポートする通信回線網であり、有線又は無線は問わない。また、図1ではバーチャルプロセッサ群102はプロセッサ群として示されているが、複数のプロセッサがサーバとして構成され、PDL分割サーバ103に含まれる構成でも良い。
次に、図1に示す印刷システムを構成している各装置の内部構成を詳細に説明する。始めに、画像形成装置104の内部構成を図2の(a)に示すブロック図を用いて説明する。
画像形成装置104は、画像処理ユニット1041及び印刷ユニット1042の2つのユニットで構成される。ここで、画像処理ユニット1041は、内部にCPU1043、直接記憶部1044、間接記憶部1045、RIP1046、ユーザーインターフェース1047、外部インターフェース1048を含む。尚、RIPはRaster Image Processorの略である。
CPU1043は、所定のプログラムを実行し、画像形成装置104の各種制御を指示するユニットである。直接記憶部1044は、CPU1043が各種プログラムを実行する際に使用されるワークメモリであり、CPU1043が実行するプログラムは直接記憶部1044にロードされる。また、直接記憶部1044は、RAMにより実現される。
間接記憶部1045には、アプリケーションプログラムやプラットフォームプログラムを含む各種プログラムが記憶されている。間接記憶部1045に記憶されている各種プログラムは、CPU1043がプログラムを実行する際に直接記憶部1044へ移動される。間接記憶部1045は、SSD(Solid State Drive)、HDD(Hard Disc Drive)により実現される。尚、CPU1043はマルチプロセッサでも良い。
ここで、プラットフォームについて詳細に説明する。プラットフォームの実現により、ユーザが独自に開発した新しいアプリケーションを画像形成装置104上で実行できる他、画像形成装置104をカスタマイズすることが可能になる。
次に、プラットフォームの実現方法について説明する。CPU1043は、間接記憶部1045に記憶されたプラットフォームプログラムを直接記憶部1044に移動させる。そして、移動が完了すると、CPU1043は、プラットフォームプログラムを実行することができる状態になる。
ここでは、CPU1043がプラットフォームプログラムを実行することを「プラットフォームが起動する」と称す。尚、プラットフォームは、画像形成装置104のファームウェア上で動作することになる。また、プラットフォームプログラムはアプリケーションプログラムを実行するための環境を提供するものである。
次に、プラットフォーム上でアプリケーションプログラムを実行する方法を詳細に説明する。プラットフォーム上には、印刷要求を受け付ける印刷ソフトウェアが動作している。この印刷ソフトウェアは、クライアントPC105から受信した印刷データをRIP1046に送信し、印刷データ(DL)の描画処理を開始させる。そして、例えばHTTP(Hyper Text Transfer Protocol)と言った通信プロトコルによりネットワーク100、インターネット101を介して接続されているデバイスへ印刷データ(DL)を送信する。このように、プラットフォームでアプリケーションプログラムを実行することにより、画像形成装置104の制御を実現することができる。
次に、アプリケーションプログラムの実行方法を説明する。起動したプラットフォームは、間接記憶部1045に記憶されたアプリケーションプログラムを直接記憶部1044に移動させる。この移動が完了すると、プラットフォームはアプリケーションプログラムを実行することができる状態になる。そして、プラットフォームはアプリケーションプログラムを実行する。このように、アプリケーションプログラムを実行することで提供できるプラットフォームの機能を、本実施形態では「プラットフォームアプリケーション」と呼ぶ。更に、プラットフォームは、本実施形態で開示するフローチャートの各処理の一部を行うことが可能である。
RIP1046は後述するPDL(ページ記述言語)を入力とし、ビットマップを生成するユニットである。このRIPは、ハードウエア、若しくはソフトウエアで構成されている。ユーザーインターフェース1047は、ユーザからの処理依頼を受け付けるために必要なユニットである。例えば、キーボード、マウス等を通してユーザが入力した指示に応じた信号を受け付ける。外部インターフェース1048は、外部装置からのデータの受信や外部装置へのデータの送信が可能となっている。例えば、外部装置としては、外付けHDDや外付けUSBメモリ等の外付け記憶装置、ネットワークを介して接続された別体のホストコンピュータや画像形成装置等の別体装置が含まれる。尚、画像形成装置104は、ネットワーク100、及びインターネット101を介してクライアントPC105、バーチャルプロセッサ群102等と通信可能である。
ここで、バーチャルプロセッサ群102、PDL分割サーバ103、クライアントPC105として機能する情報処理装置の内部構成を図2の(b)を用いて説明する。図2の(b)は、情報処理装置106の内部構成例を示すブロック図である。図示するように、情報処理装置106は、ユーザーインターフェース1061、CPU1062、直接記憶部1063、間接記憶部1064、外部インターフェース1065を含む。
ユーザーインターフェース1061は、ユーザからの処理依頼を受け付けるために必要なユニットである。例えば、キーボード、マウス等を通してユーザが入力した指示に応じた信号を受け付ける。CPU1062は、所定のプログラムを実行し、情報処理装置106の各種制御を指示するユニットである。直接記憶部1063は、CPU1062がプログラムを実行する際に使用されるワークメモリであり、CPU1062が実行するプログラムは直接記憶部1063にロードされる。直接記憶部1063は、RAMで構成されている。
間接記憶部1064には、アプリケーションプログラムやOS(オペレーティングシステム)を含む各種プログラムが記憶されている。間接記憶部1064に記憶されている各種プログラムは、CPU1062がプログラムを実行する際に直接記憶部1063へ移動される。間接記憶部1064は、ROM、HDDで構成されている。外部インターフェース1065は、ネットワーク100に接続されており、ネットワーク100に接続されている他の装置と通信が可能となる。
<印刷システムにおける各装置の機能>
次に、本実施形態における印刷システムの各装置が持つ機能を、図3を用いて詳細に説明する。図3は、印刷システムの各装置の機能ブロック図である。始めに、バーチャルプロセッサ群102の機能を説明する。このバーチャルプロセッサ群102には、要求受信部4011、バックエンド処理部4021、キューサービス405、ストレージ406の各機能がある。
要求受信部4011は、クライアントPC105又は画像形成装置104から送られてきた処理依頼を受け付ける機能を有する。バックエンド処理部4021は、処理プログラムを用いて処理依頼に対する処理を行う機能を有する。具体的には、バックエンド処理部4021は、バックエンド処理部4021を実行しているプロセッサのメモリに処理プログラムをロードして処理を行う。要求受信部4011、及びバックエンド処理部4021は、図2の(b)の間接記憶部1064に保存されている要求受信プログラム、やバックエンド処理プログラムが直接記憶部1063にロードされて、CPU1062により実行されることで実現される。
キューサービス405は、要求受信部4011とバックエンド処理部4021とが非同期でデータ通信するための機能を有する。ストレージ406は、バックエンド処理部4021により処理された実行結果であるデータを始めとする各種データを保存しておく機能を有する。ストレージ406は、図2の(b)の間接記憶部1064によって実現される。また、バーチャルプロセッサ群102はWindows(登録商標) AzureにおけるWorker Roleとして動作することを想定している。以上がバーチャルプロセッサ群102の機能の説明になるが、更に詳細な説明は後述する。
次に、PDL分割サーバ103の機能を説明する。PDL分割サーバ103は、PDL分割機能301を有する。このPDL分割機能301は、図2の(b)のCPU1062、直接記憶部1063、間接記憶部1064によって実現される。
ここで、PDLとは、ユーザが後述するクライアントPC105上のプリンタドライバ304で作成したデータである。PDL分割サーバ103は、Windows(登録商標) AzureにおけるWeb Roleとして動作することを想定している。
次に、画像形成装置104の機能を詳細に説明する。画像形成装置104には、RIP302及びプラットフォームアプリケーション303の機能を有する。プラットフォームアプリケーション303は、ネットワーク100を介して接続されているバーチャルプロセッサ群102に保存されているデータを取得することができる機能を有する。プラットフォームアプリケーション303は、図2の(a)の直接記憶部1044に保存されているプラットフォームアプリケーションプログラムが、間接記憶部1045にロードされ、CPU1043により実行されることで実現される。
RIP302は、印刷データ(DL)を解釈し、ビットマップへ変換するレンダリングサービスを提供する機能を有する。また、このサービスは、要求受信部4011に対して印刷データの生成が終了したか否かの確認を行う。その際に、このサービスはPDL分割サーバ103が作成したIDを基に生成確認を行う。
最後に、クライアントPC105の機能を詳細に説明する。クライアントPC105には、プリンタドライバ304がインストールされている。このプリンタドライバ304は、ネットワーク100を介して接続されている出力デバイス(画像形成装置104)内に保存されている情報を元にアプリケーションデータからPDLを生成する機能を有する。図2の(b)の間接記憶部1064に保存されているプリンタドライバソフトウェアが、直接記憶部1063にロードされ、CPU1062により実行されることで実現される。以上が、本実施形態の印刷システムにおける各装置が有する機能の説明である。
<従来のページ分割と本実施形態のページ分割>
次に、従来のPDL分割機能と本実施形態の印刷システムにおけるPDL分割機能との差異を、図4を参照して詳細に説明する。図4の(a)は従来のPDL分割(バンド分割)の場合を示し、PDLデータ(ページ記述言語データ)に含まれる描画命令からページ全体に背面に近い方から順に三角形、円形、四角形が重なりあうように描画する。ここで、ページを上、中、下の3つのバンドに分割し、3つのバーチャルプロセッサで並列処理する。
その結果、各分割PDLに含まれる描画命令は、第1の分割PDLには三角形と円形の上の部分が含まれる。第2の分割PDLには三角形の中の部分と円形の下の部分と四角形全体が重なり合うように含まれ、第3の分割PDLには三角形の下の部分が含まれる。
そして、ぞれぞれの描画処理の負荷を描画命令から算出すると、1つめの分割PDLの処理負荷は小となり、2つめの分割PDLの処理負荷は大となり、3つめの分割PDLの処理負荷は小となる。
一方、図4の(b)は本実施形態のPDL分割(レイヤー分割)の場合を示し、PDLデータに含まれる描画命令から、ページ全体に背面に近い方から順に三角形、円形、四角形が重なりあうように描画する。このページを最背面のレイヤーに含まれる三角形、中間のレイヤーに含まれる円形、最上面のレイヤーに含まれる四角形のように3つのレイヤーに分割し、3つのバーチャルプロセッサで並列処理する。
その結果。各分割PDLに含まれる描画命令は、1つめの分割PDLには三角形全体が含まれる。2つめの分割PDLには円形全体が含まれ、3つめの分割PDLには四角形全体が含まれる。
そして、ぞれぞれの描画処理の負荷を描画命令から算出すると、1つめから3つめまでの分割PDLは共に処理負荷が中となる。
並列処理の場合、分割した処理のうち、最も処理時間がかかるものが最終的な処理時間となるため、従来のバンド分割ではページ内に描画されたコマンドの偏りに応じて処理負荷が軽い分割PDLと重い分割PDLが出てきてしまう。その結果、必ずしも最適な分割が行われないという課題があるが、本実施形態のように、レイヤー毎に分割することで、各分割PDLを意図した処理負荷になるように調整することが容易になる。
<ページ分割における重み付けについて>
次に、本実施形態の印刷システムにおけるPDL分割の重み付けを、図11を参照して詳細に説明する。この例では、入力されたPDLデータに含まれる描画命令に基づき、ページ全体に最背面から順に、1レベル目の三角形、2レベル目の円形、3レベル目の四角形と重なりあうように描画し、最上位面に150レベル目の四角形を描画する。
図11に示すように、PDLからDLを生成する処理は、各PDLに含まれるレベル数が多いほど時間がかかり、レベル数が少ないほど時間がかからない特徴がある。そして、分割したPDLを最終的に印刷する際に、レンダリング時に重ね合わせ処理を行わなければならないが、この処理は必ず背面に近いレイヤーから順番に行わなくてはならない。
よって、PDLを分割する際に、使用可能なバーチャルプロセッサ数で均等に分割するのではなく、上述の特徴を考慮し、背面に近いレイヤーの程処理時間が早く終わるように少ないレベルが含まれるべくPDLを分割する必要がある。これを重み付けという。
図11に示す分割PDLは、この重み付けをしてPDLを分割した例である。この例では、バーチャルプロセッサが5つで入力PDLが150個のレベルを含む場合、最背面に近い分割PDL1に含まれるレベル数は10個、その上に位置する分割PDL2に含まれるレベル数は20個となる。更に、その上に位置する分割PDL3に含まれるレベル数は30個、その上に位置する分割PDL4に含まれるレベル数は40個、その上に位置する分割PDL5に含まれるレベル数は50個となる。
本処理の詳細は<PDL分割のおけるレベル数決定処理について>で、重み付けによる効果は<レイヤー分割における処理速度見積もり>で後述する。
<全体処理シーケンスについて>
次に、本実施形態における印刷システムの全体処理シーケンスを、図5を参照して説明する。初めに、ユーザは、S501でクライアントPC105のプリンタドライバ304からPDL分割サーバ103に対して印刷指示を行う。PDL分割サーバ103は印刷指示を受け、S502で文章IDとサーバIDをプリンタドライバ304へ返す。プリンタドライバ304は、S503で用紙を出力する出力デバイス104へ文章IDとサーバIDを送る。
一方、出力デバイス104は、S504で文章IDをPDL分割サーバ103へ送り、PDLの分割情報を取得するためにポーリングを行う。また、PDL分割サーバ103はS501で受けた印刷指示を元にS505でPDL分割処理を行う。
次に、PDL分割サーバ103は、S506で各分割PDLをバーチャルプロセッサ群102へ送信し、S507でバーチャルプロセッサ群102から分割PDL IDとバーチャルプロセッサIDとを受け取る。その後、全ページの分割とバーチャルプロセッサ群102への送信が終了すると、S508で各分割PDLのIDと、そのPDLを処理しているバーチャルプロセッサIDを出力デバイス104へ送信する。
また、バーチャルプロセッサ群102は、S506で受け取った各分割PDLをS509でPDLからDLへ変換処理を行う。出力デバイス104は、S508で受け取った分割PDL ID、バーチャルプロセッサIDを元に、S510において背面に近いレイヤーから順番にDL生成が完了したかポーリングを行い、終了していた場合、S511で分割DLを取得する。そして、取得したDLをS512でレンダリングと、必要に応じて重ね合わせ処理とを行い、全DL分上述の処理を繰り返し、終了すると、S513で印刷終了をプリンタドライバ304に通知する。
<全体処理フローについて>
次に、プリンタドライバ、PDL分割サーバ、バーチャルプロセッサ群、出力デバイスの動作を、図6〜図10を用いて説明する。図6は本実施形態の全体処理フロー、図7はPDL分割サーバ103内の処理フロー、図8はPDL分割サーバ103内のPDL分割の詳細フロー、図9はバーチャルプロセッサ群102内の処理フロー、図10は出力デバイス104での処理フローである。
まず、全体処理フローを、図6を用いて説明する。S601でクライアントPC105のプリンタドライバ304が、S601で印刷アプリケーションから指示された印刷対象のデータからPDLデータを生成する。次に、プリンタドライバ304はS602でクラウド環境が使用可能か否かを判断し、不可能だった場合、S603で従来のローカル環境での印刷処理を出力デバイス104に実行させ、この処理を終了する。
一方、S602で図1に示すように、クラウド環境が使用可能だった場合、S604でPDLデータをクラウド上のPDL分割サーバ103へ転送する。これにより、PDL分割サーバ103が、S605で受信したPDLを分割処理する。PDL分割サーバ103での分割処理に関する詳細は<PDL分割処理(Web Role)について>で詳述する。
次に、PDL分割サーバ103は、S605で分割した分割PDLをバーチャルプロセッサ群102へ送信し、バーチャルプロセッサ群102が、S606で分割PDLのDLを並列に生成する。バーチャルプロセッサ群102の処理に関する詳細は<分割PDLのDL生成処理(Worker Role)について>で詳述する。
そして、生成された各DLは出力デバイス104へ送信され、出力デバイス104が、S607で各DLをレンダリングし、ビットマップを生成すると共に、必要に応じて重ね合わせ処理を行い、1ページ分の画像を生成する。この出力デバイス104の処理に関する詳細は<デバイスにおけるレンダリング処理について>で詳述する。
<PDL分割処理(Web Role)について>
次に、本実施形態におけるPDL分割処理であるWeb Role処理を、図7を参照して説明する。PDL分割サーバ103が、S701で処理対象のPDLデータをインターネット101経由で受信する。次に、S702で出力デバイス104のエンジンスピードを確認し、S703で並列処理を行うバーチャルプロセッサ群102の個数と処理能力の確認を行う。
次に、PDL分割サーバ103は、S704で受信したPDLの解釈を行い、S705でPDLの各ページ内に含まれる描画コマンドが閾値以上で分割しないとエンジンスピードが出ない重いページか否かを判定する。判定の結果、NOだった場合、S706で分割されていないPDLをバーチャルプロセッサ群102へ送信し、S710へ進む。また、判定の結果がYESだった場合、S707でページ内のレベル数、バーチャルプロセッサ数、重ね合わせを考慮し、分割PDLに含まれるレベル数を決定する。この処理に関する詳細は<PDL分割のおけるレベル数決定処理について>で詳述する。
次に、PDL分割サーバ103は、S708で決定されたレベル数を元にレイヤー毎(レイヤー単位)にPDLを分割する。元々PDL内には、背景に近いレベルから順番に描画オブジェクトが記述されているので、分割は容易である。そして、S709で分割された各PDLをバーチャルプロセッサ群102へ送信する。S710で、受信したPDLの全ページの処理が完了したか否かを判断し、NOだった場合、S704に戻り、次のページの処理を行う。一方、S710で全ページの処理が完了すれば、この処理を終了する。
<分割PDLのDL生成処理(Worker Role)について>
次に、本実施形態における分割PDLのDL生成処理であるWorker Role処理を、図8を参照して説明する。バーチャルプロセッサ群102は、S801で処理する分割PDLデータをPDL分割サーバ103から受信する。次に、S802で受信された分割PDLからDLを生成する。そして、S803でバーチャルプロセッサ群102でレンダリング処理まで行うか否かを、出力デバイス104とバーチャルプロセッサ群102と間の帯域が予め定められた帯域よりも広いか否かにより判断する。ここで、YESと判断した場合は、S804でDLを解釈し、レンダリング処理を行い、ビットマップを生成する。
また、S803でNOと判断した場合は、S805へ進み、出力デバイス104からの送信リクエストがあるか否かを判定する。判定の結果、送信リクエストがなければ、出力デバイス104からの送信リクエストがあるまでループする。一方、出力デバイス104から送信リクエストがあれば、S806へ進み、S802で生成したDL又はS804で生成したビットマップを出力デバイス104へ転送し、この処理を終了する。
<デバイスにおけるレンダリング処理について>
次に、本実施形態におけるデバイスにおけるレンダリング処理を、図9を参照しながら説明する。出力デバイス104は、S901で印刷情報をプリンタドライバ304やWeb roleから受信する。次に、S902で受信されたデータが分割されたデータか否かを判断し、NOの場合は、S903でデータがDLか否かを判断する。ここで、NOの場合は、S904でバーチャルプロセッサ群102からビットマップを受信し、S919へ進む。一方、S903でYESの場合は、S905でバーチャルプロセッサ群102からDLを受信する。そして、S906で受信されたDLをレンダリングし、ビットマップを生成してS919へ進む。
また、S902で分割されたデータの場合は、S907でデータがDLデータか否かを判断する。判断の結果、NOの場合は、S908で受信すべきビットマップが生成されるまで待つ。ビットマップが生成されると、S909でバーチャルプロセッサ群102から生成されたビットマップを受信する。そして、S910で重ね合わせが必要か否かを判断する。ここで、最背面のビットマップのように重ね合わせの必要がない場合は、S912へ進むが、重ね合わせが必要な場合は、S911で背面と現在処理しているビットマップの重ね合わせ処理を行う。そして、S912で全データの処理が完了したか否かを判断し、完了していない場合は、S908へ進み、完了すると、S919へ進む。
一方、S907でDLデータの場合は、S913で受信するDLが生成されるまで待ち、DLデータが生成されると、S914でバーチャルプロセッサ群102からDLデータを受信する。そして、S915で重ね合わせが必要か否かを判断し、最背面のように重ね合わせの必要ない場合はS917でDLデータをレンダリングし、ビットマップを生成してS918へ進む。また、重ね合わせが必要な場合は、S916で重ね合わせを行う処理中のDLより背面のビットマップと重ね合わせ処理を行いながらビットマップを生成する。そして、S918で全データの処理が終了したか否かを判断し、NOの場合、S913に戻り、次のレイヤーの処理を開始する。一方、S918でYESの場合は、S919で生成したビットマップを用紙に出力し、この処理を終了する。
<PDL分割のおけるレベル数決定処理について>
次に、本実施形態におけるPDL分割のレベル数決定処理を、図10を参照して説明する。まず、PDL分割サーバ103は、S1001で処理するPDLに含まれるレベル数LSN、出力デバイス104のエンジンスピードES、バーチャルプロセッサ群102の処理能力PS、の3つの条件を入力する。そして、処理能力PSとエンジンスピードESとからバーチャルプロセッサ群102がそのエンジンスピードES内で処理できるレベル数LNPを算出する。
次に、S1002でPDLに含まれるレベル数LSNをバーチャルプロセッサ群102の処理能力で割ることによりPDLをエンジンスピードで処理するためのバーチャルプロセッサの個数PNを算出する。そして、S1003で、算出した個数PNが1より大きいか否かを判断し、NOの場合は、S1004でPDLの分割は行わず、1つのバーチャルプロセッサに1ページ分のPDLを割り当てる。
一方、S1003で、算出した個数PNが1より大きい場合は、S1005でPDLに含まれるレベル数を必要なバーチャルプロセッサの個数で割ってPDLレベル数の中央値MLを算出する。次に、S1006で、レベルの中央値MLを、PDLに含まれるレベル数LSNを2で割った値で割ることで各バーチャルプロセッサ間のレベル数の重みLWを算出する。そして、S1007で、中央値MLを中心に各バーチャルプロセッサに重み分ずつ付加又は削除したレベル数を決定する。
次に、S1008で割り振ったレベル数に過不足が出たか否かを判断し、NOの場合は、この処理を終了する。また、過不足が出た場合は、S1009で最前面レイヤーの個数に過不足分を付加又は削除して調整し、この処理を終了する。
<レイヤー分割の際の処理速度見積もり>
次に、本実施形態におけるレイヤー分割の際の処理速度見積もりを、図12を参照して説明する。図12には、この見積もりにおいて仮定した各種条件1201が示されている。まず、処理するデータは現在のPDLを分割しない場合はエンジンスピード50ppmが出ない複雑な描画コマンドを持つPDLデータである。レベルを均等に分けた場合の1レイヤーのDL生成時間は0.3秒、デバイス上のRIP(Hard)がレンダリングする時間が0.1秒、バーチャルプロセッサ上のRIP(Soft)がレンダリングする時間が0.3秒。レンダリング時に重ね合わせが必要な場合かかる時間が0.1秒、DLをデバイスへ転送する時間が0.1秒、Bitmapをデバイスへ送信する時間が0.3秒かかると仮定する。また、エンジンスピードが出る個数を見積もった所、5つであることとする。
前提の下には、現状のクラウドを使わず、全処理をデバイス内で行う場合のタイミングチャート1202を示す。この場合、DL生成を1つのCPUで行うので、RIPと並列に処理できるが、合計1.8秒かかり50ppmでないことが分かる。
また、<ページ分割における重み付けについて>で述べた重み付けをせずにバーチャルプロセッサでDL生成までを行う場合のタイミングチャート1203を示す。この場合、DL生成を並列に行うが、最背面レイヤーが終了するまでRIPが開始出来ないのでDL生成とRIPが並列にならず、合計1.3秒かかることが分かる。
更に、<ページ分割における重み付けについて>で述べた重み付けを行い、バーチャルプロセッサでDL生成までを行う場合のタイミングチャート1204を示す。この場合、DL生成を並列に行い、かつ重みを付けることにより、最背面レイヤーのDL生成が他のレイヤーに比べて高速に終了するのでDL生成とRIPとが並列になり、合計1.1秒になり、50ppmのエンジンスピードを達成していることが分かる。
次に、<ページ分割における重み付けについて>で述べた重み付けをせずにバーチャルプロセッサでビットマップ生成までを行う場合のタイミングチャート1205を示す。この場合、各レイヤー間では並列に処理が行われるが、DL生成とビットマップ生成は並列ではなく、更にビットマップまで展開するとDLに比べて情報量が多くなり、デバイスに転送する時間がかかるため、合計1.3秒かかることが分かる。
更に、<ページ分割における重み付けについて>で述べた重み付けを行い、バーチャルプロセッサでビットマップ生成までを行う場合のタイミングチャート1206を示す。この場合、各レイヤー間ではパラレルに処理が行われるが、DL生成とビットマップ生成が並列でなく、更にビットマップまで展開するとDLに比べて情報量が多くなり、デバイスに転送する時間がかかるため、合計1.2秒かかることが分かる。
以上のことから、DL生成をバーチャルプロセッサで分割して行うことによる高速化、またPDL分割の際に、重みを付けることにより、並列に処理出来ることによる高速化が見積もれる。
<バーチャルプロセッサ群が一定時間経過してもDLを生成しない場合>
次に、バーチャルプロセッサ群が一定時間経過してもDLを生成しない場合の処理を、図13の(a)を参照して説明する。バーチャルプロセッサ群102は、S1301で、PDL分割サーバ103がDLデータを生成したか否かを判断する。この判断はS909やS914と同じものである。そして、判断の結果がYESの場合、この処理を終了するが、NOの場合、S1302で、S1301の判断をある閾値以上の時間、行っているか否かを判定する。判定の結果、NOの場合は、S1301に戻り、再度判断する。一方、S1302でYESの場合、S1303で、PDL分割サーバ103に分割単位を小さくする情報を送信し、この処理を終了する。
<課金体系に応じたバーチャルプロセッサ数の決定について>
次に、課金体系に応じたバーチャルプロセッサ数の決定を、図13の(b)を参照して説明する。PDL分割サーバ103は、S1304でバーチャルプロセッサが使用個数に応じて課金されるか否かを判断する。判断の結果、YESの場合は、S1306でPDLの分割単位を大きくし、この処理を終了する。一方、NOの場合は、エンジンスピードが達成できるように分割単位を小さくし、この処理を終了する。
尚、本実施形態では、クライアントPC105で生成したPDLをクラウドに送信しているが、クラウドでPDLを生成する構成であっても良い。
[他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (11)

  1. シングル頁に含まれる複数の描画オブジェクトを、各描画オブジェクトのレイヤーに基づいて複数のグループに分割する分割手段と、
    前記分割手段での分割により得られた各グループ夫々異なるプロセッサーに提供する提供手段と
    を有し、
    前記複数のグループには、第1のグループと、第2のグループが含まれ、
    前記第1のグループに含まれる複数の描画オブジェクトの複数のレイヤーは、前記第2のグループに含まれる複数の描画オブジェクトの複数のレイヤーの何れのレイヤーよりも背景に近く、
    前記提供手段は、前記第1のグループに含まれる複数の描画オブジェクトを、前記第2のグループに含まれる複数の描画オブジェクトよりも早く、対応するプロセッサーに提供することを特徴とする装置。
  2. シングル頁に含まれる複数の描画オブジェクトを、複数の描画オブジェクトを含む第1のグループと、当該第1のグループに含まれる当該複数の描画オブジェクトの何れのレイヤーよりも背景から遠いレイヤーを持つ複数の描画オブジェクトを含む第2のグループとを含む複数のグループに分割する分割手段と、
    前記分割手段での分割により得られた前記第1のグループを前記第2のグループよりも早くプロセッサーに提供する提供手段と
    を有し、
    前記第1のグループが提供されるプロセッサーと前記第2のグループが提供されるプロセッサーは異なることを特徴とする装置。
  3. シングル頁に含まれる複数の描画オブジェクトを、各描画オブジェクトのレイヤーに基づいて複数のグループに分割する分割手段と、
    前記分割手段での分割により得られた各グループを、夫々異なるプロセッサーに提供する提供手段と
    を有し、
    前記複数のグループには、第1のグループと、第2のグループが含まれ、
    前記第1のグループに含まれる複数の描画オブジェクトの複数のレイヤーは、前記第2のグループに含まれる複数の描画オブジェクトの複数のレイヤーの何れのレイヤーよりも背景に近く、
    前記第1のグループに含まれる複数の描画オブジェクトの数は、前記第2のグループに含まれる複数の描画オブジェクトの数よりも少ないことを特徴とする装置。
  4. シングル頁に含まれる複数の描画オブジェクトを、複数の描画オブジェクトを含む第1のグループと、当該第1のグループに含まれる当該複数の描画オブジェクトの何れのレイヤーよりも背景から遠いレイヤーを持つ複数の描画オブジェクトを含む第2のグループとを含む複数のグループに分割する分割手段と、
    前記分割手段での分割により得られた前記第1のグループと前記第2のグループを異なるプロセッサーに提供する提供手段と
    を有し、
    前記分割手段は、前記第1のグループに含まれる描画オブジェクトの数が前記第2のグループに含まれる描画オブジェクトの数よりも少なくなるように分割することを特徴とする装置。
  5. プロセッサーは、バーチャルプロセッサーであることを特徴とする請求項1乃至4のいずれか一項に記載の装置。
  6. 各プロセッサーは、提供されたグループに含まれる複数の描画オブジェクトから、ビットマップを生成することを特徴とする請求項1乃至5のいずれか一項に記載の装置。
  7. 各プロセッサーから提供された複数のビットマップを、背面に近いビットマップから順に重ねる重ね手段を更に有することを特徴とする請求項6に記載の装置。
  8. プロセッサーによるビットマップの生成は、列して行われることを特徴とする請求項6に記載の装置。
  9. 前記描画オブジェクトは、ディスプレイリストであることを特徴とする請求項1乃至8のいずれか一項に記載の装置。
  10. 分割手段が、シングル頁に含まれる複数の描画オブジェクトを、複数の描画オブジェクトを含む第1のグループと、当該第1のグループに含まれる当該複数の描画オブジェクトの何れのレイヤーよりも背景から遠いレイヤーを持つ複数の描画オブジェクトを含む第2のグループとを含む複数のグループに分割する分割工程と、
    提供手段が、前記分割工程での分割により得られた前記第1のグループを前記第2のグループよりも早くプロセッサーに提供する提供工程と
    を有し、
    前記第1のグループが提供されるプロセッサーと前記第2のグループが提供されるプロセッサーは異なることを特徴とする装置の制御方法。
  11. コンピュータを、
    シングル頁に含まれる複数の描画オブジェクトを、複数の描画オブジェクトを含む第1のグループと、当該第1のグループに含まれる当該複数の描画オブジェクトの何れのレイヤーよりも背景から遠いレイヤーを持つ複数の描画オブジェクトを含む第2のグループとを含む複数のグループに分割する分割手段、
    前記分割手段での分割により得られた前記第1のグループを前記第2のグループよりも早くプロセッサーに提供する提供手段
    として機能させ、
    前記第1のグループが提供されるプロセッサーと前記第2のグループが提供されるプロセッサーは異なることを特徴とするプログラム。
JP2010189986A 2010-08-26 2010-08-26 装置およびその制御方法、並びにプログラム Expired - Fee Related JP5641825B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010189986A JP5641825B2 (ja) 2010-08-26 2010-08-26 装置およびその制御方法、並びにプログラム
US13/182,314 US20120050773A1 (en) 2010-08-26 2011-07-13 Print processing method and printing system
US14/049,131 US9098225B2 (en) 2010-08-26 2013-10-08 Print processing method and printing system
US14/801,660 US9411548B2 (en) 2010-08-26 2015-07-16 Print processing method and printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010189986A JP5641825B2 (ja) 2010-08-26 2010-08-26 装置およびその制御方法、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2012048500A JP2012048500A (ja) 2012-03-08
JP2012048500A5 JP2012048500A5 (ja) 2013-10-10
JP5641825B2 true JP5641825B2 (ja) 2014-12-17

Family

ID=45696876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010189986A Expired - Fee Related JP5641825B2 (ja) 2010-08-26 2010-08-26 装置およびその制御方法、並びにプログラム

Country Status (2)

Country Link
US (3) US20120050773A1 (ja)
JP (1) JP5641825B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8723886B2 (en) * 2010-09-08 2014-05-13 Navteq B.V. Generating a multi-layered geographic image and the use thereof
US8874786B2 (en) * 2011-10-25 2014-10-28 Dell Products L.P. Network traffic control by association of network packets and processes
JP5466786B1 (ja) * 2013-08-28 2014-04-09 株式会社 ディー・エヌ・エー 画像処理装置及び画像処理プログラム
JP6491550B2 (ja) 2015-06-17 2019-03-27 キヤノン株式会社 印刷装置とその制御方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3384223B2 (ja) * 1996-01-29 2003-03-10 富士ゼロックス株式会社 印刷処理システム
JP2000141811A (ja) * 1998-11-11 2000-05-23 Nec Corp プリンタシステム
JP4125228B2 (ja) 2003-12-26 2008-07-30 キヤノン株式会社 情報処理装置及びその方法、プログラム、記憶媒体並びにプリフライトチェックシステム
US7206915B2 (en) * 2004-06-03 2007-04-17 Emc Corp Virtual space manager for computer having a physical address extension feature
JP4724517B2 (ja) 2005-09-29 2011-07-13 キヤノン株式会社 画像処理システムおよび画像処理方法およびプログラムおよび記憶媒体
US8228540B2 (en) * 2007-07-31 2012-07-24 Esko Ip Nv Rasterizing variable and non-variable data for printing
US8228555B2 (en) 2008-03-31 2012-07-24 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for parallel display list rasterization
JP5450998B2 (ja) 2008-07-23 2014-03-26 キヤノン株式会社 画像形成装置
JP4893815B2 (ja) * 2009-12-11 2012-03-07 コニカミノルタビジネステクノロジーズ株式会社 バリアブル印刷制御装置及び制御プログラム
US8520226B2 (en) * 2010-04-15 2013-08-27 Xerox Corporation Robust recovery of a page parallel RIP system
JP5051327B1 (ja) * 2012-03-22 2012-10-17 富士ゼロックス株式会社 画像処理装置及びプログラム

Also Published As

Publication number Publication date
US20140036313A1 (en) 2014-02-06
US9098225B2 (en) 2015-08-04
US20150317547A1 (en) 2015-11-05
JP2012048500A (ja) 2012-03-08
US9411548B2 (en) 2016-08-09
US20120050773A1 (en) 2012-03-01

Similar Documents

Publication Publication Date Title
JP5743723B2 (ja) 印刷システム、サービス処理方法、及びプログラム
JP5494615B2 (ja) 表示システムおよび表示装置
JP5641825B2 (ja) 装置およびその制御方法、並びにプログラム
JP2007152750A (ja) 印刷装置
JP5235695B2 (ja) 印刷制御装置とその制御方法
CN110659003A (zh) 信息处理装置、控制方法和存储介质
JP5846026B2 (ja) 情報処理装置、プログラム、およびプログラムが記録された記録媒体
JP5656459B2 (ja) ジョブデータ送信装置、その制御方法、およびプログラム
JP2010072872A (ja) 画像処理装置、画像処理方法、画像処理システム
JP2009172887A (ja) 画像形成装置、画像制御方法における制御方法、及びプログラム
JP6067039B2 (ja) 印刷に要する時間の予測値を求める画像処理装置、画像処理方法およびそのプログラム
JP5857594B2 (ja) 分散印刷システム及び印刷装置
JP2011201146A (ja) 画像処理装置及び画像処理プログラム
JP6996189B2 (ja) プリントコントローラー、画像形成システム及び画像形成装置
JP2021182310A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP2021014062A (ja) 制御装置、画像形成装置、情報処理装置、制御方法、およびプログラム
JP2014215836A (ja) 印刷制御装置、印刷制御方法、およびプログラム
JP5651963B2 (ja) 印刷システム及びその制御方法、並びにプログラム
JP5259003B2 (ja) 画像形成装置、画像制御方法における制御方法、及びプログラム
JP7186541B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP2018144361A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6818563B2 (ja) 情報処理システム、情報処理方法、およびプログラム
JP2018020536A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2017189968A (ja) 画像処理装置及び画像処理方法
JP6545144B2 (ja) 印刷に要する時間の予測値を求める画像処理装置、画像処理方法およびそのプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141028

R151 Written notification of patent or utility model registration

Ref document number: 5641825

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees