(57)【要約】【課題】メモリへのデータの読み書きを効率的かつ確実に行えるようにする【解決手段】  CPUは、ポート３２乃至３３から入出力されるデータ転送速度に基づいて算出したタイムスロット数をアクセス時間指定レジスタ１０２−１乃至１０２−４に設定する。シーケンサ１０３は、設定されたタイムスロット数に基づいて、フレームごとにポート３２および３３から入出力されるデータの読み書きを許可する時間を割り当て、残りの時間をポート３１から入出力されるデータの読み書きを許可する時間に割り当てるように、RAMに読み書きするデータの入出力経路を切り替える。本発明は、コンピュータに適用することができる。【選択図】図２
2006236056.tif 000002
【特許請求の範囲】
【請求項１】
ポートから入力されるデータをメモリに書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御装置において、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定手段と、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御手段と
を含むメモリ制御装置。
【請求項２】
前記ポートは、複数のポートにより構成され、
前記第１の入力データは、第１のポートから入力され、
前記第１の出力データは、前記第１のポートから出力され、
前記第２の入力データは、第２のポートから入力され、
前記第２の出力データは、前記第２のポートから出力される
請求項１に記載のメモリ制御装置。
【請求項３】
前記第１の入力データおよび前記第１の出力データは、ほぼリアルタイムに処理される実時間処理データである
請求項１に記載のメモリ制御装置。
【請求項４】
前記第２の入力データおよび前記第２の出力データは、前記メモリを備える装置のプロセッサで処理されるデータである
請求項１に記載のメモリ制御装置。
【請求項５】
前記読み書き制御手段は、前記周期ごとに、前記書き込み許可時間および前記読み出し許可時間を割り当て、前記書き込み許可時間内に前記第１の入力データを前記メモリに書き込み、前記読み出し許可時間内に前記第１の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する
請求項１に記載のメモリ制御装置。
【請求項６】
前記読み書き制御手段は、前記第１の入力データの書き込みが要求されていない場合、前記書き込み許可時間内に、前記第２の入力データを前記メモリに書き込むように、または、前記第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する
請求項１に記載のメモリ制御装置。
【請求項７】
前記読み書き制御手段は、前記第１の出力データの読み出しが要求されていない場合、前記読み出し許可時間内に、前記第２の入力データを前記メモリに書き込むように、または、前記第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する
請求項１に記載のメモリ制御装置。
【請求項８】
前記読み書き制御手段は、前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間を前記周期の先頭に割り当てる
請求項１に記載のメモリ制御装置。
【請求項９】
前記設定手段は、前記周期を所定の時間により等分したタイムスロットの数により、前記書き込み許可時間および前記読み出し許可時間を設定する
請求項１に記載のメモリ制御装置。
【請求項１０】
ポートから入力されるデータをメモリに書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御方法において、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むメモリ制御方法。
【請求項１１】
ポートから入力されるデータをメモリに書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御処理用のコンピュータに、メモリ制御処理を行わせるプログラムであって、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むプログラム。
【請求項１２】
データを記憶するメモリと、
ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定手段と、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御手段と
を含む情報処理装置。
【請求項１３】
前記ポートから出力されるデータに画像処理を施し、画像処理を施したデータを前記ポートに入力する画像処理手段を
さらに含む請求項１２に記載の情報処理装置。
【請求項１４】
データを記憶するメモリを有する情報処理装置の情報処理方法であって、
ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むプログラム。
【請求項１５】
データを記憶するメモリを有する情報処理装置のコンピュータに、情報処理を行わせるプログラムであって、
ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むプログラム。
【請求項１６】
請求項１１または請求項１５に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、メモリ制御装置および方法、記録媒体、並びにプログラムに関し、特に、メモリへのデータの書き込みおよびメモリからのデータの読み出しを効率的かつ確実に行えるようにする情報処理装置および方法、メモリ制御装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータや記録装置の複数のポートから入出力されるデータを、確実にメモリに書き込んだりメモリから読み出したりする手法が検討されている。
【０００３】
例えば、データ記録再生装置において、メモリへの入出力用バスの使用時間を所定の時間に分割したタイムスロットを、リアルタイムで処理する必要があるAVデータの入出力用のポートのみに定期的に割り当て、リアルタイムに処理する必要がない非同期データの入出力用のポートには、AVデータの入出力用のポートが使用していないタイムスロットを随時割り当てることが提案されている（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２０００−２９９８３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
また、近年、コンピュータや記録装置に接続される機器が多様化し、それらの機器との間で入出力されるデータの転送速度は広い範囲で変化する。そのため、データの転送速度に応じて、各ポートに割り当てるメモリへのアクセス時間を柔軟に変化させて、効率的かつ確実に、データをメモリに書き込んだり、メモリから読み出したりすることが要求されている。
【０００６】
しかしながら、従来のコンピュータや記録装置では、各ポートに割り当てるメモリへのアクセス時間を柔軟に変化させつつ、確実に、コンピュータの外部から入出力されるデータをメモリに書き込んだり、メモリから読み出したりする仕組みが実装されていなかった。
【０００７】
例えば、現在の標準的なコンピュータの内部のバスの規格であるPCI（Peripheral Component Interconnect）バスの規格では、外部からコンピュータにデータを入力する場合、まず、データ入力を要求する信号が外部の機器からコンピュータにアサートされる。これに対して、コンピュータがデータ入力を許可する信号を外部の機器にアサートした後、外部からのデータの入力が開始され、コンピュータの内部のメモリにデータが書き込まれる。しかし、例えば、コンピュータの内部のCPU（Central Processing Unit）が、メモリ入出力用のバスのタイムスロットを全て使用している場合、外部からのデータ入力の要求に対して、許可信号をアサートできないため、外部からのデータの書き込みが遅れたり、入力データを一時的に記憶するバッファがあふれて、データが欠落したりしてしまう場合がある。
【０００８】
また、外部の機器にデータを出力する場合についても同様に、例えば、コンピュータの内部のCPUが、メモリ入出力用のバスのタイムスロットを全て使用している場合、外部からのデータの出力の要求に対して、メモリからのデータの読み出しが遅れてしまう場合がある。
【０００９】
例えば、動画像データや音声データなどのリアルタイムで処理する必要がある実時間処理データを外部の機器が処理する場合、メモリへのデータの書き込み、または、メモリからのデータの読み出しの遅れが、データの欠落やタイムアウトなどのエラーを発生させる原因となってしまう。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、メモリへのデータの書き込みおよびメモリからのデータの読み出しを効率的かつ確実に行うようにするものである。
【課題を解決するための手段】
【００１１】
本発明のメモリ制御装置は、ポートから入力されるデータをメモリに書き込み、ポートから出力されるデータをメモリから読み出すメモリ制御装置において、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定手段と、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する読み書き制御手段とを含むことを特徴とする。
【００１２】
ポートは、複数のポートにより構成され、第１の入力データは、第１のポートから入力され、第１の出力データは、第１のポートから出力され、第２の入力データは、第２のポートから入力され、第２の出力データは、第２のポートから出力されるようにすることができる。
【００１３】
第１の入力データおよび第１の出力データは、ほぼリアルタイムに処理される実時間処理データであるようにすることができる。
【００１４】
第２の入力データおよび第２の出力データは、メモリを備える装置のプロセッサで処理されるデータであるようにすることができる。
【００１５】
読み書き制御手段は、周期ごとに、書き込み許可時間および読み出し許可時間を割り当て、書き込み許可時間内に第１の入力データをメモリに書き込み、読み出し許可時間内に第１の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御するようにすることができる。
【００１６】
読み書き制御手段は、第１の入力データの書き込みが要求されていない場合、書き込み許可時間内に、第２の入力データをメモリに書き込むように、または、第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御するようにすることができる。
【００１７】
読み書き制御手段は、第１の出力データの読み出しが要求されていない場合、読み出し許可時間内に、第２の入力データをメモリに書き込むように、または、第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御するようにすることができる。
【００１８】
読み書き制御手段は、周期内の書き込み許可時間および読み出し許可時間以外の時間を周期の先頭に割り当てるようにすることができる。
【００１９】
設定手段は、周期を所定の時間により等分したタイムスロットの数により、書き込み許可時間および読み出し許可時間を設定するようにすることができる。
【００２０】
本発明のメモリ制御方法、本発明の記録媒体に記録されている第１のプログラム、および本発明の第１のプログラムは、ポートから入力されるデータをメモリに書き込み、ポートから出力されるデータをメモリから読み出すメモリ制御方法において、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する読み書き制御ステップとを含むことを特徴とする。
【００２１】
本発明の情報処理装置は、データを記憶するメモリと、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定手段と、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する読み書き制御手段とを含むことを特徴とする。
【００２２】
ポートから出力されるデータに画像処理を施し、画像処理を施したデータをポートに入力する画像処理手段をさらに含むようにすることができる。
【００２３】
本発明の情報処理方法、本発明の記録媒体に記録されている第２のプログラム、および本発明の第２のプログラムは、データを記憶するメモリを有する情報処理装置のコンピュータに、情報処理を行わせるプログラムであって、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する読み書き制御ステップとを含むことを特徴とする。
【００２４】
本発明のメモリ制御装置、メモリ制御方法、記録媒体に記録されている第１のプログラム、第１のプログラムにおいては、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間が設定され、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間が設定され、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しが制御される。
【００２５】
本発明の情報処理装置、情報処理方法、記録媒体に記録されている第２のプログラム、および、第２のプログラムにおいては、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間が設定され、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間が設定され、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しが制御される。
【発明の効果】
【００２６】
本発明によれば、データをメモリに書き込んだり、メモリからデータを読み出すことができる。また、本発明によれば、メモリへのデータの書き込みおよびメモリからのデータの読み出しを効率的かつ確実に行うことができる。
【発明を実施するための最良の形態】
【００２７】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２８】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。
【００２９】
請求項１に記載のメモリ制御装置（例えば、図１のデータ処理部１１）は、ポート（例えば、図１のポート３１乃至３３）から入力されるデータをメモリ（例えば、図１のRAM２３）に書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御装置であって、前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定手段（例えば、図５のアクセス時間設定部１２１）と、前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御手段（例えば、図１のメモリコントローラ２２）とを含むことを特徴とする。
【００３０】
請求項２に記載のメモリ制御装置（例えば、図１のデータ処理部１１）においては、前記ポートは、複数のポートにより構成され、前記第１の入力データは、第１のポート（例えば、図１のポート３２または３３）から入力され、前記第１の出力データは、前記第１のポートから出力され、前記第２の入力データは、第２のポート（例えば、図１のポート３１）から入力され、前記第２の出力データは、前記第２のポートから出力されることを特徴とする。
【００３１】
請求項４に記載のメモリ制御装置（例えば、図１のデータ処理部１１）においては、前記第２の入力データおよび前記第２の出力データは、前記メモリを備える装置のプロセッサ（例えば、図１のCPU２１）で処理されるデータであることを特徴とする。
【００３２】
請求項１０に記載のメモリ制御方法は、ポート（例えば、図１のポート３１乃至３３）から入力されるデータをメモリ（例えば、図１のRAM２３）に書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御方法であって、前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップ（例えば、図６のステップＳ１およびＳ２）と、前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップ（例えば、図６のステップＳ８）とを含むことを特徴とする。
【００３３】
また、請求項１１に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項１０に記載のメモリ制御方法と同様である。
【００３４】
請求項１２に記載の情報処理装置（例えば、図１のコンピュータ１）は、データを記憶するメモリ（例えば、図１のRAM２３）と、ポート（例えば、図１のポート３１乃至３３）から入力される第１の入力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定手段（例えば、図５のアクセス時間設定部１２１）と、前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御手段（例えば、図１のメモリコントローラ２２）とを含むことを特徴とする。
【００３５】
請求項１３に記載の情報処理装置（例えば、図１のコンピュータ１）は、前記ポートから出力されるデータに画像処理を施し、画像処理を施したデータを前記ポートに入力する画像処理手段（例えば、図５のデータ処理部１２２）をさらに含むことを特徴とする。
【００３６】
請求項１４に記載の情報処理方法は、データを記憶するメモリ（例えば、図１のRAM２３）を有する情報処理装置（例えば、図１のコンピュータ１）の情報処理方法であって、ポート（例えば、図１のポート３１乃至３３）から入力される第１の入力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップ（例えば、図６のステップＳ１およびＳ２）と、前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップ（例えば、図６のステップＳ８）を含むことを特徴とする。
【００３７】
また、請求項１５に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項１２に記載のメモリ制御方法と同様である。
【００３８】
請求項１６に記載の記録媒体（例えば、図１のリムーバブルメディア１８）は、請求項１１または請求項１５に記載のプログラムを記録することを特徴とする。
【００３９】
以下、図を参照して、本発明の実施の形態について説明する。
【００４０】
図１は、本発明を適用したコンピュータ１の一実施の形態を示す図である。コンピュータ１は、データ処理部１１、入力部１２、出力部１３、記録部１４、通信部１５、およびドライブ１６を含むように構成される。また、データ処理を行うデータ処理部１１は、CPU（Central Processing Unit）２１、メモリコントローラ２２、RAM（Random Access Memory）２３、およびROM（Read Only Memory）２４を含むように構成される。さらに、メモリコントローラ２２は、ポート３１乃至３３の３つのポートを備える。
【００４１】
CPU２１とメモリコントローラ２２は、バス４１および４２を介して、相互に接続されるとともに、バス４２はポート３１に接続される。CPU２１とROM２４は、バス４３を介して相互に接続される。CPU２１と入出力インタフェース１７は、バス４４を介して相互に接続される。メモリコントローラ２２と入出力インタフェース１７は、バス４５およびバス４６を介して、相互に接続されるとともに、バス４５はポート３２に接続され、バス４６はポート３３に接続される。メモリコントローラ２２とRAM２３は、バス４７乃至４９を介して、相互に接続される。入力部１２、出力部１３、記録部１４、通信部１５、およびドライブ１６は、入出力インタフェース１７を介して、相互に接続される。
【００４２】
CPU２１は、入出力インタフェース１７およびバス４４を介して、ユーザが入力部１２を用いて入力した処理の指令やデータの入力を受け、入力された処理の指令に基づいて、ROM２４に記憶されているプログラム、または、入出力インタフェース１７、バス４５または４６、メモリコントローラ２２、並びに、バス４７および４８を介して記録部１４からRAM２３にロードされたプログラムに従って各種の処理を実行する。
【００４３】
また、CPU２１は、ポート３２および３３から入出力されるデータの転送速度に基づいて、所定の周期ごとに設定する、ポート３２から入力されるデータのRAM２３への書き込みを許可する時間、ポート３２から出力されるデータのRAM２３からの読み出しを許可する時間、ポート３３から入力されるデータのRAM２３への書き込みを許可する時間、ポート３３から出力されるデータのRAM２３からの読み出しを許可する時間を算出し、算出した時間をメモリコントローラ２２に設定するためのアクセス時間設定信号を、バス４１を介してメモリコントローラ２２に供給する。
【００４４】
メモリコントローラ２２のポート３１には、RAM２３へのデータの書き込みを指示する書き込みパケット、または、RAM２３からのデータの読み出しを指示する読み出しパケットが、バス４２を介してCPU２１から入力される。また、メモリコントローラ２２のポート３２および３３には、RAM２３へのデータの書き込みを指示する書き込みパケット、または、RAM２３からのデータの読み出しを指示する読み出しパケットが、入出力インタフェース１７およびバス４５、または、入出力インタフェース１７およびバス４６を介して、コンピュータ１の各部、または、入出力インタフェース１７に接続されている図示せぬ外部の機器から入力される。
【００４５】
メモリコントローラ２２は、図６を参照して後述するように、外部（例えば、CPU２１）から供給されるクロック信号に基づいて、RAM２３にデータを入力するためのバス４７、および、RAM２３から出力されるデータを取得するためのバス４９の使用時間を所定の時間（例えば、１マイクロ秒）の周期（以下、フレームと称する）に分割し、さらに１フレームを所定の時間に等分（例えば、１８等分）したタイムスロットに同期して、書き込みパケットまたは読み出しパケットによる指示に従って、RAM２３へのデータの書き込み、および、RAM２３からのデータの読み出しを制御する。
【００４６】
なお、以下、RAM２３へのデータの書き込み、および、RAM２３からのデータの読み出しを、まとめて、RAM２３へのデータの読み書きとも表現する。また、以下、RAM２３にデータを書き込む、および、RAM２３からデータを読み出すことを、まとめて、RAM２３にデータを読み書きするとも表現する。
【００４７】
ここで、書き込みパケットと読み出しパケットのデータ構造について説明する。図２は書き込みパケットのデータ構造の例を示しており、図３は読み出しパケットのデータ構造の例を示している。書き込みパケットはアドレス部とデータ部を含み、アドレス部にはデータの書込みを開始するRAM２３のアドレスが設定され、データ部にはRAM２３に書き込むデータが設定される。読み出しパケットはアドレス部を含み、アドレス部にはデータの読み出しを開始するRAM２３のアドレスが設定される。
【００４８】
メモリコントローラ２２は、書き込みパケットのアドレス部とデータ部を分離して、データ部を、バス４７を介してRAM２３に供給し、アドレス部を、バス４８を介してRAM２３に供給する。また、メモリコントローラ２２は、読み出しパケットのアドレス部を、バス４８を介してRAM２３に供給する。メモリコントローラ２２は、バス４９を介して、RAM２３から読み出されたデータを取得し、そのデータの読み出しを指示した読み出しパケットが入力されたポートから外部に出力する。
【００４９】
また、メモリコントローラ２２は、図６を参照して後述するように、ポート３２または３３を介して入出力されるデータのRAM２３への読み書きを行う時間を優先的に割り当て、ポート３１を介して入出力されるデータのRAM２３への読み書きを行う時間をそれ以外の時間に割り当てる。なお、以下、ポート３２および３３をまとめて、優先ポートとも称し、ポート３１を変動ポートとも称する。
【００５０】
RAM２３は、メモリコントローラ２２から、バス４７を介して書き込みパケットのデータ部が入力され、バス４８を介して書き込みパケットのアドレス部が入力された場合、書き込みパケットのアドレス部に設定されているアドレスの位置から、データ部に設定されているデータを書き込む。また、RAM２３は、メモリコントローラ２２から、バス４８を介して読み出しパケットのアドレス部が入力された場合、アドレス部に設定されているアドレスの位置から所定の長さ（例えば、数十バイトから数百バイトの固定長）のデータを読み出し、読み出したデータを、バス４９を介してメモリコントローラ２２に供給する。
【００５１】
ROM２４は、CPU２１が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。
【００５２】
入力部１２は、例えば、ボタン、スイッチ、キーボードあるいはマウスなどで構成され、ユーザがコンピュータ１に各種の指令を入力するとき操作される。
【００５３】
出力部１３は、例えば、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などのディスプレイ、並びにスピーカなどで構成され、CPU２１により処理される画像や音声などを出力する。
【００５４】
記録部１４は、例えば、ハードディスクなどにより構成され、CPU２１によって実行するプログラムや情報を記録または再生させる。
【００５５】
通信部１５は、例えば、モデムやターミナルアダプタなどで構成され、インターネットを含むネットワークを介して、外部の情報処理装置と通信処理を行う。
【００５６】
ドライブ１６は、必要に応じて入出力インタフェース１７に接続され、例えば、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア１８が適宜装着され、そこから読み出されたプログラムが、記録部１４にインストールされる。
【００５７】
入出力インタフェース１７には、図１に示されている各ブロック以外にも、再生装置などの外部の機器が接続され、入出力インタフェース１７、および、ポート３２または３３を介して、その外部の機器とメモリコントローラ２２との間でデータの入出力が行われる。
【００５８】
図４は、メモリコントローラ２２の機能の構成の例を示している。メモリコントローラ２２は、ポート３１乃至３３、バッファ１０１−１乃至１０１−９、アクセス時間指定レジスタ１０２−１乃至１０２−４、シーケンサ１０３、MUX（マルチプレクサ）１０４，１０５、分離回路１０６、および、MUX１０７を含むように構成される。
【００５９】
ポート３１は、バス４２を介してCPU２１から入力される書き込みパケットを、バッファ１０１−１に供給し蓄積させる。また、ポート３１は、バス４２を介してCPU２１から入力される読み出しパケットを、バッファ１０１−４に供給し蓄積させる。さらに、ポート３１は、バス４２を介してCPU２１から入力される読み出し指示信号を、バッファ１０１−７に供給することにより、バッファ１０１−７に蓄積されているデータを読み出す。ポート３１は、バッファ１０１−７から読み出したデータを、バス４２を介してCPU２１に出力する。
【００６０】
ポート３２は、バス４５を介して外部から入力される書き込みパケットを、バッファ１０１−２に供給し蓄積させる。また、ポート３２は、バス４５を介して外部から入力される読み出しパケットを、バッファ１０１−５に供給し蓄積させる。さらに、ポート３２は、バス４５を介して外部から入力される読み出し指示信号を、バッファ１０１−８に供給することにより、バッファ１０１−８に蓄積されているデータを読み出す。ポート３２は、バッファ１０１−８から読み出したデータを、バス４５を介して外部に出力する。
【００６１】
ポート３３は、バス４６を介して外部の装置から入力される書き込みパケットを、バッファ１０１−３に供給し蓄積させる。また、ポート３３は、バス４６を介して外部の装置から入力される読み出しパケットを、バッファ１０１−６に供給し蓄積させる。さらに、ポート３３は、バス４６を介して外部から入力される読み出し指示信号を、バッファ１０１−９に供給することにより、バッファ１０１−９に蓄積されているデータを読み出す。ポート３３は、バッファ１０１−９から読み出したデータを、バス４６を介して外部に出力する。
【００６２】
アクセス時間指定レジスタ１０２−１乃至１０２−４には、ポート３２または３３を介して入出力されるデータのRAM２３への読み書きに１フレームごとに割り当てられる（確保される）タイムスロットの数（以下、タイムスロット数と称する）が、バス４１を介してCPU２１から入力されるアクセス時間設定信号により設定される。なお、アクセス時間指定レジスタ１０２−１には、ポート３２から入力されるデータの書き込みに割り当てられるタイムスロット数が設定され、アクセス時間指定レジスタ１０２−２には、ポート３３から入力されるデータの書き込みに割り当てられるタイムスロット数が設定され、アクセス時間指定レジスタ１０２−３には、ポート３２から出力されるデータの読み出しに割り当てられるタイムスロット数が設定され、アクセス時間指定レジスタ１０２−４には、ポート３３から出力されるデータの読み出しに割り当てられるタイムスロット数が設定される。
【００６３】
なお、以下、ポート３１乃至３３から入力されるデータのRAM２３への書き込みに対してタイムスロット割り当てることを、タイムスロットをポート３１乃至３３の入力に割り当てるとも表現する。また、ポート３１乃至３３から出力されるデータのRAM２３からの読み出しに対してタイムスロットを割り当てることを、タイムスロットをポート３１乃至３３の出力に割り当てるとも表現する。さらに、ポート３１乃至３３の入力または出力に対してタイムスロットを割り当てることを、単にタイムスロットをポート３１乃至３３に割り当てるとも表現する。
【００６４】
シーケンサ１０３は、図６を参照して後述するように、アクセス時間指定レジスタ１０２−１乃至１０２−４に設定されているタイムスロット数に従って、バッファ１０１−１乃至１０１−６に読み出し指示信号を供給し、バッファ１０１−７乃至１０１−９に書き込み指示信号を供給し、MUX１０４，１０５，および１０７、並びに、分離回路１０６に動作制御信号を供給することにより、RAM２３に書き込まれるデータの入力経路、および、RAM２３から読み出されたデータの出力経路を切り替える。すなわち、RAM２３への書き込むデータが入力されるポート、および、RAM２３から読み出されたデータが出力されるポートを切り替える。
【００６５】
バッファ１０１−１乃至１０１−３は、シーケンサ１０３から供給される読み出し指示信号に従って、バッファ１０１−１乃至１０１−３に蓄積されている書き込みパケットをMUX１０４に供給する。
【００６６】
バッファ１０１−４乃至１０１−６は、シーケンサ１０３から供給される読み出し指示信号に従って、バッファ１０１−４乃至１０１−４に蓄積されている読み出しパケットをMUX１０５に供給する。
【００６７】
バッファ１０１−７乃至１０１−９は、シーケンサ１０３から供給される書き込み指示信号に従って、バス４９を介してメモリ１２から入力されるデータを蓄積する。また、バッファ１０１−７乃至１０１−９は、ポート３１乃至３３から供給される読み出し指示信号に従って、蓄積されているデータをポート３１乃至３３に供給る。
【００６８】
MUX１０４は、シーケンサ１０３から供給される動作制御信号に従って、バッファ１０１−１乃至１０１−３から供給される書き込みパケット、すなわち、ポート３１乃至３３から入力された書き込みパケットのうち１つを選択して、分離回路１０６に供給する。
【００６９】
MUX１０５は、シーケンサ１０３から供給される動作制御信号に従って、バッファ１０１−４乃至１０１−６から供給される読み出しパケット、すなわち、ポート３１乃至３３から入力された読み出しパケットのうち１つを選択して、MUX１０７に供給する。
【００７０】
分離回路１０６は、シーケンサ１０３から供給される動作制御信号に従って、書き込みパケットのアドレス部とデータ部を分離する。分離回路１０６は、データ部をバス４７を介してRAM２３に供給し、アドレス部をMUX１０７に供給する。
【００７１】
MUX１０７は、シーケンサ１０３から供給される動作制御信号に従って、MUX１０５から供給される読み出しパケットのアドレス部、または、分離回路１０６から供給される書き込みパケットのアドレス部のうち１つを選択して、RAM２３に供給する。
【００７２】
図５は、所定のプログラムを実行するCPU２１により実現される機能の構成の例の一部を示すブロック図である。CPU２１が、プログラムを実行することにより、アクセス時間設定部１２１、および、データ処理部１２２が実現される。
【００７３】
アクセス時間設定部１２１は、ポート３２および３３から入力または出力されるデータの転送速度を示す情報を取得する。例えば、アクセス時間設定部１２１は、ポート３２および３３を介してデータを入出力する、コンピュータ１の各部または入出力インタフェース１７に接続されている外部の機器から、入出力インタフェース１７およびバス４４を介して、データの転送速度を示す情報を取得する。アクセス時間設定部１２１は、ポート３２および３３から入力または出力されるデータの転送速度に基づいて、ポート３２および３３の入出力に割り当てるタイムスロット数を算出する。アクセス時間設定部１２１は、算出したタイムスロット数を示すアクセス時間設定信号を生成し、生成したアクセス時間設定信号を、バス４１を介してアクセス時間指定レジスタ１０２−１乃至１０２−４に供給する。
【００７４】
データ処理部１２２は、バス４２を介して、ポート３１に読み出しパケットを入力し、RAM２３の指定したアドレスからのデータの読み出しをメモリコントローラ２２に指示する。データ処理部１２２は、バス４２を介して、ポート３１に読み出し指示信号を入力し、先に入力した読み出しパケットによる指示によりRAM２３から読み出されたデータをポート３１から出力させる。データ処理部１２２は、バス４２を介して、ポート３１から出力されたデータを取得する。
【００７５】
データ処理部１２２は、取得したデータに対して、様々なデータ処理を施す。例えば、データ処理部１２２は、２つの画像データを１フレームずつ合成して、１つの画像データを生成する。また、例えば、データ処理部１２２は、所定の編集点で画像データをつなぎ込むスプライス処理など、様々な画像処理、編集処理、符号化処理などを行う。さらに、例えば、データ処理部１２２は、画像データ以外の音声データ、コンテンツデータ、テキストデータ、文書データなどの様々なデータに対して、様々なデータ処理（例えば、音声処理、符号化処理など）を施す。
【００７６】
データ処理部１２２は、データ処理を施したデータを所定のサイズのデータに分割し、分割したデータごとに書き込みパケットを生成する。データ処理部１２２は、バス４２を介して、ポート３１に書き込みパケットを入力し、RAM２３の指定したアドレスへのデータの書き込みをメモリコントローラ２２に指示する。
【００７７】
次に、図６のフローチャートを参照して、コンピュータ１により実行されるデータ読み書き処理を説明する。なお、以下の説明において、１フレームの時間を1μsとし、１フレームあたりのタイムスロット数を18とする。また、図示せぬ２台の外部の機器（以下、それぞれ機器Ａおよび機器Ｂと称する）がコンピュータ１の入出力インタフェース１７に接続されるものとする。さらに、機器ＡとRAM２３との間のデータの入出力は、入出力インタフェース１７、バス４５、およびポート３２を介して行われ、機器ＢとRAM２３との間のデータの入出力は、入出力インタフェース１７、バス４６、およびポート３３を介して行われるものとする。
【００７８】
ステップＳ１において、アクセス時間設定部１２１は、各ポートの入出力に割り当てるタイムスロット数を算出する。具体的には、アクセス時間設定部１２１は、ポート３２および３３から入力または出力されるデータの転送速度を示す情報を取得する。このデータの転送速度を示す情報は、例えば、入出力インタフェース１７およびバス４４を介して、機器ＡまたはＢからアクセス時間設定部１２１に入力される。アクセス時間設定部１２１は、ポート３２および３３から入力または出力されるデータの転送速度に基づいて、ポート３２および３３の入出力に割り当てるタイムスロット数を算出する。
【００７９】
例えば、バス４５および４６のバス幅が64bit、バスクロックが400MHzであるとすると、RAM２３のメモリ帯域（バンド幅）は、25.6Gbps（＝64bit×400Mhz）となり、１タイムスロットあたりのデータの転送量は、約1.42kbit（＝25.6 Gbps×1μs÷18）となる。このとき、画素数が横4000画素×縦2000画素で、各画素についてRGBの三原色のそれぞれに対応する10bitの色情報を持ち、１秒間のフレーム数が24枚の画像データ、すなわち、転送速度が約6.04Gbps（＝4000画素×2000画素×10bit×3色×24枚）の画像データが入力または出力される場合、この画像データの入力または出力に必要なタイムスロット数は、約4.25（6.04Gbps×1μs÷1.42kbit）となり、小数点以下を切り上げた値である５が、この画像データの書き込み（入力）または読み出し（出力）に必要な（割り当てられる）タイムスロット数となる。
【００８０】
なお、以下、適宜、次の例を挙げながら、コンピュータ１により実行されるデータ読み書き処理を説明する。まず、図７に示されるフレーム２０１−１乃至２０１−５により構成される標準的な解像度を持つSD（Standard Definition）の画像データが機器Aからポート３２に入力され、図８に示されるフレーム２０２−１乃至２０２−５により構成される標準的な解像度を持つSDの画像データが機器Ｂからポート３３に入力されるものとする。また、フレーム２０１−１乃至２０１−５およびフレーム２０２−１乃至２０２−５が、データ処理部１２２により１フレームずつ合成されるものとする。さらに、フレームの合成により生成された図９に示されるフレーム２０３−１乃至２０３−５により構成される標準的な解像度を持つSDの画像データが、ポート３２から機器Aに出力されるものとする。また、この例において、ポート３２の入力に割り当てられるタイムスロット数が３、ポート３３の入力に割り当てられるタイムスロット数が２、ポート３２の出力に割り当てられるタイムスロット数が３、および、ポート３３の出力に割り当てられるタイムスロット数が０と算出されたものとする。
【００８１】
ステップＳ２において、アクセス時間設定部１２１は、アクセス時間指定レジスタ１０２−１乃至１０２−４の値を設定する。具体的には、アクセス時間設定部１２１は、ステップＳ１において算出したタイムスロット数を示すアクセス時間設定信号を生成し、生成したアクセス時間設定信号を、バス４１を介してアクセス時間指定レジスタ１０２−１乃至１０２−４に供給する。アクセス時間指定レジスタ１０２−１乃至１０２−４は、アクセス時間設定信号に基づいて、対応するポートの入力または出力に割り当てるタイムスロット数を設定する。
【００８２】
ステップＳ３において、シーケンサ１０３は、優先ポートのタイムスロットの割り当てを決定する。具体的には、シーケンサ１０３は、アクセス時間指定レジスタ１０２−１乃至１０２−４に設定されているタイムスロット数を読み出し、読み出したタイムスロット数に基づいて、優先ポート、すなわち、ポート３２および３３に割り当てるタイムスロットを決定する。
【００８３】
図１０は、１フレーム内におけるタイムスロットの割り当ての例を示している。フレーム２１１−１は、RAM２３のメモリ帯域が最大限に使用されている場合、すなわち、ポート３１乃至３３を介して入出力されるデータの転送速度の合計値がRAM２３のメモリ帯域以上である場合の例を示している。フレーム２１１−２は、ポート３１を介してデータ処理部１２２から入出力されるデータの転送速度が低い場合の例を示している。なお、フレーム２１１−３および２１１−４については後述する。
【００８４】
シーケンサ１０３は、フレーム２１１−１および２１１−２のように、フレーム内の先頭部分のタイムスロットをポート３１に割り当てるために空けておき、フレームの後ろから詰めるようにポート３２および３３にタイムスロットを割り当てる。いまの場合、フレームの１１番目から１３番目までの３つのタイムスロットがポート３２の入力に割り当てられ、１４番目から１５番目までの２つのタイムスロットがポート３３の入力に割り当てられ、１６番目から１８番目までの３つのタイムスロットがポート３２の出力に割り当てられる。なお、いまの場合、アクセス時間指定レジスタ１０２−４の値が０に設定されているので、ポート３３のデータの出力にタイムスロットは割り当てられない。
【００８５】
ポート３２および３３に割り当てられたフレーム内のタイムスロットの位置および範囲は、次にアクセス時間指定レジスタ１０２−１乃至１０２−４の値が変更されるまで固定とされる。
【００８６】
ステップＳ４において、シーケンサ１０３は、変動ポートのタイムスロットの割り当てを決定する。具体的には、シーケンサ１０３は、バッファ１０１−１内の書き込みパケット、および、バッファ１０１−４内の読み出しパケット、すなわち、ポート３１から入力された書き込みパケットおよび読み出しパケットの蓄積量を検出する。シーケンサ１０３は、バッファ１０１−１および１０１−４内のパケットの蓄積量に応じて、ポート３２および３３に割り当てられていない空きタイムスロットをポート３１に割り当てる。
【００８７】
例えば、バッファ１０１−１および１０１−４内のパケットを処理する（ポート３１を介して、RAM２３へのデータの読み書きを行う）ために空きタイムスロットを全て使用する必要がある場合、フレーム２１１−１のように、フレームの先頭から５番目までの５つのタイムスロットがポート３１の入力に割り当てられ、６番目から１０番目までの５つのタイムスロットがポート３１の出力に割り当てられる。
【００８８】
また、例えば、バッファ１０１−１および１０１−４内のパケットを処理する（ポート３１を介して、RAM２３へのデータの読み書きを行う）ために空きタイムスロットを全て使用する必要がない場合、フレーム２１１−２のように、フレームの先頭のタイムスロットがポート３１の入力に割り当てられ、２番目のタイムスロットがポート３１の出力に割り当てられ、３番目から１０番目までの８つのタイムスロットが、どのポートにも割り当てられない空きタイムスロットとされる。
【００８９】
このように、フレームの先頭部分のタイムスロットが、ポート３１に割り当てられることにより、以下の効果が生まれる。すなわち、CPU２１（データ処理部１２２）とメモリ１３との間のデータの入出力が遅れると、その分だけCPU２１が休止する時間が長くなり、CPU２１の処理能力が低下してしまう。例えば、現在のフレームにおいて、CPU２１から入力された書き込みパケットまたは読み出しパケットが次のフレームで処理される場合、フレームの先頭からポート３１にタイムスロットが割り当てられることにより、CPU２１から要求された処理が、次のフレームにおいて時間的に優先して行われるため、CPU２１の休止時間を短縮することができる。
【００９０】
ステップＳ５において、シーケンサ１０３は、次のタイムスロットが優先ポートに割り当てられているか否かを判定する。シーケンサ１０３は、これから始まる次のタイムスロットが、優先ポート、すなわち、ポート３２または３３に割り当てられているか否かを判定し、次のタイムスロットが優先ポートに割り当てられていると判定された場合、処理はステップＳ６に進む。
【００９１】
ステップＳ６において、シーケンサ１０３は、タイムスロットが割り当てられる優先ポートからのデータの入力または出力の要求があるか否かを判定する。具体的には、シーケンサ１０３は、これから始まる次のタイムスロットが割り当てられる優先ポートに対応するバッファの蓄積状況を調べる。シーケンサ１０３は、次のタイムスロットがポート３２の入力に割り当てられている場合、ポート３２から入力された書き込みパケットがバッファ１０１−２に蓄積さているか否かを調べ、次のタイムスロットがポート３３の入力に割り当てられている場合、ポート３３から入力された書き込みパケットがバッファ１０１−３に蓄積さているか否かを調べ、次のタイムスロットがポート３２の出力に割り当てられている場合、ポート３２から入力された読み出しパケットがバッファ１０１−５に蓄積さているか否かを調べ、次のタイムスロットがポート３３へ出力に割り当てられる場合、ポート３３から入力された読み出しパケットがバッファ１０１−６に蓄積さているか否かを調べる。
【００９２】
シーケンサ１０３は、これから始まる次のタイムスロットに割り当てられる優先ポートに対応するバッファに書き込みパケットまたは読み出しパケットが蓄積されていない場合、すなわち、タイムスロットが割り当てられる優先ポートからのデータの入力または出力の要求がないと判定し、処理はステップＳ７に進む。
【００９３】
ステップＳ７において、シーケンサ１０３は、タイムスロットの割り当てを変更する。具体的には、シーケンサ１０３は、変動ポート、すなわち、ポート３１に対応するバッファ１０１−１および１０１−４の蓄積状況を調べる。バッファ１０１−１に書き込みパケットが蓄積されているか、または、バッファ１０１−４に読み出しパケットが蓄積されている場合、シーケンサ１０３は、次のタイムスロットをポート３１の入力または出力に割り当てるように、タイムスロットの割り当てを変更する。例えば、図１０のフレーム２１１−３のように、ポート３２からのデータの入力および出力の要求がない場合、ポート３２の入力に割り当てられていた１１番目から１３番目までのタイムスロットがポート３１の入力に割り当てられ、本来ポート３２の出力に割り当てられていた１６番目から１８番目までのタイムスロットがポート３１の出力に割り当てられる。
【００９４】
また、バッファ１０１−１および１０１−４にパケットが蓄積されていない場合、すなわち、ポート３１からのデータの入力および出力の要求がない場合、図１０のフレーム２１１−４のように、ポート３２からのデータの入力および出力の要求がなくても、ポート３２に割り当てられていたタイムスロットは、他のポートに割り当てられず、空きタイムスロットとされる。
【００９５】
ステップＳ６において、タイムスロットが割り当てられる優先ポートからのデータの入力または出力の要求があると判定された場合、すなわち、これから始まる次のタイムスロットに割り当てられる優先ポートに対応するバッファに書き込みパケットまたは読み出しパケットが蓄積されている場合、ステップＳ７の処理はスキップされ、タイムスロットの割り当ては変更されずに、処理はステップＳ８に進む。
【００９６】
ステップＳ５において、次のタイムスロットが変動ポート、すなわち、ポート３１に割り当てられていると判定された場合、ステップＳ６およびＳ７の処理はスキップされ、処理はステップＳ８に進む。
【００９７】
ステップＳ８において、シーケンサ１０３は、データの入出力経路を設定する。具体的には、次のタイムスロットがポート３１の入力に割り当てられている場合、シーケンサ１０３は、バッファ１０１−１に読み出し指示信号を供給し、バッファ１０１−１に蓄積されている書き込みパケットのMUX１０４への供給を開始させる。また、シーケンサ１０３は、MUX１０４に動作制御信号を供給し、バッファ１０１−１から供給される書き込みパケットを選択して分離回路１０６に供給するようにMUX１０４を制御する。
【００９８】
さらに、シーケンサ１０３は、分離回路１０６に動作制御信号を供給し、MUX１０４から供給される書き込みパケットをアドレス部とデータ部に分離し、データ部をバス４７を介してRAM２３に供給し、アドレス部をMUX１０７に供給するように分離回路１０６を制御する。また、シーケンサ１０３は、MUX１０７に動作制御信号を供給し、分離回路１０６から供給される書き込みパケットのアドレス部を、バス４８を介してRAM２３に供給するようにMUX１０７を制御する。これにより、ポート３１から入力された書き込みパケットのデータ部に設定されたデータのアドレス部に示されるRAM２３のアドレスからの書き込みが開始される。
【００９９】
同様に、シーケンサ１０３は、次のタイムスロットがポート３２の入力に割り当てられている場合、バッファ１０１−２に読み出し指示信号を供給し、MUX１０４、分離回路１０６、およびMUX１０７に動作制御信号を供給し、ポート３２から入力された書き込みパケットのデータ部に設定されたデータのアドレス部に示されるRAM２３のアドレスからの書き込みを開始させる。また、次のタイムスロットがポート３３の入力に割り当てられている場合、バッファ１０１−３に読み出し指示信号を供給し、MUX１０４、分離回路１０６、およびMUX１０７に動作制御信号を供給し、ポート３３から入力された書き込みパケットのデータ部に設定されたデータのアドレス部に示されるRAM２３のアドレスからの書き込みを開始させる。
【０１００】
また、次のタイムスロットがポート３１の出力に割り当てられている場合、シーケンサ１０３は、バッファ１０１−４に読み出し指示信号を供給し、バッファ１０１−４に蓄積されている読み出しパケットのMUX１０５への供給を開始させる。また、シーケンサ１０３は、MUX１０５に動作制御信号を供給し、バッファ１０１−４から供給される読み出しパケットを選択してMUX１０７に供給するようにMUX１０５を制御する。さらに、MUX１０７に動作制御信号を供給し、MUX１０５から供給される読み出しパケットのアドレス部を、バス４８を介してRAM２３に供給するようにMUX１０７を制御する。これにより、ポート３１から入力された読み出しパケットのアドレス部に示されるRAM２３のアドレスからのデータの読み出しが開始され、読出されたデータが、バス４９を介して、バッファ１０１−７乃至１０１−９に供給される。
【０１０１】
また、シーケンサ１０３は、バッファ１０１−７に書き込み指示信号を供給し、バス４９を介して、RAM２３から供給されるデータの蓄積を開始させる。データ処理部１２２は、必要に応じて、バス４２およびポート３１を介して、バッファ１０１−７に読み出し指示信号を入力し、バッファ１０１−７に蓄積されているデータをポート３１から出力させ、バス４２を介して、出力されたデータを取得する。
【０１０２】
同様に、次のタイムスロットがポート３２の出力に割り当てられている場合、シーケンサ１０３は、バッファ１０１−５に読み出し指示信号を供給し、MUX１０５および１０７に動作制御信号を供給し、バッファ１０１−８に書き込み指示信号を入力し、ポート３２から入力された読み出しパケットのアドレス部に示されるRAM２３のアドレスからのデータの読み出し、および、読み出されたデータのバッファ１０１−８への蓄積を開始させる。機器Ａは、必要に応じて、入出力インタフェース１７、バス４５およびポート３２を介して、バッファ１０１−８に読み出し指示信号を入力し、バッファ１０１−８に蓄積されているデータをポート３２から出力させ、バス４５および入出力インタフェース１７を介して、出力されたデータを取得する。
【０１０３】
また、同様に、次のタイムスロットがポート３３の出力に割り当てられている場合、シーケンサ１０３は、バッファ１０１−６に読み出し指示信号を供給し、MUX１０５および１０７に動作制御信号を供給し、バッファ１０１−９に書き込み指示信号を入力し、ポート３３から入力された読み出しパケットのアドレス部に示されるRAM２３のアドレスからのデータの読み出し、および、読み出されたデータのバッファ１０１−９への蓄積を開始させる。機器Ｂは、必要に応じて、入出力インタフェース１７、バス４６およびポート３３を介して、バッファ１０１−９に読み出し指示信号を入力し、バッファ１０１−９に蓄積されているデータをポート３３から出力させ、バス４６および入出力インタフェース１７を介して、出力されたデータを取得する。
【０１０４】
ステップＳ９において、シーケンサ１０３は、外部から供給されるクロック信号に基づいて、フレームおよびタイムスロットが切り替わるタイミングを監視する。
【０１０５】
ステップＳ１０において、シーケンサ１０３は、ステップＳ９における監視の結果に基づいて、タイムスロットが切り替わるタイミングであるか否かを判定する。タイムスロットが切り替わるタイミングであると判定された場合、処理はステップＳ１１に進む。
【０１０６】
ステップＳ１１において、シーケンサ１０３は、ステップＳ９における監視の結果に基づいて、フレームが切り替わるタイミングであるか否かを判定する。フレームが切り替わるタイミングでないと判定された場合、すなわち、タイムスロットのみが切り替わるタイミングである場合、処理はステップＳ１２に進む。
【０１０７】
ステップＳ１２において、シーケンサ１０３は、データの入出力経路を切り替えるタイミングであるか否かを判定する。データの入出力経路を切り替えるタイミングでないと判定された場合、すなわち、次のタイムスロットの割り当てが現在のタイムスロットの割り当てから変更されない場合、処理はステップＳ９に戻り、ステップＳ１１において、フレームが切り替わるタイミングであると判定されるか、ステップＳ１２において、データの入出力経路を切り替えるタイミングであると判定されるまで、ステップＳ９乃至Ｓ１２の処理が繰り返し実行される。
【０１０８】
ステップＳ１２において、データの入出力経路を切り替えるタイミングであると判定された場合、すなわち、次のタイムスロットの割り当てが現在のタイムスロットの割り当てから変更される場合、処理はステップＳ５に戻り、ステップＳ５以降の処理が実行され、データの入出力経路が変更された後、RAM２３へのデータの読み書きが行われる。
【０１０９】
ステップＳ１１において、フレームが切り替わるタイミングであると判定された場合、処理はステップＳ１３に進む。
【０１１０】
ステップＳ１３において、アクセス時間設定部１２１は、データの転送速度が変更されたか否かを判定する。具体的には、アクセス時間設定部１２１は、優先ポートであるポート３２または３３から入力または出力されるデータの転送速度が変更されていない場合、データの転送速度が変更されていないと判定し、処理はステップＳ５に戻り、ステップＳ５以降の処理が実行される。すなわち、ポート３２および３３に割り当てられているタイムスロットは固定されたまま、データ処理部１２２からのデータの入出力の要求に応じて、データ処理部１２２とのデータの入出力が行われるポート３１に割り当てられているタイムスロットが変更された後、RAM２３へのデータの読み書きが行われる。
【０１１１】
ステップＳ１３において、データの転送速度が変更されたと判定された場合、例えば、ユーザから処理の変更などの指示があり、機器ＡまたはＢから、データの転送速度の変更を示す情報がアクセス時間設定部１２１に入力された場合、または、新たな機器からのデータの入力または出力の要求があり、データの転送速度を示す情報がその機器からアクセス時間設定部１２１に入力された場合、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。すなわち、優先ポートであるポート３２または３３から入出力されるデータの転送速度の変更に伴い、アクセス時間指定レジスタ１０２−１乃至１０２−４の値、および、ポート３１乃至３３に割り当てられるタイムスロットが変更された後、RAM２３へのデータの読み書きが行われる。
【０１１２】
例えば、図１１に示されるフレーム２２１−１乃至２２１−４により構成される標準的な解像度を持つSDの画像データが、機器Aによりポート３２に入力され、予めRAM２３に記憶されている高解像度のHD（High Definition）の画像データが、データ処理部１２２によりフレーム２２１−１乃至２２１−４に合成され、合成により生成された図１２に示されるフレーム２２２−１乃至２２２−４により構成される高解像度のHDの画像データが、ポート３２から機器Aに出力される場合、各ポートに割り当てられるタイムスロットは、図１３のフレーム２１１−５のように変更される。すなわち、図１０のフレーム２１１−１と比較して、HDで転送速度の速い画像データが出力されるポート３２の出力に割り当てられるタイムスロット数が３から５に増加され、ポート３３からのデータの入出力が行われないので、ポート３３にはタイムスロットの割り当てが停止される。また、ポート３２および３３に割り当てられるタイムスロットの合計数が変更されないので、ポート３１の入力および出力に割り当てられるタイムスロットの合計数も変更されない。
【０１１３】
このように、ポート３２および３３には、入出力されるデータの転送速度に応じて、１フレーム単位で必要なタイムスロットが確実に割り当てられる。換言すれば、ポート３２および３３から入力されるデータをRAM２３に書き込む時間、および、ポート３２および３３から出力されるデータがRAM２３から読み出される時間が、１フレーム単位で確実に確保される。従って、例えば、画像データや音声データなど、ほぼリアルタイムに処理する必要がある実時間処理データを、ポート３２または３３から入出力することにより、データを欠落させることなく、確実にRAM２３に書き込んだり、RAM２３から読み出したりすることができる。
【０１１４】
また、ポート３２および３３から入力される書き込みパケットおよび読み出しパケットは、各フレームの所定のタイムスロットで定期的に確実に処理されるので、ポート３２またはポート３３から書き込みパケットまたは読み出しパケットが入力されてから、RAM２３へのデータの読み書きが行われるまでの時間（レイテンシ）がほぼ一定となる。従って、ポート３２または３３から入力されるパケットが一時的に蓄積されるバッファ１０１−２、１０１−３、１０１−５、および１０１−６に必要な容量は、１フレーム内で処理される書き込みパケットまたは読み出しパケットの容量とほぼ等しくすることができ、その容量を削減することができる。
【０１１５】
また、ポート３２および３３には、データの入出力に必要なタイムスロットだけ割り当てられ、ポート３２および３３に割り当てられていないタイムスロットがポート３１に割り当てられるため、１フレーム内のタイムスロットを有効に使用して、換言すれば、RAM２３のメモリ帯域を効率的に使用して、RAM２３へのデータの読み書きを行うことができる。さらに、ポート３２および３３に割り当てられたタイムスロットが未使用の場合、そのタイムスロットがポート３１に適宜割り当てられるため、RAM２３のメモリ帯域をさらに効率的に使用して、RAM２３へのデータの読み書きを行うことができる。
【０１１６】
また、ポート３１には、ポート３２および３３に割り当てられていないタイムスロットがフレームの先頭から割り当てられるため、ポート３１を使用するCPU２１（データ処理部１２２）のデータの入出力の待ち時間を短縮することができる。
【０１１７】
以上のように、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定し、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する場合には、データをメモリに書き込んだり、メモリからデータを読み出したりすることができる。また、メモリへのデータの書き込みおよびメモリからのデータの読み出しを効率的かつ確実に行うことができる。
【０１１８】
なお、上述した実施の形態では、メモリコントローラを備えたコンピュータの例を示したが、メモリコントローラを用いてメモリへのデータの読み書きを制御する情報処理装置であれば、その形態は問わない。例えば、そのような情報処理装置として、ビデオカメラ、デジタルスチルカメラ、ゲーム機器、携帯情報端末（携帯型のコンピュータ、携帯電話機、携帯型ゲーム機など）、ストレージ装置（例えば、光ディスク装置、ホームサーバ）などが含まれる。
【０１１９】
また、上述した実施例（図７、図８、および図９）では、ポート３１乃至３３からSDの画像データが入出力される例を示したが、SD以外の画像データ（例えば、HDの画像データ）をポート３１乃至３３から入出力することも可能である。さらに、ポート３１乃至３３から入出力される画像データを、各ポート毎に異なる種類（例えば、SDまたはHD）の画像データとすることも可能である。
【０１２０】
また、上述した実施例（図７、図８、および図９）では、CPU２１（データ処理部１２２）が、２つのSDの画像データを合成する例を示したが、複数のHDの画像データ、または、SDの画像データとHDの画像データを合成することも可能である。さらに、本発明は、CPU２１（データ処理部１２２）が画像データの合成以外の様々な画像処理、編集処理、符号化処理などを行う場合にも適用することができる。また、本発明は、CPU２１（データ処理部１２２）が画像データ以外のデータ（例えば、音声データなどの様々なコンテンツデータ）をデータ処理する場合にも適用することができる。
【０１２１】
さらに、上述した実施の形態では、アクセス時間指定レジスタ１０２−１乃至１０２−４に設定するタイムスロット数をCPU２１（アクセス時間設定部１２１）が算出するようにしたが、CPU２１とは別に設けられたプロセッサなどの算出手段が算出するようにしてもよい。また、その算出手段を、メモリコントローラ２２内に設けるようにしてもよい。さらに、CPU２１をマルチコアプロセッサとし、アクセス時間指定レジスタ１０２−１乃至１０２−４に設定するタイムスロット数を、２つ以上のプロセッサコアで分担して算出するようにしてもよい。
【０１２２】
また、本発明は、RAM２３のような揮発性のメモリへのデータの読み書きの制御だけでなく、EEPROM（Electrically Erasable and Programmable Read Only Memory）、HDD（Hard Disk Drive）、MRAM（Magnetoresistive Random Access Memory，磁気抵抗メモリ）、FeRAM（Ferroelectric Random Access Memory，強誘電体メモリ）、OUM（Ovonic Unified Memory）などの不揮発性のメモリへのデータの読み書きの制御にも適用することができる。
【０１２３】
さらに、本発明は、データの読み書きを制御するメモリの個数が２個以上の場合にも適用することができる。
【０１２４】
また、メモリコントローラが別の機器に備えられているメモリへのデータの読み書きを制御するようにすることも可能である。
【０１２５】
さらに、以上の説明では、優先ポートの数をポート３２および３３の２つとしたが、優先ポートの数を１つ、または、３つ以上としてもよい。さらに、以上の説明では、変動ポートの数をポート３１の１つとしたが、変動ポートの数を２つ以上にしてもよい。
【０１２６】
また、本発明では、１フレームの幅（時間）を短くして、RAM２３へのデータの入出力経路を頻繁に変更するようにした方が、バッファ１０１−１乃至１０１−９の容量を少なくすることができる。ただし、アクセスするRAM２３のアドレスが頻繁に変更されることにより、アクセス時間のロスが発生するため、RAM２３のメモリ帯域の実行値が、理論値より小さくなる場合がある。従って、バッファの容量とメモリ帯域の実行値のバランスを考慮して、１フレームの幅を設定することが望ましい。
【０１２７】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１２８】
この記録媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア１８などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM２４や、記録部１４に含まれるハードディスクなどで構成される。
【０１２９】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０１３０】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１３１】
【図１】本発明を適用したコンピュータの一実施の形態を示すブロック図である。
【図２】メモリコントローラに入力される書き込みパケットのデータ構成の例を示す図である。
【図３】メモリコントローラに入力される読み出しパケットのデータ構成の例を示す図である。
【図４】図１のメモリコントローラの機能の構成の例を示すブロック図である。
【図５】図１のCPUにより実現される機能の一部の構成の例を示すブロック図である。
【図６】図１のコンピュータにより実行されるデータ読み書き処理を説明するフローチャートである。
【図７】メモリコントローラのポートに入力される画像データの例を示す図である。
【図８】メモリコントローラの他のポートに入力される画像データの例を示す図である。
【図９】メモリコントローラのポートから出力される画像データの例を示す図である。
【図１０】フレームの構成の例を示す図である。
【図１１】メモリコントローラのポートに入力される画像データのさらに他の例を示す図である。
【図１２】メモリコントローラのポートから出力される画像データの他の例を示す図である。
【図１３】フレームの構成の他の例を示す図である。
【符号の説明】
【０１３２】
１  コンピュータ，  １１  データ処理部，  １４  記録部，  １６  ドライブ，  １８  リムーバブルメディア，  ２１  CPU，  ２２  メモリコントローラ，  ２３  RAM，  ２４  ROM，  ３１乃至３３  ポート，  ４１乃至４９  バス，  １０１  バッファ，  １０２  アクセス時間指定レジスタ，  １０３  シーケンサ，  １０４，１０５  MUX，  １０６  分離回路，  １０７  MUX，  １２１  アクセス時間設定部，  １２２  データ処理部
【図１】
2006236056.tif 000003
【図２】
2006236056.tif 000004
【図３】
2006236056.tif 000005
【図４】
2006236056.tif 000006
【図５】
2006236056.tif 000007
【図６】
2006236056.tif 000008
【図７】
2006236056.tif 000009
【図８】
2006236056.tif 000010
【図９】
2006236056.tif 000011
【図１０】
2006236056.tif 000012
【図１１】
2006236056.tif 000013
【図１２】
2006236056.tif 000014
【図１３】
2006236056.tif 000015
【手続補正書】
【提出日】平成18年5月9日(2006.5.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ポートから入力されるデータをメモリに書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御装置において、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定手段と、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御手段と
を含むメモリ制御装置。
【請求項２】
前記ポートは、複数のポートにより構成され、
前記第１の入力データは、第１のポートから入力され、
前記第１の出力データは、前記第１のポートから出力され、
前記第２の入力データは、第２のポートから入力され、
前記第２の出力データは、前記第２のポートから出力される
請求項１に記載のメモリ制御装置。
【請求項３】
前記第１の入力データおよび前記第１の出力データは、ほぼリアルタイムに処理される実時間処理データである
請求項１に記載のメモリ制御装置。
【請求項４】
前記第２の入力データおよび前記第２の出力データは、前記メモリを備える装置のプロセッサで処理されるデータである
請求項１に記載のメモリ制御装置。
【請求項５】
前記読み書き制御手段は、前記周期ごとに、前記書き込み許可時間および前記読み出し許可時間を割り当て、前記書き込み許可時間内に前記第１の入力データを前記メモリに書き込み、前記読み出し許可時間内に前記第１の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する
請求項１に記載のメモリ制御装置。
【請求項６】
前記読み書き制御手段は、前記第１の入力データの書き込みが要求されていない場合、前記書き込み許可時間内に、前記第２の入力データを前記メモリに書き込むように、または、前記第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する
請求項１に記載のメモリ制御装置。
【請求項７】
前記読み書き制御手段は、前記第１の出力データの読み出しが要求されていない場合、前記読み出し許可時間内に、前記第２の入力データを前記メモリに書き込むように、または、前記第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する
請求項１に記載のメモリ制御装置。
【請求項８】
前記読み書き制御手段は、前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間を前記周期の先頭に割り当てる
請求項１に記載のメモリ制御装置。
【請求項９】
前記設定手段は、前記周期を所定の時間により等分したタイムスロットの数により、前記書き込み許可時間および前記読み出し許可時間を設定する
請求項１に記載のメモリ制御装置。
【請求項１０】
ポートから入力されるデータをメモリに書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御方法において、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むメモリ制御方法。
【請求項１１】
ポートから入力されるデータをメモリに書き込み、前記ポートから出力されるデータを前記メモリから読み出すメモリ制御処理用のコンピュータに、メモリ制御処理を行わせるプログラムであって、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むプログラム。
【請求項１２】
データを記憶するメモリと、
ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定手段と、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御手段と
を含む情報処理装置。
【請求項１３】
前記ポートから出力されるデータに画像処理を施し、画像処理を施したデータを前記ポートに入力する画像処理手段を
さらに含む請求項１２に記載の情報処理装置。
【請求項１４】
データを記憶するメモリを有する情報処理装置の情報処理方法であって、
ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むプログラム。
【請求項１５】
データを記憶するメモリを有する情報処理装置のコンピュータに、情報処理を行わせるプログラムであって、
ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定し、前記ポートから出力される第１の出力データの転送速度に基づいて、前記周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間および前記読み出し許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、または、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリへのデータの書き込みおよび前記メモリからのデータの読み出しを制御する読み書き制御ステップと
を含むプログラム。
【請求項１６】
請求項１１または請求項１５に記載のプログラムを記録した記録媒体。
【請求項１７】
ポートから入力されるデータをメモリに書き込むメモリ制御装置において、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定する設定手段と、
前記周期内の前記書き込み許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、前記メモリへのデータの書き込みを制御する制御手段と
を含むメモリ制御装置。
【請求項１８】
ポートから入力されるデータをメモリに書き込むメモリ制御方法において、
前記ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに前記第１の入力データの前記メモリへの書込みを許可する書き込み許可時間を設定する設定ステップと、
前記周期内の前記書き込み許可時間以外の時間内に、前記ポートから入力される第２の入力データを前記メモリに書き込むように、前記メモリへのデータの書き込みを制御する制御ステップと
を含むメモリ制御方法。
【請求項１９】
ポートから出力されるデータをメモリから読み出すメモリ制御装置において、
前記ポートから出力される第１の出力データの転送速度に基づいて、所定の周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定手段と、
前記周期内の前記読み出し許可時間以外の時間内に、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリからのデータの読み出しを制御する制御手段と
を含むメモリ制御装置。
【請求項２０】
ポートから出力されるデータをメモリから読み出すメモリ制御方法において、
前記ポートから出力される第１の出力データの転送速度に基づいて、所定の周期ごとに前記第１の出力データの前記メモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、
前記周期内の前記読み出し許可時間以外の時間内に、前記ポートから出力される第２の出力データを前記メモリから読み出すように、前記メモリからのデータの読み出しを制御する制御ステップと
を含むメモリ制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の第１のメモリ制御装置は、ポートから入力されるデータをメモリに書き込み、ポートから出力されるデータをメモリから読み出すメモリ制御装置において、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定手段と、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する読み書き制御手段とを含むことを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明の第１のメモリ制御方法、本発明の記録媒体に記録されている第１のプログラム、および本発明の第１のプログラムは、ポートから入力されるデータをメモリに書き込み、ポートから出力されるデータをメモリから読み出すメモリ制御方法において、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する読み書き制御ステップとを含むことを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
本発明の情報処理方法、本発明の記録媒体に記録されている第２のプログラム、および本発明の第２のプログラムは、データを記憶するメモリを有する情報処理装置のコンピュータに、情報処理を行わせるプログラムであって、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定し、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しを制御する読み書き制御ステップとを含むことを特徴とする。
本発明の第２のメモリ制御装置は、ポートから入力されるデータをメモリに書き込むメモリ制御装置であって、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定する設定手段と、周期内の書き込み許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、メモリへのデータの書き込みを制御する制御手段とを含むことを特徴とする。
本発明の第２のメモリ制御方法は、ポートから入力されるデータをメモリに書き込むメモリ制御方法であって、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定する設定ステップと、周期内の書き込み許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、メモリへのデータの書き込みを制御する制御ステップとを含むことを特徴とする。
本発明の第３のメモリ制御装置は、ポートから出力されるデータをメモリから読み出すメモリ制御装置であって、ポートから出力される第１の出力データの転送速度に基づいて、所定の周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定手段と、周期内の読み出し許可時間以外の時間内に、ポートから出力される第２の出力データをメモリから読み出すように、メモリからのデータの読み出しを制御する制御手段とを含むことを特徴とする。
本発明の第３のメモリ制御方法は、ポートから出力されるデータをメモリから読み出すメモリ制御方法であって、ポートから出力される第１の出力データの転送速度に基づいて、所定の周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定ステップと、周期内の読み出し許可時間以外の時間内に、ポートから出力される第２の出力データをメモリから読み出すように、メモリからのデータの読み出しを制御する制御ステップとを含むことを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
本発明の第１のメモリ制御装置、第１のメモリ制御方法、記録媒体に記録されている第１のプログラム、および、第１のプログラムにおいては、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間が設定され、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間が設定され、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しが制御される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
本発明の情報処理装置、情報処理方法、記録媒体に記録されている第２のプログラム、および、第２のプログラムにおいては、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間が設定され、ポートから出力される第１の出力データの転送速度に基づいて、周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間が設定され、周期内の書き込み許可時間および読み出し許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、または、ポートから出力される第２の出力データをメモリから読み出すように、メモリへのデータの書き込みおよびメモリからのデータの読み出しが制御される。
本発明の第２のメモリ制御装置および第２のメモリ制御方法においては、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間が設定され、周期内の書き込み許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、メモリへのデータの書き込みが制御される。
本発明の第３のメモリ制御装置および第３のメモリ制御方法においては、ポートから出力される第１の出力データの転送速度に基づいて、所定の周期ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間が設定され、周期内の読み出し許可時間以外の時間内に、ポートから出力される第２の出力データをメモリから読み出すように、メモリからのデータの読み出しが制御される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
請求項１６に記載の記録媒体（例えば、図１のリムーバブルメディア１８）は、請求項１１または請求項１５に記載のプログラムを記録することを特徴とする。
請求項１７に記載のメモリ制御装置（例えば、図１のデータ処理部１１）は、ポート（例えば、図１のポート３１乃至３３）から入力されるデータをメモリ（例えば、図１のRAM２３）に書き込むメモリ制御装置であって、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定する設定手段（例えば、図５のアクセス時間設定部１２１）と、周期内の書き込み許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、メモリへのデータの書き込みを制御する制御手段（例えば、図１のメモリコントローラ２２）とを含むことを特徴とする。
請求項１８に記載のメモリ制御方法は、ポート（例えば、図１のポート３１乃至３３）から入力されるデータをメモリ（例えば、図１のRAM２３）に書き込むメモリ制御方法であって、ポートから入力される第１の入力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに第１の入力データのメモリへの書込みを許可する書き込み許可時間を設定する設定ステップ（例えば、図６のステップＳ１およびＳ２）と、周期内の書き込み許可時間以外の時間内に、ポートから入力される第２の入力データをメモリに書き込むように、メモリへのデータの書き込みを制御する制御ステップ（例えば、図６のステップＳ８）とを含むことを特徴とする。
請求項１９に記載のメモリ制御装置（例えば、図１のデータ処理部１１）は、ポート（例えば、図１のポート３１乃至３３）から出力されるデータをメモリ（例えば、図１のRAM２３）から読み出すメモリ制御装置であって、ポートから出力される第１の出力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定手段（例えば、図５のアクセス時間設定部１２１）と、周期内の読み出し許可時間以外の時間内に、ポートから出力される第２の出力データをメモリから読み出すように、メモリからのデータの読み出しを制御する制御手段（例えば、図１のメモリコントローラ２２）とを含むことを特徴とする。
請求項２０に記載のメモリ制御方法は、ポート（例えば、図１のポート３１乃至３３）から出力されるデータをメモリ（例えば、図１のRAM２３）から読み出すメモリ制御方法であって、ポートから出力される第１の出力データの転送速度に基づいて、所定の周期（例えば、フレーム）ごとに第１の出力データのメモリからの読出しを許可する読み出し許可時間を設定する設定ステップ（例えば、図６のステップＳ１およびＳ２）と、周期内の読み出し許可時間以外の時間内に、ポートから出力される第２の出力データをメモリから読み出すように、メモリからのデータの読み出しを制御する制御ステップ（例えば、図６のステップＳ８）とを含むことを特徴とする。