KR100523848B1 - 실시간 윈도우 기반 영상 처리 장치 - Google Patents

실시간 윈도우 기반 영상 처리 장치 Download PDF

Info

Publication number
KR100523848B1
KR100523848B1 KR1020050006940A KR20050006940A KR100523848B1 KR 100523848 B1 KR100523848 B1 KR 100523848B1 KR 1020050006940 A KR1020050006940 A KR 1020050006940A KR 20050006940 A KR20050006940 A KR 20050006940A KR 100523848 B1 KR100523848 B1 KR 100523848B1
Authority
KR
South Korea
Prior art keywords
pixel
window
image
buffer
coordinate
Prior art date
Application number
KR1020050006940A
Other languages
English (en)
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 KR1020050006940A priority Critical patent/KR100523848B1/ko
Application granted granted Critical
Publication of KR100523848B1 publication Critical patent/KR100523848B1/ko

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/46Treatment of water, waste water, or sewage by electrochemical methods
    • C02F1/461Treatment of water, waste water, or sewage by electrochemical methods by electrolysis
    • C02F1/46104Devices therefor; Their operating or servicing
    • C02F1/4618Devices therefor; Their operating or servicing for producing "ionised" acidic or basic water
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/46Treatment of water, waste water, or sewage by electrochemical methods
    • C02F1/4602Treatment of water, waste water, or sewage by electrochemical methods for prevention or elimination of deposits
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/46Treatment of water, waste water, or sewage by electrochemical methods
    • C02F1/461Treatment of water, waste water, or sewage by electrochemical methods by electrolysis
    • C02F1/46104Devices therefor; Their operating or servicing
    • C02F1/46109Electrodes
    • C02F2001/46119Cleaning the electrodes
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F2209/00Controlling or monitoring parameters in water treatment
    • C02F2209/005Processes using a programmable logic controller [PLC]
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F2303/00Specific treatment goals
    • C02F2303/14Maintenance of water treatment installations
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F2307/00Location of water treatment or water treatment device
    • C02F2307/10Location of water treatment or water treatment device as part of a potable water dispenser, e.g. for use in homes or offices

