KR100186918B1 - 신호처리장치 - Google Patents

신호처리장치 Download PDF

Info

Publication number
KR100186918B1
KR100186918B1 KR1019950035851A KR19950035851A KR100186918B1 KR 100186918 B1 KR100186918 B1 KR 100186918B1 KR 1019950035851 A KR1019950035851 A KR 1019950035851A KR 19950035851 A KR19950035851 A KR 19950035851A KR 100186918 B1 KR100186918 B1 KR 100186918B1
Authority
KR
South Korea
Prior art keywords
arithmetic
cells
data
cell
supplied
Prior art date
Application number
KR1019950035851A
Other languages
English (en)
Other versions
KR960016574A (ko
Inventor
가즈키 니노미야
게이조 스미다
지로 미야케
다모쯔 니시야마
Original Assignee
모리시다 요이치
마쯔시다 덴키 산교 가부시키가이샤
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 모리시다 요이치, 마쯔시다 덴키 산교 가부시키가이샤 filed Critical 모리시다 요이치
Publication of KR960016574A publication Critical patent/KR960016574A/ko
Application granted granted Critical
Publication of KR100186918B1 publication Critical patent/KR100186918B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/22Adaptations for optical transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8046Systolic arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Abstract

각각 열번호 x(1≤x≤4) 및 행번호 y(x≤y≤4)로 지정되는 병렬동작이 가능한 10개의 연산셀E[x,y]로 연산 어레이를 구성한다. 각 연산셀은 적화연산을 위한 1개의 승산기와 1개의 가산기를 내장하고 있다. 연산셀E[x,y] (2≤x≤4와 x≤y≤4)의 입력 데이터는 연산셀E[x-1,y] 및 연산셀E[x-1,y-1]에서, 직행 버스 및 사행 버스를 통해 공급된다. 예를 들어 화상중에 수평방향으로 나란한 4개의 화소에 관한 화소 데이터가 제 1 열에 있는 4개의 연산셀이 개별로 공급되면, 제 4열의 연산셀이 4탭의 수평필터 연산의 결과를 출력한다.

Description

신호처리장치
제1도는 본 발명의 제1실시예에 관한 신호처리장치의 블럭도.
제2도는 제1도중의 입력부 내부 구성을 나타내는 블럭도.
제3도는 제1도중의 연산셀의 내부 구성을 나타내는 블럭도.
제4도는 제1도중의 연산 어레이의 동작 설명도.
제5도는 본 발명의 제2실시예에 관한 신호처리장치의 블럭도.
제6도는 본 발명의 제3실시예에 관한 신호처리장치의 블럭도.
제7도는 제6도중의 입력부 내부 구성을 나타내는 블럭도.
제8도는 제6도중의 연산셀 내부 구성을 나타내는 블럭도.
제9도는 제6도중의 연산 어레이의 동작 설명도.
제10도는 본 발명의 제4실시예에 관한 신호처리장치의 블럭도.
제11도는 본 발명의 제5실시예에 관한 신호처리장치의 블럭도.
제12도는 제11도중의 연산셀 내부 구성예를 나타내는 블럭도.
제13도는 제11도중의 연산셀의 다른 내부 구성예를 나타내는 블럭도.
제14도는 제11도중의 신호처리장치 동작설명을 위한 타이밍도.
제15도는 본 발명의 제6실시예에 관한 신호처리장치의 블럭도.
제16도는 본 발명의 제7실시예에 관한 신호처리장치의 블럭도.
제17도는 제16도 신호처리장치의 동작설명을 위한 타이밍도.
제18도는 본 발명의 제8실시예에 관한 신호처리장치의 블럭도.
제19도는 제18도중의 연산셀 내부 구성을 나타내는 블럭도.
제20도는 제18도의 신호처리장치의 동작설명도.
제21도는 제18도의 신호처리장치의 동작설명을 위한 타이밍도.
제22도는 제18도의 신호처리장치의 동작설명을 위한 다른 타이밍도.
제23도는 본 발명의 제9실시예에 관한 신호처리장치의 블럭도.
* 도면의 주요부분에 대한 부호의 설명
100 : 연산 어레이 102 : 입력부
103 : 연산셀 109 : 직행버스
120 : 출력부 201 : 래치
[발명의 배경]
본 발명은 화상처리장치등의 신호처리장치에 관한 것이다.
최근, 동작이나 정지면을 위한 화상처리의 분야에서는 하이 패스 필터나 로우 패스 필터등의 아날로그 필터의 디지털화가 진행되고 있다. 또, 멀티미디어 등에 대응하기 위하여, 복수의 필터 연산이 가능한 하드웨어가 요구되고 있다.
C, Joanblanq, et al., A 54-MHz CMOS Programmable Video Signal Processor for HDTV Applications, IEEE Journal of Solid-State Circuits, Vol. 25, No. 3, pp. 730-734, June 1990에는 HDTV를 위한 프로그래머블 등 디지털 신호처리장치가 나타나고 있다. 이것은 각각 승산기와 가산기를 갖는 복수의 적화연산셀을 종속 접속하여 이루어지는 연산기를 칩 하나에 모은 것이다. 이 신호처리장치에 의하면, 예를 들어 계수를 a1, a2, a3으로 하고, i번째의 입력 데이터(화소 데이터)를 gi로 했을 때, 종속 접속된 3개의 적화연산셀에 의해, 3탭의 수평 필터 연산 a1×gi+a2×g(i+1)+a3×g(i+2)가 실행된다.
화상 처리 속도를 향상시키기 위해서는 상기와 같은 복수의 적화연산셀을 병렬동작시킬 필요가 있다.
일본국 특개소 59-172064호에는 다수의 MPU(마이크로 프로세서·유닛)를 표시 화소에 대응하는 2차원 격자모양으로 배치하고, 각 MPU에서 화상처리연산을 병렬 실행하도록 한 화상처리장치가 제안되고 있다. 이 화상처리장치에서는 각 MPU와 상·하·좌·우로 인접하는 4개의 MPU 사이에 각각 데이터 버스가 설치되어 있다.
또, 일본국 특개소 60-159973호에는 복수의 PE(프로세서·엘리먼트)와 복수의 ME(메모리·엘리먼트)를 갖고, 모든 PE와 ME를 복수의 공통 버스로 각각 접속하여 이루어지는 화상처리장치가 제안되고 있다. 이 화상처리장치에서는 각각 복수의 공통 버스중 어느 버스를 사용해야하는 지를 나타내는 버스 번호가 각 PE 및 각 ME에 부여된다.
필터 처리는 다입력·1출력의 수렴형(conversion type)처리이다. 따라서, 병렬 동작가능한 다수의 적화연산셀을 2차원 격자모양으로 배치하고, 이 사이를 종횡하여 데이터 버스로 접속하여 이루어지는 필터구성을 채용하는 경우에는 데이터 버스의 구성이 쓸데없이 길어진다. 또, 병렬 동작할 수 있는 모든 적화연산셀을 복수의 공통 버스에 각각 접속하여 이루어지는 필터 구성을 채용하는 경우에는 공통버스의 선택제어가 쓸데없이 중복된다.
[발명의 개요]
본 발명의 목적은 작은 버스 구성으로 병렬 처리를 실행할 수 있는 수렴형 처리에 적합한 신호처리장치를 제공하는데 있다.
이 목적을 달성하기 위해, 본 발명에 관한 제1신호처리장치는 병렬 동작가능한 복수의 연산셀을 피라미드 모양의 계층구조를 이루도록 2차원 배치하고, 트리구조를 이루도록 이 연산셀을 데이터 버스로 연결하여 이루어지는 것이다. 구체적으로는 본 발명의 제1신호처리장치는 데이터에 산술연산처리를 하기 위한 연산수단과, 외부에서 데이터 신호를 입력하여 상기 연산수단에 데이터를 공급하기 위한 제1인터페이스 수단과, 상기 연산수단에서 산술연산처리를 한 데이터 공급을 받고 외부로 데이터 신호를 출력하기 위한 제2인터페이스 수단을 구비한 것으로, 상기 연산수단은 2이상의 정수M에 대해 1≤x≤M 또 x≤y≤M을 만족시키는 2개의 첨자 x, y로 지정되는 병렬 동작이 가능한 복수의 연산셀 E[x, y]의 어레이를 갖고, 연산 셀E[1,y] (1≤y≤M)의 입력 데이터는 제1인터페이스 수단에서 공급되고, 연산셀E[x, y](2≤x≤M, x≤y≤M)의 입력 데이터는 연산셀E[x-1, y] 및 연산셀 E[x-1, y-1]에서 공급되고, 연산셀 E[M, M]의 출력 데이터는 제2인터페이스 수단으로 공급되는 것이다.
상기 본 발명에 관한 제1신호처리장치에 의하면, 복수의 연산셀 병렬 동작에 의해 다입력·1출력의 수렴형 처리가 실행된다. 더구나, 수렴형 처리에 적합한 트리 구조의 데이터 버스를 채용하였으므로, 버스 구성이 작아진다.
또, 본 발명에 관한 제2신호처리장치는 병렬 동작가능한 복수의 연산셀을 피라미드 모양의 계층 구조를 이루도록 2차원 배치하고, 각 계층 간에 개별의 공통 버스를 설치한 구성을 채용한 것이다. 구체적으로는 본 발명의 제2신호처리장치는 데이터에 산술연산처리를 하기 위한 연산수단과, 외부에서 데이터 신호를 입력하여 상기 연산수단에 데이터를 공급하기 위한 제1인터페이스 수단과, 상기 연산수단에서 산술연산처리를 한 데이터 공급을 받고 외부에 데이터 신호를 출력하기 위한 제2인터페이스 수단을 구비한 것으로, 상기 연산수단은 2이상의 정수M에 대해 1≤x≤M 또 x≤y≤M 을 만족시키는 2개의 첨자 x, y로 지정되는 병렬 동작이 가능한 복수의 연산셀 E[x, y]의 어레이와, 1이상이고 M-1이하의 정수k 각각에 대해 연산셀 E[k, y](k≤y≤M)과 연산셀E[k+1, y](k+1≤y≤M) 사이에 개재한 시분할 다중 공통 버스B[k]를 갖고, 연산셀E[1,y](1≤y≤M)의 입력 데이터는 제1인터페이스 수단에서 공급되고, 연산셀E[k+1, y](k+1≤y≤M)의 입력 데이터는 연산셀E[k, y](k≤y≤M)에서 공통 버스B[k]를 통해 공급되고, 연산셀E[M, M]의 출력 데이터는 제2인터페이스 수단으로 공급되는 것이다.
상기 본 발명에 관한 제2신호처리장치에 의하면, 복수의 연산셀 병렬 동작에 의해 다입력·1출력의 수렴형 처리가 실행된다. 더구나, 각 계층간에 시분할 다중의 공통 버스를 각각 설치하였으므로, 버스 구성이 작아지는 동시에 수렴형 처리에 적합한 공통 버스의 이용을 실현할 수 있다.
[실시예]
이하, 본 발명의 실시예에 관한 신호처리장치인 9개의 화상처리장치에 대해 도면을 참조하면서 설명한다.
[제1실시예]
제1도는 본 발명의 제1실시예에 관한 화상처리장치의 블럭도이다. 제1도중 100은 각각 열번호 x(1≤x≤4) 및 행번호y(1≤x≤4)로 지정되는 병렬동작이 가능한 16개의 연산셀(E[x, y])(103)을 구비한 연산 어레이이다. 이 연산 어레이(100)는 입력부(102)에서 공급된 데이터에 산술연산처리를 하고, 그 결과를 출력부(120)으로 공급하는 것이다. 제1열의 연산셀 E[1, y](1≤y≤4)을 A1, B1, C1 및 D1, 제2열의 연산셀 E[2, y](1≤y≤4)을 A2, B2, C2 및 D2, 제3열의 연산셀 E[3, y](1≤y≤4)을 A3, B3, C3 및 D3, 제 4열의 연산셀 E[4, y](1≤x≤4)을 A4, B4, C4 및 D4라 명명한다. 외부의 데이터 신호(화소 신호)는 4개의 입력(104)을 통해 입력부(102)에 공급된다. 입력부(102)에서 제1열의 연산셀D1, C1, B1, A1로는 각각 데이터 버스(105), (106), (107), (108)를 통해 따로따로 데이터가 공급된다. 연산셀 E[x, y](2≤x≤4, 2≤x≤4) 의 입력 데이터는 연산셀 E[x-1, y] 및 연산셀 E[x-1, y-1]에서 데이터 버스(109) 및 (110)을 통해 공급된다. 연산셀E[x-1, y]에서 연산셀E[x, y]로의 데이터 버스(109)를 직행(直行) 버스라 하고, 연산셀E[x-1, y-1]에서 연산셀 E[x, y]로의 데이터 버스(110)을 사행(斜行) 버스라 한다. 제1행의 연산셀 A1, A2, A3, A4 사이에는 직행 버스(109)가 각각 설치되어 있다. 제4열의 연산셀 D4, C4, B4, A4에서 출력부(120)로는 각각 데이터 버스(111), (112), (113), (114)를 통해 따로따로 데이터가 공급된다. 출력부(120)는 4개의 출력(121)을 통해 외부로 데이터 신호(화소 신호)를 출력한다. 또, 제1화상처리장치는 뒤에 자세히 서술하는 MPU(11)과 메모리(12)를 더 구비하고 있다.
제1도의 화상처리장치를 4탭의 수평필터로 동작시키는 경우의 입력부(102)의 내부 구성예를 제2도에 나타낸다. 제2도의 입력부(102)는 각각 데이터를 보유하기 위해 서로 종속접속된 3개의 래치(201), (202), (203)을 갖는다. 이 예에서는 화상중에서 수평 방향으로 나란한 4개의 화소에 관한 화소 데이터g1, g2, g3, g4가 제1열의 연산셀 A1, B1, C1, D1로 공급되는 것처럼, 4개의 입력(104) 중 하나를 통해 외부에서 공급되는 화소 신호g는 화소 데이터g4로서 데이터 버스(105)에 공급되는 동시에 1단째의 래치(201)로 공급되고, 1단째의 래치(201)는 화소 데이터 g3을 데이터 버스(106)로, 2단째의 래치(202)는 화소 데이터g2를 데이터 버스(107)로, 3단째의 래치(203)는 화소 데이터 g1을 데이터 버스(108)로 각각 공급한다.
제1도중의 연산셀A1의 내부 구성을 제3도에 나타낸다. 제3도에서 131은 재기록 가능한 계수 레지스터, 133은 승산기, 135는 가산기, 136은 래치이다. 승산기(133)는 계수 레지스터(131)가 보유하고 있는 계수와 데이터 버스(108)을 통해 공급된 제1입력(132)의 곱을 출력하는 것이다. 가산기(135)는 승산기(133)에서 출력된 곱과 제2입력(134)과의 합을 출력하는 것이다. 래치(136)는 가산기(135)에서 출력된 합을 보유하고, 이 보유한 합을 직행 버스(109)와 사행 버스(110)에 출력하는 것이다. 제1도중의 다른 연산셀(103)도, 제3도의 연산셀A1과 같은 내부 구성을 갖는다. 단 연산셀E[x, y](2≤x≤4, 2≤x≤4) 즉 연산셀 B2, C2, D2, B3, C3, D3, B4, C4, D4에서는 제1입력(132)을 직행 버스(109)에서, 제2입력(134)을 사행 버스(110)에서 각각 공급하도록 되어 있다.
제1도중의 MPU(11)은 제어입력(21)을 통해 처리전환 요구신호를 받으면, 데이터 버스(22)를 통해, 연산 어레이(100)를 구성하는 16개의 연산셀(103)각각의 계수 레지스터(131)에 계수를 설정하고, 제1행 및 제1열을 구성하는 7개의 연산셀 A1, A2, A3, A4, B1, C1, D1 각각의 제2입력(134)에 정수를 설정한다. 메모리(12)에는 처리전환 요구신호에 응답하고 MPU(11)이 실행해야 할 프로그램과, 설정에 이용해야 할 데이터가 격납되어 있다.
제4도는 제1도중의 연산 어레이(100)의 동작 설명도이다. 제1열의 연산셀A1, B2, C1, D1 각각의 계수 레지스터(131)에는 계수 a1, a2, a3, a4가 미리 설정된다. 제2열의 연산셀 A2, B2, C2, D2 각각의 계수 레지스터(131)에는 계수 0, 0, 0, 1이 미리 설정된다. 제3열 및 제4열 연산셀의 계수 레지스터(131)의 설정은 제2열과 같다. 또, 제1행 및 제1열을 구성하는 7개의 연산셀 A1, A2, A3, A4, B1, C1, D1 각각의 제2입력(134)은 모두 0으로 미리 설정된다.
수평방향으로 나란한 4개의 화소에 관한 화소 데이터g1, g2, g3, g4가 입력부(102)에서 제1열의 연산셀A1, B1, C1, D1로 각각 공급되면, 연산셀 A1은 a1×g1을, 연산셀B1은 a2×g2을, 연산셀C1은 a3×g3을,
연산셀 D1은 a4×g4를 각각 출력한다. 이결과 제2열에서 연산셀 A2은 a1×g1을, 연산셀B2은 a2×g2 및 a3×g3을 연산셀D2는 a3×g3 및 a4×g4를 각각 받는다. 따라서, 연산셀A2는 0을, 연산셀B2는 a1×g1을, 연산셀C2는 a2×g2를, 연산셀D2는 a3×g3+a4×g4를 각각 출력한다. 제3열에서는 연산셀 A3은 0을, 연산셀B3은 0및 a1×g1을, 연산셀C3은 a1×g1 및 a2×g2를, 연산셀D3은 a2×g2 및 a3×g3+a4×g4를 각각 받는다. 따라서, 연산셀 A3, B3은 모두 0을, 연산셀C3은 a1×g1을, 연산셀D3은 a2×g2+a3×g3+a4×g4를 각각 출력한다. 제4열에서는 연산셀A4는 0을, 연산셀B4는 0및 0을, 연산셀C4는 0및 a1×g1을, 연산셀D4는 a1×g1 및 a2×g2+a3×g3+a4×g4를 각각 받는다. 따라서, 연산셀 A4, B4, C4는 모두 0을 연산셀D4는 a1×g1+a2×g2+a3×g3+a4×g4를 각각 출력한다. 연산셀D4의 출력데이터a1×g1+a2×g2+a3×g3+a4×g4는 수평 필터의 처리결과로서 출력부(120)를 통해 출력된다.
이상과 같이 제1도의 화상처리장치에 의하면, 트리구조의 데이터 버스(109), (110)로 서로 연결된 10개의 연산셀A1, B1, C1, D1, B2, C2, D2, C3, D3, D4를 주로 이용함으로써, 4탭의 수평 필터 처리가 실행된다. 6개의 연산셀A2, B2, C2, B3, C3, C4를 주로 이용하도록 계수 레지스터(131)의 설정 내용을 변경하면, 3탭의 수평필터 처리도 실행할 수 있다. 또, 3개의 연산셀A3, B3, B4로 이루어지는 그룹과 3개의 연산셀C3, D3, D4로 이루어지는 다른 그룹을 독립하여 동작시킴으로써, 각각 2탭의 수평 필터 처리도 실행할 수 있다.
또, 입력부(102)중의 래치(201∼203)를 각각 라인 메모리로 치환하면, 연산 어레이(100)를 2∼4ㅌ앱의 수직 필터로 동작시킬 수 있다. 또, 입력부(102) 중의 래치(201∼203)를 각각 필드메모리로 치환하면, 연산 어레이(100)을 템포럴 필터로서 동작시키는 것도 가능하다. 입력부(102)는 4개의 입력(104)을 통해 외부에서 공급되는 화소 신호의 각각을 화소 데이터로 제1열의 연산셀A1, B1, C1, D1에 공급하도록 구성할 수도 있다.
상기 4탭 수평 필터의 예에서는 출력부(120) 4개의 출력(121)중 하나만이 사용된다. 단, 제4열의 연산셀A4, B4, C4, D4의 각각에서 유효한 데이터가 출력되는 경우에는 4개의 출력(121)의 전부를 사용할 수 있다. 이 경우에는 출력부(120)에 버퍼 메모리를 내장시켜 하나의 출력(121)을 시분할 다중 형식으로 이용할 수도 있다.
연산 어레이(100)은 4행 4열로 제한되지 않고, 4행 8열등의 다른 구성이어도 좋다. 각 연산셀(103)은 제3도와 같은 1개의 승산기(133)과 1개의 가산기(135)를 구비한 적화연산셀의 구성에 제한되지 않고, 다른 구성을 채용해도 좋다. 예를 들어 상기 4탭의 수평 필터의 예에서는 제2입력(134)에 0이 설정된 7개의 연산셀A1, A2, A3, A4, B1, C1, D1에서는 가산기(135)의 배치를 생략하고, 승산기(133)의 출력을 래치(136)로 직접 공급하도록 해도 좋다. 또, 적화연산을 위한 복수개의 승산기와 복수개의 가산기를 각 연산셀(103)에 내장시켜도 좋다. 복수 연산셀(103)의 각각을 MPU로 구성하는 것도 가능하다.
[제2실시예]
제5도는 본 발명의 제2실시예에 관한 화상처리장치의 블럭도이다. 제5도의 1도의 화상처리장치도, 제1도의 경우와 같이 데이터에 산술연산처리를 하기 위한 연산 어레이(100a)와, 외부에서 데이터 신호를 입력하면 연산 어레이(100a)에 데이터를 공급하기 위한 입력부(102a)와, 연산 어레이(100a)에서 산술연산처리를 한 데이터의 공급을 받아 외부로 데이터 신호를 출력하기 위한 출력부(120a)를 구비하고 있다. 제5도의 연산 어레이(100a)는 각각 열번호x(1≤x≤4) 및 행번호y(1≤x≤4)로 지정되는 병렬 동작이 가능한 16개의 연산셀(E[x, y])(103a)을 구비하고 있다.
연산 어레이(100a)의 내부에서는 연산셀E[x, y](2≤x≤4, 2≤y≤4)의 입력 데이터는 연산셀E[x-1, y] 및 연산셀E[x-1, y-1]에서 직행 버스(109)및 사행 버스(110)를 통해 공급되고, 연산셀E[x, 1] (2≤x≤4)의 입력 데이터는 연산셀E[x-1, 1]에서 직행버스(109)를 통해 공급된다. 더구나, E[x, y] (2≤x≤4, 1≤y≤3)의 입력 데이터는 역사행(逆斜行) 버스(119)를 통해 연산셀E[x-1, y+1]에서 다시 공급된다. 즉, 본 실시예의 연산 어레이(100a)는 제1도의 연산 어레이(100)에 9개의 역사행 버스(119)를 부가한 것으로, 그 중 1개는 예를 들어 연산셀D1에서 연산셀C2에 이르는 것이다. 또, 제5도의 화상처리장치는 각 연산셀(103a)에 내장되어 있는 계수 레지스터의 설정등을 위한 MPU(11a)와 메모리(12a)를 더 구비하고 있다.
직행 버스(109)와 사행 버스(110)와 역사행 버스(119)를 구비한 제5도의 화상처리장치에 의하면, 제1도의 화상처리장치에 비해 더 유연한 처리를 할 수 있다.
또, 제1도의 연산 어레이(100)에 예를 들어 연산셀A1에서 연산셀C2에, 연산셀B1에서 연산셀D2에 각각 이르는 데이터 버스를 부가해도 좋다.
[제3실시예]
제6도는 본 발명의 제3실시예에 관한 화상처리장치의 블럭도이다. 제6도중의 100b는 각각 열번호x(1≤x≤4) 및 행번호y(x≤y≤4)로 지정되는 병렬 동작이 가능한 10개의 연산셀(E[x, y])(103b)을 구비한 연산 어레이이다. 이 연산 어레이(100b)는 입력부(102b)에서 공급된 데이터에 산술연산처리를 하고, 그 결과를 출력부(120b)로 공급하는 것이다. 제1열의 연산셀E[1, y] (1≤y≤4)을 A1, B1, C1 및 D1, 제 2열의 연산셀E[2, y] (2≤y≤4)을 B2, C2 및 D2, 제3열의 연산셀E[3, y] (3≤y≤4) C3 및 D3, 제4열의 연산셀E[4, 4]을 D4라고 각각 명명한다. 외부의 데이터 신호(화소 신호)는 4개의 입력(104)을 통해 입력부(102b)로 공급된다. 입력부(102b)에서 제1열의 연산셀D1, C1, B1, A1에는 각각 데이터 버스(105), (106), (107), (108)를 통해 개별로 데이터가 공급된다. 연산셀E[x, y](2≤x≤4, x≤y≤4)의 입력 데이터는 연산셀E[x-1, y] 및 연산셀E[x-1, y-1]에서 직행 버스(109)및 사행 버스(110)를 통해 공급된다. 제4열의 연산셀D4에서 출력부(120b)에는 데이터 버스(111)를 통해 데이터가 공급된다. 출력부(120b)는 하나의 출력(121)을 통해 외부로 데이터 신호(화소 신호)를 출력한다. 또, 제6도의 화상처리장치는 뒤에 자세히 서술하는 MPU(11b)와 메모리(12b)를 더 구비하고 있다.
제6도의 화상처리장치를 2탭의 수평필터 기능, 2탭의 수직 필터 기능 및 양필터의 출력 합성기능이라 하는 3개의 기능을 겸비한 장치로서 동작시키는 경우 입력부(102b)의 내부 구성예를 제7도에 나타낸다. 제7도의 입력부(102b)는 각각 데이터를 보유하기 위한 1개의 라인 메모리(301)와 2개의 래치(302), (303)를 갖는다. 이 예에서는 연산셀D1에 공급되는 화소 데이터g3의 1라인전의 화소 데이터h3이 연산셀C1에 공급되고, 수평 방향에 나란한 3개의 화소에 관한 화소 데이터h1, h2, h3이 연산셀A1, B1, C1에 공급되도록, 4개의 입력(104)중 하나를 통해 외부에서 공급되는 화소 신호g는 화소 데이터g3으로서 데이터 버스(105)에 공급되는 동시에 라인 메모리(301)에 공급되고, 라인 메모리(301)는 화소 데이터h3을 데이터 버스(106)로, 1단째의 래치(30)는 화소 데이터h2를 데이터 버스(107)에, 2단째의 래치(303)는 화소 데이터h1을 데이터 버스(108)에 각각 공급한다.
제6도중의 연산셀B1의 내부 구성을 제8도에 나타낸다. 제8도의 구성은 앞에서 설명한 제3도의 구성으로, 재기록 가능한 제2계수 레지스터(137)와 셀렉터(138)를 부가한 것이다. 제8도중의 계수 레지스터(제1계수 레지스터)(131), 승산기(133) 및 가산기(135)의 기능은 각각 제3도의 경우와 같다. 제8도의 래치(136)는 가산기(135)에서 출력된 합을 보유하고, 이 보유한 합을 직행 버스(109)에 출력하는 동시에 셀렉터(138)에 공급하는 것이다. 셀렉터(138)는 제2계수 레지스터(137)가 보유하고 있는 계수와 래치(136) 출력중의 어느 것을 사행 버스(110)로 출력하는 것이다. 제6도중의 다른 연산셀(103b)도 제8도의 연산셀B1과 같은 내용의 내부 구성을 갖는다. 단, 연산셀E[x, y](2≤x≤4, x≤y≤4) 즉 연산셀B2, C2,D2, C3, D3, D4에서는 제1입력(132)을 직행 버스(109)에서, 제2입력(134)을 사행 버스(110)에서 각각 공급하도록 되어 있다.
제6도중의 MPU(11b)는 제어입력(21)을 통해 처리전환 요구신호를 받으면, 데이터 버스(22)를 통해, 연산 어레이(100b)를 구성하는 10개의 연산셀(103b) 각각의 제1계수 레지스터(131) 및 제2계수 레지스터(137)에 각각 계수를 설정하고, 제1열의 연산셀A1, B1, C1, D1 각각의 제2입력(134)에 정수를 설정한다. 메모리(12b)에는 처리전환 요구신호에 응답하여 MPU(11b)가 실행해야 할 프로그램과, 설정에 이용해야 할 데이터가 격납되어 있다.
제9도는 제6도중의 연산 어레이(100b)의 동작 설명도이다. 제1열의 연산셀A1, B1, C1, D1 각각의 제1계수 레지스터(131)에는 계수a, 1, c, d가, 제2계수 레지스터(137)에는 모두 계수 0이 미리 설정된다. 또, 이들 4개의 연산셀A1, B1, C1, D1 각각의 제2입력(134)은 모두 0으로 미리 설정된다. 제2열의 연산셀B2, C2, D2 각각의 제1계수 레지스터(131)에는 계수 b, 0, 1이, 제2계수 레지스터(137)에는 모두 계수 0이 미리 설정된다. 제3및 제4열의 연산셀C3, D3, D4 각각의 제1계수 레지스터(131)에는 모두 계수 1이, 제2계수 레지스터(137)에는 모두 계수 0이 미리 설정된다.
4개의 화소 데이터h1, h2, h3, h3이 입력부(102b)에서 제1열의 연산셀A1, B1, C1, D1로 각각 공급되면, 연산셀A1은 a×h1을, 연산셀C1은 c×h3을, 연산셀D1은 d×g3을 각각 출력한다. 연산셀B1은 1×h2(=h2)를 연산셀B2로 출력하는 동시에, 제2계수 레지스터(137)가 보유하고 있는 계수 0을 연산셀C2로 출력한다. 이 결과, 제2열에서 연산셀B2는 a×h1 및 h2, 연산셀C2는 0및 c×h3을, 연산셀D2는 c×h3 및 d×g3을 각각 받는다. 따라서, 연산셀B2는 a×h1+b×h2를, 연산셀C2는 0을, 연산셀D2는 c×h3+d×g3을 각각 출력한다. 여기에, 연산셀B2의 출력 데이터 a×h1+b×h2는 2탭의 수평 필터 처리결과이고, 연산셀D2의 출력 데이터c×h3+d×g3은 2탭의 수직 필터 처리결과이다.
제3열에서는 연산셀C3은 a×h1+b×h2 및 0을, 연산셀D3은 0및 c×h3+d×g3을 각각 받는다. 따라서, 연산셀C3은 a×h1+b×h2를, 연산셀D3은 c×h3+d×g3을 각각 출력한다. 제4열의 연산셀D4는 a×h1+b×h2 및 c×h3+d×g3을 각각 받고, a×h1+b×h2+c×h3+d×g3을 출력한다. 연산셀D4의 출력 데이터 a×h1+b×h2+c×h3+d×g3은 2탭의 수평 필터 처리결과와 2탭의 수직 필터 처리결과의 합성 결과로서 출력부(120b)를 통해 출력된다.
이상과 같이 제6도의 화상처리장치에 의하면, 3개의 연산셀A1, B1, B2로 이루어지는 그룹과 3개의 연산셀C1, D1, D2로 이루어지는 다른 그룹을 독립하여 동작시킴으로써, 2탭의 수평 필터 처리와 2탭의 수직 필터 처리가 병렬로 실행된다. 더구나, 나머지 4개의 연산셀C2, C3, D3, D4에 의해 양필터 처리결과의 합성처리가 실행된다.
또, 제1실시예의 설명에서 알 수 있듯이, 제2도의 구성을 입력부(102b)에 채용하면, 제3실시예에서 트리구조의 데이터 버스(109), (110)로 서로 연결된 10개의 연산셀A1, B1, C1, D1, B2, C2, D2, C3, D3, D4에 의해 4탭의 수평 필터 처리가 쓸데없이 실행된다.
[제4실시예]
제10도는 본 발명의 제4실시예에 관한 화상처리장치의 블럭도이다. 제10도중의 100c는 각각 열번호x(1≤x≤4) 및 행번호y(1≤y≤5)에서 지정되는 병렬 동작이 가능한 20개의 연산셀(E[x, y])(103c)을 구비한 연산 어레이이다. 이 연산 어레이(100c)는 제1입출력부(102c)에서 공급된 데이터에 산술연산처리를 하여 얻은 결과를 제2입출력부(120c)로 공급하거나, 제2입출력(120c)에서 공급된 데이터에 산술연산처리를 하여 얻은 결과를 제1입출력부(102c)로 공급하는 것이다. 제1열중의 4개의 연산셀E[1, y] (2≤y≤5)을 A1, B1, C1 및 D1, 제 2열중 3개의 연산셀E[2, y] (3≤y≤5)을 B2, C2 및 D2, 제3열중 2개의 연산셀E[3, y] (4≤y≤5)를 C3 및 D3, 제4열중의 연산셀E[4, 5]을 D4라고 각각 명명한다. 또 제4열중 4개의 연산셀E[4, y] (4≥y≥1) P1, Q1, R1 및 S1, 제3열중의 3개의 연산셀E[3, y] (3≥y≥1)을 Q2, R2 및 S2, 제2열중 2개의 연산셀E[2, y] (2≥y≥1)을 R3 및 S3, 제1열중의 연산셀E[1, 1]을 S4라고 각각 명명하다.
외부의 데이터 신호(화소 신호)는 4개의 입력(104)을 통해 제1입출력부(102c)로, 다른 4개의 입력(104)을 통해 제2입출력부(120c)에 각각 공급된다. 제1입출력부(102c)에서 제1열중 4개의 연산셀D1, C1, B1, A1에는 각각 데이터 버스(105), (106), (107), (108)를 통해 개별로 데이터가 공급된다. 연산셀E[x, y](2≤x≤4, x+1≤y≤5)의 입력 데이터는 연산셀E[x-1, y] 및 연산셀E[x-1, y-1]에서 직행 버스(109)및 사행 버스(110)를 통해 공급된다. 제4열중의 연산셀D4에서 제2입출력부(120c)에는 데이터 버스(111)를 통해 데이터가 공급된다. 제2입출력부(120c)는 하나의 출력(121)을 통해 외부로 데이터 신호(화소 신호)를 출력한다. 한편, 제2입출력부(120c)에서 제4열중 4개의 연산셀 P1, Q1, R1, S1에는, 각각 데이터 버스(112), (113), (114), (115)를 통해 개별로 데이터에 공급된다. 연산셀E[x, y](1≤x≤3, 1≤y≤x)의 입력 데이터는 연산셀E[x+1, y] 및 연산셀E[x+1, y+1]에서 직행 버스(109) 및 사행 버스(110)를 통해 공급된다. 제1열중의 연산셀S4에서 제1입출력부(102c)에는 데이터 버스(116)를 통해 데이터가 공급된다. 제1입출력부(102c)는 하나의 출력(121)을 통해 외부로 데이터 신호(화소신호)를 출력한다.
이상과 같이, 제10도의 화상처리장치의 연산 어레이(100c)는 제6도의 연산어레이(100b)의 공백부를 같은 연산 어레이로 메운 구성을 구비한 것이다. 따라서, LSI에 실장할 때 제6도의 경우에 비해 칩면적을 유효하게 사용할 수 있다. 또, 제10도의 화상처리장치는 각 연산셀(103c)에 내장되어 있는 계수 레지스터의 설정등을 위한 MPU(11c)와 메모리(12c)를 더 구비하고 있다.
제10도의 화상처리장치에 의하면, 트리구조의 데이터 버스(109), (110)로 서로 연결된 10개의 연산셀A1, B1, C1, D1, B2, C2, D2, C3, D3, D4와, 같은 트리구조의 데이터 버스(109), (110)로 서로 연결된 다른 10개의 연산셀P1, Q1, R1, S1, Q2, R2, S2, R3, S3, S4를 서로 독립하여 동작시킴으로써, 각각 수평 필터처리, 수직 필터처리등을 실행할 수 있다. 또, 이 20개의 연산셀(103c)이 루프를 이루도록 외부 접속을 함으로써, 순회형 필터를 쉽게 구성할 수 있다.
[제5실시예 ]
제11도는 본 발명의 제5실시예에 관한 화상처리장치의 블럭도이다. 제11도중의 500는 각각 열번호x(1≤x≤4) 및 행번호y(1≤y≤4)로 지정되는 병렬 동작이 가능한 16개의 연산셀(E[x, y])(503)을 구비한 연산 어레이이다. 제1도의 경우와 같이, 제1열의 연산셀E[1, y](1≤x≤4)을 A1, B1, C1 및 D1, 제2열의 연산셀E[2, y](1≤y≤4)를 A2, B2, C2 및 D2, 제3열의 연산셀E[3, y](1≤y≤4)을 A3, B3, C3 및 D3, 제4열의 연산셀E[4, y](1≤y≤4)을 A4, B4, C4 및 D4 라고 각각 명명한다. 제1열의 연산셀A1, B1, C1, D1과 제2열의 연산셀 A2, B2, C2, D2 사이에는 시분할 다중의 제1공통 버스(531)가 개재하고 있고, 제1열중의 임의의 연산셀에서 제2열중의 임의의 연산셀로 데이터 전송이 가능하게 되어 있다. 마찬가지로, 제2열의 연산셀A2, B2, C2, D2와 제3열의 연산셀A3, B3, C3, D3 사이에는 제2공통 버스(532)가, 제3열의 연산셀A3, B3, C3, D3과 제4열의 연산셀A4, B4, C4, D4 사이에는 제3공통 버스(533)가 각각 개재하고 있다.
연산 어레이(500)는 입력부(502)에서 공급된 데이터에 산술연산처리를 하고, 그결과를 출력부(520)에 공급하는 것이다. 외부의 데이터 신호(화소 신호)는 4개의 입력(504)을 통해 입력부(502)에 공급된다. 입력부(502)에서 제1열의 연산셀D1, C1, B1, A1에는 각각 데이터 버스(505), (506), (507), (508)을 통해 개별로 데이터가 공급된다. 제4열의 연산셀D4, C4, B4, A4에서 출력부(520)에는 각각 데이터 버스(511), (512), (513), (514)를 통해 개별로 데이터가 공급된다. 출력부(520)는 4개의 출력(521)를 통해 외부로 데이터 신호(화소 신호)를 출력한다. 또, 제11도의 화상처리장치는 뒤에 자세히 서술하는 MPU(51)과 메모리(52)를 더 구비하고 있다.
제11도중의 연산셀A2의 내부 구성을 제 12도에 나타낸다. 제12도에서 541은 입력 타이밍부, 542는 처리부, 543은 출력타이밍부이다. 입력 타이밍부(541)는 재기록 가능한 레지스터(601)과, 일치 검출회로(602)와, 입력제어부(603)를 갖고, 레지스터(601)에 설정된 값과 일치 검출회로(602)에 미리 부여된 값(예를 들어 0)이 일치했을 때 제1공통 버스(531)에서 데이터를 입력하는 것이다. 처리부(542)는 적화연산을 위한 도시안된 계수 레지스터와 승산기와 가산기를 갖고, 입력 타이밍부(541)에서 공급된 데이터에 적화연산처리를 하고, 그 결과를 출력타이밍부(543)으로 공급하는 것이다. 출력 타이밍부(543)는 재기록 가능한 레지스터(611)와, 일치 검출회로(612)와, 출력제어부(613)을 갖고, 레지스터(611)에 설정된 값과 일치 검출회로(612)에 미리 부여된 값(예를 들어 0)이 일치했을 때 제2공통 버스(532)에 데이터를 출력하는 것이다. 제11도중의 다른 연산셀(503)도, 제12도의 연산셀A2와 같은 내부 구성을 갖는다. 단, 제1열의 연산셀D1, C1, B1, A1에는 입력 타이밍부(541)를, 제4열의 연산셀D4, C4, B4, A4에는 출력타이밍부(543)를 각각 설치하지 않아도 된다.
제11도중의 MPU(51)은 제어입력(61)을 통해 처리전환 요구신호를 받으면, 테이터 버스(62)를 통해, 연산 어레이(500)를 구성하는 16개의 연산셀(503) 각각의 처리부(542) 중 도면 표시하지 않은 계수 레지스터에 계수를 설정한다. 또, 이 MPU(51)은 데이터 버스(62)를 통해, 연산 어레이(500)를 구성하는 16개의 연산셀(503)각각의 입력 타이밍부(541)의 레지스터(601) 및 출력 타이밍부(543)의 레지스터(611)에 각각 정수를 설정하는 기능도 갖고 있다. 메모리(52)에는 처리전환 요구신호에 응답하여 MPU(51)이 실행해야 할 프로그램과, 레지스터(601), (611)의 정수 설정을 위해 MPU(51)이 실행해야 할 프로그램과, 설정에 이용해야 할 데이터가 격납되어 있다.
제14도는 제11도의 화상처리장치의 동작설명을 위한 타이밍도이다. 제14도에는 제1공통 버스(531)를 통한 연산셀간의 5개의 데이터 전송 예(D1→D2, C1→C2, B1→B2, A1→A2, C1→B2)가 나타나 있다. 또, 제14도중의 HiZ는 출력의 하이·임피던스 상태를 나타내고 있다.
제1사이클에서는 제1열의 연산셀D1, C1, B1, A1의 각각에 화상 데이터가 공급되고, 연산처리가 병렬로 실행된다.
제2사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 레지스터(611)에 0, 3, 2, 1이, 마찬가지로 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에 0, 3, 2, 1이 각각 설정된다. 이 결과, 연산셀D1이 제1공통 버스(531)에 데이터D를 출력하고, 이 데이터D를 연산셀D2가 입력한다. 그 동안에 제1열의 3개 연산셀D1, C1, B1은 출력을 하이·임피던스 상태로 보유한다.
제3사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 레지스터(611)에 1, 0, 3, 2가 설정되고 마찬가지로 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에 1, 0, 3, 2가 각각 설정된다. 이 결과, 연산셀C1이 제1공통버스(531)로 데이터C를 출력하고, 이 데이터C를 연산셀C2가 입력한다. 그 동안에 제1열의 3개 연산셀D1, B1, A1은 출력을 하이·임피던스 상태로 보유한다.
제4사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력타이밍부(543)의 레지스터(611)에 2, 1, 0, 3이 설정되고 마찬가지로 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에 2, 1, 0, 3이 각각 설정된다. 이 결과, 연산셀B1이 제1공통버스(531)에 데이터B를 출력하고, 이 데이터B를 연산셀B2이 입력한다. 그 동안에, 제1열의 3개의 연산셀D1, B1, A1은 출력을 하이·임피던스 상태로 보유한다.
제5사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 레지스터(611)에 3, 2, 1, 0이 설정되고 마찬가지로 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에 3, 2, 1, 0이 각각 설정된다. 이 결과, 연산셀A1이 제1공통버스(531)로 데이터A를 출력하고, 이 데이터A를 연산셀A2가 입력한다. 그 동안에, 제1열의 3개 연산셀 D1, C1, B1은 출력을 하이·임피던스 상태로 보유한다.
제6사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 레지스터(611)에 1, 0, 3, 2가, 마찬가지로 제2열의 연산셀D2, C2, B2, A2각각의 입력 타이밍부(541)의 레지스터(601)에 2, 1, 0, 3이 각각 설정된다. 이 결과, 연산셀C1이 제1공통 버스(531)에 데이터C를 제출력하고, 이 데이터C를 연산셀B2이 입력한다. 그 동안에, 제1열의 3개 연산셀D1, B1, A1은 출력을 하이·임피던스 상태로 보유한다.
이상과 같이, 제11도의 화상처리장치에 의하면, 제1공통 버스(531)를 통해 제1열의 연산셀D1, C1, B1, A1에서 제2열의 연산셀D2, C2, B2, A2로 시분할 다중 데이터 전송이 실행된다. 제2및 제3공통 버스(532), (533)의 작용도 마찬가지다. 따라서, 예를 들어 제4도에 나타나는 바와 같은 데이터의 흐름을 본 실시예에서도 실현할 수 있고, 4랩의 수평 필터 처리가 달성된다. 입력부(502)에 라인 메모리를 도입하면, 수직 필터의 실현도 가능하다.
또, 하나의 연산셀에서 복수의 연산셀로 동시에 데이터를 전송하도록 해도 된다. 또, 제12도중의 양레지스터(601), (611)중 적어도 한쪽은 클럭에 따라 1사이클마다 갱신되는 카운터로 치환할 수 있다. 제13도에 나타나는 예는 제12도중의 양레지스터(601), (611)를 카운터(604), (614)로 치환한 것이다. 제11도에서는 연산 어레이(500)이 4행의 셀구성을 갖고 있기 때문에, 양카운터(604), (614)는 각각 2비트로 구성된다. 제13도의 구성을 채용하면, MPU(51)이 카운터(604), (614)를 초기 설정한 후에는 양카운터(604), (614)에 클럭을 주는 것만으로 시분할 다중 데이터 전송이 실행된다.
[제6실시예]
제15도는 본 발명의 제6실시예에 관한 화상처리장치의 블럭도이다. 제15도중의 500a는 각각 열번호x(1≤x≤4) 및 행번호y(x≤y≤4)로 지정되는 병렬 동작이 가능한 10개의 연산셀(E[x, y])(503)을 구비한 연산 어레이이다. 제6도의 경우와 같이, 제1열의 연산셀E[1, y](1≤y≤4)을 A1, B1, C1 및 D1, 제2열의 연산셀E[2, y](2≤y≤4)을 B2, C2 및 D2, 제3열의 연산셀E[3, y](3≤y≤4)을 C3 및 D3, 제4열의 연산셀E[4, 4]을 D4라 각각 명명한다. 제1열의 연산셀A1, B1, C1, D1과 제2열의 연산셀 B2, C2, D2 사이에는 시분할 다중의 제1공통 버스(531)가 개재하고 있고, 제1열중의 임의의 연산셀에서 제2열중 임의의 연산셀로 데이터 전송이 가능하게 되어 있다. 마찬가지로, 제2열의 연산셀B2, C2, D2와 제3열의 연산셀C3, D3 사이에는 제2공통 버스(532)가, 제3열의 연산셀C3, D3과 제4열의 연산셀D4 사이에는 제3공통 버스(533)가 각각 개재하고 있다.
연산 어레이(500a)는 입력부(502a)에서 공급된 데이터에 산술연산처리를 하고, 그결과를 출력부(520a)에 공급하는 것이다. 외부의 데이터 신호(화소 신호)는 4개의 입력(504)을 통해 입력부(502a)에 공급하는 것이다. 입력부(502a)에서 제1열의 연산셀D1, C1, B1, A1에는 각각 데이터 버스(505), (506), (507), (508)을 통해 개별로 데이터가 공급된다. 제4열의 연산셀D4에서 출력부(520a)에는 각각 데이터 버스(511)를 통해 데이터가 공급된다. 출력부(520a)는 하나의 출력(521)를 통해 외부로 데이터 신호(화소 신호)를 출력한다.
제15도중의 연산셀(503)도, 제12도 또는 제13도와 같은 내부 구성을 갖는다. 단, 제1열의 연산셀D1, C1, B1, A1에는 입력 타이밍부(541)를 설치해도 된다. 또, 제4열의 연산셀D4에는 입력 타이밍부(541) 및 출력 타이밍부(543)의 쌍방을 설치해도 좋다. 또, 제15도의 화상처리장치는 각 연산셀(503)에 내장되어 있는 계수 레지스터의 설정등을 위한 MPU(51a)와 메모리(52a)를 더 구비하고 있다.
제15도의 화상처리장치에 의하면, 제1∼제3공통 버스(531), (532), (533)를 통해, 예를 들어 제9도에 나타나는 바와 같은 데이터의 흐름을 실현할 수 있다.
[제7실시예]
제16도는 본 발명의 제7실시예에 관한 화상처리장치의 블럭도이다. 제16도의 구성은 제11도의 구성에 7개의 바이패스 버스를 부가한 것이다.
제16도중의 500b는 16개의 연산셀(E[x, y])(503)을 구비한 연산 어레이이다. 제1열의 연산셀과 제2열의 연산셀 사이에, 제2열의 연산셀과 제3열의 연산셀 사이 및, 제3열의 연산셀과 제4열의 연산셀 사이에는 각각 시분할 다중 제1, 제2및 제3공통 버스(531), (532), (533)가 개재하고 있다.
연산 어레이(500b)는 입력부(502b)에서 공급된 데이터에 산술연산처리를 하고, 그 결과를 입출력부(520b)에 공급하는 것이다. 외부의 데이터 신호(화소신호)는 5개의 입력(504)을 통해 입력부(502b)에 공급된다. 입력부(502b)에서 제1열의 연산셀D1, C1, B1, A1에는 각각 데이터 버스(505), (506), (507), (508)을 통해 개별로 데이터가 공급된다. 제4열의 연산셀D4, C4, CB4, A4에서 입출력부(502b)로는 각각 데이터 버스(511), (512), (513), (514)를 통해 개별로 데이터가 공급된다. 입력부(502b)와 제1공통 버스(531)사이에는 제1바이패스 버스(711)가 개재하고 있고, 제1바이패스 버스(711) 및 제1공통 버스(531)을 통해 입력부(502b)에서 제2열의 연산셀D2, C2, B2, A2로 직접 데이터를 전송할 수 있도록 되어 있다. 제1공통 버스(531)과 제2공통 버스(532) 사이에는 제2 바이패스 버스(712)가 개재하고 있고, 제1열의 연산셀D1, C1, B1, A1에서 제3열의 연산셀D3, C3, B3, A3로도 직접 데이터를 전송할 수 있도록 되어 있다. 게다가, 제2공통 버스(532)에서 제3공통 버스(533)로 향하는 제3바이패스 버스(713)과, 제3공통 버스(533)에서 입출력부(520b)로 향하는 제4바이패스 버스(714)가 설치되어 있다. 입출력부(520b)는 5개의 출력(521)을 통해 외부로 데이터 신호(화소 신호)를 출력하는 기능에 더하여, 하나의 입력(504)을 통해 외부에서 데이터 신호(화소 신호)를 입력하는 기능을 구비하고 있다. 더구나, 입출력부(520b) 제4열의 연산셀D4, C4, B4, A4로 데이터를 전송할 수 있도록, 입출력부(520b)와 제3공통 버스(533)사이에 제5바이패스 버스(715)가 개재하고 있다. 게다가, 제3공통 버스(533)에서 제2공통 버스(532)로 향하는 제6바이패스 버스(716)과, 제2공통 버스(532)에서 제1공통 버스(531)로 향하는 제7바이패스 버스(717)가 설치되어 있다.
연산 어레이(500b)를 구성하는 각 연산셀(503)은 제12도의 구성을 구비하고 있다. 단, 출력 타이밍부(543)의 레지스터(611)은 계수값이 0에서 5까지 범위에서 변화하는 3비트의 카운터(614)(제13도 참조)로 치환되어 있다. 또, 제16도의 화상처리장치는 각 연산셀(503)에 내장되어 있는 출력 타이밍부(543)의 카운터(614)의 초기 설정 등을 위한 MPU(51b)와 메모리(52b)를 더 구비하고 있다.
제17도는 제16도의 화상처리장치의 동작설명을 위한 타이밍도이다. 제17도에는 제1공통 버스(531)을 통한 연산셀간에 3개의 데이터 전송 예(D1→C2, C1→D2, B1→A2)와 제1바이패스 버스(711)를 이용한 데이터 전송 예(입력부→B2)가 나타나 있다.
제1사이클에서는 제1열의 연산셀D1, C1, B1, A1의 각각에 화소 데이터가 공급되고, 연산처리가 병렬로 실행된다.
제2사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 카운터(614)에 0, 5, 4, 3이 설정된다. 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에는 1, 0, 5, 4가 설정된다. 이 결과, 연산셀D1이 제1공통 버스(531)에 데이터D를 출력하고, 이 데이터D를 연산셀C2가 입력한다. 그 동안, 제1열에 있는 3개의 연산셀C1, B1, A1은 출력을 하이·임피던스 상태로 보유한다.
제3사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 카운터(614)가 1, 0, 5, 4에 인클리먼트된다. 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에는 0, 5, 4, 3이 설정된다. 이 결과, 연산셀C1이 제1공통 버스(531)에 데이터C를 출력하고, 이 데이터C를 연산셀D2가 입력한다. 그 동안, 제1열에 3개의 연산셀D1, B1, A1은 출력을 하이·임피던스 상태로 보유한다.
제4사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 카운터(614)가 2, 1, 0, 5에 인클리먼트된다. 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에는 3, 2, 1, 0이 설정된다. 이 결과, 연산셀B1이 제1공통 버스(531)에 데이터B를 출력하고, 이 데이터B를 연산셀A2이 입력한다. 그 동안, 제1열의 3개의 연산셀D1, C1, A1은 출력을 하이·임피던스 상태로 보유한다.
제5사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 카운터(614)가 3, 2, 1, 0으로 인클리먼트된다. 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에는 4, 3, 2, 1이 설정된다. 이 결과, 연산셀A1이 제1공통 버스(531)에 데이터A를 출력하지만, 제2열의 모든 연산셀도 이 데이터A를 입력하지 않는다. 그 동안, 제1열의 3개 연산셀D1, C1, B1은 출력을 하이·임피던스 상태로 보유한다.
제6사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 카운터(614)가 4, 3, 2, 1로 인클리먼트된다. 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에는 5, 4, 3, 2가 설정된다. 이 결과, 제1열의 모든 연산셀은 출력을 하이·임피던스 상태로 보유하고, 이 연산셀에서는 출력측이 빈 사이클이 된다. 또, 제2열의 모든 연산셀도 제1공통 버스(531)에서 데이터를 입력하지 않는다.
제7사이클에서는 제1열의 연산셀D1, C1, B1, A1 각각의 출력 타이밍부(543)의 카운터(614)가 5, 4, 3, 2로 인클리먼트된다. 제2열의 연산셀D2, C2, B2, A2 각각의 입력 타이밍부(541)의 레지스터(601)에는 2, 1, 0, 5가 설정된다. 이 결과, 제1열의 모든 연산셀은 출력을 하이·임피던스 상태로 보유하고, 이 연산셀에서는 출력측이 빈 사이클이 된다. 그러나, 이 빈 사이클을 이용하여 입력부(502b)가 제1바이패스 버스(711)을 통해 데이터Z를 제1공통 버스(531)에 출력한다. 이 데이터Z는 연산셀B2에 입력된다.
이상과 같이, 제16도의 화상처리장치에 의하면, 제1열의 연산셀D1, C1, B1, A1에서 제2열의 연산셀D2, C2, B2, A2로의 데이터 전송뿐 아니라, 제1바이패스 버스(711)를 통한 입력부(502b)에서 제2열의 연산셀D2, C2, B2, A2로의 데이터 전송도 가능하다. 따라서, 제1, 제2및 제3의 공통 버스(531), (532), (533)로 서로 연결된 10개의 연산셀A1, B1, C1, D1, B2, C2, D2, C3, D3, D4를 이용하여 4탭의 수평필터 처리를 실행하면서, 예를 들어 이 수평필터 처리에 사용되지 않는 연산셀A2에 빈 사이클을 이용하여 입력부(502b)에서 데이터를 전송할 수 있다. 이 결과, 연산 어레이(500b)가 높은 사용효율을 실현할 수 있는 동시에, 바이패스 버스를 구비하지 않은 제11도의 경우에 비해 더 복잡한 연산이 가능해진다. 또, 본 실시예에서는 2사이클을 빈 사이클로 하였지만, 이에 제한되지 않는다.
게다가, 제16도의 화상처리장치에 의하면, 제2∼7바이패스 버스(712∼717)의 이용도 가능하다. 특히, 제16도의 구성은 데이터의 피드백을 위한 바이패스 버스(715), (716), (717)를 구비하고 있으므로, 순회형 필터를 쉽게 구성할 수 있는 효과가 있다.
[제8실시예]
제18도는 본 발명의 제8실시예에 관한 화상처리장치의 블럭도이다. 제18도의 구성은 제11도의 구성에 6개의 바이패스 버스를 부가한 것이다.
제18도중의 500c는 16개의 연산셀(E[x, y])(503)을 구비한 연산 어레이이다. 제1열의 연산셀과 제2열의 연산셀 사이, 제2열의 연산셀과 제3열의 연산셀 사이, 및 제3열의 연산셀과 제4열의 연산셀 사이에는 각각 시분할 다중의 제1, 제2및 제3공통 버스(531), (532), (533)가 개재하고 있다.
연산 어레이(500c)는 입력부(502c)에서 공급된 데이터에 산술연산처리를 하고, 그 결과를 입출력부(520c)에 공급하는 것이다. 외부의 데이터 신호(화소 신호)는 5개의 입력(504)을 통해 입력부(502c)에 공급된다. 입력부(502c)에서 제1열의 연산셀D1, C1, B1, A1에는 각각 데이터 버스(505), (506), (507), (508)를 통해 개별로 데이터가 공급된다. 제4열의 연산셀D4, C4, B4, A4에서 입출력부(520c)로는 각각 데이터 버스(511), (512), (513), (514)를 통해 개별로 데이터가 공급된다. 입력부(502c)와 제1공통 버스(531)사이에는 제1바이패스 버스(721)가 개재하고 있고, 제1바이패스 버스(721) 및 제1공통 버스(531)를 통해, 입력부(502c)에서 제2열의 연산셀D2, C2, B2, A2로 직접 데이터를 전송할 수 있게 되어 있다. 마찬가지로, 입력부(502c)와 제2공통 버스(532)의 사이 및 입력부(502c)와 제3공통 버스(533) 사이에는 제2및 제3바이패스 버스(722), (723)이 각각 개재하고 있다. 입출력부(520c)는 4개의 출력(521)을 통해 외부로 데이터 신호(화소 신호)를 출력하는 기능에 덧붙여, 하나의 입력(504)을 통해 외부에서 데이터 신호(화소 신호)를 입력하는 기능을 구비하고 있다. 더구나, 이 입출력부(520c)에서 제2열의 연산셀D2, C2, B2, A2로 직접 데이터를 전송할 수 있도록, 입출력부(520c)와 제1공통 버스(531) 사이에는 제4바이패스 버스(724)가 개재하고 있다. 마찬가지로, 입출력부(520c)와 제2공통 버스(532)사이 및 입출력부(520c)와 제3공통 버스(533) 사이에는 제5도및 제6바이패스 버스(725), (726)가 각각 개재하고 있다. 또, 제18도의 화상처리장치는 뒤에 자세히 서술하는 MPU(51c)와 메모리(52c)를 더 구비하고 있다.
제18도중의 연산셀A2의 내부 구성을 제19도에 나타낸다. 제19도에서 541은 입력 타이밍부, 542는 처리부, 543은 출력 타이밍부이다. 입력 타이밍부(541)및 출력 타이밍부(543)은 제12도 또는 제13도에 나타나는 내부 구성을 갖는 것이다. 제19도의 처리부(542)는 제1래치(621)와, 제2래치(622)와 계수 레지스터(623)와, 승산기(624)와, 가산기(625)와, 제3래치(626)를 갖는 것이다. 제1및 제2래치(621), (622)는 각각 입력 타이밍부(541)에서 입력(627)을 통해 공급된 데이터를 보유하는 것이다. 이 중 제2래치(622)는 보유 데이터를 0으로 리셋트할 수 있는 것이다. 승산기(624)는 계수 레지스터(623)가 보유하고 있는 계수와 제1래치(621)의 보유 데이터의 곱을 출력하는 것이다. 가산기(625)는 승산기(624)에서 출력된 곱과 제2래치(622)의 보유 데이터와의 합을 출력하는 것이다. 제3래치(626)는 가산기(625)에서 출력된 합을 보유하고, 이 보유한 합을 출력(628)을 통해 타이밍부(543)로 공급하는 것이다. 제18도중의 다른 연산셀(503)도 제19도의 연산셀A2와 같은 내부 구성을 갖는다. 단, 제1열의 연산셀D1, C1, B1, A1에는 입력 타이밍부(541)를, 제4열의 연산셀D4, C4, A4에는 출력 타이밍부(543)를 각각 설치하지 않아도 된다.
제18도중의 MPU(51c)는 제어입력(61)을 통해 처리전환 요구신호를 받으면, 데이터 버스(62)를 통해 연산 어레이(500c)를 구성하는 16개의 연산셀(503) 각각의 처리부(542) 중 계수 레지스터(623)에 계수를 설정한다. 또, 이 MPU(51c)는 데이터 버스(62)를 통해 연산 어레이(500c)를 구성하는 16개의 연산셀(503) 각각의 입력타이밍부(541)의 레지스터 / 카운터 및 출력 타이밍부(543)의 레지스터 / 카운터에 각각 정수를 설정하는 기능도 갖고 있다. 메모리(52c)에는 처리전환 요구신호에 응답하여 MPU(51c)가 실행해야 할 프로그램과, 레지스터 / 카운터의 정수설정을 위해 MPU(51c)가 실행해야 할 프로그램과, 설정에 이용해야 할 데이터가 격납되어 있다.
제18도의 화상처리장치를 2탭의 수평필터 기능, 2탭의 수직필터의 기능 및 양필터의 출력 합성기능이라 하는 3개의 기능을 겸비한 장치로 동작시키는 경우의 입력부(502c)의 내부 구성은 앞에서 설명한 제7도와 같다. 이 경우에는 연산셀D1로 공급되는 화소 데이터g3중 1라인전의 화소 데이터h3이 연산셀C1에 공급되고, 수평방향에 나란한 3개의 화소에 관한 화소 데이터h1, h2, h3이 연산셀A1, B1, C1에 공급된다.
제20도는 제18도중의 입력부(502c)에 제7도와 같은 내부 구성을 채용한 경우의 연산어레이(500c)의 동작 설명도이다. 제1열의 연산셀A1, B1, C1, D1 각각의 계수 레지스터(623)에는 계수 a, b, c, d가 미리 설정된다. 제2열의 연산셀C2, D2, 제3열의 연산셀D3 및 제4열의 연산셀D4 각각의 계수 레지스터(623)에는 모두 계수 1이 미리 설정된다. 또, 5개의 연산셀A1, B1, C1, D1, D4 각각의 제2래치(622)의 보유 데이터는 미리 0으로 리셋트된다.
4개의 화소 데이터h1, h2, h3, g3이 입력부(502c)에서 제1열의 연산셀A1, B1, C1, D1로 각각 공급되면, 연산셀D1은 d×g3을, 연산셀C1은 c×h3을, 연산셀B1은 b×h2를, 연산셀A1은 a×h1을 순서대로 제1공통 버스(531)에 출력한다. 제2열의 연산셀D2에서는 제1래치(621)가 연산셀D1의 d×g3을, 제2래치(622)가 연산셀C1의 c×h3을 순서대로 받는다. 이 결과, 연산셀D2는 제2공통 버스(532)에 c×h3+d×g3을 출력한다. 한편, 제2열의 연산셀C2에서는 제1래치(621)가 연산셀B1의 b×h2를, 제2래치(622)가 연산셀A1의 a×h1을 순서대로 받는다. 이 결과, 연산셀C2는 제2공통 버스(532)에 a×h1+b×h2를 출력한다. 여기서, 연산셀C2의 출력 데이터a×h1+b×h2는 2탭의 수평 필터 처리결과이고, 연산셀D2의 출력데이터c×h3+d×g3은 2탭의 수직 필터 처리결과이다.
제3열의 연산셀D3에서는 제1래치(621)가 연산셀D2의 c×h3+d×g3, 제2래치(622)가 연산셀C2의 a×h1+b×h2를 순서대로 받는다. 이 결과, 연산셀D3은 제3공통 버스(533)에 a×h1+b×h2+c×h3+d×g3을 출력한다. 제4열의 연산셀D4는 연산셀D3의 a×h1+b×h2+c×h3+d×g3을 그대로 출력한다. 연산셀D4의 출력 데이터a×h1+b×h2+c×h3+d×g3은 2탭의 수평 필터의 처리결과와 2탭의 수직 필터 처리결과를 합성한 결과로서, 입출력부(520c)를 통해 출력된다.
이상과 같이, 제18도의 화상처리장치에 의하면, 3개의 연산셀A1, B1, C2로 이루어지는 그룹과 3개의 연산셀C1, D1, D2로 이루어지는 다른 그룹을 독립하게 동작시킴으로써, 2탭의 수평필터처리와 2탭의 수직필터처리가 병렬로 실행된다. 게다가, 2개의 연산셀D3, D4에 의해 양필터 처리결과의 합성처리가 실행된다.
그러나, 이상의 화상처리에서는 제20도중 파선으로 둘러싸인 8개의 연산셀A2, B2, A3, B3, C3, A4, B4, C4가 사용되지 않는다. 이8개의 연산셀을 유효하게 이용할 수 있도록, 제18도의 화상처리장치에는 제1∼제6바이패스 버스(721∼726)가 설치되어 있다.
제21도 및 제22도는 제18도의 화상처리장치의 동작 설명을 위한 타이밍도이고, 상기 수평필터처리, 수직필터처리 및 합성처리 실행중의 제2바이패스 버스(722)의 사용방법 예를 나타내고 있다.
제1사이클에서는 제1열의 연산셀D1, C1, B1, A1의 각각에 화소 데이터가 공급되고, 연산처리가 병렬로 실행된다.
제2사이클에서는 연산셀D1이 제1공통 버스(531)에 데이터d×g3을 출력하고, 이 데이터를 연산셀D2의 제1래치(621)가 받는다.
제3사이클에서는 연산셀C1이 제1공통 버스(531)에 데이터c×h3을 출력하고, 이 데이터를 연산셀D2의 제2래치(622)가 받는다. 2개의 데이터를 받은 연산셀D2는 연산처리를 실행한다.
제4사이클에서는 연산셀B1이 제1공통 버스(531)에 데이터b×h2를 출력하고, 이 데이터를 연산셀C2의 제1래치(621)이 받는다. 한편, 연산셀D2가 제2공통 버스(532)에 데이터 c×h3+d×g3을 출력하고, 이 데이터를 연산셀D3의 제1래치(621)이 받는다.
제5사이클에서는 연산셀A1이 제1공통 버스(531)에 데이터a×h1을 출력하고, 이 데이터를 연산셀C2의 제2래치(622)가 받는다. 2개의 데이터를 받은 연산셀C2는 연산처리를 실행한다. 제2열의 모든 연산셀은 출력을 하이·임피던스 상태로 보유하고, 이 연산셀에서는 출력측이 빈 사이클이 된다. 그러나, 이 빈 사이클을 이용하여 입력부(502c)가 제2바이패스 버스(722)를 통해 데이터Z1을 제2공통 버스(532)에 출력한다. 이 데이터Z1은 연산셀C3의 제1래치(621)에 받을 수 있다.
제6사이클에서는 연산셀C2가 제2공통 버스(532)에 데이터a×h1+b×h2출력하고, 이 데이터를 연산셀D3의 제2래치(622)가 받는다. 2개의 데이터를 받은 연산셀D3은 연산처리를 실행한다.
제7사이클에서는 제2열의 모든 연산셀이 출력을 하이·임피던스 상태로 보유하고, 이 연산셀에서는 출력측이 빈 사이클이 된다. 그러나, 이 빈 사이클을 이용하여 입력부(502c)가 제2바이패스 버스(722)를 통해 데이터Z2를 제2공통 버스(532)에 출력한다. 이 데이터Z2는 연산셀C3의 제2래치(622)에 수치된다. 2개의 데이터를 받은 연산셀C3은 연산처리를 실행한다. 한편, 연산셀D3이 제3공통버스(533)에 데이터a×h1+b×h2+c×h3+d×g3을 출력하고, 이 데이터를 연산셀D4가 받는다.
제8사이클 이후에서는 연산셀C3이 제3공통 버스(533)를 데이터의 출력에 사용할 수 있다.
이상과 같이, 제18도의 화상처리장치에 의하면, 제2열의 연산셀D2, C2, B2, A2에서 제3열의 연산셀D3, C3, B3, A3로의 데이터 전송뿐 아니라, 제2바이패스 버스(722)를 통한 입력부(502c)에서 제3열의 연산셀D3, C3, B3, A3으로의 직접 데이터 전송도 가능하다. 따라서, 제1, 제2및 제3공통 버스(531), (532), (533)로 서로 연결된 8개의 연산셀A1, B1, D1, D1, C2, D2, D3, D4를 이용하여 수평필터 처리, 수직필터처리 및 합성 처리를 실행하면서 예를 들어 이 일련의 처리에 사용되지 않는 연산셀C3에 빈 사이클을 이용하여 입력부(502c)에서 데이터를 전송할 수 있다. 이 결과, 연산 어레이(500c)의 높은 사용효율을 실현할 수 있는 동시에, 바이패스 버스를 구비하지 않은 제11도의 경우에 비해 더 복잡한 연산이 가능해진다.
게다가, 제18도의 화상처리장치에 의하면, 제1바이패스 버스(721) 및 제3∼제6바이패스 버스(723∼726)의 이용도 가능하다. 특히, 제18도의 구성은 데이터의 피드백을 위한 바이패스 버스(724), (725), (726)를 구비하고 있으므로, 순회형 필터를 쉽게 구성할 수 있는 효과가 있다.
[제9실시예]
제23도는 본 발명의 제9실시예에 관한 화상처리장치의 블럭도이다. 제23도 중의 500d는 각각 열번호x(1≤x≤4) 및 행번호 y(1≤y≤5)로 지정되는 병렬동작이 가능한 20개의 연산셀(E[x, y])(503)을 구비한 연산 어레이이다. 이 연산 어레이(500d)는 제1입출력부(502d)에서 공급된 데이터에 산술연산처리를 하여 얻은 결과를 제2입출력부(520d)에 공급하거나, 제2입출력부(520d)에서 공급된 데이터에 산술연산처리를 하여 얻은 결과를 제1입출력부(502d)에 공급하거나 하는 것이다. 제10도의 경우와 마찬가지로, 제1열중 4개의 연산E[1, y](2≤y≤5) A1, B1, C1 및 D1, 제2열중 3개의 연산셀E[2, y](3≤y≤5)를 B2, C2 및 D2, 제3열중 2개의 연산셀E[3, y](4≤y≤5)를 C3 및 D3, 제4열중 연산셀E[4, 5]를 D4라 각각 명명한다. 또, 제4열중 4개의 연산셀E[4, y](4≤y≤1)을 P1, Q1, R1, 및 S1, 제3열중 3개의 연산셀E[3, y](3y≤≤1)을 Q2, R2 및 S2, 제2열중 2개의 연산셀E[2, y](2≤y≤1)을 R3 및 S3, 제1열중 연산셀E[1, 1]을 S4라 각각 명명한다.
외부의 데이터 신호(화소 신호)는 4개의 입력(504)을 통해 제1입출력부(502d)에, 다른 입력(504)를 통해 제2입출력부(520d)에 각각 공급된다. 제1입출력부(502d)에서 제1열중 4개의 연산셀D1, C1, B1, A1로는 각각 데이터 버스(505), (506), (507), (508)을 통해, 제2입출력부(520d)에서 제4열중 4개의 연산셀P1, Q1, R1, S1로는 각각 데이터 버스(512), (513), (514), (515)를 통해 개별로 데이터가 공급된다. 제1열의 연산셀S4, A1, B1, C1, D1와 제2열의 연산셀S3, R3, B2, C2, D2 사이에는 시분할 다중의 제1공통 버스(531)가 개재하고 있고, 6개의 연산셀 A1, B1, C1, D1, R3, S3 중 임의의 연산셀에서 4개의 연산셀B2, C2, D2, S4중 임의 연산셀로의 데이터 전송이 가능하게 되어 있다. 또, 제2열의 연산셀 S3, R3, B2, C2, D2와 제3열의 연산셀S2, R2, Q2, C3, D3 사이에 시분할 다중의 제2공통 버스(532)가 개재하고 있고, 6개의 연산셀B2, C2, D2, Q2, R2, S2중 임의의 연산셀에서 4개의 연산셀 C3,D3,R3,S3중 임의의 연산셀로 데이터 전송이 가능하게 되어 있다. 게다가, 제3열의 연산셀 S2, R2, Q2, C3, D3 과 제 4 열의 연산셀 S1,R1,Q1,P1,D4 사이에 시분할 다중의 제3 공통 버스(533)가 개재하고 있고, 6개의 연산셀C3,D3,P1,Q1,R1,S1중 임의의 연산셀에서 4개의 연산셀D4,Q2,R2,S2중 임의의 연산셀로 데이터 전송이 가능하게 되어 있다. 제4열중 연산셀D4에서 제 2 입출력부(520d)로는 데이터버스(511)를 통해 데이터가 공급되고, 제2 입출력부(520d)는 하나의 출력(521)을 통해 외부에 데이터 신호(화소 신호)를 출력한다. 한편, 제1 열중 연산셀 S4에서 제1 입출력부(502d)로는 데이터 버스(516)을 통해 데이터가 공급되고, 제 1 입출력부(502d)는 하나의 출력(521)을 통해 외부에 데이터 신호(화소 신호)를 출력한다.
이상과 같이, 제23도 화상처리장치의 연산 어레이(500d)는 제 15도 연산 어레이(500a)의 공백부를 같은 연산 어레이로 메운 구성을 구비한 것이다. 따라서, LSI로 실장할 때 제 15도의 경우에 비해 칩면적을 유효하게 사용할 수 있다. 또, 제23도의 화상처리장치는 각 연산셀(503)에 내장되어 있는 계수 레지스터의 설정등을 위한 MPU(51d)와 메모리(52d)를 더 구비하고 있다.
제23도의 화상처리장치에 의하면, 제 1∼제 3 공통 버스(531),(532),(533)를 통해 서로 연결된 10개의 연산셀A1,B1,C1,D1,B2,C2,D2,C3,D3,D4와 마찬가지로 제 1∼3 공통 버스(531),(532),(533)를 통해 서로 연결된 다른 10개의 연산셀P1,Q1,R1,S1,Q2,R2,S2,R3,S3,S4을 서로 독립하여 동작시킴으로써, 각각 수평필터처리, 수직필터처리등을 실행할 수 있다. 또, 이 20개의 연산셀(503)이 루프를 이루도록 외부 접속을 함으로써, 순회형 필터를 쉽게 구성할 수 있다. 또, 제 23도중 2개의 연산셀(예를 들어, B2와 R3)로 순회형 필터를 구성하는 것도 가능하다. 제16도나 제18도에 나타나는 바이패스 버스를 제23도의 구성에 부가해도 좋다.
이상의 설명대로, 상기 각 실시예의 의하면 프로그래머블한 화상처리를 위한 연산 어레이를 구성하는 복수의 적화연산셀의 병렬 동작을 달성할 수 있다. 더구나, 작은 버스구성으로 병렬처리를 실행할 수 있어, 그 효과는 절대적인 것이다.

Claims (20)

  1. 데이터에 산술연산처리를 하기 위한 연산수단과, 외부에서 데이터 신호를 입력하여 상기 연산수단에 데이터를 공급하기 위한 제 1인터페이스 수단과, 상기 연산수단에서 산술연산처리한 데이터의 공급을 받아 외부에 데이터 신호를 출력하기 위한 제2 인터페이스 수단을 구비하고, 상기 연산수단은 2이상의 정수M에 대해 1≤x≤M과 x≤y≤M을 만족시키는 2개의 첨자 x,y로 지정되는 병렬 동작이 가능한 복수의 연산셀 E[x,y]의 어레이를 갖고, 연산셀E[1,y] (1≤y≤M와 x≤y≤M)의 입력 데이터는 상기 제1 인터페이스 수단에서 공급되고, 연산셀E[x,y](2≤x≤M)의 입력 데이터는 연산셀E[x-1,y] 및 연산셀E[x-1,y-1]에서 공급되고, 연산셀E[M,M]의 출력 데이터는 상기 제 2 인터페이스 수단에 공급되는 것을 특징으로 하는 신호처리장치.
  2. 제1항에 있어서, 상기 연산수단은 2≤x≤M와 1≤y≤x-1을 만족시키는 2개의 첨자 x,y로 지정되는 병렬 동작이 가능한 연산셀E[x,y]을 더 갖고, 연산셀E[x,1] (2≤x≤M)의 입력 데이터는 연산셀E[x-1,1]에서 공급되고, 연산셀E[x,y] (3≤x≤M와 2≤y≤x-1)의 입력 데이터는 연산셀E[x-1,y]및 연산셀E[x-1,y-1]에서 공급되고, 연산셀E[M,y] (1≤x≤M-1)의 출력 데이터는 상기 제 2 인터페이스 수단에 공급되는 것을 특징으로 하는 신호처리장치.
  3. 제2항에 있어서, 상기 연산수단중 연산셀E[x,y] (2≤x≤M와 1≤y≤M-1)의 입력 데이터는 연산셀E[x-1,y+1]에서 더 공급되는 것을 특징으로 하는 신호처리장치.
  4. 제1항에 있어서, 상기 제 1 인터페이스 수단은 각각 데이터를 보유하기 위해 서로 종속 접속된 M-1개의 데이터 보유수단을 갖는 것을 특징으로 하는 신호처리장치.
  5. 제1항에 있어서, 상기 연산수단중 연산셀E[x,y] (1≤x≤M과 x≤y≤M)은 적화연산을 위한 승산기와 가산기를 갖는 것을 특징으로 하는 신호처리장치.
  6. 제5항에 있어서, 상기 연산수단중 연산셀 E[x,y] (1≤x≤M과 x≤y≤M)은 상기 승산기의 한쪽 입력에 계수를 공급하기 위해 재기록 가능한 계수 레지스터를 더 갖는 것을 특징으로 하는 신호처리장치.
  7. 데이터에 산술연산처리를 하기위한 연산수단과, 각각 외부에서 데이터 신호를 입력하여 상기 연산수단에 데이터를 공급하고, 상기 연산수단에서 산술연산처리를 한 데이터의 공급을 받아 외부에 데이터 신호를 출력하기 위한 제1및 제2 인터페이스 수단을 구비하고, 상기 연산수단은 2이상의 정수 M에 대해 1≤x≤M과 1≤Y≤M+1를 만족시키는 2개의 첨자 x,y로 지정되는 병렬동작이 가능한 복수의 연산셀E[x,y]의 어레이를 갖고, 연산셀E[1,y] (2≤y≤M+1)의 입력 데이터는 상기 제1 인터페이스 수단에서 공급되고, 연산셀E[x,y] (2≤x≤M과 x+1≤y≤M+1)의 입력 데이터는 연산셀 E[x-1,y]및 연산셀E[x-1,y-1]에서 공급되고, 연산셀E'M,M+1]의 출력 데이터는 상기 제2인터페이스 수단에 공급되고, 연산셀 E[M, y] (1≤y≤M)의 입력 데이터는 상기 제 2 인터페이스 수단에서 공급되고, 연산셀E[x,y] (1≤x≤M-1과 1≤y≤x)의 입력 데이터는 연산셀E[x+1,y]및 연산셀E[x+1,y+1]에서 공급되고, 연산셀E[1,1]의 출력 데이터는 상기 제 1 인터페이스 수단에 공급되는 것을 특징으로 하는 신호처리장치.
  8. 데이터에 산술연산처리를 하기 위한 연산수단과, 외부에서 데이터 신호를 입력하여 상기 연산수단에 데이터를 공급하기 위한 제1인터페이스 수단과, 상기 연산수단에서 산술연산처리를 한 데이터의 공급을 받아 외부에 데이터 신호를 출력하기 위한 제2 인터페이스 수단을 구비하고, 상기 연산수단은, 2이상의 정수 M에 대해 1≤x≤M과 x≤y≤M을 만족시키는 2개의 첨자 x,y로 지정되는 병렬동작이 가능한 복수의 연산셀E[x,y]의 어레이와, 1이상이고 M-1이하인 정수k의 각각에 대해 연산셀E[k,y] (k≤y≤M)과 연산셀E[k+1,y] (k+1≤y≤M)사이에 개재한 시분할 다중의 공통 버스B[k]를 갖고, 연산셀E[1,y] (1≤y≤M)의 입력 데이터는 상기 제1 인터페이스 수단에서 공급되고, 연산셀E[k+1,y] (k+1≤y≤M)의 입력 데이터는 연산셀E[k,y] (k≤y≤M)에서 공통 버스 B[k]를 통해 공급되고, 연산셀E[M,M]의 출력 데이터는 상기 제2 인터페이스 수단에 공급되는 것을 특징으로 하는 신호처리장치.
  9. 제8항에 있어서, 상기 연산수단은 2≤x≤M과 1≤y≤x-1을 만족시키는 2개의 첨자 x,y로 지정되는 병렬동작이 가능한 연산셀E[x,y]를 더 갖고, 연산셀E[k+1,y] (1≤y≤M)의 입력 데이터는 연산셀E[k,y] (1≤y≤M)에서 공통 버스B[k]를 통해 공급되고, 연산셀E[M,y] (1≤y≤M-1)의 출력 데이터는 상기 제2 인터페이스 수단에 공급되는 것을 특징으로 하는 신호처리장치.
  10. 제8항에 있어서, 상기 제1 인퍼테이스 수단은 각각 데이터를 보유하기 위한 서로 종속접속된 M-1개의 데이터 보유 수단을 갖는 것을 특징으로 하는 신호처리장치.
  11. 제8항에 있어서, 상기 연산수단중 연산셀E[k+1, y] (k+1≤y≤M)은 재기록 가능한 레지스터를 갖고, 이 레지스터에 설정된 값과 미리 부여된 값이 일치했을 때 공통 버스B[k]에서 데이터를 입력하는 것을 특징으로 하는 신호처리장치.
  12. 제8항에 있어서, 상기 연산수단중 연산셀E[k+1, y] (k+1≤y≤M)은 클럭에 따라 순서대로 갱신되는 카운터를 갖고, 이 카운터의 보유값과 미리 부여된 값이 일치했을 때 공통 버스B[k]에서 데이터를 입력하는 것을 특징으로 하는 신호처리장치.
  13. 제8항에 있어서, 상기 연산수단중 연산셀E[k, y] (k≤y≤M)은 재기록 가능한 레지스터를 갖고 이 레지스터에 설정된 값과 미리 부여된 값이 일치했을 때 공통 버스B[k]에 데이터를 출력하는 것을 특징으로 하는 신호처리장치.
  14. 제8항에 있어서, 상기 연산수단중 연산셀E[k, y] (k≤y≤M)은 클럭에 따라 순서대로 갱신되는 카운터를 갖고, 이 카운터의 보유값과 미리 부여된 값이 일치했을때 공통 버스B[k]에 데이터를 출력하는 것을 특징으로 하는 신호처리장치.
  15. 제8항에 있어서, 상기 연산수단중 연산셀E[x, y] (1≤x≤M과 x≤y≤M)은 적화연산을 위한 승산기와 가산기를 갖는 것을 특징으로 하는 신호처리장치.
  16. 제15항에 있어서, 상기 연산수단중 연산셀E[x, y] (1≤x≤M과 x≤y≤M)은 상기 승산기의 한쪽 입력에 계수를 공급하기 위해 재기록 가능한 계수 레지스터를 더 갖는 것을 특징으로 하는 신호처리장치.
  17. 제8항에 있어서, 상기 제1 인터페이스 수단과 상기 연산수단의 공통 버스B[k] (1≤k≤M-1) 사이에 개재한 바이패스 버스를 더 구비한 것을 특징으로 하는 신호처리장치.
  18. 제8항에 있어서, 상기 연산수단의 공통 버스B[k] (1≤k≤M-1)과 상기 제2 인터페이스 수단 사이에 개재한 바이패스 버스를 더 구비한 것을 특징으로 하는 신호처리장치.
  19. 제8항에 있어서, 상기 연산수단의 복수 공통 버스 B[k] (M≥3과 1≤k≤M-1)중 적어도 2개 사이에 개재한 바이패스 버스를 더 구비한 것을 특징으로 하는 신호처리장치.
  20. 데이터에 산술연산처리를 하기 위한 연산수단과, 각각 외부에서 데이터 신호를 입력하여 상기 연산수단에 데이터를 공급하고, 상기 연산수단에서 산술연산처리를 한 데이터의 공급을 받아 외부에 데이터 신호를 출력하기 위한 제1 및 제2 인터페이스 수단을 구비하고, 상기 연산수단은, 2이상의 정수M에 대해 1≤x≤M과 1≤y≤M+1을 만족시키는 2개의 첨자x,y로 지정되는 병렬동작이 가능한 복수의 연산셀E[x, y]의 어레이와, 1이상이고 M-1이하인 정수k의 각각에 대해 연산셀E[k,y] (1≤y≤M+1)과 연산셀E[k+1,y] (1≤y≤M+1) 사이에 개재할 때 시분할 다중의 공통 버스B[k]를 갖고, 연산셀E[1,y] (2≤y≤M+1)의 입력데이터는 상기 제1 인터페이스 수단에서 공급되고, 연산셀E[k+1, y] (k+2≤y≤M+1)의 입력 데이터는 연산셀E[k, y] (k+1≤y≤M+1) 및 연산셀E[k+1, y] (1≤y≤k+1)에서 공통 버스B[k]를 통해 공급되고, 연산셀E[M, M+1]의 출력 데이터는 상기 제2 인터페이스 수단에 공급되고, 연산셀E[M, y] (1≤y≤M)의 입력 데이터는 상기 제2 인터페이스 수단에서 공급되고, 연산셀E[k,y] (1≤y≤k)의 입력 데이터는 연산셀E[k+1, y] (1≤y≤k+1) 및 연산셀E[k, y] (k+1≤y
    ≤M+1)에서 공통 버스B[k]를 통해 공급되고, 연산셀E[1,1]의 출력 데이터는 상기 제1 인터페이스 수단에 공급되는 것을 특징으로 하는 신호처리장치.
KR1019950035851A 1994-10-21 1995-10-17 신호처리장치 KR100186918B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP94-256994 1994-10-21
JP25699494 1994-10-21

Publications (2)

Publication Number Publication Date
KR960016574A KR960016574A (ko) 1996-05-22
KR100186918B1 true KR100186918B1 (ko) 1999-05-01

Family

ID=17300248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950035851A KR100186918B1 (ko) 1994-10-21 1995-10-17 신호처리장치

Country Status (4)

Country Link
US (1) US5703800A (ko)
EP (3) EP2085893A3 (ko)
KR (1) KR100186918B1 (ko)
DE (1) DE69526299T2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970061132A (ko) * 1996-02-17 1997-09-12 원인호 항균판의 제조 및 이를 이용한 신발
JP3902741B2 (ja) * 2002-01-25 2007-04-11 株式会社半導体理工学研究センター 半導体集積回路装置
TWI391900B (zh) * 2008-04-28 2013-04-01 Novatek Microelectronics Corp 用於低色偏液晶顯示器之資料驅動電路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541048A (en) * 1978-10-06 1985-09-10 Hughes Aircraft Company Modular programmable signal processor
DE3267489D1 (en) * 1982-02-18 1986-01-02 Itt Ind Gmbh Deutsche Digital parallel calculating circuit for positive and negative binary numbers
US4580215A (en) * 1983-03-08 1986-04-01 Itt Corporation Associative array with five arithmetic paths
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
JPS59172064A (ja) * 1983-03-18 1984-09-28 Fujitsu Ltd ビデオ・システムにおける並列処理方式
JPS60159973A (ja) * 1984-01-31 1985-08-21 Toshiba Corp 画像処理装置
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
JP2690932B2 (ja) * 1988-03-18 1997-12-17 株式会社日立製作所 ディジタル信号処理プロセッサおよびディシタル信号処理プロセッサシステム
JPH0736163B2 (ja) * 1988-08-26 1995-04-19 株式会社東芝 塗潰しパターン発生装置
GB2247328A (en) * 1990-08-08 1992-02-26 Philips Electronic Associated Data processing system

Also Published As

Publication number Publication date
DE69526299D1 (de) 2002-05-16
US5703800A (en) 1997-12-30
KR960016574A (ko) 1996-05-22
EP1174800A1 (en) 2002-01-23
EP0708407A1 (en) 1996-04-24
DE69526299T2 (de) 2002-08-14
EP2085893A2 (en) 2009-08-05
EP2085893A3 (en) 2011-08-10
EP0708407B1 (en) 2002-04-10

Similar Documents

Publication Publication Date Title
US5081575A (en) Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
EP0976059B1 (en) A field programmable processor
Li et al. Polymorphic-torus network
KR940002479B1 (ko) 고속 디지탈 병렬승산기(multiplier)
US6798239B2 (en) Programmable gate array having interconnecting logic to support embedded fixed logic circuitry
CA1292577C (en) Computational origami
JP3828339B2 (ja) 画像入力システム及び画像入力システムの動作方法
EP1351134A2 (en) Superpipelined arithmetic-logic unit with feedback
EP0539595A1 (en) Data processor and data processing method
WO2011082690A1 (en) Reconfigurable processing system and method
US4675836A (en) Discrete cosine transform calculation processor
US4833635A (en) Bit-slice digital processor for correlation and convolution
US5854760A (en) Two-dimensional PE array, content addressable memory, data transfer method and mathematical morphology processing method
KR100186918B1 (ko) 신호처리장치
JP3639014B2 (ja) 信号処理装置
US11016822B1 (en) Cascade streaming between data processing engines in an array
JP3593439B2 (ja) 画像処理装置
Benedetti et al. A novel system architecture for real-time low-level vision
JP4947983B2 (ja) 演算処理システム
JPH0683787A (ja) 並列プロセッサ
JPS6373472A (ja) 積和演算方法
US8150949B2 (en) Computing apparatus
JP2791764B2 (ja) 演算装置
CN113887697A (zh) 半导体器件、其数据生成方法及其控制方法
Goel et al. A Massively Parallel Processing Computer for Satellite Image Processing

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: 20051222

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee