(57)【特許請求の範囲】
【請求項１】
複数の撮像装置でそれぞれ撮影された複数の撮影画像を各撮像装置のフレーム毎に記憶する記憶部を参照して、前記複数の撮影画像を表示画像として表示装置に所定の時間間隔で順次表示する画像処理方法において、
前記複数の撮影画像が前記記憶部に記憶された時刻を示すキャプチャ時刻を、前記複数の撮像装置の各々に対応付けて記録し、
前記記憶部に記憶された前記複数の撮影画像の各々に対して、前記表示装置に表示するための描画処理を順番に実行し、
前記描画処理を開始した時刻を示す描画開始時刻を、前記複数の撮像装置の各々に対応付けて記録し、
前記描画処理が完了した時刻を示す描画完了時刻を、前記複数の撮像装置の各々に対応付けて記録し、
次の表示画像を前記表示装置に表示する際の前記複数の撮影画像の各々に対する前記描画処理の実行順を、既に記録された前記キャプチャ時刻、前記描画開始時刻および前記描画完了時刻に基づいて決定する
ことを特徴とする画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、
表示画像が前記表示装置に表示された時刻を示す表示時刻を記録し、
既に記録された前記表示時刻、前記キャプチャ時刻、前記描画開始時刻および前記描画完了時刻を用いて、次の表示画像に対応するキャプチャ時刻、描画開始時刻および描画完了時刻を、前記複数の撮影画像の処理順序の組み合わせ毎に予測し、
予測したキャプチャ時刻、描画開始時刻および描画完了時刻に基づいて、次の表示画像を前記表示装置に表示する際の前記描画処理の実行順を決定する
ことを特徴とする画像処理方法。
【請求項３】
請求項２に記載の画像処理方法において、
前記予測したキャプチャ時刻、描画開始時刻および描画完了時刻に基づいて、撮影画像が前記記憶部に記憶されてから前記表示装置に表示されるまでの時間に関する評価値を前記組み合わせ毎に算出し、
前記評価値に基づいて、次の表示画像を前記表示装置に表示する際の前記描画処理の実行順を決定する
ことを特徴とする画像処理方法。
【請求項４】
請求項２に記載の画像処理方法において、
前記予測したキャプチャ時刻、描画開始時刻および描画完了時刻に基づいて、キャプチャ時刻のばらつきに関する評価値を前記組み合わせ毎に算出し、
前記評価値に基づいて、次の表示画像を前記表示装置に表示する際の前記描画処理の実行順を決定する
ことを特徴とする画像処理方法。
【請求項５】
複数の撮像装置でそれぞれ撮影された複数の撮影画像を各撮像装置のフレーム毎に記憶する記憶部を参照して、前記複数の撮影画像を表示画像として表示装置に所定の時間間隔で順次表示する画像処理をコンピュータに実行させる画像処理プログラムにおいて、
前記複数の撮影画像が前記記憶部に記憶された時刻を示すキャプチャ時刻を、前記複数の撮像装置の各々に対応付けて記録し、
前記記憶部に記憶された前記複数の撮影画像の各々に対して、前記表示装置に表示するための描画処理を順番に実行し、
前記描画処理を開始した時刻を示す描画開始時刻を、前記複数の撮像装置の各々に対応付けて記録し、
前記描画処理が完了した時刻を示す描画完了時刻を、前記複数の撮像装置の各々に対応付けて記録し、
次の表示画像を前記表示装置に表示する際の前記複数の撮影画像の各々に対する前記描画処理の実行順を、既に記録された前記キャプチャ時刻、前記描画開始時刻および前記描画完了時刻に基づいて決定する
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
複数の撮像装置で撮影された複数の画像を１画面に表示する画像処理装置が提案されている（例えば、特許文献１参照）。例えば、画像処理装置は、複数の撮像装置で撮影された複数の画像を記憶部に記憶し、記憶部に記憶した複数の画像を１つの画像に合成する処理を実行して表示装置に表示する。
【０００３】
なお、撮像装置が１つの場合、撮像装置による撮像動作を開始してから画像が表示されるまでの時間が短くなるように、撮像動作の開始タイミングを調整する手法が提案されている（例えば、特許文献２参照）。
【０００４】
また、表示した画像をスクロールする場合等に、フレームレートの低下を起こさずに表示を更新する表示装置が提案されている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３０２００１号公報
【特許文献２】特開２００８−１６６８５９号公報
【特許文献３】特開２０１３−２１４０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数の撮像装置で撮影された複数の画像を表示装置に表示する場合、複数の撮像装置が被写体を撮影するタイミング（以下、撮影タイミングとも称する）は、互いに同じとは限らない。このため、画像処理装置が複数の撮像装置で撮影された複数の画像の各々を所定の処理単位（例えば、撮像装置で撮影される動画の１フレーム）で順次処理する場合、画像を処理する順序によって、表示装置の１画面に表示される画像の質が異なる場合がある。
【０００７】
画像の質は、例えば、画像が表示されるまでの遅延時間（表示装置の１画面に表示される複数の画像の遅延時間の平均）、あるいは、表示装置の１画面に表示される複数の画像の撮影タイミングのずれの大きさ等により変化する。
【０００８】
１つの側面では、本件開示の画像処理方法および画像処理プログラムは、複数の撮像装置で撮影された複数の画像を処理する順序を調整することにより、表示装置に表示する画像の質を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
一観点によれば、複数の撮像装置でそれぞれ撮影された複数の撮影画像を各撮像装置のフレーム毎に記憶する記憶部を参照して、複数の撮影画像を表示画像として表示装置に所定の時間間隔で順次表示する画像処理方法では、複数の撮影画像が記憶部に記憶された時刻を示すキャプチャ時刻を、複数の撮像装置の各々に対応付けて記録し、記憶部に記憶された複数の撮影画像の各々に対して、表示装置に表示するための描画処理を順番に実行し、描画処理を開始した時刻を示す描画開始時刻を、複数の撮像装置の各々に対応付けて記録し、描画処理が完了した時刻を示す描画完了時刻を、複数の撮像装置の各々に対応付けて記録し、次の表示画像を表示装置に表示する際の複数の撮影画像の各々に対する描画処理の実行順を、既に記録されたキャプチャ時刻、描画開始時刻および描画完了時刻に基づいて決定する。
【００１０】
別の観点によれば、複数の撮像装置でそれぞれ撮影された複数の撮影画像を各撮像装置のフレーム毎に記憶する記憶部を参照して、複数の撮影画像を表示画像として表示装置に所定の時間間隔で順次表示する画像処理をコンピュータに実行させる画像処理プログラムでは、複数の撮影画像が記憶部に記憶された時刻を示すキャプチャ時刻を、複数の撮像装置の各々に対応付けて記録し、記憶部に記憶された複数の撮影画像の各々に対して、表示装置に表示するための描画処理を順番に実行し、描画処理を開始した時刻を示す描画開始時刻を、複数の撮像装置の各々に対応付けて記録し、描画処理が完了した時刻を示す描画完了時刻を、複数の撮像装置の各々に対応付けて記録し、次の表示画像を表示装置に表示する際の複数の撮影画像の各々に対する描画処理の実行順を、既に記録されたキャプチャ時刻、描画開始時刻および描画完了時刻に基づいて決定する。
【発明の効果】
【００１１】
本件開示の画像処理方法および画像処理プログラムは、複数の撮像装置で撮影された複数の画像を処理する順序を調整することにより、表示装置に表示する画像の質を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理方法および画像処理プログラムの一実施形態を示す図である。
【図２】図１に示した画像処理装置の動作の一例を示す図である。
【図３】画像処理方法および画像処理プログラムの別の実施形態を示す図である。
【図４】図３に示したプロセッサに参照される情報の一例を示す図である。
【図５】図３に示した画像処理システムの動作タイミングの一例を示す図である。
【図６】図３に示したプロセッサの動作の一例を示す図である。
【図７】図６に示した順序決定処理の一例を示す図である。
【図８】図６に示した順序決定処理の別の例を示す図である。
【図９】表示遅延時間の二乗平均を評価値とした場合のシミュレーション結果の一例を示す図である。
【図１０】キャプチャ時刻の分散を評価値とした場合のシミュレーション結果の一例を示す図である。
【図１１】図３に示した画像処理システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、実施形態について、図面を用いて説明する。
【００１４】
図１は、画像処理方法および画像処理プログラムの一実施形態を示す。図１に示す画像処理システム１０は、複数の撮像装置５０（５０ａ、５０ｂ、５０ｃ）と、画像処理装置２０と、表示装置６０とを有する。撮像装置５０（５０ａ、５０ｂ、５０ｃ）は、例えば、デジタルカメラであり、所定のフレームレートで撮影した撮影画像ＣＩＭＧ（ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃ）を画像処理装置２０に出力する。画像処理装置２０は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサである。
【００１５】
画像処理装置２０は、記憶部３０、描画処理部４０、キャプチャ時刻記録部４２、描画開始時刻記録部４４、描画完了時刻記録部４６および順序決定部４８を有する。なお、画像処理装置２０は、ハードウェアのみで実現されてもよく、画像処理プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。例えば、描画処理部４０、キャプチャ時刻記録部４２、描画開始時刻記録部４４、描画完了時刻記録部４６および順序決定部４８は、プロセッサが画像処理プログラムを実行することにより実現されてもよい。
【００１６】
画像処理装置２０は、複数の撮像装置５０でそれぞれ撮影された複数の撮影画像ＣＩＭＧを表示画像ＤＩＭＧとして、表示装置６０の１画面に所定の時間間隔で表示する。例えば、各撮影画像ＣＩＭＧは、各撮像装置５０の１フレーム分の画像であり、表示画像ＤＩＭＧは、撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃを表示装置６０の画面内の所定の場所にそれぞれ配置した画像である。
【００１７】
記憶部３０は、撮像装置５０ａ、５０ｂ、５０ｃから受けた撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃを各撮像装置５０のフレーム毎に記憶する。例えば、記憶部３０には、３フレーム分の撮影画像ＣＩＭＧを記憶可能な領域が撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃ用にそれぞれ割り当てられる。３フレーム分の撮影画像ＣＩＭＧを保持することにより、撮影画像ＣＩＭＧの参照要求に対して、待ち時間を少なくすることが可能となる。
【００１８】
なお、撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃ用にそれぞれ割り当てられる領域の大きさは、３フレーム分の撮影画像ＣＩＭＧを記憶可能な大きさに限定されない。例えば、記憶部３０には、２フレーム分の撮影画像ＣＩＭＧを記憶可能な領域が撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃ用にそれぞれ割り当てられてもよい。
【００１９】
キャプチャ時刻記録部４２は、複数の撮像装置５０でそれぞれ撮影された複数の撮影画像ＣＩＭＧが記憶部３０に記憶された時刻を示すキャプチャ時刻を、複数の撮像装置５０の各々に対応付けて記録する。例えば、画像処理装置２０がプロセッサで実現される場合、キャプチャ時刻記録部４２は、１フレーム分の撮影画像ＣＩＭＧが記憶部３０に記憶されたときに発生する割り込み等に基づいて、キャプチャ時刻をレジスタ等に記録する。これにより、キャプチャ時刻は、撮影画像ＣＩＭＧ毎（すなわち、撮像装置５０毎）にレジスタ等に記録される。
【００２０】
描画処理部４０は、記憶部３０に記憶された複数の撮影画像ＣＩＭＧの各々に対して、表示装置６０に表示するための描画処理を順番に実行する。例えば、描画処理部４０は、順序決定部４８により決定された処理順序に従って、複数の撮影画像ＣＩＭＧの各々に対する描画処理を実行する。なお、順序決定部４８で処理順序（描画処理の実行順）が決定する前の期間では、描画処理部４０は、予め決められたデフォルトの処理順序に従って、複数の撮影画像ＣＩＭＧの各々に対する描画処理を実行する。
【００２１】
また、描画処理部４０は、例えば、描画処理を開始した時刻を示す描画開始時刻を描画開始時刻記録部４４に通知し、描画処理が完了した時刻を示す描画完了時刻を描画完了時刻記録部４６に通知する。
【００２２】
表示装置６０の１画面分の描画処理が完了した場合、描画処理部４０は、描画処理が完了した複数の撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃを１つの表示画像ＤＩＭＧとして、垂直同期信号等の所定のタイミングに同期して表示装置６０に出力する。
【００２３】
描画開始時刻記録部４４は、描画開始時刻を複数の撮像装置５０の各々に対応付けて記録する。例えば、描画開始時刻記録部４４は、描画処理部４０から通知された描画開始時刻を、撮影画像ＣＩＭＧ毎（すなわち、撮像装置５０毎）にレジスタ等に記録する。
【００２４】
描画完了時刻記録部４６は、描画完了時刻を複数の撮像装置５０の各々に対応付けて記録する。例えば、描画完了時刻記録部４６は、描画処理部４０から通知された描画完了時刻を、撮影画像ＣＩＭＧ毎（すなわち、撮像装置５０毎）にレジスタ等に記録する。
【００２５】
順序決定部４８は、例えば、複数の撮影画像ＣＩＭＧに対する描画処理の実行順を決定することにより、表示画像ＤＩＭＧに使用する複数の撮影画像ＣＩＭＧとして、各撮像装置５０で撮影された各動画のどのフレームを選択するかを撮像装置５０毎に決定する。例えば、順序決定部４８は、次の表示画像ＤＩＭＧを表示装置６０に表示する際の複数の撮影画像ＣＩＭＧの各々に対する描画処理の実行順を、所定の条件に適した処理順序になるように、キャプチャ時刻、描画開始時刻および描画完了時刻を用いて決定する。
【００２６】
所定の条件は、例えば、表示画像ＤＩＭＧの質を向上させる条件である。例えば、被写体の像をリアルタイムに表示装置６０に表示するシステムに画像処理装置２０が搭載される場合、表示遅延時間をできるだけ小さくすることは、表示画像ＤＩＭＧの質を向上させる条件の１つである。表示遅延時間は、例えば、各撮影画像ＣＩＭＧが記憶部３０に記憶されてから表示装置６０に表示されるまでの時間である。
【００２７】
表示遅延時間が大きくなるほど、表示装置６０に表示される表示画像ＤＩＭＧ内の被写体の状態と被写体の現在の状態との差は大きくなる。このため、例えば、自動車のバックモニタに画像処理装置２０が搭載される場合、表示遅延時間が大きくなるほど、自動車の運転者への注意喚起の遅れにつながる。換言すれば、表示遅延時間をできるだけ小さくすることにより、自動車の運転者への注意喚起が遅れることを抑止することができる。
【００２８】
例えば、所定の条件が表示遅延時間をできるだけ小さくすることである場合、順序決定部４８は、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧの表示遅延時間の平均（または、二乗平均）ができるだけ小さくなるように、描画処理の実行順を決定する。なお、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧの表示遅延時間は、既に記録されたキャプチャ時刻、描画開始時刻、描画完了時刻等を用いて予測される。
【００２９】
また、所定の条件（表示画像ＤＩＭＧの質を向上させる条件）は、表示遅延時間をできるだけ小さくすることに限定されない。例えば、表示画像ＤＩＭＧの質を向上させる条件は、表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれをできるだけ小さくすることでもよい。表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれは、表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧの撮影タイミングのずれに対応する。撮影タイミングは、撮像装置５０が被写体を撮影するタイミングである。
【００３０】
例えば、撮像装置５０が自動車等に搭載され移動する場合、または、被写体が移動する場合、複数の撮像装置５０の撮影タイミングのずれが大きくなるほど、複数の撮影画像ＣＩＭＧを１つの表示画像ＤＩＭＧとして表示したときの画像の乱れは大きくなる。
【００３１】
したがって、複数の撮像装置５０で撮影された複数の撮影画像ＣＩＭＧが１つの表示画像ＤＩＭＧとして１画面内に表示される場合、複数の撮像装置５０の撮影タイミングのずれが大きくなるほど、表示画像ＤＩＭＧの質が低下するおそれがある。なお、表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧの撮影タイミングのずれは、表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれを調整することにより、調整される。すなわち、表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれをできるだけ小さくすることにより、表示画像ＤＩＭＧの質を向上させることができる。
【００３２】
所定の条件が複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれをできるだけ小さくすることである場合、順序決定部４８は、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれができるだけ小さくなるように、描画処理の実行順を決定する。なお、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれは、既に記録されたキャプチャ時刻、描画開始時刻、描画完了時刻等を用いて予測される。
【００３３】
このように、順序決定部４８は、表示画像ＤＩＭＧの質を向上させる条件に適した処理順序になるように、既に記録されたキャプチャ時刻、描画開始時刻および描画完了時刻に基づいて、描画処理の実行順を決定する。順序決定部４８で決定した処理順序（描画処理の実行順）は、描画処理部４０に通知される。
【００３４】
表示装置６０は、例えば、液晶ディスプレイ等のモニタであり、描画処理部４０から所定の周期（例えば、垂直同期信号の周期）で受けた表示画像ＤＩＭＧを表示する。なお、画像処理システム１０および画像処理装置２０の構成は、図１に示す例に限定されない。例えば、撮像装置５０の数は、２つでもよいし、４つ以上でもよい。また、例えば、記憶部３０は、画像処理装置２０の外部に配置されてもよい。
【００３５】
図２は、図１に示した画像処理装置２０の動作の一例を示す。図２に示す動作は、ハードウェアのみで実現されてもよく、ハードウェアをソフトウェアにより制御することにより実現されてもよい。例えば、画像処理プログラム等のソフトウェアは、プロセッサに図２に示す動作を実行させてもよい。すなわち、プロセッサは、画像処理プログラムを読み取り、図２に示す動作を実行してもよい。図２に示す動作をプロセッサ（すなわち、コンピュータ）に実行させるプログラムは、画像処理プログラムの一態様である。
【００３６】
ステップＳ１００では、画像処理装置２０は、撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃのうち、順序決定部４８で決定した処理順序が１番目の撮影画像ＣＩＭＧを、最初に処理する処理順序ｊ（ｊ＝１）の撮影画像ＣＩＭＧとして選択する。なお、順序決定部４８が処理順序を決定する前の期間（例えば、最初の表示画像ＤＩＭＧが表示装置６０に表示される前）では、画像処理装置２０は、予め決められたデフォルトの処理順序に基づいて、処理順序ｊ（ｊ＝１）の撮影画像ＣＩＭＧを選択する。
【００３７】
次に、ステップＳ１１０では、キャプチャ時刻記録部４２は、処理順序ｊの撮影画像ＣＩＭＧが記憶部３０に記憶された時刻を示すキャプチャ時刻を、処理順序ｊの撮影画像ＣＩＭＧを撮影した撮像装置５０に対応付けてレジスタ等に記録する。
【００３８】
次に、ステップＳ１２０では、描画処理部４０は、処理順序ｊの撮影画像ＣＩＭＧに対して、描画処理を開始する。描画処理が実行された後、すなわち、ステップＳ１２０の処理が実行された後、画像処理装置２０の動作は、ステップＳ１３０に移る。
【００３９】
ステップＳ１３０では、描画開始時刻記録部４４は、処理順序ｊの撮影画像ＣＩＭＧに対する描画処理の開始時刻を示す描画開始時刻を、処理順序ｊの撮影画像ＣＩＭＧを撮影した撮像装置５０に対応付けてレジスタ等に記録する。
【００４０】
次に、ステップＳ１４０では、描画完了時刻記録部４６は、処理順序ｊの撮影画像ＣＩＭＧに対する描画処理が完了するまで待機する。そして、描画完了時刻記録部４６は、処理順序ｊの撮影画像ＣＩＭＧに対する描画処理が完了した場合、ステップＳ１５０の処理を実行する。
【００４１】
ステップＳ１５０では、描画完了時刻記録部４６は、処理順序ｊの撮影画像ＣＩＭＧに対する描画処理の完了時刻を示す描画完了時刻を、処理順序ｊの撮影画像ＣＩＭＧを撮影した撮像装置５０に対応付けてレジスタ等に記録する。
【００４２】
次に、ステップＳ１６０では、画像処理装置２０は、１画面分の描画処理が完了したか否かを判定する。例えば、画像処理装置２０は、撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃの全てに対して、描画処理が完了したか否かを判定する。１画面分の描画処理が完了した場合、画像処理装置２０の動作は、ステップＳ１８０に移る。一方、１画面分の描画処理が完了していない場合、画像処理装置２０の動作は、ステップＳ１７０に移る。
【００４３】
ステップＳ１７０では、画像処理装置２０は、撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃのうち、次に処理する処理順序ｊ（ｊ＝ｊ＋１）の撮影画像ＣＩＭＧを選択する。ステップＳ１７０の処理が実行された後、画像処理装置２０の動作は、ステップＳ１１０に戻る。すなわち、ステップＳ１１０−Ｓ１５０の処理は、１画面分の描画処理が完了するまで、順序決定部４８により決定された処理順序（順序決定部４８が処理順序を決定する前の期間ではデフォルトの処理順序）に従って繰り返される。そして、１画面分の描画処理が完了した場合、ステップＳ１８０の処理が実行される。
【００４４】
ステップＳ１８０では、順序決定部４８は、次の表示画像ＤＩＭＧを表示装置６０に表示する際の複数の撮影画像ＣＩＭＧの各々に対する描画処理の実行順（処理順序）を、所定の条件に適した処理順序になるように決定する。例えば、順序決定部４８は、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧの表示遅延時間の平均（または、二乗平均）ができるだけ小さくなるように、キャプチャ時刻、描画開始時刻、描画完了時刻等を用いて、描画処理の実行順を決定する。あるいは、順序決定部４８は、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれができるだけ小さくなるように、キャプチャ時刻、描画開始時刻、描画完了時刻等を用いて、描画処理の実行順を決定してもよい。
【００４５】
次に、ステップＳ１９０では、画像処理装置２０は、例えば、表示画像ＤＩＭＧを表示装置６０に表示するタイミング（以下、表示タイミングとも称する）に対応する垂直同期信号等を検出するまで、表示画像ＤＩＭＧの表示装置６０への転送を待機する。すなわち、画像処理装置２０は、垂直同期信号等の表示タイミングに同期して、ステップＳ２００の処理を実行する。
【００４６】
ステップＳ２００では、画像処理装置２０は、描画処理が完了した複数の撮影画像ＣＩＭＧａ、ＣＩＭＧｂ、ＣＩＭＧｃを１つの表示画像ＤＩＭＧとして、表示装置６０に出力する。これにより、表示画像ＤＩＭＧは、表示装置６０に表示される。ステップＳ２００の処理が実行された後、画像処理装置２０の動作は、ステップＳ１００に戻り、次の表示画像ＤＩＭＧを表示装置６０に表示する処理が実行される。これにより、表示画像ＤＩＭＧは、垂直同期信号等の表示タイミングに同期して表示装置６０に順次表示される。
【００４７】
ここで、例えば、画像処理システム１０によっては、複数の撮像装置５０の撮影タイミングは互いに同じとは限らない。また、複数の撮像装置５０の撮影タイミングのずれは、撮影中に変化する場合もある。したがって、描画処理の実行順が表示画像ＤＩＭＧの質を向上させる条件を考慮せずに任意の順序で固定された場合、固定された順序と異なる順序で撮影画像ＣＩＭＧを処理した方が表示画像ＤＩＭＧの質が向上する場合がある。
【００４８】
このため、順序決定部４８は、複数の撮像装置５０で撮影された複数の撮影画像ＣＩＭＧを処理する順序を、表示画像ＤＩＭＧの質を向上させる条件に適した処理順序になるように、キャプチャ時刻、描画開始時刻、描画完了時刻等に基づいて調整する。これにより、図２に示す動作では、表示装置６０に表示される表示画像ＤＩＭＧの質は、複数の撮影画像ＣＩＭＧに対する描画処理の実行順を固定した手法に比べて、向上する。なお、画像処理装置２０の動作は、図２に示す例に限定されない。
【００４９】
以上、図１および図２に示す実施形態では、順序決定部４８は、例えば、表示画像ＤＩＭＧの質を向上させる条件に適した処理順序になるように、キャプチャ時刻、描画開始時刻および描画完了時刻を用いて、描画処理の実行順を決定する。これにより、表示画像ＤＩＭＧの質を向上させることができる。
【００５０】
図３は、画像処理方法および画像処理プログラムの別の実施形態を示す。図１および図２で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図３に示す画像処理システムＳＹＳは、複数のカメラＣＡＭ（ＣＡＭ１、ＣＡＭ２、ＣＡＭ３、ＣＡＭ４）と、記憶部ＭＥＭ（ＭＥＭ１、ＭＥＭ２、ＭＥＭ３、ＭＥＭ４）と、プロセッサＰＵと、表示装置ＤＩＳとを有する。
【００５１】
カメラＣＡＭは、例えば、デジタルカメラであり、撮像装置の一例である。例えば、カメラＣＡＭ１、ＣＡＭ２、ＣＡＭ３、ＣＡＭ４は、所定のフレームレートでそれぞれ撮影した撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４を記憶部ＭＥＭ１、ＭＥＭ２、ＭＥＭ３、ＭＥＭ４にそれぞれ転送する。なお、撮影画像ＣＩＭＧ（ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４）は、カメラＣＡＭからプロセッサＰＵを介して記憶部ＭＥＭに転送されてもよい。カメラＣＡＭの符号の末尾の数字、記憶部ＭＥＭの符号の末尾の数字、撮影画像ＣＩＭＧの末尾の数字（図４等では、符号ＣＩＭＧの後の数字）は、互いに対応する。
【００５２】
各記憶部ＭＥＭは、１フレーム分の撮影画像ＣＩＭＧをそれぞれ記憶する３つのバッファＢＵＦ（ＢＵＦａ、ＢＵＦｂ、ＢＵＦｃ）を有し、トリプルバッファ方式で撮影画像ＣＩＭＧを順次記憶する。バッファＢＵＦａ、ＢＵＦｂ、ＢＵＦｃの符号の末尾の数字は、記憶部ＭＥＭの符号の末尾の数字に対応する。例えば、バッファＢＵＦａ１、ＢＵＦｂ１、ＢＵＦｃ１は、記憶部ＭＥＭ１が有するバッファＢＵＦである。
【００５３】
以下、バッファＢＵＦａ１、ＢＵＦｂ１、ＢＵＦｃ１は、バッファＢＵＦ１とも称され、バッファＢＵＦａ２、ＢＵＦｂ２、ＢＵＦｃ２は、バッファＢＵＦ２とも称される。同様に、バッファＢＵＦａ３、ＢＵＦｂ３、ＢＵＦｃ３は、バッファＢＵＦ３とも称され、バッファＢＵＦａ４、ＢＵＦｂ４、ＢＵＦｃ４は、バッファＢＵＦ４とも称される。
【００５４】
プロセッサＰＵは、例えば、ＣＰＵであり、画像処理プログラムを実行することで画像処理装置として機能する。プロセッサＰＵは、複数のカメラＣＡＭでそれぞれ撮影された複数の撮影画像ＣＩＭＧを表示画像ＤＩＭＧとして、表示装置ＤＩＳの１画面に所定の時間間隔で表示する。例えば、各撮影画像ＣＩＭＧは、各カメラＣＡＭの１フレーム分の画像であり、表示画像ＤＩＭＧは、撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４を表示装置ＤＩＳの画面内の所定の場所にそれぞれ配置した画像である。
【００５５】
例えば、プロセッサＰＵは、キャプチャ時刻記録部ＣＲＥＣ、読み込み時刻記録部ＲＲＥＣ、描画完了時刻記録部ＦＲＥＣ、表示時刻記録部ＶＲＥＣ、予測部ＣＡＬ、順序決定部ＳＥＱおよび描画処理部ＤＲＡＷを有する。キャプチャ時刻記録部ＣＲＥＣ、読み込み時刻記録部ＲＲＥＣ、描画完了時刻記録部ＦＲＥＣ、表示時刻記録部ＶＲＥＣ、予測部ＣＡＬ、順序決定部ＳＥＱおよび描画処理部ＤＲＡＷは、プロセッサＰＵが画像処理プログラムを実行することにより実現される。
【００５６】
キャプチャ時刻記録部ＣＲＥＣは、カメラＣＡＭ１−ＣＡＭ４でそれぞれ撮影された撮影画像ＣＩＭＧ１−ＣＩＭＧ４が記憶部ＭＥＭ１−ＭＥＭ４に記憶された時刻をそれぞれ示すキャプチャ時刻を、複数のカメラＣＡＭの各々に対応付けて記録する。例えば、キャプチャ時刻記録部ＣＲＥＣは、１フレーム分の撮影画像ＣＩＭＧが記憶部ＭＥＭに記憶されたときに発生する割り込み等に基づいて、キャプチャ時刻を示すタイムスタンプを、撮影画像ＣＩＭＧ毎（すなわち、カメラＣＡＭ毎）にレジスタ等に記録する。
【００５７】
描画処理部ＤＲＡＷは、記憶部ＭＥＭ１−ＭＥＭ４にそれぞれ記憶された撮影画像ＣＩＭＧ１−ＣＩＭＧ４の各々に対して、表示装置ＤＩＳに表示するための描画処理を順番に実行する。例えば、描画処理部ＤＲＡＷは、記憶部ＭＥＭから撮影画像ＣＩＭＧを読み出し、記憶部ＭＥＭから読み出した撮影画像ＣＩＭＧに対して描画処理を実行する一連の処理を、順序決定部ＳＥＱにより決定された処理順序に従って撮影画像ＣＩＭＧ毎に実行する。この場合、プロセッサＰＵが撮影画像ＣＩＭＧを記憶部ＭＥＭから読み込んだ時刻は、描画処理の開始時刻に対応する。
【００５８】
表示画像ＤＩＭＧの１画面分の描画処理が完了した場合、描画処理部ＤＲＡＷは、描画処理が完了した撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４を１つの表示画像ＤＩＭＧとして、所定のタイミングに同期して表示装置ＤＩＳに出力する。例えば、描画処理部ＤＲＡＷは、表示画像ＤＩＭＧを垂直同期信号に同期して表示装置ＤＩＳに出力する。
【００５９】
読み込み時刻記録部ＲＲＥＣは、プロセッサＰＵが撮影画像ＣＩＭＧを記憶部ＭＥＭから読み込んだ時刻を示す読み込み時刻を、複数のカメラＣＡＭの各々に対応付けて記録する。読み込み時刻は、描画処理を開始した時刻を示す描画開始時刻の一例である。例えば、読み込み時刻記録部ＲＲＥＣは、プロセッサＰＵが撮影画像ＣＩＭＧを記憶部ＭＥＭから読み込む度に、読み込み時刻を示すタイムスタンプをレジスタ等に記録する。これにより、読み込み時刻は、撮影画像ＣＩＭＧ毎（すなわち、カメラＣＡＭ毎）にレジスタ等に記録される。
【００６０】
描画完了時刻記録部ＦＲＥＣは、描画処理が完了した時刻を示す描画完了時刻を複数のカメラＣＡＭの各々に対応付けて記録する。例えば、描画完了時刻記録部ＦＲＥＣは、１フレーム分の撮影画像ＣＩＭＧに対する描画処理が完了する度に、描画完了時刻を示すタイムスタンプをレジスタ等に記録する。これにより、描画完了時刻は、撮影画像ＣＩＭＧ毎（すなわち、カメラＣＡＭ毎）にレジスタ等に記録される。
【００６１】
表示時刻記録部ＶＲＥＣは、表示画像ＤＩＭＧが表示装置ＤＩＳに表示された時刻を示す表示時刻を記録する。例えば、表示時刻記録部ＶＲＥＣは、プロセッサＰＵが表示画像ＤＩＭＧを表示装置ＤＩＳに出力する度に、表示時刻を示すタイムスタンプをレジスタ等に記録する。
【００６２】
予測部ＣＡＬは、既に記録された表示時刻、キャプチャ時刻、読み込み時刻および描画完了時刻を用いて、次の表示画像ＤＩＭＧに対応するキャプチャ時刻、読み込み時刻および描画完了時刻を、複数の撮影画像ＣＩＭＧの処理順序の組み合わせ毎に予測する。
【００６３】
順序決定部ＳＥＱは、次の表示画像ＤＩＭＧを表示装置ＤＩＳに表示する際の複数の撮影画像ＣＩＭＧの各々に対する描画処理の実行順を、予測部ＣＡＬで予測したキャプチャ時刻、読み込み時刻および描画完了時刻に基づいて決定する。例えば、順序決定部ＳＥＱは、予測部ＣＡＬで予測したキャプチャ時刻、読み込み時刻および描画完了時刻に基づいて、所定の条件に対応した評価値を処理順序の組み合わせ毎に算出する。そして、順序決定部ＳＥＱは、算出した評価値に基づいて、次の表示画像ＤＩＭＧを表示装置ＤＩＳに表示する際の描画処理の実行順を決定する。
【００６４】
なお、所定の条件に対応した評価値は、例えば、所定の条件が表示遅延時間をできるだけ小さくすることである場合、撮影画像ＣＩＭＧが記憶部ＭＥＭに記憶されてから表示装置ＤＩＳに表示されるまでの時間に関する評価値である。また、例えば、所定の条件が複数の撮影画像ＣＩＭＧのキャプチャ時刻のずれをできるだけ小さくすることである場合、所定の条件に対応した評価値は、キャプチャ時刻のばらつきに関する評価値である。
【００６５】
このように、順序決定部ＳＥＱは、次の表示画像ＤＩＭＧを表示装置ＤＩＳに表示する際の複数の撮影画像ＣＩＭＧの各々に対する描画処理の実行順を、所定の条件に適した順序になるように、キャプチャ時刻、読み込み時刻および描画完了時刻を用いて決定する。
【００６６】
表示装置ＤＩＳは、例えば、液晶ディスプレイ等のモニタであり、描画処理部ＤＲＡＷから垂直同期信号に同期して受けた表示画像ＤＩＭＧを表示する。
【００６７】
なお、画像処理システムＳＹＳの構成は、図３に示す例に限定されない。例えば、記憶部ＭＥＭ、プロセッサＰＵ等は、バスを介して接続されてもよい。この場合、例えば、撮影画像ＣＩＭＧは、記憶部ＭＥＭからバスを介してプロセッサＰＵに転送される。また、カメラＣＡＭの数は、２つでもよいし、３つでもよい。あるいは、カメラＣＡＭの数は、５つ以上でもよい。また、記憶部ＭＥＭは、プロセッサＰＵ内に設けられてもよい。また、キャプチャ時刻記録部ＣＲＥＣ、読み込み時刻記録部ＲＲＥＣ、描画完了時刻記録部ＦＲＥＣ、表示時刻記録部ＶＲＥＣ、予測部ＣＡＬ、順序決定部ＳＥＱおよび描画処理部ＤＲＡＷは、ハードウェアのみで実現されてもよい。
【００６８】
図４は、図３に示したプロセッサＰＵに参照される情報の一例を示す。図４に示すカメラフレーム番号（ｍ、Ｇｊｎ）は、撮影画像ＣＩＭＧのフレーム番号であり、表示フレーム番号（ｎ）は、表示画像ＤＩＭＧのフレーム番号である。
【００６９】
カメラ動作系の情報は、撮影画像ＣＩＭＧｉｍ、撮影画像更新周期Ｕｉ、処理順序Ｏｉおよびキャプチャ時刻Ｃｉｍ等である。また、プロセッサ動作系の情報は、読み込み時刻Ｒｊｎ、カメラフレーム番号Ｇｊｎ、描画完了時刻Ｆｊｎ、フレーム描画完了時刻Ｆｎおよび表示時刻Ｖｎ等である。先ず、カメラ動作系の情報について説明する。
【００７０】
カメラ番号ｉは、各カメラＣＡＭに割り当てられる識別番号を示す。例えば、カメラＣＡＭの符号の末尾の数字は、カメラ番号ｉに対応する。カメラＣＡＭ１は、カメラ番号１のカメラＣＡＭである。撮影画像ＣＩＭＧｉｍは、カメラＣＡＭｉで撮影されたカメラフレーム番号ｍの撮影画像ＣＩＭＧを示す。例えば、撮影画像ＣＩＭＧ１ｍは、カメラＣＡＭ１で撮影された動画のｍフレーム目の撮影画像ＣＩＭＧを示す。なお、撮影画像ＣＩＭＧ１ｍ、ＣＩＭＧ２ｍ、ＣＩＭＧ３ｍ、ＣＩＭＧ４ｍは、カメラフレーム番号ｍを特定しない場合等では、図３に示したように、符号ｍを省略して記載される場合もある。
【００７１】
撮影画像更新周期Ｕｉは、カメラＣＡＭｉで撮影される動画のフレーム周期を示す。例えば、撮影画像更新周期Ｕ１は、カメラＣＡＭ１で撮影される動画のフレーム周期を示す。
【００７２】
処理順序Ｏｉは、表示フレーム番号ｎの表示画像ＤＩＭＧ（以下、表示画像ＤＩＭＧｎとも称する）を表示装置ＤＩＳに表示する際の各撮影画像ＣＩＭＧｉに対する描画処理の実行順を示す。例えば、カメラＣＡＭ１で撮影された撮影画像ＣＩＭＧ１に対する描画処理が、表示フレーム期間Ｔｎ（ｎ番目の表示フレーム期間Ｔ）において、４番目に実行された場合、処理順序Ｏ１は、４に設定される。なお、表示フレーム期間Ｔは、例えば、垂直同期信号の周期に対応する期間である。
【００７３】
キャプチャ時刻Ｃｉｍは、カメラＣＡＭｉで撮影されたカメラフレーム番号ｍの撮影画像ＣＩＭＧｉｍが記憶部ＭＥＭに記憶された時刻を示す。例えば、キャプチャ時刻Ｃ１ｍは、カメラＣＡＭ１で撮影された動画のｍフレーム目の撮影画像ＣＩＭＧ１ｍが記憶部ＭＥＭ１に記憶された時刻を示す。
【００７４】
次に、プロセッサ動作系の情報について説明する。処理順序ｊは、各表示フレーム期間Ｔに、プロセッサＰＵが描画処理を実行する順序を示す。なお、表示フレーム期間Ｔｎに描画処理が実行された撮影画像ＣＩＭＧ１−ＣＩＭＧ４は、表示画像ＤＩＭＧｎとして、表示フレーム期間Ｔ（ｎ＋１）に表示装置ＤＩＳに表示される。
【００７５】
処理順序ｊに対応するカメラＣＡＭｉは、処理順序ＯｉがｊであるカメラＣＡＭｉである。したがって、読み込み時刻Ｒｊｎ、カメラフレーム番号Ｇｊｎおよび描画完了時刻Ｆｊｎは、処理順序Ｏｉを介して複数のカメラＣＡＭｉのいずれかに対応付けされる。例えば、処理順序Ｏ３が１に設定された場合、処理順序１に対応するカメラＣＡＭは、カメラＣＡＭ３であり、処理順序１の読み込み時刻Ｒ１ｎ、カメラフレーム番号Ｇ１ｎおよび描画完了時刻Ｆ１ｎは、カメラＣＡＭ３に対応する情報である。
【００７６】
読み込み時刻Ｒｊｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが記憶部ＭＥＭからｊ番目に読み込んだ撮影画像ＣＩＭＧの読み込み時刻（プロセッサＰＵが撮影画像ＣＩＭＧｉを記憶部ＭＥＭｉから読み込んだ時刻）を示す。例えば、読み込み時刻Ｒ１ｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが記憶部ＭＥＭ１−ＭＥＭ４のいずれかから最初に読み込んだ撮影画像ＣＩＭＧの読み込み時刻を示す。また、読み込み時刻Ｒ２ｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが記憶部ＭＥＭ１−ＭＥＭ４のいずれかから２番目に読み込んだ撮影画像ＣＩＭＧの読み込み時刻を示す。
【００７７】
カメラフレーム番号Ｇｊｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが記憶部ＭＥＭからｊ番目に読み込んだ撮影画像ＣＩＭＧのフレーム番号を示す。例えば、カメラフレーム番号Ｇ１ｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが記憶部ＭＥＭ１−ＭＥＭ４のいずれかから最初に読み込んだ撮影画像ＣＩＭＧのカメラフレーム番号を示す。
【００７８】
描画完了時刻Ｆｊｎは、表示フレーム期間Ｔｎに、プロセッサＰＵがｊ番目に実行した描画処理の完了時刻を示す。例えば、描画完了時刻Ｆ１ｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが最初に実行した描画処理の完了時刻を示す。また、描画完了時刻Ｆ２ｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが２番目に実行した描画処理の完了時刻を示す。
【００７９】
フレーム描画完了時刻Ｆｎは、表示画像ＤＩＭＧｎに使用する全ての撮影画像ＣＩＭＧに対して、描画処理が完了した時刻を示す。すなわち、フレーム描画完了時刻Ｆｎは、表示フレーム期間Ｔｎに、プロセッサＰＵが最後に実行した描画処理の完了時刻（すなわち、描画完了時刻Ｆ４ｎ）を示す。
【００８０】
表示時刻Ｖｎは、表示フレーム期間Ｔｎの開始時刻を示す。例えば、表示時刻Ｖｎは、表示画像ＤＩＭＧ（ｎ−１）を表示装置ＤＩＳに表示する際の垂直同期信号を検出した時刻を示す。
【００８１】
図５は、図３に示した画像処理システムＳＹＳの動作タイミングの一例を示す。図５の網掛けの菱形は、表示フレーム期間Ｔｎが終了するまでに記録されたキャプチャ時刻Ｃｉｍ、読み込み時刻Ｒｊｎ、描画完了時刻Ｆｊｎ等を示す。また、白抜きの菱形は、表示フレーム期間Ｔｎに予測されたキャプチャ時刻Ｃｉ（ｍ＋１）、読み込み時刻Ｒｊ（ｎ＋１）等を示す。図５では、表示フレーム期間Ｔｎでの動作タイミングを中心に説明する。
【００８２】
プロセッサＰＵは、処理順序Ｏ１、Ｏ２、Ｏ３、Ｏ４にそれぞれ設定された順序（図５に示す例では、Ｏ１＝４、Ｏ２＝３、Ｏ３＝１、Ｏ４＝２）に従って、撮影画像ＣＩＭＧ１−ＣＩＭＧ４の各々に対する描画処理を実行する。すなわち、表示フレーム期間Ｔｎでは、プロセッサＰＵは、カメラＣＡＭ３、カメラＣＡＭ４、カメラＣＡＭ２、カメラＣＡＭ１の順序で描画処理を実行する。
【００８３】
表示時刻Ｖｎでは、カメラＣＡＭ３の撮影画像ＣＩＭＧ３ｍは、記憶部ＭＥＭ３に記憶されていない。このため、プロセッサＰＵは、撮影画像ＣＩＭＧ３（ｍ−１）を記憶部ＭＥＭ３から読み込み、描画処理を実行する。プロセッサＰＵは、撮影画像ＣＩＭＧ３（ｍ−１）を記憶部ＭＥＭ３から読み込んだ時刻を読み込み時刻Ｒ１ｎとして記録する。そして、プロセッサＰＵは、撮影画像ＣＩＭＧ３（ｍ−１）に対する描画処理が完了した場合、撮影画像ＣＩＭＧ３（ｍ−１）に対する描画処理の完了時刻を描画完了時刻Ｆ１ｎとして記録する。
【００８４】
撮影画像ＣＩＭＧ３の表示遅延時間ＤＬＹ３は、撮影画像ＣＩＭＧ３（ｍ−１）に対して描画処理が実行されたため、表示時刻Ｖ（ｎ＋１）からキャプチャ時刻Ｃ３（ｍ−１）を引いた時間である。なお、表示遅延時間ＤＬＹは、撮影画像ＣＩＭＧが記憶部ＭＥＭに記憶されてから表示装置ＤＩＳに表示されるまでの時間ＤＬＹである。以下、表示遅延時間ＤＬＹは、遅延時間ＤＬＹとも称される。
【００８５】
プロセッサＰＵは、撮影画像ＣＩＭＧ３（ｍ−１）に対する描画処理が完了した場合、次の処理順序の撮影画像ＣＩＭＧ４ｍを記憶部ＭＥＭ４から読み込み、描画処理を実行する。なお、撮影画像ＣＩＭＧ３（ｍ−１）に対する描画処理が完了した描画完了時刻Ｆ１ｎでは、カメラＣＡＭ４の撮影画像ＣＩＭＧ４ｍが記憶部ＭＥＭ４に記憶されているため、撮影画像ＣＩＭＧ４ｍが記憶部ＭＥＭ４から読み出される。このため、撮影画像ＣＩＭＧ４の表示遅延時間ＤＬＹ４は、表示時刻Ｖ（ｎ＋１）からキャプチャ時刻Ｃ４ｍを引いた時間である。また、撮影画像ＣＩＭＧ４ｍが記憶部ＭＥＭ４から読み出された時刻は、読み込み時刻Ｒ２ｎとして記録される。
【００８６】
撮影画像ＣＩＭＧ４ｍに対する描画処理が完了した後に、撮影画像ＣＩＭＧ２ｍに対する描画処理が実行され、撮影画像ＣＩＭＧ２ｍに対する描画処理が完了した後に、撮影画像ＣＩＭＧ１ｍに対する描画処理が実行される。そして、撮影画像ＣＩＭＧ１ｍに対する描画処理が完了した後に、表示フレーム期間Ｔｎの次の表示フレーム期間Ｔ（ｎ＋１）の処理順序Ｏｉを決定し、表示時刻Ｖ（ｎ＋１）に表示画像ＤＩＭＧｎを表示装置ＤＩＳに表示する。
【００８７】
表示フレーム期間Ｔｎの次の表示フレーム期間Ｔ（ｎ＋１）の処理順序Ｏｉを決定する処理では、処理順序の全ての組み合わせの中から最適な組み合わせの処理順序が選択される。図３に示した画像処理システムＳＹＳでは、カメラＣＡＭの数が４つであるため、処理順序の組み合わせは、２４（＝４Ｐ４＝４×３×２×１）通りである。図５に示した白抜きの菱形は、２４通りの組み合わせのうちの１つ（表示フレーム期間Ｔｎと同じ順序）を例として示している。
【００８８】
表示フレーム期間Ｔｎの次の表示フレーム期間Ｔ（ｎ＋１）の処理順序Ｏｉを決定する場合、表示フレーム期間Ｔ（ｎ＋１）に最初に読み込む撮影画像ＣＩＭＧの読み込み時間Ｒ１（ｎ＋１）の予測値は、表示時刻Ｖ（ｎ＋１）とする。表示時刻Ｖ（ｎ＋１）は、表示フレーム期間Ｔ（ｎ＋１）の開始時刻である。例えば、プロセッサＰＵは、表示フレーム期間Ｔの周期（表示時刻Ｖｎから表示時刻Ｖ（ｎ−１）を引いた時間）を表示時刻Ｖｎに加算した時刻を、表示時刻Ｖ（ｎ＋１）として予測する。
【００８９】
２番目に読み込む撮影画像ＣＩＭＧの読み込み時間Ｒ２（ｎ＋１）の予測値は、１つ前（すなわち、１番目）に読み込む撮影画像ＣＩＭＧの読み込み時間Ｒ１（ｎ＋１）の予測値に描画処理の時間を加算した時刻である。この場合、描画処理の時間は、表示フレーム期間Ｔ（ｎ＋１）に最初に読み込む撮影画像ＣＩＭＧを撮影したカメラＣＡＭで撮影された撮影画像ＣＩＭＧの表示フレーム期間Ｔｎにおける描画処理の時間（＝Ｆｊｎ−Ｒｊｎ）とする。図５に示す例では、カメラＣＡＭ３で撮影された撮影画像ＣＩＭＧ３ｍが表示フレーム期間Ｔ（ｎ＋１）の最初に読み込まれるため、プロセッサＰＵは、カメラＣＡＭ３で撮影された撮影画像ＣＩＭＧ３の表示フレーム期間Ｔｎにおける処理順序Ｏ３を参照する。そして、プロセッサＰＵは、処理順序Ｏ３が１であるため、描画完了時刻Ｆ１ｎから読み込み時刻Ｒ１ｎを引いた時間（＝Ｆ１ｎ−Ｒ１ｎ）を描画処理の時間として、読み込み時間Ｒ２（ｎ＋１）を予測する。
【００９０】
３番目以降に読み込む撮影画像ＣＩＭＧの読み込み時間Ｒｊ（ｎ＋１）の予測値も、２番目に読み込む撮影画像ＣＩＭＧの読み込み時間Ｒ２（ｎ＋１）の予測値と同様に算出される。
【００９１】
また、プロセッサＰＵは、撮影画像ＣＩＭＧが更新される時刻（キャプチャ時刻Ｃｉ（ｍ＋１）等）をカメラＣＡＭ毎に予測する。例えば、各撮影画像ＣＩＭＧｉが更新された最新の時刻がキャプチャ時刻Ｃｉｍである場合、プロセッサＰＵは、キャプチャ時刻Ｃｉｍに撮影画像更新周期Ｕｉを加算した時刻を、次の更新時刻として予測する。さらに、プロセッサＰＵは、キャプチャ時刻Ｃｉｍに撮影画像更新周期Ｕｉの２倍を加算した時刻を、次の次の更新時刻として予測する。撮影画像更新周期Ｕｉは、例えば、キャプチャ時刻Ｃｉｍからキャプチャ時刻Ｃｉ（ｍ−１）を引いた時間である。なお、プロセッサＰＵは、カメラＣＡＭの仕様から想定される周期を撮影画像更新周期Ｕとして使用してもよい。図５に示す例では、キャプチャ時刻Ｃｉ（ｍ＋１）が次の更新時刻として算出される。
【００９２】
また、プロセッサＰＵは、表示フレーム期間Ｔ（ｎ＋１）の描画処理の対象となる各撮影画像ＣＩＭＧｉのカメラフレーム番号Ｇｊ（ｎ＋１）を算出する。そして、プロセッサＰＵは、表示フレーム期間Ｔ（ｎ＋１）の描画処理の対象となる各撮影画像ＣＩＭＧｉのカメラフレーム番号Ｇｊ（ｎ＋１）等に基づいて、評価値を算出する。カメラフレーム番号Ｇｊ（ｎ＋１）の算出方法、評価値の算出方法等については、図７および図８で説明する。
【００９３】
プロセッサＰＵは、処理順序の全ての組み合わせについて評価値を算出し、評価値が最もよい組み合わせの処理順序を、表示フレーム期間Ｔ（ｎ＋１）の処理順序Ｏｉに決定する。これにより、表示画像ＤＩＭＧに使用する複数の撮影画像ＣＩＭＧとして、各カメラＣＡＭで撮影された各動画のどのフレームを選択するかがカメラＣＡＭ毎に決定される。図５に示す例は、遅延時間ＤＬＹ１、ＤＬＹ２、ＤＬＹ３、ＤＬＹ４の平均値（例えば、二乗平均の値）を評価値とした場合の動作タイミングに対応する。
【００９４】
ここで、例えば、カメラＣＡＭ１、カメラＣＡＭ２、カメラＣＡＭ３、カメラＣＡＭ４の順序で描画処理の実行順が固定された場合、プロセッサＰＵは、表示時刻Ｖｎに、撮影画像ＣＩＭＧ１（ｍ−１）を記憶部ＭＥＭ３から読み込む。すなわち、プロセッサＰＵは、表示フレーム期間Ｔｎに、撮影画像ＣＩＭＧ１（ｍ−１）に対して描画処理を実行する。そして、撮影画像ＣＩＭＧ２（ｍ−１）に対する描画処理、撮影画像ＣＩＭＧ３（ｍ−１）に対する描画処理、撮影画像ＣＩＭＧ４ｍに対する描画処理が順次実行される。
【００９５】
このように、処理順序がカメラ番号ｉに基づく順序（例えば、カメラ番号ｉが小さい順）に固定された場合、カメラＣＡＭ１、ＣＡＭ２では、図５に示す例に比べて１つ前のフレームの撮影画像ＣＩＭＧが表示画像ＤＩＭＧｎに使用される。この場合、カメラＣＡＭ１、ＣＡＭ２では、遅延時間ＤＬＹは、図５に示す例に比べて、撮影画像更新周期Ｕ分大きくなる。換言すれば、図５に示す動作タイミングでは、遅延時間ＤＬＹ１、ＤＬＹ２は、処理順序をカメラ番号ｉの順に固定した場合に比べて小さくなる。すなわち、図５に示す例では、プロセッサＰＵは、処理順序をカメラ番号ｉの順に固定した場合に比べて、遅延時間ＤＬＹ１、ＤＬＹ２、ＤＬＹ３、ＤＬＹ４の平均値を小さくできる。
【００９６】
ここで、例えば、複数のカメラＣＡＭがプロセッサＰＵとは異なるクロック系で動作している場合、発振器等の精度に依存して、撮影画像更新周期Ｕが複数のカメラＣＡＭの各々で変化する場合がある。この場合、時間の推移に伴う撮影画像更新周期Ｕの変化により、撮影中に、複数のカメラＣＡＭでそれぞれ撮影された複数の撮影画像ＣＩＭＧの記憶部ＭＥＭへの転送順序が変化するおそれがある。この場合でも、撮影画像更新周期Ｕのずれは連続的に発生するため、表示フレーム期間Ｔｎの動作タイミングの計測結果を次の表示フレーム期間Ｔ（ｎ＋１）の動作タイミングの予測に利用することにより、撮影画像更新周期Ｕの変化の影響を抑止することができる。
【００９７】
このように、プロセッサＰＵは、表示フレーム期間Ｔｎの動作タイミングの計測結果に基づいて表示フレーム期間Ｔ（ｎ＋１）の動作タイミングを予測し、予測結果に基づいて描画処理の実行順（すなわち、撮影画像ＣＩＭＧの読み込み順序）を決定する。これにより、表示画像ＤＩＭＧに使用する複数の撮影画像ＣＩＭＧとして、表示画像ＤＩＭＧの質を向上させる条件に適したカメラフレーム番号ｍの撮影画像ＣＩＭＧｉｍがカメラＣＡＭ毎に決定される。
【００９８】
図６は、図３に示したプロセッサＰＵの動作の一例を示す。図６に示す動作は、プロセッサＰＵを画像処理プログラム等のソフトウェアで制御することにより実現される。例えば、プロセッサＰＵは、画像処理プログラムを読み取り、図６に示す動作を実行する。図６に示す動作をプロセッサＰＵ（すなわち、コンピュータ）に実行させるプログラムは、画像処理プログラムの一態様である。なお、図３に示したキャプチャ時刻記録部ＣＲＥＣ等に対応する機能ブロック（プロセッサＰＵ内の機能ブロック）がハードウェアのみで実現される場合、図６に示す動作は、ハードウェアのみで実現されてもよい。
【００９９】
図６では、ステップＳ３８０の処理が実行される時点において、記憶部ＭＥＭｉに記憶された１フレーム分の撮影画像ＣＩＭＧｉのうちの最新の撮影画像ＣＩＭＧｉのカメラフレーム番号を、カメラフレーム番号ｍとしてプロセッサＰＵの動作を説明する。すなわち、カメラフレーム番号ｍは、表示画像ＤＩＭＧｎに使用される撮影画像ＣＩＭＧｉのカメラフレーム番号である。例えば、図５に示した動作タイミングと図６に示す動作との関係では、図６に示す変数ｊが１の場合、図６に示すカメラフレーム番号ｍは、図５に示したカメラフレーム番号（ｍ−１）に対応する。また、変数ｊが２、３、４のいずれかの場合、図６に示すカメラフレーム番号ｍは、図５に示したカメラフレーム番号ｍに対応する。
【０１００】
ステップＳ３００では、プロセッサＰＵは、表示フレーム番号ｎを示す変数ｎを０に設定し、動作をステップＳ３２０に移す。
【０１０１】
ステップＳ３２０では、プロセッサＰＵは、表示時刻Ｖｎをレジスタ等に記録し、動作をステップＳ３４０に移す。なお、最初の表示画像ＤＩＭＧｎ（ＤＩＭＧ０）が表示される前では、プロセッサＰＵは、例えば、垂直同期信号の周期に対応する表示フレーム期間Ｔｎの最初の表示フレーム期間Ｔ０の開始時刻を表示時刻Ｖｎ（Ｖ０）としてレジスタ等に記録する。
【０１０２】
ステップＳ３４０では、プロセッサＰＵは、処理順序ｊを示す変数ｊを１に設定し、動作をステップＳ３６０に移す。
【０１０３】
ステップＳ３６０では、プロセッサＰＵは、処理順序Ｏｉが変数ｊであるカメラ番号ｉを検索し、動作をステップＳ３８０に移す。ステップＳ３６０の処理により、描画処理の対象のカメラＣＡＭｉが選択される。なお、処理順序Ｏｉは、ステップＳ５６０の処理が１度も実行されていない場合、予め決められたデフォルトの処理順序（例えば、カメラ番号ｉが小さい順）に設定されている。
【０１０４】
ステップＳ３８０では、プロセッサＰＵは、ステップＳ３６０の処理で選択したカメラＣＡＭｉで撮影されたｍフレーム目の撮影画像ＣＩＭＧｉｍが記憶部ＭＥＭｉに記憶された時刻を、キャプチャ時刻Ｃｉｍとしてレジスタ等に記録する。例えば、プロセッサＰＵは、撮影画像ＣＩＭＧｉｍを記憶部ＭＥＭｉに記憶した時刻を示すタイムスタンプを取得し、取得したタイムスタンプをキャプチャ時刻Ｃｉｍとしてレジスタ等に記録する。ステップＳ３８０の処理が実行された後、プロセッサＰＵの動作は、ステップＳ４００に移る。
【０１０５】
ステップＳ４００では、プロセッサＰＵは、カメラ番号ｉの撮影画像ＣＩＭＧｉｍの読み込み時刻Ｒｊｎをレジスタ等に記録する。例えば、プロセッサＰＵは、ステップＳ３６０の処理で選択したカメラＣＡＭｉで撮影されたｍフレーム目の撮影画像ＣＩＭＧｉｍを記憶部ＭＥＭｉから読み込み、読み込んだ時刻を読み込み時刻Ｒｊｎとしてレジスタ等に記録する。ステップＳ４００の処理が実行された後、プロセッサＰＵの動作は、ステップＳ４２０に移る。
【０１０６】
ステップＳ４２０では、プロセッサＰＵは、カメラ番号ｉの撮影画像ＣＩＭＧｉｍ（ステップＳ４００の処理で記憶部ＭＥＭｉから読み込んだ撮影画像ＣＩＭＧｉｍ）に対して描画処理を実行し、動作をステップＳ４４０に移す。
【０１０７】
ステップＳ４４０では、プロセッサＰＵは、撮影画像ＣＩＭＧｉｍに対する描画処理が完了するまで、ステップＳ４６０の処理の実行を待機する。すなわち、プロセッサＰＵは、撮影画像ＣＩＭＧｉｍに対する描画処理が完了した場合、ステップＳ４６０の処理を実行する。
【０１０８】
ステップＳ４６０では、プロセッサＰＵは、撮影画像ＣＩＭＧｉｍに対する描画処理が完了した時刻を描画完了時刻Ｆｊｎとしてレジスタ等に記録し、動作をステップＳ４８０に移す。
【０１０９】
ステップＳ４８０では、プロセッサＰＵは、変数ｊ（処理順序ｊ）が４か否かを判定する。すなわち、プロセッサＰＵは、表示画像ＤＩＭＧｎに使用される全ての撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４に対して描画処理が完了したか否かを判定する。なお、例えば、カメラＣＡＭの数がＮ個（Ｎは、正の整数）の場合、プロセッサＰＵは、変数ｊがＮか否かを判定する。変数ｊが４である場合、プロセッサＰＵの動作は、ステップＳ５２０に移る。一方、変数ｊが４でない場合、プロセッサＰＵの動作は、ステップＳ５００に移る。
【０１１０】
ステップＳ５００では、プロセッサＰＵは、変数ｊをインクリメントし（ｊ＝ｊ＋１）、動作をステップＳ３６０に移す。すなわち、ステップＳ３６０−Ｓ４６０の処理は、１画面分の描画処理（表示画像ＤＩＭＧｎに使用される全ての撮影画像ＣＩＭＧに対する描画処理）が完了するまで、処理順序Ｏｉに設定された処理順序に従って繰り返される。そして、１画面分の描画処理が完了した場合、ステップＳ５２０の処理が実行される。
【０１１１】
ステップＳ５２０では、プロセッサＰＵは、表示用のバッファＢＵＦを切り替えるフリップ処理を実行する。これにより、各記憶部ＭＥＭ内の３つのバッファＢＵＦのうち、ステップＳ４２０の処理で描画処理が実行された撮影画像ＣＩＭＧｉｍを記憶したバッファＢＵＦは、表示用のバッファＢＵＦに切り替わる。ステップＳ５２０の処理が実行された後、プロセッサＰＵの動作は、ステップＳ５４０に移る。
【０１１２】
ステップＳ５４０では、プロセッサＰＵは、順序決定処理を実行して、次回の処理順序を決定する。例えば、プロセッサＰＵは、図７に示す順序決定処理を実行する。あるいは、プロセッサＰＵは、図８に示す順序決定処理を実行する。順序決定処理の実行により、現在の表示フレーム期間Ｔｎの次の表示フレーム期間Ｔ（ｎ＋１）に実行される描画処理の順序が決定する。ステップＳ５４０の処理が実行された後（順序決定処理により次回の処理順序が決定した後）、プロセッサＰＵの動作は、ステップＳ５６０に移る。
【０１１３】
ステップＳ５６０では、プロセッサＰＵは、ステップＳ５４０の順序決定処理により決定した処理順序を処理順序Ｏｉに設定する。これにより、処理順序Ｏｉは、ステップＳ５４０の順序決定処理により決定した処理順序に更新される。ステップＳ５６０の処理が実行された後、プロセッサＰＵの動作は、ステップＳ５８０に移る。
【０１１４】
ステップＳ５８０では、プロセッサＰＵは、表示画像ＤＩＭＧｎを表示装置ＤＩＳに表示するタイミングまで、ステップＳ６００の処理の実行を待機する。例えば、プロセッサＰＵは、垂直同期信号等を検出するまで、ステップＳ６００の処理の実行を待機する。すなわち、プロセッサＰＵは、表示画像ＤＩＭＧｎを表示装置ＤＩＳに表示するタイミング（例えば、垂直同期信号）に同期して、ステップＳ６００の処理を実行する。
【０１１５】
ステップＳ６００では、プロセッサＰＵは、描画処理が完了した複数の撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４を１つの表示画像ＤＩＭＧｎとして、表示装置ＤＩＳに表示する。例えば、プロセッサＰＵは、各記憶部ＭＥＭ内の表示用のバッファＢＵＦに記憶された撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４を１つの表示画像ＤＩＭＧｎとして、表示装置ＤＩＳに転送する。ステップＳ６００の処理が実行された後、プロセッサＰＵの動作は、ステップＳ６２０に移る。
【０１１６】
ステップＳ６２０では、プロセッサＰＵは、変数ｎをインクリメントし（ｎ＝ｎ＋１）、動作をステップＳ３２０に移す。これにより、次の表示画像ＤＩＭＧｎを表示装置ＤＩＳに表示する処理が実行される。ステップＳ３２０−Ｓ６２０の処理が繰り返されることにより、表示画像ＤＩＭＧは、垂直同期信号に同期して表示装置ＤＩＳに順次表示される。なお、プロセッサＰＵの動作は、図６に示す例に限定されない。
【０１１７】
図７は、図６に示した順序決定処理（ステップＳ５４０）の一例を示す。なお、図７は、撮影画像ＣＩＭＧｉが記憶部ＭＥＭｉに記憶されてから表示装置ＤＩＳに表示されるまでの時間を評価値Ｅｋとした場合の順序決定処理の一例を示す。図７に示すカメラフレーム番号ｍは、図６と同様に、表示画像ＤＩＭＧｎに使用される撮影画像ＣＩＭＧｉのカメラフレーム番号である。
【０１１８】
ステップＳ５４１では、プロセッサＰＵは、表示時刻Ｖ（ｎ＋１）、Ｖ（ｎ＋２）を予測するとともに、処理順序の組み合わせのパターンを示す変数ｋを１に設定する。以下、変数ｋで指定されるパターンの組み合わせは、組み合わせｋとも称される。
【０１１９】
表示時刻Ｖ（ｎ＋１）は、図５で説明したように、現在の表示フレーム期間Ｔｎの次の表示フレーム期間Ｔ（ｎ＋１）の開始時刻に対応する。例えば、プロセッサＰＵは、表示フレーム期間Ｔの周期（表示時刻Ｖｎから表示時刻Ｖ（ｎ−１）を引いた時間）を表示時刻Ｖｎに加算した時刻を、表示時刻Ｖ（ｎ＋１）として予測する。また、表示時刻Ｖ（ｎ＋２）は、現在の表示フレーム期間Ｔｎの次の次の表示フレーム期間Ｔ（ｎ＋２）の開始時刻に対応する。例えば、プロセッサＰＵは、表示フレーム期間Ｔの周期の２倍を表示時刻Ｖｎに加算した時刻を、表示時刻Ｖ（ｎ＋２）として予測する。
【０１２０】
次に、ステップＳ５４２では、プロセッサＰＵは、処理順序の組み合わせｋを選択するとともに、処理順序ｊを示す変数ｊを１に設定し、動作をステップＳ５４３に移す。
【０１２１】
ステップＳ５４３では、プロセッサＰＵは、処理順序ｊのカメラＣＡＭｉを選択し、動作をステップＳ５４４に移す。なお、各組み合わせｋにおいて、処理順序ｊのカメラＣＡＭｉは、処理順序ｊに対して一意に決まる。
【０１２２】
例えば、組み合わせｋが示す処理順序が、カメラＣＡＭ３、カメラＣＡＭ４、カメラＣＡＭ２、カメラＣＡＭ１の順である場合、処理順序１のカメラＣＡＭｉは、カメラＣＡＭ３である。そして、処理順序２、処理順序３、処理順序４のカメラＣＡＭｉは、それぞれカメラＣＡＭ４、ＣＡＭ２、ＣＡＭ１である。あるいは、組み合わせｋが示す処理順序が、カメラＣＡＭ１、カメラＣＡＭ３、カメラＣＡＭ４、カメラＣＡＭ２の順である場合、処理順序１のカメラＣＡＭｉは、カメラＣＡＭ１である。そして、処理順序２、処理順序３、処理順序４のカメラＣＡＭｉは、それぞれカメラＣＡＭ３、ＣＡＭ４、ＣＡＭ２である。
【０１２３】
ステップＳ５４４では、プロセッサＰＵは、図５で説明したように、読み込み時刻Ｒｊ（ｎ＋１）、キャプチャ時刻Ｃｉ（ｍ＋１）、Ｃｉ（ｍ＋２）を予測する。ステップＳ５４４の処理が実行された後、プロセッサＰＵの動作は、ステップＳ５４５に移る。
【０１２４】
ステップＳ５４５では、プロセッサＰＵは、ステップＳ５４４の処理で予測した読み込み時刻Ｒｊ（ｎ＋１）とキャプチャ時刻Ｃｉ（ｍ＋１）、Ｃｉ（ｍ＋２）との関係に基づいて、カメラフレーム番号Ｇｊ（ｎ＋１）を算出する。
【０１２５】
例えば、読み込み時刻Ｒｊ（ｎ＋１）がキャプチャ時刻Ｃｉ（ｍ＋１）より前の時刻である場合、カメラフレーム番号Ｇｊ（ｎ＋１）は、”ｍ”に設定される（Ｇｊ（ｎ＋１）＝ｍ）。この場合、例えば、表示画像ＤＩＭＧｎと表示画像ＤＩＭＧ（ｎ＋１）とで、互いに同じフレームの撮影画像ＣＩＭＧｉｍが使用される。
【０１２６】
また、例えば、読み込み時刻Ｒｊ（ｎ＋１）がキャプチャ時刻Ｃｉ（ｍ＋１）以降の時刻で、かつ、キャプチャ時刻Ｃｉ（ｍ＋２）より前の時刻である場合、カメラフレーム番号Ｇｊ（ｎ＋１）は、”ｍ＋１”に設定される（Ｇｊ（ｎ＋１）＝ｍ＋１）。この場合、例えば、撮影画像ＣＩＭＧｉｍの次のフレームの撮影画像ＣＩＭＧｉ（ｍ＋１）が表示画像ＤＩＭＧ（ｎ＋１）に使用される。
【０１２７】
また、例えば、読み込み時刻Ｒｊ（ｎ＋１）がキャプチャ時刻Ｃｉ（ｍ＋２）以降の時刻である場合、カメラフレーム番号Ｇｊ（ｎ＋１）は、”ｍ＋２”に設定される（Ｇｊ（ｎ＋１）＝ｍ＋２）。この場合、例えば、撮影画像ＣＩＭＧｉｍの次の次のフレームの撮影画像ＣＩＭＧｉ（ｍ＋２）が表示画像ＤＩＭＧ（ｎ＋１）に使用される。すなわち、撮影画像ＣＩＭＧｉが１フレーム飛ばされる。
【０１２８】
ステップＳ５４５の処理が実行された後、プロセッサＰＵの動作は、ステップＳ５４６に移る。
【０１２９】
ステップＳ５４６では、プロセッサＰＵは、ステップＳ５４５の処理で算出したカメラフレーム番号Ｇｊ（ｎ＋１）、ステップＳ５４１の処理で予測した表示時刻Ｖ（ｎ＋２）等に基づいて、遅延時間ＤＬＹｉを算出する。
【０１３０】
カメラフレーム番号Ｇｊ（ｎ＋１）が”ｍ”である場合、遅延時間ＤＬＹｉは、表示時刻Ｖ（ｎ＋２）から図６に示したステップＳ３８０の処理で記録したキャプチャ時刻Ｃｉｍを引いた時刻である（ＤＬＹｉ＝Ｖ（ｎ＋２）−Ｃｉｍ）。
【０１３１】
カメラフレーム番号Ｇｊ（ｎ＋１）が”ｍ＋１”である場合、遅延時間ＤＬＹｉは、表示時刻Ｖ（ｎ＋２）からステップＳ５４４の処理で予測したキャプチャ時刻Ｃｉ（ｍ＋１）を引いた時刻である（ＤＬＹｉ＝Ｖ（ｎ＋２）−Ｃｉ（ｍ＋１））。
【０１３２】
カメラフレーム番号Ｇｊ（ｎ＋１）が”ｍ＋２”である場合、遅延時間ＤＬＹｉは、表示時刻Ｖ（ｎ＋２）からステップＳ５４４の処理で予測したキャプチャ時刻Ｃｉ（ｍ＋２）を引いた時刻である（ＤＬＹｉ＝Ｖ（ｎ＋２）−Ｃｉ（ｍ＋２））。
【０１３３】
ステップＳ５４６の処理が実行された後、プロセッサＰＵの動作は、ステップＳ５４７に移る。
【０１３４】
ステップＳ５４７では、プロセッサＰＵは、変数ｊ（処理順序ｊ）が４か否かを判定する。すなわち、プロセッサＰＵは、撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４のそれぞれの遅延時間ＤＬＹ１、ＤＬＹ２、ＤＬＹ３、ＤＬＹ４を算出したか否かを判定する。なお、例えば、カメラＣＡＭの数がＮ個（Ｎは、正の整数）の場合、プロセッサＰＵは、変数ｊがＮか否かを判定する。変数ｊが４である場合、プロセッサＰＵの動作は、ステップＳ５４９に移る。一方、変数ｊが４でない場合、プロセッサＰＵの動作は、ステップＳ５４８に移る。
【０１３５】
ステップＳ５４８では、プロセッサＰＵは、変数ｊをインクリメントし（ｊ＝ｊ＋１）、動作をステップＳ５４３に移す。すなわち、ステップＳ５４３−Ｓ５４６の処理は、組み合わせｋでの遅延時間ＤＬＹ１、ＤＬＹ２、ＤＬＹ３、ＤＬＹ４がそれぞれ算出されるまで、繰り返される。そして、組み合わせｋでの遅延時間ＤＬＹ１、ＤＬＹ２、ＤＬＹ３、ＤＬＹ４がそれぞれ算出された場合、ステップＳ５４９の処理が実行される。
【０１３６】
ステップＳ５４９では、プロセッサＰＵは、ステップＳ５４６の処理で算出した遅延時間ＤＬＹｉを用いて評価値Ｅｋを算出し、動作をステップＳ５５０に移す。なお、評価値Ｅｋは、カメラＣＡＭの数Ｎ（図７に示す例では、Ｎ＝４）および遅延時間ＤＬＹｉを用いて、式（１）で表される。
【０１３７】
【数１】
0006540395.tif 000002
【０１３８】
このように、図７に示す例では、プロセッサＰＵは、遅延時間ＤＬＹｉの二乗平均を評価値Ｅｋとして算出する。
【０１３９】
ステップＳ５５０では、プロセッサＰＵは、処理順序の組み合わせのパターンを示す変数ｋが２４か否かを判定する。すなわち、プロセッサＰＵは、撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４の処理順序の全ての組み合わせｋで評価値Ｅｋを算出したか否かを判定する。なお、例えば、カメラＣＡＭの数がＮ個（Ｎは、正の整数）の場合、プロセッサＰＵは、変数ｋがＮの階乗か否かを判定する。変数ｋが２４である場合、プロセッサＰＵの動作は、ステップＳ５５２に移る。一方、変数ｋが２４でない場合、プロセッサＰＵの動作は、ステップＳ５５１に移る。
【０１４０】
ステップＳ５５１では、プロセッサＰＵは、変数ｋをインクリメントし（ｋ＝ｋ＋１）、動作をステップＳ５４２に移す。すなわち、ステップＳ５４２−Ｓ５４９の処理は、撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４の処理順序の全ての組み合わせｋで評価値Ｅｋが算出されるまで、繰り返される。そして、全ての組み合わせｋで評価値Ｅｋが算出された場合、ステップＳ５５２の処理が実行される。
【０１４１】
ステップＳ５５２では、プロセッサＰＵは、ステップＳ５４９の処理で算出した評価値Ｅｋが最少になる組み合わせｋの処理順序を、次回の処理順序に決定する。すなわち、プロセッサＰＵは、処理順序の全ての組み合わせｋのうち、表示遅延時間ＤＬＹに関する評価値Ｅｋ（図７に示す例では、遅延時間ＤＬＹ１、ＤＬＹ２、ＤＬＹ３、ＤＬＹ４の二乗平均）が最少になる組み合わせｋの処理順序を、次回の処理順序に決定する。
【０１４２】
ステップＳ５５２の処理の終了により、順序決定処理が終了し、図６に示したステップＳ５６０において、処理順序Ｏｉが更新される。例えば、プロセッサＰＵは、図６に示したステップＳ５６０において、処理順序Ｏｉを、ステップＳ５５２の処理で決定した処理順序に更新する。なお、表示遅延時間ＤＬＹに関する評価値Ｅｋは、図７に示す例（遅延時間ＤＬＹｉの二乗平均）に限定されない。
【０１４３】
図８は、図６に示した順序決定処理（ステップＳ５４０）の別の例を示す。なお、図８は、表示画像ＤＩＭＧｎに使用される撮影画像ＣＩＭＧ１ｍ、ＣＩＭＧ２ｍ、ＣＩＭＧ３ｍ、ＣＩＭＧ４ｍのそれぞれのキャプチャ時刻Ｃｉｍのばらつきを評価値Ｅｋとした場合の順序決定処理の一例を示す。図８に示すカメラフレーム番号ｍは、図６と同様に、表示画像ＤＩＭＧｎに使用される撮影画像ＣＩＭＧｉのカメラフレーム番号である。図７で説明したステップと同一または同様のステップについては、同一または同様の符号を付し、これ等については、詳細な説明を省略する。
【０１４４】
ステップＳ５４１−Ｓ５４５は、図７に示したステップステップＳ５４１−Ｓ５４５と同一または同様である。ステップＳ５４５の処理が実行された後、プロセッサＰＵの動作は、ステップＳ５４６ａに移る。
【０１４５】
ステップＳ５４６ａでは、プロセッサＰＵは、ステップＳ５４５の処理で算出したカメラフレーム番号Ｇｊ（ｎ＋１）に基づいて、キャプチャ時刻Ｃｉを算出する。
【０１４６】
カメラフレーム番号Ｇｊ（ｎ＋１）が”ｍ”である場合、キャプチャ時刻Ｃｉは、撮影画像ＣＩＭＧｉｍが記憶部ＭＥＭｉに記憶された時刻である（Ｃｉ＝Ｃｉｍ）。すなわち、キャプチャ時刻Ｃｉは、図６に示したステップＳ３８０の処理で記録したキャプチャ時刻Ｃｉｍである。
【０１４７】
カメラフレーム番号Ｇｊ（ｎ＋１）が”ｍ＋１”である場合、キャプチャ時刻Ｃｉは、ステップＳ５４４の処理で予測したキャプチャ時刻Ｃｉ（ｍ＋１）である（Ｃｉ＝Ｃｉ（ｍ＋１））。
【０１４８】
カメラフレーム番号Ｇｊ（ｎ＋１）が”ｍ＋２”である場合、キャプチャ時刻Ｃｉは、ステップＳ５４４の処理で予測したキャプチャ時刻Ｃｉ（ｍ＋２）である（Ｃｉ＝Ｃｉ（ｍ＋２））。
【０１４９】
ステップＳ５４６ａの処理が実行された後、プロセッサＰＵの動作は、ステップＳ５４７に移る。
【０１５０】
ステップＳ５４７、Ｓ５４８は、図７に示したステップステップＳ５４７、Ｓ５４８と同一または同様である。例えば、ステップＳ５４７では、プロセッサＰＵは、変数ｊ（処理順序ｊ）が４か否かを判定する。そして、変数ｊが４である場合、プロセッサＰＵは、動作をステップＳ５４９ａに移す。一方、変数ｊが４でない場合、プロセッサＰＵは、ステップＳ５４８において、変数ｊをインクリメントし（ｊ＝ｊ＋１）、動作をステップＳ５４３に移す。
【０１５１】
ステップＳ５４９ａでは、プロセッサＰＵは、ステップＳ５４６ａの処理で算出したキャプチャ時刻Ｃｉを用いて評価値Ｅｋを算出し、動作をステップＳ５５０に移す。なお、評価値Ｅｋは、カメラＣＡＭの数Ｎ（図７に示す例では、Ｎ＝４）およびキャプチャ時刻Ｃｉを用いて、式（２）で表される。
【０１５２】
【数２】
0006540395.tif 000003
【０１５３】
式（２）の符号ＡＶＥｃは、Ｎ個のキャプチャ時刻Ｃｉの平均を示す。例えば、カメラＣＡＭの数Ｎが４つである場合、平均ＡＶＥｃは、ステップＳ５４６ａの処理で算出したキャプチャ時刻Ｃｉ（キャプチャ時刻Ｃ１、Ｃ２、Ｃ３、Ｃ４）を用いて、式（３）で表される。
【０１５４】
ＡＶＥｃ＝（Ｃ１＋Ｃ２＋Ｃ３＋Ｃ４）／４    ・・・（３）
このように、図８に示す例では、プロセッサＰＵは、キャプチャ時刻Ｃｉの分散を評価値Ｅｋとして算出する。
【０１５５】
ステップＳ５５０−Ｓ５５２は、図７に示したステップステップＳ５５０−Ｓ５５２と同一または同様である。例えば、ステップＳ５５０では、プロセッサＰＵは、変数ｋが２４か否かを判定する。そして、変数ｋが２４である場合、プロセッサＰＵは、動作をステップＳ５５２に移す。一方、変数ｋが２４でない場合、プロセッサＰＵは、ステップＳ５５１において、変数ｋをインクリメントし（ｋ＝ｋ＋１）、動作をステップＳ５４２に移す。
【０１５６】
ステップＳ５５２では、プロセッサＰＵは、ステップＳ５４９ａの処理で算出した評価値Ｅｋが最少になる組み合わせｋの処理順序を、次回の処理順序に決定する。すなわち、プロセッサＰＵは、処理順序の全ての組み合わせｋのうち、キャプチャ時刻Ｃｉｍのばらつきに関する評価値Ｅｋ（図７に示す例では、キャプチャ時刻Ｃ１、Ｃ２、Ｃ３、Ｃ４の分散）が最少になる組み合わせｋの処理順序を、次回の処理順序に決定する。
【０１５７】
ステップＳ５５２の処理の終了により、順序決定処理が終了し、図６に示したステップＳ５６０において、処理順序Ｏｉが更新される。例えば、プロセッサＰＵは、図６に示したステップＳ５６０において、処理順序Ｏｉを、ステップＳ５５２の処理で決定した処理順序に更新する。
【０１５８】
なお、順序決定処理（ステップＳ５４０）は、図７または図８に示した例に限定されない。例えば、プロセッサＰＵは、評価値Ｅｋの算出が全ての組み合わせｋで終了する前でも、予め決められた目標値以下の評価値Ｅｋになる組み合わせｋを検出した場合、ステップＳ５５２の処理を実行してもよい。この場合、プロセッサＰＵは、目標値以下の評価値Ｅｋになる組み合わせｋの処理順序を次回の処理順序に決定する。
【０１５９】
また、評価値Ｅｋとして、キャプチャ時刻Ｃｉｍの分散と遅延時間ＤＬＹｉの二乗平均との両方が使用されてもよい。例えば、プロセッサＰＵは、キャプチャ時刻Ｃｉの分散が目標値以下になる組み合わせｋのうち、遅延時間ＤＬＹｉの二乗平均が最少になる組み合わせｋの処理順序を、次回の処理順序に決定してもよい。あるいは、プロセッサＰＵは、遅延時間ＤＬＹｉの二乗平均が目標値以下になる組み合わせｋのうち、キャプチャ時刻Ｃｉの分散が最少になる組み合わせｋの処理順序を、次回の処理順序に決定してもよい。
【０１６０】
図９は、表示遅延時間ＤＬＹｉの二乗平均を評価値Ｅｋとした場合のシミュレーション結果の一例を示す。図９の横軸は、表示遅延時間ＤＬＹｉの二乗平均を示す。また、図９の縦軸は、表示遅延時間ＤＬＹｉの二乗平均を０．１間隔で区切ったときの各区間の頻度を示す。図９に示す例では、シミュレーションは、カメラＣＡＭｉから記憶部ＭＥＭｉへの撮影画像ＣＩＭＧｉの入力タイミングをランダムに振って１００回実行される。以下にシミュレーション条件を示す。カメラＣＡＭｉの数は４で、各カメラＣＡＭｉの撮影画像更新周期Ｕｉは１００で、表示フレーム期間Ｔは１００である。
【０１６１】
なお、図９に示す網掛けの矩形は、図７に示した順序決定処理に基づいて、描画処理の実行順を調整した場合（最適化後）のシミュレーション結果を示す。また、図９に示す白抜きの矩形は、描画処理の実行順を固定した場合（最適化前）のシミュレーション結果を示す。
【０１６２】
描画処理の実行順を調整した場合、表示遅延時間ＤＬＹｉの二乗平均の１００回のシミュレーションの平均およびばらつきは、描画処理の実行順を固定した場合に比べて、小さくなる。例えば、描画処理の実行順を調整した場合、表示遅延時間ＤＬＹｉの二乗平均の１００回のシミュレーションの平均は、０．９１である。これに対し、描画処理の実行順を固定した場合、表示遅延時間ＤＬＹｉの二乗平均の１００回のシミュレーションの平均は、１．４８である。
【０１６３】
このように、描画処理の実行順を図７に示した順序決定処理に基づいて調整することにより、描画処理の実行順を固定した場合に比べて、表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧｉの表示遅延時間ＤＬＹｉの二乗平均を小さくすることができる。
【０１６４】
図１０は、キャプチャ時刻Ｃｉの分散を評価値Ｅｋとした場合のシミュレーション結果の一例を示す。図１０の横軸は、キャプチャ時刻Ｃｉの分散を示す。また、図１０の縦軸は、キャプチャ時刻Ｃｉの分散を５０間隔で区切ったときの各区間の頻度を示す。図１０に示す例においても、図９と同様に、シミュレーションは、カメラＣＡＭｉから記憶部ＭＥＭｉへの撮影画像ＣＩＭＧｉの入力タイミングをランダムに振って１００回実行される。
【０１６５】
シミュレーション条件および図１０に示す白抜きの矩形の意味は、図９と同じである。なお、図１０に示す網掛けの矩形は、図８に示した順序決定処理に基づいて、描画処理の実行順を調整した場合（最適化後）のシミュレーション結果を示す。
【０１６６】
描画処理の実行順を調整した場合、キャプチャ時刻Ｃｉの分散の１００回のシミュレーションの平均およびばらつきは、描画処理の実行順を固定した場合に比べて、小さくなる。例えば、描画処理の実行順を調整した場合、キャプチャ時刻Ｃｉの分散の１００回のシミュレーションの平均は、１８６である。これに対し、描画処理の実行順を固定した場合、キャプチャ時刻Ｃｉの分散の１００回のシミュレーションの平均は、４７４である。
【０１６７】
このように、描画処理の実行順を図８に示した順序決定処理に基づいて調整することにより、描画処理の実行順を固定した場合に比べて、表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧｉにおけるキャプチャ時刻Ｃｉのばらつきを小さくすることができる。
【０１６８】
図１１は、図３に示した画像処理システムＳＹＳのハードウェア構成の一例を示す。画像処理システムＳＹＳは、コンピュータ装置ＣＰと、コンピュータ装置ＣＰに接続される複数のカメラＣＡＭ（ＣＡＭ１、ＣＡＭ２、ＣＡＭ３、ＣＡＭ４）と、コンピュータ装置ＣＰに接続される表示装置ＤＩＳとにより実現される。
【０１６９】
コンピュータ装置ＣＰは、プロセッサＰＵ、メモリＭＭＥＭ、ＶＭＥＭ、ハードディスク装置ＨＤＤ、入出力インタフェースＩＦおよび光学ドライブ装置ＯＤＲを有する。プロセッサＰＵ、メモリＭＭＥＭ、ＶＭＥＭ、ハードディスク装置ＨＤＤ、入出力インタフェースＩＦおよび光学ドライブ装置ＯＤＲは、バスＢＵＳを介して互いに接続される。
【０１７０】
光学ドライブ装置ＯＤＲは、光ディスク等のリムーバブルディスクＲＤを装着可能であり、装着したリムーバブルディスクＲＤに記録された情報の読み出しおよび記録を実行する。
【０１７１】
入出力インタフェースＩＦは、例えば、カメラＣＡＭ１、ＣＡＭ２、ＣＡＭ３、ＣＡＭ４に接続される。これにより、プロセッサＰＵ等は、カメラＣＡＭ１、ＣＡＭ２、ＣＡＭ３、ＣＡＭ４で撮影された撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４を、入出力インタフェースＩＦを介して受け取ることができる。
【０１７２】
メモリＶＭＥＭは、例えば、カメラＣＡＭ１、ＣＡＭ２、ＣＡＭ３、ＣＡＭ４で撮影された撮影画像ＣＩＭＧ１、ＣＩＭＧ２、ＣＩＭＧ３、ＣＩＭＧ４を記憶する。すなわち、図３に示した記憶部ＭＥＭ１、ＭＥＭ２、ＭＥＭ３、ＭＥＭ４は、メモリＶＭＥＭに割り当てられる。
【０１７３】
メモリＭＭＥＭは、例えば、コンピュータ装置ＣＰのオペレーティングシステムを記憶する。また、メモリＭＭＥＭは、例えば、画像処理装置の動作をプロセッサＰＵが実行するための画像処理プログラム等のアプリケーションプログラムを記憶する。画像処理プログラム等のアプリケーションプログラムは、例えば、光ディスク等のリムーバブルディスクＲＤに記録して頒布することができる。
【０１７４】
例えば、コンピュータ装置ＣＰは、画像処理プログラム等のアプリケーションプログラムを、リムーバブルディスクＲＤから光学ドライブ装置ＯＤＲを介して読み出し、メモリＭＭＥＭおよびハードディスク装置ＨＤＤ等に格納してもよい。また、コンピュータ装置ＣＰは、画像処理プログラム等のアプリケーションプログラムを、インターネット等のネットワークに接続する通信装置(図示せず)を介してダウンロードし、メモリＭＭＥＭおよびハードディスク装置ＨＤＤ等に格納してもよい。
【０１７５】
プロセッサＰＵは、メモリＭＭＥＭ等に格納された画像処理プログラムを実行することにより、図３に示したプロセッサＰＵ内のキャプチャ時刻記録部ＣＲＥＣ等の機能ブロックの機能を実現する。
【０１７６】
なお、画像処理システムＳＹＳのハードウェア構成は、図１１に示す例に限定されない。例えば、コンピュータ装置ＣＰは、ＵＳＢ（Universal Serial Bus）メモリ等の記憶媒体用のインタフェースを有してもよい。あるいは、光学ドライブ装置ＯＤＲは、コンピュータ装置ＣＰから省かれてもよい。また、例えば、メモリＶＭＥＭがコンピュータ装置ＣＰから省かれ、図３に示した記憶部ＭＥＭ１−ＭＥＭ４がメモリＭＭＥＭに割り当てられてもよい。
【０１７７】
また、プロセッサＰＵ、メモリＭＭＥＭ、ＶＭＥＭ、ハードディスク装置ＨＤＤおよび入出力インタフェースＩＦは、図１に示した画像処理装置２０の機能を実現してもよい。例えば、プロセッサＰＵは、メモリＭＭＥＭ等に格納された画像処理プログラムを実行することにより、図１に示した画像処理装置２０の機能を実現してもよい。この場合、図１に示した記憶部３０は、メモリＶＭＥＭに割り当てられてもよいし、メモリＭＭＥＭに割り当てられてもよい。
【０１７８】
以上、図３から図１１に示す実施形態においても、図１および図２に示した実施形態と同様の効果を得ることができる。図３から図１１に示す実施形態では、プロセッサＰＵは、表示時刻Ｖｎ、キャプチャ時刻Ｃｉｍ、読み込み時刻Ｒｊｎおよび描画完了時刻Ｆｊｎに基づいて評価値Ｅｋを算出し、算出した評価値Ｅｋに基づいて描画処理の実行順を決定する。
【０１７９】
例えば、評価値Ｅｋが表示遅延時間ＤＬＹｉの二乗平均である場合、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧｉの表示遅延時間ＤＬＹｉの二乗平均ができるだけ小さくなるように、描画処理の実行順を決定することができる。また、例えば、評価値Ｅｋがキャプチャ時刻Ｃｉの分散である場合、次の表示画像ＤＩＭＧ内の複数の撮影画像ＣＩＭＧｉのキャプチャ時刻Ｃｉのずれができるだけ小さくなるように、描画処理の実行順を決定することができる。このように、評価値Ｅｋの種類に応じて、表示画像ＤＩＭＧの質を向上させることができる。
【０１８０】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１８１】
１０‥画像処理システム；２０‥画像処理装置；３０‥記憶部；４０‥描画処理部；４２‥キャプチャ時刻記録部；４４‥描画開始時刻記録部；４６‥描画完了時刻記録部；４８‥順序決定部；５０‥撮像装置；６０‥表示装置；ＣＡＬ‥予測部；ＣＡＭ‥カメラ；ＣＰ‥コンピュータ装置；ＣＲＥＣ‥キャプチャ時刻記録部；ＤＩＳ‥表示装置；ＤＲＡＷ‥描画処理部；ＦＲＥＣ‥描画完了時刻記録部；ＨＤＤ‥ハードディスク装置；ＩＦ‥入出力インタフェース；ＭＥＭ‥記憶部；ＭＭＥＭ、ＶＭＥＭ‥メモリ；ＯＤＲ‥光学ドライブ装置；ＰＵ‥プロセッサ；ＲＤ‥リムーバブルディスク；ＲＲＥＣ‥読み込み時刻記録部；ＳＥＱ‥順序決定部；ＳＹＳ‥画像処理システム；ＶＲＥＣ‥表示時刻記録部
【図１】
0006540395.tif 000004
【図２】
0006540395.tif 000005
【図３】
0006540395.tif 000006
【図４】
0006540395.tif 000007
【図５】
0006540395.tif 000008
【図６】
0006540395.tif 000009
【図７】
0006540395.tif 000010
【図８】
0006540395.tif 000011
【図９】
0006540395.tif 000012
【図１０】
0006540395.tif 000013
【図１１】
0006540395.tif 000014