(57)【要約】  ディスプレイエンジンは、フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、複数のパイプのうちの２またはそれより多くのパイプが並行に動作して、フレームバッファ座標によって特定されるフレームバッファの領域に対応するフレームバッファデータを処理する、パイプラインと、ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第１のトランスコーダと、サーフェススプリッタから受け取ったフェッチ順序に基づいて、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを第１のトランスコーダに送る順序を制御するためのマルチプレクサ（Ｍｕｘ）およびマルチストリームアービタとを備える。
2019521369.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイエンジンであって、
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプのうちの２またはそれより多くのパイプが並行に動作して、前記フレームバッファ座標によって特定される前記フレームバッファの領域に対応するフレームバッファデータを処理する、パイプラインと、
前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第１のトランスコーダと、
前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを前記第１のトランスコーダに送る順序を制御するためのマルチプレクサ（Ｍｕｘ）およびマルチストリームアービタと
を備えるディスプレイエンジン。
【請求項２】
前記２またはそれより多くのパイプからの前記フレームバッファデータは、前記Ｍｕｘおよびマルチストリームアービタによって組み合わされる、
請求項１に記載のディスプレイエンジン。
【請求項３】
前記サーフェススプリッタは、分割ポリシと、前記２またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する、
請求項１に記載のディスプレイエンジン。
【請求項４】
前記設定情報は、ディスプレイドライバから受け取る、
請求項３に記載のディスプレイエンジン。
【請求項５】
前記レジスタはさらに、前記フェッチ順序を格納する、
請求項３に記載のディスプレイエンジン。
【請求項６】
前記Ｍｕｘおよびマルチストリームアービタは、前記ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
請求項１に記載のディスプレイエンジン。
【請求項７】
前記サーフェススプリッタは、前記分割ポリシに基づいて前記フレームバッファデータを分割する、
請求項４に記載のディスプレイエンジン。
【請求項８】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項７に記載のディスプレイエンジン。
【請求項９】
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成する段階と、
前記フレームバッファ座標によって特定される前記フレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの２またはそれより多くのパイプにおいて並行に処理する段階と、
フェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを第１のトランスコーダに送る順序を制御する段階と、
前記第１のトランスコーダにおいて、前記フレームバッファデータを統合して出力信号にする段階と
を備える方法。
【請求項１０】
前記複数のパイプのうちの前記２またはそれより多くのパイプのそれぞれが、前記対応するフレームバッファ座標に基づいて前記フレームバッファデータをフェッチする段階
をさらに備える請求項９に記載の方法。
【請求項１１】
分割ポリシを受け取る段階と、
前記分割ポリシに基づいて前記座標を生成する段階と
をさらに備える請求項９に記載の方法。
【請求項１２】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項１１に記載の方法。
【請求項１３】
前記分割ポリシは、ディスプレイドライバから受け取る、
請求項１２に記載の方法。
【請求項１４】
ディスプレイデバイスと、
前記ディスプレイデバイスに結合されたデジタルディスプレイインタフェース（ＤＤＩ）と、
前記ＤＤＩに結合されたディスプレイエンジンであって、
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタ、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプのうちの２またはそれより多くのパイプが並行に動作して、前記フレームバッファ座標によって特定される前記フレームバッファの領域に対応するフレームバッファデータを処理する、パイプライン、
前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第１のトランスコーダ、および
前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを前記第１のトランスコーダに送る順序を制御するためのマルチプレクサ（Ｍｕｘ）およびマルチストリームアービタ
を有するディスプレイエンジンと
を備えるコンピュータシステム。
【請求項１５】
前記２またはそれより多くのパイプからの前記フレームバッファデータは、前記Ｍｕｘおよびマルチストリームアービタによって組み合わされる、
請求項１４に記載のコンピュータシステム。
【請求項１６】
前記サーフェススプリッタは、分割ポリシと、前記２またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する、
請求項１４に記載のコンピュータシステム。
【請求項１７】
前記設定情報は、ディスプレイドライバから受け取る、
請求項１６に記載のコンピュータシステム。
【請求項１８】
前記レジスタはさらに、前記フェッチ順序を格納する、
請求項１６に記載のコンピュータシステム。
【請求項１９】
前記Ｍｕｘおよびマルチストリームアービタは、前記ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
請求項１４に記載のコンピュータシステム。
【請求項２０】
前記サーフェススプリッタは、前記分割ポリシに基づいて前記フレームバッファデータを分割する、
請求項１８に記載のコンピュータシステム。
【請求項２１】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項２０に記載のコンピュータシステム。
【請求項２２】
１または複数のプロセッサによって実行されたとき、前記１または複数のプロセッサに請求項９から１３に記載の方法を行わせる命令を有する少なくとも１つのコンピュータ可読媒体。
【請求項２３】
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するための手段と、
前記フレームバッファ座標によって特定される前記フレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの２またはそれより多くのパイプにおいて並行に処理するための手段と、
フェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを第１のトランスコーダに送る順序を制御するための手段と、
前記第１のトランスコーダにおいて、前記フレームバッファデータを統合して出力信号にするための手段と
を備えるシステム。
【請求項２４】
前記複数のパイプのうちの前記２またはそれより多くのパイプのそれぞれは、前記対応するフレームバッファ座標に基づいて前記フレームバッファデータをフェッチする、
請求項２３に記載のシステム。
【請求項２５】
分割ポリシを受け取るための手段と、
前記分割ポリシに基づいて前記座標を生成するための手段と
をさらに備える請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、高解像度ディスプレイデバイスのためのディスプレイエンジンに関する。
【背景技術】
【０００２】
８Ｋ解像度または８Ｋ  ＵＨＤは、デジタルテレビおよびデジタル式映画撮影において現在最も高い超高精細度テレビ（ＵＨＤＴＶ）の解像度である。８Ｋとは、約８，０００画素の横方向解像度を指し、合計（７６８０×４３２０）の画像寸法を形成する。８Ｋ  ＵＨＤは、４Ｋ  ＵＨＤと比べて２倍の横方向解像度と縦方向解像度とを有し、全体として画素数は４Ｋ  ＵＨＤの４倍多く、または、フルＨＤの１６倍多い。８Ｋなどの高解像度ディスプレイは、ユーザにとって、画面までの許容範囲の距離から見ると、各画素が人間の眼には見分けがつかなくすることが可能である。
【０００３】
８Ｋおよびさらに高い解像度のディスプレイ（例えば１６Ｋ）のサポートの要求は、品質、消費電力、および他の要件に適合するという新たな難題をディスプレイエンジン設計者にもたらす。例えば、現在のディスプレイエンジン設計では、単一の高解像度画面は一般に１つのパイプライン（例えば、１パイプと１トランスコーダとによるパイプライン）によって駆動されるので、パイプとトランスコーダとが共に、非常に高い周波数で作動することが要求される。公知の１つの例外が、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）によって開発された、ＤｉｓｐｌａｙＰｏｒｔバージョン１．２  インタフェースのマルチストリームトランスポート（ＭＳＴ）であり、これは、単一の画面をいくつかのより小さな画面領域の組み合わせとして扱い、画面領域の各々に対処するための完全な１パイプと１トランスコーダとによるパイプラインを必要とする。しかしながら、ＭＴＳは通常、複数の画面領域を統合して１つの単一ディスプレイにする間の厄介な同期問題を抱え、マルチ画面を認識しないアプリケーションの場合、動作しないことがある。
【図面の簡単な説明】
【０００４】
【図１Ａ】システムの実施形態のブロック図を示す。
【図１Ｂ】システムの実施形態のブロック図を示す。
【図２】ディスプレイエンジンの１つの実施形態を示す。
【図３】ディスプレイ上で複数の画面領域を統合するためのプロセスの１つの実施形態を示す。
【図４Ａ】分割ポリシの実施形態を示す。
【図４Ｂ】分割ポリシの実施形態を示す。
【図５】複数のプレーンを有する分割の一実施形態を示す。
【図６】コンピューティングアーキテクチャの１つの実施形態を示す。
【発明を実施するための形態】
【０００５】
マルチパイプ協調ディスプレイエンジンについて説明する。いくつかの実施形態では、グラフィックスロジックコンポーネントおよびディスプレイエンジンなどのコンポーネント、および／または中央演算処理装置のコンポーネントの設計および動作は、ディスプレイパネルへのデータフレームのレンダリングおよびデータフレームの送出を修正するために変更されてよい。これらの変更は、更新が不要なとき、ディスプレイインタフェースの電力管理などの省電力化を実現する電力管理フックの変更を必要とする場合がある。
【０００６】
図１Ａは、本実施形態に沿った１つのシステム１００を示す。システム１００は、中央演算処理装置（ＣＰＵ）１０２と、グラフィックスロジック１０４と、ディスプレイエンジン１０６と、メモリ１０８と、ディスプレイデバイス１１０とを備える。グラフィックスロジック１０４およびディスプレイエンジン１０６にはインタフェース１１２が結合されてよい。いくつかの実施形態では、システム１００は、ラップトップコンピュータ、タブレットコンピューティングデバイス、デスクトップコンピュータ、スマートフォン、または他の電子コンピューティングデバイスもしくは通信デバイスなどのモバイルデバイスにおいて具体化されてよい。当該実施形態は、この文脈において限定されない。
【０００７】
特に、様々な実施形態において、ＣＰＵ１０２、グラフィックスロジック１０４、および／またはディスプレイエンジン１０６は、様々なハードウェア要素、ソフトウェア要素、またはその両方の組み合わせを含んでよい。ハードウェア要素の例は、デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、回路素子（例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含んでよい。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、記号、またはそれらの任意の組み合わせを含んでよい。実施形態がハードウェア要素を使用して実装されるか、および／またはソフトウェア要素を使用して実装されるかの決定は、所与の実装形態に求められる所望の計算レート、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、および設計上または性能上の他の制約などの任意の数の要因に応じて変わってよい。
【０００８】
システム１００は、ディスプレイデバイス１１０などのディスプレイ上に提示するために、様々なソースから受け取ったデータを処理するよう、通信動作またはロジックを実行してよい。データは、ディスプレイデバイス１１０上で連続して提示される、動画コンテンツまたは他の画像などのメディアコンテンツを含んでよい。ディスプレイデバイス１１０の例は、液晶ディスプレイ（ＬＣＤ）、発光ダイオードディスプレイ（ＬＥＤ）、タッチセンサー式ディスプレイ、プラズマディスプレイ、ブラウン管、および他のディスプレイタイプを含む。１つの実施形態において、デバイス１１０は、超高解像度ディスプレイ（例えば、８Ｋまたは１６Ｋの解像度）である。
【０００９】
様々な実施形態において、システム１００は、限定されないが、キーボード、マイク、マウス、ジョイスティック、または他のナビゲーションデバイスなどを含む様々な入力デバイス（図示せず）を備えてよい。ユーザは、そのような入力デバイスを使用して１または複数のメディアソース（図示せず）からメディアファイルを選択し、ディスプレイデバイス１１０上で視聴してよい。
【００１０】
他の実施形態では、処理のためのデータは、１または複数のデジタルメディアから受け取ってよい。デジタルメディアのソースは、デジタルカメラ、デジタルビデオデバイス、スマートフォン、タブレットコンピューティングデバイス、コンピュータ、または、１または複数のユーザがディスプレイデバイス１１０上での視聴を望み得る１または複数のメディアファイルを含む他のデバイスであってよい。メディアソースの他の例は、デジタルビデオレコーダ（ＤＶＲ）、パーソナルビデオレコーダ（ＰＶＲ）、デジタル多用途ディスク（ＤＶＤ）デバイス、ビデオホームシステム（ＶＨＳ）デバイス、デジタルＶＨＳデバイス、ディスクドライブ、ハードドライブ、光ディスクドライブ、ユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブ、メモリカード、セキュアデジタル（ＳＤ）メモリカード、大容量記憶デバイス、フラッシュドライブ、コンピュータ、ゲームコンソール、コンパクトディスク（ＣＤ）プレーヤ、コンピュータ可読またはマシン可読メモリ、ビデオ監視システム、遠隔会議システム、電話システム、ウェアラブルコンピュータ、ポータブルメディアプレーヤ（ＰＭＰ）、ポータブルメディアレコーダ（ＰＭＲ）、デジタルメディアサーバなどのようなメディア情報を格納および／または配信することができる任意のハードウェア要素またはソフトウェア要素を含んでよい。当該実施形態は、この文脈において限定されない。さらなる実施形態において、デジタルメディアは、定期的にマシン生成アニメーションなどの画像データを生成するプロセッサおよびメモリなどのハードウェア要素の組み合わせを構成するデータソースであってよい。
【００１１】
メディアソースは、オーディオ形式およびビジュアル形式で提示されるデータを含んでよいことに留意されたい。本実施形態に沿って、ディスプレイデバイス１１０またはディスプレイデバイス１１０に連結された他のデバイス（図示せず）は、その画像がディスプレイデバイス１１０上に提示されるデジタルメディアコンテンツに基づいて、オーディオ信号を出力するよう動作可能であってよい。
【００１２】
様々な実施形態において、そのコンテンツがディスプレイデバイス１１０上に提示されるデジタルメディアは、ネイティブフレームレートが、ディスプレイデバイス１１０が使用しているリフレッシュレートとは異なるＤＶＤまたは他のメディアであってよい。以下の図において詳しく述べられるように、とりわけグラフィックスロジック１０４、ディスプレイエンジン１０６、インタフェース１１２、およびメモリ１０８を含むシステム１００のコンポーネントが、ディスプレイ１１０上へ提示するためにメディアコンテンツの処理を調節するよう協働可能であってよい。メディアコンテンツは、ディスプレイ１１０上で見られるよう処理される間、システム１００に一時的に格納されるビデオデータなどのストリーミングデータとして受け取ってよい。データ処理の調節は、データをメモリ１０８に格納するタイミング、データをメモリ１０８からフェッチするタイミング、およびデータをディスプレイデバイス１１０に送るタイミングの調節を含んでよい。一例として、インタフェース１１２は、グラフィックスロジック１０４とディスプレイエンジン１０６との間でソフトウェア、ハードウェア、またはハードウェアとソフトウェアとの組み合わせとして配置されてよく、グラフィックスロジック１０４とディスプレイエンジン１０６との間におけるハンドシェーキングを容易にして新たなデータがディスプレイデバイス１１０にストリームするよう導いてよい。
【００１３】
図１Ｂは、本実施形態に沿ったシステム１２０の一実施形態を示す。システム１２０は概して、システム１００と同様のコンポーネントを備えてよい。システム１２０に示すように、グラフィックスロジック１０４は、ＣＰＵ１０２に含まれてよい。１つの特定の変形においては、ＣＰＵ１０２は、単一のシリコンチップ上に１または複数の一般的なプロセッサとグラフィックスロジック１０４とを含む「システムオンチップ」（ＳＯＣ）コンポーネントであってよい。
【００１４】
図２は、ディスプレイエンジン１０６の１つの実施形態を示す。ディスプレイエンジン１０６は、ディスプレイデバイス１１０におけるデータの表示を容易にする。１つの実施形態において、ディスプレイエンジン１０６は、メモリ２０２に結合され、マルチパイプ（例えば、Ａ、Ｂ、およびＣ）パイプライン２０４と、トランスコーダ（例えば、Ａ、Ｂ、およびＣ）２０６と、デジタルディスプレイインタフェース（ＤＤＩ）２１２とを有する。１つの実施形態においては、ディスプレイエンジン１０６は、非常に高い解像度のディスプレイ１１０に、調節可能な分割ポリシによって柔軟性を提供するマルチパイプ協調モードを実装する。そのような実施形態では、ディスプレイエンジン１０６は、マルチパイプパイプライン２０４を実装し、マルチパイプパイプライン２０４は、単一の高解像度ディスプレイ１１０を駆動するための「仮想パイプ」およびトランスコーダ２０６を含む。 
【００１５】
図２に示すように、「仮想パイプ」は、複数のパイプ（例えば、Ａ、Ｂ、およびＣ）の集合体であり、当該複数のパイプは並行に動作して、各々がメモリ２０２に格納された高精細度フレームバッファの１つの指定領域を処理する。この実施形態では、パイプの出力は「仮想パイプ」の出力として組み合わされ、１つのトランスコーダ２０６を通ってストリームされ、ＤＤＩ２１２を介してディスプレイ１１０に提示される。そのような実施形態を達成するために、サーフェススプリッタ２０８、マルチプレクサ（Ｍｕｘ）およびマルチストリームアービタ２１０が含まれる。
【００１６】
サーフェススプリッタ２０８は、各領域の座標を生成し、当該座標をパイプライン２０４のパイプに供給することによって、フレームバッファ全体をいくつかのより小さな領域に分割する。１つの実施形態において、サーフェススプリッタは、レジスタ２０７を含み、フレームバッファをどのように分割するかと、協調に関与すべきパイプ数とを示すディスプレイドライバ（図示せず）からの設定情報（例えば、分割ポリシ）を受け取る。
【００１７】
Ｍｕｘおよびマルチストリームアービタ２１０は、サーフェススプリッタ２０８から受け取ったフェッチ順序に従って、パイプライン２０４のパイプがトランスコーダ２０６に送られるべき順序を制御する。１つの実施形態において、サーフェススプリッタのレジスタ２０７がフェッチ順序を格納する。さらなる実施形態では、Ｍｕｘおよびマルチストリームアービタ２１０は、マルチパイプ協調モードが無効のときは、パイプライン２０４の１つのパイプを１つのトランスコーダ２０６に接続する一般的なＭｕｘとして動作する。
【００１８】
図３は、単一の高解像度または超高解像度のディスプレイ上で複数の画面領域を統合するための方法３００の１つの実施形態を示す。方法３００は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック等）、ソフトウェア（処理デバイス上で動作する命令などの）、またはそれらの組み合わせを含んでよい処理ロジックによって行われてよい。方法３００のプロセスは、提示する上で簡潔かつ明確にするために直線的に並べて示されているが、それらのうちの任意の数のものは、並行に、非同期的に、または異なる順序で行うことができると考えられる。簡潔にするために、前図に関連して説明された詳細の多くは、説明されないか、または、以後繰り返されない場合がある。
【００１９】
処理ブロック３１０において、分割ポリシを受け取る。１つの実施形態において、分割ポリシは、フレームバッファが分割されるべき領域数（例えば、協調に関与すべきパイプ数）と、フレームバッファがどのように分割されるかとを定める。そのような実施形態では、サーフェススプリッタ２０８は、ディスプレイドライバから分割ポリシを受け取る。ディスプレイドライバは、パイプライン２０４のパイプの機能に基づいてポリシをプログラムする。図４Ａおよび図４Ｂは、８Ｋディスプレイのための、３つのパイプのパイプライン２０４の協調の実施形態を使用するフレームバッファ分割の実施形態を示す。図４Ａは、当該実施形態は、二分割の実装を利用し、および／または、より強力なパイプ２０４Ｃを有するディスプレイエンジン１０６に良好に適合する、示されるような二分割による分割の一実施形態を開示する。図４Ｂは、パイプライン２０４の３つのパイプの間でワークロードをほぼ均一に分配する均等分割の一実施形態を開示する。
【００２０】
さらなる実施形態では、さらなる分割ポリシルールが考慮される。例えば、アルゴリズムが隣接画素値を必要とする処理機能（例えば、スケーリング）がパイプのために有効になっている場合、領域の境界は、二等分線または三等分線（例えば、図４Ａよび図４Ｂの破線）であるべきではない。その代わりに、領域の境界に、（図４Ａおよび図４Ｂの長方形で示されるように）隣接画素を覆うよう広がりをもたせる。これにより、領域がわずかに重なり合い、パイプはそれらの補助的な画素を切り取り、それらは出力に含まれない。
【００２１】
複数のプレーンが１つのパイプにおいてアクティブにされている場合、各プレーンのソースバッファの分割はメインフレームバッファの分割ポリシに従う。図５に示すように、プレーン０（メインフレームバッファ）およびプレーン１（デコーダ出力サーフェス）の両方に対して、均等分割が適用される。３つのパイプの各々のプレーン１は長方形の形をとって、単一パイプ内で他のプレーンを処理し、他のプレーンと合成する。さらなる実施形態では、分割ポリシを微調整することで、様々なシナリオについて最良の性能と電力比とを実現してよい。
【００２２】
図３に戻り参照すると、処理ブロック３２０において、サーフェススプリッタ２０８は、設定された分割ポリシに基づいて、全分割領域の座標およびフェッチ順序を生成する。処理ブロック３３０では、サーフェススプリッタ２０８は、パイプライン２０４のパイプのうちの１または複数に座標を送る。処理ブロック３４０において、共同表示に関与する各パイプは、メモリ２０２から指定領域のフレームバッファデータをフェッチし、そのレジスタ設定にしたがって当該データを処理する（例えば、ブレンディング、スケーリング等）。処理ブロック３５０において、サーフェススプリッタ２０８によって示されたフェッチ順序に基づいて、トランスコーダ２０６（例えば、図２のトランスコーダＡ）がアクティブにされ、マルチストリームアービトレータ２１０と接続される。処理ブロック３６０において、マルチストリームアービトレータ２１０はループを実行して、当該１または複数のパイプを一度に１つずつ、特定のフェッチ順序でトランスコーダ２０６と連結させる。処理ブロック３７０において、パイプライン２０４における関与する各パイプの出力がトランスコーダ２０６に送られ、ＤＤＩ２１２を介して統合されて出力信号になる。
【００２３】
図６は、前述の様々な実施形態を実装するのに適した例示的なコンピューティングアーキテクチャ１３００の一実施形態を示す。本出願において使用されるとき、「システム」および「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータ関連エンティティを指すことを意図しており、その例が例示的なコンピューティングアーキテクチャ１３００によって提供される。例えば、コンポーネントは、限定されないが、プロセッサ上で動作中のプロセス、プロセッサ、ハードディスクドライブ、（光記憶媒体および／または磁気記憶媒体の）複数の記憶ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラム、および／またはコンピュータであってよい。実例として、サーバ上で動作するアプリケーションおよび当該サーバの両方がコンポーネントであってよい。１または複数のコンポーネントが実行プロセスおよび／または実行スレッド内に存在してよく、コンポーネントは、１つのコンピュータ上に局在してよく、および／または、２またはそれより多くのコンピュータ間に分散されてよい。さらに、コンポーネントは、動作を調整するよう、様々なタイプの通信媒体によって互いに通信可能に結合されてよい。当該調整は、一方向または双方向の情報交換を含んでよい。例えば、当該コンポーネントは、通信媒体を介して通信される信号の形態で情報を通信してよい。当該情報は、様々な信号線に割り当てられる信号として実装されてよい。そのような割り当てにおいて、各メッセージは信号である。しかしながら、さらなる実施形態は代替的にデータメッセージを使用してよい。そのようなデータメッセージは、様々な接続を介して送られてよい。接続の例としては、パラレルインタフェース、シリアルインタフェース、およびバスインタフェースが挙げられる。
【００２４】
１つの実施形態において、コンピューティングアーキテクチャ１３００は電子デバイスの一部を含み、または電子デバイスの一部として実装されてよい。電子デバイスの例は、限定はされないが、モバイルデバイス、パーソナルデジタルアシスタント、モバイルコンピューティングデバイス、スマートフォン、携帯電話、ハンドセット、単方向ページャ、双方向ページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバ、サーバアレイもしくはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、小型コンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースシステム、家庭用電子機器、プログラマブルな家庭用電子機器、テレビ、デジタルテレビ、セットトップボックス、無線アクセスポイント、基地局、加入者局、モバイル加入者センタ、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組み合わせを含んでよい。当該実施形態は、この文脈において限定されない。
【００２５】
コンピューティングアーキテクチャ１３００は、１または複数のプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力（Ｉ／Ｏ）コンポーネントなどのような様々な一般的なコンピューティング要素を含む。しかしながら、当該実施形態は、コンピューティングアーキテクチャ１３００による実装に限定されない。
【００２６】
図６に示すように、コンピューティングアーキテクチャ１３００は、処理ユニット１３０４とシステムメモリ１３０６とシステムバス１３０８とを備える。処理ユニット１３０４は、様々な市販のプロセッサのいずれかであってよい。処理ユニット１３０４として、デュアルマイクロプロセッサアーキテクチャおよび他のマルチプロセッサアーキテクチャも使用されてよい。システムバス１３０８は、処理ユニット１３０４に対して、限定されないがシステムメモリ１３０６を含むシステムコンポーネントへのインタフェースを提供する。システムバス１３０８は、様々な市販のバスアーキテクチャのいずれかを使用するメモリバス（メモリコントローラの有無を問わない）、ペリフェラルバス、および、ローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のいずれかであってよい。
【００２７】
コンピューティングアーキテクチャ１３００は、様々な製品を含んでよく、またはそれらを実装してよい。製品は、ロジックを格納するコンピュータ可読記憶媒体を含んでよい。実施形態はまた、非一時的コンピュータ可読媒体の中に、または非一時的コンピュータ可読媒体上に含まれる命令として少なくとも部分的に実装されてよい。当該命令は、本明細書において説明されている動作の実行を可能にするよう、１または複数のプロセッサによって読み出され、実行されてよい。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、リムーバブルメモリまたは非リムーバブルメモリ、消去可能メモリまたは消去不可能メモリ、書き込み可能メモリまたは再書き込み可能メモリなどを含む、電子データの格納が可能な任意の有形媒体を含んでよい。ロジックの例は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、および視覚コード等のような任意の適したタイプのコードを使用して実装された実行可能コンピュータプログラム命令を含んでよい。
【００２８】
システムメモリ１３０６は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、強誘電体ポリマーメモリなどのポリマーメモリ、オボニックメモリ、相変化メモリもしくは強誘電体メモリ、シリコン酸化膜窒化膜酸化膜シリコン（ＳＯＮＯＳ）メモリ、磁気カードもしくは光カード、または、情報の格納に適した任意の他のタイプ媒体などの、１または複数のより高速なメモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含んでよい。図６に示す例示の実施形態において、システムメモリ１３０６は、不揮発性メモリ１３１０および／または揮発性メモリ１３１２を含んでよい。不揮発性メモリ１３１０に基本入出力システム（ＢＩＯＳ）が格納されてよい。
【００２９】
コンピュータ１３０２は、内部ハードディスクドライブ（ＨＤＤ）１３１４と、リムーバブル磁気ディスク１３１８から読み出す、またはリムーバブル磁気ディスク１３１８に書き込むための磁気フロッピーディスクドライブ（ＦＤＤ）１３１６と、リムーバブル光ディスク１３２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）から読み出す、またはリムーバブル光ディスク１３２２に書き込むための光ディスクドライブ１３２０、ならびに、ＮＡＮＤフラッシュメモリ、相変化メモリ（ＰＣＭ）、スピンメモリ、スイッチを有する相変化メモリ（ＰＣＭＳ）、磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）、スピンメモリ、ナノワイヤメモリ、強誘電体トランジスタランダムアクセスメモリ（ＦｅＴＲＡＭ）を含む不揮発性メモリ（ＮＶＭ）１３２５にデータを書き込む、または不揮発性メモリ１３２５からデータを読み出すためのソリッドステートドライブ（ＳＳＤ）１３２３を含む１または複数のより低速なメモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含んでよい。ＨＤＤ１３１４、ＦＤＤ１３１６、光ディスクドライブ１３２０、およびソリッドステートドライブ１３２３は、それぞれＨＤＤインタフェース１３２４、ＦＤＤインタフェース１３２６、光ドライブインタフェース１３２８、およびソリッドステートドライブインタフェース１３２９によってシステムバス１３０８に接続されてよい。外部ドライブ実装用のＨＤＤインタフェース１３２４は、ユニバーサルシリアルバス（ＵＳＢ）インタフェース技術およびＩＥＥＥ１３９４インタフェース技術のうちの少なくとも一方または両方を含んでよい。ソリッドステートドライブインタフェース１３２９は、例えば、限定されないが、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）インタフェース、シリアルアタッチドＳＣＳＩ（ＳＡＳ）インタフェース、ユニバーサルシリアルバス（ＵＳＢ）インタフェース、周辺機器制御インタフェース（ＰＣＩ）、または他の適したデバイスインタフェースなどの、ホストデバイスに結合するための任意の適したインタフェースを含んでよい。
【００３０】
ドライブおよび関連付けられたコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などを揮発的および／または不揮発的に格納する。例えば、オペレーティングシステム１３３０、１または複数のアプリケーションプログラム１３３２、他のプログラムモジュール１３３４、およびプログラムデータ１３３６を含む複数のプログラムモジュールが、当該ドライブおよびメモリユニット１３１０、１３１２に格納されてよい。
【００３１】
ユーザは、例えば、キーボード１３３８といった１または複数の有線／無線の入力デバイス、およびマウス１３４０などのポインティングデバイスによってコマンドおよび情報をコンピュータ１３０２に入力してよい。他の入力デバイスは、マイク、赤外線（ＩＲ）リモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、またはタッチ画面等を含んでよい。これらの、および他の入力デバイスは、システムバス１３０８に結合された入力デバイスインタフェース１３４２を介して処理ユニット１３０４に接続されることが多いが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインタフェースなどのような他のインタフェースによって接続されてよい。
【００３２】
モニタ１３４４または他のタイプのディスプレイデバイスも、ビデオアダプタ１３４６などのインタフェースを介してシステムバス１３０８に接続される。モニタ１３４４に加えて、コンピュータは通常、スピーカ、プリンタなどのような他の周辺出力デバイスを含む。
【００３３】
コンピュータ１３０２は、有線通信および／または無線通信による、リモートコンピュータ１３４８などの１または複数のリモートコンピュータへの論理接続を使用してネットワーク環境において動作してよい。リモートコンピュータ１３４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテイメント機器、ピアデバイス、または他の一般的なネットワークノードであってよく、通常はコンピュータ１３０２に関して説明された要素のうちの多数または全てを含むが、簡潔にするためにメモリ／ストレージデバイス１３５０のみが示されている。図示された論理接続は、ローカルエリアネットワーク（ＬＡＮ）１３５２、および／またはより大きなネットワーク、例えばワイドエリアネットワーク（ＷＡＮ）１３５４への有線／無線接続を含む。そのようなＬＡＮおよびＷＡＮのネットワーキング環境は、オフィスおよび企業においてはよく見られるものであり、イントラネットなどの企業規模のコンピュータネットワークを促進する。当該コンピュータネットワークの全ては、例えばインターネットといった地球規模の通信ネットワークに接続されてよい。
【００３４】
コンピュータ１３０２は、ＬＡＮネットワーキング環境において使用されるとき、有線通信および／または無線通信のネットワークインタフェースまたはネットワークアダプタ１３５６を介してＬＡＮ１３５２に接続される。アダプタ１３５６は、ＬＡＮ１３５２への有線通信および／または無線通信を容易にすることができる。ＬＡＮ１３５２はまた、アダプタ１３５６の無線機能で通信するために配置された無線アクセスポイントを有する。
【００３５】
コンピュータ１３０２は、ＷＡＮネットワーキング環境において使用されるとき、モデム１３５８を有し得るか、または、ＷＡＮ１３５４上の通信サーバに接続されるか、または、ＷＡＮ１３５４を介して、例えばインターネットによって通信を確立するための他の手段を有する。モデム１３５８は、内部であっても、または外部であってもよく、有線デバイスおよび／または無線デバイスであってよく、入力デバイスインタフェース１３４２を介してシステムバス１３０８に接続される。ネットワーク環境において、コンピュータ１３０２に関して図示されたプログラムモジュールまたはそれらの一部は、リモートのメモリ／ストレージデバイス１３５０に格納さえてよい。示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段が使用されてよいことが理解されよう。
【００３６】
コンピュータ１３０２は、ＩＥＥＥ８０２規格ファミリを使用する有線および無線のデバイスまたはエンティティと通信するよう動作可能である。当該デバイスまたはエンティティとは、例えば、プリンタ、スキャナ、デスクトップおよび／またはポータブルコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、通信衛星、無線で検出可能なタグと関連付けられる任意の設備または位置（例えば、キオスク、新聞の売店、トイレ）、および電話との無線通信（例えば、ＩＥＥＥ８０２．１１無線変調技術）において動作可能に配置された無線デバイスなどである。これは、少なくともＷｉ−Ｆｉ（登録商標）（すなわち、ワイヤレスフィディリティ）、ＷｉＭＡＸ（登録商標）、およびＢｌｕｅｔｏｏｔｈ（登録商標）の無線技術を含む。したがって、通信は、従来のネットワークと同様に予め定義された構造であってよく、または単に、少なくとも２つのデバイス間におけるアドホック通信であってよい。Ｗｉ−Ｆｉ（登録商標）ネットワークは、ＩＥＥＥ８０２．１１ｘ（ａ、ｂ、ｇ、ｎ等）と呼ばれる無線技術を使用して、セキュアで信頼性の高い高速無線接続を提供する。Ｗｉ−Ｆｉ（登録商標）ネットワークは、コンピュータを互いに、インターネットに、および（ＩＥＥＥ８０２．３関連の媒体および機能を使用する）有線ネットワークに接続するために使用されてよい。
【００３７】
「１つの実施形態」、「一実施形態」、「例示的な実施形態」、「様々な実施形態」等と言うとき、そのように説明される実施形態が特定の機能、構造、または特性を含んでよいが、全ての実施形態が必ずしも当該特定の機能、構造、または特性を含むわけではないことを示す。さらに、いくつかの実施形態は、他の実施形態で説明された機能のうちの一部または全部を有してよく、またはそれらのうち１つも有さなくてよい。 
【００３８】
以下の説明および特許請求の範囲において、「結合（ｃｏｕｐｌｅｄ）」という用語およびその派生語が使用される場合がある。「結合（ｃｏｕｐｌｅｄ）」は、２またはそれより多くの要素が協働し、または互いに相互作用し合っているが、それらの間に、介在する物理コンポーネントまたは電気コンポーネントを有しても、有さなくてもよいことを示すために使用される。
【００３９】
特許請求の範囲で使用されるとき、特に指定しない限り、序数を表す形容詞「第１」、「第２」、「第３」等を使用して共通の要素を説明する場合、それは単に、同様の要素の異なる例を指していることを示唆しているに過ぎず、そのように説明された要素が、時間的に、空間的に、順位的に、または任意の他の態様において、のいずれかにおいて所与の順序である必要があることを意図するものではない。
【００４０】
以下の節および／または例は、さらなる実施形態または例に関連する。これらの例における具体的事項は、１または複数の実施形態のいずれの箇所で使用されてもよい。種々の実施形態または例の様々な機能は、様々な異なる用途に適合するよう、一部の機能は含め、他の機能は除外して、様々に組み合わされてよい。例は、本明細書において説明された実施形態および例に係る、方法、当該方法の動作を行うための手段、マシンによって実行されたとき、当該方法の動作をマシンに行わせる命令を含む少なくとも１つのマシン可読媒体、または、ハイブリッド通信を容易にするための装置もしくはシステムなどの主題を含んでよい。 
【００４１】
いくつかの実施形態は例１に関連する。例１は、フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、複数のパイプの２またはそれより多くのパイプが並行に動作して、フレームバッファ座標によって特定されるフレームバッファの領域に対応するフレームバッファデータを処理する、パイプラインと、ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第１のトランスコーダと、サーフェススプリッタから受け取ったフェッチ順序に基づいて、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを第１のトランスコーダに送る順序を制御するためのマルチプレクサ（Ｍｕｘ）およびマルチストリームアービタとを備えるディスプレイエンジンを有する。
【００４２】
例２は、例１の主題を含み、２またはそれより多くのパイプからのフレームバッファデータは、Ｍｕｘおよびマルチストリームアービタによって組み合わされる。
【００４３】
例３は、例１および２の主題を含み、サーフェススプリッタは、分割ポリシと、２またはそれより多くのパイプのうちのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する。 
【００４４】
例４は、例１〜３の主題を含み、設定情報は、ディスプレイドライバから受け取る。 
【００４５】
例５は、例１〜４の主題を含み、レジスタはさらにフェッチ順序を格納する。 
【００４６】
例６は、例１〜５の主題を含み、Ｍｕｘおよびマルチストリームアービタは、ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、複数のパイプのそれぞれを対応するトランスコーダと接続する。
【００４７】
例７は、例１〜６の主題を含み、サーフェススプリッタは、分割ポリシに基づいてフレームバッファデータを分割する。
【００４８】
例８は、例１〜７の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【００４９】
いくつかの実施形態は例９に関連する。例９は、フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成する段階と、フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの２またはそれより多くのパイプにおいて並行に処理する段階と、フェッチ順序に基づいて、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを第１のトランスコーダに送る順序を制御する段階と、第１のトランスコーダにおいてフレームバッファデータを統合して出力信号にする段階とを備える。
【００５０】
例１０は、例９の主題を含み、複数のパイプのうちの２またはそれより多くのパイプのそれぞれが、対応するフレームバッファ座標に基づいてフレームバッファデータをフェッチする段階をさらに備える。
【００５１】
例１１は、例９および１０の主題を含み、分割ポリシを受け取る段階と、分割ポリシに基づいて座標を生成する段階とをさらに備える。
【００５２】
例１２は、例９−１１の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【００５３】
例１３は、例９−１２の主題を含み、分割ポリシはディスプレイドライバから受け取る。
【００５４】
いくつかの実施形態は例１４に関連する。例１４は、ディスプレイデバイスと、ディスプレイデバイスに結合されたデジタルディスプレイインタフェース（ＤＤＩ）と、ＤＤＩに結合されたディスプレイエンジンとを備え、ディスプレイエンジンは、フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、複数のパイプのうちの２またはそれより多くのパイプが並行に動作して、フレームバッファ座標によって特定されるフレームバッファの領域に対応するフレームバッファデータを処理する、パイプラインと、ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第１のトランスコーダと、サーフェススプリッタから受け取ったフェッチ順序に基づいて、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを第１のトランスコーダに送る順序を制御するためのマルチプレクサ（Ｍｕｘ）およびマルチストリームアービタとを有する。
【００５５】
例１５は、例１４の主題を含み、２またはそれより多くのパイプからのフレームバッファデータは、Ｍｕｘおよびマルチストリームアービタによって組み合わされる。
【００５６】
例１６は、例１４および１５の主題を含み、サーフェススプリッタは、分割ポリシと、２またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する。 
【００５７】
例１７は、例１４〜１６の主題を含み、設定情報は、ディスプレイドライバから受け取る。
【００５８】
例１８は、例１４〜１７の主題を含み、レジスタはさらにフェッチ順序を格納する。 
【００５９】
例１９は、例１４〜１８の主題を含み、Ｍｕｘおよびマルチストリームアービタは、ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、複数のパイプのそれぞれを対応するトランスコーダと接続する。
【００６０】
例２０は、例１４〜１９の主題を含み、サーフェススプリッタは、分割ポリシに基づいてフレームバッファデータを分割する。
【００６１】
例２１は、例１４〜２０の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【００６２】
いくつかの実施形態は例２２に関連する。例２２は、１または複数のプロセッサによって実行されたとき、例９〜１３に記載の方法を１または複数のプロセッサに行わせる命令を有する少なくとも１つのコンピュータ可読媒体を含む。
【００６３】
いくつかの実施形態は例２３に関連する。例２３は、フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するための手段と、フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの２またはそれより多くのパイプにおいて並行に処理するための手段と、フェッチ順序に基づいて、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを第１のトランスコーダに送る順序を制御するための手段と、第１のトランスコーダにおいて、フレームバッファデータを統合して出力信号にするための手段とを備えるシステムを含む。
【００６４】
例２４は、例２３の主題を含み、複数のパイプのうちの２またはそれより多くのパイプのそれぞれは、対応するフレームバッファ座標に基づいてフレームバッファデータをフェッチする。
【００６５】
例２５は、例２３および２４の主題を含み、分割ポリシを受け取るための手段と、分割ポリシに基づいて座標を生成するための手段とをさらに備える。
【００６６】
例２６は、例２３−２５の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【００６７】
いくつかの実施形態は例２７に関連する。例２７は、１または複数のプロセッサによって実行されたとき、１または複数のプロセッサに、フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成させ、フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの２またはそれより多くのパイプにおいて並行に処理させ、フェッチ順序に基づいて、２またはそれより多くのパイプのそれぞれからのフレームバッファデータを第１のトランスコーダに送る順序を制御させ、第１のトランスコーダにおいてフレームバッファデータを統合して出力信号にさせる命令を有する少なくとも１つのコンピュータ可読媒体を含む。
【００６８】
例２８は、例２７の主題を含み、１または複数のプロセッサによって実行されたとき、さらに、対応するフレームバッファ座標に基づいて、複数のパイプのうちの２またはそれより多くのパイプのそれぞれにフレームバッファデータをフェッチさせる命令を有する。
【００６９】
例２９は、例２７および２８の主題を含み、１または複数のプロセッサによって実行されたとき、さらに、１または複数のプロセッサに、分割ポリシを受け取らせ、分割ポリシに基づいて座標を生成させる命令を有する。
【００７０】
例３０は、例２７〜２９の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【００７１】
本発明の実施形態が、構造の特徴および／または方法の動作に特有の言い回しで説明されてきたが、特許の請求される主題は、説明された特定の特徴または動作に限定されなくてもよいことが理解されよう。むしろ、特定の特徴および動作は、特許の請求される主題を実装するサンプルとして開示されている。
【図１Ａ】
2019521369.tif 000003
【図１Ｂ】
2019521369.tif 000004
【図２】
2019521369.tif 000005
【図３】
2019521369.tif 000006
【図４Ａ】
2019521369.tif 000007
【図４Ｂ】
2019521369.tif 000008
【図５】
2019521369.tif 000009
【図６】
2019521369.tif 000010
【手続補正書】
【提出日】平成31年1月11日(2019.1.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ディスプレイエンジンであって、
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプのうちの２またはそれより多くのパイプが並行に動作して、前記フレームバッファ座標によって特定されるフレームバッファの領域に対応するフレームバッファデータを処理する、パイプラインと、
前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第１のトランスコーダと、
前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを前記第１のトランスコーダに送る順序を制御するためのマルチプレクサ（Ｍｕｘ）およびマルチストリームアービタと
を備えるディスプレイエンジン。
【請求項２】
前記２またはそれより多くのパイプからの前記フレームバッファデータは、前記Ｍｕｘおよびマルチストリームアービタによって組み合わされる、
請求項１に記載のディスプレイエンジン。
【請求項３】
前記サーフェススプリッタは、分割ポリシと、前記２またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する、
請求項１または２に記載のディスプレイエンジン。
【請求項４】
前記設定情報は、ディスプレイドライバから受け取る、
請求項３に記載のディスプレイエンジン。
【請求項５】
前記レジスタはさらに、前記フェッチ順序を格納する、
請求項３または４に記載のディスプレイエンジン。
【請求項６】
前記Ｍｕｘおよびマルチストリームアービタは、前記ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
請求項１から５のいずれか一項に記載のディスプレイエンジン。
【請求項７】
前記サーフェススプリッタは、前記分割ポリシに基づいて前記フレームバッファデータを分割する、
請求項４または５に記載のディスプレイエンジン。
【請求項８】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項７に記載のディスプレイエンジン。
【請求項９】
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成する段階と、
前記フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの２またはそれより多くのパイプにおいて並行に処理する段階と、
フェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを第１のトランスコーダに送る順序を制御する段階と、
前記第１のトランスコーダにおいて、前記フレームバッファデータを統合して出力信号にする段階と
を備える方法。
【請求項１０】
前記複数のパイプのうちの前記２またはそれより多くのパイプのそれぞれが、前記対応するフレームバッファ座標に基づいて前記フレームバッファデータをフェッチする段階
をさらに備える請求項９に記載の方法。
【請求項１１】
分割ポリシを受け取る段階と、
前記分割ポリシに基づいて前記フレームバッファ座標を生成する段階と
をさらに備える請求項９または１０に記載の方法。
【請求項１２】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項１１に記載の方法。
【請求項１３】
前記分割ポリシは、ディスプレイドライバから受け取る、
請求項１２に記載の方法。
【請求項１４】
ディスプレイデバイスと、
前記ディスプレイデバイスに結合されたデジタルディスプレイインタフェース（ＤＤＩ）と、
前記ＤＤＩに結合されたディスプレイエンジンであって、
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタ、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプのうちの２またはそれより多くのパイプが並行に動作して、前記フレームバッファ座標によって特定されるフレームバッファの領域に対応するフレームバッファデータを処理する、パイプライン、
前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第１のトランスコーダ、および
前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを前記第１のトランスコーダに送る順序を制御するためのマルチプレクサ（Ｍｕｘ）およびマルチストリームアービタ
を有するディスプレイエンジンと
を備えるコンピュータシステム。
【請求項１５】
前記２またはそれより多くのパイプからの前記フレームバッファデータは、前記Ｍｕｘおよびマルチストリームアービタによって組み合わされる、
請求項１４に記載のコンピュータシステム。
【請求項１６】
前記サーフェススプリッタは、分割ポリシと、前記２またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する、
請求項１４または１５に記載のコンピュータシステム。
【請求項１７】
前記設定情報は、ディスプレイドライバから受け取る、
請求項１６に記載のコンピュータシステム。
【請求項１８】
前記レジスタはさらに、前記フェッチ順序を格納する、
請求項１６または１７に記載のコンピュータシステム。
【請求項１９】
前記Ｍｕｘおよびマルチストリームアービタは、前記ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
請求項１４から１８のいずれか一項に記載のコンピュータシステム。
【請求項２０】
前記サーフェススプリッタは、前記分割ポリシに基づいて前記フレームバッファデータを分割する、
請求項１８に記載のコンピュータシステム。
【請求項２１】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項２０に記載のコンピュータシステム。
【請求項２２】
１または複数のプロセッサに請求項９から１３のいずれか一項に記載の方法を行わせるためのプログラム。
【請求項２３】
フレームバッファデータを、各々が１つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するための手段と、
前記フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの２またはそれより多くのパイプにおいて並行に処理するための手段と、
フェッチ順序に基づいて、前記２またはそれより多くのパイプのそれぞれからの前記フレームバッファデータを第１のトランスコーダに送る順序を制御するための手段と、
前記第１のトランスコーダにおいて、前記フレームバッファデータを統合して出力信号にするための手段と
を備えるシステム。
【請求項２４】
前記複数のパイプのうちの前記２またはそれより多くのパイプのそれぞれは、前記対応するフレームバッファ座標に基づいて前記フレームバッファデータをフェッチする、
請求項２３に記載のシステム。
【請求項２５】
分割ポリシを受け取るための手段と、
前記分割ポリシに基づいて前記フレームバッファ座標を生成するための手段と
をさらに備える請求項２３または２４に記載のシステム。
【請求項２６】
請求項２２に記載のプログラムを格納したコンピュータ可読記録媒体。
【国際調査報告】
2019521369.tif 000011
2019521369.tif 000012