KR100298327B1 - 고속 컨벌루션 처리 방법 및 그 장치 - Google Patents

고속 컨벌루션 처리 방법 및 그 장치 Download PDF

Info

Publication number
KR100298327B1
KR100298327B1 KR1019990025717A KR19990025717A KR100298327B1 KR 100298327 B1 KR100298327 B1 KR 100298327B1 KR 1019990025717 A KR1019990025717 A KR 1019990025717A KR 19990025717 A KR19990025717 A KR 19990025717A KR 100298327 B1 KR100298327 B1 KR 100298327B1
Authority
KR
South Korea
Prior art keywords
data
image data
image
convolution
mask
Prior art date
Application number
KR1019990025717A
Other languages
English (en)
Other versions
KR20010004946A (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 구자홍
Priority to KR1019990025717A priority Critical patent/KR100298327B1/ko
Priority to US09/413,490 priority patent/US6643412B1/en
Priority to JP29687999A priority patent/JP3209420B2/ja
Priority to TW089110247A priority patent/TW504657B/zh
Priority to CNB001193341A priority patent/CN1235176C/zh
Publication of KR20010004946A publication Critical patent/KR20010004946A/ko
Application granted granted Critical
Publication of KR100298327B1 publication Critical patent/KR100298327B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 컨벌루션(Convolution)을 위한 마스크 사이즈(Mask Size)가 클수록 검사 신뢰성이 좋아지는 것에 반하여 처리 시간의 문제로 현실적으로 구현하지 못하는 컨벌루션(Convolution) 처리에 있어서 새로운 영상 파일 구조 및 컨벌루션(Convolution)의 선형화 등을 통해 마스크 사이즈(Mask Size)에 무관하게 고속 컨벌루션 처리가 가능토록 한 고속 컨벌루션 처리 방법 및 그 장치에 관한 것으로서, 이론적인 마스크에서 대상 데이터의 샘플링 간격의 배수가 되는 임의의 영역으로 분할하여 컨벌루션 마스크를 설정하고, 컨벌루션 마스크 설정후 컨벌루션할 대상 영상의 누적 영상 데이터를 생성하여 메모리에 저장하고, 누적 영상 데이터로부터 마스크의 각 단의 영역과 대응되는 대응 영역의 영상 합 데이터를 획득하고, 획득한 대응 영역의 영상 데이터와 그 영역에 대응하는 마스크 단 수치 값을 연산하여 화소의 컨벌루션 값을 계산하는 것이다.

Description

고속 컨벌루션 처리 방법 및 그 장치{Method and Apparatus for high speed Convolution}
본 발명은 화상 디바이스를 이용한 검사를 위한 컨벌루션 처리에 관한 것으로, 특히 컨벌루션(Convolution)을 위한 마스크 사이즈(Mask Size)가 클수록 검사 신뢰성이 좋아지는 것에 반하여 처리 시간의 문제로 현실적으로 구현하지 못하는 컨벌루션 처리에 있어서 새로운 영상 파일 구조 및 컨벌루션의 선형화 등을 통해 마스크 사이즈에 무관하게 고속 컨벌루션 처리가 가능토록 한 고속 컨벌루션 처리방법 및 그 장치에 관한 것이다.
영상 처리에서 컨벌루션이란, 숫자로 이루어진 커널(Kernel)과 영상 데이터간에 이루어지는 연산으로 영상 데이터의 각 화소마다 커널 중심을 일치시켰을 때 커널 영역과 같은 영역의 영상 데이터의 주변 화소의 값을 커널 값과 각각 곱한 후 모두 합하여 해당 화소의 결과 값으로 출력하는 연산 과정을 말한다.
영상 데이터의 각 화소의 값을 I(x,y)라고 하고, 마스크(Mask)의 크기가 (2m+1) X (2n+1)일 때 마스크의 값을 M(x,y)라고 하면, 각 화소에 대한 연산 결과 값은,
와 같이 나타낼 수 있다.
이때 영상 데이터의 인덱스(index)가 영역을 벗어난 경우는 일반적으로 0값을 대입한다. 마스크값 M(I,j)의 인덱스(index)는 양의 값을 갖도록 표기하였다.
도 1은 이러한 계산 과정의 1차원 예를 나타낸다.
영상 처리를 통한 검사 프로세스에서 필터의 사용은 일반적인 과정이며, 이때 마스크의 크기에 따라 출력 영상의 품질이 달라지는 경우가 많이 발생하게 된다. 마스크의 크기를 크게 할 경우 영상 데이터의 노이즈 성분에 둔감하며 사용자의 조정 가능한 값이 많게 되므로 좀 더 정확한 결과 값을 얻을 수 있게 된다. 그러나 연산 과정에서 각 화소마다 마스크 크기만큼의 곱셈과 덧셈 연산이 필요하므로 마스크의 크기를 크게 하면 급속도로 연산 시간이 많이 소요된다. 따라서 실제응용에서는 마스크의 크기가 제한된다.
주지한 바와 같이 컨벌루션(Convolution)의 연산 과정은 각 화소와 대응되는 값을 곱하고 그 값들을 더하여 화소 각각의 결과 값을 구할 수 있다. 그러나, 필터의 크기가 커지면 계산량이 급속하게 증가하는 문제점이 있었다. 따라서 이러한 문제점을 해결하기 위하여 2차원 마스크를 1차원으로 분리하거나 고속 하드웨어를 이용하여 실시간 계산을 시도한 발명이 제시되었다.
그 중 하드웨어를 이용한 종래 방법의 경우, 미국 특허(특허 번호 : 5,119,444호)에서는 발명의 일부로서 하드웨어를 이용한 라플라시안(Laplacian)과 가우시안의 모사를 시행하였다. 여기에서는 가장 단순한 형태의 라플라시안(Laplacian) 필터와 binomial형태의 필터 3개를 연속으로 사용하여 7X7 가우시안(Gaussian)을 모사한 하드웨어를 구성하였다.
도 2는 종래 영상 획득시 대상 화소와 주변 화소의 값을 지연기(delay)를 이용하여 저장하는 것을 보인 도면이다. 여기서 참조부호 42는 영상을 획득하는 SEM이고, 43은 상기 SEM(42)에서 획득한 아날로그 영상신호를 그에 대응하는 디지털 영상 데이터로 변환하는 아날로그/디지털 변환기이며, 44는 패턴 보상을 위한 보상 데이터를 출력하는 패턴 보상기이다. 그리고 참조부호 51 및 52는 스위치이며, 50은 지연기이고, 45 내지 49는 상기 스위치(51)와 스위치(52)를 각각 통한 신호의 합산 영상 데이터 및 다수개의 지연기를 각각 통한 신호를 래치에 저장하기 위한 출력 라인이다.
도 3 은 상기 도 2에 의해 획득한 5개의 영상 값중 대상화소 주변화소의 영상 값을 합산 회로(60,61,64)를 통해 합산하고, 상기 5개의 영상값중 상기 합산 회로(60)(61)에서 합산된 4개의 영상 값을 제외한 대상 화소의 영상 값을 시프터(66)를 통해 곱셈한 후 그 두 값을 감산기(68)로 감산하여 라플라시안을 구하는 과정을 하드웨어적으로 보인 도면이다.
도 4는 상기 도 3에서 얻어지는 디지털 비디오 시그널을 지연기(78)(79)을 이용하여 소정 레벨로 지연시켜 필요한 데이터를 얻고 합산회로(70, 74)와 시프터(72)(77)를 사용하여 1차원 가우시안(Gaussian)을 구하는 과정을 하드웨어적으로 보인 도면이다.
또한, 도 5는 도 4에 도시된 회로를 이용하여 7n X 7n 가우시안(Gaussian)을 구하는 과정을 하드웨어적으로 보여준다.
그러나 이러한 종래의 컨벌루션 장치는, 속도의 향상을 하드웨어의 구성에 의존하므로 변경이 용이하지 않아 다양한 필터의 구현이 어렵고, 수정이 용이하지 않는 단점이 있다.
또한, 실시간 계산에 있어서 결과물의 품질을 향상시키기 위하여 필터 마스크(Mask)의 크기를 키워야 하는 경우 하드웨어 속도가 문제가 되거나 비용이 크게 증가할 수 있는 단점도 있었다.
본 발명은 상기와 같은 종래 컨벌루션 방법 및 장치에서 발생하는 제반 문제점을 해결하기 위해서 제안된 것으로서,
본 발명은, 컨벌루션(Convolution)을 위한 마스크 사이즈(Mask Size)가 클수록 검사 신뢰성이 좋아지는 것에 반하여 처리 시간의 문제로 현실적으로 구현하지 못하는 컨벌루션(Convolution) 처리에 있어서 새로운 영상 파일 구조 및 컨벌루션(Convolution)의 선형화 등을 통해 마스크 사이즈(Mask Size)에 무관하게 고속 컨벌루션 처리가 가능토록 한 고속 컨벌루션 처리 방법 및 그 장치를 제공하는 데 그 목적이 있다.
이러한 목적을 달성하기 위하여, 본 발명의 고속 컨벌루션 처리 방법은,
이론적인 마스크에서 대상 데이터의 샘플링 간격의 배수가 되는 임의의 영역으로 분할하여 컨벌루션 마스크를 설정하는 컨벌루션 마스크 설정 과정과;
상기 컨벌루션 마스크 설정후 상기 컨벌루션할 대상 영상의 누적 영상 데이터를 생성하여 메모리에 저장하는 누적 영상 데이터 생성 과정과;
상기 누적 영상 데이터로부터 마스크의 각 단의 영역과 대응되는 대응 영역의 영상 합 데이터를 획득하는 대응 영역 영상 데이터 획득 과정과;
상기 획득한 대응 영역의 영상 데이터와 그 대응 영역에 대응하는 마스크 단 수치 값을 연산하여 화소의 컨벌루션값을 계산하는 화소 컨벌루션 계산 과정을 포함하여 이루어짐을 특징으로 하고,
본 발명의 고속 컨벌루션 처리장치는,
카메라에서 입력된 영상을 디지털 영상 데이터로 변환하고 그 변환한 영상 데이터와 현재 수평 라인의 원점에서 이전 화소까지의 영상 합 데이터를 가산하고, 그 결과치와 이전 과정에서 계산되어 있는 현재 화소 보다 이전 라인에서의 원점과 화소가 이루는 사각형 영역의 화소 값을 가산하여 누적 영상 데이터를 생성하는 누적 영상 데이터 생성수단과;
상기 누적 영상 데이터 생성수단에서 생성된 누적 영상으로부터 소정 개의 부분 영역 데이터를 추출하고 이를 선택적으로 가산 및 감산하여 대응 영역의 영상 합 데이터를 획득하고, 아울러 대응 영역에 대응하는 마스크단 수치 값을 출력하는 대응 영역 데이터 획득수단과;
상기 대응 영역 데이터 획득수단에서 얻어지는 임의 대응 영역의 영상 데이터와 대응 마스크단 수치 값을 승산하고, 각 대응 영역의 승산 결과치를 모두 합산하여 그 결과치를 화소의 컨벌루션값으로 출력하는 화소 컨벌루션값 출력수단을 포함하여 구성된 것을 특징으로 한다.
도 1 은 종래 1차원에서 컨벌루션의 일 예를 설명하기 위한 설명도이고,
도 2 는 종래 영상 획득시 대상 화소와 주변 화소의 값을 지연기를 이용하여 저장 매체에 저장하는 장치의 일 예를 보인 도면이고,
도 3 은 종래 5개의 영상 값으로부터 합산 회로와 곱셈 회로를 이용하여 라플라시안을 구하는 과정을 설명하기 위한 도면이고,
도 4 는 종래 지연기를 이용하여 필요한 데이터를 획득하고 합산 회로와 시프터를 사용하여 1차원 가우시안을 구하는 과정을 보인 도면이고,
도 5 는 도 4 에 도시된 장치를 이용하여 7n x 7n 가우시안을 구하는 과정을 보인 도면이며,
도 6 은 컨벌루션 마스크의 디지털 계수화를 설명하기 위한 도면으로서,
도 6a 는 일반적인 컨벌루션 마스크의 디지털 계수화 일 예를 보인 도면이고,
도 6b 는 본 발명에 의한 컨벌루션 마스크의 디지털 계수화 일 예를 보인 도면이며,
도 7 은 본 발명에서 누적 영상 데이터의 계산 일 예를 보인 도면이고,
도 8의 (a) 내지 (h)는 종래의 컨벌루션 과정과 본 발명에 의한 컨벌루션 과정을 2차원 데이터에 대하여 계산하는 과정을 비교한 도면으로서,
도 8a는 컨벌루션할 대상 영상 데이터이고,
도 8b는 좌측 영상의 누적 영상 데이터이며,
도 8c는 컨벌루션 마스크의 값을 나타내고,
도 8d는 컨벌루션 마스크 값을 두개의 단으로 분리한 것을 보여주는 도면이며,
도 8e는 종래의 컨벌루션 연산 과정을 나타내고,
도 8f는 종래 각 단별로 구분하여 컨벌루션 연산하는 과정을 보여주는 도면이며,
도 8g는 종래의 컨벌루션 연산과정에서 대상 화소의 결과값을 얻기 위해 8e에서 곱해진 값들을 합산하는 과정을 나타낸 도면이고,
도 8h는 대상 화소의 결과값을 얻기 위해 도8f에서 곱해진 값을 합산하는 과정을 나타내는 도면이다.
도 9 는 본 발명에 의한 고속 컨벌루션 처리 장치의 실시 예를 보인 블록 구성도이고,
도 10 은 Laplacian of Gaussian의 적용 일예도로서,
도 10a 는 원래의 영상 이미지 값이고,
도 10b 는 종래 컨벌루션 처리 방법에 의해 얻어진 컨벌루션 값이고,
도 10c 는 본 발명에 의한 컨벌루션 처리 방법에 의해 얻어진 컨벌루션 값이고,
도 10d 는 컨벌루션 결과치의 비교도 이고,
도 11은 본 발명에서 컨벌루션할 영상의 영역을 보여주는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 누적 영상 데이터 생성수단
113, 115 : 제1 및 제2 합산기
116 : 누적 영상 저장기
117 : 이전 영역 데이터 저장기
200 : 대응 영역 데이터 획득수단
211 ~ 214 : 제1 내지 제4 부분 영역 추출기
300 : 화소 컨벌루션 값 출력수단
이하 상기와 같은 기술적 사상에 따른 본 발명의 바람직한 실시 예를 첨부한 도면에 의거 상세히 설명한다.
도6은 본 발명에 의한 고속 컨벌루션 처리 방법중 일부인 컨벌루션 마스크(Convolution Mask)의 단순화 과정을 설명하기 위한 도면, 즉, 컨벌루션 마스크의 디지털 계수화의 방법을 보여주는 도면이다.
여기서 도 6a는, 일반적인 경우 이론적인 마스크(Mask)를 대상 데이터의 샘플링 간격과 동일하게 샘플링한 마스크를 이용하여 연산을 수행하는 경우, 종래의 컨벌루션 마스크의 디지털 계수화를 설명하기 위한 설명도이다.
그러나 본 발명은, 도 6b에 도시된 바와 같이, 이론적인 마스크(Mask)에서 대상 데이터의 샘플링 간격의 배수가 되는 임의의 영역으로 나누어 마스크를 설정하고, 이때 마스크(Mask)의 단수는 기존의 방법과 같거나 작은 수가 된다.
2차원의 경우에는 마스크 중심으로 대칭 구조인 마스크의 값이 각 단의 형태가 사각형 형태를 쌓아 놓은 피라미드 형태로 변형된다. 이것은 누적 영상 데이터를 활용하기 위하여 필터 마스크(Mask)의 값이 곱해지는 영역을 사각형 형태로 만들어야 계산의 양을 줄일 수 있기 때문이다.
다음으로 대상 영상의 누적 영상 데이터에 대하여 설명한다. 누적 영상 데이터는 영상의 원점과 현재 화소가 이루는 사각형 내부에 존재하는 화소들의 밝기 값의 합을 저장하고 있는 데이터이다. 이것은 다음과 같은 수식으로 표현할 수 있다.
Summation of Gray Level from(1,1) to(x,y)
누적 영상 데이터의 예를 도 7에 표시하였다.
이때 누적 영상 데이터를 저장하기 위한 메모리의 크기는 데이터의 전체가 최대 값을 가질 때 전체 합을 저장할 수 있어야 한다. 예를 들어 512 X 512의 데이터를 사용한다면 저장 가능한 최대 값은 255 X 512 X 512를 표현해야 하므로 각 화소당 26bit가 필요하고 따라서 전체 데이터를 저장하기 위해서는 1MByte가 필요하다.
마스크의 크기를 5 X 5라고 했을 때 대상 화소와 주변 화소의 값을 I(1,1)에서 I(5,5)라고 하고, 마스크(Mask)의 단수가 5일 때 마스크의 값을 M(1,1)에서 M(5,5)라고 하면, 이때 대상 화소는 I(3,3)가 된다. 이때의 결과 값은,
으로 계산된다.
이때 마스크를 전술한 바와 같이 단순화하면 마스크는 3단으로 표현될 수 있고, 이때 마스크의 값은 3개의 값을 가지게 된다.
즉,
마스크의 중심 M(3,3) = V(1),
그 다음 단은 M(2,2), M(2,3), M(2,4), M(3,2), M(3,4), M(4,2), M(4,3), M(4,4) = V(2)
마지막 단은 모두 V(3) 값을 갖게 된다.
그러므로 위의 수식은,
I(3,3) X V(1) + [I(2,2), I(2,3), I(2,4), I(3,2), I(3,4), I(4,2), I(4,3), I(4,4)] X V(2) + [I(1,1) + I(1,2) + I(1,3) + I(1,4) + I(1,5) + I(2,1) + I(2,5) + I(3,1) + I(3,5) + I(4,1) + I(4,5) + I(5,1) + I(5,2) + I(5,3) + I(5,4) + I(5,5)] X V(3)가 되고,
이것은 다시,
I(3,3) X (V(1)-V(2)) +I(x,y) X (V(2)-V(3)) +I(i,j) X V(3)와 같이 바꾸어 쓸 수 있다.
따라서 앞에서 기술한 누적 영상 데이터에서 대상 영역의 합을 간단하게 계산하고 미리 준비된 필터의 단끼리의 차이 값을 이용하면 컨벌루션 시간을 크게 단축시킬 수 있다.
즉, 마스크의 값을 몇 개의 단으로 나누어 표현하도록 변형하고 각 단의 값을 나누어 다음 단에서 일부분 계산되도록 하면 계산 과정이 크게 줄어들게 된다. 이 과정을 도 8에 도시하였다.
도 8에서, 도 8a는 컨벌루션할 대상 영상 데이터이고, 도 8b는 도8a의 누적 영상 데이터이며, 도 8c는 컨벌루션 마스크의 값을 나타내고, 도 8d는 컨벌루션 마스크 값을 두 개의 단으로 분리한 것을 보여주는 도면이다. 그리고 도 8e는 종래의 컨벌루션 연산 과정을 나타내며, 도 8f는 종래 각 단별로 구분하여 컨벌루션 연산하는 과정을 보여주는 도면이다. 또한, 도 8g는 종래의 컨벌루션 연산과정에서 대상 화소의 결과값을 얻기 위해 8e에서 곱해진 값들을 합산하는 과정을 나타낸 도면이고, 도 8h는 대상 화소의 결과값을 얻기 위해 도8f에서 곱해진 값을 합산하는 과정을 나타내는 도면이다.
한편, 2차원 데이터에 대하여 기존의 필터와 계산량을 비교해 보면 대상 이미지의 크기를 M X N 이라고 하고 필터의 크기를 m X n 라고 하면, 기존 필터는 각 픽셀마다 필터마스크의 크기만큼의 곱셈과 덧셈이 필요하므로 M X N X (m X n 개의 곱. m X n 개의 합)이 필요하다.
새로운 필터는 마스크의 단수가 최대 일 경우 누적 영상 계산서 M X N X 2 개의 각 픽셀마다 3개의 합과 1개의 곱이 마스크의 단수 만큼 필요하므로 M X N X [2 개의 합 + (3개의 합. 1개의 곱) X 마스크 단수]이 필요하다. 만약 필터의 크기가 13 X 13 이라면 대략 곱셈 24배. 덧셈 7배의 계산량 차이가 나므로 연산 속도를 크게 줄일 수 있음을 알 수 있다. 따라서 본 고안의 방법을 사용함으로서 기존의 방법을 사용한 경우보다 연산 시간이 크게 단축되어 고속 처리가 필요한 분야에 유효하게 사용될 수 있고, 크기가 큰 필터 마스크를 사용할 수 있으므로 결과의 정확도도 향상시킬 수 있다.
도9는 본 발명에 의한 고속 컨벌루션 처리 장치의 실시 예를 보인 블록 구성도 이다.
여기서, 참조부호 100은 카메라에서 입력된 영상을 디지털 영상 데이터로 변환하고 그 변환한 영상 데이터와 현재 수평 라인의 원점에서 이전 화소까지의 영상 합 데이터를 가산하고, 그 결과치와 현재 화소 위치보다 이전 라인에서의 원점과화소가 이루는 사각형 영역의 화소 값을 가산하여 누적 영상 데이터를 생성하는 누적 영상 데이터 생성수단이다.
상기 누적 영상 데이터 생성수단(100)은, 카메라에서 입력된 영상을 디지털 값으로 변환하여 영상 데이터(f(x,y))로 출력하는 영상 데이터 출력기(111)와; 이전 단계에서 계산되어 버퍼(114)에 저장되었던 이전 화소까지의 수평라인 합산 값을 현재 화소까지의 수평라인 합산값을 계산하기 위하여 임시로 저장하는 이전 영상 값 저장기(112)와; 상기 이전 영상 값 저장기에서 얻어지는 이전 현재 수평 라인의 원점에서 이전 화소까지의 영상 데이터의 합값과 상기 영상 데이터 출력기에서 출력되는 영상 데이터를 합산하는 제1합산기(113)와; 상기 현재 화소까지의 수평라인 합산 값이 저장되는 버퍼(114)와; 현재 화소와 원점이 이루는 시각점 내의 영상값의 누적 값을 계산하기 위하여 현재 화소 이전 라인의 화소와 원점이 이루는 사각형내의 영상값의 누적 값을 누적 영상 저장기(116)으로부터 얻어서 임시로 저장하는 이전 영역 데이터 저장기(117)와; 상기 버퍼에서 출력되는 영상 데이터와 상기 이전 영역 데이터 저장기에서 출력되는 현재 화소 위치보다 이전 라인에서의 원점과 화소가 이루는 사각형 영역의 화소 값의 영상 데이터를 합산하는 제2합산기(115)와; 상기 누적 영상데이터가 저장되는 누적 영상 저장기(116)로 구성된다.
또한, 참조부호 200은 상기 누적 영상 데이터 생성수단(100)에서 생성된 누적 영상(Fxy(x,y))으로부터 소정 개의 부분 영역 데이터(Fxy(x2,y2), Fx,y(x1,y1), Fxy(x1,y2), Fxy(x2,y1))를 추출하고 이를 선택적으로 가산 및 감산하여 대응영역(Fxy(x1,y1,x2,y2))의 영상 합 데이터를 획득하고 아울러 대응 영역(Fxy(x1,y1,x2,y2))에 대응하는 마스크단 수치 값을 출력하는 대응 영역 데이터 획득수단이다. 상기 대응 영역 데이터 획득수단(200)은, 임의의 영상에서 마스크의 각 단의 영역과 대응되는 부분의 합을 계산하기 위하여 상기 누적 영상 데이터 생성수단에서 생성된 누적 영상 데이터(Fxy(x,y))로부터 필요한 4개의 부분 영역 데이터(Fxy(x2,y2),Fx,y(x1,y1),Fxy(x1,y2),Fxy(x2,y1))를 추출하는 제1 내지 제4 부분 영역 추출기(211)(212)(213)(214)와; 상기 추출한 4개의 부분 영역 데이터(Fxy(x2,y2),Fx,y(x1,y1),Fxy(x1,y2),Fxy(x2,y1))를 각각 2개의 부분 영역끼리 합산을 하는 제3합산기(215) 및 제4 합산기(216)와; 상기 제3합산기의 출력 데이터에서 상기 제4합산기의 출력 데이터를 감산하는 감산기(217)와; 상기 감산기의 출력을 대응 영역 영상 합 데이터(Fxy(x1,y1,x2,y2))로 출력하는 대응 영역 영상 합 데이터 출력기(218)와; 상기 대응 영역(Fxy(x1,y1,x2,y2))에 대응하는 대응 마스크 단 수치 값을 출력하는 대응 마스크 수치 값 출력기(219)로 구성된다.
또한, 참조부호 300은 상기 대응 영역 데이터 획득수단(200)에서 얻어지는 임의 대응 영역(Fxy(x1,y1,x2,y2))의 영상 데이터와 대응 마스크단 수치 값을 승산하고, 각 대응 영역의 승산 결과치를 모두 합산하여 그 결과치를 화소의 컨벌루션 값으로 출력하는 화소 컨벌루션값 출력수단이다. 상기 화소 컨벌루션값 출력수단(300)은, 상기 대응 영역 데이터 획득수단에서 얻어지는 복수 개의 대응 영역 영상 데이터(Fxy(x1,y1,x2,y2), ...., Fxy(xm,ym,xn,yn))와 그 복수 개의 대응 영역에 각각 대응하는 복수 개의 마스크 단 수치 값(V(1),...,V(n))을 각각 승산 하는 다수개의 승산기(301)와; 상기 다수개의 승산기의 각 출력 데이터를 합산하는 합산기(321)와; 상기 합산기의 출력 데이터를 화소 컨벌루션값으로 출력하는 화소 컨벌루션값 출력기(331)로 구성된다.
이와 같이 구성된 본 발명에 의한 고속 컨벌루션 처리 장치의 작용은 다음과 같다.
먼저 누적 영상 데이터 생성수단(100)내의 영상 데이터 출력기(111)는 카메라에서 입력된 영상을 디지털 값으로 변환하여 영상 데이터(f(x,y))로 출력하며, 제1합산기(113)는 이전 영상 값 저장기(112)에서 얻어지는 이전 현재 수평 라인의 원점에서 이전 화소까지의 영상 데이터의 합의 값과 상기 영상 데이터 출력기(111)에서 출력되는 영상 데이터를 합산한다. 그 결과치는 버퍼(114)에 일시 저장되며, 제2합산기(115)는 상기 버퍼(114)에서 출력되는 영상 데이터와 이전 영역 데이터 저장기(117)에서 출력되는 현재 화소 위치보다 이전 라인에서의 원점과 화소가 이루는 사각형 영역의 화소 값의 영상 데이터를 합산한다. 그리고 그 결과치는 누적 영상 저장기(116)에 저장되며, 이로써 누적 영상 데이터를 생성하게 된다.
이렇게 생성되는 누적 영상 데이터는 대응 영역 데이터 획득수단(200)에 입력되며, 상기 대응 영역 데이터 획득수단(200)내의 제 1 내지 제 4 부분 영역 추출기(211 ~ 214)는, 영상에서 마스크의 각 단의 영역과 대응되는 부분의 합을 계산하기 위하여 상기 누적 영상 데이터 생성수단(100)에서 생성된 누적 영상 데이터로부터 필요한 4개의 부분 영역 데이터를 추출한다. 그리고 제3합산기(215)와 제4합산기(216)는 상기 추출한 4개의 부분 영역 데이터를 각각 2개의 부분 영역끼리 합산을 한다. 그런 후 감산기(217)에서 상기 제3합산기(215)의 출력 데이터에서 상기 제4합산기(216)의 출력 데이터를 감산한다. 상기 감산기(217)의 출력은 제1 대응 영역 영상 합 데이터 출력기(218)를 통해 대응 영역의 영상 합 데이터로 출력된다. 그리고 상기 대응 영역 데이터 획득수단(200)은 상기와 같이 대응 영역의 영상 데이터를 획득한 경우에는 그 대응 영역에 대응하는 대응 마스크 단 수치 값도 대응 마스크단 수치 값 출력기(219)를 통해 출력하게 된다.
이렇게 출력되는 대응 영역의 영상 데이터와 대응 마스크단 수치 값은 화소 컨벌루션값 출력수단(300)내의 승산기(301)에서 승산 되고, 그 결과치는 합산기(321)에서 다른 승산기들의 출력과 모두 합산된 후 그 결과치가 컨벌루션값 출력기(331)를 통해 화소 컨벌루션값으로 출력된다.
이상의 설명에서는, 하나의 화소에 대한 컨벌루션값 계산 과정을 설명하였으며, 실제로는 전술한 컨벌루션 처리 과정을 여러 번 반복하여 전체 영상의 컨벌루션값을 얻게 된다.
참고적으로, 하드웨어 구성 시에 누적 영상 데이터 생성 과정은 영상 획득과 동시에 이루어질 수 있으며, 마스크 크기 이상의 누적 영상이 계산된 이후에는 상기 대응 영역 영상 데이터 획득 과정과 화소 컨벌루션값 출력 과정이 별개의 과정으로 이루어질 수 도 있다.
도10은 Laplacian of Gaussian의 적용 일예도로서, 도10a는 원래의 영상 이미지 값이고, 도10b는 종래 컨벌루션 처리 방법에 의해 얻어진 컨벌루션값이고, 도10c는 본 발명에 의한 컨벌루션 처리 방법에 의해 얻어진 컨벌루션값이며, 도10d는 컨벌루션 결과치의 비교도이다.
도시된 바와 같이, 이는 평균값이 약 131이고 중심부에서의 값이 4정도 차이나는 휘점이 있는 영상의 처리 결과이다. 기존의 알고리즘과 크게 차이가 나지 않음을 알 수 있다.
이상, 설명한 바와 같이, 본 발명에 따르면, 컨벌루션(Convolution) 처리에 있어서 새로운 영상 파일 구조 및 컨벌루션(Convolution)의 선형화 등을 통해 마스크 사이즈(Mask Size)에 무관하게 고속 컨벌루션 처리가 가능토록 한 효과가 있다.

Claims (6)

  1. 컨벌루션 처리 방법에 있어서,
    이론적인 마스크에서 대상 데이터의 샘플링 간격의 배수가 되는 임의의 영역으로 분할하여 컨벌루션 마스크를 설정하는 컨벌루션 마스크 설정 과정과;
    상기 컨벌루션 마스크 설정후 상기 컨벌루션할 대상 영상의 누적 영상 데이터를 생성하여 메모리에 저장하는 누적 영상 데이터 생성 과정과;
    상기 누적 영상 데이터로부터 마스크의 각 단의 영역과 대응되는 대응 영역의 영상 합 데이터를 획득하는 대응 영역 영상 데이터 획득 과정과;
    상기 획득한 대응 영역의 영상 데이터와 그 대응 영역에 대응하는 마스크 단 수치 값을 연산하여 화소의 컨벌루션값을 계산하는 화소 컨벌루션 계산 과정을 포함하여 이루어짐을 특징으로 하는 고속 컨벌루션 처리방법.
  2. 제 1 항에 있어서, 상기 누적 영상 데이터를 저장하기 위한 메모리의 크기는, 데이터의 전체가 최대 값을 가질 때 전체 영상 합 데이터를 저장할 수 있는 크기인 것을 특징으로 하는 고속 컨벌루션 처리방법.
  3. 고속 컨벌루션 처리 장치에 있어서,
    카메라에서 입력된 영상을 디지털 영상 데이터로 변환하고 그 변환한 영상 데이터와 현재 수평 라인의 원점에서 이전 화소까지의 영상 합 데이터를 가산하고,그 결과치와 현재 화소 위치보다 이전 라인에서의 원점과 화소가 이루는 사각형 영역의 화소 값을 가산하여 누적 영상 데이터를 생성하는 누적 영상 데이터 생성수단과;
    상기 누적 영상 데이터 생성수단에서 생성된 누적 영상으로부터 소정 개의 부분 영역 데이터를 추출하고 이를 선택적으로 가산 및 감산하여 대응 영역의 영상 합 데이터를 획득하고, 아울러 대응 영역에 대응하는 마스크단 수치 값을 출력하는 대응 영역 데이터 획득수단과;
    상기 대응 영역 데이터 획득수단에서 얻어지는 임의 대응 영역의 영상 데이터와 대응 마스크단 수치 값을 승산하고, 각 대응 영역의 승산 결과치를 모두 합산하여 그 결과치를 화소의 컨벌루션값으로 출력하는 화소 컨벌루션값 출력수단을 포함하여 구성된 것을 특징으로 하는 고속 컨벌루션 처리장치.
  4. 제 3 항에 있어서, 상기 누적 영상 데이터 생성수단은,
    카메라에서 입력된 영상을 디지털 값으로 변환하여 영상 데이터(f(x,y))로 출력하는 영상 데이터 출력기와;
    이전 단계에서 계산되어 버퍼에 저장되었던 이전 화소까지의 수평라인 합산 값을 현재 화소까지의 수평라인 합산값을 계산하기 위하여 임시로 저장하는 이전 영상 값 저장기와;
    상기 이전 영상 값 저장기에서 얻어지는 이전 현재 수평 라인의 원점에서 이전 화소까지의 영상 데이터의 합값과 상기 영상 데이터 출력기에서 출력되는 영상데이터를 합산하는 제1합산기와;
    상기 현재화소까지의 수평라인 합산 값이 저장되는 버퍼와;
    현재 화소와 원점이 이루는 시각점 내의 영상값의 누적 값을 계산하기 위하여 현재 화소 이전 라인의 화소와 원점이 이루는 사각형내의 영상값의 누적 값을 누적 영상 저장기로부터 얻어서 임시로 저장하는 이전 영역 데이터 저장기와;
    상기 버퍼에서 출력되는 영상 데이터와 상기 이전 영역 데이터 저장기에서 출력되는 현재 화소 위치보다 이전 라인에서의 원점과 화소가 이루는 사각형 영역의 화소 값의 영상 데이터를 합산하는 제2합산기와;
    상기 누적 영상데이터가 저장되는 누적 영상 저장기로 구성된 것을 특징으로 하는 고속 컨벌루션 처리장치.
  5. 제 3 항에 있어서, 상기 대응 영역 데이터 획득수단은,
    임의의 영상에서 마스크의 각 단의 영역과 대응되는 부분의 합을 계산하기 위하여 상기 누적 영상 데이터 생성수단에서 생성된 누적 영상 데이터(Fxy(x,y))로부터 필요한 4개의 부분 영역 데이터(Fxy(x2,y2), Fx,y(x1,y1), Fxy(x1,y2), Fxy(x2,y1))를 추출하는 제1 내지 제4 부분 영역 추출기와;
    상기 추출한 4개의 부분 영역 데이터 (Fxy(x2,y2), Fx,y(x1,y1), Fxy(x1,y2) , Fxy(x2,y1))를 각각 2개의 부분 영역끼리 합산을 하는 제3합산기 및 제4 합산기와;
    상기 제3합산기의 출력 데이터에서 상기 제4합산기의 출력 데이터를 감산하는 감산기와;
    상기 감산기의 출력을 대응 영역 영상 합 데이터(Fxy(x1,y1,x2,y2))로 출력하는 대응 영역 영상 합 데이터 출력기와;
    상기 대응 영역(Fxy(x1,y1,x2,y2))에 대응하는 대응 마스크 단 수치 값을 출력하는 대응 마스크 영상 값 출력기로 구성된 된 것을 특징으로 하는 고속 컨벌루션 처리장치.
  6. 제 3 항에 있어서, 상기 화소 컨벌루션값 출력수단은,
    상기 대응 영역 데이터 획득수단에서 얻어지는 복수 개의 대응 영역 영상 데이터(Fxy(x1,y1,x2,y2), ...., Fxy(xm,ym,xn,yn))와 그 복수 개의 대응 영역에 각각 대응하는 복수 개의 마스크 단 수치 값(V(1),...,V(n))을 각각 승산 하는 다수개의 승산기와;
    상기 다수개의 승산기의 각 출력 데이터를 합산하는 합산기와;
    상기 합산기의 출력 데이터를 화소 컨벌루션값으로 출력하는 화소 컨벌루션값 출력기로 구성된 것을 특징으로 하는 고속 컨벌루션 처리장치.
KR1019990025717A 1999-06-30 1999-06-30 고속 컨벌루션 처리 방법 및 그 장치 KR100298327B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019990025717A KR100298327B1 (ko) 1999-06-30 1999-06-30 고속 컨벌루션 처리 방법 및 그 장치
US09/413,490 US6643412B1 (en) 1999-06-30 1999-10-06 Method and apparatus for high speed convolution
JP29687999A JP3209420B2 (ja) 1999-06-30 1999-10-19 畳み込み処理方法及び装置
TW089110247A TW504657B (en) 1999-06-30 2000-05-26 Method and apparatus for high speed convolution
CNB001193341A CN1235176C (zh) 1999-06-30 2000-06-28 使用掩码表的图像测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990025717A KR100298327B1 (ko) 1999-06-30 1999-06-30 고속 컨벌루션 처리 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20010004946A KR20010004946A (ko) 2001-01-15
KR100298327B1 true KR100298327B1 (ko) 2001-11-01

Family

ID=19597612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990025717A KR100298327B1 (ko) 1999-06-30 1999-06-30 고속 컨벌루션 처리 방법 및 그 장치

Country Status (4)

Country Link
US (1) US6643412B1 (ko)
KR (1) KR100298327B1 (ko)
CN (1) CN1235176C (ko)
TW (1) TW504657B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580965B2 (en) * 2002-09-27 2009-08-25 Texas Instruments Incorporated Discrete-time convolution cycle reduction with programmable digital signal processor
US20070227409A1 (en) * 2006-03-29 2007-10-04 Ching-Shan Chu UPS uninterruptible power supply mobile computer table structure
US8260002B2 (en) * 2008-09-26 2012-09-04 Axis Ab Video analytics system, computer program product, and associated methodology for efficiently using SIMD operations
TWI382351B (zh) * 2009-03-20 2013-01-11 Ind Tech Res Inst 具積分影像輸出之影像感測器
US8130229B2 (en) 2009-11-17 2012-03-06 Analog Devices, Inc. Methods and apparatus for image processing at pixel rate
US9654742B2 (en) * 2012-11-30 2017-05-16 Safety Management Services, Inc. System and method of automatically determining material reaction or sensitivity using images
TWI634436B (zh) * 2016-11-14 2018-09-01 耐能股份有限公司 緩衝裝置及卷積運算裝置與方法
CN108073550A (zh) 2016-11-14 2018-05-25 耐能股份有限公司 缓冲装置及卷积运算装置与方法
WO2019136752A1 (zh) * 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 人工智能卷积处理方法、装置、可读存储介质、及终端
US11874898B2 (en) 2018-01-15 2024-01-16 Shenzhen Corerain Technologies Co., Ltd. Streaming-based artificial intelligence convolution processing method and apparatus, readable storage medium and terminal
CN110399591B (zh) * 2019-06-28 2021-08-31 苏州浪潮智能科技有限公司 基于卷积神经网络的数据处理方法和装置
CN113189634B (zh) * 2021-03-02 2022-10-25 四川新先达测控技术有限公司 一种类高斯成形方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5151953A (en) * 1990-12-10 1992-09-29 Harris Corporation Single chip 2-D convolver
US5948053A (en) * 1996-09-02 1999-09-07 Yamaha Corporation Digital signal processor architecture using signal paths to carry out arithmetic operations
US6215908B1 (en) * 1999-02-24 2001-04-10 Intel Corporation Symmetric filtering based VLSI architecture for image compression

Also Published As

Publication number Publication date
CN1279448A (zh) 2001-01-10
TW504657B (en) 2002-10-01
KR20010004946A (ko) 2001-01-15
US6643412B1 (en) 2003-11-04
CN1235176C (zh) 2006-01-04

Similar Documents

Publication Publication Date Title
KR100298327B1 (ko) 고속 컨벌루션 처리 방법 및 그 장치
CN1937719A (zh) 手抖动补正装置
CN101561926B (zh) 图像处理设备、图像拍摄设备、图像处理方法
JP2017156941A (ja) 演算処理装置
EP0523924B1 (en) Image signal processing apparatus
JPH1117954A (ja) 映像信号処理装置
US7522190B2 (en) Image detection processing device for calculating the moments of image data
JP3209420B2 (ja) 畳み込み処理方法及び装置
JP4323808B2 (ja) 二次元ピラミッド・フィルタ・アーキテクチャ
US8666172B2 (en) Providing multiple symmetrical filters
JP3017239B2 (ja) 画像生成方法
US6370281B1 (en) Apparatus and method for detecting enlarging ratio or reducing ratio of image data
KR970006553B1 (ko) 영상신호처리시스템에 있어서 화면원근이동(Zooming)장치
JPWO2004068411A1 (ja) 平均値フィルタ装置およびフィルタリング方法
KR0154947B1 (ko) 3차원 컬러 스테레오 스코픽 병렬처리를 위한 아핀변환 장치
JPH1117931A (ja) 画素密度変換装置
JP2875531B2 (ja) 画像処理装置
KR0181053B1 (ko) 3차원 컬러 그래픽 병렬처리를 위한 아핀 변환 장치
JP2806436B2 (ja) 演算回路
KR0181057B1 (ko) 3차원 그래픽 처리를 위한 아핀변환 장치
KR0154014B1 (ko) 3차원 컬러 그래픽 병렬처리를 위한 아핀변환 장치
KR0154937B1 (ko) 3차원 컬러 그래픽 처리를 위한 아핀변환 장치
US4745567A (en) Moment generator
Sid-Ahmed Analogue realizations of 2-D operations for raster scanned images
KR100343463B1 (ko) 포맷 변환 장치

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee