(57)【要約】【課題】回路規模の増大を抑えた上でＤＲＡＭのバス帯域を確保し、データの転送を円滑に行うことができるデータ転送制御装置、データ転送制御方法、およびデータ処理装置を提供する。【解決手段】共通バスを介してデータを転送する複数のデータ転送部のそれぞれに対応し、データ入力部から入力された転送データを対応するデータ転送部に出力する複数の転送制御部と、データ転送部が転送データを転送している状態を監視して転送データのデータ転送部への出力を制御するデータ転送状態監視部とを備え、少なくとも１つの転送制御部は、転送する転送データを、このデータ転送部によって転送する転送データと他の転送制御部が対応する他のデータ転送部によって転送する転送データとに振り分けて出力し、少なくとも１つの他の転送制御部は、振り分けられた転送データを、対応するデータ転送部の転送制御情報に基づいて、対応するデータ転送部に出力する。【選択図】図１
2015121893.tif 000002
【特許請求の範囲】
【請求項１】
共通バスを介してデータを転送する複数のデータ転送部のそれぞれに、前記共通バスを介して転送する転送データを出力するデータ転送制御装置であって、
それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、
前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、
を備え、
複数の前記転送制御部の内、少なくとも１つの前記転送制御部は、
対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、
前記転送データが振り分けられた、少なくとも１つの他の前記転送制御部は、
振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力する、
ことを特徴とするデータ転送制御装置。
【請求項２】
複数の前記転送制御部のそれぞれは、
対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶する転送バッファ部と、
前記転送制御情報に基づいて、前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御部と、
を備え、
前記転送データを振り分ける前記転送制御部である第１の転送制御部に備えた前記転送バッファ部である第１の転送バッファ部は、
当該第１の転送制御部が対応する前記データ転送部である第１のデータ転送部によって転送する前記転送データである第１の転送データを一時的に記憶し、
当該第１の転送制御部に備えたバッファ制御部である第１のバッファ制御部は、
前記第１のデータ転送部の前記転送制御情報である第１の転送制御情報に基づいて、前記第１の転送バッファ部から読み出した前記第１の転送データを、前記第１のデータ転送部によって転送する前記第１の転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記第１の転送データとに振り分けて出力し、
前記第１の転送データが振り分けられた他の前記転送制御部である第２の転送制御部に備えた前記転送バッファ部である第２の転送バッファ部は、
当該第２の転送制御部が対応する前記データ転送部である第２のデータ転送部によって転送する前記転送データである第２の転送データを一時的に記憶し、
当該第２の転送制御部に備えたバッファ制御部である第２のバッファ制御部は、
前記第１のバッファ制御部から前記第１の転送データが入力されていない場合には、前記第２のデータ転送部の前記転送制御情報である第２の転送制御情報に基づいて、前記第２の転送バッファ部から読み出した前記第２の転送データを前記第２のデータ転送部に出力し、
前記第１のバッファ制御部から前記第１の転送データが入力された場合には、前記第２の転送制御情報に基づいて、該第１の転送データを前記第２のデータ転送部に出力する、
ことを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
前記データ転送状態監視部は、
前記第１のデータ転送部が前記第１の転送データを転送する際の制御信号に基づいて、該第１のデータ転送部における前記第１の転送データの転送待ち時間を監視し、該監視した前記第１の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部と、
前記第１のデータ転送部が前記第１の転送データを転送する際の信号に基づいて、該第１のデータ転送部における前記第１の転送データの転送履歴と、前記第２のデータ転送部が前記第１の転送データまたは前記第２の転送データを転送する際の信号に基づいて、該第２のデータ転送部における前記第１の転送データまたは前記第２の転送データの転送履歴とを収集するアクセス履歴収集部と、
を備え、
前記アクセス履歴収集部は、前記データ転送待ち時間監視部が前記タイムアウト信号を出力した際に、収集した前記第１の転送データの転送履歴と前記第２の転送データの転送履歴とに基づいて、前記第１の転送データと前記第２の転送データとによって前記転送データを転送するための転送情報を前記第１のバッファ制御部に出力し、
前記第１のバッファ制御部は、
前記アクセス履歴収集部から出力された前記転送情報に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、
ことを特徴とする請求項２に記載のデータ転送制御装置。
【請求項４】
前記データ転送状態監視部は、
前記第１のデータ転送部が前記第１の転送データを転送する際の制御信号に基づいて、該第１のデータ転送部における前記第１の転送データの転送の負荷を監視し、該監視した前記第１の転送データの転送負荷と予め定めた負荷の大きさとを比較することによって負荷の分散を行うか否かを判定し、該判定した結果に基づいて前記第１のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送負荷状態監視部、
を備え、
前記第１のバッファ制御部は、
前記転送負荷状態監視部から出力された前記負荷分散指示に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、
ことを特徴とする請求項２または請求項３に記載のデータ転送制御装置。
【請求項５】
前記データ転送状態監視部は、
前記第１のデータ転送部が前記第１の転送データを転送する際の制御信号に基づいて、前記第１の転送バッファ部の記憶容量の残量を監視し、該監視した記憶容量の残量に応じて、前記第１のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送バッファ残量監視部、
を備え、
前記第１のバッファ制御部は、
前記転送バッファ残量監視部から出力された前記負荷分散指示に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、
ことを特徴とする請求項２から請求項４のいずれか１の項に記載のデータ転送制御装置。
【請求項６】
前記データ転送状態監視部は、
設定された動作モードに応じて、前記第１の転送データを転送する際の前記第１の転送データの経路を決定し、該決定した結果に基づいて前記第１の転送データを転送する経路を表す経路選択指示を出力するモード設定部、
を備え、
前記第１のバッファ制御部は、
前記モード設定部から出力された前記経路選択指示に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、
ことを特徴とする請求項２から請求項５のいずれか１の項に記載のデータ転送制御装置。
【請求項７】
共通バスを介してデータを転送する複数のデータ転送部のそれぞれに、前記共通バスを介して転送する転送データを出力するデータ転送制御装置におけるデータ転送制御方法であって、
それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御手順と、
前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御手順における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視手順と、
を含み、
複数の前記転送制御手順の内、少なくとも１つの前記転送制御手順は、
対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御手順が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、
前記転送データが振り分けられた、少なくとも１つの他の前記転送制御手順は、
振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力する、
ことを特徴とするデータ転送制御方法。
【請求項８】
共通バスを介してデータを転送する複数のデータ転送部と、
前記データ転送部のそれぞれに対応し、前記共通バスを介して転送する転送データを出力する複数のデータ入力部と、
それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、を具備したデータ転送制御装置と、
を備え、
前記データ転送制御装置に備えた複数の前記転送制御部の内、少なくとも１つの前記転送制御部は、
対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、
前記データ転送制御装置に備えた複数の前記転送制御部の内、前記転送データが振り分けられた、少なくとも１つの他の前記転送制御部は、
振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力する、
ことを特徴とするデータ処理装置。
【請求項９】
前記データ転送制御装置を、前記データ転送部と、前記データ入力部との数に応じて数珠つなぎにし、
それぞれのデータ転送制御装置に備えたデータ転送状態監視部は、
対応する前記データ転送部のそれぞれの前記転送データの転送状態を監視して、当該データ転送制御装置に備えたそれぞれの前記転送制御部に前記転送制御情報を出力し、
それぞれのデータ転送制御装置に備えた少なくとも１つの前記転送制御部は、
前記転送制御情報に基づいて、対応する前記データ入力部から入力された前記転送データを、当該データ転送制御装置が対応する少なくとも１つの前記データ転送部に振り分ける、
ことを特徴とする請求項８に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置、データ転送制御方法、およびデータ処理装置に関する。
【背景技術】
【０００２】
デジタルカメラなどの撮像装置に搭載され、画像処理を行うシステムＬＳＩなどのデータ処理装置では、撮像装置内に備えられ、データ処理装置に接続された１つのＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を、データ処理装置に内蔵する複数の処理ブロック（以下、「イニシエータ」という）が共有している。多くのデータ処理装置では、内蔵している複数のイニシエータが、データ処理装置の内部のデータバス（以下、「インターコネクトバス」という）に接続され、インターコネクトバスに接続されたそれぞれのイニシエータは、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によって、ＤＲＡＭに対するアクセスを行う。
【０００３】
近年、デジタルカメラの高性能化と多機能化が進み、データ処理装置の処理性能が、飛躍的に向上している。このため、数多くの動作モードを備えるデータ処理装置では、動作モードに応じた処理を実行する際に、アクセスするＤＲＡＭのバス帯域を確保することが困難になってきている。特に、静止画像と動画像とを同時に撮影するなど、多くの画像データを高速で処理し続ける必要がある画像処理のケースでは、その動作モードに応じて複数のイニシエータが異なる動作を行うため、動作が異なる複数のイニシエータからのＤＲＡＭへのアクセス要求を調停してＤＲＡＭのバス帯域を確保しながら、イメージセンサから入力された画像データをリアルタイムにＤＲＡＭに転送する必要がある。
【０００４】
一般的に、データ処理装置では、内蔵したバス調停部（例えば、バスアービタなど）によって、それぞれのイニシエータから発せられるＤＲＡＭへのアクセス要求の適切な調停と、ＤＲＡＭへのアクセスの最適化とを行って、ＤＲＡＭのバス帯域を確保している。しかしながら、ＤＲＡＭには、あるメモリアドレスに対して１回アクセスをした後、このメモリアドレスを含む同一のメモリバンクには、一定時間の間アクセスすることができないという動作的な制約がある。つまり、同一のメモリバンクに対して連続してアクセスする場合、アクセスを受け付けられない期間が存在してしまう。このため、ＤＲＡＭに対するアクセスの総負荷が高い状況では、あるイニシエータがＤＲＡＭにアクセスしようとすると、ＤＲＡＭの動作的な制約（以下、「バンク衝突」という）によって、ＤＲＡＭにアクセスすることができない待ち時間が発生してしまうことがある。
【０００５】
そこで、従来から、発生した待ち時間を有効利用する技術が開示されている。例えば、特許文献１に開示された技術では、ＤＲＡＭに対するリフレッシュ動作を、この待ち時間のときに実行することによって、同一のメモリバンクに対して連続してアクセスする場合に発生する待ち時間を有効利用している。
【０００６】
しかしながら、特許文献１に開示された技術では、同一のメモリバンクに対して連続してアクセスする場合に発生する待ち時間中に他の動作を行うことによって、ＤＲＡＭに対するアクセスを有効に活用することはできるが、ＤＲＡＭとの間でデータをやり取りするためのバス帯域を確保することはできない。従って、この技術をデータ処理装置に適用した場合でも、ＤＲＡＭに対するアクセスの総負荷が高い状況においてリアルタイムに画像データを転送するなどのリアルタイム処理を実行するイニシエータが、ＤＲＡＭのバス帯域を確保することが困難である、という問題は依然として残ってしまう。
【０００７】
このため、ＤＲＡＭに対するアクセスの総負荷が高くなることが想定されるシステムにおいて、それぞれのイニシエータから発せられるＤＲＡＭへのアクセス要求とＤＲＡＭに転送する転送データとを一旦バッファなどの内蔵メモリに蓄積する、データ転送制御装置の技術もある。この技術をデータ処理装置に適用すると、蓄積した転送データをＤＲＡＭに転送する際に、同一のメモリバンクに対する連続したアクセスを回避するように、ＤＲＡＭへのアクセス要求と転送データとの順序を組み替えることができる。このＤＲＡＭへのアクセス要求と転送データとの順序の組み替えによって、同一のメモリバンクに対する連続したアクセスをなくし、バンク衝突によって発生する待ち時間を回避することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−２９５９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、データ処理装置に備えた複数のイニシエータから発せられるＤＲＡＭへのアクセス要求とＤＲＡＭに転送する転送データとを一旦蓄積するためには、データ転送制御装置内に大容量の内蔵メモリを備える必要がある。これは、例えば、内蔵するイニシエータの数が多く（例えば、数十個など）、動作モードによってそれぞれのイニシエータがＤＲＡＭにアクセスする状況が大きく異なるシステムでは、それぞれのイニシエータに、バンク衝突によって発生する待ち時間を吸収するために必要な容量分の内蔵メモリを備える必要があるからである。
【００１０】
このため、それぞれのイニシエータに多くの内蔵メモリを備えると、データ処理装置の回路規模が増大し、コストも増加してしまう、という問題がある。また、ハードウェアに搭載可能なメモリ容量にも制約がある場合もあり、この場合には、データ転送制御装置に必要な容量の内蔵メモリを備えることができないこともある。
【００１１】
本発明は、上記の課題認識に基づいてなされたものであり、回路規模の増大を抑えた上で、ＤＲＡＭのバス帯域を確保し、ＤＭＡによる転送データの転送を円滑に行うことができるデータ転送制御装置、データ転送制御方法、およびデータ処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明のデータ転送制御装置は、共通バスを介してデータを転送する複数のデータ転送部のそれぞれに、前記共通バスを介して転送する転送データを出力するデータ転送制御装置であって、それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、を備え、複数の前記転送制御部の内、少なくとも１つの前記転送制御部は、対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、前記転送データが振り分けられた、少なくとも１つの他の前記転送制御部は、振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力する、ことを特徴とする。
【００１３】
また、本発明の複数の前記転送制御部のそれぞれは、対応する前記データ転送部が対応する前記データ入力部から入力された前記転送データを一時的に記憶する転送バッファ部と、前記転送制御情報に基づいて、前記転送バッファ部に記憶された前記転送データを読み出して出力するバッファ制御部と、を備え、前記転送データを振り分ける前記転送制御部である第１の転送制御部に備えた前記転送バッファ部である第１の転送バッファ部は、当該第１の転送制御部が対応する前記データ転送部である第１のデータ転送部によって転送する前記転送データである第１の転送データを一時的に記憶し、当該第１の転送制御部に備えたバッファ制御部である第１のバッファ制御部は、前記第１のデータ転送部の前記転送制御情報である第１の転送制御情報に基づいて、前記第１の転送バッファ部から読み出した前記第１の転送データを、前記第１のデータ転送部によって転送する前記第１の転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記第１の転送データとに振り分けて出力し、前記第１の転送データが振り分けられた他の前記転送制御部である第２の転送制御部に備えた前記転送バッファ部である第２の転送バッファ部は、当該第２の転送制御部が対応する前記データ転送部である第２のデータ転送部によって転送する前記転送データである第２の転送データを一時的に記憶し、当該第２の転送制御部に備えたバッファ制御部である第２のバッファ制御部は、前記第１のバッファ制御部から前記第１の転送データが入力されていない場合には、前記第２のデータ転送部の前記転送制御情報である第２の転送制御情報に基づいて、前記第２の転送バッファ部から読み出した前記第２の転送データを前記第２のデータ転送部に出力し、前記第１のバッファ制御部から前記第１の転送データが入力された場合には、前記第２の転送制御情報に基づいて、該第１の転送データを前記第２のデータ転送部に出力する、ことを特徴とする。
【００１４】
また、本発明の前記データ転送状態監視部は、前記第１のデータ転送部が前記第１の転送データを転送する際の制御信号に基づいて、該第１のデータ転送部における前記第１の転送データの転送待ち時間を監視し、該監視した前記第１の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部と、前記第１のデータ転送部が前記第１の転送データを転送する際の信号に基づいて、該第１のデータ転送部における前記第１の転送データの転送履歴と、前記第２のデータ転送部が前記第１の転送データまたは前記第２の転送データを転送する際の信号に基づいて、該第２のデータ転送部における前記第１の転送データまたは前記第２の転送データの転送履歴とを収集するアクセス履歴収集部と、を備え、前記アクセス履歴収集部は、前記データ転送待ち時間監視部が前記タイムアウト信号を出力した際に、収集した前記第１の転送データの転送履歴と前記第２の転送データの転送履歴とに基づいて、前記第１の転送データと前記第２の転送データとによって前記転送データを転送するための転送情報を前記第１のバッファ制御部に出力し、前記第１のバッファ制御部は、前記アクセス履歴収集部から出力された前記転送情報に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、ことを特徴とする。
【００１５】
また、本発明の前記データ転送状態監視部は、前記第１のデータ転送部が前記第１の転送データを転送する際の制御信号に基づいて、該第１のデータ転送部における前記第１の転送データの転送の負荷を監視し、該監視した前記第１の転送データの転送負荷と予め定めた負荷の大きさとを比較することによって負荷の分散を行うか否かを判定し、該判定した結果に基づいて前記第１のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送負荷状態監視部、を備え、前記第１のバッファ制御部は、前記転送負荷状態監視部から出力された前記負荷分散指示に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、ことを特徴とする。
【００１６】
また、本発明の前記データ転送状態監視部は、前記第１のデータ転送部が前記第１の転送データを転送する際の制御信号に基づいて、前記第１の転送バッファ部の記憶容量の残量を監視し、該監視した記憶容量の残量に応じて、前記第１のデータ転送部における転送負荷を分散するための負荷分散指示を出力する転送バッファ残量監視部、を備え、前記第１のバッファ制御部は、前記転送バッファ残量監視部から出力された前記負荷分散指示に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、ことを特徴とする。
【００１７】
また、本発明の前記データ転送状態監視部は、設定された動作モードに応じて、前記第１の転送データを転送する際の前記第１の転送データの経路を決定し、該決定した結果に基づいて前記第１の転送データを転送する経路を表す経路選択指示を出力するモード設定部、を備え、前記第１のバッファ制御部は、前記モード設定部から出力された前記経路選択指示に基づいて、前記第１の転送データを、前記第１のデータ転送部と前記第２のバッファ制御部とに振り分けて出力する、ことを特徴とする。
【００１８】
また、本発明のデータ転送制御方法は、共通バスを介してデータを転送する複数のデータ転送部のそれぞれに、前記共通バスを介して転送する転送データを出力するデータ転送制御装置におけるデータ転送制御方法であって、それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御手順と、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視手順と、を含み、複数の前記転送制御手順の内、少なくとも１つの前記転送制御手順は、対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御手順が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、前記転送データが振り分けられた、少なくとも１つの他の前記転送制御手順は、振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力する、ことを特徴とする。
【００１９】
また、本発明のデータ処理装置は、共通バスを介してデータを転送する複数のデータ転送部と、前記データ転送部のそれぞれに対応し、前記共通バスを介して転送する転送データを出力する複数のデータ入力部と、それぞれの前記データ転送部に対応し、該データ転送部のそれぞれに対応するデータ入力部から入力された前記転送データを、対応する前記データ転送部に出力する複数の転送制御部と、前記データ転送部のそれぞれが前記転送データを転送している状態を監視し、該監視した前記データ転送部のそれぞれの前記転送データの転送状態に基づいて、それぞれの前記転送制御部における前記転送データの対応する前記データ転送部への出力を制御する転送制御情報を出力するデータ転送状態監視部と、を具備したデータ転送制御装置と、を備え、前記データ転送制御装置に備えた複数の前記転送制御部の内、少なくとも１つの前記転送制御部は、対応する前記データ転送部の前記転送制御情報に基づいて、該データ転送部によって転送する前記転送データを、該データ転送部によって転送する前記転送データと他の前記転送制御部が対応する他の前記データ転送部によって転送する前記転送データとに振り分けて出力し、前記データ転送制御装置に備えた複数の前記転送制御部の内、前記転送データが振り分けられた、少なくとも１つの他の前記転送制御部は、振り分けられた前記転送データを、対応する前記データ転送部の前記転送制御情報に基づいて、該対応する前記データ転送部に出力する、ことを特徴とする。
【００２０】
また、本発明のデータ処理装置は、前記データ転送制御装置を、前記データ転送部と、前記データ入力部との数に応じて数珠つなぎにし、それぞれのデータ転送制御装置に備えたデータ転送状態監視部は、対応する前記データ転送部のそれぞれの前記転送データの転送状態を監視して、当該データ転送制御装置に備えたそれぞれの前記転送制御部に前記転送制御情報を出力し、それぞれのデータ転送制御装置に備えた少なくとも１つの前記転送制御部は、前記転送制御情報に基づいて、対応する前記データ入力部から入力された前記転送データを、当該データ転送制御装置が対応する少なくとも１つの前記データ転送部に振り分ける、ことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、回路規模の増大を抑えた上で、ＤＲＡＭのバス帯域を確保し、ＤＭＡによる転送データの転送を円滑に行うことができるという効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態におけるデータ転送制御装置を備えたデータ処理装置の概略構成の一例を示したブロック図である。
【図２】本発明の第１の実施形態におけるデータ転送制御装置を備えたデータ処理装置の構成の一例を示したブロック図である。
【図３】本第１の実施形態のデータ転送制御装置によるデータ転送動作の処理手順を示したフローチャートである。
【図４】本発明の第２の実施形態におけるデータ転送制御装置を備えたデータ処理装置の構成の一例を示したブロック図である。
【図５】本第２の実施形態のデータ転送制御装置によるデータ転送動作の処理手順を示したフローチャートである。
【図６】本発明の第３の実施形態におけるデータ転送制御装置を備えたデータ処理装置の構成の一例を示したブロック図である。
【図７】本第３の実施形態のデータ転送制御装置によるデータ転送動作の処理手順を示したフローチャートである。
【図８】本発明の第４の実施形態におけるデータ転送制御装置を備えたデータ処理装置の構成の一例を示したブロック図である。
【図９】本第４の実施形態のデータ転送制御装置によるデータ転送動作の処理手順を示したフローチャートである。
【図１０】本発明の第３の実施形態の変形例のデータ転送制御装置を備えたデータ処理装置の構成の一例を示したブロック図である。
【図１１】本第３の実施形態の変形例のデータ転送制御装置によるデータ転送動作の処理手順を示したフローチャートである。
【図１２】本発明の実施形態におけるデータ転送制御装置を備えたデータ処理装置の概略構成の一例を示したブロック図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について、図面を参照して説明する。本実施形態においては、本発明のデータ処理装置を、例えば、デジタルカメラなどの撮像装置に搭載され、画像処理を行うシステムＬＳＩなどのデータ処理装置とし、このデータ処理装置に、本発明のデータ転送制御装置を適用した場合の一例について説明する。図１は、本実施形態におけるデータ転送制御装置を備えたデータ処理装置の概略構成の一例を示したブロック図である。図１に示したデータ処理装置１は、第１の画像データ入力部１００と、第１のデータ転送部１０１と、第２の画像データ入力部２００と、第２のデータ転送部２０１と、データ転送制御装置１０と、を備えている。また、データ処理装置１内のデータ転送制御装置１０は、第１の転送制御部１１０と、第２の転送制御部２１０と、データ転送状態監視部１３０と、を備えている。
【００２４】
図１に示したように、データ処理装置１に備えた第１のデータ転送部１０１と第２のデータ転送部２０１とのそれぞれは、データ処理装置１の内部のインターコネクトバス７００に接続されている。そして、データ処理装置１は、第１のデータ転送部１０１と第２のデータ転送部２０１とのそれぞれが、データ処理装置１に備えた第１の画像データ入力部１００および第２の画像データ入力部２００から入力された画像データを、インターコネクトバス７００を介して、例えば、ＤＲＡＭなどの不図示のメモリに転送する。
【００２５】
このとき、データ転送制御装置１０は、データ処理装置１が第１のデータ転送部１０１および第２のデータ転送部２０１によってメモリに転送する画像データを制御する。以下の説明においては、データ処理装置１に接続されたメモリがＤＲＡＭであるものとして説明を行う。
【００２６】
第１の画像データ入力部１００および第２の画像データ入力部２００のそれぞれは、インターコネクトバス７００を介してＤＲＡＭに転送する画像データの供給源である。なお、以下の説明においては、第１の画像データ入力部１００が、例えば、不図示のイメージセンサから入力された画像データを、リアルタイムにＤＲＡＭに転送する画像データの供給源であり、第２の画像データ入力部２００が、不図示のイメージセンサから入力された画像データに応じて処理した画像データを、ＤＲＡＭに転送する画像データの供給源であるものとして説明を行う。ここで、第２の画像データ入力部２００が行う、不図示のイメージセンサから入力された画像データに応じた処理としては、例えば、黒レベル補正を施す前処理や、縮小画像を生成する画像生成処理や、自動露出（Ａｕｔｏ  Ｅｘｐｏｓｕｒｅ：ＡＥ）、オートホワイトバランス（Ａｕｔｏ  Ｗｈｉｔｅ  Ｂａｌａｎｃｅ：ＡＷＢ）、自動焦点（Ａｕｔｏ  Ｆｏｃｕｓ：ＡＦ）などを制御するための評価値を生成する処理などが考えられる。
【００２７】
以下の説明においては、第１の画像データ入力部１００が供給する画像データ、すなわち、ＤＲＡＭに転送する画像データを、「第１の転送データ」といい、第２の画像データ入力部２００が供給する画像データを、「第２の転送データ」という。なお、第１の転送データと第２の転送データとを区別せずに表す場合には、単に「転送データ」という。
【００２８】
なお、図１に示したデータ処理装置１においては、第１の画像データ入力部１００が第１のデータ転送部１０１に対応し、第２の画像データ入力部２００が第２のデータ転送部２０１に対応している。つまり、図１には、１つのデータ転送部に対して１つ転送データの供給源が存在しているデータ処理装置の構成を示している。しかし、データ処理装置においては、１つのデータ転送部に対して複数の転送データの供給源が対応する構成であってもよい。
【００２９】
第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれは、対応する第１の画像データ入力部１００または第２の画像データ入力部２００から入力された転送データをインターコネクトバス７００に出力することによって、それぞれの転送データをＤＭＡによってＤＲＡＭに転送するイニシエータである。
【００３０】
ただし、データ処理装置１では、データ転送制御装置１０が、第１のデータ転送部１０１および第２のデータ転送部２０１によってＤＲＡＭに転送する転送データを制御する。従って、データ処理装置１では、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれがＤＭＡによってＤＲＡＭに転送する転送データが、データ転送制御装置１０を介して入力される。なお、以下の説明においては、第１のデータ転送部１０１の方が、第２のデータ転送部２０１よりも優先度が高いイニシエータであるものとして説明を行う。
【００３１】
なお、それぞれのイニシエータが転送データをＤＭＡによってＤＲＡＭに転送する際、イニシエータは、まず、ＤＭＡによるＤＲＡＭへのアクセスを要求するリクエスト信号をインターコネクトバス７００に出力し、その後、ＤＲＡＭに転送する転送データをインターコネクトバス７００に出力する。
【００３２】
より具体的には、ＤＲＡＭへのアクセス要求を行うイニシエータが、リクエスト信号をインターコネクトバス７００に出力すると、インターコネクトバス７００に接続された、例えば、バスアービタなどの不図示のバス調停部に、インターコネクトバス７００を介してリクエスト信号が入力される。これにより、不図示のバス調停部は、入力されたリクエスト信号に応じて、ＤＲＡＭへのアクセス要求を調停する。そして、不図示のバス調停部は、ＤＲＡＭのへのアクセス要求を受け付ける状態となったときに、アクセス要求を許可するアクノリッジ信号を、インターコネクトバス７００に出力し、リクエスト信号を出力したイニシエータに、アクノリッジ信号を返す（出力する）。これにより、リクエスト信号を出力したイニシエータは、入力されたアクノリッジ信号に応じて、ＤＲＡＭに転送する転送データを、不図示のバス調停部に、インターコネクトバス７００を介して出力する。そして、不図示のバス調停部は、適切なタイミングでＤＲＡＭにアクセスを行い、入力された転送データをＤＲＡＭに転送する。なお、以下の説明においては、それぞれのイニシエータが、ＤＭＡによって転送データをＤＲＡＭに転送する、上述したような動作を、「ＤＭＡ転送」という。
【００３３】
データ転送制御装置１０は、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれにおけるＤＭＡ転送の状態を監視し、監視した結果に応じて、第１のデータ転送部１０１または第２のデータ転送部２０１のいずれのデータ転送部によって転送データをＤＭＡ転送するかを決定する。そして、データ転送制御装置１０は、決定した第１のデータ転送部１０１または第２のデータ転送部２０１のいずれかのデータ転送部に転送データを出力して、ＤＭＡ転送を行わせる。
【００３４】
データ転送状態監視部１３０は、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれにおいて行われているＤＭＡ転送の状態を監視する。なお、データ転送状態監視部１３０がＤＭＡ転送の状態を監視する際には、例えば、ＤＲＡＭのバンク衝突などによる、ＤＭＡ転送の待ち時間や、ＤＲＡＭへのアクセス履歴や、転送データのＤＲＡＭへの転送数などの付加情報も収集する。
【００３５】
そして、データ転送状態監視部１３０は、監視した第１のデータ転送部１０１のＤＭＡ転送の状態に応じた第１の転送制御情報を、第１の転送制御部１１０に出力する。また、データ転送状態監視部１３０は、監視した第２のデータ転送部２０１のＤＭＡ転送の状態に応じた第２の転送制御情報を、第２の転送制御部２１０に出力する。なお、第１の転送制御情報および第２の転送制御情報には、対応する第１のデータ転送部１０１および第２のデータ転送部２０１に転送データを出力する順序や、第１のデータ転送部１０１と第２のデータ転送部２０１とのタイミングを調停するための制御情報なども含まれる。
【００３６】
なお、データ転送状態監視部１３０におけるＤＭＡ転送の状態監視や、第１のデータ転送部１０１と第２のデータ転送部２０１との制御方法に関する詳細な説明は、後述する。
【００３７】
第１の転送制御部１１０は、第１の画像データ入力部１００から入力されたＤＭＡ転送する第１の転送データを、データ転送状態監視部１３０から入力された第１の転送制御情報に基づいて、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける。なお、第１の転送制御部１１０は、基本的には、第１の画像データ入力部１００から入力された第１の転送データを第１のデータ転送部１０１に出力する。しかし、第１の転送制御部１１０は、データ転送状態監視部１３０から入力された第１の転送制御情報が、例えば、第１のデータ転送部１０１がＤＭＡ転送を行う際の待ち時間が多いなど、第１のデータ転送部１０１による第１の転送データのＤＭＡ転送が円滑に行われていないことを表している場合には、第１のデータ転送部１０１に出力する第１の転送データを、第２の転送制御部２１０に出力し、第２のデータ転送部２０１によって転送させる。
【００３８】
なお、第１の転送制御部１１０による第１の転送データの第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分け方法に関する詳細な説明は、後述する。
【００３９】
第２の転送制御部２１０は、第２の画像データ入力部２００から入力されたＤＭＡ転送する第２の転送データを、第２のデータ転送部２０１に出力する。ただし、第２の転送制御部２１０は、第１の転送制御部１１０によって振り分けられた、第１の画像データ入力部１００がＤＭＡ転送する第１の転送データが入力された場合には、データ転送状態監視部１３０から入力された第２の転送制御情報に基づいて、第１の転送制御部１１０から入力された第１の転送データを選択して、第２のデータ転送部２０１に出力する。
【００４０】
これにより、第１の画像データ入力部１００が出力した第１の転送データは、第１のデータ転送部１０１に加えて、第２のデータ転送部２０１によってもＤＭＡ転送され、第１の画像データ入力部１００が出力した第１の転送データをＤＭＡ転送する際のバス帯域を確保することができる。このことにより、第１の画像データ入力部１００が出力する第１の転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【００４１】
なお、第２の転送制御部２１０による、第２の画像データ入力部２００から入力された第２の転送データ、または第１の転送制御部１１０から入力された第１の転送データの選択方法に関する詳細な説明は、後述する。
【００４２】
＜第１の実施形態＞
次に、本実施形態のデータ転送制御装置１０の構成および動作について、さらに詳細に説明する。図２は、本第１の実施形態におけるデータ転送制御装置１０を備えたデータ処理装置１の構成の一例を示したブロック図である。図２には、ＤＭＡ転送の待ち時間とＤＲＡＭへのアクセス履歴とに基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける制御を行うデータ転送制御装置１０の構成を示している。なお、図２に示したデータ処理装置１のブロック図は、図１に示したデータ処理装置１内のデータ転送制御装置１０の構成要素をより詳細に示したのみであるため、データ転送制御装置１０以外の構成要素に関する詳細な説明は省略する。
【００４３】
データ転送制御装置１０内の第１の転送制御部１１０は、第１の転送バッファ部１１１と第１のバッファ制御部１１２とを備えている。また、データ転送制御装置１０内の第２の転送制御部２１０は、第２の転送バッファ部２１１と第２のバッファ制御部２１２とを備えている。また、データ転送制御装置１０内のデータ転送状態監視部１３０は、データ転送待ち時間監視部１３１とメモリアクセス履歴収集部１３２とを備えている。
【００４４】
第１の転送バッファ部１１１は、第１の画像データ入力部１００から出力された第１の転送データを一旦格納する、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリで構成された、第１の転送データの一時記憶バッファである。第１の転送バッファ部１１１は、第１のバッファ制御部１１２からの制御に応じて、格納した第１の転送データを、第１のバッファ制御部１１２に出力する。
【００４５】
第１のバッファ制御部１１２は、データ転送状態監視部１３０から入力された第１の転送制御情報に含まれる空きバンク情報に基づいて、次に転送する第１の転送データの出力先を、第１のデータ転送部１０１または第２の転送制御部２１０内の第２のバッファ制御部２１２のいずれか一方に決定する。そして、第１のバッファ制御部１１２は、第１の転送バッファ部１１１に格納されている第１の転送データを読み出し、読み出した第１の転送データを、決定した出力先に出力する。つまり、第１のバッファ制御部１１２は、データ転送状態監視部１３０から入力された第１の転送制御情報に基づいて、第１の転送バッファ部１１１から読み出した第１の転送データを、第１のデータ転送部１０１または第２のバッファ制御部２１２のいずれか一方に振り分ける。
【００４６】
第２の転送バッファ部２１１は、第２の画像データ入力部２００から出力された第２の転送データを一旦格納する、例えば、ＳＲＡＭなどのメモリで構成された、第２の転送データの一時記憶バッファである。第２の転送バッファ部２１１は、第２のバッファ制御部２１２からの制御に応じて、格納した第２の転送データを、第２のバッファ制御部２１２に出力する。
【００４７】
第２のバッファ制御部２１２は、データ転送状態監視部１３０から入力された第２の転送制御情報に基づいて、次に転送する転送データを、第２のデータ転送部２０１に出力する。なお、第２のバッファ制御部２１２は、第１のバッファ制御部１１２から第１の転送データが入力された場合には、第１のバッファ制御部１１２から入力された第１の転送データを、第２のデータ転送部２０１に出力する。また、第２のバッファ制御部２１２は、第１のバッファ制御部１１２から第１の転送データが入力されていない場合には、第２の転送バッファ部２１１に格納されている第２の転送データを読み出し、読み出した第２の転送データを、第２のデータ転送部２０１に出力する。
【００４８】
なお、第２のバッファ制御部２１２は、第１のバッファ制御部１１２から入力された第１の転送データの第２のデータ転送部２０１への出力と、第２の転送データの第２のデータ転送部２０１への出力とが競合した場合には、第１の転送データの第２のデータ転送部２０１への出力を優先する。このため、第２のバッファ制御部２１２は、競合した第２の転送データの第２のデータ転送部２０１への出力を待ち合わせる。つまり、第２のバッファ制御部２１２は、第１のバッファ制御部１１２から第１の転送データが入力されていないときに、第２の転送データの第２のデータ転送部２０１への出力を行う。
【００４９】
データ転送待ち時間監視部１３１は、第１のデータ転送部１０１がＤＭＡ転送を行う際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）に基づいて、第１のデータ転送部１０１によるＤＭＡ転送の待ち時間を監視する。そして、データ転送待ち時間監視部１３１は、第１のデータ転送部１０１によるＤＭＡ転送の待ち時間が、予め定めた時間を超過した場合、すなわち、第１のデータ転送部１０１による第１の転送データのＤＭＡ転送が円滑に行われずに滞っている場合に、このことを表すタイムアウト信号を、メモリアクセス履歴収集部１３２に通知（出力）する。
【００５０】
メモリアクセス履歴収集部１３２は、第１のデータ転送部１０１がＤＭＡ転送を行う際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）や、ＤＲＡＭのメモリアドレスから得られるバンク情報に基づいて、第１のデータ転送部１０１によるＤＲＡＭへのアクセス履歴を収集する。また、メモリアクセス履歴収集部１３２は、第２のデータ転送部２０１がＤＭＡ転送を行う際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）や、ＤＲＡＭのメモリアドレスから得られるバンク情報に基づいて、第２のデータ転送部２０１によるＤＲＡＭへのアクセス履歴を収集する。
【００５１】
そして、メモリアクセス履歴収集部１３２は、データ転送待ち時間監視部１３１からタイムアウト信号が入力された場合、収集した第１のデータ転送部１０１と第２のデータ転送部２０１とのそれぞれによるＤＲＡＭへのアクセス履歴に基づいて、第１のデータ転送部１０１と第２のデータ転送部２０１とのそれぞれがアクセスすることができるＤＲＡＭのメモリバンクを判定する。そして、メモリアクセス履歴収集部１３２は、判定したメモリバンクの情報に基づいて、第２のデータ転送部２０１が次に転送することができるメモリバンクを表す空きバンク情報を、第１のバッファ制御部１１２に出力する。
【００５２】
この空きバンク情報に基づいて、第１のバッファ制御部１１２は、次に転送する第１の転送データの出力先を第２のデータ転送部２０１に決定し、第１の転送バッファ部１１１から読み出した第１の転送データを第２のバッファ制御部２１２に出力することによって、第１の転送データを第２のデータ転送部２０１にＤＭＡ転送させる。このように、データ転送制御装置１０では、第１の転送データのＤＭＡ転送を、第１のデータ転送部１０１と第２のデータ転送部２０１とによって並列に行わせることによって、第１の転送データのＤＭＡ転送のリアルタイム性を確保する。
【００５３】
なお、第１のバッファ制御部１１２による第１の転送データの出力先の決定は、ＤＲＡＭのバンク衝突が発生しないデータ転送部に決定することが望ましい。従って、第１のバッファ制御部１１２は、次に転送する第１の転送データを第２のデータ転送部２０１によってＤＭＡ転送させることによってバンク衝突が発生する場合には、第１の転送データを第１の転送バッファ部１１１から読み出す順序を変更し、第２のデータ転送部２０１によってＤＭＡ転送させてもバンク衝突が発生しない、例えば、２番目に転送する第１の転送データを先に読み出して、第２のバッファ制御部２１２に出力してもよい。
【００５４】
次に、データ転送制御装置１０の動作について説明する。図３は、本第１の実施形態のデータ転送制御装置１０によるデータ転送動作の処理手順を示したフローチャートである。第１の画像データ入力部１００から第１の転送データが入力されると、データ転送制御装置１０は、ステップＳ１００から、第１のデータ転送部１０１および第２のデータ転送部２０１がＤＭＡ転送を行う際の制御信号やメモリアドレスなど、ＤＲＡＭに対するアクセスの情報（以下、「メモリアクセス情報」という）の収集を開始する。なお、メモリアクセス情報の収集は、以降の処理手順を実行しているときにも、常に継続して行われる。
【００５５】
そして、データ転送待ち時間監視部１３１は、収集したメモリアクセス情報に基づいて、第１のデータ転送部１０１によるＤＭＡ転送の待ち時間を監視する。より具体的には、第１のデータ転送部１０１がリクエスト信号をインターコネクトバス７００に出力してから、アクノリッジ信号が返ってくるまでの時間を計測することによって、ＤＭＡ転送の待ち時間を監視する。
【００５６】
また、メモリアクセス履歴収集部１３２は、収集したメモリアクセス情報に基づいて、第１のデータ転送部１０１および第２のデータ転送部２０１によるＤＲＡＭへのアクセス履歴を収集する。より具体的には、例えば、第１のデータ転送部１０１がリクエスト信号をインターコネクトバス７００に出力するときに指定するＤＲＡＭのメモリアドレスや、アクノリッジ信号が返ってきたときに指定されたＤＲＡＭのメモリアドレスに基づいて、第１のデータ転送部１０１が第１の転送データをＤＭＡ転送するＤＲＡＭのメモリバンクを判別する。そして、判別したＤＲＡＭのメモリバンクの情報を、第１のデータ転送部１０１によるＤＲＡＭへのアクセス履歴として収集する。
【００５７】
その後、データ転送待ち時間監視部１３１は、監視している第１のデータ転送部１０１によるＤＭＡ転送の待ち時間が予め定めた時間を超過した場合（ステップＳ１１０の“ＹＥＳ”）、すなわち、第１のデータ転送部１０１のＤＭＡ転送のタイムアウトを検出した場合、タイムアウト信号をメモリアクセス履歴収集部１３２に出力する。メモリアクセス履歴収集部１３２は、データ転送待ち時間監視部１３１からタイムアウト信号が入力されると、収集したＤＲＡＭへのアクセス履歴に基づいて判定した空きバンク情報を、第１のバッファ制御部１１２に出力する。
【００５８】
なお、データ転送待ち時間監視部１３１は、監視しているＤＭＡ転送の待ち時間が予め定めた時間を超過していない場合（ステップＳ１１０の“ＮＯ”）、すなわち、タイムアウトを検出していない場合には、ステップＳ１００に戻って、ＤＭＡ転送の待ち時間の監視を継続する。
【００５９】
メモリアクセス履歴収集部１３２から空きバンク情報が入力されると、ステップＳ１２０において、第１のバッファ制御部１１２は、第１の転送データの出力先を振り分けて、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの並列転送を開始する。そして、第１のバッファ制御部１１２は、第２のデータ転送部２０１によってＤＭＡ転送させる次の第１の転送データを、第２のバッファ制御部２１２に出力する。
【００６０】
続いて、ステップＳ１３０において、第２のバッファ制御部２１２は、第２のデータ転送部２０１に出力する転送データの出力順序を変更し、次に第２のデータ転送部２０１に出力する第２の転送データの代わりに、第１のバッファ制御部１１２から入力された第１の転送データを、第２のデータ転送部２０１に出力する。
【００６１】
続いて、ステップＳ１４０において、第１のバッファ制御部１１２は、第１のデータ転送部１０１に出力する第１の転送データの出力順序を変更、つまり、第２のデータ転送部２０１によってＤＭＡ転送させる次の第１の転送データは出力したものとして、その次に第１のデータ転送部１０１に出力する第１の転送データを、第１のデータ転送部１０１に出力する。
【００６２】
これにより、ステップＳ１３０で第２のデータ転送部２０１に出力された第１の転送データと、ステップＳ１４０で第１のデータ転送部１０１に出力された第１の転送データとが、それぞれ並列にＤＭＡ転送される。
【００６３】
その後、ステップＳ１５０において、メモリアクセス履歴収集部１３２が、収集したメモリアクセス情報に基づいて、第２のデータ転送部２０１による第１の転送データのＤＭＡ転送が完了したことを認識すると、ステップＳ１６０において、第１のバッファ制御部１１２は、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの１回目の並列転送を終了する。なお、ステップＳ１４０からステップＳ１６０までの間に、メモリアクセス履歴収集部１３２が、第１のデータ転送部１０１による第１の転送データのＤＭＡ転送の完了を、収集したメモリアクセス情報に基づいて認識することもあると考えられる。
【００６４】
以降、データ転送制御装置１０は、図３に示したデータ転送動作のフローチャートの処理手順を繰り返して、第１の画像データ入力部１００から入力された全ての第１の転送データのＤＭＡ転送を行う。
【００６５】
本第１の実施形態によれば、共通バス（インターコネクトバス７００）を介してデータを転送する複数のデータ転送部（第１のデータ転送部１０１および第２のデータ転送部２０１）のそれぞれに、インターコネクトバス７００を介して転送する転送データを出力するデータ転送制御装置（データ転送制御装置１０）であって、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれに対応し、この第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれに対応するデータ入力部（第１の画像データ入力部１００および第２の画像データ入力部２００）から入力された転送データを、対応する第１のデータ転送部１０１または第２のデータ転送部２０１に出力する複数の転送制御部（第１の転送制御部１１０および第２の転送制御部２１０）と、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれが転送データを転送している状態を監視し、ここで監視した第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれの転送データの転送状態に基づいて、それぞれの第１の転送制御部１１０および第２の転送制御部２１０における転送データの対応する第１のデータ転送部１０１または第２のデータ転送部２０１への出力を制御する転送制御情報（第１の転送制御情報および第２の転送制御情報）を出力するデータ転送状態監視部（データ転送状態監視部１３０）と、を備え、複数の第１の転送制御部１１０および第２の転送制御部２１０の内、少なくとも１つの転送制御部（第１の転送制御部１１０）は、対応する第１のデータ転送部１０１の第１の転送制御情報に基づいて、この第１のデータ転送部１０１によって転送する転送データ（第１の転送データ）を、この第１のデータ転送部１０１によって転送する第１の転送データと他の転送制御部（第２の転送制御部２１０）が対応する他の第２のデータ転送部２０１によって転送する第１の転送データとに振り分けて出力し、転送データが振り分けられた、少なくとも１つの他の転送制御部（第２の転送制御部２１０）は、振り分けられた第１の転送データを、対応する第２のデータ転送部２０１の第２の転送制御情報に基づいて、この対応する第２のデータ転送部２０１に出力する、データ転送制御装置１０が構成される。
【００６６】
また、本第１の実施形態によれば、共通バス（インターコネクトバス７００）を介してデータを転送する複数のデータ転送部（第１のデータ転送部１０１および第２のデータ転送部２０１）のそれぞれに、インターコネクトバス７００を介して転送する転送データを出力するデータ転送制御装置（データ転送制御装置１０）におけるデータ転送制御方法であって、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれに対応し、この第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれに対応するデータ入力部（第１の画像データ入力部１００および第２の画像データ入力部２００）から入力された転送データを、対応する第１のデータ転送部１０１または第２のデータ転送部２０１に出力する複数の転送制御手順（第１の転送制御部１１０および第２の転送制御部２１０における処理手順）と、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれが転送データを転送している状態を監視し、ここで監視した第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれの転送データの転送状態に基づいて、それぞれの第１の転送制御部１１０および第２の転送制御部２１０における転送データの対応する第１のデータ転送部１０１または第２のデータ転送部２０１への出力を制御する転送制御情報（第１の転送制御情報および第２の転送制御情報）を出力するデータ転送状態監視手順（データ転送状態監視部１３０における処理手順）と、を含み、複数の第１の転送制御部１１０および第２の転送制御部２１０における処理手順の内、少なくとも１つの転送制御手順（第１の転送制御部１１０における処理手順）は、対応する第１のデータ転送部１０１の第１の転送制御情報に基づいて、この第１のデータ転送部１０１によって転送する転送データ（第１の転送データ）を、この第１のデータ転送部１０１によって転送する第１の転送データと他の転送制御手順（第２の転送制御部２１０における処理手順）が対応する他の第２のデータ転送部２０１によって転送する第１の転送データとに振り分けて出力し、転送データが振り分けられた、少なくとも１つの他の転送制御手順（第２の転送制御部２１０における処理手順）は、振り分けられた第１の転送データを、対応する第２のデータ転送部２０１の第２の転送制御情報に基づいて、この対応する第２のデータ転送部２０１に出力する、データ転送制御方法が構成される。
【００６７】
また、本第１の実施形態によれば、共通バス（インターコネクトバス７００）を介してデータを転送する複数のデータ転送部（第１のデータ転送部１０１および第２のデータ転送部２０１）と、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれに対応し、インターコネクトバス７００を介して転送する転送データを出力する複数のデータ入力部（第１の画像データ入力部１００および第２の画像データ入力部２００）と、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれに対応し、この第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれに対応する第１の画像データ入力部１００または第２の画像データ入力部２００から入力された転送データを、対応する第１のデータ転送部１０１または第２のデータ転送部２０１に出力する複数の転送制御部（第１の転送制御部１１０および第２の転送制御部２１０）と、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれが転送データを転送している状態を監視し、ここで監視した第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれの転送データの転送状態に基づいて、それぞれの第１の転送制御部１１０および第２の転送制御部２１０における転送データの対応する第１のデータ転送部１０１または第２のデータ転送部２０１への出力を制御する転送制御情報（第１の転送制御情報および第２の転送制御情報）を出力するデータ転送状態監視部（データ転送状態監視部１３０）と、を具備したデータ転送制御装置（データ転送制御装置１０）と、を備え、データ転送制御装置１０に備えた複数の第１の転送制御部１１０および第２の転送制御部２１０の内、少なくとも１つの転送制御部（第１の転送制御部１１０）は、対応する第１のデータ転送部１０１の第１の転送制御情報に基づいて、この第１のデータ転送部１０１によって転送する転送データ（第１の転送データ）を、この第１のデータ転送部１０１によって転送する第１の転送データと他の転送制御部（第２の転送制御部２１０）が対応する他の第２のデータ転送部２０１によって転送する第１の転送データとに振り分けて出力し、データ転送制御装置１０に備えた複数の第１の転送制御部１１０および第２の転送制御部２１０の内、転送データが振り分けられた、少なくとも１つの他の転送制御部（第２の転送制御部２１０）は、振り分けられた第１の転送データを、対応する第２のデータ転送部２０１の第２の転送制御情報に基づいて、この対応する第２のデータ転送部２０１に出力する、データ処理装置（データ処理装置１）が構成される。
【００６８】
また、本第１の実施形態によれば、複数の第１の転送制御部１１０および第２の転送制御部２１０のそれぞれは、対応する第１のデータ転送部１０１または第２のデータ転送部２０１が対応する第１の画像データ入力部１００または第２の画像データ入力部２００から入力された転送データを一時的に記憶する転送バッファ部（第１の転送バッファ部１１１または第２の転送バッファ部２１１）と、転送制御情報に基づいて、第１の転送バッファ部１１１または第２の転送バッファ部２１１に記憶された転送データを読み出して出力するバッファ制御部（第１のバッファ制御部１１２または第２のバッファ制御部２１２）と、を備え、第１の転送データを振り分ける転送制御部である第１の転送制御部１１０に備えた転送バッファ部である第１の転送バッファ部１１１は、この第１の転送制御部１１０が対応するデータ転送部である第１のデータ転送部１０１によって転送する転送データである第１の転送データを一時的に記憶し、この第１の転送制御部１１０に備えたバッファ制御部である第１のバッファ制御部１１２は、第１のデータ転送部１０１の転送制御情報である第１の転送制御情報に基づいて、第１の転送バッファ部１１１から読み出した第１の転送データを、第１のデータ転送部１０１によって転送する第１の転送データと他の転送制御部（第２の転送制御部２１０）が対応する他のデータ転送部（第２のデータ転送部２０１）によって転送する第１の転送データとに振り分けて出力し、第１の転送データが振り分けられた他の転送制御部である第２の転送制御部２１０に備えた転送バッファ部である第２の転送バッファ部２１１は、この第２の転送制御部２１０が対応するデータ転送部である第２のデータ転送部２０１によって転送する転送データである第２の転送データを一時的に記憶し、この第２の転送制御部２１０に備えたバッファ制御部である第２のバッファ制御部２１２は、第１のバッファ制御部１１２から第１の転送データが入力されていない場合には、第２のデータ転送部２０１の転送制御情報である第２の転送制御情報に基づいて、第２の転送バッファ部２１１から読み出した第２の転送データを第２のデータ転送部２０１に出力し、第１のバッファ制御部１１２から第１の転送データが入力された場合には、第２の転送制御情報に基づいて、この第１の転送データを第２のデータ転送部２０１に出力する、データ転送制御装置１０が構成される。
【００６９】
また、本第１の実施形態によれば、データ転送状態監視部１３０は、第１のデータ転送部１０１が第１の転送データを転送する際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）に基づいて、この第１のデータ転送部１０１における第１の転送データの転送待ち時間を監視し、ここで監視した第１の転送データの転送待ち時間が、予め定めた時間を超過した場合に、転送待ち時間が予め定めた時間を超過したことを表すタイムアウト信号を出力するデータ転送待ち時間監視部（データ転送待ち時間監視部１３１）と、第１のデータ転送部１０１が第１の転送データを転送する際の信号（例えば、リクエスト信号やアクノリッジ信号などや、ＤＲＡＭのメモリアドレス）に基づいて、この第１のデータ転送部１０１における第１の転送データの転送履歴と、第２のデータ転送部２０１が第１の転送データまたは第２の転送データを転送する際の信号（例えば、リクエスト信号やアクノリッジ信号などや、ＤＲＡＭのメモリアドレス）に基づいて、この第２のデータ転送部２０１における第１の転送データまたは第２の転送データの転送履歴とを収集するアクセス履歴収集部（メモリアクセス履歴収集部１３２）と、を備え、メモリアクセス履歴収集部１３２は、データ転送待ち時間監視部１３１がタイムアウト信号を出力した際に、収集した第１の転送データの転送履歴と第２の転送データの転送履歴とに基づいて、第１の転送データと第２の転送データとによって転送データを転送するための転送情報（空きバンク情報）を第１のバッファ制御部１１２に出力し、第１のバッファ制御部１１２は、メモリアクセス履歴収集部１３２から出力された空きバンク情報に基づいて、第１の転送データを、第１のデータ転送部１０１と第２のバッファ制御部２１２とに振り分けて出力する、データ転送制御装置１０が構成される。
【００７０】
このようにして、データ転送制御装置１０では、ＤＭＡ転送の待ち時間とＤＲＡＭへのアクセス履歴とに基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分けて、それぞれ並列にＤＭＡ転送する。これにより、データ転送制御装置１０では、第１の画像データ入力部１００が出力した第１の転送データをＤＭＡ転送する際のバス帯域が確保されて、ＤＭＡ転送が円滑に行われ、第１の転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【００７１】
なお、第１のデータ転送部１０１と第２のデータ転送部２０１とによる転送データのＤＭＡ転送は、ＤＲＡＭのバンク衝突が発生しないデータ転送部に決定することが望ましい。このため、第１のバッファ制御部１１２と第２のバッファ制御部２１２とのそれぞれは、通常のＤＭＡ転送においても、対応するデータ転送部に転送データを出力する際に、それぞれのデータ転送部がＤＲＡＭの異なるメモリバンクにＤＭＡ転送するように、転送データの出力順序を並び替えていることが考えられる。従って、ステップＳ１２０において第１のバッファ制御部１１２が第２のバッファ制御部２１２に出力する第１の転送データは、上述したように、次の第１の転送データ、すなわち、現在ＤＭＡ転送している第１の転送データに連続している第１の転送データに限定されるものではない。
【００７２】
なお、本第１の実施形態では、データ転送待ち時間監視部１３１が、ＤＭＡ転送の待ち時間のタイムアウトを検出する構成について説明したが、例えば、第１のデータ転送部１０１におけるＤＭＡ転送の待ち時間と、第２のデータ転送部２０１におけるＤＭＡ転送の待ち時間とのそれぞれを監視する構成であってもよい。また、例えば、データ転送待ち時間監視部１３１が、第１のデータ転送部１０１におけるＤＭＡ転送の待ち時間の平均時間と、第２のデータ転送部２０１におけるＤＭＡ転送の待ち時間の平均時間とのそれぞれを監視する構成であってもよい。この場合、メモリアクセス履歴収集部１３２は、データ転送待ち時間監視部１３１が監視した第１のデータ転送部１０１と第２のデータ転送部２０１とにおけるＤＭＡ転送の待ち時間や待ち時間の平均時間の割合に基づいて、例えば、第１のバッファ制御部１１２が第１の転送データの出力先を振り分ける割合を表す情報を、第１のバッファ制御部１１２に出力する構成にすることもできる。このような構成であっても、データ転送制御装置１０は、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とのそれぞれで並列にＤＭＡ転送することができる。
【００７３】
＜第２の実施形態＞
次に、本実施形態のデータ転送制御装置１０の別の構成および動作について説明する。なお、以下の説明においては、本実施形態のデータ転送制御装置１０を、第１の実施形態のデータ転送制御装置１０と区別するため、本第２の実施形態のデータ転送制御装置を、「データ転送制御装置２０」という。そして、データ転送制御装置２０を備えたデータ処理装置を、「データ処理装置２」という。図４は、本第２の実施形態におけるデータ転送制御装置２０を備えたデータ処理装置２の構成の一例を示したブロック図である。図４には、ＤＭＡ転送の負荷状態に基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける制御を行うデータ転送制御装置２０の構成を示している。
【００７４】
図４に示したデータ処理装置２は、図２に示したデータ処理装置１内のデータ転送制御装置１０がデータ転送制御装置２０に代わった構成であり、このデータ転送制御装置２０の構成要素をより詳細に示している。なお、図４に示したデータ処理装置２内の構成要素およびデータ転送制御装置２０内の構成要素には、図１および図２に示したデータ処理装置１内の構成要素およびデータ転送制御装置１０内の構成要素と同様の構成要素も含まれている。従って、図４に示したデータ処理装置２およびデータ転送制御装置２０の構成要素において、図１および図２に示したデータ処理装置１およびデータ転送制御装置１０の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
【００７５】
データ転送制御装置２０は、第１の実施形態のデータ転送制御装置１０と同様に、データ処理装置２が第１のデータ転送部１０１および第２のデータ転送部２０１によってＤＲＡＭにＤＭＡ転送する転送データを制御する。従って、データ処理装置２でも、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれがＤＭＡ転送する転送データが、データ転送制御装置２０を介して入力される。なお、以下の説明においても、第１の実施形態のデータ処理装置１と同様に、第１のデータ転送部１０１の方が、第２のデータ転送部２０１よりも優先度が高いイニシエータであるものとして説明を行う。
【００７６】
データ転送制御装置２０は、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれにおけるＤＭＡ転送の状態を監視し、監視した結果に応じて、第１のデータ転送部１０１または第２のデータ転送部２０１のいずれのデータ転送部によって転送データをＤＭＡ転送するかを決定し、決定した第１のデータ転送部１０１または第２のデータ転送部２０１のいずれかのデータ転送部に転送データを出力して、ＤＭＡ転送を行わせる。データ転送制御装置２０は、第１の転送制御部１４０と、第２の転送制御部２１０と、データ転送状態監視部１５０と、を備えている。
【００７７】
第１の転送制御部１４０は、第１の実施形態の第１の転送制御部１１０と同様に、第１の画像データ入力部１００から入力されたＤＭＡ転送する第１の転送データを、データ転送状態監視部１５０から入力された第１の転送制御情報に基づいて、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける。第１の転送制御部１４０は、第１の転送バッファ部１１１と第１のバッファ制御部１４２とを備えている。
【００７８】
第１の転送バッファ部１１１は、第１の画像データ入力部１００から出力された第１の転送データを格納し、第１のバッファ制御部１４２からの制御に応じて、格納した第１の転送データを、第１のバッファ制御部１４２に出力する。
【００７９】
第１のバッファ制御部１４２は、データ転送状態監視部１５０から入力された第１の転送制御情報に含まれる負荷分散指示に応じて、次に転送する第１の転送データの出力先を、第１のデータ転送部１０１または第２の転送制御部２１０内の第２のバッファ制御部２１２のいずれか一方に決定する。そして、第１のバッファ制御部１４２は、第１の転送バッファ部１１１に格納されている第１の転送データを読み出し、読み出した第１の転送データを、決定した出力先に出力する。つまり、第１のバッファ制御部１４２は、データ転送状態監視部１５０から入力された負荷分散指示に応じて、第１の実施形態の第１のバッファ制御部１１２と同様に、第１の転送バッファ部１１１から読み出した第１の転送データを、第１のデータ転送部１０１または第２のバッファ制御部２１２のいずれか一方に振り分ける。
【００８０】
そして、第２のバッファ制御部２１２は、第１のバッファ制御部１４２から第１の転送データが入力された場合には、第１のバッファ制御部１４２から入力された第１の転送データを、第２のバッファ制御部２１２に出力する。これにより、第１の画像データ入力部１００が出力した第１の転送データは、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１に加えて、第２のデータ転送部２０１によってもＤＭＡ転送される。
【００８１】
データ転送状態監視部１５０は、第１の実施形態のデータ転送状態監視部１３０と同様に、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれにおいて行われているＤＭＡ転送の状態を監視する。このとき、データ転送状態監視部１５０は、ＤＲＡＭのバンク衝突などによる、ＤＭＡ転送の待ち時間や、転送データのＤＲＡＭへの転送数などの転送負荷の情報を収集する。そして、データ転送状態監視部１５０は、監視した第１のデータ転送部１０１のＤＭＡ転送の負荷状態に応じた負荷分散指示を、第１の転送制御情報として第１の転送制御部１４０内の第１のバッファ制御部１４２に出力する。
【００８２】
なお、データ転送状態監視部１５０が監視した第２のデータ転送部２０１のＤＭＡ転送の状態に応じて第２の転送制御部２１０に出力する第２の転送制御情報は、第１の実施形態のデータ転送状態監視部１３０と同様である。また、第１の転送制御情報および第２の転送制御情報には、第１の実施形態のデータ転送状態監視部１３０が出力する第１の転送制御情報および第２の転送制御情報と同様に、対応する第１のデータ転送部１０１および第２のデータ転送部２０１に転送データを出力する順序や、第１のデータ転送部１０１と第２のデータ転送部２０１とのタイミングを調停するための制御情報なども含まれる。データ転送状態監視部１５０は、転送負荷状態監視部１５１を備えている。
【００８３】
転送負荷状態監視部１５１は、第１のデータ転送部１０１がＤＭＡ転送を行う際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）に基づいて、第１のデータ転送部１０１によるＤＭＡ転送の負荷を監視する。そして、転送負荷状態監視部１５１は、監視した第１のデータ転送部１０１におけるＤＭＡ転送の負荷が、予め定めた負荷よりも大きいか否かによって、負荷の分散を行うか否かを判定する。そして、転送負荷状態監視部１５１は、判定した結果に基づいて、第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散するための負荷分散指示を、第１のバッファ制御部１４２に出力する。
【００８４】
この負荷分散指示に応じて、第１のバッファ制御部１４２は、次に転送する第１の転送データの出力先を第２のデータ転送部２０１に決定し、第１の転送バッファ部１１１から読み出した第１の転送データを第２のバッファ制御部２１２に出力することによって、第１の転送データを第２のデータ転送部２０１にＤＭＡ転送させる。このように、データ転送制御装置２０では、第１の転送データのＤＭＡ転送を、第１のデータ転送部１０１と第２のデータ転送部２０１とによって並列に行わせることによって、第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散し、第１の転送データのＤＭＡ転送のリアルタイム性を確保する。
【００８５】
また、転送負荷状態監視部１５１は、第２のデータ転送部２０１がＤＭＡ転送を行う際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）や、ＤＲＡＭのメモリアドレスから得られるバンク情報に基づいて、第２のデータ転送部２０１によるＤＭＡ転送の状態を監視する。
【００８６】
なお、第１のバッファ制御部１４２が第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散する際にも、ＤＲＡＭのバンク衝突が発生しないことが望ましい。従って、第１のバッファ制御部１４２は、第１の実施形態の第１のバッファ制御部１１２と同様に、第１の転送データを第１の転送バッファ部１１１から読み出す順序を変更するなどによって、第２のバッファ制御部２１２に出力する第１の転送データを選択するようにしてもよい。
【００８７】
次に、データ転送制御装置２０の動作について説明する。図５は、本第２の実施形態のデータ転送制御装置２０によるデータ転送動作の処理手順を示したフローチャートである。第１の画像データ入力部１００から第１の転送データが入力されると、データ転送制御装置２０は、ステップＳ２００から、第１のデータ転送部１０１および第２のデータ転送部２０１におけるＤＭＡ転送の転送負荷の情報（以下「転送負荷情報」という）の収集を開始する。なお、転送負荷情報の収集は、以降の処理手順を実行しているときにも、常に継続して行われる。
【００８８】
そして、転送負荷状態監視部１５１は、収集した転送負荷情報に基づいて、第１のデータ転送部１０１におけるＤＭＡ転送の負荷状態を監視する。より具体的には、第１のデータ転送部１０１がリクエスト信号をインターコネクトバス７００に出力してから、アクノリッジ信号が返ってくるまでのＤＭＡ転送の待ち時間や、第１のデータ転送部１０１がリクエスト信号を出力した回数などを計測することによって、ＤＭＡ転送の負荷状態を監視する。
【００８９】
また、転送負荷状態監視部１５１は、収集した転送負荷情報に基づいて、第２のデータ転送部２０１によるＤＭＡ転送の状態を監視する。より具体的には、第２のデータ転送部２０１がリクエスト信号をインターコネクトバス７００に出力するときに指定するＤＲＡＭのメモリアドレスや、アクノリッジ信号が返ってきたときに指定されたＤＲＡＭのメモリアドレスに基づいて、第２のデータ転送部２０１がＤＭＡ転送するＤＲＡＭのメモリバンクを監視する。
【００９０】
その後、転送負荷状態監視部１５１は、監視している第１のデータ転送部１０１によるＤＭＡ転送の負荷状態が予め定めた負荷よりも大きい場合（ステップＳ２１０の“ＹＥＳ”）、第１のデータ転送部１０１の負荷の分散を行うと判定し、負荷分散指示を第１のバッファ制御部１４２に出力する。
【００９１】
なお、転送負荷状態監視部１５１は、監視している第１のデータ転送部１０１によるＤＭＡ転送の負荷状態が予め定めた負荷よりも大きくない場合（ステップＳ２１０の“ＮＯ”）には、ステップＳ２００に戻って、第１のデータ転送部１０１におけるＤＭＡ転送の負荷状態の監視を継続する。
【００９２】
転送負荷状態監視部１５１から負荷分散指示が入力されると、ステップＳ２２０において、第１のバッファ制御部１４２は、第１の転送データの出力先の振り分け、すなわち、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの並列転送を開始する。そして、第１のバッファ制御部１４２は、第２のデータ転送部２０１によってＤＭＡ転送させる次の第１の転送データを、第２のバッファ制御部２１２に出力する。
【００９３】
続いて、ステップＳ２３０において、第２のバッファ制御部２１２は、第２のデータ転送部２０１に出力する転送データの出力順序を変更し、次に第２のデータ転送部２０１に出力する第２の転送データの代わりに、第１のバッファ制御部１４２から入力された第１の転送データを、第２のデータ転送部２０１に出力する。
【００９４】
続いて、ステップＳ２４０において、第１のバッファ制御部１４２は、第１のデータ転送部１０１に出力する第１の転送データの出力順序を変更、つまり、第２のデータ転送部２０１によってＤＭＡ転送させる次の第１の転送データは出力したものとして、その次に第１のデータ転送部１０１に出力する第１の転送データを、第１のデータ転送部１０１に出力する。
【００９５】
これにより、ステップＳ２３０で第２のデータ転送部２０１に出力された第１の転送データと、ステップＳ２４０で第１のデータ転送部１０１に出力された第１の転送データとが、それぞれ並列にＤＭＡ転送される。
【００９６】
その後、ステップＳ２５０において、転送負荷状態監視部１５１が、収集した転送負荷情報に基づいて、第２のデータ転送部２０１による第１の転送データのＤＭＡ転送が完了したことを認識すると、ステップＳ２６０において、第１のバッファ制御部１４２は、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの１回目の並列転送を終了する。なお、ステップＳ２４０からステップＳ２６０までの間に、転送負荷状態監視部１５１が、第１のデータ転送部１０１による第１の転送データのＤＭＡ転送の完了を、収集した転送負荷情報に基づいて認識することもあると考えられる。
【００９７】
以降、データ転送制御装置２０は、図５に示したデータ転送動作のフローチャートの処理手順を繰り返して、第１の画像データ入力部１００から入力された全ての第１の転送データのＤＭＡ転送を行う。
【００９８】
本第２の実施形態によれば、データ転送状態監視部（データ転送状態監視部１５０）は、第１のデータ転送部１０１が第１の転送データを転送する際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）に基づいて、この第１のデータ転送部１０１における第１の転送データの転送の負荷を監視し、ここで監視した第１の転送データの転送負荷と予め定めた負荷の大きさとを比較することによって負荷の分散を行うか否かを判定し、ここで判定した結果に基づいて第１のデータ転送部１０１における転送負荷を分散するための負荷分散指示を出力する転送負荷状態監視部（転送負荷状態監視部１５１）、を備え、第１のバッファ制御部（第１のバッファ制御部１４２）は、転送負荷状態監視部１５１から出力された負荷分散指示に基づいて、第１の転送データを、第１のデータ転送部１０１と第２のバッファ制御部２１２とに振り分けて出力する、データ転送制御装置（データ転送制御装置２０）が構成される。
【００９９】
このようにして、データ転送制御装置２０では、第１のデータ転送部１０１におけるＤＭＡ転送の負荷状態に基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分けて、それぞれ並列にＤＭＡ転送する。これにより、データ転送制御装置２０でも、第１の実施形態のデータ転送制御装置１０と同様に、第１の画像データ入力部１００が出力した第１の転送データをＤＭＡ転送する際のバス帯域が確保されて、ＤＭＡ転送が円滑に行われ、第１の転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【０１００】
なお、データ転送制御装置２０でも、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１と第２のデータ転送部２０１とによる転送データのＤＭＡ転送においてＤＲＡＭのバンク衝突が発生しないように、第１のバッファ制御部１４２が第２のバッファ制御部２１２に振り分ける第１の転送データを決定することが望ましい。従って、ステップＳ２２０において第１のバッファ制御部１４２が第２のバッファ制御部２１２に出力する第１の転送データは、上述したように、次の第１の転送データに限定されるものではない。
【０１０１】
＜第３の実施形態＞
次に、本実施形態のデータ転送制御装置１０のさらに別の構成および動作について説明する。なお、以下の説明においては、本実施形態のデータ転送制御装置１０を、第１の実施形態のデータ転送制御装置１０と区別するため、本第３の実施形態のデータ転送制御装置を、「データ転送制御装置３０」という。そして、データ転送制御装置３０を備えたデータ処理装置を、「データ処理装置３」という。図６は、本第３の実施形態におけるデータ転送制御装置３０を備えたデータ処理装置３の構成の一例を示したブロック図である。図６には、ＤＭＡ転送する第１の転送データを格納する第１の転送バッファ部の記憶容量の残量（以下、「バッファ残量」という）に基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける制御を行うデータ転送制御装置３０の構成を示している。
【０１０２】
図６に示したデータ処理装置３は、図２に示したデータ処理装置１内のデータ転送制御装置１０がデータ転送制御装置３０に代わった構成であり、このデータ転送制御装置３０の構成要素をより詳細に示している。なお、図６に示したデータ処理装置３内の構成要素およびデータ転送制御装置３０内の構成要素には、図１および図２に示したデータ処理装置１内の構成要素およびデータ転送制御装置１０内の構成要素と同様の構成要素も含まれている。従って、図６に示したデータ処理装置３およびデータ転送制御装置３０の構成要素において、図１および図２に示したデータ処理装置１およびデータ転送制御装置１０の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
【０１０３】
データ転送制御装置３０は、第１の実施形態のデータ転送制御装置１０と同様に、データ処理装置３が第１のデータ転送部１０１および第２のデータ転送部２０１によってＤＲＡＭにＤＭＡ転送する転送データを制御する。従って、データ処理装置３でも、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれがＤＭＡ転送する転送データが、データ転送制御装置３０を介して入力される。なお、以下の説明においても、第１の実施形態のデータ処理装置１と同様に、第１のデータ転送部１０１の方が、第２のデータ転送部２０１よりも優先度が高いイニシエータであるものとして説明を行う。
【０１０４】
データ転送制御装置３０は、第１のデータ転送部１０１がＤＭＡ転送する際のメモリアクセス情報に基づいて、データ転送制御装置３０自身に備えた、ＤＭＡ転送する第１の転送データを格納する第１の転送バッファ部のバッファ残量を監視し、監視したバッファ残量に応じて、第１のデータ転送部１０１または第２のデータ転送部２０１のいずれのデータ転送部によって転送データをＤＭＡ転送するかを決定する。そして、データ転送制御装置３０は、第１の実施形態のデータ転送制御装置１０と同様に、決定した第１のデータ転送部１０１または第２のデータ転送部２０１のいずれかのデータ転送部に転送データを出力して、ＤＭＡ転送を行わせる。データ転送制御装置３０は、第１の転送制御部１６０と、第２の転送制御部２１０と、データ転送状態監視部１７０と、を備えている。
【０１０５】
第１の転送制御部１６０は、第１の実施形態の第１の転送制御部１１０と同様に、第１の画像データ入力部１００から入力されたＤＭＡ転送する第１の転送データを、データ転送状態監視部１７０から入力された第１の転送制御情報に基づいて、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける。第１の転送制御部１６０は、第１の転送バッファ部１１１と第１のバッファ制御部１６２とを備えている。
【０１０６】
第１の転送バッファ部１１１は、第１の画像データ入力部１００から出力された第１の転送データを格納し、第１のバッファ制御部１６２からの制御に応じて、格納した第１の転送データを、第１のバッファ制御部１６２に出力する。
【０１０７】
第１のバッファ制御部１６２は、データ転送状態監視部１７０から入力された第１の転送制御情報に含まれる負荷分散指示に応じて、次に転送する第１の転送データの出力先を、第１のデータ転送部１０１または第２の転送制御部２１０内の第２のバッファ制御部２１２のいずれか一方に決定し、第１の転送バッファ部１１１に格納されている第１の転送データを読み出して、決定した出力先に出力する。つまり、第１のバッファ制御部１６２は、データ転送状態監視部１７０から入力された負荷分散指示に応じて、第１の実施形態の第１のバッファ制御部１１２と同様に、第１の転送バッファ部１１１から読み出した第１の転送データを、第１のデータ転送部１０１または第２のバッファ制御部２１２のいずれか一方に振り分ける。
【０１０８】
そして、第２のバッファ制御部２１２は、第１のバッファ制御部１６２から第１の転送データが入力された場合には、第１のバッファ制御部１６２から入力された第１の転送データを、第２のバッファ制御部２１２に出力する。これにより、第１の画像データ入力部１００が出力した第１の転送データは、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１に加えて、第２のデータ転送部２０１によってもＤＭＡ転送される。
【０１０９】
データ転送状態監視部１７０は、第１の実施形態のデータ転送状態監視部１３０と同様に、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれにおいて行われているＤＭＡ転送の状態を監視する。このとき、データ転送状態監視部１７０は、第１のデータ転送部１０１がＤＭＡ転送する際の制御信号に基づいて、第１の転送バッファ部１１１のバッファ残量を監視する。そして、データ転送状態監視部１７０は、監視した第１の転送バッファ部１１１のバッファ残量に応じた負荷分散指示を、第１の転送制御情報として第１の転送制御部１６０内の第１のバッファ制御部１６２に出力する。
【０１１０】
なお、データ転送状態監視部１７０が監視した第２のデータ転送部２０１のＤＭＡ転送の状態に応じて第２の転送制御部２１０に出力する第２の転送制御情報は、第１の実施形態のデータ転送状態監視部１３０と同様である。また、第１の転送制御情報および第２の転送制御情報には、第１の実施形態のデータ転送状態監視部１３０が出力する第１の転送制御情報および第２の転送制御情報と同様に、対応する第１のデータ転送部１０１および第２のデータ転送部２０１に転送データを出力する順序や、第１のデータ転送部１０１と第２のデータ転送部２０１とのタイミングを調停するための制御情報なども含まれる。データ転送状態監視部１７０は、転送バッファ残量監視部１７１を備えている。
【０１１１】
転送バッファ残量監視部１７１は、第１のデータ転送部１０１がＤＭＡ転送を行う際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）に基づいて、第１の転送バッファ部１１１のバッファ残量を監視する。そして、転送バッファ残量監視部１７１は、監視した第１の転送バッファ部１１１のバッファ残量が、予め定めた記憶容量よりも少ないか否かによって、負荷の分散を行うか否かを判定する。そして、転送バッファ残量監視部１７１は、判定した結果に基づいて、第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散するための負荷分散指示を、第１のバッファ制御部１６２に出力する。
【０１１２】
この負荷分散指示に応じて、第１のバッファ制御部１６２は、次に転送する第１の転送データの出力先を第２のデータ転送部２０１に決定し、第１の転送バッファ部１１１から読み出した第１の転送データを第２のバッファ制御部２１２に出力することによって、第１の転送データを第２のデータ転送部２０１にＤＭＡ転送させる。このように、データ転送制御装置３０でも、第１の転送データのＤＭＡ転送を、第１のデータ転送部１０１と第２のデータ転送部２０１とによって並列に行わせることによって、第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散し、第１の転送データのＤＭＡ転送のリアルタイム性を確保する。
【０１１３】
なお、第１のバッファ制御部１６２が第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散する際にも、ＤＲＡＭのバンク衝突が発生しないことが望ましい。従って、第１のバッファ制御部１６２は、第１の実施形態の第１のバッファ制御部１１２と同様に、第１の転送データを第１の転送バッファ部１１１から読み出す順序を変更するなどによって、第２のバッファ制御部２１２に出力する第１の転送データを選択するようにしてもよい。
【０１１４】
また、転送バッファ残量監視部１７１は、第１のデータ転送部１０１がＤＭＡ転送を行う際の制御信号以外の情報に基づいて、第１の転送バッファ部１１１のバッファ残量を監視する構成にすることもできる。例えば、第１の画像データ入力部１００が第１の転送バッファ部１１１に第１の転送データを格納（書き込む）際のライト信号と、第１のバッファ制御部１６２が第１の転送バッファ部１１１から第１の転送データを読み出す際のリード信号とに基づいて、第１の転送バッファ部１１１のバッファ残量を監視する構成にすることもできる。
【０１１５】
次に、データ転送制御装置３０の動作について説明する。図７は、本第３の実施形態のデータ転送制御装置３０によるデータ転送動作の処理手順を示したフローチャートである。第１の画像データ入力部１００から第１の転送データが入力されると、データ転送制御装置３０に備えたデータ転送状態監視部１７０内の転送バッファ残量監視部１７１は、第１のデータ転送部１０１がＤＭＡ転送を行う際の制御信号の情報に基づいて、第１の転送バッファ部１１１のバッファ残量を監視する。より具体的には、第１のデータ転送部１０１がリクエスト信号をインターコネクトバス７００に出力した回数と、アクノリッジ信号が返ってきた回数との差分によって、第１の転送バッファ部１１１に記憶され、ＤＭＡ転送されていない第１の転送データのデータ量を算出する。なお、第１のデータ転送部１０１が１回のＤＭＡ転送によってＤＲＡＭに転送するデータ量は一定であるものとする。そして、第１の転送バッファ部１１１の記憶容量から、算出した第１の転送データのデータ量を減算することによって、第１の転送バッファ部１１１のバッファ残量を監視する。なお、第１の転送バッファ部１１１のバッファ残量の監視は、以降の処理手順を実行しているときにも、常に継続して行われる。
【０１１６】
その後、転送バッファ残量監視部１７１は、監視している第１の転送バッファ部１１１のバッファ残量が予め定めた記憶容量よりも少ない場合（ステップＳ３００の“ＹＥＳ”）、すなわち、第１の転送バッファ部１１１の記憶容量の残量不足を検出した場合、第１のデータ転送部１０１の負荷の分散を行うと判定し、負荷分散指示を第１のバッファ制御部１６２に出力する。
【０１１７】
なお、転送バッファ残量監視部１７１は、監視している第１の転送バッファ部１１１のバッファ残量が予め定めた記憶容量よりも少なくない場合（ステップＳ３００の“ＮＯ”）、すなわち、第１の転送バッファ部１１１の記憶容量が十分にある場合には、ステップＳ３００における第１の転送バッファ部１１１のバッファ残量の監視を継続する。
【０１１８】
転送バッファ残量監視部１７１から負荷分散指示が入力されると、ステップＳ３１０において、第１のバッファ制御部１６２は、第１の転送データの出力先の振り分け、すなわち、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの並列転送を開始する。
【０１１９】
なお、第１のバッファ制御部１６２における第１の転送データの並列転送の処理手順は、第１の実施形態の第１のバッファ制御部１１２と同様における第１の転送データの並列転送の処理手順と同様である。より具体的には、図３に示したデータ転送制御装置１０によるデータ転送動作の処理手順におけるステップＳ１２０〜ステップＳ１５０と同様である。従って、第１のバッファ制御部１６２における第１の転送データの並列転送の処理手順の詳細な説明は省略する。
【０１２０】
その後、第１のバッファ制御部１６２は、第１の転送バッファ部１１１の記憶容量の残量不足が解消された場合（ステップＳ３２０の“ＹＥＳ”）、すなわち、転送バッファ残量監視部１７１からの負荷分散指示が解除された場合、ステップＳ３３０において、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの１回の並列転送を終了する。
【０１２１】
なお、第１のバッファ制御部１６２は、第１の転送バッファ部１１１の記憶容量の残量不足が解消されていない場合（ステップＳ３２０の“ＮＯ”）、すなわち、転送バッファ残量監視部１７１からの負荷分散指示が入力された状態である場合には、ステップＳ３１０に戻って、次の第１の転送データの第２のデータ転送部２０１による並列転送を、第１の転送バッファ部１１１の記憶容量の残量不足が解消されるまで繰り返す。
【０１２２】
以降、データ転送制御装置３０は、図７に示したデータ転送動作のフローチャートの処理手順を繰り返して、第１の画像データ入力部１００から入力された全ての第１の転送データのＤＭＡ転送を行う。
【０１２３】
本第３の実施形態によれば、データ転送状態監視部（データ転送状態監視部１７０）は、第１のデータ転送部１０１が第１の転送データを転送する際の制御信号（例えば、リクエスト信号やアクノリッジ信号など）に基づいて、第１の転送バッファ部１１１の記憶容量の残量を監視し、ここで監視した記憶容量の残量に応じて、第１のデータ転送部１０１における転送負荷を分散するための負荷分散指示を出力する転送バッファ残量監視部（転送バッファ残量監視部１７１）、を備え、第１のバッファ制御部（第１のバッファ制御部１６２）は、転送バッファ残量監視部１７１から出力された負荷分散指示に基づいて、第１の転送データを、第１のデータ転送部１０１と第２のバッファ制御部２１２とに振り分けて出力する、データ転送制御装置（データ転送制御装置３０）が構成される。
【０１２４】
このようにして、データ転送制御装置３０では、第１の転送データをＤＭＡ転送する際に使用する第１の転送バッファ部１１１のバッファ残量に基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分けて、それぞれ並列にＤＭＡ転送する。これにより、データ転送制御装置３０でも、第１の実施形態のデータ転送制御装置１０と同様に、第１の画像データ入力部１００が出力した第１の転送データをＤＭＡ転送する際のバス帯域が確保されて、ＤＭＡ転送が円滑に行われ、第１の転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【０１２５】
なお、データ転送制御装置３０でも、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１と第２のデータ転送部２０１とによる転送データのＤＭＡ転送においてＤＲＡＭのバンク衝突が発生しないように、第１のバッファ制御部１６２が第２のバッファ制御部２１２に振り分ける第１の転送データを決定することが望ましい。従って、第１の転送バッファ部１１１の記憶容量の残量不足が解消されていない場合に、ステップＳ３１０において第１のバッファ制御部１６２が第２のバッファ制御部２１２に出力する第１の転送データは、上述したように、次の第１の転送データに限定されるものではない。
【０１２６】
＜第４の実施形態＞
次に、本実施形態のデータ転送制御装置１０のさらに別の構成および動作について説明する。なお、以下の説明においては、本実施形態のデータ転送制御装置１０を、第１の実施形態のデータ転送制御装置１０と区別するため、本第４の実施形態のデータ転送制御装置を、「データ転送制御装置４０」という。そして、データ転送制御装置４０を備えたデータ処理装置を、「データ処理装置４」という。図８は、本第４の実施形態におけるデータ転送制御装置４０を備えたデータ処理装置４の構成の一例を示したブロック図である。図８には、データ処理装置４の動作モードに応じて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける制御を行うデータ転送制御装置４０の構成を示している。
【０１２７】
なお、データ処理装置４の動作モードは、データ処理装置４全体を制御する、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの不図示の制御部によって設定される。データ処理装置４の動作モードには、例えば、静止画像と動画像とを同時に撮影する動作モードや、静止画像を連続で撮影する動作モード、動画像のみを撮影する動作モードなどがある。
【０１２８】
図８に示したデータ処理装置４は、図２に示したデータ処理装置１内のデータ転送制御装置１０がデータ転送制御装置４０に代わった構成であり、このデータ転送制御装置４０の構成要素をより詳細に示している。なお、図８に示したデータ処理装置４内の構成要素およびデータ転送制御装置４０内の構成要素には、図１および図２に示したデータ処理装置１内の構成要素およびデータ転送制御装置１０内の構成要素と同様の構成要素も含まれている。従って、図８に示したデータ処理装置４およびデータ転送制御装置４０の構成要素において、図１および図２に示したデータ処理装置１およびデータ転送制御装置１０の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
【０１２９】
データ転送制御装置４０は、第１の実施形態のデータ転送制御装置１０と同様に、データ処理装置４が第１のデータ転送部１０１および第２のデータ転送部２０１によってＤＲＡＭにＤＭＡ転送する転送データを制御する。従って、データ処理装置４でも、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれがＤＭＡ転送する転送データが、データ転送制御装置４０を介して入力される。なお、以下の説明においても、第１の実施形態のデータ処理装置１と同様に、第１のデータ転送部１０１の方が、第２のデータ転送部２０１よりも優先度が高いイニシエータであるものとして説明を行う。
【０１３０】
データ転送制御装置４０は、設定された動作モードに応じて、第１のデータ転送部１０１または第２のデータ転送部２０１のいずれのデータ転送部によって転送データをＤＭＡ転送するかを決定する。そして、データ転送制御装置４０は、第１の実施形態のデータ転送制御装置１０と同様に、決定した第１のデータ転送部１０１または第２のデータ転送部２０１のいずれかのデータ転送部に転送データを出力して、ＤＭＡ転送を行わせる。データ転送制御装置４０は、第１の転送制御部１８０と、第２の転送制御部２１０と、データ転送状態監視部１９０と、を備えている。
【０１３１】
第１の転送制御部１８０は、第１の実施形態の第１の転送制御部１１０と同様に、第１の画像データ入力部１００から入力されたＤＭＡ転送する第１の転送データを、データ転送状態監視部１９０から入力された第１の転送制御情報に基づいて、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける。第１の転送制御部１８０は、第１の転送バッファ部１１１と第１のバッファ制御部１８２とを備えている。
【０１３２】
第１の転送バッファ部１１１は、第１の画像データ入力部１００から出力された第１の転送データを格納し、第１のバッファ制御部１８２からの制御に応じて、格納した第１の転送データを、第１のバッファ制御部１８２に出力する。
【０１３３】
第１のバッファ制御部１８２は、データ転送状態監視部１９０から入力された第１の転送制御情報に含まれる経路選択指示に応じて、転送する第１の転送データの出力先を、第１のデータ転送部１０１または第２の転送制御部２１０内の第２のバッファ制御部２１２のいずれか一方に決定し、第１の転送バッファ部１１１に格納されている第１の転送データを読み出して、決定した出力先に出力する。つまり、第１のバッファ制御部１８２は、データ転送状態監視部１９０から入力された経路選択指示に応じて、第１の実施形態の第１のバッファ制御部１１２と同様に、第１の転送バッファ部１１１から読み出した第１の転送データを、第１のデータ転送部１０１または第２のバッファ制御部２１２のいずれか一方に振り分ける。
【０１３４】
そして、第２のバッファ制御部２１２は、第１のバッファ制御部１８２から第１の転送データが入力された場合には、第１のバッファ制御部１８２から入力された第１の転送データを、第２のバッファ制御部２１２に出力する。これにより、第１の画像データ入力部１００が出力した第１の転送データは、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１に加えて、第２のデータ転送部２０１によってもＤＭＡ転送される。
【０１３５】
データ転送状態監視部１９０は、第１の実施形態のデータ転送状態監視部１３０と同様に、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれにおいて行われているＤＭＡ転送の状態を監視する。また、データ転送状態監視部１９０は、設定された動作モードに応じて、第１の転送データをＤＲＡＭに転送する経路を指示する経路選択指示を、第１の転送制御情報として第１の転送制御部１８０内の第１のバッファ制御部１８２に出力する。
【０１３６】
なお、データ転送状態監視部１９０が監視した第２のデータ転送部２０１のＤＭＡ転送の状態に応じて第２の転送制御部２１０に出力する第２の転送制御情報は、第１の実施形態のデータ転送状態監視部１３０と同様である。また、第１の転送制御情報および第２の転送制御情報には、第１の実施形態のデータ転送状態監視部１３０が出力する第１の転送制御情報および第２の転送制御情報と同様に、対応する第１のデータ転送部１０１および第２のデータ転送部２０１に転送データを出力する順序や、第１のデータ転送部１０１と第２のデータ転送部２０１とのタイミングを調停するための制御情報なども含まれる。データ転送状態監視部１９０は、モード設定部１９１を備えている。
【０１３７】
モード設定部１９１は、例えば、不図示のＣＰＵによって設定された動作モードに応じて、第１の転送データをＤＲＡＭにＤＭＡ転送する際の第１の転送データの経路を決定する。そして、モード設定部１９１は、決定した結果に基づいて、第１の転送データをＤＭＡ転送する経路を表す経路選択指示を、第１のバッファ制御部１８２に出力する。例えば、静止画像を連続で撮影する動作モードが設定されている場合には、奇数枚目の静止画像の第１の転送データを第１のデータ転送部１０１がＤＭＡ転送し、偶数枚目の静止画像の第１の転送データを第２のデータ転送部２０１がＤＭＡ転送するように指示する並列転送の経路選択指示を、第１のバッファ制御部１８２に出力する。また、例えば、第１の転送データをＤＭＡ転送するＤＲＡＭを２つ備えている場合には、静止画像の奇数行の第１の転送データを第１のデータ転送部１０１が一方のＤＲＡＭにＤＭＡ転送し、静止画像の偶数行の第１の転送データを第２のデータ転送部２０１が他方のＤＲＡＭにＤＭＡ転送するように指示する並列転送の経路選択指示を、第１のバッファ制御部１８２に出力する。
【０１３８】
この並列転送の経路選択指示に応じて、第１のバッファ制御部１８２は、転送する第１の転送データ毎に、第１の転送データの出力先を第１のデータ転送部１０１または第２のデータ転送部２０１のいずれか一方に決定し、決定した出力先に第１の転送バッファ部１１１から読み出した第１の転送データを出力することによって、第１の転送データを第１のデータ転送部１０１と第２のデータ転送部２０１とで並列にＤＭＡ転送させる。このように、データ転送制御装置４０でも、第１の転送データのＤＭＡ転送を、第１のデータ転送部１０１と第２のデータ転送部２０１とによって並列に行わせることによって、第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散し、第１の転送データのＤＭＡ転送のリアルタイム性を確保する。
【０１３９】
なお、第１のバッファ制御部１８２が第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散する際にも、ＤＲＡＭのバンク衝突が発生しないことが望ましい。従って、第１のバッファ制御部１８２は、第１の実施形態の第１のバッファ制御部１１２と同様に、第１の転送データを第１の転送バッファ部１１１から読み出す順序を変更するなどによって、第２のバッファ制御部２１２に出力する第１の転送データを選択するようにしてもよい。
【０１４０】
次に、データ転送制御装置４０の動作について説明する。図９は、本第４の実施形態のデータ転送制御装置４０によるデータ転送動作の処理手順を示したフローチャートである。モード設定部１９１に動作モードが設定されると、ステップＳ４００において、モード設定部１９１は、設定された動作モードが、第１の転送データの並列転送を行う動作モードであるか否かを判定する。なお、モード設定部１９１における動作モードの判定は、以降の処理手順を実行しているときにも、常に継続して行われる。
【０１４１】
ステップＳ４００における判定において、設定された動作モードが、第１の転送データの並列転送を行う動作モードでない場合（ステップＳ４００の“ＮＯ”）、モード設定部１９１は、第１の転送データを通常の経路、すなわち、第１の転送データを第１のデータ転送部１０１のみでＤＭＡ転送する経路選択指示を第１のバッファ制御部１８２に出力し、処理を終了する。その後、第１の画像データ入力部１００から第１の転送データが入力されると、第１のバッファ制御部１８２は、第１の転送バッファ部１１１から第１の転送データを読み出し、読み出した第１の転送データを第１のデータ転送部１０１によってＤＭＡ転送させる。
【０１４２】
一方、ステップＳ４００における判定において、設定された動作モードが、第１の転送データの並列転送を行う動作モードである場合（ステップＳ４００の“ＹＥＳ”）、モード設定部１９１は、第１の転送データを第１のデータ転送部１０１と第２のデータ転送部２０１とによってＤＭＡ転送する並列転送の経路選択指示を、第１のバッファ制御部１８２に出力する。
【０１４３】
モード設定部１９１から並列転送の経路選択指示が入力され、第１の画像データ入力部１００から第１の転送データが入力されると、ステップＳ４１０において、第１のバッファ制御部１８２は、第１の転送データの出力先の振り分け、すなわち、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの並列転送を開始する。
【０１４４】
なお、第１のバッファ制御部１８２における第１の転送データの並列転送の処理手順は、図３に示した第１の実施形態のデータ転送制御装置１０における第１のバッファ制御部１１２によるデータ転送動作の処理手順におけるステップＳ１２０〜ステップＳ１５０と同様である。従って、第１のバッファ制御部１８２における第１の転送データの並列転送の処理手順の詳細な説明は省略する。
【０１４５】
その後、第１のバッファ制御部１８２は、第１の転送データの並列転送を行う動作モードが解除された場合（ステップＳ４２０の“ＹＥＳ”）、すなわち、モード設定部１９１からの並列転送の経路選択指示が解除された場合、ステップＳ４３０において、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの並列転送を終了する。
【０１４６】
なお、第１のバッファ制御部１８２は、第１の転送データの並列転送を行う動作モードが解除されていない場合（ステップＳ４２０の“ＮＯ”）、すなわち、モード設定部１９１からの並列転送の経路選択指示が入力された状態である場合には、ステップＳ４１０に戻って、第１の転送データの第２のデータ転送部２０１による並列転送を、第１の転送データの並列転送を行う動作モードが解除されるまで繰り返す。
【０１４７】
以降、データ転送制御装置４０は、図９に示したデータ転送動作のフローチャートの処理手順を繰り返して、第１の画像データ入力部１００から入力された全ての第１の転送データのＤＭＡ転送を行う。
【０１４８】
本第４の実施形態によれば、データ転送状態監視部（データ転送状態監視部１９０）は、設定された動作モードに応じて、第１の転送データを転送する際の第１の転送データの経路を決定し、ここで決定した結果に基づいて第１の転送データを転送する経路を表す経路選択指示を出力するモード設定部（モード設定部１９１）、を備え、第１のバッファ制御部（第１のバッファ制御部１８２）は、モード設定部１９１から出力された経路選択指示に基づいて、第１の転送データを、第１のデータ転送部１０１と第２のバッファ制御部２１２とに振り分けて出力する、データ転送制御装置（データ転送制御装置４０）が構成される。
【０１４９】
このようにして、データ転送制御装置４０では、モード設定部１９１に設定された動作モードに応じて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分けて、それぞれ並列にＤＭＡ転送する。これにより、データ転送制御装置４０でも、第１の実施形態のデータ転送制御装置１０と同様に、第１の画像データ入力部１００が出力した第１の転送データをＤＭＡ転送する際のバス帯域が確保されて、ＤＭＡ転送が円滑に行われ、第１の転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【０１５０】
なお、データ転送制御装置４０でも、第１の実施形態のデータ転送制御装置１０と同様に、第１のデータ転送部１０１と第２のデータ転送部２０１とによる転送データのＤＭＡ転送においてＤＲＡＭのバンク衝突が発生しないように、第１のバッファ制御部１８２が第２のバッファ制御部２１２に振り分ける第１の転送データを決定することが望ましい。
【０１５１】
上記に述べたとおり、本発明のデータ転送制御装置では、転送データをＤＭＡ転送する際の様々な条件（より具体的には、ＤＭＡ転送の待ち時間およびＤＲＡＭへのアクセス履歴、ＤＭＡ転送の負荷状態、第１の転送バッファ部１１１のバッファ残量、データ処理装置の動作モードなど）に応じて、第１の転送データのＤＭＡ転送を、第１のデータ転送部１０１と第２のデータ転送部２０１とによって並列に行わせることができる。これにより、第１の画像データ入力部１００が出力した第１の転送データをＤＭＡ転送する際のバス帯域を確保し、第１の転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【０１５２】
なお、本実施形態においては、第１の実施形態〜第４の実施形態において、転送データをＤＭＡ転送する際の異なるそれぞれの条件に対応した構成および動作について説明した。しかし、転送データをＤＭＡ転送する際の複数の条件の組み合わせに対応する構成および動作にすることもできる。これは、データ転送制御装置を、複数の条件の組み合わせに対応する第１の実施形態〜第４の実施形態で示した構成、動作、または機能を同時に備える構成にすることによって実現することができる。例えば、第１の実施形態〜第４の実施形態で示した構成を全て備えたデータ転送制御装置を構成することによって、ＤＭＡ転送の待ち時間およびＤＲＡＭへのアクセス履歴、ＤＭＡ転送の負荷状態、第１の転送バッファ部１１１のバッファ残量、データ処理装置の動作モードなどの全ての条件に応じた動作を行うデータ転送制御装置を実現することができる。
【０１５３】
なお、第１の実施形態〜第４の実施形態においては、画像データ入力部から入力された転送データを転送バッファ部に一旦格納した後に、バッファ制御部が読み出してそれぞれのデータ転送部に出力する構成、つまり、ＤＲＡＭに転送する転送データが、転送バッファ部、バッファ制御部の順番に転送される配置の転送制御部について説明した。例えば、第１の実施形態における第１の転送制御部１１０では、第１の転送データが、第１の転送バッファ部１１１、第１のバッファ制御部１１２の順番で転送される配置について説明した。しかし、転送制御部内の転送バッファ部とバッファ制御部との配置は、第１の実施形態〜第４の実施形態において示した配置の順番に限定されるものではない。
【０１５４】
＜第３の実施形態の変形例＞
ここで、転送制御部内の転送バッファ部とバッファ制御部との配置が異なる場合の一例として、第３の実施形態において示した、第１の転送バッファ部１１１のバッファ残量に基づいて第１の転送データを並列転送するデータ転送制御装置３０の変形例の構成および動作について説明する。なお、以下の説明においては、本変形例のデータ転送制御装置を、第３の実施形態のデータ転送制御装置３０と区別するため、本変形例のデータ転送制御装置を、「データ転送制御装置５０」という。そして、データ転送制御装置５０を備えたデータ処理装置を、「データ処理装置５」という。図１０は、本第３の実施形態の変形例のデータ転送制御装置５０を備えたデータ処理装置５の構成の一例を示したブロック図である。図１０に示したデータ転送制御装置５０も、第３の実施形態のデータ転送制御装置３０と同様に、ＤＭＡ転送する第１の転送データを格納する第１の転送バッファ部１１１のバッファ残量に基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける制御を行う構成である。
【０１５５】
図１０に示したデータ処理装置５は、図６に示したデータ処理装置３内のデータ転送制御装置３０がデータ転送制御装置５０に代わった構成であり、このデータ転送制御装置５０の構成要素をより詳細に示している。なお、図１０に示したデータ処理装置５内の構成要素およびデータ転送制御装置５０内の構成要素には、図６に示したデータ処理装置３内の構成要素およびデータ転送制御装置３０内の構成要素と同様の構成要素も含まれている。従って、図１０に示したデータ処理装置５およびデータ転送制御装置５０の構成要素において、図６に示したデータ処理装置３およびデータ転送制御装置３０の構成要素と同様の構成要素には、同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
【０１５６】
データ転送制御装置５０も、第３の実施形態のデータ転送制御装置３０と同様に、データ処理装置５が第１のデータ転送部１０１および第２のデータ転送部２０１によってＤＲＡＭにＤＭＡ転送する転送データを制御する。従って、データ処理装置５でも、第３の実施形態のデータ転送制御装置３０と同様に、第１のデータ転送部１０１および第２のデータ転送部２０１のそれぞれがＤＭＡ転送する転送データが、データ転送制御装置５０を介して入力される。なお、以下の説明においても、第３の実施形態のデータ処理装置３と同様に、第１のデータ転送部１０１の方が、第２のデータ転送部２０１よりも優先度が高いイニシエータであるものとして説明を行う。
【０１５７】
データ転送制御装置５０は、第３の実施形態のデータ転送制御装置３０と同様に、第１のデータ転送部１０１がＤＭＡ転送する際のメモリアクセス情報に基づいて、データ転送制御装置５０自身に備えた、ＤＭＡ転送する第１の転送データを格納する第１の転送バッファ部のバッファ残量を監視し、監視したバッファ残量に応じて、第１のデータ転送部１０１または第２のデータ転送部２０１のいずれのデータ転送部によって転送データをＤＭＡ転送するかを決定する。そして、データ転送制御装置５０は、第３の実施形態のデータ転送制御装置３０と同様に、決定した第１のデータ転送部１０１または第２のデータ転送部２０１のいずれかのデータ転送部に転送データを出力して、ＤＭＡ転送を行わせる。データ転送制御装置５０は、第１の転送制御部２６０と、第２の転送制御部２２０と、データ転送状態監視部１７０と、を備えている。
【０１５８】
第１の転送制御部２６０は、第３の実施形態の第１の転送制御部１６０と同様に、第１の画像データ入力部１００から入力されたＤＭＡ転送する第１の転送データを、データ転送状態監視部１７０から入力された第１の転送制御情報に基づいて、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分ける。第１の転送制御部２６０は、第１の転送バッファ部２６１と第１のバッファ制御部２６２とを備えている。
【０１５９】
第２の転送制御部２２０は、第３の実施形態の第２の転送制御部２１０と同様に、第２の画像データ入力部２００から入力されたＤＭＡ転送する第２の転送データ、または第１の転送制御部２６０によって振り分けられた、第１の画像データ入力部１００がＤＭＡ転送する第１の転送データのいずれかの転送データを、データ転送状態監視部１７０から入力された第２の転送制御情報に基づいて、第２のデータ転送部２０１に出力する。第２の転送制御部２２０は、第２の転送バッファ部２２１と第２のバッファ制御部２２２とを備えている。
【０１６０】
なお、第１の転送制御部２６０に備えた第１の転送バッファ部２６１と第１のバッファ制御部２６２とのそれぞれは、第３の実施形態の第１の転送制御部１６０に備えた第１の転送バッファ部１１１と第１のバッファ制御部１６２とのそれぞれと同様の機能を持っている。また、第２の転送制御部２２０に備えた第２の転送バッファ部２２１と第２のバッファ制御部２２２とのそれぞれは、第３の実施形態の第２の転送制御部２１０に備えた第２の転送バッファ部２１１と第２のバッファ制御部２１２とのそれぞれと同様の機能を持っている。
【０１６１】
ただし、図６に示した第１の転送制御部１６０と図１０に示した第１の転送制御部２６０とを比べてわかるように、第１の転送制御部２６０内の第１の転送バッファ部２６１と第１のバッファ制御部２６２との配置は、第１の転送制御部１６０とは逆の配置になっている。また、図６に示した第２の転送制御部２１０と図１０に示した第２の転送制御部２２０とを比べてわかるように、第２の転送制御部２２０内の第２の転送バッファ部２２１と第２のバッファ制御部２２２との配置も、第２の転送制御部２１０とは逆の配置になっている。
【０１６２】
第１のバッファ制御部２６２は、データ転送状態監視部１７０から入力された第１の転送制御情報に含まれる負荷分散指示に応じて、第１の転送データの出力先を、第１の転送バッファ部２６１または第２の転送制御部２２０内の第２のバッファ制御部２１２のいずれか一方に決定し、第１の画像データ入力部１００から入力された第１の転送データを、決定した出力先に出力する。つまり、第１のバッファ制御部２６２は、データ転送状態監視部１７０から入力された負荷分散指示に応じて、第１の画像データ入力部１００から出力された第１の転送データが第１のバッファ制御部２６２自身に入力された段階で分岐させ、第１のデータ転送部１０１または第２のバッファ制御部２１２のいずれか一方に振り分ける。
【０１６３】
第１の転送バッファ部２６１は、第１のバッファ制御部２６２から入力された第１の転送データを一旦格納し、その後、格納した第１の転送データを第１のデータ転送部１０１に出力する。これにより、第１のバッファ制御部２６２によって第１の転送バッファ部２６１に振り分けられた第１の転送データが、第１のデータ転送部１０１によってＤＭＡ転送される。
【０１６４】
第２のバッファ制御部２２２は、データ転送状態監視部１７０から入力された第２の転送制御情報に基づいて、第２の画像データ入力部２００から入力された第２の転送データを、第２の転送バッファ部２２１に出力する。なお、第２のバッファ制御部２２２は、第１のバッファ制御部２６２から第１の転送データが入力された場合には、第１のバッファ制御部２６２から入力された第１の転送データを、第２の転送バッファ部２２１に出力する。
【０１６５】
第２の転送バッファ部２２１は、第２のバッファ制御部２２２から入力された転送データを一旦格納し、その後、格納した転送データを第２のデータ転送部２０１に出力する。これにより、第２の画像データ入力部２００から出力された第２の転送データ、または第１のバッファ制御部２６２によって第２のバッファ制御部２２２に振り分けられた第１の転送データが、第２のデータ転送部２０１によってＤＭＡ転送される。
【０１６６】
このような構成によって、データ転送制御装置５０は、第１の画像データ入力部１００が出力した第１の転送データのＤＭＡ転送を、第１のデータ転送部１０１と第２のデータ転送部２０１とによって並列に行わせる。これにより、データ転送制御装置５０でも、第３の実施形態のデータ転送制御装置３０と同様に、第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散し、第１の転送データのＤＭＡ転送のリアルタイム性を確保する。
【０１６７】
なお、第１のバッファ制御部２６２が第１のデータ転送部１０１がＤＭＡ転送する際の負荷を分散する際にも、ＤＲＡＭのバンク衝突が発生しないことが望ましい。従って、第１のバッファ制御部２６２は、第１の画像データ入力部１００から入力された第１の転送データの出力先を変更するようにしてもよい。
【０１６８】
次に、データ転送制御装置５０の動作について説明する。図１１は、本第３の実施形態の変形例のデータ転送制御装置５０によるデータ転送動作の処理手順を示したフローチャートである。データ転送制御装置５０が動作を開始すると、データ転送制御装置５０に備えたデータ転送状態監視部１７０内の転送バッファ残量監視部１７１は、第１のデータ転送部１０１がＤＭＡ転送を行う際の制御信号の情報に基づいて、第１の転送バッファ部２６１のバッファ残量を監視する。なお、第１の転送バッファ部２６１のバッファ残量の監視は、以降の処理手順を実行しているときにも、常に継続して行われる。
【０１６９】
その後、転送バッファ残量監視部１７１は、監視している第１の転送バッファ部２６１のバッファ残量が予め定めた記憶容量よりも少ない場合（ステップＳ５００の“ＹＥＳ”）、すなわち、第１の転送バッファ部２６１の記憶容量の残量不足を検出した場合、第１のデータ転送部１０１の負荷の分散を行うと判定し、負荷分散指示を第１のバッファ制御部２６２に出力する。
【０１７０】
なお、転送バッファ残量監視部１７１は、監視している第１の転送バッファ部２６１のバッファ残量が予め定めた記憶容量よりも少なくない場合（ステップＳ５００の“ＮＯ”）、すなわち、第１の転送バッファ部２６１の記憶容量が十分にある場合には、ステップＳ５００における第１の転送バッファ部２６１のバッファ残量の監視を継続する。
【０１７１】
転送バッファ残量監視部１７１から負荷分散指示が入力されると、ステップＳ５１０において、第１のバッファ制御部２６２は、第１の転送データが第１の画像データ入力部１００から入力された段階で分岐させ、第１のデータ転送部１０１または第２のバッファ制御部２１２のいずれか一方に出力する。すなわち、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの並列転送を開始する。これにより、第１の画像データ入力部１００から入力された第１の転送データが、第１の転送バッファ部２６１または第２の転送バッファ部２２１のいずれか一方に一旦格納され、その後、第１のデータ転送部１０１または第２のデータ転送部２０１によってＤＭＡ転送される。
【０１７２】
その後、第１のバッファ制御部２６２は、第１の転送バッファ部２６１の記憶容量の残量不足が解消された場合（ステップＳ５２０の“ＹＥＳ”）、すなわち、転送バッファ残量監視部１７１からの負荷分散指示が解除された場合、ステップＳ５３０において、第１のデータ転送部１０１と第２のデータ転送部２０１とによる第１の転送データの１回の並列転送を終了する。
【０１７３】
なお、第１のバッファ制御部２６２は、第１の転送バッファ部２６１の記憶容量の残量不足が解消されていない場合（ステップＳ５２０の“ＮＯ”）、すなわち、転送バッファ残量監視部１７１からの負荷分散指示が入力された状態である場合には、ステップＳ５１０に戻って、第１の画像データ入力部１００から入力された第１の転送データの第２のデータ転送部２０１による並列転送を、第１の転送バッファ部２６１の記憶容量の残量不足が解消されるまで繰り返す。
【０１７４】
以降、データ転送制御装置５０は、図１１に示したデータ転送動作のフローチャートの処理手順を繰り返して、第１の画像データ入力部１００からの第１の転送データの入力が終了するまで、第１の転送データのＤＭＡ転送を行う。
【０１７５】
なお、データ転送制御装置５０でも、第１のデータ転送部１０１と第２のデータ転送部２０１とによる転送データのＤＭＡ転送においてＤＲＡＭのバンク衝突が発生しないようにＤＭＡ転送することが望ましい。この場合、第１の転送バッファ部２６１と第２の転送バッファ部２２１とのそれぞれが、対応するデータ転送部に転送データを出力する際に、それぞれのデータ転送部がＤＲＡＭの異なるメモリバンクにＤＭＡ転送するように、転送データの出力順序を並び替えていることが考えられる。このため、ステップＳ５１０において第１のバッファ制御部２６２が、入力された第１の転送データを第２のバッファ制御部２２２に分岐させる際に、ＤＲＡＭのバンク衝突が発生しないように、第１の転送データを第２のバッファ制御部２２２に分岐させるタイミングを変更する構成にしてもよい。
【０１７６】
このように、データ転送制御装置５０でも、第１の転送データをＤＭＡ転送する際に使用する第１の転送バッファ部２６１のバッファ残量に基づいて、第１の画像データ入力部１００から入力された第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに振り分けて、それぞれ並列にＤＭＡ転送することができる。これにより、データ転送制御装置５０でも、第３の実施形態のデータ転送制御装置３０と同様に、第１の画像データ入力部１００が出力した第１の転送データをＤＭＡ転送する際のバス帯域が確保されて、ＤＭＡ転送が円滑に行われ、第１の転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【０１７７】
なお、本実施形態においては、第１の実施形態〜第４の実施形態および変形例のデータ処理装置において、２つの画像データ入力部（第１の画像データ入力部１００および第２の画像データ入力部２００）を備え、それぞれの画像データ入力部に対応する２つのデータ転送部（第１のデータ転送部１０１と第２のデータ転送部２０１）がそれぞれ、転送データをインターコネクトバス７００に出力することによってＤＭＡ転送する構成について説明した。しかし、データ処理装置に備える画像データ入力部およびデータ転送部の数は、第１の実施形態〜第４の実施形態および変形例で示した数に限定されるものではなく、さらに多くの画像データ入力部およびデータ転送部を備える構成であることも考えられる。
【０１７８】
ここで、データ処理装置にさらに多くの画像データ入力部およびデータ転送部を備えた構成の一例について説明する。図１２は、本実施形態におけるデータ転送制御装置を備えたデータ処理装置の概略構成の一例を示したブロック図である。図１２に示したデータ処理装置６は、第１の画像データ入力部１００と、第１のデータ転送部１０１と、第２の画像データ入力部２００と、第２のデータ転送部２０１と、データ転送制御装置１０と、第３の画像データ入力部３００と、第３のデータ転送部３０１と、データ転送制御装置１１と、第４の画像データ入力部４００と、第４のデータ転送部４０１と、データ転送制御装置１２と、を備えている。また、データ転送制御装置１０〜１２のそれぞれは、２つの転送制御部と１つのデータ転送状態監視部とを備えている。ただし、図１２を見てわかるように、データ転送制御装置１０は、第１の転送制御部１１０と、第２の転送制御部２１０と、データ転送状態監視部１３０と、で構成される。また、データ転送制御装置１１は、第２の転送制御部２１０と、第３の転送制御部３１０と、データ転送状態監視部２３０と、で構成される。また、データ転送制御装置１２は、第３の転送制御部３１０と、第４の転送制御部４１０と、データ転送状態監視部３３０と、で構成される。
【０１７９】
図１２に示したデータ処理装置６は、図１に示したデータ処理装置１に備えた画像データ入力部が４つになり、データ転送部が４つになった構成である。また、画像データ入力部およびデータ転送部が４つになったことに伴って、データ転送制御装置が３つになっている。なお、データ処理装置６内の構成要素およびデータ転送制御装置内の構成要素は、図１に示したデータ処理装置１内の構成要素およびデータ転送制御装置１０内の構成要素と同様の構成要素である。より具体的には、第１の画像データ入力部１００〜第４の画像データ入力部４００のそれぞれは、図１に示した第１の画像データ入力部１００や第２の画像データ入力部２００と同様の、インターコネクトバス７００を介してＤＲＡＭに転送する画像データの供給源である。また、第１のデータ転送部１０１〜第４のデータ転送部４０１のそれぞれは、図１に示した第１のデータ転送部１０１や第２のデータ転送部２０１と同様の、対応する画像データ入力部から入力された転送データをインターコネクトバス７００に出力することによって、それぞれの転送データをＤＭＡ転送するイニシエータである。
【０１８０】
そして、データ処理装置６では、データ転送制御装置１０〜データ転送制御装置１２のそれぞれが、図１に示したデータ転送制御装置１０と同様に、それぞれのデータ転送部によってＤＭＡ転送する転送データを振り分ける。このとき、データ転送制御装置１０〜データ転送制御装置１２のそれぞれに備えたデータ転送状態監視部１３０〜データ転送状態監視部３３０のそれぞれは、図１に示したデータ転送状態監視部１３０と同様に、対応する２つのデータ転送部のそれぞれにおいて行われているＤＭＡ転送の状態を監視する。なお、図１２を見てわかるように、データ処理装置６では、データ転送制御装置１０〜データ転送制御装置１２において、１つの転送制御部が、２つのデータ転送制御装置に重複して含まれている。このため、２つのデータ転送制御装置に重複して含まれている１つの転送制御部は、対応する画像データ入力部から入力された転送データを振り分ける機能と、振り分けられた転送データをＤＭＡ転送する機能との両方を備えることとなる。
【０１８１】
より具体的には、第２の転送制御部２１０は、データ転送制御装置１０とデータ転送制御装置１１とに重複して含まれている。このため、第２の転送制御部２１０は、図１に示したデータ処理装置１に備えた第２の転送制御部２１０と同様に、第１の転送制御部１１０によって振り分けられた第１の転送データをＤＭＡ転送する機能に加えて、図１に示したデータ処理装置１に備えた第１の転送制御部１１０と同様に、第２の画像データ入力部２００から入力された第２の転送データを、第２のデータ転送部２０１と第３のデータ転送部３０１（第３の転送制御部３１０）とに振り分ける機能とを備える。また、第３の転送制御部３１０は、データ転送制御装置１１とデータ転送制御装置１２とに重複して含まれている。このため、第３の転送制御部３１０は、図１に示したデータ処理装置１に備えた第２の転送制御部２１０と同様に、第２の転送制御部２１０によって振り分けられた第２の転送データをＤＭＡ転送する機能に加えて、図１に示したデータ処理装置１に備えた第１の転送制御部１１０と同様に、第３の画像データ入力部３００から入力された第３の転送データを、第３のデータ転送部３０１と第４のデータ転送部４０１（第４の転送制御部４１０）とに振り分ける機能とを備える。
【０１８２】
本実施形態によれば、データ転送制御装置（データ転送制御装置１０〜１２）を、データ転送部（第１のデータ転送部１０１、第２のデータ転送部２０１、第３のデータ転送部３０１、および第４のデータ転送部４０１）と、データ入力部（第１の画像データ入力部１００、第２の画像データ入力部２００、第３の画像データ入力部３００、および第４の画像データ入力部４００）との数（ここでは４つ）に応じて数珠つなぎにし、データ転送制御装置１０〜１２のそれぞれに備えたデータ転送状態監視部（データ転送状態監視部１３０、データ転送状態監視部２３０、およびデータ転送状態監視部３３０）は、対応する第１のデータ転送部１０１、第２のデータ転送部２０１、第３のデータ転送部３０１、および第４のデータ転送部４０１のそれぞれの転送データの転送状態を監視して、このデータ転送制御装置１０〜１２に備えたそれぞれの転送制御部（第１の転送制御部１１０、第２の転送制御部２１０、第３の転送制御部３１０、または第４の転送制御部４１０）に転送制御情報を出力し、それぞれのデータ転送制御装置１０〜１２に備えた少なくとも１つの転送制御部（第１の転送制御部１１０、第２の転送制御部２１０、および第３の転送制御部３１０）は、転送制御情報に基づいて、対応するデータ入力部（第１の画像データ入力部１００、第２の画像データ入力部２００、または第３の画像データ入力部３００）から入力された転送データを、このデータ転送制御装置１０〜１２が対応する少なくとも１つのデータ転送部（第２のデータ転送部２０１、第３のデータ転送部３０１、および第４のデータ転送部４０１）に振り分ける、データ処理装置（データ処理装置６）が構成される。
【０１８３】
このように、データ処理装置に備えた画像データ入力部およびデータ転送部の数に応じた数のデータ転送制御装置を数珠つなぎの形態で備えることによって、１つの画像データ入力部から入力されたそれぞれの転送データのＤＭＡ転送を、２つのデータ転送部によって並列に行わせることができる。これにより、それぞれのデータ転送制御装置において、対応する画像データ入力部が出力した転送データをＤＭＡ転送する際のバス帯域が確保されて、ＤＭＡ転送が円滑に行われ、それぞれの転送データのＤＭＡ転送のリアルタイム性を確保することができる。
【０１８４】
上記に述べたとおり、本発明を実施するための形態によれば、画像データ入力部に対応するデータ転送部によるＤＭＡ転送の状態を監視することによって、転送データのＤＭＡ転送が円滑に行われているか否かを判定する。そして、データ転送部による転送データのＤＭＡ転送が円滑に行われていない場合には、現在転送データをＤＭＡ転送しているデータ転送部と異なるデータ転送部によっても、転送データのＤＭＡ転送を行うように、転送データをそれぞれのデータ転送部に振り分ける。これにより、これにより、本発明を実施するための形態では、それぞれのデータ転送部で転送データを並列にＤＭＡ転送することができ、画像データ入力部から入力された転送データをＤＭＡ転送する際のバス帯域を確保することができる。このことにより、本発明を実施するための形態では、画像データ入力部が出力した転送データをＤＭＡ転送する際のスループットの低下を抑えることができ、転送データのリアルタイム性を確保することができる。
【０１８５】
また、本発明を実施するための形態によれば、データ転送制御装置内のそれぞれの転送制御部が対応するデータ転送部に転送データを出力する際に、転送データの出力順序の並び替えを行うことができる。これにより、本発明を実施するための形態では、転送データをＤＭＡ転送する際に、ＤＲＡＭのバンク衝突が発生する確率を低減し、ＤＲＡＭのバンク衝突による待ち時間を低減することができる。このとき、本発明を実施するための形態では、通常のＤＭＡ転送において使用されるそれぞれの転送バッファ部を用いて転送データの出力順序の並び替えを行うことができるため、少ないハードウェアリソースでＤＲＡＭのバンク衝突を回避することができる。
【０１８６】
これらにより、本発明を実施するための形態では、データ処理装置を備えたシステムの性能を向上させることができる。
【０１８７】
なお、本実施形態においては、それぞれの画像データ入力部から出力された転送データをＤＲＡＭに転送する、すなわち、データ処理装置がＤＲＡＭに転送データを出力するライト転送の場合について説明した。しかし、転送データの転送方向は、本発明を実施するための形態に示したデータ処理装置からＤＲＡＭへの方向に限定されるものではない。例えば、ＤＲＡＭに格納されている転送データをデータ処理装置が読み出すリード転送においても、本実施形態において説明した転送データの流れを逆方向にすることによって、同様に、本発明の考え方を適用することができる。また、例えば、ライト転送とリード転送とが組み合わされた構成であっても同様に、本発明の考え方を適用することができる。
【０１８８】
また、本実施形態においては、図１２に示した、多くの画像データ入力部および転送部を備えた構成のデータ処理装置において、それぞれのデータ転送制御装置が、２つの転送制御部と１つのデータ転送状態監視部とで構成される場合について説明した。しかし、１つのデータ転送制御装置に備える転送制御部の数は、本発明を実施するための形態に示した数に限定されるものではなく、例えば、１つのデータ転送制御装置が、３つの転送制御部と１つのデータ転送状態監視部とで構成されてもよい。より具体的には、図１２に示した一例を参照すると、データ転送制御装置１０が、第１の転送制御部１１０と、第２の転送制御部２１０と、第３の転送制御部３１０と、データ転送状態監視部１３０と、で構成されてもよい。この構成の場合、データ転送状態監視部１３０は、第１の転送制御部１１０、第２の転送制御部２１０、および第３の転送制御部３１０のそれぞれにおいて行われているＤＭＡ転送の状態を監視する。そして、第１の転送制御部１１０は、第１の画像データ入力部１００から入力された第１の転送データを、第２の転送制御部２１０に加えて、第３の転送制御部３１０にも振り分ける。これにより、第１の転送データを、第１のデータ転送部１０１と第２のデータ転送部２０１とに加えて、第３のデータ転送部３０１によっても並列にＤＭＡ転送することができる。
【０１８９】
なお、本実施形態においては、デジタルカメラなどの撮像装置に搭載され、画像処理を行うシステムＬＳＩを本発明のデータ処理装置とし、このシステムＬＳＩに本発明のデータ転送制御装置を適用した場合について説明した。そして、データ転送制御装置によって転送する転送データが、画像データである場合について説明した。しかし、本実施形態のデータ転送制御装置を適用することができるデータ処理装置のシステムは、本発明を実施するための形態に示したデータ処理装置のシステムに限定されるものではなく、入力された転送データをＤＭＡ転送するデータ処理装置のシステムであれば、どのようなシステムにも同様に、本発明のデータ転送制御装置の考え方を適用することができる。従って、データ転送制御装置によって転送する転送データは、必ずしも画像データに限定されるものではない。
【０１９０】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【０１９１】
１，２，３，４，５，６・・・データ処理装置
１００・・・第１の画像データ入力部（データ入力部）
１０１・・・第１のデータ転送部（データ転送部，第１のデータ転送部）
２００・・・第２の画像データ入力部（データ入力部）
２０１・・・第２のデータ転送部（データ転送部，第２のデータ転送部）
１０，２０，３０，４０，５０，１１，１２・・・データ転送制御装置
１１０，１４０，１６０，１８０，２６０・・・第１の転送制御部（転送制御部，第１の転送制御部）
１１１，２６１・・・第１の転送バッファ部（転送制御部，転送バッファ部，第１の転送バッファ部）
１１２，１４２，１６２，１８２，２６２・・・第１のバッファ制御部（転送制御部，バッファ制御部，第１のバッファ制御部）
２１０，２２０・・・第２の転送制御部（転送制御部，第２の転送制御部）
２１１，２２１・・・第２の転送バッファ部（転送制御部，転送バッファ部，第２の転送バッファ部）
２１２，２２２・・・第２のバッファ制御部（転送制御部，バッファ制御部，第２のバッファ制御部）
１３０，１５０，１７０，１９０，２３０，３３０・・・データ転送状態監視部
１３１・・・データ転送待ち時間監視部（データ転送状態監視部，データ転送待ち時間監視部）
１３２・・・メモリアクセス履歴収集部（データ転送状態監視部，アクセス履歴収集部）
１５１・・・転送負荷状態監視部（データ転送状態監視部，転送負荷状態監視部）
１７１・・・転送バッファ残量監視部（データ転送状態監視部，転送バッファ残量監視部）
１９１・・・モード設定部（データ転送状態監視部，モード設定部）
３００・・・第３の画像データ入力部（データ入力部）
３０１・・・第３のデータ転送部（データ転送部）
４００・・・第４の画像データ入力部（データ入力部）
４０１・・・第４のデータ転送部（データ転送部）
３１０・・・第３の転送制御部（転送制御部）
４１０・・・第４の転送制御部（転送制御部）
【図１】
2015121893.tif 000003
【図２】
2015121893.tif 000004
【図３】
2015121893.tif 000005
【図４】
2015121893.tif 000006
【図５】
2015121893.tif 000007
【図６】
2015121893.tif 000008
【図７】
2015121893.tif 000009
【図８】
2015121893.tif 000010
【図９】
2015121893.tif 000011
【図１０】
2015121893.tif 000012
【図１１】
2015121893.tif 000013
【図１２】
2015121893.tif 000014