KR100709647B1 - 정보 처리 장치, 인쇄 제어 방법, 인쇄 제어 프로그램을 저장한 기억 매체, 및 인쇄 시스템 - Google Patents

정보 처리 장치, 인쇄 제어 방법, 인쇄 제어 프로그램을 저장한 기억 매체, 및 인쇄 시스템 Download PDF

Info

Publication number
KR100709647B1
KR100709647B1 KR1020030063208A KR20030063208A KR100709647B1 KR 100709647 B1 KR100709647 B1 KR 100709647B1 KR 1020030063208 A KR1020030063208 A KR 1020030063208A KR 20030063208 A KR20030063208 A KR 20030063208A KR 100709647 B1 KR100709647 B1 KR 100709647B1
Authority
KR
South Korea
Prior art keywords
data
printer driver
application software
page
output
Prior art date
Application number
KR1020030063208A
Other languages
English (en)
Other versions
KR20040023558A (ko
Inventor
도모마쯔요시아끼
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20040023558A publication Critical patent/KR20040023558A/ko
Application granted granted Critical
Publication of KR100709647B1 publication Critical patent/KR100709647B1/ko

Links

Images

Classifications

    • 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
    • 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/1211Improving printing performance
    • 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/1247Job translation or job parsing, e.g. page banding by conversion to printer ready 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • 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/124Parallel printing or parallel ripping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

애플리케이션에 의해 생성된 데이터 인쇄에 소요되는 전체 시간을 감소시키기 위해, 데이터 생성 및 데이터 인쇄 처리를 병행하여 행한다.
병행 처리 모드에서, 애플리케이션 소프트웨어는 1 페이지 분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 즉, 1 페이지분의 위에서부터 아래로 데이터를 순서대로 출력한다. 프린터 드라이버는 OS(Operating System)에 대하여 언밴딩 모드로 처리를 행할 것을 선언하고, 밴딩 처리를 프린터 드라이버에서 행한다. 이러한 병행 처리 모드에서, 스캔한 데이터를 다음 영역의 스캔 도중에 프린트하기 때문에, 카피 개시로부터 인쇄 종료까지의 시간은 짧아진다.
애플리케이션 소프트웨어, OS, 프린터 드라이버, 프린터, 스캐너

Description

정보 처리 장치, 인쇄 제어 방법, 인쇄 제어 프로그램을 저장한 기억 매체, 및 인쇄 시스템{INFORMATION PROCESSING APPARATUS, METHOD OF CONTROLLING PRINTING, STORAGE MEDIUM FOR STORING PRINTING CONTROL PROGRAM, AND PRINTING SYSTEM}
도 1은 본 발명의 실시예에 따른 프린트 시스템의 기능 구성을 나타내는 블록도.
도 2는 애플리케이션 소프트웨어로부터의 인쇄 데이터의 일례를 설명하기 위한 도면.
도 3은 인쇄 데이터의 밴드 분할의 일례를 설명하기 위한 도면.
도 4는 스캐너에서의 스캔 시간과 프린터에서의 프린트 시간의 관계를 나타내는 도면.
도 5a 내지 5c는 출력 용지 상의 프린터 드라이버의 프린터 밴드 위치와 출력 이미지의 관계를 나타내는 도면.
도 6은 애플리케이션 소프트웨어의 처리 순서를 설명하는 흐름도.
도 7은 프린터 드라이버의 초기화 처리 순서를 설명하는 흐름도.
도 8은 프린터 드라이버의 인쇄 처리 순서를 설명하는 흐름도.
도 9는 프린터 드라이버의 페이지 종료 처리 순서를 설명하는 흐름도.
도 10은 병행 처리가 가능한지 여부를 판단하는 처리 순서를 설명하는 흐름 도.
도 11은 애플리케이션 소프트웨어에 대하여 카피를 요구하기 위한 사용자 인터페이스에 대한 도면.
도 12는 애플리케이션 소프트웨어에 대하여 병행 처리하지 않고 설정하기 위한 사용자 인터페이스에 대한 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
101 : 퍼스널 컴퓨터
103 : OS
104 : 프린터 드라이버
105 : 프린터
107 : 스캐너
본 발명은 애플리케이션 소프트웨어 등으로 작성한 문자, 도형 등의 이미지 데이터를 래스터 이미지 데이터로 전개하여 프린터에 송신하는 프린터 시스템, 정보 처리 장치, 프린트 방법, 컴퓨터 프로그램, 및 컴퓨터 판독 가능한 기억 매체에 관한 것이다.
최근의 컬러 프린터나 스캐너의 저가격화로부터, 컴퓨터에 컬러 프린터, 스캐너를 접속하여, 저가로 손쉽게 컬러 원고를 카피하는 것 등이 가능하게 되었다.
통상, 컴퓨터에 컬러 프린터, 스캐너를 접속하여 카피하는 경우, 컴퓨터 상의 애플리케이션 소프트웨어가 일단 스캐너로부터 화상을 스캐너 드라이버를 통해 판독하여, 컴퓨터 상에 파일로서 보존하고, 그 후 사용자가 스캐너 애플리케이션 상에서 파일을 지정하여 인쇄를 지시함으로써, 판독한 화상을 프린터 드라이버를 통해 컬러 프린터에 출력하는 방법이 취해진다.
일반적으로 보급되고 있는 컴퓨터에 Microsoft사의 Windows(R)를 OS(Operating System)로서 사용하는 경우, OS의 사양 상, 애플리케이션 소프트웨어로부터 출력된 데이터는 1 페이지분의 데이터의 스풀이 종료할 때까지는 프린터 드라이버에 대하여 인쇄가 개시되지 않는다. 또한, 페이지 기술 언어를 처리할 수 있는 프린터에서는 프린터 내부에서 인쇄 데이터를 1 페이지분 기억하고, 그 후 인쇄 처리를 개시하기 때문에, 페이지 기술 언어가 송신되는 순서가 제각각이어도 상관없지만, 래스터 데이터(비트맵 데이터)를 처리하는 프린터에서는, 일반적으로 프린터 내부에서 인쇄 데이터를 1 페이지분 기억하기 전에 인쇄 처리를 개시하기 때문에, 컴퓨터로부터 송신되는 인쇄 데이터는 기록 용지의 인쇄 방향에 맞추어 상부로부터 송신될 필요가 있다. 따라서, 프린터 드라이버에서는 기록 용지의 인쇄 방향에 맞추어 인쇄 데이터를 출력하기 위해, 1 페이지분의 데이터를 스풀하고 인쇄 데이터를 재배열하여 래스터 데이터를 출력한다. 이와 같이 종래에는 스캐너 드라이버를 통한 화상의 판독 처리와, 프린터 드라이버를 통한 출력 처리가 별도로 동작하는 구조가 일반적이다(일본특허공개2001-144940호 공보 참조).
그러나, 스캐너로부터의 화상의 수신, 및 화상 데이터의 프린터로의 출력은각각 시간이 걸리기 때문에, 사용자로부터의 카피 개시 요구로부터 인쇄 종료까지 많은 시간이 걸린다는 문제가 있었다.
본 발명은 상기한 점에 감안하여 이루어진 것으로, 애플리케이션이 프린터 드라이버에 대하여 인쇄를 지시하는 경우에, 애플리케이션이 행하는 이미지 데이터 출력과 프린터 드라이버가 행하는 프린팅 처리를 병행하여 행함으로써 프린트 종료까지 고속으로 행하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명은 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치에서의 인쇄 제어 방법으로서, 상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력하는 처리를 실행하는 출력 공정과, 상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀하지 않고, 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 공정과, 상기 출력 공정과 상기 변환 공정을 병행 처리하는 병행 처리 공정을 포함하는 것을 특징으로 한다.
또한, 본 발명은 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치로서, 상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력하는 처리를 실행하는 출력 수단과, 상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀하지 않고, 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 수단과, 상기 출력 수단 과 상기 변환 수단을 병행 처리하는 병행 처리 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명은 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치에 사용할 인쇄 제어 프로그램으로서, 상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력하는 처리를 실행하는 출력 공정과, 상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀하지 않고, 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 공정과, 상기 출력 공정과 상기 변환 공정을 병행 처리하는 병행 처리 공정을 포함하는 것을 특징으로 한다.
본 발명의 다른 특징 및 장점들은 첨부하는 도면에 대한 하기의 상세한 설명으로부터 명백해질 것이며, 유사한 참조 문자는 그 도면 전체를 통해 동일하거나 혹은 유사한 부분을 가리킨다.
이하, 도면을 참조하여, 본 발명의 프린트 시스템, 정보 처리 장치, 프린트 방법, 컴퓨터 프로그램, 및 컴퓨터 판독 가능한 기억 매체의 실시예에 대하여 설명한다.
도 1에는 본 실시예에서의 프린트 시스템의 기능 구성의 개략을 나타낸다. 예를 들면 일반적으로 보급되고 있는 퍼스널 컴퓨터(101)에 Microsoft의 Windows(R)를 OS(Operating System: 기본 소프트웨어)로서 사용하고, 임의의 인쇄 가능한 애플리케이션 소프트웨어(102)(이하, 애플리케이션(102))을 인스톨하여, 프린터(105) 및 스캐너(107)를 접속한 형태를 생각할 수 있다.
애플리케이션(102)은 OS(103)을 경유하여, 스캐너 드라이버(106)를 사용하여 스캐너(107)로부터 화상 데이터를 입력하고, 프린터 드라이버(104)를 사용하여 프린터(105)에 화상을 출력한다.
종래의 기술에서 설명한 바와 같이, 통상, 스캐너(107)로부터의 스캐너 드라이버(106)의 입력 처리, 및 프린터(105)에서의 출력을 위한 프린터 드라이버(104)의 인쇄 데이터 생성 처리에는 시간이 걸린다. 따라서, 본 발명에서는, 스캐너(107)로부터 데이터를 입력하면서 프린터(105)로 인쇄한다고 하는 병행 처리를 행함으로써 고속으로 카피하는 것을 실현시키는 것이다.
그런데, 애플리케이션(102)이 프린터(105)에 화상 데이터를 출력하여도,
1-1) OS의 스풀링 처리
1-2) Windows(R) 애플리케이션 프로그래밍 인터페이스(API)의 영향에 의해, 1 페이지분의 데이터가 작성될 때까지 OS(103)로부터 프린터 드라이버(104)에 데이터가 출력되지 않고, 1 페이지분의 스캔 처리 이후에 프린팅된다는 문제가 있었다.
따라서, 병행 처리를 가능하게 하기 위해서는 이들 경우에 대하여 어떠한 대책을 세울 필요가 있다.
1-1) OS의 스풀링 처리
애플리케이션(102)으로부터의 인쇄 시, 인쇄가 종료하기 전에 애플리케이션(102)이 다음 처리를 개시할 수 있도록, OS(103)에는 백그라운드 인쇄 기능이 있다. 이 기능은 OS(103)가 애플리케이션(102)으로부터의 출력 커맨드를 일단 EMF(Enhanced Meta File) 데이터로서 스풀하고, 애플리케이션(102)이 다음 처 리를 개시할 수 있도록 하는 것이다. 애플리케이션(102)이 다음 작업을 행하고 있을 때에, OS(103)가 스풀된 EMF 데이터를 프린터 드라이버(104)에 출력하여 인쇄를 행한다.
EMF 스풀 설정은 프린터 드라이버(104)마다 설정 가능하고, 사용자가 전환하거나, 프린터 드라이버(104)로 금지하거나 하는 것도 가능하지만, 통상, 프린터 드라이버(104)가 인스톨된 시점에 EMF 스풀은 인에이블의 설정으로 되어 있어서, 그대로 사용되고 있다.
특히, OS(103)가 이 EMF 데이터에 의한 스풀 파일을 이용하여, 최후의 페이지로부터 인쇄하는 역순 인쇄나, 1매의 용지에 복수 페이지를 인쇄하는 N-up 인쇄 등 많은 기능을 실현하고 있는 것으로부터, 백그라운드 인쇄 기능이 불필요하다고, 사용자나 프린터 드라이버(104)가 이 EMF 스풀 설정을 디스에이블로 하면, 역순 인쇄나 N-up 인쇄를 할 수 없게 된다는 문제도 있다.
따라서, 스캐너(107)로부터의 카피 병행 처리 등의 병행 처리를 행할 경우에는 스캐너 애플리케이션의 지시에 따라, 프린터 드라이버(104)에 의해 EMF 스풀 설정을 OFF로 함으로써, 사용자가 의식하지 않고 병행 처리할 수 있도록 한다. 또한, 역순 인쇄나 N-up 인쇄 등의 EMF 스풀 기능을 이용하는 기능을 사용자가 지정하고 있는 경우에는 병행 처리를 행하지 않는다는 처리도 가능해진다.
1-2) Windows(R) 애플리케이션 프로그래밍 인터페이스(API)의 영향
Windows(R) API의 사양에서는 애플리케이션(102)은 페이지 내에 임의의 순으로 출력되기 때문에, 페이지 종료 명령까지 인쇄 처리를 개시할 수 없다. 예를 들 면, 도 2에 도시하는 데이터를 인쇄하는 경우, 애플리케이션(102)은 이하의 순서로 처리를 행한다.
1. 페이지 개시 명령
2. 배경의 비트맵(201)을 출력(도 2에서는 나타나 있지 않지만, 연한 색의 모양이 그려져 있음)
3. 하측의 일러스트(204)를 출력
4. 문자열 "HAPPY NEW YEAR!"(202)를 출력
5. 문자열 "THANK YOU … January 1, 2002"(203)을 출력
6. 페이지 종료 명령
이와 같이, Windows(R)의 API 사양에서는 일단 출력 배경 위에 문자 등을 재차 출력하는 것이 가능하기 때문에, 페이지 종료 명령까지 페이지의 모든 위치의 프린트 인자 데이터가 결정되지 않고 인쇄를 개시할 수 없다.
Windows(R)의 프린트 시스템에서는 이 때문에 이하의 방법으로 인쇄를 행하고 있다.
2-1) 밴딩 드라이버의 경우
애플리케이션(102) 등으로 작성한 문자, 도형 등의 화상 데이터를 래스터 이미지로 화상 출력 장치에 출력하는 타입의 프린터(105)의 경우, 일단 호스트 컴퓨터인 퍼스널 컴퓨터(101) 상의 가상적인 페이지 메모리에 전개한 이후, 화상 출력 장치에 출력하고 있다.
이 때, 호스트 컴퓨터의 메모리 효율화 등의 관계에서, 이 가상 페이지 메모리를 몇개의 밴드(band)로 분할 처리하고, 밴드마다 OS(103)로부터의 화상 데이터 등의 출력 요구에 따라 밴드 메모리에 화상 데이터를 생성하고, 그 밴드 영역의 모든 화상 데이터가 생성하였다고 하는 OS(103)로부터의 컨트롤에 따라 밴드 메모리에 생성된 데이터를 화상 출력 장치에 출력하고 있다.
도 3은 밴드 분할의 개요를 나타내는 도면이지만, OS(103)는 각 밴드에 속하는 출력 커맨드를 추출하여, 프린터 드라이버(104)에 출력한다. 그 때문에, OS(103)는 1 페이지분의 드로잉 커맨드를 보유하고, 밴드마다 프린터 드라이버(104)에 화상 데이터의 출력을 요구한다. 예를 들면, 밴드 1의 경우, OS(103)는 밴드 1에서 배경 비트맵(201)(도 3에서는 나타나 있지 않지만, 옅은 색의 모양이 그려져 있음) 및 문자열 "HAPPY NEW YEAR!"(202)를 프린터 드라이버(104)에 출력 요구한다.
요구를 받은 프린터 드라이버(104)는 상기 출력 커맨드 중 밴드 1에 속하는 영역만을 프린터(105)에 출력하고, OS(103)에 처리 종료와 다음 밴드 위치를 통지한다. 종료 통지를 받은 OS(103)는 이후의 밴드 2, 3, ‥· 순으로 밴드 1과 마찬가지로, 대상으로 하는 밴드에 속하는 데이터만을 프린터 드라이버(104)에 출력한다.
상술한 바와 같이, 밴딩 드라이버인 경우에는 OS(103) 내에서 1 페이지분의 데이터를 일단 스풀(보유)하여 프린터 드라이버(104)에 출력하고 있다.
2-2) 언밴딩 드라이버인 경우
프린터(105)가 페이지 메모리나 1 페이지분의 데이터 기억 수단을 갖고 1 페 이지분의 화상 데이터를 프린터(105) 내부에서 보유할 수 있는 경우나, 프린터 드라이버(104) 내에 스풀 기능을 갖고 프린터 드라이버(104) 내부에서 1 페이지분의 화상 데이터를 보유할 수 있는 경우에는 프린터 드라이버(104)는 OS(103)에 대하여 언밴딩 타입으로 처리할 수 있는 것을 통지한다.
언밴딩의 프린터 드라이버(104)인 경우, OS(103)는 EMF 스풀 설정이 되어 있지 않으면, 애플리케이션(102)으로부터의 출력을 바로 프린터 드라이버(104) 및 프린터(105)에 출력한다. 출력 커맨드를 받은 프린터 드라이버(104) 및 프린터(105)는 Windows(R) API의 관계에서 페이지 종료 명령이 있을 때까지 데이터가 확정하지 않기 때문에, 내부에 출력 데이터를 보유하여, 페이지 종료 명령이 있는 시점에서 인쇄 처리를 개시한다.
이와 같이, Windows(R) API를 만족하는, 모든 애플리케이션으로부터의 인쇄를 만족하도록 하면, 페이지 종료까지는 인쇄할 수 없게 된다.
따라서, 밴딩 드라이버도 언밴딩 드라이버도, OS 혹은 프린터 드라이버측에서 1 페이지분의 스풀 처리를 행할 필요가 있어서, 인쇄 처리에 시간을 요한다.
상술한 문제를 해결하기 위해, 프린터 드라이버(104)에 병행 처리의 모드를 작성하고, 다음과 같이 처리한다.
· 애플리케이션(102)은 항상 프린터(105)의 용지 반송 방향(용지의 위에서부터 아래), 즉 1 페이지분의 위에서부터 아래로 데이터 순으로 출력한다.
· 병행 처리 모드는 상기 룰을 아는 애플리케이션(102)으로부터 지정할 수 있도록 한다.
· 프린터 드라이버(104)는 OS(103)에 대하여 언밴딩으로 선언하고, 밴딩 처리는 프린터 드라이버(104)에 의해 행함으로써, 병행 처리할 수 있도록 한다.
도 4는 스캐너(107)에서의 스캔(Scan으로 표시) 시간과 프린터(105)에서의 프린트(Print 및 P에서 표시) 시간을 나타낸 것이다. 통상적으로는 스캐너(107)에서의 스캔 이후, OS(103)가 스풀된 EMF 스풀 파일의 인쇄를 프린터(105)에 요구하고, 프린트가 행해지는 데 대하여, 병행 처리 시에는 스캔한 데이터를 다음 영역의 스캔 도중 프린트하기 때문에, 카피 개시로부터 인쇄 종료까지의 시간은 짧아진다.
이하, 도 6∼10을 참조하여 본 실시예에서의 처리 순서를 상세히 설명한다. 도 6은 애플리케이션(102)의 처리, 도 7은 프린터 드라이버(104)의 초기화 처리, 도 8은 프린터 드라이버(104)의 인쇄 처리, 도 9는 프린터 드라이버(104)의 페이지 종료 처리 순서, 도 10은 병행 처리가 가능한지 여부 판단하는 처리 순서를 설명하는 흐름도이다.
도 11은 애플리케이션(102)을 기동한 때의 사용자 인터페이스이다. 도 11의 사용자 인터페이스에서, 카피 키가 본 발명의 특징이며, 이 카피 키를 사용자가 누름으로써, 스캐너로부터의 판독과, 프린터로의 출력이 병행 처리되는 병행 처리 모드가 개시되게 된다. 애플리케이션(102)은 스캔한 데이터를 프린터(105)에 인쇄하는 카피 기능 이외에, 메일로 스캔한 화상을 인터넷 경유하여 송신하는 메일 기능, 파일에 보존하는 보존 기능 등을 갖는다. 사용자가 도 11의 카피 키를 누르면, 먼저, 애플리케이션(102)은 병행 처리가 가능한지 여부를 판단한다(도 6의 단계 S109).
도 10은 병행 처리가 가능한지 여부를 판단하는 처리를 상세히 나타낸 것이다.
먼저, 애플리케이션(102)은 확장 API(Application Programing Interface)를 이용하여 프린터 드라이버(104)에 기능을 조회하고, 병행 처리가 서포트되어 있는지 여부를 판단한다. OS에 이러한 애플리케이션(102)이 프린터 드라이버(104)의 능력을 조회하는 기능이 있는 경우에는 OS를 경유하여 문의를 행하지만, OS에 이러한 기능이 없는 경우에는 애플리케이션(102)은 OS를 경유하지 않고서 직접 프린터 드라이버(104)에 조회함으로써 가능하게 된다(도 10의 단계 S501). 프린터 드라이버에는 병행 처리를 서포트하고 있는 것이 없는 것이 있으며, 서포트하고 있는 경우에는 확장 API를 통해 애플리케이션(102)에 서포트하고 있는 것을 통지한다.
단계 S501로 병행 처리가 서포트되고 있다고 판정된 경우, 다음으로 통신 방식이 고속인지 여부를 판단한다.
병행 처리를 행할 경우, 스캐너(107)로부터의 화상 입력과 프린터(105)로의 화상 출력이 동시에 처리될 필요가 있기 때문에, CPU에 고부하가 발생하며 또한, 스캐너(107)와 프린터(105)는 통상 각각 USB라는 통신 방식으로 접속되어 있지만, 퍼스널 컴퓨터(101)가 다른 USB 포트라도 하나의 하드웨어 칩이 제어를 행하고 있는 경우가 있기 때문에, 송수신에도 처리가 시간에 맞추지 못할 정도로 매우 큰 부하가 발생하는 경우가 있다. 그 결과, 스캐너(107)의 데이터 수신이 시간에 맞추지 못하여, 스캐너(107)의 데이터를 판독하여 캐리지가 일시적으로 멈추고, 재판독이 발생하여 오히려 늦어지는 경우가 있다. 그러나, 스캐너(107) 또는 프린터(105)가 최신 퍼스널 컴퓨터(101)에서 주종을 이루고 있기 때문에, 채용되고 있는 USB2.0 등의 고속 통신 방식으로 접속되어 있으면, 상기한 문제가 발생하지 않게 된다. 따라서, 애플리케이션(102)은 예를 들면 USB2.0의 인터페이스가 접속되어 있는지를 인식함으로써, 스캐너(107) 또는 프린터(105)와의 통신 방식이 고속인지 여부를 판정을 행한다. 이 때, 스캐너(107) 또는 프린터(105) 양방의 접속 방식으로 판정하는 것도 가능하지만, 어느 한쪽, 가능하면 데이터 사이즈가 보다 큰 스캐너(107)의 접속 방식만으로 판단하는 것도 가능하다. 또한, 그만큼 고속이 아닌 통신 방식이더라도, 스캐너(107)와 프린터(105)가 다른 칩에서 송수신하고 있는 것에 의해 판정을 대용하는 것도 가능하다(단계 S502).
다음으로, 단계 S503에서, 애플리케이션(102)은 퍼스널 컴퓨터(101)와 스캐너(107)가 고속 통신 방식으로 접속되어 있다고 판정된 경우, 프린터 드라이버(104)에 대하여 조회함으로써, 프린터(105)가 인쇄하는 미디어(용지)가 보통지인지 여부를 판정한다.
최근의 프린터(105)의 고화질화에 따른 디지털 화상 등을 인쇄할 필요성이 증가하여, 인쇄하는 용지도 은전 사진(silver photography)과 마찬가지의 인쇄 결과가 얻어지는 고가의 용지가 발매되고 있다. 이러한 용지로의 인쇄는 매우 복잡한 화상 처리가 필요하기 때문에, CPU로의 부하는 더욱 커져서, 상술한 스캐너(107)의 수신이 지연된다고 하는 문제가 발생하기 쉽게 된다. 또한, 프린터(105)로의 인쇄도 일시적으로 멈추는 경우가 발생하므로 그 사이에 잉크가 마름으로써 비연속 부분이 생겨서, 출력 화질에 영향을 미친다는 문제가 있다. 따 라서, 인쇄 매체가 보통지인지의 여부를 판단하여, 보통지인 경우에만 병행 처리를 행함으로써 이 문제를 해결할 수 있다(단계 S503).
단계 S503에서 보통지라고 판정된 경우에는 병행 처리에서의 카피를 개시하지만, 사용자의 의사로 병행 처리를 행할지 여부를 전환하는 것도 가능하다. 혹시, 사용자가 판단할 수 있도록 하기 위해서는 프린터 드라이버(104) 등의 설정을 재촉하는 사용자 인터페이스(도 11) 내에서 병행 처리할 지 여부를 지정하는 항목을 제공하고, 단계 S109(S501, S502, S503)에서 병행 처리가 가능하다고 판정된 경우에 이 항목의 설정을 가능하게 하여, 사용자의 설정에 따라 병행 처리할지 여부를 판단한다(단계 S110).
다음으로, 실제의 카피 처리를 개시하지만, 단계 S109(S501, S502, S503)에서 병행 처리가 행해지지 않는다고 판정된 경우 및 단계 S110에서 사용자가 병행 처리를 행하지 않는다고 판단한 경우에는 다음 프린터 드라이버(104)로의 병행 처리 지시를 행하지 않고서 S102로부터 처리를 행한다.
한편, 병행 처리를 행한다고 사용자가 판단한 경우에는 애플리케이션(102)은 프린터 드라이버(104)에 대하여 병행 처리 모드로 하도록 지시한다(단계 S101).
상술한 바와 같이 병행 처리 모드로서는 데이터가 특정 순서로만 출력되어야할 필요가 있다. 따라서, 애플리케이션(102)은 이 출력 순서로 인쇄하는 경우에만 프린터 드라이버(104)에 병행 처리 모드에서 동작하도록 요청한다. 이것은 데이터가 특정 순서로 정확하게 출력되어야 하는 것을 모르는 사용자 또는 애플리케이션이 병행 처리 모드에서의 인쇄를 지정하여, 애플리케이션(102)으로부터 데이터가 잘못된 순서로 출력되어 인쇄가 부정확하게 행해지는 것을 방지하기 위한 것이다. 예를 들면, 도 2에 도시하는 데이터의 경우에는 배경 비트맵(201) 전체가 애플리케이션(102)으로부터 출력된 시점에 페이지 전체의 인쇄를 행하고, 그 후의 문자 등이 인쇄되지 않게 된다. 상기 문제를 피하기 위해, Windows(R)의 사양에는 없는 독자적인 설정 방법이 바람직하다.
예를 들면, 프린터 드라이버(104)에 독자적인 함수를 제공하고, 병행 처리에 대응한 애플리케이션(102)이 그 함수를 사용하여 설정한다.
초기화 요구에 응답하여 프린터 드라이버(104)에 의해 행해지는 처리를 도 7을 참조하여 설명한다. 먼저, 프린터 드라이버(104)는 애플리케이션(102)으로부터 병행 처리 모드가 지정되었는지 여부를 판정한다(단계 S201).
단계 S201에서 "예"로 판정된 경우에는 드라이버 설정이 병행 처리에 적합한지 여부를 판정한다. 병행 처리 모드에서는 EMF 스풀을 금지하고, 밴딩 처리를 프린터 드라이버(104) 내부에서 행한다. 그러나, OS(103)가 EMF 스풀 파일을 사용하여 많은 기능을 실현하게 되면, 이들 기능들은 불가하게된다. 예를 들면, 애플리케이션(102)으로부터의 복수 페이지가 인쇄될 때, 모든 페이지를 EMF 스풀 파일로서 스풀하여, 최후의 페이지로부터 순서대로 출력한다고 하는 역순 인쇄 등의 기능은 사용할 수 없게 된다. 동일하게 밴딩 처리를 이용함으로써 실현할 수 있는 기능도 사용할 수 없게 된다.
따라서, EMF 스풀링을 필요로하는 기능을 사용하여 인쇄하도록 사용자가 지시한 경우에는 병행 처리 모드를 행하지 않고 사용자가 설정한 기능을 추가하여 인 쇄를 행한다. 여기에서는 현재의 설정이 EMF 스풀링 또는 밴딩이 필요할지 여부를 판정한다(단계 S202). 단, 기능에 따라서는 그 기능을 사용하지 않고 병행 처리 모드로 인쇄하는 것도 가능하다.
단계 S202에서 "아니오"로 판정된 경우에는 병행 처리를 행하기 위해서, 처리될 잡의 EMF 처리를 금지한다(단계 S203). EMF 처리의 금지는 OS(103)가 잡(애플리케이션에 의해 요청된 인쇄 잡) 단위로 초기화될 때에 설정하고 OS(103)에 반환되는 DEVINFO라는 데이터에, GCAPS_DONTJOURNAL이라는 플래그를 세트함으로써 실현할 수 있다. 이 플래그는 초기화할 잡에 대해서만 유효하고, 그 이후의 인쇄 잡에는 영향을 미치지 않는다.
계속해서, OS(103)에 대하여 언밴딩 모드에서의 처리가 행해짐을 선언한다(단계 S204). 프린터 드라이버(104)는 Surface라 불리는 가상 디바이스인 데이터를 작성하고, 초기화 단계에서 OS(103)에 반환한다. OS(103) 내의 EngMarkBandingSurface라는 함수를 콜함으로써, 작성한 Surface를 밴딩 드라이버용으로 설정할 수 있다. OS(103)가 프린터 드라이버(104)로부터 Surface를 수신하면, OS(103)는 핸들링 드라이버로서 Surface를 취급한다. 한편, EngMarkBandingSurface를 콜하지 않으면 언밴딩 모드로서 처리한다. 여기서는 OS(103)이 언밴딩 모드로서 처리할 필요가 있기 때문에, EngMarkBandingSurface를 콜하지 않는다. 이 설정도 처리될 잡에 대해서만 유효하고, 그 이후의 인쇄 잡에는 유효하게 되지 않는다.
한편, 단계 S201에서 "아니오" 또는 단계 S20에서 "예"인 경우, 즉 애플리케 이션(102)으로부터 병행 처리 모드가 지시되지 않았는지, 병행 처리가 지정되었지만, EMF 스풀 또는 밴딩이 필요한 설정이라고 프린터 드라이버(104)가 판단하여 병행 처리를 멈춘 경우에는 단계 S203, S204와는 반대로, 먼저 OS(103)으로부터 잡 단위의 초기화 시에 GCAPS_DONTJOURNAL 플래그를 세트하지 않고(단계 S205), Surface를 EngMarkBandingSurface로 콜하고 나서 DEVINFO를 OS(103)에 반환한다(단계 S206).
도 6을 다시 참조하면, 프린터 드라이버(104)의 초기화가 끝나면, 애플리케이션(102)은 스캐너(107)로부터 입력한 화상을 프린터(105)에 출력하지만, 스캐너(107)로부터 입력은 원고의 1 페이지를 밴드로 분할하고, 화상 데이터가 그 밴드 단위로 입출력을 반복한다. 즉, 애플리케이션(102)은 스캐너 드라이버(106) 경유로 스캐너(107)로부터 1 밴드분의 화상을 입력하고(단계 S102), 입력한 1 밴드분의 화상을 프린터 드라이버(104) 경유로 프린터(105)에 출력한다(단계 S103). 그 결과, 스캐너(107)로부터 다음 밴드의 화상을 입력하여 있을 때에, 프린터(105)가 화상 데이터의 밴드를 인쇄할 수 있게 된다. 인쇄에 채용된 밴드의 사이즈는 프린터 드라이버(104)에 의해 채용된 밴드 사이즈와 동일하여도 되지만, 달라도 된다.
출력 요구에 응답한 프린터 드라이버(104)의 처리를 도 8을 참조하여 설명한다. 먼저, 출력 요구된 이미지가 프린터 드라이버(104)의 밴드 내에 포함되는지를 판정한다. 프린터 드라이버(104)의 밴드 위치는 예를 들면, 처음에는 도 3의 밴드 1과 같이 페이지의 가장 위에 위치한다. 인쇄 처리가 진행함에 따라, 밴드 위치를 밴드 2, 밴드 3 등의 아래 방향으로 바꿔간다. 화상 데이터가 밴드에 포함되는 지 여부에 따라 화상 데이터의 일부가 밴드 메모리 내에 포함되면 "예"로 판정한다(단계 S301).
화상 데이터가 밴드 내에 포함된다고 판정된 경우, 밴드 내에 포함되어 있는 화상 데이터의 부분을 밴드 메모리에 기록, 즉, 출력될 화상 데이터를 인자 영역에 맞추어 확대 축소하여 밴드 메모리에 카피한다(단계 S302).
단계 S301에서 "아니오"인 경우 또는 단계 S302의 처리가 종료하면, 출력 화상과 프린터 드라이버(104)의 밴드 위치와의 관계를 판정한다. 도 5a 내지 5c는 출력 용지 상의 프린터 드라이버(104)의 프린터 밴드 위치와 이미지의 관계를 나타내는 도면이다. 도 5a는 전체 출력 이미지가 프린터 밴드 위치 내에 있는 경우, 도 5b는 출력 이미지가 다음 밴드에도 걸쳐 있는 경우를 도시한다. 도 5c는 전체 출력 이미지가 밴드 위치보다 아래인 경우이다. 밴드는 위에서부터 아래로 순차 처리되어 있는 것으로 한다.
먼저, 전체 출력 이미지가 밴드 메모리 내에 기록되어 있는지를 판정한다(도 8의 단계 S303). 도 5a 내지 5c의 예에서는, 도 5b와 같이 밴드의 하단에도 출력 이미지가 묘화되는 경우에는 "예"로 판정되고, 도 5a 및 5c의 경우에는 "아니오"로 판정된다.
단계 S303에서 "아니오"인 경우, 출력 이미지가 다음 밴드에도 포함되는지를 판정한다. 여기서는 도 5c의 경우에는 밴드의 하단보다도 출력 이미지의 방향이 아래에 있기 때문에 "예"로 판정되고, 도 5a의 경우에는 밴드의 하단보다 아래에는 출력 이미지가 없기 때문에 "아니오"로 판정된다(단계 S304).
도 5a와 같이, 단계 S304에서 이후의 밴드에는 포함되지 않는다고 판정된 경우, 출력 요청된 이미지가 밴드 메모리에 기록되었지만, 현재의 밴드 메모리에 대해서는 이후의 묘화 명령으로 출력될 가능성이 있기 때문에 프린터(105)로의 출력은 행하지 않는다. 이것으로서, 도 6의 단계 S103에 대한 프린터 드라이버(104)의 처리는 종료한다.
한편, 도 5b와 같이, 단계 S303에서 밴드의 최후까지 묘화하였다고 판정한 경우, 및 도 5c와 같이, 단계 S304에서 이후의 밴드에도 포함된다고 판정한 경우, 병행 처리 모드로서는 애플리케이션(102)으로부터의 이미지 묘화 명령은 위에서 아래로 밖에 오지 않기 때문에, 이 밴드로의 이미지의 출력 요청은 더 이상은 없다고 판정할 수 있다. 따라서, 전체 밴드로의 화상 데이터의 기록 이후 또는 다음 밴드에 대한 화상 기록 명령이 발행한 이후 밴드에 대한 화상 기록 명령은 더 이상 발행되지 않는다. 밴드 메모리에 기록한 화상을 프린터 커맨드로 변환하여 프린터(105)에 출력한다(단계 S305).
다음으로, 단계 S305로 출력한 밴드가 페이지의 최후의 밴드인지를 판정한다(단계 S306). 혹시, 페이지의 최후의 밴드라고 판정한 경우에는 페이지 내의 모든 데이터의 출력이 종료한 것으로 되기 때문에, 여기서도 도 6의 단계 S103에 대한 프린터 드라이버(104)의 처리는 종료한다.
한편, 단계 S306에서 "아니오", 즉 모든 밴드가 아직 종료하고 있지 않다고 판정하면, 밴드의 위치를 다음 위치로 갱신하고(단계 S307), 단계 S301로부터의 처리를 반복한다.
다시, 도 6을 참조하면, 화상 데이터를 프린터 드라이버(104)에 출력한 이후의 애플리케이션(102)의 처리에 대하여 설명한다. 1 페이지분 화상 데이터가 처리될 때까지 스캐너 드라이버(106)로부터의 화상 데이터를 입력하고, 프린터 드라이버(104)에 화상 데이터를 출력한다는 처리를 반복하여 프린터 드라이버(104)의 화상 데이터 출력 처리가 끝나면, 애플리케이션(102)은 전체 1 페이지분의 화상을 스캔하였는지를 판정한다(단계 S104).
단계 S104에서 "아니오", 즉 페이지분의 스캔이 종료하여 있지 않다고 판정한 경우에는 단계 S102로부터의 처리를 반복한다. 한편, 단계 S104로 "예", 즉 페이지분의 스캔이 종료되었다고 하면, 애플리케이션(102)은 프린터 드라이버(104)에 대하여, 페이지 종료 명령을 발행한다. 그러면, 애플리케이션(102)은 처리를 종료한다.
페이지 종료 명령을 받은 프린터 드라이버(104)의 처리를 도 9를 참조하여 설명한다. 밴드 메모리에 묘화되고, 아직 프린터(105)에 출력되지 않은 이미지를 프린터 드라이버(104)는 프린터(105)에 출력할 필요가 있다. 먼저, 현재의 밴드 메모리에 묘화되어 있는 이미지가 프린터(105)에 출력된 것인지를 판정한다(단계 S401). 이것은 애플리케이션(102)으로부터 마지막으로 출력된 화상 데이터가 도 5b 및 5c와 같이, 밴드의 최후의 위치까지 묘화하고, 단계 S305에서 이미 프린터(105)에 출력된 후 밴드 메모리에 남아있기 때문이다(단계 S401).
단계 S401에서 "예"로 판정한 경우에는 여기서 프린터 드라이버(104)의 처리를 종료한다. 한편, 단계 S401에서 "아니오"로 판정한 경우에는 단계 S402에서, 도 8의 단계 S305와 마찬가지로 밴드 메모리에 기록한 화상을 프린터 커맨드 형태의 데이터로 변환하여 프린터(105)에 출력한다. 이것으로서, 프린터 드라이버(104)의 처리를 종료한다.
상술한 실시예에서는, 스캐너(107)와 프린터(105)를 사용한 카피를 예로 하여 설명하였지만, 다른 디바이스나 네트워크 등으로부터 입력한 데이터의 프린트나, 애플리케이션이 복잡한 처리를 행하기 때문에 인쇄하는 데 장시간이 소요된다.
(그 밖의 실시예)
상술한 실시예의 기능을 실현하도록 각종의 디바이스를 동작시키도록, 해당각종 디바이스와 접속된 컴퓨터 혹은 시스템 내의 컴퓨터에 대하여, 상기 실시예의 기능을 실현하기 위한 소프트웨어의 프로그램 코드를 공급하고, 그 시스템 혹은 장치의 컴퓨터(CPU 혹은 MPU)가 프로그램 코드에 따라서 상기 각종 디바이스를 동작시킴으로써 상술한 실시예들 중 어떤 기능을 달성할 수 있다.
또한, 이 경우, 저장 매체로부터 판독된 프로그램 코드가 상술한 실시예의 기능을 실현하게 되어, 그 프로그램 코드 자체는 본 발명을 구성한다. 그 프로그램 코드는 컴퓨터 네트워크(LAN, 인터넷 등의 WAN, 무선 통신 네트워크 등) 시스템에서의 통신 매체(광 파이버 등의 유선 회선이나 무선 회선 등) 등의 전송 매체를 경유하여 프로그램 정보를 반송파 신호로서 전파시켜 공급할 수 있다.
또한, 상기 프로그램 코드를 컴퓨터에 공급하기 위한 수단, 예를 들면 이러한 프로그램 코드를 저장한 기록 매체는 본 발명을 구성한다. 이러한 프로그램 코 드를 기억하는 기록 매체로서는 예를 들면 가요성 디스크, 하드디스크, 광 디스크, 광 자기 디스크, CD-ROM, 자기 테이프, 불휘발성 메모리 카드, ROM 등을 이용할 수 있다.
또한, 컴퓨터가 공급된 프로그램 코드를 실행함으로써, 상술한 실시예의 기능이 실현되는 것뿐만 아니라, 그 프로그램 코드가 컴퓨터에서 가동하고 있는 OS(오퍼레이팅 시스템) 혹은 다른 애플리케이션 소프트웨어 등과 공동하여 상술한 실시예의 기능이 실현되는 경우에도 이러한 프로그램 코드는 본 발명의 실시예에 포함되는 것은 물론이다.
또한, 공급된 프로그램 코드가 컴퓨터의 기능 확장 보드나 컴퓨터에 접속된 기능 확장 유닛에 갖춰지는 메모리에 저장된 후, 그 프로그램 코드의 지시에 기초하여 그 기능 확장 보드나 기능 확장 유닛에 갖춰지는 CPU 등이 실제 처리의 일부 또는 전부를 행하며, 그 처리에 의해서 상술한 실시예의 기능이 실현되는 경우에도 본 발명에 포함되는 것은 물론이다.
특정 실시예를 참조하여 설명한 바와 같이, 본 발명은 스캐너로부터 화상 데이터의 입력하고 이와 병행하여 프린터에 의해 화상 데이터를 인쇄함으로써 카피를 하는 데 소요되는 시간을 감소시킬 수 있다. 이것은 스캐너로부터 얻어진 화상 데이터에 기초하여 프린터에 출력될 데이터를 생성하는 데 장시간이 소요되는 애플리케이션 소프트웨어에 특히 유용하다.
본 발명은 또한, 애플리케이션에 의해 발행된 요구에 응답하여 애플리케이션으로부터의 화상 데이터의 출력과 프린터 드라이버에 의한 인쇄를 1 페이지 내에서 병행하여 행함으로써 프린터 드라이버에 고속으로 화상 데이터를 인쇄할 수 있게 함으로써, 인쇄 개시로부터 종료까지 전체 시간을 감소시킬 수 있다.
본 발명이 바람직한 실시예로 고려되는 것을 참조하여 설명하였지만, 이들에 의해서 본 발명의 기술적 범위가 한정적으로 해석되어서는 안된다. 본 발명의 여러 가지로 분명하며 매우 다른 실시예들이 본 발명의 정신 및 범주 내에서 행해질 수 있기 때문에, 본 발명은 첨부된 청구범위에 정의되는 바 이외의 구체적인 실시예로 한정하여 이해해서는 안되고 여러가지 형태로 실시할 수 있다.
상술한 바와 같이 본 발명에 따르면, 애플리케이션이 프린터 드라이버에 대하여 인쇄를 지시하는 경우에, 애플리케이션이 행하는 기록 출력과 프린터 드라이버가 행하는 인쇄 데이터 생성 처리를 1 페이지 내에서 병행하여 행함으로써 인쇄 종료까지 고속으로 행할 수 있다.

Claims (29)

  1. 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치에서의 인쇄 제어 방법에 있어서,
    상기 애플리케이션 소프트웨어로부터 상기 프린터 드라이버가, 병행 처리 모드의 지정을 접수하는 접수 공정과,
    상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력함으로써, 프린터 드라이버가 데이터를 순서대로 입력하는 처리를 실행하는 입력 공정과,
    상기 접수 공정에서 병행 처리 모드의 지정을 접수한 경우에, 상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀링(spooling)하지 않고, 상기 입력 공정에서 입력된 데이터를 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 공정과,
    상기 입력 공정과 상기 변환 공정을 1 페이지 내에서 병행 처리하는 병행 처리 공정
    을 포함하는 정보 처리 장치에서의 인쇄 제어 방법.
  2. 제1항에 있어서,
    상기 애플리케이션 소프트웨어에 의해 병행 처리 모드가 지정된 경우에, 상기 프린터 드라이버가 상기 병행 처리 모드를 서포트할지 여부를 판정하는 판정 공정을 더 포함하는 정보 처리 장치에서의 인쇄 제어 방법.
  3. 제2항에 있어서,
    상기 애플리케이션 소프트웨어에 의해 상기 병행 처리 모드가 지정된 경우, 상기 애플리케이션 소프트웨어와 상기 프린터 드라이버에 의해 확장 API를 통해 상 기 판정 공정을 실현하는 정보 처리 장치에서의 인쇄 제어 방법.
  4. 제2항에 있어서,
    상기 판정 단계는 정보 처리 장치와 화상 출력 장치 간의 통신 링크가 고속 통신인지 여부를 판정하는 단계를 더 포함하는 정보 처리 장치에서의 인쇄 제어 방법.
  5. 제2항에 있어서,
    상기 판정 단계는 인쇄 데이터가 출력되는 상기 기록 매체가 사전설정된 매체인지 여부를 판정하는 단계를 더 포함하는 정보 처리 장치에서의 인쇄 제어 방법.
  6. 제1항에 있어서,
    상기 병행 처리 공정을 행할 때에, 상기 프린터 드라이버가 상기 정보 처리 장치에 인스톨되어 있는 기본 소프트웨어에 의해 행해지는 스풀링을 디스에이블시키는 설정 공정을 더 포함하는 정보 처리 장치에서의 인쇄 제어 방법.
  7. 제1항에 있어서,
    상기 병행 처리 공정을 행할 때에, 상기 프린터 드라이버가 상기 정보 처리 장치에 인스톨되어 있는 기본 소프트웨어의 밴딩 처리를 행하지 않도록 상기 기본 소프트웨어에 대하여 통지하는 통지 공정을 더 포함하는 정보 처리 장치에서의 인쇄 제어 방법.
  8. 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치에 있어서,
    상기 애플리케이션 소프트웨어로부터 상기 프린터 드라이버가, 병행 처리 모드의 지정을 접수하는 접수 처리와,
    상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력함으로써, 프린터 드라이버가 데이터를 순서대로 입력하는 입력 처리와,
    상기 접수 처리에서 병행 처리 모드의 지정을 접수한 경우에, 상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀링하지 않고, 상기 입력 처리에서 입력된 데이터를 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 처리와,
    상기 입력 처리와 상기 변환 처리를 1 페이지 내에서 병행하여 실행하는 병행 처리
    를 실행하기 위한 프린터 드라이버를 포함하는 정보 처리 장치.
  9. 제8항에 있어서,
    상기 프린터 드라이버는, 상기 애플리케이션 소프트웨어로부터 병행 처리 모드가 지정된 경우에, 상기 병행 처리 모드를 서포트할지의 여부를 판정하는 판정 처리를 실행하는 정보 처리 장치.
  10. 제9항에 있어서,
    상기 프린터 드라이버는, 상기 애플리케이션 소프트웨어가 상기 병행 처리 모드를 지정할 때에, 상기 애플리케이션 소프트웨어와, 확장 API를 통해 상기 판정 처리를 실현하는 정보 처리 장치.
  11. 제8항에 있어서,
    상기 프린터 드라이버는, 상기 병행 처리를 실행할 때에, 상기 정보 처리 장치에 인스톨되어 있는 기본 소프트웨어의 스풀 설정을 오프로 하는 설정 처리를 더 실행하는 정보 처리 장치.
  12. 제8항에 있어서,
    상기 프린터 드라이버는, 상기 병행 처리를 실행할 때에, 상기 정보 처리 장치에 인스톨되어 있는 기본 소프트웨어의 밴드(band) 처리를 정지하도록 상기 기본 소프트웨어에 대하여 통지하는 통지 처리를 더 실행하는 정보 처리 장치.
  13. 제8항에 있어서,
    상기 프린터 드라이버는, 상기 애플리케이션 소프트웨어로부터 출력된 데이터와, 상기 화상 출력 장치가 출력하는 밴드의 위치와의 관계를 판정하는 위치 관계 판정 처리를 더 실행하는 것으로, 그 위치 관계 판정 처리의 판정 결과에 따라, 밴드 형상으로 분할한 데이터가 상기 화상 출력 장치로 출력되는 정보 처리 장치.
  14. 제10항에 있어서,
    상기 병행 처리가 병행 처리 수단에 의해 실행될 때에, 상기 프린터 드라이버를 이용하여, 상기 정보 처리 장치에 인스톨되어 있는 기본 소프트웨어의 밴딩 처리를 행하지 않도록 상기 기본 소프트웨어에 대하여 통지하는 통지 수단을 더 포함하는 정보 처리 장치.
  15. 제10항에 있어서,
    상기 프린터 드라이버를 이용하여, 상기 애플리케이션 소프트웨어로부터 출력된 데이터와, 화상 출력 장치가 출력하는 밴드의 위치와의 관계를 판정하는 위치 관계 판정 수단을 더 포함하며,
    상기 위치 관계 판정 수단에 의해 검출된 위치 관계에 따라, 밴드 형상으로 분할된 데이터가 상기 화상 출력 장치에 출력되는 정보 처리 장치.
  16. 제15항에 있어서,
    상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력될 때에, 상기 애플리케이션 소프트웨어는 1 페이지분의 데이터를 밴드 형상으로 분할하고 밴드 단위로 출력하는 정보 처리 장치.
  17. 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체에 있어서,
    상기 애플리케이션 소프트웨어로부터 상기 프린터 드라이버가, 병행 처리 모드의 지정을 접수하는 접수 공정과,
    상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력함으로써, 프린터 드라이버가 데이터를 순서대로 입력하는 처리를 실행하는 입력 공정과,
    상기 접수 공정에서 병행 처리 모드의 지정을 접수한 경우에, 상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀링하지 않고, 상기 입력 공정에서 입력된 데이터를 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 공정과,
    상기 입력 공정과 상기 변환 공정을 1 페이지 내에서 병행 처리하는 병행 처리 공정
    을 포함하는 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체.
  18. 제17항에 있어서,
    상기 애플리케이션 소프트웨어로부터 병행 처리 모드가 지정된 경우에, 상기 프린터 드라이버가 상기 병행 처리 모드를 서포트할지 여부를 판정하는 판정 공정을 더 포함하는 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체.
  19. 제18항에 있어서,
    상기 애플리케이션 소프트웨어가 상기 병행 처리 모드를 지정할 때에 상기 애플리케이션 소프트웨어와 상기 프린터 드라이버에 의해 확장 API를 통해 상기 판정 공정을 실현하는 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체.
  20. 제17항에 있어서,
    상기 병행 처리 공정을 행할 때에, 상기 프린터 드라이버가 상기 정보 처리 장치에 인스톨되어 있는 기본 소프트웨어에 의해 행해지는 스풀링을 디스에이블시키는 설정 공정을 더 포함하는 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체.
  21. 제17항에 있어서,
    상기 병행 처리 공정을 행할 때에, 상기 프린터 드라이버가 상기 정보 처리 장치에 인스톨되어 있는 기본 소프트웨어의 밴딩 처리를 행하지 않도록 상기 기본 소프트웨어에 대하여 통지하는 통지 공정을 더 포함하는 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체.
  22. 제17항에 있어서,
    상기 프린터 드라이버에서, 상기 애플리케이션 소프트웨어로부터 출력된 데이터와, 화상 출력 장치가 출력하는 밴드의 위치와의 관계를 판정하는 위치 관계 판정 공정을 더 포함하며,
    상기 위치 관계 판정 공정에서 검출된 위치 관계에 따라, 밴드 형상으로 분할된 데이터가 상기 화상 출력 장치에 출력되는 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체.
  23. 제22항에 있어서,
    상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력할 때에, 1 페이지분의 데이터를 밴드 형상으로 분할하고 밴드 단위로 출력하는 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체.
  24. 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치에서의 인쇄 제어 방법으로서,
    상기 프린터 드라이버가 1 페이지 내에서 데이터의 입력과 출력을 병행하여 행하는 병행 처리 모드로 동작 가능한지를 판정하는 판정 공정과,
    상기 판정 공정에서 병행 처리 모드로 동작 가능하다고 판정한 경우에, 상기 애플리케이션 소프트웨어로부터 프린터 드라이버에 대하여 병행 처리 모드를 지정하는 지정 공정과,
    상기 지정 공정에서 병행 처리 모드를 지정한 경우에, 상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력하는 출력 처리를 실행하는 출력 공정을 포함하고,
    상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀링하지 않고, 상기 출력 공정에서 출력된 데이터를 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 공정을, 상기 출력 공정과 1 페이지 내에서 병행 처리시키는 것을 특징으로 하는 인쇄 제어 방법.
  25. 제24항에 있어서,
    정보 처리 장치에 접속된 화상 판독 장치에서 판독된 데이터를 상기 애플리케이션이 입력하는 입력 공정을 더 포함하고,
    상기 애플리케이션에 의한 상기 입력 공정과 상기 출력 공정을 1 페이지 내에서 병행 처리시키는 것을 특징으로 하는 인쇄 제어 방법.
  26. 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치로서,
    상기 프린터 드라이버가 1 페이지 내에서 데이터의 입력과 출력을 병행하여 행하는 병행 처리 모드로 동작 가능한지를 판정하는 판정 처리를 실행하는 판정 수단과,
    상기 판정 처리에서 병행 처리 모드로 동작 가능하다고 판정한 경우에, 상기 애플리케이션 소프트웨어로부터 프린터 드라이버에 대하여 병행 처리 모드를 지정하는 지정 처리를 실행하는 지정 수단과,
    상기 지정 처리에서 병행 처리 모드를 지정한 경우에, 상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력하는 출력 처리를 실행하는 출력 수단을 포함하고,
    상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀링하지 않고, 상기 출력 처리에서 출력된 데이터를 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 처리를, 상기 출력 처리와 1 페이지 내에서 병행 처리시키는 것을 특징으로 하는 정보 처리 장치.
  27. 제26항에 있어서,
    정보 처리 장치에 접속된 화상 판독 장치에서 판독된 데이터를 상기 애플리케이션이 입력하는 입력 처리를 실행하는 입력 수단을 더 포함하고,
    상기 애플리케이션에 의한 상기 입력 처리와 상기 출력 처리를 1 페이지 내에서 병행 처리시키는 것을 특징으로 하는 정보 처리 장치.
  28. 애플리케이션 소프트웨어 및 프린터 드라이버가 인스톨된 정보 처리 장치에서의 인쇄 제어 프로그램을 저장한 기억 매체로서,
    상기 프린터 드라이버가 1 페이지 내에서 데이터의 입력과 출력을 병행하여 행하는 병행 처리 모드로 동작 가능한지를 판정하는 판정 공정과,
    상기 판정 공정에서 병행 처리 모드로 동작 가능하다고 판정한 경우에, 상기 애플리케이션 소프트웨어로부터 프린터 드라이버에 대하여 병행 처리 모드를 지정하는 지정 공정과,
    상기 지정 공정에서 병행 처리 모드를 지정한 경우에, 상기 애플리케이션 소프트웨어가 1 페이지분의 데이터를 기록 용지의 인쇄 방향에 맞추어 순서대로 출력하는 출력 처리를 실행하는 출력 공정을 포함하고,
    상기 프린터 드라이버가 입력된 데이터를 1 페이지분 스풀링하지 않고, 상기 출력 공정에서 출력된 데이터를 인쇄 데이터로 변환하여 화상 출력 장치에 출력하는 처리를 실행하는 변환 공정을, 상기 출력 공정과 1 페이지 내에서 병행 처리시키는 것을 특징으로 하는 인쇄 제어 프로그램을 저장한 기억 매체.
  29. 제28항에 있어서,
    정보 처리 장치에 접속된 화상 판독 장치에서 판독된 데이터를 상기 애플리케이션이 입력하는 입력 공정을 더 포함하고,
    상기 애플리케이션에 의한 상기 입력 공정과 상기 출력 공정을 1 페이지 내에서 병행 처리시키는 것을 특징으로 하는 인쇄 제어 프로그램을 저장한 기억 매체.
KR1020030063208A 2002-09-09 2003-09-09 정보 처리 장치, 인쇄 제어 방법, 인쇄 제어 프로그램을 저장한 기억 매체, 및 인쇄 시스템 KR100709647B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00262777 2002-09-09
JP2002262777 2002-09-09
JPJP-P-2003-00193914 2003-07-08
JP2003193914A JP4405759B2 (ja) 2002-09-09 2003-07-08 印刷制御方法、情報処理装置、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
KR20040023558A KR20040023558A (ko) 2004-03-18
KR100709647B1 true KR100709647B1 (ko) 2007-04-20

Family

ID=32396233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030063208A KR100709647B1 (ko) 2002-09-09 2003-09-09 정보 처리 장치, 인쇄 제어 방법, 인쇄 제어 프로그램을 저장한 기억 매체, 및 인쇄 시스템

Country Status (4)

Country Link
US (1) US7365868B2 (ko)
JP (1) JP4405759B2 (ko)
KR (1) KR100709647B1 (ko)
CN (1) CN100370419C (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048538A (ja) * 2004-08-06 2006-02-16 Canon Inc 画像処理装置およびその方法
JP4656897B2 (ja) * 2004-09-16 2011-03-23 株式会社リコー ストリーム制御プログラムおよび画像形成装置
JP2006121347A (ja) * 2004-10-20 2006-05-11 Toshiba Corp 画像処理装置
JP4627668B2 (ja) * 2005-03-15 2011-02-09 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
US20070070375A1 (en) * 2005-09-22 2007-03-29 Sharp Laboratories Of America, Inc. Systems and methods for heuristics-based load balancing of hybrid PDL/raster printing
JP2007144648A (ja) 2005-11-24 2007-06-14 Fuji Xerox Co Ltd 印刷装置およびその制御方法および印刷システム
JP2008011266A (ja) * 2006-06-29 2008-01-17 Ricoh Co Ltd 複合画像形成方法及び複合画像形成装置
US7973967B2 (en) * 2006-11-16 2011-07-05 Canon Kabushiki Kaisha Pseudo-multithread framework for XPSDrv filter pipeline
US7986419B2 (en) * 2007-09-12 2011-07-26 Xerox Corporation Performance optimization method for network printers
JP5142858B2 (ja) * 2008-07-03 2013-02-13 キヤノン株式会社 画像処理装置および画像処理方法
JP5073800B2 (ja) * 2010-09-06 2012-11-14 シャープ株式会社 複合機
JP5847560B2 (ja) 2011-11-28 2016-01-27 キヤノン株式会社 印刷制御装置、その制御方法、及びプログラム
US9098362B1 (en) * 2014-05-29 2015-08-04 Ncr Corporation Operating system (OS) independent application and device communication
JP7188061B2 (ja) * 2018-12-24 2022-12-13 ブラザー工業株式会社 プログラム、情報処理装置、及び通信システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1065880A (ja) * 1996-08-23 1998-03-06 Tec Corp スキャナ付プリンタ
KR19990003348A (ko) * 1997-06-25 1999-01-15 윤종용 복합기의 스캐닝/인쇄 이중처리 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3728076B2 (ja) * 1997-10-28 2005-12-21 キヤノン株式会社 画像入出力装置及び方法
JPH11232050A (ja) * 1998-02-17 1999-08-27 Fuji Xerox Co Ltd プリント制御装置およびプリント制御方法
CN2371600Y (zh) * 1999-05-04 2000-03-29 仇书鸾 打印扫描控制器
TW510114B (en) 1999-11-15 2002-11-11 Canon Kk Information processing apparatus and processing method therefor
JP2001144940A (ja) 1999-11-15 2001-05-25 Canon Inc 情報処理装置および情報処理装置の画像処理方法および記憶媒体
JP2002219830A (ja) * 2000-10-12 2002-08-06 Seiko Epson Corp マルチファンクションプリンタ、及び、その制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1065880A (ja) * 1996-08-23 1998-03-06 Tec Corp スキャナ付プリンタ
KR19990003348A (ko) * 1997-06-25 1999-01-15 윤종용 복합기의 스캐닝/인쇄 이중처리 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
10065880
1019990003348

Also Published As

Publication number Publication date
CN100370419C (zh) 2008-02-20
JP2004157982A (ja) 2004-06-03
US7365868B2 (en) 2008-04-29
KR20040023558A (ko) 2004-03-18
CN1490719A (zh) 2004-04-21
US20040105114A1 (en) 2004-06-03
JP4405759B2 (ja) 2010-01-27

Similar Documents

Publication Publication Date Title
KR100709647B1 (ko) 정보 처리 장치, 인쇄 제어 방법, 인쇄 제어 프로그램을 저장한 기억 매체, 및 인쇄 시스템
US8670150B2 (en) Information processing apparatus, information processing method and printing control method
JP3630943B2 (ja) 情報処理装置および印刷制御方法および印刷制御システムおよび印刷制御プログラムを格納した記憶媒体
JP4890990B2 (ja) 画像処理装置、その画像処理装置の制御方法およびプログラム
US6025927A (en) Image processing apparatus and method
US6678072B1 (en) Printer control apparatus and method
US20040125395A1 (en) Printing control method and apparatus
US6320667B1 (en) Information processing apparatus and method for transmitting printing information, and recording medium readable by a computer storing a program for transmitting printing information
US20050146749A1 (en) Image input-output apparatus and method therefor
JP3907362B2 (ja) 印刷制御方法及び装置および印刷システム
US8274719B2 (en) Printing system, print preview method, and preview method using a printer driver
JP5142872B2 (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
US7746494B2 (en) Data processing apparatus, data processing method, printer driver, print control apparatus, print control method, and printing system
US7155669B1 (en) System, method and apparatus for changing output size of an electronically transmitted document
US8384920B2 (en) Image processing apparatus and method, and program for implementing the method
US6804028B1 (en) Image processing apparatus and method, and storage medium storing computer-readable program
US11630616B2 (en) Information processing apparatus, printing method, and non-transitory computer-readable medium storing support program therefor for controlling a printer for printing a barcode image
JP4532760B2 (ja) 画像形成装置および画像形成装置のデータ処理方法および記憶媒体
JP4706495B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP4006123B2 (ja) 情報処理システム、情報処理装置及びその制御方法、記録媒体
JP6300447B2 (ja) 描画装置、描画方法、プログラム
JP4006124B2 (ja) 情報処理システム、情報処理装置及びその制御方法、記録媒体
JP2001236186A (ja) 印刷処理システム、印刷データ処理方法及び該方法を実施するためのプログラムを記録した記録媒体
JP3902854B2 (ja) データ処理装置、データ処理方法、記憶媒体
JP2006164066A (ja) データ処理システム、データ処理装置、データ処理方法、及び制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130320

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee