図面 (/)

技術 画像処理装置及び画像処理プログラム

出願人 株式会社ディー・エヌ・エー
発明者 坊野博典
出願日 2014年1月24日 (6年3ヶ月経過) 出願番号 2014-011503
公開日 2015年3月12日 (5年1ヶ月経過) 公開番号 2015-046145
状態 特許登録済
技術分野 イメージ生成 イメージ処理・作成 電子ゲーム機
主要キーワード 描画処理量 描画処理能力 コール数 切り上げる 電子ゲーム レイヤー毎 実行数 マジックポイント
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年3月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (6)

課題

レイヤーを重ね合わせた画像を効果的に描画する技術を提供する。

解決手段

画像表示の対象となるオブジェクトを複数のレイヤーのいずれかに割り当て、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行う際に、レイヤー毎にオブジェクトの描画命令リストを含むオブジェクトデータベースを参照して、リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更する。

概要

背景

コンピュータスマートフォンタブレット等に設けられたディスプレイ上に画像を表示させる際に、複数のレイヤーを重ね合わせて1つの画像を構成して表示させる方法が知られている。すなわち、各レイヤーは透明フィルムのような画像領域であり、各レイヤーにおいて不透明なオブジェクトの画像領域以外の透明な画像領域では重ね合わされた下のレイヤーが透け見えるように画像合成される。また、各レイヤーは他のレイヤーに対して相対位置を変えて重ね合わせることができ、各レイヤーをスライドさせるように動かすことによって各レイヤーに描画されたオブジェクトの画像を希望の位置に配置することができる。また、レイヤーの不透明度を変更して描画されたオブジェクトの画像を部分的に透明にすることもできる。

例えば、電子ゲームでは、背景画像が描画されたレイヤー、ゲームに登場するキャラクタの画像が描画されたキャラクタレイヤー、味方や敵のキャラクタの状態等を示す画像が描画されたHUDレイヤー等を重ね合わせて1つの画像を構成してディスプレイ上に表示させる。

このような画像のレンダリングを行う際に、CPUへの負担を軽減するために、操作入力のタイミングの指標となる第1領域をその他の第2領域よりも高いフレームレートでレンダリングする技術が開示されている(特許文献1)。

概要

レイヤーを重ね合わせた画像を効果的に描画する技術を提供する。画像表示の対象となるオブジェクトを複数のレイヤーのいずれかに割り当て、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行う際に、レイヤー毎にオブジェクトの描画命令リストを含むオブジェクトデータベースを参照して、リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更する。

目的

そこで、様々な場面に適用可能であり、限られたAPIのコール数での処理においてスムーズな映像表示を行うことを可能とする技術が望まれている

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

画像表示の対象となるオブジェクトが複数のレイヤーのいずれかに割り当てられ、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行う画像処理装置であって、レイヤー毎にオブジェクトの描画命令リストを含むオブジェクトデータベースを参照して、前記リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更することを特徴とする画像処理装置。

請求項2

請求項1に記載の画像処理装置であって、レイヤーに優先度が設定されており、前記優先度が低いレイヤーより前記優先度が高いレイヤーに対してオブジェクトの描画処理を優先的に行うことを特徴とする画像処理装置。

請求項3

請求項1又は2に記載の画像処理装置であって、1フレームの画像描画において実行可能な描画命令数を複数のレイヤーに対して振り分け、振り分けられた描画命令数に応じて複数のレイヤーに割り当てられたオブジェクトの描画処理を行うことを特徴とする画像処理装置。

請求項4

請求項1〜3のいずれか1項に記載の画像処理装置であって、描画処理対象となるレイヤーに対してオブジェクトデータベースのリストに登録されている描画命令の数を、1フレームの描画処理において残されている実行可能な描画命令の数で除算して数値Aを算出し、1フレームの描画処理において実行可能な描画命令の数を数値Aで除算して数値Bを算出し、前記描画処理対象となるレイヤーに対して描画命令を数値Bだけ実行することを特徴とする画像処理装置。

請求項5

