様々な図面における同様の参照番号および記号は、同様の要素を示している。
以下の説明は、本開示の発明的態様を記載する目的のためのいくつかの実装形態に関する。しかしながら、本明細書の教示が複数の異なる方法で適用され得ることを、当業者なら容易に認識されよう。記載される実装形態は、(ビデオなどの)動きまたは(スチル画像などの)静止であれ、かつテキスト、グラフィカル、またはピクトリアルであれ、画像を表示するように構成され得る任意のデバイス、装置、またはシステムに実装される場合がある。より詳細には、記載された実装形態は、限定はしないが、モバイル電話、マルチメディアインターネット対応携帯電話、モバイルテレビジョン受信機、ワイヤレスデバイス、スマートフォン、Bluetooth(登録商標)デバイス、携帯情報端末(PDA)、ワイヤレス電子メール受信機、ハンドヘルドコンピュータまたはポータブルコンピュータ、ネットブック、ノートブック、スマートブック、タブレット、プリンタ、コピー機、スキャナ、ファクシミリデバイス、全地球測位システム(GPS)受信機/ナビゲータ、カメラ、(MP3プレーヤなどの)デジタルメディアプレーヤ、カムコーダ、ゲーム機、腕時計、時計、計算器、テレビジョンモニタ、フラットパネルディスプレイ、(電子リーダなどの)電子書籍リーダ、コンピュータモニタ、(走行距離計および速度計のディスプレイなどを含む)自動車用ディスプレイ、コックピットの制御器および/またはディスプレイ、(車両内の背面カメラのディスプレイなどの)カメラビューディスプレイ、電子写真、電子掲示板または電光サイン、プロジェクタ、建築物、電子レンジ、冷蔵庫、ステレオシステム、カセットレコーダまたはカセットプレーヤ、DVDプレーヤ、CDプレーヤ、VCR、ラジオ、ポータブルメモリチップ、洗濯機、乾燥機、洗濯乾燥機、パーキングメータ、(マイクロ電子機械システム(MEMS)アプリケーションを含む電子機械システム(EMS)アプリケーション、ならびに非EMSアプリケーションなどの中の)パッケージング、(宝石または衣服の一部分への画像の表示などの)美的構造、ならびに様々なEMSデバイスなどの、様々な電子デバイスに含まれるか、または関連付けられる場合があると考えられる。本明細書の教示はまた、限定はしないが、電子スイッチングデバイス、無線周波フィルタ、センサ、加速度計、ジャイロスコープ、動き検知デバイス、磁力計、家庭電化製品用の慣性構成要素、家庭電化製品の部品、バラクタ、液晶デバイス、電気泳動デバイス、ドライブ方式、製造プロセス、および電子検査機器などの、非表示アプリケーションに使用することができる。このように、本教示は、図のみに描写された実装形態に限定されるものではなく、代わりに、当業者に容易に明らかになるような広い適用性を有するものである。
製造プロセスを簡略化し、多くのアプリケーションについての表示性能を改善するために、ディスプレイ制御モジュールは、コンピューティングデバイスのオペレーティングシステムの中に組み込むことができる。ディスプレイ制御モジュールは、データ構造に記憶されたディスプレイモジュールのパラメータ上の情報にアクセスするか、またはそれを維持することができる。たとえば、コンピューティングデバイスは、コンピューティングデバイスの電子ディスプレイの能力に関する情報を有するデータ構造を含むことができる。そのような情報は、デバイスが消費者に提供される前に、デバイス上の表示能力データ構造に記憶することができる。製造業者が後で異なる特性を有するディスプレイをコンピューティングデバイスの次のバージョンに組み込むことを選んだ場合、表示能力データ構造は、更新された表示能力を反映するように容易に修正することができる。したがって、各々の製造されたコンピューティングデバイスは、その表示能力の正確な記録を有することができる。
同様に、いくつかの実装形態では、アプリケーションデータ構造をコンピューティングデバイスに記憶することができる。アプリケーションデータ構造は、コンピューティングデバイス上で実行することができるアプリケーションごとの表示基本設定および表示要件に関する情報を含むことができる。たとえば、大量の複雑なグラフィカル出力を有するアプリケーションは、比較的高い色ビット深度を必要とする場合があり、この情報はアプリケーションデータ構造に組み込むことができる。アプリケーションがコンピューティングデバイス上で起動されたとき、コンピューティングデバイスのプロセッサは、表示能力データ構造およびアプリケーションデータ構造を参照して、電子ディスプレイによって使用されるべき表示パラメータのセットを決定することができる。このように、グラフィックスの性能は、コンピューティングデバイス上で実行することができるアプリケーションの各々について最適化することができる。
本開示に記載される主題の特定の実装形態は、以下の潜在的な利点のうちの1つまたは複数を実現するために実装することができる。本明細書で開示されるディスプレイモジュールのパラメータ選択システムにより、コンピューティングデバイスがコンピューティングデバイス上で実行することができる様々なソフトウェアアプリケーションの様々なニーズに適応することが可能になる。たとえば、実行可能なアプリケーションごとの表示基本設定に対応する情報を記憶することによって、コンピューティングデバイスは、アプリケーションが起動されたときにその表示特性を調整することができ、その結果、アプリケーションごとのグラフィカルコンテンツは、少なくともその最小表示要件、および場合によってはその推奨表示パラメータに従って、ユーザに表示することができる。加えて、アプリケーション用の表示基本設定は、たとえばソフトウェア更新に起因するアプリケーション用の表示基本設定内の変更に応答して、編集することができる。このように、アプリケーションごとの表示基本設定情報は、容易に新しく保つことができる。
いくつかの実装形態では、電子ディスプレイを有するコンピューティングデバイス用の製造プロセスは、上述されたように、様々なアプリケーションの様々な表示特性に適応する能力を犠牲にすることなく、簡略化される。たとえば、コンピューティングデバイスは、そのディスプレイデバイスの表示能力に対応する情報を記憶することができる。この情報は、製造プロセス中に記憶することができる。製造業者が後で異なる表示特性を有するディスプレイデバイスを使用することに決定した場合、表示能力情報は修正することができる。したがって、製造されたデバイスのすべては、能力がデバイスのうちのいくつかで異なる場合があるという事実にもかかわらず、それらの表示能力に関する正確な情報を含むことができる。表示能力情報は、ディスプレイに関連付けられたプログラム可能なメモリデバイスに記憶することができ、その結果、表示能力情報は、製品が消費者に販売された後でも容易に修正することができる。たとえば、製造業者がディスプレイデバイスに関連付けられたファームウェアを更新し、それによって、その表示特性を改変した場合、表示能力情報もそれに応じて調整することができる。
また、本明細書で開示される表示パラメータの選択システムおよび選択方法により、アプリケーション開発者は、自分がアプリケーションを開発しているコンピューティングデバイスに組み込まれるディスプレイの能力を知る必要から解放される。コンピューティングデバイスのディスプレイ制御モジュールがアプリケーション用の最小表示パラメータおよび/または推奨表示パラメータを識別することができるので、ディスプレイ制御モジュールは、アプリケーションのニーズに適応するようにディスプレイの表示パラメータを調整することができる。
いくつかの実装形態では、ディスプレイ制御モジュールはまた、オペレーティングシステムに利用可能な情報に基づいて、周辺光レベル、電力消費要件などの他の因子を説明するように表示パラメータを調整することができる。たとえば、ディスプレイ制御モジュールは、コンピューティングデバイス内の周辺光センサから、ディスプレイを取り囲むエリアの周辺光レベルに対応する情報を受信することができる。周辺光レベルが高いと判断された場合、ディスプレイの最大輝度レベルは、補償するために増大させることができる。同様に、低光量の環境では、ディスプレイの最大輝度レベルは減少させることができる。コンピューティングデバイスはまた、限られた電力容量を有するバッテリによって電力供給されていると判断することができる。デバイスの寿命を延長するために、ディスプレイ制御モジュールは、電力消費を低減するように表示設定値を改変することができる。たとえば、そのような状況では、より低いフレームレート、またはより低い最大輝度レベルを選択することができる。
図1Aは、例示的な直視型MEMS方式ディスプレイ装置100の概略図を示す。ディスプレイ装置100は、行と列に配列された複数の光変調器102a〜102d(全体として「光変調器102」)を含む。ディスプレイ装置100では、光変調器102aおよび102dは開状態にあり、光を通させる。光変調器102bおよび102cは閉状態にあり、光の通過を妨げる。光変調器102a〜102dの状態を選択的に設定することによって、ディスプレイ装置100は、1つまたは複数のランプ105によって照明された場合、バックライト付きディスプレイ用の画像104を形成するために利用することができる。別の実装形態では、装置100は、装置の前面から発する周辺光の反射によって画像を形成することができる。別の実装形態では、装置100は、ディスプレイの前面に配置された1つまたは複数のランプからの光の反射によって、すなわちフロントライトを使用して、画像を形成することができる。
いくつかの実装形態では、各光変調器102は、画像104内のピクセル106に対応する。いくつかの他の実装形態では、ディスプレイ装置100は、複数の光変調器を利用して画像104内のピクセル106を形成することができる。たとえば、ディスプレイ装置100は、3つの色固有光変調器102を含む場合がある。特定のピクセル106に対応する色固有光変調器102のうちの1つまたは複数を選択的に開くことによって、ディスプレイ装置100は、画像104内のカラーピクセル106を生成することができる。別の例では、ディスプレイ装置100は、画像104内のルミナンスレベルを提供するために、ピクセル106当たり2つ以上の光変調器102を含む。画像に関して、「ピクセル」は、画像の解像度によって定義される最も小さい画素に対応する。ディスプレイ装置100の構造構成要素に関して、「ピクセル」という用語は、画像の単一ピクセルを形成する光を変調するために利用される、機械構成要素と電気構成要素との組合せを指す。
ディスプレイ装置100は、投影型アプリケーションで通常見出される結像光学素子を含まない場合があるという点で、直視型ディスプレイである。投影型ディスプレイでは、ディスプレイ装置の表面に形成される画像は、スクリーンまたは壁に投影される。ディスプレイ装置は、投影画像よりもかなり小さい。直視型ディスプレイでは、ユーザは、光変調器を含み、場合によってはディスプレイ上で見られる輝度および/またはコントラストを強調するためのバックライトまたはフロントライトを含むディスプレイ装置を直接見ることによって、画像を見る。
直視型ディスプレイは、透過モードまたは反射モードのいずれかで動作する場合がある。透過型ディスプレイでは、光変調器は、ディスプレイの後ろに配置された1つまたは複数のランプから発する光をフィルタリングするか、または選択的に遮断する。ランプからの光は、各ピクセルを均一に照明できるように、場合によっては光ガイドまたは「バックライト」に注入される。透過直視型ディスプレイは、しばしば、光変調器を含む一方の基板がバックライトのすぐ上に配置されるサンドイッチアセンブリ配列を容易にするために、透明基板またはガラス基板の上に構築される。
各光変調器102は、シャッター108および開口109を含むことができる。画像104内のピクセル106を照明するために、シャッター108は、光が見る人に向かって開口109を通過することを可能にするように配置される。ピクセル106を未点灯のまま保つために、シャッター108は、光が開口109を通過することを妨げるように配置される。開口109は、各光変調器102内の反射材料または光吸収材料を介してパターン化された開口によって画定される。
ディスプレイ装置はまた、シャッターの移動を制御するための、基板および光変調器に接続された制御マトリクスを含む。制御マトリクスは、ピクセルの行当たり少なくとも1つの(「スキャンライン相互接続」とも呼ばれる)書込み可能相互接続110と、ピクセルの列ごとに1つのデータ相互接続112と、すべてのピクセルに、または少なくともディスプレイ装置100内の複数の列と複数の行の両方からのピクセルに、共通電圧を与える1つの共通相互接続114とを含む、(相互接続110、112、および114などの)一連の電気相互接続を含む。適切な電圧(「書込み可能電圧、VWE」)の印加に応答して、ピクセルの所与の行のための書込み可能相互接続110は、新しいシャッター移動命令を受諾するように行内のピクセルを準備する。データ相互接続112は、データ電圧パルスの形で新しい移動命令を通信する。データ相互接続112に印加されるデータ電圧パルスは、いくつかの実装形態では、シャッターの静電移動に直接寄与する。いくつかの他の実装形態では、データ電圧パルスは、トランジスタ、または、通常、データ電圧よりも規模が高い別個の作動電圧の光変調器102への印加を制御する他の非線形回路素子などのスイッチを制御する。次いで、これらの作動電圧を印加すると、シャッター108の静電駆動移動が生じる。
図1Bは、例示的なホストデバイス120(すなわち、携帯電話、スマートフォン、PDA、MP3プレーヤ、タブレット、電子リーダ、ネットブック、ノートブックなど)のブロック図を示す。ホストデバイス120は、ディスプレイ装置128、ホストプロセッサ122、環境センサ124、ユーザ入力モジュール126、および電源を含む。
ディスプレイ装置128は、複数の(「書込み可能電圧源」とも呼ばれる)スキャンドライバ130、複数の(「データ電圧源」とも呼ばれる)データドライバ132、コントローラ134、共通ドライバ138、ランプ140〜146、ランプドライバ148、および、図1Aに示された光変調器102などの表示素子のアレイ150を含む。スキャンドライバ130は、スキャンライン相互接続110に書込み可能電圧を印加する。データドライバ132は、データ相互接続112にデータ電圧を印加する。
ディスプレイ装置のいくつかの実装形態では、データドライバ132は、特に画像104のルミナンスレベルがアナログ方式で導出されるべきである場合、表示素子のアレイ150にアナログデータ電圧を与えるように構成される。アナログ動作では、光変調器102は、ある範囲の中間電圧がデータ相互接続112を通して印加されたとき、シャッター108内である範囲の中間開状態が生じ、したがって、画像104内のある範囲の中間照明状態すなわち中間ルミナンスレベルが生じるように設計される。他の場合には、データドライバ132は、2つ、3つ、または4つのデジタル電圧レベルの縮小セットのみをデータ相互接続112に印加するように構成される。これらの電圧レベルは、デジタル方式で、シャッター108の各々に対して、開状態、閉状態、または他の不連続状態を設定するように設計される。
スキャンドライバ130およびデータドライバ132は、(「コントローラ134」とも呼ばれる)デジタルコントローラ回路134に接続される。コントローラは、行および画像フレームによってグループ化された所定のシーケンスに編成されて、ほぼ直列方式でデータドライバ132にデータを送る。データドライバ132は、直列並列データコンバータと、レベルシフティングと、一部のアプリケーションの場合デジタルアナログ電圧コンバータとを含むことができる。
ディスプレイ装置は、場合によっては、共通電圧源とも呼ばれる共通ドライバ138のセットを含む。いくつかの実装形態では、共通ドライバ138は、たとえば、一連の共通相互接続114に電圧を供給することによって、表示素子のアレイ150内のすべての表示素子にDC共通電位を与える。いくつかの他の実装形態では、共通ドライバ138は、コントローラ134からのコマンドに従って、表示素子のアレイ150に対する電圧パルスまたは電圧信号、たとえば、アレイ150の複数の行および列内のすべての表示素子の同時作動を駆動および/または開始することが可能なグローバル作動パルスを放出する。
様々な表示機能のための(スキャンドライバ130、データドライバ132、および共通ドライバ138などの)ドライバのすべては、コントローラ134によって時間同期される。コントローラからのタイミングコマンドが、ランプドライバ148と、表示素子のアレイ150内の特定の行の書込み可能化およびシーケンシングと、データドライバ132からの電圧の出力と、表示素子の作動を実現する電圧の出力とを介して、赤、緑、青、および白のランプ(それぞれ140、142、144、および146)の照明を調整する。いくつかの実装形態では、ランプは発光ダイオード(LED)である。
コントローラ134は、シャッター108の各々が、新しい画像104に適した照明レベルにリセットされ得るシーケンシングまたはアドレス指定方式を決定する。新しい画像104は、周期的間隔で設定することができる。たとえば、ビデオディスプレイの場合、カラー画像104またはビデオのフレームは、約10〜300ヘルツ(Hz)の範囲の周波数でリフレッシュされる。いくつかの実装形態では、アレイ150に対する画像フレームの設定は、交替画像フレームが、赤、緑、および青などの交替する一連の色で照明されるように、ランプ140、142、144、および146の照明と同期される。それぞれの色ごとの画像フレームは、カラーサブフレームと呼ばれる。フィールド順次式カラー方法と呼ばれるこの方法では、カラーサブフレームが20Hzを上回る周波数で交替される場合、人間の脳は、交替するフレーム画像を、広い連続する範囲の色を有する画像の知覚に平均化する。代替実装形態では、原色をもつ4つ以上のランプをディスプレイ装置100において利用することができ、赤、緑、および青以外の原色を利用する。
ディスプレイ装置100が、開状態と閉状態との間のシャッター108のデジタル切替えのために設計されたいくつかの実装形態では、コントローラ134は、前述されたように、時分割グレースケールの方法によって画像を形成する。いくつかの他の実装形態では、ディスプレイ装置100は、ピクセル当たり複数のシャッター108を使用することによって、グレースケールを提供することができる。
いくつかの実装形態では、画像状態104についてのデータは、スキャンラインとも呼ばれる個々の行の順次アドレス指定によって、表示素子のアレイ150にコントローラ134によってロードされる。シーケンス内の行すなわちスキャンラインごとに、スキャンドライバ130は、アレイ150のその行について、書込み可能相互接続110に書込み可能電圧を印加し、その後、データドライバ132は、選択された行内の列ごとに、所望のシャッター状態に対応するデータ電圧を供給する。このプロセスは、アレイ150内のすべての行についてデータがロードされるまで繰り返す。いくつかの実装形態では、データローディング用の選択された行のシーケンスは、線形であり、アレイ150内の上から下に進む。いくつかの他の実装形態では、選択された行のシーケンスは、視覚的アーティファクトを最小限にするために擬似ランダム化される。また、いくつかの他の実装形態では、シーケンシングはブロックによって編成され、この場合、ブロックに対して、画像状態104の特定の一部のみについてのデータが、たとえば、シーケンス内のアレイ150の5行ごとにのみアドレス指定することによって、アレイ150にロードされる。
いくつかの実装形態では、アレイ150に画像データをロードするためのプロセスは、アレイ150内の表示素子を作動させるプロセスとは、時間的に分離される。これらの実装形態では、表示素子のアレイ150は、アレイ150内の表示素子ごとにデータメモリ素子を含む場合があり、制御マトリクスは、メモリ素子に記憶されたデータに従って、シャッター108の同時作動を開始するトリガ信号を、共通ドライバ138から搬送するためのグローバル作動相互接続を含む場合がある。
代替実装形態では、表示素子のアレイ150、および表示素子を制御する制御マトリクスは、方形の行および列以外の構成で配列される場合がある。たとえば、表示素子は、六角形アレイまたは曲線をなす行および列で配列することができる。一般に、本明細書で使用するスキャンラインという用語は、書込み可能相互接続を共有する、任意の複数の表示素子を指すものとする。
いくつかの実装形態では、コントローラ134の機能は、マイクロプロセッサとディスプレイコントローラ集積回路との間で分割される。いくつかの実装形態では、ディスプレイコントローラ集積回路は、特定用途向け集積回路(ASIC)などの集積回路論理デバイスに実装される。いくつかの実装形態では、マイクロプロセッサは、コントローラ134の画像処理機能のすべてまたは実質的にすべて、ならびにディスプレイ装置128が使用して受信された画像を生成するための適切な出力シーケンスを決定することを遂行するように構成される。たとえば、マイクロプロセッサは、受信された画像データに含まれる画像フレームを画像サブフレームのセットに変換するように構成することができる。各画像サブフレームは、色および重みに関連付けられ、表示素子のアレイ150内の表示素子の各々の所望の状態を含む。マイクロプロセッサはまた、所与の画像フレームを生成するために表示する画像サブフレームの数、画像サブフレームが表示されるべき順序、および画像サブフレームの各々に適した重みを実装することに関連付けられたパラメータを決定するように構成することができる。これらのパラメータは、様々な実装形態では、それぞれの画像サブフレームの各々が照明されるべき持続時間、およびそのような照明の強度を含む場合がある。これらのパラメータ(たとえば、サブフレームの数、それらの出力の順序およびタイミング、ならびにサブフレームごとのそれらの重み実装パラメータ)は、総称して「出力シーケンス」と呼ぶことができる。
対照的に、ディスプレイコントローラ集積回路は、主に、ディスプレイ装置128のより多くの定常動作を遂行するように構成することができる。それらの動作には、フレームバッファから画像サブフレームを取り出すこと、ならびに、受信された画像サブフレームおよびマイクロプロセッサによって決定された出力シーケンスに応答して、スキャンドライバ130、データドライバ132、共通ドライバ138、およびランプドライバ148に制御信号を出力することが含まれ得る。フレームバッファは、ダイナミックランダムアクセスメモリ(DRAM)、高速キャッシュメモリ、またはフラッシュメモリなどの、任意の揮発性または不揮発性の集積回路メモリであり得る。いくつかの他の実装形態では、ディスプレイコントローラ集積回路は、直接様々なドライバ130、132、138、および148にデータ信号を出力することをフレームバッファに行わせる。
いくつかの他の実装形態では、上述されたマイクロプロセッサおよびディスプレイコントローラ集積回路の機能は、コントローラ134などの単一の論理デバイスの中に結合され、その論理デバイスは、マイクロプロセッサ、ASIC、フィールドプログラマブルゲートアレイ(FPGA)、または他のプログラマブル論理デバイスの形態をとる場合がある。いくつかの他の実装形態では、マイクロプロセッサおよびディスプレイコントローラ集積回路の機能は、1つまたは複数のマイクロプロセッサ、ASIC、FPGA、デジタル信号プロセッサ(DSP)、または他の論地デバイスを含む、複数の論理デバイスの間で他の方法で分割される場合がある。
ホストプロセッサ122は、一般に、ホストの動作を制御する。たとえば、ホストプロセッサ122は、ポータブル電子デバイスを制御するための汎用プロセッサまたは専用プロセッサであり得る。ホストデバイス120内に含まれるディスプレイ装置128に対して、ホストプロセッサ122は、画像データならびにホストに関する追加データを出力する。そのような情報には、周辺光もしくは温度などの環境センサからのデータ、たとえば、ホストの動作モードもしくはホストの電源に残っている電力量を含むホストに関する情報、画像データの内容に関する情報、画像データのタイプに関する情報、および/または画像モードを選択する際に使用するディスプレイ装置に対する命令が含まれ得る。
以下でさらに記載されるように、ホストプロセッサ122は、その出力シーケンスを調整するようにマイクロプロセッサに命令を転送することができる。たとえば、そのような命令に基づいて、マイクロプロセッサは、色当たりより少ないかより多いサブフレームで、またはより高いかより低いフレームレートで、出力シーケンスを使用して画像を出力することができる。加えて、ホストプロセッサ122からの命令に基づいて、マイクロプロセッサは、各原色を生成する際に、(赤のランプ140、緑のランプ142、青のランプ144、および白のランプ146などの)各光源の相対強度を調整することができる。そうすることによって、ディスプレイ装置128が様々な色域または様々な色域の部分を再生することができるために、各原色の彩度が調整される。
ユーザ入力モジュール126は、ユーザの個人的な選好をコントローラ134に直接、またはホストプロセッサ122を介して伝達する。いくつかの実装形態では、ユーザ入力モジュール126は、ユーザが「色をより濃く」、「コントラストをより良好に」、「電力をより低く」、「輝度を増して」、「スポーツ」、「生のアクション」、または「アニメーション」などの個人的な選好をプログラムするソフトウェアによって制御される。いくつかの他の実装形態では、これらの選好は、スイッチまたはダイヤルなどのハードウェアを使用して、ホストに入力される。コントローラ134への複数のデータ入力は、最適な結像特性に対応する様々なドライバ130、132、138、および148にデータを提供するように、コントローラに指示する。
環境センサモジュール124も、ホストデバイス120の一部として含まれ得る。環境センサモジュール124は、温度および/または周辺の照明条件などの周辺環境に関するデータを受信する。センサモジュール124は、デバイスが屋内またはオフィス環境で動作しているか、明るい昼光の中の屋外環境で動作しているか、夜間の屋外環境で動作しているかを区別するようにプログラムすることができる。センサモジュール124は、コントローラ134が周辺環境に応答して表示条件を最適化することができるように、この情報をディスプレイコントローラ134に通信する。
図2Aは、例示的なシャッター式光変調器200の透視図を示す。シャッター式光変調器200は、図1Aに示された直視型MEMS方式ディスプレイ装置100への組込みに適している。光変調器200は、アクチュエータ205に結合されたシャッター202を含む。アクチュエータ205は、2つの別個の準拠電極ビームアクチュエータ205(「アクチュエータ205」)から形成することができる。シャッター202は、片側でアクチュエータ205に結合する。アクチュエータ205は、表面203に対して実質的に平行である運動面における表面203の上方で、シャッター202を横方向に移動させる。シャッター202の反対側は、アクチュエータ205によって加えられる力に対向する復元力を与えるスプリング207に結合する。
各アクチュエータ205は、シャッター202をロードアンカ208に接続する準拠ロードビーム206を含む。ロードアンカ208は、準拠ロードビーム206とともに、機械的支持として働き、シャッター202を、表面203に近接して懸架されたまま保つ。表面203は、光を通過させるための1つまたは複数の開口穴211を含む。ロードアンカ208は、準拠ロードビーム206およびシャッター202を表面203に物理的に接続し、ロードビーム206を、バイアス電圧、場合によってはアースに電気的に接続する。
基板がシリコンなどの不透明なものである場合、基板204を通して穴のアレイをエッチングすることによって、基板に開口穴211が形成される。基板204がガラスまたはプラスチックなどの透明なものである場合、基板204に堆積された遮光材料の層に開口穴211が形成される。開口穴211は、一般に、円形、楕円形、多角形、蛇状、または形状が不規則であり得る。
各アクチュエータ205はまた、各ロードビーム206に隣接して配置された準拠駆動ビーム216を含む。駆動ビーム216は、一端で、駆動ビーム216の間で共有される駆動ビームアンカ218に結合する。各駆動ビーム216の他端は、自由に移動する。各駆動ビーム216は、駆動ビーム216の自由端およびロードビーム206の固定端の近くのロードビーム206に最も近いように湾曲される。
動作中、光変調器200を組み込むディスプレイ装置は、駆動ビームアンカ218を介して駆動ビーム216に電位を印加する。第2の電位が、ロードビーム206に印加される場合がある。駆動ビーム216とロードビーム206との間で生じた電位差は、駆動ビーム216の自由端をロードビーム206の固定端の方に引きつけ、ロードビーム206のシャッター端を駆動ビーム216の固定端の方に引きつけ、それによって、シャッター202を駆動アンカ218に向かって横方向に駆動する。準拠部材206は、ビーム206およびビーム216の電位にわたる電圧が除去されたとき、ロードビーム206がシャッター202をその最初の位置に押し戻し、ロードビーム206に蓄積された応力を解放するように、スプリングとして働く。
光変調器200などの光変調器は、電圧が除去された後にシャッターをその休止位置に戻すための、スプリングなどの受動復元力を組み込む。他のシャッターアセンブリは、シャッターを開状態または閉状態のいずれかに移動するための、「開」アクチュエータと「閉」アクチュエータの二重のセット、ならびに「開」電極および「閉」電極の個別のセットを組み込むことができる。
制御マトリクスによりシャッターおよび開口のアレイを制御して画像が生成するようにし、多くの場合、適切なルミナンスレベルで画像を移動させるための様々な方法がある。いくつかの場合には、制御は、ディスプレイの周囲にあるドライバ回路に接続された行および列の相互接続の受動マトリクスアレイを用いて遂行される。他の場合には、ディスプレイの速度、ルミナンスレベル、および/または電力消散性能を向上させるために、切替え素子および/またはデータ記憶素子を、アレイ(いわゆるアクティブマトリクス)の各ピクセル内に含めることが適切である。
ディスプレイ装置100は、代替実装形態では、上述されたシャッターアセンブリ200などの横方向シャッター式光変調器以外の表示素子を含む。たとえば、図2Bは、例示的なローリングアクチュエータシャッター式光変調器220の断面図を示す。ローリングアクチュエータシャッター式光変調器220は、図1Aに示されたMEMS方式ディスプレイ装置100の代替実装形態への組込みに適している。ローリングアクチュエータ式光変調器は、固定電極の反対側に配設され、電界が印加されるとシャッターとして機能するために、特定の方向に移動するようにバイアスされた可動電極を含む。いくつかの実装形態では、光変調器220は、基板228と絶縁層224との間に配設された平面電極226と、絶縁層224に取り付けられた固定端部230を有する可動電極222とを含む。印加電圧がまったくない場合に、可動電極222の可動端部232は、固定端部230の方へ自由に回転して、回転状態をもたらす。電極222と電極226との間に電圧を印加すると、可動電極222は展開し、絶縁層224に対して横になり、それによって光が基板228を通るのを遮断するシャッターとして働く。可動電極222は、電圧が除去された後、弾性復元力によって回転状態に戻る。回転状態の方へのバイアスは、異方性応力状態を含むように可動電極222を製造することによって実現される場合がある。
図2Cは、例示的な非シャッター式MEMS光変調器250の断面図を示す。光タップ変調器250は、図1Aに示されたMEMS方式ディスプレイ装置100の代替実装形態への組込みに適している。光タップは、減衰全反射(TIR)の原理に従って作用する。すなわち、光252は光ガイド254に取り入れられ、その中で干渉がないと、光252はたいてい、TIRに起因して光ガイド254の前面または後面を通って光ガイド254を脱出することができない。光タップ250は、十分に高い屈折率を有するタップ素子256を含み、その結果、タップ素子256が光ガイド254と接触したことに応答して、タップ素子256に隣接する光ガイド254の表面に衝突した光252は、光ガイド254を脱出してタップ素子256を通り、見る人の方に向かい、それによって画像の形成に寄与する。
いくつかの実装形態では、タップ素子256は、柔軟な透明材料のビーム258の一部として形成される。電極260は、ビーム258の片側の部分をコーティングする。対向する電極262は、光ガイド254に配設される。電極260および電極262にわたって電圧を印加することによって、光ガイド254に対するタップ素子256の位置は、光ガイド254から光252を選択的に抽出するように制御することができる。
図2Dは、例示的なエレクトロウェッティング式光変調アレイ270の断面図を示す。エレクトロウェッティング式光変調アレイ270は、図1Aに示されたMEMS方式ディスプレイ装置100の代替実装形態への組込みに適している。光変調アレイ270は、光キャビティ274に形成された複数のエレクトロウェッティング式光変調セル272a〜d(全体として「セル272」)を含む。光変調アレイ270はまた、セル272に対応するカラーフィルタ276のセットを含む。
各セル272は、水(または他の透明な導電性もしくは極性の流体)の層278と、光吸収オイルの層280と、(たとえば、酸化インジウムスズ(ITO)から作られた)透明電極282と、光吸収オイルの層280と透明電極282との間に位置する絶縁層284とを含む。本明細書に記載される実装形態では、電極はセル272の後面の一部分を占める。
セル272の後面の残りは、光キャビティ274の前面を形成する反射開口層286から形成される。反射開口層286は、反射性金属または誘電鏡を形成する薄膜の積層などの反射性材料から形成される。セル272ごとに、光を通させるように反射開口層286内に開口が形成される。セル用の電極282は、開口内に、および別の誘電体層によって分離された反射開口層286を形成する材料の上に堆積される。
光キャビティ274の残りは、反射開口層286に近接して配置された光ガイド288と、反射開口層286の反対側の光ガイド288の片側にある第2の反射層290とを含む。一連の光リダイレクタ291は、光ガイドの後面上に、第2の反射層に近接して形成される。光リダイレクタ291は、拡散反射体または鏡面反射体のいずれかであり得る。LEDなどの1つまたは複数の光源292は、光ガイド288に光294を注入する。
代替実装形態では、追加の透明基板(図示せず)が光ガイド288と光変調アレイ270との間に配置される。この実装形態では、反射開口層286は、光ガイド288の表面ではなく追加の透明基板に形成される。
動作中、セル(たとえば、セル272bまたは272c)の電極282に電圧を印加すると、セル内の光吸収オイル280がセル272の一部分に集まる。その結果、光吸収オイル280は、反射開口層286内に形成された開口を光が通過するのを妨害しなくなる(たとえば、セル272bおよび272c参照)。次いで、開口にあるバックライトを脱出した光は、セルを通り、カラーフィルタ276のセット内の対応するカラーフィルタ(たとえば、赤、緑、または青)を通って脱出して、画像内にカラーピクセルを形成することができる。電極282が接地されたとき、光吸収オイル280は、反射開口層286内の開口を覆い、開口を通過しようとする任意の光294を吸収する。
電圧がセル272に印加されたときにオイル280がその下に集まるエリアは、画像の形成に関連して無駄な空間を構成する。このエリアは、電圧が印加されるか否かにかかわらず、透過しない。したがって、反射開口層286の反射部分を含めないことで、このエリアは、場合によっては画像の形成に寄与するために使用され得る光を吸収する。しかしながら、反射開口層286を含めることで、場合によっては吸収されているこの光は、異なる開口を通る将来の脱出のために、光ガイド288に逆反射される。エレクトロウェッティング式光変調アレイ270は、本明細書に記載されたディスプレイ装置に含めるのに適した非シャッター式MEMS変調器の唯一の例ではない。他の形式の非シャッター式MEMS変調器も同様に、本開示の範囲から逸脱することなく、本明細書に記載された様々な形式のコントローラ機能によって制御することができる。
図3は、例示的なディスプレイモジュールのパラメータ選択システム300のブロック図を示す。システム300は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータなどのコンピューティングデバイスの中に組み込むことができる。システム300は、ホストデバイスプロセッサ304に通信可能に結合された電子ディスプレイ302を含む。システム300はまた、オペレーティングシステム306、複数のアプリケーション308、およびディスプレイ制御モジュール310などのソフトウェア構成要素を含む。
電子ディスプレイ302は、本明細書に記載されたように、デジタルディスプレイまたはアナログディスプレイを含む様々なデバイスのうちのいずれかであり得る。電子ディスプレイ302は、プラズマディスプレイ、EMSディスプレイ、電界発光(EL)ディスプレイ、OLED、超ねじれネマチック(STN)ディスプレイ、LCD、もしくは薄膜トランジスタ(TFT)LCDなどのフラットパネルディスプレイ、または非フラットパネルディスプレイであり得るか、あるいはそれらを含むことができる。加えて、電子ディスプレイ302は、本明細書に記載されたように、機械的光変調器方式ディスプレイを含むことができる。
電子ディスプレイ302は、ホストデバイスプロセッサ304によって制御することができる。電子ディスプレイ302によって使用される様々な表示設定値は、ホストデバイスプロセッサ304によって調整される場合がある。たとえば、電子ディスプレイ302は、フレームレート、ビット深度、色域、または色域の割合の様々な組合せを使用して動作することができる。電子ディスプレイ302の他の表示パラメータも調整可能であり得る。上述されたように、表示パラメータは、(図1Bに示された光変調器150などの)表示素子のアレイにサブフレームを出力するために電子ディスプレイ302が使用する出力シーケンスを調整する、電子ディスプレイ302内の(同じく図1Bに示されたコントローラ134などの)コントローラによって調整することができる。コントローラは、コントローラが電子ディスプレイ302内の光源を照明する強度も調整することができる。電子ディスプレイ302に適用されるべき表示パラメータごとの特定の値の選択は、ホストデバイスプロセッサ304によって決定することができる。
ホストデバイスプロセッサ304は、電子ディスプレイ302を制御することが可能な任意のタイプの電子プロセッサであり得る。たとえば、ホストデバイスプロセッサ304は、ラップトップコンピュータもしくはデスクトップコンピュータ、スマートフォン、タブレットコンピューティングデバイス、またはスマートテレビジョンモジュールに含まれる汎用プロセッサであり得る。ホストデバイスプロセッサ304は、コンピュータ命令を実行すること、および電子ディスプレイ302と通信して電子ディスプレイ302の出力特性を制御することが可能な、マイクロコントローラ、FPGA、または任意の他のタイプの論理デバイスであり得る。電子ディスプレイ302の所望の出力特性に対応する情報などの制御情報305は、ホストデバイスプロセッサ304から電子ディスプレイ302に送信することができる。表示されるべき画像データなどの他のデータ307も、ホストデバイスプロセッサ304から電子ディスプレイ302に送信することができる。
いくつかの実装形態では、ホストデバイスプロセッサ304は、2つ以上のプロセッサとして実装される場合がある。たとえば、ホストデバイスプロセッサ304は、複数の汎用プロセッサで実装される場合がある。ホストデバイスプロセッサ304はまた、個別のグラフィックスプロセッサと通信する汎用プロセッサで実装される場合がある。いくつかの他の実装形態では、ホストデバイスプロセッサ304は、単一のプロセッサであり得る。たとえば、ホストデバイスプロセッサ304は、単一の汎用プロセッサまたは単一のグラフィックスプロセッサで実装される場合がある。
オペレーティングシステム306、アプリケーション308、およびディスプレイ制御モジュール310などの、システム300のソフトウェア構成要素は、中央処理装置304によって実行することができる。たとえば、オペレーティングシステム306は、ワシントン州レドモンドのMicrosoft Corporationによって製造されたWINDOWS(登録商標)オペレーティングシステム、またはカリフォルニア州クパチーノのApple Inc.によって製造されたOS X(登録商標)オペレーティングシステムなどの、パーソナルコンピュータ上で実行される市販のコンピュータオペレーティングシステムであり得る。他の実装形態では、オペレーティングシステム306は、Apple Inc.によって製造されたIOS(登録商標)オペレーティングシステム、またはカリフォルニア州マウンテンビューのGoogle Inc.によって製造されたANDROID(登録商標)オペレーティングシステムなどの、モバイルコンピューティングデバイスでの使用に適したオペレーティングシステムであり得る。オペレーティングシステム306は、ホストデバイスプロセッサ304などのコンピュータハードウェア上で実行することができ、複数のアプリケーション308のうちのいずれにもリソースを割り振り、サービスを提供することができる。
アプリケーション308は、ホストデバイスプロセッサ304によって実行可能なコンピュータプログラムである。たとえば、アプリケーション308は、ホストデバイスプロセッサ304によって制御されるコンピューティングデバイスにインストールすることができる。アプリケーション308のうちの1つは、コンピューティングデバイスのユーザによる要求に応答して起動することができる。アプリケーション308の各々により、特定のやり方で、コンピューティングデバイスのディスプレイ302の出力などの、入力および/または出力とユーザが対話することが可能になり得る。たとえば、アプリケーション308のうちの1つは、ユーザがウェブページを見ることを可能にするウェブブラウザインターフェースを提供することができ、アプリケーション308のうちの別の1つは、ビデオおよび画像の編集機能を提供することができる。アプリケーション308の他の例には、電子リーダ、電子メールクライアント、ゲーム、テキストエディタ、ファイルブラウザ、描画プログラム、ビデオプレーヤおよびオーディオプレーヤ、または任意の他のタイプのコンピュータプログラムが含まれ得る。
いくつかの実装形態では、アプリケーション308のうちの1つまたは複数は、デバイスが顧客によって購入されたとき、コンピューティングデバイスにプレインストールされている場合がある。他の実装形態では、アプリケーション308は、コンピューティングデバイスの購入の後にインストールされる場合がある。たとえば、アプリケーション308は、インターネットなどのコンピュータネットワークを介して、サードパーティのアプリケーション開発者からコンピューティングデバイスにダウンロードされる場合がある。次いで、ダウンロードされたアプリケーションは、コンピューティングデバイスにインストールすることができる。アプリケーション308は、コンピューティングデバイスのユーザによって別個に開発される場合もある。たとえば、アプリケーションを開発するためにコンピューティングデバイス自体を使用することができ、次いで、コンピューティングデバイスにアプリケーションをインストールすることができる。
コンピューティングデバイスにインストールされた任意の数のアプリケーション308が存在し、各アプリケーション308は、様々な表示出力要件を有する場合がある。たとえば、3次元ビデオゲームなどのグラフィックスの多いアプリケーション308は、コンピューティングデバイスのユーザに考えられる最良の体験を与えるために、より高いフレームレートを必要とする場合がある。この例では、約120Hzのリフレッシュレートが最適であり得る。そのようなアプリケーションは、約15Hzなどの比較的低いフレームレートでは、使用不可能であり得る。他のアプリケーション308は、かなり低いフレームレートでもどうにか実行することができる。たとえば、電子リーダまたはテキストエディタなどの、グラフィカルコンテンツが比較的少ないアプリケーションは、約120Hzのフレームレートなどのはるかに高いフレームレートと実質的に同じことを約15Hzのフレームレートで実行するものとして、人間のユーザには見られる場合がある。他のアプリケーション308は、他の表示出力パラメータについての様々な要件を有する場合がある。たとえば、写真編集アプリケーションは、大きいビット深度を必要とする場合があるが、電子メールクライアントはそうではない場合がある。ビジュアルコンテンツを有しておらず、したがってグラフィカルな表示出力要件を有していない、ホストデバイスプロセッサ304によって実行されるアプリケーション308が存在する場合もある。
いくつかの実装形態では、アプリケーション308のうちの一部または全部は、ホストデバイスプロセッサ304ではなく、リモートコンピュータにインストールし、実行することができる。たとえば、アプリケーション308は、別個のプロセッサによって実行されるが電子ディスプレイ302に表示される、仮想アプリケーションであり得る。この例では、ホストデバイスプロセッサ304は、アプリケーション308を実行しないが、依然としてアプリケーション308からの画像を電子ディスプレイ302に送信する。したがって、ホストデバイスプロセッサ304によって実行されていない場合があるアプリケーション用のグラフィカルコンテンツを表示するために、ホストデバイスプロセッサ304が電子ディスプレイ302を適切に制御することが重要である。
アプリケーション308は、システム300のユーザからのコマンドに応答して起動され得る。いくつかの実装形態では、ユーザは、アプリケーション308のうちのいくつかを起動し、それらのアプリケーション308を同時に実行することを望む場合がある。たとえば、起動された各アプリケーションは、電子ディスプレイ302上のそれ自体のウィンドウ内で表示される場合がある。並行して実行されるアプリケーションは、各々様々な表示出力の基本設定または要件を有することができる。この例では、ホストデバイスプロセッサ304は、並行して実行されるアプリケーションのすべてのための画像データを電子ディスプレイ302に送信することができる。ホストデバイスプロセッサ304は、アプリケーション308のすべてを同時に表示するのに適した出力特性で動作するように、ディスプレイユニット302を制御することもできる。
前述の出力特性は、電子ディスプレイ302上で実行されるオペレーティングシステム306内に常駐するディスプレイ制御モジュール310によって決定することができる。ディスプレイ制御モジュール310は、アプリケーション308、オペレーティングシステム306の残り、およびホストデバイスプロセッサ304と通信することができる。たとえば、ディスプレイ制御モジュール310は、各アプリケーション308の表示要件、ならびに、もしあればアプリケーション308のうちのどれが現在プロセッサ304上で実行されているかを示す情報などの情報を維持することができる。ディスプレイ制御モジュール310は、アプリケーション308からの情報を使用して、電子ディスプレイ302用の所望の表示出力パラメータを決定することができ、次いで、所望のパラメータを電子ディスプレイ302に送信(または通信)することをホストデバイスプロセッサ304に行わせることができる。
ディスプレイ制御モジュール310は、電子ディスプレイ302の現在の表示パラメータをいつ改変することが望ましいかを決定することもできる。たとえば、ディスプレイ制御モジュール310は、現在プロセッサ304によって実行されているアプリケーション308に関する情報を、連続的または周期的に受信することができる。高いフレームレートを必要とするアプリケーション308が終了した場合、ディスプレイ制御モジュール310は、より低いフレームレートで動作する命令をホストデバイスプロセッサ304に送信することによって、応答することができる。ディスプレイ制御モジュール310は、他の情報を使用して、電子ディスプレイ302用の所望の動作パラメータを決定することもできる。たとえば、ディスプレイ制御モジュール310は、システム300の電力消費を低減することが優先事項であると判断することができ、より低いフレームレートまたは減らされた最大輝度レベルなどの、アプリケーション308からのグラフィカルコンテンツを表示しながらシステム300が消費する電力を低くすることを可能にする表示パラメータ情報を、ホストデバイスプロセッサ304に送信することによって、応答することができる。
図4は、例示的なアプリケーションデータ構造400を示す。アプリケーションデータ構造400は、図3に示されたホストデバイスプロセッサ304によって実行することができ、電子ディスプレイ302によって表示することができる、少なくともいくつかのアプリケーションに対応する情報を含む。たとえば、アプリケーションデータ構造400は、アプリケーションごとの識別情報402を含んでいる。識別情報402によって識別されるアプリケーションごとに、アプリケーションデータ構造400はまた、複数の表示パラメータ404についての最小値および推奨値を含む。
識別情報402は、アプリケーション名、アプリケーションタイプ、または、表示され得る各アプリケーションを識別する任意の他の形態の情報を含むことができる。たとえば、アプリケーションデータ構造400は、ウェブブラウザ、電子リーダ、地図アプリケーション、またはビデオゲームなどのアプリケーションを識別する識別情報402を含むことができる。アプリケーションデータ構造400は例示的なものにすぎず、任意の数の様々なアプリケーションについての識別情報402を含むように修正することができる。
アプリケーションデータ構造400はまた、アプリケーション識別情報402によって識別されるアプリケーションごとの表示パラメータ情報404を含む。たとえば、表示パラメータ404は、リフレッシュレート、ビット深度、または色域の割合を含むことができる。各パラメータ404は、複数の関連する値を有することができる。たとえば、アプリケーションは、表示パラメータ404ごとに最小必要値ならびに推奨値を有する場合がある。いくつかの実装形態では、アプリケーションデータ構造400は、最小必要値のみを記憶する。
パラメータ404ごとの値は、関連するアプリケーションのグラフィカルコンテンツに基づいて選択することができる。たとえば、地図アプリケーションは、高解像度衛星写真を含む大量のグラフィカルコンテンツを表示するように予想される場合がある。したがって、そのようなアプリケーションは、写真画像を正確に表すために比較的大きいビット深度を有することが好ましい場合がある。他のアプリケーションは、様々な表示パラメータ404を有する場合がある。たとえば、電子リーダまたはテキストエディタは、主に黒色および白色を表示する場合があり、したがって他のアプリケーションよりもかなり小さい色域しか必要としない場合がある。いくつかのアプリケーションはまた、表示パラメータ404についての最小要件を有する場合がある。たとえば、ビデオゲームアプリケーションは、ディスプレイのリフレッシュレートが30フレーム毎秒などのしきい値のリフレッシュレートを下回る場合、使用できない場合がある。
いくつかの実装形態では、アプリケーションデータ構造400は、時間とともに修正することができる。たとえば、コンピューティングデバイスにより、ユーザが随意にアプリケーションをインストールおよび削除することが可能になり得る。アプリケーションデータ構造400内のデータは、たとえば、新しくインストールされたアプリケーションに対応する行を追加することによって、アプリケーションのインストールおよび削除を説明するように更新することができる。新しいアプリケーションについての識別情報402および表示パラメータ404は、データ構造400に記録することができる。アプリケーションがコンピューティングデバイスから削除されたとき、その識別情報402および表示パラメータ404は、データ構造400から抹消することができる。
アプリケーションデータ構造400はまた、仮想アプリケーションなどのコンピューティングデバイスにインストールされていないアプリケーションについての識別情報を含むことができる。たとえば、コンピューティングデバイスが、リモートでホストされた仮想アプリケーションにアクセスすることを認可された場合、アプリケーションデータ構造400は、仮想アプリケーションについての識別情報402および関連する表示パラメータ404を含むように修正することができる。コンピューティングデバイスがもはや仮想アプリケーションにアクセスしていない場合、その識別情報402および表示パラメータ404は、データ構造400から削除することができる。
アプリケーションデータ構造400に対する他の修正も可能であり得る。アプリケーションがインストールされたとき、識別情報402および表示パラメータ404は、データ構造400に記憶される場合がある。たとえば、この情報は、アプリケーションがインストールされたときにアプリケーションの開発者によって提供される場合がある。しかしながら、たとえば、アプリケーションソフトウェアに対する更新に応答して、アプリケーション用の表示要件が変化した場合、アプリケーションについての表示パラメータ404が修正される場合がある。いくつかの実装形態では、アプリケーションデータ構造400内の表示パラメータ404の一部または全部は、コンピューティングデバイスのユーザによって修正することができる。いくつかの実装形態では、図3に示された電子ディスプレイ302は、アプリケーション用の最小パラメータ値または推奨表示パラメータ値を決定することができる。たとえば、図3に示された電子ディスプレイ302は、アプリケーションの実行中、アプリケーションからグラフィカル出力データを受信することができる。次いで、図3に示された電子ディスプレイ302は、グラフィカル出力データに基づいて適切な表示パラメータ値のセットを決定することができる。
別の例では、以前インストールされたアプリケーション用の表示パラメータ404は、アプリケーションが更新されたときに変更される場合がある。たとえば、最初にインストールされたときにテキストのコンテンツしか表示しなかったアプリケーションは、ビデオコンテンツも表示するように更新することができる。次いで、更新されたアプリケーション用の表示パラメータ404は、推奨フレームレートに対応する表示パラメータ404を増大させることなどによって、更新されたアプリケーション内のビデオコンテンツの表示を改善するように変更することができる。
図5は、例示的な表示能力データ構造500を示す。表示能力データ構造500は、複数の表示パラメータ502を含む。表示パラメータ502ごとに、表示能力データ構造500は、1つまたは複数の能力値504を含む。
表示パラメータ502は、表示される画像の外観、または画像およびビデオが電子ディスプレイにレンダリングされる方法を変更するように、調整することができる様々な特性を表す。たとえば、表示パラメータ502は、リフレッシュレート、色ビット深度、色域、最大輝度レベル、または任意の他の調整可能な表示設定値もしくは表示特性を含むことができる。表示能力データ構造500は、任意の数の表示パラメータ502を含むことができる。いくつかの実装形態では、表示パラメータ502の一部または全部は、図4に示されたアプリケーションデータ構造400の表示パラメータ402に対応することができる。
表示パラメータ502ごとに、表示能力データ構造500はまた、ディスプレイが実装することができる特定の値を表す能力値504を含む。たとえば、ディスプレイは、約60Hzの最大フレームレートを有する場合があるが、約30Hz、24Hz、または1Hzのフレームレートで動作する場合もある。たとえば、ディスプレイが動作することができない、約16Hzなどの中間値があり得るし、これらの中間値は、表示能力データ構造500に存在しない。いくつかの実装形態では、表示パラメータ502および能力値504は固定であり得る。他の実装形態では、たとえば、ディスプレイの性能に影響するファームウェア更新に応答して、表示能力データ構造500内の値の一部または全部を修正することが可能であり得る。
いくつかの実装形態では、表示能力データ構造500内の表示パラメータ502および能力値504は、ディスプレイが製造されたときに設定される場合がある。たとえば、ディスプレイを含むコンピューティングデバイスは、コンピューティングデバイスが組み立てたれたときに含められた表示能力データ構造500を有することができる。製造業者が後で異なるベンダからのディスプレイまたは旧ディスプレイの更新バージョンなどの異なるディスプレイを有するデバイスを製造することを選んだ場合、後のデバイス上の表示能力データ構造500は、更新されたディスプレイの能力における任意の変更を説明するように改変することができる。アプリケーションはこれらの変更のために書き直される必要はないので、製造プロセスは簡略化することができ、製造された各デバイスのオペレーティングシステムは、デバイスが製造されたときから正確な表示能力データ構造500にアクセスすることができる。
図6は、例示的な表示モードデータ構造600を示す。表示モードデータ構造600は、1つまたは複数の表示モード602を含む。表示モード602ごとに、表示モードデータ構造は、1つまたは複数の表示パラメータ604用の値を含む。いくつかの実装形態では、表示パラメータ604の一部または全部は、図4に示されたアプリケーションデータ構造400の表示パラメータ402、または図5に示された表示能力データ構造500の表示パラメータ502に対応することができる。
表示モード602は、コンピューティングデバイスの様々な優先事項または表示性能目標に対応することができる。たとえば、省電力モード602およびその関連する表示パラメータ604は、電力を節約することが優先事項であるときにディスプレイによって実装されるべき表示動作特性を表すことができる。コンピューティングデバイスが壁コンセントもしくは他の電源に差し込まれていない場合、またはコンピューティングデバイスの内部バッテリが十分に充電されていない場合、そのようなモードが有用であり得る。この例では、フレームレートまたは最大輝度レベルに対応する表示パラメータ602は低い値を有する場合があり、これにより、電力消費を低減する方式でディスプレイが動作することが可能になり得る。
別の例では、表示モードデータ構造600は、特にビデオ再生に適した表示モード602を有することができる。このモードでは高品質ビデオが優先事項であり、それに応じて表示パラメータ604を選択することができる。たとえば、表示されるビデオコンテンツの外観を改善するために、高いフレームレートおよび大きいビット深度を使用することができる。
いくつかの実装形態では、表示モードデータ構造600は修正することができる。たとえば、コンピューティングデバイスのユーザは、ディスプレイの特性について独自の選好を有する場合がある。したがって、ユーザは、カスタム表示モード602および表示パラメータ604についての対応する値を作成することができ、それらのすべては表示モードデータ構造600に記憶することができる。任意の数のそのようなカスタム表示モード602をデータ構造600に追加することができる。ユーザは、表示モード602およびそれらの対応する表示パラメータ604を表示モードデータ構造600から抹消する場合もある。
図7は、図3に示されたディスプレイ制御モジュール310のブロック図を示す。ディスプレイ制御モジュール310は、図4に示されたアプリケーションデータ構造400、図5に示された表示能力データ構造500、および図6に示された表示モードデータ構造600にアクセスすることができる。ディスプレイ制御モジュール310は、アプリケーションデータ構造維持モジュール705と、表示能力データ構造維持モジュール710と、パラメータ選択モジュール720と、パラメータ送信モジュール725とを含む。
アプリケーションデータ構造維持モジュール705は、アプリケーションデータ構造400が正確かつ完全であることを保証するように構成される。たとえば、アプリケーションデータ構造維持モジュール705は、コンピューティングデバイスにインストールされたアプリケーションを監視することができる。アプリケーションがコンピューティングデバイスからアンインストールされたとき、またはコンピューティングデバイスがもはや仮想アプリケーションにアクセスしていないとき、アプリケーションデータ構造維持モジュール705は、アプリケーションデータ構造400から対応する情報を抹消することができる。新しいアプリケーションがインストールされたとき、アプリケーションデータ構造維持モジュール705は、新しくインストールされたアプリケーションについての識別情報および表示パラメータ情報をアプリケーションデータ構造400に登録することができる。いくつかの実装形態では、アプリケーションデータ構造維持モジュール705は、アプリケーション自体からそのような情報を取り出すことができ、その情報をアプリケーションデータ構造400に記憶することができる。たとえば、アプリケーションは、複数の表示パラメータ用の推奨値および最小値を示す、その開発者によって提供されたファイルを含むことができる。いくつかの実装形態では、そのようなファイルは、インストールされたアプリケーションとともに含まれる。いくつかの他の実装形態では、アプリケーションデータ構造維持モジュール705は、アプリケーションをそれらそれぞれの必要表示パラメータおよび/または推奨表示パラメータに関連付けるデータベースまたは他のデータ構造を維持する、アプリケーション開発者または他のパーティによって運営されるリモートサーバに照会する。いくつかの他の実装形態では、アプリケーションデータ構造維持モジュール705は、アプリケーションのグラフィカル出力を分析することによって、アプリケーション用の最小表示パラメータおよび/または推奨表示パラメータを識別することができる。他の実装形態では、アプリケーションデータ構造維持モジュール705は、新しくインストールされたアプリケーションがビデオゲームまたはテキストエディタなどの特定のカテゴリのアプリケーションであると判断することができ、そのカテゴリに属する他のアプリケーションに典型的な表示パラメータ値をアプリケーションデータ構造400に登録することができる。
同様に、表示能力データ構造維持モジュール710は、表示能力データ構造500を完全かつ正確な状態に維持することができる。たとえば、表示能力データ構造維持モジュール710は、ディスプレイに対するファームウェア更新の後に有効になる変更などの、ディスプレイの動作能力に対する変更を監視することができる。次いで、表示能力データ構造維持モジュール710は、表示能力データ構造500から、より古くより不正確な情報を削除することができ、必要に応じて更新された情報を追加することができる。
パラメータ選択モジュール720は、ディスプレイ制御モジュール310の他の構成要素のすべてと対話して、電子ディスプレイによって使用されるべき表示パラメータのセットを決定することができる。たとえば、パラメータ選択モジュール720は、アプリケーションデータ構造400、表示能力データ構造500、表示モードデータ構造600、および図3に示されたオペレーティングシステム306から入力を受信することができる。いくつかの実装形態では、パラメータ選択モジュール720は、アプリケーションデータ構造400または表示能力データ構造500と直接通信することができる。たとえば、パラメータ選択モジュール720は、アプリケーションデータ構造400もしくは表示能力データ構造500から情報を読み込むことができるか、またはデータ構造自体にそのような情報を要求し、所望の情報を含んでいる応答を待つことができる。他の実装形態では、パラメータ選択モジュール720は、それぞれ、アプリケーションデータ構造維持モジュール705および表示能力データ構造維持モジュール710を介して、アプリケーションデータ構造400および表示能力データ構造500から情報を受信することができる。
一実装形態では、パラメータ選択モジュール720は、ユーザがコンピューティングデバイス上のアプリケーションを起動したと判断することができる。パラメータ選択モジュール720は、起動されたアプリケーションを識別し、アプリケーションデータ構造400内の対応する項目から情報を取り出して、アプリケーション用の推奨表示設定値を決定することができる。いくつかの実装形態では、パラメータ選択モジュール720は、推奨表示パラメータを選択することができる。
パラメータ選択モジュール720は、他の因子を使用して表示パラメータを選択することもできる。たとえば、パラメータ選択モジュール720は、電子ディスプレイを取り囲む環境内の周辺光に対応する情報を受信することができる。周辺光は表示される画像の品質に影響する可能性があるので、パラメータ選択モジュール720は、周辺光の情報を使用して表示パラメータの選択を改善することができる。一例では、ディスプレイは、晴れた日の屋外などの非常に明るい環境内にあり得る。パラメータ選択モジュール720は、表示される画像がユーザにより見えやすく、日光によって色あせないように、最大表示輝度について比較的高い値を選択することができる。同様に、明るい照明条件下では、見る人はより高いビット深度に関連する微妙な区別を知覚することができないので、パラメータ選択モジュール720は、高い周辺光レベルに応答してより低いビット深度を選択することができる。代替として、ディスプレイが暗い環境内に位置するとパラメータ選択モジュール720が判断した場合、パラメータ選択モジュール720は、比較的低い最大輝度レベルを選択することができる。薄暗い照明条件下では、より高いビット深度に関連する微妙な区別は、見る人によってより容易に知覚されるので、パラメータ選択モジュール720は、より低い周辺光レベルに応答してより高いビット深度を選択することもできる。このように、いくつかの実装形態では、パラメータ選択モジュール720は、アプリケーションデータ構造400内の推奨値とは異なるパラメータ値を選択することによって、表示される画像の品質を改善する助けをすることができる。
パラメータ選択モジュール720は、コンピューティングデバイスの電源、電力レベル、または電力消費および/もしくは電力に関する情報を受信することもできる。たとえば、パラメータ選択モジュール720は、コンピューティングデバイスが壁コンセントに電気的に接続されているか、または代わりにバッテリによって電力供給されているかを判定することができる。パラメータ選択モジュール720は、残りのバッテリ寿命を判断することもできる。バッテリ寿命が低いと判断された場合、パラメータ選択モジュール720は、たとえば、より低いフレームレートなどの、コンピューティングデバイスの予想バッテリ寿命を長くする表示パラメータを選択することができる。そのような値は、アプリケーションデータ構造に記憶された推奨値より低い場合でも、選択される場合がある。いくつかの実装形態では、パラメータ選択モジュール720は、コンピューティングマシン上で現在実行されているアプリケーションごとにアプリケーションデータ構造に記憶された最小値よりも、選択されたパラメータが低くないことを保証することができる。
いくつかの実装形態では、パラメータ選択モジュール720は、新しいアプリケーションを起動する要求を最初に受信せずに、表示パラメータの新しいセットを選択することができる。たとえば、コンピューティングデバイス上で同時に実行されている2つ以上のアプリケーションが存在する場合がある。パラメータ選択モジュール720は、図3に示されたオペレーティングシステム306と通信して、所与の時間にどのアプリケーションがアクティブであるかを判定することができる。次いで、アクティブなアプリケーション用の推奨パラメータ値に従って、パラメータ選択を遂行することができる。ユーザがアクティブなアプリケーションを変更した場合、パラメータ選択モジュール720は、新しいアクティブなアプリケーションに基づいてパラメータを選択することができる。他の実装形態では、パラメータ選択モジュール720は、現在実行されているアプリケーションのすべてのための推奨パラメータ値を比較することができ、アプリケーションデータ構造400内の推奨値の最大値に基づいて、パラメータ値を選択することができる。このようにして、パラメータ選択モジュール720は、表示パラメータに対する変更がより低い頻度で行われ得るように、ディスプレイが現在実行されているアプリケーションのすべてに最適化されることを保証することができる。
別の例では、アプリケーションは、いくつかの異なる使用法を有する場合があり、それらの各々は異なるレベルのグラフィックスの複雑さを必要とする。たとえば、ウェブブラウザは、テキストベースのコンテンツを読み込むか、オーディオを聴くか、またはビデオを視るために使用することができる。そのようなアプリケーションが実行されているとき、パラメータ選択モジュール720は、アプリケーションがリアルタイムでどの機能を供給しているかを判断することができ、それに応じて表示パラメータを更新することができる。たとえば、パラメータ選択モジュール720は、ウェブブラウザがテキストを表示するために使用されているとき、フレームレート用に比較的低い値を選択する場合がある。次いで、パラメータ選択モジュール720は、ユーザがビデオコンテンツを有する異なるウェブページに移動したと判断する場合があり、ビデオをより良く表示するためにより高いフレームレートを選択することによって応答することができる。
パラメータ選択モジュール720は、図6に示された表示モードデータ構造600からの情報を使用して、表示パラメータを選択することもできる。たとえば、図6に関連して上記で説明されたように、ユーザは、図6に示された表示モードデータ構造600に自分自身の表示基本設定を記憶することができる。その後、ユーザは、画像がカスタム表示モードに従って表示されることの要望を示すことができ、パラメータ選択モジュール720は、図6に示された表示モードデータ構造600から対応する表示パラメータを選択することができる。
いくつかの実装形態では、パラメータ選択モジュール720は、ユーザ入力がない場合、図6に示された表示モードデータ構造600からパラメータを選択することができる。たとえば、パラメータ選択モジュール720は、コンピューティングデバイスが有している残りのバッテリ寿命のレベルが低いと判断することができ、バッテリ寿命を延ばすために、図6に示された表示モードデータ構造600から、省電力モードに対応するパラメータを選択することができる。
パラメータ選択モジュール720は、図6に示された表示モードデータ構造600内の表示モードに関連付けられたパラメータのサブセットを選択する場合もある。たとえば、電力を節約することが望ましいとパラメータ選択モジュール720が判断した場合、パラメータ選択モジュール720は、60Hzに減らされたフレームレートなどの、省電力モードに関連付けられた1つの値を選択することができるが、高い最大輝度レベルなどの、省電力モードに関連付けられた値以外の値を選択する場合もある。したがって、パラメータ選択モジュール720は、同時に2つ以上の優先事項を満たすようにパラメータ値を選択することができる。
いくつかの他の実装形態では、パラメータ選択モジュール720は、図6に示された表示モードデータ構造600を使用することによって、アプリケーションデータ構造400に記憶された情報がほとんどないアプリケーション用のパラメータを選択することができる。たとえば、起動されたアプリケーションが当てはまる、ビデオアプリケーション、グラフィックスが多いゲーム、オフィスアプリケーションなどのカテゴリを示す情報を、パラメータ選択モジュール720が有する場合、パラメータ選択モジュール720は、カテゴリに関連付けられた表示モードデータ構造600内の対応する表示モードからのパラメータ値を選択することができる。
ディスプレイ制御モジュール310内の構成要素のうちのいずれかまたはすべてからの情報は、表示パラメータ用の値を決定する際に、パラメータ選択モジュール720によって組み合わされる場合がある。たとえば、パラメータ選択モジュール720は、アプリケーションが起動されたと判断することができ、アプリケーションデータ構造400を参照して、起動されたアプリケーション用の表示パラメータ基本設定を決定することができる。次いで、パラメータ選択モジュール720は、表示能力データ構造500を参照して、起動されたアプリケーション用の推奨値を、ディスプレイが実装することが可能な値と比較することができる。推奨パラメータ値がディスプレイによって実装することができない(すなわち、推奨値が表示能力データ構造500に存在しない)場合、パラメータ選択モジュール720は、代わりに、表示能力データ構造500内に存在する値を選ぶことができる。一例では、パラメータ選択モジュール720は、推奨値に最も近い、表示能力データ構造500からの値を選択することができる。別の例では、パラメータ選択モジュール720は、推奨値に最も近いが、推奨値よりも小さくない、表示能力データ構造500からの値を選択することができる。
いくつかの実装形態では、アプリケーションデータ構造400内のパラメータ用の最小値は、表示能力データ構造500内の最大値よりも大きい場合がある。そのような場合、パラメータ選択モジュール720は、表示能力データ構造500からの最大値を選択する場合がある。代替として、パラメータ選択モジュール720は、たとえば、ポップアップダイアログウィンドウを表示することによって、ディスプレイが起動されたアプリケーションによって要求される最小レベルで動作することができないことをユーザに警告する場合がある。次いで、ユーザは、ディスプレイの限界にもかかわらずアプリケーションを実行しようと試みるか、アプリケーションの実行を止めるかを示す場合がある。
ディスプレイ制御モジュール310はまた、パラメータ送信モジュール725を含む。パラメータ送信モジュール725は、図3に示されたホストデバイスプロセッサ304に選択された表示パラメータを送ることができる。パラメータ選択モジュール720が、図3に示された電子ディスプレイ302によって使用されるべき表示パラメータのセットを決定した後、パラメータ選択モジュール720は、パラメータ送信モジュール725に選択されたパラメータを送ることができる。次いで、パラメータ送信モジュール725は、図3に示されたホストデバイスプロセッサ304に選択されたパラメータを送信することができ、ホストデバイスプロセッサ304は、その後、図3に示された電子ディスプレイ302に選択されたパラメータを送信することができる。
図8は、ディスプレイモジュールに表示パラメータ設定値を送信するための例示的なプロセス800の流れ図を示す。いくつかの実装形態では、プロセス800は、図3に示されたディスプレイ制御モジュール310などの、ディスプレイと通信するディスプレイ制御モジュールによって実施することができる。プロセス800は、アプリケーションデータ構造を維持すること(段階805)と、表示能力データ構造を維持すること(段階810)と、アプリケーション起動要求を受信すること(段階815)と、表示パラメータ設定値を選択すること(段階820)と、選択された表示パラメータ設定値を送信すること(段階825)とを含む。
プロセス800は、アプリケーションデータ構造を維持すること(段階805)を含む。図4に関連して上記で説明されたように、図4に示されたアプリケーションデータ構造400などのアプリケーションデータ構造は、コンピューティングデバイス上で実行することが可能なアプリケーションの一部または全部に関する情報を含むことができる。たとえば、図4に示されたアプリケーションデータ構造400は、アプリケーションごとの識別情報を含むことができる。各々の識別されたアプリケーションは、アプリケーションが実行されたときに使用されるべき表示パラメータに関する情報を有することもできる。表示パラメータは、フレームレート、ビット深度、または色域などの、任意のタイプの調整可能な表示動作特性であり得る。いくつかの実装形態では、図4に示されたアプリケーションデータ構造400は、アプリケーションに関連付けられた表示パラメータごとの最小値および推奨値を含むことができる。
いくつかの実装形態では、アプリケーションデータ構造を維持すること(段階805)は、新しくインストールされたアプリケーションに対応する情報をデータ構造に登録することと、アプリケーションがもはやコンピューティングデバイスに利用可能ではないときにデータ構造から情報を削除することと、図4に示されたアプリケーションデータ構造400内の情報が正確かつ完全なままであることを保証することとを含む。いくつかの実装形態では、図4に示されたアプリケーションデータ構造400に所与のアプリケーション用に含まれるべき情報は、アプリケーションの開発者によって提供することができる。たとえば、アプリケーションの開発者は、複数の表示パラメータについての最小値および推奨値を示すアプリケーションを有するファイルを含む場合があり、これらの値は、アプリケーションがインストールされたとき、図4に示されたアプリケーションデータ構造400に追加される場合がある。
図4に示されたアプリケーションデータ構造400は、仮想アプリケーションなどのコンピューティングデバイスにインストールされていないアプリケーションについての識別情報を含むこともできる。たとえば、コンピューティングデバイスは、リモートコンピュータによって実行されたアプリケーションにアクセスすることが可能であり得る。そのようなアプリケーションはローカルにインストールされていないが、そのグラフィカル出力は、依然としてローカルに表示することができる。したがって、図4に示されたアプリケーションデータ構造400を維持すること(段階805)は、仮想アプリケーションに関連付けられた表示パラメータに対応する情報をアプリケーションデータ構造に登録することを含むことができる。コンピューティングデバイスがもはや仮想アプリケーションにアクセスしていないとき、図4に示されたアプリケーションデータ構造400からそのような情報を削除することができる。いくつかの実装形態では、図4に示されたアプリケーションデータ構造400を維持すること(段階805)は、たとえば、図7に示されたアプリケーションデータ構造維持モジュール705によって遂行することができる。
いくつかの実装形態では、図4に示されたアプリケーションデータ構造400を維持すること(段階805)は、コンピューティングデバイスによって実行可能なアプリケーションのうちの1つの更新に応答して、図4に示されたアプリケーションデータ構造400内の値を調整することを含む。たとえば、以前にインストールされたアプリケーションは、アプリケーションがコンピューティングデバイスにインストールされた後、ソフトウェア更新を受ける場合がある。いくつかのそのような更新は、ビデオコンテンツを追加すること、または旧バージョンのアプリケーションよりも高い解像度でグラフィックスを表示することなどによって、アプリケーションのグラフィカル出力に影響する場合がある。したがって、図4に示されたアプリケーションデータ構造400は、新しく更新されたアプリケーションに関連付けられた表示パラメータを更新することによって、ソフトウェア更新後に維持すること(段階805)ができる。
プロセス800は、表示能力データ構造を維持すること(段階810)も含む。図5に関連して上記で説明されたように、図5に示された表示能力データ構造500などの表示能力データ構造は、電子ディスプレイの表示能力に関する情報を含むことができる。たとえば、ディスプレイは、フレームレート、色域、最大輝度レベル、および色ビット深度などの、いくつかの調整可能な表示パラメータを有する場合がある。ディスプレイは、各パラメータに関するいくつかの離散値で動作することが可能な場合がある。いくつかの実装形態では、各デバイスが製造されるとすぐに図5に示された表示能力データ構造500が最新となるように、図5に示された表示能力データ構造500は、コンピューティングデバイス用の製造プロセスの一部として登録することができる。
図5に示された表示能力データ構造500を維持すること(段階810)は、ディスプレイの動作能力における変更に応答して、図5に示された表示能力データ構造500を更新することを含むことができる。たとえば、ディスプレイに関連するファームウェアまたはソフトウェアに対する更新は、ディスプレイの動作特性を改変する可能性がある。次いで、表示能力データ構造内の情報が正確かつ完全なままであることを保証するために、表示能力データ構造に新しい情報を追加することができる。いくつかの実装形態では、図5に示された表示能力データ構造500を維持すること(段階810)は、たとえば、図7に示された表示能力データ構造維持モジュール710によって遂行することができる。
プロセス800は、アプリケーション起動要求を受信すること(段階815)も含む。アプリケーションは、ユーザまたは別のアプリケーションによって起動することができる。たとえば、コンピューティングデバイスのユーザは、グラフィカルユーザインターフェース内のアプリケーションに関連付けられたアイコンを選択することによって、テキストベースのコマンドを入力することによって、または音声によって、アプリケーションを起動することができる。アプリケーションを起動する要求は、たとえば、図7に示されたパラメータ選択モジュール720によって受信することができる。いくつかの実装形態では、コンピューティングデバイスのオペレーティングシステムは、コンピューティングデバイス上で実行されているアプリケーションのリストを維持するか、またはそれにアクセスすることができる。図7に示されたパラメータ選択モジュール720は、周期的にオペレーティングシステムに照会して、どのアプリケーションが動作しているかを判断することができる。図7に示されたパラメータ選択モジュール720によって、以前アクティブでなかったアプリケーションが動作していると判断することができ、この判断は起動要求に対応することができる。別の例では、オペレーティングシステムがアプリケーションの起動要求を受信したとき、オペレーティングシステムは、図7に示されたパラメータ選択モジュール720に通知することができる。
プロセス800は、表示パラメータ設定値を選択すること(段階820)も含む。いくつかの因子は、図4に示されたアプリケーションデータ構造400および図5に示された表示能力データ構造500からの情報を含む、表示パラメータ設定値の選択に寄与することができる。それにより表示パラメータが選択されるプロセス(段階820)は、図7に関連して上述されただけでなく、図9に関連して下記により詳細に記載される。
プロセス800は、選択された表示パラメータ設定値を送信すること(段階825)も含む。いくつかの実装形態では、選択された表示パラメータ設定値は、図3に示されたホストデバイスプロセッサ304などのプロセッサに送信することができる。次いで、図3に示されたホストデバイスプロセッサ304は、電子ディスプレイに選択された表示パラメータ設定値を送信することができ、電子ディスプレイは、選択されたパラメータ設定値を実装することができる。他の実装形態では、選択された表示パラメータ設定値は、プロセッサをバイパスして、電子ディスプレイに直接送信すること(段階825)ができる。
図9は、表示パラメータ設定値を選択するための例示的なプロセス900の流れ図を示す。プロセス900の段階は、たとえば、図8に示されたプロセス800の段階820を実施するために使用することができる。プロセス900は、起動されたアプリケーションを識別すること(段階905)と、2次パラメータを決定すること(段階910)と、アプリケーションデータ構造から表示要件を取得すること(段階915)と、表示能力データ構造から表示能力を取得すること(段階920)と、表示パラメータ設定値を生成すること(段階925)とを含む。いくつかの実装形態では、プロセス900は、表示モードを選択すること(段階930)も含む。
プロセス900は、起動されたアプリケーションを識別すること(段階905)を含む。起動されたアプリケーションは、たとえば、その名称、一意のシリアル番号、または、起動されたアプリケーションを一意に識別する任意の他のタイプの情報によって識別することができる。いくつかの実装形態では、起動されたアプリケーションは、図7に示されたパラメータ選択モジュール720などのソフトウェアモジュールによって識別することができる。たとえば、図7に示されたパラメータ選択モジュール720は、図3に示されたオペレーティングシステム306と対話して、起動されたアプリケーションを識別することができる。
プロセス900は、2次パラメータを決定すること(段階910)も含む。2次パラメータは、ディスプレイデバイス、またはディスプレイデバイスが接続されたコンピューティングデバイスの性能に影響する任意のタイプの情報であり得る。いくつかの実装形態では、2次パラメータは、周辺光レベルなどの、ディスプレイデバイスが位置するエリアの環境条件であり得る。たとえば、周辺光レベルは、ディスプレイデバイスの近傍にある任意のタイプの光検出器によって判断することができる。デバイスが比較的暗い環境内に位置するとき、周辺光レベルが比較的低いと判断することができ、一方でデバイスが比較的明るい環境内に位置するとき、周辺光レベルが比較的高いと判断することができる。
2次パラメータは、デバイス自体の動作特性に関する情報を含むこともできる。たとえば、デバイスに接続された電源のタイプは、2次パラメータであり得る。したがって、デバイスが、壁コンセントに電気的に接続されているか、内部バッテリに電気的に接続されているか、または何らかの他のタイプの電源に電気的に接続されているかを判断することができる。内部バッテリなどのエネルギー供給が制限された電源にデバイスが接続されていると判断された場合、電源が枯渇する前にどれほどの電力が残っているかをさらに判断することができる。
プロセス900は、アプリケーションデータ構造から表示要件を取得すること(段階915)も含む。図4に関連して上記で説明されたように、図4に示されたアプリケーションデータ構造400は、コンピューティングデバイスによって実行することができるアプリケーションごとの識別情報、ならびにアプリケーションごとの表示パラメータ情報を含むことができる。いくつかの実装形態では、図7に示されたパラメータ選択モジュール720などのソフトウェアモジュールは、アプリケーションデータ構造から表示要件を取得すること(段階915)ができる。
たとえば、図7に示されたパラメータ選択モジュール720は、プロセス900の段階905で決定されたアプリケーション識別情報にアクセスすることができる。次いで、図7に示されたパラメータ選択モジュール720は、その識別情報が起動されたアプリケーションの識別情報と一致する、アプリケーションデータ構造内の項目を参照することができる。次いで、いくつかの表示要件を取得すること(段階915)ができる。たとえば、図7に示されたパラメータ選択モジュール720は、フレームレート、ビット深度、色域、またはアプリケーションデータ構造に記録された任意の他のパラメータなどの表示パラメータ用の推奨値を取得することができる。図7に示されたパラメータ選択モジュール720は、これらのパラメータの各々についての最小必要値を取得することもできる。いくつかの実装形態では、起動されたアプリケーションは、ディスプレイが各パラメータの推奨値で動作するときにより良く実行することができるが、ディスプレイがパラメータごとの最小値以上の値で動作するときに依然として機能的であり得る。
プロセス900は、図5に示された表示能力データ構造500などの表示能力データ構造から表示能力を取得すること(段階920)も含む。図5に関連して上記で説明されたように、図5に示された表示能力データ構造500は、ディスプレイデバイスの動作能力に対応する情報を記憶することができる。たとえば、図5に示された表示能力データ構造500は、フレームレート、ビット深度、色域、または任意の他の調整可能な表示パラメータなどの、いくつかの表示パラメータについての情報を記憶することができる。パラメータごとに、図5に示された表示能力データ構造500は、ディスプレイが実装することが可能な値のすべてを記憶することができる。
たとえば、ディスプレイは、約60Hz、30Hz、24Hz、および1Hzのフレームレートで画像を表示することが可能であり得るが、約50Hzなどの中間のフレームレートで画像を表示することが可能ではない場合がある。いくつかの実装形態では、表示能力は、図7に示されたパラメータ選択モジュール720などのソフトウェアモジュールによって決定すること(段階920)ができる。図7に示されたパラメータ選択モジュール720は、図5に示された表示能力データ構造500からパラメータ値を読み込み、記憶することができる。
プロセス900は、表示パラメータ設定値を生成すること(段階925)も含む。パラメータ設定値は、段階905で決定された起動されたアプリケーションの識別情報、段階910で決定された2次パラメータ、段階915でアプリケーションデータ構造から取得された表示要件、段階920で表示能力データ構造から取得された表示能力、またはディスプレイデバイスの性能に関係する場合がある任意の他の因子などの、任意の数の因子に基づいて生成することができる。図7に関連して上記で説明されたように、表示パラメータ設定値は、図7に示されたパラメータ選択モジュール720などのソフトウェアモジュールによって生成することができる。
いくつかの実装形態では、図7に示されたパラメータ選択モジュール720は、表示パラメータ設定値を生成する(段階925)際に、競合する優先事項のバランスをとるために使用することができる。たとえば、図4に示されたアプリケーションデータ構造400は、起動されたアプリケーション用の大きい推奨ビット深度を示す場合がある。しかしながら、ディスプレイを取り囲む周辺光レベルが高いと段階910で判断された場合、見る人が高い周辺光レベルに起因して高いビット深度に関連する色における微妙な区別を知覚しそうにないので、図7に示されたパラメータ選択モジュール720は、ビット深度用の比較的小さい値を選択する場合がある。
別の例では、図4に示されたアプリケーションデータ構造400は、高いフレームレートが所与のアプリケーションに推奨されることを示す場合がある。しかしながら、比較的少ないバッテリ寿命しか残っていないことが段階910で判断されている場合がある。それに応じて、図7に示されたパラメータ選択モジュール720は、電力消費を低減するために推奨フレームレートよりも低いフレームレートパラメータ用の値を生成する(段階925)場合がある。この例では、図7に示されたパラメータ選択モジュール720は、生成されたフレームレートがアプリケーションデータ構造に含まれる最小必要フレームレートを下回らないことを保証することができる。
段階920で取得された表示能力は、表示パラメータ設定値を生成する(段階925)ために使用することもできる。たとえば、図7に示されたパラメータ選択モジュール720は、上記で説明されたように、図4に示されたアプリケーションデータ構造400および2次パラメータに従って、パラメータ用の最適値を選択することができる。次いで、図7に示されたパラメータ選択モジュール720は、図5に示された表示能力データ構造500を参照して、ディスプレイデバイスが生成されたパラメータを実装することが可能であることを保証することができる。いくつかの実装形態では、図7に示されたパラメータ選択モジュール720は、図4に示されたアプリケーションデータ構造400からの推奨値に最も近い、図5に示された表示能力データ構造500からの値に基づいて、パラメータ値を生成することができる。他の実装形態では、図4に示されたアプリケーションデータ構造400からの推奨パラメータ値が、図5に示された表示能力データ構造500からの最大値を越える場合、図7に示されたパラメータ選択モジュール720は、図5に示された表示能力データ構造500からの最大値に等しいパラメータ設定値を生成することができる。
いくつかの実装形態では、プロセス900は、表示モードを選択すること(段階930)も含む。たとえば、表示モードは、図6に示された表示モードデータ構造600などのデータ構造から選択することができる。表示モードは、コンピューティングデバイスの様々な優先事項または表示性能目標に対応することができる。各表示モードは、表示モードの目標を達成するために選択された関連するパラメータ値を有することができる。
たとえば、省電力モードは、電力を節約することが優先事項であるときにディスプレイによって実装されるべき表示動作特性を表すことができる。デバイスがバッテリで動作していると段階910で判断された場合、省電力モードを選択することができる。この例では、フレームレートまたは最大輝度レベルに対応する表示パラメータは、低い値を有する場合があり、これにより、電力消費を低減する方式でディスプレイが動作することが可能になり得る。いくつかの実装形態では、表示モードの選択は表示パラメータの選択を改変する可能性があり、その結果、段階925で生成されたパラメータは、段階930で選択されたモードによって表された、より高い優先事項に適応するように変更される場合がある。
図10は、ディスプレイモジュールに表示パラメータ設定値を送信するための代替のプロセス1000の流れ図を示す。プロセス1000の段階は、図8に示されたプロセス800の段階と同様である。たとえば、プロセス1000は、コンピュータプロセッサに結合されたオペレーティングシステムにより、プロセッサによって実行可能な複数のソフトウェアアプリケーションの各々、およびそれらの対応するグラフィカル出力仕様を識別する、アプリケーションデータ構造を維持すること(段階1005)を含む。プロセス1000の段階1005はプロセス800の段階805に対応する。プロセス1000は、オペレーティングシステムにより、コンピュータプロセッサに結合されたディスプレイモジュールの能力に基づいて、複数の可変表示パラメータおよび可変表示パラメータの各々についての複数の設定値を識別する、表示能力データ構造を維持すること(段階1010)を含む。プロセス1000の段階1010はプロセス800の段階810に対応する。プロセス1000は、オペレーティングシステムにより、複数のソフトウェアアプリケーションのうちの1つを起動するユーザ要求を受信すること(段階1015)を含む。プロセス1000の段階1015はプロセス800の段階815に対応する。プロセス1000は、ユーザ要求の受信に応答するディスプレイ制御モジュールにより、起動されたアプリケーションからのグラフィカル情報を出力する際に使用する、表示パラメータ設定値のセットを選択することを含む。選択は、アプリケーションデータ構造および表示能力データ構造に記憶されたデータに基づいて行われる(段階1020)。プロセス1000の段階1020はプロセス800の段階820に対応する。プロセス1000は、コンピュータプロセッサにより、表示パラメータ設定値の選択されたセットをディスプレイモジュールに送信すること(段階1025)も含む。プロセス1000の段階1025はプロセス800の段階825に対応する。
図11および図12は、複数の表示素子を含む例示的なディスプレイデバイス40のシステムブロック図を示す。ディスプレイデバイス40は、たとえば、スマートフォン、携帯電話、またはモバイル電話であり得る。しかしながら、ディスプレイデバイス40の同じ構成要素またはその若干異なる形態はまた、テレビジョン、コンピュータ、タブレット、電子リーダ、ハンドヘルドデバイス、およびポータブルメディアデバイスなどの様々なタイプのディスプレイデバイスを例示する。
ディスプレイデバイス40は、ハウジング41、ディスプレイ30、アンテナ43、スピーカ45、入力デバイス48、およびマイクロフォン46を含む。ハウジング41は、射出成形および真空成形を含む、様々な製造プロセスのうちのいずれかから形成することができる。加えて、ハウジング41は、限定はしないが、プラスチック、金属、ガラス、ゴム、およびセラミック、またはそれらの組合せを含む、様々な材料のうちのいずれかから作成することができる。ハウジング41は、異なる色の、または異なるロゴ、ピクチャもしくはシンボルを含む他の取外し可能な部分と交換され得る、取外し可能な部分(図示せず)を含むことができる。
ディスプレイ30は、本明細書に記載されたように、双安定ディスプレイまたはアナログディスプレイを含む様々なデバイスのうちのいずれかであり得る。ディスプレイ30はまた、プラズマディスプレイ、ELディスプレイ、OLED、STNディスプレイ、LCD、もしくはTFT LCDなどのフラットパネルディスプレイ、またはCRTもしくは他のチューブデバイスなどの非フラットパネルディスプレイを含むように構成することができる。加えて、ディスプレイ30は、本明細書に記載されたように、機械的光変調器方式ディスプレイを含むことができる。
ディスプレイデバイス40の構成要素は、図11に概略的に示されている。ディスプレイデバイス40はハウジング41を含み、その中に少なくとも部分的に囲まれた追加の構成要素を含むことができる。たとえば、ディスプレイデバイス40はネットワークインターフェース27を含み、ネットワークインターフェース27はアンテナ43を含み、アンテナ43はトランシーバ47に結合することができる。ネットワークインターフェース27は、ディスプレイデバイス40に表示される可能性がある画像データ用のソースであり得る。したがって、ネットワークインターフェース27は、画像ソースモジュールの一例であるが、プロセッサ21および入力デバイス48も、画像ソースモジュールの働きをする場合がある。トランシーバ47はプロセッサ21に接続され、プロセッサ21は調整ハードウェア52に接続される。調整ハードウェア52は、(信号をフィルタリングするか、または場合によっては操作するなど)信号を調整するように構成される場合がある。調整ハードウェア52は、スピーカ45およびマイクロフォン46に接続することができる。プロセッサ21も、入力デバイス48およびドライバコントローラ29に接続することができる。ドライバコントローラ29は、フレームバッファ28およびアレイドライバ22に結合することができ、アレイドライバ22は、次にディスプレイアレイ30に結合することができる。図11に詳細に描写されていない要素を含む、ディスプレイデバイス40内の1つまたは複数の要素は、メモリデバイスとして機能するように構成し、プロセッサ21と通信するように構成することができる。いくつかの実装形態では、電源50は、特定のディスプレイデバイス40の設計における実質的にすべての構成要素に電力を供給することができる。
ネットワークインターフェース27は、ディスプレイデバイス40がネットワークを介して1つまたは複数のデバイスと通信することができるように、アンテナ43およびトランシーバ47を含む。ネットワークインターフェース27は、たとえば、プロセッサ21のデータ処理要件を緩和するいくつかの処理能力を有する場合もある。アンテナ43は、信号を送信および受信することができる。いくつかの実装形態では、アンテナ43は、IEEE16.11(a)、(b)、もしくは(g)を含むIEEE16.11規格、またはIEEE802.11a、b、g、nを含むIEEE802.11規格、およびそのさらなる実装形態に従って、RF信号を送信および受信する。いくつかの他の実装形態では、アンテナ43は、Bluetooth(登録商標)規格に従って、RF信号を送信および受信する。携帯電話の場合、アンテナ43は、符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、モバイル通信用グローバルシステム(GSM(登録商標))、GSM(登録商標)/汎用パケット無線サービス(GPRS)、拡張データGSM(登録商標)環境(EDGE)、地上基盤無線(TETRA)、広帯域CDMA(W-CDMA)、Evolution Data Optimized(EV-DO)、1xEV-DO、EV-DO Rev A、EV-DO Rev B、高速パケットアクセス(HSPA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、発展型高速パケットアクセス(HSPA+)、ロングタームエボリューション(LTE)、AMPS、または、3G、4G、もしくは5Gの技術を利用するシステムなどのワイヤレスネットワーク内で通信するために使用される他の既知の信号を受信するように設計することができる。トランシーバ47は、アンテナ43から受信された信号を、プロセッサ21によって受信され、さらにプロセッサ21によって操作され得るように、前処理することができる。トランシーバ47はまた、プロセッサ21から受信された信号を、アンテナ43を介してディスプレイデバイス40から送信され得るように、処理することができる。
いくつかの実装形態では、トランシーバ47は受信機に置き換えることができる。加えて、いくつかの実装形態では、ネットワークインターフェース27は、プロセッサ21に送られるべき画像データを記憶または生成することができる画像ソースに置き換えることができる。プロセッサ21は、ディスプレイデバイス40の動作全体を制御することができる。プロセッサ21は、圧縮された画像データなどのデータを、ネットワークインターフェース27または画像ソースから受信し、そのデータを生の画像データに、または生の画像データに容易に加工できるフォーマットに加工する。プロセッサ21は、加工されたデータをドライバコントローラ29に、または記憶のためにフレームバッファ28に送ることができる。生データは、通常、画像内の各位置における画像特性を識別する情報を指す。たとえば、そのような画像特性には、色、彩度、およびグレースケールレベルが含まれ得る。
プロセッサ21は、ディスプレイデバイス40の動作を制御するために、マイクロコントローラ、CPU、または論理ユニットを含むことができる。調整ハードウェア52は、スピーカ45に信号を送信するための、およびマイクロフォン46から信号を受信するための増幅器およびフィルタを含む場合がある。調整ハードウェア52は、ディスプレイ40内の個別構成要素であり得るか、またはプロセッサ21もしくは他の構成要素に組み込まれる場合がある。
ドライバコントローラ29は、プロセッサ21によって生成された生画像データを、プロセッサ21から直接、またはフレームバッファ28から取得することができ、かつ生画像データをアレイドライバ22への高速送信のために適切に再フォーマットすることができる。いくつかの実装形態では、ドライバコントローラ29は、生画像データを、ディスプレイアレイ30にわたってスキャンするのに適した時間的順序を有するように、ラスタ様フォーマットを有するデータフローに再フォーマットすることができる。次いで、ドライバコントローラ29は、フォーマットされた情報をアレイドライバ22に送る。LCDコントローラなどのドライバコントローラ29は、しばしば、スタンドアロン集積回路(IC)としてシステムプロセッサ21に関連付けられるが、そのようなコントローラは、多くの方法で実装される場合がある。たとえば、コントローラは、ハードウェアとしてプロセッサ21に埋め込まれるか、ソフトウェアとしてプロセッサ21に埋め込まれるか、またはアレイドライバ22とハードウェア内で完全に一体化される場合がある。
アレイドライバ22は、フォーマットされた情報をドライバコントローラ29から受信することができ、表示素子のディスプレイのx-yマトリクスから来る数百、場合によっては数千(またはそれよりも多く)のリード線に1秒当たり多数回適用される波形の並列セットに、ビデオデータを再フォーマットすることができる。いくつかの実装形態では、アレイドライバ22およびディスプレイアレイ30は、ディスプレイモジュールの一部である。いくつかの実装形態では、ドライバコントローラ29、アレイドライバ22、およびディスプレイアレイ30は、ディスプレイモジュールの一部である。
いくつかの実装形態では、ドライバコントローラ29、アレイドライバ22、およびディスプレイアレイ30は、本明細書に記載されたタイプのデバイスのいずれにも適している。たとえば、ドライバコントローラ29は、従来のディスプレイコントローラまたは(機械的光変調器表示素子コントローラなどの)双安定ディスプレイコントローラであり得る。加えて、アレイドライバ22は、従来のドライバまたは(機械的光変調器表示素子コントローラなどの)双安定ディスプレイドライバであり得る。その上、ディスプレイアレイ30は、従来のディスプレイアレイまたは(機械的光変調器表示素子のアレイを含むディスプレイなどの)双安定ディスプレイアレイであり得る。いくつかの実装形態では、ドライバコントローラ29は、アレイドライバ22と一体化することができる。そのような実装形態は、高集積システム、たとえば、モバイル電話、ポータブル電子デバイス、ウォッチ、または小領域ディスプレイにおいて有用であり得る。
いくつかの実装形態では、入力デバイス48は、たとえば、ユーザがディスプレイデバイス40の動作を制御することを可能にするように構成することができる。入力デバイス48は、QWERTYキーボードもしくは電話キーパッドなどのキーパッド、ボタン、スイッチ、ロッカー、タッチセンシティブスクリーン、ディスプレイアレイ30と一体化されたタッチセンシティブスクリーン、または、感圧性もしくは感熱性の膜を含むことができる。マイクロフォン46は、ディスプレイデバイス40用の入力デバイスとして構成することができる。いくつかの実装形態では、マイクロフォン46を介したボイスコマンドは、ディスプレイデバイス40の動作を制御するために使用することができる。
電源50は、様々なエネルギー蓄積デバイスを含むことができる。たとえば、電源50は、ニッケルカドミウムバッテリまたはリチウムイオンバッテリなどの充電式バッテリであり得る。充電式バッテリを使用する実装形態では、充電式バッテリは、たとえば、壁コンセントまたは光起電デバイスもしくはアレイから来る電力を使用して充電可能であり得る。代替として、充電式バッテリはワイヤレス充電可能であり得る。電源50は、再生可能エネルギー源、キャパシタ、またはプラスチック太陽電池もしくは太陽電池塗料を含む太陽電池であり得る。電源50はまた、壁コンセントから電力を受け取るように構成することができる。
いくつかの実装形態では、電子ディスプレイシステム内のいくつかの場所に位置することができるドライバコントローラ29に制御プログラマビリティが存在する。いくつかの他の実装形態では、アレイドライバ22に制御プログラマビリティが存在する。上述された最適化は、任意の数のハードウェア構成要素および/またはソフトウェア構成要素ならびに様々な構成において実施することができる。
本明細書で使用する、項目のリスト「のうちの少なくとも1つ」を指すフレーズは、単一のメンバを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-cを包含するものである。
本明細書で開示された実装形態に関連して記載された様々な例示的な論理、論理ブロック、モジュール、回路、およびアルゴリズムのプロセスは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装される場合がある。ハードウェアとソフトウェアの互換性は、全体的にそれらの機能に関して記載されており、上述された様々な例示的な構成要素、ブロック、モジュール、回路、およびプロセスにおいて示されている。そのような機能がハードウェアに実装されるか、またはソフトウェアに実装されるかは、特定の適用例およびシステム全体に課された設計制約に依存する。
本明細書で開示された態様に関連して記載された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアおよびデータ処理装置は、汎用シングルチッププロセッサもしくは汎用マルチチッププロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書に記載された機能を実施するように設計されたそれらの任意の組合せで、実装または実施される場合がある。汎用プロセッサは、マイクロプロセッサ、または任意の従来のプロセッサ、コントローラ、マイクロコントローラ、もしくは状態機械であり得る。プロセッサはまた、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成などの、コンピューティングデバイスの組合せとして実装される場合がある。いくつかの実装形態では、特定のプロセスおよび方法は、所与の機能に固有の回路によって実施される場合がある。
1つまたは複数の態様では、記載された機能は、本明細書で開示された構造およびそれらの構造の均等物を含む、ハードウェア、デジタル電子回路、コンピュータソフトウェア、ファームウェアに、またはそれらの任意の組合せに実装される場合がある。本明細書に記載された主題の実装形態はまた、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。
ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶されるか、またはコンピュータ可読媒体を介して送信される場合がある。本明細書で開示された方法またはアルゴリズムのプロセスは、コンピュータ可読媒体に存在する場合があるプロセッサ実行可能ソフトウェアモジュールに実装される場合がある。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にできる任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体には、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るし、コンピュータによってアクセスされ得る任意の他の媒体が含まれ得る。また、あらゆる接続はコンピュータ可読媒体と適切に呼ぶことができる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、機械可読媒体およびコンピュータ可読媒体に1つまたは任意の組合せまたはセットのコードおよび命令として存在する場合がある。
本開示に記載された実装形態に対する様々な修正形態が当業者には容易に明らかであり、本明細書で定義された一般的原理は、本開示の趣旨または範囲から逸脱することなく他の実装形態に適用される場合がある。したがって、特許請求の範囲は、本明細書に示された実装形態に限定されるものではなく、本開示、この原理、および本明細書で開示された新規の特徴と合致する最大の範囲を与えられるべきである。
加えて、「上側」および「下側」という用語が、図の説明を簡単にするために時々使用され、適切に配向されたページ上の図の方位に対応する相対位置を示し、実装された任意のデバイスの適切な方位を反映しない場合があることを、当業者なら容易に諒解されよう。
個別の実装形態との関連で本明細書に記載されたいくつかの特徴は、単一の実装形態における組合せで実装することもできる。反対に、単一の実装形態との関連で記載された様々な特徴は、複数の実装形態で個別に、または任意の適切な副組合せで実装することもできる。その上、特徴は一定の組合せで機能するものとして上述され、当初はそういうものとして特許請求される場合もあるが、特許請求される組合せからの1つまたは複数の特徴は、場合によっては、その組合せから削除することができ、特許請求される組合せは、副組合せまたは副組合せの変形形態を対象にする場合がある。
同様に、動作は特定の順序で図面に描写されているが、これは、所望の結果を達成するために、そのような動作を示された特定の順序でもしくは順次実行すること、またはすべての示された動作を実行することを要求するものとして理解されるべきではない。さらに、図面は、1つまたは複数の例示的なプロセスをフロー図の形式で概略的に描写する場合がある。しかしながら、描写されていない他の動作は、概略的に示された例示的なプロセスに組み込むことができる。たとえば、1つまたは複数の追加の動作は、示された動作のうちのいずれかの前、示された動作のうちのいずれかの後、示された動作のうちのいずれかと同時、または示された動作のうちのいずれかの間に実行することができる。いくつかの状況では、マルチタスキングおよび並列処理は有利であり得る。その上、上述された実装形態における様々なシステム構成要素の分離は、すべての実装形態においてそのような分離を要求するものとして理解されるべきではなく、記載されたプログラム構成要素およびシステムは、一般に単一のソフトウェア製品への統合、または複数のソフトウェア製品へのパッケージ化が可能であると理解されるべきである。加えて、他の実装形態も以下の特許請求の範囲内に入る。場合によっては、特許請求の範囲に列挙されたアクションは、異なる順序で実行されてもなお、望ましい結果を達成することが可能である。