KR20020059738A - 화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체 - Google Patents

화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체 Download PDF

Info

Publication number
KR20020059738A
KR20020059738A KR1020027006214A KR20027006214A KR20020059738A KR 20020059738 A KR20020059738 A KR 20020059738A KR 1020027006214 A KR1020027006214 A KR 1020027006214A KR 20027006214 A KR20027006214 A KR 20027006214A KR 20020059738 A KR20020059738 A KR 20020059738A
Authority
KR
South Korea
Prior art keywords
raster
pixel
dot
error
tone
Prior art date
Application number
KR1020027006214A
Other languages
English (en)
Other versions
KR100485635B1 (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 구사마 사부로
Publication of KR20020059738A publication Critical patent/KR20020059738A/ko
Application granted granted Critical
Publication of KR100485635B1 publication Critical patent/KR100485635B1/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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color Image Communication Systems (AREA)

Abstract

화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는데 있어서, 서로 인접한 소정개수의 상기 래스터로 이루어지는 래스터군(群)마다 변환한다. 이 때, 그 래스터군 중 최후미에 있는 최후미 래스터의 각 화소에서 생긴 계조(階調)오차는, 주변화소로 확산하여 제1의 기억부에 기억해 둔다. 그 최후미 래스터에 인접하는 래스터군의 선두 래스터에 관해서는, 제1의 기억부로부터 오차를 판독출력하여 도트형성유무를 판단하고, 그 판단에 의해 생긴 계조오차는 그 제1의 기억부 보다 신속히 판독 기록 가능한 제2의 기억부에 기억한다. 선두 래스터에 계속되는 잔여 래스터에 관해서는, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여, 그 선두 래스터의 각 화소에서 생긴 계조오차를 반영시키면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 잔여 래스터를 도트 열로 변환한다. 이렇게 하면, 동일 래스터군의 화소에서 고려하는 오차를, 신속히 판독 기록 가능한 제2의 기억부에 기억하여, 래스터군의 화상 데이터를 신속히 변환할 수 있다.

Description

화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체{IMAGE PROCESSING DEVICE, PRINTING CONTROL DEVICE, IMAGE PROCESSING METHOD, AND RECORDED MEDIUM}
인쇄매체나 액정화면이라고 한 표시매체 위에 도트를 형성하는 것으로 화상을 표현하는 화상표시장치는, 각종 화상기기의 출력장치로서 널리 사용되고 있다. 이러한 화상표시장치는, 국소적으로 도트를 형성하는지 여부의 어느 것인가의 상태밖에 표현할 수 없지만, 화상의 계조값에 따라 도트의 형성밀도를 적절히 제어함으로써, 계조가 연속적으로 변화하는 화상을 표현하는 것이 가능해지고 있다.
이들 화상표시장치에서, 화상의 계조값에 따라 적절한 밀도로 도트가 형성되 도록, 각 화소에 관해 도트형성의 유무를 판단하기 위한 수법(手法)에는, 예컨대 오차확산법이라고 하는 수법이나, 이와 수학적으로 등가인 평균 오차최소법이라고 하는 수법 등이 있다.
오차확산법이라고 하는 수법은, 착안화소에 도트를 형성한 것, 혹은 도트를 형성하지 않은 것에 의해 생기는 계조표현의 오차를, 착안화소 주변의 미판단화소로 확산하여 기억해 두고, 미판단화소에 관해서의 도트형성유무를 판단하는데 있어서는, 주변화소로부터 확산되어 온 오차를 해소하도록 도트형성유무를 판단하는 수법이다. 또한, 평균 오차최소법이라고 하는 수법은, 도트형성유무의 판단에 의해 생긴 계조표현의 오차를 주변화소로 확산하는 일없이 착안화소에 기억해 두고, 그 대신에 미판단화소에 관해서의 도트형성유무를 판단하는데 있어서는, 주변화소에 기억되어 있는 오차를 판독출력하여 이들의 오차를 제거하도록, 착안화소에 관해서의 도트형성유무를 판단하는 수법이다.
이들 어느 것인가의 수법에서도, 화상은 다수의 화소로 구성되어 있기 때문에, 모든 화소에 관해서의 도트형성유무의 판단을 동시에 하는 것은 불가능하다. 한편, 화상 데이터는, 원(原)화상을 주사하여 생성되는 관계상, 주사하여 얻어진 화소의 열{래스터(raster)라고 한다}의 순서에 따라 공급된다. 이들의 이유로부터, 도트형성유무의 판단은, 화상을 구성하는 래스터를 따라 행하여진다. 즉, 래스터의 단부(端部)에 있는 화소로부터 순번으로 도트형성유무의 판단을 행하고, 그 래스터에 있는 모든 화소의 판단이 종료되면, 이웃의 래스터의 처리를 개시한다. 이러한 방법에서는, 화상 위에서 서로 인접하는 화소이더라도, 다른 래스터에 속하는 화소는 연속하여 처리되는 것은 아니기 때문에, 도트형성판단에 의해 생기는 계조표현의 오차를 오차 버퍼에 저장해 두고, 필요하게 되었을 때 오차 버퍼로부터 판독출력하여 사용한다. 이와 같이 하여, 주변화소에서 발생한 계조표현의 오차를 반영시키면서, 오차를 해소하도록 도트형성의 유무를 판단함으로써, 화상의 계조값에 따른 적절한 밀도로 도트를 형성할 수 있고, 그 결과 화상표시장치 위에, 고화질인 화상을 표시하는 것이 가능해진다.
그러나, 이러한 방법에서는 도트형성유무의 판단을 행할 때마다 생기는 계조표현의 오차를, 오차 버퍼에 빈번히 판독 기록하지 않으면 안되고, 도트형성유무의 판단을 신속히 행할 수 없다고 하는 문제가 있었다. 즉, 오차확산법에서는 주변화소로 확산해야 할 확산오차를 도트형성유무를 판단할 때마다 오차 버퍼에 기록입력되지 않으면 안되고, 혹은 평균 오차최소법에서는 주변화소에서 생긴 계조표현의 오차를 도트형성유무의 판단 때마다 오차 버퍼로부터 판독출력되지 않으면 안되며, 어느 것인가의 경우도 오차 버퍼에 대해 빈번히 판독 기록을 행할 정도만큼 도트형성유무의 판단에 시간이 필요하게 되어 있었다. 도트형성유무의 판단에 시간이 걸리면, 화상을 신속히 표시하는 것은 곤란하게 된다.
본 발명은 화상을 구성하는 복수의 화소의 계조(階調)값으로 표현된 화상 데이터를 변환하는 기술에 관한 것으로, 상세하게는 그 화상 데이터를 각 화소에 관해서의 도트형성유무에 의한 표현형식의 화상 데이터로 변환하는 기술에 관한 것이다.
도 1은 본 실시예의 인쇄 시스템의 개략 구성도.
도 2는 본 실시예의 화상처리장치로서 컴퓨터의 구성을 나타내는 설명도.
도 3은 본 실시예의 화상표시장치로서 프린터의 개략 구성도.
도 4는 본 실시예의 화상처리장치에서 행하여지는 화상 데이터 변환처리의 흐름을 나타내는 흐름도.
도 5는 오차확산법을 이용하여 도트형성유무를 판단하는 모양을 개념적으로 나타내는 설명도.
도 6은 화소마다 오차확산계수가 설정되어 있는 모양을 예시하는 설명도.
도 7은 제1 실시예의 계조수 변환처리에서, 복수의 래스터 처리를 병행하여 행함으로써 처리시간을 단축화하는 원리를 나타내는 설명도.
도 8은 제1 실시예의 계조수 변환처리의 흐름을 나타내는 흐름도.
도 9는 제1 실시예의 계조수 변환처리의 제1 변형예에서, 복수의 래스터를 병행하여 처리하고 있는 모양을 개념적으로 나타내는 설명도.
도 10은 제1 실시예의 계조수 변환처리의 제2 변형예에서, 복수의 래스터를 병행하여 처리하고 있는 모양을 개념적으로 나타내는 설명도.
도 11은 제1 실시예의 계조수 변환처리의 제3 변형예에서, 복수의 래스터를 병행하여 처리하고 있는 모양을 개념적으로 나타내는 설명도.
도 12는 제1 실시예의 계조수 변환처리의 제4 변형예에서, 원방으로 확산하는 오차에 관해서는 오차 버퍼가 있는 화소로 확산하는 오차확산 매트릭스를 개념적으로 나타내는 설명도.
도 13은 제2 실시예의 계조수 변환처리에서, 복수의 래스터의 처리를 병행하여 행함으로써 처리시간을 단축화하는 원리를 나타내는 설명도.
도 14는 제2 실시예의 변형예의 계조수 변환처리에서, 무게 계수가 화소마다 설정되어 있는 모양을 예시하는 설명도.
도 15는 제2 실시예의 계조수 변환처리의 흐름을 나타내는 흐름도.
도 16은 제2 실시예의 계조수 변환처리의 제1 변형예에서, 복수의 래스터를 병행하여 처리하고 있는 모양을 개념적으로 나타내는 설명도.
본 발명은, 종래 기술에서의 상술한 과제를 해결하기 위해 이루어진 것으로, 화질의 악화를 초래하는 일없이, 도트형성유무의 판단에 요하는 시간을 단축화함으로써, 고화질의 화상을 신속히 표시 가능한 기술을 제공하는 것을 목적으로 한다.
상술한 과제의 적어도 일부를 해결하기 위해, 본 발명 제1의 화상처리장치는 다음 구성을 채용하였다. 즉,
화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열(列)인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 화상처리장치로서,
서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군(群)을 생성하는 래스터군 생성수단과,
상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 최후미 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 최후미 래스터 변환수단과,
상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는 복수의 미판단화소로 확산하는 제1의 오차확산수단과,
상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 선두 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 선두 래스터 변환수단과,
상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단화소로 확산하는 제2의 오차확산수단과,
상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필(畢)의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 잔여 래스터 변환수단을
구비하고,
상기 제1의 오차확산수단 및 상기 제2의 오차확산수단은, 상기 도트형성유무를 판단한 화소와는 다른 래스터군의 화소로 확산된 오차에 관해서는 제1의 오차기억부에 기억하고, 그 도트형성유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차에 관해서는 제2의 오차기억부에 기억하는 수단인 것을 요지로 한다.
또한, 상기한 제1의 화상처리장치에 대응하는 본 발명 제1의 화상처리방법은,
화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성유무를 판단하는 것으로, 그 화상 데이터를 도트형성유무에 의한 표현형식으로 변환하는 화상처리방법으로서,
(A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 공정과,
(B) 상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 최후미 래스터를 도트형성유무를 나타내는 도트 열로 변환하는 공정과,
(C) 상기 도트형성유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는 복수의 미판단화소로 확산하는 공정과,
(D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 선두 래스터를 도트형성유무를 나타내는 도트 열로 변환하는 공정과,
(E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단 화소로 확산하는 공정과,
(F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 공정을
구비하고,
상기 (C) 공정 및 상기 (E) 공정은, 상기 도트형성유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차와, 다른 래스터군의 화소로 확산된 오차를 구별하여 기억하는 공정인 것을 요지로 한다.
이러한 제1의 화상처리장치 및 화상처리방법에서는, 소정개수의 인접한 래스터로 이루어지는 래스터군을 단위로 하여, 그 래스터군을 구성하는 각 래스터에 관해, 각 화소의 도트형성유무를 판단함으로써, 각 래스터를 도트 열로 변환한다. 여기서, 도트형성유무의 판단에 의해 생긴 계조오차를 주변의 미판단화소로 확산시키는데 있어서, 그 계조오차가 생긴 판단화소와 같은 래스터군에 속하는 화소로 확산된 오차와, 그 판단화소와 다른 래스터군의 화소로 확산된 오차를 구별하여 기억한다. 선두 래스터에 관해서는, 인접하는 래스터군의 화소로부터 확산되어 기억되어 있는 계조오차를 판독출력하면서 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환한다. 한편, 상기 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소로부터 확산되어 기억되어 있는 계조오차를 고려하면서 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여, 그 잔여 래스터를 도트 열로 변환한다.
이와 같이, 상기 잔여 래스터를 도트 열로 변환하는 처리를, 상기 선두 래스터를 도트 열로 변환하는 처리와 병행하여 실행하는 것으로 하면, 래스터군의 화상 데이터를 신속히 변환할 수 있다. 또한, 화상 데이터를 래스터군 단위로 변환하는 것이므로, 같은 래스터군에 속하는 화소로 확산된 오차는, 다른 래스터군에 속하는 화소로 확산된 오차보다도 이른 시기에 판독출력되는 것으로 된다. 따라서, 같은 래스터군에 속하는 화소로 확산된 오차와, 다른 래스터군에 속하는 화소로 확산된 오차를 구별하여 기억해 두면, 오차를 신속히 판독출력할 수 있고, 나아가서는, 래스터군 단위로 화상 데이터를 변환하는 처리를 더욱 신속히 실행하는 것이 가능해진다.
이러한 화상처리장치에서는, 같은 래스터군의 화소로 확산되는 오차를, 다른 래스터군의 화소로의 오차보다도, 데이터의 기억 혹은 판독출력의 적어도 한 쪽을신속히 실행 가능하게 기억하는 것으로 해도 좋다.
화상 데이터를 래스터군 단위로 변환하는 경우, 도트형성유무를 판단함으로써 생기는 계조오차는, 다른 래스터군의 화소보다도, 같은 래스터군에 속하는 화소로 확산되는 것이 많다. 따라서, 같은 래스터군에 속하는 화소로 확산되는 오차를, 다른 래스터군에 속하는 화소로 확산되는 오차보다도, 데이터의 기억 혹은 판독출력의 적어도 한 쪽을 신속히 실행 가능하게 기억해 두면, 오차를 확산하는 처리를 효과적으로 신속화할 수 있으므로 바람직하다.
이러한 화상처리장치에서는, 다른 래스터군의 화소로 확산된 오차에 관해서는, 상기 선두 래스터를 구성하는 화소의 수와 적어도 동수(同數) 이상의 화소수분 (數分)을 동시에 기억 가능하게 함과 동시에, 같은 래스터군의 화소로 확산된 오차에 관해서는 그 선두 래스터를 구성하는 화소의 수보다 소수의 화소수분 만큼 동시에 기억 가능하게 해도 좋다.
화상 데이터를 래스터군 단위로 변환하는 경우, 같은 래스터군의 화소로 확산되는 오차는, 그 래스터군의 화상 데이터가 변환 중에 사용되고, 그 이후는 기억해 둘 필요가 없어지기 때문에, 그 오차를 기억하고 있던 기억부는, 그 래스터군에 속하는 다른 화소로 확산되는 오차를 기억하는 것이 가능해진다. 따라서, 같은 래스터군의 화소로 확산된 오차에 관해서는 그 선두 래스터를 구성하는 화소의 수 보다도 소수의 화소수분 만큼 기억 가능하게 하면, 기억부를 효율적으로 사용하는 것이 가능해지므로 바람직하다.
상술한 화상 데이터의 변환을 컴퓨터를 이용하여 행하는 화상처리장치에서,같은 래스터군의 화소로 확산된 오차는 그 컴퓨터의 연산장치가 데이터의 기록입력 혹은 판독출력을 직접적으로 실행 가능한 기억소자에 기억하고, 다른 래스터군의 화소로 확산된 오차는 그 연산장치가 데이터의 기록입력 혹은 판독출력을 간접적으로 실행하는 기억소자에 기억하는 것으로 해도 좋다.
컴퓨터의 연산장치에서 데이터를 직접적으로 기록입력 혹은 판독출력 가능한 기억소자는 신속한 기록입력 혹은 판독출력이 가능하고, 따라서 이와 같은 기억소자에 기억하는 것으로, 같은 래스터군의 화소로 확산된 오차를 신속히 기억 혹은 판독출력하는 것이 가능해지므로 바람직하다. 또, 이러한 기억소자는 데이터의 기록입력 혹은 판독출력의 어느 것인가 한 쪽을, 상기 연산장치에서 직접적으로 실행 가능한 것에 한정되지 않고, 기록입력 및 판독출력의 어느 것이나 연산장치에서 직접적으로 실행 가능한 기억소자이더라도 좋은 것은 말할 필요도 없다.
이러한 화상처리장치에서는, 상기 최후미 래스터의 각 화소에서 발생한 계조오차를, 상기 도트형성유무를 판단한 화소의 주변에 있어, 다른 래스터군에 속하는 미판단화소로 확산시키는데 있어서, 상기 최후미 래스터에 인접하는 상기 선두 래스터의 화소만으로 확산하도록 해도 좋다.
이렇게 하면, 다른 래스터군의 화소로부터 계조오차가 확산되는 것은 상기 선두 래스터의 화소만으로 되고, 상기 잔여 래스터의 화소로 확산되는 일은 없다. 이 때문에, 상기 선두 래스터의 각 화소의 도트형성유무를 판단할 때에만, 상기 제1의 오차기억부에 기억되어 있는 오차를 판독출력하여 도트형성유무를 판단하고, 잔여 래스터에 관해서는 제2의 오차기억부에 기억되어 있는 오차를 판독출력하여도트형성유무를 판단하면 좋다. 그 결과, 전체로서의 처리가 간략화되기 때문에, 도트형성유무를 판단하는 처리를 신속히 행하는 것이 가능해져 바람직하다.
그 위에, 이러한 화상처리장치에서는 래스터 2개씩 화상 데이터를 상기 도트 열로 변환하는 것으로 하여, 그 2개의 래스터 중의 앞쪽에 있는 선두 래스터와, 뒤쪽에 있는 최후미 래스터를 다음과 같이 도트 열로 변환해도 좋다. 즉, 그 최후미 래스터의 각 화소에 관해 도트형성유무를 판단함으로써 생긴 계조오차는, 그 최후미 래스터의 화소와 그 최후미 래스터에 인접하는 래스터군의 상기 선두 래스터의 화소로 확산한다. 또한, 그 선두 래스터의 각 화소에 관해 도트형성유무를 판단함으로써 생긴 계조오차는, 그 선두 래스터의 화소와 그 선두 래스터에 후속하는 최후미 래스터의 화소로 확산한다. 이렇게 해서 확산되어 온 계조오차를 고려하면서, 각 래스터군의 최후미 래스터의 각 화소에 관해서의 도트형성유무를 판단하는 것으로 해도 좋다.
이렇게 해서 래스터 2개씩 도트 열로 변환하여 가는 것으로 하면, 복수의 래스터를 병행하여 도트 열로 변환하는 처리를, 간편한 처리에 의해 행할 수 있기 때문에 썩 알맞다.
이러한 화상처리장치에서는, 각 화소에 관해 도트형성유무를 판단함으로써 생긴 계조오차를, 그 계조오차가 생긴 화소로부터 소정값 이상 원방(遠方)에 있는 미판단화소로 확산시키는데 있어서는, 그 도트형성의 유무를 판단한 래스터군과 다른 래스터군의 화소로만 확산하는 것으로 해도 좋다.
도트형성유무를 판단함으로써 생긴 계조오차를, 원방의 미판단화소로 확산시키는 경우, 확산시키는 화소의 위치가 다소 어긋나고 있더라도 화질을 크게 손상하는 일은 없다. 따라서, 원방의 미판단화소로 확산시키는 경우는 도트형성유무를 판단한 래스터군과 다른 래스터군의 화소로 한데 모아서 확산시키는 것으로 하면, 오차를 확산시키는 처리를 단순히 할 수 있으므로 바람직하다.
또한, 상술한 과제의 적어도 일부를 해결하기 위해, 본 발명 제2의 화상처리장치는 다음 구성을 채용하였다. 즉,
화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성유무를 판단하는 것으로, 그 화상 데이터를 도트형성유무에 의한 표현형식으로 변환하는 화상처리장치로 서,
서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 래스터군 생성수단과,
상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하고 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 선택한 래스터를 도트형성유무를 나타내는 도트 열로 변환하는 선택 래스터 변환수단과,
상기 도트형성유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 제1의 기억부에 기억하는 제1의 계조오차 기억수단과,
상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 선두 래스터 변환수단과,
상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기 판단을 행한 각 화소에 대응시켜 제2의 기억부에 기억하는 제2의 계조오차 기억수단과,
상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 잔여 래스터 변환수단을
구비하고 있는 것을 요지로 한다.
이러한 제2의 화상처리장치에 대응하는 본 발명 제2의 화상처리방법은,
화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 화상처리방법으로서,
(A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 공정과,
(B) 상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하여 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 선택한 래스터를 도트형성유무를 나타내는 도트 열로 변환하는 공정과,
(C) 상기 도트형성유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 기억하는 공정과,
(D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 공정과,
(E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기(C) 공정에서 기억된 계조오차와 구별하면서, 상기 판단을 행한 각 화소에 대응시켜 기억하는 공정과,
(F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 공정을
구비하고 있는 것을 요지로 한다.
이러한 제2의 화상처리장치 및 화상처리방법에서도, 상술한 제1의 화상처리장치 및 화상처리방법과 마찬가지로, 소정개수의 인접한 래스터로 이루어지는 래스터군을 단위로 하여, 그 래스터군을 구성하는 각 래스터에 관해, 각 화소의 도트형성유무를 판단함으로써, 각 래스터를 도트 열로 변환한다. 이 때, 제2의 화상처리장치 및 화상처리방법에서는, 상기 최후미 래스터의 각 화소에서 발생한 계조오차를 그 판단을 행한 각 화소에 대응시켜 기억해 두고, 상기 선두 래스터 화소의 도트형성유무를 판단하는데 있어서는, 그 화소 주변의 상기 최후미 래스터의 각 화소에 기억되어 있는 계조오차를 판독출력하여 도트형성유무를 판단한다. 이렇게 해서 선두 래스터의 각 화소에서 생긴 계조오차는, 상기 최후미 래스터의 각 화소에서 생긴 계조오차와 구별하여 기억해 둔다. 상기 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 계조오차를 고려하면서 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여, 그 잔여 래스터를 도트 열로 변환한다.
이렇게 해서, 상기 선두 래스터와 잔여 래스터를 병행하여 래스터군 단위로 화상 데이터를 도트 열로 변환하면, 화상 데이터를 신속히 변환하는 것이 가능해진다. 또한, 화상 데이터를 래스터군 단위로 변환하므로, 처리중의 래스터군의 상기 최후미 래스터에서 생긴 계조오차는, 다른 래스터에서 생긴 계조오차와 달리, 현재의 래스터군의 처리가 종료하고 나서 판독출력되는 것으로 된다. 따라서, 래스터군의 최후미 래스터에서 생긴 계조오차와, 다른 래스터에서 생긴 계조오차를 구별하여 기억해 두면, 오차를 신속히 판독출력할 수 있고, 나아가서는 화상 데이터를 신속히 변환하는 것이 가능해진다.
이러한 화상처리장치에서는, 최후미 래스터 이외의 래스터에서 생긴 계조오차를, 최후미 래스터에서 생긴 계조오차 보다도, 데이터의 기억 혹은 판독출력의 적어도 한 쪽을 신속히 실행 가능하게 기억하는 것으로 해도 좋다.
화상 데이터를 래스터군 단위로 변환하는 경우, 1개의 래스터군에 최후미 래스터는 1개밖에 존재하지 않지만 다른 래스터는 1개 이상 존재하기 때문에, 도트형성유무를 판단할 때, 최후미 래스터에서 생긴 계조오차 보다도, 최후미 래스터 이외의 래스터에서 생긴 계조오차 쪽이 빈번히 판독출력되는 것으로 된다. 따라서, 최후미 래스터 이외의 래스터에서 생긴 계조오차를, 최후미 래스터에서 생긴 계조오차 보다도, 데이터의 기억 혹은 판독출력의 적어도 한 쪽을 신속히 실행 가능하게 기억해 두면, 래스터군 단위로 변환하는 처리를 효과적으로 신속화할 수 있으므로 바람직하다.
이러한 화상처리장치에서, 상기 최후미 래스터의 각 화소에서 생긴 계조오차에 관해서는, 그 최후미 래스터를 구성하는 화소와 적어도 동수 이상의 화소수분을 동시에 기억 가능하게 함과 동시에, 상기 선두 래스터의 각 화소에서 생긴 계조오차에 관해서는, 그 선두 래스터를 구성하는 화소보다도 소수의 화소수분만큼 동시에 기억 가능하게 해도 좋다.
화상 데이터를 래스터군 단위로 변환하는 경우, 도트형성유무의 판단에 의해 생긴 계조오차는, 같은 래스터군의 화소에 관해서의 도트형성유무의 판단에 사용되고, 그 이후는 기억해 둘 필요가 없어지기 때문에, 그 계조오차를 기억하고 있는 기억부는, 같은 래스터군에 속하는 다른 화소에서 생긴 계조오차를 기억하기 위해사용할 수 있다. 따라서, 선두 래스터의 각 화소에서 생긴 계조오차에 관해서는, 그 선두 래스터를 구성하는 화소보다도 소수의 화소수분만큼 기억 가능하게 하는 것으로, 기억부가 효율적으로 사용되는 것으로 되어 바람직하다.
상술한 화상 데이터의 변환을 컴퓨터를 이용하여 행하는 화상처리장치에서, 상기 선두 래스터의 각 화소에서 생긴 계조오차는, 그 컴퓨터의 연산장치가 데이터의 기록입력 혹은 판독출력을 직접적으로 실행 가능한 기억소자에 기억하고, 상기 최후미 래스터의 각 화소에서 생긴 계조오차는, 그 연산장치가 데이터의 기록입력 혹은 판독출력을 간접적으로 실행하는 기억소자에 기억하는 것으로 해도 좋다.
컴퓨터의 연산장치에서 데이터를 직접적으로 기록입력 혹은 판독출력 가능한 기억소자는 신속한 기록입력 혹은 판독출력이 가능하고, 따라서 선두 래스터의 화소에서 생긴 계조오차를 이와 같은 기억소자에 기억하면, 래스터군의 화상 데이터를 신속히 변환하는 것이 가능해지므로 바람직하다. 또, 이러한 기억소자는 그 연산장치에서 데이터의 기록입력 및 판독출력이 어느 것이나 실행 가능한 기억소자이더라도 좋은 것은 말할 필요도 없다.
이러한 제2의 화상처리장치에서는, 상기 래스터군 중 상기 최후미 래스터에 관해서만, 그 래스터를 구성하는 각 화소에서 생긴 계조오차를, 그 각 화소마다 기억해 두고, 상기 선두 래스터에 관해서의 도트형성유무를 판단할 때 고려하는 상기 계조오차로서, 상기 최후미 래스터의 각 화소의 계조오차를 고려하면서, 상기 선두 래스터를 상기 도트 열로 변환하는 것으로 해도 좋다.
이렇게 하면, 상기 선두 래스터의 각 화소의 도트형성유무를 판단할 때에만, 다른 래스터군에 속하는 상기 최후미 래스터의 화소에서 발생한 계조오차를 판독출력시키면 좋고, 잔여 래스터의 각 화소의 도트형성유무를 판단할 때는, 다른 래스터군의 화소에서 생긴 계조오차를 판독출력하지 않더라도 좋으므로, 래스터군의 화상 데이터를 신속히 변환할 수 있다.
그 위에, 이러한 화상처리장치에서는, 래스터 2개씩 화상 데이터를 상기 도트 열로 변환하는 것으로 하여, 그 2개의 래스터 중의 앞쪽에 있는 선두 래스터와, 뒤쪽에 있는 최후미 래스터를 다음과 같이 도트 열로 변환하더라도 좋다. 즉, 최후미 래스터에서 생긴 계조오차만을 상기 제1의 기억부에 기억해 두고, 선두 래스터를 구성하는 각 화소의 도트형성유무를 판단하는데 있어서는, 그 최후미 래스터의 각 화소에 기억되어 있는 계조오차를 판독출력하여 판단하며, 각 화소에서 생긴 계조오차는 상기 제2의 기억부에 기억한다. 그 선두 래스터에 후속하는 최후미 래스터에 관해서는, 그 선두 래스터를 도트 열로 변환하는 것에 병행하여, 그 선두 래스터의 각 화소에서 생긴 계조오차를 고려하면서 도트 열로 변환한다.
이렇게 해서 래스터 2개씩 도트 열로 변환하여 가는 것으로 하면, 복수의 래스터를 병행하여 도트 열로 변환하는 처리를, 간편한 처리에 의해 행할 수 있기 때문에 썩 알맞다.
이러한 제1의 화상처리장치 혹은 제2의 화상처리장치에서는, 상기 선두 래스터의 각 화소에서 생긴 계조오차를 반영시키면서 상기 잔여 래스터를 도트 열로 변환하기 위해, 그 선두 래스터로부터 그 잔여 래스터의 각 화소로 확산되어 온 확산오차를 고려하면서 도트형성유무를 판단함으로써, 그 잔여 래스터를 도트 열로 변환하는 것으로 해도 좋다. 혹은, 그 선두 래스터의 각 화소에서 생긴 계조오차를 고려하면서 도트형성유무를 판단함으로써, 그 잔여 래스터를 도트 열로 변환하는 것으로 해도 좋다.
이들의 방법을 이용하면, 상기 선두 래스터의 각 화소에서 생긴 계조오차를 반영시키면서, 상기 잔여 래스터를 도트 열로 변환할 수 있기 때문에 썩 알맞다.
또한, 인쇄매체 위에 잉크 도트를 형성하여 화상을 인쇄하는 인쇄부에 대해, 잉크 도트의 형성을 제어하기 위한 인쇄 데이터를 출력하는 것으로, 그 인쇄부를 제어하는 인쇄제어장치에서는, 본 발명의 상술한 제1의 화상처리장치 혹은 제2의 화상처리장치를 썩 알맞게 이용할 수 있다.
즉, 상술한 제1의 화상처리장치 혹은 제2의 화상처리장치에서는, 각 화소의 계조값을 나타내는 화상 데이터를 수취하고, 그 화상 데이터를 도트의 형성유무에의한 화상 데이터로 신속히 변환할 수 있다. 이 때문에, 이러한 제1의 화상처리장치 혹은 제2의 화상처리장치를, 상기 인쇄제어장치에 적용하면, 화상 데이터를 인쇄 데이터로 신속히 변환할 수 있다. 이렇게 해서 얻어진 인쇄 데이터를, 상기 인쇄부로 출력하면, 그 인쇄부에서는 고화질인 화상을 신속히 인쇄하는 것이 가능해지기 때문에 썩 알맞다.
또한, 본 발명은 상술한 제1의 화상처리방법, 혹은 제2의 화상처리방법을 실현하는 프로그램을 컴퓨터에 판독입력시키고, 컴퓨터를 이용하여 실현하는 것도 가능하다. 따라서, 본 발명은 다음과 같은 기록매체로서의 태양도 포함하고 있다. 즉, 상술한 제1의 화상처리방법에 대응하는 기록매체는,
화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성유무를 판단하는 것으로, 그 화상 데이터를 도트형성유무에 의한 표현형식으로 변환하는 방법을 실현하는 프로그램을, 컴퓨터로 판독 가능하게 기록한 기록매체로서,
(A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 기능과,
(B) 상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 최후미 래스터를 도트형성 유무를 나타내는 도트 열로 변환하는 기능과,
(C) 상기 도트형성유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는 복수의 미판단화소로 확산하는 기능과,
(D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 선두 래스터를 도트형성유무를 나타내는 도트 열로 변환하는 기능과,
(E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단화소로 확산하는 기능과,
(F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 기능을
실현하는 프로그램을 기록함과 동시에,
상기 (C) 기능 및 상기 (E) 기능으로서, 상기 도트형성유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차와, 다른 래스터군의 화소로 확산된 오차를 구별하여 기억하는 기능을 실현하는 프로그램을 기록하고 있는 것을 요지로 한다.
또한, 상술한 제2의 화상처리방법에 대응하는 기록매체는,
화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성유무를 판단하는 것으로, 그 화상 데이터를 도트형성유무에 의한 표현형식으로 변환하는 방법을 실현하는 프로그램을, 컴퓨터로 판독 가능하게 기록한 기록매체로서,
(A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 기능과,
(B) 상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하여 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성유무를 판단함으로써, 그 선택한 래스터를 도트형성유무를 나타내는 도트 열로 변환하는 기능과,
(C) 상기 도트형성유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 기억하는 기능과,
(D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 기능과,
(E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기 (C) 공정에서 기억된 상기 계조오차와 구별하면서, 상기 판단을 행한 각 화소에 대응시켜 기억하는 기능과,
(F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 기능을
실현하는 프로그램을 기록하고 있는 것을 요지로 한다.
이들 기록매체에 기록되어 있는 프로그램을 컴퓨터에 판독입력시키고, 그 컴퓨터를 이용하여 상술한 각종 기능을 실현하면, 화소마다의 계조값을 나타내는 화상 데이터를, 도트형성유무에 의한 표현형식의 화상 데이터로 신속히 변환하는 것이 가능해진다.
본 발명의 작용 ·효과를 보다 명확히 설명하기 위해, 본 발명의 실시의 형태를, 다음과 같은 순서에 따라 이하에 설명한다.
A. 실시의 형태:
B. 제1 실시예:
B-1. 장치구성:
B-2. 화상 데이터 변환처리의 개요:
B-3. 제1 실시예의 계조수 변환처리:
B-4. 변형예:
C. 제2 실시예:
C-1. 제2 실시예의 계조수 변환처리:
C-2. 변형예:
A. 실시의 형태:
도 1을 참조하면서, 본 발명의 실시의 형태에 관해서 설명한다. 도 1은, 인쇄 시스템을 예로 들어, 본 발명의 실시의 형태를 설명하기 위한 설명도이다. 본 인쇄 시스템은, 화상처리장치로서의 컴퓨터(10)와, 컬러 프린터(20) 등으로 구성되어 있다. 컴퓨터(10)는, 디지털 카메라나 컬러 스캐너 등의 화상기기로부터 컬러화상의 계조화상 데이터를 수취하면, 그 화상 데이터를, 컬러 프린터(20)로 인쇄 가능한 각 색 도트의 형성유무에 의해 표현된 인쇄 데이터로 변환한다. 이러한 화상 데이터의 변환은, 프린터 드라이버(12)라고 하는 전용의 프로그램을 이용하여 행하여진다. 또, 컬러화상의 계조화상 데이터는 각종 어플리케이션 프로그램을 이용하여 컴퓨터(10)로 작성할 수도 있다.
프린터 드라이버(12)는 해상도 변환모듈, 색변환 모듈, 계조수 변환모듈, 인터레이스(interlace) 모듈이라고 한 복수의 모듈로 구성되어 있다. 계조수 변환모듈은, 계조화상 데이터를 도트형성유무에 의한 표현형식으로 변환하는 처리를 행하는 모듈이다. 본 실시예의 계조수 변환모듈은 착안화소에 관해서의 도트형성유무를 판단하고자 할 때, 주변화소에서 발생한 계조오차를 고려하여 오차를 해소하도록 착안화소의 도트형성유무를 판단하고 있다. 다른 각 모듈에서 행하여지는 처리에 관해서는 후술한다. 컬러 프린터(20)는, 이들 각 모듈에서 변환된 인쇄 데이터에 따라, 인쇄매체 위에 각 색 잉크 도트를 형성함으로써 컬러화상을 인쇄한다.
프린터 드라이버(12)에 공급되는 화상 데이터는, 도 1에 개념적으로 나타낸 바와 같이, 원고(原稿)화상을 구성하는 각 화소의 계조값를, 화상의 단(端)으로부터 1개의 래스터분씩 순번으로 출력한 바와 같은 데이터 구조로 되어 있다. 프린터드라이버(12)내의 해상도변환 모듈, 색변환 모듈은 공급되는 화상 데이터의 데이터구조에 따라, 1개의 래스터씩 각각의 처리를 행하지만, 본 발명의 인쇄 시스템에서의 계조수변환 모듈에서는, 후술하는 방법에 의해, 서로 인접하는 소정개수의 래스터의 처리를 병행하여 행한다. 도 1에는, 일례로서 3개의 래스터를 병행하여 처리하고 있는 모양을 개념적으로 나타내고 있다. 상세하게는 후술하지만, 이와 같이 복수개의 래스터의 처리를 병행하여 행하면, 병행하여 처리를 행하는 복수 래스터 사이에서는, 서로의 래스터에서 발생한 계조오차를 고려하면서 도트형성 판단을 행할 수 있기 때문에, 계조오차 혹은 확산오차를 일일이 오차 버퍼에 기억해 둘 필요가 없다. 즉, 본 실시예의 계조수 변환모듈에서는 오차 버퍼에 대해 빈번히 판독 기록을 행할 필요가 없기 때문에, 그 만큼 도트형성유무의 판단을 신속히 행하는 것이 가능해지고 있다.
이와 같이, 복수개의 래스터 사이에서 발생한 계조오차를 고려하면서, 병행하여 도트형성유무판단을 행하는 구체적인 방법에는, 여러 가지의 태양이 존재하고 있고, 이들 각종의 태양에 관해, 각종 실시예를 이용하여 이하에 설명한다.
B. 제1 실시예:
B-1. 장치구성:
도 2는 제1 실시예의 화상처리장치로서의 컴퓨터(100)의 구성을 나타내는 설명도이다. 컴퓨터(100)는 CPU(102)를 중심으로, ROM(l04)이나 RAM(l06) 등을, 버스(116)로 서로 접속하여 구성된 주지의 컴퓨터이다. CPU(102)는 실제로 처리를 행하는 연산기와, 처리중의 데이터를 일시 보지(保持)하는 복수의 레지스터로 구성되어 있다. 레지스터에 보지되어 있는 데이터는, RAM(l06)에 기억되어 있는 데이터보다도 훨씬 고속으로 처리하는 것이 가능하다.
컴퓨터(100)에는, 플로피 디스크(124)나 콤팩트 디스크(126)의 데이터를 판독입력하기 위한 디스크 컨트롤러(DDC)(109)나, 주변기기와 데이터의 수수(授受)를 행하기 위한 주변기기 인터페이스(P-I/F)(l08), CRT(114)를 구동하기 위한 비디오 인터페이스(V-I/F)(l12) 등이 접속되어 있다. P-I/F(108)에는 후술하는 컬러 프린터(200)나, 하드 디스크(118) 등이 접속되어 있다. 또한, 디지털 카메라(120)나, 컬러 스캐너(122) 등을 P-I/F(l08)에 접속하면, 디지털 카메라(120)나 컬러 스캐너(122)로 넣은 화상을 인쇄하는 것도 가능하다. 또한, 네트워크 인터페이스 카드 (NIC)(110)를 장착하면, 컴퓨터(100)를 통신회선(300)에 접속하여, 통신회선에 접속된 기억장치(310)에 기억되어 있는 데이터를 취득하는 것도 가능하다.
도 3은 제1 실시예의 컬러 프린터(200)의 개략 구성을 나타내는 설명도이다. 컬러 프린터(200)는 청록색, 자홍색, 노랑색, 검정색의 4색 잉크의 도트를 형성 가능한 잉크 젯 프린터이다. 물론, 이들 4색의 잉크에 더하여, 염료 농도가 낮은 청록색(연청록색) 잉크와 염료 농도가 낮은 자홍색(연자홍색) 잉크를 포함시킨 합계 6색의 잉크 도트를 형성 가능한 잉크 젯 프린터를 이용할 수도 있다. 그 위에, 명도가 낮은(어두운)노랑색(짙은 노랑색) 잉크를 더한 합계 7색의 잉크 도트를 형성 가능한 잉크 젯 프린터를 이용해도 좋다. 또, 이하에서는 경우에 따라, 청록색 잉크, 자홍색 잉크, 노랑색 잉크, 검정색 잉크, 연청록색 잉크, 연자홍색 잉크, 짙은 노랑색 잉크 각각을, C 잉크, M 잉크, Y 잉크, K 잉크, LC 잉크, LM 잉크, DY 잉크로 약칭하는 것으로 한다.
컬러 프린터(200)는, 도시하는 바와 같이, 캐리지(240)에 탑재된 인자 헤드(241)를 구동하여 잉크의 토출 및 도트형성을 행하는 기구와, 이 캐리지(240)를 캐리지 모터(230)에 의해 플래튼(236)의 축방향으로 왕복 운동시키는 기구와, 종이 전송 모터(235)에 의해 인쇄용지(P)를 반송하는 기구와, 도트의 형성이나 캐리지(240)의 이동 및 인쇄용지의 반송을 제어하는 제어회로(260)로 구성되어 있다.
캐리지(240)에는, K 잉크를 수납하는 잉크 카트리지(242)와, C 잉크, M 잉크, Y 잉크의 각종 잉크를 수납하는 잉크 카트리지(243)가 장착되어 있다. 캐리지(240)에 잉크 카트리지(242, 243)를 장착하면, 캐리지 내의 각 잉크는 도시하지 않은 도입관을 통해, 인자 헤드(241)의 하면에 설치된 각 색마다의 잉크토출용헤드(244 내지 247)에 공급된다. K 잉크용의 잉크토출헤드(244)에는, 도시하는 바와 같이, 복수의 노즐(Nz)이 일정한 노즐 피치(k)에서 갈짓자 형상으로 2열로 배열되어 있다. 타색의 잉크토출용헤드(245 내지 247)에 관해서도 마찬가지로, 노즐 피치(k)에서 갈짓자 형상으로 늘어선 노즐 열이 1조씩 설치되어 있다.
제어회로(260)는, CPU(261)과 ROM(262)와 RAM(263) 등으로부터 구성되어 있고, 캐리지 모터(230)와 종이 전송 모터(235)의 동작을 제어함으로써 캐리지(240)의 주(主)주사와 부(副)주사를 제어함과 동시에, 컴퓨터(100)로부터 공급되는 인쇄 데이터에 따라, 각 노즐로부터 적절한 타이밍로 잉크방울을 토출한다. 이렇게 해서, 제어회로(260)의 제어하에, 인쇄매체 위의 적절한 위치에 각 색의 잉크 도트를 형성함으로써, 컬러 프린터(200)는 컬러화상을 인쇄할 수 있다.
또, 각 색의 잉크토출헤드로부터 잉크방울을 토출하는 방법에는, 여러 가지 방법을 적용할 수 있다. 즉, 피에조(piezo) 소자를 이용하여 잉크를 토출하는 방식이나, 잉크통로에 배치한 히터로 잉크통로 내에 거품(버블)을 발생시켜 잉크 방울을 토출 하는 방법 등을 이용할 수 있다. 또한, 잉크를 토출하는 대신에, 열전사 등의 현상을 이용하여 인쇄용지 위에 잉크 도트를 형성하는 방식이나, 정전기를 이용하여 각 색의 토너 가루를 인쇄매체 위에 부착시키는 방식의 프린터를 사용하는 것도 가능하다.
그 위에, 잉크토출헤드로부터 토출하는 잉크 방울의 크기를 제어하거나, 혹은 미세한 잉크 방울을 한번에 복수 토출하여, 토출하는 잉크 방울의 수를 제어한다고 한 방법을 이용하여, 인쇄용지 위에 형성되는 잉크 도트의 크기가 제어 가능한 프린터, 소위 가변(variable) 도트 프린터를 이용하는 것도 가능하다.
B-2. 화상 데이터 변환처리의 개요:
도 4는 제1 실시예의 화상처리장치로서의 컴퓨터(1OO)가, 수취한 화상 데이터에 소정의 화상처리를 가함으로써, 그 화상 데이터를 인쇄 데이터로 변환하는 처리의 흐름을 나타내는 흐름도이다. 이러한 처리는, 컴퓨터(100)의 오퍼레이팅 시스템이 프린터 드라이버(12)를 기동함으로써 개시된다. 이하, 도 4에 따라 제1 실시예의 화상 데이터 변환처리에 관해 간단히 설명한다.
프린터 드라이버(12)는, 화상 데이터 변환처리를 개시하면, 우선 처음에, 변환해야 할 RGB 컬러화상 데이터의 판독입력을 개시한다(스텝 S100). 화상 데이터는 R, G, B 각 색마다 1개의 래스터씩 프린터 드라이버(12)에 판독입력된다.
이어서, 넣은 화상 데이터의 해상도를, 컬러 프린터(200)가 인쇄하기 위한 해상도로 변환한다(스텝 S102). 컬러화상 데이터의 해상도가 인쇄해상도 보다도 낮은 경우는, 선형 보간(補間)을 행하는 것으로 인접화상 데이터 사이에 새로운 데이터를 생성하고, 거꾸로 인쇄해상도 보다도 높은 경우는, 일정한 비율로 데이터를 솎아냄으로써 화상 데이터의 해상도를 인쇄해상도로 변환한다.
이렇게 해서 해상도를 변환하면, 컬러화상 데이터의 색변환처리를 행한다(스텝 S104). 색변환처리란, R, G, B의 계조값의 조합에 의해 표현되어 있는 컬러화상 데이터를, C, M, Y, K 등의 컬러 프린터(200)로 사용하는 각 색의 계조값의 조합에 의해 표현된 화상 데이터로 변환하는 처리이다. 색변환처리는 색변환 테이블(LUT)이라고 하는 3차원의 수표(數表)를 참조하는 것으로 신속히 행할 수 있다. 이상으로 설명한 해상도변환처리(스텝 S102) 및 색변환처리(스텝 S1O4)는, 1개의 래스터마다 행하여진다.
색변환처리를 종료하면, 다음은 계조수 변환처리를 개시한다(스텝 S106). 계조수 변환처리란 다음과 같은 처리이다. 색변환처리에 의해 변환된 계조 데이터는, 각 색마다 256계조폭을 가지는 데이터로서 표현되어 있다. 이에 대해, 본 실시예의 컬러 프린터(200)에서는 「도트를 형성한다」, 「도트를 형성하지 않는다」의 어느 것인가의 상태밖에 채용하여 얻을 수 없다. 즉, 본 실시예의 컬러 프린터(200)는 국소적으로는 2계조밖에 표현할 수 없다. 그래서, 256계조를 갖는 화상 데이터를, 컬러 프린터(200)가 표현 가능한 2계조로 표현된 화상 데이터로 변환해야 한다. 이러한 계조수의 변환을 행하는 처리가 계조수 변환처리이다. 상술한 바와 같이, 본실시예의 계조수 변환처리에서는, 복수의 래스터의 도트형성의 유무를 병행하고 판단함으로써, 신속한 처리가 가능해지고 있다. 계조수 변환처리에 관해서는, 나중에 상세히 설명한다.
이렇게 해서 계조수 변환처리를 종료하면, 프린터 드라이버는 인터레이스처리를 개시한다(스텝 S108). 인터레이스처리는, 도트의 형성유무를 나타내는 형식으로 변환된 화상 데이터를, 도트의 형성 순서를 고려하면서 컬러 프린터(200)로 전송해야 할 순서에 병체(竝替)하는 처리이다. 프린터 드라이버는, 인터레이스처리를 행하여 최종적으로 얻어진 화상 데이터를, 인쇄 데이터로 하여 컬러 프린터(200)로 출력한다(스텝 S110). 컬러 프린터(200)는 인쇄 데이터에 따라, 각 색의 잉크 도트를 인쇄매체 위에 형성한다. 그 결과, 화상 데이터에 대응한 컬러화상이 인쇄매체 위에 인쇄된다.
이하에서는 제1 실시예의 계조수 변환처리에서, 복수의 래스터를 병행하여 처리함으로써, 도트의 형성유무의 판단을 신속히 행하는 처리에 관해 설명한다.
B-3. 제1 실시예의 계조수 변환처리:
(a) 오차확산법에 의한 계조수 변환처리의 개요:
복수 래스터의 도트형성유무를 병행하여 실시하는 방법 및 병행하여 실시하는 것으로 계조수 변환처리에 요하는 시간을 단축화하는 원리를 설명하기 위한 준비로서, 소위 오차확산법에서, 래스터를 따라 도트의 형성유무를 판단하여 가는 방법에 관해 간단히 설명한다.
도 5는 도트형성의 유무를 판단하고자 하는 화상의 일부를 확대하여 개념적으로 나타낸 설명도이다. 작은 승목(升目:모눈)의 하나하나는 화소를 나타내고 있고, 화소가 횡 1열에 늘어서서 래스터를 형성하고 있다. 설명의 편의상, 도 5 (a)에 나타낸 가장 위의 래스터를 「래스터(0)」로 하고, 그 아래의 래스터를「래스터 (1)」, 이후 순서로「래스터(2)」, 「래스터(3)」으로 부번(符番)한다. 개개의 화소도 구별하기 위해, 각 화소에도「Pmn」으로 부번한다. 화소(Pmn)는, 래스터(m)의 n 번째의 화소인 것을 나타내고 있다. 도 4에 나타낸 색변환처리후의 화상 데이터는, 각 화소에 각 색의 계조값이 대응시켜진 바와 같은 데이터로 되어 있다.
오차확산법은 이하에 설명한 바와 같이, 래스터에 따라 1개의 화소씩 도트형성의 유무를 판단하여 간다. 도 5 (a)는, 화소(P11)에 관해서의 도트형성유무를 판단하고 있는 모양을 개념적으로 나타낸 설명도이다. 화소(P11)와 같이, 도트형성유무를 판단하려고 하고 있는 화소를, 본 명세서에서는 착안화소라고 한다. 도면에서는, 화소(P11)를 굵은선으로 둘러쌈으로써, 착안화소인 것을 나타내고 있다. 또한, 도 면 중에서 사선을 붙인 영역은, 그 영역의 화소는 이미 도트형성의 유무 판단 필한 것을 나타내고 있다.
도 5 (a)에 도시되는 바와 같이, 착안화소(P11)에 관해 도트형성유무를 판단하면, 그 결과로서 착안화소(P11)에는 계조오차(El1)가 발생한다. 즉, 화소(P11)에 도트를 형성한다고 해도, 혹은 도트를 형성하지 않는다고 해도, 화소(P11)에 표현되는 계조값(이하, 이와 같은 계조값을 결과값이라고 한다)은, 통상 그 화소에 관해서의 화상 데이터의 계조값과 일치하지 않는다. 따라서, 화소(P11)의 결과값과, 화소(P11)에서의 화상 데이터의 계조값의 차분(差分)만큼, 착안화소에는 계조오차가 발생하는 것으로 된다. 오차확산법은, 도트형성유무를 판단할 때마다 생기는 계조오차를, 착안화소의 주변의 미판단화소에 소정의 무게를 붙여 확산시킨다. 주변의 미판단화소로 확산시킬 때 이용하는 무게 계수는, 오차확산계수라고 하고, 착안화소를 중심으로 하여 화소마다 미리 정해져 있다.
도 6은 오차확산계수가 정해지고 있는 모양을 예시하는 설명도이다. 도 6 중에서 사선이 행해지고 있는 화소가 착안화소이고, 착안화소로부터의 위치에 따라 각 화소의 오차확산계수가 정해져 있다. 이와 같이, 착안화소를 중심으로 하여 주변화소로의 오차확산계수를 설정한 매트릭스는, 오차확산 매트릭스라고 한다. 예컨대, 도 6 (a)의 오차확산 매트릭스에서는, 착안화소의 오른쪽 이웃의 화소에는, 오차확산계수(K01)로서「1/4」가 설정되어 있다. 따라서, 도 6 (a)의 오차확산 매트릭스를 사용하면, 착안화소에서 발생한 계조오차의 1/4의 오차가 오른쪽 이웃의 화소에 배분되는 것으로 된다. 마찬가지로, 착안화소의 왼쪽 아래, 바로 아래, 오른쪽 아래의 각 화소에도, 착안화소에서 생긴 계조오차의 1/4의 오차가 배분되는 것으로 된다. 오차확산 매트릭스는 도 6에 예시하는 것에 한정되지 않고, 오차를 확산하는 범위나 오차확산계수 등은 여러 가지의 값을 설정하는 것이 가능하고, 실제의 오차확산법에서는 양호한 화질이 얻어지도록, 적의(適宜), 적절한 오차확산 매트릭스가 사용된다. 또, 설명의 번잡화를 피하기 위해, 이하의 설명에서는 예시한 오차확산 매트릭스 중에서 가장 확산범위가 좁은 매트릭스, 즉, 도 6 (a)의 오차확산 매트릭스를 사용하는 것으로 하여 설명한다.
오차확산 매트릭스로서 도 6 (a)의 매트릭스를 사용하는 것으로 하면, 도 5(a)에 나타내는 바와 같이 착안화소(P11)에서 생긴 계조오차(E11)는, 오른쪽 이웃의 화소(P12), 왼쪽 아래의 화소(P20), 바로 아래의 화소(P21), 오른쪽 아래의 화소(P22) 합계 4개의 화소에, 각각 계조오차(E00)의 1/4씩 배분된다. 또, 4개의 주변화소 중, 화소(P20), 화소(P21), 화소(P22)의 3개의 화소는, 착안화소(P11)와는 달리, 래스터(2)에 속하는 화소이다. 이렇게 해서 착안화소 주변 각각의 화소로 확산된 오차(확산오차)는, 이들 각 화소의 도트형성판단시 사용하기 때문에, 각 화소를 구별하고 기억해 두어야 한다. 그 때문에 확산오차는, 다수의 화소에 관해서의 확산오차를 기억하는 것이 가능하다, 대용량의 RAM(l06)(도 2참조)에 기억된다.
화소(P11)에 관해서의 계조오차를 주변화소로 확산하면, 이번은 오른쪽 이웃의 화소(P12)에 관해, 도트형성유무의 판단을 개시한다. 도 5 (b)는 착안화소(P12)에 관해서의 도트형성유무를 판단하는 모양을 개념적으로 나타내는 설명도이다. 도트형성판단에 있어서는, 우선, 주변화소로부터 착안화소(P12)에 배분되어 축적되어 있는 확산오차를 판독출력하고, 판독출력한 확산오차로 착안화소(P12)의 화상 데이터를 보정한다. 도 5 (b)에 나타내는 바와 같이, 착안화소(P12)에는, 도트형성판단 필의 주변화소, 즉 화소(P01), 화소(P02), 화소(P03), 화소(P11)인 4개의 화소로부터, 상술한 오차확산 매트릭스에 따라 확산되어 온 오차가 축적되어 있다. 이 확산오차를 RAM(l06)으로부터 판독출력하여, 착안화소(P12)의 화상 데이터를 보정하고, 얻어진 보정값을 소정의 임계값과 비교하는 것으로 도트의 형성유무를 판단한다. 도 5 (c)는, 새로운 착안화소(P12)에 관해, 도트의 형성유무를 판단한 상태를 나타내고 있다. 도트형성유무를 판단한 결과, 새로운 착안화소(P12)에는 계조오차(E12)가 발생되기 때문에, 이 계조오차를, 도 5 (a)에서 설명한 것과 마찬가지로 오차확산 매트릭스에 따라 주변화소로 확산한다.
화소(P12)에서 발생한 계조오차를 주변화소로 확산하면, 더욱 오른쪽 이웃에 있는 화소(P13)에 관해서의 도트형성유무의 판단을 개시한다. 새로운 착안화소 (P13)라도 계조오차(E13)가 발생하기 때문에, 이 오차를 오차확산 매트릭스에 따라 주변화소로 확산시키고, 더욱 오른쪽 이웃의 화소도트형성유무의 판단을 행한다. 이와 같이, 계조오차를 주변화소로 확산하면서, 착안화소를 1개의 화소씩 오른쪽으로 이동시키고, 화상의 우단(右端)의 화소에 도달하면, 이번은 일단, 화상의 좌단(左端)으로 되돌아가 한개 아래에 있는 래스터의 화소{도 5에 나타내는 예에서는, 화소(P20)}에 관해서의 도트형성유무의 판단을 개시한다. 래스터(1)와 마찬가지로, 래스터(2)에 관해서도 화상의 우단의 화소까지 도달하면, 다시 화상의 좌단으로 되돌아가 래스터(3)의 처리를 개시한다.
이와 같이 오차확산법에서는, 착안화소를 래스터에 따라 1개의 화소씩 이동시키고, 주변화소로부터 확산되어 오는 확산오차를 고려하면서, 도트형성유무의 판단을 행한다. 판단에 의해 착안화소에 생긴 계조오차는, 주변의 미판단화소로 확산하여 기억해 두고, 이들 미판단화소의 도트형성유무를 판단할 때 사용된다.
여기서, 상술한 바와 같이, 주변화소 중에는 착안화소가 속하는 래스터와 다른 래스터 위의 화소도 포함되어 있다. 도트형성유무의 판단은 래스터에 따라 행하여지기 때문에, 확산오차가 분배되어 오더라도, 그 화소가 속하는 래스터의 처리가 개시될 때까지는, 분배된 확산오차를 기억해 두지 않으면 안된다. 그 위에, 래스터에는 다수의 화소가 포함되어 있는 것이므로, 꽤 다수의 화소에 관해 분배되어 온 확산오차를 각 화소를 구별한 상태로 기억해 둘 필요가 있다. 확산오차를 기억하기 위해, 기억 용량이 큰 RAM(106)이 사용되는 것은, 이와 같은 이유에 의한 것이다.
또한, 착안화소에 관해 도트형성유무를 판단할 때마다, 발생한 계조오차를 주변의 미판단화소로 확산하고 있기 때문에, RAM(106)에 대해 빈번히 데이터를 판독 기록할 필요가 있다. RAM(106)에 대해 빈번히 데이터를 판독 기록하면, 그 정도만큼 판독 기록을 위한 시간이 증가하여, 도트형성유무의 판단에 요하는 시간이 길어진다.
(b) 본 실시예의 계조수 변환처리의 개요:
이에 대해, 본 실시예의 계조수 변환처리에서는, 이하에 설명하는 바와 같이 하여, 복수개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행한다. 이렇게 하면, RAM(l06)에 데이터를 판독 기록하는 빈도가 감소하기 때문에, 도트형성유무의 판단을 신속히 행하는 것이 가능해진다. 이하, 복수 래스터의 처리를 병행하여 행함으로써, 도트형성유무의 판단을 신속히 행하는 원리에 관해 설명한다.
도 7은 가장 간단한 예로서, 2개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하는 원리를 나타낸 설명도이다. 여기서는 래스터(i)와, 그 바로 아래의 래스터(j)의 2개의 래스터에 관해, 병행하여 도트형성유무를 판단하는 것으로 한다.
우선 처음에, 래스터(i)의 가장 왼쪽의 화소(Pi0)의 도트형성유무를 판단한다. 도 7 (a)는, 화소(PiO)의 도트형성유무를 판단하고 있는 모양을 개념적으로 나타내고 있다. 화소(Pi0)에는, 래스터(i)의 바로 위에 있는 래스터(h)의 화소(Ph0)나 화소(Ph1) 등으로부터 오차가 분배되고 기억되어 있다. 거기서, 화소(Pi0)에 기억되어 있는 확산오차를 컴퓨터(100)의 RAM(l06)으로부터 판독출력하여, 화상 데이터의 화소(Pi0)의 계조값을 보정하고, 얻어진 보정값과 소정의 임계값을 비교하는 것으로, 화소(Pi0)에 관해서의 도트형성유무를 판단한다. 이렇게 해서, 화소(Pi0)의 도트형성유무를 판단하면, 화소(Pi0)에 계조오차가 발생하기 때문에, 이것을 오차확산 매트릭스에 따라 주변화소로 확산시킨다. 여기서는 설명이 번잡화하는 것을 피하기 위해, 도 6 (a)에 나타낸 비교적 단순한 오차확산 매트릭스를 이용하는 것으로 하여 설명한다. 이해의 편의를 위해, 도 6 (a)의 오차확산 매트릭스와 마찬가지의 매트릭스를 도 7 (b)에도 표시해 둔다. 화소(PiO)에서 발생한 계조오차는, 도 7 (b)의 오차확산 매트릭스에 따라 화소(Pi1), 화소(PjO), 화소(Pj1)인 3개의 화소에 배분되고, 각각의 확산오차의 값은 CPU(102)에 내장되고 있는 레지스터에 기억된다. 도 7 (a)에서는, 화소(PiO)에서 계조오차가 주변화소로 확산되는 모양을 굵은 화살표로 개념적으로 표시하고 있다.
또, 본 명세서에서는, 병행하여 처리되는 복수의 래스터 사이에서의 확산오차{도 7에서는, 예컨대 래스터(i)의 화소로부터 래스터(j)의 화소로의 확산오차}는 레지스터에 기억하고, 병행해서는 처리되지 않는 래스터 사이에서의 확산오차{도 7에서는, 예컨대 래스터(j)의 화소로부터 래스터(k)의 화소로의 확산오차}는 RAM(l06)에 기억하는 것으로 하고 있다. 상술한 바와 같이, 레지스터는 RAM(l06)보다 고속으로 판독 기록할 수 있기 때문에, 레지스터를 활용함으로써, 계조수 변환처리를 보다 신속히 할 수 있다. 다만, 병행하게 처리하는 래스터 사이의 오차는, 반드시 레지스터에 기억하지 않으면 안 되는 것은 아니고, 예컨대 RAM(l06) 위에 기억하는 것으로 해도 좋다. 이들, 곧 사용되는 확산오차는, RAM(l06) 위에 기억하는 것으로 해 두어도, 통상은 CPU(102)의 캐쉬 메모리(cache memory) 내에 남아 있는 값을 사용할 수 있기 때문에, 실제로는 고속으로 판독 기록하는 것이 가능하고, 계조수 변환처리를 신속히 행할 수 있다.
화소(Pi0)에 관해서의 도트형성유무를 판단하고, 생긴 계조오차를 확산하면, 다음은 오른쪽 이웃의 화소(Pi1)의 도트형성유무의 판단을 개시한다. 화소(Pi1)에 관해서도, 한개 위에 있는 래스터(h)의 화소에서 생긴 계조오차가, 도 7 (b)의 오차확산 매트릭스에 따라 확산되어, 미리 RAM(106)에 기억되어 있다. 그래서, 래스터(h)의 화소로부터 확산되어 RAM(106)에 미리 기억되어 있는 오차를 판독출력하고, 이 확산오차와, 화소(Pi0)로부터 화소(Pi1)에 분배되어 레지스터에 기억되어 있는 확산오차로, 화소(Pi1)의 화상 데이터의 계조값을 보정한다. 이렇게 하면, 화소(Pi1)의 화상 데이터는, 래스터(h)에 있는 화소(Ph0), 화소(Phl), 화소(Ph2) 및 화소(Pi0)로부터 확산되어 오는 오차로 보정되는 것으로 되기 때문에, 통상의 오차확산법과 같은 보정값을 얻을 수 있다.
이 보정값과 소정의 임계값의 대소관계를 비교하여, 보정값 쪽이 임계값 보다 크면 화소(Pi1)에 도트를 형성한다고 판단하고, 그렇지 않으면 도트를 형성하지않는다고 판단한다. 판단의 결과, 화소(Pi1)에도 계조오차가 생기기 때문에, 오차확산 매트릭스에 따라, 주변의 4개의 화소, 화소(Pi2), 화소(PjO), 화소(Pjl), 화소(Pj2)에 분배한다. 이들 4개의 화소에 분배되는 확산오차의 값은, CPU(102)의 레지스터에 화소마다 기억된다. 도 7 (a)에서는, 화소(Pi1)에서 발생한 계조오차가 주변화소로 확산되는 모양을 가는 실선의 화살표로 개념적으로 표시하고 있다. 또, 화소(Pj0)에 대해서는 이미 화소(Pi0)로부터의 확산오차가 기억되어 있기 때문에, 이 값에 화소(Pi1)로부터의 확산오차를 덧셈하여 축적한다. 또한, 화소(Pi1)에서의 도트형성유무를 판단해 버리면, 화소(Pi1)로의 확산오차를 기억하기 위해 사용한 레지스터는 불필요하게 되기 때문에, 화소(Pi1)로부터 다른 화소에 분배되는 확산오차를 기억하기 위해 이 레지스터를 사용할 수 있다.
래스터(i)에 있는 화소(Pi0) 및 화소(Pi1)에 관해서의 도트형성유무를 판단하면, 이번은 래스터(j)의 좌단에 있는 화소(Pj0)에 관해서의 도트형성유무의 판단을 개시한다. 요컨대, 여기서는 도트형성유무의 판단에 의해 생긴 계조오차는, 도 7 (b)의 오차확산 매트릭스에 따라 주변화소로 확산되는 것으로 하여 있으므로, 화소(Pi0)로부터의 확산오차와 화소(Pi1)로부터의 확산오차가 배분되어 버리면, 화소 (Pj0)에 관해서는 모든 확산오차가 배분된 것으로 된다. 그래서, 이들 2개의 화소의 도트형성판단을 행한 후, 화소(Pj0)의 판단을 행하는 것이다.
도 7 (c)은 화소(PjO)의 도트형성유무를 판단하고 있는 모양을 개념적으로 나타내는 설명도이다. 도 7 (b)에 나타낸 오차확산 매트릭스에 의하면, 화소(Pj0)에는 화소(Pi0) 및 화소(Pi1)로부터 오차가 확산되지만, 상술한 바와 같이, 이 오차의 값은 RAM(l06)이 아니라 CPU(102)의 레지스터 내에 기억되어 있다. 그래서, 이 값을 이용하여, 화상 데이터의 화소(Pj0)의 계조값을 보정하고, 보정값과 임계값의 대소관계에 의거하여 도트형성의 유무를 판단한다. 판단의 결과, 화소(Pj0)에 발생한 계조오차는, 오차확산 매트릭스에 따라, 주변의 화소(Pjl), 화소(PkO), 화소( Pk1)의 3개의 화소로 확산한다.
여기서, 도 7에 나타내는 예에서는, 래스터(i)의 화소와 래스터(j)의 화소에 관해서의 도트형성유무의 판단을 병행하여 행하는 것으로 하고 있다. 이것으로 부터 화소(PkO) 및 화소(Pk1) 2개의 화소에 관해서의 도트형성유무의 판단은, 래스터 (i) 및 래스터(j) 화소의 판단이 모두 종료하고 나서 행하여지는 것으로 된다. 그래서, 화소(Pk0)로의 확산오차 및 화소(Pk1)로의 확산오차의 값은, 당분간 사용되는 일이 없다고 생각되기 때문에, 이들의 값은 RAM(106)에 기억한다. 한편, 화소 (Pj1)로의 확산오차는, 곧 사용된다고 생각되기 때문에, CPU(102)의 레지스터에 기억한다. 이와 같이, 래스터(i) 및 래스터(j) 2개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하는 것이므로, 래스터(i) 보다 위의 래스터에서 발생하여 래스터(i)의 화소로 확산되는 오차는, RAM(l06)에 기억된다. 마찬가지로, 래스터(j )에서 발생하여 래스터(k)의 화소로 확산되는 오차도 RAM(106)에 기억된다. 이에 대해, 래스터(i)에서 발생하여 래스터(j)의 화소로 확산되는 오차는 CPU(102)의 레지스터에 기억된다. 도 7에서, 래스터(i) 및 래스터(k)에 사선이 행해지고 있는 것은, 이들 래스터의 화소로 확산된 확산오차가 RAM(l06) 위에 기억되어 있는 것을 의미하고 있다.
또한, 도 7 (c)에서, 화소(PjO)에서 화소(PkO)로의 화살표, 혹은 화소(Pj0)로부터 화소(Pk1)로의 화살표가, 흰색바탕 화살표로 되어 있는 것은, 이들 화소로배분되는 확산오차가 RAM(106)에 기억되는 것을 나타내고 있다. 거꾸로, 화소(Pj0)로부터 화소(Pj1)로의 화살표가 굵은선의 화살표로 나타내어져 있는 것은, 화소(Pj1)로 배분되는 확산오차가, CPU(102)의 레지스터에 기억되는 것을 나타내고 있다. 또, 이미 화소(Pj0)의 도트형성유무를 판단하고 있기 때문에, 화소(Pj0)로의 확산오차를 기억하고 있는 레지스터를 다른 목적, 예컨대 화소(Pj1)로의 확산오차를 기억한다고 한 것에 이용할 수 있다.
이렇게 해서 화소(Pj0)에서 발생한 계조오차를 주변화소로 확산하면, 다음은 래스터(i) 화소(Pi2)의 도트형성유무를 판단하여 발생한 계조오차를 주변화소로 확산하고, 그 다음에 래스터(j) 화소(Pj1)의 도트형성유무를 판단한다. 도 7 (d)는 이 모양을 개념적으로 나타내는 설명도이다. 화소(Pi2)의 도트형성유무의 판단에 있어서는, 래스터(h)의 화소로부터 확산되어 RAM(l06)에 기억되어 있는 확산오차와, 화소(Pi1)로부터 확산되어 레지스터에 기억되어 있는 확산오차에서, 화상 데이터의 계조값을 보정하여 도트형성유무를 판단한다. 판단에 의해 생긴 계조오차는 주변화소로 확산시킨다. 도 7 (d)에 굵은선의 화살표로 나타내어져 있는 바와 같이, 주변화소로의 확산오차는 레지스터에 기억된다. 계속되는 화소(Pj1)의 도트형성유무의 판단에 있어서는, 레지스터에 기억되어 있는 확산오차를 이용하여 화상 데이터의 계조값을 보정하고, 소정의 임계값과의 대소관계에 의거하여 도트형성유무를 판단한다. 판단에 의해 생기는 계조오차는, 래스터(k)의 화소로의 확산오차는 RAM(l06)에 기억하고, 래스터(j)의 화소로의 확산오차는 레지스터에 기억한다. 이상과 같이 하여 화소(Pi2)와 화소(Pj1)에 관해서의 처리가 종료되면, 마찬가지로하여 화소(Pi3)와 화소(Pj2)에 관해서의 처리를 행한다.
도 7 (d)의 화소 중에 둥근 표시와 함께 붙인 번호는, 래스터(i)의 화소 및 래스터(j)의 화소에 관해 도트형성유무를 판단하는 순서를 나타내고 있다. 도시하 는 바와 같이, 래스터(i)의 화소와, 그 화소의 왼쪽 아래에 있는 래스터(j)의 화소를, 교대로 도트형성유무의 판단을 행한다. 이렇게 해서 래스터(i)와 래스터(j)를 병행하여 처리하여 가면, 래스터(j)의 화소로의 확산오차는 레지스터에 기억할 수 있고, RAM(l06)에는 래스터(k)의 화소로의 확산오차를 기억하면 좋다. 즉, RAM(l06 )에 대해 확산오차를, 기록입력하거나 판독출력하기도 하는 빈도를 감소시킬 수 있으며, 그만큼 도트형성유무의 판단을 신속히 행할 수 있는 것이다.
또, 도 7에 나타낸 바와 같이, 래스터(i)의 좌단의 화소, 즉 화소(PiO)에 관해서는 그 화소의 왼쪽 아래에 래스터(j)의 화소가 존재하지 않기 때문에, 변칙적으로, 화소(Pi0)에 계속해서 같은 래스터(i)에 있는 화소(Pi1)의 처리를 행하고 있다. 다만, 화소(Pi0)의 왼쪽 아래에 가공(架空)의 화소(Pj-1)를 상정하고, 화소( Pi0)에 계속해서 가공의 화소(Pj-1)의 처리를 행한 후, 이러한 가공의 화소(Pj-1)에 관해서는, 도트형성유무의 판단결과를 사용하지 않고서 버려 버리는 것으로 해도 좋다. 이렇게 하면, 좌단의 화소에 관해서도 가공의 화소에 대해 통상의 처리를 행할 수 있기 때문에, 변칙적인 처리가 불필요하게 되어 바람직하다.
도 8은 2개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하는 처리의 흐름을 나타내는 흐름도이다. 이 처리는 컴퓨터(100)의 CPU(102)에 의해 행하여진다. 또, 상술한 바와 같이, 본 실시예의 컬러 프린터는, C, M, Y, K 4색의 잉크 도트가 형성 가능한 프린터이고, 도 8에 나타내는 계조수 변환처리도 각 색마다 행하고 있지만, 이하에서는 설명의 번잡화를 피하기 위해, 잉크 도트의 색을 특정하지 않고 설명한다. 물론, 상기한 4색에 더하여, LC 잉크, LM 잉크를 보태어 6색 프린터에 적용하는 것도 가능하다.
또한, 상술한 바와 같이 본 실시예의 컬러 프린터는, 각 색마다 크기가 다른 도트가 형성 가능한 가변(variable) 도트 프린터로 하는 것도 가능하다. 가변 도트 프린터를 사용하는 경우, 예컨대, 대 도트, 중 도트, 소 도트의 각종 도트가 형성 가능한 가변 도트 프린터를 이용하는 경우에는, 이하에 설명하는 계조수 변환처리는 각종 크기의 도트마다 행하여진다.
이와 같이, 사용하는 잉크의 색이 증가하거나, 여러 가지의 크기의 도트가 형성 가능해짐에 따라 계조수 변환처리를 행하는 회수가 증가하기 때문에, 그만큼 처리에 요하는 시간도 길어지는 경향이 있다. 이하에 설명하는 본 실시예의 계조수 변환처리는 신속한 처리가 가능하기 때문에, 이러한 경우에도 썩 알맞게 적용할 수 있다.
본 실시예의 계조수 변환처리를 개시하면, 우선 처음에 병행하여 처리하는 래스터의 1개째 래스터 중에서, 도트형성유무를 판단하고자 하는 화소의 화상 데이터와 그 화소로 확산되어 있는 확산오차를 판독입력한다(스텝 S200). 여기서는 처리하고자 하는 화소를, 래스터(i)의 n번째의 화소(Pin)로 한다. 화상 데이터(Cdin) 및 확산오차(Edin)는, 어느 것이나 RAM(106)에 기억되어 있다.
계속해서, 화소(Pin)의 화상 데이터(Cdin)와 확산오차(Edin)를 덧셈함으로써, 화소(Pin)의 보정 데이터(Cxin)를 산출한다(스텝 S202). 이렇게 해서 얻어진 보정 데이터(Cxin)와 소정의 임계값(th)을 비교하여(스텝 S204), 보정 데이터 쪽이 크면 화소(Pin)에 도트를 형성한다고 판단하여, 판단결과를 나타내는 변수(Cr)에 도트를 형성하는 것을 의미하는 값「1」을 기록입력한다(스텝 S206). 그렇지 않으면 화소(Pin)에는 도트를 형성하지 않는다고 판단하여, 변수(Cr)에 도트를 형성하지 않는 것을 의미하는 값「O」을 기록입력한다(스텝 S208).
래스터(i)의 화소(Pin)에 관해서의 도트형성유무를 판단하면, 그 판단에 따라 발생하는 계조오차를 산출한다(스텝 S210). 계조오차(Ein)는, 보정 데이터(Cxin )로부터, 도트를 형성함으로써, 혹은 도트를 형성하지 않음으로써 화소(Pin)에서 표현되는 계조값(결과값)을 뺄셈하는 것으로 구할 수 있다. 얻어진 계조오차에 오차확산계수를 곱셈하여, 주변화소로의 확산오차를 산출한다. 오차확산계수는 오차확산 매트릭스에 화소마다 설정되어 있다. 이렇게 해서 구해진 래스터(i)의 화소로의 확산오차 및 래스터(i)의 바로 아래에 있는 래스터(j)의 화소로의 확산오차는 레지스터에 기억한다(스텝 S212). 그 이외의 화소로의 확산오차, 예컨대 래스터(k)의 화소로의 확산오차 등이 있으면 RAM(l06)에 기억해 둔다.
이렇게 해서 래스터(i)의 화소에 관해서의 도트형성판단 및 오차의 확산이 종료하면, 래스터(j)의 화소(Pjn-1)에 관해서의 도트형성유무의 판단을 개시한다. 즉, 화소(Pjn-1)의 화상 데이터(Cdjn-1)를 RAM(l06)으로부터 판독하기 시작하고(스텝 S214), 화소(Pjn-1)로의 확산오차(Edjn-1)를 레지스터로부터 판독입력한다(스텝 S216). 레지스터로부터 판독입력한 확산오차(Edjn-1)에는, 먼저 도트형성판단을 행한 화소(Pin)로부터의 확산오차도 축적되어 있다. 또, 래스터(i)의 화소(Pin)가 좌단의 화소(PiO)인 경우에는, 가공의 화소(Pj-1)에 대해 이러한 처리를 행한다.
이어서, 화상 데이터(Cdjn-1)와 확산오차(Edjn-1)를 덧셈하여 보정 데이터( Cxjn-1)를 산출하고(스텝 S218), 얻어진 보정 데이터(Cxjn-1)와 소정의 임계값(th)를 비교하여(스텝 S220), 보정 데이터 쪽이 크면 도트를 형성한다고 판단하여, 판단결과를 나타내는 변수(Cr)에 도트를 형성하는 것을 의미하는 값「1」을 기록입력한다(스텝 S222). 그렇지 않으면 도트를 형성하지 않는 것을 의미하는 값「0」을 기록입력한다(스텝 S224). 계속해서, 그 판단에 따라 화소(Pjn-1)에 발생하는 계조오차(Ejn-1)를 산출한다(스텝 S226). 계조오차(Ejn-1)는, 보정 데이터(Cxjn-1)로부터, 화소(Pjn-1)의 결과값을 감산하는 것으로 구할 수 있다. 얻어진 계조오차에, 오차확산 매트릭스에 설정되어 있는 오차확산계수를 곱셈하여, 주변화소로의 확산오차를 산출한다. 이렇게 해서 확산오차를 구하면, 래스터(j)의 화소로의 확산오차는 레지스터에 기억하고, 래스터(k)의 화소로의 확산오차는 RAM(l06)에 기억한다(스텝 S228).
이상과 같이 하여, 래스터(i)의 화소와 래스터(j)의 화소에 관해서의 도트형성판단 및 오차의 확산처리가 종료되면, 래스터(i) 및 래스터(j)의 모든 화소의 처리를 종료했는지 여부를 판단한다(스텝 S230). 미처리의 화소가 남아 있는 경우는, 화소의 위치를 1개 오른쪽으로 이동시키고, 즉「n + 1」의 값으로「n」을 바꿔 놓아, 스텝(S200)에 되돌아가 계속되는 일련의 처리를 행한다. 미처리의 화소가 남아 있지 않은 경우는, 모든 래스터의 처리가 종료했는지 여부를 판단하고 (스텝S232), 처리하고 있지 않는 래스터가 남아 있는 경우는 래스터 위치를 래스터 2개분 만큼 아래로 이동시키고, 즉「i + 2」의 값으로「i」를 바꿔 놓아, 스텝(S200)으로 되돌아가 계속되는 일련의 처리를 행한다. 미처리의 래스터가 남아 있지 않는 경우는, 도 8에 나타낸 계조수 변환처리를 종료하여, 도 4에 나타내는 화상 데이터 변환처리로 복귀한다.
이상, 설명한 바와 같이, 제1 실시예의 계조수 변환처리에서는, 래스터(i)의 화소와 래스터(j)의 화소를, 병행하여 교대로 도트형성유무를 판단하여 간다. 이렇게 하면, 래스터(j)의 화소에 관해서는, 래스터(i)의 화소에 계속해서, 혹은 곧 도트형성유무를 판단하는 것으로 된다. 따라서, 래스터(j) 화소의 도트형성유무에 관해서는, 래스터(i)의 화소로부터 주변화소로의 확산오차를 일단 오차 버퍼에 기억시키지 않고도, 직접 판단할 수 있기 때문에, 그 정도만큼 오차 버퍼로의 기록입력 빈도를 줄이는 것이 가능해진다. 오차 버퍼로의 기록입력 빈도를 감소시킬 수 있으면, 그 정도만큼, 도트형성유무의 판단에 요하는 시간을 단축화할 수 있기 때문에, 계조수 변환처리를 신속히 행하는 것이 가능해진다.
또한, 오차 버퍼의 기억 용량을 절약할 필요가 있는 경우에는, 도트형성의 유무를 판단하기 위하여 일단 사용한 오차 버퍼를, 다른 래스터에 관해서의 판단을 위해 다시 사용하는 처리를 행한다. 이와 같은 경우라도, 상술한 제1 실시예의 계조수 변환처리에서는, 래스터 2개에 관해 오차 버퍼를 래스터 1개분씩 설치하면 좋기 때문에, 오차 버퍼에 기억되는 모든 래스터 개수를 반감할 수 있다. 이 결과, 도트형성판단에 사용한 오차 버퍼를, 다른 래스터의 판단을 위해 다시 사용하는 처리를 행하지 않더라도, 오차 버퍼의 용량을 절약할 수 있다. 물론, 2개 보다 많은 복수개의 래스터를 병행하여 처리하는 것으로 하면, 래스터 그 복수개 마다 오차 버퍼를 래스터 1개분씩 설치하면 좋기 때문에, 그 정도 만큼 오차 버퍼의 용량을 절약하는 것이 가능해진다.
B-4. 변형예
(1) 제1의 변형예:
이상에서는, 다만 간단한 예로서, 2개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하는 것으로 하여 설명하였지만, 병행하여 처리하는 래스터의 수는 2개에 한하지 않고, 3개 이상의 래스터의 처리를 병행하여 행하더라도 좋다. 도 9는, 3개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하는 경우를 개념적으로 나타낸 설명도이다. 도 9에서는, 래스터(i) 와 래스터(j)와 래스터(k) 3개의 래스터에 관해서의 도트형성유무를 병행하여 판단하고 있다. 또, 설명이 번잡해지는 것을 피하기 위해, 도 7에서의 경우와 마찬가지로, 여기서도 도 6 (a) 에 나타낸 오차확산 매트릭스를 사용하는 것으로 한다.
래스터(i)와 래스터(L)에 사선이 행해지고 있는 것은, 이들 래스터의 화소에 배분되는 확산오차가 RAM(l06)에 기억되는 것을 나타내고 있다. 래스터(i)와 래스터(j)와 래스터(k)의 각 화소에 붙여진 둥근 표시 중의 숫자는, 각 화소의 도트형성유무를 판단하여 가는 순번을 나타낸 것이다. 도면에 도시된 바와 같이, 처음 3개의 화소에 관해서는, 도 7에 설명한 2개의 래스터를 병행하여 처리하는 경우와 같은 순번으로 도트형성유무를 판단한다. 이후의 4개째의 화소로부터는, 래스터(i)와 래스터(j)와 래스터(k) 3개의 화소를 1조로서, 이 순번에서 병행하여 도트의 형성유무를 판단하여 간다. 여기서는, 래스터(i) 내지 래스터(k) 3개의 래스터의 처리를 병행하여 행하는 것으로 하고 있기 때문에, 이들 3개의 래스터의 화소로 확산되는 오차는, 곧 사용되는 것이므로, CPU(102)의 레지스터에 기억된다. 래스터(L)의 화소가 확산되는 오차가 사용되는 것은, 래스터(i) 내지 래스터(k) 3개의 래스터 처리가 종료되고 나서나 되는 것이므로, 래스터(L)의 화소로 확산되는 오차는 RAM(l06)에 기억된다. 이와 같은 처리를 되풀이하여 감으로써, 3개의 래스터의 도트형성유무판단을 병행하여 행할 수 있다.
이와 같이 하여 래스터(i) 내지 래스터(k)의 화소에 관해서의 도트형성유무의 판단을 병행하여 행하는 것으로 하면, 서로 인접한 래스터(i) 와 래스터(j), 혹은 래스터(j)와 래스터(k) 사이에서, 2개의 래스터를 병행하여 처리하는 것과 마찬가지 효과를 얻을 수 있다.
그 위에, 래스터(i) 내지 래스터(k)의 처리를 병행하여 행하는 것으로 하면, 래스터(k)의 화소에 관해서는, 래스터(i)의 화소에 계속해서, 혹은 곧 도트형성유무가 판단되는 것으로 된다. 따라서, 래스터(i)의 화소로부터 주변화소로의 확산오차를 일단 오차 버퍼에 기억시키지 않고도, 직접 래스터(k)의 화소의 도트형성유무를 판단하는 것이 가능하고, 그 정도 만큼, 오차 버퍼로의 기록입력 빈도를 줄여, 도트형성유무의 판단에 요하는 시간을 단축화하는 것이 가능해진다.
(2) 제2의 변형예:
이상의 각종 실시예에서는, 설명이 번잡화하는 것을 피하기 위해, 오차확산매트릭스는 도 6 (a)에 나타낸 비교적 작은 매트릭스를 사용하는 것으로 하였다. 물론, 다른 오차확산 매트릭스를 이용하는 경우라도, 마찬가지의 방법에 의해, 복수 래스터의 화소에 관해서의 도트형성유무를 병행하여 판단할 수 있다. 일례로서, 도 6 (b)의 오차확산 매트릭스를 이용하여, 2개의 래스터의 도트형성유무를 병행하여 판단하는 처리에 관해, 도 10을 참조하면서 설명한다.
이해의 편의를 위해, 사용하는 오차확산 매트릭스를 도 1O (a)에 나타낸다. 이 매트릭스는 도 6 (b)에 나타낸 매트릭스와 같은 것이다. 이러한 오차확산 매트릭스를 사용한 경우, 사선을 붙여 표시하고 있는 착안화소에서 발생한 계조오차는, 착안화소에 인접하는 화소뿐만 아니라, 그 이웃의 화소로까지 확산된다. 이것을 도 1O (b)에 적용시키면, 화소(Pj2)에서 발생한 계조오차는, 래스터(i)에 관해서 화소(Pi3) 및 화소(Pi4)로 확산되고, 래스터(j)에 관해서 화소(Pj0) 내지 화소(Pj4 )의 각 화소로 확산된다. 바꾸어 말하면, 래스터(j)의 화소(Pj0)에는, 래스터(i)의 화소(Pi0)로부터의 확산오차와, 화소(Pi1)로부터의 확산오차에 더하여, 화소(Pi2)로부터의 확산오차가 배분되는 것으로 된다. 그래서, 래스터(i)에 포함되는 이들 3개의 화소의 도트형성유무의 판단이 종료하고 나서, 래스터(j)에 있는 화소(Pj0)의 도트형성유무의 판단을 개시한다. 요컨대, 도 1O (a)에 나타내는 오차확산 매트릭스를 사용하는 경우는, 래스터(i)의 화소와 래스터(j)의 화소의 위치관계는, 래스터(j)의 화소가 래스터(i)의 화소에 대해 2개 화소분 늦는 관계가 되는 것이다. 이와 같이, 복수의 래스터의 처리를 병행하여 행하는 경우에, 각 래스터에 포함되는 각각의 화소 위치관계는, 계조오차를 확산하는 범위에 따라 정할 수 있다. 이와 같은 위치관계를 유지한 채로, 각각의 래스터 화소의 도트형성유무를 병행하여 판단하여 간다.
도 1O (b)는, 래스터(i)의 화소(Pi2) 및 래스터(j)의 화소(Pj0)에 관해서의 도트형성유무의 판단을 연속하여 행하는 모양을 나타낸 설명도이다. 또, 도면 중에 둥근 표시와 함께 표시한 숫자는, 래스터(i) 및 래스터(j) 화소 중에서, 그 화소가 몇 번째에 도트형성유무의 판단이 행하여지는 지를 나타낸 것이다. 또한, 화소( Pi2)로부터 주변의 화소로 향하는 굵은 화살표는, 화소(Pi2)에서 발생한 계조오차가 오차확산 매트릭스에 따라 주변화소로 확산되는 모양을 개념적으로 나타낸 것이다. 화소(Pi2)의 계조오차를 주변화소로 확산하면, 화소(Pj0)의 도트형성유무를 판단한다. 화소(Pj0)에서 생긴 계조오차 중, 래스터(j)의 화소에 배분되는 확산오차는 CPU(102)의 레지스터에 기억하고, 래스터(k)의 화소에 배분되는 확산오차는 RAM(l06)에 기억한다. 화소(Pj0)로부터, 래스터(k)의 화소로 향하는 흰색바탕 화살표는, 이들 화소에 배분되는 확산오차가 RAM(106)에 기억되는 것을 나타내고 있다. 둥근 표시 중의 숫자로 도시되어 있는 바와 같이, 화소(Pj0)의 다음은, 화소(Pi3),그 다음은 화소(Pj1)라고 하는 순번으로, 래스터(i)의 화소와 래스터(j)의 화소를 교대로 도트형성유무를 판단하여 간다. 래스터(i) 혹은 래스터(j)의 화소에 배분되는 확산오차는 CPU(102)의 레지스터에 기억하고, 래스터(k)에 배분되는 확산오차는 RAM(l06)에 기억한다. 이상의 처리를 되풀이하면서, 래스터(i) 및 래스터(j)의 모든 화소에 관해서의 도트형성유무를 판단하면, 처리하는 래스터의 위치를 2개 아래로 비키어 놓아, 래스터(k)와 그 아래의 래스터에 관해, 마찬가지의 처리를 되풀이해 감으로써, 도 10 (a)에 나타내는 오차확산 매트릭스를 이용하여 2개의 래스터의 도트형성유무의 판단을 병행하여 행할 수 있다.
이와 같이 하여 래스터(i)와 래스터(j)에 관해서의 도트형성유무의 판단을 병행하여 행하는 경우에도, 래스터(j)의 화소는, 래스터(i)의 화소에 계속해서, 혹은 곧 도트형성유무가 판단된다. 따라서, 래스터(i)의 화소로부터 주변화소로의 확산오차를 일단 오차 버퍼에 기억시키지 않고서도, 직접 래스터(j) 화소의 도트형성유무를 판단할 수 있기 때문에, 그 정도 만큼, 오차 버퍼로의 기록입력 빈도를 줄이는 것이 가능해진다. 그 결과, 오차버퍼로의 기록입력 빈도를 감소시키고, 도트형성유무의 판단에 요하는 시간을 단축화할 수 있다.
(3) 제3의 변형예:
이상의 각종 실시예에서, 착안화소에서 발생한 계조오차는 착안화소가 있는 래스터의 화소와, 그 래스터의 1개 아래의 래스터의 화소로 확산되는 것으로 하여 설명하였지만, 이와 같은 경우에 한정되지 않는다. 예컨대, 도 6 (d)에 예시하는 바와 같은 오차확산 매트릭스를 이용하면, 착안화소에서 발생한 계조오차는, 착안화소가 있는 래스터로부터, 그 2개 아래의 래스터까지의 화소로 확산된다. 도 11은, 일례로서 도 6 (d)에 나타내는 오차확산 매트릭스를 이용한 경우에, 3개의 래스터의 도트형성유무를 병행하여 판단하는 처리를 개념적으로 나타낸 설명도이다.
이해의 편의를 위해, 사용하는 오차확산 매트릭스를 도 11 (a)에 나타낸다. 이 매트릭스는 도 6 (d)의 매트릭스와 같은 매트릭스이다. 가령 래스터(i)와 래스터(j)와 래스터(k)의, 3개의 래스터에 관해서의 도트형성유무를 병행하여 판단하는것으로 한다. 래스터(k)의 화소에서 발생한 계조오차는, 도 11 (a)의 오차확산 매트릭스에 따라, 래스터(k) 내지 래스터(m) 3개의 래스터의 화소로 확산되지만, 래스터(L) 및 래스터(m) 2개의 래스터에 있는 화소에 관해서는, 래스터(i) 내지 래스터(k) 3개의 래스터의 처리가 종료되고 나서, 도트형성유무가 판단된다. 따라서, 래스터(L) 및 래스터(m)로 확산되는 오차는, RAM(l06)에 기억해 둔다. 도 11 (b)에서는, 확산되어 가는 오차를 RAM(l06)에 기억하는 화소에 사선을 붙여 나타내고 있다. 이와 같이, 도 11 (a)에 나타내는 오차확산 매트릭스를 이용한 경우는, 확산되어 가는 오차가 CPU(102)의 레지스터에 기억되는 래스터와, RAM(l06)에 기억되는 2개의 래스터가 교대로 나타나는 것으로 된다.
(4) 제4의 변형예:
계조오차를 넓은 범위로 확산시키는 경우는, 착안화소로부터 소정 이상 원방으로 확산시키는 경우에, 오차 버퍼로 확산하는 것으로 해도 좋다. 예컨대, 착안화소로부터 3개의 화소 이상 원방으로 확산하는 오차는, 오차 버퍼가 존재하는 화소로 확산하는 것으로 하여, 도 12 (a)에 나타내는 바와 같은 오차확산 매트릭스를 사용해도 좋다. 도 12 (a)에서, 착안화소로부터 원방에서, 2개의 래스터에 걸쳐 화소가 파선으로 일체로서 표시되어 있는 것은, 이들 영역에서는 2개의 래스터 중, 오차 버퍼가 존재하는 쪽의 래스터로 오차가 확산되는 것을 나타내고 있다. 도 12 (b), (c)를 참조하면서 구체적으로 설명한다. 착안화소가, 오차 버퍼가 존재하는 래스터 위에 위치하고 있는 경우를 생각한다. 이 경우, 오차 버퍼는, 착안화소가 있는 래스터 및 그 2개 아래의 래스터에 있기 때문에, 결국, 도 12 (b)에 나타낸매트릭스에 따라 오차를 확산하는 것과 같은 것으로 된다. 다음에, 착안화소가 오차 버퍼가 존재하지 않은 래스터 위에 위치해 있는 것을 생각하면, 이 경우 오차 버퍼는, 착안화소가 있는 래스터를 상하로 끼운 2개의 래스터에 있기 때문에, 결국, 도 12 (c)에 나타낸 매트릭스에 따라 오차를 확산하는 것과 같은 것으로 된다.
이와 같은 도 12 (a)의 오차확산 매트릭스와, 이에 대응하는 도 6 (c)의 오차확산 매트릭스를 비교하면 분명한 바와 같이, 도 12 (a)에서는 착안화소로부터 3개의 화소 앞에 있는 영역(도면 중에서는 K3로 표시)에는, 도 6 (c)의 화소(K03)와 화소 (K13)로 확산되는 오차가 한데 모여서 확산된다. 마찬가지로, 도 12 (a)로 착안화소로부터 4화소 먼저 있는 영역(도면 중에서 K4로 표시)에는, 도 6 (c)의 화소(K04)와 화소(K14)와 확산되는 오차가 한데 모여서 확산되고 있다.
착안화소에서 발생한 오차를 원방으로 확산시키는 경우, 오차를 확산하는 화소의 위치가 다소 어긋나 있더라도, 그다지 큰 화질의 악화를 생기게 하지 않은 것을 경험상 알고 있다. 그래서, 계조오차를 넓은 범위로 확산시키는 경우, 원방의 화소에 관해서는, 오차 버퍼가 있는 화소로 확산해도 화질이 악화하는 일은 없다. 상술한 각종의 실시예에서는, 오차를 오차 버퍼로 확산시키지 않은 경우는 CPU(102 )의 레지스터에 기억하고 있다. 그래서, 원방의 화소에 관해서는 오차 버퍼에 기억하는 것으로 하면, 그 정도 만큼, 도트형성유무의 판단에 사용하는 레지스터를 절약할 수 있다. 오차를 기억하고 있는 레지스터 수가 적어지면, 처리를 간소하는 것으로 할 수 있고, 그 위에, 절약한 레지스터를 다른 목적으로 사용하면, 그만큼 도트형성유무의 판단을 신속히 행하는 것이 가능해진다.
또, 이상의 설명에서는 오차를 2개의 래스터의 화소에 걸쳐 확산시키는 것으로 하였지만, 도 12 (d)에 나타내는 바와 같은 오차확산 매트릭스를 이용하면, 3개의 래스터에 걸쳐 확산시킬 수도 있다. 이와 같이, 보다 다수의 래스터로 확산시키는 경우에도, 원방으로 확산시키는 오차에 관해서는 오차 버퍼로 확산시키는 것으로 하면, 화질의 악화를 초래하는 일없이, 간소하고 신속한 처리로 할 수 있다.
C. 제2 실시예:
이상으로 제1 실시예의 계조수 변환처리로서 설명한 각종 실시예는, 착안화소에서 도트형성유무를 판단함으로써 발생하는 계조오차를, 오차확산 매트릭스에 설정되어 있는 오차확산계수에 따라, 주변화소로 확산하여 기억하였다. 이 의미로부터, 제1 실시예의 방법은 소위 오차확산법이라고 하는 방법에 준한 방법이라고 생각할 수 있다. 이와 같은 방법이 아니라, 소위 평균 오차최소법이라고 하는 방법에 준한 방법에 의해, 복수 래스터의 도트형성유무의 판단을 병행하여 행할 수도 있다.이하에서는, 이와 같은 제2 실시예의 계조수 변환처리에 관해 설명한다.
C-1. 제2 실시예의 계조수 변환처리:
도 13은, 제2 실시예의 계조수 변환처리에서 복수 래스터의 처리를 병행하여 행함으로써, 도트형성유무의 판단을 신속히 행하는 원리를 개념적으로 설명하는 설명도이다. 또, 제2 실시예의 계조수 변환처리의 상세한 설명에 들어가기 전에, 그 준비로서, 평균 오차최소법이라고 하는 수법에 관해, 도 13을 유용하여 간단히 설명해 둔다.
평균 오차최소법에서는, 착안화소의 도트형성유무를 판단하는 경우, 이미 도트형성유무 판단 필의 주변화소로부터, 각 화소에서 발생한 계조오차를 판독출력하여, 이들 계조오차를 고려하면서 착안화소의 도트형성유무를 판단한다. 이것을, 도 13 (a)에 의거하여 설명한다. 도 13 (a)는 화소(PiO)의 도트형성유무를 판단하는 모양을 나타내는 설명도이다. 화소(Pi0)의 도트형성유무를 판단하고자 하는 경우, 우선 화소(Pi0) 주변의 화소(Ph0) 및 화소(Ph1)에서 발생한 계조오차에 소정의 무게 계수를 곱셈하고, 이들을 덧셈한 값을 산출한다. 도 13 (a)에서, 화소 (Ph0), 화소(Ph1)에, Eh0, Eh1로 각각 표시되어 있는 것은 각 화소에서 계조오차 (Eh0, Eh1)가 생기고 있는 것을 나타내고 있다. 이어서, 화소(Pi0)의 화상 데이터를 산출한 값으로 보정하여, 얻어진 보정값과 소정의 임계값의 대소관계에 의거하여 도트형성의 유무를 판단한다. 계조오차에 곱셈되는 무게 계수는, 착안화소에 대한 각 화소가 상대적인 위치관계에 의해 화소마다 미리 설정되어 있다. 도 13 (b)는, 착안화소를 중심으로 하여, 주변의 각 화소에 무게 계수가 설정되어 있는 모양을 나타내는 설명도이다. 도면 중에 사선을 붙인 화소가 착안화소이다. 예컨대, 착안화소의 왼쪽 이웃의 화소에는, 무게 계수로서「K0-1」가 설정되어 있다. 다만, 착안화소주변의 각 화소로의 무게 계수를 설정하는 매트릭스는, 도 13 (b)의 매트릭스에 한정되는 것이 아니라, 도 14에 예시하는 각종의 매트릭스를 사용할 수 있다.
이렇게 해서 화소(Pi0)의 도트형성유무를 판단하면, 오른쪽 이웃에 있는 화소(Pi1)에 관해서의 도트형성유무를 개시한다. 화소(Pi1)의 도트형성유무에 있어서는, 도 13 (b)에 설정된 매트릭스에 따라, 화소(PhO)와 화소(Ph1)와 화소(Ph2) 및 화소(Pi0)에서 발생한 계조오차를 고려하면서 도트형성유무를 판단한다. 화소(Pi1)의 판단을 종료하면, 더욱 오른쪽 이웃에 있는 화소(Pi2)의 판단을 개시한다. 이와 같이, 래스터를 따라 1개의 화소씩 도트형성유무를 판단하여 간다. 도트형성유무의 판단의 결과로서 생긴 계조오차는, RAM 위에 설치된 오차 버퍼에 기억되고, 현재처리 중의 래스터에 있는 모든 화소의 도트형성유무의 판단이 종료한 후, 1개 아래에 있는 래스터의 처리 중에서, 다시 RAM 위의 오차 버퍼로부터 판독출력되어 사용된다.
상술한 바와 같이, 평균 오차최소법을 이용하여 도트형성유무를 판단하기 위해서는, 착안화소에 관해서의 도트형성유무를 판단할 때마다, 주변화소의 계조오차를 RAM 위에 설치된 오차 버퍼로부터 판독출력되지 않으면 안되고, 또한, 판단에 의해 착안화소에 생기는 계조오차를, 다른 화소의 도트형성판단에 사용하므로 사람, 오차 버퍼에 기억해 둘 필요가 있다. 이와 같이, 오차 버퍼에 대해 계조오차를 빈번히 판독 기록하기 위해서는, 그 정도만큼 도트형성유무의 판단에 시간이 필요해진다.
이에 대해, 이하에 설명하는 제2 실시예의 계조수 변환처리에서는, 복수 래스터의 처리를 병행하여 행함으로써, 도트형성유무의 판단을 신속히 행하는 것이 가능해진다. 이하, 도 13을 참조하면서, 복수 래스터의 처리를 병행하여 행함으로써, 도트형성유무의 판단을 신속히 행하는 원리에 관해 설명한다.
도 13은 가장 간단한 예로서, 2개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하는 원리를 나타낸 설명도이다. 여기서는, 래스터(i)와, 그 바로 아래의 래스터(j)의 2개의 래스터에 관해, 병행하여 도트형성유무를 판단하는 것으로 한다.
우선 처음에, 래스터(i)의 가장 왼쪽의 화소(Pi0)의 도트형성유무를 판단한다. 도 13 (a)은, 화소(PiO)의 도트형성유무를 판단하고 있는 모양을 개념적으로 나타내고 있다. 착안화소(Pi0)에 관해서의 판단을 행하기 위해서는, 상술한 평균 오차확산법과 마찬가지로, 화소(Ph0)의 계조오차(Eh0)와 화소(Ph1)의 계조오차 (Eh1)를 사용한다. 이들 계조오차는, 컴퓨터(100)의 RAM(l06) 위에 기억되어 있다. RAM(l06)으로부터 판독출력한 각 계조오차에, 도 13 (b)의 매트릭스에 설정되어 있는 무게 계수를 곱셈하여, 착안화소(Pi0)의 화상 데이터를 보정한다. 이렇게 해서 얻어진 보정값에 의거하여 화소(Pi0)의 도트형성유무를 판단한다. 도 13 (a)에서, 화소 (PhO) 혹은 화소(Ph1)로부터 착안화소(Pi0)로 향하여 표시된 굵은선의 화살표는, 착안화소(Pi0)의 도트형성유무를 판단하기 위해, 화소(Ph0) 혹은 화소(Ph1)의 계조오차를 고려하는 것을 개념적으로 표현한 것이다.
화소(Pi0)에 관해서의 도트형성유무를 판단하면, 발생한 계조오차(Ei0)를 CPU(102)의 레지스터에 일시 기억한 후, 화소(PiO)의 오른쪽 이웃에 있는 화소(Pi1 )에 관해서의 도트형성유무의 판단을 개시한다. 도 13 (b)에 설정되어 있는 바와 같이, 화소(Pi1)의 도트형성유무의 판단에는 화소(Ph0), 화소(Phl), 화소(Ph2) 및 화소(Pi0)의 각 화소에서 발생한 계조오차가 고려된다. 도 13 (a)에서는, 이들 각 화소로부터 화소(Pi1)로 향하여 표시되어 있는 가는 선의 화살표는, 착안화소 (Pi1)의 도트형성유무를 판단하기 위해, 이들 화소의 계조오차를 고려하는 것을 개념적으로 나타내는 것이다. 이들 4개의 계조오차 중, 화소(Ph0)의 계조오차(Eh0)및 화소(Ph1)의 계조오차(Eh1)는, 먼저 화소(Ph0)에 관해서의 도트형성판단에 사용한 값을 기억해 두고 이 값을 이용할 수 있다. 또한, 화소(Pi0)의 계조오차(Ei0)는, 아까 구한 값을 사용할 수 있다. 따라서, 화소(Ph2)에 관해서의 계조오차(Eh2)만을 RAM(l06)으로부터 판독출력하면, 화소(Pi1)에 관해서의 도트형성유무를 판단하는 것이 가능하다. 판단한 결과로서 화소(Pi1)에 생긴 계조오차(Ei1)는 CPU(102)의 레지스터에 기억해 둔다.
제2 실시예의 계조수 변환처리에서는, 래스터(i)에 있는 화소(PiO) 및 화소( Pi1)의 도트형성유무를 판단하면, 다음은 래스터(j)에 있는 화소(Pj0)에 관해서의 도트형성유무를 판단한다. 도 13 (c)는 화소(PjO)의 도트형성유무에 반하는 모양을 개념적으로 나타내는 설명도이다. 도 13 (b)의 매트릭스로부터 분명한 바와 같이, 화소(Pj0)의 도트형성유무는, 화소(Pi0) 및 화소(Pi1)에서의 계조오차를 고려하는 것만으로 판단할 수 있다. 상술한 바와 같이, 이들 계조오차(Ei0 및 Ei1)는, 화소 (Pj0)의 직전에 구해져, CPU(102)의 레지스터에 기억되어 있다. 이것으로부터, 화소(Pj0)에 관해서는 RAM(106)으로부터 계조오차를 판독출력하는 일없이, 도트형성유무를 판단할 수 있다. 이렇게 해서, 화소(Pj0)의 도트형성유무를 판단하면, 화소 (Pj0)에서 생긴 계조오차를, CPU(102)의 레지스터와 RAM(l06) 위의 오차 버퍼에 기억하고, 이후는 래스터(i)의 화소와 래스터(j)의 화소에 관해 교대로 도트형성유무를 판단하여 간다.
또, 화소(Pj0)의 계조오차(Ej0)를 RAM(l06) 위의 오차 버퍼에 기억하는 이유는, 래스터(i) 및 래스터(j)의 처리를 종료한 후, 래스터(k)에 있는 화소의 도트형성유무를 판단할 때, 계조오차(Ej0)를 사용하기 위해서이다. 또한, 오차 버퍼뿐만 아니라 CPU(102)의 레지스터에도 기억하는 것은, 인접하는 화소(Pj1)의 도트형성유무의 판단시 사용하기 위해서이다. 상술한 화소(Pi0) 혹은 화소(Pi1)의 도트형성유무의 판단에 있어서는, 이렇게 해서 RAM(l06)에 기억되어 있던 계조오차를 판독출력하여 사용하고 있다. 도 13에 있어서, 래스터(h) 및 래스터(j)의 화소에 사선이 행해지고 있는 것은, 이들 화소의 계조오차가 오차 버퍼에 기억되어 있는 것을 나타내는 것이다.
도 13 (d) 중에서, 화소에 표시한 둥근 표시 중의 숫자는, 각 화소의 도트형성유무를 판단하는 순번을 나타낸 것이다. 도 13 (d)에 나타내져 있는 바와 같이, 화소(Pj0)의 다음에 도트형성유무를 판단하는 화소는, 래스터(i)에 있는 화소(Pi2)의 화소이다. 이러한 화소의 도트형성판단에 고려되는 계조오차는, 화소(Phl), 화소(Ph2), 화소(Ph3) 및 화소(Pi1) 4개의 계조값이지만, 상술한 화소(Pi1)의 경우에 사용한 계조오차를 기억해 두면, RAM(106)으로부터는, 화소(Ph3)에서 생긴 계조오차만을 판독출력하는 것만으로 도트형성유무를 판단할 수 있다. 그 위에, 화소(Pi2 )의 다음은, 래스터(j)의 화소(Pj1)에 관해서의 도트형성유무를 판단한다. 화소 (Pj1)의 도트형성유무의 판단에는, 화소(Pi0), 화소(Pi1), 화소(Pi2) 및 화소( Pj0)의 각 화소에서의 계조오차를 사용하지만, 이들 각 계조오차는 어느 것이나 직전에 구해져, CPU(102)의 레지스터에 기억되어 있다. 따라서, 화소(Pj1)에 관해서는 RAM(l06)으로부터 계조오차를 판독출력하는 일없이 도트형성유무를 판단할 수 있다.이렇게 해서 화소(Pj1)의 계조오차(Ej1)가 구해지면, CPU(102)의 레지스터와,RAM(106) 위의 오차 버퍼에 계조오차(Ej1)를 기억한다.
이상으로 설명한 바와 같이, 래스터(i)의 화소와, 그 화소의 왼쪽 아래에 있는 래스터(j)의 화소를, 교대로 도트형성유무를 판단해 간다. 이렇게 해서, 래스터 (i)와 인접하는 래스터(j)의 처리를 병행하여 행하면, 래스터(j)의 화소에 관해서는, RAM(106)으로부터 계조오차를 판독출력하는 일없이 도트형성유무를 판단할 수 있다. 즉, 그 정도 만큼, RAM(l06) 위의 오차 버퍼에 대해 판독 기록하는 빈도를 줄일 수 있기 때문에, 도트형성유무의 판단을 신속히 행할 수 있는 것이다.
또, 도 13에 나타낸 바와 같이, 래스터(i)의 좌단의 화소, 즉 화소(PiO)에 관해서는 그 화소의 왼쪽 아래에 래스터(j)의 화소가 존재하지 않기 때문에, 변칙적으로 화소(Pi0)에 계속해서 같은 래스터(i)에 있는 화소(Pi1)의 처리를 행하고 있다. 다만, 화소(Pi0)의 왼쪽 아래에 가공의 화소(Pj-1)를 상정하고, 화소(Pi0)에 계속해서 가공의 화소(Pj-1)의 처리를 행한 후, 이러한 가공의 화소(Pj-1)에 관해서는, 도트형성유무의 판단결과를 사용하지 않고 버려 버리는 것으로 해도 좋다. 이렇게 하면, 좌단의 화소에 관해서도 가공의 화소에 대해 통상의 처리를 행할 수 있기 때문에, 변칙적인 처리가 불필요하게 되어 바람직하다.
도 15는, 2개의 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하는 처리의 흐름을 나타내는 흐름도이다. 이 처리는 컴퓨터(100)의 CPU(102)에 의해 행하여진다. 또, 상술한 제1 실시예의 계조수 변환처리와 마찬가지로, 제2 실시예의 계조수 변환처리도, 컬러 프린터에 구비된 각 색마다 행하여지지만, 설명의 번잡 화를 피하기 위해, 잉크 도트의 색을 특정하지 않고 설명한다. 또한, 소위 가변 도트 프린터를 사용하는 경우, 제2 실시예의 계조수 변환처리가 도트의 각종 크기 마다 행하여지는 것은, 상술한 제1 실시예의 경우와 마찬가지이다.
제2 실시예의 계조수 변환처리를 개시하면, 우선 처음에, 병행하여 처리하는 래스터의 1개째의 래스터 중에서, 도트형성유무를 판단하고자 하는 화소의 화상 데이터를 판독입력한다(스텝 S300). 여기서는 제1 실시예에 맞추어, 처리하고자 하는 화소(착안화소)를 래스터(i)의 n 번째의 화소(Pin)로 한다. 화상 데이터(Cdin)는, RAM(l06)에 기억되어 있다.
이어서, 착안화소(Pin)의 주변화소의 계조오차를 판독입력한다(스텝 S302). 주변화소란, 착안화소로부터 소정영역 내에 있어, 착안화소의 도트형성유무의 판단에 계조오차가 고려되는 화소이다. 착안화소의 도트형성유무의 판단에 있어서는, 주변화소로서 여러 가지의 범위의 화소를 고려할 수 있지만, 설명이 번잡해지는 것을 피하기 위해, 이하에서는, 도 14 (a)의 매트릭스에 나타낸 주변화소를 고려하는 것으로 한다. 또, 스텝(S302)에서 주변화소의 계조오차를 판독입력하는데 대해서는, 도 13을 이용하여 설명한 바와 같이, 착안화소(Pin)의 왼쪽 이웃에 있는 화소 (Pin-1)의 판단시 판독출력한 각 화소의 계조오차를 레지스터에 기억해 두고, 스텝(S302)에서는 레지스터에 기억되어 있지 않은 계조오차만을, RAM(l06)으로부터 판독출력하도록 해도 좋다.
이렇게 해서 판독출력한 주변화소의 계조오차와, 착안화소(Pin)의 화상 데이터(Cdin)에 의거하여, 착안화소(Pin)의 보정 데이터(Cxin)를 산출한다(스텝 S304) . 즉, 주변화소의 계조오차와, 주변화소마다 정해진 소정의 무게 계수를 곱셈하고,이들 곱셈값과 착안화소(Pin)의 화상 데이터(Cdin)와의 합을 구하여, 보정 데이터( Cxin)로 하는 것이다. 주변화소의 무게 계수는, 도 14 (a)의 매트릭스에 화소마다 정해져 있다.
이렇게 해서 얻어진 보정 데이터(Cxin)와 소정의 임계값(th)을 비교하여(스텝 S306), 보정 데이터 쪽이 크면 화소(Pin)에 도트를 형성한다고 판단하여, 판단결과를 나타내는 변수(Cr)에 도트를 형성하는 것을 의미하는 값「1」을 기록입력한다(스텝 S308). 그렇지 않으면 화소(Pin)에는 도트를 형성하지 않는다고 판단하여, 변수(Cr)에 도트를 형성하지 않는 것을 의미하는 값「0」을 기록입력한다(스텝 S 310).
래스터(i)의 화소(Pin)에 관해서의 도트형성유무를 판단하면, 그 판단에 따라 발생하는 계조오차(Ein)를 산출하여 CPU(102)의 레지스터에 기억한다(스텝 S 312). 계조오차(Ein)는, 제1 실시예와 마찬가지로, 보정 데이터(Cxin)로부터 착안화소(Pin)의 결과값을 감산 하는 것으로 구할 수 있다.
이상과 같이 하여, 래스터(i)에 있는 화소(Pin)의 도트형성유무를 판단하고, 계조오차를 CPU(102)의 레지스터에 기억하면, 화소(Pin)의 왼쪽 아래에 있는 래스터(j)의 화소(Pjn-1)에 관해, 도트형성유무를 판단하기 위한 처리를 개시한다. 우선, 화소(Pjn-1)의 화상 데이터(Cdjn-1)를 RAM(l06)으로부터 판독입력하여(스텝 S 314), 주변에 있는 각 화소의 계조오차를 CPU(102)의 레지스터로부터 판독입력한다 (스텝 S316). 또, 화소(Pin)가 래스터(i)의 좌단에 있는 화소(Pi0)인 경우는, 가공의 화소(Pj-1)에 관해 마찬가지의 처리를 행한다.
여기서, 스텝(S316)에서는 주변화소의 계조오차를 레지스터로부터 판독출력하는 것이 가능하고, RAM(l06) 위의 오차 버퍼로부터 판독출력되지 않아도 좋은 이유에 관해 설명한다. 상술한 바와 같이, 주변화소로서 도 14 (a)에 나타내는 범위를 고려한다고 하고 있으므로, 래스터(j)에 있는 화소의 도트형성유무의 판단에는, 같은 래스터(i)에 있는 화소의 계조오차와, 1개 위에 있는 래스터(j)의 화소의 계조오차가 고려된다. 여기서, 래스터(i)의 화소와 래스터(j)의 화소는 병행하여 도트형성유무를 판단하고 있으므로, 래스터(j)에 있는 화소의 도트형성유무를 판단할 때 주변화소로 되는 것은, 모두 조금 전에 도트형성유무를 판단한 화소만이다. 따라서, 도트형성유무를 판단하는 것에서 생기는 계조오차를, 잠시동안만 CPU(102)의 레지스터에 저장해 두면, RAM(l06) 위의 오차 버퍼로부터 판독출력되지 않고도, 주변화소의 계조오차를 모두 레지스터로부터 판독출력할 수 있는 것이다.
이렇게 해서 화소(Pjn-1)에 관해, 주변화소의 계조오차를 판독출력하면, 화소(Pin)의 경우와 마찬가지로 하여, 도트형성유무를 판단하고, 그 판단에 따라 생기는 계조오차(Ejn-1)를 산출한다. 즉, 주변화소의 계조오차와, 착안화소(Pjn-1)의 화상 데이터(Cdjn-1)에 의거하여 보정 데이터(Cxjn-1)를 산출하고(스텝 S318), 얻어진 보정 데이터(Cxjn-1)와 소정의 임계값(th)을 비교하며(스텝 S320), 보정 데이터 쪽이 크면 화소(Pjn-1)에 도트를 형성한다고 판단하여, 판단결과를 나타내는 변수(Cr)에 도트를 형성하는 것을 의미하는 값「1」을 기록입력한다(스텝 S322). 그렇지 않으면 화소(Pjn-l)에는 도트를 형성하지 않는다고 판단하여, 변수(Cr)에 도트를 형성하지 않는 것을 의미하는 값「0」을 기록입력한다(스텝 S324). 이어서,보정 데이터(Cxjn-1)로부터 착안화소(Pjn-1)의 결과값을 감산하여, 착안화소(Pjn-1)에서 생기는 계조오차(Ejn-1)를 산출한다(스텝 S326).
이상과 같이 하여, 래스터(j)에 있는 화소(Pjn-1)의 계조오차(Ejn-1)를 구하면, 그 계조오차(Ejn-1)를, CPU(102)의 레지스터와 RAM(l06) 위의 오차 버퍼에 기억한다(스텝 S328). 여기서, 계조오차를 레지스터와 오차 버퍼에 기억하는 것은, 다음 이유에 의한 것이다. 화소(Pjn-1)의 계조오차(Ejn-1)는, 인접하는 화소(Pjn)의 도트형성유무의 판단과, 1개 아래의 래스터(k)에 있는 화소의 도트형성유무의 판단에 사용된다. 여기서는, 래스터(i) 및 래스터(j)의 처리를 병행하여 행하는 것으로 하고 있으므로, 인접하는 화소(Pjn)의 도트형성유무의 판단은 곧 행하여지지만, 래스터(k)에 있는 화소의 판단은, 래스터(i) 및 래스터(j)의 처리가 종료한 후 행하여진다. 따라서, 화소(Pjn-1)의 계조오차(Ejn-1)는, 화소(Pjn)의 판단으로 사용하기 위해 CPU(102)의 레지스터에 기억함과 동시에, 래스터(k)의 화소에 관해서의 판단에 사용하기 위해, RAM(l06) 위의 오차 버퍼에도 기억해 둔 것이다.
이상과 같이 하여, 래스터(i)의 화소와 래스터(j)의 화소에 관해, 도트형성유무를 판단하는 처리가 종료하면, 래스터(i) 및 래스터(j)의 모든 화소의 처리를 종료했는지 여부를 판단한다(스텝 S330). 미처리의 화소가 남아 있는 경우는, 화소의 위치를 1개 오른쪽으로 이동시키고, 즉 「n + 1」의 값으로「n」을 바꿔 놓아, 스텝(S200)으로 되돌아가 계속되는 일련의 처리를 행한다. 미처리의 화소가 남아 있지 않은 경우는, 모든 래스터의 처리가 종료했는지 여부를 판단하고(스텝 S 332), 처리하고 있지 않는 래스터가 남아 있는 경우는 래스터위치를 래스터 2개분만큼 아래로 이동시키고, 즉「i+ 2」의 값으로「i」를 바꿔 놓은 후, 스텝(S200)으로 되돌아가 계속되는 일련의 처리를 행한다. 미처리의 래스터가 남아 있지 않은 경우는, 도 15에 나타낸 계조수 변환처리를 종료하여, 도 4에 나타내는 화상 데이터 변환처리로 복귀한다.
이상으로 설명한 바와 같이, 제2 실시예의 계조수 변환처리에 의하면, 래스터(i)의 화소와 래스터(j)의 화소를, 병행하여 교대로 도트형성유무를 판단하여 간다. 이렇게 하면, 래스터(j)의 화소는, 래스터(i)의 화소에 계속해서, 혹은 곧 도트형성유무가 판단되는 것으로 되기 때문에, 래스터(i)의 화소에서 발생한 계조오차를 오차 버퍼에 기억해 두지 않아도, 래스터(j) 화소의 도트형성유무를 판단할 수 있다. 래스터(i)의 화소에서 발생한 계조오차를 오차 버퍼에 기억하지 않아도 좋으면, 그 정도 만큼, 오차 버퍼로의 기록입력 빈도를 줄일 수 있기 때문에, 도트형성유무의 판단을 신속히 행하는 것이 가능해진다. 물론, 병행하여 처리하는 래스터의 개수는 2개에 한정되지 않고, 보다 많은 래스터에 관해서의 도트형성유무의 판단을 병행하여 행하도록 해도 좋다. 병행하여 처리하는 래스터의 개수가 많아질 수록, 오차 버퍼로의 기록입력 빈도가 적어져, 그 정도만큼 도트형성유무의 판단을 신속히 행하는 것이 가능해져 바람직하다.
C-2. 변형예:
상술한 제2 실시예의 계조수 변환처리는, 소위 평균 오차최소법이라고 하는 방법에 준한 방법을 이용하여 도트형성유무를 판단하고 있다. 즉, 착안화소에서 생긴 계조오차를 그 착안화소에 기억해 두고, 새로운 화소의 도트형성유무의 판단에있어서는, 주변의 화소에 기억되어 있는 계조오차를 고려하여 도트형성유무를 판단하고 있다. 또한, 상술한 제1 실시예의 계조수 변환처리에서는 소위 오차확산법이라고 하는 방법에 준한 방법을 이용하여 도트형성유무를 판단하고 있다. 즉, 착안화소에서 생긴 계조오차를 주변화소로 확산해 두고, 새로운 화소의 도트형성유무를 판단할 때는, 주변의 기 판단화소로부터 확산되어 축적되어 있는 확산오차를 고려하여 도트형성유무를 판단하고 있다. 이들에 대해, 평균 오차최소법과, 오차확산법을 병용하면서 도트형성유무를 판단하는 것도 가능하다. 이하에서는 이러한 제2실시예의 변형예에 관해 간단히 설명한다.
도 16은 제2 실시예의 변형예의 계조수 변환처리를 개념적으로 나타내는 설명도이다. 또, 설명의 번잡화를 피하기 위해, 여기서는 래스터(i)와 래스터(j)를 병행하여 처리하는 것으로 한다. 또한, 계조오차를 주변화소로 확산할 때는, 도 6 (a)에 나타내는 단순한 오차확산 매트릭스에 따라 확산하는 것으로 하고, 주변화소의 계조오차를 고려하여 도트형성유무를 판단할 때는, 도 14 (a)에 나타내는 단순한 매트릭스에 따라 각 화소의 계조오차를 고려하는 것으로 한다.
도 16 (a)는, 래스터(i)의 좌단의 화소(PiO)에 관해, 도트형성유무를 판단하고 있는 모양을 나타내는 설명도이다. 래스터(i)의 각 화소에는 래스터(h)에 있는 화소의 도트형성유무를 판단하였을 때, 각 화소에서 생긴 계조오차가 확산되어 기억되고 있다. 예컨대, 화소(Pi0)에는 래스터(h)로부터 확산되어 온 확산오차(Edi0)가, 화소(Pi1)에는 래스터(h)로부터의 확산오차(Edi1)가, 화소(Pi2)에는 확산오차 (Edi2)가 각각 기억되어 있다. 이해의 편의로부터, 사용하는 오차확산 매트릭스를도 16 (b)에 나타내 둔다. 또한, 도 16 (a) 중에서, 래스터(h)의 화소로부터 래스터(i)의 화소로 향하는 화살표는, 각 화소로부터 오차가 확산되어 있는 것을 개념적으로 나타낸 것이다.
화소(Pi0)에 관해서의 도트형성유무를 판단하면, 판단에 따라 생긴 계조오차 (Ei0)를 CPU(102)의 레지스터에 기억하고, 계속해서 오른쪽 이웃에 있는 화소 (Pi1)의 도트형성유무의 판단을 개시한다. 화소(Pi1)에 관해서의 도트형성유무의 판단은, 도 7을 이용하여 설명한 제1 실시예의 계조수 변환처리와 마찬가지로 하여 행한다. 즉, 화소(Pi1)로 미리 확산되어 축적되어 있는 확산오차(Edi1)를 판독출력하여, 이 확산오차(Edi1)와, 먼저 도트형성유무를 판단한 화소(Pi0)로부터 확산되어 오는 오차를 고려하면서, 화상 데이터에 의거하여 도트형성유무를 판단하는 것이다. 이렇게 해서 화소(Pi1)의 도트형성유무를 판단하면, 그 판단에 의해 발생한 계조오차(Ei1)를, 화소(Pi0)의 경우와 마찬가지로, CPU(102)의 레지스터에 기억한다.
이상과 같이 하여, 래스터(i)에 있는 화소(Pi0) 및 화소(Pi1)에 관해서의 도트형성유무를 판단하면, 래스터(j)의 좌단에 있는 화소(Pj0)의 판단을 행한다. 도 16 (c)는, 래스터(j)의 화소(PjO)에 관해서의 도트형성유무를 판단하고 있는 모양을 나타내는 설명도이다. 래스터(j)의 화소의 판단에는, 평균 오차최소법에 준한 방법을 이용하여 도트형성유무를 판단한다. 즉, 주변화소에서 발생한 계조오차에, 매트릭스에 의해 화소마다 정해진 소정의 무게를 고려하면서 도트형성유무를 판단한다. 이해의 편의를 위해, 사용하고 있는 매트릭스를 도 16 (d)에 나타내 둔다.
도 16 (d)의 매트릭스에 나타내져 있는 바와 같이, 화소(PjO)에 관해서의 도트형성유무의 판단에는, 화소(Pi0) 및 화소(Pi1)에서 발생한 계조오차를 하면 좋다. 상술한 바와 같이, 이들 계조오차는 이미 구해져 CPU(102)의 레지스터에 기억되어 있기 때문에, 화소(PjO)에 관해서의 도트형성유무를 신속히 판단할 수 있다. 이렇게 해서 화소(Pj0)에 관해서의 판단을 행한 결과, 계조오차(Ej0)가 발생하기 때문에, 이번은 오차확산 매트릭스에 따라, 래스터(k)에 있는 주변화소로 확산오차를 분배한다. 확산오차의 분배에는, 도 16 (b)의 오차확산 매트릭스를 사용한다. 또, 여기서는 래스터(i) 및 래스터(j)의 화소를 병행하여 처리하고 있기 때문에, 래스터(k)의 화소에 관해서의 도트형성유무의 판단은, 이들 래스터의 처리를 종료한 후가 된다. 그래서, 래스터(k)의 각 화소로 확산되는 확산오차는, RAM(l06) 위의 오차 버퍼에 축적해 둔다. 도 16 (c)에서, 화소(PjO)에서 래스터(k)에 있는 화소 (PkO) 및 화소(Pk1)로 향하여 표시되어 있는 흰색바탕 화살표는, RAM(l06) 위의 오차 버퍼에 축적되는 것을 나타내고 있다.
이상으로 설명한 바와 같이, 래스터(i)의 화소에 관해서는, 오차확산법에 준하여 도트형성유무를 판단하고, 래스터(j)의 화소에 관해서는 평균 오차최소법에 준하여 도트형성유무를 판단한다. 래스터(j)의 화소에서 발생한 계조오차는, 오차확산법에 준하여 주변화소로 확산한다. 이러한 처리를 되풀이함으로써, 래스터(i) 및 래스터(j)의 화소에 관해서의 도트형성유무를, 교대로 판단하여 갈 수 있다. 도 16 (e)는, 이러한 처리의 모양을 개념적으로 나타낸 설명도이다. 도 16 (e) 중에서는, 래스터(h)로부터 확산되어 온 확산오차가 래스터(i)의 화소에 기억되어 있는것을, 래스터(i)의 화소에 사선을 행하는 것으로 표시하고 있다. 마찬가지로, 래스터(j)로부터 확산된 확산오차가 래스터(k)의 화소에 기억되어 있는 것을, 래스터(k)의 화소에 사선을 행하는 것으로 표시하고 있다. 또한, 도 16 (e)의 각 화소에 둥근 표시와 함께 표시한 숫자는, 화소의 도트형성유무의 판단을 행하는 순번을 나타내고 있다. 도시되어 있는 바와 같이, 래스터(i)의 화소와 그 왼쪽 아래에 있는 래스터(j)의 화소를 1조로서, 처리하는 조의 위치를 1개의 화소씩 오른쪽으로 이동시키면서 도트형성유무를 판단하여 가는 것으로, 래스터(i) 및 래스터(j)의 처리를 병행하여 행하는 것이 가능해진다.
이와 같이, 래스터(i) 및 래스터(j)의 화소에 관해서의 도트형성유무를, 병행하여 교대로 판단하여 가면, 래스터(i)의 화소에서 생긴 계조오차를 이용하여, 계속되는 래스터(j)의 화소의 도트형성유무를 판단하는 것이 가능해져, 래스터(i)의 화소의 계조오차를 오차 버퍼에 기억해 둘 필요가 없게 된다. 그 결과, 오차 버퍼에 대해 판독 기록하는 빈도를 감소시킬 수 있고, 도트형성유무의 판단을 신속히 행하는 것이 가능해진다.
또, 이상의 설명에서는, 래스터(i)의 화소의 도트형성유무의 판단에 오차확산법에 준한 방법을 적용하고, 래스터(j)의 화소의 판단에는 평균 오차최소법에 준한 방법을 적용하는 것으로 하였지만, 물론 래스터(i)의 화소의 판단에 평균 오차최소법에 준한 방법을 적용하고, 래스터(j)의 화소의 판단에 오차확산법을 적용하더라도 마찬가지의 효과를 얻을 수 있다.
또한, 이상으로 설명한 제2 실시예의 변형예에서는, 래스터(i) 및 래스터(j)의 2개의 래스터의 처리를 병행하여 행하는 것으로 하였지만, 물론 보다 많은 래스터의 화소에 관해서의 도트형성유무의 판단을 병행하여 행하더라도 상관없다.
이상, 각종의 실시예에 관해 설명해 왔지만, 본 발명은 상기 모든 실시예에 한정되는 것이 아니라, 그 요지를 일탈하지 않는 범위에서 여러 가지의 태양으로 실시할 수 있다. 예컨대, 상술한 기능을 실현하는 소프트웨어 프로그램(어플리케이션 프로그램)을, 통신회선을 거쳐 컴퓨터 시스템의 메인 메모리 또는 외부기억장치에 공급하여 실행하는 것이더라도 좋다. 물론, CD-ROM이나 플로피 디스크에 기억된 소프트웨어 프로그램을 판독입력하여 실행하는 것이더라도 상관없다.
또한, 상술한 각종 실시예에서는, 계조수 변환처리를 포함하는 화상 데이터 변환처리는 컴퓨터 내에서 실행되는 것으로 하여 설명하였지만, 화상 데이터 변환처리의 일부 혹은 전부를 프린터 쪽, 혹은 전용의 화상처리장치를 이용하여 실행하는 것이더라도 상관없다.
그 위에, 화상표시장치는 반드시 인쇄매체 위에 잉크 도트를 형성하여 화상을 인쇄하는 인쇄장치에 한정되는 것이 아니라, 예컨대, 액정표시화면 위에서 휘점(輝點)을 적절한 밀도로 분산시킴으로써, 계조가 연속적으로 변화하는 화상을 표현하는 액정표시장치이더라도 상관없다.
이상 설명한 바와 같이, 본 발명의 화상처리장치, 인쇄제어장치, 화상처리방법에 의하면, 화질을 악화시키는 일없이 신속히 화상 데이터를 변환할 수 있기 때문에, 화상의 출력장치로서 썩 알맞게 적용할 수 있다. 특히, 큰 사이즈의 화상 데이터를 취급하여 고화질의 화상을 인쇄하거나, 혹은 화질을 악화시키는 일없이 신속히 화상을 인쇄하는 인쇄장치에 썩 알맞게 적용할 수 있다.

Claims (23)

  1. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 화상처리장치로서,
    서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군(群)을 생성하는 래스터군 생성수단과,
    상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 최후미 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 최후미 래스터 변환수단과,
    상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는 복수의 미판단의 화소로 확산하는 제1의 오차확산수단과,
    상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선두 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 선두 래스터 변환수단과,
    상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단의 화소로 확산하는 제2의 오차확산수단과,
    상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필(畢)의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 잔여 래스터 변환수단을
    구비하고,
    상기 제1의 오차확산수단 및 상기 제2의 오차확산수단은, 상기 도트형성의 유무를 판단한 화소와 다른 래스터군의 화소로 확산된 오차에 관해서는 제1의 오차기억부에 기억하고, 그 도트형성유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차에 관해서는 제2의 오차기억부에 기억하는 수단인 화상처리장치.
  2. 제 1항에 있어서,
    상기 제2의 오차기억부는, 상기 제1의 오차기억부 보다도, 데이터의 기억 혹은 판독출력의 적어도 한 쪽을 신속히 실행 가능한 기억부인 화상처리장치.
  3. 제 1항에 있어서,
    상기 제1의 오차기억부는, 상기 확산된 오차를, 상기 선두 래스터를 구성하는 화소와 적어도 동수의 화소수분(數分)은 동시에 기억가능한 기억부이고,
    상기 제2의 오차기억부는, 상기 확산된 오차를, 상기 선두 래스터를 구성하는 화소보다도 소수의 화소수분만큼 동시에 기억하는 기억부인
    화상처리장치.
  4. 컴퓨터를 이용하여 상기 화상 데이터의 변환을 행하는 제 3항에 있어서,
    상기 제1의 오차기억부는, 상기 컴퓨터의 연산장치가 데이터를 간접적으로 기록입력 혹은 판독출력을 행하는 기억소자이고,
    상기 제2의 오차기억부는, 상기 연산장치가 데이터를 직접적으로 기록입력 혹은 판독출력을 행하는 기억소자인
    화상처리장치.
  5. 제 1항에 있어서,
    상기 제1의 오차확산수단은, 상기 도트형성의 유무를 판단한 화소와 다른 래스터군의 화소로서, 상기 최후미 래스터에 인접하는 상기 선두 래스터의 화소로만 확산하는 수단인 화상처리장치.
  6. 제 1항에 있어서,
    상기 래스터군 생성수단은, 서로 인접한 2개의 상기 래스터를 한데 모아서 상기 래스터군을 생성하는 수단이고,
    상기 제1의 오차확산수단은, 상기 계조오차를, 상기 최후미 래스터의 화소와 그 최후미 래스터에 인접하는 상기 선두 래스터의 화소로 확산하는 수단이며,
    상기 제2의 오차확산수단은, 상기 선두 래스터의 화소에서 생긴 상기 계조오차를, 그 선두 래스터의 화소와 그 선두 래스터에 후속하는 상기 최후미 래스터의 화소로 확산하는 수단이고,
    상기 잔여 래스터 변환수단은, 상기 선두 래스터를 변환하는 처리에 병행하여, 상기 최후미 래스터를 도트 열로 변환하는 수단인
    화상처리장치.
  7. 제 1항에 있어서,
    상기 제1의 오차확산수단 혹은 상기 제2의 오차확산수단의 적어도 한 쪽은, 상기 계조오차를 그 계조오차가 생긴 화소로부터 소정값 이상 원방의 화소로 확산할 때에는, 상기 도트형성유무를 판단한 화소와 다른 래스터군의 화소로만 확산하는 수단인 화상처리장치.
  8. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 화상처리장치로서,
    서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 래스터군 생성수단과,
    상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하여 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선택한 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 선택 래스터 변환수단과,
    상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 제1의 기억부에 기억하는 제1의 계조오차 기억수단과,
    상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 선두 래스터 변환수단과,
    상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기 판단을 행한 각 화소에 대응시켜 제2의 기억부에 기억하는 제2의 계조오차 기억수단과,
    상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 잔여 래스터 변환수단을
    구비하고 있는 화상처리장치.
  9. 제 8항에 있어서,
    상기 제2의 기억부는, 상기 제1의 기억부 보다도 데이터의 기억 혹은 판독출력의 적어도 한 쪽을 신속히 실행 가능한 기억부인 화상처리장치.
  10. 제 8항에 있어서,
    상기 제1의 기억부는, 상기 최후미 래스터를 구성하는 각 화소에서 생긴 계조오차를, 그 최후미 래스터를 구성하는 화소수와 동수의 화소수분은, 동시에 기억가능한 기억부이고,
    상기 제2의 기억부는, 상기 선두 래스터를 구성하는 각 화소에서 생긴 계조오차를, 그 선두 래스터를 구성하는 화소수 보다도 소수의 화소수분만큼, 동시에 기억하는 기억부인
    화상처리장치.
  11. 컴퓨터를 이용하여 상기 화상 데이터의 변환을 행하는 제 8항에 있어서,
    상기 제1의 기억부는, 상기 컴퓨터의 연산장치가 데이터를 간접적으로 기록입력 혹은 판독출력을 행하는 기억소자이고,
    상기 제2의 기억부는, 상기 연산장치가 데이터를 직접적으로 기록입력 혹은 판독출력을 행하는 기억소자인
    화상처리장치.
  12. 제 8항에 있어서,
    상기 제1의 계조오차 기억수단은, 상기 래스터군 중 상기 최후미 래스터를 구성하는 각 화소에서 생긴 계조오차만을, 상기 제1의 기억부에 기억하는 수단인 화상처리장치.
  13. 제 8항에 있어서,
    상기 래스터군 생성수단은, 서로 인접한 2개의 상기 래스터를 한데 모아서 상기 래스터군을 생성하는 수단이고,
    상기 제1의 계조오차 기억수단은, 상기 최후미 래스터에서 생긴 계조오차만을, 상기 제1의 기억부에 기억하는 수단이며,
    상기 잔여 래스터 변환수단은, 상기 선두 래스터를 변환하는 처리에 병행하여, 상기 최후미 래스터를 도트 열로 변환하는 수단인
    화상처리장치.
  14. 제 1항 또는 제 8항에 있어서,
    상기 잔여 래스터 변환수단은, 상기 잔여 래스터를 도트 열로 변환하는데 있어서, 그 잔여 래스터와 같은 래스터군에 속하고, 또한 도트형성유무 판단 필의 화소로부터 확산되어 온 상기 계조오차를 고려하면서 도트형성유무를 판단함으로써, 그 잔여 래스터를 도트 열로 변환하는 수단인 화상처리장치.
  15. 제 1항 또는 제 8항에 있어서,
    상기 잔여 래스터 변환수단은, 상기 잔여 래스터를 도트 열로 변환하는데 있어서, 그 잔여 래스터와 같은 래스터군에 속하고, 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 도트형성유무를 판단함으로써, 그 잔여 래스터를 도트 열로 변환하는 수단인 화상처리장치.
  16. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성유무에 의한 표현형식의 인쇄 데이터로 변환하고, 인쇄매체 위에 잉크 도트를 형성하여 화상을 인쇄하는 인쇄부에 대해 그 인쇄 데이터를 출력함으로써, 그 인쇄부를 제어하는 인쇄제어장치로서,
    서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 래스터군 생성수단과,
    상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 최후미 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 최후미 래스터 변환수단과,
    상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는 복수의 미판단의 화소로 확산하는 제1의 오차확산수단과,
    상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선두 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 선두 래스터 변환수단과,
    상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단의 화소로 확산하는 제2의 오차확산수단과,
    상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 잔여 래스터 변환수단과,
    상기 변환된 선두 래스터의 도트 열과 상기 잔여 래스터의 도트 열을, 상기 인쇄 데이터로 하여 상기 인쇄부로 출력하는 인쇄 데이터 출력수단을
    구비하고,
    상기 제1의 오차확산수단 및 상기 제2의 오차확산수단은, 상기 도트형성의 유무를 판단한 화소와 다른 래스터군의 화소로 확산된 오차에 관해서는 제1의 오차기억부에 기억하고, 그 도트형성유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차에 관해서는 제2의 오차기억부에 기억하는 수단인 인쇄제어장치.
  17. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성유무에 의한 표현형식의 인쇄 데이터로 변환하고, 인쇄매체 위에 잉크 도트를 형성하여 화상을 인쇄하는 인쇄부에 대해 그 인쇄 데이터를 출력함으로써, 그 인쇄부를 제어하는 인쇄제어장치로서,
    서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 래스터군 생성수단과,
    상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하고 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선택한 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 선택 래스터 변환수단과,
    상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 제1의 기억부에 기억하는 제1의 계조오차 기억수단과,
    상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 선두 래스터 변환수단과,
    상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기 판단을 행한 각 화소에 대응시켜 제2의 기억부에 기억하는 제2의 계조오차 기억수단과,
    상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 잔여 래스터 변환수단과,
    상기 변환된 선두 래스터의 도트 열과 상기 잔여 래스터의 도트 열을, 상기 인쇄 데이터로 하여 상기 인쇄부로 출력하는 인쇄 데이터 출력수단을
    구비하는 인쇄제어장치.
  18. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 화상처리방법으로서,
    (A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 공정과,
    (B) 상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 최후미 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 공정과,
    (C) 상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는복수의 미판단의 화소로 확산하는 공정과,
    (D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선두 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 공정과,
    (E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단의 화소로 확산하는 공정과,
    (F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 공정을
    구비하고,
    상기 (C) 공정 및 상기 (E) 공정은, 상기 도트형성의 유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차와, 다른 래스터군의 화소로 확산된 오차를 구별하여 기억하는 공정인 화상처리방법.
  19. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 화상처리방법으로서,
    (A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 공정과,
    (B) 상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하여 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선택한 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 공정과,
    (C) 상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 기억하는 공정과,
    (D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 공정과,
    (E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기 (C) 공정에서 기억된 계조오차와 구별하면서, 상기 판단을 행한 각 화소에 대응시켜 기억하는 공정과,
    (F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 공정을
    구비하고 있는 화상처리방법.
  20. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 방법을 실현하는 프로그램을, 컴퓨터로 판독 가능하게 기록한 기록매체로서,
    (A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 기능과,
    (B) 상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 최후미 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 기능과,
    (C) 상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는 복수의 미판단의 화소로 확산하는 기능과,
    (D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선두 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 기능과,
    (E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단의 화소로 확산하는 기능과,
    (F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 기능을
    실현하는 프로그램을 기록함과 동시에,
    상기 (C) 기능 및 상기 (E) 기능으로서, 상기 도트형성의 유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차와, 다른 래스터군의 화소로 확산된 오차를 구별하여 기억하는 기능을 실현하는 프로그램을 기록한 기록매체.
  21. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 방법을 실현하는 프로그램을, 컴퓨터로 판독 가능하게 기록한 기록매체로서,
    (A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 기능과,
    (B) 상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하여 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선택한 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 기능과,
    (C) 상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 기억하는 기능과,
    (D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 기능과,
    (E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기 (C) 공정에서 기억된 상기 계조오차와 구별하면서, 상기 판단을 행한 각 화소에 대응시켜 기억하는 기능과,
    (F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 기능을
    실현하는 프로그램을 기록한 기록매체.
  22. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 방법을 컴퓨터를 이용하여 실현하기 위한 프로그램으로서,
    (A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 기능과,
    (B) 상기 래스터군 중 최후미에 있는 최후미 래스터를 선택하고, 그 최후미 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 최후미 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 기능과,
    (C) 상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 최후미 래스터를 구성하는 각 화소에 관해 산출하고, 그 각 화소의 주변에 있는 복수의 미판단의 화소로 확산하는 기능과,
    (D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 최후미 래스터로부터 그 선두 래스터의 각 화소로 확산된 상기 계조오차를 고려하면서, 그 선두 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선두 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 기능과,
    (E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 그 각 화소의 주변에 있는 미판단의 화소로 확산하는 기능과,
    (F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소로부터 확산된 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 상기 도트 열로 변환하는 처리에 병행하여 그 잔여 래스터를 도트 열로 변환하는 기능을
    실현함과 동시에,
    상기 (C) 기능 및 상기 (E) 기능은, 상기 도트형성의 유무를 판단한 화소와 같은 래스터군의 화소로 확산된 오차와, 다른 래스터군의 화소로 확산된 오차를 구별하여 기억하는 기능을 실현하는 프로그램.
  23. 화소마다의 계조값을 나타내는 화상 데이터를 수취하고, 그 화소의 열인 래스터를 따라, 그 래스터를 구성하는 각 화소에서의 도트형성의 유무를 판단하는 것으로, 그 화상 데이터를 도트형성의 유무에 의한 표현형식으로 변환하는 방법을 컴퓨터를 이용하여 실현하기 위한 프로그램으로서,
    (A) 서로 인접한 복수개의 상기 래스터를 한데 모아서 래스터군을 생성하는 기능과,
    (B) 상기 래스터군의 최후미에 있는 최후미 래스터를 적어도 포함하여 그 래스터군 중에서 래스터를 선택하고, 그 선택한 래스터를 구성하는 각 화소에 관해 도트형성의 유무를 판단함으로써, 그 선택한 래스터를 도트형성의 유무를 나타내는 도트 열로 변환하는 기능과,
    (C) 상기 도트형성의 유무를 판단함으로써 각 화소에서 생긴 계조오차를, 상기 선택한 래스터를 구성하는 각 화소에 관해 산출하고, 그 판단을 행한 각 화소에 대응시켜 기억하는 기능과,
    (D) 상기 최후미 래스터에 인접하는 래스터군 중 선두위치에 있는 선두 래스터를 선택하고, 그 선두 래스터를 구성하는 각 화소의 주변에 있어, 도트형성유무 판단 필의 주변화소에 기억되어 있는 상기 계조오차를 고려하면서, 그 각 화소의 도트형성유무를 판단함으로써, 그 선두 래스터를 도트 열로 변환하는 기능과,
    (E) 상기 선두 래스터를 구성하는 각 화소에서 생긴 상기 계조오차를, 상기 (C) 공정에서 기억된 상기 계조오차와 구별하면서, 상기 판단을 행한 각 화소에 대응시켜 기억하는 기능과,
    (F) 상기 래스터군으로부터 상기 선두 래스터를 제외한 잔여 래스터에 관해서는, 그 잔여 래스터와 같은 래스터군에 속하고 또한 도트형성유무 판단 필의 화소에서 생긴 상기 계조오차를 고려하면서 그 잔여 래스터의 각 화소의 도트형성유무를 판단함으로써, 상기 선두 래스터를 상기 도트 열로 변환하는 처리와 병행하여 그 잔여 래스터를 도트 열로 변환하는 기능을
    실현하는 프로그램.
KR10-2002-7006214A 2000-10-06 2001-10-05 화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체 KR100485635B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000307926 2000-10-06
JPJP-P-2000-00307926 2000-10-06
JP2001307214A JP3661624B2 (ja) 2000-10-06 2001-10-03 画像処理装置
JPJP-P-2001-00307214 2001-10-03

Publications (2)

Publication Number Publication Date
KR20020059738A true KR20020059738A (ko) 2002-07-13
KR100485635B1 KR100485635B1 (ko) 2005-04-27

Family

ID=26601693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7006214A KR100485635B1 (ko) 2000-10-06 2001-10-05 화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체

Country Status (6)

Country Link
US (1) US7196821B2 (ko)
EP (1) EP1333659A4 (ko)
JP (1) JP3661624B2 (ko)
KR (1) KR100485635B1 (ko)
CN (1) CN1216484C (ko)
WO (1) WO2002032110A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4456823B2 (ja) * 2003-03-18 2010-04-28 セイコーエプソン株式会社 ドット形成有無の判断結果をグループ分けして記憶しながら画像を印刷する印刷装置、およびそのための印刷制御装置
JP2005074878A (ja) * 2003-09-02 2005-03-24 Konica Minolta Medical & Graphic Inc 画像記録装置
JP4039395B2 (ja) * 2003-09-18 2008-01-30 セイコーエプソン株式会社 画像処理方法および画像処理装置、画像処理プログラム、並びにプリンタ、印刷指示端末、画像処理システム。
TWI244322B (en) * 2004-03-24 2005-11-21 Sunplus Technology Co Ltd Printer system with halftone monochromatic process and method thereof
EP1583031A1 (en) 2004-03-30 2005-10-05 Dialog Semiconductor GmbH Zoom algorithm
EP1585310A1 (en) * 2004-03-30 2005-10-12 Dialog Semiconductor GmbH Image resolution conversion
JP4105704B2 (ja) * 2004-05-18 2008-06-25 シャープ株式会社 画像処理装置、画像形成装置、画像処理方法、プログラム、および記録媒体
CN100364780C (zh) * 2005-01-07 2008-01-30 北京北大方正电子有限公司 一种随机使用多种图元对象进行图像光栅化的方法
US7564590B2 (en) * 2005-06-30 2009-07-21 Brother Kogyo Kabushiki Kaisha Image processing apparatus and method
US7826096B2 (en) * 2005-09-16 2010-11-02 Fujifilm Corporation Image processing method and image recording apparatus
JP4801428B2 (ja) * 2005-11-30 2011-10-26 株式会社リコー 画像形成装置及び画像形成方法
CN1964423A (zh) 2006-11-07 2007-05-16 北京大学 采用双份误差行存储器产生图像网点的方法和装置
JP4989378B2 (ja) * 2007-09-03 2012-08-01 キヤノン株式会社 画像処理方法及び記録装置
JP4577366B2 (ja) * 2008-01-28 2010-11-10 セイコーエプソン株式会社 複数のラスタを並行して処理する画像処理装置
KR101328793B1 (ko) * 2009-11-23 2013-11-13 엘지디스플레이 주식회사 오차 확산 방법과 이를 이용한 액정표시장치
JP5528209B2 (ja) 2010-05-20 2014-06-25 キヤノン株式会社 画像処理装置および画像処理方法
WO2012124660A1 (ja) * 2011-03-17 2012-09-20 シャープ株式会社 表示装置、駆動装置、及び、駆動方法
JP5714156B2 (ja) * 2014-04-17 2015-05-07 キヤノン株式会社 画像処理装置および画像処理方法
JP6536287B2 (ja) * 2015-08-25 2019-07-03 富士ゼロックス株式会社 印刷制御装置及び印刷制御プログラム
CN105787898B (zh) * 2016-03-02 2019-04-16 南京理工大学 基于fpga的平台直方图均衡化实现方法及其装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6163893A (ja) * 1984-09-06 1986-04-02 株式会社日立製作所 デイスプレイ装置における擬似中間調画像の表示方法
JPS63310270A (ja) * 1987-06-11 1988-12-19 Canon Inc 画像処理装置
JPH0691606B2 (ja) * 1987-06-11 1994-11-14 キヤノン株式会社 画像処理方法
JPS63309457A (ja) * 1987-06-11 1988-12-16 Canon Inc 画像処理方法
JP2547771B2 (ja) * 1987-06-11 1996-10-23 キヤノン株式会社 画像処理方法
JP2848566B2 (ja) * 1989-09-25 1999-01-20 キヤノン株式会社 画像処理装置
US5337160A (en) * 1992-07-01 1994-08-09 Hewlett-Packard Error diffusion processor and method for converting a grey scale pixel image to a binary value pixel image
US5271070A (en) * 1992-11-06 1993-12-14 Xerox Corporation Multi-dimensional error diffusion technique
US5553165A (en) * 1993-01-11 1996-09-03 Canon, Inc. Parallel error diffusion method and apparatus
US5519791A (en) * 1993-01-11 1996-05-21 Canon, Inc. Block parallel error diffusion method and apparatus
JPH06266324A (ja) 1993-03-10 1994-09-22 Canon Inc 画像処理方法及び装置
NL9300684A (nl) 1993-04-22 1994-11-16 Oce Nederland Bv Werkwijze voor het halftonen van gedigitaliseerde grijswaardebeelden en beeldbewerkingsinrichting geschikt voor het uitvoeren van een dergelijke werkwijze.
JP3106033B2 (ja) 1993-05-25 2000-11-06 キヤノン株式会社 表示制御装置
JPH1093819A (ja) 1996-09-12 1998-04-10 Canon Inc 画像処理装置
US5974228A (en) * 1997-01-28 1999-10-26 Hewlett-Packard Company Image rendition by plural-row error diffusion, for faster operation and smaller integrated circuits
KR100264804B1 (ko) 1997-03-14 2000-09-01 윤종용 셔틀방식 스캔 이미지의 오차확산 이치화방법
US5892851A (en) 1997-05-23 1999-04-06 Hewlett-Packard Company Parallelized error diffusion
JPH1117945A (ja) * 1997-06-20 1999-01-22 Sharp Corp 画像処理装置
US5931960A (en) * 1997-10-31 1999-08-03 Xerox Corporation Method and apparatus for handling error diffusion values
US6307978B1 (en) * 1998-06-03 2001-10-23 Wellesley College System and method for parallel error diffusion dithering
JP3963598B2 (ja) 1998-10-14 2007-08-22 セイコーエプソン株式会社 画像処理装置、処理方法および記録媒体
JP3829508B2 (ja) 1998-11-27 2006-10-04 セイコーエプソン株式会社 画像処理装置、画像処理方法および印刷装置
JP3995868B2 (ja) * 2000-06-12 2007-10-24 シャープ株式会社 誤差拡散演算装置

Also Published As

Publication number Publication date
EP1333659A1 (en) 2003-08-06
JP3661624B2 (ja) 2005-06-15
EP1333659A4 (en) 2004-04-14
US20020181003A1 (en) 2002-12-05
CN1216484C (zh) 2005-08-24
KR100485635B1 (ko) 2005-04-27
JP2002199220A (ja) 2002-07-12
US7196821B2 (en) 2007-03-27
WO2002032110A1 (fr) 2002-04-18
CN1393093A (zh) 2003-01-22

Similar Documents

Publication Publication Date Title
KR100485635B1 (ko) 화상처리장치, 인쇄제어장치, 화상처리방법 및 기록매체
JP3912055B2 (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
KR100611236B1 (ko) 화상처리장치, 화상처리방법, 인쇄제어장치 및 기록매체
US7770993B2 (en) Printing device and print image processing device
CN100379250C (zh) 进行彩色图像数据转换的图像处理装置和图像处理方法
JP3666427B2 (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
JP4691880B2 (ja) 同時にドットが形成される複数本の画素列のデータを解像度変換しながら画像を出力する画像出力装置
US7495798B2 (en) Ejection control of quality-enhancing ink
JP4561049B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を印刷する印刷システム
JP4228814B2 (ja) 複数のラスタを並行して処理しながら画像を印刷する印刷方法
JP2006247918A (ja) 印刷装置、印刷プログラム、印刷方法および画像処理装置、画像処理プログラム、画像処理方法、並びに前記プログラムを記録した記録媒体
US7375855B2 (en) Image processing apparatus for converting image data by unit of multiple pixels
JP4300742B2 (ja) 画像データの階調数を変換する画像処理装置
JP4577366B2 (ja) 複数のラスタを並行して処理する画像処理装置
JP4456823B2 (ja) ドット形成有無の判断結果をグループ分けして記憶しながら画像を印刷する印刷装置、およびそのための印刷制御装置
JP4529379B2 (ja) 印刷装置、印刷方法、および、印刷用プログラム
JP3870604B2 (ja) データ変換装置
JP4453782B2 (ja) 複数のラスタを並行して処理する画像処理装置
JP2004080480A (ja) 複数のラスタを並行して処理する画像処理装置
JP2005102068A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を表示する画像表示システム
JP2006175853A (ja) 印刷装置、印刷プログラム、印刷方法および画像処理装置、画像処理プログラム、画像処理方法、並びに前記プログラムを記録した記録媒体
JP2005064555A (ja) 複数画素単位で画像データを変換する画像処理装置
JP2005064554A (ja) 複数画素単位で画像データを変換する画像処理装置
JP2005125548A (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: 20120322

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee