説明

情報処理装置、情報処理方法及び制御プログラム

【課題】GPUを備えた情報処理装置において、GPUの有する高度な表示処理機能を利用して、CPUの処理負荷を低減しつつ、高度な画像GUIを構築する。
【解決手段】GPU112を用いて表示部111にGUI画面を表示させる放送受信装置100は、GUI画面に対応する仮想的な3次元空間内に配置される複数のノードについて前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリー情報と、前記ノードと前記GUI画面を構成するGUI部品との対応関係をあらかじめ規定した対応テーブルと、を記憶するROM117を備え、MPU116は、対応テーブルを参照して、各ノードに対応するGUI部品を特定し、ノードツリーを参照し、特定されたGUI部品をGPU112の描画命令に変換して、出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、情報処理装置、情報処理方法及び制御プログラムに関する。
【背景技術】
【0002】
従来、ディジタル家電として、ディジタルテレビ、セットトップボックスなどが知られている。
このようなディジタル家電では、製造コストなどの観点から高性能のCPUを使うことはまれであり、低い処理能力のCPUが使用されることが一般的である。
【0003】
一方、ユーザにより快適な操作環境を提供するGUI(Graphic User Interface)を開発するGUIアプリケーション開発者は、ユーザがGUIを介してアプリケーションを扱うときのユーザ体験の向上を目指し、様々な提案をしている(例えば、特許文献1参照)。具体的には、操作レスポンスの向上や、視覚的効果による直観的操作の支援である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2009−508256号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ディジタル家電などのように低い処理能力のCPUで魅力的な効果を実現することは難しく、描画面積の大きいディジタルテレビでは特に困難となっていた。
【0006】
ところで、近年、GPU(Graphic Processor Unit)の発達により、パーソナルコンピュータ(PC)だけでなくディジタルテレビ等のGUIを備えたディジタル家電においてもGPUが搭載されつつある。
しかしながら、GPUの命令体系は複雑であるとともに、表示処理に特化されており、対話機能を備えていないため、単独でGUIを構築することは困難であった。
【0007】
本発明は、上記に鑑みてなされたものであって、GPUを備えた情報処理装置において、GPUの有する高度な表示処理機能を利用して、CPUの処理負荷を低減しつつ、高度な画像GUIを容易に構築することが可能な情報処理装置、情報処理方法及び制御プログラムを提供することにある。
【課題を解決するための手段】
【0008】
実施形態の情報処理装置は、GPUを有し、前記GPUを用いて表示部にGUI画面を表示させる情報処理装置であって、前記GUI画面に対応する仮想的な3次元空間内に配置される複数のノードについて、前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーを備えている。
【0009】
さらに実施形態の情報処理装置は、前記ノードと、前記GUI画面を構成するGUI部品と、の対応関係をあらかじめ規定した対応テーブルを備えている。
これにより、実施形態の情報処理装置の部品特定部は、前記対応テーブルを参照して、各ノードに対応するGUI部品を特定し、命令変換部は、前記ノードツリーを参照し、前記特定されたGUI部品を前記GPUの描画命令に変換して、前記GPUに出力する。
【0010】
また、実施形態の情報処理方法は、GPUを有し、前記GPUを用いて表示部にGUI画面を表示させる情報処理装置で実行される情報処理方法である。
ここで、情報処理装置は、前記GUI画面に対応する仮想的な3次元空間内に配置される複数のノードについて、前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーと、前記ノードと、前記GUI画面を構成するGUI部品と、の対応関係をあらかじめ規定した対応テーブルと、を記憶した記憶部を有している。
【0011】
そして、情報処理方法は、前記対応テーブルを参照して、各ノードに対応するGUI部品を特定する部品特定ステップと、前記複数のノードについて前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーを参照し、前記特定されたGUI部品を前記GPUの描画命令に変換して、前記GPUに出力する命令変換ステップと、を含んでいる。
【0012】
また、実施形態の制御プログラムは、GPUを有し、前記GPUを用いて表示部にGUI画面を表示させる情報処理装置を制御するためのコンピュータに実行される制御プログラムであって、前記情報処理装置は、前記GUI画面に対応する仮想的な3次元空間内に配置される複数のノードについて、前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーと、前記ノードと、前記GUI画面を構成するGUI部品と、の対応関係をあらかじめ規定した対応テーブルと、を記憶した記憶部を有している。
そして、実施形態の制御プログラムは、前記コンピュータに、前記対応テーブルを参照して、各ノードに対応するGUI部品を特定するステップと、前記複数のノードについて前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーを参照し、前記特定されたGUI部品を前記GPUの描画命令に変換して、前記GPUに出力する命令変換ステップと、を実行させる。
【図面の簡単な説明】
【0013】
【図1】図1は、実施形態の情報処理装置としての放送受信装置の概要構成ブロック図である。
【図2】図2は、実施形態の情報処理装置の要部の機能構成ブロック図である。
【図3】図3は、ノードツリーに対応する仮想的な3次元空間を表示部の表示画面に表示した場合の説明図である。
【図4】図4は、ノードを実際に表示画面に表示する場合の処理フローチャートである。
【図5】図5は、GUI部品の描画指示処理の処理フローチャートである。
【図6】図6は、GUI画面を用いたユーザ操作の概念説明図である。
【図7】図7は、描画処理の高速化のための構成説明図である。
【図8】図8は、描画処理の具体的な説明図である。
【図9】図9は、描画処理の高速化におけるバッファリング処理の説明図である。
【図10】図10は、第2実施形態の説明図である。
【図11】図11は、第2実施形態の処理説明図である。
【発明を実施するための形態】
【0014】
次に本発明の好適な実施の形態について図面を参照して説明する。
(第1の実施形態)
図1は、実施形態の情報処理装置としての放送受信装置の概要構成ブロック図である。
【0015】
放送受信装置100は、VHF放送受信用のアンテナ101が接続されるアンテナ入力端子102と、UHF放送受信用のアンテナ103が接続されるアンテナ入力端子104を備えている。ここで、アンテナ101は、アンテナ入力端子102を介してVHFチューナ105に接続され、アンテナ101で受信したVHF放送信号をVHFチューナ105に出力する。また、アンテナ103は、アンテナ入力端子104を介してUHFチューナ107に接続され、アンテナ103で受信したUHF放送信号をUHFチューナ107に出力する。
【0016】
VHFチューナ105及びUHFチューナ107は、選局回路部106からの選局信号に基づいて所望の受信チャンネルを選局し、選局したチャンネルの受信信号を中間周波数信号に変換して中間周波数信号処理部108に出力する。
【0017】
中間周波数信号処理部108は、VHFチューナ105あるいはUHFチューナ107から出力された中間周波数信号を増幅処理した後、映像信号復調部109及び音声信号復調部113に出力する。
映像信号復調部109は、中間周波数信号から、ベースバンドのコンポジット映像信号を復調して、映像信号処理部110に供給する。
【0018】
これと並行して、GPU(Graphic Processor Unit)112は、GUI(Graphical User Interface)形式の表示画面信号を生成して、映像信号処理部110に出力する。
【0019】
映像信号処理部110は、コンポジット映像信号に対して色彩、色相、輝度、コントラスト等の調整を施してLCD等で構成された表示部111に出力して、映像を表示させる。また、映像信号処理部110は、映像信号復調部109から出力されるコンポジット映像信号に代えて、あるいは、コンポジット映像信号に重畳して、GPU112により生成されたGUI形式の表示画面信号に基づく映像を表示部111に表示させる。
【0020】
音声信号復調部113は、中間周波数信号からベースバンドの音声信号を復調して、音声信号処理部114に出力する。
音声信号処理部114は、音声信号に対して音量、音質等の調整を施して、スピーカ、アンプ等を備える音声出力部115に供給して、音声出力部115から音声として出力させる。
【0021】
さらに、放送受信装置100は、受信装置全体を制御するMPU(Micro Processing Unit)116を備えている。
MPU116は、図示しないCPU、内部ROM、内部RAMを備えている。
【0022】
MPU116には、各種処理を実行するための制御プログラムが記憶されたROM117、各種データを一時的に記憶するワークメモリとしてのRAM118が接続されている。また、ROM117には、GPU112において、GUI形式の表示画面信号の生成を制御するための制御プログラムや、GPU112において、グラフィックとして生成させる記号、文字、キャラクタ等のデータも記憶されている。また、MPU116は、現在時刻等の各種時間情報を生成するための計時機能を備えている。
【0023】
さらにまた、放送受信装置100は、リモートコントロール装置や、ルータなどの外部通信機器との間でインタフェース動作を行う通信インタフェース部121を備えている。
【0024】
図2は、実施形態の情報処理装置の要部の機能構成ブロック図である。
放送受信装置100のMPU116は、あらかじめオペレータにより設定されたノードツリーNT及び対応テーブル(対応表)TBを参照して、表示部111に表示すべきノードと、対応するGUI部品を特定する。
【0025】
ここで、ノードには、仮想的な3次元空間中に配置して、表示部111の表示画面に表示すべき対象(オブジェクト)に関する情報が記述されている。具体的には、ノードは、座標、回転、拡大縮小を行列形式で記述しており、ノードのアフィン変換を行うことで仮想的な3次元空間内にオブジェクトを配置できる。
したがって、ノードツリーNTには、仮想的な3次元空間内における各ノードの配置関係が記述されている。
【0026】
図3は、ノードツリーに対応する仮想的な3次元空間を表示部の表示画面に表示した場合の説明図である。
表示部111の表示画面の中央部には、円形(3次元表示的には、楕円形)の画像G1が表示され、画像G1の周辺には、メモリカード形状のアイコンG2、ノートパソコン形状のアイコンG3、ゴミ箱形状のアイコンG4、フレキシブルディスク形状のアイコンG5がオブジェクトとして表示されている。
【0027】
ここで、アイコンとノードとの関係について、アイコンG2を例として説明する。
アイコンG2は、ノードツリーNTにおいては、ノードn2、ノードn3及びノードn4として記述されているものとすると、MPU116は、対応テーブルTBを参照し、ノードn2は、GUI部品としての画像部品PT1と対応しており、ノードn3は、GUI部品としての文字列部品PT2と対応しており、ノードn4は、GUI部品としてのボタン部品PT3と対応していることを把握する。
【0028】
ここで、ノードツリーNTを構成しているノードn2と、ノードn3及びノードn4との関係は、対応する画像部品PT1、文字列部品PT2及びボタン部品PT3の対応関係と同一となっており、文字列部品PT2およびボタン部品PT3は、画像部品PT1の下位に属している。
【0029】
MPU116は、画像部品PT1、文字列部品PT2及びボタン部品PT3に対応する下位描画関数FNを呼び出す。
そして、MPU116は、OpenGL置換部CNとして機能し、呼び出した下位描画関数FNをOpenGL描画命令に置換(変換)する。
【0030】
続いてMPU116は、OpenGL描画部DRとして機能し、下位描画関数FNを置換(変換)して得られたOpenGL描画命令をGPU112に出力して実際の描画を行わせる。
これらの一連の処理により、図3に示すように、ノードn2、ノードn3及びノードn4に対応するメモリカード形状のオブジェクト(画像部品PT1に相当)が、画像G1の円周の近傍に配置された画面が表示部111の表示画面に表示されることとなる。
【0031】
そして、上述したように文字列部品PT2及びボタン部品PT3は、画像部品PT1の下位に属しているので、例えば、メモリカード形状の画像部品PT1が画像G1の円周に沿って回転されると、文字列部品PT2を構成する文字列も画像部品PT1の表面に印刷されたような状態で、画像部品PT1の回転に伴って移動しつつ表示される。また、ボタン部品PT3も画像部品PT1の表示画面上の表示領域内をクリックすることにより当該ボタン部品に割り当てられた機能(例えば、メモリカードの内容を表示する等)を実現する。
【0032】
さらに、画像部品PT1、文字列部品PT2あるいはボタン部品PT3にエフェクト処理が割り当てられている場合には、各部品PT1〜PT3の表示状態あるいは操作状態に応じてエフェクト処理が実行される。すなわち、図2及び図3の例の場合には、画像部品PT1の背景に対する鏡面反射のエフェクトEF(=図2の鏡面エフェクトEF2)が設定されている場合である。
【0033】
ここで、GUIアプリケーション開発について説明する。
オペレータとしてのGUIアプリケーション開発者は、ノードツリーNTを構築し、仮想的な3次元空間上にノードを配置する。
【0034】
本実施形態においては、GUIアプリケーション開発者に提供する配置用の機能としては、例えば、以下の機能が揚げられる。ノードを生成するノード生成機能、ルートノードを設定するルートノード設定機能、ノードに子ノードを設定する子ノード設定機能、ノードの親を変更する親変更機能、ノードを回転させるノード回転機能、ノードの拡大/縮小を行うノード拡大/縮小機能、ノードの移動を行うノード移動機能、ノードの透過率を変更するためのα値変更機能等が挙げられる。
【0035】
また、ノードとGUI部品との対応付けを行うための対応付け機能を有している。この対応付け機能を実行することにより、MPU116は、自動的に対応テーブルTBを生成し、あるいは更新する。
すなわち、対応テーブルTBの更新時には、新しい行が追加され、ノードツリーにおけるノードと、実際に描画を行うGUI部品とが対応付けられる。
【0036】
さらに、GUIアプリケーション開発者に提供する機能として、アニメーション機能が提供されている。
アニメーション機能としては、座標位置からアニメーションオブジェクトを生成する座標位置オブジェクト生成機能、回転角度からアニメーションオブジェクトを生成する回転オブジェクト生成機能、拡大/縮小比率からアニメーションオブジェクトを生成する拡大縮小オブジェクト生成機能、α値を変更するアニメーションオブジェクトを生成するα値オブジェクト生成機能などが挙げられる。これらのアニメーションオブジェクト生成機能は、変換行列で実現されており、アフィン変換を適用することで期待する効果を得ている。
【0037】
また、生成されたアニメーションオブジェクトに対し、開始時刻とアニメーション期間とを、対応づけて設定して登録しておくことで、自動的なアニメーション再生動作を行わせることも可能である。また、ノード自体のアニメーションだけでなく、表示画面に対応する視点側のカメラを移動させたアニメーションとすることも可能である。
さらにまた、GUIアプリケーション開発者に提供する機能として、視覚効果付加機能が提供されている。
【0038】
視覚効果(視覚エフェクト)付加機能としては、ノードを白黒表示とする白黒効果、ノードをぼかして表示するぼかし効果、動いている対象をカメラで撮影した時に生じるぶれを付加するブラー効果、光源を配置してノードを照明する光源効果、いずれかのノードあるいは背景を鏡面として、鏡面反射効果を付加する鏡面反射効果、ノードの輪郭を抽出して表示する輪郭抽出効果等が挙げられる。
【0039】
これらの視覚効果は、GPUソフトウェア命令機能を活用して実現され、これらの視覚効果を付加する場合には、GUIアプリケーション開発者は、希望する視覚効果のオブジェクトを指定し、ノードに対応付けし、GPU112は、MPU116の制御下でノード描画時に自動的に判別し、対応付けられたGPUソフトウェア命令を使用して描画することとなる。
【0040】
図3に示したような画面を表示部111に表示する場合には、GUIアプリケーション開発者は、まず所望のノードのレイアウト情報を、ノード操作機能を使用して作成する。次に、GUIアプリケーション開発者は、GUI部品のインスタンスを生成し、画像ファイルのパスなどの属性値を設定した後、これらのインスタンスを各ノードに対応付ける。次にこれを実行可能形式にコンパイルして実行すれば、作成したGUI画面が得られる。
【0041】
次に描画動作について説明する。
図4は、ノードを実際に表示画面に表示する場合の処理フローチャートである。
MPU116は、予めGUIアプリケーション開発者が設定した周期に従い、定期的に自動的に描画を実行する。
【0042】
具体的には、描画タイミング至るとMPU116は、ノードツリーNTを参照し、ルートノードから、深さ優先でノードを探索し、探索順にノードの描画を行うこととなる。
ここで、MPU116は、GPU112に描画を行わせる前に、描画対象のノード(以下、自ノードという)に設定された変換行列を描画処理スタックにプッシュ(push)する(ステップS11)。
続いて、MPU116は、GUI部品の描画指示を行う(ステップS12)。
【0043】
図5は、GUI部品の描画指示処理の処理フローチャートである。
まず、MPU116は、対応テーブル TBを参照し、ノードとGUI部品との対応関係を把握する(ステップS21)。
【0044】
続いて、MPU116は、参照したGUI部品について、対応する下位描画関数FNを呼び出すとともに、OpenGL置換部CNとして機能し、呼び出した下位描画関数FNをOpenGL描画命令に置き換える。すなわち、下位描画関数FNは、描画対象の3次元空間内における頂点座標によるGPU命令(描画命令)に置き換えられる。ここで、OpenGL描画命令に置き換えるとは、通常、「座標(x1,y1)から座標(x2,y2)まで線を描く」、「座標(x,y)を始点として、幅width、高さhightで表される面を塗りつぶす」等の下位描画関数(下位描画命令)を、OpenGL描画命令体系における3次元頂点座標と描画命令とに変換することである。
【0045】
このように、GUI部品の下位描画関数は、3次元空間の頂点座標で記述されたGPU命令に置き換えられているため、変換行列と非常に相性が良く、単純にアフィン変換を適用することで、GUI部品を仮想的な3次元空間に描画することができることとなっている。
【0046】
続いて、MPU116は、把握した一または複数の画像部品に対応する下位描画関数FNを呼び出し、OpenGL置換部CNとして機能し、呼び出した下位描画関数FNをOpenGL描画命令に置換(変換)し、今度は、OpenGL描画部DRとして機能して下位描画関数FNを置換(変換)して得られたOpenGL描画命令をGPU112に出力して実際の描画を行わせる(ステップS22)。
次にMPU116は、自ノードに下位階層の子ノードが存在するか否かを判別する(ステップS13)。
【0047】
ステップS13の判別において、MPU116は、自ノードに下位階層の子ノードが存在しない場合には(ステップS13;No)、描画対象の自ノードに設定された変換行列を描画処理スタックからポップ(pop)して(ステップS14)、処理を終了する。
【0048】
ステップS13の判別において、自ノードに下位階層の子ノードが存在する場合には(ステップS13;Yes)、MPU116は、自ノードを当該子ノードとし(ステップS15)、GUI部品の描画指示を行う(ステップS16)。
【0049】
これにより、自ノードに下位階層の子ノードが存在した場合には、再帰的に描画が呼び出されるため、子ノードは、自己が自ノードとなって描画される場合には、親ノードの変換行列を引き継ぐことになる。子ノードの描画後、親ノードである自ノードは、自身の変換行列を描画処理スタックにプッシュ(push)して、描画処理を再開することとなる。
【0050】
より具体的には、親ノードが回転の変換行列を保持していた場合には、子ノードに対しても自動的に回転の変換行列が適用される。
このように自ノードの描画処理は、再帰呼び出し可能に構成されているので、GUIアプリケーション開発者は、一つ一つの変換行列を制御する必要はなく、適切なノードツリーを構築するだけで、レイアウトやアニメーション、視覚効果を各ノードに対して適用することができる。
【0051】
図6は、GUI画面を用いたユーザ操作の概念説明図である。
GUI画面においては、3次元仮想空間の表示部111の表示画面への投影面VA内には、GUI部品の投影領域が存在する。
【0052】
すなわち、図6では、ゴミ箱形状のアイコンG4に対応する投影領域VG4及びフレキシブルディスク形状のアイコンG5に対応する投影領域VG5が存在し、これらの投影領域VG4、VG5内に図6中、矢印の絵柄で示すポインタが存在し、かつ、操作入力部120において、所定のクリック操作がなされたか否かを判別し、投影領域内でクリックがなされた場合には、対応するGUI部品に対してその旨を通知する。
【0053】
具体的には、投影領域VG5内にポインタが存在し、かつ、操作入力部120の所定の操作ボタンのクリックがなされた場合には、フレキシブルディスク形状のアイコンG5にあらかじめ割り当てられたデバイス及び機能(例えば、メモリデバイスの内容表示機能)を実現することとなる。
【0054】
より具体的には座標(x,y)に相当する位置にポインタが存在し、操作入力部120において所定のクリック操作がなされたとき、この投影面VA上の座標(x,y)を含む投影領域を有する候補ノードを検索する。すなわち、当該タイミングにおける表示部111の表示画面の表示状態において、それぞれのノードに対応するアイコンの投影領域の位置を計算し、座標(x,y)を含む投影領域か否かを判別し、当該投影領域に座標(x,y)が含まれる場合は、その奥行き方向(図6におけるz軸方向)の距離を記憶する。
【0055】
そして、MPU116は、すべてのノードに対して同様の処理を繰り返し行い、投影面VA上の座標(x,y)を含む投影領域を有する候補ノードのうちで、表示画面からの奥行き方向の距離が最も近い候補ノードを決定する。
MPU116は、決定した候補ノードに対応するGUI部品にクリックイベントを転送する。一般的に、GUIツールキットで提供されるGUI部品は、イベントを受信する機構を有しており、これを利用することで実現している。
【0056】
したがって、GUIの対話機能性を損ねることなく、仮想的な3次元空間への配置やアニメーション、視覚効果の付加などを実現することができるので、GUIアプリケーション開発者は、既存の2次元描画領域を想定したGUI部品を使って、クリック入力の動作を記述すれば良いこととなる。これにより、GUI開発における開発効率を確保することができる。
【0057】
次に、図面を参照して、描画処理の高速化について説明する。
図7は、描画処理の高速化のための構成説明図である。
一般的にGPUを使用してグラフィック描画を行う場合、その描画命令をできるだけ削減することが望ましい。また、OpenGLは、状態マシン(ステートマシン)であり、状態の変更は一般的に重い処理となり、描画速度に影響する。
しかしながら、以上の説明においては、構築されたノードツリーNTを、深さ優先のアルゴリズムに従って、描画順を決定しており、状態変更に伴う影響については、述べていなかった。
【0058】
そこで、本実施形態においては、状態変更に伴う、描画速度の低下を抑制するために、図7に示すように、OpenGL置換部CNと、OpenGL描画部DRと、の間に、描画手順の調整を行う頂点整理部SRを設け、ノードからの変換行列、OpenGL描画命令及びGUI部品に対応する頂点データをバッファリングし、調整を行う。
図8は、描画処理の具体的な説明図である。
ノードツリーNTは、ルートノードの下位に、ノードn1及びノードn2が位置し、さらにノードn2の下位には、ノードn3及びノードn4が位置している。
【0059】
そして、ノードn1、ノードn2、ノードn4については、エフェクトとして、ぼかしエフェクトEF11、EF12が適用され、ノードn3のみ他のノードとは異なる鏡面エフェクトEF2が適用されている場合を想定する。
このとき、通常の描画順では、「ノードn1(ぼかしエフェクト)」→「ノードn2(ぼかしエフェクト)」→「ノードn3(鏡面エフェクト)」→「ノードn4(ぼかしエフェクト)」の順番で、4回の描画処理(3回の状態変更)が必要となる。
【0060】
図9は、描画処理の高速化におけるバッファリング処理の説明図である。
これに対し、本実施形態では、図9に示すように、頂点整理部SRにおいて、同一のエフェクトが適用されたノード同士を同一のバッファエリアにバッファリングすることとなる。
【0061】
具体的には、ぼかしエフェクトEF11、EF12(=ぼかしエフェクトEF1)が適用されるノードn1、ノードn2、ノードn4については、バッファエリアGR1に格納するバッファリングを行い、鏡面エフェクトEF2が適用されるノードn3については、バッファエリアGR2に格納するバッファリングを行う。
【0062】
続いて、全てのノードに対してバッファリングが完了すると、頂点整理部SRとして機能するMPU116は、バッファエリアGR1、GR2毎に格納されたノードの頂点データを結合し、一つのOpenGL描画命令を実行する。
【0063】
したがって、本実施形態の場合の描画順は、「ノードn1+ノードn2+ノードn4(ぼかしエフェクトEF1)」→「ノードn3(鏡面エフェクトEF2)」の順番で2回の描画処理(1回の状態変更)となり、上述した通常の描画処理と比較して、描画処理回数は1/2、状態変更回数は1/3となり、大幅な処理速度の向上が図れることとなる。
【0064】
以上の説明は、バッファエリアが二つの場合であったが、バッファリング中に異なるエフェクトが適用されたノードが現れた際は、別のバッファエリア(若しくは、別のバッファ)に格納し、それぞれのバッファエリア(若しくは、それぞれのバッファ)毎に描画命令を発行することとなる。
【0065】
また、自身が親ノードである場合は、子ノードよりも親ノードを先に描画するという描画順を変更することは許可しないようにされている。このため、子ノードに適用されたエフェクトを調べ、すでにバッファリングされているエフェクトであれば、その時点で実際の描画を開始し、全バッファエリア(若しくは全バッファ)をフラッシュ(クリア)し、新規にバッファリングを開始する。また、すでにバッファリングされているエフェクトでない場合、さらに別のバッファエリア(若しくはバッファ)に格納する。
【0066】
また、本処理手順(アルゴリズム)は、状態変化にも適用できる。たとえば、OpenGL描画命令体系においては、その状態(ステート)として、アルファブレンディングを有効にする、深さバッファを使用する、ステンシルバッファを使用する、などの状態が提供される。したがって、この場合にも、エフェクトと同様、深さ優先の描画順でバッファリングを行い、現在の状態(ステート)と異なる状態(ステート)が出現した際には、別のバッファエリア(若しくは別のバッファ)に格納し、実際の描画の開始タイミングも上述したものと同様に考えることができる。
【0067】
(第2実施形態)
図10は、第2実施形態の説明図である。
第2実施形態は、3D(3次元)ディジタルテレビのGUIを実現した場合の実施形態である。
本第2実施形態においては、仮想的な3次元空間SP内に配置したGUIを、カメラの位置C1〜CNを変更して画面G11〜G1Nを再描画することで、視差毎のGUI画面を容易に生成している。
【0068】
図11は、第2実施形態の処理説明図である。
この場合においても、図7〜図9で説明したように、同一のエフェクトあるいは同一の状態変化が複数のノードに割り当てられている場合には、図11に示すように、頂点整理部SRの機能をMPU116に持たせ、頂点データをバッファリングすることにより、視差毎の画面をN回描画したとしても、描画に要する時間、あるいは、必要とされる描画速度が単純にN倍とはならず、処理の高速化が図れる。特に大画面で裸眼3D視聴時におけるGUIの3D(3次元)表現を実現する際に、有効な技術となる。
【0069】
(実施形態の変形例)
以上の説明においては、GPU命令体系として、OpenGL命令体系に対応した情報処理装置について説明したが、DirectX等の他のGPU命令体系に対応した情報処理装置においても、同様に適用が可能である。
さらに、GPUを保持していない、CPUによるエミュレーション環境においても、同様に適用することができる。
【0070】
本実施形態の情報処理装置は、CPUなどの制御装置と、ROM(Read Only memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【0071】
本実施形態の情報処理装置で実行される制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(DigitalVersatileDisk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0072】
また、本実施形態の情報処理装置で実行される制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置で実行される制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0073】
また、本実施形態の情報処理装置の制御プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【0074】
100 放送受信装置
111 表示部
112 GPU
116 MPU(部品特定部、命令変換部、命令置換部)
120 操作入力部
CN OpenGL置換部
DR OpenGL描画部
FN 下位描画関数
NT ノードツリー
SP 3次元空間
SR 頂点整理部(命令整理部)
TB 対応テーブル
GR1 バッファエリア(バッファ)
GR2 バッファエリア(バッファ)
PT1 画像部品(GUI部品)
PT2 文字列部品(GUI部品)
PT3 ボタン部品(GUI部品)
n1〜n4 ノード
EF、EF11、EF12、EF2 エフェクト

【特許請求の範囲】
【請求項1】
GPUを有し、前記GPUを用いて表示部にGUI画面を表示させる情報処理装置であって、
前記GUI画面に対応する仮想的な3次元空間内に配置される複数のノードについて、前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーと、
前記ノードと、前記GUI画面を構成するGUI部品と、の対応関係をあらかじめ規定した対応テーブルと、
前記対応テーブルを参照して、各ノードに対応するGUI部品を特定する部品特定部と、
前記ノードツリーを参照し、前記特定されたGUI部品を前記GPUの描画命令に変換して、前記GPUに出力する命令変換部と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記GUI部品は、下位描画関数を含み、
前記命令変換部は、前記下位描画関数を前記GPUの描画命令に置換する命令置換部を備えたことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記命令置換部により置換された複数の描画命令を所定の処理種別毎にバッファリングし、バッファリングされた複数の描画命令をまとめる命令整理部を備えたことを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記処理種別は、前記ノードに適用されるエフェクトあるいは状態変更であることを特徴とする請求項3記載の情報処理装置。
【請求項5】
GPUを有し、前記GPUを用いて表示部にGUI画面を表示させる情報処理装置で実行される情報処理方法であって、
前記情報処理装置は、前記GUI画面に対応する仮想的な3次元空間内に配置される複数のノードについて、前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーと、前記ノードと、前記GUI画面を構成するGUI部品と、の対応関係をあらかじめ規定した対応テーブルと、を記憶した記憶部を有し、
前記対応テーブルを参照して、各ノードに対応するGUI部品を特定する部品特定ステップと、
前記複数のノードについて前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーを参照し、前記特定されたGUI部品を前記GPUの描画命令に変換して、前記GPUに出力する命令変換ステップと、
を含むことを特徴とする情報処理方法。
【請求項6】
GPUを有し、前記GPUを用いて表示部にGUI画面を表示させる情報処理装置を制御するためのコンピュータに実行される制御プログラムであって、
前記情報処理装置は、前記GUI画面に対応する仮想的な3次元空間内に配置される複数のノードについて、前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーと、前記ノードと、前記GUI画面を構成するGUI部品と、の対応関係をあらかじめ規定した対応テーブルと、を記憶した記憶部を有し、
前記コンピュータに、
前記対応テーブルを参照して、各ノードに対応するGUI部品を特定するステップと、
前記複数のノードについて前記3次元空間内の配置関係を含む相互関係があらかじめ設定されたノードツリーを参照し、前記特定されたGUI部品を前記GPUの描画命令に変換して、前記GPUに出力する命令変換ステップと、
を実行させることを特徴とする制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−137988(P2012−137988A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−290714(P2010−290714)
【出願日】平成22年12月27日(2010.12.27)
【特許番号】特許第4960495号(P4960495)
【特許公報発行日】平成24年6月27日(2012.6.27)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】