(57)【特許請求の範囲】
【請求項１】
上位装置からの指示に基づいて、転送元メモリに格納された複数種の素材を用いた画像処理を行う画像処理システムにおいて、
ロードバスを介して、前記転送元メモリに接続されたキャッシュメモリと、
前記上位装置によって発行され、時系列的に記述され、描画に必要な素材の転送命令を含む一連の命令によって画像処理の手順が規定されたディスプレイリストを解析して、それぞれの素材の転送命令を順次出力するディスプレイリスト解析部と、
素材の種別に対応して複数設けられており、それぞれが、リードバスを介して前記キャッシュメモリに接続されているとともに、前記ディスプレイリスト解析部からの前記転送命令によって自己が指定された場合、当該転送命令によって指定された素材の取得要求を出力するとともに、当該取得要求に係る素材が前記キャッシュメモリに格納された場合、前記キャッシュメモリへのアクセスによって取得した当該素材に対して、当該素材の特性に応じた処理を行う複数の転送処理部と、
前記転送処理部のそれぞれからの前記取得要求を管理するとともに、前記取得要求に係る素材が前記キャッシュメモリに格納されているか否かに応じて、前記キャッシュメモリに格納されていない前記取得要求に係る素材を前記転送元メモリから読み出して、前記キャッシュメモリに格納する調停部と、
前記転送処理部のそれぞれによって処理された素材を用いて、画像を描画する描画処理部とを有し、
前記ディスプレイリストは、前記時系列的な記述中に外部情報を取得するためのジャンプ命令を含み、
前記転送元メモリに格納された複数種の素材は、その一種として、前記外部情報である前記ディスプレイリストと同一の記述形式で記述されたサブルーチンを含み、
前記複数の転送処理部のうちの少なくとも１つは、前記素材に対する処理として、前記転送元メモリから転送された前記サブルーチンを取得する処理を行い、
前記ディスプレイリスト解析部は、前記ディスプレイリストにおける前記ジャンプ命令が記述されたジャンプ部分で、前記転送処理部によって処理された前記サブルーチンを取得し、当該取得したサブルーチンを前記ディスプレイリストの一部とみなして解析することを特徴とする画像処理システム。
【請求項２】
前記キャッシュメモリの記憶領域は、複数のキャッシュブロックに分割されており、
前記調停部は、前記転送処理部のそれぞれによる前記キャッシュブロックへのアクセスを排他的に制御するために、前記キャッシュブロックのそれぞれに関するブロック占有権を管理することを特徴とする請求項１に記載された画像処理システム。
【請求項３】
前記調停部は、前記転送処理部のいずれかを要求元とした前記取得要求に係る素材が前記キャッシュメモリにキャッシュされていない場合、前記ブロック占有権が付与されていない空キャッシュブロックのいずれかに関して、前記要求元に前記ブロック占有権を付与するとともに、前記取得要求に係る素材が前記キャッシュメモリにキャッシュされている場合、前記取得要求に係る素材が格納されているキャッシュブロックに関して、前記要求元に前記ブロック占有権を付与することを特徴とする請求項２に記載された画像処理システム。
【請求項４】
前記調停部は、前記取得要求に係る素材が前記要求元によって取得された場合、前記取得要求に係る素材が格納されていたキャッシュブロックに関して、前記要求元の前記ブロック占有権を解除することを特徴とする請求項３に記載された画像処理システム。
【請求項５】
前記調停部は、前記転送処理部のそれぞれからの前記取得要求に基づいた前記転送元メモリからの素材の読み出しを排他的に制御するために、前記ロードバスに関するロードバス占有権を管理することを特徴とする請求項１から４のいずれかに記載された画像処理システム。
【請求項６】
前記調停部は、前記転送処理部のいずれかを要求元とした前記取得要求に係る素材が前記キャッシュメモリにキャッシュされていない場合、前記要求元以外に前記ロードバス占有権が付与されていないことを条件として、前記要求元に前記ロードバス占有権を付与するとともに、前記取得要求に係る素材が前記キャッシュメモリにキャッシュされている場合、前記要求元に前記ロードバス占有権を付与しないことを特徴とする請求項５に記載された画像処理システム。
【請求項７】
前記調停部は、前記要求元からの前記取得要求に係る素材が前記転送元メモリから読み出されて前記キャッシュメモリに格納された場合、前記要求元の前記ロードバス占有権を解除することを特徴とする請求項６に記載された画像処理システム。
【請求項８】
前記調停部は、前記転送処理部のそれぞれによる前記キャッシュメモリからの素材の読み出しを排他的に制御するために、前記リードバスに関するリードバス占有権を管理することを特徴とする請求項１から７のいずれかに記載された画像処理システム。
【請求項９】
前記調停部は、前記転送処理部のいずれかを要求元とした前記取得要求に係る素材が前記キャッシュメモリにキャッシュされていない場合、前記取得要求に係る素材を前記転送元メモリから読み出されて、前記キャッシュメモリに格納されたことを条件として、前記要求元に前記リードバス占有権を付与するとともに、前記取得要求に係る素材が前記キャッシュメモリにキャッシュされている場合、前記取得要求に係る素材を前記転送元メモリから読み出すことなく、前記要求元に前記リードバス占有権を付与することを特徴とする請求項８に記載された画像処理システム。
【請求項１０】
前記調停部は、前記キャッシュメモリに格納されている前記取得要求に係る素材が前記要求元によって取得された場合、前記要求元の前記リードバス占有権を解除することを特徴とする請求項９に記載された画像処理システム。
【請求項１１】
前記転送元メモリは、複数のメモリセルが直列接続された構造を有するメモリであることを特徴とする請求項１から１０のいずれかに記載された画像処理システム。
【請求項１２】
前記転送処理部のそれぞれは、前記素材に対する処理として、前記ディスプレイリストのサブルーチンの取得、可逆圧縮された画像データの伸張、非可逆圧縮された画像データの伸張、または、三次元図形を規定する頂点データの処理を行うことを特徴とする請求項１から１１のいずれかに記載された画像処理システム。
【請求項１３】
前記ディスプレイリスト解析部は、前記ディスプレイリストに記述された前記転送命令を先読みして、解析することを特徴とする請求項１から１２のいずれかに記載された画像処理システム。
【請求項１４】
前記ディスプレイリスト解析部は、前記転送処理部のそれぞれによって処理された素材を転送先メモリに格納することによって変動する前記転送先メモリの残容量を管理するとともに、前記転送先メモリの現在の残容量に応じて、前記転送命令の出力タイミングを制御することを特徴とする請求項１３に記載された画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置からの指示に基づいて、転送元メモリに格納された複数種の素材を用いた画像処理を行う画像処理システムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、上位装置であるＣＰＵ（Central Processing Unit）によって発行されたディスプレイリストに基づいて、転送元メモリに格納された素材（オブジェクト）を用いた画像処理を行う画像プロセッサが開示されている。この画像プロセッサが備える転送回路は、ＣＰＵによって発行された一連の転送命令に従って、転送元メモリに格納された圧縮形式または非圧縮形式の素材を読み出し、これを画像プロセッサ内の転送先メモリに書き込む。転送の対象となる素材が圧縮されている場合には、転送回路内の伸張回路において伸張処理が行われ、伸張後の素材が転送先メモリに書き込まれる。また、この特許文献１には、ある描画処理で用いられた素材がその後の描画処理でも再度必要とされる場合、その素材を転送先メモリから消去することなく、転送先メモリ内にキャッシュしておく点についても開示されている。
【０００３】
また、特許文献２には、プログラムやデータのキャッシュメモリへのロード時間の短縮と、実行性能の劣化低減とを図る連想記憶装置が開示されている。一方、特許文献３には、上位のプロセッサ（ホストＣＰＵ）によって生成された一連の命令（コマンド）を一時的に格納するＦＩＦＯメモリを備えた画像プロセッサが開示されている。ＦＩＦＯメモリに格納された命令は、このＦＩＦＯメモリに書き込まれた順序（入力順序）で時系列的に古いものから読み出され、これに応じた描画処理が順次実行される。
【０００４】
【特許文献１】特許第３９７０２９１号公報
【特許文献２】特開２００１−３０７４８９号公報
【特許文献３】特開２００１−２９１０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１のような画像処理システムにおいては、ソースとなる素材を格納する転送元メモリとして、通常のＲＯＭよりも安価なＮＡＮＤメモリを使用したいという市場ニーズが高まっている。ＮＡＮＤメモリは、複数の記憶素子（メモリセル）が直列接続された構造のメモリであり、その代表例として、浮遊ゲートに対するキャリア（電子）の注入量をデータに応じて制御するＮＡＮＤ型フラッシュメモリが知られている。しかしながら、ＮＡＮＤメモリは、その接続構造に起因した特性として、ロードに続くシーケンシャルアクセスが比較的高速である反面、初期のロード自体のペナルティが大きいという欠点がある。そのため、転送命令に対応した個々の素材のロードを画一的にその都度行うと、ロードのペナルティが描画処理上のボトルネックとして顕在化する。
【０００６】
また、近年、画像処理システムの多機能化・高付加価値化に伴い、システムが取り扱う素材も二次元の静止画や動画のみならず、三次元の静止画や動画といったように多様化する傾向にある。これらの複数種の素材を取り扱う場合、素材の特性の相違に起因して、転送過程での処理内容が素材毎に相違する。例えば、可逆圧縮された素材を転送する際は、この可逆圧縮とは逆プロセスで素材を伸張する処理が伴う。非可逆圧縮された素材を転送する際は、この非可逆圧縮とは逆プロセスで素材を伸張する処理が伴う。また、同じ可逆圧縮（または、同じ非可逆圧縮）でも、素材に応じて、複数種の圧縮アルゴリズムを使い分けることも考えられる。このように、素材の転送過程において複数種の処理が併存し、素材の特性に応じて処理を使い分ける場合、処理全体のスループットの向上を図るためには、これらの処理の間で何らかの調停を行う必要がある。
【０００７】
そこで、本発明の目的は、素材の転送過程で複数種の処理が併存し、素材の特性に応じて処理を使い分ける画像処理システムにおいて、転送元メモリからの素材のロード回数を減らして全体的な転送時間の短縮を図りつつ、転送処理間における調停を可能にすることである。
【０００８】
また、本発明の別の目的は、このような画像処理システムの多機能化・高付加価値化を一層推進することである。
【課題を解決するための手段】
【０００９】
かかる課題を解決すべく、本発明は、キャッシュメモリと、ディスプレイリスト解析部と、複数の転送処理部と、調停部と、描画処理部とを有し、上位装置からの指示に基づいて、転送元メモリに格納された素材を用いた画像処理を行う画像処理システムを提供する。キャッシュメモリは、ロードバスを介して、転送元メモリに接続されている。ディスプレイリスト解析部は、ディスプレイリストを解析して、それぞれの素材の転送命令を順次出力する。このディスプレイリストは、上位装置によって発行され、時系列的に記述され、描画に必要な素材の転送命令を含む一連の命令によって画像処理の手順を規定する。また、ディスプレイリストは、その時系列的な記述中に外部情報を取得するためのジャンプ命令を含んでいる。転送元メモリに格納された複数種の素材は、その一種として、外部情報であるディスプレイリストと同一の記述形式で記述されたサブルーチンを含んでいる。複数の転送処理部は、素材の種別に対応して複数設けられており、それぞれが、リードバスを介してキャッシュメモリに接続されている。転送処理部は、ディスプレイリスト解析部からの転送命令によって自己が指定された場合、この転送命令によって指定された素材の取得要求を出力する。また、転送処理部は、この取得要求に係る素材がキャッシュメモリに格納された場合、キャッシュメモリへのアクセスによって取得した素材に対して、この素材の特性に応じた処理を行う。ここで、これら複数の転送処理部のうちの少なくとも１つは、素材に対する処理として、転送元メモリから転送されたサブルーチンを取得する処理を行うものである。調停部は、転送処理部のそれぞれからの取得要求を管理する。また、調停部は、取得要求に係る素材がキャッシュメモリに格納されているか否かに応じて、キャッシュメモリに格納されていない取得要求に係る素材を転送元メモリから読み出して、キャッシュメモリに格納する。描画処理部は、転送処理部のそれぞれによって処理された素材を用いて、画像を描画する。そして、前述したディスプレイリスト解析部は、ディスプレイリストにおけるジャンプ命令が記述されたジャンプ部分で、転送処理部によって処理されたサブルーチンを取得し、当該取得したサブルーチンをディスプレイリストの一部とみなして解析する。
【００１０】
ここで、本発明において、キャッシュメモリの記憶領域は、複数のキャッシュブロックに分割されていることが好ましい。この場合、調停部は、転送処理部のそれぞれによるキャッシュブロックへのアクセスを排他的に制御するために、キャッシュブロックのそれぞれに関するブロック占有権を管理してもよい。また、調停部は、転送処理部のいずれかを要求元とした取得要求に係る素材がキャッシュメモリにキャッシュされていない場合、ブロック占有権が付与されていない空キャッシュブロックのいずれかに関して、要求元にブロック占有権を付与してもよい。また、調停部は、取得要求に係る素材がキャッシュメモリにキャッシュされている場合、取得要求に係る素材が格納されているキャッシュブロックに関して、要求元にブロック占有権を付与してもよい。さらに、調停部は、取得要求に係る素材が要求元によって取得された場合、取得要求に係る素材が格納されていたキャッシュブロックに関して、要求元のブロック占有権を解除してもよい。
【００１１】
本発明において、調停部は、転送処理部のそれぞれからの取得要求に基づいた転送元メモリからの素材の読み出しとを排他的に制御するために、ロードバスに関するロードバス占有権を管理することが好ましい。この場合、調停部は、転送処理部のいずれかを要求元とした取得要求に係る素材がキャッシュメモリにキャッシュされていない場合、要求元以外にロードバス占有権が付与されていないことを条件として、要求元にロードバス占有権を付与してもよい。また、調停部は、取得要求に係る素材がキャッシュメモリにキャッシュされている場合、要求元にロードバス占有権を付与しないようにしてもよい。さらに、調停部は、要求元からの取得要求に係る素材が転送元メモリから読み出されてキャッシュメモリに格納された場合、要求元のロードバス占有権を解除してもよい。
【００１２】
本発明において、調停部は、転送処理部のそれぞれによるキャッシュメモリからの素材の読み出しを排他的に制御するために、リードバスに関するリードバス占有権を管理することが好ましい。この場合、調停部は、転送処理部のいずれかを要求元とした取得要求に係る素材がキャッシュメモリにキャッシュされていない場合、取得要求に係る素材を転送元メモリから読み出されて、キャッシュメモリに格納されたことを条件として、要求元にリードバス占有権を付与してもよい。また、調停部は、取得要求に係る素材がキャッシュメモリにキャッシュされている場合、取得要求に係る素材を転送元メモリから読み出すことなく、要求元にリードバス占有権を付与してもよい。さらに、調停部は、キャッシュメモリに格納されている取得要求に係る素材が要求元によって取得された場合、要求元のリードバス占有権を解除してもよい。
【００１３】
本発明において、転送元メモリは、ＮＡＮＤメモリに代表されるように、複数のメモリセルが直列接続された構造を有するメモリであることが好ましい。また、転送処理部のそれぞれは、素材に対する処理として、ディスプレイリストのサブルーチンの取得、可逆圧縮された画像データの伸張、非可逆圧縮された画像データの伸張、または、三次元図形を規定する頂点データの処理を行う。
【００１４】
また、本発明において、ディスプレイリスト解析部は、ディスプレイリストに記述された転送命令を先読みして解析することが好ましい。この場合、ディスプレイリスト解析部は、転送処理部のそれぞれによって処理された素材を転送先メモリに格納することによって変動する転送先メモリの残容量を管理するとともに、転送先メモリの現在の残容量に応じて、転送命令の出力タイミングを制御してもよい。
【発明の効果】
【００１５】
本発明によれば、転送元メモリと転送処理部との間にキャッシュメモリを介在させ、キャッシュヒット時には、転送元メモリからの素材のロードを行うことなく、キャッシュメモリに既に存在する素材がリードされる。上位装置によって発行されるディスプレイリストは、その性質上、素材の転送に割り込みがないので、これを前提とすることによって、転送元メモリからの素材のロード回数を減らすことができる。また、キャッシュメモリからリードされた素材に対しては、この素材の取得要求を発した転送処理部によって所定の処理が施される。素材の取得要求を発した要求元がどの転送処理部であるかは、調停部によって管理されている。したがって、素材の転送過程で複数種の処理が併存する場合であっても、その素材に対応した処理を一義的に特定できる。これにより、キャッシュ効果による全体的な転送時間の短縮を図りつつ、複数種の転送処理間に処理速度の差があったとしても、これらの調停を容易に行うことが可能になる。それとともに、取り扱う素材が多様化しても、描画処理のリアルタイム性を損なうことがないので、画像処理システムの多機能化・高付加価値化を一層推進することが可能になる。
【発明を実施するための最良の形態】
【００１６】
（第１の実施形態）
図１は、第１の実施形態に係る画像処理システムの全体的なブロック構成図である。この画像処理システムは、ＣＰＵ１と、メインメモリ１ａと、ＲＡＭ７を内蔵した画像プロセッサ２と、複数のＮＡＮＤメモリ３と、キャッシュメモリ４と、調停部５と、表示装置６とを主体に構成されている。なお、同図では、キャッシュメモリ４および調停部５が画像プロセッサ２に外付けされているが、これらが画像プロセッサ２に内蔵された形態であってもよく、ＮＡＮＤメモリ３も含めて画像プロセッサ２に内蔵された形態であってもよい。さらには、上位装置であるＣＰＵ１の機能を画像プロセッサ２に内蔵することも可能である。
【００１７】
上位装置であるＣＰＵ１は、画像プロセッサ２に実行させるべき一連の転送命令が時系列的に記述されたディスプレイリスト１０を発行する。このディスプレイリスト１０は、時系列的に記述された一連の命令によって画像処理の手順が規定されている。このディスプレイリスト１０が従来のそれと異なる点は、それ単独で処理手順を完全に規定するのではなく、外部情報と連携することによって、はじめて完全なものになる点である。このような連携を可能にすべく、ディスプレイリスト１０に記述可能な命令として、ジャンプ命令が新規に追加されている。ディスプレイリスト１０にジャンプ命令を記述することにより、このジャンプ命令が記述されたジャンプ部分で、後述するサブルーチンが外部情報として参照される。ＣＰＵ１からＣＰＵバスに出力されたディスプレイリスト１０は、メインメモリ１ａを介して間接的に、或いは、直接的に画像プロセッサ２に供給される。なお、ディスプレイリスト１０は、例えば１フレーム毎といった如く、ＣＰＵ１によって随時更新される。メインメモリ１ａは、ＣＰＵ１と同様、ＣＰＵバスに接続されており、ＣＰＵ１の指定に応じてディスプレイリスト１０を格納・保持する。
【００１８】
画像プロセッサ２は、画像データやディスプレイリスト１０のサブルーチンといった素材を用いた画像処理を行う。ここで、素材の一種である画像データは、圧縮形式または非圧縮形式で多数存在し、ディスプレイリスト１０の指定に応じて転送元メモリから読み出されたものがバス８，９を介して画像プロセッサ２に取り込まれる。一方、素材の一種であるサブルーチンは、上述したディスプレイリスト１０（メインルーチン）によって呼び出される外部情報に相当し、時系列的に記述された一連の命令によって画像処理の手順を規定する。このサブルーチンは、ディスプレイリスト１０と同一の記述形式で記述されている。本実施形態において、サブルーチンは、可変データ（ＣＰＵ１によって随時更新されるデータ）ではなく固定データ（ＣＰＵ１によって随時更新されないデータ）として取り扱われる。また、サブルーチンは、複数存在してもよく、ディスプレイリスト１０の指定に応じて転送元メモリから読み出されたものが画像プロセッサ４に取り込まれる。
【００１９】
図２は、ディスプレイリスト１０の説明図である。ディスプレイリスト１０には、１フレームの画像の描画に必要な素材の転送手順が規定されており、リストの上から下に向かってラインＬ（命令単位）毎に転送命令が記述されている。１つの転送命令は、「素材名」、「経路」、「サイズ（展開後）」および「ＲＯＭアドレス」を主体に構成されている。
【００２０】
ソースとなる画像データが格納された転送元メモリからのデータ転送は、有意なグループを１単位として行われる。本明細書では、この転送単位となるグループを「素材」と称する。素材は、データの転送単位であるとともに、転送先メモリに格納される場合にはデータの消去単位にもなり得る。本実施形態において、画像プロセッサ２が取り扱う素材の種別として以下の３種類がある。
【００２１】
（素材Ａ）ディスプレイリスト１０のサブルーチン
本実施形態では、サブルーチンの一例として、三次元描画コマンドリストを用いる。このコマンドリストには、三次元図形を規定する頂点情報をパラメータとした三次元描画用の命令がディスプレイリスト１０と同一の記述形式で記述されている。頂点情報は、三次元画像を生成する際の基本となる多角形ポリゴン（例えば三角形ポリゴン）の頂点座標（Ｘ，Ｙ，Ｚ）等を規定する。このサブルーチンは、転送命令による経路指定（経路＝Ａ）によって、図１に示したバスＡを経由してディスプレイリスト解析部２ｂに転送される（ディスプレイリスト１０のオプション指定によって、ＲＡＭ７に格納される場合もある）。なお、頂点情報をデータそのものではなくディスプレイリスト化する理由は、ディスプレイリスト１０のサイズを抑制するためである。一般に、三次元描画を行うためには、三次元図形を規定する頂点情報（三次元座標等）が必要になるが、その情報量は図形が複雑になるほど飛躍的に増大する。そこで、情報量が膨大になりがちな頂点情報については、ディスプレイリスト１０より切り離して管理した方が効率的なこともある。頂点情報は、図形固有のデータなので変更しないでも使えるという性質を有する。このような特性に鑑み、頂点情報を可変データ（ＣＰＵ１によって随時更新されるデータ）ではなく固定データ（ＣＰＵ１によって随時更新されないデータ）として扱っても、処理内容の柔軟性を損なうことはない。なお、ディスプレイリスト１０のサブルーチンは、複数存在してもよい。
【００２２】
（素材Ｂ）可逆圧縮された画像データ
可逆圧縮された画像データの一例としては、静止画が挙げられる。また、可逆圧縮手法には、特に制限はなく、周知の手法のうちの任意にものを用いることができる。この可逆圧縮データは、転送命令による経路指定（経路＝Ｂ）によって、図１に示したバスＢを経由して転送先メモリに展開される。バスＢに接続された可逆圧縮データ伸張部２ｄは、圧縮とは逆プロセスで、入力された可逆圧縮データを伸張・出力する。
【００２３】
（素材Ｃ）非可逆圧縮された画像データ
非可逆圧縮された画像データの一例としては、動画像が挙げられる。また、非可逆圧縮手法には、特に制限はなく、周知の手法のうちの任意のものを用いることができる。この非可逆圧縮データは、転送命令による経路指定（経路＝Ｃ）によって、図１に示したバスＣを経由して転送先メモリに展開される。バスＣに設けられた非可逆データ伸張部は、圧縮とは逆プロセスで、入力された非可逆圧縮データを伸張・出力する。
【００２４】
また、転送命令中の「サイズ」は、転送対象となる素材を展開した後のデータ量（データサイズ）を示す。すなわち、素材Ａに関しては、サブルーチンのデータ量であり、素材Ｂ，Ｃの可逆／非可逆圧縮データに関しては、伸張後のデータ量である。「サイズ」は、転送先メモリに確保された素材展開領域の残容量を管理するために用いられる。また、転送命令中の「ＲＯＭアドレス」は、転送対象となる素材（ソース）が格納されている転送元メモリの格納アドレスである。例えば、ディスプレイリスト１０における１行目（Ｌ＝１）の転送命令は、転送対象がＲＯＭアドレス「ＡＤＤ１」に格納された素材名「Ａ−１」（”Ａ”はサブルーチンの種別に属することを意味する）で、サブルーチン取得部２ｃが存在するバス「Ａ」を経由して取得され、展開後のサイズが「0×100」であることを示す。なお、図２では省略されているが、このディスプレイリスト１０には、以上のような転送命令以外に、描画処理部２ｈの処理内容を指示する描画命令も含まれている。
【００２５】
複数のＮＡＮＤメモリ３は、例えばＮＡＮＤ型フラッシュメモリを用いることができ、ソースとなる素材を格納する転送元メモリとしての役割を担っている。ＮＡＮＤメモリ３には、上述した３種類の素材Ａ〜Ｃが圧縮形式または非圧縮形式で多数格納されている。転送命令中の「ＲＯＭアドレス」によって指定された素材は、後述するキャッシュヒット時を除いて、ＮＡＮＤメモリ３からキャッシュメモリ４にロードされ、ロード後に、転送処理部２ｃ〜２ｅのいずれかによってキャッシュメモリ４からリードされる。また、ＲＡＭ７（Random Access Memory）は、展開された素材を格納する転送先メモリとしての役割を担っており、本実施形態では、画像プロセッサ２に内蔵されている。このＲＡＭ７には、展開された素材を一時的に格納する素材展開領域と、表示装置６に表示すべき１フレームの表示画像を格納するフレームバッファとが、論理的に互いに区分された状態で確保されている。
【００２６】
キャッシュメモリ４は、ＮＡＮＤメモリ３の欠点であるロードのペナルティを緩和し、画像プロセッサ２との性能差を低減するために設けられている。このキャッシュメモリ４は、ロードバス８を介して、それぞれのＮＡＮＤメモリ３に接続されているとともに、ロードバス８とは別個のリードバス９を介して、画像プロセッサ２内のバスインターフェイス２ｆに接続されている。キャッシュメモリ４は、高速なＳＲＡＭ（Static Random Access Memory）によって構成されており、その記憶領域は、複数のキャッシュブロックＢＬ（以下、単に「ブロックＢＬ」という）に分割されている。キャッシュメモリ４に格納されるデータは、このブロック単位で管理される。詳細については後述するが、調停部５は、キャッシュメモリ４の管理を行う他に、ＮＡＮＤメモリ３からキャッシュメモリ４へのロードバス８を介したデータ転送（ロード）と、キャッシュメモリ４から転送処理部２ｃ〜２ｅへのリードバス９を介したデータ転送（リード）とを制御する。これらのロードおよびリードは、並行して行うことが可能である。
【００２７】
画像プロセッサ２は、ディスプレイリスト解析部２ｂと、素材の種別に対応して設けられた複数の転送処理部２ｃ〜２ｅと、バスインターフェース２ｆと、メモリインターフェース２ｇと、描画処理部２ｈと、上述したＲＡＭ７とを主体に構成されている。ディスプレイリスト解析部２ｂは、ＣＰＵ１によって発行されたディスプレイリスト１０を取得し、その記述内容を解析する。そして、その解析結果に基づいた命令が、転送処理部２ｃ〜２ｅおよび描画処理部２ｈに出力される。ここで、ディスプレイリスト解析部２ｂがディスプレイリスト１０を取得する経路は２つ存在し、ディスプレイリスト１０に記述された指定によって、いずれかの取得経路が選択される。ただし、モードの実行中は経路の切り替えが禁止されている。
【００２８】
図３は、第１のモードにおけるディスプレイリスト取得経路を示す図である。ディスプレイリスト１０は、プログラムの内容に応じて、ＣＰＵ１によってメインメモリ１ａに構築・格納される。ディスプレイリスト解析部２ｂは、メインメモリ１ａに格納されたディスプレイリスト１０をＣＰＵバスを介して取得するとともに、取得したディスプレイリスト１０の記述内容を解析する。記述内容中のジャンプ命令が抽出された場合、ディスプレイリスト解析部２ｂは、ＮＡＮＤメモリ３に格納されたサブルーチン１２を取得し、このサブルーチン１２をディスプレイリスト１０の一部とみなして解析する。
【００２９】
図４は、第２のモードにおけるディスプレイリスト取得経路を示す図である。この場合、ＣＰＵ１によって発行されたディスプレイリスト１０は、ＣＰＵバスを介して画像プロセッサ２内に取り込まれ、内部のＲＡＭ７に格納される。そして、ディスプレイリスト解析部２ｂは、ＲＡＭ７に格納されたディスプレイリスト１０を取得するとともに、取得したディスプレイリスト１０の記述内容を解析する。その際、ジャンプ命令が抽出された場合には、第１のモードと同様、サブルーチン１２が呼び出される。
【００３０】
図５は、ディスプレイリスト解析部２ｂにおけるリスト解析処理のフローチャートである。このリスト解析処理は、ディスプレイリスト１０が更新される毎に実行される。
【００３１】
まず、ステップ１において、上述した第１のモードまたは第２のモードのいずれかによって、ディスプレイリスト１０が取得される。つぎに、ステップ２において、処理対象となるラインを指定するライン変数Ｌが１（初期値）にセットされる。Ｌ＝１は、処理対象となるラインがディスプレイリスト１０の最も上に記述されたラインであることを示す。
【００３２】
ステップ３において、ライン変数Ｌによって指定されたラインの転送命令が読み込まれる。図２の例では、Ｌ＝１の場合、１行目に記述された「素材名」＝Ａ−１、「経路」＝Ａ、「サイズ」＝0×100、「ＲＯＭアドレス」＝ＡＤＤ１が読み込まれる。
【００３３】
ステップ４において、転送先メモリであるＲＡＭ７に確保された素材展開領域に関する現時点の残容量が確認される。当然ながら、素材展開領域の残容量は、素材の展開によって減少し、素材の消去（領域の解放を含む）によって増加する。ディスプレイリスト解析部２ｂは、素材展開領域の初期サイズと、転送命令中の「サイズ」とを把握することで、経時的に変動する残容量を管理する。このような管理下において、ステップ６における転送命令の出力に先立ち、現時点における残容量が確認される。残容量の確認を行う理由は、画像プロセッサ２に内蔵されているＲＡＭ７の容量に制約がある場合であっても、素材の転送を支障なく行うためである。
【００３４】
ステップ５において、ステップ４で特定された残容量と、転送命令中の「サイズ」との比較によって、素材を転送するのに十分な残容量であるか否かが判定される。残容量が「サイズ」以上の場合には、この転送命令に係る素材の転送を即座に行っても、ＲＡＭ７の容量不足で転送された素材をＲＡＭ７に格納できないといった事態に陥ることはない。したがって、この場合は、ステップ５の肯定判定を経て、即座にステップ６に進む。これに対して、残容量が「サイズ」未満の場合には、この転送命令に係る素材の転送を即座に行ってしまうと、ＲＡＭ７の容量不足を招き、素材をＲＡＭ７に格納できないという事態に陥る。そこで、この場合は、ステップ５の否定判定を経てステップ４に戻り、ＲＡＭ７に格納済みの素材が消去されて十分な残容量が確保されるまでの間、ステップ４，５が繰り返される（待ち状態）。そして、残容量が確保された時点で、ステップ４，５のループを抜けてステップ６に進む。
【００３５】
なお、素材Ａのサブルーチン１２は、ＲＡＭ７に格納される場合（格納モード）と、ＲＡＭ７に格納することなくディスプレイリスト解析部２ｂが直接取得する場合（解析モード）とがある。後者の場合には、ステップ５の残容量判定は不要なので、必ずステップ６に進む。
【００３６】
ステップ６において、ライン変数Ｌによって指定された転送命令が、この転送命令中の「経路」によって指定されたいずれかの転送処理部２ｃ〜２ｅに選択的に出力される。図２の例において、Ｌ＝１の転送命令は、経路Ａのサブルーチン取得部２ｃに出力され、その命令内容は、ＲＯＭアドレス「ＡＤＤ１」より素材「Ａ−１」を取得せよといった内容になる。取得した素材「Ａ−１」の出力先をＲＡＭ７およびディスプレイリスト解析部２ｂのどちらにするかは、この転送命令のオプションによって指定される。この転送命令の出力に伴い、ＲＡＭ７の残容量が更新され、現在の残容量から転送命令中の「サイズ」分が減算される（上述した素材Ａの解析モード時を除く）。なお、転送命令に係る素材がＲＡＭ７に展開された後、描画処理で用いられて不要になった場合、その時点で、この転送命令中の「サイズ」が現在の残容量に加算される。
【００３７】
ステップ７において、ライン変数Ｌによって指定された転送命令がディスプレイリスト１０の最後であるか否かが判定される。ライン変数Ｌが１の場合には、ステップ７の否定判定によってステップ８に進む。そして、ライン変数Ｌに１を加算した上でステップ３に戻り、上述したステップ３〜６の手順に従って、２行目（Ｌ＝２）の転送命令の処理が行われる。図２の例では、Ｌ＝２の転送命令が、経路Ｂの可逆圧縮データ伸張部２ｄに即座に出力される。それ以降、ＲＡＭ７の残容量に不足が生じない限り、、３行目、４行目といった如く、各ラインの転送命令が先読みされ、転送処理部２ｃ〜２ｅのいずれかに順次振り分けられる。このような転送命令の先読みは、ＲＡＭ７の容量不足が生じた時点で一旦停止し、その後、残容量が確保された時点で再開される。これにより、それぞれの転送命令の出力タイミングは、ＲＡＭ７の残容量に応じて制御されることになる。そして、ディスプレイリスト１０における最後のラインの転送命令の出力が終了した場合、ステップ７の判定結果によって、ディスプレイリスト１０に対する一連の処理が終了する。
【００３８】
図１に示すように、並列に設けられた３つの転送処理部２ｃ〜２ｅは、ディスプレイリスト解析部２ｂからの転送命令に基づいて、選択的に動作する。これらの転送処理部２ｃ〜２ｅは、バスインターフェイス２ｆおよびリードバス９を介してキャッシュメモリ４に接続されているとともに、メモリインターフェイス２ｇを介してＲＡＭ７に接続されている。転送処理部２ｃ〜２ｅの処理内容は、自己に対応付けられた素材の特性に応じた処理を行うが、通常、これらの処理内容の相違に起因して、処理時間にも差があることが多い。
【００３９】
サブルーチン取得部２ｃは、ディスプレイリスト解析部２ｂからの転送命令によって自己が指定された場合、この転送命令に係る素材Ａ、すなわちサブルーチン１２の取得要求を「ＲＯＭアドレス」の指定付で出力する。この取得要求は、バスインターフェイス２ｆを介して調停部５に転送される。また、サブルーチン取得部２ｃは、取得要求に係るサブルーチン１２がキャッシュメモリ４に格納された旨の通知を調停部５から受けた場合、キャッシュメモリ４へのアクセスによってサブルーチン１２を取得し、これをＲＡＭ７およびディスプレイリスト解析部２ｂのいずれかにスルー出力する。ここで、サブルーチン１２が上述した三次元描画コマンドリストの場合、サブルーチン取得部２ｃにおいて、パラメータとして設定された頂点情報のソートや座標変換等を行ってもよい。サブルーチン１２の出力先がディスプレイリスト解析部２ｂの場合、ディスプレイリスト解析部２ｂは、取得したサブルーチン１２をディスプレイリスト１０の一部とみなして解析する。
【００４０】
可逆圧縮データ伸張部２ｄは、ディスプレイリスト解析部２ｂからの転送命令によって自己が指定された場合、この転送命令に係る素材Ｂ、すなわち可逆圧縮データの取得要求を「ＲＯＭアドレス」の指定付で出力する。この取得要求は、バスインターフェイス２ｆを介して調停部５に転送される。また、可逆圧縮データ伸張部２ｄは、取得要求に係る可逆圧縮データがキャッシュメモリ４に格納された旨の通知を調停部５より受けた場合、キャッシュメモリ４へのアクセスによって可逆圧縮データを取得し、これを圧縮とは逆のプロセスで伸張する。伸張された画像データは、メモリインターフェイス２ｇを介してＲＡＭ７に格納される。なお、転送命令によって特に指定されている場合、可逆圧縮データ伸張部２ｄは、入力した素材Ｂを処理することなく、スルー出力する（この場合、素材Ｂは可逆圧縮されていない生データとなる）。
【００４１】
非可逆圧縮データ伸張部２ｅは、ディスプレイリスト解析部２ｂからの転送命令によって自己が指定された場合、この転送命令に係る素材Ｃ、すなわち非可逆圧縮データの取得要求を「ＲＯＭアドレス」の指定付で出力する。この取得要求は、バスインターフェイス２ｆを介して調停部５に転送される。また、非可逆圧縮データ伸張部２ｅは、取得要求に係る非可逆圧縮データがキャッシュメモリ４に格納された旨の通知を調停部５より受けた場合、キャッシュメモリ４へのアクセスによって非可逆圧縮データを取得し、これを圧縮とは逆のプロセスで伸張する。伸張された画像データは、メモリインターフェイス２ｇを介してＲＡＭ７に格納される。
【００４２】
描画処理部２ｈは、ディスプレイリスト解析部２ｂからの二次元描画命令に基づき、ＲＡＭ７に展開された各種素材を用いた二次元描画処理を行うとともに、三次元描画命令に基づいた三次元描画処理を行う。この描画処理によって生成された１フレーム分の表示画像は、メモリインターフェイス２ｇを介してＲＡＭ７内のフレームバッファに格納される。そして、フレームバッファより読み出された１フレーム分の表示画像は、メモリインターフェイス２ｇを介して表示装置６に転送され、これによって、表示装置６に画像が表示される。
【００４３】
調停部５は、管理テーブル１１を用いて、転送処理部２ｃ〜２ｅからの取得要求と、キャッシュメモリ４における素材の格納状態とを管理する。図６は、管理テーブル１１の説明図である。なお、以下の説明では、サブルーチン取得部２ｃを「マスタＡ」、可逆圧縮データ伸張部２ｄを「マスタＢ」、非可逆圧縮データ伸張部２ｅを「マスタＣ」とそれぞれ適宜呼ぶことにする。
【００４４】
管理テーブル１１は、キャッシュメモリ４におけるブロックＢＬ0〜9のそれぞれに関するブロック占有権ＢＬＰ0〜9を管理するとともに、そこに格納されている素材をエントリアドレスＥＡによって管理する。ブロック占有権ＢＬＰ0〜9は、マスタＡ〜ＣによるブロックＢＬ0〜9のアクセスを排他的に制御するために用いられ、素材の取得要求を発した要求元（マスタＡ〜Ｃのいずれか）に対して付与される。例えば、図２のＬ＝１の転送命令を受けたマスタＡが素材Ａ−１の取得要求を出力した場合、図６に示した空ブロックＢＬ0〜9のいずれか（例えばブロックＢＬ0）のマスタＡ欄にフラグを立てるとともに、そのエントリアドレスＥＡ欄に、取得すべき素材Ａ−１のＲＯＭアドレスＡＤＤ1が記述される。これによって、素材Ａ−１の要求元となるマスタＡに対して、この素材Ａ−１を格納するためのブロック占有権ＢＬＰ0が付与される。なお、キャッシュメモリ４中の全ブロックＢＬが占有されてしまっている場合には、ブロックＢＬの空きが生じるまで、次のロードバス占有権ＬＢＰの付与が待ち状態となる。
【００４５】
また、調停部５は、管理テーブル１１のエントリアドレスＥＡ欄を参照することによって、要求元からの素材がキャッシュメモリ４にキャッシュされているか否かを判定する（キャッシュ判定）。具体的には、新たな取得要求に係る素材のＲＯＭアドレスと一致するエントリアドレスＥＡが管理テーブル１１中に存在しない場合には、キャッシュミスヒット、すなわち、この素材がキャッシュメモリ４に格納されていないものと判定される。この場合、ブロック占有権ＢＬＰが付与されていない空ブロックＢＬのいずれかがロード先として割り当てられる。そして、このロード先のブロック占有権ＢＬＰが要求元に付与され、素材の格納先を示す「ＲＯＭアドレス」がエントリアドレスＥＡの欄に記述される。その後、ＮＡＮＤメモリ３のエントリアドレスＥＡから素材が読み出されて、キャッシュメモリ４のロード先にロードされる。取得要求を発した要求元は、ロード完了に伴う調停部５からのリード許可を受けて、キャッシュメモリ４のロード先をリード元として素材を読み出す。リード元より読み出された素材は、その特性に応じた処理が行われた上でＲＡＭ７に展開される。調停部５は、取得要求に係る素材が要求元によって取得されたことを以て、取得要求に係る素材が格納されていたロード先（リード元）のブロック占有権ＢＬＰを解除する。
【００４６】
これに対して、新たな取得要求に係る素材のＲＯＭアドレスと一致するエントリアドレスＥＡが管理テーブル１１中に存在する場合には、キャッシュヒット、すなわち、この素材がキャッシュメモリ４に格納されているものと判定される。この場合、取得要求に係る素材が格納されているブロックＢＬがリード元として割り当てられ、このリード元のブロック占有権ＢＬＰが要求元に付与される。そして、調停部５は、ＮＡＮＤメモリ３からのロードを行うことなく、取得要求に係る素材が格納されているリード元からの読み出しを要求元に許可する。このリード許可を受けた要求元は、キャッシュメモリ４中のリード元から素材を読み出す。リード元より読み出された素材は、その特性に応じた処理が行われた上でＲＡＭ７に展開される。調停部５は、取得要求に係る素材が要求元によって取得されたことを以て、取得要求に係る素材が格納されていたリード元のブロック占有権ＢＬＰを解除する。
【００４７】
さらに、調停部５は、ロードバス８に関するロードバス占有権ＬＢＰと、リードバス９に関するリードバス占有権ＲＢＰとを管理する。ロードバス占有権ＬＢＰは、要求元となるマスタＡ〜Ｃからの取得要求に基づいたＮＡＮＤメモリ３からのロードを排他的に制御するために用いられる。また、リードバス占有権ＲＢＰは、マスタＡ〜Ｃによるキャッシュメモリ４からのリードを排他的に制御するために用いられる。
【００４８】
ロードバス占有権ＬＢＰは、ある要求元からの取得要求に係る素材がキャッシュメモリ４にキャッシュされていない場合に、この要求元に対して付与される。ただし、ロードバス占有権ＬＢＰを付与する前提として、調停部５が取得要求を受け取った時点で、他の要求元にロードバス占有権ＬＢＰが付与されていないことが条件となる。したがって、ロードバス占有権ＬＢＰが既に付与されている場合には、それが解除されるまで、次のロードバス占有権ＬＢＰの付与が待ち状態となる。
【００４９】
そして、上記条件を満たして、新たなロードバス占有権ＬＢＰが付与された場合、ＮＡＮＤメモリ３から取得要求に係る素材が読み出される。そして、読み出された素材がキャッシュメモリ４のロード先に格納された時点で、今回のロードバス占有権ＬＢＰが解除される。これに対して、ある要求元からの取得要求に係る素材がキャッシュメモリ４にキャッシュされている場合には、この要求元に対してロードバス占有権ＬＢＰを付与することなくスキップする。その理由は、その素材はキャッシュ済みゆえに、ＮＡＮＤメモリ３から改めてロードする必要性がないからである。
【００５０】
リードバス占有権ＲＢＰは、キャッシュミスヒット時には、ロードバス占有権ＬＢＰの解除後に付与されるが、キャッシュヒット時には、ロードバス占有権ＬＢＰのプロセスをスキップして付与される。ある要求元からの取得要求に係る素材がキャッシュメモリ４に格納された場合（キャッシュミスヒットによるロード終了時およびキャッシュヒット時の双方を含む）、この要求元に対してリードバス占有権ＲＢＰが付与される。ただし、リードバス占有権ＲＢＰを付与する前提として、他の要求元にリードバス占有権ＲＢＰが付与されていないことが条件となる。したがって、リードバス占有権ＲＢＰが既に付与されている場合には、それが解除されるまで、次のリードバス占有権ＲＢＰの付与が待ち状態となる。
【００５１】
そして、上記条件を満たして、新たなリードバス占有権ＲＢＰが付与された場合、この付与を受けた要求元は、キャッシュメモリ４のリード元から取得要求に係る素材を読み出す。そして、取得要求に係る素材が要求元によって取得された時点で、今回のリードバス占有権ＲＢＰが解除される。
【００５２】
つぎに、図７に示すタイミングチャートを参照しつつ、転送処理の具体的について説明する。同図に示した動作は、図２に示したディスプレイリスト１０の記述に則ったものであるが、説明の複雑化を避けるために、キャッシュメモリ４のブロック数を２とし、それぞれのフロック占有権をＢＬＰ0，ＢＬＰ1とする。まず、ディスプレイリスト解析部２ｂによって、ディスプレイリスト１０が先読みされ、最上のラインから順に転送命令Ａ−１，Ｂ−１，C−１，A−２，・・・が出力される。
【００５３】
タイミングｔ1において、転送命令Ａ−１を受け取ったマスタＡは、調停部５に対して取得要求Ａ−１を出力する。この時点では、キャッシュメモリ４内に素材Ａ−１が存在しないので、キャッシュミスヒット（キャッシュ判定＝否定）となる（以下、素材Ｂ−１，Ｃ−１，Ａ−２についても同様）。これにより、いずれかの空いているブロック占有権ＢＬＰ0がマスタＡか付与される。そして、ブロック占有権ＢＬＰ0が付与されたことを条件として、ロードバス占有権ＬＢＰがマスタＡに付与される。ロードバス占有権ＬＢＰの付与に伴い、ＮＡＮＤメモリ３からキャッシュメモリ４への素材Ａ−１のロードが開始される。
【００５４】
タイミングｔ2において、転送命令Ｂ−１を受け取ったマスタＢは、調停部５に対して取得要求Ｂ−１を出力する。これにより、残った方の空いているブロック占有権ＢＬＰ1がマスタＢに付与される。しかしながら、ロードバス占有権ＬＢＰはマスタＡに付与されており空いていないので、マスタＢに対するこの権利の付与は保留される。
【００５５】
タイミングｔ3において、転送命令Ｃ−１を受け取ったマスタＣは、調停部５に対して取得要求Ｃ−１を出力する。しかしながら、ブロック占有権ＢＬＰ0，ＢＬＰ1に空きがないので、マスタＣに対するこの権利の付与は保留される。
【００５６】
タイミングｔ4において、素材Ａ−１のロードが終了すると、マスタＡのロードバス占有権ＬＢＰが解除され、保留状態にある次のマスタＢにロードバス占有権ＬＢＰが付与される（マスタＣは依然として保留状態）。これにより、素材Ｂ−１のロードが開始される。また、素材Ａ−１のロードの終了に伴い、マスタＡにリードバス占有権ＲＢＰが付与される。これによって、素材Ｂ−１のロードと並行して、マスタＡによる素材Ａ−１のリードが行われる。
【００５７】
タイミングｔ5において、素材Ａ−１のリードが終了すると、マスタＡの取得要求Ａ−１が取り下げられる。これを受けた調停部５は、マスタＡのリードバス占有権ＲＢＰを解除するとともに、マスタＡのブロック占有権ＢＬＰ0も解除する。ブロック占有権ＢＬＰ0に空きができたので、保留状態にある次のマスタＣにブロック占有権ＢＬＰ0が付与される。しかしながら、ロードバス占有権ＬＢＰが空いていないので、マスタＣに対するこの権利の付与は保留される。
【００５８】
タイミングｔ6において、転送命令Ａ−２を受け取ったマスタＡは、調停部５に対して取得要求Ａ−２を出力する。しかしながら、ブロック占有権ＢＬＰ0，ＢＬＰ1に空きがないので、マスタＡに対するこの権利の付与は保留される。
【００５９】
タイミングｔ7において、素材Ｂ−１のロードが終了すると、マスタＢのロードバス占有権ＬＢＰが解除され、保留状態にある次のマスタＣにロードバス占有権ＬＢＰが付与される（マスタＡは依然として保留状態のまま）。これにより、素材Ｃ−１のロードが開始される。また、素材Ｂ−１のロードの終了に伴い、マスタＢにリードバス占有権ＲＢＰが付与される。これによって、素材Ｃ−１のロードと並行して、マスタＢによる素材Ｂ−１のリードが行われる。
【００６０】
タイミングｔ8において、素材Ｂ−１のリードが終了すると、マスタＢの取得要求Ｂ−１が取り下げられる。これを受けた調停部５は、マスタＢのリードバス占有権ＲＢＰを解除するとともに、マスタＢのブロック占有権ＢＬＰ1も解除する。ブロック占有権ＢＬＰ1に空きができたので、保留状態にある次のマスタＡにブロック占有権ＢＬＰ1が付与される。しかしながら、ロードバス占有権ＬＢＰが空いていないので、マスタＡに対するこの権利の付与は保留される。
【００６１】
タイミングｔ9において、素材Ｃ−１のロードが終了すると、マスタＣのロードバス占有権ＬＢＰが解除され、保留状態にある次のマスタＡにロードバス占有権ＬＢＰが付与される。これにより、素材Ａ−２のロードが開始される。また、素材Ｃ−１のロードの終了に伴い、マスタＣにリードバス占有権ＲＢＰが付与される。これによって、素材Ａ−２のロードと並行して、マスタＣによる素材Ｃ−１のリードが行われる。
【００６２】
タイミングｔ10において、素材Ｃ−１のリードが終了すると、マスタＣの取得要求Ｃ−１が取り下げられる。これを受けた調停部５は、マスタＣのリードバス占有権ＲＢＰを解除するとともに、マスタＣのブロック占有権ＢＬＰ0も解除する。そして、タイミングｔ11において、素材Ａ−２のロードが終了すると、マスタＡのロードバス占有権ＬＢＰが解除されるとともに、マスタＡにリードバス占有権ＲＢＰが付与され、マスタＡによる素材Ａ−２のリードが開始される。そして、タイミングｔ12において、素材Ａ−２のリードが終了すると、マスタＡの取得要求Ａ−２が取り下げられる。これを受けた調停部５は、マスタＡのリードバス占有権ＲＢＰを解除するとともに、マスタＡのブロック占有権ＢＬＰ1も解除する。
【００６３】
その後、タイミングｔ13において、転送命令Ａ−１を受け取ったマスタＡは、調停部５に対して取得要求Ａ−１を出力する。この時点において、上述したｔ1〜ｔ12までとは異なり、キャッシュメモリ４内に素材Ａ−１が既に存在するものとする。この場合、キャッシュヒット（キャッシュ判定＝肯定）となる。これにより、素材Ａ−１が格納されているブロックのブロック占有権ＢＬＰ0がマスタＡか付与される。上述したように、キャッシュヒット時には、ロードバス占有権ＬＢＰの付与をスキップして、リードバス占有権ＲＢＰがマスタＡに付与され、マスタＡによる素材Ａ−１のリードが開始される。そして、タイミングｔ14において、素材Ａ−１のリードが終了すると、マスタＡの取得要求Ａ−１が取り下げられる。これを受けた調停部５は、マスタＡのリードバス占有権ＲＢＰおよびブロック占有権ＢＬＰ0の双方を解除する。マスタＡが取得要求Ａ−１を出力してからこれを取り下げるまでに要する時間は、キャッシュミスヒット時にはｔ1〜ｔ5相当であるのに対して、キャッシュヒット時にはｔ12〜ｔ13相当に短縮されるのがわかる。
【００６４】
なお、図７に示したタイミングチャートでは、あるマスタのリードバス占有権ＲＢＰが解除されない限り、次のマスタにリードバス占有権ＲＢＰが付与されない形態になっているが、複数のマスタに対してリードバス占有権ＲＢＰを交互に付与することで、それぞれのマスタによる素材のリードを時分割で行ってもよい。
【００６５】
このように、本実施形態によれば、ＮＡＮＤメモリ３と画像プロセッサ２との間にキャッシュメモリ４を介在させ、キャッシュヒット時には、ＮＡＮＤメモリ３からの素材のロードを行うことなく、キャッシュメモリ４に既に存在する素材のリードが行われる。ＣＰＵ１によって発行されるディスプレイリスト１０は、その性質上、素材の転送に割り込みがないので、これを前提とすることによって、ＮＡＮＤメモリ３からの素材のロード回数を減らすことができる。また、キャッシュメモリ４から読み出された素材は、この素材の取得要求を発した転送処理部２ｃ〜２ｄを経て、ＲＡＭ７またはディスプレイリスト解析部２ｂに格納される。素材の要求元が転送処理部２ｃ〜２ｄのどれであるかは、調停部５が有する管理テーブル１１によって管理されている。したがって、複数種の転送処理部２ｃ〜２ｄが併存する場合であっても、その素材を処理すべき転送処理部２ｃ〜２ｄを一義的に特定できる。その結果、キャッシュ効果による全体的な転送時間の短縮を図りつつ、複数種の転送処理間に処理速度の差があったとしても、これらの調停を容易に行うことが可能になる。
【００６６】
また、本実施形態によれば、ディスプレイリスト１０に記述された転送命令の先読みによって、現在転送中の素材に加えて、次に転送する素材の転送を要求することができる（プリフェッチ機構）。これによって、全体的な転送時間の一層の短縮化を図ることが可能になる。ただし、このプリフェッチ機構は必須ではなく、転送命令を逐次的に実行する形態であってもよい。
【００６７】
また、本実施形態によれば、どの転送処理部２ｃ〜２ｅがロードバス８を占有するのかをロードバス占有権ＬＢＰによって管理することで、複数の転送処理部２ｃ〜２ｅがロードバス８を共有する形態であっても、これらの調停を効率的に行うことができる。それとともに、どの転送処理部２ｃ〜２ｅがリードバス９を占有するのかをリードバス占有権ＲＢＰによって管理することで、複数の転送処理部２ｃ〜２ｅがリードバス９を共有する形態であっても、これらの調停を効率的に行うことができる。
【００６８】
また、本実施形態によれば、ソースとなる素材を格納する転送元メモリとして、通常のＲＯＭよりも安価なＮＡＮＤメモリ３を使用する場合であっても、キャッシュ効果によって、このデバイス固有の欠点であるロードのペナルティを有効に隠蔽することができる。これにより、ＮＡＮＤメモリ３を使用したいという市場ニーズに的確に応えることができる。
【００６９】
さらに、本実施形態によれば、システムが取り扱う素材の多様化しても描画処理のリアルタイム性を損なうことがないので、画像処理システムの多機能化・高付加価値化を一層推進することができる。
【００７０】
（第２の実施形態）
図８は、第２の実施形態に係る画像処理システムの全体的なブロック構成図である。上述した第１の実施形態との相違点は、サブルーチン取得部２ｃに代えて頂点データ処理部２ａを用いる点と、上述したサブルーチン１２を呼び出すことなくディスプレイリスト１０のみを用いる点である。それ以外については、第１の実施形態と同様なので、図１と同一の符号を付して、ここでの説明を省略する。頂点データ処理部２ａの処理対象は、以下の素材Ａ’である。
【００７１】
（素材Ａ’）三次元図形を規定する頂点データ
頂点データは、三次元画像を生成する際の基本となる多角形ポリゴン（例えば三角形ポリゴン）の頂点座標（Ｘ，Ｙ，Ｚ）等である。
【００７２】
頂点データ処理部２ａは、ディスプレイリスト解析部２ｂからの転送命令によって自己が指定された場合、この転送命令に係る素材Ａ、すなわち頂点データの取得要求を「ＲＯＭアドレス」の指定付で出力する。この取得要求は、バスインターフェイス２ｆを介して調停部５に転送される。また、頂点データ処理部２ａは、取得要求に係る頂点データがキャッシュメモリ４に格納された旨の通知を調停部５より受けた場合、キャッシュメモリ４へのアクセスによって頂点データを取得し、頂点データのソートや座標変換等を行う。そして、処理後の頂点データは、メモリインターフェイス２ｇを介してＲＡＭ７に格納される。
【００７３】
このように、本実施形態によれば、素材として頂点データそのものを用いる場合であっても、第１の実施形態と同様の効果を有する。
【００７４】
なお、上述した各実施形態では、転送元メモリとして、ＮＡＮＤメモリ３を例に説明した。ＮＡＮＤメモリ３は、複数の記憶素子（メモリセル）が直列接続された構造のメモリであり、その代表例として、浮遊ゲートに対するキャリア（電子）の注入量を制御するタイプ（周知のＮＡＮＤ型フラッシュメモリはこのタイプである）や、強誘電体を用いたタイプ等が知られている。また、ＮＡＮＤメモリ３に代えて、これと類似した直列接続構造を有するＡＮＤメモリを用いてもよい。これらの直列接続型メモリはいずれも、初期のロードのペナルティが大きいという欠点があるが、本発明を適用すれば、このペナルティを有効に隠蔽することができる。また、直列接続型メモリへの適用は、本発明の最適な実施例の一つではあるものの、本発明はこれに限定されるものではなく、通常のＣＧＲＯＭを含めて各種のメモリに適用することも可能である。
【００７５】
また、上述した各実施形態では、転送処理部２ｃ〜２ｅ，２ｉのそれぞれに１本のバスを割り当てているが、バスの帯域を確保するために、一つの転送処理部（例えば、非可逆圧縮データ伸張部２ｄ）に複数のバスを割り当ててもよい。この場合、それぞれのバスをマスタとして管理テーブル１１によって管理することが好ましい。
【００７６】
さらに、上述した各実施形態では、転送過程における素材の処理として、ディスプレイリスト１０（メインルーチン）に関するサブルーチン１２の取得、可逆圧縮された画像データの伸張、非可逆圧縮された画像データの伸張、または、三次元図形を規定する頂点データの処理について説明した。しかしながら、本発明はこれに限定されるものではなく、素材の特性に応じて処理内容が異なる２以上の処理が併存する形態に対して広く適用可能である。例えば、（１）上記処理のうちの任意の組み合わせ、（２）上記処理の少なくとも一部に別処理を追加した形態、（３）異なる可逆圧縮アルゴリズムに対応した複数種の伸張処理が併存する形態、（４）異なる非可逆圧縮アルゴリズムに対応した複数種の伸張処理が併存する形態、さらに、（５）上記（１）〜（４）を組み合わせた形態といった如くである。
【図面の簡単な説明】
【００７７】
【図１】第１の実施形態に係る画像処理システムのブロック構成図
【図２】ディスプレイリストの説明図
【図３】第１のモードにおけるディスプレイリスト取得経路を示す図
【図４】第２のモードにおけるディスプレイリスト取得経路を示す図
【図５】リスト解析処理のフローチャート
【図６】管理テーブルの説明図
【図７】転送処理のタイミングチャート
【図８】第２の実施形態に係る画像処理システムのブロック構成図
【符号の説明】
【００７８】
１  ＣＰＵ
１ａ  メインメモリ
２  画像プロセッサ
３  ＮＡＮＤメモリ
４  キャッシュメモリ
５  調停部
６  表示装置
７  ＲＡＭ
８  ロードバス
９  リードバス
１０  ディスプレイリスト
１１  管理テーブル
１２  サブルーチン
２ａ  頂点データ処理部
２ｂ  ディスプレイリスト解析部
２ｃ  ポリゴン生成部（マスタＡ）
２ｄ  可逆圧縮データ伸張部（マスタＢ）
２ｅ  非可逆圧縮データ伸張部（マスタＣ）
２ｆ  バスインターフェース
２ｇ  メモリインターフェース
２ｈ  描画処理部
【図１】
0004748609.tif 000002
【図２】
0004748609.tif 000003
【図３】
0004748609.tif 000004
【図４】
0004748609.tif 000005
【図５】
0004748609.tif 000006
【図６】
0004748609.tif 000007
【図７】
0004748609.tif 000008
【図８】
0004748609.tif 000009