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