請求項1〜4のいずれか1項に記載の画像処理装置であって、前記オブジェクトデータベースのリストに既に登録されている描画命令の対象であるオブジェクトに対して追加の描画命令が出された場合、前記既に登録されている描画命令と前記追加の描画命令とを足し合わせた描画命令に書き替えることを特徴とする画像処理装置。

請求項6

請求項1〜5のいずれか1項に記載の画像処理装置であって、1フレームの画像描画において実行可能な描画命令数を実測し、その実測値に応じて1フレームの画像描画において実行可能な描画命令数を複数のレイヤーに対して振り分けることを特徴とする画像処理装置。

請求項7

画像表示の対象となるオブジェクトが複数のレイヤーのいずれかに割り当てられ、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行うための画像処理プログラムであって、レイヤー毎にオブジェクトの描画命令のリストを含むオブジェクトデータベースを記憶する記憶部を備えるコンピュータを、前記オブジェクトデータベースを参照して、前記リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更する手段として機能させることを特徴とする画像処理プログラム。

技術分野

0001

本発明は、複数のレイヤーを重ねて画像表示する画像処理装置及び画像処理プログラムに関する。

背景技術

0002

コンピュータスマートフォンタブレット等に設けられたディスプレイ上に画像を表示させる際に、複数のレイヤーを重ね合わせて1つの画像を構成して表示させる方法が知られている。すなわち、各レイヤーは透明フィルムのような画像領域であり、各レイヤーにおいて不透明なオブジェクトの画像領域以外の透明な画像領域では重ね合わされた下のレイヤーが透け見えるように画像合成される。また、各レイヤーは他のレイヤーに対して相対位置を変えて重ね合わせることができ、各レイヤーをスライドさせるように動かすことによって各レイヤーに描画されたオブジェクトの画像を希望の位置に配置することができる。また、レイヤーの不透明度を変更して描画されたオブジェクトの画像を部分的に透明にすることもできる。

0003

例えば、電子ゲームでは、背景画像が描画されたレイヤー、ゲームに登場するキャラクタの画像が描画されたキャラクタレイヤー、味方や敵のキャラクタの状態等を示す画像が描画されたHUDレイヤー等を重ね合わせて1つの画像を構成してディスプレイ上に表示させる。

0004

このような画像のレンダリングを行う際に、CPUへの負担を軽減するために、操作入力のタイミングの指標となる第1領域をその他の第2領域よりも高いフレームレートでレンダリングする技術が開示されている(特許文献1)。

先行技術

0005

特許第4948217号公報

発明が解決しようとする課題

0006

ところで、高いフレームレートでレンダリングを行う領域が固定されていると適用される場合が限定的である。

0007

また、レイヤー毎にオブジェクトを描画するためのAPIを呼び出して処理を行う場合、コンピュータの性能等によって単位時間当たりに処理可能なAPIのコール数が限定されていると、各レイヤーについて均等にAPIをコールするとフレームがスムーズに表示されなくなるおそれがある。

0008

そこで、様々な場面に適用可能であり、限られたAPIのコール数での処理においてスムーズな映像表示を行うことを可能とする技術が望まれている。

課題を解決するための手段

0009

本発明の1つの態様は、画像表示の対象となるオブジェクトが複数のレイヤーのいずれかに割り当てられ、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行う画像処理装置であって、レイヤー毎にオブジェクトの描画命令リストを含むオブジェクトデータベースを参照して、前記リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更することを特徴とする画像処理装置である。

0010

また、本発明の別の態様は、画像表示の対象となるオブジェクトが複数のレイヤーのいずれかに割り当てられ、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行うための画像処理プログラムであって、レイヤー毎にオブジェクトの描画命令のリストを含むオブジェクトデータベースを記憶する記憶部を備えるコンピュータを、前記オブジェクトデータベースを参照して、前記リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更する手段として機能させることを特徴とする画像処理プログラムである。

0011

ここで、レイヤーに優先度が設定されており、前記優先度が低いレイヤーより前記優先度が高いレイヤーに対してオブジェクトの描画処理を優先的に行うことが好適である。

0012

また、1フレームの画像描画において実行可能な描画命令数を複数のレイヤーに対して振り分け、振り分けられた描画命令数に応じて複数のレイヤーに割り当てられたオブジェクトの描画処理を行うことが好適である。

0013

また、描画処理対象となるレイヤーに対してオブジェクトデータベースのリストに登録されている描画命令の数を、1フレームの描画処理において残されている実行可能な描画命令の数で除算して数値Aを算出し、1フレームの描画処理において実行可能な描画命令の数を数値Aで除算して数値Bを算出し、前記描画処理対象となるレイヤーに対して描画命令を数値Bだけ実行することが好適である。

0014

また、前記オブジェクトデータベースのリストに既に登録されている描画命令の対象であるオブジェクトに対して追加の描画命令が出された場合、前記既に登録されている描画命令と前記追加の描画命令とを足し合わせた描画命令に書き替えることが好適である。

0015

また、1フレームの画像描画において実行可能な描画命令数を実測し、その実測値に応じて1フレームの画像描画において実行可能な描画命令数を複数のレイヤーに対して振り分けることが好適である。

発明の効果

0016

本発明によれば、複数のオブジェクトをレイヤーに割り当て、複数のレイヤーを重ね合わせて表示させる画像処理において、スムーズな画像表示を実現することができる。

図面の簡単な説明

0017

本発明の実施の形態における画像処理装置の構成を示す図である。
本発明の実施の形態における画像の構成を示す図である。
本発明の実施の形態におけるオブジェクトデータベースの登録例を示す図である。
本発明の実施の形態における画像処理のフローチャートである。
本発明の実施の形態におけるオブジェクトデータベースの登録例を示す図である。

実施例

0018

本発明の実施の形態における画像処理装置100は、図1に示すように、処理部10、記憶部12、入力部14及び出力部16を含んで構成される。すなわち、画像処理装置100は、コンピュータの基本構成を備えており、一般的なPC、スマートフォン、タブレット、携帯電話機等とすることができる。また、画像処理装置100は、その機能の一部をインターネット等の通信手段104によって接続された外部サーバ102によって実現してもよい。

0019

処理部10は、CPU等の演算処理を行う手段を含む。処理部10は、記憶部12に記憶されている画像処理プログラムを実行することによって、本実施の形態における画像処理を実現する。記憶部12は、半導体メモリハードディスク等の記憶装手段を含む。記憶部12は、処理部10とアクセス可能に接続され、画像処理プログラム、画像処理に供される各オブジェクトの画像データ、オブジェクトの描画命令のリストを含むオブジェクトデータベース等を記憶する。入力部14は、画像処理装置100に情報を入力する手段を含む。入力部14は、例えば、ユーザからの入力を受けるタッチパネルキーボードを備える。また、入力部14は、画像処理装置100の外部から情報を受け取るネットワークインターフェース等を含み、画像処理プログラム、画像処理に供される各オブジェクトの画像データを受信する。出力部16は、画像処理装置100で処理された情報を出力する手段を含む。出力部16は、例えば、ユーザに対して画像を呈示するディスプレイを備える。また、画像処理装置100の外部へ情報を送信するネットワークインターフェース等を含み、外部サーバ102等に情報を送信する。

0020

本実施の形態では、画像処理装置100によって、3つのレイヤーに割り当てられた複数のオブジェクトの描画(レンダリング)処理について説明する。ただし、レイヤーの数やオブジェクトの数はこれに限定されるものではない。

0021

図2は、画像処理装置100における画像22の構成例を示す図である。画像処理装置100において出力部16に表示される画像22は、複数のレイヤー20(本実施の形態では3つのレイヤーA(20a),レイヤーB(20b),レイヤーC(20c))を重ね合わせて合成した合成画像である。

0022

各レイヤー20には、単数又は複数のオブジェクトが割り当てられる。オブジェクトは、表示対象となる画像の属性を示す概念である。電子ゲームを例にとると、オブジェクトは、例えば、背景、キャラクタ、HUD等の属性値を有する。さらに、HUDの属性が付されたオブジェクトは、ヒットポイント表示部、マジックポイント表示部等のHUDとして1つのレイヤーA(20a)に割り当てられる。また、キャラクタの属性値が付されたオブジェクトは、味方キャラクタ敵キャラクタ等のゲームに登場するキャラクタとして1つのレイヤーB(20b)に割り当てられる。また、背景の属性値が付されたオブジェクトは、山、樹木、道、家等の背景として1つのレイヤーC(20c)に割り当てられる。

0023

各レイヤー20は、それぞれ1つの画像であり、レイヤー20毎に割り当てられたオブジェクトの画像データが描写される。

0024

例えば、図2の例では、レイヤーA(20a)にはオブジェクトA1〜A6が割り当てられ、オブジェクトA1〜A6の画像がレイヤーA(20a)に描画(レンダリング)されている。また、レイヤーB(20b)にはオブジェクトB1〜B3が割り当てられ、オブジェクトB1〜B3の画像がレイヤーB(20b)に描画(レンダリング)されている。また、レイヤーC(20c)にはオブジェクトC1〜C4が割り当てられ、オブジェクトC1〜C4の画像がレイヤーC(20c)に描画(レンダリング)されている。

0025

なお、図2の例では、説明を分かり易くするために、各レイヤー20に割り当てられるオブジェクトの数を少なくしているが、実際には各レイヤー20にはより多くのオブジェクトが割り当てられる。

0026

各レイヤー20には、レイヤー20を重ね合わせる際の優先度が設定される。複数のレイヤー20を重ね合わせて合成画像を構成する際に、優先度が高いレイヤー20を低いレイヤー20より上に重ね合わせる。すなわち、重ね合わせた複数のレイヤー20に描画されたオブジェクトの画像同士が重なった場合、より優先度の高いレイヤー20の画像を優先して合成画像が構成される。また、各レイヤー20においてオブジェクトの画像データが描写されていない領域は透明領域とされる。これにより、重ね合わせた複数のレイヤー20に描画された画像同士が重ならなかった場合、下のレイヤー20に描画されている画像が上のレイヤー20を透過して見えるように合成画像が構成される。

0027

図2の例では、レイヤーA(20a)、レイヤーB(20b)、レイヤーC(20c)の順に優先度が高く設定されている。これらの3つのレイヤーA(20a)、レイヤーB(20b)、レイヤーC(20c)を重ね合わせると合成画像22となる。すなわち、レイヤーA(20a)に描画された画像の領域にレイヤーB(20b),C(20c)に描画された画像が重なったときには、レイヤーA(20a)に描画された画像が優先的に表示されるように合成される。また、レイヤーB(20b)に描画された画像の領域にレイヤーC(20c)に描画された画像が重なったときには、レイヤーB(20b)に描画された画像が優先的に表示されるように合成される。

0028

図3は、記憶部12に記憶されるオブジェクトデータベースの登録例を示す図である。オブジェクトデータベースは、画像を構成する複数のレイヤーの各々について登録される。レイヤー毎に、表示対象となるオブジェクトが割り当てられて登録される。例えば、図
2の例では、レイヤーA(20a)には、オブジェクトA1〜A5が割り当てられて登録されている。また、レイヤーB(20b)には、オブジェクトB1〜B3が割り当てられて登録され、レイヤーC(20c)には、オブジェクトC1〜C4が割り当てられて登録されている。

0029

処理部10は、電子ゲーム等のプログラムに含まれる画像処理プログラムを実行し、ゲームの進行等に伴って各レイヤーに割り当てられたオブジェクトの描画処理を行う。このとき、レイヤー毎に各オブジェクトを描画するための描画処理を指示するための描画命令、例えば描画処理を行うAPIをコールする描画命令、がオブジェクトデータベースのリストに登録される。

0030

図3の例では、レイヤーA(20a)に対して、レイヤーAに割り付けられているオブジェクトA1に含まれる数値を書き替える処理を行う描画命令が出されており、その描画命令がリストに登録されている。また、レイヤーB(20b)に対して、レイヤーBに割り付けられているオブジェクトB1を右へ2ドット及び上へ3ドットほど移動させる処理を行う描画命令1が登録されている。レイヤーBに対しては、描画命令2〜10も同様に登録されている。さらに、レイヤーC(20c)に対して、レイヤーCに割り付けられているオブジェクトC1を右へ3ドット及び上へ3ドットほど移動させる処理を行う描画命令1が登録されている。レイヤーCに対しては、描画命令2〜100も同様に登録されている。

0031

ここで、1秒当たり600の描画処理(APIのコール)が可能なコンピュータによって1秒当たり60フレームの描画を行う場合についての処理を説明する。この場合、1フレーム当たり10の描画命令について処理を行うことが可能である。

0032

ところで、図3の例では、オブジェクトデータベースには、レイヤーA(20a)に対して1の描画命令、レイヤーB(20b)に対して10の描画命令、レイヤーC(20c)に対して100の描画命令が登録されており、その合計は111である。このように、総描画命令数が1フレーム当たりに処理可能な描画命令数(ここでは10)を超える場合、1フレーム内にてすべての描画命令を処理することができない。

0033

本実施の形態では、レイヤーの優先度に応じて各レイヤーでの描画処理量を異ならせ、スムーズな映像が表示されるように描画処理を行う。具体的には、図4に示すフローチャートに沿って処理を行う。

0034

テップS10では、最も優先度の高いレイヤーに対して登録されている描画命令の処理を行う。図3のオブジェクトデータベースのリストの例では、最も優先度が高いレイヤーA(20a)には1の描画命令が登録されているので、処理部10はこの描画命令の描画処理を実行する。これにより、オブジェクトデータベースのレイヤーAに関連付けて登録されている残りの描画命令数は0となる。

0035

ステップS12では、最も優先度の高いレイヤーよりも優先度が低いレイヤーに対して登録されている描画命令の処理を行う。まずは、最も優先度の高いレイヤーの次に優先度の高いレイヤー、すなわち2番目に優先度が高いレイヤーに対して処理する描画命令の数を決定する。

0036

まず、処理対象となるレイヤーについてオブジェクトデータベースに登録されている描画命令数を現在処理中のフレームに対して残されている描画命令数で除算した数値Aを算出する。図3のオブジェクトデータベースの場合、2番目に優先度が高いレイヤーB(20b)について10の描画命令が登録されており、現在処理中のフレームに対しては9の描画命令が残されている。したがって、A=10/9=2(小数点以下は切り上げる)となる。そして、算出された数値Aにより1フレーム当たり処理可能な描画命令数(ここでは10)を除算した数値Bを当該レイヤーBで処理する描画命令数とする。したがって、B=10/2=5がレイヤーBに対して処理する描画命令数となる。そこで、処理部10は、レイヤーBに対してオブジェクトデータベースのリストに登録されている描画命令のうちより優先順位の高い5つの描画命令を実行する。描画命令の優先順位は、例えば、オブジェクトデータベースのリストにより古くから登録されている描画命令をより優先順位が高い描画命令として決定すればよい。これにより、オブジェクトデータベースのレイヤーAに関連付けて登録されている残りの描画命令数は5となる。

0037

残りの処理可能な描画命令数は4となるので、その総てを最も優先度が低いレイヤーCの処理に割り当てる。処理部10は、レイヤーCに対してオブジェクトデータベースのリストに登録されている描画命令のうちより優先順位の高い4つの描画命令を実行する。これにより、オブジェクトデータベースのレイヤーCに関連付けて登録されている残りの描画命令数は96となる。

0038

なお、レイヤーCよりも低い優先順位のレイヤーが存在する場合には、レイヤーCについてもレイヤーBと同様に処理を行う。すなわち、レイヤーA及びBの描画処理によって、現在処理中のフレームに対して処理可能な残りの描画命令数は4であるので、数値A=100/4=25及び数値B=10/25=1(小数点以下は切り上げ)となる。したがって、処理部10は、レイヤーCに対してオブジェクトデータベースのリストに登録されている描画命令のうちより優先順位の高い1つの描画命令を実行する。このような処理を最も優先度が低いレイヤーまで繰り返す。

0039

