説明

画像処理シミュレーション方法及び画像処理シミュレーションプログラム

【課題】画像処理装置の画像処理方式に適した処理時間予測を行うことにより、予測誤差を小さくする。
【解決手段】シミュレータ20は、画像処理装置10の画像処理部11の画像処理方式に合わせた処理時間予測関数24の係数を、画像処理部11が評価用コンテンツ22の画像処理に要した処理時間に基づいて決定する関数係数算出部23と、画像処理部11が実行用コンテンツ30を画像処理するのに要する予測処理時間を処理時間予測関数24を演算して予測する処理時間予測部25と、実行用コンテンツ30をシミュレーション用に画像処理すると共に、この画像処理に要する処理時間を調整して予測処理時間に一致させる画像処理シミュレーション部26とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理装置の画像処理をシミュレータ上でリアルタイムシミュレーションする画像処理シミュレーション方法及びそのプログラムに関するものである。
【背景技術】
【0002】
画像処理装置が手元にない場合、コンピュータ(Personal Computer等)によりコンテンツを生成する場合等に、コンピュータ上で対象となる画像処理装置と同じ処理時間で画像処理を実行することが必要となる。
【0003】
画像処理装置においてコンテンツを表示するために必要な処理時間を求めるために、従来、コンピュータに搭載されたハードウェアエミュレータを用いて、ハードウェアの内部処理を完全にエミュレートする方法がある。この場合には、一般的に、専用のハードウェアエミュレータが必要となり、さらに、エミュレーションには実際の画像処理装置の処理時間以上の時間がかかる。
【0004】
これに対し、予測精度では劣っても、実際の画像処理装置の処理時間に近い時間で画像処理動作をシミュレートする方法もある。この方法は、例えばコンテンツ編集等で画像処理装置の動作を簡易に確認するために必要である。例えば特許文献1では、画像処理後の出力画像の画像数をx、画像処理装置のCPU(Central Processing Unit)数をnとして、シングルCPUの処理時間、マルチCPUシステムの処理に発生するオーバヘッド時間、及び画像処理全体に占める並列化可能割合等を係数とする処理時間予測演算式を用い、処理時間を係数x,nの関数により求めていた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−213143号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の予測方法では、表示する画像に応じて変化する処理時間を、画素数を用いて評価していた。この予測方法では、その他の条件が同一の場合、画素数も同じであれば同じ処理時間になる。ところが実際の画像処理では画素数が同じであっても処理時間が異なる場合がある。例えば、画像から横長の領域の画素を抽出して表示する処理と、同一画像から縦長の領域の同一画素数の画素を抽出して表示する処理とでは、処理時間が画素数に比例する場合には横長の領域でも縦長の領域でも同じ処理時間になるはずである。しかし、例えばラスタスキャン方式を基本にしたラスタグラフィックでは、水平ライン毎に画像処理されるので、水平ラインに平行な横線描画よりも水平ラインに垂直な縦線描画のほうが長い処理時間になることがある。このような場合に対して、特許文献1の画素数を用いた予測方法では、縦線と横線の区別がないので予測誤差が大きくなってしまうという課題があった。
【0007】
この発明は、上記のような課題を解決するためになされたもので、画像処理装置の画像処理方式に適した処理時間予測を行うことにより、予測誤差を小さくすることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係る画像処理シミュレーション方法は、画像処理装置の画像処理に要する処理時間を予測するための、当該画像処理装置の画像処理方式に合わせた処理時間予測関数について、当該画像処理装置に評価用コンテンツを画像処理させて測定した処理時間結果に基づいて、当該処理時間予測関数の係数を決定する関数係数算出ステップと、画像処理装置が実行用コンテンツを画像処理するのに要する処理時間を、処理時間予測関数を演算して予測し、予測処理時間を求める処理時間予測ステップと、実行用コンテンツをシミュレーション用に画像処理すると共に、当該画像処理に要する処理時間を調整して予測処理時間に一致させる画像処理シミュレーションステップとを備えるものである。
【0009】
この発明に係る画像処理シミュレーションプログラムは、画像処理装置の画像処理に要する処理時間を予測するための、当該画像処理装置の画像処理方式に合わせた処理時間予測関数について、当該画像処理装置に評価用コンテンツを画像処理させて測定した処理時間結果に基づいて、当該処理時間予測関数の係数を決定する関数係数算出手段と、画像処理装置が実行用コンテンツを画像処理するのに要する処理時間を、処理時間予測関数を演算して予測し、予測処理時間を求める処理時間予測手段と、実行用コンテンツをシミュレーション用に画像処理すると共に、当該画像処理に要する処理時間を調整して予測処理時間に一致させる画像処理シミュレーション手段とを備えるものである。
【発明の効果】
【0010】
この発明によれば、画像処理装置の画像処理に要する処理時間を予測するための、当該画像処理装置の画像処理方式に合わせた処理時間予測関数について、当該画像処理装置に評価用コンテンツを画像処理させて測定した処理時間結果に基づいて、当該処理時間予測関数の係数を決定し、画像処理装置が実行用コンテンツを画像処理するのに要する処理時間を、処理時間予測関数を演算して予測し、予測処理時間を求めるようにしたので、画像処理装置の画像処理方式に適した処理時間予測を行うことができ、この結果、予測誤差を小さくすることができる。
【図面の簡単な説明】
【0011】
【図1】この発明の実施の形態1に係るシミュレータと画像処理装置の構成を示すブロック図である。
【図2】シミュレータの動作を示すフローチャートである。
【図3】画像処理装置の画像処理方式の一例を説明する図である。
【図4】評価用コンテンツの例を示す図である。
【図5】シミュレータ上での画像処理実行例を説明する図である。
【図6】シミュレータ上での並列化処理による画像処理実行例を説明する図である。
【図7】画像処理装置の画像処理方式の他の例を説明する図である。
【発明を実施するための形態】
【0012】
実施の形態1.
図1に示すシミュレータ20は、画像処理装置10の画像処理にかかる時間を予測して、リアルタイムシミュレーションを行うものである。対象となる画像処理装置10は、コンテンツの画像処理を実行する画像処理部11と、画像処理部11の処理時間を測定する処理時間測定部12とを備える。評価用コンテンツ処理時間13は、画像処理部11が評価用コンテンツ22を画像処理した際に、その処理時間を処理時間測定部12が測定した結果である。
【0013】
シミュレータ20は、画像処理装置10以外の装置上で画像処理装置10の動作を模擬するシミュレータである。このシミュレータ20は、評価用コンテンツ22を作成する評価用コンテンツ作成部21と、この評価用コンテンツ22を画像処理装置10の画像処理部11に画像処理させた場合の処理時間の実測データである評価用コンテンツ処理時間13に基づいて処理時間予測関数24を決定する関数係数算出部23と、処理時間予測関数24を演算して画像処理装置10による実行用コンテンツ30の処理時間(予測処理時間)を予測する処理時間予測部25と、実行用コンテンツ30をシミュレーション用に画像処理すると共に、この画像処理に要する処理時間を調整して画像処理装置10による予測処理時間に一致させる画像処理シミュレーション部26とを備える。
【0014】
次に、図2のフローチャートを用いて、シミュレータ20の動作を説明する。
ステップST1において、関数係数算出部23が処理時間予測関数24を仮定した仮処理時間予測関数を設定する。この関数は、画像処理装置10の画像処理部11の表示方式を考慮して設定される。
【0015】
ここでは、画像処理装置10の画像処理部11が横線表示を基盤に構成されている場合を例に説明する。図3(a)に示す画像には、n個の図形が集合した図形101が含まれている。n個の図形のうちの1個の図形102の拡大図を図3(b)に示す。図形102は、y本の横線から構成される。y本の横線のうちの1本の横線103の拡大図を図3(c)に示す。横線103は、x個の画素から構成される。画素104は、x個の画素のうちの1個の画素を示す。このように、画像処理装置10の画像処理部11は、横線を基準として全体の図形101を表示するものとする。
【0016】
この場合、関数係数算出部23は、先ず横線103のx個の画素を表示するための処理時間T(x)を下式(1)と定義する。表示処理には、表示する画素数xに関係なく必要な初期化等の処理時間(以下、固定処理時間)Aと、表示する画素数xに応じてかかる処理時間(以下、可変処理時間)Bとがある。この例の処理時間T(x)は、画像処理部11の特徴を考慮して、固定処理時間Aと画素数xに比例した可変処理時間B・xとを合計した値とする。
T(x)=A+B・x (1)
【0017】
関数係数算出部23は、続いて図形102を表示するための処理時間T(y,x)を下式(2)と定義する。この例の処理時間T(y,x)は、上記同様に、表示する横線数yに関係なく必要な固定処理時間Cと、y本分の上式(1)の処理時間T(x)を合計した値とする。

