(57)【特許請求の範囲】
【請求項１】
画像の描画処理により各フレームの画像データを生成する描画処理手段と、
所定の表示周期で前記画像データに基づいて各フレームの画像を実際に表示する表示処理手段と、
を備える画像処理装置であって、
前記描画処理手段は、入力された時刻データが前記表示周期に基づいて定められた各フレームの描画処理開始基準時刻を経過したときに各フレームの画像の描画処理を開始するものであり、前記表示周期より短い時間で前記画像データの１つのフレームの描画処理が終了した場合、当該フレームの描画処理開始時刻から前記表示周期より短い時間経過後に次のフレームの描画処理開始基準時刻に相当する時刻を前記時刻データとして入力することによって次のフレームの描画処理を開始することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
ユーザからの入力によって既に描画処理により生成された前記画像データに変更が必要な場合、描画処理済みの前記画像データを破棄すると共に、前記描画処理手段において前記ユーザからの入力に応じて前記画像データを再生成することを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置であって、
前記描画処理手段は、フレームの画像データの描画処理開始時刻と当該フレームの表示開始時刻との差が基準時間差を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせることを特徴とする画像処理装置。
【請求項４】
請求項１又は２に記載の画像処理装置であって、
前記描画処理手段によって生成された前記画像データをキャッシュする記憶手段を備え、
前記描画処理手段は、前記記憶手段にキャッシュされている前記画像データのフレーム数が所定の基準フレーム数を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせることを特徴とする画像処理装置。
【請求項５】
コンピュータを、
画像の描画処理により各フレームの画像データを生成する描画処理手段と、
所定の表示周期で前記画像データに基づいて各フレームの画像を実際に表示する表示処理手段と、
として機能させる画像処理プログラムであって、
前記描画処理手段は、入力された時刻データが前記表示周期に基づいて定められた各フレームの描画処理開始基準時刻を経過したときに各フレームの画像の描画処理を開始するものであり、前記表示周期より短い時間で前記画像データの１つのフレームの描画処理が終了した場合、当該フレームの描画処理開始時刻から前記表示周期より短い時間経過後に次のフレームの描画処理開始基準時刻に相当する時刻を前記時刻データとして入力することによって次のフレームの描画処理を開始することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム毎に画像を描画する画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
クライアントにおける操作に応じてサーバにおいて画像の描画処理を行う技術が開示されている（特許文献１）。当該技術では、描画オブジェクトの各々の詳細情報を参照して複数の描画オブジェクトの描画順を決定し、その描画順にしたがって描画オブジェクトの描画を行う。このとき、１フレームの画像の表示開始の周期と１フレームの画像の描画開始の周期とを一致させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０７６１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、１フレームの画像の表示開始の周期と１フレームの画像の描画開始の周期とを一致させた場合、あるフレームの描画処理が１フレームの表示周期内に完了しないときやクライアントとサーバとの間の通信速度が低下したとき等においてクライアントにおける画像の表示に遅れが発生したり、動画の表示が停止してしたりする可能性がある。
【０００５】
本発明は、画像の表示の遅れや停止を抑制することができる画像処理装置及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の１つの態様は、画像の描画処理により各フレームの画像データを生成する描画処理手段と、所定の表示周期で前記画像データに基づいて各フレームの画像を実際に表示する表示処理手段と、を備える画像処理装置であって、前記描画処理手段は、前記表示周期より短い時間で前記画像データの１つのフレームの描画処理が終了した場合、当該フレームの描画処理開始時刻から前記表示周期より短い時間経過後に次のフレームの描画処理を開始することを特徴とする画像処理装置である。
【０００７】
本発明の別の態様は、コンピュータを、画像の描画処理により各フレームの画像データを生成する描画処理手段と、所定の表示周期で前記画像データに基づいて各フレームの画像を実際に表示する表示処理手段と、として機能させる画像処理プログラムであって、前記描画処理手段は、前記表示周期より短い時間で前記画像データの１つのフレームの描画処理が終了した場合、当該フレームの描画処理開始時刻から前記表示周期より短い時間経過後に次のフレームの描画処理を開始することを特徴とする画像処理プログラムである。
【０００８】
ここで、前記描画処理手段は、入力された時刻データが前記表示周期に基づいて定められた各フレームの描画処理開始基準時刻を経過したときに各フレームの画像の描画処理を開始するものであり、前記表示周期より短い時間で前記画像データの１つのフレームの描画処理が終了した場合、当該フレームの描画処理開始時刻から前記表示周期より短い時間経過後に次のフレームの描画処理開始基準時刻に相当する時刻を前記時刻データとして入力することによって次のフレームの描画処理を開始することが好適である。
【０００９】
また、ユーザからの入力によって既に描画処理により生成された前記画像データに変更が必要な場合、描画処理済みの前記画像データを破棄すると共に、前記描画処理手段において前記ユーザからの入力に応じて前記画像データを再生成することが好適である。
【００１０】
また、前記描画処理手段は、フレームの画像データの描画処理開始時刻と当該フレームの表示開始時刻との差が基準時間差を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせることが好適である。
【００１１】
また、前記描画処理手段によって生成された前記画像データをキャッシュする記憶手段を備え、前記描画処理手段は、前記記憶手段にキャッシュされている前記画像データのフレーム数が所定の基準フレーム数を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせることが好適である。
【発明の効果】
【００１２】
本発明によれば、画像の表示の遅れや停止を抑制することができる画像処理装置及び画像処理プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態における画像処理装置の構成を示す図である。
【図２】本発明の実施の形態における描画処理手段及び表示処理手段の構成を示す図である。
【図３】本発明の実施の形態における画像描画処理及び画像表示処理のタイミングを説明する図である。
【図４】画像描画処理の遅れを説明する図である。
【図５】本発明の実施の形態における画像描画処理及び画像表示処理のタイミングを説明する図である。
【図６】本発明の実施の形態における画像描画処理のロールバックを説明する図である。
【図７】本発明の実施の形態における画像描画処理の別例を説明する図である。
【発明を実施するための形態】
【００１４】
本発明の実施の形態における画像処理装置１００は、図１に示すように、処理部１０、記憶部１２、入力部１４及び出力部１６を含んで構成される。画像処理装置１００は、一般的なコンピュータ、携帯電話、スマートフォン、タブレット端末等の基本構成を備えている。
【００１５】
処理部１０は、ＣＰＵ等の演算処理を行う手段を含む。処理部１０は、記憶部１２に記憶されている画像処理プログラムを実行することによって、表示対象となる画像の描画及び表示処理を行う。記憶部１２は、半導体メモリやメモリカード等の記憶手段を含む。記憶部１２は、処理部１０とアクセス可能に接続され、画像処理プログラム、画像処理装置１００で処理されるデータ及びデータベース等の情報を記憶する。本実施の形態では、画像処理プログラムは、所定の周期毎に画像を表示できるように画像の描画処理及び表示処理を行うためのプログラムである。入力部１４は、画像処理装置１００に情報を入力する手段を含む。入力部１４は、例えば、ユーザからの入力を受けるタッチパネルやボタン等を備える。出力部１６は、ユーザから入力情報を受け付けるためのユーザインターフェース画面（ＵＩ）等や画像処理装置１００での処理結果を出力する手段を含む。出力部１６は、例えば、ユーザに対して画像を呈示するディスプレイを備える。
【００１６】
以下、本実施の形態における画像処理について説明する。画像処理は、画像処理装置１００によって記憶部１２に記憶されている画像処理プログラムを実行することによって実現される。なお、各処理は、画像処理装置１００における手段として実現される。
【００１７】
まず、画像処理装置１００における画像描画処理について説明する。画像描画処理は、画像や画面の内容を指示するデータの集まり(数値や数式のパラメータ、描画ルールを記述したものなど)を処理して、具体的に出力部１６に表示するための画素の集合を得る処理である。すなわち、画像処理装置１００における描画処理手段（レンダラー：ｒｅｎｄｅｒｅｒ）２０に相当する。
【００１８】
描画処理手段２０は、画像データを生成するために必要な描画用データ（画像に含める背景・キャラクタ等のパーツの画素データ、各パーツの描画位置・角度等）を受けて、出力部１６において表示される画像データを１フレームずつ生成（描画）する。描画用データは、画像処理装置１００の記憶部１２又は外部から入力される。描画処理手段２０による描画処理は一般的な描画処理技術を適用すればよい。描画処理手段２０において生成（描画）された画像データは、記憶部１２の画像バッファ領域に一時的に記憶される。
【００１９】
描画処理手段２０は、時刻データの入力を受けて、図３に示すように、時刻データが描画開始基準時刻を経過すると入力された描画用データを用いて１フレームの画像データの描画を開始する。ここで、「経過する」とは、時刻データが描画開始基準時刻を超える場合のみならず、時刻データと描画開始基準時刻とが一致、すなわち同時刻となる場合も含む。
【００２０】
描画開始基準時刻は、後述する描画表示処理における表示周期に同期して設定される。例えば、１秒間に６０フレームの画像を表示する場合、表示周期は１／６０ｓ≒１６．７ｍｓとなる。この場合、描画処理手段２０は、時刻データが１６．７ｍｓ、３３．３ｍｓ、５０ｍｓ、６６．７ｍｓ・・・を超えた時点で画像データの描画を開始する。
【００２１】
例えば、時刻データとして実時刻（例えば、画像処理装置１００に内蔵された時計等から出力される実際の時刻）が入力されると、描画処理手段２０は、表示周期に同期して画像データを生成（描画）する。この場合、図４に示すように、実時刻が１６．７ｍｓ、３３．３ｍｓ、５０ｍｓ、６６．７ｍｓ・・・を経過する毎に１／６０ｓの周期で画像データが１フレーム毎に順に生成される。上記のようにする理由は、電子ゲーム等の画像描画処理において、ユーザの入力を受け付け、それを反映した画面を生成するために都合が良いからである。
【００２２】
表示処理手段２２は、記憶部１２の画像バッファ領域から描画処理手段２０において描画された画像データを記憶された順に読み出し、読み出された画像データに基づいて出力部１６に画像を表示させる処理を行う。
【００２３】
表示処理手段２２は、時刻データの入力を受けて、図３に示すように、時刻データが表示開始基準時刻を経過すると読み出された描画用データに基づいて１フレームの画像の表示処理を開始する。
【００２４】
表示開始基準時刻は、表示周期に同期して設定される。例えば、１秒間に６０フレームの画像を表示する場合、表示周期は１／６０ｓ≒１６．７ｍｓとなる。この場合、表示処理手段２２は、時刻データが１６．７ｍｓ、３３．３ｍｓ、５０ｍｓ、６６．７ｍｓ・・・を超えた時点で画像の表示を開始する。
【００２５】
例えば、時刻データとして実時刻（例えば、画像処理装置１００に内蔵された時計等から出力される実際の時刻）が入力されると、表示処理手段２２は、表示周期に同期して画像データを生成（描画）する。この場合、実時刻が１６．７ｍｓ、３３．３ｍｓ、５０ｍｓ、６６．７ｍｓ・・・を経過する毎に１／６０ｓの周期で記憶部１２の画像バッファ領域に記憶されている画像データを順に１フレームずつ読み出し、画像データに基づいて表示を行う。
【００２６】
ここで、図４に示したように、描画処理手段２０へ時刻データとして実時刻を入力した場合、画像データの描画処理に表示周期より長い時間が掛ってしまうと次の表示開始基準時刻からの画像の表示処理に対する画像データの描画が間に合わなくなってしまうおそれがある。例えば、図４の例では、描画開始基準時刻が５０ｍｓから画像Ｄの描画処理が開始されているが、画像Ｄの描画処理に表示周期より長い時間が掛っており、次の描画開始基準時刻の６６．７ｍｓを超えている。
【００２７】
本実施の形態では、表示周期より短い時間で画像データの描画処理が終了した場合、そのフレームの描画処理開始時刻から表示周期より短い時間経過後に次のフレームの描画処理を開始させる。ここでは、表示周期より短い時間で画像データの１つのフレームの描画処理が終了した場合、そのフレームの描画処理開始時刻から表示周期より短い時間経過後に次のフレームの描画処理開始基準時刻に相当する時刻データを描画処理手段２０に入力する。これによって、描画処理手段２０は、実時刻とは異なる次のフレームの描画処理開始基準時刻に相当する見かけ上の時刻を時刻データとして受けて、次のフレームの描画処理を開始する。
【００２８】
例えば、図５に示すように、時刻０において最初のフレームの描画処理が開始され、時刻０から表示周期（１／６０ｓ＝１６．７ｍｓ）以内に描画処理が終了した場合、実時刻が１６．７ｍｓとなる前に次のフレームの描画処理開始基準時刻に相当する見かけ上の時刻（１６．７ｍｓ）を時刻データとして描画処理手段２０に入力する。描画処理手段２０は、入力された見かけ上の時刻データが描画処理開始基準時刻であるので、直ちに次のフレームの画像データの描画処理を開始する。描画された画像データは、記憶部１２の画像バッファ領域に一時的に記憶される。
【００２９】
このように、表示周期よりも短い時間間隔で画像データの描画処理を行うことによって、表示処理に対して画像データの描画処理に余裕が生じ、画像の表示の遅れやフレームの飛び等を防ぐことができる。
【００３０】
また、電子ゲーム等の開発時において、電子ゲームでの画像の表示のテストを短時間で行う際に描画処理及び表示処理を実際のゲームの実行時に比べて早く行うようにしてもよい。
【００３１】
なお、電子ゲーム等の画像描画処理では、ユーザからの入力に応じて画像の表示が変更されることがあり、既に描画処理により生成されてキャッシュされている画像データに入力に応じた変更を行うことが必要となる場合がある。例えば、図６に示すように、先回りして描画され、記憶部１２の画像バッファ領域にまだ表示されていない画像データが蓄積されているとき、ユーザからの入力等によって蓄積されている画像データに変更を加えなければならなくなる場合がある。このような場合、描画処理済みの画像データを記憶部１２の画像バッファ領域から破棄すると共に、描画処理手段２０においてユーザからの入力に応じて画像データを再生成することが好適である。このとき、描画処理手段２０には、ユーザから入力に応じて変更された描画用データを入力するとともに、次のフレームの描画処理開始基準時刻を時刻データとして入力する。これにより、ユーザからの入力が反映された画像データの描画処理が行われる。
【００３２】
また、トランザクションに応じて、描画処理の開始時刻の制御を行ってもよい。記憶部１２の画像バッファ領域にキャッシュされた画像データが多くなると、表示される前にユーザからの入力等があった場合にロールバックが必要となる画像データも増加するおそれがある。そこで、描画処理手段２０は、フレームの画像データの描画処理開始時刻と当該フレームの表示開始時刻との差が基準時間差を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせてもよい。
【００３３】
例えば、基準時間差は、表示周期と同じ時間に設定することが好適である。この場合、図７に示すように、フレームの画像データの描画処理開始時刻と当該フレームの表示開始時刻との差が表示周期を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせる。図７では、画像Ｂの描画処理後、画像Ｂの描画処理開始時刻と表示開始時刻との差が表示周期（１６．７ｍｓ）を超えているので、次の画像Ｃの描画処理の開始を遅らせている。このとき、例えば、次の画像データ（次のフレーム）の描画開始時刻を次の描画処理開始基準時刻（３３．３ｍｓ）まで遅らせる。
【００３４】
また、描画処理手段２０は、画像バッファ領域にキャッシュされている画像データのフレーム数が所定の基準フレーム数を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせてもよい。
【００３５】
例えば、所定の基準フレーム数は、画像バッファ領域として使用可能なメモリ量を、１フレームをキャッシュするのに必要なメモリ量で割ることで求められる。この場合、画像バッファ領域にキャッシュされている画像データのフレーム数が基準フレーム数を超えた場合、次のフレームの描画開始時間を所定時間だけ遅らせる。このとき、例えば、次のフレームの描画開始時刻を次の描画処理開始基準時刻まで遅らせる。
【００３６】
なお、本実施の形態における各処理は単一の装置で実行してもよいし、複数の装置で分担して実行してもよい。例えば、サーバ及びクライアントで処理を分担してもよい。
【符号の説明】
【００３７】
１０  処理部、１２  記憶部、１４  入力部、１６  出力部、２０  描画処理手段、２２  表示処理手段、１００  画像処理装置。
【要約】
【課題】画像の表示の遅れや停止を抑制することができる画像処理装置を提供する。
【解決手段】画像の描画処理により各フレームの画像データを生成する描画処理手段２０と、所定の表示周期で画像データに基づいて各フレームの画像を実際に表示する表示処理手段２２と、を備え、描画処理手段２０は、表示周期より短い時間で画像データの１つのフレームの描画処理が終了した場合、当該フレームの描画処理開始時刻から表示周期より短い時間経過後に次のフレームの描画処理を開始する。
【選択図】図２【図１】
0005635672.tif 000002
【図２】
0005635672.tif 000003
【図３】
0005635672.tif 000004
【図４】
0005635672.tif 000005
【図５】
0005635672.tif 000006
【図６】
0005635672.tif 000007
【図７】
0005635672.tif 000008