(57)【要約】【課題】全体の処理時間を短縮することができる画像形成装置及びプログラムを提供する。【解決手段】画像形成装置１は、複数のコアを含むＣＰＵ３１を複数含むプロセッサ１１を含む。複数のコアを管理するＣＰＵコア管理部１７は、第１の処理及び第２の処理の何れか一方を実行させる。第１の処理を実行させるときには、複数のコアへの電力を均等に供給させつつ、一部のコアに逐次処理をする前処理を割り当て、他の一部のコアに並列処理が可能な後処理を割り当てる。第２の処理を実行させるときには、一部のＣＰＵ３１においては、複数のコアのうち、一部のコアへの電力を供給させつつ前処理を割り当て、他の一部のコアへの電力の供給を停止させ、他の一部のＣＰＵ３１においては、複数のコアへの電力を均等に供給させつつ、複数のコアの少なくとも一部に後処理を割り当てる。【選択図】図１
2019093612.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアを含むＣＰＵを複数含むプロセッサを備え、前記ＣＰＵにより処理が実行される画像形成装置であって、
前記複数のコアを管理するＣＰＵコア管理部は、
第１の処理及び第２の処理の何れか一方を実行させるものであって、
前記第１の処理を実行させるときには、前記ＣＰＵのそれぞれに含まれる前記複数のコアへの電力を均等に供給させつつ、前記複数のコアのうち、一部のコアに逐次処理をする前処理を割り当て、他の一部のコアに並列処理が可能な後処理を割り当て、
前記第２の処理を実行させるときには、前記ＣＰＵのそれぞれのうち、
一部の前記ＣＰＵにおいては、前記複数のコアのうち、一部のコアへの電力を供給させつつ前記前処理を割り当て、他の一部のコアへの電力の供給を停止させ、
他の一部の前記ＣＰＵにおいては、前記複数のコアへの電力を均等に供給させつつ、前記複数のコアの少なくとも一部に前記後処理を割り当てる、
画像形成装置。
【請求項２】
前記前処理は、
言語解析であって、ページ記述言語形式の入力データを解析して中間言語形式の中間データを生成するものであり、
前記後処理は、
前記前処理により生成された中間言語形式の中間データをラスタライズ処理を含む画像処理を行ってビットマップ形式の印刷データを生成し、生成したビットマップ形式の印刷データからページ割り付けをしてプリントデータを生成するものである、
請求項１に記載の画像形成装置。
【請求項３】
前記ＣＰＵコア管理部は、
ファイルの種類又は属性に基づき、前記第１の処理及び前記第２の処理の何れか一方を実行させるものであり、
前記第１の処理は、
前記ファイルの種類又は前記属性が、ラスター形成であり、
前記第２の処理は、
前記ファイルの種類又は前記属性が、ベクター形成である、
請求項１又は２に記載の画像形成装置。
【請求項４】
前記ＣＰＵコア管理部は、
ファイルサイズに基づき、前記第１の処理及び前記第２の処理の何れか一方を実行させるものであり、
前記第１の処理は、
前記ファイルサイズが閾値サイズ以上である場合に実行され、
前記第２の処理は、
前記ファイルサイズが前記閾値サイズ未満である場合に実行される、
請求項１又は２に記載の画像形成装置。
【請求項５】
前記ＣＰＵコア管理部は、
再印刷である場合、前記前処理及び前記後処理のそれぞれの実行時間と、前記ＣＰＵの台数と、前記ＣＰＵのそれぞれに含まれるコア数と、に基づき、前記第１の処理及び前記第２の処理の何れか一方を実行させる、
請求項１又は２に記載の画像形成装置。
【請求項６】
前記ＣＰＵコア管理部は、
１ページ目の前記前処理及び前記後処理のそれぞれの実行時間に基づき、２ページ目以降において、前記第１の処理及び前記第２の処理の何れか一方を実行させる、
請求項１又は２に記載の画像形成装置。
【請求項７】
前記ＣＰＵコア管理部は、
前記ＣＰＵのうち一部のＣＰＵにより、前記第１の処理及び前記第２の処理のうち実行時間の短い方を選択する、
請求項１又は２に記載の画像形成装置。
【請求項８】
前記ＣＰＵコア管理部は、
前記前処理の開始前から前記後処理のうち最後のものが完了するまでに要する時間を、前記第１の処理及び前記第２の処理のそれぞれの実行時間とする、
請求項７に記載の画像形成装置。
【請求項９】
前記ＣＰＵコア管理部は、
前記ＣＰＵのうち一部のＣＰＵにより、前記第１の処理及び前記第２の処理のそれぞれの実行時間を計時させる、
請求項７に記載の画像形成装置。
【請求項１０】
前記ＣＰＵコア管理部は、
前記ＣＰＵのそれぞれが前記前処理及び前記後処理の何れか一方を実行中、前記複数のコアの一部により前記第１の処理及び前記第２の処理のそれぞれの実行時間を計時させる、
請求項７に記載の画像形成装置。
【請求項１１】
複数のコアを含むＣＰＵを複数含むプロセッサを備える装置における、前記複数のコアのうち何れかのコアで動作するプログラムであって、
第１の処理及び第２の処理の何れか一方を実行させるものであって、
前記装置に、
前記第１の処理を実行するときには、前記ＣＰＵのそれぞれに含まれる前記複数のコアへの電力を均等に供給させつつ、前記複数のコアのうち、一部のコアに逐次処理をする前処理を割り当て、他の一部のコアに並列処理をする後処理を割り当てる第１ステップ、
前記第２の処理を実行するときには、前記ＣＰＵのそれぞれのうち、
一部の前記ＣＰＵにおいては、前記複数のコアのうち、一部のコアへの電力を供給させつつ前記前処理を割り当て、他の一部のコアへの電力の供給を停止させる第２ステップ、
他の一部の前記ＣＰＵにおいては、前記複数のコアへの電力を均等に供給させつつ、前記複数のコアの少なくとも一部に前記後処理を割り当てる第３ステップ、を実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像形成装置及びプログラムに関する。
【背景技術】
【０００２】
昨今、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の画像形成装置に搭載されるＣＰＵとして、コア数が１つではなく、複数のコアが採用され、複数のコアを用いて処理が実行されている。例えば、特許文献１のように、全てのコアを上限動作周波数で動作させ、異常温度を検出したときに優先度の低いコアの上限動作周波数を低減させるものが提案されている。また、例えば、特許文献２のように、各ジョブ動作の負荷に応じて、ソフトウェア処理をコアに割り振り、不要なコアへの電源の供給を停止するものが提案されている。また、例えば、特許文献３のように、バンド単位に分割し、言語解析を進めつつ、レンダリング処理を並列化することによりＲＩＰ処理を短縮するものが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０９７２８０号公報
【特許文献２】特開２０１７−０４６０８４号公報
【特許文献３】特開２０１２−１１１２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載のような従来技術では、省電力を目的として制御するものであるため、上限動作周波数を上げる制御は実行されない。また、特許文献２に記載のような従来技術では、不要なコアの電源をオフ状態にしているだけである。また、特許文献３に記載のような従来技術では、言語解析に時間を要するような原稿である場合には、レンダリング処理を開始できないため、全体としての処理の完了に要する時間を短縮できない恐れがある。
【０００５】
本開示はこのような状況に鑑みてなされたものであり、全体の処理時間を短縮することができるようにするものである。
【課題を解決するための手段】
【０００６】
本開示の第１の側面である画像形成装置は、複数のコアを含むＣＰＵを複数含むプロセッサを備え、前記ＣＰＵにより処理が実行される画像形成装置であって、前記複数のコアを管理するＣＰＵコア管理部は、第１の処理及び第２の処理の何れか一方を実行させるものであって、前記第１の処理を実行させるときには、前記ＣＰＵのそれぞれに含まれる前記複数のコアへの電力を均等に供給させつつ、前記複数のコアのうち、一部のコアに逐次処理をする前処理を割り当て、他の一部のコアに並列処理が可能な後処理を割り当て、前記第２の処理を実行させるときには、前記ＣＰＵのそれぞれのうち、一部の前記ＣＰＵにおいては、前記複数のコアのうち、一部のコアへの電力を供給させつつ前記前処理を割り当て、他の一部のコアへの電力の供給を停止させ、他の一部の前記ＣＰＵにおいては、前記複数のコアへの電力を均等に供給させつつ、前記複数のコアの少なくとも一部に前記後処理を割り当てる。
【０００７】
また、前記前処理は、言語解析であって、ページ記述言語形式の入力データを解析して中間言語形式の中間データを生成するものであり、前記後処理は、前記前処理により生成された中間言語形式の中間データをラスタライズ処理を含む画像処理を行ってビットマップ形式の印刷データを生成し、生成したビットマップ形式の印刷データからページ割り付けをしてプリントデータを生成するものである、ことが好ましい。
【０００８】
また、前記ＣＰＵコア管理部は、ファイルの種類又は属性に基づき、前記第１の処理及び前記第２の処理の何れか一方を実行させるものであり、前記第１の処理は、前記ファイルの種類又は前記属性が、ラスター形成であり、前記第２の処理は、前記ファイルの種類又は前記属性が、ベクター形成である、ことが好ましい。
【０００９】
また、前記ＣＰＵコア管理部は、ファイルサイズに基づき、前記第１の処理及び前記第２の処理の何れか一方を実行させるものであり、前記第１の処理は、前記ファイルサイズが閾値サイズ以上である場合に実行され、前記第２の処理は、前記ファイルサイズが前記閾値サイズ未満である場合に実行される、ことが好ましい。
【００１０】
また、前記ＣＰＵコア管理部は、再印刷である場合、前記前処理及び前記後処理のそれぞれの実行時間と、前記ＣＰＵの台数と、前記ＣＰＵのそれぞれに含まれるコア数と、に基づき、前記第１の処理及び前記第２の処理の何れか一方を実行させる、ことが好ましい。
【００１１】
また、前記ＣＰＵコア管理部は、１ページ目の前記前処理及び前記後処理のそれぞれの実行時間に基づき、２ページ目以降において、前記第１の処理及び前記第２の処理の何れか一方を実行させる、ことが好ましい。
【００１２】
また、前記ＣＰＵコア管理部は、前記ＣＰＵのうち一部のＣＰＵにより、前記第１の処理及び前記第２の処理のうち実行時間の短い方を選択する、ことが好ましい。
【００１３】
また、前記ＣＰＵコア管理部は、前記前処理の開始前から前記後処理のうち最後のものが完了するまでに要する時間を、前記第１の処理及び前記第２の処理のそれぞれの実行時間とする、ことが好ましい。
【００１４】
また、前記ＣＰＵコア管理部は、前記ＣＰＵのうち一部のＣＰＵにより、前記第１の処理及び前記第２の処理のそれぞれの実行時間を計時させる、ことが好ましい。
【００１５】
また、前記ＣＰＵコア管理部は、前記ＣＰＵのそれぞれが前記前処理及び前記後処理の何れか一方を実行中、前記複数のコアの一部により前記第１の処理及び前記第２の処理のそれぞれの実行時間を計時させる、ことが好ましい。
【００１６】
また、本開示の第２の側面であるプログラムは、複数のコアを含むＣＰＵを複数含むプロセッサを備える装置における、前記複数のコアのうち何れかのコアで動作するプログラムであって、第１の処理及び第２の処理の何れか一方を実行させるものであって、前記装置に、前記第１の処理を実行するときには、前記ＣＰＵのそれぞれに含まれる前記複数のコアへの電力を均等に供給させつつ、前記複数のコアのうち、一部のコアに逐次処理をする前処理を割り当て、他の一部のコアに並列処理をする後処理を割り当てる第１ステップ、前記第２の処理を実行するときには、前記ＣＰＵのそれぞれのうち、一部の前記ＣＰＵにおいては、前記複数のコアのうち、一部のコアへの電力を供給させつつ前記前処理を割り当て、他の一部のコアへの電力の供給を停止させる第２ステップ、他の一部の前記ＣＰＵにおいては、前記複数のコアへの電力を均等に供給させつつ、前記複数のコアの少なくとも一部に前記後処理を割り当てる第３ステップ、を実行させる。
【発明の効果】
【００１７】
本開示の第１の側面及び第２の側面によれば、全体の処理時間を短縮することができる。
【図面の簡単な説明】
【００１８】
【図１】本開示の実施形態に係る画像形成装置１の構成例を示すブロック図である。
【図２】本開示の実施形態に係るコア数が４つとなる場合におけるＣＰＵ３１＿１及びＣＰＵ３１＿２の一例を示すブロック図である。
【図３】本開示の実施形態に係る各コアに均等に電力を供給する一例を示す図である。
【図４】本開示の実施形態に係る各コアのうち一部のコアに電力を供給すると共に他の一部のコアの電力の供給を停止する一例を示す図である。
【図５】本開示の実施形態に係るＲＩＰ処理の概要を説明する図である。
【図６】本開示の実施形態に係る全コアを使用する第１の処理におけるコアへの負荷配分の一例を示す図である。
【図７】本開示の実施形態に係る特定のコアの上限動作周波数を上げる第２の処理におけるコアへの負荷配分の一例を示す図である。
【図８】本開示の実施形態に係る原稿に応じて前処理と後処理とで負荷が変わる一例を示す図である。
【図９】本開示の実施形態に係る原稿に応じて第１の処理及び第２の処理のそれぞれに要する実行時間の一例を示す図である。
【図１０】本開示の実施形態に係る前処理である言語解析の負荷が軽く、後処理であるラスタライズの負荷が重い原稿における第１の処理に要する実行時間の一例を示す図である。
【図１１】本開示の実施形態に係る前処理である言語解析の負荷が軽く、後処理であるラスタライズの負荷が重い原稿における第２の処理に要する実行時間の一例を示す図である。
【図１２】本開示の実施形態に係る前処理である言語解析の負荷が重く、後処理であるラスタライズの負荷が軽い原稿における第１の処理に要する実行時間の一例を示す図である。
【図１３】本開示の実施形態に係る前処理である言語解析の負荷が重く、後処理であるラスタライズの負荷が軽い原稿における第２の処理に要する実行時間の一例を示す図である。
【図１４】本開示の実施形態に係る制御例を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面に基づいて本開示の実施形態を説明するが、本開示は以下の実施形態に限られるものではない。
【００２０】
図１は、本開示の実施形態に係る画像形成装置１の構成例を示すブロック図である。画像形成装置１は、ＭＦＰ等の複合機又はプリンタであって、図１に示すように、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、入出力バッファ１２と、メモリ１３と、ネットワークＩ／Ｆ部１４と、Ｉ／Ｏコントローラー１５と、メモリコントローラー１６と、ＣＰＵコア管理部１７と、スキャナー部２１と、ＦＡＸ制御部２２と、画像変換部２３と、画像形成部２４と、操作表示部２５とを含む。ＣＰＵ３１と、ＲＯＭ３２及びＲＡＭ３３とでプロセッサ１１が構成される。ＣＰＵ３１は、プログラムに従い演算するデータ処理装置であり、複数のコアを含む。ＲＯＭ３２は、画像形成装置１全体の動作を制御するためのプログラム及びフォントデータ等を記録する。ＲＡＭ３３は、ＣＰＵ３１による制御に必要なデータ及び制御動作時に一時記憶が必要なデータを記憶する。なお、複数のコアは、規模、構成、及び処理能力が同じとなる同種のコアとしてもよく、規模、構成、及び処理能力が異なる異種のコアとしてもよい。このように、画像形成装置１は、複数のコアを含むＣＰＵ３１を複数含むプロセッサ１１を備え、ＣＰＵ３１により処理が実行されるものである。
【００２１】
入出力バッファ１２は、入力されたデータ又は出力するデータを一時的に記憶しておくためのものであり、例えば、スキャナー部２１から出力される画像データ又はＦＡＸ制御部２２を用いて送受信するＦＡＸ画像データ等を記憶する。メモリ１３は、半導体メモリ又はハードディスクドライブから構成され、不図示の外部のコンピュータ装置から取得した印刷データ（ＰＪＬ（Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ））等のページ記述言語で記述されたＰＤＬデータ、又はＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）データ、印刷データから生成した中間データ（ディスプレイリスト）、ディスプレイリストから生成した画像データ等を保存する。ネットワークＩ／Ｆ部１４は、電話回線に接続するためのモデム、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の構内通信網に接続するためのＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等であり、電話回線を介して接続されるＦＡＸ装置とのＦＡＸ通信又は構内通信網を介して接続されるコンピュータ装置との通信を可能にする。
【００２２】
スキャナー部２１は、原稿台上に載置された原稿から画像データを光学的に読み取る部分であり、原稿を走査する光源と、原稿で反射された光を電気信号に変換するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ）等のイメージセンサーと、電気信号をＡ／Ｄ変換するＡ／Ｄ変換器等とにより構成され、原稿から読み取った画像データを入出力バッファ１２又は画像変換部２３に出力する。ＦＡＸ制御部２２は、ネットワークＩ／Ｆ部１４を制御し、ナンバーディスプレイ応答、通常着信処理、ＦＡＸ画像データの送受信等を実行し、受信したＦＡＸ画像データを、入出力バッファ１２、画像変換部２３、又は画像形成部２４に出力する。画像変換部２３は、スキャナー部２１により読み取られた原稿の画像データ又はＦＡＸ制御部２２が受信したＦＡＸ画像データに、エッジ強調処理、スムージング処理、又は色変換処理等の画像処理を行う。また、画像変換部２３は、ネットワークＩ／Ｆ部１４等によりＰＤＬで記述された印刷データが取得された場合、印刷データに含まれる各ページをラスタライズしてページごとの画像データを生成し、生成した画像データに上記のような画像処理を行う。画像変換部２３は、画像処理後の画像データを画像形成部２４に出力する。画像形成部２４は、画像変換部２３で画像処理を行った画像データに基づき、用紙への印刷処理を行う。具体的には、電子写真方式の場合、帯電装置により帯電させた感光ドラムに、露光装置から画像データに応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像して生成したトナー像を転写ベルトに１次転写し、転写ベルトから用紙に２次転写し、さらに定着装置で用紙上のトナー像を定着させる。
【００２３】
操作表示部２５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示部上に格子状の透明電極からなるタッチセンサー等の操作部が配置されたタッチパネル、ハードキー等で構成され、画像形成装置１の操作画面を提示し、ユーザーからの操作を受け付け、操作に応じた信号をプロセッサ１１に出力する。Ｉ／Ｏコントローラー１５は、スキャナー部２１、ＦＡＸ制御部２２、画像変換部２３、画像形成部２４、及び操作表示部２５と、プロセッサ１１との各種信号の送受信を制御する。メモリコントローラー１６は、プロセッサ１１と、メモリ１３との各種信号の送受信を制御する。ＣＰＵコア管理部１７は、複数のコアを管理するものであって、実行する処理に応じてコアの割り当てを決定する。ＣＰＵコア管理部１７は、ハードウェアとして構成してもよく、プロセッサ１１をＣＰＵコア管理部１７として機能させるプログラムとして構成し、そのプログラムを複数のＣＰＵ３１のうち少なくとも一部のＣＰＵ３１に含まれる少なくとも一部のコアに実行させてもよい。
【００２４】
図２は、本開示の実施形態に係るコア数が４つとなる場合におけるＣＰＵ３１＿１及びＣＰＵ３１＿２の一例を示すブロック図である。図２に示す一例では、１つのプロセッサ１１に、ＣＰＵ３１＿１及びＣＰＵ３１＿２として２つのＣＰＵ３１が搭載され、それぞれのＣＰＵ３１はコア（１）、コア（２）、コア（３）、及びコア（４）のように複数のコアが搭載されている。なお、ＣＰＵ３１＿１及びＣＰＵ３１＿２は、メモリコントローラー１６を介してメモリ１３に含まれる使用領域１３１及び使用領域１３２にアクセスするが、図２においてはメモリコントローラー１６の図示は省略する。
【００２５】
図３は、本開示の実施形態に係る各コアに均等に電力を供給する一例を示す図である。図３に示すように、電源供給部４１からスイッチ４２＿１〜４２＿４を介してコア（１）〜コア（４）に電力が供給される。図３の一例においては、コア（１）〜コア（４）のそれぞれは２ＧＨｚの上限動作周波数で動作し、２ＧＨｚ以上の上限動作周波数で動作するものはない。なお、スイッチ４２＿１〜４２＿４を総称する場合、スイッチ４２と称する。図４は、本開示の実施形態に係る各コアのうち一部のコアへの電力を供給すると共に他の一部のコアへの電力の供給を停止する一例を示す図である。図４に示すように、スイッチ４２＿１はオン状態であるため、電源供給部４１からコア（１）には電力が供給されている。一方、スイッチ４２＿２〜スイッチ４２＿４はオフ状態であるため、電源供給部４１からコア（２）〜コア（４）への電力の供給は停止されている。この場合、コア（１）のみ４ＧＨｚの上限動作周波数で動作する。つまり、コア（２）〜コア（４）への電力の供給が停止されることにより、コア（１）のみ上限動作周波数が上がっている。
【００２６】
図５は、本開示の実施形態に係るＲＩＰ処理の概要を説明する図である。ＲＩＰ処理は、言語解析を行う前処理と、ラスタライズ処理を行う後処理とに分かれる。言語解析は逐次処理であるため並列処理ができず、実行時間は動作周波数に依存する。ラスタライズは並列処理が可能であり、複数のコアを使う方が実行時間を短縮することができるため実行時間は処理が割り当てられるコア数に依存する。言語解析及びラスタライズのそれぞれの負荷は一定ではなく、原稿に依存する。よって、言語解析の負荷が重い場合もあれば、ラスタライズの負荷が重い場合もある。図６は、本開示の実施形態に係る全コアを使用する第１の処理におけるコアへの負荷配分の一例を示す図である。第１の処理は、全コアが割り当てられている。具体的には、ＣＰＵ（１）のコア（１）を言語解析に割り当て、残りの全てのコアをラスタライズに割り当てる。図７は、本開示の実施形態に係る特定のコアの上限動作周波数を上げる第２の処理におけるコアへの負荷配分の一例を示す図である。第２の処理は、言語解析の処理を高速化するために、特定のコアのみ上限動作周波数を上げるように負荷をコアに割り当てる。図６及び図７において、前処理は、言語解析であって、ページ記述言語形式の入力データを解析して中間言語形式の中間データを生成するものである。後処理は、前処理により生成された中間言語形式の中間データをラスタライズ処理を含む画像処理を行ってビットマップ形式の印刷データを生成し、生成したビットマップ形式の印刷データからページ割り付けをしてプリントデータを生成するものである。
【００２７】
つまり、ＣＰＵコア管理部１７は、第１の処理及び第２の処理の何れか一方を実行させるものである。ＣＰＵコア管理部１７は、第１の処理を実行させるときには、ＣＰＵ３１のそれぞれに含まれる複数のコアへの電力を均等に供給させつつ、複数のコアのうち、一部のコアに逐次処理をする前処理を割り当て、他の一部のコアに並列処理が可能な後処理を割り当てる。ＣＰＵコア管理部１７は、第２の処理を実行させるときには、ＣＰＵ３１のそれぞれのうち、一部のＣＰＵ３１においては、複数のコアのうち、一部のコアへの電力を供給させつつ前処理を割り当て、他の一部のコアへの電力の供給を停止させ、他の一部のＣＰＵ３１においては、複数のコアへの電力を均等に供給させつつ、複数のコアの少なくとも一部に後処理を割り当てる。
【００２８】
図８は、本開示の実施形態に係る原稿に応じて前処理と後処理とで負荷が変わる一例を示す図である。原稿（１）は、前処理の負荷が軽く、後処理の負荷が重い。このようなものとして、例えば、ラスター形式で描画されるものが想定される。原稿（２）は、前処理の負荷が重く、後処理の負荷が軽い。このようなものとして、例えば、ベクター形式で描画されるものが想定される。図９は、本開示の実施形態に係る原稿に応じて第１の処理及び第２の処理のそれぞれに要する実行時間の一例を示す図である。原稿（１）は、ラスター形式で描画されていると想定されるため、前処理である言語解析に時間がかからず、後処理にコア数を多く割り当てられる第１の処理の方がＲＩＰ処理の実行時間が短くなる。一方、原稿（２）は、ベクター形式で描画されていると想定されるため、前処理である言語解析に時間がかかる。よって、前処理の上限動作周波数を上げる第２の処理の方がＲＩＰ処理の実行時間が短くなる。よって、ＲＩＰ処理の内容を鑑み、ＣＰＵ３１のコアに割り当てる負荷を最適化することで、ＲＩＰ処理の実行時間を短縮することができる。
【００２９】
次に、各コアへの負荷の割り当てを具体的に説明する。処理の前提として、入力データをページごとにし、さらに１つのページを複数のバンドに区切ってバンド単位にし、前処理及び後処理を実行させる。図１０は、本開示の実施形態に係る前処理である言語解析の負荷が軽く、後処理であるラスタライズの負荷が重い原稿における第１の処理に要する実行時間の一例を示す図である。図１０においては、後処理に複数のコアが割り当てられている。図１１は、本開示の実施形態に係る前処理である言語解析の負荷が軽く、後処理であるラスタライズの負荷が重い原稿における第２の処理に要する実行時間の一例を示す図である。図１１においては、コア（１）の上限動作周波数を上げているが、前処理の負荷は軽いため、全体としてのＲＩＰ処理の実行時間の短縮には寄与しない。図１２は、本開示の実施形態に係る前処理である言語解析の負荷が重く、後処理であるラスタライズの負荷が軽い原稿における第１の処理に要する実行時間の一例を示す図である。図１２においては、全てのコアに負荷が割り当てられているが、前処理である言語解析の負荷が重いため、全体としてのＲＩＰ処理の実行時間の短縮には寄与しない。図１３は、本開示の実施形態に係る前処理である言語解析の負荷が重く、後処理であるラスタライズの負荷が軽い原稿における第２の処理に要する実行時間の一例を示す図である。図１３においては、コア（１）の上限動作周波数を上げている。前処理の負荷が重いため、前処理の実行時間の短縮に寄与し、結果として、後処理を速く開始することができている。よって、全体としてのＲＩＰ処理の実行時間の短縮に寄与している。
【００３０】
つまり、ＣＰＵコア管理部１７は、並列性が内在されている処理であれば負荷を割り当てるコア数を増加させ、並列性が内在されず又は逐次性の処理量が多い処理であれば上限動作周波数を上げるべく、少なくとも一部のコアへの電力の供給を停止させる。これにより、入力データの論理的な特徴に応じて、ハードウェアの資源を最適に割り当てることができるため、全体の処理時間を短縮することができる。
【００３１】
また、ＣＰＵコア管理部１７は、ファイルの種類又は属性に基づき、第１の処理及び第２の処理の何れか一方を実行させる。第１の処理は、ファイルの種類又は属性が、ラスター形式である。ラスター形式で描画されている場合、１画素ごとに色及び濃度の情報が記録されているため、演算の負荷は軽いが、ラスタライズに負荷がかかる。よって、全てのコアに負荷を割り当てる第１の処理が好ましい。第２の処理は、ファイルの種類又は属性が、ベクター形式である。ベクター形式で描画されている場合、画像を数式で記憶しているため、演算つまり言語解析に負荷がかかりやすい。よって、前処理の上限動作周波数を上げる第２の処理が好ましい。例えば、Ａｄｏｂｅ（登録商標）社のＩｌｌｕｓｔｒａｔｏｒ（登録商標）はベクター形式でデータが保存されることが多いため、その拡張子であるａｉは判定基準の一つになる。また、例えば、標準的な拡張子であるｂｍｐであれば、ラスター形式である。また、ＰＤＦファイルでも元のファイルの拡張子又はアプリケーションをプロパティに保存している場合があるため、それを参考にしてもよい。
【００３２】
図１４は、本開示の実施形態に係る制御例を説明するフローチャートである。なお、ステップＳ１２〜ステップＳ１４の処理が、第１の処理である。また、ステップＳ１６〜ステップＳ１８の処理が、第２の処理である。ステップＳ１１において、ＣＰＵコア管理部１７は、第１の処理を実行させるか否かを判定する。ＣＰＵコア管理部１７は、第１の処理を実行させると判定する場合（ステップＳ１１；Ｙ）、ステップＳ１２の処理に移行する。ＣＰＵコア管理部１７は、第１の処理を実行させないと判定する場合（ステップＳ１１；Ｎ）、ステップＳ１５の処理に移行する。ステップＳ１２において、ＣＰＵコア管理部１７は、一部のＣＰＵ３１の一部のコアには前処理を割り当てる。ステップＳ１３において、ＣＰＵコア管理部１７は、一部のＣＰＵ３１の他の一部のコアには後処理を割り当てる。ステップＳ１４において、ＣＰＵコア管理部１７は、他の一部のＣＰＵ３１の少なくとも一部のコアには後処理を割り当て、処理は終了する。
【００３３】
ステップＳ１５において、ＣＰＵコア管理部１７は、第２の処理を実行させるか否かを判定する。ＣＰＵコア管理部１７は、第２の処理を実行させると判定する場合（ステップＳ１５；Ｙ）、ステップＳ１６の処理に移行する。ＣＰＵコア管理部１７は、第２の処理を実行させないと判定する場合（ステップＳ１５；Ｎ）、ステップＳ１９の処理に移行する。ステップＳ１６において、ＣＰＵコア管理部１７は、一部のＣＰＵ３１の少なくとも一部のコアには前処理を割り当てる。ステップＳ１７において、ＣＰＵコア管理部１７は、一部のＣＰＵ３１の少なくとも他の一部のコアへの電力の供給を停止する。ステップＳ１８において、ＣＰＵコア管理部１７は、他の一部のＣＰＵ３１の少なくとも一部のコアには後処理を割り当て、処理は終了する。
【００３４】
ステップＳ１９において、ＣＰＵコア管理部１７は、再印刷であるか否かを判定する。ＣＰＵコア管理部１７は、再印刷でないと判定する場合（ステップＳ１９；Ｎ）、ステップＳ２０の処理に移行する。ＣＰＵコア管理部１７は、再印刷であると判定する場合（ステップＳ１９；Ｙ）、ステップＳ２１の処理に移行する。ステップＳ２０において、ＣＰＵコア管理部１７は、ファイルサイズが閾値サイズ以上であるか否かを判定する。ＣＰＵコア管理部１７は、ファイルサイズが閾値サイズ以上であると判定する場合（ステップＳ２０；Ｙ）、ステップＳ１２の処理に移行する。ＣＰＵコア管理部１７は、ファイルサイズが閾値サイズ未満であると判定する場合（ステップＳ２０；Ｎ）、ステップＳ１６の処理に移行する。例えば、ファイルにラスター形式の画像がある場合、ファイルサイズは大きくなる傾向がある。具体的にはファイルサイズが１０Ｍｂｙｔｅ以上好ましくは５０Ｍｂｙｔｅ以上である場合、文書中にラスター形式の画像が挿入されている可能性が高いため、ラスタライズの負荷がかかると想定される。よって、この場合であれば、全コアに負荷を割り当てる第１の処理が選択されるのが好ましい。
【００３５】
つまり、ＣＰＵコア管理部１７は、ファイルサイズに基づき、第１の処理及び第２の処理の何れか一方を実行させるものである。第１の処理は、ファイルサイズが閾値サイズ以上である場合に実行される。第２の処理は、ファイルサイズが閾値サイズ未満である場合に実行される。これにより、全体としてＲＩＰ処理の実行時間を短縮することができる。
【００３６】
ステップＳ２１において、ＣＰＵコア管理部１７は、前処理及び後処理のそれぞれの実行時間と、ＣＰＵ３１の台数と、ＣＰＵ３１のコア数と、に基づき、第１の処理及び第２の処理の何れかを選択する。ステップＳ２２において、ＣＰＵコア管理部１７は、第１の処理を選択したか否かを判定する。ＣＰＵコア管理部１７は、第１の処理を選択したと判定する場合（ステップＳ２２；Ｙ）、ステップＳ１２の処理に移行する。ＣＰＵコア管理部１７は、第１の処理を選択しないと判定する場合（ステップＳ２２；Ｎ）、ステップＳ１６の処理に移行する。
【００３７】
つまり、ＣＰＵコア管理部１７は、再印刷である場合、前処理及び後処理のそれぞれの実行時間と、ＣＰＵ３１の台数と、ＣＰＵ３１のそれぞれに含まれるコア数と、に基づき、第１の処理及び第２の処理の何れか一方を実行させる。例えば、最初のＲＩＰ処理は、第１の処理及び第２の処理の何れか一方で実行させ、ＲＩＰ処理の結果であるプリントデータを保存するときに、前処理及び後処理のそれぞれの実行時間も合わせて保存する。このようにすることで、再印刷時すなわち再ＲＩＰ処理時に、保存していた実行時間と、搭載しているＣＰＵ３１の台数とＣＰＵ３１のコア数とから何れの処理が最も実行時間の短いものであったかを判定することができる。これにより、資源の割り当て負荷を考慮して、実行時間を短縮する処理を選択できるため、資源への負荷の割り当てを最適化することができる。
【００３８】
また、ＣＰＵコア管理部１７は、１ページ目の前処理及び後処理のそれぞれの実行時間に基づき、２ページ目以降において、第１の処理及び第２の処理の何れか一方を実行させる。つまり、１ページ目で前処理及び後処理の何れが重いかの処理傾向を判定することにより、２ページ目からは資源への最適な負荷の割り当てを実現することができる。
【００３９】
また、ＣＰＵコア管理部１７は、ＣＰＵ３１のうち一部のＣＰＵ３１により、第１の処理及び第２の処理のうち実行時間の短い方を選択する。これにより、一部の資源を実行時間の判定処理に使用することができる。
【００４０】
また、ＣＰＵコア管理部１７は、前処理の開始前から後処理のうち最後のものが完了するまでに要する時間を、第１の処理及び第２の処理のそれぞれの実行時間とする。つまり、ＲＩＰ処理に要する実行時間で何れかの処理を選択するため、ＲＩＰ処理の時間を短縮できる処理を選択することができる。
【００４１】
また、ＣＰＵコア管理部１７は、ＣＰＵ３１のうち一部のＣＰＵ３１により、第１の処理及び第２の処理のそれぞれの実行時間を計時させる。これにより、一部の資源を実行時間の計時処理に使用することができる。
【００４２】
また、ＣＰＵコア管理部１７は、ＣＰＵ３１のそれぞれが前処理及び後処理の何れか一方を実行中、複数のコアの一部により第１の処理及び第２の処理のそれぞれの実行時間を計時させる。よって、前処理及び後処理の何れかの実行と並行して計時処理を実行できるため、全体として生産性を高めることができる。
【００４３】
なお、上記で説明した、各処理は、ソフトウェア的にはプロセス単位で処理が実行されてもよいが、スレッド単位で処理が実行されるのが好ましい。
【００４４】
以上、本開示に係る画像形成装置１を実施形態に基づいて説明したが、本開示はこれに限定されるものではなく、本開示の趣旨を逸脱しない範囲で、変更を加えてもよい。
【００４５】
例えば、本実施形態においては、メモリ１３が集中共有メモリ方式の一例について説明したが、特にこれに限定されるものではない。例えば、メモリ１３は分散共有メモリ方式であってもよい。
【００４６】
また、本実施形態においては、第１の処理及び第２の処理がＲＩＰ処理の一例について説明したが、特にこれに限定されるものではない。例えば、上記で説明したＦＡＸ画像データに行う画像処理であってもよい。また、操作表示部２５に表示するための画像処理であってもよい。また、ＨＴＭＬファイルを不図示のコンピュータ装置のモニター等に出力する形式に変換する処理であってもよい。つまり、処理の出力が画像関連であればよい。
【００４７】
また、本実施形態においては、第２の処理を実行する際、コア（２）〜コア（４）への電力の供給を停止させる一例について説明したが、特にこれに限定されるものではない。例えば、コア（２）及びコア（３）への電力の供給を停止させてもよい。
【符号の説明】
【００４８】
１  画像形成装置、１１  プロセッサ、１２  入出力バッファ
１３  メモリ、１３１，１３２  使用領域
１４  ネットワークＩ／Ｆ部、１５  Ｉ／Ｏコントローラー
１６  メモリコントローラー、１７  ＣＰＵコア管理部
２１  スキャナー部、２２  ＦＡＸ制御部、２３  画像変換部、２４  画像形成部
２５  操作表示部、３１，３１＿１，３１＿２  ＣＰＵ
３２  ＲＯＭ、３３  ＲＡＭ
４１  電源供給部、４２，４２＿１〜４２＿４  スイッチ
【図１】
2019093612.tif 000003
【図２】
2019093612.tif 000004
【図３】
2019093612.tif 000005
【図４】
2019093612.tif 000006
【図５】
2019093612.tif 000007
【図６】
2019093612.tif 000008
【図７】
2019093612.tif 000009
【図８】
2019093612.tif 000010
【図９】
2019093612.tif 000011
【図１０】
2019093612.tif 000012
【図１１】
2019093612.tif 000013
【図１２】
2019093612.tif 000014
【図１３】
2019093612.tif 000015
【図１４】
2019093612.tif 000016