【0018】
関数係数算出部23は、続いてn個の図形101を表示するための処理時間T(n,y,x)を下式(3)と定義する。この例の処理時間T(n,y,x)は、上記同様に、表示する図形数nに関係なく必要な固定処理時間Dと、n個分の上式(2)の処理時間T(y,x)を合計した値とする。

【0019】
上式(3)のT(n,y,x)は仮処理時間予測関数であり、後述するように、関数係数算出部23が式中の未知数A〜Dを決定して処理時間予測関数24にする。
【0020】
続くステップST2において、関数係数算出部23に上式(3)の未知数A〜Dを決定させるために、評価用コンテンツ作成部21が評価用コンテンツ22を作成する。この例では未知数が4つあるため、未知数を決定するためには実測した処理時間のデータが最低4つあればよい。ただし、測定誤差等を考慮すると4つ以上のデータを用いるのが好ましい。
【0021】
図4に、評価用コンテンツ22の一例を示す。図4(a)は1画素からなる図形、図4(b)は2画素かつ1本の横線からなる図形、図4(c)は3画素かつ1本の横線からなる図形、図4(d)は4画素かつ1本の横線からなる図形、図4(e)は5画素かつ1本の横線からなる図形、図4(f)は10画素かつ1本の横線からなる図形、図4(g)は2本の横線からなる図形、図4(h)は3本の横線からなる図形、図4(i)は3本の横線からなる図形、図4(j)は4本の横線からなる図形、図4(k)は2個の図形からなる図形、図4(l)は3個の図形からなる図形である。
【0022】
続くステップST3において、評価用コンテンツ作成部21が、作成した評価用コンテンツ22を画像処理装置10へ出力して、画像処理装置10の画像処理部11にこの評価用コンテンツ22を用いた画像処理を実行させる。そして、処理時間測定部12が、評価用コンテンツ22の各データの画像処理にかかる処理時間を測定し、その測定結果を評価用コンテンツ処理時間13として出力する。処理時間測定部12の処理時間測定機能は、例えば、画像処理部11にて表示開始時から表示終了時までの時間を装置クロック数から計算することにより実現する。ただし、この方法に限定されるものではなく、画像処理装置10の外部装置が測定したり、エミュレーション上にて測定したりしてもよい。
【0023】
続くステップST4において、関数係数算出部23が、評価用コンテンツ処理時間13を用いて、上式(3)の仮処理時間予測関数のうちの未知数になっている係数A〜Dを決定する。ここでは、図4(a)〜図4(l)の12データからなる評価用コンテンツ22について、12個の実測データからなる評価用コンテンツ処理時間13を得たものとする。得られた評価用コンテンツ処理時間13をデータ順にT1〜T12とすると、未知数A〜Dに関する12個の連立方程式が求められる。例えば図4(a)に関しては、上式(3)において横線本数y=1、画素数x=1であるため、下式(4)が求められる。
T1=D+C・1+A・1+B・1=D+C+A+B (4)
【0024】
以上のように得られた12個の連立方程式を、行列を用いて書くと以下の式(5)のようになる。

