KR100420807B1 - 압축 알고리즘을 이용한 프린팅 방법 - Google Patents
압축 알고리즘을 이용한 프린팅 방법 Download PDFInfo
- Publication number
- KR100420807B1 KR100420807B1 KR1019970016945A KR19970016945A KR100420807B1 KR 100420807 B1 KR100420807 B1 KR 100420807B1 KR 1019970016945 A KR1019970016945 A KR 1019970016945A KR 19970016945 A KR19970016945 A KR 19970016945A KR 100420807 B1 KR100420807 B1 KR 100420807B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- printer
- file
- compression
- printed
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
- B41J29/393—Devices for controlling or analysing the entire machine ; Controlling or analysing mechanical parameters involving printing of test patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1822—Analysing the received data before processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1825—Adapting the print data to an output condition, e.g. object trapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0062—Handling the output data combining generic and host data, e.g. filling a raster
- G06K2215/0071—Post-treatment of the composed image, e.g. compression, rotation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Record Information Processing For Printing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 프린팅 속도 향상 방법에 관한 것로서, 보다 상세하게는 컴퓨터에서 프린터로 전송되는 데이터의 전송효율을 높이기 위한 압축원리를 이용한 프린팅 방법에 관한 것이다.
컴퓨터에서 프린팅 대상화일을 특정 알고리즘을 이용하여 압축하는 과정과, 압축된 인쇄대상 파일을 프린터 케이블을 통해 프린터에 전송하는 과정과, 전송된 데이터를 임의의 기억 장치에 저장하는 과정과, 인쇄 대상 데이터의 헤드 부분에 포함된 압축 알고리즘을 분석하는 과정과, 기억 장치에 저장된 파일을 특정 알고리즘을 이용하여 압축을 푸는 과정과, 압축이 풀린 파일을 인쇄하는 과정으로 진행된다.
Description
본 발명은 프린팅 속도 향상 방법에 관한 것로서, 보다 상세하게는 컴퓨터에서 프린터로 전송되는 데이터의 전송효율을 높이기 위한 압축원리를 이용한 프린팅 방법에 관한 것이다.
컴퓨터의 주변 장치 중 컴퓨터의 작업에 따른 내용을 사용자가 인식할 수 있도록 용지 등의 매개체에 나타내는 대표적인 출력장치이다.
이러한 프린터 중 잉크젯 프린터는 일반 사용자들이 저렴한 가격에 구매할 수 있으며 인쇄 품질이 뛰어난 대표적 프린터이다.
일반적인 잉크젯 프린터의 구성 및 동작 원리를 도 1를 이용하여 설명하자면 다음과 같다.
프린터 인터페이스를 통해 컴퓨터(도시되지 않음)로부터 전달되는 시그널(Signal)을 전달받고, 프린터 동작에 필요한 초기 세팅 값 및 시스템에 필요한 값을 저장하고 있는 EEPROM(21)내의 시스템 프로그램을 읽어 들여 해석, 실행하여 프로그램 내용에 따라 제어 신호를 출력하는 CPU(10)와, 제어에 필요한 프로그램 및 여러 가지 폰트를 내장하고 있는 ROM(12)과, 시스템 동작시의 데이터를 일시적으로 보관하는데 사용되는 RAM(11)과, 상기 CPU(10)의 제어에 필요한 대부분의 로직회로(Logic Circuit)가 ASIC으로 구현되어 CPU(10) 주변의 대부분의 소자에 대한 CPU(10)와의 데이터 전송을 실행하는 ASIC 회로부(20)와, 상기 ASIC회로(20)로부터 전달되는 CPU(10)의 제어 신호에 따라 잉크 카트리지(31)의 구동을 제어하는 헤드 드라이버(30)와, 캐리지 리턴 구동 모터(41)의 동작을 제어하는 캐리지 모터 구동 회로(40)와, 스텝핑 모터를 주로 사용하여 종이의 급지 및 배출하기 위한 라인피드 모터(51)의 구동을 제어하는 라인피드 모터 구동 회로(50)와 프린터 기기 전반에 필요한 구동 전압을 제공하는 파워 써플라이(SMPS)(60)를 포함하여 구성된다.
이와 같이 구성된 프린터를 사용하는 컴퓨터 시스템에서는 인쇄할 데이터의 이미지를 컴퓨터에서 완전한 형태로 만들어 프린터 인터페이스를 이용하여 전송하게 된다. 이 때 프린터에서는 추가적인 이미지 변환 작업이 없이 인쇄 데이터를 프린터의 DMA(Direct Memory Access)를 통하여 기구적인 동작으로 전달시킴으로써 인쇄속도를 향상시키도록 구성되어 있다.
이와 같이 컴퓨터에서 이미지를 완전하게 만들어 전송하므로써 전송할 데이터의 양이 커지게 된다. 따라서 전송량이 많아지게 되고 인쇄 속도가 느려지게 된다.
결국 프린터가 기구적인 동작을 행하는 속도보다 컴퓨터에서 프린터로 데이터가 전송되는 시간이 더 늦어지는 문제가 발생하게 되는 것이다. 이와 같은 현상은 인쇄할 이미지의 해상도가 높을수록 심화된다.
이러한 문제점을 해결하기 위한 본 발명은 컴퓨터에서 전송되는 데이터를 압축하여 전송하고 프린터는 전송된 데이터를 컴퓨터에서 압축한 알고리즘으로 압축을 풀어 인쇄를 하므로써 데이터 전송량을 현저히 줄이므로써 프린터의 인쇄 속도를 향상시키는 것을 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명의 진행 과정은 컴퓨터에서 프린팅 대상화일을 특정 알고리즘을 이용하여 압축하는 과정과, 압축된 인쇄대상 파일을 프린터 케이블을 통해 프린터에 전송하는 과정과, 전송된 데이터를 임의의 기억 장치에 저장하는 과정과, 인쇄 대상 데이터의 헤드 부분에 포함된 압축 알고리즘을 분석하는 과정과, 기억 장치에 저장된 파일을 특정 알고리즘을 이용하여 압축을 푸는 과정과, 압축이 풀린 파일을 인쇄하는 과정으로 진행되는 점에 특징이 있다.
도 1은 일반적인 잉크젯 프린터의 구성을 나타내는 블록도,
도 2는 본 발명의 진행과정을 나타내는 흐름도,
도 3은 컴퓨터에서 프린터로 전송되어지는 이미지 데이터의 구조도,
도 4는 도 3의 형태로 된 데이터를 압축하기 위한 구조도,
도 5는 압축알고리즘의 수행방법을 나타내는 흐름도이다.
이하 첨부된 도면을 참조로하여 본 발명의 구성 및 동작 과정을 살펴본다.
도 2 는 본 발명의 진행과정을 나타내는 흐름도이다.
텍스트 파일의 경우 그 파일 사이즈가 그래픽 파일에 비해 상대적으로 작다. 따라서 본 발명은 그래픽 파일의 프린팅에 유용하게 적용될 수 있다.
먼저 컴퓨터에서 프린팅 대상화일을 특정 알고리즘을 이용하여 압축한다. 물론 이 때 사용되는 압축 알고리즘은 컴퓨터 사용자가 특정 소프트웨어를 사용하여 진행 시킬 수도 있고, 해당 프린터에 맞게 설정된 프린팅 어플리케이션에 의해 자동적으로 제공될 수도 있다. 압축되는 파일은 프린터 헤드가 한 번 동작하는 단위 크기로 압축된다.(S10 과정)
압축된 인쇄대상 파일을 프린터 인터페이스 케이블을 통해 프린터에 전송한다.(S20 과정)
전송된 데이터는 임의의 기억 장치(Buffer)에 저장된다. ( S30 과정)
인쇄 대상 데이터의 헤드 부분을 체크하여 압축 속성의 포함여부를 확인한다. 만일 압축 속성을 가지고 있다면 해당 압축 알고리즘을 분석한다. (S40 과정)
기억 장치에 저장된 파일을 특정 알고리즘을 이용하여 압축을 푼다.(S50 과정)
압축이 해제된 파일을 인쇄한다.(S60 과정)
위 과정중에 나타난 압축방법을 이하의 도면을 참조로 설명한다.
도 3은 컴퓨터에서 프린터로 전송되어지는 이미지 데이터의 구조이다.
A는 잉크젯 프린터의 헤드가 한 번 인쇄동작을 하는데 필요한 데이터로써 헤드의 각 핀에 대응되는 구조이다. 1 핀의 이미지 데이터는 이진수로 1 비트(Bit)로 처리되며 도면에서와 같이 208핀을 가진 헤드라면 26바이트(BYTE)가 필요하게 된다.
B는 인쇄할 이미지의 가로폭으로써 헤드가 수평으로 이동하며 인쇄할 횟수이며 이 횟수는 이미지의 해상도(Resolution)에 따라서 바뀔수 있다. 예를 들어 300 DPI(Dot Per Inch)의 이미지라면 1 인치(Inch)당 300 회를 인쇄하게 되며 600 DPI의 해상도를 가진 이미지라면 1 인치당 600 회를 인쇄하게 된다.
도 4는 도 3의 형태로 된 데이터를 압축하기 위한 구조도이다. 압축을 하기 위한 기본 단위는 프린터의 헤드가 한 번 인쇄 동작을 하는 단위로 한다. 이는 프린터가 데이터를 받는 즉시 인쇄 동작(DMA : Direct Memory Access)을 처리해야 하기 때문이다. 즉 도 4는 프린터 헤드가 한 번 인쇄 동작을 하는데 필요한 데이터를 압축했을 때의 구조도이다.
A 영역은 압축 정보를 저장하는 컨트롤 데이터이며, B 영역은 압축된 데이터이다. 한편 A 영역은 C와 같은 구조를 갖는다. 각 숫자는 비트(Bit)번호이고 비트 13(C-2)은 각 비트에 대한 컨트롤 비트이다. 비트 0∼12(C-1) 까지는 실제 데이터의 압축정보로써 1 비트는 실제 데이터 2 바이트를 지정한다. 각 비트는 "0" 이면 새로운 데이터를 의미하고 "1" 이면 비트13 에 따라 동작한다. 비트 13이 "0"이면 이전의 마지막 데이터와 동일함을 의미하고 "1"이면 "0"으로 채우라는 의미이다.
예를 들어 실제 데이터가 [표 1]에서의 A와 같을 때, 컨트롤 데이터 및 전송될 데이터(압축된 데이터)는 [표 1]에서의 B , C와 같다.
[표 1]
A(실제 데이터) | 0X00,00,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF | |||||||||||||||
B(컨트롤 데이터) | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | |
C(전송될 데이터) | 0X00 , 00 , FF , FF |
인쇄할 데이터가 "0"보다는 반복되는 값(FF)이 많으므로 컨트롤 데이터의 비트 13은 "0"으로 했다. 처음 데이터( 0X00, 00 )는 새로운 데이터 이므로 비트 0 은 "0" 으로 하고 2 바이트 데이터를 추가했다. 다음 데이터(0XFF,FF)는 이전 데이터와 같지 않으므로 비트 1 도 "0"으로 하고, 2 바이트를 추가했으며 이 후 데이터는 이전 데이터와 동일하므로 컨트롤 비트를 모두 1 로 하고 데이터는 추가하지 않았다.
도 5의 흐름도를 이용하여 압축방법을 다시 한 번 정리하여 본다. 압축 해제알고리즘은 압축 알고리즘과 유사하다.
먼저 각 컨트롤 비트를 "0"으로 초기화 한다.(S1 과정)
압축대상 데이터에 "0"이 8 개보다 많으면 컨트롤 비트 13을 "1"로 설정하고 그렇지 않으면 컨트롤 비트 13을 "0"으로 설정한다. (S2 과정) 여기에서 8 개보다 많은가를 확인하는 것은 적어도 절반이상의 데이터가 반복될 때 압축의 효과가 두드러짐을 의미한다.
처음 데이터인가를 확인하여 처음 데이터이면 비트 0을 "0"으로 하고 실제 데이터를 추가시킨다.( S3 과정)
컨트롤 비트 13이 "1"로 세팅되어 있는 가를 확인한다.(S4 과정) 즉 데이터에 "0"이 8 개보다 많은가를 확인한다. 만일 8 개보다 많으면 해당 데이터의 컨트롤 비트는 "1"로 설정하고 그렇지 않으면 그대로 유지한다.
이전 데이터와 같은가를 확인한다. (S5 과정) 이전과 동일한 경우 해당 데이터의 컨트롤 비트를 "1"로 설정한다(S5-1 과정). 만일 이전 데이터값과 다른 경우 해당 데이터의 컨트롤 비트를 "0"으로 설정하고 실제 데이터를 추가시킨다.(S6과정)
마지막 바이트인가를 확인하여 압축과정을 종료를 판단한다.(S7 과정)
압축이 완료된 상태에서 컨트롤 데이터(도 4의 "A" 부분)을 전송한다.(S8 과정)
압축된 데이터를 전송한다.(S9 과정)
이와 같이 진행되는 압축 알고리즘을 이용하여 프린터에서 전송된 압축화일의 속성 및 데이터를 분석하여 해제시켜 출력한다.
이상에서 설명한 바와 같이 본 발명은 컴퓨터에서 전송되는 데이터를 압축하여 전송하고 프린터는 전송된 데이터를 동일한 알고리즘으로 압축을 풀어 인쇄를 하므로써 데이터 전송량을 현저히 줄여 인쇄 속도를 향상시킬 수 있는 효과를 갖는다.
Claims (2)
- 컴퓨터에서 프린팅 대상화일을 특정 알고리즘을 이용하여 압축하는 과정과,압축된 인쇄대상 파일을 프린터 케이블을 통해 프린터에 전송하는 과정과,전송된 데이터를 임의의 기억 장치에 저장하는 과정과,인쇄 대상 데이터의 헤드 부분에 포함된 압축 알고리즘을 분석하는 과정과,기억 장치에 저장된 파일을 특정 알고리즘을 이용하여 압축을 푸는 과정과,압축이 풀린 파일을 인쇄하는 과정으로 진행되는 압축기법을 이용한 프린팅 방법.
- 제 1 항에 있어서,상기 컴퓨터에서 인쇄 대상 파일 압축과정은 프린터 헤드가 일 회 동작하는 단위로 데이터를 압축하는 것을 특징으로 하는 압축기법을 이용한 프린팅 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970016945A KR100420807B1 (ko) | 1997-05-02 | 1997-05-02 | 압축 알고리즘을 이용한 프린팅 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970016945A KR100420807B1 (ko) | 1997-05-02 | 1997-05-02 | 압축 알고리즘을 이용한 프린팅 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980082196A KR19980082196A (ko) | 1998-12-05 |
KR100420807B1 true KR100420807B1 (ko) | 2004-04-17 |
Family
ID=37323437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970016945A KR100420807B1 (ko) | 1997-05-02 | 1997-05-02 | 압축 알고리즘을 이용한 프린팅 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100420807B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08212020A (ja) * | 1995-02-08 | 1996-08-20 | Canon Inc | 出力装置及び情報処理装置及び出力システム |
JPH08339273A (ja) * | 1995-06-09 | 1996-12-24 | Canon Inc | データ送信装置、データ転送装置およびその方法、印刷システムおよびその制御方法 |
KR0173079B1 (ko) * | 1996-06-08 | 1999-05-01 | 이진주 | 프린팅 방법 |
-
1997
- 1997-05-02 KR KR1019970016945A patent/KR100420807B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08212020A (ja) * | 1995-02-08 | 1996-08-20 | Canon Inc | 出力装置及び情報処理装置及び出力システム |
JPH08339273A (ja) * | 1995-06-09 | 1996-12-24 | Canon Inc | データ送信装置、データ転送装置およびその方法、印刷システムおよびその制御方法 |
KR0173079B1 (ko) * | 1996-06-08 | 1999-05-01 | 이진주 | 프린팅 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR19980082196A (ko) | 1998-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6384930B1 (en) | Printer control circuit, printer and print system | |
US6538762B1 (en) | Printer controller, and print system | |
JPH1134445A (ja) | プリンタ用スワスデータの圧縮方法及び装置 | |
JP3936016B2 (ja) | ドキュメント画像を印刷する方法 | |
US6860203B2 (en) | Method and apparatus for printing computer generated images | |
US8724157B2 (en) | Printing apparatus and printer driver | |
EP0820004B1 (en) | Print system, print method, printer driver and printer | |
US20100073695A1 (en) | Methods and systems for increasing performance of server-based rendering | |
EP0608492A2 (en) | Method and apparatus for delta row decompression | |
KR100512666B1 (ko) | 프린터 제어 장치, 프린터 제어 방법 및 정보 기록 매체 | |
KR100420807B1 (ko) | 압축 알고리즘을 이용한 프린팅 방법 | |
US5483621A (en) | Method and apparatus for controlling document printing in a line printer | |
TW458894B (en) | Swath height compensation for lossless compression of pen data | |
JP3655457B2 (ja) | プリンタ制御装置 | |
KR19990026298A (ko) | 압축 알고리즘을 이용한 프린팅 방법 | |
EP2136546B1 (en) | Image processing apparatus, printing apparatus, and image processing method | |
JP3867344B2 (ja) | 画像出力装置 | |
KR100296593B1 (ko) | 페이지 프린터 및 그 제어방법 | |
US5325469A (en) | Graphic emulation method in a printer | |
JPH09270919A (ja) | ページプリンタにおけるデータ圧縮方法 | |
US5746524A (en) | Printing control apparatus for spacing 1-byte and 2-byte characters | |
US20050134873A1 (en) | Post screening handling of multibit raster operations | |
KR100208385B1 (ko) | 프린터에서 텍스트와 픽쳐데이터를 분리하여 저장하는데이터 버퍼장치 및 방법 | |
AU767448B2 (en) | Method and apparatus for printing computer generated images | |
KR940005257B1 (ko) | 팩시밀리의 이미지 처리방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080130 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |