JP6128104B2 - 画像処理装置、その制御方法、およびプログラム - Google Patents

画像処理装置、その制御方法、およびプログラム Download PDF

Info

Publication number
JP6128104B2
JP6128104B2 JP2014241787A JP2014241787A JP6128104B2 JP 6128104 B2 JP6128104 B2 JP 6128104B2 JP 2014241787 A JP2014241787 A JP 2014241787A JP 2014241787 A JP2014241787 A JP 2014241787A JP 6128104 B2 JP6128104 B2 JP 6128104B2
Authority
JP
Japan
Prior art keywords
cores
core
processor
peripheral device
image processing
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.)
Active
Application number
JP2014241787A
Other languages
English (en)
Other versions
JP2016103196A (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.)
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 JP2014241787A priority Critical patent/JP6128104B2/ja
Priority to CN201510836292.7A priority patent/CN105657208B/zh
Priority to US14/953,118 priority patent/US9854129B2/en
Publication of JP2016103196A publication Critical patent/JP2016103196A/ja
Application granted granted Critical
Publication of JP6128104B2 publication Critical patent/JP6128104B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • 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
    • H04N1/32593Using a plurality of controllers, e.g. for controlling different interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00347Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with another still picture apparatus, e.g. hybrid still picture apparatus
    • 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/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • 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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00952Using a plurality of control devices, e.g. for different functions
    • 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/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Facsimiles In General (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Image Processing (AREA)

Description

本開示は、画像処理装置、その制御方法、およびプログラムに関し、特に、マルチコアプロセッサーを備えた画像処理装置、その制御方法、およびそのような画像処理装置において実行されるプログラムに関する。
近年、画像処理装置において、マルチコアプロセッサーを備えるものがある。マルチコアプロセッサーの制御として、複数のプロセッサーの物理メモリーを共有して管理する対象型マルチプロセッシング(SMP:Symmetric Multi-Processing)と、プロセッサーごとに役割が決められている非対称型マルチプロセッシング(AMP:Asymmetrical Multi-Processing)とがある。そして、マルチコアプロセッサーを備えた装置における制御については、種々の技術が提案されている。
たとえば、特開2014−96024号公報(特許文献1)には、複数のコアを備えたマルチコアプロセッサーの制御プログラムが開示されている。当該制御プログラムは、生成されるスレッドの動作コアを決定するグローバルスケジューラーと、複数のコアごとに設けられたローカルスケジューラーとを備える。そして、ローカルスケジューラーは、自コアに割り当てられたスレッドを優先度に応じてスケジューリングして自コアで実行させる。また、グローバルスケジューラーは、所定のスケジューリングポリシーに基づいて、複数のコア間でのスレッドマイグレーションの実行を決定し、そして、各コアに割り当てられたスレッドのうち高優先度の上位N個のスレッドについてはスレッドマイグレーションの対象としないようにする。
また、特開2011−152685号公報(特許文献2)には、複数のMPUコアを有するCPUを備えたプリンタ制御装置が開示されている。当該装置は、受信処理、データ解析処理、画像描画処理、およびビデオ信号送信処理それぞれのプログラムを実行するプロセスを各コアに割り当てるとともに、各プロセス間の情報をFIFO形式の通信手段で伝達することで、各プロセスを同時並列実行する。
特開2014−96024号公報 特開2011−152685号公報
マルチコアプロセッサーを備える画像処理装置は、当該画像処理装置が接続される周辺機器の状況に応じて、タスクのコア割り当てを変更する場合がある。たとえば、上記のSMPで制御された画像処理装置が、周辺機器(たとえば、スキャナ)に接続され、そして、当該周辺機器がプロセッサーが装着されていないことを検知した場合を想定する。この場合、画像処理装置は、画像処理装置側のマルチコアプロセッサー内の複数のコアの中の一部をスキャナ制御用として割り当てながら、各コアで処理を分散させる。つまり、画像処理装置は、いずれかのコアの処理が重くなった場合には、それ以外のコアに処理を移動させて、システムとしての処理効率を維持する制御を実行する。
なお、公知の技術として、各制御タスクを指定されたコア上でのみ動作させるというものがあるが、これは一部のOS(たとえば、Linux(登録商標))のカーネルには適用できない。このため、このような技術が当該一部のOSを装着した装置に適用された場合、たとえばデバイスドライバーやスケジューラー等が使用されて、OSが捌かなければならない処理が増えてくると、全コアの処理が重くなることが想定される。
また、画像処理装置において実行される制御タスクの内、実行されるコアが固定されるよりも、複数コアで並列して処理された方が、効率のよいものもある。
本開示は、かかる実情を鑑み考え出されたものであり、その目的は、マルチコアプロセッサーを備え、プロセッサーを装着されていない周辺機器に接続され得る画像処理装置において、処理効率を向上させることである。
周辺機器に接続される画像処理装置であって、複数のコアを含むマルチコアプロセッサーを備え、マルチコアプロセッサーは、周辺機器にプロセッサーが装着されているか否かを判別するための判別手段と、複数のコアに処理を割り当てるためのスケジューラーとを含み、判別手段が周辺機器にプロセッサーが装着されていることを判別した場合には、スケジューラーは、複数のコアに画像処理装置の制御プログラムの処理を割り当て、マルチコアプロセッサーは、複数のコアを対称型マルチプロセッシングで制御し、判別手段が周辺機器にプロセッサーが装着されていないことを判別した場合には、スケジューラーは、周辺機器の制御プログラムを複数のコアの中の一部のコアに割り当て、画像処理装置の制御プログラムの中の残りの制御プログラムを複数のコアの中の残りのコアに割り当て、マルチコアプロセッサーは、複数のコアの中の一部のコアを非対称型マルチプロセッシングで制御することを特徴とする、画像処理装置が提供される。
好ましくは、スケジューラーは、判別手段が周辺機器にプロセッサーが装着されていないことを判別した場合に、周辺機器の制御プログラムとしてのファームウェアおよび周辺機器のハードウェアの制御に関する処理を実行するためのプログラムを複数のコアの中の一部のコアに割り当てる。
好ましくは、マルチコアプロセッサーは、判別手段が周辺機器にプロセッサーが装着されていないことを判別した場合に、複数のコアの中の残りのコアすべてを対称型マルチプロセッシングで制御することを特徴とする
マルチコアプロセッサーは、判別手段が周辺機器にプロセッサーが装着されていないことを判別した場合に、複数のコアの中の残りのコアのうち、一部を対称型マルチプロセッシングで制御し、残りを非対象型マルチプロセッシングで制御することを特徴とする
他の局面に従うと、周辺機器に接続され、複数のコアを含むマルチコアプロセッサーを備えた画像処理装置の制御方法であって、周辺機器にプロセッサーが装着されているか否かを判別するステップと、周辺機器にプロセッサーが装着されていることを判別した場合には、複数のコアに画像処理装置の制御プログラムを割り当て、複数のコアを対称型マルチプロセッシングで制御するステップと、周辺機器にプロセッサーが装着されていないことを判別した場合には、周辺機器の制御プログラムを複数のコアの中の一部のコアに割り当て、画像処理装置の制御プログラムの中の残りの制御プログラムを複数のコアの中の残りのコアに割り当て、複数のコアの中の一部のコアを非対称型マルチプロセッシングで制御するステップとを備える、画像処理装置の制御方法が提供される。
さらに他の局面に従うと、周辺機器に接続された画像処理装置に備えられた、複数のコアを含むマルチコアプロセッサーによって実行されるプログラムであって、プログラムは、マルチコアプロセッサーに、周辺機器にプロセッサーが装着されているか否かを判別するステップと、周辺機器にプロセッサーが装着されていることを判別した場合には、複数のコアに画像処理装置の制御プログラムのスレッドを割り当て、複数のコアを対称型マルチプロセッシングで制御するステップと、周辺機器にプロセッサーが装着されていないことを判別した場合には、周辺機器の制御プログラムを複数のコアの中の一部のコアに割り当て、画像処理装置の制御プログラムの中の残りの制御プログラムを複数のコアの中の残りのコアに割り当て、複数のコアの中の一部のコアを非対称型マルチプロセッシングで制御するステップとを実行させる、プログラムが提供される。
さらに他の局面に従うと、周辺機器に接続される画像処理装置であって、複数のコアを含むマルチコアプロセッサーを備え、マルチコアプロセッサーは、周辺機器を接続した際のレスポンスの有無に応じて、周辺機器のハードウェアの制御に関する処理を実行するためのプログラムを対称型マルチプロセッシングで制御されるコアによって実行するか、非対称型マルチプロセッシングで制御されるコアによって実行するかを切り替えることを特徴とする、画像処理装置が提供される。
画像処理システムの構成を概略的に示す図である。 スキャナー装置がプロセッサーを備えるときの、画像処理システムにおける機能的構成の一例を模式的に示す図である。 スキャナー装置がプロセッサーを備えないときの、画像処理システムにおける機能的構成の一例を模式的に示す図である。 スキャナー装置がプロセッサーを備えるときの、画像処理システムのハードウェア構成の一例を示す図である。 スキャナー装置がプロセッサーを備えないときの、画像処理システムのハードウェア構成の一例を示す図である。 MFP(Multi-Functional Peripheral)においてオペレーティングシステムが起動する際に実行される処理のフローチャートである。
以下に、図面を参照しつつ、画像処理装置を含む画像処理システムの実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
[画像処理システムの概略構成]
図1は、画像処理システムの構成を概略的に示す図である。
図1を参照して、画像処理システムは、画像処理装置の一例であるMFP100と、当該MFP100に接続されたスキャナー装置200とを含む。スキャナー装置200は、たとえばシリアルインターフェイス(I/F)を介して、MFP100に接続される。
スキャナー装置200では、プロセッサーが装着されている場合には、当該プロセッサーがスキャナー装置200のファームウェアを実行する。一方、スキャナー装置200においてプロセッサーが装着されていない場合には、MFP100のプロセッサーがスキャナー装置200のファームウェアを実行する。スキャナー装置200のファームウェアは、当該スキャナー装置200の制御プログラムの一例である。本明細書では、スキャナー装置200のファームウェアを「スキャナーFW」と称する場合がある。
MFP100は、マルチコアプロセッサーを備える。MFP100では、スキャナー装置200にプロセッサーが装着されていない場合に、マルチコアプロセッサーの中の1つのコアがスキャナーFWを実行する。また、MFP100では、スキャナーFWを実行するコアは、さらに、当該スキャナーFWに関連する制御プログラムを実行する。スキャナーFWに関連する制御プログラムとは、たとえば、スキャナー装置200(スキャナー部210)に対し原稿のスキャンを指示し、そして、スキャナー装置200から出力されるスキャンデータを圧縮する、スキャン制御プログラムである。スキャン制御プログラムは、スキャナー装置200のハードウェアの制御に関する処理を実行するためのプログラムの一例である。
[コントローラーの機能的構成]
図2は、スキャナー装置200がプロセッサーを備えるときの、画像処理システムにおける機能的構成の一例を模式的に示す図である。
図2に示された例では、MFP100は、当該MFP100を統括的に制御するコントローラー150を備える。また、スキャナー装置200は、プロセッサーとして、当該スキャナー装置200を統括的に制御するCPU(Central Processing Unit)251を含む。CPU251は、スキャナーFWを実行する。コントローラー150は、MFP100の制御プログラムを実行する。MFP100の制御プログラムは、RIP(Raster Image Processor)制御プログラムと、スキャン制御プログラムと、回転制御プログラムと、JOB制御プログラムと、エンジン制御プログラムとを含む。
RIP制御プログラムは、たとえば、プリントデータであるPDL(Printer Description Language)をビットマップ形式のラスタデータに変換するためのRIP処理を実行する。
スキャン制御プログラムは、たとえば、スキャナー装置200から出力されるスキャンデータを圧縮して、後述するエンジン制御プログラムへと出力する。
回転制御プログラムは、画像データの回転処理を実行する。
JOB制御プログラムは、MFP100が受け付けたジョブ(印刷ジョブ等)の処理の実行および管理を、統括的に制御する。
エンジン制御プログラムは、MFP100におけるジョブの実行等のために、ハードウェアの動作を制御する。たとえば、エンジン制御プログラムは、上記したスキャン制御プログラムから出力された、圧縮されたデータを展開することにより印刷データを生成する。また、エンジン制御プログラムは、当該印刷データに基づく画像をシート上に印刷するための処理を制御する。
コントローラー150は、コア(0)160、コア(1)161、コア(2)162、およびコア(3)163で示された4つのコアを含む。図2に示された例では、上記のRIP制御プログラム、スキャン制御プログラム、回転制御プログラム、JOB制御プログラム、およびエンジン制御プログラムは、4つのコアにおいてSMPで実現される。
なお、図2(および、後述する図3)では、SMPで制御される複数のコアにおいて、各制御プログラムが一律に実行されるように記載されているが、実際には、複数のコアは、SMPで制御されることにより、互いの作業負荷が均等になるように動作する。SMPによる負荷の分散の具体的方法は公知の技術を採用することができるため、ここでは詳細な説明は繰り返さない。
図3は、スキャナー装置200がプロセッサーを備えないときの、画像処理システムにおける機能的構成の一例を模式的に示す図である。
図3に示された例では、MFP100のコントローラー150における4つのコアの中の一部(コア(0)160)が、スキャナーFWを実行する。また、コア(0)160は、スキャナーFWに関連する制御プログラムの一例である、スキャン制御プログラムを実行する。一方、コントローラー150では、残りの3つのコアにおいて、残りの制御プログラム(RIP制御プログラム、回転制御プログラム、JOB制御プログラム、およびエンジン制御プログラム)がSMPで実現される。
つまり、図3に示された例では、コントローラー150における4つのコアのうち、1つのコア(コア(0)160)において、スキャナーFWおよびスキャン制御プログラムが、AMPで実現される。そして、コントローラー150の残りのコア(コア(1)161、コア(2)162、およびコア(3)163)において、MFP100の残りの制御プログラムが、SMPで実現される。
[画像処理システムのハードウェア構成(1)]
図4は、スキャナー装置200がプロセッサーを備えるときの、画像処理システムのハードウェア構成の一例を示す図である。以下に、MFP100とスキャナー装置200のそれぞれのハードウェア構成を説明する。
(MFP100)
図4に示されるように、MFP100は、上述のようにコントローラー150を備える。コントローラー150は、マルチコアプロセッサーの一例であり、上述したように、4つのコア(コア(0)160、コア(1)161、コア(2)162、およびコア(3)163)を含む。また、コントローラー150は、スケジューラー155および判別部156を含む。スケジューラー155および判別部156は、コントローラー150が備えるプロセッサーが予め定められたプログラム(たとえば、オペレーティングシステムプログラム)を実行することによって、実現されてもよい。
スケジューラー155は、4つのコアに処理を割り当てる。判別部156は、MFP100に接続された周辺機器においてプロセッサーが装着されているかどうかを判別する。
MFP100は、さらに、表示パネル101と、操作パネル102と、スキャナー部103と、プリンター部104と、ファクシミリ(FAX)部105と、NIC(Network Interface Card)106と、補助記憶装置107と、コネクター108と、ROM109と、RAM110とを備える。
表示パネル101は、たとえば液晶表示装置からなり、MFP100の状態等の各種の情報を表示する。
操作パネル102は、コピーの画質または用紙のための設定値、スキャンの送信先(宛先登録)を登録または選択するための情報など、各種の情報の入力を受け付ける。操作パネル102は、たとえば、タッチパネルとして表示パネル101と一体的に設けられていてもよい。
スキャナー部103は、当該スキャナー部103にセットされた原稿をスキャンし、原稿の画像データを生成する。スキャナー部103における画像データの生成方法は公知の方法を採用することができるため、ここでは詳細な説明は繰り返さない。
プリンター部104は、たとえば電子写真方式により、スキャナー部103で読み取られた画像データや、スキャナー装置200等の外部の機器から送信されたプリントデータの画像を印刷する装置である。電子写真方式などの画像形成の態様は、公知の技術を採用することができるため、ここでは詳細な説明は繰り返さない。
FAX部105は、ファクシミリ通信の送受信機能を実現する。
NIC106は、MFP100がネットワークを介した通信を行なうときに利用される、インターフェイスの一例である。
補助記憶装置107は、MFP100に登録されている宛先情報やドキュメントなどの各種のデータを保存する。ドキュメントのデータは、外部の機器からMFP100に入力される場合もあれば、スキャナー部103で画像が読み取られることによって生成される場合もある。
補助記憶装置107は、たとえば、CD−ROM(Compact Disc - Read Only Memory)、DVD−ROM(Digital Versatile Disk - Read Only Memory)、USB(Universal Serial Bus)メモリー、メモリーカード、FD(Flexible Disk)、ハードディスク、SSD(Solid State Drive)、磁気テープ、カセットテープ、MO(Magnetic Optical Disc)、MD(Mini Disc)、IC(Integrated Circuit)カード(メモリーカードを除く)、光カード、マスクROM、EPROM、EEPROM(Electronically Erasable Programmable Read-Only Memory)などの、不揮発的にデータを格納する媒体が挙げられる。また、補助記憶装置107には、ネットワークを介してダウンロードされたプログラムがインストールされる場合も有り得る。
なお、本開示にかかるプログラムは、コンピューターのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本開示にかかるプログラムに含まれ得る。
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本開示にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
コネクター108は、MFP100を外部の機器と接続させるための部分であり、たとえば、RS−232C規格のシリアルポートのインターフェースである。MFP100は、たとえばコネクター108を介して、スキャナー装置200と接続する。
ROM109は、CPU101が実行するプログラムを含む各種のデータを格納する。
RAM110は、CPU101におけるプログラム実行時のワークエリアとして機能する。RAM110は、スキャナー部103で読み取られた画像データ等を一時的に保存する場合もある。
(スキャナー装置200)
図4に示されるように、スキャナー装置200は、コントローラー250と、ROM201と、RAM202と、スキャナー部210とを備える。コントローラー250、ROM201、RAM202、およびスキャナー部210は、内部バスを介して互いに接続される。コントローラー250は、プロセッサーの一例であるCPU251を含む。CPU251は、スキャナー装置200の動作を統括的に制御する。
スキャナー部210は、CPU251によって制御される。より具体的には、スキャナー部210は、CPU251の制御の下で、当該スキャナー部210にセットされた原稿をスキャンし、原稿の画像データを生成する。生成された画像データは、たとえば、コントローラー250によって、MFP100に送信される。
[画像処理システムのハードウェア構成(2)]
図5は、スキャナー装置200がプロセッサーを備えないときの、画像処理システムのハードウェア構成の一例を示す図である。
図5に示された画像処理システムでは、スキャナー装置200にはプロセッサーが装着されていない。スキャナー装置200のスキャナー部210の動作は、コントローラー150の中の1つのコアによって制御される。
[処理の流れ]
図6は、MFP100においてオペレーティングシステムが起動する際に実行される処理のフローチャートである。当該処理は、たとえば、コントローラー150における複数のコアによって実行される。以下の説明では、図6の処理の実行主体は、コントローラー150として記載される。
図6を参照して、ステップS10で、コントローラー150は、コントローラー150のすべてのコア(コア(0)〜コア(3))をSMPモードに設定する。当該設定は、たとえば補助記憶装置107またはRAM110における各コアの動作モードの設定値を格納する部分に、SMPモードに対応する値を登録することにより実現される。コントローラー150の各コアは、当該部分の設定値に従って、SMPモードまたはAMPモードで動作する。そして、制御はステップS20へ進められる。
ステップS20で、コントローラー150は、MFP100の制御プログラム(図2のRIP制御プログラム、スキャン制御プログラム、回転制御プログラム、JOB制御プログラム、およびエンジン制御プログラム等)のスレッドを、4つのコア(コア(0)〜コア(3))の中の任意のコアにロードする。なお、スレッドのロードは、4つのコア間で、互いに作業負荷が均等になるように(または、差異が最小限になるように)配分される。そして、制御はステップS30へ進められる。
ステップS30で、コントローラー150は、当該コントローラー150のカーネルを初期化する。そして、制御はステップS40へ進められる。
ステップS40で、コントローラー150は、周辺機器の一例であるスキャナー装置200にプロセッサーが装着されているかどうかを判断する。より具体的には、たとえばコントローラー150は、コネクター108等を介して接続された周辺機器に対して、コマンド「初期通信開始」を送信し、当該コマンドに対するレスポンスがあった場合には、周辺機器にプロセッサーが装着されていると判断する。一方、コントローラー150は、当該コマンドに対するレスポンスが無かった場合には、周辺機器にはプロセッサーが装着されていないと判断する。
そして、ステップS40で、コントローラー150は、周辺機器にプロセッサーが装着されていると判断すると(ステップS40でYES)、ステップS80へ制御を進める。一方、コントローラー150は、周辺機器にはプロセッサーが装着されていないと判断すると(ステップS40でNO)、ステップS50へ制御を進める。つまり、図6の処理では、画像処理システムが図2に示されたような構成を有する場合にはステップS80へ制御が進められ、図3に示された構成を有する場合にはステップS50へ制御が進められる。
ステップS50で、コントローラー150は、コア(0)160をAMPモードに設定する。そして、制御はステップS60に進められる。
ステップS60で、コントローラー150は、コア(0)160に、スキャナーFW、および、スキャナーFWに関連するプログラムの一例であるスキャン制御プログラムをロードする。そして、制御はステップS70に進められる。
なお、ステップS50およびステップS60の制御により、コントローラー150では、図3に示されたように、コア(0)160がAMPモードに設定され、コア(1)161〜コア(3)163がSMPモードに設定される。
図6に戻って、ステップS70で、コントローラー150は、コア(0)160のカーネルを初期化する。そして、図6の処理を終了させる。
一方、ステップS80で、コントローラー150は、スキャナー装置200のCPU(図4のCPU251)の制御プログラム(スキャナーFW)を、CPU251にロードする。そして、制御はステップS90へ進められる。
ステップS90で、コントローラー150は、スキャナー装置200のCPU251のカーネルを初期化して、図6の処理を終了させる。
以上の通り図6を参照して説明された処理では、ステップS40の制御は、判別部156によって実現される。また、コントローラー150における各コアの設定に関する制御(ステップS10,S20,S50,S60)は、スケジューラー155によって実現される。
以上説明された本実施の形態では、MFP100に接続される周辺機器にプロセッサーが装着されている場合には、コントローラー150における複数のコアは、SMPモードで制御される。一方、MFP100に接続される周辺機器にプロセッサーが装着されていない場合、MFP100では、複数のコアの中の一部が当該周辺機器の制御プログラムおよび当該制御プログラムに関連するMFP100の制御プログラムを実行するためにAMPモードで制御され、残りのコアがMFP100の制御プログラムを実行するためにSMPモードで制御される。
これにより、周辺機器にプロセッサーが装着されていないときには、当該周辺機器の制御プログラムおよび当該制御プログラム関連するMFP100の制御プログラムを1つのコアで集中的に実行させながら、MFP100の残りの制御プログラムを他のコアにおいてSMPモードで効率的に実行させることができる。
ここで、本実施の形態における制御をより具体的に説明する。
本実施の形態の画像処理システムでは、スキャナー装置200にプロセッサーが装着されていない場合、MFP100のコントローラー150の4つのコアのうち1つを、スキャナー装置200の制御用(スキャナーFW)に割り当てる際、同じコアに、スキャン制御タスク(スキャン制御プログラム)も割り当てる。さらに具体的には、スキャン制御タスクをローダブルで用意しておき、スキャナーFWを実行させるコアをAMPモードで他のコアから分離した後、スキャナーFWとスキャン制御タスクをスキャナー制御用のコア(コア(0)160)でロードする。この結果、スキャナー制御用のコアとMFP100のファームウェアを実行するコアとの間で、通信割合を減少させることができ、また、共有しなければならない情報も低減させることができる。
つまり、制御ソフトウェアの下層にいけばいくほど通信回数は増加する。上位層では、例えばスキャンジョブが開始されると、スキャナー制御用のコアとMFP100のファームウェアを実行するコアとの間では、スキャンジョブ完了の粒度での通信が実施される。一方、下位層では、1枚目スキャン開始から1枚目スキャン完了まで、さらに下位層では、バンド転送開始からバンド転送完了まで、といった粒度の細かい通信が発生すると考えられる。
一方、上記のように、スキャナーFWを実行させるコアをAMPモードで他のコアから分離した後、スキャナーFWとスキャン制御タスクをスキャナー制御用のコア(コア(0)160)でロードすることにより、スキャナー制御用のコアとMFP100のファームウェアを実行するコアとの間で共有しなければならない情報の量を減らすことができる。たとえば、スキャン制御プログラムとJOB制御プログラムとの間では、ジョブの設定値や処理後のバッファ位置(例えば先頭)程度の情報が共有されれればよい。
スキャナーFWとスキャン制御プログラムとの間では、さらに細かい設定値、つまり、HW設定レベルの設定値、各ページ(バンド)毎のバッファ位置、等が共有される。
また、スキャナー制御用コアでは、スキャナーFWおよびスキャン制御が動作するため、割り当てたコア(スキャナー制御用コア)の性能がより多く引き出され得る。
なお、MFP100の制御プログラムの中でも、AMPモードで制御されることが好ましいものもある。たとえば、圧縮されたスキャンデータを展開するエンジン制御プログラムは、バンド単位で処理が行なわれる場合、比較的高い頻度でスキャン制御プログラムから圧縮データを出力される。このことから、MFP100がバンド単位で画像データを処理する場合には、エンジン制御プログラムは、AMPモードで制御されるコアによって実行されることが好ましい。
つまり、このような場合、エンジン制御プログラムのスレッドは、単一のコアによって実行されることが好ましい。一方、MFP100がページ単位で画像データを処理する場合には、MFP100全体の処理効率向上の観点から、エンジン制御プログラムは、SMPモードで制御されるコアによって実行されることが好ましい。
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。
100 MFP、101 表示パネル、102 操作パネル、103,210 スキャナー部、104 プリンター部、105 FAX部、106 NIC、107 補助記憶装置、108 コネクター、109,201 ROM、110,202 RAM、150,250 コントローラー、155 スケジューラー、156 判別部、200 スキャナー装置。

Claims (7)

  1. 周辺機器に接続される画像処理装置であって、
    複数のコアを含むマルチコアプロセッサーを備え、
    前記マルチコアプロセッサーは、
    前記周辺機器にプロセッサーが装着されているか否かを判別するための判別手段と、
    前記複数のコアに処理を割り当てるためのスケジューラーとを含み、
    記判別手段が前記周辺機器にプロセッサーが装着されていることを判別した場合には、
    前記スケジューラーは、前記複数のコアに前記画像処理装置の制御プログラムの処理を割り当て、
    前記マルチコアプロセッサーは、前記複数のコアを対称型マルチプロセッシングで制御し
    記判別手段が前記周辺機器にプロセッサーが装着されていないことを判別した場合には、
    前記スケジューラーは、前記周辺機器の制御プログラムを前記複数のコアの中の一部のコアに割り当て、前記画像処理装置の制御プログラムの中の残りの制御プログラムを前記複数のコアの中の残りのコアに割り当て、
    前記マルチコアプロセッサーは、前記複数のコアの中の一部のコアを非対称型マルチプロセッシングで制御することを特徴とする、画像処理装置。
  2. 前記スケジューラーは、前記判別手段が前記周辺機器にプロセッサーが装着されていないことを判別した場合に、前記周辺機器の制御プログラムとしてのファームウェアおよび前記周辺機器のハードウェアの制御に関する処理を実行するためのプログラムを前記複数のコアの中の一部のコアに割り当てる、請求項1に記載の画像処理装置。
  3. 前記マルチコアプロセッサーは、前記判別手段が前記周辺機器にプロセッサーが装着されていないことを判別した場合に、前記複数のコアの中の残りのコアすべてを対称型マルチプロセッシングで制御することを特徴とする、請求項1または請求項2に記載の画像処理装置。
  4. 前記マルチコアプロセッサーは、前記判別手段が前記周辺機器にプロセッサーが装着されていないことを判別した場合に、前記複数のコアの中の残りのコアのうち、一部を対称型マルチプロセッシングで制御し、残りを非対象型マルチプロセッシングで制御することを特徴とする、請求項1または請求項に記載の画像処理装置。
  5. 周辺機器に接続され、複数のコアを含むマルチコアプロセッサーを備えた画像処理装置の制御方法であって、
    前記周辺機器にプロセッサーが装着されているか否かを判別するステップと、
    前記周辺機器にプロセッサーが装着されていることを判別した場合には、前記複数のコアに前記画像処理装置の制御プログラムを割り当て、前記複数のコアを対称型マルチプロセッシングで制御するステップと、
    前記周辺機器にプロセッサーが装着されていないことを判別した場合には、前記周辺機器の制御プログラムを前記複数のコアの中の一部のコアに割り当て、前記画像処理装置の制御プログラムの中の残りの制御プログラムを前記複数のコアの中の残りのコアに割り当て、前記複数のコアの中の一部のコアを非対称型マルチプロセッシングで制御するステップとを備える、画像処理装置の制御方法。
  6. 周辺機器に接続された画像処理装置に備えられた、複数のコアを含むマルチコアプロセ
    ッサーによって実行されるプログラムであって、
    前記プログラムは、前記マルチコアプロセッサーに、
    前記周辺機器にプロセッサーが装着されているか否かを判別するステップと、
    前記周辺機器にプロセッサーが装着されていることを判別した場合には、前記複数のコ
    アに前記画像処理装置の制御プログラムのスレッドを割り当て、前記複数のコアを対称型マルチプロセッシングで制御するステップと、
    前記周辺機器にプロセッサーが装着されていないことを判別した場合には、前記周辺機
    器の制御プログラムを前記複数のコアの中の一部のコアに割り当て、前記画像処理装置の制御プログラムの中の残りの制御プログラムを前記複数のコアの中の残りのコアに割り当て、前記複数のコアの中の一部のコアを非対称型マルチプロセッシングで制御するステップとを実行させる、プログラム。
  7. 周辺機器に接続される画像処理装置であって、
    複数のコアを含むマルチコアプロセッサーを備え、
    前記マルチコアプロセッサーは、
    前記周辺機器を接続した際のレスポンスの有無に応じて、前記周辺機器のハードウェアの制御に関する処理を実行するためのプログラムを対称型マルチプロセッシングで制御されるコアによって実行するか、非対称型マルチプロセッシングで制御されるコアによって実行するかを切り替えることを特徴とする、画像処理装置。
JP2014241787A 2014-11-28 2014-11-28 画像処理装置、その制御方法、およびプログラム Active JP6128104B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014241787A JP6128104B2 (ja) 2014-11-28 2014-11-28 画像処理装置、その制御方法、およびプログラム
CN201510836292.7A CN105657208B (zh) 2014-11-28 2015-11-26 图像处理装置及其控制方法
US14/953,118 US9854129B2 (en) 2014-11-28 2015-11-27 Image processing apparatus, method for controlling same, and storage medium for improving a processing efficiency in an image processing apparatus which includes a multi-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014241787A JP6128104B2 (ja) 2014-11-28 2014-11-28 画像処理装置、その制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2016103196A JP2016103196A (ja) 2016-06-02
JP6128104B2 true JP6128104B2 (ja) 2017-05-17

Family

ID=56079978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014241787A Active JP6128104B2 (ja) 2014-11-28 2014-11-28 画像処理装置、その制御方法、およびプログラム

Country Status (3)

Country Link
US (1) US9854129B2 (ja)
JP (1) JP6128104B2 (ja)
CN (1) CN105657208B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7171594B2 (ja) 2016-11-29 2022-11-15 ワイ ソフト スキャニング ソリューションズ エス.アール.オー スキャンネットワークシステム、及びコンピュータプログラム、並びに方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6191873B1 (en) * 1996-11-25 2001-02-20 Canon Kabushiki Kaisha Image reading device, image reading apparatus, and method therefor
JP2001236302A (ja) * 2000-02-24 2001-08-31 Hitachi Ltd 情報処理装置
JP4438048B2 (ja) * 2003-08-08 2010-03-24 キヤノン株式会社 周辺装置及びその周辺装置のファームウェア更新方法、プログラム
JP4329797B2 (ja) * 2006-09-06 2009-09-09 村田機械株式会社 画像色判定装置、画像色判定方法及びプログラム
CN101403982B (zh) * 2008-11-03 2011-07-20 华为技术有限公司 一种多核处理器的任务分配方法和系统
JP2011100277A (ja) * 2009-11-05 2011-05-19 Toyota Motor Corp マルチプロセッサシステム
JP2011152685A (ja) 2010-01-27 2011-08-11 Ricoh Co Ltd プリンタ制御装置
US9158592B2 (en) * 2011-05-02 2015-10-13 Green Hills Software, Inc. System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor
JP5734941B2 (ja) * 2012-11-09 2015-06-17 イーソル株式会社 マルチコアプロセッサの制御プログラム、電子機器及び制御方法
JP2014153931A (ja) * 2013-02-08 2014-08-25 Ricoh Co Ltd プロセッサシステム、電子機器およびシステム制御プログラム

Also Published As

Publication number Publication date
CN105657208B (zh) 2018-11-27
US20160156807A1 (en) 2016-06-02
JP2016103196A (ja) 2016-06-02
US9854129B2 (en) 2017-12-26
CN105657208A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
JP3977356B2 (ja) 情報処理装置およびその制御方法
US8411949B2 (en) Image rasterization processing apparatus using intermediate language form data, computer-readable recording medium storing program and image processing method
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP6136020B2 (ja) 画像形成装置及び並列処理の制御方法並びに制御プログラム
JP2008293081A (ja) 電子機器
US20170060644A1 (en) Image processing apparatus, control task allocation method, and recording medium
US9891874B2 (en) Non-transitory computer-readable storage medium storing distributed printing control program, and distributed printing control apparatus
JP6524928B2 (ja) 画像処理装置及びメモリ制御プログラム並びにメモリ制御方法
JP6512902B2 (ja) 画像処理装置、その制御方法及び制御プログラム
JP6465384B2 (ja) 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法
EP3336683A1 (en) Image processing apparatus and method to form image on sheet using page image data and object information
US8614822B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP6128104B2 (ja) 画像処理装置、その制御方法、およびプログラム
US10209931B2 (en) Image processing apparatus and image forming apparatus
JP4095581B2 (ja) 情報処理装置およびその制御方法
JP6372315B2 (ja) 画像処理装置及び並列処理制御プログラム並びに並列処理制御方法
JP5232728B2 (ja) 画像形成装置
JP6500707B2 (ja) 画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラム
JP5589582B2 (ja) 画像処理装置及びプログラム
JP6248855B2 (ja) 電子機器及び情報処理プログラム
US9542308B2 (en) Electronic device that completes execution of task immediately, method for managing memory, and recording medium
JP2012008838A (ja) 印刷文書変換装置およびプログラム
JP7006173B2 (ja) 画像形成装置及びプログラム
JP7172193B2 (ja) 画像形成装置およびプログラム
JP2016107570A (ja) 制御装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170327

R150 Certificate of patent or registration of utility model

Ref document number: 6128104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150