JP5506120B2 - ディスプレイ面を複数の仮想ディスプレイ区域に区分化するための装置及び方法 - Google Patents

ディスプレイ面を複数の仮想ディスプレイ区域に区分化するための装置及び方法 Download PDF

Info

Publication number
JP5506120B2
JP5506120B2 JP2012543422A JP2012543422A JP5506120B2 JP 5506120 B2 JP5506120 B2 JP 5506120B2 JP 2012543422 A JP2012543422 A JP 2012543422A JP 2012543422 A JP2012543422 A JP 2012543422A JP 5506120 B2 JP5506120 B2 JP 5506120B2
Authority
JP
Japan
Prior art keywords
display
emulated physical
virtual
emulated
data
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.)
Active
Application number
JP2012543422A
Other languages
English (en)
Other versions
JP2013513873A (ja
JP2013513873A5 (ja
Inventor
ジャン イーナン
ペゼシギ シャリーア
チェン ミンウエイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of JP2013513873A publication Critical patent/JP2013513873A/ja
Publication of JP2013513873A5 publication Critical patent/JP2013513873A5/ja
Application granted granted Critical
Publication of JP5506120B2 publication Critical patent/JP5506120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay

Description

本開示は、ディスプレイ、及び単一の物理ディスプレイのディスプレイ面を多重仮想ディスプレイへと区分化すること(partitioning)に関する。
所与の複数のアプリケーションをモニタリングするために、ディスプレイ面を多重セクションに分割する能力を有することが便利である。例えばユーザは、あるアプリケーションがディスプレイの一部分で動作し、また別の区分(partition)でインターネットチャットアプリケーションが動作することを望む場合がある。このようにして、ユーザは、オンラインゲームアプリケーションを行いながら、一人以上のゲーマー仲間又は他の友人とのチャットセッションを実行することができる。別の例では、ユーザは、1つの区分において主たるアプリケーションを動作させながら、株式市況やニュース等の他の項目を監視し続けることができる。
ユーザが区分を作成することを可能にする幾つかのユーティリティが存在する。残念なことに、アプリケーション設定は区分に勝り(trump)、そのような既存のユーティリティが特定の使用事例シナリオを提供することを不可能にしてしまう。例えば、あるアプリケーションが「フルスクリーンモード」で実行中の場合、即ちアプリケーションウインドウが実際のディスプレイ面の全区域にわたって広がっているであろう場合、そのアプリケーションは任意の設定された区分を覆い隠してしまい、任意の他のアプリケーションはもはや見えなくなることになる。つまり、フルスクリーンモード等のアプリケーション設定は、既存の区分ユーティリティによって作成された任意のディスプレイ区分設定に勝る。
そこで、フルスクリーンモードで実行中のアプリケーションが、設定された区分内にとどまり他の区分内にディスプレイされる他のアプリケーションを妨げることのないように、アプリケーションからの干渉を受けることなくディスプレイ面を区分化することができる装置及び方法に対する必要性が存在する。
図1は実施形態に従う装置のブロック図である。
図2は実施形態に従い2つの仮想ディスプレイ区分を有するディスプレイ面の図である。
図3は実施形態に従い他の仮想ディスプレイ区分を妨げることなしにアプリケーションの1つがフルスクリーンモードで動作させられる2つの仮想ディスプレイ区分を有するディスプレイ面の図である。
図4は実施形態に従いアプリケーションの1つが仮想ディスプレイ境界を横切って移動させられる2つの仮想ディスプレイ区分を有するディスプレイ面の図である。
図5は実施形態に従いカーソルが仮想ディスプレイ境界を横切って移動させられる2つの仮想ディスプレイ区分を有するディスプレイ面の図である。
図6は実施形態に従い第2のディスプレイが仮想ディスプレイ区分の1つの複製を提供する2つの仮想ディスプレイ区分を有するディスプレイ面の図である。
図7は実施形態に従い画像ティアリング(image tearing)を提示する方法でのフレーム組成を示すフローチャートである。
図8は実施形態に従う仮想ディスプレイのためのハードウエア割り込みの処理及びハードウエア割り込みのシミュレーションを示すフローチャートである。
図9は実施形態に従うハードウエア割り込みの処理及び仮想ディスプレイ更新を示すフローチャートである。
図10は実施形態に従いカーソルが種々の仮想ディスプレイ区分の間を移動するときのカーソルの操作を示すフローチャートである。
図11は種々の実施形態の高レベル動作を示すフローチャートである。
図12は種々の実施形態の高レベル動作を示すフローチャートである。
図13はアプリケーションがフルスクリーンモードで動作させられている場合における種々の実施形態の高レベル動作を示すフローチャートである。
図14は種々の実施形態に従い複数の仮想区分を有する分割ディスプレイの有効化を示すフローチャートである。
図15は種々の実施形態に従う分割ディスプレイの無効化を示すフローチャートである。
図16は実施形態に従う分割ディスプレイ構成アプリケーションウインドウの例を示す図である。
図17は実施形態に従い分割ディスプレイ構成アプリケーションウインドウのメニュー内に設けられてよい例示的なディスプレイ構成の図である。
本開示は、単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化することと、オペレーティングシステムがあたかも2つの実際の物理ディスプレイとインタフェースしているかのように挙動すべくオペレーティングシステムと共に少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることと、を含む方法を提供する。方法は、少なくとも2つのエミュレートされた物理ディスプレイのエミュレーションを種々の方法で達成する。例えば方法は、ディスプレイ情報に対するオペレーティングシステムからのクエリーに応答して、エミュレートされた物理ディスプレイの各々に対して生成されるディスプレイ識別データ(例えばEDID、「拡張されたディスプレイ識別データ(extended display identification data)」)をオペレーティングシステムに提供する。
別の例においては、方法は、割り込みの通知をグラフィクス処理ユニットから受け取ること(ここで割り込みは単一の物理ディスプレイに対応する)と、あたかも2つの割り込みが受け取られたかのように少なくとも2つのエミュレートされた物理ディスプレイに対応する割り込み報告情報の少なくとも2セットをオペレーティングシステムに報告することと、によって、少なくとも2つのエミュレートされた物理ディスプレイをエミュレートする。それにより、オペレーティングシステムは、あたかも2つの物理ディスプレイが動作中であるがごとく作用するように「疑似化される(faked)」。
方法は更に、少なくとも2つの仮想可視区域のうち、物理ディスプレイとしてエミュレートされた1つの仮想可視区域内で第1のアプリケーションウインドウをフルスクリーンモードでディスプレイすることを提供し、ここでフルスクリーンモードにおけるアプリケーションは1つの仮想可視区域の周囲内にのみ拡大する。方法は更に、第1のアプリケーションが1つの仮想可視区域内においてフルスクリーンでディスプレイされている間に、少なくとも2つの仮想可視区域のうち別の物理ディスプレイとしてエミュレートされた別の仮想可視区域内において第2のアプリケーションウインドウをディスプレイすることと、第2のアプリケーションウインドウがアクセスされている間、例えば焦点に置かれている間に、第1のアプリケーションをフルスクリーンモードでディスプレイし続けることと、を含んでいてよい。
方法は、ディスプレイデータフレームを組成するためのダブルバッファリング方法を含み、ここで各データフレームは、少なくとも2つの仮想可視区域の全部(both)からのデータを含む。方法は、ディスプレイデータフレームを単一のディスプレイへ送ることを含む。方法はまた、少なくとも2つの仮想可視区域の第1の仮想可視区域内にディスプレイされるディスプレイデータが変更されたことを決定することと、少なくとも2つの仮想可視区域の第2の仮想可視区域からのディスプレイデータを第1のディスプレイデータフレーム内にコピーすることと、を含んでいてもよい。
方法はまた、単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化するディスプレイ構成に対応する選択入力を受け取ることを含んでいてもよい。この実施形態においては、方法は、選択入力に応答して、単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化する。
幾つかの実施形態において、方法はまた、少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知をオペレーティングシステムから受け取ることと、少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したことを決定することと、少なくとも2つのエミュレートされた物理ディスプレイのうちディスプレイデータは変化しなかったが第1のデータフレーム内にはない第2のエミュレートされた物理ディスプレイのためのディスプレイデータを第1のデータフレーム内へコピーし、第1及び第2のエミュレートされた物理ディスプレイに対して第1のデータフレームにおいて完了したものとしてフラグを設定することと、第1のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了しなかったものとしてフラグを設定することと、によって少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートしてもよい。エミュレートする方法はまた、少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知をオペレーティングシステムから受け取ることと、少なくとも2つのエミュレートされた物理ディスプレイの第2のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したことを決定することと、少なくとも2つのエミュレートされた物理ディスプレイのうちディスプレイデータは変化しなかったが第2のデータフレーム内にはない第1のエミュレートされた物理ディスプレイと第2のエミュレートされた物理ディスプレイとの両方のためのディスプレイデータを第2のデータフレーム内にコピーし、第1及び第2のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了したものとしてフラグを設定することと、第2のエミュレートされた物理ディスプレイに対して第1のデータフレームにおいて完了しなかったものとしてフラグを設定することと、を含んでいてもよい。
方法はまた、カーソル制御、例えば、カーソル位置に対応する通知を受け取ることと、少なくとも2つのエミュレートされた物理ディスプレイのうちカーソルが位置するエミュレートされた物理ディスプレイを決定することと、カーソルが位置するエミュレートされた物理ディスプレイに対するカーソルの相対位置を単一のディスプレイの全体ディスプレイ面に対応する物理位置に変換することと、を含んでいてもよい。
開示される実施形態はまた、少なくとも1つのプログラム可能プロセッサとプログラム可能プロセッサに動作可能に結合されるメモリとを有する装置を提供する。メモリは、少なくとも1つのプロセッサによる実行のための実行可能な命令を含む。少なくとも1つのプログラム可能プロセッサが実行可能な命令を実行する場合、プログラム可能プロセッサは、単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化し、オペレーティングシステムがあたかも2つの実際の物理ディスプレイとインタフェースしているかのように挙動すべくオペレーティングシステムと共に少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である。
装置の少なくとも1つのプログラム可能プロセッサは、実行可能な命令を実行する場合に、ディスプレイ情報に対するオペレーティングシステムからのクエリーに応答して少なくとも2つのエミュレートされた物理ディスプレイの各々に対して生成されるディスプレイ識別データをオペレーティングシステムに提供することによって、少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能であってもよい。少なくとも1つのプログラム可能プロセッサは、単一のディスプレイに対応する割り込みの通知をグラフィクス処理ユニットから受け取ることと、あたかも2つの割り込みが受け取られたかのように少なくとも2つのエミュレートされた物理ディスプレイに対応する割り込み報告情報の少なくとも2セットをオペレーティングシステムに報告することと、によって少なくとも2つのエミュレートされた物理ディスプレイをエミュレートするように動作可能であってもよい。
装置はまた、少なくとも2つの仮想可視区域の1つの仮想可視区域内で第1のアプリケーションウインドウをフルスクリーンモードでディスプレイするように動作可能なディスプレイを含んでいてもよく、ここでフルスクリーンモードにおけるアプリケーションウインドウは、1つの仮想可視区域の周囲内にのみ拡大する。ディスプレイは、第1のアプリケーションウインドウが1つの仮想可視区域内においてフルスクリーンモードでディスプレイされている間に、少なくとも2つの仮想可視区域の別の仮想可視区域内において第2のアプリケーションウインドウを更にディスプレイしてもよい。そしてディスプレイは、第2のアプリケーションウインドウがアクセスされている間、例えば焦点に置かれている間に、第1のアプリケーションウインドウをフルスクリーンモードでディスプレイし続けることになる。
開示される装置の少なくとも1つのプログラム可能プロセッサはまた、ディスプレイデータフレームを組成してもよく、ここで各データフレームは、少なくとも2つの仮想可視区域の全部からのデータを含む。ディスプレイデータフレームは、単一のディスプレイへ送られる。少なくとも1つのプログラム可能プロセッサはまた、少なくとも2つの仮想可視区域の第1の仮想可視区域内にディスプレイされるディスプレイデータが変更されたことを決定してよく、そして少なくとも2つの仮想可視区域の第2の仮想可視区域からのディスプレイデータを第1のディスプレイデータフレーム内にコピーしてもよい。
幾つかの実施形態においては、分割ディスプレイの構成のため及び仮想ディスプレイ区域がどのように配置されるのかを選択するために、ユーザインタフェースが更に設けられる。従って、装置の少なくとも1つのプログラム可能プロセッサは、単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化するディスプレイ構成に対応する選択入力を受け取るように動作可能であってもよい。単一のディスプレイの可視区域は次いで、選択入力に応じて、少なくとも2つの仮想可視区域へと区分化される。
幾つかの実施形態においては、少なくとも1つのプログラム可能プロセッサは、少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知をオペレーティングシステムから受け取ることと、少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したことを決定することと、少なくとも2つのエミュレートされた物理ディスプレイのうちディスプレイデータが変化しなかった第2のエミュレートされた物理ディスプレイのためのディスプレイデータを第1のデータフレーム内へコピーし、第2のエミュレートされた物理ディスプレイに対して第1のデータフレームにおいて完了したものとしてフラグを設定することと、第2のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了しなかったものとしてフラグを設定することと、によって少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能であってよい。
プログラム可能プロセッサはまた、少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知をオペレーティングシステムから受け取ることと、少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したことを決定することと、少なくとも2つのエミュレートされた物理ディスプレイのうちディスプレイデータは変化しなかったが第1のデータフレーム内にはない第1のエミュレートされた物理ディスプレイ及び第2のエミュレートされた物理ディスプレイの両方のためのディスプレイデータを第1のデータフレーム内へコピーし、第1及び第2のエミュレートされた物理ディスプレイに対して第1のデータフレームにおいて完了したものとしてフラグを設定することと、第1のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了しなかったものとしてフラグを設定することと、によって物理ディスプレイをエミュレートするように動作可能であってもよい。プログラム可能プロセッサはまた、少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知をオペレーティングシステムから受け取ることと、少なくとも2つのエミュレートされた物理ディスプレイの第2のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したことを決定することと、少なくとも2つのエミュレートされた物理ディスプレイのうちディスプレイデータが変化した第2のエミュレートされた物理ディスプレイ及びディスプレイデータは変化しなかったが第2のデータフレーム内にはない第1のエミュレートされた物理ディスプレイのためのディスプレイデータを第2のデータフレーム内にコピーし、第1及び第2のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了したものとしてフラグを設定することと、第2のエミュレートされた物理ディスプレイに対して第1のデータフレームにおいて完了しなかったものとしてフラグを設定することと、によって物理ディスプレイをエミュレートするように動作可能であってもよい。
少なくとも1つのプログラム可能プロセッサはまた、カーソル位置に対応する通知を受け取ることと、少なくとも2つのエミュレートされた物理ディスプレイのうちカーソルが位置するエミュレートされた物理ディスプレイを決定することと、カーソルが位置するエミュレートされた物理ディスプレイに対するカーソルの相対位置を単一のディスプレイの全体ディスプレイ面に対応する物理位置に変換することと、を含むカーソル制御を確立するように動作可能であってもよい。
本開示は更に、少なくとも1つのプロセッサによる実行のための実行可能な命令を含むコンピュータ可読メモリであって、実行されるときに上に概説したような実施形態に従う動作及び方法を少なくとも1つのプロセッサに行わせるコンピュータ可読メモリを提供する。例えば、実行可能な命令は、実行されるときに、単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化することと、オペレーティングシステムがあたかも2つの実際の物理ディスプレイとインタフェースしているかのように挙動すべくオペレーティングシステムと共に少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることと、を少なくとも1つのプロセッサにさせてよい。
コンピュータ可読メモリは、実行可能な命令又はプログラムコードを後で更に詳細に説明されるような他の処理デバイス又は電子デバイスにロードするために用いられ得る任意の適切な不揮発性メモリ、限定はされないが例えば、EEPROM等のプログラム可能チップ、フラッシュROM(サムドライブ(thumb drives))、コンパクトディスク(CD)デジタルビデオディスク(DVD)等であってよい。
ここで用いられる「モジュール」の用語は、1つ以上のプログラム可能プロセッサ、ASIC、DSP、ハードワイヤード論理(hardwired logic)、又はこれらの組み合わせにおいて実行されるソフトウエア及び/又はファームウエアを含んでいてよく、またモジュールは、電子デバイス/装置内及び/又はディスプレイデバイス内にあってよい。
次に図面を参照すると、図1は実施形態に従う装置又は電子デバイスを示しており、全図を通して同様の参照符号は同様の要素を表す。装置は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、限定はされないが携帯電話、ブックリーダ、PDA等の携帯型電子デバイスであってよく、あるいはディスプレイが電子デバイスの外部にあるか電子デバイス内に一体化されているかにかかわらずそのようなディスプレイを使用する任意の電子デバイスであってよい。図1の装置は、中央処理ユニットCPU209と、CPU209に動作可能に結合されるグラフィクス処理ユニットGPU215と、を含む。CPU209は、オペレーティングシステム207と、オペレーティングシステム207に動作可能に結合されるグラフィクスモジュール201と、を含む。幾つかの実施形態においては、グラフィクスモジュール201はカーネルモードドライバ(kernel mode driver)として実装されてよい。オペレーティングシステム207はまた、CPU209上で実行中であってもよい構成ユーザインタフェース(configuration user interface)203に動作可能に結合される。構成ユーザインタフェース203は、グラフィクスモジュール201と共に分割ディスプレイシステム(split display system)200を構成する。CPU209及びGPU215は、種々の実施形態において種々の方法で実装されてよい。例えばCPU及びGPUは、1つ以上の処理コアを含んでいてよく、また物理的に別個の集積回路上に配置されてよく、更には別個のプリント回路板上に配置されてもよい。しかし、幾つかの実施形態では、CPU209及びGPU215は、単一の集積回路ダイ上に一体化された集積回路であることがある。CPU及びGPUはシステムメモリを共有していてよく、システムメモリは、CPU及びGPUの外部に物理的に配置されてよく、あるいは同じダイ上又はCPU及びGPUを有するプリント回路板上に配置されてよい。
システムメモリはフレームバッファ219を含んでいてよい。しかし、幾つかの実施形態においては、GPU215が専用のメモリを有していてよく、更にはフレームバッファ219を含んでいてもよい。更に他の実施形態においては、フレームバッファ219は、GPU215専用メモリとCPU209及びGPU215によって共有されるシステムメモリとの間で分散させられていてよい。従って、実施形態に従うと、フレームバッファ219は、システムメモリであるかGPU215専用メモリ等の専用メモリであるかにかかわらず任意の適切なメモリ内に収容されていてよい。フレームバッファ219は、2つの主要な部分、即ち仮想ディスプレイバッファセット221と物理ディスプレイフレームバッファ223とを含む。オペレーティングシステム207はフレームバッファ219への論理インタフェース213を提供するが、GPU215とフレームバッファ219の間での実際の物理データ転送は、インタフェース217を介して生じる。実施形態に従うと、GPU215はデータを仮想ディスプレイバッファセット221に供給し、ここで仮想ディスプレイバッファの各々は、物理ディスプレイ101等の物理ディスプレイの仮想ディスプレイ区域に対応する。仮想バッファ221によって物理ディスプレイフレームバッファ223に供給されるデータは、ディスプレイデータ、即ち仮想ディスプレイに対応するディスプレイデータである。物理ディスプレイバッファ223はディスプレイデータをバッファリングし、そして仮想ディスプレイ区域109及び111でのディスプレイのためにディスプレイデータを物理ディスプレイ101へ送る。物理ディスプレイバッファ223は2つのフレーム、即ちフレームA及びフレームBにセグメント化されており、ここではフレームA及びBの各々は、両方の仮想ディスプレイからのディスプレイデータを含む。つまり、フレームAは、仮想ディスプレイ区域#1及び仮想ディスプレイ区域#2に対するディスプレイデータを含むことになる。同様にフレームBは、仮想ディスプレイ区域#1及び仮想ディスプレイ区域#2に対するディスプレイデータを含むことになる。
物理ディスプレイ101はディスプレイデバイスであり、例えばテレビジョン、コンピュータモニタ、あるいはラップトップコンピュータ、携帯型コンピューティングデバイス、携帯電話、PDA等の別の電子デバイスに一体化されるディスプレイであってよい。ディスプレイデバイスは、例えば、CRT、LCDフラットパネル、LEDフラットパネル、プラズマスクリーン等、即ち任意の適切なディスプレイ技術によるものであってよい。物理ディスプレイ101はGPU215に動作可能に結合され、そしてCPU209にも動作可能に結合される(例えばGPU215を介して)。物理ディスプレイ101は、アプリケーション並びに/又は限定はされないがJPG/JPEG、GIF、MPEG等の種々のファイル種類の電子的ファイル及び/若しくは限定はされないが「.doc」、「.pdf」等のファイル「拡張」によって決定されるファイル、に関連する情報及び画像をディスプレイするように動作する。物理ディスプレイ101は、メモリ、及び/又はそのスクリーンスペース上にディスプレイされる画像に関連する画像品質設定の調節若しくは構成を可能にする論理、を含んでいてよい。物理ディスプレイ101は、限定はされないが「EDID」情報(「拡張されたディスプレイ識別データ(extended display identification data)」)等の情報に対するクエリー(queries)を受信すると共にこれに応答する能力を包含する。
図1の上端近くに示されるように、物理ディスプレイ101は物理ディスプレイ可視面(physical display visible surface)100を含む。実施形態に従うと、物理ディスプレイ可視面100は、境界107によって仮想ディスプレイ区域#1_109と仮想ディスプレイ区域#2_111とに区分化されている。従って仮想ディスプレイ区域は、物理ディスプレイ101可視面区域の区分化された部分である。仮想ディスプレイ区域はまた、「仮想ディスプレイ」、即ち更に説明されることになるエミュレートされた(emulated)物理ディスプレイ、に対応しているものと考えることもできる。2つの仮想ディスプレイ区域の各々は、対応する仮想ディスプレイバッファを有しており、即ちそれぞれ仮想ディスプレイバッファ#1及び仮想ディスプレイバッファ#2である。図1に示される例示的な実施形態においては、物理ディスプレイ可視面100は2つの仮想ディスプレイ区域のみに区分化されているが、物理ディスプレイ可視面100は、実施形態に従って任意の望ましい数の仮想ディスプレイ区域に区分化されてよい。従って、フレームバッファ219は、仮想ディスプレイバッファセット221内に1〜N仮想ディスプレイバッファを有していてよい。図1に示されるように、仮想ディスプレイバッファセット221は、ディスプレイ構成毎に決定される。上述したように、ディスプレイ構成は、構成ユーザインタフェース203を用いてユーザ決定されてよい。仮想ディスプレイバッファセット221はディスプレイデータを物理ディスプレイフレームバッファ223に供給し、物理ディスプレイフレームバッファ223は、仮想ディスプレイバッファデータをディスプレイデータの複数の単体フレーム(single frames)に統合し(consolidates)、そしてそれらを物理ディスプレイ101にインタフェース225を介して供給する。
種々の実施形態に従い、グラフィクスモジュール201は、仮想化/物理ディスプレイマッピング論理境界211で示されるように、CPU209に対する仮想化とGPU215に対する物理ディスプレイマッピングとを提供する。動作において、オペレーティングシステム207は、論理インタフェース213を介して、仮想ディスプレイ区域109及び111を、CPUに動作可能に結合される多重物理ディスプレイとして把握する。しかし、GPU215の視点からは、単一の物理ディスプレイ、即ち物理ディスプレイ101のみが存在し且つ全体システムに動作可能に結合されていることになる。グラフィクスモジュール201は、オペレーティングシステムがまるで多重物理ディスプレイと相互作用しているよう動作するように、オペレーティングシステム207とGPU215の間でインタフェースして割り込みを処理し、そしてそれらの間で情報を提供する。グラフィクスモジュール201とGPU215の間での相互作用は、まるで単一の物理ディスプレイが接続されているかのようにGPUが通常通りに動作することを可能にするが、これは事実上、仮想ディスプレイ区域からの情報が物理ディスプレイ101の物理ディスプレイ可視面100に対応する情報に変換し直されて、この情報がGPU215に提供され得る場合である。つまり、論理境界211の物理ディスプレイマッピング部分は、グラフィクスモジュール201とGPU215の間のインタフェースである。
以下の図面、図2〜図6は、種々の実施形態の動作を理解するのに有用である。例えば図2は、物理ディスプレイ101物理ディスプレイ可視面100がどのようにして2つの仮想ディスプレイ区域109及び111に区分化されるのかを示している。これらの仮想ディスプレイ区域は仮想境界107によって画定される。図2に示されるように、種々のアプリケーションウインドウが種々の仮想ディスプレイ区域内に示されまた動作中であってよい。例えば、仮想ディスプレイ区域109はアプリケーションウインドウ1〜3を有しているものとして示されている一方で、仮想ディスプレイ区域111はアプリケーションウインドウ4〜6を有するものとして示されている。図2にはまた、ここに説明される方法及び装置によって操作されるマウスカーソル105が示されており、これについては後で更に詳細に説明する。図3を参照すると、アプリケーションウインドウ2がフルスクリーンモードで示されており、これはこの例では「排他的モード(exclusive mode)」である。即ち、アプリケーションウインドウ2は、仮想ディスプレイ区域109の全ディスプレイ区域又はスクリーンスペースを占めるように拡大されており、そしていかなる境界をも示していない。しかし、従来の区分化ユーティリティとは異なり、ここに開示される種々の実施形態は、他の仮想ディスプレイ区域111を邪魔し又は覆うことなしにアプリケーションウインドウ#2が仮想ディスプレイ区域109内でフルスクリーンになることを可能にする。従って、図3に示されるように、仮想ディスプレイ区域111内に存在するアプリケーションウインドウ4〜6は、見えたままであってよく、またユーザが焦点に置くと共に動作させることが可能なままであってよい一方で、アプリケーションウインドウ#2は仮想ディスプレイ区域109内でフルスクリーンモードになっている。ウインドウを焦点に置くことは、例えば、アプリケーションウインドウ内の当該情報を見るために、又は当該アプリケーション若しくは当該アプリケーションウインドウに関連する何らかの他の動作(限定はされないが、例えばアプリケーションウインドウをリサイズしたり動かしたりすること)に進むために、通常はマウスカーソルをスクリーンスペース上のある区域に移動させて当該アプリケーションウインドウをクリックすることによって、即ち「選択すること」によって、コンピューティングデバイス又は電子デバイスのユーザが動作を選択することを含む。別の例においては、アプリケーションウインドウはまた、フルスクリーンモードに置かれてよく、ここでは、アプリケーションウインドウ境界は示されたままであり、また仮想ディスプレイ区域の周囲に沿って拡大される。この場合にも、アプリケーションウインドウは隣接している仮想ディスプレイ区域を邪魔することはなく、あるいは隣接している仮想ディスプレイ区域内にディスプレイされているいかなるアプリケーションを邪魔することもない。即ち、「フルスクリーンモード」は、例えば、アプリケーションスクリーンがディスプレイの可視区域を埋めると共に境界を有していない例えばゲーム(又は他の)アプリケーションにおいて用いられる「排他的モード」、あるいはアプリケーションウインドウがディスプレイの可視区域内に完全に拡大されるが、アプリケーションウインドウの周囲を囲む境界を示したままであってよいフルスクリーンウインドウアプリケーションのいずれかであってよい。
図4は種々の実施形態の更なる能力を示している。図4において、アプリケーションウインドウ2は、2つの仮想ディスプレイ区域109及び111を部分的に横断して又はこれらの間で移動させられているものとして示されている。図4からわかるように、仮想ディスプレイ区域111内へのアプリケーションウインドウ#2の移動は、仮想ディスプレイ区域111内の種々のアプリケーションウインドウの動作を妨げない。図1に示される装置は、オペレーティングシステム207とGPU215の間で必要なトランスレーション(translations)を行う。即ち、グラフィクスモジュール201は、GPU215が適切な物理ディスプレイマッピングを受け取り、また仮想ディスプレイ区域109及び111に対応する2つのエミュレートされた物理ディスプレイに適する適切な情報をオペレーティングシステム207が受け取るように、アプリケーションウインドウ#2等のオブジェクトの境界107を横切る移行に対して適切なアクションを取る。
図5はマウスカーソル105が2つの仮想ディスプレイ区域109及び111の間で移動する場合のシナリオを示している。図5において、カーソル105は、一方の仮想ディスプレイ区域から他方の仮想ディスプレイ区域に移動させられるように境界107を横切って示されている。種々の実施形態は、同様にそのようなマウスカーソル移動シナリオを取り扱い、これについては後で更に議論する。
別の使用事例のシナリオが図6に示されている。図6において、物理ディスプレイ101は、第2の物理ディスプレイ601と共に用いられる。第2の物理ディスプレイ601は、物理ディスプレイ101上に示されるデスクトップ又は仮想ディスプレイ区域109の複製を含む。図6に示されるように、物理ディスプレイ101上のアプリケーションウインドウ#2は、仮想ディスプレイ境界107を横切って移動していてよい。しかし、物理ディスプレイ601上に示される仮想ディスプレイ区域109の複製に関しては、物理ディスプレイ101上の仮想ディスプレイ区域境界107は、物理ディスプレイ601の実際の物理ディスプレイ可視面の端に相当し、アプリケーションウインドウ#2は可視ディスプレイ区域から、即ちモニタ枠(bezel)の外へ消えていっている。
種々の実施形態の動作、及びこれまでの図面に示される種々のシナリオを実施形態がどのように取り扱うのかは、図7〜図15に提供されるフローチャートによって最も良く理解され、以下これを議論する。
種々の実施形態の動作を達成するために、グラフィクスモジュール201は、目標管理EDID管理、接続管理、モードリスト管理、ディスプレイ特性管理、及び逆トポロジー管理(reverse topology management)を含む種々のディスプレイ管理タスクを行い、ここで逆トポロジー管理は、例えばVsync割り込み等の割り込みの管理である。グラフィクスモジュールが実施形態に従って行う必要のある他のタスクは、レンダリング(rendering)管理に関連している。従って、実施形態に従うグラフィクスモジュールは、特に、ディスプレイレンダリング検出、ディスプレイ可能フレーム組成(displayable frame composition)、及び資源管理を行う必要があり、資源管理は、フレームバッファ、コマンドバッファ及び組成コンテクストの管理並びにカーソル管理を含む。従って、グラフィクスモジュール201は、物理ディスプレイ101から導かれる1つ以上の仮想ディスプレイを維持し、そして仮想ディスプレイに関連する情報をオペレーティングシステム207に報告する。仮想ディスプレイ、即ち仮想ディスプレイ区域に対応するエミュレートされた物理ディスプレイは、リアル物理ディスプレイと同じ属性、例えばEDIC、接続性、ビデオ出力タイプ、及び割り込みを与えられる。グラフィクスモジュール201は、物理ディスプレイ101上で表示されることになる最終的な画像のためのスワップチェイン(swap chain)としての専用メモリブロックをシステムメモリ内又は専用メモリ内に確保していてよい。グラフィクスモジュール201は、エミュレートされた物理ディスプレイが同じ同期信号(Vsync)を物理ディスプレイ101と共有することを強制する。
例えば幾つかの実施形態においては、グラフィクスモジュール201は、デスクトップウインドウズマネージャ(desktop windows manager)(DWM)と相互に作用してよい。例えばデスクトップウインドウズマネージャがオフの場合、グラフィクスモジュールは、物理ディスプレイ101上で表示されるべきフレームを専用メモリブロック内で構築してよい。ディスプレイデータフレームの構築は、例えばエミュレートされた両方の物理ディスプレイ上の面に対する「present()」又は「flip()」を介した新たなレンダー要求の検出に基づいていてよい。デスクトップウインドウズマネージャがオンである場合に対しては、グラフィクスモジュール201は、両方の仮想ディスプレイに対するオペレーティングシステムに同期信号(Vsync)を報告してよい。DWMをオンにするために、又は仮想ディスプレイ区域(即ちエミュレートされた物理ディスプレイ)のいずれか1つに対するフルスクリーンモードのために、フリップ要求(flip request)が入ってくると、グラフィクスモジュール201は、エミュレートされた物理ディスプレイのフレームからスワップチェインの1フレームへの組成を行い、そして新たに構築されたフレームを物理ディスプレイ101上に表示する。
グラフィクスモジュール201が、仮想ディスプレイ区域に対してアプリケーション独立性を保証し、また種々の仮想ディスプレイ区域内で実行中であってよい種々のアプリケーションからのいかなる構成変更にもかかわらず状態を維持するという点において、種々の実施形態はアプリケーションに対してトランスペアレント(transparent)である。ユーザ経験(user experience)の無矛盾性(consistency)及び安定性を維持するために、グラフィクスモジュール201は、ユーザによって作成される種々の仮想ディスプレイ上での構成変更の場合において必要に応じた措置を講じる。例えば、デスクトップの再配置又はディスプレイ上での解像度の変更が、グラフィクスモジュール201によって処理される。
図7を参照すると、実施形態に従うフレーム組成方法が示されている。このフレーム組成方法は、本質的には、仮想ディスプレイ区域の特定の必要性に対して修正されたダブルバッファリング動作である。例えば701では、オペレーティングシステムは、仮想ディスプレイ区域の1つでディスプレイされる準備が整っているバッファデータを有しており、そしてステップ703では、グラフィクスモジュールは、これがその場合であることの通知をオペレーティングシステムから受け取る。ダブルバッファリングスキームは、物理ディスプレイフレームバッファ223を2つの部分、即ちフレームAとフレームBに分割する。従って、705に示されるように、ディスプレイされるべき次の可視フレームがフレームAである場合には、707において、左パネル又は右パネルのどちらがディスプレイされる準備が整っているかの決定がなされる。707から先のフローチャートは両側で対称であり、ここで、仮想ディスプレイ区域の1つに対して新たなレンダーフレーム(render frame)が存在する場合、反対側の又は他の仮想ディスプレイ区域面データがコピーされ、そして当該特定の仮想ディスプレイ区域に関して完了した旨のフラグがフレームに立てられる。例えば711に示されるように、フレームA内の右パネル面に対して新たなレンダーフレームが存在する場合、727に示されるように左パネル面データのみがコピーされる。次いでバッファは、729に示されるように、フレームA内の左パネル情報に関して完了した旨をマーキングされる。フレームBは、731に示されるように更新される必要があるので、左パネルに関してマーキングされない。方法は次いでブロック733〜743に進み、ここではオペレーティングシステム207に関して割り込みが応答される。図8は実施形態に従うハードウエア割り込みの処理及びエミュレートされた物理ディスプレイに対するハードウエア割り込みのシミュレーションを示している。例えば801に示されるようにGPU215がハードウエア割り込みを送ってよい。示されている幾つかの実施形態においては、これはVsync割り込みであってよい。ブロック803に示されるように、グラフィクスモジュール201は、GPUの制御器IDに関連する目標IDを入手することになる。グラフィクスモジュール201は次いで、805に示されるように、制御器IDに関連するソースIDを入手し、そして807において、特定のソースが分割ディスプレイモードに関与しているかどうかを決定する。関与していない場合には、グラフィクスモジュール201は、ブロック817に示されるように、リトリーブされた(retrieved)目標ID及び面アドレスをOSに報告し、そして819において制御をOSに戻す。
807においてソースが分割ディスプレイモードに関与している場合には、グラフィクスモジュール201は、809に示されるように、任意の追加的なソースが分割ディスプレイモードに関与しているかどうかをチェックする。関与している場合には、グラフィクスモジュールは、811に示されるように、分割ディスプレイに関与している次のソースID及び目標IDに対してアレイを検索する。グラフィクスモジュールは次いで、813に示されるように、発見されたソースIDをインデックスとして用いて当該関連する面アドレスをリトリーブする。面アドレスは、例えば、システムメモリ内に記憶されていてよいテーブル831から取得されてよい。分割ディスプレイに関与している全てのソースが809によって決定された場合、グラフィクスモジュール201は、ボックス817及び819に示されるように、オペレーティングシステムに報告する。従ってグラフィクスモジュール201は、ハードウエアが不適切に動作しているとオペレーティングシステムが不用意に結論付けたりオペレーティングシステムがGPU215を不用意にリセットモードにしたりしないように、エミュレートされた物理ディスプレイに対する割り込みをオペレーティングシステムのためにシミュレートする。図8において、目標IDは、物理ディスプレイに対応するIDであるモニターIDであるとみなされてよいことが理解されるはずである。従ってグラフィクスモジュール201は、オペレーティングシステムが仮想ディスプレイ区域を別個の物理ディスプレイとして把握するように、仮想ディスプレイ区域に関して目標IDをシミュレートする必要がある。ソースIDは、仮想ディスプレイ区域又は仮想デスクトップ、例えば仮想ディスプレイ区域109及び111に対応する。
図9はデスクトップウインドウズマネージャ(DWM)が動作中でない場合における組成の処理を示している。グラフィクスモジュール201は、Vsync割り込みコールバック等、ハードウエア割り込みを介してGPU215と共にコールバック901を作成する。この場合、割り込みが生じると、グラフィクスモジュール201は、903において、両仮想ディスプレイ区域の両方の新たなコンテンツ状態(content states)をチェックする。仮想ディスプレイ区域の両方に変化がある場合909には、グラフィクスモジュール201は、両方の仮想ディスプレイ区域を物理ディスプレイバッファ223内の第1のディスプレイフレームA内にコピーする。仮想ディスプレイ区域のいずれかに変化がある場合911,915には、グラフィクスモジュール201は、当該特定の仮想ディスプレイ区域のみを物理ディスプレイバッファ223内の第1のディスプレイフレームA内にコピーする。しかし、グラフィクスモジュールは、なんら情報をオペレーティングシステム207に報告し戻す必要はない。
図10は例えばカーソル105が仮想ディスプレイ区域境界107を横切って移動する図5に示されるシナリオに対応するカーソル管理の方法を示している。この場合、グラフィクスモジュール201は、1005に示されるように、カーソルが左パネル又は右パネルのどちらにあるのかを決定し、即ちグラフィクスモジュール201は、マウスカーソルが存在する仮想ディスプレイを決定する。マウスカーソルの位置は、仮想ディスプレイ区域上の相対位置から、全体的な物理ディスプレイ101の物理ディスプレイ可視面100に対応する物理ディスプレイ位置へと変換される。この情報は次いで、1009に示されるように、GPU215に供給される。
図11〜13は種々の実施形態の動作を要約している。図11に示されるように、ブロック1101においては、単一の物理ディスプレイの可視区域が少なくとも2つの仮想可視区域へと区分化されてよい。種々の実施形態のグラフィクスモジュール201は次いで、仮想可視区域をオペレーティングシステム207に対する物理ディスプレイとしてエミュレートしてよい。図12はシステム200が構成ユーザインタフェース203を含んでいてよいことを示している。それに従い1201においては、仮想ディスプレイの構成のためにユーザインタフェース203が提供されてよい。1203においては、グラフィクスモジュール201は、ディスプレイ配置のためのユーザ選択入力を、構成ユーザインタフェース203から論理インタフェース205を介して受け取ってよい。1205に示されるように、グラフィクスモジュール201は、グラフィクスモジュール201とGPU215の間のハードウエアインタフェース上で仮想ディスプレイデータを物理ディスプレイ101にマッピングする。グラフィクスモジュール201は次いで、1209に示されるように、複数の仮想ディスプレイセクションを横切る画像移動を処理する。図13はアプリケーションがフルスクリーンモードで表示されている場合の仮想ディスプレイ区域の動作を示している。1301においては、第1の仮想可視区域内に第1のアプリケーションがフルスクリーンモードでディスプレイされてよい。1302に示されるように、第1のアプリケーションが第1の仮想可視区域内にフルスクリーンモードでディスプレイされる間に、第2の仮想可視区域内の第2のアプリケーションへのアクセスが提供される。
図14及び15は、構成ユーザインタフェース203の更なる動作を示すフローチャートであり、物理ディスプレイ101上での分割ディスプレイモードの有効化及び無効化を示している。1401において、構成ユーザインタフェース203は、ユーザが分割ディスプレイモードをエンターしたがっていることの通知をグラフィクスモジュール201へ送ってよい。1403において、グラフィクスモジュール201は、分割ディスプレイ有効化シーケンスの開始を構成ユーザインタフェース203に通知する。このことは、例えば「中断(pause)」イベントを用いることによって達成されてよい。1405において、グラフィクスモジュール201は、分割ディスプレイデータを保存し、そして元のディスプレイ、即ち物理ディスプレイ101が取り外されたこと及び2つの新たなディスプレイが今や取り付けられたことをオペレーティングシステム207に通知する。2つの新たなディスプレイは、実際には物理ディスプレイ101内の図1に示される仮想ディスプレイ区域109及び111であるエミュレートされた物理ディスプレイである。オペレーティングシステムは次いで、1407に示されるようにディスプレイ情報に対してクエリーし(queries)、そしてグラフィクスモジュール201は、疑似EDID(fake EDIDs)を生成してこれらをオペレーティングシステム207に供給する。1409に示されるように、オペレーティングシステム207は次いでモニターモードをクエリーし、そしてグラフィクスモジュール201はモニターソースモードをオペレーティングシステム207に提供する。1411において、オペレーティングシステム207はモードリストをクエリーし、そしてグラフィクスモジュール201は、サポートされているモードリストをオペレーティングシステム207に提供する。1413において、オペレーティングシステム207は、2つの仮想ディスプレイ区域109及び111に対応する2つのエミュレートされた物理ディスプレイに対応している2つのディスプレイ上で当該モードを設定する。1415において、グラフィクスモジュール201は、例えば「レジューム(resume)」イベントを用いて分割ディスプレイシーケンスの終了について構成ユーザインタフェース203に通知する。1417において、オペレーティングシステム207は2つの仮想ディスプレイ区域上でのレンダリングを開始し、そしてグラフィクスモジュール201は2つの独立したデスクトップを単一の物理ディスプレイ101上に組成する。図15は分割モード無効化の動作を示す別のフローチャートを示している。グラフィクスモジュール201は、1505に示されるように、2つの疑似ディスプレイ、即ち2つの疑似EDIDに対応する2つのエミュレートされた物理ディスプレイが取り外されたこと、及び元の物理ディスプレイ101が今や取り付けられていることをオペレーティングシステム207に通知することによって、分割ディスプレイモードを無効化する。グラフィクスモジュール201は、ブロック1509〜1515に示されるように、必要な情報をオペレーティングシステム207に提供し、その結果、オペレーティングシステムは、1517に示されるように、物理ディスプレイ101上への物理ディスプレイ可視面100のレンダリングを再び開始することができる。
従って、種々の実施形態に従うと、幾つかの実施形態ではカーネルモードドライバとして実装され得るグラフィクスモジュール201は、グラフィクス処理ユニット及び関連するグラフィクスハードウエアが単一の物理ディスプレイのみをその特定の動作に関して把握している場合にオペレーティングシステム207が多重物理ディスプレイの動作を把握するように、オペレーティングシステム207とグラフィクス処理ユニット215(及びチップセット等の関連するグラフィクスハードウエア等)との間でのインタフェースを提供する。それにより、物理ディスプレイは、上述したように種々の仮想ディスプレイ区域へと区分化されてよい。図16は構成ユーザインタフェース203の一部として用いられてよい例示的なアプリケーションウインドウを示している。アプリケーションウインドウ1600は、例えばプルダウンメニュー1603によってユーザがディスプレイレイアウトを選択することを可能にする。構成ユーザインタフェース203アプリケーションウインドウ1600は、物理ディスプレイ可視面1601の仮想画像を提供してよく、そして選択された仮想ディスプレイ区域区分、例えば物理ディスプレイ区域区分境界1609を表示してよい。ユーザは次いで、カーソル1607を用いてOKをクリックして分割ディスプレイモードをエンターすることができ、これは、構成ユーザインタフェース203が分割ディスプレイモードの通知をグラフィクスモジュール201へ送る図14におけるブロック1401に関して説明した通りである。従って、図14のブロック1401によって説明される措置は、構成ユーザインタフェース203のアプリケーションウインドウ1600内でのユーザの活動の結果であってよい。
アプリケーションウインドウ1600は、可能なユーザインタフェースを説明することを目的として単純化された例示的なアプリケーションウインドウである。しかし、アプリケーションウインドウ1600は例示的なものとしてのみ理解されるべきであり、従ってアプリケーションウインドウ1600の種々の他のレイアウト及び構成が種々の実施形態において用いられ得ることが理解されるはずである。例えば、プルダウンメニュー1603は物理ディスプレイ可視区域の構成のテキスト記述を提供してよいが、プルダウンメニューは、図17に示される構成タイプ1700によって説明されるような構成タイプの記号を提供してもよい。図17に示されるように、種々の構成タイプ1700は、アプリケーションウインドウ1600のプルダウンメニュー1603の一部として提供されてよい。従って、ユーザは単純にプルダウンメニューを選択し、そして構成タイプ1700の構成選択から適切な構成を選択すればよい。言うまでもなく、構成タイプ1700は、包括的なセットと考えられるよりはむしろ、種々の実施形態によって用いられ得る幾つかの可能な構成を例示するものとしてのみ考えられるべきである。即ち、図17に示される例示的な構成タイプ1700は最大で4つの仮想ディスプレイ区域を示しているが、4つより多くの仮想ディスプレイ区域があってもよい。また、図17に示される仮想ディスプレイ区域は、垂直及び水平位置境界によって画定されている。しかし、仮想ディスプレイ区域は単純に水平及び垂直境界によって画定される必要はなく、種々の幾何学的形状及びパターン、限定はされないが例えば、三角形、長方形、円又は他の形状の仮想ディスプレイ区域境界パターンによって画定されてよい。
以上のように、ディスプレイ面を複数の仮想ディスプレイ区域へと区分化するための動作の装置及び方法がここに開示されてきた。当業者であれば、ここに開示される実施形態と均等な他の変形に気付くであろうし、そのような変形は、以下の特許請求の範囲によって画定される実施形態の範囲に従って存在するであろう。

Claims (30)

  1. 単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化することと、
    オペレーティングシステムがあたかも2つの実際の物理ディスプレイとインタフェースしているかのように挙動すべく、前記オペレーティングシステムに対して少なくとも2つのエミュレートされた物理ディスプレイのそれぞれに関する情報を提供することによって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることと、を備える方法。
  2. 前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることは、
    ディスプレイ情報に対する前記オペレーティングシステムからのクエリーに応答して前記少なくとも2つのエミュレートされた物理ディスプレイの各々に対して生成されるディスプレイ識別データを前記オペレーティングシステムに提供することを備える請求項1の方法。
  3. 前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることは、
    前記単一のディスプレイに対応する割り込みの通知をグラフィクス処理ユニットから受け取ることと、
    あたかも2つの割り込みが受け取られたかのように前記少なくとも2つのエミュレートされた物理ディスプレイに対応する割り込み報告情報の少なくとも2セットを前記オペレーティングシステムに報告することと、を備える請求項1の方法。
  4. 前記少なくとも2つの仮想可視区域の1つの仮想可視区域内で第1のアプリケーションウインドウをフルスクリーンモードでディスプレイすることを備え、
    前記フルスクリーンモードにおける前記アプリケーションウインドウは前記1つの仮想可視区域の周囲内にのみ拡大する請求項1の方法。
  5. 前記第1のアプリケーションウインドウが前記1つの仮想可視区域内において前記フルスクリーンでディスプレイされている間に前記少なくとも2つの仮想可視区域の別の仮想可視区域内において第2のアプリケーションウインドウをディスプレイすることと、
    前記第2のアプリケーションウインドウが焦点に置かれている間に前記第1のアプリケーションウインドウを前記フルスクリーンモードでディスプレイし続けることと、を備える請求項4の方法。
  6. 前記少なくとも2つの仮想可視区域の全部からのデータを各データフレームが含むディスプレイデータフレームを組成することと、
    前記ディスプレイデータフレームを前記単一のディスプレイへ送ることと、を備える請求項1の方法。
  7. 前記少なくとも2つの仮想可視区域の第1の仮想可視区域内にディスプレイされる当該ディスプレイデータが変更されたことを決定することと、
    前記少なくとも2つの仮想可視区域の第2の仮想可視区域からのディスプレイデータを第1のディスプレイデータフレーム内にコピーすることと、を備える請求項6の方法。
  8. 前記単一のディスプレイの可視区域を前記少なくとも2つの仮想可視区域へと区分化するディスプレイ構成に対応する選択入力を受け取ることを備え、
    単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化することは前記選択入力に応答する請求項1の方法。
  9. 前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることは、
    前記少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知を前記オペレーティングシステムから受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したことを決定することと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第2のエミュレートされた物理ディスプレイのためのディスプレイデータであって変化しなかったものであり且つ第1のデータフレーム内に存在していないディスプレイデータを前記第1のデータフレーム内へコピーし、前記第1及び第2のエミュレートされた物理ディスプレイに対して前記第1のデータフレームにおいて完了したものとしてフラグを設定することと、
    前記第1のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了しなかったものとしてフラグを設定することと、を備える請求項1の方法。
  10. 前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることは、
    前記少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知を前記オペレーティングシステムから受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化しておらず且つ第2のデータフレーム内に存在していないことを決定することと、
    前記第1のエミュレートされた物理ディスプレイ及び第2のエミュレートされた物理ディスプレイの両方のためのディスプレイデータであって前記第2のエミュレートされた物理ディスプレイに対するディスプレイデータは変化したものであるディスプレイデータをコピーし、第1及び第2のエミュレートされた物理ディスプレイの両方のための前記ディスプレイデータを前記第2のデータフレーム内にコピーし、前記第1及び第2のエミュレートされた物理ディスプレイに対して前記第2のデータフレームにおいて完了したものとしてフラグを設定することと、
    前記第2のエミュレートされた物理ディスプレイに対して第1のデータフレームにおいて完了しなかったものとしてフラグを設定することと、を備える請求項1の方法。
  11. 前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることは、
    前記少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知を前記オペレーティングシステムから受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したこと及び第2のエミュレートされた物理ディスプレイからの第2のディスプレイデータが変化しておらず且つ第1のデータフレーム内に存在することを決定することと、
    前記第1のエミュレートされた物理ディスプレイのためのディスプレイデータを前記第1のデータフレーム内へコピーし、前記第1のエミュレートされた物理ディスプレイに対して前記第1のデータフレームにおいて完了したものとしてフラグを設定することと、
    前記第1のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了しなかったものとしてフラグを設定することと、を備える請求項1の方法。
  12. 前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることは、
    カーソル位置に対応する割り込みを受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイのうち当該カーソルが位置するエミュレートされた物理ディスプレイを決定することと、
    前記カーソルが位置する前記エミュレートされた物理ディスプレイに対する前記カーソルの相対位置を前記単一のディスプレイの全体ディスプレイ面に対応する物理位置に変換することと、を備える請求項1の方法。
  13. 少なくとも1つのプログラム可能プロセッサと前記プログラム可能プロセッサに動作可能に結合されるメモリとを備える装置であって、
    前記メモリは前記少なくとも1つのプロセッサによる実行のための実行可能な命令を含み、前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化し、
    オペレーティングシステムがあたかも2つの実際の物理ディスプレイとインタフェースしているかのように挙動すべく、前記オペレーティングシステムに対して少なくとも2つのエミュレートされた物理ディスプレイのそれぞれに関する情報を提供することによって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である装置。
  14. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    ディスプレイ情報に対する前記オペレーティングシステムからのクエリーに応答して前記少なくとも2つのエミュレートされた物理ディスプレイの各々に対して生成されるディスプレイ識別データを前記オペレーティングシステムに提供することによって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である請求項13の装置。
  15. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    前記単一のディスプレイに対応する割り込みの通知をグラフィクス処理ユニットから受け取ることと、
    あたかも2つの割り込みが受け取られたかのように前記少なくとも2つのエミュレートされた物理ディスプレイに対応する割り込み報告情報の少なくとも2セットを前記オペレーティングシステムに報告することと、によって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である請求項13の装置。
  16. 前記少なくとも1つのプロセッサに動作可能に結合されるディスプレイを更に備え、
    前記ディスプレイは前記少なくとも2つの仮想可視区域の1つの仮想可視区域内で第1のアプリケーションウインドウをフルスクリーンモードでディスプレイするように動作可能であり、前記フルスクリーンモードにおける前記アプリケーションウインドウは前記1つの仮想可視区域の周囲内にのみ拡大する請求項13の装置。
  17. 前記ディスプレイは前記第1のアプリケーションウインドウが前記1つの仮想可視区域内において前記フルスクリーンモードでディスプレイされている間に前記少なくとも2つの仮想可視区域の別の仮想可視区域内において第2のアプリケーションウインドウをディスプレイするように動作可能である請求項16の装置。
  18. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    前記少なくとも2つの仮想可視区域の全部からのデータを各データフレームが含むディスプレイデータフレームを組成し、
    前記ディスプレイデータフレームを前記単一のディスプレイへ送るように動作可能である請求項13の装置。
  19. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    前記少なくとも2つの仮想可視区域の第1の仮想可視区域内にディスプレイされる当該ディスプレイデータが変更されたことを決定し、
    前記少なくとも2つの仮想可視区域の第2の仮想可視区域からのディスプレイデータを第1のディスプレイデータフレーム内にコピーするように動作可能である請求項18の装置。
  20. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    前記単一のディスプレイの可視区域を前記少なくとも2つの仮想可視区域へと区分化するディスプレイ構成に対応する選択入力を受け取るように動作可能であり、
    単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化することは前記選択入力に応答する請求項13の装置。
  21. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    前記少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知を前記オペレーティングシステムから受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したことを決定することと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第2のエミュレートされた物理ディスプレイのためのディスプレイデータであって変化しなかったものであり且つ第1のデータフレーム内に存在していないディスプレイデータを前記第1のデータフレーム内へコピーし、前記第2のエミュレートされた物理ディスプレイに対して前記第1及び第2のデータフレームにおいて完了したものとしてフラグを設定することと、
    前記第1のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了しなかったものとしてフラグを設定することと、によって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である請求項13の装置。
  22. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    前記少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知を前記オペレーティングシステムから受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化しておらず且つ第1及び第2のデータフレームの第2のデータフレーム内に存在していないことを決定することと、
    前記第1のエミュレートされた物理ディスプレイ及び第2のエミュレートされた物理ディスプレイの両方に対するディスプレイデータであって前記第2のエミュレートされた物理ディスプレイに対するディスプレイデータは変化したものであるディスプレイデータをコピーし、第1及び第2のエミュレートされた物理ディスプレイの両方に対する前記ディスプレイデータを前記第2のデータフレーム内にコピーし、前記第1及び第2のエミュレートされた物理ディスプレイに対して前記第2のデータフレームにおいて完了したものとしてフラグを設定することと、
    前記第2のエミュレートされた物理ディスプレイに対して前記第1のデータフレームにおいて完了しなかったものとしてフラグを設定することと、によって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である請求項13の装置。
  23. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    前記少なくとも2つのエミュレートされた物理ディスプレイの1つ上でのディスプレイの準備が整ったバッファリングされたデータの通知を前記オペレーティングシステムから受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイの第1のエミュレートされた物理ディスプレイ上でのディスプレイデータが変化したこと及び第2のエミュレートされた物理ディスプレイからの第2のディスプレイデータが変化しておらず且つ第1のデータフレーム内に存在することを決定することと、
    前記第1のエミュレートされた物理ディスプレイのためのディスプレイデータを前記第1のデータフレーム内へコピーし、前記第1のエミュレートされた物理ディスプレイに対して前記第1のデータフレームにおいて完了したものとしてフラグを設定することと、
    前記第1のエミュレートされた物理ディスプレイに対して第2のデータフレームにおいて完了しなかったものとしてフラグを設定することと、によって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である請求項13の装置。
  24. 前記少なくとも1つのプログラム可能プロセッサは、前記実行可能な命令を実行する場合に、
    カーソル位置に対応する通知を受け取ることと、
    前記少なくとも2つのエミュレートされた物理ディスプレイのうち当該カーソルが位置するエミュレートされた物理ディスプレイを決定することと、
    前記カーソルが位置する前記エミュレートされた物理ディスプレイに対する前記カーソルの相対位置を前記単一のディスプレイの全体ディスプレイ面に対応する物理位置に変換することと、によって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートするように動作可能である請求項13の装置。
  25. 少なくとも1つのプロセッサによる実行のための実行可能な命令を備えるコンピュータ可読メモリであって、
    前記実行可能な命令は実行されるときに前記少なくとも1つのプロセッサに、
    単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化することと、
    オペレーティングシステムがあたかも2つの実際の物理ディスプレイとインタフェースしているかのように挙動すべく、前記オペレーティングシステムに対して少なくとも2つのエミュレートされた物理ディスプレイのそれぞれに関する情報を提供することによって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることと、をさせるコンピュータ可読メモリ。
  26. 前記実行可能な命令は実行されるときに前記少なくとも1つのプロセッサに、
    ディスプレイ情報に対する前記オペレーティングシステムからのクエリーに応答して前記少なくとも2つのエミュレートされた物理ディスプレイの各々に対して生成されるディスプレイ識別データを前記オペレーティングシステムに提供することによって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることを更にさせる請求項25のコンピュータ可読メモリ。
  27. 前記実行可能な命令は実行されるときに前記少なくとも1つのプロセッサに、
    前記単一のディスプレイに対応する割り込みの通知をグラフィクス処理ユニットから受け取ることと、
    あたかも2つの割り込みが受け取られたかのように前記少なくとも2つのエミュレートされた物理ディスプレイに対応する割り込み報告情報の少なくとも2セットを前記オペレーティングシステムに報告することと、によって前記少なくとも2つの仮想可視区域を少なくとも2つのエミュレートされた物理ディスプレイとしてエミュレートすることを更にさせる請求項25のコンピュータ可読メモリ。
  28. 前記実行可能な命令は実行されるときに前記少なくとも1つのプロセッサに、
    前記少なくとも2つの仮想可視区域の1つの仮想可視区域内で第1のアプリケーションウインドウをフルスクリーンモードでディスプレイ上にディスプレイすることを更にさせ、
    前記フルスクリーンモードにおける前記アプリケーションは前記1つの仮想可視区域の周囲内にのみ拡大する請求項25のコンピュータ可読メモリ。
  29. 前記実行可能な命令は実行されるときに前記少なくとも1つのプロセッサに、
    前記第1のアプリケーションウインドウが前記1つの仮想可視区域内において前記フルスクリーンでディスプレイされている間に前記少なくとも2つの仮想可視区域の別の仮想可視区域内において第2のアプリケーションウインドウを前記ディスプレイ上にディスプレイすることとを更にさせる請求項28のコンピュータ可読メモリ。
  30. 前記実行可能な命令は実行されるときに前記少なくとも1つのプロセッサに、
    前記単一のディスプレイの可視区域を前記少なくとも2つの仮想可視区域へと区分化するディスプレイ構成に対応する選択入力を受け取ることを更にさせ、
    単一のディスプレイの可視区域を少なくとも2つの仮想可視区域へと区分化することは前記選択入力に応答する請求項25のコンピュータ可読メモリ。
JP2012543422A 2009-12-15 2010-12-10 ディスプレイ面を複数の仮想ディスプレイ区域に区分化するための装置及び方法 Active JP5506120B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/638,941 US8538741B2 (en) 2009-12-15 2009-12-15 Apparatus and method for partitioning a display surface into a plurality of virtual display areas
US12/638,941 2009-12-15
PCT/CA2010/001966 WO2011072379A1 (en) 2009-12-15 2010-12-10 Apparatus and method for partitioning a display surface into a plurality of virtual display areas

Publications (3)

Publication Number Publication Date
JP2013513873A JP2013513873A (ja) 2013-04-22
JP2013513873A5 JP2013513873A5 (ja) 2014-01-30
JP5506120B2 true JP5506120B2 (ja) 2014-05-28

Family

ID=44143885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012543422A Active JP5506120B2 (ja) 2009-12-15 2010-12-10 ディスプレイ面を複数の仮想ディスプレイ区域に区分化するための装置及び方法

Country Status (6)

Country Link
US (1) US8538741B2 (ja)
EP (1) EP2513895A4 (ja)
JP (1) JP5506120B2 (ja)
KR (1) KR101752377B1 (ja)
CN (1) CN102782747B (ja)
WO (1) WO2011072379A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
EP2557488B1 (en) * 2010-04-09 2018-07-25 Sony Interactive Entertainment Inc. Information processing device
US8850354B1 (en) * 2010-05-21 2014-09-30 Google Inc. Multi-window web-based application structure
JP2012118832A (ja) * 2010-12-02 2012-06-21 Sony Corp 情報処理装置、情報処理方法及びプログラム
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
CN102279723A (zh) * 2011-08-24 2011-12-14 百度在线网络技术(北京)有限公司 一种实现分屏显示的系统和方法
WO2013037077A1 (en) * 2011-09-12 2013-03-21 Intel Corporation Multiple simultaneous displays on the same screen
KR101860342B1 (ko) * 2011-09-15 2018-05-23 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR20130051234A (ko) * 2011-11-09 2013-05-20 삼성전자주식회사 휴대용 단말기에서 어플리케이션에 대한 비주얼 프레젠테이션 방법 및 장치
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US20130339398A1 (en) * 2012-06-18 2013-12-19 Ryan Christopher Griggs Database inbox
US9588674B2 (en) * 2012-11-30 2017-03-07 Qualcomm Incorporated Methods and systems for providing an automated split-screen user interface on a device
CN103106000B (zh) * 2013-01-23 2015-11-25 东莞宇龙通信科技有限公司 多焦点窗口的实现方法及通信终端
KR102049855B1 (ko) * 2013-01-31 2019-11-28 엘지전자 주식회사 이동 단말기 및 이의 제어 방법
US9607351B2 (en) * 2013-07-24 2017-03-28 General Dynamics Mission Systems, Inc. Systems and methods for GPU virtualization
US10915284B2 (en) * 2013-07-30 2021-02-09 Lockheed Martin Corportation Multi-monitor full screen mode in a windowing environment
KR102266198B1 (ko) * 2013-08-02 2021-06-18 삼성전자주식회사 이종 애플리케이션들을 포함하는 그룹을 나타내는 탭 윈도우를 관리하는 방법 및 장치.
KR102061869B1 (ko) 2013-08-21 2020-02-11 삼성전자주식회사 전자 장치 및 영상 표시 방법
US9910884B2 (en) * 2014-01-13 2018-03-06 Microsoft Technology Licensing, Llc Resuming items in their last-used presentation modes
US9940909B2 (en) * 2014-10-14 2018-04-10 Barco N.V. Display system with a virtual display
US20160335965A1 (en) * 2015-05-13 2016-11-17 Microsoft Technology Licensing, Llc Display diode relative age tracking
CN107533469B (zh) * 2015-05-29 2022-03-29 英特尔公司 对图形处理单元资源的容器访问
CN105630444A (zh) * 2015-12-22 2016-06-01 联想(北京)有限公司 显示方法及电子设备
CN105653222B (zh) * 2015-12-31 2018-06-22 北京元心科技有限公司 一种实现多系统分屏运行的方法和装置
US10347017B2 (en) * 2016-02-12 2019-07-09 Microsoft Technology Licensing, Llc Interactive controls that are collapsible and expandable and sequences for chart visualization optimizations
US10748312B2 (en) 2016-02-12 2020-08-18 Microsoft Technology Licensing, Llc Tagging utilizations for selectively preserving chart elements during visualization optimizations
JP6988060B2 (ja) * 2016-05-25 2022-01-05 株式会社リコー 画像処理装置、画像処理システム、画像処理方法及びプログラム
EP3436929A4 (en) 2016-06-17 2019-10-16 Hewlett-Packard Development Company, L.P. COMMON MACHINE LEARNING STRUCTURE
US10181278B2 (en) 2016-09-06 2019-01-15 Microsoft Technology Licensing, Llc Display diode relative age
KR102382557B1 (ko) * 2017-05-29 2022-04-05 주식회사 엔씨소프트 이동 단말기 기반 게임 구동 가상 머신 및 그 동작 방법
KR102049059B1 (ko) * 2017-11-07 2020-01-08 엔에이치엔 주식회사 모바일 게임 구동 방법 및 장치
US11114069B2 (en) 2017-12-08 2021-09-07 Hewlett-Packard Development Company, L.P. Private virtualized displays
CN108121491B (zh) * 2017-12-18 2021-02-09 威创集团股份有限公司 一种显示方法及装置
CN109496293B (zh) * 2018-10-12 2020-12-04 北京小米移动软件有限公司 扩展内容显示方法、装置、系统及存储介质
DE102019106285A1 (de) * 2018-12-13 2020-06-18 Fujitsu Client Computing Limited Verfahren zum automatischen Ausrichten eines Fensters innerhalb einer Benutzeroberfläche
CN110209067A (zh) * 2019-05-14 2019-09-06 中国舰船研究设计中心 虚拟化的核动力非安全级模拟人机接口
CN110162288A (zh) * 2019-06-03 2019-08-23 北京淳中科技股份有限公司 一种确定显示区域的方法、装置、设备和介质
CN110955400B (zh) * 2019-12-02 2022-09-20 苏州长风航空电子有限公司 一种显示设备冗余备份方法
US11721306B2 (en) * 2020-09-25 2023-08-08 Ati Technologies Ulc Method and apparatus for providing a picture-in-picture (PIP) overlay window on a single physical monitor
CN113010245B (zh) * 2021-02-24 2023-03-14 杭州雾联科技有限公司 一种创建虚拟显示器的方法、装置、电子设备和存储介质
CN113596554B (zh) * 2021-03-31 2023-03-21 联想(北京)有限公司 一种显示方法及显示设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6445400B1 (en) * 1999-09-23 2002-09-03 International Business Machines Corporation Computer controlled user interactive display system with each of a plurality of windows having a border of a color varied to reflect a variable parameter being tracked for the window
US7010755B2 (en) * 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
US7136042B2 (en) 2002-10-29 2006-11-14 Microsoft Corporation Display controller permitting connection of multiple displays with a single video cable
US7477205B1 (en) 2002-11-05 2009-01-13 Nvidia Corporation Method and apparatus for displaying data from multiple frame buffers on one or more display devices
US7561116B2 (en) 2003-01-31 2009-07-14 Microsoft Corporation Multiple display monitor
US7274370B2 (en) * 2003-12-18 2007-09-25 Apple Inc. Composite graphics rendered using multiple frame buffers
US20100321395A1 (en) * 2009-06-18 2010-12-23 Apple Inc. Display simulation system and method

Also Published As

Publication number Publication date
CN102782747A (zh) 2012-11-14
US20110144970A1 (en) 2011-06-16
JP2013513873A (ja) 2013-04-22
EP2513895A4 (en) 2013-04-24
KR101752377B1 (ko) 2017-06-29
EP2513895A1 (en) 2012-10-24
US8538741B2 (en) 2013-09-17
WO2011072379A1 (en) 2011-06-23
KR20120099776A (ko) 2012-09-11
CN102782747B (zh) 2016-02-10

Similar Documents

Publication Publication Date Title
JP5506120B2 (ja) ディスプレイ面を複数の仮想ディスプレイ区域に区分化するための装置及び方法
KR101930565B1 (ko) 몰입형 환경의 맞춤화 기법
RU2491609C2 (ru) Прокрутка изображения виртуального рабочего стола
US8966379B2 (en) Dynamic cross-environment application configuration/orientation in an active user environment
US20160077682A1 (en) Dynamic cross-environment application configuration/orientation
TWI610709B (zh) 於一桌上型電腦上實施一遠端遊戲伺服器
US20130057572A1 (en) Multiple Display Device Taskbars
JP2013546043A (ja) 即時リモートレンダリング
JP2013542515A (ja) 異環境間リダイレクション
JP2014135013A (ja) 画像転送方法、サーバ機器及びプログラム
CN105190701B (zh) 基于原语的合成系统及方法
US20120050260A1 (en) Method and apparatus for accommodating display migration among a plurality of physical displays
US20190325562A1 (en) Window rendering method and terminal
KR102282365B1 (ko) Os들의 화면을 통합하여 표시하는 방법 및 장치
US11721306B2 (en) Method and apparatus for providing a picture-in-picture (PIP) overlay window on a single physical monitor
CN112799801B (zh) 一种模拟鼠标指针绘制方法、装置、设备和介质
CN110941408B (zh) 一种kvm虚拟机图形界面输出方法及装置
US20230123119A1 (en) Terminal, control method therefor, and recording medium in which program for implementing method is recorded
KR102223554B1 (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
JP6865272B2 (ja) モバイル仮想化
KR102553661B1 (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
KR102223553B1 (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체
JP2017072977A (ja) コンピュータ・プログラム
Packard Getting X Off The Hardware
TW202331531A (zh) 用於控制客戶虛擬機器之操作介面之虛擬處理裝置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131209

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20131209

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20131225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140317

R150 Certificate of patent or registration of utility model

Ref document number: 5506120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250