(57)【要約】【課題】ウィンドウを重ねて表示するとき、少メモリでウィンドウ非表示時の画面復帰をちらつきなく高速に行う表示装置を提供すること。【解決手段】退避メモリ１０５は１つだけ用意し、隠蔽領域管理手段１０２は、各々のウィンドウを表示することによって隠蔽された領域をウィンドウの重なる順番で重ねながら退避メモリ上に退避し、隠蔽領域復帰手段１０３は、ウィンドウの非表示時に退避メモリから表示メモリへ画面を復帰するたびに退避メモリ上で復帰した領域によって隠されていた領域の復帰を指示することで、再描画を行う。【選択図】図１
2006113335.tif 000002
【特許請求の範囲】
【請求項１】
表示用のメモリである表示メモリとは別に複数ウィンドウ表示時のウィンドウの重なりよる隠蔽領域を退避するための退避メモリを有し、
複数のウィンドウの表示領域とその上下関係を管理し、上下関係に合わせて手前のウィンドウが背後のウィンドウを隠すように重ねた描画データを前記表示メモリに対して描画する表示領域管理手段と、
前記表示領域管理手段が管理するウィンドウの上下関係とその各々のウィンドウが隠した複数の領域とその各々の領域の属するウィンドウとの対応関係を管理し、前記表示領域管理手段が管理するウィンドウの上下関係に合わせて手前の領域が背後の領域を隠すように重ねて表示する際に、背後に隠れる領域の描画データを前記退避メモリに描画する隠蔽領域管理手段と、
前記表示領域管理手段で管理するウィンドウが非表示されたとき、非表示されたウィンドウと関連づけられた領域の描画データを前記退避メモリから前記表示メモリにコピーし、前記コピーした領域により隠されていた領域が属するウィンドウに対して復帰指示を出す隠蔽領域復帰手段とを有すことを特徴とした表示装置。
【請求項２】
前記隠蔽領域管理手段は、ウィンドウが隠した領域全体を親ウィンドウとし、前記ウィンドウが隠した複数の領域を子ウィンドウとして階層的に管理することを特徴とする請求項１に記載の表示装置。
【請求項３】
前記隠蔽領域管理手段は、新しく表示したウィンドウと前記表示領域管理手段が管理する複数のウィンドウとの共通領域を子ウィンドウとし、前記表示領域管理手段が管理するウィンドウのスタック順序と同じ順序で前記子ウィンドウのスタックを管理することを特徴とする請求項２に記載の表示装置。
【請求項４】
前記表示メモリが複数の場合、前記退避メモリは、前記表示メモリと共有することを特徴とする請求項１に記載の表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチウィンドウ表示において、少メモリで再描画によるちらつきのない表示を実現するための技術に関する。
【背景技術】
【０００２】
近年、デジタルＡＶ機器では、ＰＣと同様、マルチウィンドウ表示が一般的になっている。例えば、デジタルテレビにおける電子番組表でのサブメニューの表示など、複数のウィンドウを重ねて表示を行うケースが増えている。
【０００３】
ウィンドウの上に重ねて他のウィンドウを表示した場合、上のウィンドウの画像データが下のウィンドウの画像データを上書きすることになる。図５のように上のウィンドウを非表示したときに、上のウィンドウに重なって上書きされていた下のウィンドウの領域（描画データ）を、再描画しなければならない。
【０００４】
この再描画処理は、再描画対象の領域の画像を一から再構成するという作業であり、時間のかかる処理であるだけでなく、複数のグラフィックスオブジェクトを順に描画する過程が画面に現れるため、ちらつきのある低品質な表示となってしまうという課題がある。
【０００５】
上記、課題を解決するために、従来、ウィンドウの上に重ねて他のウィンドウを表示する場合、図６のように重なることによって表示されなくなる部分の画像を新たに確保したメモリに一時的に退避し、上に表示されているウィンドウが非表示されたときに、退避していた画像をもとに戻すことにより、ウィンドウ非表示時に背後のウィンドウの再描画処理によるちらつきをなくす技術がある（例えば、特許文献１参照）。このような技術は、マルチウィンドウ表示装置では一般的な技術であり、UNIX（登録商標）環境における一般的なウィンドウシステムであるXウィンドウシステムなどでも使用されている。
【特許文献１】特開平５−３４１９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記従来の技術では、表示用のメモリとは別に画像退避用のメモリが必要となる。つまり、複数枚のウィンドウが重なれば複数枚分の退避用のメモリが必要となる。このため、ウィンドウの重なりが多くなればなるほどメモリ使用量が増えてしまうという問題があった。また、退避用のメモリとしてシステムがどれだけのメモリを用意しなければならないか見積もることは、システム設計段階では困難であるという問題もあった。
【０００７】
組み込み機器においては、少メモリの環境下でPCと同等の高品位なGUI表示が求められる。したがって、少ないメモリでいかにちらつきのない高品位な表示を実現するかということが重要になる。
【０００８】
したがって、再描画によるちらつきをなくしながら、かつ、重なり枚数が増加しても使用メモリは増加しないような仕組みが必要となる。
【０００９】
本発明は、前記従来の課題を解決するもので、少メモリでちらつきのない画面復帰を実現するマルチウィンドウ表示装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記従来の課題を解決するために、本発明のマルチウィンドウ表示装置は、表示用のメモリである表示メモリとは別に複数ウィンドウ表示時のウィンドウの重なりよる隠蔽領域を退避するための退避メモリを有し、複数のウィンドウの表示領域とその上下関係を管理し、上下関係に合わせて手前のウィンドウが背後のウィンドウを隠すように重ねた描画データを表示メモリに対して描画する表示領域管理手段と、表示領域管理手段が管理するウィンドウの上下関係とその各々のウィンドウが隠した複数の領域とその各々の領域の属するウィンドウとの対応関係を管理し、表示領域管理手段が管理するウィンドウの上下関係に合わせて手前の領域が背後の領域を隠すように重ねて表示する際に、背後に隠れる領域の描画データを退避メモリに描画する隠蔽領域管理手段と、表示領域管理手段で管理するウィンドウが非表示されたとき、非表示されたウィンドウと関連づけられた領域の描画データを退避メモリから表示メモリにコピーし、コピーした領域により隠されていた領域が属するウィンドウに対して復帰指示を出す隠蔽領域復帰手段とを有し、ウィンドウを重ねて表示するとき、少メモリでウィンドウ非表示時の画面復帰をちらつきなく高速に行うことができる。
【発明の効果】
【００１１】
本発明のマルチウィンドウ表示装置によれば、同時に表示可能なウィンドウごとに複数の退避用のメモリを用意することなく、ウィンドウ非表示時にちらつきのない画面復帰を行うことが可能なため、少メモリで高品位な表示が可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１３】
図１は、本発明の実施の形態におけるマルチウィンドウ表示装置の構成を表した図である。
【００１４】
図１において、マルチウィンドウ表示装置１００は、アプリケーション１０６からウィンドウ表示に関する指示を受け取り、受け取った指示に基づいて画面への表示制御を行なう。なお、ここでは、アプリケーション１０６のみとしたが、複数のアプリケーションが同時に画面へウィンドウ表示を行なうことができる。また、表示対象の各ウィンドウは、識別可能なウィンドウＩＤを備えているものとする。
【００１５】
マルチウィンドウ表示装置１００は、表示領域管理手段１０１と、隠蔽領域管理手段１０２と、隠蔽領域復帰手段１０３と、表示メモリ１０４と退避メモリ１０５とを備えている。
【００１６】
表示領域管理手段１０１は、アプリケーション１０６からの表示指示や非表示指示を受け取り、受け取った指示に基づいて、複数のウィンドウの表示領域とその上下関係を管理し、上下関係に合わせて手前のウィンドウが背後のウィンドウを隠すように重ねた描画データを表示メモリ１０４に描画する。表示メモリ１０４は、画面に表示する描画データを記憶保持しており、この描画データの内容が画面に表示されることになる。例えば、１つのウィンドウに対して、ウィンドウＩＤと、位置情報と、サイズ情報と、各ウィンドウの重なりの上下関係を示す順序情報を有する表示領域管理情報を用いて、管理するものとする。
【００１７】
隠蔽領域管理手段１０２は、表示領域管理手段１０１が管理するウィンドウの上下関係とその各々のウィンドウが隠した複数の領域とその各々の領域の属するウィンドウとの対応関係を管理し、表示領域管理手段１０１が管理するウィンドウの上下関係に合わせて手前の領域が背後の領域を隠すように重ねて表示する際に、背後に隠れる領域の描画データを退避メモリ１０５に描画する。退避メモリ１０５は、表示メモリ１０４と同じ大きさであり、1枚分の画面表示可能な描画データを格納することができる。複数のウィンドウが表示されている状態でウィンドウを表示した場合、ウィンドウは複数のウィンドウの一部を同時に隠すことがある。隠蔽領域管理手段１０２は、ウィンドウが隠す複数の領域について、それぞれの領域がどのウィンドウを隠したかという情報を管理する。例えば、１つのウィンドウに対して、このウィンドウが背後に隠す領域の情報（ウィンドウＩＤと、位置情報と、サイズ情報）を有する隠蔽領域管理情報を用いて、管理するものとする。
【００１８】
隠蔽領域復帰手段１０３は、表示領域管理手段１０１で管理するウィンドウが非表示されたとき、非表示されたウィンドウと関連づけられた領域の描画データを退避メモリ１０５から表示メモリ１０４にコピーしたのち、そのコピーした領域により隠されていた領域が属するウィンドウの復帰指示を出す。なお、非表示指示は、アプリケーション１０６から表示領域管理手段１０１を介して通知されるものとする。また、復帰指示は、アプリケーション１０６に出力される。
【００１９】
以上により、表示メモリと同じ大きさの１枚分の退避メモリのみで、ウィンドウ非表示時に、退避メモリに記憶されている描画データを使用することで、ちらつきのない画面復帰を行なうことが可能となる。
【００２０】
表示領域管理手段１０１、隠蔽領域管理手段１０２、領域復帰手段１０３がどのように連携して動作するか、図を用いて説明する。
【００２１】
図２は、全画面のウィンドウの上に２つのウィンドウを重ねて表示した図である。
【００２２】
上段の図２（ａ）、図２（ｂ）、図２（ｃ）は表示メモリ１０４の内容を表した図である。図２（ａ）は全画面のウィンドウ（Ｐウィンドウ）を表示している状態であり、図２（ｂ）は全画面のウィンドウの上に小さなウィンドウ（Ｑウィンドウ）を重ねて表示した図である。図２（ｂ）の状態の時、表示領域管理手段１０１は、表示している２つのウィンドウ（ウィンドウＰとウィンドウＱ）の表示領域管理情報を保持しており、表示領域管理情報に基づいて、ウィンドウの重なりの上下関係に合わせて、手前のウィンドウが背後のウィンドウを隠している状態の全画面分の描画データを生成して、画面に表示する。ただし、表示メモリ１０４上の描画データを更新する前に、ウィンドウに重なり領域が発生したことを判断し、隠蔽領域管理手段１０２に、描画データの退避を指示し、退避が完了してから表示メモリ１０４上の描画データの更新を行うものとする。
【００２３】
図２（ｃ）は図２（ｂ）の状態からさらにウィンドウ（Ｒウィンドウ）を１つ重ねて表示した図であり、表示領域管理手段１０１は、同様に３つのウィンドウの表示領域管理情報を保持しており、表示領域管理情報に基づいて、ウィンドウの重なりの上下関係に合わせて全画面分の描画データを生成して、画面表示を行う。
【００２４】
一方、下段の図２（ｄ）、図２（ｅ）、図２（ｆ）は、退避メモリ１０５の内容を表した図である。
【００２５】
図２（ｄ）、図２（ｅ）、図２（ｆ）は、それぞれ表示メモリ１０４が図２（ａ）、図２（ｂ）、図２（ｃ）のときの退避メモリ１０５の内容を表している。
【００２６】
隠蔽領域管理手段１０２は、表示領域管理手段１０１のウィンドウ生成により、背後に隠れる領域の描画データを退避メモリに描画する。つまり、２つのウィンドウが重なった場合、上書きするウィンドウと同じ位置で同じ大きさの領域（ウィンドウ）が、退避対象の領域となる。また、隠蔽領域管理手段１０２は、退避領域管理情報を保持しており、退避した領域が表示領域管理手段１０１の管理するウィンドウのうちどのウィンドウの領域であるかを管理している。ウィンドウが複数のウィンドウの上に表示された場合、退避した画像は複数のウィンドウの画像から構成される場合がある。隠蔽領域管理手段１０２は、退避した領域が複数のウィンドウの画像を含む場合、それぞれの領域とそれぞれの領域がどのウィンドウの画像であるかという情報を関連付けて記憶する。
【００２７】
例えば、図２（ｂ）のようにＱウィンドウ４０２を表示するとき、隠蔽領域管理手段１０２は、Ｑウィンドウ４０２と同じ位置に同じ大きさのＴウィンドウ４０５を作成し、Ｑウィンドウ４０２によって隠された領域の描画データを、退避メモリ１０５上のＴウィンドウ４０５に退避（コピー）する。そして、退避した領域がＰウィンドウ４０１の内容であることを記憶する。
【００２８】
同様に、図２（ｃ）のようにさらにＲウィンドウ４０３を表示するとき、隠蔽領域管理手段１０２は、Ｒウィンドウ４０３と同じ位置に同じ大きさのＵウィンドウ４０６を作成し、Ｒウィンドウ４０３によって隠された領域の描画データをＵウィンドウ４０６に退避する。退避した領域はＰウィンドウ４０１の領域とＱウィンドウ４０２の内容を含むため、Ｕウィンドウ４０６を３つの領域に分割し、それぞれの領域がどのウィンドウの領域であるかを管理する。
【００２９】
図２（ｃ）の例のように、隠蔽領域管理手段１０２が管理するウィンドウが複数の領域から構成される場合、これらを容易に管理するために、本実施の形態では、図３のようにそれらの領域を隠蔽領域管理手段１０２が管理するウィンドウの子ウィンドウとして扱っている。隠蔽領域管理手段１０２は、新しくウィンドウを作成したとき、表示領域管理手段１０１が管理するウィンドウの最背面のウィンドウから順に新しく作成したウィンドウとの共通領域を求め、共通領域と同じ大きさのウィンドウを新しく作成したウィンドウの子ウィンドウとして順に作成する。そして、それぞれの子ウィンドウは、表示領域管理手段１０１が扱うウィンドウのどのウィンドウと関連づけられているかという情報をウィンドウのプロパティとして保持する。このように管理することで、領域の管理も全て通常のウィンドウシステムの機能を用いて行うことが可能となるため、領域の管理が容易となる。
【００３０】
なお、領域が１つの場合には、子ウィンドウを作成せず、直接親ウィンドウを用いて領域を管理してもよい。この場合、親ウィンドウのプロパティを設定する。
【００３１】
なお、領域が複数の場合にも、１つ目に作成したウィンドウが親ウィンドウと同じ大きさとなる場合には、同様に直接親ウィンドウを用いて領域を管理してもよい。
【００３２】
なお、ウィンドウと領域との関係、領域とその領域の属するウィンドウとの関係は、別途表などを用意して管理してもよい。
【００３３】
次に、Ｒウィンドウ４０３を非表示した場合の動作について説明する。
【００３４】
Ｒウィンドウ４０３を非表示したとき、隠蔽領域復帰手段１０３は、表示領域管理手段１０１のウィンドウ非表示処理により、背後に隠れていて復帰対象の領域の描画データを退避メモリ１０５から表示メモリ１０４に復帰（コピー）する。つまり、Ｕウィンドウ４０６の内容を表示メモリ１０４へコピーすることで画面に表示が復帰することになる。その後、隠蔽領域復帰手段１０３は、Ｕウィンドウ４０６の非表示処理を行い、退避メモリ１０５上のＴウィンドウ４０５に重なってＵウィンドウ４０６が表示されていた領域の描画データがクリアされる。隠蔽領域復帰手段１０３は、Ｕウィンドウ４０６の領域がＰウィンドウ４０１の領域であるという情報をウィンドウのプロパティから獲得し、アプリケーション１０６にＰウィンドウ４０１の復帰指示を出す。復帰指示は、復帰の対象となるウィンドウＩＤとそのウィンドウ内の復帰すべき領域の情報とを含む。アプリケーション１０６は、復帰指示を受けた領域を指定して、再描画指示を表示領域管理手段１０１に要求する。表示領域管理手段１０１は、再描画対象領域の描画データを隠蔽領域管理手段１０２に通知することにより、退避メモリ１０５上のクリアされた領域の描画データを復帰することができる。なお、この処理は画面の表示には現れない。
【００３５】
次にＱウィンドウ４０２を非表示したとき、隠蔽領域復帰手段１０３は同様にＴウィンドウ４０５の内容を退避メモリ１０５から表示メモリ１０４へコピーする。そして、隠蔽領域復帰手段１０３はＴウィンドウ４０５の非表示処理を行い、復帰指示をアプリケーション１０６に通知する。
【００３６】
なお、退避メモリは、表示するウィンドウの大きさが予め分かっているなどの理由から退避の領域の上限が予め分かっている場合、表示メモリよりも小さなサイズで用意しても良い。
【００３７】
また、組み込み機器においては、複数の表示メモリをハードウェアで合成して表示可能な場合がある。その場合、例えば表示メモリが２つある場合、背後の表示メモリを退避メモリとして使用してもよい。この場合の隠蔽領域管理手段１０２の動作について、図４を用いて説明する。
【００３８】
まず、Ｐウィンドウ４０１を表示したとき、表示領域管理手段１０１は背後の表示メモリである退避メモリ１０４に表示を行う。Ｑウィンドウ４０２を表示したとき、Ｑウィンドウ４０２を表示することによって隠蔽される領域はないため、隠蔽領域管理手段１０２はウィンドウを作成しない。次にＲウィンドウ４０３を表示したとき、Ｒウィンドウ４０３を表示することによって隠蔽される領域はＱウィンドウ４０２とＲウィンドウ４０３の共通領域であるため、この大きさのウィンドウ（Ｖウィンドウ６０１）を作成した後、Ｑウィンドウ４０２の隠蔽される領域の描画データを退避する。そして、Ｖウィンドウ６０１のプロパティに退避したメモリがＱウィンドウ４０２の内容であることを記憶する。そして、Ｒウィンドウ４０３が非表示されたとき、隠蔽領域復帰手段１０３は、Ｖウィンドウ６０１の内容を退避メモリ１０５から表示メモリ１０４へコピーすることで表示を復帰する。その後、隠蔽領域復帰手段１０３は、Ｖウィンドウ６０１の非表示処理を行い、退避メモリ１０５上のＰウインドウに重なってＶウィンドウ６０１が表示されていた領域の描画データがクリアされる。隠蔽領域復帰手段１０３は、その領域がＰウィンドウ４０１の領域であることからＰウィンドウ４０１の復帰指示をアプリケーション１０６に出す。
【００３９】
以上により、退避が必要となるウィンドウの個数だけ退避用のメモリを用意する必要がなくなり、ウィンドウの非表示時にちらつきのない画面復帰が可能となる。退避用のメモリは、最大で表示メモリと同じだけ用意すればよい。
【００４０】
また、本発明のマルチウィンドウ表示装置では、ウィンドウを非表示するたびに退避メモリを更新する必要はあるが、ウィンドウを１枚ずつ非表示にする場合、画面表示に影響せずに、バックグラウンドで退避メモリを更新することができる。
【産業上の利用可能性】
【００４１】
本発明にかかるマルチウィンドウ表示装置は、ウィンドウごとに複数の退避用メモリを用意することなくウィンドウ非表示時にちらつきのない画面復帰を行うことが可能であり、マルチウィンドウ表示を行うＡＶ機器や情報機器や通信機器等として有用である。また、家電機器等の用途にも応用できる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態におけるマルチウィンドウ表示装置の構成図
【図２】本発明の実施の形態におけるマルチウィンドウ表示装置の表示メモリと退避メモリの一例を示す図
【図３】本発明の実施の形態におけるマルチウィンドウ表示装置の退避メモリの管理の一例を示す図
【図４】本発明の実施の形態におけるマルチウィンドウ表示装置の複数プレーン表示における表示メモリと退避メモリの一例を示す図
【図５】従来のマルチウィンドウ表示におけるウィンドウの重なりについての説明図
【図６】従来のマルチウィンドウ表示におけるウインドウの重なりについての説明図
【符号の説明】
【００４３】
１０１    表示領域管理手段
１０２    隠蔽領域管理手段
１０３    隠蔽領域復帰手段
１０４    表示メモリ
１０５    退避メモリ
１０６    アプリケーション
【図１】
2006113335.tif 000003
【図２】
2006113335.tif 000004
【図３】
2006113335.tif 000005
【図４】
2006113335.tif 000006
【図５】
2006113335.tif 000007
【図６】
2006113335.tif 000008