(57)【要約】【課題】ＤＲＡＭなどのメモリに複数種類のデータを転送して格納する際、プリチャージの回数を抑えてデータを効率よく転送する。【解決手段】データ転送制御装置３１０は、互いに異なる複数種類のデータをＤＲＡＭ３２０に転送する。ＤＲＡＭには複数のページが規定されており、データ転送制御装置は複数種類のデータについて所定のデータ量を１つの単位として、当該１つの単位毎に前記複数種類のデータをページの１つに転送する。この際、ＣＰＵ２０５は複数種類のデータについて所定のデータ量を設定する。【選択図】図１
2012128575.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる複数種類のデータをメモリに転送するデータ転送装置において、
前記メモリには複数の転送領域が規定されており、
前記複数種類のデータについて所定のデータ量を１つの単位として、当該１つの単位毎に前記複数種類のデータを前記転送領域に転送するメモリアクセス手段と、
前記複数種類のデータについて前記所定のデータ量を設定する設定手段とを有することを特徴とするデータ転送装置。
【請求項２】
前記メモリアクセス手段は、前記転送領域の１つに転送された前記複数種類のデータのデータ量が前記所定のデータ量となると、前記転送領域の１つに続く転送領域に前記複数種類のデータを転送することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記メモリアクセス手段は、前記複数種類のデータを１回のバースト転送によって前記転送領域の１つに転送し、１回のバースト転送毎に別の前記転送領域に前記複数種類のデータを転送することを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記設定手段は、前記所定のデータ量を前記複数種類のデータの出現頻度比率に応じて設定することを特徴とする請求項１〜３いずれか１項記載のデータ転送装置。
【請求項５】
前記複数種類のデータは、撮影の結果得られた画像データを複数の周波数帯域で分割した画像データであることを特徴する請求項１〜４いずれか１項記載のデータ転送装置。
【請求項６】
前記メモリアクセス手段は、前記複数種類のデータのうち最もデータ量の少ないデータを除いた一部の種類のデータについて、当該データの出現頻度比率に応じたデータ量を前記転送領域の１つに転送し、さらに前記最もデータ量の少ないデータを含んだ残りの種類のデータを前記転送領域の１つに転送することを特徴とする請求項１〜３いずれか１項記載のデータ転送装置。
【請求項７】
互いに異なる複数種類のデータを、複数の転送領域が規定されたメモリに転送するデータ転送装置を制御するための制御方法において、
前記複数種類のデータについて所定のデータ量を１つの単位として、当該１つの単位毎に前記複数種類のデータを前記転送領域に転送するメモリアクセスステップと、
前記複数種類のデータについて前記所定のデータ量を設定する設定ステップとを有することを特徴とする制御方法。
【請求項８】
互いに異なる複数種類のデータを、複数の転送領域が規定されたメモリに転送するデータ転送装置を制御するための制御プログラムにおいて、
前記データ転送装置に備えられたコンピュータに、
前記複数種類のデータについて所定のデータ量を１つの単位として、当該１つの単位毎に前記複数種類のデータを前記転送領域に転送するメモリアクセスステップと、
前記複数種類のデータについて前記所定のデータ量を設定する設定ステップとを実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数種類の画像データをＤＲＡＭなどのメモリに転送するデータ転送装置、その制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
デジタルカメラなどの撮像装置で用いられる画像処理装置において、一般に画像データ格納用メモリとしてＤＲＡＭが用いられている。近年、撮像装置における画像の高画質化に伴って、ＤＲＡＭに格納される画像データの量（データ量）が増加している。
【０００３】
ところで、画像データを複数の周波数帯域に分割して複数種類の画像データ（分割画像データともいう）をＤＲＡＭに格納し、当該分割画像データの各々に対して適切な画像処理を施すことが行われている。そして、周波数帯域毎に処理された分割画像データを周波数合成して、合成後の画像データについてノイズを低減するようにしている。
【０００４】
上述のような処理を行うと、不可避的にＤＲＡＭに格納される画像データのデータ量が増加するため、ＤＲＡＭに画像データを効率よく転送することが重要となる。
【０００５】
図８は、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）に対するデータの書き込みタイミングを説明するためのタイミングチャートである。そして、図８（ａ）は、同一のロウ（行）アドレス（同一のページ）に対して２回データの書き込みアクセスを行う場合のタイミングを示す図であり、図８（ｂ）は、同一のバンクにおける２つの異なるロウアドレス（ページ）にデータを書き込む場合のタイミングを示す図である。なお、図８においては、ＢＬ（バースト長：１回のアドレス指定により連続的アクセス可能なワード数）を「８」としている。
【０００６】
図８（ａ）に示すように、時刻Ｔ１において、ＡＣＴコマンド（Ｃｏｍｍａｎｄ）によりロウアドレス（Ａｄｄｒｅｓｓ）を指定する（ロウアドレス＝１）。そして、時刻Ｔ２において、ＷＲコマンドによりカラム（列）アドレス（カラムアドレス＝１）を指定して、８ワード分のデータ（Ｄａｔａ：Ｄ１〜Ｄ８）の書き込みが行われる。
【０００７】
時刻Ｔ３において、ＷＲコマンドによりカラムアドレス（カラムアドレス＝９）を指定して、次の８ワード分のデータ（Ｄ９〜Ｄ１６）の書き込みが完了する。
【０００８】
図８（ｂ）に示すように、時刻Ｔ１において、ＡＣＴコマンドによりロウアドレスを指定する（ロウアドレス＝１）。そして、時刻Ｔ２において、ＷＲコマンドによりカラムアドレス（カラムアドレス＝１）を指定して、８ワード分のデータ（Ｄ１〜Ｄ８）の書き込みが行われる。
【０００９】
ＤＲＡＭでは、同一バンクにおいて異なるロウアドレス（異なるページ）にデータを書き込む場合には、ＤＲＡＭに対するプリチャージコマンド（ページクローズ）、およびＡＣＴコマンド（ページオープン）が必要となる。
【００１０】
図８（ｂ）に示す例では、時刻Ｔ３においてプリチャージが行われ、時刻Ｔ４においてＡＣＴコマンドによりロウアドレスが指定されている（ロウアドレス＝２）。その後、時刻Ｔ５においてＷＲコマンドによりカラムアドレス（カラムアドレス＝１）が指定されて、８ワード分のデータ（Ｄ９〜Ｄ１６）の書き込みが行われている。
【００１１】
このように、同一バンクの異なるページに対するデータの書き込む回数（ページ切換え回数）が多くなると、その分プリチャージおよびＡＣＴコマンドが必要となる。その結果、ＤＲＡＭに対するアクセス効率が低下してしまうという問題がある。
【００１２】
従来、上述のような問題に対して、ページ切換え回数をできる限り少なくして、プリチャージ回数を減らし、ＤＲＡＭに対して効率良くアクセスするためのデータ転送手法が提案されている。
【００１３】
例えば、画像の一部を示す矩形領域データに対してＤＲＡＭにおける１ページうちの連続アドレスを割り付け、これによって、ＤＲＡＭに対して矩形領域データを書き込む際のプリチャージ回数を少なくすることが行われている（例えば、特許文献１参照）。
【００１４】
また、特許文献１においては、２つの矩形領域にまたがったデータを書き込む際に発生するプリチャージを抑えるため、隣接する矩形領域データが相互にＤＲＡＭの異なるバンクに格納されるようにアドレスを割り当てている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０００−３３０８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、特許文献１に記載のデータ転送においては、１種類のデータ（特許文献１においては、１つの矩形領域データ）をＤＲＡＭに書き込む際、別種類の複数のデータを同時にＤＲＡＭに書き込む（つまり、アクセスする）場合には、複数種類のデータを全て異なるバンクに格納する必要がある。
【００１７】
前述のように、１つ（１枚）の画像データから複数の周波数帯域分割画像データを生成するように、十数種類のデータが同時にＤＲＡＭに対してアクセスする可能性がある場合には、特許文献１に記載のデータ転送手法では、十数個のバンクを有するＤＲＡＭを用いる必要がある。このため、ＤＲＡＭに要するコストが増大してしまう。
【００１８】
さらに、１枚の画像データから得られた複数種類のデータを全て別のバンクに格納するとなると、画像データの管理が極めて複雑になってしまうという問題もある。
【００１９】
また、多くのバンクにまたがって１つ（１枚）の画像データが格納されると、他の画像データをＤＲＡＭに格納する際のアクセス制約が増大する。
【００２０】
複数種類の画像データが同時にＤＲＡＭに書き込まれる（つまり、アクセスする）場合には、ＤＲＡＭのコストおよびデータ管理を考慮すると、同一のバンクに複数種類の画像データを格納することが望ましい。
【００２１】
従って、本発明の目的は、メモリであるＤＲＡＭの同一バンクに複数種類のデータを同時に書き込む（アクセスする）際において、プリチャージの回数を抑えて、データを効率よく転送することのできるデータ転送装置、その制御方法、および制御プログラムを提供することにある。
【課題を解決するための手段】
【００２２】
上記の目的を達成するために、本発明によるデータ転送装置は、互いに異なる複数種類のデータをメモリに転送するデータ転送装置において、前記メモリには複数の転送領域が規定されており、前記複数種類のデータについて所定のデータ量を１つの単位として、当該１つの単位毎に前記複数種類のデータを前記転送領域に転送するメモリアクセス手段と、前記複数種類のデータについて前記所定のデータ量を設定する設定手段とを有することを特徴とする。
【００２３】
本発明による制御方法は、互いに異なる複数種類のデータを、複数の転送領域が規定されたメモリに転送するデータ転送装置を制御するための制御方法において、前記複数種類のデータについて所定のデータ量を１つの単位として、当該１つの単位毎に前記複数種類のデータを前記転送領域に転送するメモリアクセスステップと、前記複数種類のデータについて前記所定のデータ量を設定する設定ステップとを有することを特徴とする。
【００２４】
本発明による制御プログラムは、互いに異なる複数種類のデータを、複数の転送領域が規定されたメモリに転送するデータ転送装置を制御するための制御プログラムにおいて、前記データ転送装置に備えられたコンピュータに、前記複数種類のデータについて所定のデータ量を１つの単位として、当該１つの単位毎に前記複数種類のデータを前記転送領域に転送するメモリアクセスステップと、前記複数種類のデータについて前記所定のデータ量を設定する設定ステップとを実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ＤＲＡＭなどのメモリに複数種類のデータを転送して格納する際、プリチャージの回数を抑えて、データを効率よく転送することができるという効果がある。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態によるデータ転送装置が用いられた画像処理装置である撮像装置の一例を示すブロック図である。
【図２】図１に示すデータ転送制御装置を詳細に説明するためのブロック図である。
【図３】図２に示すデータ転送制御装置におけるＤＲＡＭへの画像データの格納およびその際のプリチャージ発生回数の一例について説明するための図であり、（ａ）はＤＲＡＭに画像データを格納する手法を説明するための図、（ｂ）はその際に生じるプリチャージの発生回数を説明するための図である。
【図４】図２に示すＷＲＤＭＡＣの各々についてそのデータ格納アドレス算出機能を説明するためのブロック図である。
【図５】図２に示すデータ転送制御装置における画像データのＤＲＡＭ転送を説明するためのフローチャートである。
【図６】図２に示すデータ転送制御装置においてオフセットデータ転送長設定機能が備えられていない場合のＤＲＡＭ転送を説明するためのフローチャートである。
【図７】図２に示すデータ転送制御装置におけるＤＲＡＭへの画像データの格納の他の例について説明するための図である。
【図８】ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）に対するデータの書き込みタイミングを説明するためのタイミングチャートであり、（ａ）は同一のロウ（行）アドレス（同一のページ）に対して２回データの書き込みアクセスを行う場合のタイミングを示す図、（ｂ）は同一のバンクにおける２つの異なるロウアドレス（ページ）にデータを書き込む場合のタイミングを示す図である。
【図９】従来技術におけるＤＲＡＭへの画像データの格納およびその際のプリチャージ発生回数について説明するための図であり、（ａ）はＤＲＡＭに画像データを格納する手法を説明するための図、（ｂ）はその際に生じるプリチャージの発生回数を説明するための図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態によるデータ転送装置の一例について、図面を参照して説明する。なお、以下の説明では、画像データを転送する場合について説明するが、画像データ以外のデータについても同様にして適用することができる。
【００２８】
（第１の実施形態）
図１は本発明の第１の実施形態によるデータ転送制御装置が用いられた画像処理装置である撮像装置の一例を示すブロック図である。
【００２９】
図１を参照して、図示の撮像装置は、結像光学部２０１を有しており、この結像光学部２０１はレンズおよび絞りなどを備えている。そして、撮影の際、結像光学部２０１はフォーカス調節および露出調節を行って撮像素子（例えば、ＣＣＤ）２０２に光学像を結像する。撮像素子２０２は光学像を電気信号（アナログ画像信号）に変換する。このアナログ画像信号はＡ／Ａ変換器２０３によってデジタル画像信号（画像データ）に変換される。
【００３０】
撮像装置は、第１および第２の画像処理部３０１および３３０、データ転送制御装置３１０、ＣＰＵ２０５、表示部（例えば、液晶モニタ）２０６、およびＤＲＡＭ（メモリ）３２０を有している。そして、これらはバスによって相互に接続されている。なお、ＣＰＵ２０５は撮像装置全体の制御を司る。なお、ＤＲＡＭ３２０には複数のページ（転送領域）が規定されている。
【００３１】
画像データ（つまり、撮影の結果得られた画像データ）は第１の信号処理部３０１に与えられ、ここでノイズ低減などの各種画像処理が施される。その後、画像データはデータ転送制御装置３１０に送られて、データ転送制御装置３１０はＤＲＡＭ（メモリ）３２０に対して画像データおよび各種制御データの書き込み／読み出しを行う。
【００３２】
データ転送制御装置３１０から第２の信号処理部３３０に対して画像データが送られて、画像データは再び第２の信号処理部３３０においてノイズ低減などの各種画像処理が施される。そして、第２の信号処理部３３０において生成された画像データは、例えば、ＣＰＵ２０５の制御下で画像として表示部２０に表示される。
【００３３】
図２は、図１に示すデータ転送制御装置３１０を詳細に説明するためのブロック図である。
【００３４】
図２を参照して、いま、第１の信号処理部３０１は、１０２４×７６８画素で、１画素＝８ｂｉｔの画像データを水平方向および垂直方向において１／２ダウンサンプリングする。これによって、第１の信号処理部３０１は、１０２４×７６８画素、５１２×３８４画素、および２５６×１９２画素（１画素＝８ｂｉｔ）の画像データを出力する。つまり、第１の信号処理部３０１は、撮影の結果得られた画像データを複数の周波数帯域に分割して複数種類の画像データとする。
【００３５】
以下の説明では、第１の信号処理部３０１が出力する１０２４×７６８画素の画像データをＸ１、５１２×３８４画像の画像データをＸ１／２、そして、２５６×１９２画素の画像データをＸ１／４で表すことにする。
【００３６】
ここで、画像データＸ１は入力画像データと同一の画像データであり、画像データＸ１／２は画像データＸ１を水平方向および垂直方向において１／２ダウンサンプリングした画像データである。また、画像データＸ１／４は画像データＸ１／２を水平方向および垂直方向において１／２ダウンサンプリングした画像データである。
【００３７】
図示のように、データ転送制御装置３１０は、第１〜第３の書込みダイレクトメモリアクセス制御部（ＷＲＤＭＡＣ：  Ｗｒｉｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）４０１〜４０３、メモリアクセス部４２０、および第１〜第３の読出しダイレクトメモリアクセス制御部（ＲＤＤＭＡＣ：Ｒｅａｄ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）４１１〜４１３を備えている。
【００３８】
データ転送制御装置３１０は、画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ（メモリ）３２０に格納する。ここで、画像データＸ１、Ｘ１／２、およびＸ１／４の各々は、１バイト（１Ｂｙｔｅ＝８ｂｉｔ）毎にデータ転送装置３１０に入力される。
【００３９】
データ転送制御装置３１０において、画像データＸ１、Ｘ１／２、およびＸ１／４の１ＢｙｔｅデータはそれぞれＷＲＤＭＡＣ４０１〜４０３に入力される。図示の例では、ＤＲＡＭ３２０は、２０４８カラムアドレス、４０９６ロウアドレス、そして、１ワード＝３２ｂｉｔの容量を有しており、８バースト転送が可能である。
【００４０】
ＤＲＡＭ３２０に対して８バースト転送を行うため、ＷＲＤＭＡＣ４０１〜４０３は、それぞれ画像データＸ１、Ｘ１／２、およびＸ１／４を３２Ｂｙｔｅ（＝３２ｂｉｔ×８バースト）単位（１つの単位毎）でメモリアクセス部４２０に出力する。メモリアクセス部４２０は、画像データ画像データＸ１、Ｘ１／２、およびＸ１／４について３２Ｂｙｔｅデータ、ロウアドレス、およびカラムアドレスをＤＲＡＭ３２０に出力する。これによって、メモリアクセス部４２０は画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に転送して格納する（書き込む）。
【００４１】
データ転送制御装置３１０は、ＤＲＡＭ３２０に格納された画像データＸ１、Ｘ１／２、およびＸ１／４を読み出して、第２の信号処理部３３０に出力する。具体的には、メモリアクセス部４２０は、ＤＲＡＭ３２０から８バースト転送で画像データＸ１、Ｘ１／２、およびＸ１／４を読み出して、当該画像データＸ１、Ｘ１／２、およびＸ１／４をＲＤＤＭＡＣ４１１〜４１３に出力する。
【００４２】
そして、ＲＤＤＭＡＣ４１１〜４１３は、それぞれ画像データＸ１、Ｘ１／２、およびＸ１／４を１Ｂｙｔｅ（バイト）単位で出力する。第２の信号処理部３３０は、画像データＸ１、Ｘ１／２、およびＸ１／４をアップサンプリングして合成し、１０２４×７６８画素（１画素＝８ビット）の画像データを出力する。
【００４３】
ここで、従来技術におけるＤＲＡＭへの画像データの格納およびその際のプリチャージ発生回数について説明する。
【００４４】
図９は、従来技術におけるＤＲＡＭへの画像データの格納およびその際のプリチャージ発生回数について説明するための図である。そして、図９（ａ）はＤＲＡＭに画像データを格納する手法を説明するための図であり、図９（ｂ）はその際に生じるプリチャージの発生回数を説明するための図である。
【００４５】
図９（ａ）において、いま、８バースト転送分の３２Ｂｙｔｅを１ブロックとすると、画像データＸ１は３２（＝１０２４／３２）×７６８ブロック、画像データＸ１／２は１６（＝５１２／３２）×３８４ブロック、画像データＸ１／４は８（＝２５６／３２）×１９２ブロックとなる。
【００４６】
つまり、画像データＸ１の総ブロック数は２４５７６（＝３２×７６８）ブロック、画像データＸ１／２の総ブロック数は６１４４（＝１６×３８４）ブロック、画像データＸ１／４の総ブロック数は１５３６（＝８×１９２）ブロックとなる。そして、画像データＸ１、Ｘ１／２、およびＸ１／４の各々は１ブロック単位（１つの単位）でＤＲＡＭ３２０に格納される。
【００４７】
図９（ａ）に示す画像データのＤＲＡＭ格納手法は、１ページに１種類の画像データを格納する手法であり、ロウアドレス１〜９６で指定される領域に画像データＸ１が格納され、ロウアドレス１０１〜１２４で指定される領域に画像データＸ１／２が格納される。また、ロウアドレス１３１〜１３６で指定される領域に画像データＸ１／４が格納される。
【００４８】
図９（ｂ）では、メモリアクセス部４２０がＷＲＤＭＡＣ４０１〜４０３から受信する画像データＸ１、Ｘ１／２、およびＸ１／４の受信順番が示されている。第１の信号処理部３０１に入力画像データの始めの水平１ライン目１０２４画素（＝３２ブロック）が入力されると、第１の信号処理部３０１は、画像データＸ１について３２ブロック、画像データＸ１／２について１６ブロック、そして、画像データＸ１／４について８ブロック分の水平１ラインデータを生成する。
【００４９】
ここで、画像データＸ１／２は画像データＸ１を水平方向に１／２間引いた画像データであるから、画像データＸ１が２ブロック出力される期間中に、画像データＸ１／２については１ブロック出力される。また、画像データＸ１／４は画像Ｘ１／２を水平方向に１／２間引いた画像データであるから、画像データＸ１／２が２ブロック出力される期間中に、画像データＸ１／４については１ブロック出力される。
【００５０】
第１の信号処理部３０１に入力画像データの水平２ライン目が入力されると、画像データＸ１について水平１ラインデータが生成される。一方、画像データＸ１／２は画像データＸ１を垂直方向に１／２間引いた画像データであるから、画像データＸ１／２については水平１ラインデータが生成されない。同様に、画像データＸ１／４は画像データＸ１／２を垂直方向に１／２間引いた画像データであるから、画像データＸ１／４については水平１ラインデータが生成されない。
【００５１】
第１の信号処理部３０１に入力画像データの水平３ライン目が入力されると、画像データＸ１およびＸ１／２については水平１ラインデータが生成される。一方、画像データＸ１／４は画像データＸ１／２を垂直方向に１／２間引いた画像データであるから、画像データＸ１／４については水平１ラインデータが生成されない。
【００５２】
第１の信号処理部３０１に入力画像データの水平４ライン目が入力されると、画像データＸ１については水平１ラインデータが生成される。一方、画像データＸ１／２およびＸ１／４はそれぞれ画像データＸ１およびＸ１／２を垂直方向に１／２間引いた画像データであるから、画像データＸ１／２およびＸ１／４については水平１ラインデータが生成されない。
【００５３】
このように、水平４ラインまでにおいて、画像データＸ１、Ｘ１／２、およびＸ１／４の出力頻度比率（出現頻度比率ともいう）は、Ｘ１：Ｘ１／２：Ｘ１／４＝１６：４：１となる。そして、水平５ライン目以降についても水平１〜４ラインと同一の頻度で画像データＸ１、Ｘ１／２、およびＸ１／４が出力される。
【００５４】
このため、水平５ライン目以降の画像データＸ１、Ｘ１／２、およびＸ１／４の出力頻度も、水平４ライン単位でＸ１：Ｘ１／２：Ｘ１／４＝１６：４：１となる。
【００５５】
ここで、３種類の画像データＸ１、Ｘ１／２、およびＸ１／４を、図９（ａ）に示すようにしてＤＲＡＭ３２０に格納すると、異なる種類の画像データを格納する際に必ずページ切換えが発生する。このため、プリチャージ処理を行う必要がある。
【００５６】
図９（ｂ）に示すように、水平４ライン分（１ライン目〜４ライン目）が入力された際に生成される画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納すると、プリチャージ処理は合計７２回発生することになる。したがって、１０２４×７６８画素の入力画像データに対しては、プリチャージ処理を１３８２４回（＝７２×７６８／４）行う必要がある。
【００５７】
図３は、図２に示すデータ転送制御装置３１０におけるＤＲＡＭ３２０への画像データの格納およびその際のプリチャージ発生回数について説明するための図である。そして、図３（ａ）はＤＲＡＭに画像データを格納する手法を説明するための図であり、図３（ｂ）はその際に生じるプリチャージの発生回数を説明するための図である。
【００５８】
図３（ａ）において、ここでは、１ページ（１つの転送領域）に複数の画像データＸ１、Ｘ１／２、およびＸ１／４を格納するものとする。そして、１ページに格納する画像データＸ１、Ｘ１／２、およびＸ１／４の比率は出力頻度比率と同一の１６：４：１とする。
【００５９】
画像データＸ１、Ｘ１／２、およびＸ１／４の出力頻度比率（出現頻度比率）は、入力画像データの水平４ライン単位において１６：４：１となる。このため、水平４ライン分のデータ量を１ページ（１つの転送領域）に格納している。
【００６０】
そして、次の水平４ライン分の画像データが入力された際に生成される画像データＸ１、Ｘ１／２、およびＸ１／４は次ページ（次の転送領域、つまり、１つの転送領域に続く転送領域）に格納される。以降、水平４ライン分の画像データが入力された際に生成される画像データＸ１、Ｘ１／２、およびＸ１／４を１つの単位とし、画像データの全てがＤＲＡＭ３２０に格納されるまで、ページ毎に画像データＸ１、Ｘ１／２、およびＸ１／４が格納される。
【００６１】
図３（ｂ）には、メモリアクセス部４２０（図２）がＷＲＤＭＡＣ４０１〜４０３から受信する画像データＸ１、Ｘ１／２、およびＸ１／４の受信順番が示されている。図３（ｂ）に示すデータ受信順番は図９（ｂ）に示す順番と同一である。
【００６２】
図３（ａ）で説明したようにして、この画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納すると、入力画像データの水平４ライン分が入力された際に生成される画像データＸ１、Ｘ１／２、およびＸ１／４がＤＲＡＭ３２０に格納する間ではページ切換えが発生しない。このため、プリチャージ処理を行う必要はない。
【００６３】
そして、入力画像データの水平５ライン目が入力された際に生成される画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納する際に、プリチャージ処理を１回行えばよい。したがって、１０２４×７６８画素の入力画像データに対しては、１９２回（＝７６８／４）のプリチャージ処理を行うだけでよいことになる。
【００６４】
このように、図３（ａ）に示すように、画像データの格納を行えば、プリチャージ処理の回数を少なくすることができる。その結果、画像データを効率よくＤＲＡＭ３２０に転送することができる。また、画像データを読み出す際においても、ＤＲＡＭ３２０に対して、書込みと同様のアクセスを行えば、画像データを効率よくＤＲＡＭ３２０から読み出すことができる。
【００６５】
図４は、図２に示すＷＲＤＭＡＣ４０１〜４０３の各々についてそのデータ格納アドレス算出機能を説明するためのブロック図である。
【００６６】
図１、図２、および図４を参照すると、ＷＲＤＭＡＣ４０１〜４０３の各々は、アドレスセレクタ４０１、転送長カウンタ４０２、オフセット値算出器４０３、加算器４０４、およびフリップフロップ４０５を有している。
【００６７】
ＷＲＤＭＡＣ４０１〜４０３の各々は、画像データを転送すると格納アドレス値をジャンプさせるオフセット機能を備えている。ＣＰＵ２０５は、ＷＲＤＭＡＣ４０１〜４０３に対して、スタートアドレス、オフセットデータ転送長、オフセット値、およびバースト長を設定する。ここで、オフセットデータ転送長が所定のデータ量である。
【００６８】
アドレスセレクタ４０１は、データ格納開始の際、ＣＰＵ２０５に設定されたスタートアドレスをアドレス値として選択する。図示の例において、画像データＸ１、Ｘ１／２、およびＸ１／４の「スタートロウアドレス、スタートカラムアドレス」は、それぞれ画像データＸ１が「１、１」、画像データＸ１／２が「１、１０２５」、画像データＸ１／４が「１、１２８１」となる。
【００６９】
転送長カウンタ４０２は、転送データ長をカウントして、ＣＰＵ２０５に設定されたオフセットデータ転送長の画像データを転送する毎に、オフセット値算出器４０３にオフセットタイミング信号を出力する。図示の例では、ＣＰＵ２０５は、入力画像データの水平４ライン分が入力された際に生成される画像データＸ１、Ｘ１／２、およびＸ１／４のデータ量をオフセット転送長として設定する。
【００７０】
具体的には、画像データＸ１に係るオフセット転送長が４０９６Ｂｙｔｅ（１０２４×４ライン）となる。また、画像データＸ１／２に係るオフセット転送長が１０２４Ｂｙｔｅ（５１２×２ライン）となり、画像データＸ１／４に係るオフセット転送長が２５６Ｂｙｔｅ（２５６×１ライン）となる。
【００７１】
転送長カウンタ４０２からオフセットタイミング信号を受信すると、オフセット値算出器４０３は、ＣＰＵ２０５に設定されたオフセット値を出力し、それ以外のタイミングではＣＰＵ２０５に設定されたバースト長を出力する。図示の例では、ＣＰＵ２０５は、ロウアドレスついては現在のロウアドレス値に「１」を加算した値、カラムアドレスについてはスタートカラムアドレスとなるようにオフセット値を設定する。これによって、オフセットタイミングにおいてアドレスは次ページへとジャンプする。さらに、図示の例では、ＣＰＵ２０５は、「８」をバースト長として設定する。
【００７２】
加算器４０４は、オフセット値算出器４０３から出力された値を現在のアドレス値に加算して、次の画像データを格納するアドレス値を生成する。アドレスセレクタ４０１は、８バースト長の画像データが転送される毎に、加算器４０４が出力する値を現在のアドレス値として選択する。そして、この現在のアドレス値はフリップフロップ４０４で保持される。
【００７３】
図５は、図２に示すデータ転送制御装置３１０における画像データＸ１、Ｘ１／２、およびＸ１／４のＤＲＡＭ転送を説明するためのフローチャートである。
【００７４】
図１、図２、図４、および図５を参照して、ＣＰＵ２０５は、ＷＲＤＭＡＣ４０１〜４０３に対して、スタートアドレス、オフセットデータ転送長、オフセット値、およびバースト長を設定する（ステップＳ５０１）。ＣＰＵ２０５は、データ転送制御装置３１０に対してＤＲＡＭ３２０への画像データ転送開始を指示する（ステップＳ５０２）。そして、ＣＰＵ２０５は全画像データのＤＲＡＭ転送が終了したか否かを監視する（ステップＳ５０３）。
【００７５】
全画像データのＤＲＡＭ転送が終了しないと（ステップＳ５０３において、ＮＯ）、ＣＰＵ２０５は待機する。一方、全画像データのＤＲＡＭ転送が終了すると（ステップＳ５０３において、ＹＥＳ）、つまり、データ転送制御装置３１０から転送完了を報知されると、ＣＰＵ２０５はＤＲＡＭ転送制御を終了する。
【００７６】
このように、第１の実施形態では、ＤＲＡＭ３２０の同一バンクに対して複数種類のデータを同時に書き込み又は読み出す（アクセスともいう）場合においても、プリチャージの回数を抑えることができる。この結果、画像データを効率よくＤＲＡＭに転送することができる。
【００７７】
なお、第１の実施形態においては、画像データの書き込みを行った後、画像データの読み出しを行う場合について説明したが、画像データの書き込みおよび読み出しを並列して行うようにしてもよい。
【００７８】
また、第１の実施形態においては、３種類の画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納するようにしたが、複数種類の画像データ又はデータであれば、同様にして適用することができる。そして、上述の例では、３種類の画像データＸ１、Ｘ１／２、およびＸ１／４の出力頻度を１６：４：１としたが、出力頻度比率はこの例に限定されず、他の出力頻度比率であってもよい。
【００７９】
加えて、上述の例では、入力画像画像データの画素数を１０２４×７６８（１画素＝８ｂｉｔ）、ＤＲＡＭ３２０の容量を２０４８×４０９６（１ワード＝３２ｂｉｔ）としたが、これに限定されず、他の画素数およびＤＲＡＭ容量であってもよい。さらに、上述の例では、画像データを８バースト長でＤＲＡＭ３２０に書き込むようにしたが、８バースト長以外のバースト長においてＤＲＡＭ３２０にアクセスするようにしてもよい。
【００８０】
また、第１の実施形態では、データ転送制御装置にオフセットデータ転送長を設定し、所定の量の画像データを転送すると、アドレス値をジャンプさせるようにしたが、必ずしもデータ転送制御装置がオフセットデータ転送長を設定する機能を有していなくともよい。
【００８１】
例えば、１ページに格納する画像データを１回のバースト転送によってＤＲＡＭ３２０に転送可能であれば、１回のバースト転送毎に次ページに画像データを格納していくようにしてもよい。ここでは、バースト長が所定のデータ量を表すことになる。
【００８２】
図６は図２に示すデータ転送制御装置においてオフセットデータ転送長設定機能が備えられていない場合のＤＲＡＭ転送を説明するためのフローチャートである。
【００８３】
図１、図２、および図６を参照して、まず、ＣＰＵ２０５は、ＷＲＤＭＡＣ４０１〜４０３に対して、スタートアドレス、オフセット値、およびバースト長を設定する（ステップＳ６０１）。図示の例では、バースト長として、入力画像データの水平４ライン分が入力された際に生成される画像データのデータ量（所定のデータ量）が設定される。
【００８４】
また、オフセット値については、ロウアドレスとして現在のロウアドレス値に「１」を加算した値が設定され、カラムアドレスとしてスタートカラムアドレスが設定される。
【００８５】
続いて、ＣＰＵ２０５は、データ転送制御装置３１０にＤＲＡＭ３２０に対する画像データの転送開始を指示する（ステップＳ６０２）。そして、ＣＰＵ２０５は全画像データのＤＲＡＭ転送が終了したか否かを監視する（ステップＳ６０３）。データ転送制御装置３１０は、ＤＲＡＭ転送の際、１ページに格納する画像データを１回のバースト転送によってＤＲＡＭ３２０に転送する。つまり、データ転送制御装置３１０は、水平ライン分の画像データを１ページに格納すると、続く水平ライン分の画像データを次のページに格納する。
【００８６】
全画像データのＤＲＡＭ転送が終了しないと（ステップＳ６０３において、ＮＯ）、ＣＰＵ２０５は待機する。一方、全画像データのＤＲＡＭ転送が終了すると（ステップＳ６０３において、ＹＥＳ）、つまり、データ転送制御装置３１０から転送完了を報知されると、ＣＰＵ２０５はＤＲＡＭ転送制御を終了する。
【００８７】
（第２の実施形態）
続いて、本発明の第２の実施形態によるデータ転送制御装置について説明する。なお、第２の実施形態において、撮像装置の構成およびデータ転送制御装置の構成は第１の実施形態と同様であり、さらに、ＤＲＡＭ転送制御についても第１の実施形態と同様であるので、説明を省略する。
【００８８】
第１の実施形態で説明したようにして、画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納した場合、画像データＸ１、Ｘ１／２、およびＸ１／４が格納された１ページにおいて、画像データが格納されていない領域（隙間領域と呼ぶ）が形成される可能性がある。
【００８９】
そこで、第２の実施形態では、データ量の多い画像データの出力頻度比率のみを考慮して１ページに画像データを格納して、１ページの残りの領域にデータ量の少ない画像データを隙間領域が形成されないように格納する。これによって、ＤＲＡＭの容量を効率よく使用する。
【００９０】
図７は、図２に示すデータ転送制御装置におけるＤＲＡＭへの画像データの格納の他の例について説明するための図である。
【００９１】
図１、図２、および図７を参照して、ここでは、前述のように、画像データＸ１およびＸ１／２データの出力頻度比率のみを考慮し、画像データＸ１／４についてはその出力頻度比率は考慮せずに画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納する。ここで、ＤＲＡＭ３２０の１ページに格納する画像データＸ１およびＸ１／２のデータ量の比率は、出力頻度比率と同様の４：１とする。そして、画像データＸ１およびＸ１／２の出力頻度比率は、入力画像データの水平２ライン単位で４：１となる。したがって、水平２ライン分のデータ量の倍数である水平６ライン分のデータ量について、画像データＸ１およびＸ１／２が１ページに格納される。
【００９２】
図示の例では、１ページについて、ロウアドレス”１”〜”９６”の領域の残りの領域に画像データＸ１／４が隙間領域が形成されないように格納される。このように、画像データＸ１およびＸ１／２データの出力頻度比率のみを考慮して、画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納すると、画像データＸ１およびＸ１／２を格納する際のプリチャージ回数を抑えつつ、１ページにおける隙間領域も減らすことができる。
【００９３】
画像データＸ１／４を格納する際には、プリチャージが発生するものの、画像データＸ１／４は、画像データＸ１およびＸ１／２と比較してデータ量が少ないので、プリチャージによる影響を極力抑えることができる。
【００９４】
また、画像データを読み出す際においても、ＤＲＡＭ３２０に対して同様にアクセスを行えば、画像データを効率よく読み出すことができる。この例で説明したデータ格納手法では、ＤＲＡＭ３２０に画像データが格納されない領域（隙間領域）を少なくすることができる。このため、プリチャージ回数を削減するとともに、ＤＲＡＭ容量の削減の両立を図りたい場合に特に有効である。このように、第２の実施形態では、ＤＲＡＭ３２０の１ページに格納する画像データＸ１／４のデータ量が、前述の出力頻度の比率と一致しないことになる。
【００９５】
以上のように、第２の実施形態によれば、ＤＲＡＭにおいて画像データが格納されない隙間領域を少なくすることができ、かつ、プリチャージの回数も抑えることができる。この結果、ＤＲＡＭ容量を効率的に使用しつつ、画像データも効率よく転送することができる。
【００９６】
なお、第２の実施形態においても、第１の実施形態と同様に、画像データの書き込みと読み出しとを並列して行ってもよい。また３種類の画像データＸ１、Ｘ１／２、およびＸ１／４をＤＲＡＭ３２０に格納する例について説明したが、複数種類の画像データをＤＲＡＭ３２０に格納する場合に、同様に適用することができる。
【００９７】
さらに、３種類の画像データＸ１、Ｘ１／２、およびＸ１／４の出力頻度比率は１６：４：１に限られず、他の出力頻度比率であっても同様にして適用することができる。そして、入力画像データの画素数を１０２４×７６８（１画素＝８ｂｉｔ）、ＤＲＡＭの容量を２０４８×４０９６（１ワード＝３２ｂｉｔ）としたが、これに限定されず、他の入力画素数およびＤＲＡＭ容量であってもよい。
【００９８】
加えて、画像データを８バースト長でＤＲＡＭに書き込むようにしたが、８バースト長以外のバースト長でＤＲＡＭにアクセスするようにしてもよい。さらに、画像データＸ１／４の出力頻度比率を考慮する必要がないので、画像データＸ１およびＸ１／２をＤＲＡＭ３２０に格納した際に生じる残りの領域であれば、第２の実施形態と異なる領域に画像データＸ１／４を格納するようにしてもよい。また、第２の実施形態によるデータ転送制御装置においても、特にオフセットデータ転送長を設定する機能を備える必要はない。
【００９９】
上述の説明から明らかなように、図１において、ＣＰＵ２０５が設定手段として機能し、ＣＰＵ２０５およびデータ転送制御装置３１０がメモリアクセス手段として機能する。また、ここでは、ＣＰＵ２０５およびデータ転送制御装置３１０がデータ転送装置を構成する。
【０１００】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０１０１】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、データ転送装置に実行させるようにすればよい。また、上述の実施の形態の機能を有する制御プログラムを、データ転送装置が備えるコンピュータに実行させるようにしてもよい。
【０１０２】
この際、制御方法及び制御プログラムの各々は、少なくともメモリアクセスステップおよび設定ステップを有することになる。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１０３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０４】
２０５  ＣＰＵ
３０１，３３０  信号処理部
３１０  データ転送制御装置
３２０  ＤＲＡＭ
４０１〜４０３  書込みダイレクトメモリアクセス制御部（ＷＲＤＭＡＣ）
４１１〜４１３  読出しダイレクトメモリアクセス制御部（ＲＤＤＭＡＣ）
４２０  メモリアクセス部
【図１】
2012128575.tif 000003
【図２】
2012128575.tif 000004
【図３】
2012128575.tif 000005
【図４】
2012128575.tif 000006
【図５】
2012128575.tif 000007
【図６】
2012128575.tif 000008
【図７】
2012128575.tif 000009
【図８】
2012128575.tif 000010
【図９】
2012128575.tif 000011