(57)【要約】【課題】  比較的低速なメモリを使用した場合にもメモリアクセスが破綻することを防止したデータ処理装置を提供することを課題とする。【解決手段】  データを記憶するメモリ（１７）と、メモリに対してアクセス可能な複数の処理手段（３〜１１）と、複数の処理手段の間に設定された優先順位に基づいて複数の処理手段によるメモリに対するアクセスを制御する制御手段（１３）とを有し、制御手段は、処理手段のメモリに対するアクセス要求の拒絶回数に応じて処理手段の優先順位を変更するデータ処理装置が提供される。【選択図】        図１
2006350941.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するメモリと、
前記メモリに対してアクセス可能な複数の処理手段と、
前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、
前記制御手段は、前記処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて前記処理手段の優先順位を変更することを特徴とするデータ処理装置。
【請求項２】
前記制御手段は、前記アクセス要求の拒絶回数に応じて前記処理手段の優先順位を上げることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記制御手段は、前記処理手段の前記メモリに対するアクセス要求の許可の回数に応じて前記処理手段の優先順位を変更することを特徴とする請求項１又は２記載のデータ処理装置。
【請求項４】
前記制御手段は、前記優先順位の変更の結果、前記アクセス要求が拒絶された処理手段からのアクセス要求が許可されたことに応じて前記アクセス要求が許可された処理手段の優先順位を下げることを特徴とする請求項３記載のデータ処理装置。
【請求項５】
前記制御手段は、前記複数の処理手段による前記メモリへのアクセス状況に応じて前記処理手段の優先順位を変更可能にすることを特徴とする請求項１〜４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記制御手段は、前記複数の処理手段による前記メモリへのアクセスレートの合計に応じて前記処理手段の優先順位を変更可能にすることを特徴とする請求項５記載のデータ処理装置。
【請求項７】
前記制御手段は、前記複数の処理手段による前記メモリへのアクセスレートの合計が閾値よりも高いときには前記処理手段の優先順位を変更可能にすることを特徴とする請求項５記載のデータ処理装置。
【請求項８】
前記制御手段は、前記複数の処理手段のうち第１の処理手段のアクセス要求の拒絶回数に応じて前記第１の処理手段よりも高い優先順位が設定されている第２の処理手段に対する前記第１の処理手段の優先順位を高くすることを特徴とする請求項１記載のデータ処理装置。
【請求項９】
前記複数の処理手段は、リアルタイム処理が必要な第１のデータを処理する第１の処理手段と、リアルタイム処理が不要な第２のデータを処理する第２の処理手段とを含み、前記制御手段は、前記第２の処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて前記第１の処理手段と第２の処理手段の間の優先順位を変更することを特徴とする請求項１記載のデータ処理装置。
【請求項１０】
前記制御手段は、前記第２の処理手段からのアクセス要求がｍ回続けて拒絶されたことに応じて前記第２の処理手段の優先順位を前記第１の処理手段よりも高くすると共に、前記第２の処理手段からのアクセス要求が許可されたことに応じて前記第２の処理手段の優先順位を前記第１の処理手段の優先順位よりも低くすることを特徴とする請求項９記載のデータ処理装置。
【請求項１１】
前記制御手段は、それぞれ所定数の前記処理手段を含む複数の処理グループの間の優先順位を変更することを特徴とする請求項１記載のデータ処理装置。
【請求項１２】
データを記憶するメモリと、
前記メモリに対してアクセス可能な複数の処理手段と、
前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、
前記制御手段は、前記処理手段の前記メモリに対するアクセス要求の許可の回数に応じて前記処理手段の優先順位を変更することを特徴とするデータ処理装置。
【請求項１３】
データを記憶するメモリと、前記メモリに対してアクセス可能な複数の処理手段とを有するデータ処理装置のデータ処理方法であって、
前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、
前記処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて前記処理手段の優先順位を変更する変更ステップと
を有することを特徴とするデータ処理方法。
【請求項１４】
データを記憶するメモリと、前記メモリに対してアクセス可能な複数の処理手段とを有するデータ処理装置のデータ処理方法であって、
前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、
前記処理手段の前記メモリに対するアクセス要求の許可の回数に応じて前記処理手段の優先順位を変更する変更ステップと
を有することを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及び方法に関する。
【背景技術】
【０００２】
従来、動画像データや音声データをデジタルデータとして磁気テープに記録再生するデジタルＶＴＲが知られている。デジタル動画像データは膨大なデータ量となるため、デジタルＶＴＲでは、動画像データを符号化することによりデータ量を削減して比較的低い伝送レートに変換した後記録している。
【０００３】
また、特に民生用のデジタルＶＴＲでは、回路規模の削減や消費電力、コスト削減の要求が大きく、これらの要求を満たすべく、動画データや音声データの処理回路を設計している。
【０００４】
一方、近年、ＳＤＲＡＭに代表される大容量のメモリが比較的安価に利用できる環境が整いつつある。膨大な量のデータを処理するデジタルＶＴＲにおいても、複数の処理ブロックが大容量メモリを共通に使用することで、回路規模や消費電力の削減を図ることが考えられている。
【０００５】
大容量メモリを複数の回路ブロックにて共通に使用した場合、複数の回路ブロックからのメモリアクセスが競合することが考えられる。そこで、各回路ブロックに対してメモリアクセスの優先順位を決めておき、競合した場合にこの優先順位に従ってメモリアクセスを調停する処理が行われる（例えば、特許文献１参照）。
【０００６】
また、近年では、デジタル放送が始まり、これに伴い、ＮＴＳＣなどの標準解像度（ＳＤ）の画像データに代わり、高精細（ＨＤ）画像データを扱う機器が増えており、ＨＤデータを記録可能なデジタルＶＴＲも登場している。
【０００７】
【特許文献１】特開平５−３０７５３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、デジタルＶＴＲの様にリアルタイムにデータを処理する装置においては、大容量メモリを複数の回路ブロックにて共通に使用した場合、決められた優先順位に従った調停処理によりメモリアクセスが待たされた結果、データの処理が間に合わずに破綻してしまうことが考えられる。
【０００９】
これを避けるためには、より高速にアクセス可能なメモリを使用する必要があるが、高速なメモリは低速なメモリに比べて高価であり、また、消費電力も大きくなってしまう。
【００１０】
また、リアルタイムにデータを処理する回路ブロックの優先順位を高く設定した場合には、それ以外の回路ブロックのアクセスが長期間待たされることも考えられ、やはりデータの処理が間に合わずに破綻してしまう。
【００１１】
本発明はこの様な問題を解決し、比較的低速なメモリを使用した場合にもメモリアクセスが破綻することを防止したデータ処理装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のデータ処理装置は、データを記憶するメモリと、前記メモリに対してアクセス可能な複数の処理手段と、前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、前記制御手段は、前記処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて前記処理手段の優先順位を変更することを特徴とする。
また、本発明のデータ処理装置は、データを記憶するメモリと、前記メモリに対してアクセス可能な複数の処理手段と、前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、前記制御手段は、前記処理手段の前記メモリに対するアクセス要求の許可の回数に応じて前記処理手段の優先順位を変更することを特徴とする。
また、本発明のデータ処理方法は、データを記憶するメモリと、前記メモリに対してアクセス可能な複数の処理手段とを有するデータ処理装置のデータ処理方法であって、前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、前記処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて前記処理手段の優先順位を変更する変更ステップとを有することを特徴とする。
また、本発明のデータ処理方法は、データを記憶するメモリと、前記メモリに対してアクセス可能な複数の処理手段とを有するデータ処理装置のデータ処理方法であって、前記複数の処理手段の間に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、前記処理手段の前記メモリに対するアクセス要求の許可の回数に応じて前記処理手段の優先順位を変更する変更ステップとを有することを特徴とする。
【発明の効果】
【００１３】
メモリに対する複数のアクセス要求が競合した場合にも、優先順位を動的に変更することにより、メモリに対するアクセスを破綻なく保障することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好適な実施形態を図を用いて説明する。
図１は、デジタルＶＴＲに適用した本発明の一実施形態における基本構成ブロック図を示したものである。
【００１５】
本実施形態は、図１に示すように各種処理ブロックが内／外のＣＰＵによって制御されつつ各々が所望のタイミングでメモリにアクセスし、それらのアクセス要求をメモリ制御部が調停することで上記処理ブロックの動作を保証するように構成されている。
【００１６】
また、本実施形態における各処理ブロックはＳＤ及びＨＤ対応の画像データ及びオーディオデータのリアルタイム処理を行うことができる。本実施形態においてはこのような処理ユニットを並列配置して各処理回路に時分割的に画像データ及びオーディオデータを供給して処理させる。ことによって、本実施形態は、１フレーム当たりのデータ量が上記ＳＤ画像データの倍であるようなＨＤ対応の画像データ及びオーディオデータをリアルタイムに処理することが出来るように構成されている。
【００１７】
まず初めに各ブロックの動作を説明する。上記処理ユニットにおける各処理回路は、図１に示すように、データＩ／Ｏブロック１、画像データ入出力ブロック３、オーディオ処理ブロック５、符号化／復号化ブロック７、誤り訂正ブロック９、符号化データ入出力ブロック１１、電磁変換処理ブロック２５から大略構成されている。これら各ブロック（処理手段）は、アドレス変換回路１３及びメモリインターフェース１５を介して外付けの上記メモリ１７とデータの授受を行うためにアクセス可能である。メモリ１７は、データを記憶する。データＩ／Ｏブロック１は、カメラからの入力データ、ＥＶＦ（電子ビューファインダ）への出力データ、ライン入出力データ等のデータを処理する。画像データ入出力ブロック３は、上記入力データに対してＹ／Ｃ分離等の処理をする。符号化／復号化ブロック７は、画像データに対して離散コサイン変換を用いた可変長符号化／復号化を行う。符号化データ入出力ブロック１１は、記録時に上記符号化データをテープフォーマットに変換または、再生時にデフォーマット処理をする。電磁変換処理ブロック２５は、記録／再生時の電磁変換処理を行う。
【００１８】
これら処理回路の動作は、内部の電気系の処理を制御するシステムコントロールＣＰＵ１０からＣＰＵバスＣＢＳ２を介して供給される所定のコマンド、更に外部のサーボ系ＣＰＵ２３からＣＰＵバスＣＢＳ１及びインターフェース２１、及び上記ＣＰＵバスＣＢＳ２を介して供給される所定のコマンドによって制御されて並列配置された各ブロックを時分割処理させる。
【００１９】
本実施形態における上記メモリ１７は、クロックの立ち上がりに同期してデータのバースト転送を行い得るＳＤＲＡＭ（Ｓｙｎｃｒｏｎｏｕｓ−ＤＲＡＭ）が用いられている。外部の周波数発振器２７は、上記ユニット内の周波数逓倍器２９に例えば、２７ＭＨｚのジッターの無いクロックを供給する。そこで逓倍されて発生した６７．５ＭＨｚのクロックがリファレンスクロックとしてメモリ１７に供給される。ここでリファレンスクロックの周波数６７．５ＭＨｚ（ＭＣＬＫ）は、周波数発振器３１で作られるＨ＿Ｓｙｎｃにロックした１３．５ＭＨｚの整数倍（５倍）に設定されている。
【００２０】
上記メモリ領域には、符号化される前の画像データ（Ｙ，Ｃｒ，Ｃｂ）が画素単位で書き込まれる。この画像データ（ＮＴＳＣ方式のＳＤモードの場合、１フレーム当たり水平７２０画素×垂直４８０画素）は、水平方向５ブロック×垂直方向１０ブロックの５０個のスーパーマクロブロック（以下、ＳＭＢと記す）に配分される。各ＳＭＢは、輝度データ４ＤＣＴ（離散コサイン変換）ブロックと色差データ各１ＤＣＴブロックとから成るマクロブロック（以下、ＭＢと記す）を２７ブロック集めて構成されている。なお、各ＤＣＴブロックは８×８画素から構成される。
【００２１】
また、上述のような画素数から成る１フレームの画像データはＮＴＳＣ方式の場合符号化処理された後に磁気テープ上の１０トラックに渡って記録されるが、符号化前の画像データは上述のような水平方向に整列された５ＳＭＢ分のデータが１本のトラックにそれぞれ対応する。
【００２２】
一方、上記メモリ領域には、符号化された後の画像データ及び誤り訂正符号等が格納されている。記録媒体へ記録される場合においてそれらのデータは、上述の１０本のトラックに分配されて記録される。ここで各トラックに対応する領域には１４９のシンクブロック（以下、ＳＢと記す）が記録される。
【００２３】
同様に、図示せずもオーディオデータ及び誤り訂正符号等も、上記画像データ領域とは独立した１０本のトラックに分配されて記録され、各トラックに対応する領域には１４ＳＢが記録される。
【００２４】
また、画像データ／オーディオデータの各ＳＢは、ＳＢの先頭を示す同期データ（以下、ＳＹと記す）、信号の各アドレス及び属性等を示すＩＤデータ（以下、ＩＤと記す）、有効（画像／オーディオ）データ、及びパリティからそれぞれ構成される。
【００２５】
入力された音声データはオーディオ処理ブロック５を介し、ＳＤＲＡＭの所定領域に書き込まれる。その後、符号化／復号化ブロック７は映像データと同様に音声データをＳＤＲＡＭの所定領域から読出し、例えばＤＶフォーマットの音声圧縮方式に対応する方式で圧縮する。ＡＵＸデータやサブコードデータなどで構成されるシステムデータは、システムコントロールＣＰＵ１９によりＳＤＲＡＭの所定領域に書き込まれる。それらＳＤＲＡＭ上の入力されたデータは誤り訂正ブロック９により誤り訂正符号やＩＤを付加したり１６トラックの間でのインタリーブ処理を施す。その後、符号化データ入出力ブロック１１はＳＤＲＡＭからデータを読出しトラッキング用のパイロット信号成分が強く出るように選ばれた冗長な１ビットを付加することで２４ビット単位のデータを２５ビット単位のデータに変換（以降、２４−２５変換と記す。）する。符号化データ入出力ブロック１１は、後述するメインデータ又はサブコードに付加するシンクデータ、アンブルデータ、及びＩＴＩのデータを発生する。
【００２６】
即ち、図示せずもアドレス変換回路１３は、内外部のＣＰＵ１９、２３からバスＣＢＳ２を介して再生モードか記録モードかといった各種動作モードの種類等を指定するコマンドが伝送されるか、又は、直接各ブロックのアドレスの所定ビットによって上記モードが伝送される。そして、アドレス変換回路１３は、これらの情報に応じてデータ転送の優先順位に関するスケジューリングを行うと共に、上記各ブロックからのアクセス要求（以下、Ｒｅｑと記す）に応じて各処理ブロックとメモリ１７との間のデータ転送の調停を行う。すなわち、アドレス変換回路１３は、複数の処理ブロックの間に設定された優先順位に基づいて複数の処理ブロックによるメモリ１７に対するアクセスを制御する。
【００２７】
上記コマンドは、図示せずも機器本体の各スイッチ等によって設定される動作モードを上記内外部ＣＰＵが検出する事によって決定されるものであり、例えば符号化モード、復号化モード、或いは、ＶＴＲにおける特殊再生モード等の各種動作モードに対応する。
【００２８】
上記アドレス変換回路１３は、上記各処理ブロックにおける処理形態及び上記メモリ１７のアドレス空間に応じた最適なデータ単位でアドレッシングし得るように各処理ブロック毎に後述する所定のアドレスを生成する。
【００２９】
また、このアドレス変換回路１３におけるアドレス生成動作は、上記内外ＣＰＵ１９，２３から伝送される画像タイプに応じたパラメータに基づいて可変設定されるようになっており、例えば処理すべき画像がＳＤかＨＤかといった画像タイプ（サイズ）に応じて異なるアドレスを発生する。
【００３０】
一方、上記各処理回路の各部はそれぞれ必要なクロックが供給されており、そのクロックに同期して動作する。
【００３１】
これらのクロックは、入力信号中から抽出される同期信号ＨＳｙｎｃ、ＶＳｙｎｃ及び内部基準クロック等に基づいて、上記画像データ入出力ブロック３に供給されて入力信号に同期する第１のクロック（本実施形態では１３．５ＭＨｚ）、図示せずもオーディオ処理ブロック５に供給されてオーディオデータの処理を行うための第２のクロック（本実施形態では４８ＫＨｚ）、符号化／復号化ブロック７と誤り訂正ブロック９及び、アドレス変換回路１３、メモリＩ／Ｆ１５、メモリ１７に供給される第３のクロック（本実施形態では６７．５ＭＨｚ）、符号化データ入出力ブロック１１に電磁変換処理ブロック２５から供給されるドラムの回転に同期したクロックで、記録媒体への記録／再生を行うための第４のクロック（本実施形態では４１．８５ＭＨｚ）がある。各処理ブロックは、供給されたクロックに応じた処理動作を行う。また、３３はメモリへのアクセスレート監視ブロックである。
【００３２】
図２は、本実施形態に於けるメモリアクセスの制御機能を説明するための機能ブロック図である。
【００３３】
１３、１５は図１に於けるアドレス変換回路及びメモリＩ／Ｆであり、１７はメインメモリのＳＤＲＡＭである。２００は夫々所定の周期でリアルタイム処理が必要なブロックのグループ（以降、Ｇｒ１と記す。）である。Ｇｒ１は、固定された高い優先順のグループである。２０２は所定の周期でリアルタイム処理が不要なハンドシェーク系のブロックのグループ（以降、Ｇｒ２と記す。）である。Ｇｒ２は、ハンドシェーク可能なグループであり、本実施形態では優先順位が固定されている。２０４は、２０２と同様にリアルタイム処理が不要なハンドシェーク系のブロックのグループ（以降、Ｇｒ３と記す。）である。但し、Ｇｒ３は、ハンドシェーク系のグループの中でも比較的低いアクセスレートのブロックであり、例えば、図示せずもキャッシュブロックのアクセス等である。このアクセスは、ワーストケースが連続した場合において破綻する可能性があるブロックである。
【００３４】
図３は、本実施形態に於けるメモリアクセスの優先順位を示した一例の図である。
３００、３０６は、図２で示したＧｒ３としてグルーピングされたハンドシェーク系ブロックのリクエストで例えば図１のシステムコントロールＣＰＵ１９からのキャッシュ用のリクエスト（以降、reqcheと記す。）である。このリクエストが、本実施形態によりダイナミックにアクセス制御されるものであり、デフォルトの優先順位は最下位であり、図５、図６を用いて後述する条件により、最上位または最下位の優先順位に設定される。３０２は、図２で示したＧｒ１としてグルーピングされたリアルタイム系ブロックのリクエストで例えば図１の画像データ入出力ブロック３のリクエスト（以降reqy, reqcと記す。）、オーディオ処理ブロック５のリクエスト（以降reqaと記す。）、符号化データ入出力ブロック１１のリクエスト（以降reqrと記す。）である。３０４は、図２で示したＧｒ２としてグルーピングされたハンドシェーク系ブロックのリクエストで例えば図１の誤り訂正ブロック９のリクエスト（以降reqeと記す。）、システムコントロールＣＰＵ１９のリクエスト（以降reqcpと記す。）、サーボ系ＣＰＵ２３のリクエスト（以降reqecpと記す。）、符号化／復号化ブロック７のリクエスト（以降reqvと記す。）である。
【００３５】
次に、図４を用いてメモリアクセスが正常に動作している時と、破綻する時のアクセスパターンを説明する。この例では、説明を容易にするためにreqy, reqc,reqe,そして、reqcheのみのアクセスを用いて説明する。
【００３６】
reqy, reqc,reqe,reqcheのそれぞれの信号波形は、各ブロックからリクエストが発生した時、'H'レベルになり、図１のアドレス変換回路１３によるアービトレーション（調停処理）によりリクエストが受け付けられた時に'L'レベルになるように動作する。アービトレーションは受け付けられたリクエストのメモリアクセス処理が完了後、速やかに実施される。この図では、４００，４０４，４０８，４１２，４１６，４２０，４２４，４２８，４３２がメモリアクセス処理時間を示しており、４０２，４０６，４１０，４１４，４１８，４２２，４２６，４３０がアービトレーションのタイミングを示している。
【００３７】
まず、メモリアクセス処理が破綻しない場合の動作を説明する。４００のメモリアクセス処理が完了後、４０２のアービトレーションタイミングにおいて、reqy,reqc,reqe,reqcheの全てのリクエストが発生しているため、優先順位が一番高いreqyが受け付けられ、reqyの波形が'H'から'L'に変化する。それと共に、設定されたバースト長に従いメモリアクセスが４０４に示した時間を占有して実施される。４０４のアクセスが完了すると４０６のアービトレーションタイミングにおいて、reqc,reqe,reqcheのリクエストが発生しているため、その時点で優先順位が一番高いreqcが受け付けられる。そして、reqcの波形が'H'から'L'に変化すると共に、設定されたバースト長に従いメモリアクセスが４０８に示した時間を占有して実施される。４０８のアクセスが完了すると４１０のアービトレーションタイミングにおいて、reqe,reqcheのリクエストが発生しているため、その時点で優先順位が一番高いreqeが受け付けられる。そして、reqeの波形が'H'から'L'に変化すると共に、設定されたバースト長に従いメモリアクセスが４１２に示した時間を占有して実施される。４１２のアクセスが完了すると４１４のアービトレーションタイミングにおいて、reqcheのリクエストのみが発生しているため、reqcheが受け付けられる。そして、reqcheの波形が'H'から'L'に変化すると共に、設定されたバースト長に従いメモリアクセスが４１６に示した時間を占有して実施される。
【００３８】
次に、アクセスが破綻する場合について説明する。４１６のアクセスが完了すると４１８のアービトレーションタイミングにおいて、req,reqcheyのリクエストが発生しているため、その時点で優先順位が一番高いreqyが受け付けられる。そして、reqyの波形が'H'から'L'に変化すると共に、設定されたバースト長に従いメモリアクセスが４２０に示した時間を占有して実施される。この時、reqcheはアクセスを許可されず待たされる事になる。
【００３９】
４２０のアクセスが完了すると４２２のアービトレーションタイミングにおいて、新たに発生したreqcと前回のアービトレーションタイミングから待たされていたreqcheのリクエストが発生しているため、その時点で優先順位が一番高いreqcが受け付けられる。そして、reqcの波形が'H'から'L'に変化すると共に、設定されたバースト長に従いメモリアクセスが４２４に示した時間を占有して実施される。
【００４０】
４２４のアクセスが完了すると４２６のアービトレーションタイミングにおいて、新たに発生したreqyと前回のアービトレーションタイミングから待たされているreqcheのリクエストが発生しているため、その時点で優先順位が一番高いreqyが受け付けられる。そして、reqyの波形が'H'から'L'に変化すると共に、設定されたバースト長に従いメモリアクセスが４２８に示した時間を占有して実施される。同様に次のアービトレーションタイミング４３０においては、reqcのリクエストが受け付けられるために、reqcheは受け付けられ無い事になる。
【００４１】
このような状況が連続する事により、リアルタイムの処理が不要であるハンドシェーク系の処理、特に優先順位の低いブロックのアクセスにおいて、長い時間に渡りメモリへのアクセスが不可能になるとシステム的な破綻が生じる事になる。
【００４２】
ここで、T1,T2,T3は、例えばreqcheのリクエストタイミングを示す。図４はT2及びT3のリクエストが連続して受け付けられない状態にある事を示す。
【００４３】
図５に本実施形態を適用した場合のアクセスパターンを示す。なお、図４に示したパターンと同一のものについては、同じ番号を付し、説明は割愛する。ここでは、reqcheの優先順位を最下位から最上位に設定する条件として、リクエスト拒絶回数（以降、ｎと記す。）とリクエスト受付（許可）回数（以降、ｍと記す。）を設定する。これは、図１のシステムコントロールＣＰＵ１９によってレジスタ設定されるものである。
【００４４】
本実施形態では、図２に示したメモリアクセス制御回路にてこれらｎとｍ及び、実際に計数されたアクセス要求のリジェクト（拒絶）回数（以降、RejectNと記す。）と実際に計数されたアクセス要求の受付（許可）回数（以降、AcceptNと記す。）を比較し、この比較結果によってメモリアクセスの優先順位を変更する。
【００４５】
例として、初期状態で優先順位が最下位であるreqcheの優先順位を制御するための条件を図７に示した。これは、RejectN≧ｎの場合、reqcheの優先順位を最上位に設定し、AcceptN≧ｍの条件を満たした時、デフォルト値の最下位に設定する事を示している。
【００４６】
以下、n=1, m=1の場合を例に詳細な説明をする。リジェクト回数を計数する手段は、ハード的又はソフト的手段により容易に実現できるため特に図示しない。
【００４７】
例えば、reqcheのリクエストT2は、アービトレーション処理をされる時点４１８において、reqcheよりも優先順位の高いreqyと競合することとなり、その結果、reqcheのリクエストはその時点においてリジェクトされる事になる。従って、この場合、RejectNが計数されることにより'１'になり、n=1以上の値になったために、次のアービトレーションタイミングに於ける優先順位は最上位に設定される。
【００４８】
４２２のアービトレーションタイミングにおいて、reqcheのアクセス優先順位が最上位になる事により、他のリクエストと競合してもreqcheが受け付けられメモリへのアクセス５００が許可される。それと同時に、４２２のタイミングにおいて、reqcheが受け付けられたため、RejectNがリセットされると共に、AcceptNが'１'に設定される。
【００４９】
次に上記５００のアクセス完了後のアービトレーションタイミングでは、reqcとreqcheが競合しているが、ここでは、AcceptN≧mの条件が成立しているために、reqcheの優先順位が最下位になる。そして、reqcのリクエストが受け付けられ、メモリアクセス５０４が発生すると共に、AcceptNがリセットされる。
【００５０】
次のアービトレーションタイミングでは、上記優先順位のまま、reqyとreqcheのリクエストが競合し、reqyが受け付けられ、メモリアクセス５０８が発生する。それにより、再度、RejectNは計数され'1'になる。そのアクセスが完了後の５１０のアービトレーションタイミングではRejectN≧nの条件が成立し、通常であれば優先順位が高いreqcと競合しているにも関らず、reqcheの優先順位が最上位になる事でreqcheが受け付けられメモリアクセス５１２が発生する。それと共に、５１０のタイミングにおいて、reqcheが受け付けられたため、RejectNがリセットされると共に、AcceptNが'１'に設定され、次のアービトレーションタイミングではreqcheの優先順位は最下位に設定される。
【００５１】
図６のフローチャートを用いて、この様なreqcheのメモリアクセス優先順位の制御処理動作を説明する。
【００５２】
ステップ６００は、フローチャートの開始である。ステップ６０２において、アドレス変換回路１３はデフォルトプライオリティの設定を行う。アドレス変換回路１３は、ステップ６０４においてreqcheのリクエストの有無を判断し、ステップ６０６においてアービトレーションの完了を判定し、ステップ６０８においてreqcheのリクエストが受け付けられたかどうかを判断する。ここで、reqcheのアクノリッジ（以降、ackcheと記す。）が'1'であればreqcheのリクエストが受け付けられた事を示す。まず、ackche='0'であった場合、アービトレーションタイミングにおいてリジェクトされた事を意味し、ステップ６１０においてアドレス変換回路１３はRejectNを計数して'1'にする。
【００５３】
さらに、アドレス変換回路１３は、ステップ６１２において、RejectNとｎを比較し、本実施形態の場合、n=1であるため、ステップ６１４においてreqcheの優先順位を最上位に上げて設定する。ここで、RejectN≧ nの条件が満たされない場合は、ステップ６１８にジャンプする。上記条件が満たされている場合、アドレス変換回路１３は、ステップ６１６に遷移し、RejectNをリセットし、ステップ６１８にてシステムが停止していなければステップ６０４に戻り、次のreqcheのリクエストが発生すると、ステップ６０６でアービトレーション処理を行う。
【００５４】
ここで、reqcheの優先順位は最上位になっているため、他のいかなるリクエストが発生していてもreqcheが受け付けられる事により、ステップ６０８ではackche='1'となり、ステップ６２０に遷移する。アドレス変換回路１３は、ステップ６２０では、reqcheが受け付けられたためにAcceptNを計数し、ステップ６２２においてｍの値と比較する。この場合、m=1であるためAccept≧mの条件が満たされ、アドレス変換回路１３は、ステップ６２４にて優先順位を最下位に下げて設定する。ここで、AcceptN≧ mの条件が満たされない場合は、ステップ６１８にジャンプする。
【００５５】
そして、上記条件が満たされている場合、アドレス変換回路１３は、ステップ６２６に遷移して、AcceptNをリセットし、ステップ６１８に遷移し前述と同様の処理を繰り返す。ステップ６１８において、システムが停止すればステップ６２８にて処理が終了する。
【００５６】
次に、図８、図９、図１０を用いて、アクセスレートの監視手段を説明する。
図８は、図１に示したアクセスレート監視ブロック３３の構成例を示す図である。８００はアービトレーションによりアクセス許可されたアクセスデータのバースト長の入力端子であり、本実施形態では、７ビットの幅を持つ。
【００５７】
８１２は、アービトレーションにより許可されたメモリアクセス単位に発生するタイミング信号であり、そのタイミング信号毎に入力されるバースト長８００の値が変化する。８０２はＦＦ（フリップフロップ）、８０４は加算器、８０６はＦＦであり、バスＣＢＳ２を介して図１のシステムコントロールＣＰＵから制御されるタイミング発生器８１０からのリセット信号によりリセットされる。８０８はＦＦであり、８０６と同様にタイミング発生器８１０からのイネーブル信号により出力を制御される。
【００５８】
図９を用いて、詳細な動作タイミングを説明する。９００はメモリアクセスのタイミング信号であり、図８の８１２から入力される。９０２はそれに同期したバースト長（アクセスバイト数）であり、図示したようなバースト長のメモリアクセスが発生する。９０４は図８のタイミング発生器８１０から出力されるリセット信号であり、ＣＰＵにより1秒周期で'L'レベルにアサートされ、８０６のＦＦをリセットする。９０６はＦＦ８０６の出力を示したものである。９０８は図８のタイミング発生器８１０から出力されるイネーブルタイミング信号であり、リセット信号９０４のリセット（reset）周期と同様に１秒の周期で'L'にアサートされる信号であり、タイミング的には、９０４のリセット（reset）よりも少なくとも１サイクル前に発生し、ＦＦ８０８に供給される。その結果、ＦＦ８０８からは９１０に示したような値が出力される。その出力結果は、１秒間にメモリアクセスされたバイト数の合計であり、すなわちアクセスレートを意味し、それがＣＰＵに読み込まれる事になる。その値の単位は、byte/secであるために、ＣＰＵは８倍する事でbit/secに換算する。
【００５９】
図１０は、アクセスレートの変化を示した一例である。本実施形態では、前述の様に検出したアクセスレート（アクセス状況）に基づいてメモリアクセス制御モードを変更することが可能である。
【００６０】
即ち、例えば、図１０の例１に示す様に、レートに関らず前述の如くアクセス要求のリジェクト回数とアクセプト回数によって動的に優先順位を変更する。あるいは、図１０の例２に示した様に、アクセスレートに閾値を設け、アクセスレートが閾値よりも低い場合には優先順位を固定とし、アクセスレートが閾値を超えた場合に優先順位を動的に変化させるようにする。
【００６１】
本実施形態において、例えば、最大67.5Mbpsのシステムにおいてアクセスレートの閾値を80％と設定した場合、54Mbpsが閾値となり、その閾値によって優先順位固定と変動が動的に切り替わる。
【００６２】
なお、本発明はデジタルビデオカメラにのみ適用されるものではなく、競合するメモリアクセスを調停しつつ動作する全てのシステムに同様の処理が適用可能である事は明白である。
【００６３】
本実施形態によれば、ＤＲＡＭに対するリアルタイム系、ハンドシェーク系のアクセスレートを補償しつつＭＰＵ（マイクロプロセッサ）からの必要なアクセスを破綻なく保障する事ができる。
【００６４】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態によるデジタルＶＴＲの構成例を示す図である。
【図２】本実施形態のメモリアクセスの優先順位を示す図である。
【図３】本実施形態のメモリアクセスの構成を示す図である。
【図４】従来のメモリアクセスのリクエスト受付状況を示す図である。
【図５】本実施形態のメモリアクセスのリクエスト受付状況を示す図である。
【図６】本実施形態のアービトレーション制御のフローチャートである。
【図７】本実施形態のアービトレーション制御条件を示す図である。
【図８】本実施形態のビットレート検出回路の構成例を示す図である。
【図９】本実施形態のビットレート検出回路のタイミング図である。
【図１０】本実施形態のビットレートによるアクセス制御を示す図である。
【符号の説明】
【００６６】
１  データＩ／Ｏブロック
３  画像データ縫う出力ブロック
５  オーディオ処理ブロック
７  符号化／復号化ブロック
９  誤り訂正ブロック
１１  符号化データ入出力ブロック
１３  アドレス変換回路
１５  メモリＩ／Ｆ
１７  ＳＤＲＡＭ
１９  システムコントロールＣＰＵ
２１  サーボ系ＣＰＵバスＩ／Ｆ
２３  サーボ系ＣＰＵ
２５  電磁変換処理ブロック
２７  外部の周波数発振器（27MHz）
２９  周波数逓倍器
３１  周波数発振器（13.5MHz）
３３  アクセスレート監視ブロック
ＣＢＳ１  内部ＣＰＵバス
ＣＢＳ２  サーボ系ＣＰＵバス
２００  優先順位固定のリアルタイム系ブロック
２０２  優先順位固定のハンドシェーク系ブロック
２０４  優先順位変動のハンドシェーク系ブロック
８００  アクセスバイト数の入力端子
８０２  ＦＦ
８０４  加算器
８０６  ＦＦ
８０８  ＦＦ
８１０  タイミング発生器
８１２  アクセスタイミング入力端子
【図１】
2006350941.tif 000003
【図２】
2006350941.tif 000004
【図３】
2006350941.tif 000005
【図４】
2006350941.tif 000006
【図５】
2006350941.tif 000007
【図６】
2006350941.tif 000008
【図７】
2006350941.tif 000009
【図８】
2006350941.tif 000010
【図９】
2006350941.tif 000011
【図１０】
2006350941.tif 000012