以下、実施形態について、図面を用いて説明する。以下では、画像を表示するための画像信号は、画像そのものと特に区別せずに、画像とも称される。
図1は、画像表示制御プログラム、画像表示制御方法および画像表示制御装置の一実施形態を示す。図1に示す画像表示制御装置10は、コンピュータ100に含まれ、所定の間隔TDで発生する表示タイミングで画像IMGdを液晶表示装置等の表示装置200に表示する。なお、図1に示すかぎ括弧内には、画像表示制御装置10の動作の概要を示す。図1に示す星印は、後述する処理部40が画像処理を実行することを示す。図1に示す画像IMGi(IMGi1、IMGi2、IMGi3、IMGi4、IMGi5、IMGi6)は、画像表示制御装置10が所定の間隔TIで受信する表示対象の入力画像である。また、図1に示す画像IMGd(IMGd1、IMGd2、IMGd3、IMGd4、IMGd5)は、画像IMGiの画像処理後の画像であり、画像表示制御装置10が所定の間隔TDの表示タイミングで表示装置200に表示する表示画像である。画像IMGdの符号の末尾の数字は、画像IMGiの符号の末尾の数字に対応している。例えば、画像IMGd1は、画像IMGi1の画像処理後の画像である。
画像表示制御装置10は、受信部20、処理部40および表示制御部60を有する。例えば、受信部20、処理部40および表示制御部60は、コンピュータ100に含まれる図示しないプロセッサが画像表示制御プログラム等を実行することにより、実現される。なお、画像表示制御プログラムは、コンピュータ100内の図示しないメモリ等の記憶装置に格納されてもよく、コンピュータ100の外部の記憶装置に格納されてもよい。また、画像表示制御プログラムは、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等のコンピュータ100により読み取り可能な記録媒体RECに格納されてもよい。この場合、記録媒体RECに格納された画像表示制御プログラムは、コンピュータ100に設けられる図示しない入出力インタフェース等を介して記録媒体RECからメモリ等に転送される。なお、画像表示制御プログラムは、記録媒体RECから図示しないハードディスクに転送された後、ハードディスクからメモリに転送されてもよい。
受信部20は、例えば、図示しない撮像装置等により撮像された表示対象の画像IMGiを所定の間隔TIで受信する(図1(a))。
処理部40は、受信部20が受信した画像IMGiに対して、表示装置200に表示される画像IMGdの輝度の変化を緩やかにする画像処理を実行する(図1の星印)。例えば、処理部40は、画像IMGi2の複数の画素のうち、画像IMGd1との輝度の差が所定範囲外の画素に対して、輝度の変化を緩やかにする画像処理を実行する。これにより、画像IMGi2から画像IMGd2が生成される。なお、処理部40は、画像IMGi2の複数の画素のうち、画像IMGd1との輝度の差が所定範囲内の画素に対しては、画像IMGi2の輝度を画像IMGd2の輝度とする画像処理を実行してもよい。
例えば、処理部40は、画像IMGi2の複数の画素のうち、画像IMGd1に対する輝度の上昇量が所定の第1閾値量を超える第1画素に対しては、輝度の上昇度合いを緩やかにする画像処理を実行する。これにより、画像IMGi2から生成される画像IMGd2の第1画素の輝度と画像IMGd1の第1画素の輝度との差を、画像IMGi2の第1画素の輝度と画像IMGd1の第1画素の輝度との差に比べて、小さくすることができる。
また、例えば、処理部40は、画像IMGi2の複数の画素のうち、画像IMGd1に対する輝度の下降量が所定の第2閾値量を超える第2画素に対しては、輝度の下降度合いを緩やかにする画像処理を実行する。これにより、画像IMGi2から生成される画像IMGd2の第2画素の輝度と画像IMGd1の第2画素の輝度との差を、画像IMGi2の第2画素の輝度と画像IMGd1の第2画素の輝度との差に比べて、小さくすることができる。
画像処理が実行された画像IMGd2は、後述する表示制御部60により、画像IMGi2の代わりに表示装置200に表示される。この結果、表示画像を画像IMGd1から画像IMGd2に変化させる場合の画素の輝度の上昇時間と下降時間との差異を、表示画像を画像IMGd1から画像IMGi2に変化させる場合に比べて小さくすることができる。これにより、表示装置200の応答特性(例えば、輝度の上昇時間と輝度の下降時間との差異)によるフリッカの発生を、表示画像を画像IMGd1から画像IMGi2に変化させる場合に比べて、抑制することができる。
このように、処理部40は、表示装置200に表示される画像IMGdの輝度が上昇する場合の画素の応答特性と下降する場合の画素の応答特性とを揃える画像処理を実行し、表示装置200の応答特性によるフリッカの発生を抑制する。
表示制御部60は、画像IMGiに対する画像処理により生成される画像IMGdを、所定の間隔TDで表示装置200に表示する(図1(b))。すなわち、表示制御部60は、画像処理の実行後の画像IMGdを、所定の間隔TDの表示タイミングに同期して表示装置200に表示する。なお、表示制御部60は、次の表示タイミングまでに新たな画像IMGiを受信部20が受信していない場合、表示装置200に表示されている画像IMGdを再表示する(図1(c)、(d)、(e))。すなわち、表示制御部60は、次の表示タイミングまでに新たな画像IMGiを受信部20が受信していない場合、表示装置200に表示されている画像IMGdを表示し続ける。
これにより、図1に示す例では、画像表示制御装置10は、画像IMGi3を受信してから画像IMGi4を受信するまでの期間に、1つの画像IMGi3から生成した1つの画像IMGd3を、表示タイミングに同期して表示装置200に2回表示する。このため、画像表示制御装置10は、画像IMGi3を受信してから画像IMGi4を受信するまでに表示装置200に表示する画像IMGd3間で輝度が変化することを防止できる。この結果、画像表示制御装置10は、画像IMGi3を受信してから画像IMGi4を受信するまでに表示装置200に表示する画像IMGd3間の輝度差によるフリッカの発生を抑制できる。このように、画像表示制御装置10は、表示装置200の応答特性によるフリッカの発生および表示画像間の輝度差によるフリッカの発生の両方を抑制できる。
なお、画像表示制御装置10の構成および動作は、図1に示す例に限定されない。例えば、受信部20、処理部40および表示制御部60は、ハードウェアのみで実現されてもよい。すなわち、受信部20、処理部40および表示制御部60は、ハードウェアのみで実現されてもよく、画像表示制御プログラム等のソフトウェアでハードウェアを制御することにより実現されてもよい。また、表示装置200は、液晶表示装置に限定されない。
図2は、図1に示した画像表示制御装置10の動作の一例を示す。なお、図2に示す動作をコンピュータ100に実行させるためのプログラムは、画像表示制御プログラムの一例である。
ステップS10では、受信部20は、画像IMGiを受信する。なお、受信部20は、ステップS12以降の処理が実行される期間においても、図1で説明したように、表示対象の画像IMGiを所定の間隔TIで受信する。
次に、ステップS12では、処理部40は、受信部20が受信した画像IMGiに対して、画像処理を実行する。これにより、表示装置200に表示される画像IMGdが画像IMGiから生成される。画像処理は、例えば、表示装置200に表示される画像IMGdの輝度の変化を緩やかにして、表示装置200の応答特性によるフリッカの発生を抑制する画像処理である。ステップS12の画像処理により、図1で説明したように、表示装置200の応答特性によるフリッカの発生を抑制することができる。なお、処理部40は、表示装置200に最初に表示される画像IMGiに対する画像処理を省いてもよい。
次に、ステップS14では、表示制御部60は、例えば、現時刻が画像IMGdを表示装置200に表示する表示タイミングか否かを判定する。例えば、表示制御部60は、画像IMGdを表示装置200に表示してから所定の時間(間隔TDに対応する時間)が経過したか否かを判定する。現時刻が表示タイミングである場合、画像表示制御装置10の動作は、ステップS16に移る。一方、現時刻が表示タイミングでない場合、画像表示制御装置10の動作は、ステップS14に戻る。すなわち、ステップS16の処理は、表示タイミングに同期して実行される。
ステップS16では、表示制御部60は、画像処理後の画像IMGd、すなわち、ステップS12で生成された画像IMGdを、表示装置200に表示する。
次に、ステップS18では、画像表示制御装置10は、新たな画像IMGiを受信したか否かを判定する。なお、新たな画像IMGiは、例えば、表示装置200に表示されている画像IMGdに対応する画像IMGiより後に受信部20が受信した画像IMGiである。画像表示制御装置10は、新たな画像IMGiを受信した場合、動作をステップS12に戻し、新たに受信した画像IMGiに対して画像処理を実行する。一方、画像表示制御装置10は、新たな画像IMGiを受信していない場合、動作をステップS20に移す。
ステップS20では、表示制御部60は、ステップS14と同様に、現時刻が画像IMGdを表示装置200に表示する表示タイミングか否かを判定する。現時刻が表示タイミングである場合、画像表示制御装置10の動作は、ステップS22に移る。一方、現時刻が表示タイミングでない場合、画像表示制御装置10の動作は、ステップS18に戻る。
ステップS22では、表示制御部60は、表示装置200に表示中の画像IMGdを再表示する。すなわち、表示制御部60は、ステップS16で画像IMGdを表示装置200に表示してから次の表示タイミングまでに受信部20が新たな画像IMGiを受信していない場合、表示装置200に表示されている画像IMGdを表示し続ける処理を実行する。ステップS22の処理が実行された後、画像表示制御装置10の動作は、ステップS18に戻る。
このように、画像表示制御装置10は、画像処理の実行後の画像IMGdを表示タイミングに同期して表示装置200に表示し、次の表示タイミングまでに新たな画像IMGiを受信していない場合、表示装置200に表示されている画像IMGdを再表示する。すなわち、画像表示制御装置10は、次の表示タイミングまでに新たな画像IMGiを受信していない場合、1つの画像IMGiに対してステップS12の画像処理を繰り返し実行することなく、画像IMGdを表示装置200に表示し続ける。これにより、画像表示制御装置10は、1つの画像IMGiに対して画像処理を繰り返し実行する場合に比べて、表示画像間の輝度差によるフリッカの発生を抑制できる。
したがって、画像表示制御装置10は、ステップS12の画像処理により、表示装置200の応答特性によるフリッカの発生を抑制でき、ステップS18からステップS22までの一連の処理により、表示画像間の輝度差によるフリッカの発生を抑制できる。なお、画像表示制御装置10の動作は、図2に示す例に限定されない。
以上、図1から図2に示す実施形態では、表示装置200の応答特性によるフリッカの発生および表示画像間の輝度差によるフリッカの発生の両方を抑制できる。例えば、画像表示制御装置10は、受信した画像IMGiに対して、表示装置200に表示される画像IMGdの輝度の変化を緩やかにする画像処理を実行することにより、表示装置200の応答特性によるフリッカの発生を抑制できる。また、画像表示制御装置10は、所定の表示タイミングで画像IMGdを表示装置200に表示してから次の表示タイミングまでに新たな画像IMGiを受信していない場合、表示装置200に表示されている画像IMGdを再表示する。これにより、画像表示制御装置10は、異なる表示タイミングにおける表示画像間の輝度差によるフリッカの発生を抑制できる。
図3は、画像表示制御プログラム、画像表示制御方法および画像表示制御装置の別の実施形態を示す。図1から図2で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図3に示す画像表示制御装置12は、コンピュータ100に含まれ、所定の間隔TDで発生する表示タイミングで画像IMGdを液晶表示装置等の表示装置200に表示する。画像表示制御装置12では、設定部80が図1に示した画像表示制御装置10に追加される。また、画像表示制御装置12は、図1に示した受信部20、処理部40および表示制御部60の代わりに、受信部22、処理部42および表示制御部62を有する。画像表示制御装置12のその他の構成は、図1に示した画像表示制御装置10と同一または同様である。
画像表示制御装置12は、受信部22、処理部42、表示制御部62および設定部80を有する。また、画像表示制御装置12では、表示制御部62は、判定部64と、表示装置200に表示する画像IMGdを保持するフレームメモリ66と、出力部68とを有する。例えば、受信部22、処理部42、判定部64、出力部68および設定部80は、コンピュータ100に含まれる図示しないプロセッサが画像表示制御プログラム等を実行することにより、実現される。なお、画像表示制御プログラムは、コンピュータ100内の図示しないメモリ等の記憶装置に格納されてもよく、コンピュータ100の外部の記憶装置に格納されてもよい。また、画像表示制御プログラムは、CD−ROM、DVD、USBメモリ等のコンピュータ100により読み取り可能な記録媒体RECに格納されてもよい。この場合、記録媒体RECに格納された画像表示制御プログラムは、コンピュータ100に設けられる図示しない入出力インタフェース等を介して記録媒体RECからメモリ等に転送される。なお、画像表示制御プログラムは、記録媒体RECから図示しないハードディスクに転送された後、ハードディスクからメモリに転送されてもよい。
設定部80は、表示装置200の応答特性に基づいて予め決められる閾値T1、T2および係数C1、C2を処理部42に設定する。例えば、閾値T1は、正の値であり、閾値T2は、負の値である。閾値T1は、第1閾値の一例であり、閾値T2は、第2閾値の一例である。また、設定部80は、表示装置200が1秒間に表示する画像IMGdのフレーム数に対応する更新レートF1(単位は、Hz)と、画像IMGiが1秒間に更新される回数に対応する更新レートF2(単位は、Hz)とを判定部64に設定する。
受信部22は、例えば、図示しない撮像装置等に含まれるAD変換器120から画像IMGiを、更新レートF2の逆数で表される間隔TIで受信する。例えば、AD変換器120は、撮像装置等により撮像されたアナログ信号の画像IMGSIGiをデジタル信号の画像IMGiに変換し、デジタル信号の画像IMGiを受信部22に転送する。そして、受信部22は、AD変換器120から受信した画像IMGiを図示しないメモリ等に格納する。
判定部64は、更新レートF1の逆数で表される間隔TDで発生する表示タイミング毎に、受信部22が新たな画像IMGiを受信したか否かを判定する。なお、新たな画像IMGiは、例えば、表示装置200に表示されている画像IMGdに対応する画像IMGiより後に受信部22が受信する画像IMGiである。受信部22が新たな画像IMGiを受信した場合、判定部64は、受信部22が受信した新たな画像IMGiを、処理部42に転送する。なお、判定部64は、受信部22が新たな画像IMGiを受信していない場合、処理部42に既に転送した画像IMGiの再転送を実行しない。また、判定部64は、表示装置200に最初に表示される画像IMGiを受信部22が受信した場合、受信部22が受信した最初の画像IMGiを画像IMGdとしてフレームメモリ66に格納する。これにより、フレームメモリ66は、表示装置200に最初に表示する画像IMGdを保持する。
処理部42は、受信部22が受信した画像IMGiに対して、表示装置200に表示される画像IMGdの輝度の変化を緩やかにする画像処理を実行する。例えば、処理部42は、判定部64から転送される画像IMGiに対して、図4に示す演算式に基づいて画像処理を実行し、画像IMGiから画像IMGdを生成する。そして、処理部42は、画像IMGiから生成した画像IMGdをフレームメモリ66に格納する。これにより、フレームメモリ66は、表示装置200に表示する画像IMGdを保持する。なお、図3に示す処理部42に記載した括弧内の符号A、B、AAは、図4等で説明する演算式に用いられる輝度値A、B、AAに対応する。
出力部68は、フレームメモリ66に保持された画像IMGdを、更新レートF1に対応する表示タイミングに同期して、表示装置200に出力する。これにより、画像IMGdが表示タイミングに同期して表示装置200に表示される。例えば、表示装置200は、出力部68から受信したデジタル信号の画像IMGdをアナログ信号の画像に変換するDA変換器210を有し、DA変換器210でアナログ信号に変換した画像IMGdを表示タイミングに同期して表示する。なお、DA変換器210は、画像表示制御装置12内に設けられてもよいし、表示装置200の外部に画像表示制御装置12とは別に設けられてもよい。また、表示装置200がデジタル信号の画像IMGdをアナログ信号に変換せずに表示可能である場合、DA変換器210は、表示装置200から省かれてもよい。
なお、画像表示制御装置12の構成および動作は、図3に示す例に限定されない。例えば、受信部22、処理部42、判定部64、出力部68および設定部80は、ハードウェアのみで実現されてもよい。すなわち、受信部22、処理部42、判定部64、出力部68および設定部80は、ハードウェアのみで実現されてもよく、画像表示制御プログラム等のソフトウェアでハードウェアを制御することにより実現されてもよい。また、表示制御部62は、フレームメモリ66を除いて定義されてもよい。
図4は、図3に示した処理部42により実行される画像処理の一例を示す。図4に示す符号Aは、受信部22が受信する新たな画像IMGiの複数の画素のうち、画像処理の対象として選択された画素の輝度値を示す。また、符号Bは、表示装置200に表示されている画像IMGdの複数の画素のうち、画像処理の対象として選択された画像IMGiの画素に対応する画素の輝度値を示す。符号AAは、新たな画像IMGiから画像処理により生成される画像IMGdの複数の画素のうち、画像処理の対象として選択された画像IMGiの画素に対応する画素の輝度値を示す。すなわち、符号AAは、画像処理の対象として選択された画素の画像処理後の輝度値を示す。
また、符号T1は、表示装置200に表示される画像IMGdの複数の画素のうちの輝度が上昇する画素に対して、画像処理を実行するか否かの閾値(第1閾値)を示す。符号T2は、表示装置200に表示される画像IMGdの複数の画素のうちの輝度が下降する画素に対して、画像処理を実行するか否かの閾値(第2閾値)を示す。符号C1は、輝度が上昇する画素に対して実行される画像処理の度合い(輝度の変化を緩やかにする度合い)を示し、符号C2は、輝度が下降する画素に対して実行される画像処理の度合い(輝度の変化を緩やかにする度合い)を示す。
処理部42は、新たな画像IMGiの画素毎に、新たな画像IMGiの画素の輝度値Aを表示装置200に表示されている画像IMGdの画素の輝度値Bから減算した差分値D(=A−B)に応じた画像処理を実行する。これにより、新たな画像IMGiを表示装置200に表示する場合の輝度値AAが算出される。
例えば、画像IMGiの各画素および画像IMGdの各画素の輝度値が0から255までの範囲の場合、差分値Dは−255から255までの範囲である。例えば、処理部42は、差分値Dが閾値T1より大きく255以下の場合、差分値Dを変数とする関数f(D)の値を、f(D)=T1+(D−T1)×C1に基づいて算出する。また、処理部42は、差分値Dが閾値T2以上で閾値T1以下の場合、関数f(D)の値を、f(D)=Dに基づいて算出する。また、処理部42は、差分値Dが−255以上で閾値T2未満の場合、関数f(D)の値を、f(D)=T2+(D−T2)×C2に基づいて算出する。そして、処理部42は、差分値Dに応じて算出した関数f(D)の値を輝度値Bに加算して輝度値AAを算出する(AA=B+f(D))。
すなわち、処理部42は、差分値Dが閾値T1を超える場合、輝度値AAを、予め決められた係数C1を含む式(1)に基づいて算出する。また、処理部42は、差分値Dが閾値T1以下で閾値T2以上の場合、輝度値AAを、式(2)に基づいて算出する。また、処理部42は、差分値Dが閾値T2未満の場合、輝度値AAを、予め決められた係数C2を含む式(3)に基づいて算出する。
AA=B+T1+(D−T1)×C1 ・・・(1)
AA=A ・・・(2)
AA=B+T2+(D−T2)×C2 ・・・(3)
ここで、関数f(D)は、差分値Dが閾値T1、T2の付近で変化する場合でも、図4の備考欄に示すように、差分値Dの変化に応じて連続的に変化する。図4の備考欄に示すグラフは、閾値T1=50、閾値T2=−50、係数C1=0.8、係数C2=0.4の場合の差分値Dと関数f(D)との関係を示す。図4の備考欄に示すグラフの横軸は差分値Dを示し、縦軸は関数f(D)を示す。差分値Dが−255から−50までの範囲では、関数f(D)は、傾きC2(=0.4)で差分値Dに比例する。差分値Dが−50から50までの範囲では、関数f(D)は、傾き1で差分値Dに比例する。差分値Dが50から255までの範囲では、関数f(D)は、傾きC1(=0.8)で差分値Dに比例する。
このように、関数f(D)の値は、差分値Dの最小値(図4の例では、−255)から最大値(図4の例では、255)までの全範囲において、差分値Dが増加するにしたがい増加する。また、関数f(D)の傾きは、差分値Dが予め決められた閾値T1(正の第1閾値)を超える範囲および差分値Dが予め決められた閾値T2(負の第2閾値)未満の範囲では、差分値Dが閾値T1以下で閾値T2以上の範囲での関数f(D)の傾きより小さい。なお、処理部42により実行される画像処理は、図4に示す例に限定されない。
図5は、図3に示した処理部42により実行される画像処理の比較例を示す。図5に示す符号A、B、AA、T1、T2、C1、C2の意味は、図4と同じである。
比較例では、差分値Dが閾値T1より大きく255以下の場合、差分値Dの関数f(D)の値は、f(D)=D×C1に基づいて算出される。差分値Dが閾値T2以上で閾値T1以下の場合、関数f(D)の値は、f(D)=Dに基づいて算出される。差分値Dが−255以上で閾値T2未満の場合、関数f(D)の値は、f(D)=D×C2に基づいて算出される。そして、差分値Dに応じて算出した関数f(D)の値を輝度値Bに加算して輝度値AAが算出される(AA=B+f(D))。
図5の備考欄には、閾値T1=50、閾値T2=−50、係数C1=0.8、係数C2=0.4の場合の差分値Dと関数f(D)との関係を示す。図5の備考欄に示すグラフの横軸は差分値Dを示し、縦軸は関数f(D)を示す。差分値Dが−255から−50までの範囲では、関数f(D)は、傾きC2(=0.4)で差分値Dに比例する。差分値Dが−50から50までの範囲では、関数f(D)は、傾き1で差分値Dに比例する。差分値Dが50から255までの範囲では、関数f(D)は、傾きC1(=0.8)で差分値Dに比例する。比較例では、図5の備考欄に示すように、関数f(D)は、差分値Dが閾値T1、T2の付近で変化する場合、非連続に変化する。この場合、例えば、互いに隣接する画素の一方の輝度値が0(B=0)から55(A=55)に変化し、他方の輝度値が5(B=5)から55(A=55)に変化した場合、画像処理後の互いに隣接する画素間に輝度差が発生する。画像処理後の互いに隣接する画素の一方の輝度値AAは、差分値D(=55)が閾値T1(=50)より大きいため、44(=0+55×0.8)になる。また、画像処理後の互いに隣接する画素の他方の輝度値AAは、差分値D(=50)が閾値T2(=−50)以上で閾値T1(=50)以下であるため、55(=0+55)になる。このように、画像処理後の互いに隣接する画素間に輝度差(11=55−44)が発生し、元の画像に存在しないエッジが発生する。
これに対し、処理部42により実行される画像処理では、図4に示したように、関数f(D)は、差分値Dが閾値T1、T2の付近で変化する場合でも、差分値Dの変化に応じて連続的に変化する。このため、処理部42は、画像処理後の互いに隣接する画素間に元の画像に存在しないエッジが発生することを抑制できる。例えば、上述の数値例を図4に示した例に当てはめた場合、画像処理後の互いに隣接する画素の一方の輝度値AAは、54になり、他方の輝度値AAは、55になる。この場合、画像処理後の互いに隣接する画素間の輝度差(1=55−54)は、比較例の輝度差(11=55−44)に比べて小さいため、画像処理後の互いに隣接する画素間にエッジが発生することを抑制できる。
図6は、図3に示した画像表示制御装置12の動作の概要を示す。なお、図6は、表示装置200の更新レートF1が60Hzで、受信部22が受信する画像IMGiの更新レートF2が12Hzの場合の画像表示制御装置12の動作の概要を示す。図6の横軸は時間を示し、縦軸は、画像処理後の画素の輝度値AAを示す。更新レートF1が60Hzで、更新レートF2が12Hzの場合、受信部22が時刻TM0で画像IMGiを受信してから次の画像IMGi(新たな画像IMGi)を受信するまでに、時刻TM1、TM2、TM3、TM4、TM5で表示タイミングが発生する。
図6に示す波形は、時刻TM0まで表示装置200に表示されている画像IMGdと時刻TM0に受信部22が受信する画像IMGiとの互いに対応する画素のうち、輝度値が255から0に変化する画素に対して画像処理が実行された場合の輝度値AAを示す。なお、実線の波形は、画像表示制御装置12が表示装置200に表示する画像IMGdの画素の輝度値AAを示し、破線の波形は、画像表示制御装置12の比較例が表示装置200に表示する画像IMGdの画素の輝度値AAを示す。
画像表示制御装置12は、時刻TM0に受信した画像IMGiに対して、1回目の表示タイミングである時刻TM1に、図4で説明した画像処理を実行する。閾値T1、T2、係数C1、C2が図4に示した値(T1=50、T2=−50、C1=0.8、C2=0.4)の場合、差分値D(=−255)は、閾値T2(=−50)より小さい。このため、関数f(D)は、−132(=−50+(−255−(−50))×0.4))になる。したがって、画像処理後の画素の輝度値AAは、123(=255+(−132))になる。この場合、輝度値が255から0に変化する場合に比べて、表示装置200に表示される画像IMGdの輝度の変化が緩やかになる。この結果、表示装置200の応答特性によるフリッカの発生を抑制することができる。
そして、画像表示制御装置12は、2回目以降の表示タイミング(時刻TM2、TM3、TM4、TM5)では、時刻TM0に受信した画像IMGiに対する画像処理を実行せずに、表示装置200に表示されている画像IMGdを再表示する。すなわち、2回目以降の表示タイミング(時刻TM2、TM3、TM4、TM5)では、画像表示制御装置12は、1回目の表示タイミング(時刻TM1)で表示装置200に表示した画像IMGdを再表示する。このため、1回目の表示タイミングから画像表示制御装置12が新たな画像IMGiを受信するまで、輝度値AAは、123に維持される。
これに対し、比較例(破線の波形)では、時刻TM0に受信した画像IMGiに対して、表示タイミング毎(時刻TM1、TM2、TM3、TM4、TM5)に、図5で説明した画像処理が実行される。閾値T1、T2、係数C1、C2が図5に示した値(T1=50、T2=−50、C1=0.8、C2=0.4)の場合、1回目の表示タイミング(時刻TM1)で、輝度値AAは、153になる。そして、輝度値AAは、2回目の表示タイミング(時刻TM2)で91になり、3回目の表示タイミング(時刻TM3)で54になり、4回目の表示タイミング(時刻TM4)で32になり、5回目の表示タイミング(時刻TM5)で0になる。このように、比較例では、5回の表示タイミング毎に表示装置200に表示される表示画像間で輝度値AAが変化するため、表示画像間の輝度差によるフリッカが発生する。
これに対し、画像表示制御装置12は、上述したように、1回目の表示タイミングから新たな画像IMGiを受信するまで、表示装置200に表示する画像IMGdの輝度値AAを、1回目の表示タイミングで表示した画像IMGdの輝度値に維持する。これにより、画像表示制御装置12は、表示画像間の輝度差によるフリッカの発生を抑制できる。このように、画像表示制御装置12は、表示装置200の応答特性によるフリッカの発生および表示画像間の輝度差によるフリッカの発生の両方を抑制できる。
図7は、図3に示した画像表示制御装置12の動作の一例を示す。図7に示す動作は、画像表示制御方法の一例である。また、図7に示す動作をコンピュータ100に実行させるためのプログラムは、画像表示制御プログラムの一例である。
ステップS100では、設定部80は、閾値T1、T2および係数C1、C2を処理部42に設定し、更新レートF1、F2を判定部64に設定し、変数CTを0に設定する。例えば、画像IMGiの各画素および画像IMGdの各画素の輝度値が0から255までの範囲の場合、閾値T1は、0以上で255以下の範囲の値に設定され、閾値T2は、−255以上で0以下の範囲の値に設定される。また、係数C1、C2は、0以上で1以下の範囲の値に設定される。変数CTは、表示タイミングの発生回数、すなわち、表示装置200で画像IMGdが更新された回数を示す。例えば、変数CTは、判定部64に保持される。
次に、ステップS120では、受信部22は、画像IMGiを受信する。なお、受信部22は、ステップS120以降の処理が実行される期間においても、図1に示した受信部20と同様に、表示対象の画像IMGiを所定の間隔TIで受信する。
次に、ステップS140では、例えば、表示制御部62は、現時刻が表示タイミングか否かを判定する。現時刻が表示タイミングである場合、画像表示制御装置12の動作は、ステップS160に移る。一方、現時刻が表示タイミングでない場合、画像表示制御装置12の動作は、ステップS140に戻る。すなわち、ステップS160の処理は、受信部22が最初の画像IMGiを受信した後に発生する最初の表示タイミングに実行される。
ステップS160では、判定部64は、受信部22で受信した画像IMGiをフレームメモリ66に格納する。これにより、受信部22が最初に受信した画像IMGiが画像IMGdとして、フレームメモリ66に保持される。
次に、ステップS180では、表示制御部62は、フレームメモリ66に保持された画像IMGdを表示装置200に表示し、変数CTを1増加させる(CT=CT+1)。例えば、出力部68は、フレームメモリ66に保持された画像IMGdを表示装置200に転送する。これにより、ステップS160でフレームメモリ66に格納された最初の画像IMGiが画像IMGdとして表示装置200に表示される。
次に、ステップS200では、例えば、表示制御部62は、現時刻が表示タイミングか否かを判定する。現時刻が表示タイミングである場合、画像表示制御装置12の動作は、ステップS220に移る。一方、現時刻が表示タイミングでない場合、画像表示制御装置12の動作は、ステップS200に戻る。
ステップS220では、判定部64は、受信部22で受信した画像IMGiを取得する。
次に、ステップS240では、判定部64は、変数NFを、NF=F1/F2×CTに基づいて算出し、変数PFを、NF=F1/F2×(CT−1)に基づいて算出する。なお、小数点以下は切り捨てられる。変数NFは、今回の表示タイミングで表示装置200に表示される画像IMGd(表示画像)に対応する画像IMGi(入力画像)が受信部22で何番目に受信された画像IMGiかを示す。変数PFは、1つ前の表示タイミングで表示装置200に表示された画像IMGd(表示画像)に対応する画像IMGi(入力画像)が受信部22で何番目に受信された画像IMGiかを示す。
次に、ステップS260では、判定部64は、変数NFと変数PFとが不一致か否かを判定する。変数NFと変数PFとの不一致は、1つ前の表示タイミングで表示装置200に表示された画像IMGdに対応する画像IMGiとステップS220で受信部22から取得した画像IMGiとが異なることを示す。すなわち、画像表示制御装置12が新たな画像IMGiを受信した場合、変数NFと変数PFとが不一致になる。このように、変数NFと変数PFとの不一致は、1つ前の表示タイミングの表示画像から入力画像が更新されたことを示す。なお、変数NFと変数PFとの一致は、1つ前の表示タイミングの表示画像から入力画像が更新されていないことを示す。
変数NFと変数PFとが不一致の場合、すなわち、画像表示制御装置12が新たな画像IMGiを受信した場合、画像表示制御装置12の動作は、ステップS280に移る。一方、変数NFと変数PFとが一致する場合、すなわち、画像表示制御装置12が新たな画像IMGiを受信していない場合、画像表示制御装置12の動作は、ステップS320に移る。
ステップS280では、処理部42は、受信部22が新たに受信した画像IMGiに対して、画像処理を実行する。これにより、受信部22が受信した新たな画像IMGから、表示装置200に表示する画像IMGdが生成される。ステップS280の画像処理により、表示装置200の応答特性によるフリッカの発生を抑制することができる。なお、ステップS280の画像処理の詳細は、図8で説明する。
ステップS300では、処理部42は、画像処理の実行後の画像IMGd(ステップS280の画像処理により生成される画像IMGd)を、フレームメモリ66に格納する。ステップS300の処理が実行された後、画像表示制御装置12の動作は、ステップS320に移る。
ステップS320では、表示制御部62は、フレームメモリ66に保持された画像IMGdを表示装置200に表示し、変数CTを1増加させる(CT=CT+1)。例えば、出力部68は、フレームメモリ66に保持された画像IMGdを表示装置200に転送する。これにより、フレームメモリ66に保持された画像処理後の画像IMGdが表示装置200に表示される。
なお、ステップS260の判定において、変数NFと変数PFとが一致すると判定された場合、フレームメモリ66に保持されている画像処理後の画像IMGdは、1つ前の表示タイミングで表示装置200に表示された画像IMGdである。したがって、ステップS260の判定において、変数NFと変数PFとが一致すると判定された場合、ステップS320では、表示制御部62は、1つ前の表示タイミングで表示装置200に表示された画像IMGdを再表示する。これにより、表示画像間の輝度差によるフリッカの発生を抑制することができる。
ステップS320の処理が実行された後、画像表示制御装置12の動作は、ステップS200に戻る。すなわち、ステップS220からステップS320までの一連の処理は、表示タイミングに同期して繰り返し実行される。
なお、画像表示制御装置12の動作は、図7に示す例に限定されない。例えば、画像表示制御装置12は、最初に受信した画像IMGiに対しても、ステップS280の画像処理を実行してもよい。この場合、画像表示制御装置12は、例えば、表示装置200の初期値の輝度(例えば、黒を示す輝度値0)と最初に受信した画像IMGiの輝度との差を、図4で説明した差分値Dとして、式(1)から式(3)のいずれかに基づいて輝度値AAを算出してもよい。
図8は、図7に示した画像処理の一例を示す。ステップS281の処理は、図7に示したステップS260の判定において、変数NFと変数PFとが不一致であると判定された場合、実行される。
ステップS281では、処理部42は、判定部64から画像IMGiを取得する。例えば、判定部64は、図7に示したステップS260の判定において、変数NFと変数PFとが不一致であると判定した場合、図7に示すステップS220で受信部22から取得した画像IMGiを、処理部42に転送する。これにより、処理部42は、受信部22が受信した新たな画像IMGiを、判定部64を介して取得する。図8では、ステップS281で取得した画像IMGiの複数の画素から選択される画素の輝度値は、符号Aを用いて、輝度値Aとも称される。
次に、ステップS282では、処理部42は、表示装置200に表示されている画像IMGdをフレームメモリ66から取得する。すなわち、処理部42は、1つ前の表示タイミングでフレームメモリ66から表示装置200に転送された画像IMGdを、フレームメモリ66から取得する。図8では、ステップS282で取得した画像IMGdの複数の画素から選択される画素の輝度値は、符号Bを用いて、輝度値Bとも称される。ステップS282の処理が実行された後、処理部42の動作は、ステップS283に移る。
ステップS283では、処理部42は、ステップS281で取得した画像IMGiの複数の画素から処理対象の画素を選択する。また、処理部42は、ステップS282で取得した画像IMGdの複数の画素から、処理対象の画素に対応する画素を選択する。上述したように、処理対象の画素の輝度値は、輝度値Aとも称され、処理対象の画素に対応する画素の輝度値は、輝度値Bとも称される。
次に、ステップS284では、処理部42は、輝度値Aから輝度値Bを減算した差分値D(=A−B)が閾値T1より大きいか否かを判定する。すなわち、処理部42は、処理対象の画素において、表示装置200に表示されている画像IMGdに対する輝度の上昇量(=A−B)が閾値T1を超えるか否かを判定する。差分値Dが閾値T1より大きい場合、処理部42の動作は、ステップS285に移る。一方、差分値Dが閾値T1以下の場合、処理部42の動作は、ステップS286に移る。
ステップS285では、処理部42は、AA=B+T1+(A−B−T1)×C1の演算を実行する。輝度値AAは、ステップS283で選択した処理対象の画素の画像処理後の輝度値、すなわち、表示装置200に表示する画像IMGdにおける処理対象の画素の輝度値を示す。なお、AA=B+T1+(A−B−T1)×C1は、図4で説明した式(1)の差分値Dに(A−B)を代入した式である。ステップS285の演算により、表示装置200に表示する画像IMGdにおける処理対象の画素の輝度値AAが算出される。ステップS285の処理が実行された後、処理部42の動作は、ステップS289に移る。
ステップS286では、処理部42は、輝度値Aから輝度値Bを減算した差分値D(=A−B)が閾値T2より小さいか否かを判定する。すなわち、処理部42は、処理対象の画素において、表示装置200に表示されている画像IMGdに対する輝度の下降量(=A−B)が閾値T2を超えるか否かを判定する。差分値Dが閾値T2より小さい場合、処理部42の動作は、ステップS287に移る。一方、差分値Dが閾値T2以上の場合、すなわち、差分値Dが閾値T2以上で閾値T1以下の場合、処理部42の動作は、ステップS288に移る。
ステップS287では、処理部42は、AA=B+T2+(A−B−T2)×C2の演算を実行する。なお、AA=B+T2+(A−B−T2)×C2は、図4で説明した式(3)の差分値Dに(A−B)を代入した式である。ステップS287の演算により、表示装置200に表示する画像IMGdにおける処理対象の画素の輝度値AAが算出される。ステップS287の処理が実行された後、処理部42の動作は、ステップS289に移る。
ステップS288では、処理部42は、輝度値AAを輝度値Aとする演算(AA=A)を実行する。すなわち、処理部42は、図4で説明した式(2)の演算を実行する。ステップS288の演算により、表示装置200に表示する画像IMGdにおける処理対象の画素の輝度値AAが算出される。ステップS288の処理が実行された後、処理部42の動作は、ステップS289に移る。
ステップS289では、処理部42は、輝度値AAを算出する処理がステップS281で取得した画像IMGiの全ての画素に対して終了したか否かを判定する。輝度値AAを算出する処理がステップS281で取得した画像IMGiの全ての画素に対して終了した場合、画像処理は終了し、処理部42の動作は、図7に示したステップS300に移る。一方、輝度値AAが算出されていない画素が存在する場合、処理部42は、動作をステップS283に戻し、輝度値AAが算出されていない画素から処理対象の画素を選択する。
このように、処理部42は、ステップS281で取得した画像IMGiの複数の画素のうち、表示装置200に表示されている画像IMGdに対する輝度の上昇量が閾値T1を超える画素に対しては、ステップS285の演算を実行する。これにより、表示装置200に表示されている画像IMGdの画素の輝度値Bに対する新たな画像IMGiの画素の輝度値Aの上昇量に比べて、輝度値Bに対する画像処理後の画素の輝度値AAの上昇量を小さくすることができる。すなわち、表示装置200に表示されている画像IMGdに対する輝度の上昇度合いを緩やかにすることができる。
また、処理部42は、ステップS281で取得した画像IMGiの複数の画素のうち、表示装置200に表示されている画像IMGdに対する輝度の下降量が閾値T2を超える画素に対しては、ステップS286の演算を実行する。これにより、表示装置200に表示されている画像IMGdの画素の輝度値Bに対する新たな画像IMGiの画素の輝度値Aの下降量に比べて、輝度値Bに対する画像処理後の画素の輝度値AAの下降量を小さくすることができる。すなわち、表示装置200に表示されている画像IMGdに対する輝度の下降度合いを緩やかにすることができる。
また、処理部42は、ステップS281で取得した画像IMGiの複数の画素のうち、表示装置200に表示されている画像IMGdとの輝度の差分値Dが閾値T2以上で閾値T1以下の画素に対しては、ステップS288の演算を実行する。すなわち、表示装置200に表示されている画像IMGdに対する輝度の変化量が小さい画素(差分値Dが閾値T2以上で閾値T1以下の画素)では、画像IMGiの輝度値Aが輝度値AAとして算出される。
処理部42が実行する画像処理により、表示装置200に表示されている画像IMGdに対する輝度の上昇度合いおよび下降度合いを緩やかにすることができるため、表示装置200の応答特性によるフリッカの発生を抑制することができる。なお、処理部42が実行する画像処理は、図8に示す例に限定されない。
以上、図3から図8に示す実施形態においても、図1から図2に示した実施形態と同様の効果を得ることができる。例えば、画像表示制御装置12は、表示装置200に表示される画像IMGdの輝度の変化を緩やかにする画像処理を実行することにより、表示装置200の応答特性によるフリッカの発生を抑制できる。また、画像表示制御装置12は、表示タイミングにおいて、新たな画像IMGiを受信していない場合、表示装置200に表示されている画像IMGdを再表示することにより、表示画像間の輝度差によるフリッカの発生を抑制できる。このように、表示装置200の応答特性によるフリッカの発生および表示画像間の輝度差によるフリッカの発生の両方を抑制することできる。
さらに、画像表示制御装置12は、新たな画像IMGiの画素の輝度値Aを表示装置200に表示されている画像IMGdの画素の輝度値Bから減算した差分値D(=A−B)に応じた式に基づいて、輝度値AAを算出する。差分値Dに応じた式は、例えば、図4で説明した式(1)から式(3)のいずれかである。図4で説明したように、画像処理に用いる関数f(D)は、差分値Dが閾値T1、T2の付近で変化する場合でも、差分値Dの変化に応じて連続的に変化する。これにより、画像表示制御装置12は、画像処理後の互いに隣接する画素間に元の画像に存在しないエッジが発生することを抑制できる。
図9は、画像表示制御プログラム、画像表示制御方法および画像表示制御装置の別の実施形態を示す。図1から図8で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図9に示す画像表示制御装置14は、コンピュータ100に含まれ、所定の間隔TDで発生する表示タイミングで画像IMGdを液晶表示装置等の表示装置200に表示する。画像表示制御装置14は、図3に示した処理部42の代わりに処理部44を有することを除いて、図3に示した画像表示制御装置12と同一または同様である。
画像表示制御装置14は、受信部22、処理部44、表示制御部62および設定部80を有する。また、表示制御部62は、判定部64、フレームメモリ66および出力部68を有する。例えば、受信部22、処理部44、判定部64、出力部68および設定部80は、コンピュータ100に含まれる図示しないプロセッサが画像表示制御プログラム等を実行することにより、実現される。なお、画像表示制御プログラムは、コンピュータ100内の図示しないメモリ等の記憶装置に格納されてもよく、コンピュータ100の外部の記憶装置に格納されてもよい。また、画像表示制御プログラムは、CD−ROM、DVD、USBメモリ等のコンピュータ100により読み取り可能な記録媒体RECに格納されてもよい。この場合、記録媒体RECに格納された画像表示制御プログラムは、コンピュータ100に設けられる図示しない入出力インタフェース等を介して記録媒体RECからメモリ等に転送される。なお、画像表示制御プログラムは、記録媒体RECから図示しないハードディスクに転送された後、ハードディスクからメモリに転送されてもよい。
設定部80、受信部22および表示制御部62は、図3に示した設定部80、受信部22および表示制御部62と同一または同様である。なお、図9に示す例では、設定部80は、閾値T1、T2の代わりに係数P1、P2を処理部44に設定する。係数P1は、表示装置200に表示される画像IMGdの輝度が上昇する場合の関数f(D)の傾きが変化する点(差分値D)を調整する正の調整値である。係数P2は、表示装置200に表示される画像IMGdの輝度が下降する場合の関数f(D)の傾きが変化する点(差分値D)を調整する負の調整値である。すなわち、設定部80は、表示装置200の応答特性に基づいて予め決められる係数P1、P2、C1、C2を処理部44に設定し、更新レートF1、F2を判定部64に設定する。係数P1は、第1所定値の一例であり、係数P2は、第2所定値の一例である。
処理部44は、受信部22が受信した画像IMGiに対して、表示装置200に表示される画像IMGdの輝度の変化を緩やかにする画像処理を実行する。例えば、処理部44は、判定部64から転送される画像IMGiに対して、図10に示す演算式に基づいて画像処理を実行し、画像IMGiから画像IMGdを生成する。そして、処理部44は、画像IMGiから生成した画像IMGdをフレームメモリ66に格納する。これにより、フレームメモリ66は、表示装置200に表示する画像IMGdを保持する。図9に示す処理部44に記載した括弧内の符号A、B、AAは、図10等で説明する演算式に用いられる輝度値A、B、AAに対応する。
なお、画像表示制御装置14の構成および動作は、図9に示す例に限定されない。例えば、受信部22、処理部44、判定部64、出力部68および設定部80は、ハードウェアのみで実現されてもよい。すなわち、受信部22、処理部44、判定部64、出力部68および設定部80は、ハードウェアのみで実現されてもよく、画像表示制御プログラム等のソフトウェアでハードウェアを制御することにより実現されてもよい。
図10は、図9に示した処理部44により実行される画像処理の一例を示す。図10に示す符号A、B、AA、C1、C2の意味は、図4と同じである。また、符号P1、P2は、図9で説明した係数P1、P2を示す。
処理部44は、新たな画像IMGiの画素毎に、新たな画像IMGiの画素の輝度値Aを表示装置200に表示されている画像IMGdの画素の輝度値Bから減算した差分値D(=A−B)に応じた画像処理を実行する。これにより、新たな画像IMGiを表示装置200に表示する場合の輝度値AAが算出される。
図10に示す例では、図4と同様に、差分値Dは、−255から255までの範囲である。例えば、処理部44は、差分値Dが0以上で255以下の場合、差分値Dの関数f(D)の値を、f(D)=tanh(D/P1)×(P1×(1−C1))+D×C1に基づいて算出する。また、処理部44は、差分値Dが−255以上で0未満の場合、関数f(D)の値を、f(D)=tanh(D/P2)×(P2×(1−C2))+D×C2に基づいて算出する。そして、処理部44は、差分値Dに応じて算出した関数f(D)の値を輝度値Bに加算して輝度値AAを算出する(AA=B+f(D))。
すなわち、処理部44は、差分値Dが0以上の場合、輝度値AAを、予め決められた係数C1、P1を含む式(4)に基づいて算出し、差分値Dが0未満の場合、輝度値AAを、予め決められた係数C2、P2を含む式(5)に基づいて算出する。
AA=B+tanh(D/P1)×(P1×(1−C1))+D×C1 ・・・(4)
AA=B+tanh(D/P2)×(P2×(1−C2))+D×C2 ・・・(5)
ここで、関数f(D)は、差分値Dが係数P1、P2の付近で変化する場合でも、図10の備考欄に示すように、差分値Dの変化に応じて連続的に変化する。このため、処理部44は、画像処理後の互いに隣接する画素間に元の画像に存在しないエッジが発生することを抑制できる。図10の備考欄に示すグラフは、係数P1=50、係数P2=−50、係数C1=0.8、係数C2=0.4の場合の差分値Dと関数f(D)との関係を示す。図10の備考欄に示すグラフの横軸は差分値Dを示し、縦軸は関数f(D)を示す。差分値Dが−255から−50までの範囲、および、差分値Dが50から255までの範囲では、差分値Dが0付近の場合に比べて、関数f(D)の傾きは、緩やかである。また、図10に示す例では、関数f(D)の傾きの変化が図4に示した関数f(D)に比べて滑らかになるため、図4に示す例に比べて、元の画像に存在しないエッジの発生を抑制する効果を向上することができる。
このように、関数f(D)の値は、差分値Dの最小値から最大値までの全範囲において、差分値Dが増加するにしたがい増加する。関数f(D)の傾きは、差分値Dが正の第1所定値(係数P1)を超える範囲では、差分値が0以上で第1所定値(係数P1)以下の範囲での関数f(D)の傾きより小さい。また、関数f(D)の傾きは、差分値Dが負の第2所定値(係数P2)未満の範囲では、差分値Dが0未満で第2所定値(係数P2)以上の範囲での関数f(D)の傾きより小さい。なお、処理部44により実行される画像処理は、図10に示す例に限定されない。
図11は、図9に示した画像表示制御装置14の動作の一例を示す。図11に示す動作は、画像表示制御方法の一例である。また、図11に示す動作をコンピュータ100に実行させるためのプログラムは、画像表示制御プログラムの一例である。図11に示す動作は、図7に示したステップS100、S280の代わりにステップS102、S290が実行されることを除いて、図7に示した動作と同一または同様である。図7で説明したステップと同一または同様のステップについては、同一または同様の符号を付し、これ等については、詳細な説明を省略する。
ステップS102では、設定部80は、係数P1、P2、C1、C2を処理部44に設定し、更新レートF1、F2を判定部64に設定し、変数CTを0に設定する。例えば、画像IMGiの各画素および画像IMGdの各画素の輝度値が0から255までの範囲の場合、係数P1は、0以上で255以下の範囲の値に設定され、係数P2は、−255以上で0以下の範囲の値に設定される。また、係数C1、C2は、0以上で1以下の範囲の値に設定される。変数CTは、表示タイミングの発生回数、すなわち、表示装置200で画像IMGdが更新された回数を示す。例えば、変数CTは、判定部64に保持される。ステップS102の処理が実行された後、画像表示制御装置14の動作は、ステップS120に移る。
ステップS120からステップS260までの動作は、図7に示したステップS120からステップS260までの動作と同一または同様である。例えば、ステップS260では、判定部64は、変数NFと変数PFとが不一致か否かを判定する。変数NFと変数PFとが不一致の場合、すなわち、画像表示制御装置14が新たな画像IMGiを受信した場合、画像表示制御装置14の動作は、ステップS290に移る。一方、変数NFと変数PFとが一致する場合、すなわち、画像表示制御装置14が新たな画像IMGiを受信していない場合、画像表示制御装置14の動作は、ステップS320に移る。
ステップS290では、処理部44は、受信部22が新たに受信した画像IMGiに対して、画像処理を実行する。これにより、受信部22が受信した新たな画像IMGから、表示装置200に表示する画像IMGdが生成される。ステップS290の画像処理により、表示装置200の応答特性によるフリッカの発生を抑制することができる。なお、ステップS290の画像処理の詳細は、図12で説明する。ステップS290の処理が実行された後、画像表示制御装置14の動作は、ステップS300に移る。
ステップS300からステップS320までの動作は、図7に示したステップS300からステップS320までの動作と同一または同様である。例えば、ステップS260の判定において、変数NFと変数PFとが不一致であると判定された場合、ステップS320では、表示制御部62は、ステップS290の画像処理が実行された画像IMGdを表示する。また、ステップS260の判定において、変数NFと変数PFとが一致すると判定された場合、ステップS320では、表示制御部62は、1つ前の表示タイミングで表示装置200に表示された画像IMGdを再表示する。これにより、表示画像間の輝度差によるフリッカの発生を抑制することができる。ステップS320の処理が実行された後、画像表示制御装置14の動作は、ステップS200に戻る。すなわち、ステップS220からステップS320までの一連の処理は、図7に示した動作と同様に、表示タイミングに同期して繰り返し実行される。
なお、画像表示制御装置14の動作は、図11に示す例に限定されない。例えば、画像表示制御装置14は、最初に受信した画像IMGiに対しても、ステップS290の画像処理を実行してもよい。この場合、画像表示制御装置14は、例えば、表示装置200の初期値の輝度(例えば、黒を示す輝度値0)と最初に受信した画像IMGiの輝度との差を、図10で説明した差分値Dとして、式(1)、式(2)のいずれかに基づいて輝度値AAを算出してもよい。
図12は、図11に示した画像処理の一例を示す。なお、ステップS291、S292、S293、S297の各々の処理は、図8に示したステップS281、S282、S283、S289の各々の処理と同一または同様である。ステップS291の処理は、図11に示したステップS260の判定において、変数NFと変数PFとが不一致であると判定された場合、実行される。
ステップS291では、処理部44は、判定部64から画像IMGiを取得する。例えば、判定部64は、図11に示したステップS260の判定において、変数NFと変数PFとが不一致であると判定した場合、図11に示すステップS220で受信部22から取得した画像IMGiを、処理部44に転送する。これにより、処理部44は、受信部22が受信した新たな画像IMGiを、判定部64を介して取得する。図12では、ステップS291で取得した画像IMGiの複数の画素から選択される画素の輝度値は、符号Aを用いて、輝度値Aとも称される。
次に、ステップS292では、処理部44は、表示装置200に表示されている画像IMGdをフレームメモリ66から取得する。すなわち、処理部44は、1つ前の表示タイミングでフレームメモリ66から表示装置200に転送された画像IMGdを、フレームメモリ66から取得する。図12では、ステップS292で取得した画像IMGdの複数の画素から選択される画素の輝度値は、符号Bを用いて、輝度値Bとも称される。ステップS292の処理が実行された後、処理部44の動作は、ステップS293に移る。
ステップS293では、処理部44は、ステップS291で取得した画像IMGiの複数の画素から処理対象の画素を選択する。また、処理部44は、ステップS292で取得した画像IMGdの複数の画素から、処理対象の画素に対応する画素を選択する。上述したように、処理対象の画素の輝度値は、輝度値Aとも称され、処理対象の画素に対応する画素の輝度値は、輝度値Bとも称される。
次に、ステップS294では、処理部44は、輝度値Aから輝度値Bを減算した差分値D(=A−B)が0以上か否かを判定する。すなわち、処理部44は、処理対象の画素において、表示装置200に表示されている画像IMGdに対して輝度が上昇するか否かを判定する。差分値Dが0以上の場合、すなわち、処理対象の画素の輝度が表示装置200に表示されている画像IMGdに対して維持または上昇する場合、処理部44の動作は、ステップS295に移る。一方、差分値Dが0未満の場合、すなわち、処理対象の画素の輝度が表示装置200に表示されている画像IMGdに対して下降する場合、処理部44の動作は、ステップS296に移る。
ステップS295では、処理部44は、AA=B+tanh((A−B)/P1)×(P1×(1−C1))+(A−B)×C1の演算を実行する。輝度値AAは、ステップS293で選択した処理対象の画素の画像処理後の輝度値、すなわち、表示装置200に表示する画像IMGdにおける処理対象の画素の輝度値を示す。なお、AA=B+tanh((A−B)/P1)×(P1×(1−C1))+(A−B)×C1は、図10で説明した式(4)の差分値Dに(A−B)を代入した式である。ステップS295の演算により、表示装置200に表示する画像IMGdにおける処理対象の画素の輝度値AAが算出される。ステップS295の処理が実行された後、処理部44の動作は、ステップS297に移る。
ステップS296では、処理部44は、AA=B+tanh((A−B)/P2)×(P2×(1−C2))+(A−B)×C2の演算を実行する。なお、AA=B+tanh((A−B)/P2)×(P2×(1−C2))+(A−B)×C2は、図10で説明した式(5)の差分値Dに(A−B)を代入した式である。ステップS296の演算により、表示装置200に表示する画像IMGdにおける処理対象の画素の輝度値AAが算出される。ステップS296の処理が実行された後、処理部44の動作は、ステップS297に移る。
ステップS297では、処理部44は、輝度値AAを算出する処理がステップS291で取得した画像IMGiの全ての画素に対して終了したか否かを判定する。輝度値AAを算出する処理がステップS291で取得した画像IMGiの全ての画素に対して終了した場合、画像処理は終了し、処理部44の動作は、図11に示したステップS300に移る。一方、輝度値AAが算出されていない画素が存在する場合、処理部44は、動作をステップS293に戻し、輝度値AAが算出されていない画素から処理対象の画素を選択する。
このように、処理部44は、ステップS291で取得した画像IMGiの複数の画素のうち、表示装置200に表示されている画像IMGdと同じ輝度の画素または輝度が上昇する画素に対しては、ステップS295の演算を実行する。これにより、表示装置200に表示されている画像IMGdの画素の輝度値Bに対する新たな画像IMGiの画素の輝度値Aの上昇量に比べて、輝度値Bに対する画像処理後の画素の輝度値AAの上昇量を小さくすることができる。すなわち、表示装置200に表示されている画像IMGdに対する輝度の上昇度合いを緩やかにすることができる。
また、処理部44は、ステップS291で取得した画像IMGiの複数の画素のうち、表示装置200に表示されている画像IMGdに対して輝度が下降する画素に対しては、ステップS296の演算を実行する。これにより、表示装置200に表示されている画像IMGdの画素の輝度値Bに対する新たな画像IMGiの画素の輝度値Aの下降量に比べて、輝度値Bに対する画像処理後の画素の輝度値AAの下降量を小さくすることができる。すなわち、表示装置200に表示されている画像IMGdに対する輝度の下降度合いを緩やかにすることができる。
処理部44が実行する画像処理により、表示装置200に表示されている画像IMGdに対する輝度の上昇度合いおよび下降度合いを緩やかにすることができるため、表示装置200の応答特性によるフリッカの発生を抑制することができる。なお、処理部44が実行する画像処理は、図12に示す例に限定されない。
以上、図9から図12に示す実施形態においても、図3から図8に示した実施形態と同様の効果を得ることができる。例えば、画像表示制御装置14は、表示装置200に表示される画像IMGdの輝度の変化を緩やかにする画像処理を実行することにより、表示装置200の応答特性によるフリッカの発生を抑制できる。また、画像表示制御装置14は、表示タイミングにおいて、新たな画像IMGiを受信していない場合、表示装置200に表示されている画像IMGdを再表示することにより、表示画像間の輝度差によるフリッカの発生を抑制できる。このように、表示装置200の応答特性によるフリッカの発生および表示画像間の輝度差によるフリッカの発生の両方を抑制することできる。
さらに、画像表示制御装置14は、新たな画像IMGiの画素の輝度値Aを表示装置200に表示されている画像IMGdの画素の輝度値Bから減算した差分値D(=A−B)に応じた式に基づいて、輝度値AAを算出する。差分値Dに応じた式は、例えば、図10で説明した式(4)および式(5)のいずれかである。図10で説明したように、画像処理に用いる関数f(D)は、差分値Dが係数P1、P2の付近で変化する場合でも、差分値Dの変化に応じて連続的に変化する。これにより、画像表示制御装置14は、画像処理後の互いに隣接する画素間に元の画像に存在しないエッジが発生することを抑制できる。また、図10に示した関数f(D)の傾きの変化は図4に示した関数f(D)に比べて滑らかであるため、画像表示制御装置14は、画像表示制御装置12に比べて、元の画像に存在しないエッジの発生を抑制する効果を向上できる。
以上の実施形態において説明した発明を整理して、付記として以下の通り開示する。
(付記1)
所定の間隔で発生する表示タイミングで画像を表示装置に表示する画像表示制御プログラムにおいて、
画像を受信し、
受信した画像に対して、表示装置に表示される画像の輝度の変化を緩やかにする画像処理を実行し、
前記画像処理の実行後の画像を前記表示タイミングに同期して前記表示装置に表示し、次の前記表示タイミングまでに新たな画像を受信していない場合、前記表示装置に表示されている画像を表示し続ける
処理をコンピュータに実行させるための画像表示制御プログラム。
(付記2)
付記1に記載の画像表示制御プログラムにおいて、
前記新たな画像の画素毎に、前記新たな画像の画素の輝度値を前記表示装置に表示されている画像の画素の輝度値から減算した差分値を変数とする関数の値を、前記表示装置に表示されている画像の画素の輝度値に加算する前記画像処理を実行して、前記新たな画像を前記表示装置に表示する場合の輝度値を算出し、
前記関数の値は、前記差分値の最小値から最大値までの全範囲において、前記差分値が増加するにしたがい増加し、
前記関数の傾きは、前記差分値が予め決められた正の第1閾値を超える範囲および前記差分値が予め決められた負の第2閾値未満の範囲では、前記差分値が前記第1閾値以下で前記第2閾値以上の範囲での前記関数の傾きより小さいこと
を特徴とする画像表示制御プログラム。
(付記3)
付記2に記載の画像表示制御プログラムにおいて、
前記第1閾値をT1、前記第2閾値をT2、前記差分値をD、前記関数をf(D)とした場合の前記関数f(D)の値を、予め決められた係数C1、C2を用いて表される次式に基づいて算出し、
T1<Dの場合、f(D)=T1+(D−T1)×C1
T2≦D≦T1の場合、f(D)=D
D<T2の場合、f(D)=T2+(D−T2)×C2
前記表示装置に表示されている画像の画素の輝度値に前記関数f(D)の値を加算した値を、前記新たな画像を前記表示装置に表示する場合の輝度値として算出すること
を特徴とする画像表示制御プログラム。
(付記4)
付記1に記載の画像表示制御プログラムにおいて、
前記新たな画像の画素毎に、前記新たな画像の画素の輝度値を前記表示装置に表示されている画像の画素の輝度値から減算した差分値を変数とする関数の値を、前記表示装置に表示されている画像の画素の輝度値に加算する前記画像処理を実行して、前記新たな画像を前記表示装置に表示する場合の輝度値を算出し、
前記関数の値は、前記差分値の最小値から最大値までの全範囲において、前記差分値が増加するにしたがい増加し、
前記関数の傾きは、前記差分値が正の第1所定値を超える範囲では、前記差分値が0以上で前記第1所定値以下の範囲での前記関数の傾きより小さく、前記差分値が負の第2所定値未満の範囲では、前記差分値が0未満で前記第2所定値以上の範囲での前記関数の傾きより小さいこと
を特徴とする画像表示制御プログラム。
(付記5)
付記4に記載の画像表示制御プログラムにおいて、
前記第1所定値をP1、前記第2所定値をP2、前記差分値をD、前記関数をf(D)とした場合の前記関数f(D)の値を、予め決められた係数C1、C2を用いて表される次式に基づいて算出し、
0≦Dの場合、f(D)=tanh(D/P1)×(P1×(1−C1))+D×C1
D<0の場合、f(D)=tanh(D/P2)×(P2×(1−C2))+D×C2
前記表示装置に表示されている画像の画素の輝度値に前記関数f(D)の値を加算した値を、前記新たな画像を前記表示装置に表示する場合の輝度値として算出すること
を特徴とする画像表示制御プログラム。
(付記6)
所定の間隔で発生する表示タイミングで画像を表示装置に表示する画像表示制御方法において、
画像を受信し、
受信した画像に対して、表示装置に表示される画像の輝度の変化を緩やかにする画像処理を実行し、
前記画像処理の実行後の画像を前記表示タイミングに同期して前記表示装置に表示し、次の前記表示タイミングまでに新たな画像を受信していない場合、前記表示装置に表示されている画像を表示し続ける
ことを特徴とする画像表示制御方法。
(付記7)
所定の間隔で発生する表示タイミングで画像を表示装置に表示する画像表示制御装置において、
画像を受信する受信部と、
受信した画像に対して、表示装置に表示される画像の輝度の変化を緩やかにする画像処理を実行する処理部と、
前記画像処理の実行後の画像を前記表示タイミングに同期して前記表示装置に表示し、次の前記表示タイミングまでに新たな画像を受信していない場合、前記表示装置に表示されている画像を表示し続ける表示制御部とを有する
ことを特徴とする画像表示制御装置。
(付記8)
所定の間隔で発生する表示タイミングで画像を表示装置に表示する画像表示制御プログラムを記録した記録媒体において、
画像を受信し、
受信した画像に対して、表示装置に表示される画像の輝度の変化を緩やかにする画像処理を実行し、
前記画像処理の実行後の画像を前記表示タイミングに同期して前記表示装置に表示し、次の前記表示タイミングまでに新たな画像を受信していない場合、前記表示装置に表示されている画像を表示し続ける
処理をコンピュータに実行させるための画像表示制御プログラムを記録したことを特徴とする前記コンピュータが読み取り可能な記録媒体。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。