本発明の実施形態を図1〜図11を用いて説明する。ここで、本発明は、各種装置に適用可能であるが、表示装置10を含む複合機100(画像形成装置に相当)を例に挙げ説明する。但し、本実施の形態に記載されている構成、配置等の各要素は、発明の範囲を限定せず、単なる説明例にすぎない。
(複合機100の概略)
次に、図1に基づき、実施形態に係る複合機100を説明する。図1は実施形態に係る複合機100の一例を示す図である。
複合機100は、制御部1と記憶部2を含む(図1参照)。制御部1は、CPU1a、ASIC1bのような回路を含み、複合機100の動作を制御する。記憶部2は、ROM22、HDD23(図2参照)のような不揮発性の記憶装置と、DRAM21のような揮発性の記憶装置を組み合わせである。記憶部2は、制御用の各種のプログラムやデータ、設定データ、画像データのような各種データを記憶する。CPU1aは、記憶部2に記憶されるプログラム、データに基づき複合機100の各部の制御や、各種の演算処理を行う。ASIC1bは、印刷や送信に用いる画像データへの画像処理のような処理や演算を行う。また、ASIC1bは、操作パネル3に含まれる表示部31の表示制御を行う(詳細は後述)。
また、図1に示すように、本実施形態の複合機100は、操作パネル3を含む。操作パネル3は、複合機100に関する情報(状態、各種メッセージ、各種設定画面)を表示する表示部31を含む。表示部31の上面にタッチパネル部32が設けられる。タッチパネル部32は、使用者のタッチ位置を検知するためのものであり、検知位置に応じた電圧(信号)を出力する。また、操作パネル3には、スタートキーやテンキーのような複数のハードキー33も設けられる。
制御部1(ASIC1b)は、表示部31の表示を制御する。また、制御部1は、タッチパネル部32の出力に基づき、表示部31(タッチパネル部32)のうち、押された位置、座標を認識し、操作された画像(ソフトキー、ボタン、タブ、チェックボックスのような画像)を認識する。そして、制御部1は、操作に応じて表示部31の表示を切り替えさせる。制御部1は、使用者の設定どおりに動作するように、原稿搬送部4a、画像読取部4b、印刷部5、通信部1cのような複合機100の各部分の動作を制御する。
原稿搬送部4aは、読み取り位置にセットされた原稿を搬送する。画像読取部4bは、原稿搬送部4aにより搬送される原稿や載置読取用コンタクトガラス(不図示)にセットされた原稿を読み取り、画像データを生成する。制御部1は、スキャン、印刷、送信のようなジョブのとき、原稿搬送部4aと画像読取部4bの動作を制御する。また、印刷部5(給紙部5a、搬送部5b、画像形成部5c、定着部5d)は、トナーを用いて画像データに基づき用紙に印刷を行う。
印刷を伴うジョブのとき、給紙部5aは用紙を1枚ずつ搬送部5bに送り込む。搬送部5bは、給紙部5aから供給された用紙を搬送する。画像形成部5cは、画像データに基づきトナー像を形成し、搬送される用紙に転写する。定着部5dは、用紙に転写されたトナー像を定着させる。トナー定着後の用紙は、機外に排出される。
また、複合機100は、通信部1cを含む。通信部1cは、各種コネクタ、ソケット、通信制御用のチップを備える。通信部1cは、ネットワークや公衆回線やケーブルを介し、コンピューター200やファクシミリ装置300と通信可能に接続される。通信部1cは、コンピューター200やファクシミリ装置300と電子メールや画像データのやり取りを行える。制御部1は、通信部1cとバスや信号線で接続される。そして、制御部1は、データの送受信を伴うジョブのとき、通信部1cにデータの送受信を行わせる。
(表示装置10)
次に、図2を用いて、実施形態に係る表示装置10を説明する。図2は、実施形態に係る表示装置10の一例を示す図である。
表示装置10は、複合機100(画像形成装置)に搭載される。表示装置10は、機能モジュール(スキャンモジュール61、プリントモジュール62)と表示制御モジュール7とバス8(内部バス)とメモリーコントローラー81を含むASIC1b、表示部31、DRAM21、を備える。その他、表示装置10には、表示制御や表示に関する処理や制御を行うCPU1aや、表示部31に表示させる画面の画像データを不揮発的に記憶するROM22やHDD23を含めることができる。
表示部31は、表示制御モジュール7から受信した画像データに基づき表示を行う。表示部31は、表示パネル31aを含む。本実施形態の表示パネル31aには、液晶表示パネル31a(バックライトを含む)や有機ELパネルを採用できる。表示部31には、ドライバーIC31bを設けることができる。ドライバーIC31bは、受信したデータに基づいた表示がなされるように、各表示セル(画素)に電圧印加のような処理を行い、表示パネル31aの表示(動作)を実際に制御する。なお、ドライバーIC31bは表示制御モジュール7に含められてもよい。
DRAM21は、表示パネル31aで表示する画面の画像データを記憶する。表示パネル31aで表示させ得る画面は多数である。表示パネル31aで表示する画面の画像データはROM22やHDD23に不揮発的に記憶される。ROM22やHDD23には、画面内に盛り込まれる部材(背景や枠やソフトキーのような画像データやテキストデータ)や、画面ごとに、用いる画像やテキストを指定し、画像やテキストの表示位置を定義した画面作成用データD1が記憶される。
表示制御モジュール7は、表示しようとする画面の画面作成用データD1をROM22やHDD23から読み出し、表示しようとする1枚の画面を作成し(合成し)、作成した画面の画像データをDRAM21に記憶させる。画面表示開始や、画面の切替に伴い、表示パネル31aで表示する画面の画像データがDRAM21に格納される。
なお、ROM22やHDD23には、操作画面ごとに1枚の画像データを記憶させてもよい。この場合、CPU1aあるいは表示制御モジュール7は、表示しようとする画面全体の(1枚の)画像データをROM22やHDD23から読み出し、DRAM21に記憶させる。
表示制御モジュール7は、バッファメモリー9を含む(図3参照)。また、表示制御モジュール7は、DRAM21からバッファメモリー9への表示する画面の画像データの読み込みと、バッファメモリー9に読み込んだ画像データの表示部31への送信を予め定められた送信周期で繰り返す。そして、表示制御モジュール7は、予め定められたフレームレートで表示部31に表示させる(詳細は後述)。
機能モジュールとして、スキャンモジュール61、プリントモジュール62が設けられる。スキャンモジュール61は、スキャン送信やコピージョブのような原稿読み取り(スキャン)を伴うジョブのとき処理を行う。スキャンモジュール61は、原稿搬送部4aや画像読取部4bの動作制御や、原稿読み取りに関する処理や、原稿読み取りで得られた画像データの画像処理を行う。プリントモジュール62は、コピージョブやプリントジョブのような印刷を伴うジョブのとき処理を行う。プリントモジュール62は、印刷部5の動作制御や、印刷に関する処理や、印刷に用いる画像データの画像処理を行う。
DRAM21には、CPU1aや機能モジュールのような他の回路の処理に必要なデータも記憶される。そのため、DRAM21は、複数のモジュール、回路で共用される。
バス8は、データの送受信のために用いられる信号線である。このバス8は、ASIC1bの内部バスである。バス8には、スキャンモジュール61、プリントモジュール62、表示制御モジュール7、DRAM21、メモリーコントローラー81が接続される(図2参照)。スキャンモジュール61、プリントモジュール62、表示制御モジュール7はバス8を用いてDRAM21からのデータ読み込みや、DRAM21へのデータ書き込みを行う。その他、バス8には、CPU1a、ROM22、HDD23が直接又は間接的に接続されてもよい。
メモリーコントローラー81は、DRAM21からのデータの読み出し、DRAM21へのデータの書き込みを制御する回路である。また、メモリーコントローラー81は、DRAM21へのアクセスが競合したとき(バス8の利用が競合したとき)、要求の調停を行う。また、メモリーコントローラー81は、DRAM21のリフレッシュのような処理についても制御する。
(画面の描画)
次に、図3、図4を用いて、実施形態に係る表示装置10での画面の描画を説明する。図3は、実施形態に係る表示制御モジュール7の一例を示す図である。図4は、実施形態に係るバッファメモリー9に蓄えられた画像データに基づく表示の一例を示す図である。
図3に示すように、表示制御モジュール7は、バッファメモリー9を含む。表示制御モジュール7は、DRAM21から読み出した画像データ(表示する画面の画像データの一部)をバッファメモリー9に記憶させる。実施形態のバッファメモリー9が格納できる画像データのサイズは、画面の1ライン(横方向のライン)の半分程度である。
また、表示制御モジュール7は、予め定められたフレームレートで表示部31に表示させる。本実施形態の表示装置10のフレームレートは、60Hzである。しかし、60Hzよりも遅くてもよいし、速くてもよい。そのため、表示制御モジュール7は、表示部31に画面を表示するとき、1秒間にフレームレートの回数で、フレーム(画面)を切り替える。1秒をフレームレートで除すことで、1フレームあたりの時間が決まる(本実施形態では、1/60秒)。
表示制御モジュール7は、1フレームあたりの時間内に1フレーム(1画面)の描画(書き換え)を表示部31に行わせる。静止画状態であっても、表示制御モジュール7は、1フレームあたりの時間ごとに、同じフレームを表示部31に描画させる。
ここで、上述のように、バッファメモリー9の容量は、1画面よりもずっと少なく1ラインの半分程度である。そのため、表示制御モジュール7は、1フレームあたりの時間内で、フレーム(画面)中、バッファメモリー9への次に書き換える部分(画素)の画像データの読み込みと、読み込んだ画像データの表示部31への送信を繰り返す。読込と送信の繰り返しにより、1つのフレームが描画される。フレームの描画の繰り返しによって、所定のフレームレートでの表示がなされる。
図4は、表示パネル31a(1フレーム)の一部(上方部分)を模式的に図示したものである。横方向の破線は、1ラインの間隔を模式的に示したものである。縦方向の破線は、横方向のラインの中央位置を示す。
表示制御モジュール7は、予め定められた順番でフレーム内の画素を順番に表示部31に描画(書き換え)させる。例えば、表示制御モジュール7は、フレームの最上位のラインのうち、最上位のラインの左側半分の画素、次に最上位のラインの右半分の画素、次に上から2番目のラインの左半分、次に上から2番目の右半分のように、上方のラインから半分ずつ描画していく(書き換えていく)。1フレームの描画を行うには、フレームの画像データのサイズをバッファメモリー9の容量で除した回数かそれ以上、バッファメモリー9への画像データの格納と、バッファメモリー9内の画像データの表示部31への送信を繰り返す必要がある。
1フレームの描画にバッファメモリー9へのデータの格納と送信がn回必要なとき、表示制御モジュール7は、1フレームあたりの時間内に、n回、バッファメモリー9へのデータの格納と、バッファメモリー9内のデータの表示部31への送信を行う。そのため、(1フレームあたりの時間内/n回)以下の周期で、バッファメモリー9内のデータの表示部31への送信を行う必要がある。
(アンダーラン)
次に、図5を用いて、アンダーランの問題点を説明する。図5は、アンダーランが生じたときのフレーム表示の従来例を示す図である。
バス8は複数の回路で共用される。スキャンジョブやプリントジョブでは、バス8を用いて、スキャンやプリントに関するデータのDRAM21からの読み出しや、DRAM21への書き込みが行われる。スキャンジョブやプリントジョブで扱われるデータが大きいとき、バス8の利用率が高くなる。
メモリーコントローラー81は、DRAM21へのアクセスが集中したとき、調停を行う。そのため、表示制御モジュール7の画像データの読み出し要求に対する応答が遅れる可能性がある。その結果、次の画素(次の書き換え)のための画像データの送信タイミングまでに、バッファメモリー9への次に描画する部分の画像データの読み込みができない(間に合わない)アンダーランが生ずる場合がある。アンダーランは、バッファメモリー9から画像データの送信を開始する時点に、必要分よりもバッファメモリー9に書き込まれたデータが不足している状態ともいえる。アンダーランが生じないように設計されるが、DRAM21やバス8へのアクセスが極端に集中したとき、アンダーランが生ずる場合がある。
そして、アンダーランが生じたとき、表示する画素値を指示しないと、表示パネル31aに異常が生ずる場合がある。そこで、従来、アンダーランが生じたとき、表示パネル31aを保護するために、アンダーランが生じたフレームを単一色(例えば、白色。)で表示する場合がある。言い換えると、アンダーランが生じたとき、各表示セル(画素)への印加電圧を一定値に保つ。
図5は、同じ画面(内容)のフレームを連続して描画する場合の一例を示す。図5のうち、左の図は、アンダーランが生じていない場合(正常時)のフレームの描画の一例を示す。図5のうち、右の図は、アンダーラン発生時に単一色のフレームが挟まれる場合の一例を示す。
図5の右側の図に示すように、連続するフレーム中に、前後のフレームと色的に相関性の無い単一色のフレームが挿入されると、画面がちらつく。単一色が白であろうと黒であろうと、前後のフレームと色的に相関性が無ければ、ちらつきが生ずる。画面のちらつきは使用者に不快感を与える。
フレーム複数枚分の容量を持つバッファメモリーを搭載し、フレームの描画開始前に次のフレームの画像データを蓄えておけば、アンダーランは生じ難くなる。しかし、バッファメモリー9には、SRAMのような高価な記憶素子が用いられる。バッファメモリー9の容量を大きくすると、製造コストが高くつくという問題がある。
そこで、本実施形態の表示装置10では、表示制御モジュール7は、アンダーランが生じたフレームよりも前のフレームであって、アンダーランが生じたフレームの直前のフレームと画面の内容が同じフレームである参照フレームに含まれる複数の画素の画素値(濃度値、例えば、R、G、Bのそれぞれ256階調)の平均値又は中央値に基づく保護画素値を定める。そして、表示制御モジュール7は、保護画素値を現在のフレームのうち未描画(未書換)の部分の画像データとして表示部31に送信する。言い換えると、表示制御モジュール7は、未描画(未書換)の部分の画像データとして、各画素の画素値が保護画素値である画像データを表示部31に送信する。
保護画素値は、アンダーランが生じたフレームの直前のフレームと色的に近い色の画素値となる。例えば、アンダーランが生じたフレームの直前のフレームが、明灰色や青色を用いた画面である場合、保護画素値は、青みがかった明灰色を示す値となる。その結果、アンダーランが生じたフレームと、前後のフレームでの色の違いが抑えられる。その結果、大容量のバッファメモリー9を搭載しなくても、画面のちらつきが抑えられる。
(フレームの領域を分割する場合)
次に、図6、図7、図8に基づき、フレームを分割する場合の保護画素値の設定を説明する。図6は、実施形態に係る表示装置10でのフレームの領域分割の一例を示す図である。図7は、フレームを分割する場合の保護画素値の設定の流れの一例を示す図である。図8は、実施形態に係る保護表示用データD2の一例を示す図である。
図6に示すように、画面(フレーム)の領域を複数に分割し、分割領域Fごとに保護画素値を定めるようにしてもよい。図6の例では、領域を均等又はほぼ均等に4分割する例を示している。以下の例では、画面の領域を4分割する例を説明する。また、以下の説明では、4分割された領域のうち、左上の領域を第1領域F1、右上の領域を第2領域F2、左下の領域を第3領域F3、右下の領域を第4領域F4として説明する(図6参照)。
そして、図7のフローチャートのスタートは、複合機100の主電源ONや省電力モードからの復帰に伴う表示部31の表示開始の時点である。
そして、表示制御モジュール7は、新たに表示する画面や使用者の操作によって切り替えられた切り替え後の画面の最初のフレームを参照フレームとする。そして、参照フレームの画像データに基づき、領域ごとに、各領域に含まれる複数の画素の平均値又は中央値を定める、又は、参照フレームで適用する値が定義され、記憶部2に記憶される保護表示用データD2を参照することにより、分割領域Fごとに、保護画素値を定める(ステップ♯1)。つまり、フレームに含まれる画素の画素値を演算することにより、あるいは、予め定められた保護表示用データD2を参照することにより保護画素値を定める。
表示装置10は、複合機100の設定に関する画面(操作画面)を表示する。コピーの設定画面で両面印刷を設定するための画像(ソフトキー)の表示位置がタッチされると、制御部1(表示制御モジュール7)は、両面印刷を設定するため画面を表示部31に表示させる。また、ソフトキーのような操作用の画像が操作されると、操作されたソフトキーの表示色を変える場合もある。また、ラジオボタンやチャックボックスのような操作用の画像が操作されると、画面内に選択印を追加表示することもある。このように、本実施形態の表示装置10では、タッチパネル部32やハードキー33への操作に応じて表示する画面が切り替えられる。
また、ジョブの実行状況を知らせる画面では、1ページの原稿の読み取り完了ごとや、1ページの印刷完了ごとに、読み取り済枚数や印刷枚数のカウント値が更新される。そのため、カウント値の更新ごと(1枚の原稿読取所要時間や1枚の印刷所要時間ごと)に、ジョブの実行状況を知らせる画面が切り替えられる。
一方、何れかのソフトキーやハードキー33が操作されるまで、あるいは、カウント値が加算されるまで、同じ画面の表示が続けられる。言い換えると、同じ画面が複数フレームにわたり表示される。そこで、新たに表示する画面(切替により新たに表示される画面)の最初のフレームを参照フレームとする。同じ画面(フレーム)の表示が続く間、最初のフレーム、アンダーランが生じたフレーム、アンダーランが生じたフレームの直前のフレームのいずれも表示しようとする画面は同じとなる。そして、参照フレームに基づき、保護画素値を定める。なお、最初のフレームよりも後のフレームを参照フレームと扱ってもよい。
1.演算により各分割領域Fの保護画素値を定めるとき
表示制御モジュール7の演算部71は、各分割領域Fの全画素又は複数の代表点の画素値の平均値又は中央値を求め、それを保護画素値と定める。
演算により保護画素値を定めるとき、参照フレームの各分割領域F内の複数の画素の画素値を用いる。このとき、分割領域F内の全ての画素を用いてもよいし、各分割領域F内の予め定められた複数の代表点に位置する画素を用いてもよい。なお、各分割領域F内で均等、又は、ほぼ均等に分散するように各代表点の位置が定められる。例えば、各分割領域Fを複数のブロック(例えば、3×3や5×5のブロック)で分割し、ブロック中の1つの画素を代表点と設定するようにしてもよい。
また、平均値を用いるか中央値を用いるかは、操作パネル3で設定することができる(詳細は後述、図11参照)。表示パネル31aがモノクロ表示のとき、参照フレームの第1領域F1の各画素の画素値(輝度値)の平均値又は中央値を求める。表示パネル31aがカラー表示のとき、参照フレームの第1領域F1の各画素のR、G、Bのそれぞれについて、平均値又は中央値を求める。
平均値を求めるとき、演算部71(図3参照)は、第1領域F1の全画素の画素値、又は、第1領域F1内の代表点の画素値の平均を求める。中央値を求めるとき、演算部71は、第1領域F1の全画素、又は、第1領域F1内の代表点の画素値のうち最大値と最小値を定め、最大値と最小値の中間の値を中央値として求める。演算部71は、同様の演算を第2領域F2、第3領域F3、第4領域F4についても行う。そして、演算部71は、4つの領域のそれぞれについて平均値又は中央値を求める。
2.保護表示用データD2を参照する場合
まず、記憶部2(ROM22やHDD23)には、保護表示用データD2が記憶されている。この保護表示用データD2には、画面のグループ(デザインテーマ)ごとに保護画素値として適用する値が定義されている(図8参照)。
表示装置10では、コピーに関する設定画面や、スキャンに関する設定画面や、システムに関する設定画面や、ジョブの実行状況を知らせる画面など、複数種の画面が表示される。複合機100(表示装置10)で表示される画面の種類は多数に及ぶ。そして、表示部31で表示され得るそれぞれの画面は、何れかのグループに分類される。表示に用いる色や背景デザインや文字色のような画面デザインの類似性に基づき、どのグループに属するかが予め定められる。そして、保護表示用データD2には、グループごとに各領域の保護画素値が定められる。
グループごとの各分割領域Fの保護画素値も、平均値又は中央値に基づき定めることができる。具体的に、グループに属する画面を1つ選ぶ。そして、選んだ画面の領域を4分割し、分割領域Fごとに、各分割領域Fに含まれる複数の画素の画素値の平均値又は中央値を保護画素値として定める。また、平均値と中央値の何れを採用してもよい。分割領域Fの全画素の画素値に基づきの平均値又は中央値を定めてもよいし、分割領域F内の代表点の画素値の平均値又は中央値を定めてもよい。
また、グループに属する複数の画面のそれぞれについて、各分割領域Fの平均値又は中央値を求める。そして、求めた複数の平均値の平均、あるいは、求めた複数の中央値の平均をグループでの各分割領域Fの保護画素値としてもよい。
なお、画面ごとに、各分割領域Fで適用すべき保護画素値を定めるようにしてもよい。この場合、グループ単位で保護画素値を記憶する場合よりも保護表示用データD2のサイズは大きくなるが、アンダーランが生じたときのちらつきを減らし易くなる。
そして、表示制御モジュール7は、求めた、あるいは、参照により定めた各分割領域Fの保護画素値を、保護画素値レジスタ72に格納する(ステップ♯2、図3参照)。保護画素値レジスタ72は、表示制御モジュール7内に設けられる。フレーム(画面)の領域は4分割され、保護画素値は4種類となるので、4つの保護画素値レジスタ72が設けられる。
そして、表示制御モジュール7は、新たな画面への切り替えがなされるか否かを確認する(ステップ♯3)。言い替えると、表示制御モジュール7は、表示する画面の内容の変更があるか否かを確認する。上述のように、使用者による操作やカウント値の変更によって表示する画面を変えるとき、ステップ♯3はYesとなる。
新たな画面への切り替えがなされるとき(ステップ♯3のYes)、フローは、ステップ♯1に戻り、新たな画面について、保護画素値が定められ、保護画素値が記憶される。一方、新たな画面への切り替えがなされないとき、表示制御モジュール7は、記憶した保護画素値を保持する(ステップ♯4)。同じ画面を表示している間(同じフレームを表示する間)、何度も保護画素値を定める演算はなされず、同じ保護画素値が保持される。そして、フローは、ステップ♯3に戻る。
(フレームの領域を分割しない場合)
次に、図8、図9に基づき、フレームを分割しない場合(画面全体で1つの保護画素値を定め、適用する場合)の保護画素値の設定を説明する。図9は、フレームを分割しない場合の保護画素値の設定の流れの一例を示す図である。
そして、図9のフローチャートのスタートは、図7のフローチャートと同様に、複合機100の主電源ONや省電力モードからの復帰に伴う表示部31の表示開始の時点である。
そして、表示制御モジュール7は、新たに表示する画面の最初のフレームを参照フレームとする。そして、参照フレームの画像データに基づき複数の画素の平均値又は中央値を定めることにより、又は、参照フレームで適用する値が定義され、記憶部2に記憶される保護表示用データD2を参照することにより、1つの保護画素値を定める(ステップ♯11)。つまり、フレームに含まれる画素の画素値を演算することにより、あるいは、予め定められた保護表示用データD2を参照することにより1つの保護画素値を定める。
使用者が設定を行う画面では、何れかのソフトキーやハードキー33が操作されるまで、同じ画面の表示が続けられる。また、ジョブの実行状況を知らせる画面でもカウント値が切り替えるまで同じ画面の表示が続けられる。そこで、新たに表示する画面の最初のフレームを参照フレームとして、参照フレームの画像データに含まれる複数の画素の画素値の平均値や中央値に基づき、保護画素値を定める。なお、最初のフレームよりも後のフレームを参照フレームと扱ってもよい。
1.演算により1つの保護画素値を定めるとき
表示制御モジュール7の演算部71は、参照フレーム(最初のフレーム)の全画素又は複数の代表点の画素値の平均値又は中央値を定める。
演算により保護画素値を定めるとき、参照フレーム内の複数の画素の画素値を用いる。このとき、参照フレームの全ての画素を用いてもよいし、参照フレーム内の予め定められた複数の代表点に位置する画素を用いてもよい。なお、参照フレーム内で均等、又は、ほぼ均等に分散するように各代表点の位置が定められる。例えば、参照フレームを複数のブロック(例えば、3×3や5×5のブロック)で分割し、ブロック中の1つの画素を代表点と設定するようにしてもよい。
また、平均値を用いるか中央値を用いるかは、操作パネル3で設定することができる(詳細は後述)。表示パネル31aがモノクロ表示のとき、各画素の画素値(輝度値)の平均値又は中央値を求める。表示パネル31aがカラー表示のとき、フレームの各画素のR、G、Bのそれぞれについて、平均値又は中央値を求める。
平均値を求めるとき、演算部71は、フレームの全画素の画素値、又は、フレームの代表点の画素値の平均を求める。中央値を求めるとき、演算部71は、フレームの全画素、又は、フレームの代表点の画素値のうち最大値と最小値を定め、最大値と最小値の中間の値を中央値として求める。
2.保護表示用データD2を参照する場合
上述のように、記憶部2(ROM22やHDD23)には、画面のグループ(デザインテーマ)ごとに保護画素値として適用する値が定義された保護表示用データD2が記憶されている(図8参照)。
この保護表示用データD2には、フレームを分割しない場合の保護画素値をグループごとに定めておくことができる。フレームを分割しない場合の保護画素値も、平均値又は中央値に基づき定めることができる。具体的に、グループに属する画面を1つ選ぶ。そして、選んだ画面の全領域に含まれる複数の画素の画素値の平均値又は中央値を保護画素値として定める。平均値と中央値の何れを採用してもよい。また、フレームの領域内の全画素の画素値の平均値又は中央値を定めてもよいし、フレーム内の代表点の画素値の平均値又は中央値を定めてもよい。
なお、画面ごとに、フレームを分割しない場合の保護画素値を定めるようにしてもよい。この場合、グループ単位で保護画素値を記憶する場合よりも保護表示用データD2のサイズは大きくなるが、アンダーランが生じたとき、ちらつきがより少なくなるような保護画素値を適用することができる。
そして、表示制御モジュール7は、定めた1つの保護画素値を、保護画素値レジスタ72に格納する(ステップ♯12)。この場合、保護画素値は一種類なので用いる保護画素値レジスタ72は、1つでよい。そして、表示制御モジュール7は、新たな画面への切り替えがなされるか否かを確認する(ステップ♯13)。言い替えると、表示制御モジュール7は、表示する画面の内容が一部でも切り替えられるか否かを確認する。
例えば、使用者の操作によって表示する画面の一部でも変更される場合、ジョブの実行状況を知らせる画面でカウント値に1加算する場合などでは、ステップ♯13はYesとなる。
新たな画面への切り替えがなされるとき(ステップ♯13のYes)、フローは、ステップ♯11に戻り、新たな画面について、1つの保護画素値が定められ、保護画素値が記憶される。一方、新たな画面への切り替えがなされないとき、表示制御モジュール7は、記憶した保護画素値を保持する(ステップ♯14)。同じ画面を表示している間、何度も保護画素値を定める演算はなされず、同じ1つの保護画素値が保持される。そして、フローは、ステップ♯13に戻る。
(アンダーラン発生時の保護表示)
次に、図10を用いて、実施形態に係る表示装置10でのアンダーラン発生時の保護表示の流れの一例を説明する。図10は、実施形態に係る表示装置10でのアンダーラン発生時の保護表示の流れの一例を示すフローチャートである。
図10のスタートは、図7、図9と同様に、複合機100の主電源ONや省電力モードからの復帰に伴う表示部31の表示開始、又は、切り替え先の画面の表示開始の時点である。
フレームの描画のため、表示制御モジュール7は、フレーム中、次に描画する位置の画素について、バッファメモリー9への画像データの読み込みを行う(ステップ♯21)。そして、画像データの送信時点前に、表示制御モジュール7は、アンダーランが生じているか否かを確認する(ステップ♯22)。言い替えると、表示制御モジュール7は、バッファメモリー9の画像データを表示部31に送信する時点までに、送信すべき画像データがバッファメモリー9に読み込まれているか否か(読み込みが間に合うか)を確認する。
アンダーランが生じていないとき(ステップ♯22のNo)、表示制御モジュール7は、予め定められた送信タイミング(送信時点)に、読み込んだバッファメモリー9内の画像データを表示部31に送信する(ステップ♯23)。そして、フローは、ステップ♯21に戻る。
一方、アンダーランが生じているとき(ステップ♯22のYes)、表示制御モジュール7は、アンダーランが生じたフレームでの未書換の画素(現在のフレームで未描画の画素)の画素値として、定めておいた保護画素値(保護画素値レジスタ72に記憶された値)を表示部31に送信する(ステップ♯24)。なお、新たな画面の最初のフレームでアンダーランが生じたときには、切替前の画面の保護画素値が適用され、送信される。
このステップ♯24では、フレームの領域を分割しているとき、表示制御モジュール7は、分割された領域に応じた保護画素値を表示部31に送信する。そのため、表示制御モジュール7は、送信する保護画素値を適宜切り替える。一方、領域を分割しないとき(全ての領域に1つの保護画素値を適用するとき)、表示制御モジュール7は、1種類の保護画素値を表示部31に送信する。
さらに、表示制御モジュール7は、現在のフレームのうち未描画(未書換)の部分の画素を保護画素値で表示部31に表示させる(ステップ♯25)。具体的に、表示制御モジュール7は、アンダーランが生じたフレームでは、書換未完了部分(未描画部分)の画像データとして、保護画素値を、現在のフレームの最後まで表示部31に送信する。
このステップ♯25では、フレームの領域を分割しているとき、表示部31は、書換未完了部分のうち、分割された領域に対応する保護画素値を用いて表示する。一方、領域を分割しないとき、表示部31は、書換未完了部分を、1種類の保護画素値を用いて表示する。ステップ♯25の後、アンダーランが生じたフレームの描画が完了する(ステップ♯26)。そして、フローは、ステップ♯21に戻る。
(保護表示の設定)
次に、図11を用いて、実施形態に係る表示装置10での保護表示の設定の一例を説明する。図11は、実施形態に係る表示装置10での保護表示設定画面S1の一例を示す図である。
操作パネル3に対し、所定の操作がなされたとき、制御部1(表示制御モジュール7)は、図11に示す保護表示設定画面S1を表示部31に表示させる。例えば、システム設定のカテゴリー内に、保護表示設定画面S1が含められる。
保護表示設定画面S1には、分割キーK1と非分割キーK2が設けられる。分割キーK1を操作することにより、それぞれの分割領域Fについて保護画素値を定め、アンダーランが生じたフレームにおいて、分割領域Fのそれぞれが対応する保護画素値で、未書換の画素を表示する設定とすることができる。非分割キーK2を操作することにより、フレーム全体に対し1つの保護画素値を定め、アンダーランが生じたフレームにおいて、1つの保護画素値で未書換の画素を表示する設定とすることができる。
このように、操作パネル3(表示部31、タッチパネル部32、ハードキー33)は、フレームの領域を分割するか否かの設定を受け付ける。アンダーランが生じたとき、表示制御モジュール7は、設定に応じた表示を表示部31に行わせる。
保護表示設定画面S1には、演算キーK3とデータ参照キーK4が設けられる。演算キーK3を操作することにより、参照フレームに含まれる複数の画素に基づき、演算により保護画素値を定める設定とすることができる。データ参照キーK4を操作することにより、記憶部2の保護表示用データD2を参照して保護画素値を定める設定とすることができる。
このように、操作パネル3(表示部31、タッチパネル部32、ハードキー33)は、演算により保護画素値を定めるか、保護表示用データD2を参照して保護画素値を定めるかの設定を受け付ける。アンダーランが生じたとき、表示制御モジュール7は、設定に応じて保護画素値を定める。
また、演算キーK3に対して、第1ラジオボタンR1と第2ラジオボタンR2が設けられる。第1ラジオボタンR1を操作することにより、参照フレームに含まれる複数画素の平均値を保護画素値と定める設定とすることができる。第2ラジオボタンR2を操作することにより、参照フレームに含まれる複数画素の中央値を保護画素値と定める設定とすることができる。
このように、操作パネル3(表示部31、タッチパネル部32、ハードキー33)は複数画素の平均値と中央値のうち、いずれを保護画素値と定めるかの設定を受け付ける。アンダーランが生じたとき、表示制御モジュール7は、設定に応じて保護画素値を定める。
このようにして、実施形態に係る表示装置10は、受信した画像データに基づき表示をする表示部31と、表示する画面の画像データを記憶するRAM(DRAM21)を含む記憶部2と、ジョブに関する処理を行う機能モジュール(スキャンモジュール61、プリントモジュール62)と、バッファメモリー9を含み、RAMからバッファメモリー9への表示する画面の画像データの一部の読み込みと、バッファメモリー9に読み込んだ画像データの表示部31への送信を予め定められた送信周期で繰り返して予め定められたフレームレートで表示部31に表示させる表示制御モジュール7と、RAMと機能モジュールと表示制御モジュール7が接続され、データを送受信するためのバス8と、を含む。送信周期に基づく送信タイミングまでに次に描画する部分の画像データのバッファメモリー9への読み込みが間に合わないアンダーランが生じたとき、表示制御モジュール7は、アンダーランが生じたフレームよりも前のフレームであって、アンダーランが生じたフレームの直前のフレームと画面の内容が同じフレームである参照フレームに含まれる複数の画素の画素値の平均値又は中央値を定めることにより、又は、記憶部2に記憶され、参照フレームで適用する値が定義された保護表示用データD2を参照することにより、保護画素値を定め、定めた保護画素値を現在のフレームのうち未描画の部分の画像データとして表示部31に送信し、未描画の部分の画素を保護画素値で表示部31に表示させる。
これにより、アンダーランが生じたとき、現在のフレームのうち、未描画(未書換)の部分の画素値を、アンダーランが生じたフレームの直前のフレームで用いられている色と相関関係がある色(近似色)で表示することができる。また、次も同じフレームを画面の表示する場合、アンダーランが生じたフレームの後のフレームとも相関関係がある色(近い色)で、アンダーランが生じたフレームを表示することができる。従って、従来のように、アンダーランが生じたフレームを前後のフレームと全く色的に相関性のないような1色で表示しない。言い換えると、フレームとフレームの間に、色的に相関関係がない単一色のフレームを挟み込まない。その結果、アンダーランが生じたときの画面のちらつきを従来よりも抑えることができる。
また、バッファメモリー9の容量が少なくてもちらつきを抑えることができる。言い換えると、ちらつき防止(アンダーラン防止)のために複数画面分のバッファメモリー9を表示装置10に搭載する必要はない。そのため、表示装置10の製造コストも抑えることができる。
また、アンダーランが生じたとき、表示制御モジュール7は、フレームを複数の分割領域Fに分割し、参照フレームの分割領域Fごとに、各分割領域Fに含まれる複数の画素の画素値の平均値又は中央値を保護画素値として定め、現在のフレームのうちの未描画の部分を、対応する分割領域Fの保護画素値で表示部31に表示させるようにしてもよい。
これにより、アンダーランが生じたフレームでは、領域ごとに直前のフレームに色的に相関性のある保護画素値が複数定められ、各領域は対応する保護画素値で表示することができる。これにより、従来よりも、アンダーランが生じたときの画面のちらつきをずっと抑えることができる。
また、表示制御モジュール7は、同じ画面を複数フレームにわたり表示するとき、同じ画面の複数フレームのうち、最初のフレームを参照フレームとして、各分割領域Fの保護画素値を演算により定めるようにしてもよい。
これにより、同じ画面を複数フレームにわたり表示するとき、現在のフレーム(アンダーランが生じたフレーム)の表示前までに保護画素値を定めておく。これにより、アンダーランが生じたフレーム中、未描画(未書換)の部分の画素を保護画素値で描画する処理を直ちに開始することができる。また、1枚のフレーム描画ごとに保護画素値を定める処理をしないので、処理負荷を軽くすることができる。
また、表示部31で表示され得るそれぞれの画面は、何れかのグループに分類される。そして、記憶部2は、グループごとに各分割領域Fの保護画素値を定めた保護表示用データD2を記憶する。表示制御モジュール7は、保護表示用データD2で定められた各分割領域Fの保護画素値のうち、アンダーランが生じたフレームの画面が属するグループの保護画素値を、現在のフレームの各分割領域Fの保護画素値と定める。
この構成によれば、表示制御モジュール7は、保護表示用データD2で定められた各分割領域Fの保護画素値のうち、アンダーランが生じたフレームの画面が属するグループの保護画素値を、現在のフレームの各分割領域Fの保護画素値と定める。
これにより、アンダーランが生じたフレーム中、未描画(未書換)の部分の画素を保護画素値で描画する処理を直ちに開始することができる。また、表示制御モジュール7は、平均値や中央値のような保護画素値を定めるための演算処理を行う必要がない。そのため、表示装置10での処理負荷を軽くすることができる。
また、アンダーランが生じたとき、表示制御モジュール7は、参照フレーム含まれる複数の画素の画素値の平均値又は中央値に基づく保護画素値を1つ定め、現在のフレームのうちの未描画の部分を、定めた保護画素値で表示部31に表示させるようにしてもよい。
これにより、アンダーランが生じたフレームの直前のフレームと色的に相関性のある保護画素値が定められる。そして、アンダーランが生じたフレームのうち、未書換(未描画)の画素を保護画素値で表示することができる。これにより、アンダーランが生じても、気にならない程度に、画面のちらつきを抑えることができる。しかも、保護画素値を1つのみ定めればすむ。
また、表示制御モジュール7は、同じ画面を複数フレームにわたり表示するとき、同じ画面の複数フレームのうち、最初のフレームを参照フレームとして、1つの保護画素値を演算により定めるようにしてもよい。
これにより、同じ画面を複数フレームにわたり表示するとき、現在のフレーム(アンダーランが生じたフレーム)の表示前までに保護画素値を定めておく。これにより、アンダーランが生じたフレーム中、未描画(未書換)の部分の画素を保護画素値で描画する処理を直ちに開始することができる。また、1枚のフレーム描画ごとに保護画素値を定める処理をしないので、処理負荷を軽くすることができる。
また、表示部31で表示され得るそれぞれの画面は、何れかのグループに分類される。そして、記憶部2は、グループごとに1つの保護画素値を定めた保護表示用データD2を記憶する。表示制御モジュール7は、アンダーランが生じたフレームの画面が属するグループの1つの保護画素値を、現在のフレームの保護画素値と定めるようにしてもよい。
これにより、アンダーランが生じたフレーム中、未描画(未書換)の部分の画素を保護画素値で描画する処理を直ちに開始することができる。また、表示制御モジュール7は、平均値や中央値のような保護画素値を定めるための演算処理を行う必要がない。そのため、表示装置10での処理負荷を軽くすることができる。
また、画像形成装置(複合機100)は、上述の表示装置10を含む。これにより、表示装置10に送信するデータのアンダーランが生じても、画面のちらつきのない、あるいは、ちらつきが従来よりも抑えられた表示装置10を含む画像形成装置を提供することができる。また、ちらつき防止のために表示装置10に大容量のバッファメモリー9を搭載する必要がないので、価格が抑えられた画像形成装置を提供することができる。
本発明の実施形態を説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実施することができる。