(57)【要約】【課題】グラフィックスプロセッサの描画データを垂直同期周波数が異なるディスプレイに表示すると不具合が生じる。【解決手段】グラフィックスプロセッサ３０の描画処理部３２は、マルチバッファで構成されるフレームバッファ４４を順次切り替えて描画データの書き込み先のフレームバッファ４４を選択し、描画データを書き込む。ディスプレイコントローラ５０は、複数のフレームバッファ４４を順次切り替えて描画データの読み出し先のフレームバッファ４４を選択し、フレームバッファ内を走査して読み出される描画データをディスプレイに供給する。切替信号生成部３６は、ディスプレイコントローラ５０に読み出し先のフレームバッファ４４の切り替えタイミングを指示するためのバッファ切替信号をグラフィックスプロセッサ３０がディスプレイ６０の垂直同期周波数とは異なる周波数にて生成する。【選択図】図２
2007286519.tif 000002
【特許請求の範囲】
【請求項１】
描画データがフレーム単位で保持される複数のフレームバッファを順次切り替えて選択し、選択されたフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラであって、前記ディスプレイの垂直同期周波数とは異なる周波数にて前記フレームバッファを切り替えることを特徴とするディスプレイコントローラ。
【請求項２】
前記フレームバッファを切り替える周波数は、グラフィックスプロセッサが前記描画データをフレーム単位で生成する際に想定する垂直同期周波数であることを特徴とする請求項１に記載のディスプレイコントローラ。
【請求項３】
前記グラフィックスプロセッサから前記想定する垂直同期周波数にて生成されたバッファ切替信号を受け取り、前記バッファ切替信号により前記フレームバッファの切り替えタイミングを制御することを特徴とする請求項２に記載のディスプレイコントローラ。
【請求項４】
描画データがフレーム単位で保持される複数のフレームバッファを順次切り替えて選択し、選択されたフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラに対して、前記フレームバッファの切り替えタイミングを与えるためのバッファ切替信号を与えるグラフィックスプロセッサであって、当該グラフィックプロセッサが前記描画データをフレーム単位で生成する際に想定する垂直同期周波数にて前記バッファ切替信号を生成することを特徴とするグラフィックスプロセッサ。
【請求項５】
描画データをフレーム単位で保持する複数のフレームバッファと、
前記複数のフレームバッファを順次切り替えて前記描画データの書き込み先のフレームバッファを選択し、選択された書き込み先のフレームバッファに前記描画データを生成する描画処理部と、
前記複数のフレームバッファを順次切り替えて前記描画データの読み出し先のフレームバッファを選択し、選択された読み出し先のフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラと、
前記ディスプレイコントローラに読み出し先のフレームバッファの切り替えタイミングを指示するためのバッファ切替信号を生成する切替信号生成部とを含み、
前記切替信号生成部は、前記ディスプレイの垂直同期周波数とは異なる周波数にて前記バッファ切替信号を生成することを特徴とする描画処理装置。
【請求項６】
前記バッファ切替信号は、前記描画処理部に書き込み先のフレームバッファの切り替えタイミングを指示するためにも用いられることを特徴とする請求項５に記載の描画処理装置。
【請求項７】
前記切替信号生成部は、前記描画処理部が前記描画データをフレーム単位で生成する際に想定する垂直同期周波数にて前記バッファ切替信号を生成することを特徴とする請求項５または６に記載の描画処理装置。
【請求項８】
描画データをフレーム単位で保持する複数のフレームバッファと、
前記複数のフレームバッファを順次切り替えて前記描画データの書き込み先のフレームバッファを選択し、選択された書き込み先のフレームバッファに前記描画データを生成する描画処理部と、
前記複数のフレームバッファを順次切り替えて前記描画データの読み出し先のフレームバッファを選択し、選択された読み出し先のフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラと、
前記ディスプレイコントローラに読み出し先のフレームバッファの切り替えタイミングを指示するためのバッファ切替信号を生成する切替信号生成部とを含み、
前記切替信号生成部は、前記描画処理部が前記描画データをフレーム単位で生成する際に想定する垂直同期周波数と前記ディスプレイの実際の垂直同期周波数とが一致するかどうかを判定し、一致しない場合に前記想定する垂直同期周波数にて前記バッファ切替信号を生成し、一致する場合は、前記ディスプレイの前記実際の垂直同期周波数にて前記バッファ切替信号を生成することを特徴とする描画処理装置。
【請求項９】
描画データがフレーム単位で保持される複数のフレームバッファを順次切り替えて選択し、選択されたフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラに対して、前記ディスプレイの垂直同期周波数とは異なる周波数にて生成されるバッファ切替信号によって前記ディスプレイコントローラが走査する前記フレームバッファの切り替えタイミングを制御することを特徴とする描画制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、描画処理技術に関し、特にディスプレイに適した画像データを生成するためのディスプレイコントローラ、グラフィックスプロセッサ、描画処理装置および描画制御方法に関する。
【背景技術】
【０００２】
液晶ディスプレイやプラズマディスプレイなどの薄型ディスプレイ製造技術が向上し、価格が低下してきたことにつれて、現在では、多種多様な表示装置が身の回りに存在する。ディスプレイ装置には、ＤＶＤプレイヤにより再生された高画質の映像が表示されたり、コンピュータグラフィックスにより生成された動画像が表示される。
【０００３】
コンピュータやＤＶＤプレイヤから出力される画像データを表示装置に表示するためには、画像信号の水平周波数や垂直周波数などを変換することにより、画像信号を表示装置の仕様に整合する形式に変換するコンバータの機能をもつディスプレイコントローラが必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
表示装置の種類によって、表示可能な画像信号の仕様、例えば、フレームレートや解像度などが異なる。ディスプレイコントローラは出力先の表示装置の仕様に合わせて画像信号を変換する。ＮＴＳＣ方式のテレビの垂直同期信号は５９．９７Ｈｚであるのに対して、ＰＡＬ方式のテレビの垂直同期信号は５０Ｈｚであるから、ＮＴＳＣ方式で提供される動画をＰＡＬ方式のテレビに表示する場合、動画のフレームレートをＰＡＬ方式に適合させる変換処理が行われる。
【０００５】
しかしながら、ＮＳＴＣ方式を前提として描画処理がなされる場合、始めから５９．９７Ｈｚに合わせて動画の各フレームが作成されるため、垂直同期周波数が異なるディスプレイに表示すると不具合が生じ、動画の再生品質が劣化する。
【０００６】
本発明はこうした課題に鑑みてなされたものであり、その目的は、同期周波数の異なる表示装置に動画を表示するための描画処理技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様のディスプレイコントローラは、描画データがフレーム単位で保持される複数のフレームバッファを順次切り替えて選択し、選択されたフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラであって、前記ディスプレイの垂直同期周波数とは異なる周波数にて前記フレームバッファを切り替える。前記フレームバッファを切り替える周波数は、グラフィックスプロセッサが前記描画データをフレーム単位で生成する際に想定する垂直同期周波数であってもよい。前記グラフィックスプロセッサから前記想定する垂直同期周波数にて生成されたバッファ切替信号を受け取り、前記バッファ切替信号により前記フレームバッファの切り替えタイミングを制御してもよい。
【０００８】
本発明の別の態様は、グラフィックスプロセッサである。このグラフィックスプロセッサは、描画データがフレーム単位で保持される複数のフレームバッファを順次切り替えて選択し、選択されたフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラに対して、前記フレームバッファの切り替えタイミングを与えるためのバッファ切替信号を与えるグラフィックスプロセッサであって、当該グラフィックプロセッサが前記描画データをフレーム単位で生成する際に想定する垂直同期周波数にて前記バッファ切替信号を生成する。
【０００９】
本発明のさらに別の態様は、描画処理装置である。この装置は、描画データをフレーム単位で保持する複数のフレームバッファと、前記複数のフレームバッファを順次切り替えて前記描画データの書き込み先のフレームバッファを選択し、選択された書き込み先のフレームバッファに前記描画データを生成する描画処理部と、前記複数のフレームバッファを順次切り替えて前記描画データの読み出し先のフレームバッファを選択し、選択された読み出し先のフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラと、前記ディスプレイコントローラに読み出し先のフレームバッファの切り替えタイミングを指示するためのバッファ切替信号を生成する切替信号生成部とを含む。前記切替信号生成部は、前記ディスプレイの垂直同期周波数とは異なる周波数にて前記バッファ切替信号を生成する。
【００１０】
本発明のさらに別の態様もまた、描画処理装置である。この装置は、描画データをフレーム単位で保持する複数のフレームバッファと、前記複数のフレームバッファを順次切り替えて前記描画データの書き込み先のフレームバッファを選択し、選択された書き込み先のフレームバッファに前記描画データを生成する描画処理部と、前記複数のフレームバッファを順次切り替えて前記描画データの読み出し先のフレームバッファを選択し、選択された読み出し先のフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラと、前記ディスプレイコントローラに読み出し先のフレームバッファの切り替えタイミングを指示するためのバッファ切替信号を生成する切替信号生成部とを含む。前記切替信号生成部は、前記描画処理部が前記描画データをフレーム単位で生成する際に想定する垂直同期周波数と前記ディスプレイの実際の垂直同期周波数とが一致するかどうかを判定し、一致しない場合に前記想定する垂直同期周波数にて前記バッファ切替信号を生成し、一致する場合は、前記ディスプレイの前記実際の垂直同期周波数にて前記バッファ切替信号を生成する。
【００１１】
本発明のさらに別の態様は、描画制御方法である。この方法は、描画データがフレーム単位で保持される複数のフレームバッファを順次切り替えて選択し、選択されたフレームバッファ内を走査して読み出される前記描画データをディスプレイに供給するディスプレイコントローラに対して、前記ディスプレイの垂直同期周波数とは異なる周波数にて生成されるバッファ切替信号によって前記ディスプレイコントローラが走査する前記フレームバッファの切り替えタイミングを制御する。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、同期周波数の異なる表示装置に容易に適応することができる。
【発明を実施するための最良の形態】
【００１４】
図１は、実施の形態に係る描画処理装置１００の構成図である。描画処理装置１００は、描画対象となるオブジェクト（以下、単に「オブジェクト」という）の３次元モデル情報にもとづいて画面に表示するための描画データを生成するレンダリング処理を行う。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
【００１５】
描画処理装置１００は、メインプロセッサ１０、メインメモリ２０、グラフィックスプロセッサ３０、ローカルメモリ４０、ディスプレイコントローラ５０、ディスプレイ６０、および通信部８０を含む。これらは図示しないバスに接続されている。
【００１６】
メインメモリ２０は、主にメインプロセッサ１０によって使用される記憶領域であり、オブジェクトの頂点データや制御パラメータが記憶される。
【００１７】
メインプロセッサ１０は、オブジェクトのジオメトリ演算処理などを行い、グラフィックスプロセッサ３０に対してオブジェクトの描画を指示する描画コマンドを生成する。
【００１８】
ローカルメモリ４０は、主にグラフィックスプロセッサ３０によって使用される記憶領域であり、描画アルゴリズムを実行するためのシェーダプログラムやオブジェクトの表面に貼り付けるためのテクスチャなどが記憶される。また、ローカルメモリ４０内には描画データの中間結果や最終結果を保持するためのフレームバッファが設けられる。
【００１９】
グラフィックスプロセッサ３０は、オブジェクトをレンダリングして描画データを生成し、ローカルメモリ４０に描画データを格納する。グラフィックスプロセッサ３０は、描画処理部３２と切替信号生成部３６を含む。
【００２０】
描画処理部３２は、メインプロセッサ１０から指示される描画コマンドにしたがって、オブジェクトに対してシェーディング、テクスチャマッピングなどの様々な描画演算処理を行い、描画データをローカルメモリ４０内のフレームバッファ４４に書き出す。描画処理部３２は、図示しないラスタライザ、シェーダユニット、テクスチャユニットなどの機能ブロックを含む。
【００２１】
フレームバッファ４４は、描画データの書き込みと読み出しを独立に行えるように、ダブルバッファやトリプルバッファなどのマルチバッファで構成され、ディスプレイコントローラ５０によって読み出し中のバッファとは別のバッファに次のフレームの描画データが書き込まれる。ディスプレイコントローラ５０は、ディスプレイ６０の実際の垂直同期周波数（「リフレッシュレート」とも呼ばれる）またはグラフィックスプロセッサ３０が想定する垂直同期周波数に合わせて、マルチバッファで構成されるフレームバッファ４４を順次切り替えてスキャンする。
【００２２】
ディスプレイコントローラ５０は、ディスプレイ６０の垂直同期周波数に合わせて垂直同期信号（ＶＳＹＮＣ；vertical synchronizing signal）を生成し、グラフィックスプロセッサ３０の切替信号生成部３６に与える。
【００２３】
切替信号生成部３６は、ディスプレイコントローラ５０からディスプレイ６０の垂直同期信号の供給を受け、マルチバッファで構成されるフレームバッファ４４の切り替えタイミングを指示するバッファ切替信号を生成し、ディスプレイコントローラ５０に与える。
【００２４】
ここで、切替信号生成部３６は、ディスプレイ６０の実際の垂直同期周波数と、グラフィックスプロセッサ３０が描画データをフレーム単位で生成する際に想定する垂直同期周波数とが一致するかどうかを判定し、一致する場合は、ディスプレイ６０の実際の垂直同期周波数にてバッファ切替信号を生成する。ディスプレイ６０の実際の垂直同期周波数と、グラフィックスプロセッサ３０が想定する垂直同期周波数とが異なる場合は、切替信号生成部３６は、ディスプレイ６０の実際の垂直同期周波数ではなく、グラフィックスプロセッサ３０が想定する垂直同期周波数にてバッファ切替信号を生成する。
【００２５】
ディスプレイコントローラ５０は、切替信号生成部３６から与えられるバッファ切替信号のタイミングでマルチバッファで構成されたフレームバッファ４４を切り替えて選択し、選択されたバッファ内をスキャンして描画データを読み出す。
【００２６】
ディスプレイコントローラ５０によるフレームバッファ４４のスキャン動作をより詳しく説明する。ディスプレイコントローラ５０は、フレームバッファ４４から描画データのピクセルデータをライン状に順次読み込む。すなわち、ディスプレイコントローラ５０は、フレームバッファ４４の左上隅の画素から水平方向にスキャンし、最初の横一列の画素データを読み出す。次に、垂直方向に１画素だけ移動して、次の横一列の画素を読み出す。最下段の画素列までスキャンが終わると、再び最上段の画素列から同様のスキャンを行う。
【００２７】
ここで、フレームバッファ４４は、マルチバッファで構成されているため、切替信号生成部３６は、ディスプレイ６０の実際の垂直同期周波数またはグラフィックスプロセッサ３０が想定する垂直同期周波数にてバッファ切替信号をディスプレイコントローラ５０に与え、ディスプレイコントローラ５０が描画データをスキャンするフレームバッファを切り替えるように制御する。ディスプレイコントローラ５０は、切替信号生成部３６から切替信号を受けたタイミングで、それまでスキャンしていた第１のフレームバッファからの画素列の読み出しを中断し、第１のフレームバッファから第２のフレームバッファに切り替え、第２のフレームバッファから次の画素列を読み出す。
【００２８】
ディスプレイコントローラ５０は、このようにしてフレームバッファ４４から読み出したＲＧＢのカラー値からなる表示画像データをディスプレイ６０に対応したフォーマットの画像信号に変換してディスプレイ６０に供給する。
【００２９】
なお、グラフィックスプロセッサ３０とメインプロセッサ１０は図示しない入出力インタフェースを介して接続されており、グラフィックスプロセッサ３０は、入出力インタフェースを介してメインメモリ２０にアクセスすることができ、逆に、メインプロセッサ１０は、入出力インタフェースを介してローカルメモリ４０にアクセスすることができる。
【００３０】
通信部８０は、メインプロセッサ１０からの命令にしたがって、ネットワーク経由でデータを送受信することができる。通信部８０により送受信されるデータは、メインメモリ２０に保持される。
【００３１】
図２は、切替信号生成部３６が生成するバッファ切替信号を説明する図である。フレームバッファ４４は、ここでは一例としてダブルバッファで構成され、第１フレームバッファ４４ａと第２フレームバッファ４４ｂを含む。フレームバッファ４４の入力側の切替部７４により、描画処理部３２が描画データを書き込む先のフレームバッファが、第１フレームバッファ４４ａと第２フレームバッファ４４ｂのどちらかに選択される。
【００３２】
入力側の切替部７４は、選択されたフレームバッファへの１フレーム分の描画データの書き込みが完了すると、描画処理部３２からの描画データの書き込み先を他方のフレームバッファに切り替える。これにより、次のフレームの描画データは他方のフレームバッファに書き込まれることになる。
【００３３】
フレームバッファ４４の出力側の切替部７６により、ディスプレイコントローラ５０が画像データを読み出す先のフレームバッファが、第１フレームバッファ４４ａと第２フレームバッファ４４ｂのどちらかに選択される。
【００３４】
ディスプレイコントローラ５０は切替信号生成部３６に垂直同期信号を与え、切替信号生成部３６は、フレームバッファを切り替えるためのバッファ切替信号を生成し、フレームバッファ４４の入力側の切替部７４と出力側の切替部７６に与える。
【００３５】
フレームバッファ４４の入力側の切替部７４は、切替信号生成部３６からのバッファ切替信号に応じて、描画処理部３２による描画データの書き込み先を現在の書き込み先のフレームバッファから他方のフレームバッファに切り替える。
【００３６】
フレームバッファ４４の出力側の切替部７６は、切替信号生成部３６からのバッファ切替信号に応じて、ディスプレイコントローラ５０による描画データの読み込み先を現在読み出し中のフレームバッファから他方のフレームバッファに切り替える。これにより、それ以降のディスプレイコントローラ５０によるスキャンは他方のフレームバッファに対してなされることになる。
【００３７】
切替信号生成部３６は、グラフィックスプロセッサ３０が想定する垂直同期周波数と、ディスプレイ６０の実際の垂直同期周波数とが一致しない場合は、グラフィックスプロセッサ３０が想定する垂直同期周波数にてバッファ切替信号を生成する。グラフィックスプロセッサ３０が想定する垂直同期周波数にて生成されたバッファ切替信号を「ダミー垂直同期信号（ダミーＶＳＹＮＣ）」と呼び、ディスプレイコントローラ５０がディスプレイ６０の垂直同期周波数にて生成する垂直同期信号を「オリジナル垂直同期信号（オリジナルＶＳＹＮＣ）」と呼ぶ。
【００３８】
たとえば、ディスプレイ６０の垂直同期周波数が５０Ｈｚで、グラフィックスプロセッサ３０が想定する垂直同期周波数が６０Ｈｚであるとする。ディスプレイコントローラ５０は、ディスプレイ６０の垂直同期周波数の５０Ｈｚでオリジナル垂直同期信号を切替信号生成部３６に与えるが、切替信号生成部３６は、グラフィックスプロセッサ３０が想定する垂直同期周波数の６０Ｈｚでダミー垂直同期信号を生成する。これにより、描画処理部３２は、ダミー垂直同期信号のタイミングすなわち１／６０秒毎に第１フレームバッファ４４ａと第２フレームバッファ４４ｂを切り替えながら、１フレームの描画データをフレームバッファに生成し、ディスプレイコントローラ５０も、ダミー垂直同期信号のタイミングすなわち１／６０秒毎に第１フレームバッファ４４ａと第２フレームバッファ４４ｂを切り替えながら参照することになる。
【００３９】
ここで、ディスプレイコントローラ５０は、グラフィックスプロセッサ３０が想定する垂直同期周波数である６０Ｈｚで、描画データの読み出し先を第１フレームバッファ４４ａと第２フレームバッファ４４ｂの間を切り替えているだけであり、ディスプレイ６０の実際の垂直同期周波数である５０Ｈｚで、ディスプレイ６０の１画面のスキャン動作を行っていることに変わりはないことに留意する。すなわち、ディスプレイコントローラ５０は、グラフィックスプロセッサ３０が想定する垂直同期周波数に合わせて１／６０秒毎に読み出し先のフレームバッファを切り替えながら描画データを読み出し、ディスプレイ６０の実際の垂直同期周波数に合わせて１／５０秒毎に１フレーム分の描画データをディスプレイ６０に供給している。
【００４０】
以上の構成の描画処理装置１００による表示制御を説明する。図３Ａ〜図３Ｃを参照して、ディスプレイ６０の実際の垂直同期周波数とグラフィックスプロセッサ３０が想定する垂直同期周波数が一致する場合の表示制御動作を説明し、その後、図４Ａ〜図４Ｄを参照して、ディスプレイ６０の実際の垂直同期周波数とグラフィックスプロセッサ３０が想定する垂直同期周波数が一致しない場合の表示制御動作を説明する。
【００４１】
図３Ａを参照する。切替信号生成部３６は、ディスプレイコントローラ５０からオリジナル垂直同期信号の供給を受ける。ディスプレイ６０の垂直同期周波数とグラフィックスプロセッサ３０が想定する垂直同期周波数が一致することから、切替信号生成部３６は、ディスプレイ６０の垂直同期周波数にてバッファ切替信号を生成し、フレームバッファ４４の入力側の切替部７４および出力側の切替部７６に与える。
【００４２】
このバッファ切替信号を受けて、ディスプレイコントローラ５０は、読み出し先を第１フレームバッファ４４ａに切り替え、第１フレームバッファ４４ａに保持されたフレーム画像（これを「１番目のフレーム画像」とする）を先頭のラインから最後尾のラインまで読み出し、ディスプレイ６０に表示する。一方、描画処理部３２は、書き込み先を第２フレームバッファ４４ｂに切り替え、ディスプレイコントローラ５０が第１フレームバッファ４４ａからフレーム画像を読み出している間に、２番目のフレーム画像を第２フレームバッファ４４ｂに書き込む。
【００４３】
図３Ｂは２回目のバッファ切替信号の発生タイミングでの動作を示す。切替信号生成部３６は、フレームバッファ４４の入力側の切替部７４および出力側の切替部７６に２回目のバッファ切替信号を与え、フレームバッファ４４の入出力経路を切り替える。
【００４４】
２回目のバッファ切替信号のタイミングでの切り替え動作を受けて、ディスプレイコントローラ５０は、第２フレームバッファ４４ｂに保持された２番目のフレーム画像を先頭のラインから最後尾のラインまで読み出し、ディスプレイ６０に表示する。一方、描画処理部３２は、ディスプレイコントローラ５０が第２フレームバッファ４４ｂから２番目のフレーム画像を読み出している間に、３番目のフレーム画像を第１フレームバッファ４４ａに書き込む。
【００４５】
図３Ｃは３回目のバッファ切替信号の発生タイミングでの動作を示す。切替信号生成部３６は、フレームバッファ４４の入力側の切替部７４および出力側の切替部７６に３回目のバッファ切替信号を与え、フレームバッファ４４の入出力経路を切り替える。
【００４６】
３回目のバッファ切替信号のタイミングでの切り替え動作を受けて、ディスプレイコントローラ５０は、第１フレームバッファ４４ａに保持された３番目のフレーム画像を先頭のラインから最後尾のラインまで読み出し、ディスプレイ６０に表示する。一方、描画処理部３２は、ディスプレイコントローラ５０が第１フレームバッファ４４ａから３番目のフレーム画像を読み出している間に、４番目のフレーム画像を第２フレームバッファ４４ｂに書き込む。
【００４７】
図３Ａ〜図３Ｃのように、グラフィックスプロセッサ３０が描画する際に想定されたフレームレートと、ディスプレイ６０のリフレッシュレートとが一致していれば、切替信号生成部３６は、ディスプレイコントローラ５０から供給される垂直同期周波数にてバッファ切替信号を生成し、フレームバッファ４４の入出力経路を切り替えればよい。
【００４８】
図４Ａ〜図４Ｄを参照して、グラフィックスプロセッサ３０が描画する際に想定されたフレームレートと、ディスプレイ６０のリフレッシュレートとが一致していない場合のフレームバッファ４４の入出力経路の切替方法を説明する。
【００４９】
切替信号生成部３６は、ディスプレイコントローラ５０からオリジナル垂直同期信号の供給を受ける。ディスプレイ６０の垂直同期周波数とグラフィックスプロセッサ３０が想定する垂直同期周波数が一致しないことから、切替信号生成部３６は、グラフィックスプロセッサ３０が想定する垂直同期周波数にてダミー垂直同期信号を生成し、バッファ切替信号としてフレームバッファ４４の入力側の切替部７４および出力側の切替部７６に与える。
【００５０】
図４Ａは、切替信号生成部３６から最初のダミー垂直同期信号が与えられてから２回目のダミー垂直同期信号が与えられるまでの動作を示す。ディスプレイコントローラ５０は、第１フレームバッファ４４ａに保持された１番目のフレーム画像を先頭ラインから順次スキャンし、ディスプレイ６０に表示する。切替信号生成部３６から２回目のダミー垂直同期信号が与えられる直前のスキャンラインを点線（符号２００）で示す。読み込み先のバッファがこのスキャンラインから切り替わることになるため、このスキャンラインを「バッファ切替ライン」と呼ぶ。
【００５１】
ディスプレイ６０には、第１フレームバッファ４４ａに保持された１番目のフレーム画像の先頭ラインから最初のバッファ切替ライン２００までの領域（図中のＡで示す部分）が表示される。一方、描画処理部３２は、ディスプレイコントローラ５０が第１フレームバッファ４４ａから１番目のフレーム画像を読み出している間に、第２フレームバッファ４４ｂに２番目のフレーム画像を書き込む。
【００５２】
ディスプレイ６０の実際の垂直同期周波数（たとえば、５０Ｈｚ）と、グラフィックスプロセッサ３０が想定とする垂直同期周波数（たとえば、６０Ｈｚ）とが異なるため、第１フレームバッファ４４ａのバッファ切替ライン２００までフレーム画像をスキャンしたところで、切替信号生成部３６によりダミー垂直同期信号が生成されることになる。
【００５３】
図４Ｂは、切替信号生成部３６から２回目のダミー垂直同期信号が生成された後の動作を示す。切替信号生成部３６からダミー垂直同期信号が切替部７４、７６に与えられることにより、ディスプレイコントローラ５０の読み出し先は第２フレームバッファ４４ｂに切り替わり、描画処理部３２の書き込み先は第１フレームバッファ４４ａに切り替わる。
【００５４】
ディスプレイコントローラ５０は、第２フレームバッファ４４ｂに保持された２番目のフレーム画像をバッファ切替ライン２００から最後尾ラインまでの領域（図中のＢ１で示す部分）をスキャンし、ディスプレイ６０に表示する。一方、描画処理部３２は、ディスプレイコントローラ５０が第２フレームバッファ４４ｂからフレーム画像を読み出している間に、３番目のフレーム画像を第１フレームバッファ４４ａに書き込む。
【００５５】
第２フレームバッファ４４ｂに保持された２番目のフレーム画像を最後尾ラインまでスキャンし、ディスプレイ６０において画面の最後尾ラインまで表示が終わる時点は、ディスプレイコントローラ５０からオリジナル垂直同期信号が生成されるタイミングである。
【００５６】
図４Ｃは、ディスプレイコントローラ５０によりオリジナル垂直同期信号が生成された後の動作を示す。
【００５７】
ディスプレイコントローラ５０は、第２フレームバッファ４４ｂに保持された２番目のフレーム画像が最後尾ラインまでスキャンすると、次に２番目のフレーム画像の先頭ラインに戻り、スキャンを始める。
【００５８】
ディスプレイコントローラ５０は、第２フレームバッファ４４ｂに保持された２番目のフレーム画像を先頭ラインから順次スキャンし、ディスプレイ６０に表示する。２番目のフレーム画像の点線のライン（符号２０２）（２番目のバッファ切替ラインという）までスキャンが終わった時点で、切替信号生成部３６により３回目のダミー垂直同期信号が生成されたとする。
【００５９】
図４Ｄは、切替信号生成部３６から３回目のダミー垂直同期信号が生成された後の動作を示す。３回目のダミー垂直同期信号により、ディスプレイコントローラ５０の読み出し先は第１フレームバッファ４４ａに切り替わり、描画処理部３２の書き込み先は第２フレームバッファ４４ｂに切り替わる。
【００６０】
ディスプレイコントローラ５０は、第１フレームバッファ４４ａに保持された３番目のフレーム画像を２番目のバッファ切替ライン２０２から３番目のバッファ切替ライン２０４までの領域（図中のＣで示す部分）をスキャンし、ディスプレイ６０に表示する。一方、描画処理部３２は、ディスプレイコントローラ５０が第１フレームバッファ４４ａからフレーム画像を読み出している間に、４番目のフレーム画像を第２フレームバッファ４４ｂに書き込む。
【００６１】
図５は、図４Ａ〜図４Ｄの表示制御動作を説明するシーケンス図である。ここでは、ディスプレイ６０の実際の垂直同期周波数が５０Ｈｚ、グラフィックスプロセッサ３０が想定する垂直同期周波数が６０Ｈｚであるとして図示する。
【００６２】
横軸に時間をとって、６０Ｈｚのダミー垂直同期信号と５０Ｈｚのオリジナル垂直同期信号が図示されている。時刻ｔ０、ｔ１、ｔ２、ｔ３、ｔ４において０回目〜４回目のダミー垂直同期信号が発生している。時刻Ｔ１、Ｔ２において１回目、２回目のオリジナル垂直同期信号が発生している。１回目のダミー垂直同期信号の発生時刻ｔ１と１回目のオリジナル垂直同期信号Ｔ１は同時刻であるとする。
【００６３】
描画処理部３２は、６０Ｈｚのダミー垂直同期信号により第１フレームバッファ４４ａと第２フレームバッファ４４ｂを切り替えながら、１番目から４番目のフレーム画像を書き込む。ディスプレイコントローラ５０は、６０Ｈｚのダミー垂直同期信号が発生するタイミングで第１フレームバッファ４４ａと第２フレームバッファ４４ｂを切り替えながら、描画データを読み出す。たとえば、時刻ｔ１からｔ２までの間は、第１フレームバッファ４４ａから描画データを読み出し、時刻ｔ２において第２フレームバッファ４４ｂに切り替え、時刻ｔ２からｔ３までの間は、第２フレームバッファ４４ｂから描画データを読み出す。
【００６４】
ディスプレイコントローラ５０が画面の最後尾ラインまでスキャンする前に、ダミー垂直同期信号の発生タイミングで読み出し先のフレームバッファが切り替わる。同図では時刻ｔ２において読み出し先が第１フレームバッファ４４ａから第２フレームバッファ４４ｂに切り替わり、時刻ｔ３において読み出し先が第２フレームバッファ４４ｂから第１フレームバッファ４４ａに切り替わる。また、ディスプレイコントローラ５０は、オリジナル垂直同期信号の発生タイミングで画面の最後尾ラインまで走査が完了し、画面を切り替え、画面の先頭ラインに戻って走査を始める。同図では時刻Ｔ２において画面の最後尾ラインに到達して画面が切り替わり、再び先頭ラインから走査する。
【００６５】
１回目のダミー垂直同期信号の発生時刻ｔ１から２回目のダミー垂直同期信号の発生時刻ｔ２までが図４Ａに対応し、ディスプレイコントローラ５０により第１フレームバッファ４４ａから１番目のフレーム画像の領域Ａのデータが読み出され、ディスプレイ６０の先頭ラインからバッファ切替ラインまでの領域に表示される。２回目のダミー垂直同期信号の発生時刻ｔ２において読み出し先のフレームバッファが第１フレームバッファ４４ａから第２フレームバッファ４４ｂに切り替わる。
【００６６】
２回目のダミー垂直同期信号の発生時刻ｔ２から２回目のオリジナル垂直同期信号の発生時刻Ｔ２までが図４Ｂに対応し、ディスプレイコントローラ５０により第２フレームバッファ４４ｂから２番目のフレーム画像の領域Ｂ１のデータが読み出され、ディスプレイ６０の画面の前回のバッファ切替ラインから最後尾ラインまでの領域に表示される。２回目のオリジナル垂直同期信号の発生時刻Ｔ２においてディスプレイ６０の画面が切り替わり、先頭ラインからのスキャンが始まる。
【００６７】
２回目のオリジナル垂直同期信号の発生時刻Ｔ２から３回目のダミー垂直同期信号の発生時刻ｔ３までが図４Ｃに対応し、ディスプレイコントローラ５０により第２フレームバッファ４４ｂから２番目のフレーム画像の領域Ｂ２のデータが読み出され、ディスプレイ６０の画面の先頭ラインからバッファ切替ラインまでの領域に表示される。３回目のダミー垂直同期信号の発生時刻ｔ３において読み出し先のフレームバッファが第２フレームバッファ４４ｂから第１フレームバッファ４４ａに切り替わる。
【００６８】
３回目のダミー垂直同期信号の発生時刻ｔ３から４回目のダミー垂直同期信号の発生時刻ｔ４までが図４Ｄに対応し、ディスプレイコントローラ５０により第１フレームバッファ４４ａから３番目のフレーム画像の領域Ｃのデータが読み出され、ディスプレイ６０の前回のバッファ切替ラインから次のバッファ切替ラインまでの領域に表示される。
【００６９】
図５に示されるように、本実施の形態では、ディスプレイ６０の実際の垂直同期周波数ではなく、グラフィックスプロセッサ３０がフレームを描画する際に想定する垂直同期周波数でディスプレイコントローラ５０が描画データを読み出す先のフレームバッファを切り替える。これにより、グラフィックスプロセッサ３０が描画する動画のフレームレートを無視することなく、異なる垂直同期周波数のディスプレイ６０に動画を表示することができ、再生される動画に生じる周波数変換に伴う不自然さを最小限にすることができる。
【００７０】
また、ディスプレイ６０の垂直同期周波数に合わせてグラフィックスプロセッサ３０が描画の際のフレームレートを変える必要がなく、グラフィックスプロセッサ３０は標準的な垂直同期周波数を想定して描画すればよい。これにより、ディスプレイ６０の垂直同期周波数に変換するためのコンバータも不要になる。
【００７１】
図６は、ハイフレームレートレンダリングへの適用例を説明する図である。描画処理部３２は、２４０Ｈｚで高フレームレートの描画データを生成する。ディスプレイ６０は６０Ｈｚの垂直同期周波数をもつ。切替信号生成部３６は、６０Ｈｚのオリジナル垂直同期信号をディスプレイコントローラ５０から受けて、２４０Ｈｚのダミー垂直同期信号を切替部７４、７６に与える。
【００７２】
描画処理部３２は、４つのフレームバッファ４４ａ〜４４ｄを２４０Ｈｚで順次切り替えながら、各フレームバッファ４４ａ〜４４ｄに１フレーム分の描画データを書き込む。
【００７３】
ディスプレイコントローラ５０は、４つのフレームバッファ４４ａ〜４４ｄを２４０Ｈｚで順次切り替えながら、第１フレームバッファ４４ａの先頭ラインから第１バッファ切替ライン２１０までの描画データＡ、第２フレームバッファ４４ｂの第１バッファ切替ライン２１０から第２バッファ切替ライン２１２までの描画データＢ、第３フレームバッファ４４ｃの第２バッファ切替ライン２１２から第３バッファ切替ライン２１４までの描画データＣ、第４フレームバッファ４４ｄの第３バッファ切替ライン２１４から最後尾ラインまでの描画データＤをそれぞれ読み出し、６０Ｈｚで切り替わるディスプレイ６０の１画面内に並べて表示する。
【００７４】
２４０Ｈｚで描画されたフレームを６０Ｈｚのフレームレートに変換するために、４枚のフレームの内、３枚のフレームを落とすこともできるが、このような単純なフィルタリングではハイフレームレートの描画結果を十分に生かすことができず、動画の品質が悪くなる。それに対して、本実施の形態の表示制御方法では、４枚のフレームを部分的に利用しながら、１枚のフレームを合成しており、周波数変換後も動画品質を維持することができる。
【００７５】
このように、グラフィックスプロセッサ３０がハイフレームレートレンダリングを行う場合でも、ハイフレームレートに対応したダミー垂直同期信号により読み出し先のフレームバッファを切り替えて画像データを取得し、各フレームバッファから読み出された画像を合成する形でディスプレイの１画面を生成することができる。これにより、グラフィックスプロセッサ３０によるハイフレームレートでの描画結果を犠牲にせずに、通常の垂直同期周波数のディスプレイ６０に表示することができ、単純にフレームを落として描画する方法に比べて動画の品質が劣化するのを防ぐことができる。
【００７６】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
【００７７】
上記の説明では、グラフィックスプロセッサ３０によりＮＴＳＣ方式で描画された動画を垂直同期周波数の異なるＰＡＬ方式のディスプレイ６０に表示する場合を例に説明した。本発明は、これ以外にも、グラフィックスプロセッサ３０により生成された動画をパーソナルコンピュータ（ＰＣ）用の様々な垂直同期周波数をもつディスプレイに表示する場合などにも適用することができる。
【図面の簡単な説明】
【００７８】
【図１】実施の形態に係る描画処理装置の構成図である。
【図２】図１の切替信号生成部が生成するバッファ切替信号を説明する図である。
【図３Ａ】ディスプレイの垂直同期周波数とグラフィックスプロセッサが想定する垂直同期周波数が一致する場合の表示制御動作を説明する図である。
【図３Ｂ】ディスプレイの垂直同期周波数とグラフィックスプロセッサが想定する垂直同期周波数が一致する場合の表示制御動作を説明する図である。
【図３Ｃ】ディスプレイの垂直同期周波数とグラフィックスプロセッサが想定する垂直同期周波数が一致する場合の表示制御動作を説明する図である。
【図４Ａ】ディスプレイの垂直同期周波数とグラフィックスプロセッサが想定する垂直同期周波数が一致しない場合の表示制御動作を説明する図である。
【図４Ｂ】ディスプレイの垂直同期周波数とグラフィックスプロセッサが想定する垂直同期周波数が一致しない場合の表示制御動作を説明する図である。
【図４Ｃ】ディスプレイの垂直同期周波数とグラフィックスプロセッサが想定する垂直同期周波数が一致しない場合の表示制御動作を説明する図である。
【図４Ｄ】ディスプレイの垂直同期周波数とグラフィックスプロセッサが想定する垂直同期周波数が一致しない場合の表示制御動作を説明する図である。
【図５】図４Ａ〜図４Ｄの表示制御動作を説明するシーケンス図である。
【図６】ハイフレームレートレンダリングへの適用例を説明する図である。
【符号の説明】
【００７９】
１０  メインプロセッサ、  ２０  メインメモリ、  ３０  グラフィックスプロセッサ、  ３２  描画処理部、  ３６  切替信号生成部、  ４０  ローカルメモリ、  ４４  フレームバッファ、  ５０  ディスプレイコントローラ、  ６０  ディスプレイ、  ８０  通信部、  １００  描画処理装置。
【図１】
2007286519.tif 000003
【図２】
2007286519.tif 000004
【図３Ａ】
2007286519.tif 000005
【図３Ｂ】
2007286519.tif 000006
【図３Ｃ】
2007286519.tif 000007
【図４Ａ】
2007286519.tif 000008
【図４Ｂ】
2007286519.tif 000009
【図４Ｃ】
2007286519.tif 000010
【図４Ｄ】
2007286519.tif 000011
【図５】
2007286519.tif 000012
【図６】
2007286519.tif 000013