ここまでの処理により、1秒間に60回書き替えられるフレームのうち1回目のフレームの書き替えが完了する。そして、レイヤーAに対する残りの描画命令数は0、レイヤーBに対する残りの描画命令数は5、レイヤーCに対する残りの描画命令数は96となる。

0040

次に、2回目以降のフレームの描画処理に入る。なお、1つのフレームの描画処理の途中や複数のフレームの描画処理の間に描画処理以外の処理を行ってもよい。ここでは、2回目以降のフレームの描画処理に入る前に、レイヤーAに対して新たに1つの描画命令が加えられ、レイヤーAに対する残りの描画命令数は1、レイヤーBに対する残りの描画命令数は5、レイヤーCに対する残りの描画命令数は96となった場合について説明する。

0041

ステップS14では、前のフレームまでの画像の描画処理において各レイヤーに対して行った描画命令の平均値移動平均)を用いて各レイヤーに対する描画処理を行う。2回目のフレームの描画では、1回目のフレームの描画処理における各レイヤーに対する描画処理数がそのまま適用される。すなわち、レイヤーAに対しては1つの描画命令が実行され、レイヤーBに対しては5つの描画命令が実行され、レイヤーCに対しては4つの描画命令が実行される。ここまでの処理により、1秒間に60回書き替えられるフレームのうち2回目のフレームの書き替えが完了する。そして、レイヤーAに対する残りの描画命令数は0、レイヤーBに対する残りの描画命令数は0、レイヤーCに対する残りの描画命令数は92となる。

0042

次に、ステップS14に処理は戻され、3回目以降のフレームの描画処理に入る。ここで、2回目以降のフレームの描画処理に入る前に、レイヤーAに対して新たに1つの描画命令が加えられ、レイヤーAに対する残りの描画命令数は1、レイヤーBに対する残りの描画命令数は0、レイヤーCに対する残りの描画命令数は92となった場合について説明する。

0043

3回目のフレームの描画では、1回目及び2回目のフレームの描画処理における各レイヤーに対する描画処理数の平均値が適用される。すなわち、レイヤーAに対しては1つの描画命令が実行される。レイヤーBに対しては5つの描画命令が適用される。しかしながら、オブジェクトデータベースにはレイヤーBに対する描画命令が残っていないので、このような場合には次の優先度のレイヤーに回される。したがって、レイヤーCに対しては9つの描画命令が実行される。ここまでの処理により、1秒間に60回書き替えられるフレームのうち3回目のフレームの書き替えが完了する。そして、レイヤーAに対する残りの描画命令数は0、レイヤーBに対する残りの描画命令数は0、レイヤーCに対する残りの描画命令数は83となる。

0044

なお、例えば、レイヤーBに対して描画命令が3つ追加されていた場合には、レイヤーBの3つの描画命令を実行した後、余った2つの描画命令を加えてレイヤーCに対しては6つの描画命令を実行する。

0045

4回目以降のフレームの描画においても同様にそれまでのフレームの描画処理における各レイヤーに対する描画処理数の平均値を適用して処理を行う。このとき、各レイヤーに対して描画命令が追加された場合には、優先度の高いレイヤーに対して過去の描画処理数の平均値だけ描画命令を実行し、実行できる描画命令の数が余った場合には次の優先度のレイヤーに割り当てる処理を行う。

0046

本実施の形態によれば、複数のオブジェクトをレイヤーに割り当て、複数のレイヤーを重ね合わせて表示させる画像処理において、各レイヤーの描画の優先度に応じて各レイヤーの処理量に傾斜を持たせてオブジェクトの描画処理を行う。一方で、各フレームごとに、リストに描画命令がある全ての(あるいはできるだけ多くの)レイヤーについて、描画命令が実行される。これによって、単位時間当たりに処理可能なAPIのコール数が限定されている場合であってもスムーズな映像を表示することができる。

0047

これは、ユーザにみせたいオブジェクトがより多く含まれるレイヤーの優先度が高く設定されているという傾向を利用し、ユーザにとって表示される映像がスムーズに表示されているようにみせるものである。1フレームの描画処理において優先度が高いレイヤーに含まれるオブジェクトの描画数をより優先度の低いレイヤーに含まれるオブジェクトの描画数より多くすることによってユーザには映像がスムーズにみえるのである。

