KR101350881B1 - 프로그램, 화상처리장치, 및 화상처리방법 - Google Patents
프로그램, 화상처리장치, 및 화상처리방법 Download PDFInfo
- Publication number
- KR101350881B1 KR101350881B1 KR1020127007912A KR20127007912A KR101350881B1 KR 101350881 B1 KR101350881 B1 KR 101350881B1 KR 1020127007912 A KR1020127007912 A KR 1020127007912A KR 20127007912 A KR20127007912 A KR 20127007912A KR 101350881 B1 KR101350881 B1 KR 101350881B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- error
- noise
- pixel
- quantization
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, 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/4052—Halftoning, 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
Abstract
본 발명은 보다 적절한 방법으로 양자화 처리를 하는 것을 과제로 한다. 본 발명은 농도값의 양자화를 컴퓨터가 하게 하는 프로그램으로서, 화소선택처리와, 디더 매트릭스 노이즈가 양자화 처리에 영향을 주는 정도를 나타내는 노이즈 사용률과, 누적오차가 양자화 처리에 영향을 주는 정도를 나타내는 오차 사용률을 결정하는 처리이며, 화소선택처리에서 순차적으로 선택되는 화소의 농도값에 따라서 그 화소에 대응하는 노이즈 사용률 및 오차 사용률을 결정하는 사용률 결정처리와, 화소선택처리에서 순차적으로 선택되는 화소의 농도값에 대한 양자화를 하는 처리이고, 노이즈 사용률에 따라서 디더 매트릭스 노이즈를 사용하면서, 오차 사용률에 따라서 누적오차를 사용하여 양자화를 하는 양자화 실행처리를 컴퓨터가 실행하게 한다.
Description
본 발명은 프로그램, 화상처리장치, 및 화상처리방법에 관한 것이다.
프린터에서 화상을 출력하기 위하여는, 통상적으로 화상에 대한 양자화 처리를 할 필요가 있다. 양자화 처리란, 연속 계조로 표현된 화상을 프린터가 표현할 수 있는 계조수로 변환하는 하프톤 처리이다. 종래의 양자화 처리 방법으로서, 예를 들어 디더(dither) 처리나 오차확산 처리가 알려져 있다.
또한, 종래의 디더 처리와 오차확산 처리를 선택적으로 사용하여 양자화를 하는 방법이 알려져 있다(예를 들어, 일본공개특허공보 2006-240054호, 일본공개특허공보 2008-087382호를 참조). 예를 들어, 일본공개특허공보 2006-240054호에 개시되어 있는 방법에서는, 농도 범위에 따라서 디더 처리와 오차확산 처리를 나누어 사용하고 있다. 또한, 일본공개특허공보 2008-087382호에 개시되어 있는 방법에서는, 사이즈가 다른 N종류의 도트를 형성할 수 있는 인쇄 헤드를 이용하여, 도트 사이즈에 따라서 디더 처리와 오차확산 처리를 나누어 사용하고 있다.
디더 처리는, 디더 매트릭스의 값(노이즈)을 화소 데이터에 적용하여 중간조(中間調)의 도트의 유무를 결정하는 방법으로, 디더 매트릭스를 원(原)화상에 패널링(paneling)하여 양자화를 한다. 그 때문에, 매트릭스 안에서 발생한 특정한 모양이 반복하여 발생해버리는 텍스처 문제가 생기는 경우가 있다. 또한, 그 결과, 화질의 열화가 발생하는 경우가 있다.
또한, 예를 들어 디더 처리에 특유의 텍스처 발생을 방지하기 위하여는, 디더 매트릭스의 값(노이즈)을 적절한 값으로 조정하는 것도 생각된다. 하지만, 이와 같은 조정에 의하여 텍스처의 발생을 억제하는 것이 많은 작업 시간을 필요로 하므로, 실용화하기가 어렵다.
한편, 오차확산 처리는, 화소 데이터와 비교할 임계값이 준비되고, 미리 산출된 누적오차로 보정한 화소 데이터 값과 그 임계값을 비교하여, 그 크기에 따라서 중간조 도트의 유무를 결정하는 방법이다. 오차확산 처리를 이용한 경우, 양자화에 의하여 발생하는 오차를 화상 전체에서 경감시킬 수 있으므로, 디더 처리에서 발생하는 텍스처는 발생하지 않는다.
하지만, 오차확산 처리를 이용하는 경우에는, 하이라이트부나 섀도부에서의 출력 결과에 있어서 도트의 배치가 지연되는 도트 지연이나, 도트가 줄지어 이어지는 웜 노이즈나, 중간조부에서 도트 배치가 부분적으로 체크 무늬로 임의적인 배치가 되는 패턴 노이즈의 문제가 발생하는 경우가 있다. 또한, 그 결과, 도트 지연에 의한 화상의 어긋남이나, 웜 노이즈에 의한 줄무늬 발생 등에 따라서 화질의 열화가 생기는 경우가 있다.
그리고, 일본공개특허공보 2006-240054호와 같이 디더 처리와 오차확산 처리를 나누어 사용한 경우, 디더 처리에서 오차확산 처리로 전환하는 부분 등에서 양자화 처리 방법의 차이에 따른 경계선이 발생하여 화질이 열화하는 문제 등이 생길 우려가 있다. 또한, 일본공개특허공보 2008-087382호와 같은 방법을 이용한 경우, 예를 들어 하이라이트부에 있어서 오차확산 처리를 이용하므로, 도트 지연의 발생에 의한 화질의 열화로 이어지는 문제 등이 생길 우려가 있다.
그 때문에, 종래 보다 적절한 방법으로 양자화 처리를 하는 것이 요구되고 있다. 보다 구체적으로는, 예를 들어 텍스처, 도트 지연, 웜 노이즈, 패턴 노이즈의 발생 등을 억제하여 고화질의 하프톤 처리를 실현할 수 있는 양자화 처리가 요구되고 있다. 그래서, 본 발명은 상기 과제를 해결할 수 있는 프로그램, 화상처리장치, 및 화상처리방법을 제공하는 것을 목적으로 한다.
본원의 발명자는 예의연구에 의하여, 디더 처리에 있어서는 화소의 농도에 따라서 텍스처 발생의 용이함이 서로 다른 것에 주목하였다. 또한, 오차확산법에 있어서도 화소의 농도에 따라서 도트 지연이나 웜 노이즈 발생의 용이함이 서로 다른 것에 주목하였다. 그리고, 예를 들어 디더 처리 또는 오차확산 처리를 전환하여 하나의 처리를 하는 것이 아니라, 디더 처리 및 오차확산 처리의 영향력을 분담시켜서 양자화를 함으로써, 텍스쳐, 도트 지연 및 웜 노이즈 등의 발생을 억제하면서, 적절하게 양자화를 할 수 있는 것을 발견하였다. 본 발명은 다음의 구성을 가진다.
(구성 1) 화상 속 각 화소의 색상의 농도를 나타내는 농도값의 양자화를 컴퓨터가 하게 하는 프로그램으로서, 양자화를 해야 할 화소를 순차적으로 선택하는 화소선택처리와, 미리 설정된 디더 매트릭스에 의하여 지정되는 노이즈인 디더 매트릭스 노이즈가 양자화 처리에 영향을 주는 정도를 나타내는 노이즈 사용률과, 주변 화소에 대한 양자화에 있어서 발생하는 오차인 양자화 오차를 누적한 누적오차가 양자화 처리에 영항을 주는 정도를 나타내는 오차 사용률을 결정하는 처리로서, 화소선택처리에서 순차적으로 선택되는 화소의 농도값에 따라서 그 화소에 대응하는 노이즈 사용률 및 오차 사용률을 결정하는 사용률 결정처리와, 화소선택처리에서 순차적으로 선택되는 화소의 농도값에 대한 양자화를 하는 처리로서, 그 화소에 대응하는 노이즈 사용률에 따라서 디더 매트릭스를 사용하면서, 그 화소에 대응하는 오차 사용률에 따라서 누적오차를 사용하여 양자화를 하는 양자화 실행처리를 컴퓨터가 실행하게 한다.
디더 처리 및 오차확산 처리는 양질의 화질이 얻어지는 농도 범위가 상이하다. 그 때문에, 이들 중 어느 하나를 단독으로 사용하는 경우, 일부 농도 범위에서 양자화에 의한 화질의 열화가 발생할 우려가 있다. 또한, 예를 들어 농도 범위에 따라서 단순히 디더 처리와 오차확산 처리를 전환한다고 하면, 처리가 전환되는 부분에 경계선 등이 발생할 우려가 있다.
이에 대하여, 이와 같이 구성하면, 예를 들어 오차확산 처리의 공간 주파수 특성(이하, 오차확산 특성)에 디더 처리의 공간 주파수 특성(이하, 디더 특성)의 영향을 줄 수 있다. 그리고, 이에 따라, 예를 들어 오차확산 특성에 디더 특성을 조합한 방법에 의하여 양자화를 할 수 있다. 또한, 공간 주파수 특성이란, 예를 들어 화질을 평가하는 특성 중 하나인 출력 결과의 도트의 ON, OFF의 반복 패턴을 주파수로서 포착할 때의 특성이다.
더욱이, 이와 같이 구성하는 경우, 예를 들어 단순히 디더 처리와 오차확산 처리를 전환하는 경우 등과 달리, 각각의 처리가 잘하는 부분을 보다 적절하게 살린 양자화 처리를 할 수 있다. 그 때문에, 이와 같이 구성하면, 예를 들어 양자화 처리에 있어서 발생하는 인쇄에 관한 다양한 문제점을 적절하게 해소하여, 보다 적절한 방법으로 양자화 처리를 할 수 있다.
또한, 화소선택처리는, 예를 들어 화소의 라인을 순차적으로 선택하고, 선택한 라인 중 화소를 소정의 처리방향에 따라서 순차적으로 선택한다. 이러한 경우, 화소선택처리는, 처리방향을 처리하는 라인마다 전환하여도 좋다. 예를 들어, 홀수 라인에 있어서는 왼쪽에서 오른쪽으로, 짝수 라인에 있어서는 오른쪽에서 왼쪽으로, 순차적으로 화소를 선택하는 것이 생각된다. 이와 같이 구성하면, 예를 들어 양자화 처리가 쌍방향 처리가 되어, 오차의 확산방향이 일정하지 않게 되므로, 도트를 보다 적절하게 분산시킬 수 있다.
사용률 결정처리는, 예를 들어 미리 설정된 계산식에 따라서, 노이즈 사용률 및 오차 사용률을 결정한다. 이러한 경우, 예를 들어 식 중 파라미터를 적절하게 설정함으로써, 디더 특성이 지배적인 영역과, 오차확산 특성이 지배적인 영역의 전환 부분에서 경계선이 발생하는 것을 적절하게 억제할 수 있다. 또한, 이에 따라, 양자화 처리방법의 전환을 매끄럽게 행할 수 있다. 파라미터의 최적값은, 예를 들어 실험 등에 의하여 적절하게 구할 수 있다.
또한, 이러한 프로그램은, 예를 들어 컴퓨터가 프로세스 컬러마다 각 처리를 실행하게 한다. 이러한 경우, 예를 들어 사용하는 디더 매트릭스를 프로세스 컬러마다 변경하여도 좋다. 이와 같이 구성하면, 예를 들어 같은 화소에 대한 양자화에 있어서 이용되는 디더 매트릭스 값을 프로세스 컬러마다 다르게 할 수 있다. 그리고, 이에 따라 도트의 겹침이 발생하는 것을 적절하게 방지할 수 있다.
디더 매트릭스 노이즈로는, 예를 들어 블루 노이즈 특성의 노이즈를 이용하는 것이 바람직하다. 블루 노이즈 특성이란, 예를 들어 공간 주파수 특성으로 표현한 경우에 높은 주파수에 치우친 노이즈이며, 인간의 시각으로는 지각하기 어려운 특성을 가지고 있다. 또한, 블루 노이즈 특성은 오차확산 처리의 주파수 특성과 유사하다. 그 때문에, 이러한 디더 매트릭스를 이용함으로써, 디더 특성과 오차확산 특성의 전환을 보다 매끄럽게 하는 것이 쉬워 진다.
그리고, 이러한 프로그램은, 컴퓨터가 예를 들어 누적오차를 산출하는 처리 등을 더 실행하게 하여도 좋다. 예를 들어, 이러한 프로그램은 컴퓨터가 오차분배 처리 등을 더 실행하게 하여도 좋다. 오차분배 처리는, 예를 들어 화소의 양자화에 의하여 발생하는 양자화 오차를 분배하는 처리이며, 예를 들어 미리 설정된 확산 필터(확산 매트릭스)에 따라서 양자화 오차를 그 화소의 주변 화소로 확산시킨다. 또한, 이에 따라, 그 주변 화소의 각각에 대응하는 누적오차의 값을 갱신한다. 확산 필터로는, 예를 들어 Jarvis, Judice & Ninke의 매트릭스를 적합하게 사용할 수 있다.
(구성 2) 프로그램은 화소선택처리에서 순차적으로 선택되는 화소에 대하여, 누적오차에 의한 보정을 한 후의 농도값인 오차 보정완료 입력값을 산출하는 처리로서, 그 화소에 대응하는 오차 사용률과 누적오차의 곱을 그 화소의 농도값에 가산한 값을 오차 보정완료 입력값으로서 산출하는 오차 보정완료 입력값 산출처리와, 양자화에서 사용하는 임계값으로서 디더 매트릭스 노이즈를 반영한 임계값인 노이즈 보정완료 임계값을 산출하는 처리로서, 그 화소에 대응하는 노이즈 사용률과 디더 매트릭스 노이즈의 곱을 미리 설정된 초기 임계값에 가산한 값을 노이즈 보정완료 임계값으로서 산출하는 노이즈 보정완료 임계값 산출처리를 컴퓨터가 더 실행하게 하고, 양자화 실행처리는 노이즈 보정완료 임계값과 오차 보정완료 입력값을 비교함으로써 양자화를 행한다.
이와 같이 구성한 경우, 오차 사용률을 곱한 누적오차를 양자화의 입력값인 화소의 농도값에 가산함으로써, 오차확산 특성에 영향을 주는 정도를 적절하게 조절할 수 있다. 또한, 노이즈 사용률을 곱한 디더 매트릭스 노이즈를 초기 임계값에 가산함으로써, 디더 특성에 영향을 주는 정도를 적절하게 조절할 수 있다.
그 때문에, 이와 같이 구성하면, 예를 들어 입력값에 따라서 오차확산 특성 및 디더 특성의 각각에 영향을 주는 정도를 적절하게 설정할 수 있다. 또한, 이에 따라 입력값에 따라서 각각의 처리가 잘하는 부분을 보다 적절하게 살린 양자화 처리를 할 수 있다.
(구성 3) 양자화 실행처리는, 양자화의 입력값인 화소의 농도값과, 농도값이 취할 수 있는 범위의 최대값이 같은지 다른지를 판정하는 최대값 판정처리와, 입력값인 화소의 농도값과, 농도값이 취할 수 있는 범위의 최소값이 같은지 다른지를 판정하는 최소값 판정처리와, 양자화의 결과인 양자화값을 취득하는 양자화값 취득처리를 가지고, 최대값 판정처리에 있어서 입력값과 최대값이 같다고 판정된 경우, 양자화값 취득처리는 양자화값으로서 농도값이 임계값보다 큰 경우에 출력되어야 할 값을 취득하고, 최소값 판정처리에 있어서 입력값과 최소값이 같다고 판정된 경우, 양자화값 취득처리는 양자화값으로서 농도값이 임계값보다 작은 경우에 출력되어야 할 값을 취득한다.
예를 들어, 입력값이 최대값과 같은 경우, 오차 보정완료 입력값이나 노이즈 보정완료 임계값 중 어느 경우라도 양자화의 결과는 농도값이 임계값보다 큰 경우에 출력되어야 할 출력값(예를 들어 1)으로 할 필요가 있다. 또한, 입력값이 최소값과 같은 경우, 오차 보정완료 입력값이나 노이즈 보정완료 임계값 중 어느 경우라도 양자화의 결과는 농도값이 임계값보다 작은 경우에 출력되어야 할 출력값(예를 들어 0)으로 할 필요가 있다.
이에 대하여, 이와 같이 구성하면, 입력값이 최대값 또는 최소값인 경우의 출력값을 쉽고 적절하게 설정할 수 있다. 또한, 이에 따라, 누적오차 및 디더 매트릭스 노이즈 모두를 이용하여 행하는 양자화 처리를 보다 적절하게 할 수 있게 된다. 또한, 농도값이 임계값보다 큰 경우 및 작은 경우의 각각에 출력되어야 할 출력값이란, 예를 들어 누적오차 및 디더 매트릭스 노이즈 모두를 0으로 하여 농도값과 임계값을 비교한 결과를 나타내는 출력값이다.
(구성 4) 사용률 결정처리는 노이즈 사용률 및 오차 사용률의 결정에 있어서 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 노이즈 사용률을 하이라이트부와 섀도부의 중간인 중간조부에 상당하는 농도값인 경우의 노이즈 사용률보다 큰 값으로 하고, 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 오차 사용률을 중간조부에 상당하는 농도값인 경우의 오차 사용률보다 작은 값으로 한다.
노이즈 사용률은, 예를 들어 하이라이트부 및 섀도부에서의 값이 1(100%)이고, 중간조가 될수록 서서히 값이 내려가도록 변한다. 오차 사용률은, 예를 들어 농도 범위의 양단에서는 값이 0(0%)이고, 텍스처 발생부의 농도 범위의 직전에 값 1(100%)이 되도록 변한다.
이와 같이 구성한 경우, 예를 들어 오차확산 특성의 영향이 강하면 도트 지연이 발생하기 쉬운 하이라이트부 및 섀도부에 있어서 노이즈 사용률을 높게 하여 오차 사용률을 낮추게 된다. 이에 따라, 예를 들어 하이라이트부 및 섀도부에 있어서 도트를 분산하여 배치할 수 있는 디더 특성의 영향이 커지므로, 도트 지연의 발생을 적절하게 억제할 수 있다.
그리고, 오차확산 특성의 영향을 크게 하여 중간조부에서의 양자화 처리를 함으로써, 예를 들어 보다 자연스러운 유사 계조를 얻을 수 있다. 또한, 예를 들어 텍스처 발생부의 농도 범위에 있어서 노이즈 사용률을 낮게, 오차 사용률을 높게 함으로써 도트의 배치에 변화를 주어, 예를 들어 텍스처의 발생을 적절하게 억제할 수 있다.
(구성 5) 사용률 결정처리는, 화소의 농도값이 어떠한 경우에도 노이즈 사용률을 0보다 큰 값으로 미리 설정된 최저 노이즈 사용률 이상의 값으로 설정한다.
중간조부에 있어서 노이즈 사용률을 0(0%)으로 하고, 오차 사용률을 1(100%)로 하면, 오차확산 특성에 특유의 패턴 노이즈가 발생할 우려가 있다. 패턴 노이즈가 중간조부에서 발생하는 원인은, 예를 들어 중간조부에서의 오차확산 특성이 매우 고주파이므로 도트의 배치가 체크 무늬가 되기 쉽고, 또한 디더 처리와 같이 도트 배치 패턴이 일정하지 않으므로 체크 무늬가 부분적으로 발생하는 경우가 있기 때문이다. 이에 대하여, 최저 노이즈 사용률을 설정하고, 노이즈 사용률이 0이 되지 않도록 함으로써, 예를 들어 중간조부에 있어서 약간씩 디더 특성의 영향을 주면서 오차확산 특성의 영향을 크게 함으로써, 디더 처리의 도트 배치 패턴의 영향을 약간씩 받으므로, 전체적인 배치 패턴이 일정해지기 쉬워서 부분적인 체크 무늬가 발생하기 어려워진다. 또한, 이에 따라, 예를 들어 패턴 노이즈를 적절하게 억제할 수 있다.
(구성 6) 사용률 결정처리는, 하이라이트부에 있는 농도 범위를 나타내는 기준으로서, 미리 설정된 제 1 하이라이트 기준값과, 제 1 하이라이트 기준값보다 큰 값의 제 2 하이라이트 기준값을 이용하고, 섀도부에 있는 농도 범위를 나타내는 기준으로서, 미리 설정된 제 1 섀도 기준값과, 제 1 섀도 기준값보다 큰 값의 제 2 섀도 기준값을 이용하며, 중간조부의 중앙에 있는 농도 범위를 나타내는 기준으로서, 제 2 하이라이트 기준값보다 크며 제 1 섀도 기준값보다 작은 제 1 중간조 기준값과, 제 1 중간조 기준값보다 크며 제 1 섀도 기준값보다 작은 제 2 중간조 기준값을 이용하고, 화소의 농도값이 제 1 하이라이트 기준값 이하인 경우, 또는 제 2 섀도 기준값 이상인 경우의 노이즈 사용률을 1로 설정하며, 화소의 농도값이 제 1 중간조 기준값 이상이며 제 2 중간조 기준값 이하인 경우의 노이즈 사용율을 최저 노이즈 사용률로 설정하고, 화소의 농도값이 제 1 하이라이트 기준값 이상이며, 제 1 중간조 기준값 이하인 경우의 노이즈 사용률을 최저 노이즈 사용률 이상이며 1 이하의 값이고, 화소의 농도값과 제 1 하이라이트 기준값의 차이에 따라서 1에서 점차 감소하는 값으로 설정하고, 화소의 농도값이 제 2 중간조 기준값 이상이며, 제 2 섀도 기준값 이하인 경우의 노이즈 사용률을 최저 노이즈 사용률 이상이며 1 이하의 값이고, 화소의 농도값과 제 2 중간조 기준값의 차이에 따라서 최저 노이즈 사용률에서 점차 증가하는 값으로 설정하고, 화소의 농도값이 제 2 하이라이트 기준값 이상이며 제 1 섀도 기준값 이하인 경우의 오차 사용률을 1로 설정하고, 화소의 농도값이 제 2 하이라이트 기준값 이하인 경우의 오차 사용률을 0 이상 1 이하의 값이며, 제 2 하이라이트 기준값과 농도값의 차이에 따라서 1에서 점차 감소하는 값으로 설정하고, 화소의 농도값이 제 1 섀도 기준값 이상인 경우의 오차 사용률을 0 이상 1 이하의 값이며, 화소의 농도값과 제 1 섀도 기준값의 차이에 따라서 1에서 점차 감소하는 값으로 설정한다.
이와 같이 구성하면, 예를 들어 화소의 농도값에 따라서 오차 사용률 및 노이즈 사용률의 각각을 적절하게 설정할 수 있다. 또한, 이에 따라 오차확산 처리 및 디더 처리의 각각의 처리가 잘하는 부분을 보다 적절하게 살린 양자화 처리를 적절하게 할 수 있다.
(구성 7) 사용률 결정처리는, 하이라이트부에 있는 농도 범위를 나타내는 기준으로서, 0보다 크며 제 1 하이라이트 기준값 이하의 값인 제 3 하이라이트 기준값을 더 이용하고, 섀도부에 있는 농도 범위를 나타내는 기준으로서, 제 2 섀도 기준값 이상이며 농도값이 취할 수 있는 범위의 최대값보다 작은 값인 제 3 섀도 기준값을 더 이용하고, 화소의 농도값이 제 3 하이라이트 기준값 이하인 경우에 오차 사용률을 0으로 설정하고, 화소의 농도값이 제 3 하이라이트 기준값 이상이며 제 2 하이라이트 기준값 이하인 경우, 오차 사용률을 농도값과 제 3 하이라이트 기준값의 차이를 제 2 하이라이트 기준값과 제 3 하이라이트 기준값의 차이에서 뺀 값으로 설정하고, 화소의 농도값이 제 1 섀도 기준값 이상이며 제 3 섀도 기준값 이하인 경우에 오차 사용률을 제 3 섀도 기준값과 농도값의 차이를 제 3 섀도 기준값과 제 1 섀도 기준값의 차이에서 뺀 값으로 설정하며, 화소의 농도값이 제 3 섀도 기준값 이상인 경우에 오차 사용률을 0으로 설정한다. 이렇게 구성하면, 예를 들어 오차 사용률을 보다 적절하게 설정할 수 있다.
(구성 8) 화상 속 각 화소의 색상의 농도를 나타내는 농도값의 양자화를 하는 화상처리장치로서, 양자화를 해야 할 화소를 순차적으로 선택하는 화소선택 처리부와, 미리 설정된 디더 매트릭스에 의하여 지정되는 노이즈인 디더 매트릭스 노이즈가 양자화 처리에 영향을 주는 정도를 나타내는 노이즈 사용률과, 주변 화소에 대한 양자화에 있어서 발생하는 오차인 양자화 오차를 누적한 누적오차가 양자화 처리에 영향을 주는 정도를 나타내는 오차 사용률을 결정하는 처리부로서, 화소선택처리부에 의하여 순차적으로 선택되는 화소의 농도값에 따라서 그 화소에 대응하는 노이즈 사용률 및 오차 사용률을 결정하는 사용률 결정처리부와, 화소선택 처리부에 의하여 순차적으로 선택되는 화소의 농도값에 대한 양자화를 하는 처리부로서, 그 화소에 대응하는 노이즈 사용률에 따라서 디더 매트릭스 노이즈를 사용하며, 그 화소에 대응하는 오차 사용률에 따라서 누적오차를 사용하여 양자화를 하는 양자화 실행처리부를 구비한다. 이와 같이 구성하면, 예를 들어 구성 1과 마찬가지의 효과를 얻을 수 있다.
또한, 이러한 화상처리장치는, 예를 들어 소정의 프로그램에 따라서 동작하는 컴퓨터여도 좋다. 이러한 경우, 예를 들어 컴퓨터의 CPU가 프로그램에 따라서 화상처리장치의 각 부분으로서 동작한다.
(구성 9) 화상 속 각 화소의 색상의 농도를 나타내는 농도값의 양자화를 하는 화상처리방법으로서, 양자화를 해야 할 화소를 순차적으로 선택하는 화소선택 처리단계와, 미리 설정된 디더 매트릭스에 의하여 지정되는 노이즈인 디더 매트릭스 노이즈가 양자화 처리에 영향을 주는 정도를 나타내는 노이즈 사용률과, 주변 화소에 대한 양자화에 있어서 발생하는 오차인 양자화 오차를 누적한 누적오차가 양자화 처리에 영향을 주는 정도를 나타내는 오차 사용률을 결정하는 처리단계로서, 화소선택 처리단계에 있어서 순차적으로 선택되는 화소의 농도값에 따라서 그 화소에 대응하는 노이즈 사용률 및 오차 사용률을 결정하는 사용률 결정 처리단계와, 화소선택 처리단계에 있어서 순차적으로 선택되는 화소의 농도값에 대한 양자화를 하는 처리단계로서, 그 화소에 대응하는 노이즈 사용률에 따라서 디더 매트릭스 노이즈를 사용하며, 그 화소에 대응하는 오차 사용률에 따라서 누적오차를 사용하여 양자화를 하는 양자화 실행 처리단계를 구비한다. 이와 같이 하면, 예를 들어 구성 1과 마찬가지의 효과를 얻을 수 있다.
본 발명에 따르면, 예를 들어 보다 적절한 방법으로 양자화 처리를 행할 수 있다. 또한, 이에 따라, 예를 들어 하프톤 처리에 있어서 텍스처, 도트 지연, 패턴 노이즈의 발생 등을 적절하게 억제할 수 있다.
도 1은 본 발명의 일 실시형태에 따른 프로그램에 대하여 설명하는 도면이다. 도 1의 (a)는 이러한 프로그램을 사용하는 인쇄 시스템(10)의 구성의 일례를 나타낸다. 도 1의 (b)는 화상처리장치(12)가 행하는 양자화 처리의 개요를 나타내는 도면이다.
도 2는 양자화를 하는 동작의 일례를 나타내는 플로차트이다.
도 3은 화소선택처리(S102)에 대하여 더욱 상세하게 설명하는 도면이다. 도 3의 (a)는 화소를 순차적으로 선택하는 순번의 일례를 나타낸다. 도 3의 (b)는 쌍방향 처리의 효과의 일례를 나타내는 도면이다.
도 4는 오차 사용률(Re), 및 노이즈 사용률(Rn)과, 농도값(In)(x, y)을 대응시키는 그래프 및 계산식의 일례를 나타낸다.
도 5는 오차 사용률(Re)을 산출하는 처리의 일례를 나타내는 플로차트이다.
도 6은 노이즈 사용률(Rn)을 산출하는 처리의 일례를 나타내는 플로차트이다.
도 7은 양자화 실행처리(S110)의 동작의 일례를 나타내는 플로차트이다.
도 8은 본 실시예에 있어서 사용하는 확산 필터의 일례를 나타내는 도면이다. 도 8의 (a)는 쌍방향 처리의 각 방향에서 이용하는 확산 필터의 일례를 나타낸다. 도 8의 (b)는 오차의 분배방법의 일례를 나타낸다.
도 9는 오차분배처리(S112)의 동작의 일례를 나타내는 플로차트이다.
도 10은 본 실시예에 따른 인쇄 결과의 일례를 참조예에 따른 인쇄 결과와 함께 나타낸다. 도 10의 (a)는 종래 공지의 전형적인 오차확산 처리만을 한 경우의 인쇄 결과의 일례를 나타낸다. 도 10의 (b)는 종래 공지의 디더 처리만을 행한 경우의 인쇄 결과의 일례를 나타낸다. 도 10의 (c)는 농도 범위에 따라서 단순히 디더 처리와 오차확산 처리를 전환한 경우의 인쇄 결과의 일례를 나타낸다. 도 10의 (d)는 본 실시예에 따른 인쇄 결과의 일례를 나타낸다.
도 2는 양자화를 하는 동작의 일례를 나타내는 플로차트이다.
도 3은 화소선택처리(S102)에 대하여 더욱 상세하게 설명하는 도면이다. 도 3의 (a)는 화소를 순차적으로 선택하는 순번의 일례를 나타낸다. 도 3의 (b)는 쌍방향 처리의 효과의 일례를 나타내는 도면이다.
도 4는 오차 사용률(Re), 및 노이즈 사용률(Rn)과, 농도값(In)(x, y)을 대응시키는 그래프 및 계산식의 일례를 나타낸다.
도 5는 오차 사용률(Re)을 산출하는 처리의 일례를 나타내는 플로차트이다.
도 6은 노이즈 사용률(Rn)을 산출하는 처리의 일례를 나타내는 플로차트이다.
도 7은 양자화 실행처리(S110)의 동작의 일례를 나타내는 플로차트이다.
도 8은 본 실시예에 있어서 사용하는 확산 필터의 일례를 나타내는 도면이다. 도 8의 (a)는 쌍방향 처리의 각 방향에서 이용하는 확산 필터의 일례를 나타낸다. 도 8의 (b)는 오차의 분배방법의 일례를 나타낸다.
도 9는 오차분배처리(S112)의 동작의 일례를 나타내는 플로차트이다.
도 10은 본 실시예에 따른 인쇄 결과의 일례를 참조예에 따른 인쇄 결과와 함께 나타낸다. 도 10의 (a)는 종래 공지의 전형적인 오차확산 처리만을 한 경우의 인쇄 결과의 일례를 나타낸다. 도 10의 (b)는 종래 공지의 디더 처리만을 행한 경우의 인쇄 결과의 일례를 나타낸다. 도 10의 (c)는 농도 범위에 따라서 단순히 디더 처리와 오차확산 처리를 전환한 경우의 인쇄 결과의 일례를 나타낸다. 도 10의 (d)는 본 실시예에 따른 인쇄 결과의 일례를 나타낸다.
다음에 본 발명에 따른 실시형태를 도면을 참조하면서 설명한다. 도 1은 본 발명의 일 실시형태에 따른 프로그램에 대하여 설명하는 도면이다. 도 1의 (a)는 이러한 프로그램을 사용하는 인쇄 시스템(10)의 구성의 일례를 나타낸다. 본 실시예에 있어서 인쇄 시스템(10)은 화상처리장치(12) 및 인쇄장치(14)를 구비한다.
화상처리장치(12)는, 예를 들어 RIP(Raster Image Processor) 처리 등의 화상형성처리를 하는 장치이다. 화상처리장치(12)는 인쇄 데이터가 나타내는 원화상을 전개함으로써, 인쇄장치(14)가 해석할 수 있는 형식에 의하여 화상을 나타내는 인쇄 가능 데이터를 형성한다.
또한, 본 실시예에 있어서 화상처리장치(12)는, 이러한 화상형성처리에 있어서 적어도 원화상 속 각 화소의 색상의 농도를 나타내는 농도값의 양자화를 행한다. 그리고, 이러한 경우, 화상처리장치(12)는 인쇄장치(14)에서 사용되는 각 프로세스 컬러마다 양자화를 한다. 이에 따라, 화상처리장치(12)는 인쇄 데이터에 근거하여 각 프로세스 컬러에 대응하는 하프톤 화상을 형성한다.
또한, 화상처리장치(12)는, 예를 들어 인쇄장치(14)를 제어하는 호스트 PC이고, 소정의 프로그램에 따라서 화상처리장치로서 동작한다. 화상처리장치(12)는 인쇄 데이터를, 예를 들어 다른 PC로부터 받아도 좋다. 그리고, 인쇄 데이터는 사용자에 의하여 화상처리장치(12) 상에서 작성하여도 좋다.
인쇄장치(14)는, 예를 들어 잉크젯 프린터이고, 화상처리장치(12)로부터 받은 인쇄 가능 데이터에 따라서 화상 인쇄를 실행한다. 또한, 본 실시예에 있어서, 인쇄장치(14)는 CMYK 잉크의 각 색상을 프로세스 컬러로서 사용하여 컬러 인쇄를 한다. 인쇄장치(14)는 다른 색상의 잉크를 더 이용하여 인쇄를 하여도 좋다.
도 1의 (b)는, 화상처리장치(12)가 행하는 양자화 처리의 개요를 나타내는 도면이다. 화상처리장치(12)는 프로세스 컬러마다 원화상에 대한 양자화에 의하여 하프톤 화상인 유사 중간조 화상을 형성한다. 이러한 양자화는 원화상의 각 좌표에서의 농도값(In(x,y))을 유사 중간조 화상의 같은 좌표에서의 양자화값(out(x,y))으로 변환하는 처리이다.
본 실시예에 있어서, 화상처리장치(12)는 이러한 양자화를 디더 매트릭스 노이즈(D(i,j)) 및 누적오차(E(x,y))의 양쪽을 이용하는 방법(하이브리드 오차확산 처리)에 의하여 행한다. 또한, 화상처리장치(12)는 디더 매트릭스 노이즈(D(i,j)), 및 누적오차(E(x,y))에 관련된 파라미터로서 각각 0 이상 1 이하(0%~100%)의 범위의 값으로 설정되는 노이즈 사용률(Rn) 및 오차 사용률(Re)을 더 이용한다.
노이즈 사용률(Rn)은 디더 매트릭스 노이즈(D(i,j))가 양자화 처리에 영향을 주는 정도를 나타내는 파라미터이고, 양자화를 행하는 화소의 농도값(In(x,y))에 따라서 산출된다. 화상처리장치(12)는 디더 매트릭스 노이즈(D(i,j))를 그대로 이용하는 것이 아니라, 디더 매트릭스 노이즈(D(i,j))와 노이즈 사용률(Rn)의 곱을 이용하여 양자화를 한다. 이에 따라, 화상처리장치(12)는 각 화소에 대응하는 노이즈 사용률(Rn)에 따라서 디더 매트릭스 노이즈(D(i,j))를 사용한다.
또한, 오차 사용률(Re)은 누적오차(E(x,y))가 양자화 처리에 영향을 주는 정도를 나타내는 파라미터이고, 양자화를 하는 화소의 농도값(In(x,y))에 따라서 산출된다. 화상처리장치(12)는 누적오차(E(x,y))를 그대로 이용하는 것이 아니라, 누적오차(E(x,y))와 오차 사용률(Re)의 곱을 이용하여, 각 화소의 농도값(In(x,y))에 대응하는 오차 보정완료 입력값(In'(x,y))을 산출한다. 그리고, 산출한 오차 보정완료 입력값(In'(x,y))을 이용하여 양자화 처리를 한다. 이에 따라, 화상처리장치(12)는 각 화소에 대응하는 오차 사용률(Re)에 따라서 누적오차(E(x,y))를 사용한다. 그리고, 양자화 처리에 대하여는 나중에 더욱 상세하게 설명한다.
본 실시예에 따르면, 예를 들어 오차확산 처리의 공간 주파수 특성(오차확산 특성)에 디더 처리의 공간 주파수 특성(디더 특성)의 영향을 줄 수 있다. 또한, 이에 따라, 예를 들어 오차확산 특성에 디더 특성을 조합한 방법에 의하여 양자화를 할 수 있다. 그리고, 이러한 경우, 예를 들어 단순히 디더 처리와 오차확산 처리를 전환하는 경우 등과 달리, 처리의 변환에 따르는 경계선이 발생하는 것 등을 적절하게 방지할 수 있다.
그 때문에, 본 실시예에 따르면, 예를 들어 각각의 처리가 잘하는 부분을 적절하게 살린 양자화 처리를 할 수 있다. 또한, 이에 따라, 예를 들어 양자화 처리에 있어서 발생하는 인쇄에 관한 다양한 문제점을 적절하게 해소하여, 보다 적절한 방법으로 양자화 처리를 할 수 있다.
또한, 디더 매트릭스 노이즈(D(i,j))는, 예를 들어 미리 설정된 디더 매트릭스에 의하여 지정되는 값이다. 디더 매트릭스 노이즈(D(i,j))는, 예를 들어 종래의 디더 처리에 있어서 사용되는 디더 매트릭스 노이즈와 동일하거나 유사하여도 좋다. 디더 매트릭스 노이즈(D(i,j))로는, 예를 들어 블루 노이즈 특성의 노이즈를 이용하는 것이 바람직하다. 그리고, 화상처리장치(12)는 사용하는 디더 매트릭스를 프로세스 컬러마다 변경하는 것이 바람직하다.
누적오차(E(x,y))는 주변 화소에 대한 양자화에 있어서 발생하는 오차인 양자화 오차(Q(x,y))를 누적한 값이고, 미리 설정된 확산 필터(확산 매트릭스)를 이용하여 산출된다. 또한, 산출된 누적오차(E(x,y))는, 예를 들어 오차 버퍼에 저장된다. 화상처리장치(12)는 누적오차(E(x,y))를, 예를 들어 종래의 오차확산 처리에서 사용되는 누적오차와 동일하거나 유사한 방법에 의하여 산출한다.
도 2는 양자화를 하는 동작의 일례를 나타내는 플로차트이다. 화상처리장치(12)는, 다음의 처리를 예를 들어 프로세스 컬러마다 행한다.
양자화를 하는 동작에 있어서, 본 실시예의 화상처리장치(12)는 우선 원화상에서 양자화를 해야 할 화소를 선택한다(화소선택처리(S102)). 그리고, 선택되는 화소의 농도값(In(x,y))에 따라서 그 화소에 대응하는 노이즈 사용률(Rn) 및 오차 사용률(Re)을 산출한다. 이에 따라, 화상처리장치(12)는 그 화소의 양자화에 사용하는 노이즈 사용률(Rn) 및 오차 사용률(Re)을 결정한다(사용률 결정처리(S104)).
이어서, 화상처리장치(12)는 누적오차(E(x,y))에 의한 보정을 한 후의 농도값인 오차 보정완료 입력값(In'(x,y))을 산출한다(오차 보정완료 입력값 산출처리(S106)). 이러한 처리에 있어서 화상처리장치(12)는, 예를 들어 화소선택처리(S102)에서 선택된 화소에 대응하는 오차 사용률(Re)과 누적오차(E(x,y))의 곱을 그 화소의 농도값(In(x,y))에 가산하여, 가산 후의 값을 오차 보정완료 입력값(In'(x,y))으로서 산출한다.
또한, 화상처리장치(12)는, 더욱이 양자화에서 사용하는 임계값으로서, 디더 매트릭스 노이즈(D(i,j))를 반영한 임계값인 노이즈 보정완료 임계값(Th')을 산출한다(노이즈 보정완료 임계값 산출처리(S108)). 이러한 처리에 있어서 화상처리장치(12)는, 예를 들어 화소선택처리(S102)에서 선택된 화소에 대응하는 노이즈 사용률(Rn)과 디더 매트릭스 노이즈(D(i,j))의 곱을 미리 설정된 초기 임계값(Th)에 가산하여, 가산 후의 값을 노이즈 보정완료 임계값(Th')으로서 산출한다.
그리고, 화상처리장치(12)는 산출된 노이즈 보정완료 임계값(Th')과, 오차 보정완료 입력값(In'(x,y))을 비교한다. 이에 따라, 화상처리장치(12)는 화소선택처리(S102)에서 선택된 화소에 대한 양자화를 실행한다(양자화 실행처리(S110)).
이어서, 화상처리장치(12)는 확산 필터에 따라서 이러한 화소의 양자화에 의하여 발생하는 양자화 오차(Q(x,y))를 주변 화소에 확산시킨다(오차분배 처리(S112)). 이에 따라, 화상처리장치(12)는 주변 화소를 분배하는 곳의 좌표에 대응한 확산 필터의 값에 양자화 오차(Q(x,y))를 곱하고, 주변 화소의 각각에 대응하는 누적오차(E(x,y))의 값을 갱신한다.
또한, 오차분배 처리(S112) 후, 화상처리장치(12)는 양자화를 실행한 화소가 원화상의 최종 화소인지 아닌지를 판정한다(최종화소 판정처리(S114)). 그리고, 최종 화소라고 판정한 경우(S114: Yes), 원화상에 대한 양자화 처리를 종료한다. 그리고, 최종 화소가 아니라고 판정한 경우(S114: No), 화소선택처리(S102)로 다시 진행하여 다음 화소를 선택한다. 이에 따라, 화상처리장치(12)는 화소선택처리(S102)에 있어서 양자화를 해야 할 화소를 순차적으로 선택한다. 또한, 순차적으로 선택되는 화소에 대하여 화소선택처리(S102) 이후의 처리를 함으로써, 그 화소에 대한 양자화를 실행한다.
본 실시예에 따르면, 예를 들어 오차 사용률(Re)을 곱한 누적오차(E(x,y))를 농도값(In(x,y))에 가산함으로써, 오차확산 특성에 영향을 주는 정도를 적절하게 조절할 수 있다. 또한, 노이즈 사용률(Rn)을 곱한 디더 매트릭스 노이즈(D(i,j))를 초기 임계값(Th)에 가산함으로써, 디더 특성에 영향을 주는 정도를 적절하게 조절할 수 있다.
이에 따라, 예를 들어 입력값인 농도값(In(x,y))에 따라서 오차확산 특성 및 디더 특성의 각각에 영향을 주는 정도를 적절하게 설정할 수 있다. 그리고, 오차확산 처리 및 디더 처리의 각각이 잘하는 부분을 적절하게 살린 양자화 처리를 할 수 있다. 다음에, 양자화를 하는 동작 중 각 처리에 대하여 더욱 상세하게 설명한다.
도 3은 화소선택처리(S102)에 대하여 더욱 상세하게 설명하는 도면이다. 도 3의 (a)는 화소를 순차적으로 선택하는 순번의 일례를 나타낸다. 본 실시예의 화소선택처리(S102)에 있어서 화소처리장치(12)는, 예를 들어 화소의 라인을 순차적으로 선택하고, 선택한 라인 속 화소를 소정의 처리방향을 따라서 순차적으로 선택한다. 또한, 화상처리장치(12)는, 더욱이 이러한 처리방향을 처리하는 라인마다 전화한다. 예를 들어, 화상처리장치(12)는 홀수 라인에 있어서는 왼쪽에서 오른쪽으로, 짝수 라인에 있어서는 오른쪽에서 왼쪽으로 순차적으로 화소를 선택한다. 이에 따라, 화상처리장치(12)는 양자화 처리를 쌍방향 처리에 의하여 행한다.
도 3의 (b)는 쌍방향 처리의 효과의 일례를 나타내는 도면으로, 처리방향을 일정한 한 방향으로만 한 단방향 처리를 행한 경우, 및 쌍방향 처리를 행한 경우의 각각에 대하여 양자화 결과의 일례를 나타낸다. 쌍방향 처리를 행한 경우, 오차의 확산방향이 일정하지 않게 되므로, 도트를 보다 적절하게 분산시킬 수 있다. 또한, 그 결과, 예를 들어 단방향 처리에 의하여 양자화를 하는 경우에 비하여 웜 노이즈의 발생 등을 보다 적절하게 방지할 수 있다.
도 4 내지 6은, 사용률 결정처리(S104)에 대하여 더욱 상세하게 설명하는 도면이다. 도 4는 오차 사용률(Re) 및 노이즈 사용률(Rn)과, 농도값(In(x,y))(이하, 입력값(In)으로 함)을 대응시키는 그래프 및 계산식의 일례를 나타낸다.
본 실시예에 있어서, 화상처리장치(12)는 최소 입력값(MinIn)인 0 이상이면서 최대 입력값(MaxIn) 이하 범위의 입력값(In)에 대하여 연속적으로 변하는 함수에 근거하여 오차 사용률(Re) 및 노이즈 사용률(Rn)을 산출한다. 최대 입력값(MaxIn) 및 최소 입력값(MinIn)은, 예를 들어 입력값(In)이 되는 농도값이 취할 수 있는 범위의 최대값 및 최소값이다.
또한, 이러한 함수에 있어서 화상처리장치(12)는 하이라이트부에 있는 농도 범위를 나타내는 기준으로서 제 3 하이라이트 기준값의 일례인 하이라이트측 오차 사용률 최소 농도값(Hes)과, 제 1 하이라이트 기준값의 일례인 하이라이트측 노이즈 사용률 최대 농도값(Hn)과, 제 2 하이라이트 기준값의 일례인 하이라이트측 오차 사용률 최대 농도값(He)을 이용한다. 그리고, 섀도부에 있는 농도 범위를 나타내는 기준으로서, 제 1 섀도 기준값의 일례인 섀도측 오차 사용률 최대 농도값(Se)과, 제 2 섀도 기준값의 일례인 섀도측 노이즈 사용률 최대 농도값(Sn)과, 제 3 섀도 기준값의 일례인 섀도측 오차 사용률 최소 농도값(Ses)을 이용한다. 더욱이, 중간조부의 중앙에 있어서 초기 임계값(Th)을 포함하는 농도 범위를 나타내는 기준으로서, 하이라이트측 노이즈 사용률 0% 농도값(Hnz), 섀도측 노이즈 사용률 0% 농도값(Snz), 제 1 중간조 기준값(C1) 및 제 2 중간조 기준값(C2)을 이용한다.
또한, 이들 파라미터는 적어도 Hes≤Hn<He<Se<Sn≤Ses, 및 Hn<Hnz<Snz<Sn이 되도록 설정된다. 그리고, 본 실시예에 있어서, 이들 파라미터는 그래프에 나타낸 대소 관계에서 0(MinIn)<Hes≤Hn<He<C1<Hnz<Th<Snz<C2<Se<Sn≤Ses<MaxIn이 되도록 설정된다.
그리고, 사용률 결정처리(S104)에 있어서, 화상처리장치(12)는 그래프 아래에 나타내는 계산식에 따라서, 오차 사용률(Re) 및 노이즈 사용률(Rn)을 결정한다. 단, 이러한 수식에 따라서 산출되는 노이즈 사용률(Rn)이 소정의 최저 노이즈 사용률(RnMin)보다 작아지는 경우, 화상처리장치(12)는 노이즈 사용률(Rn)을 최저 노이즈 사용률(RnMin)로 설정한다. 이에 따라, 화상처리장치(12)는 화소의 농도값이 어떠한 경우에도 노이즈 사용률(Rn)을 최저 노이즈 사용률(RnMin) 이상의 값으로 설정한다.
또한, 오차 사용률(Re) 및 노이즈 사용률(Rn)은 0~100%(값 0~1)의 범위 안의 값으로 설정된다. 그래프 아래에 나타내는 계산식에 있어서 100% 이상이 되는 경우에는 100%로 설정된다. 그리고, 0% 이하가 되는 경우에는 0%로 설정된다.
또한, 최저 노이즈 사용률(RnMin)은, 예를 들어 파라미터를 설정할 때의 조정시 등에서 0보다 큰 값으로 미리 설정된다. 최저 노이즈 사용률(RnMin)은, 예를 들어 0.1(10%) 이상의 값으로 하는 것을 생각할 수 있다. 예를 들어, 최저 노이즈 사용률(RnMin)은, 예를 들어 0.1~0.2(10~20%)로 하는 것이 바람직하다. 또한, 그래프에서 알 수 있는 바와 같이, 입력값(In)이 제 1 중간조 기준값(C1) 또는 제 2 중간조 기준값(C2)과 같은 경우에는 계산식으로 산출되는 노이즈 사용률(Rn)은 최저 노이즈 사용률(RnMin)과 같아진다.
이상의 방법에 의하여, 예를 들어 입력값(In)이 하이라이트측 오차 사용률 최대 농도값(He) 이상이면서 섀도측 오차 사용률 최대 농도값(Se) 이하인 경우, 화상처리장치(12)는 오차 사용률(Re)을 1(100%)로 설정한다. 또한, 예를 들어 입력값(In)이 하이라이트측 오차 사용률 최소 농도값(Hes) 이하인 경우, 오차 사용률(Re)을 0으로 설정한다. 입력값(In)이 하이라이트측 오차 사용률 최소 농도값(Hes) 이상이면서 하이라이트측 오차 사용률 최대 농도값(He) 이하인 경우, 오차 사용률(Re)을 (In-Hes)/(He-Hes)로 계산되는 값으로 설정한다. 이에 따라, 예를 들어 입력값(In)이 하이라이트측 오차 사용률 최대 농도값(He) 이하인 경우, 오차 사용률(Re)을 0 이상 1(100%) 이하의 값이고, 하이라이트측 오차 사용률 최대 농도값(He)과 입력값(In)의 차이에 따라서 1에서 점차 감소하는 값으로 설정한다.
또한, 예를 들어 입력값(In)이 섀도측 오차 사용률 최대 농도값(Se) 이상이면서 섀도측 오차 사용률 최소 농도값(Ses) 이하인 경우, 오차 사용률(Re)을 (Ses-In)/(Ses-Se)로 계산되는 값으로 설정한다. 입력값(In)이 섀도측 오차 사용률 최소 농도값(Ses) 이상인 경우, 오차 사용률(Re)을 0으로 설정한다. 이에 따라, 예를 들어 입력값(In)이 섀도측 오차 사용률 최대 농도값(Se) 이상인 경우, 오차 사용률(Re)을 0 이상 1(100%) 이하의 값이고, 입력값(In)과 섀도측 오차 사용률 최대 농도값(Se)의 차이에 따라서 1에서 점차 감소하는 값으로 설정한다.
이러한 경우, 하이라이트부에서 중간조부에 걸친 오차 사용률(Re)은, 입력값(In)에 대하여, 예를 들어 하이라이트측 오차 사용률 최소 농도값(Hes)에서 서서히 증가하고, 하이라이트측 오차 사용률 최대 농도값(He)에 있어서 최대값이 된다. 그리고, 섀도부에서 중간조부에 걸친 오차 사용률(Re)은 입력값(In)에 대하여 섀도측 오차 사용률 최대 농도값(Se)에서 서서히 감소하며, 섀도측 오차 사용률 최소 농도값(Ses)에 있어서 최소값이 된다.
이에 따라, 화상처리장치(12)는, 예를 들어 입력값(In)이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 오차 사용률(Re)을 중간조부에 상당하는 농도값인 경우의 오차 사용률(Re)보다 작은 값으로 설정한다. 또한, 이러한 경우, 오차 사용률(Re)은, 예를 들어 농도 범위의 양단에서는 값이 0(0%)이고, 디더 처리에 특유의 텍스처가 발생하는 농도 범위인 텍스처 발생부(Hd, Sd) 직전에 값 1(100%)이 되도록 변한다. 이와 같이 구성하면, 예를 들어 오차 사용률(Re)을 중간조에서 주로 사용하는 구성을 적절하게 실현할 수 있다.
또한, 예를 들어 입력값(In)이 하이라이트측 노이즈 사용률 최대 농도값(Hn) 이하인 경우, 또는 섀도측 노이즈 사용률 최대 농도값(Sn) 이상인 경우, 화상처리장치(12)는 노이즈 사용률(Rn)을 1(100%)로 설정한다. 그리고, 입력값(In)이 제 1 중간조 기준값(C1) 이상이면서 제 2 중간조 기준값(C2) 이하인 경우, 노이즈 사용률(Rn)을 최저 노이즈 사용률(RnMin)로 설정한다.
또한, 예를 들어 입력값(In)이 하이라이트측 노이즈 사용률 최대 농도값(Hn) 이상이면서 제 1 중간조 기준값(C1) 이하인 경우, 화상처리장치(12)는 노이즈 사용률(Rn)을 최저 노이즈 사용률(RnMin) 이상이면서 1(100%) 이하의 값이고, 입력값(In)과 하이라이트측 노이즈 사용률 최대 농도값(Hn)의 차이에 따라서 1에서 점차 감소하는 값으로 설정한다. 더욱이, 예를 들어 입력값(In)이 제 2 중간조 기준값(C2) 이상이면서 섀도측 노이즈 사용률 최대 농도값(Sn) 이하인 경우, 화상처리장치(12)는 노이즈 사용률(Rn)을 최저 노이즈 사용률(RnMin) 이상이면서 1(100%) 이하의 값이고, 입력값(In)과 제 2 중간조 기준값(C2)의 차이에 따라서 최저 노이즈 사용률(RnMin)에서 점차 증가하는 값으로 설정한다.
이에 따라, 화상처리장치(12)는, 예를 들어 입력값(In)이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 노이즈 사용률(Rn)을 중간조부에 상당하는 농도값인 경우의 노이즈 사용률(Rn)보다 큰 값으로 설정한다. 또한, 이 경우의 노이즈 사용률(Rn)은, 예를 들어 하이라이트부 및 섀도부에서의 값이 1(100%)이고, 중간조가 됨에 따라서 서서히 값이 내려가도록 변한다.
본 실시예에 따르면, 예를 들어 오차확산 특성의 영향이 강하면, 도트 지연이 발생하기 쉬운 하이라이트부 및 섀도부에 있어서 노이즈 사용률(Rn)을 높게 하고, 오차 사용률(Re)을 낮추게 된다. 이에 따라, 예를 들어 하이라이트부 및 섀도부에 있어서, 도트를 분산하여 배치할 수 있는 디더 특성의 영향이 커지므로, 도트 지연의 발생을 적절하게 억제할 수 있다.
또한, 오차확산 특성의 영향을 크게 하여 중간조부에서의 양자화 처리를 함으로써, 예를 들어 보다 자연스러운 유사 계조를 얻을 수 있다, 또한, 예를 들어 텍스처 발생부가 되는 농도 범위에 있어서, 노이즈 사용률(Rn)을 낮게, 오차 사용률(Re)을 높게 함으로써, 도트의 배치에 변화를 줄 수 있다. 그리고, 이에 따라, 예를 들어 텍스처의 발생을 적절하게 억제할 수 있다.
더욱이, 예를 들어 최저 노이즈 사용률(RnMin)을 설정하고, 노이즈 사용률(Rn)이 0이 되지 않도록 함으로써, 예를 들어 중간조부에 있어서 조금씩 디더 특성의 영향을 주면서, 오차확산 특성의 영향을 크게 할 수 있다. 또한, 이에 따라, 예를 들어 패턴 노이즈를 적절하게 억제할 수 있다.
그리고, 예를 들어 오차 사용률(Re) 및 노이즈 사용률(Rn)을 산출하는 계산식에 따라서 디더 특성의 영향의 크기와, 오차확산 특성의 영향의 크기를 서서히 변화시킴으로써, 디더 특성이 지배적인 영역과, 오차확산 특성이 지배적인 영역의 변환 부분에서 경계선이 발생하는 것을 적절하게 억제할 수 있다. 또한, 이에 따라, 양자화 처리 방법의 전환을 매끄럽게 할 수 있다.
따라서, 본 실시예에 의하면, 예를 들어 화소의 농도값에 따라서 오차 사용률(Re) 및 노이즈 사용률(Rn)의 각각을 적절하게 설정할 수 있다. 또한, 이에 따라, 오차확산 처리 및 디더 처리의 각각의 처리가 잘하는 부분을 보다 적절하게 사린 양자화 처리를 적절하게 행할 수 있다.
이어서, 오차 사용률(Re) 및 노이즈 사용률(Rn)을 산출하는 처리에 대하여 더욱 상세하게 설명한다. 도 5는 오차 사용률(Re)을 산출하는 처리의 일례를 나타내는 플로차트이다.
오차 사용률(Re)의 산출에 있어서, 화상처리장치(12)는 우선 입력값(In)이 하이라이트측 오차 사용률 최대 농도값(He) 이상이면서, 섀도측 오차 사용률 최대 농도값(Se) 이하의 범위에 있는지 없는지를 판정한다(S202). 그리고, 이 범위에 있다고 판정한 경우(S202: Yes), 오차 사용률(Re)을 최대 사용률인 1(100%)로 설정한다(S204).
또한, 이 범위에 없다고 판정한 경우(S202: No), 다시 입력값(In)에 대하여 하이라이트측 오차 사용률 최소 농도값(Hes)보다 크면서, 하이라이트측 오차 사용률 최대 농도값(He)보다 작은 범위에 있는지 없는지를 판정한다(S206). 그리고, 이 범위에 있다고 판정한 경우(S206: Yes), 오차 사용률(Re)을 Re=(In-Hes)/(He-Hes)로 계산되는 값으로 설정한다(S208).
또한, S206에 있어서 입력값(In)이 범위 안에 없다고 판정한 경우(S206: No), 화상처리장치(12)는 더욱이 입력값(In)에 대하여 섀도측 오차 사용률 최대 농도값(Se)보다 크면서, 섀도측 오차 사용률 최소 농도값(Ses)보다 작은 범위에 있는지 없는지를 판정한다(S210). 그리고, 이 범위에 있다고 판정한 경우(S210: Yes), 오차 사용률(Re)을 Re=(Ses-In)/(Ses-Se)로 계산되는 값으로 설정한다(S212). 또한, S210에 있어서 입력값(In)이 범위 안에 없다고 판정한 경우(S210: No), 화상처리장치(12)는 오차 사용률(Re)을 0(0%)으로 설정한다(S214).
그리고, 화상처리장치(12)는 S204, S208, S212 또는 S214 중 어딘가에서 설정한 오차 사용률(Re)을 입력값(In)에 대응하는 오차 사용률(Re)로서 채용한다(S216). 본 실시예에 따르면, 오차 사용률(Re)을 적절하게 산출할 수 있다.
도 6은 노이즈 사용률(Rn)을 산출하는 처리의 일례를 나타내는 플로차트이다. 노이즈 사용률(Rn)의 산출에 있어서, 화상처리장치(12)는 우선 입력값(In)이 하이라이트측 노이즈 사용률 최대 농도값(Hn) 보다 크면서, 하이라이트측 노이즈 사용률 0% 농도값(Hnz)보다 작은 범위에 있는지 없는지를 판정한다(S302). 그리고, 이 범위에 있다고 판정한 경우(S302: Yes), 노이즈 사용률(Rn)을 Rn=(Hnz-In)/(Hnz-Hn)으로 계산되는 값으로 설정한다(S304).
또한, 이 범위에 없다고 판정한 경우(S302: No), 더욱이 입력값(In)이 섀도측 노이즈 사용률 0% 농도값(Snz)보다 크면서, 섀도측 노이즈 사용률 최대 농도값(Sn)보다 작은 범위에 있는지 없는지를 판정한다(S306). 그리고, 이 범위에 있다고 판정한 경우(S306: Yes), 노이즈 사용률(Rn)을 Rn=(In-Snz)/(Sn-Snz)으로 계산되는 값으로 설정한다(S308).
또한, S304 또는 S308에 있어서 노이즈 사용률(Rn)을 계산값으로 설정한 후, 최소 사용률인 최저 노이즈 사용률(RnMin)보다 설정한 노이즈 사용률(Rn)이 큰지 작은지를 판정한다(S310). 그리고, 노이즈 사용률(Rn)이 최저 노이즈 사용률(RnMin) 이하인 경우(S310: No), 노이즈 사용률(Rn) 값을 최저 노이즈 사용률(RnMin)로 변경하고(S312), S316으로 진행한다. 또한, 노이즈 사용률(Rn)이 최저 노이즈 사용률(RnMin)보다 큰 경우(S310: Yes), 노이즈 사용률(Rn) 값을 변경하지 않고 S316으로 진행한다.
그리고, S306에 있어서 입력값(In)이 상기 범위에 없다고 판정한 경우(S306: No), 화상처리장치(12)는 노이즈 사용률(Rn)을 최대 사용률인 1(100%)로 설정한다(S314). 그리고, 화상처리장치(12)는 S304, S308, S312 또는 S314 중 어딘가에서 설정한 노이즈 사용률(Rn)을 입력값(In)에 대응하는 노이즈 사용률(Rn)로서 채용한다(S316). 본 실시예에 따르면, 노이즈 사용률(Rn)을 적절하게 산출할 수 있다.
도 7은 양자화 실행처리(S110) 동작의 일례를 나타내는 플로차트이다. 본 실시예의 양자화 실행처리(S110)에 있어서 화상처리장치(12)는 우선 입력값(In)과 최대 입력값(MaxIn)이 같은지 다른지를 판정한다(최대값 판정처리(S402)). 그리고, 같다고 판정한 경우(S402: Yes), 양자화 결과를 나타내는 출력값을 1로 설정한다(S404). 이러한 값 1은 입력값(In)이 임계값(Th)보다 큰 경우에 출력되어야 할 값의 일례이다. 또한, 이러한 출력값의 설정과 동시에, 다음의 오차분배 처리(S112)에서 사용하는 오차값을 오차 보정완료 입력값(In')과 최대 입력값(MaxIn)의 차이인 In'-MaxIn으로 설정한다.
또한, S402에 있어서 입력값(In)과 최대 입력값(MaxIn)이 같지 않다고 판정한 경우(S402: No), 화상처리장치(12)는 더욱이 입력값(In)과 최소입력값(MinIn)이 같은지 다른지를 판정한다(최소값 판정처리(S406)). 그리고, 같다고 판정한 경우(S406: Yes), 출력값을 0으로 설정한다(S408). 이러한 값 0은 입력값(In)이 임계값(Th)보다 작은 경우에 출력되어야 할 값의 일례이다. 또한, 이러한 출력값의 설정과 함께 오차값을 오차 보정완료 입력값(In')으로 설정한다.
그리고, S406에 있어서 입력값(In)과 최소 입력값(MinIn)이 같지 않다고 판정한 경우(S406: No), 화상처리장치(12)는 오차 보정완료 입력값(In')이 노이즈 보정완료 임계값(Th')보다 큰지 작은지를 판정한다(S410). 또한, 크다고 판정한 경우(S410: Yes), 출력값을 1로, 오차값을 In'=MaxIn으로 각각 설정한다(S412). 그리고, S410에 있어서 오차 보정완료 입력값(In')이 노이즈 보정완료 임계값(Th') 이하라고 판정한 경우(S410: No), 출력값을 0으로, 오차값을 In'으로 각각 설정한다(S414).
또한, 화상처리장치(12)는 양자화 실행처리(S110)의 결과가 되는 양자화값 및 오차값으로서 S404, S408, S412 또는 S414로 설정한 출력값 및 오차값을 취득한다(양자화값 취득처리(S416)). 그리고, 취득한 오차값을 다음 오차분배 처리(S112)로 넘긴다. 본 실시예에 따르면, 예를 들어 출력값 및 오차값을 쉽고 적절하게 설정할 수 있다.
도 8 및 도 9는 오차분배 처리(S112)에 대하여 더욱 상세하게 설명하는 도면이다. 도 8은 본 실시예에 있어서 사용하는 확산 필터의 일례를 나타낸다. 도 8의 (a)는 쌍방향 처리의 각 방향에서 이용하는 확산 필터의 일례를 나타낸다.
본 실시예에 있어서 확산 필터는, 예를 들어 Jarvis, Judice & Ninke의 매트릭스이다. 또한, 쌍방향 처리의 각 방향인 메인 주사방향 및 역 메인 주사방향의 각각에 대하여, 도시하는 각 필터를 사용한다. 그리고, 도시한 필터에 있어서 기호 *가 기입되어 있는 위치는 입력값(In)의 좌표[0,0](원점)이다. 또한, 각 매트릭스 내의 수치는 주변 화소에 오차를 분배할 때의 분배 비율이다.
도 8의 (b)는 오차의 분배 방법의 일례를 나타낸다. 주변 화소에 오차를 분배하는 처리에 있어서, 오차를 분배하는 곳의 좌표가 화상폭에서 벗어나 있는 경우, 화상처리장치(12)는 분배하는 곳의 좌표를 다음 라인의 선두 좌표로 변경한다. 또한, 반대측 좌표가 범위 밖으로 되어 있는 경우에도 같은 처리를 한다. 그리고, 분배하는 곳의 라인이 존재하지 않는 경우, 화상처리장치(12)는 오차를 분배하지 않는다. 그리고, 분배하는 곳의 좌표가 처리완료 화소인 경우에도 오차를 분배하지 않는다.
도 9는 오차분배 처리(S112)의 동작의 일례를 나타내는 플로차트이다. 오차분배 처리(S112)에 있어서, 화상처리장치(12)는 플로차트 중의 단계 S502와 S526 사이에서 Y좌표를 순차적으로 바꾸는 루프를 실행한다. 이러한 루프에 있어서 화상처리장치(12)는 0에서 확산 매트릭스 높이까지의 사이에서 Y의 값을 하나씩 증가시킨다. 확산 매트릭스 높이란, 예를 들어 확산 필터로서 이용하는 매트릭스의 행수이다.
또한, 단계 S504와 S524 사이에서 X좌표를 순차적으로 바꾸는 루프를 실행한다. 이러한 루프에 있어서, 화상처리장치(12)는 0에서 확산 매트릭스 폭까지의 사이에서 X의 값을 하나씩 증가시킨다. 확산 매트릭스 폭이란, 예를 들어 확산 필터로서 이용하는 매트릭스의 열수이다.
그리고, 이들 루프 중에서 화상처리장치(12)는 우선 플로차트 내에 나타낸 바와 같이, 분배하는 곳의 좌표(X',Y')를 설정한다. 또한, 확산 필터에 따라서 분배비율을 설정한다(S506). 그리고, 우선 이 시점에서 분배비율이 0보다 큰지 작은지를 판정하고(S508), 분배비율이 0 이하인 경우(S508: No), 오차를 분배하지 않고 다시 S504로 진행한다.
또한, 분배비율이 0보다 큰 경우(S508: Yes), S510 이후의 처리로 진행한다. 이러한 처리에 있어서 분배하는 곳의 좌표(X')가 화상폭보다 작고(S510: Yes), 좌표(X')가 0 이상이며(S512: Yes), 분배하는 곳의 좌표(Y')가 화상의 높이보다 작으면(S514: Yes), 분배하는 오차값(양자화 오차)을 오차값과 분배비율의 곱으로 설정하고(S516), 누적오차 버퍼에 저장되어 있는 분배 오차값에 가산한다(S518). 이에 따라, 화상처리장치(12)는 발생한 양자화 오차에 따라서 누적오차를 갱신한다.
그리고, S510에 있어서 좌표(X')가 화상폭 이상인 경우(S510: No), 좌표(X')=X'-화상폭, 좌표(Y')=Y'+1로 하고(S520) S514로 진행한다. S512에 있어서 좌표(X')가 0보다 작은 경우(S512: No), 좌표(X')=X'+화상폭, 좌표(Y')=Y'+1로 하고(S522) S514로 진행한다. 또한, S514에 있어서, 좌표(Y')가 화상 높이 이상인 경우(S514: No), 오차를 분배하지 않고 S504로 진행한다.
이상의 동작에 의하여, 화상처리장치(12)는 누적오차 버퍼에 저장되어 있는 값에 양자화 오차를 곱하여 누적오차를 산출한다. 본 실시예에 따르면, 오차를 적절하게 분배할 수 있다. 또한, 이에 따라 누적오차를 적절히 산출할 수 있다.
도 10은 본 실시예에 따른 인쇄 결과의 일례를 참고예에 의한 인쇄 결과와 함께 나타낸다. 도 10의 (a)~(c)는, 도 1 내지 도 9를 이용하여 설명한 본 실시예와 다른 참고예에 따른 인쇄 결과이다. 도 10의 (a)는 종래 공지의 전형적인 오차확산 처리만을 한 경우의 인쇄 결과의 일례를 나타낸다. 도 10의 (b)는 종래 공지의 디더 처리만을 한 경우의 인쇄 결과의 일례를 나타낸다.
전형적인 오차확산 처리만을 한 경우, 예를 들어 하이라이트부나 섀도부에서는 도트의 지연 등의 문제가 발생한다. 또한, 디더 처리만을 한 경우, 예를 들어 디더 처리에 특유의 텍스처 등의 문제가 발생한다.
도 10의 (c)는 농도 범위에 따라서 단순히 디더 처리와 오차확산 처리를 전환한 경우의 인쇄 결과의 일례를 나타낸다. 이러한 예에서는, 예를 들어 하이라이트부와 중간조부 사이나, 중간조부와 섀도부 사이에 있어서, 본 실시예와 같이 노이즈 사용률이나 오차 사용률을 서서히 바꾸는 전환 처리를 하지 않고, 디더 처리와 오차확산 처리를 전환하고 있다. 이와 같이, 적절한 전환 처리를 하지 않고, 단순히 디더 처리와 오차확산 처리를 전환하는 경우, 전환에 의하여 경계선이 발생하는 등의 문제가 생긴다.
도 10의 (d)는 본 실시예에 따른 인쇄 결과의 일례를 나타낸다. 도면에서 알 수 있는 바와 같이, 본 실시예에 따르면, 예를 들어 하이라이트부나 섀도부에서의 도트 지연을 적절하게 억제할 수 있다. 또한, 중간조에 있어서 텍스처가 발생하는 것이나, 전환에 의하여 경계선이 발생하는 것 등도 적절하게 방지할 수 있다. 그 때문에, 본 실시예에 따르면, 양자화 처리를 보다 적절하게 할 수 있다.
이상, 본 발명을 실시형태를 이용하여 설명하였는데, 본 발명의 기술적 범위는 상기 실시형태에 기재된 범위로 한정되는 것은 아니다. 상기 실시형태에 다양한 변경 또는 개량을 더할 수 있다는 것이 당업자에게 명확하다. 그러한 변경 또는 개량을 더한 형태도 본 발명의 기술적 범위에 포함될 수 있다는 것이 청구범위의 기재로부터 명확하다.
또한, 이상의 양자화 처리의 설명은 양자화한 후의 계조수가 2계조가 되는 경우에 대한 것이다. 하지만, 같은 방법에 의한 양자화는, 예를 들어 계조수가 3 이상인 경우의 처리에도 적용할 수 있다. 계조수가 3 이상인 경우란, 예를 들어 3종류 이상의 도트 사이즈를 이용하는 경우이다.
이러한 경우, 예를 들어 각각의 사이즈의 도트마다 대응하는 양자화 처리를 2계조의 경우와 같거나 유사하게, 노이즈 사용률 및 오차 사용률에 따라서 디더 매트릭스 노이즈 및 누적오차 모두를 이용하여 행한다. 그리고, 각각의 사이즈의 도트에 대응하는 출력 결과끼리를 비교하여, 사이즈가 가장 커지는 도트를 최종 출력으로 한다. 이렇게 하면, 예를 들어 계조수가 3 이상인 경우에도 보다 적절하게 양자화 처리를 할 수 있다.
본 발명은, 예를 들어 컴퓨터가 양자화를 하게 하는 프로그램에 적합하게 이용할 수 있다.
10: 인쇄 시스템
12: 화상처리장치
14: 인쇄장치
12: 화상처리장치
14: 인쇄장치
Claims (9)
- 화상 속 각 화소의 색상의 농도를 나타내는 농도값의 양자화를 컴퓨터가 하게 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체로서,
상기 양자화를 해야 할 화소를 순차적으로 선택하는 화소선택처리와,
미리 설정된 디더 매트릭스에 의하여 지정되는 노이즈인 디더 매트릭스 노이즈가 상기 양자화 처리에 영향을 주는 정도를 나타내는 노이즈 사용률과, 주변 화소에 대한 상기 양자화에 있어서 발생하는 오차인 양자화 오차를 누적한 누적오차가 상기 양자화 처리에 영향을 주는 정도를 나타내는 오차 사용률을 결정하는 처리로서, 상기 화소선택처리에서 순차적으로 선택되는 화소의 상기 농도값에 따라서 그 화소에 대응하는 상기 노이즈 사용률 및 상기 오차 사용률을 결정하는 사용률 결정처리와,
상기 화소선택처리에서 순차적으로 선택되는 상기 화소의 상기 농도값에 대한 상기 양자화를 하는 처리로서, 그 화소에 대응하는 상기 노이즈 사용률에 따라서 디더 매트릭스 노이즈를 사용하면서, 그 화소에 대응하는 상기 오차 사용률에 따라서 상기 누적오차를 사용하여 상기 양자화를 하는 양자화 실행처리를 상기 컴퓨터가 실행하게 하며,
상기 사용률 결정처리는 상기 노이즈 사용률 및 오차 사용률의 결정에 있어서,
상기 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 상기 노이즈 사용률을 하이라이트부와 섀도부의 중간인 중간조부에 상당하는 농도값인 경우의 상기 노이즈 사용률보다 큰 값으로 하고,
상기 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 상기 오차 사용률을 상기 중간조부에 상당하는 농도값인 경우의 상기 오차 사용률보다 작은 값으로 하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 1 항에 있어서,
상기 프로그램은 상기 화소선택처리에서 순차적으로 선택되는 상기 화소에 대하여,
상기 누적오차에 의한 보정을 한 후의 농도값인 오차 보정완료 입력값을 산출하는 처리로서, 그 화소에 대응하는 상기 오차 사용률과 상기 누적오차의 곱을 그 화소의 농도값에 가산한 값을 상기 오차 보정완료 입력값으로서 산출하는 오차 보정완료 입력값 산출처리와,
상기 양자화에서 사용하는 임계값으로서 상기 디더 매트릭스 노이즈를 반영한 임계값인 노이즈 보정완료 임계값을 산출하는 처리로서, 그 화소에 대응하는 상기 노이즈 사용률과 상기 디더 매트릭스 노이즈의 곱을 미리 설정된 초기 임계값에 가산한 값을 상기 노이즈 보정완료 임계값으로서 산출하는 노이즈 보정완료 임계값 산출처리를 상기 컴퓨터가 더 실행하게 하고,
상기 양자화 실행처리는, 상기 노이즈 보정완료 임계값과 상기 오차 보정완료 입력값을 비교함으로써 상기 양자화를 하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 1 항에 있어서,
상기 양자화 실행처리는,
상기 양자화의 입력값인 상기 화소의 상기 농도값과, 상기 농도값이 취할 수 있는 범위의 최대값이 같은지 다른지를 판정하는 최대값 판정처리와,
상기 입력값인 상기 화소의 상기 농도값과, 상기 농도값이 취할 수 있는 범위의 최소값이 같은지 다른지를 판정하는 최소값 판정처리와,
상기 양자화의 결과인 양자화값을 취득하는 양자화값 취득처리를 가지고,
상기 최대값 판정처리에 있어서 상기 입력값과 상기 최대값이 같다고 판정된 경우, 상기 양자화값 취득처리는, 상기 양자화값으로서 상기 농도값이 임계값보다 큰 경우에 출력되어야 할 값을 취득하며,
상기 최소값 판정처리에 있어서 상기 입력값과 상기 최소값이 같다고 판정된 경우, 상기 양자화값 취득처리는, 상기 양자화값으로서 상기 농도값이 상기 임계값보다 작은 경우에 출력되어야 할 값을 취득하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 삭제
- 제 1 항에 있어서,
상기 사용률 결정처리는 상기 화소의 농도값 중 어떤 경우에도 상기 노이즈 사용률을 0보다 큰 값으로 미리 설정된 최저 노이즈 사용률 이상의 값으로 설정하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 5 항에 있어서,
상기 사용률 결정처리는,
하이라이트부에 있는 농도 범위를 나타내는 기준으로서, 미리 설정된 제 1 하이라이트 기준값과, 상기 제 1 하이라이트 기준값보다 큰 값의 제 2 하이라이트 기준값을 이용하고,
섀도부에 있는 농도 범위를 나타내는 기준으로서, 미리 설정된 제 1 섀도 기준값과, 상기 제 1 섀도 기준값보다 큰 값의 제 2 섀도 기준값을 이용하며,
중간조부의 중앙에 있는 농도 범위를 나타내는 기준으로서, 제 2 하이라이트 기준값보다 크면서 상기 제 1 섀도 기준값보다 작은 제 1 중간조 기준값과, 상기 제 1 중간조 기준값보다 크면서 상기 제 1 섀도 기준값보다 작은 제 2 중간조 기준값을 이용하고,
상기 화소의 농도값이 상기 제 1 하이라이트 기준값 이하인 경우, 또는 상기 제 2 섀도 기준값 이상인 경우, 상기 노이즈 사용률을 1로 설정하며,
상기 화소의 농도값이 상기 제 1 중간조 기준값 이상이면서 상기 제 2 중간조 기준값 이하인 경우, 상기 노이즈 사용률을 상기 최저 노이즈 사용률로 설정하고,
상기 화소의 농도값이 상기 제 1 하이라이트 기준값 이상이면서 상기 제 1 중간조 기준값 이하인 경우, 상기 노이즈 사용률을 상기 최저 노이즈 사용률 이상이면서 1 이하의 값이며, 상기 화소의 농도값과 상기 제 1 하이라이트 기준값의 차이에 따라서 1에서 점차 감소하는 값으로 설정하고,
상기 화소의 농도값이 상기 제 2 중간조 기준값 이상이면서 상기 제 2 섀도 기준값 이하인 경우, 상기 노이즈 사용률을 상기 최저 노이즈 사용률 이상이면서 1 이하의 값이며, 상기 화소의 농도값과 상기 제 2 중간조 기준값의 차이에 따라서 상기 최저 노이즈 사용률에서 점차 증가하는 값으로 설정하고,
상기 화소의 농도값이 상기 제 2 하이라이트 기준값 이상이면서 상기 제 1 섀도 기준값 이하인 경우, 상기 오차 사용률을 1로 설정하며,
상기 화소의 농도값이 상기 제 2 하이라이트 기준값 이하인 경우, 상기 오차 사용률을 0 이상 1 이하의 값이며, 상기 제 2 하이라이트 기준값과 상기 농도값의 차이에 따라서 1에서 점차 감소하는 값으로 설정하고,
상기 화소의 농도값이 상기 제 1 섀도 기준값 이상인 경우, 상기 오차 사용률을 0 이상 1 이하의 값이며, 상기 화소의 농도값과 상기 제 1 섀도 기준값의 차이에 따라서 1에서 점차 감소하는 값으로 설정하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 제 6 항에 있어서,
상기 사용률 결정처리는,
하이라이트부에 있는 농도 범위를 나타내는 기준으로서, 0보다 크면서 상기 제 1 하이라이트 기준값 이하의 값인 제 3 하이라이트 기준값을 더 이용하고,
섀도부에 있는 농도 범위를 나타내는 기준으로서, 상기 제 2 섀도 기준값 이상이면서 농도값이 취할 수 있는 범위의 최대값보다 작은 값인 제 3 섀도 기준값을 더 이용하며,
상기 화소의 농도값이 상기 제 3 하이라이트 기준값 이하인 경우, 상기 오차 사용률을 0으로 설정하고,
상기 화소의 농도값이 상기 제 3 하이라이트 기준값 이상이면서 상기 제 2 하이라이트 기준값 이하인 경우, 상기 오차 사용률을 상기 농도값과 상기 제 3 하이라이트 기준값의 차이를 상기 제 2 하이라이트 기준값과 상기 제 3 하이라이트 기준값의 차이에서 뺀 값으로 설정하며,
상기 화소의 농도값이 상기 제 1 섀도 기준값 이상이면서 상기 제 3 섀도 기준값 이하인 경우, 상기 오차 사용률을 상기 제 3 섀도 기준값과 상기 농도값의 차이를 상기 제 3 섀도 기준값과 상기 제 1 섀도 기준값의 차이에서 뺀 값으로 설정하고,
상기 화소의 농도값이 상기 제 3 섀도 기준값 이상인 경우, 상기 오차 사용률을 0으로 설정하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체. - 화상 속 각 화소의 색상의 농도를 나타내는 농도값의 양자화를 하는 화상처리장치로서,
상기 양자화를 해야 할 화소를 순차적으로 선택하는 화소선택처리부와,
미리 설정된 디더 매트릭스에 의하여 지정되는 노이즈인 디더 매트릭스 노이즈가 상기 양자화 처리에 영향을 주는 정도를 나타내는 노이즈 사용률과, 주변 화소에 대한 상기 양자화에서 발생하는 오차인 양자화 오차를 누적한 누적오차가 상기 양자화 처리에 영향을 주는 정도를 나타내는 오차 사용률을 결정하는 처리부로서, 상기 화소선택처리부에 의하여 순차적으로 선택되는 화소의 상기 농도값에 따라서 그 화소에 대응하는 상기 노이즈 사용률 및 상기 오차 사용률을 결정하는 사용률 결정처리부와,
상기 화소선택처리부에 의하여 순차적으로 선택되는 상기 화소의 상기 농도값에 대한 상기 양자화를 하는 처리부로서, 그 화소에 대응하는 상기 노이즈 사용률에 따라서 디더 매트릭스 노이즈를 사용하면서, 그 화소에 대응하는 상기 오차 사용률에 따라서 상기 누적오차를 사용하여 상기 양자화를 하는 양자화 실행처리부를 구비하며,
상기 사용률 결정처리부는 상기 노이즈 사용률 및 오차 사용률의 결정에 있어서,
상기 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 상기 노이즈 사용률을 하이라이트부와 섀도부의 중간인 중간조부에 상당하는 농도값인 경우의 상기 노이즈 사용률보다 큰 값으로 하고,
상기 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 상기 오차 사용률을 상기 중간조부에 상당하는 농도값인 경우의 상기 오차 사용률보다 작은 값으로 하는 것을 특징으로 하는 화상처리장치. - 화상 속 각 화소의 색상의 농도를 나타내는 농도값의 양자화를 하는 화상처리방법으로서,
상기 양자화를 해야 할 화소를 순차적으로 선택하는 화소선택처리단계와,
미리 설정된 디더 매트릭스에 의하여 지정되는 노이즈인 디더 매트릭스 노이즈가 상기 양자화 처리에 영향을 주는 정도를 나타내는 노이즈 사용률과, 주변 화소에 대한 상기 양자화에서 발생하는 오차인 양자화 오차를 누적한 누적오차가 상기 양자화 처리에 영향을 주는 정도를 나타내는 오차 사용률을 결정하는 처리단계로서, 상기 화소선택처리단계에 있어서 순차적으로 선택되는 화소의 상기 농도값에 따라서 그 화소에 대응하는 상기 노이즈 사용률 및 상기 오차 사용률을 결정하는 사용률 결정 처리단계와,
상기 화소선택처리단계에 있어서 순차적으로 선택되는 상기 화소의 상기 농도값에 대한 상기 양자화를 하는 처리 단계로서, 그 화소에 대응하는 상기 노이즈 사용률에 따라서 디더 매트릭스 노이즈를 사용하면서, 그 화소에 대응하는 상기 오차 사용률에 따라서 상기 누적오차를 사용하여 상기 양자화를 하는 양자화 실행 처리단계를 구비하며,
상기 사용률 결정 처리단계는 상기 노이즈 사용률 및 오차 사용률의 결정에 있어서,
상기 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 상기 노이즈 사용률을 하이라이트부와 섀도부의 중간인 중간조부에 상당하는 농도값인 경우의 상기 노이즈 사용률보다 큰 값으로 하고,
상기 화소의 농도값이 하이라이트부 또는 섀도부 중 어딘가에 상당하는 농도값인 경우의 상기 오차 사용률을 상기 중간조부에 상당하는 농도값인 경우의 상기 오차 사용률보다 작은 값으로 하는 것을 특징으로 하는 화상처리방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/004934 WO2011036735A1 (ja) | 2009-09-28 | 2009-09-28 | プログラム、画像処理装置、及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120061935A KR20120061935A (ko) | 2012-06-13 |
KR101350881B1 true KR101350881B1 (ko) | 2014-01-13 |
Family
ID=43795507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127007912A KR101350881B1 (ko) | 2009-09-28 | 2009-09-28 | 프로그램, 화상처리장치, 및 화상처리방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8693057B2 (ko) |
EP (1) | EP2485471B1 (ko) |
JP (1) | JP5230816B2 (ko) |
KR (1) | KR101350881B1 (ko) |
CN (1) | CN102687495B (ko) |
WO (1) | WO2011036735A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5428696B2 (ja) * | 2009-09-16 | 2014-02-26 | セイコーエプソン株式会社 | 印刷装置、印刷用データ生成装置、印刷方法及びそのプログラム |
JP5472617B2 (ja) * | 2010-02-09 | 2014-04-16 | 富士ゼロックス株式会社 | 画像処理装置、画像形成装置、画像処理プログラム |
US20130069968A1 (en) * | 2011-09-16 | 2013-03-21 | Qualcomm Mems Technologies, Inc. | Methods and apparatus for hybrid halftoning of an image |
US20140071153A1 (en) * | 2012-09-13 | 2014-03-13 | Chang-Jing Yang | Image processing method and image display device |
TWI546798B (zh) * | 2013-04-29 | 2016-08-21 | 杜比實驗室特許公司 | 使用處理器來遞色影像的方法及其電腦可讀取儲存媒體 |
US9906686B2 (en) | 2013-10-15 | 2018-02-27 | Hewlett-Packard Development Company, L.P. | Image processing using content-based weighted dithering |
JP7152323B2 (ja) | 2019-01-18 | 2022-10-12 | 株式会社ミマキエンジニアリング | 印刷システム、画像処理装置、及び印刷方法 |
JP2022086626A (ja) * | 2020-11-30 | 2022-06-09 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007166622A (ja) | 2005-12-14 | 2007-06-28 | Oce Technologies Bv | デジタル画像をハーフトーン化する方法、装置およびコンピュータプログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2667860B2 (ja) * | 1988-02-25 | 1997-10-27 | キヤノン株式会社 | 画像処理方法及び装置 |
JPH07307866A (ja) * | 1994-05-10 | 1995-11-21 | Fuji Photo Film Co Ltd | 画像信号2値化処理装置および方法 |
US6160921A (en) * | 1998-06-15 | 2000-12-12 | Apple Computer, Inc. | Error diffusion with homogeneous distribution in highlight and shadow regions |
US6271936B1 (en) * | 1998-12-11 | 2001-08-07 | Eastman Kodak Company | Combining error diffusion, dithering and over-modulation for smooth multilevel printing |
US6563957B1 (en) * | 1999-05-07 | 2003-05-13 | Hewlett-Packard Company | Tone dependent error diffusion |
JP2001119574A (ja) * | 1999-10-14 | 2001-04-27 | Matsushita Graphic Communication Systems Inc | 画像処理装置及び画像処理方法 |
JP4100597B2 (ja) * | 2000-04-07 | 2008-06-11 | 株式会社リコー | 画像形成方法、画像処理装置及び記憶媒体 |
JP2002325177A (ja) * | 2001-04-26 | 2002-11-08 | Mutoh Ind Ltd | 画像処理方法 |
JP3949931B2 (ja) * | 2001-10-30 | 2007-07-25 | 株式会社ルネサステクノロジ | 画像形成装置 |
JP4014083B2 (ja) * | 2002-03-06 | 2007-11-28 | 株式会社リコー | 画像形成装置 |
JP4241441B2 (ja) * | 2004-03-03 | 2009-03-18 | コニカミノルタホールディングス株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
JP2006240054A (ja) | 2005-03-03 | 2006-09-14 | Seiko Epson Corp | 印刷データ作成時のハーフトーン処理アルゴリズムの選択 |
JP2006287474A (ja) * | 2005-03-31 | 2006-10-19 | Kyocera Mita Corp | 画像処理装置、画像処理プログラム |
JP2008087382A (ja) | 2006-10-03 | 2008-04-17 | Seiko Epson Corp | 高画質ハーフトーン処理 |
JP2008227759A (ja) * | 2007-03-09 | 2008-09-25 | Sharp Corp | 画像処理装置、画像形成装置、画像処理方法、画像処理プログラムおよびコンピュータ読み取り可能な記録媒体 |
JP5369851B2 (ja) * | 2008-09-16 | 2013-12-18 | 株式会社リコー | 画像処理装置、画像処理方法、コンピュータが実行可能なプログラム、およびコンピュータが読み取り可能な記録媒体 |
-
2009
- 2009-09-28 EP EP09849766.2A patent/EP2485471B1/en not_active Not-in-force
- 2009-09-28 CN CN200980161666.2A patent/CN102687495B/zh not_active Expired - Fee Related
- 2009-09-28 US US13/498,328 patent/US8693057B2/en active Active
- 2009-09-28 WO PCT/JP2009/004934 patent/WO2011036735A1/ja active Application Filing
- 2009-09-28 KR KR1020127007912A patent/KR101350881B1/ko not_active IP Right Cessation
- 2009-09-28 JP JP2011532816A patent/JP5230816B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007166622A (ja) | 2005-12-14 | 2007-06-28 | Oce Technologies Bv | デジタル画像をハーフトーン化する方法、装置およびコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2011036735A1 (ja) | 2011-03-31 |
KR20120061935A (ko) | 2012-06-13 |
CN102687495B (zh) | 2015-07-08 |
US20120182586A1 (en) | 2012-07-19 |
CN102687495A (zh) | 2012-09-19 |
EP2485471A1 (en) | 2012-08-08 |
EP2485471B1 (en) | 2017-03-15 |
JP5230816B2 (ja) | 2013-07-10 |
JPWO2011036735A1 (ja) | 2013-02-14 |
US8693057B2 (en) | 2014-04-08 |
EP2485471A4 (en) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101350881B1 (ko) | 프로그램, 화상처리장치, 및 화상처리방법 | |
US8208172B2 (en) | Image forming apparatus and image forming method | |
JP2019050629A (ja) | 画像処理装置、画像処理方法およびプログラム | |
US7554697B2 (en) | Image forming apparatus, image forming method, and image forming program | |
US20120274978A1 (en) | Halftone screen producing apparatus, print controlling apparatus, image forming apparatus, method of producing halftone screen, method of controlling printing, method of forming image, and computer-readable recording medium | |
JP6175914B2 (ja) | 印刷装置、印刷方法、および画像処理装置 | |
US8913296B2 (en) | Dither matrix creating device | |
JP5641822B2 (ja) | 画像処理装置およびその方法 | |
US20100103464A1 (en) | Image processing apparatus and image processing method | |
WO2005120041A2 (en) | Methods and apparatus for generating dither mask through interpolation between preferred patterns | |
JP5669249B2 (ja) | プログラム、画像処理装置、及び画像処理方法 | |
JP4522812B2 (ja) | 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム、およびコンピュータ読み取り可能な記録媒体 | |
JP2018160883A (ja) | 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム | |
JP2024019858A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2020115625A (ja) | 印刷システム、画像処理装置、及び印刷方法 | |
JP2016015596A (ja) | 画像処理装置、画像処理方法及びプログラム。 | |
JP2024019857A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP7434502B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
JP4151965B2 (ja) | カラー画像処理装置、および方法 | |
JP2009135637A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2024019937A (ja) | プログラム、画像処理装置、及び画像処理方法 | |
JP2024019908A (ja) | プログラム、画像処理装置、及び画像処理方法 | |
JP5950694B2 (ja) | 画像処理装置およびその制御方法 | |
JP4238660B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP4158652B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム |
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: 20161221 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |