KR100206258B1 - 화상추출장치 - Google Patents

화상추출장치 Download PDF

Info

Publication number
KR100206258B1
KR100206258B1 KR1019920007152A KR920007152A KR100206258B1 KR 100206258 B1 KR100206258 B1 KR 100206258B1 KR 1019920007152 A KR1019920007152 A KR 1019920007152A KR 920007152 A KR920007152 A KR 920007152A KR 100206258 B1 KR100206258 B1 KR 100206258B1
Authority
KR
South Korea
Prior art keywords
coordinate data
coordinate
data
image
memory
Prior art date
Application number
KR1019920007152A
Other languages
English (en)
Other versions
KR930022815A (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 KR1019920007152A priority Critical patent/KR100206258B1/ko
Priority to JP4321341A priority patent/JPH0762795B2/ja
Priority to US07/982,386 priority patent/US5307454A/en
Publication of KR930022815A publication Critical patent/KR930022815A/ko
Application granted granted Critical
Publication of KR100206258B1 publication Critical patent/KR100206258B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Input (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 화상입력장치를 통하여 제공되는 원화상(original image)으로 부터 좌표데이타입력장치에 의해 지정되는 임의의 영역에 해당하는 국부화상을 추출하는 화상추출장치에 관한 것으로, 좌표데이타입력장치로 부터 제공되는 지정영역의 경계선을 이루는 화소들의 좌표데이타를 저장하는 좌표데이타저장부와, 이 좌표데이타저장부로부터 좌표데이타를 순차로 읽어들여 화상추출영역이 바람직하게 지정되었는지를 검사하고 영역지정의 오류가 발생할 경우 그 오류를 교정하는 지정영역 교정부와, 상기한 좌표데이타저장부에 저장된 데이타를 x좌표 및 y좌표에 대하여 각각 오름차순으로 정렬(sorting)시키는 데이타정렬부와, y좌표값은 동일하고 x좌표값들이 연속적으로 증가 혹은 감소하는 소정 군(group)의 복수의 좌표데이타중 x좌표값이 최소인 것을 제외하고 나머지 좌표데이타를 제거하는 인접좌표데이타제거부와, 좌표데이타중 최대변곡점 및 최소변곡점에 해당하는 데이타를 검색하여 제거하는 변곡점좌표데이타제거부와, 수직동기신호(Vsync)및 수평동기신호(Hsync)들을 생성해내는 동기신호발생부와, 수직동기신호 및 수평동기신호들을 래치하는 래치부와, 이 래치부로부터 제공되는 수직동기신호와 수평동기신호들을 각각 논리합하는 오버게이트(OR gate)회로로 구성되는 것이 특징이다.

Description

화상추출장치
제1도는 본 발명을 포함한 화상처리시스템의 구성을 개략적으로 나타낸 블럭도.
제2도는 지정영역의 검출 및 교정과정을 설명하기 위한 흐름도.
제3도는 제1도에 있어서 데이타정렬부(150)의 실시예를 나타낸 도면.
제4a도는 화상추출영역의 지정에 따른 추출영역의 경계선을 이루는 화소들의 각각에 해당하는 좌표데이타를 시각적으로 설명하기 위한 도면.
b도는 y좌표값들이 동일하고 x좌표값들이 연속되는 복수의 좌표데이타중 x좌표값이 최소인 것을 제외한 나머지 좌표데이타를 제거한 상태를 설명하기 위한 도면.
c도는 제1도에 있어서 인접좌표데이타제거부(400)의 실시예를 나타낸 도면.
제5a도 내지 d도는 최소변곡점 및 최대변곡점에 해당하는 좌표데이타를 검출하여 제거하는 과정을 설명하기 위한 도면 및 흐름도.
제6도는 제1도에 있어서 동기신호발생부(600)의 실시예를 나타낸 도면.
제7도는 화상추출영역의 지정에 따른 수직동기신호 및 수평동기신호들의 파형도.
* 도면의 주요부분에 대한 부호의 설명
10 : 좌표데이타입력장치 20 : 화상입력장치
30 : 중앙처리장치 40 : 입/출력디코더
50 : 좌표데이타저장부 60 : 오어게이트회로
70 : 데이타버퍼 80 : 화상출력장치
100 : 지정영역교정부 150 : 데이타정렬부
200 : y좌표값정렬기 300 : x좌표값정렬기
400 : 인접좌표데이타제거부 500 : 변곡점좌표데이타제거부
600 : 동기신호발생부 650 : 래치부
본 발명은 화상처리시스템에 관한 것으로, 더 구체적으로 스캐너(scanner) 혹은, 디지탈 복사기(digital copier)의 화상 입력장치(graphic input device)등을 통하여 입력되는 원화상(original image)으로부터 그래픽 태블릿(graphics tablet)과 같은 좌표데이타입력장치(coordinate date input device)에 의해 지정된 임의의 영역에 해당하는 국부화상만을 추출해 내는 화상추출장치에 관한 것이다.
종래의 기술에서는 좌표데이타입력장치로부터 추출영역을 지정하는 추출영역을 지정하는 좌표데이타가 입력되는 지정영역의 내부에는 '1'을 할당하고 외부에는 '0'을 할당하는 비트스트림(bit stream)을 구성한 후, 이 비트 스트림과 화상입력장치로부터 제공되는 화상데이타를 논리곱함으로써 원하는 부분의 국부화상만을 추출해내는 방식을 채용하였다.
그러나, 이번 종래의 기술은 상기한 비트스트림을 구축하기 위해 화상입력장치로부터 제공되는 화상데이타량과 동일한 용량을 갖는 메모리가 별도로 필요하게 되기 때문에 메모리를 구축하는 비용의 상승을 초래하는 단점이 있다.
이와 은 단점을 개선하기 위하여, 상술한 기술과는 달리 지정영역의 좌표데이타만 소정의 메모리에 저장시킨 후 지정영역에 해당하는 화상데이타가 입력될 때 주사라인(scanning line)별로 비트스트림을 형성하여 원하는 영역의 화상을 추출하는 방식이 개발되었다.
그러나, 이 방식은 부분적으로 몇가지의 형태들로만 영역지정이 가능한 영역지정제한의 문제를 갖고 있다.
본 발명의 목적은 지정영역의 경계선을 이루는 화소들과 관련된 좌표데이타만을 이용하여 간단히 임의의 국부화상을 추출함으로써 메모리의 낭비를 줄일 수 있고 비트스트림처리가 필요없는 화상추출장치를 제공하는 것이다.
본 발명의 다른 목적은 제어신호들만으로 지정된 영역에 속하는 화상데이타의 출력형태를 결정하여 실시간처리함으로써 고속화상처리시스템의 영역지정모듈로서 활용가능한 화상추출장치를 제공하는 것이다.
본 발명의 또 다른 목적은 지정영역의 형태에 제한을 받지 않는 화상추출장치를 제공하는 것이다.
상기한 목적들을 달성하기 위한 본 발명의 특성에 의하면, 본 발명의 장치는 화상추출시스템전체를 관리하고 작업수행에 필요한 모든 연산기능을 수행하는 중앙처리장치(cpu)와, 상기한 중앙처리장치의 지시에 응답하여 해당프로세서(processor)들에 의한 작업(process)수행의 시작과 종료를 알리는 입/출력 디코더와, 좌표데이타입력장치로 부터 제공되는 지정영역의 경계선을 이루는 화소들의 좌표데이타를 저장하는 좌표데이타저장부와, 이 좌표데이타저장부로부터 좌표데이타를 순차로 읽어들여 화상추출영역이 바람직하게 지정되었는지를 검사하고 영역지정의 오류가 발생한 경우 그 오류를 교정하는 지정영역 교정부와, 상기한 좌표데이타저장부에 저장된 데이타를 x좌표및 y좌표에 대하여 각각 오름차순으로 정렬(sorting)시키는 데이타정렬부와, y좌표값은 동일하고 x좌표값들이 연속적으로 증가 혹은 감소하는 소정 군(group)의 복수의 좌표데이타 중 x좌표값이 최소인 것(x축방향 즉, 주주사방향으로 주사(scan)할 때 가장 좌측에 존재하는 화소의 좌표데이타)을 제외한 나머지 좌표데이타를 제거하는 인접좌표데이타제거부와, 좌표데이타중 최대변곡점 및 최소변곡점에 해당하는 데이타를 검색하여 제거하는 변곡점좌표데이타제거부와, 지정영역에 속하는 국부화상만을 추출하여 화상추출장치를 통하여 출력하기 위한 제어신호들로서 사용되는 수직동기신호(Vsync)및 수평동기신호(Hsync)들을 생성해내는 동기신호발생부와, 이 동기신호발생부로부터 제공되는 상기한 수직동기신호 및 수평동기신호들을 래치하는 래치부와, 이 래치부로부터 제공되는 수직동기시호와 수평동기신호들을 논리합하는 오어게이트(OR gate)회로 및, 상기한 오어게이트회로의 출력신호에 의해 화상입력장치로부터 제공되는 화상데이타 중 지정영역에 속하는 화상데이타만을 선별하여 화상출력장치로 제공하는 데이타버퍼(databuffer)를 포함한다.
이제부터 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
제1도는 본 발명을 포함하는 화상처리시스템의 구성을 개략적으로 나타낸 도면으로, 참조번호 10은 추출영역을 지정하기 위한 좌표데이타입력장치를 나타낸 것이고, 20은 화상입력장치, 30은 시스템을 관리하고 각종연산을 수행하는 중앙처리장치(cpu), 40은 입/출력디코더(I/O decoder), 50은 지정영역의 경계선 좌표데이타를 저장하는 좌표데이타저장부, 70은 데이타버퍼, 80은 화상출력장치, 100은 지정영역교정부, 150은 데이타정렬부, 400은 인접좌표데이타제거부, 500은 변곡점좌표데이타제거부, 600은 동기신호발생부, 650은 래치부를 각각 나타낸 것이다.
제1도를 보면, 본 발명의 각 구성요소들은 시스템버스를 통하여 상호연결되어 있음을 알 수 있다.
각 구성요소들의 프로세스(process)수행의 시작 및 종료는 중앙처리장치(30)의 지시에 따르는 입/출력디코더(40)의 제어에 의해 결정된다.
제1도를 참조하여 본 발명의 동작원리를 상세히 설명한다.
국부화상의 추출을 위한 영역을 지정하는 좌표데이타입력장치(10)로부터 제공되는 지정영역의 경계선을 이루는 화소들의 좌표데이타는 좌표데이타저장부(50)에 순차로 저장된다.
상술한 지정영역의 경계선에 대한 좌표데이타의 저장이 완료되면 중앙처리장치(30)는 입/출력디코더(40)를 통하여 각 프로세서들에게 좌표데이타의 저장이 완료되었음을 알리고, 이어 지정영역교정부(100)에 저장된 프로그램을 수행하여 영역지정에 있어서 오류가 발생되었는지 여부를 검사하게 하고 오류가 발생되었음이 검출되는 경우에는 그 오류를 교정한다.
제2도를 참조하여 지정영역의 검출 및 교정과정에 대하여 구체적으로 설명한다.
국부화상을 추출하기 위한 지정영역은 시작점과 끝점이 일치하는 원과 같은 폐루프(closed loop)를 형성하여야 한다.
그러나, 사용자에 의해 지정영역이 폐루프로 형성되는 것을 기대하기는 사실상 어려우며, 통상적으로 사용자에 의한 지정영역의 형태는 제2도의 (a) 혹은 (b)에 나타낸 것과 같은 형태를 갖게 된다.
즉, 제2a도에 나타낸 바와 같이, 화상추출을 위한 영역이 시작점(S)과 교차점(P) 및 끝점(Q)으로 이루어진 폐루프의 형태로 지정되는 경우와, 제2b도에 나타낸 바와 같이 시작점(S) 및 끝점(Q)이 일치하지 않으면서 교차점(P)이 생기지 않는 개루프(open loop)의 형태로 지정되는 경우가 대부분이다.
전자의 경우에 있어서는 교차점(P)과 시작점(S) 및 , 교차점(P)과 끝점(Q) 사이의 불필요한 곡선들을 각각 제거해 주어야 하고, 후자의 경우에 있어서는 시작점(S)과 끝점(Q)을 지나는 직선의 방정식을 구하여 시작점(S)과 끝점(Q)을 연결하는 선을 보충함으로써 완전한 폐루프가 형성되게 하여야 한다.
이와 같은 지정영역의 검출 및 교정과정을 제2c도를 참조하여 상세히 설명하면 다음과 같다.
경계선의 좌표데이타의 총수가 N개라고 가정할 때 하나의 좌표데이타의 x좌표값을 x(i), y좌표값을 y(i)라면, 경계선의 시작점(S)의 좌표데이타값은 x(1), y(1)이고, 끝점(Q)의 좌표데이타값은 x(N), y(N)이 된다.
중앙처리장치(30)는 좌표데이타저장부(50)로 부터 지정영역의 경계선의 각 좌표데이타를 순차로 읽어들여 교차점(P)이 발생하는지 여부를 검사한다.
복수의 경계선데이타중 첫번째 좌표데이타(x(1), y(1))를 읽어들이고 나서 바로 다음에 이어지는 좌표데이타(x(2), y(2))를 읽어들여 동일한지 여부를 판단한다(102).
동일하지 않은 경우에는 다음 좌표데이타를 읽어들여 다시 동일여부를 판단한다(102~104).
이와 같은 동작을 계속 반복하여 최종 좌표데이타까지 비교를 완료할 때까지 교차점이 발견되지 않으면 즉, 첫번째 좌표데이타에 대한 검사가 끝나면 두번째 좌표데이타에 대한 검사를 시작한다(105).
두번째 좌표데이타에 대한 검사도 상기한 과정들과 동일한 방법으로 수행된다.
두번째 좌표데이타에 대한 교차점 발생여부의 검사가 완료되면 동일한 방법으로 세번째, 네번째....최종 좌표데이타(x(N), y(N))에 대한 교차점 발생여부를 검사한다.
이상과 같은 검사과정에서 교차점이 있다고 판정하는 경우 즉, 단계 102에서 예인 경우에는 시작점(S)과 교차점(P)사이의 곡선에 해당하는 좌표데이타와 교차점(P)과 끝점(Q)사이의 곡선에 해당하는 좌표데이타를 좌표데이타저장부(50)로부터 제거한다(140).
만일, 제2b도와 같이, 지정영역이 교차점이 검출되지 않는 개루프를 형성하는 경우 즉, 단계 106에서 예인 경우에는 시작점(S)의 좌표데이타(x(1),y(1))를 변수 X1, Y1에 각각 할당하고 끝점(Q)의 좌표데이타(x(N),y(N))를 다른 변수 X2, Y2에 각각 할당한다(110).
이어, 직선의 방정식를 이용하여 시작점(S)과 끝점(Q)를 지나는 직선의 식을 구한다(120).
구간(X1,Y1), (X2,Y2), (X1,Y2), (X2,Y2)로 이루어지는 사각형 내에서 상기한 직선의 방정식에 해당하는 좌표데이타값들을 새로이 추가하여 좌표데이타저장부(50)에 저장한다(130).
이상에서 설명한 지정영역의 보정이 완료되면 중앙처리장치(30)는 입/출력디코더(40)를 통하여 데이타정렬부(150)에 제어신호들을 제공함으로써 좌표데이타의 정렬(sorting)을 위한 프로세스가 수행되게 한다.
좌표데이타의 정렬은 오름차순으로 수행되며 좌표데이타의 y좌표값들에 대한 정렬이 먼저 실시된후 동일한 y좌표값을 갖는 좌표데이타의 x좌표값들에 대한 정렬이 실시된다.
제3도는 제1도에 도시된 데이타정렬부(150)의 바람직한 실시예를 나타낸 것이다.
제3도를 참조하면 데이타정렬부(150)에 대하여 상세히 설명한다.
데이타정렬부(150)는 비교기(201)와, 메모리(230)와, 4개의 버퍼(220~223)와, 2개의 카운터(203,204)와, 분주회로(202)와, 지연회로들(206,207) 및 논리게이트회로들(205,210~213)로 구성된다.
클럭(CLK)을 받아들여 4분주하는 분주회로(202)의 정출력단(CLK4) 및 부출력단에는 지연회로들(206, 207)이 각각 연결된다.
클럭신호(CLK)를 반전시키는 인버터 205의 출력단에는 비교기201의 인에이블단자(En)가 연결된다.
상기한 비교기 201의 두입력단자들 중 하나의 입력단자(D1)는 메모리 230의 출력단자(Dout)에 연결되며 다른 하나의 입력단자(D2)는 좌표데이타저장부(50)의 출력단자(Dout)에 연결된다.
오어게이트회로 210 및 211의 두입력단자들중 하나는 상기한 비교기 201의 출력단자와 각각 연결되고 다른 하나는 지연회로 206 및 207의 출력단자들과 각각 연결된다.
앤드게이트회로 212의 두 입력단자들 중 하나는 클럭단자(208)와 연결되고 다른 하나는 지연회로 206의 출력단자와 연결된다.
카운터 203의 로드단자(LD)는 클럭단자(208)와 연결되고 13개의 출력단자들 ADDR은 버퍼 222의 입력단자들과 연결된다.
카운터 204의 프리세트단자는 접지되고 카운터 204의 로드단지(LD)는 카운터 203의 리플캐리(ripple carry)단자 TC와 연결되며 카운터 204의 13개의 출력단자들 ADDR은 버퍼 223의 입력단자들과 연결된다.
카운터 204의 13개의 출력단자들 ADDR중 최상위비트(MSB : most significant bit)를 출력하는 단자는 카운터 203의 프리세트단자와 연결된다.
버퍼 220의 입력단자들은 메모리 230의 출력단자들 Dout과 연결되고 버퍼 221의 입력단자들은 좌표데이타저장부(50)의 출력단자들과 연결된다.
메모리 230의 입력단은 버퍼 221의 출력단과 연결되고 좌표데이타저장부(50)의 입력단은 버퍼 220의 출력단과 연결된다.
버퍼 220 내지 222의 각 인에이블단자(En)들은 게이트회로 210 내지 212의 출력단자들과 각각 연결되고 버퍼 223의 인에이블단자(En)는 지연회로 207의 출력단자와 연결된다.
이상에서 설명한 바와 같은 구성을 갖는 데이타정렬부(150)의 동작원리를 제3도를 참조하여 설명한다.
앞서 설명한 바와 같이 지정영역교정부(100)에 의한 영역지정의 교정이 완료되면, 중앙처리장치(30)는 입/출력디코더(40)를 통하여 데이타정렬부(150)의 작업수행을 지시한다.
이때부터 데이타정렬부(150)에는 클럭이 제공된다.
정렬작업은 1차로 y좌표값에 대하여 수행되고 이어 x좌표값에 대하여 수행된다.
좌표데이타저장부(50)에 저장된 좌표데이타의 y좌표데이타에 대한 정렬과정을 설명한다.
카운터 203 및 204의 계수출력들은 각각 버퍼 222 및 223으로 제공된다.
상기한 버퍼 222 및 223의 출력들은 메모리액세스를 위한 어드레스로서 좌표데이타저장부(50)에 제공된다.
카운터 203 및 204가 작동되면 그들의 계수출력값에 해당하는 어드레스영역에 저장된 좌표데이타가 좌표데이타저장부(50)로부터 비교기 201의 입력단 D2로 제공됨과 동시에 메모리 230에 저장된 최소 좌표데이타가 상기한 비교기 201의 다른 입력단 D1으로 제공된다.
상기한 메모리 230은 현재까지의 프로세스 수행단계에서 좌표값이 최소인 데이타를 저장하는 기능을 갖는다.
좌표값에 대한 비교동작이 수행되기 바로 전까지의 비교된 복수의 좌표데이타 중 그 값이 최소인 좌표데이타가 메모리 230에 저장된다.
비교기 201은 카운터 203 및 204에 의해 지정된 위치에 저장된 좌표데이타저장부(50)의 y좌표값이 메모리 230로부터 제공되는 좌표데이타의 y좌표값보다 작은지를 비교한다.
그 결과, 좌표데이타저장부(50)로부터 제공되는 좌표데이타의 y좌표값(이하 비교좌표값이라 함)이 메모리 230으로부터 제공되는 좌표데이타의 y좌표값(이하 기준 좌표값이라 함)보다 큰 경우에는 상기한 비교기 201의 출력은 'H(high)레벨'상태가 된다.
따라서, 오어게이트회로 210 및 211의 출력들은 모두 'H레벨'상태가 되어 버퍼220 및 221은 디스에이블(disable)상태가 된다.
그 결과 버퍼 220 및 221은 동작되지 않고 버퍼 222 및 223을 통하여 제공되는 카운터 203 및 204의 출력들에 해당하는 어드레스영역의 새로운 좌표데이타가 좌표데이타저장부(50)로부터 비교기(201)로 제공된다.
이때, 좌표데이타저장부(50)로부터 제공된 새로운 비교좌표값이 메모리(230)로부터 제공된 기준좌표값보다 크지 않은 경우에는 비교기(201)의 출력은 'L레벨'상태가 된다.
그 결과, 오어게이트회로 210 및 211의 출력들은 지연회로 206 및 207을 통하여 지연된 4분할클럭에 의해 'L레벨'이 된다.
따라서, 버퍼 220 및 221은 인에이블상태가 된다.
이때, 좌표데이타저장부(50)로부터 제공되는 좌표데이타가 새로운 최소좌표데이타로서 메모리(230)에 저장됨과 동시에, 좌표데이타는 카운터 203이 지정하는 좌표데이타저장부(50)의 어드레스영역내에 저장된다.
상기한 카운터 203은 비교기 201에 의해 각 좌표데이타에 대한 비교좌표값과 기준좌표값의 비교동작이 한번씩 수행된 다음 논리적인 '0' 또는 1L레벨'로 리세트(reset)된다.
카운터 204는 상기한 카운터 203이 지정할 수 있는 범위의 어드레스지정이 완료될때마다 1씩 증가하게 된다.
상기한 카운터 204의 출력단자들(ADDR)중 최상위비트를 출력하는 단자가 커운터 203의 프리세트단자에 연결되어 있기 때문에, 좌표데이타저장부(50)에 저장되어 있는 좌표데이타의 총수가 N개라고 할때 카운터 203이 N번 계수되면 y좌표값이 현단계에서 최소인 좌표데이타가 선정되어 좌표데이타저장부(50)의 0번지에 기입된다.
이어, 카운터 203의 계수값은 1이 되고, 상기한 카운터 203의 N-1번의 계수에 의해 다시 현단계에서 y좌표값이 최소인 좌표데이타가 선정되어 좌표데이타저장부(50)의 1번지에 기입된다.
이어, 카운터 203의 계수값은 2가 되고, N-2번의 계수에 의해 새로운 좌표데이타가 선정되어 좌표데이타저장부(50)의 2번지에 기입된다.
이상과 같은 동작이 반복되어 N × N번의 계수가 완료되면 좌표데이타저장부(50)의 0번지 부터 N-1번지까지의 영역에 좌표데이타가 y좌표값에 대해 오름차순으로 재배열된다.
이상에서 설명한 바와 같이 y좌표값에 대해 오름차순으로 지정영역의 경계선과 관련된 좌표데이타의 재배열이 완료되면, x좌표값에 대한 재배열작업이 수행된다.
x좌표값에 대한 좌표데이타의 재배열작업은 y좌표값이 동일한 좌표데이타간에 수행되는 것을 제외하고는 y좌표값에 대한 좌표데이타의 재배열원리와 동일하다.
또한, x좌표값에 대한 좌표데이타의 재배열을 위한 하드웨어적인 구성이 제3도에 나타낸 구성과 동일하기 때문에 본 명세서에서 상세한 설명을 생략한다.
이상에서 설명한 바와 같이, 국부화상의 추출을 위한 지정영역의 경계선과 관련된 좌표데이타의 재배열이 완료되면, 인접좌표데이타제거부(400)에 의해 y좌표값들이 동일하고 x좌표값들이 연속되는 복수의 좌표데이타중 x좌표값이 최소인 것을 제외한 나머지 좌표데이타가 제거된다.
제4a도는 화상추출영역의 지정에 따른 추출영역의 경계선과 관련된 좌표데이타를 시각적으로 나타낸 도면으로 체크(V)표시가 된 좌표데이타가 제거대상이 된다.
제4도의 (b)는 y좌표값들이 동일하고 x좌표값들이 연속되는 복수의 좌표데이타 중 x좌표값이 최소인 것을 제외한 나머지 좌표데이타를 제거한 상태를 나타낸 도면이다.
제4도의 (c)도는 인접좌표데이타제거부(400)의 바람직한 실시예를 나타낸 도면이다.
제4도의 (a) 및 (c)를 참조하여 인접좌표데이타제거부(400)에 대하여 상세히 설명한다.
먼저, 구성을 살펴보면, 인접좌표데이타제거부(400)는 3개의 카운터(410,411,450)와, 2개의 메모리(470,480)와, 비교기(430)와, 버퍼(440)와, 가산기(460)와, 지연회로(402) 및, 게이티회로들(401,403,404,405)로 구성된다.
카운터 410의 로드단자(LD)에는 클럭단자(208)가 연결되고 캐리단자(TC)는 카운터(411)의 로드단자(LD)와 연결된다.
이 카운터(410,411)의 출력단자(ADDR)는 좌표데이타저장부(50)의 어드레스단자와 각각 연결된다.
좌표데이타저장부(50)의 데이타출력단자(Dout)는 비교기(430)의 일입력단자(B)와 연결됨과 아울러 메모리(470)의 입력단자와 연결되고, 버퍼(440)를 통하여 메모리(480)의 데이타입력단자(Din)와 연결된다.
비교기(430)의 다른 입력단자(A)는 메모리(470)의 데이타출력단자와 연결되는 가산기(460)의 출력단자와 연결되며, 메모리(480)의 어드레스단자는 카운터(450)의 출력단자와 연결된다.
지연소자(402)의 출력단과 비교기(430)의 출력을 반전시키는 인버터(403)의 출력단은 오어게이트회로(404)의 두입력단과 각각 연결된다.
이상과 같은 구성을 갖는 인접좌표데이타제거부(400)의 작용특성을 설명한다.
제4도의 (c)에서, 카운터 410과 411에 의해 어드레스 지정된 좌표데이타저장부(50)의 영역에 있는 데이타가 비교기 430의 입력단 B에 제공되고 메모리 470에 저장되었던 데이타는 가산기 460에 의해 x좌표데이타값에 1이 가산된 데이타값으로 출력되어 비교기 430의 입력단 A로 제공된다.
이때, 비교기 430의 두입력단 A와 B로 각각 제공되는 두 데이타가 동일하지 않으면 즉, 두 데이타가 인접화소들의 좌표데이타가 아니라면 비교기(430)의 출력은 1로 세트된다.
비교기(430)의 출력은 반전기 403에 의해 0으로 세트되어 오어게이트회로 404의 일입력단으로 제공되고, 다른 입력단에는 지연소자 402를 통하여 클럭신호(CLK)가 제공된다.
지연소자 402에 의해 지연된 클럭신호(CLK)에 동기되어 출력되는 오어게이트회로(404)의 출력은 메모리 480을 기입모드(write mode)로 만들어줌으로써 좌표데이타저장부(50)로부터 제공되는 데이타가 메모리 480에 기록됨과 동시에, 또한 앤드게이트회로 405의 출력에 의해 메모리 470에도 기록됨으로써 다음데이타와 비교할 때 참조된다.
비교기 430의 두 입력단 A와 B로 각각 제공되는 두 데이타가 동일한다면 즉, 두 데이타가 인접화소들의 좌표데이타이라면, 상기 비교기(430)의 출력은 0으로 세트된다.
그 결과 오어게이트회로 404와 버퍼 440 및 카운터 450이 디스에이블상태가 되기 때문에 메모리 480의 어드레스는 증가하지 않고 메모리 480으로의 기입동작이 수행되지 않기 때문에 인접화소의 좌표데이타가 제거된다.
단지, 메모리 470에는 다음 좌표데이타와 비교하기 위해 기입동작이 수행된다.
좌표데이타 전체에 대하여 이와 같은 동작을 계속 수행하면 제4도의 (b)와 같은 결과를 얻게 된다.
이상에서 설명한 바와 같은 동작이 완료되면 인접좌표데이타제거부(400)는 cpu(3)에 인터럽트(interrupt)를 걸어 동작의 완료를 알려준다.
cpu(3)는 인접좌표데이타제거부(400)로부터 인터럽트가 들어오면 변곡점좌표데이타제거부(500)에 저장된 소프트웨어모듈(software module)을 구동시켜 현 좌표데이타중 최대변곡점 및 최소변곡점에 해당하는 좌표데이타를 찾아 제거하도록 한다.
제5도의 (a)와 (b)는 변곡점 좌표데이타를 제거하기 전과 후의 데이타배열을 2차원적으로 나타낸 도면이며, (c)와 (d)는 최소변곡점 및 최대변곡점에 해당하는 좌표데이타를 제거하는 과정을 설명하기 위한 흐름도를 각각 나타낸 것이다.
제5도를 참조하면 변곡점좌표데이타제거부(500)의 동작에 대하여 상세히 설명한다.
제5도의 (a)에서, *표시한 부분의 좌표데이타가 최대변곡점들 혹은 최소변곡점들로서 이들 좌표데이타가 제거의 대상이 된다.
제5도의 (c)를 참조하여 최소변곡점들의 좌표데이타를 검출하여 제거하는 과정을 설명한다.
먼저, y좌표가 동일한 각 x좌표 x(i)를 대상으로 바로 이전의 y좌표상에 있는 좌표상에 있는 x좌표가 x(i)가 현재라인의 x좌표 x(i)와 좌우로 최단거리에 존재하는 좌표인지를 조사한다.
즉, 현재의 좌표 x(i), y(i)에 대하여 좌표 x(i-p), y(j-1)(여기서, p=0, 1, 2... i-1)가 좌표 x(i), y(i)의 최단좌측좌표이고(503), 좌표 x(i+q), y(j-1)(여기서, q=1, 2,... N-i, N은 동일 y좌표상에 존재하는 화소들의 갯수)가 좌표 x(i), y(j)의 최단우측좌표이라면(510), 현재 좌표 x(i), y(j)의 화소는 최소변곡점화소로 판정되어 그 화소의 좌표데이타값은 제거된다(513).
제5도의 (d)를 참조하여 최대변곡점의 좌표데이타를 검출하여 제거하는 과정을 설명한다.
상술한 최소변곡점의 좌표데이타를 제거하는 방법과 마찬가지로, 최대변곡점은 현재의 y좌표상에 있는 x좌표 x(i)에 대해 다음 라인의 x좌표들 x(i)와 좌우로 최단거리에 존재하는 좌표인지를 조사한다.
즉, 현재의 좌표 x(i), y(j)라 할때 좌표 x(i-p), y(j+1)(여기서, p=0, 1, 2,...i-1)가 현재좌표 x(i), y(j)의 최단좌측좌표이고(523), 좌표 x(i+q), y(j+1)(여기서, q=1, 2,...N-i)가 현재좌표 x(i), y(j)의 최단우측좌표라면(530), 현재좌표 x(i), y(j)에 해당하는 화소는 최대변곡점화소로 판정되어 죄표데이타가 제거된다.
제5도의 (b)는 최소 및 최대변곡점들을 제거한 좌표데이타의 배열을 나타낸 것이다.
이상에서 설명한 과정이 종료되면 cpu(3)는 좌표데이타로부터 영역제어신호 Vsync와 Hsync를 발생시키기 위하여 동기신호발생부(600)를 구동시킨다.
제6도는 동기신호발생부(600)의 상세회로도를 나타낸 것이다.
동기신호발생부(600)는 선택기(601)와, 카운터(602)와, 메모리(480)와, 비교기(610,611)및, 플립플롭(620,621)으로 구성된다.
제6도를 참조하여 동기신호발생부의 동작을 설명한다.
cpu(3)의 제어에 의해 발생되는 CLK에 동기되어 카운터 602가 구동된다.
카운터 602의 출력은 좌표데이타가 저장된 메모리 480의 어드레스로서 메모리 480에 제공된다.
메모리 480으로부터의 데이타독출 동작은 클럭 CLK에 동기되어 동작되는 선택기(601)의 제어신호에 의하여 수행된다.
메모리(480)로부터 출력되는 좌표데이타는 각각 x좌표데이타와 y좌표데이타로 분리되어, 비교기 610의 입력단 B에는 y좌표데이타가 제공되고 비교기 611의 입력단 B에는 x좌표데이타가 제공된다.
비교기 610의 입력단 A에는 현재 화상입력장치(2)를 통하여 입력되고 있는 화상의 y좌표데이타 VyCLK이 제공되고 비교기 611의 입력단 A에는 현재 입력되고 있는 화상의 x좌표데이타 VxCLK이 제공된다.
비교기 610 및 611의 출력은 x 및 y좌표데이타 VxCLK및 VyCLK에 의하여 제어된다.
수직동기신호 Vsync는 추출영역의 최소 y좌표점에서 활성상태(active)가 되고 최대 y좌표점에서 비활성상태(inactive)가 되는데 이는 선택기(601)에 의해 제어된다.
수평동기신호 Hsync는 비교기 610 및 611에 의해 각각 동작되는 JK플립플롭 620 및 621에 수직동기신호 Vsync가 활성상태인 동안 동일 y좌표에 대하여 홀수번째 x좌표에서 활성상태가되고 짝수번째 x좌표에서 비활성상태가 된다.
동기신호발생부(600)에서 생성된 수직동기신호 Vsync 및 수평동기신호 Hsync는 래치 651 및 652에 각각 래치된 후 선택기(601)에 의해 제1도의 오어게이트회로(60)로 제공된다.
오어게이트회로(60)로부터 출력되는 수직동기신호 Vsync와 수평동기신호 Hsync의 논리합에 의한 신호는 데이타버퍼(70)에 저장된 화상데이타가 출력장치로 전달되도록 하는 것을 제어하는 신호로서 사용된다.
제7도는 어떤 화상영역에서 임의의 국부영역이 추출영역으로 지정된 경우를 예로서 설명하기 위한 도면으로서, 좌측의 화상(701)과 같은 국부영역이 지정되었다면 수직동기신호 Vsync는 ⓞ과 ①의 구간에서만 0으로 활성상태가 되고 복수의 수평동기신호 Hsync(...,703,704,705,706,...)는, 구체적으로 수평동기신호 704를 참조하여 설명하면, A(홀수번째 x좌표)점에서 활성상태가 되고 B(짝수번째 x좌표)점에서 비활성상태가 되어 다시 C(짝수번째 x좌표)점에서 활성상태가 되고 D(홀수번째 x좌표)점에서 비활성상태가 된다.
이상에서 설명한 바와 같이 생성되는 수직동기신호 Vsync 및 수평동기신호 Hsync는 제1도의 오어게이트회로(60)에 의해 화상영역추출을 위한 제어신호로 변환되어 데이타버퍼(70)를 제어하기 때문에 화상입력장치(20)로 부터 제공되는 화상데이타중 수직동기신호 Vsync와 수평동기신호 Hsync가 동시에 활성상태인 경우의 화상데이타만이 화상출력장치(80)로 전달된다.
이상에서 설명한 바와 같이 2개의 제어신호(Vsync, Hsync)에 의해 출력되는 화상데이타의 형태를 조절하는 본 발명은 다음과 같은 장점이 있다.
첫째, 실시간처리가 가능하므로 고속칼라복사장치에 적용이 가능하고, 둘째, 종래의 방식에 비해 메모리의 양을 줄일 수 있으며, 세째, 임의의 복잡한 형태의 영역지정도 가능하다.

Claims (4)

  1. 화상입력장치(20)를 통하여 제공되는 원화상으로부터 좌표데이타입력장치(10)에 의해 지정되는 임의의 영역에 해당하는 국부화상만을 추출하여 화상출력장치(80)로 제공하는 화상추출시스템에 있어서, 시스템전체를 관리하고 작업수행에 필요한 모든 연산 기능을 수행하는 중앙처리장치(30)와, 상기 중앙처리장치(30)의 지시에 응답하여 해당프로세서들에 의한 작업수행의 시작과 종료를 알리는 입/출력디코더(40)와, 상기 좌표데이타입력장치로부터 제공되는 지정영역의 경계선을 이루는 화소들의 좌표데이타를 저장하는 좌표데이타저장부(50)와, 상기 좌표데이타저장부(50)로부터 상기 좌표데이타를 순차로 읽어들여 화상추출영역이 바람직하게 지정되었는지를 검사하고 영역지정의 오류가 발생한 경우 그 오류를 교정하는 지정영역교정부(100)와, 상기 좌표데이타저장부(50)에 저장된 데이타를 x좌표 및 y좌표에 대하여 각각 오름차순으로 정렬시키는 데이타정렬부(150)와, y좌표값은 동일하고 x좌표값들이 연속적으로 증가 혹은 감소하는 소정 군의 복수의 좌표데이타중 x좌표값이 최소인 것을 제외한 나머지 좌표데이타를 제거하는 인접좌표데이타제거부(400)와, 좌표데이타중 최대변곡점 및 최소변곡점에 해당하는 데이타를 검색하여 제거하는 변곡점좌표데이타제거부(500)와, 지정영역에 속하는 국부화상만을 추출하여 상기 화상출력장치(80)을 통하여 출력하기 위한 제어신호들로서 사용되는 수직동기신호(Vsync)및 수평동기신호(Hsync)들을 생성해내는 동기신호발생부(600)와, 상기 동기신호발생부(600)로부터 제공되는 상기 수직동기신호 및 상기 수평동기신호들을 래치하는 래치부(650)와, 상기 래치부(650)로부터 제공되는 상기 수직동기신호와 상기 수평동기신호들을 각각 논리합하는 오어게이트회로(60) 및, 상기 오어게이트회로(60)의 출력신호에 의해 상기 화상입력장치(20)로부터 제공되는 화상데이타중 지정영역에 속하는 화상데이타만을 선별하여 상기 화상출력장치(80)로 제공되는 데이타버퍼(70)를 포함하는 것을 특징으로 하는 화상추출장치.
  2. 제1항에 있어서, 상기 데이타정렬부(150)는 외부로부터 제공되는 클럭(CLK)을 분주하는 분주수단(202)과, 상기 좌표데이타저장부(50)를 액세스하기 위한 어드레스를 발생시키는 어드레스발생수단(203,204)과, 좌표데이타중 최소 좌표데이타를 저장하는 메모리(230)와, 상기 좌표데이타저장부(50)로부터 제공되는 새로운 좌표데이타와 상기 메모리(230)에 저장된 좌표데이타의 대소를 비교하여 상기 새로운 좌표데이타가 작으면 상기 메모리(230)의 데이타를 좌표데이타저장부(50)에 저장한 후 상기 새로운 좌표데이타를 상기 최소 좌표데이타로서 상기 메모리(230)에 저장되게 하는 비교수단(201)을 포함하는 것을 특징으로 하는 화상추출장치.
  3. 제1항에 있어서, 상기 인접좌표데이타제거부(400)는 상기 좌표데이타저장부(50)를 액세스하기 위한 어드레스를 발생시키는 제1어드레스발생수단(410,411)과, 상기 y좌표값이 동일하고 상기 x좌표값이 연속되는 상기 복수의 좌표데이타중 상기 x좌표값이 최소인 상기 좌표데이타를 저장하는 제1메모리(470)와, 제2메모리(480)와. 상기 제1메모리(470)로부터 출력되는 데이타에 1을 가산하여 출력하는 가산수단(460)과, 상기 가산수단(460)의 출력 및 상기 좌표데이타저장부(50)의 출력이 동일한지 여부를 비교하는 비교수단(430)과, 상기 비교수단(430)의 출력에 의해 상기 좌표데이타저장부(50)의 출력을 상기 제2메모리(480)에 선택적으로 기입되도록 하는 제어수단(403,404,405,440) 및 상기 제2메모리(480)를 액세스하기 위한 어드레스를 발생시키는 제2어드레스발생수단(450)을 포함하는 것을 특징으로 하는 화상추출장치.
  4. 제1항에 있어서, 상기 동기신호발생부(600)는 클럭(CLK)에 동기되어 메모리(480)의 데이타독출동작을 제어하는 선택기(601)와, 상기 메모리(480)를 액세스하기 위한 어드레스를 발생시키는 어드레스발생수단(602)과, 상기 메모리(480)의 y좌표데이타와 화상의 y좌표데이타를 비교하는 제1비교수단(610)과, 상기 메모리(480)의 x좌표데이타와 화상의 x좌표데이타를 비교하는 제2비교수단(611)과, 상기 제1 및 제2비교수단(610,611)의 출력신호에 의해 수직동기신호 및 수평동기신호를 각각 발생시키는 플립플롭(620,621)을 포함하는 것을 특징으로 하는 화상추출장치.
KR1019920007152A 1992-04-28 1992-04-28 화상추출장치 KR100206258B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019920007152A KR100206258B1 (ko) 1992-04-28 1992-04-28 화상추출장치
JP4321341A JPH0762795B2 (ja) 1992-04-28 1992-11-05 画像抽出装置
US07/982,386 US5307454A (en) 1992-04-28 1992-11-25 Apparatus for extracting local image from original image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920007152A KR100206258B1 (ko) 1992-04-28 1992-04-28 화상추출장치

Publications (2)

Publication Number Publication Date
KR930022815A KR930022815A (ko) 1993-11-24
KR100206258B1 true KR100206258B1 (ko) 1999-07-01

Family

ID=19332381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920007152A KR100206258B1 (ko) 1992-04-28 1992-04-28 화상추출장치

Country Status (3)

Country Link
US (1) US5307454A (ko)
JP (1) JPH0762795B2 (ko)
KR (1) KR100206258B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216527A (ja) * 1992-02-03 1993-08-27 Fanuc Ltd グラフィック干渉チェック装置
US5774579A (en) * 1995-08-11 1998-06-30 Canon Kabushiki Kaisha Block selection system in which overlapping blocks are decomposed
US7218330B1 (en) * 2003-01-07 2007-05-15 Microsoft Corporation Method and system for selecting elements in a graphical user interface

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4103331A (en) * 1976-10-18 1978-07-25 Xerox Corporation Data processing display system
JPS60143341A (ja) * 1983-12-30 1985-07-29 Dainippon Screen Mfg Co Ltd 抜きマスク版の作製方法
JPS62187977A (ja) * 1986-02-13 1987-08-17 Dainippon Screen Mfg Co Ltd 画像デ−タ処理装置
JPS63618A (ja) * 1986-06-20 1988-01-05 Brother Ind Ltd ワ−ドプロセツサ
DE3752193T2 (de) * 1986-11-14 1998-11-12 Canon Kk Farbbildverarbeitungsgerät
JP2558682B2 (ja) * 1987-03-13 1996-11-27 株式会社東芝 知的ワ−クステ−シヨン
JP2802062B2 (ja) * 1987-07-22 1998-09-21 株式会社リコー デジタルカラー複写機
EP0336430B1 (en) * 1988-04-08 1994-10-19 Dainippon Screen Mfg. Co., Ltd. Method of extracting contour of subject image from original
JPH0820725B2 (ja) * 1990-02-06 1996-03-04 大日本スクリーン製造株式会社 画像輪郭データの作成方法

Also Published As

Publication number Publication date
US5307454A (en) 1994-04-26
JPH06161428A (ja) 1994-06-07
JPH0762795B2 (ja) 1995-07-05

Similar Documents

Publication Publication Date Title
US4280143A (en) Method and means for scale-changing an array of boolean coded points
KR100206258B1 (ko) 화상추출장치
US5014331A (en) Method of detecting an internal point within a closed area
US6356656B1 (en) Contour-information extraction apparatus and method
JPS6116347A (ja) メモリ走査装置
US5349369A (en) Image interpolation circuit
KR960012597B1 (ko) 특정화소 좌표 저장장치
JPH05127980A (ja) 画像処理装置
KR930010022B1 (ko) 이진 영상의 전처리 회로
JPH05274435A (ja) 画像処理装置
JPH05300378A (ja) 網点閾値発生方法
JPH0145665B2 (ko)
KR930022815A (ko) 화상추출장치
JPH06131431A (ja) 画像処理装置
JPH0420071A (ja) 画像処理装置
JPH0773319A (ja) 画像処理装置
JPS60236362A (ja) 画情報の処理方法
JPH011072A (ja) 画像処理装置
JPS6190276A (ja) 距離変換回路
JPH0213876B2 (ko)
JPH0364165A (ja) 画像処理装置
JPH011070A (ja) 画像処理装置
JPS6317162B2 (ko)
JPS5916472B2 (ja) 2値画像変換装置
JPH04259080A (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: 20090330

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee