JP2016091205A - 画像処理装置、画像処理装置の制御方法およびプログラム - Google Patents
画像処理装置、画像処理装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP2016091205A JP2016091205A JP2014223254A JP2014223254A JP2016091205A JP 2016091205 A JP2016091205 A JP 2016091205A JP 2014223254 A JP2014223254 A JP 2014223254A JP 2014223254 A JP2014223254 A JP 2014223254A JP 2016091205 A JP2016091205 A JP 2016091205A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- frame
- address
- pixel position
- storage area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/21—Intermediate information storage
- H04N1/2104—Intermediate information storage for one or a few pictures
- H04N1/2112—Intermediate information storage for one or a few pictures using still video cameras
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Memory System (AREA)
- Studio Devices (AREA)
Abstract
【課題】マルチレート信号処理によるノイズ低減処理を複数フレームの画像データに連続的に行う際に、高いメモリアクセス効率を実現する。【解決手段】画像処理装置は、各フレームに対し、第1の解像度の画像データから異なる画素数の第2の画像データを生成して第1および第2の画像データを第1の順序で出力し、第1および第2の画像データに、第1の順序とは異なる第2の順序で所定の処理を行い、第1および第2の順序に従って、出力された画像データのメモリへの書き込みと、処理された画像データのメモリからの読み出しをフレーム単位で制御し、第1のフレームにおける読み出しアドレスと、第1のフレームの次の第2のフレームの書き込みアドレスは、メモリの第1の記憶領域のアドレスであり、第2のフレームにおける書き込みアドレスは第1のフレームにおける読み出しが行われた読み出しアドレスとする。【選択図】図1
Description
本発明は、画像データをDRAM等のメモリに転送を行う画像処理装置および画像処理装置の制御方法に関する。
デジタルカメラ等の撮像装置で用いられる画像処理装置では、画素補間、ホワイトバランス、シャープネス、ノイズ低減、縮小/拡大等の画像処理が実施される。例えば、ノイズ低減処理の一例として、マルチレート信号処理がある。本処理は、画像データを複数の周波数帯域に分割して複数種類の画像データを作成し、その後、各画像データに適切なフィルタ処理を施し、周波数帯域毎に処理された画像データを再び周波数合成する技術である。このような処理では、複数種類の画像データの読み書きのためメモリへのアクセス頻度が多くなり、処理時間削減のためにはメモリに画像データを効率よく転送する必要がある。
一般に、画像データ格納用メモリとしては、DRAM(Dynamic Random Access Memory)が用いられている。DRAMは、複数個から成るバンクを有し、同一バンクの異なるロウアドレス(異なるページ)へアクセスする場合、プリチャージコマンド(ページクローズ)、及びアクティブコマンド(ページオープン)を発行する必要がある。これらのコマンドの実行中には、同一バンクへのアクセスを行えない。このため、同一バンクの異なるページに対してのアクセス回数(ページ切換え回数)が多くなると、その分、プリチャージコマンド及びアクティブコマンドの発行が必要となり、DRAMに対するアクセス効率が低下してしまうという問題がある。
従来、上述のような問題に対して、ページ切換え回数をできる限り少なくして、プリチャージ回数を減らし、DRAMに対して効率良くアクセスするためのデータ転送手法が提案されている。例えば、特許文献1では、メモリに格納された複数ラインの画像データにアクセスする際にロウアドレスが等しい複数のラインの画像データのアクセスを連続して行わせることで、プリチャージの回数を減らす技術が開示されている。
しかしながら、前記のようなマルチレート信号処理を用いたノイズ低減処理を、複数フレームの画像データに連続して実施する場合、同時にメモリに対して複数種類の画像データの読み書きを行う必要がある。また、複数種類の画像データのメモリへの書き込み及び読み出しを行う際に、決められた順番で画像データを処理する必用がある場合等は、従来開示されている技術のように、DRAMの同一バンクのロウアドレスが等しいラインへのアクセスを連続して行わせることが困難である。したがって、複雑なメモリアクセスを要するマルチレート信号処理を用いたノイズ低減処理では、同一バンクの異なるページにランダム的にアクセスが発生し、DRAMのアクセス効率が低下するといった問題がある。
本発明は、上記課題を鑑みて成されたものである。本発明の目的は、マルチレート信号処理を用いたノイズ低減処理を複数フレームの画像データに対して連続的に行う際に、プリチャージの発生回数を抑制し、メモリアクセス効率の高い制御を実現する画像処理装置を提供することである。
上記課題を達成するために、本発明に係る画像処理装置は、複数フレームの第1の画像データを取得する取得手段と、各フレームについて、第1の画像データとは異なる画素数の第2の画像データを、第1の画像データから生成し、第1および第2の画像データを第1の順序で出力する第1の処理手段と、各フレームの第1および異なるサイズの画像データに、第1の順序とは異なる第2の順序で所定の処理を行う第2の処理手段と、複数の記憶領域を有するメモリ手段と、第1の処理手段および第2の処理手段とメモリ手段との間の画像データの転送を制御するメモリ制御手段とを備え、メモリ制御手段は、第1および第2の順序に従って、第1の処理手段から出力された画像データのメモリ手段への書き込みと、第2の処理手段が処理する画像データのメモリ手段からの読み出しをフレーム単位で制御し、第1のフレームにおける読み出しアドレスと、第1のフレームの次の第2のフレームにおける書き込みアドレスは、第1の記憶領域のアドレスであり、第2のフレームにおける書き込みアドレスは第1のフレームにおける読み出しが行われた読み出しアドレスであることを特徴とする。
本発明に係る画像処理装置によれば、マルチレート信号処理を用いたノイズ低減処理を複数フレームの画像データに対して連続的に行う際に、プリチャージの発生回数を抑制し、メモリアクセス効率の高い画像処理制御を実現することが可能となる。
以下、添付図面を参照して、本発明を実施するための最良の実施の形態を説明する。
[第1の実施例]
図1は、本発明の第1の実施例に係る画像処理装置を適用したデジタルカメラ等の撮像装置のブロック図である。同図において、結像光学部101はレンズおよび絞りなどを備えており、撮影の際、結像光学部101はフォーカス調節および露出調節を行い、撮像素子102に光学像を結像する。撮像素子102は、光学像を電気信号(アナログ画像信号)に変換する光電変換機能を有し、CCDやCMOSセンサ等で構成される。A/D変換部103は撮像素子102からのアナログ画像信号をデジタル画像信号に変換する。
図1は、本発明の第1の実施例に係る画像処理装置を適用したデジタルカメラ等の撮像装置のブロック図である。同図において、結像光学部101はレンズおよび絞りなどを備えており、撮影の際、結像光学部101はフォーカス調節および露出調節を行い、撮像素子102に光学像を結像する。撮像素子102は、光学像を電気信号(アナログ画像信号)に変換する光電変換機能を有し、CCDやCMOSセンサ等で構成される。A/D変換部103は撮像素子102からのアナログ画像信号をデジタル画像信号に変換する。
CPU112は、画像処理装置を含む撮像装置全体の制御を司るマイクロコンピュータ等で構成され、各機能ブロックに対して動作指示を行い、各種の制御処理を実行する。バス114はシステムバスであり、バス115は画像データバスである。なお、複数のCPUによりは制御を分担するようにしてもよい。
DRAM(メモリ)107及び117は、データを記憶するメモリで、所定枚数の静止画像や所定時間の動画像、音声等のデータやCPU112の動作用の定数、プログラム等を格納するのに十分な記憶容量を備える。メモリ制御部106は、CPU112或いはデータ転送部105からの指示に応じて、DRAM107、117の複数の記憶領域(バンク)へのデータ書き込み及びデータ読み出しを行う。
不揮発性メモリ制御部108は、CPU112からの指示に応じて、ROM(不揮発性メモリ)109にデータの書き込み及び読み出しを行う。ROM109は、電気的に消去・記録可能なメモリであり、EEPROM等が用いられる。ROM109には、CPU112の動作用の定数、プログラム等が記憶される。
CPU112は、バス114を介して画像処理部104、データ転送部105、メモリ制御部106、不揮発性メモリ制御部108、表示制御部110、操作部113、撮像素子102を制御する。マイクロコンピュータの実行は、ROM109に記録されたプログラムを実行することにより、本実施例の各処理を実現する。
データ転送部105は、データ転送を行う複数のDMAC(Direct Memory Access Controller)で構成されている。データ転送部105は、4つの書き込み専用ダイレクトメモリアクセスコントローラWRDMAC0 201、WRDMAC1 203、WRDMAC2 206、WRDMAC3 211を備える。データ転送部105は、4つの読み出し専用ダイレクトメモリアクセスコントローラRDDMAC0 202、RDDMAC1 204、RDDMAC2 205、RDDMAC3 210を備える。各DMACでは、DRAM107の読み出し又は書き込みを行うアドレス値の生成や、アクセスを開始するスタートアドレスや、データ転送長等の管理・制御を行っている。アドレス値の生成制御はスタートアドレスからインクリメントする制御とスタートアドレスからデクリメントする制御を備える。また、オフセット値を設定することで、DRAM107にアクセスする際に所定のアドレス値を飛ばして読み書きを行うことができる。データ転送長の制御は、1回のアドレス指定により連続してアクセス可能なワード数をバースト長として設定する。なお、本実施例に係る画像処理装置では1ワード1Byteでバースト長を16ワードに設定しており、1画素16bit換算で1回の転送で8画素の転送が成される。
画像処理部104は、第1画像処理部121、画像縮小処理部122、画像拡大合成処理部123、第2画像処理部124及びバッファメモリ(不図示)から構成される。
第1画像処理部121では、A/D変換部103から出力された画像データに対して画素補正、黒レベル補正、シェーディング補正、傷補正、倍率色収差補正等の処理を行う。第2画像処理部124は、画像データの圧縮伸長処理、拡大縮小等のリサイズ処理やフォーマット変換処理、現像処理や歪み補正等の処理を行う。
画像処理部104で処理された画像データは、データ転送部105の各WRDMACを経由してバス115に出力され、メモリ制御部106によりDRAM107、117に書き込まれる。DRAM107、117に格納された画像データは、メモリ制御部106により読み出され、バス115に出力され、データ転送部105の各RDDMACを経由して画像処理部104に転送される。第1画像処理部121には、画像データのDRAM117への出力用にWRDMAC0 201が接続されている。縮小処理部122には、DRAM107、117からの画像データの入力用にRDDMAC0 202が、画像データの出力用にWRDMAC1 203が接続されている。同様に、画像拡大合成処理部123には、RDDMAC1 204及びRDDMAC2 205,WRDMAC2 206が接続されている。第2画像処理部124には、RDDMAC3 210、WRDMAC3 211が接続されている。
縮小処理部122は、ノイズ低減処理の前処理として、取得された画像データから、異なる周波数帯域の複数の画像データを生成する処理を行う。なお、ノイズ低減処理の前処理は、異なる周波数帯域の画像データを生成しないで単一の周波数の画像データを生成することも可能であり、本実施例では、入力された画像データに対して、縮小処理を行った単一の周波数の画像データを一つDRAM107に出力する。
拡大処理部123は、ノイズ低減処理の後処理として、DRAM107に格納された、異なる周波数帯域の複数の画像データに対して適切なフィルタ処理を施し、DRAM107に出力する。その後、フィルタ処理後の画像データを再度DRAM107から読み出して拡大処理を行い、画像縮小処理部122での処理後の画像データに対してノイズ低減処理を施した画像と合成処理を行い、DRAM107に出力する。
なお、縮小処理部122及び拡大処理部123は、画像データを格納するためのラインバッファを有している。ラインバッファを利用して、処理対象の画像データの複数ラインを一時的に格納して、処理するライン順番の入れ替えや、ラインの終端画素位置や転送データ長の終端画素位置から各処理部に入出力させる等の処理を行う。
表示部111は、液晶モニタ等から成り、表示制御部110により制御され、各種画像データ等を表示部111に表示する。操作部113は、ユーザーにより操作されるスイッチやボタン等を含み、電源のON/OFF、シャッターのON/OFF等の操作に使用される。
以下において、本実施例に係る画像処理装置の要部のより詳細な構成および処理動作について図2から図9を参照して説明する。
図2は、本実施例に係る画像処理装置の備える画像処理部104、データ転送部105、DRAM107、117を詳細に説明するためのブロック図である。図2において、第1画像処理部121により処理された画像データがWRDMAC0 201により、DRAM117に記憶される。DRAM117に記憶された画像データは、RDDMAC0 202により読み出され、縮小処理部122に送られる。図2において、データ転送部105の備えるアドレス制御部210は、WRDMAC1 203とRDDMAC1 204で生成されるDRAM107、117に対する書き込みアドレス値と読み出しアドレス値をフレーム単位で調停している。WRDMAC1 203により生成される、縮小処理部122からの画像データの書き込みアドレス値が、RDDMAC1 204で生成される、拡大処理部123への画像データの読み出しアドレス値を追い越さないように制御する。具体的には、各DMACがアドレス値をインクリメント制御している場合は、(WRDMAC1 203の書き込みアドレス値)<(RDDMAC1 204の読み出しアドレス値)の関係が維持される。一方、各DMACがアドレス値をデクリメント制御している場合は、(WRDMAC1 203の書き込みアドレス値)>(RDDMAC1 204の読み出しアドレス値)の関係が維持される。また同時に、DRAM107の同一バンクの同一ページ内で、画像データの読み出しと画像データの書き込みが実施され、読み出しアドレス値と書き込みアドレス値の間隔がアドレス制御部210に設定された所定値を超えないように制御を行う。これにより、DRAMの同一バンクの同一ページに書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
図3は、DRAM107へのノイズ低減処理に係る画像データのメモリ配置を示す図である。図3に示されるようにDRAM107は、容量128メガバイト(MB)で、8バンク構成となっており、バンクの各ページは1024Byteの容量を有している。1アドレスにつき1Byteのデータを格納できるメモリ領域を有する。DMACの生成するアドレスに対して、DRAM107のバンク番号0の先頭アドレスは0x0000_0000、バンク番号4の先頭アドレスは0x0000_1000、バンク番号6の先頭アドレスは0x0000_1800が対応する。
縮小処理部122から出力される各画像データは、バンク番号0〜3(図2中の150)に格納される。また、拡大処理部123から出力される、ノイズ低減処理された第2画像データ及び第3画像データは、バンク番号4,5(151)に格納される。ノイズ低減処理の最終処理データであるノイズ低減処理済の画像データ(以下、第1NR(Noise Reduced)画像データ)は、バンク番号6,7(152)に格納される。
なお、バンク番号0〜3に対して各画像データを読み書きする際に、DMACで生成するアドレス値は0x0000_0000からインクリメントされ、バンク番号3における同一ロウアドレスの終端部であるアドレス0x0000_0FFFまで到達するまで、バンク番号0〜3にわたり連続的にアクセスが行われる。バンク3のページ終端部のアドレス値まで到達した後予め設定されたオフセット値分0x0000_1000だけアドレス値を加算してジャンプしてバンク番号0のページ先頭部のアドレス0x0000_2000に飛ぶ。以降、バンク番号3における、各ページの終端部のアドレスに達するごとにアドレスのジャンプ処理を行うことで、第1画像データがバンク番号0〜3に対して連続してアクセスが行われる。また、第2、第3画像データはそれぞれ、バンク0のアドレス0x00C0_0000、0x00F0_0000から書き込まれ、同様にバンク0〜3に対して連続してアクセスが行われる。アドレス値をデクリメントしながらデータの読み書きを行う場合には、バンク番号3のページ終端部のアドレスから、アドレスをデクリメントしながらアクセスする。そして、バンク番号0のページ先頭部のアドレス値まで到達した際に、オフセット値0x0000_0000分アドレス値から減算してジャンプ処理を行い、バンク番号3のページ終端部のアドレスにアクセスする。
同様に、第3画像データ、第2画像データに対してそれぞれノイズ低減処理を施した画像データ(以下、第3NR画像データ、第2NR画像データ)をバンク番号4,5に読み書きする場合は、バンク番号4のページ先頭から順次アクセスされ、バンク番号5のページ終端アドレスまで達した場合、オフセット値分0x0000_1800だけジャンプする。このように、第2、第3NR画像データがバンク番号4、5に対して連続して書き込まれ、アドレス0x0060_17FFまで書き込まれる。また、第1NR画像データをバンク番号6,7に読み書きする場合は、バンク番号6のページ先頭0x0000_1800から順次アクセスされ、バンク番号7のページ終端アドレス0x0000_1FFFまで達した場合、オフセット値分0x0000_1800だけジャンプする。このように、第1NR画像データがバンク番号6、7に対して連続して書き込まれ、アドレス0x017F_FFFFまで書き込まれる。このように制御することにより、第2、第3NR画像データ及び、第1NR画像データを読み書きする場合に、連続してアクセスが行われる。
図4は、本発明の画像処理装置で実施されるノイズ低減処理の処理フローチャートを示す図である。以下、図4のフローチャートに従い、本実施例に係わるノイズ低減処理について説明する。なお、本処理は、CPU112がROM109に格納されているプログラムを実行することで実現される。また、図4の処理は、撮像素子102より、1画面の画像データが取得される場合に行われる。また、図4の処理は、所定のフレーム間隔で複数画面の画像データが連続して取得される場合に、各画面に対して行われる。
■ステップS401の処理:
A/D変換部103から出力された画像データを取得して、第1画像処理部121で画素補正、黒レベル補正、シェーディング補正、傷補正、倍率色収差補正等の各種処理を実施する。処理後の画像データは、DRAM117のバンク番号0〜7に書き込まれる。第1画像処理部121で各種処理を実施された画像データをDRAM117からRDMAC0 202経由で読み出す。読み出した画像データを縮小処理部122で、適切なフィルタ処理後、第1画像データ220として、WRDMAC0 201を経由してDRAM107のバンク番号0〜バンク番号3に設定されたデータ転送長単位で書き込まれる。本実施例で処理する第1画像データ220の画像サイズは、水平2048×垂直1536画素(1画素=16bit)とする。
A/D変換部103から出力された画像データを取得して、第1画像処理部121で画素補正、黒レベル補正、シェーディング補正、傷補正、倍率色収差補正等の各種処理を実施する。処理後の画像データは、DRAM117のバンク番号0〜7に書き込まれる。第1画像処理部121で各種処理を実施された画像データをDRAM117からRDMAC0 202経由で読み出す。読み出した画像データを縮小処理部122で、適切なフィルタ処理後、第1画像データ220として、WRDMAC0 201を経由してDRAM107のバンク番号0〜バンク番号3に設定されたデータ転送長単位で書き込まれる。本実施例で処理する第1画像データ220の画像サイズは、水平2048×垂直1536画素(1画素=16bit)とする。
■ステップS402の処理:
縮小処理部122が、DRAM107から、第1画像データ220をRDDMAC0 202経由で読み出す。そして、縮小処理部122は、複数ラインに対して適切なフィルタ処理を施し、水平、垂直方向ともに、第1画像データの1/2の画素数となるように、画素数を減少することにより画像サイズを縮小する。縮小処理部122は、縮小処理した画像データを、WRDMAC1 203に出力する。WRDMAC1 203は、縮小された画像データをメモリ制御部106に出力し、第2画像データ221として、DRAM107のバンク番号0〜バンク番号3に書き込む。第2画像データ221の画像サイズは、水平1024×垂直768画素(1画素=16bit)となる。
縮小処理部122が、DRAM107から、第1画像データ220をRDDMAC0 202経由で読み出す。そして、縮小処理部122は、複数ラインに対して適切なフィルタ処理を施し、水平、垂直方向ともに、第1画像データの1/2の画素数となるように、画素数を減少することにより画像サイズを縮小する。縮小処理部122は、縮小処理した画像データを、WRDMAC1 203に出力する。WRDMAC1 203は、縮小された画像データをメモリ制御部106に出力し、第2画像データ221として、DRAM107のバンク番号0〜バンク番号3に書き込む。第2画像データ221の画像サイズは、水平1024×垂直768画素(1画素=16bit)となる。
■ステップS403の処理:
縮小処理部122は、DRAM107から、第2画像データ221をRDDMAC0 202経由で読み出す。そして、縮小処理部122は、複数ラインに対して適切なフィルタ処理を施し、水平、垂直方向ともに、第2画像データの1/2の画素数となるように、画素数を減少することにより画像サイズを縮小する。縮小処理部122は、縮小処理した画像データを、WRDMAC1 203に出力する。WRDMAC1 203は、縮小された画像データをメモリ制御部106に出力し、第3画像データ222として、DRAM107のバンク番号0〜バンク番号3に書き込む。第3画像データ222の画像サイズは、水平512×垂直384画素(1画素=16bit)となる。
縮小処理部122は、DRAM107から、第2画像データ221をRDDMAC0 202経由で読み出す。そして、縮小処理部122は、複数ラインに対して適切なフィルタ処理を施し、水平、垂直方向ともに、第2画像データの1/2の画素数となるように、画素数を減少することにより画像サイズを縮小する。縮小処理部122は、縮小処理した画像データを、WRDMAC1 203に出力する。WRDMAC1 203は、縮小された画像データをメモリ制御部106に出力し、第3画像データ222として、DRAM107のバンク番号0〜バンク番号3に書き込む。第3画像データ222の画像サイズは、水平512×垂直384画素(1画素=16bit)となる。
以上、ステップS401からS403の処理により、入力された同じ画面の画像データから、異なる周波数帯域の画像データである三つの画像データが生成される。なお、図3に示されるように、第1画像データ220、第2画像データ221、第3画像データ222は、DRAM107のバンク番号0〜バンク番号3に格納する。
■ステップS404の処理:
縮小処理部122により第3画像データがDRAM107に書き込まれた後、拡大処理部123は、DRAM107から、第3画像データ222をRDDMAC1 204経由で読み出す。そして、拡大処理部123は、読み出した第3画像データに対してノイズ低減のためのフィルタ処理を施す。拡大処理部123は、ノイズ低減処理された第3画像データを、WRDMAC2 206に出力する。WRDMAC2 206は、ノイズ低減処理された第3画像データをメモリ制御部106に出力し、第3NR画像データ231として、DRAM107のバンク番号4、5(図2の151)に書き込む。第3NR画像データ231の画像サイズは、水平512×垂直384画素(1画素=16bit)となる。
縮小処理部122により第3画像データがDRAM107に書き込まれた後、拡大処理部123は、DRAM107から、第3画像データ222をRDDMAC1 204経由で読み出す。そして、拡大処理部123は、読み出した第3画像データに対してノイズ低減のためのフィルタ処理を施す。拡大処理部123は、ノイズ低減処理された第3画像データを、WRDMAC2 206に出力する。WRDMAC2 206は、ノイズ低減処理された第3画像データをメモリ制御部106に出力し、第3NR画像データ231として、DRAM107のバンク番号4、5(図2の151)に書き込む。第3NR画像データ231の画像サイズは、水平512×垂直384画素(1画素=16bit)となる。
■ステップS405の処理:
拡大処理部123は、DRAM107から、第2画像データ221をRDDMAC1 204経由で読み出す。そして、拡大処理部123は、読み出した第2画像データに対してノイズ低減のためのフィルタ処理を施す。また、拡大処理部123は、第2画像データに対するノイズ低減のフィルタ処理と同時に、DRAM107から、第3NR画像データ231をRDDMAC2 205経由で設定されたデータ転送長単位で読み出す。そして、拡大処理部123は、読み出した第3NR画像データの画素数を水平、垂直方向ともに2倍に増加させ、画像サイズを4倍に拡大する処理を施す。そして、拡大処理部123は、第2画像データ221に対してノイズ低減処理を施した画像データと、第3NR画像データ231を拡大処理した画像データとを、所定の合成比率に従って合成する。拡大処理部123は、合成処理された画像データをメモリ制御部106に出力し、第2NR階層画像データ230として、WRDMAC2 206経由でDRAM107のバンク番号4、5に書き込む。第2NR画像データ230の画像サイズは、水平1024×垂直768画素(1画素=16bit)となる。
拡大処理部123は、DRAM107から、第2画像データ221をRDDMAC1 204経由で読み出す。そして、拡大処理部123は、読み出した第2画像データに対してノイズ低減のためのフィルタ処理を施す。また、拡大処理部123は、第2画像データに対するノイズ低減のフィルタ処理と同時に、DRAM107から、第3NR画像データ231をRDDMAC2 205経由で設定されたデータ転送長単位で読み出す。そして、拡大処理部123は、読み出した第3NR画像データの画素数を水平、垂直方向ともに2倍に増加させ、画像サイズを4倍に拡大する処理を施す。そして、拡大処理部123は、第2画像データ221に対してノイズ低減処理を施した画像データと、第3NR画像データ231を拡大処理した画像データとを、所定の合成比率に従って合成する。拡大処理部123は、合成処理された画像データをメモリ制御部106に出力し、第2NR階層画像データ230として、WRDMAC2 206経由でDRAM107のバンク番号4、5に書き込む。第2NR画像データ230の画像サイズは、水平1024×垂直768画素(1画素=16bit)となる。
なお、DRAM107のバンク番号4、5内の、第3NR画像データ231の読み出し制御と、第2NR画像データ230の書き込み制御の詳細は後述する。
■ステップS406の処理:
拡大処理部123は、DRAM107から、第1画像データ220をRDDMAC1 204経由で、設定されたデータ転送長単位で読み出すそして、拡大処理部123は、第1画像データに対してノイズ低減のためのフィルタ処理を施す。第1画像データに対するノイズ低減のフィルタ処理と同時に、拡大処理部123は、DRAM107から、第2NR画像データ230を、RDDMAC2 205経由で読み出す。そして、拡大処理部123は、読み出した第2NR画像データの画素数を水平、垂直方向ともに2倍に増加させ、画像サイズを4倍に拡大する処理を施す。そして、拡大処理部123は、第1画像データ220に対してノイズ低減処理を施した画像データと、第2NR画像データ230を拡大処理した画像データとを、所定の合成比率に従って合成する。拡大処理部123は、合成処理された画像データをメモリ制御部106に出力し、第1NR画像データ240として、WRDMAC2 206経由でDRAM107のバンク番号6、7に書き込む。第1NR画像データ240の画像サイズは、水平2048×垂直1536画素(1画素=16bit)となる。
拡大処理部123は、DRAM107から、第1画像データ220をRDDMAC1 204経由で、設定されたデータ転送長単位で読み出すそして、拡大処理部123は、第1画像データに対してノイズ低減のためのフィルタ処理を施す。第1画像データに対するノイズ低減のフィルタ処理と同時に、拡大処理部123は、DRAM107から、第2NR画像データ230を、RDDMAC2 205経由で読み出す。そして、拡大処理部123は、読み出した第2NR画像データの画素数を水平、垂直方向ともに2倍に増加させ、画像サイズを4倍に拡大する処理を施す。そして、拡大処理部123は、第1画像データ220に対してノイズ低減処理を施した画像データと、第2NR画像データ230を拡大処理した画像データとを、所定の合成比率に従って合成する。拡大処理部123は、合成処理された画像データをメモリ制御部106に出力し、第1NR画像データ240として、WRDMAC2 206経由でDRAM107のバンク番号6、7に書き込む。第1NR画像データ240の画像サイズは、水平2048×垂直1536画素(1画素=16bit)となる。
以上、ステップS401からS406の処理により、1画面の画像データに対するノイズ低減処理が完了する。なお、通常の図3に示されるように第1〜第3の画像データ220〜222と、第2、第3NR画像データ230、231の格納場所をDRAM107のバンク番号0〜4とバンク番号4/5に分けて配置する。本配置の目的は、第1〜第3画像データ220〜222のアクセスと、第2、第3NR画像データ230、231のアクセスを別バンクに分散させて、アクセス効率の低下を抑えつつ、並列動作させるためである。
上記のステップS401からS406の処理では、縮小処理部122は、第1画像データ220、第2画像データ221、第3画像データ222の順番でDRAM107に書き込む。一方、拡大処理部123は、第3画像データ222、第2画像データ221、第1画像データ220という逆の順番でDRAM107から読み出し、処理を行う。
図5は、前述のノイズ低減処理を複数フレームの画像データに対して連続して実施した場合の処理タイミングを示すタイミングチャートである。図の記号1、2、3は夫々、第1画像データ、第2画像データ、第3画像データがDRAM107に対して読み書きされている期間を示す。同様に、1’、2’、3’は夫々第1NR画像データ、第2NR画像データ、第3NR画像データがDRAM107に対して読み書きされている期間を示す。
まず、第1〜第3の画像データの入出力処理を説明する。図5の期間Tm0では、縮小処理部122から第1フレームの第1、第2、第3画像データが順次DRAM107に出力される(第1フレームに対する図4の処理フローのステップS401〜S403に該当)。
続く期間Tm1では、拡大処理部123が、DRAM107から第1フレームの第3、第2、第1画像データをそれぞれ読み出す(第1フレームに対する図4の処理フローのステップS404〜S406に該当)。同時に期間Tm1では、縮小処理部122から第2フレームの第1、第2、第3画像データが順次DRAM107に出力される(第2フレームに対する図4の処理フローのステップS401〜S403に該当)。
以降、同様に期間Tm2では、拡大処理部123が、DRAM107から第2フレームの第3、第2、第1画像データを順次読み出す(第2フレームに対する図4の処理フローのステップS404〜S406に該当)。同時に期間Tm2では、縮小処理部122から第3フレームの第1、第2、第3画像データが順次DRAM107に出力される。期間Tm3以降も同様の処理が繰り返される。
次に、ノイズ低減処理された画像データの入出力処理を説明する。期間Tm1において、拡大処理部123に入力された第3画像データに対してノイズ低減のためのフィルタ処理を施し、第3NR画像データを出力する(第1フレームに対する図4の処理フローのステップS404に該当)。その後、拡大処理部123により、第2画像データと第3NR画像データの合成処理を実施し、第2NR画像データを出力する(第1フレームに対する図4の処理フローのステップS405に該当)。その後、拡大処理部123により、第1画像データにノイズ低減処理を施し、第2NR画像データとの合成処理を実施し、第1NR画像データを出力する(第1フレームに対する図4の処理フローのステップS406に該当)。
続く期間Tm2では、第2フレームに対して同様の処理を、期間Tm3では、第3フレームに対して同様の処理を実施する。期間Tm3以降も同様の処理が繰り返される。
DRAM107において、図3に示すノイズ低減処理のための領域以外のメモリ領域は、他の処理のデータ格納領域として使用される場合がある。そのため、ノイズ低減処理を複数フレームの画像データに対して連続して実施した場合においても、ノイズ低減処理のために使用するメモリ領域が増大しないようにすることが望ましい。そのため、前フレームの画像データの読み出しが終わったメモリ領域に対して次フレームの画像データの上書きを行うことが考えられる。
ただし、本実施例に係る画像装置処理の実施するノイズ低減処理の場合は、拡大処理部123に入力するために読み出す前フレームの画像データの順番と縮小処理部122から出力される次フレームの画像データの順番が反対である。それ故、単純に読み出しが終わった前フレームの画像データが格納されていたメモリ領域に対して、次フレームの画像データを上書きした場合、DMACのアドレス生成制御が煩雑になる。さらに元の画像データから生成される画像データの数が増加するとより複雑となる。
以下、本実施例に係る画像装置処理の実施するノイズ低減処理においてメモリ領域の増大を防ぎ、かつ簡易なDMACのアドレス生成制御でプリチャージの発生回数を抑制するアクセス処理を実現する方法について説明する。
図5の期間Tm1で、拡大処理部123に出力済みの第1フレームの第1〜第3画像データが格納されていたメモリ領域に、縮小処理部122から出力された第2フレームの第1〜第3画像データを上書きしていく。同様に、期間Tm2以降の拡大処理部123に出力済みの前フレームの第1〜第3画像データが格納されていたメモリ領域に、縮小処理部122から出力された次フレームの第1〜第3画像データを上書きしていく。本処理のように上書きをすることにより、ノイズ低減処理を複数フレームの画像データに対して連続して実施した場合でも、図3に示されるバンク番号0〜バンク番号3において、第1〜第3画像データのメモリ領域と同じ領域で処理が可能である。
次に、ノイズ低減処理を画像処理部104に入力された複数フレームの画像データに対して連続して実施した場合のDRAM107へのアクセス制御方法を説明する。図6は、本発明の画像処理装置がノイズ低減処理を行う画像データのライン構成を示す図である。図6において、第1、第2、第3画像データの各ラインをそれぞれX01、X02、X04で示す。
図6(a)は、水平2048×垂直1536画素を持つ第1画像データ220のライン構成を示す。画像データの水平方向座標をH,垂直方向座標をVとする。601は、画像データの1ライン目のX01:L0(座標V=0)を、602は2ライン目のX01:L1(座標V=1)、603は3ライン目のX01:L2(座標V=2)、…、を示す。671は、最終1536ライン目のX01:L1535(座標V=1535)を示しており、各ラインは2048画素を有する。
図6(b)は、水平1024×垂直768画素を持つ第2画像データ221のライン構成を示す。611は、画像データの1ライン目のX02:L0(座標V=0)を、612は2ライン目のX02:L1(座標V=1)、613は3ライン目のX02:L2(座標V=2)、…、を示す。681は、最終768ライン目のX02:L767を示しており、各ラインは1024画素を有する。
図6(c)は、水平512×垂直384画素を持つ第3画像データ222のライン構成を示す。621は画像データの1ライン目X04:L0(座標V=0)を、622は2ライン目X04:L1(座標V=1)、…、691は最終384ライン目X04:L383を示しており、各ラインは512画素を有する。なお、図6(a)〜(c)における各ライン左端部の‘0’表記の位置(座標H=0)が、各ラインの始端画素位置を表す。
図7は、複数フレームの画像データに対して連続してノイズ低減処理を行う場合のDRAM107への画像データの書き込み及び読み出し制御方法を示す図である。図7において、DRAM107に記憶される第1、第2、第3画像データをそれぞれX01、X02、X04で示す。前述のように、第1、第2、第3画像データ220〜222は、DRAM107のバンク番号0〜3に対して記憶される。図7(a)は、拡大処理部123に出力される、奇数フレームの画像データの読み出し順序を示す図である。図7(b)は、拡大処理部123に対して出力される、偶数フレームの画像データの読み出し順序を示す図である。図7(c)は、縮小処理部122から出力された奇数フレーム目の画像データの書き込み順序を示す図である。図7(d)は、縮小処理部122から出力された偶数フレームの画像データの書き込み順序を示す図である。
図5の階層画像データの処理タイミングチャートに従って、複数フレームの画像データに対して連続してノイズ低減処理を行う場合のDRAM107のバンク番号0〜3のメモリ領域へのアクセス制御方法を説明する。なお、図3に示されるように第1〜第3画像データはDRAM107のバンク番号0〜3のメモリ領域に格納される。
図5の期間Tm0では、図7(c)に示されるように、縮小処理部122から出力された第1フレームの第1画像データが、DRAM107に書き込まれる。この場合、第1画像データは、アドレス0x0000_0000をスタートアドレスとして、アドレス値をデータ転送長単位(0x0000_0010:8画素分)でインクリメントしながら、書き込まれる。続く第1フレームの第2画像データが、DRAM107にアドレス0x00C0_0000をスタートアドレスとして、アドレス値をデータ転送長単位でインクリメントしながら、書き込まれる。続く第1フレームの第3画像データが、DRAM107にアドレス0x00F0_0000をスタートアドレスとして、アドレス値をデータ転送長単位でインクリメントしながら、書き込まれる。図7(c)の矢印705がロウアドレス(ページ)がインクリメントされる方向を、矢印706がカラムアドレスのインクリメントされる方向を示す。以下、第1の実施例において、アドレス値のインクリメント、デクリメントは設定されたデータ転送長単位で実施されるものとする。
図5の期間Tm1では、図7(a)に示すように、第1フレームの第3画像データの終端画素位置を含むアドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、拡大処理部123への読み出しを行う。そして、拡大処理部123への第1フレームの第3画像データの読み出しを開始した後、読み出しを行いながら、図7(d)に示すように、縮小処理部122からの第2フレームの第1画像データを、同じページに書き込む。即ち、アドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、第2フレームの第1画像データを書き込む。図7(a)の矢印701がロウアドレス(ページ)がデクリメントされる方向を、矢印702がカラムアドレスがデクリメントされる方向を示す。同様に、図7(d)の矢印707が、ロウアドレスがデクリメントされる方向を、矢印708が、カラムアドレスがデクリメントされる方向を示す。
なお、前述のようにデータ転送部105の具備するアドレス制御部210は、WRDMAC1 203とRDDMAC1 204で生成されるDRAM107の書き込みアドレスと読み出しアドレスを調停している。これにより、RDDMAC1 204で読み出すアドレスに対してWRDMAC1 203で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保つ。これにより、DRAM107の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。なお、第1フレームの第3画像データの読み出しアドレスがバンク番号0の先頭アドレス0x00FB_E000に達した時点で、第2フレームの第1画像データは同じページへの書き込み最中である。一方、第3画像データの読み出しアドレスは、バンク番号3における一つ前のページの終端アドレスにジャンプする。このように、書き込みアドレスのページと書き込みアドレスのページが異なるが、読み出しアドレスと書き込みアドレスが別バンクとなるため、バンクインターリーブアクセスとなる。そのため、ページのオープン、クローズを待つこと無く、第1フレームの第3画像データの読み出しと、第2フレームの第1画像データの書き込みとを並列に行うことができる。
引き続き、図7(a)に示されるように、拡大処理部123に入力するために、第1フレームの第3画像データの読み出しが完了した後、第1フレームの第2画像データX02の終端画素位置を含むアドレス0x00EF_EFFFから読み出される。第1フレームの第2画像データの読み出しが完了した後、第1フレームの第1画像データの終端画素位置を含むアドレス0x00BF_EFFFから読み出される。第1フレームの第3画像データの読み出しと同様に、第2画像データ及び第1画像データの読み出しもアドレス値をデクリメントしながら、処理を行う。
そして、拡大処理部123への第1フレームの第2画像データの読み出しを開始した後、読み出しを行いながら、図7(d)に示すように、第2フレームの第2画像データがアドレス0x003B_EFFFをスタートアドレスとして、DRAM107に書き込まれる。第2フレームの第2画像データの書き込みが完了した後、第2フレームの第3画像データがアドレス0x000B_EFFFをスタートアドレスとして、DRAM107に書き込まれる。第1フレームの第1画像データの書き込みと同様に、第2画像データ及び第3画像データの書き込みもアドレス値をデクリメントしながら、処理を行う。
このように期間Tm1において、拡大処理部123に対する読み出しが完了した第3〜第1画像データが記憶されていた領域に対して、追い掛ける形で、縮小処理部122から出力された第1〜第3画像データが書き込まれる。
図7(d)に示す、各画像データのDRAM107における配置は、図7(a)の画像データの配置を水平、垂直方向に反転させた配置となる。
図5の期間Tm2では、図7(b)に示すように、第2フレームの第3画像データの終端画素位置のアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、拡大合理部123への読み出しを行う。同時に、図7(c)に示されるように、縮小処理部122から出力された第3フレームの第1画像データが、アドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、DRAM107に書き込まれる。図7(b)の矢印703がロウアドレスのインクリメントされる方向を、矢印704がカラムアドレスのインクリメントされる方向を示す。
なお、期間Tm1の処理と同様に、アドレス制御部210の制御により、RDDMAC1 204で読み出すアドレスに対してWRDMAC1 203で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保つ。これにより、DRAM107の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
引き続き、図7(b)に示されるように、拡大処理部123に対する第1フレームの第3画像データの読み出しが完了した後、第2フレームの第2画像データが、終端画素位置のアドレス0x000C_0000から読み出される。第2フレームの第2画像データの読み出しが完了した後、第2フレームの第1画像データが、終端画素位置のアドレス0x003C_0000から読み出される。第2フレームの第3画像データの読み出しと同様に、第2、第1画像データの読み出しもアドレス値をインクリメントしながら、処理を行う。
そして、拡大処理部123への第2フレームの第2画像データの読み出しを開始した後、読み出しを行いながら、図7(c)に示すように、第3フレームの第2画像データが、アドレス0x00C0_0000をスタートアドレスとしてDRAM107に書き込まれる。第3フレームの第2画像データの書き込みが完了した後、第3フレームの第3画像データがアドレス0x00F0_0000をスタートアドレスとしてDRAM107に書き込まれる。第1フレームの第1画像データの書き込みと同様に、第2、第3画像データの書き込みもアドレス値をインクリメントしながら、処理を行う。
このように期間Tm2でも、拡大処理部123に対して読み出された画像データが記憶されていた領域に対して、縮小処理部122から出力された次のフレームの画像データが書き込まれる。
以降、期間Tm3は、期間Tm1と同様の処理が行われ、期間Tm1と期間Tm2と同様の処理が交互に繰り返される。
図5のタイミングチャートに従って、画像処理部104が複数フレームの画像データに対して連続してノイズ低減処理を実施した場合のDRAM107のバンク番号4〜5へのアクセス制御方法を説明する。なお、図3に示されるように、第2、第3NR画像データはDRAM107のバンク番号4〜5のメモリ領域に格納される。
ここで、図8は、DRAM107のバンク番号4〜5への第2、第3NR画像データの書き込み及び読み出し制御方法を示す図である。図8の左端から右端までが、バンク番号4〜5の同一ページに対応する。図8において、第2NR画像データの記憶領域をX02’で示し、第3NR画像データの記憶領域をX04’で示す。図8(a)は、第3NR画像データの書き込み完了時における、DRAM104に記憶されたデータを示す図である(図5の時刻t=T1)。図8(b)は、第3NR画像データの読み出し、第2NR画像データの書き込み期間において、DRAM107に記憶された各画像データを示す図である(図5の期間Ts0)。図8(c)は、第2NR画像データの書き込み完了時のDRAM107に記憶されたデータを示す図である(図5の時刻t=T2)。
図5の期間Tm1において、拡大処理部123から出力された第3NR画像データがDRAM107のバンク番号4,5に出力される。バンク番号4の始端アドレス0x0000_1000から、アドレス値をデータ転送長単位でインクリメントしながら、書き込み処理を行う。図8(a)の矢印850がロウアドレスがインクリメントされる方向を示す。本実施形態では、図3に示すDRAM107のバンク番号4〜5における同一ページの先頭から終端アドレスまでの容量が、第2NR画像データの2ライン分のデータの記憶容量と同じとする。
前述したように、奇数フレームにおいては、拡大処理部123へは第1〜第3画像データが終端画素位置から逆方向に読み込まれるため、第1〜第3NR画像データも画面の終端位置(画面の右下)から書き込まれる。
図8(a)の801は一回の転送により、DRAM107に書き込まれる8画素分の第3NR画像データ(以下画素ブロック)を示している。各画素ブロック801は、8画素分の間隔802を空けて書き込まれる。また、1024画素分の第3NR画像データが書き込まれた後は、1024画素分の間隔803を空けて、第3NR画像データの8画素ブロックが書き込まれる。以降、これらの配置が繰り返される。前述のように、図3に示すDRAM107のバンク番号4〜5における同一ページの先頭から終端アドレスまでの容量が、第2NR画像データの2ライン分のデータの記憶容量と同じである。そのため、DRAM107のバンク番号4〜5における同一ページの先頭から終端アドレスに対し、第3画像データの4ライン分を記憶することが可能である。しかし、本実施形態では、バンク番号4〜5の同一ページに対し、8画素分の間隔を空けて、8画素分の第3画像NRデータを書き込む。従って、同一ページには、2ライン分の第3画像NRデータが書き込まれる。また、第3画像NRデータを1024画素の書き込んだ後、メモリ領域の1024画素分の間隔803を空けるので、DRAM107に対し、1ページおきに2ライン分の第3NR画像データが書き込まれる。
ここで、図9は、図5の期間Ts0の拡大処理部123に入力される第3NR画像データと、拡大処理部123から出力される第2NR画像データを示したタイミングチャートである。第2NR画像データの画像サイズは、第3NR画像データの画像サイズに対して水平、垂直ともに2倍のサイズとなる。そこで、本実施形態では、図9に示すように、第2NR画像データの奇数ラインの期間において、DRAM107から2ライン分の第3NR画像データが拡大処理部123に読み出され、2ライン分の第2NR画像データが生成される。そして、生成された2ラインの第2NR画像データのうち、一方が、第3NR画像データが記憶されていた領域に対して書き込まれ、次のラインは、第3NR画像データが記憶されていないページに対して書き込まれる。また、第2NR画像データの偶数ラインの期間においては、拡大処理部123に対しては第3NR画像データが読み出されない。このように、第3NR画像データの8画素が記憶されている領域に対し、第2NR画像データが16画素出力される処理が繰り返される。一方、第2NR画像データの垂直の画素サイズが第3NR画像データの2倍のため、第2NR画像データの偶数ラインが出力される期間は、拡大処理部123に対して第3NR画像データは入力されない。以降、奇数ライン、偶数ラインの処理が交互に繰り返される。
したがって、図8(a)のように第3NR画像データをDRAM107に記憶することで、拡大処理部123への画素ブロック801が読み出された後、この画素ブロック801を用いて処理された第2NR画像データを上書きすることが出来る。即ち、同じページの最後の画素フロック801の読み出しが完了するまで、第3NR画像データが読み出されているロウアドレスと同じロウアドレスに対して第2NR画像データを書き込むことができる。これにより、同一バンクの同一ページ860になる期間を長く設定することが可能となる。そのため、階層処理画像データの処理と同様に、DRAM107の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
また、読み出した第3NR画像データを拡大処理して、第2画像データのデータとして出力する。そのため、第3NR画像データの読み出しアドレスを、第2NR画像データの書き込みアドレスが追い越すようなことは発生しない。従って、アドレス制御部210による調停が不要となる。さらに、第3NR画像データの記憶領域と第2NR画像データの記憶領域を重複させることにより、ノイズ低減処理のために使用する領域を節約することが可能となる。
図8(c)に示されるように、第2NR画像データの書き込みが完了した後に、拡大処理部123に第2NR画像データを出力し、拡大処理部123により第1NR画像データが出力される。第1NR画像データを生成する際も、第2NR画像データ及び第1画像データは、画面の終端画素位置から読み出され、処理される。そのため、第1NR画像データをDRAM107のバンク番号6、7に書き出す際に、スタートアドレス0x017F_FFEFからアドレス値をデクリメントして書き出す。そして、第1NR画像データを読み出す場合に、アドレスをインクリメントして読み出すことで、ラスタスキャンの順に表示制御部110に対して出力される。続く期間Tm2(Ts1)、Tm3(Ts2)、・・・においても同様の処理を実施する。
以上、本実施例では、本発明の画像処理装置を撮像装置に適用した例を説明したが、これに限るものではない。例えば、PC等の情報処理装置、印刷装置、スマートフォンなどにおけるマルチレート信号処理によるノイズ低減処理としても適用可能であることは言うまでもない。
[第1の変形例]
ここで、本発明の第1の実施例の第1の変形例に係る画像処理装置を、図10を参照して説明する。
第1の実施例では、拡大処理部123に入力する画像データを、1画面の終端位置の画素から逆方向に読み出しながら処理を実施していたが、縮小処理部122から出力する画像データを逆方向にして処理させても同様の効果が得られる。本変形は、第1の実施例とは、図7の画像データのDRAM107に対する書き込みおよび読み出し処理が異なるのみであり、他の構成は第1の実施例と同様であるので、ここでの説明は特に必要がない限り省略する。
ここで、本発明の第1の実施例の第1の変形例に係る画像処理装置を、図10を参照して説明する。
第1の実施例では、拡大処理部123に入力する画像データを、1画面の終端位置の画素から逆方向に読み出しながら処理を実施していたが、縮小処理部122から出力する画像データを逆方向にして処理させても同様の効果が得られる。本変形は、第1の実施例とは、図7の画像データのDRAM107に対する書き込みおよび読み出し処理が異なるのみであり、他の構成は第1の実施例と同様であるので、ここでの説明は特に必要がない限り省略する。
図10は、画像処理部104に入力された複数フレームの画像データに対して、ノイズ低減処理を連続して実施した場合のDRAM107への画像データの書き込み及び読み出し制御方法を示す図である。図10(a)は、拡大処理部123に出力される奇数フレームの画像データの読み出し順序を示す図である。図10(b)は、拡大処理部123に出力される偶数フレームの画像データの読み出し順序を示す図である。図10(c)は、縮小処理部122から出力された奇数フレームの画像データの書き込み順序を示す図である。図10(d)は、縮小処理部122から出力された偶数フレームの画像データの書き込み順序を示す図である。
図5のタイミングチャートに従って、画像処理部104に入力された複数フレームの画像データに対して連続してノイズ低減処理を実施した場合のDRAM107のバンク番号0〜3のメモリ領域へのアクセス制御方法を説明する。なお、図3に示されるように、ノイズ低減処理を行う前の第1〜第3画像データはDRAM107のバンク番号0〜3のメモリ領域に格納される。
図5の期間Tm0では、縮小処理部122に対し、DRAM107より、ノイズ低減処理の対象となる画像データが、1画面の終端の画素位置から逆方向に読み出されて出力される。処理済みの出力データは、図10(c)に示すように縮小処理部122から出力された第1フレームの第1画像データが、DRAM107にアドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。続く第1フレームの第2画像データが、DRAM107にアドレス0x003B_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。続く第1フレームの第3画像データが、DRAM107にアドレス0x000B_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。図10(c)の矢印905が、ロウアドレスのデクリメントされる方向を、矢印906がカラムアドレスがデクリメントされる方向を示す。
図5の期間Tm1では、図10(a)に示すように、第1フレームの階層画像データX04の始端画素位置のアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、画像拡大合成処理部123への読み出しを行う。同時に、図10(d)に示されるように、縮小処理部122から出力された第2フレームの第1画像データが、DRAM107にアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、書き込まれる。図10(a)の矢印901がロウアドレスのインクリメントされる方向を、矢印902がカラムアドレスのインクリメントされる方向を示す。図10(d)の矢印907がロウアドレスのインクリメントされる方向を、矢印908がカラムアドレスのインクリメントされる方向を示す。
なお、前述のようにデータ転送部105の備えるアドレス制御部210は、WRDMAC1 203とRDDMAC1 204で生成されるDRAM107の書き込みアドレスと読み出しアドレスを調停している。これにより、RDDMAC1 204の読み出しアドレスに対してWRDMAC1 203の書き込みアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保ち追い掛ける形になる。これにより、DRAM107の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
引き続き、図10(a)に示されるように、拡大処理部123に対する第1フレームの第3画像データの読み出しの完了後、第1フレームの第2画像データが、始端画素位置(0x000C_0000)から読み出される。第1フレームの第2画像データの読み出しが完了した後、第1フレームの第1画像データが、始端画素位置(0x003C_0000)から読み出される。第1フレームの第3画像データと同様に、第2画像データ2及び第1画像データもアドレス値をインクリメントしながら、読み出しが行われる。
同時に、図10(d)に示すように、縮小処理部122から出力された第2フレームの第1画像データの書き込みが完了した後、第2フレームの第2画像データがDRAM107に書き込まれる。このとき、アドレス(0x00C0_0000)をスタートアドレスとして第2フレームの第2画像データが書き込まれる。第2フレームの第2画像データの書き込みが完了した後、第2フレームの第3画像データがDRAM107にアドレス(0x00F0_0000)をスタートアドレスとして書き込まれる。第1フレームの第3画像データの書き込みと同様に、第2、第3画像データの書き込みもアドレス値をインクリメントしながら、行われる。
このように期間Tm1において、拡大処理部123に対して読み出された画像データが記憶されていた記憶領域に対して、追い掛ける形で、画像縮小処理部122から出力された画像データX01、X02,X04を書き込まれる。
図10(d)に示す第1、第2、第3画像データのDRAM107における配置は、図10(a)のにおける各画像データの配置をH方向、V方向に反転させた配置となる。
図5の期間Tm2では、図10(b)に示すように、第2フレームの第3画像データが、始端画素位置のアドレスを含む0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、拡大処理部123に読み出される。同時に、図10(c)に示されるように、縮小処理部122から出力された、第3フレームの第1画像データが、アドレス0x00FB_EFFFをスタートアドレスとして、アドレス値をデクリメントしながら、書き込まれる。図10(b)の矢印903がロウアドレスのデクリメントされる方向を、矢印904がカラムアドレスのデクリメントされる方向を示す。
なお、期間Tm1の処理と同様に、アドレス制御部210の制御により、RDDMAC1 204で読み出すアドレスに対してWRDMAC1 203で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保ち追い掛ける形になる。これにより、DRAM107の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。
引き続き、図10(b)に示されるように、拡大処理部123に対する、第1フレームの第3画像データの読み出しが完了した後、第1フレームの第2画像データが、終端画素位置のアドレス0x00EF_EFFFから読み出される。第1フレームの第2画像データの読み出しが完了した後、第1フレームの第1画像データが、終端画素位置のアドレス0x00BF_EFFFから読み出される。第1フレームの第3画像データの読み出しと同様に、第2、第1画像データの読み出しもアドレス値をデクリメントしながら行われる。
同時に、図10(c)に示すように、縮小処理部122から出力された第2フレームの第1画像データの書き込みが完了した後、第2フレームの第2画像データがDRAM107に書き込まれる。このとき、アドレス0x003B_EFFFをスタートアドレスとして第2フレームの第2画像データが書き込まれる。第2フレームの第2画像データの書き込みが完了した後、第2フレームの第3画像データがアドレス0x000B_EFFFをスタートアドレスとして書き込まれる。第1フレームの第1画像データと同様に、第2、第3画像データの書き込みもアドレス値をデクリメントしながら行われる。
このように期間Tm2においても、拡大処理部123に出力された画像データが記憶されていた記憶領域に対して、追い掛ける形で、縮小処理部122から出力された画像データが書き込まれる。
以降、期間Tm3は、期間Tm1と同様の処理が行われ、期間Tm1と期間Tm2と同様の処理が交互に繰り返される。
本変形例では、ノイズ低減処理済み画像データも始端画素位置から処理が開始されているため、DRAM107のバンク番号6、7に書き出す際に、スタートアドレス0x0000_1800からアドレス値をインクリメントして書き出す。これにより、メモリ領域に通常の画素の並びとして配置される。
[第2の変形例]
次に、本発明の第1の実施例の第2の変形例に係る画像処理装置にについて図11を参照して説明する。
第1実施例およびその第1の変形例では、DRAM107から拡大処理部123に画像データを出力する際、画像終端位置の画素から逆方向に読み出していた。第2の変形例として、読み書き制御の方法を階層画像データの各ラインの先頭画素(図6のH=0に該当する)から処理を開始するようにしても同様の効果が得られる。第1の変形例と同様、本変形も第1の実施例とは、図7の画像データのDRAM107に対する書き込みおよび読み出し処理が異なるのみであり、他の構成は第1の実施例と同様であるので、ここでの説明は特に必要がない限り省略する。
次に、本発明の第1の実施例の第2の変形例に係る画像処理装置にについて図11を参照して説明する。
第1実施例およびその第1の変形例では、DRAM107から拡大処理部123に画像データを出力する際、画像終端位置の画素から逆方向に読み出していた。第2の変形例として、読み書き制御の方法を階層画像データの各ラインの先頭画素(図6のH=0に該当する)から処理を開始するようにしても同様の効果が得られる。第1の変形例と同様、本変形も第1の実施例とは、図7の画像データのDRAM107に対する書き込みおよび読み出し処理が異なるのみであり、他の構成は第1の実施例と同様であるので、ここでの説明は特に必要がない限り省略する。
図11は、ノイズ低減処理を画像処理部104に入力された複数フレームの画像データに対して、連続して実施した場合のDRAM107への画像データの書き込み及び読み出し制御方法を示す図である。図11(a)は、拡大処理部123に出力される奇数フレームの画像データの読み出し順序を示す図である。図11(b)は、拡大処理部123に出力される偶数フレームの画像データの読み出し順序を示す図である。図11(c)は、縮小処理部122から出力された奇数フレームの画像データの書き込み順序を示す図である。図11(d)は、縮小処理部122から出力された偶数フレームの画像データの書き込み順序を示す図である。
図5の処理タイミングチャートに従って、画像処理部104に入力された複数フレームの画像データに対して連続してノイズ低減処理を実施した場合のDRAM107のバンク番号0〜3のメモリ領域へのアクセス制御方法を説明する。なお、図3に示されるように各画像データはDRAM107のバンク番号0〜3の記憶領域に格納される。
図5の期間Tm0では、図11(c)に示されるように縮小処理部122から出力された第1フレームの第1、第2、第3画像データが格納される。処理内容は第1の実施例における期間Tm0と同様である。図11(c)の矢印1105がロウアドレスのインクリメントされる方向を、矢印1106がカラムアドレスのインクリメントされる方向を示す。
図5の期間Tm1では、図11(a)に示されるように、拡大合理部123に対し、第1フレームの第3画像データの381行目のライン(X04:L380)読み出しが開始される。具体的には先頭画素のアドレス0x00FB_E000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。続いて、382行目のライン(X04:L381)、383行目のライン(X04:L382)、384行目のライン(X04:L383)が先頭画素から読み出しが行われる。同時に、図11(d)に示されるように、縮小処理部122から出力された第2フレームの第1画像データの1行目のライン(X01:L0)が、読み出された4ライン分の第3画像データの記憶領域に書き込まれる。具体的には、先頭画素のアドレス0x00FB_E000をスタートアドレス値として、アドレスをインクリメントしながら、第2フレームの第1画像データの1行目のラインの書き込みが実行される。
第1の実施例およびその第1の変形例と同様、データ転送部105の具備するアドレス制御部210で読み書きするアドレスが近接するため、DRAM107の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増える。これによりプリチャージ発生回数が減り、データを効率良く転送することが可能となる。
なお、拡大処理部123では、入力された4ラインを一時的にラインバッファに格納して下端のライン(X04:L383)から順番に処理を実行する。
引き続き、図11(a)に示されるように、拡大処理部123に入力するために、第1フレームの第3画像データの384行目のライン(X04:L383)の読み出しが完了した後、377行目のライン(X04:L376)が読み出される。具体的には、DMACでアドレス値をジャンプして先頭画素位置のアドレス0x00FB_C000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。378行目のライン(X04:L377)、379行目のライン(X04:L378)、380行目のライン(X04:L379)が続いて読み出される。以降順次、4ライン単位で読み出しが完了した後、アドレス値をジャンプして画像データ上部側の4ラインを読み出す処理を繰り返す。
第1フレームの第3画像データの読み出しが完了した後、第2画像データの767行目のライン(X02:L766)から読み出しが開始される。具体的には、先頭画素位置のアドレス0x00EF_E000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。連続して、第2画像データの768行目のライン(X02:L767)が先頭画素位置から読み出される。次に、765行目のライン(X02:L764)が先頭画素位置から読み出される。具体的にはDMACでアドレス値をジャンプして先頭画素位置のアドレス0x00FF_C000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。連続して、第2画像データの766行目のライン(X02:L765)が先頭画素位置から読み出される。以降順次、2ライン単位で読み出しが完了した後、アドレス値をジャンプして画像データ上部側の2ラインを読み出す処理を繰り返す。
第1フレームの第2画像データの読み出しが完了した後、第1画像データの1536行目のライン(X01:L1535)から読み出しが開始される。具体的には、先頭画素位置のアドレス0x00BF_E000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。次に、1535行目のライン(X01:L1534)が先頭画素位置から読み出される。具体的にはDMACでアドレス値をジャンプして先頭画素位置のアドレス0x00BF_C000をスタートアドレス値として、アドレスをインクリメントしながら、読み出される。以降順次、1ライン単位で読み出しが完了した後、アドレス値をジャンプして画像データ上部側の1ラインを読み出す処理を繰り返す。
同時に、図11(d)に示されるように、縮小処理部122から出力された第2フレームの第1画像データの1行目のライン(X01:L0)の書き込みが完了した後、2行目のライン(X01:L0)が先頭画素位置から書き込みが行われる。具体的には、DMACでアドレス値をジャンプして、アドレス0x00FB_C000をスタートアドレス値として、アドレスをインクリメントしながら書き込まれる。以降順次、1ライン単位で書き込みが完了した後、アドレス値をジャンプして画像データの次の1ラインを書き込む処理を繰り返す。
第2フレームの第1画像データの書き込みが完了した後、第2画像データの1行目のライン(X02:L0)から書き込みが開始される。具体的には、先頭画素位置からアドレス0x003B_E000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。次に、連続して、第2画像データの2行目のライン(X02:L1)が先頭画素位置から書き込まれる。次に、3行目のライン(X02:L2)が先頭画素位置から書き込まれる。具体的にはDMACでアドレス値をジャンプして先頭画素位置からアドレス0x003B_C000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。連続して、第2画像データの4行目のライン(X02:L3)が先頭画素位置から書き込まれる。以降順次、2ライン単位で書き込みが完了した後、アドレス値をジャンプして画像データの次の2ラインを書き込む処理を繰り返す。なお、拡大処理部123では、入力された2ラインを一時的にラインバッファに格納して下端のライン(X02:L767)から順番に処理を実行する。
第2フレームの第2画像データの書き込みが完了した後、第2フレームの第3画像データの1行目のライン(X04:L0)の書き込みが実施される。具体的には、DMACでアドレス値をジャンプして先頭画素位置からアドレス0x00B_E000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。続いて2行目のライン(X04:L1)、3行目のライン(X04:L2)、4行目のライン(X04:L3)が先頭画素位置から書き込まれる。次に、5行目のライン(X04:L4)が、DMACでアドレス値をジャンプして先頭画素位置からアドレス0x00B_C000をスタートアドレス値として、アドレスをインクリメントしながら、書き込まれる。続いて6行目のライン(X04:L5)、7行目のライン(X04:L6)、8行目のライン(X04:L7)が先頭画素位置から書き込まれる。以降順次、4ライン単位で書き込みが完了した後、アドレス値をジャンプして画像データの次4ラインを書き込む処理を繰り返す。
図11(a)の矢印1101がロウアドレスのインクリメントする方向を、矢印1102がカラムアドレスのインクリメントする方向を示す。図11(d)の矢印1107がロウアドレスのインクリメントする方向、矢印1108がカラムアドレスのインクリメントする方向を示す。
このように期間Tm1において、拡大処理部123に出力された画像データの記憶領域に対して、追い掛ける形で、縮小処理部122から出力された画像データが書き込まれる。ただし、第2の変形例では、拡大処理部123に入力するため、第1画像データの1ライン分である2048画素の読み出しが完了したタイミングでアドレス値をジャンプする。同様に縮小処理部122から出力された2048画素の書き込みが完了したタイミングでアドレス値をジャンプする。このジャンプ制御によりDMACによるアドレス値制御はインクリメント制御のみで実現が出来る。
図5の期間Tm2では、図11(b)に示すように、拡大処理部123への読み出しを行う。このとき、第2フレームの第3画像データの381行目のライン(X04:L380)の先頭画素位置のアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら、読み出しを行う。連続して382行目のライン(X04:L381)、383行目のライン(X04:L382)、384行目のライン(X04:L383)が読み出される。同時に、読み出しが完了したメモリ領域に対して、図11(c)に示すように第3フレームの第1画像データX01の1行目のライン(X01:L0)がアドレス0x0000_0000をスタートアドレスとして、アドレス値をインクリメントしながら書き込まれる。
以降、図11(b)に示されるように、第3画像データの377行目のライン(X04:L376)、378行目のライン(X04:L377)、379行目のライン(X04:L378)、380行目のライン(X04:L379)が読み出される。第3画像データの読み出しが完了されると、第2画像データの767行目のライン(X02:L766)、768行目のライン(X02:L767)が読み出される。次に765行目のライン(X02:L764)、766行目のライン(X02:L765)が読み出される。第2画像データの読み出しが完了されると、第1画像データの1536行目のライン(X01:L1535)、1535行目のライン(X01:L1534)が読み出される。順次、第1画像データの1行目のライン(X01:L0)まで読み出しが実施される。図11(b)の矢印1103がロウアドレスのインクリメントされる方向を、矢印1104がカラムアドレスのインクリメントされる方向を示す。また、同時に図11(c)に示される縮小処理部122の書き込み処理が実施される。
したがって、期間Tm1の処理と同様に、アドレス制御部210の制御により、RDDMAC1204で読み出すアドレスに対してWRDMAC1 203で書き込むアドレスが追い越すことなく、設定された所定値内のアドレス間隔を保ち追い掛ける形になる。これにより、DRAM107の同一バンクの同一ページに対する書き込み、読み出しアクセスする回数が増え、プリチャージ発生回数が減り、データを効率良く転送することが可能となる。このように期間Tm2でも、拡大処理部123への読み出しが完了した画像データの記憶領域に対して、追い掛ける形で、縮小処理部122から出力された画像データが書き込まれる。
以降、期間Tm3は、期間Tm1と同様の処理が行われ、期間Tm1と期間Tm2と同様の処理が交互に繰り返される。
最終処理画像であるノイズ低減処理済み画像データも最終ラインの先頭画素位置から出力が開始されるため、DRAM107のバンク番号6、7に書き出す際に、スタートアドレス0x017F_F800からアドレス値からインクリメントして書き込みを行う。1ライン書き込み後にDMACでアドレス値をジャンプして0x017F_D800から画像データの一つ上のラインを先頭画素位置から書き込みを行う、順次同様の処理を繰り返すことで、メモリ領域に通常の画素の並びに戻して配置する。続く期間Tm3(Ts2)、・・・においても同様の処理を実施する。
なお、本変形例においては、第3画像データ及び第2画像データを第1画像データの1ラインの2048画素単位でアドレス値をジャンプして、処理を実施していたが、各画像データの1ライン単位でジャンプを行う処理にしても良い。ただし、次フレームの画像データの1ライン分の画素を書き込むためのアドレスから、画像データの読み出しが完了するまで、書き込みが行えない。
また、本変形例のように第1画像データの1ラインの2048画素単位でアドレス値をジャンプして、各ラインの先頭画素からアドレス値をインクリメントしながら読み出す処理方法は第1の変形例にも適応可能である。
以上のように、ノイズ低減処理を複数フレームに連続して実行する際に、拡大処理部123への画像データの読み出し順と縮小処理部122の画像データの書き込み順を逆方向にする。これにより、プリチャージ発生回数を抑制し、DRAM107へのアクセス効率向上が可能となる。また、画像データを読み書きするためにDMACが作成するアドレス制御はアドレス値のインクリメント、デクリメント制御といった簡易な手段で実現可能となる。
さらに、ノイズ低減処理済の画像データの処理時に、サイズが大きい画像データを格納するメモリ領域に対して、サイズが小さい画像データを一定の間隔を有して配置する。読み出しが完了した画像データの記憶領域に対して、次のフレームのサイズが大きい画像データを書き込むことにより、プリチャージ発生回数を抑制し、DRAM107へのアクセス効率向上が可能となる。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
例えば、画像サイズが異なる場合や、画像データを一括で処理せずに複数に分割して、分割単位毎に一つずつ処理する場合等にも適用可能である。
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
Claims (16)
- 複数フレームの第1の画像データを取得する取得手段と、
各フレームについて、前記第1の画像データとは異なる画素数の第2の画像データを、前記第1の画像データから生成し、前記第1および前記第2の画像データを第1の順序で出力する第1の処理手段と、
各フレームの前記第1および前記第2の画像データに、前記第1の順序とは異なる第2の順序で所定の処理を行う第2の処理手段と、
複数の記憶領域を有するメモリ手段と、
前記第1の処理手段および前記第2の処理手段と前記メモリ手段との間の画像データの転送を制御するメモリ制御手段と、
を備え、
前記メモリ制御手段は、前記第1および第2の順序に従って、前記第1の処理手段から出力された画像データの前記メモリ手段への書き込みと、前記第2の処理手段が処理する画像データの前記メモリ手段からの読み出しをフレーム単位で制御し、第1のフレームにおける読み出しアドレスと、前記第1のフレームの次の第2のフレームにおける書き込みアドレスは、第1の前記記憶領域のアドレスであり、前記第2のフレームにおける書き込みアドレスは前記第1のフレームにおける読み出しが行われた読み出しアドレスである
ことを特徴とする画像処理装置。 - 前記メモリ制御手段は、前記第2の処理手段で前記所定の処理をされた画像データの前記メモリ手段への書き込みを制御し、前記第2の処理手段で処理された画像データは前記第1の記憶領域とは異なる第2の前記記憶領域に書き込まれ、小さいサイズの画像データの前記第2の記憶領域における書き込みアドレスは、所定のオフセットを含むことを特徴とする請求項1に記載の画像処理装置。
- 前記第1の順序と前記第2の順序は、前記サイズに関して互いに逆であり、前記メモリ制御手段による前記フレーム単位の制御は、第1のフレームの第1および前記第2の画像データは、前記第1の順序で前記第1の記憶領域に書き込まれ、前記第1の記憶領域から前記第2の処理手段に前記第2の順序で画像データの終端画素位置から始端画素位置に向けて読み出され、前記第2のフレームの前記第1および前記2の画像データは、前記第1のフレームの画像データの読み出しが完了した前記第1の記憶領域に画像データの終端画素位置から始端画素位置に向けて前記第1の順序で書き込まれ、画像データの始端画素位置から終端画素位置に向けて第1の記憶領域から前記第2の順序で読み出される制御を含むことを特徴とする請求項2に記載の画像処理装置。
- 前記第1のフレームの前記第1および第2の画像データを前記第2の順序で画像データの終端画素位置から始端画素位置に向けて前記第1の記憶領域から読み出す前記メモリ制御手段による制御および前記第2のフレームの前記第1および第2の画像データを画像データの終端画素位置から始端画素位置に向けて前記第1の記憶領域に前記第1の順序で書き込む制御は、画像データの終端画素位置を含む前記第1の記憶領域のアドレスからアドレス値をデクリメントまたはインクリメントする制御を含み、前記第2のフレームの前記第1および前記第2の画像データを画像データの始端画素位置から終端画素位置に向けて前記第1の記憶領域から前記第2の順序で読み出す制御は、画像データの始端画素位置のアドレスからアドレス値をデクリメントまたはインクリメントして書き込む制御を含むことを特徴する請求項3に記載の画像処理装置。
- 前記第1の順序と前記第2の順序は、前記サイズに関して互いに逆であり、前記メモリ制御手段による前記フレーム単位の制御は、前記第1の記憶領域の画像データの終端画素位置のラインの先頭画素を含むアドレスからアドレス値をインクリメントして画像データを読み出し、画像データの1ラインの読み出しの完了後、画像データの始端画素位置に向けて各ラインの先頭画素を含むアドレスからアドレス値をインクリメントして各ラインの画像データを読み出す制御を含むことを特徴する請求項2に記載の画像処理装置。
- 前記フレーム単位の制御において、前記第1のフレームの第1および前記第2の画像データが前記第1の順序で前記第1の記憶領域に書き込まれ、前記第1の記憶領域から前記第2の処理手段に前記第2の順序で画像データの終端画素位置から始端画素位置に向けて読み出され、前記第2のフレームの前記第1および前記第2の画像データが前記第1のフレームの画像データの読み出しが完了した前記第1の記憶領域に、画像データの終端画素位置から始端画素位置に向けて前記第1の順序で書き込まれ、画像データの始端画素位置から終端画素位置に向けて第1の記憶領域から前記第2の順序で読み出されることを特徴とする請求項5に記載の画像処理装置。
- 前記フレーム単位の制御において、前記第1のフレームの前記第1および前記異なるサイズの画像データを画像データの終端画素位置から始端画素位置に向けて前記第2の順序で前記第1の記憶領域から読み出す制御および前記第2のフレームの前記第1および前記異なるサイズの画像データを画像データの終端画素位置から始端画素位置に向けて前記第1の順序で前記第1の記憶領域に書き込む制御は、画像データの終端画素位置のラインの先頭画素を含む前記第1の記憶領域のアドレスからアドレス値をインクリメントして読み出し、1ラインの読み出しの完了後、順次、画像データの始端画素位置に向けて各ラインの先頭画素を含む記憶領域のアドレスからアドレス値をインクリメントして各ラインを読み出す制御を含み、前記第2のフレームの前記第1および前記第2の画像データを画像データの始端画素位置から終端画素位置に向けて前記第1の順序で前記第1の記憶領域に書き込む制御は、画像データの始端画素位置のラインの先頭画素から書き込みを行い、先頭画素を書き込んだ記憶領域のアドレスからアドレス値をインクリメントして書き込み、1ラインの書き込みが完了後、順次、画像データの終端画素位置に向けて各ラインの先頭画素から書き込みを行い、前記第1の記憶領域の先頭画素を書き込んだ記憶領域のアドレスからアドレス値をインクリメントして各ラインを書き込む制御を含むことを特徴する請求項6記載の画像処理装置。
- 前記第1の順序と前記第2の順序は、前記サイズに関して互いに逆であり、前記メモリ制御手段による前記フレーム単位の制御は、前記第1のフレームの前記第1および前記第2の画像データを、前記第1の順序で画像データの終端画素位置から始端画素位置に向けて前記第1の記憶領域に書き込み、前記第2の順序で画像データの始端画素位置から終端画素位置に向けて読み出し、当該読み出しが完了した第1の記憶領域に前記第2のフレームの前記第1および前記第2の画像データを前記第1の順序で画像データの終端画素位置から始端画素位置に向けて書き込む制御を含むことを特徴とする請求項2に記載の画像処理装置。
- 前記第1のフレームの前記第1および前記第2の画像データを前記第1の記憶領域から画像データの始端画素位置から終端画素位置に向けて前記第2の順序で読み出す制御および前記第2のフレームの前記第1および前記異なるサイズの画像データを前記第2の順序で前記第1の記憶領域から画像データの始端画素位置から終端画素位置に書き込む制御は、画像データの始端画素位置を含む記憶領域のアドレスからアドレス値をデクリメントまたはインクリメントして読み出す制御を含み、前記第2のフレームの前記第1および前記第2の画像データを前記第1の記憶領域から画像データの終端画素位置から始端画素位置に向けて前記第1の順序で書き込む制御は、画像データの終端画素位置のアドレスからアドレス値をデクリメントまたはインクリメントして書き込む制御を含むことを特徴する請求項8記載の画像処理装置。
- 前記オフセットは、前記小さいサイズよりも大きいサイズの画像データが前記第2の処理手段から前記第2の記憶領域に記憶された場合に、前記小さいサイズの画像データと前記小さいサイズよりも大きいサイズの画像データが使用する前記第2の記憶領域でのメモリ領域が等しくなるように設定され、前記メモリ制御手段は、前記第2の記憶領域に対しては、画像データの読み出しが完了した前記メモリ領域に対して書き込みする制御を行うことを特徴とする請求項2から9のいずれか1項に記載の画像処理装置。
- 前記第2の処理手段で前記所定の処理をされた画像データを前記第2の記憶領域に書き込む前記メモリ制御手段による制御は、画像データの終端画素位置から始端画素位置に向けて書き込みを開始し、前記終端画素位置のアドレスからアドレス値をデクリメントして書き込みを行う制御を含むことを特徴とする請求項10に記載の画像処理装置。
- 前記所定の処理は、前記第1および前記第2の画像データのノイズ低減処理と、前記ノイズ低減処理をされた画像データの合成処理による前記第1のサイズのノイズ低減処理された画像データの生成を含み、前記合成処理は、前記ノイズ低減処理された小さいサイズの画像データの拡大と当該拡大されたサイズと同じサイズの前記ノイズ低減処理がされた画像データとの所定の比率での合成処理であることを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
- 前記第1のフレームは奇数フレームであり、前記第2のフレームは偶数フレームであり、前記第1の記憶領域と前記第2の記憶領域は、DRAMの異なるバンクであることを特徴とする請求項2から12のいずれか1項に記載の画像処理装置。
- 複数フレームの第1の画像データを取得する取得手段と、各フレームについて、前記第1の画像データとは異なる画素数の第2の画像データを、前記第1の画像データから生成し、前記第1および前記第2の画像データを第1の順序で出力する第1の処理手段と、各フレームの前記第1および前記異なるサイズの画像データに、前記第1の順序とは異なる第2の順序で所定の処理を行う第2の処理手段と、複数の記憶領域を有するメモリ手段とを有する画像処理装置の制御方法であり、
前記第1の処理手段および前記第2の処理手段と前記メモリ手段との間の画像データの転送を制御するメモリ制御工程、
を備え、
前記メモリ制御工程は、前記第1および第2の順序に従って、前記第1の処理手段から出力された画像データの前記メモリ手段への書き込みと、前記第2の処理手段が処理する画像データの前記メモリ手段からの読み出しをフレーム単位で制御し、第1のフレームにおける読み出しアドレスと、前記第1のフレームの次の第2のフレームにおける書き込みアドレスは、第1の前記記憶領域のアドレスであり、前記第2のフレームにおける書き込みアドレスは前記第1のフレームにおける読み出しが行われた読み出しアドレスである制御工程を有することを特徴とする制御方法。 - 複数の記憶領域を有するメモリ手段を有する画像処理装置を制御するためのプログラムであり、
コンピュータを、
複数フレームの第1の画像データを取得する取得手段、
各フレームについて、前記第1の画像データとは異なる画素数の第2の画像データを、前記第1の画像データから生成し、前記第1および前記第2の画像データを第1の順序で出力する第1の処理手段、
各フレームの前記第1および前記異なるサイズの画像データに、前記第1の順序とは異なる第2の順序で所定の処理を行う第2の処理手段、
前記第1の処理手段および前記第2の処理手段と前記メモリ手段との間の画像データの転送を制御するメモリ制御手段であり、前記第1および第2の順序に従って、前記第1の処理手段から出力された画像データの前記メモリ手段への書き込みと、前記第2の処理手段が処理する画像データの前記メモリ手段からの読み出しをフレーム単位で制御し、第1のフレームにおける読み出しアドレスと、前記第1のフレームの次の第2のフレームにおける書き込みアドレスは、第1の前記記憶領域のアドレスであり、前記第2のフレームにおける書き込みアドレスは前記第1のフレームにおける読み出しが行われた読み出しアドレスであるよう制御するメモリ制御手段として機能させることを特徴とするプログラム。 - 請求項15に記載のプログラムを記憶するコンピュータが読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014223254A JP2016091205A (ja) | 2014-10-31 | 2014-10-31 | 画像処理装置、画像処理装置の制御方法およびプログラム |
US14/883,951 US9591170B2 (en) | 2014-10-31 | 2015-10-15 | Image processing apparatus, and control method and program of image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014223254A JP2016091205A (ja) | 2014-10-31 | 2014-10-31 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016091205A true JP2016091205A (ja) | 2016-05-23 |
Family
ID=55854116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014223254A Pending JP2016091205A (ja) | 2014-10-31 | 2014-10-31 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9591170B2 (ja) |
JP (1) | JP2016091205A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2555633B (en) * | 2016-11-07 | 2020-02-26 | Advanced Risc Mach Ltd | Updating data stored in a memory |
WO2018211131A1 (en) * | 2017-05-19 | 2018-11-22 | Movidius Ltd. | Methods and apparatus for improving data transformation in processing devices |
KR102336666B1 (ko) | 2017-09-15 | 2021-12-07 | 삼성전자 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
JP2019091191A (ja) * | 2017-11-14 | 2019-06-13 | ルネサスエレクトロニクス株式会社 | 半導体装置、データ処理システム、データ読取り方法、及びデータ読取りプログラム |
US10679320B1 (en) * | 2018-07-23 | 2020-06-09 | Ambarella International Lp | High dynamic range sensor system with row increment operation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3688977B2 (ja) | 2000-06-08 | 2005-08-31 | 株式会社日立製作所 | メモリアクセス方法及びその実施装置 |
US7719579B2 (en) * | 2005-05-24 | 2010-05-18 | Zoran Corporation | Digital camera architecture with improved performance |
JP5088395B2 (ja) * | 2010-04-15 | 2012-12-05 | 株式会社ニコン | 電子カメラ |
JP2014013506A (ja) * | 2012-07-04 | 2014-01-23 | Canon Inc | 情報処理装置、制御方法、及びプログラム |
JP2015109037A (ja) * | 2013-12-05 | 2015-06-11 | キヤノン株式会社 | 画像処理装置 |
JP6263025B2 (ja) * | 2013-12-25 | 2018-01-17 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
JP6234247B2 (ja) * | 2014-01-28 | 2017-11-22 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
-
2014
- 2014-10-31 JP JP2014223254A patent/JP2016091205A/ja active Pending
-
2015
- 2015-10-15 US US14/883,951 patent/US9591170B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20160127598A1 (en) | 2016-05-05 |
US9591170B2 (en) | 2017-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9591170B2 (en) | Image processing apparatus, and control method and program of image processing apparatus | |
JP5137374B2 (ja) | メモリマッピング方法及び装置 | |
US20120110224A1 (en) | Data processing apparatus and image processing apparatus | |
CN110958362A (zh) | 基于分块查表的图像校正系统及其方法 | |
JP5194703B2 (ja) | データ処理装置及び共有メモリのアクセス方法 | |
JP2015109037A (ja) | 画像処理装置 | |
US20080111821A1 (en) | Dynamic tile sizing in an image pipeline | |
JP2015219592A (ja) | 画像処理装置、撮像装置、及び画像処理方法 | |
JP2010081024A (ja) | 画像補間処理装置 | |
JP2007164355A (ja) | 不揮発性記憶装置、そのデータ読出方法及びそのデータ書込み方法 | |
JP2004234280A (ja) | メモリ装置 | |
JP2010028758A (ja) | 画像処理装置及び方法、プログラム、並びに撮像装置 | |
US20100030978A1 (en) | Memory controller, memory control method, and image processing device | |
JP6214367B2 (ja) | 画像合成装置及び画像合成プログラム | |
JP6210742B2 (ja) | データ処理装置およびデータ転送制御装置 | |
KR20110073815A (ko) | 촬상 장치 및 이미지 회전 처리 방법 | |
JP6762775B2 (ja) | 画像処理装置、撮像装置、制御方法及びプログラム | |
JP6659195B2 (ja) | 撮像装置およびその制御方法、プログラム | |
JP4865021B2 (ja) | 画像処理装置および画像処理方法 | |
JP7249504B2 (ja) | 画像処理装置 | |
JP3426484B2 (ja) | 画像データ処理装置及び画像データ処理方法 | |
JP2017204170A (ja) | 画像処理装置及び画像処理方法 | |
JP4930825B2 (ja) | 撮像装置及びデータ転送装置 | |
JP2014174689A (ja) | データ処理装置およびデータ処理方法 | |
JP2010004308A (ja) | 撮像装置 |