0048

すなわち、優先度が高いレイヤーにはユーザからの注目度が高いオブジェクトが割り当てられており、このようなオブジェクトの描画を優先的に実行することによって、ユーザには映像がスムーズに表示されている印象を与えることができる。一方で、1フレームの描画処理において、優先度の高いレイヤーのみならず、優先度が低いレイヤーに割り当てられたオブジェクトも描画処理される。したがって、ユーザにはフレーム全体が常に少しずつ動いているような印象を与えることができるため、描画処理の遅れが目立ちにくい。このとき、優先度の低いレイヤーのオブジェクトは1回のフレームの描画処理ではすべて更新されないが、優先度の低いレイヤーは背景画像等のユーザにとって注目度の低いオブジェクトを含んでいるのですべてが一度に更新されなくても映像がスムーズに表示されているようにみえる。

0049

これにより、処理能力が不十分なコンピュータ(携帯端末等)においても、オブジェクトの描画遅れが目立たず、全体として自然な動きをする映像として表示することができる。

0050

<変形例1>
各レイヤーに対するオブジェクトの描画命令は、オブジェクトデータベースにリストとして管理されている。新しく描画命令が追加された場合、原則としてリストの最後にその描画命令が追加される。

0051

本変形例では、オブジェクトデータベースのリストに既に登録されている描画命令の対象であるオブジェクトに対してさらに描画命令が出された場合には、そのオブジェクトに対する描画命令の内容を足し合わせる。

0052

例えば、図5に示すように、レイヤーBに割り当てられたオブジェクトB1に対して既に右へ3ドット及び上へ3ドットほど移動させる描画命令が登録されているときに、その描画命令が実行される前にさらにオブジェクトB1に追加の描画命令として右へ2ドット及び下へ1ドットほど移動させる描画命令が追加された場合、既に登録されている描画命令の内容を右へ5ドット及び上へ2ドットほど移動させる処理に書き替える。

0053

このような描画処理を書き替える処理を行うことによって、オブジェクトデータベースのリストに登録される描画命令の数を減らすことができ、描画処理の遅延をさらに抑制することができる。

0054

<変形例2>
上記実施の形態においては、1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数については予め設定するものとした。しかしながら、コンピュータの処理の負荷の変動等によって1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数を実測して、その実測値に合わせて処理を行ってもよい。

0055

例えば、上記実施の形態では、1秒当たりに描画可能なフレーム数は10としたが、実測値では8であった場合、前のフレームまでの画像の描画処理において各レイヤーに対して行った描画命令の平均値(移動平均)に1秒当たりに描画可能なフレーム数の基準値変動値との比(8/10)を乗算した値を各レイヤーの描画命令の実行数として適用すればよい。レイヤーBに対して行った描画命令の平均値(移動平均)が5であった場合、5×8/10=4となるのでレイヤーBに対しては4つの描画命令を実行すればよい。

0056

また、1秒当たりに処理可能な描画処理数(APIコール数)が変動した場合、それに基づいて1秒当たりに描画可能なフレーム数も変動するので、変動した1秒当たりに描画可能なフレーム数に応じて同様に処理を行えばよい。

0057

このように、1秒当たりに描画可能なフレーム数の変動に応じて各レイヤーに対する描画命令の実行数を補正して処理を行うことによって、描画処理能力の変動に応じた映像の表示を行うことができる。特に、1秒当たりに描画可能なフレーム数の基準値と変動値との比(8/10)によって補正を行うことによって、レイヤーの優先度に応じて各レイヤーのオブジェクトの描画処理を適切に行うことができる。

0058

なお、1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数は所定時間毎に測定してもよいし、所定数のフレームの描画処理が終了する毎に測定してもよい。また、1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数の初期値を設定するために、ゲームのスタート時において計測を行ってもよい。

0059

10 処理部、12 記憶部、14 入力部、16 出力部、20レイヤー、22 画像、100画像処理装置、102外部サーバ、104通信手段。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