JP2004171099A - Image data processor - Google Patents
Image data processor Download PDFInfo
- Publication number
- JP2004171099A JP2004171099A JP2002333383A JP2002333383A JP2004171099A JP 2004171099 A JP2004171099 A JP 2004171099A JP 2002333383 A JP2002333383 A JP 2002333383A JP 2002333383 A JP2002333383 A JP 2002333383A JP 2004171099 A JP2004171099 A JP 2004171099A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- image
- window
- window processing
- 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.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、画像データに対する画像処理に使用される複数回ウィンドウ処理に適用して有効な画像データ処理装置に関するものである。
【0002】
【従来の技術】
従来、入力手段より入力された画像データは、メモリ・コントロール部を通り記憶手段に格納され、ウィンドウ処理を行うために画像処理部から呼び出され、メモリ・コントロール部を介して転送されていた。
【0003】
このような構成で、入力手段から入力される画像データに対し、3×3画素のウィンドウ処理を用いた画像処理を2回行う場合のウィンドウ処理においては、入力画像データを3×3画素取り込んでウィンドウ処理を行い、処理結果として1画素のデータを受け取り、処理結果として受け取ったデータを再び入力データとみなし、前記と同様の手法により2回目のウィンドウ処理を行うことで、画像データに対する2回のウィンドウ処理が行われていた。
【0004】
以上のような画像処理を行う場合に、ウィンドウ処理に必要なデータをメモリ上に取り込む必要がある。そして、DRAMを用いた場合、入力画像データは入力された画像画素配置のままメモリ上に格納され、ウィンドウ処理時に必要なデータにアクセスする場合、複数のRow Addressを指定してアクセスを行う配置となっている。また、二次側ウィンドウ処理を行うために必要なデータについても、入力画像データとはRow Addressが異なるメモリ領域に配置されていて、二次側ウィンドウ処理に必要なデータにアクセスする場合についても、複数のRow Addressを指定して行う配置となっている。
【0005】
その他の従来の技術としては、ウィンドウ処理専用のSRAMを設け、入力画像データを前記SRAMに格納し、画像処理部が専用メモリ・コントロール部を通じてデータ転送を行い画像処理を行うものがある(例えば、特開昭63−204320号公報参照)。
【0006】
【特許文献1】
特開昭63−204320号公報
【0007】
【発明が解決しようとする課題】
しかしながら、上記のような従来の技術において、ウィンドウ処理に使用するデータをメモリに配置する際、メモリがDRAMである場合には、ウィンドウ処理に必要な入力画像データがDRAM上でRow Addressを跨ぐ形で配置されている。そして、DRAMのデータにアクセスする際には、RAS信号、CAS信号を用いてメモリアドレスを指定してデータをリード・ライトするため、特にデータがRow Addressを跨ぐ形で配置されている場合には、RAS信号の送信回数が増えるために、メモリアクセス時のオーバーヘッドが増大し、高速処理を行う際のメモリデータの読み込みのアクセススピードが遅くなる。
【0008】
また、SRAMは高速処理に適したメモリではあるが、専用にSRAMメモリを構成する必要があるので、コストの面での課題があった。
【0009】
そこで、本発明は、複数回のウィンドウ処理を安価にかつ高速に行うことのできる技術を提供することを目的とする。
【0010】
【課題を解決するための手段】
この課題を解決するために、本発明の画像データ処理装置は、データを入力する入力手段と、入力されたデータを格納する記憶手段と、データに対するウィンドウ処理を行う画像処理部と、記憶手段内におけるデータの格納順序を制御する制御部とを有し、制御部は、データに対して複数回のウィンドウ処理を行うときには、当該ウィンドウ処理に先立って、各回に処理されるデータを交互に記憶手段に格納するものである。
【0011】
これにより、各回のウィンドウ処理が並列に行われ、且つ記憶手段へのデータアクセスタイムが短くなるので、複数回のウィンドウ処理を安価でかつ高速に行うことが可能になる。
【0012】
【発明の実施の形態】
本発明の請求項1に記載の発明は、データを入力する入力手段と、入力されたデータを格納する記憶手段と、データに対するウィンドウ処理を行う画像処理部と、記憶手段内におけるデータの格納順序を制御する制御部とを有し、制御部は、データに対して複数回のウィンドウ処理を行うときには、当該ウィンドウ処理に先立って、各回に処理されるデータを交互に記憶手段に格納する画像データ処理装置であり、各回のウィンドウ処理が並列に行われ、且つ記憶手段へのデータアクセスタイムが短くなるので、複数回のウィンドウ処理を安価でかつ高速に行うことが可能になるという作用を有する。
【0013】
本発明の請求項2に記載の発明は、請求項1記載の発明において、ウィンドウ処理は、n×nのウィンドウ処理である画像データ処理装置であり、複数回のウィンドウ処理を安価でかつ高速に行うことが可能になるという作用を有する。
【0014】
本発明の請求項3に記載の発明は、請求項1記載の発明において、ウィンドウ処理は、各画素がn個のチャネルを持ち、画素ごとにn個のデータを持っている場合のウィンドウ処理である画像データ処理装置であり、複数回のウィンドウ処理を安価でかつ高速に行うことが可能になるという作用を有する。
【0015】
以下、本発明の実施の形態について、図1から図21を用いて説明する。なお、これらの図面において同一の部材には同一の符号を付しており、また、重複した説明は省略されている。
【0016】
図1は本発明の一実施の形態におけるウィンドウ処理用の画像データ処理装置を示すブロック図、図2は図1の画像データ処理装置におけるメモリ・コントロール部の構成を示すブロック図、図3は図1の画像データ処理装置における画像処理部の構成を示すブロック図である。
【0017】
図1において、画像データ処理装置は、画像データの入力手段として画像入力手段100、入力された画像データのメモリ上でのアドレスを管理したりメモリへのコマンドを発行するメモリ・コントロール部200、RAS(行)信号およびCAS(列)信号を使用することにより、入力された画像データをメモリ・コントロール部200の指示に従い記憶する記憶手段300、入力された画像データのウィンドウ処理を行う画像処理部400、画像処理や周辺ロジックの制御を行うCPU(制御部)500、周辺機器へのデータの出力などを行う周辺ロジック600で構成されている。
【0018】
メモリ・コントロール部300は、図2に示すように、画像データに対するウィンドウ処理を行う際のメモリアクセス時に記憶手段300に対してバーストアクセスを実行できるようなメモリ配置となるように画像データにメモリAddressを振り分ける第1のAddress発生器201、画像入力手段100からの画像データを受け付ける画像入力手段インターフェース部202、画像処理部400より送られてきた処理済みの画像データに対して記憶手段300上でのAddressを付加する第2のAddress発生器203、画像処理部400との間で画像データの転送を行う画像インターフェース部204、画像入力手段インターフェース部202、画像処理インターフェース部204、CPU500および周辺ロジック600からのバス要求を調停するBus Arbiter205、記憶手段300へのメモリ制御信号を発生するMemory制御信号発生器206、ウィンドウサイズ、ウィンドウ処理回数、1画素当たりのレイヤー数等の情報を設定するRegister群207を有している。なお、1画素当たり複数のレイヤーをもつ画像例としては、カラー画像などが上げられる。また、記憶手段300には、DRAM等の行列成分で表現できる構造を持ったメモリを使用することができる。
【0019】
図3に画像処理部400の詳細を示す。
【0020】
図3に示すように、画像処理部400は、メモリ・コントロール部200より画像データを受け取る画像入力インタフェース部401、画像データの処理結果をメモリ・コントロール部200に返す画像出力インターフェース部402、ウィンドウ処理に必要なデータをシフトしていくshifter回路403、一次ウィンドウ画像処理を行う一次ウィンドウ演算回路部404、および二次ウィンドウ画像処理を行う二次ウィンドウ演算回路部405から構成されている。
【0021】
図4は図1の画像データ処理装置における記憶手段のメモリ・マップを示す説明図である。
【0022】
記憶手段300は各種処理を行うためSystemが利用するSystem領域、一次および二次ウィンドウ処理用のデータを保存する入力画像データ・バッファ領域、および全てのウィンドウ処理が終了した画像データを保存する出力画像データ・バッファ領域から構成されている。
【0023】
ここで、入力画像を格納する記憶手段300についての従来の技術を図5、図6および図7を用いて説明する。図5は画像データの画素配置を概念的に示す説明図、図6は画像入力手段とメモリ・コントロール部と間の画像画素データ転送順序を示す説明図、図7は従来の画像データ処理装置における記憶手段での入力画像配置を概念的に示す説明図である。
【0024】
図5で示す画像データは画像入力手段100より入力され、行成分のデータが図6に示すように画像入力手段100より入力されるため、図7に示すように記憶手段300上に配置されていた。
【0025】
図8は3×3のウィンドウ処理イメージを示す説明図、図9は図8のウィンドウ処理に続く3×3のウィンドウ処理イメージを示す説明図、図10従来の技術におけるウィンドウ画像処理データ取り込み時の記憶手段への発行コマンドを示す説明図、図11は図1の画像データ処理装置における記憶手段内のウィンドウ処理用データの配列イメージを示す説明図である。
【0026】
図8のように画像上に3×3のウィンドウを想定し、このウィンドウに収まる9個の画素データにY=f(X)の処理を行い、その処理結果である1画素を一次ウィンドウ処理済み画素として一次ウィンドウ処理済み画像を構成していく。
【0027】
ウィンドウ処理のためのウィンドウは、図9に示すように、右方向に逐次移動していくため、新規取り込みデータは、画像データの行成分を複数もつデータとなる。
【0028】
このように行成分を複数もつ場合には、画像処理部400が記憶手段300にアクセスする際には、図7に示すようにウィンドウ処理に使用する画像データがRow Address方向に複数行にわたり配置されているため、メモリに対してバーストアクセスを行うことができず、図10に示すように、NOP→Pcharge→IDLE→ACTV→NOP→READの複数の信号を送ることで始めて1画素のデータが読み込まれる。
【0029】
このようにデータアクセス時にオーバーヘッドが大きくなりすぎていたのを改善するために、本発明では、画像データ(図5)が図6に示すように行データとして流れてくるときに、第1のAddress発生器201は、図11で示すように、Row Addressを跨がないようなメモリアドレスを付与して記憶手段300上に配置することとし、ウィンドウ処理に必要な新規取り込みデータをColumn方向(列方向)に配置する。
【0030】
ここで、図11は本発明のウィンドウ処理が所定時間にわたって行われた後の状態を示しており、行データの5行目を読み込んだ時点の記憶手段300の状態を示している。図5の5行目の画像データは、図11に示すように、第1のAddress発生器201により同一のRow Address上の飛び飛びのアドレスに配置されていく。
【0031】
図12は3×3ウィンドウ処理を2回行う場合の画像イメージを示す説明図、図13はウィンドウ画像処理データ取り込み時の記憶手段への発行コマンドを示す説明図、図14は図3の画像処理部におけるshifter回路の詳細を示す説明図である。二次ウィンドウ処理を考え、図12n示すように、一次ウィンドウ処理用データの30、40、50が新規取り込みデータとして画像処理部400に読み込まれるときに、一次ウィンドウ処理が終了した結果の画像データである二次ウィンドウ処理用データの11’、21’、31’も同時に画像処理部400に一回のデータアクセスで読み込むことができるように、一次ウィンドウ処理データ30、40、50の後に続けて二次ウィンドウ処理用データ11’、21’、31’を配置するように第2のAddress発生器203が図11に示す様にメモリアドレスを付与していく。
【0032】
図11に示すように、当該ウィンドウ処理に先立って、一次ウィンドウ処理用データ、二次ウィンドウ処理用データを交互に配置していくことにより、つまり、各回に処理されるデータを交互に記憶手段300に格納することにより、Row Addressをまたがないようなメモリアクセスとし同時に一次ウィンドウ処理用データ、二次ウィンドウ処理用データを取り込み、図12に示すように、一次ウィンドウ処理に対してはY=f(X)、二次ウィンドウ処理に対してはY=z(X)の処理を行うことができる。そして、Row Addressを跨がないようなメモリアクセスで、且つデータが連続して配置されているので、図13に示すように画像処理部400は記憶手段300のデータをバーストアクセスで取り込むことができる。
【0033】
一方、画像処理部400内のshifter回路403ではバーストアクセスで送られてきたウィンドウ処理に使用するデータを格納し、次バーストアクセスでデータが送られてくると、前に保持していたデータを図14の矢印方向にシフトし、ウィンドウ処理に必要なデータを常に保持している状態とする。最終段に入っていたデータはシフトされることで破棄される。このshifter回路403のレジスタの値をウィンドウ処理に利用することになる。
【0034】
ここで、shifter回路403のレジスタには、一次ウィンドウ処理用データと二次ウィンドウ処理用データが同時に入ってくるが、一次ウィンドウ演算回路部404と二次ウィンドウ演算回路部405を設けていることにより、並列して一次ウィンドウ処理と二次ウィンドウ処理が可能になる。
【0035】
図15は図1の画像データ処理装置の記憶手段におけるリング・バッファ的なデータ書き換えを示す説明図である。図15に示すように、ウィンドウ処理用のウィンドウが右方向に移動していき、右端まで走査が完了した場合、ウィンドウは再び左端まで戻り、走査が完了した行より1行下にずれた所からウィンドウ処理を行っていく。これにより、新しい行データが必要になるが、一次ウィンドウ処理では、そのデータは第1のAddress発生器201によって図15に示すように記憶手段300のデータ配置のウィンドウ処理に必要がなくなった行成分の所に配置され、記憶手段300の入力画像データ・バッファはリングバッファ的に使用していく。このリングバッファ的な入力画像データ・バッファの使用方法については、一次ウィンドウ処理、二次ウィンドウ処理のどちらにも同様に使用されるものであり、二次ウィンドウ処理用データに関しては画像処理部400より出力された一次ウィンドウ処理済みデータを第2のAddress発生器203が図15に示すように、メモリアドレスを発生させ、二次ウィンドウ処理に使用しなくなった行成分の所に配置していく。
【0036】
以上動作を繰り返すことにより、一次ウィンドウ処理および二次ウィンドウ処理が並列に行われ、且つ記憶手段300へのデータアクセスが、一次および二次ウィンドウ処理に必要なデータを取得するのに、バーストアクセスで可能となるので、2回のウィンドウ処理を安価でかつ高速に行うことができる。
【0037】
以上の説明においては、ウィンドウ処理を、一次と二次の2回行う場合について説明したが、3回以上行う場合についても適用することができる。
【0038】
つまり、n(複数)回のウィンドウ処理に対応する場合の画像処理部400の構成を図16に示す。図16はn回のウィンドウ処理に対応する場合の画像処理部の構成を示すブロック図である。
【0039】
ここで、3×3ウィンドウ処理をn次ウィンドウ処理まで行うため、図16に示すように、shifter回路403のもつ段数は3段であるが、一段当たりがもつレジスタの個数が3×n個となっている。また、ウィンドウ演算回路部についてもn個を有する構成となる。
【0040】
次に、記憶手段300でのデータの配置について説明する。図17は図16の記憶手段内におけるウィンドウ処理用データの配列イメージ(n次ウィンドウ処理)を示す説明図、図18はn×nウィンドウ処理に対応する場合の画像処理部の構成を示すブロック図、図19は図18の記憶手段内におけるウィンドウ処理用データの配列イメージ(n×nウィンドウ処理)を示す説明図、図20はnチャネルを持つウィンドウ処理に対応する場合の画像処理部の構成を示すブロック図、図21は図20の記憶手段内におけるウィンドウ処理用データの配列イメージ(nチャネルを持つウィンドウ処理)を示す説明図である。
【0041】
図17にn回ウィンドウ処理を行う場合の記憶手段300内のデータ配列イメージを示す。なお、ウィンドウ処理データの記憶手段300への配置の手法に関しては前述したものと同じであるため、重複した説明は省略する。
【0042】
図17に示すように、一次ウィンドウ処理データに続き、二次ウィンドウ処理データ、その後n次ウィンドウ処理データまで続けて配置を行う。
【0043】
そして、前述のようにn回のウィンドウ処理における各回のデータに記憶手段300に配置し、n回ウィンドウ処理用のデータをバーストアクセスで一度に読み込むことにより、n回のウィンドウ処理を安価でかつ高速に行うことができる。
【0044】
次に、n×nウィンドウ処理への対応について説明する。
【0045】
ここでは、画像処理部400は、図18に示すように、n×nウィンドウ処理を二次ウィンドウ処理まで行うため、shifter回路403のもつ段数がn段となり、一段当たりが持つレジスタの個数が2×n個となっている。
【0046】
記憶手段300でのデータの配置を図19に示す。なお、ウィンドウ処理データの記憶手段300への配置の手法に関しては前述したものと同じであるため、重複した説明は省略する。図19に示すように、n×nウィンドウ処理に必要であるn行1列分のデータをColumn方向に配置する。
【0047】
そして、前述のようにn×nウィンドウ処理における各回のデータを記憶手段300に配置し、これをバーストアクセスで一度に読み込むことにより、n×nウィンドウ処理を安価で勝つ高速に行うことができる。
【0048】
次に、各画素がn個のチャネルを持ち、画素ごとにn個のデータを持っている場合のウィンドウ処理への対応について説明する。なお、画素ごとにn個のデータを持つようなデータの具体例としては、RGB系のカラー画像、CMYK系のカラー画像などがある。
【0049】
ここでは、画像処理部400は、図20に示すように、shifter回路403の一段当たりが持つレジスタの個数は(3×n)×2個であり、一次ウィンドウ処理用データおよび二次ウィンドウ処理用データに対して、それぞれnチャネル分のデータを配置した構成となっている。
【0050】
記憶手段300でのデータの配列を図21に示す。ここで、ウィンドウ処理用データは、一次ウィンドウ処理および二次ウィンドウ処理に対して、それぞれnチャネル分のデータが必要となるため、図21に示すように、一次ウィンドウ処理に対してnチャネル、二次ウィンドウに対してnチャネルのデータ配列をColumn方向に配置する。
【0051】
このように記憶手段300にデータを配置し、nチャネルを持つウィンドウ処理データをバーストアクセスで一度に読み込むことにより、nチャネルを持つウィンドウ処理を安価で勝つ高速に行うことができる。
【0052】
【発明の効果】
以上のように、本発明によれば、各回のウィンドウ処理が並列に行われ、且つ記憶手段へのデータアクセスタイムが短くなるので、複数回のウィンドウ処理を安価でかつ高速に行うことが可能になるという有効な効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施の形態におけるウィンドウ処理用の画像データ処理装置を示すブロック図
【図2】図1の画像データ処理装置におけるメモリ・コントロール部の構成を示すブロック図
【図3】図1の画像データ処理装置における画像処理部の構成を示すブロック図
【図4】図1の画像データ処理装置における記憶手段のメモリ・マップを示す説明図
【図5】画像データの画素配置を概念的に示す説明図
【図6】画像入力手段とメモリ・コントロール部と間の画像画素データ転送順序を示す説明図
【図7】従来の画像データ処理装置における記憶手段での入力画像配置を概念的に示す説明図
【図8】3×3のウィンドウ処理イメージを示す説明図
【図9】図8のウィンドウ処理に続く3×3のウィンドウ処理イメージを示す説明図
【図10】従来の技術におけるウィンドウ画像処理データ取り込み時の記憶手段への発行コマンドを示す説明図
【図11】図1の画像データ処理装置における記憶手段内のウィンドウ処理用データの配列イメージを示す説明図
【図12】3×3ウィンドウ処理を2回行う場合の画像イメージを示す説明図
【図13】ウィンドウ画像処理データ取り込み時の記憶手段への発行コマンドを示す説明図
【図14】図3の画像処理部におけるshifter回路の詳細を示す説明図
【図15】図1の画像データ処理装置の記憶手段におけるリング・バッファ的なデータ書き換えを示す説明図
【図16】n回のウィンドウ処理に対応する場合の画像処理部の構成を示すブロック図
【図17】図16の記憶手段内におけるウィンドウ処理用データの配列イメージ(n次ウィンドウ処理)を示す説明図
【図18】n×nウィンドウ処理に対応する場合の画像処理部の構成を示すブロック図
【図19】図18の記憶手段内におけるウィンドウ処理用データの配列イメージ(n×nウィンドウ処理)を示す説明図
【図20】nチャネルを持つウィンドウ処理に対応する場合の画像処理部の構成を示すブロック図
【図21】図20の記憶手段内におけるウィンドウ処理用データの配列イメージ(nチャネルを持つウィンドウ処理)を示す説明図
【符号の説明】
100 画像入力手段(入力手段)
300 記憶手段
400 画像処理部
500 CPU(制御部)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image data processing apparatus that is effective when applied to multiple-time window processing used for image processing on image data.
[0002]
[Prior art]
Conventionally, image data input from an input unit has been stored in a storage unit through a memory control unit, called up from the image processing unit to perform window processing, and transferred through the memory control unit.
[0003]
With such a configuration, in window processing in which image processing using 3 × 3 pixel window processing is performed twice on image data input from the input unit, 3 × 3 pixels of input image data are acquired. Window processing is performed, data of one pixel is received as a processing result, data received as a processing result is regarded as input data again, and a second window processing is performed by the same method as described above, so that two times of image data are obtained. Window processing was being performed.
[0004]
When performing the above-described image processing, it is necessary to load data necessary for window processing into a memory. When a DRAM is used, the input image data is stored in the memory as the input image pixel arrangement, and when accessing necessary data at the time of window processing, there is an arrangement in which a plurality of Row Addresses are specified and accessed. Has become. Also, regarding the data necessary for performing the secondary window processing, the case where the Row Address is arranged in a memory area different from the input image data and the data required for the secondary window processing is accessed, The arrangement is such that a plurality of Row Addresses are designated.
[0005]
As another conventional technique, there is a technique in which an SRAM dedicated to window processing is provided, input image data is stored in the SRAM, and an image processing unit performs image processing by transferring data through a dedicated memory control unit (for example, See JP-A-63-204320).
[0006]
[Patent Document 1]
JP-A-63-204320
[Problems to be solved by the invention]
However, in the conventional technique as described above, when arranging data to be used for window processing in a memory, if the memory is a DRAM, input image data required for the window processing crosses the Row Address on the DRAM. It is arranged in. When accessing the data of the DRAM, the data is read / written by designating the memory address using the RAS signal and the CAS signal. In particular, when the data is arranged so as to straddle the Row Address, Since the number of times of transmitting the RAS signal increases, overhead at the time of memory access increases, and the access speed of reading memory data at the time of performing high-speed processing decreases.
[0008]
Although SRAM is a memory suitable for high-speed processing, there is a problem in terms of cost because it is necessary to configure an SRAM memory exclusively.
[0009]
Therefore, an object of the present invention is to provide a technique capable of performing window processing a plurality of times at low cost and at high speed.
[0010]
[Means for Solving the Problems]
In order to solve this problem, an image data processing apparatus according to the present invention comprises: an input unit for inputting data; a storage unit for storing the input data; an image processing unit for performing window processing on the data; And a control unit for controlling the order of storing data in the storage unit. When performing a plurality of window processes on the data, the control unit alternately stores the data processed each time prior to the window process. Is to be stored.
[0011]
Thereby, each window processing is performed in parallel, and the data access time to the storage unit is shortened, so that a plurality of window processings can be performed at low cost and at high speed.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
According to a first aspect of the present invention, there is provided an input unit for inputting data, a storage unit for storing the input data, an image processing unit for performing a window process on the data, and a storage order of the data in the storage unit. When performing a plurality of window processes on the data, the control unit, before performing the window process, stores the data to be processed each time in the storage unit alternately. This is a processing device, in which each window processing is performed in parallel, and the data access time to the storage means is shortened, so that it is possible to perform a plurality of window processings at low cost and at high speed.
[0013]
According to a second aspect of the present invention, in the first aspect of the present invention, the window processing is an image data processing apparatus in which the window processing is an n × n window processing. It has the effect that it becomes possible to do so.
[0014]
According to a third aspect of the present invention, in the first aspect, the window processing is a window processing in a case where each pixel has n channels and each pixel has n data. This is an image data processing device, and has an effect that it is possible to perform window processing a plurality of times at low cost and at high speed.
[0015]
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 to 21. In these drawings, the same members are denoted by the same reference numerals, and redundant description is omitted.
[0016]
FIG. 1 is a block diagram showing an image data processing device for window processing according to an embodiment of the present invention, FIG. 2 is a block diagram showing a configuration of a memory control unit in the image data processing device of FIG. 1, and FIG. FIG. 2 is a block diagram illustrating a configuration of an image processing unit in one image data processing device.
[0017]
In FIG. 1, an image data processing apparatus includes an
[0018]
As shown in FIG. 2, the
[0019]
FIG. 3 shows details of the
[0020]
As shown in FIG. 3, the
[0021]
FIG. 4 is an explanatory diagram showing a memory map of a storage unit in the image data processing device of FIG.
[0022]
The
[0023]
Here, a conventional technique for the storage means 300 for storing an input image will be described with reference to FIGS. 5, 6, and 7. FIG. FIG. 5 is an explanatory view conceptually showing a pixel arrangement of image data, FIG. 6 is an explanatory view showing an image pixel data transfer order between an image input means and a memory control unit, and FIG. 7 is a view in a conventional image data processing apparatus. FIG. 4 is an explanatory diagram conceptually showing an input image arrangement in a storage unit.
[0024]
The image data shown in FIG. 5 is input from the
[0025]
FIG. 8 is an explanatory view showing a 3 × 3 window processing image, FIG. 9 is an explanatory view showing a 3 × 3 window processing image following the window processing of FIG. 8, and FIG. FIG. 11 is an explanatory view showing a command issued to the storage means, and FIG. 11 is an explanatory view showing an arrangement image of window processing data in the storage means in the image data processing apparatus of FIG.
[0026]
Assuming a 3 × 3 window on the image as shown in FIG. 8, processing of Y = f (X) is performed on nine pixel data that fits in this window, and one pixel as a processing result has been subjected to primary window processing. A primary window processed image is constructed as a pixel.
[0027]
As shown in FIG. 9, the window for window processing sequentially moves to the right, so that the newly captured data is data having a plurality of row components of image data.
[0028]
In the case where the
[0029]
According to the present invention, when the image data (FIG. 5) flows as row data as shown in FIG. 6, the first Address is used in order to improve that the overhead becomes too large at the time of data access. As shown in FIG. 11, the
[0030]
Here, FIG. 11 shows a state after the window processing of the present invention has been performed for a predetermined time, and shows a state of the storage means 300 at the time when the fifth row of the row data is read. As shown in FIG. 11, the image data in the fifth row in FIG. 5 is arranged at discrete addresses on the same Row Address by the
[0031]
FIG. 12 is an explanatory view showing an image image when performing 3 × 3 window processing twice, FIG. 13 is an explanatory view showing a command issued to the storage means when window image processing data is fetched, and FIG. 14 is an image processing shown in FIG. FIG. 4 is an explanatory diagram illustrating details of a shifter circuit in a unit. Considering the secondary window processing, as shown in FIG. 12n, when the primary
[0032]
As shown in FIG. 11, prior to the window processing, the primary window processing data and the secondary window processing data are alternately arranged, that is, the data processed each time is alternately stored. , The primary window processing data and the secondary window processing data are fetched at the same time as the memory access that does not cross the Row Address, and as shown in FIG. 12, Y = f for the primary window processing. (X), the processing of Y = z (X) can be performed for the secondary window processing. Then, since the data is arranged continuously with the memory access that does not straddle the Row Address, the
[0033]
On the other hand, the
[0034]
Here, the data of the primary window processing and the data of the secondary window processing enter into the register of the
[0035]
FIG. 15 is an explanatory diagram showing ring buffer-like data rewriting in the storage means of the image data processing device of FIG. As shown in FIG. 15, when the window for window processing moves rightward and the scanning is completed to the right end, the window returns to the left end again, and the window is shifted from the position where the scanning is completed to one line below. Perform window processing. As a result, new row data is required. In the primary window processing, the data is converted by the
[0036]
By repeating the above operation, the primary window processing and the secondary window processing are performed in parallel, and the data access to the
[0037]
In the above description, the case where window processing is performed twice, that is, primary and secondary, has been described. However, the case where window processing is performed three or more times can also be applied.
[0038]
That is, FIG. 16 shows a configuration of the
[0039]
Here, since the 3 × 3 window processing is performed up to the n-th window processing, as shown in FIG. 16, the number of stages of the
[0040]
Next, the arrangement of data in the
[0041]
FIG. 17 shows a data array image in the
[0042]
As shown in FIG. 17, following the primary window processing data, the secondary window processing data, and then the arrangement to the n-th window processing data are performed.
[0043]
As described above, the data for each of the n times of window processing is arranged in the storage means 300, and the data for the n times of window processing is read at a time by burst access, so that the n times of window processing can be performed at low cost and at high speed. Can be done.
[0044]
Next, the correspondence to the n × n window processing will be described.
[0045]
Here, as shown in FIG. 18, since the
[0046]
FIG. 19 shows an arrangement of data in the storage means 300. The method of arranging the window processing data in the
[0047]
Then, as described above, by arranging the data of each time in the n × n window processing in the storage means 300 and reading the data at a time by burst access, the n × n window processing can be performed at a low cost and at a high speed.
[0048]
Next, a description will be given of how to handle window processing when each pixel has n channels and each pixel has n data. Specific examples of data having n data for each pixel include an RGB color image and a CMYK color image.
[0049]
Here, as shown in FIG. 20, the
[0050]
FIG. 21 shows an arrangement of data in the storage means 300. Here, the window processing data requires data of n channels for the primary window processing and the secondary window processing, respectively. Therefore, as shown in FIG. An n-channel data array is arranged in the Column direction for the next window.
[0051]
Thus, by arranging data in the storage means 300 and reading window processing data having n channels at a time by burst access, window processing having n channels can be performed at low cost and at a high speed.
[0052]
【The invention's effect】
As described above, according to the present invention, each window processing is performed in parallel, and the data access time to the storage unit is shortened, so that a plurality of window processings can be performed at low cost and at high speed. Is obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an image data processing apparatus for window processing according to an embodiment of the present invention; FIG. 2 is a block diagram illustrating a configuration of a memory control unit in the image data processing apparatus in FIG. 1; FIG. 4 is a block diagram illustrating a configuration of an image processing unit in the image data processing apparatus in FIG. 1; FIG. 4 is an explanatory diagram illustrating a memory map of a storage unit in the image data processing apparatus in FIG. 1; FIG. FIG. 6 is an explanatory diagram showing an image pixel data transfer order between an image input unit and a memory control unit. FIG. 7 is a conceptual diagram showing an input image arrangement in a storage unit in a conventional image data processing apparatus. FIG. 8 is an explanatory diagram showing a 3 × 3 window processing image. FIG. 9 is an explanatory diagram showing a 3 × 3 window processing image following the window processing of FIG. FIG. 11 is an explanatory diagram showing an issuance command to the storage means when window image processing data is taken in the prior art. FIG. 11 is an explanatory diagram showing an arrangement image of window processing data in the storage means in the image data processing device of FIG. FIG. 12 is an explanatory diagram showing an image image when 3 × 3 window processing is performed twice. FIG. 13 is an explanatory diagram showing a command issued to the storage means when window image processing data is fetched. FIG. 14 is an image of FIG. FIG. 15 is an explanatory diagram showing details of a shifter circuit in a processing unit. FIG. 15 is an explanatory diagram showing ring buffer-like data rewriting in a storage unit of the image data processing device in FIG. 1. FIG. FIG. 17 is a block diagram showing the configuration of the image processing unit of FIG. 17. FIG. 17 is an arrangement image of window processing data in the storage unit of FIG. FIG. 18 is a block diagram illustrating a configuration of an image processing unit corresponding to n × n window processing. FIG. 19 is an arrangement image of window processing data in the storage unit in FIG. Explanatory diagram showing (n × n window processing) FIG. 20 is a block diagram showing a configuration of an image processing unit corresponding to window processing having n channels FIG. Diagram showing an array image (window processing having n channels)
100 Image input means (input means)
300 storage means 400
Claims (3)
入力された前記データを格納する記憶手段と、
前記データに対するウィンドウ処理を行う画像処理部と、
前記記憶手段内における前記データの格納順序を制御する制御部とを有し、
前記制御部は、前記データに対して複数回のウィンドウ処理を行うときには、当該ウィンドウ処理に先立って、各回に処理される前記データを交互に前記記憶手段に格納することを特徴とする画像データ処理装置。Input means for inputting data,
Storage means for storing the input data;
An image processing unit that performs window processing on the data,
A control unit for controlling a storage order of the data in the storage unit,
When performing a plurality of window processes on the data, the control unit stores the data processed each time alternately in the storage unit prior to the window process. apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002333383A JP4244619B2 (en) | 2002-11-18 | 2002-11-18 | Image data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002333383A JP4244619B2 (en) | 2002-11-18 | 2002-11-18 | Image data processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004171099A true JP2004171099A (en) | 2004-06-17 |
JP4244619B2 JP4244619B2 (en) | 2009-03-25 |
Family
ID=32698110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002333383A Expired - Fee Related JP4244619B2 (en) | 2002-11-18 | 2002-11-18 | Image data processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4244619B2 (en) |
-
2002
- 2002-11-18 JP JP2002333383A patent/JP4244619B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4244619B2 (en) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7409528B2 (en) | Digital signal processing architecture with a wide memory bandwidth and a memory mapping method thereof | |
US5854620A (en) | Method and apparatus for converting monochrome pixel data to color pixel data | |
US20100164972A1 (en) | System, method and apparatus for memory with embedded associative section for computations | |
CN111656339B (en) | Memory device and control method thereof | |
JP3278756B2 (en) | Image processing method and apparatus | |
CA2478570A1 (en) | Data processing apparatus and system and method for controlling memory access | |
US5926583A (en) | Signal processing apparatus | |
JP2001084229A (en) | Simd-type processor | |
JPH04295953A (en) | Parallel data processor with built-in two-dimensional array of element processor and sub-array unit of element processor | |
KR101031680B1 (en) | Processor array system having function for data reallocation between high-speed pe | |
JP4244619B2 (en) | Image data processing device | |
JP2812292B2 (en) | Image processing device | |
JP2855899B2 (en) | Function memory | |
US5548771A (en) | Multi-processor data processing system having multiple ports coupled to multiple interface circuits | |
US20060064553A9 (en) | Data processing apparatus and system and method for controlling memory access | |
JP2001202351A (en) | Simd type processor | |
JP3039043B2 (en) | Parallel processor | |
JP2011103025A (en) | Data input/output device and data processing apparatus using the same | |
JPH06208614A (en) | Image processor | |
JPH0785259A (en) | Data processing method and signal processor | |
JPH04350742A (en) | Picture data write method and picture memory device | |
JPH0738167B2 (en) | Data transfer method | |
JPH05151346A (en) | Image processor | |
JPH0547867B2 (en) | ||
JPH0668243A (en) | Image input device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20051118 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
RD01 | Notification of change of attorney |
Effective date: 20051213 Free format text: JAPANESE INTERMEDIATE CODE: A7421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081203 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Effective date: 20081229 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |