(57)【要約】【課題】転送元メモリから転送先メモリへの画像データの転送頻度を減らし、画像処理全体のスループットの向上を図る。【解決手段】転送先メモリのキャッシュ管理を行うために、一連の転送命令の入力順序で転送対象となるオブジェクトを管理するオーダ記憶部７２と、転送先メモリに転送されたオブジェクトを消去順序で管理するマッピング記憶部７４とを用いる。キャッシュの判定は、新規転送命令に対応したオブジェクトの識別データがマッピング記憶部内に存在するか否かによって行われる。ある描画処理で必要とされたオブジェクトがその後の描画処理においても再度必要とされる場合、そのオブジェクトをＲＡＭ６から消去することなくキャッシュしておく。そして、キャッシュされているオブジェクトを転送対象としたその後の転送命令については、その転送を実際に行うことなくキャンセルする。【選択図】図２
2007026340.tif 000002
【特許請求の範囲】
【請求項１】
画像プロセッサにおいて、
転送元メモリに記憶されている画像データをオブジェクト単位で転送先メモリに順次転送する転送回路と、
前記転送先メモリに記憶されたオブジェクトを用いた描画処理を行うことによって、出力すべき表示画像を生成する描画回路と、
前記転送回路におけるオブジェクトの転送を制御する転送制御回路とを有し、
前記転送制御回路は、
一連の転送命令の入力順序で、転送命令のそれぞれに対応したオブジェクトの識別データを記憶するオーダ記憶部と、
前記転送先メモリから消去すべきオブジェクトの消去順序で、前記転送先メモリに転送されたそれぞれのオブジェクトの識別データを記憶するマッピング記憶部と、
新たに入力された新規転送命令の入力時と、前記描画回路におけるオブジェクトの描画終了時とにおいて、前記オーダ記憶部の記憶内容を更新するオーダ更新部と、
前記新規転送命令に対応したオブジェクトの識別データが前記マッピング記憶部内に存在するか否かを判定する判定部と、
前記判定部の判定結果と、前記オーダ記憶部の記憶内容の更新とに応じて、前記マッピング記憶部の記憶内容を更新するマッピング更新部と、
前記マッピング記憶部に識別データが追加された場合、前記転送回路に対して、当該追加された識別データに対応したオブジェクトの転送実行を指示する転送指示部と
を有することを特徴とする画像プロセッサ。
【請求項２】
前記オーダ更新部は、
前記新規転送命令の入力時に、当該新規転送命令に対応したオブジェクトの識別データを前記オーダ記憶部に追加し、
前記描画回路におけるオブジェクトの描画終了時に、当該描画終了に対応したオブジェクトの識別データを前記オーダ記憶部から消去することを特徴とする請求項１に記載された画像プロセッサ。
【請求項３】
前記マッピング更新部は、
前記新規転送命令に対応したオブジェクトの識別データが前記マッピング記憶部内に存在すると前記判定部が判定した場合、前記新規転送命令に対応したオブジェクトの識別データを前記マッピング記憶部に追加することを禁止し、
前記新規転送命令に対応したオブジェクトの識別データが前記マッピング記憶部内に存在しないと前記判定部が判定した場合、前記マッピング記憶部に記憶されている識別データの中で時系列的に最も古い識別データが前記オーダ記憶部内に存在しないことを実行条件として、前記新規転送命令に対応したオブジェクトの識別データを前記マッピング記憶部に追加することを特徴とする請求項１または２に記載された画像プロセッサ。
【請求項４】
前記判定部は、
前記転送先メモリへのオブジェクトの転送と、前記転送先メモリからのオブジェクトの消去とによって変動する前記転送先メモリの残容量を管理するメモリ残容量管理部と、
前記メモリ残容量管理部によって管理されている前記残容量と、前記新規転送命令に対応したオブジェクトのデータ量とに基づいて、前記新規転送命令に対応したオブジェクトの転送によって前記転送先メモリの容量不足が生じるか否かを判定する容量判定部とを含み、
前記マッピング更新部は、前記容量判定部の判定結果に応じて、前記マッピング記憶部の記憶内容を更新することを特徴とする請求項１または２に記載された画像プロセッサ。
【請求項５】
前記マッピング更新部は、
前記新規転送命令に対応したオブジェクトの識別データが前記マッピング記憶部内に存在すると前記判定部が判定した場合、前記新規転送命令に対応したオブジェクトの識別データを前記マッピング記憶部に追加することを禁止し、
前記新規転送命令に対応したオブジェクトの識別データが前記マッピング記憶部内に存在しないと前記判定部が判定した場合、前記マッピング記憶部に記憶されている識別データの中で時系列的に最も古い識別データが前記オーダ記憶部内に存在しないことと、前記転送先メモリの容量不足が生じないと前記容量判定部が判定することとを実行条件として、前記新規転送命令に対応したオブジェクトの識別データを前記マッピング記憶部に追加することを特徴とする請求項４に記載された画像プロセッサ。
【請求項６】
前記転送回路は、前記転送元メモリに記憶された圧縮された画像データを伸長する伸長回路を含み、
前記容量判定部は、前記画像データを伸長することによって得られる伸長後のデータ量に基づいて、前記転送先メモリの容量不足が生じるか否かを判定することを特徴とする請求項４または５に記載された画像プロセッサ。
【請求項７】
前記識別データは、転送命令に対応したオブジェクトのそれぞれに付与される所定の上限付のインデックスであり、
前記判定部は、前記新規転送命令に対応したオブジェクトに対して新たに付与すべきインデックスが上限値を超えるか否かを判定する上限判定部を含み、
前記マッピング更新部は、前記上限判定部の判定結果に応じて、前記マッピング記憶部の記憶内容を更新することを特徴とする請求項１または２に記載された画像プロセッサ。
【請求項８】
前記マッピング更新部は、
前記新規転送命令に対応したオブジェクトの識別データが前記マッピング記憶部に存在すると前記判定部が判定した場合、前記新規転送命令に対応したオブジェクトのインデックスを前記マッピング記憶部に追加することを禁止し、
前記新規転送命令に対応したオブジェクトが前記転送先メモリ内に存在しないと前記判定部が判定した場合、前記マッピング記憶部に記憶されているインデックスの中で時系列的に最も古いインデックスが前記オーダ記憶部内に存在しないことと、前記新たに付与すべきインデックスが上限値を超えないと前記上限判定部が判定することとを実行条件として、前記新規転送命令に対応したオブジェクトのインデックスを前記マッピング記憶部に追加することを特徴とする請求項７に記載された画像プロセッサ。
【請求項９】
請求項１から８のいずれかに記載された画像プロセッサと、
前記画像プロセッサ内の前記転送回路に実行させるべき一連の転送命令と、前記画像プロセッサ内の前記描画回路に実行させるべき一連の描画命令とを生成する上位のプロセッサと、
前記一連の転送命令と、前記一連の描画命令とに基づいた処理を前記画像プロセッサが実行することによって生成された表示画像を表示する表示装置と
を有することを特徴とする画像生成システム。
【請求項１０】
前記転送元メモリは、前記画像プロセッサに外付けされており、
前記転送先メモリは、前記画像プロセッサに内蔵されていることを特徴とする請求項９に記載された画像生成システム。
【請求項１１】
一連の転送命令に応じて、転送元メモリに記憶されている画像データをオブジェクト単位で転送先メモリに順次転送するデータ転送方法において、
一連の転送命令の入力順序で転送命令のそれぞれに対応したオブジェクトの識別データを記憶するオーダ記憶部の記憶内容を、新たに入力された新規転送命令の入力時と、前記転送先メモリに転送されたオブジェクトを用いた描画処理の終了時とに更新するオーダ更新ステップと、
前記転送先メモリから消去すべきオブジェクトの消去順序で前記転送先メモリに転送されたそれぞれのオブジェクトの識別データを記憶するマッピング記憶部内に、前記新規転送命令に対応したオブジェクトの識別データが存在するか否かを判定することによって、第１の判定結果を得る第１の判定ステップと、
前記第１の判定結果と、前記オーダ記憶部の記憶内容の更新とに応じて、前記マッピング記憶部の記憶内容を更新するマッピング更新ステップと、
前記マッピング記憶部への識別データの追加に応じて、当該追加された識別データに対応したオブジェクトの転送を実行する実行ステップと
を有することを特徴とするデータ転送方法。
【請求項１２】
前記転送先メモリへのオブジェクトの転送と、前記転送先メモリからのオブジェクトの消去とによって変動する前記転送先メモリの残容量を管理する管理ステップと、
前記転送先メモリの前記残容量と、前記新規転送命令に対応したオブジェクトのデータ量とに応じて、前記新規転送命令に対応したオブジェクトの転送で前記転送先メモリの容量不足が生じるか否かを判定することによって、第２の判定結果を得る第２の判定ステップとをさらに有し、
前記マッピング更新ステップは、前記第２の判定結果に応じて、前記マッピング記憶部の記憶内容を更新することを特徴とする請求項１１に記載されたデータ転送方法。
【請求項１３】
前記識別データは、転送命令に対応したオブジェクトのそれぞれに付与される所定の上限付のインデックスであり、
前記新規転送命令に対応したオブジェクトに対して新たに付与すべきインデックスが上限値を超えるか否かを判定することによって、第３の判定結果を得る第３の判定ステップをさらに有し、
前記マッピング更新ステップは、前記第３の判定結果に応じて、前記マッピング記憶部の記憶内容を更新することを特徴とする請求項１１または１２に記載されたデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像プロセッサ、画像処理システムおよびデータ転送方法に係り、特に、転送元メモリから転送先メモリへの画像データの転送制御に関する。
【背景技術】
【０００２】
特許文献１には、上位のプロセッサ（ホストＣＰＵ）によって生成された一連の命令（コマンド）を一時的に格納するＦＩＦＯメモリを備えた画像プロセッサが開示されている。ＦＩＦＯメモリに格納された命令は、このＦＩＦＯメモリに書き込まれた順序（入力順序）で時系列的に古いものから読み出され、これに応じた描画処理が順次実行される。
【０００３】
【特許文献１】特開２００１−２９１０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上位のプロセッサによって生成される命令には、描画命令以外にも転送命令、すなわち、転送元メモリから転送先メモリへの画像データの転送（コピー）を指示する命令も存在する。転送命令を処理するデータ転送系に上述した従来技術を適用した場合、一連の転送命令の入力順序でＦＩＦＯメモリから転送命令が読み出され、これに応じた転送処理が順次実行される。しかしながら、このような単純なＦＩＦＯ化では、転送命令と転送実行とが１対１に対応しているため、すなわち、一つの転送命令によって指示された画像データの転送が必ず実行されるため、データ転送が頻繁に生じる。その結果、１回当たりのデータ転送量が増えるほど、または、データ転送頻度が高くなるほど、データ転送がボトルネックとなって、画像処理全体のスループットの低下を招く。
【０００５】
本発明はかかる事情に鑑みてなされたものであり、その目的は、転送元メモリから転送先メモリへの画像データの転送頻度を減らし、画像処理全体のスループットの向上を図ることである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するために、第１の発明は、画像プロセッサを提供する。この画像プロセッサは、転送回路と、描画回路と、転送制御回路とを有する。転送回路は、転送元メモリに記憶されている画像データをオブジェクト単位で転送先メモリに順次転送する。描画回路は、転送先メモリに記憶されたオブジェクトを用いた描画処理を行うことによって、出力すべき表示画像を生成する。転送制御回路は、転送回路におけるオブジェクトの転送を制御する。この転送制御回路は、オーダ記憶部と、マッピング記憶部と、オーダ更新部と、判定部と、マッピング更新部と、転送指示部とを有する。オーダ記憶部は、一連の転送命令の入力順序で、転送命令のそれぞれに対応したオブジェクトの識別データを記憶する。マッピング記憶部は、転送先メモリから消去すべきオブジェクトの消去順序で、転送先メモリに転送されたそれぞれのオブジェクトの識別データを記憶する。オーダ更新部は、新たに入力された一つの転送命令（新規転送命令）の入力時と、描画回路におけるオブジェクトの描画終了時とにおいて、オーダ記憶部の記憶内容を更新する。判定部は、新規転送命令に対応したオブジェクトの識別データがマッピング記憶部内に存在するか否かを判定する。マッピング更新部は、判定部の判定結果と、オーダ記憶部の記憶内容の更新とに応じて、マッピング記憶部の記憶内容を更新する。転送指示部は、マッピング記憶部に識別データが追加された場合、転送回路に対して、追加された識別データに対応したオブジェクトの転送実行を指示する。
【０００７】
ここで、第１の発明において、オーダ更新部は、新規転送命令の入力時に、この新規転送命令に対応したオブジェクトの識別データをオーダ記憶部に追加し、描画回路におけるオブジェクトの描画終了時に、この描画終了に対応したオブジェクトの識別データをオーダ記憶部から消去することが好ましい。
【０００８】
第１の発明において、マッピング更新部は、新規転送命令に対応したオブジェクトの識別データがマッピング記憶部内に存在すると判定部が判定した場合、新規転送命令に対応したオブジェクトの識別データをマッピング記憶部に追加することを禁止し、新規転送命令に対応したオブジェクトの識別データがマッピング記憶部内に存在しないと判定部が判定した場合、マッピング記憶部に記憶されている識別データの中で時系列的に最も古い識別データがオーダ記憶部内に存在しないことを実行条件として、新規転送命令に対応したオブジェクトの識別データをマッピング記憶部に追加することが好ましい。
【０００９】
第１の発明において、判定部は、転送先メモリへのオブジェクトの転送と、転送先メモリからのオブジェクトの消去とによって変動する転送先メモリの残容量を管理するメモリ残容量管理部と、メモリ残容量管理部によって管理されている残容量と、新規転送命令に対応したオブジェクトのデータ量とに基づいて、新規転送命令に対応したオブジェクトの転送で転送先メモリの容量不足が生じるか否かを判定する容量判定部とを含んでいてもよい。この場合、マッピング更新部は、容量判定部の判定結果も加味した上で、マッピング記憶部の記憶内容を更新する。
【００１０】
第１の発明において、マッピング更新部は、新規転送命令に対応したオブジェクトの識別データがマッピング記憶部内に存在すると判定部が判定した場合、新規転送命令に対応したオブジェクトの識別データをマッピング記憶部に追加することを禁止し、新規転送命令に対応したオブジェクトの識別データがマッピング記憶部内に存在しないと判定部が判定した場合、マッピング記憶部に記憶されている識別データの中で時系列的に最も古い識別データがオーダ記憶部内に存在しないことと、転送先メモリの容量不足が生じないと容量判定部が判定することとを実行条件として、新規転送命令に対応したオブジェクトの識別データをマッピング記憶部に追加することが好ましい。
【００１１】
第１の発明において、転送回路は、転送元メモリに記憶された圧縮された画像データを伸長する伸長回路を含み、容量判定部は、画像データを伸長することによって得られる伸長後のデータ量に基づいて、転送先メモリの容量不足が生じるか否かを判定することが好ましい。
【００１２】
第１の発明において、識別データは、転送命令に対応したオブジェクトのそれぞれに付与される所定の上限付のインデックスであってもよい。この場合、判定部は、新規転送命令に対応したオブジェクトに対して新たに付与すべきインデックスが上限値を超えるか否かを判定する上限判定部を含むことが好ましい。マッピング更新部は、上限判定部の判定結果も加味した上で、マッピング記憶部の記憶内容を更新する。すなわち、新規転送命令に対応したオブジェクトの識別データが転送先メモリ内に存在すると判定部が判定した場合、マッピング更新部は、新規転送命令に対応したオブジェクトのインデックスをマッピング記憶部に追加することを禁止する。これに対して、新規転送命令に対応したオブジェクトが転送先メモリ内に存在しないと判定部が判定した場合、マッピング更新部は、マッピング記憶部に記憶されているインデックスの中で時系列的に最も古いインデックスがオーダ記憶部内に存在しないことと、新たに付与すべきインデックスが上限値を超えないと上限判定部が判定することとを実行条件として、新規転送命令に対応したオブジェクトのインデックスをマッピング記憶部に追加する。
【００１３】
また、第２の発明は、上述した第１の発明に係る画像プロセッサと、上位のプロセッサと、表示装置とを有する。上位のプロセッサは、画像プロセッサ内の転送回路に実行させるべき一連の転送命令と、画像プロセッサ内の描画回路に実行させるべき一連の描画命令とを生成する。表示装置は、一連の転送命令と、一連の描画命令とに基づいた処理を画像プロセッサが実行することによって生成された表示画像を表示する。
【００１４】
ここで、第２の発明において、転送元メモリは、画像プロセッサに外付けされており、転送先メモリは、画像プロセッサに内蔵されていてもよい。
【００１５】
さらに、第３の発明は、一連の転送命令に応じて、転送元メモリに記憶されている画像データをオブジェクト単位で転送先メモリに順次転送するデータ転送方法を提供する。このデータ転送方法では、オーダ記憶部およびマッピング記憶部が用いられる。オーダ記憶部は、一連の転送命令の入力順序で転送命令のそれぞれに対応したオブジェクトの識別データを記憶する。マッピング記憶部は、転送先メモリから消去すべきオブジェクトの消去順序で転送先メモリに転送されたそれぞれのオブジェクトの識別データを記憶する。また、このデータ転送方法は、オーダ更新ステップ、第１の判定ステップ、マッピング更新ステップおよび実行ステップという４つのステップを含んでいる。まず、オーダ更新ステップでは、新たに入力された新規転送命令の入力時と、転送先メモリに転送されたオブジェクトを用いた描画処理の終了時とに、オーダ記憶部の記憶内容が更新される。第１の判定ステップでは、マッピング記憶部内に新規転送命令に対応したオブジェクトの識別データが存在するか否かが判定され、これによって、第１の判定結果が得られる。マッピング更新ステップでは、第１の判定結果と、オーダ記憶部の記憶内容の更新とに応じて、マッピング記憶部の記憶内容が更新される。そして、実行ステップでは、マッピング記憶部への識別データの追加に応じて、この追加された識別データに対応したオブジェクトの転送が実行される。
【００１６】
ここで、第３の発明において、上述した４つのステップに加えて、管理ステップおよび第２の判定ステップを追加してもよい。管理ステップでは、転送先メモリへのオブジェクトの転送と、転送先メモリからのオブジェクトの消去とによって変動する転送先メモリの残容量が管理される。また、第２の判定ステップでは、転送先メモリの残容量と、新規転送命令に対応したオブジェクトのデータ量とに応じて、新規転送命令に対応したオブジェクトの転送によって転送先メモリの容量不足が生じるか否かが判定され、これによって、第２の判定結果が得られる。この場合、上述したマッピング更新ステップでは、第２の判定結果も加味した上で、マッピング記憶部の記憶内容が更新される。
【００１７】
第３の発明において、転送命令に対応したオブジェクトのそれぞれに付与される所定の上限付のインデックスを上記識別データとして用いる場合、第３の判定ステップを追加してもよい。第３の判定ステップでは、新規転送命令に対応したオブジェクトに対して新たに付与すべきインデックスが上限値を超えるか否かが判定され、これによって、第３の判定結果が得られる。この場合、マッピング更新ステップでは、第３の判定結果も加味した上で、マッピング記憶部の記憶内容が更新される。
【発明の効果】
【００１８】
本発明では、転送先メモリのキャッシュ管理を行うために、一連の転送命令の入力順序で転送対象となるオブジェクトを管理するオーダ記憶部と、転送先メモリに転送されたオブジェクトを消去順序で管理するマッピング記憶部とを用いる。キャッシュすべきオブジェクトの判定は、新規転送命令に対応したオブジェクトの識別データがマッピング記憶部内に存在するか否かによって行われる。ある描画処理で必要とされたオブジェクトがその後の描画処理においても再度必要とされる場合、そのオブジェクトを転送先メモリから消去することなくキャッシュしておく。そして、キャッシュされているオブジェクトを転送対象としたその後の転送命令については、その転送を実際に行うことなくキャンセルする。これにより、転送元メモリから転送先メモリへのデータ転送頻度を減らせるので、画像処理全体のスループットの向上を図ることが可能となる。
【発明を実施するための最良の形態】
【００１９】
（第１の実施形態）
図１は、第１の実施形態に係る画像表示システムの全体的なブロック構成図である。この画像表示システムは、ＣＰＵ１（ＣＰＵ：Central Processing Unit）と、ＲＯＭ２（ＲＯＭ：Read Only Memory）と、画像プロセッサ３と、表示装置４とを主体に構成されている。ＣＰＵ１は、画像プロセッサ３の上位に位置するプロセッサであり、画像プロセッサ３に実行させるべき一連の命令群（コマンドリスト）を生成する。この命令群は、転送元メモリから転送先メモリへの画像データの転送手順を規定する一連の転送命令（転送リスト）と、転送先メモリに格納された画像データを用いた描画手順を規定する一連の描画命令（ディスプレイリスト）とを含む。
【００２０】
ここで、画像データの転送は、予め定義されたグループ（画素データの集合）毎に行われるが、この転送単位となるグループを以下「オブジェクト」と呼ぶ。オブジェクトは、転送先メモリへの転送単位であるとともに、転送先メモリに格納された画像データを消去する際の消去単位でもある。また、画像プロセッサ３に外付けされたＲＯＭ２（転送元メモリ）には、画像データ（多数のオブジェクト）が圧縮形式または非圧縮形式で記憶されている。一方、本実施形態において、オブジェクトの転送先となるＲＡＭ６（ＲＡＭ：Random Access Memory）は、画像プロセッサ３に内蔵されている。なお、オブジェクトの転送先となるＲＡＭ６は、表示画像の格納先となるフレームバッファ１０と論理的に同一のメモリであってもよい。画像プロセッサ３は、一連の転送命令にしたがって、ＲＯＭ２からＲＡＭ６へのオブジェクトの転送処理を順次実行する。それとともに、画像プロセッサ３は、一連の描画命令にしたがって、ＲＡＭ６に既に格納されているオブジェクトを用いた描画処理を順次実行する。これによって生成された表示画像がフレーム単位で表示装置４に出力・表示される。
【００２１】
画像プロセッサ３は、転送回路５と、ＲＡＭ６と、転送制御回路７と、管理テーブル８と、描画回路９と、フレームバッファ１０と、表示回路１１と、インターフェイス３ａ〜３ｄとを主体に構成されている。転送回路５は、転送制御回路７の制御下で、ＲＯＭ２に記憶されているオブジェクトをメモリインターフェイス３ａを介して読み出し、これをメモリインターフェイス３ｃを介してＲＡＭ６に書き込む（オブジェクト転送）。なお、転送対象となるオブジェクトが適宜の圧縮手法によって圧縮（エンコード）されている場合、転送回路５が備える伸張回路５ａによって伸張処理（デコード）が施され、伸長されたオブジェクトがＲＡＭ６に書き込まれる。
【００２２】
転送制御回路７は、一連の転送命令が記述された転送リストを取得し、これに基づいて、オブジェクトの転送実行を転送回路５に指示する。転送リストは、画像プロセッサ３に外付けされた読み書き可能なメモリ（図示せず）、または、画像プロセッサ３に内蔵されたメモリ（例えばＲＡＭ６）に格納されている。転送制御回路７は、メモリインターフェイス３ａ（または３ｃ）、転送回路５を介して、転送リストを適宜取得する。なお、本実施形態の主たる特徴は、転送制御回路７の構成およびその動作にあるので、この点については後に詳述する。
【００２３】
管理テーブル８は、転送回路５における転送状態を示すステータス（転送未終了または転送終了）をオブジェクト単位で管理する。この管理テーブル８の記述内容は、オブジェクトの転送処理が終了する毎に、転送回路５からの指示によって更新される。また、この記述内容は、後述するマッピング記憶部７４のインデックスが消去される毎に、転送制御回路７からの指示によっても更新される。
【００２４】
描画回路９は、転送先メモリであるＲＡＭ６に記憶されたオブジェクトを用いた描画処理を行うことによって、出力すべき表示画像を生成する。具体的には、描画回路９は、管理テーブル８を参照して、ある描画命令の実行に必要なオブジェクトの転送が既に終了していること（それゆえにＲＡＭ６に既に格納されている）を確認した上で、その描画命令に応じた描画処理を行う。一連の描画命令に応じた描画処理を経て最終的に生成された１フレーム分の表示画像は、バッファインターフェイス３ｄを介して、フレームバッファ１０に格納される。描画回路９は、一つの描画命令に対応した描画処理が終了する毎に、ワンショットパルスを出力する。これによって、あるオブジェクトを用いた一つの描画処理が終了した旨が転送制御回路７に通知される。
【００２５】
表示回路１１は、表示装置４の表示制御と同期して、フレームバッファ１０に格納されている１フレーム分の表示画像をバッファインターフェイス３ｄを介して読み出し、表示装置４に出力する。これによって、１フレーム分の表示画像が表示装置４に表示される。
【００２６】
図２は、転送制御回路７の詳細なブロック構成図である。この転送制御回路７は、判定部７１と、オーダ記憶部７２と、オーダ更新部７３と、マッピング記憶部７４と、マッピング更新部７５と、転送指示部７６とで構成されている。本実施形態では、オーダ記憶部７２およびマッピング記憶部７４として、オブジェクトの識別データ（インデックス）を所定数だけ記憶できるＦＩＦＯメモリ（ＦＩＦＯ：First-In First-Out）を用いる。オーダ記憶部７２は、一連の転送命令の入力順序で、転送命令のそれぞれに対応したオブジェクトのインデックスを記憶する。マッピング記憶部７４は、ＲＡＭ６からから消去すべきオブジェクトの消去順序で、ＲＡＭ６に転送されたそれぞれのオブジェクトのインデックスを記憶する。
【００２７】
ここで、「インデックス」とは、転送制御系（これ以外の制御系との共用も可）において、オブジェクトを識別する識別データの一種である。同じオブジェクトに対しては同一のインデックス値が付与され、異なるオブジェクトに対しては異なるインデックス値が付与される。オーダ更新部７３は、新たに入力された転送命令の入力時と、描画回路９におけるオブジェクトの描画終了時とにおいて、オーダ記憶部７２の記憶内容の更新、すなわち、インデックスの追加または消去を行う。判定部７１は、新たに入力された転送命令に対応したオブジェクトのインデックスがマッピング記憶部７４内に存在するか否かを判定する（キャッシュ判定）。マッピング更新部７５は、判定部７１の判定結果と、オーダ記憶部７２の記憶内容の更新とに応じて、マッピング記憶部７４の記憶内容の更新、すなわち、インデックスの追加または消去を行う。これによって、ＲＡＭ６にキャッシュしておくべきオブジェクトが管理される。転送指示部７６は、マッピング記憶部７４にインデックスが追加される場合、マッピング更新部７５からの指示に応じて、この追加されたインデックスに対応したオブジェクトの転送実行を転送回路５に指示する。
【００２８】
本実施形態において、判定部７１は、上述したキャッシュ判定以外のみならずＲＡＭ６の残容量判定も行っており、そのために、メモリ残容量管理部７１ａおよび容量判定部７１ｂを含んでいる。メモリ残容量管理部７１ａは、ＲＡＭ６の現在の残容量を管理する。この残容量は、当然ながら、ＲＡＭ６へのオブジェクトの転送と、ＲＡＭ６からのオブジェクトの消去とによって変動する。また、容量判定部７１ｂは、メモリ残容量管理部７１ａによって管理されている残容量と、新たに入力された転送命令に対応したオブジェクトのデータ量（この値自体は既知）とに基づいて、この転送命令に対応したオブジェクトの転送によってＲＡＭ６の容量不足が生じるか否かを判定する（残容量判定）。なお、転送対象となるオブジェクトが圧縮形式の場合、残容量判定は、伸長後のデータ量に基づいて行われる。マッピング更新部７５は、上述したキャッシュ判定の結果と、残容量判定の結果とに応じて、マッピング記憶部７４の記憶内容を更新する。
【００２９】
図３は、転送制御回路７における転送制御のフローチャートである。ここで、１フレーム分の表示画像を生成するために、ｎ個（ｎは自然数）のオブジェクトを転送する必要があるものとし、最初に処理されるオブジェクトから順に、ＯＢＪ1，ＯＢＪ2，・・・，ＯＢＪnとする。また、オーダ記憶部７２およびマッピング記憶部７４は、次フレームに処理が移行しても、前フレームの記憶内容をそのまま保持する。
【００３０】
まず、ステップ１において、あるオブジェクトの転送を指示する一つの転送命令が判定部７１に入力される（転送命令の受付）。以下、このステップ１で新たに入力された一つの転送命令を「新規転送命令」と定義する。また、この新規転送命令によって指示された転送対象を「新規オブジェクト」と定義する。新規オブジェクトは、１フレームの初回処理ではオブジェクトＯＢＪ1であるが、それ以降、ＯＢＪ2，ＯＢＪ3，・・・，ＯＢＪnの如く、順次インクリメントされていく。
【００３１】
つぎに、ステップ２において、判定部７１は、チェック処理を実行する。図４は、このチェック処理の詳細なフローチャートである。まず、ステップ２０において、判定部７１は、上述したように定義された新規オブジェクトＯＢＪ1のインデックスがマッピング記憶部７４に存在するか否かを判定する（キャッシュ判定）。マッピング記憶部７４の記憶内容は、ＲＡＭ６に転送済かつ未消去のオブジェクト、すなわち、ＲＡＭ６内に現に保持されているオブジェクトを示している。新規オブジェクトＯＢＪ1のインデックス（実際には、それ以前に転送された同一オブジェクトのインデックス）がマッピング記憶部７４内に存在するということは、このオブジェクトがＲＡＭ６にキャッシュされているを表している。これに対して、このインデックスがマッピング記憶部７４内に存在しないということは、新規オブジェクトＯＢＪ1がＲＡＭ６にキャッシュされていないことを表している。
【００３２】
なお、マッピング記憶部７４の参照に代えて、ＲＡＭ６内のオブジェクトの保持状態を管理するテーブルの類いを別個設け、これを参照して上記キャッシュ判定を行ってもよい。テーブル等の記述内容がマッピング記憶部７４の記憶内容と等価に維持される限り、テーブル等を参照する手法は、マッピング記憶部７４を参照する手法と実質的に何ら異なるものではない。したがって、当然ながら、このような参照手法も本発明の範疇に含まれる。
【００３３】
ステップ２０で肯定判定された場合、すなわち、ＲＡＭ６に新規オブジェクトＯＢＪ1がキャッシュされている場合、オーダ更新部７３は、ステップ２１の更新処理を行う。すなわち、新規オブジェクトＯＢＪ1と同一のオブジェクトに関して既に採番されたインデックス（採番済インデックス）が、転送命令の入力順序で時系列的に最も新しいものとして、オーダ記憶部７２に追加される。そして、図３に示したステップ３からステップ７までの処理をスキップして、後述するステップ８に進む。これらの処理のスキップは、キャッシュ済のオブジェクトに対応した新規転送命令については、マッピング記憶部７４に新規オブジェクトのインデックスを追加することが禁止され、結果的に、転送処理が実行されないことを意味する。
【００３４】
これに対して、ステップ２０で否定判定された場合、すなわち、ＲＡＭ６に新規オブジェクトＯＢＪ1がキャッシュされていない場合、オーダ更新部７３は、ステップ２３，２４の更新処理を行う。すなわち、新規オブジェクトＯＢＪ1のインデックスが新たに採番され（ステップ２３）、このインデックスが、一連の転送命令の入力順序で時系列的に最も新しいものとして、オーダ記憶部７２に追加される（ステップ２４）。そして、図３に示したステップ３に進む。
【００３５】
ステップ３において、判定部７１の一部である容量判定部７１ｂは、新規オブジェクトＯＢＪ1の転送に際して、ＲＡＭ６のメモリ容量が十分であるか否かを判定する。ＲＡＭ６の現在の残容量Ｘは、メモリ残容量管理部７１ａによって管理されている。この管理部７１ａは、事前に一括で提示された情報、或いは、随時提示される情報に基づいて、新規オブジェクトＯＢＪ1のデータ量ｘ1を特定し、ＲＡＭ６へのオブジェクトの転送時とＲＡＭ６からのオブジェクトの消去時とにおいて、残容量Ｘを随時更新する。容量判定部７１ｂは、メモリ残容量管理部７１ａによって管理されている現在の残容量Ｘが新規オブジェクトＯＢＪ1のデータ量ｘ1以上であるか否かを判定する。
【００３６】
ステップ３で肯定判定された場合（Ｘ≧ｘ１）、すなわち、新規オブジェクトＯＢＪ1を転送してもＲＡＭ６の容量不足が生じない場合、ステップ５以降の処理が行われる。まず、ステップ５において、メモリ残容量管理部７１ａは、ＲＡＭ６の残容量Ｘからデータ量ｘ１を減算し、この演算結果を新たな残容量Ｘとする。続くステップ６において、マッピング更新部７５は、新規オブジェクトＯＢＪ1のインデックス（ステップ２３で新規採番）を、オブジェクトの消去順序で時系列的に最も新しいものとして、マッピング記憶部７４に追加する。ステップ７において、転送指示部７６は、転送回路５に対して、今回追加したインデックスに対応したオブジェクトの転送実行を指示する。これによって、指示されたオブジェクトがＲＯＭ２からＲＡＭ６に転送される。そして、後述するステップ８に進む。
【００３７】
これに対して、ステップ３で否定判定された場合（Ｘ＜ｘ１）、すなわち、新規オブジェクトＯＢＪ1を転送するとＲＡＭ６の容量不足が生じる場合、判定結果が否定から肯定に切り替わるまで、ステップ３，４のループが繰り返される（待機状態）。この待機状態において、メモリ残容量管理部７１ａによって管理される残容量Ｘは、マッピング記憶部７４からインデックスが消去される毎に随時更新される。具体的には、消去されるインデックスに対応したオブジェクトのデータ量ｘ2が残容量Ｘに加算され、この演算結果が新たな残容量Ｘとなる。そして、ステップ３の条件を満たした時点で、本ループを抜けてステップ５に進む。
【００３８】
ステップ４では、オブジェクト消去処理が行われる。図５は、このオブジェクト消去処理の詳細なフローチャートである。ステップ４１において、判定部７１は、マッピング記憶部７４に記憶されているインデックス列のうち、時系列的に最も古い先頭インデックスを取得する。この先頭インデックスは、ＲＡＭ６に現在記憶されているオブジェクトの中で最も早く消去すべきもの、換言すれば、現時点で消去対象となっているオブジェクトを示している。
【００３９】
つぎに、ステップ４２において、判定部７１は、オーダ記憶部７２に記憶されているインデックス列（オーダインデックス列）の中に、先頭インデックスが存在するか否かを判定する。オーダ記憶部７２は、現在および近い将来に必要されるオブジェクトを管理している。先頭インデックスがオーダ記憶部７２に存在するケースとしては、以下の２つのケースが想定される。
【００４０】
（ケース１）描画処理が未終了の場合
先頭インデックスに対応したオブジェクトは転送済であるが、この転送済オブジェクトを用いた描画処理が終了していない場合である。この場合、描画処理が完了して、オーダインデックス列から先頭インデックスが消去されるまで、これに対応したオブジェクトをＲＡＭ６に保持しておかなければならない。
（ケース２）キャッシュすべき場合
転送済オブジェクトを用いた描画処理は終了したものの、その後の描画処理において、このオブジェクトが再利用される場合である。この場合、典型的にはオーダインデックス列中に先頭インデックスが複数存在し得るが、これらのすべてが消去されるまで、これに対応したオブジェクトをＲＡＭ６に保持しておかなければならない。
【００４１】
ステップ４２で否定判定された場合にはステップ４３に進む。これに対して、このステップ４２で肯定判定された場合には、判定結果が肯定から否定に切り替わるまでステップ４２が繰り返されるループ状態、すなわち、マッピング記憶部７４の先頭インデックスを保持し続ける待機状態となる。この状態において、オーダ記憶部７２の記憶内容は、描画回路９からの描画終了通知によって随時更新される。具体的には、描画回路９からのワンショットパルス毎に、この描画終了に対応したオブジェクトのインデックス（その時点で時系列的に最も古いインデックス）がオーダインデックス列から消去される。そして、ステップ４２の条件を満たした時点で、本ループを抜けてステップ４３に進む。
【００４２】
ステップ４３において、メモリ残容量管理部７１ａは、ＲＡＭ６の残容量Ｘに先頭インデックスによって特定されるオブジェクトのデータ量ｘ3を加算し、この演算結果を新たな残容量Ｘとする。続くステップ４４において、マッピング更新部７５は、先頭インデックスをマッピング記憶部７４から消去する。このインデックス消去は、先頭インデックスによって特定されるオブジェクトをＲＡＭ６にもはや保持しておく必要がないこと、すなわち、このオブジェクトが格納されていたＲＡＭ６の記憶領域を開放することを意味する。そして、図３のステップ３に再び戻り、ステップ３の条件を満たすことを前提にステップ５〜７の処理が実行された後、ステップ８に進む。
【００４３】
ステップ８において、判定部７１は、新規オブジェクトＯＢＪ1が最後のオブジェクトであるか否かを判定する。新規オブジェクトが最初のオブジェクトＯＢＪ1の場合（初回処理時）には、ステップ８の否定判定を経てステップ１に戻り、２番目のオブジェクトＯＢＪ2を新たな新規オブジェクトとした処理が上述した手順にしたがって実行される。以後、新規オブジェクトを順次インクリメントしながら同様の処理が繰り返される。そして、最後のオブジェクトＯＢＪnの処理が終了した場合、ステップ８の判定結果が否定から肯定に切り替わる。これによって、１フレームの表示画像を生成するために必要なすべてのオブジェクトの転送処理が終了する。
【００４４】
上述した転送制御処理の特徴をまとめると、以下のようになる。
（特徴１）キャッシュ機能の実現
新規転送命令の転送対象である新規オブジェクトがＲＡＭ６にキャッシュされている場合、ステップ２０の肯定判定によってステップ５〜７がスキップされる。これにより、マッピング記憶部７４に新規オブジェクトのインデックスを追加することが禁止され、新規オブジェクトの転送自体がキャンセルされる。新規オブジェクトを用いた描画処理は、既にキャッシュされているものを用いれば足りるので、転送をあらためて行う必要はないからである。一方、新規オブジェクトがＲＡＭ６にキャッシュされていない場合、所定の実行条件を満たした時点で、マッピング記憶部７４に新規オブジェクトのインデックスが追加される。この特徴１のみに着目した場合、その実行条件は、（条件１）先頭インデックスがオーダ記憶部７２内に存在しないことである。
【００４５】
（特徴２）ＲＡＭ６の容量不足対応
新規転送命令の転送対象である新規オブジェクトをＲＡＭ６に転送すると容量が不足する場合、容量不足が解消するまでステップ３，４のループが繰り返される。これにより、容量不足時には、新規転送命令を受け付けても新規オブジェクトの転送が保留される。上述した特徴１に本特徴２を付加する場合、その実行条件は、上述した条件１、および、（条件２）新規オブジェクトを転送してもＲＡＭ６の容量不足が生じないと容量判定部７１ｂが判定することである。
【００４６】
つぎに、図６に示したケースを参照しながら、本実施形態に係る転送制御の具体的なケースについて説明する。本ケースでは、５つの転送命令によって、Ａ，Ｂ，Ｃ，Ｂ，Ｄの順にオブジェクトの転送が指示されるものとする。また、説明を簡略化するために、オブジェクトＡ，Ｃ，Ｄのデータ量を「１」、オブジェクトＢのデータ量を「２」、ＲＡＭ６の総容量を「３」とし、初期状態（タイミングｔ0）では、オーダ記憶部７２およびマッピング記憶部７４に何も記憶されていないものとする。なお、各記憶部７２，７４は、最大で５個のインデックスを格納でき、インデックス列の左側（先頭）に向かうほど時系列的に古いインデックスとなる。
【００４７】
タイミングｔ1において、オブジェクトＡ（データ量＝「１」）の転送を指示する最初の転送命令が入力される。このオブジェクトＡのインデックスａは、マッピング記憶部７４に存在しない。したがって、オーダ記憶部７２のインデックス列の最後尾（最も右側）にインデックスａが追加される（ステップ２０＝No，ステップ２３，２４）。また、ＲＡＭ６には、データ量「１」のオブジェクトＡを格納できるだけの残容量Ｘ（＝「３」）が存在する。したがって、残容量Ｘが「３」から「２」に更新される（ステップ３＝Yes，ステップ５）。そして、マッピング記憶部７４のインデックス列の最後尾にインデックスａが追加された後、ＲＯＭ２に格納されているオブジェクトＡがＲＡＭ６に転送される（ステップ６，７）。
【００４８】
つぎに、タイミングｔ2において、オブジェクトＢ（データ量＝「２」）の転送を指示する２番目の転送命令が入力される。このオブジェクトＢのインデックスｂは、マッピング記憶部７４に存在しない。したがって、オーダ記憶部７２のインデックス列の最後尾にインデックスｂが追加される（ステップ２０＝No，ステップ２３，２４）。また、ＲＡＭ６には、データ量「２」のオブジェクトＢを格納できるだけの残容量Ｘ（＝「２」）が存在する。したがって、残容量Ｘが「２」から「０」に更新される（ステップ３＝Yes，ステップ５）。そして、マッピング記憶部７４のインデックス列の最後尾にインデックスｂが追加された後、ＲＯＭ２に格納されているオブジェクトＢがＲＡＭ６に転送される（ステップ６，７）。
【００４９】
続くタイミングｔ3において、オブジェクトＣ（データ量＝「１」）の転送を指示する３番目の転送命令が入力される。このオブジェクトＣのインデックスｃは、マッピング記憶部７４に存在しない。したがって、オーダ記憶部７２のインデックス列の最後尾にインデックスｃが追加される（ステップ２０＝No，ステップ２３，２４）。しかしながら、ＲＡＭ６には、データ量「１」のオブジェクトＣを格納できるだけの残容量Ｘ（＝「０」）が存在しない。したがって、マッピング記憶部７４の先頭インデックスａがオーダ記憶部７２のインデックス列に存在しなくなるまで待機状態になる（ステップ３＝No，ステップ４２（ループ））。
【００５０】
そして、タイミングｔ4において、描画終了の通知を受けると、この描画処理で用いられたオブジェクトＡのインデックスａがオーダ記憶部７２より消去される。これによって、待機状態が解消されて、残容量Ｘが「０」から「１」に更新されるとともに、先頭インデックスａがマッピング記憶部７４から消去される（ステップ４２（ループ抜），ステップ４３，４４）。また、ＲＡＭ６には、データ量「１」のオブジェクトＣを格納できるだけの残容量Ｘ（＝「１」）が存在する。したがって、残容量Ｘが「１」から「０」に更新される（ステップ３＝No→Yes，ステップ５）。そして、マッピング記憶部７４のインデックス列の最後尾にインデックスｃが追加された後、ＲＯＭ２に格納されているオブジェクトＣがＲＡＭ６に転送される（ステップ６，７）。
【００５１】
タイミングｔ5において、オブジェクトＢ（データ量＝「２」）の転送を指示する４番目の転送命令が入力される。このオブジェクトＢのインデックスｂは、マッピング記憶部７４に既に存在する（キャッシュされている）。したがって、オーダ記憶部７２のインデックス列の最後尾にインデックスｂが追加される（ステップ２０＝Yes，ステップ２１）。しかしながら、マッピング記憶部７４の更新は行われない。
【００５２】
タイミングｔ6において、オブジェクトＤ（データ量＝「１」）の転送を指示する最後の転送命令が入力される。このオブジェクトＤのインデックスｄは、マッピング記憶部７４に存在しない。したがって、オーダ記憶部７２のインデックス列の最後尾にインデックスｄが追加される（ステップ２０＝No，ステップ２３，２４）。しかしながら、ＲＡＭ６には、データ量「１」のオブジェクトＤを格納できるだけの残容量Ｘ（＝「０」）が存在しない。したがって、マッピング記憶部７４の先頭インデックスｂがオーダ記憶部７２のインデックス列に存在しなくなるまで待機状態になる（ステップ３＝No，ステップ４２（ループ））。
【００５３】
タイミングｔ7において、描画終了の通知を受けると、この描画処理で用いられたオブジェクトＢのインデックスｂがオーダ記憶部７２より消去される。しかしながら、オーダ記憶部７２のインデックス列にはインデックスｂがもう一つ存在するので、待機状態が継続される（ステップ４２（ループ））。これにより、オブジェクトｂは、ＲＡＭ６から消去されることなく、キャッシュすべきオブジェクトとして引き続き保持される。
【００５４】
タイミングｔ8において、描画終了の通知を再度受けると、この描画処理で用いられたオブジェクトＣのインデックスｃがオーダ記憶部７２より消去される。しかしながら、オーダ記憶部７２のインデックス列にはインデックスｂが未だ存在するので、待機状態が継続される（ステップ４２（ループ））。これにより、オブジェクトｂは、ＲＡＭ６から消去されることなく、キャッシュすべきオブジェクトとして引き続き保持される。
【００５５】
そして、タイミングｔ9において、描画終了の通知を再々度受けると、この描画処理で用いられたオブジェクトＢのインデックスｂがオーダ記憶部７２より消去される。これによって、先頭インデックスｂがオーダ記憶部７２に存在しなくなるので、待機状態が解消される（ステップ４２（ループ抜））。そして、残容量Ｘが「０」から「２」に更新され、先頭インデックスｂがマッピング記憶部７４から消去される（ステップ４３，４４）。また、この時点において、ＲＡＭ６には、データ量「１」のオブジェクトＤを格納できるだけの残容量Ｘ（＝「２」）が存在する。したがって、残容量Ｘが「２」から「１」に更新される（ステップ３＝No→Yes，ステップ５）。そして、マッピング記憶部７４のインデックス列の最後尾にインデックスｄが追加された後、ＲＯＭ２に格納されているオブジェクトＣがＲＡＭ６に転送される（ステップ６，７）。以上のような手順で、１フレームの表示画像を生成するのに必要なすべてのオブジェクトＡ〜Ｄの転送制御が行われる。
【００５６】
このように、本実施形態では、一連の転送命令の入力順序で転送対象となるオブジェクトを管理するオーダ記憶部７２と、ＲＡＭ６に転送されたオブジェクトを消去順序で管理するマッピング記憶部７４とを用いて、ＲＡＭ６にキャッシュしておくべきオブジェクトを管理する。この管理下において、ある描画処理で必要とされたオブジェクトがその後の描画処理においても再度必要とされる場合、そのオブジェクトをＲＡＭ６から消去することなくキャッシュしておく。そして、キャッシュされているオブジェクトを転送対象としたその後の転送命令については、その転送を実際に実行することなくキャンセルする。これにより、ＲＯＭ２からＲＡＭ６へのデータ転送頻度を減らせるので、画像処理全体のスループットの向上を図ることが可能となる。また、キャッシュしておく必要がなくなったオブジェクトについてはＲＡＭ６から随時消去される。したがって、ＲＡＭ６のメモリ容量の浪費を抑制できるので、システムリソースの有効活用が可能になる。
【００５７】
また、本実施形態によれば、オブジェクトの転送によってＲＡＭ６の容量不足が生じる状況下でも有効に対応することができる。一般に、画像プロセッサ３に内蔵されたＲＡＭ６を転送先メモリとして用いる場合、これを外付けする場合と比較して、システムリソース（メモリ容量）の制約が厳しい。したがって、本実施形態によれば、特に内蔵型の転送先メモリを用いる場合、システムリソースを効率的に活用することが可能になる。
【００５８】
なお、上述した実施形態では、画像プロセッサ３に外付けされたＲＯＭ２を転送元メモリとして用い、画像プロセッサ３に内蔵されたＲＡＭ６を転送先メモリとして用いたシステムについて説明した。しかしながら、本発明はこれに限定されるものではなく、転送先メモリが画像プロセッサ３が外付けされたシステムに対しても広く適用可能である。
【００５９】
また、上述した実施形態では、転送先メモリのキャッシュ機能のみならず、転送先メモリの容量不足にも対応可能な転送制御を行っている。しかしながら、容量不足対応は省略して、キャッシュ機能のみに着目した転送制御を行ってもよい。
【００６０】
この場合の具体的な転送制御は、以下のようになる。まず、判定部７１は、新規転送命令に対応したオブジェクトのインデックスがマッピング記憶部７４に存在するか否かだけを判定する。したがって、判定部７１は、メモリ残容量管理部７１ａと、容量判定部７１ｂとを備える必要はない。そして、新規転送命令に対応したオブジェクトのインデックスがマッピング記憶部７４内に存在すると判定された場合、マッピング更新部７５は、このインデックスをマッピング記憶部７４に追加することを禁止する。これに対して、新規転送命令に対応したオブジェクトのインデックスがマッピング記憶部７４内に存在しないと判定された場合、上述した条件１を実行条件として、新規転送命令に対応したオブジェクトのインデックスをマッピング記憶部７４に追加する。
【００６１】
なお、上述した２つのバリエーションに関しては、後述する第２の実施形態についても同様である。
【００６２】
さらに、上述した実施形態では、オブジェクトを識別するための識別データとして、転送制御系で付与・管理されるインデックスを用いる例について説明した。しかしながら、識別データは、オブジェクトを識別し得るデータであれば足り、インデックスに限定されるものではない。インデックス以外の識別データとしては、例えば、転送元メモリにおけるオブジェクトの格納先を示す代表アドレスが挙げられる。
【００６３】
（第２の実施形態）
上述した第１の実施形態は、有効活用すべきシステムリソースの一例として、ＲＡＭ６のメモリ容量に着目しているが、このようなリソースの範疇に属するものとしては、インデックスも考えられる。一般に、インデックスは所定のビット数で表現されるので、同時に使用できるインデックスの上限値は、このビット数相当に自ずと限定される。例えば、５ビット表現の場合、同時に使用できるインデックスの上限値は３２といった如くである。したがって、同時に管理すべきオブジェクト（異種のもの）が上限値を超える場合には、もはや付与すべき値が存在せず、システムリソース不足が生じる。本実施形態は、このような上限付のインデックスを有効に活用するための転送制御に関する。なお、画像表示システムの全体的な構成については、図１と同様である。
【００６４】
図７は、第２の実施形態に係る転送制御回路７の詳細なブロック構成図である。この転送制御回路７の特徴は、図２の構成に加えて、判定部７１が上限判定部７１ｃを含む点である。この上限判定部７１ｃは、新規転送命令に対応したオブジェクトに対して新たに付与すべきインデックスが上限値を超えるか否かを判定する。そして、マッピング更新部７５は、上限判定部７１ｃの判定結果に応じて、マッピング記憶部７４の記憶内容を更新する。なお、これ以外の点については、第１の実施形態と同様であるから、図２に示した符号と同一の符号を付して、ここでの説明を省略する。
【００６５】
図８は、第２の実施形態に係るチェック処理のフローチャートである。図３に示した転送制御のフローチャートおよび図５に示したオブジェクト消去処理のフローについては、第１の実施形態と同様である。図８に示したチェック処理の特徴は、ステップ２０とステップ２３との間に、新規転送命令に対応したオブジェクトに付与すべきインデックスが上限値以内であるか否かの判定を設けた点にある（ステップ２２）。
【００６６】
具体的には、ステップ２０で否定判定された場合には、ステップ２２に進み、上限判定部７１ｃは、新規オブジェクトに付与すべきインデックスが上限値以内であるか否かを判定する。このステップ２２で肯定判定された場合には、新規オブジェクトのインデックスを新たに採番した後、このインデックスがオーダ記憶部７２に追加される（ステップ２３，２４）。これに対して、ステップ２２で否定判定された場合、すなわち、インデックスの上限値を超える場合には、第１の実施形態で説明したオブジェクト消去処理が行われた後（ステップ４）、ステップ３に戻る。そして、インデックスが上限値以内になった時点で、ステップ３の判定結果が否定から肯定に切り替わって、ステップ２２，４のループを抜ける。なお、これ以外の点については図４の処理手順と同様であるから、図４に示したステップ番号を同一の番号を付して、ここでの説明を省略する。
【００６７】
本実施形態に係る転送制御処理の特徴としては、第１の実施形態で挙げた２つの特徴１，２に加えて、以下の特徴３がある。
（特徴３）インデックス不足対応
新規転送命令の転送対象である新規オブジェクトに対して付与すべきインデックスが不足している場合、インデックス不足が解消するまでステップ２２，４のループが繰り返される。これにより、インデックス不足時には、新規転送命令を受け付けてもインデックスの付与が保留される。上述した特徴１，２を本特徴３を付加する場合、その実行条件は、上述した２つの条件１，２、および、（条件３）新たに付与すべきインデックスが上限値を超えないと上限判定部７１ｃが判定することである。
【００６８】
このように、本実施形態によれば、第１の実施形態と同様の効果に加えて、インデックスが上限値を超える状況下でも有効に対応できるので、システムリソースの一層効率的な活用が可能になる。
【図面の簡単な説明】
【００６９】
【図１】画像表示システムの全体的なブロック構成図
【図２】転送制御回路の詳細なブロック構成図
【図３】転送制御のフローチャート
【図４】チェック処理の詳細なフローチャート
【図５】オブジェクト消去処理の詳細なフローチャート
【図６】オーダ記憶部およびマッピング記憶部の記憶内容の遷移図
【図７】第２の実施形態に係る転送制御回路の詳細なブロック構成図
【図８】第２の実施形態に係るチェック処理のフローチャート
【符号の説明】
【００７０】
１  ＣＰＵ
２  ＲＯＭ
３  画像プロセッサ
３ａ，３ｃ  メモリインターフェイス
３ｂ  ＣＰＵインターフェィス
３ｄ  バッファインターフェイス
４  表示装置
５  転送回路
５ａ  伸張回路
６  ＲＡＭ
７  転送制御回路
７１  判定部
７１ａ  メモリ残容量管理部
７１ｂ  容量判定部
７１ｃ  上限判定部
７２  オーダ記憶部
７３  オーダ更新部
７４  マッピング記憶部
７５  マッピング更新部
７６  転送指示部
８  管理テーブル
９  描画回路
１０  フレームバッファ
１１  表示回路
【図１】
2007026340.tif 000003
【図２】
2007026340.tif 000004
【図３】
2007026340.tif 000005
【図４】
2007026340.tif 000006
【図５】
2007026340.tif 000007
【図６】
2007026340.tif 000008
【図７】
2007026340.tif 000009
【図８】
2007026340.tif 000010