【0025】
式(5)の連立方程式を解く方法は様々あり、どの方法で解いてもよい。ここでは一例として模擬逆行列を用いて、関数係数算出部23が下式(6)から未知数A〜Dを求める。これにより未知数A〜Dが求まり、処理時間予測関数24が決定する。

【0026】
続くステップST5において、処理時間予測部25が、決定した処理時間予測関数24の正誤を判定する。処理時間予測部25は、処理時間予測関数24を用いて評価用コンテンツ22の各データの処理時間を計算し、実測した評価用コンテンツ処理時間13の各データと比較する。得られた誤差が予め設定された許容値以下であれば(ステップST5“YES”)、処理時間予測部25は正しい処理時間予測関数24が得られたと判断して、続くステップST6の処理へ進む。
【0027】
一方、得られた誤差が許容値より大きければ(ステップST5“NO”)、処理時間予測部25は処理時間予測関数24が正しくないと判断して、処理をステップST1へ戻し、仮処理時間予測関数を再検討及び変更させる。変更例としては、例えば仮処理時間予測関数の次数を上げることが考えられる。本実施の形態1では上式(3)が成立することを前提としているが、式(3)で処理時間を近似できない場合には、下式(3A)のように次数を上げて近似する。

【0028】
続くステップST6において、処理時間予測部25は、正しいと判断した処理時間予測関数24を用いて、画像処理装置10上での実行用コンテンツ30の処理時間を予測する。
図5を用いて、シミュレータ20上での画像処理実行例を説明する。処理時間予測部25は、処理時間予測関数24を用いて実行用コンテンツ30の1フレーム毎の処理時間を算出する。この処理時間を図5では予測処理時間201と称する。この予測処理時間201は、画像処理装置10の画像処理部11が実行用コンテンツ30を画像処理した場合に予想される処理時間である。
【0029】
続くステップST7において、画像処理シミュレーション部26が、実行用コンテンツ30をシミュレーション用に画像処理し、その処理時間を、処理時間予測部25が算出した予測処理時間に一致させるようにして画像処理装置10のリアルタイムシミュレーションを実現する。先ず、画像処理シミュレーション部26は、実行用コンテンツ30の1フレーム毎の表示要素(画素数、横線本数、図形個数)に基づき処理時間を求める。この処理時間を図5では処理時間211〜214と称する。この処理時間211〜214は、予め求めておいてもよいし、表示実行時にリアルタイムに求めてもよい。
【0030】
次いで画像処理シミュレーション部26は、実行用コンテンツ30の1フレームを表示する。図5では処理時間211〜214の処理を行うことにより1フレームの表示が終了することとする。このとき、画像処理シミュレーション部26は、各処理のうち最後に実行する処理時間214の終了時間と予測処理時間201とを比較して、次のフレームの処理開始時間(図5に破線で示す)が予測処理時間201と等しくなるように、遅れ時間221を挿入する。
以上の処理により、シミュレータ20上で実行用コンテンツ30を、画像処理装置10と同等の処理時間でリアルタイム実行できる。
【0031】
図5の例は、シミュレータ20の画像処理シミュレーション部26が要する処理時間211〜214の合計が、画像処理装置10の画像処理部11が要する処理時間(即ち予測処理時間201)より短い場合であるが、処理時間211〜214の合計が長い場合には図5の方法ではリアルタイム実行できないため、各処理を並列化する等して画像処理部11より高速に処理を実行できるようにする必要がある。図6は並列化処理を行った場合の一例である。
【0032】
図6を用いて、シミュレータ20上での並列化処理による画像処理実行例を説明する。この例では、処理時間予測部25が算出した1フレームの予測処理時間202が処理時間211〜214の合計より短くなるので、画像処理シミュレーション部26は、処理時間211〜214の各処理を並列化して1フレームを表示する。このとき、画像処理シミュレーション部26は、各処理のうち最も長く時間のかかる処理、この場合は処理時間214の終了時間と予測処理時間202とを比較して、次のフレームの処理開始時間(図6に破線で示す)が予測処理時間202と等しくなるように、遅れ時間222を挿入する。このように並列化処理しても、シミュレータ20上で実行用コンテンツ30を、画像処理装置10と同等の処理時間でリアルタイム実行できる。
【0033】
以上より、実施の形態1によれば、シミュレータ20は、画像処理装置10の画像処理部11が画像処理に要する処理時間を予測するための、画像処理部11の画像処理方式に合わせた仮処理時間予測関数について、画像処理部11に評価用コンテンツ22を画像処理させて測定した評価用コンテンツ処理時間13に基づいて、仮処理時間予測関数の係数を算出して処理時間予測関数24を決定する関数係数算出部23と、画像処理部11が実行用コンテンツ30を画像処理するのに要する処理時間を処理時間予測関数24を演算して予測し、予測処理時間を求める処理時間予測部25と、実行用コンテンツ30をシミュレーション用に画像処理すると共に、この画像処理に要する処理時間を調整して予測処理時間に一致させる画像処理シミュレーション部26とを備えるように構成し、処理時間予測関数24がコンテンツ中の図形の個数nと、各図形を構成する横線の本数yと、各横線の長さ(即ち画素数x)とを変数にもつようにした。このため、画像処理装置10の画像処理方式に適した処理時間予測を行うことができ、この結果、予測誤差を小さくすることができる。
【0034】
また、実施の形態1では、処理時間予測部25が、画像処理装置10に評価用コンテンツ22を画像処理させて測定した評価用コンテンツ処理時間13と、関数係数算出部23が決定した処理時間予測関数24を演算して得られる評価用コンテンツ22の予測処理時間との誤差に基づいて、処理時間予測関数24の正誤を判定するように構成した。このため、画像処理装置10の画像処理方式に適した処理時間予測関数24を選択することができ、予測誤差をより小さくすることができる。
【0035】
実施の形態2.
上記実施の形態1では画像処理の基本となる図形(即ち画素)の画像処理の処理時間T(x)を上式(1)で表して予測したが、本実施の形態2では、この式(1)に実際に測定した処理時間を用いる。本実施の形態2の画像処理装置10及びシミュレータ20は、図1に示す画像処理装置10及びシミュレータ20と図面上では同様の構成であるため、以下では図1を援用して説明する。
【0036】
処理時間T(x)において、画素数x=1,2,3,4,5,10の場合の処理時間は、図4(a)〜図4(f)に示す各データからなる評価用コンテンツ22と、その測定結果である処理時間T1〜T6からなる評価用コンテンツ処理時間13とに従って、下式(7)のように表すことができる。
T(1)=T1
T(2)=T2
T(3)=T3
T(4)=T4 (7)
T(5)=T5
T(10)=T6
【0037】
関数係数算出部23は、上式(7)より求まる処理時間T(x)の関数を、上記実施の形態1の式(3)に適用して得たT(n,y,x)を処理時間予測関数24にする。なお、T(6)〜T(9)等の相当する式がない画素数xについては、予め全ての画素数xについて処理時間T(x)を計算しておいたり、T5とT6を補間して近似値を計算したりして、求めればよい。
【0038】
以上より、実施の形態2によれば、処理時間予測関数24は、画像処理の基本単位になる図形を画像処理装置10の画像処理部11に画像処理させて測定した評価用コンテンツ処理時間13から求めた関数をもつように構成した。このため、画像処理の処理時間を関数で表すことが困難な場合、即ち、上記実施の形態1で定義した基本となる式T(x)がxの多次元多項式関数として表せない場合でも、T(x)を式ではなく、測定した数値で置き換えることにより、上式(2),(3)を求めて、処理時間予測関数24を生成することができる。
【0039】
なお、シミュレータ20をコンピュータで構成する場合、評価用コンテンツ作成部21、関数係数算出部23、処理時間予測部25、画像処理シミュレーション部26の処理内容を記述しているシミュレーションプログラムをメモリに格納し、コンピュータのCPUがメモリに格納されているシミュレーションプログラムを実行するようにしてもよい。
【0040】
また、上記実施の形態1,2では画像処理装置10が横線表示を基盤に構成されていた場合を例に用いてシミュレータ20を説明したが、これに限定されるものではなく、画像処理装置10が例えば図7に示すような描画方式を採用するものであってもよい。この描画方式であっても、シミュレータ20において、画像処理装置10のハードウェア処理に基づく処理時間予測が可能である。
【0041】
図7に示す描画方式では、破線でしめす領域が処理領域サイズ301であり、図形302が処理領域サイズ301よりも大きい場合は、図形302が図形303,304に分割されて表示される。ここで、処理領域サイズ301を越える図形が分割され、その図形の個数nが分割個数mになったとし、さらに、n=1の図形をm=2に分割するために必要な処理時間をEとすると、m−n回分割することになるので、処理時間はE(m−n)となり、上式(3)は下式(3B)となる。関数係数算出部23は、画像処理装置10の描画方式に応じて、処理時間予測関数24に式(3B)を設定すればよい。

【符号の説明】
【0042】
10 画像処理装置、11 画像処理部、12 処理時間測定部、13 評価用コンテンツ処理時間、20 シミュレータ、21 評価用コンテンツ作成部、22 評価用コンテンツ、23 関数係数算出部、24 処理時間予測関数、25 処理時間予測部、26 画像処理シミュレーション部、30 実行用コンテンツ、101,102 図形、103 横線、104 画素、201,202 予測処理時間、211〜214 処理時間、221,222 遅れ時間、301 処理領域サイズ、302〜304 図形。

【特許請求の範囲】
【請求項1】
画像処理装置の画像処理を、シミュレータ上でシミュレーションする画像処理シミュレーション方法において、
前記画像処理装置の画像処理に要する処理時間を予測するための、当該画像処理装置の画像処理方式に合わせた処理時間予測関数について、当該画像処理装置に評価用コンテンツを画像処理させて測定した処理時間結果に基づいて、当該処理時間予測関数の係数を決定する関数係数算出ステップと、
前記画像処理装置が実行用コンテンツを画像処理するのに要する処理時間を、前記処理時間予測関数を演算して予測し、予測処理時間を求める処理時間予測ステップと、
前記実行用コンテンツをシミュレーション用に画像処理すると共に、当該画像処理に要する処理時間を調整して前記予測処理時間に一致させる画像処理シミュレーションステップとを備えることを特徴とする画像処理シミュレーション方法。
【請求項2】
画像処理装置に評価用コンテンツを画像処理させて測定した処理時間結果と、処理時間予測関数を演算して得られる、当該評価用コンテンツの予測処理時間との誤差に基づいて、前記処理時間予測関数の正誤を判定することを特徴とする請求項1記載の画像処理シミュレーション方法。
【請求項3】
処理時間予測関数は、コンテンツ中の図形を構成する横線の長さを変数にもつことを特徴とする請求項1記載の画像処理シミュレーション方法。
【請求項4】
処理時間予測関数は、コンテンツ中の図形を構成する横線の本数と、各横線の長さとを変数にもつことを特徴とする請求項1記載の画像処理シミュレーション方法。
【請求項5】
処理時間予測関数は、コンテンツ中の図形の個数と、各図形を構成する横線の本数と、各横線の長さとを変数にもつことを特徴とする請求項1記載の画像処理シミュレーション方法。
【請求項6】
処理時間予測関数は、画像処理の基本単位になる図形を画像処理装置に画像処理させて測定した処理時間結果から求めた関数をもつことを特徴とする請求項1記載の画像処理シミュレーション方法。
【請求項7】
コンピュータを、画像処理装置の画像処理をシミュレーションするシミュレータとして機能させるための画像処理シミュレーションプログラムにおいて、
前記画像処理装置の画像処理に要する処理時間を予測するための、当該画像処理装置の画像処理方式に合わせた処理時間予測関数について、当該画像処理装置に評価用コンテンツを画像処理させて測定した処理時間結果に基づいて、当該処理時間予測関数の係数を決定する関数係数算出手段と、
前記画像処理装置が実行用コンテンツを画像処理するのに要する処理時間を、前記処理時間予測関数を演算して予測し、予測処理時間を求める処理時間予測手段と、
前記実行用コンテンツをシミュレーション用に画像処理すると共に、当該画像処理に要する処理時間を調整して前記予測処理時間に一致させる画像処理シミュレーション手段とを備えることを特徴とする画像処理シミュレーションプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−186520(P2011−186520A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−47829(P2010−47829)
【出願日】平成22年3月4日(2010.3.4)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】