(57)【要約】【課題】複数のフレームバッファを使用した画像表示システムにおいてＳＶＧ等のベクターグラフィック言語を効率良く表示可能な画像表示システムを提供する。【解決手段】複数のフレームバッファの領域を持つ記憶手段を制御するメモリコントローラを備える画像表示システムであって、前記メモリコントローラは、前記記憶手段のフレームバッファの領域への読み出し時に、読み出したデータを他のフレームバッファの領域にコピーするコピー手段を有するようにして、複数のフレームバッファを使用した画像表示システムにおいてＳＶＧ等のベクターグラフィック言語を効率良く表示できるようにする。【選択図】図１
2010134113.tif 000002
【特許請求の範囲】
【請求項１】
複数のフレームバッファの領域を持つ記憶手段を制御するメモリコントローラを備える画像表示システムであって、
前記メモリコントローラは、前記記憶手段のフレームバッファの領域への読み出し時に、読み出したデータを他のフレームバッファの領域にコピーするコピー手段を有することを特徴とする画像表示システム。
【請求項２】
前記メモリコントローラは、
コピー対象のフレームバッファのアドレスと、コピー先のフレームバッファのアドレスとを複数保持する保持手段と、
メモリの読み出し要求アドレスと複数のコピー対象のフレームバッファのアドレスとを比較し、コピーの必要性の有無を判定する判定手段とをさらに有することを特徴とする請求項１に記載の画像表示システム。
【請求項３】
コピー対象のフレームバッファのアドレスと、コピー先のフレームバッファのアドレスとの制御を行う制御手段をさらに有することを特徴とする請求項１に記載の画像表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像表示システムに関し、特に、レンダリング結果を表示するために用いて好適な技術に関する。
【背景技術】
【０００２】
従来、画像表示システムにおいては、表示する画像（フレーム）を生成し、表示データをフレームバッファに書き込み、各フレーム中のデータを表示装置へ走査することにより表示装置への表示を行う。このとき、各フレームのデータが表示装置へ走査されている間、次のフレームで現れるべきデータを新たなデータとしてフレームバッファへ転送しなければならない。
【０００３】
データを表示装置へ走査すると同時にフレームバッファにデータを書き込んでいる場合、フレームバッファへの書き込みと表示装置への走査の時間とのずれにより、フレーム切れが発生する可能性がある。このフレーム切れを無くすために、従来ではダブルバッファ方式が使用されている。ダブルバッファ方式は１フレーム分のデータを保持できる２つのバッファを持ち、一方のフレームバッファから表示装置への走査を行い、他方のフレームバッファにフレームの書き込みを行う。このように二重化することで、フレーム切れの発生を防いでいる。
【０００４】
近年、画像表示システムのコンテンツが多様化し、画像表示システムも多様な入力に対応する必要が生じている。多様な入力の１つとして、標準ベクターグラフィック言語として開発されたＳＶＧがある。ＳＶＧは、ＸＭＬによって記述されたベクターグラフィック言語であり、従来、インターネットで標準的に使用されてきたグラフィックデータは、ＪＰＥＧ、ＧＩＦなどのラスター方式である。
【０００５】
ＳＶＧ等のベクターグラフィック言語においては、変更のある部分のみが記述されており、このような言語を用いれば、フレーム中で変更のある個所のみフレームバッファのデータを変更するだけでよい。
【０００６】
図３は、従来の画像表示システムの構成例を示すブロック図である。
図３において、１１０は描画のためのハードウェアであり、入力装置１００からの入力データのレンダリング等を行う。１３０はＣＲＴ等の表示装置である。１６０はメモリであり、一部を第１のフレームバッファ１６１、第２のフレームバッファ１６２として使用する。
【０００７】
１５０はメモリコントローラであり、メモリ１６０の制御を行う。１２０はリードＤＭＡコントローラであり、第１のフレームバッファ１６１、第２のフレームバッファ１６２から表示装置１３０へのデータ転送を行う。１７０はコピー用ＤＭＡコントローラであり、第１のフレームバッファ１６１及び第２のフレームバッファ１６２間のコピーを行う。１４０は描画ハードウェア１１０、コピーＤＭＡコントローラ１７０、リードＤＭＡコントローラ１２０、及びメモリコントローラ１５０を接続するシステムバスである。
【０００８】
以下、ＳＶＧ等のベクターグラフィック言語をレンダリングし、表示装置に出力する処理の流れについて説明する。レンダリングされたデータがメモリ１６０内の第１のフレームバッファ１６１に存在する場合に、リードＤＭＡコントローラ１２０は画像表示を行う。そのため、第１のフレームバッファ１６１に存在するデータをメモリコントローラ１５０、システムバス１４０を介して、表示装置１３０に転送する。これと同時に、第２のフレームバッファ１６２には次のフレームを用意する。
【０００９】
コピーＤＭＡコントローラ１７０は、第１のフレームバッファ１６１から、第２のフレームバッファ１６２への転送を行う。転送終了後、描画ハードウェア１１０は、レンダリングしたデータを、システムバス１４０を介してメモリ１６０内の第２のフレームバッファ１６２に書き込む。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の構成による処理では、２種類のＤＭＡコントローラを制御する必要があり、ソフトウェアによる制御が煩雑となると同時に、システムバスの負荷が増加する。
【００１１】
本発明は前述の問題点に鑑み、複数のフレームバッファを使用した画像表示システムにおいてＳＶＧ等のベクターグラフィック言語を効率良く表示可能な画像表示システムを提供することを目的としている。
【課題を解決するための手段】
【００１２】
本発明の画像表示システムは、複数のフレームバッファの領域を持つ記憶手段を制御するメモリコントローラを備える画像表示システムであって、前記メモリコントローラは、前記記憶手段のフレームバッファの領域への読み出し時に、読み出したデータを他のフレームバッファの領域にコピーするコピー手段を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ソフトウェアによる制御が容易となるとともに、システムバスの負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１４】
（第１の実施形態）
以下、本発明の実施形態について図面を参照しながら詳述する。まず、本発明の第１の実施形態に係る画像表示システムについて説明する。
図２は、本実施形態に係る画像表示システムの構成例を示すブロック図である。
図２において、５は入力装置であり、１０は描画ハードウェアである。２０はリードＤＭＡコントローラであり、３０は画像を表示するためのモニタ等の表示装置である。
【００１５】
また、５０はメモリコントローラであり、６０はメモリである。４０は描画ハードウェア１１０、リードＤＭＡコントローラ２０及びメモリコントローラ５０を接続するためのシステムバスである。また、メモリ６０内には画像表示用のフレームバッファ領域である、第１のフレームバッファ６１、及び第２のフレームバッファ６２が確保されている。
【００１６】
図１は、図２におけるメモリコントローラ５０の詳細な構成例を示すブロック図である。
図１において、メモリコントローラ１０００は、システムバス制御部１１００、メモリコマンド生成部１２００、メモリコマンド制御部１３００、及びデータ制御部１４００からなる。さらに、メモリコマンド生成部１２００は、アドレス生成部１２１０、メモリコマンド発行部１２２０より構成される。また、データ制御部１４００は、ライトデータ保持部１４１０及びリードデータ保持部１４２０より構成される。
【００１７】
以下、図１及び図２を参照しながら、ＳＶＧ等のベクターグラフィック言語をレンダリングし、表示装置に出力する処理手順について説明する。
レンダリングされたデータがメモリ６０内の第１のフレームバッファ６１に存在する場合、リードＤＭＡコントローラ２０は画像表示を行う。そのため、第１のフレームバッファ６１に存在するデータをメモリコントローラ５０、システムバス４０を介して、表示装置３０に転送する。
【００１８】
第１のフレームバッファ６１のデータの読み出しと同時に、メモリコントローラ５０は第１のフレームバッファ６１から読み出したデータを第２のフレームバッファ６２にコピーする。その後、描画ハードウェア１０は、レンダリングしたデータを、システムバス４０を介してメモリ６０内の第２のフレームバッファ６２に書き込む。
【００１９】
以下、前記シーケンスにおけるメモリコントローラ５０内の動作について説明する。
メモリコントローラ１０００においては、システムバス制御部１１００はシステムバス４０からのアクセス要求を受け、メモリコマンド生成部１２００にアクセス要求を発行する。
【００２０】
そして、メモリコマンド生成部１２００内のアドレス生成部１２１０は、フレームバッファ領域とアクセス要求アドレスとに応じてコピーの必要性の有無を判定し、アドレスヒットフラグ（コピーフラグ）及びコピーアドレスを生成する。このとき、アドレス生成部１２１０がコピー必要と判定した場合、メモリコマンド発行部１２２０はシステムバス制御部１１００からのリード要求と、アドレス生成部１２１０で生成されたコピーアドレスに対するライト要求とを発行する。
【００２１】
リード要求を受けたメモリコマンド制御部１３００は、メモリ６０に対してリード要求を発行し、読み出したリードデータをデータ制御部１４００に返す。このリードデータは、データ制御部１４００の内部のリードデータ保持部１４２０に保持され、システムバス制御部１１００に返される。システムバス制御部１１００はメモリ６０からのリードデータをシステムバス４０に返す。これと同時にリードデータ保持部１４２０に保持されたデータをライトデータ保持部１４１０に転送する。ライトデータ保持部１４１０はアドレスヒットフラグが立っているため、読まれたリードデータをライトデータとして保持する。
【００２２】
メモリコマンド制御部１３００は、ライトデータ保持部１４１０にデータが保持されるのを待って、書き込みコマンドをメモリ６０に対して要求する。メモリコマンド制御部１３００はメモリ６０に対してコピーアドレスへのリードデータの書き込みを要求する。
【００２３】
一方、コピー対象外のアドレス領域へのアクセスの場合、前記のシーケンス中、アドレスヒットフラグが立たないため、メモリコマンド発行部１２２０はリード動作のみを要求する。そして、ライトデータ保持部１４１０はリードデータ、メモリ６０から読み出されたデータを保持しない。
【００２４】
一方、ライト時には、メモリコマンド発行部１２２０は、システムバス制御部１１００からの書き込み要求を直接受け、メモリコマンド制御部１３００に発行する。メモリコマンド発行部１２２０は、ライトデータ保持部１４１０に書き込みデータが用意できた時点で、記憶デバイスに対してメモリコマンドを発行する。以上により、メモリ内部の特定フレームバッファ領域の読み出し時にのみ、他の特定のフレームバッファ領域にコピーを行う事が可能である。
【００２５】
図４は、図１におけるアドレス生成部１２１０の詳細な構成例を示すブロック図である。
図４において、アドレス生成部１２１０は、第１のコピー判定回路２０００、第２のコピー判定回路２００１、第ｎのコピー判定回路２００２、及びアドレス選択回路２１０より構成される。また、第１のコピー判定回路２０００は、コピー対象フレームバッファアドレス２０１０、コピー先フレームバッファアドレス２０２０、比較回路２０３０よりなる。第２のコピー判定回路２００１及び第ｎのコピー判定回路２００２についても同様である。このように、アドレス生成部１２１０は、コピー判定回路を複数保持している。
【００２６】
第１のコピー判定回路２０００、第２のコピー判定回路２００１、及び第ｎのコピー判定回路２００２では、保持されているコピー対象フレームバッファアドレス２０１０とアクセス対象アドレスとの比較を比較回路２０３０で行い、比較結果を生成する。また、保持されているコピー先フレームバッファアドレス２０２０とアクセス対象アドレスとに基づき、コピーアドレスを生成する。アドレス選択回路２１０では比較結果に基づき、コピー先のアドレスを選択する。また、比較結果に基づきアドレスヒットフラグが生成される。
【００２７】
また、アドレス生成部１２１０は以下のような構成であってもよい。図５は、コピーイネーブルビット機能を持つ場合のアドレス生成部１２１０の詳細な構成例を示すブロック図である。
図５において、アドレス生成部１２１０は、第１のコピー判定回路３０００、第２のコピー判定回路３００１、第ｎのコピー判定回路３００２、及びアドレス選択回路３１０より構成される。また、第１のコピー判定回路３０００はコピー対象フレームバッファアドレス３０１０、コピー先フレームバッファアドレス３０２０、比較回路３０３０、及びコピーイネーブルビット３０４０よりなる。第２のコピー判定回路３００１及び第ｎのコピー判定回路３００２についても同様である。
【００２８】
第１のコピー判定回路３０００、第２のコピー判定回路３００１、及び第ｎのコピー判定回路３００２では、保持されているコピー対象フレームバッファアドレス３０１０とアクセス対象アドレスとの比較を比較回路３０３０で行い、比較結果を生成する。なお、生成された比較結果はコピーイネーブルビット３０４０においてマスク可能である。また、保持されているコピー先フレームバッファアドレス３０２０とアクセス対象アドレスとに基づき、コピーアドレスを生成する。アドレス選択回路３１０では比較結果に基づき、コピー先のアドレスを選択する。また、比較結果に基づきアドレスヒットフラグが生成される。
【００２９】
以上のように本実施形態によれば、１種のＤＭＡコントローラを使用して、ＳＶＧ等のベクターグラフィック言語のレンダリングを可能とすることで、ソフトウェアによる制御が容易となると同時に、システムバスの負荷を軽減することができる。
【００３０】
（第２の実施形態）
次に、本発明の第２の実施形態に関して、図６を用いて説明する。
図６は、ＴＶチューナー及びＬＡＮからのデータを画像表示装置へ表示する画像表示システムの一例を示すブロック図である。
図６において、４００はチューナーであり、４１０はＮＴＳＣのデコーダである。４２０はＬＡＮであり、４３０はＳＶＧレンダラーである。４４０はスイッチであり、４５０はシステムバスである。っそいて、４６０はリードＤＭＡコントローラである。
【００３１】
そして、４７０は表示装置であり、４８０はメモリコントローラである。４９０はＣＰＵであり、５００はメモリである。さらに、５０１はメモリ５００内の第１のフレームバッファであり、５０２はメモリ５００内の第２のフレームバッファである。５１０はユーザーインターフェースであり、５２０はＨＴＭＬパーサーである。５３０はテキストをレンダリングするテキストレンダラーであり、５４０はＪＰＥＧデコーダである。
【００３２】
ユーザーがＴＶチューナーからの画像表示を選択していた場合、ユーザーＩＦ５１０からの入力により、ＣＰＵ４９０はシステムバス４５０を介して、ＴＵＮＥＲ４００、ＮＴＳＣデコーダ４１０、及びスイッチ４４０の設定を行う。その後、ＴＶチューナーからの、メモリコントローラ４８０を介してメモリ５００をアクセスするパスを選択する。
【００３３】
ＴＶチューナーからの画像を表示装置４７０に表示する場合、１フレーム毎にフレーム全体をＮＴＳＣデコーダ４１０によりデコード処理し、第１のフレームバッファ５０１及び第２のフレームバッファ５０２に出力する必要がある。このため、ＣＰＵ４９０は、メモリコントローラ４８０のフレームバッファコピー機能をオフにし、ＮＴＳＣデコードされたデータに対してメモリ５００への書き込みのみを行う。
【００３４】
リードＤＭＡコントローラ４６０は、表示装置４７０に合わせ、第１のフレームバッファ５０１、第２のフレームバッファ５０２から画像データを読み出し、表示装置４７０に転送する。
【００３５】
一方で、ユーザーによりＬＡＮ４２０に接続し、ＳＶＧ画像を表示装置４７０に表示する場合、ユーザーＩＦ５１０からの通知によりＣＰＵ４９０はスイッチ４４０を設定し、ＬＡＮ４２０からのパスを活性化する。そして、ＬＡＮ４２０からＨＴＭＬ（Hyper Text Makeup Language）を受け付け、受信したＨＴＭＬデータは、ＨＴＭＬパーサー５２０が最初から１行ずつ処理していく。
【００３６】
ＨＴＭＬでは、属性を指定するために、画像を表示させるための命令と、文字データを表示させる命令とがある。ＨＴＭＬパーサーは、これらの２種類のタグ（命令）を見極めて、ＨＴＭＬデータを分割し、後続のブロックに転送する。
【００３７】
図６に示す例では、ＳＶＧレンダラー４３０及び文字データ等のレンダリングに使用するテキストレンダラー５３０、ＪＰＥＧデコーダ５４０のみが含まれているが、他のハードウェア等が含まれていてもよい。ＣＰＵ４９０は、ＨＴＭＬパーサー５２０からの情報を元に、表示に必要なサイズを算出し、メモリコントローラ４８０内部のフレームバッファコピー回路のコピー機能イネーブル及びコピーアドレス設定を行う。
【００３８】
次に、図７に示すようなＨＴＭＬを表示する場合を例に説明する。
ＨＴＭＬパーサー５２０は、テキスト領域６００、ＳＶＧ画像領域６１０、及びＪＰＥＧ画像領域６２０に分割し、ＳＶＧ画像領域６１０のデータをＳＶＧレンダラー４３０に転送する。そして、テキスト領域６００のデータをテキストレンダラー５３０に転送し、ＪＰＥＧ画像領域６２０のデータをＪＰＥＧデコーダ５４０に転送する。
【００３９】
ＣＰＵ４９０は、ＨＴＭＬパーサー５２０からの情報を元に表示に必要なメモリサイズを算出する。テキスト領域６００及びＪＰＥＧ画像領域６２０は静止画のため、これらを表示可能な領域をメモリ内に確保する。また、ＳＶＧ画像領域６１０は動画であり、画像の更新が必要となるため、２つの領域を確保する。
【００４０】
ＳＶＧ画像領域６１０はコピーが必要な領域であるため、コピー対象、コピー先フレームバッファアドレス及びコピーイネーブルの設定を行う。例えば、図８に示すような領域を確保した場合、７２０、７３０はＳＶＧ領域であり、コピーイネーブルおよびコピー対象、コピー先のフレームバッファアドレスをメモリコントローラ４８０に設定する。
【００４１】
また、ＣＰＵ４９０は、ＳＶＧレンダラー４３０、テキストレンダラー５３０、及びＪＰＥＧデコーダ５４０にフレームバッファ領域のアドレスを指定する。そして、ＳＶＧレンダラー４３０、テキストレンダラー５３０、及びＪＰＥＧデコーダ５４０はそれぞれ、レンダリング、デコードを行い、メモリ５００に転送する。
【００４２】
ＳＶＧレンダラー４３０、テキストレンダラー５３０、及びＪＰＥＧデコーダ５４０のメモリ５００への転送終了を検出したＣＰＵ４９０は、リードＤＭＡコントローラ４６０に対してテキスト＋ＪＰＥＧ領域７１０とＳＶＧ領域７２０との設定を行う。その後、メモリ５００の転送を指示する。
【００４３】
リードＤＭＡコントローラ４６０は、設定に従い、テキスト＋ＪＰＥＧ領域７１０とＳＶＧ領域７２０とを図７に示すような表示を行うために表示装置４７０に転送する。この際、メモリコントローラ４８０は、ＳＶＧ領域７２０からＳＶＧ領域７３０へのコピーを行う。リードＤＭＡコントローラ４６０によるＳＶＧ領域７２０の転送終了後、ＣＰＵ４９０は、ＳＶＧレンダラー４３０にレンダリングの指示を行い、ＳＶＧ領域７３０を更新する。
【００４４】
ＣＰＵ４９０は、ＳＶＧ領域７３０の更新後、リードＤＭＡコントローラ４６０にＳＶＧ領域７３０のアドレスを設定し、表示装置４７０への転送を指示する。以上、説明した手順により、本実施形態の画像表示システムにより、ＳＶＧを含んだＨＴＭＬの表示を容易に行うことが可能である。
【００４５】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像表示システムを構成する各手段、並びに画像表示方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００４６】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００４８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００４９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００５１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザーに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５３】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザーに配布し、所定の条件をクリアしたユーザーに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５５】
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００５６】
【図１】本発明の第１の実施形態におけるメモリコントローラの詳細な構成例を示すブロック図である。
【図２】本発明の第１の実施形態に係る画像表示システムの構成例を示すブロック図である。
【図３】従来の画像表示システムの構成例を示すブロック図である。
【図４】図１におけるアドレス生成部の詳細な構成例を示すブロック図である。
【図５】コピーイネーブルビット機能を持つ場合のアドレス生成部の詳細な構成例を示すブロック図である。
【図６】本発明の第２の実施形態において、ＴＶチューナー及びおよびＬＡＮからのデータを画像表示装置へ表示する画像表示システムの一例を示すブロック図である。
【図７】ＨＴＭＬ画像を表示した一例を示す図である。
【図８】ＨＴＭＬ画像を表示する際のメモリアドレスの一例を示す図である。
【符号の説明】
【００５７】
１０００  メモリコントローラ
１１００  システムバス制御部
１２００  メモリコマンド生成部
１２１０  アドレス生成部
１２２０  メモリコマンド発行部
１３００  メモリコマンド制御部
１４００  データ制御部
１４１０  ライトデータ保持部
１４２０  リードデータ保持部
【図１】
2010134113.tif 000003
【図２】
2010134113.tif 000004
【図３】
2010134113.tif 000005
【図４】
2010134113.tif 000006
【図５】
2010134113.tif 000007
【図６】
2010134113.tif 000008
【図７】
2010134113.tif 000009
【図８】
2010134113.tif 000010