KR100421987B1 - 오차확산 처리방법 - Google Patents

오차확산 처리방법 Download PDF

Info

Publication number
KR100421987B1
KR100421987B1 KR10-2001-0076983A KR20010076983A KR100421987B1 KR 100421987 B1 KR100421987 B1 KR 100421987B1 KR 20010076983 A KR20010076983 A KR 20010076983A KR 100421987 B1 KR100421987 B1 KR 100421987B1
Authority
KR
South Korea
Prior art keywords
value
input pixel
pixel
threshold
noise
Prior art date
Application number
KR10-2001-0076983A
Other languages
English (en)
Other versions
KR20030046749A (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 KR10-2001-0076983A priority Critical patent/KR100421987B1/ko
Priority to US10/199,003 priority patent/US7301673B2/en
Publication of KR20030046749A publication Critical patent/KR20030046749A/ko
Application granted granted Critical
Publication of KR100421987B1 publication Critical patent/KR100421987B1/ko

Links

Classifications

    • 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
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
    • H04N1/4053Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions with threshold modulated relative to input image data 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/40Picture signal circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

입력계조영상으로부터 향상된 화질의 이진영상을 얻기 위한 개선된 오착확산 처리방법이 개시된다. 오차확산은 계조값에 따른 입력화소의 이진값을 판단하고, 판단된 결과에 따라 선행처리된 동일 이진값을 갖는 최근거리의 화소를 탐색하여 두 화소 사이의 측정거리 및 미리 설정된 입력화소의 계조값에 따른 적정거리를 통해 제1 문턱조정값을 산출한다. 또한, 입력영상에 노이즈 어레이를 적용하여 입력화소의 노이즈값에 따른 제2 문턱조정값을 산출한다. 그리고 제1 및 제2 문턱조정값을 고려하여 입력화소의 이진값을 결정하기 위한 문턱값을 조정한다. 이렇게 조정된 문턱값과 입력화소의 계조값을 비교하여 입력화소의 이진값을 결정하고, 입력화소의 결정된 이진값을 저장한다. 이후, 입력화소의 계조값과 입력화소의 결정된 이진값 사이의 오차값을 오차확산계수에 따른 주변화소에 전파하여 주변화소의 계조값이 수정될 수 있도록 한다. 또한, 입력화소의 이진화에 의한 대각선 패턴을 감소시키면서 수직패턴을 지향하도록 제3 조정문턱값을 문턱값에 반영시킨다. 이에 따라 영역별로 이진값을 균일하게 분포시킬 수 있으며, 노이즈를 통한 불규칙적인 패턴에 의해 시각적인 거슬림을 줄일 수 있어 화질을 개선할 수 있게 된다.

Description

오차확산 처리방법{Error diffusion processing method}
본 발명은 입력계조영상을 이진영상으로 변환하는 하프토닝(halftoning: 간색) 에 관한 것으로서, 특히, 입력화소값과 그 이진결과값 사이의 오차를 후속 처리될 주변의 다른 화소에 영향을 주어 화질을 개선할 수 있도록 하는 오차확산(error diffusion) 처리방법에 관한 것이다.
디지털 프린터, 복사기, 이진출력 LCD와 같은 이진출력장치에서는 실질적으로 흑과 백 두가지 색만으로 다양한 색감을 전달하게 된다. 예를 들어 흑백 디지털 프린터의 경우 모니터에서 보여지는 흑백영상을 흑과 백의 두 값으로만 표시한다. 이때, 모니터에서 표시된 다양한 밝기의 흑백영상을 흑백 프린터로 출력하기 위해서 프린터 또는 PC에서는 입력영상을 이진영상으로 변환하기 위한 일련의 과정이 요구된다. 즉, 각 픽셀이 갖는 색을 0 ~ 255의 밝기 값으로 나타낸 그레이 스케일의 이미지로 변환하는 과정과, 그레이 스케일의 이미지를 이진영상으로 변환하는 과정이 요구된다. 여기서 0(흑색) ~ 255(백색) 사이의 밝기 값을 갖는 영상을 계조영상이라 하며, 이 계조영상을 이진영상으로 변환화는 과정을 하프토닝이라 한다. 이러한 하프토닝 방법에는 여러가지가 있으며, 대표적인 방법으로 오차확산 처리방법이 많이 이용되고 있다.
도 1은 Floyed와 Steinberg에 의해 최초 제안된 오차확산 처리방법이 적용된 이진화 출력장치의 블록도이다. 도면에서 'x(m,n)'은 연속 계조영상의 입력화소값이며, 'b(m,n)'은 입력화소값의 이진화 결과값이다. 'e(m,n)'은 입력화소값이 이진화 결과값으로 변환될 때 발생되는 오차값이며, 'u(m,n)'은 입력화소값이 오차값에 의해 변환되어 나타난 수정된 계조값이다. 이때, 오차값은 오차확산 계수 'w(k,l)'에 의해 주위 화소로 전파되며, 수정된 계조값은 고정된 임계값(이진화 문턱값)'T'와 비교되어 흑 또는 백의 이진값으로 결정된다. 즉, 수정된 계조값이 임계값 'T'보다 크면 흰점으로, 적으면 검은점으로 나타나도록 한다. 이와 같은 과정은 모든 화소들에 대해 반복적으로 적용되며, 이를 통해 입력 계조영상이 이진영상으로 변환되는 것이다. 위에서 오차확산과정은 다음의 수학식으로 나타낼 수 있다.
여기서, 'e(m,n)'이 전파될 주변화소들의 집합이며, e(m,n) = u(m,n) - b(m,n) 이다. 그리고 'b(m,n)'은 'u(m,n)'이 임계값 'T' 이상이면 '255' 값을, 그 외에는 '0'의 값을 갖는다.
그러나 위와 같은 플로이드-스타인버그의 오착확산 처리방법에서는 검은점들 또는 흰점들의 분포가 눈에 잘 보이는 영역에서는 균일하게 분포되지 못하여 눈에 거슬리는 가시적인 패턴(artifact)이 나타난다는 문제점이 있었다.
위와 같은 문제점을 개선하기 위하여 제안된 방법들은 크게 두가지로 구분될 수 있다. 첫번째는 오차확산계수를 새롭게 정의하는 방법이며, 두번째는 고정된 이진문턱값을 변화시키는 방법이다.
오차확산 계수를 새롭게 정의하는 방법은 오차확산계수의 크기를 증가시킬수록 눈에 거슬리는 가시적인 패턴이 상대적으로 감소하는 경향을 갖게 된다. 그러나 오착확산계수의 크기가 증가할수록 영상을 이진화하기 위해 많은 수의 메모리가 요구되며, 계산시간이 증가하는 문제점이 발생한다.
또한, 이진문턱값을 변화시키는 오차확산 처리방법은 Eschbach가 미합중국 특허 US5535019 문서에 제안한 이진문턱값 변화를 통한 전파방법과 Marcu가 제안한 미합중국 특허 US6160921 문서에 제안한 로드맵(roadmap)을 이용한 방법을 들 수 있다.
Eschbach는 이진화 오차를 주위화소에 전파하여 주위화소의 계조값을 수정하는 과정과 유사하게 이진문턱값 자취라 정의된 함수를 주위화소로 전파하고, 주위화소의 이진화시에 이진화문턱값이 변화되도록 하였다. 즉, 검은점들 또는 흰점들 사이의 균일한 분포를 위해 이진화하는 입력화소의 계조값과 이진화된 결과에 따라 주위화소가 검은점 또는 흰점을 발생하도록 이진문턱값을 조절하는 것이다. 이러한 Eschbach의 방법은 Floyed-Steinberg의 오차확산 처리방법에 비해 보다 검은점들 또는 흰점들이 균일한 분포를 갖는 이진영상을 생성한다. 하지만 Eschbachd의 방법은 이진영상의 밝은 영역의 경계영역에서 검은점이 나타나지 않는 공백영역이 발생하는 문제점이 있었다. 또한, 이진문턱값을 계산하는 과정이 복잡기 때문에 연산량이 증가하여 처리속도가 둔화되는 문제점이 있었다.
한편, Marcu는 입력화소의 계조값에 따라 두가지 방법을 이용하여 입력영상을 이진화하도록 하고 있다. 즉, 균일한 분포가 중요한 밝은 계조(39 이하)와 어두운 계조(216 이상)의 범위를 각각 설정한 후, 각각의 범위 내에 해당하는 계조값을 갖는 입력화소는 로드맵을 이용하여 이진화를 수행하며, 중간계조값을 갖는 입력화소에 대해서는 Floyed-Steinberg의 오차확산 처리방법을 적용하였다. 다시말하면, 마크가 제안한 방법은 입력영상의 밝기에 따라 균일한 분포를 나타낼 수 있는 검은점들 또는 흰점들 사이의 상대적인 위치를 미리 정한 후, 오차확산 과정에 따른 이진문턱값의 비교없이 미리정한 상대적인 위치에 따라 검은점 또는 흰점으로 이진화 하도록 한 것이다. 이러한 Marcu의 방법은 검은점들 또는 흰점들의 상대적인 위치를 판단하기 위하여 검은점들과 흰점들의 위치를 저장하는 과정이 요구되어 메모리의 요구가 많다는 문제점이 있다.
위와 같이 Eschbach와 marcu의 오차확산 처리방법은 밝은 영역과 어두운 영역에서 각각 비교적 검은점 또는 흰점이 균일하게 분포되도록 하고는 있으나 입력영상의 중간계조 영역에서 눈에 거슬리는 패턴을 해결하지 못하여 출력물의 시각적 화질을 개선시키지 못하는 문제점이 있었다.
이와 같은 문제점을 해결하기 위하여 본 발명자는 대한민국 특허출원(출원번호, 99-53325) 문서에 밝은 영역과 어두운 영역 그리고 중간계조에서도 눈에 거슬리는 패턴을 감소시킬 수 있는 거리 제약을 통한 오차확산 처리방법을 제안한 바 있다.거리 제약을 통한 오차확산 처리방법은 밝은 영역에서의 검은점과, 어두운 영역에서의 흰점들 사이의 이상적인 거리를 각각 미리 설정하고, 실제 측정된 검은점들 또는 흰점들 사이의 거리가 이상적인 거리를 유지할 수 있도록 이진문턱값을 조절하도록 하였다.
그러나 종래의 거리제약을 통한 오차확산 처리방법에서도 이진출력은 미리 정해진 격자상에 위치하므로 이상적인 거리와 측정된 거리가 동일할 수는 없다. 따라서 이전에 제안된 오차확산 처리방법들에 비해서는 화질이 개선되었을지라도 특정 부분에서는 눈에 거슬리는 패턴이 발생하는 문제점이 있었다.
또한, 잉크젯 프린터와 같은 이진출력장치는 노즐을 통해 가로방향으로 여러차례 인쇄를 수행하도록 구성되어 있다. 이에 따라 이진출력영상의 패턴이 벌레모양의 대각선으로 발생되면 노즐의 움직임에 따라 각 인쇄단위 사이에 흑점이 제대로 인쇄되지 않는 밴딩현상이 발생하는 문제점이 있었다.
본 발명의 목적은 상기와 같은 문제점을 해결하기 위하여 특정부분에서도 눈에 거슬리는 패턴을 감소시킬 수 있으면서 대각선 패턴이 발생하지 않고 수직패턴을 지향할 수 있도록 하는 개선된 오차확산 처리방법을 제공하는 데 있다.
도 1은 종래 Floyed-Steinberg의 오차확산 처리방법을 적용한 이진출력장치의 블록도,
도 2는 본 발명에 따른 오차확산 처리방법을 적용한 이진출력장치의 블록도,
도 3은 본 발명에 따른 오차확산 처리방법의 개요를 나타낸 순서도,
도 4a 및 도 4b는 도 3의 제1 문턱조정값 산출과정을 나타낸 순서도,
도 5a 및 도 5b는 도 3의 제2 문턱조정값 산출 과정을 나타낸 순서도,
도 6a 및 도 6b는 도 3의 제3 문턱조정값 산출과정을 나타낸 순서도, 그리고
도 7은 입력영상의 좌표값을 표시한 도면이다.
*도면의 주요부분에 대한 부호의 설명*
10, 110: 비교부 20, 120: 오차확산부
130: 대각선패턴검출부 140: 노이즈산출부
150: 거리계산부
상기의 목적을 달성하기 위한 본 발명의 오차확산 처리방법은, 입력화소의 계조값에 따라 처리될 도트의 종류를 예측하는 단계; 상기 예측 결과에 따라 상기 입력화소로부터 최근접 위치의 동종 도트를 갖는 화소를 탐색하는 단계; 상기 입력화소와 상기 최근접 위치에 있는 화소 사이의 거리를 측정하고, 상기 두 화소 사이의 거리와 미리 설정된 계조값에 따른 적정거리와의 차에 따라 제1 문턱조정값을 산출하는 단계; 입력영상에 노이즈 어레이를 적용하여 상기 입력화소의 노이즈값에 따른 제2 문턱조정값을 산출하는 단계; 상기 제1 및 제2 문턱조정값을 고려하여 상기 입력화소의 이진값을 결정하기 위한 문턱값을 조정하는 단계; 상기 입력화소의 계조값과 상기 문턱값을 비교하여 상기 입력화소의 이진값을 결정하는 단계; 및 상기 입력화소의 계조값과 상기 입력화소의 결정된 이진값 사이의 오차값을 오차확산계수에 따라 상기 입력화소의 주변화소에 전파하여 상기 주변화소의 계조값을 수정하는 단계;를 포함한다.
여기서, 상기 제1 문턱값 산출단계는, 상기 입력화소의 위치값과 상기 입력화소로부터 최근접 위치의 동종도트를 갖는 상기 화소 각각의 위치값을 통해 상기 두 화소 사이의 거리를 계산하는 단계; 계조값에 따라 두 화소 사이의 적정거리가 미리 설정된 룩업테이블로부터 상기 두 화소 사이의 적정거리를 획득하여 상기 두 화소 사이의 측정거리와 비교하는 단계; 및 상기 비교결과를 토대로 가중치를 부가하여 상기 제1 문턱조정값을 계산하는 단계;를 포함한다.
또한, 상기 제2 문턱값 산출단계는, 상기 입력영상을 소정크기의 상기 노이즈 어레이에 각각 대응되는 다수의 영역으로 구획하는 단계; 상기 입력화소를 포함하는 영역의 상기 노이즈 어레이로부터 상기 입력화소에 대응되는 노이즈 설정값과 상기 최근접 위치의 동종도트를 갖는 화소의 노이즈 설정값을 각각 검출하는 단계; 및 상기 두 노이즈 설정값의 차이값에 따라 상기 제2 문턱조정값을 계산하는 단계;를 포함한다.
또한, 상기 오차확산 처리방법은, 상기 입력화소의 계조값에 따라 상기 입력화소와 상기 최근접 위치의 동종 도트를 갖는 화소가 대각선 위치에 존재하면, 상기 대각선 패턴을 회피하기 위한 제3 문턱조정값을 산출하는 단계;를 더 포함하며, 상기 문턱값 조정단계에서는 상기 제3 문턱조정값을 더 고려하여 상기 문턱값을 조정되도록 한다.
이상과 같은 오차확산 처리방법은 각 화소의 종류별 도트에 대하여 거리제약을 통해 이진영상의 이진출력 분포를 균일하게 할 수 있다. 또한, 대각선패턴을 회피하면서 수직패턴을 지향하게 되어 이진영상의 밴딩현상을 없앨 수 있게 한다.
이하 첨부한 도면을 참조하여 본 발명을 상세하게 설명한다.
도 2는 본 발명에 따른 오차확산 처리방법이 적용된 이진출력장치의 블록도이다. 이진출력장치는 비교부(110)와, 오차확산부(120)와, 거리계산부(130)와, 노이즈산출부(140) 및 대각선패턴검출부(150)를 포함한다.
비교부(110)는 입력화소의 계조값 'x(m,n)'을 문턱값 'T(m,n)'과 비교하여 입력화소 '(m,n)'의 이진값 'b(m,n)'을 결정한다.
오차확산부(120)는 입력화소의 계조값 'x(m,n)'과 결정된 이진값 'b(m,n)' 사이의 오차값 'e(m,n)'을 오차확산계수 'w(k,l)'에 의해 주변화소에 전파한다.
거리계산부(150)는 입력화소의 계조값 'x(m,n)'을 통해 예측된 도트의 종류에 따라 선행처리된 최근접 위치의 동종도트를 갖는 화소와 입력화소 사이의 거리를 통해 문턱값 'T(m,n)'을 조정하기 위한 제 1문턱조정값을 산출한다.
노이즈산출부(140)는 노이즈 어레이를 통하여 입력화소에 대응되는 노이즈값과 입력화소의 계조값 'x(m,n)'에 따라 입력화소의 예측된 이진값과 선행처리된 최근접 위치의 동종도트를 갖는 화소 각각의 노이즈값을 통해 문턱값 T(m,n)을 조정하기 위한 제2 문턱조정값을 산출한다.
그리고 대각선패턴검출부(150)는 입력화소의 계조값 'x(m,n)'에 따라 예측된 이진값과 선행처리된 최근접 위치의 동종도트를 갖는 화소가 대각선의 위치에 있는가를 판단하고, 입력화소에 의한 대각선 패턴을 회피할 수 있도록 문턱값 T(m,n)을 조정하기 위한 제 3문턱조정값을 산출한다.
도면에서, 'x(m,n)'은 연속 계조영상의 입력화소값이며, 'b(m,n)'은 입력화소값의 이진화 결과값이다. 'e(m,n)'은 입력화소의 계조값과 이진화 결과값 사이의 오차값이며, w(k.l)은 오차값에 따른 확산계수, 그리고 'u(m,n)'은 입력화소값이 오차값에 의해 변환되어 나타난 수정된 계조값이다. 즉, 'u(m,n)은 주변화소들의 수정된 계조값이다. 't(m,n)은 입력화소의 계조값으로부터 문턱값 'T(m,n)을 조정하기 위하여 거리계산부(150)를 통해 산출된 제1 문턱조정값이며, 'n(m,n)'은 입력화소의 계조값으로부터 문턱값 'T(m,n)을 조정하기 위하여 노이즈산출부(140)를 통해 산출된 제2 문턱조정값이다. 그리고 d(m,n)은 입력화소의 계조값으로부터 문턱값 'T(m,n)을 조정하기 위하여 대각선패턴검출부(130)를 통해 산출된 제3 문턱조정값이다.
위와 같은 이진화 출력장치에서 오차값 'e(m,n)'은 오차확산 계수 'w(k,l)'에 의해 주위 화소로 전파되며, 수정된 계조값 'u(m,n)'은 제1, 제2 그리고 제3 문턱조정값에 의해 조정된 임계값(이진화 문턱값) 'T(m,n)'과 비교되어 흑 또는 백의 이진값 'b(m,n)'을 결정한다. 즉, 수정된 계조값 'u(m,n)'이 조정된 임계값 'T(m,n)'보다 크면 검은점으로, 적으면 흰점으로 입력화소 (m,n)은 이진화 된다. 이와 같은 과정은 모든 화소들에 대해 반복적으로 적용되며, 이를 통해 입력계조영상이 이진영상으로 변환된다.
도 3은 도2에 보인 이진출력장치의 동작을 설명하는 순서도이다. 먼저, 장치는 연속계조영상의 (m,n)번째 화소가 입력되면, 입력화소의 계조값 'x(m,n)'으로부터 입력화소의 이진값을 예측한다(S310). 그리고 거리계산부(150)에서는 입력화소의 예측된 이진값과 동일한 이진값을 갖는 최근접 화소(m0,n0) 사이의 거리를 측정하고, 입력화소의 계조값에 따라 주변화소와의 적정거리가 미리 설정된 룩업테이블로부터의 두 화소 사이의 적정거리를 측정거리와 비교하여 그 차이값에 따라 입력화소의 이진화 문턱값을 조정하기 위한 제1 문턱조정값을 산출한다(320).
여기서, 룩업테이블에 정의된 두 화소 사이의 적정거리 'λx(m,n)'는, 이진영상의 이상적인 주파수의 역수로 정의한다.
이진영상의 이상적인 주파수 'fp(x(m,n))'는 다음 수학식 2로 정의하며,
수학식 2를 통한 두 화소사이의 적정거리 'λx(m,n)'는 다음 수학식 3으로 정의된다.
위 수학식 3을 이용하여 동일 이진값을 갖는 두 화소사이의 적정거리'λx(m,n)'(이하, λx라 한다)가 정의된 룩업테이블로부터 입력화소의 계조값에 따른 두 화소의 적정거리 'λx'와 탐색을 통한 두 화소사이의 측정거리 'dmin'의 차를 이용하여 제1 문턱조정값 't(m,n)'을 산출하게 된다.
거리계산부(150)에서 제1 문턱조정값을 산출하는 과정을 도 4a 및 4b를 참조하여 살펴본다. 먼저, 도 4a에서 입력화소의 계조값이 중간계조값보다 크면(S410), 입력화소로부터 설정된 범위 내의 위치저장 룩업테이블에 기록된 선행처리된 화소들중 최근거리에 위치한 검은점을 탐색한다(S420). 그리고 입력화소와 검출된 최근거리의 검은점 사이의 거리 'dmin'을 계산한다(S430). 이후, 두 화소사이의 측정거리 'dmin'과 룩업테이블에서 검색된 적정거리 'λx'를 비교한다(S440). 그리고 비교결과에 따른 차이값에 따라 미리 설정된 가중치 'Ax(m,n)'(이하, Ax라 한다)가 기록된 룩업테이블로부터 가중치 'Ax(m,n)'를 획득하여 제1 문턱조정값 't(m,n)'을 산출한다(S450). 여기서, 측정거리 'dmin'가 적정거리 'λx'보다 크면(S440), (m,n)번째 화소가 검은점으로 이진화되도록 유도하기 위하여 제1 문턱조정값 't(m,n)'은 양수값을 가진다.(S452). 이때, 가중치 'Ax'는 양수값을 가진다. 반면, 측정거리 'dmin'가 적정거리 'λx'보다 적으면(S440), (m,n)번째 화소가 흰점으로 이진화되도록 유도하기 위하여 제1 문턱조정값 't(m,n)'은 음수값을 가진다. 이때, 가중치 'Ax'는 음수값을 가진다.
한편, 입력화소의 계조값이 중간계조값보다 적으면(S410), 도 4b에서와 같은 과정을 수행한다. 도 4b에서는 도 4a의 단계 (420)에서처럼 입력화소로부터 최근거리의 흰점을 탐색한다(S460). 그리고 이미 처리된 입력화소들의 위치가 저장되어 있는 위치저장룩업테이블에 기록된 선행처리된 화소들중 입력화소로부터 설정된 범위 내에 있으면서 최근거리에 위치한 흰점을 탐색한다(S470). 그리고 입력화소 '(m,n)'과 흰점이 검출된 최근거리 화소 사이의 거리 'dmin'을 계산한다(S430). 이후, 두 화소사이의 측정거리 'dmin'과 룩업테이블에서 검색된 적정거리'λx'를 비교한다(S440). 그리고 비교결과에 따른 차이값에 따라 미리 설정된 가중치 'Ax(m,n)'이하, Ax라 한다)가 기록된 룩업테이블로부터 가중치 'Ax(m,n)'를 획득하여 제1 문턱조정값 't(m,n)'을 산출한다(S450). 여기서, 측정거리와 적정거리의 비교결과에 따른 제1 문턱조정값 't(m,n)'은 입력화소가 검은점인 경우의 반대 값을 각각 갖게 된다.
위와 같은 제1 문턱조정값 't(m,n)'의 산출과정(330)을 통해 검은점들과 흰점들은 각각 최대한 이상적인 거리를 가지면서 균일하게 분포된다. 하지만 점이 출력되는 격자상에서 계산되는 거리와 적정거리는 실제적으로 일치되기 어려우므로 적정거리가 적은값을 가지는 중간계조에서는 화질을 저하시키는 패턴이 나타나게 된다. 또한, 검은점들과 흰점들이 규칙적으로 균일하게 분포되므로 도트(dot)가 사람의 눈에 쉽게 띄일 수 있다. 이에 따라 본 발명에서는 입력영상의 구획된 일영역에 노이즈 어레이를 적용하여 규칙적인 분포에 의해 화질이 저하되는 문제를 해결한다.
다시 도 3을 참조하면, 제1 문턱조정값 't(m,n)'을 산출한 후(S320), 입력영상의 구획된 일영역에 노이즈 어레이를 적용하여 문턱값을 조정하기 위한 제2 문턱조정값 'n(m,n)'을 노이즈 산출부(140)를 통해 산출한다(S330). 여기서 노이즈 어레이는 '32 ×32'의 크기로 형성하며, 각 화소에 대응되는 노이즈 어레이의 각 노이즈값은 1~254 사이의 값을 갖도록 한다. 또한, 각 노이즈 어레이의 각 노이즈 값은 고정된 값을 갖도록 한다. 즉, 동일한 노이즈 어레이가 구획된 각 영역에 대응되도록 한다.
도 5a 및 5b를 참조하여 제2 문턱조정값 'n(m,n)'을 산출 과정을 자세히 설명한다. 먼저, 입력화소의 계조값 'x(m,n)'이 중간계조값 '128'보다 크면(S510), 입력영상의 구획된 다수의 영역중 입력화소 (m,n)을 포함하는 영역에 대응되는 노이즈 어레이를 통하여 입력화소에 대응되는 노이즈값 'N(m,n)'과 입력화소(m,n)로부터 최근거리에 위치한 검은점의 위치에 대응되는 노이즈값 'N(m0,n0)'을 각각 검출한다(S520). 이와 달리, 'x(m,n)'이 중간계조값 '128'보다 작거나 같은 경우, 입력영상의 구획된 다수의 영역중 입력화소 (m,n)을 포함하는 영역에 대응되는 노이즈 어레이를 통하여 입력화소에 대응되는 노이즈값 'N(m,n)'과 입력화소(m,n)로부터 최근거리에 위치한 횐점 위치에 대응되는 노이즈값 'N(m0,n0)'을 검출한다(S540). 그리고 각각 검출된 두 노이즈 값의 차값을 구하여 미리 설정된 수 '8'로 나누어 입력화소의 노이즈값으로 결정하고, 그 노이즈 값에 따라 제2 문턱조정값 'n(m,n)'을 산출한다(S530). 여기에서 각 화소에 대응되는 노이즈 어레이의 노이즈값을 제2 문턱조정값으로 산출할 수도 있으나, 두 노이즈값을 이용하는 이유는 보다 더 불규칙적인 문턱조정값의 산출을 통해 이진값의 균일분포에 대한 시각적인 거슬림을 감소시키기 위한 것이다.
한편, 입력화소의 계조값 'x(m,n)'이 중간계조값 이하이면, 입력영상의 구획된 다수의 영역중 입력화소 (m,n)을 포함하는 영역에 대응되는 노이즈 어레이를 통하여 입력화소에 대응되는 노이즈값 'N(m,n)'과 입력화소(m,n)로부터 최근거리에 위치한 흰점의 위치에 대응되는 노이즈값 'N(m0,n0)'을 각각 검출한다(S540). 그리고 각각 검출된 두 노이즈 값의 차값을 구하여 미리 설정된 수 '8'로 나누어 반대부호를 부가하여 입력화소의 노이즈값으로 결정하고, 그 노이즈값을 문턱값 'T(m,n)'을 조정하기 위한 제2 문턱조정값 'n(m,n)'으로 산출한다(S550). 즉, 입력화소의 계조값에 따른 이진값 판단결과에 따라 제2 문턱조정값은 서로 반대값을 갖게 된다.
위와 같이 산출된 제2 문턱조정값에 의해 이진영상은 검은점들 또는 흰점들의 규칙적인 배열에 의한 시각적인 거슬림을 감소시킬 수 있게 된다.
다시 도 3으로 돌아가서 이진화 출력장치는 노이즈 어레이를 적용한 제2 문턱조정값 'n(m,n)'을 산출한 후(S330), 대각선패턴검출부(130)에서 입력화소(m,n)의 이진화에 의해 선행처리된 화소와의 대각선 패턴이 발생되는 것을 회피하기 위한 제3 문턱조정값 'd(m,n)'을 산출한다(S340).
도 6a 및 6b를 참조하여 제3 문턱조정값 'd(m,n)'의 산출과정을 설명하면 다음과 같다. 먼저, 도 7과 같은 좌표값을 갖는 영상에서, 대각선패턴검출부(130)는 입력화소의 계조값 x(m,n)이 중간계조값 보다 큰 경우와 작거나 같은 경우로 나누어 처리한다. 입력화소의 계조값 x(m,n)이 '128'보다 큰 경우 b(m0,n0)는 검은점이 되며, '128'보다 작거나 같은 경우 b(m0,n0)는 흰점이 된다. 입력화소의 계조값 x(m,n)이 중간계조값 '128' 보다 크면(S610), 입력화소(m,n)로부터 좌우측의 대각선 위치(m-1,n-1) 또는 (m+1,n-1)가 검은점인지를 판단한다(S620). 두 화소 가운데 어느 한 화소가 검은점으로 이진화되어 있다면, 현재 입력화소가 검은점으로 잊진화 될 경우, 대각선 패턴이 발생하게 되므로 이를 회피하기 위하여, 제3 문턱조정값 'd(m,n)'은 미리 설정된 문턱조정값 '-20'으로 결정한다(S630). 또한, 입력화소 (m,n)으로부터 수직 상단의 위치 (m, n-1)이 검은점인지를 판단한다(S640). 만일, (m,n-1)이 검은점이라면 제3 문턱조정값 'd(m,n)'은 미리 설정된 '20'을 출력하여 입력화소 (m,n)이 검은점으로 이진화될 수 있도록 한다(S650).
도 6b는 입력화소의 계조값이 중값계조값 '128'보다 작거나 같을 경우에 수행된다. 입력화소의 계조값이 중간계조값 '128'보다 작을 경우, 도 6a와는 반대로 흰점에 대해 대각선 패턴과 수직 패턴을 검출한다. 우선 입력화소(m,n)으로부터 좌우측 대각선 위치인 (m-1,n-1) 또는 (m+1,n-1)이 흰점인지를 판단한다(S660). 두 화소들 중 어느 한 화소가 흰점으로 이진화되어 있다면, 현재 입력 화소가 이진화 될 경우 흰점에 대한 대각선 패턴이 발생하게 되므로 이를 회피하기 위하여, 제2 문턱조정값 'd(m,n)'을 미리 설정된 문턱조정값 '20'으로 결정한다(S650). 대각선 위치 (m-1,n-1) 또는 (m+1, n-1)이 흰점이 아닐 경우 (m,n)에 대해 수직위치인 (m,n-1)위치가 흰점인지를 판단한다(S670). (m,n-1)이 흰점일 경우 수직 패턴이 발생하도록 제3 문턱조정값 'd(m,n)은 미리 설정된 '-20'으로 결정한다(S630). 이와 같은 과정을 통해 입력화소의 계조값 x(m,n)이 중간계조값 보다 클 경우 검은점의 대각선 패턴이 감소하는 대신 검은점의 수직 패턴이 증가하게 되며, x(m,n)이 중간 계조값보다 작거나 같은 경우 흰점의 대각선 패턴이 감소하고 흰점의 수직 패턴이 증가하게 된다.
결국, 위와 같은 각 과정들을 통해 산출된 제1, 제2 그리고 제3 문턱조정값에 따라 입력화소의 이진값을 결정하기 위한 문턱값은 조정이 된다(S350). 문턱값 'T(m,n)'은 다음 수학식 4와 같이 나타낼 수 있다.
위와 같은 과정을 통해 문턱값이 조정된 후(S350), 입력화소의 계조값은 조정된 문턱값과 비교되며(S360), 비교된 결과에 따라 입력화소는 검은점 또는 흰점의 어느 한 점으로 이진화값이 결정된다(S370). 그리고 입력화소의 결정된 이진값은 후속 처리될 입력화소들로부터 거리가 계산될 수 있도록 위치와 함께 결정된 이진값을 저장한다(S380). 여기서 이진값의 위치 저장을 위한 메모리가 최소가 될 수 있도록 위치저장 룩업테이블이 이용된다.
위치저장 룩업테이블은 이진화된 화소들의 위치를 저장하기 위해 2차원 위치를 1차원의 정보로 변화시킴으로서 사용되는 메모리 양을 최소화하게 된다. 2차원 위치를 저장하는데 있어서는 y축에 대한 정보와 x축에 대한 정보를 분리하여 저장한다. 아래 표 1은 상위 라인의 2진 화소에 대한 y축 위치 정보 저장 예이다.
3 5 -2 7 1 7 -3 7 -3 7 1
표 1은 현재 이진화하는 화소의 상위 라인에서 연속적으로 발생하는 화소의 수를 나타낸다. 예를 들어, 3은 바로 위의 라인으로부터 수직 방향으로 연속 백점이 3개가 발생한다는 것을 의미하며, -2는 흑점이 연속해서 2개가 발생하였다는 것을 의미한다. 이러한 방식은 2차원 메모리를 이용하지 않고 1차원 메모리로서 상위 라인에 가장 가까이 존재하는 소수 화소의 y축상의 위치를 코드화하여 저장하는 효과를 나타낸다. 화소 (m,n)과 동일한 라인에 있는 이진 화소들에 대해서도 동일한 방법으로 x축에 대한 위치를 저장할 수 있다.
다시 도 3으로 돌아가서 장치는 입력화소에 대한 이진화값이 저장된 후(380), 입력화소의 계조값 'x(m,n)'과 이진화값 'b(m,n)' 사이의 오차값'e(m,n)'을 계산한다. 그리고 계산된 오차값 'e(m,n)'을 오차확산계수 'w(k,l)'에 따라 주변화소에 전파하여 주변화소의 계조값을 수정한다.
이상과 같은 본 발명의 오차확산 처리방법에 의하면 이진영상의 밝은 영역과 어두운 영역 그리고 각각의 경계영역에서 검은점들 또는 흰점들이 균일하게 분포되며, 노이즈를 통해 규칙적인 패턴에 의한 시각적인 거슬림을 줄일 수 있어 이진출력영상의 화질을 개선할 수 있게 된다.
또한, 입력화소의 이진화에 따른 도트가 대각선 방향으로 나열되지 않고 수직패턴을 지향할 수 있도록 함으로서, 가로방향의 벤딩현상을 감소시킬 수 있게 된다.
이상에서는 본 발명의 바람직한 실시예에 대하여 설명하였으나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 변형실시가 가능할 것이다.

Claims (8)

  1. 입력화소의 계조값에 따라 처리될 도트의 종류를 예측하는 단계;
    상기 예측 결과에 따라 상기 입력화소로부터 최근접 위치의 동종 도트를 갖는 화소를 탐색하는 단계;
    상기 입력화소와 상기 최근접 위치에 있는 화소 사이의 거리를 측정하고, 상기 두 화소 사이의 거리와 미리 설정된 계조값에 따른 적정거리와의 차에 따라 제1 문턱조정값을 산출하는 단계;
    입력영상에 노이즈 어레이를 적용하여 상기 입력화소의 노이즈값에 따른 제2 문턱조정값을 산출하는 단계;
    상기 제1 및 제2 문턱조정값을 고려하여 상기 입력화소의 이진값을 결정하기 위한 문턱값을 조정하는 단계;
    상기 입력화소의 계조값과 상기 문턱값을 비교하여 상기 입력화소의 이진값을 결정하는 단계; 및
    상기 입력화소의 계조값과 상기 입력화소의 결정된 이진값 사이의 오차값을 오차확산계수에 따라 상기 입력화소의 주변화소에 전파하여 상기 주변화소의 계조값을 수정하는 단계;를 포함하는 것을 특징으로 하는 오차확산 처리방법.
  2. 제 1항에 있어서,
    상기 제1 문턱조정값 산출단계는,
    상기 입력화소의 위치값과 상기 입력화소로부터 최근접 위치의 동종도트를 갖는 상기 화소 각각의 위치값을 통해 상기 두 화소 사이의 거리를 계산하는 단계;
    계조값에 따라 두 화소 사이의 적정거리가 미리 설정된 룩업테이블로부터 상기 두 화소 사이의 적정거리를 획득하여 상기 두 화소 사이의 측정거리와 비교하는 단계; 및
    상기 비교결과를 토대로 가중치를 부가하여 상기 제1 문턱조정값을 계산하는단계;를 포함하는 것을 특징으로 하는 오차확산 처리방법.
  3. 제 1항에 있어서,
    상기 제2 문턱조정값 산출단계는,
    상기 입력영상을 소정크기의 상기 노이즈 어레이에 각각 대응되는 다수의 영역으로 구획하는 단계;
    상기 입력화소를 포함하는 영역의 상기 노이즈 어레이로부터 상기 입력화소에 대응되는 노이즈 설정값과 상기 최근접 위치의 동종도트를 갖는 화소의 노이즈 설정값을 각각 검출하는 단계; 및
    상기 두 노이즈 설정값의 차이값에 따라 상기 제2 문턱조정값을 계산하는 단계;를 포함하는 것을 특징으로 하는 오차확산 처리방법.
  4. 제 3항에 있어서,
    상기 노이즈 어레이는 32 ×32의 크기인 것을 특징으로 하는 오차확산 처리방법.
  5. 제 3항에 있어서,
    상기 제2 문턱조정값은, 상기 입력화소의 계조값이 중간계조값 보다 큰 경우 최근 거리의 검은점의 위치에 대응하는 노이즈값 N(m0,n0)를 계산하고, 상기 입력화소의 계조값이 상기 중간계조값보다 작거나 같은 경우 최근 거리의 흰점의 위치에 대응하는 노이즈값 N(m0,n0)를 계산한 후 다음의 수학식을 통해 산출하는 것을 특징으로 하는 오차확산 처리방법:
    여기서, n(m,n): 입력화소의 노이즈 어레이를 통한 문턱조정값, N(m,n): 입력화소에 대응되는 노이즈 설정값, N(m0,n0)은 상기 노이즈값이다.
  6. 제 5항에 있어서,
    상기 제2 문턱조정값은, 상기 입력화소의 계조값이 중간계조값 이하 또는 미만의 값을 갖는 경우에, 상기 수학식의 결과값과 반대의 부호가 취해진 결과값으로 산출되는 것을 특징으로 하는 오차확산 처리방법.
  7. 제 1항에 있어서,
    상기 입력화소의 계조값에 따라 상기 입력화소와 상기 최근접 위치의 동종 도트를 갖는 화소가 대각선 위치에 존재하면, 상기 대각선 패턴을 회피하기 위한 제3 문턱조정값을 산출하는 단계;를 더 포함하며,
    상기 문턱값 조정단계에서는 상기 제3 문턱조정값을 더 고려하여 상기 문턱값을 조정하는 것을 특징으로 하는 오차확산 처리방법.
  8. 제 7항에 있어서,
    상기 제3 문턱조정값은, 다음 수학식에 의해 산출되는 것을 특징으로 하는 오차확산 처리방법:
    여기서, x(m,n)는 상기 입력화소의 계조값, b(m0,n0)는 상기 x(m,n)이 '128'보다 클 경우 최근거리의 검은점이고, 상기 x(m,n)이 '128'보다 작거나 같을 경우에는 최근 거리의 흰점, b(m-1,n-1) 및 b(m+1,n-1)는 (m,n)으로부터 상위라인의 좌우 대각선에 위치한 각 화소의 이진값, b(m-1,n)는 상기 입력화소에 대하여 수직방향에 위치한 화소의 이진값, 그리고 d(m,n)은 대각선 패턴 발생에 따른 문턱조정값이다.
