(57)【要約】      （修正有）【課題】より適切なタイミングでメモリのリトレーニングを実行することが可能な画像処理装置を提供する。【解決手段】画像処理装置は、ジョブの実行中にメモリに関するリトレーニング（再キャリブレーション）を実行する。画像処理装置は、ジョブの種類および／またはジョブの設定内容に応じてメモリの温度変化状況を推定する。たとえば、ジョブの種類がプリントジョブであることに応じて、期間ＴＭ１１における温度上昇度合いは比較的低く、期間ＴＭ１２における温度上昇度合いは比較的高い旨を推定する。また、プリントジョブのカラー設定が「フルカラー」であることに応じて、期間ＴＭ１２における温度上昇度合いは非常に高い旨を推定する。そして、温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する。【選択図】図４
2020104337.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
メモリと、
前記画像処理装置におけるジョブの実行中に、前記メモリに関するリトレーニングを実行する制御手段と、
を備え、
前記制御手段は、前記ジョブの種類および／または前記ジョブの設定内容に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記制御手段は、
前記ジョブの設定内容に基づいて、前記ジョブの実行に伴う前記メモリの温度上昇状況を推定し、
前記温度上昇状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記制御手段は、
前記ジョブの読取解像度として第１解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第１解像度よりも低い第２解像度が前記読取解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記第１解像度が前記読取解像度として設定されている場合、前記第２解像度が前記読取解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項４】
請求項２に記載の画像処理装置において、
前記制御手段は、
前記ジョブの出力解像度として第１解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第１解像度よりも低い第２解像度が前記出力解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記第１解像度が前記出力解像度として設定されている場合、前記第２解像度が前記出力解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項５】
請求項２に記載の画像処理装置において、
前記制御手段は、
前記ジョブの出力色設定としてフルカラーが設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、グレースケールが前記出力色設定として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記フルカラーが前記出力色設定として設定されている場合、前記グレースケールが前記出力色設定として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項６】
請求項２に記載の画像処理装置において、
前記制御手段は、前記メモリの温度上昇が所定程度よりも大きいと推定される場合、前記温度上昇が前記所定程度よりも小さいと推定される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項７】
請求項１に記載の画像処理装置において、
前記制御手段は、前記ジョブの種類に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項８】
請求項７に記載の画像処理装置において、
前記制御手段は、
前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうちＤＭＡ転送処理の実行が開始される前の初期期間においては、前記ジョブの実行に伴う温度上昇は所定程度よりも小さいと推定して前記リトレーニングを実行せず、
前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間であってＤＭＡ転送処理を伴う初期期間においては、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項９】
請求項７に記載の画像処理装置において、
前記制御手段は、
前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうち前記プリントジョブに関するＤＭＡ転送処理が開始される第１時点よりも前の第１期間における前記メモリの温度上昇は所定程度よりも小さいと推定し且つ前記実行期間のうち前記第１時点よりも後の第２期間における前記メモリの温度上昇は前記所定程度よりも大きいと推定するとともに、前記第２期間においては、前記第１期間における実行頻度である第１の実行頻度より高い頻度で前記リトレーニングを実行し、
前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間と前記初期期間におけるＤＭＡ転送処理処理の終了後の所定期間とのいずれにおいても、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記第１の実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項１０】
請求項７に記載の画像処理装置において、
前記制御手段は、
前記ジョブの実行期間を複数の期間に区分し、前記複数の期間のそれぞれにおける前記メモリの処理負荷の大きさを前記ジョブの種類に基づいて判定するとともに、前記複数の期間のそれぞれにおける前記温度変化状況を前記ジョブの種類に基づいて推定し、
前記複数の期間のそれぞれにおける前記温度変化状況の推定結果に基づいて、前記リトレーニングの実行タイミングを期間ごとに決定することを特徴とする画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置において、
前記制御手段は、
前記ジョブがプリントジョブである場合、前記プリントジョブを、ＤＭＡ転送処理の実行を伴わない第１期間と、前記第１期間の後の第２期間であって前記ＤＭＡ転送処理の実行を伴う第２期間とを含む複数の期間に区分し、
前記第２期間における処理負荷は前記第１期間における処理負荷よりも大きく且つ前記第２期間における温度上昇速度は前記第１期間における温度上昇速度よりも大きい旨を推定し、前記第２期間においては、前記第１期間における実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項１２】
請求項１に記載の画像処理装置において、
前記制御手段は、
前記ジョブとして２種類のジョブが同時並列的に実行される場合に前記ジョブの実行に伴って発生する温度上昇は、前記ジョブとして単一の種類のジョブが単独で実行される場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、
前記２種類のジョブが同時並列的に実行される場合、前記単一の種類のジョブが単独で実行される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする画像処理装置。
【請求項１３】
請求項１に記載の画像処理装置において、
前記メモリに対する動作を制御するメモリコントローラ、
をさらに備え、
前記メモリは、前記メモリコントローラの第１チャネルで制御される第１メモリと、前記メモリコントローラの第２チャネルで制御される第２メモリとを有し、
前記制御手段は、前記第１チャネルに関するリトレーニングと前記第２チャネルに関するリトレーニングとを互いに独立したタイミングで実行することを特徴とする画像処理装置。
【請求項１４】
請求項１３に記載の画像処理装置において、
前記制御手段は、前記第２チャネルに関する前記リトレーニングの実行タイミングにおいて前記第２チャネルにて実行すべき所定の処理が存在する場合、前記所定の処理を前記第２チャネルではなく前記第１チャネルを用いて実行させることによって前記第２チャネルを前記所定の処理から解放した上で、前記第２チャネルに関する前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項１５】
請求項１に記載の画像処理装置において、
前記制御手段は、前記メモリを用いて実行すべき所定の処理が存在する場合、前記所定の処理に関するデータを前記メモリとは別の退避用格納領域に退避するとともに前記所定の処理を前記退避用格納領域を用いて実行させることによって、前記メモリを前記所定の処理から解放した上で、前記メモリに関する前記リトレーニングを実行することを特徴とする画像処理装置。
【請求項１６】
画像処理装置の制御方法であって、
ａ）前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および／または設定内容を含む情報を取得するステップと、
ｂ）前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、
を備え、
ステップｂ）は、
ｂ−１）前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、
を有することを特徴とする、画像処理装置の制御方法。
【請求項１７】
画像処理装置に内蔵されたコンピュータに、
ａ）前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および／または設定内容を含む情報を取得するステップと、
ｂ）前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、
を実行させるためのプログラムであって、
ステップｂ）は、
ｂ−１）前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを備える画像処理装置、およびそれに関連する技術に関する。
【背景技術】
【０００２】
画像処理装置においては、高速アクセス可能なメモリ（半導体メモリ）としてＤＲＡＭ（たとえば、ＤＤＲ−ＳＤＲＡＭ（Double-Data-Rate Synchronous Dynamic Random Access Memory））等が用いられている。
【０００３】
このようなメモリの動作周波数は非常に高く、メモリアクセスに関するタイミングマージンは非常に小さい。
【０００４】
このようなメモリアクセスにおける信号品質を確保するため、メモリアクセスに関する各種のパラメータを調整して、データストローブ信号のディレイ値（遅延値）を調整する技術が存在する（特許文献１参照）。具体的には、或る調整タイミングにおいて次のような調整動作が実行される。
【０００５】
まず特定の値がメモリ内の特定アドレスに書き込まれ、各種のパラメータ変更によりディレイ値を変更しつつ当該特定アドレスからの読み出し処理が繰り返し行われる。これらの読み出し処理においては、当該特定アドレスから読み出した値が正しい値（特定アドレスに書き込まれていた値と同じ値）であることを確認できたディレイ値の範囲（読み出し可能範囲）が特定される。そして、当該読み出し可能範囲の中央値が、調整後のディレイ値として設定される。
【０００６】
当該調整を行うことによれば、メモリの環境変化（温度変化等）等に適合した適切なパラメータを設定することが可能である。
【０００７】
なお、このようなキャリブレーション（調整動作）は「トレーニング」とも称される。また、当該キャリブレーションとしてフルキャリブレーション（初期キャリブレーションとも称する）が行われた後に、微調整のために再びキャリブレーションが行われることがある。このようなキャリブレーション（再キャリブレーション）は、「リトレーニング」とも称される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−５９７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来、ＤＲＡＭのリトレーニングは常に固定的なタイミングで（たとえば所定の一定間隔で）行われる。そのため、適切なタイミングでリトレーニングが行われていないことも多い。
【００１０】
たとえば、大きな温度変化が生じているにもかかわらず、比較的大きな周期でリトレーニングが行われる場合には、リトレーニングが抑制され過ぎて読み出しエラーが発生する可能性がある。逆に、温度変化がほとんど生じていないにもかかわらず、比較的小さな周期で（過度に高い頻度で）リトレーニングが行われる場合、不要なリトレーニングが発生している。
【００１１】
そこで、この発明は、画像処理装置において、より適切なタイミングでメモリのリトレーニングを実行することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題を解決すべく、請求項１の発明は、画像処理装置であって、メモリと、前記画像処理装置におけるジョブの実行中に、前記メモリに関するリトレーニングを実行する制御手段と、を備え、前記制御手段は、前記ジョブの種類および／または前記ジョブの設定内容に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする。
【００１３】
請求項２の発明は、請求項１の発明に係る画像処理装置において、前記制御手段は、前記ジョブの設定内容に基づいて、前記ジョブの実行に伴う前記メモリの温度上昇状況を推定し、前記温度上昇状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする。
【００１４】
請求項３の発明は、請求項２の発明に係る画像処理装置において、前記制御手段は、前記ジョブの読取解像度として第１解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第１解像度よりも低い第２解像度が前記読取解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記第１解像度が前記読取解像度として設定されている場合、前記第２解像度が前記読取解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【００１５】
請求項４の発明は、請求項２の発明に係る画像処理装置において、前記制御手段は、前記ジョブの出力解像度として第１解像度が設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、前記第１解像度よりも低い第２解像度が前記出力解像度として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記第１解像度が前記出力解像度として設定されている場合、前記第２解像度が前記出力解像度として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【００１６】
請求項５の発明は、請求項２の発明に係る画像処理装置において、前記制御手段は、前記ジョブの出力色設定としてフルカラーが設定されている場合に前記ジョブの実行に伴って発生する温度上昇は、グレースケールが前記出力色設定として設定されている場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記フルカラーが前記出力色設定として設定されている場合、前記グレースケールが前記出力色設定として設定されている場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【００１７】
請求項６の発明は、請求項２の発明に係る画像処理装置において、前記制御手段は、前記メモリの温度上昇が所定程度よりも大きいと推定される場合、前記温度上昇が前記所定程度よりも小さいと推定される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【００１８】
請求項７の発明は、請求項１の発明に係る画像処理装置において、前記制御手段は、前記ジョブの種類に基づいて前記リトレーニングの実行タイミングを決定することを特徴とする。
【００１９】
請求項８の発明は、請求項７の発明に係る画像処理装置において、前記制御手段は、前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうちＤＭＡ転送処理の実行が開始される前の初期期間においては、前記ジョブの実行に伴う温度上昇は所定程度よりも小さいと推定して前記リトレーニングを実行せず、前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間であってＤＭＡ転送処理を伴う初期期間においては、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記リトレーニングを実行することを特徴とする。
【００２０】
請求項９の発明は、請求項７の発明に係る画像処理装置において、前記制御手段は、前記ジョブがプリントジョブである場合、前記プリントジョブの実行期間のうち前記プリントジョブに関するＤＭＡ転送処理が開始される第１時点よりも前の第１期間における前記メモリの温度上昇は所定程度よりも小さいと推定し且つ前記実行期間のうち前記第１時点よりも後の第２期間における前記メモリの温度上昇は前記所定程度よりも大きいと推定するとともに、前記第２期間においては、前記第１期間における実行頻度である第１の実行頻度より高い頻度で前記リトレーニングを実行し、前記ジョブがスキャンジョブである場合、前記スキャンジョブの実行期間のうち前記スキャンジョブの初期期間と前記初期期間におけるＤＭＡ転送処理処理の終了後の所定期間とのいずれにおいても、前記ジョブの実行に伴う温度上昇は前記所定程度よりも大きいと推定して前記第１の実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする。
【００２１】
請求項１０の発明は、請求項７の発明に係る画像処理装置において、前記制御手段は、前記ジョブの実行期間を複数の期間に区分し、前記複数の期間のそれぞれにおける前記メモリの処理負荷の大きさを前記ジョブの種類に基づいて判定するとともに、前記複数の期間のそれぞれにおける前記温度変化状況を前記ジョブの種類に基づいて推定し、前記複数の期間のそれぞれにおける前記温度変化状況の推定結果に基づいて、前記リトレーニングの実行タイミングを期間ごとに決定することを特徴とする。
【００２２】
請求項１１の発明は、請求項１０の発明に係る画像処理装置において、前記制御手段は、前記ジョブがプリントジョブである場合、前記プリントジョブを、ＤＭＡ転送処理の実行を伴わない第１期間と、前記第１期間の後の第２期間であって前記ＤＭＡ転送処理の実行を伴う第２期間とを含む複数の期間に区分し、前記第２期間における処理負荷は前記第１期間における処理負荷よりも大きく且つ前記第２期間における温度上昇速度は前記第１期間における温度上昇速度よりも大きい旨を推定し、前記第２期間においては、前記第１期間における実行頻度よりも高い頻度で前記リトレーニングを実行することを特徴とする。
【００２３】
請求項１２の発明は、請求項１の発明に係る画像処理装置において、前記制御手段は、前記ジョブとして２種類のジョブが同時並列的に実行される場合に前記ジョブの実行に伴って発生する温度上昇は、前記ジョブとして単一の種類のジョブが単独で実行される場合に前記ジョブの実行に伴って発生する温度上昇よりも大きい旨を推定するとともに、前記２種類のジョブが同時並列的に実行される場合、前記単一の種類のジョブが単独で実行される場合よりも高い頻度で前記リトレーニングが実行されるように前記リトレーニングの実行タイミングを決定することを特徴とする。
【００２４】
請求項１３の発明は、請求項１の発明に係る画像処理装置において、前記メモリに対する動作を制御するメモリコントローラ、をさらに備え、前記メモリは、前記メモリコントローラの第１チャネルで制御される第１メモリと、前記メモリコントローラの第２チャネルで制御される第２メモリとを有し、前記制御手段は、前記第１チャネルに関するリトレーニングと前記第２チャネルに関するリトレーニングとを互いに独立したタイミングで実行することを特徴とする。
【００２５】
請求項１４の発明は、請求項１３の発明に係る画像処理装置において、前記制御手段は、前記第２チャネルに関する前記リトレーニングの実行タイミングにおいて前記第２チャネルにて実行すべき所定の処理が存在する場合、前記所定の処理を前記第２チャネルではなく前記第１チャネルを用いて実行させることによって前記第２チャネルを前記所定の処理から解放した上で、前記第２チャネルに関する前記リトレーニングを実行することを特徴とする。
【００２６】
請求項１５の発明は、請求項１の発明に係る画像処理装置において、前記制御手段は、前記メモリを用いて実行すべき所定の処理が存在する場合、前記所定の処理に関するデータを前記メモリとは別の退避用格納領域に退避するとともに前記所定の処理を前記退避用格納領域を用いて実行させることによって、前記メモリを前記所定の処理から解放した上で、前記メモリに関する前記リトレーニングを実行することを特徴とする。
【００２７】
請求項１６の発明は、画像処理装置の制御方法であって、ａ）前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および／または設定内容を含む情報を取得するステップと、ｂ）前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、を備え、ステップｂ）は、ｂ−１）前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、を有することを特徴とする。
【００２８】
請求項１７の発明は、画像処理装置に内蔵されたコンピュータに、ａ）前記画像処理装置における実行対象のジョブに関する情報であって前記ジョブの種類および／または設定内容を含む情報を取得するステップと、ｂ）前記画像処理装置における前記ジョブの実行中に、前記画像処理装置内のメモリに関するリトレーニングを実行するステップと、を実行させるためのプログラムであって、ステップｂ）は、ｂ−１）前記ジョブに関する前記情報に基づいて前記メモリの温度変化状況を推定し、前記温度変化状況の推定結果に基づいて前記リトレーニングの実行タイミングを決定するステップ、を有することを特徴とする。
【発明の効果】
【００２９】
請求項１から請求項１７に記載の発明によれば、ジョブの種類および／またはジョブの設定内容に応じてメモリの温度変化状況が推定され、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが決定されるので、温度変化状況を反映した適切なタイミングでメモリのリトレーニングを実行することが可能である。
【図面の簡単な説明】
【００３０】
【図１】ＭＦＰ（画像処理装置）の機能ブロックを示す図である。
【図２】ＭＦＰの外観を示す図である。
【図３】コントローラの詳細なハードウエア構成を示す図である。
【図４】プリントジョブの実行時における各チャネルの処理負荷等を示す図である。
【図５】変形例に係るリトレーニングタイミングを示す図である。
【図６】温度上昇速度（レベルＬ１）を示すグラフである。
【図７】温度上昇速度（レベルＬ２）を示すグラフである。
【図８】温度上昇速度（レベルＬ３）を示すグラフである。
【図９】代行付随型リトレーニングの詳細動作を示すタイミングチャートである。
【図１０】第２実施形態に係る動作を示すタイミングチャートである。
【図１１】第３実施形態に係る動作を示すタイミングチャートである。
【図１２】変形例に係るリトレーニングの詳細動作を示すタイミングチャートである。
【図１３】別の変形例に係るリトレーニングの詳細動作を示すタイミングチャートである。
【発明を実施するための形態】
【００３１】
以下、本発明の実施形態を図面に基づいて説明する。
【００３２】
＜１．第１実施形態＞
＜１−１．画像処理装置の構成＞
図１は、画像処理装置（より詳細にはＭＦＰ）１０の機能ブロックを示す図である。ここでは、画像処理装置としてＭＦＰ（マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral））１０を例示する。また、図２は、ＭＦＰ１０の外観等を示す図である。
【００３３】
ＭＦＰ１０は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置（複合機とも称する）である。具体的には、ＭＦＰ１０は、図１の機能ブロック図に示すように、画像読取部２、印刷出力部３、通信部４、格納部５、操作部６およびコントローラ９等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。なお、ＭＦＰ１０は、画像形成装置などとも称される。
【００３４】
画像読取部２は、ＭＦＰ１０の所定の位置（ＡＤＦ（原稿自動送り装置（Auto Document Feeder））あるいはガラス面（透光性原稿台）等）に載置された原稿を光学的に読み取って（すなわちスキャンして）、当該原稿の画像データ（原稿画像あるいはスキャン画像とも称する）を生成する処理部である。この画像読取部２は、スキャン部であるとも称される。
【００３５】
印刷出力部３は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
【００３６】
通信部４は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部４は、各種のネットワーク通信を行うことも可能である。
【００３７】
格納部５は、ハードディスクドライブ（ＨＤＤ）等の記憶装置で構成される。
【００３８】
操作部６は、ＭＦＰ１０に対する操作入力を受け付ける操作入力部６ａと、各種情報の表示出力を行う表示部６ｂとを備えている。
【００３９】
このＭＦＰ１０においては、略板状の操作パネル部６ｃ（図２参照）が設けられている。また、操作パネル部６ｃは、その正面側にタッチパネル２５（図２参照）を有している。タッチパネル２５は、操作入力部６ａの一部としても機能するとともに、表示部６ｂの一部としても機能する。タッチパネル２５は、液晶表示パネルに各種センサ等が埋め込まれて構成され、各種情報を表示するとともに操作者からの各種の操作入力を受け付けることが可能である。
【００４０】
コントローラ（制御部）９（図１参照）は、ＭＦＰ１０に内蔵され、ＭＦＰ１０を統括的に制御する制御装置である。コントローラ９は、ＣＰＵおよび各種の半導体メモリ（ＲＡＭおよびＲＯＭ）等を備えるコンピュータシステムとして構成される。コントローラ９は、ＣＰＵにおいて、ブート用のメモリ（フラッシュメモリ等）内に格納されている所定のソフトウエアプログラム（以下、単にプログラムとも称する）を実行することによって、各種の処理部を実現する。なお、当該プログラム（詳細にはプログラムモジュール群）は、ＵＳＢメモリなどの可搬性の記録媒体に記録され、当該記録媒体から読み出されてＭＦＰ１０にインストールされるようにしてもよい。あるいは、当該プログラムは、ネットワークを経由してダウンロードされてＭＦＰ１０にインストールされるようにしてもよい。
【００４１】
具体的には、図１に示すように、コントローラ９は、上記のプログラムの実行により、通信制御部１１と入力制御部１２と表示制御部１３とジョブ制御部１４とキャリブレーション制御部１５とを含む各種の処理部を実現する。
【００４２】
通信制御部１１は、他の装置との間の通信動作を通信部４等と協働して制御する処理部である。通信制御部１１は、各種データの送信動作を制御する送信制御部と各種データの受信動作を制御する受信制御部とを有する。
【００４３】
入力制御部１２は、操作入力部６ａ（タッチパネル２５等）に対する操作入力動作を制御する制御部である。たとえば、入力制御部１２は、タッチパネル２５に表示された操作画面に対する操作入力を受け付ける動作を制御する。
【００４４】
表示制御部１３は、表示部６ｂ（タッチパネル２５等）における表示動作を制御する処理部である。
【００４５】
ジョブ制御部１４は、各種のジョブに関する動作（印刷出力動作、画像読取動作等）を制御する処理部である。ジョブ制御部１４は、ジョブに関する情報（ジョブの種類および／または設定内容を含む情報）（ジョブ情報などとも称する）を取得する。
【００４６】
キャリブレーション制御部１５は、メモリのキャリブレーション（トレーニング）に関する動作を制御する処理部である。メモリのキャリブレーションには、メモリの再キャリブレーション（リトレーニングとも称する）も含まれる。
【００４７】
キャリブレーション制御部１５は、ジョブの種類および／またはジョブの設定内容に基づいてメモリの温度変化状況（温度上昇状況等）を推定する推定部１５ａと、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する決定部１５ｂとを有する。
【００４８】
＜１−２．コントローラの詳細構成＞
図３は、コントローラ９の詳細なハードウエア構成を示す図である。
【００４９】
コントローラ９は、この実施形態では、ＣＰＵ３１およびＤＲＡＭコントローラ３６等をワンチップ内に収めたＳｏＣ（System-on-a-Chip：システム・オン・チップ）を備えて構成される。
【００５０】
ＳｏＣは、ＣＰＵ３１とＤＲＡＭコントローラ３６とＤＭＡ（Direct Memory Access）コントローラ４１と画像処理回路４３とＳＡＴＡ（Serial ATA）コントローラ４４とメモリコントローラ４５とネットワークコントローラ４６とを備えて構成される。各部３１，３６，４１，４４，４５，４６は、ＳｏＣの内部バス３９等を介して相互に接続されており、データの送受信を相互に行うことが可能である。
【００５１】
画像処理回路４３は、ＤＭＡコントローラ４１（ＭＦＰの画像処理用のＤＭＡコントローラ）およびバス３９等を介して、各部３１，３６，４４，４５，４６との間でデータを送受信することが可能である。
【００５２】
また、コントローラ９は、高速動作可能な揮発性記憶部５１（詳細には、複数（ここでは２つ）のメモリ（ＤＲＡＭ：Dynamic Random Access Memory）（５１ａ，５１ｂ））、大容量の不揮発性記憶部５４（ＨＤＤ（hard disk drive）およびＳＳＤ（solid state drive）等）、ならびにブートメモリ５５（フラッシュメモリ等）等を備えて構成される。
【００５３】
複数のＤＲＡＭ５１（ここでは、２つのＤＲＡＭ５１ａ，５１ｂ）は、ＤＲＡＭコントローラ３６およびバス３９を介して、各部３１，４１，４３，４４，４５，４６等との間でデータを送受信することが可能である。ＤＲＡＭ５１に対するアクセスは、ＣＰＵ３１あるいはＤＭＡコントローラ４１によって、ＤＲＡＭコントローラ３６等を介して制御される。
【００５４】
不揮発性記憶部５４は、ＳＡＴＡコントローラ４４およびバス３９を介して、各部３１，３６，４１，４５，４６との間でデータを送受信することが可能である。
【００５５】
ブートメモリ５５は、メモリコントローラ４５およびバス３９を介して、各部３１，３６，４１，４４，４５，４６との間でデータを送受信することが可能である。
【００５６】
ネットワークコントローラ４６は、ネットワーク端子５６を介した外部通信を制御する処理部である。ネットワークコントローラ４６は、各部３１，３６，４１，４４，４５との間でのバス３９を介したデータの送受信をも制御する。ネットワークコントローラ４６は、外部装置からのデータの受信動作および装置内部への転送動作、および外部装置へのデータの送信動作（装置内部からの転送動作を含む）等を制御する。
【００５７】
この実施形態では、ＤＲＡＭコントローラ３６は、２つのメモリチャネルＣｈ０，Ｃｈ１を有している。ＤＲＡＭコントローラ３６は、各メモリチャネル（単にチャネルとも表記する）を介して２つのＤＲＡＭ５１のそれぞれとの間でデータの送受信を行うことが可能である。具体的には、ＤＲＡＭコントローラ３６は、一方のチャネルＣｈ０を介して一方のＤＲＡＭ５１ａとの間でのデータの送受信を行うことが可能であり、他方のチャネルＣｈ１を介して他方のＤＲＡＭ５１ｂとの間でのデータの送受信を行うことが可能である。換言すれば、ＤＲＡＭ５１ａはＤＲＡＭコントローラ３６のチャネルＣｈ０によって制御され、ＤＲＡＭ５１ｂはＤＲＡＭコントローラ３６のチャネルＣｈ１によって制御される。
【００５８】
２つのチャネルＣｈ０，Ｃｈ１のうち、チャネルＣｈ１は、ＤＭＡコントローラ４１（ＭＦＰの画像処理用のＤＭＡコントローラ）を用いた処理（ＤＭＡ経由の処理（ＤＭＡ転送処理等））に主に利用される。これに対して、もう一つのチャネルＣｈ０は、その他の処理（画像処理のためのＣＰＵによる準備処理等）に主に利用される。
【００５９】
たとえば、ＰＣプリントジョブ（パーソナルコンピュータ（ＰＣ）等からの印刷指示に基づく印刷出力ジョブ）においては、チャネルＣｈ０（およびＤＲＡＭ５１ａ）がＣＰＵによる処理（ＰＤＬ解析処理およびＲＩＰ処理）に主に利用され、チャネルＣｈ１（およびＤＲＡＭ５１ｂ）がＤＭＡコントローラ４１よる処理（ＤＭＡ転送処理）に主に利用される。特に、リアルタイム性を要求される画像処理（ＤＭＡ転送処理等）は、一方のチャネルＣｈ１に優先的に割り当てられてリアルタイム性を確保しつつ実行される。それ以外の処理は他方のチャネルＣｈ０に割り当てられる。
【００６０】
また、コントローラ９（ＤＲＡＭコントローラ３６等）は、チャネルＣｈ０に関するリトレーニングＲ０とチャネルＣｈ１に関するリトレーニングＲ１とを互いに独立したタイミングで実行することが可能である。
【００６１】
＜１−３．動作概要＞
後に詳述するように、この実施形態では、実行対象ジョブの種類および当該実行対象ジョブの設定内容に基づいてメモリの温度変化状況（温度上昇速度（温度上昇度合）等）が推定される。そして、当該温度変化状況の推定結果に基づいて、リトレーニングの実行タイミングが決定される。
【００６２】
以下では、まず、メモリの温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが変更される点について説明する。なお、メモリの温度変化状況（温度上昇速度等）の推定処理については後述する。
【００６３】
図６〜図８は、温度上昇速度Ｖ（＝ΔＴ／Δｔ）を示すグラフである。横軸は時間を示しており、縦軸は温度を示している。当該グラフの傾きが温度上昇速度Ｖ（単位時間Δｔあたりの温度上昇ΔＴ）を表している。
【００６４】
また、ここでは、温度上昇速度ＶがレベルＬ０〜Ｌ３の４段階に分類される。
【００６５】
図６においては、レベルＬ１の温度上昇度合（温度上昇速度Ｖ１（値Ｖ１１以上且つ値Ｖ１２未満））（ただし、Ｖ１２＞Ｖ１１）が示されている。ここで、レベルＬ１は、３つのレベルＬ１〜Ｌ３のうち最も小さな温度上昇度合いである。図６では、このような緩やかな温度上昇速度Ｖが示されている。
【００６６】
図８においては、レベルＬ３の温度上昇度合（温度上昇速度Ｖ３（値Ｖ１３以上））が示されている。ここで、レベルＬ３は、３つのレベルＬ１〜Ｌ３のうち最も大きな温度上昇度合い（最大レベル）である。図８では、このような急激な温度上昇速度Ｖが示されている。
【００６７】
図７においては、レベルＬ２の温度上昇度合（温度上昇速度Ｖ２（値Ｖ１２以上且つ値Ｖ１３未満））（ただし、Ｖ１３＞Ｖ１２）が示されている。ここで、レベルＬ２は、３つのレベルＬ１〜Ｌ３のうち中位の温度上昇度合いである。図７では、このような中程度の温度上昇速度Ｖが示されている。
【００６８】
また、値Ｖ１１未満の温度上昇速度Ｖは、レベルＬ０（レベルＬ１よりも低い温度上昇度合いを示す）に分類される。
【００６９】
レベルＬ１の温度上昇度合い（図６参照）に対しては、最も低い頻度Ｆ１でリトレーニングが実行される。具体的には、最も長い時間間隔Δｔ１（たとえば、４００ｍｓ（ミリ秒））でリトレーニングが繰り返し実行される。
【００７０】
最大レベルＬ３の温度上昇度合い（図８参照）に対しては、最も高い頻度Ｆ３でリトレーニングが実行される。具体的には、最も短い時間間隔Δｔ３（たとえば、１００ｍｓ（ミリ秒））でリトレーニングが繰り返し実行される。
【００７１】
また、中位レベルＬ２の温度上昇度合いに対しては、中程度の頻度Ｆ２でリトレーニングが実行される。具体的には、時間間隔Δｔ２（たとえば、２００ｍｓ（ミリ秒））でリトレーニングが繰り返し実行される。
【００７２】
また、最小レベルＬ０の温度上昇度合いに対しては、リトレーニングは実行されない。
【００７３】
なお、ここでは、温度上昇速度ＶがレベルＬ０〜Ｌ３の４段階に分類されているが、これに限定されず、より少数の段階に分類されてもよく、より多数の段階に分類されてもよい。
【００７４】
＜１−４．動作＞
次に、ＭＦＰ１０の動作について図４のタイミングチャート等を参照しながら説明する。図４は、ＰＣプリントジョブの実行時における各チャネルＣｈ０，Ｃｈ１の処理負荷等を示す図である。図４においては、メモリの利用期間（メモリへのアクセス期間）の長さが方形波の横幅で表現されている。換言すれば、方形波の（横方向における）密度によって、単位時間当たりの利用期間の長さ（利用密度））が表現されている。
【００７５】
第１実施形態においては、ＰＣプリントジョブの実行中にリトレーニングが実行される態様について説明する。
【００７６】
ＭＦＰ１０（通信部４およびＣＰＵ３１等）は、ＰＣプリントジョブを受け付けると、当該ジョブの種類を認識する。ジョブの種類が「ＰＣプリントジョブ」であることが認識（判定）されると、ＭＦＰ１０のコントローラ９（詳細にはＣＰＵ３１）は、ジョブの種類とジョブの設定内容との双方に基づいてメモリの温度変化状況を推定する。そして、ＣＰＵ３１は、温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する。
【００７７】
具体的には、ＣＰＵ３１は、実行対象のジョブ（たとえばＰＣプリントジョブ）の実行期間（実行段階）を当該ジョブの特性（種類）に基づいて複数の期間（段階）に区分する。そして、ＣＰＵ３１は、当該複数の期間のそれぞれにおけるジョブの処理負荷（メモリの処理負荷）の大きさを当該ジョブの種類に基づいて判定するとともに、当該複数の期間のそれぞれにおける温度変化状況（温度上昇状況等）をジョブの種類に基づいて推定する。さらに、ＣＰＵ３１は、各期間の当該温度変化状況の推定結果に基づいて、リトレーニングの実行タイミングを期間ごとに決定する。
【００７８】
この第１実施形態では、実行対象のジョブとしてＰＣプリントジョブが受け付けられる態様を例示する。ＰＣプリントジョブにおいては、ページ記述言語（ＰＤＬ（Page Description Language））解析処理、ラスターイメージ生成処理（ＲＩＰ（Raster Image Processor）処理）、ＤＭＡ（Direct Memory Access）転送処理等が実行される。ＰＤＬ解析処理は、ページ記述言語（ＰＤＬ）で記述された印刷データ（ＰＣからの受信データ）を解析する処理であり、ＲＩＰ処理は、ラスターイメージデータ（ＲＩＰデータ）を生成する処理である。また、ＤＭＡ転送処理は、ＣＰＵ３１を介さずにＤＭＡコントローラ４１等によってデータを転送する処理である。
【００７９】
詳細には、ＣＰＵ３１による２種類の処理（ＰＤＬ解析処理およびＲＩＰ処理）は、主にチャネルＣｈ０のメモリを用いて実行される。なお、生成されたラスタライズデータはチャネルＣｈ１のメモリに展開される。その後、ＣＰＵ３１を介さないＤＭＡ転送処理が、主にチャネルＣｈ１のメモリを用いて実行される。なお、印刷対象ファイルの印刷対象ページ内の所定の処理単位（たとえば１ライン〜数十ライン単位）ごとに、これらの処理（ＰＤＬ解析処理、ＲＩＰ処理、ＤＭＡ転送処理等）が順次に実行される。図４では、このような処理が簡略化されて示されている。
【００８０】
これらの処理のうち、ＰＤＬ解析処理およびＲＩＰ処理におけるメモリ処理負荷（ＤＲＡＭ５１の負荷）は比較的小さく、ＤＭＡ転送処理におけるメモリ処理負荷は比較的大きい。
【００８１】
このような特性に着目し、この実施形態では、ＣＰＵ３１は、ＰＣプリントジョブに関する処理期間を、ＰＤＬ解析処理およびＲＩＰ処理のみが行われる初期期間（第１期間）（たとえば２秒）ＴＭ１１と当該第１期間より後の第２期間ＴＭ１２とを含む複数の期間に区分する。第２期間ＴＭ１２では、ｉ番目の処理単位に関するＤＭＡ転送処理と（ｉ＋１）番目の処理単位に関するＰＤＬ解析処理およびＲＩＰ処理とが並列的に実行される。なお、ジョブの第１期間ＴＭ１１はジョブの第１段階（ＤＭＡ転送処理の実行を伴わない期間）とも称され、ジョブの第２期間ＴＭ１２はジョブの第２段階（ＤＭＡ転送処理の実行を伴う期間）とも称される。
【００８２】
図４に示されるように、期間ＴＭ１１においては、ＰＤＬ解析処理およびＲＩＰ処理が主にチャネルＣｈ０のメモリを用いて実行される。当該期間ＴＭ１１におけるメモリの負荷は比較的小さい。図４では、期間ＴＭ１１においてメモリ負荷が小さいことが、メモリ（詳細にはチャネルＣｈ０側のメモリ）へのアクセス期間が比較的短いこと（方形波の横幅が狭いこと）によって表現されている。
【００８３】
一方、期間ＴＭ１２においては、ＤＭＡ転送処理が主にチャネルＣｈ１のメモリを用いて実行される。当該期間ＴＭ１２におけるメモリの負荷は比較的大きい。図４では、期間ＴＭ１２においてメモリ負荷が大きいことが、メモリ（詳細にはチャネルＣｈ１側のメモリ）へのアクセス期間が比較的長いこと（方形波の横幅が広いこと）によって表現されている。
【００８４】
そして、ＣＰＵ３１は、ジョブの種類がＰＣプリントジョブであることに基づいて、ＤＭＡ転送処理の実行を伴わない第１期間（初期期間）ＴＭ１１においては、メモリ（ＤＲＡＭ５１）の処理負荷が小さくメモリの温度上昇が少ない旨を推定する。たとえば、第１期間ＴＭ１１におけるメモリの温度上昇速度Ｖは、レベルＬ０である旨が判定される。
【００８５】
また、第２期間ＴＭ１２（ＤＭＡ転送処理の実行を伴う期間）における処理負荷は第１期間における処理負荷よりも大きく且つ当該第２期間における温度上昇速度は第１期間ＴＭ１１における温度上昇速度よりも大きい旨、が推定される。具体的には、第２期間ＴＭ１２における温度上昇速度Ｖは、レベルＬ１〜Ｌ３のいずれか（たとえばレベルＬ３）である旨が推定される。
【００８６】
これらの推定結果に基づき、ＣＰＵ３１は、第１期間ＴＭ１１においてはリトレーニングを行わない旨を決定するとともに、第２期間ＴＭ１２においては、第１期間ＴＭ１１における実行頻度よりも高い頻度でリトレーニングを実行する旨を決定する。換言すれば、ジョブの種類がＰＣプリントジョブであることに基づいて、当該ジョブの実行期間におけるリトレーニングの実行タイミングが決定される。なお、リトレーニングの実行タイミング（第２期間ＴＭ１２におけるリトレーニング頻度等）は、次述するように、ジョブの設定内容にも基づいて決定されることが好ましい。
【００８７】
この実施形態では、ＣＰＵ３１は、ジョブの設定内容にも基づいてメモリの温度変化状況（詳細には温度上昇状況（より詳細には、温度上昇速度Ｖ））を推定する。そして、ＣＰＵ３１は、温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する。
【００８８】
具体的には、ＣＰＵ３１は、ジョブの実行に伴うＤＲＡＭ５１の温度上昇速度Ｖ（＝ΔＴ／Δｔ）をジョブの設定内容に基づいて推定する。
【００８９】
たとえば、ＰＣプリントジョブの設定項目「出力色設定」の設定内容（「フルカラー」あるいは「グレースケール」等）に基づいて、ＣＰＵ３１は、温度上昇速度Ｖを推定する。詳細には、「出力色設定」の設定内容が「フルカラー」に設定されている場合には、処理負荷が大きく、ＤＲＡＭ５１の温度上昇速度ＶがレベルＬ３であると推定される。一方、「出力色設定」の設定内容が「グレースケール」に設定されている場合には、処理負荷が小さく、ＤＲＡＭ５１の温度上昇速度ＶがレベルＬ１であると推定される。
【００９０】
換言すれば、「出力色設定」の設定内容が「フルカラー」に設定されている場合には、ＤＲＡＭ５１の温度上昇（温度上昇速度Ｖ）が所定程度（所定値Ｖｒ）よりも大きい（レベルＬ３）と推定される。一方、「出力色設定」の設定内容が「グレースケール」に設定されている場合には、ＤＲＡＭ５１の温度上昇（温度上昇速度Ｖ）が所定程度（所定値Ｖｒ）よりも小さい（レベルＬ１）と推定される。このように、ジョブの「出力色設定」として「フルカラー」が設定されている場合にジョブの実行に伴って発生する温度上昇は、「グレースケール」が出力色設定として設定されている場合にジョブの実行に伴って発生する温度上昇よりも大きい旨、をＣＰＵ３１は推定する。
【００９１】
そして、ＣＰＵ３１は、ＤＲＡＭ５１の温度上昇が所定程度よりも大きいと推定される場合、ＤＲＡＭ５１の温度上昇が所定程度よりも小さいと判定される場合よりも高い頻度でリトレーニングが実行されるように、ジョブの実行中におけるリトレーニングの実行タイミングを決定する。
【００９２】
具体的には、温度上昇速度ＶがレベルＬ１である場合には頻度Ｆ１（たとえば、４００ｍｓ（ミリ秒）ごと）でリトレーニングが実行され、温度上昇速度ＶがレベルＬ３である場合には頻度Ｆ３（たとえば、１００ｍｓ（ミリ秒）ごと）でリトレーニングが実行される。ただし、Ｆ３＞Ｆ１である。
【００９３】
なお、上記実施形態においては、ＰＣプリントジョブの設定項目「出力色設定」の設定内容（「フルカラー」あるいは「グレースケール」等）に基づいて、温度上昇速度Ｖが推定されているが、これに限定されない。
【００９４】
たとえば、ＰＣプリントジョブの設定項目「出力解像度」の設定内容（「３００ｄｐｉ」、「６００ｄｐｉ」あるいは「１２００ｄｐｉ」等）に基づいて、ＣＰＵ３１は、温度上昇速度Ｖを推定する。
【００９５】
詳細には、「出力解像度」の設定内容が「１２００ｄｐｉ」に設定されている場合には、ＤＲＡＭ５１の温度上昇速度ＶはレベルＬ３であると推定される。一方、「出力解像度」の設定内容が「３００ｄｐｉ」（より低い解像度）に設定されている場合には、ＤＲＡＭ５１の温度上昇速度ＶはレベルＬ１であると推定される。また、「出力解像度」の設定内容が「６００ｄｐｉ」に設定されている場合には、ＤＲＡＭ５１の温度上昇速度ＶはレベルＬ２であると推定される。なお、レベルＬ２は、レベルＬ１よりも大きく且つレベルＬ３よりも小さな温度上昇レベルである（Ｌ１＜Ｌ２＜Ｌ３）。
【００９６】
換言すれば、「出力解像度」の設定内容が「１２００ｄｐｉ」に設定されている場合には、ＤＲＡＭ５１の温度上昇（温度上昇速度Ｖ）が所定程度よりも大きい（レベルＬ３）と推定される。一方、「出力解像度」の設定内容が「３００ｄｐｉ」に設定されている場合には、ＤＲＡＭ５１の温度上昇（温度上昇速度Ｖ）が所定程度よりも小さい（レベルＬ１）と推定される。
【００９７】
このように、ジョブの出力解像度として「１２００ｄｐｉ」が設定されている場合にジョブの実行に伴って発生する温度上昇は、「１２００ｄｐｉ」よりも低い「３００ｄｐｉ」（あるいは「６００ｄｐｉ」）が出力解像度として設定されている場合にジョブの実行に伴って発生する温度上昇よりも大きい旨、が推定されてもよい。
【００９８】
そして、温度上昇速度Ｖが複数段階（レベルＬ１，Ｌ２，Ｌ３等）のいずれであるかに応じて、リトレーニングの実行タイミングが決定されてもよい。詳細には、レベルＬ１に対しては頻度Ｆ１で（たとえば、４００ｍｓ（ミリ秒）ごとに）リトレーニングが実行されてもよい。また、レベルＬ２に対しては頻度Ｆ２で（たとえば、２００ｍｓ（ミリ秒）ごとに）リトレーニングが実行され、レベルＬ３に対しては頻度Ｆ３で（たとえば、１００ｍｓ（ミリ秒）ごとに）リトレーニングが実行されてもよい。ここで、Ｌ１＜Ｌ２＜Ｌ３，Ｆ１＜Ｆ２＜Ｆ３、である。
【００９９】
また、ここでは、レベルＬ１〜Ｌ３のそれぞれに応じた時間間隔でリトレーニングが実行されているが、これに限定されない。たとえば、レベルＬ１〜Ｌ３のそれぞれに応じて定められた進捗単位でリトレーニングが実行されてもよい。より詳細には、図５に示されるように、温度上昇速度ＶがレベルＬ１の場合には、１／２ページ（半ページ）分の処理（プリントジョブに関する印刷出力処理等）が終了するごとに、リトレーニングが実行されてもよい。また、温度上昇速度ＶがレベルＬ２の場合には、１／４ページ分の処理が終了するごとにリトレーニングが実行されてもよく、温度上昇速度ＶがレベルＬ３の場合には、１／８ページ分の処理が終了するごとにリトレーニングが実行されてもよい。図５においては、各レベルごとに応じたリトレーニングの実行時期が黒点で示されている。
【０１００】
＜代行付随型リトレーニング処理＞
また、この実施形態においては、リトレーニング処理として、「代行付随型リトレーニング」（次述）が実行される。代行付随型リトレーニングにおいては、２つのチャネルＣｈ０，Ｃｈ１のうちの一方のチャネル（ここではチャネルＣｈ１）のリトレーニング時のメモリ処理（ＤＭＡ転送処理等）が、他方のチャネル（ここではチャネルＣｈ０）で代行されて実行される。換言すれば、一方のチャネルＣｈ１がビジーである場合、当該一方のチャネルＣｈ１で行うべき処理が他方のチャネルＣｈ０に移管される。このような移管処理によって当該チャネルＣｈ１が空けられた（当該チャネルＣｈ１で実行すべき処理から解放された）状態で、チャネルＣｈ１のリトレーニング処理が実行される。
【０１０１】
なお、チャネルＣｈ１側の当該リトレーニング処理は、代行処理（当該チャネルＣｈ１側で実行されるべきメモリ処理を他チャネルＣｈ０のリソース（メモリチャネルおよびメモリ）で代行する処理）を伴って実行されることから、「代行付随型リトレーニング」とも称される。また、チャネルＣｈ１側の当該リトレーニング処理（「代行付随型リトレーニング」）は、他チャネルＣｈ０のリソース（メモリチャネルおよびメモリ）を借り受ける処理を伴って実行されることから、「借り受け型リトレーニング」とも称される。以下では、「代行付随型リトレーニング（借り受け型リトレーニング）」について更に詳細に説明する。
【０１０２】
図９は、代行付随型リトレーニングの詳細動作を示すタイミングチャートである。図９においては、リトレーニング実行タイミング付近の詳細動作が拡大されて示されている。
【０１０３】
ここでは、チャネルＣｈ０に関するリトレーニングＲ０とチャネルＣｈ１に関するリトレーニングＲ１とが互いに独立したタイミングで実行される。具体的には、第２期間ＴＭ１２（図４参照）においてチャネルＣｈ１がビジー状態であることが多いことから、第２期間ＴＭ１２におけるチャネルＣｈ１のリトレーニングが代行付随型リトレーニングによって実行される。なお、第２期間ＴＭ１２におけるチャネルＣｈ０においては、空き時間が相当程度存在するので、第２期間ＴＭ１２におけるチャネルＣｈ０のリトレーニングは、適宜の空きタイミングにて（代行付随型リトレーニングではなく通常の動作で）実行されればよい。
【０１０４】
具体的には、一方のチャネルＣｈ０を利用したＣＰＵ処理（ステップＳ１）が一旦終了した後、当該一方のチャネルＣｈ０に関するリトレーニングタイミング（チャネルＣｈ０の空きタイミング）が到来すると、まず、ＣＰＵ３１は、当該一方のチャネルＣｈ０に関するリトレーニングＲ０（代行付随型リトレーニングではない通常のリトレーニング）を実行する（ステップＳ２）。
【０１０５】
このリトレーニングＲ０が終了すると、他方のチャネルＣｈ１でのリトレーニングＲ１（代行付随型リトレーニング）のための準備処理が実行される。具体的には、当該リトレーニングＲ１中のＤＭＡ転送処理をチャネルＣｈ０側で代行するための準備処理等が実行される。
【０１０６】
詳細には、ＣＰＵ３１は、チャネルＣｈ０で行われていたＣＰＵ処理に関するデータを退避用格納領域（別の退避用メモリ（ＳＳＤ等）内の格納領域等）に退避（スワップ）する（ステップＳ３）。これにより、チャネルＣｈ０が空けられる（ＣＰＵ処理から解放される）。また、ＣＰＵ３１は、チャネルＣｈ１側のＤＲＡＭ５１ｂに格納されている処理対象データ（ＤＭＡ転送処理の処理対象データ）を（ＣＰＵ処理から解放された）チャネルＣｈ０側のＤＲＡＭ５１ａへとコピー（退避）する（ステップＳ４）。より具体的には、リトレーニングＲ１中にＤＭＡ転送されるべきメモリデータ（たとえば、数ライン分のメモリデータ）が特定され、当該メモリデータがＤＲＡＭ５１ｂからＤＲＡＭ５１ａへと転送（コピー）される。このようにして、チャネルＣｈ１をＤＭＡ転送処理から一旦解放するための準備が実行される。
【０１０７】
そして、チャネルＣｈ１を用いて行われるべきＤＭＡ転送処理がチャネルＣｈ０を用いて実行される。すなわち、ＤＭＡ転送処理がチャネルＣｈ０によって代行される（ステップＳ５）。具体的には、ＣＰＵ３１は、ＤＭＡコントローラ４１にＤＭＡ転送処理を実行させる。より具体的には、ＤＭＡコントローラ４１は、チャネルＣｈ０側のＤＲＡＭ５１ａにコピーされていたデータを利用したＤＭＡ転送処理を実行する。詳細には、メモリ内（チャネルＣｈ０のＤＲＡＭ５１ａ内）におけるＤＭＡ転送処理（メモリｔｏメモリ型のＤＭＡ転送処理）等が実行される。このようにしてチャネルＣｈ０による代行処理が実行される。
【０１０８】
このような代行処理によって、チャネルＣｈ１が空けられる（ＤＭＡ転送処理から解放される）。
【０１０９】
さらに、このような代行処理に並行して、チャネルＣｈ１側ではリトレーニングＲ１が実行される（ステップＳ６）。
【０１１０】
その後、当該リトレーニングＲ１が終了すると、チャネルＣｈ０側で実行されていたＤＭＡ転送処理の対象データ（ＤＭＡ転送処理を伴う画像処理後の画像データ等）がチャネルＣｈ１側へと戻される（ＤＲＡＭ５１ａからＤＲＡＭ５１ｂへとコピーされる）（ステップＳ７）。さらに、ＳＳＤ等に退避されていたデータがチャネルＣｈ０側へと戻される（ＳＳＤからＤＲＡＭ５１ａへとコピーされる）（ステップＳ８）。以後、リトレーニングＲ１の完了後においては、本来の実行担当処理部によって各処理が実行される。具体的には、第２処理（ＤＭＡ転送処理）はチャネルＣｈ１およびＤＲＡＭ５１ｂを用いて実行され（ステップＳ９）、第１処理（ＣＰＵ処理等）はチャネルＣｈ０およびＤＲＡＭ５１ａを用いて実行される。
【０１１１】
以上のような処理によれば、特に、第２処理に関する代行処理（チャネルＣｈ０による代行処理）（ステップＳ５）に並行して、第２処理から解放されたチャネルＣｈ１でリトレーニングＲ１が実行される（ステップＳ６）。したがって、チャネルＣｈ１の空きタイミング（チャネルＣｈ１が空いているタイミング）が比較的少ないときであっても、チャネルＣｈ１を謂わば強制的に空けることによって、チャネルＣｈ１に関するリトレーニングを比較的自由なタイミングで実行することが可能である。
【０１１２】
特に、リトレーニングの実行タイミングにおいて２つのチャネルＣｈ０，Ｃｈ１のうちのチャネルＣｈ０にて実行すべき第１処理（ＣＰＵ処理等）が存在する場合（すなわち、リトレーニング処理の実行タイミングと第１処理の実行タイミングとが重複する場合）、第１処理に関するデータが退避用格納領域（ＳＳＤ）に退避される。そして、チャネルＣｈ０で本来行われるべき第１処理が退避用格納領域（ＳＳＤ）を用いて実行される。より具体的には、退避用格納領域に退避されたデータ（第１処理に関するデータ）を用いて第１処理が実行される。このようにして、チャネルＣｈ０が空けられる。
【０１１３】
さらに、リトレーニングの実行タイミングにおいてチャネルＣｈ１にて実行すべき第２処理（ＤＭＡ転送処理）もが存在すると判定されるときには、（空けられた）チャネルＣｈ０とＤＲＡＭ５１ａとを用いて第２処理（ＤＭＡ転送処理等）が実行される。具体的には、第２処理は、第２処理の対象データ（ＤＲＡＭ５１ｂからＤＲＡＭ５１ａに退避された対象データ）に対するチャネルＣｈ０を介したアクセスを伴って、実行される。換言すれば、チャネルＣｈ１によって実行されるべき第２処理がチャネルＣｈ０によって代行され、チャネルＣｈ１が空けられる。
【０１１４】
このように、第１処理がＳＳＤを用いて実行されること（ＳＳＤによる代行処理）によってチャネルＣｈ０が空けられ（チャネルＣｈ０が第１処理から解放され）、さらに、チャネルＣｈ０による代行処理によって、当該チャネルＣｈ１が空けられる（第２処理から解放される）。
【０１１５】
そして、当該チャネルＣｈ１が空けられた状態（第２処理から解放された状態）で当該チャネルＣｈ１に関するリトレーニングＲ１が実行される。
【０１１６】
したがって、チャネルＣｈ１にて実行すべき第２処理が存在する場合であっても、チャネルＣｈ０による代行処理によってチャネルＣｈ１が第２処理から解放され、チャネルＣｈ１に関するリトレーニングＲ１を実行することが可能である。
【０１１７】
また、上記処理においては、チャネルＣｈ０に関するリトレーニングＲ０とチャネルＣｈ１に関するリトレーニングＲ１とが互いに独立したタイミングで実行される。したがって、２つのチャネルＣｈ０，Ｃｈ１に関するリトレーニングＲ０，Ｒ１が常に同時にのみ実行される場合に比べて、リトレーニングをより適切なタイミングで実行することが可能である。
【０１１８】
なお、ここでは、ＤＲＡＭ５１ｂからのＤＲＡＭ５１ａへのメモリデータのコピー処理は、ステップＳ１の後（詳細にはステップＳ３の直後のステップＳ４）にて実行されているが、これに限定されず、たとえばステップＳ１よりも前に実行されてもよい。より詳細には、チャネルＣｈ１に関するリトレーニングＲ１（ステップＳ６）の実行時点から逆算した所定のタイミング（たとえば、リトレーニングの実行時点の５０ｍｓ前の時点）で（チャネルＣｈ０，Ｃｈ１の空き時間等を利用して）、当該コピー処理が実行されてもよい。特に、当該コピー処理はチャネルＣｈ０，Ｃｈ１の空き時間に分散して行われることが、さらに好ましい。これによれば、リトレーニングの実行タイミングの遅延をより適切に抑制（防止）することが可能である。
【０１１９】
また、ステップＳ７の処理についても同様である。たとえば、ＤＲＡＭ５１ａからＲＡＭ５１ｂへと戻されたデータがステップＳ９にて直ちに利用されない場合等においては、ステップＳ７の処理はステップＳ９よりも後に実行されてもよい。
【０１２０】
なお、上記実施形態では、第１期間ＴＭ１１においてはリトレーニングが行われない態様が例示されているが、これに限定されない。たとえば、第１期間ＴＭ１１の温度上昇速度ＶがレベルＬ０であると推定される場合にもリトレーニングが行われてもよい。より詳細には、第１期間ＴＭ１１において頻度Ｆ１（非常に低い頻度）のリトレーニングが行われ、第２期間ＴＭ１２において更に高頻度（Ｆ２，Ｆ３，...）のリトレーニングが行われてもよい。
【０１２１】
＜２．第２実施形態＞
第２実施形態は、第１実施形態の変形例である。以下では、第１実施形態との相違点を中心に説明する。
【０１２２】
第２実施形態においては、スキャンジョブの実行中におけるリトレーニングについて説明する。
【０１２３】
図１０は、第２実施形態に係る動作を示すタイミングチャートである。図１０においては、スキャンジョブの実行時における各チャネルの処理負荷等が示されている。
【０１２４】
スキャンジョブ（詳細には、所定形式ファイル（たとえばＪＰＥＧ形式ファイル）のスキャンデータ生成ジョブ）においては、画像読取処理、および所定形式ファイルへの変換処理（たとえばＪＰＥＧ圧縮処理）等が実行される。ここでは、１ページ全体の画像読取処理（光学的読取処理）が終了した後に、ＪＰＥＧ圧縮処理が開始される様子が示されている。
【０１２５】
このうち、画像読取処理におけるメモリ処理負荷は比較的大きく、ＪＰＥＧ圧縮処理におけるメモリ処理負荷も比較的大きい。
【０１２６】
このような特性に着目し、この実施形態では、スキャンジョブの全期間において所定程度よりも大きな温度上昇（詳細には、温度上昇速度Ｖ１１よりも大きな温度上昇速度Ｖ）が発生する旨が推定され、スキャンジョブの全期間において比較的高い頻度（たとえば、レベルＬ１〜Ｌ３のいずれか）でリトレーニングが実行される。
【０１２７】
より詳細には、ＣＰＵ３１は、スキャンジョブに関する処理期間を、光学的な画像読取処理（ＤＭＡ転送処理を含む）が実行される第１期間ＴＭ２１（初期期間とも称する）（たとえば５秒）と当該第１期間より後の第２期間ＴＭ２２とを含む複数の期間に区分する。第２期間ＴＭ２２では、ＪＰＥＧ圧縮処理等が実行される。第１期間ＴＭ２１はジョブの第１段階（ＤＭＡ転送処理の実行を伴う期間）とも称され、第２期間ＴＭ２２はジョブの第２段階（ＪＰＥＧ圧縮処理の実行を伴う期間）とも称される。なお、スキャンジョブでは、ＤＭＡ転送処理として、画像読取部２のラインセンサ（不図示）からＤＲＡＭ５１への（ＤＭＡコントローラ４１による）データ転送処理等が実行される。
【０１２８】
特に、ＣＰＵ３１は、ジョブの種類がスキャンジョブであることに基づいて、ＤＭＡ転送処理の実行を伴う第１期間ＴＭ２１においてはメモリの処理負荷が大きく且つメモリの温度上昇が大きい旨を推定するとともに、ＤＭＡ転送処理の実行後の期間である第２期間ＴＭ２２（ＪＰＥＧ圧縮処理の実行期間）においてもメモリの処理負荷が大きく且つメモリの温度上昇が大きい旨を推定する。また、ＣＰＵ３１は、スキャンジョブの各期間ＴＭ２１，ＴＭ２２におけるメモリ処理負荷はいずれもＰＣプリントジョブの第１期間ＴＭ１１におけるメモリの処理負荷よりも高い旨を推定する。このような推定結果に基づき、ＣＰＵ３１は、さらに、スキャンジョブの各期間ＴＭ２１，ＴＭ２２におけるメモリの温度上昇はいずれもＰＣプリントジョブの第１期間ＴＭ１１におけるメモリの温度上昇よりも大きい旨を推定する。
【０１２９】
たとえば、第１期間ＴＭ２１，ＴＭ２２におけるメモリ温度上昇度合いは、レベルＬ１〜Ｌ３のいずれか（レベルＬ０よりも大きなレベル）であると推定される。
【０１３０】
これらの推定結果に基づき、ＣＰＵ３１は、第１期間ＴＭ２１においては、リトレーニングを比較的高頻度（たとえば頻度Ｆ１〜Ｆ３のいずれか）で行い、第２期間ＴＭ２２においても、比較的高頻度（たとえば頻度Ｆ１〜Ｆ３のいずれか）でリトレーニングを実行する。スキャンジョブの何れの期間ＴＭ２１，ＴＭ２２においても、ＰＣプリントジョブにおける第１期間ＴＭ１１におけるリトレーニングの実行頻度（たとえば、頻度Ｆ０）よりも高い頻度でリトレーニングが実行される。なお、頻度Ｆ０は、「ゼロ」であり、リトレーニングが実行されないことを意味する。
【０１３１】
このように、実行対象ジョブがスキャンジョブである場合、スキャンジョブの実行期間のうち当該スキャンジョブの初期期間（ＤＭＡ転送処理を伴う初期期間）ＴＭ２１と当該初期期間におけるＤＭＡ転送処理処理の終了後の所定期間ＴＭ２２とのいずれにおいても、実行対象ジョブの実行に伴う温度上昇は所定程度よりも大きいと推定されて、比較的高い頻度でリトレーニングが実行される。なお、実行対象ジョブがプリントジョブである場合には、当該プリントジョブの実行期間のうちＤＭＡ転送処理の実行が開始される前の初期期間ＴＭ１１（図４）においては、プリントジョブの実行に伴う温度上昇は所定程度よりも小さいと推定されてリトレーニングは実行されない（あるいは、非常に低い頻度でリトレーニングが実行される）。端的に言えば、実行対象ジョブがプリントジョブであるかスキャンジョブであるかに応じて、異なるタイミングでリトレーニングが実行される。
【０１３２】
また、第２実施形態においても、ＣＰＵ３１は、ジョブの設定内容にも基づいてメモリの温度変化状況を推定する。そして、ＣＰＵ３１は、温度変化状況の推定結果に基づいてリトレーニングの実行タイミングを決定する。
【０１３３】
具体的には、ＣＰＵ３１は、ジョブの実行に伴うＤＲＡＭ５１の温度上昇速度Ｖ（＝ΔＴ／Δｔ）をジョブの設定内容に基づいて推定する。
【０１３４】
たとえば、スキャンジョブの設定項目「読取解像度」の設定内容（「３００ｄｐｉ」、「６００ｄｐｉ」あるいは「１２００ｄｐｉ」等）に基づいて、ＣＰＵ３１は、温度上昇速度Ｖを推定する。詳細には、「読取解像度」の設定内容が「１２００ｄｐｉ」に設定されている場合には、ＤＲＡＭ５１の温度上昇速度Ｖが所定程度（第１の基準値（閾値）ＴＨ２（値Ｖ１２））よりも大きいと推定される。特に、この場合、ＤＲＡＭ５１の温度上昇速度Ｖは、第２の基準値ＴＨ３（値Ｖ１３）よりも更に大きい（レベルＬ３）と推定される。
【０１３５】
一方、「読取解像度」の設定内容が「３００ｄｐｉ」に設定されている場合には、ＤＲＡＭ５１の温度上昇速度Ｖが所定程度（閾値ＴＨ２）よりも小さい（レベルＬ１）と推定される。
【０１３６】
なお、ここでは、「読取解像度」の設定内容が「６００ｄｐｉ」に設定されている場合には、ＤＲＡＭ５１の温度上昇速度Ｖは所定程度（閾値ＴＨ２）よりも大きい、と推定される。より詳細には、この場合、ＤＲＡＭ５１の温度上昇速度Ｖは第２の基準値ＴＨ３よりは小さい（レベルＬ２）、と推定される。
【０１３７】
換言すれば、レベルＬ３は、閾値ＴＨ３よりも大きな温度上昇速度を有するレベルであり、レベルＬ２は、閾値ＴＨ２よりも大きく且つ閾値ＴＨ３未満の温度上昇速度Ｖを有するレベルである。また、レベルＬ１は、閾値ＴＨ１よりも大きく且つ閾値ＴＨ２未満の温度上昇速度Ｖを有するレベルであり、レベルＬ０は、閾値ＴＨ１未満の温度上昇速度Ｖを有するレベルである。ただし、ＴＨ１＜ＴＨ２＜ＴＨ３、である。なお、温度上昇速度Ｖと閾値との比較において等号が成立するときには、互いに隣接するレベルのいずれであると判定されてもよい。たとえば、温度上昇速度Ｖが閾値ＴＨ２に等しい場合には、当該温度上昇速度ＶはレベルＬ２，Ｌ１のいずれであると判定されてもよい。
【０１３８】
このように、ジョブの読取解像度として「１２００ｄｐｉ」が設定されている場合にジョブの実行に伴って発生する温度上昇は、「１２００ｄｐｉ」よりも低い「６００ｄｐｉ」（あるいは「３００ｄｐｉ」）が読取解像度として設定されている場合にジョブの実行に伴って発生する温度上昇よりも大きい旨、が推定される。
【０１３９】
そして、温度上昇速度Ｖが複数段階（レベルＬ１，Ｌ２，Ｌ３等）のいずれであるかに応じて、リトレーニングの実行タイミングが決定される。詳細には、レベルＬ１に対しては頻度Ｆ１（たとえば、４００ｍｓ（ミリ秒）ごと）でリトレーニングが実行される。また、レベルＬ２に対しては頻度Ｆ２（たとえば、２００ｍｓ（ミリ秒）ごと）でリトレーニングが実行され、レベルＬ３に対しては頻度Ｆ３（たとえば、１００ｍｓ（ミリ秒）ごと）でリトレーニングが実行される。ここで、Ｌ１＜Ｌ２＜Ｌ３，Ｆ１＜Ｆ２＜Ｆ３、である。
【０１４０】
なお、リトレーニングは第１実施形態と同様の動作（図９）によって実行されればよい。ただし、上述のように、第２実施形態に係るスキャンジョブのＤＭＡ転送処理では画像読取部２のラインセンサからＤＲＡＭ５１へのデータ転送処理（ＤＲＡＭ５１への書込処理）が実行されるので、図９のステップＳ４では、退避すべきデータが未だ存在していない。したがって、ステップＳ４のデータ退避処理（ＤＲＡＭ５１ｂからＤＲＡＭ５１ａへのデータ退避処理）は不要である。
【０１４１】
＜３．第３実施形態＞
第３実施形態は、第１実施形態等の変形例である。以下では、第１実施形態との相違点を中心に説明する。
【０１４２】
第３実施形態においては、複数のジョブ（複数の異なる種類のジョブ）が同時並列的に実行される状況（換言すれば、マルチジョブの並列的実行中）におけるリトレーニングについて説明する。
【０１４３】
第３実施形態においては、第１実施形態と同様にＰＣプリントジョブが実行される。ただし、第３実施形態においては、当該ＰＣプリントジョブの実行中に別の種類のジョブ（たとえば、外部端末を用いたリモート操作ジョブ）もが実行される。この結果、当該別のジョブの実行時点から暫時の期間においては、複数の種類のジョブが実行される。
【０１４４】
図１１は、第３実施形態に係る動作を示すタイミングチャートである。図１１においては、互いに異なる種類の複数のジョブが同時並列的に実行される際における各チャネルの処理負荷等が示されている。
【０１４５】
第３実施形態においては、ＰＣプリントジョブが第１実施形態と同様に実行されている状況において、さらにリモート操作ジョブもが時刻ｔ３３において開始される。
【０１４６】
リモート操作ジョブは、タブレット端末などの外部装置（リモート端末）７０（図２参照）からのリモート操作をネットワーク１０８を介してＭＦＰ１０が受け付けるためのジョブである。ＭＦＰ１０は、リモート操作用の画面（ＭＦＰ１０の操作パネル部６ｃに表示される画面と同様の画面）の表示用データ（画像データ）を生成し、当該表示用データを外部装置７０に転送する。外部装置７０は、当該表示用データに基づく画像（画面）を外部装置７０の表示部に表示し、ユーザからの操作を受け付ける。外部装置７０は、ユーザからの指示内容（操作内容）をＭＦＰ１０に転送し、ＭＦＰ１０は、当該指示内容に基づく処理（コピー設定処理およびコピー開始処理等）を実行する。
【０１４７】
図１１の中段においては、第３実施形態に係るチャネルＣｈ０のメモリ処理負荷が示されており、図１１の下段においては、第３実施形態に係るチャネルＣｈ１のメモリ処理負荷が示されている。また、参考のため、図１１の最上段においては、リモート操作ジョブ（特にリモート操作画面生成処理）によるメモリ処理負荷（チャネルＣｈ１のメモリ処理負荷）のみが示されている。特に、図１１の中段（且つ時刻ｔ３３以降）においては、プリントジョブにおけるチャネルＣｈ０のメモリ処理負荷（図４の上段も参照）（砂地ハッチング部分等参照）に対して、リモート操作ジョブのみによるチャネルＣｈ０のメモリ処理負荷（図１１の最上段参照）（特にクロスハッチング部分参照）が重畳されて示されている。
【０１４８】
第３実施形態の実行期間ＴＭ３１においては第１実施形態の期間ＴＭ１１（図４参照）と同様の処理負荷が生じ、第３実施形態の実行期間ＴＭ３２においては第１実施形態の期間ＴＭ１２（図４参照）と同様の処理負荷が生じる。
【０１４９】
また、第３実施形態の実行期間ＴＭ３３（時刻ｔ３３〜時刻ｔ３９）においては、プリントジョブ（特にチャネルＣｈ１を利用したＤＭＡ転送処理）とリモート操作ジョブとが同時並列的に実行される。
【０１５０】
ここでは、ＣＰＵ３１は、複数のジョブが同時並列的に実行される場合に当該複数のジョブの実行に伴って発生する温度上昇は、単一のジョブが単独で実行される場合に当該単一のジョブの実行に伴って発生する温度上昇よりも大きい旨を推定する。
【０１５１】
そして、複数の種類のジョブが同時並列的に実行される場合、単一の種類のジョブが単独で実行される場合よりも高い頻度でリトレーニングが実行されるように、リトレーニングの実行タイミングが決定される。
【０１５２】
具体的には、マルチジョブの実行期間ＴＭ３３（時刻ｔ３３〜時刻ｔ３９）においては、シングルジョブの実行期間ＴＭ３１，ＴＭ３２よりも大きな温度上昇が発生する旨を推定する。たとえば、マルチジョブの実行期間ＴＭ３３においては、レベルＬ３の温度上昇速度Ｖ（シングルジョブの実行期間ＴＭ３１，ＴＭ３２における温度上昇レベルＬ０，Ｌ１よりも大きな温度上昇レベル）が発生する旨が推定される。また、シングルジョブの実行期間ＴＭ３１，ＴＭ３２においては、マルチジョブの実行期間ＴＭ３３よりも小さな温度上昇が発生する旨を推定する。たとえば、実行期間ＴＭ３１においては、レベルＬ０の温度上昇速度Ｖが発生する旨が推定され、実行期間ＴＭ３２においては、レベルＬ１の温度上昇速度Ｖが発生する旨が推定される。
【０１５３】
当該推定結果に基づき、ＣＰＵ３１は、シングルジョブの実行期間ＴＭ３１においてはリトレーニングを行わず（あるいは非常に低い頻度でリトレーニングを実行し）、シングルジョブの実行期間ＴＭ３２においては、低い頻度（たとえば頻度Ｆ１）でリトレーニングを実行する。一方、マルチジョブの実行期間ＴＭ３３においては、シングルジョブの実行期間ＴＭ３１，ＴＭ３２における実行頻度よりも高い頻度（たとえば頻度Ｆ３）でリトレーニングを実行する。
【０１５４】
たとえば、ＣＰＵ３１は、シングルジョブの第１の実行期間ＴＭ３１においてはリトレーニングを行わない。また、ＣＰＵ３１は、シングルジョブの第２の実行期間ＴＭ３２においては４００ｍｓ（ミリ秒）ごとにリトレーニングを実行する。さらに、ＣＰＵ３１は、マルチジョブの実行期間ＴＭ３３においては、１００ｍｓ（ミリ秒）ごとにリトレーニングを実行する。
【０１５５】
なお、第３実施形態において、さらに各ジョブの設定内容にも基づいて、リトレーニングの頻度が変更されてもよい。たとえば、プリントジョブの「出力解像度」の設定内容が「６００ｄｐｉ」に設定されている場合、実行期間ＴＭ３２の温度上昇速度ＶがレベルＬ２である旨が推定され、実行期間ＴＭ３２において２００ｍｓ（ミリ秒）ごとにリトレーニングが実行されてもよい。
【０１５６】
＜４．変形例等＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０１５７】
たとえば、上記各実施形態においては、リトレーニングの実行タイミング（ステップＳ６）において、２つのチャネルのうちの双方のチャネルにてそれぞれ（本来）実行すべき処理（第１処理および第２処理）が存在する場合について例示している（図９参照）が、これに限定されない。たとえば、リトレーニングの実行タイミング（ステップＳ６）において、２つのチャネルのうちのチャネルＣｈ１にて実行すべき第２処理が存在するものの、チャネルＣｈ０にて実行すべき第１処理が存在しない場合には、図１２に示すような処理が行われても良い。図１２においては、ステップＳ３，Ｓ８の処理等（ＳＳＤへのスワップを伴うＳＳＤによる代行処理等）が実行されない。これらの点で図１２の動作は図９の動作と相違する。
【０１５８】
具体的には、チャネルＣｈ１に関するリトレーニングタイミングが到来すると、当該チャネルＣｈ１でのリトレーニングＲ１のための準備処理が先ず実行される。具体的には、当該リトレーニングＲ１中のＤＭＡ転送処理をチャネルＣｈ０側で代行するための準備処理等が実行される。
【０１５９】
詳細には、チャネルＣｈ１側のＤＲＡＭ５１ｂに格納されている転送対象のメモリデータがチャネルＣｈ０側のＤＲＡＭ５１ａへとコピーされる（ステップＳ４）。より具体的には、リトレーニングＲ１中に転送されるべきメモリデータ（たとえば、数ライン分のメモリデータ）が特定され、当該メモリデータがＤＲＡＭ５１ｂからＤＲＡＭ５１ａへと転送される。
【０１６０】
そして、チャネルＣｈ１を用いて行われるべきＤＭＡ転送処理がチャネルＣｈ０を用いて実行される。すなわち、ＤＭＡ転送処理がチャネルＣｈ０によって代行される（ステップＳ５）。
【０１６１】
さらに、このような代行処理に並行して、チャネルＣｈ１側ではリトレーニングＲ１が実行される（ステップＳ６）。
【０１６２】
当該リトレーニングＲ１が終了すると、チャネルＣｈ０側で実行されていたＤＭＡ転送処理の対象データがチャネルＣｈ１側へと戻される（再びコピーされる）（ステップＳ７）。
【０１６３】
以後、チャネルＣｈ１では通常通り、ＤＭＡ転送処理（ステップＳ９）が実行される。
【０１６４】
以上のような処理によれば、チャネルＣｈ１の空きタイミング（チャネルＣｈ１が空いているタイミング）が比較的少ないときであっても、チャネルＣｈ１に関するリトレーニングを比較的自由なタイミングで実行することが可能である。
【０１６５】
また、上記各実施形態では、２つのチャネルＣｈ０，Ｃｈ１を有するメモリコントローラにおいて、一方のチャネルがビジーである場合、ＣＰＵ３１は、当該一方のチャネルで行うべき処理を他方のチャネルに移管しているが、これに限定されない。たとえば、単一のチャネルのみを有するメモリコントローラにおいて当該単一のチャネル（およびＤＲＡＭ５１）がビジーである場合、ＣＰＵ３１は、当該単一のチャネルを用いて行うべき処理（たとえばＤＭＡ転送処理）を、別の記憶装置（ＳＳＤ等）内の格納領域（退避用格納領域）に移管してもよい。そして、空けられた当該単一のチャネルに関してリトレーニングが実行されればよい。
【０１６６】
図１３は、このような変形例に係るリトレーニングの詳細動作を示すタイミングチャートである。
【０１６７】
ＤＲＡＭ５１（単一のチャネルＣｈ０のみを利用可能）に関するリトレーニングＲ１のタイミングが到来すると、当該リトレーニングＲ１のための準備処理が実行される。
【０１６８】
具体的には、当該リトレーニングＲ１の実行期間中のＤＭＡ転送処理を退避用格納領域（ＳＳＤ等）にて代行するための準備処理等が実行される。
【０１６９】
詳細には、ＤＲＡＭ５１に格納されている転送対象のメモリデータが退避用格納領域（ＳＳＤ）へとコピーされる（ステップＳ４４）。より具体的には、リトレーニングＲ１中に転送されるべきメモリデータ（たとえば、数ライン分のメモリデータ）が特定され、当該メモリデータがＤＲＡＭ５１からＳＳＤへと転送される。
【０１７０】
そして、チャネルＣｈ１を用いて行われるべきＤＭＡ転送処理がＳＳＤを用いて実行される。すなわち、ＤＭＡ転送処理がＳＳＤによって代行される（ステップＳ４５）。具体的には、ＤＭＡコントローラ４１は、ＳＳＤにコピーされていたデータを当該ＳＳＤのＳＡＴＡコントローラ４４等を用いて転送する処理等を実行する。このようにＳＳＤを用いた代行処理が実行される。
【０１７１】
さらに、このような代行処理に並行して、ＤＲＡＭ５１側ではリトレーニングＲ１が実行される（ステップＳ４６）。
【０１７２】
当該リトレーニングＲ１が終了すると、ＳＳＤ等によって実行されていたＤＭＡ転送処理の対象データがＤＲＡＭ５１へと戻される（再びコピーされる）（ステップＳ４７）。以後、ＤＲＡＭ５１では通常通り、ＤＭＡ転送処理等（ステップＳ４９）が実行される。
【０１７３】
以上のように、ＤＲＡＭ５１に関するリトレーニングの実行タイミングにおいてＤＲＡＭ５１を用いて実行すべき処理（ＤＭＡ転送処理等）が存在する場合、ＣＰＵ３１は、代行付随型リトレーニングを実行する。具体的には、ＣＰＵ３１は、当該処理（ＤＭＡ転送処理等）に関するデータをＳＳＤ（退避用格納領域）に退避するとともに当該処理を当該ＳＳＤを用いて実行させることによって、ＤＲＡＭ５１を当該処理から解放した上で、ＤＲＡＭ５１に関するリトレーニングを実行する。このような処理によっても、ＤＲＡＭ５１に関するリトレーニングを比較的自由なタイミングで実行することが可能である。
【０１７４】
なお、ここでは、ＤＲＡＭ５１からのＳＳＤへのメモリデータのコピー処理は、ステップＳ４４にて実行されているが、これに限定されない。たとえば、リトレーニングの実行時点から逆算した所定のタイミング（たとえば、リトレーニングの実行時点の５０ｍｓ前の時点）で（ＤＲＡＭ５１の空き時間等を利用して）、当該コピー処理が実行されてもよい。特に、当該コピー処理はＤＲＡＭ５１の空き時間に分散して行われることが、さらに好ましい。これによれば、リトレーニングの実行タイミングの遅延をより適切に抑制（防止）することが可能である。
【０１７５】
また、ステップＳ４７の処理についても同様である。たとえば、ステップＳ４７の処理は、ステップＳ４９よりも後に実行されてもよい。
【０１７６】
また、上記各実施形態においては、ジョブの種類とジョブの設定内容との双方に基づいてメモリの温度変化状況が推定され、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが決定されているが、これに限定されない。たとえば、ジョブの種類とジョブの設定内容との一方のみに基づいて、メモリの温度変化状況が推定され、当該温度変化状況の推定結果に基づいてリトレーニングの実行タイミングが決定されてもよい。
【０１７７】
また、上記各実施形態においては、メモリの温度上昇速度Ｖが推定され、温度上昇速度Ｖの程度に応じてリトレーニングの実行タイミング（実行頻度）が決定されているが、これに限定されない。たとえば、ジョブの実行に伴って一定程度の温度上昇（ΔＴ１）が発生したことが当該ジョブの設定内容に基づき推定されるごとに、ＣＰＵ３１がリトレーニングを実行するようにしてもよい。より詳細には、温度が所定値（たとえば１℃）上昇したことが推定されるごとに、上述のような代行付随型リトレーニング処理（図９等参照）が実行されてもよい。より具体的には、メモリの温度変化が所定値ΔＴ１（たとえば１度）を越えない場合にはリトレーニングが実行されず、メモリの温度変化が所定値ΔＴ１を越える場合にはリトレーニングが実行されればよい。このようにして、メモリの温度上昇状況（温度変化状況）の推定結果に基づいて、リトレーニングの実行タイミングが決定されてもよい。
【符号の説明】
【０１７８】
９  コントローラ
１０  ＭＦＰ
５１，５１ａ，５１ｂ  ＤＲＡＭ
７０  外部装置
ＴＭ１１，ＴＭ１２，ＴＭ２１，ＴＭ３１，ＴＭ３２，ＴＭ３３  実行期間
【図１】
2020104337.tif 000003
【図２】
2020104337.tif 000004
【図３】
2020104337.tif 000005
【図４】
2020104337.tif 000006
【図５】
2020104337.tif 000007
【図６】
2020104337.tif 000008
【図７】
2020104337.tif 000009
【図８】
2020104337.tif 000010
【図９】
2020104337.tif 000011
【図１０】
2020104337.tif 000012
【図１１】
2020104337.tif 000013
【図１２】
2020104337.tif 000014
【図１３】
2020104337.tif 000015