JP2016091137A - 画像形成装置、特定処理実行方法、およびコンピュータプログラム - Google Patents

画像形成装置、特定処理実行方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP2016091137A
JP2016091137A JP2014222178A JP2014222178A JP2016091137A JP 2016091137 A JP2016091137 A JP 2016091137A JP 2014222178 A JP2014222178 A JP 2014222178A JP 2014222178 A JP2014222178 A JP 2014222178A JP 2016091137 A JP2016091137 A JP 2016091137A
Authority
JP
Japan
Prior art keywords
cores
core
processing
image processing
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.)
Pending
Application number
JP2014222178A
Other languages
English (en)
Inventor
達也 川野
Tatsuya Kawano
達也 川野
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014222178A priority Critical patent/JP2016091137A/ja
Priority to EP15188537.3A priority patent/EP3021567B1/en
Priority to CN201510728231.9A priority patent/CN105574805B/zh
Priority to US14/928,006 priority patent/US9781295B2/en
Publication of JP2016091137A publication Critical patent/JP2016091137A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32459Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter for changing the arrangement of the stored data
    • H04N1/32475Changing the format of the data, e.g. parallel to serial or vice versa
    • 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
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/1848Generation of the printable image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Image Processing (AREA)

Abstract

【課題】ヘテロジニアス構成のCPUを画像処理装置において従来よりも効率的に使用する。
【解決手段】スペックの異なる複数のコア1CRを有するCPU10aを備えた画像処理装置1において、コア1CRそれぞれの処理能力を推定し、特定の処理を複数のコア1CRそれぞれが実行するのに掛かる所要時間を、複数のコアそれぞれの処理能力に基づいて推定し、複数のコア1CRのうち所要時間が閾値以下でありかつ閾値に最も近いコア1CRに特定の処理を実行させる。
【選択図】図2

Description

