JP2006171274A - アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム - Google Patents
アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム Download PDFInfo
- Publication number
- JP2006171274A JP2006171274A JP2004362645A JP2004362645A JP2006171274A JP 2006171274 A JP2006171274 A JP 2006171274A JP 2004362645 A JP2004362645 A JP 2004362645A JP 2004362645 A JP2004362645 A JP 2004362645A JP 2006171274 A JP2006171274 A JP 2006171274A
- Authority
- JP
- Japan
- Prior art keywords
- image
- application
- main image
- display
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】Xウインドウシステムを搭載し、かつJava(登録商標)仮想マシンを搭載した携帯電話をはじめとする組込み機器において、Java(登録商標)アプリケーションの描画結果をLCDなどの表示画面に高速に表示することができなかった。
【解決手段】Java(登録商標)仮想マシンを搭載し、かつXウインドウまたはそのサブセットと、描画ライブラリと、表示ドライバと、アプリケーション画像記憶部を具備するシステムにおいて、Java(登録商標)仮想マシンが描画ライブラリを用いてアプリケーション画像を描画し、アプリケーション画像バッファに格納したのち、Xウインドウを経由して生成した主画像と合成してスクリーンに表示する際において、アプリケーション画像バッファに格納したアプリケーション画像は、Xウインドウを経由することなく、直接表示ドライバからアクセスを行い、表示ドライバ内にて主画像と合成する。
【選択図】図1
Description
本発明はJava(登録商標)仮想マシンおよびXウインドウシステムまたはそのサブセットを搭載した端末において、Java(登録商標)アプリケーションの描画結果を、LCD等の表示画面に高速表示する技術に関する。
携帯電話装置やPDA(Personal Digital Assistant)を始めとする近年の組込み系端末においては、機能の高度化とアプリケーション開発を行いやすくするために、LinuxなどのOS(Oparating System)に加えて、グラフィカルユーザーインターフェース環境であるXウインドウシステムまたはそのサブセット(以下、XウインドウシステムまたはそのサブセットをXウインドウと略す)が搭載されるものが出現している。また特に携帯電話装置においては、Java(登録商標)仮想マシンが搭載されて、ゲームを始めとする高速なグラフィック処理が必要なJava(登録商標)アプリケーション(以下、アプリケーションと略す)が多数、市場に流通している。
Xウインドウシステムとは、マサチューセッツ工科大学において開発されたウインドウシステムであって、ネットワーク環境を前提としたクライアントサーバモデルを採用している点が特徴である。現在ではUNIX(登録商標)やLinux上での標準のウインドウシステムとなっている。このようなXウインドウシステムに関する技術としては、例えば、特許文献1に記載されたようなものがある。
一方、現状の組込み端末のハードウエア性能では、部品コストの問題や消費電力の問題などが原因で、CPU周波数やメモリのアクセス速度がPCよりも低いものが使用されている。そのため、Xウインドウのようにソフトウエアを開発する上では便利であるが、処理負荷の重いミドルウエアを介してグラフィック処理の多いJava(登録商標)アプリケーションを表示しようとすると、動画を表示するときに表示の更新速度が遅く、ゲームなどのJava(登録商標)アプリケーションが想定している表示が行えないという問題が発生する。
図13および図14は、従来の携帯電話装置においてXウインドウを介してJava(登録商標)アプリケーションの描画結果を表示する場合の概略構成図である。
図13において、Java(登録商標)仮想マシン91が管理するヒープ領域99内に第1画像記憶部であるアプリケーション画像バッファ95を配置し、Java(登録商標)仮想マシン91がアプリケーション画像バッファ95の先頭ポインタを描画ライブラリ93に渡して描画を行うと、描画された結果のアプリケーション画像がポインタで示されたアプリケーション画像バッファ95内に描き込まれる。描き込まれたアプリケーション画像はJava(登録商標)仮想マシン91がXPutImage関数等を用いてXウインドウ92内のウインドウバッファ96に転送する。
図14の例は、第1画像記憶部であるアプリケーション画像バッファ105が、描画ライブラリ103の側近に配置されているケースである。描画ライブラリ103がOpenGL ES規格準拠の場合などの事例である。この場合、Java(登録商標)仮想マシン101は描画命令を描画ライブラリ103に発行し、描画ライブラリ103は描画したアプリケーション画像を直接、アプリケーション画像バッファ105内に格納する。このとき格納されたアプリケーション画像はJava(登録商標)仮想マシン101からは直接ポインタ伝いでの読み書き等はできなく、読み書きをするにはメモリコピーが必要である。アプリケーション画像の表示を行う際には、Java(登録商標)仮想マシン101はウインドウ抽象化インターフェース109を経由して、アプリケーション画像をXウインドウ102内のXウインドウバッファ106に転送する。この転送はOpenGL ES規格準拠の場合はeglSwapBuffers関数等を用いることによって行うことが可能である。また、ウインドウ抽象化インターフェース109は、OpenGL ES規格準拠の場合はEGL(Open GL ES Native Platform Graphics Interface)に相当する。
携帯電話装置においては、アプリケーション画像をLCD(Liquid Crystal Display)に表示するための最終画像を構成するために、アプリケーション画像以外に、アンテナバーや電池残量を示すインジケータや、ユーザにJava(登録商標)アプリケーションの制御ボタンを提示するソフトキーなどの表示部品を配置して合成する必要がある。このインジケータやソフトキーなどの表示部品で構成される、Java(登録商標)アプリケーション以外が生成する画像を主画像と呼ぶ。画像合成を行う際に、上記のXウインドウを経由する従来の例では、図13や図14に示すとおり、アプリケーション画像をXウインドウ92、102内に一旦メモリコピーする必要がある。すなわちアプリケーション画像バッファのポインタ渡しはできない。これはXウインドウがネットワークを意識したソケット通信によってサーバ・クライアント型でデータを授受する構造になっていることに起因している。Xウインドウ内にコピーされたアプリケーション画像は、Xウインドウの仕組みに基づいてインジケータやソフトキーなどの表示部品と合成されて最終表示画像が構成され、表示ドライバ94、104に転送されてLCD等に表示される。
特開平5−94272号公報
しかしながら、前記従来の構成では、Xウインドウを介してアプリケーション画像と、インジケータやソフトキー等の表示部品との合成を行うため、アプリケーション画像バッファからXウインドウへのメモリコピーに伴う転送オーバーヘッドが発生し、表示処理が遅延する。また、Xウインドウはアルゴリズム的・構造的には美しいが、そのため、Xウインドウの動作は負荷が重いため、Xウインドウ上で行う処理に時間が掛かる。そのため、PC(Personal Computer)に比べて、携帯電話装置等は非力なハードウエア性能であるため、アプリケーション画像の表示速度が十分上がらない。すなわちJava(登録商標)アプリケーションのゲーム等の見栄えが悪くなり、ユーザがゲームを楽しめなくなるという問題が発生する。
本発明はかかる問題を鑑み、Xウインドウシステムまたはそのサブセットを搭載し、かつJava(登録商標)仮想マシンを搭載した携帯電話装置をはじめとする組込み機器のアプリケーション描画端末において、Xウインドウシステムまたはそのサブセットに手を加えることなく、アプリケーションの描画結果をLCDなどの表示画像に高速表示する手段を提供する事を目的とする。
本発明のアプリケーション描画端末は、アプリケーション描画端末の情報を示す主画像を生成するXウインドウシステムまたはそのサブセットと、描画ライブラリを用いてアプリケーション画像を描画するJava(登録商標)仮想マシンと、前記描画ライブラリが前記アプリケーション画像を記憶する第1画像記憶部と、前記第1画像記憶部から直接前記アプリケーション画像を取得し、前記主画像と前記アプリケーション画像とを合成して表示する表示ドライバとを備える。この構成により、アプリケーション画像をXウインドウシステムまたはそのサブセットを経由せずに合成・表示するので、高速なJava(登録商標)アプリケーションのグラフィック表示が可能である。
また、本発明のアプリケーション描画端末は、前記主画像は、前記アプリケーション画像を配置する矩形領域の位置とサイズが保持し、前記アプリケーション画像と前記主画像を表示装置に合成して表示する際に前記矩形領域に透明を意味する特定の色を塗り、前記表示ドライバが前記アプリケーション画像の上に、前記主画像をクロマキー合成にて重ね合わせ、表示する構成をとる。この構成により、矩形領域のアプリケーション画像と主画像を合成して、高速なグラフィック表示を行うことが可能である
また、本発明のアプリケーション描画端末は、前記主画像が1または複数の矩形領域であり、前記アプリケーション画像と前記主画像を表示装置に合成して表示する際に、前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、前記の前記主画像の矩形領域と、アプリケーション画像をつなぎ合わせて表示する構成をとる。この構成により、1または複数の矩形領域に分かれた主画像とアプリケーション画像をつなぎ合わせた画像を高速に表示することが可能である。
また、本発明のアプリケーション描画端末は、前記主画像が1または複数の矩形領域であり、前記アプリケーション画像と前記主画像を表示装置に合成して表示する際に、前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、前記の前記主画像の矩形領域と、アプリケーション画像をつなぎ合わせて表示する構成をとる。この構成により、1または複数の矩形領域に分かれた主画像とアプリケーション画像をつなぎ合わせた画像を高速に表示することが可能である。
また、本発明のアプリケーション描画の表示方法はXウインドウシステムまたはそのサブセットがシステムの情報を示す主画像を生成する工程と、Java(登録商標)仮想マシンが描画ライブラリを用いてアプリケーション画像を描画する工程と、描画ライブラリが描画した前記アプリケーション画像を第1画像記憶部に格納する工程と、表示ドライバが前記第1画像記憶部から直接前記アプリケーション画像を取得する工程と、前記表示ドライバが前記アプリケーション画像と前記主画像とを合成して表示する工程とからなる。この構成により、アプリケーション画像をXウインドウシステムまたはそのサブセットとウインドウシステムを経由せずに合成し、表示するので、高速なJava(登録商標)アプリケーションのグラフィック表示が可能である。
また、本発明のアプリケーション描画の表示方法は、前記主画像は、前記アプリケーション画像を配置する矩形領域の位置とサイズを保持し、前記アプリケーション画像と前記主画像を表示装置に合成して表示する工程において、前記矩形領域に透明を意味する特定の色を塗る工程と、前記表示ドライバが前記アプリケーション画像の上に、前記主画像をクロマキー合成にて重ね合わせる工程とからなる。この構成により、矩形領域のアプリケーション画像と主画像を合成して、高速なグラフィック表示を行うことが可能である
また、本発明のアプリケーション描画の表示方法は、前記主画像は1または複数の矩形領域であり、前記アプリケーション画像と前記主画像を表示装置に合成して表示する工程において、前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、前記の前記主画像の矩形領域と、アプリケーション画像をつなぎ合わせる工程とからなる。この構成により、1または複数の矩形領域に分かれた主画像とアプリケーション画像をつなぎ合わせた画像を高速に表示することが可能である。
また、本発明のアプリケーション描画の表示方法は、前記主画像は1または複数の矩形領域であり、前記アプリケーション画像と前記主画像を表示装置に合成して表示する工程において、前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、前記の前記主画像の矩形領域と、アプリケーション画像をつなぎ合わせる工程とからなる。この構成により、1または複数の矩形領域に分かれた主画像とアプリケーション画像をつなぎ合わせた画像を高速に表示することが可能である。
また、本発明のアプリケーション描画のプログラムはXウインドウシステムまたはそのサブセットがシステムの情報を示す主画像を生成するステップと、Java(登録商標)仮想マシンが描画ライブラリを用いてアプリケーション画像を描画するステップと、描画ライブラリが描画した前記アプリケーション画像を第1画像記憶部に格納するステップと、表示ドライバが前記第1画像記憶部から直接前記アプリケーション画像を取得するステップと、前記表示ドライバが前記アプリケーション画像と前記主画像とを合成して表示するものである。上記プログラムによれば、アプリケーション画像をXウインドウシステムまたはそのサブセットを経由せずに合成し、表示するので、高速なJava(登録商標)アプリケーションのグラフィック表示が可能なプログラムを提供できる。
また、本発明のアプリケーション描画のプログラムは、前記主画像は、前記アプリケーション画像を配置する矩形領域の位置とサイズを保持し、前記アプリケーション画像と前記主画像を表示装置に合成して表示するステップにおいて、前記矩形領域に透明を意味する特定の色を塗るステップと、前記表示ドライバが前記アプリケーション画像の上に、前記主画像をクロマキー合成にて重ね合わせるステップとからなるものである。上記プログラムによれば、矩形領域のアプリケーション画像と主画像を合成して、高速なグラフィック表示を行うことが可能なプログラムを提供できる。
また、本発明のアプリケーション描画のプログラムは、前記主画像は1または複数の矩形領域であり、前記アプリケーション画像と前記主画像を表示装置に合成して表示するステップにおいて、前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、前記の前記主画像の矩形領域と、アプリケーション画像をつなぎ合わせるステップとからなるものである。上記プログラムによれば。1または複数の矩形領域に分かれた主画像とアプリケーション画像をつなぎ合わせた画像を高速に表示することが可能なプログラムを提供できる。
アプリケーション描画端末において、Java(登録商標)アプリケーションが起動しているときの主画像は、主にアプリケーション描画端末の状態を表すインジケータやソフトキーであるため、時間が経過しても表示内容の変化はほとんど無い。従って、アプリケーション画像を、Xウインドウを経由せずに主画像とドライバ層で合成し、表示することで、Xウインドウ内へのメモリコピーや、Xウインドウ固有の処理のオーバーヘッドを省略し、表示ドライバ内でアプリケーション描画結果がXウインドウを経由することなく主画像と直接合成され表示されることにより、携帯電話装置を始めとする組込み機器において、Java(登録商標)アプリケーション起動中の画像表示処理の負荷が軽減される。そのため、高速なJava(登録商標)アプリケーションのグラフィック表示ができる。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
(実施の形態1)
以下本発明を実施するための最良の形態について、図面を参照しながら説明する。なお、実施の形態を説明するための全図において、同一の構成要素には同一符号を付与し、重複する説明は省略する。
以下本発明を実施するための最良の形態について、図面を参照しながら説明する。なお、実施の形態を説明するための全図において、同一の構成要素には同一符号を付与し、重複する説明は省略する。
図1は本発明の実施の形態1におけるアプリケーション描画端末である携帯電話装置の概略ブロック図である。アプリケーション描画端末はJava(登録商標)仮想マシン1と、Xウインドウ2と、描画ライブラリ3と、表示ドライバ4と第1画像記憶部であるアプリケーション画像記憶部5と、主画像記憶部6と、表示画像記憶部7と、LCD8と、ウインドウ抽象化インターフェース9とで構成される。
Java(登録商標)仮想マシン1はJava(登録商標)アプリケーションを動作させ、描画ライブラリ3を用いてJava(登録商標)アプリケーションのアプリケーション画像51を描画する。描画ライブラリ3は、アプリケーション画像51を描画し、アプリケーション画像記憶部5に格納する。アプリケーション画像記憶部5はJava(登録商標)仮想マシン1が描画ライブラリを使って生成したビットマップ状態のデータであるアプリケーション画像51を格納している。
Xウインドウ2はアプリケーション描画端末の電池や通信状況などに応じたインジケータや携帯電話装置の状態に応じたソフトキーを合成し、主画像61の生成を行う。そして、Xウインドウ2は生成した主画像をXウインドウ2の管理化にあるウインドウバッファなどで構成される主画像記憶部6に格納する。
表示ドライバ4はアプリケーション画像記憶部5から直接アプリケーション画像51を参照する機能を具備し、主画像記憶部6に保持した主画像と合成し、表示画像71を生成する。また、表示バッファは表示画像71を表示画像記憶部7に格納し、LCD8に出力する。LCD8は表示画像記憶部7に記憶された表示画像71を液晶画面に表示する。
図2は本発明の実施の形態1におけるアプリケーション描画端末である携帯電話装置のハードウエア構成を模式的に示す図である。携帯電話装置はCPU21と主記憶部22とグラフィックアクセラレータ23とクロマキー合成器25を含む表示制御DMA(Direct Memory Access)コントローラ24とで構成される。CPU8はJava(登録商標)仮想マシン1が動作するハードウエアである。主記憶部22は図1のアプリケーション画像記憶部5、主画面記憶部6、表示画像記憶部7のハードウエア部材であり、RAM(Random Access Memory)などで構成される。グラフィックアクセラレータ33は描画ライブラリ3が動作するハードウエアである。表示制御用DMAコントローラ34は、表示ドライバ4が動作するハードウエアである。クロマキー合成器25はクロマキー合成部41が動作するハードウエアでる。
図3は、携帯電話装置におけるJava(登録商標)アプリケーション表示中の表示画像71を構成する部品を模式的に示したものである。図3(a)は携帯電話装置の状態を示す主画像61の画像構成を示す。図3(a)において、主画像61は電池残量や無線強度などを示すインジケータ部62と、Java(登録商標)アプリケーションの操作ボタンの内容などを表すソフトキー部64、およびアプリケーション画像51を配置するためのアプリケーション画像部63とからなる。図3(b)はアプリケーション画像51をあらわす図である。アプリケーション画像51はJava(登録商標)仮想マシン1が描画ライブラリ3を用いて生成した描画結果のビットマップデータそのものである。図3(c)はアプリケーション画像51と主画像61の重ねあわせ方を示した図であり、図3(a)のA−A‘断面図である。図3(c)において、主画像61のアプリケーション画像部63の下にアプリケーション画像51を重ね、合成する。アプリケーション画像部63は透過であることを示す特定色で塗られているため、主画像61とアプリケーション画像51を合成すると、アプリケーション画像部63にアプリケーション画像51が嵌った画像が生成される。この、特定色部分を透過して合成する方法をクロマキー合成と呼ぶ。
アプリケーション動作時の出力画像である表示画像71は、LCD8内での各パーツの位置とサイズが固定されている。すなわちインジケータ部62は幅x1、高さy1の矩形領域、ソフトキー部64は幅x1、高さy3の矩形領域、アプリケーション画像部63は幅x1、高さy2の矩形領域であり、LCD画像の座標原点(LCDの左上端の点とする)から順にインジケータ部62、アプリケーション画像部63、ソフトキー部64が重ならないように配置される。主画像61は、XツールキットやウイジェットセットなどのXウインドウのツール群を用いて効率的に生成する。クロマキー合成部41は、透明色を意味する特定色(たとえば深緑)をあるビットマップA内に塗っておき、他のビットマップBの上に重ねあわせると、深緑は透明と判定されてビットマップBの画像がビットマップA越しに透けて見える機能であるクロマキー合成を行う。実施の形態1においては、Java(登録商標)アプリケーション動作中の主画像61を生成する際に、アプリケーション画像部63には透明色を意味する特定の色(キーカラー)で塗りつぶしを行う。
図4はJava(登録商標)アプリケーション起動時の画像を表示する動作を説明したフローチャート図である。図4においてJava(登録商標)アプリケーションが起動すると、Java(登録商標)仮想マシン1はXウインドウ2のシステムを使って、主画像を更新する(ステップS401)。
Java(登録商標)仮想マシン1はJava(登録商標)アプリケーションを動作させ(ステップS402)、描画ライブラリ3を用いてアプリケーション画像51を生成・更新する(ステップS403)。生成されたアプリケーション画像51は、アプリケーション画像記憶部5に格納される。Java(登録商標)仮想マシン1はウインドウ抽象化インターフェース9を通じて表示ドライバ4に合成開始のトリガーと合成画像の場所を指示する(ステップS404)。
次に図5と図6を用いて図4のフローチャートの各動作について詳しく説明する。図4のステップS401の主画像更新の動作について、図5を用いて説明する。主画像61の更新において、Java(登録商標)仮想マシン1がXウインドウ2の機能を用いて主画像61を生成する(図5のステップS501)。主画像61は図3(a)で説明を行ったように、インジケータやソフトキーなどのパーツと、特定色で塗りつぶされたアプリケーション画像部を合成して生成される。Java(登録商標)仮想マシン1は生成された主画像61を主画像記憶部6に格納する(ステップS502)。
次に図6を用いて、図4のステップS403のアプリケーション画像更新の動作について説明する。アプリケーション画像51の更新時は、Java(登録商標)仮想マシン1が描画ライブラリ3の機能を用いてアプリケーション画像51を生成する(ステップ601)。次に描画ライブラリ3は生成したアプリケーション画像51をアプリケーション画像記憶部5に格納する(ステップS602)。
次にJava(登録商標)アプリケーション動作中の合成画像を更新する動作について、図7のフローチャートを用いて説明する。図7においてJava(登録商標)仮想マシン1は主画像61の更新がある場合(ステップS701のYES)、主画像61の更新を行い(ステップS702)、ステップS703に移る。主画像61の更新がない場合(ステップS701のNO)は、ステップS703に移る。ステップ702の主画像更新の詳細な内容については図5にて説明済みである。ステップS703において、Java(登録商標)仮想マシン1はアプリケーション画像51の更新がある場合(ステップS703のYES)、アプリケーション画像51の更新を行い(ステップS704)、終了する。アプリケーション画像51の更新がない場合(ステップS703のNO)は、そのまま終了する。ステップ704のアプリケーション画像51の更新の詳細な内容については図6にて説明済みである。
次にLCD8の表示の更新について説明する。通常、LCD8が表示する画像の更新は、LCD8からの垂直同期割り込みと、表示制御DMAコントローラ24のDMA転送を使って、表示ドライバ4が自律的に行う。DMA転送とは、CPUを介すことなく、各記憶部のデバイスからシステムのメモリへのデータ転送を行なう方法である。Java(登録商標)仮想マシン1がアプリケーション画像51と主画像61とをLCD8に表示することを開始するには、合成を指示する開始トリガーを、ウインドウ抽象化インターフェース9を通じて表示ドライバ4に対して通知する。この開始トリガーはJava(登録商標)アプリケーション起動時に図4のステップS404において実施済みである。
図8はLCD8に表示される合成画像の更新動作を説明するフローチャート図である。表示制御DMAコントローラ24はLCD8の垂直同期割り込みのタイミングにあわせて、アプリケーション画像記憶部5からアプリケーション画像51のポインタを渡すなどで直接参照し、取得する(ステップS801)。次に表示制御DMAコントローラ24は主画像記憶部6から主画像61を参照し、取得する(ステップS802)。次に表示ドライバ4はクロマキー合成部41を用いて、アプリケーション画像51と主画像61を重ね合わせ、合成する(ステップS803)。次に、表示ドライバ4は合成した表示画像71を表示画像記憶部7に格納する。よって、LCD8は垂直同期割り込みが起こったときに、表示画像記憶部7に格納された表示画像71を参照するため、表示が更新される。
一般に、携帯電話装置におけるインジケータやソフトキーなどは、時間が経過してもほとんど変化しない場合が多い。そのため、主画面記憶部6に格納される主画像61の更新は稀である。反対にゲームなどのJava(登録商標)アプリケーション動作中は、アプリケーション画像51は高速に変化することが多く、アプリケーション画像51の更新は頻度が高い。そのため、アプリケーション画像51と主画像61の合成の頻度も高くなる。この合成において、アプリケーション画像を処理負荷の高いXウインドウ2を用いず、表示制御DMAコントローラ24が直接アプリケーション画像を参照して、合成を行うことにより、高速なJava(登録商標)グラフィック描画の表示が可能となる。
(実施の形態2)
本発明の実施の形態2におけるアプリケーション描画端末である携帯電話装置の概略ブロック図を図9に示す。実施の形態2の携帯電話装置はJava(登録商標)仮想マシン1と、Xウインドウ2と、描画ライブラリ3と、表示ドライバ42とアプリケーション画像記憶部5と、主画像記憶部6と、表示画像記憶部7と、LCD8とで構成される。
本発明の実施の形態2におけるアプリケーション描画端末である携帯電話装置の概略ブロック図を図9に示す。実施の形態2の携帯電話装置はJava(登録商標)仮想マシン1と、Xウインドウ2と、描画ライブラリ3と、表示ドライバ42とアプリケーション画像記憶部5と、主画像記憶部6と、表示画像記憶部7と、LCD8とで構成される。
実施の形態2の携帯電話装置において、Java(登録商標)仮想マシン1は描画ライブラリ3を使ってアプリケーション画像52を描画する。描画ライブラリ3は、アプリケーション画像52を描画し、アプリケーション画像記憶部5に格納する。アプリケーション画像記憶部5はJava(登録商標)仮想マシン1が描画ライブラリを使って生成したビットマップ状態のアプリケーション画像52を格納している。
Xウインドウ2はアプリケーション描画端末の電池や通信状況などに応じたインジケータや端末装置の状態に応じたソフトキーを合成し、主画像62の生成を行う。そして、Xウインドウ2は生成した主画像をXウインドウ2の管理化にあるウインドウバッファなどで構成される主画像記憶部6に格納する。
図10は本発明の実施の形態2におけるアプリケーション描画端末のハードウエア構成図である。図10は実施の形態2のアプリケーション描画端末におけるアプリケーション処理ブロックのハードウエア構成を模式的に示す図である。携帯電話装置はCPU31と主記憶部32とグラフィックアクセラレータ33とグラフィック専用RAM35と表示制御DMAコントローラ34で構成される。CPU31はJava(登録商標)仮想マシン1が動作するハードウエアである。主記憶部32はJava(登録商標)アプリケーションなどのデータが格納されているハードウエア部材である。グラフィックアクセラレータ33は描画ライブラリが動作するハードウエアである。表示制御用DMAコントローラ34は、表示ドライバが動作するハードウエアであり、矩形転送機能を具備している。グラフィック専用RAM35はアプリケーション画像記憶部5、主画像記憶部6、表示画像記憶部7などの画像データを持つハードウエア部材である。
図11は、携帯電話装置におけるJava(登録商標)のアプリケーション表示中の表示画像72を構成する部品を模式的に示したものである。図11(a)は携帯電話装置の状態を示す主画像65の画像構成を示す。図11(a)において、主画像65は電池残量や無線強度などを示すインジケータ部66と、Java(登録商標)アプリケーションの操作ボタンの内容などを表すソフトキー部67、とからなる。主画像65にはアプリケーション画像を重ねる部分のパーツは存在しない。図11(b)はアプリケーション画像52をあらわす図である。アプリケーション画像52はJava(登録商標)仮想マシン1が描画ライブラリ3を用いて生成した描画結果のビットマップそのものである。実施の形態2では、アプリケーション画像52と主画像65の各パーツのサイズおよび位置が固定している。すなわちインジケータ部66は幅x1、高さy1の矩形領域、ソフトキー部67は幅x1、高さy3の矩形領域、アプリケーション画像52は幅x1、高さy2の矩形領域であり、y1+y2+y3の値が表示画像72すなわちLCD8の高さに一致し、表示画像72の座標原点(表示画像72の左上端の点)から順にインジケータ部65、アプリケーション画像52、ソフトキー部67を重ならないように配置する。このとき主画像65のパーツであるインジケータ部66とソフトキー部67はXウインドウのツール群(Xツールキットやウイジェットセットなど)を用いて効率的に生成する。
次に、Java(登録商標)アプリケーション動作中におけるLCD8への表示のための表示画像72を構成する動作を説明する。主画像の各パーツであるインジケータ部66とソフトキー部67およびアプリケーション画像52マップを生成する手続きは、実施の形態1と同様である。生成された主画像のパーツは主画像記憶部6に、アプリケーション画像はアプリケーション画像記憶部5にそれぞれ格納される。また、LCD8への表示画像の更新がLCD8からの垂直同期割り込みと、表示制御DMAコントローラ34のDMA転送を使って、表示ドライバ42にて自律的に行われる点も実施の形態1と同様である。
表示画像記憶部7内の表示画像72にアプリケーション描画の結果を反映させるための手続きを説明する。Java(登録商標)仮想マシン1は表示ドライバ42に合成開始のトリガーをかける。合成開始を指示すると、表示制御DMAコントローラ34はLCD8からの垂直同期のタイミングにあわせて主画像記憶6とアプリケーション画像記憶部5から画像を読み出す。このとき表示ドライバ42および表示制御DMAコントローラ34は矩形転送機能を具備しているため、指定した矩形領域だけを抜き出してDMA転送することができる。
図12を用いて合成の様子を以下に説明する。表示ドライバ42は主画像記憶部6からインジケータ部66の矩形領域を抜き出し、表示画像記憶部76の座標原点A(0,0)をターゲット始点としてDMAによる矩形転送を起動する。次に表示ドライバ42はアプリケーション画像記憶部5からアプリケーション画像52の矩形領域を抜き出し、表示画像記憶部7の座標C(0,y1)をターゲット始点としてDMAによる矩形転送を起動する。最後に表示ドライバ6は主画像記憶部インドウバッファ6からソフトキー部67の矩形領域を抜き出し、表示画像記憶部7の座標E(0,y1+y2)をターゲット始点としてDMAによる矩形転送を起動する。この一連のDMA転送により、表示画像記憶部7内に表示画像72が格納され、LCD8に表示される。
なお、表示ドライバ42とXウインドウ2において、インジケータ部66、ソフトキー部67、アプリケーション画像52の各々のビットマップが書きかえられなかった場合にはそれぞれのDMAによる矩形転送を起動しない取り決めを具備させると、無駄なメモリ転送をしないで済むため、オーバーヘッドの削減にいっそう寄与することができる。
なお、実施の形態2においてはグラフィックアクセラレータ33を用いて描画を行っているが、CPU31上のソフトウエア描画ライブラリにて描画を行ってもよい。
本発明にかかるアプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラムは、Java(登録商標)仮想マシンおよびXウインドウシステムもしくはそのサブセットを搭載したアプリケーション描画端末において、Java(登録商標)アプリケーションの描画結果をLCD等の表示画面に高速表示が可能となるため、携帯電話装置、PDAなどのJava(登録商標)仮想マシンを搭載した組み込み機器において有用である。
1 Java(登録商標)仮想マシン
2 Xウインドウ
3 描画ライブラリ
4、42 表示ドライバ
5 アプリケーション画像記憶部
51、52 アプリケーション画像
6 主画像記憶部
61、62 主画像
7 表示画像記憶部
71、72 表示画像
8 LCD
2 Xウインドウ
3 描画ライブラリ
4、42 表示ドライバ
5 アプリケーション画像記憶部
51、52 アプリケーション画像
6 主画像記憶部
61、62 主画像
7 表示画像記憶部
71、72 表示画像
8 LCD
Claims (9)
- アプリケーション描画端末の情報を示す主画像を生成するXウインドウシステムまたはそのサブセットと、
描画ライブラリを用いてアプリケーション画像を描画するJava(登録商標)仮想マシンと、
前記描画ライブラリが前記アプリケーション画像を記憶する第1画像記憶部と、
前記第1画像記憶部から直接前記アプリケーション画像を取得し、前記主画像と前記アプリケーション画像とを合成して表示する表示ドライバとを備えたアプリケーション描画端末。 - 前記主画像は、前記アプリケーション画像を配置する矩形領域の位置とサイズが保持し、
前記アプリケーション画像と前記主画像を表示装置に合成して表示する際に、
前記矩形領域に透明を意味する特定の色を塗り、
前記表示ドライバが前記アプリケーション画像の上に、前記主画像をクロマキー合成にて重ね合わせ、表示することを特徴とする請求項1記載のアプリケーション描画端末。 - 前記主画像は1または複数の矩形領域であり、
前記アプリケーション画像と前記主画像を表示装置に合成して表示する際に、
前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、
前記の前記主画像の矩形領域と、アプリケーション画像をつなぎ合わせて表示することを特徴とする請求項1記載のアプリケーション描画端末 - Xウインドウシステムまたはそのサブセットがシステムの情報を示す主画像を生成する工程と、
前記Java(登録商標)仮想マシンが描画ライブラリを用いてアプリケーション画像を描画する工程と、
描画ライブラリが描画した前記アプリケーション画像を第1画像記憶部に格納する工程と、
表示ドライバが前記第1画像記憶部から直接前記アプリケーション画像を取得する工程と、
前記表示ドライバが前記アプリケーション画像と前記主画像とを合成して表示する工程とからなるアプリケーション描画の表示方法。 - 前記主画像は、前記アプリケーション画像を配置する矩形領域の位置とサイズを保持し、
前記アプリケーション画像と前記主画像を表示装置に合成して表示する工程において、
前記矩形領域に透明を意味する特定の色を塗る工程と、
前記表示ドライバが前記アプリケーション画像の上に前記主画像をクロマキー合成にて重ね合わせる工程と、
からなる請求項4記載のアプリケーション描画の表示方法。 - 前記主画像は1または複数の矩形領域であり、
前記アプリケーション画像と前記主画像を表示装置に合成して表示する工程において、
前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、
前記の前記主画像の矩形領域と、アプリケーション画像をつなぎ合わせる工程とからなる特徴とする請求項4記載のアプリケーション描画の表示方法。 - Xウインドウシステムまたはそのサブセットがシステムの情報を示す主画像を生成するステップと、
Java(登録商標)仮想マシンが描画ライブラリを用いてアプリケーション画像を描画するステップと、
描画ライブラリが描画した前記アプリケーション画像を第1画像記憶部に格納するステップと、
表示ドライバが前記第1画像記憶部から直接前記アプリケーション画像を取得するステップと、
前記表示ドライバが前記アプリケーション画像と前記主画像とを合成して表示するステップとからなるアプリケーション描画のプログラム。 - 前記主画像は、前記アプリケーション画像を配置する矩形領域の位置とサイズを保持し、
前記アプリケーション画像と前記主画像を表示装置に合成して表示するステップにおいて、
前記矩形領域に透明を意味する特定の色を塗るステップと、
前記表示ドライバが前記アプリケーション画像の上に前記主画像をクロマキー合成にて重ね合わせるステップと、
からなる請求項7記載のアプリケーション描画のプログラム。 - 前記主画像は1または複数の矩形領域であり、
前記アプリケーション画像と前記主画像を表示装置に合成して表示するステップにおいて、
前記表示ドライバは前記第1画像記憶部から直接前記アプリケーション画像を取得し、
前記の前記主画像の矩形領域とアプリケーション画像をつなぎ合わせるステップと、
からなる請求項7記載のアプリケーション描画のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004362645A JP2006171274A (ja) | 2004-12-15 | 2004-12-15 | アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004362645A JP2006171274A (ja) | 2004-12-15 | 2004-12-15 | アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006171274A true JP2006171274A (ja) | 2006-06-29 |
Family
ID=36672120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004362645A Pending JP2006171274A (ja) | 2004-12-15 | 2004-12-15 | アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006171274A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010513956A (ja) * | 2006-12-15 | 2010-04-30 | クゥアルコム・インコーポレイテッド | ポスト−レンダリング・グラフィックス・スケーリング |
JP2010514011A (ja) * | 2006-12-15 | 2010-04-30 | クゥアルコム・インコーポレイテッド | ポストレンダー・グラフィックス回転 |
JP2010514012A (ja) * | 2006-12-15 | 2010-04-30 | クゥアルコム・インコーポレイテッド | ポストレンダー・グラフィックス透明度 |
JP2013250798A (ja) * | 2012-05-31 | 2013-12-12 | Ricoh Co Ltd | 電子機器および画像形成装置 |
EP2701379A1 (en) * | 2012-08-22 | 2014-02-26 | QNX Software Systems Limited | Composition manager camera |
US8860957B2 (en) | 2012-07-27 | 2014-10-14 | Canon Kabushiki Kaisha | Image forming apparatus having a virtual machine for performing processing by issuing a processing request to a graphics library via an API |
US8878862B2 (en) | 2012-08-22 | 2014-11-04 | 2236008 Ontario Inc. | Composition manager camera |
US10592265B2 (en) | 2016-08-04 | 2020-03-17 | Canon Kabushiki Kaisha | Application execution apparatus equipped with virtual machine controlling installed application, control method therefor, and storage medium storing control program therefor |
-
2004
- 2004-12-15 JP JP2004362645A patent/JP2006171274A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010513956A (ja) * | 2006-12-15 | 2010-04-30 | クゥアルコム・インコーポレイテッド | ポスト−レンダリング・グラフィックス・スケーリング |
JP2010514011A (ja) * | 2006-12-15 | 2010-04-30 | クゥアルコム・インコーポレイテッド | ポストレンダー・グラフィックス回転 |
JP2010514012A (ja) * | 2006-12-15 | 2010-04-30 | クゥアルコム・インコーポレイテッド | ポストレンダー・グラフィックス透明度 |
JP2013250798A (ja) * | 2012-05-31 | 2013-12-12 | Ricoh Co Ltd | 電子機器および画像形成装置 |
US8860957B2 (en) | 2012-07-27 | 2014-10-14 | Canon Kabushiki Kaisha | Image forming apparatus having a virtual machine for performing processing by issuing a processing request to a graphics library via an API |
KR101571595B1 (ko) * | 2012-07-27 | 2015-11-24 | 캐논 가부시끼가이샤 | 화상 형성 장치 |
EP2701379A1 (en) * | 2012-08-22 | 2014-02-26 | QNX Software Systems Limited | Composition manager camera |
CN103634558A (zh) * | 2012-08-22 | 2014-03-12 | Qnx软件系统有限公司 | 组合管理器相机 |
US8878862B2 (en) | 2012-08-22 | 2014-11-04 | 2236008 Ontario Inc. | Composition manager camera |
US9183657B2 (en) | 2012-08-22 | 2015-11-10 | 2236008 Ontario Inc. | Composition manager camera |
EP3442217A1 (en) * | 2012-08-22 | 2019-02-13 | 2236008 Ontario Inc. | Composition manager camera |
US10592265B2 (en) | 2016-08-04 | 2020-03-17 | Canon Kabushiki Kaisha | Application execution apparatus equipped with virtual machine controlling installed application, control method therefor, and storage medium storing control program therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3111318B1 (en) | Cross-platform rendering engine | |
US8362971B1 (en) | Independent views generated for multiple display devices by a software application | |
US7988556B2 (en) | Game console and emulator for the game console | |
US7786997B2 (en) | Portable game machine and computer-readable recording medium | |
US20080284798A1 (en) | Post-render graphics overlays | |
EP2245598B1 (en) | Multi-buffer support for off-screen surfaces in a graphics processing system | |
EP2756481B1 (en) | System and method for layering using tile-based renderers | |
US20030214506A1 (en) | Graphics engine, and display driver IC and display module incorporating the graphics engine | |
JP2008170988A (ja) | グラフィックス・コントローラ、メイン画像とタイル画像から合成画像を生成する方法、およびグラフィクス・コントローラを用いてタイル状背景画像上にメイン画像を合成させる方法 | |
KR20090087504A (ko) | 포스트-렌더링 그래픽스 회전 | |
JP2006171274A (ja) | アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム | |
US9424814B2 (en) | Buffer display techniques | |
JP2004271671A (ja) | 画像表示装置及びそれを備えた端末装置 | |
JP2013045401A (ja) | アニメーション描画装置 | |
CN116091329B (zh) | 图像处理方法、装置、设备及存储介质 | |
JP2002312807A (ja) | 遊技機用画像表示装置 | |
JP2005165563A (ja) | 画像表示システムおよび画像表示処理装置 | |
CN116700655B (zh) | 一种界面显示方法及电子设备 | |
US10459681B2 (en) | Information processing apparatus, information processing method, and storage medium | |
WO2023284625A1 (zh) | 应用的跨平台显示方法、可读介质和电子设备 | |
CN117812181A (zh) | 显示屏切换方法和电子设备 | |
CN116740241A (zh) | 一种图像处理方法及电子设备 | |
CN116700850A (zh) | 显示方法及电子设备 | |
JP2004252103A (ja) | 画像表示装置、画像表示方法および画像表示プログラム | |
JP2004178127A (ja) | 情報表示処理装置およびプログラム |