特許第5898787号(P5898787)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アップル インコーポレイテッドの特許一覧

<>
  • 特許5898787-オーバースキャンサポート 図000003
  • 特許5898787-オーバースキャンサポート 図000004
  • 特許5898787-オーバースキャンサポート 図000005
  • 特許5898787-オーバースキャンサポート 図000006
  • 特許5898787-オーバースキャンサポート 図000007
  • 特許5898787-オーバースキャンサポート 図000008
  • 特許5898787-オーバースキャンサポート 図000009
  • 特許5898787-オーバースキャンサポート 図000010
  • 特許5898787-オーバースキャンサポート 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5898787
(24)【登録日】2016年3月11日
(45)【発行日】2016年4月6日
(54)【発明の名称】オーバースキャンサポート
(51)【国際特許分類】
   G06F 3/14 20060101AFI20160324BHJP
   G09G 5/36 20060101ALI20160324BHJP
   G09G 5/38 20060101ALI20160324BHJP
【FI】
   G06F3/14 310A
   G09G5/36 520G
   G09G5/38 Z
【請求項の数】14
【全頁数】13
(21)【出願番号】特願2014-556577(P2014-556577)
(86)(22)【出願日】2013年1月31日
(65)【公表番号】特表2015-515658(P2015-515658A)
(43)【公表日】2015年5月28日
(86)【国際出願番号】US2013023993
(87)【国際公開番号】WO2013119446
(87)【国際公開日】20130815
【審査請求日】2014年9月4日
(31)【優先権主張番号】13/368,464
(32)【優先日】2012年2月8日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
(74)【代理人】
【識別番号】100092093
【弁理士】
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100082005
【弁理士】
【氏名又は名称】熊倉 禎男
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100122563
【弁理士】
【氏名又は名称】越柴 絵里
(72)【発明者】
【氏名】サンドメル ジェレミー
(72)【発明者】
【氏名】シェイファー ジュシュア エイチ
(72)【発明者】
【氏名】パターソン トビー シー
(72)【発明者】
【氏名】コッフマン パトリック
(72)【発明者】
【氏名】スタール ジェフリー
(72)【発明者】
【氏名】ハーパー ジョン エス
【審査官】 菊池 智紀
(56)【参考文献】
【文献】 特開平10−312432(JP,A)
【文献】 特開2006−107009(JP,A)
【文献】 特開2008−005168(JP,A)
【文献】 特開2005−345523(JP,A)
【文献】 国際公開第2010/073363(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/14− 3/153
G09G 5/36− 5/399
H04N 7/01
(57)【特許請求の範囲】
【請求項1】
表示装置の1つ以上の表示装置特性を判定するためのコンピュータコードと、
実行中のアプリケーションから表示モードを示す値を受信するためのコンピュータコードであって、前記実行中のアプリケーションが表示バッファを有し、前記表示バッファがコンテンツ及び第1の解像度を有する、コンピュータコードと、
前記表示モードが第1のモードであるとき、フレームバッファを完全には満たさないように、前記表示バッファのコンテンツを前記第1の解像度よりも低い第2の解像度で前記フレームバッファに送信しセンタリングするためのコンピュータコードと、
前記表示モードが第2のモードであるとき、前記フレームバッファ全体未満を満たすように、前記表示バッファのコンテンツを前記第1の解像度で前記フレームバッファに送信しセンタリングするためのコンピュータコードと、
前記表示モードが第3のモードであるとき、前記フレームバッファを完全に満たすように、前記表示バッファのコンテンツを前記第1の解像度で前記フレームバッファに送信するためのコンピュータコードと、
を含む不揮発性のコンピュータコードを記憶した装置。
【請求項2】
1つ以上の表示装置特性を判定するための前記コンピュータコードが、前記表示装置の表示範囲を判定するためのコンピュータコードを含む、請求項1に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項3】
前記表示装置の表示範囲を判定するための前記コンピュータコードが、
前記表示装置から1つ以上の識別子値を受信するためのコンピュータコードと、
前記表示装置以外のソースから、前記1つ以上の識別子値のうちの少なくとも1つに基づいて、前記表示装置の前記表示範囲を取り出すためのコンピュータコードと、
を含む、請求項2に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項4】
表示モードを示す値を受信するための前記コンピュータコードが、前記表示モードが前記第1のモードであるとき、前記表示装置の表示範囲を示す値を前記実行中のアプリケーションに送信するためのコンピュータコードを含む、請求項2に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項5】
表示モードを示す値を受信するための前記コンピュータコードが、前記表示モードが前記第2のモードであるとき、前記第2の解像度を示す値を前記実行中のアプリケーションに送信するためのコンピュータコードを含む、請求項2に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項6】
表示モードを示す値を受信するための前記コンピュータコードが、前記表示モードが前記第3のモードであるとき、前記表示装置の表示範囲を示す値を前記実行中のアプリケーションに送信するためのコンピュータコードを含む、請求項2に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項7】
1つ以上の表示装置特性を判定するための前記コンピュータコードが、前記表示装置がオーバースキャンするかどうかを判定するためのコンピュータコードを更に含む、請求項2に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項8】
表示装置の表示範囲を判定するためのコンピュータコードと、
前記表示装置がオーバースキャンすることを判定するためのコンピュータコードと、
実行中のアプリケーションから表示モードを示す値を受信するためのコンピュータコードと、
前記表示モードが第1のモードであるとき、前記表示範囲に等しい表示バッファサイズ値を前記実行中のアプリケーションに送信するためのコンピュータコードと、
前記表示モードが第2のモードであるとき、前記表示範囲よりも小さい表示バッファサイズ値を前記実行中のアプリケーションに送信するためのコンピュータコードと、
前記表示モードが第3のモードであるとき、前記表示範囲に等しい第1の値と前記表示範囲よりも小さい第2の値とを前記実行中のアプリケーションに送信するためのコンピュータコードと、
を含む、不揮発性のコンピュータコードを記憶した装置。
【請求項9】
前記実行中のアプリケーションから表示バッファコンテンツを受信するためのコンピュータコードと、
前記表示モードが前記第1のモードであるとき、前記表示バッファコンテンツを前記表示範囲よりも小さいサイズにスケーリングするためのコンピュータコードと、
前記スケーリングされた表示バッファコンテンツを、フレームバッファ内でセンタリングさせるためのコンピュータコードと、
前記フレームバッファに前記スケーリングされた表示バッファコンテンツが占めていないロケーションで、特定の色を示す値を書き込ませるためのコンピュータコードと、
を更に備える、請求項8に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項10】
前記実行中のアプリケーションから表示バッファコンテンツを受信するためのコンピュータコードと、
前記表示モードが前記第2のモードであるとき、前記表示バッファコンテンツを、フレームバッファ内でセンタリングさせるためのコンピュータコードと、
前記フレームバッファに前記表示バッファコンテンツが占めていないロケーションで、特定の色を示す値を書き込ませるためのコンピュータコードと、を更に備える、請求項8に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項11】
前記実行中のアプリケーションから表示バッファコンテンツを受信するためのコンピュータコードと、
前記表示モードが前記第3のモードであるとき、前記表示バッファコンテンツをフレームバッファに書き込ませるためのコンピュータコードと、
を更に備える、請求項8に記載の不揮発性のコンピュータコードを記憶した装置。
【請求項12】
表示装置の1つ以上の表示装置特性を判定するステップと、
実行中のアプリケーションから表示モードを示す値を受信するステップと、
前記実行中のアプリケーションの、コンテンツ及び第1の解像度を有する表示バッファへのアクセスを取得するステップと、
前記表示バッファのコンテンツを前記第1の解像度から第2の解像度に低減するステップと、
前記表示モードが第1のモードであるとき、フレームバッファを完全には満たさないように、前記解像度が低減された表示バッファコンテンツを前記フレームバッファ内でセンタリングするステップと、
前記表示モードが第2のモードであるとき前記フレームバッファ全体未満を満たすように、前記表示バッファコンテンツを前記第1の解像度で、前記フレームバッファ内でセンタリングするステップと、
前記表示モードが第3のモードであるとき前記フレームバッファを完全に満たすように、前記表示バッファコンテンツを前記第1の解像度で、前記フレームバッファに送信するステップと、
を含む、コンテンツ表示方法。
【請求項13】
表示装置の表示範囲を判定するステップと、
前記表示装置がオーバースキャンすることを判定するステップと、
実行中のアプリケーションから表示モードを示す値を受信するステップと、
前記表示モードが第1のモードであるとき、前記表示範囲に等しい表示バッファサイズ値を前記実行中のアプリケーションに送信するステップと、
前記表示モードが第2のモードであるとき、前記表示範囲よりも小さい表示バッファサイズ値を前記実行中のアプリケーションに送信するステップと、
前記表示モードが第3のモードであるとき、前記表示範囲に等しい第1の値と前記表示範囲よりも小さい第2の値とを前記実行中のアプリケーションに送信するステップと、
を含む、コンテンツ表示方法。
【請求項14】
ディスプレイと、
表示装置に通信可能に結合するように適合されたフレームバッファメモリと、
前記フレームバッファメモリに通信可能に結合され、かつ、請求項1に記載のすべてのコンピュータコードをその上に記憶したメモリと、
前記フレームバッファメモリ及び前記メモリに通信可能に結合された1つ以上のプロセッサであって、前記1つ以上のプロセッサが、前記メモリに記憶された前記コンピュータコードを実行するように適合される、プロセッサと、
を備える、電子装置。
【発明の詳細な説明】
【背景技術】
【0001】
本開示は、全般的に、ディスプレイ技術の分野に関する。より詳細には、本開示は、アプリケーションが表示すると示す情報のタイプに少なくとも部分的に基づいて、実行中のアプリケーションの表示バッファサイズを設定するための技術に関する。
【0002】
初期のテレビは、テレビの陰極線管(CRT)内でビデオ画像がどのようにフレーミングされるかに関して非常にばらつきがあった。これを理由に、製品は、3つのエリア、即ち、(1)タイトルセーフ、すべての表示装置で可視であると仮定されるエリア、したがってそこではテキストは確実に切断されなかった、(2)アクションセーフ、「完璧な」表示装置の可視エリアを表すエリア、及び(3)オーバースキャン、フル画像エリア、を定義した。したがって、「オーバースキャン」という用語は、視聴者には確実には見えないことがあるビデオ画像の四方のエッジの周りの領域を指す。
【0003】
初期の表示装置は、製造の問題を補償するためにオーバースキャンを遂行したが、液晶ディスプレイ(LCD)のような現代のピクセル化された表示装置はこれを行う必要がない。しかし、多くの場合、そうしている。このことと、アプリケーションは、アプリケーションがその上で実行しているシステムに結合された表示装置がオーバースキャンを遂行するかどうかを知らないという事実により、表示は準最適なものとなり得る。例えば、アプリケーションが、表示装置がオーバースキャンすると仮定した場合、表示装置の実際の範囲よりも小さいサイズまでその出力をスケーリングすることによって、これを事前補正することができる。表示装置がオーバースキャンを行う場合、表示装置はブラックボーダー付きでアプリケーションの出力を表示する。しかしながら、ディスプレイがオーバースキャンを行わない場合、アプリケーションは、不要なブラックボーダー付きで出力を生成する。一方、アプリケーションが、表示装置がオーバースキャンすると仮定しない場合、表示装置の全範囲と一致する出力を発生することができる。表示装置がオーバースキャンを行わない場合、アプリケーションは、その全範囲を使用する。しかしながら、ここで、表示装置がオーバースキャンを行う場合には、アプリケーションの出力の一部がクリッピングされる。したがって、アプリケーションの出力タイプに少なくとも部分的に基づいて、アプリケーションにより使用される表示領域を動的に設定するためのメカニズムを提供することが有益である。
【発明の概要】
【0004】
本明細書に記載する技術は、表示装置の範囲及び表示モードに基づいて実行中のアプリケーションの表示バッファサイズを設定するための方法を提供する。第1の実施形態に係る表示方法は、表示装置の1つ以上の特性を判定することを含む。例示的な特性は、表示装置の表示範囲、及び、その装置がその入力をオーバースキャンするかどうかを含む。その場合、実行中のアプリケーションは、その所望の表示モードを示すことができる。第1の例示的な表示モードでは、アプリケーションは、サポート環境がこれらの雑事を対処することを予期して、オーバースキャンのための補正をしない。第2の例示的なモードでは、アプリケーションは、予期されるオーバースキャンのために事前補正する。第3の例示的なモードでは、アプリケーションは、アプリケーションの性能及びトリミングすべきでないコンテンツに影響を及ぼすことなく、オーバースキャンによりトリミングされる可能性のあるコンテンツを提供する。この後者の場合には、アプリケーションは、その表示バッファの「ディスプレイセーフ」領域に第2のタイプのコンテンツを配置することができる。アプリケーションがその所望の表示モードを指定すると、表示モード及び1つ以上の表示装置特性に少なくとも部分的に基づいて、1つ以上の表示バッファ特性を実行中のアプリケーションに送信することができる。アプリケーションは、これらの特性を使用して、それの表示バッファのサイズを定義することができる。例えば、1つのモードでは、表示装置を駆動するために使用されるフレームバッファよりも小さいサイズに(即ち、より小さいサイズに)その表示バッファを設定するようにアプリケーションに伝えることができる。このモードでは、アプリケーションは、より小さい表示バッファにのみ書き込むことによって、その表示出力を事前補正することができる。別のモードでは、アプリケーションは、2つのサイズ値、即ち、表示装置の全範囲を表す第1の値と、「ディスプレイセーフ」である表示バッファ内の領域を示す小さい値とを与えられ得る。本開示による方法は、プログラムコードに具体化し永続的記憶装置に配置してもよいし、あるいは、プログラム制御装置(例えば、コンピュータプロセッサ)を使用して記載の方法を実施することができるハードウェアデバイス(例えば、コンピュータシステム及び/又はモバイル装置)に具体化してもよい。
【図面の簡単な説明】
【0005】
図1】一実施形態に係る、インセット領域及びオーバースキャンエリアを有する表示領域を示す図である。
図2】一実施形態に係る、表示動作の動作タイムラインを示す図である。
図3】一実施形態に係る、アプリケーションによって指定された表示モードに基づいてアプリケーションの表示バッファのコンテンツに対して遂行されるアクションをブロック図の形態で示す図である。
図4】一実施形態に係る表示動作をフローチャートの形態で示す図である。
図5】一実施形態に係る表示モード判定方法をフローチャートの形態で示す図である。
図6】一実施形態に係る動作環境をブロック図の形態で示す図である。
図7】本開示に従って1つ以上の動作を具現化するために使用され得る例示的なコンピュータシステムをブロック図の形態で示す図である。
【発明を実施するための形態】
【0006】
本開示は、実行中のアプリケーションの表示バッファサイズを動的に設定するためのシステム、方法及びコンピュータ可読媒体に関する。一般に、アプリケーションは、(1)オーバースキャン表示を無視すること、(2)表示されることを希望する情報を記憶するために使用する表示バッファ中のエリアを限定することによって事前補正すること、及び(3)「クリッピング」されて欲しくない情報のロケーションを、表示バッファ中の確実に見ることができる領域に制限しながら、表示装置の全範囲を使用すること、の3つの方法のうちの1つでオーバースキャン表示の問題に対処することができる。表示性能を向上させるために、アプリケーションの表示バッファのサイズ、及びその表示バッファのコンテンツをフレームバッファに移動するときに遂行されるタスクは、ターゲット表示装置の範囲だけでなく、アプリケーションがどのようにオーバースキャンの問題に対処するつもりであるか(即ち、表示される情報のタイプ)にも基づき得る。より詳細には、表示装置の特性(例えば、その範囲)が判定されると、実行中のアプリケーションに、オーバースキャンの問題に対処することを希望することを示す様式に基づいて、その表示バッファサイズをいろいろな値に設定するように伝えることができる。
【0007】
以下の記載において、説明を目的として、本発明の概念の完全な理解を提供するために、多数の具体的な詳細について説明する。この記載の一部として、本開示の図面のいくつかは、本発明が不明瞭になるのを避けるために、構造及び装置をブロック図の形態で表す。更に、本開示に使用される言語は、主に、読み易さ及び説明の目的のために選択されたもので、発明の要旨を線引き又は制限するために選択されたものではなく、このような本発明の要旨を決定するためには特許請求の範囲に依存する必要がある。本開示において「一実施形態」又は「一実施形態」を言及することは、実施形態に関して述べる特定の特徴、構造又は特性が本発明の少なくとも一実施形態に含まれることを意味し、そして「一実施形態」又は「一実施形態」を何度も言及することは、必ずしも全てが同じ実施形態を言及すると理解してはならない。
【0008】
(任意の開発プロジェクトの場合のような)任意の実際の具現化の開発では、開発者特有の目標(例えば、システム及びビジネス関連制約との適合)を達成するために多数の判断をしなければならず、かつ、これらの目標は、具現化ごとに変動し得ることが了解されよう。また、そのような開発努力は、複雑で時間がかかることがあるが、それにもかかわらず、本開示の利益を有する画像キャプチャデバイスの設計における当業者の日常行うべきものであることも了解されよう。
【0009】
以下に、上記で特定した3つの方法のうちの1つ、即ち、(1)オーバースキャンを無視すること、(2)オーバースキャンを事前補正すること、又は(3)表示装置の全範囲を使用することのうちの1つにおいて、実行中のアプリケーションがオーバースキャンの問題に取り組む様々な実施形態について記載する。便宜上、これらの取組みには、モードが割り当てられ、取組み1にはモード1が、取組み2にはモード2が、取組み3にはモード3が割り当てられる。更に、本開示全体にわたって説明を目的として、720p規格に対応する表示装置範囲を使用する。図1を参照すると、720p規格に従った表示領域100は、1,280ピクセル×720ピクセルに達する範囲を有し、インセット領域105は、水平方向に「X」ピクセル、垂直方向に「Y」ピクセルを有することができ、かかる領域がオーバースキャンエリア110を画定する。「X」及び「Y」に割り当てられる具体的な値は、表示装置の固有のタイプ(即ち、そのオーバースキャンエリアのサイズ)に基づいて変動し得ることが認識されよう。当業者には、本発明がこれらの実施形態には限定されないことが理解されよう。他の多数のモード及び/又は他の表示範囲を容易に適応させることができる。
【0010】
図2を参照すると、本開示による表示動作の動作タイムライン200は、実行中のアプリケーション205と表示制御部210と表示装置215との間の通信を示している。本明細書で使用される場合、「表示制御部」という句は、1つ以上のソフトウェアモジュールを指すことができ、及び/又はアプリケーション205が実行する動作環境のハードウェアを選択することができる。最初に、表示制御部210は、表示装置215に問い合わせて(220)、その表示特性を取得する(225)。別の実施形態では、表示装置215は、その表示特性を表示制御部210に積極的に「プッシュする」ことができる。一定時間の経過後、アプリケーション205は、その表示モードを表示制御部210に通知する(230)。それに応答して、表示制御部210は、アプリケーション205に、その表示バッファのサイズをいくつにすべきか伝えることができる(235)。
【0011】
表1を参照すると、ここに記載されている実施形態では、アプリケーション205が、表示モード1で動作していることを示したとき、表示制御部210は、その表示バッファを1280×720にするようにアプリケーション205に伝えることができる。アプリケーション205が、表示モード2で動作していることを示したとき、表示制御部210は、その表示バッファを1216×684にするようにアプリケーション205に伝えることができる。そして、アプリケーション205が、表示モード3で動作していることを示したとき、表示制御部210は、その表示バッファを1280×720にするようにアプリケーション205に伝えることができる。インセット領域105に対応する、表1で特定された縮小された表示バッファサイズ(1216×684)は例示的なものにすぎず、厳密な寸法は表示装置自体、及び/又は設計者がオーバースキャン補正のために実施したい何らかのルール(例えば、水平方向と垂直方向の両方に沿って均一に5%)に依存する。
【0012】
アプリケーション205が、表示装置215上に表示するために表示制御部210に表示バッファを送信し始め(240)、表示装置215がオーバースキャンすることが判定されると、表示制御部210は、表示バッファのコンテンツを表示装置215にパスする際に(250)、表1で指定されたアクションを実行することができる(245)。
【0013】
図3を参照すると、例示的な表示モードの各々について表1に示したアクションが示されている。モード1(図3A)では、アプリケーション205は、表示装置215によるオーバースキャン動作に全く対処しない。したがって、表示制御部210は、アプリケーションの表示バッファコンテンツを取得し、それをインセット領域105に対応するようにスケーリングすることができる。スケーリングされた表示バッファコンテンツは、ブラックボーダー付きで表示装置のフレームバッファ中に配置され、センタリングされる。(フレームバッファ中にコンテンツを配置することは、表示装置にそのコンテンツを送信することと同等であると認識されよう。一般に、フレームバッファから表示装置へのデータ転送は、ハードウェアによって処理される。)モード2(図3B)では、アプリケーション205が、表示装置215のオーバースキャン動作のための事前補正をしている。したがって、表示制御部210は単に、アプリケーションの表示バッファコンテンツをフレームバッファの中央にコピーし、ブラックボーダーを同様に提供することができる。モード3(図3C)では、アプリケーション205は、表示装置の全範囲を使用し、この場合のみ、アプリケーション自体が、クリッピングすべきでないコンテンツが、表示装置215のオーバースキャン動作中にクリッピングされないバッファ領域にあることを保証する。したがって、表示制御部210はやはり、単に、アプリケーションの表示バッファコンテンツをフレームバッファにコピーすることができ、この場合、ブラックボーダーを提供する必要はない。
【0014】
図4を参照すると、表示装置の表示特性を取得することによって、本開示による表示動作400が開始する(ブロック405)。そのような情報は、表示装置自体から直接取得することができるか、あるいは、(例えば、インターネットのようなコンピュータネットワークを介してアクセスされる)表示制御部210に近くの又は遠位のデータストア(例えば、データベース)から取得することができる。アプリケーションの好適な表示モードが通知されると(ブロック410)、アプリケーションに、その表示バッファをどのくらいの大きさにすべきかを伝える(ブロック415)。一実施形態では、アプリケーションが好適な表示モードを指示しない場合、自動的に、デフォルトモードが選択され得る(例えば、モード1)。アプリケーションが、表示バッファコンテンツを送信し始めると(ブロック420)、そのコンテンツは、アプリケーションの表示モードに基づいて、処理されフレームバッファに送信される(ブロック425)。
【0015】
可能な表示モード及び動作特性が表1に示す通りであるブロック425によるアクションを図5に示す。表示モード1が選択された場合(ブロック500の「はい」の分岐)、アプリケーションの表示バッファコンテンツを、表示装置のインセット領域105内に収まるようにスケーリングし(図1参照)、ブラックボーダー付きでフレームバッファ内でセンタリングすることができる(ブロック505)。表示モードがモード1でない場合(ブロック500の「いいえ」の分岐)、表示モード2が選択されたかどうかを判定するために検査を実行することができる。表示モード2が選択された場合(ブロック510の「はい」の分岐)、アプリケーションの表示バッファコンテンツを、フレームバッファの中央に直接コピーすることができ、ブラックボーダーが提供される(ブロック515)。モード1又はモード2のいずれも選択されなかった場合(ブロック510の「いいえ」の分岐)、アプリケーションの表示バッファをフレームバッファに直接コピーすることができる(ブロック520)。図5は、表1及び図3に関して上述したことをフローチャートの形態で示しているが、モードの数及び特定のアクションは、完全に、設計者次第である。
【0016】
図6を参照すると、例示的な動作環境600は、ユーザ空間605と、フレームワーク空間610と、グラフィック空間615と、カーネル空間620と、ハードウェア空間625とを含むことが分かる。図示のように、ユーザ空間605にあるアプリケーション630は、アプリケーションプログラミングインターフェース(API)を介して、表示モード制御部635と通信する。同様にして、表示モード制御部635は、APIを介して、グラフィック空間615にある構成要素と通信する。グラフィック空間615とカーネル空間620とハードウェア空間625との間の標準的な双方向作用を介して、表示モード制御部635は、フレームバッファ640及び表示装置645と効率的に/機能的に、通信する。また、図6には、データストア650、並びに、コンピュータネットワーク655及び遠位のデータストア660との通信が示されている。
【0017】
一実施形態では、図2図3及び図4に従った動作は、表示モード制御部635によって遂行することができる。表示モード制御部635は、例えば、フレームワーク空間レベルで実行する1つ以上のソフトウェアモジュールで構成され得る。APIを介したグラフィック空間615へのコールを経由して、表示モード制御部635は、アプリケーション630からフレームバッファ640への(したがって、表示装置625への)表示バッファコンテンツの転送を仲介する。別の実施形態では、表示モード制御部635(例えば、コンピュータプログラムコード)の機能性は、様々なレベル、即ち、フレームワーク空間610、グラフィック空間615及びカーネル空間620のそこら中に、又は全体に亘って分散させることができる。
【0018】
ユーザ空間605、フレームワーク空間610、グラフィック空間615及びカーネル空間620は、典型的には、メモリ中で実行するコンピュータプログラムコードで具体化され、異なる空間は、動作の異なる抽象度レベルを表し得ることが理解されよう。更に、アプリケーション630は、表示バッファとして指定された(ユーザ空間605内の)メモリを含むことが理解されよう。更に、表示装置645は、標準的なコンピュータの表示ユニット(例えば、デスクトップコンピュータシステムの一部)として示されているが、これは必須ではない。例えば、表示装置645は、ノートブックコンピュータ又はタブレットコンピュータのようなポータブル装置、並びに携帯電話又はパーソナル音楽/ビデオプレーヤーのようなハンドヘルドユニット内に合体してもよい。
【0019】
次に図7を参照すると、一実施形態に係る、装置700の簡単な機能ブロック図が示される。すでに言及した通り、装置700は、デスクトップコンピュータシステム、ノートブックコンピュータシステム、又はタブレットコンピュータシステムを表し得る。装置700はまた、携帯電話、携帯情報端末及びパーソナル音楽/ビデオユニットのようなハンドヘルドデバイスを表し得る。図示のように、装置700は、プロセッサ705と、ディスプレイ710と、ユーザインターフェース715と、グラフィックハードウェア720と、装置センサ725(例えば、接近センサ/周囲光センサ、加速度計及び/又はジャイロスコープ)と、マイクロホン730と、1つ以上のオーディオコーデック735と、1つ以上のスピーカ740と、通信回路745と、デジタル画像キャプチャユニット750と、1つ以上のビデオコーデック755と、メモリ760と、1つ以上の記憶装置765と、通信バス770とを含むことができる。
【0020】
プロセッサ705は、(例えば、図4に従った動作のような)装置700によって遂行される多数の機能の動作を実行又は制御するのに必要な命令を実行することができる。プロセッサ705は、例えば、ディスプレイ710を駆動し、ユーザインターフェース715からユーザ入力を受信することができる。ユーザインターフェース715は、ユーザが装置700と相互作用することを可能にでき、ボタン、キーパッド、ダイヤル、クリックホイール、キーボード、ディスプレイスクリーン及び/又はタッチスクリーンのような種々の形態をとることができる。また、プロセッサ705は、例えば、モバイル装置に見られるようなシステムオンチップでもよく、専用のグラフィック処理ユニット(GPU)を含むことができる。プロセッサ705は、縮小命令セットコンピュータ(RISC)若しくは複合命令セットコンピュータ(CISC)アーキテクチャーあるいは任意の他の適当なアーキテクチャーに基づくことができ、そして1つ以上の処理コアを含み得る。グラフィックハードウェア720は、グラフィックを処理するための専用の計算ハードウェアであり得、及び/又はグラフィック情報を処理するようにプロセッサ705を支援し得る。一実施形態では、グラフィックハードウェア720は、プログラム可能なグラフィック処理ユニット(GPU)を含み得る。
【0021】
センサ及びカメラ回路750は、静止画像及びビデオ画像をキャプチャすることができ、それらは、少なくとも一部分は、ビデオコーデック755及び/又はプロセッサ705及び/又はグラフィックハードウェア720、並びに/あるいは回路750内に合体された専用の画像処理ユニットによって処理され得る。そのようにキャプチャされた画像は、メモリ760及び/又は記憶装置765に記憶され得る。メモリ760は、装置の機能を遂行するためにプロセッサ705及びグラフィックハードウェア720により使用される1つ以上の種々の形式の媒体を含み得る。例えば、メモリ760は、メモリキャッシュ、リードオンリメモリ(ROM)及び/又はランダムアクセスメモリ(RAM)を含むことができる。記憶装置765は、メディア(例えば、オーディオファイル、画像ファイル及びビデオファイル)、コンピュータプログラム命令又はソフトウェア、プリファレンス情報、装置プロファイル情報、並びに任意の他の好適なデータを記憶することができる。記憶装置765には、例えば、(固定、フロッピー、及び取り外し可能な)磁気ディスク及びテープ、CD−ROM及びデジタルビデオディスク(DVD)のような光学的媒体、並びに電気的にプログラム可能なリードオンリメモリ(EPROM)及び電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)のような半導体メモリデバイスを含む、1つ以上の永続的記憶媒体を含むことができる。メモリ760及び記憶装置765は、1つ以上のモジュールへと編成され、かつ、任意の所望のコンピュータプログラミング言語で書かれたコンピュータプログラム命令又はコードを有形に保持するために使用することができる。例えば、プロセッサ705によって実行されるとき、そのようなコンピュータプログラムコードは、ここに記載する方法のうちの1つ以上を実行することができる。また、プロセッサ705が通信可能に結合された1つ以上の処理ユニットを表してもよいことが理解されよう。
【0022】
最後に、以上の説明は、例示にすぎず、限定的なものでないことも理解されたい。例えば、以上の説明は、表示装置がオーバースキャンを実行すると仮定した。オーバースキャンを実行しない場合、表示モード制御部635は、単に、実行中のアプリケーションの表示バッファコンテンツをフレームバッファ640に直接パスし得る。実際には、これは、モード3による動作を実行する(アプリケーション表示バッファコンテンツが、フレームバッファに直接コピーされる)。
【0023】
以上の説明は、図2図4図5及び図6による表示モード制御部635により処理される際に、実行中のアプリケーションの表示バッファコンテンツが移動される(例えば、送信及び受信される)ことを示している。実際には、多くのコンピュータシステムは、物理的に操作されるデータ量を低減するために、単にポインタを操作することができる。そのような動作は、本開示のコンテキストの内で、移動すること、送信することなどのアクションの一部とみなすべきである。最後に、上述した実施形態は、互いに組み合わせて使用することができることを理解されたい。当業者が以上の説明を検討すれば、多数の他の実施形態が明らかとなるであろう。それ故、本発明の範囲は、添付の特許請求の範囲及びそのような特許請求の範囲が権利を有する均等物の全範囲から決定されなければならない。特許請求の範囲において、「including」及び「in which」という語は、それぞれ、「comprising」及び「wherein」という用語に相当する平易な英語として使用されている。
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7