(57)【要約】【課題】複数のウィンドウを迅速かつ確実に表示できるようにする。【解決手段】  アプリケーション３１−１乃至３１−３は、表示するウィンドウの座標をミドルウェア３２に出力する。ミドルウェア３２には、入力されたウィンドウのウィンドウヘッダをRAM１２に記述する。また、ミドルウェア３２は、ウィンドウのｙ座標をソートし、ソートした順番にしたがってウィンドウヘッダをリンクするとともに、リンクの先頭のウィンドウのウィンドウヘッダのRAM１２のアドレスをレジスタ１３に記述する。画像データ生成部１４は、RAM１２に記述されているウィンドウヘッダ列をリンクに従って順次読み出し、VRAM１５に画像データを描画し、そこから読み出された画像データに基づいて、表示部１６に画像を表示する。本発明は、DVDレコーダに適用することができる。【選択図】図１
2006119729.tif 000002
【特許請求の範囲】
【請求項１】
ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置のプログラムであって、
前記ウィンドウの前記画面上における座標を記述した前記ウィンドウヘッダをメモリ上に作成するウィンドウヘッダ作成ステップと、
前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソートステップと、
ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクするリンクステップと、
前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定ステップと
を含むことを特徴とするプログラム。
【請求項２】
前記プログラムはミドルウェアであり、
前記作成ステップは、アプリケーションプログラムから前記ウィンドウの表示の要求があった場合、前記ウィンドウヘッダを作成する
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記設定ステップは、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置をレジスタに設定する
ことを特徴とする請求項１に記載のプログラム。
【請求項４】
前記リンクステップは、さらに前記リンク先の有無を表すフラグを前記ウィンドウヘッダに記述する
ことを特徴とする請求項１に記載のプログラム。
【請求項５】
前記ウィンドウを消去する場合、前記ウィンドウの前記ウィンドウヘッダを前記リンクから除外する除外ステップをさらに含む
ことを特徴とする請求項１に記載のプログラム。
【請求項６】
前記ウィンドウを移動する場合、前記ウィンドウの前記座標を修正する修正ステップをさらに含み、
前記ソートステップ、前記リンクステップ、および前記設定ステップは、修正された前記座標に基づきそれぞれの処理を再度実行する
ことを特徴とする請求項１に記載のプログラム。
【請求項７】
ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置の画像表示制御方法であって、
前記ウィンドウの前記画面上における座標を記述した前記ウィンドウヘッダをメモリ上に作成するウィンドウヘッダ作成ステップと、
前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソートステップと、
ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクするリンクステップと、
前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定ステップと
を含むことを特徴とする画像表示制御方法。
【請求項８】
ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置であって、
前記ウィンドウの前記画面上における座標を記述した前記ウィンドウヘッダをメモリ上に作成するウィンドウヘッダ作成手段と、
前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソート手段と、
ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクするリンク手段と、
前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定手段と
を備えることを特徴とする画像表示制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラム、並びに画像表示制御方法および装置に関し、特に簡単かつ確実にウィンドウを表示できるようにしたプログラム、並びに画像表示制御方法および装置に関する。
【背景技術】
【０００２】
最近、電子機器において、GUI（Graphical User Interface）を構成する各種の情報を画面上に表示し、ユーザにそのGUIを選択、操作することで、各種の入力を行わせるようにすることが行われるようになってきた。
【０００３】
この場合、画面上にボタン、写真、その他の情報を含むウィンドウを複数個表示させる必要がある。複数のウィンドウを表示させる場合、各表示時刻におけるウィンドウの表示状態が、ウィンドウレイアウト情報として予め記述される（例えば、特許文献１）。この場合、例えば、アプリケーションプログラムがウィンドウを表示する画面上の座標をウィンドウヘッダに記述し、そのウィンドウヘッダに記述されている位置にウィンドウが表示される。
【０００４】
【特許文献１】特開平７−２８７６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、ウィンドウヘッダに基づいてウィンドウを迅速に表示することができるようにするために、各ウィンドウに対応する複数のウィンドウヘッダからなるウィンドウヘッダ列をウィンドウのｙ座標に基づいてソートし、ウィンドウヘッダをｙ標の順番に形成するようにしていた。その結果、ウィンドウの表示位置を変更したり、新たなウィンドウを追加するような場合、ウィンドウヘッダ列全体を変更しなければならず、ウィンドウの追加や位置の変更が迅速かつ容易にできない課題があった。
【０００６】
さらに、各アプリケーションプログラムが、それぞれ個々にウィンドウヘッダ列を生成するようにしているため、アプリケーションプログラムの製作に時間とコストがかかる課題があった。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、複数のウィンドウを簡単かつ確実に表示できるようにするものである。
【０００８】
また、アプリケーションプログラムを低コストで提供することができるようにするものである。
【課題を解決するための手段】
【０００９】
請求項１のプログラムは、ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置のプログラムであって、前記ウィンドウの前記画面上における座標を記述した前記ウィンドウヘッダをメモリ上に作成するウィンドウヘッダ作成ステップと、前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソートステップと、ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクするリンクステップと、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定ステップとを含むことを特徴とする。
【００１０】
前記プログラムはミドルウェアであり、作成ステップは、アプリケーションプログラムからウィンドウの表示の要求があった場合、ウィンドウヘッダを作成するようにすることができる。
【００１１】
前記設定ステップは、リンクの先頭のウィンドウヘッダのメモリ上の位置をレジスタに設定するようにすることができる。
【００１２】
前記リンクステップは、さらにリンク先の有無を表すフラグをウィンドウヘッダに記述するようにすることができる。
【００１３】
前記ウィンドウを消去する場合、ウィンドウのウィンドウヘッダをリンクから除外する除外ステップをさらに含むようにすることができる。
【００１４】
前記ウィンドウを移動する場合、ウィンドウの座標を修正する修正ステップをさらに含み、ソートステップ、リンクステップ、および設定ステップは、修正された座標に基づきそれぞれの処理を再度実行するようにすることができる。
【００１５】
請求項７の画像表示制御方法は、ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置の画像表示制御方法であって、前記ウィンドウの前記画面上における座標を記述した前記ウィンドウヘッダをメモリ上に作成するウィンドウヘッダ作成ステップと、前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソートステップと、ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクするリンクステップと、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定ステップとを含むことを特徴とする。
【００１６】
請求項８の画像表示制御装置は、ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置であって、前記ウィンドウの前記画面上における座標を記述した前記ウィンドウヘッダをメモリ上に作成するウィンドウヘッダ作成手段と、前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソート手段と、ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクするリンク手段と、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定手段とを備えることを特徴とする。
【００１７】
本発明においては、ウィンドウヘッダがメモリ上に作成され、ウィンドウヘッダに記述されているウィンドウの座標のうちのｙ座標に基づいてソートが行われ、ソートしたｙ座標の順番にウィンドウヘッダがリンクされる。
【発明の効果】
【００１８】
本発明によれば、複数のウィンドウを表示することができる。
【００１９】
特に、本発明によれば、複数のウィンドウを簡単かつ確実に所定の位置に表示させることが可能となる。さらに、低コストのアプリケーションプログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２１】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２２】
請求項１のプログラムは、ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置（例えば、図１の画像表示制御装置1）のプログラムであって、前記ウィンドウ（例えば、図１１のウィンドウ1乃至ウィンドウ3）の前記画面上（例えば、図１１の画面201上）における座標を記述した前記ウィンドウヘッダ（例えば、図１２のウィンドウヘッダ）をメモリ上（例えば、図１のRAM12上）に作成するウィンドウヘッダ作成ステップ（例えば、図９のステップS81）と、前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソートステップ（例えば、図９のステップS83）と、ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクする（例えば、図１２）リンクステップ（例えば、図９のステップS84）と、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定ステップ（例えば、図９のステップS85）とを含むことを特徴とする。
【００２３】
前記プログラムはミドルウェア（例えば、図１のミドルウェア32）であり、前記作成ステップは、アプリケーションプログラム（例えば、図１のアプリケーション31）から前記ウィンドウの表示の要求があった場合、前記ウィンドウヘッダを作成する。
【００２４】
前記設定ステップは、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置をレジスタ（例えば、図１のレジスタ13）に設定する。
【００２５】
前記リンクステップは、さらに前記リンク先の有無を表すフラグ（例えば、図１０の次のウィンドウの有無のフラグ）を前記ウィンドウヘッダに記述する。
【００２６】
前記ウィンドウを消去する場合、前記ウィンドウの前記ウィンドウヘッダを前記リンクから除外する除外ステップ（例えば、図８のステップS57）をさらに含む。
【００２７】
前記ウィンドウを移動する場合、前記ウィンドウの前記座標を修正する修正ステップ（例えば、図１３のステップS101）をさらに含み、前記ソートステップ（例えば、図１３のステップS105）、前記リンクステップ（例えば、図１３のステップS106）、および前記設定ステップ（例えば、図１３のステップS107）は、修正された前記座標に基づきそれぞれの処理を再度実行する。
【００２８】
請求項７の画像表示制御方法は、ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置（例えば、図１の画像表示制御装置1）の画像表示制御方法であって、前記ウィンドウ（例えば、図１１のウィンドウ1乃至ウィンドウ3）の前記画面上（例えば、図１１の画面201上）における座標を記述した前記ウィンドウヘッダ（例えば、図１２のウィンドウヘッダ）をメモリ上（例えば、図１のRAM12上）に作成するウィンドウヘッダ作成ステップ（例えば、図９のステップS81）と、前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソートステップ（例えば、図９のステップS83）と、ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクする（例えば、図１２）リンクステップ（例えば、図９のステップS84）と、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定ステップ（例えば、図９のステップS85）とを含むことを特徴とする。
【００２９】
請求項８の画像表示制御装置は、ウィンドウヘッダに基づいて画面上におけるウィンドウの表示を制御する画像表示制御装置（例えば、図１の画像表示制御装置1）であって、前記ウィンドウ（例えば、図１１のウィンドウ1乃至ウィンドウ3）の前記画面上（例えば、図１１の画面201上）における座標を記述した前記ウィンドウヘッダ（例えば、図１２のウィンドウヘッダ）をメモリ上（例えば、図１のRAM12上）に作成するウィンドウヘッダ作成手段（例えば、図９のステップS81の処理を実行する図４の作成部91）と、前記ウィンドウヘッダに記述されている前記ウィンドウの座標のうちのｙ座標をソートするソート手段（例えば、図９のステップS83の処理を実行する図４のソート部93）と、ソートした前記ｙ座標の順番に前記ウィンドウヘッダをリンクする（例えば、図１２）リンク手段（例えば、図９のステップS84の処理を実行する図４のリンク部94）と、前記リンクの先頭の前記ウィンドウヘッダの前記メモリ上の位置を設定する設定手段（例えば、図９のステップS85の処理を実行する図４の設定部95）とを備えることを特徴とする。
【００３０】
以下、図を参照して本発明の実施の形態について説明する。図１は、本発明を適用した画像表示制御装置の構成例を表している。この画像表示制御装置１は、例えばハードディスクレコーダやDVD（Digital Versatile Disk）レコーダなどで構成される。
【００３１】
この画像表示制御装置１は、CPU（Central Processing Unit）１１、RAM（Random Access Memory）１２、レジスタ１３、VRAM（Video RAM）１５を有する画像データ生成部１４、および表示部１６により構成されている。
【００３２】
CPU１１は、ロードされたアプリケーションプログラム（以下、単にアプリケーションと記述する）３１−１乃至３１−３とミドルウェア３２を実行する。
【００３３】
任意の数（この実施の形態の場合３個）のアプリケーション３１−１乃至３１−３は、それぞれ自分自身に必要な画像を表示させるべく、ミドルウェア３２に対してウィンドウの表示を要求する。ミドルウェア３２は、各アプリケーション３１−１乃至３１−３（以下、それらを個々に区別する必要がない場合、単にアプリケーション３１と称する）からの要求に基づいて、ウィンドウを表示させるべく所定の処理を実行する。
【００３４】
ミドルウェア３２は、RAM１２にウィンドウヘッダ列を作成する。また、ミドルウェア３２はレジスタ１３に、ウィンドウヘッダ列のうちの、リンクの先頭のウインドウヘッダのRAM１２上のアドレスを記憶（設定）させる。画像データ生成部１４は、RAM１２に記憶されているウィンドウヘッダ列に基づいて、そこに記述されているウィンドウの画像データを生成し、VRAM１５に描画する。VRAM１５上の画像データが読み出され、表示部１６に出力され、表示される。
【００３５】
アプリケーション３１は、例えば、図２に示されるような機能的構成を有している。すなわち、アプリケーション３１は、判定部５１、生成部５２、消去部５３、移動部５４、変更部５５、更新部５６、および処理部５７により構成されている。判定部５１は、各種の判定処理を行う。生成部５２は、ウィンドウの生成に必要な処理を行う。具体的には、ウィンドウの座標、サイズ、表示イメージが記憶されているRAM１２上のアドレスなどを生成、出力する。消去部５３は、ウィンドウを消去する場合、消去するウィンドウの座標を生成し、出力する。移動部５４は、移動先のウィンドウの座標を出力する。変更部５５は、ウィンドウのサイズを変更する場合におけるそのウィンドウの座標とサイズを出力する。更新部５６は、ウィンドウの状態を更新する場合において、ウィンドウの座標と状態パラメータを更新する。処理部５７は、その他の処理を実行する。
【００３６】
図３は、ミドルウェア３２の機能的構成例を表している。判定部７１は、各種の判定処理を行う。生成部７２は、ウィンドウを生成する場合の処理を行う。消去部７３は、ウィンドウを消去する場合の処理を行う。移動部７４は、ウィンドウを移動させる処理を行う。変更部７５は、ウィンドウのサイズを変更するための処理を行う。更新部７６は、ウィンドウの状態を更新する場合において、指定されたウィンドウの状態パラメータを変更する処理を行う。処理部７７は、その他の処理を実行する。
【００３７】
ミドルウェア３２の生成部７２は、図４に示されるように、作成部９１、判定部９２、ソート部９３、リンク部９４、および設定部９５の機能的構成を有している。
【００３８】
作成部９１は、ウィンドウヘッダを作成する。判定部９２は、ウィンドウヘッダを作成したか否かの判定を行う。ソート部９３は、ウィンドウヘッダのｙ座標をソートする。リンク部９４は、ウィンドウヘッダをｙ座標の順番でリンクする処理を行う。設定部９５は、ｙ座標が最小のウィンドウが記述されているウィンドウヘッダのRAM１２上のアドレスを、先頭ウィンドウのアドレスとしてレジスタ１３に設定する処理を行う。
【００３９】
ミドルウェア３２の移動部７４は、図５に示されるように、修正部１１１、演算部１１２、判定部１１３、除外部１１４、ソート部１１５、リンク部１１６、および設定部１１７により構成されている。
【００４０】
修正部１１１は、ウィンドウヘッダの座標を修正する処理を行う。演算部１１２は、ウィンドウの移動後の座標とサイズから、移動後のウィンドウの画面上の位置を演算する。判定部１１３は、ウィンドウが画面内に位置するかを判定する。除外部１１４は、ウィンドウヘッダをリンク対象から除外する処理を行う。ソート部１１５は、ウィンドウヘッダに記憶されているｙ座標をソートする。リンク部１１６は、ウィンドウヘッダを記憶しているｙ座標の順番でリンクする処理を行う。設定部１１７は、ｙ座標が最小の（リンクの先頭の）ウィンドウのRAM１２上のアドレスを先頭ウィンドウのポインタとしてレジスタ１３に設定する処理を行う。
【００４１】
なお、説明の便宜上、図５のソート部１１５、リンク部１１６および設定部１１７は、図４のソート部９３、リンク部９４、および設定部９５と別の構成として示されているが、同一の構成として認識することも可能である。
【００４２】
画像データ生成部１４は、図６に示されるように構成される。この実施の形態においては、画像データ生成部１４は、読み出し部１５１、判定部１５２、作成部１５３、およびVRAM１５に対応する記憶部１５４により構成されている。
【００４３】
読み出し部１５１は、先頭ウィンドウのポインタをレジスタ１３から読み出す。また、ウィンドウヘッダ情報を読み取る処理を行う。判定部１５２は、ポインタの有無、あるいは次のリンク先の有無などを判定する。作成部１５３は、ウィンドウを作成する。記憶部１５４は、表示部１６に表示する画像の画像データを記憶する。
【００４４】
次に、図１の画像表示制御装置１の動作について説明する。アプリケーション３１は、図７に示されるアプリケーションの処理を実行する。ミドルウェア３２は、アプリケーション３１からの要求に基づいて、図８に示されるミドルウェアの処理を実行する。ミドルウェア３２は、ウィンドウヘッダを作成し、RAM１２に記憶させるとともに、リンクの先頭のウィンドウヘッダのRAM１２上のアドレスを、レジスタ１３に記憶させる。画像データ生成部１４は、レジスタ１３に記憶されているポインタに基づいて、RAM１２上の先頭のウィンドヘッダの位置を特定し、以下、リンクをたどることで各ウィンドウヘッダにアクセスし、それらの記憶に基づいて図１８のフローチャートに示される画像生成処理を実行し、表示部１６に任意の数のウィンドウを表示させる。
【００４５】
以下、各部の個々の処理についてそれぞれ説明する。
【００４６】
最初に、図７のフローチャートを参照して、アプリケーション３１の処理について説明する。
【００４７】
ステップＳ１１において、判定部５１は、処理すべき内容がウィンドウの生成か否かを判定する。ウィンドウの生成である場合、ステップＳ１６において、生成部５２は、生成するウィンドウの座標、サイズ、表示イメージのアドレスをミドルウェア３２に出力する。これらは、ミドルウェア３２により、後述する図９のステップＳ８１でウィンドウヘッダに記述される。
【００４８】
ステップＳ１１において、処理すべき内容がウィンドウの生成ではないと判定された場合、ステップＳ１２において、判定部５１は、処理すべき内容がウィンドウの消去かを判定する。処理内容がウィンドウの消去である場合には、ステップＳ１７において、消去部５３は、消去するウィンドウの座標をミドルウェア３２に出力する。ミドルウェア３２は、後述する図８のステップＳ５７において、指定されたウィンドウをウィンドウヘッダのリンクから除外する処理を実行する。
【００４９】
ステップＳ１２において、ウィンドウの消去が処理内容ではないと判定された場合、ステップＳ１３において、判定部５１は、処理内容がウィンドウの座標移動かを判定する。処理内容が、ウィンドウの座標移動である場合には、ステップＳ１８において、移動部５４は移動するウィンドウの移動先の座標をミドルウェア３２に出力する。ミドルウェア３２は、図８のステップＳ５８において、この座標に基づいて移動処理を実行する。
【００５０】
ステップＳ１３において、処理内容がウィンドウの座標移動ではないと判定された場合、ステップＳ１７において、判定部５１は、処理内容がウィンドウのサイズ変更かを判定する。処理内容が、ウィンドウのサイズ変更である場合、ステップＳ１９において、変更部５５は、変更するウィンドウの座標とサイズをミドルウェア３２に出力する。ミドルウェア３２は、この出力に基づいて、図８のステップＳ５９において、ウィンドウヘッダに記述されているウィンドウのサイズを変更する。
【００５１】
ステップＳ１４において、処理内容がウィンドウのサイズ変更ではないと判定された場合、ステップＳ１５において、判定部５１は、処理内容がウィンドウの状態更新かを判定する。ウィンドウの状態更新が処理内容である場合には、ステップＳ２０において、更新部５６は、ウィンドウの座標と状態パラメータをミドルウェア３２に出力する処理を実行する。ミドルウェア３２は、この出力に基づいて、図８のステップＳ６０において、指定されたウィンドウの状態パラメータを変更する処理を実行する。
【００５２】
ステップＳ１５において、処理内容がウィンドウの状態更新ではないと判定された場合、ステップＳ２１において、処理部５７はその他の処理を実行する。
【００５３】
次に、図８のフローチャートを参照して、ミドルウェア３２の処理について説明する。この処理は、アプリケーション３１からミドルウェア３２に処理の要求があったとき実行される。ステップＳ５１において、判定部７１は、アプリケーション３１から要求された処理内容がウィンドウの生成かを判定する。アプリケーション３１からの要求がウィンドウの生成である場合には、ステップＳ５６において、生成部７２は生成処理を実行する。
【００５４】
生成処理の詳細は、図９のフローチャートに示されている。ステップＳ８１において、作成部９１は、ウィンドウヘッダを作成し、RAM１２に記憶させる。次に、ステップＳ８２において、判定部９２はすべてのウィンドウのウィンドウヘッダを作成したかを判定する。すべてのウィンドウのウィンドウヘッダを作成していない場合には、処理はステップＳ８１に戻り、それ以降の処理が繰り返し実行される。
【００５５】
図１０は、このようにして作成されるウィンドウヘッダの構造の例を表している。この例においては、ウィンドウヘッダにウィンドウの座標（ｘ，ｙ）、ウィンドウのサイズ（width，height）、表示イメージ（img_addr）などが記述される。ここにおけるウィンドウの座標は、ウィンドウの画面上の左上の座標を表す。また、サイズは、ウィンドウの横幅（width）と高さ（height）を表す。表示イメージ（img_addr）は、そのウィンドウに表示されるイメージ（画像）が記憶されているRAM１２上のアドレスを表す。
【００５６】
ウィンドウヘッダには、また、次のウィンドウヘッダのアドレスがリンク先として記述される。このアドレスはウィンドウヘッダが記述されているRAM１２上のアドレスである。ウィンドウヘッダには、さらに、次のウィンドウの有無のフラグが記述される。このフラグは、リンク先のウィンドウヘッダの有無をも意味し、リンク先が有るとき、例えば「１」とされ、無いとき「０」とされる。
【００５７】
例えば、図１１に示されるように、ウィンドウ１、ウィンドウ２、およびウィンドウ３の３個のウィンドウが画面２０１上に表示される場合、図１２に示されるように、RAM１２上にウィンドウヘッダ列が記述される。この例の場合、ウィンドウ１に対応するウィンドウヘッダ１、ウィンドウ２に対応するウィンドウヘッダ２、ウィンドウ３に対応するウィンドウヘッダ３の３個のウィンドウヘッダがからなるウィンドウヘッダ列とされている。ウィンドウヘッダ１のアドレス１は、次のウィンドウヘッダ２のRAM１２上のアドレスを表す。また、ウィンドウヘッダ２のアドレス２は、次のウィンドウヘッダ３のRAM１２上のアドレスを表す。
【００５８】
ステップＳ８２において、すべてのウィンドウのウィンドウヘッダが作成されたと判定された場合、ステップＳ８３において、ソート部９３は、ウィンドウヘッダのウィンドウのｙ座標をソートする。例えば、図１１に示されるように、ウィンドウ１の座標が（ｘ1，ｙ1）であり、ウィンドウ２の座標が（ｘ2，ｙ2）であり、ウィンドウ３の座標が（ｘ3，ｙ3）である場合、各ウィンドウ１乃至ウィンドウ３のｙ座標ｙ1，ｙ2，ｙ3がソートされる。なお、これらのｙ座標ｙ1，ｙ2，ｙ3は、VRAM１５上の座標（画面２０１上の座標）である。
【００５９】
図１１の実施の形態の場合、ソートされたｙ座標は、ｙ1，ｙ2，ｙ3の順番になる。次に、ステップＳ８４において、リンク部９４は、ウィンドウヘッダをｙ座標の順番でリンクする。さらに、ステップＳ８５において、設定部９５は、ｙ座標が最小のウィンドウのウィンドウヘッダのRAM１２上のアドレスを先頭ウィンドウのポインタとしてレジスタ１３に設定する。
【００６０】
図１１の実施の形態の場合、ウィンドウ１のｙ座標が最も小さく、次にウィンドウ２のｙ座標が小さく、ウィンドウ３のｙ座標は最も大きいので、ウィンドウ１、ウィンドウ２、ウィンドウ３の順番にリンクが行われることになる。したがって、図１２に示されるように、ウィンドウヘッダ１の次のウィンドウヘッダのアドレス１としては、ウィンドウヘッダ２のRAM１２上のアドレスが記述される。そして、ウィンドウヘッダ２の次のウィンドウヘッダのアドレス２としては、ウィンドウヘッダ３のRAM１２上のアドレスが記述される。
【００６１】
ウィンドウヘッダ３のさらに次には、他のウィンドウヘッダはリンクされない。したがって、ウィンドウヘッダ３の次のウィンドウヘッダのアドレス（アドレス３）には何も記述されない。
【００６２】
また、今、フラグは、次のウィンドウが存在する場合「１」、存在しない場合「０」とされるので、図１２に示されるように、ウィンドウヘッダ１のフラブ１には、「１」が記述され、ウィンドウヘッダ２のフラブ２には、「１」が記述され、そして、ウィンドウヘッダ３のフラグ３には、「０」が記述される。
【００６３】
そして、リンクの先頭のウィンドウに対応するウィンドウヘッダは、ウィンドウヘッダ１であるため、レジスタ１３には先頭ウィンドウのウィンドウヘッダのアドレス（ポインタ）としてウィンドウヘッダ１のRAM１２上のアドレスが記述される。
【００６４】
なお、次のウィンドウの有無のフラグは、次のウィンドウヘッダのアドレスに兼用させることで省略しても良い。
【００６５】
図８に戻って、ステップＳ５１において、アプリケーション３１からの要求（処理内容）がウィンドウの生成ではないと判定された場合、ステップＳ５２において、判定部７１は、処理内容がウィンドウの消去かを判定する。処理内容がウィンドウの消去である場合には、ステップＳ５７において、消去部７３は、指定されたウィンドウをウィンドウヘッダのリンクから除外する処理を実行する。例えば、図１２の実施の形態において、ウィンドウ３の消去が指示された場合には、ウィンドウヘッダ３のリンクがウィンドウヘッダ列から除外されることになる。具体的には、ウィンドウヘッダ２のアドレス２のアドレスが消去される。そしてウィンドウヘッダ２のフラグ２が「１」から「０」に変更される。
【００６６】
後述するように、画像データ生成部１４は、このウィンドウヘッダ列の記述に基づいてウィンドウを表示するため、ウィンドウヘッダ３がリンクから除外されていると、ウィンドウヘッダ３に対応するウィンドウ３は表示されないことになる。すなわち消去されることになる。
【００６７】
このようにして、ウィンドヘッダ３自体を消去するのではなく、ウィンドウヘッダ３をリンクから除外することで消去処理が行われる。これにより、ウィンドウ３を再び作成する場合には、リンクだけをつなげばよくなり、迅速な処理が可能となる。
【００６８】
次に、ステップＳ５３において、判定部７１は、処理内容がウィンドウの座標移動かを判定する。処理内容がウィンドウの座標移動である場合には、ステップＳ５８において、移動部７４は移動処理を実行する。
【００６９】
移動処理の詳細は、図１３のフローチャートに示されている。
【００７０】
ステップＳ１０１において、修正部１１１は、ウィンドウヘッダの座標を修正する。
【００７１】
例えば、図１４に示されるように、座標（１０，１０）のウィンドウ１、座標（４０，２０）のウィンドウ２、座標（２０，３０）のウィンドウ３が表示されている状態において、図１５に示されるように、ウィンドウ１を座標（１０，３０）に移動し、ウィンドウ３を座標（２０，−２０）に移動するものとする。この場合、図１４に示される状態に対応して、ウィンドウヘッダ列が、図１６に示されるように記述されている。そして、このウィンドウヘッダ列が、図１７に示されるように変更される。すなわち、ウィンドウヘッダ１の座標が（１０，１０）から座標（１０，３０）に変更される。また、ウィンドウヘッダ３の座標が（２０，３０）から座標（２０，−２０）に変更される。
【００７２】
ステップＳ１０２において、演算部１１２は、移動先の座標とサイズから、移動後のウィンドウの画面上の位置を演算する。そして、ステップＳ１０３において、判定部１１３は、移動後のウィンドウは画面内に位置するかを判定する。なお、この判定処理においては、ウィンドウの少なくとも一部が画面内に位置する場合には、そのウィンドウは画面内に位置すると判定される。
【００７３】
図１５に示される例においては、ウィンドウ１は画面２０１内に位置するが、ウィンドウ３は画面２０１の領域の外に位置している。ステップＳ１０３において、ウィンドウが画面内に位置すると判定された場合、ステップＳ１０５において、ソート部１１５は、ウィンドウヘッダのｙ座標をソートする処理を実行する。これに対して、ステップＳ１０３において、ウィンドウが画面内に位置しないと判定された場合、ステップＳ１０４において、除外部１１４はリンク対象からそのウィンドウを除外する処理を実行する。図１５の例の場合、ウィンドウ１は画面２０１内に位置するが、ウィンドウ３は画面２０１の外に位置するため、リンク対象から除外されることになる。リンク対象から除外されたウィンドウはソートする必要もないから、ソート対象からも外されることになる。
【００７４】
図１５の例の場合、ウィンドウ１とウィンドウ２のみがソート対象とされることになる。そして図１５に示されるように、ウィンドウ２の座標が（４０，２０）であり、ウィンドウ１の座標が（１０，３０）であるため、ウィンドウ２のｙ座標（２０）の方が小さく、ウィンドウ１のｙ座標（３０）の方が大きい。そこで、図１７に示されるように、ステップＳ１０６において、リンク部１１６はウィンドウヘッダをｙ座標の順番でリンクする。図１７に示されるように、ウィンドウヘッダ２のアドレス２として、ウィンドウヘッダ１のRAM１２の座標が記述される。そして、ウィンドウヘッダ２のフラブ２として「１」が記述される。ウィンドウヘッダ１の次のウィンドウヘッダのアドレス（アドレス１）には、そのあとにリンクするウィンドウが存在しないため何も記述されない。そして、ウィンドウヘッダ１のフラブ１としては、「０」が記述される。ウィンドウヘッダ３は、リンク対象から除外されているため、次のウィンドウヘッダのアドレス（アドレス３）には何も記述されない。また、ウィンドウヘッダ３のフラグ３としては、「０」が記述される。
【００７５】
ステップＳ１０７において、設定部１１７は、ｙ座標が最小のウィンドウのウィンドウヘッダのRAM１２上のアドレスを先頭ウィンドウのポインタとしてレジスタ１３に設定する。すなわち、図１７の例の場合、先頭ウィンドウのポインタとしてのウィンドウヘッダ２のRAM１２のアドレスが、レジスタ１３に記述される。
【００７６】
図８に戻って、ステップＳ５３で処理内容がウィンドウの座標移動ではないと判定された場合、ステップＳ５４で、判定部７１は、処理内容がウィンドウのサイズ変更かを判定する。ウィンドウのサイズ変更である場合、ステップＳ５９で、変更部７５は、ウィンドウヘッダのサイズをアプリケーション３１から指定された値に変更する。その結果、画像データ生成部１４の処理により、ウィンドウのサイズが指定された値に変更される。
【００７７】
ステップＳ５４において、ウィンドウのサイズ変更が処理内容ではないと判定された場合、ステップＳ５５において、判定部７１は、処理内容がウィンドウの状態更新かを判定する。ウィンドウの状態更新が処理内容である場合には、ステップＳ６０において、更新部７６は、アプリケーション３１により指定されたウィンドウの状態パラメータを変更する処理を実行する。これにより、例えば、そのウィンドウに表示されている画像が異なる状態に変更されることになる。
【００７８】
ステップＳ５５において、処理内容がウィンドウの状態更新ではないと判定された場合、ステップＳ６１において、処理部７７はその他の処理を実行する。
【００７９】
以上の処理により、RAM１２にはウィンドウヘッダ列が記述され、そして、レジスタ１３には、その先頭のウィンドウヘッダのRAM１２上のアドレス、すなわちポインタが記述されていることになる。
【００８０】
このような状態において、次に画像データ生成部１４により、図１８のフローチャートに示されるような画像生成処理が実行されることになる。
【００８１】
すなわち、ステップＳ１６１において、読み出し部１５１は、先頭ウィンドウのポインタを読み出す処理を実行する。具体的には、レジスタ１３から、ポインタ、すなわち先頭ウィンドウの情報が記述されているウィンドウヘッダのRAM１２のアドレスが読み出される。次に、ステップＳ１６２において、判定部１５２は、ポインタがあるかを判定する。レジスタ１３にポインタがある場合には、ステップＳ１６３において、読み出し部１５１は、ウィンドウヘッダ情報をRAM１２から読み取る。次に、ステップＳ１６４において、作成部１５３はウィンドウを作成する。すなわち、ステップＳ１６３で読み取られるウィンドウヘッダ情報に基づいて、ウィンドウが作成され、記憶部１５４（VRAM１５）に記憶される。例えば、ウィンドウヘッダ列が、図１７に示されるように記述されている場合、レジスタ１３にウィンドウヘッダ２のRAM１２上のアドレスが記述されているため、ウィンドウヘッダ２のウィンドウヘッダ情報が読み出される。そして、ウィンドウヘッダ２に対応するウィンドウ２が作成され、記憶部１５４（VRAM１５）上に描画される。そして、記憶部１５４上に描画された画像データが読み出され、表示部１６に出力され、表示される。
【００８２】
ステップＳ１６５において、判定部１５２は、次のリンク先があるかを判定する。図１７の例の場合、ウィンドウヘッダ２には、次のリンク先がアドレス２に記述されている。そのアドレス２は、ウィンドウヘッダ１を指定している。したがって、ステップＳ１６３に戻り、読み出し部１５１は、ウィンドウヘッダ１のウィンドウヘッダ情報を読み取る。そして、ステップＳ１６４において、作成部１５３は、ウィンドウヘッダ１の情報に基づいてウィンドウ１を作成する。これにより、記憶部１５４（VRAM１５）上にウィンドウ１が描画され、その画像データが読み出され、表示部１６に出力され、表示される。次に、ステップＳ１６５に進み、次のリンク先があるかが判定される。ウィンドウヘッダ１の後ろには、次のリンク先が記述されていない。したがって、ここで画像生成処理は終了されることになる。
【００８３】
このようにして、ウィンドウヘッダに記述された情報に基づいて、図１５に示されるようなウィンドウ１とウィンドウ２が、画面２０１に表示されることになる。
【００８４】
ステップＳ１６２において、ポインタが存在しないと判定された場合には、ステップＳ１６３乃至ステップＳ１６５の処理はスキップされる。
【００８５】
なお、以上においては、リンクの先頭のウィンドウヘッダのRAM１２のアドレスをレジスタ１３に設定するようにしたが、RAM１２上の予め決められた固定のアドレスに設定するようにしてもよい。
【００８６】
以上のようにして、ウィンドウのVRAM１５上（画面２０１）のｙ座標に基づいてウィンドウをソートし、そのソートしたウィンドウの順番にしたがって、ウィンドウヘッダをリンクするようにしたので、レジスタ１３と各ウィンドウヘッダのリンクを順次読み出すことにより、各ウィンドウの情報を、迅速かつ確実に読み取ることができる。また、ウィンドウを追加したり移動する場合にも、リンクを変更するだけで、ウィンドウヘッダ列の全体は変更しないので、ウィンドウを迅速かつ確実に表示することが可能となる。
【００８７】
さらに、ウィンドウヘッダをミドルウェアにより生成するようにしたので、アプリケーションによりウィンドウヘッダを生成する必要がなくなり、アプリケーションの生成を迅速かつ低コストで行うことが可能となる。
【００８８】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、画像表示制御装置は、図１９に示されるようなパーソナルコンピュータ３１１により構成することができる。
【００８９】
図１９において、CPU（Central Processing Unit）３２１は、ROM（Read Only Memory）３２２に記憶されているプログラム、または記憶部３２８からRAM（Random Access Memory）３２３にロードされたプログラムに従って各種の処理を実行する。RAM３２３にはまた、CPU３２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００９０】
CPU３２１、ROM３２２、およびRAM３２３は、バス３２４を介して相互に接続されている。このバス３２４にはまた、入出力インタフェース３２５も接続されている。
【００９１】
入出力インタフェース３２５には、キーボード、マウスなどよりなる入力部３２６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部３２７、ハードディスクなどより構成される記憶部３２８、モデムなどより構成される通信部３２９が接続されている。通信部３２９は、インターネットを含むネットワークを介しての通信処理を行う。
【００９２】
入出力インタフェース３２５にはまた、必要に応じてドライブ３３０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３３１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部３２８にインストールされる。
【００９３】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【００９４】
この記録媒体は、図１９に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア３３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM３２２や、記憶部３２８に含まれるハードディスクなどで構成される。
【００９５】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９６】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【産業上の利用可能性】
【００９７】
本発明は、例えば、DVDレコーダに適用することが可能である。
【図面の簡単な説明】
【００９８】
【図１】本発明を適用した画像表示制御装置の構成例を示すブロック図である。
【図２】アプリケーションの機能的構成例を示すブロック図である。
【図３】ミドルウェアの機能的構成例を示すブロック図である。
【図４】図３の生成部の機能的構成例を示すブロック図である。
【図５】図３の移動部の機能的構成例を示すブロック図である。
【図６】図１の画像データ生成部の機能的構成例を示すブロック図である。
【図７】アプリケーションの処理を説明するフローチャートである。
【図８】ミドルウェアの処理を説明するフローチャートである。
【図９】図８のステップＳ５６の生成処理の詳細を説明するフローチャートである。
【図１０】ウィンドウヘッダの構造の例を示す図である。
【図１１】ウィンドウの表示例を示す図である。
【図１２】ウィンドウヘッダ列の例を示す図である。
【図１３】移動処理の詳細を説明するフローチャートである。
【図１４】ウィンドウの表示例を示す図である。
【図１５】ウィンドウの表示例を示す図である。
【図１６】ウィンドウヘッダ列の表示例を示す図である。
【図１７】ウィンドウヘッダ列の表示例を示す図である。
【図１８】画像生成処理を説明するフローチャートである。
【図１９】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【００９９】
１  画像表示制御装置，  １１  CPU，  １２  RAM，  １３  レジスタ，  １４  画像データ生成部，  １５  VRAM，  １６  表示部，  ３１−１乃至３１−３  アプリケーション，  ３２  ミドルウェア，  ７１  判定部，  ７２  生成部，  ７３  消去部，  ７４  移動部，  ７５  変更部，  ７６  更新部，  ７７  処理部
【図１】
2006119729.tif 000003
【図２】
2006119729.tif 000004
【図３】
2006119729.tif 000005
【図４】
2006119729.tif 000006
【図５】
2006119729.tif 000007
【図６】
2006119729.tif 000008
【図７】
2006119729.tif 000009
【図８】
2006119729.tif 000010
【図９】
2006119729.tif 000011
【図１０】
2006119729.tif 000012
【図１１】
2006119729.tif 000013
【図１２】
2006119729.tif 000014
【図１３】
2006119729.tif 000015
【図１４】
2006119729.tif 000016
【図１５】
2006119729.tif 000017
【図１６】
2006119729.tif 000018
【図１７】
2006119729.tif 000019
【図１８】
2006119729.tif 000020
【図１９】
2006119729.tif 000021