Landscapes

  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Electrochemistry (AREA)
  • General Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Hydrology & Water Resources (AREA)
  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Water Supply & Treatment (AREA)
  • Organic Chemistry (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 실시간 윈도우 기반 영상 처리 장치에 관한 것으로, 영상을 전송하는 카메라에서 생성된 제어 신호를 기반으로 현재 입력중인 픽셀의 2차원 좌표를 계산해내는 좌표 생성 모듈과; 윈도우 기반으로 영상을 처리하기 위해 일정 영역에 속한 픽셀로 그룹을 구성하여 영상의 일부를 내부 메모리와 레지스터에 저장, 출력을 지연시키는 픽셀 그룹화 모듈부와; 상기 픽셀 그룹화 모듈부에서 출력을 지연시켜 얻은 픽셀들에 대해 실제 연산을 수행하는 윈도우 프로세싱 모듈부와; 상기한 모듈부들을 제어하며 동기를 맞추는 제어 모듈부를 포함하여 구성된다.

Description

실시간 윈도우 기반 영상 처리 장치 {Real-Time Window-based Image Processing Apparatus}
본 발명은 윈도우 기반 영상 처리에 관한 것으로, 보다 상세하게는 소프트웨어적이 아니고 하드웨어적으로 윈도우 기반 영상을 처리할 수 있는 실시간 윈도우 기반 영상 처리 장치에 관한 것이다.
일반적으로, 영상처리는 응용분야가 다양하며 처리해야 할 정보량이 매우 많은 편에 속한다. 영상을 이루는 각각의 픽셀과 그 이웃하는 픽셀을 대상으로 영상을 처리하는 것을 픽셀 그룹 처리라고 하며, 이때 n2개의 픽셀을 포함하는 n×n 크기의 마스크를 윈도우라고 부른다.
이러한 윈도우를 기반으로 영상을 처리하는 방법은 대부분의 영상처리에 있어 기초가 되지만 영상을 이루는 각각의 픽셀마다 그 이웃 픽셀을 포함하여 연산을 수행한다는 점에서 전체 연산의 양은 상대적으로 큰 편이다. 특히 실시간 영상 처리의 경우 이처럼 윈도우를 기반으로 한 방법을 사용하기에는 처리해야 할 정보의 량이 너무 많다고 볼 수 있다. 30 fps(frame per second)로 입력되는 640×480의 영상을 모두 메모리에 저장한 후 다시 읽어 들여 5×5크기의 윈도우 기반으로 처리한다고 가정하면 최소한 2억 번 이상의 픽셀 값을 참조해야 한다. 이는 연산을 위해 픽셀 값을 참조하는 경우만을 계산한 것이며 실제 영상처리를 위한 루틴을 포함하면 계산량은 훨씬 더 늘어나게 된다. 이와 다르게 윈도우 연산의 대상이 되는 n×n 픽셀을 메모리가 아닌 즉시 접근 가능한 레지스터에 유지시키면 이들 픽셀에 대한 실시간 처리가 가능해지며 필요한 경우 윈도우에 해당하는 모든 픽셀 값에 대한 동시 접근이 가능해지기 때문에 많은 성능 개선을 기대 할 수 있게 된다.
따라서, 윈도우를 기반으로 영상을 처리할 때 기존의 범용 컴퓨터를 사용한 소프트웨어적인 접근에 한계가 있으며, 이에 따라 소프트웨어적이 아니고 하드웨어적으로 윈도우 기반 영상을 처리할 수 있는 장치의 개발이 요망되고 있다.
본 발명은 상기한 종래의 개발 요망에 부응하기 위하여 이루어진 것으로서, 소프트웨어적이 아니고 하드웨어적으로 윈도우 기반 영상을 처리할 수 있는 실시간 윈도우 기반 영상 처리 장치를 제공하고자 함에 그 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명에 따른 실시간 윈도우 기반 영상 처리 장치는, 영상을 전송하는 카메라에서 생성된 제어 신호를 기반으로 현재 입력중인 픽셀의 2차원 좌표를 계산해내는 좌표 생성 모듈과; 윈도우 기반으로 영상을 처리하기 위해 일정 영역에 속한 픽셀로 그룹을 구성하여 영상의 일부를 내부 메모리와 레지스터에 저장, 출력을 지연시키는 픽셀 그룹화 모듈부와; 상기 픽셀 그룹화 모듈부에서 출력을 지연시켜 얻은 픽셀들에 대해 실제 연산을 수행하는 윈도우 프로세싱 모듈부와; 상기한 모듈부들을 제어하며 동기를 맞추는 제어 모듈부를 포함하여 구성된 것을 특징으로 한다.
여기서, 상기 제어 모듈부는 상기 장치가 직렬 또는 병렬로 연결되어 사용될 경우 데이터의 전송이나 동기화 작업도 수행한다.
그리고 상기 좌표 생성 모듈의 좌표의 범위는 영상의 크기와 동일하며, 상기 좌표 생성 모듈은 1프레임을 모두 받고 다음 프레임으로 넘어가면 좌표값을 초기화하고 다시 카운트를 시작한다.
또, 상기 픽셀 그룹화 모듈부는, 전체 입력 영상의 일부를 메모리에 저장해두는 라인 버퍼와, 이들 라인 버퍼에 저장된 각 픽셀값을 다루는 버퍼 제어기로 구성된 라인 버퍼 모듈과; 상기 라인버퍼에서 전달된 각 픽셀이 저장되는 윈도우 버퍼와, 이 윈도우 버퍼를 제어하는 윈도우 버퍼 제어기로 구성된 상기 출력 지연 모듈로 구성된다.
또한, 상기 라인 버퍼는 처리 기반이 되는 윈도우의 로우(Row) 크기와 같은 수의 듀얼 포트 램을 사용하며 각 듀얼 포트 램이 영상의 1 라인을 저장하고, x좌표값을 어드레스로 사용가능하게 하며, 상기 윈도우 버퍼는 상기 라인 버퍼의 각 듀얼 포트 램에서 현재 입력중인 픽셀의 x좌표에 해당하는 픽셀을 전달받아 레지스터에 저장, 윈도우의 컬럼(Column)크기 만큼 출력을 지연시킨다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 실시간 윈도우 기반 영상 처리 방법 및 장치에 대하여 상세히 설명한다.
윈도우 기반의 픽셀 그룹 연산은 영상처리의 많은 분야에서 응용된다. 범용 컴퓨터의 Von Neumann 구조에서 n×n 크기의 윈도우를 기반으로 영상을 처리하는 경우 캐시(Cache)나 프리페치(Prefetch) 등의 기법을 사용하지 않고 메모리에서 한번에 한 픽셀만 읽어온다고 가정하면, 최소 n2번의 메모리 접근이 필요하다. 이는 실제 연산에 사용되는 시간보다 더 많은 시간이 메모리 참조에 쓰일 수 있다는 것을 뜻한다.
이러한 이유로 본 발명에서는 위에서 언급한 것과 같은 불필요한 시간 낭비를 제거하고 실시간으로 윈도우 기반의 영상[미가공 영상 데이터]을 처리 할 수 있는 일반적인 구조인 RWIPS(Real-time Window-based Image Processing Structure)를 제안한다. RWIPS는 도 1에 도시한 바와 같이, 크게 좌표 생성 모듈부(10), 픽셀 그룹화 모듈부(20), 윈도우 프로세싱 모듈부(30), 제어 모듈부(40)의 네 부분으로 구성된다. 좌표 생성모듈부(10)은 단순한 카운터 회로를 사용하여 좌표를 생성해주는 모듈을 구성할 수 있고, 이는 기본적인 회로여서 매우 간단하며 기본적인 회로이기 때문에 Machine vision hardware 제작 업체에서는 대부분 사용하고 있다. 아날로그 값이 아닌 디지털 값으로 출력을 내보내는 카메라를 사용하더라도 각 픽셀을 구분지어 주는 클럭은 기본적으로 사용되기 때문에 어떠한 경우라도 좌표 생성 모듈의 구성은 어렵지 않게 가능합니다. 픽셀 그룹화 모듈부(20)은 윈도우를 기반으로 연산을 하는 대부분의 영상 처리 장치에 사용되며 Tyzx 사의 Deepsea V2 System 사양서 및 1995년 발표된 논문인 Convolution on Splash 2 (Nalini K. Ratha, Anil K. Jain, Diane T. Rover) 이나 2003년에 발표된 논문인 Configurable Hardware Architecture for Real-Time Window-Based Image Processing (Cesar Torres-Huitzil and Miguel Arias-Estrada)에서 그 기본적인 구조가 개시되어 있다. 윈도우 프로세싱 모듈부(30)은 Configurable Hardware Architecture for Real-Time Window-Based Image Processing (Cesar Torres-Huitzil and Miguel Arias-Estrada)에서 VHDL(Very High Speed Integrated Circuit Hardware Description Language)를 이용하여 “ 윈도우 기반 실시간 영상처리” 에 개시되어 있으며, 시스템 레벨에서 게이트 레벨까지 하드웨어 회로 표현이 가능하여 한 IEEE에 의해 공인되어 FPGA나 PLD와 같은 Programmable Chip을 프로그램 하기 위해 사용되는 표준 언어인 VHDL 언어 등으로 픽셀들에 대해 실제 연산을 수행하는 연산부에 대응한다. 또 제어모듈부(40)은 Matrox, Nexteye 등의 업체에서 개발하는 하드웨어에 포함되는 구성이고, 시판중인 모델로는 Matrox Meteor-II, Blue Eye 등이 있으며, Keith Jack 의 저서인 Video Demystified 4th Edition 의 전체 Chapter 에 걸쳐 그 내용이 궤적으로 설명되어 있다.
상기 좌표 생성 모듈부(10)는, 영상을 전송하는 카메라에서 생성된 제어 신호를 기반으로 현재 입력중인 픽셀의 2차원 좌표를 계산해낸다. 좌표의 범위는 영상의 크기와 동일하며 1프레임을 모두 받고 다음 프레임으로 넘어가면 좌표값을 초기화하고 다시 카운트를 시작한다.
상기 픽셀 그룹화 모듈부(20)에는 기본적으로 비디오 신호가 연속적으로 입력된다. 이는 시간 t에서 픽셀 Pt를 입력받고 있다면 이 순간에 픽셀 Pt-1은 접근할 수 없다는 것을 뜻한다. 그러나 윈도우 기반으로 영상을 처리하려면 일정 영역에 속한 픽셀로 그룹을 구성하여 이에 대해 연산을 수행해야 하기 때문에 현재 입력중인 픽셀 Pt뿐만 아니라 이전의 입력픽셀도 접근이 가능해야 한다. 이를 위해 입력을 받고 있는 영상의 일부를 내부 메모리와 레지스터에 저장, 출력을 지연시키는 모듈이 필요하다. RWIPS에서는 라인 버퍼 모듈과 출력 지연 모듈을 사용하여 픽셀 그룹 프로세싱을 가능하도록 한다.
상기 라인 버퍼 모듈은 전체 입력 영상의 일부를 메모리에 저장해두는 라인 버퍼(22)와 이들 라인 버퍼에 저장된 각 픽셀값을 다루는 버퍼 제어기(24)로 구성된다. 상기 라인 버퍼(22)는 처리 기반이 되는 윈도우의 로우(Row) 크기와 같은 수의 듀얼 포트 램을 사용하며 각 듀얼 포트 램은 영상의 1 라인을 저장 할 수 있다. 이렇게 함으로써 x좌표값을 어드레스로 사용할 수 있게 된다. 현재 입력중인 픽셀의 좌표가 (i,j)라고 할 때 버퍼 제어기(24)는 매 픽셀이 들어올 때 마다 라인 버퍼(22)를 대상으로 식 (1-1), 식(1-2)와 같은 연산을 수행한다. Wr은 윈도우의 로우(Row)크기이며 pc(i,j)는 현재 입력중인 픽셀값을 의미하고, L(x,y)는 라인 버퍼(22)의 각 픽셀을 의미한다.
L(i,n) = L(i,n+1) where 1≤n≤Wr-1 ......... (1-1)
L(i,Wr-1) = pc(i,j) ........ (1-2)
이러한 연산을 통해 상기 라인 버퍼(22)에는 윈도우 로우(Row)크기만큼의 라인이 항상 저장되며 각 라인은 서로 다른 듀얼포트 메모리에 저장되기 때문에 동시에 모든 라인버퍼(22)의 특정 값을 가져오는 것이 가능하다.
상기 출력 지연 모듈은 라인 버퍼 모듈과 같이 라인버퍼(22)에서 전달된 각 픽셀이 저장되는 윈도우 버퍼(26)와 이 윈도우 버퍼(26)를 제어하는 윈도우 버퍼 제어기(28)로 구성된다. 상기 라인 버퍼(22)의 각 듀얼 포트 램에서 현재 입력중인 픽셀의 x좌표에 해당하는 픽셀을 전달받아 레지스터에 저장, 윈도우의 컬럼(Column)크기 만큼 출력을 지연시킨다. 이처럼 출력될 픽셀을 중심으로 윈도우 크기 만큼의 픽셀 그룹을 레지스터에 저장함으로써 이 픽셀들은 즉시 접근 가능한 상태를 항상 유지하게 되며 이를 이용하여 윈도우 기반의 연산을 처리 할 수 있게 된다. 현재 입력중인 픽셀의 좌표가 (i,j)라고 한다면 매 픽셀이 들어올 때 마다 식 (2-1 내지 2-3)와 같은 연산을 수행한다. Wr, Wc는 각각 윈도우의 로우(Row), 컬럼(Column)크기이며 pc(i,j)는 현재 입력중인 픽셀값을 뜻한다. 또한 L(x,y)는 상기 라인 버퍼(22)의 각 픽셀이고, W(x,y)는 상기 윈도우 버퍼(26)의 각 픽셀이다.
W(n,m) = W(n+1,m) where 1≤n≤Wc, 1≤m≤Wr ......(2-1)
W(Wc,n) = L(i,n) where 1≤n≤Wr-1 ...........(2-1)
W(Wc,Wr) = pc(i,j) ..........................(2-3)
상기한 픽셀 그룹화 모듈부(20)의 전체 동작을 도 2에 나타내었다. 이해를 돕기 위해 640×480 크기의 영상을 출력하는 표준 RS-170 비디오 데이터 포멧을 받아 5×5의 윈도우를 기반으로 처리한 경우를 예로 들었다. 카메라를 통해 영상이 들어오면 위에서 설명한 식 (1-1),(1-2),(2-1),(2-2),(2-3)과 같은 연산이 동시에 반복적으로 수행되며 그 결과로 윈도우 크기에 해당하는 픽셀 그룹이 즉시 접근 가능한 레지스터에 저장된 상태를 항상 유지하게 된다.
상기 윈도우 프로세싱 모듈부(30)은 위에서 설명한 것과 같이 출력을 지연시켜 얻은 픽셀들에 대해 실제 연산을 수행하는 부분이다. 윈도우 연산의 대상이 되는 픽셀들은 항상 레지스터에 저장된 상태를 유지하기 때문에 윈도우에 속한 어떤 픽셀이라도 연산할 때 즉시 접근할 수 있다. 따라서 상기 윈도우 프로세싱 모듈(30)에서 이 픽셀들을 다루는 부분만을 바꾸어 작성하면 여러 종류의 윈도우 기반 영상처리를 쉽게 수행할 수 있게 된다.
상기 제어 모듈부(40)는 이러한 전체 구성을 제어하며 동기를 맞춘다. 또한 특정 목표의 달성을 위해 RWIPS를 직,병렬로 연결하여 사용할 수 있는데 이러한 경우 데이터의 전송이나 동기화 등의 작업도 수행한다.
본 발명의 발명자들은 상기와 같이 구성된 RWIPS 구성에 대한 동작을 검증하기 위하여, 상기 RWIPS 구성을 이용하여 대표적인 윈도우 기반 영상처리방법인 다이나믹 드레숄딩(Dynamic Thresholding)을 구현해보았다.
즉, RWIPS를 기반으로 다이나믹 드레숄딩을 수행하는 하드웨어를 도3과 같이 설계하였다. 전체적으로 영상 획득 모듈, 다이나믹 드레숄딩 모듈, 노이즈 감소 모듈의 3개 모듈로 구성되어 있으며 모두 5개의 RWIPS를 사용하였다.
상기 영상 획득 모듈은 카메라와 인터페이스를 하여 30 fps로 영상을 얻어오며 그에 대한 제어 신호를 만들어 낸다. 다이나믹 드레숄딩 모듈은 영상 획득 모듈로부터 받은 로우(Raw)영상과 제어 신호를 이용하여 로컬 드레숄딩(Local thresholding)을 적용한다. 이때 로컬 드레숄드(Local threshold)값은 통상의 방법으로 구하였고 이 구한 결과값에 바이어스(Bias)값으로 3을 사용하여 로컬 드레숄딩(Local thresholding)을 수행하였다.
상기와 같은 방법으로 로컬 드레숄딩이 적용된 영상은 바이어스에 의해 노이즈가 많이 감소된 상태이다. 그러나 여전히 어느 정도의 노이즈는 남게 되므로 이러한 노이즈를 감소시키기 위해 간단한 후처리 과정으로 오프닝(Opening)연산과 클로싱(Closing)연산을 거친다. 이 오프닝(Opening) 연산모듈과 클로싱(Closing) 연산모듈은 도4와 같이 총 4개의 RWIPS모듈을 통해 3×3 크기의 윈도우를 기반으로 한 바이너리 이로션(Binary Erosion)과 바이너리 디레이션(Binary Dilation)으로 구성되었다.
도 5에서 오프닝(Opening)연산과 클로싱(Closing)연산을 통해 노이즈를 제거한 영상을 보인다. 오프닝 연산과 클로싱 연산을 적용하지 않은 결과와 비교해보면 노이즈가 많이 감소된 것을 볼 수 있다.
본 발명에서 제시한 RWIPS과 영상처리 알고리즘은 모두 VHDL을 통해 모델링 하였으며 별도로 작성한 프레임 그래버(Frame grabber) 모듈과 함께 합성하여 영상이 정상적으로 처리되는 것을 확인하였다. 표1은 모든 픽셀을 바이패스(By-pass)하는 간단한 윈도우 프로세싱 모듈을 사용한 RWIPS의 합성 결과를, 표2는 도 3 및 도 4에서 구현한 전체 구조의 합성 결과를 나타낸다. 두 결과를 비교해볼 때 RWIPS의 윈도우 프로세싱 모듈에서 얼마나 복잡한 연산을 수행하느냐가 전체 성능에 많은 영향을 준다는 것을 알 수 있다. 따라서 실시간 처리를 위해서는 계산량이 많은 윈도우 프로세싱의 경우에는 병렬 처리나 파이프 라인 구조 등을 염두에 두어 설계를 해야 할 것이다. 표2의 합성 결과에서 RWIPS를 기반으로 기초적인 윈도우 프로세싱을 수행하는 경우 최대 동작 주파수는 45 MHz정도인 것을 볼 수 있으며 이는 표준RS-170 형식의 640×480 그레이-레벨(Gray-level) 영상 입력에 대해 초당 최대 110 프레임 정도를 처리할 수 있다는 것을 뜻한다. 이로써 대부분의 영상 처리를 실시간으로 수행할 수 있으며 110 fps보다 낮은 프레임 비율에서는 보다 큰 영상을 다룰 수 있음을 알 수 있다. FPGA(Field Programmable Gate Array)는 Xilinx사의 Virtex2 (xc2v250fg456-4)를 사용하였다.
Device utilization summary - Number of Slices: 53 out of 1536 (3%) - Number of Slice Flip Flops: 86 out of 3072 (2%) - Number of BRAMs: 6 out of 24 (25%)
Timing summary - Minimum period: 8.195ns - Maximum Frequency: 122.026MHz - Minimum input arrival time before clock: 1.712ns - Maximum output required time after clock: 5.446ns
Device utilization summary - Number of Slices: 421 out of 1536 (27%) - Number of Slice Flip Flops: 599 out of 3072 (19%) - Number of BRAMs: 22 out of 24 (91%)
Timing summary - Minimum period: 22.167ns - Maximum Frequency: 45.113MHz - Minimum input arrival time before clock: 1.712ns - Maximum output required time after clock: 5.677ns
한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러가지로 변형 및 수정하여 실시할 수 있는 것이다.
이상 설명한 바와 같이, 본 발명에서는 윈도우 기반의 영상처리에 사용될 수 있는 범용적인 구조인 RWIPS을 제공하였으며 이를 사용하여 기초적인 영상처리 방법 중 하나인 다이나믹 드레숄딩(Dynamic thresholding)을 구현하였다. RWIPS에 사용된 윈도우 프로세싱 모듈은 필요에 의해 다르게 작성될 수 있으며 각 RWIPS은 직렬 혹은 병렬로 서로 연결하여 구성할 수 있어 여러 응용분야에 유연하게 적용 하는 것이 가능하다.
도 1은 본 발명에 따른 실시간 윈도우 기반 영상 처리 장치의 바람직한 실시예를 도시한 블록구성도.
도 2는 도 1에 도시한 픽셀 그룹화 모듈부의 전체 동작을 설명하기 위한 도면.
도 3은 본 발명에 따른 RWIPS(Real-time Window-based Image Processing Structure)를 기반으로 다이나믹 드레숄딩을 수행하는 하드웨어의 개략적인 구성도.
도 4는 도 3에 도시한 오프닝(Opening)연산모듈과 클로싱(Closing)연산모듈의 구성예를 도시한 도면.
도 5는 본 발명에 따라 오프닝(Opening)연산과 클로싱(Closing)연산을 통해 노이즈를 제거한 영상을 나타낸 도면.
도 6은 원본 영상을 나타낸 사진.
도 7은 다이나믹 드레숄딩(Dynamic Thresholding)을 적용한 영상을 나타낸 도면.
도 8은 바이어스(Bias)를 사용한 다이나믹 드레숄딩 영상을 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
10 : 좌표 생성 모듈부 20 : 픽셀 그룹화 모듈부
22 : 라인 버퍼 24 : 라인 버퍼 제어기
26 : 윈도우 버퍼 28 : 윈도우 버퍼 제어기
30 : 윈도우 프로세싱 모듈부 40 : 제어 모듈부

Claims (5)

  1. 영상을 전송하는 카메라에서 생성된 제어 신호를 기반으로 현재 입력중인 픽셀의 2차원 좌표를 계산해내는 좌표 생성 모듈과,
    윈도우 기반으로 영상을 처리하기 위해 일정 영역에 속한 픽셀로 그룹을 구성하여 처리하기 위해, 입력 영상의 일부를 내부 메모리와 레지스터에 저장, 출력을 지연시키는 픽셀 그룹화 모듈부,
    상기 픽셀 그룹화 모듈부에서 출력을 지연시켜 얻은 픽셀들에 대해 실제 연산을 수행하는 윈도우 프로세싱 모듈부 및,
    상기한 모듈부들을 제어하며 동기를 맞추는 제어 모듈부를 포함하여 구성되고;
    상기 픽셀 그룹화 모듈부는, 전체 입력 영상의 일부를 메모리에 저장해두는 라인 버퍼와, 이들 라인 버퍼에 저장된 각 픽셀값을 다루는 버퍼 제어기로 구성된 라인 버퍼 모듈과,
    상기 라인버퍼에서 전달된 각 픽셀이 저장되는 윈도우 버퍼와, 이 윈도우 버퍼를 제어하는 윈도우 버퍼 제어기로 구성된 출력 지연 모듈로 구성되며;
    상기 라인 버퍼는 처리 기반이 되는 윈도우의 로우(Row) 크기와 같은 수의 듀얼 포트 램을 사용하며 각 듀얼 포트 램이 영상의 1 라인을 저장하고, x좌표값을 어드레스로 사용가능하게 하며,
    상기 윈도우 버퍼는 상기 라인 버퍼의 각 듀얼 포트 램에서 현재 입력중인 픽셀의 x좌표에 해당하는 픽셀을 전달받아 레지스터에 저장, 윈도우의 컬럼(Column)크기 만큼 출력을 지연시키고;
    현재 라인 버퍼로 입력중인 픽셀의 좌표가 (i,j)라고 할 때, 상기 버퍼 제어기는 매 픽셀이 들어올 때 마다 라인 버퍼를 대상으로 식 (1-1) 및, 식(1-2)의 연산을 수행하며,
    L(i,n) = L(i,n+1) where 1≤n≤Wr-1 ......... (1-1)
    L(i,Wr-1) = pc(i,j) ........ (1-2)
    [여기서, Wr은 윈도우의 로우(Row)크기, pc(i,j)는 현재 입력중인 픽셀값, L(x,y)는 라인 버퍼의 각 픽셀]
    현재 윈도우 버퍼로 입력중인 픽셀의 좌표가 (i,j)이면 매 픽셀이 들어올 때 마다 식 (2-1 내지 2-3)와 같은 연산을 수행하는;
    W(n,m) = W(n+1,m) where 1≤n≤Wc, 1≤m≤Wr ......(2-1)
    W(Wc,n) = L(i,n) where 1≤n≤Wr-1 ...........(2-1)
    W(Wc,Wr) = pc(i,j) ..........................(2-3)
    [여기서, Wr, Wc는 각각 윈도우의 로우(Row), 컬럼(Column)크기, pc(i,j)는 현재 입력중인 픽셀값, L(x,y)는 상기 라인 버퍼의 각 픽셀, W(x,y)는 상기 윈도우 버퍼의 각 픽셀]
    것을 특징으로 하는 실시간 윈도우 기반 영상 처리 장치.
  2. 제 1항에 있어서,
    상기 제어 모듈부는 상기 장치가 직렬 또는 병렬로 연결되어 사용될 경우 데이터의 전송이나 동기화 작업도 수행하는 것을 특징으로 하는 실시간 윈도우 기반 영상 처리 장치.
  3. 제 1항에 있어서,
    상기 좌표 생성 모듈의 좌표의 범위는 영상의 크기와 동일하며, 상기 좌표 생성 모듈은 1프레임을 모두 받고 다음 프레임으로 넘어가면 좌표값을 초기화하고 다시 카운트를 시작하는 것을 특징으로 하는 실시간 윈도우 기반 영상 처리 장치.
  4. 삭제
  5. 삭제
KR1020050006940A 2005-01-26 2005-01-26 실시간 윈도우 기반 영상 처리 장치 KR100523848B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050006940A KR100523848B1 (ko) 2005-01-26 2005-01-26 실시간 윈도우 기반 영상 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050006940A KR100523848B1 (ko) 2005-01-26 2005-01-26 실시간 윈도우 기반 영상 처리 장치

Publications (1)

Publication Number Publication Date
KR100523848B1 true KR100523848B1 (ko) 2005-10-26

Family

ID=37305686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050006940A KR100523848B1 (ko) 2005-01-26 2005-01-26 실시간 윈도우 기반 영상 처리 장치

Country Status (1)

Country Link
KR (1) KR100523848B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100942655B1 (ko) 2008-10-01 2010-02-17 성균관대학교산학협력단 실시간 영상 처리 장치 및 그 방법
US8340397B2 (en) 2006-06-29 2012-12-25 Sungkyunkwan University Foundation For Corporate Collaboration Extensible system and method for stereo matching in real-time

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340397B2 (en) 2006-06-29 2012-12-25 Sungkyunkwan University Foundation For Corporate Collaboration Extensible system and method for stereo matching in real-time
KR100942655B1 (ko) 2008-10-01 2010-02-17 성균관대학교산학협력단 실시간 영상 처리 장치 및 그 방법

Similar Documents

Publication Publication Date Title
US4907182A (en) System enabling high-speed convolution processing of image data
Schatz Low-latency histogram equalization for infrared image sequences: a hardware implementation
KR100523848B1 (ko) 실시간 윈도우 기반 영상 처리 장치
Malik et al. Real-time component labelling with centre of gravity calculation on FPGA
CN111210004A (zh) 卷积计算方法、卷积计算装置及终端设备
CN108198125B (zh) 一种图像处理方法及装置
JP2010511240A (ja) 形態学的マクロセルを用いる画像処理システム
Hedberg et al. Low-complexity binary morphology architectures with flat rectangular structuring elements
CN103400153A (zh) 一种用于实时图像识别的串行滤波匹配方法及***
Müller et al. NEROvideo: A general-purpose CNN-UM video processing system
Tan et al. Resource minimization in a real-time depth-map processing system on FPGA
Tickle et al. Development of morphological operators for field programmable gate arrays
Samarawickrama et al. FPGA-based compact and flexible architecture for real-time embedded vision systems
Wong et al. Towards a reconfigurable tracking system
Wiatr Pipeline architecture of specialized reconfigurable processors in FPGA structures for real-time image pre-processing
Alanazi Accelerated FPGA-Based Vector Directional Filter for Real-Time Color Image Denoising with Enhanced Performance.
Sayankar et al. Implementation of FPGA based hardware/software co-design SoC for median filter
Mefenza et al. Interface based memory synthesis of image processing applications in fpga
Kim et al. A real-time 3D image refinement using two-line buffers
Tsai et al. HDMI video scaling on an all-programmable SoC
Bharadwaj et al. Optimized FPGA implementation and synthesis of image segmentation techniques
Khalil et al. A hardware design and implementation for accelerating motion detection using (System On Chip) SOC
Djemal et al. A real-time image processing with a compact FPGA-based architecture
Monteiro et al. Image normalization in embedded systems
JPS58215813A (ja) デイジタル信号処理装置

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121018

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131007

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee