説明

表示制御装置、表示制御方法、および表示制御プログラム

【課題】コマ落ちの発生を容易に抑制することが可能な表示制御装置を提供する。
【解決手段】この表示制御装置1は、フレームバッファ6のA面とB面から画素データを順次読み出し、読み出した画素データを画像信号に変換するとともに、画像表示装置11の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する一方、画素データの読出が行なわれているメモリ領域(A面またはB面)に書き込まれた画素データのうちの、ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える。したがって、A面またはB面で画素データの読出と書込を並列に行なうことができ、画素データの書込性能の向上を図ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は表示制御装置、表示制御方法、および表示制御プログラムに関し、特に、フレームバッファの2つのメモリ領域を交替させながら画素データの読出と書込を並列に行なう表示制御装置、表示制御方法、および表示制御プログラムに関する。
【背景技術】
【0002】
従来の表示制御方法では、各々が1画面分の画素データを格納する2つのメモリ領域を有するフレームバッファを使用し、2つのメモリ領域を交替させながら、一方のメモリ領域に画素データの書込を行なうとともに、他方のメモリ領域から画素データの読出を行なっていた。
【0003】
画素データの書込方法としては、1画面分のデータ書込を規定の時間内で強制的に終了させるフレームロック方式と、1画面分のデータ書込が規定時間内に終了しない場合、規定時間を延長するオーバーロードプロテクト方式がある。
【0004】
フレームロック方式では、1画面分のデータ書込を強制終了した場合、画像の一部に表示抜けが発生すると言う問題がある。また、オーバーロードプロテクト方式では、画像の表示抜けは発生しないが、いわゆるコマ落ちが発生すると言う問題がある。
【0005】
コマ落ちの発生を抑制する方法としては、メモリ領域に1画面分の画素データを書き込むために要した書込時間を検出し、検出した書込時間が所定の制限時間を超過した場合、その超過時間を吸収するように当該画像の表示時間を短縮する方法がある(たとえば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−29456号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1の方法では、書込時間の検出などが必要となり、制御フローが複雑になると言う問題があった。
【0008】
それゆえに、この発明の主たる目的は、コマ落ちの発生を容易に抑制することが可能な表示制御装置、表示制御方法、および表示制御プログラムを提供することである。
【課題を解決するための手段】
【0009】
この発明に係る表示制御装置は、フレームバッファの2つのメモリ領域を交替させながら画素データの読出と書込を並列に行ない、読み出した画素データを画像信号に変換して画像表示装置に与える表示制御装置であって、2つのメモリ領域から画素データを順次読み出し、読み出した画素データを画像信号に変換するとともに、画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する表示制御手段と、表示制御手段によって画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える描画制御手段とを備えたものである。
【発明の効果】
【0010】
この発明に係る表示制御装置では、フレームバッファの2つのメモリ領域から画素データを順次読み出し、読み出した画素データを画像信号に変換するとともに、画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する一方、画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える。したがって、同じメモリ領域で画素データの読出と書込を並列に行なうことができ、画素データの書込性能の向上を図ることができる。よって、書込時間を検出することなく、コマ落ちの発生を容易に抑制することができる。
【図面の簡単な説明】
【0011】
【図1】この発明の実施の形態1による表示制御装置の構成を示すブロック図である。
【図2】図1に示した表示制御装置の動作を示すフローチャートである。
【図3】図2に示した描画、表示並列動作を示すフローチャートである。
【図4】図3に示したステップST14を説明するための図である。
【図5】図3に示したステップST14を説明するための他の図である。
【図6】この発明の実施の形態2による表示制御装置を説明するための図である。
【発明を実施するための形態】
【0012】
[実施の形態1]
この発明の実施の形態1による表示制御装置1は、図1に示すように、バッファ制御部2、描画制御部3、表示制御部4、調停部5、およびフレームバッファ6を備える。表示制御装置1は、CPU(Central Processing Unit)10から与えられる描画コマンドおよびデータに基づいて画像信号を生成し、生成した画像信号を液晶表示装置のような画像表示装置11に与えるものである。画像表示装置11の画面は、各々が複数の画素を有する複数のラインを含む。画像表示装置11は、画像信号に従って画面に画像を表示する。
【0013】
フレームバッファ6は、画素データの書込および読出が可能なメモリであり、2つのメモリ領域を有する。各メモリ領域には、1画面分の画素データが格納される。ここでは、2つのメモリ領域をそれぞれA面およびB面と称する。
【0014】
バッファ制御部2は、A面とB面を随時切換え、描画制御部3に描画ベースアドレスを与えるとともに、表示制御部4に表示ベースアドレスを与える。また、バッファ制御部2は、画素データの読出が行なわれているメモリ領域(A面またはB面)と同じメモリ領域に画素データを書き込む場合、次に描画する図形が、画像表示装置11の画面の複数のラインのうちの1番目のラインと現在表示中のラインとの間の画像表示領域に包含されるか否かを判別し、包含される場合、すなわち描画制御部3が動作しても画像表示に影響を与えない条件を満たした場合に描画制御部3に対して起動要求を発行する。
【0015】
描画制御部3は、バッファ制御部2からの起動要求に応答して起動し、描画する図形に対応した描画コマンドとデータ(図形の座標、描画色など)に従って、バッファ制御部2から入力される描画ベースアドレスを基準に、図形の内部に含まれる画素に対応する物理アドレスと描画データ(描画色)を算出する。また、描画制御部3は、調停部5を介して、フレームバッファ6のうちの、算出した物理アドレスに描画データを書き込む。
【0016】
表示制御部4は、バッファ制御部2から与えられる表示ベースアドレスを基準とし、調停部5を介してフレームバッファ6から1フレーム分の画素データを順次読み出し、読出タ画素データに基づいて画像表示装置11に対応する画像信号を生成する。また、表示制御部4は、画像表示装置11の画面の複数のラインのうちの現在表示中のラインの番号(ライン表示信号)をバッファ制御部2に与える。調停部5は、描画制御部3からの書込要求と表示制御部4からの読出要求との調停を行なう。
【0017】
図2は、表示制御装置1の動作を示すフローチャートである。図2において、表示制御装置1は、CPU10からの描画処理開始命令に応答して動作を開始する。動作開始直後、1フレーム目の画像の描画が終了するまでは、表示制御部4は動作しない。ここでは、1フレーム目の画像はA面に描画されるものとする。
【0018】
描画制御部3は、描画コマンドによって示される図形の内部に含まれる画素を算出し、描画を行なう画素に対応する物理アドレスと描画データ(描画色)を算出し、調停部5を介してフレームバッファ6のA面に画素データを書き込む(ステップST1)。このとき、表示制御部4からの読出要求も同時に発行されている場合には、表示制御部4からの読出要求の方が優先され、読出終了後に描画制御部3による画素データの書込が行なわれる。
【0019】
1フレーム目の画像の描画(画素データの書込)が終了すると(ステップST2)、バッファ制御部2は、表示制御部4を起動させ、フレームバッファ6のA面からの表示データの読出を開始させるとともに、描画制御部3に、2フレーム目の画素データのB面への描画を開始させる。(ステップST3)。このときバッファ制御部2は、描画制御部3にB面の描画ベースアドレスを与えるとともに、表示制御部4にA面の表示ベースアドレスを与える。
【0020】
以降は、描画制御部3と表示制御部4が並列動作を行なう(ステップST4)。描画と表示の並列動作を終了してもよいか否かを判別し(ステップST5)、並列動作を終了できない場合はステップST4に戻り、並列動作を終了してもよい場合は描画処理を終了する。
【0021】
図3は、ステップST4を詳細に示すフローチャートである。図3において、A面とB面の状態は、ステップST10〜ST15の6通りに分類できる。以下、各状態における動作について説明する。
【0022】
ステップST10(A面表示中、B面描画中)では、A面に書き込まれた画像が画像表示装置11の画面に表示されるとともに、B面に次フレームの画像が描画される。B面への画像の描画が完了するよりも早くA面の画像の表示が完了した場合、次のフレームもA面の画像を表示する。また、A面の画像の表示が完了する前にB面への画像の描画が完了した場合、ステップST11に移行する。
【0023】
ステップST11(A面表示中、A面描画中)では、A面のうちの書換可能な領域に次次フレームの画像を描画する。A面の画像の表示が完了すると、ステップST13に移行する。A面の画像の表示が完了する前に、次次フレームの描画が完了した場合は、ステップST12に移行する。ステップST12(A面表示中)では、A面の画像の表示が完了するのを待機する。A面の画像の表示が完了すると、ステップST13に移行する。
【0024】
ステップST13(B面表示中、A面描画中)では、A面に画像を描画する。A面への画像の描画が完了するよりも早くB面の画像の表示が完了した場合、次のフレームもB面の画像を表示する。B面の画像の表示が完了する前にA面の画像の描画が完了した場合、ステップST14に移行する。
【0025】
ステップST14(B面表示中、B面描画中)では、B面のうちの書換可能な領域に次次フレームの画像を描画する。B面の画像の表示が完了すると、ステップST10に移行する。B面の画像の表示が完了する前に、次フレームの画像の描画が完了した場合は、ステップST15に移行する。ステップST15(B面表示中)では、B面の画像の表示が完了するのを待機する。B面の画像の表示が完了すると、ステップST10に移行する。
【0026】
バッファ制御部2は、並列動作中においてCPU10から描画処理開始命令を受けると、表示制御部4から与えられる現在表示中のラインの番号と、次に描画すべき図形を包含する矩形とを比較し、比較結果に基づいて、フレームバッファ6内に書換可能な領域が有るか否かを判定する。
【0027】
すなわち図4に示すように、現在表示中のラインの番号が次に描画すべき図形を包含する矩形のY座標最大値よりも大きい場合、描画は表示内容に影響を与えないため、バッファ制御部2は描画制御部3を起動させる。
【0028】
一方、図5に示すように、現在表示中のライン番号が次に描画すべき図形を包含する矩形のY座標最大値よりも小さい場合、描画が表示内容に影響を与えないようにするため、バッファ制御部2は、その矩形のY座標最大値の範囲までの表示が終了してから、描画制御部3を起動させる。
【0029】
なお、表示制御部4は、フレームが切り替わる毎に、フレームバッファ6に格納された画像データを先頭から順番に読み出し、画像表示装置11に対して、画像信号(同期信号とデータ)を順番に出力する。1フレーム内では、各アドレス領域に対して1度だけ読出を行なう。このため、一旦読み出された領域(書換可能領域)に対して書込を行なっても表示の際のちらつきは生じない。
【0030】
この実施の形態1では、現在表示中のラインの番号に基づいてA面とB面の切換制御を行なうので、回路規模を増大させることなく描画制御部3の動作効率を向上させることができ、コマ落ちの発生を容易に抑制することができる。
【0031】
また、A面(またはB面)の書き換えを終了したとき、B面(またはA面)の表示が完全に終了するまで待機するのではなく、B面(またはA面)の書換可能領域を検出して画像の書換えを行なう。したがって、描画制御部3の性能を最大限に活用できる。
【0032】
なお、表示制御装置1は、専用のハードウェア(たとえば、MPU(Micro Processing Unit)を実装した半導体集積回路基板)で構成するとよい。あるいは、表示制御装置1の処理内容を記述した描画プログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されている描画プログラムを実行するようにしてもよい。ここで、コンピュータには、パーソナルコンピュータの他に、描画プログラムを実行することが可能な携帯電話機、携帯情報端末やカーナビゲーション装置なども含まれものとする。
【0033】
また、この実施の形態1では、バッファ制御部2が現在表示中のラインの番号と、次に描画すべき図形を包含する矩形とを比較し、比較結果に基づいて描画制御部3を制御したが、画像の描画が現在表示中のラインを追い越さないように制御してもよい。
【0034】
[実施の形態2]
上記実施の形態1では、描画コマンドが入力される度に領域判定を行なって、描画可能と判断した場合に描画制御部3を起動させた。これに対して、この実施の形態2では図6に示すように、描画コマンドを複数個蓄積できるコマンド用バッファ7を追加し、コマンド用バッファ7に格納されている描画コマンドの順番を、描画速度が最速となるように入れ替えて描画を行なう。
【0035】
図6において、コマンド用バッファ7には、CPU10からの複数の描画コマンドが入力された順番に格納される。図6の例では、最初に入力された描画コマンドによって指定される図形F1が書き換え可能領域に含まれず、後から入力された描画コマンドによって指定される図形F2,F3が書き換え可能領域に含まれるものとする。ただし、図形F1と図形F2,F3は重ならないものとする。このとき、バッファ制御部2は、書き換え可能領域に含まれる図形F2,F3の描画を図形F1よりも優先して行なわせる。なお、図形F1と図形F2,F3が重ならないことが前提条件になっているので、図形F1と図形F2,F3の順序を入れ替えても画像が不自然になることはない。
【0036】
この実施の形態2では、表示中のラインの番号に加えてコマンド用バッファ7も利用してA面とB面の切換制御を行なうので、描画制御部3の動作効率をさらに向上させることができる。
【0037】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0038】
1 表示制御装置、2 バッファ制御部、3 描画制御部、4 表示制御部、5 調停部、6 フレームバッファ、7 コマンド用バッファ、10 CPU、11 画像表示装置。

【特許請求の範囲】
【請求項1】
フレームバッファの2つのメモリ領域を交替させながら画素データの読出と書込を並列に行ない、読み出した画素データを画像信号に変換して画像表示装置に与える表示制御装置であって、
前記2つのメモリ領域から画素データを順次読み出し、読み出した画素データを前記画像信号に変換するとともに、前記画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する表示制御手段と、
前記表示制御手段によって画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、前記ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える描画制御手段とを備える、表示制御装置。
【請求項2】
さらに、描画コマンドによって指定される図形が、前記画面の1番目のラインと前記ライン表示信号によって示される番号のラインとの間の画像表示領域に包含されるか否かを判別し、包含される場合に起動要求信号を出力するバッファ制御手段を備え、
前記描画制御手段は、前記起動要求信号に応答して起動し、前記描画コマンド、図形の頂点座標、色を含む入力情報に従って、次に描画すべき図形の画素データを生成し、生成した画素データに基づいて前記読出済みの画素データを順次書き換える、請求項1に記載の表示制御装置。
【請求項3】
さらに、順次入力される複数の描画コマンドを格納するコマンドバッファを備え、
前記バッファ制御手段は、前記コマンドバッファに格納された前記複数の描画コマンドによってそれぞれ指定される複数の図形の各々が前記画像表示領域に含まれるか否かを判別し、包含される図形を指定する描画コマンドと前記起動要求信号とを前記描画制御手段に与える、請求項2に記載の表示制御装置。
【請求項4】
フレームバッファの2つメモリ領域を交替させながら画素データの読出と書込を並列に行ない、読み出した画素データを画像信号に変換して画像表示装置に与える表示制御方法であって、
前記2つのメモリ領域から画素データを順次読み出し、読み出した画素データを前記画像信号に変換するとともに、前記画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する一方、
画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、前記ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える、表示制御方法。
【請求項5】
請求項4に記載の表示制御方法をコンピュータに実行させる、表示制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−128313(P2012−128313A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−281369(P2010−281369)
【出願日】平成22年12月17日(2010.12.17)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】