本開示は一般に、電子デバイスに関する。より詳細には、本開示は、電子デバイス上で静止画像を検出しリソースの使用を減らすことに関する。
最近の数十年で、電子デバイスの使用が一般的になった。特に、電子技術の進歩は、ますます複雑で有用な電子デバイスのコストを低減した。コスト低減および消費者の需要は、電子デバイスが現代社会において事実上ユビキタスであるような、電子デバイスの使用を急増させた。電子デバイスの使用が拡大するにつれて、電子デバイスの新たな改善された機能に対する需要も拡大した。より詳細には、機能をより高速に、より効率的に、またはより高品質に実行する電子デバイスが、しばしば追い求められる。
多くの電子デバイスは、画像を表示するためのディスプレイを、含みまたは使用する。たとえば、コンピュータは、画像を表示するためのモニタをしばしば使用する。携帯電話およびスマートフォンは、液晶ディスプレイ(LCD)またはアクティブマトリクス式有機発光ダイオード(AMOLED)ディスプレイのような、ディスプレイパネルをしばしば使用する。ディスプレイを含みまたは使用する他の電子デバイスは、テレビ、プロジェクタ、計算機、音楽プレーヤー(たとえば、iPodなど)、携帯情報端末(PDA)、全地球測位システム(GPS)デバイス、タブレットデバイス、ラップトップコンピュータ、電子リーダーなどを含む。
電子デバイスにおいて使用されるディスプレイは、電力を消費する。たとえば、ディスプレイは、ディスプレイ上のピクセルを点灯させ、ディスプレイをリフレッシュし、および/または表示コンテンツを変更するために電力を使用し得る。さらに、電力は、ディスプレイ上で提示するために画像を処理する際にも消費される。この議論から認識され得るように、ディスプレイを使用する電子デバイスの効率性を改善するシステムおよび方法が、有益であり得る。
静止画像を検出しリソースの使用を減らすための電子デバイスが、開示される。電子デバイスは、プロセッサと、メモリに記憶される命令とを含む。電子デバイスは画像メモリを決定する。電子デバイスはまた、タイマーをセットする。電子デバイスはさらに、画像メモリを監視する。電子デバイスはまた、画像メモリに対する書き込みアクセス要求があるかどうかを判定する。さらに、電子デバイスは、画像メモリに対する書き込みアクセス要求がない場合、タイマーに基づいて、時間閾値に達したかどうかを判定する。電子デバイスはまた、時間閾値に達した場合、ディスプレイリソースの使用を減らす。電子デバイスはディスプレイを含み得る。電子デバイスはまた、画像メモリに対する書き込みアクセス要求がある場合、タイマーをリセットし得る。
ディスプレイリソースの使用を減らすことは、ディスプレイのコントラストを下げること、ディスプレイの明るさを下げること、ディスプレイのリフレッシュレートを下げること、クロッキングを下げること、画像処理を減らすこと、復号を減らすこと、バスの優先度を調整すること、バス速度を調整すること、ディスプレイインターフェースを調整すること、または電圧を調整することを含む。コントラストは、画像のダイナミックレンジに基づいて下げられ得る。電子デバイスはまた、時間閾値に達した場合、画像メモリ使用量を減らし得る。電子デバイスはまた、ディスプレイリソースの使用を減らした後、画像メモリに対する書き込みアクセス要求がある場合、ディスプレイリソースの使用を調整し得る。
画像メモリを監視することは、ディスプレイ上に1つまたは複数の画像を表示するために使用されるメモリ中のアドレスを監視することを含み得る。画像メモリは、ディスプレイコントローラ中に1つまたは複数のメモリバッファを含み得る。
画像メモリに対する書き込みアクセス要求がある場合、電子デバイスはまた、書き込みアクセス要求に基づいて、画像変更の閾値に達しているかどうかを判定し得る。書き込みアクセス要求がある場合、電子デバイスはまた、画像変更の閾値に達していない場合、タイマーに基づいて、時間閾値に達したかどうかを判定し得る。電子デバイスは、時間閾値に達した場合、ディスプレイリソースの使用を減らし得る。
静止画像を検出しリソースの使用を減らすための方法も、開示される。方法は、電子デバイス上の画像メモリを決定することを含む。方法はまた、タイマーをセットすることを含む。方法はさらに、画像メモリを監視することを含む。方法はまた、電子デバイス上で、画像メモリに対する書き込みアクセス要求があるかどうかを判定することを含む。方法はまた、画像メモリに対する書き込みアクセス要求がない場合、タイマーに基づいて、時間閾値に達したかどうかを判定することを含む。さらに、方法は、電子デバイス上で、時間閾値に達した場合、ディスプレイリソースの使用を減らすことを含む。
静止画像を検出しリソースの使用を減らすためのコンピュータプログラム製品も、開示される。コンピュータプログラム製品は、命令を有する非一時的な有形のコンピュータ可読媒体を含む。命令は、電子デバイスに画像メモリを決定させるためのコードを含む。命令はまた、電子デバイスにタイマーをセットさせるためのコードを含む。命令はさらに、電子デバイスに画像メモリを監視させるためのコードを含む。命令はまた、電子デバイスに、画像メモリに対する書き込みアクセス要求があるかどうかを判定させるためのコードを含む。さらに、命令は、画像メモリに対する書き込みアクセス要求がない場合、電子デバイスに、タイマーに基づいて、時間閾値に達したかどうかを判定させるためのコードを含む。加えて、命令は、時間閾値に達した場合、電子デバイスに、ディスプレイリソースの使用量を減らさせるためのコードを含む。
静止画像を検出しリソースの使用を減らすための装置も、開示される。装置は、画像メモリを決定するための手段を含む。装置はまた、タイマーをセットするための手段を含む。装置はさらに、画像メモリを監視するための手段を含む。装置はまた、画像メモリに対する書き込みアクセス要求があるかどうかを判定するための手段を含む。さらに、装置は、画像メモリに対する書き込みアクセス要求がない場合、タイマーに基づいて、時間閾値に達したかどうかを判定するための手段を含む。装置は加えて、時間閾値に達した場合、ディスプレイリソースの使用を減らすための手段を含む。
図1は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、電子デバイスの一構成を示すブロック図である。
図2は、電子デバイス上で静止画像を検出しリソースの使用を減らすための方法の一構成を示すフロー図である。
図3は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、電子デバイスのより具体的な構成を示すブロック図である。
図4は、電子デバイス上で静止画像を検出しリソースの使用を減らすための方法のより具体的な構成を示すフロー図である。
図5は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、電子デバイスの別のより具体的な構成を示すブロック図である。
図6は、電子デバイス上で静止画像を検出しリソースの使用を減らすための方法の別のより具体的な構成を示すフロー図である。
図7は、複数の状態、および動画像の状態またはモードと静止画像の状態またはモードとの間の状態遷移の、一例を示す図である。
図8は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、ワイヤレス通信デバイスの一構成の例を示すブロック図である。
図9は、電子デバイスにおいて利用され得る様々なコンポーネントを示す。
図10は、ワイヤレス通信デバイス内に含まれ得るいくつかのコンポーネントを示す。
詳細な説明
ここで使用する「基地局」という用語は、一般に、通信ネットワークへのアクセスを提供することが可能である通信デバイスを意味する。通信ネットワークの例は、限定はされないが、電話網(たとえば、公衆交換電話網(PSTN)のような「固定」ネットワークまたは携帯電話ネットワーク)、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)などを含む。基地局の例は、たとえば、携帯電話基地局またはノード、アクセスポイント、ワイヤレスゲートウェイおよびワイヤレスルータを含む。基地局は、米国電気電子技術者協会(IEEE)802.11a、802.11b、802.11g、802.11n、802.11ac(たとえば、Wireless Fidelityすなわち「Wi−Fi(登録商標)」)規格のような、いくつかの業界標準に従って動作し得る。基地局が準拠し得る規格の他の例は、IEEE802.16(たとえば、Worldwide Interoperability for Microwave Accessすなわち「WiMAX(登録商標)」)、第3世代パートナーシッププロジェクト(3GPP)、3GPPロングタームエボリューション(LTE)などを含む(たとえば、そこで基地局は、ノードB、発展型ノードB(eNB)などと呼ばれることがある)。ここで開示されるシステムおよび方法のいくつかは、1つまたは複数の規格に関して説明されることがあるが、それらのシステムおよび方法は多くのシステムおよび/または規格に適用可能であり得るので、このことで本開示の範囲が限定されるべきではない。
ここで使用する「ワイヤレス通信デバイス」という用語は、一般に、基地局にワイヤレス接続し得る電子デバイスの種類(たとえば、アクセス端末、クライアントデバイス、クライアント局など)を意味する。ワイヤレス通信デバイスは、代替的に、モバイルデバイス、移動局、加入者局、ユーザ機器(UE)、リモート局、アクセス端末、モバイル端末、端末、ユーザ端末、加入者ユニットなどと呼ばれることがある。ワイヤレス通信デバイスの例は、ラップトップまたはデスクトップコンピュータ、携帯電話、スマートフォン、ワイヤレスモデム、電子リーダー、タブレットデバイス、ゲームシステムなどを含む。ワイヤレス通信デバイスは、基地局に関して上で説明された1つまたは複数の業界標準に従って動作し得る。したがって、「ワイヤレス通信デバイス」という一般的な用語は、業界標準に応じて様々な名称で説明されるワイヤレス通信デバイス(たとえば、アクセス端末、ユーザ機器(UE)、リモート端末など)を含み得る。
動画像(たとえば、変化している画像)を提示することは、悪い応答を改善するために、またはフリッカーをなくすために、ディスプレイ(たとえば、ディスプレイパネル)が高いリフレッシュレートでリフレッシュされることを必要とし得る。しかしながら、静止画像(たとえば、不変のユーザインターフェース(UI)画面、一時停止されたファイル再生またはビデオ復号、スチル写真のレビュー、またはスチル風景のカメラのビューファインダーのような、変化しない画像)を提示するとき、ディスプレイ(たとえば、ディスプレイパネル)はかなり低いリフレッシュレートで更新されてよく、これは、プラットフォームの電力性能に大きく利益をもたらし得る。それでも、表示されるコンテンツがいつ変化していないかを特定することは、複雑であり得る。たとえば、Windows(登録商標) MobileまたはAndroid(登録商標)のような典型的なHigh−Level Output Specifications(HLOS)は、その場のディスプレイ合成を可能にする、ディスプレイバッファの制御されたアクセスのためのフレームワークをサポートしない。さらに、ディスプレイドライバからのアクセスを制御することは、実行時例外とシステムクラッシュとを生じさせ得る。
ディスプレイのタイプに応じて、動画像またはピクセルを表示するために必要とされるリフレッシュレートは、元のコンテンツのフレームレート(たとえば、5〜10フレーム/秒)から、このレートの倍数にまで変動し得る。液晶ディスプレイ(LCD)は、液晶シャッターの不透明度(opacity)によって制御される画像サンプルを点灯させるために、別々のバックライトを使用し得る。これらのシャッターは、別段に命令されるまで不透明度を維持することができるので、ポータブルデバイスにおいて使用される多くのLCDは、ライブビデオを表示するのに必要な透明度を可能にするために、連続的なリフレッシュと他の仕掛け(gimmicks)とを必要とする。有機発光ダイオード(OLED)の(たとえば、LCDと異なる)ピクセルの高速な応答により、OLEDディスプレイは、その応答時間を向上させるために、高いレートでピクセルをリフレッシュし、または他の手段を使用する必要はなくてよい。しかしながら、それはそれでも、フリッカーをなくすために、高いリフレッシュレートで画像コンテンツをリフレッシュする必要があり得る。動画像(たとえば、変化する画像またはライブ写真)を提示することは、悪い応答を改善するために、またはフリッカーをなくすために、ディスプレイパネルが高いリフレッシュレートでリフレッシュされることを必要とするが、静止画像(たとえば、静止写真)を提示するとき、パネルは、かなり低いリフレッシュレートで更新されてよく、これは、プラットフォームの電力性能に利益をもたらし得る。ここで使用する「リフレッシュレート」という用語は、リフレッシュレート、スキャンレート、更新レート、および/またはフレームレートを意味し得ることに留意されたい。
上で論じられたように、表示コンテンツがいつ変化していないかを特定することは、複雑であり得る。したがって、ディスプレイメモリ空間がマークされてよく、そのコンテンツを修正するための書き込みアクセスが特定されてよい。メモリの仮想化による実装でも、(たとえば、メモリ保護のための対策と同様に)ディスプレイのフレームバッファを修正するためのあらゆるアクセスには、動画像インターバルの開始をディスプレイプロセッサへシグナリングすることが必要とされ得る。この機構はさらに、コントラスト比の低減および最終的にはディスプレイの消灯(muting)のような、静止画像期間に基づく様々な動作モードへの遷移を促進するために使用され得る。ここで開示されるシステムおよび方法はまた、ディスプレイバッファへのアクセスをより高い精度で制御することを可能にする技術と、修正されるディスプレイの部分のみを選択的に更新するために使用され得る、ディスプレイの区画への任意のアクセスを可能にし得るディスプレイインターフェースとに対して適用され得る。
電子デバイスが静止画像または変化しない画像を表示する、いくつかの例があり得る。これはたとえば、電子デバイス(たとえば、プロセッサおよび/またはグラフィクスプロセッサ)が変化しないブレンディングまたはキーイング(たとえば、変化しないユーザインターフェース(UI)もしくは全地球測位システム(GPS)画面を伴う、またはアプリケーションもしくは地図によって参照される、など)を伴う不変の面をレンダリングするとき、起こり得る。これはまた、ファイル再生(たとえば、ビデオ復号)が一時停止されるとき、ストリーミングビデオ(たとえば、ウェブテレビ、Mobile Broadcast Services Enabler Suite(BCAST) TV)がネットワーク障害を受けているとき、もしくは音楽のテレビ番組のためにスチルビデオをレンダリングしているとき、スナップショット(たとえば、デジタル写真)がレビューされているとき、または、カメラもしくはカムコーダが不変の風景を捕捉する(およびファインダーが不変の風景を表示する)とき、起こり得る。
ここで開示されるシステムおよび方法は、電子デバイスの電力性能を向上させるために使用され得る。たとえば、ここで開示されるシステムおよび方法は、ディスプレイバッファのデマンドページングを実行し、したがってページ・フォールト(たとえば、同期ダイナミックランダムアクセスメモリ(SDRAM)ページ・フォールト)を減らし、または利用可能なオンチップメモリの使用を増加させるために、使用され得る。たとえば、オンチップメモリの電力性能は、「外部」メモリ(たとえば、電子デバイスの内部および/または外部にあり得る、オンチップメモリ以外のメモリ)の最良の場合の性能よりも、約10倍低いことがある。より詳細には、電力性能スロープ(たとえば、メガバイト毎秒(MBpS)あたりミリワット(mW)、すなわちmW/MBpSの単位の)は、より高いページ・フォールトがより高い電力消費につながる(たとえば、ダブルデータレート(DDR)メモリでは)ことを示し得る。したがって、ページ・フォールトを減らすことで、電力消費が減り得る(および/または、電力性能が増加し得る)。
静止画像が検出されると、たとえば、LCDディスプレイパネルのバックライトが(たとえば、画像のコントラスト要件に基づいて)減らされ得る。さらに、この検出は、リフレッシュレートを下げるために使用され得、これは(たとえば、10対1の低減(ten-to-one reduction)を提供することによって)LCDに有益であり得る。また、ディスプレイパネルコントローラがマルチメディアプロセッサに統合される場合、ここで開示されるシステムおよび方法は、ディスプレイリフレッシュがブランキングインターバルを超えて延長されることを可能にし得る。このことで、プラットフォームのリソース(たとえば、クロックおよび電圧)の使用が(たとえば、低い、または最低の可能な閾値まで)減り得る。さらに、静止画像の検出は、低減されたコントラスト比および「消灯された(muted)」ディスプレイのような、他の表示モードへ遷移するために使用され得る。ここで開示されるシステムおよび方法はまた、長引く静止画像の焼き付きまたは残像(image sticking)を避け、パネル寿命を伸ばすために、使用され得る。
一手法では、静止画像は、表示コンテンツを変更する要求者がいるときを特定するために、ページ、セグメント、または面のようなディスプレイメモリ空間(たとえば、「画像メモリ」)をマークする、ハードウェア能力を使用して検出され得る。これは、要求者が表示コンテンツを変更できないときを特定するために、たとえば、アプリケーションプロセッサ(AP)のsuspend−and−wait−for−interrupt(SWFI)を使用する、他の手法とは異なり得る。たとえば、アプリケーションプロセッサ(AP)のsuspend−and−wait−for−interrupt(SWFI)シグナリングは、静止画像のリソース制御のために、または静止画像の電力性能のために使用され得る。しかしながら、ここで開示されるシステムおよび方法は、メモリアクセスを使用して、表示コンテンツが変化しないままかどうかを特定する。これは、他の手法(アプリケーションプロセッサのSWFIを使用することを含む)が、信頼できないことがあり、および/または正確ではないことがあるためである。
いくつかのディスプレイ性能の属性は、ダークスクリーンまたは黒み、起動時間、強度およびグレースケール(たとえば、内因性および外因性の輝度、コントラスト比、および詳細コントラスト比)、画面中央の輝度、画面の均一性(たとえば、輝度およびコントラスト比の均一性)、カラースケールおよび/または色域、相関付けられる色温度、色の均一性、時空間的ディスプレイぼけ幅(blur width)(BW)、応答時間、フリッカー、充填要因(fill factor)(たとえば、専用の空間(dedicated real estate)に対するアクティブな領域)、画面充填要因(たとえば、スケーリングおよびローテーション)、視野角、視野角に対する色、シャドウイング(たとえば、クロストーク)、ストリーキングおよびゴースティング、反射、ガンマ、ならびに画像保持(image retention)があり得る。これらの性能の属性のいくつかは、電力性能の調整(たとえば、最適化)によって影響を受け得る。これらは、起動時間、強度およびグレースケール(たとえば、内因性および外因性の輝度、コントラスト比、および詳細コントラスト比)、画面の均一性(たとえば、輝度およびコントラスト比の均一性)、カラースケールおよび/または色域、相関付けられる色温度、応答時間、フリッカー、画面充填要因(たとえば、スケーリングおよびローテーション)、視野角、視野角に対する色、ストリーキングおよびゴースティング、ならびにガンマを含み得る。
いくつかのディスプレイデバイスの性能のコンテキストは、ユーザにより指示される操作(たとえば、視覚的なプリファレンスおよびバッテリー寿命の注釈(annotation))、使用事例の要件、バッテリー寿命およびその瞬時的な性能(これは、たとえば、ディスプレイデバイスの作業負荷の変動性と、ディスプレイデバイスと関連しない負荷の変動性とによるものであり得る)、コンテンツ(たとえば、表示面の数、合成/現実、色変換の必要性、静止画像、動画像、画面充填率(screen fullness)、および静止画像のような、コンテンツの種類)、ならびに使用環境(たとえば、ユーザの人間視覚システム(HVS)のディスプレイとの関係および周辺光条件)を含み得る。これらのコンテキストは、静止画像モードに遷移するためのヒステリシスを調整するために使用され得る。たとえば、これらのコンテキストの1つまたは複数は、静止画像モードに遷移する前に時間閾値を調整するために使用され得る。たとえば、暗い周辺光条件は、時間閾値を低くし得る。さらに、ユーザプリファレンスの設定が、時間閾値を上げ得る。ここで開示されるシステムおよび方法は特に、静止画像を検出することと関連し得る。静止画像を検出することは、使用事例の要件およびコンテンツに関連して可能にされまたは制御されてよいので、使用事例の登録(たとえば、告知(annunciation)および調停(arbitration))ならびに画像処理を伴う可能性がある。静止画像に基づいて電力消費を減らすことによって影響を受け得る1つのディスプレイ性能の属性は、注目すべき視覚的なアーチファクトであり得る。
ディスプレイの電力性能を改善するために使用され得るいくつかのコンテキストは、コンテンツに基づく適応明るさ制御、光に基づく適応明るさ制御、光に基づく適応コントラスト比、明るさおよびコントラスト比の使用事例への適応、ディスプレイのリフレッシュレートの使用事例およびコンテンツへの適応、部分的な画面の更新、画面充填率、ディスプレイデバイスの制御に対するユーザの注釈、ディスプレイデバイスの制御に対するバッテリー寿命の状態、および表示モード(たとえば、静止画像表示モード)ごとのプラットフォームリソーススケーリングを含み得る。これらのコンテキストは、静止画像の検出を使用してディスプレイリソースの使用を減らすことに関連して、またはそれとは独立に使用され得る。
静止画像の検出は、最終的な合成(たとえば、画像)に寄与するすべての面が変化しないときを特定するために、堅固な機構を使用することができる。静止画像の検出は、プラットフォームリソースのダウンスケーリングから得られる電力性能の向上と、ディスプレイパネルをより低い性能プロファイルで動作させることによる向上とを含む、2つのタイプの利益をもたらし得る。
静止画像が発生すると、ディスプレイ(たとえば、パネル)は、より低いコントラスト比および下げられたリフレッシュレートで(たとえば、低いリフレッシュレートからリフレッシュなしへ、これはディスプレイのタイプに依存し得る)コンテンツを表示することができる。リソースをアップスケーリングするための待ち時間(latency)に応じて、かつ、好ましくないユーザインターフェース(UI)の体験の質(QoEまたはユーザ体験(UX))を避けるために、静止画像モードは、システム状態のあらゆる変化によって中断されることがあり、これはその利益を減らし得る。ディスプレイ点灯のための電力以外に、静止画像の検出の実施は、パネルコントローラがディスプレイバッファとピクセルクロック生成器とを備えているかどうかに依存し得る。これは、パネルがアクティブである(たとえば、双安定ではない)典型的なスマートフォンまたはスマートパッドの実装形態において考慮され得る。しかしながら、ここで開示されるシステムおよび方法は、双安定ディスプレイにも適用され得ることに留意されたい。ディスプレイバッファを有するパネルコントローラによる実装形態では、ホストマルチメディアプロセッサは、静止画像を特定し、休止に遷移することができる。この場合、パネルコントローラは、静止画像検出の電力性能を判定することができる。
ディスプレイサイズが増加し続ける中で、スケーラビリティおよびコストの利点のために、多くの電子デバイス(たとえば、ハンドセット)の設計者は、ホストマルチメディアプロセッサメモリを使用するのを好むことがあり、これは、マルチメディアプラットフォームが、パネルコントローラによる静止画像の検出または操作を模倣することを必要とし得ることに、留意されたい。静止画像モードへの、または静止画像モードからの遷移により、マルチメディアプラットフォームは、その電力性能を改善するために、リソース(たとえば、クロック、電圧、およびインターフェースの優先度など)を頻繁にスケーリングすることを要求され得る。様々なサブシステムのクロックの間の固有の相互依存性、電圧制御の待ち時間、および変化するインターフェース優先度のためのオーバーヘッドにより、許容可能な静止画像の電力性能を達成することは、以前から困難であった。
以後、7×30のプラットフォームでのリソースのスケーリングにおけるいくつかのポイントが与えられる。7×30のプラットフォームでは、長いアプリケーションプロセッサ(AP)suspend−and−wait−for−interrupt(SWFI)が、静止画像を特定するための1つの機構または手法である。静止画像モードを終了するための待ち時間および潜在的な起動の問題により、静止画像モードを無効にするための登録機構も利用可能であり得る。静止画像モードを終了するための待ち時間は、望ましくは減らされ得る。特定の電子デバイスにおけるクロックおよび電圧のスケーリングのための待ち時間が、特徴付けられ得る。静止画像モードにおけるインターフェースの優先度を再構成するための、確率およびオーバーヘッドが考察され得る。
クロック間の相互依存性により、クロックのスケーリングは、ディスプレイのデータフローに難所を生成し得、注目すべきアーチファクトをもたらし得ることに、留意されたい。したがって、静止画像モードは、すべてのクロック(たとえば、Advanced Extensible Interface(AXI)、メモリコントローラ、およびモバイルディスプレイデジタルインターフェース(MDDI)のためのクロック)が、単一の位相ロックループ(PLL)を源とするとき、実施がより簡単であり得る。
次に、図を参照して様々な構成が説明される。同様の参照番号は機能的に同様の要素を示し得る。ここで一般に説明され図に示されるシステムおよび方法は、多種多様な異なる構成で構成および設計され得る。したがって、図に表されるいくつかの構成についての以下のより詳細な説明は、特許請求の範囲を限定するものではなく、システムおよび方法を代表するものにすぎない。
図1は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、電子デバイス102の一構成を示すブロック図である。電子デバイス102の例は、スマートフォン、携帯電話、携帯情報端末(PDA)、音楽プレーヤー(たとえば、iPod、Moving Picture Experts Group(MPEG)−1またはMPEG−2 Audio Layer 3(MP3)プレーヤーなど)、ラップトップコンピュータ、デスクトップコンピュータ、プロジェクタ、ビデオゲームシステム、テレビ、ポータブルデジタルビデオディスク(DVD)プレーヤー、および他の電子デバイスを含む。電子デバイス102は、ディスプレイ104と、ディスプレイリソース106と、ディスプレイリソースマネージャ108と、静止画像検出ブロックおよび/またはモジュール110と、メモリ112と、1つまたは複数のアプリケーション114と、電源116とを含む。
ディスプレイ104は、視覚情報を搬送するデバイスであり得る。ディスプレイ104の例は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス式有機発光ダイオード(AMOLED)ディスプレイ、Digital Light Processing(DLP)ディスプレイ、プラズマディスプレイ、陰極線管(CRT)ディスプレイなどを含む。ディスプレイ104のより一般的な例は、コンピュータのモニタ、プロジェクタ、テレビのディスプレイ、タッチスクリーンなどを含む。ディスプレイ104は、変化する画像および変化しない(たとえば、静的なまたは不動の(stationary))画像のような、画像を表示するために使用され得る。電子デバイス102はまた、ディスプレイコントローラおよびディスプレイドライバのような、ディスプレイ104を動作させるために使用される追加のブロックまたはモジュール(図示せず)を含み得る。
ディスプレイリソース106は、ディスプレイ104を動作させるために使用されるリソース、またはディスプレイ104の動作を特徴付けるリソースを含み得る。ディスプレイリソース106の例は、コントラスト比(CR)、明るさ、リフレッシュレート、画像処理、復号(たとえば、ビデオ復号)およびクロッキングを含む。これらのディスプレイリソース106の各々が、ディスプレイ104の動作に影響を与え得る。たとえば、コントラスト比は、ディスプレイ104によって生成される画像のコントラストの量を制御または決定することができる。明るさは、ディスプレイ104によって放出される光の量を制御または決定することができる。リフレッシュレートは、ディスプレイ(またはディスプレイ上の画像)104がどの程度頻繁にリフレッシュされるか(たとえば、ピクセルの別のフレームがどの程度頻繁に出力されるか)を制御または決定することができる。画像処理は、表示されることになる画像に対する処理を実行するために使用され得る。画像処理の例は、画像の、オーバーレイ処理、スケーリングおよびローテーションなどを含む。復号は、表示のために画像を復号するために使用され得る。たとえば、ビデオファイルまたはストリームは、ディスプレイ104上に提示される前に復号される必要があり得る。クロッキングは、ディスプレイ104を動作させるために使用されるコンポーネントが実行され得る周波数または速度を決定することができる。たとえば、クロッキングは、画像処理の計算が行われる周波数、画像メモリが更新される周波数、および/またはバスが動作する周波数を変化させるために調整され得る。
ディスプレイリソースマネージャ108は、ディスプレイリソース106を制御するために使用されるブロックおよび/またはモジュールである。たとえば、ディスプレイリソースマネージャ108は、コントラスト比、明るさ、リフレッシュレート、画像処理、復号、および/または画像を提示するために使用されるクロッキング、を制御することができる。一構成では、ディスプレイリソースマネージャ108は、静止画像がディスプレイ104に提示されているかどうかに基づいて、ディスプレイリソース106を制御する。たとえば、静止画像検出ブロックおよび/またはモジュール110は、静止画像がディスプレイ104に提示されているかどうかを、ディスプレイリソースマネージャ108に示す。ディスプレイリソースマネージャ108は、この指示に基づいて、ディスプレイリソース106の1つまたは複数を調整することができる。たとえば、ディスプレイリソースマネージャ108は、ディスプレイ104が静止画像を提示しているとき、コントラスト比、明るさ、リフレッシュレート、画像処理、復号、および/またはクロッキングを減らす。一構成では、ディスプレイリソースマネージャ108はまた、提示されている画像に基づいて、ディスプレイリソース106を調整する。たとえば、ディスプレイリソースマネージャ108は、ディスプレイ104上に提示されている画像のダイナミックレンジ(たとえば、輝度レンジ)に基づいて、コントラスト比を下げることができる。
静止画像検出ブロックおよび/またはモジュール110は、静止(たとえば、変化しない)画像がディスプレイ104に提示されているかどうかを検出する。一構成では、静止画像検出ブロックおよび/またはモジュール110は、メモリ112を監視することによって、静止画像が提示されているかどうかを検出する。たとえば、静止画像検出ブロックおよび/またはモジュール110は、画像を提示するために使用されているメモリ112に対する書き込みアクセス要求があるかどうかを判定するために、メモリ112(またはメモリ112の一部)を監視する。たとえば、静止画像検出ブロックおよび/またはモジュール110は、タイマーをセットし、ディスプレイ104上に画像を提示するために使用されるメモリアドレスに対応する書き込みアクセス要求についてメモリ112を監視する。そのような書き込みアクセス要求がある時間の間に発生しない場合(たとえば、時間制限または時間閾値が満たされまたは超えられた場合)、静止画像検出ブロックおよび/またはモジュール110は、静止画像がディスプレイリソースマネージャ108に表示されていることを示す。しかしながら、関連するメモリに対する書き込みアクセス要求が発生する場合、静止画像検出ブロックおよび/またはモジュール110は、タイマーをリセットする。メモリ112は、情報またはデータを記憶するデバイス(たとえば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、同期DRAM(SDRAM)、ダブルデータレート(DDR)RAMなど)であることに留意されたい。メモリ112は、電子デバイス102の他のコンポーネントとは別個であり得、および/または、コンポーネント(たとえば、ディスプレイ、コントローラ、プロセッサなど)に組み込まれ得る。
一構成では、静止画像検出ブロックおよび/またはモジュール110は、変化の程度を検出し、依然として画像が静止していると見なすことができる。たとえば、少数のメモリ112(たとえば、ディスプレイ104の小さな部分を表す)しか変化していない場合、静止画像検出ブロックおよび/またはモジュール110は、画像が静止していると見なすことができる。これは、画像がわずかに変化する場合、たとえば、音楽プレーヤープログラムが、曲が再生されるに従ってわずかに動くスライダーを表示しているとき、有用であり得る。たとえば、これは、バッテリーの寿命を考慮すると本来ユーザにとって最善ではなく体験の質が最高にならない可能性のある、何らかの状態変化をシグナリングするために、1つまたは複数のアプリケーションが1つまたは複数の少数のアナンシエータを使用するシナリオで、発生し得る。静止画像の指示をトリガする、画像が変化していない度合いは、構成によって異なり得る。
「システムは、アプリケーションよりも賢く考えなければならない」という考えが、クラウドベースのユーザインターフェースがより普及するに従って、ますます重要になり得る。これは、現在バッテリーを必要とする技術がはるかに速いペースで出現しており、バッテリー技術の「遅々として進まない」進化を妨げることが予想されるからである。
1つまたは複数のアプリケーション114は、ソフトウェアまたはプログラムである。アプリケーション114の例は、写真閲覧アプリケーション、ビデオゲーム、生産性ソフトウェア(たとえば、ワードプロセッサ、スプレッドシートソフトウェア、プレゼンテーションソフトウェア、データベース管理ソフトウェアなど)、およびマルチメディアプレーヤーなどを含む。いくつかの構成では、1つまたは複数のアプリケーション114は、ディスプレイ104上に提示するための画像(たとえば、ユーザインターフェース(UI)、写真、アイコン、ビデオ、スチル写真など)を生成する。たとえば、アプリケーション114は、ディスプレイ104上に変化する画像または変化しない画像を生成するために、メモリ112にアクセスするための書き込みアクセスメモリ要求を生成する。
電源116は、電子デバイス102に電力またはエネルギーを提供する。電源116の例は、バッテリー、電力インターフェース(たとえば、壁のコンセント(plug)に対する)または他の電源(たとえば、太陽光パネル、発電機など)を含む。一般に、電子デバイス102は、動作するために電源116からの電力を消費する。消費される電力の量は、ディスプレイ104上に画像を提示するために使用されるディスプレイリソース106に依存する。たとえば、コントラスト比、明るさ、リフレッシュレート、画像処理の量、クロッキング周波数、および電子デバイス102によって実行される復号の量が大きいほど、電力消費が大きくなる。電源116がバッテリーであるとすると、たとえば、ディスプレイリソース106がより多く使用されるほど、バッテリーの放電が速くなる。一構成では、電子デバイス102は、静止画像がディスプレイ104上に提示されているときに使用されるディスプレイリソース106の量を減らすことによって、その電源116を節減する。
図2は、電子デバイス102上で静止画像を検出しリソースの使用を減らすための方法200の一構成を示すフロー図である。電子デバイス102は、画像を表示することができる(202)。たとえば、電子デバイス102は、メモリ112中の情報またはデータを使用して、ディスプレイ104上に画像を表示または提示する(202)。
電子デバイス102は、メモリ書き込みアクセスに基づいて、静止画像を検出することができる(204)。たとえば、電子デバイス102は、メモリ112を監視して、アプリケーション114、プロセッサ、または他のソフトウェアもしくはハードウェアが、ディスプレイ104上に画像を提示するために使用されるメモリ112の一部に情報またはデータを書き込むためのアクセスを要求しているかどうかを判定する。メモリ112への書き込みアクセス(たとえば、画像提示のための)がある時間の間に発生していない場合、電子デバイス102は、静止画像を検出する(または、表示されている画像が静的であると見なす)ことができる。たとえば、電子デバイス102は、「画像メモリ」への書き込みアクセスが特定の時間内に要求されたかどうかを判定するために、タイマーと時間閾値(たとえば、100ミリ秒(ms))を使用し得る。一構成では、電子デバイス102はタイマーを始動させまたはセットする。「画像メモリ」に対する書き込みアクセス要求が、時間閾値に達する前に発生した場合、電子デバイス102はタイマーをリセットする。しかしながら、そのような書き込みアクセス要求がなく時間閾値に達した場合、電子デバイス102は、静止画像を検出し、画像を静的であると見なす。
電子デバイス102が静止画像を検出する場合(204)、電子デバイス102は、画像が静的である間、ディスプレイリソースの使用を減らす(206)。上で述べられたように、ディスプレイリソース106の例は、コントラスト(比)、明るさ、リフレッシュレート、画像処理、復号および/またはクロッキングを含む。電子デバイス102は、画像が静的である間、1つまたは複数のディスプレイリソースを減らすことができる(206)。たとえば、電子デバイス102は、コントラスト比(随意に画像のダイナミックレンジに基づく)、明るさ、リフレッシュレート、画像処理、復号および/またはクロッキングを減らす。ディスプレイリソースの使用を減らすこと(206)で、エネルギー(たとえば、電源116によって提供される電力)を節減することができる。さらに、このことにより、ディスプレイ104の寿命を伸ばすことができる。
図3は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、電子デバイス302のより具体的な構成を示すブロック図である。電子デバイス302は、ディスプレイパネル304と、ディスプレイドライバ318と、ディスプレイリソース306と、ディスプレイリソースマネージャ308と、静止画像検出ブロックおよび/またはモジュール310と、メモリ312と、1つまたは複数のアプリケーション314と、バッテリー316とを含む。
ディスプレイパネル304は、視覚情報を搬送するデバイスであり得る。ディスプレイパネル304の例は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス式有機発光ダイオード(AMOLED)ディスプレイ、Digital Light Processing(DLP)ディスプレイ、プラズマディスプレイなどを含む。ディスプレイパネル304のより一般的な例は、コンピュータのモニタ、プロジェクタ、テレビのディスプレイ、タッチスクリーンなどを含む。ディスプレイパネル304は、変化する画像および変化しない(たとえば、静的なまたは不動の)画像のような、画像を表示するために使用され得る。
ディスプレイドライバ318は、電子デバイス302がそのディスプレイパネル304を動作させるために使用するモジュールである。ディスプレイドライバ318の一例は、ディスプレイパネル304と電子デバイス302の他のコンポーネント(たとえば、ソフトウェアおよび/またはハードウェア)とのインターフェースをとるソフトウェアモジュールである。たとえば、アプリケーション314は、ディスプレイパネル304上に画像を表示するために、ディスプレイドライバ318を使用し得る。より詳細には、ディスプレイドライバ318は、アプリケーション314またはオペレーティングシステムからの命令および/または情報を、ディスプレイパネル304のための命令および/または情報に変換することができる。一構成では、ディスプレイドライバ318は、画像情報のために使用されるメモリを管理することができる。いくつかの構成では、ディスプレイコントローラ(図示せず)も、電子デバイス302に含まれる。
ディスプレイリソース306は、ディスプレイパネル304を動作させるために使用されるリソース、またはディスプレイパネル304の動作を特徴付けるリソースを含み得る。図3に示される構成では、ディスプレイリソース306は、コントラスト(比)328と、明るさ322と、リフレッシュレート324と、画像処理320と、復号(たとえば、ビデオ復号)326と、クロッキング330とを含む。これらのディスプレイリソース306の各々が、ディスプレイパネル304の動作に影響を与え得る。たとえば、コントラスト比328は、ディスプレイパネル304によって生成される画像のコントラストの量を制御または決定することができる。明るさ322は、ディスプレイパネル304によって放出される光の量を制御または決定することができる。リフレッシュレート324は、ディスプレイパネル304がどの程度頻繁にリフレッシュされるか(たとえば、ピクセルの別のフレームがどの程度頻繁に出力されるか)を制御または決定することができる。画像処理320は、表示されることになる画像に対する処理を実行するために使用され得る。画像処理320の例は、画像の、オーバーレイ処理、スケーリングおよびローテーションなどを含む。復号326は、表示のために画像を復号するために使用され得る。たとえば、ビデオファイルまたはストリームは、ディスプレイパネル304上に提示される前に復号される必要があり得る。クロッキング330は、ディスプレイパネル304を動作させるためまたは画像を生成するために使用されるコンポーネントが実行され得る周波数または速度を決定することができる。たとえば、クロッキング330は、画像処理の計算が行われる周波数、画像メモリが更新される周波数、および/またはバスが動作する周波数を変化させるために調整され得る。
ディスプレイリソースマネージャ308は、ディスプレイリソース306を制御するために使用されるブロックおよび/またはモジュールである。たとえば、ディスプレイリソースマネージャ308は、コントラスト比328、明るさ322、リフレッシュレート324、画像処理320、復号326、および/または画像を提示するために使用されるクロッキング330を制御することができる。一構成では、ディスプレイリソースマネージャ308は、静止画像がディスプレイパネル304上に提示されているかどうかに基づいて、ディスプレイリソース306を制御する。たとえば、静止画像検出ブロックおよび/またはモジュール310は、静止画像がディスプレイパネル304上に提示されているかどうかを、ディスプレイリソースマネージャ308に示す。ディスプレイリソースマネージャ308は、この指示に基づいて、ディスプレイリソース306の1つまたは複数を調整することができる。たとえば、ディスプレイリソースマネージャ308は、ディスプレイパネル304が静止画像を提示しているとき、コントラスト比328、明るさ322、リフレッシュレート324、画像処理320、復号326、および/またはクロッキング330を減らす。一構成では、ディスプレイリソースマネージャ308はまた、提示されている画像に基づいて、ディスプレイリソース306を調整する。たとえば、ディスプレイリソースマネージャ308は、ディスプレイパネル304上に提示されている画像のダイナミックレンジ(たとえば、輝度レンジ)に基づいて、コントラスト比328を下げることができる。
静止画像検出ブロックおよび/またはモジュール310は、静止(たとえば、変化しない)画像がディスプレイパネル304上に提示されているかどうかを検出する。一構成では、静止画像検出ブロックおよび/またはモジュール310は、メモリ書き込みアクセス検出ブロックおよび/またはモジュール332、タイマー334、および/または時間閾値336を含む。一構成では、メモリ書き込みアクセス検出ブロックおよび/またはモジュール332は、メモリ312を監視することによって、静止画像が提示されているかどうかを検出する。たとえば、メモリ書き込みアクセス検出ブロックおよび/またはモジュール332は、画像を提示するために使用されている画像メモリ338に対する書き込みアクセス要求があるかどうかを判定するために、画像メモリ338(たとえば、メモリ312内の)を監視する。たとえば、静止画像検出ブロックおよび/またはモジュール310は、タイマー334をセットし、ディスプレイパネル304上に画像を提示するために使用されるメモリアドレスに対応する書き込みアクセス要求について画像メモリ338を監視する。そのような書き込みアクセス要求が、ある時間の間に発生しない場合(たとえば、時間制限または時間閾値336が満たされまたはそれを超えた場合)、静止画像検出ブロックおよび/またはモジュール310は、静止画像がディスプレイリソースマネージャ308に表示されていることを示す。しかしながら、画像メモリ338に対する書き込みアクセス要求が発生する場合、静止画像検出ブロックおよび/またはモジュール310は、タイマー334をリセットする。
時間閾値336は、設定、コンテキスト、および/または現在の性能のような要因に基づいて調整され得ることに留意されたい。たとえば、時間閾値336は、ユーザにより指示される操作(たとえば、視覚的なプリファレンスおよびバッテリー寿命の注釈)、使用事例の要件、バッテリー寿命およびその瞬時的な性能(これは、たとえば、ディスプレイデバイスの作業負荷の変動性と、ディスプレイデバイスと関連しない負荷の変動性とによるものであり得る)、コンテンツ(たとえば、表示面の数、合成/現実、色変換の必要性、静止画像、動画像、画面充填率、および静止画像のような、コンテンツの種類)、ならびに使用環境(たとえば、ユーザの人間視覚システム(HVS)のディスプレイとの関係および周辺光条件)に基づいて調整され得る。言い換えると、要因は、静止画像モードに遷移するためのヒステリシスを調整するために使用され得る。たとえば、これらの要因の1つまたは複数は、静止画像モードに遷移する前に時間閾値336を調整するために使用され得る。たとえば、暗い周辺光条件は、時間閾値336を低くし得る。さらに、ユーザプリファレンスの設定が、時間閾値336を上げ得る。
メモリ312は、画像メモリ338を含み得る。画像メモリ338は、画像の表示または提示のために割り当てられるメモリであり得る。メモリ312(たとえば、画像メモリ338)は、電子デバイス302の他のコンポーネントとは別個であってよく、および/または、コンポーネント(たとえば、ディスプレイ、コントローラ、プロセッサなど)に組み込まれてよい。
1つまたは複数のアプリケーション314は、ソフトウェアまたはプログラムである。アプリケーション314の例は、写真閲覧アプリケーション、ビデオゲーム、生産性ソフトウェア(たとえば、ワードプロセッサ、スプレッドシートソフトウェア、プレゼンテーションソフトウェア、データベース管理ソフトウェアなど)、およびマルチメディアプレーヤーなどを含む。いくつかの構成では、1つまたは複数のアプリケーション314は、ディスプレイパネル304上に提示するための画像(たとえば、ユーザインターフェース(UI)、写真、アイコン、ビデオ、スチル写真など)を生成する。たとえば、アプリケーション314は、ディスプレイパネル304上に変化する画像または変化しない画像を生成するために、画像メモリ338にアクセスするための書き込みアクセスメモリ要求を生成する。
バッテリー316は、電子デバイス302に電力またはエネルギーを提供する。バッテリー316の一例は、リチウムイオンバッテリーである。一般に、電子デバイス302は、動作するためにバッテリー316からの電力を消費する。消費される電力の量は、ディスプレイパネル304上に画像を提示するために使用されるディスプレイリソース306に依存する。たとえば、コントラスト比328、明るさ322、リフレッシュレート324、画像処理320の量、クロッキング周波数330、および電子デバイス302によって実行される復号326の量が大きいほど、電力消費が大きくなる。一般に、より多くのディスプレイリソース306が使用されると、バッテリー316がより高速に放電する。一構成では、電子デバイス302は、静止画像がディスプレイパネル304上に提示されているときに使用されるディスプレイリソース306の量を減らすことによって、そのバッテリー316の電力を節減する。
図4は、電子デバイス302上で静止画像を検出しリソースの使用を減らすための方法400のより具体的な構成を示すフロー図である。電子デバイス302は、画像メモリ338として使用されるメモリを決定することができる(402)。一構成では、コンポーネント(たとえば、アプリケーション314、グラフィクスプロセッサなど)がディスプレイパネル304上で画像を提示することを試みるとき、ディスプレイドライバ318は、画像情報またはデータが書き込まれ得るメモリ312(たとえば、バッファ)に対応する、アドレス、ポインタ、またはアドレスもしくはポインタの範囲を提供する。静止画像検出ブロックおよび/またはモジュール310は、メモリ312の他の部分に対して画像メモリ338を見分けるために、アドレス、ポインタ、またはそれらの範囲を(たとえば、ディスプレイドライバ318から)追跡(track)し得る。言い換えると、画像を提示するために使用される、アドレス、ポインタ、またはそれらの範囲におけるメモリ312は、画像メモリ338として指定されてよく、一方メモリ312の他の部分はそのように指定されなくてよい。
電子デバイス302は、タイマー334をセットまたはリセットすることができる(404)。タイマー334は、タイマー334がセットまたはリセットされたとき(404)からの時間を提供する。タイマー334は、クロック生成器によって生成されるクロック信号に基づき得る。一構成では、電子デバイス302は、クロック信号を生成する集積回路を含む。より詳細には、電子デバイス302がタイマー334をセットまたはリセットするとき(404)、タイマー334は、たとえば、それタイマー334がセットまたはリセットされた瞬間または時点(404)から、時間の追跡を開始する。
電子デバイス302は、画像メモリ338を監視して、コンポーネント(たとえば、アプリケーション314、プロセッサ、または他のソフトウェアもしくはハードウェア)が情報またはデータを画像メモリ338に書き込むためにアクセスを要求しているかどうかを判定する(406)。たとえば、電子デバイス302は、画像を提示するために使用される、特定のメモリアドレス、ポインタ、またはそれらの範囲に対応する、書き込みアクセス要求を監視する。電子デバイス302は、画像メモリ338に対する書き込みアクセス要求が発生したかどうかを判定する(408)。たとえば、メモリ書き込みアクセス検出ブロックおよび/またはモジュール332は、画像メモリ338に対応する書き込みアクセス要求が発生したとき、それを検出しまたは通知される。画像メモリ338に対する書き込みアクセス要求が発生した場合、電子デバイス302は、タイマー334をリセットする(404)。
ある代替的な構成では、画像メモリ338に対する1つまたは複数の書き込みアクセス要求が発生した場合、電子デバイス302は、閾値の量の画像変化が発生したかどうか、または発生するであろうかどうかを、画像メモリ338に対する1つまたは複数の書き込みアクセス要求から判定することができる。これは、たとえば、書き込みアクセス要求が発生した場合、タイマー334をリセットすること(404)へ直接進む代わりに行われ得る。たとえば、電子デバイス302は、少なくとも閾値の量の表示される画像が変化しているかどうかを判定することができる。たとえば、特定の量の(たとえば少量の)画像メモリ338しか変化していない場合、または、1つまたは複数の書き込みアクセス要求が、特定の程度よりも少ない表示される画像しか変更しない場合、閾値には達しないことがある(たとえば、閾値は満たされずまたは閾値を超えない)。しかしながら、画像メモリ338に対する1つまたは複数の書き込みアクセス要求が、上記の程度よりも多くの表示される画像を変更した、または変更するであろう場合、閾値は満たされまたは閾値を超え得る。この閾値は、「画像変更」の閾値と呼ばれ得る。画像変更の閾値に達した(たとえば、閾値が満たされまたは閾値を超えた)場合、電子デバイス302は、タイマー334をリセットすること(404)に進むことができる。しかしながら、画像変更の閾値が満たされずまたはそれを超えない場合、電子デバイス302は、時間閾値336に達したか、またはそれを超えたかどうかを判定すること(410)に進むことができる。
この代替的な手法は、画像の変化が最小限である場合(たとえば、曲が再生されるに従ってゆっくり動くスライダーが進む、画像の色がゆっくり変化している、表示される画像が非常にゆっくり動いている、など)に有用であり得る。したがって、この代替的な構成では、1つまたは複数のメモリ書き込みアクセス要求が行われ得るが、それらが、表示される画像の小さな部分またはコンポーネントを変化させるだけである場合、静的画像モードが依然としてトリガされ得る(たとえば、時間閾値に達した場合、リソースディスプレイの使用が依然として減らされ得る(412))。画像変更の閾値は、1つまたは複数の要因に基づき得る。要因の例は、変更されているメモリの量(たとえば、アドレスの数および/または範囲サイズ)もしくは要求されているアクセス、前の画像データと次の画像データ(たとえば、赤緑青(RGB)カラースケールの)との間で、変更されている対応するピクセルの数および/もしくは範囲サイズ、ならびに/または輝度、色の差などを含む。
画像メモリ338に対する書き込みアクセス要求が発生していない場合(または代替的には、画像メモリ338に対する書き込みアクセス要求は発生しているが、画像変更の閾値が満たされずまたはそれを超えていない場合)、電子デバイス302は、時間閾値336に達したか、またはそれを超えたかどうかを判定する(410)。たとえば、電子デバイス302は、式(1)に示されるように、この判定410を行うことができる。
式(1)において、Timerは、タイマー334によって表される時間であり、Thresholdは、閾値336の量(時間に関する)である。たとえば、時間閾値336は100msであり得る。少なくとも時間閾値336の量の時間、変化しないままであった画像は、「静止」画像と見なされ得ることに留意されたい。時間閾値336に達していない、またはそれを超えていない場合、電子デバイス302は、画像メモリ338を監視すること(406)を続ける。
時間閾値336に達した、またはそれを超えた(たとえば、静止画像が検出された)場合、電子デバイス302は、ディスプレイリソース306の使用を減らす(412)。上で述べられたように、ディスプレイリソース306の例は、コントラスト(比)328、明るさ322、リフレッシュレート324、画像処理320、復号326および/またはクロッキング330を含む。電子デバイス302は、1つまたは複数のディスプレイリソース306を減らすことができる(412)。たとえば、電子デバイス302は、コントラスト比(随意に画像のダイナミックレンジに基づく)328、明るさ322、リフレッシュレート324、画像処理320、復号326および/またはクロッキング330を減らす(412)。ディスプレイリソース306の1つまたは複数を減らすこと(412)で、エネルギー(たとえば、バッテリー316によって提供される電力)が節減され得る。さらに1つまたは複数のディスプレイリソース306を減らすこと(412)で、ディスプレイパネル304の寿命を伸ばすことができる。
電子デバイス302は、画像メモリ338に対する書き込みアクセス要求があるかどうかを判定することができる(414)。たとえば、電子デバイス302は、コンポーネント(たとえば、アプリケーション、プロセッサなど)が、(ディスプレイリソース306の使用が減らされている間(412)に)画像メモリ338に書き込むためにアクセスを要求したかどうか、または、画像メモリ338に情報を書き込んだかどうかを、判定する。画像メモリ338に対する書き込みアクセス要求が発生していない場合、電子デバイス302は、ディスプレイリソース306の使用を減らす(412)ことを続けることができる。たとえば、電子デバイス302は、ディスプレイリソース306の減らされた状態を維持することができ、または、1つまたは複数のディスプレイリソース306をさらに減らすことができる。いくつかの構成では、1つまたは複数のディスプレイリソース306を減らすかどうかはさらに、画像が静的なままである時間(たとえば、タイマー334による)に依存し得る。加えて、または代替的に、いくつかの構成では、電子デバイス302は、コントラスト比328が下げられた、かつ/またはディスプレイが「消灯」されもしくは無表示(blank display)である、別のモードに遷移することができる。
画像メモリ338に対する書き込みアクセス要求が発生した場合、電子デバイス302は、ディスプレイリソース306の使用を調整する(416)ことができる。たとえば、電子デバイス302は、通常のディスプレイリソース306の使用に戻ることができる。一構成では、電子デバイス302は、ディスプレイリソース306の使用を(たとえば、動画像が提示されている間から)前のレベルまで上げる。電子デバイス302はまた、タイマー334をリセットすることができる(404)。
ある代替的な構成では、電子デバイス302は、画像メモリ338に対する書き込みアクセス要求が、表示された画像を、画像変更の閾値を満たすもしくは超えるほど変更したかどうか、または変更するであろうかどうかを、判定することができる。上で説明されたものと同様に、画像メモリ338に対する1つまたは複数の書き込みアクセス要求が、画像変更の閾値よりも少なく、表示される画像を変更する場合、電子デバイス302は、ディスプレイリソースの使用を減らすこと(412)を続けることができる。しかしながら、画像変更の閾値が満たされまたはそれを超える場合、電子デバイス302は、ディスプレイリソース306の使用を調整する(たとえば、通常のディスプレイリソース306の使用に戻る)ことができる(416)。
図5は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、電子デバイス502の別のより具体的な構成を示すブロック図である。電子デバイス502は、ディスプレイパネル504と、ディスプレイドライバ518と、ディスプレイコントローラ552と、画像処理ブロックおよび/またはモジュール520と、復号ブロックおよび/またはモジュール526と、ディスプレイリソースマネージャ508と、静止画像検出ブロックおよび/またはモジュール510と、メモリ512と、1つまたは複数のアプリケーション514と、クロッキングブロックおよび/またはモジュール530と、バッテリー516とを含む。
ディスプレイパネル504は、視覚情報を搬送するデバイスであり得る。ディスプレイパネル504の例は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス式有機発光ダイオード(AMOLED)ディスプレイ、Digital Light Processing(DLP)ディスプレイ、プラズマディスプレイなどを含む。ディスプレイパネル504のより一般的な例は、コンピュータのモニタ、プロジェクタ、テレビのディスプレイ、タッチスクリーンなどを含む。ディスプレイパネル504は、変化する画像および変化しない(たとえば、静的なまたは不動の)画像のような、画像を表示するために使用され得る。
ディスプレイドライバ518は、電子デバイス502がそのディスプレイパネル504を動作させるために使用するモジュールである。ディスプレイドライバ518の一例は、ディスプレイパネル504と電子デバイス502の他のコンポーネント(たとえば、ソフトウェアおよび/またはハードウェア)とのインターフェースをとるソフトウェアモジュールである。たとえば、アプリケーション514は、ディスプレイパネル504上に画像を表示するために、ディスプレイドライバ518を使用し得る。より詳細には、ディスプレイドライバ518は、アプリケーション514またはオペレーティングシステムからの命令および/または情報を、ディスプレイパネル504のための命令および/または情報に変換することができる。一構成では、ディスプレイドライバ518は、画像情報のために使用されるメモリを管理することができる。
ディスプレイコントローラ552は、ディスプレイパネル504を制御するために使用される電子デバイス502のブロックおよび/またはモジュールである。たとえば、ディスプレイコントローラ552は、ディスプレイパネル504の、明るさ522と、コントラスト(比)528と、リフレッシュレート524とを調整するための制御装置を含む。一構成では、たとえば、ディスプレイコントローラ552は、ディスプレイパネル504のバックライトまたは輝度を駆動するために使用される電圧を変化させることによって、ディスプレイパネル504の明るさを制御することができる。ディスプレイコントローラ552はまた、ディスプレイパネル504のコントラスト528を変更するために使用される電圧を、変化させることができる。ディスプレイコントローラ552はまた、リフレッシュレート524を上げ、または下げることができる。別の構成では、ディスプレイコントローラ552は、明るさ522、コントラスト528、および/またはリフレッシュレート524を制御する命令(たとえば、デジタル信号)を、コンポーネントに提供することができる。他の構成では、ディスプレイコントローラ552は、1つまたは複数の電流、容量、利得、または、明るさ522、コントラスト528、および/もしくはリフレッシュレート524を制御するために使用され得る他の要因を、調整することができる。したがって、ディスプレイコントローラ552は、明るさ522と、コントラスト(比)528と、リフレッシュレート524とを制御することができ、および/またはそれらを制御するために使用され得る。いくつかの構成では、ディスプレイコントローラ552はまた、画像メモリ538bを含み得る。ディスプレイコントローラ552中の画像メモリ538bは、1つまたは複数のディスプレイバッファであり得る。そのような構成では、ホストマルチメディアプロセッサが、静止画像を識別し得、静止画像モード(リソースの使用が減らされた)または休止に遷移することができる。そのような場合、ディスプレイコントローラ552は、静止画像検出の電力性能を判定することができる。
画像処理ブロックおよび/またはモジュール520は、ディスプレイパネル504上に提示される画像に対して、画像処理を実行することができる。画像処理ブロックおよび/またはモジュール520によって実行され得る画像処理のいくつかの例は、スケーリング540、ローテーション544、オーバーレイおよび/またはブレンディング542、ならびにポスト・オーバーレイ処理546を含む。たとえば、画像のスケーリング540は、画像を所与のサイズに拡大または縮小することを含み得る。画像のローテーション544は、画像を異なる方向に回転またはマッピングすることを含み得る(たとえば、直交座標系で「x」軸に沿ったピクセルは「y」軸にマッピングされ得る)。オーバーレイおよび/またはブレンディング542は、異なる平面または面の中の別の画像に基づいて、画像を処理することを含み得る。たとえば、最前面の画像は、半透明に見えるように処理され得、背面の画像が最前面の画像を「通って」見られることを可能にする。ポスト・オーバーレイ処理546は、オーバーレイ処理542が発生した後に実行される処理を含み得る。いくつかの構成では、ポスト・オーバーレイ処理546の例は、色変換、コントラスト比およびピクセルダイナミックレンジの向上、空間的スケーリング、時間的スケーリング(たとえば、フレームレートのアップコンバージョン)、ならびに/またはローテーションなどを含み得る。
復号ブロックおよび/またはモジュール526は、画像情報を復号することができる。たとえば、復号ブロックおよび/またはモジュール526は、提示のための特定のフォーマットで、ビデオファイルを復号することができる。復号ブロックおよび/またはモジュール526の一例は、H.264ビデオデコーダである。クロッキングブロックおよび/またはモジュール530は、電子デバイス502のコンポーネント(たとえば、プロセッサ、バス、メモリ512など)のクロッキング(たとえば、動作の周波数)を決定または制御することができる。
ディスプレイリソースマネージャ508は、画像を提示するために使用される、ディスプレイコントローラ552の1つまたは複数の態様(たとえば、コントラスト比528、明るさ522、リフレッシュレート524)、画像処理ブロックおよび/またはモジュール520、復号ブロックおよび/またはブロック526、ならびに/または、クロッキングブロックおよび/またはモジュール530を制御するために使用される、ブロックおよび/またはモジュールである。一構成では、ディスプレイリソースマネージャ508は、静止画像がディスプレイパネル504に提示されているかどうかに基づいて、これらのコンポーネント552、520、526、530を制御する。たとえば、静止画像検出ブロックおよび/またはモジュール510は、静止画像がディスプレイパネル504上に提示されているかどうかを、ディスプレイリソースマネージャ508に示す。ディスプレイリソースマネージャ508は、この指示に基づいて、コンポーネント552、520、526、530を制御することができる。たとえば、ディスプレイリソースマネージャ508は、ディスプレイパネル504が静止画像を提示しているとき、コントラスト比528、明るさ522、リフレッシュレート524、および/または随意に画像メモリもしくはバッファ538bを、(ディスプレイコントローラ552を介して)減らす。加えて、または代替的に、ディスプレイリソースマネージャ508は、静止画像が提示されている間、画像処理520、復号526、および/またはクロッキング530を制御することができる。一構成では、ディスプレイリソースマネージャ508はまた、提示されている画像に基づいて、これらのコンポーネント552、520、526、530の1つまたは複数を調整する。たとえば、ディスプレイリソースマネージャ508は、ディスプレイパネル504上に提示されている画像のダイナミックレンジ(たとえば、輝度レンジ)に基づいて、コントラスト比528を下げることができる。
静止画像検出ブロックおよび/またはモジュール510は、静止(たとえば、変化しない)画像がディスプレイパネル504に提示されているかどうかを検出する。一構成では、静止画像検出ブロックおよび/またはモジュール510は、メモリ書き込みアクセス検出ブロックおよび/またはモジュール532、タイマー534、時間閾値536、ならびに/または、画像メモリ追跡ブロックおよび/もしくはモジュール548を含む。一構成では、メモリ書き込みアクセス検出ブロックおよび/またはモジュール532は、画像メモリ538aを監視することによって、静止画像が提示されているかどうかを検出する。たとえば、静止画像検出ブロックおよび/またはモジュール510は、画像メモリ538aを追跡する(たとえば、メモリ512の他の部分から画像メモリ538aを見分ける)ために、画像メモリ追跡ブロックおよび/またはモジュール548を使用し得ることができる。たとえば、画像メモリ追跡ブロックおよび/またはモジュール548は、ディスプレイドライバ518からアドレス(たとえば、メモリポインタ、アドレス、またはそれらの範囲)550を取得することができる。一構成では、これは、たとえば、ディスプレイドライバ518が、メモリ512に画像を提示するように要求する電子デバイスコンポーネント(たとえば、アプリケーション514)に対して、画像メモリ538aを割り当てるときに起こり得る。
静止画像検出ブロックおよび/またはモジュール510は、画像メモリ追跡ブロックおよび/またはモジュール548によって追跡されているアドレス550に基づいて、メモリ書き込みアクセス検出ブロックおよび/またはモジュール532を使用して、画像メモリ538aを監視することができる。静止画像検出ブロックおよび/またはモジュール510は、画像を提示するために使用されている画像メモリ538aに対する書き込みアクセス要求があるかどうかを判定するためにこれを行うことができる。たとえば、静止画像検出ブロックおよび/またはモジュール510は、タイマー534をセットし、ディスプレイパネル504上に画像を提示するために使用されるメモリアドレス550に対応する書き込みアクセス要求について画像メモリ538aを監視する。そのような書き込みアクセス要求がある時間の間に発生しない場合(たとえば、時間制限または時間閾値536が満たされまたはそれを超えた場合)、静止画像検出ブロックおよび/またはモジュール510は、静止画像がディスプレイリソースマネージャ508に表示されていることを示す。しかしながら、画像メモリ538aに対する書き込みアクセス要求が発生する場合、静止画像検出ブロックおよび/またはモジュール510は、タイマー534をリセットする。加えて、または代替的に、静止画像検出ブロックおよび/またはモジュール510は、ディスプレイコントローラ552に含まれる画像メモリ538bのアドレスを追跡することができる。同様に、画像メモリまたはバッファ538bに対する書き込みアクセス要求が、時間閾値536内に発生しない場合、メモリ書き込みアクセス検出ブロックおよび/またはモジュール532は、静止画像がディスプレイリソースマネージャ508に表示されていることを示し得る。
メモリ512は、画像メモリ538aを含み得る。画像メモリ538aは、画像の表示または提示のために割り当てられるメモリであり得る。メモリ512は、電子デバイス502の他のコンポーネントとは別個であり得る。示されるように、画像メモリ538bは、追加で、または代替的に、ディスプレイコントローラ552に含まれ得る。
1つまたは複数のアプリケーション514は、ソフトウェアまたはプログラムである。アプリケーション514の例は、写真閲覧アプリケーション、ビデオゲーム、生産性ソフトウェア(たとえば、ワードプロセッサ、スプレッドシートソフトウェア、プレゼンテーションソフトウェア、データベース管理ソフトウェアなど)、およびマルチメディアプレーヤーなどを含む。いくつかの構成では、1つまたは複数のアプリケーション514は、ディスプレイパネル504上に提示するための画像(たとえば、ユーザインターフェース(UI)、写真、アイコン、ビデオ、スチル写真など)を生成する。たとえば、アプリケーション514は、ディスプレイパネル504上に変化する画像または変化しない画像を生成するために、画像メモリ538a(および/または538b)にアクセスするための書き込みアクセスメモリ要求を生成する。
バッテリー516は、電子デバイス502に電力またはエネルギーを提供する。バッテリー516の一例は、リチウムイオンバッテリーである。一般に、電子デバイス502は、動作するためにバッテリー516からの電力を消費する。消費される電力の量は、ディスプレイパネル504上に画像を提示するためにどのように電子デバイス502のコンポーネントが使用されるかに依存する。たとえば、コントラスト比528、明るさ522、リフレッシュレート524、画像処理520の量、クロッキング周波数530、および電子デバイス502によって実行される復号526の量が大きいほど、電力消費が大きくなる。一構成では、電子デバイス502は、静止画像がディスプレイパネル504上に提示されているとき、電子デバイス502のコンポーネントによって実行される動作の量を減らすことによって、そのバッテリー516の電力を節減する。バッテリー516の電力を節減するために、他のコンポーネントまたはリソース(たとえば、メモリ)の使用の低減が、さらにまたは代替的に実行され得る。
図6は、電子デバイス502上で静止画像を検出しリソースの使用を減らすための方法600の別のより具体的な構成を示すフロー図である。電子デバイス502は、画像メモリ538aとして使用されるメモリ512のアドレス550を取得することができる(602)。一構成では、コンポーネント(たとえば、アプリケーション514、グラフィクスプロセッサなど)がディスプレイパネル504上に画像を提示することを試みるとき、ディスプレイドライバ518は、画像情報またはデータが書き込まれ得るメモリ512(たとえば、バッファ)に対応する、アドレス、ポインタ、またはアドレスもしくはポインタの範囲を提供する。電子デバイス502(たとえば、静止画像検出ブロックおよび/またはモジュール510)は、メモリ512の他の部分から画像メモリ538aを見分けるために、ディスプレイドライバ518からアドレス、ポインタ、またはそれらの範囲550を取得し得る(602)。言い換えると、画像を提示するために使用される、アドレス、ポインタ、またはそれらの範囲550におけるメモリ512は、画像メモリ538aとして指定されてよく、一方メモリ512の他の部分はそのように指定されなくてよい。加えて、または代替的に、電子デバイス502は、ディスプレイコントローラ552に含まれる画像メモリ538bのアドレス550を取得することができる(602)。
電子デバイス502は、タイマー534をセットまたはリセットすることができる(604)。タイマー534は、タイマー534がセットまたはリセットされたとき(604)からの時間を提供する。タイマー534は、クロック生成器によって生成されるクロック信号に基づき得る。一構成では、電子デバイス502は、クロック信号を生成する集積回路を含む。より詳細には、電子デバイス502がタイマー534をセットまたはリセットするとき(604)、タイマー534は、それがセットまたはリセットされた瞬間または時点(604)から、時間の追跡を開始する。
電子デバイス502は、画像メモリ538aを監視して、コンポーネント(たとえば、アプリケーション514、プロセッサ、または他のソフトウェアもしくはハードウェア)が情報またはデータを画像メモリ538a(および/または538b)に書き込むためにアクセスを要求しているかどうかを判定する(606)。たとえば、電子デバイス502(たとえば、メモリ書き込みアクセス検出ブロックおよび/またはモジュール532)は、画像を提示するために使用される、特定のメモリアドレス、ポインタ、またはそれらの範囲550に対応する、書き込みアクセス要求を監視する。電子デバイス502は、画像メモリ538a(および/または538b)に対する書き込みアクセス要求が発生したかどうかを判定する(608)。たとえば、メモリ書き込みアクセス検出ブロックおよび/またはモジュール532は、画像メモリ538aに対応する書き込みアクセス要求が発生したとき、検出しまたは通知される。画像メモリ538aに対する書き込みアクセス要求が発生した場合、電子デバイス502は、タイマー534をリセットする(604)。
画像メモリ538a(および/または538b)に対する書き込みアクセス要求が発生していない場合、電子デバイス502は、時間閾値536に達したかまたはそれを超えたかどうかを判定する(610)。たとえば、電子デバイス502は、上の式(1)に示されるように、この判定610を行うことができる。一構成では、時間閾値536は100msである。他の構成では、時間閾値536は他の時間であってよい。少なくとも時間閾値536の量の時間、変化しないままであった画像は、「静止」画像と見なされ得ることに留意されたい。時間閾値536に達していない、またはそれを超えていない場合、電子デバイス502は、画像メモリ538a(および/または538b)を監視すること(606)を続ける。
時間閾値536に達した、またはそれを超えた(たとえば、静止画像が検出された)場合、電子デバイス502は随意に、(たとえば、エネルギーを節減しようとして)1つまたは複数の動作を実行することができる。電子デバイス502は随意に、コントラスト(比)528を下げることができる(612)。たとえば、電子デバイス502(たとえば、ディスプレイリソースマネージャ508)は、ディスプレイパネル504のコントラスト528を下げる(612)ために、電圧、電流、利得、命令を調整し得、または何らかの他の調整を行うことができる。一構成では、ディスプレイリソースマネージャ508は、ディスプレイパネル504のコントラスト528を駆動する電圧を下げることができ、これによりコントラスト528を下げる。別の構成では、ディスプレイリソースマネージャ508は、ディスプレイコントローラ552にコントラスト528を下げさせる命令を、ディスプレイコントローラ552へ送ることができる。コントラスト528を下げること(612)は随意に、表示されている(静止)画像のダイナミックレンジにさらに基づき得る。たとえば、電子デバイス502は、表示されている画像のダイナミックレンジを判定し、(可能であれば)コントラスト528を下げつつ(612)、画像が適切に表示されるポイントまでコントラスト528を下げることができる(612)。
電子デバイス502は随意に、明るさ522を下げることができる(614)。たとえば、電子デバイス502(たとえば、ディスプレイリソースマネージャ508)は、ディスプレイパネル504の明るさ522を下げる(614)ために、電圧、電流、利得、命令を調整し得、または何らかの他の調整を行うことができる。一構成では、ディスプレイリソースマネージャ508は、ディスプレイパネル504の明るさ(たとえば、バックライト)を駆動する電圧を下げることができ、これによりディスプレイパネル504の明るさ522を下げる。別の構成では、ディスプレイリソースマネージャ508は、ディスプレイコントローラ552に明るさ522を下げさせる命令を、ディスプレイコントローラ552へ送ることができる。
電子デバイス502は随意に、リフレッシュレート524を下げることができる(616)。たとえば、電子デバイス502(たとえば、ディスプレイリソースマネージャ508)は、ディスプレイパネル504のリフレッシュレート524を下げる(616)ために、電圧、電流、利得、命令を調整し得、または何らかの他の調整を行うことができる。一構成では、ディスプレイリソースマネージャ508は、ディスプレイパネル504のリフレッシュレート524を駆動する電圧を下げることができ、これによりディスプレイパネル504のリフレッシュレート524を下げる。別の構成では、ディスプレイリソースマネージャ508は、ディスプレイコントローラ552にリフレッシュレート524を下げさせる命令を、ディスプレイコントローラ552へ送ることができる。リフレッシュレート524を調整することは、リフレッシュレート、フレームレート、更新レート、および/またはスキャンレートを調整することを含み得ることに留意されたい。
電子デバイス502は随意に、画像処理520を減らすことができる(618)。たとえば、電子デバイス502(たとえば、ディスプレイリソースマネージャ508)は、画像処理520を減らす(618)ために、電圧、電流、利得、命令を調整し得、または何らかの他の調整を行うことができる。たとえば、ディスプレイリソースマネージャ508は、画像処理520が発生するレートを一時停止しまたは下げることができる。より詳細には、ディスプレイリソースマネージャ508は、スケーリング540、ローテーション544、オーバーレイ/ブレンディング542、および/またはポスト・オーバーレイ処理546の処理レートを、一時停止しまたは下げることができる。別の構成では、ディスプレイリソースマネージャ508は、画像処理を減らすための命令を、画像処理ブロックおよび/またはモジュール520へ送ることができる。
電子デバイス502は随意に、復号526を減らすことができる(620)。たとえば、電子デバイス502(たとえば、ディスプレイリソースマネージャ508)は、復号526を減らす(620)ために、電圧、電流、利得、命令を調整し得、または何らかの他の調整を行うことができる。たとえば、ディスプレイリソースマネージャ508は、復号526が発生するレートを一時停止しまたは減らすことができる。別の構成では、ディスプレイリソースマネージャ508は、復号を減らすための命令を、復号ブロックおよび/またはモジュール526へ送ることができる。
電子デバイス502は随意に、クロッキング530を下げることができる(622)。たとえば、電子デバイス502(たとえば、ディスプレイリソースマネージャ508)は、クロッキング530(のレート)を下げる(622)ために、電圧、電流、利得、命令を調整し得、または何らかの他の調整を行うことができる。たとえば、ディスプレイリソースマネージャ508は、クロッキング530を供給する位相ロックループ(PLL)における電圧制御発振器(VCO)の入力電圧を変更することによって、クロッキング530のレートを一時停止しまたは下げることができる。代替的に、ディスプレイリソースマネージャ508は、(異なる)周波数分配器の出力を選択することができ、これによりクロッキング530を下げる(622)。別の構成では、ディスプレイリソースマネージャ508は、クロッキング530のレートを下げるための命令を、クロッキングブロックおよび/またはモジュール530へ送ることができる。他の電子デバイス502のコンポーネント(たとえば、メモリ512、538a、および/または538b)に適用される低減が、随意に実行され得る。
電子デバイス502は、画像メモリ538a(および/または538b)に対する書き込みアクセス要求があるかどうかを判定することができる(624)。たとえば、電子デバイス502は、コンポーネント(たとえば、アプリケーション514、プロセッサなど)が、画像メモリ538a(および/または538b)に書き込むためにアクセスを要求したかどうか、または、画像メモリ538a(および/または538b)に情報を書き込んだかどうかを、判定する。画像メモリ538a(および/または538b)に対する書き込みアクセス要求が発生していない場合、電子デバイス502は、ディスプレイリソース(たとえば、コントラスト528、明るさ522、リフレッシュレート524、画像処理520、復号526、および/またはクロッキング530)の使用を減らすこと(612)を続けることができる。たとえば、電子デバイス502は、ディスプレイリソースの減らされた状態を維持することができ、または、1つまたは複数のディスプレイリソースをさらに減らすことができる。いくつかの構成では、1つまたは複数のディスプレイリソースを減らすかどうかはさらに、画像が静的なままである時間(たとえば、タイマー534による)に依存し得る。いくつかの構成では、電子デバイス502は、別のモード(たとえば、消灯された表示モードまたは無表示の表示モード)に遷移することができる。
画像メモリ538a(および/または538b)に対する書き込みアクセス要求が発生した場合、電子デバイス502は、ディスプレイリソース(たとえば、コントラスト528、明るさ522、リフレッシュレート524、画像処理520、復号526、および/またはクロッキング530)の使用を調整することができる(626)。たとえば、電子デバイス502は、通常のディスプレイリソースの使用に戻ることができる。一構成では、電子デバイス502は、ディスプレイリソースの使用を(たとえば、動画像が提示されている間から)前のレベルまで上げる。電子デバイス502はまた、タイマー534をリセットすることができる(604)。
図7は、複数の状態、および動画像の状態またはモード754と静止画像の状態またはモード774との間の状態遷移の、一例を示す図である。一構成では、電子デバイス102は、動画像の状態またはモード754および静止画像の状態またはモード774に従って動作することができる。一般に、電子デバイス102は、動画像の状態またはモード754と、静止画像の状態またはモード774との間を遷移することができる。たとえば、電子デバイス102は、表示された画像が変化していないとき(762)、動画像モード754から静止画像モード774に遷移することができる。さらに、電子デバイス102は、画像が変化しているとき(786)、静止画像モード774から動画像モード754に遷移することができる。
動画像モード754内で、電子デバイス102は、アプリケーション準備完了状態756を開始することができる。たとえば、アプリケーション114は、起動されてよく、動作の準備ができていてよい。アプリケーション114が動作を開始する(758)とき、または画像を表示するとき、電子デバイス102は、アプリケーション定常状態760に入る。アプリケーション定常状態760の間、電子デバイス102(たとえば、アプリケーション114)は、変化する画像または動画像754を生成することができる。たとえば、アプリケーション114は、ディスプレイ104上で一連の画像を提示することができる。
電子デバイス102(たとえば、アプリケーション114)が、変化しない画像(たとえば、変化しないUI、変化しないビューファインダーなど)を提示し始めた場合、電子デバイス102は、アプリケーション中断764遷移を介して、アプリケーションの一時的な中断状態768(静止画像モード774における)に入ることができる。アプリケーション中断遷移764は、電子デバイス102がディスプレイリソース106(たとえば、コントラスト、明るさ、画像処理、復号、および/またはクロッキングなど)を減らすときに発生し得る。アプリケーションの一時的な中断状態768において、電子デバイス102(たとえば、アプリケーション114)は、減らされたディスプレイリソース106を使用して、静止画像を提示することができる。
電子デバイス102(たとえば、アプリケーション114)が表示される画像を変更するとき、電子デバイス102(たとえば、アプリケーション114)は、アプリケーション再開遷移766を介して、アプリケーション定常状態760に戻る。または、アプリケーションの一時的な中断状態768から、電子デバイス102(たとえば、アプリケーション114)は、アプリケーション失効770遷移を介して、アプリケーション終了状態776に遷移することができる。これは、たとえば、アプリケーション114がある期間非アクティブである場合に起こり得る。一構成では、これは、タイマー334によって示され得る。アプリケーション終了状態776において、電子デバイス102は、アプリケーション114の実行を終了または中止する準備を行うことができる。しかしながら、電子デバイス102は、アプリケーション停止遷移B 772を介して、アプリケーションの一時的な中断状態768に戻ることができる。アプリケーション停止遷移B 772は、たとえば、アプリケーション114がすぐに終了するのを許可されない(たとえば、自動的に終了する)場合、アプリケーション114が(たとえば、表示される画像の変化を伴わずに)何らかの活動を再開する場合、または、電子デバイス102がアプリケーション114を終了しないという指示を(たとえば、ユーザから)受け取る場合に、起こり得る。
別の場合では、電子デバイス102は、アプリケーション停止遷移A 778を介して、アプリケーション定常状態760からアプリケーション終了状態776に入ることができる。アプリケーション停止遷移A 778は、アプリケーション114が実行を終了したとき(たとえば、自動的に)、アプリケーション114を終了するための指示が(たとえば、ユーザから)受け取られたとき、または、何らかの他のコンポーネント(たとえば、アンチウイルスソフトウェア、何らかの他のアプリケーション114、電力管理コンポーネントなど)がアプリケーション114の終了を指示した場合、起こり得る。したがって、電子デバイス102は、アプリケーション中断遷移764またはアプリケーション停止A遷移778を介して、動画像モード754から静止画像モード774に遷移することができる。
アプリケーション終了状態776から、電子デバイス102は、一時的な停止遷移780を介して、Suspend and Wait for Interrupt(SWFI)またはスタンバイモード782に遷移することができる。一時的な停止遷移780は、たとえば、アプリケーション114が非アクティブになったときまたは終了したときに起こり得る。この場合、電子デバイス102(たとえば、アプリケーション114)は、動画像モード754に遷移するためのアクティビティ784を待機することができる。したがって、電子デバイス102(たとえば、アプリケーション114)は、電子デバイス102(たとえば、アプリケーション114)が何らかの関連するアクティビティ784(たとえば、ユーザが電子デバイス102と対話する、アプリケーション114を起動するなど)を受けるまで、SWFI/スタンバイ状態782にとどまることができる。このアクティビティ784が発生したとき、電子デバイス102は動画像モード754に入る(または再び入る)ことができ、これによりディスプレイ104を更新する。したがって、電子デバイス102は、画像が変化しているとき(786)、アクティビティ遷移784またはアプリケーション再開遷移766を介して、静止画像モード774から動画像モード754に遷移することができる。別の構成では、ここで開示される静止画像検出のシステムおよび方法は、SWFI/スタンバイモード782に遷移するために使用され得る。たとえば、タイマー334が、書き込みアクセス要求がメモリ538a(および/または538b)に対して行われていないことを示す場合、電子デバイス102は、中止780をトリガすることができる。
動画像モード754と静止画像モード774との間の遷移は、システム構成にさらに基づいて発生し得ることに留意されたい。システム構成は、遷移がそれに基づいてトリガされ得る、時間閾値336、どのタイプの動作が遷移を引き起こす資格を与えるか、などのような要因を含み得る。これらの遷移は、たとえば、アクティビティ784、一時的な停止780、アプリケーション停止A 778、アプリケーション失効770、アプリケーション停止B 772、アプリケーション再開766、および/またはアプリケーション中断764の遷移を含み得る。
ディスプレイの画像の状態は、使用事例とは異なることに留意されたい。たとえば、使用事例は遷移中であるが、ディスプレイは静止画像モード774にあり得る。他の場合には、使用事例はスタンバイ中であり得るが、(たとえば、周辺光またはユーザの視界などの変化によって)ディスプレイは動画像モード754にあり得る。
図8は、静止画像を検出しリソースの使用を減らすためのシステムおよび方法が実施され得る、ワイヤレス通信デバイス802の一構成の例を示すブロック図である。ワイヤレス通信デバイス802は、ディスプレイパネル804と、ディスプレイドライバ818と、1つまたは複数のクロック888と、ディスプレイインターフェース(たとえば、モバイルディスプレイデジタルインターフェース(MDDI))890と、バスインターフェース(たとえば、Advanced Extensible Interface(AXI))892と、ディスプレイリソース806と、ディスプレイリソースマネージャ808と、静止画像検出ブロックおよび/またはモジュール810と、メモリ812と、1つまたは複数のアプリケーション814と、バッテリー816と、メモリコントローラ821と、トランシーバ807と、1つまたは複数のアンテナ813a〜nとを含む。ワイヤレス通信デバイス802は、他の電子デバイス(たとえば、基地局、他のワイヤレス通信デバイスなど)とワイヤレスに通信するデバイスであってよい。ワイヤレス通信デバイス802の例は、携帯電話、スマートフォン、携帯情報端末(PDA)、ワイヤレスゲームシステム、タブレットデバイス、ラップトップコンピュータなどを含む。
ディスプレイパネル804は、視覚情報を搬送するデバイスであり得る。ディスプレイパネル804の例は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス式有機発光ダイオード(AMOLED)ディスプレイ、Digital Light Processing(DLP)ディスプレイ、プラズマディスプレイ、タッチスクリーンなどを含む。ディスプレイパネル804は、変化する画像および変化しない(たとえば、静的なまたは不動の)画像のような、画像を表示するために使用され得る。
ディスプレイドライバ818は、ワイヤレス通信デバイス802がそのディスプレイパネル804を動作させるために使用するモジュールである。ディスプレイドライバ818の一例は、ディスプレイパネル804とワイヤレス通信デバイス802の他のコンポーネント(たとえば、ソフトウェアおよび/またはハードウェア)とのインターフェースをとるソフトウェアモジュールである。たとえば、アプリケーション814は、ディスプレイパネル804上に画像を表示するために、ディスプレイドライバ818を使用し得る。より詳細には、ディスプレイドライバ818は、アプリケーション814またはオペレーティングシステムからの命令および/または情報を、ディスプレイパネル804のための命令および/または情報に変換することができる。一構成では、ディスプレイドライバ818は、画像情報のために使用される画像メモリ838を管理することができる。いくつかの構成では、ディスプレイコントローラ(図示せず)も、ワイヤレス通信デバイス802に含まれる。
1つまたは複数のクロック888は、ワイヤレス通信デバイス802において使用するクロック信号を生成するために使用される、クロック生成器であってよい。クロック888の一例は、電圧制御発振器(VCO)である。VCOの周波数または出力されるクロック信号の周波数は、入力電圧を変化させることによって調整され得る。1つまたは複数のクロック888は、ワイヤレス通信デバイス802のコンポーネントが機能し得るように、クロック信号(たとえば、タイミング信号)を生成することができる。1つまたは複数のクロック888はまた、他の(分配された)周波数でクロック信号を生成するために、周波数分配器を含み得る。
ディスプレイインターフェース(たとえば、モバイルディスプレイデジタルインターフェース(MDDI))890は、ディスプレイパネル804を、ワイヤレス通信デバイス802の他のコンポーネントと接続するために使用されるインターフェースであってよい。一構成では、ディスプレイインターフェース890は、クラムシェルまたはフリップ構成で、ディスプレイパネル804をワイヤレス通信デバイス802の他のコンポーネントと接続するために使用される。
バスインターフェース(たとえば、Advanced Extensible Interface(AXI))892は、ワイヤレス通信デバイス802の様々なモジュールを接続するバスシステムを制御するために使用されるインターフェースであってよい。たとえば、バスインターフェース892は、バスのタイミング、アドレス指定、および/または優先度を制御するために使用され得る。
ディスプレイリソース806は、ディスプレイパネル804を動作させるために使用されるリソース、またはディスプレイパネル804の動作を特徴付けるリソースを含み得る。図8に示される構成では、ディスプレイリソース806は、コントラスト(比)828と、明るさ822と、リフレッシュレート824と、画像処理820と、復号(たとえば、ビデオまたは画像の復号)826と、クロッキング830とを含む。これらのディスプレイリソース806の各々が、ディスプレイパネル804の動作に影響を与え得る。たとえば、コントラスト比828は、ディスプレイパネル804によって生成される画像のコントラストの量を制御または決定することができる。明るさ822は、ディスプレイパネル804によって放出される光の量を制御または決定することができる。リフレッシュレート824は、ディスプレイパネル804がどの程度頻繁にリフレッシュされるか(たとえば、ピクセルの別のフレームがどの程度頻繁に出力されるか)を制御または決定することができる。画像処理820は、表示されることになる画像に対する処理を実行するために使用され得る。画像処理820の例は、画像の、オーバーレイ処理、スケーリングおよびローテーションなどを含む。復号826は、表示のために画像を復号するために使用され得る。たとえば、ビデオファイルまたはストリームは、ディスプレイパネル804上に提示される前に復号される必要があり得る。クロッキング830は、ディスプレイパネル804を動作させるためまたは画像を生成するために使用されるコンポーネントが実行され得る周波数または速度を決定することができる。たとえば、クロッキング830は、画像処理の計算が発生する周波数、画像メモリ838が更新される周波数、および/またはバスが動作する周波数を変化させるために調整され得る。
ディスプレイリソースマネージャ808は、ディスプレイリソース806と、ディスプレイパネル804上での画像の提示に関連する他のコンポーネントとを制御するために使用される、ブロックおよび/またはモジュールである。たとえば、ディスプレイリソースマネージャ808は、コントラスト比828、明るさ822、リフレッシュレート824、画像処理820、復号826、クロッキング830、インターフェースの優先度、および/または画像を提示するために使用される様々な電圧を制御することができる。一構成では、ディスプレイリソースマネージャ808は、静止画像がディスプレイパネル804上に提示されているかどうかに基づいて、ディスプレイリソース806を制御する。たとえば、静止画像検出ブロックおよび/またはモジュール810は、静止画像がディスプレイパネル804に提示されているかどうかを、ディスプレイリソースマネージャ808に示す。ディスプレイリソースマネージャ808は、この指示に基づいて、ディスプレイリソース806の1つまたは複数および/または他のコンポーネントを調整することができる。たとえば、ディスプレイリソースマネージャ808は、ディスプレイパネル804が静止画像を提示しているとき、コントラスト比828、明るさ822、リフレッシュレート824、画像処理820、復号826、クロッキング830、および/または画像メモリ838の使用を減らす。ディスプレイリソースマネージャ808は画像メモリ838の使用を制御できるが、画像メモリ838はディスプレイリソース806と考えられなくてよく、むしろ、リソースの使用を減らすために制御され得るコンポーネントであることに留意されたい。一構成では、ディスプレイリソースマネージャ808はまた、提示されている画像に基づいて、ディスプレイリソース806を調整する。たとえば、ディスプレイリソースマネージャ808は、ディスプレイパネル804上に提示されている画像のダイナミックレンジ(たとえば、輝度レンジ)に基づいて、コントラスト比828を下げることができる。
ディスプレイリソースマネージャ808は、様々な制御装置を使用することによって、ディスプレイリソースおよび/または他のコンポーネントを制御することができる。たとえば、ディスプレイリソースマネージャ808は、明るさ制御装置894、コントラスト制御装置896、リフレッシュレート制御装置898、電圧制御装置801、インターフェース優先度制御装置803、クロック制御装置805、処理制御装置815、および/または復号制御装置817を含み得る。これらの制御装置の1つまたは複数は、制御を実現するために、互いに連携して、および/または様々なワイヤレス通信デバイス802のコンポーネントとともに使用され得る。明るさ制御装置894は、明るさ822を制御するために使用され得る。コントラスト制御装置896は、コントラスト828を制御するために使用され得る。ディスプレイリソースマネージャ808は、たとえば、明るさ822および/またはコントラスト828を制御するために、電圧制御装置801を使用することができる。より詳細には、ディスプレイパネル804は、ディスプレイパネル804のコンポーネントに提供される駆動電圧の量に基づいて、変化する明るさ822および/またはコントラスト828で画像を表示することができる。したがって、ディスプレイリソースマネージャ808は、明るさ制御装置894、コントラスト制御装置896、および/または電圧制御装置801に従って、明るさ822および/またはコントラスト828を変化させることができる。
ディスプレイリソースマネージャ808はまた、リフレッシュレート制御装置898および/またはクロック制御装置805を使用して、リフレッシュレート824を制御することができる。たとえば、リフレッシュレート824は、リフレッシュレート制御装置898および/またはクロック制御装置805を使用することによって制御され得る。たとえば、ディスプレイリソースマネージャ808は、クロック888の周波数を下げる(したがって、たとえばクロッキング830を下げる)ために、クロック制御装置805を使用することができ、これによって次いで、ディスプレイパネル804のリフレッシュレート824の周波数が下がり得る。
ディスプレイリソースマネージャ808は、画像処理820を制御するために、処理制御装置815を使用することができる。たとえば、処理制御装置815は、表示画像が静的である間、画像処理820の操作を一時停止しまたは減らすことができる。このことは、随意に、クロック制御装置805または何らかの他の機構を使用して達成され得る。
ディスプレイリソースマネージャ808は、ディスプレイインターフェース(MDDI)890および/またはバスインターフェース(AXI)892を制御するために、インターフェース優先度制御装置803を使用することができる。たとえば、ディスプレイリソースマネージャ808は、静止画像モードの間、ならびに/または静止画像モードに、および静止画像から遷移する間、バス上であるトラフィック優先度を与えるために、インターフェース優先度制御装置803を使用することができる。さらに、ディスプレイリソースマネージャ808は、ディスプレイインターフェース(MDDI)890および/またはバスインターフェース(AXI)892を制御するために、1つまたは複数のクロック888(およびしたがって、クロッキング830)を制御するように、クロック制御装置805を使用することができる。たとえば、ディスプレイインターフェース(MDDI)890の速度および/またはバスインターフェース(AXI)892の速度は、静止画像がクロック制御装置805を使用して表示されている間、下げられ得る。
ディスプレイリソースマネージャ808は、画像(たとえば、ビデオファイル)の復号826を制御するために、復号制御装置817を使用することができる。たとえば、復号制御装置817は、復号826の速度を一時停止または下げるために使用され得る。
ディスプレイリソースマネージャ808は、メモリ制御装置819を使用することができる。メモリ制御装置819は、メモリ812(たとえば、画像メモリ838)の機能を変更するために、メモリコントローラ821を使用することができる。たとえば、メモリ制御装置819(および/またはクロック制御装置805)は、更新レートを下げるようにメモリコントローラ821に命令することによって、メモリ812の更新レートまたはリフレッシュレートを下げるために使用され得る。この議論から示唆されるように、メモリコントローラ821は、メモリ812の機能(たとえば、更新レートまたはリフレッシュレートなど)を制御する。ディスプレイリソースマネージャ808は、ディスプレイコントローラを使用して、ディスプレイリソース806の1つまたは複数および/または他のコンポーネントを制御できることに、留意されたい。画像メモリ838のリソースの使用を減らすことによって、ワイヤレス通信デバイス802は、バッテリー816の電力消費を減らすことができる。
静止画像検出ブロックおよび/またはモジュール810は、静止(たとえば、変化しない)画像がディスプレイパネル804上に提示されているかどうかを検出する。一構成では、静止画像検出ブロックおよび/またはモジュール810は、メモリ書き込みアクセス検出ブロックおよび/またはモジュール832、タイマー834、および/または時間閾値836を含む。一構成では、メモリ書き込みアクセス検出ブロックおよび/またはモジュール832は、メモリ812を監視することによって、静止画像が提示されているかどうかを検出する。たとえば、メモリ書き込みアクセス検出ブロックおよび/またはモジュール832は、画像を提示するために使用されている画像メモリ838に対する書き込みアクセス要求があるかどうかを判定するために、画像メモリ838(たとえば、メモリ812内の画像メモリ838、および/またはディスプレイコントローラ内のメモリ812)を監視する。たとえば、静止画像検出ブロックおよび/またはモジュール810は、タイマー834をセットし、ディスプレイパネル804上に画像を提示するために使用されるメモリアドレスに対応する書き込みアクセス要求について画像メモリ838を監視する。そのような書き込みアクセス要求がある時間の間に発生しない場合(たとえば、時間制限または時間閾値836が満たされまたはそれを超える場合)、静止画像検出ブロックおよび/またはモジュール810は、静止画像がディスプレイリソースマネージャ808に表示されていることを示す。しかしながら、画像メモリ838に対する書き込みアクセス要求が発生する場合、静止画像検出ブロックおよび/またはモジュール810は、タイマー834をリセットする。
メモリ812は、画像メモリ838を含み得る。画像メモリ838は、画像の表示または提示のために割り当てられるメモリであり得る。メモリ812は、ワイヤレス通信デバイス802の他のコンポーネントとは別個であり得る。他の構成では、画像メモリ838は、ディスプレイコントローラに含まれ得る。
1つまたは複数のアプリケーション814は、ソフトウェアまたはプログラムである。アプリケーション814の例は、写真閲覧アプリケーション、ビデオゲーム、生産性ソフトウェア(たとえば、ワードプロセッサ、スプレッドシートソフトウェア、プレゼンテーションソフトウェア、データベース管理ソフトウェアなど)、およびマルチメディアプレーヤーなどを含む。いくつかの構成では、1つまたは複数のアプリケーション814は、ディスプレイパネル804上に提示するための画像(たとえば、ユーザインターフェース(UI)、写真、アイコン、ビデオ、スチル写真など)を生成する。たとえば、アプリケーション814は、ディスプレイパネル804上に変化する画像または変化しない画像を生成するために、画像メモリ838にアクセスするための書き込みアクセスメモリ要求を生成する。ワイヤレス通信802はまた、オペレーティングシステム(図示せず)を含み得ることに留意されたい。オペレーティングシステムはまた、ディスプレイパネル804のための画像を生成し得、画像メモリ838にアクセスするための書き込みアクセスメモリ要求を生成することができる。
バッテリー816は、ワイヤレス通信デバイス802に電力またはエネルギーを提供する。バッテリー816の一例は、リチウムイオンバッテリーである。一般に、ワイヤレス通信デバイス802は、動作するためにバッテリー816からの電力を消費する。消費される電力の量は、ディスプレイパネル804上に画像を提示するために使用されるディスプレイリソース806に依存する。たとえば、コントラスト比828、明るさ822、リフレッシュレート824、画像処理820の量、クロッキング周波数830、復号826の量、ディスプレイインターフェース(MDDI)890の速度、バスインターフェース(AXI)892の速度、および/またはワイヤレス通信デバイス802によって使用されるメモリ812の速度が高いほど、電力消費は大きくなる。一構成では、ワイヤレス通信デバイス802は、静止画像がディスプレイパネル804上に提示されているときに使用されるディスプレイリソース806の量および/または他のコンポーネントの使用を減らすことによって、そのバッテリー816の電力を節減する。
ワイヤレス通信デバイス802は、他の電子デバイス(たとえば、基地局、他のワイヤレス通信デバイスなど)と通信するために、トランシーバ807を使用することができる。トランシーバ807は、受信機809と送信機811とを含み得る。受信機809は、1つまたは複数のアンテナ813a〜nによって受信される通信信号を使用することができる。たとえば、受信機809は、受信された通信信号を復調および/または復号することができる。送信機811は、通信信号を送信するために使用され得る。たとえば、送信機811は、1つまたは複数のアンテナ813a〜nを使用した送信のために、通信信号を符号化および/または変調することができる。したがって、ワイヤレス通信デバイス802は、通信信号を送信および受信することによって、他の電子デバイスまたは他の電子デバイスのネットワークと通信することができる。いくつかの場合には、受信された通信信号中の情報は、ディスプレイパネル804上に画像を表示するために使用され得る。
図9は、電子デバイス902において利用され得る様々なコンポーネントを示す。示されるコンポーネントは、同じ物理的構造内に配置されてよく、または、別個のハウジングまたは構造中に配置されてよい。図1、図3、および図5に関して論じられた電子デバイス102、302、502は、電子デバイス902と同様に構成され得る。電子デバイス902はプロセッサ927を含む。プロセッサ927は、汎用シングルまたはマルチチップマイクロプロセッサ(たとえば、ARM)、専用マイクロプロセッサ(たとえば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ927は、中央演算処理装置(CPU)と呼ばれることがある。図9の電子デバイス902中に単一のプロセッサ927のみが示されるが、代替的な構成では、プロセッサの組合せ(たとえば、ARMとDSP)が使用され得る。
電子デバイス902はまた、プロセッサ927と電子通信するメモリ912を含む。すなわち、プロセッサ927は、メモリ912から情報を読み取り、および/またはメモリ912に情報を書き込むことができる。メモリ912は、電子情報を記憶することが可能な任意の電子コンポーネントであり得る。メモリ912は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAM中のフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタなどであり得、それらの組合せを含み得る。
データ925aおよび命令923aがメモリ912内に記憶され得る。命令923aは、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを含み得る。命令923aは、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令923aは、上で説明された方法200、400、600を実施するために、プロセッサ927によって実行可能であり得る。命令923aを実行することは、メモリ912内に記憶されたデータ925aの使用を含み得る。図9は、プロセッサ927にロードされているいくつかの命令923bとデータ925bとを示す。
電子デバイス902はまた、他の電子デバイスと通信するための1つまたは複数の通信インターフェース929を含み得る。通信インターフェース929は、有線通信技術、ワイヤレス通信技術、またはその両方に基づき得る。様々なタイプの通信インターフェース929の例は、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)、イーサネット(登録商標)アダプター、IEEE1394バスインターフェース、小型コンピュータシステムインターフェース(SCSI)バスインターフェース、赤外線(IR)通信ポート、Bluetooth(登録商標)ワイヤレス通信アダプターなどを含む。
電子デバイス902はまた、1つまたは複数の入力デバイス931と、1つまたは複数の出力デバイス933とを含み得る。様々な種類の入力デバイス931の例は、キーボード、マウス、マイクロフォン、遠隔制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペン、タッチスクリーンなどを含む。様々な種類の出力デバイス933の例は、スピーカー、プリンタなどを含む。電子デバイス902中に典型的に含まれ得る1つの特定のタイプの出力デバイスは、ディスプレイデバイス904である。ここで開示される構成とともに使用されるディスプレイデバイス904は、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネセンスなどのような、任意の好適な画像投影技術を利用し得る。ディスプレイコントローラ952はまた、メモリ912内に記憶されたデータを、ディスプレイデバイス904上に示されるテキスト、グラフィックス、および/または動画に(適宜)変換するために提供され得る。
電子デバイス902の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含み得る、1つまたは複数のバスによって互いに結合され得る。簡単のために、図9では様々なバスはバスシステム935として示される。図9は、電子デバイス902の1つの可能な構成しか示していないことに留意されたい。様々な他のアーキテクチャおよびコンポーネントが利用され得る。
図10は、ワイヤレス通信デバイス1002内に含まれ得るいくつかのコンポーネントを示す。図8に関して説明されたワイヤレス通信デバイス802は、図10に示されるワイヤレス通信デバイス1002と同様に構成され得る。ワイヤレス通信デバイス1002は、プロセッサ1027を含む。プロセッサ1027は、汎用シングルまたはマルチチップマイクロプロセッサ(たとえば、ARM)、専用マイクロプロセッサ(たとえば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ1027は、中央演算処理装置(CPU)と呼ばれることがある。図10のワイヤレス通信デバイス1002中に単一のプロセッサ1027のみが示されるが、代替的な構成では、プロセッサの組合せ(たとえば、ARMとDSP)が使用され得る。
ワイヤレス通信デバイス1002はまた、プロセッサ1027と電子通信するメモリ1012を含む(たとえば、プロセッサ1027は、メモリ1012から情報を読み取り得、および/またはメモリ1012に情報を書き込むことができる)。メモリ1012は、電子情報を記憶することが可能な任意の電子コンポーネントであり得る。メモリ1012は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAM中のフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタなどであり得、それらの組合せを含み得る。
データ1025aおよび命令1023aが、メモリ1012に記憶され得る。命令1023aは、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、プロシージャなどを含み得る。命令1023aは、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令1023aは、上で説明された方法200、400、600を実施するために、プロセッサ1027によって実行可能であり得る。命令1023aを実行することは、メモリ1012内に記憶されたデータ1025aの使用を含み得る。図10は、プロセッサ1027にロードされているいくつかの命令1023bとデータ1025bとを示す。
ワイヤレス通信デバイス1002はまた、ワイヤレス通信デバイス1002と遠隔のロケーション(たとえば、基地局または他のワイヤレス通信デバイス)との間の信号の送信および受信を可能にするために、送信機1011と受信機1009とを含み得る。送信機1011および受信機1009は、トランシーバ1007と総称され得る。アンテナ1013は、トランシーバ1007に電気的に結合され得る。ワイヤレス通信デバイス1002はまた、複数の送信機、複数の受信機、複数のトランシーバおよび/または複数のアンテナを含み得る(図示せず)。
ワイヤレス通信デバイス1002の様々なコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバスなどを含み得る、1つまたは複数のバスによって互いに結合され得る。簡単のために、図10では様々なバスはバスシステム1035として示される。
上の説明では、様々な用語とともに参照番号が時々使用された。用語が参照番号とともに使用されている場合、これは、図のうちの1つまたは複数に示された特定の要素を指すものとされ得る。用語が参照番号を伴わずに使用されている場合、これは、一般に特定の図に限定されない用語を指すものとされ得る。
「決定」という用語は、多種多様な動作を包含し、したがって、「決定」は、計算、算出、処理、導出、調査、検索(たとえば、テーブル、データベースまたは別のデータ構造での検索)、確認などを含み得る。また、「決定」は、受信(たとえば、情報を受信すること)、アクセス(たとえば、メモリ中のデータにアクセスすること)などを含み得る。また、「決定」は、解決、選択、選定、確立などを含み得る。
「に基づいて」という句は、別段に明示されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という句は、「のみに基づいて」と「に少なくとも基づいて」の両方を表す。
ここで説明された機能は、1つまたは複数の命令としてプロセッサ可読媒体またはコンピュータ可読媒体上に記憶され得る。「コンピュータ可読媒体」という用語は、コンピュータまたはプロセッサによってアクセスされ得る任意の利用可能な媒体を指す。限定ではなく例として、そのような媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。ここで使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。コンピュータ可読媒体は有形で非一時的であり得ることに留意されたい。「コンピュータプログラム製品」という用語は、コンピューティングデバイスまたはプロセッサによって実行、処理または計算され得るコードまたは命令(たとえば、「プログラム」)と組み合わせたコンピューティングデバイスまたはプロセッサを指す。ここで使用される「コード」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指すことがある。
ソフトウェアまたは命令はまた、伝送媒体を介して送信され得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、伝送媒体の定義に含まれる。
ここで開示される方法は、説明された方法を達成するための1つまたは複数のステップまたは動作を備える。本方法のステップおよび/または動作は、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、説明されている方法の適切な動作のためにステップまたは動作の特定の順序が必要とされない限り、特定のステップおよび/または動作の順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
特許請求の範囲は、上で示された厳密な構成およびコンポーネントに限定されないことを理解されたい。特許請求の範囲から逸脱することなく、ここで説明するシステム、方法、および装置の構成、動作および詳細において、様々な改変、変更および変形が行われ得る。