説明

ハードウェア方式のベクターグラフィックアクセラレータ

【課題】
本発明は、アプリケーションプロセッサにおいてオープンベクターグラフィックの各パイプラインをハードウェアで設計することにより、ベクターグラフィック処理の実行性能を高め、また、標準として制定されたOpenVG APIを支援することにより、従来にソフトウェアレンダリング処理で使用していたOpenVGベクターコンテンツを別途の変換なしに使用できるハードウェア方式のベクターグラフィックアクセラレータ、そのアクセラレータを含むアプリケーションプロセッサ、及びそのプロセッサにおいてグラフィック加速方法を提供する。
【解決手段】
ハードウェアグラフィックアクセラレータは、制御部と連結されて動作するグラフィック処理モジュールを含む。前記グラフィック処理モジュールは、前記制御部から受けた一つ以上の命令語に従って2Dベクターグラフィック加速を行うために、パイプライン構造によって共に連結されるラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール及びブレンディングモジュールのうち少なくとも一つを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動通信端末機のアプリケーションプロセッサに関する。
【背景技術】
【0002】
ベクターグラフィックは、与えられた2次元や3次元空間に線や形象を配置する作業であり、一連の命令や数学的表現を介して対象物体に対するデジタルイメージを作るものである。物理学におけるベクターは大きさと方向を二つとも同時に持つものを言うが、ベクターグラフィックにおけるベクターはビットマップに対応したグラフィックフォーマット方法を意味する。すなわち、ベクターグラフィックでは、ユーザの創作活動の結果物であるグラフィックファイルが一連のベクター記述文の形態で作り出され、保存される。
【0003】
例えば、ベクターグラフィックファイルには線を描くために各ビットが保存されている代りに、連結される一連の点の位置が保存されている。それによって、ベクターグラフィックファイルは、ビットマップグラフィックファイル又はラスターイメージ(Raster Image)ファイルに比べてファイルのサイズを顕著に減らせる長所がある。また、ベクターグラフィックファイルは、ラスターイメージファイルより修正しやすいという長所がある。
【0004】
このようなベクターグラフィックを処理するための方法として、一般にソフトウェアレンダリング方式が使われ、韓国のHUONE(AlexVG)、Hybrid社のオープンベクターグラフィックを処理するラスターエンジンなどもやはりソフトウェアレンダリング方式を使用している。このような従来のベクターグラフィックエンジンはハードウェア処理ではなく、純粋にソフトウェア処理方式を使うので、速度が遅く、そのためモバイル環境には不向きな面がある。
【0005】
一方、ベクターグラフィックには拡張性生成言語(XML:extensible markup language)アプリケーションのような、イメージに対する図形処理を行う可変ベクターグラフィック(SVG:scalable vector graphic)がある。このようなSVGはW3C(World Wide Web Consortium)によって提案されたXMLグラフィック標準として、XMLの開放性、相互運用性などの長所をいずれも受容し、SMIL、GML、MathMLなど他のXML言語と結合されるため、多様なウェブアプリケーションに応用でき、リアルタイムデータから高品質のダイナミックなグラフィックを作ることができる長所を持つ。
【0006】
それにより、現在SVGはウェブで大いに使用され、コンテンツも非常に豊富である。しかし、SVGを駆動するための多くの機能がソフトウェアで処理されるため、モバイル環境では速度が遅くなり、その活用度が減少する面がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本発明が解決しようとする課題は、アプリケーションプロセッサにおいてオープンベクターグラフィックの各パイプラインをハードウェアで設計することで、ベクターグラフィック処理の実行性能を高め、また、標準として制定されたOpenVG APIを支援することにより、従来にソフトウェアレンダリング処理で使用していたOpenVGベクターコンテンツを別途の変換なしに使用できるハードウェア方式のベクターグラフィックアクセラレータ、そのアクセラレータを含むアプリケーションプロセッサ、及びそのプロセッサにおいてグラフィック加速方法を提供することにある。
【課題を解決するための手段】
【0008】
一実施例として、ハードウェア方式のベクターグラフィックアクセラレータは、制御部と連結されて動作するグラフィック処理モジュールを含む。前記グラフィック処理モジュールは、前記制御部から受けた一つ以上の命令語に従って2Dベクターグラフィック加速を行うために、パイプライン構造によって共に連結されるラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール及びブレンディングモジュールのうち少なくとも一つを含む。
【0009】
これを実行するために、一つ以上の次のような特徴を選択的に含むことができる。前記制御部は、2Dベクターグラフィック加速を行うための前記グラフィック処理モジュールを指示するのに使用される前記一つ以上の命令語及びベクターグラフィックデータを処理及びパーシングするコマンドコア及びパーサー(Command Core and Parser)を含み、前記コマンドコア及びパーサーは、前記一つ以上の命令語を保存するための多数のレジスターを含むレジスターセットと連結されて動作することができる。前記制御部は、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファとを含むことができる。前記各グラフィック処理モジュールは、クロノスグループ(Khronos Group)のオープンベクターアクセラレータ(Open VG)API標準による各コンテンツを活用することができる。前記オープンベクターアクセラレータ(Open VG)のパイプライン構造によってAPI(Application Programming Interface)が設計されており、前記オープンベクターアクセラレータ(Open VG)とグラフィックアクセラレータ間に対するインタフェーシングが合わせられ得る。
【0010】
他の実施例として、ベクターグラフィック加速アプリケーションプロセッサは、 ベクターグラフィックデータのベクターグラフィック加速のための一つ以上の命令語が保存される多数のレジスターを含むレジスターセットと、前記レジスターセットと連結され、一つ以上の保存された命令語とベクターグラフィックデータを処理及びパーシングする一つ以上のコマンドコア及びパーサー(Command Core and Parser)を含む制御部と、前記制御部に連結され、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受け、前記ベクターグラフィックデータのベクターグラフィック加速をハードウェア的に処理するハードウェア方式のベクターグラフィックアクセラレータとを含む。
【0011】
これを実行するために、一つ以上の次の特徴を選択的に含むことができる。前記ハードウェア方式のベクターグラフィックアクセラレータは、パイプライン構造で連結され、一つ以上のラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールを含むグラフィック処理モジュールを含むことができ、前記各グラフィック処理モジュールは、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受けて動作するように設定される。前記ベクターグラフィック加速アプリケーションプロセッサは、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファとをさらに含むことができる。前記コマンドコア及びパーサー、及びキャッシュコアは、AHB(Advanced HigH‐performace Bus)スレーブ及びマスターを介してアームコア(Arm Core)に連結され得る。前記ベクターグラフィックアクセラレータは、2Dグラフィック処理のために、前記レジスターセットに保存されたそれぞれの値を見て前記ペイントジェネレーションモジュール内の各処理部の形態によって2Dパスデータを生成するパスジェネレーションモジュールを含むことができ、前記パスジェネレーションモジュールのためのパスセグメントコマンド(Path Segment Commands)で直線ライン(Straight Line)、ベジェカーブ(Bezier Curves)、楕円形アーク(Elliptical Arcs)に対するコマンドを含み、前記パスジェネレーションモジュールは、再構成された直線ラインをフィルルール(Fill Rule)に適用するために、併合整列(Merge Sort)方式のソーティングアルゴリズムによってソーティングすることができる。前記ペイントジェネレーションモジュール内の前記各処理部は、ソリッドカラー処理のためのソリッド(Solid)部、イメージ部、パターン部、直線グラディアント(Linear Grandient)部、円形グラディアント(Radial Gradient)部を含むことができ、前記ブレンディングモジュールは、ブレンディング処理のためのブレンドモード及びブレンドイメージモードを含む各モードを含むことができる。前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ(Khronos Group)のオープンベクターアクセラレータ(Open VG)API標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行う。
【0012】
他の実施例として、本発明に係るベクター加速方法は、ベクターグラフィック加速アプリケーションプロセッサの状態を感知し、前記ベクターグラフィック加速アプリケーションプロセッサのアイドル(idol)状態を感知するとき、前記ベクターグラフィック加速アプリケーションプロセッサのハードウェア方式のグラフィックアクセラレータを初期化し、ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御し、前記ベクターグラフィックアクセラレータをクローズすることを含む。
【0013】
これを実行するために、一つ以上の次の特徴を選択的に含むことができる。前記ベクターグラフィックデータの加速は、既に処理された命令語の再処理可否を決定する前記ベクターグラフィック加速に使用される各キャッシュをチェックし、不必要なグラフィック部分を切り捨てる前記ベクターグラフィックデータをシザー処理し、色相処理を行うためにシザー処理されたベクターグラフィックをレダリング処理することを含むことができる。前記ベクター加速方法において、前記ベクターグラフィック加速アプリケーションプロセッサの状態感知、前記シザー処理及びベクターグラフィックアクセラレータのクローズは、フレーム単位でレジスター値を参照して継続的なループバック(loop back)機能を行うことを特徴とし、前記ベクターグラフィック加速アプリケーションプロセッサの状態を感知した後、フレームバッファをクリア(clear)することをさらに含むことができる。前記ベクターグラフィックデータの加速は、前記ベクターグラフィック加速アプリケーションプロセッサに含まれたコマンドコア及びパーサーから出た一つ以上の命令語に対応して初期化されたハードウェア方式のベクターグラフィックアクセラレータによって行われる。前記ベクターグラフィックデータの加速は、前記コマンドコア及びパーサーに連結される、ラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールによって行われ、前記ラスタライズセットアップモジュール、前記シザーテストモジュール、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、前記ベクターグラフィックアクセラレータ内にパイプライン構造によって共に連結される。前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、それぞれ対応する各キャッシュに連結される。また、前記方法は、前記ベクターグラフィック加速のために、前記コマンドコア及びパーサーを通して前記ベクターグラフィックデータ及び一つ以上の命令語を処理及びパーシングし、ピクセルバッファにピクセルデータを最終的に保存し、前記キャッシュコアを通して前記各キャッシュ及びピクセルバッファの動作のための各命令語を処理し、キャッシュ制御部及びバッファ制御部で、キャッシュコアの命令語に対応して前記各キャッシュ及び前記ピクセルバッファを制御することを含むことができる。前記ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御するのは、ベクターグラフィック加速のための一つ以上の命令語が保存されたレジスターセットに保存された値を参照して、前記ペイントジェネレーションモジュール内の各処理部の形態によってパスジェネレーションモジュールを通してパスセグメント命令語を生成し、再構成された直線ラインをフィルルール(Fill Rule)に適用するために、併合整列アルゴリズム(Merge Sorting algorithm)に基づいて再構成された直線ラインをソーティングすることができる。前記ペイントジェネレーションモジュール内に含まれたソリッド(Solid)部、イメージ部、パターン部、直線グラディアント(Linear Grandient)部、円形グラディアント(Radial Gradient)部を通してカラー処理を行い、前記ブレンディングモジュール内に含まれたブレンドモード及びブレンドイメージモードを通してブレンディング処理を行い、前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ(Khronos Group)のオープンベクターアクセラレータ(Open VG)API標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行うことができる。
【発明の効果】
【0014】
本明細書で記述する技術、装置及びシステムは、下記のような一つ以上の長所を選択的に提供することができる。ハードウェア方式のベクターグラフィックアクセラレータは、従来のソフトフェアのみのレンダリングに比べて処理速度がより速い。このような処理速度の増加は、モバイル環境で理想的なハードウェアベクターグラフィックアクセラレータを提供する。
【図面の簡単な説明】
【0015】
【図1a】本発明の一実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【図1b】本発明の他の実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【図2】図1bのベクターグラフィック加速アプリケーションプロセッサをもう少し詳細的に示すブロック図である。
【図3】図2の二次元ベクター要素を生成する部分の各モジュールをもう少し詳細に示すブロック図である。
【図4】本発明のまた他の実施例によるベクターグラフィック加速方法の過程を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下では、添付された図面を参照して本発明の望ましい実施例を詳しく説明する。以下の説明で、ある構成要素が他の構成要素に連結されると記述される場合、これは他の構成要素と直接連結される場合もあるが、その間に第3の構成要素が介在する場合もある。また、図面で各構成要素の構造や大きさは、説明の便宜及び明確性のために誇張され、説明と関係のない部分は省略する。図面上で同一符号は同じ要素を指す。一方、使用される用語は単に本発明を説明する目的で使われたものであって、意味の限定や特許請求の範囲に記載した本発明の範囲を制限するために使われるものではない。
【0017】
図1aは、本発明の一実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【0018】
図1aを参照すれば、本実施例によるベクターグラフィック加速アプリケーションプロセッサは、ベクターグラフィック加速のための命令語及びデータを処理する命令語処理部2000、ベクターグラフィック加速のための命令語が保存されるレジスターセット3000及び命令語処理部の命令を受けて前記ベクターグラフィック加速をハードウェア的に処理するハードウェア方式のベクターグラフィックアクセラレータ1000を含む。
【0019】
命令語処理部2000は、レジスターセット3000にセッティングされた命令語を処理及びパーシングするための部分で、命令語を処理するコマンドコア及び命令語をパーシングするコマンドパーサーで構成される。このような命令語処理部2000は、命令語を介してベクターグラフィックアクセラレータ1000内の各モジュールをハードウェア的に直接制御する。よって、ベクターグラフィックアクセラレータ1000は、従来ソフトウェア的に駆動されるときよりも非常に速い速度でベクターグラフィックを処理することができる。命令語処理部2000は、 AHB(Advanced High―Performance Bus) スレーブを介してアームコア(ARM Core)に連結され、アームコアから命令語と各データを受け取る。また、ベクターグラフィックアクセラレータ1000は、ベクターグラフィックデータを処理し、連関した出力グラフィックデータを生成するために、一つ以上のグラフィック処理モジュールを含む。ここで、命令語処理部2000を便宜上‘Command Core & Parser'と表示する。
【0020】
レジスターセット3000は、オープンベクター(OpenVG)に係わるパラメーターであるシザー、レクトアングル(Rectangles)、ペイントタイプ(Paint Type)、アルファマスクフラグ、ブレンドモードなどをセッティングする命令語を保存するレジスターで構成される。このようなレジスターセット3000に保存される命令語は、ソフトウェアドライバーを介してセッティングされる基本値であり、クロノスグループのオープンベクターアクセラレータAPI標準による各コンテンツを活用できるようにする。
【0021】
ベクターグラフィックアクセラレータ1000は、前述した通り命令語処理部2000を介して直接制御されることにより、アクセラレータ内部のグラフィック処理モジュールがベクターグラフィックをハードウェア的に処理できるグラフィックアクセラレータである。ベクターグラフィックアクセラレータはレンダリングエンジン又はラスターエンジンとも呼ばれるが、グラフィック処理のためのすべてのモジュールを含むため、以下ではベクターグラフィックアクセラレータとして統一して呼ぶ。
【0022】
一方、図示されたように命令語処理部2000は、AHBスレーブを介してアームコアに連結され、アームコアから命令語とデータを受け取る。ベクターグラフィックアクセラレータ1000に関しては、図2及び図3でもう少し詳しく説明する。
【0023】
図1bは、本発明の他の実施例によるベクターグラフィック加速アプリケーションプロセッサを概略的に示すブロック図である。
【0024】
図1bを参照すれば、本実施例のベクターグラフィック加速アプリケーションプロセッサは、図1aのアプリケーションプロセッサと同様な構造を持つが、レジスターセット3000がベクターグラフィックアクセラレータ1000a内に含まれる構造を持つ。このようなレジスターセット3000は、命令語処理部2000及びベクターグラフィックアクセラレータ1000内の各モジュールと連結されてさえいればアプリケーションプロセッサのどの場所に位置しても構わない。
【0025】
図2は図1a又は1bのベクターグラフィック加速アプリケーションプロセッサをもう少し詳細に示すブロック図である。
【0026】
図2を参照すれば、ベクターグラフィック加速アプリケーションプロセッサは、ベクターグラフィックアクセラレータ1000と、キャッシュエンジンとして表示された制御部10000とを含む。制御部10000は、前記図1a 及び1bで説明した命令語処理部(Command Core & Parser)2000、レジスターセット(図示せず)、ピクセルバッファ5000、キャッシュメモリ6000、及びキャッシュメモリ6000とピクセルバッファ5000を制御するためのキャッシュ及びバッファ制御部4000を含む。
【0027】
ベクターグラフィックアクセラレータ1000は、ラスタライズセットアップモジュール1100、シザーテストモジュール1200、ペイントジェネレーションモジュール1300、アルファマスクモジュール1400及びブレンディングモジュール1500を含む。
【0028】
このようなベクターグラフィックアクセラレータ1000は、各モジュールがパイプライン構造で連結され、グラフィック処理を実行する。各モジュールは該当のグラフィックデータを生成し、ブレンディングモジュール1500を経て出力された最終ピクセルデータは、ピクセルキャッシュ6400にしばらく保存されてから画面に映像を生成するためにピクセルバッファ5000又はフレームバッファに最終的に保存される。
【0029】
ここで、ラスタライズセットアップモジュール1100は、グラフィック処理をする対象物体に対する基本座標値をセットアップし、シザーテストモジュール1200は、不必要なグラフィック部分を検査して切り捨てる。ペイントジェネレーションモジュール1300は、各ペイントタイプによってフレームバッファ座標にカラー値を使用する。アルファマスクモジュール1400は投映効果のためのアルファマスキング処理をし、ブレンディングモジュール1500は二つのテキスチャ、例えば色を合せた効果に対するデータを生成する。一般的に、グラフィック処理に対する実際の作業が実行されるペイントジェネレーションモジュールからのグラフィック処理をレンダリング処理と呼ぶ。
【0030】
一方、ラスタライズセットアップモジュール1100には、パス生成器(Path Generation)モジュール1150が含まれる。オープンベクターでパスセグメントコマンドは、大きくは直線、ベジェカーブ、楕円形アークなどに対するコマンドで構成される。このようなパスセグメントコマンドのうち、ベジェカーブ、円形アークは直線ラインに再構成され、このような直線ラインはパス生成器モジュール1150でフィルルールを適用するためにソーティングされる。本発明では、直線ラインソーティングとして多数のSORTINGアルゴリズムのうち併合整列方法を利用することにより、メモリのアクセス頻度を減らし、キャッシュサイズの大きさを最小化する。
【0031】
キャッシュメモリ6000は、ペイントジェネレーションモジュール1300に利用されるイメージキャッシュ6100、アルファマスクモジュール1400に利用されるアルファマスクキャッシュ6200、前記ブレンディングモジュール1500に利用されるアルファキャッシュ6300、及び前記ブレンディングモジュールを介して最終的に生成されたピクセルデータを保存するピクセルキャッシュ6400を含む。このようなイメージ、アルファマスク、及びアルファキャッシュ6100、6200、6300はベクターグラフィックアクセラレータ1000の該当モジュールにグラフィック処理のためのキャッシュデータを提供する。すなわち、キャッシュメモリ6000への読み取り及び書き取り(Read/Write)を介してデータがキャッシュメモリに入出力される。
【0032】
キャッシュ及びバッファ制御部4000は、キャッシュメモリ6000のキャッシュを制御するためのキャッシュ制御部4100、ピクセルバッファ5000を制御するためのバッファ制御部4300、キャッシュ制御部4100、及びバッファ制御部4300に制御命令を伝達するキャッシュコア4200を含む。すなわち、キャッシュ及びバッファ制御部4000は、キャッシュメモリ6000の各キャッシュとピクセルバッファ5000を全般的に制御する。
【0033】
一方、図示したように命令語処理部2000及びキャッシュコア4200は、それぞれAHBスレーブ及びマスターを介してアームコア(図示せず)に連結され、アームコアからグラフィック加速のための命令語及びデータを伝達される。
【0034】
図3は、図2の二次元ベクター要素を生成する部分のモジュールをもう少し詳細に示すブロック図である。すなわち、ペイントジェネレーションモジュール1300、アルファマスキングモジュール1400及びブレンディングモジュール1500をもう少し詳しく示している。
【0035】
図3を参照すれば、まず、ペイントジェネレーションモジュール1300は、各ペイントタイプによってフレームバッファ座標にカラー値を使用する過程を担当する。このようなペイントジェネレーションモジュール1300は、ソリッドカラー処理のためのソリッド部1310、直線及び円形に対するグラディアント処理をする直線グラディアント部1340、円形グラディアント部1350、イメージ部1320、及びパターン部1330を含む。
【0036】
ここで、ソリッド部1310は対象物体(Object)に単一色を塗って、直線グラディアント部1340は与えられたパラメータの二点((x0、 y0)、(x1、 y1))を繋ぐ線とフレームバッファ座標との相関関係を求め、256個のカラーランプ(Color Ramp)値にマッピングする。一方、円形グラディアント部1350は円の中心点((cx、cy))、フォーカシング点((fx、fy))、半径(r)を利用してカラーランプ値にマッピングする。パターンとイメージ部1320、1330では与えられたイメージに対する補間(Interpolation)を実行してフレームバッファ座標の色を求める。
【0037】
このようにペイントジェネレーションモジュール1300内の各カラー処理部で求められたカラーベクター要素によって、タイルスプレッド(Tilespread)部1325及びスプレッド部1345でタイル及びスプレッド処理が実行される。タイル処理としてはリフレクト(Reflect)、パッド(Pad)、フィル(Fill)、リピート(Repeat)処理があり、スプレッド処理にはリフレクト、パッド、リピート処理がある。
【0038】
アルファマスキング部1400は、レジスターのマスクフラグをチェックしてアルファマスクキャッシュから読み込んだアルファ値を利用してマスキングをする。
【0039】
最後に、ブレンディングモジュール1500は、ベクターグラフィックアクセラレータの最終ピクセルブレンディングを処理する過程であり、オープンベクターアクセラレータではペイントタイプによってブレンドモードとイメージモードに分けられる。各モードは図示されたようなさまざまなブレンディング処理を実行することができる。
【0040】
上述した各モジュールに対する機能は、オープンベクターAPI標準に規定されている。よって、カラー処理やブレンディング処理技法などに関するさらに詳しい説明は省略する。
【0041】
本発明のベクターグラフィック加速アプリケーションプロセッサは、図2及び3に図示されているようにオープンベクターAPI標準に付いている多様なコンテンツを活用するように設計される。すなわち、本発明のアプリケーションプロセッサ内のベクターグラフィックアクセラレータは、クロノスグループのオープンベクターアクセラレータのパイプライン形態によってAPIが設計され、また、オープンベクターアクセラレータとグラフィックアクセラレータ間に対するインタフェーシングが合うように設計される。
【0042】
図4は、本発明の他の実施例によるベクターグラフィック加速方法の過程を示すフローチャートである。すなわち、ハードウェアベクターグラフィックアクセラレータに対する全体のFSM(Finite State Machine)を示すと言える。このようなFSMはハードウェア制御及び駆動のために命令語処理部で各種レジスターを参考し、命令とデータを適切な時間に読み込む役割を実行する。それによって、ベクターアクセラレータのグラフィック処理速度を高める。
【0043】
図4を参照すれば、まずハードウェア(H/W)プロセッサのアイドル状態をチェックする(S100)。ここで、アイドルチェックとは、該当のハードウェアプロセッサが動作中であるかそれとも休止中であるかを判断することをいう。一方、ハードウェアプロセッサは、前述したハードウェア方式のベクターグラフィックアクセラレータを含むアプリケーションプロセッサを意味する。
【0044】
ハードウェアプロセッサがアイドル状態の場合、ハードウェア方式のベクターグラフィックアクセラレータを初期化する(S110)。
【0045】
次に、グラフィックの実行に利用されるキャッシュのダーティー(dirty)チェックをする(S120)。ここで、ダーティーチェックとは、一度駆動された命令語の再処理可否を判断することをいい、このようなダーティーチェックをアクセラレータの実行前にする理由は、既に一度処理された命令語の中で繰り返される命令語は再びアクセラレータを介して処理する必要なしに、キャッシュデータを利用して速い速度ですぐに処理するようにするためである。
【0046】
ダーティーチェックの後、必要なグラフィック部分のみを切り捨てるシザー処理を実行する(S130)。すなわち、シザー処理のためのデータを読み込み、状態を判別した後に該当部分を切り捨てる。
【0047】
シザー処理後に、ベクターグラフィックアクセラレータが実際のグラフィック処理作業、すなわちレンダリング処理を実行する(S140)。前で、図1〜3を介して詳しく説明したように、この段階でのグラフィック処理はベクターグラフィックアクセラレータ内のそれぞれのモジュールなどが命令語処理部及びレジスターセットに連結されることにより、ハードウェア的に高速のグラフィック処理が実行されることを意味する。ここで、図面上レンダリングと表現したが、このようなレンダリング処理はラスタライズセットアップ及びシザー処理を除いた二次元ベクター要素を生成するペイントジェネレーション、アルファマスキング、及びブレンディング処理を意味する。
【0048】
グラフィック処理が完了すれば、ベクターグラフィックアクセラレータをクローズする(S150)。グラフィックアクセラレータのクローズはレジスターのグラフィック状態モードによって決まる。図示されたように、ベクターグラフィックアクセラレータがクローズされれば、他のグラフィック処理が必要か判断し(S160)、必要な場合は再びプロセッサアイドルチェック(S100)に戻り、不必要な場合にはグラフィック処理を終了する。
【0049】
一方、アイドル状態チェック(S100)後、グラフィック処理とは別個でフレームバッファをクリアするクリアオペレーションを実行する(S170)。このようなクリアオペレーションはグラフィック処理中に実行され、グラフィック処理が終わればクリアオペレーションも終了する。
【0050】
一方、先立って各段階の実行のうち、アイドルチェック(S100)、クリアオペレーション(S170)、及びベクターグラフィックアクセラレータクローズ(S150)は、その終了可否を加速エンジンレベルでフレーム別にレジスター値を参照して判断し、終了していない時には継続して実行する。すなわち、図示したように継続的なループバック機能を実行する。
【0051】
本発明に係るハードウェア方式のベクターグラフィックアクセラレータ、そのアクセラレータを含むアプリケーションプロセッサ、及びそのプロセッサにおいてグラフィック加速方法は、既存のソフトウェアレンダリング方式を脱してハードウェア処理器を設計し、移動通信端末機のアプリケーションプロセッサでアクセラレータを支援することでソフトウェアレンダリングの限界点を克服し、同時に速い実行速度が可能になって、さらに良い高品質のベクターコンテンツ処理ができるようにする。
【0052】
また、ベクターグラフィックのレンダリング部分(アクセラレータ)をハードウェア的に設計し、ソフトウェア制御は現在国際的に標準として認められたクロノスグループのOpenVGのパイプライン形態によってAPI設計し、また、ハードウェアアクセラレータ間のインタフェーシングを合わせることにより、オープンベクターAPIの標準に合った多様なベクターコンテンツを駆動可能にできる。
【0053】
以上、本発明を図面に表示された実施例を参照して説明したが、これは例示的なものに過ぎず、本技術分野の通常の知識を有する者であれば今後多様な変形及び均等な他の実施例が可能であるという点を理解するであろう。したがって、本発明の真正な技術的保護範囲は添付された特許請求範囲の技術的思想によって決めなければならない。
【産業上の利用可能性】
【0054】
本発明は、移動通信端末機のアプリケーションプロセッサに関するものである。本明細書で記述する技術、装置及びシステムは、下記のような一つ以上の長所を選択的に提供することができる。ハードウェア方式のベクターグラフィックアクセラレータは、従来のソフトフェアのみのレンダリングに比べて処理速度がより速い。このような処理速度の増加は、モバイル環境で理想的なハードウェアベクターグラフィックアクセラレータを提供する。
【符号の説明】
【0055】
1000:ベクターグラフィックアクセラレータ、2000:命令語処理部、3000:レジスターセット

【特許請求の範囲】
【請求項1】
パイプライン構造で連結され、ラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール及びブレンディングモジュールのうち少なくとも一つを含むグラフィック処理モジュールを含み、
前記各グラフィック処理モジュールは、前記制御部と連結されて動作し、前記制御部から受けた一つ以上の命令語にしたがって2Dベクターグラフィック加速を行うことを特徴とするハードウェア方式のベクターグラフィックアクセラレータ。
【請求項2】
前記制御部は、
2Dベクターグラフィック加速を行うための前記各グラフィック処理モジュールを指示するのに使用される前記一つ以上の命令語及びベクターグラフィックデータを処理及びパーシングするコマンドコア及びパーサー(Command Core and Parser)を含み、
前記コマンドコア及びパーサーは、前記一つ以上の命令語を保存するための多数のレジスターを含むレジスターセットと連結されて動作することを特徴とする、請求項1に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項3】
前記制御部は、
前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、
キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、
前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、
前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、
前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファと、を含むことを特徴とする、請求項2に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項4】
前記各グラフィック処理モジュールは、クロノスグループ(Khronos Group)のオープンベクターアクセラレータ(Open VG)API標準による各コンテンツを活用できることを特徴とする、請求項1に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項5】
前記オープンベクターアクセラレータ(Open VG)のパイプライン構造によってAPI(Application Programming Interface)が設計されており、前記オープンベクターアクセラレータ(Open VG)とグラフィックアクセラレータ間に対するインタフェーシングが合わせられていることを特徴とする、請求項4に記載のハードウェア方式のベクターグラフィックアクセラレータ。
【請求項6】
ベクターグラフィックデータのベクターグラフィック加速のための一つ以上の命令語が保存される多数のレジスターを含むレジスターセットと、
前記レジスターセットと連結され、一つ以上の保存された命令語とベクターグラフィックデータを処理及びパーシングする一つ以上のコマンドコア及びパーサー(Command Core and Parser)を含む制御部と、
前記制御部に連結され、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受け、前記ベクターグラフィックデータのベクターグラフィック加速をハードウェア的に処理するハードウェア方式のベクターグラフィックアクセラレータと、を含むベクターグラフィック加速アプリケーションプロセッサ。
【請求項7】
前記ハードウェア方式のベクターグラフィックアクセラレータは、
パイプライン構造で連結され、一つ以上のラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールを含むグラフィック処理モジュールを含み、
前記各グラフィック処理モジュールは、前記コマンドコア及びパーサーからパーシングされて処理される一つ以上の命令語を受けて動作することを特徴とする、請求項6に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項8】
前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールにそれぞれ連結される専用キャッシュで構成されるキャッシュメモリと、
キャッシュコアの一つ以上の命令に従ってそれぞれの専用キャッシュを制御する前記キャッシュメモリに連結されたキャッシュ制御部と、
前記各キャッシュを制御するための前記キャッシュ制御部を指示する一つ以上の命令を処理する前記キャッシュ制御部と連結された前記キャッシュコアと、
前記キャッシュコアから受けた一つ以上の他の命令に対応してピクセルバッファを制御するためのキャッシュコアと連結されたバッファ制御部と、
前記バッファ制御部の制御を受け、最終ピクセルデータを保存するために前記バッファ制御部に連結された前記ピクセルバッファと、をさらに含むことを特徴とする、請求項7に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項9】
前記コマンドコア、パーサー、及びキャッシュコアは、AHBスレーブ及びマスターを介してアームコアに連結されていることを特徴とする、請求項8に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項10】
前記ベクターグラフィックアクセラレータは、ベクターグラフィック処理のために、前記レジスターセットに保存されたそれぞれの値を参照し、前記ペイントジェネレーションモジュール内の各処理部の形態によってベクターパスデータを生成するパスジェネレーションモジュールを含み、
前記パスジェネレーションモジュールのためのパスセグメントコマンドは直線ライン、ベジェカーブ、楕円形アークに対するコマンドを含み、
前記パスジェネレーションモジュールは、再構成された直線ラインをフィルルールに適用するために、併合整列方式のソーティングアルゴリズムを介してソーティングすることを特徴とする、請求項7に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項11】
前記ペイントジェネレーションモジュール内の各処理部は、ソリッドカラー処理のためのソリッド(Solid)部、イメージ部、パターン部、直線グラディアント(Linear Grandient)部、円形グラディアント(Radial Gradient)部を含み、
前記ブレンディングモジュールは、ブレンディング処理のためのブレンドモード及びブレンドイメージモードを含む各モードを含み、
前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ(Khronos Group)のオープンベクターアクセラレータ(Open VG)API標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行うことを特徴とする、請求項7に記載のベクターグラフィック加速アプリケーションプロセッサ。
【請求項12】
ベクターグラフィック加速アプリケーションプロセッサの状態を感知し、
前記ベクターグラフィック加速アプリケーションプロセッサのアイドル(idol)状態を感知するとき、前記ベクターグラフィック加速アプリケーションプロセッサのハードウェア方式のグラフィックアクセラレータを初期化し、
ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御し、
前記ベクターグラフィックアクセラレータをクローズすることを含むベクター加速方法。
【請求項13】
前記ベクターグラフィックデータの加速は、
既に処理された命令語の再処理可否を決定する前記ベクターグラフィック加速に使用される各キャッシュをチェックし、
不必要なグラフィック部分を切り捨てる前記ベクターグラフィックデータをシザー処理し、
色相処理を行うためにシザー処理されたベクターグラフィックをレダリング処理することを含むことを特徴とする、請求項12に記載のベクター加速方法。
【請求項14】
前記ベクターグラフィック加速アプリケーションプロセッサの状態感知、前記シザー処理及びベクターグラフィックアクセラレータのクローズは、フレーム単位でレジスター値を参照して継続的なループバック(loop back)機能を行うことを特徴とする、請求項13に記載のベクター加速方法。
【請求項15】
前記ベクターグラフィック加速アプリケーションプロセッサの状態を感知した後、フレームバッファをクリア(clear)することをさらに含むことを特徴とする、請求項12に記載のベクター加速方法。
【請求項16】
前記ベクターグラフィックデータの加速は、
前記ベクターグラフィック加速アプリケーションプロセッサに含まれたコマンドコア及びパーサーから出た一つ以上の命令語に対応して初期化されたハードウェア方式のベクターグラフィックアクセラレータによって行われることを特徴とする、 請求項12に記載のベクター加速方法。
【請求項17】
前記ベクターグラフィックデータの加速は、
前記コマンドコア及びパーサーに連結される、ラスタライズセットアップモジュール、シザーテストモジュール、ペイントジェネレーションモジュール、アルファマスクモジュール、及びブレンディングモジュールによって行われ、
前記ラスタライズセットアップモジュール、前記シザーテストモジュール、前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、前記ベクターグラフィックアクセラレータ内にパイプライン構造によって共に連結されることを特徴とする、請求項16に記載のベクター加速方法。
【請求項18】
前記ペイントジェネレーションモジュール、前記アルファマスクモジュール、及び前記ブレンディングモジュールは、それぞれ対応する各キャッシュに連結されており、
前記ベクターグラフィック加速のために、前記コマンドコア及びパーサーを通して前記ベクターグラフィックデータ及び一つ以上の命令語を処理及びパーシングし、ピクセルバッファにピクセルデータを最終的に保存し、前記キャッシュコアを通して前記各キャッシュ及びピクセルバッファの動作のための各命令語を処理し、
キャッシュ制御部及びバッファ制御部で、キャッシュコアの命令語に対応して前記各キャッシュ及び前記ピクセルバッファを制御することを特徴とする、 請求項17に記載のベクター加速方法。
【請求項19】
前記ベクターグラフィックデータの加速のために前記初期化されたハードウェア方式のベクターグラフィックアクセラレータを制御するのは、
ベクターグラフィック加速のための一つ以上の命令語が保存されたレジスターセットに保存された値を参照して、前記ペイントジェネレーションモジュール内の各処理部の形態によってパスジェネレーションモジュールを通してパスセグメント命令語を生成し、
再構成された直線ラインをフィルルール(Fill Rule)に適用するために、併合整列アルゴリズム(Merge Sorting algorithm)に基づいて再構成された直線ラインをソーティングすることを特徴とする、請求項17に記載のベクター加速方法。
【請求項20】
前記ペイントジェネレーションモジュール内に含まれたソリッド(Solid)部、イメージ部、パターン部、直線グラディアント(Linear Grandient)部、円形グラディアント(Radial Gradient)部を通してカラー処理を行い、
前記ブレンディングモジュール内に含まれたブレンドモード及びブレンドイメージモードを通してブレンディング処理を行い、
前記ペイントジェネレーションモジュールの各処理部及び前記ブレンディングモジュールの各モードは、クロノスグループ(Khronos Group)のオープンベクターアクセラレータ(Open VG)API標準によるカラー処理技法及びブレンディング処理技法を介してカラー処理及びブレンディング処理を行うことを特徴とする、請求項17に記載のベクター加速方法。

【図1a】
image rotate

【図1b】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2011−520184(P2011−520184A)
【公表日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2011−506189(P2011−506189)
【出願日】平成21年4月21日(2009.4.21)
【国際出願番号】PCT/KR2009/002063
【国際公開番号】WO2009/131349
【国際公開日】平成21年10月29日(2009.10.29)
【出願人】(508231762)コア ロジック,インコーポレイテッド (21)
【氏名又は名称原語表記】Core Logic,Inc.
【Fターム(参考)】