JP2015109037A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2015109037A JP2015109037A JP2013252418A JP2013252418A JP2015109037A JP 2015109037 A JP2015109037 A JP 2015109037A JP 2013252418 A JP2013252418 A JP 2013252418A JP 2013252418 A JP2013252418 A JP 2013252418A JP 2015109037 A JP2015109037 A JP 2015109037A
- Authority
- JP
- Japan
- Prior art keywords
- data
- partial image
- image data
- image
- dram
- 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
- H04N1/2129—Recording in, or reproducing from, a specific memory area or areas, or recording or reproducing at a specific moment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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
- H04N1/2137—Intermediate information storage for one or a few pictures using still video cameras with temporary storage before final recording, e.g. in a frame buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Input (AREA)
- Memory System (AREA)
Abstract
【課題】 バッファメモリへのアクセス回数を抑えた効率の良いアクセスを実現することにより、画像処理速度の向上させることが可能になる。
【解決手段】 データ転送制御回路は、第1の信号処理部から得られた第i番目の部分画像データをバッファメモリに転送する際に、当該第i番目の部分画像データの中の、1つ前の第i−1番目の部分画像データと重複する領域のデータを除くデータを前記バッファメモリに転送し、重複する領域のデータを含む前記第i番目の部分画像データを後続する第2の信号処理部に転送する。
【選択図】 図2
【解決手段】 データ転送制御回路は、第1の信号処理部から得られた第i番目の部分画像データをバッファメモリに転送する際に、当該第i番目の部分画像データの中の、1つ前の第i−1番目の部分画像データと重複する領域のデータを除くデータを前記バッファメモリに転送し、重複する領域のデータを含む前記第i番目の部分画像データを後続する第2の信号処理部に転送する。
【選択図】 図2
Description
本発明は画像処理装置に関するものである。
デジタルカメラ等の画像処理装置では、一般的にノイズ低減、光学歪補正、画像回転等の画像処理が行われる。例えば、ノイズ低減処理の場合、画像データを複数の周波数帯域に分割して生成した複数種類の画像データをDRAMへ書き込む。その後、DRAMから読み出した各画像データに適切なフィルタ処理を施し、周波数帯域毎に処理された画像データを再び周波数合成することでノイズ低減処理を行う技術が知られている。
このような画像処理において、フィルタ処理をSRAM等のラインメモリを用いて行う場合、画像の多画素化に伴って必要なラインメモリ容量が増え、回路規模が増加してしまうという問題がある。また、近年の静止画連写コマ数、動画フレームレートの向上等に伴い、このような画像処理を高速に行うことの重要性が高くなってきている。
従来このような問題に対し、回路規模を抑えた画像処理や、データの処理速度向上を実現する様々な技術が知られている。
特許文献1では、画像データを複数に分割し、分割した領域毎に画像処理を施すことで回路規模を抑えている。つまり、ラインバッファへの格納が必要なデータ量がラインバッファ容量に収まるように、画像を複数に分割した分割画像単位で処理を行うことで、ラインバッファ容量の増加を抑えている。尚、この分割処理においてフィルタ処理を行う場合、分割画像の上下左右端の画素に対してフィルタ処理に必要な画素領域(以下、重複領域という)を余分に付加してフィルタ処理を行うことになる。
特許文献2では、分割画像のパイプライン処理において、重複領域が必要な分割画像の処理を高速に行う技術が開示されている。具体的には、第1〜第3の3つの記憶領域を有し、パイプライン処理では、第1記憶領域に入力画像を書き込むと共に、残りの第2、及び第3記憶領域から格納済みの分割画像データと重複領域画像をそれぞれ読み出して画像処理を行う。これにより、入力画像の書き込みに影響されずに分割画像データと重複領域画像を読み出すことが出来る。
しかしながら、特許文献1に開示の技術では、分割パイプライン処理において分割画像をDRAMへ書き込み、DRAMから分割画像を読み出してフィルタ処理を施す場合、DRAMアクセスデータ量が増加してしまうという問題がある。具体的には、フィルタ処理に必要な重複領域を分割画像処理毎にDRAMに書き込む必要があり、これによってDRAMアクセスデータ量が増加し、データ処理速度に影響が出てしまう。
また、特許文献2に開示の技術では、3つの記憶領域の構成である為、分割画像に対して、分割画像の左端と右端(または上端と下端)等、複数の重複領域が必要な場合に正しくフィルタ処理が出来ない可能性がある。また、重複領域以外の不要な画像データも重複領域画像と共に記憶領域に保持する必要がある為、多くの記憶領域容量が必要になる。また、分割画像と重複領域画像を異なる記憶領域に格納する必要があり、一般的に水平分割処理時の重複領域の水平サイズは小さい為、記憶領域としてDRAMを用いるとDRAMへのショートバーストアクセスが頻発してしまう。DRAMへのショートバーストが頻発すると、コマンドオーバーヘッドが増加する為、データ処理速度が低下してしまう。
そこで、本明細書では、バッファメモリへのアクセス回数を抑えた効率の良いアクセスを実現することにより、画像処理速度の向上させるための技術を提供する。
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
互いに重複する領域を持つ複数の部分画像データを含む画像データを処理する手段であって、それぞれが前記部分画像データを単位として画像処理を行う複数の処理手段と、
記憶手段と、
前記複数の処理手段における第1の処理手段により処理された部分画像データを前記記憶手段に書き込み、前記記憶手段に記憶された部分画像データを読みだして前記第2の処理手段に転送するデータ転送手段とを有し、
前記データ転送手段は、
前記第1の処理手段から得られた第i番目の部分画像データのうち、1つ前の第i−1番目の部分画像データと重複する領域のデータを除くデータを、前記記憶手段における、前記第i−1番目の前記重複する領域のデータの記憶アドレスと連続するアドレスに書き込み、前記重複する領域のデータを含む前記第i番目の部分画像データを前記記憶手段から読み出して前記第2の処理手段に転送することを特徴する。
互いに重複する領域を持つ複数の部分画像データを含む画像データを処理する手段であって、それぞれが前記部分画像データを単位として画像処理を行う複数の処理手段と、
記憶手段と、
前記複数の処理手段における第1の処理手段により処理された部分画像データを前記記憶手段に書き込み、前記記憶手段に記憶された部分画像データを読みだして前記第2の処理手段に転送するデータ転送手段とを有し、
前記データ転送手段は、
前記第1の処理手段から得られた第i番目の部分画像データのうち、1つ前の第i−1番目の部分画像データと重複する領域のデータを除くデータを、前記記憶手段における、前記第i−1番目の前記重複する領域のデータの記憶アドレスと連続するアドレスに書き込み、前記重複する領域のデータを含む前記第i番目の部分画像データを前記記憶手段から読み出して前記第2の処理手段に転送することを特徴する。
本発明によれば、バッファメモリへのアクセス回数を抑えた効率の良いアクセスを実現することにより、画像処理速度の向上させることが可能になる。
以下、添付図面に従って本発明に係る実施の形態を詳細に説明する。
[第1の実施形態]
図2は、第1の実施形態に係る画像処理装置の構成を示すブロック図である。第1の実施形態では、画像処理装置がデジタルカメラに適当される。
図2は、第1の実施形態に係る画像処理装置の構成を示すブロック図である。第1の実施形態では、画像処理装置がデジタルカメラに適当される。
図2において、201はレンズや絞り等からなる結像光学部であり、フォーカス調節や露出調節を行う。202は光学像を電気信号に変換するCCD等の撮像素子、203は撮像素子202からのアナログ画像信号をデジタル画像データに変換するA/D変換回路である。230は一時的にデータを格納するため、並びに、各種処理のバッファメモリとして機能するDRAMである。220はDRAM230への画像データの書き込み/読み出しを制御し、複数の信号処理部の間に介在するデータ転送制御回路、204はバスを介して各種制御を司るCPUである。210、211は画像データに対して、ノイズ低減処理等の各種画像処理(ノイズ除去、歪補正、回転など)を施す第1、第2の信号処理部である。第1の実施形態では、1画面の画像から、それぞれが元の1画面の画像データの一部を含み、互いに重複する領域を有する画像データ(以下、部分画像データ)を生成する。そして、生成した部分画像データを単位に第1の信号処理部210が歪補正処理し、その結果をDRAM230へ書き込む。もう一つの第2の信号処理部211はDRAM230から、第1の信号処理部210の処理結果の部分画像データを読み出し、ノイズ除去のフィルタ処理を施す。なお、ここで示した第1の信号処理部210、第2の信号処理部211の処理の種別は一例であって、これによって本発明が限定されるものではない。
212は、記録部206が記録媒体へ記録する画像データを生成する記録画像生成部であり、符号化回路を有する。205は、第2の信号処理部211で生成された画像データを表示する液晶モニター等からなる表示部である。なお、記録媒体は着脱可能なメモリカードとするが、その種類は問わない。
図3は、第1の実施形態に係るデータ転送制御回路220の構成を示すブロック図である。300は、DRAM230への画像データの書き込みのための転送を制御するWRDMAC(Write Direct Memory Access Controller)である。310は、DRAM230からの画像データの読み込みのための転送を制御するRDDMAC(Read Direct Memory Access Controller)である。実施形態では、第1の信号処理部210、第2の信号処理部211に対し、それぞれ、WRDMAC300、RDDMAC310が設けられる。320は、WRDMAC300、RDDMAC310の要求により、DRAM230に対して書き込み/読み出しコマンド等の転送を制御するメモリアクセス制御部である。321は追い越し防止制御部であり、始めにDRAM230へアクセスを開始したDMACのアクセスアドレスを、2番目にアクセスを開始したDMACのアクセスアドレスが追い越さないように制御する追い越し防止制御部である。本第1の実施形態では、始めにDRAM230へアクセスを開始するDMACとしてWRDMAC300、2番目にアクセスを開始するDMACとしてRDDMAC310を設定する。つまり、追い越し防止制御部320は、RDDMAC310のDRAM230へのアクセスアドレスがWRDMAC300のDRAM230へのアクセスアドレスを追い越さないように設定する。具体的には、RDDMAC310のDRAM230へのアクセスアドレスがWRDMAC300のDRAM230へのアクセスアドレス以上の場合は、RDDMAC310のDRAM230へのアクセスを禁止する。これにより、WRDMAC300によるDRAM230への書き込みが完了している画像データのみ確実にRDDMAC310が読み込むことができる。
本第1の実施形態はこの追い越し防止制御を適用し、第1の信号処理部210のDRAM230への書き込み開始直後に、第2の信号処理部211のDRAM230への読み出しを開始させることで、画像処理に要する時間を短くしている。
本第1の実施形態におけるDRAM230は1アドレス32bitの8BANK構成であり、1回のアクセスで最大16バースト(32bit×16BL=64Byte)のデータを連続転送できる。DRAM230へアクセスを行う際、1つのバンクに対してWRDMAC300による書き込みとRDDMAC310による読み出しを行うと、アクセスを行う度にプリチャージコマンドの発行が必要になる可能性が高くなる。その場合、プリチャージコマンド発行中は同一バンクへのアクセスが行えない為、DRAM230へのアクセス効率が低下してしまう。よって本第1の実施形態では、後述のように部分画像を処理する場合に、一つの部分画像をDRAM230に対して書き込む場合に、バンクインターリーブ制御して画像データのアクセスを行う。バンクインターリーブ制御を行うと、1つのバンクへのデータアクセス期間中に、他のバンクへのプリチャージコマンド発行が可能である為、画像データの書き込みに要する時間を短く抑え、効率良くDRAM230へのアクセスを行うことができる。
図4に第1の実施形態における、WRDMAC300、RDDMAC310のデータ格納アドレスを算出するアドレス制御部のブロック図を示す。図4のアドレス制御回路は、各DMAC、即ち、WRDMAC300、RDDMAC310にそれぞれ設けられている。WRDMAC300、RDDMAC310は、ある量のデータを転送したらデータ格納アドレス値をジャンプさせるオフセットジャンプ機能を有している。CPU204は、第1の信号処理部210、第2の信号処理部211から書き込み、読み出し要求があった場合、WRDMAC300、RDDMAC310に対して、スタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値を設定する。アドレスセレクタ401は、データアクセス開始時においてCPU204に設定されたスタートアドレスをアドレス値として選択する。転送長カウンタ402は、転送データ長をカウントし、CPU204に設定されたオフセットデータ転送長のデータを転送する毎に、オフセット値算出器403へオフセットタイミング信号を出力する。また、転送長カウンタ402は、CPU204に設定されたデータ総転送長とオフセットデータ転送長から、DRAM230へ1回のアクセスで転送するデータ転送長をオフセット値算出器403へ出力する。オフセット値算出器403は転送長カウンタ402からオフセットタイミング信号を受信すると、CPU204に設定されたオフセット値を出力する。それ以外のタイミングでは転送長カウンタ402から出力されるデータ転送長を出力する。加算器404は、オフセット値算出器403から出力された値を現在のアドレス値に加算し、次のデータを格納するアドレス値を生成する。アドレスセレクタ401は、データが転送される毎に、加算器404が出力する値を現在のアドレス値として選択し、405のフリップフロップで値を保持する。
図5は、第1の実施形態に係る画像処理装置により処理される画像データを示す図である。本実施形態では、画像データの1画素を1バイトのデジタルデータとして処理し、1画面の水平方向を1528画素、垂直方向を384画素(ライン)で構成する。本第1の実施形態では、処理対象の1画面の画像データから、それぞれが元の画像データの一部を含む三つの部分を生成し、各部分の画像データに対して画像処理を行う。この際、各部分の水平方向及び垂直方向の画素数が等しくなるように部分画像を生成する。また、各部分画像は、元の1画面において、当該部分画像に隣接する画像を含む部分画像との間で一部の領域の画像データが重複する様に生成される。隣接する部分画像と重複する領域を重複領域とよぶ。なお、ここでは1画面から三つの部分画像を生成するが、これ以外の数の部分画像を生成するようにしてもよい。また、各部分画像の水平方向の画素数は、重複領域の画素数に応じて、適宜変更できるようにしてもよい。図5において、「左」は1つの部分画像の左端の重複領域を示し、「右」は同右端の重複領域を示し、「中」は左右端の重複領域で挟まれる非重複領域を示す。
本実施形態では、1つの部分画像のサイズは、水平512画素、垂直384画素とする。1画素がバイトのデータなので、各部分画像のデータ量は、水平512バイト×垂直384画素となる。また、左右端それぞれフィルタ処理で必要となる画素を4画素とする。実施形態では1画素が1バイトであるものとしているので、重複領域のサイズは水平方向に4Byteとなる。因に、水平方向の重複する画素数をN,1画素を構成するバイト数がMとしたとき、重複する領域のバイト数はN×Mと定義できる。また、1画面から三つの部分画像を生成する場合、何れかの部分画像が元の1画面における左端を含み、他の部分画像が元の1画面における右端を含むように生成する。ここで、1番目の部分画像B1の右端重複領域データと、2番目の部分画像B2の左端重複領域データは同一画像データである。また、2番目の部分画像B2の右端重複領域データと、3番目の部分画像B3の左端重複領域データも同一画像データである。
なお、各部分画像は、第1の信号処理部210がDRAM230から画像データを読み出して処理する際に、DRAM230からの読み出しアドレスを制御することにより生成される。
図6は、第1の実施形態に係る画像処理装置の部分画像に対する処理順序を示す図である。時刻T1において第1の信号処理部210は、1番目の部分画像B1の処理を行ってDRAM230にその処理後の部分画像を書き込む。第1の信号処理部210がDRAM230へ1番目の部分画像B1の書き込みを開始した直後に、第2の信号処理部211は、DRAM230から、第1の信号処理部210が書き込んだ1番目の部分画像B1を読み出して画像処理(フィルタリング処理)を行う。第1の実施形態では、追い越し防止制御部321により、第1の信号処理部210により処理対象の部分画像の書き込みが完了する前に、同じ処理対象の部分画像を第2の信号処理部211が読み出さないように制御している。このように、追い越し制御を実施して第1の信号処理部210の部分画像の書き込みを開始した後、書き込みと並列に、第2の信号処理部211の部分画像の読み出しを行うことで、部分画像の処理時間を短くしている。第2の信号処理部211による1番目の部分画像B1の読み出しが完了すると(時刻T2)、第1の信号処理部210は、2番目の部分画像B2の処理を行ってDRAM230にその処理後の部分画像B2を書き込む。第1の信号処理部210がDRAM230へ2番目の部分画像B2の書き込みを開始した後、第2の信号処理部211は、第1の信号処理部210が書き込んだ2番目の部分画像B2をDRAM230から読み出して画像処理を行う。ここでも追い越し防止制御部321により、第1の信号処理部210により処理対象の部分画像B2書き込みが完了する前に、同じ処理対象の部分画像を第2の画像処理部211が読み出さないように制御している。以降同様に、第2の信号処理部211による2番目の部分画像B2の読み出しが完了すると(時刻T3)、第1の信号処理部210は、3番目の部分画像B3の処理を行って、DRAM230にその処理後の部分画像B3を書き込む。また第1の信号処理部210がDRAM230へ3番目の部分画像B3の書き込みを開始した後、書き込みと並列に、第2の信号処理部211は、第1の信号処理部210が書き込んだ3番目の部分画像B3をDRAM230から読み出して画像処理を行う。ここでも追い越し防止制御部321により、第1の信号処理部210により処理対象の部分画像B3の書き込みが完了する前に、同じ処理対象の部分画像を第2の画像処理部211が読み出さないように制御している。
図1(a)乃至(c)は、第1の実施形態に係る画像処理装置のDRAM230アクセスパターンを示す図である。
同図(a)は図6の時刻T1における、第1の信号処理部210からDRAM230への書き込みシーケンスと、第2の信号処理部211のDRAM230からの読出しシーケンスを示している。
実施形態の場合、1つの部分画像は水平方向に512バイト、垂直方向に384画素で構成される。そこで、CPU204は、第1の信号処理部210から画像データの書き込み要求があった場合、データ転送制御部220内のWRDMAC300に対して、書き込み開始アドレスW_S_Addrとして、DRAM230の所定のバンクにおける所定のロウアドレスの先頭のカラムアドレスをセットする。また、CPU204は、データ総転送長として196608バイト(=512×384)、オフセットデータ転送長として0、オフセットとして0をセットし、第1の信号処理部210による画像データの書き込みを開始させる。なお、オフセットデータ長が0の場合、書き込みアドレスがジャンプすることはなく、アドレスが昇順に順番に更新されていくことを示すものとする。また、CPU204は、データ転送制御部220内のRDDMAC300に対して、読出し開始アドレスR_S_Addrとして、DRAM230の所定のバンクにおける所定のロウアドレス、即ち、第1の信号処理部210により画像データが書き込まれたロウアドレスの先頭のカラムアドレスをセットする。また、CPU204は、データ総転送長として196608バイト(=512×384)、オフセットデータ転送長として0、オフセットとして0をセットし、第2の信号処理部210による画像データの読み出しを開始させる。
以上の結果、図1(a)に示すごとく、第1の信号処理部210で処理された最初の部分画像B1のデータが、DRAM230の一つのバンクにおける所定のロウアドレスの先頭のカラムアドレスから途切れることなく格納されていく。また、一つの部分画像のデータの書き込み途中で、一つのバンクにおける最終のカラムアドレスに達した場合、メモリアクセス制御部320は、書き込み先を別のバンクに切り替えて、画像データの書き込みを続ける。なお、図示では、部分画像Bx(xは1乃至3のいずれか)のラインy(yは1乃至384のいずれか)の画像データを、「B.x−L.y」として表している。先に説明したように、実施形態におけるDRAM230は最大16バースト長で、64バイトのデータ転送を行うことが可能としている。各部分画像の1ラインは512バイトで構成されているので、1ライン分の画像データを転送する場合、16バースト転送を8回行うことになる。つまり、部分画像B1をDRAM230に書き込む場合、最大バースト長のデータ転送だけで実現できることになる。
また、DRAM230の所定のバンクにおける所定のロウアドレスの先頭のカラムアドレスから連続した読み出しアドレスが指定され、第2の信号処理部211に対して画像データが読み出され、フィルタリング処理を行うことになる。そして、部分画像B1をDRAM230から読み出す際も、最大バースト長のデータ転送だけで実現できることになる。
図1(b)は、2番目の部分画像B2の書き込みと読出しのシーケンスを示している。既に説明したように、部分画像B1と部分画像B2は、互いに重複部分を有する。つまり、部分画像B1の右端の4バイトと部分画像B2の左端の4バイトは同じ画像である。そこで、2番目の部分画像B2の各ラインの左端の4バイトについては、既にDRAM230に記憶済みのデータ(符号201a)を利用してフィルタ処理を実行する。これにより、部分画像B2を処理するために、重複部分を第1の信号処理部210からDRAM230に転送することを省略して、部分画像B2の処理のために、画像データをDRAM230に書き込むために要する時間を短縮する。
具体的には、CPU204は、第1の信号処理部210から部分画像B2の書き込み要求があった場合、データ転送制御部220内のWRDMAC300に対して、DRAM230の所定のバンクにおける所定のロウアドレスの先頭ではなく、部分画像B1のライン1の右端の4バイトの画像データが記憶されているアドレスの直後のアドレスを、部分画像B2の書き込み開始アドレスとして設定する。また、CPU204は、データ転送制御部220内のWRDMAC300に対して、データ総転送長として195072バイト(=(512−4)×384)、オフセットデータ転送長として508、オフセットとして4をセットし、第2の信号処理部210に対する画像データの読み出しを開始させる。上記の結果、508バイトの画像データが書き込まれるたびに、書き込みアドレスが4バイト追加されることが繰り返される。この結果、部分画像B1の各ラインの右端の4バイトが上書きされずにDRAM230に記憶される。本実施形態では、DRAM230に記憶されたままの、部分画像B1の各ラインの右端の4バイトを、部分画像B2の左端の4バイトとして再度フィルタ処理のために使用する。部分画像B2の各ラインを第1の信号処理部210からDRAM230に転送する際、512バイトの画像データのうち508バイトが転送されることになるので、その転送の際には16バースト転送が7回、15バースト転送が1回行われることになる。つまり、1ライン分のデータを転送するため、ショートバースト転送が実行されるのを1回に抑え、残りのデータを最大バースト長で転送する。
一方、第2の信号処理部211に対してDRAM230から部分画像B2を読み出す際には、CPU204は、データ転送制御部220内のRDDMAC300に対して、部分画像B1のライン1の右端の4バイトのデータが格納されているアドレスの先頭を、読出し開始アドレスとして設定する。また、CPU204は、データ転送制御部220内のRDDMAC300に対して、データ総転送長として196608(=512×384)、オフセットデータ転送長として0、オフセットとして0をセットする。つまり、部分画像B2をDRAM230から読出して第2の信号処理部211に転送する場合、分割画像B1の画像データの読み出し時に対し、読出し開始アドレス位置が異なるだけで、それ以外の転送にかかるパラメータは変わらない。従って、第2の信号処理部211に部分画像B2を転送する場合は、16バースト転送のみ、すなわち、最大バースト長のみの転送で実現できることになる。
図1(c)は、部分画像B3の書き込みと読出しのシーケンスを示している。この部分画像B3の書き込みと読出しは、部分画像B2の書き込み及び読み出しと同様に実行される。すなわち、DRAM230に記憶済みの、部分画像B2の1ラインの右端の4バイトを、部分画像B3の1ラインの左端の4バイトとして利用して処理を行う。部分画像B2の書き込みと読出しと異なる点は、それぞれの開始アドレスが異なるのみである。
以上の制御を行うことにより、ショートバーストアクセス発生回数を抑えながら、DRAM230へのアクセスデータ量を減らすことが出来る為、分割画像の処理時間を短くすることが出来る。
また、本実施形態では、1つの部分画像を一つのバンクの同じロウアドレス(ページ)に書き込む。そして、同一バンクの最後のカラムアドレスまで書き込んだ後、書き込み先として別のバンクの同じロウアドレスを指定し、書き込みを続ける。このように、1つの部分画像が、複数のバンクにおける同じロウアドレスに対して、バンクインターリーブ制御により書き込まれる。また、2番目、3番目の部分画像は、1番目の部分画像の書き込みアドレスに対して、一部上書きされる。
図7は、第1の実施形態における、CPU204による、部分画像のDRAM230へのアクセス処理の手順を示すフローチャートである。
CPU204は、データ転送制御回路220の追い越し防止制御部321に対し、1つの部分画像の転送の期間内にてRDDMAC310のDRAM230への書き込みアドレスが、WRDMAC300のDRAM230からの読み出しアドレスを追い越さないように設定する(S701)。CPU204は、WRDMAC300、RDDMAC310に対し、最初の部分画像B1のスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う(S702)。CPU204は、WRDMAC300、RDDMAC310に対し、最初の部分画像B1のDRAM230への書き込み及び読み出し開始を指示する(S703)。CPU204は、部分画像B1の全ての画像データのDRAM230への書き込みが完了したら(S704)、WRDMAC300、RDDMAC310に対し、2番目の部分画像B2のスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う(S705)。CPU204は、WRDMAC300、RDDMAC310に対し、部分画像B2のDRAM230への書き込み及び読み出し開始を指示する(S706)。CPU204は、部分画像B2の全ての画像データのDRAM230への書き込みが完了したら(S707)、WRDMAC300、RDDMAC310に対し、3番目の部分画像B3のスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う(S708)。CPU204は、WRDMAC300、RDDMAC310に対し、部分画像B3のDRAM230への書き込み及び読み出し開始を指示する(S709)。CPU204は、部分画像B3の全ての画像データのDRAM230への書き込みが完了したら、処理を終了する(S710)。
以上説明したように、第1の実施形態によれば、1画面の画像から複数の部分画像を生成して処理する場合に、重複領域の画像データを1回だけDRAMに転送すればよいので、各部分画像データのDRAM230へのアクセスデータ量を削減することが出来る。また、部分画像毎にDRAM230へのアクセスアドレスを変更することで、DRAM230へのショートバーストアクセス発生回数を抑えることが出来る。これにより、DRAM230へのアクセス効率が向上し、部分画像の処理時間を短くすることが出来る。
尚、本第1の実施形態では処理対象の1画面の画像から、三つの部分画像を生成する例を説明したが、1画面から複数の部分画像を生成すればよく、3つに限定されるものではない。すなわち、部分画像(ブロック)の個数は一般にN個として表現し、そのうちの第i番目のブロックのデータをDRAM230に格納する際には、1つ前の第i−1番目のブロックとの重複領域内のデータは、第i番目のブロックの左端の重複領域のデータであると見なし、残りのデータをDRAM230に転送すればよい。
また、本実施形態では、各部分画像が、同じ水平ラインの画素の異なる部分を含むように構成したが、各部分画像が、一つの水平ライン全てを含み、互いに異なるラインを含むようにしても構わない。また、第1の実施形態では、一つの部分画像を水平方向512バイト×垂直方向384ラインで構成し、重複領域を4バイトとする例を説明した。これ以外にも、各部分画像の水平方向の画素数や、重複領域のサイズをこれ以外の値にすることも可能である。上記はあくまで一例を示したものとして理解されたい。
また、本実施形態では、DRAM構成を1アドレス32ビット、8バンク、最大16バースト(32bit×16BL=64Byte)データ転送としたが、他のDRAM構成でも良いのはもちろんである。
[第2の実施形態]
以下、第2の実施形態を説明する。本第2の実施形態に係る画像処理装置の構成、データ転送制御回路220の構成、DMACのアドレス制御部の構成、画像処理装置の各部分画像の処理順序、は第1の実施形態と同様である為、説明を省略する。
以下、第2の実施形態を説明する。本第2の実施形態に係る画像処理装置の構成、データ転送制御回路220の構成、DMACのアドレス制御部の構成、画像処理装置の各部分画像の処理順序、は第1の実施形態と同様である為、説明を省略する。
本第2の実施形態では、画像処理装置が処理する部分画像のサイズ、画像処理装置のDRAMへのアクセス手順が第1の実施形態と異なる。本第2の実施形態では、複数の部分画像の少なくとも一つの水平方向の画素数が他の部分画像とは異なるように構成した場合にも、DRAM230へのアクセスデータ量を削減し、DRAM230へ効率良くアクセス出来るようにDRAM230へのアクセス制御を行う。具体的には、各部分画像の水平方向のサイズのうち、最大サイズに基づき、DRAM230への各ラインの先頭アドレスの位置を決定する。以下、その一例を説明する。
図8は、第2の実施形態に係る画像処理装置が処理する部分画像サイズを示す図である。本第2の実施形態では、1画面の画像データから三つの部分画像を生成するが、その一部の水平方向のサイズを、他の部分画像とは異なる様に構成する。1番目の部分画像B1と3番目の部分画像B3のデータサイズは、水平510バイト、垂直384ラインであり、左右端それぞれにフィルタ処理で必要となる水平4バイトの重複領域を有している。2番目の部分画像B2のデータサイズは、水平514バイト、垂直384ラインであり、左右端それぞれにフィルタ処理で必要となる水平4バイトの重複領域を有している。そのため、本第2の実施形態では、DRAM230への各ラインのアドレスの間隔を、その最大サイズである514とする。
ここで、部分画像B1の右端重複領域と、部分画像B2の左端重複領域は同一の画像データである。また、部分画像B2の右端重複領域と、部分画像B3の左端重複領域は同一の画像データである。
図9(a)乃至(c)は、第2の実施形態に係る画像処理装置のDRAM230アクセスパターンを示す図である。
同図(a)は、第1の信号処理部210と第2の信号処理部211が1番目の部分画像B1の処理を行う場合の転送データのアクセスを示している。この場合、左右端の重複領域を含めた部分画像B1の全データが、第1の信号処理部210からのDRAM230に書き込まれる。本第2の実施形態では、データ転送制御回路220は、部分画像B1におけるライン1の画像データ書き込み後、1番目の部分画像B1と、水平方向のサイズが最も大きい2番目の部分画像B2との水平サイズの差分である4バイト分、書き込みアドレスをジャンプさせる。また、データ転送制御回路220は、ライン2以降の画像データも同様の手順で書き込みを行う。つまり、510バイトの書き込みを行う度に、重複するサイズ分だけ書き込みアドレスをジャンプさせることが繰り返される。
また、データ転送制御回路220は、第1の信号処理部210がDRAM230へ書き込んだ1番目の部分画像B1を読出して第2の信号処理部211に送る。この際、データ転送制御回路220は、1番目の部分画像B1の左右端の重複領域を含めた画像データをDRAM230から読み出して、第2の信号処理部220に送る。本第2の実施形態では、データ転送制御回路220は、ライン1の画像データ読み出し後、1番目の部分画像B1と、2番目の部分画像B2との水平サイズの差分である4バイト分、読み出しアドレスをジャンプさせる。ライン2以降の画像データも同様の手順で読み出される。
図9(b)は、第1の信号処理部210と第2の信号処理部211が2番目の部分画像B2の処理を行う場合の転送データのアクセスを示している。本実施形態でも、DRAM230に既に記憶された1番目の部分画像B1の右端の4バイトを、2番目の部分画像B2の左端の4バイトとして使用して、第2の画像処理部211による処理を行う。そのため、CPU204は、データ転送制御部220内のWRDMAC300を制御して、部分画像B2の各ラインにおける5バイト目以降の画像データを、1番目の部分画像B1の右端の4バイトの記憶アドレスの直後のアドレスから書き込む。この結果、部分画像B2の左端重複領域の画像データをDRAM230に対して重複して書き込みを行わなくて済む。そのため、第1の信号処理部210からDRAM230に転送される画像データのデータ量を抑え、画像処理時間を短くすることが出来る。また、CPU204は、データ転送制御回路220を制御して、部分画像B2の1ライン分の画像データ書き込み完了時において、書き込みアドレスを4バイト分ジャンプさせ、部分画像B1の右端重複領域を上書きしないように部分画像B2の書き込みを行う。
CPU204は、データ転送制御回路220に対し、部分画像B1のライン1の右端重複領域を読出し開始アドレスR_S_Addrとして設定し、DRAM230から画像データを読みだして第2の信号処理部220に送る。データ転送制御回路220は、部分画像B2のライン1の画像データ(514バイト)の転送を終えると、後続する位置からライン2以降の画像データを順次転送する。部分画像B1の書き込みの際、部分画像B2の水平サイズに応じて各ラインの先頭書き込みアドレスが決定される。そのため、部分画像B2の読み出し時においては、読み出しアドレスを途中でジャンプさせずに、連続した読み出しアドレスを指定するだけで、重複領域を含む、部分領域B2の画像データがDRAM230から読み出され、第2の信号処理部220に転送される。これにより、部分画像B2をDRAM230から読み出す際は、16バースト転送のみとすることができる。その結果、ショートバーストアクセスが発生しない為、効率良くDRAM230へアクセスすることが出来る。
図9(c)は、第1の信号処理部210と第2の信号処理部211が3番目の部分画像B3の処理を行う場合の転送データのアクセス示している。本実施形態でも、DRAM230へ書き込んだ2番目の部分画像B2の右端の4バイトを、3番目の部分画像B3の左端の4バイトとして使用して、第2の画像処理部211による処理を行う。そのため、データ転送制御回路220は、部分画像B3の各ラインにおける5バイト目以降の画像データを、2番目の部分画像B2の右端の4バイトの記憶アドレスの直後のアドレスから書き込む。また、CPU204は、データ転送制御回路220に対し、部分画像B2のライン1の右端の重複領域の先頭が記憶されているアドレスを読出し開始アドレスとして設定し、各ラインにつき510バイトを読みだすように制御する。そして、データ転送制御回路220は、その1ライン分の画像データを読み出した場合に、4バイト分だけ読み出しアドレスをジャンプさせ、ライン2以降の画像データを読み出す。
以上の結果、1画面の画像から水平方向のサイズが異なる複数の部分画像を生成して処理する場合に、各部分画像のDRAM230への転送データ量を削減することができる。
尚、本第2の実施形態では、1画面の画像から三つの部分画像を生成したが、部分画像の数をこれ以外にすることも可能である。また、本第2の実施形態では1番目、3番目の部分画像B1,B3のサイズを510バイト×384ライン、2番目の部分画像B2のサイズを514バイト×384ライン、重複領域を4バイトとしたが、他の値とすることも可能である。
また、本第2の実施形態では1番目、3番目の部分画像のDRAM230アクセス時において、1ライン分のデータの書き込み完了時に書き込みアドレスをジャンプさせたが、必ずしも1ライン分のデータの書き込み完了時でなくても良い。例えば、部分画像B1の1ラインの途中で、書き込みアドレスを4バイト分ジャンプさせる。そして、部分画像B2のデータをDRAM230に書き込む場合は、部分画像B1の右端のデータの記憶アドレスの次のアドレスを書き込み開始アドレスとして指定する。このように、1ラインの途中で書き込みアドレスをジャンプさせた場合であっても、ジャンプ回数が増えなければDRAM230へのデータ転送に要する時間は増加しない。
[第3の実施形態]
第3の実施形態を説明する。本第3の実施形態に係る画像処理装置の構成、DMACのアドレス制御部の構成、画像処理装置が処理する部分画像サイズ、画像処理装置の部分画像処理順序は第2の実施形態と同様である為、説明を省略する。
第3の実施形態を説明する。本第3の実施形態に係る画像処理装置の構成、DMACのアドレス制御部の構成、画像処理装置が処理する部分画像サイズ、画像処理装置の部分画像処理順序は第2の実施形態と同様である為、説明を省略する。
本第3の実施形態では、データ転送制御回路220の構成、画像処理装置のDRAMアクセスパターン、分割画像のDRAMアクセスシーケンスが第2の実施形態と異なる。本第3の実施形態では、各部分画像の間の、水平のサイズの差が所定値以下の場合に、第2の実施形態よりもDRAM230へのショートバーストアクセス回数を抑え、DRAM230へ効率良くアクセス出来るようにDRAM230へのアクセス制御を行う。本第3の実施形態において、部分画像の水平画像サイズの差に対する所定値は16バイトとする。そして、本第2の実施形態における部分画像の水平画像サイズの差は4バイトであり、所定値以下である為、以降記載の制御を実施する。
図10は、本第3の実施形態に係るデータ転送制御回路220の構成を示すブロック図である。WRDMAC300、RDDMAC310、メモリアクセス制御部320、追い越し防止制御部321、DRAM230の構成は第1の実施形態と同様である為、説明を省略する。図10において、符号301は、DRAM230へ書き込む画像に対し、設定されたデータ量の画素を水平方向に付加することが可能な画素コピー部である。311は、DRAM230から読み出された画像に対し、設定されたデータ量の画素を水平方向に削除することが可能な画素カット部である。
図11(a)乃至(c)は、本第3の実施形態に係る画像処理装置のDRAM230へのアクセスパターンを示す図である。
図11(a)は、第1の信号処理部210と第2の信号処理部211が1番目の部分画像B1の処理を行う場合の、DRAM230に対する転送データのアクセスを示している。画素コピー部301は、第1の信号処理部210が処理した左右端の重複領域を含めた1番目の部分画像B1の各ラインデータに対してダミー画素を付加する。本実施形態では、部分画像B1と部分画像B2の水平方向サイズの差分に対応する4バイトのダミー画素(図示の符号1101)が、部分画像B1の右端に付加される。この結果、ダミー画素の4バイトを含めた、部分画像B1の1ライン分のデータは514バイトとなる。そして、CPU204は、データ転送制御部220内のWRDMAC300に対して、ダミー画素を含む部分画像B1をDRAM230に書き込む際、書き込みアドレスを1ライン目の最後と2ライン目の先頭が連続するように指示して書き込む。このように、ダミー画素が付加された部分画像B1をDRAM230に書き込む場合に、書き込みアドレスを1ライン毎に途中でジャンプさせる必要がなくなる為、最大の16バースト転送のみで部分画像B1をDRAM230に書き込むことができる。この結果、第2の実施形態の処理よりも、DRAM230に対する書き込みデータ量は増加する。しかし、本第3の実施形態のように、付加されるダミー画素の画素数が少ない場合は、ダミー画素を付加してDRAM230に書き込むことにより、ショートバーストアクセス回数を減らした方が、各部分画像のデータを全てDRAM230に転送するために要する時間を短くすることが出来る。
画素カット部311は、DRAM230から、画像コピー部301により付加されたダミー画素を含めた全ての部分画像を読み出す。そして、画素カット部311は、読み出した部分画像から、付加されたダミー画素を削除して第2の信号処理部211へ出力する。ダミー画素を含む部分画像をDRAM230から読み出すことで、DRAM230は、読み出しアドレスを途中でジャンプさせる必要がなくなる。そのため、16バーストによる転送のみでDRAM230から部分画像を読み出すことができる。これによりDRAM230読み出しデータ量は増加するが、本第3の実施形態のように付加画素数が少ない場合は、付加画素も読み出してショートバーストアクセス回数を減らした方がDRAM230アクセス効率が向上し、画像読み出しに要する時間を短くすることが出来る。
図11(b)は、第1の信号処理部210と第2の信号処理部211が2番目の部分画像B2を処理する場合の、DRAM230に対する転送データのアクセスを示している。DRAM230に記憶された1番目の部分画像B1のライン1(付加画素は除く)の右端の4バイト(図示の符号201a)を、2番目の部分画像B2の左端の4バイトとして使用して、第2の画像処理部211による処理を行う。そのため、CPU204は、データ転送制御部220内のWRDMAC300を制御して、部分画像B1の各ラインにおける右端の4バイトの記憶アドレスの直後のアドレスを書き込み開始アドレスW_S_Addrに設定し、部分画像B2の書き込みを開始する。部分画像B2の水平方向のサイズは514バイトであるので、ダミー画素を付加する必要はない。ただし、CPU204は、データ転送制御部220内のWRDMAC300に対して、510バイトのデータを書き込むごとに、4バイトだけジャンプするように設定する。
一方、CPU204は、RDDMAC300に対して、部分画像B1のライン1の右端の4バイトの先頭の記憶アドレスを読出し開始アドレスR_S_Addrにセットし、第2の画像処理部211に対する部分画像B2の転送を開始させる。部分画像B2をDRAM230から読み出す場合、アドレスのジャンプ処理は不要になり、16バースト転送のみで実現できる。
図11(c)は、第1の信号処理部210と第2の信号処理部211が3番目の分割画像B3を処理する場合の、DRAM230に対する転送データのアクセスを示している。DRAM230に記憶された2番目の部分画像B2のライン1の右端の4バイト(図示の符号201b)を、3番目の部分画像B3の左端の4バイトとして使用して、第2の画像処理部211による処理を行う。そのため、CPU204は、WRDMAC300を制御して、部分画像B2の各ラインにおける右端の4バイトの記憶アドレスの直後のアドレスを書き込み開始アドレスW_S_Addrに設定し、部分画像B3の画像データを書き込む。部分画像B3において、左端の4バイトを除くと、1ライン分のデータは506バイトである。CPU204は、WRDMAC300を制御して、部分画像B3における、左端部の4バイトを除く、各ラインの506バイトのデータの書き込みが完了する毎に、書き込みアドレスを8バイト分だけジャンプさせるように設定する。
一方、CPU204は、RDDMAC300に対して、部分画像B2のライン1の右端の4バイトの先頭の記憶アドレスを、読出し開始アドレスR_S_Addrにセットし、部分画像B3の画像データを読出して第2の信号処理部220に転送する。部分画像B3をDRAM230から読み出す場合、アドレスのジャンプ処理は不要になり、17バースト転送のみで実現できる。ただし、部分画像B3における1ラインの514バイトのデータの最後の4バイトは、部分画像B2における左端の4バイトのデータであり、部分画像B3の処理には使われない。そのため、CPU204は、画素カット部311により、DRAM230から読み出された部分画像B3の各ラインの最後の4バイトをカットするように設定する。
図12は、本第3の実施形態における、CPU204による、部分画像のDRAM230への転送処理を示すフローチャートである。
CPU204は、データ転送制御回路220の追い越し防止制御部321に対し、RDDMAC310のDRAM230の書き込みアドレスが、WRDMAC300のDRAM230の読み出しアドレスを追い越さないように設定する(S1201)。CPU204は、画素コピー部301に対して1番目の部分画像B1のコピー画素数、画素カット部311に対して部分画像B1のカット画素数の設定を行う(S1202)。CPU204は、WRDMAC300、RDDMAC310に対し、部分画像B1の書き込み及び読み出しのスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う(S1203)。CPU204は、WRDMAC300、RDDMAC310に対し、部分画像B1のDRAM230への書き込み開始、読み出し開始を指示する(S1204)。CPU204は、部分画像B1の全てのデータのDRAM230への書き込みが完了したら(S1205)、画素コピー部301に対して2番目の部分画像B2のコピー画素数を設定し、画素カット部311に対して2番目部分画像のカット画素数の設定を行う(S1206)。CPU204は、WRDMAC300、RDDMAC310に対し、部分画像B2の書き込み及び読み出しのスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う(S1207)。CPU204は、WRDMAC300、RDDMAC310に対し、部分画像B2のDRAM230への書き込み開始、読み出し開始を指示する(S1208)。CPU204は、部分画像B2のDRAM230へのアクセスが完了したら(S1209)、画素コピー部301に対して3番目の部分画像B3のコピー画素数を設定し、画素カット部311に対して部分画像B3のカット画素数の設定を行う(S1210)。CPU204は、WRDMAC300、RDDMAC310に対し、3番目の部分画像の書き込み及び読み出しのスタートアドレス、データ総転送長、オフセットデータ転送長、オフセット値の設定を行う(S1211)。CPU204は、WRDMAC300、RDDMAC310に対し、3番目の部分画像のDRAM230への書き込み開始、読み出し開始を指示する(S1212)。CPU204は、部分画像B3のDRAM230からの読み出しが完了したら、処理を終了する(S1213)。
以上の制御を行うことにより、各部分画像をDRAMに対して転送する際に、第2の実施形態よりもショートバーストによるアクセス発生回数を抑えることができる。そのため、各部分画像の処理時間を短くすることが出来る。
尚、本第3の実施形態では、1画面の画像から三つの部分画像を生成したが、部分画像の数をこれ以外にすることも可能である。また、本第3の実施形態では1番目、3番目の部分画像のサイズを510バイト×384ライン、2番目の部分画像のサイズを514バイト×384ライン、重複領域を水平4バイトとしたが、他の値とすることも可能である。
また、複数の部分画像のうち、最大の水平サイズと最小の水平サイズとの差が所定値16バイトより小さい場合に、画素コピー部により部分画像B1に対してダミー画素を付加したが、他の所定値でも良い。また、本第3の実施形態では1番目の部分画像のDRAM230アクセス時において、1ライン分のデータの最後にダミー画素を付加したが、1ラインの途中にダミー画素を付加する構成としてもよい。
Claims (10)
- 互いに重複する領域を持つ複数の部分画像データを含む画像データを処理する手段であって、それぞれが前記部分画像データを単位として画像処理を行う複数の処理手段と、
記憶手段と、
前記複数の処理手段における第1の処理手段により処理された部分画像データを前記記憶手段に書き込み、前記記憶手段に記憶された部分画像データを読みだして前記第2の処理手段に転送するデータ転送手段とを有し、
前記データ転送手段は、
前記第1の処理手段から得られた第i番目の部分画像データのうち、1つ前の第i−1番目の部分画像データと重複する領域のデータを除くデータを、前記記憶手段における、前記第i−1番目の前記重複する領域のデータの記憶アドレスと連続するアドレスに書き込み、前記重複する領域のデータを含む前記第i番目の部分画像データを前記記憶手段から読み出して前記第2の処理手段に転送する
ことを特徴する画像処理装置。 - 前記データ転送手段は、前記第i−1番目の部分画像データの最初のラインにおける前記重複領域のデータの記憶アドレスの直後のアドレスを前記i番目の部分画像データの書き込み開始アドレスとして設定し、前記第i番目の部分画像データの各ラインにおける前記重複領域以外の領域のデータを書き込む毎に、前記重複領域のサイズ分だけ書き込みアドレスをジャンプすることにより、前記第i番目の部分画像データを前記記憶手段に書き込むことを特徴とする請求項1に記載の画像処理装置。
- 前記データ転送手段は、前記第i−1番目の部分画像データの最初のラインにおける前記重複領域のデータの記憶アドレスを、前記i番目の部分画像データの読出し開始アドレスとして設定して、前記i番目の部分画像データを前記記憶手段から読み出すことを特徴とする請求項2に記載の画像処理装置。
- 前記データ転送手段は、1画面における最初の前記部分画像データの連続する2ラインを連続するアドレスに書き込むことを特徴とする請求項2に記載の画像処理装置。
- 前記複数の部分画像データの1ラインのデータ量は互いに同じであることを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
- 前記複数の部分画像の少なくとも一つの1ラインのデータ量は、他の部分画像の1ラインのデータ量よりも大きく、
前記データ転送手段は、前記他の部分画像データである前記第i番目の各ラインにおける前記重複領域以外の領域のデータを書き込む毎に、前記少なくとも一つの部分画像データの1ラインのデータ量と前記他の部分画像データの1ラインのデータ量との差分と、前記重複領域との合計のサイズ分だけ書き込みアドレスをジャンプすることにより、前記第i番目の画像データを前記記憶手段に書き込むことを特徴とする請求項1に記載の画像処理装置。 - 前記他の部分画像データである、1画面における最初の前記部分画像データにおける1ラインのデータを書き込む毎に、前記少なくとも一つの部分画像データの1ラインのデータ量と前記他の部分画像データの1ラインのデータ量との差分だけ書き込みアドレスをジャンプすることにより、前記最初の部分画像データを前記記憶手段に書き込むことを特徴とする請求項6に記載の画像処理装置。
- 前記データ転送手段は、前記他の部分画像データである、1画面における最初の前記部分画像データにおける1ラインのデータそれぞれに、前記少なくとも一つの部分画像データの1ラインのデータ量と前記他の部分画像データの1ラインのデータ量との差分に対応したデータ量のダミーのデータを付加し、前記ダミーのデータが付加された、連続する2ラインのデータを連続するアドレスに書き込むことを特徴とする請求項6に記載の画像処理装置。
- 前記データ転送手段は、前記記憶手段からの前記第i番目の部分画像データの読み出しアドレスが、前記第1の処理手段からの前記第i番目の部分画像データの書き込みアドレスを追い越すことを防止する手段を有することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
- 前記記憶手段はDRAMであり、前記データ転送手段は、一つの前記部分画像データを、前記DRAMにおける同じロウアドレスに書き込むことを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013252418A JP2015109037A (ja) | 2013-12-05 | 2013-12-05 | 画像処理装置 |
US14/559,352 US9313358B2 (en) | 2013-12-05 | 2014-12-03 | Image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013252418A JP2015109037A (ja) | 2013-12-05 | 2013-12-05 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015109037A true JP2015109037A (ja) | 2015-06-11 |
Family
ID=53272385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013252418A Pending JP2015109037A (ja) | 2013-12-05 | 2013-12-05 | 画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9313358B2 (ja) |
JP (1) | JP2015109037A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170049191A (ko) * | 2015-10-28 | 2017-05-10 | 삼성전자주식회사 | 이미지 처리 장치 및 이미지 처리 방법 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016091205A (ja) * | 2014-10-31 | 2016-05-23 | キヤノン株式会社 | 画像処理装置、画像処理装置の制御方法およびプログラム |
JP6667349B2 (ja) * | 2016-04-04 | 2020-03-18 | キヤノン株式会社 | 画像処理装置及び撮像装置 |
JP6762775B2 (ja) * | 2016-06-20 | 2020-09-30 | キヤノン株式会社 | 画像処理装置、撮像装置、制御方法及びプログラム |
JP7073634B2 (ja) * | 2017-06-09 | 2022-05-24 | 富士フイルムビジネスイノベーション株式会社 | 電子装置及びプログラム |
KR102336666B1 (ko) | 2017-09-15 | 2021-12-07 | 삼성전자 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3497217B2 (ja) * | 1993-12-28 | 2004-02-16 | オリンパス株式会社 | 画像取扱装置及び画像合成方法 |
JP2005250534A (ja) | 2004-03-01 | 2005-09-15 | Fuji Xerox Co Ltd | 画像処理装置 |
JP4219887B2 (ja) | 2004-12-28 | 2009-02-04 | 富士通マイクロエレクトロニクス株式会社 | 画像処理装置及び画像処理方法 |
US7719579B2 (en) * | 2005-05-24 | 2010-05-18 | Zoran Corporation | Digital camera architecture with improved performance |
US8902335B2 (en) * | 2012-06-06 | 2014-12-02 | Apple Inc. | Image blending operations |
JP2015053643A (ja) * | 2013-09-09 | 2015-03-19 | オリンパス株式会社 | 撮像装置 |
-
2013
- 2013-12-05 JP JP2013252418A patent/JP2015109037A/ja active Pending
-
2014
- 2014-12-03 US US14/559,352 patent/US9313358B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170049191A (ko) * | 2015-10-28 | 2017-05-10 | 삼성전자주식회사 | 이미지 처리 장치 및 이미지 처리 방법 |
KR102400104B1 (ko) * | 2015-10-28 | 2022-05-19 | 삼성전자주식회사 | 이미지 처리 장치 및 이미지 처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20150163370A1 (en) | 2015-06-11 |
US9313358B2 (en) | 2016-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015109037A (ja) | 画像処理装置 | |
JP4789753B2 (ja) | 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法 | |
US8904069B2 (en) | Data processing apparatus and image processing apparatus | |
KR101305490B1 (ko) | 메모리 맵핑 방법 및 장치 | |
JP6210743B2 (ja) | データ処理装置およびデータ転送制御装置 | |
US8345113B2 (en) | Image processing apparatus and image processing system | |
US9591170B2 (en) | Image processing apparatus, and control method and program of image processing apparatus | |
JP6442867B2 (ja) | 画像処理装置、撮像装置、及び画像処理方法 | |
US20120203942A1 (en) | Data processing apparatus | |
US7933465B2 (en) | Processing data supply method and image processing apparatus | |
JP4970378B2 (ja) | メモリコントローラおよび画像処理装置 | |
JP5597175B2 (ja) | 画像圧縮装置及び画像処理システム | |
JP2016134005A (ja) | 画像処理装置 | |
JP4965971B2 (ja) | メモリ制御装置、撮像装置およびメモリ制御方法 | |
JP2005182538A (ja) | データ転送装置 | |
JP2021157295A (ja) | メモリ制御装置 | |
JP5583563B2 (ja) | データ処理装置 | |
JP6210742B2 (ja) | データ処理装置およびデータ転送制御装置 | |
JP2021158490A (ja) | 撮像装置及び制御方法 | |
JP2007333892A (ja) | メモリ制御装置、バス制御装置及び表示デバイス制御システム | |
JP3426484B2 (ja) | 画像データ処理装置及び画像データ処理方法 | |
JP2009199491A (ja) | 画像処理装置、画像処理方法 | |
JP2017204170A (ja) | 画像処理装置及び画像処理方法 | |
JP2012128575A (ja) | データ転送装置、その制御方法、および制御プログラム | |
JP2007072910A (ja) | 画像入力装置 |