JP3860545B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP3860545B2 JP3860545B2 JP2003031569A JP2003031569A JP3860545B2 JP 3860545 B2 JP3860545 B2 JP 3860545B2 JP 2003031569 A JP2003031569 A JP 2003031569A JP 2003031569 A JP2003031569 A JP 2003031569A JP 3860545 B2 JP3860545 B2 JP 3860545B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel data
- image processing
- block
- coefficient sequence
- small
- 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.)
- Expired - Fee Related
Links
- 238000003672 processing method Methods 0.000 title claims description 11
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000008707 rearrangement Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000012935 Averaging Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Input (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、二次元画像に所定の処理を施して画像変換や画像検出等を行うための画像処理装置及び方法に関する。
【0002】
【従来の技術】
従来、二次元画像を処理して画像変換や画像検出等を行うには、各画素毎に、その画素を囲む複数の画素の画素データを加工する処理を逐一実行していた。
具体的には、図9に示すように、二次元画像に対応してマトリクス状に配置された多数の画素101毎に、例えばこの画素101を囲むカーネルブロック内における8個の近傍画素102の画素データX1〜X8に係数A1〜A8をそれぞれ対応させて乗算し、総和をとって得られたA1X1+A2X2+…+A8X8を画素101の処理データとする。カーネルを1画素毎に移動させてゆき、上記の一連の作業を、必要とする画素全てについて逐一実行する。
【0003】
【発明が解決しようとする課題】
しかしながら、上述の画像処理法は、必要とする画素全てについて1画素毎に逐一演算処理することを要するために膨大な演算量となり、極めて演算負荷及び消費電力の高い処理である。即ちこの場合、1回の演算処理を行う度に必要な画素データをメモリからプロセッサに転送し、カーネル内における複数の近傍画素のデータを全てダウンロードしなければならず、しかもカーネルが二次元画像全体を走査する間に何度も同じ画素に対してアクセスが発生するという深刻な問題がある。
【0004】
本発明は、このような問題を解決するために成されたものであり、比較的簡素な装置構成で無駄なく、極めて短時間且つ低消費電力で画像処理を行うことを可能とする画像処理装置及び画像処理方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明の画像処理装置は、二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、画像処理を施す画像処理装置であって、前記画素データ群を複数の前記画素データからなる小ブロックに分割し、更に複数の前記小ブロックで大ブロックを構成し、前記各大ブロック毎に前記各小ブロックを規則的に区別して配置した状態として、前記各大ブロックにおいて、前記規則に対応した位置の前記各小ブロック毎に各々独立して前記画素データを保持し、前記各小ブロックに対する1つのアドレス指定により当該小ブロック内の複数の前記画素データを同時に読み出し自在に構成されてなる複数の記憶手段と、複数の係数がマトリクス状に配置されてなる係数列を有し、複数の前記係数をそれぞれ対応する前記画素データに乗算して総和を求める演算手段とを含み、前記演算手段は、複数の前記記憶手段から読み出された、ある1つの前記大ブロックを構成する前記各小ブロックの前記各画素データに、前記係数列を所定の順序に並び換えて乗算する。
【0006】
本発明の画像処理方法は、二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、画像処理を施す画像処理方法であって、前記画素データ群を複数の前記画素データからなる小ブロックに分割し、更に複数の前記小ブロックで大ブロックを構成し、前記各大ブロック毎に前記各小ブロックを規則的に区別して配置した状態とするとともに、複数の係数がマトリクス状に配置されてなる係数列を構成し、前記各大ブロック内において、前記規則に対応した位置の前記各小ブロック毎に各々独立して各記憶手段に前記画素データを保持し、前記各小ブロックに対する1つのアドレス指定により当該小ブロック内の複数の前記画素データを前記記憶手段から同時に読み出せる状態としておき、複数の前記記憶手段から読み出された、ある1つの前記大ブロックを構成する前記各小ブロックの前記各画素データに、前記係数列を所定の順序に並び換えて乗算して総和を求める。
【0007】
【発明の実施の形態】
以下、本発明を適用した好適な諸実施形態について図面を参照しながら詳細に説明する。
【0008】
図1は、本実施形態による画像処理装置の概略構成を示すブロック図である。この画像処理装置は、複数、ここでは4つの各々独立したメモリセルであるSRAM A,B,C,Dと、画素データをこれらメモリセルにアクセスするためのデコーダ11と、メモリセルから読み出された画素データに演算処理を施すための係数列コントローラ12と、各メモリセル毎にその近傍に設けられており、各画素の演算結果を加算する加算部13と(係数列コントローラ12及び加算部13を含み演算手段を構成する。)、各加算部13の加算結果を更に加算する全体加算部14とを備えて構成されている。
【0009】
この画像処理装置では、図2に示すように、二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、これら画素データを以下のように区分けする。先ず、画素データ群を複数の画素データからなる小ブロックに分割する。ここでは、例えば4×4個の画素で各小ブロックを構成する。次に、複数の小ブロック、ここでは例えば2×2個の小ブロックで大ブロックを構成する。このとき、各大ブロック毎に各小ブロックを規則的に区別して配置した状態とし、例えば各大ブロック毎に4つの小ブロックをその位置で区別してAij,Bij,Cij,Dij(i,j=1,2,3…)と規定する。ここで、上述したメモリセルの数は、各大ブロックを構成する小ブロックの数と同じ又はそれ以上となるようにする。
【0010】
そして、図3に示すように、各大ブロックの小ブロックAijを全てSRAM Aに、小ブロックBijを全てSRAM Bに、小ブロックCijを全てSRAM Cに、小ブロックDijを全てSRAM Dにそれぞれ記憶する。このとき、各メモリセルには、小ブロック毎に画素データ列(ここでは16個のデータ列)が一単位として記憶されるており、各メモリセルは1つのアドレス指定により記憶された各画素データ列を同時に読み出し自在とされている。
【0011】
なお、各メモリセル内における1つの小ブロック分の画素データは、後述する加算時にお互い足し合わせる同等のビットを近くに配置することが好ましい。これにより、加算部13内における配線数を削減することができる。また、各メモリセルを更に分割し、グループ化することにより、読み出し速度を更に向上させることができる。また、各画素データの読み出し時には、ビットのマスクをかけることにより、画素データのビット長を変更することが可能である。
【0012】
一方、係数列コントローラ12は、図4に示すように、所定の係数列を記憶する係数記憶部であるカーネルレジスタ21と、前記係数列を所定の順序に並び換え、前記画素データに対応させる係数列変換部である2Dシフタ22とを備えて構成されている。
【0013】
カーネルレジスタ21は、二次元画像の画素データ群の一部と対応するマトリクス状の係数列を有しており、これがカーネルC1を構成する。係数列は所定の係数、ここでは−1,0,1の3種から構成されており、例えば図示のようなマトリクスの係数列となる。
なお、−1の乗算(減算)には2の補数を用いるが、最後に−1の個数を加算結果の適当なビット位置に加算することにより、2の補数による演算を実現する。
【0014】
そして、例えば4×4個の画素で構成される小ブロックの2×2個からなる、ある大ブロックにおいて、当該大ブロック内の画素の画素データに係数を乗算する画像処理を行う場合、例えば図5に示すように、小ブロックAijの画素データ列をSRAM Aから、小ブロックBijの画素データ列をSRAM Bから、小ブロックCijの画素データ列をSRAM Cから、小ブロックDijの画素データ列をSRAM Dからそれぞれ読み出し、カーネルC1を構成する係数列を乗算する。
【0015】
この演算処理を、カーネルレジスタ21により係数列を所定の順序に並び換えて、即ちカーネルC1を大ブロック内に対応させて移動させ画素毎に実行する。換言すれば、この一連の演算処理を行う間は、SRAM A〜Dのアドレスを変更することなく、SRAM A〜Dから読み出される各画素データ列(全体で当該大ブロックを構成する64個の画素列)は不変であり、係数列が変換することになる。従って、例えば図5のようにカーネルC1を移動させて演算処理した場合、実質的には当該大ブロック内でカーネルC2を対応させて演算処理することと等価の演算結果が得られる。なおこの場合、カーネルC1に対応した乗算のみが必要であるため、図示の例においては、8×8マップのカーネルC1以外の部分を全て0とすれば良い。
【0016】
このように、本実施形態の画像処理装置では、必要とする画素全てについて1画素毎に演算処理を施すに際して、各大ブロック内ではその画素データに一度アクセスすれば良く、この間、メモリセルのアドレスは変更せずに係数列を移動させるのみで、必要とする画素全てについての演算結果を得ることが可能となり、極めて効率の良い高速演算処理が実現する。
【0017】
ここで、カーネルのサイズと小ブロック及び大ブロックとの最適な関係について説明する。
図6に示すように、小ブロックをm1×m2個の画素データから構成し、大ブロックをl1×l2個の小ブロックから構成し、カーネルC1の係数列をn1×n2個の係数から構成する場合、
n1≦m1(l1−1)+1
及び、
n2≦m2(l2−1)+1
を満たすようにカーネルC1のサイズを決定する。図5の例では、m1×m2が4×4、l1×l2が2×2であり、カーネルC1をn1×n2=5×5以下(図示の例では5×5)となる。なお、図5のように構成することにより、カーネルを大ブロック内で移動させる際に、カーネルが大ブロック内の如何なる位置にあっても必ず各小ブロックに対応するメモリセルで同時にアクセスすることができる。
【0018】
このようにして得られた画素データ毎の乗算結果は、メモリセル毎にその近傍に設けられた加算部13で加算させる。このように、各加算部13毎に演算結果を得ることにより、圧縮された途中結果のみを転送することが可能となる。一般に、画素データと係数とでは、係数の方がデータ量が少ないため、画素データをメモリセルから転送するのではなく、係数をメモリセルに転送してメモリセル近傍で演算圧縮された結果のみをメモリセルから転送することにより、全体のデータ転送量を削減することができる。
【0019】
例えば、図5のようにカーネルC1を移動させて演算した場合、SRAM Aから読み出された画素データ列{X1,X2,…,X16}に係数列{Ai,j}(i,j=1〜5)が乗算されて、図7に示すキャリーの伝播しない高速なCSA(Carry Save Adder)23で加算される。なお、−1の係数はビット反転により、1の係数はANDにより実現し、係数−1,0,1を転送するために3値の多値論理をデータ転送バスに使用する。
【0020】
この演算結果は、
となる。
【0021】
そして、各加算部13における演算結果が全体加算部14で加算されて総和が求められ、所定の画素データに関する演算処理結果として出力される。
【0022】
なお、本実施形態では、カーネルC1の係数列を図4,図5のように構成したが、これに限定されることはなく、様々な係数列が適用可能である。一例を図8に示す。ここで、(a)が3×3の平滑化(平均化)フィルタ、(b)が5×5の平滑化(平均化)フィルタ、(c)が5×5の縦方向のエッジ抽出フィルタ、(d)がガウシアンフィルタであり、各図でカーネルの左側に処理結果を示す。(d)において、ガウシアンフィルタに必要な係数は他のフィルタに比べて複雑であるため、図示のように3つの単純なカーネルの組み合わせにより実現された。
【0023】
【発明の効果】
本発明によれば、比較的簡素な装置構成で無駄なく、極めて短時間且つ低消費電力で画像処理を行うことを可能とする画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【図1】本実施形態による画像処理装置の概略構成を示すブロック図である。
【図2】本実施形態による画像処理装置の画素データ群を示す模式図である。
【図3】各メモリセルに小ブロックの画素データを収める様子を示す模式図である。
【図4】係数列コントローラを詳細に説明するための模式図である。
【図5】各画素データに係数列を乗算する様子を詳細に説明するための模式図である。
【図6】カーネルのサイズと小ブロック及び大ブロックとの最適な関係について説明するための模式図である。
【図7】加算部の構成を詳細に説明するための模式図である。
【図8】カーネルの構成を詳細に説明するための模式図である。
【図9】従来の画像処理法を説明するための模式図である。
【符号の説明】
A,B,C,D SRAM
11 デコーダ
12 係数列コントローラ
13 加算部
14 全体加算部
21 カーネルレジスタ
22 2Dシフタ
23 CSA
【発明の属する技術分野】
本発明は、二次元画像に所定の処理を施して画像変換や画像検出等を行うための画像処理装置及び方法に関する。
【0002】
【従来の技術】
従来、二次元画像を処理して画像変換や画像検出等を行うには、各画素毎に、その画素を囲む複数の画素の画素データを加工する処理を逐一実行していた。
具体的には、図9に示すように、二次元画像に対応してマトリクス状に配置された多数の画素101毎に、例えばこの画素101を囲むカーネルブロック内における8個の近傍画素102の画素データX1〜X8に係数A1〜A8をそれぞれ対応させて乗算し、総和をとって得られたA1X1+A2X2+…+A8X8を画素101の処理データとする。カーネルを1画素毎に移動させてゆき、上記の一連の作業を、必要とする画素全てについて逐一実行する。
【0003】
【発明が解決しようとする課題】
しかしながら、上述の画像処理法は、必要とする画素全てについて1画素毎に逐一演算処理することを要するために膨大な演算量となり、極めて演算負荷及び消費電力の高い処理である。即ちこの場合、1回の演算処理を行う度に必要な画素データをメモリからプロセッサに転送し、カーネル内における複数の近傍画素のデータを全てダウンロードしなければならず、しかもカーネルが二次元画像全体を走査する間に何度も同じ画素に対してアクセスが発生するという深刻な問題がある。
【0004】
本発明は、このような問題を解決するために成されたものであり、比較的簡素な装置構成で無駄なく、極めて短時間且つ低消費電力で画像処理を行うことを可能とする画像処理装置及び画像処理方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明の画像処理装置は、二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、画像処理を施す画像処理装置であって、前記画素データ群を複数の前記画素データからなる小ブロックに分割し、更に複数の前記小ブロックで大ブロックを構成し、前記各大ブロック毎に前記各小ブロックを規則的に区別して配置した状態として、前記各大ブロックにおいて、前記規則に対応した位置の前記各小ブロック毎に各々独立して前記画素データを保持し、前記各小ブロックに対する1つのアドレス指定により当該小ブロック内の複数の前記画素データを同時に読み出し自在に構成されてなる複数の記憶手段と、複数の係数がマトリクス状に配置されてなる係数列を有し、複数の前記係数をそれぞれ対応する前記画素データに乗算して総和を求める演算手段とを含み、前記演算手段は、複数の前記記憶手段から読み出された、ある1つの前記大ブロックを構成する前記各小ブロックの前記各画素データに、前記係数列を所定の順序に並び換えて乗算する。
【0006】
本発明の画像処理方法は、二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、画像処理を施す画像処理方法であって、前記画素データ群を複数の前記画素データからなる小ブロックに分割し、更に複数の前記小ブロックで大ブロックを構成し、前記各大ブロック毎に前記各小ブロックを規則的に区別して配置した状態とするとともに、複数の係数がマトリクス状に配置されてなる係数列を構成し、前記各大ブロック内において、前記規則に対応した位置の前記各小ブロック毎に各々独立して各記憶手段に前記画素データを保持し、前記各小ブロックに対する1つのアドレス指定により当該小ブロック内の複数の前記画素データを前記記憶手段から同時に読み出せる状態としておき、複数の前記記憶手段から読み出された、ある1つの前記大ブロックを構成する前記各小ブロックの前記各画素データに、前記係数列を所定の順序に並び換えて乗算して総和を求める。
【0007】
【発明の実施の形態】
以下、本発明を適用した好適な諸実施形態について図面を参照しながら詳細に説明する。
【0008】
図1は、本実施形態による画像処理装置の概略構成を示すブロック図である。この画像処理装置は、複数、ここでは4つの各々独立したメモリセルであるSRAM A,B,C,Dと、画素データをこれらメモリセルにアクセスするためのデコーダ11と、メモリセルから読み出された画素データに演算処理を施すための係数列コントローラ12と、各メモリセル毎にその近傍に設けられており、各画素の演算結果を加算する加算部13と(係数列コントローラ12及び加算部13を含み演算手段を構成する。)、各加算部13の加算結果を更に加算する全体加算部14とを備えて構成されている。
【0009】
この画像処理装置では、図2に示すように、二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、これら画素データを以下のように区分けする。先ず、画素データ群を複数の画素データからなる小ブロックに分割する。ここでは、例えば4×4個の画素で各小ブロックを構成する。次に、複数の小ブロック、ここでは例えば2×2個の小ブロックで大ブロックを構成する。このとき、各大ブロック毎に各小ブロックを規則的に区別して配置した状態とし、例えば各大ブロック毎に4つの小ブロックをその位置で区別してAij,Bij,Cij,Dij(i,j=1,2,3…)と規定する。ここで、上述したメモリセルの数は、各大ブロックを構成する小ブロックの数と同じ又はそれ以上となるようにする。
【0010】
そして、図3に示すように、各大ブロックの小ブロックAijを全てSRAM Aに、小ブロックBijを全てSRAM Bに、小ブロックCijを全てSRAM Cに、小ブロックDijを全てSRAM Dにそれぞれ記憶する。このとき、各メモリセルには、小ブロック毎に画素データ列(ここでは16個のデータ列)が一単位として記憶されるており、各メモリセルは1つのアドレス指定により記憶された各画素データ列を同時に読み出し自在とされている。
【0011】
なお、各メモリセル内における1つの小ブロック分の画素データは、後述する加算時にお互い足し合わせる同等のビットを近くに配置することが好ましい。これにより、加算部13内における配線数を削減することができる。また、各メモリセルを更に分割し、グループ化することにより、読み出し速度を更に向上させることができる。また、各画素データの読み出し時には、ビットのマスクをかけることにより、画素データのビット長を変更することが可能である。
【0012】
一方、係数列コントローラ12は、図4に示すように、所定の係数列を記憶する係数記憶部であるカーネルレジスタ21と、前記係数列を所定の順序に並び換え、前記画素データに対応させる係数列変換部である2Dシフタ22とを備えて構成されている。
【0013】
カーネルレジスタ21は、二次元画像の画素データ群の一部と対応するマトリクス状の係数列を有しており、これがカーネルC1を構成する。係数列は所定の係数、ここでは−1,0,1の3種から構成されており、例えば図示のようなマトリクスの係数列となる。
なお、−1の乗算(減算)には2の補数を用いるが、最後に−1の個数を加算結果の適当なビット位置に加算することにより、2の補数による演算を実現する。
【0014】
そして、例えば4×4個の画素で構成される小ブロックの2×2個からなる、ある大ブロックにおいて、当該大ブロック内の画素の画素データに係数を乗算する画像処理を行う場合、例えば図5に示すように、小ブロックAijの画素データ列をSRAM Aから、小ブロックBijの画素データ列をSRAM Bから、小ブロックCijの画素データ列をSRAM Cから、小ブロックDijの画素データ列をSRAM Dからそれぞれ読み出し、カーネルC1を構成する係数列を乗算する。
【0015】
この演算処理を、カーネルレジスタ21により係数列を所定の順序に並び換えて、即ちカーネルC1を大ブロック内に対応させて移動させ画素毎に実行する。換言すれば、この一連の演算処理を行う間は、SRAM A〜Dのアドレスを変更することなく、SRAM A〜Dから読み出される各画素データ列(全体で当該大ブロックを構成する64個の画素列)は不変であり、係数列が変換することになる。従って、例えば図5のようにカーネルC1を移動させて演算処理した場合、実質的には当該大ブロック内でカーネルC2を対応させて演算処理することと等価の演算結果が得られる。なおこの場合、カーネルC1に対応した乗算のみが必要であるため、図示の例においては、8×8マップのカーネルC1以外の部分を全て0とすれば良い。
【0016】
このように、本実施形態の画像処理装置では、必要とする画素全てについて1画素毎に演算処理を施すに際して、各大ブロック内ではその画素データに一度アクセスすれば良く、この間、メモリセルのアドレスは変更せずに係数列を移動させるのみで、必要とする画素全てについての演算結果を得ることが可能となり、極めて効率の良い高速演算処理が実現する。
【0017】
ここで、カーネルのサイズと小ブロック及び大ブロックとの最適な関係について説明する。
図6に示すように、小ブロックをm1×m2個の画素データから構成し、大ブロックをl1×l2個の小ブロックから構成し、カーネルC1の係数列をn1×n2個の係数から構成する場合、
n1≦m1(l1−1)+1
及び、
n2≦m2(l2−1)+1
を満たすようにカーネルC1のサイズを決定する。図5の例では、m1×m2が4×4、l1×l2が2×2であり、カーネルC1をn1×n2=5×5以下(図示の例では5×5)となる。なお、図5のように構成することにより、カーネルを大ブロック内で移動させる際に、カーネルが大ブロック内の如何なる位置にあっても必ず各小ブロックに対応するメモリセルで同時にアクセスすることができる。
【0018】
このようにして得られた画素データ毎の乗算結果は、メモリセル毎にその近傍に設けられた加算部13で加算させる。このように、各加算部13毎に演算結果を得ることにより、圧縮された途中結果のみを転送することが可能となる。一般に、画素データと係数とでは、係数の方がデータ量が少ないため、画素データをメモリセルから転送するのではなく、係数をメモリセルに転送してメモリセル近傍で演算圧縮された結果のみをメモリセルから転送することにより、全体のデータ転送量を削減することができる。
【0019】
例えば、図5のようにカーネルC1を移動させて演算した場合、SRAM Aから読み出された画素データ列{X1,X2,…,X16}に係数列{Ai,j}(i,j=1〜5)が乗算されて、図7に示すキャリーの伝播しない高速なCSA(Carry Save Adder)23で加算される。なお、−1の係数はビット反転により、1の係数はANDにより実現し、係数−1,0,1を転送するために3値の多値論理をデータ転送バスに使用する。
【0020】
この演算結果は、
となる。
【0021】
そして、各加算部13における演算結果が全体加算部14で加算されて総和が求められ、所定の画素データに関する演算処理結果として出力される。
【0022】
なお、本実施形態では、カーネルC1の係数列を図4,図5のように構成したが、これに限定されることはなく、様々な係数列が適用可能である。一例を図8に示す。ここで、(a)が3×3の平滑化(平均化)フィルタ、(b)が5×5の平滑化(平均化)フィルタ、(c)が5×5の縦方向のエッジ抽出フィルタ、(d)がガウシアンフィルタであり、各図でカーネルの左側に処理結果を示す。(d)において、ガウシアンフィルタに必要な係数は他のフィルタに比べて複雑であるため、図示のように3つの単純なカーネルの組み合わせにより実現された。
【0023】
【発明の効果】
本発明によれば、比較的簡素な装置構成で無駄なく、極めて短時間且つ低消費電力で画像処理を行うことを可能とする画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【図1】本実施形態による画像処理装置の概略構成を示すブロック図である。
【図2】本実施形態による画像処理装置の画素データ群を示す模式図である。
【図3】各メモリセルに小ブロックの画素データを収める様子を示す模式図である。
【図4】係数列コントローラを詳細に説明するための模式図である。
【図5】各画素データに係数列を乗算する様子を詳細に説明するための模式図である。
【図6】カーネルのサイズと小ブロック及び大ブロックとの最適な関係について説明するための模式図である。
【図7】加算部の構成を詳細に説明するための模式図である。
【図8】カーネルの構成を詳細に説明するための模式図である。
【図9】従来の画像処理法を説明するための模式図である。
【符号の説明】
A,B,C,D SRAM
11 デコーダ
12 係数列コントローラ
13 加算部
14 全体加算部
21 カーネルレジスタ
22 2Dシフタ
23 CSA
Claims (8)
- 二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、画像処理を施す画像処理装置であって、
前記画素データ群を複数の前記画素データからなる小ブロックに分割し、更に複数の前記小ブロックで大ブロックを構成し、前記各大ブロック毎に前記各小ブロックを規則的に区別して配置した状態として、
前記各大ブロックにおいて、前記規則に対応した位置の前記各小ブロック毎に各々独立して前記画素データを保持し、前記各小ブロックに対する1つのアドレス指定により当該小ブロック内の複数の前記画素データを同時に読み出し自在に構成されてなる複数の記憶手段と、
複数の係数がマトリクス状に配置されてなる係数列を有し、複数の前記係数をそれぞれ対応する前記画素データに乗算して総和を求める演算手段と
を含み、
前記演算手段は、複数の前記記憶手段から読み出された、ある1つの前記大ブロックを構成する前記各小ブロックの前記各画素データに、前記係数列を所定の順序に並び換えて乗算することを特徴とする画像処理装置。 - 前記演算手段は、所定の前記係数列を記憶する係数記憶部と、前記係数列を所定の順序に並び換え、前記画素データに対応させる係数列変換部と、前記係数の乗算された前記画素データの総和を求める加算部とを含むことを特徴とする請求項1に記載の画像処理装置。
- 前記加算部は、前記各記憶手段の近傍で前記各記憶手段毎に設けられており、前記各加算部による加算結果を各々独立に転送自在とされていることを特徴とする請求項1又は2に記載の画像処理装置。
- 前記小ブロックがm1×m2個の前記画素データから構成され、前記大ブロックがl1×l2個の前記小ブロックから構成され、前記係数列がn1×n2個の前記係数から構成されており、
n1≦m1(l1−1)+1
及び、
n2≦m2(l2−1)+1
を満たすことを特徴とする請求項1〜3のいずれか1項に記載の画像処理装置。 - ある1つの前記大ブロックを構成する前記各小ブロックの各アドレスを指定した際に、当該アドレスを変更することなく、前記演算手段により前記係数列を移動させ、前記係数列の前記各並び換えに対応した複数の前記総和を得ることを特徴とする請求項1〜4のいずれか1項に記載の画像処理装置。
- 二次元画像をマトリクス状の複数の画素データからなる画素データ群で構成し、画像処理を施す画像処理方法であって、
前記画素データ群を複数の前記画素データからなる小ブロックに分割し、更に複数の前記小ブロックで大ブロックを構成し、前記各大ブロック毎に前記各小ブロックを規則的に区別して配置した状態とするとともに、複数の係数がマトリクス状に配置されてなる係数列を構成し、
前記各大ブロック内において、前記規則に対応した位置の前記各小ブロック毎に各々独立して各記憶手段に前記画素データを保持し、前記各小ブロックに対する1つのアドレス指定により当該小ブロック内の複数の前記画素データを前記記憶手段から同時に読み出せる状態としておき、
複数の前記記憶手段から読み出された、ある1つの前記大ブロックを構成する前記各小ブロックの前記各画素データに、前記係数列を所定の順序に並び換えて乗算して総和を求めることを特徴とする画像処理方法。 - 前記小ブロックがm1×m2個の前記画素データから構成され、前記大ブロックがl1×l2個の前記小ブロックから構成され、前記係数列がn1×n2個の前記係数から構成されており、
n1≦m1(l1−1)+1
及び、
n2≦m2(l2−1)+1
を満たすことを特徴とする請求項6に記載の画像処理方法。 - ある1つの前記大ブロックを構成する前記各小ブロックの各アドレスを指定した際に、当該アドレスを変更することなく、前記係数列を移動させ、前記係数列の前記各並び換えに対応した複数の前記総和を得ることを特徴とする請求項6又は7に記載の画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003031569A JP3860545B2 (ja) | 2003-02-07 | 2003-02-07 | 画像処理装置及び画像処理方法 |
US10/772,349 US7397951B2 (en) | 2003-02-07 | 2004-02-06 | Image processing device and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003031569A JP3860545B2 (ja) | 2003-02-07 | 2003-02-07 | 画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004240885A JP2004240885A (ja) | 2004-08-26 |
JP3860545B2 true JP3860545B2 (ja) | 2006-12-20 |
Family
ID=32905078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003031569A Expired - Fee Related JP3860545B2 (ja) | 2003-02-07 | 2003-02-07 | 画像処理装置及び画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7397951B2 (ja) |
JP (1) | JP3860545B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636490B2 (en) * | 2004-08-09 | 2009-12-22 | Broadcom Corporation | Deblocking filter process with local buffers |
JP4843377B2 (ja) * | 2006-05-18 | 2011-12-21 | 株式会社東芝 | 画像処理装置及び画像処理方法 |
JP2010134743A (ja) * | 2008-12-05 | 2010-06-17 | Panasonic Corp | 画像処理装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2091526B (en) * | 1981-01-13 | 1985-10-02 | Harris Corp | Digital map generator and display system |
FR2638871B1 (fr) * | 1988-11-09 | 1994-06-03 | Jutand Francis | Procede et circuit de filtrage de signal de representation d'image |
US5305398A (en) * | 1989-10-10 | 1994-04-19 | Unisys Corporation | Method and apparatus for scaling image data |
US5029226A (en) * | 1989-10-10 | 1991-07-02 | Unisys Corporation | Method and apparatus for effecting spot/void filtering of image data |
US5168375A (en) * | 1991-09-18 | 1992-12-01 | Polaroid Corporation | Image reconstruction by use of discrete cosine and related transforms |
JP3466705B2 (ja) * | 1993-05-28 | 2003-11-17 | ゼロックス・コーポレーション | 圧縮画像の圧縮解除方法 |
US5321522A (en) * | 1993-07-19 | 1994-06-14 | Xerox Corporation | ADCT compression with minimum compression ratio |
JPH07152730A (ja) * | 1993-11-30 | 1995-06-16 | Toshiba Corp | 離散コサイン変換装置 |
KR970025184A (ko) * | 1995-10-26 | 1997-05-30 | 김광호 | 예측매크로블럭 변환을 이용한 동화상 복호기 |
US5748792A (en) * | 1996-08-13 | 1998-05-05 | Polaroid Corporation | Large kernel filtering using a fixed-size block processor |
JP3432392B2 (ja) * | 1997-04-07 | 2003-08-04 | 三菱電機株式会社 | 画像符号化装置、画像符号化方法および画像蓄積/伝送装置 |
US6414687B1 (en) * | 1997-04-30 | 2002-07-02 | Canon Kabushiki Kaisha | Register setting-micro programming system |
US7430336B2 (en) * | 2004-05-06 | 2008-09-30 | Qualcomm Incorporated | Method and apparatus for image enhancement for low bit rate video compression |
-
2003
- 2003-02-07 JP JP2003031569A patent/JP3860545B2/ja not_active Expired - Fee Related
-
2004
- 2004-02-06 US US10/772,349 patent/US7397951B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7397951B2 (en) | 2008-07-08 |
JP2004240885A (ja) | 2004-08-26 |
US20040172436A1 (en) | 2004-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106875011B (zh) | 二值权重卷积神经网络加速器的硬件架构及其计算流程 | |
US7337205B2 (en) | Matrix multiplication in a vector processing system | |
US8341362B2 (en) | System, method and apparatus for memory with embedded associative section for computations | |
KR920001618B1 (ko) | 직교변환 프로세서 | |
JP2018067154A (ja) | 演算処理回路および認識システム | |
EP3093757B1 (en) | Multi-dimensional sliding window operation for a vector processor | |
CN110807170B (zh) | 多样本多通道卷积神经网络Same卷积向量化实现方法 | |
CN112991142B (zh) | 图像数据的矩阵运算方法、装置、设备及存储介质 | |
CN109993293B (zh) | 一种适用于堆叠式沙漏网络的深度学习加速器 | |
CN112633470B (zh) | 优化神经网络卷积残差结构的方法、***、设备及介质 | |
US11106968B1 (en) | Circuit arrangements and methods for traversing input feature maps | |
KR20230081697A (ko) | 팽창 컨볼루션 계산 가속화 방법 및 장치 | |
CN111045727B (zh) | 一种基于非易失性内存计算的处理单元阵列及其计算方法 | |
CN112712457B (zh) | 数据处理方法以及人工智能处理器 | |
JP3860545B2 (ja) | 画像処理装置及び画像処理方法 | |
US9898805B2 (en) | Method for efficient median filtering | |
US20200026998A1 (en) | Information processing apparatus for convolution operations in layers of convolutional neural network | |
US20230026788A1 (en) | Mapping Multi-Dimensional Coordinates to a 1D Space | |
JPH05233795A (ja) | 画像拡大縮小装置 | |
CN114281755A (zh) | 一种面向向量处理器的半精度向量化卷积方法及*** | |
CN111221500B (zh) | 大规模并行关联乘法器-累加器 | |
JP2734959B2 (ja) | 仮ラベル付け方法 | |
JP2021005242A (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
CN112184565B (zh) | 一种多窗口串行的图像锐化方法 | |
US10789072B2 (en) | Parallel processor for calculating operand and result addresses as a function of a position of a field of action and predetermined positions of processing elements in non-homogeneous address zones within a topology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20060822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060921 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |