(57)【要約】      （修正有）【課題】多重プロセシングを用いたレンダリング処理方法を提供する。【解決手段】多重プロセシングを用いたレンダリング処理方法は、プリレンダリング管理部がアプリケーション実行ウィンドウをフレーム単位に区分し、フレーム別にレンダリング処理するためのレンダリング処理命令を生成する段階、前記レンダリング処理命令に従ってレンダリング管理部がフレーム単位のレンダリングイメージを生成する段階、前記生成されたレンダリングイメージをメモリ部に格納する段階を含み、前記レンダリング処理命令を生成する段階と前記レンダリングイメージを生成する段階は、複数のスレッドにより処理される。前記方法によれば、レンダリングの処理速度を向上させることができる。【選択図】図２
2014038577.tif 000002
【特許請求の範囲】
【請求項１】
プリレンダリング管理部がアプリケーション実行ウィンドウをフレーム単位に区分し、フレーム別にレンダリング処理するためのレンダリング処理命令を生成する段階と、
前記レンダリング処理命令に従ってレンダリング管理部がフレーム単位のレンダリングイメージを生成する段階と、
前記生成されたレンダリングイメージをメモリ部に格納する段階と
を含み、
前記レンダリング処理命令を生成する段階と、前記レンダリングイメージを生成する段階は、複数のスレッドにより処理される多重プロセシングを用いたレンダリング処理方法。
【請求項２】
前記レンダリング処理命令を生成する段階で、前記プリレンダリング管理部は、前記フレーム別のレンダリングの処理順序に従って前記レンダリング処理命令を生成することを特徴とする請求項１に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項３】
前記レンダリングイメージを生成する段階で、前記レンダリング管理部は、前記レンダリング処理命令を順次処理することを特徴とする請求項２に記載の
多重プロセシングを用いたレンダリング処理方法。
【請求項４】
前記レンダリングイメージは、ビットマップ形式で生成されることを特徴とする請求項１に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項５】
前記レンダリング処理命令を生成する段階は、
ＳＧオプティマイザが、レンダリング処理命令が入力されるプリレンダリングキューをスキャンしてフレーム上の同一の座標で同一のイメージ生成に対する複数の処理要請が連続的に入力された場合に、前記ＳＧオプティマイザが前記複数の処理要請のうち１つの処理要請のみ処理されるように制御する段階を含むことを特徴とする請求項１に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項６】
請求項１〜５の何れか一項の方法をコンピュータで実行させるためのプログラム。
【請求項７】
アプリケーション実行ウィンドウをフレーム単位に区分し、フレーム別にレンダリング処理するためのレンダリング処理命令を生成するプリレンダリング管理部と
前記レンダリング処理命令に従ってフレーム単位のレンダリングイメージを生成するためのレンダリング管理部と、
前記生成されたレンダリングイメージを格納するためのメモリ部と
を含み、
前記プリレンダリング管理部のレンダリング処理命令生成と、前記レンダリング管理部のレンダリングイメージ生成は、複数のスレッドにより処理されることを特徴とする多重プロセシングを用いたレンダリング処理装置。
【請求項８】
前記プリレンダリング管理部は、前記フレーム別のレンダリングの処理順序に従って前記レンダリング処理命令を生成することを特徴とする請求項７に記載の多重プロセシングを用いたレンダリング処理装置。
【請求項９】
前記レンダリング管理部は、前記レンダリング処理命令を順次処理することを特徴とする請求項８に記載の多重プロセシングを用いたレンダリング処理装置。
【請求項１０】
前記レンダリングイメージは、ビットマップ形式で生成されることを特徴とする請求項７に記載の多重プロセシングを用いたレンダリング処理装置。
【請求項１１】
前記プリレンダリング管理部は、イメージ処理イベント命令の入力を受けるプリレンダリングキューと、
前記プリレンダリングキューをスキャンしてフレーム上の同一の座標で同一のイメージ生成に対する複数の処理要請が連続的に入力された場合に、前記複数の処理要請のうち１つの処理要請のみ処理されるように制御するＳＧオプティマイザと
を含むことを特徴とする請求項７に記載の多重プロセシングを用いたレンダリング処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンダリング処理装置及び方法に関し、フレーム単位のイメージの処理において複数のスレッドを同時に処理し、レンダリングの処理性能を最大化できる多重プロセシングを用いたレンダリング処理装置及び方法に関する。
【背景技術】
【０００２】
従来のレンダリング方式は、中央処理プロセッサ（ＣＰＵ）が単一のコアを基準としてスレッドを使用せず、単一のプロセスでダブル・バッファリングを活用してイメージを処理するか、性能の問題がある場合にスレッドを１つ程度作り、画面全体を生成する方式であった。
【０００３】
図１は、従来のレンダリング方式を説明するための例示図である。前記図１に示すように、従来のレンダリング方式では共有メモリ上で１つのスレッド（単一作業）のみを処理するため、レンダリングの処理速度が遅くなる。
【０００４】
従来のレンダリング方式は、複数のフレームに含まれているイメージを処理するのに多くの時間がかかるため、近年、ノートブック、ＰＣ、タブレットＰＣ又はスマートフォンのようなデバイスに装着されるＣＰＵがマルチコア、例えば４コア以上に発展している状況で、イメージを迅速に処理できる技術が要求されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は上記事情に鑑みてなされたものであって、その目的は、フレーム単位のイメージの処理において複数のスレッドを同時に処理し、イメージの処理性能を向上させることができる多重プロセシングを用いたレンダリング処理装置及び方法を提供することにある。
【０００６】
本発明の目的は、以上で言及したものに制限されず、言及していない他の目的は、下記の記載から本発明の属する技術分野における通常の知識を有する者に明確に理解され得るはずである。
【課題を解決するための手段】
【０００７】
前記課題を解決するための本発明の一態様に係る多重プロセシングを用いたレンダリング処理方法は、プリレンダリング管理部がアプリケーション実行ウィンドウをフレーム単位に区分し、フレーム別にレンダリング処理するためのレンダリング処理命令を生成する段階、前記レンダリング処理命令に従ってレンダリング管理部がフレーム単位のレンダリングイメージを生成する段階、及び前記生成されたレンダリングイメージをメモリ部に格納する段階を含み、前記レンダリング処理命令を生成する段階と、前記レンダリングイメージを生成する段階は、複数のスレッドにより処理される。
【０００８】
前記レンダリング処理命令を生成する段階で、前記プリレンダリング管理部は、前記フレーム別のレンダリングの処理順序に従って前記レンダリング処理命令を生成できる。
【０００９】
前記レンダリングイメージを生成する段階で、前記レンダリング管理部は、前記レンダリング処理命令を順次処理できる。
【００１０】
前記レンダリングイメージは、ビットマップ形式で生成され得る。
【００１１】
前記レンダリング処理命令を生成する段階は、ＳＧ（Ｓｃｅｎｅ  Ｇｒｐａｈ、シーングラフ）オプティマイザが、レンダリング処理命令が入力されるプリレンダリングＱ（プリレンダリングキュー、プリレンダリングキューユニット）をスキャンしてフレーム上の同一の座標で同一のイメージ生成に対する複数の処理要請が連続的に入力された場合に、前記ＳＧオプティマイザが前記複数の処理要請のうち１つの処理要請のみ処理されるように制御する段階を含むことができる。
【００１２】
前記方法は、プログラムによりコンピュータで実行され得る。
【００１３】
前記課題を解決するための本発明の他の態様に係る多重プロセシングを用いたレンダリング処理装置は、アプリケーション実行ウィンドウをフレーム単位に区分し、フレーム別にレンダリング処理するためのレンダリング処理命令を生成するプリレンダリング管理部、前記レンダリング処理命令に従ってフレーム単位のレンダリングイメージを生成するためのレンダリング管理部、及び前記生成されたレンダリングイメージを格納するためのメモリ部を含み、前記プリレンダリング管理部のレンダリング処理命令生成と前記レンダリング管理部のレンダリングイメージ生成は、複数のスレッドにより処理される。
【００１４】
前記プリレンダリング管理部は、前記フレーム別のレンダリングの処理順序に従って前記レンダリング処理命令を生成できる。
【００１５】
前記レンダリング管理部は、前記レンダリング処理命令を順次処理できる。
【００１６】
前記レンダリングイメージは、ビットマップ形式で生成され得る。
【００１７】
前記プリレンダリング管理部は、イメージ処理イベント命令を受信するプリレンダリングＱと、前記プリレンダリングＱをスキャンしてフレーム上の同一の座標で同一のイメージ生成に対する複数の処理要請が連続的に入力された場合に、前記複数の処理要請のうち１つの処理要請のみ処理されるように制御するＳＧオプティマイザを含むことができる。
【発明の効果】
【００１８】
本発明の実施形態に係る多重プロセシングを用いたレンダリング処理装置及び方法によれば、多重プロセシングを活用してフレーム単位で複数のスレッドを用いてレンダリング処理することで、デバイスでのイメージの処理性能を最大化できるという効果を奏する。
【００１９】
本発明の効果は、以上で言及したものに制限されず、言及していない他の効果は、下記の記載から本発明の属する技術分野における通常の知識を有する者に明確に理解され得るはずである。
【図面の簡単な説明】
【００２０】
【図１】従来のレンダリング方式を説明するための例示図である。
【図２】本発明の実施形態に係る多重プロセシングを用いたレンダリング処理装置の構成図である。
【図３】本発明の一実施形態に係る多重プロセシングを用いたレンダリング処理方法を適用するためのウィンドウの一例である。
【図４】本発明の実施形態に係る多重プロセシングを用いたレンダリング処理方法のスレッド処理方法を説明するための例示図である。
【図５】本発明の一実施形態に係る多重プロセシングを用いたレンダリング処理装置のプリレンダリング管理部の詳細構成図である。
【図６】本発明の一実施形態に係る多重プロセシングを用いたレンダリング処理装置のレンダリング管理部の詳細構成図である。
【発明を実施するための形態】
【００２１】
本発明の目的及び効果、そしてそれらを達成するための技術的な構成は、添付される図面と共に詳細に後述される実施形態を参照すれば明確になる。本発明を説明するにおいて公知の機能又は構成についての具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合には、その詳細な説明を省略する。そして、後述される用語は、本発明での構造、役割及び機能などを考慮して定義された用語であって、これはユーザ、運用者の意図又は慣例などによって変わり得る。
【００２２】
しかしながら、本発明は以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で実現され得る。但し、本実施形態は本発明の開示が完全なようにし、本発明の属する技術分野における通常の知識を有する者に発明の範疇を完全に理解させるために提供されるものであり、本発明は専ら特許請求の範囲に記載された請求項の範疇によってのみ定義される。従って、その定義は、本明細書全般に渡る内容に基づいて行われるべきである。
【００２３】
明細書全体において、ある部分がある構成要素を「含む」とするとき、これは特に反対の記載がない限り、他の構成要素を除外するものではなく、他の構成要素を更に含むことができることを意味する。また、明細書に記載された「．．ユニット」、「．．部」などの用語は、少なくとも１つの機能や動作を処理する単位を意味し、これはハードウェアやソフトウェア又はハードウェア及びソフトウェアの結合により実現され得る。
【００２４】
一方、本発明の実施形態において、各構成要素、機能ブロック又は手段は、１つ又はそれ以上の下部構成要素で構成されることができ、各構成要素が行う電気、電子、機械的機能は、電子回路、集積回路、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）など公知となった多様な素子又は機械的要素で実現されてもよく、それぞれ個別で実現されるか、２つ以上が１つに統合されて実現されてもよい。
【００２５】
また、添付されたブロック図の各ブロックとフローチャートの各段階の組み合わせは、コンピュータ・プログラム・インストラクションによって実行されることもできる。これらのコンピュータ・プログラム・インストラクションは、汎用コンピュータ、特殊用途コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサに搭載され得るので、コンピュータ又はその他プログラム可能なデータプロセシング装置のプロセッサを通じて行われるそのインストラクションがブロック図の各ブロック又はフローチャートの各段階で説明された機能を行う手段を生成するようになる。これらのコンピュータ・プログラム・インストラクションは、特定の方式で機能を実現するためにコンピュータ又はその他プログラム可能なデータプロセシング装置を指向できるコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されることも可能であるので、そのコンピュータ利用可能又はコンピュータ読み取り可能なメモリに格納されたインストラクションは、ブロック図の各ブロック又はフローチャートの各段階で説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータ・プログラム・インストラクションは、コンピュータ又はその他プログラム可能なデータプロセシング装置上に搭載されることも可能であるので、コンピュータ又はその他プログラム可能なデータプロセシング装置上で一連の動作段階が行われ、コンピュータで実行されるプロセスを生成してコンピュータ又はその他プログラム可能なデータプロセシング装置を行うインストラクションは、ブロック図の各ブロック及びフローチャートの各段階で説明された機能を実行するための段階を提供することも可能である。
【００２６】
また、各ブロック又は各段階は、特定された論理的な機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメント又はコードの一部を表すことができる。例えば、相次いで示されている２つのブロック又は段階は、実際に実質的に同時に行われてもよく、又はそのブロック又は段階がしばしば該当する機能によって逆順に行われてもよい。
【００２７】
以下では、本発明の実施形態に係る多重プロセシングを用いたレンダリング処理装置及び方法を、添付された図面を参照して説明する。
【００２８】
本発明において、レンダリングはアプリケーションを実行して画面に表示されたウィンドウ上でイベントが発生する場合に、イベントに対応する新しいイメージを生成してウィンドウを新たに構成することのようなイメージ処理に該当する。
【００２９】
本発明において、スレッドは、あるプログラム、特に任意のプロセス内で実行される流れの単位をいう。
【００３０】
図２は、本発明の実施形態に係る多重プロセシングを用いたレンダリング処理装置の構成図である。
【００３１】
前記図２に示すように、前記多重プロセシングを用いたレンダリング処理装置１００は、レンダリングエンジン１１０及びメモリ部１４０を含む。
【００３２】
前記メモリ部１４０は、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、アプリケーション及びデータファイルを格納することができる。レンダリングエンジン１００は、プリレンダリング管理部１２０とレンダリング管理部１３０とを含む。
【００３３】
プリレンダリング管理部１２０は、レンダリング前にレンダリングに必要な情報を格納し管理して最終のレンダリング命令を生成する機能を行う。
【００３４】
具体的に説明すれば、前記プリレンダリング管理部１２０は、アプリケーションを実行すれば、画面上に表示されるウィンドウをフレーム単位に区分し、フレーム単位でレンダリング処理するためのレンダリング処理命令を生成する。
【００３５】
図３は、本発明の一実施形態に係る多重プロセシングを用いたレンダリング処理方法を適用するためのウィンドウの一例である。
【００３６】
前記図３に示すように、アプリケーションを実行すれば、アプリケーションの実行のためのウィンドウＷがディスプレイされるが、ウィンドウは互いに区分される複数のフレームＦ１〜Ｆ３を含むことができる。
【００３７】
このとき、ウィンドウ単位でレンダリング処理を行えば、イベントが特定のフレームで発生した場合、残りのフレームは既存と同一のイメージが維持されるにも拘らず、ウィンドウ全体に対してレンダリング処理を行わなければならないので、レンダリングの処理速度が低下するおそれがある。
【００３８】
従って、本発明ではウィンドウをフレーム単位に区分し、フレーム単位でイメージ処理を行うことによって、イメージの処理速度を向上させることができる。
【００３９】
前記プリレンダリング管理部１２０は、前記フレーム別のレンダリングの処理順序に従って前記レンダリング処理命令を生成する。プリレンダリング管理部１２０には、フレーム単位でレンダリング処理のための処理要請が順次入力されるが、プリレンダリング管理部１２０は、入力された処理要請順序に従ってレンダリング処理命令を生成し、生成されたレンダリング処理命令をレンダリング管理部１３０に伝送する。
【００４０】
一方、レンダリング管理部１３０はレンダリングを行うモジュールであって、プリレンダリング管理部１２０で生成されたレンダリング処理命令を順次処理し、所望のバッファにドローイングを行ってイメージを生成する。
【００４１】
このとき、前記レンダリング管理部１３０により生成されるイメージは、ビットマップ形式で生成され得る。
【００４２】
レンダリングの処理速度を向上させるために、本発明では前記プリレンダリング管理部１２０がレンダリングの処理命令を生成するための作業と、前記レンダリング管理部１３０がレンダリングイメージの生成を処理するために複数のスレッドが使用され得る。
【００４３】
単一のスレッドが用いられる場合には、特定の時点では１つのスレッドのみ用いられるため、特定の時点でレンダリング処理命令の生成作業又はレンダリングイメージ生成作業のうち１つのみ処理されるが、複数のスレッドを用いる場合には、複数のレンダリング処理命令作業とレンダリングイメージ生成作業が同時に処理され得るので、レンダリングの処理速度を最大化させることができる。
【００４４】
図４は、本発明の実施形態に係る多重プロセシングを用いたレンダリング処理方法のスレッド処理方法を説明するための例示図である。前記図４に示すように、例えば、特定の時点では４つのスレッドにより複数のレンダリング処理命令生成作業とレンダリングイメージ生成作業が処理され得るので、レンダリングの処理速度を更に向上させることができる。
【００４５】
その後、前記生成されたレンダリングイメージは、メモリ部１４０に格納される。
【００４６】
以下、レンダリングエンジン１１０を構成するプリレンダリング管理部１２０とレンダリング管理部１３０の構成及び機能を更に詳細に説明する。
【００４７】
図５は、本発明の一実施形態に係る多重プロセシングを用いたレンダリング処理装置のプリレンダリング管理部の詳細構成図である。
【００４８】
前記図５に示すように、プリレンダリング管理部１２０は、プリレンダリングＱ１２１、ロケーションアジャスタ１２２、複数のシーングラフ（ＳＧ）１２３、ＳＧマニプレータ１２４、ＳＧオプティマイザ１２５及びＳＧコマンダ１２６を含む。
【００４９】
前記プリレンダリングＱ１２１は、レンダリング処理要請の入力を受け、これに対応するレンダリング処理命令を生成する機能を行う。前記プリレンダリングＱ１２１に入力されるレンダリングの要請は、大きく３つに分けられる。第一に、エレメントインターフェースを通じて命令が入力され得る。第二に、ディスプレイ上の画面で特定の座標に対する要請が入力されれば、レンダリングエンジン１１０に含まれているヒットテストマネジャ（ｈｉｔｔｅｓｔ  ｍａｎａｇｅｒ）（図示せず）から該当座標に対するエレメントに対する命令が入力され得る。また、第三に、ドローイングインターフェースとペインタを含むカンバスモジュールから命令が入力され得る。前記命令は、レンダリング処理の対象に関する情報を含むことができる。
【００５０】
前記ロケーションアジャスタ１２２は、位置関連情報を処理するためのモジュールであって、レンダリングのための座標系補正処理及び変換を考慮したアップデートレクト（Ｕｐｄａｔｅ  Ｒｅｃｔ）処理を行う。
【００５１】
ロケーションアジャスタ１２２は、画面上にウィンドウが重なり、後ろに位置するウィンドウのフレームの中で遮られた部分に対しては、レンダリング処理が行われないように、レンダリング処理領域から除外させることができる。前記シーングラフ１２３は、レンダリングのために維持しなければならない情報を格納及び管理し、前記シーングラフ１２３は、深さ優先非循環グラフ（ｄｅｐｔｈ  ｆｉｒｓｔ  ａｃｙｃｌｉｃ  ｇｒａｐｈ）に該当する。また、シーングラフ１２３は、ドローイングの順序と包含関係を表し、アップデートされた領域を基準にレンダリングを行わなければならない対象を決定し、決定されたノードからレンダリング処理命令を生成する。
【００５２】
前記ＳＧマニプレータ１２４は、シーングラフ１２３のノードの追加、削除、挿入又は移動の作業を処理し、シーングラフ１２３の内容を変更する機能を行う。
【００５３】
前記ＳＧオプティマイザ１２５は、シーングラフ１２３の内容に基づいて最適化を行う。
【００５４】
特に、前記ＳＧオプティマイザ１２５は、プリレンダリングＱ１２１をスキャンしてフレーム上の同一の座標で同一のイメージ生成に対するレンダリング処理の要請が連続的に入力された場合に、前記複数の処理要請のうち１つの処理要請のみ処理されるように制御できる。
【００５５】
前記ＳＧコマンダ１２６は、ロケーションアジャスタ１２２で生成されたアップデート領域を基準にレンダリング処理命令を生成する。
【００５６】
前記ヒットテストマネジャは、ヒットテスト関連情報を処理し、要請した座標を基準にどのエレメントがヒットされたかを求める。また、シーングラフ１２３を用いるために、プリレンダリングＱ１２１を通じて要請を行い、応答を受けて処理する。
【００５７】
図６は、本発明の一実施形態に係る多重プロセシングを用いたレンダリング処理装置のレンダリング管理部の詳細構成図である。
【００５８】
前記図６に示すように、前記レンダリング管理部１３０は、レンダリング処理命令を行うためのレンダリングＱ（レンダリングキュー、レンダリングキューユニット）１３１と、ドローイングを行うためのペインタ１３２と、レンダリングＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）ライブラリであるＶＧＬｉｂ（ライブラリ、ライブラリユニット）１３３とを含む。
【００５９】
前記ペインタ１３２は、ＶＧＬｉｂ１３３を用いるためのインターフェースを有し、ドローイングバッファに絵を描くためのモジュールに該当する。前記カンバスモジュールを通じてドローイングする場合には、ペインタ１３２を用いて直接イメージを描くことができる。
【００６０】
本発明の実施形態は、多様な手段を通じて実現され得る。例えば、本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア又はそれらの結合などにより実現され得る。
【００６１】
ハードウェアによる実現の場合、本発明の実施形態に係る方法は、１つ又はそれ以上のＡＳＩＣｓ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）、ＤＳＰｓ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒｓ）、ＤＳＰＤｓ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｄｅｖｉｃｅｓ）、ＰＬＤｓ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅｓ）、ＦＰＧＡｓ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙｓ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現され得る。
【００６２】
ファームウェアやソフトウェアによる実現の場合、本発明の実施形態に係る方法は、以上で説明された機能又は動作を行うモジュール、手順又は関数などの形態で実現され得る。ソフトウェアコードは、メモリユニットに格納されてプロセッサにより駆動され得る。前記メモリユニットは、前記プロセッサの内部又は外部に位置し、既に公知となった多様な手段により前記プロセッサとデータをやり取りできる。
【００６３】
一方、前記で説明した多重プロセシングを用いたレンダリング方法は、多様なコンピュータ手段を通じて実行され得るプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録され得る。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特に設計され構成されたものであってもよく、コンピュータソフトウェアの当業者に公知となって使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光気録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納し実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラにより作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードが含まれる。
【００６４】
以上では添付された図面を参照しながら本発明の実施形態について説明したが、本発明は、本発明の精神及び必須の特徴から逸脱しない範囲内で他の特定の形態で具体化され得る。従って、上記の詳細な説明はあらゆる面で制約的に解釈されてはならず、例示的なものとして考慮されるべきである。本発明の範囲は、添付された請求項の合理的な解釈により決定されなければならず、本発明の等価的な範囲内での全ての変更は、本発明の範囲に含まれる。
【符号の説明】
【００６５】
１００    レンダリング処理装置
１１０    レンダリングエンジン
１２０    プリレンダリング管理部
１３０    レンダリング管理部
１４０    メモリ部
Ｗ    ウィンドウ
Ｆ１〜Ｆ３    フレーム
【図１】
2014038577.tif 000003
【図２】
2014038577.tif 000004
【図４】
2014038577.tif 000005
【図５】
2014038577.tif 000006
【図６】
2014038577.tif 000007
【図３】
2014038577.tif 000008
【手続補正書】
【提出日】平成25年11月12日(2013.11.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プリレンダリング管理部がアプリケーション実行ウィンドウをフレーム単位に区分し、フレーム別にレンダリング処理するためのレンダリング処理命令を生成する段階と、
前記レンダリング処理命令に従ってレンダリング管理部がフレーム単位のレンダリングイメージを生成する段階と、
前記生成されたレンダリングイメージをメモリ部に格納する段階と
を含み、
前記レンダリング処理命令を生成する段階と、前記レンダリングイメージを生成する段階は、複数のスレッドにより処理される多重プロセシングを用いたレンダリング処理方法。
【請求項２】
画面上にアプリケーション実行ウィンドウが重なって位置するとき、後ろに位置するウィンドウのフレームのうち、前のウィンドウにより遮られた部分に対しては、レンダリング処理が行われないようにする請求項１に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項３】
前記レンダリング処理命令を生成する段階で、前記プリレンダリング管理部は、前記フレーム別のレンダリングの処理順序に従って前記レンダリング処理命令を生成することを特徴とする請求項１に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項４】
前記レンダリングイメージを生成する段階で、前記レンダリング管理部は、前記レンダリング処理命令を順次処理することを特徴とする請求項３に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項５】
前記レンダリングイメージは、ビットマップ形式で生成されることを特徴とする請求項１に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項６】
前記レンダリング処理命令を生成する段階は、
ＳＧオプティマイザが、レンダリング処理命令が入力されるプリレンダリングキューをスキャンしてフレーム上の同一の座標で同一のイメージ生成に対する複数の処理要請が連続的に入力された場合に、前記ＳＧオプティマイザが前記複数の処理要請のうち１つの処理要請のみ処理されるように制御する段階を含むことを特徴とする請求項１に記載の多重プロセシングを用いたレンダリング処理方法。
【請求項７】
請求項１〜６の何れか一項の方法をコンピュータで実行させるためのプログラム。
【請求項８】
アプリケーション実行ウィンドウをフレーム単位に区分し、フレーム別にレンダリング処理するためのレンダリング処理命令を生成するプリレンダリング管理部と
前記レンダリング処理命令に従ってフレーム単位のレンダリングイメージを生成するためのレンダリング管理部と、
前記生成されたレンダリングイメージを格納するためのメモリ部と
を含み、
前記プリレンダリング管理部のレンダリング処理命令生成と、前記レンダリング管理部のレンダリングイメージ生成は、複数のスレッドにより処理されることを特徴とする多重プロセシングを用いたレンダリング処理装置。
【請求項９】
前記レンダリング管理部は、画面上にアプリケーション実行ウィンドウが重なって位置するとき、後ろに位置するウィンドウのフレームのうち、前のウィンドウにより遮られた部分に対しては、レンダリング処理が行われないようにする請求項８に記載の多重プロセシングを用いたレンダリング処理装置。
【請求項１０】
前記プリレンダリング管理部は、前記フレーム別のレンダリングの処理順序に従って前記レンダリング処理命令を生成することを特徴とする請求項８に記載の多重プロセシングを用いたレンダリング処理装置。
【請求項１１】
前記レンダリング管理部は、前記レンダリング処理命令を順次処理することを特徴とする請求項１０に記載の多重プロセシングを用いたレンダリング処理装置。
【請求項１２】
前記レンダリングイメージは、ビットマップ形式で生成されることを特徴とする請求項８に記載の多重プロセシングを用いたレンダリング処理装置。
【請求項１３】
前記プリレンダリング管理部は、イメージ処理イベント命令の入力を受けるプリレンダリングキューと、
前記プリレンダリングキューをスキャンしてフレーム上の同一の座標で同一のイメージ生成に対する複数の処理要請が連続的に入力された場合に、前記複数の処理要請のうち１つの処理要請のみ処理されるように制御するＳＧオプティマイザと
を含むことを特徴とする請求項８に記載の多重プロセシングを用いたレンダリング処理装置。