KR10-2001-0076983A 2001-12-06 2001-12-06 오차확산 처리방법 KR100421987B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2001-0076983A KR100421987B1 (ko) 2001-12-06 2001-12-06 오차확산 처리방법
US10/199,003 US7301673B2 (en) 2001-12-06 2002-07-22 Error diffusion processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0076983A KR100421987B1 (ko) 2001-12-06 2001-12-06 오차확산 처리방법

Publications (2)

Publication Number Publication Date
KR20030046749A KR20030046749A (ko) 2003-06-18
KR100421987B1 true KR100421987B1 (ko) 2004-03-11

Family

ID=19716712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0076983A KR100421987B1 (ko) 2001-12-06 2001-12-06 오차확산 처리방법

Country Status (2)

Country Link
US (1) US7301673B2 (ko)
KR (1) KR100421987B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10205691A1 (de) * 2002-02-04 2003-08-14 Pilz Gmbh & Co Verfahren zum Überprüfen der Funktonssicherheit eines Bildsensors sowie Vorrichtung mit einem Bildsensor
US7706448B2 (en) * 2003-07-30 2010-04-27 Microsoft Corporation Reversible diffusion-based compression
US7317556B2 (en) * 2003-12-19 2008-01-08 Xerox Corporation Method for error diffusion employing a stamp field
US7420708B2 (en) * 2003-12-19 2008-09-02 Xerox Corporation Method for processing color image data employing a stamp field
US7369276B2 (en) * 2004-03-05 2008-05-06 Eastman Kodak Company Multi-level halftoning providing improved texture uniformity
KR100648657B1 (ko) * 2004-10-11 2006-11-24 삼성전자주식회사 클러스터를 통한 오차 확산장치
JP4560564B2 (ja) * 2008-03-28 2010-10-13 シャープ株式会社 画像処理装置、画像形成装置、画像処理方法、プログラムおよびその記録媒体
JP5282787B2 (ja) * 2008-12-03 2013-09-04 富士通株式会社 表示装置及び表示制御プログラム
JP5381487B2 (ja) * 2009-08-14 2014-01-08 富士通株式会社 出力装置、出力方法及び出力プログラム
KR20130010255A (ko) * 2011-07-18 2013-01-28 삼성전자주식회사 엑스선 장치 및 화소맵 업데이트 방법
JP6015698B2 (ja) * 2014-03-24 2016-10-26 コニカミノルタ株式会社 画像処理装置及び画像処理装置が実行するプログラム
TWI558211B (zh) * 2015-11-19 2016-11-11 晶相光電股份有限公司 影像處理方法與裝置
JP2017152891A (ja) * 2016-02-24 2017-08-31 理想科学工業株式会社 画像処理装置
CN109963118B (zh) * 2018-07-24 2020-10-02 苏州律点信息科技有限公司 基于空调平台的场景监控系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313287A (en) * 1993-04-30 1994-05-17 Hewlett-Packard Company Imposed weight matrix error diffusion halftoning of image data
US5757976A (en) * 1994-10-11 1998-05-26 Seiko Epson Corporation Adaptive filtering and thresholding arrangement for reducing graininess of images
KR19980079985A (ko) * 1997-03-06 1998-11-25 레딩 블루어 이세 에러 확산을 이용한 영상 처리 방법
US5880857A (en) * 1994-12-01 1999-03-09 Xerox Corporation Error diffusion pattern shifting reduction through programmable threshold perturbation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526445A (en) * 1993-08-23 1996-06-11 Prepress Solutions, Inc. Spot function endtone noise and growth
US5535019A (en) 1994-09-15 1996-07-09 Xerox Corporation Error diffusion halftoning with homogeneous response in high/low intensity image regions
KR19990053325A (ko) 1997-12-24 1999-07-15 류정열 디젤엔진차량의 연료히팅장치
US6160921A (en) * 1998-06-15 2000-12-12 Apple Computer, Inc. Error diffusion with homogeneous distribution in highlight and shadow regions
US6738505B1 (en) * 1999-05-04 2004-05-18 Speedline Technologies, Inc. Method and apparatus for detecting solder paste deposits on substrates
US7081972B2 (en) * 2000-09-20 2006-07-25 Canon Kabushiki Kaisha Image processing apparatus and image processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313287A (en) * 1993-04-30 1994-05-17 Hewlett-Packard Company Imposed weight matrix error diffusion halftoning of image data
US5757976A (en) * 1994-10-11 1998-05-26 Seiko Epson Corporation Adaptive filtering and thresholding arrangement for reducing graininess of images
US5880857A (en) * 1994-12-01 1999-03-09 Xerox Corporation Error diffusion pattern shifting reduction through programmable threshold perturbation
KR19980079985A (ko) * 1997-03-06 1998-11-25 레딩 블루어 이세 에러 확산을 이용한 영상 처리 방법

