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