以下、本発明の各実施の形態について、図面を参照して詳細に説明する。なお、以下で示す実施の形態は、一例であり、システムの構成、機能ブロックの構成は限定されるものではない。
なお、本発明の各実施の形態に係る画面合成装置は、動画を含む複数の表示面(表示レイヤ)を合成する。その際、画面合成装置は、動画を含む複数の表示面の表示レイアウトにおいて、ビデオ面とバックグラウンド面とフォアグラウンド面と、を別々に生成する。ここで、「ビデオ面」は、動画を表示するための表示レイヤで構成される動画面である。「バックグラウンド面」は、動画面に対して背面側に位置する背景画像を表示するための表示レイヤで構成される下層フレームである。「フォアグラウンド面」は、動画面に対して表面側に位置する表面画像を表示するための表示レイヤで構成される上層フレームである。また、背景画像は、動画より下層に位置するグラフィクスであり、以下、下層GFXと称する。また、表面画像は、動画より上層に位置するグラフィクスであり、以下、上層GFXと称する。
つまり、本発明の各実施の形態に係る画面合成装置は、動画以外の表示面(例えば、テキスト及び静止画等)を、上層フレームと下層フレームとに振り分けて、それぞれのフレーム毎に事前合成を行う。そして、画面合成装置は、下層フレーム、動画面、及び、上層フレームを順に合成することで最終的な表示画面を生成する。
(実施の形態1)
図1は、本実施の形態に係る画面合成装置100の構成を示すブロック図を示す。
図1に示す画面合成装置100において、アプリケーション群101は、画面合成装置100を利用するアプリケーション群を示す。例えば、アプリケーション群101は、アプリケーション1、アプリケーション2、…、アプリケーションN等、複数のアプリケーションの集まりで構成される。
オブジェクト情報バッファ102は、アプリケーション群101の各アプリケーションがそれぞれ描画する画像データ、及びテキスト等の実際のデータを示すオブジェクト情報を格納する。オブジェクト情報は、各表示レイヤのオブジェクト情報、すなわち、定義された表示レイアウトに実際に表示する表示レイヤの表示内容を示す。
例えば、図2は、表示レイアウトに含まれる各表示レイヤを示す。また、図3は、図2に示す各表示レイヤのオブジェクト情報を示す。図2では、出力画面全体に対して、レイヤA,B,C,Dの4つの表示レイヤが表示される。図3に示すように、オブジェクト情報バッファ102に格納されているオブジェクト情報は、「レイヤ名称」、「属性情報」、「フォーマット情報」及び「実体アドレス」から構成される。なお、「レイヤ名称」は、表示レイヤの名称を示す。「属性情報」は、オブジェクトの属性を示す。「フォーマット情報」は、オブジェクトのフォーマットを示す。「実体アドレス」は、オブジェクトの実体アドレスを示す。なお、図3に示す「属性情報」は、textがテキストであることを示し、imageが静止画像であることを示し、movieが動画像であることを示す。例えば、図3において、レイヤAのオブジェクト情報は、属性情報がimage(静止画像)であり、フォーマット情報がARGB8888であり、実体アドレスが0x00080000であることを示す。レイヤB〜Dのオブジェクト情報のデータ形式は、レイヤAと同様である。
レイアウト情報バッファ103は、アプリケーション群101の各アプリケーションがそれぞれ描画するための描画先領域のレイアウト情報を格納する。描画先領域のレイアウト情報は、例えば、画像データの座標情報(表示レイヤの領域を示す情報)、及び、表示レイアウト内の複数の表示レイヤ間の階層順序を示す階層情報等である。
例えば、図4は、図2に示す表示レイアウトに含まれる各表示レイヤのレイアウト情報を示す。図4に示すように、レイアウト情報バッファ103に格納されているレイアウト情報は、「レイヤ名称」、「最左上端座標」、「最右下端座標」、及び、「階層情報」から構成される。なお、「レイヤ名称」は、表示レイヤの名称を示す。「最左上端座標」は、表示レイヤの最左上の座標点を示す。「最右下端座標」は、表示レイヤの最右下の座標点を示す。「階層情報」は、出力画面全体に表示される複数の表示レイヤ間の階層順序を示す。
なお、図4における座標表現としては、図2に示す出力画面全体の左上端が原点(0, 0)として表現され、右方向及び下方向に進むに従って値が増えるものとする。また、図2に示す表示レイアウトにおいて、各表示レイヤは、最左上端座標と最右下端座標とで表現される矩形領域とする。また、図4に示す階層情報は、値が小さいほど画面の奥(下層側)に位置することを示し、値が大きいほど画面の手前(上層側)に位置することを示す。すなわち、図2に示す表示レイアウトは、画面の一番奥(最下層)から、レイヤB(階層情報:1)、レイヤA(階層情報:2)、レイヤC(階層情報:3)、レイヤD(階層情報:4)の順の階層構成を示す。
合成処理コストDB104は、事前合成処理毎の処理コストを示す合成処理コスト情報を記憶する。なお、以下、事前合成処理毎の処理コストは、合成処理コスト、又は、重畳コストと称することもある。例えば、図5は、合成処理コストDB104で記憶される合成処理コスト情報を示す。図5に示す合成処理コスト情報は、合成対象のバッファの名称を示す「合成対象バッファ名称」及び合成処理コストの値を示す「合成処理コスト値」から構成される。なお、図5に示す合成対象バッファ名称において、FB0は、上層フレーム合成バッファ107を示し、FB1は、下層フレーム合成バッファ109を示す。また、図5に示す合成処理コスト値は、各バッファにおいて合成処理にかかる計算時間を示す。つまり、図5では、FB0(上層フレーム)における合成処理にかかる計算時間(300)は、FB1(下層フレーム)における合成処理にかかる計算時間(200)よりも長い。すなわち、図5では、上層フレームの合成処理コストの方が下層フレームの合成処理コストよりも高い。
なお、本実施の形態において、一例として、合成処理コストDB104は、システム設計者が事前に決定した値を保持して用いる場合について説明している。また、本実施の形態において、当該端末は、例えば、端末(画面合成装置100)の電源投入直後の画面描画時などに、上層フレーム及び下層フレームの処理時間をそれぞれ計測してもよい。そして、端末は、計測結果を合成処理コストとして登録して用いてもよい。
合成先振り分け判定部105は、アプリケーション群101の各アプリケーションによる描画内容(表示レイヤ)の合成先として、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれか一方を選択する。具体的には、合成先振り分け判定部105は、オブジェクト情報(例えば、図3)、レイアウト情報(例えば、図4)及び合成処理コスト情報(例えば、図5)を参照する。なお、オブジェクト情報は、オブジェクト情報バッファ102に格納される。レイアウト情報は、レイアウト情報バッファ103に格納される。合成処理コスト情報は、合成処理コストDB104に記憶されている。そして、合成先振り分け判定部105は、各アプリケーションにおける描画内容を表示するための表示レイヤを、下層フレームで合成するべきか、上層フレームで合成するべきかを判定する。この際、動画面を表示するための表示レイヤは、合成先振り分け判定部105による合成先振り分け対象となる表示レイヤから除かれる。
上層フレーム合成部106は、合成先振り分け判定部105から入力される表示レイヤ(合成対象となるアプリケーションの描画結果)を、上層フレーム合成バッファ107に合成する。つまり、上層フレーム合成部106は、合成先振り分け判定部105で上層フレームに合成すべきと判定された表示レイヤ(上層GFXとして判定された表示レイヤ)を、上層フレーム合成バッファ107に合成する。
上層フレーム合成バッファ107は、動画より上層に位置する表示レイヤ(上層GFX)の合成結果を保持する。
下層フレーム合成部108は、合成先振り分け判定部105から入力される表示レイヤ(合成対象となるアプリケーションの描画結果)を、下層フレーム合成バッファ109に合成する。つまり、下層フレーム合成部108は、合成先振り分け判定部105で下層フレームに合成すべきと判定された表示レイヤ(下層GFXとして判定された表示レイヤ)を、下層フレーム合成バッファ109に合成する。
下層フレーム合成バッファ109は、動画より下層に位置する表示面(下層GFX)の合成結果を保持する。
動画復号部110は、アプリケーション群101に動画再生機能を含むアプリケーションが含まれる場合、画面合成装置100に蓄積された符号化映像データ又はネットワーク経由で伝送された符号化映像データに対して復号処理を行う。そして、動画復号部110は、復号後の映像データを動画面バッファ111に出力する。
動画面バッファ111は、動画復号部110から入力される映像データを格納する。
表示画面合成出力処理部112は、以下の順に、表示画面の背面側から合成する。表示画面の背面側から合成する順番は、下層フレーム合成バッファ109が保持する下層フレームの合成結果、動画面バッファ111が保持する映像データ、上層フレーム合成バッファ107が保持する上層フレームの合成結果の順である。これにより、最終的な出力画像(表示画面)が生成される。なお、下層フレームの合成結果は、動画の表示レイヤ(動画レイヤ)よりも下層で事前合成される表示レイヤから成る下層フレーム(つまり、バックグラウンド面)である。また、映像データは、動画レイヤである。また、上層フレームの合成結果は、動画レイヤよりも上層で事前合成される表示レイヤから成る上層フレーム(つまり、フォアグラウンド面)である。そして、表示画面合成出力処理部112は、最終的な出力画像を出力画面113に出力する。
出力画面113は、表示画面合成出力処理部112から入力される最終的な出力画像を提示する。
次に、画面合成装置100における事前合成処理の詳細について説明する。なお、ここでは、図3に示すオブジェクト情報及び図2に示す表示レイアウトに対する事前合成処理について説明する。なお、図2に示す表示レイアウトは、図4に示すレイアウト情報から成る。
図6は、本実施の形態に係る画面合成装置100により実行される事前合成処理を、説明するためのフローチャートである。
図6のステップ(以下、「ST」と称する)101において、合成先振り分け判定部105は、合成先振り分け判定に用いるパラメータを初期化する。具体的には、合成先振り分け判定部105は、合成先振り分け判定処理の判定基準となる合成先判定基準領域の値として動画面(動画レイヤ。図2ではレイヤB)の領域情報(例えば、座標及び階層情報)を設定する。
この合成先判定基準領域は、合成先振り分け判定部105が動画レイヤ以外の対象領域を、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のどちらに振り分けるかを、判定する基準となる判定パラメータである。例えば、動画レイヤ以外の対象領域は、図2ではレイヤA,C,Dである。具体的には、合成先判定基準領域は、基準レイヤである動画レイヤ、及び、動画レイヤよりも上層で事前合成すべき表示レイヤの和集合である。ここで、動画レイヤよりも上層で事前合成すべき表示レイヤは、合成先振り分け判定部105の判定処理過程において、上層フレーム合成バッファ107に合成すべきと判定された表示レイヤである。
より詳細には、合成先判定基準領域は、基準レイヤと判定対象の表示レイヤとの間の階層に位置する表示レイヤのうち、階層順序に基づいた合成先候補のフレームに合成される表示レイヤと、基準レイヤとの和集合の領域である。例えば、基準レイヤよりも上層に位置するある判定対象の表示レイヤに対する合成先判定基準領域は、表示レイヤと、基準レイヤとの和集合の領域である。なお、表示レイヤは、基準レイヤと判定対象の表示レイヤとの間の階層順序である表示レイヤのうち、階層順序に基づいた合成先候補のフレーム(つまり、上層フレーム合成バッファ107)に合成される。
図7は、合成先判定基準領域の一例を示す。ここで、合成先判定基準領域は、複数の領域の集合で表現される。合成先判定基準領域は、1行に1つの領域が示された領域情報の和集合で示される。図7に示す合成先判定基準領域は、最左上端座標(0, 0)、最右下端座標(200, 240)、階層情報が2の矩形領域と、最左上端座標(200, 0)、最右下端座標(400, 100)、階層情報が3の矩形領域との和集合で示される。合成先振り分け判定部105は、合成先振り分け判定対象の領域(表示レイヤ)が合成先判定基準領域より手前(つまり、表面側又は上層側)に位置するか否かを判断する。また、合成先振り分け判定部105は、合成先振り分け判定対象である表示レイヤの領域が合成先判定基準領域と共通部分を持つか否かを判断する。そして、合成先振り分け判定部105は、これらの判断結果に応じて、その表示レイヤを上層フレーム合成バッファ107又は下層フレーム合成バッファ109のどちらで合成させるかを判定する。
図6に示すST101において、合成先振り分け判定部105は、合成先判定基準領域として、動画レイヤ(図2に示すレイヤB)の領域情報を初期値とする。この結果、合成先判定基準領域は、図4に示すレイヤBのレイアウト情報に基づいて、最右下端座標(200, 100)、最左上端座標(800, 500)、階層情報が1、という領域情報で示される。
ST102において、合成先振り分け判定部105は、表示レイアウトを構成する複数の表示レイヤのうち、一番奥の階層の表示レイヤ(最下層(最も背面側)の表示レイヤ)を、今回の合成先振り分け判定対象レイヤに設定する。図2において、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤとして、動画レイヤ(レイヤB)を除いた表示レイヤ(レイヤA,C,D)のうち一番奥の表示レイヤであるレイヤA(階層情報:2)を設定する。
ST103において、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分があるか否かを判断する。
今回の合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分がある場合(ST103:YES)、合成先振り分け判定部105は、ST104の処理を行う。ST104において、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤが、今回の合成先振り分け判定対象レイヤと合成先判定基準領域との共通部分となる領域の手前に位置するか否かを判断する。つまり、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤの階層情報が上記共通部分における合成先判定基準領域の階層情報より大きいか否かを判断する。
今回の合成先振り分け判定対象レイヤが、今回の合成先振り分け判定対象レイヤと合成先判定基準領域との共通部分となる領域の手前に位置する場合(ST104:YES)、合成先振り分け判定部105は、ST106の処理を行う。すなわち、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤを、上層フレーム合成バッファ107で必ず合成しないといけない領域であると判断し、ST106の処理に進む。また、今回の合成先振り分け判定対象レイヤが、今回の合成先振り分け判定対象レイヤと合成先判定基準領域との共通部分となる領域の手前に位置しない場合(ST104:NO)、合成先振り分け判定部105は、ST108の処理を行う。すなわち、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤを、下層フレーム合成バッファ109で必ず合成しないといけない領域であると判断し、ST108の処理に進む。
このように、合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分がある場合(ST103:YES)、合成先振り分け判定部105は、ST104の処理を行う。すなわち、合成先振り分け判定部105は、ST104において、合成先振り分け判定対象レイヤに対して、階層順序が合成先判定基準領域の上層であるか下層であるかを判断する。そして、合成先振り分け判定部105は、判断結果に基づいて、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれに合成するかを判定する。
一方、合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分がない場合(ST103:NO)、合成先振り分け判定部105は、ST105の処理を行う。ST105において、合成先振り分け判定部105は、合成処理コストDB104に記憶された合成処理コスト情報を参照して、上層フレームの合成処理コストが下層フレームの合成処理コストよりも大きいか否かを判断する。なお、上層フレームの合成処理コストは、上層コストと呼ばれ、例えば、図5に示すFB0である。また、下層フレームの合成処理コストは、下層コストと呼ばれ、例えば、図5に示すFB1である。
上層コストが下層コスト以下の場合(ST105:NO)、合成先振り分け判定部105は、上層フレームへの合成の方が下層フレームへの合成よりも合成処理コストがかからないと判断する。そして、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤを上層フレーム合成バッファ107に合成すべき領域と判定し、ST106の処理に進む。また、上層コストが下層コストよりも大きい場合(ST105:YES)、合成先振り分け判定部105は、下層フレームへの合成の方が上層フレームへの合成よりも合成処理コストがかからないと判断する。そして、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤを下層フレーム合成バッファ109に合成すべき領域と判定し、ST108の処理に進む。
このように、合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分がない場合(ST103:NO)、合成先振り分け判定部105は、ST105の処理を行う。ST105において、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤを、表示結果のみ考慮し、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれのバッファでも合成できる領域と判断する。つまり、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤを、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のうち、合成処理コストがより低いフレームに合成すると判定する。
今回の合成先振り分け判定対象レイヤが、今回の合成先振り分け判定対象レイヤと合成先判定基準領域との共通部分となる領域の手前に位置する場合(ST104:YES)、合成先振り分け判定部105は、ST106の処理を行う。同様に、上層コストが下層コスト以下の場合(ST105:NO)、合成先振り分け判定部105は、ST106の処理を行う。ST106において、合成先振り分け判定部105は、今回上層フレーム合成バッファ107に合成されると決定された対象領域(今回の合成先振り分け判定対象レイヤ)の領域情報を、合成先判定基準領域に加える処理を行う。すなわち、合成先振り分け判定部105は、今回の合成先振り分け判定対象であった領域(表示レイヤ)と、今回の合成先判定基準領域との和集合を新たな合成先判定基準領域とする。
これは、今回の合成先振り分け判定処理よりも後に行われる合成先振り分け判定処理における合成先振り分け判定対象レイヤが、今回の合成先判定基準領域と共通部分を有さない領域(表示レイヤ)である場合を、考慮したものである。具体的には、合成先振り分け判定部105が、次の場合に、当該表示レイヤを上層フレーム合成バッファ107に合成させるためである。次の場合とは、当該表示レイヤが今回合成先振り分け判定対象であった領域と共通部分を有し、かつ、今回合成先振り分け対象であった領域より手前に位置する場合である。すなわち、合成先振り分け判定部105は、次回の合成先振り分け判定処理において、新たな合成先判定基準領域との共通部分が無い表示レイヤに対してのみ、合成処理コストに基づく合成先振り分け判定処理を行う。
ST107において、上層フレーム合成部106は、今回の合成先振り分け判定対象レイヤを、上層フレーム合成バッファ107に合成する。
一方、今回の合成先振り分け判定対象レイヤが、今回の合成先振り分け判定対象レイヤと合成先判定基準領域との共通部分となる領域の手前に位置しない場合(ST104:NO)は、ST108の処理に進む。一方、上層コストが下層コストより大きい場合(ST105:YES)は、ST108の処理に進む。ST108において、下層フレーム合成部108は、今回の合成先振り分け判定対象レイヤを、下層フレーム合成バッファ109に合成する。
ST109において、合成先振り分け判定部105は、今回の合成先振り分け判定対象レイヤよりも手前に、合成処理すべき表示レイヤがあるか否かを判断する。今回の合成先振り分け判定対象レイヤよりも手前に、合成処理すべき表示レイヤがある場合(ST109:YES)は、ST110の処理に進む。ST110において、合成先振り分け判定部105は、次の合成先振り分け判定対象レイヤとして、今回の合成先振り分け判定対象レイヤの次に手前に位置する表示レイヤを再設定する。そして、合成先振り分け判定部105は、その表示レイヤに対する合成先振り分け判定処理及び合成処理を行うために、ST103に戻る。一方、今回の合成先振り分け判定対象レイヤよりも手前に、合成処理すべき表示レイヤが無い場合(ST109:NO)、合成先振り分け判定部105は、処理を終了する。
図2に示すレイヤAを対象とする合成先振り分け判定処理の一例について説明する。レイヤAは、レイヤB(基準レイヤ)よりも階層順序が上層の表示レイヤである。また、レイヤAは、階層順序のみを考慮すると上層フレーム合成バッファ107を合成先候補とする表示レイヤである。また、レイヤAに対応する合成先判定基準領域は、レイヤBと同一領域である。
ここで、図2において、レイヤAは、レイヤBとの共通部分を有する。よって、合成先振り分け判定部105は、レイヤAがレイヤBの上層側に位置するので、レイヤAを上層フレーム合成バッファ107に合成すべきであると判定する。
合成先振り分け判定部105は、次の場合、判定対象の表示レイヤ(レイヤA)を、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のうち、階層順序のみを考慮した際の判定対象の表示レイヤの合成先候補に合成する。次の場合とは、判定対象の表示レイヤ(レイヤA)の領域と、基準レイヤを含む合成先判定基準領域とに共通部分がある場合である。なお、ここでは、階層順序のみを考慮した際の判定対象の表示レイヤの合成先候補は、上層フレーム合成バッファ107となる。
また、図2に示すレイヤCを対象とする合成先振り分け判定処理の一例について説明する。レイヤCは、レイヤB(基準レイヤ)よりも階層順序が上層の表示レイヤである。また、レイヤCは、階層順序のみを考慮すると上層フレーム合成バッファ107を合成先候補とする表示レイヤである。また、レイヤCに対応する合成先判定基準領域は、レイヤB(基準レイヤ)、及び、レイヤA(レイヤCとレイヤBとの間の階層順序である表示レイヤであり、上層フレーム合成バッファ107に合成される表示レイヤ)の和集合である。
ここで、図2において、レイヤCは、合成先判定基準領域との共通部分を有さない。よって、合成先振り分け判定部105は、レイヤCを、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のうち、合成処理コスト(図5)がより低い下層フレーム合成バッファ109に合成すべきであると判定する。
つまり、合成先振り分け判定部105は、次の場合、判定対象の表示レイヤ(レイヤC)を、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のうち、合成処理コストがより低いフレームに合成する。次の場合とは、判定対象の表示レイヤ(レイヤC)の領域と、基準レイヤを含む合成先判定基準領域とに共通部分が無い場合である。なお、ここでは、合成処理コストがより低いフレームは、下層フレーム合成バッファ109となる。
このように、レイヤC(階層情報:3)は、階層順序のみを考慮すると、レイヤB(階層情報:1)よりも上層側の上層フレームで合成されるべき表示レイヤである。しかし、レイヤCは、合成処理コストがより低いバッファである下層フレーム合成バッファ109に合成される。すなわち、画面合成装置100は、次の場合、合成処理コストがより低いバッファを合成先のバッファとして選択することができる。次の場合とは、動画レイヤよりも表面側(前面)に位置している表示レイヤCであっても、最終画面の表示画面を考慮して必ずしも上層フレーム合成バッファ107で合成する必要がないと判断される場合である。
なお、ここでは、図2に示すレイヤB(基準レイヤ)よりも階層順序が上層である表示レイヤ(上記レイヤA及びレイヤC等)について説明した。しかし、これに限らず、画面合成装置100は、レイヤB(表示レイヤ)よりも階層順序が下層である表示レイヤについても同様の処理を行う。つまり、画面合成装置100は、階層順序のみを考慮すると下層フレーム合成バッファ109を合成先候補とする表示レイヤ(図示せず)についても、上記同様の処理を行う。
このように、画面合成装置100は、複数の表示レイヤのうち、判定対象の表示レイヤを、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれに合成するかを判定する。この際、画面合成装置100は、レイアウト情報、及び、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のそれぞれの合成処理コストに基づいて上記判定を行う。なお、レイアウト情報は、判定対象の表示レイヤと判定対象の表示レイヤに対応する判定基準領域との位置関係を示す。これにより、画面合成装置100は、最終的な表示画面に影響を与えることなく、画面合成装置100における合成処理の負担をより低減することができる。すなわち、画面合成装置100は、表示レイアウトの階層順序を変化させることなく、画面合成装置100における合成処理の負担をより低減することができる。
なお、本実施の形態では、合成先振り分け判定部105が、各レイヤの合成先判定を、上層フレーム合成バッファ107及び下層フレーム合成バッファ109の内容を、更新するための事前合成処理の際に行う場合について説明した。しかし、本実施の形態では、合成先振り分け判定部105が、各レイヤの合成先判定結果の更新が必要となる時点で、各レイヤの合成先判定のみを先行して行う実装もあり得る。各レイヤの合成先判定結果の更新が必要となる時点は、例えば、各レイヤのレイアウト情報が変更された時点がある。
よって、本実施の形態に係る画面合成装置は、動画を含む複数の表示面を合成する際、表示結果に影響を与えること無く、より省電力効果を得ることができる。
(実施の形態2)
図8は、本実施の形態に係る画面合成装置200の構成を示すブロック図である。なお、図8において、実施の形態1(図1)と同じ構成要素については、同じ符号を用い、説明を省略する。
図8に示す画面合成装置200において、合成先振り分け判定部201は、実施の形態1の合成先振り分け判定部105と同様、アプリケーション群101の各アプリケーションによる描画内容(表示レイヤ)の合成先を選択する。例えば、図8に示す合成先振り分け判定部201は、表示レイヤの合成先として、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれか一方を選択する。このとき、合成先振り分け判定部201は、更に、合成先振り分け判定対象である表示レイヤの分割可否を判定する。合成先振り分け判定部201は、分割可能と判定した表示レイヤを分割する。そして、合成先振り分け判定部201は、分割結果に従って、変更されたオブジェクト情報をオブジェクト情報バッファ102に登録し、変更されたレイアウト情報をレイアウト情報バッファ103に登録する。
次に、画面合成装置200における事前合成処理の詳細について説明する。なお、ここでは、実施の形態1と同様、図3に示すオブジェクト情報及び図2に示す表示レイアウトに対する事前合成処理について説明する。なお、図2に示す表示レイアウトは、図4に示すレイアウト情報から成る。
図9は、本実施の形態に係る画面合成装置200により実行される事前合成処理を説明するためのフローチャートである。なお、図9において、実施の形態1(図6)と同一の処理については、同じ符号を用い、説明を省略する。
図9に示すST104において、今回の合成先振り分け判定対象レイヤが、今回の合成先振り分け判定対象レイヤと合成先判定基準領域との共通部分となる領域の手前に位置する場合(ST104:YES)は、ST201の処理に進む。ST201において、合成先振り分け判定部201は、ST105と同様に、合成処理コストDB104に記憶された合成処理コスト情報を参照して、上層コストが下層コストよりも大きいか否かを判断する。例えば、ST201において、合成先振り分け判定部201は、図5に示す合成処理コスト情報を参照して、上層コスト(例えば、FB0)が下層コスト(例えば、FB1)よりも大きいか否かを判断する。
上層コストが下層コスト以下の場合(ST201:NO)、合成先振り分け判定部201は、上層フレームの方が下層フレームよりも合成処理コストがかからないと判断する。そして、合成先振り分け判定部201は、今回の合成先振り分け判定対象レイヤを上層フレーム合成バッファ107に合成すべき領域と判定し、ST106の処理に進む。すなわち、上層コストが下層コスト以下の場合、合成先振り分け判定部201は、次の判断を行う。次の判断とは、今回の合成先振り分け判定対象レイヤと合成先判定基準領域との関係(共通部分があるか否か)にかかわらず、今回の合成先振り分け判定対象レイヤを上層フレーム合成バッファ107に合成すべきであると判断することである。
一方、上層コストが下層コストよりも大きい場合(ST201:YES)、ST202において、合成先振り分け判定部201は、今回の合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分以外の領域があるか否かを判断する。
今回の合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分以外の領域が無い場合(ST202:NO)は、ST106の処理に進む。すなわち、合成先振り分け判定部201は、今回の合成先振り分け判定対象レイヤを、上層フレーム合成バッファ107で必ず合成しないといけない領域であると判断する。
一方、今回の合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分以外の領域がある場合(ST202:YES)は、ST203の処理に進む。ST203において、合成先振り分け判定部201は、今回の合成先振り分け判定対象レイヤを、少なくとも、上記共通部分の領域と、共通部分以外の領域とに分割する。そして、合成先振り分け判定部201は、分割後の表示レイヤに関するオブジェクト情報及びレイアウト情報を、オブジェクト情報バッファ102及びレイアウト情報バッファ103にそれぞれ登録する。また、合成先振り分け判定部201は、次の合成先振り分け判定対象レイヤとして、分割された表示レイヤのうち上記共通部分の領域を再設定する。そして、処理は、ST103の処理に戻る。
図2に示す表示レイアウトにおいて、今回の合成先振り分け判定対象レイヤがレイヤAである場合について説明する。つまり、合成先判定基準領域は、図2に示すレイヤB(最右下端座標が(200, 100)、最左上端座標が(800, 500)、階層情報が1)と同一領域となる。
この場合、合成先振り分け判定部201は、レイヤAが合成先判定基準領域(レイヤBと同一領域)と共通部分を有すると判断する(ST103:YES)。また、合成先振り分け判定部201は、レイヤAが合成先判定基準領域よりも手前(上層側)に位置すると判断する(ST104:YES)。これにより、合成先振り分け判定部201は、レイヤAの少なくとも一部の領域、又は、全ての領域を、上層フレーム合成バッファ107に合成しなければならないと判断する。
そこで、合成先振り分け判定部201は、合成処理コストDB104に記憶された合成処理コスト情報(図5)を参照して、上層コストと下層コストとを比較する(ST201)。図5において、上層コストが下層コストより大きい(ST201:YES)場合は、ST202に進む。つまり、下層フレームへの合成処理は、上層フレームへの合成処理よりも合成処理コストがかからない。そこで、合成先振り分け判定部201は、レイヤAと合成先判定基準領域(レイヤBと同一領域)とに共通部分以外の領域があるか判断する(ST202)。
図2に示すように、レイヤAには、レイヤBとの共通部分の領域、及び、レイヤBと共通ではない領域(共通部分以外の領域)が存在する。よって、合成先振り分け判定部201は、レイヤAを、少なくとも、レイヤBとの共通部分の領域と、レイヤBとの共通部分以外の領域とに分割する(ST203)。ここで、各表示レイヤは、矩形領域で表現される。このため、図10に示すように、合成先振り分け判定部201は、レイヤAを、レイヤBとの共通部分であるレイヤA2と、レイヤBとの共通部分以外の領域であるレイヤA0及びレイヤA1と、に分割する。
そして、合成先振り分け判定部201は、図11に示すように、レイヤAの分割結果であるレイヤA0−レイヤA2に関するオブジェクト情報を、レイヤAのオブジェクト情報の代わりに、オブジェクト情報バッファ102に登録する。同様に、合成先振り分け判定部201は、図12に示すように、レイヤAの分割結果であるレイヤA0、レイヤA1及びレイヤA2に関するレイアウト情報を、レイヤAのレイアウト情報の代わりに、レイアウト情報バッファ103に登録する。
そして、合成先振り分け判定部201は、更新されたレイアウト情報(図12)に示される表示レイヤに対して、合成先振り分け判定処理を行う。具体的には、合成先振り分け判定部201は、まず、図10に示すレイヤA2を今回の合成先振り分け判定対象レイヤとして、合成先振り分け判定処理を行う。次いで、合成先振り分け判定部201は、図10に示すレイヤA0及びレイヤA1を順次、合成先振り分け判定対象レイヤとし、合成先振り分け判定処理を行う。
これにより、図10に示すレイヤA2(合成先判定基準領域との共通部分の領域)は、上層フレーム合成バッファ107に合成されるべき領域であると判定される。一方、図10に示すレイヤA0及びレイヤA1(合成先判定基準領域との共通部分以外の領域)は、下層フレーム合成バッファ109に合成されるべき領域であると判定される。
このように、画面合成装置200は、次の場合、表示レイヤを分割する。次の場合とは、当該表示レイヤ全体に対して、上層フレーム合成バッファ107に合成すべきと判断した場合(ST103:YES、ST104:YES)、かつ、上層コストが下層コストよりも大きい場合(ST201:YES)である。なお、当該表示レイヤは、上層フレーム合成バッファ107で必ず合成する必要がある表示レイヤと、下層フレーム合成バッファ109に合成しても最終的な表示内容に影響が無い表示レイヤとに分割される。また、上層フレーム合成バッファ107で必ず合成する必要がある表示レイヤは、例えば、合成先判定基準領域との共通部分の領域である。また、下層フレーム合成バッファ109に合成しても最終的な表示内容に影響が無い表示レイヤは、例えば、合成先判定基準領域との共通部分以外の領域である。
つまり、画面合成装置200は、合成先判定基準領域との共通部分の領域に対して、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれに合成するかを判定する。この際、画面合成装置200は、階層順序が動画レイヤ(基準レイヤ)の上層であるか下層であるかに基づいて、上記判定を行う。一方、画面合成装置200は、合成先判定基準領域との共通部分以外の領域を、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のうち、合成処理コストがより低いフレームに合成すると判定する。
これにより、画面合成装置200は、階層順序に従って合成先のバッファを決定すべき領域を最小限(つまり、合成先判定基準領域との共通部分の領域のみ)に抑えることができる。換言すると、画面合成装置200は、合成処理コストに従って合成先のバッファを決定できる領域を最大限(つまり、合成先判定基準領域との共通部分の領域以外の領域)得ることができる。よって、画面合成装置200は、表示レイアウトにおいて、表示レイヤ間の階層順序の制約がある領域以外では、合成処理コストを考慮した合成先振り分け判定処理を行うことができる。これにより、画面合成装置200は、合成処理コストを最大限低減することができる。
よって、本実施の形態によれば、画面合成装置は、動画を含む複数の表示面を合成する際、表示結果に影響を与えること無く、実施の形態1よりも更に省電力効果を得ることができる。
(実施の形態3)
図13は、本実施の形態に係る画面合成装置300の構成を示すブロック図である。なお、図13において、実施の形態2(図8)と同じ構成要素については同じ符号を用い、説明を省略する。
図13に示す画面合成装置300において、分割可能オブジェクト種別DB301は、合成先振り分け判定部302での合成先振り分け判定処理において、表示レイヤのレイアウト分割の可否を判断するための情報を格納する。ここでは、分割可能オブジェクト種別DB301は、合成先振り分け判定処理において、表示レイヤのレイアウト分割が可能なオブジェクト種別(つまり、表示レイヤの表示内容の属性)を示す情報を格納する。例えば、図14は、表示レイヤのレイアウト分割が可能なオブジェクト種別を示す情報の一例を示す。すなわち、図14では、合成先振り分け判定対象の表示レイヤのオブジェクト情報が静止画像(image)である場合に、表示レイヤのレイアウト分割処理が可能となる。
合成先振り分け判定部302は、実施の形態2の合成先振り分け判定部201と同様、アプリケーション群101の各アプリケーションによる描画内容(表示レイヤ)の合成先を選択する。例えば、図13では、合成先振り分け判定部302は、表示レイヤの合成先として、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれか一方を選択する。また、合成先振り分け判定部302は、実施の形態2の合成先振り分け判定部201と同様、合成先振り分け判定対象の表示レイヤのレイアウト分割可否を判定する。このとき、合成先振り分け判定部302は、分割可能オブジェクト種別DB301に格納された情報を参照して、合成先振り分け判定対象の表示レイヤのレイアウト分割可否を判定する。合成先振り分け判定部302は、分割可能と判定した表示レイヤを分割する。そして、合成先振り分け判定部302は、分割結果に従って、変更されたオブジェクト情報をオブジェクト情報バッファ102に登録し、変更されたレイアウト情報をレイアウト情報バッファ103に登録する。
次に、画面合成装置300における事前合成処理の詳細について説明する。なお、ここでは、実施の形態2と同様、図3に示すオブジェクト情報及び図2に示す表示レイアウトに対する事前合成処理について説明する。なお、図2に示す表示レイアウトは、図4に示すレイアウト情報から成る。
図15は、本実施の形態に係る画面合成装置300により実行される事前合成処理を、説明するためのフローチャートである。なお、図15において、実施の形態2(図9)と同一の処理については、同じ符号を用い、説明を省略する。
図15に示すST202において、今回の合成先振り分け判定対象レイヤと合成先判定基準領域とに共通部分以外の領域がある場合(ST202:YES)は、ST301の処理に進む。ST301において、合成先振り分け判定部302は、今回の合成先振り分け判定対象レイヤの属性が、分割可能オブジェクト種別DB301に格納されているオブジェクト種別に含まれているか否かを判断する。
合成先振り分け判定部302は、次の場合、今回の合成先振り分け判定対象レイヤが分割可能であると判断し、ST203の処理に進む。次の場合とは、今回の合成先振り分け判定対象レイヤの属性が、分割可能オブジェクト種別DB301に格納されているオブジェクト種別に含まれている場合である(ST301:YES)。一方、合成先振り分け判定部302は、次の場合、今回の合成先振り分け判定対象レイヤが分割できないと判断し、ST106の処理に進む。次の場合とは、今回の合成先振り分け判定対象レイヤの属性が、分割可能オブジェクト種別DB301に格納されているオブジェクト種別に含まれていない場合である(ST301:NO)。
図2に示す表示レイアウトにおいて、今回の合成先振り分け判定対象レイヤがレイヤAである場合について説明する。つまり、合成先判定基準領域は、図2に示すレイヤB(最右下端座標が(200, 100)、最左上端座標が(800, 500)、階層情報が1)と同一領域となる。
この場合、合成先振り分け判定部302は、レイヤAが合成先判定基準領域(レイヤBと同一領域)と共通部分を有すると判断する(ST103:YES)。また、合成先振り分け判定部302は、レイヤAが合成先判定基準領域よりも手前(上層側)に位置すると判断する(ST104:YES)。これにより、合成先振り分け判定部302は、レイヤAの少なくとも一部の領域、又は、全ての領域を、上層フレーム合成バッファ107に合成しなければならないと判断する。
また、合成先振り分け判定部302は、合成処理コストDB104に記憶された合成処理コスト情報(図5)を参照して、上層コストが下層コストより大きいと判断する(ST201:YES)。また、合成先振り分け判定部302は、レイヤAと合成先判定基準領域(レイヤBと同一領域)とに共通部分以外の領域があると判断する(ST202:YES)。
すなわち、合成先振り分け判定部302は、図2に示すレイヤAにおいて、一部の領域(合成先判定基準領域との共通部分)を、上層フレーム合成バッファ107に合成する必要がある。これに対し、合成先振り分け判定部302は、レイヤAの他の領域(合成先判定基準領域との共通部分以外の領域)を、下層フレーム合成バッファ109に合成することができる。これにより、画面合成装置300は、合成処理コストを低減することができる。
ただし、ここで、合成先振り分け判定部302は、レイヤAの属性が分割可能オブジェクト種別DB301に格納されたオブジェクト種別に含まれるか否かを判断する(ST301)。図3に示すように、レイヤAの属性情報は、imageである。また、図15に示すように、分割可能オブジェクト種別DB301に格納されたオブジェクト種別は、imageである。よって、合成先振り分け判定部302は、レイヤAを分割可能と判断する。そして、合成先振り分け判定部302は、実施の形態2(図10)と同様にして、レイヤAをレイアウト分割する(ST203)。例えば、合成先振り分け判定部302は、レイヤAを、合成先判定基準領域との共通部分(レイヤA2)と、合成先判定基準領域との共通部分以外の領域(レイヤA0及びレイヤA1)とにレイアウト分割する。
次に、図2に示す表示レイアウトにおいて、今回の合成先振り分け判定対象レイヤがレイヤDである場合について説明する。この場合、図2に示すレイヤA及びレイヤCに対する合成先振り分け判定処理は、完了している。よって、合成先判定基準領域は、図10に示すレイヤBとレイヤA2(レイヤAのうちレイヤBとの共通部分)との和集合で表される。
上述したレイヤAの場合と同様、合成先振り分け判定部302は、図2に示すレイヤDに対して、一部の領域(合成先判定基準領域との共通部分)では上層フレーム合成バッファ107に合成する必要がある。これに対し、合成先振り分け判定部302は、レイヤDの他の領域(合成先判定基準領域との共通部分以外の領域)では、下層フレーム合成バッファ109に合成することができると判断する。これにより、画面合成装置300は、合成処理コストを低減することができる。
そこで、合成先振り分け判定部302は、更に、レイヤDの属性が分割可能オブジェクト種別DB301に格納されたオブジェクト種別に含まれるか否かを判断する(ST301)。図3に示すように、レイヤDの属性情報は、textである。また、図15に示すように、分割可能オブジェクト種別DB301に格納されたオブジェクト種別は、imageである。よって、合成先振り分け判定部302は、レイヤDを分割不可能と判断し、レイヤDを上層フレーム合成バッファ107に合成する(ST106、ST107)。
このように、画面合成装置300は、合成先振り分け判定対象の表示レイヤの表示内容の属性を参照して、表示レイヤを分割するか否かを判断する。そして、画面合成装置300は、次の場合、実施の形態2と同様、表示レイヤをレイアウト分割する。次の場合とは、当該表示レイヤのレイアウト分割が可能と判断した場合である。なお、当該表示レイヤは、上層フレーム合成バッファ107で必ず合成する必要がある表示レイヤと、下層フレーム合成バッファ109に合成しても最終的な表示内容に影響が無い表示レイヤとにレイアウト分割される。また、上層フレーム合成バッファ107で必ず合成する必要がある表示レイヤは、例えば、合成先判定基準領域との共通部分の領域である。また、下層フレーム合成バッファ109に合成しても最終的な表示内容に影響が無い表示レイヤは、例えば、合成先判定基準領域との共通部分以外の領域である。一方、画面合成装置300は、表示レイヤのレイアウト分割が不可能と判断した場合には、当該表示レイヤ全体を、階層情報に基づいて選択される合成先のバッファに合成する。
画面合成装置300は、例えば、レイアウト分割に伴う表示内容(オブジェクト)の分割処理が、複雑な形式(図14では静止画像(image)以外のオブジェクト)の表示レイヤに対してはレイアウト分割を回避する。すなわち、画面合成装置300は、画面合成装置300の特性及びオブジェクト属性毎の特性等に基づいて表示レイヤのレイアウト分割を行う。
これにより、本実施の形態によれば、画面合成装置は、動画を含む複数の表示面を合成する際、表示レイヤのオブジェクト属性を考慮し、かつ、表示結果に影響を与えること無く、実施の形態1よりも更に省電力効果を得ることができる。
なお、本実施の形態では、画面合成装置300が、図15に示すST103の判断処理とST202の判断処理とをそれぞれ分けて実施する場合について説明した。なお、ST103の判断は、今回の合成先振り分け判定対象レイヤと合成先判断基準領域とに共通部分があるか否かの判断である。また、ST202の判断は、今回の合成先振り分け判定対象レイヤと合成先判断基準領域に共通部分以外の領域もあるか否かの判断である。しかし、画面合成装置300は、これら2つの判断処理を一度に実施してもよい。そして、画面合成装置300は、それぞれの処理が必要な時点(図15におけるST103の処理の時点、及び、ST202の処理の時点)でその判断結果を参照するような構成にしてもよい。
また、本実施の形態では、分割可能オブジェクト種別DB301が、分割可能なオブジェクト種別を格納する場合について説明した。しかし、分割可能オブジェクト種別DB301は、逆に分割不可能なオブジェクト種別を格納してもよい。つまり、合成先振り分け判定部302は、分割不可能なオブジェクト種別に基づいて、合成先振り分け判定対象の表示レイヤのレイアウト分割可否を判断してもよい。また、分割可能オブジェクト種別DB301に格納される分割可能なオブジェクト種別は、途中で変化する場合も考えられる。分割可能なオブジェクト種別は、例えば、現時点までの処理でレイアウト分割された領域のサイズの合計、及び、各フレームに合成された領域サイズの合計又は合成時間の合計等を考慮して、途中で変化する場合がある。
また、本実施の形態における画面合成装置では、合成先振り分け判定対象の表示レイヤの表示内容の属性が、その表示レイヤの分割可否を判断する際の判断基準として用いられる場合について説明した。しかし、本発明では、合成先振り分け判定対象の表示レイヤの表示内容の属性は、その表示レイヤの合成先の判定基準として用いられてもよい。すなわち、画面合成装置は、合成先振り分け判定対象の表示レイヤの表示内容の属性に基づいて、その表示レイヤを上層フレーム合成バッファ及び下層フレーム合成バッファのいずれに合成するかを判定してもよい。例えば、画面合成装置の構成によっては、上層フレームへの合成処理時には静止画データの高速処理・高品位処理が可能である。しかし、下層フレームへの合成処理時には、高速処理・高品位処理を行える程度の機能及び性能を持ち合わせていない場合もある。かかる場合、画面合成装置は、処理対象の属性が静止画であることを判定基準とし、処理対象の合成先として上層フレームを選択する。このように、画面合成装置は、各表示レイヤの表示内容の属性に対してより適した合成処理が行われるフレームで合成されるように、各表示レイヤの合成先バッファを判定する。
(実施の形態4)
図16は、本実施の形態に係る画面合成装置400の構成を示すブロック図である。なお、図16において、実施の形態3(図13)と同じ構成要素については同じ符号を用い、説明を省略する。
図16に示す画面合成装置400において、レイアウト情報バッファ401は、実施の形態1〜3のレイアウト情報バッファ103と同様のレイアウト情報を格納する。レイアウト情報バッファ103と同様のレイアウト情報は、例えば、画像データの座標情報(表示レイヤの領域を示す情報)及び階層情報等である。また、レイアウト情報バッファ401は、上記レイアウト情報に加え、タイムスタンプ情報を、レイアウト情報として格納する。なお、タイムスタンプ情報は、後述する表示画面合成出力処理部403における各表示レイヤの表示合成処理を行うタイミング(表示合成タイミング)を、指定する情報である。
例えば、レイアウト情報バッファ401に格納されているレイアウト情報は、図17に示すように、「レイヤ名称」、「最左上端座標」、「最右下端座標」、「階層情報」、及び、「タイムスタンプ情報」から構成される。なお、図17におけるタイムスタンプ情報に示される値(図17では“0”)は、各表示レイヤの表示合成タイミングを指定するタイムスタンプを示す。また、タイムスタンプ情報を付与する必要がない場合は、情報が無いことを示す符号(ハイフン(“-”))で表される。
合成先振り分け判定部402は、実施の形態3の合成先振り分け判定部302と同様、アプリケーション群101の各アプリケーションによる描画内容(表示レイヤ)の合成先を選択する。例えば、図16に示す合成先振り分け判定部402は、表示レイヤの合成先として、上層フレーム合成バッファ107及び下層フレーム合成バッファ109のいずれか一方を選択する。また、合成先振り分け判定部402は、実施の形態3の合成先振り分け判定部302と同様、分割可能オブジェクト種別DB301に格納された情報を参照して、合成先振り分け判定対象の表示レイヤのレイアウト分割可否を判定する。
そして、合成先振り分け判定部402は、実施の形態3の合成先振り分け判定部302と同様、分割可能と判定した表示レイヤを分割する。そして、合成先振り分け判定部402は、分割結果に従って、変更されたオブジェクト情報をオブジェクト情報バッファ102に登録し、変更されたレイアウト情報をレイアウト情報バッファ103に登録する。このとき、合成先振り分け判定部402は、分割後の表示レイヤ毎に適切な表示合成タイミングを指示するためのタイムスタンプ情報を付与する。合成先振り分け判定部402は、タイムスタンプ情報を、レイアウト情報として、レイアウト情報バッファ401に登録する。合成先振り分け判定部402は、例えば、或る表示レイヤの分割結果である複数の表示レイヤに対して同一のタイムスタンプ情報(同一の表示合成タイミング)を付与する。
表示画面合成出力処理部403は、合成出力処理を行う際、レイアウト情報バッファ401に格納されたレイアウト情報内のタイムスタンプ情報に従って、最終的な出力画像を生成する。最終的な出力画像は、下層フレーム合成バッファ109が保持する下層フレームの合成結果、動画面バッファ111が保持する映像データ、上層フレーム合成バッファ107が保持する上層フレームの合成結果を合成したものである。そして、表示画面合成出力処理部112は、最終的な出力画像を出力画面113に出力する。
次に、画面合成装置400における事前合成処理の詳細について説明する。なお、ここでは、実施の形態3と同様、図3に示すオブジェクト情報及び図2に示す表示レイアウトに対する事前合成処理について説明する。
図18は、本実施の形態に係る画面合成装置400により実行される事前合成処理を、説明するためのフローチャートである。なお、図18において、実施の形態3(図15)と同一の処理については、同じ符号を用い、説明を省略する。
図18に示すST301において、今回の合成先振り分け判定対象レイヤの属性が、分割可能オブジェクト種別DB301に格納されているオブジェクト種別に含まれている場合(ST301:YES)は、ST401の処理に進む。ST401において、合成先振り分け判定部302は、今回の合成先振り分け判定対象レイヤを、少なくとも、合成先判定基準領域との共通部分の領域と、上記共通部分以外の領域とに分割する。そして、合成先振り分け判定部402は、分割後の表示レイヤ全てに対して同一のタイムスタンプ情報を付与する。合成先振り分け判定部402は、分割後の表示レイヤに関するオブジェクト情報及びレイアウト情報を、オブジェクト情報バッファ102及びレイアウト情報バッファ103にそれぞれ登録する。
これにより、表示レイヤが複数の表示レイヤ(領域)に分割されても、分割後の複数の表示レイヤには、全て同一のタイムスタンプが付与される。また、合成先振り分け判定部402は、次の合成先振り分け判定対象として、分割された表示レイヤのうち上記共通部分の領域を再設定する。そして、処理は、ST103の処理に戻る。
次に、表示画面合成出力処理部403における表示画面合成出力処理の詳細について説明する。図19は、表示画面合成出力処理部403により実行される表示画面合成出力処理を、説明するためのフローチャートである。
図19に示すST501において、表示画面合成出力処理部403は、レイアウト情報バッファ401に格納されているレイアウト情報を参照する。表示画面合成出力処理部403は、レイヤ情報に基づいて、上層フレーム合成バッファ107に合成された表示レイヤと、下層フレーム合成バッファ109に合成された表示レイヤに、タイムスタンプ情報が付与されているか否かを判断する。
上層フレーム合成バッファ107に合成された表示レイヤ、及び、下層フレーム合成バッファ109に合成された表示レイヤに、タイムスタンプ情報が付与されている場合(ST501:YES)は、ST502の処理に進む。ST502において、表示画面合成出力処理部403は、上層フレーム合成バッファ107に合成された表示レイヤと、下層フレーム合成バッファ109に合成された表示レイヤとに付与されたタイムスタンプ情報を比較する。例えば、表示画面合成出力処理部403は、2つのタイムスタンプ情報が等しいか否かを判断する。表示画面合成出力処理部403は、次の場合、ST502の処理(タイムスタンプ情報の比較処理)を継続する。次の場合とは、上層フレーム合成バッファ107に合成された表示レイヤと、下層フレーム合成バッファ109に合成された表示レイヤとに付与されたタイムスタンプ情報が、等しくない場合(ST502:NO)である。
一方、上層フレーム合成バッファ107に合成された表示レイヤ、及び、下層フレーム合成バッファ109に合成された表示レイヤに、タイムスタンプ情報が付与されていない場合(ST501:NO)は、ST503の処理に進む。また、上層フレーム合成バッファ107に合成された表示レイヤと、下層フレーム合成バッファ109に合成された表示レイヤとに付与されたタイムスタンプ情報が、等しい場合(ST502:YES)は、ST503の処理に進む。ST503において、表示画面合成出力処理部403は、表示画面の背面側から合成処理を行う。すなわち、表示画面合成出力処理部403は、下層フレームの合成結果、映像データ、上層フレームの合成結果の順に、合成処理を行う。なお、下層フレームの合成結果は、下層フレーム合成バッファ109で保持される。また、映像データは、動画面バッファ111で保持される。また、上層フレームの合成結果は、上層フレーム合成バッファ107で保持される。そして、出力画面113は、最終的な表示画面を表示する。
すなわち、表示画面合成出力処理部403は、次の場合、上層フレーム合成バッファ107と下層フレーム合成バッファ109とに、同時に表示すべき表示レイヤ(データ)が揃ったと判断する。次の場合とは、各フレームで合成された表示レイヤに付与されたタイムスタンプ情報が等しい場合である(ST502:YES)。
次に、例えば、図2に示す表示レイアウトにおいて、今回の合成先振り分け判定対象レイヤがレイヤAである場合について説明する。つまり、合成先判定基準領域は、図2に示すレイヤB(最右下端座標(200, 100)、最左上端座標(800, 500)、階層情報が1)と同一領域となる。
この場合、合成先振り分け判定部402は、レイヤAを分割可能と判断する。そして、合成先振り分け判定部402は、実施の形態2(図10)と同様にして、レイヤAをレイアウト分割する(ST401)。例えば、合成先振り分け判定部402は、レイヤAを、合成先判定基準領域(レイヤB)との共通部分の領域(レイヤA2)と、合成先判定基準領域との共通部分以外の領域(レイヤA0、レイヤA1)とにレイアウト分割する。
そして、合成先振り分け判定部402は、レイアウト情報バッファ401に対するレイアウト情報の更新時に、レイヤAの分割結果であるレイヤA0、A1、A2に対して同一のタイムスタンプ情報を付与する。例えば、図17では、レイヤAの分割結果であるレイヤA0、A1、A2に対して、同一のタイムスタンプ情報(“0”)が付与される。
ここで、実施の形態2と同様、レイヤA0及びレイヤA1(合成先判定基準領域との共通部分以外の領域)は、下層フレーム合成バッファ109に合成される。また、レイヤA2(合成先判定基準領域との共通部分の領域)は、上層フレーム合成バッファ107に合成される。
このように、上層フレーム合成バッファ107に合成されたレイヤA2と、下層フレーム合成バッファ109に合成されたレイヤA0及びレイヤA1には、タイムスタンプ情報が付与される(ST501:YES)。また、そのタイムスタンプ情報が等しい場合(ST502:YES)、表示画面合成出力処理部403は、レイヤA0、A1、A2を同一のタイミングで表示するように、合成表示処理を行う(ST503)。
これにより、出力画面113は、元々1つの表示レイヤ(レイヤA)であったレイヤA0、A1、A2を、同一のタイミングで表示することができる。
このように、画面合成装置400は、実施の形態2と同様、合成処理コストに従って合成先のバッファを決定できる領域(合成先判定基準領域との共通部分が無い領域)を、最大限得ることができる。これにより、画面合成装置400は、合成処理コストを最大限低減することができる。
また、画面合成装置400は、表示レイヤのレイアウト分割の際に、分割後の表示レイヤに同一のタイムスタンプ情報を付与する。そして、画面合成装置400は、そのタイムスタンプ情報に基づいて、最終的な表示画面の合成表示処理を行う。これにより、画面合成装置400は、合成処理コストの低減のために表示レイヤを分割する場合でも、分割後の表示レイヤを正しいタイミングで表示制御することができる。すなわち、画面合成装置400は、表示結果の再生品質を保ちつつ、合成処理コストを最大限低減することができる。
このようにして、本実施の形態によれば、画面合成装置は、動画を含む複数の表示面を合成する際、表示結果に影響を与えること無く、実施の形態1よりも更に省電力効果を得ることができる。
なお、本実施の形態では、実施の形態3と同様にして、画面合成装置400が、次の処理を行う場合について説明した。次の処理とは、合成先振り分け判定対象の表示レイヤのオブジェクト属性情報と、分割可能オブジェクト種別DB301とを比較して、当該表示レイヤのレイアウト分割可否を判断する処理である。しかし、本実施の形態に係る画面合成装置400では、オブジェクト属性情報の比較によるレイアウト分割可否の判断処理は必須ではない。例えば、本実施の形態に係る画面合成装置400は、この判断処理を省略して、実施の形態2の動作と同様の動作を行ってもよい。
以上、本発明の各実施の形態について説明した。
なお、上記実施の形態では、合成処理コスト値の一例として各フレームでの合成処理にかかる時間が用いられる場合(図5)について説明した。しかし、合成処理コスト値は、各フレームでの合成処理にかかる時間に限らない。例えば、合成処理コスト値は、各フレームへの合成処理にかかる計算量、合成処理に必要なメモリアクセス時間又はメモリアクセス回数、又は、これらの複数の値から算出された数値指標等でもよい。
また、本発明に係る画面合成装置では、相対的に合成処理コストが最低になる合成対象バッファを選択できれば十分である。よって、合成処理コスト値は、数値ではなく、合成処理コストの大小関係を単純に示す情報であってもよい。また、本実施の形態では、現時点までに各フレームに合成された表示レイヤ(領域)サイズの合計及び合成処理時間の合計等を考慮して、各バッファの合成処理コスト値自体又は合成処理コスト値の大小関係が変動する場合も考えられる。また、本実施の形態では、合成処理コスト値として用いる指標の内容によっては値が大きい方が、合成処理コストが低くなるという解釈が必要になる場合もあり得る。しかし、指標として用いた値に基づいて適切に動作するように本発明に係る画面合成装置は、設計されているものとする。
また、本実施の形態では、上層フレームの合成処理コストが下層フレームの合成処理コストよりも高い場合(図5)について説明した。しかし、本実施の形態は、下層フレームの合成処理コストが上層フレームの合成処理コストよりも高い場合についても、同様の効果を得ることができる。また、図6、図9、図15及び図18において、ST102において、画面合成装置は、一番手前の階層(最上層)の表示レイヤを最初の合成先振り分け判定対象レイヤに設定してもよい。この場合、画面合成装置は、図6、図9、図15及び図18に示すST106の処理の代わりに、ST106の処理と同一の処理を、ST108の処理の直前に行う。これは、次回以降の合成先振り分け判定処理において、次の場合に、表示レイヤを下層フレーム合成バッファ109に合成させるためである。次の場合とは、今回の合成先判定基準領域と共通部分を有さない領域(当該表示レイヤ)であっても、今回合成先振り分け対象であった領域と共通部分を有し、かつ、今回合成先振り分け対象であった領域より奥に位置する場合である。なお、この場合における合成先判定基準領域は、判定対象の表示レイヤと基準レイヤとの間の階層順序である表示レイヤである。また、合成先判定基準領域は、下層フレーム合成バッファ109に合成される表示レイヤと、基準レイヤとの和集合である。
また、本実施の形態では、各表示レイヤの合成先を上層バッファ(上層フレーム合成バッファ)、又は下層バッファ(下層フレーム合成バッファ)のどちらかに決定する際の基準レイヤとして、動画レイヤが用いられる場合について説明した。しかし、本発明では、各表示レイヤの合成先を上層バッファ又は下層バッファのどちらかに決定する基準レイヤは、動画レイヤに限らない。本実施の形態では、例えば、フレーム毎に計算描画するコンピュータグラフィクス画面、及び、カメラ入力画面等、表示レイアウト内の複数の表示レイヤの中で更新頻度が最も高い表示レイヤが基準レイヤとして用いられてもよい。この場合、図1、図8、図13及び図16における動画復号部110は、動画復号処理の代わりに対象レイヤの描画処理を行う処理を行う機能ブロックとして機能することになる。また、図1、図8、図13及び図16における動画面バッファ111は、対象レイヤの描画結果を蓄積するバッファとして機能することになる。また、各表示レイヤの合成先を、上層バッファ又は下層バッファのどちらかに決定する基準とする特殊な領域(本実施の形態では動画レイヤ)は、単一の場合のみでなく、複数の表示レイヤから構成されてもよい。
また、本実施の形態で説明した各手段は、典型的には集積回路であるLSI(Large Scale Integration)により構成される。これら各手段は、個別に1チップ化されていてもよいし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いによりIC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法は、LSIに限るものではなく、専用回路または汎用プロセッサにより行ってもよい。本実施の形態では、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)を利用して各部を構成してもよい。また、本実施の形態では、LSI内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサを利用して各部を構成してもよい。さらには、本実施の形態は、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術により各部の集積化を行ってもよい。本実施の形態は、例えば、バイオ技術を適用することによって集積化を行ってもよい。
2010年7月6日出願の特願2010−153987の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。