(57)【特許請求の範囲】
【請求項１】
格納先アドレスが含まれるコマンドに従い、メモリから画像データを読み出し、画像処理するフレームバッファ方式の画像処理装置であって、
上記コマンドがフレーム単位で順次書き込まれる第１、第２および第３コマンドバッファと、
上記メモリよりも読み出し速度が速く、且つ、上記メモリから読み出された画像データがフレーム単位で順次書き込まれる第１および第２プリロードバッファと、
上記画像処理の前処理として、上記第１コマンドバッファに書き込まれた第１コマンドに含まれる第１格納先アドレスと、上記第２コマンドバッファに書き込まれた、上記第１コマンドの直後の第２コマンドに含まれる第２格納先アドレスとが一致する場合、上記第１コマンドに従って上記第１プリロードバッファに書き込まれた第１画像データを、上記第２コマンドに従って上記第２プリロードバッファに書き込まれる第２画像データとしてフレーム単位で順次設定する設定部と、
上記画像処理として、上記第３コマンドバッファに書き込まれた第３コマンドをフレーム単位で順次実行する実行部と
を備え、
上記実行部が上記第３コマンドバッファに書き込まれた第３コマンドを実行するタイミングにおいて、上記第１コマンドバッファに上記第１コマンドが書き込まれると共に、上記設定部が上記第２コマンドに従って上記第１画像データを上記第２画像データとして設定し、
上記設定部は、
上記第１格納先アドレスと上記第２格納先アドレスとが一致する場合、
上記第２格納先アドレスを上記第２プリロードバッファに書き込まれた画像データの格納先アドレスに書き換える、または、
上記第１プリロードバッファから上記第２プリロードバッファへ上記第１画像データを転送し、上記第２格納先アドレスを上記第２プリロードバッファ内のアドレスに書き換え、
上記第１格納先アドレスと上記第２格納先アドレスとが一致しない場合、
上記メモリから上記第２画像データを読み出し、上記第２プリロードバッファに書き込み、
上記実行部は、上記第３コマンドに従って、
デコーダーに、上記第２プリロードバッファに書き込まれた上記第２画像データを復号させ、
描画エンジンに、上記復号された上記第２画像データから画像表示を行うための描画データを生成させ、
上記描画エンジンにより生成された描画データは、ダブルバッファリングを行う２つのフレームバッファのうちの一方に書き込まれ、
上記２つのフレームバッファにおいては、交互にフレーム単位で順次、一方には、上記描画エンジンにより生成された描画データが書き込まれると共に、他方からは、当該他方に書き込まれた描画データが読み出されることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１フレーム分の画像データを記憶するフレームバッファを利用し、画像データの描画および表示を行う画像処理装置に関する。
【背景技術】
【０００２】
静止画や動画の画像データは圧縮符号化されてアミューズメント機器に実装されることが一般的である。各種画像データに圧縮符号化を施した圧縮データを格納したメモリを画像処理装置に接続し、画像表示を行う都度、メモリから圧縮データを読み出し、復号する。
【０００３】
アミューズメント機器における画像の表示性能は、メモリからの圧縮データの読み出しに要する時間に大きく依存する。このことは、フレームバッファ方式の画像処理装置において、特に顕著となる。
【０００４】
特許文献１および２には、メモリとＣＰＵ（Central Processing Unit）との間にデータバッファを配置し、データバッファをキャッシュメモリに見立てた疑似キャッシュシステムが開示されている。特許文献３および４には、複数のフレームバッファを設けた画像処理装置が開示されている。
【０００５】
特許文献１および２の疑似キャッシュシステム、ならびに特許文献３および４の画像処理装置によれば、メモリからの圧縮データの読み出しに起因するオーバーヘッドの削減が期待できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１０８４３８号公報（２００３年４月１１日公開）
【特許文献２】特開平５−２３３４４９号公報（１９９３年９月１０日公開）
【特許文献３】特開２００７−２９８７６０号公報（２００７年１１月１５日公開）
【特許文献４】特開平７−２２５７１０号公報（１９９５年８月２２日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明者は、フレームバッファ方式の画像処理装置における、メモリからの読み出しに要する時間に起因するオーバーヘッドのさらなる削減を実現すべく、鋭意検討を行った。その結果、本発明者は本発明を完成するに至った。
【０００８】
本発明の目的は、メモリから画像データをプリロードすることにより、メモリからの画像データの読み出しに起因するオーバーヘッドを削減する画像処理装置を実現することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様に係る画像処理装置は、格納先アドレスが含まれるコマンドに従い、メモリから画像データを読み出し、画像処理する画像処理装置であって、上記コマンドがフレーム単位で順次書き込まれる第１、第２および第３コマンドバッファと、上記メモリよりも読み出し速度が速く、且つ、上記メモリから読み出された画像データがフレーム単位で順次書き込まれる第１および第２プリロードバッファと、上記画像処理の前処理として、上記第１コマンドバッファに書き込まれた第１コマンドに含まれる第１格納先アドレスと、上記第２コマンドバッファに書き込まれた、上記第１コマンドの直後の第２コマンドに含まれる第２格納先アドレスとが一致する場合、上記第１コマンドに従って上記第１プリロードバッファに書き込まれた第１画像データを、上記第２コマンドに従って上記第２プリロードバッファに書き込まれる第２画像データとして設定する設定部とを備える。
【００１０】
ここで、「上記画像処理の前処理」は、メモリから画像データを予め読み出しておく「プリロード」の意である。
【００１１】
上記構成によれば、第２格納先アドレスが第１格納先アドレスと一致すれば、メモリ内における格納先が同一であることから、第１画像データと第２画像データとは同一の画像データであるといえる。
【００１２】
この場合、設定部により、先に読み出された第１画像データを、第２コマンドに従って読み出される第２画像データとして設定されるので、メモリから第２画像を読み出す必要がなく、メモリよりも読み出し速度の速い第２プリロードバッファから第２画像を読み出すことが可能となる。
【００１３】
このため、メモリからの画像データの読み出しに起因するオーバーヘッドを削減することができる。
【００１４】
なお、本発明の各態様に係る画像処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記画像処理装置が備える各部として動作させることにより上記画像処理装置をコンピュータにて実現させる画像処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。さらに、本発明の各態様に係る画像処理装置は集積回路（ＩＣチップ）として実現してもよく、この場合には、上記集積回路を備えるチップ等も本発明の範疇に入る。
【発明の効果】
【００１５】
本発明によれば、メモリからの画像データの読み出しに起因するオーバーヘッドを削減することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係る画像処理装置の前提構成を示すブロック図である。
【図２】本発明の一実施形態に係る画像処理装置の構成を示すブロック図である。
【図３】上記画像処理装置による画像処理の手順を示すタイミングチャートである。
【発明を実施するための形態】
【００１７】
まず、本発明に係る画像処理装置の前提となる構成について説明し、次に、本発明に係る画像処理装置について１つの実施形態で説明する。なお、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付し、重複する説明を省略する。
【００１８】
図１は、本発明の画像処理装置の前提構成（以下、「前提装置」と称する。）を示すブロック図である。図１では、前提装置１０１と、前提装置１０１に接続された、ＣＰＵ２０１、ＲＯＭ２０２およびＬＣＤ２０３とから構成された画像表示装置１００が図示されている。前提装置１０１は、ＣＰＵ２０１から与えられるコマンドに従い、ＲＯＭ２０２からスプライトの圧縮形式の画像データを読み出して復号し、またはＲＯＭ２０２からスプライトの非圧縮形式の画像データを読み出して、ＬＣＤ２０３に表示させる画像データを生成する。ＣＰＵ２０１は、前提装置１０１が搭載される情報機器等の全体を制御するプロセッサであり、前提装置１０１に対しては、ＬＣＤ２０３にスプライト、背景、フォント等の画像を表示させるためのコマンドやデータを供給する。ＲＯＭ２０２には、各種のスプライト、背景、フォント等の表示対象についての圧縮形式または非圧縮形式の画像データやαブレンディングに用いる圧縮形式または非圧縮形式のαブレンド値等が記憶されている。
【００１９】
前提装置１０１は、コントローラ１０２と、コマンドバッファ１０３と、プリロードバッファ１０４と、ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）１０５と、デコーダー１０６と、デコードバッファ１０７と、描画エンジン１０８と、フレームバッファ１０９と、表示制御部１１０と、を備えている。
【００２０】
前提装置１０１においては、ＣＰＵ２０１により、コマンドバッファ１０３にコマンドが書き込まれる。コマンドバッファ１０３は、ダブルバッファリングを行うものであり、第１コマンドバッファ１０３ａおよび第２コマンドバッファ１０３ｂを含んでいる。
【００２１】
コントローラ１０２のプリロード部１０２ａは、第１コマンドバッファ１０３ａまたは第２コマンドバッファ１０３ｂに書き込まれたコマンドを読み取り、ＲＯＭ２０２からの画像データの読み出しを指示するコマンドを特定する。プリロード部１０２ａは、特定したコマンドに当該画像データのプリロードが指定されていれば、ＤＭＡＣ１０５に対し、ＲＯＭ２０２からプリロードバッファ１０４への画像データの転送を設定する。
【００２２】
ＤＭＡＣ１０５は、設定された画像データを転送する。この転送に伴い、コマンドに含まれる、当該画像データの格納場所を示す格納先アドレスが、プリロード部１０２ａにより、ＲＯＭ２０２内のアドレスからプリロードバッファ１０４内のアドレスに書き換えられる。
【００２３】
コントローラ１０２のコマンド実行部１０２ｂは、第１コマンドバッファ１０３ａまたは第２コマンドバッファ１０３ｂに書き込まれたコマンドに従い、デコーダー１０６に画像データを復号させる。
【００２４】
デコーダー１０６は、コマンドに含まれる、画像データの格納先アドレスが、プリロードバッファ１０４内のアドレスであれば、当該画像データをプリロードバッファ１０４から読み出す一方、ＲＯＭ２０２内のアドレスであれば、当該画像データをＲＯＭ２０２から読み出す。従来であれば、必要な画像データは画像表示を行う都度、ＲＯＭ２０２から読み出されていた。前提装置１０１では、ユーザによりプリロードが指定された画像データは、上述したとおり、プリロード部１０２ａによりプリロードされており、デコーダー１０６による当該画像データの読み出しは、ＲＯＭ２０２からではなく、実際にはプリロードバッファ１０４から読み出される。プリロードバッファ１０４はＤＲＡＭ等の高速アクセス可能なメモリを用いることができるので、ＲＯＭ２０２から画像データを読み出す場合と比較し、当該画像データの読み出しに要する時間は短縮されることになる。
【００２５】
なお、ＲＯＭ２０２に記憶されている画像データのうち、プリロード対象とする画像データの割合は、プリロードバッファ１０４の容量によって制限される。ＲＯＭ２０２に記憶されている画像データの容量に対し、プリロードバッファ１０４の容量が十分大きければ、ＲＯＭ２０２に記憶されている画像データの全てをプリロード対象とすることも可能となる。
【００２６】
デコーダー１０６は、プリロードバッファ１０４またはＲＯＭ２０２から読み出した画像データを復号し、復号した画像データをデコードバッファ１０７に書き込む。
【００２７】
コマンド実行部１０２ｂはさらに、第１コマンドバッファ１０３ａまたは第２コマンドバッファ１０３ｂに書き込まれたコマンドに従い、描画エンジン１０８にＬＣＤ２０３に表示させる画像データの生成を実行させる。
【００２８】
描画エンジン１０８は、デコードバッファ１０７から画像データを１フレーム分ずつ読み出し、当該画像データに対し、拡縮・変形、カラー処理等を施した描画データを生成する。描画エンジン１０８は、生成した描画データをフレームバッファ１０９に書き込む。フレームバッファ１０９は、ダブルバッファリングを行うものであり、第１フレームバッファ１０９ａおよび第２フレームバッファ１０９ｂを含んでいる。第１フレームバッファ１０９ａおよび第２フレームバッファ１０９ｂは、交互にフレーム単位で、一方が描画のために画像データが書き込まれ、他方が表示のために画像データが読み出される。
【００２９】
表示制御部１１０は、第１フレームバッファ１０９ａおよび第２フレームバッファ１０９ｂに書き込まれた描画データに基づいてＬＣＤ２０３への画像の表示制御を行う。
【００３０】
以上が前提装置１０１の構成および動作である。前提装置１０１では、上述したとおり、ユーザによりプリロードが指定された画像データに対し、プリロード部１０２ａによるプリロードが実行される。このプリロードの指定は、ＣＰＵ２０１から前提装置１０１に与えられるコマンドに定義される。例えば、アミューズメント機器の開発現場では、フレーム単位にコマンドバッファ１０３にコマンドを書きこむタイミング、フレーム単位にＲＯＭ２０２からプリロードバッファ１０４にプリロードするタイミング等を予めコンピュータ上でテストした後、フレーム毎にＣＰＵ２０１から出力するコマンドが決められる。
【００３１】
上記の作業は、オーサリングツールなどのソフトウェアを使って行われるが、プリロードバッファ１０４のサイズに特に影響され、試行錯誤を繰り返し、大変手間がかかる作業である。前提装置１０１内部で、処理が間に合わなければ、いわゆるフレーム落ちが生じ、希望する表示が得られないからである。
【００３２】
そこで、本発明者は、さらに鋭意検討を重ね、プリロードすべき画像データをユーザによって予め選択することを不要とする構成、すなわち、画像表示を行いつつ、且つ、ユーザによることなく自動的に、プリロードすべき画像データを選択可能な構成を見出し、本発明を完成するに至った。本発明によれば、上述の作業は不要となり、ユーザの手間を省くことができる。
【００３３】
以下、本発明の一実施形態に係る画像処理装置について説明する。図２は、本発明の一実施形態に係る画像処理装置の構成を示すブロック図である。
【００３４】
画像処理装置１１は、前提装置１０１と同様、ＣＰＵ２０１と、ＲＯＭ（メモリ）２０２と、ＬＣＤ２０３と接続され、画像表示装置１を構成する。画像処理装置１１は、コントローラ１２と、コマンドバッファ１３と、プリロードバッファ１４と、ＤＭＡＣ１５と、デコーダー１６と、デコードバッファ１７と、描画エンジン１８と、フレームバッファ１９と、表示制御部２０と、を備えている。
【００３５】
コントローラ１２は、ＣＰＵ２０１から与えられるコマンドに従い、ＲＯＭ２０２から画像データを読み出し、読み出した画像データからＬＣＤ２０３に表示させる描画データを生成するための制御を行う回路である。ＣＰＵ２０１から与えられるコマンドは、コマンドバッファ１３に書き込まれる。
【００３６】
コマンドバッファ１３は、トリプルバッファリングを行うものであり、第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂおよび第３コマンドバッファ１３ｃを含んでいる。第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂおよび第３コマンドバッファ１３ｃは、ＣＰＵ２０１により、コマンドが書き込まれ、書き込まれたコマンドが読み取られる。
【００３７】
コマンドは、フレーム単位で、第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂおよび第３コマンドバッファ１３ｃに書きこまれる。そして、第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂおよび第３コマンドバッファ１３ｃは、この順で、フレーム単位で各々読み取られる。
【００３８】
例えば、現在描画しているコマンドが書きこまれたバッファが第１コマンドバッファ１３ａであれば、第２コマンドバッファ１３ｂが読み取られ、プリロードされる。そして、第３コマンドバッファ１３ｃにＣＰＵ２０１がコマンドを書き込む。
【００３９】
コントローラ１２は、プリロード部（設定部）１２ａ、コマンド実行部（実行部）１２ｂ、およびアドレス比較部１２ｃを含んでいる。プリロード部１２ａは、第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂ、または第３コマンドバッファ１３ｃに書き込まれたコマンドを読み取り、ＲＯＭ２０２からの画像データの読み出しを指示するコマンドを特定する。
【００４０】
アドレス比較部１２ｃは、プリロード部１２ａにより特定されたコマンドに含まれる、当該画像データの格納先アドレスと、書き込みの順番が当該コマンドの１つ前の順番のコマンドバッファに書き込まれたコマンドに含まれる、画像データの格納先アドレスとを比較し、両者が一致するか否かを判定する。プリロード部１２ａは、アドレス比較部１２ｃによる一致しないとの判定結果に基づき、自身が特定したコマンドに従い、ＤＭＡＣ１５に対し、ＲＯＭ２０２からプリロードバッファ１４への画像データの転送を設定する。
【００４１】
これに対し、プリロード部１２ａは、アドレス比較部１２ｃが一致すると判定した場合には、ＤＭＡＣ１５に対し、ＲＯＭ２０２からプリロードバッファ１４への画像データの転送を設定せずに、その代わりに、以下の設定を行う。
【００４２】
図２に示したとおり、プリロードバッファ１４は、第１プリロードバッファ１４ａおよび第２プリロードバッファ１４ｂを含んでいる。プリロードバッファ１４は、第１プリロードバッファ１４ａおよび第２プリロードバッファ１４ｂの各空き領域の管理等は行わず、単純なダブルバッファリングを行うものである。第１プリロードバッファ１４ａおよび第２プリロードバッファ１４ｂは、交互にフレーム単位で、一方が、プリロードのために、ＤＭＡＣ１５により、ＲＯＭ２０２から画像データが書き込まれ、他方が、描画のために、デコーダー１６により画像データが読み出される。
【００４３】
また、プリロードバッファ１４はＤＲＡＭ等の高速アクセス可能なメモリを用いており、プリロードバッファ１４の読み出し速度はＲＯＭ２０２の読み出し速度よりも高速である。
【００４４】
再び、プリロード部１２ａの説明に戻る。アドレス比較部１２ｃが一致すると判定した場合、プリロード部１２ａは、ＤＭＡＣ１５に対し、書き込みの順番が先であった、第１プリロードバッファ１４ａおよび第２プリロードバッファ１４ｂの一方から、他方への画像データの転送を設定する。
【００４５】
この、第１プリロードバッファ１４ａと第２プリロードバッファ１４ｂとの間における画像データの転送は、要は、プリロード対象の画像データが第１プリロードバッファ１４ａ等に存在するのであれば、当該画像データをわざわざＲＯＭ２０２からプリロードするのではなく、第１プリロードバッファ１４ａ等に存在する当該画像データを利用し、ＲＯＭ２０２からのプリロードを回避するためのものである。
【００４６】
上述のアドレス比較部１２ｃによる格納先アドレス比較は、プリロード対象の画像データが第１プリロードバッファ１４ａ等に存在するか否かをチェックするために行われる。或るコマンド（後コマンド）に含まれる格納先アドレスが、書き込みの順番が後コマンドの１つ前の順番であったコマンド（先コマンド）に含まれる格納先アドレスと一致するということは、先コマンドに従って、一致した格納先アドレスに格納されている画像データがＲＯＭ２０２から先にプリロードされていたことを示すものだからである。
【００４７】
ここで、コマンドバッファ１３が、前提装置１０１のコマンドバッファ１０３とは異なり、トリプルバッファリングを行うものであるのは、上述のアドレス比較部１２ｃによる格納先アドレス比較を行うためである。この格納先アドレス比較を行うためには、ＣＰＵ２０１により書き込まれたコマンドよりも、書き込みの順番が１つ前の順番であったコマンドを保持するバッファがさらに必要となるからである。
【００４８】
ＤＭＡＣ１５は、ＲＯＭ２０２からプリロードバッファ１４への画像データ転送、または、第１プリロードバッファ１４ａと第２プリロードバッファ１４ｂとの間における画像データ転送を行う。前者の転送であれば、コマンドに含まれる、当該画像データの格納場所を示す格納先アドレスが、プリロード部１２ａにより、ＲＯＭ２０２内のアドレスからプリロードバッファ１４内のアドレスに書き換えられる。
【００４９】
一方、後者の転送であれば、コマンドに含まれる、当該画像データの格納場所を示す格納先アドレスが、プリロード部１２ａにより、プリロードバッファ１４内の新たなアドレスに書き換えられる。つまり、第１プリロードバッファ１４ａと第２プリロードバッファ１４ｂと間における転送に伴う、プリロードバッファ１４内における格納先アドレスの変更に起因するものである。
【００５０】
コントローラ１２のコマンド実行部１２ｂは、第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂまたは第３コマンドバッファ１３ｃに書き込まれたコマンドに従い、デコーダー１６に画像データを復号させる。デコーダー１６は、当該画像データをプリロードバッファ１４から読み出す。
【００５１】
ここで、前提装置１０１であれば、プリロードされる画像データは、ユーザによりプリロードが予め指定された画像データのみであった。画像処理装置１１では、プリロードされる画像データはユーザ指定のものではない。コマンドバッファ１３への書き込みの順番が連続する、２つのコマンド間において、先コマンドに従いプリロードされた画像データが、後コマンドに従いプリロードすべき画像と同一であった場合には、ＲＯＭ２０２から読み出すのではなく、先にプリロードされた画像データを利用するものである。
【００５２】
これにより、プリロードすべき画像データをユーザによって予め選択することが不要となり、画像表示を行いつつ、且つ、プリロードすべき画像データを選択することが可能となる。
【００５３】
デコーダー１６は、プリロードバッファ１４から読み出した画像データを復号し、復号した画像データをデコードバッファ１７に書き込む。
【００５４】
コマンド実行部１２ｂはさらに、第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂ、または第３コマンドバッファ１３ｃに書き込まれたコマンドに従い、描画エンジン１８にＬＣＤ２０３に表示させる画像データの生成を実行させる。第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂ、および第３コマンドバッファ１３ｃは、決められた順番で、フレーム単位で切り替わり、読み出される。
【００５５】
なお、描画エンジン１８、フレームバッファ１９および表示制御部２０の構成および動作については、前提装置１０１の描画エンジン１０８、フレームバッファ１０９および表示制御部１１０のものと同様であるので、ここでは説明を省略する。以上が画像処理装置１１の構成および動作である。
【００５６】
最後に、図３を用いて、画像処理装置１１による画像処理の手順について説明する。図３は、画像処理装置１１による画像処理の手順を示すタイミングチャートである。
【００５７】
Ｖ＿ＢＬＡＮＫ信号ＶＢ０に同期して、ＣＰＵ２０１は、画像処理装置１１に対し、コマンドを与える（Ｓ０１、Ｓ０２）。Ｓ０１にて、コマンドＣＭＤ＃３が与えられ、Ｓ０２にて、コマンドバッファＣｂｕｆｆ２に書き込まれている。
【００５８】
なお、図３において、「コマンドＣＭＤ＃ｎ」はｎ番目のフレームを構成するために用いられる複数のコマンドからなるコマンド群を意味する。
【００５９】
プリロード部１２ａは、コマンドバッファ１３に書き込まれたコマンドを読み取り、ＲＯＭ２０２からの画像データの読み出しを指示するコマンドを特定する（Ｓ０２）。Ｓ０２にて、コマンドバッファＣｂｕｆｆ１に書き込まれたコマンドＣＭＤ＃２が読み取られ、ＲＯＭ２０２からの画像データの読み出しを指示するコマンドであると特定されている。
【００６０】
アドレス比較部１２ｃは、当該コマンドに含まれる格納先アドレスと、書き込みの順番が１つ前の順番のコマンドバッファに書き込まれたコマンドに含まれる格納先アドレスとを比較し、両者が一致するか否かを判定する（Ｓ０３）。Ｓ０３にて、コマンドバッファＣｂｕｆｆ１に書き込まれたコマンドＣＭＤ＃２の格納先アドレスと、コマンドバッファＣｂｕｆｆ０に書き込まれたコマンドＣＭＤ＃１の格納先アドレスとが比較されている。
【００６１】
プリロード部１２ａは、アドレス比較部１２ｃによる一致しないとの判定結果に基づき、自身が特定したコマンドに従い、ＤＭＡＣ１５に対し、ＲＯＭ２０２からプリロードバッファ１４への画像データの転送を設定する。一方、プリロード部１２ａは、アドレス比較部１２ｃが一致すると判定した場合には、ＤＭＡＣ１５に対し、書き込みの順番が先であった、第１プリロードバッファ１４ａおよび第２プリロードバッファ１４ｂの一方から他方への画像データの転送を設定する（Ｓ０３）。ＤＭＡＣ１５は、ＲＯＭ２０２からプリロードバッファ１４への画像データ転送、または、第１プリロードバッファ１４ａと第２プリロードバッファ１４ｂとの間における画像データ転送を行う（Ｓ０４）。Ｓ０３、Ｓ０４にて、アドレス比較部１２ｃによる判定結果に基づき、プリロードバッファＰＢｕｆｆ１への画像データＤａｔａ＃２の転送が行われている。
【００６２】
コマンド実行部１２ｂは、コマンドバッファ１３に書き込まれたコマンドに従い、デコーダー１６に画像データを復号させる。デコーダー１６は、当該画像データをプリロードバッファ１４から読み出す（Ｓ０６）。デコーダー１６は、プリロードバッファ１４から読み出した画像データを復号し、復号した画像データをデコードバッファ１７に書き込む（Ｓ０７）。Ｓ０６にて、コマンドバッファＣｂｕｆｆ０に書き込まれたコマンドＣＭＤ＃１に従い、プリロードバッファＰＢｕｆｆ０から画像データＤａｔａ＃１が読み出され、Ｓ０７にて、復号された画像データＤａｔａ＃１がデコードバッファ１７に書き込まれている。
【００６３】
コマンド実行部１２ｂは、コマンドバッファ１３に書き込まれたコマンドに従い、描画エンジン１８にＬＣＤ２０３に表示させる画像データの生成を実行させる（Ｓ０５）。描画エンジン１８は、デコードバッファ１７から画像データを１フレーム分ずつ読み出し、当該画像データに対し、拡縮・変形、カラー処理等を施した描画データを生成する（Ｓ０８）。Ｓ０５にて、コマンドバッファＣｂｕｆｆ０に書き込まれたコマンドＣＭＤ＃１に従い、Ｓ０８にて、描画エンジン１８が描画データ＃１を生成している。
【００６４】
描画エンジン１８は、生成した描画データをフレームバッファ１９に書き込む（Ｓ０９）。Ｓ０９にて、フレームバッファ１９に描画データ＃１が書き込まれている。
【００６５】
表示制御部２０は、第１フレームバッファ１９ａおよび第２フレームバッファ１９ｂに書き込まれた描画データに基づいてＬＣＤ２０３への画像の表示制御を行う（Ｓ１０）。Ｓ１０にて、フレームバッファ１９に書き込まれた描画データ＃０に基づき、ＬＣＤ２０３への画像の表示制御が行われている。
【００６６】
このようにして、画像処理が行われ、ＬＣＤ２０３に画像表示（＃０）される（Ｓ１１）。
【００６７】
Ｖ＿ＢＬＡＮＫ信号ＶＢ１、ＶＢ２、ＶＢ３に同期して、上記のＳ０１〜Ｓ１１と同様の処理であるＳ２１〜Ｓ３０、Ｓ４１〜Ｓ５０、Ｓ６１〜Ｓ７０が実行され、ＬＣＤ２０３に画像表示（＃１、＃２、＃３）される（Ｓ３１、Ｓ５１、Ｓ７１）。
【００６８】
画像処理装置１１は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００６９】
後者の場合、画像処理装置１１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００７０】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【００７１】
上述の実施形態では、コマンドバッファ１３がトリプルバッファリング、プリロードバッファ１４がダブルバッファリングを、それぞれ行うものであったが、本発明は、それらバッファの数に限られるものではない。コマンドバッファ１３が４つ以上のバッファを、プリロードバッファ１４が３つ以上のバッファを備えるものであってもよい。
【００７２】
例えば、ＲＯＭ２０２からプリロードバッファ１４への転送が１周期（図３に示したＶ＿ＢＬＡＮＫ信号間の間隔）以上かかる場合、プリロードバッファ１４が３つ以上のバッファを備えることにより、瞬間的な負荷増加を吸収することが可能となる。また、コマンドバッファ１３に関しても、同様に、アドレス比較部１２ｃによる格納先アドレス比較に１周期以上かかる場合、コマンドバッファ１３が４つ以上のバッファを備えることにより、瞬間的な負荷増加を吸収することが可能となる。
【００７３】
なお、上述の実施形態において、第１コマンドバッファ１３ａ、第２コマンドバッファ１３ｂ、および第３コマンドバッファ１３ｃの各々に書き込まれるコマンド数は１つに限られるものではなく、各フレームを構成するために用いられる複数のコマンドからなるコマンド群が書き込まれてもよいことはいうまでもない。
【符号の説明】
【００７４】
１１  画像処理装置、１２、１０２  コントローラ、１２ａ、１０２ａ  プリロード部（設定部）、１２ｂ、１０２ｂ  コマンド実行部（実行部）、１２ｃ  アドレス比較部、１３、１０３  コマンドバッファ、１３ａ、１０３ａ  第１コマンドバッファ、１３ｂ、１０３ｂ  第２コマンドバッファ、１３ｃ  第３コマンドバッファ、１４、１０４  プリロードバッファ、１４ａ  第１プリロードバッファ、１４ｂ  第２プリロードバッファ、１５、１０５  ＤＭＡＣ、１６、１０６  デコーダー、１７、１０７  デコードバッファ、１８、１０８  描画エンジン、１９、１０９  フレームバッファ、２０、１１０  表示制御部、１０１  前提装置、１０９ａ  第１フレームバッファ、１０９ｂ  第２フレームバッファ、２０１  ＣＰＵ、２０２  ＲＯＭ（メモリ）、２０３  ＬＣＤ。
【図１】
0006693215.tif 000002
【図２】
0006693215.tif 000003
【図３】
0006693215.tif 000004