JP2015046017A - 画像処理装置及び画像処理プログラム - Google Patents

画像処理装置及び画像処理プログラム Download PDF

Info

Publication number
JP2015046017A
JP2015046017A JP2013176924A JP2013176924A JP2015046017A JP 2015046017 A JP2015046017 A JP 2015046017A JP 2013176924 A JP2013176924 A JP 2013176924A JP 2013176924 A JP2013176924 A JP 2013176924A JP 2015046017 A JP2015046017 A JP 2015046017A
Authority
JP
Japan
Prior art keywords
layer
image processing
image
frame
processing apparatus
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.)
Granted
Application number
JP2013176924A
Other languages
English (en)
Other versions
JP5466786B1 (ja
Inventor
坊野 博典
Hirofumi Bono
博典 坊野
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.)
DeNA Co Ltd
Original Assignee
DeNA Co Ltd
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 DeNA Co Ltd filed Critical DeNA Co Ltd
Priority to JP2013176924A priority Critical patent/JP5466786B1/ja
Priority to US14/079,439 priority patent/US9177531B2/en
Application granted granted Critical
Publication of JP5466786B1 publication Critical patent/JP5466786B1/ja
Priority to EP14180529.1A priority patent/EP2843626B1/en
Priority to CN201410409318.5A priority patent/CN104424620B/zh
Priority to KR20140109488A priority patent/KR101476418B1/ko
Publication of JP2015046017A publication Critical patent/JP2015046017A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

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

Description

本発明は、複数のレイヤーを重ねて画像表示する画像処理装置及び画像処理プログラムに関する。
コンピュータ、スマートフォン、タブレット等に設けられたディスプレイ上に画像を表示させる際に、複数のレイヤーを重ね合わせて1つの画像を構成して表示させる方法が知られている。すなわち、各レイヤーは透明フィルムのような画像領域であり、各レイヤーにおいて不透明なオブジェクトの画像領域以外の透明な画像領域では重ね合わされた下のレイヤーが透けて見えるように画像合成される。また、各レイヤーは他のレイヤーに対して相対位置を変えて重ね合わせることができ、各レイヤーをスライドさせるように動かすことによって各レイヤーに描画されたオブジェクトの画像を希望の位置に配置することができる。また、レイヤーの不透明度を変更して描画されたオブジェクトの画像を部分的に透明にすることもできる。
例えば、電子ゲームでは、背景画像が描画されたレイヤー、ゲームに登場するキャラクタの画像が描画されたキャラクタレイヤー、味方や敵のキャラクタの状態等を示す画像が描画されたHUDレイヤー等を重ね合わせて1つの画像を構成してディスプレイ上に表示させる。
このような画像のレンダリングを行う際に、CPUへの負担を軽減するために、操作入力のタイミングの指標となる第1領域をその他の第2領域よりも高いフレームレートでレンダリングする技術が開示されている(特許文献1)。
特許第4948217号公報
ところで、高いフレームレートでレンダリングを行う領域が固定されていると適用される場合が限定的である。
また、レイヤー毎にオブジェクトを描画するためのAPIを呼び出して処理を行う場合、コンピュータの性能等によって単位時間当たりに処理可能なAPIのコール数が限定されていると、各レイヤーについて均等にAPIをコールするとフレームがスムーズに表示されなくなるおそれがある。
そこで、様々な場面に適用可能であり、限られたAPIのコール数での処理においてスムーズな映像表示を行うことを可能とする技術が望まれている。
本発明の1つの態様は、画像表示の対象となるオブジェクトが複数のレイヤーのいずれかに割り当てられ、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行う画像処理装置であって、レイヤー毎にオブジェクトの描画命令のリストを含むオブジェクトデータベースを参照して、前記リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更することを特徴とする画像処理装置である。
また、本発明の別の態様は、画像表示の対象となるオブジェクトが複数のレイヤーのいずれかに割り当てられ、複数のレイヤーを重ね合わせて1フレームの画像の描画処理を行うための画像処理プログラムであって、レイヤー毎にオブジェクトの描画命令のリストを含むオブジェクトデータベースを記憶する記憶部を備えるコンピュータを、前記オブジェクトデータベースを参照して、前記リストに含まれる描画命令数に応じて、1フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更する手段として機能させることを特徴とする画像処理プログラムである。
ここで、レイヤーに優先度が設定されており、前記優先度が低いレイヤーより前記優先度が高いレイヤーに対してオブジェクトの描画処理を優先的に行うことが好適である。
また、1フレームの画像描画において実行可能な描画命令数を複数のレイヤーに対して振り分け、振り分けられた描画命令数に応じて複数のレイヤーに割り当てられたオブジェクトの描画処理を行うことが好適である。
また、描画処理対象となるレイヤーに対してオブジェクトデータベースのリストに登録されている描画命令の数を、1フレームの描画処理において残されている実行可能な描画命令の数で除算して数値Aを算出し、1フレームの描画処理において実行可能な描画命令の数を数値Aで除算して数値Bを算出し、前記描画処理対象となるレイヤーに対して描画命令を数値Bだけ実行することが好適である。
また、前記オブジェクトデータベースのリストに既に登録されている描画命令の対象であるオブジェクトに対して追加の描画命令が出された場合、前記既に登録されている描画命令と前記追加の描画命令とを足し合わせた描画命令に書き替えることが好適である。
また、1フレームの画像描画において実行可能な描画命令数を実測し、その実測値に応じて1フレームの画像描画において実行可能な描画命令数を複数のレイヤーに対して振り分けることが好適である。
本発明によれば、複数のオブジェクトをレイヤーに割り当て、複数のレイヤーを重ね合わせて表示させる画像処理において、スムーズな画像表示を実現することができる。
本発明の実施の形態における画像処理装置の構成を示す図である。 本発明の実施の形態における画像の構成を示す図である。 本発明の実施の形態におけるオブジェクトデータベースの登録例を示す図である。 本発明の実施の形態における画像処理のフローチャートである。 本発明の実施の形態におけるオブジェクトデータベースの登録例を示す図である。
本発明の実施の形態における画像処理装置100は、図1に示すように、処理部10、記憶部12、入力部14及び出力部16を含んで構成される。すなわち、画像処理装置100は、コンピュータの基本構成を備えており、一般的なPC、スマートフォン、タブレット、携帯電話機等とすることができる。また、画像処理装置100は、その機能の一部をインターネット等の通信手段104によって接続された外部サーバ102によって実現してもよい。
処理部10は、CPU等の演算処理を行う手段を含む。処理部10は、記憶部12に記憶されている画像処理プログラムを実行することによって、本実施の形態における画像処理を実現する。記憶部12は、半導体メモリ、ハードディスク等の記憶装手段を含む。記憶部12は、処理部10とアクセス可能に接続され、画像処理プログラム、画像処理に供される各オブジェクトの画像データ、オブジェクトの描画命令のリストを含むオブジェクトデータベース等を記憶する。入力部14は、画像処理装置100に情報を入力する手段を含む。入力部14は、例えば、ユーザからの入力を受けるタッチパネルやキーボードを備える。また、入力部14は、画像処理装置100の外部から情報を受け取るネットワークインターフェース等を含み、画像処理プログラム、画像処理に供される各オブジェクトの画像データを受信する。出力部16は、画像処理装置100で処理された情報を出力する手段を含む。出力部16は、例えば、ユーザに対して画像を呈示するディスプレイを備える。また、画像処理装置100の外部へ情報を送信するネットワークインターフェース等を含み、外部サーバ102等に情報を送信する。
本実施の形態では、画像処理装置100によって、3つのレイヤーに割り当てられた複数のオブジェクトの描画(レンダリング)処理について説明する。ただし、レイヤーの数やオブジェクトの数はこれに限定されるものではない。
図2は、画像処理装置100における画像22の構成例を示す図である。画像処理装置100において出力部16に表示される画像22は、複数のレイヤー20(本実施の形態では3つのレイヤーA(20a),レイヤーB(20b),レイヤーC(20c))を重ね合わせて合成した合成画像である。
各レイヤー20には、単数又は複数のオブジェクトが割り当てられる。オブジェクトは、表示対象となる画像の属性を示す概念である。電子ゲームを例にとると、オブジェクトは、例えば、背景、キャラクタ、HUD等の属性値を有する。さらに、HUDの属性が付されたオブジェクトは、ヒットポイント表示部、マジックポイント表示部等のHUDとして1つのレイヤーA(20a)に割り当てられる。また、キャラクタの属性値が付されたオブジェクトは、味方キャラクタ、敵キャラクタ等のゲームに登場するキャラクタとして1つのレイヤーB(20b)に割り当てられる。また、背景の属性値が付されたオブジェクトは、山、樹木、道、家等の背景として1つのレイヤーC(20c)に割り当てられる。
各レイヤー20は、それぞれ1つの画像であり、レイヤー20毎に割り当てられたオブジェクトの画像データが描写される。
例えば、図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)に描画(レンダリング)されている。
なお、図2の例では、説明を分かり易くするために、各レイヤー20に割り当てられるオブジェクトの数を少なくしているが、実際には各レイヤー20にはより多くのオブジェクトが割り当てられる。
各レイヤー20には、レイヤー20を重ね合わせる際の優先度が設定される。複数のレイヤー20を重ね合わせて合成画像を構成する際に、優先度が高いレイヤー20を低いレイヤー20より上に重ね合わせる。すなわち、重ね合わせた複数のレイヤー20に描画されたオブジェクトの画像同士が重なった場合、より優先度の高いレイヤー20の画像を優先して合成画像が構成される。また、各レイヤー20においてオブジェクトの画像データが描写されていない領域は透明領域とされる。これにより、重ね合わせた複数のレイヤー20に描画された画像同士が重ならなかった場合、下のレイヤー20に描画されている画像が上のレイヤー20を透過して見えるように合成画像が構成される。
図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)に描画された画像が優先的に表示されるように合成される。
図3は、記憶部12に記憶されるオブジェクトデータベースの登録例を示す図である。オブジェクトデータベースは、画像を構成する複数のレイヤーの各々について登録される。レイヤー毎に、表示対象となるオブジェクトが割り当てられて登録される。例えば、図
2の例では、レイヤーA(20a)には、オブジェクトA1〜A5が割り当てられて登録されている。また、レイヤーB(20b)には、オブジェクトB1〜B3が割り当てられて登録され、レイヤーC(20c)には、オブジェクトC1〜C4が割り当てられて登録されている。
処理部10は、電子ゲーム等のプログラムに含まれる画像処理プログラムを実行し、ゲームの進行等に伴って各レイヤーに割り当てられたオブジェクトの描画処理を行う。このとき、レイヤー毎に各オブジェクトを描画するための描画処理を指示するための描画命令、例えば描画処理を行うAPIをコールする描画命令、がオブジェクトデータベースのリストに登録される。
図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も同様に登録されている。
ここで、1秒当たり600の描画処理(APIのコール)が可能なコンピュータによって1秒当たり60フレームの描画を行う場合についての処理を説明する。この場合、1フレーム当たり10の描画命令について処理を行うことが可能である。
ところで、図3の例では、オブジェクトデータベースには、レイヤーA(20a)に対して1の描画命令、レイヤーB(20b)に対して10の描画命令、レイヤーC(20c)に対して100の描画命令が登録されており、その合計は111である。このように、総描画命令数が1フレーム当たりに処理可能な描画命令数(ここでは10)を超える場合、1フレーム内にてすべての描画命令を処理することができない。
本実施の形態では、レイヤーの優先度に応じて各レイヤーでの描画処理量を異ならせ、スムーズな映像が表示されるように描画処理を行う。具体的には、図4に示すフローチャートに沿って処理を行う。
ステップS10では、最も優先度の高いレイヤーに対して登録されている描画命令の処理を行う。図3のオブジェクトデータベースのリストの例では、最も優先度が高いレイヤーA(20a)には1の描画命令が登録されているので、処理部10はこの描画命令の描画処理を実行する。これにより、オブジェクトデータベースのレイヤーAに関連付けて登録されている残りの描画命令数は0となる。
ステップS12では、最も優先度の高いレイヤーよりも優先度が低いレイヤーに対して登録されている描画命令の処理を行う。まずは、最も優先度の高いレイヤーの次に優先度の高いレイヤー、すなわち2番目に優先度が高いレイヤーに対して処理する描画命令の数を決定する。
まず、処理対象となるレイヤーについてオブジェクトデータベースに登録されている描画命令数を現在処理中のフレームに対して残されている描画命令数で除算した数値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となる。
残りの処理可能な描画命令数は4となるので、その総てを最も優先度が低いレイヤーCの処理に割り当てる。処理部10は、レイヤーCに対してオブジェクトデータベースのリストに登録されている描画命令のうちより優先順位の高い4つの描画命令を実行する。これにより、オブジェクトデータベースのレイヤーCに関連付けて登録されている残りの描画命令数は96となる。
なお、レイヤーCよりも低い優先順位のレイヤーが存在する場合には、レイヤーCについてもレイヤーBと同様に処理を行う。すなわち、レイヤーA及びBの描画処理によって、現在処理中のフレームに対して処理可能な残りの描画命令数は4であるので、数値A=100/4=25及び数値B=10/25=1(小数点以下は切り上げ)となる。したがって、処理部10は、レイヤーCに対してオブジェクトデータベースのリストに登録されている描画命令のうちより優先順位の高い1つの描画命令を実行する。このような処理を最も優先度が低いレイヤーまで繰り返す。
ここまでの処理により、1秒間に60回書き替えられるフレームのうち1回目のフレームの書き替えが完了する。そして、レイヤーAに対する残りの描画命令数は0、レイヤーBに対する残りの描画命令数は5、レイヤーCに対する残りの描画命令数は96となる。
次に、2回目以降のフレームの描画処理に入る。なお、1つのフレームの描画処理の途中や複数のフレームの描画処理の間に描画処理以外の処理を行ってもよい。ここでは、2回目以降のフレームの描画処理に入る前に、レイヤーAに対して新たに1つの描画命令が加えられ、レイヤーAに対する残りの描画命令数は1、レイヤーBに対する残りの描画命令数は5、レイヤーCに対する残りの描画命令数は96となった場合について説明する。
ステップS14では、前のフレームまでの画像の描画処理において各レイヤーに対して行った描画命令の平均値(移動平均)を用いて各レイヤーに対する描画処理を行う。2回目のフレームの描画では、1回目のフレームの描画処理における各レイヤーに対する描画処理数がそのまま適用される。すなわち、レイヤーAに対しては1つの描画命令が実行され、レイヤーBに対しては5つの描画命令が実行され、レイヤーCに対しては4つの描画命令が実行される。ここまでの処理により、1秒間に60回書き替えられるフレームのうち2回目のフレームの書き替えが完了する。そして、レイヤーAに対する残りの描画命令数は0、レイヤーBに対する残りの描画命令数は0、レイヤーCに対する残りの描画命令数は92となる。
次に、ステップS14に処理は戻され、3回目以降のフレームの描画処理に入る。ここで、2回目以降のフレームの描画処理に入る前に、レイヤーAに対して新たに1つの描画命令が加えられ、レイヤーAに対する残りの描画命令数は1、レイヤーBに対する残りの描画命令数は0、レイヤーCに対する残りの描画命令数は92となった場合について説明する。
3回目のフレームの描画では、1回目及び2回目のフレームの描画処理における各レイヤーに対する描画処理数の平均値が適用される。すなわち、レイヤーAに対しては1つの描画命令が実行される。レイヤーBに対しては5つの描画命令が適用される。しかしながら、オブジェクトデータベースにはレイヤーBに対する描画命令が残っていないので、このような場合には次の優先度のレイヤーに回される。したがって、レイヤーCに対しては9つの描画命令が実行される。ここまでの処理により、1秒間に60回書き替えられるフレームのうち3回目のフレームの書き替えが完了する。そして、レイヤーAに対する残りの描画命令数は0、レイヤーBに対する残りの描画命令数は0、レイヤーCに対する残りの描画命令数は83となる。
なお、例えば、レイヤーBに対して描画命令が3つ追加されていた場合には、レイヤーBの3つの描画命令を実行した後、余った2つの描画命令を加えてレイヤーCに対しては6つの描画命令を実行する。
4回目以降のフレームの描画においても同様にそれまでのフレームの描画処理における各レイヤーに対する描画処理数の平均値を適用して処理を行う。このとき、各レイヤーに対して描画命令が追加された場合には、優先度の高いレイヤーに対して過去の描画処理数の平均値だけ描画命令を実行し、実行できる描画命令の数が余った場合には次の優先度のレイヤーに割り当てる処理を行う。
本実施の形態によれば、複数のオブジェクトをレイヤーに割り当て、複数のレイヤーを重ね合わせて表示させる画像処理において、各レイヤーの描画の優先度に応じて各レイヤーの処理量に傾斜を持たせてオブジェクトの描画処理を行う。一方で、各フレームごとに、リストに描画命令がある全ての(あるいはできるだけ多くの)レイヤーについて、描画命令が実行される。これによって、単位時間当たりに処理可能なAPIのコール数が限定されている場合であってもスムーズな映像を表示することができる。
これは、ユーザにみせたいオブジェクトがより多く含まれるレイヤーの優先度が高く設定されているという傾向を利用し、ユーザにとって表示される映像がスムーズに表示されているようにみせるものである。1フレームの描画処理において優先度が高いレイヤーに含まれるオブジェクトの描画数をより優先度の低いレイヤーに含まれるオブジェクトの描画数より多くすることによってユーザには映像がスムーズにみえるのである。
すなわち、優先度が高いレイヤーにはユーザからの注目度が高いオブジェクトが割り当てられており、このようなオブジェクトの描画を優先的に実行することによって、ユーザには映像がスムーズに表示されている印象を与えることができる。一方で、1フレームの描画処理において、優先度の高いレイヤーのみならず、優先度が低いレイヤーに割り当てられたオブジェクトも描画処理される。したがって、ユーザにはフレーム全体が常に少しずつ動いているような印象を与えることができるため、描画処理の遅れが目立ちにくい。このとき、優先度の低いレイヤーのオブジェクトは1回のフレームの描画処理ではすべて更新されないが、優先度の低いレイヤーは背景画像等のユーザにとって注目度の低いオブジェクトを含んでいるのですべてが一度に更新されなくても映像がスムーズに表示されているようにみえる。
これにより、処理能力が不十分なコンピュータ(携帯端末等)においても、オブジェクトの描画遅れが目立たず、全体として自然な動きをする映像として表示することができる。
<変形例1>
各レイヤーに対するオブジェクトの描画命令は、オブジェクトデータベースにリストとして管理されている。新しく描画命令が追加された場合、原則としてリストの最後にその描画命令が追加される。
本変形例では、オブジェクトデータベースのリストに既に登録されている描画命令の対象であるオブジェクトに対してさらに描画命令が出された場合には、そのオブジェクトに対する描画命令の内容を足し合わせる。
例えば、図5に示すように、レイヤーBに割り当てられたオブジェクトB1に対して既に右へ3ドット及び上へ3ドットほど移動させる描画命令が登録されているときに、その描画命令が実行される前にさらにオブジェクトB1に追加の描画命令として右へ2ドット及び下へ1ドットほど移動させる描画命令が追加された場合、既に登録されている描画命令の内容を右へ5ドット及び上へ2ドットほど移動させる処理に書き替える。
このような描画処理を書き替える処理を行うことによって、オブジェクトデータベースのリストに登録される描画命令の数を減らすことができ、描画処理の遅延をさらに抑制することができる。
<変形例2>
上記実施の形態においては、1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数については予め設定するものとした。しかしながら、コンピュータの処理の負荷の変動等によって1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数を実測して、その実測値に合わせて処理を行ってもよい。
例えば、上記実施の形態では、1秒当たりに描画可能なフレーム数は10としたが、実測値では8であった場合、前のフレームまでの画像の描画処理において各レイヤーに対して行った描画命令の平均値(移動平均)に1秒当たりに描画可能なフレーム数の基準値と変動値との比(8/10)を乗算した値を各レイヤーの描画命令の実行数として適用すればよい。レイヤーBに対して行った描画命令の平均値(移動平均)が5であった場合、5×8/10=4となるのでレイヤーBに対しては4つの描画命令を実行すればよい。
また、1秒当たりに処理可能な描画処理数(APIコール数)が変動した場合、それに基づいて1秒当たりに描画可能なフレーム数も変動するので、変動した1秒当たりに描画可能なフレーム数に応じて同様に処理を行えばよい。
このように、1秒当たりに描画可能なフレーム数の変動に応じて各レイヤーに対する描画命令の実行数を補正して処理を行うことによって、描画処理能力の変動に応じた映像の表示を行うことができる。特に、1秒当たりに描画可能なフレーム数の基準値と変動値との比(8/10)によって補正を行うことによって、レイヤーの優先度に応じて各レイヤーのオブジェクトの描画処理を適切に行うことができる。
なお、1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数は所定時間毎に測定してもよいし、所定数のフレームの描画処理が終了する毎に測定してもよい。また、1秒当たりに処理可能な描画処理数(APIコール数)や1秒当たりに描画可能なフレーム数の初期値を設定するために、ゲームのスタート時において計測を行ってもよい。
10 処理部、12 記憶部、14 入力部、16 出力部、20 レイヤー、22 画像、100 画像処理装置、102 外部サーバ、104 通信手段。

