KR19980072381A - 단일의 천이누적 회로를 이용한 컨볼루션 필터 - Google Patents
단일의 천이누적 회로를 이용한 컨볼루션 필터 Download PDFInfo
- Publication number
- KR19980072381A KR19980072381A KR1019970007170A KR19970007170A KR19980072381A KR 19980072381 A KR19980072381 A KR 19980072381A KR 1019970007170 A KR1019970007170 A KR 1019970007170A KR 19970007170 A KR19970007170 A KR 19970007170A KR 19980072381 A KR19980072381 A KR 19980072381A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- row
- memory
- adder
- convolution filter
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0202—Two or more dimensional filters; Filters for complex signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0211—Frequency selective networks using specific transformation algorithms, e.g. WALSH functions, Fermat transforms, Mersenne transforms, polynomial transforms, Hilbert transforms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
- H03H17/0227—Measures concerning the coefficients
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0248—Filters characterised by a particular frequency response or filtering method
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
가. 청구범위에 기재된 발명이 속한 기술분야
컨볼루션에 따라 필터링 동작을 수행하는 디지털 필터에 관한 것이다.
나. 발명이 해결하려고 하는 기술적 과제
단일의 천이누적회로를 이용함으로써 컨볼루션 필터의 전체적인 하드웨어의 크기가 감소되도록 한다.
다. 발명의 해결방법의 요지
본 발명에 따른 컨볼루션 필터는 행단위로 입력되는 데이터에 소정 계수를 논리곱연산하여 출력하는 논리곱게이트와; 상기 입력데이터의 비트수만큼의 가산기들이 트리구조를 이루어 구성되며, 상기 논리곱게이트의 출력을 상기 트리구조의 가산기들을 이용하여 가산하여 출력하는 트리가산기와; 상기 트리가산기로부터 출력되는 한 행의 데이터에 이전에 상기 트리가산기로부터 출력된 한 행의 데이터를 좌측방향으로 천이시키면서 누적가산하여 컨볼루션 결과로서 출력하는 천이누적회로로 이루어진다.
라. 발명의 중요한 용도
컨볼루션 필터의 전체적인 하드웨어 크기를 감소시킨다.
Description
본 발명은 컨볼루션에 따라 필터링 동작을 수행하는 디지털 필터에 관한 것으로, 특히 단일의 천이누적회로를 이용하여 전체적인 하드웨어의 크기를 감소시키는 컨볼루션 필터에 관한 것이다.
통상의 디지털신호 처리시스템에서 이용되고 있는 대표적인 필터로 컨볼루션(Convolution) 필터가 있다. 컨볼루션 필터는 현재의 입력과 과거의 입력에 필터의 특성을 결정하는 계수를 각각 곱한 후 그 결과들을 모두 더함으로써 필터링 동작을 수행한다. 본 발명은 이러한 필터, 즉 컨볼루션에 따라 필터링 동작을 수행하는 필터에 관한 것임을 밝혀두는 바이다.
도 1은 종래 기술의 일예에 따른 컨볼루션 필터의 구성을 보여주는 도면으로, 이는 주로 영상처리용의 N비트 데이터를 입력하여 3×3윈도우를 씌운 후 2차원 컨볼루션 처리를 행하는 필터의 예를 보여주고 있다. 이러한 2차원 컨볼루션 필터의 대표적인 예로는 미합중국 Harris사에 의해 제조 및 판매되고 있는 형명 HSP48908, HSP48901의 칩이 있다.
도 1을 참조하면, 컨볼루션 필터는 9쌍의 데이터와 계수에 대응하는 9개의 곱셈기 31∼39와, 2N비트의 트리가산기(트리구조를 가지는 8개의 가산기) 40을 포함하여 이루어지며, 곱셈(multiplication) 및 누적가산(accumulation)의 동작을 수행함으로써 컨볼루션 처리를 수행한다. 이때 곱셈기 31∼39 각각으로는 N비트의 데이터 D1∼D9(11∼19)와 N비트의 계수들 C1∼C9(21∼29)이 인가되어 각각 곱셈이 취해진다. 그러면 트리가산기 40은 9개의 2N비트 곱셈결과를 모두 가산하여 최종적으로 컨볼루션 처리된 결과를 출력하게 된다.
도 2는 종래 기술의 다른 예에 따른 컨볼루션 필터의 구성을 보여주는 도면으로, 이러한 컨볼루션 필터는 도 1에 도시된 컨볼루션 필터에 비해 데이터의 처리속도에 보다 여유가 있는 경우에 유용하게 사용될 수 있다.
도 2를 참조하면, 컨볼루션 필터는 도 1에 도시된 곱셈기들 31∼39 대신에 천이누적(SA: Shift and Accumulation)회로들 41∼49와 논리곱(AND)게이트 61∼69를 구비함을 알 수 있다. 이러한 천이누적회로들 41∼49 각각은 도 3에 도시된 바와 같이 가산기 81과, 누산기 82로 이루어진다. 이러한 필터가 N클럭 싸이클에 하나의 곱셈결과를 출력한다는 동작을 제외하고는 도 1에 도시된 필터와 동일한 동작을 수행한다.
상술한 바와 같은 구조에 따르면, 데이터와 계수가 모두 N비트이고 윈도우가 W×W인 경우, 도 1에 도시된 컨볼루션 필터는개의 N비트 곱셈기와 2N비트 트리가산기(-1개의 가산기)가 구비되며, 도 2에 도시된 컨볼루션 필터는개의 2N비트 천이누적회로와 2N비트 트리가산기(-1개의 가산기)가 구비된다. 이와 같이 종래 기술에 따라 컨볼루션 필터를 구현하는 경우,개의 N비트 곱셈기 또는 천이누적회로와,-1개의 2N비트 가산기와 같은 구성요소들이 요구된다. 이러한 구성요소들은 하드웨어적인 측면에서 상당한 손실을 초래한다. 왜냐하면, 그 구성요소들은 하드웨어적으로 상당히 크기 때문이다. 특히 윈도우의 크기가 5×5 이상인 필터를 구현하는 경우에 그 하드웨어의 크기는 매우 커질 것이다.
한편, 도 1 및 도 2를 참조하면 컨버루션 필터는 행버퍼(Row Buffer) 20,30을 구비하고 있음을 알 수 있다. 이러한 행버퍼 20,30은 현재의 출력샘플을 구하는 데 사용할 과거 두 행의 데이터를 저장하기 위한 것이다. 그러나 이러한 행버퍼 또한 필터의 하드웨어적인 구성을 크게하는 단점이 있다.
이러한 하드웨어적으로 큰 크기를 가지는 행버퍼를 대신하는 방법으로 도 4에 도시된 바와 같이 3개 행의 데이터를 동시에 메모리로부터 입력받는 방법이 있는데, 기존의 필터의 경우 크기 M의 3포트(port) 메모리를 하나 사용하거나 크기 M의 1포트 메모리를 3개 사용하여야 하는 메모리 비효율성의 단점이 있다.
따라서 본 발명의 목적은개의 N비트 곱셈기와-1개의 2N비트 가산기를 사용하는 구조와개의 N비트 천이누적회로와-1개의 2N비트 가산기를 사용하는 구조를 1개의 N비트 천이누적회로와-1개의 N비트 가산기를 사용하는 구조로 대신함으로써 컨볼루션 필터의 전체적인 하드웨어 크기를 감소시키는데 있다.
본 발명의 다른 목적은 메모리에 저장되어 있는 입력데이터를 컨볼루션 필터로 제공할 시 그 메모리를 크기 M의 3포트 메모리를 하나 사용하거나 크기 M의 1포트 메모리를 3개 사용하여야 하는 메모리 사용의 비효율성을 해소시키는데 있다.
이러한 목적들을 달성하기 위한 본 발명의 제1견지(aspect)에 따른 컨볼루션 필터는: 행단위로 입력되는 데이터에 소정 계수를 논리곱연산하여 출력하는 논리곱게이트와; 상기 입력데이터의 비트수만큼의 가산기들이 트리구조를 이루어 구성되며, 상기 논리곱게이트의 출력을 상기 트리구조의 가산기들을 이용하여 가산하여 출력하는 트리가산기와; 상기 트리가산기로부터 출력되는 한 행의 데이터에 이전에 상기 트리가산기로부터 출력된 한 행의 데이터를 좌측방향으로 천이시키면서 누적가산하여 컨볼루션 결과로서 출력하는 천이누적회로로 이루어진다.
본 발명에 따른 데이터 입력회로는: 다수의 메모리뱅크들로 이루어지며, 필터링을 위한 데이터를 행단위로 상기 각 메모리뱅크에 교번적으로 저장하는 메모리와; 상기 메모리뱅크들의 수에 대응하는 다수의 데이터열과; 상기 각 메모리뱅크에 저장되어 있는 행데이터를 각 메모리뱅크의 초기영역에서부터 순차적으로 읽어들이고 이 읽어들인 각 메모리뱅크의 행데이터를 상기 각 데이터열에 서로 다르게 입력되도록 제어하는 제어기로 이루어진다. 상기 제어기는 상기 메모리의 어느 한 메모리뱅크에서 읽어들인 행데이터를 상기 데이터열에 번갈아가면서 입력되도록 제어하는 것을 특징으로 한다.
본 발명의 제2견지에 따른 컨볼루션 필터는: 다수의 메모리뱅크들로 이루어지며, 필터링을 위한 데이터를 행단위로 상기 각 메모리뱅크에 교번적으로 저장하는 메모리와; 상기 메모리뱅크들의 수에 대응하는 다수의 데이터열과; 상기 각 메모리뱅크에 저장되어 있는 행데이터를 각 메모리뱅크의 초기영역에서부터 순차적으로 읽어들이고 이 읽어들인 각 메모리뱅크의 행데이터를 상기 각 데이터열에 서로 다르게 입력되도록 제어하는 제어기와; 상기 각 데이터열을 통해 행단위로 입력되는 데이터에 윈도우 마스크 계수를 논리곱연산하여 출력하는 다수의 논리곱게이트와; 상기 입력데이터의 비트수만큼의 가산기들이 트리구조를 이루어 구성되며, 상기 논리곱게이트의 출력을 상기 트리구조의 가산기들을 이용하여 가산하여 출력하는 트리가산기와; 상기 트리가산기로부터 출력되는 한 행의 데이터에 이전에 상기 트리가산기로부터 출력된 한 행의 데이터를 좌측방향으로 천이시키면서 누적가산하여 컨볼루션 결과로서 출력하는 천이누적회로로 이루어짐을 특징으로 한다.
도 1은 곱셈기를 이용하는 종래 기술에 따른 컨볼루션 필터의 구성을 보여주는 도면.
도 2는 다수의 천이누적회로를 이용하는 종래 기술에 따른 컨볼루션 필터의 구성을 보여주는 도면.
도 3은 도 2 및 도 5에 도시된 천이누적회로의 구성을 보여주는 도면.
도 4는 행버퍼를 사용하지 않는 컨볼루션 필터로 입력될 데이터를 제어하는 동작의 예를 설명하기 위한 도면.
도 5는 단일의 천이누적회로를 이용하는 본 발명에 따른 컨볼루션 필터의 구성을 보여주는 도면.
도 6은 도 1, 도 2 및 도 5에 도시된 각 컨볼루션 필터의 필터링 동작을 대비적으로 설명하기 위한 도면.
도 7은 본 발명에 따른 데이터 입력회로의 동작을 설명하기 위한 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 5는 본 발명에 따른 컨볼루션 필터의 구성을 보여주는 도면으로, 이러한 필터는 다음과 같은 특징을 가지고 있다.
첫째, 본 발명에 따른 컨볼루션 필터는 트리가산기 70의 후단에 연결된 단일의 천이누적(SA)회로 80을 포함하여 이루어진다는 사실이다. 이와 같이 본 발명에 따른 컨볼루션 필터는 도 3에 내부 구성이 도시된 단일의 천이누적회로 80만을 포함하여 이루어지기 때문에, 종래 기술과 같이(윈도우 크기)개의 곱셈기나개의 천이누적회로를 포함하여 이루어지는 경우에 비해 하드웨어의 크기를 감소시키는 효과가 있다.
둘째, 본 발명에 따른 컨볼루션 필터는 트리가산기 70의 비트수를 입력데이터 비트수(N)의 2배로 늘리지 않고 동일한 비트수로 처리할 수 있기 때문에 하드웨어의 크기를 감소시키는 효과가 있다. 즉, 도 1 및 도 2에 도시된 종래 기술에 따른 컨볼루션 필터의 트리가산기 40은 2N비트의 데이터를 입력으로 하여 가산동작을 수행하지만, 본 발명에 따른 컨볼루션 필터의 트리가산기 50은 N비트의 데이터를 입력으로 하여 가산동작을 수행한다.
세째, 본 발명에 따른 컨볼루션 필터는 종래 기술에 따른 컨볼루션 필터와 같이 크기 M의 3포트(port) 메모리를 하나 사용하거나 크기 M의 1포트 메모리를 3개 사용하는 대신에 입력제어기 90이라는 간단한 FSM(Finite State Machine)을 사용하여 크기 M/3의 1포트 메모리를 3개 사용할 수 있도록 함으로써 메모리 사용 효율성을 증가시키는 효과가 있다.
먼저, 본 발명에 따른 컨볼루션 필터의 첫째 및 둘째 특징적인 동작을 설명하면 다음와 같다.
도 5를 참조하면, 9개의 논리곱게이트들 61∼69는 각각에 대응하는 데이터레지스터 11∼19와 계수레지스터 21∼29에 저장되어 있는 N비트의 데이터와 1비트의 계수를 입력하여 논리곱연산한 후 N비트의 연산결과를 트리가산기 70으로 출력한다. 이때 트리가산기 70은 트리구조를 형성하는 8개의 N비트 가산기들로 이루어진다. 즉, 제1가산기는 논리곱게이트 61과 62의 출력을 가산하며, 제2가산기는 논리곱게이트 63과 64의 출력을 가산하며, 제3가산기는 논리곱게이트 65와 66의 출력을 가산하며, 제4가산기는 논리곱게이트 67과 68의 출력을 가산하며, 제5가산기는 제1가산기와 제2가산기의 출력을 가산하며, 제6가산기는 제3가산기와 제4가산기의 출력을 가산하며, 제7가산기는 제5가산기와 제6가산기의 출력을 가산하며, 제8가산기는 제7가산기의 출력과 논리곱게이트 69의 출력을 가산하여 출력한다. 상기 제8가산기, 즉 트리가산기 70의 최종 8비트 출력은 도 6에 도시된 바와 같이 이루어지는 천이누적회로 80의 가산기 81로 인가된다. 가산기 81은 이전에 입력되어 왼쪽방향으로 천이하여 자리수를 이동한 값과 현재 입력된 값을 가산하여 출력하고, 누산기 82는 상기 가산기 81의 출력을 누적하여 가산한 후 그 가산결과를 컨볼루션 결과, 즉 2N비트의 필터링 결과로서 출력한다. 상기에서 가산기 81의 한 입력으로 인가되는 값은 이전에 입력되어 왼쪽방향으로 1비트 천이된 값인데, 이 천이값은 별도의 시프터(shifter)가 구비됨에 따라 얻어지는 것이 아니고 누산기 82의 출력을 가산기 81의 입력으로 왼쪽방향으로 1비트 천이시켜 직접 연결함으로써 얻어지게 되는 값이다.
다시 도 5를 참조하면, 본 발명에 따른 컨볼루션 필터는 윈도우크기만큼의 데이터와 계수를 각각 논리곱연산한 후 이 연산결과를 트리구조를 가지는 가산기 70을 통해 가산하여 출력하고, 이 가산출력 값과 이전에 가산출력되어 좌측방향으로 1비트 천이된 값을 입력데이터의 비트수만큼 누적가산하여 출력한다. 이에 반하여 종래 기술에 따른 컨볼루션 필터는 윈도우크기만큼의 데이터와 계수를 각각 논리곱연산한 후 이 연산결과와 이전에 논리곱연산되어 좌측방향으로 1비트 천이된 값을 입력데이터의 비트수만큼 누적가산하여 출력한다. 그러므로 천이누적회로를 사용하는 종래 기술에 따른 컨볼루션 필터가 윈도우크기만큼의 누적회로(윈도우크기만큼의 논리곱게이트와, 가산기와, 누산기)와, 입력데이터 비트수의 2배만큼의 가산기들을 포함하여 구현되는 것과는 달리, 본 발명에 따른 컨볼루션 필터는 윈도우크기만큼의 논리곱게이트와, 입력데이터 비트수만큼의 가산기들과, 하나의 가산기와 누산기를 포함하여 구현됨을 알 수 있다. 즉, 본 발명에 따른 컨볼루션 필터는 종래 기술에 따른 컨볼루션 필터에 비해 하드웨어의 크기가 감소됨을 알 수 있다.
상기와 같은 특징을 가지는 본 발명에 따른 컨볼루션 필터는 도 1 및 도 2에 도시된 바와 같이 이루어지는 종래 기술에 따른 컨볼루션 필터와 동일한 필터링 동작, 즉 동일한 컨볼루션 결과값을 출력한다. 하기에서 수학식 1 및 수학식 2 는 도 1 및 도 2에 도시된 컨볼루션 필터에 대한 동작을 나타내며, 수학식 3은 도 5에 도시된 컨볼루션 필터에 대한 동작을 나타낸다.하기에서 F는 입력데이터를 나타내며, H는 윈도우를 씌우고자 하는 계수(윈도우 마스크 계수)를 나타내며, G는 컨볼루션결과인 출력데이터를 나타내며, hk는 계수 H의 k번째 비트수를 나타낸다.
[수학식 1]
[수학식 2]
[수학식 3]
도 6은 상기 수학식 1, 수학식 2 및 수학식 3에 의해 수행되는 필터링 동작을 나타내는 도면이다. (a)는 상기 수학식 1에 의해 수행되는 필터링 동작, 즉 도 1에 도시된 필터에 의해 수행되는 필터링 동작을 나타내며, (b)는 수학식 2에 의해 수행되는 필터링 동작, 즉 도 2에 도시된 필터에 의해 수행되는 필터링 동작을 나타내며, (c)는 수학식 3에 의해 수행되는 필터링 동작, 즉 도 3에 도시된 필터에 의해 수행되는 필터링 동작을 나타낸다. 여기서 필터링 동작은 2쌍의 4비트 데이터와 계수에 관한 연산의 경우를 예로 하여 나타내고 있음을 유의하여야 한다. 상기 (a) 및 (b)의 경우는 데이터와 계수에 대한 곱셈연산을 행한 후 9개의 곱셈 결과를 가산하는 과정을 통해 필터링 동작이 수행된다. 이에 반하여, (3)의 경우, 즉 본 발명에 따른 필터는 데이터와 계수의 각 비트에 대한 부분곱을 생성하고 그 부분곱들을 서로 가산한 후 그 가산결과를 최종적으로 가산하는 과정을 통해 필터링 동작이 수행된다. 이러한 각 경우의 필터링 동작은 동일한 결과값들이 출력됨을 알 수 있다.
다음에, 본 발명에 따른 컨볼루션 필터의 세 번째 특징, 즉 본 발명에 따른 컨볼루션 필터로 입력데이터를 제공하는 제어동작을 도 8을 참조하여 설명한다.
도 7을 참조하면, 본 발명의 입력제어기 90은 메모리 95의 메모리뱅크 95A∼95C에 저장되어 있는 데이터를 3가지의 스위칭상태에 대응하여 읽어들여 출력하는 동작을 수행하는 것으로, FSM(Finite State Machine)으로 구현될 수 있다. 상기 메모리 95의 메모리뱅크 95A에는 1행, 4행, 7행의 순으로 데이터가 저장되고, 메모리뱅크 95B에는 2행, 5행, 8행의 순으로 데이터가 저장되고, 메모리뱅크 95C에는 3행, 6행, 9행의 순으로 데이터가 저장된다. 즉, 필터링을 위한 입력데이터는 행단위로 상기 메모리 95에 모듈로-3의 형태로 교번적으로 저장된다. 그러면 제1스위칭 상태에서 입력제어기 90은 제1메모리뱅크 95A에 저장되어 있는 제1행(1st Row) 데이터를 선택하여 도 5의 제1데이터레지스터 11로 제공하고, 제2메모리뱅크 95B에 저장되어 있는 제2행(2nd Row) 데이터를 선택하여 도 5의 제2데이터레지스터 12로 제공하고, 제3메모리뱅크 95C에 저장되어 있는 제3행(3rd Row) 데이터를 선택하여 도 5의 제3데이터레지스터 13으로 제공한다. 다음에, 제2스위칭 상태에서 입력제어기 90은 제2메모리뱅크 95B에 저장되어 있는 제2행 데이터를 선택하여 도 5의 제1데이터레지스터 11로 제공하고, 제3메모리뱅크 95C에 저장되어 있는 제3행 데이터를 선택하여 도 5의 제2데이터레지스터 12로 제공하고, 제1메모리뱅크 95A에 저장되어 있는 제4행 데이터를 선택하여 도 5의 제3데이터레지스터 13으로 제공한다. 그 다음에, 제3스위칭 상태에서 입력제어기 90은 제3메모리뱅크 95C에 저장되어 있는 제3행 데이터를 선택하여 도 5의 제1데이터레지스터 11로 제공하고, 제1메모리뱅크 95A에 저장되어 있는 제4행 데이터를 선택하여 도 5의 제2데이터레지스터 12로 제공하고, 제2메모리뱅크 95B에 저장되어 있는 제5행 데이터를 선택하여 도 5의 제3데이터레지스터 13으로 제공한다. 즉, 입력제어기 90은 메모리 95의 각 뱅크의 초기영역에서부터 저장되어 있는 행데이터들을 3번씩 읽어들여 컨볼루션 필터의 데이터열에 교번적으로 제공한다. 컨볼루션 필터의 데이터열에 교번적으로 제공되는 입력데이터는 상기 입력제어기 90의 제어동작에 의해 도 5의 제3데이터레지스터 13 → 제2데이터레지스터 12 → 제1데이터레지스터 11의 순으로 인가되게 된다.
그러므로 본 발명에 따른 컨볼루션 필터는 크기 M의 3포트 메모리를 하나 사용하거나 크기 M의 1포트 메모리를 3개 사용하는 대신에 입력제어기 90이라는 간단한 FSM을 사용하여 크기 M/3의 1포트 메모리를 3개 사용할 수 있다.
상술한 바와 같이 본 발명에 따른 컨볼루션 필터는 종래 기술에 따른 컨볼루션 필터에 비해 하드웨어의 크기를 감소시키는 이점이 있다. 보다 구체적으로 말하면, 첫째, 본 발명에 따른 컨볼루션 필터는 윈도우크기만큼의 곱셈기나 천이누적회로를 포함하여 구현되는 대신에 단일의 천이누적회로만을 포함하여 구현되므로 하드웨어의 크기를 감소시키는 효과를 가져온다. 둘째, 본 발명에 따른 컨볼루션 필터는 트리가산기의 비트수를 입력데이터 비트수의 2배로 늘리지 않고, 동일한 비트수로 처리할 수 있으므로 하드웨어의 감소효과를 가져온다. 세째, 본 발명에 따른 컨볼루션 필터는 간단한 FSM으로 구성된 입력제어기를 사용함으로써 메모리의 효율 증가 효과를 가져온다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 예를 들어, 본 발명의 구체적인 실시예에서는 8비트의 입력데이터에 3×3 윈도우를 씌움으로써 필터링 동작하는 컨볼루션 필터에만 국한하여 설명하였지만, 윈도우 마스크 크기가 W×W인 경우로 확장하여 고려하면 메모리는 W개의 메모리뱅크로 이루어질 것이며, 입력제어기도 이에 따라 W개의 스위칭상태를 제어할 것이다. 그리고 또한 컨볼루션 필터의 입력데이터열도 W개로 변화되게 될 것이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 않되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (5)
- 컨볼루션 필터에 있어서,행단위로 입력되는 데이터에 소정 계수를 논리곱연산하여 출력하는 논리곱게이트와,상기 입력데이터의 비트수만큼의 가산기들이 트리구조를 이루어 구성되며, 상기 논리곱게이트의 출력을 상기 트리구조의 가산기들을 이용하여 가산하여 출력하는 트리가산기와,상기 트리가산기로부터 출력되는 한 행의 데이터에 이전에 상기 트리가산기로부터 출력된 한 행의 데이터를 좌측방향으로 천이시키면서 누적가산하여 컨볼루션 결과로서 출력하는 천이누적회로로 이루어짐을 특징으로 하는 컨볼루션 필터.
- 컨볼루션 필터에 데이터를 제공하기 위한 데이터 입력회로에 있어서,다수의 메모리뱅크들로 이루어지며, 필터링을 위한 데이터를 행단위로 상기 각 메모리뱅크에 교번적으로 저장하는 메모리와,상기 메모리뱅크들의 수에 대응하는 다수의 데이터열과,상기 각 메모리뱅크에 저장되어 있는 행데이터를 각 메모리뱅크의 초기영역에서부터 순차적으로 읽어들이고 이 읽어들인 각 메모리뱅크의 행데이터를 상기 각 데이터열에 서로 다르게 입력되도록 제어하는 제어기로 이루어짐을 특징으로 하는 데이터 입력회로.
- 제2항에 있어서, 상기 제어기는 상기 메모리의 어느 한 메모리뱅크에서 읽어들인 행데이터를 상기 데이터열에 번갈아가면서 입력되도록 제어하는 것을 특징으로 하는 데이터 입력회로.
- 컨볼루션 필터에 있어서,다수의 메모리뱅크들로 이루어지며, 필터링을 위한 데이터를 행단위로 상기 각 메모리뱅크에 교번적으로 저장하는 메모리와,상기 메모리뱅크들의 수에 대응하는 다수의 데이터열과,상기 각 메모리뱅크에 저장되어 있는 행데이터를 각 메모리뱅크의 초기영역에서부터 순차적으로 읽어들이고 이 읽어들인 각 메모리뱅크의 행데이터를 상기 각 데이터열에 서로 다르게 입력되도록 제어하는 제어기와,상기 각 데이터열을 통해 행단위로 입력되는 데이터에 윈도우 마스크 계수를 논리곱연산하여 출력하는 다수의 논리곱게이트와,상기 입력데이터의 비트수만큼의 가산기들이 트리구조를 이루어 구성되며, 상기 논리곱게이트의 출력을 상기 트리구조의 가산기들을 이용하여 가산하여 출력하는 트리가산기와,상기 트리가산기로부터 출력되는 한 행의 데이터에 이전에 상기 트리가산기로부터 출력된 한 행의 데이터를 좌측방향으로 천이시키면서 누적가산하여 컨볼루션 결과로서 출력하는 천이누적회로로 이루어짐을 특징으로 하는 컨볼루션 필터.
- 제4항에 있어서, 상기 제어기는 상기 메모리의 어느 한 메모리뱅크에서 읽어들인 행데이터를 상기 데이터열에 번갈아가면서 입력되도록 제어하는 것을 특징으로 하는 데이터 입력회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970007170A KR100222122B1 (ko) | 1997-03-05 | 1997-03-05 | 단일의 천이누적 회로를 이용한 컨볼루션 필터 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970007170A KR100222122B1 (ko) | 1997-03-05 | 1997-03-05 | 단일의 천이누적 회로를 이용한 컨볼루션 필터 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980072381A true KR19980072381A (ko) | 1998-11-05 |
KR100222122B1 KR100222122B1 (ko) | 1999-10-01 |
Family
ID=19498716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970007170A KR100222122B1 (ko) | 1997-03-05 | 1997-03-05 | 단일의 천이누적 회로를 이용한 컨볼루션 필터 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100222122B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113785312A (zh) * | 2019-05-16 | 2021-12-10 | 日立安斯泰莫株式会社 | 运算装置及运算方法 |
-
1997
- 1997-03-05 KR KR1019970007170A patent/KR100222122B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113785312A (zh) * | 2019-05-16 | 2021-12-10 | 日立安斯泰莫株式会社 | 运算装置及运算方法 |
CN113785312B (zh) * | 2019-05-16 | 2024-06-07 | 日立安斯泰莫株式会社 | 运算装置及运算方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100222122B1 (ko) | 1999-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6427158B1 (en) | FIR decimation filter and method | |
US6888372B1 (en) | Programmable logic device with soft multiplier | |
KR100481067B1 (ko) | 분산 산술 처리장치 및 그를 이용한 이차원 이산여현변환 처리장치 | |
WO2001035224A1 (en) | Bit-serial memory access with wide processing elements for simd arrays | |
EP0905890A2 (en) | Filter structure and method | |
US5297069A (en) | Finite impulse response filter | |
US4121296A (en) | Digital signal processing arrangement | |
KR100302093B1 (ko) | 교차형디지탈유한임펄스응답필터에서이진입력신호를탭계수와승산시키는방법및회로배열과교차형디지탈필터의설계방법 | |
US6202074B1 (en) | Multiplierless digital filtering | |
JPS62284510A (ja) | 移動係数を用いた縦続接続可能なデジタルフイルタプロセツサ | |
WO2000062421A1 (en) | Digital filter and method for performing a multiplication based on a look-up table | |
KR100222122B1 (ko) | 단일의 천이누적 회로를 이용한 컨볼루션 필터 | |
US5886912A (en) | Processing elements connected in cascade having a controllable bypass | |
CA1249376A (en) | Parallel image processor | |
JP2000322235A (ja) | 情報処理装置 | |
US5329473A (en) | Fast window/presum operation | |
US6138132A (en) | High speed ROM-based nyquist fir filter | |
US5781462A (en) | Multiplier circuitry with improved storage and transfer of booth control coefficients | |
US6718429B1 (en) | Configurable register file with multi-range shift register support | |
US6157939A (en) | Methods and apparatus for generating multiplicative inverse product | |
Mehendale et al. | DA-based circuits for inner-product computation | |
US5333263A (en) | Digital image processing apparatus | |
JP4315352B2 (ja) | ディジタルフィルタおよび情報通信機器 | |
KR0175373B1 (ko) | 칩 면적을 줄인 시변 교차 필터 | |
JP3827207B2 (ja) | ディジタルフィルタおよび情報通信機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20020628 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |