(57)【要約】ストリーム化された、または、非ストリーム化されたベクトルグラフィックスアプリケーションおよびマルチメディアコンテンツに対する高性能アクセラレータ回路。これは、現在のコンピュータおよび携帯アーキテクチャに比べてベクトルグラフィックスアプリケーションおよびマルチメディアコンテンツに対する性能を向上させる。ベクトルグラフィックスユニット回路は、二次および三次のベジェ曲線（すなわち、フォント、曲ったオブジェクトなど）の高速描画手段、べたのオブジェクトと透明なオブジェクトを合成するハードウェアおよび高速エイリアス除去ハードウェア部を含む。ベクトルグラフィックス部は、高品質のグラフィックスおよび低消費電力の特徴を有する市販の装置に特に適している。
2006515939.tif 000002
【特許請求の範囲】
【請求項１】
ａ．データの入力ストリームを受け取る入力表示リスト手段、
ｂ．スキャン変換アルゴリズムを最適化するソート処理ハードウェア回路、
ｃ．ベクトル曲線の細分化を行うベジェ・ハードウェア回路、
ｄ．サブ画素値を計算するエイリアス除去ハードウェア回路、
ｅ．表示リストメモリ内で複数のビットマップおよび数値テーブルへのアクセスを再度順序付けしかつ最適化する色ハードウェア回路、および
ｆ．メモリを用いて、最終的な画素ビットマップにおいてベクトルグラフィックス・オブジェクトを構成するダンプバッファ・ハードウェア回路
とからなる、ベクトルおよびビットマップのグラフィックス・オブジェクトを最終的画像へレンダリングするベクトルグラフィックス回路。
【請求項２】
前記入力表示リスト手段が二次または三次ベジェッジデータリストを含む、請求項１に記載されたベクトルグラフィックス回路。
【請求項３】
前記入力表示リスト手段が色データリストを含む、請求項２に記載されたベクトルグラフィックス回路。
【請求項４】
入力表示リスト手段が色傾斜路データリストを含む、請求項３に記載されたベクトルグラフィックス回路。
【請求項５】
入力表示リスト手段がパターンまたはビットマップのデータリストを含む、請求項３に記載されたベクトルグラフィックス回路。
【請求項６】
前記ソート処理ハードウェア回路は、
ａ．２つの交互のピンポンバッファが格納されている２ポートメモリを含むアクティブエッジ・テーブル内部に、現在のスキャンラインのエッジを、Ｘを増加しつつ格納するアクティブエッジ処理部と、
ｂ．ＬＩＦＯスタックとして動作して、前記アクティブエッジ・テーブルのアドレスを生成するフリーアクティブエッジ・スタックと
からなることを特徴とする請求項１に記載されたベクトルグラフィックス回路。
【請求項７】
前記ベジェハードウェア回路が、２ポートメモリに一連のセグメントを格納し、前記２ポートメモリは、
ａ．３対のＸおよびＹの加算と２による除算をする加算器、及び、遅延素子を含む細分化ベジェパラメータ部と、
ｂ．ドカステリョ細分化部と、
ｃ．２ポートメモリ内部にベジェセグメントのアドレス位置を生成するベジェ細分化ツリーアドレス部と
からなる、請求項１に記載されたベクトルグラフィックス回路。
【請求項８】
前記エイリアス除去ハードウェア回路が、クロックごとにＮ＝ｉ×４の実際の画素内に存在するサブ画素の数を計算して、スキャン変換された行に対して用いられる重み因子を取得する、請求項１に記載されたベクトルグラフィックス回路。
【請求項９】
前記色ハードウェア回路が、
ａ．リニア方向の傾き、半径方向の傾き、タイル化ビットマップまたはクリップ化ビットマップがアクティブエッジに関連付けられているとき、べた色または処理色を出力する色生成部と、
ｂ．前記色生成部からの色を処理するために重み因子を使用して、その結果を前記ダンプバッファに格納する色構成部と
からなる、請求項１に記載されたベクトルグラフィックス回路。
【請求項１０】
前記バッファハードウェア回路は、画素領域を、全てのオブジェクトがその中に構成されているバッファの中に格納し、前記バッファは、
ａ．エイリアス除去因子と透明度因子により処理された色画素を格納する、固定された１ラインのダンプバッファメモリと、
ｂ．色画素値を格納する格納バッファメモリとからなり、
前記格納バッファメモリから背景画素を読出し、それに、前記ダンプバッファから取得された透明度の相補値（１−α）を乗算し、さらに、その積に、再び前記ダンプバッファから取得した赤色、緑色および青色の値を加算し、
その結果を、再び前記格納バッファ内部に書込む
請求項１に記載されたベクトルグラフィックス回路。
【請求項１１】
前記ベジェハードウェア回路が、２ポートメモリ内部に一連のセグメントを格納し、
前記２ポートメモリは、３対のＸおよびＹの加算と２による除算をする加算器、および、遅延素子を含む細分化ベジェパラメータ部を備える、請求項１に記載されたベクトルグラフィックス回路。
【請求項１２】
前記ベジェハードウェア回路が、ドカステリョ細分化ユニットを備える２ポートメモリ内部に一連のセグメントを格納する、請求項１に記載されたベクトルグラフィックス回路。
【請求項１３】
前記ベジェハードウェア回路が、内部にベジェセグメントのアドレス位置を生成するベジェ細分化ツリーアドレス部を含む２ポートメモリ内部に一連のセグメントを格納する、請求項１に記載されたベクトルグラフィックス回路。
【請求項１４】
ベクトルおよびビットマップのグラフィックス・オブジェクトを最終的画像へレンダリングするベクトルグラフィックス回路であって、
ａ．データの入力ストリームを受け取る入力表示リスト手段と、
ｂ．スキャン変換アルゴリズムを最適化するソート処理ハードウェア回路と、
ｃ．ベクトル曲線細分化のためのベジェ・ハードウェア回路と、
ｄ．サブ画素値を計算するエイリアス除去ハードウェア回路と、
ｅ．前記表示リストメモリ内部で複数のビットマップおよび数値表へのアクセスを再度順序付けし、最適化する色ハードウェア回路と、
ｆ．メモリを使用して、最終的画素のビットマップにおいてベクトルグラフィックス・オブジェクトを構成するダンプバッファ・ハードウェア回路と
からなり、
前記入力表示リスト手段は二次または三次ベジェエッジデータリストを含み、
前記入力表示リスト手段は色データリストを含み、
前記入力表示リスト手段は色傾斜路データリストを含み、
前記入力表示リスト手段はパターンまたはビットマップのデータリストを含み、
前記ソート処理ハードウェア回路は、
ａ．現在のスキャンラインのエッジを、Ｘを増加しつつ、２つの交互のピンポンバッファが格納されている２ポートメモリを含んでいるアクティブエッジ・テーブル内部に格納するアクティブエッジ処理部と、
ｂ．ＬＩＦＯスタックとして動作し、前記アクティブエッジ・テーブルのアドレスを生成するフリーアクティブエッジ・スタックと
からなり、
前記ベジェハードウェア回路は、２ポートメモリ内部に一連のセグメントを格納し、前記２ポートメモリは、
ａ．３対のＸおよびＹの加算と２による除算をする加算器、および、遅延素子を含む細分化ベジェパラメータ部と、
ｂ．ドカステリョ細分化部と、
ｃ．前記２ポートメモリ内部にベジェセグメントのアドレス位置を生成するベジェ細分化ツリーアドレス部とからなり、
前記エイリアス除去ハードウェア回路が、クロックごとにＮ＝ｉ×４の実在の画素内に存在するサブ画素の数を計算して、スキャン変換行に対して用いられる重み因子を取得し、
前記色ハードウェア回路は、
ａ．リニア方向の傾き、半径方向の傾き、タイル化されたビットマップまたはクリップ化されたビットマップがアクティブエッジに関連付けられているときは、べた色または処理色を出力する色生成部と、
ｂ．重み因子を前記色生成部からの色を処理するために使用し、その結果をダンプバッファに格納する色構成部と
からなり、
前記バッファ・ハードウェア回路は、画素領域を、全てのオブジェクトが構成されるバッファ内に格納し、前記バッファ・ハードウェア回路は、
ａ．エイリアス除去因子および透明度因子により処理された色画素を格納する、固定された１ラインのダンプバッファメモリと、
ｂ．色画素値を格納する格納バッファメモリとからなり、
前記格納バッファメモリから、背景画素を読出し、それに前記ダンプバッファから取得された透明度の相補値（１−α）を乗算し、それに、再び前記ダンプバッファから取得された赤色、緑色及び青色の値を加算し、次に、その結果を再び前記格納バッファ内部に書き込む、
ベクトルグラフィックス回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトルおよびビットマップのグラフィックス・オブジェクトを最終画像にレンダリングするためのベクトルグラフィックス回路に関する。
【背景技術】
【０００２】
今日では、携帯装置を介した有線または無線でのインターネット接続を用いたクライアント・サーバ・アプリケーションの人気が、ワールドワイドウェブ・コンソーシアム（World Wide Web Consortium）によるＳＶＧ（スケーラブル・ベクトルグラフィックス）、およびMacromedia（商標）によるＳＷＦなどのオープン・グラフィックス・フォーマットに基づく、豊富なクライアント・ベクトルグラフィックス・コンテンツおよび豊富なユーザインタフェースを要求している。
【０００３】
こうした装置で使われるディスプレイ装置は、サイズ、スクリーン解像度および色の深みが増加し、制御対象となる画素およびデータの総数が増加している。こうした画素レンダリングは、多くの場合、グラフィックス妥当性が異なる、異なったレイヤにスタックされたベクトルグラフィックス・オブジェクトの、１つ以上のビットマップ画像への変換を表示している。
【０００４】
より高いスクリーン解像度および色の深みにより、携帯装置上の汎用プロセッサであるＣＰＵの使用リソースおよび電力消費も増加し続けている。したがって、携帯／スマート装置の製造会社は、マルチメディア・プレイヤーの機能を減らし、提供するマルチメディア・プレイヤーの性能を非常に限られたものにすることを余儀なくされている。この解決手段を、標準のパーソナルコンピュータ・アーキテクチャ、デスクトップコンピュータおよびノートパソコンでの完全なオプションならびに高速マルチメディア・プレイヤーと比較すると、これは多くの場合、エンドユーザによる純粋なルック・アンド・フィールへの変換である。
【０００５】
背面光を要しないＯＬＥＤなどの新技術に基づく前記ディスプレイ装置の電力消費も急速に減少し続けている。今日では、色ＱＶＧＡのＯＬＥＤスクリーンは、携帯アプリケーション・プロセッサと同等以下の電力を使用する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
消費者の装置でベクトルグラフィックス・アプリケーションおよびマルチメディア・コンテンツを実行するための、安価で効率の良い低電力の解決手段を提供する、ベクトルグラフィックス・アプリケーションおよびマルチメディア・コンテンツの実行のための、改良されたシステムを有することが所望されている。
【課題を解決するための手段】
【０００７】
本発明は、ベクトルグラフィックス・オブジェクトを、ＯＬＥＤ、カラーＴＦＴ、白黒ＬＣＤ、ＣＲＴモニターなどのディスプレイ装置に、直接、カラー、グレースケール、またはｂ（黒）／ｗ（白）ビットマップ画像として、高速にレンダリングするのに使用可能な、ハードウェアのベクトルグラフィックス部に関する。
【０００８】
通常、ソフトウェアのベクトルグラフィックス・レンダリング・エンジンは、制御処理部（ＣＰＵ）のパイプライン・アーキテクチャ上でソフトウェアを実行することにより、ベクトルグラフィックス・オブジェクトのビットマップ・オブジェクトへの変換を計算する。
【０００９】
ベクトルグラフィックス部は、ベクトルレンダリング・エンジンが実行されるときに以前は発生していたボトルネックをＣＰＵ上のソフトウェアを通して排除するので、ベクトルグラフィックス・オブジェクトのレンダリングをかなり高速化している。
【００１０】
本発明では、ベクトルレンダリング・エンジンの全てまたは少なくともその一部分が、ベクトルグラフィックス部としてハードウェア内で実行される。ベクトルグラフィックス・部およびＣＰＵは、市販の装置と共に使用するのに適した、システム・オン・チップ（ＳｏＣ）などの、埋め込み型システムを提供する、単一の半導体チップ上に一緒に配置できる。
【発明の効果】
【００１１】
１３０ｎｍ未満の処理に対する新しいシリコン技術の進歩により、ＩＣ製造会社は、小さいフットプリント（１ｍｍ２未満）を伴う、ＶＧＵなどの高度に専門化したハードウェアＩＰコアを、専用システム・オン・チップ内へ含ませることが可能となっている。このＶＧＵ・ＩＰコアは、３０％未満という良好に受け入れられる値で、ＣＰＵのリソースを低減する一方、驚異的な性能アクセラレーション因子を加えている。これにより、非常に低電力および低周波数のマイクロ制御器を使用するスマートフォンおよび任意の他の携帯装置も、マルチメディア・ハイエンド・ノートパソコンの性能に達することが可能となる。したがって、音声による通信など、他の優先順位の高いタスクを犠牲にすることはない。こうした組込み型システムの解決手段は、非常な低消費電力の利点を有する分離型グラフィックス・アクセラレーション・チップを備えた強力なＣＰＵほど高価ではない。
【発明を実施するための最良の形態】
【００１２】
本発明は、同じ要素に同じ参照記号が付されている添付の図面と関連して以下に説明される。
【００１３】
図１は、中央処理ユニット（CPU)２に結合したハードウェア・ベクトルグラフィックス部３の使用を示すシステム１の図である。ベクトルグラフィックス部３は、ベクトルレンダリング・エンジンの一部がハードウェアで実装されることを可能にする。このハードウェアの実装により、ベクトルグラフィックス・オブジェクトのレンダリングが高速化される。特に、好ましい実施形態では、スタック・レイヤ方式で構成されたベクトルグラフィックス・オブジェクトの、連続スキャンライン・ビットマップへの変換は、部分的または完全に、ハードウェアのベクトルグラフィックス部３内で実行される。この変換は、ソフトウェアで実行されるベクトルレンダリング・エンジンでは、ボトルネックの一部となってきた。
【００１４】
図２は、ＣＰＵ２のソフトウェアの前処理生成部およびベクトルグラフィックス部３を詳細に示している。表示リスト８は、ソフトウェアの前処理生成部とハードウェアのベクトルグラフィックス部３との間の通信チャネルとして機能する。
【００１５】
ソフトウェアの曲線エッジ生成部４は、現在の時間フレーム内に描画される必要があるベジェ曲線における全てのグラフィックス・オブジェクトを分解し、それらを１つのエッジシーケンスとして表示リスト内に格納する。
【００１６】
色テーブル生成部５は、エッジリストにより用いられる色を表示リストに追加する。
【００１７】
傾き傾斜路生成部６は、その色が傾きであるときに、使用される全ての傾き傾斜路テーブルを作成する。
【００１８】
ビットマップおよび平方根生成部７は、描画されるべきオブジェクト用のテキスチャとして使用されるビットマップを、表示リスト内に格納された適当なグラフィックスフォーマットに変換する。平方根テーブルは、画素値がそのアドレスの平方根である特別なビットマップであり、半径方向の傾きの色で描画されたオブジェクトに対して使用される。
【００１９】
図３は、アクティブエッジ処理部１６を示している。アクティブエッジ処理部１６は、表示リスト８から、現在のスキャンラインで処理されるべきエッジをロードし、さらにそれらのエッジを、フリー・アクティブエッジ・スタック１４により生成されたアドレスで、アクティブエッジ・テーブル１３内へ格納する。同時に、ベジェ分解部１０はエッジデータを処理する。ドカステリョ細分化部１９とベジェ細分化ツリー・アドレス１７を備えた、細分化されたベジェパラメータ１８は、ベジェを一連のセグメントに分割し、それらをアクティブエッジ・テーブル１３へ格納する。
【００２０】
図４（ａ）は、二次ベジェ曲線を示し、また、図４（ｃ）は、その８つのセグメントへの細分化を示している。細分化は、８つのセグメントが発生するまで実行されるが、しかし、同じ処理は、より多くのステップで繰り返すことができる。この繰り返しは、細分化された曲線が直線的セグメントに近似できるとき、平坦さのテストで停止できる。
【００２１】
極小または極大を伴う全ての曲線は、２本の単調曲線により分割され、したがって、各Ｙステップで、Ｘ座標は常に減少または増加する。こうして、全ての曲線は、単純にＹ座標を増加するラスタスキャン・アルゴリズムで評価可能となる。三次ベジェ曲線においては、この処理は、１つ多い細分化を伴うが、同様である。
【００２２】
ベジェ細分化ツリーアドレス１７は、図４（ｄ）に示された、Ｎセグメントを含む２ポートメモリのためのアドレス生成部であり、その構造は、読出しおよび書込みの数を最適化するように選択される。この２ポートメモリは、異なるアドレスに対して同時に読出しおよび書込みをする２つのポートを有している。細分化ブロックは、３対のＸおよびＹの加算と２による除算をする加算器および遅延素子から構成されている。
【００２３】
図４（ｂ）のフローチャートにより示されたシーケンスは、以下のように説明可能である。
（０）第１要素（２つのアンカー点および１つの制御点を表す３組のＸ，Ｙ座標）、すなわち、処理対象のベジェ曲線を、第１メモリアドレス位置（アドレス０）に書込む。
（１）式に示されるように前記の点を細分化し、そして、メモリアドレス位置１に下位サブ曲線を書込み、さらにメモリアドレス位置０に上位サブ曲線を書込む。これは、全ての結果が、最初の読出しから計算され、それに続く書込みが、この特定の結果およびその中間結果によってのみ決定されるという事実により、最良のシーケンスとして提供される。
（２）アドレス１のサブ曲線は再び分割され、すでに説明したように、下位部分をメモリアドレス位置３へ、さらに上位部分をアドレス位置２へ格納する。サブ曲線０のため同じ形式が用いられる。すなわち、分割され、メモリアドレス位置１、０へ格納される。
（３）この処理は、各細分化に対して再び繰り返され、この例では、最終書込みは、図４（ｄ）の第３ループに示されている。
【００２４】
上述のロジックブロックは、非常にコンパクトであり、メモリアクセスを最小にできる。８つのセグメントに対するこの細分化処理は、３＋６＋１２＝２１クロックのみで実行される。
【００２５】
アクティブエッジ処理部１６は、現在の更新領域を用いて、サブ・セグメントを計算し、傾きパラメータをアクティブエッジテーブル１３内へ格納する。アクティブエッジ処理部１６はまた、サブ・セグメントの点を、アクティブエッジの相対アドレスでＸ並び換え処理部１５へ格納する。スキャンラスター化の処理中に、Ｙが増加する順序のモードで、表示リスト内へ格納されたベジェ曲線のエッジが読出され、セグメントに変換されて、さらに、アクティブエッジ・テーブル内へ、色種類やエッジ・フィリング・ルールなどの他の情報と共に格納される。
【００２６】
アクティブエッジ・テーブルは、各エントリーが、フリーエッジスタックで動的に割り当てられる小さなメモリである。これは、図５（ａ）に示したように、アクティブエッジテーブル１３（この例では、２５６のエッジ位置が存在し、Ｎ＝２５６）の全てのフリーアドレスで初期化される、ＬＩＦＯ（後入れ先出し）スタック種類のメモリである。処理されるべきエッジ＃０は、ブロック１０から来て、アクティブエッジ・テーブル１３に、図５（ｂ）のフリースタックのトップに含まれるアドレス０で格納される。使用後、そのアドレスはスタックから除去される。次のアクティブエッジ（図５（ａ）のエッジ＃１）は、今使われたデータアドレスを結果として除去しながら、スタックのトップからアドレス１を取得することになる。あるＹ座標では、エッジ＃０は、もはやアクティブでなく（すなわち、下位アンカー点は、実際のＹ座標より小さい）、さらに、スタックのトップ上の第１データとして、再びそのアドレスを格納することにより、除去される。このアドレスは、次のアクティブエッジに使用される。こうして、ブロック１６は、複雑なメモリ割当てストラテジーを用いることなく、エッジテーブルの２５６のすべてのエントリーを割当てることが可能である。図５の（ｄ）は、既存のアクティブエッジ＃３が更新された際の再配列化処理を示している。
【００２７】
アクティブエッジ内でのＮ個のエントリーへの制限は、同じ色を用いて、１つの行に対して、Ｎより多くのエッジがアクティブにはなり得ないことを意味する。しかし、より複雑な図面も、Ｎに制限されたメモリ内で処理されるように分割可能である。
【００２８】
正確なレンダリングを実行するために、全てのアクティブエッジは、Ｘ値が増加するように格納され、かつ、処理されなければならない。座標Ｘはエッジの傾きに従って変化可能であり、したがって、アクティブエッジ・テーブルの全ての要素を、その都度、再並び換えする必要がある。この機能は、主に、２つの交互のピンポンバッファＩ、ＩＩが格納されている２ポートメモリにより構成される並び換え処理部ブロック１５により実行される。図３のバッファＩは、常に、エッジの実際の行のＸ座標およびアクティブエッジ・テーブル内のそれらのエッジのアドレスを読出している。こうして、エッジのＸ値を更新するのに必要な全てのデータを読込み、サブセグメントステップを変更し、正しい色およびルールで、オブジェクトをレンダリングすることが可能である。Ｘ座標が更新されるとき、バッファＩＩ内へ格納される。この点で、以前に処理された各エッジのＸ値が比較できる。処理されるエッジは、順番に配列された正しい位置のＸ座標に挿入され、全ての上位要素はトップに向かって１つの位置だけシフトされる。ソート処理は、エッジがもはやアクティブでないときにも実行される。このとき、それを格納されたエッジ値と比較する必要はない。このステップは、次のアクティブエッジの処理まで省略される。このアプリケーションでは、ソート処理・アルゴリズムは、図５の（ｃ）のフローチャートに示すように、エッジの分配が行の間で激しく変化しないという事実のため、実装が簡単で、コンパクトで、かつ、高速である。その代わりに、多くの場合、それらは同じ順序で留まっており、位置を変ることはまれである。バッファの上位部分への移動処理は、その順序を変更するときにのみ必要である。
【００２９】
エッジ特性セレクタ２０は、スキャンラインのペイントコマンドを生成する。これらのコマンドは、クリッピング値およびエッジの種類（ワインディング、偶数・奇数、マスクされたフィリング処理など）に依存している。
【００３０】
色生成部１２は、リニア傾き、半径方向の傾き、タイル化された（ｔｉｌｅｄ）ビットマップまたはクリップされた（ｃｌｉｐｐｅｄ）ビットマップがアクティブエッジに関連付けられているときは、連続的な色すなわち処理された色を出力する。色生成部１２は、専用ロジックを用いて、要求されたビットマップが格納されている表示リストメモリ８へのアクセスの速度および数を最適化する。図７（ａ）および図７（ｂ）は、ビットマップ・レンダリングのための典型的な演算を示している。図７（ａ）に示したソース画像で始めて、ソース座標および図７（ｂ）などのデスティネーション・ビットマップへのマッピングを取得するために、リニア変換行列がデスティネーション座標へ適用される。マトリクス変換係数は、ソース画像の拡大／縮小、回転および移動に使用可能である。
【００３１】
回路２２の目標は、高速シーケンシャル・アクセスモードでのメモリに対する読出しおよび書込みの数の最適化である。
【００３２】
概して、ソース画像は、表示リスト内に格納される。行列は、デスティネーション座標へ適用されて開始ソースビットマップ座標を得る。デスティネーション座標は、画素が水平方向（Ｘが増加する方向）にレンダリングされるときは常に、２つのマトリクス係数を用いて増加される。新しいアドレスが計算される都度、そのアドレスは、同一ソース画素または少なくともＸが連続した画素を示していることを確実にするためチェックされる。この処理は、これがもはや真ではなくなると停止される。その結果、ソース画素が何回デスティネーション・ビットマップ内に描画（複製）されなければならないかを示す数とともに、一時的メモリに格納されたアドレスのシーケンスが得られる。このシーケンスは、ソースビットマップを読出し、デスティネーション・ビットマップへ書込むのに使用される。図７（ａ）の例では、画素１、２は、同一列の一部分であり、これは、２画素の連続的読み込みと、２つの連続する複製した対としての４画素の書込みシーケンスを意味する。
【００３３】
色の種類が半径方向の傾きであるときは、表示リスト内部の特別なビットマップが使用される。それは、図７（ｃ）に示したように、２５６×２５６画素の幅および高さを有する平方根ルックアップテーブルと呼ばれる。各位置の画素値は、単に、Ｘ、およびＹの二乗の和の平方根、実際には特にビットマップ座標の原点からの極距離、である。行列変換部２４は、ビットマップについて同様に作動し、デスティネーション座標をソース座標へ変換して、メモリを読出す。今回は、行列変換部２４は、他の色傾斜路ルックアップテーブル（図７（ｄ））へアドレスするために、値を色傾斜路２５へ渡す。その結果は、色構成部２２内で各々のレンダリングされた画素で適用されるべき実の傾きの色である。アクセスシーケンスの最適化は、ビットマップに対して説明されたように実行される。
【００３４】
エイリアス除去バッファ２１は、実際の画素内にあるサブ画素の数を計算して、スキャン変換された行について重み因子を取得する。エイリアス除去処理は、実際の画素サイズの４倍の座標解像度で実行される。図６（ａ）は、各々のディスプレイ画素の一部である１６個のサブ画素がメモリ内でいかに描画されるかを示している。この場合、正の傾きをもつセグメントは、以下の４つの連続するステップで処理される。
（０）第１サブ行では、２つのサブ画素が設定され、その結果、対応するメモリ位置内に、２（画素単位で）がロードされる。
（１）第２サブ行では、追加の３つのサブ画素が設定され、その結果、以前のメモリ内容に、３が加算され、さらに、和５が再び格納される。
（２）第３サブ行では、４が加算され、９が格納される。
（３）最後のサブ行では、再び４が加算され、最終結果は１３となる。したがって、その画素に対するエイリアス除去重み因子は１３／１６となる。
【００３５】
本発明の独自性は、図６（ｂ）に示したように、同時に４つの実際の画素（１６のサブ画素）が処理可能な、並列加算器グループであるエイリアス除去（ＡＡ）バッファ２１に基づいている。この例におけるエイリアス除去ブロックは、２ポートメモリを含み、各クロック内で４つの画素を処理可能である。並行度をクロックごとに８つまたは１６の実際の画素まで増加させて、単純に加算器ロジックおよびメモリ幅を増加させることは、簡単かつ高速である。
【００３６】
図６（ｃ）は、開始エッジと終了エッジが同一画素の一部であるときも、エイリアス除去ロジックは重みを計算可能であることを示している。
【００３７】
エイリアス除去バッファの出力は、図６（ｄ）に示したように、色構成部２２に対する入力として使用され、その度に正しい画素の重みを選択するマルチプレクサが用いられる。
【００３８】
色構成部２２は、色生成部１２からの色を処理するのに重み因子を使用し、その結果をダンプバッファ２３内に格納する。図８（ａ）は、ＡＡバッファ２１により生成される、透明度の割合とエイリアス除去の割合を用いた色構成を示している。最終結果は、ブロック２３のダンプバッファ内に格納される。
【００３９】
第２フェーズでは、ダンプバッファからのデータは、再度読出され、このシーケンス内における背景とともにさらに構成される。
（１）ブロック２３の格納バッファメモリから背景画素を読出し、それにダンプバッファから取得された透明度の相補値（１−α）を掛け、さらに、それに、再度ダンプバッファから取得した赤色、緑色、および青色の値を加える。
（２）その結果は、各スキャン変換でサイズに再調整可能である、ディスプレイメモリ未満のまたは最大でそれに等しい容量のメモリである、ブロック２３の格納バッファ内部に書き込まれる。このサイズは、２５６×２５６画素、１２８×５１２画素、６４×１０２４画素など、２のべき乗とすることが可能である。その次元は、システムで使用されるメモリ技術（ＳＤＲＡＭ，ＳＲＡＭなど）および毎回最も効率的にメモリへアクセスするため使用可能な技術（すなわち、ＳＤＲＡＭに対するバースト読出し／書込み）の関数である。
【００４０】
図８（ｂ）は、描画処理の更新（update）境界すなわち更新長方形を示している。この長方形は、動画により何らかの変化が引き起こされる領域のみに関係付けられている。この例では、更新長方形は、格納バッファメモリより大きい。したがって、ソフトウェアの曲線エッジ生成部４は、ブロック２３の格納バッファメモリの可能なサイズ設定と両立するブロックに、更新長方形を分割することになる。最適化は、更新領域全体をカバーする、可能なサブ・ブロックの最小値を取得するために行われる。
【００４１】
図８（ｂ）の例では、４つの部分が生成され、各々が、ブロック２３の格納バッファ内部に格納可能である。
【００４２】
表示リストに記載された全ての完全なラスタ処理は、サブ更新領域ｓｂ１の座標頂点に対して設定された更新長方形の制限を用いて、格納バッファ内で実行される。
【００４３】
最終ステップは、ディスプレイメモリにバッファの内容をコピーすることである。同一ラスタシーケンスは、各サブ更新領域ｓｂ２、ｓｂ３、ｓｂ４について繰り返される。
【００４４】
こうして、外部メモリ帯域幅を減少させ、外部ディスプレイメモリアクセスの数を減少させることが可能である。格納バッファの内部データ経路も、外部バス構成で使用される標準の３２／６４ビットと比べて、すなわち、１０２４ビットよりも容易に大きくすることができる。集積回路内の電流、電圧および容量が、常に別々のＩＣ間の接続に使用される外部のものより小さいので、このシステムにより消費される電力も減少する。
【００４５】
回路は、表示リスト・レンダリング・ステップ数を最適化し、さらに、外部メモリ帯域幅を低下させる、プログラム可能な高さと幅を備える、別々のバッファ内に分解可能な、更新境界長方形に対する独自の構成を有している。
【００４６】
本発明のベクトルグラフィックス部３は、特に、ハードウェアのアクセラレータが既存のＣＰＵ設計と同じチップ上に位置決めされる、システム・オン・チップなどの埋め込み解決手段によく適合する。加えて、本実施形態のアーキテクチャは、スマートフォン統合アーキテクチャから、プロセッサおよびＶＧＵ部がディスクリートＩＣ部品である専用解決手段までの、様々な応用に適合するよう、スケーラブルである。
【００４７】
本発明の好適な実施形態が示され、説明されてきたが、当業者ならば、本発明のより広い態様から逸脱することなく多くの変形および変更態様がなし得ることは明白であろう。したがって、特許請求の範囲は、本発明の真の趣旨および範囲内に入る、全ての変形および変更態様をカバーすることを意図したものである。
【図面の簡単な説明】
【００４８】
【図１】本グラフィックスシステムを示すブロック図である。
【図２】ＣＰＵのソフトウェア前処理タスクおよびベクトルグラフィックスユニットのハードウェア処理作業を説明するブロック図である。
【図３】ベクトルグラフィックス部の内部部分を説明するブロック図である。
【図４（ａ）】８つのサブ曲線へのベジェ細分化の図である。
【図４（ｂ）】ベジェ細分化計算、および２ポートＲＡＭ内における、その格納のフローチャートである。
【図４（ｃ）】８つのサブ曲線へのベジェ細分化の略図である。
【図４（ｄ）】連続タイムフレーム（初期、第１ループ、第２ループ、第３ループ）内における記憶内容を示す図である。
【図５（ａ）】エッジおよびソート処理システムのブロック図である。
【図５（ｂ）】エッジおよびソート処理システムのブロック図である。
【図５（ｃ）】ｘ並び換えアルゴリズムのフローチャートである。
【図５（ｄ）】エッジおよびソート処理システムのブロック図である。
【図６（ａ）】エイリアス除去処理を示す図である。
【図６（ｂ）】エイリアス除去処理を示す図である。
【図６（ｃ）】エイリアス除去処理を示す図である。
【図６（ｄ）】エイリアス除去処理を示す図である。
【図７】（ａ）は変換されたビットマップでの色生成処理を示す図であり、（ｂ）は変換されたビットマップでの色生成処理を示す図であり、（ｃ）は半径方向の傾きテーブルを示す図であり、（ｄ）は色傾斜路ルックアップテーブルを示す図である。
【図８（ａ）】色構成部２２およびダンプ格納バッファ２３の内部部品を示すブロック図である。
【図８（ｂ）】更新長方形細分化手順を示す図である。
【図１】
2006515939.tif 000003
【図２】
2006515939.tif 000004
【図３】
2006515939.tif 000005
【図４】
2006515939.tif 000006
【図４（ａ）】
2006515939.tif 000007
【図４（ｂ）】
2006515939.tif 000008
【図４（ｄ）】
2006515939.tif 000009
【図５（ａ）】
2006515939.tif 000010
【図５（ｂ）】
2006515939.tif 000011
【図５（ｃ）】
2006515939.tif 000012
【図５（ｄ）】
2006515939.tif 000013
【図６（ａ）】
2006515939.tif 000014
【図６（ｂ）】
2006515939.tif 000015
【図６（ｃ）】
2006515939.tif 000016
【図６（ｄ）】
2006515939.tif 000017
【図７】
2006515939.tif 000018
【図８（ａ）】
2006515939.tif 000019
【図８（ｂ）】
2006515939.tif 000020
【国際調査報告】
2006515939.tif 000021
2006515939.tif 000022