(57)【特許請求の範囲】
【請求項１】
ローカルフレームバッファを具備する特定用途向け集積回路を含む移動電子デバイスにおけるディスプレイモジュールの集積ディスプレイフレームバッファを更新する方法であって、ディスプレイサーバソフトウェアは前記特定用途向け集積回路上で動作し、
ディスプレイ情報を前記特定用途向け集積回路に組み込まれたソフトウェアから前記ローカルフレームバッファに伝送するステップと、
前記ローカルフレームバッファから前記ディスプレイフレームバッファへ前記ディスプレイ情報を伝送することにより前記ディスプレイフレームバッファを更新するステップと、
前記ディスプレイフレームバッファの更新は、連続更新モードにおいては、周期的に実行され、選択更新モードにおいては、前記ディスプレイサーバソフトウェアが、前記ローカルフレームバッファの内容を更新することに対応して実行され、
前記ディスプレイフレームバッファが更新されると、前記ディスプレイ情報を前記ディスプレイモジュールに表示するステップとを含み、さらに、
メモリ監視手段により、前記ディスプレイサーバソフトウェア以外のアプリケーションソフトウェアが、前記ローカルフレームバッファをアクセスしているかを検出するステップと、
前記ディスプレイサーバソフトウェア以外のアプリケーションソフトウェアが、前記ローカルフレームバッファをアクセスしていると、連続更新モードの使用を開始するステップと、
前記メモリ監視手段により、前記アプリケーションソフトウェアが、もはや、前記ローカルフレームバッファをアクセスしていないかを検出するステップと、
前記アプリケーションソフトウェアが、もはや、前記ローカルフレームバッファをアクセスしていないと、選択更新モードの使用を開始するステップとを含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
前記ローカルフレームバッファに格納された前記ディスプレイ情報において前記ディスプレイサーバソフトウェア以外のアプリケーションソフトウェアによる変更が検出された場合に、タイマーを起動するステップと、
前記タイマーの動作中に、前記ローカルフレームバッファに格納された前記ディスプレイ情報において変更が検出された場合に、前記タイマーをリセットするステップと、
前記タイマーの動作が終了すると、前記ディスプレイフレームバッファを更新するステップとをさらに含み、
前記タイマーは、予め設定された時間周期を過ぎると動作を停止することを特徴とする方法。
【請求項３】
電子デバイス中でディスプレイフレームバッファの更新方法を実行するコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、特定用途向け集積回路上で実行される時に、請求項１又は２に記載のステップを実行するプログラムをコード化するプログラムを含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４】
ソフトウェアの実行が可能で、ローカルフレームバッファおよびディスプレイインタフェースを含む特定用途向け集積回路であって、
前記ローカルフレームバッファにおける変更を検出するように適合され、前記ローカルフレームバッファおよび前記ディスプレイインタフェースの両方に接続されたハードウェア手段を含み、
前記ハードウェア手段が、前記ローカルフレームバッファへのアクセスに関する情報を、前記特定用途向け集積回路上で実行されるディスプレイサーバソフトウェアに伝送する手段と、
前記ディスプレイインタフェースを介して、ディスプレイフレームバッファの更新を実行する手段とを含み、
且つ、前記ハードウェア手段が、前記ローカルフレームバッファの変更が前記特定用途向け集積回路上で実行されるアプリケーションソフトウェアによって引き起こされた場合にこれを検出する手段を含み、
前記特定用途向け集積回路は、
ディスプレイ情報を前記ローカルフレームバッファに伝送し、
前記ローカルフレームバッファから前記ディスプレイフレームバッファへ前記ディスプレイ情報を伝送することにより前記ディスプレイフレームバッファを更新し、
前記ハードウェア手段により、前記ディスプレイサーバソフトウェア以外のアプリケーションソフトウェアが、前記ローカルフレームバッファをアクセスしているかを検出し、
前記ディスプレイサーバソフトウェア以外のアプリケーションソフトウェアが、前記ローカルフレームバッファをアクセスしていると、連続更新モードの使用を開始し、
前記ハードウェア手段により、前記アプリケーションソフトウェアが、もはや、前記ローカルフレームバッファをアクセスしていないかを検出し、
前記アプリケーションソフトウェアが、もはや、前記ローカルフレームバッファをアクセスしていないと、選択更新モードの使用を開始するように適合され、
前記連続更新モードにおいては、前記ディスプレイフレームバッファの更新は、周期的に実行され、前記選択更新モードにおいては、前記ディスプレイフレームバッファの更新は、前記ディスプレイサーバソフトウェアが、前記ローカルフレームバッファの内容を更新することに対応して実行されることを特徴とする特定用途向け集積回路。
【請求項５】
請求項４に記載の特定用途向け集積回路において、
前記ハードウェア手段が、前記ローカルフレームバッファで検出された変更により動作を起動し、予め設定された時間周期を過ぎると動作を停止するタイマー手段と、前記タイマーの動作期間中、前記ディスプレイフレームバッファを周期的に更新する手段を含むことを特徴とする特定用途向け集積回路。
【請求項６】
請求項４又は請求項５に記載のディスプレイフレームバッファと特定用途向け集積回路とを含むことを特徴とする電子デバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、特定用途向け集積回路（ＡＳＩＣ）、ソフトウェア、および集積メモリを備えたディスプレイの技術分野に係る。また、スマートディスプレイを備えた電子デバイスにも関する。より詳しくは、移動デバイスのディスプレイバッファ更新に要する電力消費を最小化する方法に関し、これによって、周期的にディスプレイバッファを更新する方法に比べ移動デバイスのバッテリ電力を節約できる。
【０００２】
【従来の技術】
集積フレームバッファを備えたディスプレイ（スマートディスプレイ）の場合、ディスプレイ（画面）の内容が変更される度にフレームバッファを更新する必要がある。フレームバッファがディスプレイモジュールの中にある場合（ディスプレイフレームバッファの場合）には、画面を更新するソフトウェアは、ディスプレイフレームバッファにアクセスできない。このような場合には、ソフトウェアによりアクセス可能なフレームバッファのローカルコピー（ローカルフレームバッファ）が必要となる。ソフトウェアは、最初にローカルフレームバッファの内容を変更する。次に、ローカルフレームバッファはディスプレイモジュール内のディスプレイフレームバッファにコピー（更新）される（フレームバッファ更新）。通常、フレームバッファ更新は周期的に実行される。
【０００３】
従来から、内容が変更されたか否かに関わらず周期的にフレームバッファ更新を実行する方法が考えられてきた。また、ローカルフレームバッファへのダイレクトアクセスも広くは使用されなかった。
【０００４】
米国特許第４，４４３，８６３号は、新しい送信または受信データを使用して周期的にディスプレイを更新する、少なくとも２つのデータ送受信端末を有する非同期通信用データ通信システムを開示している。データは受信モードにおいて予め決められた時間間隔の間受信バッファに蓄積された後、テキスト格納バッファに伝送され、テキスト格納バッファは、格納データを処理しディスプレイを更新するディスプレイアクセス手順を開始する。
【０００５】
米国特許第５，１３４，６９７号は、通信サブシステムを使用してソースディスプレイバッファメモリから遠隔ターゲットディスプレイバッファメモリを高速更新する方法および装置を開示している。この方法は、ソースディスプレイバッファメモリにおいて、ピクセルやキャラクタなどの個々に修正可能な各ディスプレイ素子に領域番号を関連付けるステップを含む。更新インジケータは各領域に関連付けられる。更新インジケータは、例えば、バイナリフラグ、カウンタ、シフトレジスタ、または、変更された領域を特定する領域番号を含む待ち行列、または、２つの区別可能な状態を表示可能な任意の様々なしるしであって良い。
【０００６】
通常、フレームバッファ更新は、その内容が変更されたか否かに関わらず周期的に実行される。このような場合、問題は実際に解決されていない。フレームバッファがディスプレイモジュール内にある場合には、画面を更新するソフトウェアはディスプレイフレームバッファにアクセスできない。このような場合には、ソフトウェアによりアクセス可能なフレームバッファのローカルコピーが必要となる。ディスプレイフレームバッファの連続更新は電力を消耗させるので、移動端末デバイスの待ち受け時間が短縮されてしまう。
【０００７】
フレームバッファ更新が電力を消耗させるのは、ＡＳＩＣおよびディスプレイモジュール間でデータ伝送が行われるためである。ディスプレイフレームバッファの連続更新は電力を消耗させるので、待ち受け時間が短縮されてしまう。したがって、これらの標準手続きは、計算機能力が低下したり、バッテリ容量が減少したりするという理由で、移動電話機やハンドヘルドコンピュータなどの移動端末デバイスへの使用には適していない。
【０００８】
【発明が解決しようとする課題】
本発明の目的は、ディスプレイ内容が変更されていない場合のフレームバッファ更新手続きに要する電力消費を抑制することである。本発明のもう１つの目的は、待ち受け時間および動作時間を延長することである。
【０００９】
【課題を解決するための手段】
本発明の第１の態様に従えば、ローカルフレームバッファおよびプロセッサを備える移動電子デバイスにおけるディスプレイモジュールの集積ディスプレイフレームバッファを更新する方法が提供され、この方法は、ディスプレイ情報を、例えば、プロセッサから前記ローカルフレームバッファへ伝送するステップと、前記ディスプレイ情報を前記ローカルフレームバッファから前記ディスプレイフレームバッファへ伝送することによって前記ディスプレイフレームバッファを更新するステップと、前記ディスプレイ情報を前記ディスプレイモジュールに表示するステップとを含み、前記ローカルフレームバッファに格納された前記ディスプレイ情報の変化を検出するステップと、前記ローカルフレームバッファに格納された前記ディスプレイ情報の変更が検出された時に前記ディスプレイフレームバッファを更新するステップとをさらに含むことを特徴とする。
【００１０】
ローカルフレームバッファにおける変更を検出することにより、ＡＳＩＣは、集積ディスプレイのディスプレイフレームバッファを更新する必要性に関する情報にアクセス可能となる。したがって、ＡＳＩＣは、“スマートディスプレイ”のディスプレイフレームバッファを更新すべきタイミングを知っている。実際には、ＡＳＩＣのハードウェア回路、またはＡＳＩＣ上で実行されるソフトウェアアプリケーションに、更新実行素子を実装できる。“プロセッサ”という言葉は、プログラムを実行可能なＡＳＩＣ上の回路を指す。プロセッサは、また、ＭＣＵ／プログラム可能実行ユニット等としても知られている。特定用途向け集積回路は、ローカルフレームバッファおよびプロセッサを含むことができる。
【００１１】
好適には、ディスプレイフレームバッファ更新方法は、ディスプレイ情報の変更が特定用途向け集積回路上で実行されるアプリケーションソフトウェアによって引き起こされた場合に検出するステップと、ディスプレイ情報の変更が前記アプリケーションソフトウェアによって引き起こされた場合に、周期的に前記ディスプレイフレームバッファを更新するステップとをさらに含むことを特徴とする。
【００１２】
考えられる実現方法では、２つのフレームバッファ更新モード、すなわち、連続的および選択的モードを有する。デフォルトでは、システムは選択的更新モードにある。前記選択的モードでは、ＡＳＩＣ上で実行されるディスプレイサーバソフトウェアがローカルフレームバッファの内容を変更した時に、フレームバッファ更新が実行される。同時に、メモリ監視機構を使用して、ディスプレイサーバ以外のアプリケーションソフトウェアによるローカルフレームバッファへのアクセスを検出する。
【００１３】
ディスプレイサーバ以外のアプリケーションソフトウェアがローカルフレームバッファにアクセスしていることをメモリ監視機構が検出した場合には、システムは連続的更新モードの使用を開始する。連続的モードでは、フレームバッファ更新が、例えば毎秒１５回の割合で周期的に実行される。同時に、メモリ監視機構を使用して、ローカルフレームバッファにアクセスしたアプリケーションが今もなおアクセスしているかどうかを、例えば毎秒１回の割合で周期的に検出する。アプリケーションがローカルフレームバッファにもはやアクセスしていないことが検出された時、システムは前記選択的更新モードに切換復帰する。この結果、システムは待ち受け時間中選択的更新モードにあることになる。
【００１４】
現在信号の発生に従って２つの異なる更新モードを切換える工程を、例えば特定のアプリケーションが更新ハードウェアに“更新の周期”信号を伝送する場合などに拡張でき、常に最良の更新周期を獲得できる。
好適には、この方法は、ローカルフレームバッファに格納されたディスプレイ情報の変更が検出された場合にタイマーを起動するステップと、前記タイマーの動作中にローカルフレームバッファに格納されたディスプレイ情報の変更が検出された場合に前記タイマーをリセットするステップと、前記タイマーが予め決められた値に達した時に前記ディスプレイフレームバッファを更新するステップとをさらに含む。
【００１５】
メモリ監視機構がローカルフレームバッファへの第１のアクセスを検出した時、ハードウェアタイマーが、予め決められた遅延時間、例えば１ミリ秒の間動作するようにプログラムされる。メモリ監視機構がローカルフレームバッファへの別のアクセスを検出した時、前記タイマーがリセットされる。１ミリ秒間アクセスが無かった場合には、前記タイマーが終了する。したがって、ローカルフレームバッファにアクセスしたアプリケーションは、その画面を更新するためのすべてのアクセスを実行する。ハードウェアはフレームバッファ更新を実行する。タイマー周期は、予め設定しても、別の最適化プロセスでＡＳＩＣ自体が決定しても良い。
【００１６】
有用性を増すために、２つの好適な方法を組み合わせて、信号の発生およびタイマーを使用した１つのより進んだ混合方法にしても良い。例えば、独立のタイマー制御式更新ハードウェアのみを使用すれば、タイマーの設定に依存する更新手続きが多くなる。したがって、タイマー遅延時間と更新周期の積によって、“選択的モード”におけるディスプレイバッファ更新回数が増える。
【００１７】
本発明の別の態様に従えば、スクリーンバッファを更新する方法を実行するコンピュータプログラムが提供され、このコンピュータプログラムは、前記プログラムがコンピュータ、ネットワークデバイス、移動端末、または特定用途向け集積回路上で実行される時に、すでに説明した全ステップを実行するプログラムコード手段を含む。
【００１８】
本発明のさらに別の態様に従えば、コンピュータ、ネットワークデバイス、移動端末、または特定用途向け集積回路上で実行される時に、すでに説明したスクリーンバッファを更新する方法を実行するコンピュータ読取り可能な媒体に格納されたプログラムコード手段を含むコンピュータプログラム製品が提供される。
【００１９】
本発明のさらにまた別の態様に従えば、ソフトウェアを実行することができ、ローカルフレームバッファおよびディスプレイインタフェースを含む特定用途向け集積回路が提供され、前記特定用途向け集積回路は、前記ローカルフレームバッファの変更を検出するように適合され、前記ローカルフレームバッファおよび前記ディスプレイインタフェースに接続されたハードウェア手段によって特徴付けられる。
【００２０】
本発明は、さらに、ローカルフレームバッファへのアクセスを検出するＡＳＩＣ内のハードウェアブロックまたはハードウェア手段を含む。アプリケーションプログラムがローカルフレームバッファを変更する時に、その変更をディスプレイ上で見えるようにするために、ローカルフレームバッファからディスプレイフレームバッファへの更新を実行する必要がある。本発明は、ローカルフレームバッファへのアクセスを検出するハードウェア手段、例えばハードウェアブロックを提供する。検出されたアクセス情報は、ディスプレイサーバアプリケーションか、またはフレームバッファ更新を実行するディスプレイサーバの何らかの手段へ伝送可能である。通常、特定プロセス向けディスプレイサーバがローカルフレームバッファの変更を実行する。このような場合、ディスプレイサーバは、ローカルフレームバッファの内容変更後、フレームバッファの更新を実行しても良い。ディスプレイサーバによる全ディスプレイ変更動作の実行には時間がかかるので、何らかのプログラムがローカルフレームバッファに直接アクセス（変更）しても良い。通常、このようなプログラムの例としてゲームが挙げられる。このような場合には、ディスプレイサーバにはフレームバッファ更新の必要性について通知されない。別な方法として、アクセスに関する情報をハードウェアによって処理し、ソフトウェアの関与なしにフレームバッファ更新を実行する方法も考えられる。
【００２１】
従来から、内容が変更されたか否かに関わらず周期的にフレームバッファ更新を実行する方法が提供されてきた。また、ローカルフレームバッファへのダイレクトアクセスも広くは使用されなかった。
好適には、ハードウェア手段は、前記ローカルフレームバッファへのアクセスに関する情報を前記特定用途向け集積回路上で実行されるディスプレイサーバソフトウェアに伝送する手段と、前記ディスプレイインタフェースに接続可能な、フレームバッファ更新を実行する手段とを含む。本発明のこの好適な実施形態は、フレームバッファ更新方法の標準的ソフトウェア解決法である。
【００２２】
好適には、ハードウェア手段は、ローカルフレームバッファの変更が前記特定用途向け集積回路上で実行されるアプリケーションソフトウェアにより引き起こされた場合に検出する手段を含む。ハードウェア手段は、変更の原因を知ることにより、ディスプレイフレームバッファを周期的に更新する必要があるか否かを判断できる。考えられる実現方法では、２つのフレームバッファ更新モード、すなわち、連続的および選択的モードを有する。デフォルトでは、システムは選択的更新モードにある。選択的モードでは、ディスプレイサーバがローカルフレームバッファの内容を変更した時に、フレームバッファ更新が実行される。同時に、メモリ監視機構を使用して、ディスプレイサーバ以外のアプリケーションによるローカルフレームバッファへのアクセスを検出する。ディスプレイサーバ以外のアプリケーションがローカルフレームバッファにアクセスしている場合には、システムは連続的更新モードの使用を開始する。
【００２３】
好適には、前記ハードウェア手段は、前記ローカルフレームバッファにおいて検出された変更により動作可能なタイマー手段と、前記ディスプレイインタフェースに接続可能な、フレームバッファ更新を実行する手段とを含む。タイマー手段は、ハードウェア手段がローカルフレームバッファにおける変更を検出した場合に、例えば、予め決められた時間だけディスプレイフレームバッファの更新を遅延させるために起動できる。タイマー動作時に、更新を実行する手段、タイマーの時間、および更新する周期は、予め決められていても、他のハードウェアまたはソフトウェア手段によって最適化されても良い。タイマー手段は、タイマー回路、またはカウンタなどであって良い。事前に設定した周期内でのディスプレイフレームバッファ更新を確実にするために、第２のタイマーを使用しても良い。これは、ある特定のアプリケーションが連続的にローカルフレームバッファの内容を変更するのを防ぐことに役立つ。ローカルフレームバッファの内容が連続的に変更されれば、長い時間タイマーがリセットされ続け、ディスプレイフレームバッファの更新が妨げられてしまう。第２のタイマーを人間の目の時間分解能に関係する周期に事前設定しても良い。第２のタイマーの時限が約２０ミリ秒である場合、たとえアプリケーションがローカルフレームバッファの内容を不正確に変更し続けたとしても、ユーザは第１のタイマーの存在に気づくことはできない。
【００２４】
１つのタイマーのみを使用すれば、ディスプレイサーバがローカルフレームバッファにアクセスしている場合に、結果的に追加的なタイムラグを生み出すことができる。ＡＳＩＣまたはハードウェア手段が、方法の説明において記載したような、より進んだ混合ディスプレイフレームバッファ更新方法を実行可能なタイマーおよび伝送手段を含む場合には、最良の結果が期待できる。
【００２５】
本発明のさらに別の態様に従えば、集積ディスプレイフレームバッファを有するディスプレイモジュールと、以上で説明した特定用途向け集積回路とを含む移動電子デバイスが提供される。電子デバイスは、コンピュータ、ネットワークデバイス、および移動端末であって良い。
以下では添付図面を参照して本発明を詳細に説明する。
【００２６】
【発明の実施の形態】
図１は本発明に従うデバイスの主な構成要素を示す。ディスプレイモジュール２０は、ディスプレイ画面２４とディスプレイフレームバッファ２２とを含む。ディスプレイモジュール２０の他の部分は示していない。
特定用途向け集積回路２（ＡＳＩＣ）は、ローカルフレームバッファ１２（メモリ）と、フレームバッファ更新ハードウェア１０（ディスプレイインタフェースハードウェア）とを備える。ソフトウェア４はＡＳＩＣ上で実行され、関連構成要素にはディスプレイサーバ６とアプリケーションソフトウェア８とがある。太い矢印が構成要素間におけるデータの流れを示し、破線の矢印が制御を示す。
【００２７】
ディスプレイサーバ６およびアプリケーションソフトウェア８は、ローカルフレームバッファ１２にデータを書込む。ディスプレイサーバ６はフレームバッファ更新ハードウェア１０を制御し、フレームバッファ更新ハードウェア１０はローカルフレームバッファ１２からディスプレイフレームバッファ２２へデータを伝送する。ディスプレイモジュール２０は、ディスプレイフレームバッファ２２から画面２４への更新を処理する。
【００２８】
双安定マトリックスディスプレイ素子を備えた将来のディスプレイでは、必要となる更新サイクルの数が著しく減少するだろう。これは実際に表示されたフレームにおける変更を記述するデータを付加することにより達成可能となるだろう。
【００２９】
図２は、本発明の１つの態様に従うディスプレイバッファ更新方法を示すフローチャートである。このフローチャートはディスプレイバッファ更新を最低限理解するのに使用できるステップおよび判断を示す。第１のステップにおいてプロセスが開始され、システムは現在セーブされているフレームが変化したことを示す、ローカルフレームバッファからの信号を待つ。この信号はローカルフレームバッファの内容が変化したことを示すので、ディスプレイフレームバッファを更新する必要性が生じる。更新ハードウェアは、ディスプレイサーバソフトウェアが実際にローカルフレームバッファの内容を変更していることを示す、ディスプレイサーバソフトウェアからの信号の存在をチェックする。信号が存在する場合には、更新ハードウェアがディスプレイフレームバッファを一度更新した後、最初に戻る。
【００３０】
更新ハードウェアがディスプレイサーバソフトウェアからの信号を検出できなかった場合には、タイマーを起動させる。タイマーが動作している限り、更新ハードウェアはディスプレイフレームバッファの更新を遅延させる。更新ハードウェアがタイマー動作中にローカルフレームバッファの内容が変更されたことを示す次の信号を受信した場合には、タイマーがリセットされる。次に、更新ハードウェアは次のタイマー設定時間だけディスプレイフレームバッファの更新をさらに遅延させる。タイマーが終了した場合には、更新ハードウェアはディスプレイフレームバッファを一度更新した後、最初に戻る。そして、更新ハードウェアはローカルフレームバッファの内容が変化した時にローカルフレームバッファから伝送される次の信号を待つ。
【００３１】
結合された方法は、ディスプレイサーバソフトウェアが内容を変更した場合、およびアプリケーションソフトウェアがローカルフレームバッファの内容の変更を迅速に停止する場合に、システムが一度だけディスプレイフレームバッファを更新するという利点を有する。
【００３２】
本出願は具体例の助けを借りて本発明の実現方法および実施形態を説明したものである。本発明は上記の実施形態の詳細に限定されず、また本発明の特徴から逸脱することなく別の形で実現可能であることは、当業者なら理解できるだろう。上記の実施形態は例示的なものと見なすべきであり、制限的なものではない。したがって、本発明の実施および使用の可能性は、添付の特許請求の範囲によってのみ制限される。結果として、特許請求の範囲により確定された本発明を実現する様々なオプションはまた、同等な実現方法を含め、本発明の範囲に属する。
【図面の簡単な説明】
【図１】ＡＳＩＣおよびスマートディスプレイを備えた電子デバイスを示すブロック図である。
【図２】本発明の１つの態様に従うディスプレイバッファ更新方法を示すフローチャートである。
【符号の説明】
２：集積回路
４：ソフトウェア
６：ディスプレイサーバ
８：アプリケーションソフトウェア
１０：更新ハードウェア
１２：ローカルフレームバッファ
２０：ディスプレイモジュール
２２：ディスプレイフレームバッファ
２４：ディスプレイ画面
【図１】
0004348049.tif 000002
【図２】
0004348049.tif 000003