KR100967720B1 - 화상 처리 장치, 인쇄 장치 및 화상 처리 방법 - Google Patents

화상 처리 장치, 인쇄 장치 및 화상 처리 방법 Download PDF

Info

Publication number
KR100967720B1
KR100967720B1 KR20070126464A KR20070126464A KR100967720B1 KR 100967720 B1 KR100967720 B1 KR 100967720B1 KR 20070126464 A KR20070126464 A KR 20070126464A KR 20070126464 A KR20070126464 A KR 20070126464A KR 100967720 B1 KR100967720 B1 KR 100967720B1
Authority
KR
South Korea
Prior art keywords
error data
error
data
pixel
image processing
Prior art date
Application number
KR20070126464A
Other languages
English (en)
Other versions
KR20080052486A (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 KR20080052486A publication Critical patent/KR20080052486A/ko
Application granted granted Critical
Publication of KR100967720B1 publication Critical patent/KR100967720B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/41Bandwidth or redundancy reduction
    • 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
    • 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

Abstract

본 발명에 따르면, 오차 확산 방법을 기초로 하여 고속으로 화상 데이터에 대한 양자화 처리를 수행할 수 있고 동시에 인쇄된 화상의 품질 면에서의 저하를 피하는 화상 처리 장치, 인쇄 장치 및 화상 처리 방법이 제공된다. 오차 데이터에 의해 표현되는 오차 수치가 특정 수치일 때, 오차 데이터는 최초 오차 데이터보다 작은 데이터 볼륨을 갖는 압축된 오차 데이터로 변환된다.
화상 처리 장치, 인쇄 장치, 화상 처리 방법, 저장 매체, 제1 변환 유닛, 제1 복구 유닛

Description

화상 처리 장치, 인쇄 장치 및 화상 처리 방법{IMAGE PROCESSING APPARATUS, PRINTING APPARATUS AND IMAGE PROCESSING METHOD}
본 발명은 오차 확산 방법(error diffusion method)을 사용하여 화상 데이터 양자화(image data quantization)를 고속으로 수행할 수 있는 화상 처리 장치, 인쇄 장치 및 화상 처리 방법에 관한 것이다.
집적 회로 조립 기술 및 정보 통신 기술의 급속한 진보 및 발전이 진행하면서, 개인용 컴퓨터 및 디지털 카메라 등의 정보 장치가 사무실 및 가정에서 널리 사용하게 되었고, 이들의 성능은 상당히 개선되었다. 이들 정보 장치가 보급되면서, 출력 장치로서의 인쇄 장치에 대한 요구가 꾸준히 증가하고 있다. 특히, 복수개의 컬러 잉크의 액적을 사용하여 화상을 인쇄하는 잉크 제트 인쇄 장치가 현재에 넓은 범위의 산업 분야에서 그리고 또한 가정에서 사용되고 있다. 최근 수년에 걸쳐 잉크 제트 인쇄 기술 면에서 상당한 진보를 보였으며, 이것은 컬러 사진 등의 고품위 컬러 화상을 출력할 수 있는 인쇄 장치 그리고 A0 또는 B0 정도로 큰 폭을 갖는 대형 인쇄 매체 상에 인쇄할 수 있는 인쇄 장치의 발전을 가져왔다.
잉크 제트 인쇄 장치는 인쇄 헤드 내에 형성되는 다수개의 미세한 개구(노즐 을 구성하는 방출 개구)로부터 상이한 컬러 잉크의 미세한 액적을 방출함으로써 화상을 형성한다. 소위 직렬 방식의 잉크 제트 인쇄 장치(serial scan type ink jet printing apparatus)에서, 인쇄 매체 상에서의 화상 형성은 인쇄 매체를 향한 위치에서 주 주사 방향으로 인쇄 헤드를 왕복 이동시키는 단계 그리고 주 주사 방향을 횡단하는 방향으로 인쇄 매체를 이동시키는 단계를 수반한다. 복수개의 노즐이 노즐 어레이를 형성하기 위해 주 주사 방향으로 횡단하는 방향으로 배열된다. 인쇄 장치 내에 장착되는 잉크 탱크가 노즐로부터의 방출을 위해 인쇄 헤드에 공급되는 다양한 컬러 잉크를 수용한다.
잉크 제트 인쇄 장치에 의해 취급되는 각각의 잉크 색상에 대한 화상 데이터는 잉크 액적이 각각의 화소에 대해 방출되어야 하는지를 나타내는 2진 데이터이다. 반면에, 인쇄 장치가 인쇄를 수행할 것을 지시하는 컴퓨터 등의 호스트 장치에 의해 취급되는 각각의 잉크 색상에 대한 화상 데이터는 더 큰 계조 화상 데이터이다. 예컨대, 더 큰 계조 화상 데이터는 256 또는 1024 계조 수치를 표현하는 8- 또는 10-비트 데이터이다. 이와 같이, 인쇄를 수행하는 잉크 제트 인쇄 장치에 대해, 더 큰 계조 화상 데이터는 2진 화상 데이터로 변환될 것이 필요하다. 바꿔 말하면, 양자화 처리가 행해져야 한다.
주지된 양자화 처리는 오차 확산 방법 및 디더 방법(dither method)을 포함한다. 오차 확산 방법은 각각의 화소에 대해 화소 수치 및 문턱치를 비교하고, 미처리된 주변 화소로 양자화 처리에 의해 유발되는 양자화 오차를 분배한다. 오차 확산 방법은 또한 양자화 처리 중에 전체 화상의 밀도를 보관하므로, 양호한 유사-계조 표현(pseudo-gradation representation)가 가능하다.
직렬 주사 방식의 잉크 제트 인쇄 장치에서, 오차 확산-기반 양자화 처리가 화상 데이터에 대해 수행될 때, 인쇄 헤드가 주 주사 방향으로 이동하면서 인쇄 헤드에 의해 인쇄될 하나의 라인의 화소에는 이 라인의 하나의 단부에서의 화소로 시작하여 다른 단부에서의 화소를 향해 진행하는 양자화 처리가 적용된다. 하나의 라인의 화소가 양자화된 후, 부 주사 방향으로 제1 라인에 인접한 다음 라인의 화소에도 유사하게 양자화 처리가 적용된다. 이 과정은 전체 화상의 화상 데이터가 양자화될 때까지 반복된다. 양자화 처리 중에 일어나는 양자화 오차는 양자화되는 화소와 동일한 라인 상의 다른 화소로 또는 부 주사 방향으로 관심 라인에 인접한 라인 상의 화소로 분배될 수 있다. 예컨대, 도12에 도시된 바와 같이, 현재에 양자화되는 화소(P)의 양자화 오차가 분산되어야 하는 이들 화소는 주목 화소 화소(P)와 동일한 라인(L1) 상의 미처리된 화소(A, B, H, I)의 모두 또는 일부로부터 그리고 인접 라인(L2) 상의 화소(C, D, E, F, G)로부터 선택될 수 있다. 그 경우에, 동일 라인(L1) 상의 화소로 분배될 오차 데이터는 이들 화소가 처리될 때까지 오차 확산 회로 내의 버퍼 내에 임시로 저장된다. 인접 라인(L2) 상의 화소로 분배될 오차 데이터는 모두 오차 메모리 내에 저장되고, 인접 라인(L2)에 양자화 처리가 적용될 때, 인접 라인(L2) 상의 화소의 처리를 위해 오차 메모리로부터 판독된다.
인쇄 장치에 의해 취급된 화상 데이터는 인쇄된 화상의 향상된 해상도 그리고 인쇄 용지의 크기 면에서의 증가 때문에 과거 수년에 걸쳐 볼륨 면에서 증가하 였다. 나아가, 프린터 엔진의 향상된 기능 그리고 인쇄 장치 내의 프린터 헤드의 증가된 크기가 더 빠른 인쇄 속도의 구현에 기여하였다. 이들 모두는 더 빠른 속도로 큰 볼륨의 인쇄 데이터를 처리할 수 있는 능력을 요구하고, 특히 오차 확산-기반 양자화 처리가 수행되는 속도를 증가시킬 것을 필요하게 한다.
일본 특허 공개 제2001-285633호는 오차 메모리 내에 오차 데이터를 기록할 때에 시그모이드 함수(sigmoid function)에 근사한 함수에 따라 오차 데이터 내의 비트의 개수를 감소시킴으로써 메모리 접근의 횟수를 감소시키는 화상 처리 장치를 개시하고 있다.
그러나, 위의 종래의 화상 처리 장치와 관련하여, 최초 오차 데이터는 감소된 개수의 비트를 갖는 변형된 오차 데이터로부터 복구될 수 없으며, 그에 의해 저하된 화상 품질의 문제를 일으킨다.
본 발명은 인쇄된 화상의 화상 품질의 저하를 피하면서 고속으로 화상 데이터에 대한 오차 확산-기반 양자화 처리를 수행할 수 있는 화상 처리 장치, 인쇄 장치 및 화상 처리 방법을 제공한다.
본 발명의 제1 태양에서, 각각의 화소의 계조 수치를 표현하는 화상 데이터에 대한 양자화 처리를 수행할 때, 주목 화소 주위의 주변 화소로 주목 화소의 오차 데이터를 분배하는 오차 확산 방법을 사용하는 화상 처리 장치에 있어서, 오차 데이터에 의해 표현되는 오차 수치가 특정 수치일 때, 최초 오차 데이터보다 작은 데이터 볼륨을 갖는 압축된 오차 데이터로 오차 데이터를 변환하는 제1 변환 유닛과; 압축된 오차 데이터로부터 특정 오차 수치를 표현한 최초 오차 데이터를 복구하는 제1 복구 유닛을 포함하는 화상 처리 장치가 제공된다.
본 발명의 제2 태양에서, 각각의 화소의 계조 수치를 표현하는 화상 데이터에 대한 양자화 처리를 수행할 때, 주목 화소 주위의 주변 화소로 주목 화소의 오차 데이터를 분배하는 오차 확산 방법을 사용하고 오차 확산 방법을 기초로 하여 양자화된 화상 데이터에 따라 화상을 인쇄하는 인쇄 장치에 있어서, 오차 데이터에 의해 표현되는 오차 수치가 특정 수치일 때, 최초 오차 데이터보다 작은 데이터 볼륨을 갖는 압축된 오차 데이터로 오차 데이터를 변환하는 제1 변환 유닛과; 압축된 오차 데이터로부터 특정 오차 수치를 표현한 최초 오차 데이터를 복구하는 제1 복구 유닛을 포함하는 인쇄 장치가 제공된다.
본 발명의 제3 태양에서, 각각의 화소의 그레이스케일 레벨을 표현하는 화상 데이터에 대한 양자화 처리를 수행할 때, 주목 화소 주위의 주변 화소로 주목 화소의 오차 데이터를 분배하는 오차 확산 방법을 사용하는 화상 처리 방법에 있어서, 오차 데이터에 의해 표현되는 오차 수치가 특정 수치일 때, 최초 오차 데이터보다 작은 데이터 볼륨을 갖는 압축된 오차 데이터로 오차 데이터를 변환하는 제1 변환 단계와; 압축된 오차 데이터로부터 특정 오차 수치를 표현한 최초 오차 데이터를 복구하는 제1 복구 단계를 포함하는 방법이 제공된다.
본 발명의 제4 태양에서, 컴퓨터에 의해 판독 가능하고 프로그램을 내장하는 저장 매체에 있어서, 프로그램은 컴퓨터가 위에서 언급된 화상 처리 방법을 실행하게 하는 프로그램 코드를 갖는 저장 매체가 제공된다.
본 발명은 오차 데이터에 의해 표현되는 오차 수치가 특정 수치일 때에 최초 오차 데이터보다 데이터 볼륨 면에서 작은 압축된 오차 데이터로 오차 데이터를 변환한다. 특정 수치와 관련하여 오차 데이터를 압축하는 것은 오차 데이터가 완전히 복구될 수 있도록 오차 데이터가 압축되게 하며, 그에 의해 인쇄된 화상의 품질의 저하를 피하고, 고속으로 화상 데이터에 대해 오차 확산-기반 양자화 처리를 수행하는 것을 가능케 한다. 더 구체적으로, 양자화 처리의 속도는 오차 데이터가 오차 메모리 내에 저장되는 횟수 그리고 오차 메모리가 오차 데이터를 판독하기 위해 접근되는 횟수를 감소시킴으로써 향상될 수 있다.
양자화 처리의 속도는 그 출현 빈도가 인쇄된 화상의 종류에 따라 증가하는 오차 수치(예컨대, 0)로 특정 수치를 설정함으로써 그리고 높은 출현 빈도를 갖는 오차 수치를 표현한 오차 데이터를 압축함으로써 추가로 향상될 수 있다. 특정 수치는 최고 또는 비교적 높은 출현 빈도를 갖는 오차 수치로 설정되는 것이 바람직하다. 압축된 오차 데이터는 바람직하게는 예컨대 1-비트 식별자이다.
본 발명의 추가 특징이 (첨부된 도면을 참조하여) 예시 실시예의 다음의 설명으로부터 명백해질 것이다.
이제, 본 발명에 따른 인쇄 장치의 양호한 실시예가 첨부 도면을 참조함으로 써 설명될 것이다.
도11은 본 발명을 적용할 수 있는 잉크 제트 인쇄 장치(100) 내의 프린터 엔진(118)을 도시하는 개략 사시도이다.
이 예의 인쇄 장치(100)는 직렬 주사 방식의 인쇄 장치이고, X에 의해 나타낸 주 주사 방향으로 이동 가능하도록 안내 샤프트(51, 52) 상에서 안내되는 캐리지(53)를 갖는다. 캐리지(53)는 캐리지 모터 그리고 벨트 등의 구동력 전달 기구에 의해 주 주사 방향으로 왕복 이동된다. 캐리지(53)는 인쇄 헤드 그리고 인쇄 헤드에 잉크를 공급하는 잉크 탱크를 장착한다. 이 예에서, 인쇄 헤드 및 잉크 탱크는 잉크 제트 카트리지(54)를 구성한다. 인쇄 헤드는 노즐 어레이를 형성하기 위해 주 주사 방향을 횡단하는 방향으로 배열되는 잉크 방출 개구를 갖는다. 방출 개구로부터 잉크를 방출하는 수단으로서, 전열 변환기(가열기) 또는 압전 소자가 사용될 수 있다. 가열기가 사용될 때, 가열기로부터의 열이 잉크 내에 기포를 생성시키고, 기포가 성장하면서 기포에 의해 발생되는 압력이 방출 개구로부터 잉크를 방출하는 데 사용된다.
인쇄 매체로서의 용지(P)가 이 장치의 전방 단부에 제공되는 삽입 개구(55)로부터 삽입된 후에 그 운반 방향으로 역전되고, 그 다음에 급송 롤러(56)에 의해 화살표의 부 주사 방향(Y)으로 급송된다. 인쇄 장치(100)는 인쇄 헤드가 주 주사 방향으로 이동되면서 플래튼(platen)(57) 상의 용지(P)의 인쇄 영역을 향해 잉크를 방출하는 단계를 수반하는 인쇄 동작 그리고 부 주사 방향으로 잉크 헤드의 인쇄 폭에 대응하는 거리만큼 용지(P)를 급송하는 단계를 수반하는 운반 동작을 반복적 으로 교대로 수행한다. 결과적으로, 화상이 용지(P) 상에 점진적으로 형성된다.
도11에서의 캐리지(53)의 스트로크의 좌측 단부에서, 캐리지(53) 상에 장착된 인쇄 헤드의, 방출 개구가 형성되는, 방출 개구 형성 표면을 향하는 복구 유닛(복구 동작 수단)(58)이 제공된다. 복구 유닛(58)은 인쇄 헤드의 방출 개구를 덮을 수 있는 캡 그리고 캡 내로 음압을 도입할 수 있는 흡인 펌프를 포함한다. 방출 개구로부터 잉크를 흡인하기 위해 방출 개구를 덮는 캡 내로 음압을 도입함으로써, 복구 동작(흡인-기반 복구 동작)이 인쇄 헤드의 양호한 잉크 방출 상태를 유지하도록 수행된다. 인쇄 헤드가 방출 개구로부터 캡의 내부측을 향해 화상 인쇄에 기여하지 않는 잉크를 방출하게 함으로써 또 다른 복구 동작(방출-기반 복구 동작)을 수행하는 것이 또한 가능하며, 그에 의해 인쇄 헤드의 양호한 잉크 방출 상태를 유지한다.
도1은 인쇄 장치(100)를 위한 제어 시스템의 구성을 도시하는 블록도이다. 이 예의 인쇄 장치(100)는 화상 형성 제어기(101) 및 프린터 엔진(118)을 포함한다.
화상 형성 제어기(101)는 인쇄 명령 및 인쇄될 화상 데이터를 개인용 컴퓨터 등의 호스트 장치(300)로부터 수용하고, 프린터 엔진(118)에 의해 인쇄될 수 있는 2진 화상 데이터로 수용된 화상 데이터를 변환한다. 2진 화상 데이터는 화상 형성 제어기(101)로부터 출력된다. 화상 형성 제어기(101)는 CPU(102), 화상 처리 섹션(103), 프린터 엔진 인터페이스 섹션(104), 통신 인터페이스 섹션(105), 연장된 버스 회로 섹션(106), RAM 제어기(107) 및 ROM 제어기(108)를 포함한다. 나아가, 이들 기능 섹션(또는 블록)은 각각 버스 라인(110a 내지 110g)을 통해 시스템 버스 브리지(109)에 연결된다. 이 예에서, 이들 블록은 화상 형성 제어기 주문형 반도체(ASIC: Application Specific Integrated Circuit)(111)로서 구성된다.
화상 형성 제어기(101)는 기능 확장 섹션을 수용하는 확장 슬롯(112), RAM 섹션(115) 및 ROM 섹션(117) 그리고 조작 섹션, 디스플레이 섹션 및 전원 섹션을 또한 포함하며, 마지막 3개는 도시되어 있지 않다.
CPU(102)는 전체의 화상 형성 제어기(101)를 제어한다. CPU(102)는 ROM 섹션(117) 또는 RAM 섹션(115) 내에 저장되는 프로그램을 판독하고, 프로그램의 지시에 따라 제어를 실행한다. 이와 같이, CPU(102)는 화상 처리 섹션(103)이 이진 화상 데이터로서의 화상 형성 데이터로 호스트 장치로부터 수용된 화상 데이터를 변환하도록 제어한다. CPU(102)는 또한 통신 인터페이스 섹션(105) 및 프린터 엔진 인터페이스 섹션(104)을 제어한다. 통신 인터페이스 섹션(105)은 호스트 장치와 통신한다. 프린터 엔진 인터페이스 섹션(104)은 통신 프로토콜을 해석하고, 프린터 엔진(118)으로 화상 처리 섹션(103)에 의해 발생된 2진 화상 데이터를 전달한다.
화상 처리 섹션(103)은 프린터 엔진(118)에 의해 인쇄될 수 있는 2진 화상 데이터로 호스트 장치로부터 수용한 화상 데이터를 변환하는 기능을 갖는다. 화상 처리 섹션(103)의 상세한 구성이 나중에 설명될 것이다.
프린터 엔진 인터페이스 섹션(104)은 화상 형성 제어기(101)와 프린터 엔진(118) 사이에서 데이터를 전달한다. 프린터 엔진 인터페이스 섹션(104)은 동적 메모리 액세스 제어기(DMAC: Dynamic Memory Access Controller)를 갖는다. 프린터 엔진 인터페이스 섹션(104)은 화상 처리 섹션(103)에 의해 발생된 그리고 RAM 섹션(115) 내에 저장된 2진 화상 데이터를 RAM 제어기(107)를 통해 연속적으로 판독하고 프린터 엔진(118)으로 2진 화상 데이터를 전달하는 기능을 갖는다.
통신 인터페이스 섹션(105)은 개인용 컴퓨터 및 워크 스테이션 등의 호스트 장치와 인쇄 장치(100) 사이에서 데이터를 전달하는 기능을 갖는다. 통신 인터페이스 섹션(105)은 또한 RAM 제어기(107)를 통해 RAM 섹션(115) 내에 호스트 장치(300)로부터 수용된 화상 데이터를 저장하는 기능을 갖는다. 통신 인터페이스 섹션(105)의 통신 시스템은 유니버설 시리얼 버스(USB: Universal Serial Bus) 및 IEEE 1394 등의 빠른 직렬 통신 또는 IEEE 1284 등의 병렬 통신일 수 있다. 이것은 또한 100BASE-TX 등의 네트워크 통신일 수 있거나, 이들의 조합을 사용할 수 있다. 나아가, 통신 시스템은 유선 시스템에 제한되지 않고, 무선 시스템을 채용할 수 있다.
확장된 버스 회로 섹션(106)은 확장 슬롯(112) 내에 설치된 기능 확장 유닛을 제어하는 기능 즉 확장 버스(113)를 통해 기능 확장 유닛으로의 데이터의 전달 그리고 기능 확장 유닛으로부터 출력되는 데이터의 수용을 제어하는 기능을 갖는다. 확장 슬롯(112)에는 통신 유닛 및 하드 디스크 드라이브 유닛이 장착될 수 있다. 통신 유닛은 USB, IEEE 1394, IEEE 1284 또는 네트워크 통신을 통해 호스트 장치(300)와 통신하는 기능을 제공한다. 하드 디스크 드라이브 유닛은 대용량 저장 기능을 제공한다.
화상 처리 섹션(103), 통신 인터페이스 섹션(105) 그리고 확장된 버스 회로 섹션(106)은 프린터 엔진 인터페이스 섹션(104)과 같이 DMAC를 갖고, 이와 같이 메모리 액세스 요청을 내리는 기능을 갖는다.
RAM 제어기(107)는 RAM 섹션(115)을 제어하는 기능을 갖는다. RAM 섹션(115)은 RAM 버스(114)를 통해 화상 형성 제어기 ASIC(111)에 연결된다. RAM 제어기(107)는 CPU(102)와 DMAC 및 RAM 섹션(115)을 갖는 블록 사이에서 기록 및 판독되는 데이터를 중계한다. RAM 제어기(107)는 RAM 섹션(115) 내로 데이터를 기록하는 것 또는 RAM 섹션(115)으로부터 데이터를 판독하는 것을 구현하기 위해 CPU(102) 및 이들 블록으로부터의 판독 또는 기록 요청에 따라 필요한 제어 신호를 발생시킨다.
ROM 섹션(117)은 ROM 버스(116)를 통해 화상 형성 제어기 ASIC(111)에 연결되고, ROM 제어기(108)는 ROM 섹션(117)을 제어하는 기능을 갖는다. ROM 제어기(108)는 CPU(102)로부터의 판독 요청에 따라 필요한 제어 신호를 발생시킨다. ROM 제어기(108)는 ROM 섹션(117) 내에 미리 저장된 제어 절차(프로그램) 및 데이터를 판독하고, 시스템 버스 브리지(109)를 통해 CPU(102)로 이들을 보낸다. ROM 섹션(117)은 플래시 메모리 등의 전기적으로 프로그래밍 가능한 장치로 구성될 수 있다. 그 경우에, ROM 제어기(108)는 필요한 제어 신호를 발생시킴으로써 ROM 섹션(117)의 내용을 재기록하는 기능을 갖는다.
시스템 버스 브리지(109)는 화상 형성 제어기 ASIC(111)을 구성하는 이들 블록을 상호 연결하는 기능을 갖는다. 시스템 버스 브리지(109)는 버스 액세스 요청 이 동시에 복수개의 블록에 의해 내려질 때에 버스 액세스 요청을 중재하는 기능을 갖는다. CPU(102) 그리고 DMAC를 구비한 블록이 거의 동시에 RAM 제어기(107)를 통한 RAM 섹션(115)으로의 접근을 위한 요청을 내리는 경우가 있다. 그 경우에, 시스템 버스 브리지(109)는 미리 특정되는 우선권에 따라 중재를 적절하게 수행한다.
RAM 섹션(115)은 동기식 DRAM으로 구성된다. RAM 섹션(115)은 CPU(102)에 의해 실행될 제어 절차(프로그램)를 저장하는 기능, 화상 처리 섹션(103)에 의해 발생되는 2진 화상 데이터를 임시로 저장하는 기능 그리고 CPU(102)를 위한 작업 메모리의 기능을 제공하는 메모리 블록이다. RAM 섹션(115)은 통신 인터페이스 섹션(105)이 호스트 장치(300)로부터 수용하는 화상 데이터를 임시로 버퍼링하는 기능을 또한 갖는다. 나아가, RAM 섹션(115)은 화상 형성 제어기 ASIC(111)과 기능 확장 유닛 사이의 확장 버스(113)를 통해 전달되는 데이터를 임시로 저장하는 기능을 갖는다.
ROM 섹션(117)은 플래시 메모리로 구성되고, CPU(102)에 의해 실행될 제어 절차(프로그램) 그리고 인쇄 동작을 제어하는 데 필요한 파라미터를 저장한다. 플래시 메모리는 결정된 시퀀스에 따라 제어 절차 및 파라미터를 재기록할 수 있는 전기적으로 프로그래밍 가능한 비휘발성 소자이다.
각각의 회로 블록은 동작 모드 및 기타를 설정하는 레지스터이다. CPU(102)는 도시되지 않은 레지스터 액세스 버스를 통해 각각의 회로 블록의 동작 모드를 설정할 수 있다.
프린터 엔진(118)은 화상 형성 제어기(101)로부터 공급되는 2진 화상 데이터에 따라 인쇄 매체(P) 상에 화상을 인쇄하는 인쇄 기구이다. 이 예의 프린터 엔진(118)은 6개의 컬러 잉크 즉 시안색(C), 마젠타색(M), 황색(Y), 흑색(K), 옅은 시안색(LC) 및 옅은 마젠타색(LM)으로 화상을 인쇄하기 위해 잉크 제트 방식의 인쇄 헤드(잉크 제트 인쇄 헤드)를 사용한다. 더 구체적으로, 프린터 엔진(118)은 주 주사 방향으로 캐리지(53)와 함께 인쇄 헤드를 동시에 이동시키면서(도11) 인쇄 헤드의 방출 개구로부터 이들 잉크를 방출하는 동작 그리고 부 주사 방향으로 인쇄 매체(P)를 급송하는 동작을 반복적으로 교대로 수행하며, 그에 의해 인쇄 매체(P) 상에 화상을 점진적으로 형성한다. 각각의 잉크 색상에 대해, 복수개의 방출 개구가 주 주사 방향을 횡단하는 방향으로(이 예에서, 주 주사 방향에 직각인 방향으로) 배열된다.
도2는 화상 처리 섹션(103)의 블록 구성 그리고 화상 처리 섹션(103)에 의해 처리되는 화상 데이터의 포맷을 도시하고 있다.
화상 처리 섹션(103)은 색상 변환 섹션(201), 양자화 섹션(202), 오차 데이터 압축 섹션(203), 오차 데이터 압축 해제 섹션(204) 및 레지스터 섹션(205)을 포함한다. 화상 처리 섹션(103)은 화상 데이터 판독 DMAC(206), 화상 데이터 기록 DMAC(207), 오차 데이터 판독 DMAC(208) 및 오차 데이터 기록 DMAC(209)를 또한 포함한다.
색상 변환 섹션(201)은 프린터 엔진(118)에 의해 사용되는 잉크 색상에 의해 표현되는 색상 공간으로 호스트 장치(300)로부터 수용되는 입력 화상 데이터의 색상 공간을 변환한다. 이 예에서, 개별 화소가 적색(R), 녹색(G) 및 청색(B)의 각각의 색상에 대해 호스트 장치(300)에서 8-비트 화상 데이터에 의해 각각 표현된다. 색상 변환 섹션(201)은 각각의 잉크 색상(C, M, Y, K, LC, LM)에 대해 10-비트 데이터로 개별 화소를 표현하는 색상 공간으로 이 8-비트 화상 데이터의 색상 공간을 변환한다. 색상 변환 섹션(201)은 또한 프린터 엔진(118)의 출력 특성에 따라 감마 보정을 수행한다.
양자화 섹션(202)은 각각의 잉크 색상에 대해 개별 화소에 대한 오차 확산-기반 2진화를 수행하는 기능을 갖는다. 양자화 섹션(202)은 그 주변 화소로부터 주목 화소로 분산되는 양자화 오차를 합산하고 그 다음에 그 화소에 대해 문턱치와 이 합계를 비교함으로써 2진화 즉 양자화를 수행한다. 반면에, 주목 화소 내에서 생성되는 양자화 오차가 미처리된 주변 화소로 분배된다. 이 과정은 화상 데이터의 전체 밀도 수치가 보존되게 한다.
양자화 섹션(202)에 의해 미처리된 주변 화소로 분산될 양자화 오차는 "확산 오차" 또는 "오차 데이터"로서 호칭된다. 오차 데이터 압축 섹션(203)은 인접 라인의 화소로 분산될 오차 데이터의 볼륨을 압축하는 기능을 갖는다. 압축된 오차 데이터는 오차 메모리 내에 압축된 오차 데이터를 저장하는 오차 데이터 기록 DMAC(기록 수단)(209)(메모리 수단)로 보내진다. 오차 데이터를 압축하는 방법이 나중에 설명될 것이다.
오차 데이터 압축 해제 섹션(204)은 오차 데이터 압축 섹션(203)에 의해 압축된 오차 데이터를 그 최초 크기로 압축 해제하는 기능을 갖는다. 오차 데이터 압축 해제 섹션(204)은 오차 데이터 판독 DMAC(208)를 통해 압축된 오차 데이터를 수용하고, 이것을 압축 해제하고, 양자화 섹션(202)으로 압축 해제된 오차 데이터를 보낸다.
이 예에서, 인접 라인(L2)으로 분배될 오차 데이터는 도3a에 도시된 바와 같이 잉크 색상들 중 임의의 잉크 색상에 대해 양 또는 음 부호를 나타내는 1개의 비트를 포함하는 11개의 비트에 의해 표현된다. 음수가 2의 여수(complement)에 의해 표현된다. 양의 오차 데이터가 도3b에 도시된 바와 같이 최상위 비트(MSB: most significant bit)에서 "0"을 갖는다. 음의 오차 데이터가 도3c에 도시된 바와 같이 MSB에서 "1"을 갖는다.
레지스터 섹션(205)은 화상 처리의 시작을 지시하는 화상 처리 시작 레지스터 그리고 실행될 화상 처리의 내용 및 파라미터를 특정하는 명령 파라미터를 포함한다. 레지스터 섹션(205)은 압축 및 압축 해제 동작을 위해 파라미터를 설정하는 레지스터를 또한 갖는다.
화상 데이터 판독 DMAC(206)는 RAM 섹션(115) 내에 저장되는 입력 화상 데이터를 판독하는 DMAC이다. 화상 데이터 기록 DMAC(207)는 입력 화상 데이터의 양자화에 의해 발생되는 2진 화상 데이터를 RAM 섹션(115) 내에 저장하는 DMAC이다.
오차 데이터 판독 DMAC(208)는 인접 라인으로부터 분산될 오차 데이터를 오차 메모리로부터 판독하는 DMAC이다. 오차 메모리는 압축 오차 데이터를 포함한 오차 데이터를 저장할 수 있다. 오차 데이터 기록 DMAC(209)는 인접 라인으로 분산될 오차 데이터를 오차 메모리 내에 저장하는 DMAC이다. 이 예에서의 오차 메모 리는 RAM 섹션(115)의 일부로서 구성된다.
다음에, 양자화 섹션(202)의 동작이 설명될 것이다.
양자화 섹션(202)은 주목 화소를 포함하는 현재 라인에 바로 선행하는 하나의 라인의 화소(선행 라인)로부터 분산될 오차 데이터를 판독한다. 그 다음에, 오차 데이터에 의해 표현되는 오차 수치가 색상 변환 섹션(201)으로부터 출력된 주목 화소의 화상 데이터에 의해 표현되는 계조 수치에 가산된다. 선행 라인으로부터 분산될 오차 데이터는 오차 데이터 압축 섹션(203)에 의해 압축되고, RAM 섹션(115) 내에 저장된다. RAM 섹션(115)으로부터 판독된 오차 데이터는 양자화 섹션(202)으로 보내지기 전에 그 최초 형태를 복구하기 위해 오차 데이터 압축 해제 섹션(204)에 의해 압축 해제된다. 주목 화소를 포함하는 동일 라인(간단하게, "동일 라인") 내의 처리된 화소로부터 분산될 오차 데이터가 또한 주목 화소의 계조 수치에 가산된다. 동일 라인의 화소로부터 분배될 오차 데이터는 양자화 섹션(202) 내의 도시되지 않은 버퍼 내에 임시로 저장된다. 동일 라인 및 선행 라인 내의 화소로부터의 오차 데이터가 주목 화소로 분산된 후, 주목 화소의 화상 데이터는 각각의 색상에 대해 문턱치와 비교되고, 그 다음에 양자화된다. 양자화된 2진 인쇄 데이터는 화상 데이터 기록 DMAC(207)에 의해 RAM 섹션(115) 내에 저장된다. 양자화는 각각의 라인의 화소에 대해 수행된다.
양자화 처리에서 일어나는 주목 화소("P")의 양자화 오차는 도4에 도시된 확산 계수에 따라 미처리된 주변 화소로 분산된다. 동일 라인(L1) 상의 화소("A") 및 화소("B")로 분산될 오차 데이터는 양자화 섹션(202) 내의 도시되지 않은 버퍼 내에 저장된다. 다음 라인(L2) 상의 화소("C", "D", "E")로 분산될 오차 데이터는 동일 화소로 분산될 모든 오차 데이터가 합산되는 양자화 섹션(202)의 버퍼 내에 임시로 저장된다. 합산된 오차 데이터는 오차 데이터 기록 DMAC(209)를 통해 RAM 섹션(115) 내에 저장되기 전에 오차 데이터 압축 섹션(203)에 의해 압축된다.
도5a에서의 인접 라인(L2) 상의 화소("X")로 분산될 오차 데이터는 3개의 단편의 오차 데이터 즉 제1, 제2 및 제3 오차 데이터의 합계이다. 제1 오차 데이터는 도4에서의 화소("E")의 확산 계수(1/16)에 따라 도5a에서의 주목 화소("P")로부터 분산될 오차 데이터이다. 제2 오차 데이터는 도4에서의 화소("D")의 확산 계수(1/4)에 따라 도5b에서의 주목 화소("S")로부터 분산될 오차 데이터이다. 제3 오차 데이터는 도4에서의 화소("C")의 확산 계수(1/8)에 따라 도5c에서의 주목 화소("T")로부터 분산될 오차 데이터이다.
화상 처리의 시작이 CPU(102)가 레지스터 섹션(205) 내로 기록함으로써 지시될 때, 화상 처리 섹션(103)은 라인의 하나의 단부 내지 다른 단부의 범위 내에 있는 이들 화소에 대해 RAM 섹션(115)으로부터 입력 화상 데이터를 연속적으로 판독하고, 화상 데이터에 대해 색상 변환 처리 및 양자화 처리를 수행한다. 화상 처리 섹션(103)은 이 일련의 처리("라인 처리")가 완료될 때에 라인 처리의 완료를 CPU(102)에 통지하기 위해 CPU(102)에 인터럽트를 내린다. CPU(102)로부터 또 다른 지시를 수용할 때, 화상 처리 섹션(103)은 부 주사 방향으로 이전 라인에 인접한 다음 라인의 화소에 대해 유사한 라인 처리를 실행하며, 그에 의해 전체 화상 데이터에 대해 2진화를 구현한다. 2진화된 화상 데이터(출력 화상 데이터)는 RAM 섹션(115) 내에 연속적으로 저장되며, RAM 섹션(115)으로부터 2진화된 화상 데이터(출력 화상 데이터)가 화상 데이터에 따라 인쇄 매체(P) 상에 화상을 인쇄하는 프린터 엔진(118)으로 프린터 엔진 인터페이스 섹션(104)에 의해 전달된다.
다음에, 이 예에서의 인쇄 장치의 동작이 설명될 것이다.
도6은 입력 화상 데이터를 양자화할 때에 화상 처리 섹션(103)에 의해 수행되는 일련의 동작을 도시하는 흐름도이다. 화상 처리 섹션(103)은 양자화 처리의 실행이 지시될 때에 양자화 처리를 수행하기 위해 도6의 흐름도에 따라 화상 처리를 수행한다.
즉, 화상 처리 섹션(103)은 단계 S601에서 화상 데이터 판독 DMAC(206)를 통해 RAM 섹션(115)으로부터 주목 화소에 대한 화상 데이터를 판독하고, 그 다음에 단계 S602로 이동한다. 다음에, 화상 처리 섹션(103)은 단계 S602에서 단계 S603으로 진행하기 전에 잉크 색상에 의해 표현되는 화상 데이터로 관심 데이터에 대한 화상 데이터를 변환한다. 이러한 변환 처리는 색상 변환 섹션(201)에 의해 수행된다. 그 다음에, 화상 처리 섹션(103)은 단계 S603에서 각각의 잉크 색상(C, M, Y, K, LC, LM)에 대해 오차 확산 방법에 의해 주목 화소에 대한 화상 데이터를 양자화한다. 이 양자화 처리가 나중에 설명될 것이다.
다음에, 화상 처리 섹션(103)은 단계 S604에서 하나의 라인의 화소에 대한 처리가 종료되는지를 점검하고, 미처리된 화소가 남아 있는 것으로 밝혀지면, 단계 S601로 복귀한다. 하나의 라인 내의 모든 화소가 처리된 것으로 밝혀지면, 이 동작은 종료된다.
이 예에서, 도6의 흐름도에 도시된 처리는 논리 합성을 수행하여 화상 처리 동작을 실시할 수 있는 논리 회로를 발생시키기 위해 하드웨어 기술 언어(HDL: hardware description language)로 기술되어 있다. 화상 처리 섹션(103)은 그 다음에 논리 회로로 구성된다.
다음에, 도7을 참조하여, 도6의 단계 S603에서의 양자화 절차가 설명될 것이다.
우선, 화상 처리 섹션(103)은 도7의 단계 S701에서 RAM 섹션(115) 내에 압축 및 저장된 선행 라인 상의 화소에 대한 확산 오차를 오차 데이터 판독 DMAC(208)을 통해 판독한다. 선행 라인 상의 화소에 대한 확산 데이터는 현재 라인에 대한 화상 데이터로 처리되는 현재 라인에 바로 선행하는 라인으로부터 분산될 오차 데이터이다. 이처럼 판독된 오차 데이터는 오차 데이터 압축 해제 섹션(204)에 의해 압축 해제되고, 현재 라인에 대한 화상 데이터에 가산된다.
화상 처리 섹션(103)은 다음 단계 S702에서 양자화 섹션(202) 내에 저장된 확산 오차, 즉 동일 현재 라인 상의 화소로부터 분산될 오차 데이터를 현재 라인에 대한 화상 데이터에 가산하고, 그 다음에 단계 S703으로 이동한다. 단계 S703에서, 화상 처리 섹션(103)은 2진 화상 데이터를 발생시키기 위해 도시되지 않은 레지스터 내에 저장되는 문턱치와 주변 화소로부터 분산될 오차 데이터가 가산되는 화상 데이터를 비교한다. 단계 S704에서, 화상 처리 섹션(103)은 화상 데이터 기록 DMAC(207)를 통해 RAM 섹션(115) 내로 발생된 2진 화상 데이터를 기록한다. 단계 S705에서, 화상 처리 섹션(103)은 도4에 도시된 확산 계수에 따라 양자화되어야 하는 주변 화소로 양자화 오차를 분산한다. 그 다음에, 이 처리는 종료된다. 단계 S705에 의해 분산될 오차 데이터 중에서, 동일 라인 상의 화소로 분산되는 오차 데이터는 양자화 섹션(202) 내의 버퍼 내에 저장된다. 다음 라인 상의 화소로 분산될 오차 데이터는 이전에 설명된 바와 같이 버퍼 내에 임시로 저장되고, 주목 화소로 분산될 모든 오차 데이터가 합산된 후, 오차 데이터 압축 섹션(203)에 의해 압축된다. 압축된 오차 데이터는 오차 데이터 기록 DMAC(209)를 통해 RAM 섹션(115) 내에 저장된다.
다음에, 도8의 흐름도를 참조하여, 오차 데이터 압축 섹션(203)에 대한 동작 절차가 설명될 것이다.
오차 데이터 압축 섹션(203)은 단계 S801에서 양자화 섹션(202)으로부터 수용된 오차 데이터가 "0"인지를 점검한다. 오차 데이터가 "0"인 것으로 밝혀지면, 처리는 단계 S802로 이동한다. 그렇지 않으면, 처리는 단계 S803으로 이동한다. 오차 데이터가 "0"인 것으로서 결정될 때, 오차 데이터 압축 섹션(203)은 단계 S802에서 1-비트 식별자 "0"으로 오차 데이터를 교체하며, 그에 의해 예를 참조함으로써 나중에 상술되는 바와 같은 1-비트 데이터로 오차 데이터를 압축한다. 그 후, 처리는 단계 S804로 진행한다. 반면에, 오차 데이터가 "0"이 아닌 것으로 밝혀지면, 오차 데이터 압축 섹션(203)은 단계 S803에서 오차 데이터의 부호 비트(1개의 비트) 및 수치부(10개의 비트)의 조합에 식별자 "1"을 부여한다. 결과적으로, 오차 데이터는 예를 참조함으로써 나중에 설명되는 바와 같이 12-비트 데이터가 된다. 그 후, 처리는 단계 S804로 이동한다.
단계 S804에서, 오차 데이터 압축 섹션(203)은 관련된 화소에 대한 오차 데이터 처리가 모든 색상(C, M, Y, K, LC, LM)에 대해 완료되는지를 점검한다. 미처리된 화소가 남은 것으로 밝혀지면, 오차 데이터 압축 섹션(203)은 단계 S801로 복귀한다. 화소에 대한 오차 데이터 처리가 모든 색상에 대해 완료된 것으로 밝혀지면, 처리는 단계 S805로 이동한다. 단계 S805에서, 오차 데이터 압축 섹션(203)은 모든 색상에 대해 처리된 화소의 오차 데이터를 조합하고, 이 절차를 종료하기 전에 오차 데이터 기록 DMAC(209)를 통해 RAM 섹션(115) 내로 일련의 오차 데이터를 저장한다.
위에서 설명된 바와 같이, 오차 데이터는 도8의 흐름도에서 일련의 단계를 따름으로써 압축될 수 있다.
예컨대, 도9a에 도시된 오차 데이터 "00000000000"이 도9b에 도시된 1-비트 식별자 "0"으로 변환된다. 즉, 그 정보 볼륨은 압축된다. 오차 데이터가 "00000000000"이 아니면, 1-비트 식별자 "1"이 도9c에 도시된 바와 같은 12-비트 데이터로 최초 11-비트 오차 데이터를 변환하기 위해 최초 11-비트 오차 데이터에 부여된다. 이와 같이, 오차 데이터 내에 수용된 "00000000000" 데이터의 단편의 개수가 증가하면서, 오차 데이터의 정보 볼륨은 감소하며, 그에 의해 RAM 섹션(115)으로의 접근 횟수를 감소시키는 것을 가능케 한다.
다음에, 도10의 흐름도를 참조하여, 압축된 확산 오차 데이터를 압축 해제하기 위해 오차 데이터 압축 해제 섹션(204)에 대한 동작 절차가 설명될 것이다.
오차 데이터 압축 해제 섹션(204)은 단계 S1001에서 오차 데이터 판독 DMAC(208)를 통해 RAM 섹션으로부터 판독된 압축된 오차 데이터의 헤드부에서의 1-비트 식별자가 "0"인지를 점검한다. 그렇다면, 처리는 단계 S1002로 이동한다. 식별자가 "1"이면, 처리는 단계 S1003으로 이동한다.
단계 S1002에서, 오차 데이터 압축 해제 섹션(204)은 단계 S1004로 진행하기 전에 11-비트 오차 데이터 "00000000000"으로 1-비트 식별자 "0"을 변환한다. 이 단계 S1002에서, 도9b의 압축된 오차 데이터는 도9a에 도시된 바와 같이 최초 11-비트 오차 데이터를 복구하도록 압축 해제된다.
식별자가 "1"이면, 오차 데이터 압축 해제 섹션(204)은 단계 S1003에서 단계 S1004로 진행하기 전에 11-비트 오차 데이터를 복구하기 위해 오차 데이터의 헤드부에서의 1-비트 식별자를 제거시킨다. 이 단계 S1003에서, 식별자는 도9c에 도시된 포맷의 데이터로부터 제거되며, 복구되는 부호 비트 및 10-비트 수치부로 구성되는 11-비트 오차 데이터를 가져온다.
단계 S1004에서, 오차 데이터 압축 해제 섹션(204)은 관련된 화소에 대한 압축 해제 처리가 모든 색상(C, M, Y, K, LC, LM)에 대해 완료되는지를 점검한다. 미처리된 화소가 남은 것으로 밝혀지면, 처리는 단계 S1001로 복귀한다. 화소에 대한 압축 해제 처리가 모든 색상에 대해 완료된 것으로 밝혀지면, 처리는 단계 S1005로 이동한다. 단계 S1005에서, 오차 데이터 압축 해제 섹션(204)은 이 절차를 종료하기 전에 양자화 섹션(202)으로 모든 색상에 대한 처리된 화소의 압축 해제된 오차 데이터를 전달한다.
이 예에서, 도7, 도8 및 도10의 흐름도에 도시된 바와 같은 처리는 논리 합 성을 수행하여 오차 데이터의 압축 및 압축 해제가 가능한 논리 회로를 발생시키며 그에 의해 화상 처리 섹션을 구축하기 위해 하드웨어 기술 언어로 기술되어 있다. 그 경우에, 각각의 색상에 대해 화소에 대한 처리의 동시 실행을 가능케 하는 동기식 회로가 생성될 수 있다. 상태 머신(state machine)을 사용하여 도6 내지 도8 및 도10의 흐름도를 설명하는 것 그리고 회로를 발생시켜 각각의 색상에 대해 차례로 화소에 대한 처리를 실행하는 것이 또한 가능하다.
(다른 실시예)
선행 실시예에서, 양자화 처리에 의해 화상 데이터를 2진화하는 동작이 설명되었다. 그러나, 본 발명은 이 방법에 제한되지 않고, 당연히 3개 이상의 계조 수치를 사용하여 화상 데이터를 양자화하는 다가 오차 확산 방법(multivalued error diffusion method)을 채용하는 인쇄 장치를 구성할 수 있다. 그 경우에, 2진 화상 데이터가 다가 오차 확산-기반 양자화 및 밀도 패턴 방법을 조합함으로써 발생될 수 있다.
본 발명은 오차 데이터의 오차 수치가 특정 수치일 때에 최초 오차 데이터보다 작은 데이터 볼륨을 갖는 압축된 오차 데이터로 오차 데이터를 변환하고 그 다음에 그 특정 오차 수치를 표현한 최초 오차 데이터를 압축된 오차 데이터로부터 복구할 수 있기만 하면 된다. 오차 데이터의 오차 수치가 특정 수치가 아닐 때, 오차 데이터에는 단순히 식별자가 부여되고, 그 다음에 특정 수치와 동일하지 않은 오차 수치를 표현한 최초 오차 데이터는 오차 데이터로부터 식별자를 제거함으로써 복구될 수 있다. 위의 실시예에서, CPU 및 회로 블록이 1개의 패키지로 밀봉되고 시스템(LSI)으로서 구축되는 구성이 설명되었다. 그러나, 본 발명은 이 구성에 제한되지 않고, 회로 블록의 일부 또는 모두가 별개의 IC로 구성될 수 있다.
위의 실시예에서, 하드웨어 기술 언어로 기술되는 내용이 그 다음에 양자화 처리를 실행하는 데 사용되는 논리 회로를 발생시키도록 논리적으로 합성되는 경우에 대해 설명되었다. 본 발명은 이 구성에 제한되지 않는다. 예컨대, 이 실시예의 위에서-설명된 기능을 실시하는 소프트웨어 프로그램을 수용하는 저장 매체가 소정 장치 내로 적재될 수 있으며, 그 결과 이 장치 또는 컴퓨터 CPU는 저장 매체 내에 저장된 프로그램을 판독할 수 있고, 그 다음에 양자화 처리를 수행하기 위해 프로그램을 실행할 수 있다. 이 경우에, 저장 매체로부터 판독되는 프로그램 자체는 이 실시예의 기능을 실시한다. 프로그램을 공급하는 데 사용될 수 있는 가능한 저장 매체들 중에는 예컨대 가요성 디스크, 하드 디스크, 광 디스크, 자기 광 디스크, CD-ROM, CD-R, 자기 테이프, 비휘발성 메모리 카드 및 ROM이 있다. 위의 실시예의 기능은 또한 컴퓨터 상에서 동작하는 운영 체제가 컴퓨터에 의해 판독된 프로그램의 지시에 따라 실제 처리의 일부 또는 모두를 실행하게 함으로써 구현될 수 있다.
본 발명은 또한 각각의 화소의 계조 수치를 표현하는 화상 데이터를 양자화할 때에 주목 화소 주위의 주변 화소로 주목 화소의 오차 데이터를 분산하는 오차 확산 방법을 사용하는 화상 처리 장치 및 화상 처리 방법에 적용 가능하다. 화상 처리 장치는 선행 실시예에서와 같이 인쇄 장치(100) 내로 일체로 구축될 수 있거나, 호스트 장치(300) 내에 구성될 수 있다.
본 발명은 화상 데이터에 의해 표현되는 각각의 화소의 계조 수치의 개수를 감소시키도록 오차 확산 방법에 의해 화상 데이터를 양자화할 수 있기만 하면 된다. 이와 같이, 양자화 처리 전에 화상 데이터에 대한 3개 이상의 계조 수치가 있기만 하면 된다. 양자화 처리 후, 화상 데이터에 대해 요구되는 계조 수치의 개수는 양자화 처리 전의 개수보다 작고, 2개 이상이기만 하면 된다.
본 발명은 양자화된 화상 데이터에 따라 화상을 인쇄하는 방법을 결코 제한하지 않는다. 이와 같이, 인쇄 방법은 위에서-언급된 잉크 제트 인쇄 방법 이외의 방법일 수 있다. 본 발명은 또한 인쇄 방법을 실시하는 인쇄 장치의 구성을 결코 제한하지 않는다.
나아가, 본 발명은 오차 데이터의 오차 수치가 특정 수치일 때에 최초 오차 데이터보다 작은 데이터 볼륨을 갖는 압축된 오차 데이터로 오차 데이터를 변환할 수 있기만 하면 된다. 특정 수치는 선행 실시예에서와 같이 0으로만 제한되지 않고, 원하는 수치로 설정될 수 있다. 예컨대, 특정 수치는 그 출현 빈도가 인쇄된 화상의 종류에 따라 증가하는 오차 수치로 설정될 수 있다. 이것은 높은 출현 빈도를 갖는 오차 수치를 표현하는 오차 데이터가 압축되게 하며, 추가로 양자화 처리의 속도를 증가시킨다. 특정 수치는 최고 또는 비교적 높은 출현 빈도를 갖는 오차 수치로 설정되는 것이 바람직하다. 압축된 오차 데이터는 최초 오차 데이터보다 데이터 볼륨 면에서 작기만 하면 되고, 선행 실시예에서 사용된 1-비트 식별자에만 제한되지 않는다.
본 발명은 예시 실시예를 참조하여 설명되었지만, 본 발명은 개시된 예시 실 시예에 제한되지 않는다는 것이 이해되어야 한다. 다음의 청구의 범위의 범주는 모든 이러한 변형 그리고 등가 구조 및 기능을 포함하도록 가장 넓은 해석이 허용되어야 한다.
도1은 본 발명의 제1 실시예에 따른 인쇄 장치의 구성을 도시하는 블록도.
도2는 도1에서의 화상 처리 섹션의 블록도.
도3a, 도3b 및 도3c는 도1의 인쇄 장치에 의해 취급되는 확산된 오차 데이터의 포맷을 각각 도시하는 설명도.
도4는 도1의 인쇄 장치에서의 양자화 처리를 위한 확산 계수를 도시하는 설명도.
도5a, 도5b 및 도5c는 도1의 인쇄 장치에서 이웃 라인으로 분산되는 오차를 합산하는 방법을 도시하는 설명도.
도6은 도1의 인쇄 장치에 의해 수행되는 양자화를 포함하는 화상 처리를 도시하는 흐름도.
도7은 도6의 양자화 처리를 도시하는 흐름도.
도8은 도6의 양자화 처리에서 오차 데이터를 압축하는 과정을 도시하는 흐름도.
도9a, 도9b 및 도9c는 도8의 오차 데이터 압축 처리가 적용되기 전에 양의 부호를 각각 갖는 오차 데이터를 도시하는 설명도.
도10은 도1의 인쇄 장치에 의해 수행되는 오차 데이터를 복구하는 과정을 도시하는 흐름도.
도11은 본 발명을 적용할 수 있는 인쇄 장치의 개략 사시도.
도12는 오차 데이터가 오차 확산-기반 양자화 처리에 의해 분산되는 방식을 도시하는 설명도.
<도면의 주요 부분에 대한 부호의 설명>
102: CPU
103: 화상 처리 섹션
104: 프린터 엔진 인터페이스 섹션
105: 통신 인터페이스 섹션
106: 연장된 버스 회로 섹션
107: RAM 제어기
108: ROM 제어기
109: 시스템 버스 브리지
115: RAM 섹션
117: ROM 섹션
118: 프린터 엔진
300: 호스트 장치

Claims (13)

  1. 각각의 화소의 계조를 표현하는 화상 데이터에 대한 양자화 처리를 수행하기 위한 방식으로서, 주목 화소를 양자화하여 생성한 오차 데이터를 당해 주목 화소의 주변의 주변 화소로 분배하는 오차 확산 방식을 사용하는 화상 처리 장치이며,
    미리 결정된 복수 비트로 표현되는 오차 데이터의 수치가 특정 수치일 때, 당해 오차 데이터를 상기 미리 결정된 복수 비트보다 작은 수의 비트로 표현되는 제1 오차 데이터로 변환하는 제1 변환 유닛과,
    상기 제1 오차 데이터로부터, 당해 제1 오차 데이터로의 변환 전의 상기 오차 데이터로 복구하는 제1 복구 유닛을 포함하는 화상 처리 장치.
  2. 제1항에 있어서, 상기 특정 수치는 0인, 화상 처리 장치.
  3. 제1항에 있어서, 상기 제1 오차 데이터는 제1 수치의 식별자를 포함하는, 화상 처리 장치.
  4. 제3항에 있어서, 상기 오차 데이터의 수치가 상기 특정 수치가 아닐 때, 당해 오차 데이터로부터, 당해 오차 데이터에 상기 제1 수치와 다른 제2 수치의 식별자를 조합시킨 제2 오차 데이터로 변환하는 제2 변환 유닛과,
    상기 제2 오차 데이터로부터 상기 제2 수치의 식별자를 제거함으로써, 상기 제2 오차 데이터로부터, 당해 제2 오차 데이터로의 변환 전의 상기 오차 데이터로 복구하는 제2 복구 유닛을 더 포함하는 화상 처리 장치.
  5. 제1항에 있어서, 상기 오차 데이터에 의해 표현되는 오차 수치는, 양자화 처리를 행한 복수개의 주목 화소로부터 분배되는 오차 수치를 합산한 수치인, 화상 처리 장치.
  6. 제1항에 있어서, 상기 양자화 처리는 복수의 배열된 화소의 각각의 라인 마다 수행되며,
    상기 오차 데이터는, 주목 화소를 포함하는 화소 라인으로부터, 당해 화소 라인에 인접하는 하나 이상의 화소 라인의 주변 화소로 분배되는 오차 데이터인, 화상 처리 장치.
  7. 제1항에 있어서, 상기 오차 데이터는 양수인지 또는 음수인지를 나타내는 부호 비트를 포함하는, 화상 처리 장치.
  8. 제1항에 있어서, 상기 오차 데이터를 저장할 수 있는 저장 유닛과,
    상기 오차 데이터를 상기 저장 유닛에 기록할 수 있는 기록 유닛과,
    상기 저장 유닛으로부터, 상기 오차 데이터를 판독할 수 있는 판독 유닛을 더 포함하는 화상 처리 장치.
  9. 제1항에 있어서, 상기 주변 화소의 화상 데이터의 수치에, 상기 제1 복구 유닛에 의해 복구된 오차 데이터의 수치를 가산함으로써, 당해 주변 화소의 화상 데이터를 보정하는 보정 유닛을 더 포함하는 화상 처리 장치.
  10. 제1항에 있어서, 상기 제1 변환 유닛은, 상기 오차 데이터의 수치가 상기 특정 수치일 때, 당해 오차 데이터를 1 비트의 상기 제1 오차 데이터로 변환하는, 화상 처리 장치.
  11. 각각의 화소의 계조를 표현하는 화상 데이터에 대한 양자화 처리를 수행하기 위한 방식으로서, 주목 화소의 오차 데이터를 당해 주목 화소의 주변의 주변 화소로 분배하는 오차 확산 방식을 사용하고, 당해 오차 확산 방식에 의해 양자화 처리된 화상 데이터에 기초하여 화상을 인쇄하는 인쇄 장치이며,
    미리 결정된 복수 비트로 표현되는 상기 오차 데이터의 수치가 특정 수치일 때, 당해 오차 데이터를 상기 소정의 복수 비트보다 작은 수의 비트로 표현되는 제1 오차 데이터로 변환하는 제1 변환 유닛과,
    상기 제1 오차 데이터로부터, 당해 제1 오차 데이터로의 변환 전의 상기 오차 데이터로 복구하는 제1 복구 유닛을 포함하는 인쇄 장치.
  12. 각각의 화소의 계조를 표현하는 화상 데이터에 대한 양자화 처리를 수행하기 위한 방식으로서, 주목 화소의 오차 데이터를 당해 주목 화소의 주변의 주변 화소로 분배하는 오차 확산 방식을 사용하는 화상 처리 방법이며,
    미리 결정된 복수 비트로 표현되는 상기 오차 데이터의 수치가 특정 수치일 때, 당해 오차 데이터를 상기 미리 결정된 복수 비트보다 작은 수의 비트로 표현되는 제1 오차 데이터로 변환하는 제1 변환 단계와,
    상기 제1 오차 데이터로부터, 당해 제1 오차 데이터로의 변환 전의 상기 오차 데이터로 복구하는 제1 복구 단계를 포함하는 화상 처리 방법.
  13. 컴퓨터에 의해 판독 가능하고 프로그램을 저장하는 저장 매체이며,
    상기 프로그램은 컴퓨터가 제12항에서 청구된 화상 처리 방법을 실행하게 하는 프로그램 코드를 갖는, 저장 매체.
KR20070126464A 2006-12-07 2007-12-07 화상 처리 장치, 인쇄 장치 및 화상 처리 방법 KR100967720B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006331000A JP4732316B2 (ja) 2006-12-07 2006-12-07 画像処理装置、記録装置、画像処理方法、プログラム、および記憶媒体
JPJP-P-2006-00331000 2006-12-07

Publications (2)

Publication Number Publication Date
KR20080052486A KR20080052486A (ko) 2008-06-11
KR100967720B1 true KR100967720B1 (ko) 2010-07-05

Family

ID=39548035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070126464A KR100967720B1 (ko) 2006-12-07 2007-12-07 화상 처리 장치, 인쇄 장치 및 화상 처리 방법

Country Status (4)

Country Link
US (1) US7884969B2 (ko)
JP (1) JP4732316B2 (ko)
KR (1) KR100967720B1 (ko)
CN (1) CN101197908B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010000726A (ja) * 2008-06-20 2010-01-07 Canon Inc 画像処理装置、記録装置、及び画像処理方法
JP5219791B2 (ja) * 2008-12-25 2013-06-26 キヤノン株式会社 画像処理装置および画像処理方法
JP5528209B2 (ja) 2010-05-20 2014-06-25 キヤノン株式会社 画像処理装置および画像処理方法
JP5843472B2 (ja) * 2010-07-26 2016-01-13 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN103607522A (zh) * 2013-10-11 2014-02-26 西安电子科技大学 基于fpga的改进误差扩散算法ip核设计方法
US10074321B2 (en) * 2016-01-05 2018-09-11 Amazon Technologies, Inc. Controller and methods for quantization and error diffusion in an electrowetting display device
CN114211882B (zh) * 2021-11-04 2023-01-17 北京大学 基于二值图像的补偿结果生成方法及喷头补偿方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003069819A (ja) 2001-08-29 2003-03-07 Canon Inc 画像処理装置及び画像処理方法
JP2003259117A (ja) 2002-02-28 2003-09-12 Canon Inc 画像処理装置及びその処理方法
JP2004328266A (ja) 2003-04-23 2004-11-18 Canon Inc 量子化方法
JP2007211351A (ja) * 2007-05-28 2007-08-23 Suzuki Motor Corp バルブシート皮膜形成方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02295278A (ja) * 1989-05-09 1990-12-06 Nec Corp 濃淡画像信号の変換符号化復号化方法とその装置
JPH0435164A (ja) 1990-05-25 1992-02-05 Fujitsu Ltd 画像処理装置
JP2948378B2 (ja) * 1991-09-28 1999-09-13 富士ゼロックス株式会社 重力多体系および電気力多体系用相互作用力計算用処理装置
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
JP3519230B2 (ja) * 1997-01-13 2004-04-12 シャープ株式会社 画像データの色補正方法
US6009201A (en) * 1997-06-30 1999-12-28 Intel Corporation Efficient table-lookup based visually-lossless image compression scheme
US5931960A (en) 1997-10-31 1999-08-03 Xerox Corporation Method and apparatus for handling error diffusion values
JP2000151413A (ja) * 1998-11-10 2000-05-30 Matsushita Electric Ind Co Ltd オーディオ符号化における適応ダイナミック可変ビット割り当て方法
JP2000188691A (ja) * 1998-12-22 2000-07-04 Toshiba Corp 画像処理装置
JP2001285633A (ja) * 2000-03-29 2001-10-12 Brother Ind Ltd 画像処理装置および記憶媒体
JP2002165094A (ja) * 2000-11-28 2002-06-07 Ricoh Co Ltd 画像処理装置
JP2006211351A (ja) 2005-01-28 2006-08-10 Canon Inc 画像処理方法および画像処理装置
JP4463705B2 (ja) * 2005-03-01 2010-05-19 三菱電機株式会社 画像表示装置、および画像表示方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003069819A (ja) 2001-08-29 2003-03-07 Canon Inc 画像処理装置及び画像処理方法
JP2003259117A (ja) 2002-02-28 2003-09-12 Canon Inc 画像処理装置及びその処理方法
JP2004328266A (ja) 2003-04-23 2004-11-18 Canon Inc 量子化方法
JP2007211351A (ja) * 2007-05-28 2007-08-23 Suzuki Motor Corp バルブシート皮膜形成方法

Also Published As

Publication number Publication date
CN101197908A (zh) 2008-06-11
CN101197908B (zh) 2015-06-24
US20080285084A1 (en) 2008-11-20
KR20080052486A (ko) 2008-06-11
JP4732316B2 (ja) 2011-07-27
JP2008147884A (ja) 2008-06-26
US7884969B2 (en) 2011-02-08

Similar Documents

Publication Publication Date Title
KR100967726B1 (ko) 화상 처리 장치, 기록 장치, 및 화상 처리 방법
KR100967720B1 (ko) 화상 처리 장치, 인쇄 장치 및 화상 처리 방법
RU2389074C1 (ru) Устройство декодирования изображения, способ декодирования изображения и устройство печати
US20110032554A1 (en) Image processing apparatus
JP6249623B2 (ja) 画像処理方法および画像処理システム
JP6184115B2 (ja) 画像処理方法及び画像処理装置
JP2005224983A (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を出力する画像出力システム
JP4979509B2 (ja) データ変換装置、該装置を備えた記録装置及びデータ変換方法
JP2011000826A (ja) 記録マスク符号化方法および記録方法および記録装置
JP2011020408A (ja) 画像処理装置
US8346001B2 (en) Image processing apparatus, printing apparatus, and image processing method
JP4324892B2 (ja) シリアルプリンタ及びプログラムを記録した記録媒体
JP4120947B2 (ja) シリアルプリンタ及びシリアルプリンタの印刷制御方法
JP2007110226A (ja) 画像形成装置
JP3244745B2 (ja) 画像処理装置
JP2000307853A (ja) 量子化方法および該量子化法を用いた記録システム
JP3862363B2 (ja) 情報出力システム及び情報出力方法
JP2003259117A (ja) 画像処理装置及びその処理方法
JP2005280357A (ja) シリアルプリンタ及びプログラムを記録した記録媒体
JP2005236690A (ja) 画像処理装置、画像形成装置、及びプログラム
JP2004112314A (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
JP2005354533A (ja) 画像記録装置、画像記録方法および画像処理装置
JP2001008035A (ja) 量子化方法および該量子化方法を用いた記録システム
JP2010011304A (ja) 画像処理装置、画像処理方法、画像処理プログラム、および記憶媒体
JP2006217578A (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: 20130528

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140527

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160525

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180525

Year of fee payment: 9