(57)【要約】【課題】それぞれの処理ブロックがアクセスするバンクの順番が異なっている場合でも、データアクセスの効率を高めることができるデータ処理装置およびデータ転送制御装置を提供する。【解決手段】共通バスに接続された複数の処理ブロックと、複数のバンクを有するアドレス空間からなるメモリと、複数の処理ブロックから出力されるメモリへのアクセス要求を調停し、アクセス要求を受け付けた処理ブロックとメモリとの間での共通バスを介したデータの受け渡しを制御する共通バス調停部と、を具備し、複数の処理ブロックの内、少なくとも１つの処理ブロックは、共通バスを介してメモリとの間でデータの受け渡しを行う際に、メモリ内のバンクにアクセスする順番の入れ替えを行い、この処理ブロックは、メモリとの間で受け渡しを行うデータの順番を制御することによって、バンクにアクセスする順番の入れ替えを行うデータ転送制御装置、を備える。【選択図】図１
2014238768.tif 000002
【特許請求の範囲】
【請求項１】
共通バスに接続された複数の処理ブロックと、
複数のバンクを有するアドレス空間からなるメモリと、
複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、
を具備し、
複数の前記処理ブロックの内、少なくとも１つの処理ブロックは、前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行い、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックは、
前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、前記バンクにアクセスする順番の入れ替えを行うデータ転送制御装置、
を備える、
ことを特徴とするデータ処理装置。
【請求項２】
前記データ転送制御装置は、
前記メモリとの間で受け渡しを行う前記データを保存するバッファ部と、
前記バッファ部に前記データを保存するバッファライト制御部と、
前記バッファ部に保存された前記データを読み出すバッファリード制御部と、
を備える、
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ転送制御装置は、
前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、
を備え、
前記バッファライト制御部は、
前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域に、前記データを保存する、
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記データ転送制御装置は、
前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、
を備え、
前記バッファリード制御部は、
前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域から、前記データを読み出す、
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項５】
前記データ転送制御装置は、
前記バンクにアクセスする順番を、前記メモリ内の該バンクの順番と逆の順番にする、
ことを特徴とする請求項１から請求項４のいずれか１の項に記載のデータ処理装置。
【請求項６】
前記データは、
第１の方向および第２の方向の領域からなるデータであり、
当該データ処理装置は、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックを複数備え、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも１つの処理ブロックは、前記データの第１の方向に前記メモリ内の前記バンクにアクセスし、
前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも１つの他の処理ブロックは、前記データの第２の方向に前記メモリ内の前記バンクにアクセスする、
ことを特徴とする請求項１から請求項５のいずれか１の項に記載のデータ処理装置。
【請求項７】
前記データは、
画像データであり、
前記第１の方向は、
前記画像データの水平方向であり、
前記第２の方向は、
前記画像データの垂直方向である、
ことを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
共通バスに接続された複数の処理ブロックと、複数のバンクを有するアドレス空間からなるメモリと、複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、を具備したデータ処理装置において、
複数の前記処理ブロックの内、少なくとも１つの処理ブロックに備えられ、前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、該処理ブロックが前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う、
ことを特徴とするデータ転送制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置およびデータ転送制御装置に関する。
【背景技術】
【０００２】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの画像処理装置に搭載されるシステムＬＳＩなど、多くのシステムＬＳＩでは、接続された１つのＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を、内蔵する複数の処理ブロックが共有している。このようなシステムＬＳＩにおいては、内蔵している複数の処理ブロックが、システムＬＳＩ内部のデータバスに接続され、各処理ブロックは、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によってＤＲＡＭへのアクセスを行う。このとき、バスアービタは、それぞれの処理ブロックから発せられるＤＲＡＭへのアクセス要求（ＤＭＡ要求）を適切に調停しながら、ＤＲＡＭへのアクセスを制御している。
【０００３】
一般的なＤＲＡＭのアクセスでは、データバス全体のバス帯域を確保するため、バンクインターリーブという方法が用いられている。ここで、バス帯域は、各処理ブロックがＤＲＡＭにアクセスした際の、データバス上のデータ量を表している。バンクインターリーブでは、ＤＲＡＭのそれぞれのバンク毎にデータ転送を制御する。バンクインターリーブによってＤＲＡＭの異なるバンクに順次アクセスする場合には、先にアクセスしたバンクからのデータ転送の処理中に、次にアクセスするバンクに対するアドレス設定の処理を並行して行うことができるため、ＤＲＡＭのデータアクセスの効率を向上させることができる。
【０００４】
しかしながら、ＤＲＡＭには、同一のバンクを連続してアクセスする場合に、アクセスを受け付けられない期間が存在する。このため、バンクインターリーブによってＤＲＡＭの同一のバンクに連続アクセスしてしまうと、ＤＲＡＭがアクセスを受け付けられない期間によるロス時間が発生し、ＤＲＡＭのデータアクセスの効率が低下してしまう。このため、データ転送処理とアドレス設定処理とを並行して行うことによって高いデータアクセス効率を確保するためには、バンクインターリーブによって、異なるバンクに順次アクセスする必要がある。
【０００５】
また、一般的なバスアービタにおけるＤＲＡＭへのアクセス要求の調停では、各処理ブロックの優先度に基づいて、例えば、ＤＲＡＭへのアクセスが一定期間阻害されると処理が破綻してしまうような処理ブロックなど、優先度の高い処理ブロックからのアクセス要求を優先的に受け付ける方法が知られている。また、アクセスするバンクの情報に基づいて、例えば、同一のバンクに対する連続したアクセスの優先度を下げるなどの対応を行って、アクセス要求を受け付ける処理ブロックを選択することにより、データバス全体のバス帯域を確保する方法も知られている。
【０００６】
しかし、システムが複雑化してくると、システムＬＳＩに内蔵する処理ブロックの数が増加する。これにより、それぞれの処理ブロックに対する優先度の設定が複雑になり、バスアービタのみで各処理ブロックからのＤＲＡＭへのアクセス要求を適切に調停することが困難になってくる。
【０００７】
このような問題を解決するため、従来から、各処理ブロックが必要とするバス帯域を確保しつつ、バンクインターリーブによってデータバス全体のバス帯域を向上、すなわち、ＤＲＡＭのデータアクセスの効率を向上させて、システムとしての性能（パフォーマンス）を確保するための技術が開示されている。
【０００８】
特許文献１に開示された技術は、それぞれの処理ブロックがＤＲＡＭへのアクセス要求を発する際のタイミング（要求発生タイミング）や、それぞれの処理ブロックがアクセスするＤＲＡＭのアドレスの発生方法を制御することによって、優先度が高い処理ブロックが、ＤＲＡＭの異なるバンクに連続してアクセスするように制御する技術である。この特許文献１に開示された技術によって、それぞれの処理ブロックの優先度を確保しつつ、データバス全体のバス帯域を確保する、つまり、データ転送を効率良く行うことができる。
【０００９】
また、特許文献２や特許文献３に開示された技術は、ＤＲＡＭのそれぞれのバンクにアクセスする際の順番をバスアービタ内で入れ替えることによって、ＤＲＡＭの同一のバンクに対する連続したアクセスを回避する技術である。この特許文献２や特許文献３に開示された技術によって、ＤＲＡＭがアクセスを受け付けられないロス時間の発生を最小限に抑えることができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１１−３１６０号公報
【特許文献２】特開２００６−２６０４７２号公報
【特許文献３】特開２０１０−２７００６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に開示された技術を採用し、優先度が高い処理ブロックがＤＲＡＭの異なるバンクに対して連続してアクセスするように制御した場合でも、優先度が高い処理ブロックが複数あり、かつ、ＤＲＡＭのバンクにアクセスする順番が優先度の高い処理ブロック毎に異なっている場合には、ＤＲＡＭの同一のバンクに対する連続したアクセスが発生してしまうことがある。
【００１２】
例えば、優先度が高い処理ブロックが２つある場合において、一方の処理ブロックがバンクＡ→バンクＢ→バンクＣ→バンクＤの順番でアクセスし、他方の処理ブロックがバンクＤ→バンクＣ→バンクＢ→バンクＡの順番でアクセスする場合には、ＤＲＡＭにアクセスする処理ブロックが切り替わるタイミングで、同一のバンクに対する連続したアクセスが発生してしまう。
【００１３】
また、特許文献２や特許文献３に開示された技術を採用し、バスアービタ内でＤＲＡＭのバンクにアクセスする順番を入れ替えるためには、入れ替えられた順番で転送されてくるデータを元の順番に戻してＤＲＡＭへのアクセスを要求した処理ブロック（要求元の処理ブロック）に出力するためのバッファを、バスアービタ内に搭載する必要がある。このため、バスアービタの回路規模が増大してしまうという問題がある。特に、バスアービタ内に、それぞれの処理ブロックに対応したバッファを複数備える場合には、回路規模がより増大してしまう。
【００１４】
このバスアービタの回路規模が増大してしまうという問題への対応として、バスアービタ内に備えているバッファを複数の処理ブロックで共有する構成が考えられるが、この場合には、処理ブロック毎の優先度を細かく管理することが困難になるなど、ＤＲＡＭのバンクに対するアクセスの順番をバスアービタ内で入れ替えることによる効果を十分に得られなくなってしまうという新たな問題が発生してしまう。
【００１５】
そして、ＤＲＡＭのバンクに対するアクセスの順番を入れ替えることによる効果を十分に得るために、さらに別の様々な機能をバスアービタで実現しようとすると、処理ブロックとバスアービタとの間のやり取り（インタフェース）が複雑になってしまう。さらに、それぞれの処理ブロックでは、バスアービタで実現された別の様々な機能に対応するための構成も必要となり、それぞれの処理ブロックの構成の複雑化によって、システム全体のコスト増を招くことになる。
【００１６】
本発明は、上記の課題認識に基づいてなされたものであり、それぞれの処理ブロックがアクセスするバンクの順番が異なっている場合でも、データアクセスの効率を高めることができるデータ処理装置およびデータ転送制御装置を提供することを目的としている。
【課題を解決するための手段】
【００１７】
上記の課題を解決するため、本発明のデータ処理装置は、共通バスに接続された複数の処理ブロックと、複数のバンクを有するアドレス空間からなるメモリと、複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、を具備し、複数の前記処理ブロックの内、少なくとも１つの処理ブロックは、前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行い、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックは、前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、前記バンクにアクセスする順番の入れ替えを行うデータ転送制御装置、を備える、ことを特徴とする。
【００１８】
また、本発明の前記データ転送制御装置は、前記メモリとの間で受け渡しを行う前記データを保存するバッファ部と、前記バッファ部に前記データを保存するバッファライト制御部と、前記バッファ部に保存された前記データを読み出すバッファリード制御部と、を備える、ことを特徴とする。
【００１９】
また、本発明の前記データ転送制御装置は、前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、を備え、前記バッファライト制御部は、前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域に、前記データを保存する、ことを特徴とする。
【００２０】
また、本発明の前記データ転送制御装置は、前記メモリとの間で受け渡しを行う前記データの順番を設定する動作モードレジスタ、を備え、前記バッファリード制御部は、前記動作モードレジスタに設定された前記データの順番に基づいて、前記バッファ部内の前記バンクに対応する記憶領域から、前記データを読み出す、ことを特徴とする。
【００２１】
また、本発明の前記データ転送制御装置は、前記バンクにアクセスする順番を、前記メモリ内の該バンクの順番と逆の順番にする、ことを特徴とする。
【００２２】
また、本発明のデータ処理装置における前記データは、第１の方向および第２の方向の領域からなるデータであり、当該データ処理装置は、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う前記処理ブロックを複数備え、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも１つの処理ブロックは、前記データの第１の方向に前記メモリ内の前記バンクにアクセスし、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う複数の前記処理ブロックの内、少なくとも１つの他の処理ブロックは、前記データの第２の方向に前記メモリ内の前記バンクにアクセスする、ことを特徴とする。
【００２３】
また、本発明のデータ処理装置における前記データは、画像データであり、前記第１の方向は、前記画像データの水平方向であり、前記第２の方向は、前記画像データの垂直方向である、ことを特徴とする。
【００２４】
また、本発明のデータ転送制御装置は、共通バスに接続された複数の処理ブロックと、複数のバンクを有するアドレス空間からなるメモリと、複数の前記処理ブロックから出力される前記メモリへのアクセス要求を調停し、前記アクセス要求を受け付けた前記処理ブロックと前記メモリとの間での前記共通バスを介したデータの受け渡しを制御する共通バス調停部と、を具備したデータ処理装置において、複数の前記処理ブロックの内、少なくとも１つの処理ブロックに備えられ、前記メモリとの間で受け渡しを行う前記データの順番を制御することによって、該処理ブロックが前記共通バスを介して前記メモリとの間で前記データの受け渡しを行う際に、前記メモリ内の前記バンクにアクセスする順番の入れ替えを行う、ことを特徴とする。
【発明の効果】
【００２５】
本発明によれば、それぞれの処理ブロックがアクセスするバンクの順番が異なっている場合でも、データアクセスの効率を高めることができるという効果が得られる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態におけるデータ転送制御装置を適用した画像処理装置の概略構成を示したブロック図である。
【図２】本実施形態の画像処理装置における画像の反転処理の一例を示した図である。
【図３】本実施形態の画像処理装置における画像の反転処理でのＤＲＡＭへのアクセス方法の一例を模式的に示した図である。
【図４】本実施形態の画像処理装置に備えた処理ブロックにおけるＤＲＡＭのバンクアクセスに起因するロス時間の一例を模式的に示した図である。
【図５】本実施形態の画像処理装置に備えた処理ブロックによる第１の入れ替え処理によってＤＲＡＭのバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。
【図６】本実施形態の画像処理装置に備えたデータ転送制御装置の概略構成を示したブロック図である。
【図７】本実施形態の画像処理装置に備えたデータ転送制御装置の第１の入れ替え処理におけるＤＭＡ動作の一例を説明する図である。
【図８】本実施形態の画像処理装置に備えたデータ転送制御装置による第１の入れ替え処理のＤＭＡ動作における画像データの転送タイミングの一例を模式的に示した図である。
【図９】本実施形態の画像処理装置に備えたデータ転送制御装置の第１の入れ替え処理におけるＤＭＡ動作の別の一例を説明する図である。
【図１０】本実施形態の画像処理装置に備えたデータ転送制御装置による第１の入れ替え処理のＤＭＡ動作の別の一例における画像データの転送タイミングの一例を模式的に示した図である。
【図１１】本実施形態の画像処理装置に備えたデータ転送制御装置におけるＤＭＡ動作を説明する図である。
【図１２】本実施形態の画像処理装置における画像データの転送方向とＤＲＡＭのアクセスとの一例を模式的に示した図である。
【図１３】本実施形態の画像処理装置において画像データの転送方向が異なる場合に対応したＤＲＡＭのアクセスの一例を模式的に示した図である。
【図１４】本実施形態の画像処理装置に備えた処理ブロックにおけるＤＲＡＭのバンクアクセスに起因するロス時間の一例を模式的に示した図である。
【図１５】本実施形態の画像処理装置に備えた処理ブロックによる第２の入れ替え処理によってＤＲＡＭのバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について、図面を参照して説明する。本実施形態においては、例えば、静止画用カメラなどの画像処理装置を本発明のデータ処理装置とし、このデータ処理装置に本発明のデータ転送制御装置を適用した場合の一例について説明する。図１は、本実施形態におけるデータ転送制御装置を適用した画像処理装置の概略構成を示したブロック図である。図１において、画像処理装置１は、イメージセンサ１０と、画像転送部２１および評価値生成部２２を備えた前処理部２０と、画像処理部３０と、表示処理部４０と、表示デバイス４１と、カードインタフェース部５０と、記録媒体５１と、ＣＰＵ６０と、バスアービタ７０と、ＤＲＡＭインタフェース部７１と、ＤＲＡＭ７２とを備えている。
【００２８】
図１に示したように、画像処理装置１内の画像転送部２１、評価値生成部２２、画像処理部３０、表示処理部４０、カードインタフェース部５０、およびＣＰＵ６０のそれぞれは、本実施形態のデータ転送制御装置１００、データ転送制御装置２００、またはデータ転送制御装置３００によって共通バスであるデータバス８０に接続されている。そして、データバス８０に接続されたそれぞれの処理ブロックは、ＤＭＡ要求などのＤＲＡＭへのアクセス要求を、データバス８０を介してバスアービタ７０に出力し、バスアービタ７０に接続されたＤＲＡＭインタフェース部７１によって制御されるＤＲＡＭ７２からのデータの読み出し、およびＤＲＡＭ７２へのデータの書き込みを行う。なお、データバス８０には、各処理ブロックがＤＲＡＭ７２との間でＤＭＡを行うための、ＤＭＡ要求信号、ＤＭＡ受け付け信号、読み出し／書き込み制御信号（ＲＷ制御信号）、アドレス、およびデータなどの信号が含まれている。
【００２９】
イメージセンサ１０は、図示しないレンズによって結像された被写体の光学像を光電変換するＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｐｌｅｄ  Ｄｅｖｉｃｅ：電荷結合素子）イメージセンサや、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ：相補型金属酸化膜半導体）イメージセンサに代表されるイメージセンサである。イメージセンサ１０は、被写体光に応じた画像信号（以下、「入力画像データ」という）を前処理部２０に出力する。
【００３０】
前処理部２０は、イメージセンサ１０から入力された入力画像データに、キズ補正やシェーディング補正などの前処理を施す処理ブロックである。前処理部２０に備えた画像転送部２１は、前処理した結果の画像データ（以下、「前処理画像データ」という）を、ＤＲＡＭ７２に転送する（書き込む）。また、前処理部２０に備えた評価値生成部２２は、前処理した前処理画像データに基づいて、自動露出（Ａｕｔｏ  Ｅｘｐｏｓｕｒｅ：ＡＥ）、自動焦点（Ａｕｔｏ  Ｆｏｃｕｓ：ＡＦ）、オートホワイトバランス（Ａｕｔｏ  Ｗｈｉｔｅ  Ｂａｌａｎｃｅ：ＡＷＢ）などの制御を行うための評価値を生成し、生成した評価値をＤＲＡＭ７２に転送する（書き込む）。
【００３１】
画像転送部２１および評価値生成部２２は、前処理画像データまたは評価値をＤＲＡＭ７２に転送する際に、ＤＲＡＭ７２へのＤＭＡ要求信号をバスアービタ７０に出力する。そして、画像転送部２１および評価値生成部２２は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、前処理画像データまたは評価値を、バスアービタ７０およびＤＲＡＭインタフェース部７１を介してＤＲＡＭ７２に出力する。
【００３２】
画像処理部３０は、ＤＲＡＭ７２に記憶している前処理画像データを取得し（読み出し）、ノイズ除去、ＹＣ変換処理、リサイズ処理、ＪＰＥＧ圧縮処理などの各種の画像処理を施して、表示用の画像データや記録用の画像データを生成する処理ブロックである。また、画像処理部３０は、生成した表示用の画像データおよび記録用の画像データを、再びＤＲＡＭ７２に転送する（書き込む）処理ブロックでもある。
【００３３】
画像処理部３０は、前処理画像データをＤＲＡＭ７２から取得する際に、ＤＲＡＭ７２へのＤＭＡ要求信号をバスアービタ７０に出力する。そして、画像処理部３０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、ＤＲＡＭインタフェース部７１およびバスアービタ７０を介してＤＲＡＭ７２から前処理画像データを読み出す。
【００３４】
また、画像処理部３０は、表示用の画像データおよび記録用の画像データを、ＤＲＡＭ７２に転送する際に、ＤＲＡＭ７２へのＤＭＡ要求信号をバスアービタ７０に出力する。そして、画像処理部３０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、生成した表示用の画像データおよび記録用の画像データを、バスアービタ７０およびＤＲＡＭインタフェース部７１を介してＤＲＡＭ７２に出力する。
【００３５】
表示処理部４０は、ＤＲＡＭ７２に記憶している表示用の画像データを取得し（読み出し）、取得した表示用の画像データにＯＳＤ（Ｏｎ−Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）表示用のデータを重畳する処理などの表示処理を施して表示デバイス４１に出力する処理ブロックである。
【００３６】
表示処理部４０は、表示用の画像データをＤＲＡＭ７２から取得する際に、ＤＲＡＭ７２へのＤＭＡ要求信号をバスアービタ７０に出力する。そして、表示処理部４０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、ＤＲＡＭインタフェース部７１およびバスアービタ７０を介してＤＲＡＭ７２から表示用の画像データを読み出す。そして、読み出した表示用の画像データに表示処理を施した後、表示処理後の画像データを、表示デバイス４１に出力する。
【００３７】
表示デバイス４１は、ＴＦＴ（薄膜トランジスター：Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）や、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示デバイスであり、表示処理部４０から出力された表示処理後の画像データに応じた画像を表示する。
【００３８】
カードインタフェース部５０は、ＤＲＡＭ７２に記憶している記録用の画像データを取得し（読み出し）、記録媒体５１に記録させる処理ブロックである。また、カードインタフェース部５０は、記録媒体５１に記録している画像データを読み出し、読み出した画像データを、ＤＲＡＭ７２に転送する（書き込む）処理ブロックでもある。
【００３９】
カードインタフェース部５０は、記録用の画像データをＤＲＡＭ７２から取得する際に、ＤＲＡＭ７２へのＤＭＡ要求信号をバスアービタ７０に出力する。そして、カードインタフェース部５０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、ＤＲＡＭインタフェース部７１およびバスアービタ７０を介してＤＲＡＭ７２から記録用の画像データを読み出す。そして、読み出した記録用の画像データを記録媒体５１に出力し、記録させる。
【００４０】
また、カードインタフェース部５０は、記録媒体５１から読み出した画像データを、ＤＲＡＭ７２に転送する際に、ＤＲＡＭ７２へのＤＭＡ要求信号を、バスアービタ７０に出力する。そして、カードインタフェース部５０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、記録媒体５１から読み出した画像データを、バスアービタ７０およびＤＲＡＭインタフェース部７１を介してＤＲＡＭ７２に出力する。
【００４１】
記録媒体５１は、メモリカードなどの記録媒体であり、カードインタフェース部５０から出力された記録用の画像データを記録する。また、カードインタフェース部５０によって記録している画像データが読み出される。なお、図１においては、記録媒体５１も画像処理装置１の構成要素としているが、記録媒体５１は、画像処理装置１に着脱可能な構成である。
【００４２】
ＣＰＵ６０は、画像処理装置１の構成要素、すなわち、画像処理装置１全体を制御する処理ブロックである。ＣＰＵ６０が画像処理装置１のそれぞれの構成要素を制御する際にもＤＲＡＭ７２へのアクセスが行われる。ただし、ＣＰＵ６０がＤＲＡＭ７２から取得する（読み出す）データや、ＤＲＡＭ７２に転送する（書き込む）データは、上述した処理ブロックにおける画像データのみではなく、画像処理装置１のそれぞれの構成要素の動作を設定するためのパラメータのデータも含まれる。
【００４３】
ＣＰＵ６０がＤＭＡによってＤＲＡＭ７２からデータを取得する際には、ＤＲＡＭ７２へのＤＭＡ要求信号をバスアービタ７０に出力する。そして、ＣＰＵ６０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、取得するデータをＤＲＡＭインタフェース部７１およびバスアービタ７０を介してＤＲＡＭ７２から読み出す。
【００４４】
また、ＣＰＵ６０がＤＭＡによってＤＲＡＭ７２にデータを転送する際には、ＤＲＡＭ７２へのＤＭＡ要求信号をバスアービタ７０に出力する。そして、ＣＰＵ６０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、転送するデータを、バスアービタ７０およびＤＲＡＭインタフェース部７１を介してＤＲＡＭ７２に出力する。
【００４５】
バスアービタ（共通バス調停部）７０は、データバス８０に接続されている画像処理装置１内の複数の処理ブロックからのＤＭＡ要求に応じて、ＤＲＡＭ７２へのデータの転送（書き込み）、およびＤＲＡＭ７２からのデータの取得（読み出し）の調停を行う。
【００４６】
より具体的には、バスアービタ７０は、それぞれの処理ブロックから入力されたＤＭＡ要求信号に応じて、バンクインターリーブや各処理ブロックの優先度に基づいて、各処理ブロックによるＤＲＡＭ７２へのアクセスの調停を行い、ＤＭＡ要求を受け付ける処理ブロックを決定する。そして、決定した処理ブロックに、ＤＭＡ受け付け信号を出力する。
【００４７】
その後、バスアービタ７０は、決定した処理ブロックがＤＲＡＭ７２にデータを転送する際には、ＤＲＡＭ７２にデータを書き込むことを表すＲＷ制御信号、処理ブロックから入力されたＤＲＡＭ７２のアドレス、および転送するデータを、ＤＲＡＭインタフェース部７１に出力する。また、バスアービタ７０は、決定した処理ブロックがＤＲＡＭ７２からデータを取得する際には、ＤＲＡＭ７２からデータを読み出すことを表すＲＷ制御信号、および処理ブロックから入力されたＤＲＡＭ７２のアドレスをＤＲＡＭインタフェース部７１に出力する。その後、ＤＲＡＭインタフェース部７１から入力されたデータ、すなわち、ＤＲＡＭ７２から取得したデータを、決定した処理ブロックに出力する。
【００４８】
ＤＲＡＭインタフェース部７１は、バスアービタ７０から入力されたＤＲＡＭ７２の書き込みまたは読み出しを表すＲＷ制御信号と、ＤＲＡＭ７２のアドレスとに基づいて、ＤＲＡＭ７２へのデータの書き込みまたはデータの読み出しの制御を行う。すなわち、バスアービタ７０によって決定された処理ブロックからのＤＲＡＭアクセスに応じた、ＤＲＡＭ７２へのデータの書き込みまたはＤＲＡＭ７２からのデータの読み出しを実行する。
【００４９】
より具体的には、ＤＲＡＭインタフェース部７１は、バスアービタ７０から入力されたＲＷ制御信号が、ＤＲＡＭ７２への書き込みを表しているときには、バスアービタ７０から入力されたデータを、ＤＲＡＭ７２に出力する。また、バスアービタ７０から入力されたＲＷ制御信号が、ＤＲＡＭ７２の読み出しを表しているときには、ＤＲＡＭ７２から出力されたデータを、バスアービタ７０に出力する。
【００５０】
ＤＲＡＭ７２は、ＤＲＡＭインタフェース部７１によってアクセス制御され、画像処理装置１内のそれぞれの処理ブロックの処理過程における様々なデータを記憶するメモリである。
【００５１】
このように、画像処理装置１内の各処理ブロックは、それぞれの処理ブロックがＤＲＡＭ７２にアクセスする際に、バスアービタ７０にＤＭＡ要求を出す。そして、バスアービタ７０にＤＭＡ要求が受け付けられた後に、データバス８０、バスアービタ７０、およびＤＲＡＭインタフェース部７１を介して、ＤＲＡＭ７２へのデータ書き込み、またはＤＲＡＭ７２からのデータ読み出しを行う。
【００５２】
＜第１の入れ替え処理＞
ここで、画像処理装置１内の各処理ブロックにおけるＤＲＡＭ７２へのアクセス方法について説明するため、図２および図３を参照して画像処理装置１の動作の一例について説明する。画像処理装置１では、画像処理装置１の機能や画像処理装置１を設計、製造する際の制約などによって、現在の画像を反転する処理（以下、「反転処理」という）を行う場合がある。図２は、本実施形態の画像処理装置１における画像の反転処理の一例を示した図である。また、図３は、本実施形態の画像処理装置１における画像の反転処理でのＤＲＡＭ７２へのアクセス方法の一例を模式的に示した図である。
【００５３】
例えば、画像処理装置１においてイメージセンサ１０を配置する基板のレイアウトの制約によって、イメージセンサ１０を１８０°回転した状態で配置しなければならない場合がある。この場合には、画像が上下左右反転した状態でイメージセンサ１０に結像されるため、前処理部２０がイメージセンサ１０から入力された入力画像データを前処理してＤＲＡＭ７２に転送する際には、前処理画像データを上下左右方向に反転処理して出力することになる（図２（ｄ）参照）。また、例えば、画像処理装置１においてレンズなどの光学系に屈折光学系などを用いる場合には、反射ミラーの配置によって、イメージセンサ１０に結像される被写体の光学像の方向が、左右反転した状態、上下反転した状態、または上下左右反転した状態など、様々な方向になる場合がある。この場合にも、前処理部２０がイメージセンサ１０から入力された入力画像データを前処理してＤＲＡＭ７２に転送する際に、前処理画像データを左右方向、上下方向、または上下左右方向に反転処理して出力することになる（図２（ｂ）〜（ｄ）参照）。
【００５４】
例えば、画像処理装置１において表示デバイス４１を配置する基板のレイアウトの制約によって、表示デバイス４１を１８０°回転した状態で配置しなければならない場合がある。この場合には、画像が上下左右反転した状態で表示デバイス４１に表示されるため、表示処理部４０が表示用の画像データをＤＲＡＭ７２から取得する（読み出す）際に、表示用の画像データを上下左右方向に反転処理し、反転処理した表示用の画像データを表示デバイス４１に出力することになる（図２（ｄ）参照）。また、例えば、画像処理装置１における機能として、可動式の表示デバイス４１を搭載している場合には、可動部の状況に応じて、表示デバイス４１に表示される画像が左右反転した状態、上下反転した状態、または上下左右反転した状態など、様々な方向になる場合がある。この場合にも、表示処理部４０が表示用の画像データをＤＲＡＭ７２から取得する（読み出す）際に、可動部の状況に応じて、表示用の画像データを左右方向、上下方向、または上下左右方向に反転処理し、反転処理した表示用の画像データを表示デバイス４１に出力することになる（図２（ｂ）〜（ｄ）参照）。
【００５５】
このように、画像処理装置１では、イメージセンサ１０の取り付け方向の制約、レンズなどの光学系によって結像される被写体の光学像の方向の制約、表示デバイス４１の取り付け方向の制約、および可動式の表示デバイス４１において画像を正しく表示させる機能に応じて、画像に対して反転処理を行う必要が出てくる。このため、画像処理装置１に備えたそれぞれの処理ブロックでは、ＤＲＡＭ７２にアクセスする際のアドレスを制御することによって、画像データの反転処理を行う。
【００５６】
例えば、図３に示したように現在の画像を左右方向に反転処理して表示デバイス４１に表示させる場合を考える。入力画像データが、図３（ａ）に示したような方向でイメージセンサ１０から入力された場合、前処理部２０および画像処理部３０のそれぞれは、画像の左側から右側に向かって順番にＤＲＡＭ７２のアドレスを割り当てて、処理した前処理画像データおよび表示用の画像データをＤＲＡＭ７２に転送する（書き込む）。図３（ａ）には、画像の左側から順番に、例えば、０，１，２，３，・・・，９９という昇順のアドレスを割り当てて、ＤＲＡＭ７２に表示用の画像データを転送した状態を示している。その後、表示処理部４０は、図３（ｂ）に示したように、左右方向に反転処理した画像を表示デバイス４１に表示させるため、画像の右側から左側に向かって順番に、ＤＲＡＭ７２に記憶されている表示用の画像データを取得する（読み出す）。つまり、図３（ｂ）に示したように、画像の右側から順番に、例えば、９９，９８，９７，９６，・・・，０という降順のアドレスで、記憶されている表示用の画像データを読み出す。このように、ＤＲＡＭ７２に記憶されている表示用の画像データをアドレスの順番を逆にして読み出すことによって、画像を左右方向に反転処理することができる。
【００５７】
このとき、上述した例における０〜９９のアドレスが、ＤＲＡＭ７２の同じバンクに対するアドレスではなく、ＤＲＡＭ７２の異なるバンクに対するアドレスである場合には、バンクインターリーブによるＤＲＡＭ７２の同一のバンクに対する連続したアクセスが発生し、ＤＲＡＭ７２へのアクセス効率が低下してしまうことがある。図４は、本実施形態の画像処理装置１に備えた処理ブロックにおけるＤＲＡＭ７２のバンクアクセスに起因するロス時間の一例を模式的に示した図である。図４には、反転処理を行わない画像処理部３０がＤＲＡＭ７２のアドレスを昇順に指定して表示用の画像データをＤＲＡＭ７２に転送し、反転処理を行う表示処理部４０がＤＲＡＭ７２のアドレスを降順に指定して表示用の画像データを取得するＤＲＡＭ７２へのアクセスにおいて、それぞれのアドレスが異なるバンクを指定するアドレスである場合のタイミングを示している。
【００５８】
図４に示したように、画像処理部３０と表示処理部４０とが交互にＤＲＡＭ７２へのアクセスを行うと、ＤＲＡＭ７２にアクセスする処理ブロックが切り替わるときに、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスが発生してしまう。より具体的には、反転処理を行わない画像処理部３０がＤＲＡＭ７２のアドレスを昇順に指定することによって、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスした後、反転処理を行う表示処理部４０がＤＲＡＭ７２のアドレスを降順に指定することによって、バンクＤ、バンクＣ、バンクＢ、バンクＡの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスする。これにより、画像処理部３０によるバンクＤへのアクセスと、表示処理部４０によるバンクＤへのアクセスとが連続してしまう。このとき、ＤＲＡＭ７２は、バンクＤへの連続したアクセスを受け付けることができないため、この期間がロス時間となり、ＤＲＡＭ７２へのアクセス効率が低下してしまう。
【００５９】
そこで、各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番を入れ替えることによって、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避する。図５は、本実施形態の画像処理装置１に備えた処理ブロックによる第１の入れ替え処理によってＤＲＡＭ７２のバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。図５には、図４に示したＤＲＡＭ７２のバンクアクセスと同様に、反転処理を行わない画像処理部３０がＤＲＡＭ７２のアドレスを昇順に指定して表示用の画像データをＤＲＡＭ７２に転送し、反転処理を行う表示処理部４０がＤＲＡＭ７２のアドレスを降順に指定して表示用の画像データを取得するＤＲＡＭ７２へのアクセスにおいて、それぞれのアドレスが異なるバンクを指定するアドレスである場合のタイミングを示している。
【００６０】
図５に示したように、画像処理部３０と表示処理部４０とが交互にＤＲＡＭ７２へのアクセスを行うと、図４に示したＤＲＡＭ７２のバンクアクセスと同様に、ＤＲＡＭ７２にアクセスする処理ブロックが切り替わるときに、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスが発生してしまう。しかし、図５に示したＤＲＡＭ７２のバンクアクセスでは、表示処理部４０に備えたデータ転送制御装置２００が、ＤＲＡＭ７２のそれぞれのバンクに対するアクセスの順番を入れ替える。これにより、表示処理部４０は、バンクインターリーブによるＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避することができる。
【００６１】
より具体的には、図４に示したＤＲＡＭ７２のバンクアクセスと同様に、反転処理を行わない画像処理部３０がＤＲＡＭ７２のアドレスを昇順に指定することによって、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスした後、反転処理を行わない表示処理部４０がＤＲＡＭ７２のアドレスを降順に指定することによって、バンクＤ、バンクＣ、バンクＢ、バンクＡの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスする。これにより、図４に示したＤＲＡＭ７２のバンクアクセスと同様に、画像処理部３０によるバンクＤへのアクセスと、表示処理部４０によるバンクＤへのアクセスとが連続してしまう。このとき、表示処理部４０に備えたデータ転送制御装置２００は、ＤＲＡＭ７２のそれぞれのバンクにアクセスする順番を、画像処理部３０と同様のバンクＡ、バンクＢ、バンクＣ、バンクＤの順番に入れ替える。これにより、反転処理を行わない画像処理部３０と反転処理を行う表示処理部４０とが交互にＤＲＡＭ７２へのアクセスを行う場合でも、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避することができる。
【００６２】
このように、画像処理装置１内の各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番を、他の処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番と同じ順番になるように入れ替える。これにより、それぞれの処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番が、画像処理装置１内の全ての処理ブロックで同じになる。これにより、画像処理装置１内に反転処理を行わない処理ブロックと反転処理を行う処理ブロックとが混在し、ＤＲＡＭ７２に対して複数の処理ブロックがアクセスした場合でも、バンクインターリーブによるＤＲＡＭ７２の同一のバンクに対する連続したアクセスが発生しなくなり、ロス時間によるＤＲＡＭ７２へのアクセス効率の低下を抑えることができる。
【００６３】
次に、画像処理装置１内の各処理ブロックに備えたデータ転送制御装置について説明する。なお、データ転送制御装置１００、データ転送制御装置２００、およびデータ転送制御装置３００は、データを入出力する方向が異なるが、データを入出力する際の考え方は同様である。従って、以下の説明においては、代表して画像処理装置１内の画像転送部２１、評価値生成部２２、および画像処理部３０に備えたデータ転送制御装置１００について説明する。なお、以下の説明においては、画像転送部２１が出力する前処理画像データ、評価値生成部２２が出力する評価値、画像処理部３０が出力する表示用の画像データおよび記録用の画像データをまとめて、「画像データ」という。
【００６４】
図６は、本実施形態の画像処理装置１に備えたデータ転送制御装置１００の概略構成を示したブロック図である。図６に示したように、データ転送制御装置１００は、動作モードレジスタ１０１と、パッキング部１１０と、バッファライト制御部１２０と、データバッファ１３０と、アドレスバッファ１４０と、バッファリード制御部１５０と、バスインタフェース部１６０と、を備えている。
【００６５】
データ転送制御装置１００は、データバス８０を介してＤＲＡＭ７２に画像データを転送する（書き込む）ためのＤＭＡ要求信号を、データバス８０を介してバスアービタ７０に出力する。このとき、データ転送制御装置１００は、ＤＲＡＭ７２にアクセスするバンクの順番が、予め定めた順番で連続するように、ＤＲＡＭ７２に転送する複数の画像データをまとめてから、ＤＭＡ要求信号をバスアービタ７０に出力する。そして、データ転送制御装置１００は、ＤＭＡ要求がバスアービタ７０に受け付けられ、ＤＭＡ受け付け信号が入力された後に、まとめた画像データを、予め定めたバンクの順番で連続するように、データバス８０を介してバスアービタ７０に出力する。これにより、データ転送制御装置１００からのＤＭＡに応じて、バスアービタ７０およびＤＲＡＭインタフェース部７１が動作し、データ転送制御装置１００に指定されたＤＲＡＭ７２のアドレスに対応する記憶領域に、データ転送制御装置１００から出力された画像データが書き込まれる。
【００６６】
以下の説明においては、データ転送制御装置１００が画像データを転送する先のＤＲＡＭ７２のアドレス空間が、４つのバンク（バンクＡ、バンクＢ、バンクＣ、およびバンクＤ）で構成されている場合について説明する。また、以下の説明においては、データ転送制御装置１００による１回のＤＭＡで、ＤＲＡＭ７２の４つのバンクにそれぞれ１回ずつ連続してアクセスするバンクインターリーブでのアクセスを行う、つまり、ＤＲＡＭ７２の４つのバンクに対する連続したアクセスを、ＤＭＡの１回の転送単位とする場合について説明する。
【００６７】
動作モードレジスタ１０１は、データ転送制御装置１００がＤＭＡによってＤＲＡＭ７２にアクセスする際の動作に関する情報、つまり、動作モードの情報が設定される。この動作モードの情報には、例えば、ＤＲＡＭ７２のそれぞれのバンクにアクセスする順番を入れ替えるための情報、入力された画像データを予め定めた単位にまとめる（パッキングする）ときの画像データの順番を入れ替えるための情報、ＤＲＡＭ７２の水平方向と垂直方向のアドレス発生順番を入れ替えるための情報などが含まれている。そして、動作モードレジスタ１０１は、設定された動作モードの情報を、パッキング部１１０に出力する。例えば、反転なし、左右反転、上下反転、上下左右反転などの反転処理における動作モードの情報を、パッキング部１１０に出力する。
【００６８】
動作モードレジスタ１０１への動作モードの情報の設定は、例えば、ＣＰＵ６０が、データ転送制御装置１００がＤＭＡによる画像データの転送を開始する前に、事前に設定しておく。例えば、動作モードとして「反転なし」の反転処理を設定する場合には、画像データをパッキングする順番を昇順に、ＤＲＡＭ７２のアドレス発生順番を水平方向に昇順に垂直方向に昇順に設定する。この動作モードでは、バンクにアクセスする順番は昇順となる。また、例えば、動作モードとして「左右反転」の反転処理を設定する場合には、画像データをパッキングする順番を降順に、ＤＲＡＭ７２のアドレス発生順番を水平方向に降順に垂直方向に昇順に設定する。この動作モードでは、バンクにアクセスする順番は降順となる。また、例えば、動作モードとして「上下反転」の反転処理を設定する場合には、画像データをパッキングする順番を昇順に、ＤＲＡＭ７２のアドレス発生順番を水平方向に昇順に垂直方向に降順に設定する。この動作モードでは、バンクにアクセスする順番は昇順となる。また、例えば、動作モードとして「上下左右反転」の反転処理を設定する場合には、画像データをパッキングする順番を降順に、ＤＲＡＭ７２のアドレス発生順番を水平方向に降順に垂直方向に降順に設定する。この動作モードでは、バンクにアクセスする順番は降順となる。
【００６９】
パッキング部１１０は、動作モードレジスタ１０１から入力された動作モードの情報に基づいて、順次入力された画像データをデータバス８０のバス幅に併せた単位にまとめて（パッキングして）、バッファライト制御部１２０に出力する。例えば、画像データが８ビットでデータバス８０のバス幅が３２ビットである場合には、順次入力された４つの画像データをパッキングして３２ビットの画像データにし、パッキングした３２ビットの画像データをバッファライト制御部１２０に出力する。このとき、動作モードレジスタ１０１から入力された動作モードの情報が「反転なし」である場合には、画像データをパッキングする順番が昇順であるため、順次入力された４つの画像データを、例えば、下位側のビットから詰めて３２ビットの画像データにする。また、動作モードレジスタ１０１から入力された動作モードの情報が「左右反転」である場合には、画像データをパッキングする順番が降順であるため、順次入力された４つの画像データを、例えば、上位側のビットから詰めて３２ビットの画像データにする。
【００７０】
また、パッキング部１１０は、動作モードレジスタ１０１から入力された動作モードの情報に基づいて、パッキングした画像データを転送するＤＲＡＭ７２のアドレスを生成し、生成したアドレスをバッファライト制御部１２０に出力する。例えば、動作モードレジスタ１０１から入力された動作モードの情報が「反転なし」である場合には、バンクにアクセスする順番が昇順であり、ＤＲＡＭ７２のアドレス発生順番が水平方向に昇順で垂直方向に昇順であるため、パッキングした３２ビットの画像データを転送するバンクを昇順に指定し、ＤＲＡＭ７２の記憶領域を水平方向に昇順に垂直方向に昇順に指定するアドレスを生成する。また、例えば、動作モードレジスタ１０１から入力された動作モードの情報が「左右反転」である場合には、バンクにアクセスする順番が降順であり、ＤＲＡＭ７２のアドレス発生順番が水平方向に降順で垂直方向に昇順であるため、パッキングした３２ビットの画像データを転送するバンクを降順に指定し、ＤＲＡＭ７２の記憶領域を水平方向に降順に垂直方向に昇順に指定するアドレスを生成する。
【００７１】
バッファライト制御部１２０は、パッキング部１１０から入力されたパッキングした画像データを順次データバッファ１３０に、パッキング部１１０から入力されたアドレスを順次アドレスバッファ１４０に、それぞれ保存させる。そして、バッファライト制御部１２０は、１回のＤＭＡによってＤＲＡＭ７２に転送する量の画像データおよびアドレスの、データバッファ１３０およびアドレスバッファ１４０のそれぞれへの保存が完了すると、データバッファ１３０およびアドレスバッファ１４０への画像データおよびアドレスの保存が完了したことを表す、すなわち、１回分のＤＭＡの準備が整ったことを表すライト完了通知を、バッファリード制御部１５０に出力する。以下の説明においては、１回のＤＭＡで転送する画像データおよびアドレスをまとめて、「１転送単位のデータ」という。
【００７２】
また、バッファライト制御部１２０は、バッファリード制御部１５０からデータバッファ１３０およびアドレスバッファ１４０のそれぞれに保存した１転送単位のデータの読み出しが完了したことを表すリード完了通知が入力されると、データバッファ１３０およびアドレスバッファ１４０の記憶領域に空きができたと判断し、次の１転送単位のデータの保存を開始する。
【００７３】
データバッファ（バッファ部）１３０は、バッファライト制御部１２０からの制御に応じて、バッファライト制御部１２０から順次入力された複数のパッキングした画像データを一時記憶（保存）する、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などで構成された記憶部である。データバッファ１３０は、ＤＲＡＭ７２の対応するバンクに転送する複数の画像データを保存する記憶領域１３０１を、ＤＲＡＭ７２が持つバンクの数分備えている。例えば、バッファライト制御部１２０から入力されたパッキングした３２ビットの画像データを１６個保存する記憶容量の記憶領域１３０１、すなわち、６４バイトの記憶領域１３０１を、ＤＲＡＭ７２が持つ４つのバンク分備えている。そして、データバッファ１３０は、バッファリード制御部１５０からの制御に応じて、それぞれの記憶領域１３０１に保存している画像データを、バッファリード制御部１５０に順次出力する。
【００７４】
図６に示したデータ転送制御装置１００の構成では、４つの記憶領域１３０１を１組とした記憶領域群１３０４を、４つ備えた構成を示している。そして、データ転送制御装置１００では、記憶領域群１３０４に記憶された全ての画像データの転送を、ＤＭＡの１回の転送単位とする。この構成によってデータ転送制御装置１００は、ＤＲＡＭ７２のそれぞれのバンクに１６個の３２ビットの画像データを連続して転送するバースト転送を、４つのバンクに対して連続して行うＤＭＡを、４回行うことができる。ここで、それぞれの記憶領域１３０１内に記載した符号は、それぞれの記憶領域１３０１が対応するＤＲＡＭ７２のバンクを表している。
【００７５】
なお、本実施形態では、データバッファ１３０に画像データを書き込むタイミングと、データバッファ１３０から画像データを読み出すタイミングとに関しては、何ら限定しない。従って、データバッファ１３０は、データの書き込みタイミングとデータの読み出しタイミングとを異なるタイミングで制御することができるＳＲＡＭであってもよい。つまり、バッファライト制御部１２０の動作クロックとバッファリード制御部１５０の動作クロックとが異なることにより、データバッファ１３０に画像データを書き込むタイミングであるライトクロックと、データバッファ１３０からの画像データを読み出すタイミングであるリードクロックとが異なるクロックであってもよい。
【００７６】
アドレスバッファ（バッファ部）１４０は、バッファライト制御部１２０からの制御に応じて、バッファライト制御部１２０から入力されたＤＲＡＭ７２のアドレスを一時記憶（保存）する、データバッファ１３０と同様の構成の記憶部である。すなわち、アドレスバッファ１４０は、データバッファ１３０に保存している画像データを転送する（書き込む）先のＤＲＡＭ７２のバンクを指定するためのアドレスを保存する記憶部である。アドレスバッファ１４０は、データバッファ１３０における記憶領域１３０１のそれぞれに対応する記憶領域１４０１を、データバッファ１３０と同様の数だけ備えている。ただし、記憶領域１４０１の記憶容量は、データバッファ１３０における記憶領域１３０１と同じ記憶容量とは限らず、記憶領域１３０１に保存した画像データをＤＲＡＭ７２に転送する際に指定するアドレスを保存するのに必要な記憶容量である。そして、アドレスバッファ１４０は、バッファリード制御部１５０からの制御に応じて、それぞれの記憶領域１４０１に保存しているアドレスを、バッファリード制御部１５０に出力する。
【００７７】
図６に示したデータ転送制御装置１００の構成では、データバッファ１３０と同様に、４つの記憶領域１４０１を１組とした記憶領域群１４０４を、４つ備えた構成を示している。ここでも、それぞれの記憶領域１４０１内に記載した符号は、それぞれの記憶領域１４０１が対応するＤＲＡＭ７２のバンクを表している。
【００７８】
なお、本実施形態では、アドレスバッファ１４０に画像データを書き込むタイミングと、アドレスバッファ１４０から画像データを読み出すタイミングとに関しても、何ら限定しない。また、データバッファ１３０とアドレスバッファ１４０とは、必ずしも個々のバッファで構成するものでなくても良く、同一のＳＲＡＭ上の異なる記憶領域に、データバッファ領域と、アドレスバッファ領域を設ける構成であってもよい。
【００７９】
バッファリード制御部１５０は、バッファライト制御部１２０からライト完了通知が入力されると、データバッファ１３０およびアドレスバッファ１４０の記憶領域に１転送単位のデータの保存が完了したと判断し、データバッファ１３０に保存されているパッキングした画像データと、アドレスバッファ１４０に保存されているアドレスとを順次読み出す。そして、バッファリード制御部１５０は、読み出した画像データとアドレスとをバスインタフェース部１６０に出力する。
【００８０】
また、バッファリード制御部１５０は、１回のＤＭＡによってＤＲＡＭ７２に転送する量の画像データおよびアドレスを、データバッファ１３０およびアドレスバッファ１４０のそれぞれからの読み出しが完了すると、データバッファ１３０およびアドレスバッファ１４０からの画像データおよびアドレスの読み出し、すなわち、１転送単位のデータの読み出しが完了したことを表すリード完了通知を、バッファライト制御部１２０に出力する。これにより、バッファリード制御部１５０は、データバッファ１３０およびアドレスバッファ１４０の記憶領域に空きができたことを、バッファライト制御部１２０に通知する。
【００８１】
バスインタフェース部１６０は、画像処理装置１におけるＤＭＡのプロトコルに基づいて、バッファリード制御部１５０から入力された画像データとアドレスとを、バスアービタ７０との間でのやり取り（インタフェース）する。より具体的には、バスインタフェース部１６０は、ＤＲＡＭ７２にアクセスするためのＤＭＡ要求信号を、データバス８０を介してバスアービタ７０に出力する。そして、バスインタフェース部１６０は、ＤＭＡ要求がバスアービタ７０に受け付けられ、データバス８０を介してＤＭＡ受け付け信号が入力された後に、バッファリード制御部１５０から入力された画像データとアドレスとを、データバス８０を介してバスアービタ７０に出力する。
【００８２】
なお、図６に示したデータ転送制御装置１００の構成では、データバッファ１３０とアドレスバッファ１４０とが、４回分のＤＭＡを行うことができる記憶領域を備えているため、４回連続でバスアービタ７０との間でＤＭＡを行うことができる。
【００８３】
次に、データ転送制御装置１００がバスアービタ７０との間で行うＤＭＡ動作について説明する。図７は、本実施形態の画像処理装置１に備えたデータ転送制御装置１００の第１の入れ替え処理におけるＤＭＡ動作の一例を説明する図である。図７には、画像データを出力する際の動作モードとして「反転なし」の反転処理が設定される場合において、データ転送制御装置１００がＤＭＡによって画像データを出力する動作を順に示し、併せて、それぞれの動作におけるデータの経路を示している。なお、図７には、説明を容易にするため、データ転送制御装置１００の構成要素の内、画像データの出力に関係する構成要素のみを示している。以下の説明においては、画像処理装置１内の画像転送部２１に備えたデータ転送制御装置１００について説明する。従って、以下の説明における「画像データ」は、画像転送部２１が出力する前処理画像データである。
【００８４】
まず、図７（ａ）に示した経路Ｃ１１の経路で、ＣＰＵ６０が、「反転なし」の反転処理を動作モードとして動作モードレジスタ１０１に設定する。続いて、画像転送部２１がＤＲＡＭ７２のそれぞれのバンクに転送する画像データ（前処理画像データ）が入力されると、図７（ａ）に示した経路Ｃ１２の経路で、パッキング部１１０によってパッキングされた後の画像データが、データバッファ１３０の対応する記憶領域１３０１に保存される。図７（ａ）では、アドレス＝０が割り当てられたバンクＡの画像データが、データバッファ１３０の対応する記憶領域１３０１に保存された状態を示している。なお、このときパッキング部１１０が生成したアドレスは、アドレスバッファ１４０の対応する記憶領域１４０１に保存される。
【００８５】
同様に、画像転送部２１がＤＲＡＭ７２のそれぞれのバンクに転送する画像データ（前処理画像データ）が入力されると、図７（ｂ）に示した経路Ｃ１３の経路で、パッキング部１１０によってパッキングされた後のそれぞれの画像データが、データバッファ１３０の対応する記憶領域１３０１に保存される。図７（ｂ）では、アドレス＝１〜アドレス＝３が割り当てられたバンクＢ〜バンクＤの画像データが、データバッファ１３０の対応する記憶領域１３０１に保存された状態を示している。なお、このときパッキング部１１０が生成したそれぞれのアドレスは、アドレスバッファ１４０の対応するそれぞれの記憶領域１４０１に保存される。
【００８６】
続いて、ＤＲＡＭ７２のそれぞれのバンクに転送する画像データ（前処理画像データ）がデータバッファ１３０内の対応する４つの記憶領域１３０１、すなわち、１転送単位のデータがデータバッファ１３０内の対応する記憶領域群１３０４に保存されると、バッファライト制御部１２０は、図７（ｂ）に示した経路Ｃ１４の経路で、１回分のＤＭＡの準備が整ったことを表すライト完了通知を、バッファリード制御部１５０に出力する。
【００８７】
続いて、バッファリード制御部１５０は、バッファライト制御部１２０からライト完了通知が入力されると、バスインタフェース部１６０と連携して、図７（ｃ）に示した経路Ｃ１５の経路で、データバッファ１３０およびアドレスバッファ１４０に保存された１転送単位のデータを、データバス８０を介してバスアービタ７０に出力する。
【００８８】
より具体的には、まず、バッファリード制御部１５０が、バッファライト制御部１２０から入力されたライト完了通知に応じて、バスインタフェース部１６０にＤＭＡ要求信号の出力を依頼する。これにより、バスインタフェース部１６０は、ＤＲＡＭ７２にアクセスするためのＤＭＡ要求信号を、データバス８０を介してバスアービタ７０に出力する。その後、バスアービタ７０によってＤＭＡ要求が受け付けられ、データバス８０を介してＤＭＡ受け付け信号がバスインタフェース部１６０に入力されると、バスインタフェース部１６０は、データバッファ１３０およびアドレスバッファ１４０のそれぞれの読み出しの開始を表す信号を、バッファリード制御部１５０に出力する。これにより、バッファリード制御部１５０は、データバッファ１３０およびアドレスバッファ１４０に保存された１転送単位のデータを順次読み出して、バスインタフェース部１６０に出力する。そして、バスインタフェース部１６０は、バッファリード制御部１５０から順次入力された１転送単位のデータを、データバス８０を介してバスアービタ７０に順次出力する。これにより、ＤＲＡＭ７２の指定されたアドレスに対応する記憶領域に、１転送単位のデータが書き込まれる。図７（ｃ）では、アドレス＝０〜アドレス＝３が割り当てられたバンクＡ〜バンクＤの画像データが、データバス８０に順次出力される状態を示している。
【００８９】
その後、バッファリード制御部１５０は、データバッファ１３０およびアドレスバッファ１４０に保存された１転送単位のデータの読み出しが完了すると、図７（ｃ）に示した経路Ｃ１６の経路で、１転送単位のデータの読み出しが完了したことを表すリード完了通知を、バッファライト制御部１２０に出力する。
【００９０】
なお、データ転送制御装置１００では、上述したように、データバッファ１３０およびアドレスバッファ１４０のそれぞれが、４回分のＤＭＡを行うことができる構成である。このため、データ転送制御装置１００では、バッファリード制御部１５０とバスインタフェース部１６０とが連携してアドレス＝０〜アドレス＝３が割り当てられたバンクＡ〜バンクＤの画像データをＤＭＡで転送している最中でも、次のＤＭＡで転送する１転送単位のデータを、データバッファ１３０およびアドレスバッファ１４０のそれぞれに保存することができる。
【００９１】
より具体的には、ＤＭＡで転送している最中に、図７（ｄ）に示した経路Ｃ１７の経路で、画像転送部２１がＤＲＡＭ７２のそれぞれのバンクに転送する次の画像データ（前処理画像データ）が入力された場合でも、パッキング部１１０によってパッキングされた後のそれぞれの画像データを、データバッファ１３０の対応する記憶領域１３０１に保存することができる。図７（ｄ）では、アドレス＝４〜アドレス＝７が割り当てられたバンクＡ〜バンクＤの画像データ（２回目のＤＭＡで転送される画像データ）と、アドレス＝８〜アドレス＝１１が割り当てられたバンクＡ〜バンクＤの画像データ（３回目のＤＭＡで転送される画像データ）とが、データバッファ１３０の対応する記憶領域１３０１に保存された状態を示している。なお、このときパッキング部１１０が生成したそれぞれのアドレスは、アドレスバッファ１４０の対応するそれぞれの記憶領域１４０１に保存される。
【００９２】
そして、バッファライト制御部１２０は、ＤＲＡＭ７２のそれぞれのバンクに転送する１転送単位のデータがデータバッファ１３０内の対応する記憶領域群１３０４に保存される毎に、図７（ｄ）に示した経路Ｃ１８の経路でライト完了通知をバッファリード制御部１５０に出力する。これにより、データ転送制御装置１００は、アドレス＝０〜アドレス＝３が割り当てられたバンクＡ〜バンクＤの画像データのＤＭＡによる転送が完了した後、引き続き、バッファリード制御部１５０とバスインタフェース部１６０とが連携して、２回目のＤＭＡの転送および３回目のＤＭＡの転送を、順次行うことができる。
【００９３】
図８は、本実施形態の画像処理装置１に備えたデータ転送制御装置１００による第１の入れ替え処理のＤＭＡ動作における画像データの転送タイミングの一例を模式的に示した図である。図８には、図７に示したＤＭＡ動作においてデータバッファ１３０に保存される画像データと、データバス８０に出力される画像データとのタイミングを示している。
【００９４】
上述したように、データ転送制御装置１００は、１回のＤＭＡの転送において、ＤＲＡＭ７２の４つのバンクにそれぞれ１回ずつ連続してアクセスするバンクインターリーブのアクセスを行う。そして、図７に示したＤＭＡ動作では、反転処理を行わない。このため、データ転送制御装置１００のデータバッファ１３０には、ＤＲＡＭ７２のアドレスを昇順に割り当てたそれぞれのバンクの画像データが、反転処理を行わずに保存される。そして、データ転送制御装置１００のバッファリード制御部１５０およびバスインタフェース部１６０は、ＤＲＡＭ７２のバンクＡ〜バンクＤに転送する画像データが揃う毎に、ＤＲＡＭ７２のアドレスを昇順に割り当てたバンクＡ、バンクＢ、バンクＣ、バンクＤの順番で、データバッファ１３０に保存された画像データをデータバス８０に出力する。
【００９５】
より具体的には、図８に示したように、データ転送制御装置１００は、昇順にアドレス＝０〜アドレス＝３を割り当てたバンクＡ〜バンクＤの画像データをデータバッファ１３０に保存した後、このアドレス＝０〜アドレス＝３を割り当てたバンクＡ〜バンクＤの画像データを、データバス８０に順次出力する。その後、図８に示したように、データ転送制御装置１００は、昇順にアドレス＝４〜アドレス＝７を割り当てたバンクＡ〜バンクＤの画像データをデータバッファ１３０に保存した後、このアドレス＝４〜アドレス＝７を割り当てたバンクＡ〜バンクＤの画像データを、データバス８０に順次出力する。また、その後、図８に示したように、データ転送制御装置１００は、昇順にアドレス＝８〜アドレス＝１１を割り当てたバンクＡ〜バンクＤの画像データをデータバッファ１３０に保存した後、このアドレス＝８〜アドレス＝１１を割り当てたバンクＡ〜バンクＤの画像データを、データバス８０に順次出力する。
【００９６】
次に、データ転送制御装置１００がバスアービタ７０との間で行うＤＭＡの別の動作について説明する。図９は、本実施形態の画像処理装置１に備えたデータ転送制御装置１００の第１の入れ替え処理におけるＤＭＡ動作の別の一例を説明する図である。図９には、画像データを出力する際の動作モードとして「左右反転」の反転処理が設定される場合において、データ転送制御装置１００がＤＭＡによって画像データを出力する動作を順に示し、併せて、それぞれの動作におけるデータの経路を示している。なお、図９には、図７に示したＤＭＡ動作と同様に、説明を容易にするため、データ転送制御装置１００の構成要素の内、画像データの出力に関係する構成要素のみを示している。以下の説明においては、図７に示したＤＭＡ動作と同様に、画像処理装置１内の画像転送部２１に備えたデータ転送制御装置１００について説明する。
【００９７】
まず、図９（ａ）に示した経路Ｃ２１の経路で、ＣＰＵ６０が、「左右反転」の反転処理を動作モードとして動作モードレジスタ１０１に設定する。続いて、画像転送部２１がＤＲＡＭ７２のそれぞれのバンクに転送する画像データ（前処理画像データ）が入力されると、図９（ａ）に示した経路Ｃ２２の経路で、パッキング部１１０によってパッキングされた後の画像データが、データバッファ１３０の対応する記憶領域１３０１に保存される。図９（ａ）では、アドレス＝１１が割り当てられたバンクＤの画像データが、データバッファ１３０の対応する記憶領域１３０１に保存された状態を示している。なお、このときパッキング部１１０が生成したアドレスは、アドレスバッファ１４０の対応する記憶領域１４０１に保存される。
【００９８】
同様に、画像転送部２１がＤＲＡＭ７２のそれぞれのバンクに転送する画像データ（前処理画像データ）が入力されると、図９（ｂ）に示した経路Ｃ２３の経路で、パッキング部１１０によってパッキングされた後のそれぞれの画像データが、データバッファ１３０の対応する記憶領域１３０１に保存される。図９（ｂ）では、アドレス＝１０〜アドレス＝８が割り当てられたバンクＣ〜バンクＡの画像データが、データバッファ１３０の対応する記憶領域１３０１に保存された状態を示している。なお、このときパッキング部１１０が生成したそれぞれのアドレスは、アドレスバッファ１４０の対応するそれぞれの記憶領域１４０１に保存される。
【００９９】
続いて、ＤＲＡＭ７２のそれぞれのバンクに転送する画像データ（前処理画像データ）がデータバッファ１３０内の対応する４つの記憶領域１３０１、すなわち、１転送単位のデータがデータバッファ１３０内の対応する記憶領域群１３０４に保存されると、バッファライト制御部１２０は、図７に示したＤＭＡ動作と同様に、図９（ｂ）に示した経路Ｃ２４の経路で、ライト完了通知をバッファリード制御部１５０に出力する。
【０１００】
続いて、バッファリード制御部１５０は、バッファライト制御部１２０からライト完了通知が入力されると、図７に示したＤＭＡ動作と同様に、バスインタフェース部１６０と連携して、図９（ｃ）に示した経路Ｃ２５の経路で、データバッファ１３０およびアドレスバッファ１４０に保存された１転送単位のデータを、データバス８０を介してバスアービタ７０に出力する。
【０１０１】
より具体的には、まず、バッファリード制御部１５０が、バッファライト制御部１２０から入力されたライト完了通知に応じて、バスインタフェース部１６０にＤＭＡ要求信号の出力を依頼し、バスインタフェース部１６０は、ＤＲＡＭ７２にアクセスするためのＤＭＡ要求信号を、データバス８０を介してバスアービタ７０に出力する。その後、バスアービタ７０によってＤＭＡ要求が受け付けられ、ＤＭＡ受け付け信号が入力されると、バスインタフェース部１６０は、１転送単位のデータの読み出しの開始を表す信号をバッファリード制御部１５０に出力し、バッファリード制御部１５０が、データバッファ１３０およびアドレスバッファ１４０に保存された１転送単位のデータを順次読み出して、バスインタフェース部１６０に出力する。そして、バスインタフェース部１６０は、バッファリード制御部１５０から順次入力された１転送単位のデータを、データバス８０を介してバスアービタ７０に順次出力する。これにより、ＤＲＡＭ７２の指定されたアドレスに対応する記憶領域に、１転送単位のデータが書き込まれる。図９（ｃ）では、アドレス＝８〜アドレス＝１１が割り当てられたバンクＡ〜バンクＤの画像データが、データバス８０に順次出力される状態を示している。
【０１０２】
ここで、図９を見てわかるように、図９（ａ）に示した経路Ｃ２２および図９（ｂ）に示した経路Ｃ２３の経路でデータバッファ１３０に保存される画像データは、ＤＲＡＭ７２のアドレスが降順に割り当てられた、すなわち、アドレス＝１１、アドレス＝１０、アドレス＝９、アドレス＝８の順番で割り当てられたバンクＤ〜バンクＡの画像データである。そして、バッファリード制御部１５０は、図９（ｃ）に示した経路Ｃ２５の経路で、データバッファ１３０に保存される画像データを昇順に、すなわち、アドレス＝８、アドレス＝９、アドレス＝１０、アドレス＝１１の順番で順次読み出して、バスインタフェース部１６０に出力している。このように、データ転送制御装置１００では、データバッファ１３０に画像データを保存する順番と、データバッファ１３０から画像データを読み出す順番とを逆にすることによって、画像データの反転処理を行っている。
【０１０３】
その後、バッファリード制御部１５０は、データバッファ１３０およびアドレスバッファ１４０に保存された１転送単位のデータの読み出しが完了すると、図７に示したＤＭＡ動作と同様に、図９（ｃ）に示した経路Ｃ２６の経路で、リード完了通知をバッファライト制御部１２０に出力する。
【０１０４】
なお、データ転送制御装置１００では、図７に示したＤＭＡ動作と同様に、バッファリード制御部１５０とバスインタフェース部１６０とが連携してアドレス＝８〜アドレス＝１１が割り当てられたバンクＡ〜バンクＤの画像データをＤＭＡで転送している最中でも、次のＤＭＡで転送する１転送単位のデータを、データバッファ１３０およびアドレスバッファ１４０のそれぞれに保存することができる。
【０１０５】
より具体的には、ＤＭＡで転送している最中に、図９（ｄ）に示した経路Ｃ２７の経路で、画像転送部２１がＤＲＡＭ７２のそれぞれのバンクに転送する次の画像データ（前処理画像データ）が入力された場合でも、パッキング部１１０によってパッキングされた後のそれぞれの画像データを、データバッファ１３０の対応する記憶領域１３０１に保存することができる。図９（ｄ）では、アドレス＝７〜アドレス＝４が割り当てられたバンクＤ〜バンクＡの画像データ（２回目のＤＭＡで転送される画像データ）と、アドレス＝３〜アドレス＝０が割り当てられたバンクＤ〜バンクＡの画像データ（３回目のＤＭＡで転送される画像データ）とが、データバッファ１３０の対応する記憶領域１３０１に保存された状態を示している。なお、このときパッキング部１１０が生成したそれぞれのアドレスは、アドレスバッファ１４０の対応するそれぞれの記憶領域１４０１に保存される。
【０１０６】
そして、バッファライト制御部１２０は、図７に示したＤＭＡ動作と同様に、ＤＲＡＭ７２のそれぞれのバンクに転送する１転送単位のデータがデータバッファ１３０内の対応する記憶領域群１３０４に保存される毎に、図９（ｄ）に示した経路Ｃ２８の経路でライト完了通知をバッファリード制御部１５０に出力する。これにより、データ転送制御装置１００は、アドレス＝８〜アドレス＝１１が割り当てられたバンクＡ〜バンクＤの画像データのＤＭＡによる転送が完了した後、引き続き、バッファリード制御部１５０とバスインタフェース部１６０とが連携して、２回目のＤＭＡの転送および３回目のＤＭＡの転送を、順次行うことができる。
【０１０７】
図１０は、本実施形態の画像処理装置１に備えたデータ転送制御装置１００による第１の入れ替え処理のＤＭＡ動作の別の一例における画像データの転送タイミングの一例を模式的に示した図である。図１０には、図９に示したＤＭＡの別の動作においてデータバッファ１３０に保存される画像データと、データバス８０に出力される画像データとのタイミングを示している。
【０１０８】
図７に示したＤＭＡ動作と同様に、データ転送制御装置１００は、１回のＤＭＡの転送において、ＤＲＡＭ７２の４つのバンクにそれぞれ１回ずつ連続してアクセスするバンクインターリーブのアクセスを行う。そして、図９に示したＤＭＡの別の動作では、左右反転の反転処理を行う。このため、データ転送制御装置１００のデータバッファ１３０には、ＤＲＡＭ７２のアドレスを降順に割り当てたそれぞれのバンクの画像データが、図７に示したＤＭＡ動作と逆の順番で保存される。そして、データ転送制御装置１００のバッファリード制御部１５０およびバスインタフェース部１６０は、ＤＲＡＭ７２のバンクＡ〜バンクＤに転送する画像データが揃う毎に、図７に示したＤＭＡ動作と同様に、ＤＲＡＭ７２のアドレスを昇順に割り当てたバンクＡ、バンクＢ、バンクＣ、バンクＤの順番で、データバッファ１３０に保存された画像データをデータバス８０に出力する。
【０１０９】
より具体的には、図１０に示したように、データ転送制御装置１００は、降順にアドレス＝１１〜アドレス＝８を割り当てたバンクＤ〜バンクＡの画像データをデータバッファ１３０に保存した後、このアドレス＝８〜アドレス＝１１を割り当てたバンクＡ〜バンクＤの画像データを降順に読み出して、データバス８０に順次出力する。その後、図１０に示したように、データ転送制御装置１００は、降順にアドレス＝７〜アドレス＝４を割り当てたバンクＤ〜バンクＡの画像データをデータバッファ１３０に保存した後、このアドレス＝４〜アドレス＝７を割り当てたバンクＡ〜バンクＤの画像データを降順に読み出して、データバス８０に順次出力する。また、その後、図１０に示したように、データ転送制御装置１００は、降順にアドレス＝４〜アドレス＝０を割り当てたバンクＤ〜バンクＡの画像データをデータバッファ１３０に保存した後、このアドレス＝０〜アドレス＝３を割り当てたバンクＡ〜バンクＤの画像データを降順に読み出して、データバス８０に順次出力する。
【０１１０】
このように、データ転送制御装置１００では、画像データをデータバッファ１３０に保存する際に逆の順番で保存し、反転処理を行うか否かによらず同じ順番でデータバッファ１３０から画像データを読み出すことによって、画像データの反転処理を行っている。
【０１１１】
上記に述べたように、データ転送制御装置１００は、データバッファ１３０に画像データを保存する際の順番を、動作モードレジスタ１０１に設定された動作モードの情報に応じて変更することによって、ＤＭＡによる転送でデータバス８０を介してバスアービタ７０に出力する画像データの順番を入れ替え、画像に対する反転処理を行う。これにより、画像処理装置１に備えたそれぞれの処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番を、画像処理装置１内の全ての処理ブロックで同じにすることができる。このことにより、画像処理装置１内に反転処理を行わない処理ブロックと反転処理を行う処理ブロックとが混在し、ＤＲＡＭ７２に対して複数の処理ブロックがアクセスした場合でも、バンクインターリーブによるＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避し、ロス時間によるＤＲＡＭ７２へのアクセス効率の低下を抑えることができる。
【０１１２】
なお、図７〜図１０に示したデータ転送制御装置１００におけるＤＭＡ動作の一例では、図１１（ａ）に示したように、データバッファ１３０内のそれぞれの記憶領域１３０１およびアドレスバッファ１４０内のそれぞれの記憶領域１４０１が対応するＤＲＡＭ７２のバンクを予め定めておき、つまり、対応するバンクを固定しておき、それぞれのバンクの画像データおよびアドレスを、対応する記憶領域１３０１および記憶領域１４０１に保存する場合について説明した。このように、データバッファ１３０内のそれぞれの記憶領域１３０１およびアドレスバッファ１４０内のそれぞれの記憶領域１４０１が対応するＤＲＡＭ７２のバンクを予め定めておくことによって、それぞれのバンクの画像データがどのような順番でデータ転送制御装置１００に入力された場合でも、保存した画像データを同じバンクの順番でＤＲＡＭ７２に出力することができる。
【０１１３】
より具体的には、図７および図８に示したデータ転送制御装置１００におけるＤＭＡ動作の一例では、例えば、図１１（ｂ）に示したように、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番で入力された画像データを、順番を入れ替えずに、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番でＤＲＡＭ７２に出力する場合について説明した。また、図９および図１０に示したデータ転送制御装置１００におけるＤＭＡ動作の一例では、例えば、図１１（ｃ）に示したように、バンクＤ、バンクＣ、バンクＢ、バンクＡの順番で入力された画像データを、順番が逆になるように入れ替えて、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番でＤＲＡＭ７２に出力する場合について説明した。しかし、データバッファ１３０内のそれぞれの記憶領域１３０１およびアドレスバッファ１４０内のそれぞれの記憶領域１４０１が対応するＤＲＡＭ７２のバンクを予め定めておくことによって、逆の順番以外で画像データが入力された場合でも、同じ順番でＤＲＡＭ７２に出力することができる。例えば、図１１（ｄ）に示したように、バンクＤ、バンクＢ、バンクＣ、バンクＡの順番で画像データがデータ転送制御装置１００に入力された場合でも、それぞれの画像データを対応する記憶領域１３０１にそれぞれ保存し、保存した画像データを順番が同じになるように読み出すことによって、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番でＤＲＡＭ７２に出力することができる。
【０１１４】
また、図７〜図１０に示したデータ転送制御装置１００におけるＤＭＡ動作の一例では、１転送単位のデータに、バンクＡ、バンクＢ、バンクＣ、およびバンクＤのそれぞれに対応する画像データが必ず１つ含まれている場合について説明した。しかし、データ転送制御装置１００に入力される画像データは、必ずしも、バンクＡ、バンクＢ、バンクＣ、およびバンクＤのそれぞれに対応する画像データが１つ含まれているとは限らない。この場合には、データバッファ１３０内の記憶領域１３０１およびアドレスバッファ１４０内の記憶領域１４０１に、異なるバンクに対応する画像データを保存するなど、記憶領域１３０１および記憶領域１４０１が対応するバンクを適宜変更することもできる。例えば、バンクＡ、バンクＢ、バンクＡ、バンクＢの順番で入力された画像データを、データバッファ１３０内の同じ記憶領域群１３０４に保存する場合を考える。この場合には、１つ目のバンクＡの画像データをバンクＡに対応する記憶領域１３０１に、１つ目のバンクＢの画像データをバンクＢに対応する記憶領域１３０１に、２つ目のバンクＡの画像データをバンクＣに対応する記憶領域１３０１に、２つ目のバンクＢの画像データをバンクＤに対応する記憶領域１３０１に、それぞれ保存するように変更することができる。
【０１１５】
＜第２の入れ替え処理＞
次に、画像処理装置１内の各処理ブロックにおけるＤＲＡＭ７２への別のアクセス方法について説明するため、図１２および図１３を参照して画像処理装置１の別の動作の一例について説明する。図１２は、本実施形態の画像処理装置１における画像データの転送方向とＤＲＡＭ７２のアクセスとの一例を模式的に示した図である。また、図１３は、本実施形態の画像処理装置１において画像データの転送方向が異なる場合に対応したＤＲＡＭ７２のアクセスの一例を模式的に示した図である。
【０１１６】
画像処理装置１では、イメージセンサ１０が画像を取り込む方向と、画像処理部３０が画像処理を行う方向とが異なる場合がある。例えば、図１２（ａ）に示したように、イメージセンサ１０が画素をラスタスキャンして画像に対して水平方向（横方向）の入力画像データを順次出力することに応じて、前処理部２０が画像に対して水平方向（横方向）に前処理画像データをＤＲＡＭ７２に転送する（書き込む）。そして、画像処理部３０は、画像を予め定めた大きさのブロックに分割し、それぞれのブロックにおいて、垂直方向（縦方向）に前処理画像データをＤＲＡＭ７２から取得する（読み出す）場合がある。
【０１１７】
このとき、ＤＲＡＭ７２には、例えば、図１２（ｂ）に示したように、それぞれの前処理画像データが記憶されることが考えられる。図１２（ｂ）には、画像のそれぞれのラインにおいて左側から順番に昇順のアドレスが割り当てられ、画像の上側から順番に昇順のアドレスが割り当てられた前処理画像データが、ＤＲＡＭ７２の対応するそれぞれのバンクの記憶領域に記憶されている状態を示している。
【０１１８】
この場合、図１２（ｃ）に示したように、画像処理装置１内の画像転送部２１に備えたデータ転送制御装置１００は、ＤＲＡＭ７２の異なるバンクに対して連続してアクセスして、前処理画像データをＤＲＡＭ７２に転送するが、画像処理部３０に備えたデータ転送制御装置２００は、ＤＲＡＭ７２の同一のバンクに対して連続してアクセスして、前処理画像データをＤＲＡＭ７２から取得することが必要になる。このため、上述したような理由によって、データ転送制御装置２００によるＤＲＡＭ７２の同一のバンクに対する連続したアクセスに、多くのロス時間が発生してしまうことになる（図１２（ｃ）参照）。
【０１１９】
そこで、図１３（ａ）に示したように、有効な画像データ（有効画像）の領域の右側に無効な画像データの領域（無効領域）を追加して考え、画像の水平方向（横方向）の幅を、有効画像における水平方向（横方向）の画像幅よりも大きくしたものとして制御する方法が考えられる。この方法によって、画像のそれぞれのラインにおいて割り当てられるアドレスの幅、すなわち、各ラインにおける最初のアドレスと最後のアドレスとの差を、有効画像のそれぞれのラインにおいて割り当てられるアドレスの幅よりも大きくして考えることができる。
【０１２０】
そして、この無効領域の大きさ、すなわち、無効領域のアドレスの幅の設定を調節することによって、画像処理部３０に備えたデータ転送制御装置２００が垂直方向（縦方向）に前処理画像データを取得する際に連続してアクセスするＤＲＡＭ７２のバンクを、異なるバンクにすることができる。図１３（ｂ）には、無効領域の水平方向（横方向）の大きさをＤＲＡＭ７２のバンクと同じ大きさに設定した場合に、有効画像において垂直方向（縦方向）に同じ位置の前処理画像データが、ＤＲＡＭ７２の異なるバンクに記憶されている状態を示している。
【０１２１】
この場合、図１３（ｃ）に示したように、画像処理装置１内の画像転送部２１に備えたデータ転送制御装置１００は、ＤＲＡＭ７２の異なるバンクに対して連続してアクセスして、前処理画像データをＤＲＡＭ７２に転送し、画像処理部３０に備えたデータ転送制御装置２００も、ＤＲＡＭ７２の異なるバンクに対して連続してアクセスして、前処理画像データをＤＲＡＭ７２から取得することができる。このように、有効画像の領域の右側に無効領域を追加して考えることによって、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避することができる（図１３（ｃ）参照）。
【０１２２】
しかし、有効画像の領域の右側に無効領域を追加して考える方法によっても、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスを全て回避することができるとは限らない。例えば、画像処理装置１では、上述した、画像処理装置１内の画像転送部２１に備えたデータ転送制御装置１００による前処理画像データの転送（書き込み）、および画像処理部３０に備えたデータ転送制御装置２００による前処理画像データの取得（読み出し）と並行して、表示処理部４０に備えたデータ転送制御装置２００による表示用の画像データの取得（読み出し）も行う場合がある。
【０１２３】
図１４は、本実施形態の画像処理装置１に備えた処理ブロックにおけるＤＲＡＭのバンクアクセスに起因するロス時間の一例を模式的に示した図である。図１４には、表示処理部４０に備えたデータ転送制御装置２００がＤＲＡＭ７２から表示用の画像データを取得しているときに、画像転送部２１に備えたデータ転送制御装置１００が前処理画像データをＤＲＡＭ７２に転送する場合のタイミングを示している。
【０１２４】
図１４に示したように、画像転送部２１と表示処理部４０とが交互にＤＲＡＭ７２へのアクセスを行うと、ＤＲＡＭ７２にアクセスする処理ブロックが切り替わるときに、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスが発生してしまう。より具体的には、表示処理部４０に備えたデータ転送制御装置２００が、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスして表示用の画像データを取得した後、画像転送部２１に備えたデータ転送制御装置１００が、バンクＤ、バンクＡ、バンクＢ、バンクＣの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスして４ライン目の前処理画像データを転送する。これにより、表示処理部４０に備えたデータ転送制御装置２００によるバンクＤへのアクセスと、画像転送部２１に備えたデータ転送制御装置１００によるバンクＤへのアクセスとが連続してしまう。このとき、ＤＲＡＭ７２は、バンクＤへの連続したアクセスを受け付けることができないため、この期間がロス時間となり、ＤＲＡＭ７２へのアクセス効率が低下してしまう。
【０１２５】
そこで、各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番を入れ替えることによって、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避する。図１５は、本実施形態の画像処理装置１に備えた処理ブロックによる第２の入れ替え処理によってＤＲＡＭ７２のバンクアクセスに起因するロス時間を回避する一例を模式的に示した図である。図１５には、図１４に示したＤＲＡＭ７２のバンクアクセスと同様に、表示処理部４０に備えたデータ転送制御装置２００がＤＲＡＭ７２から表示用の画像データを取得しているときに、画像転送部２１に備えたデータ転送制御装置１００が前処理画像データをＤＲＡＭ７２に転送する場合のタイミングを示している。
【０１２６】
図１５に示したように、画像転送部２１と表示処理部４０とが交互にＤＲＡＭ７２へのアクセスを行うと、図１４に示したＤＲＡＭ７２のバンクアクセスと同様に、ＤＲＡＭ７２にアクセスする処理ブロックが切り替わるときに、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスが発生してしまう。しかし、図１５に示したＤＲＡＭ７２のバンクアクセスでは、画像転送部２１に備えたデータ転送制御装置１００が、ＤＲＡＭ７２のそれぞれのバンクに対するアクセスの順番を入れ替える。これにより、画像転送部２１は、バンクインターリーブによるＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避することができる。
【０１２７】
より具体的には、図１４に示したＤＲＡＭ７２のバンクアクセスと同様に、表示処理部４０に備えたデータ転送制御装置２００が、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスして表示用の画像データを取得した後、画像転送部２１に備えたデータ転送制御装置１００が、バンクＤ、バンクＡ、バンクＢ、バンクＣの順番でＤＲＡＭ７２のそれぞれのバンクにアクセスして４ライン目の前処理画像データを転送する。これにより、図１４に示したＤＲＡＭ７２のバンクアクセスと同様に、表示処理部４０に備えたデータ転送制御装置２００によるバンクＤへのアクセスと、画像転送部２１に備えたデータ転送制御装置１００によるバンクＤへのアクセスとが連続してしまう。このとき、画像転送部２１に備えたデータ転送制御装置１００は、ＤＲＡＭ７２のそれぞれのバンクにアクセスする順番を、表示処理部４０に備えたデータ転送制御装置２００と同様のバンクＡ、バンクＢ、バンクＣ、バンクＤの順番に入れ替える。これにより、画像転送部２１と表示処理部４０とが交互にＤＲＡＭ７２へのアクセスを行う場合でも、ＤＲＡＭ７２の同一のバンクに対する連続したアクセスを回避することができる。
【０１２８】
なお、このときに画像転送部２１に備えたデータ転送制御装置１００の動作モードレジスタ１０１に設定する動作モードの情報は、第１の入れ替え処理において説明した、反転処理の設定とは異なる情報である。より具体的には、第１の入れ替え処理では、バンクにアクセスする順番、画像データをパッキングする順番、およびＤＲＡＭ７２の水平方向と垂直方向のアドレス発生順番のそれぞれを、昇順または降順に設定していたが、第２の入れ替え処理では、バンクにアクセスする順番を、バンクＤ、バンクＡ、バンクＢ、バンクＣの順番から、バンクＡ、バンクＢ、バンクＣ、バンクＤの順番に入れ替えるための設定を行う。
【０１２９】
上記に述べたように、画像処理装置１内の各処理ブロックに備えたデータ転送制御装置は、対応する処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番を、他の処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番と同じ順番になるように入れ替える。これにより、それぞれの処理ブロックがＤＲＡＭ７２にアクセスする際のバンクの順番が、画像処理装置１内の全ての処理ブロックで同じになる。これにより、異なる順番でＤＲＡＭ７２のバンクにアクセスする処理ブロックが画像処理装置１内に複数混在し、それぞれの処理ブロックが並行してＤＲＡＭ７２に対してアクセスした場合でも、バンクインターリーブによるＤＲＡＭ７２の同一のバンクに対する連続したアクセスが発生しなくなり、ロス時間によるＤＲＡＭ７２へのアクセス効率の低下を抑えることができる。
【０１３０】
なお、ＤＲＡＭ７２にアクセスする際のバンクの順番の入れ替えは、上述したように、データバッファ１３０内のそれぞれの記憶領域１３０１およびアドレスバッファ１４０内のそれぞれの記憶領域１４０１が対応するＤＲＡＭ７２のバンクを予め定めておく（固定しておく）ことによって、それぞれのバンクの画像データがどのような順番でデータ転送制御装置に入力された場合でも、容易にバンクの順番を入れ替えることができる。しかし、データバッファ１３０内のそれぞれの記憶領域１３０１およびアドレスバッファ１４０内のそれぞれの記憶領域１４０１が対応するＤＲＡＭ７２のバンクを予め定めておかない（固定しておかない）場合でも、例えば、バッファライト制御部１２０とバッファリード制御部１５０とが連携することによって、バンクの順番の入れ替えを行うことができると考えられる。
【０１３１】
上記に述べたとおり、本発明を実施するための形態によれば、データ転送制御装置を、画像処理装置１内のそれぞれの処理ブロックに備える。そして、データ転送制御装置は、データ転送制御装置自体に備えたデータバッファおよびアドレスバッファのそれぞれに保存するデータの順番を、動作モードレジスタに設定された動作モードの情報に応じて変更することによって、１回分のＤＭＡの転送でアクセスするＤＲＡＭのバンクの順番を、他の処理ブロックがＤＭＡの転送でアクセスするＤＲＡＭのバンクの順番と同じ順番にする。これにより、本発明を実施するための形態の画像処理装置において、本実施形態のデータ転送制御装置を適用したそれぞれの処理ブロックがＤＲＡＭにアクセスする際のバンクの順番を、画像処理装置内の全ての処理ブロックで同じにすることができる。このことにより、本発明を実施するための形態の画像処理装置内に異なる順番でＤＲＡＭのバンクにアクセスする本実施形態のデータ転送制御装置を適用した処理ブロックが複数混在し、それぞれの処理ブロックが並行してＤＲＡＭに対してアクセスした場合でも、バンクインターリーブによるＤＲＡＭへのアクセスにおいて同一のバンクに対する連続したアクセスが発生しなくなる。これにより、ＤＲＡＭの同一のバンクに対する連続したアクセスに起因するロス時間によるＤＲＡＭへのアクセス効率の低下を抑えることができる。
【０１３２】
なお、本実施形態においては、画像処理装置１内の全ての処理ブロックにデータ転送制御装置を備えた構成について説明したが、データ転送制御装置を備える処理ブロックは、本実施形態に示した構成に限定されるものではなく、例えば、画像処理装置１の一部の処理ブロックのみにデータ転送制御装置を備える構成であってもよい。例えば、ＤＭＡの転送でアクセスするＤＲＡＭのバンクの順番の入れ替えを行う画像転送部２１や表示処理部４０のみにデータ転送制御装置を備える構成であってもよい。このように、画像処理装置１の一部の処理ブロックのみにデータ転送制御装置を備える構成であっても、処理ブロックとバスアービタとの間のやり取り（インタフェース）を変更する必要はない。これは、バスアービタ内でＤＲＡＭのバンクにアクセスする順番を入れ替えることによって処理ブロックとバスアービタとの間のインタフェースが複雑化し、ＤＲＡＭのバンクにアクセスする順番の入れ替えを行わない処理ブロックも含めた全ての処理ブロックで複雑なインタフェースに対応することが必要である従来の構成に対して、有利であると考えられる。
【０１３３】
また、本実施形態においては、データバッファ１３０およびアドレスバッファ１４０が、データ転送制御装置１００に備えた、ＤＲＡＭ７２にアクセスするバンクの順番を入れ替える専用のバッファである構成について説明した。しかし、データバッファ１３０およびアドレスバッファ１４０の構成は、本実施形態に示した構成に限定されるものではない。例えば、ＤＭＡの転送によってデータの出力を行う一般的な処理ブロックには、データバスの混雑によってデータの転送が待たされたときでも、データバスが空いたときに確実にデータを転送するための構成として、データを一時記憶（保存）するバッファを備えていると考えられる。また、例えば、ＤＭＡの転送によってデータの出力を行う一般的な処理ブロックには、データを処理する内部のクロックとデータバスにおけるクロックとが異なる場合に、これらのクロックの乗り換えを行うための構成として、データを一時記憶（保存）するバッファを備えていると考えられる。従って、すでに本実施形態のデータ転送制御装置１００におけるデータバッファ１３０およびアドレスバッファ１４０と同様の構成を備えている処理ブロックに、本発明の考え方を適用する場合には、すでに備えているバッファを、本実施形態のデータ転送制御装置１００におけるデータバッファ１３０およびアドレスバッファ１４０として利用することもできる。この場合には、処理ブロックの回路規模を増大させることなく、ＤＲＡＭへのアクセス効率を向上させることができる。これは、バスアービタ内でＤＲＡＭのバンクにアクセスする順番を入れ替えるためのバッファをバスアービタ内に搭載する従来の構成よりも有利であると考えられる。
【０１３４】
なお、本実施形態においては、動作モードレジスタ１０１に設定された動作モードの情報に応じて、ＤＭＡの転送で出力するデータおよびアドレスを保存するデータバッファ１３０の記憶領域１３０１およびアドレスバッファ１４０の記憶領域１４０１を変更する構成について説明した。つまり、データ転送制御装置１００に備えたデータバッファ１３０およびアドレスバッファ１４０にデータおよびアドレスを保存するときに、ＤＲＡＭ７２にアクセスするバンクの順番を入れ替える構成について説明した。しかし、ＤＲＡＭ７２にアクセスするバンクの順番を入れ替える構成は、本実施形態に示した構成に限定されるものではない。例えば、動作モードレジスタ１０１に設定された動作モードの情報に応じて、ＤＭＡの転送で出力するデータおよびアドレスを読み出すデータバッファ１３０の記憶領域１３０１およびアドレスバッファ１４０の記憶領域１４０１を変更する構成にすることもできる。つまり、データ転送制御装置１００では、データバッファ１３０およびアドレスバッファ１４０に保存されたデータおよびアドレスを読み出してＤＭＡによって出力する際に、ＤＲＡＭ７２にアクセスするバンクの順番を入れ替える構成にすることもできる。この場合、動作モードレジスタ１０１が出力する動作モードの情報は、例えば、バッファリード制御部１５０に入力され、バッファリード制御部１５０が、入力された動作モードの情報に応じて、データバッファ１３０に保存されたデータとアドレスバッファ１４０に保存されたアドレスとの読み出しを制御する構成が考えられる。
【０１３５】
また、本実施形態においては、データ転送制御装置１００に備えたパッキング部１１０が、入力された画像データをパッキングすると共に、パッキングした画像データを転送するＤＲＡＭ７２のアドレスを生成する構成について説明した。しかし、ＤＲＡＭ７２のアドレスを生成する構成は、本実施形態に示した構成に限定されるものではない。例えば、バッファリード制御部１５０またはバスインタフェース部１６０が、動作モードレジスタ１０１に設定された動作モードの情報に応じて、ＤＲＡＭ７２のアドレスを生成する構成にすることもできる。この場合、データ転送制御装置１００内にアドレスバッファ１４０を備えない構成にすることもできる。
【０１３６】
また、本実施形態においては、データ転送制御装置１００が画像データを転送する先のＤＲＡＭ７２が、４つのバンク（バンクＡ、バンクＢ、バンクＣ、およびバンクＤ）で構成されている場合について説明したが、ＤＲＡＭにおけるバンクの構成は、本実施形態に示した構成に限定されるものではない。例えば、８つのバンクで構成されるＤＲＡＭであっても、同様に考えることができる。
【０１３７】
また、本実施形態においては、データ転送制御装置１００による１回のＤＭＡで、ＤＲＡＭ７２の４つのバンクにそれぞれ１回ずつ連続してアクセスするバンクインターリーブでのアクセスを行う、つまり、ＤＲＡＭ７２の４つのバンクに対する連続したアクセスを、ＤＭＡの１回の転送単位とする場合について説明したが、１回のＤＭＡでアクセスするバンクの数は、本実施形態に示した構成に限定されるものではない。例えば、１回のＤＭＡで１つのバンクへのアクセスを、ＤＭＡの１回の転送単位とすることもできる。
【０１３８】
なお、本実施形態においては、静止画用カメラなどの画像処理装置を本発明のデータ処理装置とし、この画像処理装置に本発明のデータ転送制御装置を適用した場合について説明した。しかし、本実施形態のデータ転送制御装置を適用することができるデータ処理装置のシステムは、本発明を実施するための形態に限定されるものではなく、データバスに接続された複数の処理ブロックが、バンクインターリーブによって共有する１つのＤＲＡＭの異なるバンクに順次アクセスするデータ処理装置のシステムであれば、どのようなシステムにも同様にデータ転送制御装置を適用することができる。
【０１３９】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【０１４０】
１・・・画像処理装置（データ処理装置）
１０・・・イメージセンサ
２０・・・前処理部（処理ブロック）
２１・・・画像転送部（処理ブロック）
２２・・・評価値生成部（処理ブロック）
３０・・・画像処理部（処理ブロック）
４０・・・表示処理部（処理ブロック）
４１・・・表示デバイス
５０・・・カードインタフェース部（処理ブロック）
５１・・・記録媒体
６０・・・ＣＰＵ（処理ブロック）
７０・・・バスアービタ（共通バス調停部）
７１・・・ＤＲＡＭインタフェース部（共通バス調停部）
７２・・・ＤＲＡＭ（メモリ）
８０・・・データバス（共通バス）
１００，２００，３００・・・データ転送制御装置
１０１・・・動作モードレジスタ（データ転送制御装置，動作モードレジスタ）
１１０・・・パッキング部（データ転送制御装置，バッファライト制御部）
１２０・・・バッファライト制御部（データ転送制御装置，バッファライト制御部）
１３０・・・データバッファ（データ転送制御装置，バッファ部）
１４０・・・アドレスバッファ（データ転送制御装置，バッファ部）
１５０・・・バッファリード制御部（データ転送制御装置，バッファリード制御部）
１６０・・・バスインタフェース部（データ転送制御装置，バッファリード制御部）
【図１】
2014238768.tif 000003
【図２】
2014238768.tif 000004
【図３】
2014238768.tif 000005
【図４】
2014238768.tif 000006
【図５】
2014238768.tif 000007
【図６】
2014238768.tif 000008
【図７】
2014238768.tif 000009
【図８】
2014238768.tif 000010
【図９】
2014238768.tif 000011
【図１０】
2014238768.tif 000012
【図１１】
2014238768.tif 000013
【図１２】
2014238768.tif 000014
【図１３】
2014238768.tif 000015
【図１４】
2014238768.tif 000016
【図１５】
2014238768.tif 000017