(57)【要約】【課題】データ転送量とメモリ使用量の削減、及び画像処理装置における負荷を軽減してシステム全体の処理スループットの向上を実現できるデータ転送制御装置を提供すること。【解決手段】データ転送制御装置４００は、転送制御部４０１で受信された画像データを記憶するデータ記憶部４０２と、設定部２００によって設定されたデータ処理の内容に従って、データ記憶部４０２に記憶された前記画像データに対して演算を施すデータ演算部４０３２と、データ演算部４０３２で演算された画像データを転送制御部４０４に出力するように制御するか、データ記憶部４０２に帰還させるように制御する内部制御部４０３３とを備える。データ記憶部４０２に画像データが帰還された場合、データ演算部４０３２は、データ記憶部４０２に帰還された画像データに対してさらに演算を施す。【選択図】図２
2012155604.tif 000002
【特許請求の範囲】
【請求項１】
データ転送指示を受けて、データ転送元装置から画像データを受信するデータ受信部と、
前記画像データを記憶するデータ記憶部と、
前記データ記憶部に接続された帰還信号線と、
前記データ記憶部に記憶された画像データに対して施すデータ処理の内容に従って、前記データ記憶部に記憶された前記画像データに対して演算を施すデータ演算部と、
前記データ処理の内容に従って、前記データ演算部で演算された画像データを出力するように制御するか、前記帰還信号線を介して前記データ記憶部に帰還させるように制御する制御部と、
前記出力された画像データをデータ転送先装置に送信するデータ送信部と、
を具備し、
前記データ演算部は、前記データ記憶部に帰還された画像データに対してさらに演算を施すことを特徴とするデータ転送制御装置。
【請求項２】
前記データ処理の内容として前記画像データに対して施す演算の実行回数が設定され、
前記制御部は、前記データ演算部によって施された演算の回数が前記設定された実行回数に達していない場合には、前記データ演算部で演算された画像データを前記データ記憶部に帰還させるように制御し、前記データ演算部によって施された演算の回数が前記設定された実行回数に達した場合には、前記データ演算部で演算された画像データを出力するように制御することを特徴とする請求項１に記載のデータ転送制御装置。
【請求項３】
前記データ処理の内容として前記データ演算部で演算させる複数のデータ処理の内容がそれぞれ設定され、
前記データ演算部で演算させる複数のデータ処理の内容が異なっていることを特徴とする請求項１又は２に記載のデータ転送制御装置。
【請求項４】
前記データ処理の内容として前記データ演算部で演算させる複数のデータ処理の内容がそれぞれ設定され、
前記データ演算部で演算させる複数のデータ処理の内容が同一であることを特徴とする請求項１又は２に記載のデータ転送制御装置。
【請求項５】
前記データ演算部で演算させる複数のデータ処理の内容が複数回のリサイズ処理であることを特徴とする請求項４に記載のデータ転送制御装置。
【請求項６】
前記データ演算部は、前記画像データに対して四則演算をするための複数の第１の演算回路を有する第１の演算部と、前記画像データに対してリサイズ処理を施すための第２の演算回路を備えた第２の演算部と、を有し、前記複数のデータ処理の内容に応じて、前記第１の演算部が有する第１の演算回路と前記第２の演算部が有する第２の演算回路との選択を行ってから前記演算を実行することを特徴とする請求項３乃至５の何れか１項に記載のデータ転送制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置間の大容量のデータ転送を制御するデータ転送制御装置に関する。
【背景技術】
【０００２】
入出力装置からのデータを効率良く転送する手法の１つとして、入出力装置とシステムメモリとの間でデータ転送を行うＤＭＡ（Direct Memory Access）方式が知られている。ＤＭＡ方式は、一般にデータ転送制御装置等と呼ばれる専用のハードウェアを必要とするが、入出力装置とシステムメモリとの間で直接的にデータ転送を行うことが可能であり、データ転送効率に優れている。また、プロセッサを介さずにデータ転送処理を行うことができるので、プロセッサの負荷を軽減することが可能である。これによって、システム全体の処理の高速化が実現される。
【０００３】
このようなデータ転送制御装置をバスに接続する場合は、データ転送制御装置とバスとの間のインタフェースの整合性を考慮する必要がある。特に、データ転送制御装置を複数のバスに接続する場合には、例えば特許文献１に示されるような複数のバスＩ／Ｆ回路を備えたバスブリッジが必要である。特許文献１では、データ転送制御装置に中継装置を持たせることにより、複数のバスにデータ転送制御装置を接続することが可能である。また、この中継装置にデータ記憶部を持たせることでデータの連続転送を可能とした技術が特許文献２において提案されている。
【０００４】
以上のようなＤＭＡ方式は、例えば、デジタルカメラ等の画像処理装置に用いられている。デジタルカメラにおいては、大容量の画像データを扱えるよう、画像処理部内にシステムメモリを設けるとともに、画像処理部の外部にＤＲＡＭ等の大容量メモリを配置している。このような構成において、大容量メモリとシステムメモリとの間で画像データの転送を行う。また、画像処理部ではシステムメモリに画像データを一時的に蓄積しながら処理を施す。画像処理の終了後、処理されたデータが大容量メモリに格納されるか又はデジタルカメラの周辺装置に転送されることで出力される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１３４２８９号公報
【特許文献２】特開２００４−３５５０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、デジタルカメラでは、撮像素子の高画素化や高性能化が進行し、また表示装置も高階調で高画質に対応した表示を行えるようになっている。このため、画像処理装置で処理すべき画像データのデータサイズも増大している。これに対し、画像処理装置内のシステムメモリは小容量であることが多い。
【０００７】
また、画像処理装置で取り扱う画像データの高画質化に伴って画像処理の複雑度も増している状況にある。一例としてフィルタ処理について説明する。フィルタ処理は、画像データを複数の処理単位に分割し、分割した処理単位毎に所定のフィルタ演算を実行する処理である。このフィルタ処理の際のフィルタの性能を向上させるためには、カーネルサイズを拡大し且つ演算精度を上げる必要がある。この場合、１つの処理単位のフィルタ処理に必要となる画像データのデータサイズが増加する。１つの処理単位のデータサイズが増加すると、分割処理によるオーバーヘッド（負荷）が生じてしまう。このように、高画質化を図ることはシステム性能を低下させる一因となっている。
【０００８】
本発明は、上記の事情に鑑みてなされたもので、データ転送量とメモリ使用量の削減、及び画像処理装置における負荷を軽減してシステム全体の処理スループットの向上を実現できるデータ転送制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の一態様のデータ転送制御装置は、データ転送指示を受けて、データ転送元装置から画像データを受信するデータ受信部と、前記画像データを記憶するデータ記憶部と、前記データ記憶部に接続された帰還信号線と、前記データ記憶部に記憶された画像データに対して施すデータ処理の内容に従って、前記データ記憶部に記憶された前記画像データに対して演算を施すデータ演算部と、前記データ処理の内容に従って、前記データ演算部で演算された画像データを出力するように制御するか、前記帰還信号線を介して前記データ記憶部に帰還させるように制御する制御部と、前記出力された画像データをデータ転送先装置に送信するデータ送信部と、を具備し、前記データ演算部は、前記データ記憶部に帰還された画像データに対してさらに演算を施すことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、データ転送量とメモリ使用量の削減、及び画像処理装置における負荷を軽減してシステム全体の処理スループットの向上を実現できるデータ転送制御装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るデータ転送制御装置を用いた画像処理装置の一例の構成を示す図である。
【図２】ベイヤ画像データの画素配列を示す図である。
【図３】データ転送制御装置の詳細な構成を示す図である。
【図４】データ演算部の構成例を示す図である。
【図５】内部制御部の構成例を示す図である。
【図６】データ転送制御装置の動作について示すフローチャートである。
【図７】ビニング処理後のベイヤ画像データの例を示す図である。
【図８】データ処理の内容をビニング処理とした場合の、第１のデータ処理及び第２のデータ処理の設定例を示す図である。
【図９】ビニング処理における１回目の加算処理の選択範囲について示す図である。
【図１０】ビニング処理における２回目の加算処理の選択範囲について示す図である。
【図１１】ビニング処理における３回目の加算処理の選択範囲について示す図である。
【図１２】ビニング処理における４回目の加算処理の選択範囲について示す図である。
【図１３】ビットシフト処理における選択範囲について示す図である。
【図１４】ビットシフト処理後の画像データについて示す図である。
【図１５】データ処理の内容をベイヤ画像データの二乗和をＮ回繰り返して演算するものとした場合の、第１のデータ処理及び第２のデータ処理の設定例を示す図である。
【図１６】データ処理の内容をベイヤ画像データのリサイズ処理をＮ回繰り返すものとした場合の、第１のデータ処理及び第２のデータ処理の設定例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態を説明する。  
図１は、本発明の一実施形態に係るデータ転送制御装置を用いた画像処理装置の一例の構成を示す図である。ここで、図１は、画像処理装置の例として、デジタルカメラを示している。図１に示すデジタルカメラは、データ処理装置１００と、設定部２００と、大容量メモリ３００と、データ転送制御装置４００とを有している。ここで、データ処理装置１００に含まれる各部はそれぞれインターコネクトバスを介してデータ転送制御装置４００に接続されている。また、データ転送制御装置４００は、大容量メモリ３００に接続されている。
【００１３】
図１において、データ処理装置１００は、撮像部１０１と、画像生成部１０２と、画像圧縮部１０３と、画像表示部１０４と、画像記録部１０５とを有している。ここで、撮像部１０１、画像生成部１０２、画像圧縮部１０３、画像表示部１０４、画像記録部１０５はそれぞれが１つ以上の入出力Ｉ／Ｆ（インタフェース）を有していて、大容量メモリ３００以外とのデータ転送も可能に構成されている。
【００１４】
撮像部１０１は被写体を撮像し、この撮像によって得られた被写体の像をデジタルの画像データとして取り込む。撮像部１０１において取り込まれた画像データはインターコネクトバスを介してデータ転送制御装置４００へ転送される。そして、この画像データは、データ転送制御装置４００の制御に従って大容量メモリ３００に格納される。なお、本実施形態において、撮像部１０１において得られる画像データはベイヤ画像データであるとする。ベイヤ画像データとは、Ｒ（赤）データとＧ（緑）データの行と、Ｇ（緑）データとＢ（青）データの行とが交互に配置される画像データのことである。図２にベイヤ画像データの画素配列を示す。
【００１５】
画像生成部１０２は、大容量メモリ３００からデータ転送制御装置４００を介して読み出されて処理された画像データを、インターコネクトバスを介して受け取る。そして、画像生成部１０２は、受け取った画像データを処理する。画像生成部１０２において処理された画像データはインターコネクトバスを介してデータ転送制御装置４００へ入力される。そして、この画像データは、データ転送制御装置４００の制御に従って大容量メモリ３００に格納される。
【００１６】
画像圧縮部１０３は、画像データの記録時には、画像生成部１０２において処理され、大容量メモリ３００に格納された画像データを圧縮する。また、画像データの再生時には、画像圧縮部１０３は、圧縮された画像データを伸張する。
画像表示部１０４は、画像生成部１０２で生成された画像データに基づく画像を表示する。画像記録部１０５は、画像圧縮部１０３で圧縮された画像データを記録する。
【００１７】
設定部２００は、例えばプロセッサであり、データ転送制御装置４００の初期設定をするための特定情報をデータ転送制御装置４００に出力する。
データ転送制御装置４００は、データ処理装置１００と大容量メモリ３００との間のデータの入出力を中継する。また、本実施形態において、データ転送制御装置４００は、データ処理装置１００からインターコネクトバスを介して入力された画像データを内部で一時的に記憶し、この記憶した画像データに対して所定の処理を施した上で大容量メモリ３００に出力する。この所定の処理は、四則演算のような単純な演算処理や画像データの特定性分を抽出する処理、及びこれらの処理の組み合わせの処理である。
【００１８】
図３は、データ転送制御装置４００の詳細な構成を示す図である。図３に示すように、データ転送制御装置４００は、転送制御部４０１と、データ記憶部４０２と、データ処理部４０３と、転送制御部４０４とを有している。データ転送制御装置４００は、データ読み出し用の転送制御部４０１とデータ書き込み用の転送制御部４０４の２つの転送制御部を有し、これら２つの転送制御部はそれぞれ大容量メモリ３００とインターコネクトバスとに接続されている。
【００１９】
データ受信部としての機能を有する転送制御部４０１は、設定部２００からのＤＭＡ方式のデータ転送指示を受けて、データ転送元装置から所定の読み出し単位毎に入力されてくるデータを受け取る。なお、データ処理装置１００から大容量メモリ３００にデータの書き込みを行う場合には、データ処理装置１００がデータ転送元装置となる。一方、大容量メモリ３００からデータ処理装置１００へデータの読み出しを行う場合には、大容量メモリ３００がデータ転送元装置となる。
【００２０】
データ記憶部４０２は、転送制御部４０１で受信された画像データを記憶する。ここで、本実施形態におけるデータ記憶部４０２は、単一或いは複数のＦＩＦＯメモリから構成され、転送制御部４０１から転送されてくる複数の読み出し単位毎の画像データを記憶できるだけの記憶容量を有している。
【００２１】
データ処理部４０３は、データ記憶部４０２に記憶されたデータに対して設定部２００からの指示に応じた所定の処理を実行する。このデータ処理部４０３は、データ選択部４０３１と、データ演算部４０３２と、内部制御部４０３３とを有している。
データ選択部４０３１は、データ記憶部４０２に記憶された複数読み出し単位のデータから、所定の処理の対象となるデータを選択する。
【００２２】
データ演算部４０３２は、データ選択部４０３１によって選択されたデータに対して所定の処理の内容に応じた演算を実行する。図４は、データ演算部４０３２の構成例を示す図である。図４に示すように、データ演算部４０３２は、汎用的な演算回路４０３２ａ、４０３２ｂ、４０３２ｃ、４０３２ｄと、データ処理制御部４０３２ｅとを有している。演算回路４０３２ａは、例えば、２つの１６ビットデータが入力され、これら２つのデータを加算して出力する８個の加算器である。演算回路４０３２ｂは、例えば、２つの１６ビットデータが入力され、これら２つのデータを乗算して出力する８個の乗算器である。演算回路４０３２ｃは、例えば１つの１６ビットデータが入力され、この１つのデータをビットシフトする８個のシフトレジスタである。第１の演算回路としての加算器と乗算器とシフトレジスタとによって種々の四則演算を行うことが可能である。第２の演算回路としての演算回路４０３２ｄは、データ選択部４０３１で選択された範囲のデータを所定サイズにリサイズするリサイズ処理部である。これらの演算回路は、ソフトウェアで構成しても良いし、ハードウェアで構成しても良い。データ処理制御部４０３２ｅは、設定部２００による設定に従って、データ選択部４０３１で選択されたデータに対して施す演算の内容を識別し、識別した演算の内容に対応した演算部を選択して演算を実行させる。
【００２３】
内部制御部４０３３は、データ演算部４０３２によって演算されたデータを転送制御部４０４に出力するか、データ記憶部４０２に帰還させるかを制御する。図５は、内部制御部４０３３の構成例を示す図である。図５に示すように、内部制御部４０３３は、出力選択部４０３３ａと、実行回数検出部４０３３ｂと、データ処理制御部４０３３ｃとを有している。出力選択部４０３３ａは、データ処理制御部４０３３ｃからの指示に従って、データ演算部４０３２で演算されたデータの出力先を、転送制御部４０４とデータ記憶部４０２との間で切り替える。実行回数検出部４０３３ｂは、例えばデータ演算部４０３２からのデータの入力回数を計数することにより、データ演算部４０３２による演算の実行回数を検出し、検出結果をデータ処理制御部４０３３ｃに入力する。データ処理制御部４０３３ｃは、実行回数検出部４０３３ｂで検出された演算の実行回数の検出結果と設定部２００による設定とに従って、出力選択部４０３３ａによるデータの出力先を切り替えさせる。
【００２４】
ここで、データ処理部４０３は、複数のデータを選択する構造であることから、データ記憶部４０２は複数のデータを同時に参照できるものとすることが望ましい。このような構成とすることにより、データ選択を行う際の転送レイテンシを抑えることができる。
【００２５】
データ送信部としての機能を有する転送制御部４０４は、設定部２００からのＤＭＡ方式のデータ転送指示を受けて、データ出力先装置に所定の書き込み単位毎にデータを出力する。なお、データ処理装置１００から大容量メモリ３００にデータの書き込みを行う場合には、大容量メモリ３００がデータ出力先装置となる。一方、大容量メモリ３００からデータ処理装置１００へデータの読み出しを行う場合には、データ処理装置１００がデータ出力先装置となる。
【００２６】
以下、本実施形態におけるデータ転送制御装置４００の動作を、具体例を示しながら説明する。上述したように、本実施形態では、データ転送制御装置４００にデータ転送制御をさせるだけではなく、画像データに対する簡易的な処理も実行させる。図６は、データ転送制御装置４００の動作について示すフローチャートである。ここでは、図６の動作に従ったデータ処理の具体例として、ベイヤ画像データにおける複数の同色成分の混合処理（以下、ビニング処理と言う）の例を説明する。また、ビニング処理として、ここでは、図２で示したベイヤ画像データ（原画像データ）を図７で示すような１/１６サイズの画像データとする処理を例示する。なお、本実施形態におけるビニング処理は、画像サイズを１/１６サイズとする処理に限られるものではない。
【００２７】
まず、設定部２００は、データ転送制御装置４００の初期設定をした後で、データ転送制御装置４００に対してデータ転送を指示する（ステップＳ１）。この初期設定として、設定部２００は、データ転送制御装置４００において実行する所定の処理を特定するための情報を設定する。この情報としては、データ転送の制御情報、画像フォーマット、データ処理内容、データ処理後の出力先、データ記憶部４０２からのデータ参照方法が含まれる。
【００２８】
データ転送の制御情報は、例えば画像データの転送元のアドレスや画像データの転送先のアドレスといったデータ転送に必要な情報である。例えばビニング処理の場合にはデータ転送元装置が撮像部１０１、データ転送先装置が大容量メモリ３００である。
画像フォーマットは、データ転送制御装置４００によって受信される画像データの画像フォーマットを示す情報である。この画像フォーマットとしては、ベイヤやＹＣ４２２といった画像形式を示す情報、１フレーム分の画像データにおける各画像データのビット数及び配置を示す情報、さらには各画像データの座標位置を示す情報等を含む。本実施形態で例としたビニング処理の場合に設定される画像フォーマットの例を図８に示している。なお、図８では、撮像部１０１から出力される画像データが１２ビットのベイヤ画像データである例を示している。したがって、１回目の加算処理の際の画像フォーマットとしては、１２ビットのベイヤを設定する。
【００２９】
データ処理内容は、データ転送制御装置４００によって実行させる処理の内容を示す情報である。本実施形態で例としたビニング処理の場合に設定される画像フォーマットの例を図８に示す。図８に示すように、本実施形態で例としたビニング処理は、第１のデータ処理と、第２のデータ処理の２段階の処理に分けられている。なお、図８の例では、第１のデータ処理は、加算処理である。一方、第２のデータ処理は、ビットシフト（右シフト）処理である。さらに、１/１６サイズのビニング処理の場合、第１のデータ処理としての加算処理は４回繰り返す。
【００３０】
データ処理後の出力先は、データ演算部４０３２によって演算された画像データの出力先が、データ記憶部４０２と転送制御部４０４の何れとするかを示す情報である。本実施形態で例としたビニング処理の場合に設定される出力先の例を図８に示す。図８に示すように、本実施形態の例のビニング処理の場合には、第１のデータ処理後の画像データについては出力先をデータ記憶部４０２に設定し、第２のデータ処理後の画像データについては出力先を転送制御部４０４に設定する。
【００３１】
データの参照方法は、データ記憶部４０２に記憶された画像データをどのように読み出すかを示す情報である。
設定部２００によってデータ転送の指示がなされると、転送制御部４０１は、データ転送元装置としての撮像部１０１から画像データを受信する（ステップＳ２）。そして、転送制御部４０１は、撮像部１０１から受信した画素毎に１２ビットを有する画像データを、画素毎に１６ビットを有する画像データとするようにビット拡張する（ステップＳ３）。ビット拡張を行うのは、データ転送元装置としての撮像部１０１から受信される画像データのビット長が、データ演算部４０３２内の演算部における処理に必要な画像データのビット長と異なっているためである。ビット拡張の後、転送制御部４０１は、ビット拡張した画像データをデータ記憶部４０２に記憶させる（ステップＳ４）。
【００３２】
データ記憶部４０２に画像データが記憶されると、データ処理部４０３は、このデータ記憶部４０２に記憶された画像データに対して第１のデータ処理としての加算処理を実行する（ステップＳ５）。その後、データ処理部４０３の内部制御部４０３３は、第１のデータ処理が終了したか否かを判定する（ステップＳ６）。図８で示したように、本実施形態で例としたビニング処理では、第１のデータ処理として４回の加算処理を行う。したがって、ステップＳ６の判定において、内部制御部４０３３のデータ処理制御部４０３３ｃは、実行回数検出部４０３３ｂで検出された演算の実行回数から、設定部２００によって設定された回数である４回の加算処理が終了したか否かを判定する。ステップＳ６の判定において、第１のデータ処理が終了していない場合には処理がステップＳ４に戻る。この場合に、内部制御部４０３３のデータ処理制御部４０３３ｃは、データ演算部４０３２における演算結果のデータを、帰還信号線を介してデータ記憶部４０２に帰還させるように出力選択部４０３３ａに指示する。そして、４回の加算処理が終了するまでステップＳ４〜Ｓ６の処理が繰り返される。
【００３３】
ここで、データ処理部４０３における第１のデータ処理についてさらに説明する。データ記憶部４０２にビット拡張された画像データが記憶された後、データ選択部４０３１は、設定部２００によって設定された画像データのフォーマットとデータ記憶部４０２からのデータ参照方法とに基づいて、画像データの有効ビット長と各画素の色配置の情報を算出する。
【００３４】
初回の加算処理では、データ選択部４０３１は、図９の斜線部で示す単位毎に画像データを選択する。この範囲の画像データは、同色の画素のデータを横方向に４画素、縦方向に４画素の計１６画素ずつ含んでいる。また、画像データの有効ビット長は、画像データのフォーマットが１２ビットベイヤ画像データに設定されているので、１２ビットとなる。
【００３５】
画像データが選択された後、データ演算部４０３２は、選択された画像データにおいて縦方向に隣接する同色の２画素のデータを加算器を用いて加算する。即ち、以下の演算を行う。ここで、以下はＲ画素について示しているが、Ｇｒ画素、Ｇｂ画素、Ｂ画素も同様の演算を行う。  
R１(2m,4n)＝R(4m,4n)＋R(4m,4(n+1))  
R１(2(m+1),4n)＝R(4(m+2),4n)＋R(4(m+3),4n)  
R１(2m,4(n+1))＝R(4m,4(n+1))＋R(4(m+1),4(n+1))  
R１(2(m+1),4(n+1))＝R(4(m+2),4(n+1))＋R(4(m+3),4(n+1))          （式１）
R１(2m,4(n+2))＝R(4m,4(n+2))＋R(4(m+1),4(n+2))  
R１(2(m+1),4(n+2))＝R(4(m+2),4(n+2))＋R(4(m+3),4(n+2))  
R１(2m,4(n+3))＝R(4m,4(n+3))＋R(4(m+1),4(n+3))  
R１(2(m+1),4(n+3))＝R(4(m+2),4(n+3))＋R(4(m+3),4(n+3))
（式１）の演算により、図１０に示すような、原画像データに対して画素数が１/２の画像データが得られる。内部制御部４０３３は、この図１０に示す画像データをデータ記憶部４０２に帰還させる。
【００３６】
次の加算処理では、データ選択部４０３１は、図１０の斜線部で示す単位毎に画像データを選択する。この範囲の画像データは、同色の画素のデータを横方向に４画素、縦方向に２画素の計８画素ずつ含んでいる。また、画像データの有効ビット長は１３ビットである。これは、１２ビット同士のデータを加算したためである。
【００３７】
画像データが選択された後、データ演算部４０３２は、選択された画像データにおいて縦方向に隣接する同色の２画素のデータを加算器を用いて加算する。即ち、以下の演算を行う。ここで、以下はＲ画素について示しているが、Ｇｒ画素、Ｇｂ画素、Ｂ画素も同様の演算を行う。  
R2(m,4n)＝R1(2m,4n)＋R1(2(m+1),4n)  
R2(m,4(n+1))＝R1(2m,4(n+1))＋R1(2(m+1),4(n+1))                （式２）
R2(m,4(n+2))＝R1(2m,4(n+2))＋R1(2(m+1),4(n+2))  
R2(m,4(n+3))＝R1(2m,4(n+3))＋R1(2(m+1),4(n+3))
（式２）の演算により、図１１に示すような、原画像データに対して画素数が１/４の画像データが得られる。内部制御部４０３３は、この図１１に示す画像データをデータ記憶部４０２に帰還させる。
【００３８】
次の加算処理では、データ選択部４０３１は、図１１の斜線部で示す単位毎に画像データを選択する。この範囲の画像データは、同色の画素のデータを横方向に４画素、縦方向に１画素の計４画素ずつ含んでいる。また、画像データの有効ビット長は１４ビットである。これは、１３ビット同士のデータを加算したためである。
【００３９】
画像データが選択された後、データ演算部４０３２は、選択された画像データにおいて横方向に隣接する同色の２画素のデータを加算器を用いて加算する。即ち、以下の演算を行う。ここで、以下はＲ画素について示しているが、Ｇｒ画素、Ｇｂ画素、Ｂ画素も同様の演算を行う。  
R3(m,2n)＝R2(m,4n)＋R2(m,4(n+1))                            （式３）
R3(m,2(n+1))＝R2(m,4(n+2))＋2(4m,4(n+3))
（式３）の演算により、図１２に示すような、原画像データに対して画素数が１/８の画像データが得られる。内部制御部４０３３は、この図１２に示す画像データをデータ記憶部４０２に帰還させる。
【００４０】
次の加算処理では、データ選択部４０３１は、図１２の斜線部で示す単位毎に画像データを選択する。この範囲の画像データは、同色の画素のデータを横方向に２画素、縦方向に１画素の計２画素ずつ含んでいる。また、画像データの有効ビット長は１５ビットである。これは、１４ビット同士のデータを加算したためである。
【００４１】
画像データが選択された後、データ演算部４０３２は、選択された画像データにおいて横方向に隣接する同色の２画素のデータを加算器を用いて加算する。即ち、以下の演算を行う。ここで、以下はＲ画素について示しているが、Ｇｒ画素、Ｇｂ画素、Ｂ画素も同様の演算を行う。  
R4(m,n)＝R3(m,2n)＋R3(m,2(n+1))                            （式４）
（式４）の演算により、図１３に示すような、原画像データに対して画素数が１/１６の画像データが得られる。内部制御部４０３３は、この図１３に示す画像データをデータ記憶部４０２に帰還させる。なお、この加算処理によって画像データの有効ビット長は１６ビットとなる。
【００４２】
ステップＳ６の判定において、第１のデータ処理としての４回の加算処理が終了した後、データ処理部４０３は、演算結果の画像データをデータ記憶部４０２に記憶させる（ステップＳ７）。そして、データ処理部４０３は、このデータ記憶部４０２に記憶された画像データに対して第２のデータ処理としてのビットシフト処理を実行する（ステップＳ８）。その後、データ処理部４０３の内部制御部４０３３は、第２のデータ処理が終了したか否かを判定する（ステップＳ９）。図８で示したように、本実施形態で例としたビニング処理では、第２のデータ処理として１回のビットシフト処理を行う。したがって、ステップＳ９の判定において、内部制御部４０３３のデータ処理制御部４０３３ｃは、実行回数検出部４０３３ｂで検出された演算の実行回数から、設定部２００によって設定された回数である１回のビットシフト処理が終了したか否かを判定する。ステップＳ９の判定において、第２のデータ処理が終了していない場合には処理がステップＳ７に戻る。この場合に、内部制御部４０３３のデータ処理制御部４０３３ｃは、データ演算部４０３２における演算結果のデータを、帰還信号線を介してデータ記憶部４０２に帰還させるように出力選択部４０３３ａに指示する。なお、ビニング処理の場合には、繰り返し処理は行われない。したがって内部制御部４０３３のデータ処理制御部４０３３ｃは、データ演算部４０３２における演算結果のデータを、転送制御部４０４に出力するように出力選択部４０３３ａに指示する。この後、転送制御部４０４は、データ転送先装置としての大容量メモリ３００にビニング処理後の画像データを送信する（ステップＳ１０）。
【００４３】
ここで、データ処理部４０３における第２のデータ処理についてさらに説明する。データ記憶部４０２に第１の処理後の画像データが記憶された後、データ選択部４０３１は、設定部２００によって設定された画像データのフォーマットとデータ記憶部４０２からのデータ参照方法とに基づいて、画像データの有効ビット長と各画素の色配置の情報を算出する。
【００４４】
そして、データ選択部４０３１は、図１３の斜線部で示す単位毎に画像データを選択する。この範囲の画像データは、同色の画素のデータを１画素ずつ含んでいる。また、上述したように、画像データの有効ビット長は１６ビットである。
画像データが選択された後、データ演算部４０３２は、選択された画像データを、シフトレジスタを用いて４ビット分だけ右シフトさせる。４ビットの右シフトにより、各画素のデータは値が１/１６されたのと等価となる。また、４ビットの右シフトによって図１４に示すようなビニング処理後の画像データが得られる。この図１４に示す画像データは、１画素当たりのビット長が原画像と同じ１２ビットとなる。
【００４５】
以上、図９〜図１４で示した演算を実行することにより、原画像データに対して以下に示すビニング処理が行われたことになる。  
R'(m,n)＝(R(4m,4n)+R(4m,4(n+1))+R(4m,4(n+2))+R(4m,4(n+3))  
+R(4(m+1),4n)+R(4(m+1),4(n+1))+R(4(m+1),4(n+2))+R(4(m+1),4(n+3))  
+R(4(m+2),4n)+R(4(m+2),4(n+1))+R(4(m+2),4(n+2))+R(4(m+2),4(n+3))  
+R(4(m+3),4n)+R(4(m+3),4(n+1))+R(4(m+3),4(n+2))+R(4(m+3),4(n+3)))/16  
G'(m,n)＝(G(4m,4n)+G(4m,4(n+1))+G(4m,4(n+2))+G(4m,4(n+3))  
+G(4(m+1),4n)+G(4(m+1),4(n+1))+G(4(m+1),4(n+2))+G(4(m+1),4(n+3))  
+G(4(m+2),4n)+G(4(m+2),4(n+1))+G(4(m+2),4(n+2))+G(4(m+2),4(n+3))  
+G(4(m+3),4n)+G(4(m+3),4(n+1))+G(4(m+3),4(n+2))+G(4(m+3),4(n+3)))/16  
B'(m,n)＝(B(4m,4n)+B(4m,4(n+1))+B(4m,4(n+2))+B(4m,4(n+3))  
+B(4(m+1),4n)+B(4(m+1),4(n+1))+B(4(m+1),4(n+2))+B(4(m+1),4(n+3))  
+B(4(m+2),4n)+B(4(m+2),4(n+1))+B(4(m+2),4(n+2))+B(4(m+2),4(n+3))  
+B(4(m+3),4n)+B(4(m+3),4(n+1))+B(4(m+3),4(n+2))+B(4(m+3),4(n+3)))/16  
（式５）  
なお、Ｇ’（ｍ，ｎ）についてはＧｒ画素の分とＧｂ画素の分のそれぞれ得られる。
【００４６】
以上説明したように、本実施形態によれば、データ転送制御装置４００を介してのデータ転送の際に所定の処理を施すことができる。これにより、大容量メモリ３００等に転送される画像データのデータサイズが減少するため、大容量メモリ３００等の使用量を削減することができる。
【００４７】
即ち、本実施形態では、メモリアクセスを行う際に、データ転送制御装置４００内で汎用的な処理の組み合わせで所定のデータ処理が実行可能なようにデータ記憶部４０２からデータを選択する。これにより、画像処理装置（デジタルカメラ）内で頻繁に実行されるデータ処理を一般化して演算資源の共有化を図ることが可能である。
【００４８】
また、データ転送制御装置４００内にて処理を行うことによって、システム全体の処理性能を低下させずにデータ出力先装置にデータを出力することができる。さらに、データ処理装置１００の各部において一部の処理を行う必要がなくなるのでデータ処理装置１００の各部におけるデータ処理の負荷軽減の効果もある。
【００４９】
また、本実施形態では、データ処理の内容に応じて、データ演算部４０３２で演算されたデータを内部制御部４０３３からデータ記憶部４０２に帰還させるようにしている。このため、データ演算部４０３２に８個の加算部しかなくとも、（式５）で示したようなビニング処理を行うことが可能である。即ち、本実施形態では、データ演算部４０３２で演算されたデータを内部制御部４０３３からデータ記憶部４０２に帰還させるようにすることで、１つの複雑な演算を複数の簡易な演算の組み合わせに分解して実行することが可能である。このため、少ないリソースで種々のデータ処理を実現できる。
【００５０】
また、本実施形態では、データ処理の内容に応じてサイズ（画素数）が変化するデータ処理であっても、第１のデータ処理と第２のデータ処理の間でデータを引き継ぐことが可能である。このため、データ転送制御装置の外部のトラフィックへの負担を軽減することも可能である。
【００５１】
ここで、上述の実施形態では、第２のデータ処理における演算結果の出力先が転送制御部４０４となっている。第２のデータ処理においても第１のデータ処理のような複数段階の処理が必要となる場合には、最後の出力先を転送制御部４０４とし、残りの出力先はデータ記憶部４０２とする必要がある。
【００５２】
また、上述の実施形態では、第１のデータ処理として加算処理を実行し、第２のデータ処理としてビットシフト処理を実行するようにしている。これは、データ処理の内容がビニング処理のためである。データ処理の内容がビニング処理でなければ、第１のデータ処理と第２のデータ処理とで同じ処理を行うようにしても良い。
【００５３】
図１５は、データ処理の内容をベイヤ画像データの二乗和をＮ回繰り返して演算するものとした場合の、第１のデータ処理及び第２のデータ処理の設定例を示す図である。図１５に示す例では、第１のデータ処理としてＮ−１回の二乗和処理を設定する。また、第２のデータ処理として１回の二乗和処理を設定する。
【００５４】
実際の処理の流れは、図６で示したものと同様である。即ち、設定部２００によってデータ転送の指示がなされると、転送制御部４０１は、データ転送元装置としての撮像部１０１から画像データを受信する（ステップＳ１）。そして、転送制御部４０１は、撮像部１０１から受信した画素毎に１２ビットを有する画像データを、画素毎に１６ビットを有する画像データとするようにビット拡張する（ステップＳ２）。ビット拡張の後、転送制御部４０１は、ビット拡張した画像データをデータ記憶部４０２に記憶させる（ステップＳ３）。
【００５５】
データ記憶部４０２に画像データが記憶されると、データ処理部４０３は、このデータ記憶部４０２に記憶された画像データに対して第１のデータ処理としての二乗和処理を実行する（ステップＳ５）。その後、データ処理部４０３の内部制御部４０３３は、第１のデータ処理が終了したか否かを判定する（ステップＳ６）。ステップＳ６の判定において、第１のデータ処理、即ちＮ−１回の二乗和処理が終了していない場合には処理がステップＳ４に戻る。この場合に、内部制御部４０３３のデータ処理制御部４０３３ｃは、データ演算部４０３２における演算結果のデータを、帰還信号線を介してデータ記憶部４０２に帰還させるように出力選択部４０３３ａに指示する。そして、Ｎ−１回の二乗和処理が終了するまでステップＳ４〜Ｓ６の処理が繰り返される。
【００５６】
なお、二乗和処理において、データ選択部４０３１は、例えば８画素分を１単位として、同一の画素のデータを２回ずつ選択する。画像データが選択された後、データ演算部４０３２は、２個ずつ選択された同じ画素のデータを８個の乗算器を用いて乗算し、各乗算器の出力を４個の加算器を用いて加算する。このような演算を画像データの全範囲に対して実行する。
【００５７】
ステップＳ６の判定において、第１のデータ処理としてのＮ−１回の二乗和処理が終了した後、データ処理部４０３は、演算結果の画像データをデータ記憶部４０２に記憶させる（ステップＳ７）。そして、データ処理部４０３は、このデータ記憶部４０２に記憶された画像データに対して第２のデータ処理としての１回の二乗和処理を実行する（ステップＳ８）。その後、データ処理部４０３の内部制御部４０３３は、第２のデータ処理が終了したか否かを判定する（ステップＳ９）。ステップＳ９の判定において、第２のデータ処理が終了していない場合には処理がステップＳ７に戻る。また、ステップＳ９の判定において、第２のデータ処理が終了した場合に、転送制御部４０４は、データ転送先装置としての大容量メモリ３００にビニング処理後の画像データを送信する（ステップＳ１０）。
【００５８】
このような変形例では、設定部２００によって設定できるデータ処理の数が第１のデータ処理と第２のデータ処理の２種類のみであっても、繰り返し処理によって、１回の命令で実質的に処理できるデータ処理数を増やすことができる。なお、設定できるデータ処理の数を３つ以上としても良い。この場合には、複数のデータ処理を繰り返し実行することも可能となる。さらに、同一のデータ処理の場合、データ処理の中間出力の格納先を考慮する必要がない。このため、設定が容易である。
【００５９】
図１６は、データ処理の内容をベイヤ画像データのリサイズ処理をＮ回繰り返すものとした場合の、第１のデータ処理及び第２のデータ処理の設定例を示す図である。図１６に示す例では、第１のデータ処理としてＮ−１回のリサイズ処理を設定する。また、第２のデータ処理として１回のリサイズ処理を設定する。
【００６０】
実際の処理の流れは、図６で示したものと同様である。即ち、設定部２００によってデータ転送の指示がなされると、転送制御部４０１は、データ転送元装置としての撮像部１０１から画像データを受信する（ステップＳ１）。そして、転送制御部４０１は、撮像部１０１から受信した画素毎に１２ビットを有する画像データを、画素毎に１６ビットを有する画像データとするようにビット拡張する（ステップＳ２）。ビット拡張の後、転送制御部４０１は、ビット拡張した画像データをデータ記憶部４０２に記憶させる（ステップＳ３）。
【００６１】
データ記憶部４０２に画像データが記憶されると、データ処理部４０３は、このデータ記憶部４０２に記憶された画像データに対して第１のデータ処理としてのリサイズ処理を実行する（ステップＳ５）。その後、データ処理部４０３の内部制御部４０３３は、第１のデータ処理が終了したか否かを判定する（ステップＳ６）。ステップＳ６の判定において、第１のデータ処理、即ちＮ−１回のリサイズ処理が終了していない場合には処理がステップＳ４に戻る。この場合に、内部制御部４０３３のデータ処理制御部４０３３ｃは、データ演算部４０３２における演算結果のデータを、帰還信号線を介してデータ記憶部４０２に帰還させるように出力選択部４０３３ａに指示する。そして、Ｎ−１回のリサイズ処理が終了するまでステップＳ４〜Ｓ６の処理が繰り返される。
【００６２】
なお、リサイズ処理は、単純間引きや補間処理の他、ニアレストネイバー法やバイキュービック法等の従来周知の手法を用いることが可能である。したがって、リサイズ処理についての詳細については説明を省略する。
ステップＳ６の判定において、第１のデータ処理としてのリサイズ処理が終了した後、データ処理部４０３は、演算結果の画像データをデータ記憶部４０２に記憶させる（ステップＳ７）。そして、データ処理部４０３は、このデータ記憶部４０２に記憶された画像データに対して第２のデータ処理としての１回のリサイズ処理を実行する（ステップＳ８）。その後、データ処理部４０３の内部制御部４０３３は、第２のデータ処理が終了したか否かを判定する（ステップＳ９）。ステップＳ９の判定において、第２のデータ処理が終了していない場合には処理がステップＳ７に戻る。また、ステップＳ９の判定において、第２のデータ処理が終了した場合に、転送制御部４０４は、データ転送先装置としての大容量メモリ３００にビニング処理後の画像データを送信する（ステップＳ１０）。
【００６３】
このような変形例では、帰還信号線を利用した繰り返し処理により、リサイズ処理部によるリサイズ処理の上限値を超える拡大処理や縮小処理であっても実行可能である。また、リサイズ処理のためにデータ転送制御装置４００に新たに画像データを入力する必要もない。
【００６４】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【符号の説明】
【００６５】
１００…データ処理装置、１０１…撮像部、１０２…画像生成部、１０３…画像圧縮部、１０４…画像表示部、１０５…画像記録部、２００…設定部、３００…大容量メモリ、４００…データ転送制御装置、４０１…転送制御部、４０２…データ記憶部、４０３…処理部、４０４…転送制御部、４０３１…データ選択部、４０３２…データ演算部、４０３３…内部制御部
【図１】
2012155604.tif 000003
【図２】
2012155604.tif 000004
【図３】
2012155604.tif 000005
【図４】
2012155604.tif 000006
【図５】
2012155604.tif 000007
【図６】
2012155604.tif 000008
【図７】
2012155604.tif 000009
【図８】
2012155604.tif 000010
【図９】
2012155604.tif 000011
【図１０】
2012155604.tif 000012
【図１１】
2012155604.tif 000013
【図１２】
2012155604.tif 000014
【図１３】
2012155604.tif 000015
【図１４】
2012155604.tif 000016
【図１５】
2012155604.tif 000017
【図１６】
2012155604.tif 000018