本発明は、マルチコアCPUにおけるコアの使用の技術に関する。
近年、複数のコアからなるCPU(Central Processing Unit)であるマルチコアCPUが普及している。
マルチコアCPUによると、コアごとに異なるプログラムを実行させたり、1つのプログラムに基づく処理を複数のコアに分散して行ったりすることができる。
マルチコアCPUを採用した画像形成装置として、次のような画像形成装置が提案されている。この画像形成装置は、ページの領域毎に描画処理手段が描画処理する画像形成装置である。印刷データを格納する印刷データ格納手段と、印刷データを解析し、描画対象とされるオブジェクトの描画命令をページ毎に記述した描画命令データを生成する描画命令生成手段と、描画命令生成手段と並行して印刷データを解析し、描画処理手段が受け持つ領域を決定するための最適化情報を作成する最適化情報作成手段と、描画命令データと最適化情報を記憶する中間データ記憶手段と、最適化情報に基づき受け持つ領域を決定し、領域毎に描画命令データを描画処理する描画処理手段と、を有する。
特開2012−71544号公報
また、近年、演算の能力の異なる複数のコアを有するヘテロジニアス構成のCPUが普及し始めている。今後、ヘテロジニアス構成のCPUを搭載した製品が増加すると予想される。
MFP(Multi Function Peripherals)のような装置は、複数の処理を並行して行うことが多い。したがって、マルチコアCPUを搭載するメリットが大きい。
上述の従来技術のように、ホモジニアス構成のCPUを効率的に使用する技術は提案されているが、このような技術によってヘテロジニアス構成のCPUの使用の効率化を図ることができるとは、限らない。
本発明は、このような問題点に鑑み、ヘテロジニアス構成のCPUを画像処理装置において従来よりも効率的に使用することを、目的とする。
本発明に係る画像処理装置は、スペックの異なる複数のコアを有するプロセッサと、前記複数のコアそれぞれの処理能力を推定する第一の推定手段と、特定の処理を前記複数のコアそれぞれが実行するのに掛かる所要時間を、前記複数のコアそれぞれの前記処理能力に基づいて推定する第二の推定手段と、前記複数のコアのうち前記所要時間が閾値以下でありかつ前記閾値に最も近いコアに前記特定の処理を実行させる制御手段と、を有する。
好ましくは、前記特定の処理を実行するのに掛かる負荷を推定する第三の推定手段、を有し、前記第二の推定手段は、前記所要時間をさらに前記負荷に基づいて推定する。
または、前記第二の推定手段は、前記複数のコアそれぞれの前記処理能力を前記複数のコアそれぞれの前記スペックに基づいて推定する。または、前記複数のコアそれぞれの前記処理能力を、当該画像処理装置の起動の際に前記複数のコアそれぞれから収集した情報に基づいて推定する。
本発明によると、ヘテロジニアス構成のCPUを画像処理装置において従来よりも効率的に使用することができる。
画像処理システムの全体的な構成の例を示す図である。 画像処理装置のハードウェア構成の例およびインストールされているプログラムの例を示す図である。 画像処理装置の機能的構成の例を示す図である。 コア選択処理の流れの例を説明するフローチャートである。 画像処理装置の全体的な処理の流れの例を説明するフローチャートである。 PCプリント処理の流れの例を説明するフローチャートである。
図1は、画像処理システム3の全体的な構成の例を示す図である。図2は、画像処理装置1のハードウェア構成の例およびインストールされているプログラムの例を示す図である。図3は、画像処理装置1の機能的構成の例を示す図である。図4は、コア選択処理の流れの例を説明するフローチャートである。
画像処理システム3は、画像に関する種々の処理を実行するシステムであって、図1に示すように、画像処理装置1、端末装置21、および通信回線28などによって構成される。
画像処理装置1と端末装置21とは、通信回線28を介して通信を行うことができる。通信回線28として、公衆回線、いわゆるLAN(Local Area Network)回線、インターネット、または専用線などが用いられる。
画像処理装置1は、コピー、PCプリント、ファックス、およびスキャナなどの機能を集約した装置である。一般に、「画像形成装置」、「複合機」、または「MFP(Multi Function Peripheral)」などと呼ばれることがある。
PCプリントは、端末装置21から送信されてきた印刷データに基づいて画像を用紙に印刷する機能である。印刷データは、一般に、PDL(Page Description Language)によって記述される。
画像処理装置1は、図2(A)に示すように、メインコントローラ10、画像処理部10e、タッチパネルディスプレイ10f、操作キーパネル10g、NIC(Network Interface Card)10h、モデム10i、スキャンユニット10j、プリントユニット10k、およびUSB(Universal Serial Bus)通信装置10mなどによって構成される。
画像処理部10eは、入力された画像または出力する画像に対して種々の画像処理を施す。
タッチパネルディスプレイ10fは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびメインコントローラ10が実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10fは、タッチされた位置を示す信号をメインコントローラ10へ送る。
操作キーパネル10gは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
NIC10hは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルで端末装置21との間で画像データなどをやり取りする。
モデム10iは、ファクシミリ端末との間でG3などのプロトコルでファックスデータをやり取りする。
スキャンユニット10jは、プラテンガラスの上にセットされた用紙に記されている画像を読み取る。
プリントユニット10kは、スキャンユニット10jによって読み取られた画像を印刷する。また、NIC10hまたはモデム10iによって他の装置から取得したデータに基づいて画像を用紙に印刷する。画像は、画像処理部10eによって画像処理が施されることがある。
USB通信装置10mは、USBメモリまたは外付ハードディスクドライブなどの周辺機器とUSBケーブルを介して接続され、データのやり取りを行う。
メインコントローラ10は、CPU(Central Processing Unit)10a、メインメモリ10b、ROM(Read Only Memory)10c、およびSSD(Solid State Drive)10dなどによって構成される。
CPU10aは、ヘテロジニアス構成のCPUであって、性能(スペック)の異なる複数のコア(CPUコア)を有する。本実施形態では、CPU10aとして、3つのコア1CRを有するCPUが用いられる。以下、それぞれのコア1CRを「第一のコア1CR1」、「第二のコア1CR2」、および「第三のコア1CR3」と区別して記載することがある。
メインメモリ10bは、揮発性のメモリつまりRAM(Random Access Memory)であって、3つのコア1CRによって共有される。
ROM10cまたはSSD10dには、図2(B)に示すように、全体制御プログラム131、ラスタライズプログラム132、画像変換プログラム133、ファックスデータ生成プログラム134、およびファックスデータ受付プログラム135などのプログラムがインストールされている。
全体制御プログラム131は、画像処理装置1の全体的な制御を行うためのプログラムである。例えば、ジョブの実行の順番を管理したり、ジョブの各ステップの処理をコア1CRに割り当てたりする。
ラスタライズプログラム132は、中間言語のデータをラスタライズするためのプログラムである。
画像変換プログラム133は、スキャンユニット10jが読み取った画像のローデータ(R(Red)、G(Green)、B(Blue)のビットマップデータ)を、描画ソフト用のフォーマット(例えば、GIF(Graphics Interchange Format))または文書の閲覧用のフォーマット(例えば、PDF(Portable Document Format))の画像データに変換するためのプログラムである。
ファックスデータ生成プログラム134は、スキャンユニット10jが読み取った画像のローデータ(R(Red)、G(Green)、B(Blue)のビットマップデータ)を、ファックスのプロトコルに準拠したファックスデータに変換するためのプログラムである。
ファックスデータ受付プログラム135は、モデム10iが受信したファックスデータをビットマップデータに変換するためのプログラムである。
これらのプログラムは、RAM10bにロード(展開)される。そして、いずれかのコア1CRによって実行される。
ただし、全体制御プログラム131は、画像処理装置1の電源がオンになったときに起動し、メインメモリ10bに常駐する。以下、第一のコア1CR1が全体制御プログラム131を実行する場合を例に説明する。
全体制御プログラム131によると、図3に示す初期化処理部101、中間言語データ生成部102、処理負荷推定部103、演算性能推定部104、コア選択処理部105、および実行指令部106などの機能が実現される。
初期化処理部101は、画像処理装置1のハードウェアの初期化およびドライバの起動など、電源がオンになった際の画像処理装置1の初期化(初期設定)の処理を行う。
中間言語データ生成部102は、PCプリントのために端末装置21から送信されてきた印刷データ51を解析し中間言語に変換することによって、ページごとの中間言語データ52を生成する。
ところで、画像を印刷するには、中間言語データ52に対してラスタライズの処理を行うことによってビットマップデータを生成しなければならない。本実施形態では、ラスタライズの処理は、第一のコア1CR1が行う場合もあれば、他のコア1CRが行う場合もある。
処理負荷推定部103、演算性能推定部104、およびコア選択処理部105は、ラスタライズの処理を実行すべきコア1CRを選択するための処理を次のように実行する。
処理負荷推定部103は、この中間言語データ52に対してラスタライズの処理を行うのに掛かる負荷Rをページごとに推定する。
一般に、負荷は、画像に含まれるオブジェクトの個数が多いほど大きく、かつ、オブジェクトのドット数が多いほど大きい。また、オブジェクトの属性によって大きくなることがある。例えば、2つのオブジェクトが重なっており、透過GIF(Graphics Interchange Format)のような透過性を上側のオブジェクトが有する場合は、両オブジェクトのブレンディングを行わなければならないので、負荷が大きくなる。
そこで、処理負荷推定部103は、次の(1)式に基づいて負荷Rを算出(推定)する。なお、以下、透過性を有するオブジェクトおよび有しないオブジェクトをそれぞれ「透過オブジェクト」および「非透過オブジェクト」と区別して記載することがある。
Figure 2016091137
「Rp」は、pページ目の負荷Rである。「Np」は、pページ目の、透過オブジェクトが1つも重ならない非透過オブジェクトの個数である。「Ek」は、pページ目のk番目の、透過オブジェクトが1つも重ならない非透過オブジェクトのドット数である。「Mp」は、pページ目の、重なり合う非透過オブジェクトと透過オブジェクトとの組合せの個数である。「Fi」は、pページ目の、i番目の組合せを構成する非透過オブジェクトのドット数および透過オブジェクトのドット数の合計である。「a1」および「2」は、係数であって、a1<a2、である。
演算性能推定部104は、3つのコア1CRそれぞれの演算の性能(処理能力)を、例えば次の方法によって算出(推定)する。
各コア1CRのスペックの情報(例えば、所定の処理を実行した場合の演算時間)をテーブルデータとして、予め用意しておく。そして、演算性能推定部104は、この情報を所定の関数に代入することによって演算の性能を算出する。この情報だけでなくコア1CRの現在の稼働の状況などに基づいて、演算の性能を算出してもよい。例えば、現在、第一のコア1CR1の稼働率がL%である場合は、L%分の性能が他のプロセスによって使用されているので、テーブルデータに示される性能からL%分落とした性能を、第一のコア1CR1の演算の性能として算出する。
または、画像処理装置1の起動の際または演算の性能を推定する直前に、各コア1CRに所定の処理を行わせ、その演算時間を計ることによって、演算の性能を推定してもよい。または、コア1CRとメインメモリ10bとのバスの帯域幅および単位時間当たりの演算量(つまり、演算スループット)などを計測し、これらを所定の関数に代入することによって推定してもよい。
以下、演算の性能を、ある標準的な画像の中間言語データに対してラスタライズを実行するのに掛かる時間である所要時間Uによって表わす場合を例に説明する。
コア選択処理部105は、処理負荷推定部103および演算性能推定部104それぞれの推定(演算)の結果に基づいて、ラスタライズを実行すべきコア1CRをページごとに選択する。ここで、選択の方法を、1ページ目についてコア1CRを選択する場合を例に、図4を参照しながら説明する。
コア選択処理部105は、1番目のコア1CR(本例では、第一のコア1CR1)に注目する(#701、#702)。第一のコア1CR1によって1ページ目のラスタライズを行うのに掛かる時間Tj(ここでは、時間T1)を推定する(#703)。推定は、例えば次の(2)式に基づいて推定すればよい。
Tj=b・Rp・Uj … (2)

「Rp」は、上述の通りpページ目の負荷Rであって、処理負荷推定部103によって算出されたものである。ここでは、p=1、である。「Uj」は、j番目のコア1CRの所要時間Uであって、演算性能推定部104によって算出されたものである。ここでは、j=1である。「b」は、係数である。
コア選択処理部105は、時間Tj(ここでは、時間T1)を閾値Dと比較する(#704)。
ところで、ラスタライズに時間が掛かり過ぎると、プリントユニット10k(エンジン)が備える性能を十分に発揮することができない。具体的には、ラスタライズが終わるのをプリントユニット10kが待たなければならないので、プリントユニット10kが備える印刷速度を活かすことができない。閾値Dは、次のページのラスタライズが終わるのを待つことなくプリントユニット10kが最速の印刷速度(または、所定の印刷速度)で印刷を行えるようにするための、ラスタライズに掛けてもよい最長(限界)の時間である。つまり、複数のページを印刷する際に、全体として最速の印刷速度(または、所定の印刷速度)を辛うじて保つことができる、ラスタライズの所要時間である。
時間T1が閾値D以下である場合は(#705でYes)、コア選択処理部105は、ラスタライズを行うべき候補(以下、「候補コア」と記載する。)が既に選ばれている場合は(#706でYes)、候補コアの時間Tjと注目しているコア1CRの時間Tjとを比較する(#707)。しかし、この時点では、未だ第一のコア1CR1にしか注目していないため候補コアがないので(#706でNo)、ステップ#707をスキップする。そして、注目しているコア1CRつまり第一のコア1CR1を候補コアとして選ぶ(#709)。
一方、時間Tjが閾値Dを超える場合は(#705でNo)、コア選択処理部105は、注目しているコア1CR(ここでは、第一のコア1CR1)を候補コアに選ばない。
未だ注目していないコア1CRが残っていれば(#710でNo)、コア選択処理部105は、これらのうちの次の未注目のコア1CRに注目する(#711、#702)。以下、第一のコア1CR1が候補コアとして選ばれ、新たに第二のコア1CR2が注目された場合を例に、コア選択処理部105の処理を説明する。
コア選択処理部105は、第二のコア1CR2についても、上述の方法で時間Tj(ここでは、時間T2)を推定し(#703)、時間T2を閾値Dと比較する(#704)。
時間T2が閾値D以下である場合は(#705でYes)、コア選択処理部105は、既に候補コア(ここでは、第一のコア1CR1)があるので(#706でYes)、時間T2を時間T1と比較する(#707)。注目しているコア1CRの時間Tjが候補コアの時間Tjよりも長い場合、つまり、時間T2が時間T1よりも長い場合は(#708でYes)、現在の候補コアを外し、注目しているコア1CRつまり第二のコア1CR2を、新たな候補コアとして選ぶ(#709)。これにより、候補コアが第一のコア1CR1から第二のコア1CR2に変わる。一方、注目しているコア1CRの時間Tjが候補コアの時間Tj以下である場合、つまり、時間T2が時間T1以下である場合は(#708でNo)、ステップ#709をスキップする。つまり、候補コアは第一のコア1CR1のまま変わらない。
時間T2が閾値Dを超える場合も(#705でNo)、コア選択処理部105はステップ#709をスキップするので、候補コアは第一のコア1CR1のまま変わらない。
そして、コア選択処理部105は、すべてのコア1CRに注目しステップ#703〜#709の処理を完了した時点で候補コアであるコア1CRを、1ページ目のラスタライズを行うべきコア1CRとして選択する(#712)。
つまり、図4に示す処理によると
(条件A) 時間Tjが閾値D以下である
(条件B) 条件Aを満たすコア1CRのうち、時間Tjが最も長い
という2つの条件を満たすコア1CRが、1ページ目のラスタライズを行うべきコア1CRとして選択される。
コア選択処理部105は、2ページ目以降についても同様の方法で、コア1CRを選択する。
実行指令部106は、コア選択処理部105によって選択されたコア1CRに対して、ラスタライズを行うように指令する。この際に、処理の対象のページの中間言語データ52を、このコア1CRに与える。例えば、3ページ目のラスタライズを行うべきコア1CRとして第三のコア1CR3が選択された場合は、第三のコア1CR3に対して、ラスタライズを行うように指令するとともに、3ページ目の中間言語データ52を与える。
コア1CRは、指令およびデータを与えられると、ラスタライズプログラム132に基づいて、このデータに対してラスタライズを行うことによってビットマップデータを生成する。そして、このビットマップデータを用いてプリントユニット10kに印刷を実行させる。なお、プリントユニット10kへの印刷の指令は、ラスタライズを行ったコア1CRが行ってもよいし、全体制御プログラム131を実行するコア1CR(本例では、第一のコア1CR1)が行ってもよい。
ただし、第一のコア1CR1自身がコア選択処理部105によって選択された場合は、第一のコア1CR1においてラスタライズプログラム132に基づいてラスタライズが行われる。
以上の通り、ラスタライズの処理を実行すべきコア1CRが処理負荷推定部103、演算性能推定部104、およびコア選択処理部105によって選択された。ラスタライズ以外の処理を実行すべきコア1CRも、これらによって選択してもよい。基本的な原理は、上述の通りである。異なる点は、主に次の通りである。
処理負荷推定部103は、その処理を行うのに掛かる負荷Rを例えば次のように推定(算出)する。
1枚または複数枚の用紙のそれぞれからスキャンユニット10jが読み取った画像のローデータをGIFまたはPDFなどの画像データに変換する処理を実行させる場合は、処理負荷推定部103は、用紙の1ページ(1面)ごとに、変換に掛かる負荷Rを推定する。
または、1枚または複数枚の用紙のそれぞれからスキャンユニット10jが読み取った画像をファックスで送信する処理を実行させる場合は、処理負荷推定部103は、用紙ごとに、スキャンユニット10jによって得られたローデータをファックスデータに変換する処理に掛かる負荷Rを推定する。
または、モデム10iが受信した画像データ(ファックスデータ)をビットマップデータに変換する処理を実行させる場合は、処理負荷推定部103は、1ページごとに、変換に掛かる負荷Rを推定する。
負荷Rを算出するための関数またはテーブルは、これら3つの場合それぞれにおける処理のアルゴリズムなどに応じて予め用意しておく。そして、処理負荷推定部103は、(1)式の代わりに、その関数またはテーブルを使用して負荷Rを推定する。
演算性能推定部104は、ラスタライズの場合と同様に、各コア1CRの演算の性能を推定する。ただし、選択したコア1CRに実行させる処理に応じた性能を推定してもよい。つまり、ある標準的な画像のデータに対してその処理を実行するのに掛かる時間を推定してもよい。
コア選択処理部105は、ラスタライズの場合と同様に、処理負荷推定部103および演算性能推定部104それぞれの推定(演算)の結果に基づいて、処理を実行すべきコア1CRを選択する。ただし、(2)式の係数bは、処理の種類などに応じて予め設定されている。閾値Dも、同様である。また、閾値Dは、上述の通り、画像またはそのデータを出力する装置(プリントユニット10k、NIC10h、モデム10i)の速度が活されるように予め設定されている。
図5は、画像処理装置1の全体的な処理の流れの例を説明するフローチャートである。図6は、PCプリント処理の流れの例を説明するフローチャートである。
次に、全体制御プログラム131による全体的な処理の流れを、第一のコア1CR1が全体制御プログラム131を実行する場合を例に、図5および図6のフローチャートを参照しながら説明する。
画像処理装置1の電源がオンになると(図5の#721)、全体制御プログラム131がメインメモリ10bにロードされる。第一のコア1CR1は、全体制御プログラム131に基づいてステップ#722以降の処理を実行する。
第一のコア1CR1は、ハードウェアの初期化およびドライバの起動など、初期設定を行う(#722)。そして、外部からデータまたは指令が入力されるごとに、次の通り処理を行う。
PCプリントのために端末装置21から印刷データ51(PDLの画像データ)が送信されてくると(#723でYes)、第一のコア1CR1は、PCプリントを実行する(#724)。PCプリントの手順は、図6に示す通りである。
第一のコア1CR1は、印刷データ51の受信に成功すると(図6の#741でYes)、1ページ目の中間言語データ52を生成し(#742、#743)、この中間言語データ52に対してラスタライズの処理を実行するのに掛かる負荷Rを算出(推定)する(#744)。さらに、各コア1CRの演算の性能を算出(推定)する(#745)。
第一のコア1CR1は、ステップ#744、#745それぞれの結果に基づいて、1ページ目のラスタライズの処理を実行すべきコア1CRを選択する(#746)。選択の方法は、前に図4で説明した通りである。
第一のコア1CR1は、ラスタライズの処理を実行するように、選択したコア1CRに対して指令する(#747)。この際に、1ページ目の中間言語データ52をこのコア1CRに与える。ただし、ステップ#746において第一のコア1CR1自身が選択された場合は、第一のコア1CR1は、ラスタライズプログラム132を自ら実行することによってラスタライズを行う。
そして、第一のコア1CR1は、ラスタライズの処理によって得られたビットマップデータを用いて印刷が行われるようにプリントユニット10kを制御する(#748)。なお、プリントユニット10kの制御は、選択したコア1CRが行ってもよい。
第一のコア1CR1は、2ページ目以降についても、1ページ目と同様の処理を行う(#749でNo、#750、#743〜#748)。最後のページの処理が終わったら(#750でYes)、プリント処理を終了する。
図5に戻って、第一のコア1CR1は、ユーザがスキャンを指令しスキャンユニット10jが画像を読み取った場合は(#725でYes)、この画像の画像データを保存する処理が実行されるように各部を次のように制御する(#726)。
第一のコア1CR1は、スキャンユニット10jによって得られたローデータを所定のフォーマットの画像データに変換する処理を実行すべきコア1CRを選択する。選択したコア1CRにこの処理を実行させる。そして、得られた画像データが所定の保存場所またはユーザが指定した保存場所に転送されまたは保存されるように、NIC10hまたはUSB通信装置10mなどを制御する。具体的には、保存場所が他の装置である場合は、画像データが当該他の装置へ転送されるようにNIC10hを制御する。保存場所がUSBメモリなどの記録媒体である場合は、画像データがこの記録媒体に保存されるようにUSB通信装置10mを制御する。1ページごとに画像データが転送されまたは保存されるようにNIC10hまたはUSB通信装置10mを制御してもよい。なお、この処理は、画像変換プログラム133に基づいて実行される。
または、ユーザがファックスの送信を指令しスキャンユニット10jが画像を読み取った場合は(#727でYes)、第一のコア1CR1は、この画像がファックスによって送信されるように各部を次のように制御する(#728)。
第一のコア1CR1は、スキャンユニット10jによって得られたローデータをファックス用のフォーマットのデータ(ファックスデータ)に変換する処理を実行すべきコア1CRを選択する。選択したコア1CRにこの処理を実行させる。そして、得られたファックスデータが、ユーザが指定したファックス番号の装置へ送信されるように、モデム10iを制御する。なお、この処理は、ファックスデータ生成プログラム134に基づいて実行される。
または、モデム10iがファックスデータを受信した場合は(#729でYes)、第一のコア1CR1は、このファックスデータに基づいて画像が印刷されるように各部を次のように制御する(#730)。
第一のコア1CR1は、このファックスデータビットマップデータに変換する処理を実行させるコア1CRを選択する。選択したコア1CRに、この処理を実行させる。そして、得られたビットマップデータを用いて印刷が行われるようにプリントユニット10kを制御する。なお、この処理は、ファックスデータ受付プログラム135に基づいて実行される。
そのほか、第一のコア1CR1は、ユーザからの指令または外部からのデータに基づいて、必要な処理を適宜、実行する(#731)。
なお、ステップ#726、#728、#730、#731においては、出力用のハードウェアの性能を活かすことができるコア1CRのうち、最もスペックの低いものが選択される。
第一のコア1CR1は、電源がオフになるまで、適宜、上述の処理を実行する(#732でNo、#723〜#731)。
本実施形態によると、複数のコア1CRの中から、出力装置(NIC10h、モデム10i、またはプリントユニット10k)の性能を活かすことができる最も性能の低いコア1CRを選択し、特定の処理を実行させる。よって、ヘテロジニアス構成のCPUであるCPU10aを従来よりも効率的に使用することができる。
本実施形態では、3つのコア1CRからなるマルチコアプロセッサをCPU10aとして用いたが、他の個数(例えば、2つ、4つ、6つ、または8つなど)のコア1CRからなるマルチコアプロセッサを用いてもよい。
プリントユニット10k、NIC10h、またはモデム10iの性能を活かすことができるコア1CRが1つもない場合がある。例えば、ラスタライズの処理を実行させるコア1CRを選択する際に、条件Aを満たすコア1CRが1つも見つからないことがある。このような場合は、コア選択処理部105は、最もスペックの高いコア1CRを選択すればよい。または、演算性能推定部104が算出(推定)した、現時点での性能が最も高いコア1CRを選択してもよい。
性能が同一のコア1CRが複数ある場合は、コア選択処理部105は、これらのコア1CRのうち、現在実行しているプログラムの個数が最も少ないコア1CRを選択すればよい。
または、コア選択処理部105は、現在プログラムを実行しているコア1CRを最初から候補から除外し、プログラムを1つも実行していないコア1CRの中から、処理を実行すべきコア1CRを選択してもよい。
または、複数のコア1CRによって並列処理を行うことができる場合は、演算性能推定部104は、1つまたは複数のコア1CRの組合せごとに演算の性能を推定し、コア選択処理部105は、一定の条件(例えば、ラスタライズの場合は、条件A)を満たす組合せのうち、最も性能の低いものを選択すればよい。そして、実行指令部106は、この組合せのコア1CRに処理を実行させればよい。
したがって、演算性能推定部104は、n個のコア1CRがある場合は、(2n−1)組の組合せについて、演算の性能(処理能力)を算出(推定)する。
演算の性能の算出方法は、様々であるが、1つのコア1CRの演算の性能の算出方法と同様の方法を用いればよい。つまり、各組合せのスペックの情報をテーブルデータとして予め用意しておき、この情報を所定の関数に代入することによって演算の性能を算出してもよい。または、画像処理装置1の起動の際または演算の性能を推定する直前に、各組合せに所定の処理を行わせ、その演算時間を計ることによって、演算の性能を算出してもよい。
特に、コア1CRが3個以上ある場合に、このような、1つまたは複数のコア1CRの組合せごとに演算の性能を推定し、特定の処理を実行させる方法が好適に用いられる。
本実施形態では、印刷データ51から中間言語データ52を全体制御プログラム131によって生成した。つまり、中間言語データ生成部102を全体制御プログラム131によって実現した。しかし、他のプログラム(中間言語データ生成プログラム)によって中間言語データ生成部102を実現してもよい。
この場合は、処理負荷推定部103は、中間言語データ52を生成する処理の負荷を推定する。コア選択処理部105は、推定された負荷および各コア1CR(または複数のコア1CRの組合せ)の演算の性能に基づいて、中間言語データ52を生成すべきコア1CRを選択する。そして、選択されたコア1CR(または複数のコア1CRの組合せ)に中間言語データ生成プログラムを実行させることによって、印刷データ51から中間言語データ52を生成する。
処理負荷推定部103は、(1)式に基づいて負荷Rを算出したが、他の式に基づいて算出してもよい。
本実施形態では、(1)式によって負荷Rを算出(推定)し、負荷Rを(2)式に代入することによって時間Tを算出(推定)したが、(1)式および(2)式を1つの式に纏め、この式に基づいて時間Tを算出してもよい。
その他、画像処理システム3、画像処理装置1の全体または各部の構成、処理内容、処理順序、負荷の算出方法、性能の算出方法などは、本発明の趣旨に沿って適宜変更することができる。
1 画像処理装置
103 処理負荷推定部(第三の推定手段)
104 演算性能推定部(第一の推定手段)
105 コア選択処理部(第二の推定処理)
106 実行指令部(制御手段)
10a CPU(プロセッサ)
1CR コア

Claims (9)

  1. スペックの異なる複数のコアを有するプロセッサと、
    前記複数のコアそれぞれの処理能力を推定する第一の推定手段と、
    特定の処理を前記複数のコアそれぞれが実行するのに掛かる所要時間を、前記複数のコアそれぞれの前記処理能力に基づいて推定する第二の推定手段と、
    前記複数のコアのうち前記所要時間が閾値以下でありかつ前記閾値に最も近いコアに前記特定の処理を実行させる制御手段と、
    を有することを特徴とする画像処理装置。
  2. 前記特定の処理を実行するのに掛かる負荷を推定する第三の推定手段、を有し、
    前記第二の推定手段は、前記所要時間をさらに前記負荷に基づいて推定する、
    請求項1に記載の画像処理装置。
  3. 前記第二の推定手段は、前記複数のコアそれぞれの前記処理能力を前記複数のコアそれぞれの前記スペックに基づいて推定する、
    請求項1または請求項2に記載の画像処理装置。
  4. 前記第二の推定手段は、前記複数のコアそれぞれの前記処理能力を、当該画像処理装置の起動の際に前記複数のコアそれぞれから収集した情報に基づいて推定する、
    請求項1または請求項2に記載の画像処理装置。
  5. 前記複数のコアのうちの1つ以上のコアがグループになって並列処理によって前記特定の処理を行うことが可能であり、
    前記第一の推定手段は、前記処理能力として、前記グループごとの処理能力を推定し、
    前記第二の推定手段は、前記所要時間として、前記グループそれぞれが前記特定の処理を実行するのに掛かる所要時間を推定し、
    前記制御手段は、前記特定の処理を、前記所要時間が前記閾値以下でありかつ前記閾値に最も近いグループに実行させる、
    請求項1ないし請求項4のいずれかに記載の画像処理装置。
  6. 前記特定の処理は、PDL(Page Description Language)で記述されたデータを中間言語のデータへ変換する処理、中間言語のデータに対するラスタライズの処理、またはスキャナによって読み取られたデータをビットマップデータへ変換する処理であり、
    前記閾値は、前記特定の処理を含む工程によって得られるデータに基づいてプリンタが一定の速度で印刷を行うことができる時間に設定されている、
    請求項1ないし請求項5のいずれかに記載の画像処理装置。
  7. 前記特定の処理は、スキャナによって読み取られたデータをアプリケーション用のアプリケーションデータへ変換する処理であり、
    前記閾値は、前記アプリケーションデータを一定の速度で記録媒体に保存することができる時間に設定されている、
    請求項1ないし請求項5のいずれかに記載の画像処理装置。
  8. スペックの異なる複数のコアを有するプロセッサを有する画像処理装置において特定の処理を実行する特定処理実行方法であって
    前記複数のコアそれぞれの処理能力を推定する第一のステップと、
    前記特定の処理を前記複数のコアそれぞれが実行するのに掛かる所要時間を、前記複数のコアそれぞれの前記処理能力に基づいて推定する第二のステップと、
    前記複数のコアのうち前記所要時間が閾値以下でありかつ前記閾値に最も近いコアに前記特定の処理を実行させる第三のステップと、
    を有することを特徴とする特定処理実行方法。
  9. 画像処理装置に設けられるスペックの異なる複数のコアを有するプロセッサに用いられるコンピュータプログラムであって、
    前記プロセッサに、
    前記複数のコアそれぞれの処理能力を推定する第一の処理を実行させ、
    前記特定の処理を前記複数のコアそれぞれが実行するのに掛かる所要時間を、前記複数のコアそれぞれの前記処理能力に基づいて推定する第二の処理を実行させ、
    前記特定の処理を実行すべきコアとして、前記複数のコアのうち前記所要時間が閾値以下でありかつ前記閾値に最も近いコアを選択する第三の処理を実行させる、
    ことを特徴とするコンピュータプログラム。
JP2014222178A 2014-10-31 2014-10-31 画像形成装置、特定処理実行方法、およびコンピュータプログラム Pending JP2016091137A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014222178A JP2016091137A (ja) 2014-10-31 2014-10-31 画像形成装置、特定処理実行方法、およびコンピュータプログラム
EP15188537.3A EP3021567B1 (en) 2014-10-31 2015-10-06 Image processing apparatus, method for performing specific process, computer-readable storage medium for computer program
CN201510728231.9A CN105574805B (zh) 2014-10-31 2015-10-30 图像处理装置以及特定处理执行方法
US14/928,006 US9781295B2 (en) 2014-10-31 2015-10-30 Image processing apparatus, a method for performing specific process on an image processing apparatus, and a computer-readable storage medium for a program to be executed by an image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014222178A JP2016091137A (ja) 2014-10-31 2014-10-31 画像形成装置、特定処理実行方法、およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2016091137A true JP2016091137A (ja) 2016-05-23

Family

ID=54337100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014222178A Pending JP2016091137A (ja) 2014-10-31 2014-10-31 画像形成装置、特定処理実行方法、およびコンピュータプログラム

Country Status (4)

Country Link
US (1) US9781295B2 (ja)
EP (1) EP3021567B1 (ja)
JP (1) JP2016091137A (ja)
CN (1) CN105574805B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018073162A (ja) * 2016-10-31 2018-05-10 セイコーエプソン株式会社 画像処理装置、画像処理方法および制御プログラム
WO2020121840A1 (ja) * 2018-12-12 2020-06-18 日立オートモティブシステムズ株式会社 演算制御装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6736954B2 (ja) * 2016-04-19 2020-08-05 株式会社リコー 画像形成装置、画像形成システム及び画像形成方法
US10521271B2 (en) 2017-04-01 2019-12-31 Intel Corporation Hybrid low power homogenous grapics processing units
KR20220046221A (ko) * 2020-10-07 2022-04-14 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007105917A (ja) * 2005-10-11 2007-04-26 Canon Inc プリンタ装置
JP2009054001A (ja) * 2007-08-28 2009-03-12 Fujifilm Corp 画像処理装置及びプログラム
JP2009230220A (ja) * 2008-03-19 2009-10-08 Fuji Xerox Co Ltd 情報処理装置、及び画像処理装置
JP2010160715A (ja) * 2009-01-09 2010-07-22 Toyota Motor Corp 車両用電子制御ユニット
JP2012147211A (ja) * 2011-01-12 2012-08-02 Konica Minolta Business Technologies Inc 画像処理演算装置、及び、画像形成装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4090908B2 (ja) * 2003-02-21 2008-05-28 シャープ株式会社 画像処理装置および画像形成装置
US9569270B2 (en) * 2009-04-21 2017-02-14 Empire Technology Development Llc Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts
JP2011098500A (ja) * 2009-11-05 2011-05-19 Canon Inc 画像形成装置、および画像形成装置制御方法、およびプログラム。
JP2012071544A (ja) 2010-09-29 2012-04-12 Ricoh Co Ltd 画像形成装置、画像処理方法
US9619282B2 (en) * 2012-08-21 2017-04-11 Lenovo (Singapore) Pte. Ltd. Task scheduling in big and little cores

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007105917A (ja) * 2005-10-11 2007-04-26 Canon Inc プリンタ装置
JP2009054001A (ja) * 2007-08-28 2009-03-12 Fujifilm Corp 画像処理装置及びプログラム
JP2009230220A (ja) * 2008-03-19 2009-10-08 Fuji Xerox Co Ltd 情報処理装置、及び画像処理装置
JP2010160715A (ja) * 2009-01-09 2010-07-22 Toyota Motor Corp 車両用電子制御ユニット
JP2012147211A (ja) * 2011-01-12 2012-08-02 Konica Minolta Business Technologies Inc 画像処理演算装置、及び、画像形成装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018073162A (ja) * 2016-10-31 2018-05-10 セイコーエプソン株式会社 画像処理装置、画像処理方法および制御プログラム
WO2020121840A1 (ja) * 2018-12-12 2020-06-18 日立オートモティブシステムズ株式会社 演算制御装置
JP2020095441A (ja) * 2018-12-12 2020-06-18 日立オートモティブシステムズ株式会社 演算制御装置
JP7385989B2 (ja) 2018-12-12 2023-11-24 日立Astemo株式会社 演算制御装置

Also Published As

Publication number Publication date
US9781295B2 (en) 2017-10-03
US20160127604A1 (en) 2016-05-05
EP3021567A1 (en) 2016-05-18
CN105574805A (zh) 2016-05-11
CN105574805B (zh) 2019-06-07
EP3021567B1 (en) 2019-11-20

Similar Documents

Publication Publication Date Title
US7800772B2 (en) Data processing apparatus, image forming apparatus, image forming method, and printing system
JP2016091137A (ja) 画像形成装置、特定処理実行方法、およびコンピュータプログラム
JP2011257799A (ja) プリントサーバ及び印刷制御システム並びに印刷制御方法
JP5655590B2 (ja) 画像形成装置、画像形成装置の制御方法及び画像形成装置の制御プログラム
JP6447564B2 (ja) 画像形成装置、プログラム及び情報処理システム
US8786908B2 (en) Image forming apparatus, method of controlling drawing processing, and recording medium storing drawing processing control program
US10983741B2 (en) Image processing apparatuses and an external server configured in a case image information in an unsupported format is not supported, controls so as to perform conversion of the unsupported format
JP2013052615A (ja) 画像形成装置、描画処理制御プログラム及び描画処理制御方法
JP2011076043A (ja) 画像形成装置、画像形成装置の制御方法及び制御プログラム
US20170060644A1 (en) Image processing apparatus, control task allocation method, and recording medium
US9047552B2 (en) Forming system and image forming apparatus that generate image log data to server
JP2011143576A (ja) 印刷データ生成装置、画像形成装置及びプログラム
JP2011053944A (ja) 画像形成装置、画像形成方法及び制御プログラム
JP2016095570A (ja) 情報処理装置、当該情報処理装置を備える画像形成装置、情報処理方法、および、当該情報処理方法をコンピュータに実現させるためのプログラム
JP4992637B2 (ja) 画像形成システム
JP2014235679A (ja) サーバ装置、サーバ装置の制御方法、及びプログラム
JP6598622B2 (ja) 画像形成装置、情報処理方法及びプログラム
US8699071B2 (en) Image forming apparatus and method of forming an image thereof
JP2015020404A (ja) 画像形成装置
JP5447219B2 (ja) 印刷データ生成装置、印刷データ生成方法および印刷データ生成プログラム
JP2010218325A (ja) 印刷制御装置および印刷システム
JP2015176604A (ja) 画像形成システム、情報処理装置、及び画像形成装置
JP6063857B2 (ja) 画像形成システム
JP2017128041A (ja) 画像形成装置及び動作制御プログラム並びに動作制御方法
JP6264757B2 (ja) 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170221

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180109