(57)【要約】【課題】コマ落ちの発生を容易に抑制することが可能な表示制御装置を提供する。【解決手段】この表示制御装置１は、フレームバッファ６のＡ面とＢ面から画素データを順次読み出し、読み出した画素データを画像信号に変換するとともに、画像表示装置１１の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する一方、画素データの読出が行なわれているメモリ領域（Ａ面またはＢ面）に書き込まれた画素データのうちの、ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える。したがって、Ａ面またはＢ面で画素データの読出と書込を並列に行なうことができ、画素データの書込性能の向上を図ることができる。【選択図】図５
2012128313.tif 000002
【特許請求の範囲】
【請求項１】
フレームバッファの２つのメモリ領域を交替させながら画素データの読出と書込を並列に行ない、読み出した画素データを画像信号に変換して画像表示装置に与える表示制御装置であって、
前記２つのメモリ領域から画素データを順次読み出し、読み出した画素データを前記画像信号に変換するとともに、前記画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する表示制御手段と、
前記表示制御手段によって画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、前記ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える描画制御手段とを備える、表示制御装置。
【請求項２】
さらに、描画コマンドによって指定される図形が、前記画面の１番目のラインと前記ライン表示信号によって示される番号のラインとの間の画像表示領域に包含されるか否かを判別し、包含される場合に起動要求信号を出力するバッファ制御手段を備え、
前記描画制御手段は、前記起動要求信号に応答して起動し、前記描画コマンド、図形の頂点座標、色を含む入力情報に従って、次に描画すべき図形の画素データを生成し、生成した画素データに基づいて前記読出済みの画素データを順次書き換える、請求項１に記載の表示制御装置。
【請求項３】
さらに、順次入力される複数の描画コマンドを格納するコマンドバッファを備え、
前記バッファ制御手段は、前記コマンドバッファに格納された前記複数の描画コマンドによってそれぞれ指定される複数の図形の各々が前記画像表示領域に含まれるか否かを判別し、包含される図形を指定する描画コマンドと前記起動要求信号とを前記描画制御手段に与える、請求項２に記載の表示制御装置。
【請求項４】
フレームバッファの２つメモリ領域を交替させながら画素データの読出と書込を並列に行ない、読み出した画素データを画像信号に変換して画像表示装置に与える表示制御方法であって、
前記２つのメモリ領域から画素データを順次読み出し、読み出した画素データを前記画像信号に変換するとともに、前記画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する一方、
画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、前記ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える、表示制御方法。
【請求項５】
請求項４に記載の表示制御方法をコンピュータに実行させる、表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は表示制御装置、表示制御方法、および表示制御プログラムに関し、特に、フレームバッファの２つのメモリ領域を交替させながら画素データの読出と書込を並列に行なう表示制御装置、表示制御方法、および表示制御プログラムに関する。
【背景技術】
【０００２】
従来の表示制御方法では、各々が１画面分の画素データを格納する２つのメモリ領域を有するフレームバッファを使用し、２つのメモリ領域を交替させながら、一方のメモリ領域に画素データの書込を行なうとともに、他方のメモリ領域から画素データの読出を行なっていた。
【０００３】
画素データの書込方法としては、１画面分のデータ書込を規定の時間内で強制的に終了させるフレームロック方式と、１画面分のデータ書込が規定時間内に終了しない場合、規定時間を延長するオーバーロードプロテクト方式がある。
【０００４】
フレームロック方式では、１画面分のデータ書込を強制終了した場合、画像の一部に表示抜けが発生すると言う問題がある。また、オーバーロードプロテクト方式では、画像の表示抜けは発生しないが、いわゆるコマ落ちが発生すると言う問題がある。
【０００５】
コマ落ちの発生を抑制する方法としては、メモリ領域に１画面分の画素データを書き込むために要した書込時間を検出し、検出した書込時間が所定の制限時間を超過した場合、その超過時間を吸収するように当該画像の表示時間を短縮する方法がある（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２９４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１の方法では、書込時間の検出などが必要となり、制御フローが複雑になると言う問題があった。
【０００８】
それゆえに、この発明の主たる目的は、コマ落ちの発生を容易に抑制することが可能な表示制御装置、表示制御方法、および表示制御プログラムを提供することである。
【課題を解決するための手段】
【０００９】
この発明に係る表示制御装置は、フレームバッファの２つのメモリ領域を交替させながら画素データの読出と書込を並列に行ない、読み出した画素データを画像信号に変換して画像表示装置に与える表示制御装置であって、２つのメモリ領域から画素データを順次読み出し、読み出した画素データを画像信号に変換するとともに、画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する表示制御手段と、表示制御手段によって画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える描画制御手段とを備えたものである。
【発明の効果】
【００１０】
この発明に係る表示制御装置では、フレームバッファの２つのメモリ領域から画素データを順次読み出し、読み出した画素データを画像信号に変換するとともに、画像表示装置の画面の複数のラインのうちの表示中のラインの番号を示すライン表示信号を出力する一方、画素データの読出が行なわれているメモリ領域に書き込まれた画素データのうちの、ライン表示信号によって示される番号よりも小さな番号のラインに対応する読出済みの画素データを新たな画素データに順次書き換える。したがって、同じメモリ領域で画素データの読出と書込を並列に行なうことができ、画素データの書込性能の向上を図ることができる。よって、書込時間を検出することなく、コマ落ちの発生を容易に抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１による表示制御装置の構成を示すブロック図である。
【図２】図１に示した表示制御装置の動作を示すフローチャートである。
【図３】図２に示した描画、表示並列動作を示すフローチャートである。
【図４】図３に示したステップＳＴ１４を説明するための図である。
【図５】図３に示したステップＳＴ１４を説明するための他の図である。
【図６】この発明の実施の形態２による表示制御装置を説明するための図である。
【発明を実施するための形態】
【００１２】
［実施の形態１］
この発明の実施の形態１による表示制御装置１は、図１に示すように、バッファ制御部２、描画制御部３、表示制御部４、調停部５、およびフレームバッファ６を備える。表示制御装置１は、ＣＰＵ（Central Processing Unit）１０から与えられる描画コマンドおよびデータに基づいて画像信号を生成し、生成した画像信号を液晶表示装置のような画像表示装置１１に与えるものである。画像表示装置１１の画面は、各々が複数の画素を有する複数のラインを含む。画像表示装置１１は、画像信号に従って画面に画像を表示する。
【００１３】
フレームバッファ６は、画素データの書込および読出が可能なメモリであり、２つのメモリ領域を有する。各メモリ領域には、１画面分の画素データが格納される。ここでは、２つのメモリ領域をそれぞれＡ面およびＢ面と称する。
【００１４】
バッファ制御部２は、Ａ面とＢ面を随時切換え、描画制御部３に描画ベースアドレスを与えるとともに、表示制御部４に表示ベースアドレスを与える。また、バッファ制御部２は、画素データの読出が行なわれているメモリ領域（Ａ面またはＢ面）と同じメモリ領域に画素データを書き込む場合、次に描画する図形が、画像表示装置１１の画面の複数のラインのうちの１番目のラインと現在表示中のラインとの間の画像表示領域に包含されるか否かを判別し、包含される場合、すなわち描画制御部３が動作しても画像表示に影響を与えない条件を満たした場合に描画制御部３に対して起動要求を発行する。
【００１５】
描画制御部３は、バッファ制御部２からの起動要求に応答して起動し、描画する図形に対応した描画コマンドとデータ（図形の座標、描画色など）に従って、バッファ制御部２から入力される描画ベースアドレスを基準に、図形の内部に含まれる画素に対応する物理アドレスと描画データ（描画色）を算出する。また、描画制御部３は、調停部５を介して、フレームバッファ６のうちの、算出した物理アドレスに描画データを書き込む。
【００１６】
表示制御部４は、バッファ制御部２から与えられる表示ベースアドレスを基準とし、調停部５を介してフレームバッファ６から１フレーム分の画素データを順次読み出し、読出タ画素データに基づいて画像表示装置１１に対応する画像信号を生成する。また、表示制御部４は、画像表示装置１１の画面の複数のラインのうちの現在表示中のラインの番号（ライン表示信号）をバッファ制御部２に与える。調停部５は、描画制御部３からの書込要求と表示制御部４からの読出要求との調停を行なう。
【００１７】
図２は、表示制御装置１の動作を示すフローチャートである。図２において、表示制御装置１は、ＣＰＵ１０からの描画処理開始命令に応答して動作を開始する。動作開始直後、１フレーム目の画像の描画が終了するまでは、表示制御部４は動作しない。ここでは、１フレーム目の画像はＡ面に描画されるものとする。
【００１８】
描画制御部３は、描画コマンドによって示される図形の内部に含まれる画素を算出し、描画を行なう画素に対応する物理アドレスと描画データ（描画色）を算出し、調停部５を介してフレームバッファ６のＡ面に画素データを書き込む（ステップＳＴ１）。このとき、表示制御部４からの読出要求も同時に発行されている場合には、表示制御部４からの読出要求の方が優先され、読出終了後に描画制御部３による画素データの書込が行なわれる。
【００１９】
１フレーム目の画像の描画（画素データの書込）が終了すると（ステップＳＴ２）、バッファ制御部２は、表示制御部４を起動させ、フレームバッファ６のＡ面からの表示データの読出を開始させるとともに、描画制御部３に、２フレーム目の画素データのＢ面への描画を開始させる。（ステップＳＴ３）。このときバッファ制御部２は、描画制御部３にＢ面の描画ベースアドレスを与えるとともに、表示制御部４にＡ面の表示ベースアドレスを与える。
【００２０】
以降は、描画制御部３と表示制御部４が並列動作を行なう（ステップＳＴ４）。描画と表示の並列動作を終了してもよいか否かを判別し（ステップＳＴ５）、並列動作を終了できない場合はステップＳＴ４に戻り、並列動作を終了してもよい場合は描画処理を終了する。
【００２１】
図３は、ステップＳＴ４を詳細に示すフローチャートである。図３において、Ａ面とＢ面の状態は、ステップＳＴ１０〜ＳＴ１５の６通りに分類できる。以下、各状態における動作について説明する。
【００２２】
ステップＳＴ１０（Ａ面表示中、Ｂ面描画中）では、Ａ面に書き込まれた画像が画像表示装置１１の画面に表示されるとともに、Ｂ面に次フレームの画像が描画される。Ｂ面への画像の描画が完了するよりも早くＡ面の画像の表示が完了した場合、次のフレームもＡ面の画像を表示する。また、Ａ面の画像の表示が完了する前にＢ面への画像の描画が完了した場合、ステップＳＴ１１に移行する。
【００２３】
ステップＳＴ１１（Ａ面表示中、Ａ面描画中）では、Ａ面のうちの書換可能な領域に次次フレームの画像を描画する。Ａ面の画像の表示が完了すると、ステップＳＴ１３に移行する。Ａ面の画像の表示が完了する前に、次次フレームの描画が完了した場合は、ステップＳＴ１２に移行する。ステップＳＴ１２（Ａ面表示中）では、Ａ面の画像の表示が完了するのを待機する。Ａ面の画像の表示が完了すると、ステップＳＴ１３に移行する。
【００２４】
ステップＳＴ１３（Ｂ面表示中、Ａ面描画中）では、Ａ面に画像を描画する。Ａ面への画像の描画が完了するよりも早くＢ面の画像の表示が完了した場合、次のフレームもＢ面の画像を表示する。Ｂ面の画像の表示が完了する前にＡ面の画像の描画が完了した場合、ステップＳＴ１４に移行する。
【００２５】
ステップＳＴ１４（Ｂ面表示中、Ｂ面描画中）では、Ｂ面のうちの書換可能な領域に次次フレームの画像を描画する。Ｂ面の画像の表示が完了すると、ステップＳＴ１０に移行する。Ｂ面の画像の表示が完了する前に、次フレームの画像の描画が完了した場合は、ステップＳＴ１５に移行する。ステップＳＴ１５（Ｂ面表示中）では、Ｂ面の画像の表示が完了するのを待機する。Ｂ面の画像の表示が完了すると、ステップＳＴ１０に移行する。
【００２６】
バッファ制御部２は、並列動作中においてＣＰＵ１０から描画処理開始命令を受けると、表示制御部４から与えられる現在表示中のラインの番号と、次に描画すべき図形を包含する矩形とを比較し、比較結果に基づいて、フレームバッファ６内に書換可能な領域が有るか否かを判定する。
【００２７】
すなわち図４に示すように、現在表示中のラインの番号が次に描画すべき図形を包含する矩形のＹ座標最大値よりも大きい場合、描画は表示内容に影響を与えないため、バッファ制御部２は描画制御部３を起動させる。
【００２８】
一方、図５に示すように、現在表示中のライン番号が次に描画すべき図形を包含する矩形のＹ座標最大値よりも小さい場合、描画が表示内容に影響を与えないようにするため、バッファ制御部２は、その矩形のＹ座標最大値の範囲までの表示が終了してから、描画制御部３を起動させる。
【００２９】
なお、表示制御部４は、フレームが切り替わる毎に、フレームバッファ６に格納された画像データを先頭から順番に読み出し、画像表示装置１１に対して、画像信号(同期信号とデータ)を順番に出力する。１フレーム内では、各アドレス領域に対して１度だけ読出を行なう。このため、一旦読み出された領域（書換可能領域）に対して書込を行なっても表示の際のちらつきは生じない。
【００３０】
この実施の形態１では、現在表示中のラインの番号に基づいてＡ面とＢ面の切換制御を行なうので、回路規模を増大させることなく描画制御部３の動作効率を向上させることができ、コマ落ちの発生を容易に抑制することができる。
【００３１】
また、Ａ面（またはＢ面）の書き換えを終了したとき、Ｂ面（またはＡ面）の表示が完全に終了するまで待機するのではなく、Ｂ面（またはＡ面）の書換可能領域を検出して画像の書換えを行なう。したがって、描画制御部３の性能を最大限に活用できる。
【００３２】
なお、表示制御装置１は、専用のハードウェア（たとえば、ＭＰＵ（Micro Processing Unit）を実装した半導体集積回路基板）で構成するとよい。あるいは、表示制御装置１の処理内容を記述した描画プログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されている描画プログラムを実行するようにしてもよい。ここで、コンピュータには、パーソナルコンピュータの他に、描画プログラムを実行することが可能な携帯電話機、携帯情報端末やカーナビゲーション装置なども含まれものとする。
【００３３】
また、この実施の形態１では、バッファ制御部２が現在表示中のラインの番号と、次に描画すべき図形を包含する矩形とを比較し、比較結果に基づいて描画制御部３を制御したが、画像の描画が現在表示中のラインを追い越さないように制御してもよい。
【００３４】
［実施の形態２］
上記実施の形態１では、描画コマンドが入力される度に領域判定を行なって、描画可能と判断した場合に描画制御部３を起動させた。これに対して、この実施の形態２では図６に示すように、描画コマンドを複数個蓄積できるコマンド用バッファ７を追加し、コマンド用バッファ７に格納されている描画コマンドの順番を、描画速度が最速となるように入れ替えて描画を行なう。
【００３５】
図６において、コマンド用バッファ７には、ＣＰＵ１０からの複数の描画コマンドが入力された順番に格納される。図６の例では、最初に入力された描画コマンドによって指定される図形Ｆ１が書き換え可能領域に含まれず、後から入力された描画コマンドによって指定される図形Ｆ２，Ｆ３が書き換え可能領域に含まれるものとする。ただし、図形Ｆ１と図形Ｆ２，Ｆ３は重ならないものとする。このとき、バッファ制御部２は、書き換え可能領域に含まれる図形Ｆ２，Ｆ３の描画を図形Ｆ１よりも優先して行なわせる。なお、図形Ｆ１と図形Ｆ２，Ｆ３が重ならないことが前提条件になっているので、図形Ｆ１と図形Ｆ２，Ｆ３の順序を入れ替えても画像が不自然になることはない。
【００３６】
この実施の形態２では、表示中のラインの番号に加えてコマンド用バッファ７も利用してＡ面とＢ面の切換制御を行なうので、描画制御部３の動作効率をさらに向上させることができる。
【００３７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００３８】
１  表示制御装置、２  バッファ制御部、３  描画制御部、４  表示制御部、５  調停部、６  フレームバッファ、７  コマンド用バッファ、１０  ＣＰＵ、１１  画像表示装置。
【図１】
2012128313.tif 000003
【図２】
2012128313.tif 000004
【図３】
2012128313.tif 000005
【図４】
2012128313.tif 000006
【図５】
2012128313.tif 000007
【図６】
2012128313.tif 000008