以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態における表示装置の構成を示すブロック図である。本実施形態における表示装置は、電子ペーパーと呼ばれる薄型ディスプレイとして構成されるもので、例えば電気泳動方式、電子粉流体方式などが用いられている。電子ペーパーは、表示画面の見た目が通常の紙に近く、電気的に書き換え可能であり、一度表示された内容を保持するメモリ効果を有するために電力消費を低減できるという特徴を有している。
電子ペーパーにおける表示駆動方法は、2つの電極間の電位差を利用するもので、透明電極で構成される閲覧側の第1ライン(電極)に対し、他方の第2ライン(電極)の電位がVDD以上になると黒を表示する。一方、第2ラインに対して閲覧側の第1ラインの電位がVDD以上になると白を表示する。2つのラインの電位差がVDD以下であれば表示に変化が無い。本実施形態の表示装置は、白と黒を表示するモノクロディスプレイとして説明する。
本実施形態における表示装置(電子ペーパー)は、図1に示すように、制御ユニット10及び表示ユニット12から構成されている。
制御ユニット10は、CPU(Central Processing Unit)20、GPU(Graphic Processing Unit)21、表示用DRAM22、DRAM23、FROM24、及びIOインタフェース(IOI/F)25を含んでいる。
CPU20は、FROM24に記憶されたプログラムに従い、GPU21を通じて表示ユニット12における表示を制御する。CPU20は、表示画面の書き換えの際に、表示デバイス30における特定の表示領域のフレームレートを、その他の表示領域よりも速いフレームレートより表示させることで、特定の領域における閲覧性を良好にする。
GPU21は、表示ユニット12に対する表示コントローラとして機能するもので、CPU20の制御のもとで表示用DRAM22を用いて表示画像を生成し、所定のタイミングで表示ユニット12に制御信号を出力して表示を制御する。GPU21には、表示制御に参照されるレジスタが設けられている。例えばフレームレートを制御するためのレジスタ(Lレジスタ21a)、特定領域の範囲の基準となる位置を設定するためのレジスタ(Yレジスタ21b)、特定領域の範囲を示す範囲レジスタ21c等が必要に応じて使用されて、CPU20により書き換えられる。Lレジスタ21aには、例えば表示画面全体の書き換えを実行する間に、特定領域に対して書き換えを行う回数を示す値が設定される。また、Yレジスタ21bには、特定の領域の範囲の基準となる位置として、例えば、現在のカーソル位置、ポインティングデバイスにより指示された画面上における位置(マウスポインタの位置)などを示す値が設定される。また、範囲レジスタ21cには、Yレジスタ21bに設定された値あるいは表示画面の上端または下端を基準とした範囲(コモンライン数)を示す値が設定される。
表示用DRAM22は、GPU21により表示ユニット12において表示される表示画像データが記憶される。
DRAM23は、CPU20及びGPU21の処理においてワークメモリとして用いられる。
FROM24は、プログラム(プログラムコード)を記憶するもので、CPU20あるいはGPU21により読み出される。
IOインタフェース25は、入力デバイス26からの入力を制御するもので、例えばマウス等のポインティングデバイス、カーソルキー、スクロールキーなどの操作による画面表示の切り替えの指示を入力してCPU20に通知する。
一方、表示ユニット12は、表示デバイス30、コモンドライバ31、セグメントドライバ32、及びタイミングジェネレータ(タイミング生成器)33を含んでいる。表示ユニット12は、パッシブ駆動で表示デバイス30を駆動する。
表示デバイス30は、例えば電気泳動法により着色粒子を電極間で移動させる電気泳動ディスプレイや、電子粉流体を電界により移動させて画像を表示させるディスプレイとして構成されている。
コモンドライバ31は、タイミングジェネレータ33からの制御信号に応じて、表示データが印加されるデータライン(コモンライン)を指定する。
セグメントドライバ32は、タイミングジェネレータ33からの制御信号に応じて、セグメントラインにより表示データを転送する。
タイミングジェネレータ33は、GPU21からの制御信号を入力して、コモンドライバ31とセグメントドライバ32への制御信号へ変換して所定のタイミングで、コモンドライバ31及びセグメントドライバ32のそれぞれに対して出力する。
図2には、表示ユニット12の詳細な構成例を示している。
図2に示す表示ユニット12は、説明を簡単化するために、表示デバイス30(表示エリア40)を4×4の単純マトリクス方式により駆動される構成例を示している。実際には、表示ユニット12の解像度を例えばWVGAとすると800×480のマトリクスとなる。
図2に示すマトリクスの交点(例えばA,B,C,D点)における、第1ライン(コモンラインCD0〜CD3)と第2ライン(セグメントラインSD0〜SD3)に対する印加により電位差を発生させて表示を実現する。
コモンドライバ31(横軸)は、タイミングジェネレータ33からの各信号に応じて、走査するコモンラインを1ラインずつ順次選択していく。コモンドライバ31は、シフトレジスタ41、トランスペアレントラッチ42、及びドライバ43により構成される。
シフトレジスタ41には、D_Cからデータが入り、クロックCK_Cにより選択するコモンラインを1ラインずつ進めていくワンホット動作となっている。シフトレジスタ41の各段からの出力は、ラッチ信号nL_Cによりトランスペアレントラッチ42にセットされる。トランスペアレントラッチ42のラッチ信号nL_Cは負論理であり、Hレベルの時にはデータをラッチし、Lレベルの時にはデータを通過させる。
トランスペアレントラッチ42によりラッチされたデータはドライバ43に出力される。ドライバ43には、トランスペアレントラッチ42からの出力信号と白表示制御信号EW_Cが入力される。
ドライバ43は、EWC信号がLレベルの時には、シフトレジスタ41からドライバ43への入力がLレベルであればVDD/2を出力し、HレベルであればGNDを出力する。EWC信号がHの時には、VDDを出力する。ドライバ43の出力がGNDの時には、そのコモンラインを選択しているときであり、VDD/2の時には非選択、VDDの時には白描画(全画面白)時である。
一方、セグメントドライバ34(縦軸)は、表示データに応じた信号を各ラインに出力させるもので、シフトレジスタ45、トランスペアレントラッチ46、論理回路47、ドライバ48により構成される。
シフトレジスタ45には、D_Sから表示データが入り、クロックCK_Sにより1段ずつシフトされる。シフトレジスタ45の各段からの出力は、ラッチ信号nL_Sによりトランスペアレントラッチ46にセットされる。トランスペアレントラッチ46のラッチ信号nL_Sは負論理であり、Hレベルの時にはデータをラッチし、Lレベルの時にはデータを通過させる。
トランスペアレントラッチ46にラッチされたデータは、ストローブ信号EN_Sと共に論理回路47に入力されて論理積が取られる。論理回路47の出力信号がドライバ48に入力される。ドライバ48の出力は、論理回路47からの入力がLレベルの時にはGND、Hレベルの時にはVDDとなる。
本実施形態における表示ユニット12は、コモンドライバ31によりコモンラインを順次選択して1フレームを形成する通常駆動により画像を描画する動作の他、特定のコモンラインを選択して駆動する動作を可能としている。本実施形態では、特定範囲のコモンラインに対応する駆動を、その他のコモンラインよりも回数を多くすることで、この特定範囲に相当する表示画面中の特定領域におけるフレームレートを高くすることができる。すなわち、電子ペーパーを実現するためにCRTやLCD等と比較して描画に時間を要する電気泳動方式や電子粉流体方式を用いたとしても、ユーザが注目している可能性が高い表示画面中の特定領域に限定して画面の書き換えを多くすることで、特定領域において表示された内容の閲覧性を向上させることができる。
以下、図2に示す表示ユニット12の動作について説明する。
まず、通常のコモンラインを順次選択して駆動する場合について説明する。
各フレームでは、先頭の第1フィールドにて全表示面を白で初期化(描画)して、第2〜第5フィールドにおいて順次コモンライン(CD3,CD2,CD1,CD0)を駆動する。
第1フィールドにおいて全画面白表示するために、前フレームの最後のフィールド(第5フィールド)にて、セグメント側シフトレジスタ45によりLレベルを転送させておき、ラッチ信号nL_Sによりトランスペアレントラッチ46にラッチさせる。ラッチされた信号は、第1フィールドにてストローブ信号EN_Sとの論理積を論理回路47で取り、その出力がセグメント側のドライバ48に入力される。ドライバ48は、入力がLレベルであるのでGNDを出力する。
第1フィールドにおいて、コモン側では、ドライバ43に入力される白表示制御信号EW_CをHレベルとして、ドライバ43からVDDを出力させる。
これにより、第1フィールドでは、コモンラインの電位がVDD,セグメントラインがGNDとなり、ライン間にVDD以上の電圧が印加(コモン電圧>セグメント電圧)されるため全面白表示となる。
第2フィールドから第5フィールドまでは4本のコモンライン(CD3,CD2,CD1,CD0)を順次選択していく。
第1フィールドにて、データD_C、クロックCK_Cによりコモン側シフトレジスタ41によりワンホットデータを転送させておく。シフトレジスタ41からの信号は、第2フィールドの始めにラッチ信号nL_Cによりトランスペアレントラッチ42にラッチさせる。以下、同様にして、各フィールドにて、データD_C、クロックCK_Cによりシフトレジスタ41にデータを転送させ、ラッチ信号nL_Cによりトランスペアレントラッチ42にラッチさせる。
第2フィールドから第5フィールドまでの間は、白表示制御信号EW_CをLレベルとする。これにより、トランスペアレントラッチ42からの出力信号(LまたはH)に応じて、コモンドライバ43からVDD/2(非選択)かGND(選択)を出力させる。
GND(選択)を出力させる(黒表示させる)場合には、前のフィールドにおいて該当するコモンラインの選択タイミングに応じて、データD_C(Hレベル)がシフトレジスタ41に入力される。例えば、コモンラインCD3上のA点において黒表示(描画)する場合には、第1フィールドにおいてデータD_Cがシフトレジスタ41aに入力され、第2フィールドの始めにラッチ信号nL_Cによりトランスペアレントラッチ42aにラッチさせ、トランスペアレントラッチ42aからドライバ43aに対してHレベルの信号が出力される。
一方、セグメント側では、データD_S及びクロックCK_Sによりシフトレジスタ45にデータ(Hレベル)をセットし、ラッチ信号nL_Sによりトランスペアレントラッチ46にラッチさせる。ラッチされた信号は、ストローブ信号EN_S(Hレベル)と共に論理回路47により論理積が取られることで、Hレベルの信号がドライバ48に入力される。例えば、セグメントラインSD3上のA点において黒表示(描画)する場合には、A点があるコモンラインCD3が選択される第2フィールドの前の第1フィールドにおいてデータD_Sによりシフトレジスタ45aにデータ(Hレベル)がセットされ、ラッチ信号nL_Sによりトランスペアレントラッチ46aにラッチさせる。第2フィールドでは、ストローブ信号EN_Sとトランスペアレントラッチ46aによりラッチされた信号(Hレベル)により、ドライバ48aからセグメントラインSD3に出力される信号の電位がVDDとなる。
こうして、例えば点Aでは、コモンラインCD3がGND、セグメントラインSD3がVDDとなり、電位差がVDD以上印加されるので(コモンライン<セグメントライン)黒が描画される。
次に、特定のコモンラインのみを選択して駆動する場合の動作について説明する。
例えば、フレーム1では、図2の表示エリア40のB点、フレーム2ではA点、フレーム3ではB点、C点、D点を選択的に黒に描画する場合を例にして説明する。
各フレームの最初のフィールドでは通常の駆動時と同じようにして全画面白表示を行う。セグメント側では、ドライバ48からGNDが出力されるように、シフトレジスタ45にLレベルをセットし、トランスペアレントラッチ46、論理回路47を介してドライバ48にLレベルの信号を入力する。コモン側では、白表示制御信号EW_CをHレベルとし、ドライバ43の出力をVDDとする。これにより、セグメントラインに対してコモンラインの電位がVDDとなるため全画面白表示される。
B点の黒表示を行う場合、フレーム1の第1フィールドにて、セグメント側のシフトレジスタ45に、セグメントラインSD3がVDDを出力するように、データD_S、クロックCK_Sを用いてシフトレジスタ45aにデータをセットし、ラッチ信号nL_Sによりトランスペアレントラッチ46aにラッチさせる。第2フィールドでは、ストローブ信号EN_Sによりトランスペアレントラッチ46aからのVDD出力が、ドライバ48aを通じてセグメントラインSD3に出力される。
また、第2フィールドにおいてコモンラインCD1が選択され、ドライバ43からGNDの信号が出力されるように、第1フィールドでは所定のタイミングでシフトレジスタ41にクロックCK_CとデータD_Cが入力される。トランスペアレントラッチ42には、ラッチ信号nL_CをLレベルとしてシフトレジスタ41からの信号を通過させた後、Hレベルにしてデータをラッチさせる。
第2フィールドでは、トランスペアレントラッチ42によりラッチされた信号がドライバ43を通じてコモンラインCD1に出力される。
従って、表示エリア40のB点では、コモンラインCD1が選択されてGNDとなり、セグメントラインSD3がVDDとなるため黒が描画される。
一方、第2フィールドのA点ではコモンラインCD3は非選択のため、コモンラインCD3がVDD/2となり、セグメンラインSD3との電位差がVDD/2となり表示が変化しない(白表示のまま)。フレーム1では、B点のみ黒に描画し、2フィールド必要としている。
フレーム2では、前述と同様にしてコモンラインCD3を選択してGNDとし、コモンラインCD3を非選択(VDD/2)とすることにより、A点のみを黒描画することができる。この場合、同様に2フィールド必要とする。
フレーム3では、最初の第1フィールドでは前述と同様にして全白描画を実行する。第2フィールドでは、コモンラインCD2を選択し、セグメントラインSD1,SD2をVDDに制御することによりC点、D点を黒に描画することができる。第3フィールドでは、コモンラインCD1を選択し、セグメントラインSD3をVDDに駆動することでB点のみを黒描画することができる。
このように、本実施形態における表示ユニット12では、1フレーム中でコモンラインを任意に選択して、このコモンライン上の点に対して黒描画することができる。図2を用いて説明したように、1コモンラインを選択する場合には、1フレーム中の先頭フィールドを白描画に用いる他に1フィールド必要とし、2コモンラインを選択する場合には先頭フィールドの他に2フィールドあれば良い。すなわち、各フレームについて全てのコモンラインを選択する必要がなく、特定範囲のコモンラインのみを選択して繰り返して駆動することにより、このコモンラインに該当する特定領域のフレームレートを高くすることができる。
次に、本実施形態における表示装置における表示駆動動作について説明する。以下、GPU21により実行される表示制御について、フローチャートを参照しながら説明する。
以下の説明では、表示ユニット12の表示デバイス30(表示エリア40)は、800×480ドットの解像度(WVGA)を有するものとして説明する。表示デバイス30は、セグメントライン(SD0〜SD799)とコモンライン(CD0〜CD479)による単純マトリクスにより表示駆動がなされる。
(第1実施形態)
第1実施形態における表示装置では、表示画面の書き換えを行う場合に(以下の説明ではスクロール)、表示画面中の特定領域のフレームレートを他の領域よりも高くなるように表示駆動する。特定領域としては、例えば表示画面中に表示されたカーソル(マーカ)の位置を基準とする。
図3には、第1実施形態を説明するための表示装置50において表示された画面例を示している。図3に示す表示領域51の左側にはコモンドライバ52(30)が配置され、横方向に配設されたコモンラインCD0〜CD479を駆動する。表示領域51の下側にはセグメントドライバ53(32)が配置され、縦方向に配設されたセグメントラインSD0〜SD799を駆動する。図3に示す表示画面は、文字入力中の画面であり、カーソル55が点滅表示されて文字入力位置を示している。
以下、図4に示すフローチャートを参照しながら第1実施形態の動作について説明する。
例えば入力デバイス26(キーボード)のスクロールキーが操作されることにより、表示画面のスクロールの実行指示がIOインタフェース25を通じてCPU20に入力されたものとする。これに応じて、CPU20は、GPU21に対して画面スクロールの実行を指示する。
GPU21は、スクロールが開始されると、CPU20によりLレジスタ21aに対して設定された値を変数Lにセットする(ステップA1)。第1実施形態では、変数Lとして5がセットされるものとする。すなわち、表示領域51の全体の書き換えを実行する間に、特定領域に対する書き換えを6回実行することを示している(図4に示すフローチャートの処理では(変数L+1)回となる)。また、Yレジスタ21bに対して設定されたカーソル55の位置(コモンライン位置)を示す値を変数Yにセットする(ステップA2)。図3に示す例では、例えばカーソル55がコモンラインCD400上にあるとして、変数Yとして「400」がセットされたものとする。
GPU21は、変数Yが示す位置を基準とした特定範囲、例えば上下方向それぞれ30コモンラインの範囲を駆動範囲として、コモンラインCD370〜CD430の61コモンラインに対応する領域を特定領域とする。
GPU21は、表示ユニット12(タイミングジェネレータ33)に対して、フレーム内でコモンラインCD370〜CD430に相当する特定領域のみを駆動して、この特定範囲について描画を実行する(ステップA3)。
ここで、変数Lが0であるかを判定し(ステップA4)、0であれば特定領域を6回描画したとし、表示領域51の全領域(コモンラインCD0〜CD799)を再描画する(ステップA6,A7)。
GPU21は、再び変数Lを5にセットし(ステップA7)、スクロールが終了されたか判定をする(ステップA8)。スクロールが終了していなければ、ステップA2に戻り前述と同様の処理を実行する。
一方、変数Lが0でないと判定とされた場合(ステップA4、No)、特定領域に対する描画を6回実行していないものとして、変数Lをデクリメントした後に(ステップA5)、スクロール終了の判定を行う。スクロールが終了していなければ(ステップA8、No)、描画後のカーソル55の位置を再び変数Yにセットする(ステップA2)。以下、同様の処理を実行する。
例えば、上スクロールを行っている場合、カーソル55の位置はコモンラインCD0側(表示領域51の上側)に移動していく。カーソル55が表示領域51から上方に消えた時には変数Yの値を0とする。この場合、特定領域の描画をコモンラインCD0〜CD30までとする。
同様にして、下スクロールを行っている場合、カーソル55が表示領域51から下方に消えた時には変数Yの値を479とし、特定領域の描画をコモンラインCD449〜CD479までとする。
このようにして、第1実施形態の表示装置では、利用者が注目している特定領域の描画周期を速く(フレームレートを高く)することが可能となり、電気泳動方式や電子粉流体方式などの描画速度が充分でないデバイスであっても、表示画面中の特定の領域、例えば文章作成中の本文の入力箇所(カーソル位置)の近傍、言い換えると操作者が注目している領域では自然な描画が行われ、使用者が違和感無く閲覧可能となる。また、表示ユニット12における表示デバイス30に対する駆動は、単純マトリクス駆動にて制御を可能としているため安価に構成することができる。
なお、視覚上、特定領域(カーソル近傍)の描画書き換え速度は、8回/秒以上にすることが望ましい。また、特定領域を再描画するフレームでは、フレームの最初のフィールドで全領域を白描画してもよいし、特定領域のみを、つまり再描画する部分のみを白描画してもよい。本例ではモノクロ表示する表示装置を対象としているが、カラー表示装置でも同様に制御が可能である。
(第2実施形態)
第1の実施例では、フレームレートを高くする特定領域をカーソル位置を基準として設定しているが、第2実施形態ではカーソル表示がない閲覧を主とするアプリケーションなどで画面表示する場合に対応できるようにする。
以下、図5に示すフローチャートを参照しながら第2実施形態の動作について説明する。
例えば入力デバイス26(キーボード)のスクロールキーが操作されることにより、表示画面のスクロールの実行指示がIOインタフェース25を通じてCPU20に入力されたものとする。これに応じて、CPU20は、GPU21に対して画面スクロールの実行を指示する。
GPU21は、スクロールが開始されると、CPU20によりLレジスタ21aに対して設定された値を変数Lにセットする(ステップB1)。第2実施形態では、特定領域と全体領域の描画周期比率を制御する変数Lとして5がセットされるものとする。すなわち、特定領域と全体領域の書き換えを6:1の割合で実行することを示している(図5に示すフローチャートの処理では(変数L+1)回となる)。
ここで、GPU21は、スクロール方向が上方向(上スクロール)である場合(ステップB2、上方向)、表示領域51の上端近傍の所定範囲、例えばコモンラインCD0〜CD50に対応する範囲を特定領域として描画する(ステップB3)。なお、特定領域に該当するコモンライン数を示す値(ここでは「51」)は、予め範囲レジスタ21cに設定されているものとする。
一方、スクロール方向が下方向(下スクロール)である場合(ステップB2、下方向)、表示領域51の下端近傍の所定範囲、例えばコモンラインCD429〜CD479に対応する範囲を特定領域として描画する(ステップB4)。
なお、上スクロールと下スクロールの場合において、特定領域に該当するコモンライン数を同数としているが異なっていても良い。
以下、ステップB5〜B9の処理については、第1実施形態において説明したステップA4〜A8と同様の処理を実行するものとして説明を省略する。第2実施形態では、変数Lに5を初期値としてセットしているので、表示領域51の全体の書き換えを1回実行する間に、特定領域に対する再描画を6回実行する。
第2実施形態では、第1実施形態と同様にして特定領域のフレームレートを高くすることができるので、表示領域51中の注目している特定領域の再描画を速くすることが可能となり、電子ペーパーのような描画速度が充分でない表示装置においても、違和感のない自然なスクロール描画が可能となる。通常、上スクロールをしている場合には、表示領域51の上部が注目され、下スクロールをしている場合には下部が注目されている。
第2実施形態の表示装置では、カーソル等のユーザ操作により位置が指定されるポインタに頼ることなく実現しているため、カーソル表示をしない、例えば閲覧を主とするアプリケーションに有用である。
なお、前述した説明では、上スクロールであれば表示領域51の上端部、下スクロールであれば表示領域51の下端部から所定範囲(51コモンライン分)を特定領域としているが、例えば端部を含まない所定範囲を特定領域として、他の領域よりも速い周期で再描画するようにしても良い。この場合、特定領域は、表示領域51に固定的に設定しても良いし、上下のスクロール方向やスクロール速度などに応じて位置を変動させても良い。
また、前述した説明では、上下方向のスクロールについて説明しているが、左右方向のスクロールを行う場合に適用することも可能である。この場合、前述したコモンドライバ31によるコモンラインに対する駆動制御と同様にして、セグメントドライバ32がセグメントラインに対する駆動制御を行うことにより実現することができる。
(第3実施形態)
第1実施形態では、スクロールする場合に表示領域51に表示されたカーソル55も移動するものとして説明しているが、第3実施形態ではスクロールにおいても表示位置が移動しないマウスポインタ57(マーカ)を基準として特定領域を設定する。
図6には、第3実施形態を説明するための表示装置50において表示された画面例を示している。
表示領域51には、文書作成用の画面が表示されており、マウスポインタ57もユーザ操作により指示された位置において表示されている。マウスポインタ57は、画面のスクロールにおいても移動することはない。
以下、図7に示すフローチャートを参照しながら第3実施形態の動作について説明する。なお、第3実施形態は、第1実施形態において説明した図4に示すフローチャートとほぼ同様の処理を実行するので異なる部分について説明する。
第1実施形態では、ステップA2において変数Yとしてカーソルの位置(コモンライン位置)を示す値をセットしているが、第3実施形態では、ステップC2において、マウスポインタ57の位置(コモンライン位置)を示す値を変数Lにセットする。マウスポインタ57の位置は、表示領域51のスクロールに伴う描画(ステップC3,C6)を実行しても、表示領域51における位置が変更されないため常に同じ値がセットされることになる。
従って、表示領域51においてマウスポインタ57を任意に移動させることにより、このマウスポインタ57の位置を基準とした特定領域についてフレームレートを上げて閲覧性を良くすることができる。また、第1及び第2実施形態と同様にして、画面をスクロールする場合においても、マウスポインタ57の位置を基準とした任意に指定される特定領域の閲覧性を良くすることができる。例えば、表示領域51の上部において閲覧性を良くしたい場合には、上部にマウスポインタ57を移動させておけば、上スクロールあるいは下スクロールに関係無く、マウスポインタ57の位置によって設定される特定領域の閲覧性を良くすることができる。
このようにして、第3実施形態の表示装置では、表示領域51においてマウスポインタ57を用いて任意に指定される特定領域のフレームレートを高くすることが可能となり、その特定領域を操作者が簡単に指定できるようなっている。
なお、前述した説明では、表示領域51におけるマウスポインタ57の位置を基準として特定領域を設定しているが、例えば入力デバイス26(マウス等のポインティングデバイス)の操作によってマウスポインタ57により、表示領域51中の特定領域とする領域の位置、例えば矩形を示す対角の2点を指定することで、この任意に指定された領域を特定領域として設定できるようにしても良い。
この場合、例えば、CPU20は、入力デバイス26(マウス)の操作によって特定領域の位置の指定を入力し、この入力された位置をFROM24またはDRAM23に記憶しておく。そして、GPU21のレジスタに特定領域の範囲を示す値を書き込むことにより、任意に指定された特定領域についてフレームレートを高くするように駆動させる。
これにより操作者が所望する任意の領域について閲覧性を良くすることが可能となる。
(第4実施形態)
第4実施形態では、表示領域51に表示される情報を判別し、この判別された情報に基づいて特定領域を設定してフレームレートを高くして描画するように構成する。以下の説明では、表示領域51に表示される情報の情報量が多い範囲を判別して特定領域として設定する場合について説明する。
図8には、第4実施形態を説明するための表示装置50において表示された画面例を示している。
表示領域51には、文書作成用の画面が表示されている。図8中右側には、後述するコモンライン毎に算出される情報量を示すヒストグラム60を示している。
以下、図9に示すフローチャートを参照しながら第4実施形態の動作について説明する。
GPU21は、CPU20によりLレジスタ21aに対して設定された値を変数Lにセットする(ステップD1)。第4実施形態では、特定領域と全体領域の描画周期比率を制御する変数Lとして2がセットされるものとする。すなわち、特定領域と全体領域の書き換えを2:1の割合で実行することを示している(図5に示すフローチャートの処理では(変数L+1)回となる)。
次に、GPU21は、特定領域とする領域を判別するための領域抽出処理を実行する(ステップD2)。特徴抽出処理の詳細については後述する(ステップD2)。
なお、第4実施形態の以降の処理については、第1実施形態において説明した図4に示すフローチャートのステップA3以降とほぼ同様の処理を実行するので異なる部分について説明する。
第4実施形態では、ステップD1において変数Lとして2がセットしているため、特定領域と全体領域の描画周期比率は3:1となる。再描画の必要性が無くなるまで3:1の比率にて再描画、すなわち表示領域51の全体の書き換えを1回実行する間に、特定領域に対する再描画を3回実行する(ステップD4〜D8)。
領域抽出処理では、例えば情報量が多い領域を自動検出して、この領域を特定領域として設定する。特定領域として設定された範囲については、他の領域よりもフレームレートを高くして描画を行うことで閲覧性を良好にする。例えば、文章作成用の画面(文字)が表示されている場合、文字数が多い範囲が特定領域として設定される。画面スクロールする場合、特定領域として設定された範囲に表示された文字が閲覧性が良好な状態で追従移動していく。
次に、ステップD2における領域抽出処理について、図10に示すフローチャートを参照しながら説明する。
ここでは、表示領域51に表示された情報の情報量が多い範囲を特定領域として設定する場合について説明する。情報量の多さは、空間周波数の高さにより判別する。空間周波数の高さの判別方法は、隣接するドットの変移量の総和ヒストグラムをコモンライン毎に計算することによって行う。
表示ユニット12の表示デバイス30は、縦(コモンライン数)480、横(セグメントライン数)800にて構成されている。GPU21は、表示用DRAM22に記憶された画像データをもとに、表示デバイス30のコモンライン上において描画する隣接ドットの差分値を足し込んでいく。
まず、GPU21は、コモンラインの位置を示す変数値nを初期化して0とする(ステップE1)。また、コモンライン上のピクセルの隣接差分の総和を示すS[n]を初期化する。
GPU21は、注目するコモンライン(nライン)について、セグメントライン数分(0〜799回)、順次、ピクセル値P(x,y)を取得して隣接差分をとってS[n]に加算していく(ステップE2)。本実施形態では、表示される画像を2値のモノクロとし、白ピクセルは1、黒ピクセルは0として差分を取る。なお、xはセグメントラインの位置であり、yはコモンラインの位置を示す。セグメントライン数分の隣接差分を加算することで、S[n]には、注目しているコモンラインのnライン上の隣接差分の総和が代入される。
次に、GPU21は、nの値をインクリメントして、注目するコモンラインを次のライン変更する(ステップE3)。
以上の処理をnの値が480となるまで、すなわち全てのコモンラインのそれぞれについて実行する(ステップE4)。
図8の右側に示すヒストグラム60は、各コモンラインについて算出されたS[n]のヒストグラム値61を示している。
全てのコモンラインについて、それぞれの隣接差分の総和を求めると、GPU21は、特定領域とするウィンドウサイズでの隣接差分総和SW[n]の計算を実行する(ステップE5)。ここでは、ウィンドウサイズを注目するコモンラインの上下30ラインを含む範囲とすると、61ライン分の範囲が1つのウィンドウ(特定領域)となる。ここでnは中心となるコモンラインを示し、その上下30ラインの隣接差分の総和S[n]を足し込む。この計算を、コモンライン分、つまり0〜479までnを変えてSW[n]を求める。
次に、各コモンラインを中心としたウィンドウ毎に算出したSW[n]から最大値(MAX(SW[n]))を求める(ステップE6)。この結果、例えば図8に示す表示例では、n=400を中心としたウィンドウ、すなわちコモンラインCD400の上下30ライン分のCD370〜CD430までの範囲が抽出されて特定領域として設定される。
こうして、領域抽出処理によって情報量の多い範囲を抽出して特定領域を設定することが可能となる。
なお、コモンライン毎の情報量が多い領域を特定領域としているが、領域内の文字数により情報量の多さを判定するようにしても良い。
また、前述した説明では情報量が多い領域を特定領域としているが、表示画面に表示される他の情報を判別して特定領域を設定するようにしても良い。例えば、表示対象となっている情報に予め付加されている情報重要度情報を判別し、この情報重要度判別情報が付加された情報が表示される位置(範囲)を特定領域として設定する。
また、表示対象となっている情報の内容、例えばテキストであるか、あるいは画像であるかなどを判別し、この情報内容に応じて特定領域を判別する。例えば、画像が表示される領域についてはフレームレートをテキストのみが表示される領域よりも高くすることで、スクロールなどがされる場合でも画像に対する視認性(閲覧性)が良くなるようにする。
前述した情報判別は例えばCPU20によって実行し、CPU20からGPU21に対して該当する範囲(位置)を指示することにより、表示ユニット12に対して判別された情報に応じて設定された特定領域を
このようにして、表示内容の重要度を判別して特定領域を設定することにより、重要な情報については閲覧性を向上させて表示させることが可能となる。