(57)【要約】【課題】グラフィックスを自動的に高速に透過処理を行う情報処理装置を提供する。【解決手段】情報処理装置１００は、複数のプリミティブ図形で構成され且つ透過度が設定されているグラフィックスを、表示装置に表示する。情報処理装置１００は、複数のプリミティブ図形の透過処理を個々に行うときのグラフィックスの画質をその表示態様に基づいて定量的に評価し、その結果により、複数のプリミティブ図形に対する透過処理を、個々に行うか或いは一つのグループとして行うかを判定する透過方法判定部１０３と、判定の結果、複数のプリミティブ図形に対して個々に透過処理を行うときは、各プリミティブ図形を透過度に応じて透過処理を行った後に重畳してグラフィックスを生成し、一つのグループとして透過処理を行うときは、複数のプリミティブ図形を重畳した後に透過度に応じて透過処理を行いグラフィックスを生成する透過処理部１０４と、を備える。【選択図】図２
2014229003.tif 000002
【特許請求の範囲】
【請求項１】
複数のプリミティブ図形で構成され且つ透過度が設定されているグラフィックスを、所定の表示装置に表示する情報処理装置であって、
前記複数のプリミティブ図形の透過処理を個々に行うときの前記グラフィックスの画質を前記複数のプリミティブの表示態様に基づいて定量的に評価し、その結果により、前記複数のプリミティブ図形に対する透過処理を、個々に行うか或いは一つのグループとして行うかを判定する透過方法判定手段と、
前記透過方法判定手段による判定の結果、前記複数のプリミティブ図形に対して個々に透過処理を行うときには、各プリミティブ図形を前記透過度に応じて透過処理を行った後に重畳して前記グラフィックスを生成し、前記複数のプリミティブ図形に対して、一つのグループとして透過処理を行うときには、前記複数のプリミティブ図形を重畳した後に前記透過度に応じて透過処理を行い前記グラフィックスを生成する透過処理手段と、を備えることを特徴とする、
情報処理装置。
【請求項２】
前記複数のプリミティブ図形に対して、個々に透過処理を行うときの処理負荷及び一つのグループとして透過処理を行うときの処理負荷を予測する予測手段を更に備え、
前記透過方法判定手段は、前記予測手段による予測の結果、前記複数のプリミティブ図形に対して個々に透過処理を行うときの処理負荷が一つのグループとして透過処理を行うときの処理負荷よりも大きくなるときに、前記複数のプリミティブ図形を一つのグループとして透過処理を行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項３】
前記予測手段は、前記複数のプリミティブ図形に対して前記処理負荷を、個々に透過処理を行うときに用いる記憶領域のサイズの総和及び一つのグループとして透過処理を行うときに用いる記憶領域のサイズの総和により予測することを特徴とする、
請求項２記載の情報処理装置。
【請求項４】
前記予測手段は、前記複数のプリミティブ図形に対して、個々に透過処理を行うときの処理負荷及び一つのグループとして透過処理を行うときの処理負荷を事前に計測しておき、その結果に基づいて前記予測を行うことを特徴とする、
請求項２記載の情報処理装置。
【請求項５】
前記透過方法判定手段は、前記複数のプリミティブ図形の重なり部分の大きさが一定量以下のときに、前記複数のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項６】
前記透過方法判定手段は、大きさが所定の大きさ以下のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項７】
１のプリミティブ図形に前記透過度とは異なる他の透過度が設定されており、
前記透過方法判定手段は、前記他の透過度が前記透過度よりも高いときに、前記他の透過度が設定された前記１のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項８】
前記透過方法判定手段は、背景の色との色の差分が閾値以下のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項９】
前記透過方法判定手段は、前記グラフィックスの描画領域の端から所定の範囲内に表示されるプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項１０】
前記透過方法判定手段は、前記グラフィックス内を移動して表示されるプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項１１】
本体の移動を検知するセンサをさらに備えており、
前記透過方法判定手段は、前記センサの検知の結果、前記本体が移動中であれば前記複数のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項１２】
バッテリ残量を検知するセンサをさらに備えており、
前記透過方法判定手段は、前記センサの検知の結果、バッテリ残量が所定量以下であれば前記複数のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項１３】
本体の周囲の照度を検知するセンサをさらに備えており、
前記透過方法判定手段は、前記センサの検知の結果、前記照度が所定値よりも低ければ前記複数のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項１４】
前記透過方法判定手段は、前記表示装置の表示面の明度が所定値よりも低く設定されていれば前記複数のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項１５】
前記ユーザの位置を検知するセンサをさらに備えており、
前記透過方法判定手段は、前記センサの検知の結果、前記表示装置の表示面と前記ユーザとの距離が所定値よりもと遠ければ前記複数のプリミティブ図形に対する透過処理を個々に行うように判定することを特徴とする、
請求項１記載の情報処理装置。
【請求項１６】
複数のプリミティブ図形で構成され且つ透過度が設定されているグラフィックスを、所定の表示装置に表示する情報処理装置により実行される方法であって、
前記複数のプリミティブ図形の透過処理を個々に行うときの前記グラフィックスの画質を前記複数のプリミティブの表示態様に基づいて定量的に評価するステップと、
前記評価の結果に応じて、前記複数のプリミティブ図形の透過処理を、個々に行うか或いは一つのグループとして行うかを判定するステップと、
前記判定の結果、前記複数のプリミティブ図形に対して個々に透過処理を行うときには、各プリミティブ図形を前記透過度に応じて透過処理を行った後に重畳して前記グラフィックスを生成するステップと、
前記判定の結果、前記複数のプリミティブ図形に対して一つのグループとして透過処理を行うときには、前記複数のプリミティブ図形を重畳した後に前記透過度に応じて透過処理を行い前記グラフィックスを生成するステップと、を備えることを特徴とする、
透過処理方法。
【請求項１７】
複数のプリミティブ図形で構成され且つ透過度が設定されているグラフィックスを、所定の表示装置に表示するコンピュータを、
前記複数のプリミティブ図形の透過処理を個々に行うときの前記グラフィックスの画質を前記複数のプリミティブの表示態様に基づいて定量的に評価し、その結果により、前記複数のプリミティブ図形に対する透過処理を、個々に行うか或いは一つのグループとして行うかを判定する透過方法判定手段、
前記透過方法判定手段による判定の結果、前記複数のプリミティブ図形に対して個々に透過処理を行うときには、各プリミティブ図形を前記透過度に応じて透過処理を行った後に重畳して前記グラフィックスを生成し、前記複数のプリミティブ図形に対して、一つのグループとして透過処理を行うときには、前記複数のプリミティブ図形を重畳した後に前記透過度に応じて透過処理を行い前記グラフィックスを生成する透過処理手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィックスの透過表示を行う情報処理装置に関する。
【背景技術】
【０００２】
ディスプレイに表示されるホーム画面や設定画面等のユーザインタフェース画面（以下、「ＵＩ画面」という。）は、通常、複数のアートワークをプリミティブ図形として有するグラフィックスで表現される。アートワークは、グラフィックスソフトやＣＡＤ（Computer Aided Design）ソフト等の画像作成用アプリケーションによって作成された画像である。アートワークを複数重畳して描画することで、グラフィックスの多様な表現が可能である。また、グラフィックスの一部を透過させて、ＵＩ画面をより表現力豊かに表示することが行われている。例えば、グラフィックスを透過させて、背景と重ねて見せる表現は、ＵＩ画面として一般的になっている。
【０００３】
グラフィックスの透過処理は、前面のアートワークと背面のアートワークを合成して表示する必要があり、ＣＰＵ（Central Processing Unit）等の制御装置の処理負荷が大きくなる。そのため、組み込み機器においては、処理負荷が小さい透過処理が求められている。
【０００４】
ＵＩ画面として表示されるグラフィックスの構造は、ツリー状のノードとして表すことができる。アートワークを表す末端のノードは「図形ノード」という。複数のノードを子供に持つノードは「グループノード」という。
【０００５】
透過処理には、複数のアートワークからなるグループ毎に透過処理を行う方法（以下、「グループ透過処理」という。）と、アートワーク毎に透過処理を行う方法（以下、「図形ノード透過処理」という。）との２種類の方法がある。グループ透過処理では、グループに透過度が設定され、同じグループに属するアートワークに対して同じ透過度により透過処理を行う。図形ノード透過処理では、各アートワークに透過度が設定されて、設定された透過度により個々に透過処理を行う。
【０００６】
「グループ透過処理」では、画面に実際に表示する画像が描画されるオンスクリーンバッファとは別に、透過処理のためのオフスクリーンバッファを用いる。オフスクリーンバッファは、画面には表示せず、情報処理装置内部で画像を描画するために一時的に使用されるバッファである。オフスクリーンバッファに、図形ノード（アートワーク）を複数重ねて描画する。オンスクリーンバッファには、オフスクリーンバッファに描画された図形ノード（アートワーク）に対して透過処理を行って合成した画像が描画される。この方法は、一度アートワークを重ねて描画した後に透過処理を行うために、アートワークを忠実に透過させることができる。しかし、オフスクリーンバッファを用いるために、描画時間がかかってしまう。
【０００７】
「図形ノード透過処理」では、オンスクリーンバッファに個々の図形ノード（アートワーク）を、透過処理を行って合成した画像を描画する。この方法は、オフスクリーンバッファを用いないために、グループ透過処理よりも高速に実行することができる。しかし、個々の図形ノードを透過させた場合、グループ透過処理とは図形ノードの重なり部分の描画結果が異なるため、アートワークを忠実に透過させることができない。そのために、図形ノード透過処理は、グループ透過処理よりも透過の表現力が劣る。
【０００８】
非特許文献１には、ベクターグラフィックスの標準仕様であるＳＶＧ（Scalable Vector Graphics）の透過機能が開示される。ＳＶＧには、グループノードに対して透過を指定するopacity属性、個々の図形ノードに対して透過を指定するfill-opacity属性、及びstroke-opacity属性が定義される。設計者は、これらの属性に透過度を指定することでグループ透過処理と図形ノード透過処理を使い分けることができる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】「SVG1.1 の 透過機能の仕様」<URL: http://www.w3.org/TR/SVG/masking.html#ObjectAndGroupOpacityProperties>
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非特許文献１の透過機能では、グラフィックスの透過表示の高速化を図る場合に、人手で透過方法を調整する必要がある。ユーザとしては、このような調整は煩わしく、また、調整の結果が最適か否かは実際に透過表示を行わなければ確認できない。そのために、グラフィックスを忠実に表現しつつ、自動的に高速に透過処理を行う技術への要求がある。
【課題を解決するための手段】
【００１１】
上記課題を解決する本発明の情報処理装置は、複数のプリミティブ図形で構成され且つ透過度が設定されているグラフィックスを、所定の表示装置に表示する情報処理装置であって、前記複数のプリミティブ図形の透過処理を個々に行うときの前記グラフィックスの画質を前記複数のプリミティブの表示態様に基づいて定量的に評価し、その結果により、前記複数のプリミティブ図形に対する透過処理を、個々に行うか或いは一つのグループとして行うかを判定する透過方法判定手段と、前記透過方法判定手段による判定の結果、前記複数のプリミティブ図形に対して個々に透過処理を行うときには、各プリミティブ図形を前記透過度に応じて透過処理を行った後に重畳して前記グラフィックスを生成し、前記複数のプリミティブ図形に対して、一つのグループとして透過処理を行うときには、前記複数のプリミティブ図形を重畳した後に前記透過度に応じて透過処理を行い前記グラフィックスを生成する透過処理手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、プリミティブ画像の表示態様に基づいて、透過処理を個々に行うか或いは一つのグループとして行うかを判定するために、グラフィックスを忠実に表現しつつ透過処理を高速に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】情報処理装置のハードウェア構成図。
【図２】情報処理装置に形成される機能ブロックを表す図。
【図３】グラフィックスの例示図。
【図４】グラフィックスのノード構成の例示図。
【図５】グラフィックスの表示処理の手順を表すフローチャート。
【図６】ノード描画処理の手順を表すフローチャート。
【図７】透過判定処理の手順を表すフローチャート。
【図８】（ａ）は従来のオフスクリーンバッファのサイズの説明図、（ｂ）は本実施形態のオフスクリーンバッファのサイズの説明図である。
【図９】（ａ）〜（ｄ）はアートワークの例示図。
【発明を実施するための形態】
【００１４】
＜第１実施形態＞
図１は、本実施形態の情報処理装置のハードウェア構成図である。情報処理装置は、ＣＰＵ２０１、ＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、入力装置２０４、及び出力装置２０５を備える。各部は、システムバス２０６を介して相互に通信可能に接続される。
【００１５】
ＣＰＵ２０１は、ＲＡＭ２０２をメインメモリとして用い、ＲＯＭ２０３からコンピュータプログラムを読み出して実行することで、グラフィックスを出力装置２０５に表示させるための処理を行う。ＣＰＵ２０１は、グラフィックスの透過処理を行う。入力装置２０４は、情報処理装置に備えられる入力ボタン等であり、ユーザにより操作されることでＣＰＵ２０１にユーザの指示を入力する。出力装置２０５は、例えばＬＣＤ（Liquid Crystal Display）等の表示装置である。入力装置２０４がタッチパッド等の位置検知装置である場合には、出力装置２０５と一体にタッチパネルとして構成されていてもよい。また、入力装置２０４には、情報処理装置の本体の移動時の加速度や姿勢等を検知する各種センサも用いられる。センサにより検知される本体の加速度や姿勢等の検知結果もＣＰＵ２０１に入力される。このようなハードウェア構成の情報処理装置は、例えば、スマートフォンやタブレットＰＣ（Personal Computer）により実現される。
【００１６】
図２は、ＣＰＵ２０１がＲＯＭ２０３から読み出したコンピュータプログラムを実行することで、情報処理装置１００に形成される機能ブロックを表す図である。
【００１７】
入力部１０１は、ＣＰＵ２０１及び入力装置２０４により実現され、ユーザによる指示やセンサによる検知結果等の各種入力信号を受け付ける。受け付けた入力信号は、制御部１０２に送られる。制御部１０２は、入力信号に応じて情報処理装置１００の動作を制御する。
【００１８】
透過方法判定部１０３は、「グループ透過処理」と「図形ノード透過処理」とのいずれの透過処理を行うかの判定を行う。判定の基準には、グループ透過処理と図形ノード透過処理との処理負荷の比較結果や、図形ノード透過処理によるグラフィックスの画質を用いることができる。画質は、例えば、グラフィックスを構成するプリミティブ図形であるアートワークの表示態様（アートワーク同士の重なり、大きさ、表示位置、）に基づいて、定量的に評価される。その評価結果に基づいて、透過方法判定部１０３は、透過処理方法の判定を行う。透過方法判定部１０３は、例えば、アートワーク同士の重なり部分が画質に影響がでる一定量以下である場合には、個々のアートワークに対する透過処理である図形ノード透過処理を行うと判定する。
【００１９】
透過処理部１０４は、透過方法判定部１０３で判定された方法により、アートワークの透過処理を行って合成することでグラフィックスを生成する。制御部１０２、透過方法判定部１０３、及び透過処理部１０４は、ＣＰＵ２０１により実現される。表示部１０５は、ＣＰＵ２０１及び出力装置２０５により実現され、透過処理部１０４により合成されたアートワークや文字等のグラフィックスを出力装置２０５に表示する。
【００２０】
図３は、表示部１０５により出力装置２０５に表示されるグラフィックスの例示図である。グラフィックス３００は、複数、本実施形態では１１個のアートワーク３０１〜３１１をプリミティブ図形として形成される。グラフィックス３００は、ＵＩ画面の一例である。
【００２１】
図４は、図３のグラフィックス３００のノード構成の例示図である。グラフィックス３００のノード構成は、ツリー状に表現される。ノードは、アートワーク３０１〜３１１を表す図形ノード３０１Ｎ〜３１１Ｎと、他のノードを子供に持つグループノード４０１〜４０４との二種類に分類される。図形ノード３０２Ｎ〜３０８Ｎは、グループノード４０３によってグループ化される。図形ノード３０１Ｎ及びグループノード４０３は、グループノード４０２によってグループ化される。図形ノード３０９Ｎ、３１０Ｎは、グループノード４０４によってグループ化される。グループノード４０２、４０４及び図形ノード３１１Ｎは、グループノード４０１によってグループ化される。グループノード４０１は、ルートノードである。本実施形態では、グループノード４０１に透過度「０．５」が設定される。
【００２２】
図５は、情報処理装置１００（制御部１０２）により実行されるグラフィックス３００の表示処理の手順を表すフローチャートである。
【００２３】
制御部１０２は、描画処理を開始すると、ＲＡＭ２０２に形成するオンスクリーンバッファを描画バッファに設定する（Ｓ５０１）。本実施形態では、ＲＡＭ２０２に、オンスクリーンバッファとオフスクリーンバッファとの２種類のバッファが形成される。制御部１０２は、処理内容に応じて、描画バッファをオンスクリーンバッファとオフスクリーンバッファとのいずれかに設定する。図形ノード３０１Ｎ〜３１１Ｎ（アートワーク）は、その時点で描画バッファに設定されているバッファに描画される。
【００２４】
制御部１０２は、オンスクリーンバッファを描画バッファに設定した後に、ルートノードであるグループノード４０１をカレントノードに設定する（Ｓ５０２）。制御部１０２は、カレントノードに対するノード描画処理を行う（Ｓ５０３）。図６は、ノード描画処理の手順を表すフローチャートである。
【００２５】
ノード描画処理では、まず、制御部１０２が、処理対象のカレントノードがグループノードであるか否かを判断する（Ｓ６０１）。カレントノードがグループノードでない場合（Ｓ６０１：N）、カレントノードは図形ノードである。この場合、制御部１０２は、カレントノード（図形ノード）に設定された透過度に応じて、透過処理部１０４により透過処理を行って、描画バッファに該図形ノードのアートワークを描画する（Ｓ６０２）。制御部１０２は、該図形ノードに透過度が設定されていない場合、透過度「０」としてアートワークの描画を行う。
【００２６】
カレントノードがグループノードである場合（Ｓ６０１：Y）、制御部１０２は、カレントノードよりも上位のノード及びカレントノードに、透過度が設定されているか否かを確認する（Ｓ６０３）。
【００２７】
カレントノードよりも上位のノード及びカレントノードのいずれにも透過度が設定されていない場合（Ｓ６０３：N）、制御部１０２は、ステップＳ６０８の処理に移る。カレントノードよりも上位のノード及びカレントノードの少なくとも一方に透過度が設定されている場合（Ｓ６０３：Y）、制御部１０２は、透過方法判定部１０３により透過判定処理を行う（Ｓ６０４）。透過判定処理については、後述する。透過方法判定部１０３は、透過判定処理を行うことで、カレントノードに対して、グループ透過処理と図形ノード透過処理とのいずれを行うかを判定する。
【００２８】
グループ透過処理を行う場合（Ｓ６０５：Y）、制御部１０２は、ＲＡＭ２０２に、子ノードのアートワークを描画可能なサイズのオフスクリーンバッファを形成して、描画バッファに設定する（Ｓ６０６）。
【００２９】
図形ノード透過処理を行う場合（Ｓ６０５：N）、制御部１０２は、カレントノードよりも上位のノード及びカレントノードに設定された透過度により、図形ノード透過処理の際に用いる新たな透過度を算出する（Ｓ６０７）。例えば、カレントノードよりも上位のノードの透過度が「０．２」、カレントノードの透過度が「０．５」の場合、これらを乗ずることで新たな透過度「０．１」を算出する。なお、カレントノードよりも上位のノード或いはカレントノードに透過度が設定されていなければ、設定されている方の透過度をそのまま新たな透過度とする。このような新たな透過度を算出することで、親ノード及び子ノードの両方に透過度が設定されている場合でも、カレントノードに、新たに適切な透過度を設定することができる。
【００３０】
オフスクリーンバッファの設定（Ｓ６０６）後或いは新たな透過度の設定（Ｓ６０７）後に、制御部１０２は、現在のカレントノードから見て長男のノードに、カレントノードを変更する（Ｓ６０８）。カレントノードの変更後、制御部１０２は、ノード描画処理を行う（Ｓ６０９）。このように、再帰的に子ノードを辿ることで、元のカレントノードが持つすべての子ノードに対して透過処理を実行することができる。子ノードをカレントノードとしたノード描画処理が終了すると、カレントノードを元のノードに戻す（Ｓ６１０）。
【００３１】
カレントノードを元のノードに戻した後に、制御部１０２は、ステップＳ６０６で描画バッファに設定したオフスクリーンバッファに描画されたアートワークに透過処理を行ってオンスクリーンバッファに描画する。制御部１０２は、透過処理部１０４により、カレントノードであるグループノードに設定された透過度によりオフスクリーンバッファに描画されたアートワークの透過処理を行う。そして、制御部１０２は、オンスクリーンバッファを描画バッファに設定する（Ｓ６１１）。
【００３２】
その後、制御部１０２は、カレントノードに弟ノードがある場合には、該弟ノードにカレントノードを変更して、ステップＳ６０１の処理に戻る（Ｓ６１２：Y、Ｓ６１３）弟ノードが無い場合（Ｓ６１２：N）、制御部１０２は、ノード描画処理を終了する。
【００３３】
ステップＳ６０４の透過判定処理について、図７の透過判定処理の手順を表すフローチャートにより説明する。
【００３４】
透過判定処理が始まると、透過方法判定部１０３は、カレントノードが持つすべての子ノードの描画領域を取得する（Ｓ７０１）。透過方法判定部１０３は、子ノードの描画領域の重なり部分の大きさが一定量以下（閾値以下）であるか否かを確認する（Ｓ７０２）。重なり部分の閾値は、出力装置２０５の解像度や画面サイズ、グラフィックスのサイズ、ユーザと画面との距離等に基づいて決定される値である。重なり部分の大きさは、例えば、描画領域の重なり部分のピクセル数や、面積、重なりの幅により決めることができる。
【００３５】
描画領域の重なり部分の大きさが閾値以下である場合（Ｓ７０２：Y）、透過方法判定部１０３は、子ノードの描画領域に重なりが少ないために、子ノードのそれぞれで透過処理を行っても画質に問題がないと判断する。そのために透過方法判定部１０３は、カレントノードの透過度を各子ノードの透過度として設定（分配）することで、図形ノード透過処理を行うように判定する（Ｓ７０３）。
【００３６】
その後、透過方法判定部１０３は、制御部１０２により各子ノードに透過度を分配することで処理負荷が増加していないかを予測する。増加している場合、透過方法判定部１０３は、グループ透過処理を行うように判定を変更する（Ｓ７０４）。制御部１０２は、図形ノード透過処理のときの処理負荷及びグループ透過処理のときの処理負荷を予測する。制御部１０２は、例えば、図形ノード透過処理のときとグループ透過処理のときとで、それぞれ使用するオフスクリーンバッファの記憶領域のサイズの総和により、処理負荷を予測する。透過方法判定部１０３は、オフスクリーンバッファのサイズが大きい方が、処理負荷が大きいと判断する。処理負荷が増加していない場合には、透過方法判定部１０３は、図形ノード透過処理を行うように判定する。
【００３７】
なお、透過方法判定部１０３は、図形ノード透過処理を行う場合と、グループ透過処理を行う場合とのＣＰＵ２０１の処理負荷を事前に計測しておき、その値に基づいてどちらの透過方法を使用するかを選択してもよい。
【００３８】
描画領域の重なり部分の大きさが閾値より大きい場合（Ｓ７０２：N）、透過方法判定部１０３は、個別に透過すると画質に影響がでるために、グループ透過処理を行うように判定する（Ｓ７０５）。
このようにして、透過判定処理が終了する。
【００３９】
図５〜図７の処理の具体例を、図４を用いて説明する。
制御部１０２は、オンスクリーンバッファを描画バッファに設定し（図５のＳ５０１）、ルートノードであるグループノード４０１をカレントノードに設定する（図５のＳ５０２）。制御部１０２は、カレントノード（グループノード４０１）から順に、深さ優先探索で各ノードを辿り、透過処理を行う。
【００４０】
カレントノードがグループノード４０１であり、透過度「０．５」に設定されているため、制御部１０２は、透過方法判定部１０３により、グループノード４０１に対して透過判定処理を行う（図６のＳ６０１：Y、Ｓ６０３：Y、Ｓ６０４）。透過方法判定部１０３は、グループノード４０１の子ノードであるグループノード４０２、４０４及び図形ノード３１１Ｎの各描画領域を取得する（図７のＳ７０１）。透過方法判定部１０３は、取得した各描画領域の重なりの判定を行う（図７のＳ７０２）。
【００４１】
透過方法判定部１０３は、グループノード４０２、４０４及び図形ノード３１１Ｎの各描画領域の重なり部分により透過処理方法を判定する。図３のグラフィックス３００では、グループノード４０２（アートワーク３０１〜３０８）の描画領域とグループノード４０４（アートワーク３０９、３１０）の描画領域とに重なり部分があるが、透過方法判定部１０３は、閾値以下であると判定する。図形ノード３１１Ｎ（アートワーク３１１）の描画領域は、他の描画領域との重なり部分がない。そのために、透過方法判定部１０３は、図形ノード透過処理を行うように判定する（図７のＳ７０２：Y）。透過方法判定部１０３は、判定結果に応じて、グループノード４０２、４０４及び図形ノード３１１Ｎに、それぞれカレントノードであるグループノード４０１の透過度と同じ透過度「０．５」を設定（分配）する（図７のＳ７０３）。分配された透過度は、ＲＡＭ２０２に記憶される。
【００４２】
制御部１０２は、次に、子ノードであるグループノード４０２をカレントノードに設定してノード描画処理を行う（図６のＳ６０８、Ｓ６０９）。グループノード４０２には、透過度が設定されているため（図６のＳ６０１：Y、Ｓ６０３：Y）、制御部１０２は、透過方法判定部１０３により透過判定処理を行う（図６のＳ６０４）。
【００４３】
グループノード４０２は、子ノードとして図形ノード３０１Ｎ及びグループノード４０３を持つ。透過方法判定部１０３は、図形ノード３０１Ｎ及びグループノード４０３の描画領域を取得して（図７のＳ７０１）、取得した各描画領域の重なりの判定を行う（図７のＳ７０２）。透過方法判定部１０３は、図３のグラフィックス３００の、図形ノード３０１Ｎ（アートワーク３０１）の描画領域とグループノード４０３（アートワーク３０２〜３０８）の描画領域との重なり部分が、閾値よりも大きいか否か判定する（図７のＳ７０２：N）。図形ノード３０１Ｎ及びグループノード４０３の描画領域の重なり部分が大きいために、透過方法判定部１０３は、透過度「０．５」でグループ透過処理を行うと判定して透過判定処理を終了する（図７のＳ７０５）。
【００４４】
制御部１０２は、グループ透過処理を行うために（図６のＳ６０５：Y）、ＲＡＭ２０２にオフスクリーンバッファを形成して、これを描画バッファに設定する（図６のＳ６０６）。グループノード４０２の子ノードには透過度が設定されていないため、制御部１０２は、子ノード（図形ノード３０１Ｎ及びグループノード４０３）のアートワークをオフスクリーンバッファに描画する。描画後に、制御部１０２は、長男ノードであるグループノード４０３をカレントノードに設定してノード描画処理を行う（図６のＳ６０８、Ｓ６０９）。
【００４５】
グループノード４０３は、透過度が設定されていないノードである。そのために、制御部１０２は、透過のための処理を行わない（図６のＳ６０１：N、Ｓ６０３：N、Ｓ６０８、Ｓ６０９）。制御部１０２は、グループノード４０３の子ノードである図形ノード３０２Ｎ〜３０８Ｎのアートワークを、描画バッファであるオフスクリーンバッファに、順次、重畳して描画する（図６のＳ６０９、Ｓ６０１：N、Ｓ６０２）。
【００４６】
グループノード４０３の子ノードの描画が終了すると、制御部１０２は、カレントノードをグループノード４０３からグループノード４０２に戻す（図６のＳ６１０）。制御部１０２は、カレントノードをグループノード４０２に戻した後に、オフスクリーンバッファに描画した図形ノード３０２Ｎ〜３０８Ｎのアートワークを透過度「０．５」により透過処理を行い、オンスクリーンバッファに描画する。制御部１０２は、オンスクリーンバッファを描画バッファに設定する（図６のＳ６１１）。
【００４７】
次いで制御部１０２は、グループノード４０２の弟ノードであるグループノード４０４をカレントノードに設定して、グループノード４０４のノード描画処理を行う（図６のＳ６１２：Y、Ｓ６１３）。制御部１０２は、グループノード４０４に透過度が設定されているため、透過判定処理を行う（図６のＳ６０１：Y、Ｓ６０３：Y、Ｓ６０４）。
【００４８】
グループノード４０４は、子ノードとして図形ノード３０９Ｎ、３１０Ｎを持つ。透過方法判定部１０３は、図形ノード３０９Ｎ、３１０Ｎのアートワークの描画領域を取得する（図７のＳ７０１）。透過方法判定部１０３は、取得した各描画領域の重なりの判定を行う（図７のＳ７０２）。透過方法判定部１０３は、図３のグラフィックス３００の、図形ノード３０９Ｎ（アートワーク３０９）の描画領域と図形ノード３１０（アートワーク３１０）の描画領域との重なり部分が、閾値よりも大きいか否か判定する（図７のＳ７０２：N）。図形ノード３０９Ｎ、３１０Ｎの描画領域の重なりが閾値よりも大きいために、透過方法判定部１０３は、透過度「０．５」でグループ透過処理を行うと判定して透過判定処理を終了する（図７のＳ７０５）。
【００４９】
制御部１０２は、グループ透過処理を行うために、ＲＡＭ２０２にオフスクリーンバッファを生成して、これを描画バッファに設定する（図６のＳ６０６）。グループノード４０４の子ノードには透過度が設定されていないため、制御部１０２は、子ノード（図形ノード３０９Ｎ、３１０Ｎ）のアートワークを透過度「０．５」により透過処理を行ってオフスクリーンバッファに描画する。また、制御部１０２は、描画バッファをオンスクリーンバッファに設定する（図６のＳ６０９、Ｓ６０１：N、Ｓ６０２、Ｓ６１１）。
【００５０】
次いで制御部１０２は、図形ノード３１１Ｎをカレントノードに設定する（Ｓ６１２：Y、Ｓ６１３）。制御部１０２は、図形ノード３１１Ｎのアートワークを透過度「０．５」により透過処理して、描画バッファであるオンスクリーンバッファに描画する（図６のＳ６０１：N、Ｓ６０２）。
以上のように、図４のようなノード構成を持つグラフィックス３００への処理が終了する。
【００５１】
図８は、グループ透過処理を行う場合の、従来のオフスクリーンバッファのサイズと（図８（ａ））、本実施形態によるオフスクリーンバッファのサイズと（図８（ｂ））の説明図である。
【００５２】
図８（ａ）に示すように、従来は、ルートノードであるグループノード４０１に対してグループ透過処理を行うために、グループノード４０１の下位にあるすべてのノードの描画が可能な領域８０１をオフスクリーンバッファのサイズとする必要がある。このオフスクリーンバッファのサイズは、グラフィックス３００の描画に必要なバッファのサイズと同等となる。
【００５３】
本実施形態では、グループノード４０２、４０４の各々にグループ透過処理を行い、さらに、図形ノード３１１Ｎのアートワークをオンスクリーンバッファに直接描画する。そのために、図８（ｂ）に示すように、オフスクリーンバッファのサイズは、グループノード４０２の描画が可能な領域８０２と、グループノード４０４の描画が可能な領域８０３とを含む大きさがあればよい。
【００５４】
以上のように、アートワークの描画領域の重なりを考慮してオフスクリーンバッファのサイズを設定することで、グラフィックスに対して、高速かつ忠実に透過処理を行うことができる。これにより、グラフィックスを、画質を保ちつつ負荷を削減して描画することができるようになる。
【００５５】
＜他の実施形態＞
第１実施形態では、グループノードであっても、子ノードの描画領域の重なり部分が閾値以下の場合に図形ノード透過処理を行うことで、グラフィックスの透過を高速且つ忠実に表現することを可能としている。図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定は、他の要因であってもよい。以下その例を示す。
【００５６】
出力装置２０５の画面の解像度やグラフィックスのサイズと比較して十分に小さな（所定の大きさよりも小さい）アートワークは、個別に透過を行ってもグラフィック全体から見ると目立たないと判断される。「所定の大きさ」は、出力装置２０５の画面の解像度やグラフィックスのサイズにより決まる。そのために、このようなアートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。このようにアートワークの大きさ（描画領域の大きさ）を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることがきる。
【００５７】
図９（ａ）は、このようなアートワークの例示図である。グラフィックス９００のアートワーク９０１上に、アートワーク９０２〜９０４が表示される。アートワーク９０２〜９０４は、グラフィックス９００に比較して十分に小さく、個別に透過を行っても目立たない。そのために、アートワーク９０２〜９０４に図形ノード透過処理を行っても問題ないと判断される。
【００５８】
他のアートワークに比較して高い透過度が設定されたアートワークは、個別に透過を行っても目立たないと判断される。そのために、このようなアートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。このようにアートワークに設定されている透過度を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００５９】
図９（ｂ）は、このようなアートワークの例示図である。グラフィックス９００のアートワーク９０５上に、アートワーク９０５よりも高い透過度が設定されたアートワーク９０６が表示される。アートワーク９０６は、個別に透過を行っても目立たない。そのために、アートワーク９０６に図形ノード透過処理を行っても問題ないと判断される。
【００６０】
背景の色とほぼ同じ色（色の差分が閾値以下）であるアートワークは、個別に透過を行っても、背景との差がないために目立たないと判断される。そのために、このようなアートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。このようにアートワークの色を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００６１】
図９（ｃ）は、このようなアートワークの例示図である。グラフィックス９００を背景として、背景の色と略同色のアートワーク９０７が表示される。アートワーク９０７は、個別に透過を行っても目立たない。そのために、アートワーク９０７に図形ノード透過処理を行っても問題ないと判断される。
【００６２】
画面の端に表示されるアートワークは、個別に透過を行っても、画面の端であるために目立たないと判断される。例えば、アートワークの描画領域がグラフィックス３００の端から所定の範囲内であれば、該アートワークが画面の端に表示されると判断される。そのために、このようなアートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。このようにアートワークの表示位置を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００６３】
図９（ｄ）は、このようなアートワークの例示図である。グラフィックス９００の端にアートワーク９０８が表示される。アートワーク９０８の表示位置がグラフィックス９００の端であるために、個別に透過を行っても目立たない。そのために、アートワーク９０８に図形ノード透過処理を行っても問題ないと判断される。
【００６４】
アニメーション等によりグラフィックス内を移動して表示されるアートワークは、個別に透過を行っても、移動中であるために目立たないと判断される。そのために、このようなアートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。このようにアートワークの移動の有無を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００６５】
情報処理装置１００の本体が移動する場合、アートワークに個別に透過を行っても、情報処理装置１００の本体が移動中であるために視認性が低いと判断される。この場合、アートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。そのために、情報処理装置１００は、本体の移動を検知するためのセンサを搭載する。このセンサの検知結果を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００６６】
情報処理装置１００のバッテリ残量が所定量以下の場合、アートワークに個別に透過を行うことで消費電力量を低減させることが可能と判断できる。この場合、アートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。そのために、情報処理装置１００にバッテリ残量を検知するセンサを搭載する。このセンサの検知結果を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００６７】
情報処理装置１００が照度の所定値よりも低い環境にある場合、アートワークに個別に透過を行っても、照度が低いために視認性が低いと判断される。この場合、アートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。そのために、情報処理装置１００は本体の周囲の照度を検知するセンサを搭載する。このセンサの検知結果を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００６８】
出力装置２０５の表示面の明度が所定値よりも低く設定されていれば、アートワークに個別に透過を行っても、透過度の違いを認識することが困難であると判断される。この場合、アートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。このように、表示面の明度を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００６９】
出力装置２０５の表示面とユーザの目との距離が所定値よりも遠い場合、アートワークに個別に透過を行っても、ユーザの目では透過の違いを認識することが困難であると判断できる。この場合、アートワークのノードは、親ノードから、透過度が設定（分配）されると判断できる。そのために、情報処理装置１００はユーザの位置を検知するセンサを搭載する。このセンサの検知結果を、図形ノード透過処理を行うか或いはグループ透過処理を行うかの判定要因とすることができる。
【００７０】
以上のように、アートワークの描画領域の重なりだけでなく、様々な要因に基づいてオフスクリーンバッファのサイズを設定することで、グラフィックスの透過を、高速かつ忠実な表現で描画することができる。
【符号の説明】
【００７１】
１００…情報処理装置、１０１…入力部、１０２…制御部、１０３…透過方法判定部、１０４…透過処理部、１０５…表示部。
【図１】
2014229003.tif 000003
【図２】
2014229003.tif 000004
【図４】
2014229003.tif 000005
【図５】
2014229003.tif 000006
【図６】
2014229003.tif 000007
【図７】
2014229003.tif 000008
【図３】
2014229003.tif 000009
【図８】
2014229003.tif 000010
【図９】
2014229003.tif 000011