KR20170021071A - 가는 선 검출 방법 및 이를 위한 장치 - Google Patents

가는 선 검출 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20170021071A
KR20170021071A KR1020150115416A KR20150115416A KR20170021071A KR 20170021071 A KR20170021071 A KR 20170021071A KR 1020150115416 A KR1020150115416 A KR 1020150115416A KR 20150115416 A KR20150115416 A KR 20150115416A KR 20170021071 A KR20170021071 A KR 20170021071A
Authority
KR
South Korea
Prior art keywords
thin line
candidate
shape
pixel value
forming apparatus
Prior art date
Application number
KR1020150115416A
Other languages
English (en)
Other versions
KR102130815B1 (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 KR1020150115416A priority Critical patent/KR102130815B1/ko
Priority to US15/076,940 priority patent/US20170053179A1/en
Publication of KR20170021071A publication Critical patent/KR20170021071A/ko
Application granted granted Critical
Publication of KR102130815B1 publication Critical patent/KR102130815B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • H04N1/0402Scanning different formats; Scanning with different densities of dots per unit length, e.g. different numbers of dots per inch (dpi); Conversion of scanning standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • H04N1/047Detection, control or error compensation of scanning velocity or position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10008Still image; Photographic image from scanner, fax or copier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30176Document

Abstract

화상 데이터 중에서 가는 선이 포함될 수 있는 후보 영역을 선택하는 단계, 후보 영역을 복수개의 세부 영역들로 분할하는 단계, 복수개의 세부 영역들의 화소값을 비교하여, 가는 선의 형태를 결정하는 단계, 및 화상 데이터로부터 결정된 형태를 갖는 가는 선을 검출하는 단계를 포함하는, 화상형성장치가 가는 선을 검출 방법을 개시한다.

Description

가는 선 검출 방법 및 이를 위한 장치 {Method and Apparatus for Detecting a Thin Line}
가는 선 검출 방법 및 이를 위한 장치에 관한 것이다. 구체적으로, 화상형성장치에서 화상 형성 시에 가는 선을 검출하는 방법 및 그 화상형성장치에 관한 것이다.
프린터는 이미지를 프린팅할 때 밝기를 표현하기 위해서 하프톤(halftone) 패턴을 이용한다. 다시 말해, 프린터는 복수의 점(dot)을 용지에 찍어냄으로써 이미지를 표현하는데, 이때 점의 개수를 조절하여 특정 부분에 얼마만큼 점을 조밀하게 찍어내느냐에 따라 이미지의 밝기 및 중간 농도를 표현하는 것을 하프토닝(halftoning)이라고 하며, 이렇게 형성된 패턴을 하프톤 패턴이라고 한다.
한편, 프린터에 의해 프링팅되어 하프톤 패턴을 포함하는 문서를 복사하는 경우, 문서를 스캐닝하여 화상 데이터를 획득하고, 획득한 화상 데이터를 복사기의 해상도에 따라서 하프토닝을 한다면, 문서를 프린팅한 프린터와 복사기간의 하프토닝 주파수 간섭으로 인하여 최종 출력 문서에 모아레(Moire) 현상이 나타날 수 있다. 따라서, 이러한 모아레 현상을 방지하기 위해서는 복사기의 해상도에 따라서 스캔 이미지를 하프토닝 하기 전에, 스캔 이미지에 포함된 하프톤 패턴을 제거하는 작업, 즉 디스크리닝(descreening) 작업을 수행한다. 한편, 일정 두께 이하의 가는 선(thin line)은 하프톤 패턴으로 오해될 수 있다. 따라서, 디스크크리닝 작업 수행시에 하프톤 패턴과 함께 제거될 수 있다.
가는 선을 검출하는 화상형성장치 및 이를 수행하는 방법을 제공한다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다. 개시된 실시예가 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 화상 데이터 중에서 가는 선이 포함될 수 있는 후보 영역을 선택하는 단계; 후보 영역을 복수개의 세부 영역들로 분할하는 단계; 복수개의 세부 영역들의 화소값을 비교하여, 가는 선의 형태를 결정하는 단계; 및 화상 데이터로부터 결정된 형태를 갖는 가는 선을 검출하는 단계를 포함하는, 화상형성장치가 가는 선을 검출하는 방법을 제공한다.
또한, 가는 선의 형태를 결정하는 단계는, 배경 영역들과 가는 선 영역들을 포함하는 가는 선 후보 형태에 대응되도록, 복수개의 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분하는 단계를 포함할 수 있다.
또한, 가는 선의 형태를 결정하는 단계는, 배경 후보 영역들에 대응되는 화소들의 화소값과 가는 선 후보 영역들에 대응되는 화소들의 화소값을 비교하여, 후보 영역에 포함된 가는 선이 가는 선 후보 형태에 매칭되는지 판단하는 단계; 및 가는 선이 가는 선 후보 형태에 매칭되면, 가는 선 후보 형태를 가는 선의 형태로 결정하는 단계를 포함할 수 있다.
또한, 매칭되는지 판단하는 단계는, 세부 영역 별 최소 화소값을 선택하여, 배경 후보 영역으로 구분된 세부 영역의 최소 화소값보다 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값이 더 작은지 여부를 비교하여, 가는 선의 형태가 가는 선 부호 형태에 매칭되는지 판단하며, 가는 선의 형태를 결정하는 단계는, 가는 선이 가는 선 후보 형태에 매칭되면, 가는 선을 가는 선 후보 형태를 갖는 포지티브 가는 선(positive thin line)으로 결정하는 것일 수 있다.
또한, 매칭되는지 판단하는 단계는, 세부 영역 별 최대 화소값을 선택하여, 배경 후보 영역으로 구분된 세부 영역의 최대 화소값보다 가는 선 후보 영역으로 구분된 최대 화소값이 더 큰지 여부를 비교하여, 가는 선이 가는 선 후보 형태에 매칭되는지 판단하며, 가는 선의 형태를 결정하는 단계는, 가는 선의 형태가 가는 선 후보 형태에 매칭되면, 가는 선을 가는 선 후보 형태를 갖는 네거티브 가는 선(negative thin line)으로 결정하는 것일 수 있다.
또한, 가는 선의 형태를 결정하는 단계는, 결정된 가는 선의 형태에 대응되는 화소들의 화소값들이 임계 범위 내인지 여부를 판단하여, 결정된 가는 선의 형태를 확인하는 단계를 더 포함할 수 있다.
또한, 가는 선을 검출하는 단계는, 화상 데이터의 저해상도 이미지에 포함된 가는 선의 형태가 결정된 가는 선의 형태와 일치하면, 가는 선을 검출하는 단계를 포함할 수 있다.
또한, 저해상도 이미지는, 화상 데이터의 화소들의 평균 화소값을 이용하여 생성된 이미지일 수 있다.
또한, 가는 선을 검출하는 단계는, 가는 선에 대응되는 화소들이 동일한 화소값을 갖도록 조정하는 단계를 더 포함할 수 있다.
또한, 후보 영역은, 화상 데이터에 포함된 화소들 중에서 주변 화소들과의 화소값 차이가 임계값 이상인 화소를 포함할 수 있다.
본 개시의 제 2 측면은, 화상 데이터 중에서 가는 선이 포함될 수 있는 후보 영역을 선택하고, 후보 영역을 복수개의 세부 영역들로 분할하며, 복수개의 세부 영역들의 화소값을 비교하여, 가는 선의 형태를 결정하고, 화상 데이터로부터 결정된 형태를 갖는 가는 선을 검출하는 제어부; 및 검출된 가는 선을 포함하는 화상 데이터를 출력하는 출력부을 포함하는 화상형성장치를 제공한다.
또한, 제어부는, 배경 영역들과 가는 선 영역들을 포함하는 가는 선 후보 형태에 대응되도록, 복수개의 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분할 수 있다.
또한, 제어부는, 배경 후보 영역들에 대응되는 화소들의 화소값과 가는 선 후보 영역들에 대응되는 화소들의 화소값을 비교하여, 후보 영역에 포함된 가는 선이 가는 선 후보 형태에 매칭되는지 판단하고, 가는 선이 가는 선 후보 형태에 매칭되면, 가는 선 후보 형태를 가는 선의 형태로 결정할 수 있다.
또한, 제어부는, 세부 영역 별 최소 화소값을 선택하여, 배경 후보 영역으로 구분된 세부 영역의 최소 화소값보다 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값이 더 작으면, 가는 선의 형태가 가는 선 후보 형태에 매칭되는 것으로 판단하고, 가는 선을 가는 선 후보 형태를 갖는 포지티브 가는 선(positive thin line)으로 결정할 수 있다.
또한, 제어부는, 세부 영역 별 최대 화소값을 선택하여, 배경 후보 영역으로 구분된 세부 영역의 최대 화소값보다 가는 선 후보 영역으로 구분된 최대 화소값이 더 크면, 가는 선이 가는 선 후보 형태에 매칭되는 것으로 판단하고, 가는 선을 가는 선 후보 형태를 갖는 네거티브 가는 선(negative thin line)으로 결정할 수 있다.
또한, 제어부는, 결정된 가는 선의 형태에 대응되는 화소들의 화소값들이 임계 범위 내인지 여부를 판단하여, 결정된 가는 선의 형태를 확인할 수 있다.
또한, 제어부는, 화상 데이터의 저해상도 이미지에 포함된 가는 선의 형태가 결정된 가는 선의 형태와 일치하는 경우, 가는 선을 검출할 수 있다.
또한, 저해상도 이미지는, 화상 데이터의 화소들의 평균 화소값을 이용하여 생성된 이미지일 수 있다.
또한, 제어부는, 가는 선에 대응되는 화소들이 동일한 화소값을 갖도록 조정할 수 있다.
본 개시의 제 3 측면은, 본 개시의 제 1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
도 1은 일 실시예에 따른 가는 선(thin line) 검출 방법을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 화상형성장치가 후보 영역을 선택하는 방법을 설명하는 도면이다.
도 3은 화상형성장치가 후보 영역을 세부 영역들로 분할하는 일례이다.
도 4는 일 실시예에 따라 화상형성장치가 세부 영역들의 화소값을 비교하여, 가는 선 후보의 형태를 결정하는 방법을 설명하는 흐름도이다.
도 5a 및 도 5b는 가는 선 후보 형태들의 일례이다.
도 6 및 도 7은 화상형성장치가 후보 영역에 포함된 가는 선이 도 5a 및 도 5b의 가는 선 후보 형태들 중 하나에 매칭되는지 판단하는 일례이다.
도 8은 다른 실시예에 따라 화상형성장치가 세부 영역들의 화소값을 비교하여 가는 선의 형태를 결정하는 방법을 설명하는 흐름도이다.
도 9는 화상형성장치가 후보 영역에 포함된 가는 선의 형태를 결정하는 일례이다.
도 10은 일 실시예에 따라 화상형성장치가 후보 영역에 포함된 가는 선이 연결되었는지 확인하는 방법을 설명하는 흐름도이다.
도 11은 화상형성장치가 후보 영역에 포함된 가는 선이 연결되었는지 확인하는 일례이다.
도 12는 일 실시예에 따라 화상형성장치가 가는 선의 형태를 검증하는 방법을 설명하기 위한 흐름도이다.
도 13은 화상형성장치가 저해상도 이미지를 이용하여, 가는 선의 형태를 검증하는 일례이다.
도 14는 일 실시예에 따라 화상형성장치(100)가 검출된 가는 선의 화소값들을 조정하여 출력하는 방법을 설명하기 위한 흐름도이다.
도 15는 화상형성장치가 화상 데이터를 출력한 일례이다.
도 16은 일 실시예에 따른 화상형성장치의 구성을 도시한 도면이다.
도 17은 도 16의 제어부를 상세하게 도시한 도면이다.
도 18은 화상형성장치의 구성을 상세하게 도시한 도면이다.
이하의 명세서에서 사용되는 용어들은 개시된 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 이하의 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 개시된 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 개시된 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 개시된 발명의 실시예에 대하여 개시된 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 개시된 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 개시된 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 가는 선(thin line) 검출 방법을 설명하기 위한 흐름도이다. 도 1에 도시된 방법은, 도 16에 도시된 화상형성장치(100)에 의해 수행될 수 있다. 한편, 화상형성장치(100)는 프린터, 스캐너, 복사기, 팩시밀리 및 이들의 기능을 통합 구현한 복합기(MFP) 등의 장치일 수 있다. 이하에서는, 설명의 편의를 위하여, 화상형성장치(100)가 도 1의 방법을 수행하는 것으로 가정한다.
도 1을 참조하면, 110단계에서, 화상형성장치(100)는 화상 데이터 중에서, 가는 선(thin line)이 포함될 수 있는 후보 영역을 선택한다. 이때, 화상 데이터는 복수개의 화소(pixel)들로 구성된 데이터로서, 예를 들어, 화상형성장치(100)에 의해 원본 문서가 스캐닝(scanning)되어 생성된 데이터일 수 있으며, 외부로부터 수신된 데이터일 수 있다. 또한, 가는 선(thin line)은, 1 내지 2 화소의 두께를 갖는 동일 또는 유사한 화소값을 갖는 화소들의 집합일 수 있으며, 주변 화소들에 비해 명도가 낮은 포지티브 가는 선(positive thin line) 및 주변 화소들에 비해 명도가 높은 네거티브 가는 선(negative thin line)으로 구분될 수 있다.
또한, 후보 영역은, 화상 데이터 중에서 가는 선이 포함될 것이라고 예상되는 NxN 화소 영역(예를 들어, 7x7 화소 영역 등)일 수 있다.
일 실시예에 따라, 화상형성장치(100)는 화상 데이터에 포함된 화소들의 화소값들을 제 1 임계값과 비교함으로써, 후보 영역을 선택할 수 있다. 여기서, 화소값은, 화상형성장치(100)가 RGB 색공간을 이용하는 경우, 적색(red), 녹색(green) 및 청색(blue) 채널(즉, RGB 채널) 별로 0x00~0xFF 사이의 8 비트 값으로 표현될 수 있으며, 이들을 조합한 24 비트 값(즉, 0x000000~0xFFFFFF) 또는 이들을 조합한 값에 투명도(opacity)값을 더 조합한 32 비트 값으로 표현될 수도 있다.
화상형성장치(100)는 화소들의 RGB 채널 별 화소값을 제 1 임계값(예를 들어, 0xB4)과 비교할 수 있다. 구체적으로, 화소의 RGB 채널 별 화소값이 제 1 임계값보다 모두 작은 경우(또는 모두 큰 경우), 화상형성장치(100)는 해당 화소를 가는 선에 포함될 수 있는 후보 화소로 선택할 수 있다. 이후, 화상형성장치(100)는 후보 화소의 주변 화소들의 RGB 채널 별 화소값을 제 1 임계값(예를 들어, 0xB4 등)과 비교할 수 있다. 이때, 해당 화소의 주변 화소들은, 해당 화소로부터 2 화소 이상 떨어진 곳에 위치하는 화소들일 수 있다. 화상형성장치(100)가 후보 화소의 주변 화소들의 화소값을 제 1 임계값과 비교하는 것은, 1 내지 2 화소의 두께를 갖는 가는 선이 포함되어 있는지 여부를 판단하기 위함일 수 있다. 따라서, 화상형성장치(100)는 주변 화소들의 RGB 채널의 화소값들 중 적어도 하나가 제1 임계값보다 큰 경우(또는 작은 경우), 후보 화소를 중심으로하는 후보 영역을 선택할 수 있다.
또는, 화상형성장치(100)는 후보 화소의 RGB 채널 별 화소값과 주변 화소들의 RGB 채널 별 화소값의 차이를 제 2 임계값(예를 들어, 0x20 등)과 비교할 수 있다. 만약, 후보 화소의 RGB 채널 별 화소값과 주변 화소들의 채널 별 화소값의 차이가 모두 제 2 임계값보다 큰 경우, 화성형성장치(100)는 후보 화소를 중심으로하는 후보 영역을 선택할 수 있다.
또한, 화상형성장치(100)는 후보 영역이 선택되면, 후보 영역의 중심에 위치하는 중심 화소의 화소값이 주변 화소들의 화소값보다 작은지 또는 큰지에 따라, 후보 영역에 포지티브 가는 선 또는 네거티브 가는 선이 포함된 것으로 예측할 수 있다.
한편, 실시예에 따라 화성형성장치(100)는 RGB 색공간 대신 CMYK 색공간을 이용할 수도 있다. 이 경우, 화성형성장치(100)는 화소의 시안(cyan), 마젠타(magenta), 노란색(yellow), 검정색(black) 채널 별 화소값을 임계값과 비교할 수 있다. 또는, 화성형성장치(100)는 HSI 색공간, YIQ 색공간, YUV 색공간, 또는 YCbCr 색공간 등을 이용할 수도 있다. 이 경우, 화성형성장치(100)는 각각의 색공간에 의해 정의되는 채널 별 화소값과 임계값을 비교할 수 있다.
120단계에서, 화상형성장치(100)는 후보 영역을 세부 영역들로 분할 할 수 있다. 화상형성장치(100)는 기 결정된 형태대로 후보 영역을 세부 영역들로 분할 할 수 있다. 예를 들어, 화상형성장치(100)는 후보 영역을 복수개의 화소들을 포함하는 2개 이상의 세부 영역들로 분할할 수 있다. 그러나, 화상형성장치(100)가 모든 후보 영역을 세부 영역들로 분할해야 하는 것은 아니며, 후보 영역 중 일부를 세부 영역들로 분할할 수 있다.
130단계에서, 화상형성장치(100)는 세부 영역들의 화소값을 비교하여, 가는 선의 형태를 결정한다.
일 실시예에 따라 화상형성장치(100)는 세부 영역들의 화소값을 비교함으로써, 후보 영역에 포함된 가는 선이 기 결정된 가는 선 후보 형태들 중 하나와 매칭되는지 판단할 수 있다. 여기서, 가는 선 후보 형태는 배경 영역들과 가는 선 영역들을 포함할 수 있다. 또한, 가는 선 후보 형태들은, 가는 선이 가질 수 있는 기울기(예를 들어, 0도, 22.5도, 45도, 67.5도, 90도, 112.5도, 135도, 157.5도 등)에 따라 서로 다른 배경 영역들 및 가는 선 영역들을 포함할 수 있다.
구체적으로, 화상형성장치(100)는 가는 선 후보 형태들 중에서 제 1 가는 선 후보 형태에 포함된 배경 영역들과 가는 선 영역들에 대응되도록, 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분할 수 있다. 여기서, 가는 선 후보 형태에 대응되도록 세부 영역들을 구분한다는 것은, 가는 선 후보 형태 내에서의 배경 영역의 위치와 후보 영역 내에서의 동일한 위치에 존재하는 세부 영역을 배경 후보 영역으로 구분하는 것일 수 있다.
화상형성장치(100)는 배경 후보 영역들에 대응되는 화소들의 화소값과 가는 선 후보 영역에 대응되는 화소들의 화소값을 비교하여, 후보 영역에 포함된 가는 선이 제 1 가는 선 후보 형태에 매칭되는지 판단할 수 있다. 이때, 화상형성장치(100)는 후보 영역에 포함된 가는 선이 포지티브 가는 선인지 또는 네거티브 가는 선인지 여부에 따라, 배경 후보 영역들에 대응되는 최소 화소값들 또는 최대 화소값들을, 가는 선 후보 영역들에 대응되는 최소 화소값들 또는 최대 화소값들과 비교할 수 있다.
또한, 화상형성장치(100)는 후보 영역에 포함된 가는 선이 제 1 가는 선 후보 형태에 매칭되면, 가는 선의 형태를 제 1 가는 선 후보 형태로 결정할 수 있다.
그러나, 후보 영역에 포함된 가는 선이 제 1 가는 선 후보 형태와 매칭되지 않으면, 화상형성장치(100)는 제 2 가는 선 후보 형태에 포함된 배경 영역과 가는 선 영역에 대응되도록, 세부 영역들을 다시 구분할 수 있다. 이와 같이, 화상형성장치(100)는 가는 선과 매칭되는 가는 선 후보 형태를 찾을 때까지 전술한 방법을 반복할 수 있다. 화상형성장치(100)가 가는 선 후보 형태들을 이용하여 가는 선의 형태를 결정하는 방법은, 도 4 내지 도 7에서 상세히 설명한다.
다른 실시예에 따라 화상형성장치(100)는 세부 영역 별 대표 화소값(최대 화소값 또는 최소 화소값)을 제 3 임계값과 비교하여, 세부 영역들을 배경 영역들과 가는 선 영역들로 구분할 수 있다. 이때, 제 3 임계값은, 제 1 임계값과 동일 또는 유사한 값(예를 들어, 제 1 임계값 ? 0x10)에 의해 결정될 수 있다. 화상형성장치(100)는 후보 영역의 중앙에 위치하는 화소와 가는 선 영역들을 연결하여 가는 선의 형태를 결정할 수 있다. 화상형성장치(100)가 세부 영역 별 대표 화소값을 이용하여 가는 선의 형태를 결정하는 방법은, 도 8 및 도 9에서 상세히 설명한다.
140단계에서, 화상형성장치(100)는 화상 데이터로부터 가는 선을 검출할 수 있다. 구체적으로, 화상형성장치(100)는 가는 선에 대응되는 화소들이 동일한 화소값을 갖도록 조정할 수 있다. 예를 들어, 화상형성장치(100)는 가는 선에 대응되는 화소들의 최대 화소값(또는 최소 화소값)을 추출하고, 가는 선에 대응되는 화소들의 화소값을 추출된 화소값으로 조정할 수 있다. 또한, 화상형성장치(100)는 가는 선이 선명하게 출력(또는 인쇄)될 수 있도록, 가는 선에 대응되는 화소들의 화소값을 조정할 수 있다.
또한, 화상형성장치(100)는 가는 선에 대응되는 화소들에 대한 디스크리닝(descreening) 작업을 생략할 수 있다. 여기서, 디스크리닝(descreening) 작업은, 모아레(Moire) 현상을 방지하기 위하여 화상 데이터에 포함된 하프톤(halftone) 패턴을 제거하는 작업일 수 있다. 일반적으로, 가는 선은 하프톤 패턴으로 오해되어 디스크리닝 작업 시에 삭제될 수 있다. 따라서, 화상형성장치(100)는 가는 선에 대응되는 화소들에 대한 디스크리닝 작업을 생략함으로써, 가는 선이 하프톤 패턴으로 오해되어 화상 데이터에서 제거되는 것을 방지할 수 있다.
도 2는 일 실시예에 따른 화상형성장치가 후보 영역을 선택하는 방법을 설명하는 도면이다.
도 2를 참조하면, 화상형성장치(100)는 화상 데이터(200)의 화소들의 화소값들을 제 1 임계값(예를 들어, 0xB4)과 비교할 수 있다. 예를 들어, 제 1 화소(210)는 RGB 채널 별 화소값으로 (0xBE, 0xC8, 0x96)을 가지므로, 제 1 화소(210)는 후보 화소로 선택되지 않는다. 따라서, 화상형성장치(100)는 다른 화소의 RGB 채널 별 화소값과 제 1 임계값을 비교할 수 있다.
반면에, 제 2 화소(220)는 RGB 채널들의 화소값 (0x64, 0x64, 0x64)을 가지므로, 화상형성장치(100)는 제 2 화소(220)의 주변 화소(221, 222)의 RGB 채널 별 화소값을 제 1 임계값과 비교할 수 있다. 만약, 주변 화소(221, 222)의 RGB 채널들의 화소값들 중 적어도 하나가 제 1 임계값보다 크면, 화상형성장치(100)는 제 2 화소(220)를 중심으로하는 7x7 화소 영역을 후보 영역(230)으로 선택할 수 있다. 이하에서는, 후보 영역(230)의 중앙에 위치하는 화소를 중심 화소라 한다.
한편, 중심 화소(220)의 화소값이 주변 화소(221,222)의 화소값보다 작으므로, 화상형성장치(100)는 후보 영역(230)이 포지티브 가는 선을 포함할 것으로 예측될 수 있다.
도 3은 화상형성장치가 후보 영역을 세부 영역들로 분할하는 일례이다. 도 3을 참조하면, 화상형성장치(100)는 후보 영역(230)을 16개의 제 1 내지 제 16 세부 영역(301 내지 316)으로 분할할 수 있다.
도 4는 일 실시예에 따라 화상형성장치가 세부 영역들의 화소값을 비교하여, 가는 선 후보의 형태를 결정하는 방법을 설명하는 흐름도이다.
도 4를 참조하면, 410단계에서, 화상형성장치(100)는 배경 영역들과 가는 선 영역들을 포함하는 가는 선 후보 형태에 대응되도록, 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분한다. 여기서, 가는 선 후보 형태는, 기 결정된 배경 영역들과 가는 선 영역들을 포함할 수 있으며, 예를 들어, 화상형성장치(100)는 도 5a 및 도 5b에 도시된 바와 같이 다양한 가는 선 후보 형태들(500-1 내지 500-12)을 가질 수 있다.
구체적으로, 화상형성장치(100)는 도 5a 및 도 5b에 도시된 가는 선 후보 형태들(500-1 내지 500-12) 중 하나에 포함된 배경 영역들과 가는 선 영역들에 대응되도록, 도 3의 세부 영역들(301 내지 316)을 구분할 수 있다.
420단계에서, 화상형성장치(100)는 배경 후보 영역들에 대응되는 화소들의 화소값과 가는 선 후보 영역들에 대응되는 화소값을 비교한다. 이때, 화상형성장치(100)는 후보 영역에 포함된 가는 선이 포지티브 가는 선으로 예측되는지 또는 네거티브 가는 선으로 예측되는지에 따라 비교 방법을 달리할 수 있다. 후보 영역에 포함된 가는 선이 포지티브 가는 선인지 또는 네거티브 가는 선인지 여부를 예측하는 방법은, 도 1의 110단계에서 설명되었으므로 자세한 설명은 생략한다.
구체적으로, 화상형성장치(100)는 가는 선이 포지티브 가는 선으로 예측되는 경우, 세부 영역 별로 최소 화소값을 선택할 수 있다. 또는, 후보 영역에 포함된 가는 선이 네거티브 가는 선으로 예측되는 경우, 화상형성장치(100)는 세부 영역 별로 최대 화소값을 선택할 수 있다.
화상형성장치(100)는 세부 영역 별 최소 화소값 또는 최대 화소값이 선택되면, 배경 후보 영역으로 구분된 세부 영역의 최소 화소값 또는 최대 화소값과, 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값 또는 최대 화소값을 비교할 수 있다.
예를 들어, 후보 영역에 포함된 가는 선이 포지티브 가는 선으로 예측되면, 화상형성장치(100)는 배경 후보 영역으로 구분된 세부 영역의 최소 화소값보다 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값이 더 작은지 여부를 비교할 수 있다. 또는, 후보 영역에 포함된 가는 선이 네거티브 가는 선으로 예측되면, 화상형성장치(100)는 배경 후보 영역으로 구분된 세부 영역의 최대 화소값보다 가는 선 후보 영역으로 구분된 세부 영역의 최대 화소값이 더 큰지 여부를 비교할 수 있다.
만약, 후보 영역에 포함된 가는 선이 포지티브 가는 선으로 예측되고, 배경 후보 영역에 대응되는 최소 화소값보다 가는 선 후보 영역에 대응되는 최소 화소값이 더 작으면, 430단계에서, 화상형성장치(100)는 가는 선이 가는 선 후보 형태에 매칭되는 것으로 판단하여 440단계를 수행한다. 그러나, 배경 후보 영역에 대응되는 최소 화소값보다 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값이 더 크면, 430단계에서, 화상형성장치(100)는 가는 선이 가는 선 후보 형태에 매칭되지 않는 것으로 판단하여, 410단계를 수행한다. 따라서, 화상형성장치(100)는 다른 가는 선 후보 형태에 따라 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분한다.
또는, 후보 영역에 포함된 가는 선이 네거티브 가는 선으로 예측되고, 배경 후보 영역에 대응되는 최대 화소값보다 가는 선 후보 영역에 대응되는 최대 화소값이 더 크면, 440단계에서, 화상형성장치(100)는 가는 선이 가는 선 후보 형태에 매칭되는 것으로 판단하여 440단계로 진행하고, 그렇지 않은 경우, 410단계를 수행한다.
이와 같이, 화상형성장치(100)는 가는 선이 가는 선 후보 형태에 매칭될 때까지 410단계 및 430단계를 반복 수행할 수 있다.
440단계에서, 화상형성장치(100)는 가는 선 후보 형태를 가는 선의 형태로 결정할 수 있다. 이때, 화상형성장치(100)는 가는 선이 가는 선 후보 형태를 갖는 포지티브 가는 선인지 또는 네거티브 가는 선인지 여부도 결정할 수 있다.
한편, 위 설명에서는 화상형성장치(100)가 세부 영역 별로 최소 화소값 또는 최대 화소값을 선택하는 것으로 설명하였으나, 이에 제한되지 않는다. 실시예에 따라 화상형성장치(100)는 세부 영역 별로 평균 화소값을 선택하고, 배경 후보 영역으로 구분된 세부 영역의 평균 화소값과 가는 선 후보 영역으로 구분된 세부 영역의 평균 화소값을 비교할 수도 있다.
도 5a 및 도 5b는 가는 선 후보 형태들의 일례이다. 도 5a 및 도 5b에 도시된 바와 같이, 제 1 내지 제 12 가는 선 후보 형태들(500-1 내지 500-12)은 가는 선이 가질 수 있는 기울기들에 따라, 서로 다른 배경 영역들 및 가는 선 영역들을 포함할 수 있다. 예를 들어, 제 1 내지 제 12 가는 선 후보 형태들(500-1 내지 500-12) 각각은 가는 선이 가질 수 있는 기울기 각도들, 즉, 0도, 12도, 22.5도, 45도, 67.5도, 80도, 90도, 102도, 112.5도, 135도, 157.5도 등에 따라 서로 다른 배경 영역들 및 가는 선 영역들을 포함할 수 있다.
도 6 및 도 7은 화상형성장치가 후보 영역에 포함된 가는 선이 도 5a 및 도 5b의 가는 선 후보 형태들 중 하나에 매칭되는지 판단하는 일례이다.
도 6을 참조하면, 화상형성장치(100)는 제 1 가는 선 후보 형태(500-1)에 포함된 가는 선 영역들 및 배경 영역들에 대응되도록, 도 3의 제 1 내지 제 16 세부 영역들(301 내지 316)을 배경 후보 영역들과 가는 선 후보 영역들로 구분할 수 있다. 구체적으로, 도 3의 제 1 내지 5 세부 영역(301 내지 305) 및 제 9 내지 제 13 세부 영역(309 내지 313)은 도 6의 제 1 내지 제 10 배경 후보 영역(601 내지 610)에 대응되며, 도 3의 제 7 및 15 세부 영역(307,315)은 도 6의 제 1 및 제 2 가는 선 후보 영역(611, 612)에 대응된다.
화상형성장치(100)는 제 1 내지 제 10 배경 후보 영역들(601 내지 610)에 대응되는 최소 화소값과 제 1 및 제 2 가는 선 후보 영역(611, 612)에 대응되는 최소 화소값을 비교할 수 있다. 예를 들어, 화상형성장치(100)는 모든 배경 후보 영역들(601 내지 610)의 화소값과 모든 가는 선 후보 영역들(611, 612)의 화소값을 비교할 수 있다.
도 6에서는, 제 5 및 제 10 배경 후보 영역의 최소 화소값(즉, 0x646464)보다 제 1 또는 제 2 가는 선 후보 영역(611 또는 612)의 최소 화소값(즉, 0xBEC896)이 더 크므로, 후보 영역(230)에 포함된 가는 선은 제 1 가는 선 후보 형태(500-1)에 매칭되지 않는다. 따라서, 화상형성장치(100)는 후보 영역(230)에 포함된 가는 선이 다른 가는 선 후보 형태에 매칭되는지 여부를 다시 판단한다.
도 7을 참조하면, 화상형성장치(100)는 제 4 가는 선 후보 형태(500-1)에 포함된 가는 선 영역들 및 배경 영역들에 대응되도록, 도 3의 제 1 내지 제 16 세부 영역들(301 내지 316)을 배경 후보 영역들과 가는 선 후보 영역들로 구분할 수 있다. 구체적으로, 도 3의 제 1 내지 3 세부 영역(301 내지 303), 제 7 내지 제 11 세부 영역(307 내지 311), 및 제 15 내지 16 세부 영역(315, 316)은 도 7의 제 1 내지 제 10 배경 후보 영역(701 내지 710)에 대응되며, 도 3의 제 5 및 제 13 세부 영역(307,315)은 도 7의 제 1 및 제 2 가는 선 후보 영역(711, 712)에 대응된다.
도 7에서는, 도 6에서와 달리, 제 1 내지 제 10 배경 후보 영역(701 내지 710)의 최소 화소값(즉, 0xBEC896)보다 제 1 및 제 2 가는 선 후보 영역(711, 712)의 최소 화소값(즉, 0x646464)가 더 작으므로, 화상형성장치(100)는 후보 영역(230)에 포함된 가는 선이 제 4 가는 선 후보 형태(500-4)에 매칭되는 것으로 판단할 수 있다. 따라서, 화상형성장치(100)는 매칭 작업을 중단할 수 있다.
도 8은 다른 실시예에 따라 화상형성장치가 세부 영역들의 화소값을 비교하여 가는 선의 형태를 결정하는 방법을 설명하는 흐름도이다.
도 8을 참조하면, 810단계에서, 화상형성장치(100)는 세부 영역 별로 대표 화소값을 선택한다. 여기서, 대표 화소값은, 세부 영역 별 최소 화소값 또는 최대 화소값일 수 있으며, 평균 화소값일 수도 있다. 구체적으로, 후보 영역에 포함된 가는 선이 포지티브 가는 선으로 예측되는 경우, 화상형성장치(100)는 세부 영역 별 최소 화소값을 대표 화소값으로 할 수 있다. 또는, 후보 영역에 포함된 가는 선이 네거티브 가는 선으로 예측되는 경우, 화상형성장치(100)는 세부 영역 별 최대 화소값을 대표 화소값으로 할 수 있다.
820단계에서, 화상형성장치(100)는 대표 화소값을 제 3 임계값과 비교하여, 세부 영역들을 배경 영역들과 가는 선 영역들로 구분한다. 여기서, 제 3 임계값은 중앙 화소를 결정하는데 이용되는 제 1 임계값과 동일 또는 유사한 값에 의해 결정될 수 있다. 예를 들어, 제 3 임계값은, RGB 채널들 각각이 제 1 임계값(예를 들어, 0xB4)을 갖는 경우의 화소값(예를 들어, 0xB4B4B4)일 수 있다. 따라서, 화상형성장치(100)는 대표 화소값들을 제 3 임계값과 비교함으로써, 각 세부 영역이 가는 선에 포함되는지 여부를 결정할 수 있다.
구체적으로, 화상형성장치(100)는, 후보 영역에 포함된 가는 선이 포지티브 가는 선으로 예측되면, 제 3 임계값보다 더 작은 대표 화소값을 갖는 세부 영역을 가는 선 영역으로 구분하고, 제 3 임계값보다 큰 대표 화소값을 갖는 세부 영역은 배경 영역으로 구분할 수 있다. 또는, 화상형성장치는, 가는 선이 네거티브 가는 선으로 예측되면, 제 3 임계값보다 더 큰 대표 화소값을 갖는 세부 영역을 가는 선 영역으로 구분하고, 제 3 임계값보다 작은 대표 화소값을 갖는 세부 영역을 배경 영역으로 구분할 수 있다.
830단계에서, 화상형성장치(100)는 중앙 화소와 가는 선 영역들을 포함하도록 가는 선의 형태를 결정한다. 예를 들어, 화상형성장치(100)는 중앙 화소와 가는 선 영역들을 직선으로 연결한 형태를 가는 선의 형태로 결정할 수 있다. 이와 같이, 화상형성장치(100)는 다양한 형태를 갖는 가는 선을 검출할 수 있다.
한편, 실시예에 따라서 화상형성장치(100)는 후보 영역에 포함된 가는 선이 기 결정된 가는 선 후보 형태들에 매칭되지 않은 경우, 도 8의 방법에 따라 가는 선의 형태를 결정할 수도 있다.
도 9는 화상형성장치가 후보 영역에 포함된 가는 선의 형태를 결정하는 일례이다.
도 9를 참조하면, 화상형성장치(100)는 도 3의 제 1 내지 16 세부 영역(301 내지 316)의 최소 화소값을 제 3 임계값(예를 들어, 0xB4B4B4)과 비교할 수 있다. 예를 들어, 제 1 세부 영역 내지 제 3 세부 영역(301 내지 303), 제 7 내지 제 11 세부 영역(307 내지 311), 제 15 세부 영역(315) 및 제 16 세부 영역(316)의 최소 화소값(즉, 0xBEC896)은 모두 제 3 임계값보다 크므로, 상기 세부 영역들은 배경 영역으로 구분될 수 있다. 또한, 제 4 세부 영역(304), 제 6 세부 영역(306), 제 12 세부 영역(312) 및 제 14 세부 영역(314)의 최소 화소값(즉, 0xB4BEAA)도 모두 제 3 임계값보다 크므로, 상기 세부 영역들도 배경 영역들로 구분될 수 있다. 그러나, 제 5 세부 영역(305) 및 제 13 세부 영역(313)의 최소 화소값(즉, 0xA6B9A0)은 모두 제 3 임계값보다 작으므로, 제 5 세부 영역(305) 및 제 13 세부 영역(313)은 가는 선 영역으로 구분될 수 있다.
이후, 화상형성장치(100)는 중앙 화소(220)와 가는 선 영역으로 구분된 제 5 세부 영역(305) 및 제 13 세부 영역(313)을 직선으로 연결한 형태(910)를 가는 선의 형태로 결정할 수 있다.
도 10은 일 실시예에 따라 화상형성장치가 후보 영역에 포함된 가는 선이 연결되었는지 확인하는 방법을 설명하는 흐름도이다.
도 10을 참조하면, 1010단계에서, 화상형성장치(100)는 후보 영역 내에서 가는 선의 형태에 대응되는 화소들의 화소값들이 임계 범위 내인지 여부를 판단한다. 여기서, 임계 범위는, 중앙 화소의 화소값에 의해 결정될 수 있다. 예를 들어, 임계 범위는 (중앙 화소의 화소값-0x20)~(중앙 화소의 화소값+0x20)의 범위일 수 있다. 또는, 임계 범위는, 포지티브 가는 선 또는 네거티브 가는 선인지 여부에 따라 결정되는 절대 범위일 수 있다.
구체적으로, 화상형성장치(100)는 후보 영역 내의 가는 선의 형태에 대응되는 모든 화소들의 화소값들이 임계 범위 내인지 여부를 판단할 수 있다. 또는, 화상형성장치(100)는 후보 영역 내의 가는 선 후보 영역(또는, 가는 선 영역)으로 구분된 세부 영역과 중앙 화소 사이의 화소들의 화소값들이 임계 범위 내인지 판단할 수 있다. 화상형성장치(100)는 화소값들이 임계 범위 내이면, 가는 선이 연결되었다고 판단할 수 있다.
가는 선이 연결되는 것으로 판단되면, 화상형성장치(100)는 1020단계를 수행한다. 그러나, 가는 선이 연결되지 않은 것으로 판단되면, 화상형성장치(100)는 후보 영역 내에 가는 선이 포함되지 않은 것으로 간주하고, 다른 후보 영역을 선택하기 위한 작업을 수행할 수 있다. 이를 통해, 1010단계에서, 화상형성장치(100)는 후보 영역 내에 포함된 가는 선과 하프톤 패턴을 구분할 수 있다.
1020단계에서, 화상형성장치(100)는 가는 선의 형태를 검증한다. 화상형성장치(100)가 가는 선의 형태를 검증하는 방법은, 도 12 내지 도 13을 참조하여 후술한다.
도 11은 화상형성장치가 후보 영역에 포함된 가는 선이 연결되었는지 확인하는 일례이다.
도 11을 참조하면, 화상형성장치(100)는 도 3의 제 1 내지 제 16 세부 영역들(301 내지 316) 중에서, 가는 선 후보 영역(또는, 가는 선 영역)로 구분된 제 3 및 제 13 세부 영역(305, 313)과 중앙 화소(220) 사이에 위치하는 제 1 내지 제 6 화소들(1101 내지 1106)의 화소값들이 임계 범위 내인지 판단할 수 있다.
만약, 제 1 내지 제 6 화소들(1101 내지 1106)의 화소값들이 모두 임계 범위 내이면, 화상형성장치(100)는 가는 선이 연결되었음을 확인할 수 있다. 그러나, 제 1 내지 제 6 화소들(1101 내지 1106)의 화소값들 중 적어도 하나가 임계 범위 외이면, 화상형성장치(100)는 가는 선이 연결되지 않은 것으로 간주할 수 있다.
도 12는 일 실시예에 따라 화상형성장치가 가는 선의 형태를 검증하는 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 1210단계에서, 화상형성장치(100)는 화상 데이터에 포함된 화소들의 평균 화소값을 이용하여, 저해상도 이미지를 생성한다. 예를 들어, 화상형성장치(100)는 화상 데이터의 해상도와 N:1 비율 등을 갖는 저해상도 이미지를 생성할 수 있다. 예를 들어, 화상 데이터의 nxn 화소 영역의 평균 화소값은, 저해상도 이미지의 1x1 화소의 화소값에 대응될 수 있다.
1220 단계에서, 화상형성장치(100)는 화상 데이터의 후보 영역 내의 가는 선의 형태가 저해상도 이미지에 포함된 가는 선의 형태와 일치하는지 판단한다. 여기서, 형태가 일치한다는 것은, 두 가는 선의 형태가 동일한 경우는 물론, 소정의 오차 범위(예를 들어, 가는 선의 기울기 각도에 대한 ?10 퍼센티지의 오차 범위 등) 내인 경우를 포함할 수 있다.
구체적으로, 화상형성장치(100)는 저해상도 이미지 내에서 후보 영역에 대응되는 소정 영역을 포함하는 검증 영역을 결정하고, 검증 영역 내에 가는 선이 존재하는지를 판단할 수 있다. 검증 영역 내에 가는 선이 존재하면, 화상형성장치(100)는 검증 영역 내의 가는 선의 형태가 후보 영역의 가는 선의 형태와 일치하는지 판단할 수 있다.
판단 결과가 일치하는 경우, 화상형성장치(100)는 1230단계를 수행한다. 그러나, 판단 결과가 일치하지 않는 경우, 화상형성장치(100)는 후보 영역 내에 가는 선이 존재하지 않는 것으로 간주하고, 다른 후보 영역을 선택하기 위한 작업을 수행한다.
1230단계에서, 화상형성장치(100)는 후보 영역으로부터 가는 선을 검출한다. 예를 들어, 화상형성장치(100)는 가는 선으로 검출된 화소들을 가는 선 오브젝트(object)로 태깅(tagging)할 수 있다.
또한, 화상형성장치(100)는 가는 선으로 태깅된 검출된 화소들의 화소값을 조정하기 위한 작업을 수행할 수 있다. 또한, 화상형성장치(100)는 가는 선 오브젝트로 태깅된 화소들에 대한 디스크리닝(descreening) 작업을 수행하지 않을 수 있다.
도 13은 화상형성장치가 저해상도 이미지를 이용하여, 가는 선의 형태를 검증하는 일례이다.
도 13을 참조하면, 화상형성장치(100)는 화상 데이터(1301)로부터 9:1 비율의 저해상도 이미지(1302)를 생성할 수 있다. 구체적으로, 화상 데이터(1301)의 3x3 화소 영역(1311)은 저해상도 이미지(1302)의 1x1 화소 영역(1321)에 대응될 수 있다.
화상형성장치(100)는 후보 영역(230) 내의 가는 선의 형태(1310)와 저해상도 이미지(1302)에 포함된 가는 선의 형태(1320)가 일치하는지 판단할 수 있다. 구체적으로, 화상형성장치(100)는 화상 데이터(1301)의 후보 영역(230)에 대응되는 저해상도 이미지(1302)의 소정 영역(1322)을 포함하는 검증 영역(1323)을 결정하고, 검증 영역(1323) 내에 가는 선이 존재하는지 판단할 수 있다. 예를 들어, 화상형성장치(100)는 검증 영역(1323) 내의 화소들의 화소값들을 제 1 임계값과 비교함으로서, 검증 영역(1323) 내에 가는 선이 존재하는지 판단할 수 있다. 가는 선이 존재하면, 화상형성장치(100)는 후보 영역(230) 내의 가는 선의 형태(1310)와 검증 영역(1323)의 가는 선의 형태가 일치하는지 판단할 수 있다.
이와 같이, 화상형성장치(100)는 저해상도 이미지(1302)를 이용하여 가는 선의 형태를 검증함으로써, 하프톤 패턴 등을 가는 선으로 검출하는 오류를 범하지 않을 수 있다.
도 14는 일 실시예에 따라 화상형성장치(100)가 검출된 가는 선의 화소값들을 조정하여 출력하는 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 1410단계에서, 화상형성장치(100)는 검출된 가는 선에 대응되는 화소들이 동일한 화소값을 갖도록 조정한다.
구체적으로, 화상형성장치(100)는 검출된 가는 선에 대응되는 화소들을 가는 선 오브젝트(thin line object)로 태깅(tagging)할 수 있다. 또한, 화상형성장치(100)는 가는 선 오브젝트로 태깅된 화소들의 화소값들이 흑색 임계 범위(예를 들어, 0x000000~0x303030 범위) 또는 백색 임계 범위(예를 들어, 0xCFCFCF~0xFFFFFF) 내이면, 검출된 가는 선에 대응되는 화소들을 흑색 오브젝트 또는 백색 오브젝트로 태깅할 수 있다. 화상형성장치(100)는 검정 오브젝트로 태깅된 화소들의 화소값을 ‘0x000000’으로 조정할 수 있으며, 백색 오브젝트로 태깅된 화소들의 화소값을 ‘0xFFFFFF’으로 조정할 수 있다.
또는, 화상형성장치(100)는 NxN 화소 영역 내에서 가는 선 오브젝트로 태깅된 화소들의 RGB 채널 별 최소 화소값(예를 들어, 0x40)(또는 최대 화소값)을 조합하여, 조합 화소값(예를 들어, 0x404040)을 결정할 수 있다. 이때, 최소 화소값 또는 최대 화소값을 조합할지 여부는, 가는 선이 포지티브 가는 선인지 네거티브 가는 선인지 여부에 의해 결정될 수 있다. 또한, 화상형성장치(100)는 가는 선 오브젝트로 태깅된 화소들이 조합 화소값(예를 들어, 0x404040)을 갖도록 조정할 수 있다. 또한, 실시예에 따라 화상형성장치(100)는 가는 선이 선명하게 출력될 수 있도록, 조합 화소값에 일정 값(예를 들어, x0.6 또는 x1.6 등)을 곱할 수도 있다.
만약, 화상형성장치(100)가 CMYK 색공간을 이용하는 경우, 화상형성장치(100)는 가는 선 오브젝트로 태깅된 화소들의 K 채널의 화소값을 조정하여, 가는 선 오브젝트로 태깅된 화소들이 동일한 화소값을 갖도록 조정할 수 있다.
1420단계에서, 화상형성장치(100)는 화상 데이터를 출력(또는, 인쇄)한다. 구체적으로, 화상형성장치(100)는 가는 선 오브젝트로 태깅된 화소들의 출력 방법을 결정할 수 있다. 예를 들어, 화상형성장치(100)는 가는 선 오브젝트로 태깅된 화소들을 오차 확산(error diffusion) 방법으로 출력하는 것으로 결정할 수 있다. 여기서, 오차 확산(error diffusion) 방법은, 화소들을 이진화(binarization) 함으로써 발생되는 오차를 주위의 화소들로 전파시킴으로써, 전파된 오차가 주위 화소들의 이진화 시에 반영되도록 제어하는 방법일 수 있다.
또한, 화상형성장치(100)는 업데이트 밸류 서프레션(updated value suppression) 방법에 의해 화소 별 출력 농도를 결정할 수 있다. 여기서, 업데이트 밸류 서프레션(updated value suppression) 방법은, 오차 확산 방법에 의해 다른 화소로부터 전파된 오차와 현재 화소의 화소값의 합에 가중치를 반영하는 방법일 수 있다. 예를 들어, 화상형성장치(100)는 업데이트 밸류 서프레션 방식에 따른 하기의 수학식을 이용하여 화소의 출력 농도를 결정할 수 있다.
Figure pat00001
상기의 수학식 1에서, V(i) 는 현재 화소의 화소값을 나타내고, E(i-1) 는 주위 화소로부터 전파된 오차를 나타낸다. 또한, w 는 가중치를 나타낸다. 따라서, U(i) 는 주위 화소로부터 전파된 오차를 고려하여 수정된 화소값을 나타낼 수 있다. 이때, w 는 포지티브 가는 선이면, 1보다 작을 수 있으며, 네거티브 가는 선이면, 1 보다 클 수 있다.
도 15는 화상형성장치가 화상 데이터를 출력한 일례이다. 도 15를 참조하면, 왼쪽에 도시된 이미지는 화상형성장치(100)가 스캐닝하는 원본 문서(1501)며, 오른쪽에 도시된 이미지는 화상형성장치(100)에 의해 출력된 출력 문서(1502)다. 도 15에 도시된 바와 같이 개시된 실시예에 따른 화상형성장치(100)는 원본 문서(1501)에 포함된 가는 선(1510)이 선명하게 나타난 출력 문서(1502)를 실험적으로 확인하였다.
이와 같이, 화상형성장치(100)는 원본 문서를 스캐닝하고 출력하는 과정에서 원본 문서의 가는 선이 사라지거나 흐릿해지는 현상을 방지할 수 있다.
도 16 내지 도 18은 일 실시예에 따른 화상형성장치를 설명하기 위한 도면들이다. 이하에서는, 도 16 내지 도 18과 함께 도 1 내지 도 15를 참조하여 개시된 실시예들에 따른 화상형성장치를 설명한다. 특별한 언급이 없더라도 앞서 설명한 구체적인 내용들 및 기술적 사상은 도 16 내지 도 18의 화상형성장치에도 동일하게 적용되는 것으로 본다. 따라서, 도 1 내지 도 15 에서와 중복되는 설명은 생략한다.
도 16은 일 실시예에 따른 화상형성장치의 구성을 도시한 도면이다. 화상형성장치(100)는 화상 데이터를 생성, 출력(또는, 인쇄), 수신, 전송, 전송 등을 수행하는 장치로서, 예를 들어, 프린터, 스캐너, 복사기, 팩스 및 이들의 기능을 통합 구현한 복합기(MFP) 등을 포함할 수 있다.
도 16을 참조하면, 화상형성장치(100)는 제어부(1610) 및 출력부(1620)를 포함한다. 그러나, 도시된 구성요소 모두가 필수구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성요소에 의해 화상형성장치(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서 구현될 수도 있다.
제어부(1610)는 전반적인 화상형성장치(100)의 동작을 제어한다. 제어부(1610)는 화상 데이터에 포함된 가는 선(thin line)을 검출하는 작업 및 가는 선에 대응되는 화소들의 화소값들을 조정하는 작업을 수행한다. 또한, 가는 선을 포함하는 화상 데이터를 출력부(1620)로 제공한다.
여기서, 가는 선(thin line)은, 1 내지 2 화소의 두께를 갖는 동일 또는 유사한 화소값을 갖는 화소들의 집합일 수 있으며, 주변 화소들에 비해 명도가 낮은 포지티브 가는 선(positive thin line) 및 주변 화소들에 비해 명도가 높은 네거티브 가는 선(negative thin line)으로 구분될 수 있다.
제어부(1610)는 화상 데이터 중에서 가는 선이 포함될 수 있는 후보 영역을 선택한다. 구체적으로, 제어부(1610)는 화상 데이터에 포함된 화소값들을 임계값과 비교하여, 가는 선이 포함될 것으로 판단되는 NxN 화소 영역을 후보 영역으로 선택할 수 있다. 제어부(1610)가 후보 영역을 선택하는 동작에는, 도 1 및 도 2에서 설명된 실시예들이 적용될 수 있으므로, 자세한 설명은 생략한다.
제어부(1610)는 선택된 후보 영역을 복수개의 세부 영역들로 분할한다. 예를 들어, 제어부(1610)는 후보 영역을 복수개의 화소들을 포함하는 2개 이상의 세부 영역들로 분할 할 수 있다. 그러나, 제어부(1610)가 모든 후보 영역을 세부 영역들로 분할해야 하는 것은 아니며, 후보 영역 중 일부를 세부 영역들로 분할할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 제어부(1610)는 후보 영역을 16개의 세부 영역들(도 3의 301 내지 316)로 분할할 수 있다.
제어부(1610)는 세부 영역들의 화소값을 비교하여, 가는 선의 형태를 결정한다. 구체적으로, 제어부(1610)는 세부 영역들의 화소값을 비교함으로써, 후보 영역에 포함된 가는 선이 기 결정된 가는 선 후보 형태들 중 하나와 매칭되는지 판단할 수 있다. 여기서, 가는 선 후보 형태는 배경 영역들과 가는 선 영역들을 포함할 수 있다. 제어부(1610)는 가는 선 후보 형태들 중에서 제 1 가는 선 후보 형태에 포함된 배경 영역들과 가는 선 영역들에 대응되도록, 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분할 수 있다. 제어부(1610)는 배경 후보 영역들로 구분된 세부 영역의 화소들의 화소값과 가는 선 후보 영역에 대응되는 화소들의 화소값을 비교하여, 후보 영역에 포함된 가는 선이 제 1 가는 선 후보 형태에 매칭되는지 판단할 수 있다. 이때, 제어부(1610)는 후보 영역에 포함된 가는 선이 포지티브 가는 선인지 또는 네거티브 가는 선인지 여부에 따라, 배경 후보 영역들에 대응되는 최소 화소값들 또는 최대 화소값들을, 가는 선 후보 영역들에 대응되는 최소 화소값들 또는 최대 화소값들과 비교할 수 있다.
예를 들어, 제어부(1610)는 가는 선이 포지티브 가는 선이면, 세부 영역 별 최소 화소값을 선택하여, 배경 후보 영역으로 구분된 세부 영역의 최소 화소값보다 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값이 더 작으면, 가는 선이 제 1 가는 선 후보 형태에 매칭되는 것으로 판단할 수 있다.
또는, 제어부(1610)는 가는 선이 네거티브 가는 선이면, 세부 영역 별 최대 화소값을 선택하여, 배경 후보 영역으로 구분된 세부 영역의 최대 화소값보다 가는 선 후보 영역으로 구분된 세부 영역의 최대 화소값이 더 크면, 가는 선이 제 1 가는 선 후보 형태에 매칭되는 것으로 판단할 수 있다.
만약, 매칭되지 않으면, 제어부(1610)는 가는 선의 형태가 다른 가는 선 후보 형태에 매칭되는지 판단하기 위하여, 전술한 작업을 반복 수행할 수 있다.
또는, 제어부(1610)는 세부 영역 별 대표 화소값(최대 화소값 또는 최소 화소값)을 임계값과 비교하여, 세부 영역들을 배경 영역들과 가는 선 영역들로 구분할 수 있다. 제어부(1610)는 후보 영역의 중앙에 위치하는 화소와 가는 선 영역들을 연결하여 가는 선의 형태를 결정할 수 있다. 제어부(1610)가 가는 선의 형태를 결정하는 동작에는, 도 4 내지 도 9의 실시예들이 적용될 수 있으므로, 자세한 설명은 생략한다.
또한, 제어부(1610)는 결정된 가는 선의 형태에 대응되는 화소들의 화소값들이 임계 범위 내인지 판단하여, 가는 선이 연결되었는지 확인할 수 있다. 제어부(1610)가 가는 선이 연결되었는지 확인하는 동작에는, 도 10 내지 도 11의 실시예들이 적용될 수 있으므로, 자세한 설명은 생략한다.
제어부(1610)는 가는 선의 형태를 검증한다. 구체적으로, 제어부(1610)는 화상 데이터에 포함된 화소들의 평균 화소값을 이용하여, 저해상도 이미지를 생성할 수 있다. 예를 들어, 제어부(1610)는 화상 데이터의 해상도와 9:1 비율을 갖는 저해상도 이미지를 생성할 수 있다. 제어부(1610)는 화상 데이터의 후보 영역 내의 가는 선의 형태가 저해상도 이미지에 포함된 가는 선의 형태와 일치하는지 판단할 수 있다. 여기서, 형태가 일치한다는 것은, 두 가는 선의 형태가 동일한 경우는 물론, 소정의 오차 범위(예를 들어, 가는 선의 기울기 각도에 대한 ?10 퍼센티지의 오차 범위 등) 내인 경우를 포함할 수 있다.
두 형태가 일치하는 것으로 판단되면, 제어부(1610)는 검증된 형태를 갖는 가는 선을 화상데이터로부터 검출한다.
또한, 제어부(1610)는 검출된 가는 선의 화소들이 동일한 화소값을 갖도록 조정할 수 있다.
출력부(1620)는 제어부(1610)로부터 제공받은, 검출된 가는 선을 포함하는 화상 데이터를 출력(또는, 인쇄)한다. 출력부(1620)가 지원 가능한 출력 해상도는 기 정해져 있으며, 이에 따라서 제어부(1610)는 화상 데이터의 해상도를 조정할 수 있다.
도 17은 도 16의 제어부를 상세하게 도시한 도면이다. 도 17을 참조하면, 도 16의 제어부(1610)는 오브젝트 분리부(1611), 이미지 처리부(1612) 및 재현부(1613)를 포함한다.
오브젝트 분리부(1611)는 화상 데이터에 포함된 가는 선을 검출한다. 오브젝트 분리부(1611)가 가는 선을 검출하는 동작은 도 16에서 설명되었으므로, 자세한 설명은 생략한다.
오브젝트 분리부(1611)는 검출된 가는 선을 가는 선 오브젝트(thin line object)로 태깅(tagging)한다. 또한, 오브젝트 분리부(1611)는 후보 영역에 포함된 배경 후보 영역들(또는 배경 영역들)을 배경 오프젝트로 태깅할 수 있다.
또한, 오브젝트 분리부(1611)는 가는 선 오브젝트로 태깅된 화소들의 화소값들이 흑색 임계 범위(예를 들어, 0x000000~0x303030 범위) 또는 백색 임계 범위(예를 들어, 0xCFCFCF~0xFFFFFF) 내이면, 검출된 가는 선에 대응되는 화소들을 흑색 오브젝트 또는 백색 오브젝트로 태깅할 수 있다.
또한, 오브젝트 분리부(1611)는 검출된 가는 선이 포지티브 가는 선인지 또는 네거티브 가는 선인지 여부에 따라, 포지티브 오브젝트 또는 네거티브 오브젝트로 태깅할 수도 있다.
오브젝트 분리부(1611)는 가는 선 오브젝트로 태깅된 화소들의 화소값이 동일하도록 조정할 수 있다. 예를 들어, 오브젝트 분리부(1611)는 흑색 오브젝트로 태깅된 화소들의 화소값을 ‘0x000000’로 조정할 수 있으며, 백색 오브젝트로 태깅된 화소들의 화소값을 ‘0xFFFFFF’로 조정할 수 있다.
또한, 오브젝트 분리부(1611)는 가는 선 오브젝트로 태깅된 화소를 포함하는 NxN 화소 영역의 RGB 채널 별 최소 화소값을 조합하여, 가는 선 오브젝트로 태깅된 화소들의 화소값을 조합된 화소값으로 조정할 수 있다. 또한, 오브젝트 분리부(1611)는 조합된 화소값에 일정 값을 곱한 값을 가는 선 오브젝트로 태깅된 화소들의 화소값으로 설정할 수도 있다.
오브젝트 분리부(1611)는 조정된 화소값을 갖는 태깅된 화소들을 이미지 처리부(1612)로 제공할 수 있다.
이미지 처리부(1612)는 오브젝트 분리부(1611)로부터 제공 받은 화소들에 대한 디스크리닝(descreening) 작업 및 샤프닝(sharpening) 작업 등을 수행한다. 여기서, 디스크리닝(descreening) 작업은, 작업은, 모아레(Moire) 현상을 방지하기 위하여 화상 데이터에 포함된 하프톤(halftone) 패턴을 제거하는 작업일 수 있다. 또한, 샤프닝(sharpening) 작업은, 화상 데이터에 포함된 객체들의 경계를 명확하기 위한 경계 강조 작업일 수 있다.
일반적으로, 가는 선은 하프톤 패턴으로 오해되어 디스크리닝 작업시에 삭제될 수 있다. 이미지 처리부(1612)는 가는 선 오브젝트로 태깅된 화소들에 대한 디스크리닝 작업을 생략할 수 있다. 따라서, 이미지 처리부(1612)는 디스크리닝 작업 수행 중에 가는 선이 삭제되는 것을 방지할 수 있다.
재현부(1613)는 검출된 가는 선을 포함하는 화상 데이터의 출력 방법을 결정한다. 또한, 재현부(1613)는 출력부(1620)의 동작을 제어하기 위한 제어 데이터를 생성 및/또는 전송할 수 있다.
재현부(1613)는 오차 확산(error diffusion) 방법에 의해 화상 데이터가 출력되도록 결정할 수 있다. 여기서, 오차 확산(error diffusion) 방법은, 화소들을 이진화(binarization) 함으로써 발생되는 오차를 주위의 화소들로 전파시킴으로써, 전파된 오차가 주위 화소들의 이진화 시에 반영되도록 제어하는 방법일 수 있다.
재현부(1613)는 업데이트 밸류 서프레션(updated value suppression) 방법에 의해 화소 별 출력 농도를 결정할 수 있다. 여기서, 업데이트 밸류 서프레션(updated value suppression) 방법은, 오차 확산 방법에 의해 다른 화소로부터 전파된 오차와 현재 화소의 화소값의 합에 가중치를 반영하는 방법일 수 있다.
한편, 실시예에 따라 재현부(1613)의 기능은 출력부(1620) 내에서 수행될 수도 있다.
도 18은 화상형성장치의 구성을 상세하게 도시한 도면이다. 도 18을 참조하면, 화상형성장치(100)는 메인보드(1810), 외부 입력 포트(1820), 기능 모듈들(1830), 사용자 인터페이스(1840), 저장부(1850), 전원 공급부(1860)를 포함한다.
메인 보드(1810)는 화상형성장치(100)의 구성요소들을 상호 연결하는 회로를 제공한다. 메인 보드(1810) 상에는 메인 메모리(1811), 제어부(1812) 및 캐시 메모리(1813)가 장착될 수 있다.
메인 메모리(1811)는 대용량의 메모리로서, 메인 메모리(1811)에는 메인 커널이 상주할 수 있다. 메인 메모리(1811)는 DRAM(Dynamic Random Access Memory)로 구현될 수 있다.
캐시 메모리(1813)는 메인 메모리(1811)의 데이터 중 일부를 저장하여, 제어부(1812)가 효율적으로 액세스하도록 할 수 있다. 캐시 메모리(1813)는 메인 메모리(1811)에 비하여 빠른 읽기/쓰기 속도를 갖는 SRAM(Static Random Access Memory)으로 구현될 수 있다.
제어부(1812)는 화상형성장치(100)의 전반적인 동작을 제어한다. 제어부(1812)는 메인 메모리(1811)에 상주하는 메인 커널을 실행함으로써, 화상형성장치(100)의 동작을 제할 수 있다.
또한, 제어부(1812)는 외부 입력 포트(1820) 또는 저장부(1850)로부터 화상 데이터를 제공받을 수 있다. 제어부(1812)는 화상 데이터에 포함된 가는 선을 검출하고, 검출된 가는 선을 포함하는 화상 데이터가 출력되도록 기능 모듈들(1830)을 제어할 수 있다. 제어부(1812)는 도 16 내지 도 17에서 전술한 제어부(1610)에 대응되므로, 자세한 설명은 생략한다.
외부 입력 포트(1820)는 외부 입력 장치(미도시)와 데이터를 송수신한다. 외부 입력 장치(미도시) 대표적인 예로는, 호스트 컴퓨터, 모바일 단말기, 디지털 카메라 및 이동식 디스크 등을 들 수 있다. 외부 입력 포트(1820)를 통해 수신되는 데이터는 출력 작업 데이터(Print Job Data), 사용자 인증 정보, 외부 입력 장치의 인증 정보, 화상형성장치(100)의 유지 및 관리에 관한 명령, 화상형성장치(100)의 기기에 대한 기본 설정값 등을 예시할 수 있다.
출력 작업 데이터란, 복사, 팩스, 스캐닝, 프린팅 등의 화상형성장치(100)의 작업을 PJL(Print Job Language)언어로 기술한 데이터일 수 있다. 따라서, 출력 작업 데이터가 반드시 용지에 이미지를 프린트하기 위한 데이터만으로 한정되지 않는다. 화상형성장치(100)에 사용자 인증 또는 외부 입력 장치의 인증 기능이 설정되면, 화상형성장치(100)는 외부 입력 포트(1820)를 통해 사용자 인증을 위한 아이디 및 패스워드를 수신하거나 또는 외부 입력 장치(미도시)를 인증하기 위한 기기 식별자를 수신할 수 있다. 이러한, 사용자 인증 정보 및 외부 입력 장치의 인증 정보는 PJL언어로 기술되어 출력 작업 데이터에 포함될 수도 있다.
외부 입력 포트(1820)는 예를 들어, USB(Universal Serial Bus) 포트(1821), 네트워크 인터페이스 포트(1822) 및 패러렐(parallel) 포트(1823) 중 적어도 하나 이상을 포함할 수 있다. 외부 입력 포트(1820)가 네트워크 인터페이스 포트(1822)를 구비하는 경우, 네트워크 인터페이스 포트는 네트워크를 통한 데이터 전송을 위하여 TCP 프로토콜을 사용하는 것이 바람직하다. 화상형성장치(100)는 네트워크 인터페이스 포트(1822)를 통해 네트워크에 접속되고, 화상형성장치(100) 자체에 IP(Internet Protocol)주소가 할당된다. 이때, 화상형성장치(100)는 IP 주소에 기초하여 네트워크 프린터, 인터넷 팩스, 이메일 전송 및 웹 브라우징 등의 기능을 수행할 수 있다. 예를 들어, 화상형성장치(100)는 외부 입력 포트(1820)를 통해 외부로부터 화상 데이터를 수신할 수 있다.
한편, 외부 입력 포트(1820)의 USB 포트(1821) 및 네트워크 인터페이스 포트(1822)는 유선뿐만 아니라 무선 연결을 지원할 수 있다. 예를 들어, 외부 입력 포트(1820)는 WUSB(Wireless USB) 포트 또는 무선랜 인터페이스 포트를 포함할 수 있다.
기능 모듈들(1830)은 화상형성장치(100)가 구비한 프린트 기능, 스캐너 기능, 팩스 기능, 복사 기능 등을 실행한다. 한편, 도 16의 출력부(1620)는 기능 모듈들(1830)에 대응될 수 있다.
기능 모듈들(1830)은 프린팅 모듈(1831), 스캐닝 모듈(1832), 팩스 모듈(1833) 및 복사 모듈(1834)을 포함할 수 있다. 도 18에서는 화상형성장치(100)가 복합기(MFP)인 경우를 가정하여 설명하고 있지만, 화상형성장치(100)가 하나의 기능만을 실행하는 경우, 기능 모듈들(1830)에 포함된 기능들 중 일부는 생략될 수 있다. 예를 들어, 화상형성장치(100)가 프린팅 기능만을 수행하면, 스캐닝 모듈(1832), 팩스 모듈(1833) 및 복사 모듈(1834)은 생략 가능하다.
사용자 인터페이스(1840)는 사용자로부터의 조작을 입력 받고, 사용자에게 조작 결과를 디스플레이한다. 사용자 인터페이스(1840)는 사용자로부터 조작을 입력 받기 위한 사용자 입력키를 구비할 수 있다. 사용자 입력키는 물리적인 버튼으로 구현되거나 또는 터치 스크린상에 구현될 수 있다. 또한, 사용자 인터페이스(1840)는 사용자에게 조작 결과를 디스플레이하기 위한 표시부(미도시)를 구비할 수 있다. 표시부(미도시)는 사용자 입력키의 기능을 포함하는 터치 스크린으로 구현될 수 있다.
저장부(1850)는 화상형성장치(100)가 수신하거나 생성한 화상 데이터 등을 저장한다. 화상형성장치(100)가 사용자 별로 파일을 저장하는 문서 박스 기능을 포함하는 경우, 저장부(1850)는 사용자에게 파일을 저장하기 위한 스토리지를 제공할 수 있다. 예를 들어, 화상형성장치(100)에 의해 스캔닝하여 생성된 화상 데이터 파일, 인쇄 대상이 되는 원본 문서 파일, 팩시밀리로 송수신하는 화상 데이터 파일, 외부 입력 포트(1820)를 통해 수신된 출력 작업 데이터 등이 저장부(1850)에 저장될 수 있다.
저장부(1850)는 사용자 인증을 위한 사용자 인증 정보를 저장할 수 있다. 즉, 저장부(1850)에는 사용자 인증을 위한 아이디 및 패스워드가 저장될 수 있다. 사용자 인증 정보 외에도 화상형성장치(100)의 인증 방식에 따라서 인쇄를 요청한 프린터 드라이버를 인증하기 위한 드라이버 인증 정보, 인쇄를 요청한 어플리케이션을 인증하기 위한 어플리케이션 인증 정보, 인쇄를 요청한 디바이스를 인증하기 위한 디바이스 인증 정보 등이 저장부(1850)에 저장될 수 있다.
전원 공급부(1860)는 제어부(1812)의 지시에 따라서 화상형성장치(100)에 전원을 공급한다.
한편, 도 16 내지 도 18 에서 전술한 화상형성장치(100)의 구성 요소들의 명칭은 실시예에 따라서 달라질 수 있다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 컴퓨터의 프로세서는 컴퓨터의 통신 모듈(예: 유선 및/또는 무선 통신 모듈)을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신할 수 있는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 정보를 더 포함할 수 있다.
그리고, 개시된 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 개시된 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 적어도 하나의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 적어도 하나에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송 받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
이상에서, 개시된 실시예를 구성하는 모든 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 개시된 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 개시된 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 개시된 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 개시된 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
이상의 설명은 개시된 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 개시된 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 개시된 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 개시된 실시예들은 개시된 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 개시된 발명의 기술 사상의 범위가 한정되는 것은 아니다. 개시된 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 개시된 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 화상형성장치가 가는 선(thin line)을 검출하는 방법에 있어서,
    화상 데이터 중에서 상기 가는 선이 포함될 수 있는 후보 영역을 선택하는 단계;
    상기 후보 영역을 복수개의 세부 영역들로 분할하는 단계;
    상기 복수개의 세부 영역들의 화소값을 비교하여, 상기 가는 선의 형태를 결정하는 단계; 및
    상기 화상 데이터로부터 상기 결정된 형태를 갖는 상기 가는 선을 검출하는 단계;를 포함하는, 가는 선 검출 방법.
  2. 제 1 항에 있어서,
    상기 가는 선의 형태를 결정하는 단계는,
    배경 영역들과 가는 선 영역들을 포함하는 가는 선 후보 형태에 대응되도록, 상기 복수개의 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분하는 단계;를 포함하는, 가는 선 검출 방법.
  3. 제 2 항에 있어서,
    상기 가는 선의 형태를 결정하는 단계는,
    상기 배경 후보 영역들에 대응되는 화소들의 화소값과 상기 가는 선 후보 영역들에 대응되는 화소들의 화소값을 비교하여, 상기 후보 영역에 포함된 상기 가는 선이 상기 가는 선 후보 형태에 매칭되는지 판단하는 단계; 및
    상기 가는 선이 상기 가는 선 후보 형태에 매칭되면, 상기 가는 선 후보 형태를 상기 가는 선의 형태로 결정하는 단계;를 포함하는, 가는 선 검출 방법.
  4. 제 3 항에 있어서,
    상기 매칭되는지 판단하는 단계는, 상기 세부 영역 별 최소 화소값을 선택하여, 상기 배경 후보 영역으로 구분된 세부 영역의 최소 화소값보다 상기 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값이 더 작은지 여부를 비교하여, 상기 가는 선의 형태가 상기 가는 선 부호 형태에 매칭되는지 판단하며,
    상기 가는 선의 형태를 결정하는 단계는, 상기 가는 선이 상기 가는 선 후보 형태에 매칭되면, 상기 가는 선을 상기 가는 선 후보 형태를 갖는 포지티브 가는 선(positive thin line)으로 결정하는 것인, 가는 선 검출 방법.
  5. 제 3 항에 있어서,
    상기 매칭되는지 판단하는 단계는, 상기 세부 영역 별 최대 화소값을 선택하여, 상기 배경 후보 영역으로 구분된 세부 영역의 최대 화소값보다 상기 가는 선 후보 영역으로 구분된 최대 화소값이 더 큰지 여부를 비교하여, 상기 가는 선이 상기 가는 선 후보 형태에 매칭되는지 판단하며,
    상기 가는 선의 형태를 결정하는 단계는, 상기 가는 선의 형태가 상기 가는 선 후보 형태에 매칭되면, 상기 가는 선을 상기 가는 선 후보 형태를 갖는 네거티브 가는 선(negative thin line)으로 결정하는 것인, 가는 선 검출 방법.
  6. 제 3 항에 있어서,
    상기 가는 선의 형태를 결정하는 단계는,
    상기 결정된 가는 선의 형태에 대응되는 화소들의 화소값들이 임계 범위 내인지 여부를 판단하여, 상기 결정된 가는 선의 형태를 확인하는 단계;를 더 포함하는, 가는 선 검출 방법.
  7. 제 1 항에 있어서,
    상기 가는 선을 검출하는 단계는,
    상기 화상 데이터의 저해상도 이미지에 포함된 가는 선의 형태가 상기 결정된 가는 선의 형태와 일치하면, 상기 가는 선을 검출하는 단계;를 포함하는, 가는 선 검출 방법.
  8. 제 7 항에 있어서,
    상기 저해상도 이미지는, 상기 화상 데이터의 화소들의 평균 화소값을 이용하여 생성된 이미지인, 가는 선 검출 방법.
  9. 제 1 항에 있어서,
    상기 가는 선을 검출하는 단계는,
    상기 가는 선에 대응되는 화소들이 동일한 화소값을 갖도록 조정하는 단계;를 더 포함하는, 가는 선 검출 방법.
  10. 제 1 항에 있어서,
    상기 후보 영역은, 상기 화상 데이터에 포함된 화소들 중에서 주변 화소들과의 화소값 차이가 임계값 이상인 화소를 포함하는 것인, 가는 선 검출 방법.
  11. 화상 데이터 중에서 가는 선(thin line)이 포함될 수 있는 후보 영역을 선택하고, 상기 후보 영역을 복수개의 세부 영역들로 분할하며, 상기 복수개의 세부 영역들의 화소값을 비교하여, 상기 가는 선의 형태를 결정하고, 상기 화상 데이터로부터 상기 결정된 형태를 갖는 상기 가는 선을 검출하는 제어부; 및
    상기 검출된 가는 선을 포함하는 상기 화상 데이터를 출력하는 출력부;을 포함하는, 화상형성장치.
  12. 제 11 항에 있어서,
    상기 제어부는, 배경 영역들과 가는 선 영역들을 포함하는 가는 선 후보 형태에 대응되도록, 상기 복수개의 세부 영역들을 배경 후보 영역들과 가는 선 후보 영역들로 구분하는, 화상형성장치.
  13. 제 12 항에 있어서,
    상기 제어부는, 상기 배경 후보 영역들에 대응되는 화소들의 화소값과 상기 가는 선 후보 영역들에 대응되는 화소들의 화소값을 비교하여, 상기 후보 영역에 포함된 상기 가는 선이 상기 가는 선 후보 형태에 매칭되는지 판단하고, 상기 가는 선이 상기 가는 선 후보 형태에 매칭되면, 상기 가는 선 후보 형태를 상기 가는 선의 형태로 결정하는, 화상형성장치.
  14. 제 13 항에 있어서,
    상기 제어부는, 상기 세부 영역 별 최소 화소값을 선택하여, 상기 배경 후보 영역으로 구분된 세부 영역의 최소 화소값보다 상기 가는 선 후보 영역으로 구분된 세부 영역의 최소 화소값이 더 작으면, 상기 가는 선의 형태가 상기 가는 선 후보 형태에 매칭되는 것으로 판단하고, 상기 가는 선을 상기 가는 선 후보 형태를 갖는 포지티브 가는 선(positive thin line)으로 결정하는, 화상형성장치.
  15. 제 13 항에 있어서,
    상기 제어부는, 상기 세부 영역 별 최대 화소값을 선택하여, 상기 배경 후보 영역으로 구분된 세부 영역의 최대 화소값보다 상기 가는 선 후보 영역으로 구분된 최대 화소값이 더 크면, 상기 가는 선이 상기 가는 선 후보 형태에 매칭되는 것으로 판단하고, 상기 가는 선을 상기 가는 선 후보 형태를 갖는 네거티브 가는 선(negative thin line)으로 결정하는, 화상형성장치.
  16. 제 13 항에 있어서,
    상기 제어부는, 상기 결정된 가는 선의 형태에 대응되는 화소들의 화소값들이 임계 범위 내인지 여부를 판단하여, 상기 결정된 가는 선의 형태를 확인하는, 화상형성장치.
  17. 제 11 항에 있어서,
    상기 제어부는, 상기 화상 데이터의 저해상도 이미지에 포함된 가는 선의 형태가 상기 결정된 가는 선의 형태와 일치하는 경우, 상기 가는 선을 검출하는, 화상형성장치.
  18. 제 17 항에 있어서,
    상기 저해상도 이미지는, 상기 화상 데이터의 화소들의 평균 화소값을 이용하여 생성된 이미지인, 화상형성장치.
  19. 제 11 항에 있어서,
    상기 제어부는, 상기 가는 선에 대응되는 화소들이 동일한 화소값을 갖도록 조정하는, 화상형성장치.
  20. 제 1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020150115416A 2015-08-17 2015-08-17 가는 선 검출 방법 및 이를 위한 장치 KR102130815B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150115416A KR102130815B1 (ko) 2015-08-17 2015-08-17 가는 선 검출 방법 및 이를 위한 장치
US15/076,940 US20170053179A1 (en) 2015-08-17 2016-03-22 Method and apparatus for detecting thin line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150115416A KR102130815B1 (ko) 2015-08-17 2015-08-17 가는 선 검출 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20170021071A true KR20170021071A (ko) 2017-02-27
KR102130815B1 KR102130815B1 (ko) 2020-07-06

Family

ID=58157665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150115416A KR102130815B1 (ko) 2015-08-17 2015-08-17 가는 선 검출 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US20170053179A1 (ko)
KR (1) KR102130815B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285764A1 (en) * 2005-06-20 2006-12-21 Xerox Corporation Model-based line width control
JP2008182701A (ja) * 2007-01-23 2008-08-07 Xerox Corp 分散型微小セキュリティ・マークを用いる偽造防止
US7844118B1 (en) * 2009-07-01 2010-11-30 Xerox Corporation Image segmentation system and method with improved thin line detection
US20100310178A1 (en) * 2009-06-08 2010-12-09 Xerox Corporation Fuzzy method to detect thin lines in scanned image

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6043802A (en) * 1996-12-17 2000-03-28 Ricoh Company, Ltd. Resolution reduction technique for displaying documents on a monitor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060285764A1 (en) * 2005-06-20 2006-12-21 Xerox Corporation Model-based line width control
JP2008182701A (ja) * 2007-01-23 2008-08-07 Xerox Corp 分散型微小セキュリティ・マークを用いる偽造防止
US20100310178A1 (en) * 2009-06-08 2010-12-09 Xerox Corporation Fuzzy method to detect thin lines in scanned image
US7844118B1 (en) * 2009-07-01 2010-11-30 Xerox Corporation Image segmentation system and method with improved thin line detection

Also Published As

Publication number Publication date
US20170053179A1 (en) 2017-02-23
KR102130815B1 (ko) 2020-07-06

Similar Documents

Publication Publication Date Title
US7509060B2 (en) Density determination method, image forming apparatus, and image processing system
US20080019746A1 (en) Image processing apparatus and control method thereof
US8019113B2 (en) Image processing apparatus, control method therefore, program, and storage medium
US11889038B2 (en) Image processing apparatus and image processing method
US11818310B2 (en) Image processing apparatus and method for determining image data from reading printed document with or without applying light to extract embedded information
US11818316B2 (en) Image processing apparatus and method for embedding specific information based on type of designated printing apparatus
JP2009075751A (ja) 画像処理装置、画像処理方法、そのプログラムおよびコンピュータ読み取り可能な記憶媒体
US8228551B2 (en) Image processing method and image processing apparatus
JP2010004383A (ja) 画像処理装置およびカラー原稿判定方法
US7835045B2 (en) Image processing device and image processing method
CN110870294B (zh) 图像形成装置的基于特性的操作
CN107920184B (zh) 图像处理装置以及图像处理方法
KR102130815B1 (ko) 가는 선 검출 방법 및 이를 위한 장치
JP2018182464A (ja) 画像処理装置及びプログラム
JP2017135690A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2010135911A (ja) 画像処理装置及びその方法、並びに、コンピュータプログラムおよび記憶媒体
JP5989038B2 (ja) 画像表示装置、画像形成装置、属性表示方法、コンピュータプログラム及び記録媒体
JP6016844B2 (ja) 画像読取装置
JP2010283464A (ja) 画像処理装置及び画像処理方法
JP2007074548A (ja) 画像形成装置
JP2022024903A (ja) 画像処理装置および画像形成装置
JP4438469B2 (ja) 画像処理装置および方法
JP5371687B2 (ja) 画像表示装置、画像形成装置、画像表示方法、コンピュータプログラム及び記録媒体
JP2020123898A (ja) 画像処理装置、画像形成装置、画像処理プログラムおよび画像処理方法
US20190289168A1 (en) Image processing apparatus, image processing method, and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant