KR100420807B1 - 압축 알고리즘을 이용한 프린팅 방법 - Google Patents

압축 알고리즘을 이용한 프린팅 방법 Download PDF

Info

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
Application number
KR1019970016945A
Other languages
English (en)
Other versions
KR19980082196A (ko
Inventor
동 채 박
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1019970016945A priority Critical patent/KR100420807B1/ko
Publication of KR19980082196A publication Critical patent/KR19980082196A/ko
Application granted granted Critical
Publication of KR100420807B1 publication Critical patent/KR100420807B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • B41J29/393Devices for controlling or analysing the entire machine ; Controlling or analysing mechanical parameters involving printing of test patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1822Analysing the received data before processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1825Adapting the print data to an output condition, e.g. object trapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0071Post-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. 컴퓨터에서 프린팅 대상화일을 특정 알고리즘을 이용하여 압축하는 과정과,
    압축된 인쇄대상 파일을 프린터 케이블을 통해 프린터에 전송하는 과정과,
    전송된 데이터를 임의의 기억 장치에 저장하는 과정과,
    인쇄 대상 데이터의 헤드 부분에 포함된 압축 알고리즘을 분석하는 과정과,
    기억 장치에 저장된 파일을 특정 알고리즘을 이용하여 압축을 푸는 과정과,
    압축이 풀린 파일을 인쇄하는 과정으로 진행되는 압축기법을 이용한 프린팅 방법.
  2. 제 1 항에 있어서,
    상기 컴퓨터에서 인쇄 대상 파일 압축과정은 프린터 헤드가 일 회 동작하는 단위로 데이터를 압축하는 것을 특징으로 하는 압축기법을 이용한 프린팅 방법.
KR1019970016945A 1997-05-02 1997-05-02 압축 알고리즘을 이용한 프린팅 방법 KR100420807B1 (ko)

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)

* Cited by examiner, † Cited by third party
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 이진주 프린팅 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
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