Also Published As

Publication number Publication date
KR20030046749A (ko) 2003-06-18
US7301673B2 (en) 2007-11-27
US20030107769A1 (en) 2003-06-12

Similar Documents

Publication Publication Date Title
KR100421987B1 (ko) 오차확산 처리방법
JP4771569B2 (ja) 歪み補正方法、及び歪み補正装置
JP3621443B2 (ja) ピクセルの色決定方法
US9361557B2 (en) Image processing apparatus and control method for performing screen processing
US5087981A (en) Error diffusion of overlapping dots
JP2002033914A (ja) 濃淡画像の階調再現方法および装置
US7420708B2 (en) Method for processing color image data employing a stamp field
US7315398B2 (en) Multi-level error diffusion with color image data
JP3554077B2 (ja) 画像処理装置
US10235610B2 (en) Image processing apparatus which corrects a gray level of each pixel in image data, image forming apparatus and computer-readable medium
US7295347B2 (en) Image processing method for generating multi-level data
JP2006076005A (ja) 画像処理装置、画像出力装置、及びプログラム
US20050141037A1 (en) Method and apparatus to enhance printing quality of laser printer
JPH0863596A (ja) 誤差拡散方法、誤差拡散システム及び誤差値発生方法
KR100251551B1 (ko) 디지탈영상양자화를위한비인과성오차확산계수의위치및결정방법
US7317556B2 (en) Method for error diffusion employing a stamp field
KR100601646B1 (ko) 컬러오차확산 방법 및 장치
KR100462633B1 (ko) 소수화소의 위치 정보를 이용한 이진영상 생성방법
KR100544192B1 (ko) 문턱값의 조정을 위한 화소 거리 검출방법 및 장치
US20100259795A1 (en) System and method of image edge growth control
JP4280473B2 (ja) 画像処理装置および方法
KR100648657B1 (ko) 클러스터를 통한 오차 확산장치
JP4158000B2 (ja) ジグザグ方式に使われる誤差拡散係数を利用したデジタル画像2進化装置及びそれに適用される閾値変調方法
KR100388262B1 (ko) 주거리 기반의 오차확산 방법
KR100438712B1 (ko) 소수화소의 위치 정보를 이용한 이진영상 생성방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120130

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee