IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

特許7730385情報処理装置、情報処理装置の制御方法、プログラム、及び記録媒体
<>
  • 特許-情報処理装置、情報処理装置の制御方法、プログラム、及び記録媒体 図1
  • 特許-情報処理装置、情報処理装置の制御方法、プログラム、及び記録媒体 図2
  • 特許-情報処理装置、情報処理装置の制御方法、プログラム、及び記録媒体 図3
  • 特許-情報処理装置、情報処理装置の制御方法、プログラム、及び記録媒体 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-08-19
(45)【発行日】2025-08-27
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、プログラム、及び記録媒体
(51)【国際特許分類】
   G09G 5/00 20060101AFI20250820BHJP
【FI】
G09G5/00 550A
【請求項の数】 6
(21)【出願番号】P 2023576857
(86)(22)【出願日】2023-01-19
(86)【国際出願番号】 JP2023001586
(87)【国際公開番号】W WO2023145616
(87)【国際公開日】2023-08-03
【審査請求日】2024-07-18
(31)【優先権主張番号】P 2022013442
(32)【優先日】2022-01-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100137969
【弁理士】
【氏名又は名称】岡部 憲昭
(74)【代理人】
【識別番号】100104824
【弁理士】
【氏名又は名称】穐場 仁
(74)【代理人】
【識別番号】100121463
【弁理士】
【氏名又は名称】矢口 哲也
(74)【代理人】
【識別番号】100122275
【弁理士】
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】吉田 弘一
(72)【発明者】
【氏名】青木 幸代
(72)【発明者】
【氏名】畠澤 泰成
(72)【発明者】
【氏名】会沢 隆広
【審査官】武田 悟
(56)【参考文献】
【文献】米国特許出願公開第2019/0172388(US,A1)
【文献】特開平11-231854(JP,A)
【文献】特表2016-529534(JP,A)
【文献】特開2021-135309(JP,A)
【文献】中国特許出願公開第111131622(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 5/00 - 5/42
A63F 13/25
(57)【特許請求の範囲】
【請求項1】
エミュレーションの対象となるディスプレイモニタの機能に関するエミュレーション設定の入力を受け入れる設定受入部と、
アプリケーションプログラムの実行を管理する実行管理部と、
前記アプリケーションプログラムを実行することで描画される画像を、前記受け入れたエミュレーション設定で表される機能のディスプレイモニタが仮想的に接続されている状態をエミュレートして、現実に接続されているディスプレイモニタに対して表示出力する表示制御部と、
を含み、
前記エミュレーション設定は、
・可変リフレッシュレートで動作させる際のリフレッシュレートの下限値及び上限値、
・フレームごとのリフレッシュレートの変動を制限するか否か、
の少なくともいずれかを含む情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記設定受入部は、情報処理装置に対して現実に接続されているディスプレイモニタの機能を表す情報を取得し、当該取得した情報に基づいて仮想的に設定可能なエミュレーションのオプションを提示し、当該提示したオプションを選択させることにより、前記エミュレーション設定を受け入れる情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記エミュレーション設定には、フレームごとのリフレッシュレートの変動を制限する設定として、変動率の制限であるΔRlimitの設定を含み、
前記表示制御部は、前記実行管理部によるアプリケーションプログラムの実行時に、その処理で要求されるリフレッシュレートの値Rtargetを得て、現在のリフレッシュレートの値Rcurrentとの差の絶対値ΔRが、前記エミュレーション設定に含まれる変動率の制限であるΔRlimitを超える場合、次のフレームのリフレッシュレートを、
・Rtarget>Rcurrentの場合、Rtarget=Rcurrent+ΔRlimit
・Rtarget<Rcurrentの場合、Rtarget=Rcurrent-ΔRlimit
に設定する情報処理装置。
【請求項4】
プロセッサを備えた情報処理装置を用い、当該プロセッサが、
エミュレーションの対象となるディスプレイモニタの機能に関するエミュレーション設定であって、
・可変リフレッシュレートで動作させる際のリフレッシュレートの下限値及び上限値、
・フレームごとのリフレッシュレートの変動を制限するか否か、
の少なくともいずれかを含むエミューレション設定の入力を受け入れ、
アプリケーションプログラムの実行を管理し、
前記アプリケーションプログラムを実行することで描画される画像を、前記受け入れたエミュレーション設定で表される機能のディスプレイモニタが仮想的に接続されている状態をエミュレートして、現実に接続されているディスプレイモニタに対して表示出力する情報処理装置の制御方法。
【請求項5】
コンピュータを、
エミュレーションの対象となるディスプレイモニタの機能に関するエミュレーション設定であって、
・可変リフレッシュレートで動作させる際のリフレッシュレートの下限値及び上限値、
・フレームごとのリフレッシュレートの変動を制限するか否か、
の少なくともいずれかを含むエミューレション設定の入力を受け入れる受入手段と、
アプリケーションプログラムの実行を管理する実行管理手段と、
前記アプリケーションプログラムを実行することで描画される画像を、前記受け入れたエミュレーション設定で表される機能のディスプレイモニタが仮想的に接続されている状態をエミュレートして、現実に接続されているディスプレイモニタに対して表示出力する表示制御手段と、
として機能させるプログラム。
【請求項6】
エミュレーションの対象となるディスプレイモニタの機能に関するエミュレーション設定であって、
・可変リフレッシュレートで動作させる際のリフレッシュレートの下限値及び上限値、
・フレームごとのリフレッシュレートの変動を制限するか否か、
の少なくともいずれかを含むエミューレション設定の入力を受け入れる受入手段と、
アプリケーションプログラムの実行を管理する実行管理手段と、
前記アプリケーションプログラムを実行することで描画される画像を、前記受け入れたエミュレーション設定で表される機能のディスプレイモニタが仮想的に接続されている状態をエミュレートして、現実に接続されているディスプレイモニタに対して表示出力する表示制御手段と、
としてコンピュータを機能させるプログラムを格納した、コンピュータ可読かつ非一時的な記録媒体。




【発明の詳細な説明】
【技術分野】
【0001】
本発明は、家庭用ゲーム機等の情報処理装置、その制御方法、それによって実行されるプログラム、及び当該プログラムを格納した記録媒体に関する。
【背景技術】
【0002】
近年では、描画された画像の動きを滑らかにするため、フレームごとの描画時間の相違に柔軟に対応してリフレッシュレートを動的に変化させる、いわゆる可変リフレッシュレートに対応するディスプレイモニタや、そうでないディスプレイモニタ、また可変リフレッシュレートに対応しているものの、そのリフレッシュレートの変更に制限のあるディスプレイモニタなど、種々の機能を有するディスプレイモニタが存在する。
【0003】
そこで、情報処理装置のシステムプログラム(オペレーティングシステムなど)は、種々の機能のディスプレイモニタに応じた処理を実行している。
【0004】
このため、アプリケーションプログラムから例えば可変リフレッシュレートの利用を求めた場合であっても、システムプログラム側で当該利用に応じられない旨の応答を行うことがあり得る。
【発明の概要】
【発明が解決しようとする課題】
【0005】
このような状況下では、情報処理装置で実行されるアプリケーションプログラムの開発者は、理想的には、種々の、互いに異なる機能を有するディスプレイモニタを情報処理装置に逐次接続してアプリケーションプログラムを実行し、システムプログラムからの応答に適切に対応するかなどを調べ、デバッグすることが好適である。
【0006】
しかしながら、上述の通り、ディスプレイモニタの機能の相違は多岐に及んでおり、そのすべてを試すことは現実的でない。また、比較的古いスペックを有するディスプレイモニタについては入手が困難になっていくことも考えられ、試験のためにこうしたディスプレイモニタを接続することが難しい場合もあり得る。
【0007】
本発明は上記実情に鑑みて為されたもので、種々の機能のディスプレイモニタが接続された場合の動作をエミュレートできる情報処理装置、情報処理装置の制御方法、プログラム、及び記録媒体を提供することを、その目的の一つとする。
【課題を解決するための手段】
【0008】
上記従来例の問題点を解決する本発明の一態様は、情報処理装置であって、エミュレーションの対象となるディスプレイモニタの機能に関するエミュレーション設定の入力を受け入れる設定受入部と、アプリケーションプログラムの実行を管理する実行管理部と、前記アプリケーションプログラムを実行することで描画される画像を、前記受け入れたエミュレーション設定で表される機能のディスプレイモニタが仮想的に接続されている状態をエミュレートして、現実に接続されているディスプレイモニタに対して表示出力する表示制御部と、を含むこととしたものである。
【発明の効果】
【0009】
この例の情報処理装置によると、種々の機能のディスプレイモニタが接続されたと仮定した場合の動作をエミュレートできる。
【図面の簡単な説明】
【0010】
図1】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
図2】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
図3】本発明の実施の形態に係る情報処理装置が提示する設定画面の例を表す説明図である。
図4】本発明の実施の形態に係る情報処理装置による目標設定処理の例を表すフローチャート図である。
【発明を実施するための形態】
【0011】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態の一例に係る情報処理装置1は、例えば家庭用ゲーム機などであり、ディスプレイモニタ2に接続されて利用される。
【0012】
この情報処理装置1は、図1に例示するように、制御部11、記憶部12、操作部13、及び表示出力部14を含んで構成される。この情報処理装置1は、これらの構成のほか、ネットワークインタフェースなどを含んでもよい。
【0013】
制御部11は、CPUなどのプログラム制御デバイス(少なくとも一つのプロセッサ)であり、本実施の形態の例では、記憶部12に格納されたシステムプログラムと、アプリケーションプログラムとに従って処理を実行している。
【0014】
システムプログラムは、アプリケーションプログラムの起動、終了等を管理するためのものである。制御部11は、このシステムプログラムに従ってアプリケーションプログラムの起動や終了などの処理を行う。また制御部11は、アプリケーションプログラムの実行中は、アプリケーションプログラムの処理に基づく要求に応答してディスプレイモニタ2を制御し、アプリケーションプログラムが描画した各フレームに基づく映像の信号を出力するなどの入出力の処理も行う。
【0015】
アプリケーションプログラムは例えばゲームアプリケーションのプログラムであり、ユーザの操作を受けてゲームなどの処理を実行する。このアプリケーションプログラムに関連して予めディスプレイモニタの可変リフレッシュレートの利用についての設定が行われていてもよい。またこのアプリケーションプログラムに従うことで、制御部11は、画面(フレーム)を描画する処理を繰り返し実行する。
【0016】
本実施の形態では、制御部11は、システムプログラムの動作として、ディスプレイモニタの機能をエミュレートする。つまり、制御部11は、アプリケーションプログラムの実行時に、予め入力されたエミュレーション設定で表される機能のディスプレイモニタが仮想的に接続されている状態をエミュレートする。
【0017】
一例として本実施の形態の情報処理装置1は、当該情報処理装置1に接続されているディスプレイモニタ2が、例えばフレーム間での可変リフレッシュレートの変動率に制限のないものであっても、フレーム間での可変リフレッシュレートの変動率に制限のあるディスプレイモニタの挙動(アプリケーションプログラムに対する応答)をエミュレートする。また実際に情報処理装置1に接続されているディスプレイモニタ2の可変リフレッシュレートの可変範囲が1から200Hzであったとしても、例えばその可変範囲が1から144Hzであるディスプレイモニタの挙動をエミュレートする。これらの制御部11の動作については後に述べる。
【0018】
記憶部12は、SSDやHDDなどのディスクデバイス、並びに、メモリデバイスを含んで構成され、制御部11によって実行されるプログラムを保持する。またこの記憶部12は、制御部11のワークメモリとしても動作する。この記憶部12に格納されるプログラム(システムプログラム、及びアプリケーションプログラム)は、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部12に複写されたものであってよい。
【0019】
操作部13は、入力デバイスからユーザの操作入力を受け入れて制御部11に出力する。この入力デバイスは、情報処理装置1がパーソナルコンピュータであれば、マウスやキーボード等であり得る。また情報処理装置1が家庭用ゲーム機であれば、この入力デバイスは、ゲームコントローラ等であり得る。
【0020】
表示出力部14は、制御部11から入力される指示に従って、指示されたタイミング(更新タイミング)で、制御部11から入力されるフレームを表す映像の信号を生成して、ディスプレイモニタ2に対して出力する。
【0021】
ディスプレイモニタ2は、情報処理装置1から1フレーム分の映像の信号の入力を受けて、所定のタイミングで表示する。このタイミングはディスプレイモニタ2が可変リフレッシュレートに対応していない場合は一定の周期でのタイミングとなる。また可変リフレッシュレートに対応している場合は、このタイミングは、基本的に情報処理装置1から指定されたタイミングとなる。このディスプレイモニタ2の動作は、広く知られているので、ここでの詳しい説明は省略する。
【0022】
なお、ディスプレイモニタ2は、情報処理装置1から入力される要求に応じて、自身が可変リフレッシュレートに対応するか否かや、可変リフレッシュレートに対応する場合はその可変範囲の情報、さらには、自身が可変リフレッシュレートの変更に制限のある制限付きディスプレイモニタであるか否かなど、その機能を表す機能情報を、情報処理装置1に対して出力するものとする。
【0023】
次に、本実施の形態の情報処理装置1の制御部11の動作について説明する。本実施の形態では、この制御部11は、記憶部12に格納されたシステムプログラムを実行することで、図2に例示するように、設定受入部21と、実行管理部22と、表示制御部23とを機能的に含む構成を実現する。
【0024】
設定受入部21は、ユーザから、エミュレートの対象となるディスプレイモニタの機能の設定を受け入れる。一例としてこの設定受入部21は、ユーザに対して、エミュレート可能なディスプレイモニタの機能のオプションを提示する。ユーザは、当該提示されたオプションから機能を選択することで、エミュレートの対象となるディスプレイモニタの機能を設定する。
【0025】
このとき設定受入部21は、現実に接続されているディスプレイモニタ2の機能を表す情報を取得し、当該取得した情報に基づいてエミュレート可能な機能のオプションを提示することとしてもよい。
【0026】
この例では、設定受入部21は、ディスプレイモニタ2から、当該ディスプレイモニタ2が対応可能な可変リフレッシュレートの範囲の情報として、可変リフレッシュレートで動作するときのリフレッシュレートの下限値Rminと、上限値Rmaxとを受け入れる。また設定受入部21は、ディスプレイモニタ2から、当該ディスプレイモニタ2がフレーム間での可変リフレッシュレートの変動率に制限のある制限付きディスプレイモニタであるか否か(制限の有無)を受け入れる。さらに設定受入部21は、その他の機能に関する情報、例えば固定リフレッシュレートで動作する際のリフレッシュレートの値(RB)などをディスプレイモニタ2から取得してもよい。
【0027】
設定受入部21は、上記取得した、ディスプレイモニタ2が対応可能な可変リフレッシュレートの範囲のうちで、エミュレーションの対象となるディスプレイモニタのリフレッシュレートの範囲(下限値及び上限値)のオプションを提示し、当該範囲をユーザに入力させる。具体的に、ディスプレイモニタ2が対応可能な可変リフレッシュレートの範囲の下限値が「1Hz」、上限値が「200Hz」である場合、設定受入部21は、下限値を「1Hz」,「30Hz」,「48Hz」…のいずれとするかをオプションとして提示する。また、上限値については、設定受入部21は、「60Hz」,「80Hz」,「100Hz」,「120Hz」,「144Hz」,「165Hz」…といった「200Hz」以下のオプションを提示する。
【0028】
また、ディスプレイモニタ2が対応可能な可変リフレッシュレートの範囲の下限値が「30Hz」である場合、設定受入部21は、下限値として「30Hz」未満を除いて、「30Hz」,「48Hz」…のいずれとするかをオプションとして提示することになる。
【0029】
ユーザは、このようにして提示されたオプションのうちから、エミュレートの対象となるディスプレイモニタの可変リフレッシュレートの可変範囲の上限値及び下限値を選択してエミュレート設定を入力する。
【0030】
また設定受入部21は、上記ディスプレイモニタ2から取得した制限の有無の情報を用い、取得した情報が、制限付きでないことを表すものであれば、制限付きディスプレイモニタをエミュレートするか否かを選択させるオプションを、ユーザに提示する。また、取得した情報が、制限付きであることを表すものであれば、設定受入部21は、制限付きディスプレイモニタをエミュレートするか否かを選択させるオプションを提示しない。
【0031】
なお、ここではオプションを提示することによりユーザの選択を求めることとしたが、この例は一例であり、設定受入部21は、エミュレーションの対象となるディスプレイモニタ2の可変リフレッシュレートの上限値や下限値、制限付きディスプレイモニタをエミュレートするか否かなどの入力をユーザから受け入れてもよい。この場合、設定受入部21は、実際に接続されているディスプレイモニタ2から取得した機能の情報に基づき、入力された値や設定がエミュレート可能でない場合には、ユーザに対してその旨を通知し、入力の修正を求めてもよい。
【0032】
例えば設定受入部21は、ディスプレイモニタ2から取得した情報が、制限付きであることを表すものである場合に、ユーザが制限付きでないディスプレイモニタをエミュレートするよう設定したときには、当該設定に対応したエミュレーションを行うことができない旨の通知をユーザに対して行い、その設定の修正を求める。
【0033】
実行管理部22は、アプリケーションプログラムの実行を管理する。この実行管理部22は、具体的にはユーザからの指示を受けて指定されたアプリケーションプログラムの起動、停止などのプロセス管理処理を行う。またこの実行管理部22は、アプリケーションプログラムの実行に必要なメモリの確保など、メモリ管理の処理を実行する。
【0034】
表示制御部23は、制御部11がアプリケーションプログラムを実行することで描画される画像を、現実に接続されているディスプレイモニタ2に対して表示出力するが、このとき表示制御部23は、設定受入部21が受け入れたエミュレーション設定で表される機能のディスプレイモニタが仮想的に接続されている状態をエミュレートした表示出力を行う。
【0035】
具体的に、設定受入部21がユーザから受け入れたエミュレーション設定が、
・可変リフレッシュレートの下限が「48Hz」、上限が「120Hz」、
・制限付きディスプレイモニタであり、フレーム間でのリフレッシュレートの差の絶対値がΔRlimit(具体的な値を定めておく)を超えないよう制御される必要がある、
といったものであったとすると、この表示制御部23は、次の例のように動作する。
【0036】
表示制御部23は、アプリケーションプログラムの実行時に、その処理で要求されるリフレッシュレートの値(目標値)を得ると、次の目標値設定処理を実行する。
【0037】
この目標値設定処理では、表示制御部23は、当該目標値とエミュレーション設定が示す可変リフレッシュレートの下限値及び上限値とを比較する。ここで目標値Rtargetが、エミュレーション設定が示す可変リフレッシュレートの下限値Rminと上限値Rmaxとの間にない場合、例えばRtarget>Rmaxの場合、表示制御部23は、目標値がディスプレイモニタの機能による制限を逸脱する場合の処理として予めシステムプログラムで定められた処理を実行する。一例として表示制御部23は、Rtarget=Rmaxとして処理を続けるとともに、アプリケーションプログラム側に当該設定を知らせる(設定変更通知)。
【0038】
なお、目標値Rtargetが、エミュレーション設定が示す可変リフレッシュレートの下限値Rminと上限値Rmaxとの間にあれば、表示制御部23は、そのまま処理を続ける。
【0039】
そして表示制御部23は、現在のリフレッシュレートRcurrentと、目標値Rtarget(Rmaxに再設定された場合はその値となっている)との差の絶対値ΔR=|Rtarget-Rcurrent|(ここで|x|はxの絶対値を意味する)を求め、この絶対値ΔRがエミュレーション設定で定められた制限であるΔRlimitを超えるか否かを調べる。
【0040】
表示制御部23は、ΔR>ΔRlimitである場合、制限付きディスプレイモニタの制限を超える場合の処理として予めシステムプログラムで定められた処理を実行する。例えば表示制御部23は、次のフレームのリフレッシュレートを、Rtarget=Rcurrent+ΔRlimit(Rtarget>Rcurrentの場合)または、Rtarget=Rcurrent-ΔRlimit(Rtarget<Rcurrentの場合)として目標値設定処理を終了する。
【0041】
また表示制御部23は、絶対値ΔRがエミュレーション設定で定められた制限であるΔRlimitを超えるか否かを調べた際に、ΔR≦ΔRlimitであれば、次のフレームのリフレッシュレートを、Rtargetとして目標値設定処理を終了する。
【0042】
表示制御部23は、ここまでの目標値設定処理で定めたRtargetをディスプレイモニタ2に出力し、その後、アプリケーションプログラムの処理によりフレームの描画を完了すると、当該描画したフレームの映像の信号をディスプレイモニタ2に出力する。そして表示制御部23は、アプリケーションプログラムが指定した目標値と、目標値設定処理で定めたRtargetとが異なる場合、Rtargetをアプリケーションプログラムが指定した目標値に設定して、目標値設定処理を再度実行する。
【0043】
なお、表示制御部23は、フレームの映像の信号をディスプレイモニタ2に出力したとき、アプリケーションプログラムが指定した目標値と、目標値設定処理で定めたRtargetとが同じとなっていれば、以降、目標値がアプリケーションプログラムにより変更されるまで、アプリケーションプログラムの処理によりフレームの描画を完了するごとに、当該描画したフレームの映像の信号をディスプレイモニタ2に出力する処理を繰り返す。
【0044】
さらに表示制御部23は、アプリケーションプログラムにより固定リフレッシュレートでの制御が求められた場合には、設定受入部21がユーザから受け入れたエミュレーション設定に固定リフレッシュレートの値が設定されていれば、当該固定リフレッシュレートのディスプレイモニタが接続されている状態をエミュレートする。
【0045】
ここでの例では実行管理部22は、上記設定変更通知を受けた場合の処理として、アプリケーションプログラムが定めるところに従って処理を行う。例えばアプリケーションプログラムが設定変更通知に対応する処理を行わない場合には、表示が乱れるなど、何らかの結果が観察されることとなるので、アプリケーションプログラムの作成者は、修正の必要を知ることができるようになる。
【0046】
[動作]
本実施の形態の情報処理装置1は、以上の構成を備えており、次のように動作する。情報処理装置1は、ユーザからディスプレイモニタのエミュレーションを行うべき旨の指示を受けると、接続されているディスプレイモニタ2からその機能を表す情報を取得し、当該取得した情報に基づいてエミュレート可能な機能のオプションを提示する。
【0047】
以下の例では、情報処理装置1に現実に接続されているディスプレイモニタ2の対応可能な可変リフレッシュレートの範囲の下限値が「1Hz」、上限値が「200Hz」であるものとする。また、このディスプレイモニタ2は、フレーム間での可変リフレッシュレートの変動率に制限のないもの(制限付きディスプレイモニタでない)とする。
【0048】
情報処理装置1は、このディスプレイモニタ2を用いてエミュレート可能なディスプレイモニタの機能を選択させるため、可変リフレッシュレートの下限値を「1Hz」,「30Hz」,「48Hz」…のいずれかから選択可能な態様で設定画面を表示して、ユーザにオプションを提示する(図3)。また、可変リフレッシュレートの上限値については、「60Hz」,「80Hz」,「100Hz」,「120Hz」,「144Hz」,「165Hz」…など「200Hz」以下のオプションのうちから選択可能な態様で表示する。
【0049】
さらに情報処理装置1は、この設定画面において、制限付きディスプレイモニタをエミュレートするか否かを選択させるオプションを表示する。
【0050】
ユーザがこの設定画面において、例えば下限値を「48Hz」とし、上限値を「144Hz」とするディスプレイモニタであって、フレーム間での可変リフレッシュレートの変動率に制限のある、制限付きディスプレイモニタをエミュレートする旨のエミュレーション設定を行うと、情報処理装置1は、次のように動作する。
【0051】
情報処理装置1は、ユーザからの指示を受けて指定されたアプリケーションプログラムを起動する。このアプリケーションプログラムは、表示するべき画面(フレーム)を、逐次的に描画する。
【0052】
情報処理装置1は、エミュレーション設定において、可変リフレッシュレートの範囲が設定されていることから、当該設定された、下限値Rmin=「48Hz」、上限値Rmax=「144Hz」の可変リフレッシュレートのディスプレイモニタが接続されているとしたエミュレーションを実行する。
【0053】
またエミュレーション設定において、制限付きディスプレイモニタをエミュレートすることとしているので、フレーム間でのリフレッシュレートの差の絶対値が予め定められた値ΔRlimitを超えない状態をエミュレートする。
【0054】
なお、この値ΔRlimitは、ここでは予め設定されているものとしたが、この値もユーザがエミュレーション設定として設定してもよい。
【0055】
情報処理装置1は、アプリケーションプログラムの処理中に、当該アプリケーションプログラムによる表示の処理で要求されるリフレッシュレートの値(目標値)Rtargetを得て、目標値設定処理を実行する。なお、情報処理装置1は、アプリケーションプログラムが要求した目標値の値を、元々の目標値(Rdemand)として記憶しておく。
【0056】
すなわち情報処理装置1は、図4に例示するように、アプリケーションプログラムが要求した目標値Rtargetとエミュレーション設定が示す可変リフレッシュレートの下限値Rmin及び上限値Rmaxの間にあるか否か(Rmax≧Rtarget≧Rminであるか否か)を判断する(S11)。
【0057】
ここで目標値Rtargetが、エミュレーション設定が示す可変リフレッシュレートの下限値Rminと上限値Rmaxとの間にない場合(S11:No)、情報処理装置1は、目標値がディスプレイモニタの機能による制限を逸脱する場合の処理として予めシステムプログラムで定められた処理を実行する(S12)。例えば情報処理装置1は、Rtarget>RmaxであればRtarget=Rmaxとし、Rtarget<Rminであれば、Rtarget=Rminとして、目標値Rtargetを更新する。そして情報処理装置1は、アプリケーションプログラムの処理に当該目標値の更新がされたことを知らせる処理を実行する(設定変更通知)。
【0058】
なお、ステップS11において目標値Rtargetが、エミュレーション設定が示す可変リフレッシュレートの下限値Rminと上限値Rmaxとの間にあれば(S11:Yes)、情報処理装置1は、ステップS12の処理をスキップする。
【0059】
次に情報処理装置1は、制限付きディスプレイモニタのエミュレートのため、現在のフレーム表示で利用しているリフレッシュレートRcurrentを取得し、この現在のリフレッシュレートRcurrentと、目標値Rtarget(ステップS12において再設定された場合はその値)との差の絶対値ΔR=|Rtarget-Rcurrent|を求める(S13)。
【0060】
情報処理装置1は、さらにこのステップS13で求めた絶対値ΔRがエミュレーション設定で定められた制限であるΔRlimitを超えるか否かを調べる(S14)。
【0061】
ここでΔR>ΔRlimitであれば(S14:Yes)、情報処理装置1は、制限付きディスプレイモニタの制限を超える場合の処理として予めシステムプログラムで定められた処理を実行する(S15)。例えば情報処理装置1は、次のフレームのリフレッシュレートを、Rtarget=Rcurrent+ΔRlimit(Rtarget>Rcurrentの場合)または、Rtarget=Rcurrent-ΔRlimit(Rtarget<Rcurrentの場合)として目標値を更新して、目標設定処理を終了する。
【0062】
また、ステップS14においてΔR>ΔRlimitでなければ、そのまま目標設定処理を終了する。
【0063】
情報処理装置1は、この目標設定処理で定めたRtargetを、ディスプレイモニタ2に出力し、その後、アプリケーションプログラムの処理によりフレームの描画を完了すると、当該描画したフレームの映像の信号をディスプレイモニタ2に出力する。また情報処理装置1は、アプリケーションプログラムが指定した目標値(Rdemandとして記憶している値)と、目標値設定処理で定めたRtargetとが異なれば、Rtargetをアプリケーションプログラムが指定した目標値Rdemandに再設定して、目標値設定処理を再度実行する。
【0064】
なお、ここでは情報処理装置1は、アプリケーションプログラムが指定した目標値をRdemandとして記憶し、目標値設定処理で定めたRtargetと比較したが、本実施の形態はこの例に限らず、目標設定処理のステップS13の直前においてその時点での目標値をRdemandとして記憶し、当該記憶した値と目標値設定処理で定めたRtargetを比較して、これらが異なる場合に、Rtarget=Rdemandとリセットして、ステップS13から処理を繰り返してもよい。
【0065】
また情報処理装置1は、フレームの映像の信号をディスプレイモニタ2に出力したとき、アプリケーションプログラムが指定した目標値(Rdemandとして記憶している値)と、目標値設定処理で定めたRtargetとが同じであれば、以降は、目標値がアプリケーションプログラムにより変更されるまで、アプリケーションプログラムの処理によりフレームの描画を完了するごとに、当該描画したフレームの映像の信号をディスプレイモニタ2に出力する処理を繰り返す。
【0066】
本実施の形態によれば、種々の機能のディスプレイモニタが接続された場合の動作をエミュレートできる。
【0067】
そして例えば、上記目標設定処理により、要求したリフレッシュレートとは異なるリフレッシュレートが用いられた場合のアプリケーションプログラムに基づく動作がエミュレートされるので、デバッグなどの用途に資することができる。
【符号の説明】
【0068】
1 情報処理装置、2 ディスプレイモニタ、11 制御部、12 記憶部、13 操作部、14 表示出力部、21 設定受入部、22 実行管理部、23 表示制御部。
図1
図2
図3
図4