KR20170099211A - Method for enhancing quality of image object included in compound document and apparatus for performing the same - Google Patents

Method for enhancing quality of image object included in compound document and apparatus for performing the same Download PDF

Info

Publication number
KR20170099211A
KR20170099211A KR1020160021309A KR20160021309A KR20170099211A KR 20170099211 A KR20170099211 A KR 20170099211A KR 1020160021309 A KR1020160021309 A KR 1020160021309A KR 20160021309 A KR20160021309 A KR 20160021309A KR 20170099211 A KR20170099211 A KR 20170099211A
Authority
KR
South Korea
Prior art keywords
raster
commands
command
image
merged
Prior art date
Application number
KR1020160021309A
Other languages
Korean (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 KR1020160021309A priority Critical patent/KR20170099211A/en
Priority to US15/424,353 priority patent/US10169688B2/en
Priority to EP17154849.8A priority patent/EP3211519B1/en
Priority to CN201710099796.4A priority patent/CN107102827B/en
Publication of KR20170099211A publication Critical patent/KR20170099211A/en

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/1867Post-processing of the composed and rasterized print image
    • G06K15/1872Image enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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/1835Transforming generic data
    • G06K15/1836Rasterization
    • 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/1848Generation of the printable image
    • G06K15/1852Generation of the printable image involving combining data of different types
    • G06K15/1855Combining raster data and graphic primitives
    • 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/1867Post-processing of the composed and rasterized print image
    • G06K15/1889Merging with other data
    • 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/004Generic data transformation
    • G06K2215/0042Rasterisation

Abstract

According to an embodiment of the present invention, a method of improving image quality of an image object included in a compound document comprises: a step of receiving a printing request for a compound document including an image object; a step of merging portions corresponding to the image object in data corresponding to the compound document, and improving image quality of the image object; and a step of encoding the data corresponding to the compound document in a printer control language to output the data.

Description

복합 문서에 포함된 이미지 객체의 화질 개선 방법 및 이를 수행하기 위한 장치 {METHOD FOR ENHANCING QUALITY OF IMAGE OBJECT INCLUDED IN COMPOUND DOCUMENT AND APPARATUS FOR PERFORMING THE SAME}TECHNICAL FIELD The present invention relates to a method for improving image quality of an image object included in a compound document, and a device for performing the method.

복합 문서(compound document)에 포함된 이미지 객체에 화질 개선 알고리즘(image enhancement algorithm)을 효과적으로 적용하기 위한 방법 및 이러한 방법을 수행하기 위한 프린터 드라이버에 관한 것이다.A method for effectively applying an image enhancement algorithm to an image object included in a compound document, and a printer driver for performing such a method.

PC, 스마트폰 또는 태블릿 등과 같은 컴퓨팅 장치에는 문서의 생성 및 편집을 지원하는 어플리케이션이 설치될 수 있다. 이러한 어플리케이션에서 생성 또는 편집된 문서에 대한 인쇄 요청이 입력되면, 문서에 대응되는 디지털 데이터는 프린팅 커맨드(printing command)로 변환되어 컴퓨팅 장치에 설치된 프린터 드라이버(printer driver)로 전송되고, 프린터 드라이버는 수신한 프린팅 커맨드를 프린터가 지원하는 프린터 제어 언어(printer control language)로 인코딩(encoding)한 후 프린터로 전송한다. 프린터는 수신한 프린팅 커맨드를 에뮬레이션(emulation)하여 프린팅 데이터(printing data)를 생성하고, 생성된 프린팅 데이터를 인쇄한다.Computing devices, such as PCs, smart phones or tablets, may be provided with applications that support the creation and editing of documents. When a print request for a document created or edited by the application is input, the digital data corresponding to the document is converted into a printing command and transmitted to a printer driver installed in the computing device, A printing command is encoded into a printer control language supported by the printer, and then the printer command is transmitted to the printer. The printer emulates the received printing command to generate printing data, and prints the generated printing data.

한편, 복합 문서란 텍스트, 그래픽 및 이미지 등과 같은 다양한 타입의 객체들을 포함하는 문서를 의미한다. 그런데, 현재 일반적으로 사용되는 OS(operating system) 및 문서 생성 어플리케이션에 따를 경우, 복합 문서에 포함된 이미지 객체는, 문서상에 실제로는 하나의 단일 이미지(single image)로 표현되는 객체의 경우에도 복수의 커맨드로 분할되어 표현된다. 따라서, 이미지 객체에 화질 개선 알고리즘(image enhancement algorithm)을 적용하는데 있어서 제약이 있는 문제점이 있다.On the other hand, a compound document means a document including various types of objects such as text, graphics and images. However, according to currently used operating system (OS) and document generation application, an image object included in a compound document may have a plurality of images even in the case of an object actually represented as a single image on a document Command. Accordingly, there is a problem in applying an image enhancement algorithm to an image object.

복합 문서에 포함된 이미지 객체에 효과적으로 화질 개선 알고리즘을 적용할 수 있는 방법 및 이를 수행하기 위한 장치를 제공하고자 한다.A method for effectively applying an image quality improvement algorithm to an image object included in a compound document, and an apparatus for performing the method.

상기 기술적 과제를 해결하기 위한 일 실시예에 따른 복합 문서에 포함된 이미지 객체의 화질을 개선하는 방법은, 이미지 객체를 포함하는 복합 문서에 대한 인쇄 요청을 수신하는 단계; 상기 복합 문서에 대응되는 데이터 중에서 상기 이미지 객체에 대응되는 부분들을 병합하고, 상기 이미지 객체의 화질을 개선하는 단계; 및 상기 복합 문서에 대응되는 데이터를 프린터 제어 언어로 인코딩하여 출력하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a method of improving image quality of an image object included in a compound document, the method comprising: receiving a print request for a compound document including an image object; Merging portions corresponding to the image object among data corresponding to the compound document, and improving an image quality of the image object; And encoding the data corresponding to the compound document in a printer control language and outputting the encoded data.

상기 기술적 과제를 해결하기 위한 다른 실시예에 따른 장치는, 이미지 객체를 포함하는 복합 문서에 대한 인쇄 요청을 수신하는 입출력 장치; 상기 복합 문서에 대응되는 데이터 중에서 상기 이미지 객체에 대응되는 부분들을 병합하고, 상기 이미지 객체의 화질을 개선한 후, 상기 복합 문서에 대응되는 데이터를 프린터 제어 언어로 인코딩하는 제어부; 및 상기 인코딩된 복합 문서에 대응되는 데이터를 화상형성장치로 전송하는 네트워크 인터페이스를 포함할 수 있다.According to another aspect of the present invention, there is provided an apparatus comprising: an input / output device for receiving a print request for a compound document including an image object; A control unit for merging portions corresponding to the image object among the data corresponding to the compound document, improving the image quality of the image object, and encoding the data corresponding to the compound document in a printer control language; And a network interface for transmitting data corresponding to the encoded compound document to an image forming apparatus.

단일 이미지에 대응되는 래스터 커맨드(raster command)들을 병합한 후에 화질 개선 알고리즘을 적용함으로써, 그 효과 및 효율을 향상시킬 수 있다.It is possible to improve the effect and the efficiency by applying the image quality improvement algorithm after merging raster commands corresponding to a single image.

도 1은 일 실시예에 따른 화질 개선 방법을 수행하기 위한 PC의 하드웨어 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 화질 개선 방법을 수행하기 위한 PC 및 프린터의 소프트웨어 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 화질 개선 방법을 수행하기 위한 PC의 소프트웨어 구성 중, 프린터 드라이버의 구성을 구체화하여 도시한 도면이다.
도 4는 일 실시예에 따라 단일 이미지 객체가 복수의 래스터 커맨드로 분할되어 표현되는 과정을 도시한 도면이다.
도 5는 일 실시예에 따라 다양한 타입의 객체를 포함하는 복합 문서에 대한 프린팅 커맨드가 생성되는 과정을 도시한 도면이다.
도 6은 일 실시예에 따라 래스터 커맨드를 병합하고, 화질 개선 알고리즘을 적용한 후, 다시 래스터 커맨드를 분할하는 과정을 도시한 도면이다.
도 7은 소스 이미지와 데스티네이션 이미지의 확대/축소 비율에 기초하여 병합 대상이 되는 래스터 커맨드를 판단하는 실시예를 도시한 도면이다.
도 8은 데스티네이션 이미지의 위치를 비교하여 병합 대상이 되는 래스터 커맨드를 판단하는 실시예를 도시한 도면이다.
도 9는 중첩되는 영역의 픽셀 값을 비교하여 병합 대상이 되는 래스터 커맨드를 판단하는 실시예를 도시한 도면이다.
도 10 및 도 11은 화질 개선 방법의 실시예들을 순서도로 도시한 도면이다.
도 12는 화질 개선 알고리즘 중 선명화(sharpening) 연산을 설명하기 위한 도면이다.
1 is a diagram illustrating a hardware configuration of a PC for performing a picture quality improvement method according to an embodiment.
2 is a diagram illustrating a software configuration of a PC and a printer for performing the image quality improvement method according to an exemplary embodiment.
3 is a diagram illustrating a configuration of a printer driver among the software configuration of a PC for performing the image quality improvement method according to an exemplary embodiment.
4 is a diagram illustrating a process in which a single image object is divided into a plurality of raster commands and rendered according to an embodiment.
FIG. 5 illustrates a process of generating a printing command for a compound document including various types of objects according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 6 is a diagram illustrating a process of merging a raster command according to an embodiment, applying a picture quality improvement algorithm, and then dividing a raster command again.
Fig. 7 is a view showing an embodiment for determining a raster command to be merged based on the enlargement / reduction ratio of the source image and the destination image.
8 is a diagram showing an embodiment for comparing the positions of the destination images and determining the raster command to be merged.
9 is a view showing an embodiment for comparing raster commands to be merged by comparing pixel values of overlapping areas.
10 and 11 are flowcharts showing embodiments of the image quality improvement method.
12 is a diagram for explaining a sharpening operation among image quality improvement algorithms.

이하에서는 도면을 참조하여 실시예들을 상세히 설명한다. 본 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the drawings. In order to more clearly describe the features of the embodiments, a detailed description will be omitted with respect to the matters widely known to those skilled in the art to which the following embodiments belong.

구체적인 실시예들을 설명하기에 앞서 프린터에서 문서가 출력되는 과정을 간략하게 설명하면 다음과 같다. 프린터 이외에 복합기(Multi Function Printer) 등과 같은 화상형성장치가 사용될 수도 있으나, 이하에서는 설명의 편의를 위해 프린터를 예로 들어서 설명한다.Before describing specific embodiments, a process of outputting a document in the printer will be briefly described below. An image forming apparatus such as a multifunction printer may be used in addition to a printer, but a printer will be described below as an example for convenience of explanation.

PC, 스마트폰 또는 태블릿 등과 같은 컴퓨팅 장치에는 문서의 생성 및 편집을 지원하는 어플리케이션이 설치될 수 있다. 이하에서는 설명의 편의를 위해 PC를 예로 들어 설명한다. 어플리케이션에서 생성 또는 편집된 문서에 대한 인쇄 요청이 사용자로부터 입력되면, 문서에 대응되는 디지털 데이터는 PC에 설치된 OS(operating system)의 표준 함수를 이용하여 프린팅 커맨드(printing command)로 변환된다. 프린팅 커맨드의 예로는 GDI 커맨드 또는 XPS 커맨드 등이 있다. 그런데, 프린터 별로 지원 가능한 프린팅 커맨드가 다르므로, 문서에 대응되는 디지털 데이터는 PC에 연결된 프린터가 지원하는 프린팅 커맨드로 변환되어야 한다. 이를 위해, PC에는 프린터의 제조사가 제공하는 프린터 드라이버(printer driver)가 설치될 수 있다. 예를 들어, 프린터 드라이버는 PCL6 등과 같은 프린터 제어 언어(printer control language, PCL)를 이용하여 프린팅 커맨드를 인코딩한 후, 인코딩된 프린팅 커맨드를 프린터로 전송할 수 있다.Computing devices, such as PCs, smart phones or tablets, may be provided with applications that support the creation and editing of documents. Hereinafter, the PC will be described as an example for convenience of explanation. When a print request for a document created or edited in the application is input from the user, the digital data corresponding to the document is converted into a printing command using a standard function of an OS (Operating System) installed in the PC. Examples of the printing command include a GDI command or an XPS command. However, since the printing commands that can be supported are different for each printer, the digital data corresponding to the document must be converted into printing commands supported by the printer connected to the PC. To this end, the PC may be provided with a printer driver provided by the maker of the printer. For example, the printer driver may encode the printing command using a printer control language (PCL) such as PCL6, and then transmit the encoded printing command to the printer.

프린터는 수신한 프린팅 커맨드를 해석하여 프린팅 데이터(printing data)를 생성하고, 생성된 프린팅 데이터를 인쇄한다.The printer interprets the received printing command to generate printing data, and prints the generated printing data.

이하에서는 프린터 드라이버가 프린팅 커맨드를 처리하여 문서에 포함된 이미지의 화질을 개선하는 실시예들에 대해서 설명한다. 필요에 따라서는 프린터 드라이버가 아닌 다른 구성, 예를 들어 프린터 내부의 모듈에 의해서 화질을 개선하는 방법이 수행될 수도 있다. 또는 PC나 모바일 단말에 설치되는 문서의 생성 및 편집을 지원하는 어플리케이션 자체에서 직접 화질 개선 방법을 수행할 수도 있다.Hereinafter, embodiments in which the printer driver processes the printing command to improve the image quality of the image included in the document will be described. If necessary, a method other than the printer driver, for example, a method for improving the image quality by a module inside the printer may be performed. Alternatively, the image quality improvement method may be directly performed in the application itself that supports creation and editing of a document installed in a PC or a mobile terminal.

도 1은 일 실시예에 따른 화질 개선 방법을 수행하기 위한 PC의 하드웨어 구성을 도시한 도면이다. 도 1을 참조하면, 일 실시예에 따른 화질 개선 방법을 수행하기 위한 PC(100)는 입출력 장치(input/output device 110), 네트워크 인터페이스(120), CPU(Central Processing Unit 130), 주기억장치(main memory 140) 및 보조기억장치(auxiliary memory 150)를 포함할 수 있다.1 is a diagram illustrating a hardware configuration of a PC for performing a picture quality improvement method according to an embodiment. 1, a PC 100 for performing an image quality improvement method according to an exemplary embodiment includes an input / output device 110, a network interface 120, a CPU (Central Processing Unit) 130, a main memory a main memory 140, and an auxiliary memory 150.

입출력 장치(110)는 사용자로부터 입력을 수신하기 위한 키보드, 마우스 또는 터치스크린 등의 입력 장치, 그리고 수신한 입력에 대한 처리 결과를 표시하기 위한 모니터 등의 출력 장치를 포함할 수 있다.The input / output device 110 may include an output device such as a keyboard, an input device such as a mouse or a touch screen for receiving an input from a user, and a monitor for displaying a process result on the received input.

네트워크 인터페이스(120)는 PC(100)가 외부의 다른 장치 또는 인터넷과 유무선으로 통신을 수행할 수 있도록 하는 구성으로서, 특히 PC(100)는 네트워크 인터페이스(120)를 통해 프린터와 유무선으로 통신할 수 있다.The network interface 120 allows the PC 100 to communicate with another external device or the Internet via a wired or wireless connection with the printer via the network interface 120. In particular, have.

CPU(130)는 연산 처리를 수행하는 구성으로서 입출력 장치(110)로부터 수신한 제어 명령에 따라서, 보조기억장치(150)에 저장된 데이터 중 필요한 데이터를 주기억장치(140)에 임시로 저장해놓고 수시로 주기억장치(140)에 접근하여 데이터를 읽어와서 연산을 수행한다.The CPU 130 temporarily stores necessary data among the data stored in the auxiliary storage device 150 in the main storage device 140 in accordance with a control command received from the input / output device 110, Accesses the device 140, reads data, and performs an operation.

주기억장치(140)는 CPU(130)가 연산을 수행하는 동안 필요한 프로그램 등의 데이터가 임시적으로 저장되는 공간이다. 주기억장치(140)는 보조기억장치(150)에 비해 빠른 접근이 가능하므로, CPU(130)는 특정 연산을 수행하는 동안 필요한 데이터를 보조기억장치(150)로부터 불러와 주기억장치(140)에 임시적으로 저장해놓고 사용한다. 일반적으로 주기억장치(140)는 RAM 등과 같은 휘발성 메모리로 구성된다.The main memory unit 140 is a space in which data such as programs necessary for the CPU 130 to perform operations are temporarily stored. Since the main memory 140 can be accessed faster than the auxiliary memory 150, the CPU 130 loads necessary data from the auxiliary memory 150 during the execution of the specific operation and temporarily stores the data in the main memory 140 . In general, the main memory 140 is constituted by a volatile memory such as a RAM.

보조기억장치(150)는 주기억장치(140)의 한정된 저장용량을 보조하기 위해 사용되는 구성으로서, 일반적으로 주기억장치(140)에 비해 접근 속도가 느리지만 저장용량이 큰 HDD 등과 같은 비휘발성 메모리로 구성된다.The auxiliary memory device 150 is a nonvolatile memory such as an HDD or the like having a storage capacity that is slower than that of the main memory device 140, .

한편, CPU(130)는 주기억장치(140) 및 보조기억장치(150)에 접근하여 저장된 프로그램 등의 데이터를 이용하여 연산을 수행하므로, CPU(130), 주기억장치(140) 및 보조기억장치(150)를 통합하여 하나의 제어부로 볼 수도 있다.The CPU 130 accesses the main memory 140 and the auxiliary memory 150 and performs calculations using data such as stored programs so that the CPU 130, the main memory 140, and the auxiliary memory 150 150 may be integrated into one controller.

도 1을 참조하면, 보조기억장치(150)에는 OS(10), 어플리케이션(20) 및 프린터 드라이버(30)가 설치된다. 어플리케이션(20)은 문서의 생성 및 편집을 지원하는 프로그램에 해당된다. 프린터 드라이버(30)는 프린팅 커맨드를 PCL로 인코딩하며, 또한 이하에서 설명하는 화질 개선 방법, 즉 복합 문서에 포함된 이미지 객체에 대한 화질 개선 방법을 수행할 수 있다. 프린터 드라이버(30)가 화질 개선 방법을 수행하는 구체적인 방법은 아래에서 예시 도면들을 참조하여 자세하게 설명하기로 한다.Referring to FIG. 1, an OS 10, an application 20, and a printer driver 30 are installed in the auxiliary storage device 150. The application 20 corresponds to a program that supports creation and editing of a document. The printer driver 30 encodes the printing command into PCL, and can also perform the picture quality improvement method described below, i.e., the picture quality improvement method for the image object included in the compound document. A specific method by which the printer driver 30 performs the image quality improving method will be described in detail below with reference to exemplary drawings.

도 2는 일 실시예에 따른 화질 개선 방법을 수행하기 위한 PC 및 프린터의 소프트웨어 구성을 도시한 도면이다. 도 2를 참조하면, PC(100)에는 OS(10), 어플리케이션(20) 및 프린터 드라이버(30)가 설치될 수 있으며, 프린터(200)에는 에뮬레이터(40) 및 프린트 엔진(50)이 설치될 수 있다.2 is a diagram illustrating a software configuration of a PC and a printer for performing the image quality improvement method according to an exemplary embodiment. 2, an OS 10, an application 20, and a printer driver 30 may be installed in the PC 100, and an emulator 40 and a print engine 50 may be installed in the printer 200 .

소프트웨어 구성에서의 데이터의 흐름을 살펴보면, 어플리케이션(20)은 문서에 대한 인쇄 요청을 수신하면, OS(10)의 표준 함수를 이용하여 프린팅 커맨드를 생성하여 프린터 드라이버(30)에 전송한다. 프린터 드라이버(30)는 수신한 프린팅 커맨드를 PCL로 인코딩하여 프린터(200)로 전송한다. 프린터(200)의 에뮬레이터(40)는 수신한 프린팅 커맨드를 해석하여 프린팅 데이터를 생성하고, 생성된 프린팅 데이터를 프린트 엔진(50)에 전송한다. 프린트 엔진(50)은 수신한 프린팅 데이터를 인쇄한다.When the application 20 receives a print request for a document, the application 20 generates a printing command using the standard function of the OS 10 and transmits the printing command to the printer driver 30. The printer driver 30 encodes the received printing command into PCL and transmits it to the printer 200. [ The emulator 40 of the printer 200 analyzes the received printing command to generate printing data, and transmits the generated printing data to the print engine 50. The print engine 50 prints the received printing data.

이때, 프린터 드라이버(30)는 복합 문서에 포함된 이미지 객체에 화질 개선 알고리즘(image enhancement algorithm)을 적용할 수 있는데, 자세한 내용은 아래에서 프린터 드라이버(30)의 구체적인 구성이 도시된 도 3을 참조하여 설명한다.At this time, the printer driver 30 may apply an image enhancement algorithm to the image objects included in the compound document. The details of the image enhancement algorithm are described below with reference to FIG. 3, which shows a specific configuration of the printer driver 30 .

도 3은 일 실시예에 따른 화질 개선 방법을 수행하기 위한 PC의 소프트웨어 구성 중, 프린터 드라이버의 구성을 구체화하여 도시한 도면이다.3 is a diagram illustrating a configuration of a printer driver among the software configuration of a PC for performing the image quality improvement method according to an exemplary embodiment.

도 3을 참조하여 복합 문서(compound document)에 포함된 이미지 객체의 화질 개선 방법을 자세하게 설명하기에 앞서, 복합 문서 및 그로부터 생성되는 프린팅 커맨드에 대해서 먼저 설명한다.Before describing in detail a method for improving the image quality of an image object included in a compound document with reference to FIG. 3, a compound document and a printing command generated therefrom will be described first.

복합 문서란 둘 이상의 다양한 타입의 객체를 포함하는 문서를 의미한다. 이하에서는 텍스트 객체, 그래픽 객체 및 이미지 객체를 포함하는 복합 문서를 예를 들어 설명한다. 이때, 텍스트 객체는 문자나 숫자로 구성되고, 그래픽 객체는 선 및 도형 등으로 구성되며, 이미지 객체는 사진 등으로 구성된다.A compound document is a document that contains two or more different types of objects. Hereinafter, a compound document including a text object, a graphic object, and an image object will be described as an example. At this time, the text object is composed of letters or numbers, the graphic object is composed of lines and figures, and the image object is composed of photographs and the like.

복합 문서로부터 생성되는 프린팅 커맨드는 복합 문서에 포함된 다양한 타입의 객체들 각각에 대응되는 커맨드를 포함한다. 예를 들어, 복합 문서가 텍스트 객체, 그래픽 객체 및 이미지 객체를 포함한다면, 프린팅 데이터는 텍스트 커맨드(text command), 그래픽 커맨드(graphic command) 및 래스터 커맨드(raster command)를 포함한다. (이미지 객체는 래스터 커맨드에 대응)The printing command generated from the compound document includes a command corresponding to each of the various types of objects included in the compound document. For example, if the compound document includes a text object, a graphic object, and an image object, the printing data includes a text command, a graphic command, and a raster command. (Image object corresponds to raster command)

그런데, 일반적으로 사용되는 OS 및 문서 생성/편집 어플리케이션에 의할 경우 복합 문서에 포함된 이미지 객체는 프린팅 커맨드 생성 과정에서 복수의 래스터 커맨드로 분할되어 표현된다. 다시 말해, 문서상에서는 실제로 하나의 단일 이미지(single image)로 표현되는 객체라도 프린팅 커맨드에서는 복수의 래스터 커맨드로 표현되며, 따라서 각각의 래스터 커맨드는 단일 이미지를 분할한 각각의 부분에 대응되게 된다.However, in the case of a commonly used OS and document creation / editing application, an image object included in a compound document is divided into a plurality of raster commands in a printing command generation process. In other words, even in the case of an object represented as a single image in a document, the printing command is expressed by a plurality of raster commands, and each raster command corresponds to each part of a single image.

이와 같이 이미지 객체가 복수의 래스터 커맨드로 분할되어 표현되기 때문에 이미지 객체에 화질 개선 알고리즘을 적용함에 있어서 제약이 발생하게 된다. 왜냐하면, 일부 화질 개선 알고리즘은 특정 위치의 픽셀 값을 보정하기 위해서 그 주변에 위치한 픽셀 값들을 이용해야 하는데, 이미지가 분할된 상태에서 이러한 알고리즘이 적용되게 되면 분할된 다른 부분의 픽셀 값들을 이용할 수 없기 때문이다. 따라서, 알고리즘 적용 후 분할된 부분들이 하나의 이미지로 합쳐졌을 때 분할 경계면 주변이 자연스럽지 못하게 되는 문제점이 있다.Since the image object is divided into a plurality of raster commands, the image quality improvement algorithm is limited. This is because some image quality improvement algorithms must use pixel values located in the periphery thereof to correct pixel values at specific positions. If such an algorithm is applied in the state where an image is divided, pixel values of other divided portions can not be used Because. Therefore, there is a problem that when the divided parts are combined into one image after the application of the algorithm, the periphery of the divided boundary becomes unnatural.

단일 이미지로부터 분할된 복수의 래스터 커맨드 각각에 대해서 화질 개선 알고리즘을 적용할 경우 발생할 수 있는 문제점에 대한 이해를 돕기 위해, 구체적인 화질 개선 알고리즘에 대해서 설명한다. 단, 이하에서 설명되는 화질 개선 알고리즘 외에도 다른 알고리즘이 사용될 수도 있다.A specific picture quality improvement algorithm will be described to help understand the problems that may occur when applying the picture quality improvement algorithm to each of a plurality of divided raster commands from a single image. However, other algorithms may be used in addition to the image enhancement algorithm described below.

화질 개선 알고리즘에는 다이나믹 레인지(dynamic range) 확장, 대비 증폭(contrast enhancement) 및 채도 향상(saturation enhancement) 등과 같이 컬러(color)를 변경하는 방법, 또는 선명화(sharpening) 및 평활화(smoothing) 등과 같이 이미지의 질감을 개선하는 방법 등이 있다. 이러한 화질 개선 알고리즘들은 개선 대상 이미지의 특정 픽셀의 값을 결정함에 있어서, 특정 픽셀의 주변에 위치한 픽셀들의 값을 이용한다. 그런데, 개선 대상 이미지가 복수의 부분으로 분할되어 있다면, 분할 경계면 주변에 위치한 주변 픽셀 정보를 이용할 수 없다. 따라서, 분할된 각 부분에 화질 개선 알고리즘을 적용한 후 하나의 이미지로 병합한다면 분할 경계면 부분이 자연스럽지 못하게 되는 문제점이 발생할 수 있다.The picture quality improvement algorithm includes a method of changing the color, such as dynamic range expansion, contrast enhancement, and saturation enhancement, or a method of changing the color, such as sharpening and smoothing, To improve the texture of the. These image quality improvement algorithms use values of pixels located in the vicinity of a specific pixel in determining the value of a specific pixel of the image to be improved. However, if the enhancement target image is divided into a plurality of portions, surrounding pixel information located in the vicinity of the divided boundary surface can not be used. Therefore, if the image quality improvement algorithm is applied to each divided part and then merged into one image, there may arise a problem that the divided boundary part becomes unnatural.

이하에서는 선명화 연산을 예로 들어 설명한다. 선명화 연산이란 특정 픽셀의 주변에 위치한 픽셀들의 값의 평균을 구하고, 특정 픽셀의 현재 값과 주변 픽셀값의 평균과의 차이값을 구하고, 차이값에 일정한 가중치를 곱한 후 특정 픽셀의 현재 값이 더함으로써, 특정 픽셀의 값이 주변과 더 차이가 나도록 하는 방법이다.The sharpening operation will be described below as an example. The sharpening operation is an operation of obtaining an average value of pixels located around a specific pixel, obtaining a difference value between a current value of a specific pixel and an average of neighboring pixel values, multiplying the difference value by a predetermined weight value, , So that the value of a specific pixel is different from that of the surrounding area.

도 12를 참조하면, 픽셀 X를 기준으로 주변에 위치한 픽셀들(0~15)의 값이 픽셀 X의 값을 결정하는데 영향을 주게 된다. 하지만, 그림과 같이 픽셀 X의 아래 부분이 잘려져 있는 상태라면, 잘려진 부분에 위치한 픽셀들(10~15)의 값을 사용할 수 없으므로, 선명화 연산이 수행된 픽셀 X의 값은 원본 이미지 전체에 대해서 선명화 연산을 사용했을 때와 다른 결과를 얻게 된다.Referring to FIG. 12, the values of neighboring pixels (0 to 15) based on the pixel X affect the determination of the value of the pixel X. FIG. However, if the lower part of the pixel X is cut off as shown in the figure, since the values of the pixels 10 to 15 located at the cut part can not be used, the value of the pixel X subjected to the sharpening operation is You will get different results from using sharpening operations.

이하에서는, 대비 증폭 방법을 예로 들어 설명한다. 주로 0~255 범위의 값을 갖는 한 바이트 데이터를 사용하여 이미지를 표현하기 때문에, 128을 기준으로 1D LUT(lookup table)의 기울기를 조정하는 방법을 사용할 수 있으나, 이러한 방법은 0~255 범위의 값이 고르게 분포하고 있는 이미지의 경우 효과를 기대할 수 있으나, 이미지의 밝기가 전체적으로 밝거나 어두워서 평균이 0 또는 255에 치우쳐 있ㅆ는 경우, 또는 이미지의 각 부분에 지역적으로 일정 범위의 값이 몰려 있는 경우 오히려 품질이 더 나빠질 수 있다. 따라서, 128이 아닌 전체 평균을 기준으로 기울기를 조정하거나, 전체 이미지에 포함된 각 영역의 상대적인 값을 기준으로 콘트라스트(contrast)를 조정하여 화질을 개선하는 방법이 사용된다. 이러한 경우에도 특정 픽셀의 값을 조정함에 있어서 주변 픽셀들의 정보를 이용해야 하므로, 앞서 설명한 선명화 연산에서 발생할 수 있는 문제점이 유사하게 발생할 수 있다.Hereinafter, the contrast amplification method will be described as an example. Since the image is represented using one byte data having a value ranging from 0 to 255, a method of adjusting the slope of a 1D lookup table (LUT) based on 128 can be used. However, You can expect an effect for an image with an even distribution of values, but if the image is bright or dark overall, and the average is biased at 0 or 255, or if there is a locally range of values in each part of the image If not, the quality can get worse. Therefore, a method of adjusting the slope on the basis of the overall average rather than 128, or adjusting the contrast based on the relative value of each area included in the entire image, is used to improve the image quality. Even in this case, since the information of surrounding pixels must be used in adjusting the value of a specific pixel, a problem that may occur in the above-described sharpening operation may occur similarly.

다이나믹 레인지 확장 방법의 경우도 하나의 이미지 전체의 정보를 참조하여 화질을 개선하는 방법이므로, 분할된 이미지를 그대로 사용할 경우 병합되었을 때 분할 경계 부분이 자연스럽지 않을 수 있다. 또한, 앞서 예로 든 다른 화질 개선 알고리즘들 역시 유사한 문제점들이 발생할 수 있다.In the case of the dynamic range extension method, since the image quality is improved by referring to the information of the whole image, when the divided image is used as it is, the divided boundary portion may not be natural. In addition, other image quality enhancement algorithms as described above may also cause similar problems.

한편, 단일 이미지가 복수의 래스터 커맨드로 분할되기 때문에 압축 효율 측면에 있어서도 문제가 있을 수 있다. 예를 들어, JPEG 파일은 8x8 블록을 최소 단위로 하여 압축을 하는데, 분할된 이미지의 크기가 8의 배수가 아니라면 압축 효율이 나빠지며, 분할된 이미지의 크기가 오히려 압축 최소 단위보다 작다면 오히려 압축을 하지 않는 것이 더 효과적일 수도 있다.On the other hand, since a single image is divided into a plurality of raster commands, there may be a problem in terms of compression efficiency. For example, a JPEG file is compressed by a minimum unit of 8x8 blocks. If the size of the divided image is not a multiple of 8, the compression efficiency becomes poor. If the size of the divided image is smaller than the minimum compression unit, It may be more effective not to.

따라서, 이하의 실시예에서는 하나의 단일 이미지로부터 분할된 부분들에 대응되는 래스터 커맨드들을 일정한 기준에 따라 병합(merge)한 후에 화질 개선 알고리즘을 적용하거나, 또는 압축을 하는 방식으로 프로세스를 수행한다.Therefore, in the following embodiments, the raster commands corresponding to the divided portions from one single image are merged according to a certain criterion, and then the image quality improvement algorithm is applied or the process is performed in a compression manner.

다시 도 3으로 돌아오면, 프린터 드라이버(30)의 구체적인 구성이 도시되었다. 도 3을 참조하면, 프린터 드라이버(30)는 커맨드 핸들러(command handler 31), 프레임 버퍼(frame buffer 32), 래스터 옵티마이저(raster optimizer 33) 및 PCL 인코더(PCL encoder 34)를 포함할 수 있다.3, the specific configuration of the printer driver 30 is shown. Referring to FIG. 3, the printer driver 30 may include a command handler 31, a frame buffer 32, a raster optimizer 33, and a PCL encoder 34.

커맨드 핸들러(31)는 어플리케이션(20)으로부터 수신한 프린팅 커맨드를 프레임 버퍼(32)에 저장한다. 이때, 커맨드 핸들러(31)는 복합 문서의 페이지 단위로 프린팅 커맨드를 프레임 버퍼(32)에 저장한다.The command handler 31 stores the printing command received from the application 20 in the frame buffer 32. [ At this time, the command handler 31 stores the printing command in the frame buffer 32 in page units of the compound document.

래스터 옵티마이저(33)는 프레임 버퍼(32)에 복합 문서의 한 페이지에 대응되는 프린팅 커맨드가 저장되면, 프린팅 커맨드에 포함된 복수의 래스터 커맨드들을 병합한다. When the printing command corresponding to one page of the compound document is stored in the frame buffer 32, the raster optimizer 33 merges the plurality of raster commands included in the printing command.

이때, 병합할 래스터 커맨드들을 선택하는 기준은 다음과 같다.At this time, the criteria for selecting the raster commands to be merged are as follows.

첫 번째로, 소스 이미지와 데스티네이션 이미지의 확대/축소 비율에 기초하여 판단할 수 있다. 래스터 커맨드에는 소스 이미지와 데스티네이션 이미지의 크기에 대한 정보가 포함되므로, 각 래스터 커맨드에 대해 소스 이미지와 데스티네이션 이미지간의 확대/축소 비율을 산출할 수 있고, 산출된 확대/축소 비율이 동일한 래스터 커맨드들은 단일 이미지로부터 분할된 부분들에 대응되는 것으로 판단할 수 있다.First, it can be judged based on the enlargement / reduction ratio of the source image and the destination image. Since the raster command includes information about the sizes of the source image and the destination image, the enlargement / reduction ratio between the source image and the destination image can be calculated for each raster command, and the raster command having the same enlargement / Can be determined to correspond to divided parts from a single image.

두 번째로, 데스티네이션 이미지의 인접 여부에 기초하여 판단할 수 있다. 래스터 커맨드에는 데스티네이션 이미지의 위치에 대한 정보가 포함되므로, 이를 비교하여 인접 여부를 판단할 수 있다.Second, it can be judged based on whether or not the destination image is adjacent. Since the raster command includes information on the position of the destination image, the raster command can be compared to judge whether or not it is adjacent.

세 번째로, 분할된 부분의 일부 영역이 겹치는(overlapping) 경우 데이터의 동일성 여부에 기초하여 판단할 수 있다.Third, In the case of overlapping a part of the divided parts, it can be judged based on whether or not the data are identical.

병합 대상이 되는 래스터 커맨드를 선택하는 방법은 아래에서 도 7 내지 도 9를 참조하여 다시 한 번 자세하게 설명하도록 한다.A method of selecting a raster command to be merged will be described in detail below with reference to FIGS. 7 to 9 again.

래스터 커맨드들의 병합이 완료되면, 래스터 옵티마이저(33)는 병합된 래스터 커맨드 그룹에 화질 개선 알고리즘을 적용한다. 다만, 특정한 경우에는 병합된 래스터 커맨드에 화질 개선 알고리즘을 적용하지 않을 수 있다. 예를 들어, 데스티네이션 이미지의 크기가 너무 작아서 화질 개선 효과를 기대하기 어려운 경우이거나, 병합된 래스터 커맨드가 8비트 이하인 경우이거나, 또는 병합된 래스터 커맨드가 사진 등과 같은 이미지를 표현하는 것이 아니라고 판단되는 경우에는 화질 개선 알고리즘을 적용하지 않는다.When the merging of the raster commands is completed, the raster optimizer 33 applies the image quality improvement algorithm to the merged raster command group. However, in a specific case, the image quality improvement algorithm may not be applied to the merged raster command. For example, when the size of the destination image is too small to expect an image quality improvement effect, or when the merged raster command is 8 bits or less, or when it is judged that the merged raster command does not represent an image such as a photograph or the like The image quality improvement algorithm is not applied.

한편, 래스터 옵티마이저(33)는 병합된 래스터 커맨드 그룹에 압축을 수행할 수도 있다.On the other hand, the raster optimizer 33 may perform compression on the merged raster command group.

래스터 옵티마이저(33)는 래스터 커맨드들을 병합하여 화질 개선 알고리즘을 적용한 후에, 필요한 경우 병합된 래스터 커맨드 그룹 중 일부 또는 전부를 다시 분할할 수도 있다. 예를 들어, 병합되기 전의 래스터 커맨드 사이에 다른 커맨드가 존재하고, 커맨드의 연산 순서가 출력에 영향을 미치는 경우라면 병합된 래스터 커맨드를 다시 분할하여 원래의 커맨드 순서에 따라서 배열한다.The raster optimizer 33 may re-partition some or all of the merged raster command groups, if necessary, after merging the raster commands to apply the image quality improvement algorithm. For example, if there are other commands between the raster commands before merging and the order of the commands affects the output, the merged raster commands are divided again and arranged according to the original command order.

래스터 옵티마이저(33)가 프린팅 커맨드에 화질 개선 알고리즘의 적용한 후 다시 프레임 버퍼(32)로 전송하면, 프레임 버퍼(32)는 수신한 프린팅 커맨드를 PCL 인코더(34)로 전송한다.When the raster optimizer 33 sends the printing command to the frame buffer 32 after applying the image quality improvement algorithm, the frame buffer 32 transmits the received printing command to the PCL encoder 34. [

PCL 인코더(34)는 프린터가 지원하는 PCL을 이용하여 수신한 프린팅 커맨드를 인코딩하고, 인코딩된 프린팅 커맨드를 PC(100)에 연결된 프린터로 출력한다.The PCL encoder 34 encodes the received printing command using the PCL supported by the printer and outputs the encoded printing command to the printer connected to the PC 100. [

도 4는 일 실시예에 따라 단일 이미지 객체가 복수의 래스터 커맨드로 분할되어 표현되는 과정을 도시한 도면이다. 도 4에는 단일 이미지(410), 프린팅 커맨드(420) 및 분할된 이미지(430)가 개념적으로 도시되었다.4 is a diagram illustrating a process in which a single image object is divided into a plurality of raster commands and rendered according to an embodiment. In FIG. 4, a single image 410, a printing command 420, and a divided image 430 are conceptually illustrated.

도 4를 참조하면, 단일 이미지(410)에 대해서 프린팅 커맨드(420)를 생성하면 복수의 래스터 커맨드들(RC_p1 내지 RC_p4)로 표현된다. 즉, 프린팅 커맨드(420)에 포함된 래스터 커맨드들은 분할된 이미지(430)의 각 부분들(p1 내지 p4)에 각각 대응된다. 한편 이때, p1에 대한 래스터 커맨드는 “RC_p1”과 같이 표시하고, 이하에서 텍스트 커맨드 및 그래픽 커맨드에 대해서도 유사한 방식으로 표시하기로 한다.Referring to FIG. 4, generating the printing command 420 for a single image 410 is represented by a plurality of raster commands RC_p1 to RC_p4. That is, the raster commands included in the printing command 420 correspond to the respective portions p1 to p4 of the divided image 430, respectively. At this time, the raster command for p1 is displayed as " RC_p1 ", and text commands and graphic commands are also displayed in a similar manner below.

도 5는 일 실시예에 따라 다양한 타입의 객체를 포함하는 복합 문서에 대한 프린팅 커맨드가 생성되는 과정을 도시한 도면이다.FIG. 5 illustrates a process of generating a printing command for a compound document including various types of objects according to an exemplary embodiment of the present invention. Referring to FIG.

도 5를 참조하면, 복합 문서(510)는 이미지 객체(511), 그래픽 객체(512) 및 텍스트 객체(513)를 포함한다. 그리고, 복합 문서(510)에 대하여 생성된 프린팅 커맨드(520)에는 각 객체에 대응되는 커맨드들이 포함되어 있다. 구체적으로, 프린팅 커맨드(520)에는 이미지 객체(511)의 각 분할 부분에 대응되는 래스터 커맨드들(RC_p1 내지 RC_p4), 그래픽 객체(512)의 원에 대응되는 그래픽 커맨드(GC_c)와 삼각형에 대응되는 그래픽 커맨드(GC_t), 그리고 텍스트 객체(513)에 대응되는 텍스트 커맨드들(TC_xxxx 및 TC_yyyy)이 포함되어 있다.Referring to FIG. 5, the compound document 510 includes an image object 511, a graphic object 512, and a text object 513. The printing command 520 generated for the compound document 510 includes commands corresponding to each object. Specifically, the printing command 520 includes raster commands RC_p1 to RC_p4 corresponding to the respective divided portions of the image object 511, a graphic command GC_c corresponding to the circle of the graphic object 512, A graphic command GC_t, and text commands TC_xxxx and TC_yyyy corresponding to the text object 513.

한편, 530 영역에는 프린팅 커맨드(520)에 대응되는 구성들을 프린팅 커맨드(520)의 순서에 따라 도시하였다.In the area 530, the structures corresponding to the printing command 520 are shown in the order of the printing command 520. [

이와 같이, 다양한 객체를 포함하는 복합 문서(510)에 대한 프린팅 커맨드(520)를 생성하면, 이미지 객체(511)는 복수의 래스터 커맨드들로 분할되어 표현되며, 복수의 래스터 커맨드들 사이에는 다른 커맨드들이 위치하게 됨을 알 수 있다. 따라서, 프린팅 커맨드(520)에 포함된 래스터 커맨드들을 병합하기 위해서는, 래스터 커맨드들이 단일 이미지로부터 분할된 것인지 여부를 판단할 필요가 있다. 래스터 커맨드들이 단일 이미지로부터 분할된 것인지 여부를 판단하는 기준, 즉 병합할 래스터 커맨드들을 선택하는 자세한 기준은 아래에서 도 7 내지 도 9를 참조하여 자세히 설명한다.In this manner, when the printing command 520 for the compound document 510 including various objects is generated, the image object 511 is divided into a plurality of raster commands and represented, and among the plurality of raster commands, As shown in FIG. Therefore, in order to merge the raster commands included in the printing command 520, it is necessary to determine whether the raster commands are divided from a single image. The criteria for determining whether the raster commands are divided from a single image, i.e., the criteria for selecting the raster commands to merge, will be described in detail below with reference to Figures 7 to 9 below.

도 6은 일 실시예에 따라 래스터 커맨드를 병합하고, 화질 개선 알고리즘을 적용한 후, 다시 래스터 커맨드를 분할하는 과정을 도시한 도면이다. 도 6에서는 610a, 620a, 630a 및 640a 영역에 프린팅 커맨드들을 표시하였고, 610b, 620b, 630b 및 640b 영역에는 각각의 프린팅 커맨드에 대응되는 구성들을 도시하였다. 따라서, 610a, 620a, 630a 및 640a 영역에 대한 설명은 동일하게 610b, 620b, 630b 및 640b 영역에도 적용된다.FIG. 6 is a diagram illustrating a process of merging a raster command according to an embodiment, applying a picture quality improvement algorithm, and then dividing a raster command again. In FIG. 6, printing commands are shown in 610a, 620a, 630a, and 640a regions, and 610b, 620b, 630b, and 640b regions have configurations corresponding to respective printing commands. Accordingly, descriptions of the areas 610a, 620a, 630a, and 640a are also applied to the areas 610b, 620b, 630b, and 640b.

도 6을 참조하면, 610a 영역의 프린팅 커맨드 중에서 단일 이미지에 대응되는 래스터 커맨드들(RC_p1 내지 RC_p4)을 선택하고, 선택된 래스터 커맨드들을 병합한다. 단일 이미지에 대응되는 래스터 커맨드들을 선택하는 앞서 설명한 바와 같다. 620a 영역에는 래스터 커맨드들이 병합된 후의 프린팅 커맨드가 표시되었고, 이 중 621a 영역에는 병합된 래스터 커맨드 그룹이 표시되었다.Referring to FIG. 6, raster commands (RC_p1 to RC_p4) corresponding to a single image among the printing commands in the area 610a are selected, and the selected raster commands are merged. And the raster commands corresponding to the single image are selected as described above. The printing command after the raster commands are merged is displayed in the area 620a, and the merged raster command group is displayed in the area 621a.

621a 영역의 병합된 래스터 커맨드 그룹에 화질 개선 알고리즘을 적용한 후의 프린팅 커맨드를 630a 영역에 표시하였다. 631a 영역에는 화질 개선 알고리즘이 적용된 래스터 커맨드 그룹(RC_p1e 내지 RC_p4e)이 표시되었다.A printing command after applying the image quality improvement algorithm to the merged raster command group in the area 621a is displayed in the area 630a. The raster command groups (RC_p1e to RC_p4e) to which the picture quality improvement algorithm is applied are displayed in the area 631a.

마지막으로, 631a 영역의 병합된 래스터 커맨드 그룹에서 분할이 필요한 일부 래스터 커맨드를 분할한다. 예를 들어, 병합된 래스터 커맨드 사이에 원래는 다른 커맨드가 위치하고 있었던 경우에는 래스터 커맨드를 분할한다. 즉, 610a 영역의 프린팅 커맨드 상에서, RC_p1e와 RC_p2e 사이에는 GC_c가 있었고, RC_p3e와 RC_p4e 사이의 TC_xxxx 및 GC_t가 있었으므로, 이 두 부분을 분할한다. 하지만, 641a 영역의 RC_p2e와 RC_p3e 사이에는 다른 커맨드가 존재하지 않았으므로 이 두 래스터 커맨드는 분할하지 않고 하나의 그룹으로 병합된 상태를 유지할 수도 있다.Finally, some raster commands which need to be divided are divided in the merged raster command group of the area 631a. For example, when another command is originally located between the merged raster commands, the raster command is divided. That is, on the printing command in the area 610a, there is GC_c between RC_p1e and RC_p2e, and TC_xxxx and GC_t between RC_p3e and RC_p4e. However, since there is no other command between RC_p2e and RC_p3e in the 641a area, these two raster commands can be kept merged into one group without being divided.

한편, 병합된 래스터 커맨드 그룹에 그룹 ID를 부여하고, 래스터 커맨드 그룹을 다시 분할하더라도 그룹 정보를 이후의 렌더링 과정에서 사용할 수 있다. 예를 들어, 병합되었다가 분할된 래스터 커맨드에 부여되는 그룹 정보는 그룹 ID, 그룹에 포함된 래스터 커맨드의 총 개수, 그룹 내에서의 해당 래스터 커맨드의 위치 등을 포함하며, 이후의 렌더링 과정에서 이러한 그룹 정보를 사용할 수 있다.On the other hand, even if the group ID is assigned to the merged raster command group and the raster command group is divided again, the group information can be used in the subsequent rendering process. For example, the group information assigned to the merged and divided raster command includes the group ID, the total number of raster commands included in the group, the position of the raster command in the group, and the like. Group information can be used.

특히, 소스 이미지와 데스티네이션 이미지의 크기가 달라지는 리사이징(resizing) 과정에서 인터폴레이션 알고리즘(interpolation algorithm)을 사용하는데 있어서, 1st 오더(order) 이상의 방식을 사용하는 경우, 분할된 경계가 두드러져 보이는 문제가 있어 제로 오더(zero order)만을 사용할 수 밖에 없는 한계가 있지만, 그룹 정보를 이용함으로써 인접한 래스터 커맨드들을 식별할 수 있으므로 다양한 알고리즘을 적용할 수 있다.Particularly, in the case of using an interpolation algorithm in a resizing process in which sizes of a source image and a destination image are changed, there is a problem that divided boundaries appear conspicuously when a method of order 1 or more is used Although there is a limitation that only the zero order can be used, various algorithms can be applied because the adjacent raster commands can be identified by using the group information.

이하에서는 프린팅 커맨드에 포함된 래스터 커맨드 중에서 병합의 대상이 되는 래스터 커맨드, 즉 단일 이미지에 대응되는 래스터 커맨드를 선택하는 구체적인 방법에 해서 도 7 내지 도 9를 참조하여 설명한다.Hereinafter, a specific method of selecting a raster command to be merged, that is, a raster command corresponding to a single image among the raster commands included in the printing command will be described with reference to Figs. 7 to 9. Fig.

도 7은 소스 이미지와 데스티네이션 이미지의 확대/축소 비율에 기초하여 병합 대상이 되는 래스터 커맨드를 판단하는 실시예를 도시한 도면이다.Fig. 7 is a diagram showing an embodiment for determining a raster command to be merged based on an enlargement / reduction ratio of a source image and a destination image.

도 7을 참조하면, 710 영역에는 래스터 커맨드들(RC_p1 및 RC_p2)이 표시되고, 720 영역에는 각 래스터 커맨드들에 대응되는 소스 이미지들(p1_s 및 p2_s)이 표시되고, 730 영역에는 각 래스터 커맨드들에 대응되는 데스티네이션 이미지들(p1_d 및 p2_d)이 표시되었다. 각 래스터 커맨드들로부터 소스 이미지(source image)와 데스티네이션 이미지(destination image)의 확대/축소 비율을 산출하고, 산출된 비율을 다른 래스터 커맨드로부터 산출된 비율과 비교할 수 있다.Referring to FIG. 7, the raster commands RC_p1 and RC_p2 are displayed in the area 710, the source images p1_s and p2_s corresponding to the raster commands are displayed in the area 720, The destination images p1_d and p2_d are displayed. It is possible to calculate the enlargement / reduction ratio of the source image and the destination image from each raster command and compare the calculated ratio with the ratio calculated from the different raster commands.

도 7에서 p1의 경우 소스 이미지(p1_s)로부터 데스티네이션 이미지(p1_d)로 확대된 비율은 2배이다. 또한, p2의 경우에도 소스 이미지(p2_s)로부터 데스티네이션 이미지(p2_d)로 확대된 비율은 2배이다. 즉, p1와 p2는 소스 이미지와 데스티네이션 이미지간의 확대/축소 비율이 일치하므로, 단일 이미지에 대한 래스터 커맨드들로 판단할 수 있다.In Fig. 7, in the case of p1, the magnification ratio from the source image p1_s to the destination image p1_d is doubled. Also in the case of p2, the ratio of magnification from the source image p2_s to the destination image p2_d is doubled. In other words, p1 and p2 can be judged as raster commands for a single image because the scaling ratios between the source image and the destination image coincide with each other.

도 8은 데스티네이션 이미지의 위치를 비교하여 병합 대상이 되는 래스터 커맨드를 판단하는 실시예를 도시한 도면이다.8 is a diagram showing an embodiment for comparing the positions of the destination images and determining the raster command to be merged.

도 8을 참조하면, 810 영역에는 래스터 커맨드들(RC_p1 및 RC_p2)이 표시되고, 820 영역에는 각 래스터 커맨드에 대응되는 데스티네이션 이미지들(p1_d 및 p2_d)이 표시되었다.Referring to FIG. 8, raster commands RC_p1 and RC_p2 are displayed in the area 810, and destination images p1_d and p2_d corresponding to the raster commands are displayed in the area 820.

도 8에 도시된 실시예에서는 데스티네이션 이미지들의 위치를 비교함으로써 래스터 커맨드가 단일 이미지에 대응되는지 여부를 판단할 수 있다. 즉, 래스터 커맨드들에 대응되는 데스티네이션 이미지들의 위치가 서로 인접하다면, 래스터 커맨드들은 단일 이미지에 대응되는 것으로 판단할 수 있다.In the embodiment shown in Fig. 8, it is possible to judge whether the raster command corresponds to a single image by comparing the positions of the destination images. That is, if the positions of the destination images corresponding to the raster commands are adjacent to each other, it can be determined that the raster commands correspond to a single image.

도 9는 중첩되는 영역의 픽셀 값을 비교하여 병합 대상이 되는 래스터 커맨드를 판단하는 실시예를 도시한 도면이다.9 is a view showing an embodiment for comparing raster commands to be merged by comparing pixel values of overlapping areas.

도 9를 참조하면, 910 영역에는 래스터 커맨드들(RC_p1 및 RC_p2)이 표시되고, 920 영역에는 각 래스터 커맨드에 대응되는 데스티네이션 이미지들(p1_d 및 p2_d)이 표시되었다.9, the raster commands RC_p1 and RC_p2 are displayed in the area 910, and the destination images p1_d and p2_d corresponding to the raster commands are displayed in the area 920.

단일 이미지로부터 복수의 래스터 커맨드를 생성함에 있어서, 어느 한 래스터 커맨드의 일부 영역이 이웃한 다른 래스터 커맨드의 일부 영역과 겹치도록 할 수 있는데, 도 9의 실시예에서는 겹치는 영역(overlapping area)의 픽셀 값이 일치하는지 여부에 따라서, 병합할 래스터 커맨드를 선택한다.In the case of generating a plurality of raster commands from a single image, it is possible that a certain area of one raster command overlaps with a part of another raster command neighboring. In the embodiment of Fig. 9, The raster command to be merged is selected.

도 9를 참조하면, 920 영역의 p1의 데스티네이션 이미지(p1_d)의 아랫부분(921)의 픽셀 값과, p2의 데스티네이션 이미지(p2_d)의 윗부분(922)의 픽셀 값을 비교하고, 픽셀 값이 일치하면 두 래스터 커맨드들(RC_p1 및 RC_p2)을 병합 대상으로 선택한다. 한편, 도 9에서는 데스티네이션 이미지를 예로 들어 설명했지만, 소스 이미지의 픽셀 값을 비교하는 것도 가능하다.9, the pixel value of the lower portion 921 of the destination image p1_d of p1 in the region 920 is compared with the pixel value of the upper portion 922 of the destination image p2_d of p2, The two raster commands RC_p1 and RC_p2 are selected as the merge target. On the other hand, although the destination image is described as an example in Fig. 9, it is also possible to compare the pixel values of the source image.

도 10 및 도 11은 화질 개선 방법의 실시예들을 순서도로 도시한 도면이다.10 and 11 are flowcharts showing embodiments of the image quality improvement method.

도 10을 참조하면, 1001 단계에서 프린터 드라이버는 복합 문서에 대한 프린팅 커맨드를 수신한다. 이때, 프린팅 커맨드는 복합 문서에 포함된 다양한 객체 각각에 대한 커맨드를 포함하고 있다.Referring to FIG. 10, in step 1001, the printer driver receives a printing command for a compound document. At this time, the printing command includes a command for each of various objects included in the compound document.

1002 단계에서 프린터 드라이버는 수신한 프린팅 커맨드에 포함된 래스터 커맨드들을 병합한다. 자세하게는, 프린터 드라이버는 프린팅 커맨드에 포함된 래스터 커맨드들 중에서 단일 이미지에 대응되는 래스터 커맨드들을 선택하고, 선택된 래스터 커맨드들을 병합한다. 단일 이미지에 대응되는 래스터 커맨드들을 선택하는 방법은 앞서 도 7 내지 도 9를 참조하여 설명한 바와 같다.In step 1002, the printer driver merges the raster commands included in the received printing command. In detail, the printer driver selects raster commands corresponding to a single image among the raster commands included in the printing command, and merges the selected raster commands. The method of selecting raster commands corresponding to a single image is as described with reference to Figs. 7 to 9 above.

1003 단계에서는 프린터 드라이버는 병합된 래스터 커맨드 그룹에 화질 개선 알고리즘을 적용한다. 단일 이미지 별로 병합된 래스터 커맨드 그룹에 알고리즘을 적용하므로, 래스터 커맨드가 분할된 상태에서 알고리즘을 적용했을 때 발생할 수 있는 문제점을 방지할 수 있다.In step 1003, the printer driver applies the image quality improvement algorithm to the merged raster command group. Since the algorithms are applied to the merged raster command group for each single image, it is possible to prevent problems that may occur when the algorithm is applied while the raster command is divided.

1004 단계에서 프린터 드라이버는 프린팅 커맨드를 프린터가 해석 가능한 프린터 제어 언어로 인코딩하고, 1005 단계에서 프린터 드라이버는 프린터 제어 언어로 인코딩된 프린팅 커맨드를 프린터로 전송한다.In step 1004, the printer driver encodes the printing command into a printer control language interpretable by the printer. In step 1005, the printer driver transmits a printing command encoded in the printer control language to the printer.

도 11에는 도 10의 단계들을 더 구체화하여 나타내었다.Fig. 11 shows the steps of Fig. 10 in more detail.

도 11을 참조하면, 프린터 드라이버는 1101 단계에서 복합 문서에 대한 프린팅 커맨드를 수신하고, 1102 단계에서는 수신한 프린팅 커맨드를 복합 문서의 페이지 단위로 프레임 버퍼에 저장한다.Referring to FIG. 11, the printer driver receives a printing command for a compound document in step 1101, and stores the received printing command in a frame buffer for each page of the compound document in step 1102. FIG.

1103 단계에서 프린터 드라이버는 한 페이지의 복합 문서에 대한 프린팅 커맨드가 프레임 버퍼에 저장되었는지 여부를 판단하고, 판단 결과 아직 한 페이지에 대한 프린팅 커맨드가 저장되지 않았다면, 1101 단계로 돌아가서 추가적으로 프린팅 커맨드를 수신한다.In step 1103, the printer driver determines whether the printing command for the composite document of one page is stored in the frame buffer. If the printing command for one page has not been stored yet, the printer driver returns to step 1101 and receives a printing command .

반면, 한 페이지의 복합 문서에 대한 프린팅 커맨드가 프레임 버퍼에 저장되었다고 판단되면, 1104 단계로 진행하여 프린터 드라이버는 프린팅 커맨드에 포함된 래스터 커맨드들을 병합한다. 병합할 래스터 커맨드들을 선택하는 방법은 앞서 도 7 내지 도 9를 참조하여 설명한 바와 같다.On the other hand, if it is determined that the printing command for the composite document of one page is stored in the frame buffer, the printer driver merges the raster commands included in the printing command in step 1104. The method of selecting the raster commands to be merged is as described with reference to Figs. 7 to 9 above.

1105 단계에서 프린터 드라이버는 병합된 래스터 커맨드 그룹에 화질 개선 알고리즘을 적용한다.In step 1105, the printer driver applies the image quality improvement algorithm to the merged raster command group.

병합된 래스터 커맨드 그룹에 화질 개선 알고리즘을 적용한 후, 1106 단계에서 프린터 드라이버는 병합된 래스터 커맨드 그룹 중에서 분할이 필요한 래스터 커맨드가 있는지 여부를 판단한다. 분할이 필요한 래스터 커맨드를 판단하는 방법에 대해서는 앞서 설명한 바와 같다.After applying the image quality improvement algorithm to the merged raster command group, the printer driver determines in step 1106 whether there is a raster command that needs to be split among the merged raster command groups. A method of determining a raster command requiring division is as described above.

판단 결과, 래스터 커맨드의 분할이 필요하다고 판단되면, 프린터 드라이버는 1107 단계로 진행하여 래스터 커맨드를 분할한 후 1108 단계로 진행한다. 하지만, 래스터 커맨드의 분할이 필요하지 않다고 판단되면, 프린터 드라이버는 바로 1108 단계로 진행하여 프린팅 커맨드를 프린터 제어 언어로 인코딩한 후 프린터로 전송한다.As a result of the determination, if it is determined that the raster command needs to be divided, the printer driver proceeds to step 1107 and divides the raster command. However, if it is determined that the raster command is not required to be divided, the printer driver directly proceeds to step 1108 to encode the printing command in the printer control language, and then transmits the printer command to the printer.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.The present invention has been described with reference to the preferred embodiments. It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 예컨데 롬, 플로피 디스크, 하드디스크 등과 같은 마그네틱 저장매체, 예컨데 씨디롬, 디브이디 등과 같은 광학적 판독매체, 및 예컨데 인터넷을 통한 전송과 같은 캐리어 웨이브와 같은 저장매체를 포함한다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium. The computer-readable recording medium includes a magnetic storage medium such as a ROM, a floppy disk, a hard disk and the like, an optical reading medium such as a CD-ROM, a DVD and the like, and a storage medium such as a carrier wave such as a transmission through the Internet .

100: PC 110: 입출력 장치
120: 네트워크 인터페이스 130: CPU
140: 주기억장치 150: 보조기억장치
10: OS 20: 어플리케이션
30: 프린터 드라이버 31: 커맨드 핸들러
32: 프레임 버퍼 33: 래스터 옵티마이저
34: PCL 인코더 200: 프린터
100: PC 110: input / output device
120: network interface 130: CPU
140: Main memory device 150: Auxiliary memory device
10: OS 20: Application
30: printer driver 31: command handler
32: frame buffer 33: raster optimizer
34: PCL encoder 200: printer

Claims (19)

복합 문서에 포함된 이미지 객체의 화질을 개선하는 방법에 있어서,
이미지 객체를 포함하는 복합 문서에 대한 인쇄 요청을 수신하는 단계;
상기 복합 문서에 대응되는 데이터 중에서 상기 이미지 객체에 대응되는 부분들을 병합하고, 상기 이미지 객체의 화질을 개선하는 단계; 및
상기 복합 문서에 대응되는 데이터를 프린터 제어 언어로 인코딩하여 출력하는 단계를 포함하는 방법.
A method of improving image quality of an image object included in a compound document,
Receiving a print request for a compound document containing an image object;
Merging portions corresponding to the image object among data corresponding to the compound document, and improving an image quality of the image object; And
Encoding the data corresponding to the compound document in a printer control language and outputting the encoded data.
제1항에 있어서,
상기 화질을 개선하는 단계는,
상기 복합 문서에 대한 프린팅 커맨드를 수신하는 단계;
상기 프린팅 커맨드에 중에서 상기 이미지 객체에 대응되는 복수의 래스터 커맨드들을 병합하는 단계; 및
상기 병합된 래스터 커맨드에 화질 개선 알고리즘을 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the improving the image quality comprises:
Receiving a printing command for the compound document;
Merging a plurality of raster commands corresponding to the image object in the printing command; And
And applying an image quality enhancement algorithm to the merged raster command.
제2항에 있어서,
상기 복수의 래스터 커맨드들을 병합하는 단계는,
상기 복수의 래스터 커맨드들 각각에 대하여 소스 이미지와 데스티네이션 이미지의 확대/축소 비율을 산출하는 단계; 및
상기 산출된 확대/축소 비율이 일치하는 래스터 커맨드들을 병합하는 단계를 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
Wherein merging the plurality of raster commands comprises:
Calculating an enlargement / reduction ratio of the source image and the destination image for each of the plurality of raster commands; And
And combining the raster commands with the calculated enlargement / reduction ratio.
제2항에 있어서,
상기 복수의 래스터 커맨드들을 병합하는 단계는,
상기 복수의 래스터 커맨드들의 데스티네이션 이미지의 위치를 비교함으로써 서로 인접한 래스터 커맨드들을 선택하는 단계; 및
상기 선택된 래스터 커맨드들을 병합하는 단계를 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
Wherein merging the plurality of raster commands comprises:
Selecting raster commands adjacent to each other by comparing positions of the plurality of raster command destination images; And
And merging the selected raster commands.
제2항에 있어서,
상기 복수의 래스터 커맨드들을 병합하는 단계는,
상기 복수의 래스터 커맨드들간의 중첩되는 영역의 픽셀 값을 비교하는 단계; 및
상기 중첩되는 영역의 픽셀 값이 일치하는 래스터 커맨드들을 병합하는 단계를 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
Wherein merging the plurality of raster commands comprises:
Comparing the pixel values of the overlapping regions between the plurality of raster commands; And
Merging raster commands whose pixel values in the overlapping regions match.
제2항에 있어서,
상기 화질을 개선하는 단계는,
상기 병합된 래스터 커맨드를 다시 분할하는 단계를 더 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
Wherein the improving the image quality comprises:
Further comprising partitioning the merged raster command again.
제6항에 있어서,
상기 병합된 레스터 커맨드를 다시 분할하는 단계는, 상기 래스터 커맨드가 병합되기 전의 상기 프린팅 커맨드에 포함된 커맨드들의 순서에 기초하여 상기 병합된 래스터 커맨드를 분할하는 것을 특징으로 하는 방법.
The method according to claim 6,
Wherein dividing the merged raster command again divides the merged raster command based on the order of the commands contained in the printing command before the raster command is merged.
제6항에 있어서,
상기 병합된 래스터 커맨드의 그룹에 그룹 ID를 부여하고, 상기 병합된 래스터 커맨드로부터 다시 분할되는 래스터 커맨드에는 그룹 ID, 그룹에 포함된 커맨드의 개수 및 상기 다시 분할되는 래스터 커맨드의 그룹 내에서의 위치 등을 포함하는 그룹 정보를 부여하는 것을 특징으로 하는 방법.
The method according to claim 6,
A group ID is assigned to a group of the merged raster commands, and a raster command to be divided again from the merged raster command includes a group ID, a number of commands included in the group, and a position in the group of the re- To the group information.
제2항에 있어서,
복수의 래스터 커맨드들을 병합하는 단계는 상기 복합 문서의 페이지 단위로 수행되는 것을 특징으로 하는 방법.
3. The method of claim 2,
And merging the plurality of raster commands is performed on a page-by-page basis of the compound document.
제1항 내지 제9항 중의 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 9.
이미지 객체를 포함하는 복합 문서에 대한 인쇄 요청을 수신하는 입출력 장치;
상기 복합 문서에 대응되는 데이터 중에서 상기 이미지 객체에 대응되는 부분들을 병합하고, 상기 이미지 객체의 화질을 개선한 후, 상기 복합 문서에 대응되는 데이터를 프린터 제어 언어로 인코딩하는 제어부; 및
상기 인코딩된 복합 문서에 대응되는 데이터를 화상형성장치로 전송하는 네트워크 인터페이스를 포함하는 장치.
An input / output device for receiving a print request for a compound document including an image object;
A control unit for merging portions corresponding to the image object among the data corresponding to the compound document, improving the image quality of the image object, and encoding the data corresponding to the compound document in a printer control language; And
And a network interface for transmitting data corresponding to the encoded compound document to an image forming apparatus.
제11항에 있어서,
상기 제어부는, 상기 복합 문서에 대한 프린팅 커맨드를 수신하고, 상기 프린팅 커맨드 중에서 상기 이미지 객체에 대응되는 복수의 래스터 커맨드들을 병합한 후, 상기 병합된 래스터 커맨드에 화질 개선 알고리즘을 적용하는 것을 특징으로 하는 장치.
12. The method of claim 11,
Wherein the control unit receives a printing command for the compound document, merges a plurality of raster commands corresponding to the image object among the printing commands, and applies an image quality improvement algorithm to the merged raster command Device.
제12항에 있어서,
상기 제어부는, 상기 복수의 래스터 커맨드들 각각에 대하여 소스 이미지와 데스티네이션 이미지의 확대/축소 비율을 산출하고, 상기 산출된 확대/축소 비율이 일치하는 래스터 커맨드들을 병합하는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein the control unit calculates an enlargement / reduction ratio of the source image and the destination image for each of the plurality of raster commands, and merges the raster commands with the calculated enlargement / reduction ratio.
제12항에 있어서,
상기 제어부는, 상기 복수의 래스터 커맨드들의 데스티네이션 이미지의 위치를 비교함으로써 서로 인접한 래스터 커맨드들을 선택하고, 상기 선택된 래스터 커맨드들을 병합하는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein the control unit selects raster commands adjacent to each other by comparing the positions of the destination images of the plurality of raster commands and merges the selected raster commands.
제12항에 있어서,
상기 제어부는, 상기 복수의 래스터 커맨드들간의 중첩되는 영역의 픽셀 값을 비교하고, 상기 중첩되는 영역의 픽셀 값이 일치하는 래스터 커맨드들을 병합하는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein the control unit compares the pixel values of the overlapping areas between the plurality of raster commands and merges the raster commands whose pixel values of the overlapping area match.
제12항에 있어서,
상기 제어부는, 상기 병합된 래스터 커맨드들에 상기 화질 개선 알고리즘을 적용한 후에, 상기 병합된 래스터 커맨드들을 다시 분할하는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein the controller divides the merged raster commands again after applying the image quality improvement algorithm to the merged raster commands.
제16항에 있어서,
상기 제어부는, 상기 래스터 커맨드가 병합되기 전의 상기 프린팅 커맨드에 포함된 커맨드들의 순서에 기초하여 상기 병합된 래스터 커맨드를 분할하는 것을 특징으로 하는 장치.
17. The method of claim 16,
Wherein the control unit divides the merged raster command based on a sequence of commands included in the printing command before the raster command is merged.
제16항에 있어서,
상기 제어부는, 상기 병합된 래스터 커맨드의 그룹에 그룹 ID를 부여하고, 상기 병합된 래스터 커맨드로부터 다시 분할되는 래스터 커맨드에는 그룹 ID, 그룹에 포함된 커맨드의 개수 및 상기 다시 분할되는 래스터 커맨드의 그룹 내에서의 위치 등을 포함하는 그룹 정보를 부여하는 것을 특징으로 하는 장치.
17. The method of claim 16,
Wherein the controller assigns a group ID to a group of the merged raster commands, and the raster command divided again from the merged raster command includes a group ID, a number of commands included in the group, and a group of raster commands And a position in the first group.
제12항에 있어서,
상기 제어부는, 상기 복합 문서의 페이지 단위로 상기 복수의 래스터 커맨드들을 병합하는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein the control unit merges the plurality of raster commands in units of pages of the compound document.
KR1020160021309A 2016-02-23 2016-02-23 Method for enhancing quality of image object included in compound document and apparatus for performing the same KR20170099211A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160021309A KR20170099211A (en) 2016-02-23 2016-02-23 Method for enhancing quality of image object included in compound document and apparatus for performing the same
US15/424,353 US10169688B2 (en) 2016-02-23 2017-02-03 Method of enhancing quality of image object included in compound document and apparatus for performing the method
EP17154849.8A EP3211519B1 (en) 2016-02-23 2017-02-06 Method of enhancing quality of image object included in compound document and apparatus for performing method
CN201710099796.4A CN107102827B (en) 2016-02-23 2017-02-23 Method for improving quality of image object and apparatus for performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160021309A KR20170099211A (en) 2016-02-23 2016-02-23 Method for enhancing quality of image object included in compound document and apparatus for performing the same

Publications (1)

Publication Number Publication Date
KR20170099211A true KR20170099211A (en) 2017-08-31

Family

ID=58094161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160021309A KR20170099211A (en) 2016-02-23 2016-02-23 Method for enhancing quality of image object included in compound document and apparatus for performing the same

Country Status (4)

Country Link
US (1) US10169688B2 (en)
EP (1) EP3211519B1 (en)
KR (1) KR20170099211A (en)
CN (1) CN107102827B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180067221A (en) * 2016-12-12 2018-06-20 에이치피프린팅코리아 주식회사 Host divice transmitting print data to printer and method for encoding print data by host device
CN109919941A (en) * 2019-03-29 2019-06-21 深圳市奥特立德自动化技术有限公司 Internal screw thread defect inspection method, device, system, equipment and medium
JP7325308B2 (en) * 2019-11-19 2023-08-14 ルネサスエレクトロニクス株式会社 Image processing device and image processing method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219149B1 (en) * 1997-04-01 2001-04-17 Fuji Xerox Co., Ltd. Print processing apparatus
US5999710A (en) * 1997-06-17 1999-12-07 Hewlett-Packard Company Merge plane generation for a data processing pipeline
JP3246415B2 (en) * 1997-10-17 2002-01-15 日本電気株式会社 Recording medium recording printer control system and printer control program
US6791711B1 (en) * 1998-06-24 2004-09-14 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and recording medium
JP3619143B2 (en) * 1999-11-18 2005-02-09 キヤノン株式会社 Image processing apparatus and method
US7609402B2 (en) * 2001-01-19 2009-10-27 Flexiworld, Inc. Methods for universal data output
GB0124630D0 (en) * 2001-10-13 2001-12-05 Picsel Res Ltd "Systems and methods for generating visual representations of graphical data and digital document processing"
DE10204751B4 (en) * 2002-02-06 2005-03-03 Heidelberger Druckmaschinen Ag Method for converting a linework data format into the format of a page description language
JP2006093898A (en) * 2004-09-21 2006-04-06 Fuji Xerox Co Ltd Image forming method and apparatus
US8693059B2 (en) * 2005-09-16 2014-04-08 Ricoh Production Print Solutions Printer controlled dynamically altered N-UP imaging
JP2007206920A (en) * 2006-02-01 2007-08-16 Sony Corp Image processor and image processing method, retrieving device and method, program and recording medium
JP4747903B2 (en) 2006-03-28 2011-08-17 セイコーエプソン株式会社 Printing device
US20100265313A1 (en) * 2009-04-17 2010-10-21 Sony Corporation In-camera generation of high quality composite panoramic images
US8743424B2 (en) 2010-06-18 2014-06-03 Hewlett-Packard Development Company, L.P. Pre-print enhancement of a raster image
JP2012048381A (en) * 2010-08-25 2012-03-08 Canon Inc Image processing apparatus, image processing method, and program
JP6139830B2 (en) * 2011-11-07 2017-05-31 キヤノン株式会社 Printing apparatus and control method thereof
CN103927767B (en) 2014-04-18 2018-05-04 北京智谷睿拓技术服务有限公司 Image processing method and image processing apparatus
US9852531B2 (en) 2014-07-11 2017-12-26 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling the same
JP6464695B2 (en) * 2014-11-25 2019-02-06 ブラザー工業株式会社 Image processing apparatus and computer program

Also Published As

Publication number Publication date
CN107102827B (en) 2021-05-14
US10169688B2 (en) 2019-01-01
EP3211519A1 (en) 2017-08-30
US20170243093A1 (en) 2017-08-24
CN107102827A (en) 2017-08-29
EP3211519B1 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
US8352856B2 (en) Systems and methods to resize document content
US8659793B2 (en) Image processing apparatus and image processing method
JP5596938B2 (en) Image processing apparatus, image processing method, and program
US7680358B2 (en) Image processing apparatus and control method thereof, and program
US20170329502A1 (en) Method and device for processing image
US8659620B2 (en) Methods and apparatus for rendering images
US8654147B2 (en) Apparatus for generating raster images, raster image generating method, and storage medium
US20090303550A1 (en) Image processing apparatus and image processing method
KR101869302B1 (en) Raster image conversion apparatus, image scanning apparatus, method for conversion of raster image, and computer-readable recording medium
CN107102827B (en) Method for improving quality of image object and apparatus for performing the same
JP5893379B2 (en) Image compression apparatus, image compression method, and computer program
JP2017024321A (en) Image processor, image formation device, and image processing time prediction method and program
US9716810B2 (en) Image processing apparatus configured to perform smoothing based on analysis of PDL data, and storage medium storing program therefor
JP2008042345A (en) Image processing method and image processor
JP2014002591A (en) Image processing apparatus, image processing method, and computer program
US9672454B2 (en) Image processing apparatus for rendering plurality of objects by dividing plurality of objects into plurality of groups, and image processing method
US10359974B2 (en) Printing apparatus, method for estimating a time required for a rendering process, and storage medium
JP2015075839A (en) Image processing apparatus, image processing method, and program
JP2019111677A (en) Image processing device, image processing device control method, image forming device and program
JP2007081886A (en) Drawing processing apparatus
Safonov et al. Scanned Text Vectorization
JP2019077133A (en) Image formation apparatus, image formation method and program
JP2019074916A (en) Host device, system, method, and program
JP2013091222A (en) Image formation processing apparatus and image processing method
AU2005201932A1 (en) Parametric patch colour blend rendering

Legal Events

Date Code Title Description
N231 Notification of change of applicant