Windows(登録商標)等を搭載したデスクトップPC環境においては、GUIを搭載し、豊富な表現手段と入力手段をユーザに提供してきた。近年においてはアニメーションや3D表示などの機能も搭載され、より見栄えのするものとなってきている。一方、組込機器においては、低価格製品開発への要求から限られた入力手段と表示手段によってマン・マシン・インターフェースを構成してきたが、低価格製品開発の要求はありつつも、デスクトップPCのようにアニメーション機能などを使用した見栄えのする表現手段や、より使いやすい入力手段が搭載されることが求められるようになってきている。
従来の操作部ディスプレイ描画方式としては、本体制御部で全てのディスプレイ描画処理を行い作成済みの画像を操作部に送信する方式、もしくは全ての画像を操作部にて作成する方式であった。本体制御部にて全ての描画処理を担当する場合には、本体制御部が提供する機能、例えばプリント、スキャン、fax送信など、を実行中には本体制御部の処理負荷が高くなってしまう。また、これらの機能は複数同時に実行されることもあり、その場合には本体制御部における処理負荷は更に高くなる。このような状態においては、操作部ディスプレイへの動画像の表示、あるいはアニメーション効果を伴う表示は、更に本体制御部の処理負荷を高めることになり、安定した描画を行うことは困難であった。
操作部で全てのディスプレイ描画処理を担当する場合には、低コスト機器開発への要求から操作部にはあまり処理能力の高い部品を使用することができないため、動画像の表示や、視覚効果の高いアニメーション処理を伴うディスプレイ表示を行うことは難しく、静止画で構成された表示しか行うことができなかった。
そこで、これらの問題点に対処する技術として、例えば、特許文献1ないし3に記載された発明が知られている。このうち、特許文献1には、ディスプレイ装置に表示される画像の画像データを計算機により並列に処理する並列画像処理方法において、前記画像を前記ディスプレイ装置の表示枠内で仮想的に分割し、複数の領域を作成する工程と、前記各領域に、複数の描画計算機の各々を関連づけ、前記各領域に含まれる画像の分割画像データを並列して処理する工程と、画像を表示する計算機に処理後の分割画像データが複数集まったときに各処理後の分割画像データを合体し、表示すべき画像を作成する工程と、を含み、複数の計算機に画像をそれぞれ並列処理させることにより、処理能力の向上を図るようにした発明が記載されている。
また、特許文献2には、画像を表示するとともに表示領域が複数の分割領域に仮想的に分割されるスクリーンを備えたディスプレイ装置と、前記ディスプレイ装置の前記分割領域に対して描画データを展開する複数のグラフィックスアダプタとを備え、前記ディスプレイ装置における前記スクリーンの分割領域は、1つの前記グラフィックスアダプタが描画できる領域を更に分割し、既存のグラフィックスアダプタを用いて、アスペクト比の異なる画面や大きな画面をサポートし、システム全体のパフォーマンスと柔軟性を高めるようにした発明が記載されている。
更に、特許文献3には、画像形成処理で使用されるハードウェア資源を有し、画像形成処理にかかるユーザサービスを行うアプリケーションを備え、前記アプリケーションの1つである端末表示アプリケーションを搭載可能にする画像形成装置上で動作する画像形成装置用端末エミュレータにおける制御コード判別処理方法であって、前記端末表示アプリケーションから出力された受信データを構文解析して、その受信データに含まれる制御コードの種類を判別する構文解析ステップと、構文解析した受信データに含まれる制御コードの種類に応じた適切な端末表示処理を呼び出す端末表示処理呼出ステップと、を含み、常にデータに応じた適切な端末表示処理を行うことができるようにした発明が記載されている。
しかし、引用文献1記載の発明は複数の計算機により並列に処理する発明であり、複写機やプリンタの複数の計算機を搭載して並列処理することは現実的ではなく、画像形成装置や画像形成装置に適用することはできない。また、引用文献2記載の発明では、ディスプレイに表示する描画処理の負荷を分散することができても、分散先の機器が別途処理することを要求されている機能による負荷までは考慮されていない。そのため、一度の画像形成に対して再分散が必要となり、あるいは分散することができなくなった場合の処理についての解決策が別途必要となる。更に、引用文献3記載の発明では、描画を行いたいプログラムと、実際に描画を行うプログラムとが分離されているが、この場合、実際に描画処理を行うプログラムの実行されているハードウェアの負荷が上昇した場合に、描画処理が要求時間内に完了することができなくなる可能性は否定できない。
そこで、本発明が解決しようとする課題は、ジョブによって異なる負荷の状態を考慮してディスプレイ描画処理の負荷を分散し、低コストで処理時間の短縮化を図ることができるようにすることにある。
上記課題を解決するため、本発明の第1の手段は、装置本体の制御を司る本体制御部と、作像、読み取り又は両者に関係するジョブを実行するエンジン部と、画像表示を行うディスプレイを含む操作部と、を有する画像処理装置であって、前記本体制御部は、前記ディスプレイに描画する画面毎に描画負荷の偏りに基づいて、当該本体制御部の負荷状態に応じてディスプレイ描画処理を前記操作部との間で分担する内容を決定し、前記本体制御部及び前記操作部は、前記決定された内容に従って前記ディスプレイ描画処理をそれぞれ分担してディスプレイに描画することを特徴とする。
本発明の第2の手段は、第1の手段において、前記本体制御部は、前記ディスプレイに描画する画面毎に前記描画負荷の偏りを前記操作部との間で分担決定する際の基礎とした描画分担を示すと共に、描画分担画面毎に描画分担範囲を決定するように予め作成された描画処理分担表が格納された描画処理分担格納手段と、前記エンジン部で実行される複数のジョブのそれぞれについての負荷の状態に対して予め重み付けされた重み設定値が格納されたジョブ負荷重み格納手段と、実行中のジョブと前記ジョブ負荷重み格納手段から読み出された重み設定値とから当該本体制御部の負荷状態を判断するジョブ負荷判断部と、前記操作部の前記ディスプレイへの描画を実行する第1の描画部と、を備え、前記ジョブ負荷判断部は、前記本体制御部の負荷状態に応じて前記描画処理分担格納手段に格納されている前記描画処理分担表を参照して当該本体制御部における前記ディスプレイ描画処理の分担を決定し、前記第1の描画部は、前記本体制御部が担当する前記ディスプレイ描画処理に係る描画を実行することを特徴とする。
本発明の第3の手段は、第2の手段において、前記描画処理分担格納手段の前記描画処理分担表には、前記ディスプレイに描画する画面毎に前記本体制御部が分担する前記ディスプレイ描画処理の領域を設定するための設定情報と、前記本体制御部において前記ディスプレイ描画処理を分担可能な前記ジョブ毎のジョブ負荷状態の最大値を表す分担限界負荷値とが含まれることを特徴とする。
本発明の第4の手段は、第2の手段において、前記ジョブ負荷判断部は、実行中のジョブと前記ジョブ負荷重み格納手段に格納された前記重み設定値とに基づいて、前記本体制御部へジョブ実行要求が来るタイミングと当該本体制御部がジョブ実行を完了したタイミングとで当該本体制御部の負荷状態を再度判断した結果、及び前記描画処理分担格納手段に格納された前記描画処理分担表から当該本体制御部における前記ディスプレイ描画処理の分担を決定することを特徴とする。
本発明の第5の手段は、第1の手段〜第4の手段の何れか1つの手段において、前記操作部は、前記本体制御部が高負荷状態で前記ディスプレイ描画処理を分担することができない場合には前記ディスプレイの表示解像度を落とし、当該操作部単体で当該ディスプレイ描画処理を実行することを特徴とする。
本発明の第6の手段は、第2の手段において、前記描画処理分担格納手段の前記描画処理分担表には、描画対象の各画面を構成するコンポーネント毎に前記本体制御部で描画を担当可能な負荷状態を設定する設定情報と、前記本体制御部において前記ディスプレイ描画処理を分担可能な前記ジョブ毎のジョブ負荷状態の最大値を表す分担限界負荷値とが含まれることを特徴とする。
本発明の第7の手段は、第2の手段において、前記描画処理分担格納手段の前記描画処理分担表には、前記ディスプレイに描画する画面毎に、画面全体を一度描画する負荷に基づいて前記本体制御部で描画するフレーム数及び前記操作部で描画するフレーム数と、前記本体制御部において前記ディスプレイ描画処理を分担可能な前記ジョブ毎のジョブ負荷状態の最大値を表す分担限界負荷値とが含まれ、当該描画処理分担表に記述の当該フレーム数毎に当該本体制御部の前記第1の描画部と前記操作部の第2の描画部とで交互に画面描画をすることを特徴とする。
本発明の第8の手段は、装置本体の制御を司る本体制御部と、作像、読み取り又は両者に関係するジョブを実行するエンジン部と、画像表示を行うディスプレイを含む操作部と、を有すると共に、当該本体制御部が当該ディスプレイに描画する画面毎に描画負荷の偏りに基づいて、当該本体制御部の負荷状態に応じてディスプレイ描画処理を当該操作部との間で分担する内容を決定し、当該本体制御部及び当該操作部が当該決定された内容に従って当該ディスプレイ描画処理をそれぞれ分担してディスプレイに描画する機能を有する画像処理装置における描画制御方法であって、前記本体制御部に備えられた描画処理分担格納手段により、前記ディスプレイに描画する画面毎に描画負荷の偏りを前記操作部との間で分担決定する際の基礎とした描画分担を示すと共に、描画分担画面毎に描画分担範囲を決定するように予め作成された描画処理分担表を格納する描画処理分担表格納ステップと、前記本体制御部に備えられたジョブ負荷重み格納手段により、前記エンジン部で実行される複数のジョブのそれぞれについての負荷の状態に対して予め重み付けされた重み設定値を格納するジョブ負荷重み格納ステップと、前記本体制御部に備えられたジョブ負荷判断部により、実行中のジョブと前記ジョブ負荷重み格納ステップの前記ジョブ負荷重み格納手段から読み出された重み設定値とから当該本体制御部の負荷状態を判断するジョブ負荷判断ステップと、前記本体制御部に備えられた第1の描画部により、前記操作部の前記ディスプレイへの描画を実行する描画実行ステップと、を有し、前記ジョブ負荷判断ステップでは、前記ジョブ負荷判断部が前記本体制御部の負荷状態に応じて前記描画処理分担表格納ステップで前記描画処理分担格納手段に格納されている前記描画処理分担表を参照して当該本体制御部における前記ディスプレイ描画処理の分担を決定し、前記描画実行ステップでは、前記第1の描画部が前記本体制御部の担当する前記ディスプレイ描画処理に係る描画を実行することを特徴とする。
本発明の第9の手段は、第8の手段の画像処理装置における描画制御方法の前記描画処理分担表格納ステップと、前記ジョブ負荷重み格納ステップと、前記ジョブ負荷判断ステップと、前記描画実行ステップと、をコンピュータによって実行させるための描画制御プログラムであることを特徴とする。
なお、後述の実施形態では、本体制御部は符号2にエンジン部は符号4に、ディスプレイは符号300に、操作部は符号3に、画像処理装置は画像形成装置1に、ジョブはジョ
ブ実行部200、print(プリント)部210、scan(スキャン)部220、copy(コピー)部230に、描画処理分担格納手段の描画処理分担表は本体制御部描画処理分担表260,260−1,260−2,260−3、350,350−1,350−2,350−3に、ジョブ負荷重み格納手段はJOB負荷重み表250に、ジョブ負荷判断部はJOB負荷判断部270に、第1の描画部は第1のディスプレイ描画部240に、設定情報は分担方向262、分解境界263、描画可能分担負荷値265に、分担限界負荷値は描画分担限界負荷値261に、それぞれ対応する。
本発明によれば、ディスプレイ描画処理の負荷をジョブによって異なる負荷の状態を考慮して本体制御部と操作部との間で分散し、能力の高い本体制御部の余剰計算能力を活用することにより、操作部の能力を落とすことが可能となり、これにより処理時間の短縮化を低コストで実現することができる。
本発明は、直接的には操作部が制御するディスプレイの描画を本体制御部と操作部との間でジョブの負荷状態を勘案して分担し、能力の高い本体制御部の余剰能力を使用して短時間が処理できるようにしたもので、操作部の負荷が減り、操作部の能力は低いものでも十分に対応することが可能となる。
以下、図面を参照し、本発明の実施形態について各実施例を参照しながら説明する。
図1は本実施形態における実施例1の画像形成装置の構成を概略的に示すブロック図である。同図において、画像形成装置1は、本体制御部2、操作部3及びエンジン部4から基本的に構成されている。本体制御部2は画像形成装置1全体の制御を司り、操作部3はユーザインターフェースとして機能し、ユーザからの入力を受け付け、また、ユーザに対して選択表示、あるいはメッセージ表示を行う。エンジン部4は画像形成及び画像読み取りを実行する。操作部3は、ディスプレイを保持し、ユーザに現状選択されている機能、機能実行時における選択可能なオプション、現在選択されているオプションなどを表示する。ディスプレイは単純な液晶パネルあるいは入力機能も有するタッチパネルから構成される。また、ユーザ入力のために複数のハードキーが設けられている。タッチパネルの場合には、ハードキーの有無は選択的である。
図2は本体制御部2及び操作部3におけるソフトウェア(アプリケーション)の配置を示す図である。同図において、本体制御部2は、本体機能を提供するためのprint(プリント)部210、scan(スキャン)部220、copy(コピー)部230などを含むJOB実行部200と、操作部3のディスプレイ描画を担当する第1のディスプレイ描画部(図ではディスプレイ描画部1と記す)240と、JOB実行部200の各部210,220,230が動作すると本体制御部2の負荷がどれだけ上昇するかを定義したジョブ負荷重み格納手段としてのJOB負荷重み表250と、本体制御部2の負荷状態で、第1のディスプレイ描画部240がディスプレイ描画処理で何を担当するかを定義した描画処理分担格納手段としての本体制御部描画処理分担表260と、実行中のJOB実行部200とJOB負荷重み表250とから本体制御部2の負荷状態を判断し、負荷状態と本体制御部描画処理分担表260とから第1のディスプレイ描画部240で描画する部分を決定するJOB負荷判断部270と、操作部3のディスプレイ(表示画面)に表示する画像を描画するための描画データ280と、操作部3との通信を行う通信部290と、を保持している。
操作部3は、ディスプレイに表示する画像を描画する第2のディスプレイ描画部(図ではディスプレイ描画部2と記す)310と、ユーザからの入力を受け付ける入力受付部320と、描画データ330と、本体制御部2の通信部290との通信を行う通信部340と、本体制御部描画処理分担表350と、を保持している。本体制御部描画処理分担表350は、本体制御部2が保持している本体制御部描画処理分担表260と同一である。本体制御部描画処理分担表260,350、及びジョブ負荷重み表250自体は、図示しない格納手段としてのメモリ(例えば不揮発性メモリ)に保持される。
第2のディスプレイ描画部310は、
全体の描画=第1のディスプレイ描画部の描画担当分
+第2のディスプレイ描画部の描画担当分 ・・・(1)
を知得しており、本体制御部2が分担する以外の部分の描画が当該第2のディスプレイ描画部310の分担であることを認識する。本体制御部2と操作部3はそれぞれの通信部290,340を通じて描画処理要求、描画処理分担停止通知、並びに描画データの送信及び受信を行う。
なお、図1に示した本体制御部2及び操作部3は、それぞれCPU、ROM、RAMをリソースとして備え、それぞれのCPUはROMに格納されたプログラムをRAMに展開し、RAMをワークエリア及びデータバッファとして使用しながら、前記プログラムに沿った処理を行い、後述の制御を本体制御部2及び操作部3のそれぞれで実行する。なお、本体制御部描画処理分担表260,350、ジョブ負荷重み表250が設定される不揮発メモリも前記本体制御部2及び操作部3にリソースとして備えられる。
図2に示す本体制御部描画処理分担表260,350は、ディスプレイに描画する画面毎に描画負荷の偏りを本体制御部2と操作部3で分担決定する際の基礎とした描画分担を示す表であり、描画分担画面毎に描画分担範囲を決定するように作成されている。なお、これらの表はメモリ内にテーブルとして保持される。
図3は図2に示した本体制御部描画処理分担表の具体例を示す図、図4は画像形成装置の操作部の表示画面(ディスプレイ)の代表的な画面構成を示す図である。図3において、本体制御部描画処理分担表260−1は、本体制御部2において描画処理を分担可能な本体制御部2のJOB負荷状態の最大値を表す描画分担限界負荷値261と、本体制御部2と操作部3で描画画面の分割したときに、本体制御部2が描画する方向を表す分担方向262と、画面を分割した際の分割領域の境界値を現す分割境界263と、を描画対象画面毎に保持している。なお、図3に示した本体制御部描画処理分担表260−1,350−1の添字−1は実施例1における本体制御部描画処理分担表260,350を示すもので、後述の実施例とは表の内容が異なるが、ソフトウェア自体は図2に示す本体制御部2と操作部3に保持された本体制御部描画処理分担表260,350と同一である。
図3において、scan画面260−1s、copy画面260−1c、fax画面260−1fのうち、copy画面260−1cを例にすると、描画分担限界負荷値261、分担方向262、分割境界263、はそれぞれ“5”、“下”、“200”となっている。本実施例では、描画分担限界負荷値261が“5”を閾値として、5未満の場合と5以上の場合とで負荷分担を変更している。すなわち、この表では、描画分担限界負荷値261が5となっているので、copy画面を描画する際に、JOB負荷判断部270が計算した現在の本体制御部2の負荷値が5を超えない場合には、本体制御部2においてcopy画面の描画分担が行われ、5以上の負荷値である場合には、本体制御部2は描画分担処理を行わないことを意味している。
図4に示すように、画像形成装置におけるディスプレイ(表示画面)300の構成は、全体的に均一ではなく、画面を構成するボタンの数が多い領域や、背景のみの領域もあり、領域によって描画負荷が異なったものとなっている。本体制御部描画処理分担表260−1の分担設定情報としての分担方向262、分割境界263は、この表示画面の領域による描画負荷の偏りに基づいて描画処理負荷の重い部分を本体制御部2に割り振るように作成する。
図5は図3の本体制御部描画処理分担表260−1,350−1の具体例を示す図で、図3の分担表のコピー画面を分担処理する場合の例である。図4のディスプレイ300は本実施例では、WVGA(800pixel×480pixel)の解像度であり、図5において、画面の左上の点を原点(0,0)として、前述のcopy画面260−1cでは、分担方向262と分割境界263については、分担方向262が“下”、分割境界263が“200”となっているので、copy画面の描画に関しては200pixel目が分割境界263となり、この境界を境として画面を上下に2分割し、上側の領域(0〜199pixel)を操作部3側で描画し、下側の領域(200〜280pixel)を本体制御部2で描画することを意味する。
また、fax画面260−1fでは、分担方向262と分割領域263については、分担方向262が“左”、分割境界263が“320”となっているので、fax画面の描画に関しては原点から(画面の左端から)320pixel目を境に画面を左右に2分割し、左側の領域(0〜320pixel)を本体制御部2側で描画し、右側の領域(321〜800pixel)を操作部3で描画することを意味する。
本実施例では、本体制御部2においてディスプレイ描画処理を行う第1のディスプレイ描画部240と、操作部3においてディスプレイ描画処理を行う第2のディスプレイ描画部310とによってディスプレイ300に表示する画像の描画処理を実行する。第1のディスプレイ描画部240が描画処理を担当する部分を決定する本体制御部描画処理分担表260−1は、本体制御部3と操作部2の双方に同じ内容のものが存在する。すなわち、操作部2に保持された本体制御部描画処理分担表350−1は、保持された内容については本体制御部2に保持された本体制御部描画処理分担表260と同じもので、この同じ内容の分担表を参照して、JOB負荷判断部270は、本体制御部2で動作しているJOB実行部200(210,220,230)と通信し、その動作状況の変化を監視する。そして、JOB実行部200の各種ジョブ実行部(プリント部、スキャナ部、コピー部)210,220,230の動作状態が変化した際に、JOB負荷重み表250と、各種JOB実行部210,220,230の動作状態から本体制御部2の負荷状態を計算する。JOB負荷重み表250では、各ジョブ実行部について、例えばプリントは4、スキャンは2、コピーは1、ファクスは2というように各ジョブの負荷の状態について重み付けをしている。
図6は本体制御部2に新規JOB実行要求が発行された際のJOB負荷判断部270の動作手順を示すフローチャートである。JOB負荷判断部270は、現時点でのJOB実行状態による本体制御部2の負荷状態を認識している。この認識下で、本体制御部2にJOB実行要求が新たに発行されると、JOB負荷判断部270はこの実行要求を検知し(ステップS101)、JOB負荷重み表250から要求のあったJOBの負荷値を取得する(ステップS102)。次いで、ジョブ負荷判断部270は現在の本体制御部2の負荷状態に、JOB負荷重み表から取得したJOBの負荷値を加算し、新規JOB実行中の本体制御部2の負荷状態を算出する(ステップS103)。更に、JOB負荷判断部270は本体制御部描画処理分担表260から現在表示中の画面に関する描画分担限界負荷値261を取得する(ステップS104)。
次いで、新規JOB実行中の負荷状態とステップS104で取得した描画分担限界負荷値261とを比較し、新規JOB実行中の負荷状態が、現在表示中の画面に対する描画処理分担の限界値261よりも小さい場合には(ステップS105−YES)、本体制御部2は描画処理の分担実行が可能なため、JOB負荷判断部270は新規JOB実行中の負荷状態を現在の負荷状態として記憶し(ステップS108)、負荷状態計算を終了する。
一方、新規JOB実行中の負荷状態が、現在表示中の画面に対する描画処理分担の限界値よりも大きい場合には(ステップS105−NO)、本体制御部2は描画処理を分担し続けると、各JOB実行部210,220,230の動作に影響を与えるため、操作部3に対して描画処理分担停止通知を送信する(ステップS106)。また、JOB負荷判断部270は第1のディスプレイ描画部240に描画処理分担停止通知を送信し(ステップS107)、新規JOB実行中の負荷状態を現在の負荷状態として記憶し(ステップS108)、負荷状態計算を終了する。
図7はこのときの第1のディスプレイ描画部の動作手順を示すフローチャートである。本実施例では、第1のディスプレイ描画部240は、描画処理分担停止通知又は描画処理分担開始通知に基づいて描画処理を行うかどうかを決定する。すなわち、第1のディスプレイ描画部240は描画分担停止通知を受信し、描画処理分担が停止している状態にある場合は(ステップS201−YES)、描画処理分担開始通知がJOB負荷判断部270から送られてくるのを待つ(ステップS202)。描画処理分担が開始している状態にある場合は(ステップS201−NO)、ディスプレイ描画部2から描画処理要求が送信されてくるのを待つ(ステップS203)。
描画処理分担が開始している状態で、描画処理要求がくると(ステップS203−YES)、本体制御部描画処理分担表260から、現在の画面に対して処理するべき描画対象部分を取得する(ステップS204)。そして、本体制御部2のもつ描画データ280と、本体制御部描画処理分担表260から取得した描画対象部分(領域)から、現在画面に表示する画像を作成する(ステップS205)。作成した画像は、通信部290を経由して操作部3へと送信する(ステップS206)。なお、ステップS204及びステップS205でいう描画対象部分(領域)は本体制御部描画処理分担表260の分担方向262と分割境界263から取得される。
図8は操作部3側の第2のディスプレイ描画部310の動作手順を示すフローチャートである。第2のディスプレイ描画部310は、本体制御部2の現在の描画処理分担状態を保持しており、本体制御部2が描画処理分担停止状態である場合(ステップS301−YES)には、単独で描画処理を実行する。その際、第2のディスプレイ描画部310は、画面表示解像度を落とし(ステップS305)、自身の描画分担領域を表示画面の全領域とする(ステップS306)。
一方、本体制御部2が描画処理分担開始状態である場合(ステップS301−NO)には、第2のディスプレイ描画部310は、本体制御部2に対して描画処理要求を発行する(ステップS302)。第2のディスプレイ描画部310は、描画処理を行う画面に関する本体制御部2の分担領域を本体制御部描画処理分担表350から取得する(ステップS303)。本体制御部描画処理分担表350から取得した本体制御部2の描画分担領域ではない部分が第2のディスプレイ描画部310が描画を担当する部分になる。そこで、本体制御部2の描画分担領域ではない部分を第2のディスプレイ描画部310が描画を担当する部分とし(ステップS304)、操作部3に保持している描画データ330から、第2のディスプレイ描画部310が分担する領域の画像を作成する(ステップS307)。
第2のディスプレイ描画部310は、自身の画像作成が完了すると、本体制御部2から本体制御部2で作成された画像が送られてくるのを待つ(ステップS308)。本体制御部2から画像を受信すると、自身が作成済みの画像に、本体制御部描画処理分担表350から取得済みの本体制御部2が描画処理を分担している領域に受信画像を結合し、表示全体の画像を作成する(ステップS309)。その後、第2のディスプレイ描画部310は、作成された全体の画像を画面に表示する(ステップS310)。
以上のように、本実施例によれば、
1)処理負荷の高いディスプレイの画像表示について、本体制御部2と操作部3とで分担して行うようにしたので、本体制御部2の余剰計算能力を活用し、操作部3のコストを下げることができる。
2)表示画面の各画面構成における描画負荷の偏りに基づいて描画領域の分担を決定するので、適切に描画領域の分担を設定し、描画処理を実行することができる。
3)JOBの種類毎に負荷計算に重みを付けているので、負荷状態における本体制御部2の負荷をより正確に認識することが可能となり、機器の負荷状態を反映した処理分担を行うことができる。
4)画面描画処理を分担して実行しているときには高解像にて画面表示を行い、単独で実行するときには解像度を落として描画することにより、処理能力の低い操作部CPUでも単体で描画処理を実行できる。
などの効果を奏する。
実施例2は実施例1に対して本体制御部描画処理分担表の分担要素を、各画面を構成するコンポーネント毎に設定し、この分担表に基づいて描画処理を本体制御部と操作部で分担するようにした例である。その他の構成は実施例1と同等に構成され、同等に機能するので、同等な各部には同一の参照符号を付し、重複する説明は省略し、実施例1と異なる点について説明する。
図9は実施例2における本体制御部描画処理分担表の例を示す図である。同図において、本体制御部描画処理分担表260−2,350−2は、各描画画面(scan画面260−2s、copy画面260−2c、fax画面260−2f)を構成するコンポーネント264毎に、本体制御部3で描画処理を分担することが可能な負荷値を意味する描画可能分担負荷値265と、各画面260−2s,260−2c,260−2f毎に本体制御部2が描画処理を分担することが可能な描画処理分担限界負荷値261とを保持している。各コンポーネント264は、図8の例では、ボタン1、ボタン2、ボタン3、ボタン4、コンポボックス1、コンポボックス2に対応し、描画可能分担負荷値265は前記各コンポーネント264の下に記載された値である。また、各画面260−2s,260−2c,260−2fにおける描画処理分担限界負荷値261は、画面を構成するコンポーネント264に設定されている描画可能分担負荷値で最大の値に設定されている。従って、scan画面260−2sではボタン1及び2の負荷値である6に、copy画面260−2cではボタン1及び2の負荷値である5に、fax画面260−2fではボタン1及び2の負荷値である4にそれぞれ設定される。なお、本体制御部描画処理分担表260−2,350−2の添字−2は実施例2に実施例1における本体制御部描画処理分担表260,350を示すもので、実施例1とは表の内容が異なるが、ソフトウェア自体は図2に示す本体制御部2と操作部3に保持された本体制御部描画処理分担表260,350と同一である。
図10は実施例2におけるJOB負荷判断部270の動作手順を示すフローチャートである。JOB負荷判断部270は、本体制御部2における現在のJOB負荷状態を保持している。JOB負荷判断部270は、実施例1と同様に現在の本体制御部2におけるJOB負荷状態と、本体制御部描画処理分担表260から取得できる描画分担限界負荷値261から描画分担を開始するかどうかを判断する。
すなわち、本体制御部2にJOB実行要求が新たに発行されると、JOB負荷判断部270はこの実行要求を検知し(ステップS401)、JOB負荷重み表250から要求のあったJOBの負荷値を取得する(ステップS402)。次いで、ジョブ負荷判断部270は現在の本体制御部2の負荷状態に、JOB負荷重み表から取得したJOBの負荷値を加算し、新規JOB実行中の本体制御部2の負荷状態を算出する(ステップS403)。更に、JOB負荷判断部270は前記図9に示した本体制御部描画処理分担表260−2から現在表示中の画面に関する描画分担限界負荷値261を取得する(ステップS404)。この描画分担限界負荷値261は図3に示した実施例1における描画領域によって決まる負荷値ではなく、各コンポーネント245の描画可能分担負荷値265の最大値によって設定される負荷値である。
次いで、新規JOB実行中の負荷状態とステップS404で取得した描画分担限界負荷値261とを比較し、新規JOB実行中の負荷状態が、現在表示中の画面に対する描画処理分担の限界値261よりも小さい場合には(ステップS405−YES)、本体制御部2は描画処理の分担実行が可能なため、JOB負荷判断部270は新規JOB実行中の負荷状態を現在の負荷状態として記憶し(ステップS408)、負荷状態計算を終了する。
一方、新規JOB実行中の負荷状態が、現在表示中の画面に対する描画処理分担の限界値よりも大きい場合には(ステップS405−NO)、本体制御部2は描画処理を分担し続けると、JOB実行部210,220,230の動作に影響を与えるため、操作部3に対して描画処理分担停止通知を送信する(ステップS406)。また、JOB負荷判断部270は第1のディスプレイ描画部240に描画処理分担停止通知を送信し(ステップS407)、新規JOB実行中の負荷状態を現在の負荷状態として記憶し(ステップS408)、負荷状態計算を終了する。
なお、図10のフローチャート自体は、ステップS404で取得する描画分担限界負荷値261の負荷値の設定方法が異なっているだけで、その他の手順は実施例1における図5に示したフローチャートと同一である。
図11は実施例2における第1のディスプレイ描画部240の動作手順を示すフローチャートである。本実施例2においても、第1のディスプレイ描画部240は、JOB負荷判断部270からの描画分担開始通知又は描画分担停止通知により、描画処理の分担を行うかどうかを決定する。すなわち、描画処理分担停止状態においては、実施例1と同様に描画処理分担開始通知がJOB負荷判断部270から送られてくるのを待つ(ステップS501−YES,S502,S503−NO)。描画処理分担開始状態においては、操作部3から描画処理実行要求がくると(ステップS501−NO,S503−YES)、本体制御部描画処理分担表260−2から、現在描画対象の画面を構成するコンポーネントで、その描画可能分担負荷値265が、現在の本体制御部のJOB負荷値より大きな値をもっているコンポーネントを探す(ステップS504)。描画可能分担負荷値265が、現在の本体制御部のJOB負荷値より大きな値のコンポーネントを発見すると(ステップS505−YES)、描画データから対象コンポーネントの情報を取り出し、表示画面に表示する形式の画像を作成する(ステップS506)。
第1のディスプレイ描画部240は、1つのコンポーネントの描画が完了すると、コンポーネントの描画位置、サイズ、画像データを操作部に送信する(ステップS507)。第1のディスプレイ描画部240は、本体制御部3が描画分担することになっているコンポーネントが本体制御部描画処理分担表260−2から見つかるたびに、上記描画処理を行う(ステップS507→S504→S505→s506→S507を繰り返す)。なお、操作部3に送信するコンポーネントの情報(描画位置、サイズ、画像データ)は、複数個のコンポーネントの描画毎にまとめて操作部3に送信してもよい。
本体制御部描画処理分担表260−2から、未描画の描画対象コンポーネントがなくなると(ステップS505−NO)、描画終了通知を操作部3に送信し、現在の描画処理が終了したことを操作部に通知する(ステップS508)。なお、第1のディスプレイ描画部240における描画処理実行要求の受信から(ステップS503−YES)、描画終了通知の送信(ステップS508)までの間は、JOB負荷判断部270からの負荷状態変更通知があってもそれを反映せず、描画処理を開始した時点での負荷状態として描画処理を実行する。
図12は操作部3における第2のディスプレイ描画部310の動作手順を示すフローチャートである。第2のディスプレイ描画部310は、現在の本体制御部2におけるJOB負荷値を認識しており、本体制御部2より、描画分担停止通知がきている場合には(ステップS601−YES)、第2のディスプレイ描画部310単体でディスプレイに表示する画像を作成する。その際、第2のディスプレイ描画部310は画面解像度を落とし(ステップS611)、第2のディスプレイ描画部310自身の描画分担領域をディスプレイ全体に設定し(ステップS612)、低解像度で表示画像を作成し(ステップS613)、作成した画像を画面に表示する(ステップS614)。
本体制御部2が描画分担開始状態にある場合においては(ステップS601−NO)、本体制御部2からのJOB負荷状態変更通知の有無を確認する(ステップS602)。JOB負荷状態変更通知が来ていない場合には(ステップS602−NO)、現在保持している本体制御部のJOB負荷状態が現在の本体制御部のJOB負荷状態であると見なす(ステップS603)。JOB負荷状態変更通知が来ている場合には(ステップS602−YES)、新たに通知されたJOB負荷状態を現在の本体制御部のJOB負荷状態であるとする(ステップS604)。
いずれの場合においても、第2のディスプレイ描画部310は、本体制御部2に描画処理実行要求を発行する(ステップS605)。第2のディスプレイ描画部310は、現在の本体制御部2のJOB負荷状態と、本体制御部描画処理分担表350−2とから、現在描画処理を行っている画面を構成するコンポーネント264で、自身が描画するべきものを検索する。このとき、本体制御部描画処理分担表350−2に記載の各コンポーネント264が保持する描画可能分担負荷値265が、現在の本体制御部2のJOB負荷値より小さな値をもつコンポーネント264を自身が描画するものと判断する(ステップS606−YES)。本体制御部描画処理分担表350−2から、上記条件を満たすコンポーネント264が見つかる間、描画処理を実行する(ステップS606→S607→S606を繰り返す)。
第2のディスプレイ描画部310は、自身が描画するコンポーネント264の描画処理が完了すると(ステップS606−NO)、本体制御部2の画像データが送信されてくるのを待つ(ステップS608)。本体制御部2から送られてくる画像データには、画像の描画位置、サイズが含まれ、本体制御部2から画像データが送られてくると、同送されてきた描画位置サイズに基づいて自身の描画した画像データに上書する(ステップS609)。第2のディスプレイ描画部310は、本体制御部2から描画終了通知が送信されてくるまで、画像データが送られてくるのを待つ(ステップS610→S608→S609→S610を繰り返す)。描画終了通知が送信されてくると(ステップS610−YES)、現在描画中の画面を構成する描画データは全てそろったものと判断し、作成した画像を画面に表示する(ステップS614)。
以上のように、本実施例によれば、実施例1の効果に加え、
5)描画コンポーネント毎に負荷による分散状態を変更することができるので、より細かい描画分担処理を実施することが可能になる。
という効果を奏する。
実施例3は請求項1に対して本体制御部描画処理分担表をディスプレイに描画する画面毎に、画面全体を一度描画する負荷に基づいて本体制御部で描画するフレーム数と操作部で描画するフレーム数とを記述し、本外制御部描画処理分担表に記述されたフレーム数ごとに本体制御部と操作部とで交互に画面描画を行うようにした例である。その他の構成は、実施例1と同等に構成され、同等に機能するので、同等な各部には同一の参照符号を付し、重複する説明は省略し、実施例1と異なる点について説明する。
図13は実施例3における本体制御部描画処理分担表の例を示す図である。同図において、本体制御部描画処理分担表260−3,350−2には、各描画画面(scan画面260−3s、copy画面260−3c、fax画面260−3f)毎に本体制御部2が描画処理を分担可能な最大の負荷状態を意味する描画処理分担限界負荷値261と、本体制御部2が描画処理を行うフレーム数の割合を意味する本体制御部描画割合266と操作部3が描画処理を行うフレーム数割合を意味する操作部描画割合267とが記述(格納)されている。本体制御部描画割合266と操作部描画割合267は、全体としての描画回数に対して本体制御部2での描画と操作部3での描画がそれぞれ何フレーム行われるかを表す。
第2のディスプレイ描画部310は、
本体制御部描画割合266:操作部描画割合267
で示される相対比率から、本体制御部2が描画する画像を表示するタイミングを求める。
図13におけるscan画面260−3sにおけるそれぞれの割合では、本体制御部2が2、操作部3が3のため、
本体制御部描画割合266:操作部描画割合267
は、
1:1.5
となる。このような場合は、操作部描画1回に付き本体制御部描画を1回として扱う。
また、copy画面260−3cにおけるそれぞれの割合では、本体制御部2が1、操作部3が2のため、
本体制御部描画割合266:操作部描画割合267
は、
1:2 ・・・(2)
となる。このような場合は、操作部描画2回に付き本体制御部描画を1回と扱う。
以下、copy画面260−3cにおける描画分担を例として示す。
図14は、本実施例3におけるディスプレイ描画の順番を示す説明図である。同図において、ディスプレイ300に表示される画像で、表示順番1、2、4、5の画像は第2のディスプレイ描画部310による描画である。また、表示順番3、6の画像は第1のディスプレイ描画部240による描画である。この画像描画の割合は本体制御部描画分担表260−3の、本体制御部描画割合266と操作部描画割合267によって決定される。copy画面260−3cにおける本体制御部描画分担表260−3で本体制御部描画割合266と操作部描画割合267が前記(2)式で示したように1:2のため、このように、第1のディスプレイ描画部240によって表示順番3、6の画像を描画し、第2のディスプレイ描画部310によって表示順番1、2、4、5の画像を描画する。なお、本実施例3においては、JOB負荷判断部270の動作は実施例1と同一である。
図15は実施例3における第1のディスプレイ描画部240の動作手順を示すフローチャートである。本実施例3では、本体制御部2のJOB負荷状態が、現在表示中の画面に対する描画分担負荷限界値よりも小さい場合には、JOB負荷判断部270より第1のディスプレイ描画部240に描画分担開始通知が送られる(ステップS701−YES)。第1のディスプレイ描画部240は、本体制御部描画処理分担表260−3に記載の本体制御部描画割合266を意識せず、操作部3から描画処理実行要求が送られてくるのを待つ(ステップS702→S703−NO)。操作部3から描画処理実行要求が届くと(ステップS703−YES)、本体制御部2の描画データに基づいてディスプレイ表示用の画像を作成する。ここでは、描画データから1画面分の画像を生成する(ステップS704)。
画像の作成を完了すると、第1のディスプレイ描画部240は、画像送信要求を待つ(ステップS705)。操作部3より画像送信要求が届くと、作成済みの画像を操作部3に送信する。画像の送信が終了すると、JOB負荷判断部270より送られる描画分担停止通知、又は操作部より送られる描画処理実行要求の待ち状態になる。
画像作成の後に、操作部3より画面切り替え通知、copy画面からscan画面に変わる等、が届くと(ステップS706−YES)、第1のディスプレイ描画部240は、作成済みの画像は破棄し、再度描画処理実行要求が送信されるのを待つ(ステップS707→S701)。また、画像送信要求がくると作成済みの画像を送信し、同様に描画処理実行要求が送信されるのを待つ(ステップS705→S706→S708→S701)。
図16には実施例3における第2のディスプレイ描画部310の動作手順を示すフローチャートである。同図において、第2のディスプレイ描画部310は、本体制御部描画処理分担表260−3より、本体制御部描画割合266及び操作部描画割合267を取得し、本体制御部2の描画画像の表示タイミングを求め(ステップS802)、本体制御部2が、描画分担停止状態にあるか否かをチェックする(ステップS803)。このチェックで、描画分担停止状態にある場合には(ステップS803−YES)、ディスプレイ300の表示解像度を落とし(ステップS804)、低解像度で操作部3の描画データからディスプレイ表示用の画像を作成する(ステップS805)。本体制御部2が描画分担開始状態になるまで、第2のディスプレイ描画部310は低解像度での描画処理を行う(ステップS806−NO→S805)。
本体制御部2が描画分担開始状態にあれば(ステップS806YES)、第2のディスプレイ描画部310はディスプレイ300を通常の解像度に戻し(ステップS807)、本体制御部2に描画処理実行要求を送信する(ステップS808)。このとき、描画処理実行要求には、描画した画像が何フレーム後に表示されるものであるのかを一緒に通知する。第2のディスプレイ描画部310による描画処理は本体制御部描画分担表260−3から取得した本体制御部描画割合266と操作部描画割合267から求められる割合の回数だけ連続で繰り返される(ステップS809→S810→S811−NO→S803)。
第2のディスプレイ描画部310は、次の画面表示が第1のディスプレイ描画部240の描画画像の番になると(ステップS811−YES)、本体制御部2に対して画像送信要求を送信する(ステップS812)。本体制御部2は画像送信要求を受けると第1のディスプレイ描画部240が作成した画像を送信してくる。第2のディスプレイ描画部310は本体制御部2から送られてくる画像データを待ち(ステップS813)、受信した画像をディスプレイ300に表示する。第2のディスプレイ描画部310は、本体制御部描画分担表260−3から取得した本体制御部描画割合267の回数分(ステップS814→S803)、本体制御部2に描画処理実行要求を送信する(ステップS808)。
以上のように、本実施例によれば、実施例1の効果に加え、
6)画面描画処理の分担が描画フレーム単位になっているので、1フレーム描画毎に発生する本体制御部と操作部との通信が少なく、また1フレームでの描画処理が本体制御部か操作部かのいずれかで簡潔するため、分散処理の実装が容易になる。
という効果を奏する。
なお、本発明は本実施形態に限定されるものではなく、特許請求の範囲に記載された発明の技術思想に含まれる技術的事項の全てが対象となる。