(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6972454
(24)【登録日】2021年11月8日
(45)【発行日】2021年11月24日
(54)【発明の名称】高解像度ディスプレイ上に複数の画面領域を提供するためのメカニズム
(51)【国際特許分類】
G09G 5/00 20060101AFI20211111BHJP
H04N 5/66 20060101ALI20211111BHJP
G09G 5/36 20060101ALI20211111BHJP
【FI】
G09G5/00 550M
H04N5/66 B
G09G5/00 550H
G09G5/36 520P
G09G5/00 555D
【請求項の数】26
【全頁数】20
(21)【出願番号】特願2018-553383(P2018-553383)
(86)(22)【出願日】2016年7月2日
(65)【公表番号】特表2019-521369(P2019-521369A)
(43)【公表日】2019年7月25日
(86)【国際出願番号】CN2016088258
(87)【国際公開番号】WO2018006192
(87)【国際公開日】20180111
【審査請求日】2019年6月27日
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ペイ、ディンユ
(72)【発明者】
【氏名】チアン、クン
【審査官】
橋本 直明
(56)【参考文献】
【文献】
米国特許出願公開第2015/0371607(US,A1)
【文献】
米国特許出願公開第2016/0125567(US,A1)
【文献】
特開2003−288071(JP,A)
【文献】
特開2007−096800(JP,A)
【文献】
特開2003−078856(JP,A)
【文献】
特開2002−099272(JP,A)
【文献】
米国特許出願公開第2013/0083843(US,A1)
【文献】
中国特許出願公開第103220478(CN,A)
【文献】
米国特許出願公開第2014/0362094(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/00
H04N 5/66
G09G 5/36
(57)【特許請求の範囲】
【請求項1】
ディスプレイエンジンであって、
分割ポリシに基づいて、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプは予め設定された処理機能を有し、前記複数のパイプのうちの2またはそれより多くのパイプが並行に動作して、各々が前記フレームバッファ座標によって特定されるフレームバッファの1つの領域に対応する分割フレームバッファデータを前記処理機能の設定に従って処理する、パイプラインと、
複数のトランスコーダであって、前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記複数のトランスコーダのうちの1つのトランスコーダが、前記2またはそれより多くのパイプに接続され、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にする、前記複数のトランスコーダと、
前記複数のパイプおよび前記複数のトランスコーダに接続され、前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを前記1つのトランスコーダに送る順序を制御するためのマルチプレクサおよびマルチストリームアービタと
を備えるディスプレイエンジン。
【請求項2】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項1に記載のディスプレイエンジン。
【請求項3】
前記サーフェススプリッタは、前記分割ポリシと、前記2またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する、
請求項1または2に記載のディスプレイエンジン。
【請求項4】
前記設定情報は、ディスプレイドライバから受け取る、
請求項3に記載のディスプレイエンジン。
【請求項5】
前記レジスタはさらに、前記フェッチ順序を格納する、
請求項3または4に記載のディスプレイエンジン。
【請求項6】
前記マルチプレクサおよびマルチストリームアービタは、前記ディスプレイエンジンにおいて前記マルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
請求項1から5のいずれか一項に記載のディスプレイエンジン。
【請求項7】
ディスプレイエンジンであって、
フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプは予め設定された処理機能を有し、前記複数のパイプのうちの2またはそれより多くのパイプが並行に動作して、各々が前記フレームバッファ座標によって特定されるフレームバッファの1つの領域に対応する分割フレームバッファデータを前記処理機能の設定に従って処理する、パイプラインと、
複数のトランスコーダであって、前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記複数のトランスコーダのうちの1つのトランスコーダが、前記2またはそれより多くのパイプに接続され、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にする、前記複数のトランスコーダと、
前記複数のパイプおよび前記複数のトランスコーダに接続され、前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを前記1つのトランスコーダに送る順序を制御するためのマルチプレクサおよびマルチストリームアービタと
を備え、
前記マルチプレクサおよびマルチストリームアービタは、前記ディスプレイエンジンにおいて前記マルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
ディスプレイエンジン。
【請求項8】
前記2またはそれより多くのパイプからの前記分割フレームバッファデータは、前記マルチプレクサおよびマルチストリームアービタによって組み合わされる、
請求項1から7の何れか一項に記載のディスプレイエンジン。
【請求項9】
分割ポリシを受け取る段階と、
前記分割ポリシに基づいて、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成する段階と、
前記フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応する分割フレームバッファデータを、予め設定された処理機能を有する複数のパイプのうちの2またはそれより多くのパイプにおいて並行に、前記処理機能の設定に従って処理する段階と、
フェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを、複数のトランスコーダのうちの1つのトランスコーダに送る順序を制御する段階と、
前記2またはそれより多くのパイプに前記1つのトランスコーダを接続し、前記1つのトランスコーダにおいて、前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にする段階と
を備える方法。
【請求項10】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項9に記載の方法。
【請求項11】
前記分割ポリシは、ディスプレイドライバから受け取る、
請求項10に記載の方法。
【請求項12】
ディスプレイエンジンによって実行される方法であって、
フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成する段階と、
前記フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応する分割フレームバッファデータを、予め設定された処理機能を有する複数のパイプのうちの2またはそれより多くのパイプにおいて並行に、前記処理機能の設定に従って処理する段階と、
フェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを、複数のトランスコーダのうちの1つのトランスコーダに送る順序を制御する段階と、
前記ディスプレイエンジンがマルチパイプ協調モードで動作中に、前記2またはそれより多くのパイプに前記1つのトランスコーダを接続し、前記1つのトランスコーダにおいて、前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にする段階と
を備え、
前記ディスプレイエンジンにおいて前記マルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
方法。
【請求項13】
前記複数のパイプのうちの前記2またはそれより多くのパイプのそれぞれが、前記対応するフレームバッファ座標に基づいて前記分割フレームバッファデータをフェッチする段階
をさらに備える請求項9から12の何れか一項に記載の方法。
【請求項14】
ディスプレイデバイスと、
前記ディスプレイデバイスに結合されたデジタルディスプレイインタフェースと、
前記デジタルディスプレイインタフェースに結合されたディスプレイエンジンであって、
分割ポリシに基づいて、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタ、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプは予め設定された処理機能を有し、前記複数のパイプのうちの2またはそれより多くのパイプが並行に動作して、各々が前記フレームバッファ座標によって特定されるフレームバッファの1つの領域に対応する分割フレームバッファデータを前記処理機能の設定に従って処理する、パイプライン、
複数のトランスコーダであって、前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記複数のトランスコーダのうちの1つのトランスコーダが、前記2またはそれより多くのパイプに接続され、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にする、前記複数のトランスコーダ、および
前記複数のパイプおよび前記複数のトランスコーダに接続され、前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを前記1つのトランスコーダに送る順序を制御するためのマルチプレクサおよびマルチストリームアービタ
を有するディスプレイエンジンと
を備えるコンピュータシステム。
【請求項15】
前記分割ポリシは、領域数と、前記フレームバッファの分割方式とを定める、
請求項14に記載のコンピュータシステム。
【請求項16】
前記サーフェススプリッタは、前記分割ポリシと、前記2またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する、
請求項14または15に記載のコンピュータシステム。
【請求項17】
前記設定情報は、ディスプレイドライバから受け取る、
請求項16に記載のコンピュータシステム。
【請求項18】
前記レジスタはさらに、前記フェッチ順序を格納する、
請求項16または17に記載のコンピュータシステム。
【請求項19】
前記マルチプレクサおよびマルチストリームアービタは、前記ディスプレイエンジンにおいて前記マルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
請求項14から18のいずれか一項に記載のコンピュータシステム。
【請求項20】
ディスプレイデバイスと、
前記ディスプレイデバイスに結合されたデジタルディスプレイインタフェースと、
前記デジタルディスプレイインタフェースに結合されたディスプレイエンジンであって、
フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタ、
前記フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、前記複数のパイプは予め設定された処理機能を有し、前記複数のパイプのうちの2またはそれより多くのパイプが並行に動作して、各々が前記フレームバッファ座標によって特定されるフレームバッファの1つの領域に対応する分割フレームバッファデータを前記処理機能の設定に従って処理する、パイプライン、
複数のトランスコーダであって、前記ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、前記複数のトランスコーダのうちの1つのトランスコーダが、前記2またはそれより多くのパイプに接続され、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にする、前記複数のトランスコーダ、および
前記複数のパイプおよび前記複数のトランスコーダに接続され、前記サーフェススプリッタから受け取ったフェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを前記1つのトランスコーダに送る順序を制御するためのマルチプレクサおよびマルチストリームアービタ
を有するディスプレイエンジンと
を備え、
前記マルチプレクサおよびマルチストリームアービタは、前記ディスプレイエンジンにおいて前記マルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
コンピュータシステム。
【請求項21】
前記2またはそれより多くのパイプからの前記分割フレームバッファデータは、前記マルチプレクサおよびマルチストリームアービタによって組み合わされる、
請求項14から20の何れか一項に記載のコンピュータシステム。
【請求項22】
1または複数のプロセッサに請求項9から13のいずれか一項に記載の方法を行わせるためのプログラム。
【請求項23】
分割ポリシを受け取るための手段と、
前記分割ポリシに基づいて、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するための手段と、
前記フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応する分割フレームバッファデータを、予め設定された処理機能を有する複数のパイプのうちの2またはそれより多くのパイプにおいて並行に、前記処理機能の設定に従って処理するための手段と、
前記複数のパイプおよび複数のトランスコーダに接続され、フェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを、前記複数のトランスコーダのうちの1つのトランスコーダに送る順序を制御するための手段と、
前記2またはそれより多くのパイプに前記1つのトランスコーダを接続し、前記1つのトランスコーダにおいて、前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にするための手段と
を備えるシステム。
【請求項24】
システムであって、
フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するための手段と、
前記フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応する分割フレームバッファデータを、予め設定された処理機能を有する複数のパイプのうちの2またはそれより多くのパイプにおいて並行に、前記処理機能の設定に従って処理するための手段と、
前記複数のパイプおよび複数のトランスコーダに接続され、フェッチ順序に基づいて、前記2またはそれより多くのパイプのそれぞれからの前記分割フレームバッファデータを、前記複数のトランスコーダのうちの1つのトランスコーダに送る順序を制御するための手段と、
前記システムがマルチパイプ協調モードで動作中に、前記2またはそれより多くのパイプに前記1つのトランスコーダを接続し、前記1つのトランスコーダにおいて、前記分割フレームバッファデータを1つのフレームバッファデータへ統合して出力信号にするための手段と
を備え、
前記順序を制御するための手段は、前記システムにおいて前記マルチパイプ協調モードが無効のとき、前記複数のパイプのそれぞれを対応するトランスコーダと接続する、
システム。
【請求項25】
前記複数のパイプのうちの前記2またはそれより多くのパイプのそれぞれは、前記対応するフレームバッファ座標に基づいて前記分割フレームバッファデータをフェッチする、
請求項23または24に記載のシステム。
【請求項26】
請求項22に記載のプログラムを格納したコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、高解像度ディスプレイデバイスのためのディスプレイエンジンに関する。
【背景技術】
【0002】
8K解像度または8K UHDは、デジタルテレビおよびデジタル式映画撮影において現在最も高い超高精細度テレビ(UHDTV)の解像度である。8Kとは、約8,000画素の横方向解像度を指し、合計(7680×4320)の画像寸法を形成する。8K UHDは、4K UHDと比べて2倍の横方向解像度と縦方向解像度とを有し、全体として画素数は4K UHDの4倍多く、または、フルHDの16倍多い。8Kなどの高解像度ディスプレイは、ユーザにとって、画面までの許容範囲の距離から見ると、各画素が人間の眼には見分けがつかなくすることが可能である。
【0003】
8Kおよびさらに高い解像度のディスプレイ(例えば16K)のサポートの要求は、品質、消費電力、および他の要件に適合するという新たな難題をディスプレイエンジン設計者にもたらす。例えば、現在のディスプレイエンジン設計では、単一の高解像度画面は一般に1つのパイプライン(例えば、1パイプと1トランスコーダとによるパイプライン)によって駆動されるので、パイプとトランスコーダとが共に、非常に高い周波数で作動することが要求される。公知の1つの例外が、Video Electronics Standards Association(VESA)によって開発された、DisplayPortバージョン1.2 インタフェースのマルチストリームトランスポート(MST)であり、これは、単一の画面をいくつかのより小さな画面領域の組み合わせとして扱い、画面領域の各々に対処するための完全な1パイプと1トランスコーダとによるパイプラインを必要とする。しかしながら、MTSは通常、複数の画面領域を統合して1つの単一ディスプレイにする間の厄介な同期問題を抱え、マルチ画面を認識しないアプリケーションの場合、動作しないことがある。
【図面の簡単な説明】
【0004】
【
図2】ディスプレイエンジンの1つの実施形態を示す。
【
図3】ディスプレイ上で複数の画面領域を統合するためのプロセスの1つの実施形態を示す。
【
図5】複数のプレーンを有する分割の一実施形態を示す。
【
図6】コンピューティングアーキテクチャの1つの実施形態を示す。
【発明を実施するための形態】
【0005】
マルチパイプ協調ディスプレイエンジンについて説明する。いくつかの実施形態では、グラフィックスロジックコンポーネントおよびディスプレイエンジンなどのコンポーネント、および/または中央演算処理装置のコンポーネントの設計および動作は、ディスプレイパネルへのデータフレームのレンダリングおよびデータフレームの送出を修正するために変更されてよい。これらの変更は、更新が不要なとき、ディスプレイインタフェースの電力管理などの省電力化を実現する電力管理フックの変更を必要とする場合がある。
【0006】
図1Aは、本実施形態に沿った1つのシステム100を示す。システム100は、中央演算処理装置(CPU)102と、グラフィックスロジック104と、ディスプレイエンジン106と、メモリ108と、ディスプレイデバイス110とを備える。グラフィックスロジック104およびディスプレイエンジン106にはインタフェース112が結合されてよい。いくつかの実施形態では、システム100は、ラップトップコンピュータ、タブレットコンピューティングデバイス、デスクトップコンピュータ、スマートフォン、または他の電子コンピューティングデバイスもしくは通信デバイスなどのモバイルデバイスにおいて具体化されてよい。当該実施形態は、この文脈において限定されない。
【0007】
特に、様々な実施形態において、CPU102、グラフィックスロジック104、および/またはディスプレイエンジン106は、様々なハードウェア要素、ソフトウェア要素、またはその両方の組み合わせを含んでよい。ハードウェア要素の例は、デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含んでよい。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、記号、またはそれらの任意の組み合わせを含んでよい。実施形態がハードウェア要素を使用して実装されるか、および/またはソフトウェア要素を使用して実装されるかの決定は、所与の実装形態に求められる所望の計算レート、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、および設計上または性能上の他の制約などの任意の数の要因に応じて変わってよい。
【0008】
システム100は、ディスプレイデバイス110などのディスプレイ上に提示するために、様々なソースから受け取ったデータを処理するよう、通信動作またはロジックを実行してよい。データは、ディスプレイデバイス110上で連続して提示される、動画コンテンツまたは他の画像などのメディアコンテンツを含んでよい。ディスプレイデバイス110の例は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、タッチセンサー式ディスプレイ、プラズマディスプレイ、ブラウン管、および他のディスプレイタイプを含む。1つの実施形態において、デバイス110は、超高解像度ディスプレイ(例えば、8Kまたは16Kの解像度)である。
【0009】
様々な実施形態において、システム100は、限定されないが、キーボード、マイク、マウス、ジョイスティック、または他のナビゲーションデバイスなどを含む様々な入力デバイス(図示せず)を備えてよい。ユーザは、そのような入力デバイスを使用して1または複数のメディアソース(図示せず)からメディアファイルを選択し、ディスプレイデバイス110上で視聴してよい。
【0010】
他の実施形態では、処理のためのデータは、1または複数のデジタルメディアから受け取ってよい。デジタルメディアのソースは、デジタルカメラ、デジタルビデオデバイス、スマートフォン、タブレットコンピューティングデバイス、コンピュータ、または、1または複数のユーザがディスプレイデバイス110上での視聴を望み得る1または複数のメディアファイルを含む他のデバイスであってよい。メディアソースの他の例は、デジタルビデオレコーダ(DVR)、パーソナルビデオレコーダ(PVR)、デジタル多用途ディスク(DVD)デバイス、ビデオホームシステム(VHS)デバイス、デジタルVHSデバイス、ディスクドライブ、ハードドライブ、光ディスクドライブ、ユニバーサルシリアルバス(USB)フラッシュドライブ、メモリカード、セキュアデジタル(SD)メモリカード、大容量記憶デバイス、フラッシュドライブ、コンピュータ、ゲームコンソール、コンパクトディスク(CD)プレーヤ、コンピュータ可読またはマシン可読メモリ、ビデオ監視システム、遠隔会議システム、電話システム、ウェアラブルコンピュータ、ポータブルメディアプレーヤ(PMP)、ポータブルメディアレコーダ(PMR)、デジタルメディアサーバなどのようなメディア情報を格納および/または配信することができる任意のハードウェア要素またはソフトウェア要素を含んでよい。当該実施形態は、この文脈において限定されない。さらなる実施形態において、デジタルメディアは、定期的にマシン生成アニメーションなどの画像データを生成するプロセッサおよびメモリなどのハードウェア要素の組み合わせを構成するデータソースであってよい。
【0011】
メディアソースは、オーディオ形式およびビジュアル形式で提示されるデータを含んでよいことに留意されたい。本実施形態に沿って、ディスプレイデバイス110またはディスプレイデバイス110に連結された他のデバイス(図示せず)は、その画像がディスプレイデバイス110上に提示されるデジタルメディアコンテンツに基づいて、オーディオ信号を出力するよう動作可能であってよい。
【0012】
様々な実施形態において、そのコンテンツがディスプレイデバイス110上に提示されるデジタルメディアは、ネイティブフレームレートが、ディスプレイデバイス110が使用しているリフレッシュレートとは異なるDVDまたは他のメディアであってよい。以下の図において詳しく述べられるように、とりわけグラフィックスロジック104、ディスプレイエンジン106、インタフェース112、およびメモリ108を含むシステム100のコンポーネントが、ディスプレイ110上へ提示するためにメディアコンテンツの処理を調節するよう協働可能であってよい。メディアコンテンツは、ディスプレイ110上で見られるよう処理される間、システム100に一時的に格納されるビデオデータなどのストリーミングデータとして受け取ってよい。データ処理の調節は、データをメモリ108に格納するタイミング、データをメモリ108からフェッチするタイミング、およびデータをディスプレイデバイス110に送るタイミングの調節を含んでよい。一例として、インタフェース112は、グラフィックスロジック104とディスプレイエンジン106との間でソフトウェア、ハードウェア、またはハードウェアとソフトウェアとの組み合わせとして配置されてよく、グラフィックスロジック104とディスプレイエンジン106との間におけるハンドシェーキングを容易にして新たなデータがディスプレイデバイス110にストリームするよう導いてよい。
【0013】
図1Bは、本実施形態に沿ったシステム120の一実施形態を示す。システム120は概して、システム100と同様のコンポーネントを備えてよい。システム120に示すように、グラフィックスロジック104は、CPU102に含まれてよい。1つの特定の変形においては、CPU102は、単一のシリコンチップ上に1または複数の一般的なプロセッサとグラフィックスロジック104とを含む「システムオンチップ」(SOC)コンポーネントであってよい。
【0014】
図2は、ディスプレイエンジン106の1つの実施形態を示す。ディスプレイエンジン106は、ディスプレイデバイス110におけるデータの表示を容易にする。1つの実施形態において、ディスプレイエンジン106は、メモリ202に結合され、マルチパイプ(例えば、A、B、およびC)パイプライン204と、トランスコーダ(例えば、A、B、およびC)206と、デジタルディスプレイインタフェース(DDI)212とを有する。1つの実施形態においては、ディスプレイエンジン106は、非常に高い解像度のディスプレイ110に、調節可能な分割ポリシによって柔軟性を提供するマルチパイプ協調モードを実装する。そのような実施形態では、ディスプレイエンジン106は、マルチパイプパイプライン204を実装し、マルチパイプパイプライン204は、単一の高解像度ディスプレイ110を駆動するための「仮想パイプ」およびトランスコーダ206を含む。
【0015】
図2に示すように、「仮想パイプ」は、複数のパイプ(例えば、A、B、およびC)の集合体であり、当該複数のパイプは並行に動作して、各々がメモリ202に格納された高精細度フレームバッファの1つの指定領域を処理する。この実施形態では、パイプの出力は「仮想パイプ」の出力として組み合わされ、1つのトランスコーダ206を通ってストリームされ、DDI212を介してディスプレイ110に提示される。そのような実施形態を達成するために、サーフェススプリッタ208、マルチプレクサ(Mux)およびマルチストリームアービタ210が含まれる。
【0016】
サーフェススプリッタ208は、各領域の座標を生成し、当該座標をパイプライン204のパイプに供給することによって、フレームバッファ全体をいくつかのより小さな領域に分割する。1つの実施形態において、サーフェススプリッタは、レジスタ207を含み、フレームバッファをどのように分割するかと、協調に関与すべきパイプ数とを示すディスプレイドライバ(図示せず)からの設定情報(例えば、分割ポリシ)を受け取る。
【0017】
Muxおよびマルチストリームアービタ210は、サーフェススプリッタ208から受け取ったフェッチ順序に従って、パイプライン204のパイプがトランスコーダ206に送られるべき順序を制御する。1つの実施形態において、サーフェススプリッタのレジスタ207がフェッチ順序を格納する。さらなる実施形態では、Muxおよびマルチストリームアービタ210は、マルチパイプ協調モードが無効のときは、パイプライン204の1つのパイプを1つのトランスコーダ206に接続する一般的なMuxとして動作する。
【0018】
図3は、単一の高解像度または超高解像度のディスプレイ上で複数の画面領域を統合するための方法300の1つの実施形態を示す。方法300は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック等)、ソフトウェア(処理デバイス上で動作する命令などの)、またはそれらの組み合わせを含んでよい処理ロジックによって行われてよい。方法300のプロセスは、提示する上で簡潔かつ明確にするために直線的に並べて示されているが、それらのうちの任意の数のものは、並行に、非同期的に、または異なる順序で行うことができると考えられる。簡潔にするために、前図に関連して説明された詳細の多くは、説明されないか、または、以後繰り返されない場合がある。
【0019】
処理ブロック310において、分割ポリシを受け取る。1つの実施形態において、分割ポリシは、フレームバッファが分割されるべき領域数(例えば、協調に関与すべきパイプ数)と、フレームバッファがどのように分割されるかとを定める。そのような実施形態では、サーフェススプリッタ208は、ディスプレイドライバから分割ポリシを受け取る。ディスプレイドライバは、パイプライン204のパイプの機能に基づいてポリシをプログラムする。
図4Aおよび
図4Bは、8Kディスプレイのための、3つのパイプのパイプライン204の協調の実施形態を使用するフレームバッファ分割の実施形態を示す。
図4Aは、当該実施形態は、二分割の実装を利用し、および/または、より強力なパイプ204Cを有するディスプレイエンジン106に良好に適合する、示されるような二分割による分割の一実施形態を開示する。
図4Bは、パイプライン204の3つのパイプの間でワークロードをほぼ均一に分配する均等分割の一実施形態を開示する。
【0020】
さらなる実施形態では、さらなる分割ポリシルールが考慮される。例えば、アルゴリズムが隣接画素値を必要とする処理機能(例えば、スケーリング)がパイプのために有効になっている場合、領域の境界は、二等分線または三等分線(例えば、
図4Aよび
図4Bの破線)であるべきではない。その代わりに、領域の境界に、(
図4Aおよび
図4Bの長方形で示されるように)隣接画素を覆うよう広がりをもたせる。これにより、領域がわずかに重なり合い、パイプはそれらの補助的な画素を切り取り、それらは出力に含まれない。
【0021】
複数のプレーンが1つのパイプにおいてアクティブにされている場合、各プレーンのソースバッファの分割はメインフレームバッファの分割ポリシに従う。
図5に示すように、プレーン0(メインフレームバッファ)およびプレーン1(デコーダ出力サーフェス)の両方に対して、均等分割が適用される。3つのパイプの各々のプレーン1は長方形の形をとって、単一パイプ内で他のプレーンを処理し、他のプレーンと合成する。さらなる実施形態では、分割ポリシを微調整することで、様々なシナリオについて最良の性能と電力比とを実現してよい。
【0022】
図3に戻り参照すると、処理ブロック320において、サーフェススプリッタ208は、設定された分割ポリシに基づいて、全分割領域の座標およびフェッチ順序を生成する。処理ブロック330では、サーフェススプリッタ208は、パイプライン204のパイプのうちの1または複数に座標を送る。処理ブロック340において、共同表示に関与する各パイプは、メモリ202から指定領域のフレームバッファデータをフェッチし、そのレジスタ設定にしたがって当該データを処理する(例えば、ブレンディング、スケーリング等)。処理ブロック350において、サーフェススプリッタ208によって示されたフェッチ順序に基づいて、トランスコーダ206(例えば、
図2のトランスコーダA)がアクティブにされ、マルチストリームアービトレータ210と接続される。処理ブロック360において、マルチストリームアービトレータ210はループを実行して、当該1または複数のパイプを一度に1つずつ、特定のフェッチ順序でトランスコーダ206と連結させる。処理ブロック370において、パイプライン204における関与する各パイプの出力がトランスコーダ206に送られ、DDI212を介して統合されて出力信号になる。
【0023】
図6は、前述の様々な実施形態を実装するのに適した例示的なコンピューティングアーキテクチャ1300の一実施形態を示す。本出願において使用されるとき、「システム」および「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータ関連エンティティを指すことを意図しており、その例が例示的なコンピューティングアーキテクチャ1300によって提供される。例えば、コンポーネントは、限定されないが、プロセッサ上で動作中のプロセス、プロセッサ、ハードディスクドライブ、(光記憶媒体および/または磁気記憶媒体の)複数の記憶ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであってよい。実例として、サーバ上で動作するアプリケーションおよび当該サーバの両方がコンポーネントであってよい。1または複数のコンポーネントが実行プロセスおよび/または実行スレッド内に存在してよく、コンポーネントは、1つのコンピュータ上に局在してよく、および/または、2またはそれより多くのコンピュータ間に分散されてよい。さらに、コンポーネントは、動作を調整するよう、様々なタイプの通信媒体によって互いに通信可能に結合されてよい。当該調整は、一方向または双方向の情報交換を含んでよい。例えば、当該コンポーネントは、通信媒体を介して通信される信号の形態で情報を通信してよい。当該情報は、様々な信号線に割り当てられる信号として実装されてよい。そのような割り当てにおいて、各メッセージは信号である。しかしながら、さらなる実施形態は代替的にデータメッセージを使用してよい。そのようなデータメッセージは、様々な接続を介して送られてよい。接続の例としては、パラレルインタフェース、シリアルインタフェース、およびバスインタフェースが挙げられる。
【0024】
1つの実施形態において、コンピューティングアーキテクチャ1300は電子デバイスの一部を含み、または電子デバイスの一部として実装されてよい。電子デバイスの例は、限定はされないが、モバイルデバイス、パーソナルデジタルアシスタント、モバイルコンピューティングデバイス、スマートフォン、携帯電話、ハンドセット、単方向ページャ、双方向ページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバ、サーバアレイもしくはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、小型コンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースシステム、家庭用電子機器、プログラマブルな家庭用電子機器、テレビ、デジタルテレビ、セットトップボックス、無線アクセスポイント、基地局、加入者局、モバイル加入者センタ、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組み合わせを含んでよい。当該実施形態は、この文脈において限定されない。
【0025】
コンピューティングアーキテクチャ1300は、1または複数のプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力(I/O)コンポーネントなどのような様々な一般的なコンピューティング要素を含む。しかしながら、当該実施形態は、コンピューティングアーキテクチャ1300による実装に限定されない。
【0026】
図6に示すように、コンピューティングアーキテクチャ1300は、処理ユニット1304とシステムメモリ1306とシステムバス1308とを備える。処理ユニット1304は、様々な市販のプロセッサのいずれかであってよい。処理ユニット1304として、デュアルマイクロプロセッサアーキテクチャおよび他のマルチプロセッサアーキテクチャも使用されてよい。システムバス1308は、処理ユニット1304に対して、限定されないがシステムメモリ1306を含むシステムコンポーネントへのインタフェースを提供する。システムバス1308は、様々な市販のバスアーキテクチャのいずれかを使用するメモリバス(メモリコントローラの有無を問わない)、ペリフェラルバス、および、ローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のいずれかであってよい。
【0027】
コンピューティングアーキテクチャ1300は、様々な製品を含んでよく、またはそれらを実装してよい。製品は、ロジックを格納するコンピュータ可読記憶媒体を含んでよい。実施形態はまた、非一時的コンピュータ可読媒体の中に、または非一時的コンピュータ可読媒体上に含まれる命令として少なくとも部分的に実装されてよい。当該命令は、本明細書において説明されている動作の実行を可能にするよう、1または複数のプロセッサによって読み出され、実行されてよい。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、リムーバブルメモリまたは非リムーバブルメモリ、消去可能メモリまたは消去不可能メモリ、書き込み可能メモリまたは再書き込み可能メモリなどを含む、電子データの格納が可能な任意の有形媒体を含んでよい。ロジックの例は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、および視覚コード等のような任意の適したタイプのコードを使用して実装された実行可能コンピュータプログラム命令を含んでよい。
【0028】
システムメモリ1306は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電体ポリマーメモリなどのポリマーメモリ、オボニックメモリ、相変化メモリもしくは強誘電体メモリ、シリコン酸化膜窒化膜酸化膜シリコン(SONOS)メモリ、磁気カードもしくは光カード、または、情報の格納に適した任意の他のタイプ媒体などの、1または複数のより高速なメモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含んでよい。
図6に示す例示の実施形態において、システムメモリ1306は、不揮発性メモリ1310および/または揮発性メモリ1312を含んでよい。不揮発性メモリ1310に基本入出力システム(BIOS)が格納されてよい。
【0029】
コンピュータ1302は、内部ハードディスクドライブ(HDD)1314と、リムーバブル磁気ディスク1318から読み出す、またはリムーバブル磁気ディスク1318に書き込むための磁気フロッピーディスクドライブ(FDD)1316と、リムーバブル光ディスク1322(例えば、CD−ROMまたはDVD)から読み出す、またはリムーバブル光ディスク1322に書き込むための光ディスクドライブ1320、ならびに、NANDフラッシュメモリ、相変化メモリ(PCM)、スピンメモリ、スイッチを有する相変化メモリ(PCMS)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピンメモリ、ナノワイヤメモリ、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)を含む不揮発性メモリ(NVM)1325にデータを書き込む、または不揮発性メモリ1325からデータを読み出すためのソリッドステートドライブ(SSD)1323を含む1または複数のより低速なメモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含んでよい。HDD1314、FDD1316、光ディスクドライブ1320、およびソリッドステートドライブ1323は、それぞれHDDインタフェース1324、FDDインタフェース1326、光ドライブインタフェース1328、およびソリッドステートドライブインタフェース1329によってシステムバス1308に接続されてよい。外部ドライブ実装用のHDDインタフェース1324は、ユニバーサルシリアルバス(USB)インタフェース技術およびIEEE1394インタフェース技術のうちの少なくとも一方または両方を含んでよい。ソリッドステートドライブインタフェース1329は、例えば、限定されないが、シリアルアドバンスドテクノロジアタッチメント(SATA)インタフェース、シリアルアタッチドSCSI(SAS)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、周辺機器制御インタフェース(PCI)、または他の適したデバイスインタフェースなどの、ホストデバイスに結合するための任意の適したインタフェースを含んでよい。
【0030】
ドライブおよび関連付けられたコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などを揮発的および/または不揮発的に格納する。例えば、オペレーティングシステム1330、1または複数のアプリケーションプログラム1332、他のプログラムモジュール1334、およびプログラムデータ1336を含む複数のプログラムモジュールが、当該ドライブおよびメモリユニット1310、1312に格納されてよい。
【0031】
ユーザは、例えば、キーボード1338といった1または複数の有線/無線の入力デバイス、およびマウス1340などのポインティングデバイスによってコマンドおよび情報をコンピュータ1302に入力してよい。他の入力デバイスは、マイク、赤外線(IR)リモートコントロール、ジョイスティック、ゲームパッド、スタイラスペン、またはタッチ画面等を含んでよい。これらの、および他の入力デバイスは、システムバス1308に結合された入力デバイスインタフェース1342を介して処理ユニット1304に接続されることが多いが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインタフェースなどのような他のインタフェースによって接続されてよい。
【0032】
モニタ1344または他のタイプのディスプレイデバイスも、ビデオアダプタ1346などのインタフェースを介してシステムバス1308に接続される。モニタ1344に加えて、コンピュータは通常、スピーカ、プリンタなどのような他の周辺出力デバイスを含む。
【0033】
コンピュータ1302は、有線通信および/または無線通信による、リモートコンピュータ1348などの1または複数のリモートコンピュータへの論理接続を使用してネットワーク環境において動作してよい。リモートコンピュータ1348は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテイメント機器、ピアデバイス、または他の一般的なネットワークノードであってよく、通常はコンピュータ1302に関して説明された要素のうちの多数または全てを含むが、簡潔にするためにメモリ/ストレージデバイス1350のみが示されている。図示された論理接続は、ローカルエリアネットワーク(LAN)1352、および/またはより大きなネットワーク、例えばワイドエリアネットワーク(WAN)1354への有線/無線接続を含む。そのようなLANおよびWANのネットワーキング環境は、オフィスおよび企業においてはよく見られるものであり、イントラネットなどの企業規模のコンピュータネットワークを促進する。当該コンピュータネットワークの全ては、例えばインターネットといった地球規模の通信ネットワークに接続されてよい。
【0034】
コンピュータ1302は、LANネットワーキング環境において使用されるとき、有線通信および/または無線通信のネットワークインタフェースまたはネットワークアダプタ1356を介してLAN1352に接続される。アダプタ1356は、LAN1352への有線通信および/または無線通信を容易にすることができる。LAN1352はまた、アダプタ1356の無線機能で通信するために配置された無線アクセスポイントを有する。
【0035】
コンピュータ1302は、WANネットワーキング環境において使用されるとき、モデム1358を有し得るか、または、WAN1354上の通信サーバに接続されるか、または、WAN1354を介して、例えばインターネットによって通信を確立するための他の手段を有する。モデム1358は、内部であっても、または外部であってもよく、有線デバイスおよび/または無線デバイスであってよく、入力デバイスインタフェース1342を介してシステムバス1308に接続される。ネットワーク環境において、コンピュータ1302に関して図示されたプログラムモジュールまたはそれらの一部は、リモートのメモリ/ストレージデバイス1350に格納さえてよい。示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段が使用されてよいことが理解されよう。
【0036】
コンピュータ1302は、IEEE802規格ファミリを使用する有線および無線のデバイスまたはエンティティと通信するよう動作可能である。当該デバイスまたはエンティティとは、例えば、プリンタ、スキャナ、デスクトップおよび/またはポータブルコンピュータ、パーソナルデジタルアシスタント(PDA)、通信衛星、無線で検出可能なタグと関連付けられる任意の設備または位置(例えば、キオスク、新聞の売店、トイレ)、および電話との無線通信(例えば、IEEE802.11無線変調技術)において動作可能に配置された無線デバイスなどである。これは、少なくともWi−Fi(登録商標)(すなわち、ワイヤレスフィディリティ)、WiMAX(登録商標)、およびBluetooth(登録商標)の無線技術を含む。したがって、通信は、従来のネットワークと同様に予め定義された構造であってよく、または単に、少なくとも2つのデバイス間におけるアドホック通信であってよい。Wi−Fi(登録商標)ネットワークは、IEEE802.11x(a、b、g、n等)と呼ばれる無線技術を使用して、セキュアで信頼性の高い高速無線接続を提供する。Wi−Fi(登録商標)ネットワークは、コンピュータを互いに、インターネットに、および(IEEE802.3関連の媒体および機能を使用する)有線ネットワークに接続するために使用されてよい。
【0037】
「1つの実施形態」、「一実施形態」、「例示的な実施形態」、「様々な実施形態」等と言うとき、そのように説明される実施形態が特定の機能、構造、または特性を含んでよいが、全ての実施形態が必ずしも当該特定の機能、構造、または特性を含むわけではないことを示す。さらに、いくつかの実施形態は、他の実施形態で説明された機能のうちの一部または全部を有してよく、またはそれらのうち1つも有さなくてよい。
【0038】
以下の説明および特許請求の範囲において、「結合(coupled)」という用語およびその派生語が使用される場合がある。「結合(coupled)」は、2またはそれより多くの要素が協働し、または互いに相互作用し合っているが、それらの間に、介在する物理コンポーネントまたは電気コンポーネントを有しても、有さなくてもよいことを示すために使用される。
【0039】
特許請求の範囲で使用されるとき、特に指定しない限り、序数を表す形容詞「第1」、「第2」、「第3」等を使用して共通の要素を説明する場合、それは単に、同様の要素の異なる例を指していることを示唆しているに過ぎず、そのように説明された要素が、時間的に、空間的に、順位的に、または任意の他の態様において、のいずれかにおいて所与の順序である必要があることを意図するものではない。
【0040】
以下の節および/または例は、さらなる実施形態または例に関連する。これらの例における具体的事項は、1または複数の実施形態のいずれの箇所で使用されてもよい。種々の実施形態または例の様々な機能は、様々な異なる用途に適合するよう、一部の機能は含め、他の機能は除外して、様々に組み合わされてよい。例は、本明細書において説明された実施形態および例に係る、方法、当該方法の動作を行うための手段、マシンによって実行されたとき、当該方法の動作をマシンに行わせる命令を含む少なくとも1つのマシン可読媒体、または、ハイブリッド通信を容易にするための装置もしくはシステムなどの主題を含んでよい。
【0041】
いくつかの実施形態は例1に関連する。例1は、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、複数のパイプの2またはそれより多くのパイプが並行に動作して、フレームバッファ座標によって特定されるフレームバッファの領域に対応するフレームバッファデータを処理する、パイプラインと、ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、2またはそれより多くのパイプのそれぞれからのフレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第1のトランスコーダと、サーフェススプリッタから受け取ったフェッチ順序に基づいて、2またはそれより多くのパイプのそれぞれからのフレームバッファデータを第1のトランスコーダに送る順序を制御するためのマルチプレクサ(Mux)およびマルチストリームアービタとを備えるディスプレイエンジンを有する。
【0042】
例2は、例1の主題を含み、2またはそれより多くのパイプからのフレームバッファデータは、Muxおよびマルチストリームアービタによって組み合わされる。
【0043】
例3は、例1および2の主題を含み、サーフェススプリッタは、分割ポリシと、2またはそれより多くのパイプのうちのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する。
【0044】
例4は、例1〜3の主題を含み、設定情報は、ディスプレイドライバから受け取る。
【0045】
例5は、例1〜4の主題を含み、レジスタはさらにフェッチ順序を格納する。
【0046】
例6は、例1〜5の主題を含み、Muxおよびマルチストリームアービタは、ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、複数のパイプのそれぞれを対応するトランスコーダと接続する。
【0047】
例7は、例1〜6の主題を含み、サーフェススプリッタは、分割ポリシに基づいてフレームバッファデータを分割する。
【0048】
例8は、例1〜7の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【0049】
いくつかの実施形態は例9に関連する。例9は、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成する段階と、フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの2またはそれより多くのパイプにおいて並行に処理する段階と、フェッチ順序に基づいて、2またはそれより多くのパイプのそれぞれからのフレームバッファデータを第1のトランスコーダに送る順序を制御する段階と、第1のトランスコーダにおいてフレームバッファデータを統合して出力信号にする段階とを備える。
【0050】
例10は、例9の主題を含み、複数のパイプのうちの2またはそれより多くのパイプのそれぞれが、対応するフレームバッファ座標に基づいてフレームバッファデータをフェッチする段階をさらに備える。
【0051】
例11は、例9および10の主題を含み、分割ポリシを受け取る段階と、分割ポリシに基づいて座標を生成する段階とをさらに備える。
【0052】
例12は、例9−11の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【0053】
例13は、例9−12の主題を含み、分割ポリシはディスプレイドライバから受け取る。
【0054】
いくつかの実施形態は例14に関連する。例14は、ディスプレイデバイスと、ディスプレイデバイスに結合されたデジタルディスプレイインタフェース(DDI)と、DDIに結合されたディスプレイエンジンとを備え、ディスプレイエンジンは、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するためのサーフェススプリッタと、フレームバッファ座標を受け取るための、複数のパイプを含むパイプラインであって、複数のパイプのうちの2またはそれより多くのパイプが並行に動作して、フレームバッファ座標によって特定されるフレームバッファの領域に対応するフレームバッファデータを処理する、パイプラインと、ディスプレイエンジンがマルチパイプ協調モードで動作中のときにはいつでも、2またはそれより多くのパイプのそれぞれからのフレームバッファデータを統合して出力信号にするための複数のトランスコーダのうちの第1のトランスコーダと、サーフェススプリッタから受け取ったフェッチ順序に基づいて、2またはそれより多くのパイプのそれぞれからのフレームバッファデータを第1のトランスコーダに送る順序を制御するためのマルチプレクサ(Mux)およびマルチストリームアービタとを有する。
【0055】
例15は、例14の主題を含み、2またはそれより多くのパイプからのフレームバッファデータは、Muxおよびマルチストリームアービタによって組み合わされる。
【0056】
例16は、例14および15の主題を含み、サーフェススプリッタは、分割ポリシと、2またはそれより多くのパイプのどれが実装されるかとを示す設定情報を受け取るためのレジスタを有する。
【0057】
例17は、例14〜16の主題を含み、設定情報は、ディスプレイドライバから受け取る。
【0058】
例18は、例14〜17の主題を含み、レジスタはさらにフェッチ順序を格納する。
【0059】
例19は、例14〜18の主題を含み、Muxおよびマルチストリームアービタは、ディスプレイエンジンにおいてマルチパイプ協調モードが無効のとき、複数のパイプのそれぞれを対応するトランスコーダと接続する。
【0060】
例20は、例14〜19の主題を含み、サーフェススプリッタは、分割ポリシに基づいてフレームバッファデータを分割する。
【0061】
例21は、例14〜20の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【0062】
いくつかの実施形態は例22に関連する。例22は、1または複数のプロセッサによって実行されたとき、例9〜13に記載の方法を1または複数のプロセッサに行わせる命令を有する少なくとも1つのコンピュータ可読媒体を含む。
【0063】
いくつかの実施形態は例23に関連する。例23は、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成するための手段と、フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの2またはそれより多くのパイプにおいて並行に処理するための手段と、フェッチ順序に基づいて、2またはそれより多くのパイプのそれぞれからのフレームバッファデータを第1のトランスコーダに送る順序を制御するための手段と、第1のトランスコーダにおいて、フレームバッファデータを統合して出力信号にするための手段とを備えるシステムを含む。
【0064】
例24は、例23の主題を含み、複数のパイプのうちの2またはそれより多くのパイプのそれぞれは、対応するフレームバッファ座標に基づいてフレームバッファデータをフェッチする。
【0065】
例25は、例23および24の主題を含み、分割ポリシを受け取るための手段と、分割ポリシに基づいて座標を生成するための手段とをさらに備える。
【0066】
例26は、例23−25の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【0067】
いくつかの実施形態は例27に関連する。例27は、1または複数のプロセッサによって実行されたとき、1または複数のプロセッサに、フレームバッファデータを、各々が1つのフレームバッファ座標に対応する複数の領域に分割するようフレームバッファ座標を生成させ、フレームバッファ座標によって特定されるフレームバッファの別箇の領域に対応するフレームバッファデータを、複数のパイプのうちの2またはそれより多くのパイプにおいて並行に処理させ、フェッチ順序に基づいて、2またはそれより多くのパイプのそれぞれからのフレームバッファデータを第1のトランスコーダに送る順序を制御させ、第1のトランスコーダにおいてフレームバッファデータを統合して出力信号にさせる命令を有する少なくとも1つのコンピュータ可読媒体を含む。
【0068】
例28は、例27の主題を含み、1または複数のプロセッサによって実行されたとき、さらに、対応するフレームバッファ座標に基づいて、複数のパイプのうちの2またはそれより多くのパイプのそれぞれにフレームバッファデータをフェッチさせる命令を有する。
【0069】
例29は、例27および28の主題を含み、1または複数のプロセッサによって実行されたとき、さらに、1または複数のプロセッサに、分割ポリシを受け取らせ、分割ポリシに基づいて座標を生成させる命令を有する。
【0070】
例30は、例27〜29の主題を含み、分割ポリシは、領域数と、フレームバッファの分割方式とを定める。
【0071】
本発明の実施形態が、構造の特徴および/または方法の動作に特有の言い回しで説明されてきたが、特許の請求される主題は、説明された特定の特徴または動作に限定されなくてもよいことが理解されよう。むしろ、特定の特徴および動作は、特許の請求される主題を実装するサンプルとして開示されている。