Claims (7)

  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フレームの画像描画におけるレイヤーの各々に対するオブジェクトの描画処理数を動的に変更する手段として機能させることを特徴とする画像処理プログラム。
JP2013176924A 2013-08-28 2013-08-28 画像処理装置及び画像処理プログラム Active JP5466786B1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013176924A JP5466786B1 (ja) 2013-08-28 2013-08-28 画像処理装置及び画像処理プログラム
US14/079,439 US9177531B2 (en) 2013-08-28 2013-11-13 Image processing device and non-transitory computer-readable storage medium storing image processing program
EP14180529.1A EP2843626B1 (en) 2013-08-28 2014-08-11 Image rendering method using layers
CN201410409318.5A CN104424620B (zh) 2013-08-28 2014-08-19 图像处理装置及图像处理方法
KR20140109488A KR101476418B1 (ko) 2013-08-28 2014-08-22 화상 처리 장치 및 화상 처리 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013176924A JP5466786B1 (ja) 2013-08-28 2013-08-28 画像処理装置及び画像処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014011503A Division JP6173226B2 (ja) 2014-01-24 2014-01-24 画像処理装置及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP5466786B1 JP5466786B1 (ja) 2014-04-09
JP2015046017A true JP2015046017A (ja) 2015-03-12

Family

