(57)【特許請求の範囲】
【請求項１】
ＣＰＵによって実行されるプログラムがロードされるプログラム領域、および表示装置が表示する画像の画像データを記憶する画像メモリ領域を含むメインメモリと、
前記ＣＰＵと共通するバスを介して、前記画像メモリ領域に更新された前記画像データを書き込むとともに読み出し、可変のフレームレートで定まる間隔で読み出した前記画像データを前記表示装置に与える表示コントローラと、
メモリデバイスに記憶されている第１データを取得するデータ取得部と、
受け付けた操作に応じて前記メモリデバイスに記憶されている第２データを書き替える操作処理部と、
前記データ取得部が前記第１データの取得を要求してから前記第１データの取得を完了した後に前記画像データが更新される必要があると判定されるまでの時間を計測し、前記操作処理部が操作を受け付けてから前記メモリデバイスに前記第２データの書き替えを完了した後に前記画像データが更新される必要があると判定されるまでの時間を計測する時間計測部と、
前記時間計測部によって計測された計測時間に基づいて前記フレームレートを決定するフレームレート決定部とを備えていることを特徴とする表示制御装置。
【請求項２】
前記フレームレート決定部は、単一の前記計測時間に基づいて前記フレームレートを決定することを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記フレームレート決定部は、複数の前記計測時間の平均値に基づいて前記フレームレートを決定することを特徴とする請求項１に記載の表示制御装置。
【請求項４】
前記計測時間が所定の基準時間未満であるか否かを判定する時間判定部をさらに備え、
前記フレームレート決定部は、前記計測時間が所定の基準時間未満であるときに、単一の前記計測時間に基づいて前記フレームレートを決定する一方、前記計測時間が所定の基準時間未満でないときに、複数の前記計測時間の平均値に基づいて前記フレームレートを決定することを特徴とする請求項１に記載の表示制御装置。
【請求項５】
前記時間計測部は、前記表示コントローラが前記画像メモリ領域に連続して行う２回の前記画像データの書き込み処理の間の時間間隔を計測することを特徴とする請求項１から４のいずれか１項に記載の表示制御装置。
【請求項６】
請求項１から５のいずれか１項に記載の表示制御装置と、
前記表示制御装置によって制御される表示装置とを備えていることを特徴とする表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示コントローラのフレームレートを制御する表示制御装置に関する。
【背景技術】
【０００２】
ＬＣＤ（Liquid Crystal Display）などの表示装置に画像を表示するには、表示コントローラが、画像データをＶＲＡＭ（Video Random Access Memory）に書き込み、予め設定されたフレームレートで画像データを読み出して表示装置に与える。また、メモリインターフェースの動作速度が遅かった時期には、画像の高速描画に対応するため、ＶＲＡＭはメインメモリと個別に設けられていた。しかしながら、メモリインターフェースの動作が高速化したことに伴い、メインメモリの一部の領域にＶＲＡＭを設けるＵＭＡ（Unified Memory Architecture）が普及している。
【０００３】
このようなＶＲＡＭを含むメインメモリを備えた表示システムでは、ＣＰＵ（Central Processing Unit）がプログラムを実行するためにメインメモリにアクセスするメインメモリアクセスと、表示コントローラが画像データの読み書きを実行するためにＶＲＡＭにアクセスするＶＲＡＭアクセスとで同じバスを共用しているため、両アクセスが競合することがある。両アクセスが競合する場合、表示装置の表示動作のタイミングに合わせるために、ＶＲＡＭアクセスが優先されるので、メインメモリアクセスが制限されてしまい、表示システムのパフォーマンスが低下するという不都合が生じる。
【０００４】
表示コントローラは、ＶＲＡＭアクセスの周期（フレームレート）が予め設定されており、この周期に基づいて定期的にＶＲＡＭにアクセスする。このため、表示コントローラは、画像データが更新されていないにも関わらずＶＲＡＭにアクセスする。このような不要なＶＲＡＭアクセスを抑えるためには、表示コントローラのフレームレートを低減させることが考えられる。
【０００５】
例えば、特許文献１には、高速な描画更新の必要がない表示内容に対しては表示更新のフレームレートを落として、ＬＣＤコントローラ（表示コントローラ）によるメモリへのアクセス頻度を低減するシステムが開示されている。当該システムは、２つのＬＣＤと、これらのＬＣＤに対して個別に設けられた２つのＬＣＤコントローラとを備え、相対的に動きの少ない内容を表示するＬＣＤに対応するＬＣＤコントローラのフレームレートを他のＬＣＤコントローラのフレームレートよりも低く設定している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１９８９５２号公報（２００９年９月３日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示されたシステムでは、一方のＬＣＤコントローラのフレームレートを固定的に低い値に設定しているが、より効率的にフレームレートを低下させるには、表示内容に応じて動的にフレームレートを変更することが好ましい。動的にフレームレートを変更するには、例えば、画像データを連続するフレーム間で比較して、画像データに相違がある場合の頻度を測定し、その測定結果に基づいてフレームレートを決定して変更する。
【０００８】
このような処理をハードウェアで実現する場合、連続する画像データを比較する比較器が必要であるため、システムの構成の複雑化およびコストアップを招く。また、上記の処理をソフトウェアで実現する場合、画像データ間で変化が生じていないにも関わらず比較処理を常に行わなければならないため、システムのパフォーマンスが低下する。
【０００９】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、表示コントローラによるメモリアクセス頻度の最適化をシステムのコストアップおよびパフォーマンスの低下を招くことなく行うことにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の表示制御装置は、表示装置が表示する画像の画像データを記憶する画像メモリ領域を含むメモリと、前記画像メモリ領域に更新された前記画像データを書き込むとともに読み出し、可変のフレームレートで定まる間隔で読み出した前記画像データを前記表示装置に与える表示コントローラと、前記画像データが前回更新されてから次に更新されるまでの時間を計測する時間計測部と、前記時間計測部によって計測された計測時間に基づいて前記フレームレートを決定するフレームレート決定部とを備えていることを特徴としている。
【００１１】
上記の構成では、表示コントローラが、そのフレームレートに基づいて画像メモリ領域に対してアクセスするとき、表示コントローラのフレームレートを画像データの更新に要する時間に応じて低下させることができる。フレームレートが低下することで、メモリへの全アクセスに対して、表示コントローラによる画像メモリ領域へのアクセスの比率を低下させ、ＣＰＵによるメモリへのアクセスの比率を高めることができる。それゆえ、表示制御装置を含むシステムのパフォーマンスを向上させることができる。
【００１２】
前記表示制御装置において、前記フレームレート決定部は、単一の前記計測時間に基づいて前記フレームレートを決定することが好ましい（第１モード）。
【００１３】
画像の更新間隔が短いために直ぐにフレームレートを変更しないと、画像データが更新されているのに、実際に表示される画像が更新されないという不都合が生じる。この場合は、単一のタイマ値に基づいてフレームレートを決定する。これにより、素早くフレームレートを変更するので、上記のような不都合を回避することができる。
【００１４】
前記表示制御装置において、前記フレームレート決定部は、複数の前記計測時間の平均値に基づいて前記フレームレートを決定することが好ましい（第２モード）。
【００１５】
これにより、計測時間のばらつきが抑えられ、より精度高くフレームレートを変更することができる。
【００１６】
前記表示制御装置は、前記計測時間が所定の基準時間未満であるか否かを判定する時間判定部をさらに備え、前記フレームレート決定部は、前記計測時間が所定の基準時間未満であるときに、単一の前記計測時間に基づいて前記フレームレートを決定する一方、前記計測時間が所定の基準時間未満でないないときに、複数の前記計測時間の平均値に基づいて前記フレームレートを決定することが好ましい。
【００１７】
上記の構成では、フレームレート決定部が、計測時間に応じて、フレームレートの決定を上述の第１モードおよび第２モードから１つを選択して行う。これにより、フレームレートの変化に応じて適切にフレームレートを決定することができる。
【００１８】
前記表示制御装置において、前記時間計測部は、前記表示コントローラが前記画像メモリ領域に連続して行う２回の前記画像データの書き込み処理の間の時間間隔を計測することが好ましい。
【００１９】
上記の構成では、フレームレート決定部が、実際に更新された画像データが画像メモリ領域に書き込まれる時間間隔に基づいてフレームレートを決定する。これにより、画像の更新のタイミングに応じてフレームレートを決定することができる。
【００２０】
前記表示制御装置において、前記時間計測部は、所定の事象の開始から終了までの時間を計測し、フレームレート決定部は、前記画像データの更新を伴う前記事象について計測された前記計測時間に基づいて前記フレームレートを決定することが好ましい。
【００２１】
上記の構成では、事象に伴って画像が更新される場合、フレームレート決定部が、その事象の開始から終了までの計測時間に基づいてフレームレートを決定する。これにより、画像の更新のタイミングに応じてフレームレートを決定することができる。
【００２２】
本発明の表示システムは、上記のいずれかの表示制御装置と、前記表示制御装置によって制御される表示装置とを備えていることを特徴としている。
【００２３】
上記の表示システムでは、前述の表示制御装置を含むことにより、パフォーマンスを向上させることができる。
【発明の効果】
【００２４】
本発明は、表示コントローラによるメモリアクセス頻度の最適化をシステムのコストアップおよびパフォーマンスの低下を招くことなく行うことができるという効果を奏する。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態１および２に係るＨＭＩシステムの構成を示すブロック図である。
【図２】上記ＨＭＩシステムにおけるメインメモリのメモリマップを示す図である。
【図３】実施形態１に係るＨＭＩシステムの構成を制御部を中心として示すブロック図である。
【図４】実施形態１に係るＨＭＩシステムの動作の処理手順を示すフローチャートである。
【図５】実施形態１に係るＨＭＩシステムの動作におけるＶＲＡＭ書き込み処理の手順を示すフローチャートである。
【図６】実施形態１に係るＨＭＩシステムの動作におけるフレームレート変更処理の手順を示すフローチャートである。
【図７】本発明の実施形態２に係るＨＭＩシステムの構成を制御部を中心として示すブロック図である。
【図８】実施形態２に係るＨＭＩシステムの動作の処理手順を示すフローチャートである。
【図９】実施形態２に係るＨＭＩシステムの動作におけるＶＲＡＭ書き込み処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２６】
〔実施形態１〕
本発明の一実施形態について、図１〜図６を参照して説明する。
【００２７】
図１は、本実施形態に係るＨＭＩ（Human Machine Interface）システム１００の概要を示す図である。図２は、ＨＭＩシステム１００におけるメインメモリ２のメモリマップを示す図である。図３は、ＨＭＩシステム１００の構成を制御部２１を中心として示すブロック図である。
【００２８】
図１に示すＨＭＩシステム１００（表示システム）は、プログラマブル表示器のようにユーザと装置（例えば外部機器）との間を仲介するインターフェース機器であり、操作用の画像を表示装置に表示するとともに、表示装置の表示面からの入力操作を可能にする。ＨＭＩシステム１００は、ＨＭＩ機能を実現するために、ＣＰＵ（Central Processing Unit）１と、メインメモリ２と、ＬＣＤコントローラ３と、ユーザメモリ４と、記憶装置５と、通信部６と、タッチパネル７と、タイマ８と、バス９と、スケーラ１０と、ＬＣＤ（Liquid Crystal Display）モジュール１１とを備えている。
【００２９】
ＣＰＵ１は、ＨＭＩプログラムを実行することにより、ＨＭＩシステム１００のＨＭＩ機能を実現する。ＣＰＵ１は、次に述べるメインメモリ２のプログラム領域２ａに対して図１に破線にて示すようにアクセス（メインメモリアクセス）する。これにより、ＣＰＵ１は、プログラム領域２ａにロードされたプログラムを読み出して実行する。
【００３０】
メインメモリ２（メモリ）は、ＲＡＭ（Random Access Memory）によって構成されており、図２に示すように、プログラム領域２ａと、ＶＲＡＭ（Video Random Access Memory）領域２ｂと、タイマ値保存領域２ｃとを有している。プログラム領域２ａは、上記のＨＭＩプログラムを始めとして、ＨＭＩシステムを動作させる上で必要な各種のプログラムを保存する領域である。ＶＲＡＭ領域２ｂ（画像メモリ領域）は、ＬＣＤモジュール１１が画像を表示するための画像データを保存する領域である。タイマ値保存領域２ｃは、タイマ８によって計時された複数の時間をタイマ値Ｔ１，Ｔ２，Ｔ３，…，Ｔｎとして保存する領域である。
【００３１】
ＬＣＤコントローラ３（表示コントローラ）は、図１に破線にて示すＶＲＡＭアクセスを行うことにより、更新された画像データをＶＲＡＭ領域２ｂに書き込むとともに、ＶＲＡＭ領域２ｂから所定のフレームレートで定まる間隔で画像データを読み出して出力する。ＬＣＤコントローラ３は、フレームレートを任意に設定することが可能であり、可変のフレームレートを設定するためのレジスタを有している。また、ＬＣＤコントローラ３は、画像データに対する各種の処理（拡大縮小、画質調整など）を行う。
【００３２】
ユーザメモリ４は、ユーザが用意した各種のデータを記憶するために設けられたメモリである。ユーザメモリ４に記憶されるデータとしては、ＨＭＩ画面の画像データ（ＨＭＩ画像データ）が主なデータとして挙げられる。
【００３３】
ＨＭＩ画像データは、ＨＭＩシステム１００に表示される１フレーム分の画像データであって、画像作成ソフトウェアによって作成される。ＨＭＩ画像データは、具体的には、ベース画像上に、部品画像が配置されたり、図形が描画されたり、テキストが記載されたりして構成されている。
【００３４】
部品画像としては、スイッチ（オン・オフスイッチ、切替スイッチ、押しボタンスイッチなど）、ランプ、テンキー、各種表示部品（例えば、数値表示部品、メータ表示部品、グラフ表示部品、アラーム表示部品など）などが画像作成ソフトウェアに用意されている。部品画像には、その機能を実現するための処理内容が処理規定情報として設定されている。例えば、スイッチの部品画像には、タッチ操作されると、所望のアドレスで指定されるビットの値を“０”と“１”との間で書き替えるという処理内容を規定した処理規定情報が、画像作成ソフトウェアによって予め設定されている。
【００３５】
記憶装置５は、上述のＨＭＩプログラムなどのＨＭＩシステム１００の動作に不可欠なプログラムを記憶するために設けられている。記憶装置５は、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）などで構成される。
【００３６】
ＨＭＩプログラムは、記憶装置５に記憶される以外に、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などの一時的でない有形の記録媒体に記憶されてもよい。また、ＨＭＩプログラムは、ＨＭＩプログラムを伝送可能な任意の伝送媒体（通信ネットワーク、放送波等）を介してＨＭＩシステム１００または後述する実施形態２のＨＭＩシステム２００（図７参照）に供給されてもよい。なお、本発明は、ＨＭＩプログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００３７】
通信部６は、外部機器１２との通信を行う部分である。通信部６は、外部機器１２がシリアル通信を行う機種である場合にシリアル通信制御を行う一方、外部機器１２がネットワーク通信を行う機種である場合にネットワーク通信を行うように構成されている。
【００３８】
外部機器１２は、ＨＭＩシステム１００と通信可能な機器であり、ＨＭＩシステム１００とデータのやり取りを行う。外部機器１２としては、ＰＬＣ（Programmable Logic Controller）、インバータ、温度調節器などの制御機器が挙げられる。
【００３９】
タッチパネル７は、ＬＣＤモジュール１１の表示面上でタッチ入力を行うために設けられている入力装置である。
【００４０】
タイマ８（時間計測部）は、ＨＭＩシステム１００における時間管理を行うための計時器である。また、タイマ８は、画像データが前回更新されてから次に更新されるまでの時間を計測する。タイマ８に代えて、ソフトウェアで動作するタイマを用いてもよいが、当該タイマを動作させる処理を行う負担がＣＰＵ１にかかるため、ハードウェアで構成されるタイマ８を用いることが望ましい。
【００４１】
バス９は、ＣＰＵ１、メインメモリ２、ＬＣＤコントローラ３、ユーザメモリ４、記憶装置５、通信部６、タッチパネル７およびタイマ８を相互に接続しており、データバス、アドレスバスおよび制御バスを含んでいる。
【００４２】
スケーラ１０は、ＬＣＤコントローラ３のフレームレートとＬＣＤモジュール１１のリフレッシュレートとが異なる場合に、画像データの送信の時間軸を伸縮するスケーリング処理を行う。スケーラ１０は、具体的には、ＬＣＤコントローラ３からＬＣＤコントローラ３のフレームレートで送出される画像データを、フレームレートを変換して出力する。このため、スケーラ１０は、ＬＣＤコントローラ３から送出された最新の画像データを記憶しており、当該画像データをリフレッシュレートと同じフレームレートで出力する。
【００４３】
ＬＣＤモジュール１１は、図示しない、タイミングコントローラ、ドライバ、液晶パネルなどを含んでいる表示装置である。ＬＣＤモジュール１１は、タイミングコントローラで生成されたタイミングおよびスケーラ１０から出力された画像データに基づいて、ドライバがＬＣＤパネルの各画素のオン・オフを切り替えることにより、画像を表示する。
【００４４】
続いて、図３に示す制御部２１を中心としたＨＭＩシステム１００の構成について説明する。
【００４５】
ＨＭＩシステム１００は制御部２１を備えている。制御部２１は、ＨＭＩシステム１００の各種の動作を制御する部分であり、データ取得部２２と、操作処理部２３と、画像更新部２４と、タイマ値書込部２５と、フレームレート変更処理部２６とを有している。制御部２１は、ＣＰＵ１が、記憶装置５からメインメモリ２のプログラム領域２ａにロードされた前述のＨＭＩプログラムを実行することにより実現される機能である。
【００４６】
データ取得部２２は、ＨＭＩシステム１００の内部で発生したデータを取得したり、通信部６を介して外部機器１２から送信されるデータを取得したりする。データ取得部２２は、ＨＭＩシステム１００の内部で発生したデータを取得する場合、ＨＭＩシステム１００においてユーザに割り当てられた図示しないメモリ領域（内部メモリデバイス）に記憶されているデータを読み出して画像更新部２４に与える。データ取得部２２は、外部機器１２からデータを取得する場合、外部機器１２のメモリ（外部メモリデバイス）に記憶されているデータを読み出して画像更新部２４に与える。データ取得部２２は、上記のようなデータ取得を所定のイベント（事象）毎に行う。イベントは、所定時間間隔であったり、操作処理部２３による操作の受付であったりする。
【００４７】
操作処理部２３は、タッチパネル７への操作に応じて、外部メモリデバイスにおけるデータを更新するように、通信部６を介して外部機器１２と通信することによって外部メモリデバイスのデータを書き替える。また、操作処理部２３は、タッチパネル７への操作に応じて、内部メモリデバイスにおけるデータを更新するように、内部メモリデバイスのデータを書き替える。また、操作処理部２３は、受け付けた操作の内容を画像更新部２４に与える。あるいは、操作処理部２３は、タッチパネル７への操作がデータの変更を伴わないものである場合、操作の内容を画像更新部２４に通知する。
【００４８】
画像更新部２４は、データ取得部２２からのデータおよび操作処理部２３からの操作内容を、メインメモリ２のＶＲＡＭ領域２ｂに展開されている画像データに反映させるようにＬＣＤコントローラ３を介して書き替えることで、画像の内容を更新する。具体的には、画像更新部２４は、画像における部品画像の表示状態を、受け取った上記のデータおよび操作内容（外部メモリデバイスまたは内部メモリデバイスにおいて更新されたデータ）に応じて、部品画像に規定されている処理規定情報にしたがって特定する。
【００４９】
タイマ値書込部２５は、タイマ８が計時した時間（タイマ値Ｔ）を取得してメインメモリ２のタイマ値保存領域２ｃに書き込む。
【００５０】
フレームレート変更処理部２６は、画像更新部２４によって画像が更新されたときに、タイマ値Ｔに基づいてフレームレートを変更する。フレームレート変更処理部２６は、フレームレートを変更するために、変更モード選択部２６ａと、フレームレート決定部２６ｂと、フレームレート設定部２６ｃとを有している。
【００５１】
変更モード選択部２６ａ（時間判定部）は、単一のタイマ値Ｔに基づいてフレームレートを変更する第１モード、および複数のタイマ値Ｔの平均値に基づいてフレームレートを変更する第２モードのうち、いずれでフレームレートを変更するかを選択する。具体的には、変更モード選択部２６ａは、メインメモリ２のタイマ値保存領域２ｃから読み出したタイマ値Ｔが所定の基準時間ｔ未満である場合に第１モードを選択し、当該タイマ値Ｔが基準時間ｔ未満でない場合に第２モードを選択する。
【００５２】
ここで、基準時間ｔは、任意の時間であり、ＨＭＩシステム１００の仕様などに応じた値に設定される。
【００５３】
フレームレート決定部２６ｂは、第１モードまたは第２モードに応じた算出方法でフレームレートを算出して、新たなフレームレートを決定する。
【００５４】
フレームレート設定部２６ｃは、決定された新たなフレームレートをＬＣＤコントローラ３に設定する。
【００５５】
ところで、ＨＭＩシステム１００において、ＣＰＵ１（制御部２１）、メインメモリ２、ＬＣＤコントローラ３およびタイマ８を含む部分は、フレームレートを制御する表示制御装置を構成している。当該部分は、マイクロコンピュータとして構成されて、ＨＭＩシステム１００に実装されてもよい。
【００５６】
続いて、上記のように構成されるＨＭＩシステム１００によるフレームレートの変更動作について、図４〜図６に示すフローチャートを参照して説明する。図４は、ＨＭＩシステム１００の動作の処理手順を示すフローチャートである。図５は、ＨＭＩシステム１００の動作におけるＶＲＡＭ書き込み処理の手順を示すフローチャートである。図６は、ＨＭＩシステム１００の動作におけるフレームレート変更処理の手順を示すフローチャートである。
【００５７】
図４に示すように、まず、ＨＭＩシステム１００が起動すると、画像更新部２４は、前述のイベントの実行に伴って画像データを更新する必要があるか否かを判定する（ステップＳ１）。画像更新部２４は、ステップＳ１において、画像データを更新する必要があると判定すると（ＹＥＳ）、更新する画像データを作成して、当該画像データをＶＲＡＭ領域２ｂに書き込む処理を行う（ステップＳ２）。画像更新部２４は、ステップＳ１において、画像データを更新する必要がないと判定すると（ＮＯ）、画像データをＶＲＡＭ領域２ｂに書き込む処理を行わない。この場合は、処理がステップＳ１に戻る。
【００５８】
ステップＳ２の後、フレームレート変更処理部２６は、フレームレートを変更する処理を行う（ステップＳ３）。ステップＳ３の後、処理がステップＳ１に戻る。このように、ステップＳ１〜Ｓ３の処理がループして継続される。
【００５９】
ここで、ステップＳ２の画像データの書き込み処理について説明する。
【００６０】
図５に示すように、処理が開始すると、画像更新部２４がタイマ８を停止させることによって、タイマ８は計時を停止する（ステップＳ１１）。タイマ値書込部２５は、タイマ８からタイマ値Ｔを取得して（ステップＳ１２）、メインメモリ２のタイマ値保存領域２ｃに書き込み（ステップＳ１３）、タイマ８のタイマ値Ｔをクリアする（ステップＳ１４）。タイマ値保存領域２ｃには最大でｎ個のタイマ値Ｔが保存できるので、タイマ値書込部２５は、取得したタイマ値Ｔを１つずつタイマ値保存領域２ｃに書き込んでいく。
【００６１】
画像更新部２４は、タイマ値書込部２５からタイマ値Ｔをクリアしたという通知を受けると、データ取得部２２からのデータおよび操作処理部２３の操作内容を反映させるように画像データを更新して、ＬＣＤコントローラ３にＶＲＡＭ領域２ｂへ書き込ませる（ステップＳ１５）。そして、画像更新部２４がタイマ８を動作させることによって、タイマ８は計時を開始する（ステップＳ１６）。ステップＳ１６の後は、処理がメインルーチンに戻る。
【００６２】
画像更新部２４は、画像データの更新において、例えば、データ取得部２２によって取得されたデータが更新されている場合、画像更新部２４は、画像データにおけるデータ値の部分の値を書き替える。また、ボタンの部品画像がタッチ操作されて当該部品画像の表示色が変わった場合、画像更新部２４は、操作処理部２３の操作内容として、当該部品画像の変更後の表示色のデータに基づいて、画像データにおける当該部品画像の表示色を書き替える。また、画像更新部２４は、操作処理部２３が受けた操作が表示画像の切り替えの指示である場合、切り替えられる新たな画像を表示するために、ユーザメモリ４から当該画像の画像データを読み出して、当該画像データをＬＣＤコントローラ３に渡す。
【００６３】
さらに、ステップＳ３のフレームレートの変更処理について説明する。
【００６４】
図６に示すように、処理が開始すると、変更モード選択部２６ａは、メインメモリ２のタイマ値保存領域２ｃにステップＳ１３の処理で書き込まれた最大ｎ個のタイマ値Ｔから最新のタイマ値Ｔを読み出して（ステップＳ２１）、当該タイマ値Ｔが前述の基準時間ｔ未満であるか否かを判定する（ステップＳ２２）。変更モード選択部２６ａは、タイマ値Ｔが基準時間ｔ未満であると判定すると（ＹＥＳ）、第１モードを選択し、タイマ値Ｔが基準時間ｔ未満でない（タイマ値Ｔが基準時間ｔ以上である）であると判定すると（ＮＯ）、第２モードを選択する。
【００６５】
第１モードの場合、フレームレート決定部２６ｂは、ステップＳ２２の判定に用いられた単一のタイマ値Ｔをメインメモリ２のタイマ値保存領域２ｃから読み出して、当該タイマ値の逆数（１／Ｔ）をフレームレートとして算出する（ステップＳ２３）。また、第２モードの場合、タイマ値書込部２５は、タイマ値保存領域２ｃに書き込まれたタイマ値Ｔの個数Ｍ（Ｍ≦ｎ）がサンプル数ｋ以上であるか否かを判定する（ステップＳ２４）。
【００６６】
タイマ値書込部２５が、ステップＳ２４において、個数Ｍがサンプル数ｋ以上であると判定すると（ＹＥＳ）、フレームレート決定部２６ｂは、メインメモリ２のタイマ値保存領域２ｃからサンプル数ｋのタイマ値を読み出して、当該タイマ値の平均値の逆数をフレームレートとして算出する（ステップＳ２５）。また、タイマ値書込部２５は、ステップＳ２４において、個数Ｍがサンプル数ｋ以上でない（Ｍ＜ｋである）と判定すると（ＮＯ）、個数Ｍに１を加算する（ステップＳ２６）。この場合、処理が図４に示すメインルーチンに戻る。さらに、ステップＳ２３またはステップＳ２５の後、タイマ値書込部２５は、個数Ｍを０にリセットする（ステップＳ２７）。
【００６７】
フレームレート決定部２６ｂは、ステップＳ２３またはステップＳ２５の処理で算出されたフレームレートを新たなフレームレートとして決定する（ステップＳ２８）。そして、フレームレート設定部２６ｃは、決定されたフレームレートをＬＣＤコントローラ３に書き込んで設定する（ステップＳ２９）。この後、処理が図４に示すメインルーチンに戻る。
【００６８】
ＬＣＤコントローラ３は、以上のようにして新たなフレームレートが設定されると、そのフレームレートにしたがったタイミングで、更新された画像データを読み出すようにＶＲＡＭ領域２ｂに対してアクセスする。そして、ＬＣＤコントローラ３は、読み出した画像データを設定されたフレームレートで出力する。
【００６９】
スケーラ１０は、ＬＣＤコントローラ３からの画像データを最新の画像データとして記憶する。そして、スケーラ１０は、ＬＣＤコントローラ３のフレームレートがＬＣＤモジュール１１のリフレッシュレート（例えば６０ｆｐｓ）よりも低い場合、記憶した画像データを表示データとして、当該リフレッシュレートと同じフレームレートでＬＣＤモジュール１１に繰り返し与える。
【００７０】
このように、リフレッシュレートに一致するフレームレートで表示データが与えられることにより、ＬＣＤモジュール１１は、表示データに基づいて正常に画像を表示することができる。
【００７１】
なお、ＬＣＤモジュール１１の液晶パネルがセルフリフレッシュ型である場合、液晶パネルが定期的に表示データをリフレッシュするために、リフレッシュレートにしたがったタイミングで表示データを与えなくても、同じ画像が表示される。つまり、このようなＬＣＤモジュール１１は、表示データを一旦与えると、その表示データに基づいて表示画像を更新する。したがって、このようなＬＣＤモジュール１１を用いる場合は、スケーラ１０は必要ない。
【００７２】
また、液晶パネルがセルフリフレッシュ型でないＬＣＤモジュール１１である場合でも、スケーラ１０を省略してもよい。ただし、この場合、フレームレートが低下しすぎると、ＬＣＤモジュール１１に表示された画像がちらついて見える。このような不都合を回避するため、フレームレート決定部２６ｂは、算出したフレームレートが、ちらつきの生じない、かつ、ＬＣＤモジュール１１の許容周波数範囲における最低の周波数を、変更するフレームレートの下限値に決定する。
【００７３】
以上のように、本実施形態に係るＨＭＩシステム１００は、制御部２１を備えることにより、画像更新部２４による連続する２回の画像データの書き込み処理の間の計測時間（タイマ値Ｔ）に基づいて新たなフレームレートを決定している。これにより、ＬＣＤコントローラ３が、そのフレームレートに基づいてＶＲＡＭ領域２ｂに対してアクセスするとき、ＬＣＤコントローラ３のフレームレートを画像データの更新が行われる時間間隔に応じて低下させることができる。フレームレートが低下することで、メインメモリ２への全アクセスに対して、ＬＣＤコントローラ３によるＶＲＡＭアクセスの比率を低下させ、ＣＰＵ１によるメインメモリアクセスの比率を高めることができる。それゆえ、ＨＭＩシステム１００のパフォーマンスを向上させることができる。
【００７４】
しかも、ＨＭＩシステム１００は、フレームレートを低下させるために、従来技術のように画面データの変化の有無を判定しないので、連続する画面データを比較する必要がない。それゆえ、ハードウェアとしての比較器を設ける必要がないので、システムのコストアップが生じないだけでなく、ソフトウェアで比較処理を常に行う必要がないので、システムのパフォーマンスを低下させることもない。
【００７５】
また、ＨＭＩシステム１００は、タイマ値Ｔに応じて、フレームレート変更処理を第１モードおよび第２モードから１つを選択して行う。これにより、フレームレートの変化に応じて適切にフレームレートを決定することができる。例えば、タイマ値Ｔが長くなる場合（フレームレートが低下する場合）、直ぐにフレームレートを変更しなくてもＬＣＤモジュール１１の表示に影響はないので、第２モードにより複数のタイマ値の平均値に基づいてフレームレートを決定する。これにより、タイマ値のばらつきが抑えられ、より精度高くフレームレートを変更することができる。これに対し、タイマ値Ｔが短くなる場合（フレームレートが上昇する場合）、直ぐにフレームレートを変更しないと、画像データが更新されているのに、実際に表示される画像が更新されないという不都合が生じる。したがって、この場合は、第１モードにより単一のタイマ値に基づいてフレームレートを決定する。これにより、素早くフレームレートを変更するので、タイマ値のばらつきの影響は受けるものの、上記のような不都合を回避することができる。
【００７６】
なお、本実施形態では、フレームレート変更処理部２６が、第１モードまたは第２モードによってフレームレートを決定するが、第１モードおよび第２モードのいずれか一方のみでフレームレートを決定してもよい。これは、後述する実施形態２でも同様である。
【００７７】
〔実施形態２〕
本発明の他の実施形態について、図１、図７〜図９を参照して説明する。なお、本実施形態において、前述の実施形態１における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【００７８】
前述の実施形態１のＨＭＩシステム１００では、連続する２回の書き込み処理の間の時間間隔を計測したタイマ値Ｔに基づいて変更すべきフレームレートを決定する。これに対し、本実施形態のＨＭＩシステム２００では、イベントの開始と終了との時間間隔を計測したタイマ値Ｔに基づいて変更すべきフレームレートを決定する。
【００７９】
図１は、本実施形態に係るＨＭＩシステム２００の概要を示す図である。図７は、ＨＭＩシステム２００の構成を制御部２１Ａを中心として示すブロック図である。
【００８０】
図１に示すように、ＨＭＩシステム２００も、実施形態１のＨＭＩシステム１００と同様、ＣＰＵ１と、メインメモリ２と、ＬＣＤコントローラ３と、ユーザメモリ４と、記憶装置５と、通信部６と、タッチパネル７と、タイマ８と、バス９と、スケーラ１０と、ＬＣＤモジュール１１とを備えている。
【００８１】
また、図７に示すように、ＨＭＩシステム２００（表示システム）は、ＨＭＩシステム１００の制御部２１に代えて、制御部２１Ａを備えている。制御部２１Ａは、ＨＭＩシステム２００の各種の動作を制御する部分であり、制御部２１と同様、タイマ値書込部２５と、フレームレート変更処理部２６とを有している。また、制御部２１Ａは、制御部２１のデータ取得部２２、操作処理部２３および画像更新部２４に代えて、それぞれデータ取得部２２Ａ、操作処理部２３Ａおよび画像更新部２４Ａを有している。制御部２１Ａは、ＣＰＵ１が、記憶装置５からメインメモリ２のプログラム領域２ａにロードされた前述のＨＭＩプログラムを実行することにより実現される機能である。
【００８２】
データ取得部２２Ａは、基本的には、データ取得部２２と同様のデータ取得機能を有しているが、タイマ８の動作および停止を行う。
【００８３】
操作処理部２３Ａは、基本的には、操作処理部２３と同様の操作処理機能を有しているが、タイマ８の動作および停止を行う。
【００８４】
画像更新部２４Ａは、基本的には、画像更新部２４と同様の画像更新機能を有しているが、タイマ８の動作および停止を行わない。
【００８５】
続いて、上記のように構成されるＨＭＩシステム２００によるフレームレートの変更動作について、図８および図９に示すフローチャートを参照して説明する。図８は、ＨＭＩシステム２００の動作の処理手順を示すフローチャートである。図９は、ＨＭＩシステム２００の動作におけるＶＲＡＭ書き込み処理の手順を示すフローチャートである。
【００８６】
図８に示すように、まず、ＨＭＩシステム２００が起動すると、制御部２１Ａのデータ取得部２２Ａおよび操作処理部２３Ａは、ステップＳ１０１において、イベントが開始するまで、イベントの受付を待機している（ＮＯ）。イベントが開始すると（ＹＥＳ）、データ取得部２２Ａおよび操作処理部２３Ａがタイマ８を作動させることによって、タイマ８が計時を開始する（ステップＳ１０２）。タイマ８の計時状態では、データ取得部２２Ａおよび操作処理部２３Ａは、ステップＳ１０３において、イベントが終了するまで、イベントの受付を待機している（ＮＯ）。イベントが終了すると（ＹＥＳ）、画像更新部２４Ａは、上記のイベントの実行に伴って画像データを更新する必要があるか否かを判定する（ステップＳ１０４）。画像更新部２４Ａが、ステップＳ１０４において、画像データを更新する必要があると判定すると（ＹＥＳ）、データ取得部２２Ａおよび操作処理部２３Ａがタイマ８を停止させることによって、タイマ８は計時を停止する（ステップＳ１０５）。
【００８７】
データ取得部２２Ａは、外部機器１２のデータまたはＨＭＩシステム２００の内部で発生したデータの取得を要求するタイミングをイベントの開始として認識し、取得が完了したタイミングをイベントの終了として認識する。操作処理部２３Ａは、タッチパネル７からのタッチデータを受けることで操作を受け付けたタイミングをイベントの開始として認識する。また、操作処理部２３Ａは、外部機器１２の外部メモリデバイスへのデータの書き替え、およびＨＭＩシステム２００の内部メモリデバイスへのデータの書き替えを完了したタイミングをイベントの終了として認識する。あるいは、操作処理部２３Ａは、操作内容そのものを画像更新部２４Ａに伝える。
【００８８】
ステップＳ１０５の後、画像更新部２４Ａは、更新する画像データを作成して、当該画像データをＶＲＡＭ領域２ｂに書き込む処理を行う（ステップＳ１０６）。画像更新部２４Ａは、ステップＳ１０４において、画像データを更新する必要がないと判定すると（ＮＯ）、画像データをＶＲＡＭ領域２ｂに書き込む処理を行わない。この場合は、処理がステップＳ１０１に戻る。
【００８９】
ステップＳ１０６の後、フレームレート変更処理部２６は、フレームレートを変更する処理を行う（ステップＳ１０７）。ステップＳ１０７の後、処理がステップＳ１０１に戻る。このように、ＨＭＩシステム２００の動作時は、ステップＳ１０１〜Ｓ１０７の処理がループして継続される。
【００９０】
ここで、ステップＳ１０６の画像データの書き込み処理について説明する。なお、ステップＳ１０７のフレームレート変更処理については、実施形態１において図６を参照して説明したフレームレート変更処理と同じであるので、ここではその説明を省略する。
【００９１】
図９に示すように、処理が開始すると、タイマ値書込部２５は、タイマ８からタイマ値Ｔを取得して（ステップＳ１１１）、メインメモリ２のタイマ値保存領域２ｃに書き込み（ステップＳ１１２）、タイマ８のタイマ値Ｔをクリアする（ステップＳ１１３）。タイマ値保存領域２ｃには最大でｎ個のタイマ値Ｔが保存できるので、タイマ値書込部２５は、取得したタイマ値Ｔを１つずつタイマ値保存領域２ｃに書き込んでいく。
【００９２】
画像更新部２４Ａは、画像データを更新して、ＬＣＤコントローラ３にＶＲＡＭ領域２ｂへ書き込ませる（ステップＳ１１４）。画像更新部２４Ａは、画像データの書き込みにおいて、タイマ値書込部２５からタイマ値Ｔをクリアしたという通知を受けると、ＬＣＤコントローラ３にＶＲＡＭ領域２ｂから画像データを読み出させる。続いて、画像更新部２４Ａは、データ取得部２２Ａからのデータおよび操作処理部２３Ａからの操作内容に応じて当該画像データを書き替えてＬＣＤコントローラ３に渡す。
【００９３】
ステップＳ１１４の後、処理がメインルーチンに戻る。
【００９４】
以上のように、本実施形態に係るＨＭＩシステム２００は、制御部２１Ａを備えることにより、イベントの開始から終了までの計測時間（タイマ値Ｔ）に基づいて新たなフレームレートを決定している。これにより、ＬＣＤコントローラ３が、そのフレームレートに基づいてＶＲＡＭ領域２ｂに対してアクセスするとき、ＬＣＤコントローラ３のフレームレートを画像データの更新を伴うイベントの処理に要する時間に応じて低下させることができる。フレームレートが低下することで、メインメモリ２への全アクセスに対して、ＬＣＤコントローラ３によるＶＲＡＭアクセスの比率を低下させ、ＣＰＵ１によるメインメモリアクセスの比率を高めることができる。それゆえ、ＨＭＩシステム２００のパフォーマンスを向上させることができる。
【００９５】
なお、本実施形態は、特に、フレームレートで定まるメモリアクセス周期に対してイベントの開始から終了までの時間が長い場合に有効である。
【００９６】
しかも、ＨＭＩシステム２００は、ＨＭＩシステム１００と同様、フレームレートを低下させるために、従来技術のように画面データの変化の有無を判定しないので、当該従来技術のようにシステムのコストアップおよびパフォーマンスの低下を生じることもない。
【００９７】
また、ＨＭＩシステム２００は、ＨＭＩシステム１００と同様、タイマ値に応じて、フレームレート変更処理を第１モードおよび第２モードから１つを選択して行う。これにより、フレームレートの変化に応じて適切にフレームレートを決定することができる。
【００９８】
〔付記事項〕
実施形態１および２では、タイマ値に基づいてフレームレートを算出して決定しているが、これ以外の手法でフレームレートを決定してもよい。例えば、タイマ値の異なる範囲と、それぞれの範囲に対応するフレームレートとを対応付けたテーブルを用意しておき、計測されたタイマ値が入る範囲に対応するフレームレートをテーブルから読み出して、このテーブルをＬＣＤコントローラ３に設定するフレームレートとして決定してもよい。このような手法によっても、タイマ値に応じたフレームレートを決定することができる。
【００９９】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１００】
２  メインメモリ（メモリ）
３  ＬＣＤコントローラ（表示コントローラ）
２ｂ  ＶＲＡＭ領域（画像メモリ領域）
８  タイマ（時間計測部）
１１  ＬＣＤモジュール
２６ａ  変更モード選択部（時間判定部）
２６ｂ  フレームレート決定部
１００  ＨＭＩシステム（表示システム）
２００  ＨＭＩシステム（表示システム）
Ｔ  タイマ値（計測時間）
ｔ  基準時間
【図１】
0006554429.tif 000002
【図２】
0006554429.tif 000003
【図３】
0006554429.tif 000004
【図４】
0006554429.tif 000005
【図５】
0006554429.tif 000006
【図６】
0006554429.tif 000007
【図７】
0006554429.tif 000008
【図８】
0006554429.tif 000009
【図９】
0006554429.tif 000010