(57)【要約】 【課題】  本発明は、アプリケーションプロセッサにおいてオープンベクターグラフィックの各パイプラインをハードウェアで設計することにより、ベクターグラフィック処理の実行性能を高め、また、標準として制定されたＯｐｅｎＶＧ ＡＰＩを支援することにより、従来にソフトウェアレンダリング処理で使用していたＯｐｅｎＶＧベクターコンテンツを別途の変換なしに使用できるハードウェア方式のベクターグラフィックアクセラレータ、そのアクセラレータを含むアプリケーションプロセッサ、及びそのプロセッサにおいてグラフィック加速方法を提供する。【解決手段】  ハードウェアグラフィックアクセラレータは、制御部と連結されて動作するグラフィック処理モジュールを含む。前記グラフィック処理モジュールは、前記制御部から受けた一つ以上の命令語に従って２Ｄベクターグラフィック加速を行うために、パイプライン構造によって共に連結されるラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール及びブレンディングモジュールのうち少なくとも一つを含む。【選択図】図２
2011520184.tif 000002
【特許請求の範囲】
【請求項１】
パイプライン構造で連結され、ラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール及びブレンディングモジュールのうち少なくとも一つを含むグラフィック処理モジュールを含み、
前記各グラフィック処理モジュールは、前記制御部と連結されて動作し、前記制御部から受けた一つ以上の命令語にしたがって２Ｄベクターグラフィック加速を行うことを特徴とするハードウェア方式のベクターグラフィックアクセラレータ。
【請求項２】
前記制御部は、
２Ｄベクターグラフィック加速を行うための前記各グラフィック処理モジュールを指示するのに使用される前記一つ以上の命令語及びベクターグラフィックデータを処理及びパーシングするコマンドコア及びパーサー（Ｃｏｍｍａｎｄ Ｃｏｒｅ ａｎｄ Ｐａｒｓｅｒ)を含み、
前記コマンドコア及びパーサーは、前記一つ以上の命令語を保存するための多数のレジスターを含むレジスターセットと連結されて動作することを特徴とする、請求項１に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項３】
前記制御部は、
前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、
キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、
前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、
前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、
前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファと、を含むことを特徴とする、請求項２に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項４】
前記各グラフィック処理モジュールは、クロノスグループ（Ｋｈｒｏｎｏｓ Ｇｒｏｕｐ)のオープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)ＡＰＩ標準による各コンテンツを活用できることを特徴とする、請求項１に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項５】
前記オープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)のパイプライン構造によってＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍｍｉｎｇ Ｉｎｔｅｒｆａｃｅ)が設計されており、前記オープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)とグラフィックアクセラレータ間に対するインタフェーシングが合わせられていることを特徴とする、請求項４に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項６】
ベクターグラフィックデータのベクターグラフィック加速のための一つ以上の命令語が保存される多数のレジスターを含むレジスターセットと、
前記レジスターセットと連結され、一つ以上の保存された命令語とベクターグラフィックデータを処理及びパーシングする一つ以上のコマンドコア及びパーサー（Ｃｏｍｍａｎｄ Ｃｏｒｅ ａｎｄ Ｐａｒｓｅｒ)を含む制御部と、
前記制御部に連結され、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受け、前記ベクターグラフィックデータのベクターグラフィック加速をハードウェア的に処理するハードウェア方式のベクターグラフィックアクセラレータと、を含むベクターグラフィック加速アプリケーションプロセッサ。
【請求項７】
前記ハードウェア方式のベクターグラフィックアクセラレータは、
パイプライン構造で連結され、一つ以上のラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールを含むグラフィック処理モジュールを含み、
前記各グラフィック処理モジュールは、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受けて動作することを特徴とする、請求項６に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項８】
前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、
キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、
前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、
前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、
前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファと、をさらに含むことを特徴とする、請求項７に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項９】
前記コマンドコア、パーサー、及びキャッシュコアは、ＡＨＢスレーブ及びマスターを介してアームコアに連結されていることを特徴とする、請求項８に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項１０】
前記ベクターグラフィックアクセラレータは、ベクターグラフィック処理のために、前記レジスターセットに保存されたそれぞれの値を参照し、前記ペイントジェネレーションモジュール内の各処理部の形態によってベクターパスデータを生成するパスジェネレーションモジュールを含み、
前記パスジェネレーションモジュールのためのパスセグメントコマンドは直線ライン、ベジェカーブ、楕円形アークに対するコマンドを含み、
前記パスジェネレーションモジュールは、再構成された直線ラインをフィルルールに適用するために、併合整列方式のソーティングアルゴリズムを介してソーティングすることを特徴とする、請求項７に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項１１】
前記ペイントジェネレーションモジュール内の各処理部は、ソリッドカラー処理のためのソリッド（Ｓｏｌｉｄ)部、イメージ部、パターン部、直線グラディアント（Ｌｉｎｅａｒ Ｇｒａｎｄｉｅｎｔ)部、円形グラディアント（Ｒａｄｉａｌ Ｇｒａｄｉｅｎｔ)部を含み、
前記ブレンディングモジュールは、ブレンディング処理のためのブレンドモード及びブレンドイメージモードを含む各モードを含み、
前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ（Ｋｈｒｏｎｏｓ Ｇｒｏｕｐ)のオープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)ＡＰＩ標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行うことを特徴とする、請求項７に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項１２】
ベクターグラフィック加速アプリケーションプロセッサの状態を感知し、
前記ベクターグラフィック加速アプリケーションプロセッサのアイドル（ｉｄｏｌ）状態を感知するとき、前記ベクターグラフィック加速アプリケーションプロセッサのハードウェア方式のグラフィックアクセラレータを初期化し、
ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御し、
前記ベクターグラフィックアクセラレータをクローズすることを含むベクター加速方法。
【請求項１３】
前記ベクターグラフィックデータの加速は、
既に処理された命令語の再処理可否を決定する前記ベクターグラフィック加速に使用される各キャッシュをチェックし、
不必要なグラフィック部分を切り捨てる前記ベクターグラフィックデータをシザー処理し、
色相処理を行うためにシザー処理されたベクターグラフィックをレダリング処理することを含むことを特徴とする、請求項１２に記載のベクター加速方法。
【請求項１４】
前記ベクターグラフィック加速アプリケーションプロセッサの状態感知、前記シザー処理及びベクターグラフィックアクセラレータのクローズは、フレーム単位でレジスター値を参照して継続的なループバック（ｌｏｏｐ ｂａｃｋ)機能を行うことを特徴とする、請求項１３に記載のベクター加速方法。
【請求項１５】
前記ベクターグラフィック加速アプリケーションプロセッサの状態を感知した後、フレームバッファをクリア（ｃｌｅａｒ）することをさらに含むことを特徴とする、請求項１２に記載のベクター加速方法。
【請求項１６】
前記ベクターグラフィックデータの加速は、
前記ベクターグラフィック加速アプリケーションプロセッサに含まれたコマンドコア及びパーサーから出た一つ以上の命令語に対応して初期化されたハードウェア方式のベクターグラフィックアクセラレータによって行われることを特徴とする、 請求項１２に記載のベクター加速方法。
【請求項１７】
前記ベクターグラフィックデータの加速は、
前記コマンドコア及びパーサーに連結される、ラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールによって行われ、
前記ラスタライズセットアップモジュール、前記シザーテストモジュール、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、前記ベクターグラフィックアクセラレータ内にパイプライン構造によって共に連結されることを特徴とする、請求項１６に記載のベクター加速方法。
【請求項１８】
前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、それぞれ対応する各キャッシュに連結されており、
前記ベクターグラフィック加速のために、前記コマンドコア及びパーサーを通して前記ベクターグラフィックデータ及び一つ以上の命令語を処理及びパーシングし、ピクセルバッファにピクセルデータを最終的に保存し、前記キャッシュコアを通して前記各キャッシュ及びピクセルバッファの動作のための各命令語を処理し、
キャッシュ制御部及びバッファ制御部で、キャッシュコアの命令語に対応して前記各キャッシュ及び前記ピクセルバッファを制御することを特徴とする、 請求項１７に記載のベクター加速方法。
【請求項１９】
前記ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御するのは、
ベクターグラフィック加速のための一つ以上の命令語が保存されたレジスターセットに保存された値を参照して、前記ペイントジェネレーションモジュール内の各処理部の形態によってパスジェネレーションモジュールを通してパスセグメント命令語を生成し、
再構成された直線ラインをフィルルール（Ｆｉｌｌ Ｒｕｌｅ)に適用するために、併合整列アルゴリズム（Ｍｅｒｇｅ Ｓｏｒｔｉｎｇ ａｌｇｏｒｉｔｈｍ)に基づいて再構成された直線ラインをソーティングすることを特徴とする、請求項１７に記載のベクター加速方法。
【請求項２０】
前記ペイントジェネレーションモジュール内に含まれたソリッド（Ｓｏｌｉｄ)部、イメージ部、パターン部、直線グラディアント（Ｌｉｎｅａｒ Ｇｒａｎｄｉｅｎｔ)部、円形グラディアント（Ｒａｄｉａｌ Ｇｒａｄｉｅｎｔ)部を通してカラー処理を行い、
前記ブレンディングモジュール内に含まれたブレンドモード及びブレンドイメージモードを通してブレンディング処理を行い、
前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ（Ｋｈｒｏｎｏｓ Ｇｒｏｕｐ)のオープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)ＡＰＩ標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行うことを特徴とする、請求項１７に記載のベクター加速方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動通信端末機のアプリケーションプロセッサに関する。
【背景技術】
【０００２】
ベクターグラフィックは、与えられた２次元や３次元空間に線や形象を配置する作業であり、一連の命令や数学的表現を介して対象物体に対するデジタルイメージを作るものである。物理学におけるベクターは大きさと方向を二つとも同時に持つものを言うが、ベクターグラフィックにおけるベクターはビットマップに対応したグラフィックフォーマット方法を意味する。すなわち、ベクターグラフィックでは、ユーザの創作活動の結果物であるグラフィックファイルが一連のベクター記述文の形態で作り出され、保存される。
【０００３】
例えば、ベクターグラフィックファイルには線を描くために各ビットが保存されている代りに、連結される一連の点の位置が保存されている。それによって、ベクターグラフィックファイルは、ビットマップグラフィックファイル又はラスターイメージ（Ｒａｓｔｅｒ Ｉｍａｇｅ)ファイルに比べてファイルのサイズを顕著に減らせる長所がある。また、ベクターグラフィックファイルは、ラスターイメージファイルより修正しやすいという長所がある。
【０００４】
このようなベクターグラフィックを処理するための方法として、一般にソフトウェアレンダリング方式が使われ、韓国のＨＵＯＮＥ（ＡｌｅｘＶＧ)、Ｈｙｂｒｉｄ社のオープンベクターグラフィックを処理するラスターエンジンなどもやはりソフトウェアレンダリング方式を使用している。このような従来のベクターグラフィックエンジンはハードウェア処理ではなく、純粋にソフトウェア処理方式を使うので、速度が遅く、そのためモバイル環境には不向きな面がある。
【０００５】
一方、ベクターグラフィックには拡張性生成言語（ＸＭＬ:ｅｘｔｅｎｓｉｂｌｅ   ｍａｒｋｕｐ ｌａｎｇｕａｇｅ)アプリケーションのような、イメージに対する図形処理を行う可変ベクターグラフィック（ＳＶＧ:ｓｃａｌａｂｌｅ ｖｅｃｔｏｒ ｇｒａｐｈｉｃ)がある。このようなＳＶＧはＷ３Ｃ（Ｗｏｒｌｄ Ｗｉｄｅ Ｗｅｂ Ｃｏｎｓｏｒｔｉｕｍ)によって提案されたＸＭＬグラフィック標準として、ＸＭＬの開放性、相互運用性などの長所をいずれも受容し、ＳＭＩＬ、ＧＭＬ、ＭａｔｈＭＬなど他のＸＭＬ言語と結合されるため、多様なウェブアプリケーションに応用でき、リアルタイムデータから高品質のダイナミックなグラフィックを作ることができる長所を持つ。
【０００６】
それにより、現在ＳＶＧはウェブで大いに使用され、コンテンツも非常に豊富である。しかし、ＳＶＧを駆動するための多くの機能がソフトウェアで処理されるため、モバイル環境では速度が遅くなり、その活用度が減少する面がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明が解決しようとする課題は、アプリケーションプロセッサにおいてオープンベクターグラフィックの各パイプラインをハードウェアで設計することで、ベクターグラフィック処理の実行性能を高め、また、標準として制定されたＯｐｅｎＶＧ ＡＰＩを支援することにより、従来にソフトウェアレンダリング処理で使用していたＯｐｅｎＶＧベクターコンテンツを別途の変換なしに使用できるハードウェア方式のベクターグラフィックアクセラレータ、そのアクセラレータを含むアプリケーションプロセッサ、及びそのプロセッサにおいてグラフィック加速方法を提供することにある。
【課題を解決するための手段】
【０００８】
一実施例として、ハードウェア方式のベクターグラフィックアクセラレータは、制御部と連結されて動作するグラフィック処理モジュールを含む。前記グラフィック処理モジュールは、前記制御部から受けた一つ以上の命令語に従って２Ｄベクターグラフィック加速を行うために、パイプライン構造によって共に連結されるラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール及びブレンディングモジュールのうち少なくとも一つを含む。
【０００９】
これを実行するために、一つ以上の次のような特徴を選択的に含むことができる。前記制御部は、２Ｄベクターグラフィック加速を行うための前記グラフィック処理モジュールを指示するのに使用される前記一つ以上の命令語及びベクターグラフィックデータを処理及びパーシングするコマンドコア及びパーサー（Ｃｏｍｍａｎｄ Ｃｏｒｅ ａｎｄ Ｐａｒｓｅｒ)を含み、前記コマンドコア及びパーサーは、前記一つ以上の命令語を保存するための多数のレジスターを含むレジスターセットと連結されて動作することができる。前記制御部は、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファとを含むことができる。前記各グラフィック処理モジュールは、クロノスグループ（Ｋｈｒｏｎｏｓ Ｇｒｏｕｐ)のオープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)ＡＰＩ標準による各コンテンツを活用することができる。前記オープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)のパイプライン構造によってＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍｍｉｎｇ Ｉｎｔｅｒｆａｃｅ)が設計されており、前記オープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)とグラフィックアクセラレータ間に対するインタフェーシングが合わせられ得る。
【００１０】
他の実施例として、ベクターグラフィック加速アプリケーションプロセッサは、 ベクターグラフィックデータのベクターグラフィック加速のための一つ以上の命令語が保存される多数のレジスターを含むレジスターセットと、前記レジスターセットと連結され、一つ以上の保存された命令語とベクターグラフィックデータを処理及びパーシングする一つ以上のコマンドコア及びパーサー（Ｃｏｍｍａｎｄ Ｃｏｒｅ ａｎｄ Ｐａｒｓｅｒ)を含む制御部と、前記制御部に連結され、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受け、前記ベクターグラフィックデータのベクターグラフィック加速をハードウェア的に処理するハードウェア方式のベクターグラフィックアクセラレータとを含む。
【００１１】
これを実行するために、一つ以上の次の特徴を選択的に含むことができる。前記ハードウェア方式のベクターグラフィックアクセラレータは、パイプライン構造で連結され、一つ以上のラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールを含むグラフィック処理モジュールを含むことができ、前記各グラフィック処理モジュールは、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受けて動作するように設定される。前記ベクターグラフィック加速アプリケーションプロセッサは、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファとをさらに含むことができる。前記コマンドコア及びパーサー、及びキャッシュコアは、ＡＨＢ（Ａｄｖａｎｃｅｄ ＨｉｇＨ‐ｐｅｒｆｏｒｍａｃｅ Ｂｕｓ)スレーブ及びマスターを介してアームコア（Ａｒｍ Ｃｏｒｅ)に連結され得る。前記ベクターグラフィックアクセラレータは、２Ｄグラフィック処理のために、前記レジスターセットに保存されたそれぞれの値を見て前記ペイントジェネレーションモジュール内の各処理部の形態によって２Ｄパスデータを生成するパスジェネレーションモジュールを含むことができ、前記パスジェネレーションモジュールのためのパスセグメントコマンド（Ｐａｔｈ Ｓｅｇｍｅｎｔ Ｃｏｍｍａｎｄｓ)で直線ライン（Ｓｔｒａｉｇｈｔ Ｌｉｎｅ)、ベジェカーブ（Ｂｅｚｉｅｒ Ｃｕｒｖｅｓ)、楕円形アーク（Ｅｌｌｉｐｔｉｃａｌ Ａｒｃｓ)に対するコマンドを含み、前記パスジェネレーションモジュールは、再構成された直線ラインをフィルルール（Ｆｉｌｌ Ｒｕｌｅ)に適用するために、併合整列（Ｍｅｒｇｅ Ｓｏｒｔ)方式のソーティングアルゴリズムによってソーティングすることができる。前記ペイントジェネレーションモジュール内の前記各処理部は、ソリッドカラー処理のためのソリッド（Ｓｏｌｉｄ)部、イメージ部、パターン部、直線グラディアント（Ｌｉｎｅａｒ Ｇｒａｎｄｉｅｎｔ)部、円形グラディアント（Ｒａｄｉａｌ Ｇｒａｄｉｅｎｔ)部を含むことができ、前記ブレンディングモジュールは、ブレンディング処理のためのブレンドモード及びブレンドイメージモードを含む各モードを含むことができる。前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ（Ｋｈｒｏｎｏｓ Ｇｒｏｕｐ)のオープンベクター��クセラレータ（Ｏｐｅｎ  ＶＧ)ＡＰＩ標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行う。
【００１２】
他の実施例として、本発明に係るベクター加速方法は、ベクターグラフィック加速アプリケーションプロセッサの状態を感知し、前記ベクターグラフィック加速アプリケーションプロセッサのアイドル（ｉｄｏｌ）状態を感知するとき、前記ベクターグラフィック加速アプリケーションプロセッサのハードウェア方式のグラフィックアクセラレータを初期化し、ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御し、前記ベクターグラフィックアクセラレータをクローズすることを含む。
【００１３】
これを実行するために、一つ以上の次の特徴を選択的に含むことができる。前記ベクターグラフィックデータの加速は、既に処理された命令語の再処理可否を決定する前記ベクターグラフィック加速に使用される各キャッシュをチェックし、不必要なグラフィック部分を切り捨てる前記ベクターグラフィックデータをシザー処理し、色相処理を行うためにシザー処理されたベクターグラフィックをレダリング処理することを含むことができる。前記ベクター加速方法において、前記ベクターグラフィック加速アプリケーションプロセッサの状態感知、前記シザー処理及びベクターグラフィックアクセラレータのクローズは、フレーム単位でレジスター値を参照して継続的なループバック（ｌｏｏｐ ｂａｃｋ)機能を行うことを特徴とし、前記ベクターグラフィック加速アプリケーションプロセッサの状態を感知した後、フレームバッファをクリア（ｃｌｅａｒ）することをさらに含むことができる。前記ベクターグラフィックデータの加速は、前記ベクターグラフィック加速アプリケーションプロセッサに含まれたコマンドコア及びパーサーから出た一つ以上の命令語に対応して初期化されたハードウェア方式のベクターグラフィックアクセラレータによって行われる。前記ベクターグラフィックデータの加速は、前記コマンドコア及びパーサーに連結される、ラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールによって行われ、前記ラスタライズセットアップモジュール、前記シザーテストモジュール、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、前記ベクターグラフィックアクセラレータ内にパイプライン構造によって共に連結される。前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、それぞれ対応する各キャッシュに連結される。また、前記方法は、前記ベクターグラフィック加速のために、前記コマンドコア及びパーサーを通して前記ベクターグラフィックデータ及び一つ以上の命令語を処理及びパーシングし、ピクセルバッファにピクセルデータを最終的に保存し、前記キャッシュコアを通して前記各キャッシュ及びピクセルバッファの動作のための各命令語を処理し、キャッシュ制御部及びバッファ制御部で、キャッシュコアの命令語に対応して前記各キャッシュ及び前記ピクセルバッファを制御することを含むことができる。前記ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御するのは、ベクターグラフィック加速のための一つ以上の命令語が保存されたレジスターセットに保存された値を参照して、前記ペイントジェネレーションモジュール内の各処理部の形態によってパスジェネレーションモジュールを通してパスセグメント命令語を生成し、再構成された直線ラインをフィルルール（Ｆｉｌｌ Ｒｕｌｅ)に適用するために、併合整列アルゴリズム（Ｍｅｒｇｅ Ｓｏｒｔｉｎｇ ａｌｇｏｒｉｔｈｍ)に基づいて再構成された直線ラインをソーティングすることができる。前記ペ��ントジェネレーションモジュール内に含まれたソリッド（Ｓｏｌｉｄ)部、イメージ部、パターン部、直線グラディアント（Ｌｉｎｅａｒ Ｇｒａｎｄｉｅｎｔ)部、円形グラディアント（Ｒａｄｉａｌ Ｇｒａｄｉｅｎｔ)部を通してカラー処理を行い、前記ブレンディングモジュール内に含まれたブレンドモード及びブレンドイメージモードを通してブレンディング処理を行い、前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ（Ｋｈｒｏｎｏｓ Ｇｒｏｕｐ)のオープンベクターアクセラレータ（Ｏｐｅｎ  ＶＧ)ＡＰＩ標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行うことができる。
【発明の効果】
【００１４】
本明細書で記述する技術、装置及びシステムは、下記のような一つ以上の長所を選択的に提供することができる。ハードウェア方式のベクターグラフィックアクセラレータは、従来のソフトフェアのみのレンダリングに比べて処理速度がより速い。このような処理速度の増加は、モバイル環境で理想的なハードウェアベクターグラフィックアクセラレータを提供する。
【図面の簡単な説明】
【００１５】
【図１ａ】本発明の一実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【図１ｂ】本発明の他の実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【図２】図１ｂのベクターグラフィック加速アプリケーションプロセッサをもう少し詳細的に示すブロック図である。
【図３】図２の二次元ベクター要素を生成する部分の各モジュールをもう少し詳細に示すブロック図である。
【図４】本発明のまた他の実施例によるベクターグラフィック加速方法の過程を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下では、添付された図面を参照して本発明の望ましい実施例を詳しく説明する。以下の説明で、ある構成要素が他の構成要素に連結されると記述される場合、これは他の構成要素と直接連結される場合もあるが、その間に第３の構成要素が介在する場合もある。また、図面で各構成要素の構造や大きさは、説明の便宜及び明確性のために誇張され、説明と関係のない部分は省略する。図面上で同一符号は同じ要素を指す。一方、使用される用語は単に本発明を説明する目的で使われたものであって、意味の限定や特許請求の範囲に記載した本発明の範囲を制限するために使われるものではない。
【００１７】
図１ａは、本発明の一実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【００１８】
図１ａを参照すれば、本実施例によるベクターグラフィック加速アプリケーションプロセッサは、ベクターグラフィック加速のための命令語及びデータを処理する命令語処理部２０００、ベクターグラフィック加速のための命令語が保存されるレジスターセット３０００及び命令語処理部の命令を受けて前記ベクターグラフィック加速をハードウェア的に処理するハードウェア方式のベクターグラフィックアクセラレータ１０００を含む。
【００１９】
命令語処理部２０００は、レジスターセット３０００にセッティングされた命令語を処理及びパーシングするための部分で、命令語を処理するコマンドコア及び命令語をパーシングするコマンドパーサーで構成される。このような命令語処理部２０００は、命令語を介してベクターグラフィックアクセラレータ１０００内の各モジュールをハードウェア的に直接制御する。よって、ベクターグラフィックアクセラレータ１０００は、従来ソフトウェア的に駆動されるときよりも非常に速い速度でベクターグラフィックを処理することができる。命令語処理部２０００は、 ＡＨＢ(Ａｄｖａｎｃｅｄ Ｈｉｇｈ―Ｐｅｒｆｏｒｍａｎｃｅ Ｂｕｓ) スレーブを介してアームコア(ＡＲＭ Ｃｏｒｅ)に連結され、アームコアから命令語と各データを受け取る。また、ベクターグラフィックアクセラレータ１０００は、ベクターグラフィックデータを処理し、連関した出力グラフィックデータを生成するために、一つ以上のグラフィック処理モジュールを含む。ここで、命令語処理部２０００を便宜上‘Ｃｏｍｍａｎｄ Ｃｏｒｅ ＆ Ｐａｒｓｅｒ'と表示する。
【００２０】
レジスターセット３０００は、オープンベクター（ＯｐｅｎＶＧ)に係わるパラメーターであるシザー、レクトアングル（Ｒｅｃｔａｎｇｌｅｓ)、ペイントタイプ（Ｐａｉｎｔ Ｔｙｐｅ)、アルファマスクフラグ、ブレンドモードなどをセッティングする命令語を保存するレジスターで構成される。このようなレジスターセット３０００に保存される命令語は、ソフトウェアドライバーを介してセッティングされる基本値であり、クロノスグループのオープンベクターアクセラレータＡＰＩ標準による各コンテンツを活用できるようにする。
【００２１】
ベクターグラフィックアクセラレータ１０００は、前述した通り命令語処理部２０００を介して直接制御されることにより、アクセラレータ内部のグラフィック処理モジュールがベクターグラフィックをハードウェア的に処理できるグラフィックアクセラレータである。ベクターグラフィックアクセラレータはレンダリングエンジン又はラスターエンジンとも呼ばれるが、グラフィック処理のためのすべてのモジュールを含むため、以下ではベクターグラフィックアクセラレータとして統一して呼ぶ。
【００２２】
一方、図示されたように命令語処理部２０００は、ＡＨＢスレーブを介してアームコアに連結され、アームコアから命令語とデータを受け取る。ベクターグラフィックアクセラレータ１０００に関しては、図２及び図３でもう少し詳しく説明する。
【００２３】
図１ｂは、本発明の他の実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【００２４】
図１ｂを参照すれば、本実施例のベクターグラフィック加速アプリケーションプロセッサは、図１ａのアプリケーションプロセッサと同様な構造を持つが、レジスターセット３０００がベクターグラフィックアクセラレータ１０００ａ内に含まれる構造を持つ。このようなレジスターセット３０００は、命令語処理部２０００及びベクターグラフィックアクセラレータ１０００内の各モジュールと連結されてさえいればアプリケーションプロセッサのどの場所に位置しても構わない。
【００２５】
図２は図１ａ又は１ｂのベクターグラフィック加速アプリケーションプロセッサをもう少し詳細に示すブロック図である。
【００２６】
図２を参照すれば、ベクターグラフィック加速アプリケーションプロセッサは、ベクターグラフィックアクセラレータ１０００と、キャッシュエンジンとして表示された制御部１００００とを含む。制御部１００００は、前記図１ａ 及び１ｂで説明した命令語処理部（Ｃｏｍｍａｎｄ Ｃｏｒｅ ＆ Ｐａｒｓｅｒ)２０００、レジスターセット（図示せず)、ピクセルバッファ５０００、キャッシュメモリ６０００、及びキャッシュメモリ６０００とピクセルバッファ５０００を制御するためのキャッシュ及びバッファ制御部４０００を含む。
【００２７】
ベクターグラフィックアクセラレータ１０００は、ラスタライズセットアップモジュール１１００、シザーテストモジュール１２００、ペイントジェネレーションモジュール１３００、アルファマスクモジュール１４００及びブレンディングモジュール１５００を含む。
【００２８】
このようなベクターグラフィックアクセラレータ１０００は、各モジュールがパイプライン構造で連結され、グラフィック処理を実行する。各モジュールは該当のグラフィックデータを生成し、ブレンディングモジュール１５００を経て出力された最終ピクセルデータは、ピクセルキャッシュ６４００にしばらく保存されてから画面に映像を生成するためにピクセルバッファ５０００又はフレームバッファに最終的に保存される。
【００２９】
ここで、ラスタライズセットアップモジュール１１００は、グラフィック処理をする対象物体に対する基本座標値をセットアップし、シザーテストモジュール１２００は、不必要なグラフィック部分を検査して切り捨てる。ペイントジェネレーションモジュール１３００は、各ペイントタイプによってフレームバッファ座標にカラー値を使用する。アルファマスクモジュール１４００は投映効果のためのアルファマスキング処理をし、ブレンディングモジュール１５００は二つのテキスチャ、例えば色を合せた効果に対するデータを生成する。一般的に、グラフィック処理に対する実際の作業が実行されるペイントジェネレーションモジュールからのグラフィック処理をレンダリング処理と呼ぶ。
【００３０】
一方、ラスタライズセットアップモジュール１１００には、パス生成器（Ｐａｔｈ Ｇｅｎｅｒａｔｉｏｎ)モジュール１１５０が含まれる。オープンベクターでパスセグメントコマンドは、大きくは直線、ベジェカーブ、楕円形アークなどに対するコマンドで構成される。このようなパスセグメントコマンドのうち、ベジェカーブ、円形アークは直線ラインに再構成され、このような直線ラインはパス生成器モジュール１１５０でフィルルールを適用するためにソーティングされる。本発明では、直線ラインソーティングとして多数のＳＯＲＴＩＮＧアルゴリズムのうち併合整列方法を利用することにより、メモリのアクセス頻度を減らし、キャッシュサイズの大きさを最小化する。
【００３１】
キャッシュメモリ６０００は、ペイントジェネレーションモジュール１３００に利用されるイメージキャッシュ６１００、アルファマスクモジュール１４００に利用されるアルファマスクキャッシュ６２００、前記ブレンディングモジュール１５００に利用されるアルファキャッシュ６３００、及び前記ブレンディングモジュールを介して最終的に生成されたピクセルデータを保存するピクセルキャッシュ６４００を含む。このようなイメージ、アルファマスク、及びアルファキャッシュ６１００、６２００、６３００はベクターグラフィックアクセラレータ１０００の該当モジュールにグラフィック処理のためのキャッシュデータを提供する。すなわち、キャッシュメモリ６０００への読み取り及び書き取り（Ｒｅａｄ／Ｗｒｉｔｅ)を介してデータがキャッシュメモリに入出力される。
【００３２】
キャッシュ及びバッファ制御部４０００は、キャッシュメモリ６０００のキャッシュを制御するためのキャッシュ制御部４１００、ピクセルバッファ５０００を制御するためのバッファ制御部４３００、キャッシュ制御部４１００、及びバッファ制御部４３００に制御命令を伝達するキャッシュコア４２００を含む。すなわち、キャッシュ及びバッファ制御部４０００は、キャッシュメモリ６０００の各キャッシュとピクセルバッファ５０００を全般的に制御する。
【００３３】
一方、図示したように命令語処理部２０００及びキャッシュコア４２００は、それぞれＡＨＢスレーブ及びマスターを介してアームコア（図示せず)に連結され、アームコアからグラフィック加速のための命令語及びデータを伝達される。
【００３４】
図３は、図２の二次元ベクター要素を生成する部分のモジュールをもう少し詳細に示すブロック図である。すなわち、ペイントジェネレーションモジュール１３００、アルファマスキングモジュール１４００及びブレンディングモジュール１５００をもう少し詳しく示している。
【００３５】
図３を参照すれば、まず、ペイントジェネレーションモジュール１３００は、各ペイントタイプによってフレームバッファ座標にカラー値を使用する過程を担当する。このようなペイントジェネレーションモジュール１３００は、ソリッドカラー処理のためのソリッド部１３１０、直線及び円形に対するグラディアント処理をする直線グラディアント部１３４０、円形グラディアント部１３５０、イメージ部１３２０、及びパターン部１３３０を含む。
【００３６】
ここで、ソリッド部１３１０は対象物体（Ｏｂｊｅｃｔ)に単一色を塗って、直線グラディアント部１３４０は与えられたパラメータの二点（（ｘ０、 ｙ０)、（ｘ１、 ｙ１))を繋ぐ線とフレームバッファ座標との相関関係を求め、２５６個のカラーランプ（Ｃｏｌｏｒ Ｒａｍｐ)値にマッピングする。一方、円形グラディアント部１３５０は円の中心点（（ｃｘ、ｃｙ))、フォーカシング点（（ｆｘ、ｆｙ))、半径（ｒ)を利用してカラーランプ値にマッピングする。パターンとイメージ部１３２０、１３３０では与えられたイメージに対する補間（Ｉｎｔｅｒｐｏｌａｔｉｏｎ)を実行してフレームバッファ座標の色を求める。
【００３７】
このようにペイントジェネレーションモジュール１３００内の各カラー処理部で求められたカラーベクター要素によって、タイルスプレッド（Ｔｉｌｅｓｐｒｅａｄ)部１３２５及びスプレッド部１３４５でタイル及びスプレッド処理が実行される。タイル処理としてはリフレクト（Ｒｅｆｌｅｃｔ)、パッド（Ｐａｄ)、フィル（Ｆｉｌｌ)、リピート（Ｒｅｐｅａｔ)処理があり、スプレッド処理にはリフレクト、パッド、リピート処理がある。
【００３８】
アルファマスキング部１４００は、レジスターのマスクフラグをチェックしてアルファマスクキャッシュから読み込んだアルファ値を利用してマスキングをする。
【００３９】
最後に、ブレンディングモジュール１５００は、ベクターグラフィックアクセラレータの最終ピクセルブレンディングを処理する過程であり、オープンベクターアクセラレータではペイントタイプによってブレンドモードとイメージモードに分けられる。各モードは図示されたようなさまざまなブレンディング処理を実行することができる。
【００４０】
上述した各モジュールに対する機能は、オープンベクターＡＰＩ標準に規定されている。よって、カラー処理やブレンディング処理技法などに関するさらに詳しい説明は省略する。
【００４１】
本発明のベクターグラフィック加速アプリケーションプロセッサは、図２及び３に図示されているようにオープンベクターＡＰＩ標準に付いている多様なコンテンツを活用するように設計される。すなわち、本発明のアプリケーションプロセッサ内のベクターグラフィックアクセラレータは、クロノスグループのオープンベクターアクセラレータのパイプライン形態によってＡＰＩが設計され、また、オープンベクターアクセラレータとグラフィックアクセラレータ間に対するインタフェーシングが合うように設計される。
【００４２】
図４は、本発明の他の実施例によるベクターグラフィック加速方法の過程を示すフローチャートである。すなわち、ハードウェアベクターグラフィックアクセラレータに対する全体のＦＳＭ（Ｆｉｎｉｔｅ Ｓｔａｔｅ Ｍａｃｈｉｎｅ)を示すと言える。このようなＦＳＭはハードウェア制御及び駆動のために命令語処理部で各種レジスターを参考し、命令とデータを適切な時間に読み込む役割を実行する。それによって、ベクターアクセラレータのグラフィック処理速度を高める。
【００４３】
図４を参照すれば、まずハードウェア（Ｈ/Ｗ)プロセッサのアイドル状態をチェックする（Ｓ１００）。ここで、アイドルチェックとは、該当のハードウェアプロセッサが動作中であるかそれとも休止中であるかを判断することをいう。一方、ハードウェアプロセッサは、前述したハードウェア方式のベクターグラフィックアクセラレータを含むアプリケーションプロセッサを意味する。
【００４４】
ハードウェアプロセッサがアイドル状態の場合、ハードウェア方式のベクターグラフィックアクセラレータを初期化する（Ｓ１１０）。
【００４５】
次に、グラフィックの実行に利用されるキャッシュのダーティー（ｄｉｒｔｙ)チェックをする（Ｓ１２０）。ここで、ダーティーチェックとは、一度駆動された命令語の再処理可否を判断することをいい、このようなダーティーチェックをアクセラレータの実行前にする理由は、既に一度処理された命令語の中で繰り返される命令語は再びアクセラレータを介して処理する必要なしに、キャッシュデータを利用して速い速度ですぐに処理するようにするためである。
【００４６】
ダーティーチェックの後、必要なグラフィック部分のみを切り捨てるシザー処理を実行する（Ｓ１３０）。すなわち、シザー処理のためのデータを読み込み、状態を判別した後に該当部分を切り捨てる。
【００４７】
シザー処理後に、ベクターグラフィックアクセラレータが実際のグラフィック処理作業、すなわちレンダリング処理を実行する（Ｓ１４０）。前で、図１〜３を介して詳しく説明したように、この段階でのグラフィック処理はベクターグラフィックアクセラレータ内のそれぞれのモジュールなどが命令語処理部及びレジスターセットに連結されることにより、ハードウェア的に高速のグラフィック処理が実行されることを意味する。ここで、図面上レンダリングと表現したが、このようなレンダリング処理はラスタライズセットアップ及びシザー処理を除いた二次元ベクター要素を生成するペイントジェネレーション、アルファマスキング、及びブレンディング処理を意味する。
【００４８】
グラフィック処理が完了すれば、ベクターグラフィックアクセラレータをクローズする（Ｓ１５０）。グラフィックアクセラレータのクローズはレジスターのグラフィック状態モードによって決まる。図示されたように、ベクターグラフィックアクセラレータがクローズされれば、他のグラフィック処理が必要か判断し（Ｓ１６０）、必要な場合は再びプロセッサアイドルチェック（Ｓ１００）に戻り、不必要な場合にはグラフィック処理を終了する。
【００４９】
一方、アイドル状態チェック（Ｓ１００）後、グラフィック処理とは別個でフレームバッファをクリアするクリアオペレーションを実行する（Ｓ１７０）。このようなクリアオペレーションはグラフィック処理中に実行され、グラフィック処理が終わればクリアオペレーションも終了する。
【００５０】
一方、先立って各段階の実行のうち、アイドルチェック（Ｓ１００）、クリアオペレーション（Ｓ１７０）、及びベクターグラフィックアクセラレータクローズ（Ｓ１５０）は、その終了可否を加速エンジンレベルでフレーム別にレジスター値を参照して判断し、終了していない時には継続して実行する。すなわち、図示したように継続的なループバック機能を実行する。
【００５１】
本発明に係るハードウェア方式のベクターグラフィックアクセラレータ、そのアクセラレータを含むアプリケーションプロセッサ、及びそのプロセッサにおいてグラフィック加速方法は、既存のソフトウェアレンダリング方式を脱してハードウェア処理器を設計し、移動通信端末機のアプリケーションプロセッサでアクセラレータを支援することでソフトウェアレンダリングの限界点を克服し、同時に速い実行速度が可能になって、さらに良い高品質のベクターコンテンツ処理ができるようにする。
【００５２】
また、ベクターグラフィックのレンダリング部分（アクセラレータ)をハードウェア的に設計し、ソフトウェア制御は現在国際的に標準として認められたクロノスグループのＯｐｅｎＶＧのパイプライン形態によってＡＰＩ設計し、また、ハードウェアアクセラレータ間のインタフェーシングを合わせることにより、オープンベクターＡＰＩの標準に合った多様なベクターコンテンツを駆動可能にできる。
【００５３】
以上、本発明を図面に表示された実施例を参照して説明したが、これは例示的なものに過ぎず、本技術分野の通常の知識を有する者であれば今後多様な変形及び均等な他の実施例が可能であるという点を理解するであろう。したがって、本発明の真正な技術的保護範囲は添付された特許請求範囲の技術的思想によって決めなければならない。
【産業上の利用可能性】
【００５４】
本発明は、移動通信端末機のアプリケーションプロセッサに関するものである。本明細書で記述する技術、装置及びシステムは、下記のような一つ以上の長所を選択的に提供することができる。ハードウェア方式のベクターグラフィックアクセラレータは、従来のソフトフェアのみのレンダリングに比べて処理速度がより速い。このような処理速度の増加は、モバイル環境で理想的なハードウェアベクターグラフィックアクセラレータを提供する。
【符号の説明】
【００５５】
１０００：ベクターグラフィックアクセラレータ、２０００：命令語処理部、３０００：レジスターセット 
【図１ａ】
2011520184.tif 000003
【図１ｂ】
2011520184.tif 000004
【図２】
2011520184.tif 000005
【図３】
2011520184.tif 000006
【図４】
2011520184.tif 000007
【国際調査報告】
2011520184.tif 000008
2011520184.tif 000009