ID=50619484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013176924A Active JP5466786B1 (ja) 2013-08-28 2013-08-28 画像処理装置及び画像処理プログラム

Country Status (5)

Country Link
US (1) US9177531B2 (ja)
EP (1) EP2843626B1 (ja)
JP (1) JP5466786B1 (ja)
KR (1) KR101476418B1 (ja)
CN (1) CN104424620B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8723886B2 (en) * 2010-09-08 2014-05-13 Navteq B.V. Generating a multi-layered geographic image and the use thereof
CN114998557A (zh) * 2015-08-18 2022-09-02 奇跃公司 虚拟和增强现实系统和方法
FR3045179B1 (fr) * 2015-12-15 2018-01-26 Areva Np Dispositif electronique et procede de gestion de l'affichage de donnees pour le pilotage d'une centrale nucleaire, systeme de pilotage et produit programme d'ordinateur associes
CN105719240B (zh) * 2016-01-21 2019-01-08 腾讯科技(深圳)有限公司 图片处理的方法和装置
WO2021134462A1 (en) * 2019-12-31 2021-07-08 Qualcomm Incorporated Methods and apparatus to facilitate region of interest tracking for in-motion frames
CN112667135A (zh) * 2021-01-26 2021-04-16 马瑞利汽车电子(广州)有限公司 一种汽车仪表主题切换方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ905800A0 (en) * 2000-07-28 2000-08-24 Canon Kabushiki Kaisha Rendering page descriptions
US6963947B2 (en) * 2001-05-08 2005-11-08 Tao Logic Systems Llc Driver supporting bridge method and apparatus
US7073181B2 (en) * 2001-11-13 2006-07-04 International Business Machines Corporation System and method for sharing secure sockets layer sessions across multiple processes
EP1684234A1 (en) * 2005-01-20 2006-07-26 Culture.com Technology (Macau) Ltd Graphics rendering system and method
JP4902847B2 (ja) * 2006-03-29 2012-03-21 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US8239869B2 (en) * 2006-06-19 2012-08-07 Condusiv Technologies Corporation Method, system and apparatus for scheduling computer micro-jobs to execute at non-disruptive times and modifying a minimum wait time between the utilization windows for monitoring the resources
JP4425890B2 (ja) * 2006-08-07 2010-03-03 株式会社コナミデジタルエンタテインメント シミュレーション装置、シミュレーション方法、ならびに、プログラム
US8711783B2 (en) * 2006-12-01 2014-04-29 Samsung Electronics Co., Ltd. Method and apparatus for coordinating hopping of resources in wireless communication systems
US8808087B2 (en) * 2007-02-22 2014-08-19 Sony Corporation Game device, game control method, and game control program
JP4948217B2 (ja) 2007-02-22 2012-06-06 株式会社ソニー・コンピュータエンタテインメント ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
US20100220104A1 (en) * 2007-09-13 2010-09-02 Shoji Tanaka Map drawing device
JP2009075888A (ja) * 2007-09-20 2009-04-09 Canon Inc 描画処理装置及びその方法、プログラム、記録媒体
US8610725B2 (en) * 2007-10-10 2013-12-17 Apple Inc. Framework for dynamic configuration of hardware resources
CN101299328B (zh) * 2008-06-19 2010-06-02 华为技术有限公司 一种图像显示方法和装置
JP5136645B2 (ja) * 2008-08-12 2013-02-06 富士通株式会社 電子ペーパ端末装置、画像表示制御プログラム、および画像表示制御方法
US8698823B2 (en) * 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
JP2011186834A (ja) * 2010-03-09 2011-09-22 Copcom Co Ltd ゲームプログラム、記録媒体、及びコンピュータ装置
JP5641825B2 (ja) * 2010-08-26 2014-12-17 キヤノン株式会社 装置およびその制御方法、並びにプログラム
US9483313B2 (en) * 2010-10-19 2016-11-01 Microsoft Technology Licensing, Llc Availability management for reference data services
JP5086487B1 (ja) * 2012-03-29 2012-11-28 株式会社 ディー・エヌ・エー ゲームプログラム、ゲームシステム、及び、情報処理装置
US9319968B2 (en) * 2012-09-19 2016-04-19 Blackberry Limited System and method for controlling network scan parameters for a network connection
US9104480B2 (en) * 2012-11-15 2015-08-11 International Business Machines Corporation Monitoring and managing memory thresholds for application request threads
US9325699B2 (en) * 2013-03-15 2016-04-26 Vonage America Inc. Method for apparatus for routing application programming interface (API) calls

Also Published As

Publication number Publication date
US20150062169A1 (en) 2015-03-05
EP2843626B1 (en) 2016-12-14
JP5466786B1 (ja) 2014-04-09
EP2843626A2 (en) 2015-03-04
US9177531B2 (en) 2015-11-03
CN104424620A (zh) 2015-03-18
EP2843626A3 (en) 2015-04-15
KR101476418B1 (ko) 2014-12-24
CN104424620B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
JP5466786B1 (ja) 画像処理装置及び画像処理プログラム
US10347023B2 (en) Data drawing method and apparatus, terminal, and storage medium
US10896484B2 (en) Method and system of display object pre-generation on windows of idle time available after each frame buffer fill tasks
US9104296B2 (en) Rocket effect in a progress bar
US9041742B2 (en) Displaying an image based on layers of a layer tree
CN105607851A (zh) 用于触摸终端的场景控制方法及设备
TWI695295B (zh) 基於擴增實境的圖像處理方法、裝置及電子設備
CN110020300B (zh) 一种浏览器页面合成方法及终端
JP6173226B2 (ja) 画像処理装置及び画像処理プログラム
KR20130097886A (ko) 렌더링 장치 및 그 방법
CN114428573B (zh) 特效图像处理方法、装置、电子设备及存储介质
CN105631197B (zh) 病理切片的保存方法及装置
JP5842029B2 (ja) 画像データをキャッシュする情報処理支援装置、情報処理装置及び情報処理支援プログラム
CN111107425B (zh) 基于渲染组件元素获取计算资源的方法、系统和存储介质
JP6162553B2 (ja) 画像処理装置及び画像処理プログラム
JP2023045414A (ja) 画像データ生成装置、画像データ生成方法及び画像データ生成プログラム
CN116597050A (zh) 动画数据的响应方法及相关装置
CN117827329A (zh) 展示多个虚拟形象的方法和系统
CN117093208A (zh) 一种动画样式的更新方法、装置、终端设备及存储介质
JP5669199B2 (ja) 画像描画装置、画像描画方法、及びプログラム
JP2015205010A (ja) オブジェクト制御プログラム及びオブジェクト制御方法
JP2016071507A (ja) 画像描画装置及び画像描画プログラム
JP2016071851A (ja) 画像描画装置及び画像描画プログラム

Legal Events

Date Code Title Description
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: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140124

R150 Certificate of patent or registration of utility model

Ref document number: 5466786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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